智能優(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é)上可以表示為:
式中:為螞蟻隨機游走的步數(shù)集再愈; 為計算累加和; 為隨機游走的步數(shù)(本文取最大迭代次數(shù));為一個隨機函數(shù),定義為
式中:為[0,1]的隨機數(shù)护戳。
由于可行域存在邊界翎冲,不能直接用式(1)更新螞蟻的位置。為確保螞蟻在可行域范圍內(nèi)隨機游走媳荒,需根據(jù)式(3)對其進行歸一化
式中: 為第 維變量隨機游走的最小值; 為第 維變量隨機游走的最大值;為第維變量再第次迭代的最小值抗悍;為第 維變量在第 次迭代最大值。
1.2蟻獅對螞蟻隨機游走的影響
蟻獅制造的陷阱會影響螞蟻隨機游走的路線钳枕,為對此假設(shè)進行數(shù)學(xué)建模缴渊,提出
式中: 為所有變量在第 次迭代的最小值; 為所有變量在第 次迭代的最大值; 為被選定的第 只蟻獅在第 次迭代的位置。
1.3自適應(yīng)機制
通過輪盤賭策略選擇某只螞蟻具體被哪只蟻獅捕食么伯,每只螞蟻只能被一只蟻獅捕食疟暖,而適應(yīng)度越高的蟻獅捕獲螞蟻的概率越大。另外田柔,螞蟻一旦落入蟻獅制造的陷阱俐巴,蟻獅就會向陷阱邊緣拋沙以防止螞蟻逃脫。此時硬爆,螞蟻隨機游走的范圍將急劇縮小欣舵。通過下列方程模擬這種現(xiàn)象
式中: 為比例系數(shù);為最大迭代次數(shù); 為一個隨著迭代次數(shù)增大而變化的數(shù)。當(dāng)螞蟻的適應(yīng)度值比蟻獅小時缀磕,則認為蟻獅將其捕獲缘圈,此時蟻獅會根據(jù)螞蟻的位置來更新位置
式中: 為第只螞蟻在第次迭代的位置; 為適應(yīng)度函數(shù)。
1.4 精英策略
每次迭代后袜蚕,選擇適應(yīng)度最好的蟻獅作為精英蟻獅糟把。第只螞蟻在第次迭代的位置由式(8)確定
式中: 為螞蟻在一只由輪盤賭在第 次迭代選擇到的蟻獅周圍隨機游走第 步產(chǎn)生的值; 為螞蟻在第代的精英蟻獅周圍隨機游走第步產(chǎn)生的值。為螞蟻隨機游走步數(shù)內(nèi)的任何值牲剃。
2.算法步驟
(1)數(shù)據(jù)初始化遣疯。確定螞蟻和蟻獅的數(shù)量以及變量維數(shù),在可行域內(nèi)隨機初始化它們的位置凿傅,并計算相應(yīng)的適應(yīng)度值缠犀。
(2)確定精英蟻獅数苫。選擇初始化后蟻獅種群中適應(yīng)度最好的作為精英蟻獅。
(3)通過輪盤賭為每只螞蟻選擇一只蟻獅辨液,根據(jù)蟻獅位置更新 的值虐急,并使該螞蟻按照式(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.