访问多个城市的TSP的变化

时间:2009-09-22 04:02:25

标签: algorithm traveling-salesman

我希望通过多次访问讨论TSP的分支和绑定解决方案。(即每个城市需要至少访问一次,而不是仅访问一次)

编辑:

删除了怀疑,因为它与Jitse所指出的无关。现在问题更清楚了。

2 个答案:

答案 0 :(得分:6)

简单地通过为每对节点A和B添加表示从A到B的最短路径的边来扩充图。Floyd-Warshall algorithm允许您在O(n ^ 3)中执行此操作,比任何TSP算法快得多。完成此操作后,请使用标准TSP分支绑定技术。 This site包含Applegate's book的一些信息,根据Wikipedia TSP entry讨论TSP的分支和边界。

答案 1 :(得分:2)

我宁愿将此作为对Martin Hock答案的评论,因为我正在解决可能容易实施其建议的疏忽。

在给定Floyd-Warshall算法的输出的情况下,分支定界算法需要与用于重建最小成本路径的算法组合。分支定界算法是外循环,它选择未访问的节点。然后使用最低成本路径重建算法实际添加边和节点到您的周期。节点应该被最低成本路径重建算法标记为访问,而不仅仅是分支和绑定部分。