繁体   English   中英

使用 networkx 解决修改后的旅行商问题(TSP)

[英]Solving a modified Travelling Salesman Problem(TSP) using networkx

我正在尝试解决 TSP 的修改版本。 在我的版本中,允许多次访问一个城市,只要路径最短,而且,只有城市的子集是必须访问的,例如,如果您可以通过其他城市访问所有子集城市路径较短,但如果不是,其他城市可以忽略。 NetworkX 有大约。 使用dwave_networkx.algorithms.tsp.traveling_salesperson的传统 TSP 解决方案,但我无法解决这个问题。 一种天真的方法是找到子集城市的所有可能组合并检查哪个具有最短的总路径长度,但该解决方案将具有 ^2 尝试每个组合的复杂性,加上为每两个城市寻找最短路径的复杂性。 那么,我应该使用 NetworkX 来解决这个问题。

您可以随机选择一条路径并优化其路径。 基本上,在两个节点之间随机分配一条路。 比在节点上,尝试为 n+2 个节点找到最佳方式。 A --> B --> C 如果最短路径之间有路径则尝试 A--> D --> C---E 如果 D 和 E 之间的路径最短于 D --> K --> E然后再次迭代 A--> D --> F --> E 对我来说这听起来是个好主意。 我现在没有证据,但它可以为您提供可能的最短路径。 我希望这会有所帮助。 祝你好运。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM