一群鸟在随机搜索食物,在该区域内只有一块食物。所有的鸟都不知道食物在哪里。但是它们知道当前的位置距离食物还有多远。那么,找到食物最简单有效的方法——就是搜寻离食物最近的鸟的周围区域。如果将鸟抽象为没有体积和质量的“粒子”,相当于问题的一个解,鸟群就相当于一个解集,距离食物最近的鸟相当于解集中的最优粒子,食物的位置相当于全局最优解。
基本原理
PSO是由Kennedy和Eberhart等通过模拟鸟群的觅食行为而提出的一种基于群体协作的随机搜索算法。
标准粒子群算法搜索寻优过程如图1所示:
图1 标准粒子群算法搜索寻优过程
每个粒子有2个属性:粒子位置x,例子速度v。假设在一个D维的目标空间中,有N个粒子组成一个群落。则有:
第i个粒子的位置为一个D维向量:
第i个粒子的飞行速度为一个D维向量: