王貴林,李 斌
(福建工程學(xué)院交通運(yùn)輸學(xué)院,福州 350118)
(*通信作者電子郵箱whutmse2007_lb@126.com)
Gargari 等[1]于2007 年提出了帝國競爭算法(Imperialist Competitive Algorithm,ICA),其靈感源于人類社會(huì)帝國殖民競爭機(jī)制,是一種完全受社會(huì)行為啟發(fā)的群體隨機(jī)優(yōu)化搜索算法。該算法自提出后,已在不同領(lǐng)域得到廣泛研究應(yīng)用。例如,Bernal 等[2]探討了ICA 在數(shù)學(xué)函數(shù)優(yōu)化中的應(yīng)用;陳孟輝等[3]、Liu 等[4]、張清勇等[5]分別運(yùn)用ICA 求解旅行商問題、非線性約束優(yōu)化問題和異構(gòu)工廠分布式并行機(jī)調(diào)度問題;Fan等[6]、Khalilnejad 等[7]、顏波等[8]基于ICA,分別對起重機(jī)金屬結(jié)構(gòu)、風(fēng)力/光伏混合電解槽和多產(chǎn)品供應(yīng)鏈設(shè)計(jì)過程進(jìn)行了優(yōu)化;Hasanzade-Inallu 等[9]、劉敬浩等[10]將ICA 與神經(jīng)網(wǎng)絡(luò)結(jié)合,分別用于預(yù)測混凝土梁的抗剪強(qiáng)度、構(gòu)造入侵檢測模型;Illias等[11]、李明等[12]使用ICA估算微變壓器參數(shù)、實(shí)現(xiàn)高維多目標(biāo)柔性作業(yè)車間調(diào)度。原始ICA 局部搜索能力較強(qiáng),收斂快,但由于群體多樣性在迭代過程中降低過快、帝國之間缺乏有效的信息交互等問題,容易“早收早斂”,特別是在優(yōu)化高維多模問題時(shí),易陷入局部最優(yōu)。
針對上述問題,國內(nèi)外已有許多學(xué)者對ICA 的性能改進(jìn)以及實(shí)際應(yīng)用進(jìn)行了大量的研究,也取得了一定的進(jìn)展。例如,算法的提出者Gargari[13]給出了改進(jìn)算法的Mathlab 源代碼,調(diào)整了殖民地的權(quán)值,增加了殖民地革命和帝國合并機(jī)制;郭秀萍等[14]引入變鄰域搜索,增加了種群多樣性,改善了解的質(zhì)量并提高了算法效率;Bahrami等[15]利用混沌映射來調(diào)整殖民地向帝國位置的運(yùn)動(dòng)角度;Lin等[16]用人工產(chǎn)生國家取代較弱的帝國主義國家,以此來增強(qiáng)帝國之間的信息交互;Ardeh 等[17]通過引入探索者和保留策略的概念,采用動(dòng)態(tài)種群機(jī)制對原算法進(jìn)行了改進(jìn);Xu 等[18]引入高斯變異、柯西變異和萊維變異等變異算子來改變帝國主義者行為;郭婉青等[19]采用微分進(jìn)化算子和克隆進(jìn)化算子增強(qiáng)殖民地之間、帝國之間的信息交互。這些改進(jìn)方案主要采用調(diào)整算法流程、引入隨機(jī)因素、融合其他算法等方式實(shí)現(xiàn),雖然在不同程度上提升了算法的尋優(yōu)性能和穩(wěn)定性,但普遍缺乏對核心運(yùn)行機(jī)制的研究改進(jìn),難以從根本上解決ICA 存在的問題;沒有加入判斷并跳出局部最優(yōu)的方案,限制了算法對高維多模函數(shù)的適用性;同時(shí),個(gè)別復(fù)雜因子的引入也在一定程度上降低了算法的運(yùn)行效率。
本文借鑒中國歷史上春秋戰(zhàn)國時(shí)期諸侯國競爭稱霸的行為對ICA 進(jìn)行改進(jìn),命名為受春秋戰(zhàn)國史實(shí)啟發(fā)的帝國競爭改進(jìn)算法(Improved ICA Inspired by Spring and Autumn Period,SAICA),探索解決原始ICA 受初始國家影響大、帝國間缺乏有效信息交互、容易早收早斂等問題。通過在標(biāo)準(zhǔn)函數(shù)和CEC2017 測試函數(shù)上進(jìn)行實(shí)驗(yàn)對比,驗(yàn)證了改進(jìn)算法的全局搜索、穩(wěn)定性及跳出局部最優(yōu)能力。經(jīng)Kendall相關(guān)性分析顯示,改進(jìn)算法與原始算法具有顯著差異性,且同化過程的改進(jìn)措施發(fā)揮了關(guān)鍵的作用。
ICA 的基本流程如圖1 所示,可歸納為國家初始化、殖民地同化、帝國競爭、國家匯聚四個(gè)流程。
定義初始國家為:
與遺傳算法每一個(gè)向量代表一個(gè)染色體不同的是,數(shù)列中的每一維代表國家的一個(gè)特征。
國家的勢力值由所求的函數(shù)值來表示,即:
算法開始時(shí),隨機(jī)產(chǎn)生Npop個(gè)初始國家,并根據(jù)勢力大小劃分為兩種類型:勢力最大的前Nimp個(gè)國家為宗主國,其余的為殖民地國家,按照下列流程,根據(jù)宗主國的勢力來劃分殖民地的歸屬國。
1)根據(jù)各個(gè)帝國對應(yīng)的函數(shù)值cn,計(jì)算帝國主義國家的歸一化勢力值Cn:
2)計(jì)算歸一化勢力的相對值Pn,以此得出每個(gè)帝國占有殖民地的初始數(shù)量NCn:
其中:Ncol表示殖民地國家的數(shù)目;round{}為四舍五入取整函數(shù)。
3)將所有殖民地國家隨機(jī)分配到各宗主國,組成初始的Nimp個(gè)帝國。
圖1 帝國競爭算法流程Fig.1 Fowchart of ICA
宗主國為了便于管轄其擁有的殖民地國家,需要在政治、經(jīng)濟(jì)、文化等各方面進(jìn)行殖民同化,算法通過殖民地向宗主國移動(dòng)來表示,其移動(dòng)過程如圖2所示。
其中:x表示移動(dòng)距離;d表示殖民地和宗主國間的距離;β為移動(dòng)參數(shù),取值大于1 使殖民地國家能從前后方向朝宗主國靠近;為了擴(kuò)大搜索范圍,加入一個(gè)隨機(jī)的角度偏移參數(shù)θ,其中γ值一般為π4。
圖2 殖民地移動(dòng)過程Fig.2 Colony moving process
在同化過程中,如果移動(dòng)后某個(gè)殖民地勢力大于其宗主國,則殖民地和宗主國互換位置,帝國中的其他殖民地向新宗主國的位置移動(dòng)。這個(gè)過程確保了宗主國的位置在尋優(yōu)過程中始終保持相對最優(yōu)。
所有宗主國都想要占領(lǐng)其他宗主國的殖民地以增強(qiáng)帝國的勢力,這種競爭機(jī)制使強(qiáng)大的帝國更加強(qiáng)大,弱小的帝國將逐漸衰落,直至消亡。原始ICA 選取最弱帝國中的最弱殖民地作為帝國競爭的對象,所有帝國都有機(jī)會(huì)占有這個(gè)殖民地國家,且帝國勢力越大,占有的概率越大。
帝國勢力值TCn的計(jì)算方法如下:
其中:Cost(imperialistn) 為宗主國的歸一化勢力值;Cost(colonies)為帝國所轄殖民地的歸一化勢力值;mean{}為均值函數(shù);ξ表示殖民地占帝國勢力的權(quán)重值??梢钥闯?,帝國總勢力值為宗主國及其所轄殖民地的勢力值之和。
競爭過程中,勢力較弱的帝國因失去殖民地而越發(fā)弱小,直至所有殖民地被其他帝國所占有,則該帝國滅亡。
經(jīng)過多次迭代,帝國相繼滅亡,在理想狀態(tài)下,最后僅留存唯一一個(gè)統(tǒng)轄所有殖民地的國家。此時(shí),所有國家都匯聚于一點(diǎn),宗主國和殖民地的勢力值完全相同,算法結(jié)束。
春秋戰(zhàn)國時(shí)期(公元前770 年—公元前221 年)又稱東周時(shí)期。周朝初期,周王朝把宗室和功臣分封到各個(gè)戰(zhàn)略要地或王室周圍,以達(dá)到屏藩王室和開疆拓土的職責(zé),從而形成了上千之多的諸侯國。春秋初期,平王東遷洛陽,周室開始衰微,中原各國也因社會(huì)經(jīng)濟(jì)條件不同,國家間爭奪霸主的局面逐漸顯現(xiàn)。大國依靠強(qiáng)大的政治軍事力量,不斷侵吞兼并小國,強(qiáng)化勢力范圍;小國也通過變革、合并等方式以期獲得一定的生存空間。經(jīng)過二三百年,至春秋后期,僅剩下幾十個(gè)較大的諸侯國。到戰(zhàn)國時(shí)期,形成七雄爭霸的格局,直至秦滅六國,統(tǒng)一天下。
在這段歷史時(shí)期,一種奇特的外交策略應(yīng)運(yùn)而生——“合縱連橫”。即在國家斗爭過程中,較弱的國家為了生存,互相聯(lián)合借以抵抗強(qiáng)大國家的侵襲。抵抗一經(jīng)失敗,又紛紛投靠強(qiáng)國以圖自保,形成了“合眾弱以攻一強(qiáng)”的“合縱”策略及“事一強(qiáng)以攻眾弱”的“連橫”策略。
ICA 模擬帝國競爭機(jī)制,通過非最優(yōu)解向較優(yōu)解靠近、較優(yōu)解的位置更新、競爭匯聚等實(shí)現(xiàn)尋優(yōu)能力。SAICA 在保留ICA核心思想基礎(chǔ)上,提出了三種改進(jìn)措施,具體步驟如下:
1)初始化設(shè)置,包括初始國家數(shù)量Npop、帝國數(shù)量Nimp、殖民地?cái)?shù)量Ncol、移動(dòng)參數(shù)值β、迭代次數(shù)。
2)隨機(jī)產(chǎn)生初始國家,按照歸一化勢力值區(qū)分強(qiáng)國和弱國,強(qiáng)國直接保留,弱國聯(lián)合產(chǎn)生新的國家。新國家勢力值的大小將決定其取代已有強(qiáng)國或被淘汰,最后留存的國家進(jìn)入帝國競爭。
3)由勢力最強(qiáng)的Nimp個(gè)國家擔(dān)任宗主國分別組成帝國,并占有相應(yīng)比例的殖民地。帝國內(nèi)部的每個(gè)殖民地各特征向量分別向宗主國對應(yīng)的特征向量移動(dòng)靠近,移動(dòng)過程中如果殖民地勢力值大于宗主國,則取而代之,其他殖民地向新的宗主國移動(dòng)。
4)計(jì)算帝國總歸一化勢力值,最弱帝國的最弱殖民地將被其他帝國占有,占有概率與帝國勢力成正比。殖民地為零的帝國將淘汰滅亡。
5)連續(xù)出現(xiàn)相同最優(yōu)值則判斷是否陷入局部最優(yōu),根據(jù)設(shè)定的跳出方案擺脫困境。
6)反復(fù)迭代,直至達(dá)到設(shè)定的最大迭代次數(shù)。
改進(jìn)算法的流程如圖3所示。
圖3 SAICA流程Fig.3 Flowchart of SAICA
2.2.1 改善初始國家產(chǎn)生機(jī)制
根據(jù)ICA 的原理分析,初始國家隨機(jī)產(chǎn)生導(dǎo)致難以保證種群的優(yōu)質(zhì)性和穩(wěn)定性。本文借鑒春秋戰(zhàn)國時(shí)期諸侯國競爭淘汰的歷史情況,嘗試一種新的初始國家產(chǎn)生機(jī)制,具體流程如圖4所示。
圖4 初始化國家流程Fig.4 Flowchart of country initialization
算法開始時(shí),隨機(jī)產(chǎn)生較大數(shù)量的國家,一般為ICA 國家數(shù)量的2~4倍,這樣既能通過競爭篩選保留質(zhì)量較好的國家,又不會(huì)對算法的復(fù)雜度及運(yùn)行效率產(chǎn)生較大影響。其中,一部分勢力較強(qiáng)的國家留用,其余相對弱小國家為避免淘汰,聯(lián)合其他國家增強(qiáng)勢力以圖自保。具體步驟如下:
1)按照一定數(shù)量隨機(jī)選擇聯(lián)合的國家。
2)計(jì)算各國家的勢力大小,獲得權(quán)值。
3)依據(jù)權(quán)值取各個(gè)國家的位置信息組建合并成新的國家,如果新國家勢力值超過留用國家,則取而代之,否則淘汰出局。
上述競爭篩選過程增強(qiáng)了國家間的信息交流,保留了優(yōu)良的位置信息,形成了較好的算法初始種群。
2.2.2 改進(jìn)帝國同化方式
ICA 帝國同化過程通過殖民地向宗主國整體移動(dòng)實(shí)現(xiàn),移動(dòng)參數(shù)β值取2.0 確保殖民地從前后兩個(gè)方向向宗主國靠近。在現(xiàn)實(shí)世界中,殖民同化一般伴隨政治、經(jīng)濟(jì)、文化等各層面滲透轉(zhuǎn)變。借鑒這一思想,將殖民地國家移動(dòng)過程變更為各特征分量向宗主國對應(yīng)的特征分量移動(dòng)過程,如圖5所示。
各特征分量單獨(dú)移動(dòng),若移動(dòng)參數(shù)值為β,則其最大的移動(dòng)距離為:
其中,di(i=1,2,…,n)為殖民地各特征分量與帝國對應(yīng)特征分量間的距離。為確保從正反兩面向目標(biāo)靠近,β取值應(yīng)大于1.0。經(jīng)反復(fù)測實(shí)驗(yàn)證:當(dāng)β取值由1.0 逐步增大時(shí),求解精度逐漸提升;不同的測試函數(shù)在β值取1.5~1.8 時(shí),能夠獲得最佳的尋優(yōu)精度;β取1.8 之后,求解精度又隨β值增大而逐漸降低。因此,針對不同的目標(biāo)函數(shù),將移動(dòng)參數(shù)β值限定在1.5~1.8 區(qū)間能獲得較好的效果。在實(shí)驗(yàn)或?qū)嶋H應(yīng)用中,可先進(jìn)行簡單的代入測試,明確參數(shù)值。
圖5 特征分量單獨(dú)移動(dòng)Fig.5 Feature components moving separately
為便于比較改進(jìn)算法與原算法移動(dòng)機(jī)制的區(qū)別,圖6 展示了二維平面上兩種算法的搜索范圍差異。ICA 的搜索范圍是以2d為半徑的扇形,改進(jìn)算法則是以各個(gè)分量的最大移動(dòng)范圍為邊構(gòu)成的矩形。一方面,各特征分量單獨(dú)移動(dòng)增強(qiáng)了靈活性和隨機(jī)性,開發(fā)能力更強(qiáng);另一方面,矩形搜索范圍相對較小,改善了多個(gè)目標(biāo)靠近時(shí)搜索區(qū)域的重疊與覆蓋問題(見圖7),效率更高。
圖6 搜索范圍對比Fig.6 Search scope comparison
2.2.3 增加跳出局部最優(yōu)的策略
針對原ICA 的“早熟”問題,提出了一種跳出局部最優(yōu)的策略:如果連續(xù)多次出現(xiàn)相同的最優(yōu)值,則判定陷入局部最優(yōu),此時(shí),宗主國按照選定的方案跳出局部最優(yōu)。
跳出局部最優(yōu)的方案有多種,本文給出了三種方案并進(jìn)行測試:一是取各宗主國的算術(shù)平均值作為新的移動(dòng)目標(biāo)點(diǎn),本文記為SAICA-Ⅰ;二是按照各個(gè)宗主國的勢力取加權(quán)平均值作為新的移動(dòng)目標(biāo)點(diǎn),本文記為SAICA-Ⅱ;三是宗主國自身一定比例的位置信息隨機(jī)發(fā)生改變,本文將這一比例設(shè)定為10%,記為SAICA-Ⅲ。前兩種方案構(gòu)建的新移動(dòng)目標(biāo)點(diǎn)都包含了其他宗主國的信息,增強(qiáng)了信息交互;第三種方案通過隨機(jī)變化跳出局部最優(yōu),提高了種群多樣性。
圖7 搜索區(qū)域交叉和覆蓋Fig.7 Search area crossing and covering
ICA 在平衡開發(fā)和勘探能力方面有所不足,缺乏有效的信息交互,帝國的合并、覆滅使種群多樣性快速降低,高維函數(shù)適用性不強(qiáng)。針對上述問題,SAICA 在初始化國家階段利用競爭淘汰機(jī)制增強(qiáng)信息交互,保留優(yōu)勢種群;在多次迭代后種群多樣性大幅降低階段增加跳出局部最優(yōu)的機(jī)制,為種群多樣性的恢復(fù)提供了一條路徑,二者前后呼應(yīng)配合。同時(shí),同化機(jī)制的改進(jìn),增強(qiáng)了搜索的靈活性和效率,在不影響勘探能力的前提下,提升了開發(fā)能力。因此,總體來看,改進(jìn)算法相較ICA,開發(fā)和勘探能力同時(shí)得到增強(qiáng),且勘探能力提升的措施相對更多,二者的平衡性更趨于合理。
為了測試SAICA 的性能,本文首先選取8 個(gè)經(jīng)典標(biāo)準(zhǔn)函數(shù)進(jìn)行實(shí)驗(yàn),如表1 所示,其中前兩個(gè)為單模函數(shù),其余為多模函數(shù)。
表1 標(biāo)準(zhǔn)測試函數(shù)Tab.1 Benchmark test functions
該實(shí)驗(yàn)對SAICA-Ⅰ、SAICA-Ⅱ、SAICA-Ⅲ與遺傳算法(Genetic Algorithm,GA)、粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法、原始ICA 進(jìn)行對比分析。各種算法在相同的硬件條件下分別獨(dú)立運(yùn)行50 次,每次運(yùn)行最大迭代次數(shù)Max_Iter為1 000,統(tǒng)計(jì)計(jì)算各算法運(yùn)行結(jié)果的最小值、均值及標(biāo)準(zhǔn)差,測試函數(shù)的維度分別取30、50 和100,實(shí)驗(yàn)結(jié)果如表2~4所示,其中最優(yōu)結(jié)果用粗體標(biāo)出。由分析可知,在30 維條件下,SAICA 對所有測試函數(shù)的尋優(yōu)能力優(yōu)于GA、PSO 和ICA;隨著維數(shù)的增加,各算法的尋優(yōu)精度均有所下降,但改進(jìn)算法仍保持一定的精度優(yōu)勢。
各算法在測試函數(shù)上的收斂曲線如圖8 所示,可以看出,SAICA 的曲線陡峭,且陡峭曲線到相對水平的轉(zhuǎn)折點(diǎn)出現(xiàn)得比較早,說明算法收斂快,與ICA 差別不大,相較GA和PSO算法有較大優(yōu)勢。測試的8 個(gè)標(biāo)準(zhǔn)函數(shù)均能在500 次迭代內(nèi)收斂至相對優(yōu)值,其中5 個(gè)能夠在100 次迭代內(nèi)完成。例如Sphere、Rastrigin函數(shù),SAICA用50次迭代就能達(dá)到GA和PSO算法1 000次迭代得到的最優(yōu)解。另外,SAICA 的收斂曲線呈現(xiàn)或多或少的起伏波動(dòng),其中Rastrigin、Michalewicz、Schwefel函數(shù)尤為明顯,這是陷入局部最優(yōu)后,跳出機(jī)制發(fā)揮了作用。
從SAICA 三種跳出局部最優(yōu)的方案對比分析可以看出,三者實(shí)驗(yàn)結(jié)果差別不大,特別是單模函數(shù)CF1、CF2 由于不存在局部最優(yōu),跳出機(jī)制不影響搜尋精度。對多模函數(shù)CF3~CF6,SAICA-Ⅲ相較前兩種方案,隨機(jī)因素的引入有利于提升種群多樣性,勘探能力更強(qiáng)一些,特別在求解高維函數(shù)時(shí),可通過迭代次數(shù)的增加,提高其尋優(yōu)精度。因此,后續(xù)的實(shí)驗(yàn)均采用第三種方案。
圖8 算法收斂曲線Fig.8 Algorithm convergence curves
為了驗(yàn)證改進(jìn)算法的尋優(yōu)性能和穩(wěn)定性,選擇CEC2017中的6 個(gè)測試函數(shù)(表5),與5 個(gè)具有代表性的先進(jìn)算法對比分析,分別為:策略自適應(yīng)差分進(jìn)化(Differential Evolution algorithm with Strategy adaptation,SaDE)算法、球形搜索進(jìn)化(Spherical Evolution,SE)算法、郊狼優(yōu)化算法(Coyote Optimization Algorithm,COA)與 灰 狼 優(yōu) 化(Grey Wolf Optimizer,GWO)算法的混合算法(Hybrid COA with GWO,HCOAG)、基于精英學(xué)習(xí)策略的動(dòng)態(tài)多群粒子群優(yōu)化(Dynamic Multi-Swarm Particle Swarm Optimization based on an Elite Learning Strategy,DMS-PSO-EL)算法以及基于多精英采樣和差分搜索的分布估計(jì)算法(Estimation Distribution Algorithm based on Multiple elites sampling and individuals Differential Search,EDA-M/D)。其中,SaDE 引入了自適應(yīng)學(xué)習(xí)機(jī)制,根據(jù)進(jìn)化的不同階段匹配向量生成策略及其控制參數(shù);SE 在傳統(tǒng)的超立方體搜索基礎(chǔ)上衍生出一種球形搜索模式,并引入了進(jìn)化算法;HCOAG 采用正弦交叉策略,將COA和GWO 的兩種改進(jìn)算法融合運(yùn)用;DMS-PSO-EL 把進(jìn)化過程劃分為前后兩個(gè)階段,采用動(dòng)態(tài)多群和學(xué)習(xí)策略實(shí)現(xiàn)勘探和開發(fā)能力的提升;EDA-M/D 借助多精英采樣與差分搜索的自適應(yīng)協(xié)同提升算法的尋優(yōu)性能和穩(wěn)定性。這些對比算法既包含經(jīng)典的進(jìn)化算法、粒子群算法的改進(jìn)型,又包含郊狼算法、分布估計(jì)等新型算法的優(yōu)化,涵蓋了策略調(diào)整、自適應(yīng)學(xué)習(xí)、算法混合等常用的改進(jìn)方案,且在仿真測試中都取得了較好的實(shí)驗(yàn)結(jié)果,具有較高的代表性。
表5 中f1 為單峰函數(shù),f4、f9 為簡單多峰函數(shù),f12、f16 為混合函數(shù),f29 為復(fù)合函數(shù),所有函數(shù)均經(jīng)過偏移翻轉(zhuǎn)。運(yùn)行迭代次數(shù)設(shè)置為1 000,每個(gè)測試函數(shù)至少運(yùn)行50 次,取運(yùn)行結(jié)果與最優(yōu)解差值的算術(shù)平均值和均方差進(jìn)行比較。其中,測試結(jié)果的算術(shù)平均值可以比較算法的尋優(yōu)能力,標(biāo)準(zhǔn)差可以比較算法的穩(wěn)定性。實(shí)驗(yàn)結(jié)果如表6 所示,所有算法計(jì)算結(jié)果的最優(yōu)值以粗體顯示。其中SaDE、SE 的實(shí)驗(yàn)數(shù)據(jù)來自文獻(xiàn)[20],HCOAG 的實(shí)驗(yàn)數(shù)據(jù)來自文獻(xiàn)[21],DMS-PSO-EL的實(shí)驗(yàn)數(shù)據(jù)來自文獻(xiàn)[22]、EDA-M/D 的實(shí)驗(yàn)數(shù)據(jù)來自文獻(xiàn)[23],符號#表示文獻(xiàn)作者未提供。
分析可知,SAICA 對所有測試函數(shù)的求解均值和標(biāo)準(zhǔn)差都優(yōu)于對比算法,其中,f1、f9 函數(shù)搜尋到最優(yōu)解,顯示本文算法有更好的尋優(yōu)精度和穩(wěn)定性。
表2 SAICA與GA、PSO、ICA性能對比(Max_Iter=1000,D=30)Tab.2 Performance comparison of SAICA and GA,PSO,ICA(Max_Iter=1000,D=30)
表3 SAICA與GA、PSO、ICA性能對比(Max_Iter=1000,D=50)Tab.3 Performance comparison of SAICA and GA,PSO,ICA(Max_Iter=1000,D=50)
表4 SAICA與GA、PSO、ICA性能對比(Max_Iter=1000,D=100)Tab.4 Performance comparison of SAICA and GA,PSO,ICA(Max_Iter=1000,D=100)
表5 CEC2017測試函數(shù)Tab.5 CEC2017 test functions
表6 SAICA與其他先進(jìn)算法性能對比(D=30)Tab.6 Performance comparison between SAICA and other advanced algorithms(D=30)
為了判斷SAICA 與ICA 在尋優(yōu)性能上是否存在顯著性差異及各種改進(jìn)措施的貢獻(xiàn)度,采用Kendall相關(guān)系數(shù)法對算法的計(jì)算結(jié)果進(jìn)行顯著性檢驗(yàn)。選取16 個(gè)經(jīng)典測試函數(shù),分別用ICA、SAICA 及SAICA 的三種改進(jìn)措施(依次表示為SAICAA、SAICA-B、SAICA-C)進(jìn)行實(shí)驗(yàn),30次實(shí)驗(yàn)結(jié)果的均值如表7所示。
用IBM SPSS Statistics 22.0 版本對以上數(shù)據(jù)進(jìn)行Kendall相關(guān)分析,結(jié)果如表8 所示。分析可知:SAICA 和ICA 之間的相關(guān)系數(shù)值為0.100,接近于0,且顯著性p值為0.589>0.05,表明SAICA 和ICA 之間沒有相關(guān)關(guān)系,即SAICA 和ICA 在求解性能上存在顯著差異性。SAICA 和SAICA-B 之間的相關(guān)系數(shù)值為0.783,且呈現(xiàn)接近于0 的顯著性,表明SAICA 和SAICA-B 之間有著顯著的正相關(guān)關(guān)系,即第二種改進(jìn)措施發(fā)揮的作用最大。SAICA 和SAICA-A、SAICA-C 之間的相關(guān)系數(shù)值分別為0.017、0.126,從分析結(jié)果上看沒有相關(guān)性,但實(shí)驗(yàn)數(shù)據(jù)顯示SAICA 的求解精度高于僅加入一種改進(jìn)措施的SAICA-B,表明另外兩種改進(jìn)措施能發(fā)揮一定的輔助作用。
表7 ICA、SAICA及SAICA三種改進(jìn)措施的實(shí)驗(yàn)結(jié)果Tab.7 Experimental results of ICA,SAICA and three improvement measures of SAICA
表8 Kendall相關(guān)分析結(jié)果Tab.8 Kendall correlation analysis result
本文在ICA 框架上,基于春秋戰(zhàn)國史實(shí),引入“合縱連橫”初始化策略、分量移動(dòng)同化機(jī)制、自更新跳出局部最優(yōu)方案,對原算法進(jìn)行改進(jìn)優(yōu)化。8 個(gè)國際通用標(biāo)準(zhǔn)函數(shù)和CEC2017測試函數(shù)實(shí)驗(yàn)比較結(jié)果表明,本文提出的SAICA 在提高求解精度和求解效率上具備一定優(yōu)勢,且方法簡單、復(fù)雜度低,對解決現(xiàn)實(shí)尋優(yōu)問題有實(shí)際意義。經(jīng)Kendall 相關(guān)系數(shù)分析可知,改進(jìn)算法與原算法具有顯著差異性。同時(shí),在實(shí)驗(yàn)過程中也發(fā)現(xiàn),SAICA 存在對個(gè)別高維函數(shù)尋優(yōu)準(zhǔn)確度提升不高、跳出局部最優(yōu)后仍然無法尋得全局最優(yōu)解等問題。下一步,將在本文研究基礎(chǔ)上,進(jìn)一步優(yōu)化算法,尋求改進(jìn)跳出局部最優(yōu)的策略,提升對高維函數(shù)的尋優(yōu)性能和覆蓋面,并在解決實(shí)際問題中加以研究應(yīng)用。