APP下载

融合反向学习和黄金正弦的改进粒子群算法

2023-04-13张慧峰邹德旋刘树赵李梦迪

计算机时代 2023年4期
关键词:粒子群算法

张慧峰 邹德旋 刘树赵 李梦迪

摘  要: 提出一种融合反向学习和黄金正弦的改进粒子群算法。通过反向学习策略优化初始种群的质量,提高算法的收敛速度;结合黄金正弦算法优化位置更新公式,并通过双面镜理论处理边界外的粒子,使粒子在搜索空间内分布更均匀,增强算法的搜索能力;利用柯西变异的方法对全局最优粒子的位置进行扰动,提高粒子跳出局部最优的能力。对8个测试函数进行实验,并与其他的五种算法进行比较,结果表明,本文改进之后的粒子群优化算法有着更快的收敛速度和更高的寻优精度。

关键词: 粒子群算法; 反向学习; 黄金正弦算法; 双面镜理论; 柯西变异

中图分类号:TP391          文献标识码:A     文章编号:1006-8228(2023)04-48-05

Abstract: Aiming at the shortcomings that particle swarm optimization is easy to fall into local optimum and the search accuracy is not high, an improved particle swarm optimization algorithm combining opposition-based learning and golden sine is proposed. The quality of the initial population is optimized by the opposition-based learning strategy to improve the convergence speed of the algorithm. The golden sine algorithm is used to optimize the position updating formula of the algorithm, and the particles outside the boundary are processed with the double-faced mirror theory to make the particles more evenly distributed in the search space and enhance the search ability of the algorithm. Finally, the Cauchy mutation method is used to perturb the position of the global optimal particle to improve the ability of particles to jump out of the local optimum. Eight test functions are tested and compared with other five algorithms. The results show that the improved particle swarm optimization algorithm has faster convergence speed and higher optimization accuracy.

Key words: particle swarm optimization; opposition-based learning; golden sine algorithm; double-faced mirror theory; Cauchy mutation

0 引言

粒子群優化算法(Particle Swarm Optimization, PSO)于1995年由Kennedy和Eberhart提出,是一种模拟鸟群觅食行为而发展起来的集群体协作和信息共享的群体智能优化算法[1]。具有参数较少、操作简单、收敛速度快等优点,在神经网络、图像处理、电力系统经济调度、工程技术的优化和最优控制等领域都有着广泛的应用。但是在粒子群算法的搜索后期,由于种群多样性的降低,算法容易面临局部最优的问题,从而影响寻优效果。

为了解决上述问题,针对粒子群算法的改进主要在于以下几方面:算法的参数调整、学习策略、拓扑结构、结合其他优化算法。Shahgholian等[2]采用改进的自适应惯性权重的方法,平衡算法的全局开发能力和局部搜索能力。苏攀等[3]在初始化种群时,引入Logistic混沌映射,提高了初始种群的质量,优化了算法的性能。Zou等[4]对粒子进行柯西变异,利用柯西分布的特性来提高种群的多样性,降低了粒子群算法陷入局部最优的可能性。梁田等[5]利用了莱维飞行策略来改进算法的位置更新公式,能有效地帮助粒子逃离局部最优。Lu等[6]提出了一种自适应模拟退火粒子群优化算法,结合退火操作,提高了算法寻找最优解的能力。

以上的改进策略在一定程度上提高了粒子群优化算法的性能,但依旧有所不足。为了增强算法的搜索能力,提高种群多样性,本文提出了一种融合反向学习和黄金正弦算法的改进粒子群优化算法(IPSO)。采用反向学习策略优化初始种群,提升收敛速度;结合黄金正弦算法更新个体的位置,能有效提升算法的局部搜索和全局开采能力;结合双面镜反射理论,处理超出边界之外的个体,使其均匀地分布在边界内;利用柯西变异策略,对最优个体的位置进行扰动,提高算法跳出局部最优的能力。

1 基本粒子群算法

粒子群优化算法属于进化算法的一种,通过适应度值来评价解的品质,追随当前搜索到的最优值来更新个体[7]。基本粒子群优化算法的步骤主要有以下几步。

