李雪利, 杜逆索, 歐陽智, , 朱 鵬
(1 貴州大學(xué)數(shù)學(xué)與統(tǒng)計學(xué)院, 貴陽 550025; 2 貴州大學(xué)貴州省大數(shù)據(jù)產(chǎn)業(yè)發(fā)展應(yīng)用研究院, 貴陽 550025;3 貴州大學(xué)計算機科學(xué)技術(shù)學(xué)院, 貴陽 550025)
群智能優(yōu)化算法通過模擬生物群體行為所構(gòu)建的優(yōu)化模型,幫助解決了實際復(fù)雜項目和工程的優(yōu)化問題。 如蟻獅算法[1]、灰狼優(yōu)化算法[2]、蝗蟲優(yōu)化算法[3]、正余弦算法[4]、多元宇宙優(yōu)化算法[5]等,這些算法主要研究在復(fù)雜的多維解空間里尋得全局最優(yōu)解。
白骨頂優(yōu)化算法(Coot Optimization Algorithm,COOT)是Naruei 等[6]在2021 年提出的一種新型智能優(yōu)化算法。 該算法通過模擬白骨頂在水中的不同運動方式,并將這些運動方式抽象于數(shù)學(xué)建模以實現(xiàn)全局尋優(yōu)。 因該算法結(jié)構(gòu)簡單、控制參數(shù)少、求解精度高等優(yōu)點,并在測試中試驗結(jié)果良好,故具有廣泛的應(yīng)用前景。 雖然COOT 算法在優(yōu)化方面具有一定優(yōu)勢,但尋優(yōu)過程中依然存在一些不足。 如:白骨頂?shù)姆N群隨機初始化和參數(shù)隨機化會影響算法的尋優(yōu)性能,白骨頂個體的位置更新機制無法很好地平衡局部探索與全局開發(fā)的關(guān)系,以及收斂精度欠缺等問題。
目前,由于群智能算法都存在與COOT 相似的問題,促使研究者對此開展了相關(guān)研究。 為了實現(xiàn)更好的尋優(yōu)性質(zhì),研究人員對群智能優(yōu)化算法的參數(shù)進行調(diào)整,將群智能優(yōu)化算法與反向?qū)W習(xí)[7]、萊維飛行[8]等策略相結(jié)合。 例如,魏偉一等[9]將精英反向?qū)W習(xí)與螢火蟲算法相結(jié)合,并使用了自適應(yīng)步長平衡算法的探索能力,使算法具有更快的收斂速度,更準(zhǔn)確的收斂精度。 肖子雅等[10]將鯨魚優(yōu)化算法與精英反向?qū)W習(xí)和黃金分割數(shù)相結(jié)合,通過平衡算法的局部搜索和全局優(yōu)化能力,來增強算法的穩(wěn)定性,得到更優(yōu)的搜索結(jié)果。 為了緩解算法容易陷入局部最優(yōu),無法尋得全局最優(yōu)的問題,楊文珍等[11]將擾動機制和強化萊維飛行融入蝗蟲優(yōu)化算法,增強了算法的全局搜索能力。 唐海波等[12]在算法中加入模擬退火與貪心策略,有效的提高了算法性能。
綜上所述,現(xiàn)已有許多研究針對各種群體智能優(yōu)化算法的不足之處提出了不同的策略方法,并取得了一定程度的改進效果,而針對白骨頂優(yōu)化算法不足的研究還較少。 本文針對COOT 算法存在收斂速度慢、收斂精度欠缺的問題,提出了基于擾動因子和貪心策略改進的白骨頂優(yōu)化算法(PGCOOT):一方面在白骨頂種群初始化階段結(jié)合精英反向?qū)W習(xí)進行初始化,另一方面在白骨頂個體移動中融入擾動因子和貪心策略來改變移動機制。 因此,本文所提算法不僅改善了白骨頂種群的位置分布,而且能夠更好的協(xié)調(diào)算法的局部搜索和全局優(yōu)化能力,從而提高算法的收斂性能。
白骨頂優(yōu)化算法(COOT)是在研究白骨頂在水中兩種運動方式的基礎(chǔ)上提出的一種新型智能優(yōu)化算法。 在COOT 優(yōu)化算法中,整個白骨頂種群由領(lǐng)導(dǎo)者(leader)和普通白骨頂鳥(coot)組成。 領(lǐng)導(dǎo)者是指種群前面的少數(shù)指引種群走向目標(biāo)(食物)的白骨頂。 白骨頂有許多不同的集體行為,COOT 算法的目標(biāo)是模擬白骨頂在水面上的集體運動。 算法中模擬了白骨頂在水面上4 種不同的移動,分別是:個體的隨機移動、鏈?zhǔn)揭苿印⒏鶕?jù)群體領(lǐng)導(dǎo)者們調(diào)整位置以及l(fā)eader 帶領(lǐng)種群走向最佳區(qū)域(領(lǐng)導(dǎo)者運動)。
使用公式(1)在空間中隨機生成Coot 種群:
其中,CootPos(i) 為cooti的位置;d為一系列的變量或問題維度;lb為搜索空間的下限;ub為搜索空間的上限;.?為點乘運算。
在生成初始群體并確定每個主體的位置后,隨機選取NL個白骨頂個體作為leader,最后通過目標(biāo)函數(shù)計算所有白骨頂?shù)倪m應(yīng)度。
在整個移動過程中,coot每次都從個體的隨機移動、鏈?zhǔn)揭苿印⒏鶕?jù)群體領(lǐng)導(dǎo)者們調(diào)整位置這3 種移動方式中隨機選取一種作為移動方式。
1.2.1 個體隨機移動
個體的隨機移動能對搜索空間的不同部分進行探索。 如果算法陷入局部最優(yōu),采用隨機移動的方式能夠緩解此類問題。 為了實現(xiàn)這種移動,首先隨機選取一個位置, 再將coot移向這個位置,之后根據(jù)公式(2) 來更新coot的位置。
其中,R2 為區(qū)間[0, 1] 中的隨機數(shù);CootPos(i) 表示cooti的位置;Q為隨機選取的位置;A值可根據(jù)公式(3)計算得出。
其中,L表示當(dāng)前迭代次數(shù),Iter表示最大迭代次數(shù)。
1.2.2 鏈?zhǔn)揭苿?/p>
實現(xiàn)鏈移動時,首先計算兩個白骨頂位置點之間的距離矢量,然后向其中一個白骨頂?shù)姆较蛞苿恿硪粋€白骨頂,移動距離為矢量的一半。 新位置的計算方法為公式(4)。
其中,CootPos(i) 表示cooti的位置,CootPos(i -1) 表示cooti-1的位置。
1.2.3 根據(jù)群體領(lǐng)導(dǎo)者們調(diào)整位置
當(dāng)前面的幾個leader 領(lǐng)導(dǎo)族群走向最佳區(qū)域時,其余的coot 則根據(jù)leader 的位置調(diào)整自己的位置。 由于種群中不止一個leader,因此coot 在移動過程中根據(jù)公式(5)的機制來選擇某一個leader 作為參考位置。
其中,i為當(dāng)前coot 的索引號;NL為初始時設(shè)置的leader 數(shù)量;K為leader 的索引號;MOD 表示取余運算。
在選定某個leader 作為參考位置后,coot 則朝著參考位置移動。 移動后的新位置由公式(6)計算得出。
其中,CootPos(i) 表示cooti當(dāng)前位置;LeaderPos(k) 為選定的leaderk的位置;R1 為區(qū)間[0,1]中的隨機數(shù);π 為圓周率;R為區(qū)間[-1,1]中的隨機數(shù)。
COOT 優(yōu)化尋優(yōu)過程中,領(lǐng)導(dǎo)者leader 的移動至關(guān)重要,leader 需要朝著目標(biāo)(最優(yōu)點)更新位置。有時領(lǐng)導(dǎo)者需要離開當(dāng)前的最佳位置去尋找更好的位置。 更新領(lǐng)導(dǎo)者位置的計算如公式(7)。 這個公式展現(xiàn)了接近和遠離當(dāng)前最佳位置的策略。
其中,LeaderPos(i) 為leaderi的位置;gBest為迄今為止發(fā)現(xiàn)的最佳位置;R3、R4 為區(qū)間[0,1]中的隨機數(shù);π 為圓周率;R為區(qū)間[ -1,1]中的隨機數(shù);B可根據(jù)公式(8)計算所得。
其中,L表示當(dāng)前迭代,Iter表示最大迭代。
隨機選擇接近或遠離當(dāng)前最佳位置,并以不同的半徑在迄今最佳的位置周圍進行搜索,意味著白骨頂優(yōu)化算法在接近最優(yōu)點的階段也在進行探索,以便算法遠離陷入局部最優(yōu)的困境。
一般而言,算法的收斂精度和速度均與初始種群中個體的位置分布有關(guān)。 與其它算法類似,COOT算法在使用隨機方式對coot 種群位置進行初始化后,才進行優(yōu)化迭代。 但隨機初始化會導(dǎo)致COOT算法的可行解范圍較大,造成算法收斂時間較長,會降低算法的搜索能力,影響算法的搜索結(jié)果等問題。
一般而言,精英反向?qū)W習(xí)策略可以對種群初始化階段進行優(yōu)化來提升算法的收斂性能。 首先,在種群初始化階段產(chǎn)生相應(yīng)的反向種群。 生成反向種群的方式表示如公式(9)所示:
其中,CootPos(i) 為當(dāng)前個體cooti的位置信息;為相應(yīng)的反向種群個體的位置信息;lb為搜索空間的下限;ub為搜索空間的上限;k是產(chǎn)生于[0,1]之間的隨機數(shù)。
其次,根據(jù)公式(10),在得到反向種群位置信息后,依序比較初始種群和反向種群的個體適應(yīng)度,最后將同一位置的適應(yīng)度更優(yōu)的個體放入初始種群的對應(yīng)位置中。
其中,CootPos(i) 為當(dāng)前個體cooti的位置信息;為相應(yīng)的反向種群個體的位置信息;為反向種群中個體的適應(yīng)度值;fi為隨機初始化種群中個體cooti的適應(yīng)度值。
COOT 優(yōu)化算法尋優(yōu)過程中,由于coot 的移動方式是從上述3 種移動方式中隨機選取的。 這種個體移動選擇方式容易出現(xiàn)收斂速度慢、收斂精度低等問題。 因此,考慮在coot 的移動方式選取過程中加入貪心策略,來減少移動過程的盲目性。 將貪心策略加入到coot 的移動中表現(xiàn)為:先通過比較上次迭代移動后的位置是否有進步,再決定本次迭代過程中移動方式的選取[14]。 當(dāng)上次移動后的位置有進步時,本次移動過程選取與上次相同的移動方式;當(dāng)上次移動后的位置表現(xiàn)更差時,本次移動過程選擇與上次不同的移動方式,以求更好的移動表現(xiàn)。其基本規(guī)則如公式(11)所示:
其中,Move(i)l為cooti在第l次移動時所選擇的移動方式;~表示非運算;random表示隨機選取;f(i)l為cooti的第l次移動的適應(yīng)度值。
在整個尋優(yōu)過程中,領(lǐng)導(dǎo)者的位置關(guān)乎整個種群的動向[15]。 在leader 的移動過程中添加擾動因子,能夠改變leader 的探索范圍,協(xié)調(diào)局部搜索和全局優(yōu)化能力,從而得到更優(yōu)的搜索結(jié)果[13]。 當(dāng)leader 朝著接近最優(yōu)點移動時,勘探范圍由大到小過渡,增強局部搜索能力[16-17];而leader 朝著遠離最優(yōu)點移動時,搜索范圍由小到大變化,增強了全局探索能力,能有效的避免陷入局部最優(yōu)的問題。 擾動因子q定義如公式(12)所示[11,14-15]:
其中,L是當(dāng)前迭代;Iter是最大迭代;π 為圓周率。
通過對α和β在[0,20]區(qū)間內(nèi)依次取值進行組合實驗,實驗結(jié)果表明,當(dāng)α=4、β=5 時,全局勘探能力與局部探索能力能夠得到較好的平衡,此時尋優(yōu)效果最好。 改進后的領(lǐng)導(dǎo)者移動公式如公式(13)所示:
綜上所述,本文將精英反向?qū)W習(xí)、貪心策略和擾動因子與COOT 算法融合得到PGCOOT 算法。 該算法能更好的協(xié)調(diào)局部搜索和全局優(yōu)化,具有更優(yōu)的搜索性能,從而提升算法的收斂效果。 PGCOOT算法實現(xiàn)流程如圖1 所示。 算法步驟如下:

