



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 / 4遗传算法程序设计探讨摘 要通过对基本遗传算法添加初始化启发信息、改进交叉算子和利用本身所固有的并行性构架粗粒度并行遗传算法等方法提高了遗传算法的收敛性及其寻优能力。 关键词 遗传算法;TSP;交叉算子 1 引言 遗传算法是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化概率搜索算法。总的说来,遗传算法是按不依赖于问题本身的方式去求解问题。它的目标是搜索这个多维、高度非线性空间以找到具有最优适应值(即最小费用的)的点1。 基本遗传算法是一个迭代过程,它模仿生物在自然环境中的遗传和进化机理,反复将选择算子、交叉算子和变异算子作用于种群,最终可得到问题的最优解和近似最优解。2 遗传算法程序设计改进比较 基本遗传算法对 TSP问题解的影响 研究的遗传算法及改进算法的实现是以 C+语言为基础,在 Windows2000 的版本上运行,其实现程序是在 Microsoft Visual Stadio 上编写及运行调试的。 1) 遗传算法的执行代码 m_(); /种群的初始化 for(int i=0;idecen|variancedecvar)/m_gen 2) 简单的遗传算法与分支定界法对 TSP 问题求解结果的对比 遗传算法在解决 NPC 问题的领域内具有寻找最优解的能力。但随着城市个数的增加,已没有精确解,无法确定遗传算法求解的2 / 4精度有多高。一般情况下,当迭代代数增大时,解的精度可能高,但是时间开销也会增大。因此可以通过改进遗传算法来提高搜索能力,提高解的精度。表 1 10 个城市的TSP 问题求解结果数据算法试验结果简单遗传算法分支定界法最佳解时间精确解时间试验:07:30 试验试验试验试验 初始化时的启发信息对 TSP 问题解的影响 1) 初始化启发信息 在上述实验算法的基础上,对每一个初始化的个体的每五个相邻城市用分支界定法寻找最优子路径,然后执行遗传算法。 2) 遗传算法与含有启发信息的遗传算法求解结果的对比 当城市数增至 20 个时,用分支定界法已经不可能在可以接受的时间内得到精确的解了,只能通过近似算法获得其可接受的解。试验设计中算法的截止条件:固定迭代 1000 代。表 2 中的平均最优解为经过多次试验(10次以上)得到的最优解的平均值,最优解的出现时间为最优解出现的平均时间,交叉操作次数为最优解出现时交叉次数的平均值。 表 2 20 个城市的 TSP 问题求解结果数据算法交叉操作次数最优解出现时间平均最优解简单遗传算法含初始化启发信息的 从表 2 中可以看出,当初始种群时引入启发信息将提高遗传算法的寻优能力。同时缩短了遗传算法的寻优时间和问题的求解精度。 交叉算子对 TSP 问题解的影响 1)循环贪心交叉算子的核心代码 for(i=1;i 2)问题描述与结3 / 4果比较 下面笔者用经典的测试遗传算法效率的 Oliver TSP问题来测试循环贪心交叉算子的解的精度和解效率。Oliver TSP 问题的 30 个城市位置坐标如表 3 所示2。表3 Oliver TSP 问题的 30 个城市位置坐标城市编号坐标城市编号坐标城市编号坐标 1(87,7)11(58,69)21(4,50)2(91,83)12(54,62)22(13,40)3(83,46)13(51,67)23(18,40)4(71,44)14(37,84)24(24,42)5(64,60)15(41,94)25(25,38)6(68,58)16(2,99)26(41,26)7(83,69)17(7,64)27(45,21)8(87,76)18(22,60)28(44,35)9(74,78)19(25,62)29(58,35)10(71,71)20(18,54)30(62,32)表 4 贪心交叉与部分匹配交叉的比较(Oliver TSP 问题的 30 个城市)交叉算子交叉操作次数平均时间平均最优解部分匹配交叉贪心交叉 从表 4、图 1 中可以看到,贪心交叉算子大大提高了遗传算法的寻优能力,同时也降低了交叉操作次数。在多次试验中,贪心交叉算子找到的最优解与目前记载的最佳数据的误差率为%。而部分匹配交叉算子找到的最优解与目前记载的最佳数据的误差率高达 7%。从而可以得到交叉算子对于遗传算法的计算效率和计算结果起主导性作用3。图 1 遗传算法的收敛过程 并行遗传算法消息传递实现的核心代码 1)主程序代码/接收各个从程序的最优个体for(i=0;imin) sign=i; min=1/fitnessi; 4 / 4fwrite(&gen,sizeof(int),1,out); for(i=0;i 2)从程序代码/将上一代的最优个体传回主程序MPI_Send(Rchrom1,chrom,MPI_UNSIGNED,0,gen,MPI_COMM_WORLD);/每九代接收一个最优个体并将其加入种群中替换掉最差个体 if(gen%9=0) PI_Bcast(Rchrom2,chrom,MPI_UNSIGNED,0,MPI_COMM_WORLD); (Rchrom2);/进行下一代的计算();(); ();3)并行遗传算法的性能 笔者在 MPI 并行环境下,用C语言实现了一个解决 TSP 问题的粗粒度模型的并行遗传算法。该程序采用的是主从式的 MPI 程序设计,通过从硬盘的文件中读取数据来设置染色体长度、种群的规模、交叉概率和变异概率等参数。试验环境为曙光 TC1700 机,测试的对象是 Oliver TSP 问题的 30 个城市的 TSP 问题。 正如在测试串行遗传算法所提到的数据结果,并行遗传算法也没有达到目前所记录的最好解,但是它提高了算法的收敛性,并行遗传
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- v架空线路工程施工组织设计方案
- 湿敏器件创新创业项目商业计划书
- 《施工组织设计专项施工方案资料》某市人民医院传染病房工程安全文明施工方案
- 渔业品牌塑造与市场营销创新创业项目商业计划书
- 农作物智能温控大棚种植技术创新创业项目商业计划书
- 工业互联网项目-汇报-1226
- 2025年教师招聘之《幼儿教师招聘》检测卷附参考答案详解(达标题)
- 2025内蒙古呼伦贝尔林业集团有限公司招聘工作人员5人笔试备考及完整答案详解1套
- 教师招聘之《幼儿教师招聘》练习题含答案详解(夺分金卷)
- 教师招聘之《小学教师招聘》过关检测试卷附答案详解【模拟题】
- 颌面外科清创缝合
- 人教版数学二年级上册第一单元 分类与整 理 综合素养测评A卷(含答案)
- 2025年北京市公务员考试行测真题及答案详解参考
- GB/T 16432-2025康复辅助器具分类和术语
- 儿童保健三基培训课件
- 保险法考试题型及答案
- 小儿散瞳健康宣教
- b级英语考试题型及答案
- 开业活动湘菜活动方案
- 环保设备介绍
- 配电柜接线外包合同
评论
0/150
提交评论