簡體   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