模擬退火演算法

2021-05-25 16:33:11 字數 1887 閱讀 1077

w

模擬退火演算法的基本思想

將乙個優化問題比擬成乙個金屬物體,將優化問題的目標函式比擬成物體的能量,問題的解比擬成物體的狀態,問題的最優解比擬成能量最低的狀態,然後模擬金屬物體的退火過程,從乙個足夠高的溫度開始,逐漸降低溫度,使物體分子從高能量狀態緩慢的過渡到低能量狀態,直至獲得能量最小的理想狀態為止,從而得到優化問題的全域性最優解。

相似性比較

組合優化問題

金屬物體

粒子狀態

最優解

能量最低的狀態

設定初溫

熔解過程

metropolis抽樣過程

等溫過程

控制引數的下降

冷卻

目標函式

能量

w基本步驟

w給定初溫t

=t

0,隨機產生初始狀態s

=s

0,令k

=0

repeat

repeat

產生新狀態s

j

=genete(s

)

if min>=randrom[0,1]

s

=s

j

;

until抽樣穩定準則滿足;

退溫t

k

+1=update(t

k

)並令k

=k

+1

until演算法終止準則滿足;

輸出演算法搜尋結果。

演算法流程

模擬退火演算法

一些求解極值的問題不能通過函式特性直接求解,只能暴力列舉,但是單純的列舉效率不高,通過模擬退火演算法可以高效的找到答案。學習好博文 最小圓覆蓋 hdu 3007 buried memory 大意 給出一些點,求出能覆蓋他們的最小的圓。輸出圓心和半徑 include include include i...

模擬退火演算法

1.模擬退火演算法認識 爬山演算法也是乙個用來求解最優化問題的演算法,每次都向著當前上公升最快的方向往上爬,但是初始化不同可能 會得到不同的區域性最優值,模擬退火演算法就可能跳出這種區域性最優解的限制。模擬退火演算法是模擬熱力學系統 中的退火過程。在退火過程中是將目標函式作為能量函式。大致過程如下 ...

模擬退火演算法

題目大意 給出平面上n個點,求到所有點距離和最短的點,輸出該距離和。include include include include include struct posp 101 int n 計算點x到各點距離之和 double dis pos x 模擬退火 double sa return mi ...