鄧志誠 孫輝, 趙嘉, 王暉 , 呂莉 , 謝海華
為解決傳統優化算法難以解決的復雜優化問題,研究者們受啟發于生物和自然物理現象,提出了粒子群優化算法、差分進化算法、人工蜂群算法、和聲搜索算法和進化策略等優化技術以解決各領域的優化任務.
粒子群優化算法(Particle swarm optimization,PSO)是由Kennedy等[1]在1995 年提出的群智能優化算法.該算法具備計算快速和易實現等優點,作為群體智能算法的一個重要分支,得到了眾多學者廣泛深入的研究.且已應用于預測[2]、工程設計[3]、特征選擇[4]和經濟[5]等眾多領域.
粒子群優化算法是源于對鳥群捕食行為的模仿研究,人們從鳥群捕食過程當中得到啟示,并將其用于解決優化問題.該算法通過群體中粒子間合作與競爭產生的群體智能指導優化搜索.根據算法的特性,全局最優粒子將信息傳遞給其他粒子是單向的信息流動,可使粒子快速的收斂于最優解.但當全局最優粒子處于局部最優位置時,易導致所有粒子收斂到局部最優.此外,粒子在進化過程中,從全局勘探轉為局部開發階段后,若粒子處于局部最優位置,將難以獲得逃離局部最優位置的步長.針對上述問題,提出方波觸發勘探與開發的粒子群優化算法(Particle swarm optimization with square wave triggered exploration and exploitation,SWTPSO),在提高全局最優質量的同時,進一步增強粒子逃離局部最優的能力.
SWTPSO 中提出方波觸發機制.首先,將標準PSO 的更新公式進行改進,去除速度項和加速因子的影響,使新改進的公式局部搜索能力增強,并存儲當前粒子的位置,作為下次使用標準PSO 公式更新種群時粒子的新步長.然后,根據種群設定的總迭代次數,將種群進化的過程劃分為多個方波周期.最后,按照種群當前運行的迭代次數屬于方波周期內的 “高”或 “低”值,分別執行標準PSO 公式和新改進公式更新種群,使粒子的搜索狀態隨方波周期性變化.將SWTPSO與多種其他優化算法進行比較,其在數值優化問題上展現較好的優化性能.
本文結構如下: 第1 節介紹標準粒子群算法原理及相關研究;第2 節闡述方波觸發機制;第3 節對本文提出的策略進行理論分析和實驗驗證;第4節將SWTPSO與新改進的PSO 和其他智能算法進行仿真實驗,并分析算法的優化性能;第5 節為總結與展望.
設粒子數為N的種群,在維度為D的空間中搜索,粒子在解空間所處的位置可表示為xi=(xi1,xi2,···,xiD),i=1,2,···,N代表第i個粒子的位置,而每個xi都可由目標函數求得函數值f(xi)·vi=(vi1,vi2,···,viD),i=1,2,···,N代表第i個粒子的速度,表示在每一次迭代中粒子移動的步長,pbesti=(pbesti1,pbesti2,···,pbestiD),i=1,2,···,N代表第i個粒子所經歷的歷史最優位置,gbest=(gbest1,gbest2,···,gbestD)代表整個種群的歷史最優位置.速度和位置可按照以下公式更新:

