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