圖1 PGCOOT 算法流程圖Fig. 1 PGCOOT algorithm flow diagram
Step 1確定白骨頂種群個數(shù)N,最大迭代次數(shù)Iter,空間維度d,搜索空間上下限等參數(shù);
Step 2隨機產(chǎn)生種群個體,初始化種群,隨機選取NL個leader,并計算種群適應(yīng)度值;
Step 3采用精英反向?qū)W習(xí)產(chǎn)生反向種群,再選取每個序號下最好的個體作為種群個體;
Step 4進入主循環(huán),While 當(dāng)前迭代次數(shù)l<Iter;
Step 5coot 選取移動方式。 當(dāng)l=1 時,coot隨機選取移動方式;當(dāng)l >1 時,coot 根據(jù)貪婪策略改進的機制(式(11))選取移動方式;
Step 6coot 根據(jù)已選取移動方式,依據(jù)式(2)~式(6)實現(xiàn)位置信息更新;
Step 7leader 根據(jù)加入擾動因子的領(lǐng)導(dǎo)者運動式(13)進行位置信息更新;
Step 8計算種群適應(yīng)度,獲取當(dāng)前適應(yīng)度最好的值,并更新leader;
Step 9判斷是否達到停止條件,滿足則迭代過程結(jié)束;否則返回Step 4 繼續(xù)迭代;
Step 10輸出最優(yōu)適應(yīng)度值和最佳位置。
在標(biāo)準(zhǔn)COOT 算法中,假設(shè)種群規(guī)模為N,求解空間維數(shù)為d, 標(biāo)準(zhǔn)COOT 進行參數(shù)初始化的復(fù)雜度為O(1),則個體適應(yīng)度為O(N),種群復(fù)雜度為O(N×d),此時標(biāo)準(zhǔn)COOT 算法的整體復(fù)雜度如公式(14)所示:
PGCOOT 算法在初始化階段使用精英反向?qū)W習(xí)策略,替換隨機初始化后復(fù)雜度為O(N×d);在個體適應(yīng)度計算階段使用貪心策略后,復(fù)雜度為O(N×d),干擾因子復(fù)雜度為O(N×d);算法整體復(fù)雜度如公式(15) 所示:
顯然O(COOT)=O(PGCOOT)。 可見,相比于標(biāo)準(zhǔn)COOT 算法,本文所提算法與標(biāo)準(zhǔn)COOT 算法時間復(fù)雜度一致。
為證明PGCOOT 算法加入不同改進策略的有效性,并且具有更好的性能,將其算法與其他算法進行仿真實驗對比分析。 實驗從以下3 方面進行:
(1)將PGCOOT 算法與貪心策略下的改進算法COOT1、精英反向?qū)W習(xí)初始化與加入擾動因子的領(lǐng)導(dǎo)者運動改進后的算法COOT2、標(biāo)準(zhǔn)COOT 算法進行實驗對比,驗證不同策略的有效性。 同時,為了驗證PGCOOT 的時間復(fù)雜度,與COOT 進行了比較分析。
(2)將PGCOOT 算法與蟻獅算法(ALO)、 灰狼優(yōu)化算法(GWO)、蝗蟲優(yōu)化算法(GOA)、正余弦算法(SCA)、多元宇宙優(yōu)化算法(MVO) 和原始的COOT算法在d= 30 條件下做實驗比較,通過實驗數(shù)據(jù)論證PGCOOT 算法的可行性、有效性和優(yōu)越性。 再根據(jù)尋優(yōu)能力的表現(xiàn),選取前三名算法在d= 100 時進行對比實驗。
(3)將PGCOOT 算法與蟻獅算法(ALO)、 灰狼優(yōu)化算法(GWO)、蝗蟲優(yōu)化算法(GOA)、正余弦算法(SCA)、多元宇宙優(yōu)化算法(MVO) 和原始的COOT算法進行Wilcoxon 秩和檢驗,以此驗證PGCOOT 算法相較于其他算法具有顯著性差異。
為了檢驗本文所提PGCOOT 算法的尋優(yōu)能力,實驗使用8 種標(biāo)準(zhǔn)測試函數(shù)來對算法進行不同尋優(yōu)特征上的測試。 標(biāo)準(zhǔn)測試函數(shù)見表1。 其中F1、F2、F3、F4為單峰函數(shù),F(xiàn)5、F6、F7、F8是多峰函數(shù),存在多個局部極值,求解難度較高。

