









摘要: 針對粒子群優化算法在優化復雜工程問題時存在搜索效率低和易陷入局部最優的問題, 提出一種屋型拓撲粒子群優化算法. 該算法通過提出屋型拓撲和設計適應其特性的位置更新策略, 改善粒子群優化算法信息傳遞和交流方式, 提升算法的收斂速率和全局優化能力. 在基準函數上的對比實驗結果表明, 屋型拓撲粒子群算法的尋優精度、 收斂速度和穩定性均優于其他4種改進算法. 在3個實際工程優化問題上的仿真實驗結果進一步驗證了該算法的有效性和實用性.
關鍵詞: 屋型拓撲; 粒子群優化算法; 工程優化問題; 基準函數; 仿真實驗
中圖分類號: TP301.6""文獻標志碼: A""文章編號: 1671-5489(2024)06-1384-07
House Topology-Based Particle Swarm Optimization Algorithm andSolution to Engineering Optimization Problems
GAO Minghan1, WANG Limin2, HUANG Ruilu2, ZHANG Yufei3, LI Mingyang4
(1. School of Computer Science amp; Engineering, Changchun University of Technology, Changchun 130012, China;
2. School of Information Science, Guangdong University of Finance and Economics, Guangzhou 510320, China;
3. School of Computer Science and Technology, Changchun University, Changchun 130022, China;
4. School of Economics and Management, Changchun University of Technology, Changchun 130012, China)
Abstract: Aiming at "the problems of low search efficiency and susceptibility "to "local optima in "particle swarm optimization algorithm
for optimizing "complex engineering problems, we proposed "a house topology-based particle swarm optimization algorithm. By
proposing "a house topology and designing a position update strategy tailored to its characteristics, the algorithm improved the information transmission and communication methods of "particle
swarm optimization algorithm, thereby enhancing the convergence rate and global optimization capability of the algorithm. The comparative experimental results on benchmark
functions show that the optimization accuracy, convergence speed, and stability of the house topology-based particle swarm optimization algorithm are superior
to the other "4 improved algorithms. The simulation results "on 3 real-world engineering optimization problems further validate the "effectiveness and practicality of the proposed algorithm.
Keywords: house topology; "particle swarm optimization algorithm; engineering optimization problem; benchmark function; simulation experiment
現代工程領域優化問題通常包含多種變量和約束條件, 具有復雜性和多維性, 求解難度較大[1]. 目前已提出了多種優化方法, 如梯度下降法和牛頓法等. 這些方法具有收斂速度快、 可解釋性強等優點, 但有時面臨初始條件敏感和易陷入局部最優等問題, 從而很難找到可行解. 群體智能優化算法為這類問題的求解提供了解決方案.
粒子群優化(particle swarm optimization, PSO)算法是工程應用中最廣泛的群體智能優算法之一[2], 其通過種群粒子間的相互協作和信息共享尋找問題最優解, 因簡
單易行和全局搜索能力較強而備受關注. 但在處理復雜工程優化問題時, PSO算法存在搜索效率低和搜索能力不足等問題. 因此, 改進PSO算法的性能, 進一步提升算法的全局搜索能力和收斂速度至關重要.
目前已提出了多種改進的PSO算法, 主要包括改進拓撲結構[3-5]、 動態參數調整[6-8]和混合算法[9-11]等. 其中, 改進拓撲結構的方法通過改變粒子之間的信息交流方式, 增強算法多樣性. 動態參數調整的方法根據算法的進程或粒子的表現動態調整算法參數, 平衡搜索能力. 混合算法的方法通過引入其他優化算法機制, 利用各算法的優勢彌補單一算法不足. 上述方法在一定程度上改善了PSO算法的局限性, 提升了其全局搜索能力和收斂速度.
本文提出一種屋型拓撲粒子群優化(house topology-based particle swarm optimization, HTPSO)算法. 該算法通過設計屋型拓撲結構, 優化了PSO算法種群組織方式, 擴展了粒子知識來源. 設計適應屋型拓撲的位置更新策略, 提升算法收斂速率和全局優化能力. 在仿真測試中, 利用多個基準函數驗證了HTPSO算法具有收斂速度快、 精度高等優勢. 在3個工程優化問題中, 相較于對比算法, HTPSO算法展現了更具優勢的綜合優化性能.
1"粒子群優化算法
PSO算法在問題求解時, 通常采用隨機初始化方法構造初始粒子群, 然后利用迭代位置更新方法, 根據種群內部經驗不斷自我提升, 使種群整體趨向最有可能存在全局最優解的方向, 從而找到具體優化問題的近似最優解. 假設一個具有D維搜索空間的優化問題, 當使用具有N個種群粒子的PSO算法進行求解時, 其第i個粒子的位置向量可表示為Xi=(xi,
1,xi,2,…,xi,D), 速度向量可表示為Vi=(vi,1,vi,2,…,vi,D). 在一次迭代中, PSO算法粒子的位置更新公式和速度更新公式分別為
Vi(t+1)=wVi(t)+c1r1(Xi,best(t)-Xi(t))+c2r2(Xgbest(t)-Xi(t)),(1)
Xi(t+1)=Xi(t)+Vi(t+1),(2)
其中: Xi,best表示粒子i到當前迭代t為止經過的具有最佳適應度值的位置; Xgbest表示整個種群的最佳位置記錄; c1和c2分別表示認知和社會學習因子, 用于調整粒子受到個體和全局最優吸引的強度, 通常均取值為2; r1和r2為兩個均勻分布在0~1內的隨機數; w為線性遞減的慣性權重, 可表示為
w=wmax-t(wmax-wmin)tmax,(3)
wmax和wmin分別為最大和最小慣性權重值, tmax為最大迭代次數.
2"屋型拓撲粒子群優化算法
2.1"屋型拓撲
PSO算法中粒子受種群最優個體位置和自身歷史最優位置的吸引, 可能會導致種群多樣性降低, 從而快速收斂于局部最優解附近. 本文提出屋型拓撲結構組織粒子協作完成尋優任務.
屋型拓撲是一種多層的拓撲結構, 其根據類似現實世界中的房屋形態展開運作. 在一個屋型拓撲種群中, 粒子將被劃分為屋頂、 屋檐、 墻壁三類. 具有更好適應度值的粒子, 會被分配在更高層中. 位于屋頂的粒子作為領導者, 能直接或間接管理和引導其下的諸多粒子. 即屋頂的粒子可以引導屋檐中的粒子, 而其他層的粒子同樣能引導其下一層的粒子. 通過多個層次之間的協作, 實現對整個種群知識的傳遞, 從而能比PSO算法拓撲更恰當地分配粒子任務. 圖1為具有15個粒子的屋型拓撲種群示意圖.
屋型拓撲的PSO算法有以下屬性:
1) 每個粒子被分配到一個特定的層;
2) 粒子適應度值越好, 其所在的層次越高, 全局最佳粒子位于屋頂, 最差的粒子位于墻壁;
3) 同層粒子具有相近的適應度值.
2.2"改進位置更新策略
PSO算法種群整體使用相同的位置更新方法, 可能導致不同粒子的潛力無法充分發揮, 影響算法的優化性能. 本文設計3種位置更新策略, 以適應屋型拓撲的多層運作結構, 從而為不同層次的粒子分配合適的任務, 以增強算法性能.
屋頂粒子具有最好的適應度值, 其位置可能具有較強的全局表示性和優勢性. 因此, 屋頂粒子的位置更新方法應能加快收斂速度, 并精細開發種群已知的最優區域. 屋頂粒子的速度和位置更新公式分別為
Vi(t+1)=r1sin(2π(1-μ))(Xi(t)-Xgbest(t)),(4)
Xi(t+1)=Xgbest(t)+Vi(t+1),(5)
其中: r1和μ為兩個均勻分布在0~1內的隨機數; Xgbest為當前時刻內種群
歷史最優經驗位置. 通過引入正弦擾動, 擴展了屋頂粒子速度更新的行為方式, 為其位置更新提供了更泛化性的參考, 一定程度上避免了在自身最優區域陷入遲滯的可能.
屋檐粒子具有次好的適應度值, 在尋優過程中起到承上啟下、 串聯全局的作用. 因此, 屋檐粒子的位置更新方法應根據屋頂粒子的指導, 充分吸收屋頂粒子的歷史優秀經驗, 從而
在保有適當多樣性的同時, 輔助屋頂粒子實現對解空間的進一步開發. 屋檐粒子速度和位置更新公式分別為
Vi(t+1)=wVi(t)+c1r2(Xi,best(t)-Xi(t))+c2r3(Pi(t)-Xi(t)),(6)
Xi(t+1)=Pi(t)+Vi(t+1),(7)
其中: Xi,best為粒子i的歷史最優位置; r2和r3為兩個均勻分布在0~1內的隨機數; w為慣性權重, 取值如式(3)所示; Pi為屋頂共識位置, 可表示為
Pi(t)=Xroof1(t)+Xroof2(t)+Xroof3(t)3,(8)
Xroof1,Xroof2,Xroof3分別表示3個隨機選擇的不同屋頂粒子的歷史最優位置. 通過引入屋頂共識位置, 屋檐粒子速度更新的一個分量將在有效繼承屋頂粒子經驗的同時, 避免過快收斂到某一局部最優位置附近.
墻壁粒子的適應度值較差, 可能蘊含的全局最優信息較少. 因此, 本文采用重組位置更新方法, 幫助墻壁粒子快速脫離當前區域, 并有效增強種群多樣性. 墻壁粒子的位置更新公式為
Xi(t+1)=Ei(t)+r4η(Xe,best(t)-Xi(t)),(9)
Ei(t)=Xe,best(t)+Xi(t)2,(10)
其中: Xe,best表示隨機選擇的一個屋檐粒子的歷史最優位置; η=0.6; r4為均勻分布在0~1內的隨機數; Ei為重組位置, 由式(10)獲得.
2.3"HTPSO算法實現過程
HTPSO算法的實現流程如圖2所示.
3"仿真實驗
為驗證本文方法的有效性, 下面在多個基準函數和3個工程優化問題上進行仿真實驗. 實驗設備為搭載Intel(R) Xeon(R) CPU E5-2666 v3 @ 2.90 GHz的工作站, 內存為32 GB, 操作系統為Microsoft Windows10 64位, 仿真軟件為MATLAB R2022a.
3.1"基準函數測試
本文選擇CEC2017技術報告[12]中的6個基準函數進行測試, 各基準函數信息列于表1.
在基準函數上, 將HTPSO算法與4種先進的改進算法進行性能比較, 包括兩個同類改進算法: 自適應加權粒子群優化器(AWPSO)[13]和修正的粒子群優化(MPSO)算法[14]. 兩個其他優化算法的改進算法: 具有性能增強策略的雞群優化(PECSO)算法[15]和正弦余弦嵌入的松鼠搜索算法(SCSSA)[16]. 其中, AWPSO設計自適應加權策略, 利用曲線函數映射自適應調節粒子加速系數. MPSO設計隨機和主流學習策略替代自我和全局學習策略. PECSO融合自由分組與個體再生機制實現多樣化搜索. SCSSA將正弦余弦算法與松鼠搜索算法混合以結合二者優勢.
為保證實驗的公平性, 所有算法的通用參數均設置為智能體個數N=50, 最大迭代次數tmax=1 000, 測試維度D=30. 此外, 每種算法的特殊參數設置列于表2.
在每個基準測試函數上, 均進行30次獨立重復實驗, 以減少隨機因素對測試結果的影響. 采用30次獨立實驗測試結果的平均適應度值與標準差為評價指標.
表3為HTPSO算法與4種對比算法在基準函數上的測試結果. 由表3可見, HTPSO算法在6個基準函數上均獲得了最小的平均適應度值和標準差, 表明HTPSO算法的收斂精度和穩定性較高.
圖3為6種算法在不同基準函數上的收斂曲線, 為更顯著地展示不同算法在多輪獨立重復實驗中的收斂趨勢, 采用平均適應度值的對數值作為性能指標. 由圖3可見, HTPSO算法曲線下降速率較快且收斂位置較低, 表明其能較好平衡算法勘探與開發的關系, 具有較高的收斂速度和精度, 進一步證明了該算法的良好優化能力.
3.2"工程優化問題求解
工程優化問題通過將實際工程設計問題轉化為最小化優化問題進行求解, 群體智能優化算法已被驗證可以為其設計提供有效方案. 下面考慮3個有表示性的有約束工程優化問題:
三桿桁架設計[17]、 壓力容器設計[18]和拉力/壓縮彈簧設計[19]. 3個工程設計優化問題的基本信息列于表4.
采用HTPSO算法進行工程優化問題求解實驗, 對比算法實驗參數設置與基準函數實驗相同. 3個工程優化問題的測試結果對比列于表5, 其中優化結果的最優值、 最差值、 平均值
和標準差由重復進行的30次獨立實驗獲得, 優化變量為對應算法取得的最優值. 由表5可見, HTPSO算法在3個工程優化問題的各項性能指標中展現出較高的綜合性能, 優于其他3種對比算法. 表明HTPSO算法能有效解決一些實際應用中的工程優化問題, 有廣泛的適用性和有效性.
綜上所述, 針對粒子群優化算法在解決復雜工程優化問題時存在搜索效率低和易陷入局部最優的問題, 本文提出了一種基于屋型拓撲的粒子群優化(HTPSO)算法. 通過提出屋型
拓撲結構和適應于該拓撲結構的改進位置更新策略, 拓展了粒子群中粒子的知識來源, 增強了算法位置更新的泛化性, 平衡了種群勘探能力和開發能力, 緩解了PSO算法在全局探索能力、 搜索效率和收斂精度方面的不足. 在3個工程優化問題的求解中, 仿真結果表明, HTPSO算法相比于其他算法表現出求解精度高和穩定性強的優勢, 證明了其在解決實際優化問題上的可行性.
參考文獻
[1]"PAN J S, HU P, SNEL V, et al. A Survey on Binary Metaheuristic Algorithm
s and Their Engineering Applications [J]. Artificial Intelligence Review, 2023, 56(7): 6101-6167.
[2]"QU L T, HE W B, LI J F, et al. Explicit and Size-Adaptive
PSO-Based Feature Selection for Classification [J]. Swarm and Evolutionary Computation, 2023, 77: 101249-1-101249-13.
[3]"管仁初, 賀寶潤, 梁艷春, 等. 基于親緣關系選擇的粒子群優化算法 [J]. 吉林大學學報(工學版), 2022, 52(8): 1842-1849. (
GUAN R C, HE B R, LIANG Y C, et al. Particle Swarm Optimization Algorithm Based
on Kinship Selection [J]. Journal of Jilin University (Engineering and Technology Edition), 2022, 52(8): 1842-1849.)
[4]"LI T Y, SHI J Y, DENG W, et al. Pyramid Particle Swarm Optimization with Novel Strategies of Competition and Cooperation [J]. Applied Soft Computing, 2022, 121: 108731-1-108731-22.
[5]"WANG Z W, ZHANG W T, GUO Y N, et al. A Multi-objective Chicken Swarm Optimization Algorithm Based on Dual External Archive with Various Elites [J]. Applied Soft Computing, 2023, 133: 109920-1-109920-24.
[6]"RIZK-ALLAH R, HAGAG E, EL-FERGANY A. Chaos-Enhanced Multi-objective Tunica
te Swarm Algorithm for Economic-Emission Load Dispatch Problem [J]. Soft Computing, 2023, 27(9): 5721-5739.
[7]"蘭淼淼, 胡黃水, 王婷婷, 等. 基于改進鯨魚優化PID的無刷直流電機轉速控制算法 [J]. 吉林大學學報(理學版), 2024, 62(3): 704-712. (
LAN M M, HU H S, WANG T T, et al. Speed Control Algorithm of Brushless DC Motor Based on Improved Whale Optimization PID [J]. Journal of Jilin University (Science Edition), 2024, 62(3): 704-712.)
[8]"HONG L B, YU X M, WANG B, et al. An Improved Ensemble Particle Swarm Optimizer
Using Niching Behavior and Covariance Matrix Adapted Retreat Phase [J]. Swarm and Evolutionary Computation, 2023, 78: 101278-1-101278-20.
[9]"李俊祺, 林偉偉, 石方, 等. 基于混合群智能的節能虛擬機整合方法 [J]. 軟件學報, 2022, 33(11): 3944-3966. (LI J Q, LIN W W, SHI F, et al. Energy Efficient Hybrid Swarm Intelligence Virtual Machine Consolidation Method [J]. Journal of Software, 2022, 33(11): 3944-3966.)
[10]"TANG C J, SUN W, XUE M, et al. A Hybrid Whale Optimization Algorithm with Artificial Bee Colony [J]. Soft Computing, 2022, 26(5): 2075-2097.
[11]"PENG H, ZENG Z G, DENG C S, et al. Multi-strategy Serial Cuckoo Search Algorithm
for Global Optimization [J]. Knowledge-Based Systems, 2021, 214: 106729-1-106729-19.
[12]"WU G H, MALLIPEDDI R, SUGANTHAN P. Problem Definitions and Evaluation Criteria
for the CEC 2017 Competition on Constrained Real-Parameter Optimization [R]. Changsha: National University of Defense Technology, 2017.
[13]"LIU W B, WANG Z D, YUAN Y, et al. A Novel Sigmoid-Function-Based Adaptive Weighted Particle Swarm Optimizer [J]. IEEE Transactions on Cybernetics, 2019, 51(2): 1085-1093.
[14]"LIU H, ZHANG X W, TU L P. A Modified Particle Swarm
Optimization Using Adaptive Strategy [J]. Expert Systems with Applications, 2020, 152: 113353-1-113353-19.
[15]"ZHANG Y F, WANG L M, ZHAO J P. PECSO: An Improved Chicken Swarm Optimization
Algorithm with Performance-Enhanced Strategy and Its Application [J]. Biomimetics, 2023, 8(4): 355-1-355-24.
[16]"ZENG L, SHI J Y, LI M, et al. Sine Cosine Embedded Squirrel Search Algorithm for Global Optimization and Engineering Design [J]. Cluster Computing, 2023, 27: 4415-4448.
[17]"WANG Z W, QIN C, WAN B T, et al. An Adaptive Fuzzy
Chicken Swarm Optimization Algorithm [J]. Mathematical Problems in Engineering, 2021, 2021: 8896794-1-8896794-17.
[18]"MOOSAVI S, BARDSIRI V. Poor and Rich Optimization Algorithm: A New Human-Base
d and Multi Populations Algorithm [J]. Engineering Applications of Artificial Intelligence, 2019, 86: 165-181.
[19]"XU X L, HU Z B, SU Q H, et al. Multivariable Grey Prediction Evolution Algorit
hm: A New Metaheuristic [J]. Applied Soft Computing, 2020, 89: 106086-1-106086-15.
(責任編輯: 韓"嘯)