智能優(yōu)化算法:蟻獅優(yōu)化算法

智能優(yōu)化算法:蟻獅優(yōu)化算法-附代碼

@[toc]
摘要:蟻獅優(yōu)化(Ant Lion Optimizer绳矩,ALO)算法是Mirjalili于2015提出的一種新型元啟發(fā)式群智能算法[1]矾缓。由于引入了隨機游走巷送、輪盤賭策略及精英策略颂碧,使得 ALO 算法成為一種種群多樣抒钱、尋優(yōu)性能強畴蹭、調(diào)節(jié)參數(shù)少朗恳、易于實現(xiàn)的搜索技術(shù)。

1.算法原理

ALO 算法核心思想是模擬蟻獅捕獵螞蟻的狩獵機制以實現(xiàn)全局尋優(yōu)蔚叨。蟻獅在捕獵前會在在沙質(zhì)土中利用其巨大的下顎挖出一個漏斗狀的陷阱床蜘,并藏在陷阱底部等待獵物到來辙培。一旦隨機游走的螞蟻落入陷阱時,蟻獅迅速將其捕食邢锯,隨后重新修繕陷阱等待下一次捕獵扬蕊。ALO 算法通過數(shù)值模擬實現(xiàn)螞蟻和蟻獅之間的相互作用將問題優(yōu)化:引入螞蟻的隨機游走實現(xiàn)全局搜索,通過輪盤賭策略和精英策略保證種群的多樣性和算法的尋優(yōu)性能丹擎。蟻獅相當(dāng)于優(yōu)化問題的解尾抑,通過獵捕高適應(yīng)度的螞蟻實現(xiàn)對近似最優(yōu)解的更新和保存。

1.1 螞蟻的隨機游走

螞蟻在自然界中隨機游走尋找食物的過程可以看作各搜索代理搜尋可行域的過程蒂培。隨機游走的過程在數(shù)學(xué)上可以表示為:
X(t)=[0,cussum(2r(t_{1})-1),...,cussum(2r(t_{n})-1)]\tag{1}
式中:X(t)為螞蟻隨機游走的步數(shù)集再愈;cumsum 為計算累加和;t 為隨機游走的步數(shù)(本文取最大迭代次數(shù));r(t)為一個隨機函數(shù),定義為
r(t)=\begin{cases} 1,rand>0.5\\0,rand\leq0.5\end{cases} \tag{2}
式中:rand為[0,1]的隨機數(shù)护戳。

由于可行域存在邊界翎冲,不能直接用式(1)更新螞蟻的位置。為確保螞蟻在可行域范圍內(nèi)隨機游走媳荒,需根據(jù)式(3)對其進行歸一化
X_{i}^{t}=\frac {(X_{i}^{t}-a_{i})*(d_{i}^{t}-c_{i}^{t})}{(b_{i}-a_{i})}+c_{i}t\tag{3}
式中: a_{i} 為第i 維變量隨機游走的最小值; b_{i}為第i 維變量隨機游走的最大值;c_{t}^{i}為第i維變量再第t次迭代的最小值抗悍;d_{i}^{t}為第 i 維變量在第t 次迭代最大值。

1.2蟻獅對螞蟻隨機游走的影響

蟻獅制造的陷阱會影響螞蟻隨機游走的路線钳枕,為對此假設(shè)進行數(shù)學(xué)建模缴渊,提出
\begin{cases} c_{i}^{t}=Al_{i}^{t} + C^{t}\\d_{i}^{t}=Al_{j}^{t}-d^{t}\end{cases}\tag{4}
式中: c^{t}為所有變量在第t 次迭代的最小值; d^{t}為所有變量在第 t 次迭代的最大值; Al_{j}^{t} 為被選定的第j 只蟻獅在第 t 次迭代的位置。

1.3自適應(yīng)機制

