人工蜂コロニーアルゴリズム(Artificial Bee Colony algorithm:ABC)*1は蜜蜂の採餌行動に基づいた最適化手法の一つです.自然界には採餌を行う蜂として収穫蜂(employed bee),追従蜂(onlooker bee)と偵察蜂(scout bee)が存在すると言われています.ABCではこれらの蜂の行動に基づいた3つのフェーズを条件を満たすまで繰り返すことによって最適化問題を解きます.
ABCでは,収穫蜂の数をとすると追従蜂の数も
であり,巣を構成する蜜蜂の総数(コロニーサイズ)は
であると考えます.解こうとしている問題の候補解(餌場)の数は収穫蜂の数と同数になります.アルゴリズムの枠組みは図1の通りです.
![]() 図1. ABCアルゴリズムの枠組み |
以下,各フェーズについて説明します.
解こうとしている最適化問題の解をベクトルとします.ベクトル
の
番目の成分を
と書きます.
これら3つのフェーズを繰り返すことによって最適化問題を解くことが出来ます.さらに詳しい内容やソースコードのダウンロードはKaraboga等のArtificial Bee Colony (ABC) Algorithm Homepageを参照してください.