第二章 文獻探討
2.1 人工蜂群演算法
2.1.1 簡介
人工蜂群演算法(Artificial Bee Colony algorithm)在 2005 被 Karaboga 所提 出,用於解決最佳化問題。經由探討蜜蜂的智慧覓食行為特性、蜜蜂的自我組織 及分工觀念,以達到智慧蜂群最佳效用。該演算法之特性為運用少量的參數且流 程架構簡單,運行速度較快,但仍有陷入區域解及晚期收斂速度緩慢之問題。
該演算法是參考Seeley(1995)提出蜜蜂的自我組織模型以蜜蜂覓食過程區分 為雇用蜂(Employed bee)、觀察蜂(Onlooker bee)及偵查蜂(Scout bee)三種。
其中,雇用蜂會去尋找食物源且將所得到的訊息傳遞給巢穴內的觀察蜂,讓蜂巢 等待的觀察蜂前往協尋並開採,食物源經過不斷的開採後可能會出現兩種情形,
第一種情形為食物源的花蜜量足夠供應蜂群繼續原採集;第二種則情形則是食物 源經過不斷地採集進而導致食物源的花蜜量減少甚至不足以開採時,當花蜜量減 少或開採量不足時,偵查蜂將會去找尋下一個食物源進行開採,此為蜂群的覓食 行為,如圖(2-1)所示。
4
圖 2-1 蜂群覓食行為(Karaboga,2005)
5
2.1.2 流程架構
Karaboga(2005)依據蜂群的覓食行為定義出人工蜂群演算法流程架構,定義 操作流程如下:
(1) 首先,初始化參數設定及雇用蜂的位置,且每一隻雇用蜂的初始位置皆代表 每一個食物源開採的位置。
(2) 依據雇用蜂開採之食物源位置進行食物收益度(適應值)評估。
(3) 每一隻雇用蜂依據移動公式至鄰近食物源進行搜尋,並評估該食物源收益度 (適應值),如果新的食物源收益度(適應值)較佳則前往開採,否則停留在原 地且LIMIT 門檻值加 1。
(4) 雇用蜂開採過程會以舞蹈的方式將訊息傳遞給在蜂巢等待的觀察蜂,此時觀 察蜂透過輪盤法挑選出機率較好之食物源前往搜尋,並評估該食物源收益度 (適應值),如果新的食物源收益度(適應值)較佳則前往開採,否則停留在原 地且LIMIT 門檻值加 1。
(5) 當食物源收益度一直處於未改善之狀況,此時蜜蜂將會轉換成偵查蜂移動到 新的食物源進行開採,且LIMIT 門檻歸 0。
(6) 記錄當前最好的食物源收益度(適應值),並檢視是否符合終止條件,如果達 到迭代次數則結束,否則回到(3)重複執行,直到符合終止條件。
6
以下為人工蜂群演算法之流程圖,如圖(2-2)。
圖 2-2 人工蜂群流程架構圖
7
8
雇用蜂每次採集完後會將食物源資訊傳遞給在觀察蜂,觀察蜂依據所接受到 的資訊以輪盤式選擇法公式(2-3),決定欲前往協助搜尋之食物源,移動公式(2-2)。
𝑃𝑖 = ∑ 𝑓𝑖𝑡𝑖
𝑠𝑛 𝑓𝑖𝑡𝑛
𝑛=1 (2-3)
當食物源收益度效果不佳時,偵查蜂會在解空間中隨機尋找新的食物源,每 次移動時不一定會得到正向回饋,也有可能找到比原來的食物源更差的新食物源
,但對於蜂群陷入局部區域解時,有極大的幫助使蜜蜂跳出區域解情行,綜合上 述可以發現偵查蜂的特性偏向全域開發,幫助平衡蜜蜂的穩定狀態(Karaboga, 2005)。偵查蜂移動公式(2-1)。
9
2.1.3 人工蜂群演算法相關文獻
人工蜂群演算法至今已有十餘年左右,而該演算之研究可分為兩種類型,分 別為應用及改良,就國內外學者針對原始人工蜂群演算法的搜尋能力進行改良之 研究,如 Karaboga 及 Basturk(2006;2007)針對人工蜂群演算法的參數進行測試 比較,發現當蜂群數量(SN)、食物源收益度(LIMTI)及最大迭代次數(MCN),發現 同樣維度不同迭代時對人工蜂群之求解能力有影響。此外學者也針對蜂群數量之 設定值進行比較,發現蜂群數量設定值較小時求解能力較差,但介於 50-100 卻 有助於提高蜂群的收尋能力,而 LIMIT 值設定較小或無偵查蜂時效果較差,而 當 LIMIT 參數值設定於族群數量×問題解維度(SN×D)或二分之一族群數量×問 題解維度(0.5×SN×D)時,可以得到相對較好得最佳解(Karaboga and Basturk, 2008
;2009)。暴勵與曾建潮(2010)以動態調整搜索空間改良人工蜂群演算法,逐步縮 小搜索區域,並利用混沌變量跳脫局部最佳解。王慧颖、刘建军、王全洲(2012) 運用變化學習因子,保持全局搜索和局部搜索的平衡改進人工蜂群演算法在函數 優化問題中應用。胡珂、李迅波、王振林(2011)利用數學式子的外推技巧定義出 新的位置更新公式,有助於減緩蜂群掉入區域解之情況。Zhu 與 Kwong 提出 Gbest-guided Artificial Bee Colony algorithm(GABC),其基本架構與原始的人工 蜂群演算法相似,針對原始移動公式(2-2)進行修正,增加當前找到之最佳解𝑌𝑗作 為引導,如公式(2-4),引導雇用蜂及觀察蜂往該方向移動搜尋,此方法簡單但效 果顯著(Zhuand and Kwong, 2010)。
𝑣𝑖𝑗 = 𝑥𝑖𝑗+ 𝑟𝑎𝑛𝑑(−1,1) × (𝑥𝑖𝑗−𝑥𝑘𝑗) + 𝑟𝑎𝑛𝑑(0,1.5) × (𝑦𝑗−𝑥𝑖𝑗) (2-4)
𝑥𝑖,𝑗:第i 隻雇用蜂第 j 維度的原始位置
𝑣𝑖,𝑗:第i 隻雇用蜂第 j 維度的移動後的新位置 𝑦𝑗;第j 維度的當前最佳解
10
模糊理論(Fuzzy Theory)以 L.A. Zadeh 教授提出模糊集合為基礎,其定義模 糊集合用以強調連續性級別元素,以彌補傳統非0 即 1 的二元邏輯缺點,改以 0 到1 之間的任何數值表示(L.A. Zadeh,1965)。1973 年 Zadeh 提出模糊邏輯(Fuzzy Logic)強調真假之間仍存在著模糊地帶,其可能為真亦可能為假,此邏輯推理有 於某個集合,右圖為模糊集合,其擁有一個歸屬函數(Membership Function),經 歸屬函數值可表示某一個元素對集合的歸屬程度(Degree Of Membership)。