1
A
回答
0
我想你可以通過挑選任意點開始(如果未指定起點)嘗試貪婪的方法,然後在每一步你旅行到最接近你當前的點。假設點之間的距離可以在恆定的時間內計算出來,那麼你可以在O(n^2)時間內找到一條路徑。
爲了澄清,下面的僞代碼應該幫助(我沒有寫這種東西在一段時間,所以我希望這是不夠清楚)
Name: GreedyPath(C, p)
Input: C - a non-empty collection of points to visit
p - a starting point in C
Output: S - a sequence of points covering C
Algorithm:
Remove p from C
If C is empty
Return the sequence containing only p
Else
Let p1 be the closest point to p in C
Let S = GreedyPath(C, p1)
Append p to the start of S
Return S
顯然消耗部件的時間被找到每次最近點p
,但對於n
點,這應該只需要n(n-1)/2
距離計算(除非我錯了)。
+0
我會推測,如果點間隔相當均勻,這應該會給出好的結果。 –
3
有幾個選項,包括:Nearest Neighbor,Christofides和Lin–Kernighan。
如果這些失敗,您可以隨時使用專家的code(免費給學術研究人員)。
+0
雖然只發布鏈接是不贊成的,你的答案顯然比我的好。謝謝,我從中學到了東西。 –
相關問題
- 1. 旅行推銷員
- 2. WEKA旅行推銷員
- 3. Neo4J - 旅行推銷員
- 4. 旅行推銷員問題
- 5. 旅行推銷員:矩陣和旅遊
- 6. 使用A *解決旅行推銷員
- 7. 旅行推銷員啓發式
- 8. 旅行推銷員,包括通過城市旅行
- 9. 旅行推銷員的交叉算法?
- 10. 簡體中文Prolog旅行推銷員
- 11. 旅行推銷員 - 最近鄰對遺傳DEATHMATCH
- 12. 旅行推銷員的提示
- 13. F#旅行推銷員的表現
- 14. 索引出差旅行推銷員
- 15. 遺傳算法旅行推銷員C++
- 16. Gurobi/Python的旅行推銷員
- 17. 一棵樹上的旅行推銷員
- 18. 旅行推銷員C程序錯誤
- 19. 旅行推銷員使用Pyomo
- 20. 進化算法 - 旅行推銷員
- 21. 遺傳算法旅行推銷員
- 22. 旅行推銷員(TSP)性能
- 23. 如何爲Google Maps執行路線優化(旅行推銷員)?
- 24. 從一個文件旅行推銷員在C輸入
- 25. 旅行銷售人員python
- 26. 關於旅行推銷員問題和測試集的競爭
- 27. 在GA中應用突變來解決旅行推銷員
- 28. 設置開始和結束點的旅行推銷員(TSP)
- 29. 公制旅行推銷員,強求解決方案的優勢
- 30. 使用Google Maps API或任何其他旅行推銷員
到目前爲止你研究了什麼? – admdrew