我想知道TSP没有问题的名称是什么,考虑回到起点的方法以及解决这个问题的算法是什么。
我研究了最短路径问题,但这不是我想要的,问题只能找到2个指定点的最短路径。但我正在寻找的是我们给出n分并仅输入1个起点的问题。然后,找到所有点正好行进一次的最短路径。 (终点可以是任何一点。)
我也研究了汉密尔顿路径问题,但似乎没有解决我定义的问题,而是找出是否存在汉密尔顿路径。
请建议我,谢谢!
答案 0 :(得分:31)
我在this book找到了我的问题的答案。在计算机和其他数字系统的设计中反复出现的计算机接线问题也是如此。目的是最小化总线长度。所以,它确实是哈密尔顿路径的最小长度。
本书建议创建一个虚拟点,其与其他点的距离为0.因此,问题变为(n + 1) - 城市对称TSP。解决之后,只需删除虚拟点,然后求解最小长度哈密顿路径,我们就可以得到TSP路径而不返回起点。
答案 1 :(得分:2)
如果我理解正确,你想找到最短的路径(从一些顶点开始)并遍历图中的所有节点而不访问同一节点两次。一个更简单的问题是哈密顿路径问题。它问,就像你说的,天气存在这样的道路与否。由于这个问题是NP难的,而且比你的问题容易,解决你的问题至少是NP-Hard。嗯,这不是真的,因为你的问题不是决定问题。但它所说的是我们几乎可以肯定你的问题没有多项式算法。
你可以诉诸近似。这里有一个非常酷的度量TSP近似值:http://en.wikipedia.org/wiki/Travelling_salesman_problem#Metric_TSP。