繁体   English   中英

路径的最短组合,以单个节点开始和结束,并覆盖无向图中的所有点

[英]The shortest combination of paths that starts and ends with a single node and covers all points in an undirected graph

我需要一个algorithm(k, s)其中

  • k是路径数
  • s是起点和终点

在给定n个节点的无向​​图中,其中所有节点都相互链接,则返回k条路径以遍历所有节点,这些节点的k路径所覆盖的距离之和最短。

例如,给定n = 10algorithm(2,5)可能会给我一个包含两个数组的数组,以使两条路径所覆盖的距离之和最短,并且遍历所有节点。

[[5,1,2,3,10,5],[5,4,6,7,8,9,5]]

Djikstra的算法找到从一个节点到另一节点的最短路径,但找不到k路径的最短组合。

日元的算法找到k数目的从一个节点到另一个的最短路径,但不是最短的组合k路径。

哪种算法可以帮助我找到以节点s开始和结束以覆盖所有n节点的k条路径的最短组合?

上面描述的是经典的旅行商问题,还有许多优化技术。 一种就是蚁群优化

有许多实现ACO的库,就目前而言,您可以找到一个针对Ruby的库,没有经典(数学)方法解决Traveling Salesman问题的简单解决方案。

暂无
暂无

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

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