拓端tecdat|R语言辅导旅行推销员问题TSP

原文链接:http://tecdat.cn/?p=6551

 

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

本文调查了R包的性能:TSP和tspmeta。结果对我的使用非常满意。

 

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

 

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

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

# Compute distance matrix

dist.mx <- dist(coords.mx)

# Construct a TSP object

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

#

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

#Plot

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解决方案和挑选最小的值让我非常接近于确切的解决方案 。

 

 

 

如果您有任何疑问,请在下面发表评论。   

 

posted @   拓端tecdat  阅读(485)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
历史上的今天:
2018-09-12 拓端数据tecdat|matlab代写使用Copula仿真优化市场风险
2018-09-12 拓端数据tecdat|matlab代写使用Copula仿真优化市场风险数据VaR分析
2018-09-12 拓端数据tecdat|R语言辅导ARMA-GARCH-COPULA模型和金融时间序列案例
点击右上角即可分享
微信分享提示