步骤1 初始化种群,给定算法的各个参数。

步骤2 通过已有的目标函数,计算每个个体的适应度值。

步骤3 更新个体的速度和位置。更新公式:

步骤4 更新个体最佳位置和群体最佳位置。并判断是否满足终止迭代条件,若满足,则停止并输出最终结果;若不满足,则返回继续执行算法。

2 融合反向学习与黄金正弦算法的改进粒子群算法

2.1反向学习策略

进化算法的执行时间与初始种群中个体和最优个体的距离有关,若是个体在最优位置附近产生,那么此次迭代过程中种群会快速地收敛。随机生成的个体,它的收敛速度是未知的,若是考虑其反向个体[8],那么个体更靠近最优粒子的概率和反向个体更靠近最优粒子的概率都是50%,选择更靠近最优粒子的个体放入初始种群中,这样初始种群的质量得到提高,算法的收敛速度得到提升。反向个体的计算公式:

其中,[X]是随机产生的个体位置,[X]是反向个体的位置,lb和ub分别是搜索范围的边界。

初始化种群的具体步骤为:

步骤1 随机生成种群大小为N的种群IP;

步骤2 通过公式⑶生成每个个体的反向个体,组成反向种群OP;

步骤3 计算所有个体的适应度值,按照从大到小的方式排序,选取适应度值靠前的N个个体组成参与优化的初始种群。

2.2 位置更新方式改进

⑴ 黄金正弦算法

Tanyildizi于2017年提出了黄金正弦算法(Golden Sine Algorithm,Golden-SA)[9,10]。根据正弦函数和单位圆的关系,黄金正弦算法可以遍历正弦函数上所有的点,对整个单位圆的扫描类似于优化问题中对空间的搜索。同时,在搜索的过程中使用黄金分割法以便扫描产生较好结果的区域,缩小搜索空间,既能提高收敛速度,也能够平衡全局搜索能力和局部搜索能力,提高求解的精度。

融合黄金正弦算法的位置更新公式⑷如下:

式⑸、式⑹中,[τ]是黄金分割数,取值为[1-5/2],a和b是黄金分割搜索方法的范围,文中[a=2-2(2?t)/T],b的值为1。

⑵ 双面镜反射理論边界优化

一般优化算法处理超出边界的个体时,会直接赋予个体上边界或下边界的值,这也导致了解在边界处聚集,在其他区域分布稀疏。算法的个体分布不均,也会直接影响算法的性能。

一般优化算法在处理边界问题时的方法如下:

其中,y是边界处理后的个体的位置,ub是上边界,lb是下边界,通过公式⑺将所有超出边界的个体投影至边界上。

本文采用的双面镜反射边界处理方法[11],把上下边界ub、lb当作两面镜子,y当作传播的光束,y的大小为光强。光束经过多次反射后,由于中间介质损耗,最终在边界内的[y']处消失,如图1所示。因此,[y']就是y在边界内的投影。通过此方法,可以有效解决边界处理时分布不均的问题。

双面镜反射边界处理方法为公式⑻:

2.3 柯西变异

在算法的迭代后期,由于种群多样性的减少,粒子群优化算法容易陷入局部最优。本文采用柯西变异[12]对最优粒子的位置进行扰动,提高其跳出局部最优的能力。如图2所示,相比于高斯变异,柯西变异的两端有着更长的分布,这增加了种群个体之间的差异性,使算法有更大的可能跳出局部最优。同时,柯西分布的峰值相较于高斯分布的峰值更小,这意味着在搜索空间的时候,柯西变异所花费的时间更少。

个体变异的概率计算:

其中,[w2,w1]取值分别为0.5和0.1,T为最大迭代次数,t为当前迭代次数。

个体最优位置扰动由公式⑽计算而来:

其中,[Gbest]为当前群体最优位置,[Gbest]为经柯西变异后的群体最优位置,[rCauchy]为柯西随机数,通过公式⑾计算而来。通过适应度函数计算变异后的群体最优粒子的适应度,与原本的群体最优粒子的适应度作对比,若是效果更好,则保留;反之,则舍弃,保持原本的结果。

2.4 算法实现

算法的实现步骤如下:

步骤1 初始化参数。包括种群规模N,最大迭代次数T,维度D,搜索空间的上下边界ub和lb,速度限制Vmax和Vmin;

步骤2 随机生成一个种群IP,利用反向学习策略生成它的反向种群OP,计算IP与OP中每个个体的适应度并排序,选择排名靠前的N个个体组成初始种群;

步骤3 结合黄金正弦算法对粒子群优化算法的位置更新公式进行改进,利用双面镜反射原理,处理超出边界之外的个体;

步骤4 通过柯西变异策略对群体最优位置进行扰动,计算扰动之后的适应度,若得到的结果更好,则替换原本的群体最优;否则,保持原本的结果;

步骤5 更新个体最优与群体最优的位置;

步骤6 判断算法是否满足终止条件,若满足,则停止算法,输出最终结果;若不满足,则返回步骤2。

3 仿真实验与结果分析

3.1 基本测试函数

为了验证本文算法的有效性,选取8个不同特性的基本测试函数,与粒子群优化算法(PSO)、均值粒子群优化算法(MPSO)[13]、基于竞争学习的粒子群优化算法(CLPSO)[14]、一种自适应模拟退火粒子群算法(ASAPSO)[15]和具备自纠正和逐维学习能力的粒子群算法(SCDLPSO)[16]在30维、60维、100维不同维度上进行对比。8个测试函数的详细信息如表1所示。其中,[f1、f2、f3、f4、f5]是单峰函数,主要用于检验改进之后算法的收敛性能和寻优性能;[f6、f7、f8]是多峰函数,目的是检验算法逃离局部最优的能力。

3.2 参数设置

本文采用Matlab软件进行仿真,每个算法设置相同的种群规模[N=30],最大迭代次数[T=500],维度D分别为30维、60维、100维,其余参数与原文保持一致,具体可见表2。每个算法独立运行50次,取其平均值和标准差两项数据作对比,来评价算法的性能,具体见表3。为了更直观地展示每个算法的优劣,图3~图8给出了在[D=60]时,各个算法求解8个测试函数时的适应度曲线。

3.3 与其他算法对比

从表3可以看出,当维度是30时,在[f1、f2、f3、f4、f5]这几个单峰函数测试上,IPSO算法的寻优能力优于其他5个对比算法,并且在[f1、f2、f3、f4]上有着不小提升;在[f6、f7、f8]这几个多峰函数上, IPSO算法的搜索结果也都是最优秀的,且在函数[f6、f7、f8]上都能寻找到最优解。结合图3至图8可以看出,当维度是60维时,相比于其余5种算法,IPSO算法在每一个测试函数上性能依旧都是最优的。IPSO算法在[f6、f7、f8]这几个函数上寻得最优值的同时,收敛速度也更快,收敛性也更好。当维度是100维时,多峰函数的局部极小值会随着维度的增加而增加,相应的求解难度也会增加,但IPSO算法仍然在这六种算法中保持着最佳的寻优能力。从表3数据看,无论是对比平均值还是标准差,IPSO算法都证明了其优秀的求解能力和较强的稳定性,再结合仿真图,不难看出在保证搜索精度的同时,算法也有着很好的收敛性能。

4 结束语

本文针对原始粒子群算法的缺陷,提出一种融合反向学习和黄金正弦的改进粒子群算法。算法利用反向学习策略优化初始种群,引入黄金正弦算法改进位置更新公式,并结合双面镜反射理论处理边界问题,同时,采用柯西变异方法对最优位置进行扰动。通过对八个基准测试函数仿真实验,证明改进之后的粒子群算法,在面对低维度和较高维度的问题时,其在收敛速度和寻优精度方面都有着良好的性能。在接下来的研究中,可以将改进算法应用在复杂的优化问题当中,扩展本文算法的应用领域。

参考文献(References):

