1. 引言
在现代优化算法领域,粒子群优化算法(Particle Swarm Optimization, PSO) [1]由于其原理简洁、实现便捷,已在众多优化问题中得到广泛应用。无论是复杂的工程优化任务,还是精密的网络优化场景,PSO 都能够有效应对多变量、非线性问题,为实际工程提供可行的优化方案[2]。
然而,PSO也存在显著不足,尤其容易陷入局部最优解,严重制约其在全局优化中的性能表现。一旦陷入局部最优区域,PSO难以跳出当前搜索范围,导致算法无法继续逼近更优解。针对这一问题,本文从种群中心位置的角度出发,提出了两种改进型PSO算法:粒子群优化-社会影响算法(Particle Swarm Optimization-Social Influence, PSOSI)和粒子群优化–局部扰动算法(Particle Swarm Optimization-Local Perturbation, PSOLP),旨在增强算法跳出局部最优的能力,提升对全局最优解的搜索效果。
2. 相关工作
早期的PSO仅包含个体学习因子
与社会学习因子
,难以兼顾全局探索与局部开发,容易陷入局部最优解。为提升搜索性能,Shi等人[3]引入了惯性权重w,以控制粒子速度更新的幅度,从而增强算法的搜索能力。随后,Shi等人[4]又提出了惯性权重递减策略,使得算法在迭代初期具备更强的全局探索能力,而在后期则更倾向于局部收敛。这些改进为PSO算法在性能上的提升奠定了基础,逐步形成了当前被广泛采用的标准PSO模型。
此后,大量研究围绕PSO展开改进与扩展。针对传统PSO在求解多模态问题时易早熟收敛的缺陷,Liang等人[5]提出了三种变体算法:ELPSO、MLPSO和CLPSO。三者均打破传统粒子同时从个体最优pbest和全局最优gbest学习的模式,改为各维度在多代内从单一示例学习,且学习源在维度间异构。针对传统PSO在处理大规模优化问题时性能随维度上升而下降的问题,Li等人[6]提出了CCPSO2,打破了传统的速度更新和邻域定义方式,通过柯西与高斯分布对粒子位置进行采样更新,并引入环拓扑结构定义局部邻域;同时,采用动态分组策略替代固定分组大小,革新了pbest和gbest的更新机制。为应对实际问题中算法选择不确定、依赖试错法带来的高计算成本,Wang等人[7]融合四种不同的PSO搜索策略与概率模型,提出了自适应学习粒子群优化算法(SLPSO),具备策略自适应调整能力。针对所有粒子采用相同搜索策略易导致早熟收敛的问题,Zhang等人[8]提出了精英归档粒子群优化算法(EAPSO),其无需依赖额外参数,仅通过种群规模和终止条件即可高效完成搜索任务。此外,全局最优–最差粒子群优化算法(GBWPSO) [9]结合了PSO与Jaya算法,具有良好的并行能力;二次插值局部粒子群算法(QPSOL) [10]则通过增加种群多样性与强化探索–开发平衡,显著提升了优化效率。
上述方法普遍具有结构灵活、适应性强、优化能力稳健等优点。本文从种群中心位置的角度出发,增强了PSO的种群多样性,有效避免了早熟收敛现象,从而提升了算法在复杂问题中的优化性能。
3. 方法
本章将首先介绍标准PSO,随后阐述基于种群中心位置引导的优化原理与局部扰动策略的具体实现方法,最后通过伪代码形式展示PSOSI与PSOLP两种改进算法的实现流程。
3.1. 标准PSO
在PSO中,每个个体(粒子)具有两个核心属性:位置和速度。粒子的速度用于表示其在解空间中的移动方向与幅度,而位置则对应一个具体的解。算法通过速度更新公式调整粒子的运动趋势:
(1)
其中,i表示第i个个体,t表示当前迭代代数,
和
为[0, 1]内的随机数。
和
一般取值为2,w采取线性递减策略:
(2)
其中
一般取值0.9,
一般取值0.4,为最大迭代次数。
位置的更新公式如下:
(3)
3.2. 粒子群优化-社会影响算法
3.2.1. 种群中心位置
种群中心位置(如图1)汇聚了所有个体位置信息的整体趋势,代表了种群当前搜索区域的平均方向。当个体在更新过程中引入种群中心位置作为参考,可视为其与整个种群的一次信息交互。这种交互机制有助于个体获取全局搜索趋势,在保持个体探索能力的同时,提升算法整体的收敛效率和全局搜索能力。
Figure 1. Schematic representation of the location of the population center
图1. 种群中心位置示意图
种群中心位置计算公式如下:
(4)
其中,N为种群规模。
3.2.2. PSOSI实现
PSOSI在标准PSO的基础上进行了改进,在每轮粒子速度更新时,除了受到自身惯性项、个体历史最优位置
和种群全局最优位置
的影响外,还引入了种群中心位置的引导作用。种群中心作为额外的影响因素,其对应的影响因子用于衡量该因素在速度更新中的作用大小:
(5)
其中,
不宜过大,本文取值为0.1。PSOSI的具体实现步骤见算法1。
算法1:PSOSI伪代码 |
输入:种群规模
,最大迭代次数
,惯性权重
,个体学习因子
,社会学习因子
,社会影响因子
1: 初始化个体位置
,个体速度
,适应度值
,个体最优
,全局最优
; 2: 迭代次数:
; 3: while
do 4:
; 5: for
do 6:
; 7:
; 8: end for 9: for
do 10: 根据具体优化问题的目标函数计算个体
的适应度值
; 11: 更新
和
; 12: end for 13:
; 14:end while 输出:
|
3.3. 粒子群优化–局部扰动算法
3.3.1. 局部扰动
在PSOLP中,采用了与种群中心位置引导的不同方式,即计算种群中个体与种群中心位置的聚集度。当聚集度过高(如图2)时,为了避免算法陷入局部最优解,将对个体进行局部扰动,从而促进种群的多样性和搜索空间的探索。
第i个个体离种群中心位置的距离为:
。 (6)
所有个体离种群中心位置的平均距离为:
。 (7)
种群聚集程度阈值用
表示,本文取值为1,个体扰动强度用
表示,本文取值0.5。局部扰动的公式如下:
, (8)
, (9)
其中,
为[0, 1]内的随机数。
Figure 2. Schematic of population aggregation
图2. 种群聚集示意图
3.3.2. PSOLP实现
PSOLP算法在每轮迭代中都会计算种群的聚集程度,根据聚集情况判断是否对个体进行局部扰动,具体过程如算法2所示。
算法2:PSOLP伪代码 |
输入:种群规模
,最大迭代次数
,惯性权重
,个体学习因子
,社会学习因子
,种群聚集程度阈值
,个体扰动强度
1: 初始化个体位置
,个体速度
,适应度值
,个体最优
,全局最优
; 2: 迭代次数:
; 3: while
do 4:
; 5: for
do 6:
; 7: end for 8:
; 9: for
do 10: if
then 11:
; 12:
; 13: end if |
14:
; 15:
; 16: end for 17: for
do 18: 根据具体优化问题的目标函数计算个体i的适应度值
; 19: 更新
和
; 20: end for 21:
; 22:end while 输出: |
4. 实验
本章通过一系列实验对比,评估了本文提出的PSOSI和PSOLP算法在多个优化问题上的表现,并与标准PSO及其他先进算法进行了全面的对比分析。
4.1. 测试函数集
本实验采用了公开测试函数集CEC2022 [11],该函数集包含了多种具有挑战性的优化问题,旨在验证算法在解决不同类型问题中的性能,包括多峰性、非线性、可微性的函数。这些特性能够有效地检验所改进算法在全局优化和局部搜索能力上的表现。
此外,选取了8个工程设计问题,详见表1,这些问题具有实际应用中的特定特点,如约束条件复杂、目标函数非凸等。通过这些工程设计问题的验证,能够更好地评估所改进算法在实际优化任务中的适用性与效果。
Table 1. Summary of engineering design problems
表1. 工程设计问题汇总
函数 |
工程设计问题 |
问题维度 |
En-F1 |
拉伸/压缩弹簧设计问题[12] |
3 |
En-F2 |
压力容器设计问题[13] |
4 |
En-F3 |
三杆桁架设计问题[14] |
2 |
En-F4 |
焊接梁设计问题[15] |
4 |
En-F5 |
减速机设计问题[16] |
7 |
En-F6 |
滚动轴承设计问题[17] |
10 |
En-F7 |
悬臂梁设计问题[18] |
5 |
En-F8 |
阶梯锥皮带轮设计问题[19] |
5 |
4.2. 实验设置
本文将提出的PSOSI和PSOLP与标准PSO以及其他五种先进算法(HHO [20]、FLO [21]、HOA [22]、SCA [23]、WOA [24])进行了实验对比。针对CEC-2022测试函数集,实验中选择了最高维度20,种群规模设为100,最大迭代次数设为1000。而针对工程优化问题,由于问题的维度相对较低,种群规模设置为50,最大迭代次数设置为500。
实验过程中,本文记录了每个算法在每个函数上独立执行30次的数值平均值、标准差。表现最优的算法(即平均值和标准差最低的算法)在表格中以加粗方式标记。此外,本文还进行了Wilcoxon检验[25] (显著性检验,p值< 0.05)和Friedman检验[26],并针对每一组测试集进行了统计分析。其中,Wilcoxon检验均以首列算法PSOSI为参照:符号“+”表示PSOSI在对应测试函数上显著优于对比算法,“−”表示显著劣于对比算法,“=”则表示两者在该测试函数上的优化效果无显著差异。
4.3. 对比实验结果及分析
表2展示了在20维CEC-2022测试集上的实验结果,PSOSI和PSOLP分别在3个测试函数上取得最优表现,与HHO在相同数量的3个最优函数上表现一致。然而,Wilcoxon显著性检验结果表明,PSOSI在7个函数上显著优于HHO,而仅在3个函数上显著优于PSOLP。虽然PSOLP未直接与HHO或其他算法进行Wilcoxon检验,但通过其与PSOSI的对比可以间接推断,PSOLP在显著性表现上与PSOSI最为接近。Friedman检验进一步显示,PSOSI和PSOLP分别排名第1和第2,优于HHO的第3名和标准PSO的第4名。
Table 2. Numerical comparison of optimization results on the 20-dimensional CEC-2022
表2. 20维CEC-2022上的优化结果数值对比
函数 |
指标 |
PSOSI |
PSOLP |
PSO |
HHO |
FLO |
HOA |
SCA |
WOA |
F1 |
平均值 |
1.15E+04 |
1.45E+04 |
1.91E+04 |
3.96E+02 |
4.69E+04 |
2.10E+04 |
1.00E+04 |
5.98E+03 |
标准差 |
9.06E+03 |
9.77E+03 |
9.14E+03 |
1.06E+02 |
1.76E+04 |
6.60E+03 |
2.50E+03 |
2.42E+03 |
F2 |
平均值 |
5.09E+02 |
4.91E+02 |
6.09E+02 |
4.74E+02 |
1.86E+03 |
9.37E+02 |
6.53E+02 |
5.15E+02 |
标准差 |
5.85E+01 |
5.75E+01 |
1.41E+02 |
3.34E+01 |
3.89E+02 |
1.27E+02 |
5.35E+01 |
5.49E+01 |
F3 |
平均值 |
6.12E+02 |
6.16E+02 |
6.17E+02 |
6.53E+02 |
6.73E+02 |
6.44E+02 |
6.41E+02 |
6.61E+02 |
标准差 |
6.56E+00 |
9.13E+00 |
1.04E+01 |
8.18E+00 |
6.11E+00 |
7.87E+00 |
5.20E+00 |
8.47E+00 |
F4 |
平均值 |
8.78E+02 |
8.85E+02 |
8.81E+02 |
8.81E+02 |
9.61E+02 |
8.98E+02 |
9.37E+02 |
9.10E+02 |
标准差 |
2.55E+01 |
2.76E+01 |
2.87E+01 |
1.52E+01 |
1.56E+01 |
1.45E+01 |
1.38E+01 |
3.05E+01 |
F5 |
平均值 |
1.96E+03 |
1.85E+03 |
2.04E+03 |
2.55E+03 |
3.13E+03 |
2.08E+03 |
2.07E+03 |
2.97E+03 |
标准差 |
1.17E+03 |
8.06E+02 |
9.10E+02 |
2.67E+02 |
4.01E+02 |
3.77E+02 |
4.43E+02 |
8.38E+02 |
F6 |
平均值 |
1.90E+06 |
1.46E+06 |
1.23E+07 |
6.67E+04 |
1.04E+09 |
1.05E+08 |
1.17E+08 |
1.78E+04 |
标准差 |
7.17E+06 |
7.88E+06 |
1.61E+07 |
3.96E+04 |
6.14E+08 |
1.01E+08 |
6.89E+07 |
1.33E+04 |
F7 |
平均值 |
2.07E+03 |
2.07E+03 |
2.06E+03 |
2.14E+03 |
2.19E+03 |
2.13E+03 |
2.13E+03 |
2.20E+03 |
标准差 |
3.32E+01 |
3.73E+01 |
3.24E+01 |
4.82E+01 |
3.62E+01 |
3.48E+01 |
1.59E+01 |
6.82E+01 |
F8 |
平均值 |
2.26E+03 |
2.26E+03 |
2.26E+03 |
2.24E+03 |
2.38E+03 |
2.27E+03 |
2.26E+03 |
2.28E+03 |
标准差 |
4.92E+01 |
6.00E+01 |
5.80E+01 |
2.24E+01 |
1.25E+02 |
6.02E+01 |
1.30E+01 |
6.70E+01 |
F9 |
平均值 |
2.48E+03 |
2.48E+03 |
2.60E+03 |
2.48E+03 |
3.10E+03 |
2.79E+03 |
2.56E+03 |
2.51E+03 |
标准差 |
8.48E+00 |
3.65E-02 |
8.93E+01 |
2.75E+00 |
2.12E+02 |
8.20E+01 |
2.97E+01 |
2.25E+01 |
F10 |
平均值 |
3.45E+03 |
3.99E+03 |
3.84E+03 |
3.26E+03 |
5.74E+03 |
3.24E+03 |
2.77E+03 |
3.84E+03 |
标准差 |
8.78E+02 |
8.53E+02 |
1.09E+03 |
6.17E+02 |
1.70E+03 |
1.11E+03 |
9.13E+02 |
1.20E+03 |
F11 |
平均值 |
2.90E+03 |
2.91E+03 |
5.89E+03 |
3.00E+03 |
8.32E+03 |
5.67E+03 |
5.67E+03 |
2.98E+03 |
标准差 |
1.03E-01 |
1.45E+01 |
9.12E+03 |
1.28E+02 |
7.90E+02 |
8.91E+02 |
4.69E+02 |
4.05E+01 |
F12 |
平均值 |
3.00E+03 |
2.98E+03 |
3.00E+03 |
3.03E+03 |
3.74E+03 |
3.43E+03 |
3.03E+03 |
3.04E+03 |
标准差 |
4.82E+01 |
3.67E+01 |
3.59E+01 |
4.37E+01 |
1.99E+02 |
1.07E+02 |
1.84E+01 |
9.47E+01 |
|
+/-/= |
|
3/1/8 |
4/1/7 |
7/2/3 |
12/0/0 |
10/0/2 |
10/0/2 |
7/2/3 |
|
平均排名 |
2.58 |
2.83 |
4.17 |
3.42 |
7.92 |
5.67 |
4.33 |
5.08 |
|
最终排名 |
1 |
2 |
4 |
3 |
8 |
7 |
5 |
6 |
表3展示了在8个工程设计问题测试集上的实验结果。PSOSI在3个问题上取得最优,PSOLP和标准PSO分别在2个问题上取得最优,HHO在1个问题上取得最优。就最优数量而言,PSOSI表现最佳,其次是PSOLP和PSO。从Wilcoxon显著性检验结果来看,PSOSI在除PSO外的所有算法中均展现出更优表现;但与PSO相比,PSOSI在2个工程设计问题上的优化效果显著较差。这可能是由于这两个问题维度较低,中心位置引导机制反而抑制了收敛速度。与PSOLP对比时,PSOSI在6个问题上具有显著优势,体现出更稳定的优化能力。Friedman 检验结果显示,PSOSI仍排名第1,PSO升至第2位,PSOLP则退至第3位。
Table 3. Numerical comparison of optimization results on the engineering design problems
表3. 工程设计问题上的优化结果数值对比
函数 |
指标 |
PSOSI |
PSOLP |
PSO |
HHO |
FLO |
HOA |
SCA |
WOA |
En-F1 |
平均值 |
1.30E-02 |
1.54E-02 |
1.31E-02 |
1.36E-02 |
1.51E+99 |
1.43E-02 |
1.31E-02 |
1.38E-02 |
标准差 |
5.84E-04 |
3.18E-03 |
6.05E-04 |
8.99E-04 |
5.41E+99 |
1.34E-03 |
1.31E-04 |
8.96E-04 |
En-F2 |
平均值 |
6.26E+03 |
6.24E+03 |
6.12E+03 |
6.81E+03 |
1.14E+05 |
9.83E+03 |
7.10E+03 |
9.79E+03 |
标准差 |
5.46E+02 |
5.60E+02 |
4.88E+02 |
3.66E+02 |
7.54E+04 |
2.17E+03 |
5.70E+02 |
4.58E+03 |
En-F3 |
平均值 |
2.64E+02 |
2.64E+02 |
2.64E+02 |
2.64E+02 |
2.65E+02 |
2.64E+02 |
2.64E+02 |
2.65E+02 |
标准差 |
5.09E-04 |
1.84E-01 |
7.96E-04 |
2.05E-01 |
2.08E+00 |
1.16E-01 |
1.18E-01 |
1.28E+00 |
En-F4 |
平均值 |
1.70E+00 |
1.76E+00 |
1.72E+00 |
1.90E+00 |
3.27E+00 |
2.99E+00 |
1.84E+00 |
2.36E+00 |
标准差 |
1.45E-02 |
3.60E-02 |
3.92E-02 |
1.74E-01 |
5.63E-01 |
5.03E-01 |
4.78E-02 |
5.23E-01 |
En-F5 |
平均值 |
3.06E+03 |
3.05E+03 |
3.12E+03 |
3.04E+03 |
1.12E+98 |
1.60E+97 |
3.14E+03 |
3.32E+03 |
标准差 |
7.66E+01 |
1.01E+01 |
4.59E+02 |
2.33E+01 |
1.23E+98 |
3.93E+97 |
3.71E+01 |
5.18E+02 |
En-F6 |
平均值 |
-2.43E+05 |
-2.43E+05 |
-2.39E+05 |
-2.43E+05 |
-1.57E+05 |
-1.55E+05 |
-2.37E+05 |
-2.15E+05 |
标准差 |
1.87E+03 |
1.54E+01 |
2.27E+04 |
9.99E+02 |
1.67E+04 |
2.20E+04 |
4.48E+03 |
2.41E+04 |
En-F7 |
平均值 |
1.34E+00 |
1.34E+00 |
1.34E+00 |
1.34E+00 |
1.50E+00 |
1.36E+00 |
1.39E+00 |
1.53E+00 |
标准差 |
2.00E-05 |
3.24E-04 |
2.42E-05 |
2.28E-03 |
4.72E-02 |
9.75E-03 |
2.60E-02 |
1.09E-01 |
En-F8 |
平均值 |
8.24E+96 |
6.02E+91 |
8.83E+96 |
7.01E+91 |
3.94E+98 |
1.45E+97 |
1.73E+97 |
8.35E+95 |
标准差 |
2.10E+97 |
9.75E+91 |
2.09E+97 |
2.29E+92 |
5.66E+98 |
3.62E+97 |
1.02E+97 |
2.54E+96 |
|
+/-/= |
|
6/0/2 |
0/2/6 |
5/0/3 |
8/0/0 |
7/0/1 |
8/0/0 |
8/0/0 |
|
平均排名 |
2.19 |
3.56 |
2.69 |
3.69 |
7.31 |
5.94 |
4.56 |
6.06 |
|
最终排名 |
1 |
3 |
2 |
4 |
8 |
6 |
5 |
7 |
综上所述,PSOSI在CEC-2022标准测试集和8个工程设计问题中的整体表现均优于其他算法。与PSOLP相比,PSOSI展现出更强的稳定性,说明在这两个测试集上,基于种群中心位置的引导机制,相较于依赖种群聚集程度进行局部扰动的策略,具备更优的优化效果。
4.4. 收敛曲线展示及分析
(a1) CEC2022-F2 (b1) 收敛曲线
(a2) CEC2022-F3 (b2) 收敛曲线
(a3) CEC2022-F4 (b3) 收敛曲线
(a4) CEC2022-F9 (b4) 收敛曲线
(a5) CEC2022-F10 (b5) 收敛曲线
(a6) CEC2022-F12 (b6) 收敛曲线
Figure 3. CEC-2022 function visualization and convergence curves
图3. CEC-2022函数可视化及收敛曲线图
本文可视化了6个CEC-2022测试函数,并展示了在这些函数上的收敛曲线效果,如图3所示。结果表明,PSOSI和PSOLP相比于PSO,收敛曲线表现显著提升。在大多数测试函数中,PSOSI和PSOLP不仅收敛速度更快,优化结果也更加优越。即便如图3(b4)所示,PSO初期收敛较快,但通过种群中心位置引导或局部扰动机制的作用,PSOSI和PSOLP有效增加了种群多样性,从而在后续迭代中逐渐超越PSO,进一步验证了所提改进策略的有效性。同时,相较于其他主流算法,PSOSI和PSOLP在解决CEC-2022测试函数问题时展现出了明显的优势。
5. 结论
本文针对传统粒子群优化算法(PSO)易陷入局部最优的问题,提出了两种改进策略:基于种群中心引导的PSOSI算法以及引入局部扰动机制的PSOLP算法。通过在CEC-2022测试函数和多个工程设计问题上的实验验证,结果表明,两种算法在优化精度与收敛稳定性方面均优于标准PSO及主流对比算法。研究表明,从种群整体信息出发进行引导或扰动,能够有效提升PSO的全局搜索能力,为复杂优化问题提供了可行且高效的求解方案。未来工作将聚焦于进一步增强算法的全局搜索能力,同时探索其在高维、多约束及实际工业优化场景中的适用性与扩展性。