粒子群算法基本原理
PSO是模拟鸟群随机搜寻食物的捕食行为。假设在搜索食物区域里只有一块食物,所有的小鸟都不知道食物在什么地方,但是小鸟之间存在信息的交互,通过估计自身的适应度值,它们知道当前的位置距离食物还有多远,所以搜索目前里食物最近的鸟的周围区域是找到食物的最简单有效的办法。
PSO就是从这种模型中得到启示并用于解决优化问题。在PSO中每个优化问题的潜在解都可以想象成搜索空间中的一只鸟,称之为“粒子”。粒子主要追随当前的最优粒子解在解空间中搜索,PSO初始化为一群随机粒子(随机解),然后通过迭代找到最优解。
在每一次迭代中,粒子通过跟踪两个“极值”来更新自己,第一个就是该粒子本身所找到的最优解,这个解称为个体极值pbest,另一个极值是整个种群目前找到的最优解,这个极值是全局极值gbest这两个最优变量使得粒子某种程度上向着这些方向靠近,粒子始终跟随这两个极值来变更自己的位置和速度,直到找到最优解。
基本原理
-
假设在一个D维的目标搜索空间中,有N个粒子组成一个群落,其中第i个粒子表示为一个D维向量
-
第i个粒子的飞行速度也是一个D维的向量,记为: