文档介绍:.. . .. . ..
粒子群算法基本原理
粒子群优化算法 [45] 最原始的工作可以追溯到 1987 年 Reynolds 对鸟群社会
系统 Boids (Reynolds
. 专业学****资料 .
.. . .. . ..
步;
(4)根据速度 、位置更新公式更新各粒子的速度和位置 ;
(5)根据目标函数计算各粒子适应度值 ;
(6)更新各粒子历史最优值以及全局最优值 ;
(7)跳转至步骤 3。
对于终止条件 ,通常可以设置为适应值误差达到预设要求 ,或迭代次数超
过最大允许迭代次数 。
基本的连续 PSO 算法中 ,其主要参数 ,即惯性权值 、加速系数 、种群规
模和迭代次数对算法的性能均有不同程度的影响 。
惯性权值 ω的取值对 PSO 算法的收敛性能至关重要 。在最初的基本粒子
群算法中没有惯性权值这一参数 。 最初的 PSO 算法容易陷入局部最小 ,于是
在其后的研究中引入了惯性权值来改善 PSO 算法的局部搜索能力 ,形成了目
前常用的基本 PSO 算法形式 。取较大的 ω值使得粒子能更好地保留速度 ,从
而能更快地搜索解空间 ,提高算法的收敛速度 ;但同时由于速度大可能导致算
法无法更好地进行局部搜索 ,容易错过最优解 ,特别是过大的 ω会使得 PSO 算
法速度过大而无法搜索到全局最优 。取较小的 ω值则有利于局部搜索 ,能够更
好地搜索到最优值 ,但因为粒子速度受其影响相应变小从而无法更快地进行全
局搜索 ,进而影响算法收敛速度 ;同时过小 ω值更是容易导致算法陷入局部极
值。因此 ,一个合适的 ω值能有效兼顾搜索精度和搜索速度 、全局搜索和局部
搜索,保证算法性能 。
加速系数 c1 和 c2 代表每个粒子向其个体历史最好位置和群体全局历史最
好位置的移动加速项的权值 。较低的加速系数值可以使得粒子收敛到其最优解
. 专业学****资料 .
.. . .. . ..
的过程较慢 ,从而能够更好搜索当前位置与最优解之间的解空间 ;但过低的加
速系数值则可能导致粒子始终徘徊在最优邻域外而无法有效搜索目标区域 ,从
而导致算法性能下降 。较高的加速系数值则可以使得粒子快速集中于目标区域
进行搜索 ,提高算法效率 ;但过高的加速系数值则有可能导致粒子搜索间隔过
大,容易越过目标区域无法有效地找到全局最优解 。因此加速系数对 PSO 能
否收敛也起重要作用 ,合适的加速系数有利于算法较快地收敛 ,同时具有一定
的跳出局部最优的能力 。
对于速度更新公式 (4-1) 中,若 c1 = c2 = 0 ,粒子将一直以当前的速度进行
惯性飞行 ,直到到达边界 。 此时粒子仅仅依靠惯性移动 ,不能从自己的搜索经
验和其他粒子的搜索经验中吸取有用的信息 ,因此无法利用群体智能 , PSO 算
法没有启发性 ,粒子只能搜索有限的区域 ,很难找到全局最优解 ,算法优化性
能很差 。 若 c = 0,则粒子没有认知能力 ,不能从自己的飞行经验吸取有效信
息,只有社会部分 ,所以 c 又称为社会参数 ;此时收敛速度比基本 PSO 快,
但由于不能有效利用自身的经验知识 ,所有的粒子都向当前全局最优集中 ,因
此无法很好地对整个解空间进行搜索 ,在求解存在多个局部最优的复杂优化问
题时比基本 PSO 容易陷入局部极值 ,优化性能也变差 。若 c2 = 0,则微粒之
间没有社会信息共享 ,不能从同伴的飞行经验中吸取有效信息 ,只有认知部
分,所以 c 又称为认知参数 ;此时个体间没有信息互享 ,一个规模为 m 的粒子
群等价于 m 个 1 单个粒子的运行 ,搜索到全局最优解的机率很小 。
PSO 算法中,群体规模对算法的优化性能也影响很大 。一般来说 ,群体规
模越大 ,搜索到全局最优解的可能性也越大 ,优化性能相对也越好 ;但同时算
法消耗的计算量也越大 ,计算性能相对下降 。群体规模越小 ,搜索到全局最优
. 专业学****资料 .
.. . .. . ..
解的可能性就越小 ,但算法消耗的