粒子群算法的基本理论及其改进研究
2014-04-21黄珍潘颖曹晓丽
黄珍+潘颖+曹晓丽
摘 要 粒子算法是一种随机优化的技术,它的理论来自于两位博士在观察鸟群寻找食物和鱼群们学习行为中。这样的理论,在世界上许多领域都被应用的十分广泛。而在优化的过程之中,粒子群算法很多自己独特的地方。比如它们需要调整的参数不多,结构也不复杂,收敛速度快。文章着重介绍对粒子群算法在不同地方的不同作用,讨论粒子群算法的改进以及未来的粒子算法的发展。
关键词 粒子群算法;学习因子;收敛性
中图分类号:TP301 文献标识码:A 文章编号:1671-7597(2014)05-0037-01
在1995年,Ebrhart博士和Kennedy博士在日常的学习观察中发现鸟群在寻找自己的食物时,鱼群的学习行为。粒子群算法是由几种思想集合而成。它们分别是生命、鸟群觅食、鱼群学习、群理论。它还吸纳了进化算法的特长之处。标准粒子群算法也被称为PSO,它的算法的基本原理十分简单,它所用到的参数也很少,在进化初期收敛的速度很快,也相对容易被实现。很多学者对它有极大的关注,在它被第一次提出来的时候。它发展很快,短短的时间内,就得到极大的发展。对于不同的需求方向,粒子群优化算法有不同的应用。训练博弈代理、图像和数据聚类、优化设计、模型选择、生物信息学、数据挖掘、机器学习与训练、模式识别、信号控制、函数优化等等的方面。
1 标准粒子群算法原理
粒子群算法被提出至今,就在数学家,工程师,物理学家,心理学家等等不同领域的人们中被进行了无数次的分析,和无数次的实验中被进行了无数次的变形和改造。这些不同领域的人们通过大量实验得到了十分有益的研究成果很大量有价值的经验资料。他们也为粒子群算法的发展提出了很多值得注意的假设和合理的解释基础。这些珍贵的资料和合理假设大大推动了粒子群算法的发展历程。这些假设还为实际工业应用开辟了一个新天地。在第一届国际群智能研讨会在美国的印度第安纳州开展后,引起的极佳的反响。至此,每年都会举办一次群智能国际研讨会。因为提供了一个平台给所有研究它的人,关于PSO的论文如同雨后春笋般越来越多。甚至在我国,PSO的研究也被列为重点项目,并且我国的科研人员已经在这个项目上取得骄人成绩。
标准粒子群算法的算法和其他演化算法有很多共同之处,它的理论基础来自群体,在一个群体范围中将每一个个体的位置变化都是速度来体现的。在每个单独的个体都会记录自己曾经到达的最佳位置在它自己的记忆单元之中。它会改变自己的位置和速度,改变位置和速度是由自己曾经到达的最佳位置和其他粒子到达过的最佳位置来确定的,改变速度和位置从而趋向全局的最优值的聚集加速过程。
在标准粒子群优化算法中,它是要要求每一个粒子维护两个向量。它的运动方向和它的速率决定着粒子自身的速度,而粒子所在的位置表示它的解在空间中所处的位置。对比遗传算法,粒子群算法缺少了一些东西。它们是选择算子、交叉算子和变异算子。在t+1时刻的速度以及在这个时间段时的位置更新公式为:
Vt+1lid=X@vtid+c1@r1@(pbesttid-xtid)+c2@r2@(gBesttgd-xtida)
Xt+lid=xtid+vt+lid
在上述公式之中,c1和c2是加速系数,也被我们叫做学习因子,而X是惯性权重,r1和r2是两个(0,1)区间上的随机数。
2 粒子群算法的流程
粒子群算法的基本计算流程是这样的。第一步,任意初始化的种群中每次粒子自身的速度和粒子自身的位置。而且把单独个体在曾经达到的最佳值pBest设置为当前位置,并且将群体中的最优个体作为当前的gBest。第二步,在每一次的进化中,要去计算每个粒子的适应度函数值。第三步,计算进行到第三步。就到了非常重要的一步了,可能粒子会出现此时的适应度函数值比历史最优值都要好,此时就可以用当前的位置去替换这个个体的历史最优值位置。第四步,粒子在历史上所达到的最优值要比全局最优值都还要好,就有可能发生全局的最优值被代替的情况。第五步则是对每一个粒子的i的第d维的速度和位置要按照公式去更新计算。第六步是最后一步,在这个时候如果还没有达成结束的条件,就要跳转到第二步,否则输出GBest并且结束计算。
3 粒子群算法的改进
对于不一样的领域,粒子群算法得到了丰富的应用。但同样的,粒子群算法也由于自身的原因受到了很多的局限。比如在问题的维数、粒子的个数、加速系数、惯性权重、迭次代次数等等方面的影响。这些不同方面的影响也许会导致一些问题的产生。例如算法的收敛性,精确性都不能达到应用的要求。要改变粒子群算法的性能,就要通过提高粒子群算法求解最优精度问题,粒子群算法是一种随机性的算法,它在大多数时间里都被用于优化问题,但粒子算法容易进入一个“怪圈”,它的特点是简单易懂。但它的不足之处也是因为它的参数少,所以容易得到局部最优解。至以于,许多研究者在不同的方面对它进行了深入的探讨和改进方法。要去改进粒子群算法,他们从以下几个大的方面入手。
1)混合其他智能优化算法。当我们在进行粒子群全算法时,我们计算的目的和使用进化算法本质上是一致的。但事实上,它们两个之间存在着很大的不同之处,这是因为它们在被建立之初,建立它们的原理本就不同。其次,这两种算法的技术方法也存在着很大的不同点。但这不能因为某些方面就认为进化算法没有一点可取之处。相反的是它们有各自的优点与缺点,并且粒子群算法与进化算法这两种方法被放在一起应用的时候,我们就会得到一个非常准确的计算结果。我国的高海兵研究员,就对此提出了广义粒子群优化模型,这个广义粒子群优化模型非常适用于解决一些特定的优化问题,比如组合优化的问题。广义粒子群优化模型在本质上是符合粒子群优化原则的。除此之外,它还有许多值得注意的技术优势。比如,广义粒子群优化模型的粒子会根据情况来设计更新策略。另外,粒子群算法也和微分进化算法进行混合,同样也得到了很好的效果。
2)惯性权重改进算法。当惯性权重比普通值还要大的时候,在这个时候非常适合来进行全局搜索。这是因为收敛的速度很快,这样不容易得到较为精确的结果,反之我们在进行局部搜索是会得到精确的结果,由于收敛速度慢且有时会局部的极值中。由于上述的种种问题,研究员们在对惯性权重研究方向上分为了两个策略,它们分别为线性策略和非线性策略。线性策略在计算方法上会减轻了经典递减策略的局限性,在计算方法的自身性质上会得到极大的改善。
4 结束语
经过上述的两种的改进方法,我们可以得到一个结论,那就是粒子群算法的改进要从混合其他智能优化算法和惯性权重改进算法着手。粒子群算法在世界范围内得到了广泛的应用,而在现今的研究中,还有许多关于优化的问题需要对多个目标同时进行优化,所以粒子群算法被利用到多目标优化问题。这是未来粒子群算法研究的重点。
参考文献
[1]金欣磊,马龙华,吴铁军,钱积新.基于随机过程的PSO收敛性分析[J].自动化学报,2007(12).
[2]刘建华,樊晓平,瞿志华.一种惯性权重动态调整的新型粒子群算法[J].计算机工程与应用,2007(07).
[3]李宁,孙德宝,邹彤,等.基于差分方程的PSO算法粒子运动轨迹分析[J].计算机学报,2006(11).endprint