粒子群最適化
各粒子について x {\displaystyle x} と v {\displaystyle v} をランダムに初期化。値の範囲は問題の設定に依存する。
x ^ {\displaystyle {\hat {x}}} を現在位置に初期化。
x ^ g {\displaystyle {\hat {x}}_{g}} を群全体で最も良い適応度を持つ粒子の位置に初期化。
x ^ g {\displaystyle {\hat {x}}_{g}} での適応度がしきい値より小さく、かつループ回数が事前に設定した回数に達していないうちは、以下を繰り返し実行する。 各粒子について、以下を実行する。 上述の式に従って x {\displaystyle x} を更新する。 新たな位置での適応度を計算する。 x ^ {\displaystyle {\hat {x}}} での適応度よりも良い値が得られたら、 x ^ {\displaystyle {\hat {x}}} を置き換える。 x ^ g {\displaystyle {\hat {x}}_{g}} での適応度よりも良い値が得られたら、 x ^ g {\displaystyle {\hat {x}}_{g}} を置き換える。 上述の式に従って v {\displaystyle v} を更新する。