我使用Dorigo的文章在Java中实现了一个用于对称TSP的蚁群系统:http://people.idsia.ch/~luca/acs-bio97.pdf
我还调整了以下战略:
1.虽然并不是所有的蚂蚁都建立了一个解决方案,但每只蚂蚁都会向一个新城市移动1步,使用Dorigo的本地信息素更新来更新边缘的信息素。
为了给出更好的结果,我可以对算法进行改进吗?例如,对于TSP实例中的ch130,最优解是6110,我的算法是返回答案6223。
到目前为止,我的ACS的参数设置为Dorigo论文中定义的参数
发布于 2018-03-30 13:33:29
要改进解决方案,您可以做几件事:
了解更多细节,请看下面的两篇论文。第一种算法将蚁群算法与遗传算法相结合,对用于配置蚁群算法的超参数进行微调。作者认为,该方法提高了蚁群算法的收敛性。第二篇论文使用一个自适应过程在运行时设置这些参数。由于作者认为这些参数是问题特有的,并且依赖于目前正在解决的问题,因此需要进行调优以提高算法的收敛时间。
发布于 2019-03-27 07:54:56
我想提高性能的最直接的方法是与本地搜索方法相结合,例如2-opt、3-opt和Lin启发式。在实际应用中,结合这些局部搜索方法,一个规模不大的TSP,例如ch130,可以很容易地求解到最优解。
https://stackoverflow.com/questions/49555340
复制相似问题