?

融入動態學習與高斯變異的自適應禿鷹搜索算法

2024-03-05 08:21夏煌智陳麗敏毛雪迪
計算機與現代化 2024年1期
關鍵詞:禿鷹測試函數獵物

夏煌智,陳麗敏,毛雪迪

(1.牡丹江師范學院數學科學學院,黑龍江 牡丹江 157009;2.牡丹江師范學院應用數學研究所,黑龍江 牡丹江 157009;3.牡丹江師范學院計算機與信息技術學院,黑龍江 牡丹江 157009)

0 引 言

近年來,以群體智能為基礎的大規模優化任務在機器學習領域取得突破,群體智能優化算法能夠通過模擬自然界中生物群體的行為實現對復雜問題的求解,在對實際問題的考慮方面從不缺乏多元性[1-3]。在目前,具有代表性的群體智能優化算法包括烏燕鷗優 化 算 法(Sooty Tern Optimization Algorithm,STOA)[4]、粒子群優化算法(Particle Swarm Optimization,PSO)[5]、蝴蝶優化算法(Butterfly Optimization Algorithm,BOA)[6]、灰狼優化算法(Grey Wolf Optimization,GWO)[7]、人 工 蜂 群 算 法(Artificial Bee Colony,ABC)[8]、正弦余弦算法(Sine Cosine Algorithm,SCA)[9]與差分進化算法(Differential Evolution,DE)[10]等。

禿鷹搜索算法(Bald Eagle Search,BES)是Alsattar 等[11]在2020 年模仿禿鷹的狩獵行為而提出的一種群體智能優化算法,具有尋優精度高、收斂速度快以及執行效率高等特點,在曲線逼近[12]、非線性方程組求解[13]和機器學習[14-15]等實際工程領域問題中具備長遠的發展潛力。但在求解函數優化問題時,標準的禿鷹搜索算法存在著依賴種群、全局搜索與局部開發能力不協調、算法穩定性較差以及容易陷入局部最優等問題。郭云川等[16]通過引入折射反向學習機制,來搜尋與當前禿鷹個體位置所對應的折射反向解,增加禿鷹種群的多樣性,通過定向重組與誘導突變策略將禿鷹個體存在于不同維度的優良信息集合至同一個體上來保留優良基因,但依舊沒有使得禿鷹個體的局部最優規避性得以增強;Liu 等[13]通過正弦余弦算法更新搜索空間獵物階段禿鷹領導者個體位置,從而提升了算法尋優能力,但卻忽略了算法穩定性較差的問題;領導者個體在種群中起著領導性的關鍵性作用,Yan等[15]在BES的選擇搜索空間階段與俯沖捕獲獵物階段中引入了均勻分布隨機數,對禿鷹領導者個體位置進行擾動優化,減少了參數對BES自身的影響,卻并沒有對算法的全局搜索與局部開發能力進行協調,且對禿鷹領導者個體的優化過于簡單;Sharma 等[17]將線性因子和非線性因子分別嵌入BES的3 個階段中,使BES 的空間搜索能力與利用能力得以增強,如此改進雖平衡了算法的全局搜索與局部開發能力,但得到的改進算法仍不具備較強的跳出局部最優的能力;丁容等[18]利用柯西變異算子對禿鷹最佳搜索位置個體進行變異更新,以此增強BES跳出局部最優的能力,但對最佳搜索位置個體進行柯西變異的策略略顯單一,更加側重于達到豐富禿鷹種群多樣性的效果,并未細致對比變異前后的個體的適應性能力,導致算法在求解函數優化問題上的表現依舊欠佳。

針對BES的不足,本文提出一種融入動態學習與高斯變異的自適應禿鷹搜索算法(Adaptive Bald Eagle Search Algorithm with Dynamic Learning and Gaussian Mutation,DGABES)。主要工作為:1)利用混沌映射初始化種群,擴大初始禿鷹個體的搜索范圍;2)引入自適應權重來平衡算法的全局搜索與局部開發能力;3)設計一種動態學習禿鷹領導者個體位置更新方式,增加算法尋優時找到最優解的概率;4)提出基于禿鷹最佳搜索位置的高斯變異策略,增強算法跳出局部最優的能力。

