旅行推销员(TSP),具有由网络可视化的定义的起点和终点

时间:2016-05-03 15:39:24

标签: r algorithm traveling-salesman directed-graph

我想从距离矩阵生成有向网络,其中边连接最近的顶点,或者最小化节点之间距离的顶点。网络上除起点和终点之外的每个点都将具有传入边缘和传出边缘。每个点应该只被击中一次。我还要提一下,我已经定义了START和END点。我相信这类似于解决旅行商问题(TSP)。

距离矩阵:

         A        B         C         D         E
A    0.000 1975.317 1170.9915 1106.5238 1022.9888
B 1975.317    0.000 1977.8852 1689.8195 1762.5819
C 1170.991 1977.885    0.0000  962.0281 1073.0755
D 1106.524 1689.820  962.0281    0.0000  975.8099
E 1022.989 1762.582 1073.0755  975.8099    0.0000

可以找到相应的树形图here,虽然我不确定这将如何与网络相关,因为我们将定义开始和结束状态。对于这个例子,我们有:

START point:E

结束点:A

最终我想建立一个看起来像这样的网络:

E --(975.8)--> D --(962.0)--> C --(1977.9)--> B --(1975.3)--> A 

在括号内描述的边缘权重是两点之间的距离。我认为需要接近的方法是循环遍历每一列,从START点开始,取最小值,将相应的顶点添加到该值,从矩阵中删除该值并继续直到END点到达。如果在结束前到达END点,则跳过它并取第二个最小值。也许有更好的方法来解决这个问题?我已经查看了网络库但没有经验。任何帮助将不胜感激。

0 个答案:

没有答案