遗传算法及其改进措施解释.docxVIP

  1. 1、本文档共15页,可阅读全部内容。
  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文档。上传文档
查看更多
优化算法大作业 一、题目 本文利用遗传算法,依次完成下面三个目标函数的寻优: 1Generalized Rosen brock’s valley Function 2 Generalized Rastrigins Function 3 Schaffer’s Function 二、本文思路 遗传算法是模拟生物在自然环境下的遗传和进化过程而形成的一种自适应全局优化概率搜索方法,本文利用遗传算法分别对上述三种函数进行全局寻优,具体思路如下: 编码与解码 编码:假设某一参数的取值范围是[umin , umax],我们用长度为l的二进制编码符号串来表示该参数,则它总共能够产生 2l 种不同的编码,编码的长度越长,对应的精度越高。 第一题变量的取值范围是[-2.048,2.048],本文采取十位数的编码,那么精度为: 第二题变量的取值范围是[-5.12,5.12],本文采取的是十二位数的编码,那么精度为: 第三题变量的取值范围是[-4,4],本文采取的是十三位数的编码,那么精度为: 解码:假设某一个个???的编码是,那么对应的解码公式为: 个体适应度评价 当优化目标是求函数最大值,并且目标函数总取正值时,可以直接设 定个体的适应度F(X)就等于相应的目标函数值f(X),即: Fx=fx-Cmin fxCmin0 fx≤Cmin 其中是函数最小值估计。 对于求目标函数最小值的优化问题,理论上只需简单地对其增加一个负号就可将其转化为求目标函数最大值的优化问题,即 Fx=Cmax-fx fxCmax0 fx≥Cmax 其中是函数的最大值估计。 复制、交叉、变异 比例算子:个体被选中并遗传到下一代的概率与个体的适应度成正比,本文采取的的赌轮盘选择法选,该方法较容易实现,易于编程。 交叉算子:交叉是遗传算法产生新个体的主要手段,通过交叉子代的基因值不同于父代,从而可以出现适应度更高的个体,本文采用的是单点交叉算子。 变异算子:变异也是产生新个体的一种方法,对于遗传算法中二进制编码符号串所表示的个体,若需要进行变异操作的某一基因座上的原有基因值为0,则变异操作将基因值变为1,反之,若原有的基因值为1,则变异操作将其变为0。 三、程序流程 对于一个需要进行优化的实际问题,一般可按下述步骤构造遗传算法: 第一步:确定决策变量及各种约束条件,即确定出个体的表现型X和问题的解空间; 第二步:建立优化模型,即确定出目标函数的类型及数学描述形式或量化方法; 第三步:确定表示可行解的染色体编码方法,即确定出个体的基因型x及遗传算法的搜索空间; 第四步:确定解码方法,即确定出由个体基因型x到个体表现型X的对应关系或转换方法; 第五步:确定个体适应度的量化评价方法,即确定出由目标函数值到个体适应度的转换规则; 第六步:设计遗传算子,即确定选择运算、交叉运算、变异运算等遗传算子的具体操作方法。 第七步:确定遗传算法的有关运行参数,即M,G,Pc,Pm等参数。 具体程序流程图见下图所示: 图1遗传算法流程图 四、优化过程 第一题 图2 Rosen brock函数图像 图3 遗传算法迭代寻优过程 程序运行结果如下:最优点函数取值 第二题 图4:Rastrigin函数图像 图5:遗传算法迭代寻优过程 程序运行结果如下:最优点函数取值 第三题 图6 Schaffer函数图像 图7 遗传算法迭代寻优过程 程序运行结果如下:最优点函数取值 由仿真结果可知,随着进化过程的进行,群体中适应度较低的一些个体被逐渐淘汰掉,而适应度较高的一些个体会越来越多,并且它们都集中在所求问题的最优点附近,从而搜索到问题的最优解。 五、问题的发现与改进 问题一:局部最优解 从第三题的函数图像中可以看出,该函数有无限多个局部极大值点,只有一个全局最优点,此函数最导致峰周围有一圈脊,上面的取值均为0.990283。从上面的优化过程可以看出,当随机选定初始种群后,随着迭代次数的增加,种群最终都集中在了这一圈脊上,也就是寻优过程陷入了局部最优点,并没有找到函数的的最优点。对于遗传算法中的上述问题,我们采用的解决方案如下。 解决方法1:等值线法 初始种群的选取对函数能不能找到最优点有着重要的影响,本文通过分析函数的等值线缩小初始种群的随机产生范围,从而让种群朝着全局最优点进化。在Matlab下画出函数的等值线如下图: 图8 目标函数的等值线图 从图中可以看出,以中心最优点为圆心,围绕着中心点分布着多条等值线,从中心的红色区域向外到蓝色区域,目标函数值先减小再增加最后又减小,所以本文以中间红色区域到蓝色区域中选取合适的等值线截面,并在该面上随机产生初始种群,这样可以有效防止迭代

文档评论(0)

bbnnmm885599 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档