1 標準禿鷹搜索算法

禿鷹搜索算法可劃分為3 個階段,分別為選擇搜索空間、搜索空間獵物和俯沖捕獲獵物。

1.1 選擇搜索空間

在BES 中,每個禿鷹個體在飛行中的位置代表1個可行解,在選擇搜索空間階段,禿鷹會挑選獵物聚集數量最多的區域當做搜索空間,該階段的禿鷹行為由如下方程描述:

表1 基準測試函數

其中,Pi,new(t)表示第i只禿鷹的更新位置;Pbest(t)表示禿鷹最佳搜索位置;Pmean(t)表示禿鷹之前搜索結束后所有禿鷹個體的平均分布位置,Pi(t)表示第i只禿鷹的搜索位置,稱作領導者;t是當前迭代次數,參數α∈[1.5,2]是控制禿鷹搜索位置的參數,參數α參考文獻[11]進行選取,設置α=2;r是取值范圍在0~1之間的隨機數。

1.2 搜索空間獵物

禿鷹個體在完成選擇目標搜索空間后,會在該搜索空間中對獵物進行“螺旋式”搜索,并向不同的方向飛行移動以加速搜索進程。該階段的禿鷹行為如下方程描述:

其中,x(i)與y(i)表示極坐標中禿鷹的位置,取值范圍均為(-1,1);θ(i)與r(i)分別表示螺旋方程的極角與極徑;a∈[5,10]與R∈(0.5,2)表示控制禿鷹螺旋飛行軌跡的參數,a與R均參考文獻[11]進行選取,設置a=10,R=1.5;rand取值范圍在0~1之間的隨機數。

1.3 俯沖捕獲獵物

禿鷹在搜索空間鎖定目標獵物后,從最佳位置快速飛行至目標獵物位置,與此同時所有的禿鷹個體也會朝著最佳位置飛行移動。該階段的禿鷹行為由如下方程描述:

其中,x1(i)與y1(i)是極坐標中禿鷹的位置,取值范圍為(-1,1);c1∈(1,2)表示禿鷹向最佳位置飛行移動的速度,c2∈(1,2)表示禿鷹向中心位置飛行移動的速度,參數c1與c2的取值將在實驗部分進行討論;rand是取值范圍在0~1之間的隨機數。

2 改進禿鷹搜索算法

2.1 Circle混沌初始化種群

初始種群的分布狀態對群智能算法的收斂速度與尋優精度起著重要作用,在解決未知分布問題時,初始種群應盡可能均勻分布于搜索空間中,以維持種群的多樣性[19-21]。本文采用Circle 映射優化初始禿鷹個體位置,其定義如下:

其中,n表示解的維度。采用Circle 映射初始化種群,均勻分布的禿鷹群體能夠在飛行時更大范圍地搜索獵物,降低了初始種群位置的重疊率,一定程度上改善了BES容易陷入局部最優的缺陷。

2.2 自適應權重

在群智能優化算法中引入自適應權重,能夠為算法的全局搜索與局部開發能力提供有利前提,最終起到良好的函數優化效果[16,19,22-23]。本文在BES 中引入一種自適應權重w,對選擇搜索空間階段中禿鷹個體的更新位置進行自適應調整,自適應權重的表達式如式(11)所示:

從式(11)可以看出,自適應權重w是根據當前迭代次數t變化而發生快速減小的非線性遞減函數,在迭代初期,搜索范圍不受限制,禿鷹個體能夠充分地在全局進行移動;在迭代中后期,全局的禿鷹個體越來越靠近獵物位置,搜索范圍逐漸較小,禿鷹個體將會被限制在一定范圍內進行精確搜索,以此增強禿鷹個體的局部搜索能力。

