基于差分均值扰动的改进粒子群优化算法(DMP-PSO)

DMP-PSO:An improved particle swarm optimizer with difference mean based perturbation

 

原文:https://www.sciencedirect.com/science/article/pii/S0925231213009454

1.摘要

       粒子群的概念是从对社会生物集体行为的模拟中产生的,并逐渐演变成一种强大的全局优化技术,现在众所周知的粒子群优化算法(PSO)。基本的PSO模型不保证收敛到最优解,并且它也受到它对许如加速度参数和惯性权重之类的外部参数的依赖性的影响。本文通过引入一种新的基于维均值的扰动策略,提出了一种改进粒子群算法的基本框架的方案。一种简单的老化准则,以及一组非线性时变加速度系数,以便在探索性倾向和剥削性倾向之间达成更好的平衡,从而避免了多峰适应度地区(multimodal fifitness)上的过早收敛。粒子没有进一步改善时,使用老化准则在粒子群中引入新的解决方案。

2.介绍

       在粒子群算法中,每个试解都被建模为一个粒子,几个这样的粒子共同形成一个群体。粒子在多维空间中飞行搜索空间遵循典型的动态搜索全局最优。

       粒子群算法作为一种随机搜索过程,尤其是在多模态适应度环境下,并不能避免错误和/或过早收敛。由于粒子和群体中的全球最佳成员之间的信息流有着直接的联系,丧失了变异多重性。例如,位于局部最优点之一的全局最佳粒子可能会捕获整个群体并导致早熟收敛。

       本文提出了一种简单的、基于维数均值的微扰方案,将其与经典粒子群算法相结合,得到了一种改进的算法,即DMP-PSO算法。(粒子群算法中基于差分均值的扰动)。在此方案下,在每次迭代中,在更新每个粒子的速度和位置后,粒子进一步受到一个矢量的扰动,该矢量由沿任意随机方向的单位向量,与当前最佳粒子和被扰动的目标粒子的维数平均值之差。当前最优粒子可能是全局最佳或全局最优粒子群中最好的,也可能是目标粒子中局部最佳或最优拓扑中邻域最优的粒子。当前最佳粒子的维数平均值与任何其他粒子的维数平均值之间的差异,称为差异均值,在算法中植入了探索和开发的混合,确保有效搜索当前最佳邻域的功能。本文提出了DMP-PSO-G(全局拓扑)和DMP-PSO-L(局部邻域拓扑)框架。

2.PSO(Particle swarm optimization

粒子的特征是它的位置矢量,本质上是D维框架中的一个坐标,它的速度矢量。任何粒子的速度和位置都按以下方式更新:

其中Xdi和Vdi分别表示第i粒子位置和速度的第d分量。i粒子的最佳位置,即第i粒子产生其最佳适应度值的位置,称为最佳位置\overrightarrow{pbest }。第i个粒子的全局最优位置是\overrightarrow{gbest}(到目前为止在整个蜂群中找到的最佳位置)。常数c1和c2表明了粒子对个人最佳位置和全局/邻域最佳位置的吸引力。这些常被称为加速度系数。

参数控制和自适应一直是粒子群算法研究的热点。惯性因子(权重)ω目的是抑制前一次迭代的惯性速度,从而影响收敛性。工作表明,虽然较大的惯性权重更适合全局搜索,但较小的惯性权重可能会增加局部细化的能力。为了平衡本地和全球搜索能力,以下列方式线性减少ω与迭代次数:

其中g是迭代指标,G是预定义的最大迭代次数。ωmax和ωmin通常分别设为0.9和0.4。因此,使用时变惯性权重ω在粒子的局部搜索能力和全局搜索能力之间提供了必要的平衡。公式(2)(3)是pso标准形式:

除了惯性权重和约束因素外,加速度还会对粒子群算法的性能产生很大的影响。关于粒子群优化模型。在lbest(局部最优粒子群优化算法)粒子群优化模型中,由于邻域结构的存在,粒子具有更强的避免早熟收敛的能力。

参数设置

        1) 如果令c1=c2=0,粒子将一直以当前速度的飞行,直到边界。很难找到最优解。
        2) 如果=0,则速度只取决于当前位置和历史最好位置,速度本身没有记忆性。假设一个粒子处在全局最好位置,它将保持静止,其他粒子则飞向它的最好位置和全局最好位置的加权中心。粒子将收缩到当前全局最好位置。在加上第一部分后,粒子有扩展搜索空间的趋势,这也使得的作用表现为针对不同的搜索问题,调整算法的全局和局部搜索能力的平衡。较大时,具有较强的全局搜索能力;较小时,具有较强的局部搜索能力。

       3) 通常设c1=c2=2。Suganthan的实验表明:c1和c2为常数时可以得到较好的解,但不一定必须等于2。Clerc引入收敛因子(constriction factor) K来保证收敛性。

       
       
        通常取为4.1,则K=0.729.实验表明,与使用惯性权重的PSO算法相比,使用收敛因子的PSO有更快的收敛速度。其实只要恰当的选取和c1、c2,两种算法是一样的。因此使用收敛因子的PSO可以看作使用惯性权重PSO的特