通過輪盤賭策略選擇某只螞蟻具體被哪只蟻獅捕食么伯,每只螞蟻只能被一只蟻獅捕食疟暖,而適應(yīng)度越高的蟻獅捕獲螞蟻的概率越大。另外田柔,螞蟻一旦落入蟻獅制造的陷阱俐巴,蟻獅就會向陷阱邊緣拋沙以防止螞蟻逃脫。此時硬爆,螞蟻隨機游走的范圍將急劇縮小欣舵。通過下列方程模擬這種現(xiàn)象
c^{t}=\frac {c^{t}}{I},d^{t}=\frac {d^{t}}{I}\tag{5}

I=\begin{cases}1,t\leq0.1T\\10^{v}*\frac{t}{T},t>0.1T \end{cases}\tag{6}

式中: I 為比例系數(shù);T為最大迭代次數(shù); v 為一個隨著迭代次數(shù)增大而變化的數(shù)。當(dāng)螞蟻的適應(yīng)度值比蟻獅小時缀磕,則認為蟻獅將其捕獲缘圈,此時蟻獅會根據(jù)螞蟻的位置來更新位置
Al_{j}^{t}=Ant_{i}^{t},if\quad f(Ant_{i}^{t})<f(Al_{j}^{t}) \tag{7}
式中: Ant_{i}^{t} 為第i只螞蟻在第t次迭代的位置; f 為適應(yīng)度函數(shù)。

1.4 精英策略

每次迭代后袜蚕,選擇適應(yīng)度最好的蟻獅作為精英蟻獅糟把。第t只螞蟻在第t +1次迭代的位置由式(8)確定
Ant_{i}^{t+1}=\frac {R_{A}^{t}(l)+R_{E}^{t}(l)}{2}\tag{8}
式中: R_{A}^{t}(l)為螞蟻在一只由輪盤賭在第 t 次迭代選擇到的蟻獅周圍隨機游走第 l 步產(chǎn)生的值; R_{E}^{t}(l)為螞蟻在第t代的精英蟻獅周圍隨機游走第l步產(chǎn)生的值。l為螞蟻隨機游走步數(shù)內(nèi)的任何值牲剃。

2.算法步驟

(1)數(shù)據(jù)初始化遣疯。確定螞蟻和蟻獅的數(shù)量以及變量維數(shù),在可行域內(nèi)隨機初始化它們的位置凿傅,并計算相應(yīng)的適應(yīng)度值缠犀。

(2)確定精英蟻獅数苫。選擇初始化后蟻獅種群中適應(yīng)度最好的作為精英蟻獅。

(3)通過輪盤賭為每只螞蟻選擇一只蟻獅辨液,根據(jù)蟻獅位置更新 c_{t},d_{t},c_{i}^{t},d_{i}^{t} 的值虐急,并使該螞蟻按照式(1)、式(3)在蟻獅及精英蟻獅附近隨機游走滔迈,最后按式(8)取平均值作為螞蟻的位置止吁。

(4) 每次迭代后重新計算螞蟻和蟻獅適應(yīng)度值,根據(jù)螞蟻的位置和適應(yīng)度更新蟻獅位置亡鼠,適應(yīng)度最好的位置為新精英蟻獅的位置赏殃。

(5)判斷是否到達最大迭代次數(shù)敷待,若到達則輸出結(jié)果并結(jié)束迭代间涵,否則重復(fù)步驟 (3)

3.算法結(jié)果

在這里插入圖片描述

4.參考文獻

[1]Seyedali Mirjalili. The Ant Lion Optimizer[J]. Advances in Engineering Software,2015,83.

[2]陳承濱,余嶺,潘楚東,陳澤鵬.基于蟻獅優(yōu)化算法與跡稀疏正則化的結(jié)構(gòu)損傷識別[J].振動與沖擊,2019,38(16):71-76+99.

5.Matlab代碼

https://mianbaoduo.com/o/bread/Z5iUk5c=

文獻復(fù)現(xiàn):優(yōu)選策略的自適應(yīng)蟻獅優(yōu)化算法(PSALO)
[1]劉景森,霍宇,李煜.優(yōu)選策略的自適應(yīng)蟻獅優(yōu)化算法[J].模式識別與人工智能,2020,33(02):121-132.