將式(11)引入選擇搜索空間階段禿鷹個體的位置更新式(1)中,只以一半的概率發生,同時保留了標準BES 的尋優特點。該階段禿鷹個體的位置更新規則如式(12)所示:

2.3 動態學習禿鷹個體位置更新方式

動態學習是一種具有動態結構的學習方式,能夠加強種群個體間的相互交流[17,24-27]。本文考慮多個位置禿鷹個體的適應性能力,提出一種動態學習策略來提高BES尋優效率。

由式(2)知,在搜索空間獵物階段,新一代禿鷹個體的位置由第i、i+1個禿鷹個體的位置以及禿鷹平均分布位置共同決定,缺乏對禿鷹個體之間優良性的考慮,一些精英禿鷹個體對群體影響性不大,使得新一代個體對領導者的協助作用也變得越來越弱。為增強精英個體的影響性,得到搜索能力更強的禿鷹個體,本文提出動態學習禿鷹領導者個體位置更新方式:

其中,DPi,new(t)表示由動態學習策略更新的禿鷹領導者個體位置,fi-1(t)、fi(t)、fi+1(t)與fmean(t)分別表示第i-1、i、i+1 個與平均分布位置的禿鷹個體的適應度值,fm(t)表示4個適應度值中的最大者;d表示削弱因子,是服從參數為0.5的指數分布隨機數;p2表示更新概率。

現將該階段各禿鷹個體位置分布如圖1(a)中直觀展示,由式(13)表明,動態學習策略更新的禿鷹領導者個體繼承于第i個禿鷹個體,會以1/3 的概率同時受到第i-1、i、i+1 個禿鷹個體與平均分布位置的禿鷹個體的影響而產生,即在這4 個禿鷹個體位置當中,有1/3 的概率對最大適應度值的個體位置以d為量級進行削弱,從而達到向其他位置學習的目的,如圖1(b)中所示,此時第i+1 個禿鷹個體位置的適應度值最大,該位置將成為動態學習削弱個體位置。圖1(c)、圖1(d)與圖1(e)則分別表示第i、i+1個與平均分布位置的禿鷹個體的適應度值最大的情況。另外,有1/3的概率向當前禿鷹個體的最佳搜索位置Pbest(t)進行學習,并以較大的d2量級對當前禿鷹領導者個體位置進行削弱,如圖1(f)中所示;并有1/3的概率保持當前禿鷹領導者個體位置不發生改變,這種方式能使得禿鷹個體在向優秀禿鷹個體學習的同時,以一定概率保存標準BES的更新特點,增加禿鷹個體搜索到優質解的可能性。

圖1 動態學習禿鷹領導者個體位置更新方式

因此,將搜索空間獵物階段禿鷹位置更新式(2)改進如式(14)所示:

其中,DPi,new(t)是由式(13)更新得到的禿鷹領導者個體位置。

2.4 基于禿鷹最佳搜索位置的高斯變異策略

為盡可能地避免算法出現早熟或是陷入局部最優的情況,考慮在算法實現過程中引入高斯變異算子[28-31]對個體位置進行變異,高斯變異規則如式(15)所示:

其中,Pi(t)表示當前個體位置;GPi(t)表示經過高斯變異后的個體位置;Gaussion(σ)是滿足均值為1且標準差為2的高斯分布的隨機變量。

在俯沖捕獲獵物階段,本文提出一種基于禿鷹最佳搜索位置的高斯變異策略。該策略基于一種“貪婪”思想,對比了變異前后禿鷹個體的適應度值大小,并以平均分布位置的禿鷹個體為參考,將適應度值大于平均分布位置的禿鷹個體過濾,選取適應度值較小的禿鷹個體位置作為新的禿鷹領導者個體位置,該策略變異規則如式(16)所示:

其中,GPi,new(t)表示變異后禿鷹領導者個體位置;GPbest(t)表示經高斯變異得到的禿鷹最佳搜索位置;fbest(t)、fGbest(t)與fmean(t)分別表示禿鷹最佳搜索位置、經高斯變異得到的最佳搜索位置與平均分布位置的禿鷹個體適應度值。因此,將俯沖捕獲獵物階段禿鷹個體位置更新式(6)改進如式(17)所示:

