我的任务是设计一名飞行助理,其中一个问题是找到一条最佳路线,可以访问每个机场并返回原籍机场。在这个问题上,我把机场作为节点,飞行作为边缘。由于任务只是访问每个机场,如果我访问任何机场不止一次,只要我访问过它们都没关系。由于航班不需要返回其来自的机场,因此该图表是定向的。
由于可以重复顶点,因此这不是实际的TSP实现。
我在网上找到的答案是使图表完整,如果机场A和B没有连接,连接它们的边缘将具有从A到B的最短路径的权重。解决TSP然后在那个循环中用它们代表的实际路径替换实际上不存在的边。
问题是这还不够,因为问题不是公制TSP,即使没有必要重复顶点,最佳路径可能需要你重复它们。
例如,使用带有节点A,B和C的图表,其中边缘(A,B),(B,A)的权重为1,(A,C),(C,A)也为权重1和( B,C),(C,B),权重为10.在这个问题中,您不需要重复顶点,但最短路径将是权重4的ABACA,其中ABCA(不重复顶点)将具有权重12。
提前感谢您的帮助。