PSOの基本

PSOの基本

執筆済 最適化PSO

手順#

  1. 粒子の位置を探索範囲に無作為に配置し、速度も無作為に初期化する
  2. 各粒子で目的関数を評価する
  3. 自分の最良 pipBest)と 群れの最良 g(gBest)を更新する
  4. 速度と位置を更新する
  5. 2〜4 を繰り返す

粒子が持つもの#

記号 中身
xi 現在の位置。解の候補そのもの
vi 速度。次にどちらへどれだけ動くか
pi その粒子がこれまでに見つけた最良の位置

速度を持つことが PSO の特徴。局所探索は 現在地からの移動しか考えないが、PSO は慣性があるので 一度良い方向に乗ると通り過ぎる。この行き過ぎが探索の役に立つ場面と、 収束を妨げる場面の両方がある。

パラメータ#

記号 名前 典型値
w 慣性重み 0.7 前後、あるいは 0.9 → 0.4 と減らす
c1 自分の最良への引力 1.5〜2.0
c2 群れの最良への引力 1.5〜2.0

c1 が大きいと各粒子が自分の経験に固執し(探索寄り)、 c2 が大きいと全員が同じ場所へ集まる(活用寄り)。

参考文献#

ノート一覧を閉じる