我正在尝试解决旅行商问题。
我使用igraph
绘制了网络,并将各自的成本存储在名为MyMatrix
的矩阵中。
从这里开始,如何才能从某个城市开始获得最便宜的游览及其费用?我知道TSP
软件包很有用,但对我没有任何帮助。 (但是,我获得了最小的生成树。)这就是我所做的:
MyMatrix<-matrix(get.adjacency(my.graph, attr = "weights"),5,5) #Typical TSP Matrix
tsp <- TSP(as.dist(MyMatrix))
tour <- solve_TSP(tsp, start = 1, method = "two_opt")
tour # Gives a different result each time
my.cor<-abs(cor(MyMatrix, method="kendall", use="pairwise"))
my.g<-graph.adjacency(my.cor,
mode='undirected',
weighted=TRUE,
diag=FALSE)
mst<-minimum.spanning.tree(my.g, algorithm='prim')
plot.igraph(mst,
layout=layout.lgl,
vertex.label=colnames(my.cor),
vertex.label.font=2,
vertex.size=12,
vertex.color='light blue',
vertex.label.cex=0.6,
vertex.label.color='black')