楊文珍,何 慶
1.貴州大學 大數據與信息工程學院,貴陽 550025
2.貴州大學 貴州省公共大數據重點實驗室,貴陽 550025
算術優化算法(arithmetic optimization algorithm,AOA)是Abualigah等[1]于2021年根據數學計算機制提出的一種基于群體的新型算法,由于該算法具有可移植性強、參數少以及執行效率快等優點,算法整體性能相較于蟻獅算法(ant lion optimization,ALO)[2]、樽海鞘算法(salp swarm algorithm,SSA)[3]、灰狼優化算法(grey wolf optimizer,GWO)[4]等更具有競爭力,在模型識別[5]、神經網絡[6]、約束性[7]等實際領域中具備長遠的發展潛力。
盡管不同的元啟發式算法搜索機制不同,但大部分算法最終目標在于豐富種群多樣性以及平衡算法全局勘探與局部開發的性能平衡,在保證算法收斂精度的條件下,最大性能的優化算法收斂速度以及避免算法早熟現象。針對這一優化目標,國內外研究學者展開研究工作以期針對算法特點達到不同領域的優化效果,如Guan等[8]提出一種自動更新機制的改進蟻獅算法,在保留優質變量的情況下優化賦值,在這樣的機制下,改進算法只能優化選定賦值的非優變量值對,從而改進算法有更大概率尋找到更好的候選方案以提高算法收斂性能。Ren等[9]提出將兩種策略與標準算法結合的改進樽海鞘算法,一種是隨機替換策略以一定概率將當前位置替換成最優解位置,另一種策略是雙自適應權重控制算法早、后期的搜索性能,達到算法收斂速度優化的效果,開發能力顯著提高。Yu 等[10]把對立學習引入灰狼優化算法,將對立學習以跳躍率的形式在不增加計算復雜度的基礎上幫助算法識別局部最優值,平衡了算法的勘探與開發。
為提高標準AOA 的迭代搜索性能,本文提出一種使用最優個體引導算法尋優以及小孔成像原理的算術優化算法,激活機理策略是基于算子位置更新層面,以最優位置為基準的引導個體尋優的概率進化機制,激活曲線sigmoid在保留算子父代信息的同時調整算法前后期最優個體占比領域進行再次開采以提高算法尋優概率;引入基于位置均值的小孔成像原理以及概率變異方法,以增加算子之間信息反饋并幫助算法識別局部極值,從而優化全局搜索能力;同時適當地修正MOA的迭代形式以微調算法不同階段種群個體間的位置信息交流以及算法搜索機制。最后通過數值實驗驗證策略的有效性以及競爭力。
AOA 函數尋優過程首先隨機初始化一組候選解(X),假設每次算法迭代結果為最優解決方案,隨著算法一次次迭代更新最優值尋找到函數最優值。

其中,M_min、M_max分別為優化器的最大、小值,為方便做算法對比,本文設置其值分別為1、0.2。t、T分別表示算法當前迭代以及最大迭代次數,MOA 函數值隨著當前迭代次數變化不斷更新。

圖1 算術運算符的層次結構Fig.1 Hierarchy of arithmetic operators
在算法的探索階段,AOA 的探索算子在多個區域隨機探索,使用兩種策略即乘法策略(multiplication,M)和除法策略(division,D)的數學計算產生高分布式的值或解決方案,由于其高分散性賦予該搜索階段優異的尋優潛力,在多次搜索檢測后推導出更好的解決方案。
基于探索階段的兩種搜索策略(D,M)的數學模型如式(3)所示,設置隨機值r1,在式(2)更新MOA 函數值后,若r1>MOA執行乘除法算子執行探索階段,在該階段下細分各算子執行條件,除法算子執行條件在r2<0.5(r2為隨機數)條件下被選擇,乘法算子將被忽略,直到該運算符完成當前任務,否則即運行當前尋優任務,當前探索部分位置更新方程如式(4):

