?

基于分工和模糊控制的粒子群算法

2024-04-29 19:29李金張紀會高學柳張保華
復雜系統與復雜性科學 2024年1期
關鍵詞:粒子群算法模擬退火

李金 張紀會 高學柳 張保華

摘要: 為解決粒子群算法在求解復雜優化問題時容易陷入局部最優、尋優精度低、后期收斂慢等問題,提出一種基于分工和模糊控制的粒子群算法,使用分工、參數自適應調整和融合距離因素的模擬退火三種策略對粒子群算法進行改進。將粒子分為偵察粒子和后衛粒子,偵察粒子負責進行探索,后衛粒子向個體最優解和全局最優解學習,保證種群多樣性并加快搜索速度;使用Sigmoid函數調節慣性權重,模糊邏輯控制學習因子,以平衡算法的探索和開發能力;以模擬退火機制更新全局最優粒子,同時兼顧距離因素,增強算法跳出局部最優解的能力。采用25個標準測試函數進行仿真實驗,仿真結果表明,改進算法在收斂精度、速度和穩定性上都有更好表現。

關鍵詞: 群體智能;粒子群算法;個體最優更新率;分工策略;模糊邏輯;模擬退火

中圖分類號: TP301? 文獻標識碼: A

Particle Swarm Optimization Algorithm Based on Labor Division and Fuzzy Control

LI Jin1, ZHANG Jihui1, GAO Xueliu2, ZHANG Baohua2

(1.a.Institute of Complexity Science; b.Shandong Key Laboratory of Industrial Control Technology, Qingdao University, Qingdao? 266071, China; 2.Qingdao Port International Company, Ltd, Qingdao 266011, China)

Abstract: In order to overcome the shortages of the particle swarm optimization algorithm, such as low accuracy, slow convergence and falling into local optima, a particle swarm optimization algorithm based on labor division and fuzzy control is proposed, which improves the algorithm by using the division of labor, parameter adaptive adjustment and simulated annealing with distance factors. Particles are divided into scout and rearguard ones, the former searches randomly and the latter learns from the best individual solutions as well as the best global solution to ensure the diversity of population and to accelerate the search. A sigmoid function is used to adjust the inertial weight and fuzzy logic is applied to balance exploration and exploitation capability of the algorithm. The best global particle is updated according to simulated annealing with distance factors taken into account, which improves the ability of the algorithms to jump out of the local optima. Simulation experiments on 25 standard test functions show that the improved algorithm has better performance in terms of convergence accuracy, speed and stability.

Keywords: swarm intelligence; particle swarm optimization; individual optimal update rate; division of labor;fuzzy logic; simulated annealing

0 引言

粒子群算法(Particle Swarm Optimization, PSO)是Kennedy和Eberhart在1995年提出的一種群智能優化算法[12]。雖然粒子群算法已廣泛應用于特征選擇、神經網絡訓練等諸多領域[38],但仍存在容易陷入局部最優、后期收斂速度慢、收斂精度不高等缺陷。為此,國內外學者對PSO進行了很多優化和改進,具體研究集中于3個方面:1)對粒子群迭代策略進行優化改進,包括參數調整和迭代方案的優化。文獻[9]提出了慣性系數線性遞減的方案(iwPSO)。文獻[10]用Sigmoid函數控制慣性權重,隨著迭代過程逐漸遞減,學習因子按照雙曲正切函數規律變化。文獻[11]提出了基于Sigmoid函數的加權策略,自適應地調整學習因子,自適應加權策略考慮了粒子的位置信息,提高了算法收斂速度。文獻[12]使用模糊邏輯,將6個種群信息作為輸入自適應調整兩個學習因子。文獻[13]將粒子群根據適應度排序分組,使用社會學習策略更新整合了更多種群信息,提高了算法的收斂速度和精度,在高維問題上有較好表現。2)對粒子種群的鄰域拓撲結構進行優化改進,利用更多種群信息。文獻[14]融合兩種鄰居拓撲結構,將種群分為3個子種群,設定不同的學習因子,賦予各子種群不同的搜索任務,從而提升算法的綜合性能,在復雜多峰函數上有較好的魯棒性。文獻[15]將具有信息定向流動的閉環拓撲結構與星型拓撲結構或四邊形拓撲結構相結合,保證種群在多樣性和整體收斂性的平衡,實驗表明其在收斂速度、精度和魯棒性上有更好表現。文獻[16]將粒子分組,考慮位置因素和適應度因素,分別為各組粒子設置時變鄰域,增強了粒子間的交流,在處理復雜問題時有較好表現。3)將粒子群算法與其他算法進行融合,利用其他算法的優勢對粒子群算法進行改進。文獻[17]將粒子群算法與遺傳算法借助模糊邏輯進行融合,引入的交叉和突變因子減小了粒子陷入局部最優的幾率。文獻[18]將粒子群算法與模擬退火算法相結合,提出了一種自適應模擬退火粒子群算法,自適應調整算法參數,模擬退火機制加強了算法跳出局部最優的能力,實驗證明了算法在收斂速度、精度和穩定性上的優勢。