表1 標(biāo)準(zhǔn)測試函數(shù)Tab. 1 Standard test function
實驗環(huán)境:本文所有實驗均在Intel? CoreTMi5-7500 CPU@3.40 GHz,RAM 8.0 GB,運行環(huán)境為64位Window10 操作系統(tǒng),MATLAB 2018b 軟件上進行。 為了與其它算法進行公平比較,將種群規(guī)模都設(shè)為N=30,設(shè)置領(lǐng)導(dǎo)者數(shù)量占比為0.1,最大迭代次數(shù)Iter為500、α為4,β為5。 每個測試函數(shù)都進行了30 次獨立實驗,以排除隨機性對實驗結(jié)果的影響,并記錄最優(yōu)值(Best)、平均值(Mean)與標(biāo)準(zhǔn)差(Std),來整體評價各算法的性能。 其中,平均值用于表示算法的平均尋優(yōu)能力,最優(yōu)值用于表示算法的尋優(yōu)極限,標(biāo)準(zhǔn)差表示算法的魯棒性。
為驗證PGCOOT 算法中各策略的有效性,將原始算法COOT 與COOT1、COOT2、PGCOOT 在d=30時,進行實驗比較,從而驗證各策略的有效性。 各策略算法獨立運行30 次后的實驗結(jié)果見表2,可視化結(jié)果如圖2 所示。 從對表2 和圖2 的分析可知:

