模擬退火算法(Simulated Annealing记舆,SA)
基本思想:
模擬退火算法基于這樣一種物理原理:一個高溫物體降至常溫句伶,溫度越高時降溫的概率越大(降溫越快),溫度越低時降溫的概率越小(降溫越慢)。
模擬退火算法基于此種思想搜索瀑罗,即多次降溫(迭代),直到獲得一個可行解莉钙。
在迭代過程中廓脆,模擬退火算法隨機選擇下一個狀態(tài),存在兩種可能:
1.新狀態(tài)更優(yōu)磁玉,則接受新狀態(tài);
2.新狀態(tài)更差驾讲,則以一定概率接收該狀態(tài)蚊伞,不過這個概率隨時間推移逐漸降低。
來源:
- 出發(fā)點是基于物理中固體物質(zhì)的退火過程與一般
(在有限個可行解的集合中找出最優(yōu)解的一類優(yōu)化問題稱為組合最優(yōu)化問題)問題之間的相似性吮铭。
- 從某一較高初溫出發(fā)时迫,伴隨溫度參數(shù)的不斷下降,結(jié)合概率突跳特性在求解空間中隨機尋找目標函數(shù)的全局最優(yōu)解,即在局部最優(yōu)解能概率性地跳出并最終趨于全局最優(yōu)谓晌。
優(yōu)質(zhì)文章:
模擬退火算法--matlab實現(xiàn)簡單問題
模擬退火算法(SA)(有點生硬)
模擬退火——算法思想與實例(這個老哥真牛逼掠拳,總結(jié)了幾個算法)
關(guān)鍵理解:
Metropolis算法
爬山算法易于陷入局部最優(yōu)解的缺陷是由貪心算法導(dǎo)致的。
對此纸肉,N.Metropolis等人提出一種方法:
借助以上所說的基于概率的思想溺欧,我們可以在爬山時(例如此時處于下圖P點)以一定的概率選擇比當前所處位置低的點喊熟,從而讓程序獲得擺脫這種陷阱的概率到達B點。
流程圖
流程圖