R语言旅行推销员问题TSP

简介: R语言旅行推销员问题TSP

常用术语中的旅行推销员问题(TSP)是最复杂的问题之一,归结为组合优化。旅行到n个城市(顶点)需要检查(n-1)!可能性。3,000个地点有4 * 10 ^ 9131个可能的解决方案。

 

以下代码输入您的TSP225.csv文件并输出您的解决方案和可视化。生成的'tour'对象是一类TOUR和整数;它包含您的解决方案。

coords.df <- data.frame(long=TSP225$Long, lat=TSP225$Lat)


coords.mx <- as.matrix(coords.df)


# 计算距离矩阵


dist.mx <- dist(coords.mx)


# 建立模型



tsp.ins <- tsp(coords.mx, dist.mx )


#


tour <- solver(tsp.ins, method="2-opt")


#绘图


autoplot(tsp.ins, tour)

比较解决方案:下图显示了7种启发式解决方案的最佳旅游长度和协和式的确切解决方案。对于协和解决方案,我使用了在UW-Madison主持的NEOS-Server。



methods <- c("nearest_insertion" "2-opt")


tours <- sapply(methods  simplify = FALSE)


dotchart( ),


)

 

在2D中的#2 3000个随机顶点

显然,随着顶点数量的增长,精确解和其他启发式解决方案之间的差异显着增加。2-opt解决方案最接近最优。重复的2-opt解决方案和挑选最小的值让我非常接近于确切的解决方案 。

相关文章
|
机器学习/深度学习 算法 计算机视觉
【TSP问题】基于免疫算法结合蚁群算法求解旅行商TSP问题含GUI界面
【TSP问题】基于免疫算法结合蚁群算法求解旅行商TSP问题含GUI界面
基于改进遗传算法的卡车和两架无人机旅行推销员问题(D2TSP)(Matlab代码实现)
基于改进遗传算法的卡车和两架无人机旅行推销员问题(D2TSP)(Matlab代码实现)
|
5月前
|
算法 Java Go
非启发式算法——旅行商问题(TSP)及其解决算法
非启发式算法——旅行商问题(TSP)及其解决算法
517 0
|
机器学习/深度学习 传感器 算法
基于遗传算法解决的多仓库多旅行推销员问题(Matlab代码实现)
基于遗传算法解决的多仓库多旅行推销员问题(Matlab代码实现)
|
机器学习/深度学习 算法 机器人
【TSP问题】基于改进蜜蜂算法解决旅行商问题(Matlab代码实现)
【TSP问题】基于改进蜜蜂算法解决旅行商问题(Matlab代码实现)
126 0
|
算法 决策智能
用帝国主义竞争算法(ICA)求解旅行商问题(TSP)(Matlab代码实现)
用帝国主义竞争算法(ICA)求解旅行商问题(TSP)(Matlab代码实现)
110 0
|
存储 分布式计算 并行计算
基于蚁群算法的旅行商问题(TSP)求解
 蚁群算法(ant colony algorithm,ACA)是由意大利学者M.Dorigo等人于20世纪90年代初提出的一种新的模拟进化算法,其真实地模拟了自然界蚂蚁群体的觅食行为。M.Dorigo等人将其用于解决旅行商问题(traveling salesman problem,TSP),并取得了较好的实验结果。
|
存储 算法 决策智能
蚁群算法解决TSP(旅行商)问题
蚁群算法解决TSP(旅行商)问题
323 0
|
机器学习/深度学习 传感器 算法
【TSP问题】基于蚁群算法求解外卖配送问题附matlab代码
【TSP问题】基于蚁群算法求解外卖配送问题附matlab代码
|
机器学习/深度学习 传感器 算法
【无人机】基于遗传算法的卡车结合两架无人机求解旅行推销员问题(D2TSP)附Matlab代码
【无人机】基于遗传算法的卡车结合两架无人机求解旅行推销员问题(D2TSP)附Matlab代码
下一篇
无影云桌面