2016数学建模专题之遗传算法25页.ppt

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

变异后子代个体: 5 6 7 | 8 4 1 2 | 3 9 0 4 遗传算法求解巡回旅行商问题 变异操作中,若变异后子代的适应度值更加优异,则保留子代染色体,否则仍保留父代染色体。本例中,采用倒置变异法。例如:假设当前个体为“5678412390”,如果当前随机值p∈[0,1]≥pmutation,则随机选择来自同一个体的两个点(设为“8”和“2” ),执行变异操作,即倒置该两点的中间部分。产生的新个体为“5672148390”。 (5)变异操作 (6)群体初始化 2 变异前父代个体: 5 6 7 | | 3 9 0 1 4 8 pop=zeros(s,t); for i=1:s pop(i,1:t-1)=randperm(t-1); end 4 遗传算法求解巡回旅行商问题 4.3 计算仿真结果 990.0829 路径长度: 迁移代数: 50 4遗传算法求解巡回旅行商问题 4.3 计算仿真结果 701.7754 路径长度: 迁移代数: 100 4 遗传算法求解巡回旅行商问题 4.3 计算仿真结果 624.1821 路径长度: 迁移代数: 150 4 遗传算法求解巡回旅行商问题 4.3 计算仿真结果 523.2674 路径长度: 迁移代数: 200 4 遗传算法求解巡回旅行商问题 4.3 计算仿真结果 491.4063 路径长度: 迁移代数: 250 4 遗传算法求解巡回旅行商问题 4.3 计算仿真结果 453.1959 路径长度: 迁移代数: 300 4 遗传算法求解巡回旅行商问题 4.3 计算仿真结果 430.3986 路径长度: 迁移代数: 350 4.3 计算仿真结果 424.8693 路径长度: 迁移代数: 400 Best 4 遗传算法求解巡回旅行商问题 距离为426.64Km的访问次序 距离为424.78Km的访问次序(最优) 距离为431.94Km的访问次序 4 遗传算法求解巡回旅行商问题 距离为424.78Km的访问次序(最优) 距离为466.30Km的访问次序 距离为454.75Km的访问次序 4 遗传算法求解巡回旅行商问题 2 标准遗传算法 程序流程图 开始 Gen=0 编码 随机产生M个初始个体 满足终止条件? 计算群体中各个体适应度 从左至右依次执行遗传算子 j = 0 j = 0 j = 0 根据适应度选择复制个体 选择两个交叉个体 选择个体变异点 执行变异 执行交叉 执行复制 将复制的个体添入新群体中 将交叉后的两个新个体添入新群体中 将变异后的个体添入新群体中 j = j+1 j = j+2 j = j+1 j = M? j = pc·M? j = pm·L·M? Gen=Gen+1 输出结果 终止 Y N Y Y Y N N N pc pm   例1 利用遗传算法求解区间[0,31]上的二次函数y=x2的最大值,精度要求达到个位。   y=x2 31 X Y 3、遗传算法简单举例:函数极值 分析 原问题可转化为在区间[0, 31]中搜索能使y取最大值的点a的问题。那么,[0, 31] 中的点x就是个体, 函数值f(x)恰好就可以作为x的适应度,区间[0, 31]就是一个(解)空间 。这样, 只要能给出个体x的适当染色体编码, 该问题就可以用遗传算法来解决。 3、遗传算法简单举例:函数极值   (1) 设定种群规模,编码染色体,产生初始种群。 将种群规模设定为4;用5位二进制数编码染色体;取下列个体组成初始种群S1: s1= 13 (01101), s2= 24 (11000) s3= 8 (01000), s4= 19 (10011) (2) 定义适应度函数, 取适应度函数:f (x)=x2 3、遗传算法简单举例:函数极值 (3) 计算各代种群中的各个体的适应度, 并对其染色体进行遗传操作,直到适应度最高的个体(即31(11111))出现为止。    首先计算种群S1中各个体 s1= 13(01101), s2= 24(11000) s3= 8(01000), s4= 19(10011) 的适应度f (si) 。 容易求得: f (s1) = f(13) = 132 = 169 f (s2) = f(24)

文档评论(0)

173****7830 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档