一种基于随机惯性权重的差分粒子群混合算法的制作方法

文档序号:18871366发布日期:2019-10-14 19:38阅读:321来源:国知局
一种基于随机惯性权重的差分粒子群混合算法的制作方法

本发明涉及数值优化领域,尤其涉及一种基于随机惯性权重的差分粒子群混合算法。



背景技术:

近年以来,群智能优化算法得到了迅速的发展,在数值优化领域和实际工程领域得到了广泛的应用。粒子群算法(particleswarmoptimization)和差分进化算法(differentialevolution)是两种典型的群智能优化算法。

pso算法是由kennedy和eberhart于1995年提出的一种模拟鸟群觅食行为的群智能优化算法。pso算法首先在一定的解空间内随机初始化粒子群体,然后通过不断地迭代去寻找最优解,在每一次的迭代中,粒子通过追踪个体极值和全局极值来不断更新自己的位置和速度,直至找到最优解。pso算法结构简单,搜索能力强,已经广泛应用于数值优化、神经网络、模式识别等领域。

de算法是由storn等人于1995年提出的一种采用实数编码的群智能优化算法。de算法通过群体内个体间的合作与竞争机制去寻找全局最优值。相较于传统进化计算,de算法保留了基于种群的搜索策略,简单的变异操作和“一对一”的竞争策略,有效地降低了计算的复杂性。de算法的操作主要包括初始化、变异、交叉和选择,de算法全局寻优能力强、鲁棒性好,已经在很多领域得到了应用,如数值计算、电力系统、信号处理和机器人控制等。

虽然pso算法和de算法寻优能力强,但在算法的后期还是存在容易陷入局部最优解的缺点。针对单一的pso算法或者de算法后期容易陷入局部最优值的状况,有学者考虑将pso算法同de算法相结合,以克服算法后期易陷入局部最优的情况。

如cn103793745b现有技术公开了一种分布式粒子群优化方法,粒子群优化算法的优点在于计算模型易于描述,需要进行调试的参数比较少,实现简单运算速度快,无集中控制约束,鲁棒性强,但容易陷入局部最优而丧失全局最优解,也称为早熟现象,因为大部分群体中的个体都进化到最优位置附近而使得整个中群位置无法进一步得到优化,在进行高维粒子群优化时优化难度大,结构复杂,且优化时间过长。

另一种典型的如jp6424090b2的现有技术公开的一种基于种群聚集程度的粒子群算法,粒子群算法以粒子代表优化问题的一个解,其对应的目标函数值被称为粒子的适应度,多个粒子构成种群。各个粒子具有位置和速度,每次迭代中,各粒子根据个体所找到过的最好位置和种群所找到过的最好位置来调整自身的位置和飞行速度,从而使整个种群不断向更优解移动,最终将有希望到达全局最优解。粒子群算法的原理简单,相关参数少,容易实现,但其最大缺陷在于早熟收敛问题,导致无法得到全局最优解。其中,导致粒子群算法早熟收敛的一个重要原因是:在整个进化过程中,始终保持种群最优位置对所有粒子飞行方向的引导作用。这种方式虽然能够获得较快的收敛速度,但是容易使种群陷入局部极值点,不利于寻求全局最优解,特别是在迭代后期,大量粒子聚集于一个较小的搜索空间,整个种群单一性很强,已经基本丧失了对空间中其他区域的寻优能力。

再来看如us2019092458(a1)的现有技术公开的一种粒子群算法,来源于进化计算理论和人工生命。通过整个粒子群算法的最优解。每一个粒子计算个体适应度值,并将它与历史最优位置和全局最优位置比较,如果个体适应度较小,则更新它的历史最优位置和全局最优位置。通过不断靠近全局最优解,来找到最佳位置。传统的粒子群算法收敛速度快,但容易陷入局部最优解,造成算法过早结束。,

为了解决本领域普遍存在将de算法同pso算法相结合,在一定程度上改善了算法的优化性能,但是作为辅助变异种群的粒子群仍采用固定的惯性权重,在算法的整个迭代过程中,惯性权重值不会发生改变,在算法的迭代后期,还是容易陷入局部最优值等等问题,作出了本发明。



技术实现要素:

本发明的目的在于,针对目前差分粒子群所存在的不足,提出了一种基于随机惯性权重的差分粒子群混合算法。

