基于耗散结构的粒子群优化算法

粒子群优化算法可以看作是一个模拟的自组织系统,在初期,通常群体为混沌无序的混乱状态,远离平衡态。“认知”部分代表着对个体本身的历史成功经验的依赖,而“社会”部分则意味着对群体历史成功经验的模仿,它们对信息的非线性反馈使用群体经验逐渐变为有序状态结构。然而,由于缺乏负熵的输入,在PSO演化的事项,个体的历史经验趋向于一致,社会差别趋向于消失,进入准平衡态。一旦这个系统演化到一定的成熟程序时,将陷入停滞状态。与其它演化算法的比较可知PSO更快地得到相当有质量的解,但当进化代数增加时并不能进行更精确的搜索,因此构造一个基于耗散结构的粒子群优化算法(Dissipative PSO,DPSO)。
要将PSO 构造为耗散结构,首先需要使它作为一个耗散系统运行。实际上,PSO 可以很自然的看作一个能量系统,其中微粒的速度可看作动能,而微粒当前位置与它的gBest和pBest的距离可以看作势能。一个耗散系统意味着,随着演化代数的增加,PSO 群体的平均速率和位置差异将变小。这需要使用较小的惯性权重。
要使得系统形成耗散结构,在耗散系统的基础上,负熵的引入是必须的,以使得系统远离平衡态,而使得在PSO内部微粒的非线性交互下的涨落推动系统的持续演化。负熵的引入过程可以有如下两种方式。
1)对粒子速度V进行扰动
if(rand < cv) then V=rand*Vmax
2)对粒子位置X进行扰动
if(rand < cl) then X=rand(cLower,cUpper)
在标准PSO算法中,一个微粒的能量取决于它当前的速度和它的位置与pBest和gBest的距离。当PSO作为一个耗散系统工作时,在演化的后期,微粒的速度变得很小,pBest和gBest逐渐重合,而它的位置离它们越来越近,到一定阶段,如果某个微粒在以后的演化中再也引不起有意义的适应度变化,这个时候,我们称该微粒为非活跃微粒。
这提供了另外一种引入负熵的方式,即将不活跃的微粒由新的微粒替换掉。这种方式是自适应的,因此更能适应对不同问题的适应性。



发表评论

You must be logged in to post a comment.