對于一些多峰、高維、復雜優化問題,現有算法仍存在收斂精度低容易陷入局部最優等問題[19]。為進一步解決這些問題,提出了一種基于分工和模糊控制的粒子群算法(Particle Swarm Optimization Algorithm based on Labor Division and Fuzzy Controling, LDFSPSO)。利用模擬退火的思想增強種群跳出局部最優的能力,避免算法陷入局部最優,在標準粒子群算法的基礎上,使用了3種改進策略進行改進:1) 分工策略:受樽海鞘群算法(Salp Swarm Algorithm, SSA)[20]啟發,將種群分為偵察粒子和后衛粒子,執行不同迭代方案,加快收斂速度,同時適當增強種群多樣性,防止陷入局部最優;2)參數自適應調整策略:使用Sigmoid型函數控制慣性權重,考慮迭代進程和種群信息的雙輸入雙輸出模糊系統控制學習因子,以平衡算法的全局搜索能力和局部尋優能力;3)融合距離因素的模擬退火策略:引入模擬退火機制的同時,為減少其對尋優效率的影響,定義基于距離判斷的模擬退火因子,減少模擬退火機制對尋優過程的負面影響。將所提算法在多種維度的25個測試函數進行驗證,并與iwPSO,SAPSO[18],SSA進行了對比。結果表明,對于大多數基準函數,改進算法有較好的效果。

1 標準粒子群算法

由N個粒子組成的群體在D維搜索空間中以一定的速度飛行,每個粒子在考慮自身搜索經驗和群體搜索經驗的基礎上進行迭代尋優。在迭代中,第i個粒子的位置Xi= (xi1, xi2,…, xiD)T代表問題的一個解,速度為Vi= (vi1, vi2, …, viD)T,個體最優位置為Pbesti= (pbesti1, pbesti2, … , pbestiD)T,全局最優位置為Gbest= (gbest1, gbest2 , …, gbestD)T。粒子的速度和位置按照式(1)更新:

在設計模糊系統規則時,考慮如下基本原則:隨著迭代過程, c1逐漸降低,c2逐漸增大;種群多樣性大時增強探索能力,增大c1,減小c2;種群多樣性小時增強開發能力,減小c1,增大c2;在迭代初期要保證較高的探索能力,在迭代末期要保持較高的開發能力。在此基礎上進行模糊規則的設計,模糊規則如表1所示。

2.3 融合距離因素的模擬退火策略

模擬退火算法中依概率接受劣解的思想可以增強算法跳出局部最優解的能力。在模擬退火算法的基礎上,為減少得到的新解與舊解落在同一個局部最優解附近從而影響尋優效率的情況出現,定義融合距離因素的模擬退火因子pk,在更新Gbest時允許其依概率pk接受差解,且pk隨迭代進行遞減,計算方式為

其中,δ為判斷系數,dki為新解Xi與Gbest之間的歐氏距離,dkmin為兩兩粒子之間的最短距離,Tk為第k次迭代中的溫度。

2.4 改進算法流程

基于以上描述,提出的LDFSPSO算法基本流程為:

步驟1,設定算法參數,初始化粒子群得到初始種群,設置初代Pbest;

步驟2,計算各粒子適應度,設置初代Gbest,求解distance_gbi;

步驟3,據式(4)和(15)分別設置rpb,T;

步驟4,據分工策略將粒子重新排序,將粒子分為偵察粒子和后衛粒子;

步驟5,由式(8)~(10)計算模糊系統的輸入指標,由式(7)更新ω,由模糊系統更新c1和c2,式(6)更新α;

步驟6,偵察粒子和后衛粒子分別按式(5)~(6),(1)~(2)進行更新;

步驟7,求解各粒子適應度,更新Pbest,統計nupdate,依據融合距離因素的模擬退火策略更新Gbest;

步驟8,判斷是否達到終止條件,若達到則輸出最優適應度值,結束算法,否則返回步驟3。