表2 PGCOOT 與COOT、COOT1、COOT2 結(jié)果Tab. 2 Results of PGCOOT and COOT, COOT1 and COOT2

圖2 各策略算法的平均收斂曲線Fig. 2 Average convergence curves of several strategy algorithms
(1)對于F1和F3,COOT、COOT2 和COOT1 并未收斂至最優(yōu)值。 COOT1 與原始算法相比,收斂精度略有提升;COOT2 的精度則比原始算法提升了至少200 個數(shù)量級。 而融合了COOT1 和COOT2 策略的PGCOOT 算法則在迭代接近450 次時就收斂至理論最優(yōu)值,并且PGCOOT 的收斂平均值(Mean)和標(biāo)準(zhǔn)差(Std)均為0。 這表明在30 次實驗中,PGCOOT 能100%取得理論最優(yōu)解。
(2)對于F2和F4,各策略算法均未收斂至理論最優(yōu)值,但PGCOOT 最接近理論最優(yōu)值,與原始算法相比提升了170 個數(shù)量級左右,并且COOT1 和COOT2 的改進策略結(jié)果也優(yōu)于原始的COOT。
在相同條件下,對于單峰函數(shù)F1~F4的對比分析結(jié)果,展現(xiàn)了改進策略COOT1 和COOT2 在收斂速度與收斂精度的有效性,而PGCOOT 算法融合了COOT1 和COOT2 的優(yōu)點,在各函數(shù)上都獲得了更高的準(zhǔn)確性和更快的收斂速度,表明了所提算法的優(yōu)越性。
在多峰函數(shù)時,對于F5來看,各策略算法均未收斂至最優(yōu)值。 收斂平均值(Mean)表明,與COOT相比,COOT1 收斂精度相對更高,COOT2 的收斂精度則大幅提升,而融合了COOT1 和COOT2 策略的PGCOOT 收斂精度最高,最接近理論值。 通過最優(yōu)值(Best)和標(biāo)準(zhǔn)差(Std)的比較,表明了PGCOOT 的尋優(yōu)極限更高、收斂效果更加穩(wěn)定。 分析F6與F8時的結(jié)果,各策略算法均實現(xiàn)最優(yōu)值(Best)與理論值相等;但收斂平均值(Mean)和標(biāo)準(zhǔn)差(Std)結(jié)果則表明了COOT 和COOT1 并不能保證100%取得理論最優(yōu)解,而PGCOOT、COOT2 的30 次運行均能夠100%取得理論最優(yōu)解。 從收斂速度來看,PGCOOT的收斂速度比COOT2 更快。
綜上,在多峰函數(shù)F5~F8時,融合了COOT1 和COOT2 策略的PGCOOT 在尋優(yōu)精度、穩(wěn)定性和收斂速度上都表現(xiàn)出了遠優(yōu)于其他算法的性能。
為了驗證PGCOOT 的時間復(fù)雜度,在上述條件下,將PGCOOT 與COOT 在相同函數(shù)下獨立運行30次的總時間進行記錄,結(jié)果見表3。 從表3 可以看出,PGCOOT 與COOT 運行30 次所用時間均在3 s左右,不存在較大的差異。 說明本文算法在標(biāo)準(zhǔn)COOT 算法中使用多種策略后,時間復(fù)雜度并沒有上升,運行效率也未受到影響。

