摘要:飛蛾撲火優(yōu)化算法是一種新型仿生群體智能優(yōu)化算法,其利用螺旋搜索技術(shù)來求解優(yōu)化難題。文章針對近年來有關(guān)飛蛾撲火優(yōu)化的研究成果進(jìn)行了整理與探討,首先闡述了飛蛾撲火算法的基本運算原理,并研究分析了飛蛾撲火算法的某些參數(shù)及其在進(jìn)行計算與尋優(yōu)時的重要作用,同時對飛蛾撲火算法的一些優(yōu)化改進(jìn)方法以及應(yīng)用效果進(jìn)行了闡述,最后分析了飛蛾撲火算法的技術(shù)發(fā)展情況與研究方向。
關(guān)鍵詞:飛蛾撲火;優(yōu)化算法;群體智能
中圖法分類號:TP18文獻(xiàn)標(biāo)識碼:A
Research on Moth-flame optimization algorithm
LAI Bao
(College of Mathematics and Information Science,NorthMinzuUniversity,Yinchuan 750021,China)
Abstract:Moth-flame optimization algorithm is a new bionic swarm intelligence optimization algorithm, which uses spiral search technology to solve optimization problems. This paper sorts out and discusses the research results on the optimization of the Moth-flame algorithm in recent years. Firstly, it expounds the basic operation principle of the Moth-flame algorithm, studies and analyzes some parameters of the MIoth-flame algorithm and its important role in calculation and optimization, and also expounds some optimization and improvement methods and application effects of the Moth- flame algorithm. Finally, the technical development and research direction of Moth-flame algorithm are analyzed.
Key words: Moth-flame, optimization algorithm, swarm intelligence
1 引言
群體智能優(yōu)化算法的設(shè)計靈感來自對生物群體行為的模擬,屬于隨機(jī)優(yōu)化方法的一部分,目前較為經(jīng)典的群智能算法有粒子群優(yōu)化算法(Particle Swarm Optimization ,PSO )[1]、螢火蟲算法( Firefly Algo? rithm,F(xiàn)A)[2]、蝙蝠算法( Bat Algorithm,BA)[4]、布谷鳥優(yōu)化算法( Cuckoo OpAtimization algorithm, COA )[5]、人工蜂群算法( Artifi?cial Bee Colony algorithm,ABC )[6]、灰狼優(yōu)化算法( Grey Wolf Op? timizer,GWO)[7]等。
飛蛾撲火優(yōu)化( Moth?flame optimization,MFO)[8]算法是由學(xué)者M(jìn)irjalili于2015年首次提出的一種新奇、有創(chuàng)新感的群智能算法。這一新穎的想法起源于飛蛾夜間通過一種獨特的導(dǎo)航機(jī)制—橫向定位飛行,當(dāng)飛蛾在夜間飛行時,是利用月光作為參照物來判別方向的,當(dāng)其在夜間迷失方向時,就只需要利用月光來調(diào)節(jié)自己身體的位置與方向,進(jìn)而能夠發(fā)現(xiàn)之前行進(jìn)的方向。但是,由于月亮距離飛蛾非常遠(yuǎn),所以根據(jù)這一機(jī)制才能夠保證飛蛾進(jìn)行直線運動。在現(xiàn)實世界中,由于人造光通常都會誤導(dǎo)飛蛾的飛行前進(jìn)方向,并將其認(rèn)為是月亮發(fā)射的光線,所以飛蛾會圍繞人造光進(jìn)行螺旋狀盤旋。由于 MFO 算法具有諸多優(yōu)點,比如魯棒性好、比較容易實現(xiàn)且參數(shù)設(shè)置相對簡單,自從首次提出以來,就引起了國內(nèi)外一大批學(xué)者的強(qiáng)烈關(guān)注,并使其在眾多領(lǐng)域得到應(yīng)用[9]。
2 飛蛾撲火優(yōu)化算法原理
MFO 是一個基于種群的隨機(jī)啟發(fā)式搜索算法,和 PSO 算法最大的不同之處就在于其粒子搜索路線是螺旋狀的,粒子繞著最優(yōu)解以同一個螺旋的方式移動,而并非是直線移動。受這個自然現(xiàn)象的影響,SeyedaliMirjalili將飛蛾圍繞著光源螺旋飛行的整個經(jīng)過看成是一個尋找最優(yōu)解的過程,飛蛾飛行的整個空域就是問題的求解空間,每一只飛蛾即為問題的一個解,而火焰(光源)則為問題的另一個較優(yōu)解,每一只飛蛾對應(yīng)一個光源,從而防止了算法陷入局部最優(yōu);在飛蛾與火焰達(dá)到一定數(shù)量的時,通過飛蛾的飛行就可以搜索出解空間的極大多數(shù)的區(qū)域,這便確保了算法的探索能力。而且在尋優(yōu)的過程中,火焰數(shù)隨著迭代次數(shù)的增加而減少,使飛蛾能夠充分搜索更優(yōu)解的鄰域空間,從而提高了算法的使用能力。
2.1 種群初始化
在 MFO 算法中,假設(shè)矩陣 M 表示飛蛾種群規(guī)模, F 表示火焰矩陣,它們的規(guī)模都為 n,維數(shù)為 d,各自的空間矢量位置矩陣用式(1)和(2)表示。其中,數(shù)組 OM 存放飛蛾的適應(yīng)度值,而數(shù)組 OF 則存放火焰的適度值,它們的適度值分別用式(2)和(4)表示。
2.2 位置更新機(jī)制
(1)捕焰行為。具有趨光性質(zhì)的飛蛾 Mi 會向著火焰 Fj 移動,該火焰是距離自身最近的亮光。該移向火焰的路線與螺旋曲線相類似,故飛蛾捕焰的移動軌跡用對數(shù)螺旋線式(5)來表示:
其中,用 S(Mi ,F(xiàn)j )表示飛蛾更新后的空間位置;Di 表示第i只飛蛾與第 j 團(tuán)火焰之間的距離;b 為與對數(shù)螺旋函數(shù)形式有關(guān)的常數(shù);式(5)中的隨機(jī)數(shù)都用 t 表示,取值的范圍為[-1,1],ebt×cos (2πt)是對數(shù)螺旋曲線的表示。
(2)棄焰過程。MFO 算法通過棄焰行為不斷丟棄適應(yīng)度最差的火焰,直至飛蛾處在最優(yōu)的火焰位置為止,符合優(yōu)勝劣汰的機(jī)制?;鹧鏈p少過程如函數(shù)式(6)所示:
其中,T 表示最大的迭代次數(shù),N 表示最大火焰數(shù),L 表示當(dāng)前迭代次數(shù)。
3 MFO 算法的相關(guān)研究和改進(jìn)
3.1 根據(jù)參數(shù)的改進(jìn)研究
MFO 算法存在早熟收斂現(xiàn)象,求解精度低,無法快速收斂的問題[10],眾多研究人員針對這一問題進(jìn)行了相應(yīng)的改進(jìn)。Liu D 等[11]為了提高區(qū)域水環(huán)境評估的準(zhǔn)確性,開發(fā)了基于氨基飛蛾?火焰優(yōu)化(AMFO)算法的改進(jìn)投影追求水質(zhì)評價模型( AMFO? PPE)。這種方法利用了飛蛾?火焰優(yōu)化,增加了動態(tài)慣性重量,以及肯特混沌地圖搜索策略。Lin? G Q 等[12]研究開發(fā)了一種新的飛蛾火焰優(yōu)化算法,以優(yōu)化 SVM 參數(shù),引入非線性慣性加權(quán)策略和考奇突變法,提高算法的優(yōu)化能力,有效提高 SVM 模型的預(yù)測性能,通過 IMFO 算法優(yōu)化了 SVM 參數(shù),建立了新型改進(jìn)后的飛蛾火焰優(yōu)化算法支持矢量機(jī)(IMFO?SVM)模型,IMFO?SVM 模型可以準(zhǔn)確預(yù)測光伏輸出功率,有利于減少不穩(wěn)定光伏發(fā)電質(zhì)量對電網(wǎng)光伏的影響。Ma L 等[13]提出了改進(jìn)后的飛蛾火焰優(yōu)化算法,以緩解過早收斂和收斂到局部小值1的問題。從多樣性的角度看,在飛蛾火焰優(yōu)化中引入了多樣性反饋控制的慣性重量,以平衡算法的利用和全球搜索能力。此外,在位置更新階段后添加小概率突變,以提高優(yōu)化性能。
3.2 加入相關(guān)策略的改進(jìn)算法
Xu L W 等[14]提出了一種基于文化學(xué)習(xí)和高斯變異的增強(qiáng)型蛾焰優(yōu)化技術(shù)。在原蛾焰優(yōu)化算法(MFO)中引入了競爭學(xué)習(xí)機(jī)制和遺傳算法算子。CL 在歷史經(jīng)驗的傳承中發(fā)揮著重要作用,激發(fā)飛蛾更有效地從火焰中獲取信息,有助于 MFO 提高其搜索能力。此外,為了克服陷入局部最優(yōu)的缺點,可以將遺傳算法的算子引入 MFO 。
Kotary D K 等[15]根據(jù)擴(kuò)散飛蛾火焰優(yōu)化提出了一個強(qiáng)大的分布式聚類算法。建議的分布式方法消除了中央處理器或基站的要求,并且能夠檢測數(shù)據(jù)范圍內(nèi)外的離群值。模擬結(jié)果反映了建議方法的保證收斂。與其他方法相比,在建議的 DMFO 方法的情況下,聚類精度也更高。建議方法的最佳部分是聚類精度不會隨著傳感器數(shù)據(jù)大小或傳感器節(jié)點數(shù)的增加而衰變。模擬還表明,離群值的檢測精度隨著離群值百分比的增加而降低。
3.3 與其他元啟發(fā)式算法的混合
Elaziz M A 等[16]通過提高飛蛾火焰優(yōu)化( MFO)效率以查找此類最佳子集,從功能創(chuàng)建最佳子集,從而代表整個特征。改進(jìn)通過將基于反對派的學(xué)習(xí)技術(shù)和差異進(jìn)化方法與 MFO 相結(jié)合來執(zhí)行?;诜磳ε傻膶W(xué)習(xí)用于產(chǎn)生最佳的初始人口,以改善 MFO 的融合。同時,利用差異化演化提高 MFO 的開發(fā)能力。因此,與傳統(tǒng)的 MFO 算法不同,稱為 OMFODE 的擬議方法能夠避免陷入局部最佳值,并增加快速收斂。
Zhang L 等[17]擬議的進(jìn)化螢火蟲算法利用飛蛾的螺旋搜索行為和螢火蟲的吸引力搜索動作,以減輕利維飛行螢火蟲算法( LFA)和飛蛾火焰優(yōu)化( MFO)算法的過早融合。具體而言,它利用飛蛾的對數(shù)螺旋搜索能力來增加對螢火蟲的局部開采,而與 MFO 中的火焰相比,螢火蟲不僅代表了飛蛾確定的最佳解決方案,而且充當(dāng)了以吸引力為導(dǎo)向的搜索代理,以增加全球探索。
4 算法的應(yīng)用
Yang L B 等[18]開發(fā)了一個深度神經(jīng)網(wǎng)絡(luò)來預(yù)測城市固體廢物的氣體產(chǎn)量,并應(yīng)用了飛蛾火焰優(yōu)化算法來優(yōu)化深度神經(jīng)網(wǎng)絡(luò)模型,并提高其精度,最大限度減少對周圍環(huán)境的負(fù)面影響。
Kalita D J 等[19]使用新的優(yōu)化模塊基于基于知識的搜索(KBS)以及飛蛾?火焰優(yōu)化(MFO)來優(yōu)化С和γ在動態(tài)環(huán)境中高效訓(xùn)練 SVM 。KBS 使用在各種時間實例中收集的知識,這是 MFO 的雙產(chǎn)品??蚣苤械?MFO 是 KBS 下方工作的基礎(chǔ)優(yōu)化算法。實驗表明,KBS 有助于控制優(yōu)化過程時間復(fù)雜性的指數(shù)增長,其中僅使用 MFO 優(yōu)化С和γ。KBS 與 MFO 的集成在很大程度上降低了時間復(fù)雜性嚴(yán)宇等[20]針對樞紐機(jī)場航班的銜接時間問題,提出了一種基于改進(jìn)飛蛾撲火的算法的最小化樞紐機(jī)場平均銜接時間模型。為了求解這一復(fù)雜問題,引進(jìn)自適應(yīng)權(quán)重的方法,當(dāng)飛蛾在靠近最優(yōu)解時,自適應(yīng)權(quán)重的值減小,可以提高算法后期的探測能力。通過測試函數(shù)檢驗,改進(jìn)后的 MFO 算法具有較好的收斂精度和全局尋優(yōu)能力。
李志明[21]將單純形法應(yīng)用在飛蛾撲火優(yōu)化算法中,提出了一種基于單純形法的飛蛾撲火優(yōu)化算法( SMMFO)。SMMFO 算法不但解決了飛蛾撲火優(yōu)化算法容易進(jìn)入局部最優(yōu)的問題,還提高了算法的種群多樣性,從而提高了其局部搜索能力,同時大大提高了算法的執(zhí)行效能,以及提高了算法的收斂速率,進(jìn)而改善了飛蛾撲火優(yōu)化算法對數(shù)據(jù)集的聚類分析特性。
Bindu C H 等[22]使用建議的指數(shù)飛蛾火焰優(yōu)化(指數(shù) MFO)基于深度信仰網(wǎng)絡(luò)(DBN)開發(fā)了人臉識別方法。最初,數(shù)據(jù)庫中的圖像經(jīng)過功能提取,其中從圖像中提取了 K?SIFT 和m?Co?HOG等功能以及活動外觀模型( AAM)功能。然后,使用建議的 EMFO? DBN 進(jìn)行分類。建議的 EMFO?DBN 通過將指數(shù)加權(quán)移動平均值(EWMA)集成到飛蛾火焰優(yōu)化(MFO)算法的更新過程中進(jìn)行設(shè)計。
5 總結(jié)與展望
飛蛾撲火優(yōu)化算法因其簡單高效的特點受到廣大學(xué)者的青睞,這一算法模擬了飛蛾飛向人造光源之生物特性。其作為一種元啟發(fā)式算法,通過進(jìn)化的方式實現(xiàn)群體智能的行為,完成最佳尋優(yōu)的目標(biāo),應(yīng)用在了很多的優(yōu)化問題中,并且得到了很好的效果。值得注意的是,MFO 算法及其改進(jìn)算法仍存在許多不足之處,如全局尋優(yōu)不足、收斂速度慢、早熟收斂等,如何使得全局最優(yōu)、收斂速度快、收斂穩(wěn)定等成為今后著重研究的一個方向。此外,將本文算法如何應(yīng)用到實際問題中,解決一些復(fù)雜的問題也是今后的重點研究工作之一。
參考文獻(xiàn):
[1]趙玉新,楊新社,劉利強(qiáng).新興元啟發(fā)式優(yōu)化方法[M].北京:科學(xué)出版社,2013:81?147.
[2] Yang X S.Multi?objective Firefly Algorithm for ContinuousOptimization [ J ].Engineering? with? Computers ,2013,29(2):175?184.
[3]劉長平,葉春明.一種新穎的仿生群智能優(yōu)化算法:螢火蟲算法[J].計算機(jī)應(yīng)用研究,2011,28(9):3295?3297.
[4] Yang X S.A new metaheuristic bat?inspired algorithm ,in:Na?ture Inspired Cooperative Strategies for Optimization[ J]Springer 2010:65?74.
[5] RajabiounR.Cuckoo optimization algorithm[ J].Applied SoftComputing 2011:5508?18.
[6] Karaboga D ,Basturk B.A powerful and efficient algorithm fornumerical function optimization:artificial bee colony( ABC) algorithm[J].J Global Optim,2010(39):459?71.
[7] Zhang S ,Zhou Y Q.Grey Wolf Optimizer Based on PowellLo? cal? Optimization? Method? for? Clustering? Analysis [ J ].Discrete Dynamics in Nature and Society 2015:1?17.
[8]? Seyedali? M .Moth?flame? optimization? algorithm: A? novel nature?inspired? heuristic? paradigm [ J ].Knowledge?BasedSystems 2015:228?249.
[9]劉倩.飛蛾火焰優(yōu)化算法的改進(jìn)研究與應(yīng)用[ D].石家莊:河北地質(zhì)大學(xué),2020.
[10]田鴻,陳國彬,劉超.新型飛蛾火焰優(yōu)化算法的研究[J].計算機(jī)工程與應(yīng)用,2019,55(16):138?143.
[11] Liu D ,Zhang G,F(xiàn)u Q ,et al.Projection pursuit evaluationmodel of a regional surface water environment based on an Ameliorative? Moth?Flame? Optimization? algorithm [ J ]. Ecological Indicators ,2019,107( C ):105674.1?105674.13.
[12] Lin G Q ,Li L L,Tseng M L,et al.An improved moth?flameoptimization algorithm for support vector machine prediction of photovoltaic? power? generation [ J ].Journal? of? CleanerProduction,2020,253( Apr.20):119966.1?119966.11.
[13]Ma? L,Wang? C ,Xie? N? G,et? al.Moth?flame? optimization algorithm? based? on? diversity? and? mutation? strategy [ J ]. Applied Intelligence ,2021,51(8):5836?5872.
[14]Xu L W? Li Y Z? Li? K C? et al.Enhancedmoth?flameoptimization? based? on? cultural? learning? and? Gaussian mutation [ J ].Journal of Bionic Engineering,2018,15(4):751?763.
[15]Kotary D K,Nanda S J.Distributed robust data clustering in wireless? sensor? networks? using? diffusion? moth? flame optimization [ J ].Engineering? Applications? of? Artificial Intelligence ,2020,87( Jan.):103342.1?103342.21.
[16]Elaziz M A ,EweesA A ,Ibrahim R A ,et al.Opposition?basedmoth?flame optimization? improved? by? differential? evolution for feature? selection [ J ].Mathematics? and? Computers? in Simulation,2020,168:48?75.
[17]Zhang L,Mistry K,Neoh S C ,et al.Intelligent facial emotion recognition using moth?firefly optimization [ J ].Knowledge? Based Systems ,2016,111:248?267.
[18]Yang L B ,Nguyen H ,Bui X N ,et al.Prediction of gas yield generated by? energy? recovery? from? municipal? solid? wasteusing? deep? neural? network? and? moth?flame? optimizationalgorithm [ J ].Journal? of Cleaner Production 2021 311(19):127672.
[19]Kalita D J ,Singh V P ,Kumar V.A dynamic framework for tuning? SVM? hyper? parameters? based? on? Moth?Flame Optimization? and? knowledge?based ?search [ J ]. ExpertSystems With? Applications ,2021,168( Apr.):114139.1?114139.23.
[20]嚴(yán)宇,熊靜,張文成,等.基于改進(jìn)飛蛾撲火算法的機(jī)場航班時刻銜接優(yōu)化[ J ].物流科技,2020,43(12):91?94.
[21]李志明.飛蛾撲火優(yōu)化算法在聚類分析中的應(yīng)用[ J ].計算機(jī)技術(shù)與發(fā)展,2020,30(9):104?108.
[22] Bindu? C? H ,Manjunatha? C? K.Hybrid? features? and exponential? moth?flame? optimization? based? deep? belief network? for? face? recognition [ J ].Computer? Methods? in Biomechanics? and? Biomedical? Engineering: Imaging & Visualization,2020,8(6):581?594.
作者簡介:
賴寶(1996—),碩士,研究方向:數(shù)據(jù)挖掘、大數(shù)據(jù)分析。