文獻復(fù)現(xiàn):基于柯西變異的蟻獅優(yōu)化算法(CALO)
[1]于建芳,劉升,韓斐斐,肖子雅.基于柯西變異的蟻獅優(yōu)化算法[J].微電子學(xué)與計算機,2019,36(06):45-49+54.

文獻復(fù)現(xiàn):融合萊維飛行與黃金正弦的蟻獅優(yōu)化算法(LEALO)
[1]于建芳,劉升,王俊杰,魯曉藝.融合萊維飛行與黃金正弦的蟻獅優(yōu)化算法[J].計算機應(yīng)用研究,2020,37(08):2349-2353.

文獻復(fù)現(xiàn):具有隨機分形自適應(yīng)搜索策略的蟻獅優(yōu)化算法(SFSALO)
[1]趙克新,黃長強,王淵.具有隨機分形自適應(yīng)搜索策略的蟻獅優(yōu)化算法[J].火力與指揮控制,2019,44(02):41-45+49.

文獻復(fù)現(xiàn):精英反向?qū)W習(xí)帶擾動因子的混沌蟻獅算法(EOPCALO)
[1]王茜,何慶,林杰,楊榮瑩.精英反向?qū)W習(xí)帶擾動因子的混沌蟻獅算法[J].智能計算機與應(yīng)用,2020,10(08):51-57.

文獻復(fù)現(xiàn):具有自適應(yīng)邊界與最優(yōu)引導(dǎo)的萊維飛行蟻獅優(yōu)化算法(ABLALO)
[1]王若安,周越文,韓博,李劍峰,劉強.具有自適應(yīng)邊界與最優(yōu)引導(dǎo)的萊維飛行蟻獅優(yōu)化算法[J].微電子學(xué)與計算機,2018,35(09):20-25+31.

文獻復(fù)現(xiàn):具有 Levy 變異和精英自適應(yīng)競爭機制的蟻獅優(yōu)化算法(LEALO)
[1]景坤雷,趙小國,張新雨,劉丁.具有Levy變異和精英自適應(yīng)競爭機制的蟻獅優(yōu)化算法[J].智能系統(tǒng)學(xué)報,2018,13(02):236-242.

6.python代碼

https://mianbaoduo.com/o/bread/YZaXmp5p

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市榜揖,隨后出現(xiàn)的幾起案子勾哩,更是在濱河造成了極大的恐慌,老刑警劉巖举哟,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件思劳,死亡現(xiàn)場離奇詭異,居然都是意外死亡妨猩,警方通過查閱死者的電腦和手機潜叛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來壶硅,“玉大人威兜,你說我怎么就攤上這事÷罚” “怎么了椒舵?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長约谈。 經(jīng)常有香客問我笔宿,道長,這世上最難降的妖魔是什么棱诱? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任泼橘,我火速辦了婚禮,結(jié)果婚禮上迈勋,老公的妹妹穿的比我還像新娘炬灭。我一直安慰自己,他們只是感情好粪躬,可當(dāng)我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布担败。 她就那樣靜靜地躺著昔穴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪提前。 梳的紋絲不亂的頭發(fā)上吗货,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天,我揣著相機與錄音狈网,去河邊找鬼宙搬。 笑死,一個胖子當(dāng)著我的面吹牛拓哺,可吹牛的內(nèi)容都是我干的勇垛。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼士鸥,長吁一口氣:“原來是場噩夢啊……” “哼闲孤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起烤礁,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤讼积,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后脚仔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體勤众,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年鲤脏,在試婚紗的時候發(fā)現(xiàn)自己被綠了们颜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡猎醇,死狀恐怖窥突,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情姑食,我是刑警寧澤波岛,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站音半,受9級特大地震影響则拷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜曹鸠,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一煌茬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧彻桃,春花似錦坛善、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽剔交。三九已至,卻和暖如春改衩,著一層夾襖步出監(jiān)牢的瞬間岖常,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工葫督, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留竭鞍,地道東北人。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓橄镜,卻偏偏與公主長得像偎快,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子洽胶,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內(nèi)容