簡體   English   中英

解決TSP時遺傳算法應該走多遠

[英]How far off should Genetic Algorithm be when solving TSP

我正在學習遺傳算法,並且正在研究旅行推銷員問題。

我想知道我實際上應該期望GA能夠做什么。

我在這里嘗試了15個城市和48個城市的問題TSP示例問題

我的GA很快找到了15個城市問題的確切解決方案。 但是,它在48個城市問題上苦苦掙扎。 我針對人口數量的兒童數量嘗試了各種規格,結果大致如下:

正確的解決方案最小距離:33,551

我的遺傳算法解決方案距離:〜39,000

隨機路線距離:〜140,000

我了解到,GA不能保證提供確切的解決方案,而只能提供接近的解決方案,這基本上就是正在發生的事情。

我的問題是:對於GA算法,我對48個城市問題的距離是多少?或者我做錯了什么,我的GA需要一些重大改進嗎?

先感謝您

城市數量越多,問題就越棘手,這不僅是因為搜索空間更大,而且還因為成本函數通常會更加復雜。

總是很難(即使不是不可能)說出一種啟發式方法的性能如何(不僅是GA,而且還包括所有GA),但在我看來16%的折扣似乎很大。 我相信,如果您更改了運算符並修改了一些參數,性能可能會得到改善。

每個操作員對結果都有限制和期望。 例如,您的交叉算子(如您在前一篇文章中所述)傾向於增加具有相同子路徑的染色體數,從而導致遺傳收斂,並且您使用的變異算子也不是最具攻擊性的算子之一。 嗯,我建議您使用其他運算符,看看性能是否有所提高。 您可以使用我上一個回答中的所有參考文獻來正確理解它們,並且實現起來也不會太困難,因為一旦您理解它們就很簡單。

我認為您絕對可以改進。 我的目標是誤差不超過5%,最好是~1%

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM