粒子群优化算法的研究23
第25卷 第13期
2009年7月
甘肃科技
Vol.25 No.13Jul. 2009
粒子群优化算法的研究
吴丽丽
(甘肃农业大学信息科学技术学院,甘肃兰州730070)
摘 要:粒子群优化算法是根据鸟群觅食过程中的迁徙和群集模型而提出的用于解决优化问题的一类新兴的随机优化算法。介绍了PSO算法的基本原理和采用早熟因子、逆反粒子、变异策略和协同机制等多种形式的改进措施及PSO算法的应用,提出了未来的研究方向。
关键词:粒群优化;早熟因子;逆反粒子;变异策略;协同机制中图分类号:TP273.2
1 引言
当前,通过模拟生物群体的行为来解决计算问题已经成为新的研究热点,形成了以群体智能(SwarmIntelligence)为核心的理论体系。研究表明,生物群体中的信息共享会产生进化优势。基于这种思想,美国的Eberhart博士和Kennedy博士受鸟群觅食行为的启发于1995年提出了粒子群优化算法(ParticleSwarmOptimization,PSO),并逐步演化为一种简单而有效的优化计算技术。同遗传算法比较,粒子群算法的收敛速度快,更加简单,容易实现并且无需调整很多参数。目前已被广泛应用于函数优化,神经网络训练,模糊系统控制以及其他遗传算法的应用领域。
但与其它全局优化算法一样,PSO算法同样存在早熟收敛现象
[2]
内以某种规律移动,经过若干次迭代后找到最优解。
在每一次迭代中,粒子通过跟踪2个 极值 来更新自己.第1个是粒子本身的最优解pbes,t第2个是整个微粒群目前找到的最优解g.bes,t找到这2个极值后,每个粒子根据自己的飞行速度决定自身的走向及飞行距离。
[1]
PSO的速度位置算式如下:
v(i+1)= v(i)=c1 r1 (pbest-x(i))+c2 r2 (gbest-x(i))
x(i+1)=x(i)+v(i+1)
(1)(2)
式(1)中的pbest表示该粒子从开始到现在搜索产生的最优解,gbest表示粒子群目前找到的最优解,即运行到当前代为止所找到的全局最优。 [0,1],被称作惯性因子,用于根据上一次迭代得到的速度调节本次迭代过程上粒子的运动速度。c1和c2是加速系数,分别调节向全局最好粒子和个体最好粒子方向飞行的最大步长,若太小,则粒子可能远离目标区域,若太大则可能会导致飞过目标区域。r1和r2是(0,1)之间的随机数。根据目标函数计算的适应度值用来衡量搜索空间内哪个位置更好。适应度值驱使各粒子朝着搜索空间内个体最优和到目前为止发现的全局最优方向移动。
粒子群算法的步骤如下:
Step1:对粒子群的随机位置和速度进行初始设定,同时设定迭代次数;
Step2:计算每个粒子的适应值;Step3:对于每个粒子,将其适应值与所经历的最好位置Pi的适应值进行比较,若较好,则将其作为当前的个体最优位置;
Step4:对每个粒子,将其适应值与全局所经历,,尤其是在比较复杂的多峰值搜
索问题中。为此,本文在PSO算法迭代过程中不是简单地选取适应度最大的粒子作为最优粒子,而是
采用轮盘赌的方法,从若干个适应度最大的粒子中选取一个作为最优粒子,这样可以避免所有粒子迅速朝一个可能的局部最优粒子靠拢,从而降低了算法过早收敛于局部最优解的几率素
[11]
[10]
。为避免过于
早熟,考虑在算法搜索过程中引入一些干扰因
,从而使粒子在新的位置以新的速度开始搜索,跳出了原早熟区域,避免了局部最优解,能够更好地找到全局最小。
2 粒子群算法
PSO算法是通过模拟鸟群的捕食行为来达到优化问题的求解.首先在解空间内随机初始化鸟群,鸟 ,


