- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
遗传算法程序设计探讨_计算机论文
遗传算法程序设计探讨_计算机论文
摘 要 本文通过对基本遗传算法添加初始化启发信息、改进交叉算子和利用本身所固有的并行性构架粗粒度并行遗传算法等方法提高了遗传算法的收敛性及其寻优能力。
关键词 遗传算法;TSP;交叉算子
1 引言
遗传算法是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化概率搜索算法。总的说来,遗传算法是按不依赖于问题本身的方式去求解问题。它的目标是搜索这个多维、高度非线性空间以找到具有最优适应值(即最小费用的)的点[1]。
基本遗传算法是一个迭代过程,它模仿生物在自然环境中的遗传和进化机理,反复将选择算子、交叉算子和变异算子作用于种群,最终可得到问题的最优解和近似最优解。
2 遗传算法程序设计改进比较
2.1 基本遗传算法对TSP问题解的影响
本文研究的遗传算法及改进算法的实现是以C++语言为基础,在Windows2000的版本上运行,其实现程序是在Microsoft Visual Stadio 6.0上编写及运行调试的。
1) 遗传算法的执行代码
m_Tsp.Initpop(); //种群的初始化
for(int i=0;im_Tsp.ReturnPop();i++)
m_Tsp.calculatefitness(i); //计算各个个体的适应值
m_Tsp.statistics(); //统计最优个体
while(entropygtdecen||variancegtdecvar)//m_Tsp.m_gen100)
{
//将新种群更迭为旧种群,并进行遗传操作
m_Tsp.alternate(); //将新种群付给旧种群
m_Tsp.generation(); //对旧种群进行遗传操作,产生新种群
m_Tsp.m_gen++;
m_Tsp.statistics(); //对新产生的种群进行统计
}
2) 简单的遗传算法与分支定界法对TSP问题求解结果的对比
遗传算法在解决NPC问题的领域内具有寻找最优解的能力。但随着城市个数的增加,已没有精确解,无法确定遗传算法求解的精度有多高。一般情况下,当迭代代数增大时,解的精度可能高,但是时间开销也会增大。因此可以通过改进遗传算法来提高搜索能力,提高解的精度。表1 10个城市的TSP问题求解结果数据算法
试验结果简单遗传算法分支定界法
最佳解时间精确解时间
试验12448.6100375s244807:30
试验22448
试验32448.6100379s
试验42459
试验52459.5430547s2.2 初始化时的启发信息对TSP问题解的影响
1) 初始化启发信息
在上述实验算法的基础上,对每一个初始化的个体的每五个相邻城市用分支界定法寻找最优子路径,然后执行遗传算法。
2) 遗传算法与含有启发信息的遗传算法求解结果的对比
当城市数增至20个时,用分支定界法已经不可能在可以接受的时间内得到精确的解了,只能通过近似算法获得其可接受的解。试验设计中算法的截止条件:固定迭代1000代。表2中的平均最优解为经过多次试验(10次以上)得到的最优解的平均值,最优解的出现时间为最优解出现的平均时间,交叉操作次数为最优解出现时交叉次数的平均值。表2 20个城市的TSP问题求解结果数据算法交叉操作
次数最优解
出现时间平均
最优解
简单遗传算法80244.479.4s1641.8
含初始化启发信息的GA79000.237.4s1398.9 从表2中可以看出,当初始种群时引入启发信息将提高遗传算法的寻优能力。同时缩短了遗传算法的寻优时间和问题的求解精度。
2.3 交叉算子对TSP问题解的影响
1)循环贪心交叉算子的核心代码
for(i=1;im_Chrom;i++)
{
flag=0;
city=m_newpop[first].chrom[i-1]; //确定当前城市
j=0;
while(flag==0ampampj4)
{
sign=adjcity[city][j]; //adjcity数组的数据为当前城市按顺序排列的邻接城市
flag=judge(first,i,sign); //判断此邻接城市是否已经存在待形成的个体中
j++;
}
if(flag= =0) //如果所有邻接城市皆在待扩展的个体中
{
while(flag= =0)
{
sign=(int)rand()/(RAND_MAX/(m_ Chrom-1)); //随机选择一城市
flag=judge(first,i,sign);
}
}
if(flag==1)
m_newpop[first].chrom[i]=sign;
}
2)问题描
您可能关注的文档
- 谈论园林工程施工的合理管理组织形式_工程建筑论文.doc
- 谈论引文分析方法的网络化发展和应用_计算机网络论文.doc
- 谈谈入世后的我国网络前途_计算机网络论文.doc
- 谈谈建筑混凝土结构中常见裂缝问题_工程建筑论文.doc
- 谈谈无线通信技术在电网通信中的应用前景_通信学论文.doc
- 谈谈现代住宅的设计新思路_工程建筑论文.doc
- 贵阳市花溪区行政办公中心绿化设计_工程建筑论文.doc
- 资讯伦理守则现况:以社会层级及伦理议题分析_计算机论文.doc
- 资讯时代中伦理导向之决策制定架构_通信学论文.doc
- 赞自由软件(三)_计算机论文.doc
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
文档评论(0)