受蜂群採蜜行為呈現出的群體智能的啟發,土耳其學者D.Karaboga等人在2005年提出了一種新穎的全局優化算法——人工蜂群算法(Artificial Bee Colony Algorithm,簡稱ABC),以解決多變量函數優化問題。目前,ABC算法已在函數優化、神經網絡訓練以及控制工程等領域得到許多成功應用。
下圖給出蜂群算法基本模型包含的三個組成要素:食物源、僱傭蜂(employed foragers)和非僱傭蜂(unemployed foragers)。
蜂群算法基本模型組成要素
食物源的位置即待優化問題的解,其質量由離蜂巢的遠近、花蜜的豐富程度和獲得花蜜的難易程度等多方面的因素決定。蜂群算法使用食物源的「收益率」(profitability)這個參數來代表影響食物源質量的各個因素。質量高的食物源將招募到更多的蜜蜂來採蜜。
被僱傭的蜜蜂是已經找到食物源的蜜蜂,又稱為引領蜂(Leader),每個引領蜂對應一個特定的食物源。引領蜂中儲存了某個食物源的相關信息,如相對於蜂巢的距離、方向、食物源的豐富程度等,並將這些信息以一定的概率與其它蜜蜂分享。
非僱傭的蜜蜂是沒有發現食物源的蜜蜂,又分為偵查蜂(Scouter)和跟隨蜂(Onlooker )。偵察蜂的任務是搜索蜂巢附近的新食物源;跟隨蜂的任務是在蜂巢中觀察引領蜂的舞蹈提供的信息,並根據這些信息選擇合適的食物源。