10.5 遗传算法求函数极大值.ppt

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

利用遗传算法求Rosenbrock函数的极大值10.5遗传算法求函数极大值函数的三维图如图10-2所示,可以发现该函数在指定的定义域上有两个接近的极点,即一个全局极大值和一个局部极大值。因此,采用寻优算法求极大值时,需要避免陷入局部最优解。图10-2的三维图采用二进制编码遗传算法求函数极大值求解该问题遗传算法的构造过程:(1)确定决策变量和约束条件;(2)建立优化模型;(3)确定编码方法用长度为10位的二进制编码串来分别表示两个决策变量x1,x2。10位二进制编码串可以表示从0到1023之间的1024个不同的数,故将x1,x2的定义域离散化为1023个均等的区域,包括两个端点在内共有1024个不同的离散点。从离散点-2.048到离散点2.048,分别对应于从0000000000(0)到1111111111(1023)之间的二进制编码。将x1,x2分别表示的两个10位长的二进制编码串连接在一起,组成一个20位长的二进制编码串,它就构成了这个函数优化问题的染色体编码方法。使用这种编码方法,解空间和遗传算法的搜索空间就具有一一对应的关系。例如:表示一个个体的基因型,其中前10位表示x1,后10位表示x2。(4)确定解码方法:解码时需要将20位长的二进制编码串切断为两个10位长的二进制编码串,然后分别将它们转换为对应的十进制整数代码,分别记为y1和y2。依据个体编码方法和对定义域的离散化方法可知,将代码yi转换为变量xi的解码公式为(10.1)例如,对个体它由两个代码所组成上述两个代码经过解码后,可得到两个实际的值(5)确定个体评价方法:由于Rosenbrock函数的值域总是非负的,并且优化目标是求函数的最大值,故可将个体的适应度直接取为对应的目标函数值,即(10.2)选个体适应度的倒数作为目标函数(10.3)(6)设计遗传算子:选择运算使用比例选择算子,交叉运算使用单点交叉算子,变异运算使用基本位变异算子。(7)确定遗传算法的运行参数:群体大小M=80,终止进化代数G=100,交叉概率Pc=0.60,变异概率Pm=0.10。上述七个步骤构成了用于求函数极大值的优化计算基本遗传算法。采用上述方法进行仿真,经过100步迭代,最佳样本为即当时,Rosenbrock函数具有极大值,极大值为3905.9。仿真程序:chap10_1.m

文档评论(0)

方世玉 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6101050130000123

1亿VIP精品文档

相关文档