表3 PGCOOT 與COOT 獨立運行30 次時間(s)比較Tab. 3 Comparison between PGCOOT and COOT when running independently for 30 times
本次實驗運用8 個測試函數(shù),在參數(shù)設(shè)置統(tǒng)一的條件下,測試PGCOOT 算法的尋優(yōu)速度與尋優(yōu)精度。 通過最優(yōu)值(Best) 、平均值(Mean) 與標(biāo)準(zhǔn)差(Std) 3 個指標(biāo),評價PGCOOT 的尋優(yōu)能力。
本文選取蟻獅算法(ALO)、 灰狼優(yōu)化算法(GWO)、蝗蟲優(yōu)化算法(GOA)、正余弦算法(SCA)、多元宇宙優(yōu)化算法(MVO) 和原始的COOT 算法等,與改進算法PGCOOT 在d=30 時進行對比實驗。實驗結(jié)果見表4,收斂曲線如圖3 所示。

表4 PGCOOT 及其他算法結(jié)果Tab. 4 Results of PGCOOT and other algorithms

圖3 PGCOOT 及其他算法收斂曲線Fig. 3 Convergence curves of PGCOOT and other algorithms
由對表4 和圖3 的分析可知:
(1)對于單峰函數(shù)F1~F4,PGCOOT 能迅速收斂至最優(yōu)值或最優(yōu)值附近,而其余算法收斂精度較低,收斂速度較慢。 其中,在F1、F3上只有本文所提出的PGCOOT 獲得了理論最優(yōu)值,其余算法均未尋到理論最優(yōu)值。 從平均值與標(biāo)準(zhǔn)差來看,PGCOOT尋優(yōu)成功率高達100%,具有比其他算法更好的穩(wěn)定性。 從對應(yīng)的收斂曲線中可以看到,雖然GWO與COOT 有著不錯的效果,但是PGCOOT 在收斂速度上占有明顯優(yōu)勢。 對于F2、F4而言,雖然所有算法均未尋到理論最優(yōu)值,但PGCOOT 的結(jié)果最接近理論值;從平均值與標(biāo)準(zhǔn)差來看,PGCOOT 也具有更好的魯棒性和平均尋優(yōu)能力。
(2)從多峰函數(shù)F5~F8的結(jié)果可見,在F5函數(shù)上,雖然所有算法均未尋到理論最優(yōu)值,但從接近理論最小值的程度來看,PGCOOT 的結(jié)果最接近于理論最優(yōu)值。 在F6和F8函數(shù)上,PGCOOT、GWO 與COOT 均跳出局部最優(yōu),尋到理論最優(yōu)值,但是從平均值與標(biāo)準(zhǔn)差來看,PGCOOT 具有更好的穩(wěn)定性,能夠100%尋得理論最優(yōu)值。 對于F7, 雖然PGCOOT與其他算法均未尋到理論最優(yōu)值,但PGCOOT 獲得的最優(yōu)值8.881 8E-16 是所有算法中最接近理論值的結(jié)果之一。 并且從平均值與標(biāo)準(zhǔn)差的結(jié)果可以看到,PGCOOT 的穩(wěn)定性最好。 這表明了在F7函數(shù)下,PGCOOT 相對于其它算法仍然最具競爭力。
為了進一步驗證本文所提PGCOOT 算法,將與上述結(jié)果中表現(xiàn)最好的GWO 和COOT 在d= 100 時再次進行實驗。 所得實驗數(shù)據(jù)見表5,收斂曲線見圖4。

