我正在構建一個遺傳算法來解決旅行商問題。不幸的是,我在達到一千多代的高峯之前,突變了它們並獲得了更好的結果。在這種情況下,交叉和變異運營商通常做得好嗎?針對TSP問題的建議GA算子?
5
A
回答
1
能否請您澄清
「不幸的是,我打峯變異出他們的 並獲得更好的結果之前,可以 維持了一千 代」?
您可以檢查交叉運算符,它確保您在子染色體中沒有重複節點。這些交叉運算符中的幾個是Order Crossover(OX)和Edge Crossover運算符。
突變可以像簡單地交換單個染色體中的兩個位置一樣簡單。
順便說一句,既然你已經標記了「python」,看看Pyevolve,它也有一個TSP的例子。
3
有序突變和有序交叉(見this article)。標準突變和交叉操作通常會導致無效解決方案(即路線中重複和/或缺失的城市)。
最近有一個similar question。
我有a Java applet that implements the TSP using ordered cross-over and mutation,如果你有興趣比較你的執行性能。
2
如果您的問題是峯值超過一千代,那麼問題可能不是交叉和變異算子。你可能不會引入或保持足夠的變異:我會檢查交叉比例,突變和倖存者之間的比例,並可能提高突變的比例。
相關問題
- 1. TSP的GA算法方法
- 2. GA電子商務代碼問題
- 3. 對象跟蹤openCV,問題,建議?
- 4. 針對DB2的良好IDE的建議
- 5. 觸摸問題的建議
- 6. 針對OpenGL/Scheme組合的建議
- 7. 針對網站的架構建議
- 8. 針對EC2實例堆棧的建議
- 9. 針對Android編程資源的建議
- 10. 針對coredata的模型設計建議
- 11. TSP-Variant,可能的算法?
- 12. 指針算術問題
- 13. 指針算術問題
- 14. Firebase + GTM + GA實現問題
- 15. 問題從GA餅乾
- 16. 針對單個用戶訪問的建議數據庫
- 17. 針對IE6的JavaScript問題
- 18. 尋找哈密頓電路TSP問題的問題
- 19. 使用Neo4j解決TSP問題
- 20. 使用backtracking解決TSP問題
- 21. resharper建議顏色問題
- 22. CSS/JS問題IE7建議
- 23. Azure搜索建議問題
- 24. 最短路徑tsp算法
- 25. 在哪裏運行JavaScript解決TSP與GA
- 26. 骰子問題的算法
- 27. 問題的計算浮子
- 28. 針對Java Webstart的異議?
- 29. 多次訪問的TSP
- 30. 是否有針對這些問題的特定算法?
http://stackoverflow.com/questions/1544055/rossover-operation-in-genetic-algorithm-for-tsp可能有幫助。 – 2010-02-02 16:31:14