式中,慣性權重w控制粒子速度v使粒子的局部和全局搜索能力相平衡,當w較大時粒子的全局搜索能力較強,反之粒子的局部搜索能力較強.式(1)中c1和c2為學習因子(也叫加速因子),可使粒子具有自主學習和向其他優秀粒子學習的能力,使其以較快速度向最優解靠近.r1和r2為(0,1)內的隨機數,為粒子i在第t次迭代時歷史最優位置的第j維,為第t次迭代時整個種群歷史最優位置的第j維.
粒子群優化算法具有高效和實現簡單等特點,已成功應用于許多現實優化任務[6?7],但存在多樣性差、易早熟收斂等問題制約了粒子群優化算法的發展,為克服上述問題,眾多學者做了大量研究,所做工作包含以下4 類:
1)參數選擇
慣性權重和學習因子等參數,對算法的優化性能有重要影響.文獻[8]首次引入時變慣性權重,改善粒子的收斂速度.文獻[9]根據種群的信息調整慣性權重.文獻[10]引入貝葉斯技術調整慣性權重.文獻[11]提出時變的加速因子策略.文獻[12]引入正余弦函數控制加速因子的變化.文獻[13]將慣性權重和加速因子作為三個維度信息處理.文獻[14]提出一種反饋系統,該系統可使參數適應粒子所處的特定環境,并使用懲罰函數來處理約束.
2)粒子更新方程
為增強粒子逃離局部最優能力,探索更多新區域,文獻[15]使用高斯分布更新粒子位置.文獻[16]引入反向學習生成粒子的反向解參與種群進化.文獻[17]結合隨機學習和列維飛行策略,在標準速度更新公式中增加向隨機粒子學習項.文獻[18]在速度更新公式中增加子社會學習項,使粒子向鄰域最優粒子學習.文獻[19]中,為消除對gbest的過度依賴,將其他粒子的維度信息作為新的信息源,并提出了3 個更新粒子的公式.
3)拓撲結構
種群的拓撲結構與種群的多樣性有關,吸引了眾多學者關注.文獻[20]分析了不同類型的靜態鄰域結構及其對PSO 性能的影響,并認為星型、環型和馮諾依曼拓撲結構的適應性最好.文獻[21]使用整個鄰域的信息引導粒子搜索最優解.文獻[22]提出自適應時變拓撲連接模型,根據種群搜索性能改變粒子的拓撲連接,平衡算法的勘探與開發搜索.文獻[23]采用環形拓撲結構增強種群的多樣性和開發能力.文獻[24]在迭代過程中保留局部最優解,并根據位置對維度進行排序,生成局部最優拓撲.
4)算法混合
各優化技術在處理不同優化問題時展現不同的優勢.文獻[25]通過差分算法和混沌映射控制算法運行期間的參數.文獻[26]將遺傳算法的變異和交叉操作引入粒子群算法中.文獻[27]將螢火蟲算法的局部搜索能力與粒子群的全局搜索能力結合.文獻[28]將多種經典的改進粒子群算法優勢集合,通過學習上一代粒子經驗,采用自適應方法為粒子分配最佳策略.文獻[29]將標準PSO 和社交學習粒子群優化相結合,以提高算法的探索和開發能力,并在30、50 和100 維上驗證了算法的性能.
綜上研究可知,通過在種群進化過程中調節參數,動態調節勘探與開發;通過改變粒子的更新方程,進一步改變粒子的運動方式或運動軌跡;通過改變粒子的拓撲結構,根據粒子間不同的信息分享機制調節勘探與開發;通過將其他智能算法的策略引入粒子群算法中,調節勘探與開發.
上述算法的種群在進化的全過程,始終保持初始設置的進化方式不變,或只對進化方式進行簡單單一調整.例如,在進行參數選擇的改進中,其使用的慣性權重線性變化策略,可等價為以整個進化過程為一個周期,通過慣性權重的變化,調節勘探與開發.因周期設置不合理,容易出現因勘探持續時間過長而耗費評估資源,或因陷入局部最優后難以再次進行全局勘探等問題.同理,在粒子更新方程、拓撲結構和算法混合等改進中,都未考慮多階段調整種群的進化方式,進而調節勘探與開發等問題.
針對上述問題,本文提出方波觸發勘探與開發的粒子群優化算法,其將種群進化過程劃分為多個方波周期,周期性地增強種群勘探與開發能力,可避免因過度勘探造成評估資源浪費,又同時增強粒子逃離局部最優的能力,進一步提升算法的收斂速度和精度.
方波(Square wave,SW)是一種非正弦曲線波形,通常在邏輯電路和信號處理時出現.理想方波只有 “高”和 “低”兩個值.“高”值在一個波形周期內占有的時間比值稱為占空比,占空比為50%的矩形波稱為方波.若使用1 和0 分別表示方波振幅的高和低值,則方波的前半個周期內振幅為1,后半個周期振幅為0.方波表達式見下:

式中,t為種群當前迭代次數,T為方波函數的周期,n為整個迭代過程可劃定的周期個數,n=1,2,···,Max_iteration/T,Max_iteration為最大迭代次數.
標準粒子群算法在優化過程中,整個粒子群體根據全體粒子和自身的搜索經驗向著最優解的方向“飛行”,在較大動量項系數(加速因子等)的作用下,粒子可能錯過最優解,使算法收斂到局部最優.
為消除動量項的影響,在新速度更新式(4)中,原等式(1)右邊的速度項替換成粒子的當前位置,加速因子設置為1,r4和r5為(0,1)間的隨機數.聯合式(4)~ (5)可知,其可使粒子獲得比前半周期更小的步長,粒子直接向個體最優(pbest)和全局最優(gbest)學習,探測兩者外圍解空間區域,相對增強種群局部搜索能力.