例。

         恰当的选取算法的参数值可以改善算法的性能。(原文地址:https://blog.csdn.net/zj15527620802/article/details/82695885

3.本文算法

我们提出了三种改进算法,以改进传统的PSO算法。

1.基于差分均值的扰动将粒子引导到更好的位置,在有用的地区上加强勘探,同时,倾向于向有希望的盆地(目标区域)靠拢。

2.基于位置的老化准则确保了颗粒在整个地区中的分布,并有效地消除了停滞问题。

3.三个参数惯性因子和两个加速度系数是随时间变化的(时变)。虽然惯性因子与大多数现代粒子群优化变体一样,从0.9线性下降到0.4,但加速度系数随时间的变化呈非线性变化。更好的将勘探/开发进行权衡。

3.1基于差分的扰动

DMP:所提出的均值学习策略就是通过在任意随机方向上在它当前位置上添加一个缩放的单位向量,从而使粒子受到扰动。单位向量是按差分均值进行缩放的,其方法是从整个群中当前最佳粒子中减去要扰动的粒子的维数平均值(gbest模型或DMP-PSO-G)或拓扑邻域(DMP-PSO-L)。注意,维数平均值是通过平均粒子位置矢量的分量得到的标量。在更新所有粒子的位置后,dmp将应用于所有粒子,如算法1所示。

算法一:实现第i个粒子的DMP方案。

Step1:计算群体/邻域中最佳粒子的维数平均值:

其中D是搜索空间维数和gbesti,j表示第i个粒子gbest的全局最佳/邻域最佳成员的第j分量或者是第i个粒子的邻域最佳成员。

Step2:计算种群中第i个成员的维数平均值。

Step3:计算在第二步中得到的种群的第一组成员的平均值和最佳值的平均值之间的差异。

Step4:从单位正态分布中随机选择零均值和单位方差的向量:

Step5:更新第i个粒子,用它添加单位向量,按相应粒子的平均差值进行缩放:

DMP方案背后的动机:在DMP中,最佳位置向量的分量的平均值从所选择的目标粒子的相应均值中减去。结果是差分均值,用于在随机方向上缩放单位向量。这在这个计划中随之而来,是一种探索和剥削行为的混合体,保持被最佳粒子所吸引的真正本质。

下图表明,当粒子使用DMP向局部最佳粒子移动时,差均值逐渐减小。最初,远离最佳粒子的粒子会产生很大的差异。因此,新的解是由方程生成的球体半径较大。

图中显示此更新方案确保了对当前最佳区域的有效搜索。圆圈内的箭头表示粒子在这些方向的可能运动。使这个计划具有探索性。因此,我们可以得出这样的结论:基于差分平均的微扰格式保留了引力对最佳粒子的影响。差分意味着提供了收敛的范围,同时随机定向的单位向量增强了探索性特征。

3.2老化准则

假设在搜索过程中,如果任何粒子的适应度停止改善,就会失去其探索能力,其进一步优化的空间将最小。因此,在这种情况下,考虑到粒子的不良性能,我们可以采用新的老化准则。我们处理这种情况的策略是给粒子留出一定的时间改进,通过\overrightarrow{pbest}的改变而被注意到的。如果\overrightarrow{pbest}在λ代的连续迭代中没有更新特定的粒子,粒子会被重新初始化,从而减少不必要的函数评估(Fes)以及加强程序勘探。粒子重新初始化后,计数器变量保留更改的记录变为0。老化准则包括算法2中所示的步骤:

算法二:实施老年指导方针。

Step1:对于蜂群中的每一个成员,人们都会注意到\overrightarrow{pbest}相应的粒子是否正在更新。

Step2:如果\overrightarrow{pbest}的粒子不变,对于一个特定的迭代名为stagnatei的计数器变量最初被设置为0,它是通过单位来增加的。

如果\overrightarrow{pbest}改变则stagnatei变为0。

Step3:如果stagnatei的值超过λ,则重新初始化粒子。

Step4:更新它的适应度值。

使用老龄化准则的效果:我们的算法提供了一种具有许多有益效果的高度功能的老化准则方案。这个机制简单地记录了粒子在任何更新之前保持其最佳适应值的时间。如果这个时间过长,则需要进一步修改,然后在适当的范围内重新初始化粒子并进行进一步的优化。这不仅节省了不必要的FES,而且同时保存被困在几个局部最优的粒子。所以现在需要的是一个新的优化范围,可以通过重新初始化来实现。 就最小化而言,实现我们目标的机会增加了。

3.3时变加速度系数

在粒子群算法中,将加速度系数C1和c2保持不变,使ω在0.9~0.4之间线性变化,已成为粒子群算法的一种普遍做法。参数c1和c2的常数随文章的变化而变化。纸,最受欢迎的选择是1.494,2,2.05,等等。为了进一步提高DMP-PSO算法的性能,我们引入了c1、c2,这些计划与现有的方法有很大不同。ω值由原来的0.9线性下降到0.4。特别是,c1和c2的值为

iter表示迭代次数。c1和c2被称为加速度参数,它决定了粒子所能走的最大步长。我们利用控制参数C1和C2的时变特性从而明确地增加和降低了在搜索过程的不同阶段对\overrightarrow{pbest}\overrightarrow{lbest}影响。标度系数保持在1/500,使稳态特性在我们打算实现的500次迭代后开始。

随着迭代次数增加,c1减小。因此,c1是一个递减函数,c2是一个增长函数,如下图:

\overrightarrow{pbest}的影响开始和逐渐减少的相同,\overrightarrow{lbest}随着搜索过程的进展而增加。

3.4整合

在前几段中建议和讨论的三种算法修改是相当普遍的,并且可以很容易地与具有任意邻域拓扑的gbest或lbest PSO集成。DMP-PSO-G和DMP-PSO-L是两种独立的PSO算法,将改进后的基本粒子群算法分别引入到gbest和lbest 中,得到了基本的PSO算法。本文报道的DMP-PSO-L使用了一个环邻域拓扑,其中粒子i的邻域包括虚拟环样结构中的粒子i-1、i和i+1。我们为 DMP-PSO 算法提供了一个完整的伪码算法 3: 

Step1:初始化种群。

Step2:初始化每个粒子在预定范围内的初始速度。速度范围=0.25*粒子范围。

Step3:计算每个粒子的适应度值

Step4:根据这些值,为每个粒子寻找最佳的全局或邻域\overrightarrow{gbest}

Step5:将每个粒子的当前位置设置为其个人最佳位置\overrightarrow{pbest}

否则,停滞检测器加1。如果这超过老化阈值λ,那么粒子被重新初始化。

Step13:使用基于平均值的方法更新粒子:

(A)计算粒子每个维数的平均数。

(B)计算全球/局部最佳粒子的平均值。

(C)用平均值为0,标准差为1的正态分布计算差分平均值并用单位随机向量相乘。

4.结论

本文说明了新的差分均值微扰(Dmp)算法与一组时变参数的结合,极大地提高了搜索的速度。f标准粒子群优化模型,为探测和开发提供了必要的折衷条件,以较高的精度检测出单峰和多模态工作地区的全局最优解。所提出的DMP-PSO的关键特征总结如下:

1.DMP策略包括选择与一个功能良好的粒子相关联的每个维度的最佳方面,这些信息被用来引导任何其他粒子走向全局最优。讨论过的最佳方面是通过所有最佳方面的平均值来表示的,因此使用了基于均值的微扰。

2.时变参数设置,如加速度系数的受控变化,以建设性地平衡邻近和个人的影响。走向成熟,有助于提高DMP-PSO有效搜索的能力.

3.DMP-PSO算法的另一个显著特点是使用简单的老化机制将粒子任意地分散在局部极小值处。这节省了不受欢迎的功能计算,给出详细的工作地区搜索的范围。

4.DMP-PSO在最优和最优模型之间具有灵活性,导致了DMP-PSO-L和DMP-PSO-G变体,后者在本文中得到了广泛的应用。这两种方案在跟踪全局最优解方面几乎都具有同等的适应性。

5.随着搜索空间维数的增加,DMP-PSO显示了值得称赞的可扩展性。

6.所设计的dmp方案也被结合到诸如OLPSO和CLPSO之类的其它公知的现有技术的算法中,在结果上产生显著的改善。因此,DMP策略可以建设性地干扰其他学习策略,如OL或综合学习。

 

 
  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值