美賽常用六種算法第二期——模擬退火算法

2021-01-17 數模樂園


模擬退火算法包含兩個部分即Metropolis算法和退火過程。Metropolis算法就是如何在局部最優解的情況下讓其跳出來,是退火的基礎。1953年Metropolis提出重要性採樣方法,即以概率來接受新狀態,而不是使用完全確定的規則,稱為Metropolis準則,計算量較低。下面先形象的說一下,然後再因此列數學公式:


假設開始狀態在A,隨著迭代次數更新到B的局部最優解,這時發現更新到B時,能力比A要低,則說明接近最優解了,因此百分百轉移,狀態到達B後,發現下一步能量上升了,如果是梯度下降則是不允許繼續向前的,而這裡會以一定的概率跳出這個坑,則各概率和當前的狀態、能量等都有關係,下面會詳細說,如果B最終跳出來了到達C,又會繼續以一定的概率跳出來,可能有人會迷惑會不會跳回之前的B呢?下面會解釋,直到到達D後,就會穩定下來。所以說這個概率的設計是很重要的,下面從數學方面進行解釋。

假設前一個狀態為x(n),系統根據某一指標(梯度下降,上節的能量),狀態變為x(n+1),相應的,系統的能量由E(n)變為E(n+1),定義系統由x(n)變為x(n+1)的接受概率P為:



從上式我們可以看到,如果能量減小了,那麼這種轉移就被接受(概率為1),如果能量增大了,就說明系統偏離全局最優值位置更遠了,此時算法不會立刻將其拋棄,而是進行概率操作:首先在區間【0,1】產生一個均勻分布的隨機數,如果<P,則此種轉移接受,否則拒絕轉移,進入下一步,往復循環。其中P以能量的變化量和T進行決定概率P的大小,所以這個值是動態的。


模擬退火算法新解的產生和接受可分為如下四個步驟:

第一步是由一個產生函數從當前解產生一個位於解空間的新解;為便於後續的計算和接受,減少算法耗時,通常選擇由當前新解經過簡單地變換即可產生新解的方法,如對構成新解的全部或部分元素進行置換、互換等,注意到產生新解的變換方法決定了當前新解的鄰域結構,因而對冷卻進度表的選取有一定的影響。                            

第二步是計算與新解所對應的目標函數差。因為目標函數差僅由變換部分產生,所以目標函數差的計算最好按增量計算。事實表明,對大多數應用而言,這是計算目標函數差的最快方法。                           

第三步是判斷新解是否被接受,判斷的依據是一個接受準則,最常用的接受準則是Metropolis準則: 若ΔT<0則接受S′作為新的當前解S,否則以概率exp(-ΔT/T)接受S′作為新的當前解S。

第四步是當新解被確定接受時,用新解代替當前解,這只需將當前解中對應於產生新解時的變換部分予以實現,同時修正目標函數值即可。此時,當前解實現了一次迭代。可在此基礎上開始下一輪試驗。而當新解被判定為捨棄時,則在原當前解的基礎上繼續下一輪試驗。模擬退火算法與初始值無關,算法求得的解與初始解狀態S(是算法迭代的起點)無關;模擬退火算法具有漸近收斂性,已在理論上被證明是一種以概率l 收斂於全局最優解的全局優化算法;模擬退火算法具有並行性。





(1)初始的溫度T(0)應選的足夠高,使得所有轉移狀態都被接受。初始溫度越高,獲得高質量的解的概率越大,耗費的時間越長。

(2)退火速率,即溫度下降,最簡單的下降方式是指數式下降:
T(n) = α \alphaαT(n) ,n =1,2,3,…
其中α \alphaα是小於1的正數,一般取值為0.8到0.99之間。使得對每一溫度,有足夠的轉移嘗試,指數式下降的收斂速度比較慢。

(3)終止溫度
如果溫度下降到終止溫度或者達到用戶設定的閾值,則退火完成。






相關焦點

  • 模擬退火算法
    模擬退火算法作為一種通用的隨機搜索算法,現已廣泛用於VLSI設計、圖像識別和神經網計算機的研究。模擬退火算法的應用如下:1、模擬退火算法在VLSI設計中的應用利用模擬退火算法進行VLSI的最優設計,是目前模擬退火算法最成功的應用實例之一。用模擬退火算法幾乎可以很好地完成所有優化的VLSI設計工作。如全局布線、布板、布局和邏輯最小化等等。
  • 圖解退火算法(模擬退火算法內核講解)
    回顧上兩期,我們已經了解了遺傳算法和粒子群算法,這都是常用的智能優化算法,所謂智能優化算法又稱現代啟發式算法,是一種具有全局優化性能
  • 經典算法—模擬退火算法
  • 模擬退火算法詳解
    2.模擬退火算法機制模擬退火算法(Simulated Annealing,SA)最早的思想是由N. Metropolis等人於1953年提出。1983年,S. Kirkpatrick等成功地將退火思想引入到組合優化領域。
  • 優化算法系列之模擬退火算法(1)
    模擬退火算法是所謂三大非經典算法之一,它脫胎於自然界的物理過程,與優化問題相結合。在百度百科上對於模擬退火算法的定義是:模擬退火算法來源於固體退火原理,是一種基於概率的算法,將固體加溫至充分高,再讓其徐徐冷卻,加溫時,固體內部粒子隨溫升變為無序狀,內能增大,而徐徐冷卻時粒子漸趨有序,在每個溫度都達到平衡態,最後在常溫時達到基態,內能減為最小。
  • 大白話解析模擬退火算法
    模擬退火(SA,Simulated Annealing)思想爬山法是完完全全的貪心法,每次都鼠目寸光的選擇一個當前最優解,因此只能搜索到局部的最優值。模擬退火其實也是一種貪心算法,但是它的搜索過程引入了隨機因素。模擬退火算法以一定的概率來接受一個比當前解要差的解,因此有可能會跳出這個局部的最優解,達到全局的最優解。
  • 模擬退火算法簡介
    模擬退火其實也是一種貪心算法,但是它的搜索過程引入了隨機因素。模擬退火算法以一定的概率來接受一個比當前解要差的解,因此有可能會跳出這個局部的最優解,達到全局的最優解。以上圖為例,模擬退火算法在搜索到局部最優解B後,會以一定的概率接受到C的移動。也許經過幾次這樣的不是局部最優的移動後會到達D點,於是就跳出了局部最大值A。
  • MATLAB優化算法實例——模擬退火算法
    ❞1 模擬退火算法基本理論上期文章介紹MATLAB算法——遺傳算法,本章介紹模擬退火法及實例應用。MATLAB優化算法實例——遺傳算法1.1 簡介模擬退火算法(Simulated Annealing Algorithm)是一種隨機類全局優化方法。它來源於熱力學中固體物質的退火冷卻過程。
  • 深度學習經典算法 | 模擬退火算法詳解
    模擬退火算法基本思想現代的模擬退火算法形成於20世紀80年代初,其思想源於固體的退火過程,即將固體加熱至足夠高的溫度,再緩慢冷卻。升溫時,固體內部粒子隨溫度升高變為無序狀,內能增大,而緩慢冷卻時粒子又逐漸趨於有序,從理論上講,如果冷卻過程足夠緩慢,那麼冷卻中任一溫度時固體都能達到熱平衡,而冷卻到低溫時將達到這一低溫下的內能最小狀態。
  • 模擬退火算法(附代碼)
    上一篇我們講了旅行商問題及遺傳算法來解決此類問題:遺傳算法(附代碼)今天介紹另外一種解決此類NP問題的方法是模擬退火算法(
  • 模擬退火遺傳算法在多用戶檢測技術中的應用
    它模擬自然界中的生命進化機制,在人工系統中實現特定目標的優化。實踐證明,遺傳算法對於NP問題非常有效[8],但是它容易陷入局部最優,即全局搜索能力弱。1.2 模擬退火算法模擬退火算法(SA)是基於金屬退火的機理而建立起來的一種隨機算法。
  • 基於模擬退火算法的地面電視頻率指配方法研究
    美國聯邦通信委員會(FCC)於1996年著手研究全境的地面數位電視覆蓋網頻率規劃問題,通過使用"模擬退火"算法和開發相應的規劃軟體,完成了美國的模數過渡方案。該算法的應用降低了美國模擬向數字過渡期間的轉換成本,提高了頻率資源的使用效率,並帶來了巨大的商業效益。  我國地面電視業務可用的頻道數量共有48個,指配給了數量眾多的模擬發射機,承擔著公共服務和各地節目的播出任務。
  • 模擬退火(Simulated Annealing, SA)算法簡介與MATLAB實現
    模擬退火算法(Simulated Annealing,簡稱SA)的思想最早是由Metropolis等提出的。其出發點是基於物理中固體物質的退火過程與一般的組合優化問題之間的相似性。模擬退火法是一種通用的優化算法,其物理退火過程由以下三部分組成:加溫過程。其目的是增強粒子的熱運動,使其偏離平衡位置。
  • 機器學習特徵選擇常用算法
    ( L R )算法評價:增L去R選擇算法結合了序列前向選擇與序列後向選擇思想, L與R的選擇是算法的關鍵。(5) 序列浮動選擇( Sequential Floating Selection )算法描述:序列浮動選擇由增L去R選擇算法發展而來,該算法與增L去R選擇算法的不同之處在於:序列浮動選擇的L與R不是固定的,而是「浮動」的,也就是會變化的。
  • 基於模擬退火法的旅行商問題
    二、模擬退火算法簡介1、固體退火過程模擬退火算法來源於固體退火原理,將固體加溫至充分高,再讓其徐徐冷卻,加溫時,固體內部粒子隨著溫度升高變為無序狀態,內能增大,而慢慢冷卻時粒子漸趨有序,在每個溫度都達到平衡態,最後在常溫時達到基態,此時內能減為最小。
  • 數學建模競賽前必須熟練掌握的十個算法
    數學建模比賽是本科生和研究生階段最重要的比賽之一,包括全國大學生數學建模競賽(俗稱「國賽」)和美國大學生數學建模競賽(俗稱「美賽」)。在這些比賽中取得好成績,不僅有助於保研、有助於找工作,更重要的是形成科學的思維模式。下面列舉了十大算法,在數學建模競賽中有著無比廣泛而重要的應用。
  • 自我代碼提升之啟發式算法(番外篇)
    在這種背景下,啟發式算法應運而生,其目標在於,在有限的時間和資源下(可接受的範圍內),尋找出能夠解決問題的可行解,可行解和通常不是全局最優解,但可能是一個較為優秀的局部最優解。啟發式算法主要是基於直觀和經驗來構造,目前主要的幾種方法,如遺傳算法、模擬退火、蟻群算法等,都是基於仿生學而發明的。本期所要介紹的兩種啟發式算法,分別是遺傳算法(GA)和模擬退火算法(SA)。
  • 曼孚科技:AI算法領域常用的39個術語(上)
    算法是人工智慧(AI)核心領域之一。本文整理了算法領域常用的39個術語,希望可以幫助大家更好地理解這門學科。1. Attention 機制Attention的本質是從關注全部到關注重點。將有限的注意力集中在重點信息上,從而節省資源,快速獲得最有效的信息。2.
  • 淺析基於優化算法的能量管理控制策略(二)
    目前主要的優化算法包括下列11種,上期介紹前5種,本期介紹後6種:動態規劃(Dynamic Programming,DP)等效燃油消耗最小策略(Equivalent Consumption Minimization Strategy,ECMS)模型預測控制(Model Predictive Control,MPC)神經網絡算法(NeuralNetworks
  • 基於模擬退火神經網絡的I型FIR數字濾波器設計
    摘要:提出一種基於模擬退火神經網絡設計FIR數字濾波器的方法,是對用神經網絡設計方法的一種改進。由於線性相位FIR數字濾波器的幅頻特性是有限項的傅立葉級數,因此構造了一個三層餘弦基神經網絡模型,並用模擬退火算法進行了優化,然後給出了高階濾波器優化設計的實例。仿真表明經優化設計後的濾波器具有更好的性能和更穩定的效果。