在標準粒子群算法進化過程中,搜索狀態由全局勘探轉為局部開發后,若種群陷入局部最優,則粒子多樣性喪失較快,難以逃離局部最優.此外,種群執行局部開發搜索后,難以再次開啟全局勘探搜索.
針對上述問題,SWTPSO 利用方波的周期特性,在種群的進化過程中,使粒子周期性增強全局勘探與局部開發搜索.具體實現過程如下:

由式(6)可知,在前半個方波周期內,使用標準PSO 公式增強全局勘探能力,提高尋得最優解的概率;在后半個方波周期內,使用去除動量項的改進公式更新種群,增強其局部搜索能力,對所探得區域進行精細搜索.在整個方波周期內,種群在前半周期相對于后半周期,增強全局勘探能力,后半周期相對前半周期增強局部開發能力.當種群粒子執行完后半個周期的局部搜索后,在下個周期將自動獲得與粒子當前位置有關的新速度,使粒子獲得的運動步長多變,種群多樣性增強.
本文采用方波觸發機制,可有效平衡算法全局勘探與局部開發的能力,算法實現步驟如下:
算法1.SWTPSO 程序

本節主要對算法采用的策略進行理論分析或實驗驗證,通過實驗測定方波觸發機制中的最佳方波周期T,并驗證方波觸發機制可有效提高種群多樣性.
方波觸發機制從整個種群搜索狀態入手,在式(1)中去除速度項,使算法擁有更強的局部搜索能力,而保留速度項的標準PSO 更新公式,則可探索更多新搜索空間[8].方波觸發機制將種群進化的全過程劃分為若干個方波周期,在一個周期內的前半個周期采用式(1)~ (2)更新種群,進行大范圍的全局搜索,在后半個周期內采用式(4)~ (5)更新種群,進行小范圍的局部搜索,以此平衡算法的勘探與開發能力.因此,為提高算法的優化性能,劃分合適的方波周期是本文的關鍵.
為便于實驗分析設定最佳方波周期T,改為求f=1/T=n/Max_iteration的值,n為周期的個數,Max_iteration為最大迭代次數.在算法運行時,周期T為初始化設定的常數,當最大迭代次數Max_iteration變化,則只有周期執行的個數n變化.本文通過取不同的f值,測試算法在優化不同函數時展現的綜合性能,選取最佳方波周期T.因此,本文設定的最佳方波周期T只與算法的優化性能有關,與本節設定的最大迭代次數無關.
實驗選取多模函數Penalized 2、Levy 作為測試函數,粒子數N為10,維度D為30,最大迭代次數為20000,各函數運行30 次,當所得全局最優適應值達到 10?18,則認為算法求得函數最優解,記錄下所需迭代次數.當算法達到終止條件,全局最優適應值未滿足10?18,則判定此次運行搜索失敗,用“×” 標示,且不計入平均值的計算.f分為0.01~0.002共9 個值,實驗結果見表1~ 2.

表1 Penalized 2 函數上使用不同的f 值尋找全局最優值的迭代次數Table 1 Numbers of iterations for finding the global optimum using different values of f on the Penalized 2 function
在Penalized 2 函數上,當f為0.01 時,算法有28 次求得最優解,其平均迭代次數為4798.當f為0.009、0.008、0.007、0.006、0.005、0.004 時,算法在30 次都求得最優解.其中,當f為0.009 時,平均迭代次數 為5148;當f為0.008 時,平均迭代次數為6028;當f為0.007 時,平均迭代次數為5277;當0.006 時,平均迭代次數為5021;當f為0.005 時,平均迭代次數為4488;當f為0.004 時,平均迭代次數為4510.當f為0.003 時,算法有29 次求得最優解,平均迭代次數4907.當f為0.002 時,算法有25 次求得最優解,平均迭代次數為3219.
在Levy 函數上,當f為0.01 時,算法有22 次求得最優解,平均迭代次數5887.當f為0.009、0.008、0.007 和0.005 時,算法在29 次都求得最優解,其中0.009 時平均迭代次數為5954;0.008 時平均迭代次數為5259;0.007 時平均迭代次數為4923;0.005 時平均迭代次數為4321.當f為0.006 時,算法有27 次求得最優解,平均迭代次數4027.當f為0.004 時,算法有30 次求得最優解,平均迭代次數4494.當f為0.003 時,算法有28 次求得最優解,平均迭代次數4252.當f為0.002 時,算法有27 次求得最優解,平均迭代次數5146.
為更直觀反映f值對算法優化性能的影響,以不同f值為橫坐標,算法在運行30 次中未尋得最優解的次數為縱坐標,繪制折線圖1.在Penalized 2函數上,f為0.004、0.005、0.006、0.007、0.008、0.009 時,算法都能求得最優解.在Levy 函數上,f為0.004 時,算法能求得最優解.

