勵志

勵志人生知識庫

黏菌算法

黏菌算法(Slime Mould Algorithm, SMA)是一種基於群體智慧型的最佳化算法,由Li等人於2020年提出。該算法靈感來源於黏菌的覓食行為和形態變化,具有參數少、尋優能力強的特點,廣泛套用於各類工程問題。

算法思想:

黏菌算法模擬了黏菌在覓食過程中的行為和形態變化,包括接近食物、包圍食物和抓取食物三個階段。

黏菌根據當前位置的客觀條件(適應度函式優劣)決定個體所在位置的權重,然後根據權重決定新的位置。

當黏菌接近食物時,生物振盪器通過靜脈產生傳播波,細胞質流動加快,抓取食物時,細胞質流動更快。

算法步驟:

設定參數,初始化種群,計算適應度值。

更新黏菌權重W,參數a、b。W的計算公式為:\( W = \begin{cases} 1 + r \times \log(bF - S(i) / (bF - wF + 1)), \text{如果該個體的適應度值排在群體前一半} \ 1 - r \times \log(bF - S(i) / (bF - wF + 1)), \text{如果該個體的適應度值排在群體後一半} \end{cases} \)。

根據權重和適應度值,更新種群位置。

算法特點:

通過模擬黏菌的覓食行為和形態變化,SMA能夠在搜尋過程中自適應地調整搜尋策略,從而有效地尋找最優解。

SMA能夠處理多峰值的最佳化問題,特別是在高維搜尋空間中表現出色。

結果展示和套用:

以CEC2005函式集為例,SMA與其他最佳化算法相比,展現了優越的性能。

SMA已套用於多種工程領域,如機械設計、電力系統最佳化、信號處理等。