PSO初始化为一群随机粒子(随机解)。然后通过迭代找到最优解。在每一次的迭代中,粒子通过跟踪两个“极值”来更新自己。i 表示第 i 个粒子, d 表示粒子的第 d 个维度。r1, r2 表示两个位于 [0, 1] 的随机数。pbest[i] 是指粒子取得最高(低)适应度时的位置,gbest[i] 指的是整个系统取得最高(低)适应度时的位置。我们用 PSO 算法求解如下函数的最小值可以在空间画出图像下图是使用 5 个粒子的收敛情况可以看到,fitness 在第 12 轮就几乎收敛到 -10.0。

python实现粒子群算法

python实现粒子群算法

python实现粒子群算法

python实现粒子群算法