此處α描述一個敏感參數決定著算法迭代期間的開發精度,本文設置其值為5,下一階段就開發進行建模。
在算法開發階段使用具有集中性較好的加減算子進行算法開發任務,開發搜索將更接近于最優值,通過不斷迭代更新找到更接近最優值的解,將隨機值r1與MOA 相比,因為隨機值具有不穩定性,利用MOA 函數改進開發項,使得加減法算子在眾多密集的區域中有極大概率尋找到適當的解決方案,數學建模表達式如下:

該階段的減法算子S以r3<0.5 為條件,加法算子忽略不計,直到該算子完成當前尋優任務,否則執行加法算子A代替減法算子執行尋優功能,由于算法活動范圍較小,存在局部極值情況,隨機值μ的設置有助于開發階段的進行。
算法探索與開發的位置更新原理如圖2所示,展示了算法通過運算符選擇探索或者開發過程。算法偽代碼如下:


圖2 位置更新原理示意圖Fig.2 Schematic diagram of location update principle
標準AOA 中算法由隨機值與MOA 控制勘探與開發階段,轉換機制隨機且不穩定,個體間的位置信息交流并以隨機概率交換某些變量分量,且根據隨機值圍繞最優個體進行當前分量的隨機更新,這樣的搜索機制基于個體的代間更新,同時個體位置的質量直接影響算法尋優性能,若是個體存在距離最優解較遠或較近的情況,過多或較少圍繞最優個體都會導致算法陷入局部極值以及找不到全局最優值的問題存在,因此標準的AOA 缺乏最優個體的二次開采而導致錯失最優解,以及隨機調整勘探和開采的不穩定策略有待修正。鑒于以上分析,本文提出一種基于個體間橫向位置更新以及縱向微調整勘探與開發功能的改進AOA算法(IX-AOA),以保證在保證收斂精度的環境下提高收斂速度以及平衡勘探與開發的性能。
標準AOA 中MOP 系數是控制算法勘探和開發的重要參數,由式(2)可知MOA 隨著迭代次數線性變化,在算法初期增加太快導致個體不能覆蓋更多的候選解區域,因此導致算法的全局搜索能力欠佳,同時算法后期參數下降漸趨平緩,有可能導致陷入局部極值的情況發生,為更好地分配算法尋優時間,采用非線性曲線調整算法不同時間勘探和開發的功能切換,其數學模型如式(8):

上式參數與上一章定義一致,f定義為數組[5,15]間的隨機整數,保證了算法在前后期勘探與開發并存,分工合作達到更好的尋優效果,同時由式(8)可知,根據雙曲線性質,c(t)仍為遞減函數且雙曲線減緩了曲線下降速度,且前期函數值取值較小采用算法全局搜索功能大范圍遍歷候選解進行最優值更新;同時算法后期隨著迭代次數增加函數值增加,隨機值大于MOA 的情況下進行全局勘探,圍繞最優個體進行局部極值識別更新最優解,達到收斂精度的提升效果。
在標準AOA 中,算法由隨機值(r1、r2、r3)與系數MOA 來調整算法搜索策略,由式(4)與式(6)可知算法位置更新使用全局最優個體的引導以及在本地開發階段從種群中隨機選擇的個體來產生子代個體,這兩個等式目的在于實現探索與開發能力的協調,但是算法的隨機切換機制將會導致算法陷入局部極值以及遠離全局最優位置,并且全局最優位置對加快收斂速度作用突出,但是標準AOA 中并沒有充分利用最優個體位置的信息。因此本節提出一種基于sigmoid激活函數的最優個體引導位置更新方程,即:

借鑒粒子群(PSO)[11]中利用慣性權重調整勘探和開發的啟發,在AOA 位置更新部分使用較大的權重有利于全局搜索,較小的權重將優化局部開發。在此,慣性權重使用基于sigmoid 激活函數曲線特性微調算法功能,經過多次實驗節可得μ為20其尋優效果最佳,其調節曲線sigmoid函數曲線如圖3所示。

