ABCの基本

ABCの基本

執筆済 最適化ABC

近傍生成#

ABC で新しい候補を作る式はこれひとつ。

vij=xij+ϕij(xijxkj)
  • i … いま担当している蜜源
  • k … 無作為に選んだ別の蜜源(ki
  • j … 無作為に選んだ1 つの成分
  • ϕij[1,1] の一様乱数

2 つの設計判断#

1 成分しか変えない。 残りの成分は xi のまま。 1 回の試行で変わるのは 1 次元だけになる。

差分を使う。 xijxkj差分進化と同じ発想で、 集団が広く散っていれば大きく動き、収束すれば自然に小さく動く。 ステップサイズを別に管理しなくてよい。

この「1 成分だけ」が ABC の性格を決めている。 探索は慎重になり局所解に落ちにくい一方、 次元が上がるほど収束が遅くなるn 次元なら 全成分を一巡するのに最低 n 回の試行が要る。

貪欲な選択#

作った vi と元の xi を比べ、良い方だけを残す。 悪化は決して受け入れない。 焼きなまし法と対照的で、 ABC が局所解から抜け出す役目は Scout Bee に分離されている。

適応度#

最小化問題では、目的関数値をそのまま確率に使えないので変換する。

fiti={11+fifi01+|fi|fi<0

これをOnlooker Bee の選択確率に使う。

参考文献#

ノート一覧を閉じる