为了克服现有技术的不足,本发明采用如下技术方案:

一种基于随机惯性权重的差分粒子群混合算法,用于算法跳出局部最优解,具体的实现步骤如下:

步骤一:种群初始化:在给定的[xmax,xmin]范围内随机生成np个维度为d的初始种群xi,g(i=1,2,...,np),其中i是粒子的序列,g是迭代次数,np是种群的数量;初始种群生成公式如下:

x=rand(np,d)*(xmax-xmin)+xmin(1);

步骤二:赋值:在pso算法中,粒子主要跟随个体极值和群体极值来不断地更新自己的位置和速度信息;对每一个粒子的适应度值进行计算,然后根据粒子的适应度值对粒子的个体极值和全局极值进行赋值;

步骤三:在标准de算法中,目标向量vig+1根据公式(2)进行变异操作,其中r1,r2,r3互不相同,而且都与i不等。f是变异因子,起收放作用;差分变异操作采用公式(3)的形式;辅助变异算子采用公式(5)的表达形式,其中w为随机惯性权重,n(0,1)是服从标注状态分布的随机数,并把生成的辅助变异算子生成的辅助变异群体称为变异群体v1,将目标向量vi,g+1进行变异操作生成的变异群体称为变异群体v2;

vi,g+1=xr1,g+f.(xr2,g-xr3,g)(2);

vi,g+1=xi,g+f((xr1,g-xi,g)+(xr2,g-xr3,g))(3);

步骤四:交叉:为了增加向量的多样性,de算法中引入了交叉操作,标准de算法中的交叉操作uji,g+1具体表达如公式(6)所示,其中cr为交叉率,r∈[1,2,...,d]是随机数,对变异群体v1和变异群体v2进行交叉操作;

步骤五:选择:为了决定交叉操作中产生的试验向量ui,g+1是否为成为下一代种群中的成员,de将实验向量与目标向量按照贪婪准则进行比较并具体操作表达式如公式(7)所示;

步骤六:终止迭代:判断迭代次数是否达到设置的最大迭代次数,如果达到最大迭代次数则终止运行;否则,转到步骤二继续运行,直至最后运行结束。

可选的,所述随机惯性权重w通过差分变异操作vi,g+1与辅助变异算子之间进行配合使用。

可选的,所述随机惯性权重还包括:动态惯性权重、自适应惯性权重和线性递减惯性权重。

可选的,所述差分变异操作vi,g+1还包括其他的变形形式。

本发明所取得的有益效果是:

1.在混合算法的变异操作中引入随机惯性权重,与传统的de算法、pso算法和nhdepso算法相比较,使用该算法进行数值优化计算时,收敛速度更快而且收敛精度也更高,能够又快又准的寻找到全局最优值,有效地提升了算法的优化性能。

2.通过生成多次变异群体的交叉混合的操作,使得整个混合算法的收敛精度和收敛的速度更快,提升了整个差分粒子群的优化的性能;

3.通过混合算法计算方法有利于高效分配资源的计算的速度,有效提高了计算资源的利用,并且该方法优化后的结果无需人工进行修正和调整,应用前景广泛。

附图说明

从以下结合附图的描述可以进一步理解本发明。图中的部件不一定按比例绘制,而是将重点放在示出实施例的原理上。在不同的视图中,相同的附图标记指定对应的部分。

图1为本发明的一种基于随机惯性权重的差分粒子群混合算法的结构示意图。

图2为本发明的一种基于随机惯性权重的差分粒子群混合算法的结构示意图。

图3为本发明的一种基于随机惯性权重的差分粒子群混合算法的结构示意图。

具体实施方式

为了使得本发明的目的.技术方案及优点更加清楚明白,以下结合其实施例,对本发明进行进一步详细说明;应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。对于本领域技术人员而言,在查阅以下详细描述之后,本实施例的其它系统.方法和/或特征将变得显而易见。旨在所有此类附加的系统.方法.特征和优点都包括在本说明书内.包括在本发明的范围内,并且受所附权利要求书的保护。在以下详细描述描述了所公开的实施例的另外的特征,并且这些特征根据以下将详细描述将是显而易见的。

本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”.“下”.“左”.“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或组件必须具有特定的方位.以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。