其中,GPi,new(t)是由式(16)變異得到的禿鷹領導者個體位置。GPi,new(t)繼承了最佳搜索位置禿鷹的個體優勢,不斷地將禿鷹群體位置引向目標獵物位置,從而增強算法跳出局部最優的能力。

2.5 完整DGABES算法流程

綜上對標準BES的改進,算法DGABES具體步驟如下所示:

Step1初始化算法參數,包含種群規模N,解的維度n,最大迭代次數Tmax以及初始值的邊界條件等。

Step2使用Circle映射式(10)對種群進行初始化。

Step3根據適應度函數計算每個禿鷹個體的適應度值,按大小進行排序,并記錄當前禿鷹最佳搜索位置Pbest(t)與平均分布位置Pmean(t)。

Step4禿鷹選擇搜索空間階段,根據式(11)計算當代自適應權重w,根據式(12)更新禿鷹個體位置。

Step5禿鷹搜索空間獵物階段,根據式(13)更新禿鷹領導者個體位置,根據式(14)更新禿鷹個體位置。

Step6禿鷹俯沖捕獲獵物階段,根據式(15)變異禿鷹最佳搜索位置,根據式(16)變異禿鷹領導者個體位置,根據式(17)更新禿鷹個體位置。

Step7更新個體種群中的禿鷹最佳搜索位置Pbest(t)與最低適應度值fbest(t),更新算法迭代次數,并判斷是否滿足終止條件,若滿足,停止迭代,輸出Pbest(t)與fbest(t);若不滿足,重新執行Step3~Step7 步驟,直至滿足終止條件為止。

算法DGABES偽代碼如下:

算法DGABES

//禿鷹種群初始化階段

01 初始化算法參數(種群規模N,種群維度n,最大迭代次數Tmax,搜索的上界與下界等)

02 通過Circle映射式(10)生成初始禿鷹種群

03 計算禿鷹個體初始適應度值,并按優劣進行排序,記錄當前禿鷹最佳搜索位置Pbest(t)與平均分布位置Pmean(t)

04 Whilet<Tmax

//選擇搜索空間階段

05 Fori= 1:N

06 根據式(11)計算第t代適應性權重w

07 根據式(12)更新禿鷹個體位置

08 Iffi,new(t)<fi(t)

09Pi(t)=Pi,new(t)

10 Iffi,new(t)<fbest(t)

11Pbest(t)=Pi,new(t)

12 End If

13 End If

14 End For

//搜索空間獵物階段

15 Fori= 1:N

16 生成服從參數為0.5的指數分布隨機數d

17 根據式(13)更新禿鷹領導者個體位置

18 根據式(14)更新禿鷹個體位置

19 Iffi,new(t)<fi(t)

20Pi(t)=Pi,new(t)

21 Iffi,new(t)<fbest(t)

22Pbest(t)=Pi,new(t)

23 End If

24 End If

25 End For

//俯沖捕獲獵物階段

26 Fori= 1:N

27 GPbest(t)=Pbest(t)(1+Gaussion(σ))

28 根據式(16)變異禿鷹領導者個體位置

29 根據式(17)更新禿鷹個體位置

30 Iffi,new(t)<fi(t)

31Pi(t)=Pi,new(t)

32 Iffi,new(t)<fbest(t)

33Pbest(t)=Pi,new(t)

34 End If

35 End If

36 End For

37t = t+1

38 End While

39 更新禿鷹最佳搜索位置Pbest(t)與最低適應度值fbest(t)

40 輸出當前禿鷹最佳搜索位置Pbest(t)與最低適應度值fbest(t)

2.6 時間復雜度分析

假設函數解的維度以n表示,適應度函數以f(x)表示,作如下分析:

對于標準BES,根據其算法流程可知,標準BES在初始化階段和禿鷹狩獵的3 個階段的時間復雜度均為O(n+f(n)),因此標準BES 全過程的時間復雜度為O(n+f(n))。

對于DGABES,在禿鷹種群初始化階段,假設初始化參數耗時μ1,記錄當前禿鷹最佳搜索位置Pbest(t)耗時μ2,記錄當前禿鷹平均分布位置Pmean(t)耗時μ3;而計算初始禿鷹個體適應度值耗時f(n),利用Circle映射初始化種群的時間復雜度為O(Nn),則DGABES此階段的時間復雜度為T0=O(μ1+Nf(n)+μ2+μ3)+O(Nn)=O(n+f(n))。

在選擇搜索空間階段,假設計算第t代適應性權重w耗時ε1,產生隨機數耗時ε2,每個禿鷹個體位置Pi,new(t)更新耗時ε3,記錄當前禿鷹最佳搜索位置Pbest(t)耗時ε4,記錄當前禿鷹平均分布位置Pmean(t)耗時ε5,計算初始禿鷹個體適應度值耗時f(n),則DGABES 此階段的時間復雜度為T1=O(ε1+N(ε2+n×ε3+f(n))+ε4+ε5)=O(n+f(n))。

在搜索空間獵物階段,假設生成服從指數分布的隨機數d耗時σ1,產生隨機數耗時σ2,動態學習禿鷹領導者個體位置DPi,new(t)更新耗時σ3,每個禿鷹個體位置Pi,new(t)更新耗時σ4,記錄當前禿鷹最佳搜索位置Pbest(t)耗時σ5,記錄當前禿鷹平均分布位置Pmean(t)耗時σ6,計算初始禿鷹個體適應度值耗時f(n),則DGABES 此階段的時間復雜度為T2=O(σ1+N(σ2+n×(σ3+σ4)+f(n))+σ5+σ6)=O(n+f(n))。

在俯沖捕獲獵物階段,假設當前禿鷹最佳搜索位置Pbest(t)高斯變異為GPbest(t)耗時λ1,產生隨機數耗時λ2,基于禿鷹最佳搜索位置的禿鷹領導者個體位置GPi,new(t)更新耗時λ3,更新每個禿鷹個體位置Pi,new(t)耗時λ4,記錄當前禿鷹最佳搜索位置Pbest(t)耗時λ5,記錄當前禿鷹平均分布位置Pmean(t)耗時λ6,計算初始禿鷹個體適應度值耗時f(n),則DGABES 此階段的時間復雜度為T3=O(λ1+N(λ2+n×(λ3+λ4)+f(n))+λ5+λ6)=O(n+f(n))。

綜合DGABES 的4 個階段的分析,DGABES 全過程的時間復雜度為T=T0+T1+T2+T3=O(n+f(n))。因此,DGABES全過程的時間復雜度為O(n+f(n)),并未對標準BES造成時間代價。

3 仿真實驗與結果分析

3.1 實驗設計

為測試DGABES 的性能,本文選取10 個基準測試函數(如表1所示)在解的維度設置為100維的情況下進行仿真實驗分析。其中,f1~f5是連續的單峰函數(UN),單峰函數將用于測試本文算法的尋優精度;f6~f10是連續的多峰函數(MN),用于測試本文算法的全局搜索能力和收斂速度。

本文選取了8 種智能優化算法與本文算法進行比 較,分 別 為STOA[4]、PSO[5]、BOA[6]、GWO[7]、ABC[8]、SCA[9]、DE[10]以及標準BES[11]。實驗仿真環境為Windows10 系統,32 GB 運行內存和2.30 GHz CPU,編譯環境為Python3.8,開發環境選取PyCharm。為保證實驗公平性,設置種群規模N=30,最大迭代次數Tmax=500,現對控制禿鷹個體飛行移動速度參數c1與c2的選取進行討論。

若設置過大的飛行移動速度易使算法早熟而陷入局部最優,若過小則影響算法收斂速度,現控制其他參數不變,將c1與c2設置為相同值,選取表1中基準測試函數f1、f4、f8與f9,對2 個參數的選取進行了尋優性能實驗測試,實驗結果(30 次獨立實驗適應度值的平均值與標準差數據)如表2所示。

表2 參數c1與c2不同取值對BES性能的影響

由表2可知,當c1與c2取值為1.5時大部分實驗結果最優,因此,為保證禿鷹個體飛行移動速度參數選取的統一性與合理性,c1與c2均設置為1.5。具體地,各算法參數設置如表3所示。

表3 算法參數設置

3.2 分策略消融實驗

為驗證本文引入的各改進策略的有效性,將標準BES 與引入Circle 混沌映射初始化(CBES)、引入自適應權重(ABES)、引入動態學習策略(DLBES)以及引入高斯變異策略(GBES)在部分基準測試函數上進行仿真實驗對比,所有實驗指標與3.1節保持一致,改進算法的參數設置與BES保持一致。

1)Circle混沌映射初始化(CBES)與BES。

引入的Circle 混沌映射能夠使得初始禿鷹種群均勻地分布于搜索空間當中,彌補了標準BES中隨機生成的初始種群過于集中或離散的缺陷,在提升禿鷹種群多樣性的同時,間接地擴大了禿鷹種群的搜索范圍,使算法收斂性能得以提高。由圖2 平均收斂曲線對比可知,與標準BES相比,CBES的尋優精度與收斂速度均有略微提升,驗證了分策略CBES的改進優勢。

圖2 CBES與BES平均收斂曲線

2)自適應權重(ABES)與BES。

為增強禿鷹個體的全局移動與局部搜索能力,以及更好地平衡算法的全局搜索與局部開發能力,在選擇搜索空間階段引入了一種自適應權重策略。通過圖3 平均收斂曲線對比結果可知,在單峰函數或多峰函數上尋優時,分策略ABES均大幅度提高了算法的尋優精度與收斂速度,充分地表明了此策略的有效性。

圖3 ABES與BES平均收斂曲線

3)動態學習策略(DLBES)與BES。

本文所提出的動態學習策略(DLBES)能夠對搜索空間獵物階段的禿鷹個體進行優良性選拔,而選拔出的禿鷹個體將成為領導者,帶領其他適應性較差的個體逐漸向全局最優位置逼近,同時也能夠間接地加強禿鷹種群間的個體交流,使算法的尋優能力達到更優。圖4 展示了DLBES 與BES 相比在單峰函數與多峰函數上的尋優能力,動態學習策略的引入解決了部分精英禿鷹個體對種群影響性低的問題,增強了其余禿鷹個體的適應性能力,使改進的分策略DLBES 尋優性能更具競爭性。

圖4 DLBES與BES平均收斂曲線

4)高斯變異策略(GBES)與BES。

標準BES缺乏對禿鷹個體適應度的對比考慮,在尋優時極易陷入局部最優。為消除此類問題,在俯沖捕獲獵物階段提出一種基于禿鷹最佳搜索位置的高斯變異策略,為算法尋優提供更多優質解,同時提升算法局部最優的識別能力,分策略GBES 與標準BES相比的平均收斂曲線如圖5 所示。由圖5 可知,在單峰函數與多峰函數上求解尋優時,標準BES陷入局部最優停滯不前,而在引入高斯變異策略后,GBES始終保持著局部最優規避性以及較高的尋優精度。

圖5 GBES與BES平均收斂曲線

綜上所述,通過標準BES、分策略、DGABES 的消融實驗,驗證了各分策略的改進有效性,平均收斂曲線同時表明了整體DGABES 算法的尋優性能相比單策略改進算法而言要更加出色。

3.3 算法收斂性對比

在表4中,記錄了3個部分的實驗數據:

表4 算法實驗結果

1)為反映本文算法的收斂精度與穩定性,每個算法分別對各測試函數進行30 次獨立實驗,記錄下對應適應度值的平均值(Mean)與標準差(SD)。

2)為判斷DGABES的每次實驗結果是否相較于其他算法有顯著差異,選用Wilcoxon 秩和檢驗方法,記錄下顯著性水平為0.05 時的p-value 數據,符號“+”、“=”與“-”分別表示DGABES 的性能優于、相當于以及劣于對比算法,第二種情況輸出數據N/A,最后一種情況則用黑體數據表示。

3)分別將各算法在10 個基準測試函數上的平均絕對誤差(Mean Absolute Error,MAE)進行計算,按從小到大的次序排名,MAE 越小表示算法計算的平均結果與理論最優結果的絕對誤差和越小,算法性能越加優秀。MAE 的計算方式如式(18)所示,將各算法的MAE與排序結果進行記錄。

其中,NF是基準測試函數個數,Meani是算法在每次實驗產生的最優結果的平均值,fi,min是基準測試函數的理論最優值。

從表4中的比較結果可以看出,在100維情況下,本文提出的DGABES 在10 個基準測試函數求解實驗中均有著最小的適應度平均值與標準差數據,在9 個算法中有著較好的結果。在尋優精度方面,DGABES在各基準測試函數上均有最優平均適應度值,且在3個單峰函數(f1、f2、f3)與2 個多峰函數(f6、f8)上均能夠收斂到理論最優值0。其原因是由于在DGABES 的選擇搜索空間階段,引入了隨迭代次數變化而自適應變化的非線性權重,能夠使禿鷹的搜索范圍快速地縮小至最優值附近,算法的全局搜索能力得到了增強,在DGABES 的搜索空間獵物階段與俯沖捕獲獵物階段,分別引入了動態學習禿鷹個體位置更新策略與基于禿鷹最佳搜索位置的高斯變異策略。2 種策略均能為算法篩選出適應度值較小的禿鷹個體,并將其作為領導者來更新出優秀的新一代禿鷹個體,隨著群體中優秀禿鷹個體的增加,算法的局部開發能力得以提升。相比于標準BES 與其他算法而言,DGABES 具有更加理想的實驗結果;在尋優穩定性方面,DGABES在10個基準測試函數上的30次實驗均有著最低標準差,表明DGABES能夠在保持較高的尋優精度的情況下,也同時保證較好的尋優穩定性。

對于Wilcoxon秩和檢驗的實驗結果,本文提出的DGABES 相較于標準BES 而言,在7 個函數(f1~f6、f8)上的p-value 小于0.05,即表明有充足的證據認為DGABES 相比于標準BES 在這7 個函數上的算法改進是顯著的,DGABES 相比于標準BES 有明顯的改進優勢;另外,本文提出DGABES 與其他算法相比較得到的p-value 大多數遠小于0.05,p-value 大于0.05 的情況相對較少,這均表明了本文DGABES的優越性比起其他算法而言也是顯著的。

在計算MAE 的實驗中,本文提出的DGABES 的MAE 排名位居第1,提供了最小的MAE,表明DGABES 相比于其他算法在10 個基準測試函數上得到的平均值與理論最優值的絕對誤差和最小,而標準BES 的MAE 排名位居第5,進一步表明了DGABES 的有效性和改進策略的有效性。

3.4 收斂曲線分析

圖6 展示了各算法在10 個基準測試函數上尋優時的平均收斂曲線。為了讓算法的收斂效果更加明顯,對平均適應度值進行了以10為底數的log變換。

圖6 平均收斂曲線

由圖6 所示,DGABES 在迭代前期的收斂速度較快,這是由于在初始化種群時引入了Circle 映射產生的作用,相比于隨機分布的禿鷹個體,均勻分布的禿鷹個體具有更加闊達的搜索范圍;在5 個單峰函數(f1~f5)上,DGABES的平均收斂曲線收斂速度很快,大部分能夠以很少的迭代次數搜索到理論最優值0,這是由于本文在禿鷹選擇搜索空間階段加入了自適應權重,能夠將禿鷹個體快速引向獵物周圍,從而提升找到最優 解的概率;在2 個多峰 函數(f6、f8)上,DGABES 的平均收斂曲線在函數尋優過程中迅速下降,均能在100代以內收斂至理論最優值0,這是由于動態學習禿鷹個體位置更新策略在其中起到了關鍵作用,增強了適應度值較差的禿鷹個體跳出局部最優的能力,相較于其他算法而言顯得更加出色;在3 個多峰函數(f7、f9、f10)上,雖然DGABES平均收斂曲線并沒有收斂至理論最優值,但其收斂速度在9 個算法中是最快的,且尋優精度最高,也表明了DGABES 的優越性。

4 CEC2017基準測試函數實驗

為進一步驗證本文算法較標準BES 相比的魯棒性,同時選取動態學習策略DLBES 作為對照算法,在CEC2017單目標優化函數中選取部分單峰函數、多峰函數、混合函數(Hybrid Function,HF)與復合函數(Composition Function,CF)進行仿真求解實驗,函數信息如表5 所示。設置初始種群規模N=30,最大迭代次數Tmax=500,實驗函數解的維度分別設置為10維、30 維與100 維,算法參數設置同前文一致,取30次實驗結果的平均值與標準差進行分析。

表5 CEC2017部分基準測試函數

實驗結果如表6所示,在解的維度設置為10的情況下,3 種算法在CEC05、CEC23、CEC24 與CEC28 上尋優時均能搜索到理論最優值,且標準差均為0,在穩定性方面看不出很大差距。隨著維度上升至30、100 維,DLBES 的搜索能力與穩定性優勢就得以顯現。相較于標準BES 總能夠得到更優的平均值與標準差結果,其原因是動態學習禿鷹個體位置更新策略在其中起到了關鍵作用。該策略增強了部分適應度值較差的禿鷹個體跳出局部最優的能力,通過不斷地將禿鷹群體的位置引向目標獵物的位置,從而避免部分適應性差的禿鷹個體陷入局部最優,在一定程度上緩沖了由函數維度上升所帶來的求解困難,使算法更加適應具有復雜特征的CEC2017 函數求解問題。而DGABES 的尋優結果相對于DLBES 而言顯得更加出色,在6 個函數上均有著最低的平均值與標準差。這是因為DGABES 在選擇搜索空間階段中融入了自適應策略,能夠根據迭代次數的增加自適應的調整禿鷹個體的尋優方式,又在俯沖捕獲獵物階段引入了基于禿鷹最佳搜索位置的高斯變異策略,能夠基于“貪婪”的思想來變異更新禿鷹個體位置,進一步加強了禿鷹個體對局部最優的規避性,同時增加了禿鷹個體的多樣性;且DGABES 在函數CEC03、CEC23 與CEC28 上的標準差為0,也表明了在高維情況下DGABES 能夠非常穩定地完成尋優任務,在求解高維度復雜函數時具備較大的競爭優勢。

表6 CEC2017函數的尋優結果

5 結束語

本文提出一種改進的禿鷹搜索算法,運用于求解函數優化問題。通過分策略消融實驗驗證了引入各策略的有效性,并將改進算法應用于10 個基準測試函數與部分CEC2017 基準測試函數上進行求解尋優,通過平均值和標準差等指標進行性能評估,并運用Wilcoxon秩和檢驗對算法進行了嚴格的統計檢驗。結果表明,改進算法具備著相較于其他算法而言更好的改進優勢,能夠穩定且精準地完成函數求解優化任務。在后續的研究中,考慮將改進算法應用于工程實踐問題當中,進一步驗證算法的優越性。

猜你喜歡
禿鷹測試函數獵物
蟒蛇為什么不會被獵物噎死
用母愛戰勝禿鷹
可怕的殺手角鼻龍
逃出瀕危名單的禿鷹
雨后的禿鷹
具有收縮因子的自適應鴿群算法用于函數優化問題
霸王龍的第一只大型獵物
禿鷹的困境
你是創業圈的獵人還是獵物
帶勢函數的雙調和不等式組的整體解的不存在性
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合