粒子群算法 系统辨识理论及Matlab仿真课件
- 格式:ppt
- 大小:227.00 KB
- 文档页数:28
基本粒子群算法的原理和matlab 程序作者—— niewei120 (nuaa)一、粒子群算法的基本原理粒子群优化算法源自对鸟群捕食行为的研究,最初由Kennedy 和 Eberhart 提出,是一种通用的启发式搜索技术。
一群鸟在区域中随机搜索食物,所有鸟知道自己当前位置离食物多远,那么搜索的最简单有效的策略就是搜寻目前离食物最近的鸟的周围区域。
PSO 算法利用这种模型得到启示并应用于解决优化问题。
PSO 算法中,每个优化问题的解都是粒子在搜索空间中的位置,所有的粒子都有一个被优化的目标函数所决定的适应值,粒子还有一个速度值决定它们飞翔的方向和距离,然后粒子群就追随当前的最优粒子在解空间中搜索。
PSO 算法首先在给定的解空间中随机初始化粒子群,待优化问题的变量数决定了解空间的维数。
每个粒子有了初始位置与初始速度。
然后通过迭代寻优。
在每一次迭代中,每个粒子通过跟踪两个“极值”来更新自己在解空间中的空间位置与飞翔速度。
第一个极值就是单个粒子本身在迭代过程中找到的最优解粒子,这个粒子叫做个体极值。
另一个极值是种群所有粒子在迭代过程中所找到的最优解粒子,这个粒子是全局极值。
上述的方法叫全局粒子群算法。
如果不用种群所有粒子而只用其中一部分作为该粒子的邻居粒子,那么在所有邻居粒子中的极值就是局部极值,该方法称为局部PSO 算法。
速度、位置的更新方程表示为:每个粒子自身搜索到的历史最优值p i,p i=(p i1 ,p i2 ,....,p iQ ), i=1,2,3,....,n 。
所有粒子搜索到的最优值p g, p g=(p g1 ,p g2,....,p gQ ),注意这里的p g只有一个。
是保持原来速度的系数,所以叫做惯性权重。
是粒子跟踪自己历史最优值的权重系数,它表示粒子自身的认识,所以叫“认知”。
通常设置为 2 。
是粒子跟踪群体最优值的权重系数,它表示粒子对整个群体知识的认识,所以叫做“社会知识”,经常叫做“社会”。