模擬退火演算法
模
擬退火演算法是是爬山演算法的改進演算法,演算法過程中是以一定的概率接受乙個比當前解更差的解,故有可能跳出區域性最優解從而達到全域性最優解。更新解的情況如下:
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
一定的方法:常見的有三種,對於可行解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)
通俗理解 模擬退火演算法
相比於傳統貪心演算法,模擬退火演算法最大的改進就是對於非最優解系統能夠以一定的概率接受,下邊通過公式具體說明 假設前乙個狀態為x n 系統根據某一指標 梯度下降 狀態變為x n 1 相應的,系統的能量 全域性最優解的函式值 由e n 變為e n 1 定義系統由x n 變為x n 1 的接受概率p為 ...
通俗解釋模擬退火演算法
介紹模擬退火前,先介紹爬山演算法。一.爬山演算法 hill climbing 爬山演算法是一種簡單的貪心搜尋演算法,該演算法每次從當前解的臨近解空間中選擇乙個最優解作為當前解,直到達到乙個區域性最優解。爬山演算法實現很簡單,其主要缺點是會陷入區域性最優解,而不一定能搜尋到全域性最優解。如圖1所示 假...
模擬退火演算法
w 模擬退火演算法的基本思想 將乙個優化問題比擬成乙個金屬物體,將優化問題的目標函式比擬成物體的能量,問題的解比擬成物體的狀態,問題的最優解比擬成能量最低的狀態,然後模擬金屬物體的退火過程,從乙個足夠高的溫度開始,逐漸降低溫度,使物體分子從高能量狀態緩慢的過渡到低能量狀態,直至獲得能量最小的理想狀態...