旅行推销员的启发式方法

时间:2013-08-12 12:19:00

标签: genetic-algorithm heuristics traveling-salesman evolutionary-algorithm

我正在进行进化优化以及我需要的这个项目 旅行商问题的启发式方法。在这种情况下, 遗传算法,我们应用小突变,希望在某个地方 在路上事情会变得更好。所以,我正在寻找简单的启发式方法 改变可能导致改进的解决方案。

感谢您提出任何建议

2 个答案:

答案 0 :(得分:4)

我想推荐的一个参考是R's TSP package。 (即使你不使用R,也要研究它。) Their vignette on TSP非常出色,并且有许多基于动态编程的技巧,您可以尝试改进GA实施。

第2.4节的小插图,特别是可以合并的旅游建设启发式。引用:

  

最近邻算法:遵循一个非常简单的贪婪程序:算法以包含随机的游览开始   选择的城市,然后总是添加到旅游的最后一个城市   最近尚未访问的城市。所有城市都停止算法   在巡演中。

     

此算法的扩展是将每个城市重复一次   起点然后返回找到的最佳旅游。这种启发式是   称重复的最近邻居。

     

插入算法。以包含任意城市的游览开始,然后在每个步骤中选择尚未参加游览的城市。这个   城市被插入两个连续城市之间的现有旅游   i和j,使得插入成本(即,增加   旅行的长度)最小化。所有城市都停止算法   在巡演中。

     

最近插入在每个步骤中选择城市k作为距离旅游城市最近的城市。

     

最远插入在每一步中选择城市k作为距离旅游中任何城市最远的城市。

     

最便宜的插入每个步骤都会选择城市k,这样插入新城市的成本就会降到最低。

您可以在vignette中找到更多详细信息和其他技巧。

答案 1 :(得分:1)

我认为您正在寻找旅游改进启发式,我可以为您推荐Lin-Kernighan算法。但是这个算法对你来说可能太难了。因此,您可以研究2-opt或3-opt算法。