traveling-salesman相关内容

使用 A* 解决旅行商

我的任务是编写解决旅行商问题的 A* 算法(提供启发式算法)的实现.我理解算法,它很简单,但我看不到实现它的代码.我的意思是,我明白了.节点的优先级队列,按距离 + 启发式(节点)排序,将最近的节点添加到路径上.问题是,如果从前一个最近的节点无法到达最近的节点会发生什么?人们实际上如何将“图形"作为函数参数?作为代码,我只是看不到算法的实际运作方式. 我在发布问题之前阅读了维基百科页面.反复 ..
发布时间:2021-11-30 13:01:55 其他开发

如何将 A* 算法应用于旅行商问题?

可能的重复: 使用 A* 解决旅行商问题 我最近了解到 A* 算法可以应用于旅行商问题.Bot 我们如何准确定义开始和目标,以及我们如何将权重应用于节点(启发式是什么)? 有人可以向我解释如何在这里应用 A* 吗? 解决方案 A* 是 Dijsktra 的衍生物,我认为不能以这种方式使用.首先,TSP一般从任意节点开始.更重要的是,这些算法寻求找到两点之间的最短路径,而不管访 ..
发布时间:2021-11-30 13:01:35 其他开发

OR-Tools 解决旅行商 (TSP) 无需返回主节点

我正在使用 Google Or-Tools 通过使用this 示例(基本上我只是用我的替换了距离矩阵).在示例中,我设置了 data['depot'] = 0. 对于我的应用程序,返回到路径末尾的第一个节点并不重要.我可以从解决方案中删除最后一条边,但我想知道如果我可以完全删除此约束,它可能会找到更好的整体路径. 解决方案 确保所有节点到 0(depot)的距离为空.这相当于您所要求 ..
发布时间:2021-06-12 20:51:45 其他开发

optaplanner - VRP 但没有仓库

我正在处理多辆车路线问题.我正在试用 Optaplanner,看起来不错,很有前途. 我使用的是 CVRP-32customers 示例,但我需要删除“仓库". 我只需要为某个销售员优化一条路线,他们从哪里开始对我来说不是问题.我只需要最好的 10 条路线来拜访我的 100 位客户,无论他们从哪里开始. 我查看了这个SO问题,但无法从中解决任何问题. 这可以通过 Optap ..
发布时间:2021-06-12 20:46:04 其他开发

旅行商问题,不受访问次数的限制

我遇到了类似于旅行推销员(TSP)的问题.我找到了一些图书馆来解决旅行推销员的问题.但是,我想取消每个城市只能访问一次的限制.如何找到至少一次访问每个城市 的最短路径? 解决方案 一种简单的方法是通过预处理.将每个 c(i,j)替换为i和j之间最短路径的长度/成本.现在应用标准茶匙.报告时,请在解决方案中插入这些最短路径.这可能会导致多次访问城市. ..
发布时间:2021-04-02 20:47:13 其他开发

从X,Y坐标中找到最短路径(开始≠结束)

