如何使用R中的TSP包指定起始城市

时间:2015-03-27 13:32:54

标签: r dataset

我一直在尝试使用R中的TSP包解决TSP问题。我创建了一个大的对称距离矩阵,沿着前导对角线有0个条目。我希望能够将第一个城市指定为nearest_insertion等方法的起始城市。我已成功使用"nn"方法并使用以下代码指定了起始城市:

tsp1=TSP(distance_matrix)
solve_TSP(tsp1,method="nn",control=list(start=1))

然而,control=list(start=1))参数对"nearest_insertion"方法不起作用。相反,我收到错误消息:

  

x [is.na(x)]中的错误< - Inf:     INTEGER()只能应用于'整数'而不是' double`

对于样本数据,我一直在使用以下距离矩阵:

distance_matrix=matrix(c(0,1,2,1,0,5,2,5,0),3,3)

如何指定第一个城市作为"nearest_insertion"方法的起始城市?

1 个答案:

答案 0 :(得分:5)

我知道它有点晚了,但我遇到了同样的问题,那就是你需要做的事情:

solve_TSP(prova, method = "nearest_insertion", start=3L)

这将3声明为整数,与as.integer(3)相同,但避免函数调用。

这也适用于其他方法。