圖1 不同f 值的失敗次數Fig.1 Number of failures for different f
綜合分析實驗結果可知,不同的周期T對算法優化性能有重要影響,當T設置過大,種群長時間使用標準PSO 更新公式搜索解空間,其具有的較大動量項系數將使種群錯過最優解,且周期過大將占用大量的迭代次數,使執行的周期次數變少,種群粒子自動獲得較大步長的次數減少,削弱了種群逃離局部最優的能力;當T設置過小,種群粒子或未探得最優解所在區域,就進行局部搜索,使種群在局部最優區域耗費評估次數.
對于f的取值,通過增加兩組不同類型(單模、多模、旋轉、偏移、組合等)測試函數進行實驗,驗證了f的最佳取值范圍為[0.004,0.009].當f=0.004 時,所得秩均值最小,算法擁有更好優化性能.
分析標準PSO 算法中粒子的運動方式,將式(1)~ (2)經整理變化,可得:

粒子的實際運動步長為:

本文提出的方波觸發機制,在一個方波周期內的前半個方波周期采用式(1)~ (2)更新種群,搜索到一定區域后,使用式(4)~ (5)在后半個方波周期對該區域進行精細搜索.再到執行下一個方波周期時,式(6)中所得粒子的速度V,將自動替換成為式(1)等號右邊第1項V,此時再次使用式(1)~(2)更新,粒子的實際運動步長為:

為驗證標準PSO 公式下 (steppso),相比方波觸發機制下 (stepsw) 的優勢,使用Rastrigin 函數,測試粒子在進化過程中步長的變化.實驗中,種群個數為N=10,維度D=10,迭代次數為500 次.隨機選取種群中一個粒子,記錄粒子10 個維度中步長的變化情況.實驗結果見圖2.
第1~ 250 迭代次數為前半個周期,第251~500 迭代次數為后半個周期.由圖2 中可以看出,在粒子的10 個維度中,stepsw步長的變化次數在進化全過程多于steppso,驗證在stepsw策略下,通過提供多變的步長,可達到按周期觸發勘探與開發的目的.

圖2 粒子在10 維中的步長變化Fig.2 Step size changes of 10 dimensions of particles
為驗證引入方波觸發機制可有效提高種群多樣性,使用多樣性度量式(10)[30],對比標準PSO 和加入方波觸發機制的PSO,其種群進化過程中多樣性的變化.

式中,N表示種群的個數,2·a為搜索空間的范圍,D表示維度,xˉ 表示種群的中心位置.方波觸發機制記為SW,選取Rastrigin 旋轉偏移函數和Shifted 旋轉偏移函數進行測試,粒子數N為10,維度D為30,評估次數為10000 次,所得兩者多樣性實驗結果見圖3.引入方波觸發機制的PSO (PSO +SW)比標準PSO,在種群進化的全過程中能保持更高的多樣性,種群勘探與開發能力可保持更好平衡.同時對標準PSO 和PSO+SW 進行收斂性分析,見圖4.實驗結果表明,PSO+SW 比標準PSO可收斂到更高精度解.

圖3 PSO 和PSO+SW 的種群多樣性變化Fig.3 The population’s diversity of PSO and PSO+SW

圖4 PSO 和PSO+SW 的收斂性Fig.4 The convergence performance of PSO and PSO+SW
本節結構如下: 第4.1 節設置SWTPSO 涉及的參數,給出測試函數的基本信息;第4.2 節選取新近改進的PSO與SWTPSO 在維度為30、50、100的條件下比較;第4.3 節對算法收斂性能進行分析.第4.4 節將SWTPSO與新改進的蜂群和差分算法在26 個函數上進行50 維比較,再與改進和聲搜索算法、粒子群算法、人工蜂群算法、差分算法進行100 維比較,最后在CEC2015 測試集上進一步驗證SWTPSO 的優化性能.
引入26 個基準函數進行仿真實驗,表3 給出了26 個測試函數的基本信息.SWTPSO 的參數設置如下: 種群規模N設置為10,c1和c2設置為2.0,慣性權重w=0.55×exp(?0.5×iterNum/Max?iterNum),用Max_iterNum表示最大迭代次數,iterNum表示當前迭代次數,方波觸發機制中,f值設為0.004.

