郭雨鑫,劉 升,高文欣,張 磊
上海工程技術大學 管理學院,上海 201620
群智能優化算法(intelligence optimization algorithm,IOA)是受自然界中生物行為與物理現象啟發而設計的優化方法,其可以高效處理問題,一直受到廣泛關注。Heidari等人[1]在2019年提出了一種新穎的群智能算法——哈里斯鷹優化算法(Harris hawks optimization,HHO),源于觀察哈里斯鷹和它們的獵物(兔子)之間的圍捕逃跑行為。該算法尋優性能較好,已成功應用于光伏電池和模塊的參數識別[2]、圖像分割[3]以及PM2.5、PM10的預測等領域[4]。
然而,與其他群智能算法相似,基本的哈里斯鷹算法結構本身存在容易陷入局部最優、收斂精度低和收斂速度慢的缺陷。為了克服哈里斯鷹算法的不足,趙世杰等[5]提出能量周期性遞減和牛頓局部增強的方法改進HHO算法,增強了算法的開采能力;Kamboj等[6]提出了混合哈里斯鷹-正弦余弦算法,優化算法的全局探索階段;Mohammed等[7]融合生存進化算法提出三種策略改進HHO算法,其中錦標賽改進策略效果最佳。
雖然現存的HHO改進策略在一定程度上改進了算法的探索尋優性能,但是解決算法收斂速度慢、容易陷入局部最優值等問題仍需要深入研究。針對此問題,論文提出了融合精英反向學習與黃金正弦算法的哈里斯鷹優化算法(elite opposition-based learning golden-sine Harris hawks optimization,EGHHO)。
哈里斯鷹優化算法模仿哈里斯鷹捕食獵物的真實情況,用數學公式來模擬哈里斯鷹在不同機制下捕捉獵物的策略。在HHO算法中,哈里斯鷹是候選解,獵物(兔子)隨迭代逼近最優解。HHO算法包括兩個階段,分別為全局探索階段和局部開采階段。
在全局探索階段中,哈里斯鷹檢查和監控搜索空間[lb,ub],并且根據兩種策略在隨機的地方尋找獵物,迭代時以概率q進行位置更新,公式如下:

其中,Xt+1和Xt分別為第t+1次和第t次迭代時哈里斯鷹的位置,X rabbit,t表示第t次迭代時獵物的位置,r1、r2、r3、r4和q是介于0和1之間的隨機數字,lb和ub是搜索空間的下界和上界,X rand,t表示哈里斯鷹第t次迭代時的隨機位置,X m,t表示哈里斯鷹第t次迭代時的平均位置,公式如下:

保持探索和開采之間適當的平衡是群智能算法精確運行的必要條件。HHO通過獵物(兔子)的能量方程實現從全局探索到局部開采的過渡,數學表達式如下:

其中,E代表獵物逃跑的能量,E0代表獵物能量的初始狀態,公式為E0=2rand-1,rand是區間(0,1)上的隨機數字,T為最大迭代次數。當 ||E≥1時,HHO算法將執行全局探索;當 ||E<1時,HHO算法進行局部開采。
在局部開采階段,哈里斯鷹根據全局探索階段的觀察逮捕預期獵物,獵物則試圖逃離危險。根據哈里斯鷹的追逐策略和獵物的逃跑行為,哈里斯鷹算法提出了四種可能的策略來模擬追逐攻擊行為。用u表示獵物成功逃跑的概率,當u<0.5時,獵物逃跑成功;當u≥0.5時,獵物逃跑失敗。用參數E模擬哈里斯鷹的圍攻策略。當|E|≥0.5時,執行軟圍攻;否則,執行硬圍攻。
Case1軟圍攻。當|E|≥0.5,u≥0.5時,獵物有足夠的能量E且以跳躍的方式逃跑,而哈里斯鷹選擇逐漸消耗獵物的能量,然后在最佳的位置突襲俯沖以逮捕獵物,位置更新策略如下:

其中,ΔX t是迭代時哈里斯鷹與獵物的位置之差,J=2(1-r5)表示獵物逃脫圍捕過程中的隨機跳躍,r5是區間(0,1)上的隨機數字。
Case2硬圍攻。當 |E|<0.5,u≥0.5時,獵物筋疲力盡,逃避能量E很低,哈里斯鷹會迅速突襲獵物,位置更新的策略如下:

