類比退火演算法(c++實現)__演算法

來源:互聯網
上載者:User
類比退火演算法 演算法簡介

  類比退火演算法得益於材料的統計力學的研究成果。統計力學表明材料中粒子的不同結構對應於粒子的不同能量水平。在高溫條件下,粒子的能量較高,可以自由運動和重新排列。在低溫條件下,粒子能量較低。如果從高溫開始,非常緩慢地降溫(這個過程被稱為退火),粒子就可以在每個溫度下達到熱平衡。當系統完全被冷卻時,最終形成處於低能狀態的晶體。

  假定我們要解決的問題是一個尋找最小值的最佳化問題。將物理學中類比退火的思想應用於最佳化問題就可以得到類比退火尋優方法。 演算法過程

  考慮這樣一個組合最佳化問題:我們現在要求函數f(x)的最小值,其中 x∈S x\in S,S表示函數的定義域, N(x)⊆S N(x)\subseteq S表示x的一個鄰域集合。

  首先給定一個初始溫度T0和該最佳化問題的一個初始解x(0),並由x(0)產生下一個解 x′∈N(x(0)) x'\in N(x(0)),是否接受 x′ x'作為新解x(1)依賴於下面機率:
P(x(0)→x′)=⎧⎩⎨⎪⎪1若f(x′)<f(x(0))e−f(x′)−f(x(0))T0其它 P(x(0) \to x') = \left\{ \begin{aligned}&1 \quad 若f(x')
換句話說,如果產生的解 x′ x'的函數值比前一個解的函數值更小,則接受 x(1)=x′ x(1)=x'作為一個新解。否則以機率 e−f(x′)−f(x(0))T0 e^{-\frac{f(x')-f(x(0))}{T_0}} 接受 x′ x'作為一個新解。

  同樣的,對於類比退火過程中任意一個解x(k),接受

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.