通俗理解模擬退火算法

模擬退火算法 

 

擬退火算法是是爬山算法的改進算法,算法過程中是以一定的概率接受一個比當前解更差的解,故有可能跳出局部最優解從而達到全局最優解。更新解的情況如下:

1.移動後得到更優解,則總是接受該移動  

2.移動後比當前解要差,則以一定概率接受該移動 

 

模擬退火算法解決旅行商問題

   

旅行商問題:亦稱貨郎擔問題,從N個城市的某個城市A,唯一遍歷剩下的N-1個城市,最後回到城市A,並使得代價最小。

初始化一個可行解L(a,b,…i,j,…n),即已經存在的滿足條件的解,這個解一般不會是最優解,計算其代價cost_1;

按照一定的方法產生新的解M,並計算此時的代價cost_2,比較cost_1,cost_2:

1、cost_1>=cost_2,接受M爲新解;

2、cost_1<cost_2,以一定概率接受M爲新解;


一定的方法:常見的有三種,對於可行解L(a,b,c,…i,j,…n)分別採取以下三種策略

1、任意交換兩個節點(城市),例如新解可能爲M(a,b,c,…j,i,…n);

2、任意選擇連個節點,交換節點內的順序,例如選擇a,j,新解M(a,i…c,b,j,…n)

3、任意選擇n,m,k節點,講n,m之間的節點移動到k後,例如新解M(c,a,b,…i,j,…n)

發佈了28 篇原創文章 · 獲贊 28 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章