0
点赞
收藏
分享

微信扫一扫

遗传模拟退火算法求解旅行商(TSP)问题



各位小伙伴可在闲鱼搜索 优化算法交流地,即可搜索到官方闲鱼账号,谨防上当受骗


hello大家好,很高兴又和大家见面了。在之前的​​遗传算法(GA)求解旅行商问题(TSP)MATLAB代码讲解​​​​模拟退火(SA)算法求解旅行商 (TSP)问题MATLAB代码讲解​​这两篇推文中,分别讲解了使用GA和SA求解TSP问题。

同时,在​​遗传算法(GA)求解旅行商问题(TSP)附MATLAB代码​​这篇推文的末尾给大家留了一道思考题。

如何可以提高GA的优化效果?

提示:将SA以一定概率接受比当前解更差的解的思想,融入到GA中。

不知道各位是否已经有了这道思考题的答案,所以今天说一下这个思考题的一个思路。


01 | 如何将GA与SA相结合

不知各位是否还记得GA是群智能优化算法,所以GA使用一个种群(PS:这个种群中包含若干个个体)去进行搜索,经过操作后用种群中的最优个体作为全局最优解。

而SA只是对一个解不断地进行操作,然后最终得到一个全局最优解。

我想各位已经注意到了,GA的操作对象是若干个个体,SA的操作对象是一个解,所以很自然的想到,在GA经过选择、交叉和变异操作后,然后对产生的子代种群中的若干个(或者全部)个体进行模拟退火操作


02 | 遗传模拟退火算法求解TSP问题流程图

遗传模拟退火算法求解TSP问题的流程图如下,大的框架还是GA求解TSP的框架,只是在变异操作后增加了模拟退火操作

遗传模拟退火算法求解旅行商(TSP)问题_多目标


03 | MATLAB代码


代码使用方法:解压压缩包后,可在input.txt文件中根据自己需要修改数据,其中第一列为序号,第二列为x坐标,第三列为y坐标

然后在MATLAB中打开main.m文件,点击运行,即可运行代码,大概需要3分钟

PS:因为本次提供的文件是加密文件,所以暂时不支持查看代码具体的编写。各位如果有需要的话,可以在下一期推文中提供这篇推文代码。



遗传模拟退火算法求解旅行商(TSP)问题_遗传算法_02


举报

相关推荐

0 条评论