粒子群算法(Particle Swarm Optimization,PSO),属于进化算法的一种,该算法最初是受到飞鸟集群活动的规律性启发,进而利用群体智能建立的一个简化模型。粒子群算法在对动物集群活动行为观察基础上,利用群体中的个体对信息的共享使整个群体的运动在问题求解空间中产生从无序到有序的演化过程,从而获得最优解。
![c198e12922af6b49ee6595f3910a90db.png](https://i-blog.csdnimg.cn/blog_migrate/083179308a4343a3df72f64b60174fa3.jpeg)
算法原理
PSO中,每个优化问题的潜在解都是搜索空间中的一只鸟,称之为粒子。所有的粒子都有一个由被优化的函数决定它的适值,每个粒子还有一个速度决定它们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。
![a9a678380ea4b4196f5ff255744be46e.png](https://i-blog.csdnimg.cn/blog_migrate/66559d83357d738afc34cfc8a76c00b0.jpeg)
PSO初始化为一群随机粒子,然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个极值来更新自己。第一个就是粒子本身所找到的最优解,这个解称为个体极值;另一个极值是整个种群目前找到的最优解,这个极值是全局极值。