为什么TSP不需要重复城市?


9

我对TSP否认重复城市的可能性感到奇怪。这个旅行推销员的目标是尽可能快地走访所有城市,对吗?那么,如果经过您曾经去过的城市旅行更快,该怎么办?


2
我确定这是任意的。只有在极少数情况下,允许重复的城市才会产生任何变化(从公制TSP来看永远不会)。因此,问题几乎没有什么不同。原因可能是历史性的。
KarolisJuodelė13年

8
我听说推销员销售的产品真的很糟糕,与他的老顾客见面是不明智的:)
ssch 2013年

Answers:


3

定义它的方式并不重要,因为它只是对现实问题建模的一种方式。在TSP中,您只有一组城市以及每对城市之间的旅行费用。这并不排除在您正在建模的现实世界中,B和C之间的最佳路线可能会通过A的可能性。实际上,确实涉及从B到C的途中经过A额外的时间,但是这样的细节在TSP模型中被抽象掉了。


1
这是有道理的,但我想指出,TSP通常用于现实世界中。实施实际应用程序时,是否存在无重复要求?
danmcardle 2013年

@danmcardle取决于应用程序。
汤姆·范德赞丹

2

我同意约束看起来很奇怪,对于许多实际情况而言,它是不相关的。正如David在他的回答中所指出的那样,如果您可以自己更改建模,那么这并不重要。但是给定一个不可修改的实例,它将有所作为,因为具有此约束的常规TSP在任何恒定因子内都不是近似值,而放宽单次访问约束似乎使其在因子2内近似(即使它不是度量标准) )。除非我错过任何东西,否则按照标准的论点,您可以首先构建一个最小的生成树(成本为),然后使用欧拉游览技术访问该树。显然,您的旅行总费用为 (每个边的两倍)。矛盾的是,如果旅行成本小于2 c c cc2cc,那么此巡回测试可用于推断成本小于的MST ,这是一个矛盾。c


1

给定任何重复的游览,您可以提出一个较短的游览,该游览不会重复任何城市。例如,请考虑以下形式的游览 其访问两次。您可以在第二次访问使用快捷方式,从到: A A X Y A X Y

AXAY,
AAXY
AXY.

从到的最短路径可能通过,但是已经封装在边。你能想到的一提的没有“通过”,而是“停在”。您可能只需要在停留一次,尽管您可能会经过次。Y A X Y A A A A A AXYAXYAAAAA

用于TSP的实际算法可能具有“采取捷径”的步骤,例如Christofides的算法。例如参见本说明书或者更短的帐户


4
您假设度量TSP(即,三角形不等式成立)。但是,一般的TSP没有三角形不等式。例如,您可能拥有城市,其中所有和。具有重复的最短巡视是,成本但没有重复的最短巡视是,其成本为。 d A X i= 1 d x ix j= 100 i j A X 1 A X 2 A A X n A 2 n + 1 A X 1X n A 100 n 98A,X1,,Xnd(A,Xi)=1d(xi,xj)=100i,jAX1AX2AAXnA2n+1AX1XnA100n98
David Richerby 2013年

当然可以,但是(1)OP似乎对TSP的真实世界中的应用(度量)感兴趣,(2)非度量TSP并不那么有趣(因为它太难了)。
Yuval Filmus

2
@YuvalFilmus现实世界中的TSP不是必需的指标。有时候旅行从A到B将需要更长的时间,然后AC + CB,因为有从A到B的道路上交通
伊利亚Gazman

1
@Babibu边缘上的距离是从到的最短距离。在您的情况下,从到的直接路程不是最短的距离。A B A B(A,B)ABAB
Yuval Filmus 2013年

0

除了“人不是愚蠢的”之外,对此没有一般性的答案。他们将应用适合其情况的解决方案。人们很少关心旅行业务员本身的问题。在经典情况下,伊夫布(Eveb),现实世界的销售人员将更加关注在特定限制条件下在给定时间段内最大化其收入的问题。在这种情况下,总行驶距离只是寻找最佳答案的众多不同因素之一。


0

如果允许重复,则只需检查所有连接X-> A-> Y,如果它短于X-> Y,则将X-> Y的长度替换为X-> A->的长度是,并使用标准算法解决由此产生的问题。我认为您必须重复替换过程,直到没有任何更改为止,因为如果您找到较短的连接X-> Y,则可能意味着现在X-> Y-> Z比X-> Y短。

跟踪更改的连接,遍历解决方案中的连接,如果解决方案包含X-> Y,则将其替换为X-> A->Y。

PS。我认为我的想法很棒,但是目前我不确定它是否正确。因为X-> A-> Y而不是X-> Y不仅是捷径,它还涵盖了城市A。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.