3 仿真實驗及結果分析

在Matlab R2016a環境下,使用處理器為Intel(R) Core(TM) i7-6700 CPU 3.41GHz,內存為16G的計算機進行仿真實驗。使用單峰、多峰、固定維多峰三種類型,共25個標準測試函數進行仿真測試。表2給出了標準測試函數的名稱、搜索范圍和最優值。實驗選取的25個標準測試函數中:f1~f7為單峰標準測試函數,均具有唯一局部極值點,即全局最優點,該類型函數可用于測試算法的局部開發能力,檢驗算法的收斂速度;f8~f15為多峰標準測試函數,具有多局部極值點和唯一全局最優點,可用于檢測算法跳出局部最優的能力,測試算法的全局尋優能力;f16~f25為固定維多峰標準測試函數,該類型函數擁有的局部最優點數量少,貼近實際的工程優化問題。

3.1 算法性能測試

為測試LDFSPSO的性能,選擇iwPSO,SAPSO,SSA進行對比實驗。經過前期仿真實驗發現,增加SSA中領導者數目可以提高SSA算法的性能。為增強SSA算法的搜索能力,將SSA中領導者的數目由1個增加為種群數目的一半,其余參數均按文獻[19]設置。為驗證LDFSPSO中分工策略的有效性,與去除分工策略的算法(Fuzzy Adaptive Simulated Annealing PSO,FSPSO)進行對比實驗。為驗證參數自適應調整策略的有效性,與去除參數模糊自適應策略的算法(Simulated Annealing PSO based on Labor Division,LDSPSO)進行對比實驗。算法均設置種群規模N=30,最大迭代次數kmax=1000,ωmax=0.95,ωmin=0.4。各算法其他參數設置與文獻[9]和文獻[18]相同。將f1~f15在10維、30維、50維和100維,f16~f25在固定維度下獨立運行30次。為充分考慮算法的性能,記錄不同算法所得結果的最優值、最差值、平均值和標準差,限于篇幅,表3只列出了100維測試函數的統計結果。為對比各維度下算法表現,統計各算法的最佳表現次數,如圖4所示。

由圖4可知,在大部分實驗中,LDFSPSO的各項統計指標表現優秀,在整體上表現出了較高的尋優精度和較強的開發能力。通過與iwPSO,SAPSO,SSA這3種算法進行對比,可以發現對于100維問題,LDFSPSO在穩定性和尋優能力上都有最好的表現。對于單峰問題,LDFSPSO在絕大多數問題上表現最好。對于多峰問題,LDFSPSO能在f3~f11上取得最好的效果。對于f15,隨著問題維度的升高,局部最優解數量大量增加,盲目搜索極易陷入局部最優,LDFSPSO擁有向Pbest和Gbest學習能力的同時,兼具一定的隨機搜索能力,且模擬退火策略增加了跳出局部最優的能力,故能取得最好的效果。

對于固定維多峰函數,LDFSPSO在所有測試問題上都有最好的表現,驗證了本文算法在跳出局部最優能力上的優勢,限于篇幅不再列出具體統計數據。

3.2 各策略作用分析

為驗證LDFSPSO中改進策略的有效性,設計了與LDSPSO、FSPSO的對比實驗,實驗數據見表3。 LDFSPSO整體性能最好,其次是LDSPSO和FSPSO。LDFSPSO中分工策略使得偵察粒子能夠在較好的解附近進行偵察操作,搜索可能更有價值的位置,原有的學習機制使算法保持了向Pbest和Gbest學習的能力。此外,在參數調整時充分利用種群信息可以獲得算法探索和開發能力更好的平衡。各策略的綜合作用使得LDFSPSO取得較好的效果。

3.3 LDFSPSO粒子分布情況分析

為驗證LDFSPSO的優勢,以2維Sphere和Schwefel函數為例,跟蹤LDFSPSO算法中粒子分布情況,如圖5~圖6所示,兩圖中背景為等值線圖,等值線顏色越深代表值越小,對于極小化問題意味著解越優秀。

Sphere函數只有一個全局最優解,理論最優解為原點。在第2次迭代時,群體最優粒子就找到了全局最優解的位置,據圖5所示,在第80代時,所有個體最優粒子均已收斂到全局最優解附近,表明算法有較快的收斂速度。