表3 26 個基準測試函數Table 3 Information of 26 benchmark functions

表3 26 個基準測試函數 (續表)Table 3 Information of 26 benchmark functions (continued table)

表3 26 個基準測試函數 (續表)Table 3 Information of 26 benchmark functions (continued table)
將SWTPSO與7 種PSO 改進算法在維度D=30、50、100 的條件下對比,7 種PSO 改進算法分別為Self-organizing hierarchical particle swarm optimizer with time-varying acceleration coefficients (HPSO-TVAC)[11]、Comprehensive learning particle swarm optimizer for global optimization of multi-modal functions (CLPSO)[31]、A novel particle swarm optimization algorithm with levy flight (LFPSO)[32]、Dynamic multi-swarm particle swarm optimizer (DMS-PSO)[33]、An enhanced particle swarm optimization with levy flight for global optimization (PSOLF)[34]、A particle swarm optimization algorithm with random learning mechanism and levy flight for optimization of atomic clusters (RPSOLF)[17]、A hybrid particle swarm optimizer with sine cosine acceleration coefficients (H-PSO-SCAC)[12].各算法的參數都按照原文獻設置,當D=30 時,評估次數設為20 萬次;D=50 時,評估次數設為25 萬次;D=100 時,評估次數設為50 萬次.所有算法獨立運行50 次,最終結果取50 次的平均值,具體實驗數據見表4~6.表中,MBF 表示平均最優適應值,SD 表示標準差,粗體表示最好值.
由表4~6 可以看出,在相同評估次數下,SWTPSO在D=30,50,100 維時,所測函數f1、f2、f6、f8、f12、f13、f14全部求得最優解,所測函數f9、f10同樣求得比其他算法更高質量的解,測試f3、f4、f5函數所得最優解相比其他算法優勢明顯.CLPSO在測試函數f5時優勢明顯,其余函數在30 維時能取得較好質量的解,但在50、100 維時算法性能有待加強.CLPSO 主要借助不同的個體最優(pbest)優勢信息產生最優解,但因其在搜索過程中種群常易更新停滯,早熟收斂仍是CLPSO 需解決的問題.HPSO-TVAC 和DMS-PSO 在測試函數f9、f10時優勢明顯,測試其余函數時,上述算法在低維時能求得較好質量的解,在高維搜索時算法易陷入局部最優.LFPSO、RPSOLF 都采用列維飛行策略,使種群增加了隨機步長,其中LFPSO 使種群粒子繞著最優解做列維飛行,在算法后期種群易更新停滯,故LFPSO 在低維時,測試單模和多模函數時,搜索到最優解的質量較高,但在高維仍易陷入局部最優.LFPSO 和RPSOLF 則另增加了隨機選擇策略,在一定概率范圍內使用列維飛行策略,在測試函數f1、f2、f6、f8、f12、f13、f14求得了函數最優解,但在高維條件下測試f9、f10時算法仍陷入局部最優.H-PSOSCAC 采用sin、cos 函數控制加速因子的變化,并在使用反向學習初始化種群后,采用改進的速度更新公式,其在優化函數f4時,能夠取得較高質量的解,在函數f1、f2、f6、f8、f12、f13、f14同樣能求得函數最優解,但在測試函數f9和f10時,算法仍陷入局部最優.

表4 30 維實驗結果對比Table 4 Comparison of 30-dimensional test results
為進一步綜合評價SWTPSO 的性能,引入Friedman 檢驗分析所得測試數據,秩均值作為Fri-edman 檢驗的評價參數,該值越小,表明算法的性能更優.表7 給出各算法數據的Friedman 檢驗結果,其中SWTPSO 在維度D=30,50,100 維時,所得秩均值最小,故該算法性能更優.H-PSO-SCAC在不同維度下的優化性能較為穩定,RPSOLF、PSOLF、LFPSO 在30 和50 維時優化性能較強,在100 維時優化性能減弱,CLPSO 和DMS-PSO的優化性能隨維度的增加逐漸減弱,HPSO-TVAC在30 維的優化性能弱于50 和100 維.

