TSP-Variant,可能的算法?

时间:2013-03-08 14:07:58

标签: algorithm graph traveling-salesman approximation np-hard

经典的旅行商问题(TSP)定义之一是:

给定一个加权的完全无向图,其中三角不等式保持不变,返回最小总权重的哈密顿路径。

在我的情况下,我不想要哈密尔顿路径,我需要两个众所周知的顶点之间的路径。所以配方是:

给定一个加权的完整无向图,其中三角不等式成立,两个特殊的顶点称为源和目标返回一个最小加权路径,它只访问所有节点一次,从源开始并结束到目的地。

我记得哈密尔顿路径是无向图中的路径,它只访问每个顶点一次。

对于原始问题,一个很好的近似(最好的解决方案的3/2)是Christodes的算法,有可能根据我的情况进行修改吗?或者你知道另一种方式?

2 个答案:

答案 0 :(得分:0)

从目标节点向源节点添加一个边(=道路),费用为0,并且你有一个TSP(虽然三角不等式不存在)。

“追求旅行推销员”一书简要提到了这种技术。

答案 1 :(得分:0)

为什么不使用dijkstra算法在每个节点上为路径信息添加额外的簿记。即,从源到该特定顶点的最短路径中传递的顶点列表。

当你到达你的最终顶点时停止。然后你的路径将是

当前边缘+当前边缘的起始顶点的路径

其中当前边缘是引导您到达目的地的最后一条边。