实施例一:一种基于随机惯性权重的差分粒子群混合算法,用于算法跳出局部最优解,具体的实现步骤如下:

步骤一:种群初始化:在给定的[xmax,xmin]范围内随机生成np个维度为d的初始种群xi,g(i=1,2,...,np),其中i是粒子的序列,g是迭代次数,np是种群的数量;初始种群生成公式如下:

x=rand(np,d)*(xmax-xmin)+xmin(1);

步骤二:赋值:在pso算法中,粒子主要跟随个体极值和群体极值来不断地更新自己的位置和速度信息;对每一个粒子的适应度值进行计算,然后根据粒子的适应度值对粒子的个体极值和全局极值进行赋值;

步骤三:在标准de算法中,目标向量vi,g+1根据公式(2)进行变异操作,其中r1,r2,r3互不相同,而且都与i不等。f是变异因子,起收放作用;差分变异操作采用公式(3)的形式;辅助变异算子采用公式(5)的表达形式,其中w为随机惯性权重,n(0,1)是服从标注状态分布的随机数,并把生成的辅助变异算子生成的辅助变异群体称为变异群体v1,将目标向量vi,g+1进行变异操作生成的变异群体称为变异群体v2;

vi,g+1=xr1,g+f.(xr2,g-xr3,g)(2);

vi,g+1=xi,g+f((xr1,g-xi,g)+(xr2,g-xr3,g))(3);

步骤四:交叉:为了增加向量的多样性,de算法中引入了交叉操作,标准de算法中的交叉操作uji,g+1具体表达如公式(6)所示,其中cr为交叉率,r∈[1,2,...,d]是随机数,对变异群体v1和变异群体v2进行交叉操作;

步骤五:选择:为了决定交叉操作中产生的试验向量ui,g+1是否为成为下一代种群中的成员,de将实验向量与目标向量按照贪婪准则进行比较并具体操作表达式如公式(7)所示;

步骤六:终止迭代:判断迭代次数是否达到设置的最大迭代次数,如果达到最大迭代次数则终止运行;否则,转到步骤二继续运行,直至最后运行结束。所述随机惯性权重w通过差分变异操作vi,g+1与辅助变异算子之间进行配合使用。所述随机惯性权重还包括:动态惯性权重、自适应惯性权重和线性递减惯性权重。所述差分变异操作vi,g+1还包括其他的变形形式。

实施例二:一种基于随机惯性权重的差分粒子群混合算法,用于算法跳出局部最优解,具体的实现步骤如下:

步骤一:种群初始化:在给定的[xmax,xmin]范围内随机生成np个维度为d的初始种群xi,g(i=1,2,...,np),其中i是粒子的序列,g是迭代次数,np是种群的数量;初始种群生成公式如下:

x=rand(np,d)*(xmax-xmin)+xmin(1);

步骤二:赋值:在pso算法中,粒子主要跟随个体极值和群体极值来不断地更新自己的位置和速度信息;对每一个粒子的适应度值进行计算,然后根据粒子的适应度值对粒子的个体极值和全局极值进行赋值;

步骤三:在标准de算法中,目标向量vi,g+1进行变异操作,其中r1,r2,r3互不相同,而且都与i不等。f是变异因子,起收放作用;差分变异操作vi,g+1各参数。辅助变异算子的表达形式,其中w为随机惯性权重,n(0,1)是服从标注状态分布的随机数,并把生成的辅助变异算子生成的辅助变异群体称为变异群体v1,将目标向量vi,g+1进行变异操作生成的变异群体称为变异群体v2;

vi,g+1=xr1,g+f.(xr2,g-xr3,g)(2);

vi,g+1=xi,g+f((xr1,g-xi,g)+(xr2,g-xr3,g))(3);

步骤四:交叉:为了增加向量的多样性,de算法中引入了交叉操作,标准de算法中的交叉操作uji,g+1具体表达,其中cr为交叉率,r∈[1,2,...,d]是随机数,对变异群体v1和变异群体v2进行交叉操作;

步骤五:选择:为了决定交叉操作中产生的试验向量ui,g+1是否为成为下一代种群中的成员,de将实验向量与目标向量按照贪婪准则进行比较;

