优秀的编程知识分享平台

网站首页 > 技术文章 正文

基于扰动的自适应粒子群优化算法(粒子群自适应变异)

nanyue 2024-08-03 18:07:33 技术文章 9 ℃

文/墨茶

编辑/墨茶

引言

【研究意义】PSO是Kennedy和Eberhart在1995年首次提出,这是一种基于微粒群的全局寻优方法。该方法将每一个最优问题的求解,都看作是一个无体无质的小颗粒,并将该小颗粒扩展到N维,将颗粒的运动轨迹用一个向量表达。

粒子群算法相对于其他优化算法,对优化目标的建模无特殊要求,可调参数较少,收敛速度较快,同时还兼具随机可扩展的特点,在多目标优化、模糊控制、神经网络学习等方面得到了广泛的应用。

【前人研究进展】为了改善PSO的搜索效果,许多研究者从各个角度对PSO进行了改进。例如,胡旺等人提出了一种新的方法,即在微分方程中加入了一种新的微分方程的方法,使其实可以求解出微分方程的解;刘伟等人给出了一种惯性权函数,这种方法可以很好地兼顾全局和局部寻优的性能;王等人用Cauchy突变将其他颗粒导向更好的地方。

【本研究切入点】针对传统PSO方法存在收敛慢、搜索精度低、易陷入局部极值等问题,通过引入干扰系数,使得自适应的惯性加权和Cauchy突变,这样就解决了传统PSO方法收敛慢、搜索精度低、易陷入局部极值等问题。

【拟解决的关键问题】通过与已有PSO算法进行对比,总结各种PSO算法的优势与不足,为PSO算法的完善与应用奠定理论基础。

标准粒子群优化算法(SPSO)

PSO中的每颗颗粒都有一个运动速率vi,它能控制颗粒的运动路径,并通过一种新的适应性函数来决定颗粒的运动路径。其中,微粒的运动路径由微粒自己的经验pbest和种群的最佳gbest决定。一个颗粒了解自己的当前位置以及到现在为止找到的最佳位置,一组中最佳体验的gbest表示,迄今为止,在一组中找到的最佳地点。

Kennedy和Eberhart首先给出了粒子群优化方法对定位修正的速率的计算方法,其结果是:

其中:t代表的是当前的迭代次数,c1和c2代表的是学习因子,r1、r2代表的是分布在[0,1]内的随机数,pbest代表的是个体极值,gbest代表的是全局极值。

为了改善PSO算法的收敛性能,并考虑到对不同的问题,局部和全局的优能力权衡是不相同的,Shi和Eber-Hart在1998年引进了惯性加权ω,并将其加入到基本粒子群算法的速度更新公式中,

其中,t为最大值迭代值,Tmax为粒子的最大迭代值。

粒子群优化算法的改进

微粒群中的微粒,随着微粒群的个数和整体的极大值点而不断地在微粒群中运动。当微粒群的个数占支配地位时,则很可能会导致微粒群的局部极小。

由于该方法容易使得问题的求解过程进入到局部最小,从而导致求解过程中的“提前”问题。为了防止微粒群的“提前”,本文从三个角度对常规微粒群算法作了进一步的完善。

1.极值扰动的引入

由于微粒群具有趋同性,因此,在微粒群算法演化过程中,微粒群的运动速率Vi很难得到实时的调整。而微粒群又存在“聚集性”,此时微粒群仅能在很小的区域中进行搜寻,极易导致微粒群的局部极值问题。

为了获得问题的整体最优,需要解决PSO容易落入局部极值的缺点,而增大PSO的搜索区域是解决PSO问题的一个重要途径。

为此,本项目拟将干扰因素r3、r4加入到速率修正方程中,通过对单个极限点和整体极限点的任意调节,使颗粒能够在较短时间内获得较大的运动轨迹,使颗粒能够快速脱离局部最小化。从Hughwan等人的实验中得到的启示,本文对速率修正公式进行了以下修改:

在[0,1]之间,r3,r4是一个平均分布在[0,1]之间的随机数。随着r3,r4的干扰,每个人的极限pbest和整体极限gbest都发生了变化,使得这些颗粒可以在更广阔的区域进行搜寻。这就增加了颗粒发现最优解的几率,使得颗粒有了跳出局部最优解的可能性。

2.自适应惯性权重

在PSO中,惯量加权gamma是一种可调节的参量,通过对惯量加权的适当设定,可以有效地兼顾PSO的整体和局部搜索性能。当omega值增大时,该方法具有更好的整体优化性能,而当omega值减小时,则具有更好的局部优化性能。

针对欧米伽,采用线性下降的惯性权仅适用于少数几个问题,而在求解过程非常复杂的情况下,这一方法将导致粒子群优化方法在演化结束时,极易进入局部极值而不能获得所需的最优解。基于刘伟等人的报告,本文给出了如下的惯性加权修正公式:

从上面的公式可以看出,这个惯性加权函数是一个非线性的,呈指数形式下降的函数,这会使得欧姆在迭代开始的时候能长时间维持一个很大的值,这样就可以提高迭代开始阶段的全局搜索时间和整体搜索强度。

同时,由于该算法能够在迭代期晚期长期维持在一个很低的数值,因此可以提高算法的全局寻优时间,提高算法的全局寻优能力,提高算法的收敛性。

