【问题标题】:Heuristics for the travelling salesman旅行推销员的启发式方法
【发布时间】:2013-08-13 18:06:30
【问题描述】:

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

感谢您的任何建议

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 2-opt 只是在游览中颠倒位置。但是 wikipedia 上的 2-opt 文章有趣的是它应用它的方式。它尝试了几种可能的选项并选择最小化路径成本的选项。我可以用许多其他操作来做同样的事情,比如排序、洗牌、反转、移位等。不过 3-opt 非常有趣。谢谢!如果我有时间,我也会看看 Kernighan-Lin 算法。
    【解决方案2】:

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

    第 2.4 节 小插曲特别谈到了您可以合并的 Tour construction heuristics。引用自:

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

    这个算法的一个扩展是重复它,每个城市作为 出发点,然后返回找到的最佳游览。这个启发式是 称为重复最近邻。

    插入算法。从包含任意城市的游览开始,然后在每个步骤中选择尚未在游览中的城市。这 city 被插入到两个连续城市之间的现有游览中 i 和 j,这样插入成本(即,在 游览的长度)被最小化。当所有城市都结束时,算法停止 在巡演中。

    最近插入在每一步中都会选择城市k作为最接近游览城市的城市。

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

    最便宜的插入在每一步中都会选择城市 k,以使插入新城市的成本最小。

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

    【讨论】:

      猜你喜欢
      • 2012-02-04
      • 2017-04-10
      • 2015-07-04
      • 1970-01-01
      • 2011-09-08
      • 1970-01-01
      • 2015-04-28
      • 2013-06-09
      • 2017-10-02
      相关资源
      最近更新 更多