1 粒子群算法基本原理 粒子群优化算法[45]最原始的工作可以追溯到 1987 年 Reynolds 对鸟群社会系统 Boids(Reynolds 对其仿真鸟群系统的命名)的仿真研究
通常,群体的行为可以由几条简单的规则进行建模,虽然每个个体具有简单的行为规则,但是却群体的行为却是非常的复杂,所以他们在鸟类仿真中,即 Boids 系统中采取了下面的三条简单的规则: (1)飞离最近的个体(鸟),避免与其发生碰撞冲突; (2)尽量使自己与周围的鸟保持速度一致; (3)尽量试图向自己认为的群体中心靠近
虽然只有三条规则,但 Boids 系统已经表现出非常逼真的群体聚集行为
但Reynolds 仅仅实现了该仿真,并无实用价值
1995 年 Kennedy [46-48]和Eberhart 在 Reynolds 等人的研究基础上创造性地提出了粒子群优化算法,应用于连续空间的优化计算中
Kennedy 和Eberhart 在boids 中加入了一个特定点,定义为食物,每只鸟根据周围鸟的觅食行为来搜寻食物
Kennedy 和Eberhart 的初衷是希望模拟研究鸟群觅食行为,但试验结果却显示这个仿真模型蕴含着很强的优化能力,尤其是在多维空间中的寻优
最初仿真的时候,每只鸟在计算机屏幕上显示为一个点,而“点”在数学领域具有多种意义,于是作者用“粒子(particle)”来称呼每个个体,这样就产生了基本的粒子群优化算法[49]
假设在一个 D 维搜索空间中,有 m 个粒子组成一粒子群,其中第 i 个粒子的空间位置为123(,,,
,)1,2 ,
,iiiiiDXxxxxim,它是优化问题的一个潜在解,将它带入优化目标函数可以计算出其相应的适应值,根据适应值可衡量ix 的优劣 ; 第 i 个 粒 子 所 经 历 的 最 好 位 置 称 为 其 个 体 历 史 最 好