Schwefel函數有搜索空間大、局部最優點多且分布不規則等特點,其理論全局最優解為[420.968 7,…,420.968 7]。圖6a~c中,群體最優粒子迅速向全局最優解靠近,可以發現本文算法有較強的全局搜索能力,圖6d~f中,可以發現在迭代中后期,算法仍能保持較好的開發能力,在1 000代時所有粒子都收斂在理論全局最優解附近。

3.4 穩定性對比

箱線圖可以描述統計數據的情況,反映數據分布的中心位置和散布范圍,揭示數據離散程度、異常值、分布差異等。從表3可知,LDFSPSO表現出了更好的穩定性。為進一步對比分析算法的穩定性,將測試函數在各算法下獨立運行30次的結果繪制成箱線圖,限于篇幅,這里只展示部分函數的數據箱線圖,如圖7所示。觀察箱線圖中的適應度的中值、離群值等信息,可以看到即使在高維多峰問題和復雜固定維多峰問題上,LDFSPSO仍有最佳的精度和穩定性。

3.5 收斂情況對比

為觀察LDFSPSO的收斂速度、精度及跳出局部最優的能力,將不同維度下各測試函數的迭代情況繪制成收斂曲線圖。限于論文篇幅,圖8只給出了各對比實驗中部分函數的收斂曲線。在圖8a和8b中可以看出,在一些單峰問題上,LDSAPSO收斂速度遠遠快于對比算法,表明引入分工機制后,通過對粒子進行排序分工,提升了算法收斂速度和精度。在圖8c和8f中可以看出,面對多峰問題,LDSAPSO在引入分工機制和模擬退火因子后,可以增強全局搜索能力,避免陷入局部最優。為做好探索和開發之間的平衡,參數模糊自適應調整需要利用更多種群信息,降低收斂速度,這對于復雜、多峰問題是必要的,對于一些簡單、單峰問題,參數線性調整策略也有很好的表現。

4 結論

融合3種策略,提出了一種基于分工和模糊控制的粒子群算法。分工策略提高種群多樣性,加快算法收斂速度;參數自適應調整策略和融合距離因素的模擬退火策略增強算法跳出局部最優的能力,平衡算法的探索和開發能力。通過實驗結果可以看出,改進算法整體上可以取得不錯的效果。工程實踐中有很多問題是帶約束的優化問題,下一步工作將研究約束優化問題的求解,如何將約束處理機制與算法有機結合將是后續研究的重點。

參考文獻:

[1]KENNEDY J, EBERHART R. Particle swarm optimization[C]//International Conference on Neural Networks. Piscataway: IEEE, 1995,4: 1942-1948.

[2]WANG D S, TAN D P, LIU L. Particle swarm optimization algorithm: an overview[J]. Soft Computing, 2018, 22(2): 387-408.

[3]WANG F, ZHANG H, ZHOU A. A particle swarm optimization algorithm for mixed-variable optimization problems[J]. Swarm and Evolutionary Computation, 2021, 60(2): 100808.

[4]CHEN K, XUE B, ZHANG M ,et al. Correlation-guided updating strategy for feature selection in classification with surrogate-assisted particle swarm optimization[J]. IEEE Transactions on Evolutionary Computation,2022,26(5):1015-1029.

[5]JUNIOR F, YEN G. Particle swarm optimization of deep neural networks architectures for image classification[J]. Swarm and Evolutionary Computation, 2019, 49: 62-74.

[6]LIU Y, LIU J, JIN Y. Surrogate-assisted multipopulation particle swarm optimizer for high-dimensional expensive optimization[J]. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2022, 52(7): 4671-4684.

[7]卿東升,鄧巧玲,李建軍,等.基于粒子群算法的滿載需求可拆分車輛路徑規劃[J].控制與決策, 2021, 36(6): 1397-1406.

QING D S, DENG Q L, LI J J ,et al. Split vehicle route planning with full load demand based on particle swarm optimization[J]. Control and Decision, 2021, 36(6): 1397-1406.

[8]帥茂杭,熊國江,胡曉,等.基于改進多目標骨干粒子群算法的電力系統環境經濟調度[J].控制與決策, 2022, 37(4): 997-1004.

SHUAI M H, XIONG G J, HU X ,et al. Economic emission dispatch of power system based on improved bare-bone multi-objective particle swarm optimization algorithm[J]. Control and Decision, 2022, 37(4): 997-1004.

[9]SHI Y, Eberhart R. A modified particle swarm optimizer[C]//IEEE International Conference on Evolutionary Computation. Anchorage,AK,USA:IEEE, 1998: 69-73.

[10] 路復宇,童寧寧,馮為可,等.自適應雜交退火粒子群優化算法[J].系統工程與電子技術,2022,44(11):3470-3476.

