許秋艷,馬 良,劉 勇
(上海理工大學(xué)管理學(xué)院,上海200093)
近年來,智能優(yōu)化算法得到了快速發(fā)展,出現(xiàn)了許多有代表性的方法。例如,遺傳算法(Genetic Algorithm,GA)、神經(jīng)網(wǎng) 絡(luò)(Neural Network,NN)、蟻 群 優(yōu) 化(Ant Colony Optimization,ACO)算 法 、粒 子 群 優(yōu) 化(Particle Swarm Optimization,PSO)算法、人工蜂群優(yōu)化(Artificial Bee Colony Optimization,ABCO)算法、模擬退火(Simulated Annealing,SA)算法、量子優(yōu)化(Quantum Optimization,QO)算法、禁忌搜索(Tabu Search,TS)算法和差分進化(Differential Evolution,DE)算法等[1-4]。之所以存在這么多的智能優(yōu)化算法,是因為根據(jù)無免費午餐定理[5],一種算法無法解決所有問題,需要設(shè)計不同的求解算法來解決各種各樣的問題。絕大多數(shù)智能優(yōu)化算法是根據(jù)生物學(xué)原理或者物理學(xué)原理所蘊含的優(yōu)化機制進行設(shè)計的[6-8]。也正因為此,受到自身優(yōu)化機制的限制,這些算法在實際應(yīng)用中會或多或少暴露出其固有的一些缺陷[9-12]。智能優(yōu)化算法的設(shè)計需要從對生物學(xué)原理或者物理學(xué)原理的模擬擴大到更大的范圍。
陰陽是中國最古老的哲學(xué)觀念之一,如《易經(jīng)?系辭上》中“一陰一陽之謂道”。陰陽最初涵義是表示陽光的向背,向日為陽,背日為陰,后引申為寒與熱、上與下、動與靜等。一般來說,外向的、上升的、溫?zé)岬?,都屬于陽;?nèi)守的、下降的、寒冷的,都屬于陰。陰和陽二者既相互對立,又相互依存。陰陽之間這種互相依存的關(guān)系,稱之為陰陽互根。而對立互根的陰陽雙方,并不是處于靜止不變的狀態(tài),而是始終處于不斷的運動之中,有陰陽互為消長、陰陽皆長和皆消等變化形式。而陰陽平衡就是陰陽雙方的變化保持協(xié)調(diào),呈現(xiàn)一種和諧的狀態(tài)?!瓣幤疥柮亍本褪菍@種理想狀態(tài)的概括[13]。
受到陰陽學(xué)說的啟發(fā),印度學(xué)者 Punnathanam 等[14]于2016 年提出了陰陽平衡優(yōu)化(Yin-Yang-Pair Optimization,YYPO)算法,源自對全局探索和局部開發(fā)平衡的模擬。在智能優(yōu)化算法中,全局探索和局部開發(fā)是必備的兩個組成部分:全局探索主要目的是對算法空間進行更全面的搜索,希望發(fā)現(xiàn)更多的未知區(qū)域;而局部開發(fā)主要目的是對已知區(qū)域進行更為精細(xì)的搜索,希望獲得質(zhì)量更好的新解[15-17]。而在有限的計算時間內(nèi),如何實現(xiàn)全局探索和局部開發(fā)的平衡一直是智能優(yōu)化算法設(shè)計中極具挑戰(zhàn)性的問題。YYPO 算法則將全局探索和局部開發(fā)的均衡視為陰陽平衡的一種實現(xiàn)形式。
在YYPO 算法中,首先隨機產(chǎn)生兩個初始點。其中,適應(yīng)度值較好的點用P1表示,適應(yīng)度值較差的點用P2表示。然后以P1為中心、δ1為步長在半徑為1 的超球體內(nèi)進行搜索。對點P2,設(shè)置步長δ2,進行同樣的上述操作。在上述過程中,搜索步長δ1將逐漸變小而δ2將逐漸增大。因此,基于點P1的優(yōu)化搜索范圍會逐步縮小而進行精細(xì)化尋優(yōu),在YYPO 算法中稱之為局部開發(fā),含有向內(nèi)收縮之義,和陰相對應(yīng);而基于點P2的優(yōu)化搜索范圍會逐步變大而對更多未知區(qū)域進行尋優(yōu),在算法中稱之為全局探索,含有向外擴張之義,和陽相對應(yīng)?;邳cP1的局部開發(fā)和基于點P2的全局探索是算法兩個必備的組成部分,含有陰陽互根之義?;邳cP1的優(yōu)化搜索要求在較小的區(qū)域內(nèi)進行,而基于點P2的優(yōu)化搜索要求在較大的區(qū)域內(nèi)進行,含有陰陽對立之義。在整個優(yōu)化過程中,基于點P1的局部開發(fā)和基于點P2的全局探索的強度不斷增加,含有基于互根的陰陽皆長(陰陽消長的一種形式)之義。算法不斷重復(fù)上述優(yōu)化過程,期望實現(xiàn)全局探索和局部開發(fā)的均衡,含有陰陽平衡之義。
YYPO 算法自提出以來就備受研究人員的關(guān)注。文獻[18]中提出了一種簡化版的YYPO 算法;文獻[19]中提出了一種自適應(yīng)YYPO 算法;文獻[20]中提出了一種混合YYPO算法等。這些新方法為YYPO 算法的研究提供了參考,但是算法在求解復(fù)雜困難的優(yōu)化問題時容易早熟收斂,優(yōu)化潛力有待進一步提高[18-21]。
現(xiàn)有研究表明,只有進一步增強全局探索和局部開發(fā)能力,才能提高YYPO算法的優(yōu)化性能[18-21]。從算法設(shè)計角度考慮,利用混沌可以提高算法的全局探索能力。和陰陽學(xué)說一樣,混沌思想也是中國傳統(tǒng)文化重要組成部分。在中國古代宇宙生成論中,混沌是個重要階段,有所謂“混沌初開,乾坤始奠。”混沌關(guān)于宇宙生成階段的描述是指一種原始未分化的狀態(tài),包含一切可能性的狀態(tài)。而在智能優(yōu)化算法中,基于混沌的遍歷性等性質(zhì),混沌搜索已經(jīng)成功用于優(yōu)化算法設(shè)計中。本文也將混沌搜索引入YYPO 算法中,利用混沌的遍歷性擴大對未知區(qū)域的搜索范圍,提高算法全局探索能力。此外,同樣從智能優(yōu)化算法設(shè)計角度分析,《易經(jīng)》的卦象變化也蘊含了優(yōu)化思想。和陰陽學(xué)說類似,陰陽也是《易經(jīng)》最核心的概念?!兑捉?jīng)》的卦象就建立在陰陽變化的基礎(chǔ)之上。例如,本卦的錯卦就是陰陽爻互換,易理是看待問題可以從相反的角度來分析。與此類似,當(dāng)算法陷入局部極值時,可以對當(dāng)前解的反向解進行集中優(yōu)化搜索,提高算法的局部開發(fā)能力。同時根據(jù)文獻[21]中的研究,當(dāng)前解有50%的概率比其反向解更遠離最優(yōu)解。在本文的算法設(shè)計中,錯卦變換將通過反向?qū)W習(xí)(Opposition-Based Learning,OBL)策略實現(xiàn)。本文提出了基于混沌搜索和錯卦變換的YYPO(Yin-Yang-Pair Optimization based on Chaos Search and Intricate Operator,CSIOYYPO)算法,通過大量標(biāo)準(zhǔn)測試函數(shù)進行數(shù)值實驗的結(jié)果表明,該算法具有更高的計算精度和更快的優(yōu)化速度。
受太極圖(圖1)啟發(fā),YYPO 算法的搜索空間為半徑為1的超球體。點P1和P2的搜索范圍限制在0到1之間。在對P1和P2兩個點進行隨機初始化后,利用P1和P2兩個點進行優(yōu)化搜索。其中,基于點P1的搜索對應(yīng)局部開發(fā),而基于點P2的搜索對應(yīng)全局探索。
圖1 太極圖Fig. 1 Taiji diagram
算法在具體實現(xiàn)時,主要包括基于超球體的解更新和基于歸檔集的解更新兩個部分[14]。以下給出這兩個部分所采用的主要方法。
算法在解的更新時,分別以 P1和 P2為中心、δ1和 δ2為步長在超球體內(nèi)進行搜索。因為基于點P1和P2的更新方法相同,方便起見,令P表示待更新的點,δ表示步長。將待更新的點 P 進行復(fù)制,產(chǎn)生 2D 個相同的點,分別用 NP1,NP2,…,NP2D表示。其中,D 表示變量維數(shù)。更新方法主要分為點的一個分量更新和所有分量更新兩種方式。點的一個分量更新方法如下:
在進行點的全部分量更新時,還要生成一個規(guī)模為2D ×D 的二進制矩陣B,并且要求每一行對應(yīng)的二進制串互不相同。以下給出點的全部分量的更新方法:
在進行基于P1和P2兩個點的優(yōu)化搜索時,點的一個分量更新方法和所有分量更新方法都以相同的概率(50%)被選擇。如果產(chǎn)生的新分量取值范圍在區(qū)間[0,1]之外,那么將其在0 到1 之間隨機取值。此外,在產(chǎn)生新的點后,為計算其適應(yīng)度函數(shù)值,需要將其映射到問題的解空間,具體方法如下:
基于點P1產(chǎn)生的2D 個新解中,選擇適應(yīng)度函數(shù)值最好的點,不管其是否優(yōu)于P1都用其替換P1。類似的,基于點P2產(chǎn)生的2D 個新解中,也選擇適應(yīng)度函數(shù)值最好的點直接替換P2。
在基于超球體的解更新階段中,基于P1新產(chǎn)生的適應(yīng)度值最好點可能會劣于P1,對P2也會出現(xiàn)相同的情況。為保留當(dāng)前最好的P1和P2,算法在基于超球體的解更新階段前,將這兩個點保存在歸檔集archive 中。在算法迭代過程中,每隔I代就利用歸檔集中保存的2I個點對P1和P2兩個點進行更新。其中:參數(shù)I表示更新頻率,且I在區(qū)間[Imin,Imax]內(nèi)隨機產(chǎn)生;Imin和Imax為預(yù)設(shè)的整數(shù),并要求Imin<Imax。
基于歸檔集的更新階段實際上采用的是精英保留策略,最好的解能夠被保留并用于引導(dǎo)后續(xù)的搜索。具體方法如下:首先從歸檔集中選擇適應(yīng)度值最好的點,并用Q1表示,如果Q1優(yōu)于P1,那么兩個點交換取值;然后繼續(xù)從歸檔集剩下的點中選擇適應(yīng)度值最好的點,并用Q2表示,如果Q2優(yōu)于P2,那么兩個點也交換取值;最后,在該段結(jié)束前,將歸檔集清空,并重新生成更新頻率I。
在該階段,還需要對搜索步長δ1和δ2進行動態(tài)調(diào)整,具體方法如下:
其中:α是收縮/擴張因子;δ1是點P1的搜索步長,δ2是點P2的搜索步長。
基于點P1的優(yōu)化搜索對應(yīng)局部開發(fā),在迭代過程中參數(shù)δ1取值逐漸遞減,有利于點P1在較小的范圍內(nèi)進行精細(xì)搜索,有助于算法發(fā)現(xiàn)質(zhì)量更好的解;基于點P2的優(yōu)化搜索對應(yīng)全局探索,在迭代過程中參數(shù)δ2取值逐漸遞增,有利于點P2在較大的范圍內(nèi)進行廣域搜索,有助于算法發(fā)現(xiàn)質(zhì)量更好的解區(qū)域。但是為防止參數(shù)δ2無限增加,越過算法搜索空間的邊界,將其上限設(shè)為固定值
YYPO 算法獨特的搜索機制為智能優(yōu)化算法的研究提供了新的思路。但是基本算法在求解復(fù)雜困難的優(yōu)化問題時容易早熟收斂、陷入局部極值[18-21]。為解決上述問題,本文引入混沌搜索和錯卦變換,以進一步提高算法的全局探索和局部開發(fā)能力。
在YYPO 算法中,影響基于P2的全局探索能力的主要因素有搜索步長δ2和隨機變量r。算法通過不斷擴大搜索步長δ2,期望對更多的解區(qū)域進行搜索,不斷提高點P2的全局探索能力;但是隨機變量r不具有遍歷性,無法覆蓋所有的解區(qū)域。
從智能優(yōu)化算法設(shè)計角度分析,混沌具有遍歷性,可以提高算法的全局探索能力;而在智能優(yōu)化算法領(lǐng)域,基于混沌的遍歷性已經(jīng)得到成功應(yīng)用。基于此,本文算法將引入混沌搜索。
本文算法將混沌搜索引入到Y(jié)YPO 算法中的第一個階段,即基于超球體的解更新階段。該階段主要由式(1)、(2)組成,在這四個迭代方程中都存在隨機變量,即在[0,1]區(qū)間服從均勻分布的隨機變量r。新算法將采用混沌變量替換隨機變量,基于混沌的遍歷性對解空間進行搜索,提高算法的優(yōu)化性能。
Logistic 映射是混沌動力學(xué)中一種常見模型,其數(shù)學(xué)表達式為:
他反反復(fù)復(fù)地練習(xí)滑翔,早早便成為了云浮“飛”得最遠的人。但那種借助外物機械帶來的飛行體驗,又怎能滿足得了他的心呢?他無數(shù)次地坐在山巔,仰望無盡的蒼穹,望著云浮山上空飛過的雄鷹和鴻雁,望著云浮山下飛過的雨燕和黃鸝,他無數(shù)次地想,如果能飛一次,哪怕只有一次,此生也便無憾事了。
Logistic映射對應(yīng)的迭代方程為:
其中:xk表示混沌變量在第k次迭代時的取值;μ為控制參數(shù),且μ∈ [0,4]。在設(shè)計優(yōu)化算法時,混沌變量由式(7)產(chǎn)生。對于給定的μ和x0,迭代序列x1,x2,…,xn組成xk→xk+1的映射運算。
通常情況下,正的Lyapunov 指數(shù)意味著混沌。當(dāng)μ∈ [3.569 945 672,4]時,Lyapunov 指數(shù)為正數(shù),系統(tǒng)呈現(xiàn)混沌狀態(tài);當(dāng)μ= 4時,Lyapunov指數(shù)達到最大值0.69,系統(tǒng)處于完全混沌狀態(tài)。
在利用Logistic 映射產(chǎn)生混沌變量進行優(yōu)化搜索時,首先對式(9)中的x0賦初始值(不能取Logistic 映射的不動點:0.25,0.5 和0.75)。然后根據(jù)式(7),計算產(chǎn)生的混沌變量xk。如果進行一個分量更新,每次需要產(chǎn)生2D個混沌變量;如果進行所有分量更新,每次需要產(chǎn)生2D×D混沌變量。
另外,需要指出的是混沌還有規(guī)律性和隨機性等特點。規(guī)律性是指混沌可以由確定型迭代方程產(chǎn)生,這將為優(yōu)化算法設(shè)計提供有利條件;混沌的隨機性則是指對于初始條件極其敏感,初始條件的微小變化可導(dǎo)致軌道按照李雅普諾夫指數(shù)方式迅速分離。因此,將混沌搜索引入YYPO 算法中,初始條件的設(shè)置會對算法的優(yōu)化性能產(chǎn)生一定影響。
除利用混沌搜索提高全局探索能力外,算法的局部開發(fā)能力也需要進一步提高。YYPO 算法在利用點P1進行局部開發(fā)時,易陷入局部極值[20]。如何增強局部開發(fā)能力、跳出局部最優(yōu)一直是智能優(yōu)化算法領(lǐng)域的研究熱點。對智能優(yōu)化算法而言,《易經(jīng)》的卦象變化同樣蘊含了優(yōu)化思想,可以為算法設(shè)計提供借鑒。例如一卦共有六爻,在爻的位置不變的情況下,通過“陰變陽、陽變陰”的法則,得出的另一卦叫錯卦。例如圖2(其中,“—”表示陽爻,“--”表示陰爻),乾卦變作坤卦,坤卦就是乾卦的錯卦;同時,乾卦也是坤卦的錯卦。錯卦的理是立場相同,目標(biāo)一致,但從相反的角度看問題。
圖2 錯卦變換示意圖Fig. 2 Schematic diagram of intricate operator
與錯卦變換類似,當(dāng)算法陷入局部極值時,可以考慮采用當(dāng)前解的反向解進行優(yōu)化搜索。文獻[22]中的研究表明,當(dāng)前解有50%的概率比其反向解更遠離最優(yōu)解。
基于《易經(jīng)》的錯卦變化規(guī)則,可以采用反向?qū)W習(xí)策略實現(xiàn)。反向?qū)W習(xí)策略由Tizhoosh 在2005 年提出,在優(yōu)化領(lǐng)域已經(jīng)得到成功應(yīng)用[22],其基本原則是同時考慮變量的當(dāng)前值與其反向值,并通過比較獲得該變量的最優(yōu)取值。Rahnamayan等[22]對反向?qū)W習(xí)策略進行理論分析,研究表明采用反向?qū)W習(xí)策略生成當(dāng)前解的反向解,能夠充分挖掘出反向解中的優(yōu)化信息,有助于提高算法局部開發(fā)性能,以更大的概率逼近全局最優(yōu)解。通過預(yù)研,本文采用基于形心的反向解學(xué)習(xí)策略。具體方法如下:
綜上所述,給出基于混沌搜索和錯卦變換的YYPO 算法的主要計算步驟如下:
步驟1 對P1和P2兩個點進行隨機初始化。
步驟2 計算點P1和P2對應(yīng)的適應(yīng)度函數(shù)值。
步驟3 若點P1對應(yīng)解優(yōu)于點P2對應(yīng)解,則互換兩個點的取值和對應(yīng)搜索半徑。
步驟4 在基于超球體的解更新階段,以等概率方式分別對點P1和P2進行混沌搜索。
步驟5 基于錯卦變換機制,采用基于形心的反向解學(xué)習(xí)策略。
步驟6 若間隔的迭代次數(shù)等于更新頻率I,則采用基于歸檔集的解更新策略;否則,轉(zhuǎn)步驟7。
步驟7 若滿足算法停止條件,則輸出當(dāng)前最優(yōu)結(jié)果;否則,轉(zhuǎn)步驟2。
為驗證本文CSIOYYPO 算法的性能,首先將其與基本YYPO 算法以及自適應(yīng)陰陽平衡(Adaptive Yin-Yang Pair Optimization,AYYPO)算法進行比較;然后將CSIOYYPO 算法和PSO 算法、引力搜索算法(Gravitational Search Algorithm,GSA)和布谷鳥搜索(Cuckoo Search,CS)算法等其他類型智能優(yōu)化算法進行比較。所有算法在Windows 10 下,采用Matlab(R2016b)編程實現(xiàn)。采用13 個標(biāo)準(zhǔn)測試函數(shù)[22]進行數(shù)值實驗,這些函數(shù)的具體定義如下:
搜索范圍為[-100,100],最優(yōu)值為0。
搜索范圍為[-10,10],最優(yōu)值為0。
搜索范圍為[-5.12,5.12],最優(yōu)值為0。
搜索范圍為[-32,32],最優(yōu)值為0。
其中:
搜索范圍為[-50,50],最優(yōu)值為0。
搜索范圍為[-50,50],最優(yōu)值為0。
搜索范圍為[-1.28,1.28],最優(yōu)值為0。
搜索范圍為[-10,10],最優(yōu)值為0。
搜索范圍為[-1,1],最優(yōu)值為-3。
搜索范圍為[-5,5],最優(yōu)值為0。
搜索范圍為[-15,15],最優(yōu)值為0。
其中:
搜索范圍為[-5,5],最優(yōu)值為0。
搜索范圍為[-1,1],最優(yōu)值為0。
絕大多數(shù)智能優(yōu)化算法屬于隨機優(yōu)化方法,同一個算法需要多次運行,統(tǒng)計其平均性能。為減少計算時間,可以對算法進行并行程序設(shè)計。此外,計算機都配備了雙核、四核甚至十六核的CPU,在體系結(jié)構(gòu)方面已具備了實現(xiàn)并行計算的硬件條件。目前,許多編程語言都支持多核并行編程。例如,Matlab 提供的并行計算工具箱(Parallel Computing Toolbox),可以利用parfor對for循環(huán)結(jié)構(gòu)進行并行化。
以CSIOYYPO 算法求解f1為例,比較并行和串行的計算時間差異。算法參數(shù)設(shè)置為:Imin= 1,Imax= 2,a = 2 和α = 25;此外,δ1和 δ2的初值均為 0.5,δmax2= 0.75。需要指出的是,混沌搜索對初始值比較敏感。在實驗中根據(jù)文獻[3]中的研究結(jié)論,控制參數(shù)μ = 4 且初始值x0= 0.202 7。每次最大迭代次數(shù)為4 000,循環(huán)次數(shù)為10。由于Matlab 并行計算工具箱已經(jīng)隱藏了多進程和多線程操作,故而可直接利用parfor對for 循環(huán)進行并行計算。所有數(shù)值實驗均在CPU 為Intel Xeon E-2186M、32 GB 內(nèi)存、2.90 GHz 主頻的工作站運行。在實驗時,調(diào)用6 核進行并行計算。實驗發(fā)現(xiàn),for 循環(huán)耗時231.310 909 s,而parfor 循環(huán)僅耗時58.465 434 s。為進一步比較parfor 和for 兩種循環(huán)計算時間的差異,循環(huán)次數(shù)從1 增加到50,運行時間對比如圖3 所示。從圖3 可以發(fā)現(xiàn),當(dāng)循環(huán)次數(shù)為1 時,parfor 和for 兩種循環(huán)計算時間差不多;但是隨著循環(huán)次數(shù)的增多,parfor循環(huán)計算時間顯著減少,通過parfor實現(xiàn)的程序并行執(zhí)行提高了運行效率?;诖?,本文所有算法均采用parfor循環(huán)結(jié)構(gòu)進行并行程序設(shè)計,以提高計算效率。
為驗證CSIOYYPO 算法能否提高搜索性能,首先將其與基本YYPO 算法以及AYYPO 算法的實驗結(jié)果進行比較。為公平起見,三種算法設(shè)置相同的函數(shù)評價次數(shù)480 000。本文算法參數(shù)設(shè)置不變,基本YYPO 算法和AYYPO 算法的參數(shù)分別根據(jù)文獻[17]和[19]進行設(shè)置。三種算法分別運行200次,每次運行時算法設(shè)置相同的初始解。分別統(tǒng)計最優(yōu)值、最差值、平均值和標(biāo)準(zhǔn)差等指標(biāo),實驗結(jié)果如表1所示。
圖3 parfor和for兩種循環(huán)計算時間對比Fig. 3 Calculation time comparison between parfor and for loops
由表1 可知:CSIOYYPO 算法對11 個函數(shù)(包括f1、f2、f3、f4、f5、f6、f7、f8、f11、f12和f13)的結(jié)果顯著優(yōu)于YYPO 算法,對12 個函數(shù)(包括f1、f2、f3、f4、f5、f6、f7、f8、f10、f11、f12和f13)的結(jié)果明顯優(yōu)于 AYYPO 算法。尤其對f2和f11,CSIOYYPO 算法能夠收斂到理論最優(yōu)值,且標(biāo)準(zhǔn)差為零。對f9而言,三種算法都獲得了相同的最優(yōu)值、最差值和平均值,但是CSIOYYPO 算法的標(biāo)準(zhǔn)差稍劣于YYPO 算法和AYYPO 算法。對f10而言,YYPO 算法在最優(yōu)值方面具有一定的優(yōu)勢,而CSIOYYPO 算法在最差值、平均值和標(biāo)準(zhǔn)差三個方面優(yōu)勢顯著。
綜上所述,在同樣的評價次數(shù)下,CSIOYYPO 算法具有更高的計算精度。此外,對絕大多數(shù)測試函數(shù),CSIOYYPO 算法的標(biāo)準(zhǔn)差是最小的,說明算法的穩(wěn)定性是最好的。為進一步比較這三種陰陽平衡優(yōu)化算法的優(yōu)化速度,部分函數(shù)的尋優(yōu)過程對比如圖4 所示。由圖4 可以看出,相較YYPO 算法和AYYPO 算法,CSIOYYPO 算法不僅具有更高的計算精度,而且具有更快的優(yōu)化速度?;趥鹘y(tǒng)文化中混沌概念引入的混沌搜索、以及《易經(jīng)》中錯卦變換引入的反向?qū)W習(xí)策略能夠提高YYPO 算法的搜索性能?;煦缢阉鞒浞掷闷浔闅v性對更多的未知區(qū)域進行廣度搜索,提高算法的全局探索能力;在此基礎(chǔ)上,根據(jù)反向?qū)W習(xí)策略,一個解有50%的概率不如其反向解優(yōu)秀,算法對當(dāng)前解的反向解進行集中搜索,以提高算法的局部開發(fā)能力,并加快優(yōu)化速度?;煦缢阉骱头聪?qū)W習(xí)策略可以更好地實現(xiàn)算法全局探索和局部開發(fā)的平衡。
為進一步測試CSIOYYPO 算法的性能,將它與PSO、GSA和CS 等其他類型智能優(yōu)化算法進行比較。CSIOYYPO 算法參數(shù)設(shè)置保持不變,其他三種算法分別采用文獻[17,24-25]中參數(shù)設(shè)置。這四種算法仍然采用并行程序設(shè)計,每種算法分別獨立20 次,統(tǒng)計最優(yōu)值、最差值、平均值和標(biāo)準(zhǔn)差等指標(biāo),實驗結(jié)果如表2 所示。由表2 可以看出:與其他類型的智能優(yōu)化算法相比較,本文的CSIOYYPO 算法依然占有較大的優(yōu)勢,在絕大多數(shù)測試函數(shù)上都獲得了更優(yōu)的計算效果,算法計算精度更高。
圖5 給出了這四種算法部分函數(shù)尋優(yōu)過程對比。從圖5可以看出,與 PSO 算法、GSA 和 CS 算法等相比較,CSIOYYPO算法不僅具有更高的計算精度,而且具有更快的優(yōu)化速度。智能優(yōu)化算法的核心是有效權(quán)衡全局探索和局部開發(fā)。如果算法沒有引入有利于全局探索和局部開發(fā)平衡的策略,那么算法的優(yōu)化性能較差,易陷入局部極值。本文算法仍然能夠獲得最好的優(yōu)化效果,主要是因為:引入混沌搜索對更多區(qū)域進行探索,提高了全局探索能力;同時基于錯卦變換引入反向?qū)W習(xí)策略,對當(dāng)前解的反向解進行集中搜索,提高了局部開發(fā)能力,有效地協(xié)調(diào)了算法的探索與開發(fā)能力,確保在整體上能夠提高算法的優(yōu)化性能。
圖4 三種YYPO算法尋優(yōu)過程對比Fig.4 Optimization process comparison of three kinds of YYPO algorithms
表1 三種YYPO算法的實驗結(jié)果Tab. 1 Experimental results of three kinds of YYPO algorithms
表2 不同類型智能優(yōu)化算法的實驗結(jié)果Tab. 2 Experimental results of different intelligent optimization algorithms
續(xù)表
源于陰陽學(xué)說的陰陽平衡優(yōu)化算法為智能優(yōu)化算法設(shè)計提供了獨特視角,也開啟了弘揚傳統(tǒng)文化的新途徑。為解決基本YYPO 算法早熟收斂等問題,基于混沌的遍歷性,將混沌搜索引入到算法中,對更多區(qū)域進行搜索以提高算法全局探索能力;基于錯卦變換引入反向?qū)W習(xí)策略,對當(dāng)前解的反向解進行集中搜索以提高局部開發(fā)能力。為充分利用多核處理器計算資源,算法采用并行程序設(shè)計,提升計算速度。大量的數(shù)值實驗結(jié)果表明,新算法不僅具有更高的優(yōu)化精度而且具有更快的搜索速度。將五行等中國傳統(tǒng)文化融入YYPO 算法設(shè)計中是進一步的研究工作。此外,將算法用于多目標(biāo)優(yōu)化也是下一步的工作。