遗传算法分析报告.pptVIP

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * 九、算法的终止准则 由于遗传算法的许多控制转移规则是随机的,没有利用目标函数的剃度信息,所以在演化过程中,无法确定个体在解空间的位置,从而也无法用传统的方法来判断算法的收敛与否来终止算法。 常用的终止算法有: 预先规定最大演化代数; 连续多代后解的适应值没有明显改进,则终止; 达到明确的解目标,则终止。 * 十、遗传算法简例(1) 例:用遗传算法求解一元函数最大值问题: f(x)=xsin(10πx)+2.0 (1) 编码:如果设定求解精度到6位小数,由于区间长度为2-(-1)=3,因此将闭区间[-1,2]分为3*106等份。因为 2097152=2213*106222=4194304 所以编码的二进制串至少需要22位。 * 十、遗传算法简例(2) 现在采用22位二进制编码,将一个二进制串(b21b20…b0)与区间[-1,2]内对应的实数值建立对应关系: ?bi*2i i=0 21 10 (b21b20…b0)2= =x’ x=-1.0+x’· 2-(-1) 222-1 * 十、遗传算法简例(3) 例如:一个二进制串s1=1000101110110101000111表示实数0.637197。 x’=(1000101110110101000111)2=2 288 967 x=-1.0+2288967· 2-(-1) 222-1 二进制串0000000000000000000000和 1111111111111111111111, 则分别表示区间的两个端点值-1和2。 * 十、遗传算法简例(4) (2) 产生初始种群 一个个体由串长为22的,随机产生的二进制串组成染色体的基因码,用它可以产生一定树木的个体组成的种群。 设产生的4个初始个体为: s1=1000101110110101000111 s2=0000001110000000100000 s3=1110000000111111000101 s4=0010001000110111010010 * 十、遗传算法简例(5) (3) 计算适应度 对于个体的适应度计算,考虑到本例目标函数在定义域内均大于0,而且是求函数的最大值,所以直接引用目标函数作为适应值函数: f(s)=f(x) 这里二进制串s对应变量x的值。以上4个个体的适应值及其所占的比例如表所示。 初始群体与选择 编号 个体串 x 适应值 百分比 累计百分比 s1 1000101110110101000111 0.637197 2.586345 29.1 29.1 s2 0000001110000000100000 -0.58973 1.0078878 12.1 41.2 s3 1110000000111111000101 1.627888 3.250650 36.5 77.7 s4 0010001000110111010010 -0.599032 1.981785 22.3 100 显然,4个个体中s3的适应值最大,为最佳个体。 * 十、遗传算法简例(6) (4) 遗传操作 设按转盘赌方法选择个体,生成的随机数为0.35,0.72。则选中的个体为s2、s3。 对s2和s3进行交叉操作,随机选择一个交叉点,例如选择第5位与第6位之间的位置,交叉后产生新的子个体: s2’=00000 00000111111000101 s3’=11100 01110000000100000 这两个个体的适应值分别为: f(s2’)=f(-0.998113)=1.940865 f(s3’)=f(1.666028)=3.459245 交叉后个体s3’的适应值比其父个体的适应值高。 * 十、遗传算法简例(7) 考察变异操作: 假设已经以一小的概率选择了s3的第5个遗传因子变异,遗传因子由原来的0变成1,产生新的个体为: s3’=1110100000111111000101 个体的适应值为: f(s3’)=f(1.721638)=0.917743 如果选择第10个遗传因子变异,产生的新个体为: s3’’=1110000001111111000101 f(s3’’)=f(1.

文档评论(0)

三沙市的姑娘 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档