遗传算法解决TSP问题(C++)

遗传算法解决TSP问题(C++)

ID:46610037

大小:23.41 KB

页数:10页

时间:2019-11-26

遗传算法解决TSP问题(C++)_第1页
遗传算法解决TSP问题(C++)_第2页
遗传算法解决TSP问题(C++)_第3页
遗传算法解决TSP问题(C++)_第4页
遗传算法解决TSP问题(C++)_第5页
资源描述:

《遗传算法解决TSP问题(C++)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、遗传算法解决TSP问题(C++版)遗传算法流程:交叉,编译,计算适应度,保存最优个体。其中交叉过程是选择最优的两个染色体进行交叉操作,本文采用的是轮盘赌算法。#include#include#includeusingnamespacestd;#definepopulation200//种群数量#definepc0.9//交叉的概率#definepm0.1//变异的概率#definecount200//迭代的次数#definenum10//城市的数量int**

2、city;//存放每个个体的访问顺序intpath[10][10]={//0,1,2,3,4,5,6,7,8,9{0,23,93,18,40,34,13,75,50,35},//0{23,0,75,4,72,74,36,57,36,22},//1{93,75,0,64,21,73,51,25,74,89},//2{18,4,64,0,55,52,8,10,67,1},//3{40,72,21,55,0,43,64,6,99,74},//4{34,74,73,52,43,0,43,66,52,39},//5{1

3、3,36,51,8,64,43,0,16,57,94},//6{75,57,25,10,6,66,16,0,23,11},//7{50,36,74,67,99,52,57,23,0,42},//8{35,22,89,1,74,39,94,11,42,0}//9};int*dis;//存放每个个体的访问顺序下的路径长度double*fitness;//存放灭个个体的适应度intmin_dis=1000000;intmin_index=-1;int*min_path;//初始化种群voidinit(){int*a

4、=newint[num];for(inti=0;i=0;j--){intn=rand()%(j+1);//产出的数是0-j,保证交换的后面的数不会再被交换swap(a[j],a[n]);//保证a里面全是0-(num-1)的数,无重复的

5、数,只是顺序颠倒city[i][j]=a[j];}}delete[]a;dis=newint[population];fitness=newdouble[population];min_path=newint[num];}//计算适应度voidcompute(){//cout<<"docomputenow."<

6、;j

7、D_MAX*total;//保证不产生0//cout<<"size"<dis[i]){result=dis[i];index=i;}}return

8、index;}intgetMaxDis(){intresult=dis[0];intindex=0;for(inti=1;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。