表5 50 維實驗結果對比Table 5 Comparison of 50-dimensional test results

表6 100 維實驗結果對比Table 6 Comparison of 100-dimensional test results

表6 100 維實驗結果對比 (續表)Table 6 Comparison of 100-dimensional test results (continued table)

表7 各PSO 算法的Friedman 檢驗結果Table 7 Friedman test results of each POS algorithm
圖5 在維度為30,評估次數20 萬次的條件下,對SWTPSO與CLPSO、HPSO-TVAC、DMSPSO、LFPSO、PSOLF、RPSOLF 和H-PSOSCAC,在函數f1~f14優化過程中的收斂性能進行分析,圖5 中Fitness 表示算法所得適應值.在單模函數Sphere、Schwefel2.22上,所有算法在Sphere函數上都能夠求得較高精度的解,但SWTPSO 求得最優解所用評估次數更少,收斂速度最快.在Schwefel2.2 上,DMS-PSO未能求得最優解,其余算法能求得較高精度的解,但消耗的評估次數比SWTPSO 多.

圖5 14 個函數進化曲線圖Fig.5 Evolution curves of 14 functions
在單模函數Rosebrock、Quartic 上,H-PSOSCAC 的優化性能突出,能求得比其他算法更高精度的解.SWTPSO 相比其他算法,收斂到較有優勢的解且收斂速度較快.
在多模函數Schwefel2.26 上,CLPSO 的優化性能相比其他算法優勢明顯,所求解的精度最高,收斂速度最快.SWTPSO 對此函數的優化能力相比其他函數較有優勢.
在多模函數Rastrigin、Ackley、Griewank 上,SWTPSO、PSOLF、RPSOLF 和H-PSO-SCAC 都能求得最優解,SWTPSO 相比其他算法在收斂速度上,有較大優勢.其余算法收斂速度慢,且收斂精度低.
在多模函數Penalized 1、Penalized 2 上,HPSO-SCAC 和PSOLF 收斂精度較低,其他算法能夠收斂到較高精度的解,SWTPSO 的收斂速度更快、精度更高.
在旋轉函數Rotated Schwefel2.26 上,PSOLF的收斂精度最高,SWTPSO 相比其他算法收斂速度和精度有較大優勢.
在旋轉函數Rotated Rastrigin、Rotated Ackley、Rotated Griewank 上,SWTPSO、PSOLF、RPSOLF 和H-PSO-SCAC 都能求得最優解,SWTPSO在收斂速度上優勢明顯,其余算法未能求得最優解.
4.4.1 在50 維的常規基準函數上的實驗結果
為進一步體現SWTPSO 的性能,將其與改進人工蜂群算法Bare bones artificial bee colony algorithm with parameter adaptation and fitnessbased neighborhood (BABC)[35]、Accelerating artificial bee colony algorithm with adaptive local search (AABCLS)[36]、Artificial bee colony algorithm with variable search strategy for continuous optimization (ABCVSS)[37]、Modified Gbestguided artificial bee colony algorithm with new probability model (MPGABC)[38]改進差分算法Differential evolution with composite trial vector generation strategies and control parameters (Co-DE)[39]、Adaptive differential evolution with optional external archive (JADE)[40]、Self-adaptive differential evolution algorithm using population size reduction and three strategies (jDEscop)[41]、Differential evolution algorithm with strategy adaptation for global numerical optimization (Sa-DE)[42],以及高效的進化策略Completely derandomized self-adaptation in evolution strategies(CMAES)[43]比較.實驗選取第4.1 節的26 個基準函數,設置維度D=50,評估次數為25 萬次,各函數參數設置參照原文獻,所得實驗結果見表8,表8中MPGABC 的數據來源文獻[38],其余各算法的數據參照文獻[30].由表8 數據可知,在測試的22個函數中,SWTPSO在f1~f7、f11~f13、f18、f20共12 個函數上尋得最優解,且穩定性強,相比其他8 種相關新算法,優勢突出.在f9和f15函數上,SWTPSO 所得最優解,算法的穩定性都優于其他算法.在剩余的函數上,SWTPSO 總體優勢明顯.將8 種新相關算法與SWTPSO 進行Friedman 檢驗,所得結果見表9.表9 中SWTPSO 所得秩均值最小,表明其更具優勢.
4.4.2 在100 維的常規基準函數上的實驗結果
將改進的和聲搜索算法Global dynamic harmony search algorithm (GDHS)[44]、An improved global-best harmony search algorithm (IGHS)[45]、差分算法Opposition-based differential evolution(ODE)[46]、人工蜂群算法Gbest-guided artificial bee colony algorithm for numerical function opti- mization (GABC)[47]、粒子群Improved global-bestguided particle swarm optimization with learning operation for global optimization problems (IGPSO)[48]和本文算法比較,維度為100,評估次數為50 萬次,各算法獨立運行50 次,算法所測函數參考文獻[48]的表2~ 3,數據來源參考文獻[48]中表9~10.實驗所得結果見表10,本文算法在f1~f4、f6、f9、f11、f14~f15共9 個函數中求得最優解,在f5、f7、f8、f10、f12~f13共6 個函數中求得最優解優勢明顯,將6 種算法與SWTPSO 進行Friedman 檢驗,所得結果見表11,表11 中SWTPSO 所得秩均值最小,表明其更具優勢.

