選擇鄰居時應考慮算法的溫度?例如,如果在挑選鄰居時溫度高,應該進行置換?或者溫度是否僅影響接受概率?模擬退火算法中的鄰居選擇
6
A
回答
3
後者是真的:只有接受概率受溫度的影響。溫度越高,接受越「惡劣」的移動以擺脫局部最佳狀態。如果您預先選擇能量值較低的鄰居,您基本上會反駁Simulated Annealing的想法,並將其變爲貪婪搜索。從Wikipedia
僞代碼:
s ← s0; e ← E(s) // Initial state, energy.
sbest ← s; ebest ← e // Initial "best" solution
k ← 0 // Energy evaluation count.
while k < kmax and e > emax // While time left & not good enough:
T ← temperature(k/kmax) // Temperature calculation.
snew ← neighbour(s) // Pick some neighbour.
enew ← E(snew) // Compute its energy.
if P(e, enew, T) > random() then // Should we move to it?
s ← snew; e ← enew // Yes, change state.
if enew < ebest then // Is this a new best?
sbest ← snew; ebest ← enew // Save 'new neighbour' to 'best found'.
k ← k + 1 // One more evaluation done
return sbest // Return the best solution found.
3
我也有過同樣的問題,但我想從另一個崗位Basics of Simulated Annealing in Python答案表明T可以與選擇的鄰居是相當合理的。
選擇鄰居也取決於你的問題。限制鄰里的主要原因是,一旦你找到了一個體面的解決方案,即使你後來轉向更糟糕的解決方案,你至少留在附近。直覺是大多數目標函數都是平滑的,所以好的解決方案將靠近其他好的解決方案。所以你需要一個足夠小的鄰域,讓你靠近好的解決方案,但足夠大讓你能夠快速找到它們。你可以嘗試的一件事是隨着時間的推移減少鄰域(例如,使其與溫度成比例)。 - 亨斯13年11月4日在20:58
2
這是從維基百科的說明,其中指出,溫度實際上應該計算一些問題。
有效的候選代
啓發式的更精確的說法是,一個應該嘗試第一個候選狀態s'的其中P(E(S),E(S'),T)是大。對於上面的「標準」接受函數P,這意味着E(s') - E(s)在T或更小的數量級上。因此,在上述旅行商例如,可以使用一個鄰居()函數,交換兩個隨機城市,那裏選擇一個城市對的概率也消失了超越T.他們的距離增加
這是否暗示溫度可能是確定鄰居時的相關因素。關於如何編寫鄰居功能
更多有用的書:How to efficiently select neighbour in 1-dimensional and n-dimensional space for Simulated Annealing
相關問題
- 1. 模擬退火算法中的能量?
- 2. 模擬退火
- 3. 模擬退火TSP
- 4. GNU模擬退火
- 5. 在模擬退火
- 6. 模擬退火算法中的這一步是什麼?
- 7. 模擬退火模板java
- 8. 最近鄰居算法
- 9. 鄰居搜索算法
- 10. 鄰居數KNN算法
- 11. OpenCV`detectMultiScale()`鄰居算法
- 12. 模擬退火能量
- 13. Encog模擬退火參數
- 14. 模擬退火和Yahtzee!
- 15. 遺傳算法vs模擬退火時間表
- 16. 模擬退火算法解決斌包裝
- 17. C++中的模擬退火實現
- 18. 退化爲模擬退火的進化算法問題:突變太小?
- 19. jQuery的選擇唯一的鄰居
- 20. 選擇像素的4鄰居
- 21. 如何在D3強制佈局中突出顯示/選擇鄰居的鄰居?
- 22. 確定對象鄰居的算法
- 23. k最近鄰居算法k的值
- 24. Kernighan-Lin和模擬退火算法在Python中的隨機數生成?
- 25. 數值食譜中給出的模擬退火算法有多安全/成熟?
- 26. 如何選擇L個鄰居
- 27. 選擇由類和屬性選擇的元素的鄰居
- 28. Python的TSP柏林52模擬退火
- 29. TSP的模擬退火成本函數
- 30. 鄰居加入算法輸出
鑑於僞代碼,它是沒有定義的鄰居是如何計算的。因此,沒有顯示溫度不是計算的一部分。 – John 2015-06-11 20:31:59