Case3累速俯沖式軟圍攻。當 |E|≥0.5,u<0.5時,獵物有足夠的能量E逃跑,哈里斯鷹在突襲之前會建立一個軟圍攻。為了模擬獵物的跳躍動作和逃跑模式,將Levy函數[8]LF集成在HHO算法中,更新位置的方程為:

其中,D為問題維度,S為D維隨機行向量。
Case4累速俯沖式硬圍攻。當 ||E<0.5,u<0.5時,獵物沒有足夠的能量E逃跑,哈里斯鷹通過在突襲前構建硬圍攻以捕捉獵物,試圖減小與逃跑獵物之間的平均位置距離,位置更新如下:

HHO算法利用獵物能量E與因子u調節哈里斯鷹和獵物(兔子)之間的四種圍捕機制,從而實現優化求解問題。
2015年,Tizhoosh[9]提出了反向學習機制(oppositionbased learning,OBL),其研究發現反向解比當前解接近最優解的概率高出50%,該機制可以有效增加種群的多樣性和質量。目前反向學習機制已被較好地應用于多種算法的改進,Saunhita等[10]利用對立學習優化蛾焰算法,改善了蛾焰算法的趨同性;Tubishat等[11]提出基于對立學習的樽海鞘群算法,提高了種群在搜索空間中的多樣性。反向學習機制首先計算當前解的反向解,然后從當前解和其反向解的種群中選取最優解并更新個體。

針對反向學習存在其生成的反向解可能比當前搜索空間更難搜索到最優值的問題,精英反向學習(elite opposition-based learning,EOBL)被提出,這一機制同樣已經成功應用于多種算法的改進。肖子雅等[13]利用EBOL提高鯨魚算法的種群多樣性和收斂精度;方旭陽等[14]引入EBOL優化正余弦算法,防止個體盲目地向當前學習。EBOL機制利用精英個體比普通個體攜帶更多有效信息的優勢,先通過種群中精英個體形成反向種群,然后從反向種群和當前種群中選取優秀個體構成新的種群,增加了種群多樣性,提高了種群質量,有效地避免算法“早熟”。

2017年,Tanyildizi等[15]提出了黃金正弦算法(golden sine algorithm,Golden-SA),該算法魯棒性好且收斂速度較快,其通過構造正弦函數模型以求解優化問題。根據單位圓與正弦函數的關系,Golden-SA算法遍歷單位圓上的所有點即正弦函數上的所有點,使算法的尋優區域更加全面。另外,Golden-SA在位置更新的過程中融入黃金分割數系數,在每次迭代過程中都充分搜索能產生優質解的區域,加快了算法的收斂速度,增強了算法的局部開發能力。

其中,R1是區間[0,2π]內的隨機數字,R2是區間[0,π]內的隨機數字,R1決定個體i的移動距離,R2決定個體i的移動方向;融入黃金分割數得到系數x1和x2,x1=-π+(1-τ)×2π,x2=-π+τ×2π,黃金分割數τ=這些系數有效縮小了搜索區域,引導個體趨向最優值。
針對基本哈里斯鷹優化算法存在的不足,論文提出了精英反向學習機制與黃金正弦的哈里斯鷹優化算法(EGHHO)。基本HHO算法采用隨機初始化的方法初始化種群,沒有先驗知識,易導致鷹群多樣性差的問題。初始種群的質量對算法的尋優性能有較大影響,優良的初始種群有利于全局尋優。因此,論文引入精英反向學習機制改進哈里斯鷹算法,采用群體選擇的方法,將當前哈里斯鷹群體與其反向群體按適應值排序,選擇出最優的哈里斯鷹個體作為新一代個體,以此提高HHO算法的種群質量。首先,融入EBOL策略的HHO算法提高了初始化種群的多樣性,增加了搜索空間,奠定了全局優化的基礎;其次,在每次迭代時,EBOL策略可以產生遠離局部極值點的反向解,指引HHO算法跳出局部極值,增強算法全局搜索的能力。另外,EBOL策略采用動態邊界的跟蹤搜索模式將個體定位在逐步縮小的搜索區域中,提高HHO算法的收斂精度和速度。
另外,在保留傳統HHO算法Case3和Case4的基礎上,利用黃金正弦算法改進Case1和Case2。無論是Case1軟圍攻還是Case2硬圍攻,哈里斯鷹都成功圍捕獵物。獵物的位置X rabbit,t是哈里斯鷹個體運動的導向標,在融入黃金正弦算法的哈里斯鷹算法中,哈里斯鷹以黃金正弦方式移動逮捕獵物,在每一次迭代的過程中,普通個體會與最佳個體交流信息,充分吸收與最佳個體位置差距的信息,提升算法尋優性能和尋優精度。另外,根據黃金分割系數逐步減小搜索區域,根據R1、R2調節哈里斯鷹個體的更新距離和方向,引導個體在優質解區域內快速接近最優值,優化了傳統HHO算法的尋優方式,提高了算法的尋優速度和開發能力。融合黃金正弦策略按如下公式更新位置:

