【问题标题】:Will all TSP algorithms give the same optimum route?所有 TSP 算法都会给出相同的最优路径吗?
【发布时间】:2013-01-17 18:11:31
【问题描述】:

我只是想知道 TSP 的所有算法是否都会给出相同的最佳路线?我以为会是这种情况,但我实现了分支定界和 A*,它们都对相同的输入给出了截然不同的结果,我只是想知道这是否正常?

【问题讨论】:

  • 所有最佳路线的成本相同。先向左走或先向右走。只要回家花费相同的时间..

标签: a-star traveling-salesman branch-and-bound


【解决方案1】:

路径不同,但所有最优解的代价应该是一样的。

如果您的 A* 解决方案更昂贵,那么您的启发式方法就是错误的。 查看wikipedia A* algorithm 以证明它总能找到最佳解决方案。

【讨论】:

  • 再次感谢您的回复!我的 A* 解决方案更昂贵,并且比访问 13,333 个节点并在 94 ns 内得出最佳解决方案的分支和绑定花费的时间要长得多,而 A* 在 7,729,000 ns 内访问 11 个节点:/
  • 您的启发式方法必须始终“低估”解决方案缺失部分的成本!
  • 我不知道,你的启发式是什么样的。我认为所有仍然失踪的城市中最低成本的总和是一个不错的(可以相当便宜地计算并且保证会低估实际成本)
  • 如果您将 heuristic_constant 设置为两个城市之间距离的最低成本,A* 搜索将找到最佳解决方案。对于更高的值,启发式可能会失败。
  • 在德国已经很晚了,通过 cmets 并且没有代码很难分析这些问题。我建议看一下维基百科的文章或看一本书。
【解决方案2】:

没有。如果存在不止一条最优路径,不同的算法不一定会找到相同的路径。这将取决于实现,我假设它还取决于您如何标记图形,因此不同的标记将使相同的算法找到不同的路线。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-24
    • 1970-01-01
    • 1970-01-01
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多