表2 Levy 函數上使用不同的f 值尋找全局最優值的迭代次數Table 2 Numbers of iterations for finding the global optimum using different values of f on the Levy function

表2 Levy 函數上使用不同的f 值尋找全局最優值的迭代次數 (續表)Table 2 Numbers of iterations for finding the global optimum using different values of f on the Levy function (continued table)

表9 8 種新相關算法和SWTPSO 的Friedman 測試結果Table 9 Friedman test results of 8 new correlation algorithms and SWTPSO

表10 6 種算法在15 個函數上的比較結果Table 10 Results of the fifteen functions for six algorithms

表10 6 種算法在15 個函數上的比較結果 (續表)Table 10 Results of the fifteen functions for six algorithms (continued table)

表11 6 種算法的Friedman 檢驗結果Table 11 Friedman test results of 6 algorithms
4.4.3 在30 維的CEC2015 測試集上的實驗結果
群智能算法經過近幾年的大量研究,絕大多數改進算法對較早版本的標準測試函數有較好優化效果.因此,本文采用新近提出的測試函數CEC2015[49]進一步驗證算法的優化性能,表12 為CEC2015函數集.

表12 CEC2015 函數集Table 12 CEC2015 test suite

表12 CEC2015 函數集 (續表)Table 12 CEC2015 test suite (continued table)
SWTPSO 分別與新近提出的螢火蟲與粒子群混合優化算法(Fire fly particle swarm optimization,FFPSO)[50],Hybrid particle swarm opti-mization and fire fly (HPSOFF)[51]、A hybrid algorithm combining firefly and particle swarm optimization (HFPSO)[27]比較,維度D=30,評估次數為1500,實驗數據和其他參數設置參見文獻[27].
表13 為各算法測函數CEC 2015 的實驗結果,SWTPSO 在所測15 個函數中,有14 個函數占較大優勢.表14 對各算法進行Friedman 檢驗,SWTPSO 所得秩均值最小,再次驗證了本文算法更具優勢.

表13 CEC2015 實驗結果對比Table 13 Test results comparison of CEC2015 test suite

表14 Friedman 檢驗結果Table 14 Results of Friedman test
為提高粒子群算法全局最優的質量,增強粒子逃離局部最優的能力,本文提出方波觸發機制,在種群初始化后,在前半個方波周期內進行全局勘探,探索更多新解空間區域,在后半個方波周期內轉換為局部開發,對該區域進行精細搜索.在下個周期將自動獲得與粒子當前位置有關的新速度,使粒子獲得的運動步長多變,種群多樣性增強.在第3.1 節中通過實驗測定出方波觸發機制的最佳周期,并在第3.2 節中證明,方波觸發機制通過為粒子提供多變步長,提升種群的多樣性.在多類型測試函數上與新改進粒子群算法進行30、50、100 維的測試,且與其他新種類智能算法比較,結果都表明SWTPSO優化性能更具優勢.
但是,SWTPSO 在高維情況下測試復雜函數時,仍易陷入局部最優.下一步的研究工作可從以下方面展開: 在方波觸發機制中,使用標準PSO 公式進行全局勘探,未考慮進化后期標準PSO 中粒子的速度將變小,全局勘探能力減弱的問題,下一步的研究中,可提出改進的更新公式,承擔全局勘探任務.