next up previous
Next: Bibliography Up: 粒子群最適化(Particle Swarm Optimization) Previous: 定義

アルゴリズム

PSOのアルゴリズムを以下に示す.
  1. エージェントの初期化: 位置 $\mbox{\boldmath$x$}_i$と移動速度 $\mbox{\boldmath$v$}_i$を有するエージェント$i$を生成し,経験した最良位置 $\mbox{\boldmath$x$}_i^*$の初期値を $\mbox{\boldmath$x$}_i$とする. ただし, $\mbox{\boldmath$x$}_i$は上下限制約領域$S$内にランダムに生成する,すなわち,各要素$x_{ik}$を区間$[l_k,u_k]$の一様乱数とする. $\mbox{\boldmath$v$}_i$の各要素$v_{ik}$は,0とする.

  2. 最良エージェントの決定: 最良のエージェント$G$を決定する.

  3. 終了判定:本論文では最大反復回数$T$に達したとき,実行を終了する.

  4. エージェントの更新: 各エージェント$i$について,式(7),(8)により移動速度および位置を更新する. なお,速度が大きくなりすぎないように,各次元の速度を区間 $[-V_{max_j},V_{max_j}]$に入るように調整する. 新しい位置における目的関数値が経験した最良値よりも良ければ,新しい位置を最良位置とする. さらに,新しい位置がグループの最良位置よりも良ければ,その位置をグループ最良位置とする.

  5. 3. へ戻る.

PSO のアルゴリズムを以下にC言語風に記述する.


\begin{example*}{1em}
PSO()
\{
Initialize $Agents(0)$;
Evaluate all $\mbox{\bol...
...$\mbox{\boldmath$x$}_i^*$=$\mbox{\boldmath$x$}_i$;
\}
\}
\}
\}
\end{example*}



takahama 2007-07-13