LU F Y, TONG N N, FENG W K ,et al. Adaptive hybrid annealing particle swarm optimization algorith-m[J]. Systems Engineering and Electronics,2022,44(11):3470-3476.

[11] LIU W, WANG Z, YUAN Y, et al. A novel sigmoid-function-based adaptive weighted particle swarm optimizer[J]. IEEE Transactions on Cybernetics, 2021, 51(2): 1085-1093.

[12] NESHAT M. FAIPSO: fuzzy adaptive informed particle swarm optimization[J]. Neural Computing & Applications, 2013, 23(1): S95-S116.

[13] MENG Z Y, ZHONG Y X, MAO G J ,et al. Pso-sono:a novel pso variant for single-objective numerical optimization[J]. Information Sciences, 2022, 586: 176-191.

[14] 鄧先禮,魏波,曾輝,等.基于多種群的自適應遷移PSO算法[J].電子學報, 2018, 46(8): 1858-1865.

DENG X L, WEI B, ZENG H ,et al. A multi-population based self-adaptive migration PSO[J]. ACTA ELECTRONICA SINICA, 2018, 46(8): 1858-1865.

[15] 許勝才,蔡軍,程昀,等. 基于拓撲結構與粒子變異改進的粒子群優化算法[J].控制與決策, 2019, 34(2): 419-428.

XU S C, CAI J, CHENG Y ,et al. Modified particle swarm optimization algorithms based on topology and particle mutation[J]. Control and Decision, 2019, 34(2): 419-428.

[16] LI H, LI J, WU P S, et al. A ranking-system-based switching particle swarm optimizer with dynamic learning strategies[J]. Neurocomputing, 2022, 494: 356-367.

[17] DZIWINSKI P, BARTCZUK L. A new hybrid particle swarm optimization and genetic algorithm method controlled by fuzzy logic[J]. IEEE Transactions on Fuzzy Systems, 2019, 28(6): 1140-1154.

[18] 閆群民,馬瑞卿,馬永翔,等.一種自適應模擬退火粒子群優化算法[J].西安電子科技大學學報, 2021, 48(4): 120-127.

YAN Q M, MA R Q, MA Y X ,et al. Adaptive simulated annealing particle swarm optimization algorithm.[J] Joural of Xidian University, 2021, 48(4): 120-127.

[19] 黃晨晨,魏霞,黃德啟,等.求解高維復雜函數的混合蛙跳–灰狼優化算法[J]. 控制理論與應用, 2020,37(7): 1655-1666.

HUANG C C, WEI X, HUANG D Q ,et al. Shuffled frog leaping grey wolf algorithm for solving high dimensional complex functions[J]. Control Theory & Applications, 2020, 37(7): 1655-1666.

[20] MIRJALILI S, GANDOMI A H, Mirjalili S Z ,et al. Salp swarm algorithm: a bio-inspired optimizer for engineering design problems[J]. Advances in Engineering Software, 2017, 114: 163-191.

[21] 王英聰,劉軍輝,肖人彬.基于刺激響應分工機制的人工蜂群算法[J].控制與決策, 2022, 37(4): 881-891.

WANG Y C, LIU J H, XIAO R B ,et al. Artifificial bee colony algorithm based on stimulus-response labor division[J]. Control and Decision, 2022, 37(4): 881-891.

(責任編輯 耿金花)

收稿日期: 2022-10-16;修回日期:2022-11-17

基金項目: 國家自然科學基金(61673228,62072260);青島市科技計劃(21-1-2-16-zhz)

第一作者: 李金(1996-),男,山東泰安人,碩士研究生,主要研究方向為智能優化方法。

通信作者: 張紀會(1969-),男,山東青島人,博士,教授,主要研究方向為復雜系統建模、智能優化理論與方法。

猜你喜歡
粒子群算法模擬退火
結合模擬退火和多分配策略的密度峰值聚類算法
模擬退火遺傳算法在機械臂路徑規劃中的應用
蟻群算法的運用及其優化分析
電力市場交易背景下水電站優化調度研究
基于粒子群算法的產業技術創新生態系統運行穩定性組合評價研究
無線傳感器網絡聯盟初始結構生成研究
基于模擬退火剩余矩形算法的矩形件排樣
基于模糊自適應模擬退火遺傳算法的配電網故障定位
交通堵塞擾動下多車場車輛路徑優化
車輛調度問題的全局—局部最優信息比粒子群算法研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合