APP下载

基于PSO的LAPSO和NLAPSO改进算法研究

2014-09-01屈瑞娜王伟涛

关键词:测试函数惯性线性

屈瑞娜 王伟涛

摘要:为了解决实际问题中对精度和速度的双优要求,本文对PSO惯性因子进行混合改進,分别提出线性自调整(LAPSO)和非线性自调整(NLAPSO)两种改进算法,这两种算法在迭代初期动态地调整粒子的飞行速度,加强对种群信息的利用,增强种群的多样性,随着演化的进行,采用线性或非线性的改进策略,使得粒子能更快更精确的聚集到全局最优。实验表明这两种改进较线性、非线性或动态自适应调整,性能均有所提高。

关键字:PSO 惯性因子 测试函数

1 概述

为了更好的求解大量非线性、不可微和多峰值的复杂优化问题,受研究鸟群觅食行为的启发,1995年Kennedy博士和Eberhart博士提出了一种仿真鸟群飞行的算法——粒子群优化算法(Particle Swarm Optimization,PSO)[1]。

与其他全局优化算法一样,受本身更新机制的限制,基本粒子群算法同样存在早熟收敛和后期振荡现象。为了提高算法的性能,国内外学者进行了大量的研究,提出了各种改进。主要有变更公式法[2]、分群方法[3]、混合算法[4]、动方法[5]、自适应改进方法[6]等,这些改进均在不同程度上提高了算法的寻优能力,但对于一些实际问题,总期望在有限的迭代次数内,尽可能地得到可接受的最优解。

因此,如何得到速度和精度的双优成为粒子群算法研究的一个热点。基于此,本文在对文献[2,7]改进的基础上,对PSO惯性因子进行混合改进,分别提出线性自调整(LAPSO)和非线性自调整(NLAPSO)两种改进算法,这两种算法在迭代初期动态地调整粒子的飞行速度,加强对种群信息的利用,并且在一定条件下通过对粒子的重新扩散,增强种群的多样性,随着演化的进行,采用线性或非线性的改进策略,使得粒子能更快更精确的聚集到全局最优,从而提高算法的性能。

实验结果表明这两种改进方法较基本的线性、非线性或动态自适应调整方法,性能均有所提高。

2 PSO算法

为了改善原始PSO算法的收敛性能,标准PSO算法中引入惯性权重的概念[8],初始化一群粒子,设有N个,算法按下列方式迭代:第i个粒子位置记为xi=(xi1,xi2,…,xiD),i=1,2,…,N,飞行速度记为vi=(vi1,vi2,…,viD),迄今为止搜索到的个体极值表示为pbi=(pbi1,pbi2,…,pbiD),整个粒子群中,所有粒子迄今为止所搜索到的全局极值表示为gb=(gb1,gb2,…,gbD)。则第i个粒子就按下面公式更新自己速度和位置(KermedyJ,EberhartR.C,1995):

v =wv +c R (pb x )+c R (gb x ) (1)

x =x +v (2)

式中,i=1,2,…,N,N是群体中的粒子数;k=1,2,…,n,是迭代次数;d=1,2,…,D,D是解空间的维数,即自变量的个数;v 表示第k次迭代粒子i速度矢量的d维分量;x 表示第k次迭代粒子i位置矢量的d维分量;pb 表示第k次迭代粒子i个体最好位置矢量(pb)的d维分量;gb 表示前k次迭代粒子群最好位置(gb)矢量的d维分量;R1和R2是介于[0,1]区间的随机数;C1和C2为学习因子,分别调节向pb和gb方向飞行的步长,学习因子使粒子具有自我总结和向群体中优秀个体学习的能力,合适的学习因子可以加快算法的收敛且不易陷入局部最优,根据经验值他们通常都取2。

3 LAPSO和NLAPSO

1998年,shi等(1998)提出按照线性递减(LDIW)规律改变惯性因子W的改进方法,很好地提高了算法的精度。

