由Kennedy 和Eberhart于1995年提出.
群体迭代,粒子在解空间追随最优的粒子进行搜索。
粒子群算法:简单易行,收敛速度,快设置参数少。
粒子群算法的思想源于对鸟群捕食行为的研究。
模拟鸟集群飞行觅食的行为,鸟之间通过集体的协作使群体达到最优目的,是一种基于Swarm Intelligence的优化方法。
粒子群算法的基本思想
设想这样一个场景:一群鸟在随机搜索食物。
在这块区域里只有一块食物;
已知所有的鸟都不知道食物在哪里;
但它们能感受到当前的位置离食物还有多远.
那么:找到食物的最优策略是什么呢?
搜寻目前离食物最近的鸟的周围区域,根据自己飞行的经验判断食物的所在。
PSO正是从这种模型中得到了启发.
PSO的基础:信息的社会共享。
生物学家对鸟(鱼)群捕食的行为研究
社会行为 (Social-Only Model)
个体认知 (Cognition-Only Model)
算法介绍
每个寻优的问题解都被想像成一只鸟,称为“粒子”。所有粒子都在一个D维空间进行搜索。
所有的粒子都由一个 fitness function 确定适应值以判断目前的位置好坏。
每一个粒子必须赋予记忆功能,能记住所搜寻到的最佳位置。
每一个粒子还有一个速度以决定飞行的距离和方向。这个速度根据它本身的飞行经验以及同伴的飞行经验进行动态调整。
D维空间中,有N个粒子:
粒子 i 位置 xi =(xi1, xi2,…,xiD),将x代入适应你数f(xi)求适应值,粒子