綜上所述,融合精英反向學習與黃金正弦算法的哈里斯鷹優化算法(EGHHO)具體執行步驟如下:
步驟1初始化種群,主要包括初始化種群個體數N、問題維度D、最大迭代次數T;
步驟2根據目標函數計算哈里斯鷹個體的適應度值;
步驟3生成反向種群OP={};
步驟4根據lb j=min(Xi,j),ub j=max(X i,j)計算個體的搜索邊界;
步驟5對種群個體根據式(9)生成并添加到OP種群中;
步驟6從當前種群和OP種群中選取適應度值優良的個體作為新一代種群,并將最優個體位置設為獵物位置;
步驟7計算獵物能量E;
步驟8若 |E|≥1,則根據式(1)執行全局探索的位置更新;
步驟9若 |E|<1,u<0.5,則根據式(7)和(8)進行局部開采的位置更新;
步驟10若 |E|<1,u≥0.5,則根據融合黃金正弦的式(12)進行局部開采的位置更新;
步驟11計算步驟8、步驟9和步驟10的函數適應度值,若得到更優的適應度值,則更新全局最優解和全局最優適應度值;
步驟12判斷結束條件,如果滿足,則結束程序,輸出最優值及最優解,否則轉至步驟2。
融合精英反向學習與黃金正弦算法的EGHHO算法的流程圖如圖1所示。

圖1 EGHHO算法的流程圖Fig.1 Flow chart of EGHHO algorithm
算法計算時間復雜度主要取決于三個過程,即種群初始化、適應度評估和哈里斯鷹的位置更新。哈里斯鷹群體規模為N,問題維度為D,最大迭代次數為T,根據HHO算法描述和時間復雜度的運算規則,基本哈里斯鷹算法時間復雜度為O(N×D×T)。對于改進的EGHHO算法,精英反向學習初始化種群的時間復雜度為O(N×D),適應度評估的時間復雜度為O(N×D),融合黃金正弦算法位置更新的時間復雜度為O(N×D×T),因此EGHHO的時間復雜度為O(N×D×T)。文獻[6]混合哈里斯鷹-正弦余弦算法的時間復雜度為O(N×(T+D×T+1))比本文的時間復雜度高O(N×(T+1)),文獻[7]中最優錦標賽改進HHO策略的時間復雜度為O(N×D×T×L),其中L為錦標賽規模,該改進策略亦比本文的時間復雜度高。綜上,EGHHO算法的時間復雜度低于上述兩種策略的改進算法,與標準HHO算法相同,說明改進的算法沒有增加計算負擔。
本次仿真測試環境為:操作系統Win7、64位,CPU為AMD A8-7410 APU with AMD Radeon R5 Graphics,內存4 GB,主頻2.2 GHz,仿真軟件為Matlab2018b。
論文選取了新穎的群智能算法——蝴蝶優化算法(butterfly optimization algorithm,BOA)[16]和黑猩猩優化算法(chimp optimization algorithm,Chimp OA)[17]以及基本哈里斯鷹優化算法(HHO),和融合精英反向學習與黃金正弦的哈里斯鷹優化算法(EGHHO)進行對比。所有算法種群規模N設為30,問題維度D設為30,最大迭代次數T設為500,四種算法共有參數保持一致。
為了驗證EGHHO算法的優化效果,論文選取10個不同特點的測試函數進行函數優化的對比測試,包括5個單模態函數(f1~f5)、5個多模態函數(f6~f10),具體信息如表1所示。