我有一个数据点,其点的X和Y坐标是这样的: structure(list(X = c(666L, 779L, 176L, 272L, 232L, 74L, 928L, 667L, 1126L, 919L), Y = c(807, 518, 724, 221, 182, 807, 604, 384, 142, 728)), .Names = c("X", "Y"), row.names = ..
发布时间:2020-11-26 18:53:20 其他开发

Tile Trial NP-hard复杂性

在《最终幻想XIII-3》游戏中,玩家遇到了几个难题.引入的第一个难题叫做 Tile Trial ,它为玩家提供了一个网格砖,其中一些砖块上有水晶.目标是取回所有晶体并到达出口,同时在每个瓷砖上踩不超过一次. http://arxiv.org/pdf/1203.1633v1.pdf 的作者指出这个问题是NP-Hard问题,因为可以将特定情况简化为哈密顿循环.我发现这是一个幼稚的假设,因为他开 ..
发布时间:2020-11-20 18:56:27 其他开发

可多次访问顶点的TSP

我正在解决一个有加权有向图,并且我必须从原点开始,至少访问所有顶点一次并以尽可能短的路径返回原点的问题.从本质上讲,这将是TSP的经典示例,除了我请勿有一个约束,即每个顶点只能被访问一次.在我的情况下,沿路径可以多次访问除原点以外的任何顶点,如果这样做会使路径更短.因此,例如在包含顶点V1, V2, V3的图形中,这样的路径将是有效的,因为它是最短的路径: ORIGIN -> V1 -> V ..
发布时间:2020-11-20 06:08:48 其他开发

Java中TSP的动态编程方法

我是一个初学者,我正在尝试使用动态编程方法编写一个行进的旅行推销员问题。 这是我的计算函数的代码: public static intcompute(int [] unvisitedSet,int dest){ if(unvisitedSet.length == 1 ) return distMtx [dest] [unvisitedSet [0]]; int [] ne ..
发布时间:2020-10-27 02:27:58 其他开发

Prolog中的简化旅行推销员

我已经浏览了类似的问题,但是找不到与我的问题相关的任何内容.我正在努力寻找一个算法或一组“循环",使用数据库 来查找从CityA到CityB的路径 distance(City1,City2,Distance) 事实.到目前为止,我设法做到的是,但是它总是在write(X),处回溯,然后完成最终的迭代,这是我希望它执行的操作,但仅在一定程度上进行. 例如,我不希望它打印出任何死胡同的城 ..
发布时间:2020-09-18 05:43:53 其他开发

TSP,算法陷入局部最小值

我正在努力实现基于模拟退火的程序来解决旅行商问题.我得到的所有解决方案都不令人满意,我也不知道如何改善实施.显然,我不是在关注基准,而只是在寻找视觉上可接受的最短路径.如果有人能启发我,我将不胜感激. # weight function, simple euclidean norm def road(X,Y): sum = 0 size = len(X) -1 for ..
发布时间:2020-07-07 03:49:10 其他开发

Kernighan-Lin算法

有人因为我正在考虑使用它而对这个算法有点了解,但是我不确定它是否真的满足我的所有要求。所以基本上,我想做的是将一个图分成几个子图。但是,每个子图的节点都应该连接,也就是说,如果要到达节点x,则不必经过另一个子图。这正是我的关注。当我使用Kernighan-Lin算法拆分图时,子图的节点最终会散落到各处吗? 解决方案 是的,K–L可能会创建断开连接的子图。例如,它分裂了8个顶点的星星 ..
发布时间:2020-06-03 21:43:05 其他开发

旅行商问题

我正在尝试从Traveling Salesman问题算法开发C ++程序。我需要一个距离矩阵和一个成本矩阵。使用所有公式后,我得到一个新的结果矩阵。但是我不明白那个矩阵显示了什么。 假设结果矩阵为: 1 2 3 4 5 6 7 8 9 现在我想知道此矩阵显示的内容吗?假设我要穿越3个城市。 请告诉我流程。该算法的示例程序会更有利。. 谢谢。 ..
发布时间:2020-06-03 21:03:04 其他开发

如何在Python中为TSP实现动态编程算法?

我想使用Python中的动态编程算法解决TSP问题,问题是: 输入:用a表示的城市点列表。例如,[(1,2,3,(0.3,4.5),(9,3)...]。城市之间的距离定义为欧几里得距离。 输出:在这种情况下,旅行推销员旅行的最低费用,四舍五入到最接近的整数。 伪代码为: 让A =由包含1和目标j的{1,2,,3,...,n}的子集索引的二维数组属于{1,2,3,... n} ..
发布时间:2020-06-03 20:49:52 其他开发

如何确定旅行商问题中的起点和终点?

我有一个求解器,可以解决常规的对称TSP问题。该解决方案意味着通过所有节点的最短路径,而对路径中的第一个和最后一个节点没有限制。 有没有办法解决问题 一种方法是添加一个I-距离很大-到这些起点/终点节点与所有其他起点/终点之间的所有距离(起点和终点节点之间的距离加I两次),因此求解器倾向于仅访问它们一次(因此使它们成为路径的起点和终点) )。 此方法是否有任何重大缺点,或者有更好 ..
发布时间:2020-06-03 19:58:32 其他开发

偷偷摸摸的旅行推销员

如何解决python中的Traveling Salesman问题?我没有找到任何库,应该有一种使用scipy函数进行优化的方法或其他库. 我的hacky-extremelly-lazy-pythonic强力解决方案是: tsp_solution = min( (sum( Dist[i] for i in izip(per, per[1:])), n, per) for n, per i ..
发布时间:2020-05-21 20:51:55 其他开发

在python中为2OPT生成所有邻居

我正在尝试针对无向旅行商的问题实现2opt优化算法.对于给定的城市: cities = [[ 72.06557466, 5.73765812], [ 94.50272578, 68.95162393], [ 58.53952609, 15.12518299], [ 94.64599891, 34.65906808], [ 62.42311036, 45.8 ..
发布时间:2020-05-06 11:55:47 其他开发

利用遗传算法建立排名,

BIG版本后的问题: 我需要使用遗传算法建立排名,我有这样的数据: P(a>b)=0.9 P(b>c)=0.7 P(c>d)=0.8 P(b>d)=0.3 现在,让我们将a,b,c,d解释为足球队的名称,而P(x>y)是x以y获胜的概率.我们想建立团队排名,我们缺少一些观察值P(a>d),P(a>c)由于缺少vs和d之间的比赛而丢失了. 目标是找到球队名称的顺序,以最能描述该四支球 ..
发布时间:2020-05-06 11:54:20 其他开发

为什么在我的遗传算法中添加交叉功能会给我带来更糟糕的结果?

我已经实施了遗传算法来解决旅行商问题(TSP).当我只使用突变时,与添加分频器相比,我会找到更好的解决方案.我知道正常的分频方法不适用于TSP,因此我同时实现了订购分频器和 PMX分频器方法,并且都遭受不良结果. 以下是我正在使用的其他参数: 突变:单交换突变或反向子序列突变( 选择:轮盘选择 健身功能:1/游览距离 人口规模:经过100、200、500的测试,我还运行了5 ..
发布时间:2020-05-06 11:52:29 其他开发