敖 山,彭雄飛,劉志中
1(河南理工大學 計算機科學與技術(shù)學院,河南 焦作 454003)
2(北京大學 教育經(jīng)濟研究所,北京 100871)
優(yōu)化問題是指在滿足一定條件下,在解空間中尋找滿足條件的最優(yōu)解或較優(yōu)解,以解決實際應用需要的一類問題.優(yōu)化問題已被應用于信號處理、圖像處理、生產(chǎn)調(diào)度、結(jié)構(gòu)設計、車輛尋徑、任務分配、模式識別、等領(lǐng)域[1].鑒于各領(lǐng)域?qū)嶋H工程問題的復雜性、非線性、約束性以及建模困難等諸多特點,尋求高效的優(yōu)化算法已成為必不可少且具有挑戰(zhàn)性的研究領(lǐng)域.
由于科學中優(yōu)化問題的重要性,已創(chuàng)建了許多算法和方法來處理此問題.傳統(tǒng)的優(yōu)化方法通常有嚴密的數(shù)理證明,如牛頓法、梯度法、單純形法等.但隨著優(yōu)化問題規(guī)模的增大,這類傳統(tǒng)算法無法在短時間內(nèi)完成搜索,尤其是對于以復雜多峰函數(shù)位代表的非凸優(yōu)化問題,傳統(tǒng)優(yōu)化算法理論基礎的潛在缺陷是難以克服的.因此,現(xiàn)階段的研究人員熱衷于探索不使用任何梯度信息,且易于實現(xiàn)的新型優(yōu)化算法,元啟發(fā)式中的智能優(yōu)化算法就是其中的代表.
智能優(yōu)化算法大多受人類智能、生物群體的社會性行為及自然現(xiàn)象規(guī)律的啟發(fā)[2],其搜索模式源自生態(tài)系統(tǒng)中生物的行為或相互作用,且通常具有隨機性、通用性、可并行處理等特性,這類算法無法確保所有問題都能找到令人滿意的解決方案,但它們通常以最少的計算量即可產(chǎn)生最優(yōu)解或較優(yōu)解.這類算法的示例包括:遺傳算法[3]、免疫算法[4]、差分進化算法[5]、粒子群算法[6]、人工蜂群算法[7]、灰狼優(yōu)化算法[8]、共生生物搜索算法[9]等.另外,還已有研究者開發(fā)了現(xiàn)有優(yōu)化算法的各種改進和優(yōu)化版本以及兩種或更多種優(yōu)化算法的混合版本.
其中,共生生物搜索算法[9](SOS)是近幾年提出的,一種模擬生態(tài)系統(tǒng)中生物互利共生、偏利共生、寄生等行為的新型智能優(yōu)化算法.其優(yōu)點在于,需給定的控制參數(shù)僅2個,使其具有較高的通用性,且收斂速度與精度較高,尤其在單峰優(yōu)化問題的計算中優(yōu)勢明顯.由于這個原因,SOS自提出以來,已在各類實際問題中均有應用,如項目調(diào)度[10]、車輛路線[11]、電力系統(tǒng)[12]、多目標約束問題優(yōu)化[13]等.但標準SOS算法的設計也存在一定缺陷,如在高維多峰優(yōu)化問題中易陷入局部最優(yōu)、中后期收斂速度慢而易導致搜索停等.表明SOS算法具有強大的挖掘能力,但探索能力相對薄弱,導致在復雜優(yōu)化問題中,算法可能實現(xiàn)全面的全局搜索.為了平衡這算法兩種能力,使算法更好、更穩(wěn)定,國內(nèi)外研究者已開展各類研究以優(yōu)化SOS算法的性能,如在原始SOS算法中引入自適應受益因子[14];進行反向?qū)W習,從而避免局部最優(yōu)并加快了收斂速度[15];集成模擬退火算法而形成混合算法[16];結(jié)合自適應思想,利用不同差分擾動項和精英學習策略進行改進[17];結(jié)合子種群拉伸操作與精英級制以平衡探索能力與挖掘能力[18]等.
本研究針對SOS的上述特性,受該領(lǐng)域已有研究成果的啟發(fā),提出一種基于多角色優(yōu)化策略的混合灰狼-共生生物搜索算法(Multi Role Optimization Strategic Grey Wolf Optimizer-Symbiotic Organisms Search Algorithm,MRSSOS).該算法分別從算法的內(nèi)部結(jié)構(gòu)、擾動機制及算法混合方面進行了優(yōu)化,結(jié)果表明本研究提出的算法性能明顯較好,在大部分優(yōu)化問題中,均可在極少的迭代次數(shù)中獲得較高的搜索精度,尤其在多峰問題的處理方面優(yōu)化明顯,表明MRSSOS很好地平衡了算法的探索能力與挖掘能力,具有較好的跳出局部最優(yōu)的能力.
SOS算法是一種近幾年在國際范圍內(nèi)被廣泛應用于各類優(yōu)化問題的元啟發(fā)式算法,可基于自然生態(tài)系統(tǒng)中不同生物之間的共生關(guān)系(互利共生、偏利共生、寄生)來在解空間中進行隨機搜索與局部搜索,以處理優(yōu)化問題.這種算法對種群初始位置的依賴相對較小,算法中每個生物個體都具有適應度值并代表其對所考慮問題提供的解的效果.在每個迭代過程中,SOS算法對種群中的每個個體依次模擬自然界中的互利共生、偏利共生、寄生行為特征,進行種群進化,如果每個階段的新個體的適應度值優(yōu)于原個體,則對個體進行更新,直到迭代次數(shù)完成或精度滿足停止標準為止.
(1)
(2)
(3)
其中,rand(0,1)是一個維度與Xi、Xj相同,值為0-1之間隨機數(shù)組成的向量;Xbest是當前種群的最優(yōu)個體;MV表示一對互利共生關(guān)系的生物的共同載體;BF1、BF2是描述每種生物的收益水平的收益因素,通常取1或者2.
(4)
這個階段描述了一種寄生關(guān)系,在這對關(guān)系中,一方受益,另一方受害,后者為前者提供生存場所.自然界中例子如瘧疾原蟲與人類宿主之間的相互作用.寄生蟲通過蚊蟲叮咬轉(zhuǎn)移到人類宿主.感染后,該寄生蟲生長,繁殖并侵入紅細胞,引起瘧疾.如果宿主的免疫力足夠強,它將消滅寄生蟲.否則,人類可能患上瘧疾并患上重病或死亡.
在這個階段中,所操作的個體Xi中的若干位進行變異,產(chǎn)生寄生體Parasite_Vector,并在種群中隨機選擇一個相異的個體Xj作為宿主進行寄生,即將兩個體的適應度進行比較,如果Parasite_Vector具有更好的適應度值,則將Xj淘汰,并用Parasite_Vector進行替換.
先前研究成果表明,群智能優(yōu)化算法改進的思路可分為4類:1)通過改善內(nèi)部結(jié)構(gòu),增加種群多樣性保持機制[19],尋找探索能力與挖掘能力的新平衡;2)通過設計自適應算子[20],以減少預設參數(shù)的個數(shù),并提高算法的通用性;3)通過增加停滯防止機制及擾動機制[21],避免算法早熟或陷入局部最優(yōu),提升局部搜索能力;4)設計混合智能優(yōu)化算法[22],將兩種或多種算法結(jié)合起來,揚長避短,提升整體性能.
通過深入思考SOS性能瓶頸的根源,進行大量實驗研究,針對SOS算法存在的易陷入局部最優(yōu)及搜索停滯等缺陷與復雜多峰函數(shù)表現(xiàn)不佳等情況,本研究從集成灰狼優(yōu)化算法狩獵算子、算法進化階段的多角色策略改良、增加陷入搜索停滯后的擾動機制3個方面進行改進,并提出一種多角色優(yōu)化策略的灰狼-共生生物搜索算法(MRSSOS),主要改進包括:首先,在每輪迭代的開始引入改進后的灰狼優(yōu)化算法狩獵算子,按由適應度與相似度構(gòu)成的激勵度的高低,選出種群中的頭狼,即激勵度最高的3個解,并根據(jù)3只頭狼的位置更新整個種群中每個個體的位置.既使種群向最優(yōu)解方向靠攏,又保持一定的多樣性;其次,在“互利共生”階段,根據(jù)處理的點的適應度,將種群分為兩段,并各抽取一個個體,分別賦予探索者與開發(fā)者角色,各自分工不同:探索者同時具備社會性運動趨勢與慣性運動趨勢,運動目的是收斂的同時保護種群多樣性;開發(fā)者僅具備社會性特征,從自身所處位置向種群最優(yōu)解移動,專注于提升種群挖掘能力.在“偏利共生”階段,同樣進行探索者與開發(fā)者的角色分工,并借鑒差分進化思想,將兩種角色的搜索“經(jīng)驗”傳遞給所操作的點,并引入擾動算子,使兩種角色不過于偏離種群整體中心.最后,在寄生階段,采用精英機制,由精英個體變異產(chǎn)生寄生體,寄生于所操作的點,使精英的挖掘能力得以顯著增幅,從而在搜索的中后期提升深度搜索能力,避免搜索停滯.最后,在種群搜索陷入停滯時,設計了種群刷新機制,將種群隨機分為3段,分別進行復制變異、倒轉(zhuǎn)鏡像、中心刷新等操作,從而使種群恢復搜索能力.下面對改進部分進行詳細介紹.
在傳統(tǒng)的SOS算法中,各進化階段僅受個體值及一個最優(yōu)解值的影響,若當前最優(yōu)解是局部最優(yōu)解,則整個搜索過程中,易使整個種群共同陷入局部最優(yōu),造成早熟.針對這個情況,本研究集成了灰狼優(yōu)化算法的階級制度與狩獵算子.灰狼優(yōu)化算法(Grey Wolf Optimizer,GWO)是Mirjalili 等人于2014年提出的一種新型群智能優(yōu)化算法[23].思路來源于自然生態(tài)系統(tǒng)中灰狼群體的捕食行為,及狼群內(nèi)部嚴格的支配等級關(guān)系.在使用狩獵算子之前,首先需模擬自然界中狼群的行為組織模式,對頭狼α、β及γ進行更新.在本算法中,該算子的設計目的在于保持種群多樣性、避免早熟的同時,向最佳位置逼近,因此更新頭狼的方式不僅依靠適應度,而是根據(jù)下式計算個體的激勵度urge(Xi),其中Xj∈(α,β,γ):
urge(Xi)=-fitness(Xi)+sim(Xi,Xj)
(5)
(6)
fitness(Xi)表示個體Xi的適應度值,對每個個體Xi,若其適應度優(yōu)于當前的頭狼,則計算激勵度,激勵度高則替換.頭狼更新后,按下式進行狩獵:
A=2ar1-a
(7)
C=2r2
(8)
D=|CXP(t)-X(t)|
(9)
X(t)=XP(t)-AD
(10)
(11)
(12)
X(t+1)=(X1+X2+X3)/3
(13)
引入GWO算法的狩獵算子,可從一定程度上避免SOS本身算法結(jié)構(gòu)導致的種群趨同性,在保持多樣性的同時也保持了一定的搜索精度.
傳統(tǒng)SOS算法的進化過程中,所操作的每一個體都有快速逼近種群最優(yōu)解的趨勢,導致算法雖然有較好的挖掘能力,但探索能力較多,算法對解空間的全局搜索不夠充分是算法陷入局部最優(yōu)、搜索停滯現(xiàn)象的主要原因.因此,為了有效平衡算法的探索能力與挖掘能力,可通過對種群中的個體賦予不同的角色并進行相應的進化操作.
主要做法是根據(jù)個體適應度的高低,賦予探索者與挖掘者的角色,探索者的任務是勘探整個解空間以尋找可能存在最優(yōu)解的區(qū)域,重點強化其與其他非最優(yōu)解個體間的溝通能力;挖掘者的任務是面向當前發(fā)現(xiàn)的較好的區(qū)域,進行局部挖掘,尋找更優(yōu)解,重點強化其與最優(yōu)解的溝通能力.在這個策略下,種群當前最優(yōu)解由挖掘者群體維護并更新,探索者群體負責全局搜索且不會影響最優(yōu)解的精度.在算法的探索能力與挖掘能力間尋找了共存的方式.
(14)
(15)
其中,r是一個0-1之間的隨機數(shù),根據(jù)數(shù)值大小進行不同的進化操作,BF1、BF2是描述每種生物的收益水平的收益因素,通常取1或者2.
挖掘者Xj1主要與最優(yōu)值進行溝通,并圍繞最優(yōu)值附近進行局部搜索:
(16)
探索者主要保持自身慣性,并與Xi進行溝通,從而實現(xiàn)全局搜索:
(17)
(18)
在偏利共生階段,傳統(tǒng)SOS算法的式(4)直接根據(jù)隨機獲取的個體Xj對Xi進行更新,存在兩個缺陷:1)隨機獲取的點Xj在后期往往無法對Xi進行更新,導致搜索停滯;2)該階段的搜索模式與上一階段大體相似,社會部分與種群中其他個體的溝通信息量不足,導致Xbest在其中影響力過大,從而易陷入局部最優(yōu).因此,同樣基于多角色優(yōu)化策略,抽取挖掘者Xj1與探索者Xj2,進行多策略的偏利共生:
(19)
(20)
其中,fitnessave是整個種群適應度的均值,引入kj*表示個體Xj*與種群中心的偏離度,從而提高算法的收斂速度.在這個進化策略中,如果Xj1、Xj2相對較優(yōu),則直接根據(jù)公式更新Xi,但如果在后期面臨搜索停滯或陷入局部最優(yōu)局面時,通過獲取更多的種群社會信息,可在合理的范圍內(nèi)提供擾動機制,從而跳出最優(yōu)并更新個體于一個可能存在最優(yōu)解的區(qū)間,因此可實現(xiàn)自適應不同情形的探索能力與挖掘能力的有效平衡.
在寄生階段,傳統(tǒng)算法的策略是將操作的個體變異后生成寄生體,存在兩個缺陷:1)若個體Xi性能不佳,變異后無法對Xj進行更新,導致無效搜索,從而有可能使算法陷入搜索停滯狀態(tài);2)在這個階段中,有可能對同一個Xj多次進行更新,浪費算力,且不利于保持種群的多樣性.因此,基于多角色優(yōu)化策略進行改進,對于每一個操作的個體Xi,從適應度高于Xi的挖掘者群體中選擇一個Xj,變異后對Xi進行更新,以保證每次更新都可以將挖掘者的歷史經(jīng)驗傳遞給Xi,從而提高收斂速度.
實驗數(shù)據(jù)表明,上述兩個改進顯著提升了SOS算法的收斂速度,通常在200次迭代左右,群體中的幾乎所有個體將集中在某一點周圍,即獲得一個較優(yōu)解(如圖1所示),但精度仍有提高空間,且依然有概率陷入搜索停滯期.因此,針對這種情況,增加陷入搜索停滯后的擾動機制,增強算法的種群多樣性,避免算法發(fā)生早熟收斂現(xiàn)象,提高算法的全局搜索能力與尋優(yōu)能力.
圖1 種群收斂過程示意圖
由于單一策略難以應對復雜多樣的情況,因此采用3種擾動機制形成復合策略,并對種群中的每個個體隨機使用其中一種,從而保證擾動機制在大多數(shù)情況下均是有效的.結(jié)合算法機制與實驗結(jié)果,設置的3種擾動機制分別為復制變異、倒轉(zhuǎn)鏡像、中心刷新.
復制變異是選擇個體Xi中的2個隨機不同的位置,將其中一個的值復制到另一個,生成的兩個變異體與原始個體的適應度進行比較,保留適應度較高的個體,如圖2所示.
圖2 d1號位與d7號位進行復制變異操作
倒轉(zhuǎn)鏡像變異是隨機選擇個體Xi中的一個位置dk與一個隨機長度l,以dk為中心對兩側(cè)l長度內(nèi)的值進行鏡像操作,如圖3所示.
圖3 d3號位為中心,長度為1進行倒轉(zhuǎn)鏡像操作
中心刷新是將選擇個體Xi中每一個位置的值,都刷新為每一個位置值均值附近符合柯西分布的隨機值.從而使個體Xi刷新并在可能產(chǎn)生最優(yōu)解的區(qū)間內(nèi)生成一個新的值.
這3種擾動機制的綜合使用,可使種群在陷入搜索停滯時,產(chǎn)生強有力的變異,從而跳出局部最優(yōu),并恢復搜索能力.且與完全隨機擾動、變異機制相比,這種復合擾動機制可將擾動的范圍收縮在合理的區(qū)間內(nèi),既不會使擾動失效,又不會完全拋棄先前搜索的歷史經(jīng)驗,因此可取得較好的效果.
本研究設計的MRSSOS算法實現(xiàn)具體流程圖如圖4所示.
圖4 MRSSOS算法流程圖
為了充分驗證本研究設計的MRSSOS算法在求解優(yōu)化問題時有效性,本研究進行了一系列實驗,實驗所用的計算機配置如下:CPU:Intel(R)Xeon(R)E5-26900,主頻2.90GHz,內(nèi)存16G.編程語言為Python3.7.0.
為盡可能全面的評價算法的性能,本研究選取了19個國際通用的表準測試函數(shù)進行測試,其中,F(xiàn)1-F10為單峰函數(shù),F(xiàn)11-F19為多峰函數(shù)(如表1所示).其中,單峰函數(shù)主要用來驗證算法的收斂能力與求解精度.多峰函數(shù)具有大量局部最優(yōu)解陷阱,用以評估算法跳出局部最優(yōu)的能力,及全局搜索的能力.
表1 標準測試函數(shù)表
評價指標方面,本研究選用收斂速度、求解精度、穩(wěn)定性3項作為評價指標.其中,收斂速度指迭代序列向最優(yōu)值或較優(yōu)區(qū)間逼近的能力,以相關(guān)算法在搜索過程中的收斂曲線進行評估;求解精度指的是算法結(jié)果的準確度,相關(guān)算法在給定實驗環(huán)境下計算結(jié)果的平均值與函數(shù)理論最優(yōu)值差距越小,精度越高;穩(wěn)定性可反映算法的全局搜索能力與避免陷入局部最優(yōu)的成功率,指算法每次運行得到的計算結(jié)果是否會產(chǎn)生較大波動,相關(guān)算法在給定實驗環(huán)境下計算結(jié)果的標準差越小,穩(wěn)定性越高.
為評估本研究提出的算法改進是否對SOS算法的性能進行有效的提升,首先將MRSSOS與同系列目前較新、改進性能較好的其他算法進行比較.通過查閱文獻,選擇標準SOS以及QOCSOS及SPS-SOS作為對比算法.QOCSOS算法是2019年Khoa H.Truong等提出的將基于擬對位的學習和混沌局部搜索策略與SOS集成在一起的SOS改進算法[23];SPS-SOS由王艷嬌等于2019年提出,采取精英機制并引入拉伸因子和差分擾動向量,并取得了較好的求解精度[18].參數(shù)設置方面,為體現(xiàn)公平性及對比參照性,種群規(guī)模統(tǒng)一設置為30,維度為30,最大迭代次數(shù)1000次,其他參數(shù)均為對比算法原文獻設置值.對每個測試基準函數(shù),各算法獨立運行30次,并求其最終解的平均值與標準差,用以評估算法的求解精度、收斂速度、穩(wěn)定性.具體實驗結(jié)果如表2所示.
表2 同類別算法性能對比測試結(jié)果統(tǒng)計
通過分析實驗結(jié)果,可以看出,對于實驗選擇的F1-F10的單峰函數(shù),MRSSOS基本可以在極少的迭代次數(shù)內(nèi)收斂到最優(yōu),且非常穩(wěn)定.而其他算法中,QOCSOS可將7個基準函數(shù)收斂到最優(yōu),SPS-SOS是6個.因此本研究提出的算法在收斂速度與精度方面具有明顯的優(yōu)勢.
復雜多峰函數(shù)方面,F(xiàn)11-F19的9個基準函數(shù)中,MRSSOS可將5個收斂到理論最優(yōu)值,其他4個中,有2個的計算結(jié)果優(yōu)于對比算法.說明本研究提出的MRSSOS算法的求解精度明顯優(yōu)于其他對比算法,提出的改進方案有效的平衡了算法的探索能力與挖掘能力.同時,表中還可以看出,MRSSOS的標準差均小于其他算法,且算法性能在高維函數(shù)問題中,下降并不明顯,表示該算法更為穩(wěn)定與通用,體現(xiàn)了多角色優(yōu)化策略在處理各類情況時的全面性.
綜上所述,與SOS、QOCSOS、SPS-SOS等同系列算法相比,本研究提出的MRSSOS算法具備更好的求解精度以及穩(wěn)定性.
為了充分驗證MRSSOS算法的性能優(yōu)越性,通過查閱資料,考慮到MRSSOS“分角色”的概念特征以及對灰狼算法狩獵算子的集成,選擇了3種目前優(yōu)化效果較好且與MRSSOS算法有一定相關(guān)性的3種算法進行對比實驗,包括一種帶變異算子的自適應慣性權(quán)重二進制粒子群優(yōu)化算法(MABPSO)[24]、一種基于自適應隨機優(yōu)化策略的人工蜂群改進算法(SRABC)[25],以及通過對種群初始化進行策略設置以提高種群多樣性,并以非線性調(diào)整策略來增強算法的搜索能力的SFL-GWO算法[26]作為對比目標,從求解精度及穩(wěn)定性方面進行綜合比較.
出于公平性考慮,各算法的種群規(guī)模都為30,維度為30,最大迭代次數(shù)為1000,參數(shù)按原作者期刊中的描述進行設置.基準函數(shù)選擇了3個典型的單峰函數(shù)F1、F8、F10以及兩個多峰函數(shù)F11、F12.具體實驗結(jié)果如表3所示.結(jié)果表明,與MABPSO、SRABC、SFL-GWO等目前優(yōu)化效果較好的仿生優(yōu)化算法比較,本研究提出的MRSSOS算法具備更好的求解精度以及穩(wěn)定性.
表3 不同類別算法性能對比測試結(jié)果統(tǒng)計
為考察本研究提出的MRSSOS算法的收斂速度,針對SOS、SPS-SOS及MRSSOS均獲得較高求解精度的單峰函數(shù)F2、F5、F6以及多峰函數(shù)F14,繪制3種算法的收斂曲線,參數(shù)設置與上文保持一致.結(jié)果如圖5-圖8所示,為更直觀顯示3種算法的收斂速度,x軸表示迭代次數(shù),y軸對算法的最優(yōu)值取對數(shù),以顯示最優(yōu)值精度,且僅顯示前150次迭代的結(jié)果.
從收斂曲線可以直觀看出,本研究提出的MRSSOS在初始階段更重視全局搜索能力,從而在后續(xù)迭代過程中獲得更強大的收斂能力,即在全局探索和局部挖掘能力之間取得了一個較好的平衡,且收斂速度及精度明顯優(yōu)于其他兩種算法.此外,圖中也可以看出,由于復合擾動機制的存在,MRSSOS算法在陷入局部最優(yōu)解時,可以更容易的恢復收斂能力.總體而言,MRSSOS在收斂速度方面有較大的優(yōu)勢.
本研究針對標準SOS算法中存在的易陷入局部最優(yōu)及搜索停滯等缺陷,基于多角色復合策略進行了一系列改進,并在原先迭代過程中集成灰狼優(yōu)化算法的狩獵算子,提出了一種基于多角色優(yōu)化策略的灰狼-共生生物搜索算法(MRSSOS).首先,在每輪迭代的開始引入改進后的灰狼優(yōu)化算法狩獵算子,既使種群向最優(yōu)解方向靠攏,又保持一定的多樣性;其次,在共生搜索時,同時抽取探索者與開發(fā)者角色進行協(xié)作,在種群探索能力與挖掘能力中尋找了最佳平衡.最后,在種群搜索陷入停滯時,設計了種群刷新機制,將種群隨機分為3段,分別進行復制變異、倒轉(zhuǎn)鏡像、中心刷新等操作,從而使種群恢復搜索能力.結(jié)果表明,改進后的MRSSOS算法性能明顯更好,在大部分優(yōu)化問題中,均可在極少的迭代次數(shù)中獲得較高的搜索精度,尤其在多峰問題的處理方面優(yōu)化明顯,表明MRSSOS在全局搜索能力、收斂速度、求解精度、穩(wěn)定性方面性能都具有一定優(yōu)勢.下一步的研究重點一方面是將本研究算法應用于任務調(diào)度、結(jié)構(gòu)設計等實際應用中;另一方面是繼續(xù)優(yōu)化算法結(jié)構(gòu),降低算法復雜度,從而使算法在高維問題中具備更高的通用性.