【粒子群算法】(Particle Swarm Opitimization, PSO)在1995年由Dr.Eberhart和Dr.Kennedy提出,源于对鸟群捕食行为的研究。
好比说,一群鸟在一个区域内寻找食物,这个区域只有一条虫子(最优解),所有的鸟都不知道食物在哪。假设,他们知道自己的当前位置距离食物有多远,也知道自己距离食物最近的鸟的位置。
鸟A:哈哈哈原来虫子离我最近!
鸟B,C,D:我得赶紧往 A 那里过去看看!
同时各只鸟(粒子)飞行时,位置不停变化,距离食物的距离也不断变化,所以一定有过离食物最近的位置,这也是它们的一个参考(粒子飞行的历史)。
鸟某某:我刚刚的位置好像靠近了食物,我得往那里靠近!
综上,影响鸟的运动状态变化有下面两个因素:
- 离食物最近的鸟的位置(全局最优)
- 自己之前达到过的离食物最近的位置(个体最优)
- 自身惯性
三个因素综合为速度公式:
![](https://pic3.zhimg.com/v2-b4b6bf181b0aee5a7cfd7dc85fee2732_r.png)