【概要】
粒子群最適化とは、鳥や魚などの群れに見られる社会的行動のシミュレーションを基にモデル化されたヒューリスティックな最適解探索アルゴリズム。

関数の大域的最小値を検索する粒子群

それぞれの粒子は、グローバルベストとプライベートベストに向かうベクトルの合成方向へ、速度を調整しながら移動する。
粒子群の中ではグローバルベストの情報が共有されていて、その方向に向かいながら、より良い解の探索を繰り返す。
これはあたかも餌を見つけた鳥が仲間にその情報を伝えて、仲間が餌のある位置に集まってくるようである。

グローバルベストとは全ての粒子群で過去の探索も含めて最も適合度が高い位置、パーソナルベストとは特定の1粒子におけるこれまでの探索の中で最も適合度が高い位置を示す。
これらの変数は繰り返しの探索の中で随時更新される。

【参考】
粒子群最適化(Particle Swarm Optimization: PSO)をGoで実装してみた(Fire Engine)
焼きなまし法と粒子群最適化法の探索挙動を可視化してみた(クマガリウムぶろぐ) 
Particle swarm optimization (Wikiwand)