63组遗传算法.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
63组遗传算法

遗传算法及其MATLAB实现 汇报人:潘敬波 苑嘉伟 李琪 定义 生物学基础 实现步骤 程序实例 工具箱核心函数的用法 应用领域 遗传算法的概念 遗传算法是模拟达尔文生物进化论的自然选择和孟德尔遗传学机理的计算模型; 它是一种搜索的最优解的方法。 遗传算法的生物学原理 生物学指出,自然界的生物的基因对环境的适应度不同,通过自然选择,最终会留下适应度最高的基因; 遗传算法通过用计算机模拟自然选择,根据适应度不同优胜劣汰以求得最优解。 遗传算法的实现步骤 1编码 2解码 3个体适应度评估 4复制 5交配 6突变 7倒位 编码:对自变量的编号 设某一参数的取值范围为(L,U),使用长度为k的二进制编码表示该参数,则它有 种不同的编码,该参数编码时的对应关系为 000000000000=0→L 000000000001=1→L+△ 000000000010=2→L+2△ …… 111111111111= -1→U 易知: △= 解码 解码的目的是为了将不直观的二进制数据还原成十进制,并求出对应的自变量的值。设某一个体的二进制编码为 则对应的解码公式为 遗传算法的编码和解码在宏观上对应生物的基因型和表现型,在微观上可以对应DNA的转录和翻译过程。 个体适应度评估 1.将染色体串进行解码,转换为真实值。 2.评价目标函数。 3.将目标函数转换为适应度,对于极大值问题,适应度可作为目标函数值。 复制 复制运算是根据个体适应度大小决定其下代遗传的可能性,若种群中个体总数为N,个体i的适应度为 ,则个体i被选中的几率 个体适应度越高,被选取的几率越大,它的遗传基因会在种群中扩散;否则,则会被逐渐淘汰。 交配运算 交配运算就是单点或多点进行交叉的算子。 如 突变运算 对与二进制编码即0变为1,1变为0 例:将s三位上的0变为1, 则有ss’ 倒位运算 倒位运算是一个染色体上的某区段发生180度的颠倒。 如:s=1001011011→s’=1001101011 %子程序:计算适应度和累积概率 function [fitvalue, cumsump] = fitnessfun(population); global bitlength; global boundsend; global boundsbegin; %种群的个体数 popsize = size(population, 1); for i = 1 : popsize %二进制编号转化为十进制编号 x = transform2to10(population(i, :)); %找到对应的自变量实数 xx = boundsbegin + x * (boundsend - boundsbegin) / (power((boundsend), bitlength) - 1); %计算函数值,即适应度 fitvalue(i) = targetfun(xx); end %给适应度函数加上一个适当的数,使适应度值为整数 fitvalue = fitvalue + 230; %计算被复制的概率 fsum = sum(fitvalue); pperpopulation = fitvalue / fsum; %计算被复制概率的累积概率 cumsump(1) = pperpopulation(1); for i = 2 : popsize cumsump(i) = cumsump(i - 1) + pperpopulation(i); end cumsump = cumsump; 结果 Bestpopulation = 1.5205 Besttargetfunvalue = 185.1242 工具箱的用法 ,MATLAB软件将遗传算法命令进行了封装,做成专门的遗传算法工具箱,这样可以省略艰深难懂的遗传算法数学理论和降低程序开发的难度,但封装的内部程序不能更改,这样就使智能算法失去了其灵活性,变成了“傻瓜式的智能”,因此掌握其源程序还是非常必要的。 使用方法:在命令窗口输入“gattol”指令,然后在弹出的界面上填写相关参数和使用M文件编写函数句柄(即适应度函数),遗传算法与直接搜索工具箱有ga和gaoptimset两个核心函数 函数ga 函数ga的语法格式为 [x,fva

文档评论(0)

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

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

1亿VIP精品文档

相关文档