圖3 w 函數曲線Fig.3 w function curve
圖3 繪制了sigmoid 曲線后半部分曲線,從圖中看出,迭代初期較大的w值有益于算法早期的全局搜索能力優化,后期較小的w值改善算法后期的局部開發功能,使得算法整體性能得到有效協調。
在標準AOA 后期中,種群個體聚集于潛在最優值個體周圍,種群多樣性退化導致算法早熟情況的發生,基于豐富種群多樣性的優化目標,目前研究多使用levy飛行[12]、對立學習[13]以及混合其他算法[14]的方法等。
小孔成像是自然界中一種常見的物理折射現象,其原理與對立學習相似,為豐富算法后期種群多樣性,在尋優過程增加基于小孔成像原理結合雙曲線性質改善種群分布質量。

由以上推理可知,在k=1 時,對立學習即小孔成像,在本文設置中,k=2,同時由于小孔成像產生的候選解不排除解覆蓋現象,種群多樣性并沒有得到改善,由此,在小孔成像位置更新部分加入雙曲線,增加候選解錯開分布性,達到改善種群分布的目標。

IX-AOA迭代尋優進程主要步驟如下:
步驟1 初始化算法參數如α、μ。
步驟2 初始種群位置,并確定初始最優個體和最優值。
步驟3 計算式(5)MOP 和式(8)MOA 確定算法尋優機制,根據MOA 隨著迭代次數變化縱向微調算法尋優過程。
步驟4 種群個體橫向更新,按照式(9)隨迭代次數t動態更新權重系數,橫向更新種群個體進化產生子代種群個體。
步驟5 前位置的多樣性候選解生成。當算法進行到后期時,在當前位置的范圍內即[a,b]按照式(15)產生交錯分布的候選解,對當前位置周圍進行二次開采以豐富算法種群多樣性。
步驟6 對候選解之間適應度進行競爭對比,保留更有價值的位置信息。
步驟7 判斷當前迭代步數是否達到最大迭代次數,若是,則算法終止進程并輸出最優值以及最佳個體解信息;否則返回步驟3。
時間復雜度作為體現算法尋優效率的重要指標,其主要取決于算法使用策略,為探索以及驗證本文算法框架未對標準AOA造成時間代價,進行以下分析:
環境參數設置種群規模為N、維度為D、最大迭代次數為M_iter,標準AOA時間復雜度為:



本文仿真環境在操作系統Win10 以及Matlab R2018a 環境下進行,實驗公共參數設置為種群規模N=30,最大迭代次數M_iter=500,各測試函數獨立運行30次。
為進行有效公平的測試環境,本文主要將實驗分為4組進行。
(1)將本文算法與其他智能算法,例如ALO[2]、SSA[3]、GWO[4]在高維環境下進行性能對比,為保證算法對比公平性,各算法參數設置一致,特定參數不變。
(2)為驗證本文優化算法(IX-AOA)的分策略有效性以及組合有效性,使用多指標將各分策略與標準AOA進行對比分析。
(3)將IX-AOA與同類型改進算法在高維環境下進行尋優對比實驗,對尋優效果進行對比實驗,驗證本文算法的有效競爭力。
在實驗仿真部分,不同測試函數表1 所示,本章選取高維度單模函數、高維多模函數中的部分函數作為算法對比測試函數,8個測試函數維度設置為高維100,更凸顯算法之間的尋優性能差異,設置單模函數如f1~f5測試算法收斂速度,多模函數f6~f8檢驗算法勘探與開發平衡能力。

表1 測試函數Table 1 Test functions
標準AOA 算法在低維環境下表現良好,但是在高維眾多局部極值的情況下,性能有待增強,為此,為驗證本文改進算法在高維環境下仍保持其良好尋優性能,將本文改進算法與標準AOA 以及其他智能算法,例ALO[2]、SSA[3]、GWO[4]參照參數設置標準進行實驗。實驗數據如表2所示。表中均值、標準差、p-value以及R作為評價算法改進有效性指標,其中p-value、R分別為秩檢驗數據以及顯著性判斷結果,表格中“N/A”表示算法尋優數據無較大差異以及無法與自身數據對比。由表2 所示32 組實驗中,p值均小于0.01 以及R均為“+”表示改進效果顯著,其中均值以及標準差指標分別體現算法收斂精度、收斂速度以及尋優穩定性。

