遗传算法解TSP问题的C++源码

《智能优化算法》课的一次作业。报着学点东西的态度,没有从网上下载(网上好像都是那个VC6的MFC程序),纯C++,从零写起,顺便学习了一下如何用STL。

 

运行结果:

#读入数据 OK
#计算城市距离矩阵 OK
#初始化255个染色体:............................................................................................................................................
................................................................................................................... OK

#开始遗传算法,结束条件为连续200代变化小于1e-015
    第   1代       最短距离=971.792
    第   2代       最短距离=892.135
    第   3代       最短距离=713.293
    第   4代       最短距离=670.46
    第   5代       最短距离=621.353
    第   6代       最短距离=597.599
    第   7代       最短距离=553.647
    第   8代       最短距离=523.755
    第   9代       最短距离=519.167
    第  10代       最短距离=494.994
    第  11代       最短距离=484.889
    第  12代       最短距离=477.425
    第  13代       最短距离=468.237
    第  14代       最短距离=449.349
    第  15代       最短距离=449.349
    第  16代       最短距离=446.246
    第  17代       最短距离=446.246
    第  18代       最短距离=446.246
    第  19代       最短距离=446.246
    第  20代       最短距离=445.269
    第  21代       最短距离=441.656
    第  22代       最短距离=440.679
    第  23代       最短距离=436.875
    (第  24代 到 第 225代 最短距离的小数点后三位相等,这里不一一列出)
    第 226代       最短距离=436.875

#检验结果->序列正确
1 22 2 21 29 20 35 36 3 28 31 26 8 48 6 23 7 43 24 14 25 13 41 40 19 42 44 15 45
 33 39 10 30 34 50 16 11 38 9 49 5 37 17 4 18 47 12 46 51 27 32

共使用时间: 1.931秒
Press any key to continue . . .

使用了谢胜利的贪心交叉方式(Greedy Crossover),极大地提高了收敛速度。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值