利用遗传算法解决tsp问题课件.pptx

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

利用遗传算法解决tsp问题利用遗传算法解决tsp问题第1页

TSP问题,又称旅行商问题,旅行推销员问题,是指对于给定

n个城市,旅行商从某一城市出发不重复访问其余城市

后回到出发城市,要求找出一条旅行路线,是总旅行旅程最短.遗传算法(GeneticAlgorithms,GA)是一个基于自然群体遗传演化机制算法,它模拟自然界生物进化过程,采取人工进化方式对目标空间进行随机化搜索。它将问题域中可能解看作是群体个体,并将个体编码成符号串形式(即染色体),模拟生物进化过程,对群体重复进行杂交等操作,依据预定适应度函数对每个个体进行评价,依据优胜劣汰进化规则,不停得到更优群体,同时搜索优化群体中最优个体,求得满足要求最优解。利用遗传算法解决tsp问题第2页

编码方式给每个城市一个固定基因编号,比如10个城市为0123456789,随机地组成一个染色体(以下全部情况都以10个城市为例说明)。约定这10个城市之间行走路线为:0?1?2?3?4?5?6?7?8?9

(其余基因序列路线一样道理)利用遗传算法解决tsp问题第3页

两个城市间距离(用r[i][j]表示)012345678901234567890,1,4,6,8,1,3,7,2,9,1,0,7,5,3,8,3,4,2,4,4,7,0,3,8,3,7,9,1,2,6,5,3,0,3,1,5,2,9,1,8,3,8,3,0,2,3,1,4,6,1,8,3,1,2,0,3,3,9,5,3,3,7,5,3,3,0,7,5,9,7,4,9,2,1,3,7,0,1,3,2,2,1,9,4,9,5,1,0,1,9,4,2,1,6,5,9,3,1,0利用遗传算法解决tsp问题第4页

基因序列初始化1将这10个基因存放在一个暂时数组matrix[0]~matrix[9]。2随机产生两个0~9数,比如产生了x1=2,x2=7,交换matrix[2]和matrix[7]内容(利用voidswap(int*,int*)实现。)3重复过程2屡次,得到一个基因序列,作为一个个体染色体。4产生基因序列赋值给一个个体gene[0]~gene[9].利用遗传算法解决tsp问题第5页

一个完整路线长度比如基因序列为:0829756413,存放在gene[0]~gene[9]中。表示行旅行路线为:0?8?2?9?7?5?6?4?1?3总旅程为:r[gene[0]][gene[1]]+r[gene[1]][gene[2]]~

+r[gene[9]gene[0]]利用遗传算法解决tsp问题第6页

轮盘选择for(mem=0;memPopSize;mem++) sum+=population[mem].fitness; for(mem=0;memPopSize;mem++)//使小选中可能性大 x[mem]=sum-population[mem].fitness; sum=0.0; for(mem=0;memPopSize;mem++) sum+=x[mem]; /*Calculaterelativefitness*/ for(mem=0;memPopSize;mem++) population[mem].rfitness=x[mem]/sum;利用遗传算法解决tsp问题第7页

交叉比如一个基因序列为:0256981347产生两个0~9int型随机数,如得到2和6,将gene[2]和gene[6]之间基因反序,得到:0218965347利用遗传算法解决tsp问题第8页

变异比如一个基因序列为:0256981347产生两个0~9int型随机数,如得到2和6,将gene[2]和gene[6]基因交换,得到:0216985347利用遗传算法解决tsp问题第9页

仿真结果利用遗传算法解决tsp问题第10页

仿真结果利用遗传算法解决tsp问题第11页

Thanks利用遗传算法解决tsp问题第12页

您可能关注的文档

文档评论(0)

132****0155 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档