局部与全局搜索相结合的粒子群优化算法

粒子群优化算法初始化为一群随机粒子(随机解),然后通过迭代找到最优解,在每一次迭代中,粒子通过跟踪两个“极值”来更新自己。第1个就是粒子本身所找到的最优解,这个解叫做个体极值pBest,第2个极值是整个种群目前找到的最优解,这个极值是全局极值gBest;或者只是用其中一部分最优粒子的邻居,那么在所有邻居中的极值就是局部极值lBest。

分别采用全局和局部不同极值更新粒子的迭代方程,称为全局版和局部版的PSO算法。全局版和局部版的PSO算法各有利弊,前者收敛速度快但有时会陷入局部最优值,后者收敛速度慢一点,但很容易跳出局部最优。吸取PSO算法的优点,将局部和全局搜索的PSO算法相结合,提出局部和全局搜索相结合的粒子群算法(Local and Global Combined Particle Swarm Optimization, LGCPSO)。

与基本微粒子群算法不同,LGCPSO算法的递推方程为:
V’ = w*V + c1*rand*( alpha*(pBest-X) + (1-alpha)*(lBest-X) ) + c2*rand*(gBest – X)
X’ = X + V’

LGCPSO算法递推方程主要通过3个部分来更新粒子i的新速度:粒子i前一次迭代时刻的速度;粒子i当前位置与自己最好位置之间的距离;第iGen代种群中粒子最好位置与自己位置之间的距离,再结合粒子i当前位置与群体最好位置之间的距离。粒子i通过上式更新位置的坐标,通过递推方程决定下一步的运动位置。

如果种群中某粒子适应度优于lBest的适应度,lBest设置为新位置;

如果某粒子适应度优于pBest的适应度,pBest设置为新位置;

如果某粒子适应度优于gBest的适应度,gBest设置为新位置。

局部与全局搜索相结合的粒子群优化算法实际上是在粒子群优化算法的基本框架中增加了种群局部最优位置lBest,来提高粒子群优化算法跳出局部最优解的能力,在跳出局部最优解的同时,又利用全局最佳粒子的位置gBest来保证了收敛速度。



发表评论

You must be logged in to post a comment.