機器學習(MACHINE LEARNING)MATLAB模擬退火算法【SA】

1 什麼是智能優化算法

智能優化算法又稱現代啓發式算法,是一種具有全局優化性能、通用性強且適用於並行處理的算法。這種算法一般具有嚴密的理論依據,而不是單純憑專家經驗,理論上可以在一定的時間內找到最優解或近似最優解。

補充說明:

啓發式算法(Heuristic Algorithm)有兩種定義:

(1)基於直觀或經驗的構造的算法,對優化問題的實例能給出可接受的計算成本(計算時間、佔用空間等)內,給出一個近似最優解,該近似解於真實最優解的偏離程度不一定可以實現預計;

(2)啓發式算法是一種技術,這種技術使得在可接受的計算成本內去搜尋最好的解,但不一定保證所得的解是可行解和最優解,甚至在多數情況下,無法闡述所得解同最優解的近似程度。

總之,啓發式算法可用於解決求解最優解代價比較大的問題,但是此類算法不保證得到最優解,求解結果不穩定且算法效果依賴於實際問題和設計者的經驗。

2 常用的智能優化算法

遺傳算法(Genetic Algorithm, GA)
模擬退火算法(Simulated Annealing, SA)
禁忌搜索算法(Tabu Search, TS)
神經網絡 (Neural Network)
蟻羣算法(Ant Colony Optimization,ACO)

3 智能優化算法的特點

都是從任一解出發,按照某種機制,以一定的概率在整個求解空間中探索最優解。由於它們可以把搜索空間擴展到整個問題空間,因而具有全局優化性能。

4 模擬退火算法

4.1 簡介

模擬退火算法的思想借鑑於固體的退火過程,當固體的溫度很高時,內能比較大,固體內的粒子處於快速無序運動狀態,當溫度慢慢降低,固體的內能減小,粒子逐漸趨於有序,最終固體處於常溫狀態,內能達到最小,此時粒子最爲穩定。

 白話理解:一開始爲算法設定一個較高的值T(模擬溫度),算法不穩定,選擇當前較差解的概率很大;隨着T的減小,算法趨於穩定,選擇較差解的概率減小,最後,T降至終止迭代的條件,得到近似最優解。

4.1 工具箱(SA)

function fitnessVal=fitness(x)
fitnessVal=sin(10*pi*x)/x
end

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

Optimization running.
Objective function value: -0.8695940683355063
Maximum number of iterations exceeded: increase options.MaxIterations.

start point-
優化爲一個搜索算法,需要一個起點,一般問題你可以隨便設,複雜問題更加問題自身的情況。
在這裏插入圖片描述

找最大值變成-的即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章