[1] 孙毅,张璐,赵洪磊,等.基于动态自适应粒子群算法的非侵入式家居负荷分解方法[J].电网技术,2018,42(6):1819-1826

[2] Ghazanfar Shahgholian,Hamidreza Hamidpour,Amir Movahedi. Transient Stability Promotion by FACTS Controller Based on Adaptive Inertia Weight Particle Swarm Optimization Method[J]. Advances in Electrical and Electronic Engineering,2018,16(1)

[3] 苏攀,张伟.混沌映射的禁忌同步随机学习因子粒子群算法[J].小型微型计算机系统,2022,43(8):1675-1680

[4] Yanni Zou,Peter X. Liu,ChunshengYang,ChunquanLi,Qiangqiang Cheng. Collision detection for virtual environment using particle swarm optimization with adaptive cauchy mutation[J]. Cluster Computing,2017,20(2)

[5] 梁田,曹德欣.基于莱维飞行的改进简化粒子群算法[J].计算机工程与应用,2021,57(20):188-196

[6] Lu Jianzhang,Zhang Zhihao. An Improved Simulated Annealing Particle Swarm Optimization Algorithm for Path Planning of Mobile Robots Using Mutation Particles[J].Wireless Communications and Mobile Computing,2021

[7] Zou Dexuan, Li Zongyan, et al. A new global particle swarm optimization for the economic emission dispatch with or without transmission losses[J]. Energy conversion & management,2017,139

[8] Younas Irfan,Naeem Ameera. Optimization of sensor selection problem in IoT systems using opposition-based learning in many-objective evolutionary algorithms[J]. Computers and Electrical Engineering,2022,97

[9] TANYILDIZI Erkan. A novel optimization method for solving constrained and unconstrained problems: modified Golden Sine Algorithm[J]. Turkish journal of electrical engineering & computer sciences,2018,26(6).

[10] TANYILDIZI E,DEMIR, G. Golden Sine Algorithm: A Novel Math-Inspired Algorithm[J].Advances in Electrical and Computer Engineering,2017,17(2)

[11] Wen-xiang Wang, Kang-shun Li, Xing-zhen Tao, Fa-hui Gu. An improved MOEA/D algorithm with an adaptive evolutionary strategy[J]. Information Sciences,2020,539

[12] 郭振洲,王平,馬云峰,等.基于自适应权重和柯西变异的鲸鱼优化算法[J].微电子学与计算机,2017,34(9):20-25

[13] 李二超,高振磊.改进粒子速度和位置更新公式的粒子群优化算法[J].南京师大学报(自然科学版),2022,45(1):118-126

[14] 张钰,王蕾,周红标,等.基于竞争学习的粒子群优化算法设计及应用[J].计算机测量与控制,2021,29(8):182-189

[15] 闫群民,马瑞卿,马永翔,等.一种自适应模拟退火粒子群优化算法[J].西安电子科技大学,2021,48(4):120-127

[16] 张津源,张军,季伟东,等.具备自纠正和逐维学习能力的粒子群算法[J].小型微型计算机系统,2021,42(5):919-926

*基金项目:江苏师范大学2022年度研究生科研与实践创新计划项目“一种用于热电联产动态经济调度的改进粒子群算法研究”(2022XKT0186)

作者简介:张慧峰(1999-),男,江苏省盐城市人,硕士研究生,主要研究方向:群体智能优化算法。

通讯作者:邹德旋(1982-),男,辽宁省大连市人,副教授,硕士研究生导师,主要研究方向:数字图像处理、最优化的算法研究。

猜你喜欢

粒子群算法
几种改进的萤火虫算法性能比较及应用
基于支持向量机的短期电力负荷预测
基于云计算平台的资源调度优化研究
一种基于高维粒子群算法的神经网络结构优化研究
基于PSODE混合算法优化的自抗扰控制器设计
蚁群算法的运用及其优化分析
电力市场交易背景下水电站优化调度研究
基于粒子群算法的产业技术创新生态系统运行稳定性组合评价研究
无线传感器网络联盟初始结构生成研究
交通堵塞扰动下多车场车辆路径优化