2017-04-12 83 views
1

我使用模擬annealing.I解決TSP找到更好的鄰居有一個問題是:
https://en.wikipedia.org/wiki/Simulated_annealing有效的候選代塊它說:在模擬退火

旅行商問題之上,爲例如,在低能耗巡迴賽中交換連續兩座城市預計會對其能量(長度)產生適度影響;而交換兩個任意城市的時間長度更可能會增加其長度而不是減少它。因此,連續交換鄰居生成器預期比任意交換生成器更好地執行。

所以我隨機生成第一個城市,第二個連續第一個,但解決方案變得更糟。
我做錯了嗎?

回答

2

最初,您需要探索所有的解決方案表面。你可以通過兩種方式做到這一點,無論是通過生成有效的隨機候選人,還是通過高溫。如果你不使用方法一,你必須使用方法二。這意味着提高溫度直到基本上所有的動作都被接受。然後你儘可能慢地減少它。 「交換鄰近城市」的舉動將產生合理的結果。