经典的旅行商问题(TSP)定义之一是:
给定一个加权的完全无向图,其中三角不等式保持不变,返回最小总权重的哈密顿路径。
在我的情况下,我不想要哈密尔顿路径,我需要两个众所周知的顶点之间的路径。所以配方是:
给定一个加权的完整无向图,其中三角不等式成立,两个特殊的顶点称为源和目标返回一个最小加权路径,它只访问所有节点一次,从源开始并结束到目的地。
我记得哈密尔顿路径是无向图中的路径,它只访问每个顶点一次。
对于原始问题,一个很好的近似(最好的解决方案的3/2)是Christodes的算法,有可能根据我的情况进行修改吗?或者你知道另一种方式?
答案 0 :(得分:0)
从目标节点向源节点添加一个边(=道路),费用为0,并且你有一个TSP(虽然三角不等式不存在)。
“追求旅行推销员”一书简要提到了这种技术。
答案 1 :(得分:0)
为什么不使用dijkstra算法在每个节点上为路径信息添加额外的簿记。即,从源到该特定顶点的最短路径中传递的顶点列表。
当你到达你的最终顶点时停止。然后你的路径将是
当前边缘+当前边缘的起始顶点的路径。
其中当前边缘是引导您到达目的地的最后一条边。