与旅行推销员有关

时间:2017-06-09 11:54:53

标签: algorithm graph traveling-salesman

我有相关的图表。每个边缘都有一些成本。我需要找到访问每个节点的路径(可能不是一次)并且成本最低。路径应该在同一节点中开始和结束。这个问题描述了吗?这不是旅行商问题,因为节点可以被访问多次。

1 个答案:

答案 0 :(得分:0)

根据您的问题,我不确定您正在描述以下哪种情况:

  1. 推销员必须访问每个节点一定次数,并且该数量可能大于1(并且对于不同的节点可能不同)。
  2. 推销员可能多次访问每个节点(但不必),并且网络是一个完整的网络(每对节点之间存在边缘)。
  3. 推销员可能多次访问每个节点,网络不完整。
  4. 案例1

    在这种情况下,制作每个节点的重复副本 - 如果一个节点必须访问3次,那么你将拥有3个副本,所有副本都位于同一个地方。据推测,您必须在两次访问之间离开节点(您不能连续三次访问它),在这种情况下,节点的一个副本与另一个副本之间的距离应该是无穷大。

    案例2

    正常解决问题的方法。多次访问节点永远不会是最佳的(假设距离都是非负的)。

    案例3

    在这种情况下,我假设您必须访问每个节点一次,然后如果您只是在从一个节点到另一个节点的路上“穿过”,则可以再访问它。这里的方法是计算每对节点之间的最短路径距离,并将其用作标准TSP的距离矩阵。标准TSP不会“知道”您多次访问节点,但您可以从最佳解决方案和相应的最短路径中分辨出哪些节点被访问过多次。