表5 PGCOOT、GWO、COOT 結(jié)果Tab. 5 Results of PGCOOT、GWO、COOT

圖4 PGCOOT、GWO、COOT 收斂曲線Fig. 4 Convergence curves of PGCOOT, GWO and COOT
從圖4 可見,對于F1~F4來看,PGCOOT、GWO、COOT 的尋優(yōu)表現(xiàn)結(jié)果相似。 PGCOOT 的收斂曲線下降迅速,而GWO、COOT 的收斂曲線則較為緩和。從表5 和圖4 來看,PGCOOT 在F1能夠100%尋得理論最優(yōu)值,其余算法均未尋到理論最優(yōu)值。 在F2、F4函數(shù)下,PGCOOT 雖未取得理論最優(yōu)值,但與GWO 和COOT 相比,接近程度更勝一籌。 并且PGCOOT 在平均值與標(biāo)準(zhǔn)差上具有更好的穩(wěn)定性。 在F3函數(shù)下,PGCOOT 雖不能夠保證100%尋得理論最優(yōu)值,但仍保持收斂精度和收斂速度第一。 由此可見,在高維單峰函數(shù)的實驗中,GWO 和COOT 在尋優(yōu)能力和收斂速度上都會產(chǎn)生波動,甚至是下降的情況,與之相比PGCOOT 仍能保持良好的尋優(yōu)能力,進一步表明了PGCOOT 整體性能的優(yōu)越性。
在多峰函數(shù)F5~F8中,PGCOOT 在F5函數(shù)上表現(xiàn)了更好的尋優(yōu)能力,從表5 和圖4 的結(jié)果可以看到,與GWO 和COOT 相比PGCOOT 更接近于理論最優(yōu)值。 在F6~F8函數(shù)上,PGCOOT 的收斂速度比GWO 與COOT 快,能夠迅速收斂至最優(yōu)值附近。 與d= 30 時相比,PGCOOT 的收斂精度、速度和穩(wěn)定性均保持一致,這表明PGCOOT 具有保持較強的魯棒性和穩(wěn)定性。 綜合F5~F8函數(shù)的結(jié)果來看,在高維多峰函數(shù)的情況下,PGCOOT 仍保持良好的尋優(yōu)能力和收斂速度,而GWO、COOT 在高維度求解復(fù)雜函數(shù)時會出現(xiàn)穩(wěn)定性不強,尋優(yōu)能力驟降的情況。
因此,不管在低維還是高維條件下,PGCOOT 都具有更好的尋優(yōu)精度和穩(wěn)定性、更快的尋優(yōu)速度,這也表明了PGCOOT 能夠有效解決低維和高維的函數(shù)優(yōu)化問題。
為驗證PGCOOT 算法與蟻獅算法(ALO)、 灰狼優(yōu)化算法(GWO)、蝗蟲優(yōu)化算法(GOA)、正余弦算法(SCA)、多元宇宙優(yōu)化算法(MVO) 和原始的COOT 算法在全局尋優(yōu)上是否存在顯著性區(qū)別,對各算法進行了性能測試比較。 考慮到數(shù)據(jù)為非正態(tài)分布,因此使用均值的非參數(shù)檢驗方法,本文采取Wilcoxon 秩和檢驗。
Wilcoxon 秩和檢驗的步驟為:首先,提出原假設(shè)H0:PGCOOT 算法與其他算法之間性能不存在明顯差異。 備擇假設(shè)H1:PGCOOT 算法與其他算法之間性能有著明顯差異。 然后,根據(jù)Wilcoxon 秩和檢驗原理計算出P值。 最后,利用檢驗結(jié)果的P值來比較兩種算法是否存在差異。 當(dāng)P值小于0.05 時,拒絕H0,即認為兩種算法在性能上存在明顯區(qū)別;當(dāng)P值大于0.05,不拒絕H0, 即不認為兩種算法之間存在明顯差異,兩種算法在全局尋優(yōu)上性能相當(dāng)。Wilcoxon 秩和檢驗結(jié)果見表6。
從表6 Wilcoxon 秩和檢驗可以看出,PGCOOT算法與其他算法之間由Wilcoxon 秩和檢驗所得的P值最大值為2.495 5E-95,最小值為3.015 3E-183,大部分值處于9.35E-162 附近,遠遠小于0.05。 因此拒絕H0, 認為PGCOOT 算法與其他算法之間存在明顯差異。 結(jié)合PGCOOT 算法的優(yōu)異表現(xiàn),即認為本文所提改進算法PGCOOT 比其他算法具有更好的搜索能力。
本文針對COOT 優(yōu)化算法易陷入局部最優(yōu)、收斂精度低等問題,提出了融合擾動因子和貪心策略的PGCOOT 算法。 將PGCOOT 與其他多個算法在8 個經(jīng)典測試函數(shù)上對收斂速度、精度進行比較。仿真實驗結(jié)果驗證了所提出的精英反向?qū)W習(xí)初始化和貪心策略以及擾動因子相結(jié)合的PGCOOT 算法的有效性,表明了PGCOOT 算法在全局尋優(yōu)以及局部搜索具有更優(yōu)秀的尋優(yōu)精度與速度。 今后的研究將繼續(xù)改進算法,進一步提高算法的尋優(yōu)性能,同時將PGCOOT 算法應(yīng)用于實際問題。