表1 測試函數Table 1 Test functions
為了驗證EGHHO算法改進策略的有效性,論文對BOA[16]、Chimp OA[17]、HHO與EGHHO算法在10個測試函數上進行了對比實驗。四種算法在各個測試函數上獨立運行30次的結果見表2。
表2的測試結果顯示:對于所選測試函數,無論是單模態還是多模態函數,EGHHO算法的尋優性能最強,明顯優于BOA[16]、Chimp OA[17]和HHO算法。函數f1、f3、f6、f8尋優效果達到100%,可以直接搜索到最優值0;除了函數f5、f9、f10,改進算法的標準差均為0,說明EGHHO算法具有較強穩定性;對于函數f2、f7,改進后的EGHHO算法尋優效果明顯高于其他新穎算法,其最優值均超過270個數量級,比基礎的HHO算法的尋優精度提高了上百個數量級;對于函數f4,改進算法的最優值達到1.68E-287的水平,比HHO算法同樣提高了超過200個數量級;對于函數f5、f9、f10,在BOA和Chimp OA的尋優效果普遍較差的情況下,改進的算法仍可提高基本算法的尋優精度,說明改進的EGHHO算法克服了基本HHO算法尋優精度不高的問題,極大地提高了基本算法的尋優能力,與其他三種算法對比具有明顯的競爭優勢。

表2 測試函數實驗結果Table 2 Experimental results of test functions
為了直觀展示EGHHO算法的尋優速度和性能,論文給出部分基準測試函數的收斂曲線圖,如圖2所示。
由圖2的收斂曲線可以直觀看出,改進EGHHO算法的收斂精度遠遠高于BOA[16]、Chimp OA[17]和HHO算法,并且其收斂速度也相對快于其他三種算法。函數f1~f5屬于單模態函數,常常用來測試算法的開發能力,由函數f2和f4收斂曲線圖知,改進后EGHHO算法的收斂精度大幅提高;f6~f10屬于多模態函數,對于函數f6,HHO和EGHHO算法的最優值均為0,但由收斂曲線圖可以直觀地看出EGHHO在150代左右達到最優值,比基本算法的收斂速度快。另外,雖然根據表2測試結果,函數f5、f9、f10的尋優精度提高相對較小,但根據收斂曲線圖可知,改進后的EGHHO算法在這三個測試函數上具有更快的收斂速度,說明改進的算法不僅有利于提高基本算法的尋優精度,而且有利于提高其收斂速度;函數f5、f6、f9、f10的收斂曲線圖在迭代過程中出現了多個拐點,證明改進后的EGHHO算法容易跳出局部極值,能夠更好地進行全局尋優。
為了進一步驗證本文改進策略的優化效果,論文選取文獻[5]修正能量遞減與牛頓增強機制的哈里斯鷹算法(improved Harris hawks optimization,IHHO)、文獻[6]混合哈里斯鷹-正弦余弦算法(hybrid Harris hawks-sine cosine algorithm,hHHO-SCA)和文獻[7]中效果最優的策略——錦標賽改進HHO算法(tournament HHO,THHO)的實驗結果,與本文融合精英反向學習與黃金正弦的哈里斯鷹算法(EGHHO)進行對比,所有算法共有參數設置同3.2節,對比結果見表3。
表3中的“—”表示原文獻中沒有出現的測試函數數據。對于函數f6,所有改進策略均達到最優值0,對于其他函數,EGHHO算法的尋優精度在各項指標上均優于hHHO-SCA算法[6]和THHO算法[7];對于函數f2和f4,EGHHO的尋優精度高于hHHO-SCA算法和THHO算法上百個數量級;對于論文與文獻[5]中IHHO共同使用的函數f2、f7、f8,雖然IHHO在最優值上均為0,但是EGHHO算法的其他3個指標均優于IHHO,EGHHO算法在這3個測試函數上標準差均為0;對于函數f8,各個指標均為最優值0,說明融合精英反向學習與黃金正弦的EGHHO算法具有更強的穩定性。

表3 改進算法實驗結果對比Table 3 Comparison of experimental results of improved algorithms
本文融合了兩種策略改進基本HHO算法,即采用精英反向學習機制和黃金正弦算法。為了分析這兩種改進策略的有效性,論文選取僅采用精英反向學習機制改進的哈里斯鷹算法(elite opposition-based learning Harris hawks optimization,EHHO)、僅引入黃金正弦算法的哈里斯鷹算法(golden-sine Harris hawks optimization,GHHO)和融合精英反向學習與黃金正弦的改進EGHHO算法進行比較。參數設置與3.2節相同,三種算法在各測試函數上獨立運行30次,實驗結果見表4。
由表4不同策略改進HHO算法的測試結果可知,采用兩種改進策略的EGHHO算法的平均尋優精度(平均值)和尋優穩定性(標準差)要優于采用單一改進方法的EHHO和GHHO。對于函數f2、f4、f5、f7、f9、f10,EGHHO算法的尋優精度均優于兩種單一策略;對于函數f6,融合兩種策略和單一策略的尋優效果均達到100%;對于函數f1、f3、f8,EGHHO算法的尋優精度高于EHHO算法,與GHHO算法均達到最優值0。為了直觀地顯示融合兩種策略的優勢,論文給出函數f1、f3、f6、f8的收斂曲線圖,見圖3。

表4 不同策略改進HHO算法的測試結果Table 4 Test results of improved HHO with different strategies
融合兩種策略和單一策略的改進算法雖然對于部分函數均可達到最優值0,但是從圖3收斂曲線圖可以看出,融合兩種策略的EGHHO算法比單一改進策略優先達到最優值,說明融合兩種策略可以進一步提高算法的尋優速度。綜上所述,單一的精英反向學習機制或黃金正弦算法可以提高算法的尋優性能,但效果相對較小,融合兩種策略的改進算法更有效地提高了HHO算法的尋優精度和尋優速度。

圖3 有效性分析收斂曲線圖Fig.3 Convergence curve of effectiveness analysis
根據上述實驗結果可知,論文改進的EGHHO算法對于低維測試函數取得了較高的收斂精度和較好的收斂效果,但是一般的改進策略在較為復雜的現實問題上容易陷入“維數災難”。為了更好地測試EGHHO算法的高維適應性,論文進行了EGHHO的高維函數測試實驗,HHO算法與EGHHO算法在100維、500維、1 000維和10 000維的測試函數上分別獨立運行30次,其他參數設置同3.2節。因為函數f3耗時過長,兩種算法對于函數f6在各個維度上的尋優結果均為0,沒有對比性,所以選取其他8個函數作為高維測試函數,并與文獻[18]中求解大規模問題的改進鯨魚優化算法(improved whale optimization algorithm,IWOA)的高維實驗結果進行對比,所得實驗結果見表5。

表5 高維函數求解結果Table 5 Results of solving high dimensional functions
表5中的“—”表示原文獻中沒有進行測試的函數和維度。由表5結果可知,改進的EGHHO算法在各個維度上4項指標值均優于基本HHO算法。對于函數f2、f4、f7,改進算法在高維實驗里仍然比基本的HHO算法的尋優精度提升上百個數量級;對于函數f1、f8,改進算法在各個維度上都能夠收斂到最優值0,說明改進算法處理高維問題的尋優性能較好,尋優成功率可以達到100%;對于函數f1、f2、f4、f7、f8,改進算法的標準差均為0,說明改進策略具有較強的魯棒性;對比與文獻[18]在相同維度下共同使用的函數f1、f2、f5、f7、f9,EGHHO算法的高維平均尋優精度和標準差均優于IWOA[18],說明本文改進策略的高維尋優性能相對更好。綜上,EGHHO算法對高維問題仍保持較好適用性和尋優性能,可以有效處理現實生活中復雜的高維問題。
哈里斯鷹優化算法是近年來提出的一種尋優性能較好的新穎群智能算法,為了使算法性能進一步提高,論文提出融合精英反向學習與黃金正弦算法的EGHHO算法。在初始化種群階段,融入精英反向學習機制,提高種群多樣性和種群質量,為全局尋優奠定基礎,有利于算法跳出局部最優值和提高尋優精度;另外,哈里斯鷹以黃金正弦的方式移動逮捕獵物,通過黃金分割系數減小搜索空間,有效增強算法局部開發能力。通過單模態、多模態多個測試函數進行驗證,研究結果表明融合兩種改進策略較好地提升了算法的全局尋優性能、尋優精度、尋優速度和魯棒性。今后研究方向主要是拓展EGHHO算法的實際應用領域。