表2 算法數據對比Table 2 Comparison of algorithm data
在高維函數測試環境中,IX-AOA 在所以測試函數中均取得最優結果,在f1、f2、f3、f4、f6、f8、f12、f13、f14、f15均尋到理論值,在未尋到理論值的函數中,其尋優精度相較于其他算法仍有不同程度提升,例f7測試函數中改進算法相較于對比算法精度提高了12~17 個數量級。4 種對比算法中,ALO、SSA 相較于GWO、AOA尋優效果較差,其次GWO次于AOA,AOA在f6函數尋找到理論值,但其他函數3 種對比算法在其余函數均未尋到最優值,由表2 中均值與標準差數據表明改進算法IX-AOA 具備更高以及更穩定的尋優效果。
為將表2中數據轉換為直觀效果對比,由于篇幅有限,在單模函數、多模函數各抽取3 組函數進行實驗分析,圖4中將各函數的迭代曲線進行對比實驗。試函數理論值,并且總曲線走勢可知,在算法后期,其他對比算法陷入局部最優時,IX-AOA仍保持較強的局部開發能力避免算法停滯。

圖4 迭代曲線對比效果圖Fig.4 Comparison effects of iterative curves
綜上分析,IX-AOA 在收斂性能即精度以及速度上比其他算法優勢顯著,在算法前后期都保持良好的全局搜索能力以及局部開發能力,算法尋優性能的改進有效性得到直觀驗證。
由圖4迭代曲線可知,5種對比算法在8組測試函數各階段尋優效果各異,在迭代前期,改進算法IX-AOA已表現其優勢顯著的尋優性能。在算法前期,IX-AOA收斂速度與4種對比算法較大收斂速度差異,其全局搜索能力明顯更具優勢;在算法后期局部開發能力逐漸占據重要位置,在6 組測試函數中迭代曲線分析,在迭代次數未達到T時,IX-AOA在收斂速度以及精度上已經遙遙領先其他對比算法,在迭代步數100以內已找到測
為保證算法對比環境公正性,本節消融實驗參數設置與上節一致,為驗證各策略的改進有效性以及各策略的組合有效性,將標準AOA 算法與優化系數MOA(CAOA)、最優個體激活機制(GAOA)、非線性小孔成像(XAOA)做對比實驗。
(1)微調控制(CAOA)與AOA
CAOA策略在根據雙曲線性質改變原始MOA線性遞減前后期遍歷與開發缺陷,為更好地使勘探與開發配合協作,將雙曲線遞變性質引入MOA,在算法前期彌補了原始MOA 遞減太快而導致錯失潛在最優值,同時算法后期新MOA 函數值增加,在隨機值小于MOA 值而進行全局搜索能力加強而提高局部極值識別能力,最優值得到迭代更新,最終收斂性能得到有效提高。
由圖5迭代函數曲線對比可知,分策略CAOA不管在單峰還是多峰函數下收斂精度與速度與標準AOA相比優勢顯著,驗證CAOA在算法不同時期發揮其獨特的調節作用。

圖5 CAOA與AOA曲線Fig.5 CAOA and AOA curves
(2)基于sigmoid 最優個體引導進化機制(GAOA)與AOA
為更好地發揮算法最優個體對算法尋優的引導作用以及對子代位置的有益影響,避免算法由于隨機切換勘探與開發所造成遠離最優值與陷入局部極值的情況,借鑒PSO 算法思想,提出基于sigmoid 激活函數的慣性權重原理動態協調最優個體在算法勘探與開發過程的影響作用。收斂曲線對比如圖6所示。由圖6迭代曲線走勢分析,通過對最優個體的S形曲線占比調整算法前后期勘探與開發的分配,在位置更新部分加強最優個體子代種群的尋優引導,產生更多有價值的位置信息,在迭代過程反復推導逐漸逼近全局最優位置,而達到位置橫行區域的多次開采而達到更優質的尋優能力,提高了算法收斂精度以及速度。

