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的框架,只是在变异操作后增加了模拟退火操作。
03 | MATLAB代码
代码使用方法:解压压缩包后,可在input.txt文件中根据自己需要修改数据,其中第一列为序号,第二列为x坐标,第三列为y坐标。
然后在MATLAB中打开main.m文件,点击运行,即可运行代码,大概需要3分钟。
PS:因为本次提供的文件是加密文件,所以暂时不支持查看代码具体的编写。各位如果有需要的话,可以在下一期推文中提供这篇推文代码。
更多资源尽在:优化算法交流地
往期精选
号内搜索头脑风暴优化(BSO)算法(附MATLAB代码)车辆路径问题(VRP)合集旅行商问题(TSP)合辑MATLAB导入txt文件技巧大全遗传算法(GA)求解旅行商问题(TSP)MATLAB代码讲解遗传算法求解0-1背包问题(附matlab源代码)模拟退火(SA)算法求解旅行商 (TSP)问题MATLAB代码讲解多目标优化 | 基于NSGA-II的多目标0-1背包问题求解(附matlab代码)多目标优化 | NSGA-II进阶教程(全网首个三目标优化教程)机器学习 | 基于遗传算法的BP神经网络优化算法(附MATLAB代码)遗传算法求解车间调度问题(附MATLAB代码)多目标优化 | NSGA-IIword转换为pdf后图片失真的解决办法(全网首发)机器学习 | 简单实现Bp神经网络二维装箱问题之BL法修正版(附MATLAB代码)快速入门文献管理软件-EndNote X9最小二乘法(附MATLAB代码)NSGA-II多目标优化算法讲解(附MATLAB代码)基于人工势场法的机器人二维路径规划(附MATLAB代码)基于粒子群算法的多目标搜索算法讲解(附MATLAB代码)蚁群算法通俗讲解(附MATLAB代码)混合粒子群算法通俗讲解(附MATLAB代码)