他们是旅行商问题或其他算法的变体有关以下问题:
说G是不完整的无向加权图。 V是G的顶点的子集。
如何沿V(以及可能是G的其他一些顶点)找到一个简单的闭合电路,它在V的每两个顶点之间具有最小的权重。
谢谢
----------------------编辑------------------------
此问题是否有名称或已发布的文档或相关研究论文?
答案 0 :(得分:0)
首先,因为V(你所说的是G的顶点子集)本身就是一个加权图 - 首先计算V的边缘,这样就可以忽略G.
例如G的输入:
G1 (Va) -- 5 meter --> G2 (no V) -- 10 meter --> G3 (Vb)
可以简化为V的输入:
Va -- 15 meter --> Vb
当输入在V顶点之间有多条路径(其间没有其他V顶点)时,乐趣就开始了:
G1 (Va) -- 5 meter --> G2 (no V) -- 10 meter --> G3 (Vb)
G1 (Va) -- 7 meter --> G4 (no V) -- 7 meter --> G3 (Vb)
然后简化形式是(它需要第二条路线):
Va -- 14 meter --> Vb
在简化过程中使用Dijkstra算法。
其次,在V上应用一个好的TSP算法。它是NP-complete,因此没有完美的算法。根据您的编程语言(java,C/C++,...),有许多可用的框架。