我们能否通过寻找最小生成树来解决旅行商问题?
我们能否通过寻找最小生成树来解决旅行商问题?
最小生成树问题要求你构建一棵连接所有城市且总权值最小的树,而旅行商问题则要求你找到一条访问所有城市且总权值最小(可能会回到出发点)的路径。
如果你很难看出区别,在最小生成树中,你需要在带权图中找到一个最小权重的树,而在旅行商问题中,你需要找到一条最小权重的路径(或者环路/回路)。这有所帮助吗?
这是两个问题之间的区别:
找到图G的一个无环连通子图T,使得V(T) = V(G),且权值Weight(T)最小
与
找到图G中的一个循环C,使得V(C) = V(G),且权值Weight(C)最小
其中Weight(X) = X的边的和。正如你所看到的,这两个问题非常不同。
然而,它们之间有一个关系。如果图的权重满足三角不等式,可以使用MST近似TSP的解决方案,近似因子为x2:计算MST,然后从任意根开始遍历它,并以预序方式返回顶点。您可以在旅行推销员问题:G Laporte撰写的精确和近似算法概述 - 欧洲运营研究杂志,1992年 - Elsevier中找到此近似(以及其他近似)的详细分析。