3.自适应柯西变异

在该方法的收敛性以前,选择最好的gbest时,会在以前的一些候选者中来回摆动。通过对最优解的gbest进行突变,使其在最优解上获得更大的寻踪范围,从而使其更容易从局部极值中跳出。

基于Wang等人的前期工作,我们拟采用Cauchy突变策略,通过对gbest突变函数的突变来防止算法的早期收敛性。

柯西分布(Cauchydistribution)是一类既无预期也无方差的连续分布。标准的柯西的分配函数是这样的:

根据本文所述的柯西突变方法,先对N个在每个维度上的pbest的均值avg_pbest(i)进行计算:

方程(8)中,i=1,2,…,pbest[j][i]表示第j个颗粒在i维中的位置,使用下面的公式(9)来计算avg_pbest(i)到gbest上每个维度的距离。

公式(10)中的re为一个常量,因此在本文中将re=20;最大值为每一维之间的最大间距。将(10)等式替换为(7)等式。

自适应柯西变异操作如式(11)所示:

其中,z(i)为每个维度的变化加权平均,而v(j)[i]为在i维度中的第j个颗粒的速度成分。

4.基于扰动的自适应粒子群优化算法

在对2.1-2.3进行集成的基础上,提出了一种新的微粒群(ADPSO)算法。

第一步:使微粒的位置xi和其速度vi以任意方式进行初值。

第二步:将第i个微粒的目前位置设为pbest,将最佳微粒的位置设为gbest。

第三步:根据(2)、(5)、(6)等式来调节颗粒的状态,并根据(2)、(5)、(6)等式来修正颗粒的运动轨迹。

第四步:从适应性功能f(x)中,计算出颗粒i的适应性功能f(xi)。

第五步:将f(xi)和f(pbest)进行对比,如果f(xi)好于f(pbest),则将此颗粒的pbest更新为xi。

第六步:将f(xi)和f(gbest)进行对比,如果f(xi)好于f(gbest),则将gbest更新为xi。

第七步:利用适应性柯西突变策略,也就是公式(11)对目前得到的gbest进行突变运算。

第8步:判定该算法的最大迭代数是否已经到达,如果该算法的最大迭代数已经到达,则进入第9步,反之,进入第3步。

第9步:输出gbest及对应的目标函数f(gbest),完成该算法。

仿真实验

在此基础上,将该方法与:①SPSO;②AMPSO;③带有压缩和发散运算的seAPSO。使用5个基准测试函数f1:Sphere,f2:Rosenbrock,f3:Ackley,f4:Grie-wank,f5:Rastrigin(理论最小值都为0),对它们进行了最优性能的测试。

在这个实验中,设定了以下几个参数:粒子群的种群大小N=40,粒子维数D=30,最大迭代次数Tmax=500,c1=c2=1.4962,omegamax=0.95,omegamin=0.4,AMP-SO和seAPSO算法的参数与原来的文献相同。

我们对每个功能进行20次的运算,并求出平均值,分别将SPSO、AMP-SO、seAPSO、ADPSO记为A1、A2、A3、A4,模拟结果与统计数据见表1,每个功能的适应度演化曲线如图1~5所示。

函数f1主要被用来进行算法寻优精度的测试,它是一个非线性的对称单峰函数。与其他3个算法相比,ADPSO算法拥有更快的收敛速度,并且优化性能更好(图1)。F2是一类具有代表性的二次病理学问题,且该问题难以求解,ADPSO比其他方法具有更高的收敛性和更高的均值(图2)。

函数f3,f4,f5都是多峰值函数,存在较多的局部极小点,一般的方法很可能会导致收敛到局部极小,不能得到最优或接近最优。

如图3所示,SPSO,AMPSO和seAPSO均处于局部最优状态,ADPSO是在迭代期开始时,因为ADPSO是从局部最优状态中挣脱出来的。因此,ADPSO是在演化结束时,在接近整体最优状态下获得的。

从图4可以看出,AMPSO和ADPSO都可以最终在近似于最优化的情况下,达到较好的适应性,但是ADPSO的适应性更好。

由图5可知,只有ADPSO在演化初期才能打破这一瓶颈,而且该方法的适应均优于其他三种方法。

由此可以看出,与其他三种方法相比,本文所设计的ADPSO算法,在适应性等方面都要优于其他三种方法,是一种更为高效、快捷的PSO方法。

结论

本项目拟对经典微粒群算法进行改进,设计一种新的微粒群算法。我们通过引入干扰系数,使用了一种新的惯性权函数,实现了对最佳微粒的Cauchy突变。

采用试验模拟和比较研究相结合的方法,本项目所设计的新方法,不仅能够有效地提升PSO的整体寻优能力,而且能够显著地提升PSO的适应性。

参考文献:

1.徐鹤鸣.多目标粒子群优化算法的研究.上海:上海交通大学

2.孟庆宽,仇瑞承,张漫,等.基于改进粒子群优化模糊控制的农业车辆导航系统.农业机械学报

3.高海兵,高亮,周驰,等.基于粒子群优化的神经网络训练算法研究.电子学报

4.胡旺,李志蜀.一种更简化而高效的粒子群优化算法.软件学报

Tags:

最近发表
标签列表