2006,陈贵敏等人受LDIW策略的递减惯性因子思想的启发,为了在全局搜索和局部搜索之间取得更好的平衡,构造了3种非线性递减惯性因子策略,并与LDIW策略进行了对比研究,实现发现W2非线性方法在精度上更具有优势。

2005年,张选平等通过引入粒子进化度e和粒子聚合度a来改变惯性因子的PSO算法,改进标准PSO算法收敛速度较慢的不足。

实际问题中,往往需要达到精度和速度的双优,而上述三种改进都更多的偏向于实现精度或速度更优,基于此,本文提出线性自调整(LAPSO)和非线性自调整(NLAPSO)两种改进算法,以期达到速度和精度的双优。仿真实验见4。

4 仿真结果及分析

4.1 实验设置

为了有效对比算法的高效性和稳定性,本文分别选择优化算法常用的多个测试函数进行仿真验证,基于篇幅,此处列举两个具有代表性的测试函数进行仿真。

其中,标准Sphere函数为单峰二次函数;Rastrigrin函数是典型的非线性多模态函数,具有广泛的搜索空间、大量的局部极小点和高大的障碍物,通常被认为是各优化算法比较难处理的复杂多模态问题。

表1 标准测试函数

相关参数设置:粒子规模设置为100,以期获得较好的精度和稳定性,2个测试函数的维数都分别取D=5,10,最大迭代次数均为1000值。

本文的实验运行平台是MATLAB2010b,在内存为2 GB,CPU速度为2GHz的PC机上运行。

4.2 实现结果与分析

分别对每个测试函数在六种不同策略下进行寻优,分别运行30次得到如下结果:

由仿真数据和迭代曲线图可以得出如下结论:

①表2和表3可以看出:

不同维数下,LAPSO较LPSO,NLAPSO较NLPSO精度和稳定性均有很好的改善。

不同维数下,LAPSO、NLAPSO较APSO精度和稳定性有很好的改善。

②图1和图2可以看出:

不同维数下,LAPSO较LPSO,NLAPSO较NLPSO收敛速度明显增快。

5 结论

实验表明本文提出的LAPSO和NLAPSO改进算法,在精度、稳定性、收敛速度上均有很好的改善。

参考文献:

[1]KermedyJ., EberhartR . C.. Particle Swarm Optimization[A].Neural Nebworks,1995 Proeeedings . .IEEE International

Conferenee on[C] . Piscataway, NJ: 1995 :1942-1948.

[2]张顶学,关治洪,刘新芝.一种动态改变惯性权重的自适应粒子群算法[J].控制与决策,2008,23(11):1253-1257.

[3]陈国初,俞金寿.两群微粒群优化算法及其应用[J].控制理论与应用,2007,24

(2):294-298.

[4]SHELOKAR P S, SIARRY P, JAPA

RAMAN V K,et al.Particle swarm and ant colony algorithms hybridized for im-

proved continuous opt im ization [J].

App lied Mathematics and Computation,

2007,188(1):129-142.

[5]赫然,王永吉,王青.一种改进的自适应逃逸微粒群算法及实验分析[J].软件学报,2005,16(12):2037-2045.

[6]任小波,杨忠秀.一种动态扩散粒子群算法[J].计算机应用,2010,30(1).

[7]陈贵敏,贾建援,韩琪.粒子群优化算法的惯性权值递减策略研究[J].西安交通大学学报,2006,40(1).

[8]Shi Y.H,Eberahrt R.C.Parameter Selection in Particle Swarm Optimization[J].Lecture Notes in Computer Science,1998,14(47):591-600.

猜你喜欢

测试函数惯性线性
你真的了解惯性吗
渐近线性Klein-Gordon-Maxwell系统正解的存在性
冲破『惯性』 看惯性
线性回归方程的求解与应用
二阶线性微分方程的解法
无处不在的惯性
具有收缩因子的自适应鸽群算法用于函数优化问题
普遍存在的惯性
带势函数的双调和不等式组的整体解的不存在性
约束二进制二次规划测试函数的一个构造方法