当前位置:文档之家› 基于混合信息粒子群优化算法

基于混合信息粒子群优化算法

基于混合信息的粒子群优化算法
摘要:本文提出一种基于混合信息的粒子群优化算法。

此算法具有充分利用种群信息,保证群体的多样性,快速收敛效果和避免陷入局部极值的能力。

abstract: this paper proposes a particle swarm optimization algorithm based on hybrid information. the new algorithm has the ability to make full use of the whole population information, ensure the diversity of population,has fast convergence effect and escape from local extremum. 关键词:粒子群优化算法;群体智能;混合信息
key words: particle swarm optimization;swarm intelligence;hybrid information
中图分类号:tp301.6 文献标识码:a 文章编号:1006-4311(2013)20-0240-02
0 引言
粒子群优化算法是由kennedy和eberhart[1,2]在1995年提出的一种新的群体智能计算技术。

尽管传统的粒子群优化算法在低维空间的函数寻优问题上具有求解速度快、质量高的特点,但随着函数维数的增加,其优化性能便急剧下降,容易陷入局部极值,导致收敛精度低、不易收敛到全局最优。

为了克服这一不足,研究者提出了很多粒子群优化算法的改进方法[3]。

本文提出一种基于混合信息的粒子群优化算法,算法对粒子的速度进化公式进行改进,使
粒子行为基于个体极值的加权平均、全局极值和按概率选择的其它粒子的个体极值。

1 粒子群优化算法及若干改进算法
粒子群优化算法是一种基于种群的优化算法,种群称为粒子群,粒子群中的个体称为粒子。

设有n个粒子组成一个群体,其中第i 个粒子表示为一个d维的向量,xi=(xi1,xi2,…,xid),i=1,2,…,n,即第i个粒子在d维的搜索空间中的位置是xi。

第i个粒子的飞行速度也是一个d维的向量,记为vi=(vi1,vi2,…,vid),记第i个粒子迄今为止搜索到的个体极值点为pi=(pi1,
pi2,…,pid),整个种群迄今为止搜索到的全局极值点为pg=(pg1,pg2,…,pgd),粒子群优化算法采用下列公式对粒子操作:
vid=wvid+c1r1(pid-xid)+c2r2(pgd-xid)(1)
xid=xid+vid(2)
其中,i=1,2,…,n,d=1,2,…,d,w表示惯性权重,c1和c2表示学习因子,r1和r2是[0,1]上均匀分布的随机数,每一维粒子的速度都被限制在一个最大速度vmax(vmax>0)之间,若
vi>vmax时,vi=vmax;若vi4,通常取w=0.729,c1=c2=2.05,我们把这种改进算法记为pso1。

在粒子群优化算法中引入了线性减小的惯性权重,将(1)式变换为:vid=wvid+c1r1(pid-xid)+c2r2(pgd-xid)(4)
式(4)中,w=(w1-w2)■+w2,w1、w2为惯性权重的初始值和终值,iter为当前迭代次数,maxiter为最大迭代次数,我们把这
种改进算法记为pso2。

2 基于混合信息的粒子群优化算法
在粒子群优化算法中,全局极值pg是整个种群中最成功的个体,只有它才影响着每个粒子的行为,因此忽略了其它个体的信息,单一的信息传播导致了群体多样性降低,使得学习过程对整个群体经验利用不足,容易出现早熟。

在实际的生物进化过程中,个体除了向最优个体学习之外,也常常学习种群中较优个体的行为,并且会从群体中的其它所有个体的经验中学习。

鉴于此,本文提出了一种基于混合信息的粒子群优化算法。

新算法将粒子群优化算法的速度进化公式变化为:vid=wvid+c1r1(pvd-xid)+c2r2αiter(pgd-xid)+c3r3(1-αiter)(pkd-xid)(5)
其中pvd=■■pid,sum=■■,pk是通过轮赌法从整个种群中选出的粒子的个体极值,α为[0,1]之间的常数。

新算法通过个体极值的加权平均使粒子充分利用种群中其它粒子的有用信息,增强了粒子的合作与竞争;同时,算法将按轮赌法从整个种群中选出的粒子的个体极值与全局极值采用了动态结合的方式,一开始主要共享种群极值,可以使粒子加速向最优区域靠拢,随着迭代次数的增加,更多的共享按轮赌法选出的粒子的个体极值,这样可以保证种群的多样性,增强算法跳出局部最优的能力,基于此,本文取α为0.999。

3 仿真实验
为了验证改进算法的性能,本文选择以下函数用于优化实验,将本文提出的改进算法(简记为mpso)与pso1和pso2的优化结果进
行对比。

其中,pso1的参数设置为w=0.729,c1=c2=2.05;pso2的参数设置为w1=0.9,w2=0.4,c1=c2=2;mpso的参数设置为w=0.75,c1=c2=c3=0.9。

测试函数分别为:①griewank函数:minf1(x)=■■x■■-■cos(■)+1
②schaffer函数:minf2(x1,x2)=0.5+■
上述2个函数均为多峰函数,具有大量局部极值,可以有效检验算法的优化性能和全局搜索能力。

函数的搜索空间、初始范围和最小值如表1所示。

表2~3分别给出了pso1、pso2、mpso在粒子个数为30、迭代次数为1000的设置时的测试结果,包括最好(best)、最差(worst)、平均适应值(mean)和算法运行10次的标准差(std)。

表2和表3中可以看出:mpso在求解精度和求解的稳定性上都取得了比pso1和pso2好的结果。

表明本文算法在防止粒子群优化算法陷入局部最优、提高解收敛的稳定性上是有效的。

传统的粒子群优化算法随着函数维数的增加,优化性能便急剧下降,容易陷入局部极值,不易收敛到全局最优。

为了验证本文算法在求解高维函数时的性能,下面对griewank函数在100维时进行仿真实验。

测试时,粒子个数为100、迭代次数为1000,其它参数设置同上。

表4给出了三种算法的测试结果。

从表4可以看出:mpso在求解高维函数时依然具有较强的搜索能力,相对于pso1和pso2更容易趋近全局最优值;从图3可看出mpso 在收敛速度和精度方面也要优于其它两种算法。

4 结论
针对传统粒子群优化算法的不足,提出了一种基于混合信息的粒子群优化算法,充分利用种群信息,保证群体的多样性,避免陷入局部极值。

参考文献:
[1]kennedy j, eberhart r c. particle swarm optimization[c]. in: proceedings of ieee international conference on neural networks, piscataway, nj:ieee press,1995.4:1942-1948.
[2]eberhart r c,kennedy j. a new optimizer using particle swarm theory[c].in: proc of the sixth international symposium on micro machine and human science, nagoya, japan,1995:39-43.
[3]罗辞勇,陈民铀.克服恋食行为的pso算法改进研究[j].控制与决策,2008,23(7):776-780.。

相关主题