【问题标题】:Does the optimum solution of a TSP remain the optimum even after skipping a few cities?即使跳过几个城市,TSP 的最优解是否仍然是最优的?
【发布时间】:2016-11-08 10:15:43
【问题描述】:

假设我知道 100 个城市标准的旅行商问题的全局最优解。现在,假设销售人员想要跳过 5 个城市。是否必须重新解决 TSP?从先前的最优解中简单地删除这些城市得到的城市序列对于新的 95 城市 TSP 是否是全局最优的?

【问题讨论】:

    标签: traveling-salesman


    【解决方案1】:

    更新:将反例替换为欧几里得实例。

    很好的问题。

    不,如果您删除一些城市,则城市的原始序列不会保持最佳状态。这是一个反例:

    节点坐标为:

    0 0
    4 0
    4 2
    2.6 3
    10 3
    4 4
    4 6
    0 6
    

    这里是最佳游览:

    现在假设我们不需要访问节点 5。如果我们只是“关闭”原始游览,则结果游览的成本为 21.94:

    但最佳游览的成本为 21.44:

    (如果要删除 5 个城市而不是 1 个,只需将所有 5 个城市放在右侧一直靠近即可。)

    【讨论】:

    • 通过“标准” TSP,我指的是 TSP,成本函数是城市之间欧几里得距离的总和。您的示例使用具有指定成本的 TSP 变体。
    • @Prometheus 我修改后的解决方案是否解决了您的评论?如果是这样,请考虑接受我的解决方案。
    • 这是一个相对古老的话题,但我有一个后续问题:有谁知道如何轻松地为减少问题的解决方案强加一个好的下限?我想出的唯一方法是减去要删除的节点的两条边的长度,但这可能会“任意弱”,我几乎可以肯定应该存在一种方法可以将边界进一步推高而无需任何昂贵的计算。有什么想法吗?
    猜你喜欢
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-30
    • 2023-03-05
    • 1970-01-01
    • 2021-11-02
    相关资源
    最近更新 更多