步骤六:终止迭代:判断迭代次数是否达到设置的最大迭代次数,如果达到最大迭代次数则终止运行;否则,转到步骤二继续运行,直至最后运行结束。具体的,在每次迭代的过程中均将两个种群中的最优粒子进行比较,从中选出更优的粒子作为本次迭代的当前最优粒子,如果迭代次数没有达到最大迭代次数,并且精度也没有达到预设精度,此时,将进行下一次迭代,在下一次迭代过程中依旧分别选出两个种群当前粒子中的最优粒子,并从选出的两个最优粒子中再选出更优的粒子作为本次迭代的当前最优粒子,并将本次迭代的当前最优粒子与上次迭代的当前最优粒子进行比较,从中选择出更优的那个粒子,用于下一次迭代。如果迭代次数达到了最大迭代次数和/或精度达到预设精度,此时迭代结束,将本次得到的最优的粒子作用整个寻优过程的最终最优粒子,与该最终最优粒子对应的最优解为使所述目标函数达到最小值的最优潮流解。

所述随机惯性权重w通过差分变异操作vi,g+1与辅助变异算子之间进行配合使用。所述随机惯性权重还包括:动态惯性权重、自适应惯性权重和线性递减惯性权重。所述差分变异操作vi,g+1还包括其他的变形形式。具体的,所述差分变异操作vi,g+1在变形或者在换算的过程中涉及使用所述差分变异操作vi,g+1的,也是利用本实施例提供的方式进行运算,也是本实施例的保护范围之内。

实施例三:在实施例二的基础上,本实施例针对本发明的混合算法与其他算法进行在单峰测试函数收敛过程曲线图或多峰测试函数收敛过程曲线图,具体的,从图2、图3能够看出,de算法对目标函数进行计算得到的收敛曲线,nhdepso算法前期初始点与pso算法和de算法基本相同,但其收敛速度非常快,达到相同精度的迭代次数明显少于其他两种算法。另外该本发明实施例中所采用的算法收敛过程较快,显示了其良好的鲁棒性能。如图3所示,在迭代至1000次就收敛到较为满意的解,寻找到的最优解要优于单独采用pso算法或单独采用de算法找到的最优解,也即本发明实施例中所提供的方法可以使得到的最优解更加优化,并且具有更强的跳出局部最优解的能力。并且该方法优化后的结果无需人工进行修正和调整,应用前景广泛。

综上所述,本发明的一种基于随机惯性权重的差分粒子群混合算法,在混合算法的变异操作中引入随机惯性权重,与传统的de算法、pso算法和nhdepso算法相比较,使用该算法进行数值优化计算时,收敛速度更快而且收敛精度也更高,能够又快又准的寻找到全局最优值,有效地提升了算法的优化性能;通过生成多次变异群体的交叉混合的操作,使得整个混合算法的收敛精度和收敛的速度更快,提升了整个差分粒子群的优化的性能;通过混合算法计算方法有利于高效分配资源的计算的速度,有效提高了计算资源的利用,并且该方法优化后的结果无需人工进行修正和调整,应用前景广泛。

虽然上面已经参考各种实施例描述了本发明,但是应当理解,在不脱离本发明的范围的情况下,可以进行许多改变和修改。也就是说上面讨论的方法,系统和设备是示例。各种配置可以适当地省略,替换或添加各种过程或组件。例如,在替代配置中,可以以与所描述的顺序不同的顺序执行方法,和/或可以添加,省略和/或组合各种部件。而且,关于某些配置描述的特征可以以各种其他配置组合,如可以以类似的方式组合配置的不同方面和元素。此外,随着技术发展其中的元素可以更新,即许多元素是示例,并不限制本公开或权利要求的范围。

在说明书中给出了具体细节以提供对包括实现的示例性配置的透彻理解。然而,可以在没有这些具体细节的情况下实践配置例如,已经示出了众所周知的电路,过程,算法,结构和技术而没有不必要的细节,以避免模糊配置。该描述仅提供示例配置,并且不限制权利要求的范围,适用性或配置。相反,前面对配置的描述将为本领域技术人员提供用于实现所描述的技术的使能描述。在不脱离本公开的精神或范围的情况下,可以对元件的功能和布置进行各种改变。

综上,其旨在上述详细描述被认为是例示性的而非限制性的,并且应当理解,以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1