9得票2回答
旅行商问题变体的近似算法,起点和终点可以固定在任何地方,但起点不能更改 + 允许多次访问每个顶点

注意:由于旅行的结束点与起始点不同,并且只要我仍然访问所有点,每个点都可以被访问多次,因此这实际上不是TSP变体,但由于缺乏更好的问题定义,我将其放在这里。 假设我要去n个景点的徒步旅行。这些点都通过徒步小道连接。我有一张地图,显示了所有小径及其距离,给我一个有向图。 我的问题是如何近似地...

47得票4回答
不考虑返回起点的旅行商问题(TSP)的问题名称是什么?

我想了解一下不考虑回到起点的TSP问题名称以及解决该问题的算法。 我查看了最短路径问题,但那不是我要找的问题,该问题只能从两个指定点之间找到最短路径。我需要的是给定n个点和一个起始点,然后找到恰好经过所有点的最短路径(终点可以是任意点)。 我还查看了哈密顿路径问题,但似乎不能解决我定义的问题,...

8得票6回答
在Ruby中解决旅行商问题(50+个地点)

我在一家送货公司工作。我们目前通过“手动”方式解决50多个位置的路线问题。 我一直在考虑使用Google Maps API来解决这个问题,但我已经了解到有24个点的限制。 目前我们在服务器上使用Rails,所以我考虑使用一个Ruby脚本来获取50多个位置的坐标并输出一个合理的解决方案。 ...

25得票6回答
旅行商问题:带有重复节点和动态权重

给定一个城市列表和飞往每个城市的费用,我正在尝试找到访问所有这些城市的最便宜的行程。我目前正在使用MATLAB 解决方案来查找最便宜的路线,但现在我想修改算法允许以下内容: 重复节点 - 应该允许重复节点,因为通过枢纽城市旅行通常会导致更便宜的路线 动态边权 - 往返/回程航班与两个等价的...

7得票2回答
3-Opt局部搜索算法用于TSP问题?

我知道3-Opt启发式算法涉及从图中删除三条边并添加三条边以重新完成旅行。然而,我看到很多论文提到当移除三条边时,只剩下两种重新组合旅游路径的可能性 - 这对我来说不太合理。 例如,这篇文章说: “3-opt 算法的工作方式类似于2-opt算法,但是我们要删除三条边而不是两条。这意味着我们...

24得票6回答
使用A*算法解决旅行商问题

我被委托编写实现A*算法(提供启发式)以解决旅行推销员问题的任务。我理解这个算法,它足够简单,但我就是看不到实现它的代码。我的意思是,我明白节点的优先队列按距离+启发式(节点)排序,将最接近的节点添加到路径上。问题是,如果从前一个最近的节点无法到达最接近的节点会发生什么?如何将“图形”作为函数...

14得票7回答
遗传算法中的交叉操作在TSP问题中的应用

我正在尝试使用遗传算法解决旅行商问题(TSP)。我的基因组是图中顶点(销售员路径)的排列。 我应该如何对我的基因组执行交叉操作? 在哪里可以找到C#中实现我的问题的代码?

17得票3回答
旅行推销员问题,2-opt算法C#实现

有人能给我提供一个2-opt算法的代码样例,用于旅行商问题。目前,我正在使用最近邻方法来寻找路径,但这种方法远非完美。经过一些研究,我发现了2-opt算法,可以将路径修正到可接受的水平。我找到了一些示例应用程序,但没有源代码。

7得票3回答
TSP - 分支定界算法

我正在尝试使用分支限界算法解决TSP问题。 我必须建立一个成本矩阵,但我有这个问题: 我有带有x和y坐标的城市。 旅行费用为ceil(ceil(sqrt((x1-x2)^2+(y1-y2)^2))/v) + 在城市停留的天数。 V是速度。 在城市停留的天数取决于w到达城市的日期。 例如,...

7得票2回答
将旅行商问题表示为线性表达式

我在网上看到可以将旅行商问题表示为线性表达式,并使用诸如Java的CPLEX软件进行计算。 我有1000个城镇需要找到短距离。我计划将这1000个城镇分成大约100个城镇的群集,并对这些单独的群集执行一些线性规划算法。 我的问题是,我如何准确地将其表示为线性表达式。 我有100个城镇,我...