4 .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 个 粒 子 所 经 历 的 最 好 位 置 称 为 其 个 体 历 史 最 好 位 置 , 记 为123(,,,...,)1 ,2 ,...,iiiiiDPppppim,相应的适应值为个体最好适应值 Fi ;同时,每个粒子还具有各自的飞行速度123(,,,...,)1,2 ,...,iiiiiDVv vvvim。所有粒子经历 过 的 位 置 中 的 最 好 位 置 称 为 全 局 历 史 最 好 位 置 , 记 为123(,,,...,)DPgPg PgPgPg,相应的适应值为全局历史最优适应值 。在基本PSO算法中,对第n 代粒子,其第 d 维(1≤d≤D )元素速度、位置更新迭代如式(4-1)、(4-2): 11122()()nnnnnnididididgdidvvcrpxcrpx (4-1) 1nnnidididxxv (4-2) 其中:ω为惯性权值;c1 和...