圖6 GAOA與AOA曲線Fig.6 GAOA and AOA curves
從圖5收斂曲線對比分析可知,與其他改進算法對比,在算法不同搜索階段,IX-AOA 都展示了其優越的全局搜索以及局部開采能力,算法早期收斂速度已經后期曲線保持遞減趨勢得以體現,例如SCAOA 在f1、f8陷入局部極值時,IX-AOA在不需要犧牲迭代次數的環境下就能尋到最優值,由于Matlab在數學理論上無法對0 取對數,如圖8 中在曲線達到理論值后再也無法顯示曲線,IX-AOA 在4 組單峰、多峰函數,且在高維存在眾多極值的環境下仍保持尋優性能的高效率。

圖8 D=500各改進算法收斂性對比Fig.8 Convergence comparison of each improved algorithm with D=500
(3)非線性小孔成像(XAOA)與AOA
標準AOA在算法后期由于其螺旋隨機更新機制產生良莠不齊的候選解,算法性能過度依賴于位置更新子代信息,為消除算法的更新隨機性以及提高候選解多樣性,提出一種基于小孔成像的非線性位置變化更新策略,給算法尋優提供更多優質候選解以提高算法精度以及局部極值識別能力,與標準AOA 迭代曲線對比效果圖如圖7所示。

圖7 XAOA與AOA曲線Fig.7 XAOA and AOA curves
由圖7 曲線迭代可知,在加入小孔成像原理后,擴展了候選解范圍,同時非線性曲線的引入減少了候選解生成覆蓋問題,有效提高了種群多樣性,在標準AOA后期陷入局部極值后,XAOA仍保持良好的局部極值規避性以及尋優精度。
綜上所述,通過設置標準算法AOA、IX-AOA 以及分策略的消融實驗,各分策略都具有其改進有效性,同時算法整體尋優性能相對單策略使用更具競爭性,驗證改進算法IX-AOA 各分策略在函數收斂精度以及速度上的有效合作達到更優質的尋優性能。
鑒于以上分析可知,在高維測試環境下,在各種特征的測試函數中本文優化算法IX-AOA較新改進算法仍具有較強競爭力,函數求解的高效率性得到有效驗證。
為體現IX-AOA不同環境下保持的尋優競爭力,本文引入CEC2014 函數中,選取單峰、多峰、混合以及復合類型的不同函數進行理論值求解,選取函數信息如表3所示。

表3 CEC2014部分函數Table 3 Some functions of CEC2014
為更細致分析算法整體性能,將IX-AOA與目前最新改進算法進行高維環境對比實驗,由于AOA所提時間較短,可對比改進算法較少,將IX-AOA與實現機理相似的新改進算法即SCAOA[5]、MSCA[15]在單模、多模函數上,高維D=500 進行對比實驗,由于篇幅有限,在8 組測試函數中抽取4組特征各異函數單獨運行30次實驗。
為保證算法對比實驗的公平性,CEC2014函數參數除維度為30 以及迭代次數1 000 以外的參數設置與以上章節一致,取實驗運行均值與標準差進行分析。
由表4 記錄各函數運行數據即均值與方差,由于CEC2014函數存在復雜度高,算法尋優難度增加,從表4數據可知IX-AOA在均值與方差方面均優于標準AOA,在CEC02雖然均值優勢不顯,但改進算法IX-AOA方差具有較大優勢,同時CEC27、CEC28的方差為0,驗證了算法尋優的有效性。因此從實驗部分可知,IX-AOA在求解復雜函數具備較大的競爭優勢。

表4 CEC2014優化結果Table 4 CEC2014 optimization results
為改進標準AOA高維尋優精度低以及收斂速度慢等問題,本文提出一種橫向與縱向更新機制的算術優化算法即IX-AOA,分別從算法種群整體層面以及最優個體層級進行更新機制的改進。數值實驗表明,縱向更新機制的MOA系數微調與引入非線性小孔成像原理的橫向更新機制改進效果尤為顯著,同時基于sigmoid 激活函數的最優個體占比橫向迭代通過權重發揮最優個體在算法不同階段的影響比重更新優質子代位置,有效加快了算法尋優效率,展示了本文改進算法IX-AOA早期強勢的全局搜索以及良好的局部極值識別精確度。接下來的研究工作,將針對改進AOA 以解決神經網絡參數優化、云計算任務調度以及多約束等實際問題進行應用實踐。