系列優化算法簡述:
前言:
灰狼優化算法(Grey Wolf Optimizer,GWO)由澳大利亞格里菲斯大學學者 Mirjalili 等人於2014年提出來的一種羣智能優化算法。該算法受到了灰狼捕食獵物活動的啓發而開發的一種優化搜索方法,它具有較強的收斂性能、參數少、易實現等特點。近年來受到了學者的廣泛關注,它己被成功地應用到了車間調度、參數優化、圖像分類等領域中。
算法原理:
灰狼隸屬於羣居生活的犬科動物,且處於食物鏈的頂層。灰狼嚴格遵守着一個社會支配等級關係。如圖:
社會等級第一層:狼羣中的頭狼記爲 , 狼主要負責對捕食、棲息、作息時間等活動作出決策。由於其它的狼需要服從 狼的命令,所以 狼也被稱爲支配狼。另外, 狼不一定是狼羣中最強的狼,但就管理能力方面來說, 狼一定是最好的。
社會等級第二層: 狼,它服從於 狼,並協助 狼作出決策。在 狼去世或衰老後, 狼將成爲 狼的最候選者。雖然 狼服從 狼,但 狼可支配其它社會層級上的狼。
社會等級第三層: 狼,它服從 、 狼,同時支配剩餘層級的狼。 狼一般由幼狼、哨兵狼、狩獵狼、老年狼及護理狼組成。
社會等級第四層: 狼,它通常需要服從其它社會層次上的狼。雖然看上去 狼在狼羣中的作用不大,但是如果沒有 狼的存在,狼羣會出現內部問題如自相殘殺。
GWO 優化過程包含了灰狼的社會等級分層、跟蹤、包圍和攻擊獵物等步驟,其步驟具體情況如下所示。
1)社會等級分層(Social Hierarchy)當設計 GWO 時,首先需構建灰狼社會等級層次模型。計算種羣每個個體的適應度,將狼羣中適應度最好的三匹灰狼依次標記爲 、 、 ,而剩下的灰狼標記爲 。也就是說,灰狼羣體中的社會等級從高往低排列依次爲; 、 、 及 。GWO 的優化過程主要由每代種羣中的最好三個解(即 、 、 )來指導完成。
2)包圍獵物( Encircling Prey )灰狼捜索獵物時會逐漸地接近獵物幷包圍它,該行爲的數學模型如下:
式中:t 爲當前迭代次數:。表示 hadamard 乘積操作;A 和 C 是協同係數向量;Xp 表示獵物的位置向量; X(t) 表示當前灰狼的位置向量;在整個迭代過程中 a 由2 線性降到 0; r1 和 r2 是 [0,1] 中的隨機向量。
3)狩獵( Hunring)
灰狼具有識別潛在獵物(最優解)位置的能力,搜索過程主要靠 、 、 灰狼的指引來完成。但是很多問題的解空間特徵是未知的,灰狼是無法確定獵物(最優解)的精確位置。爲了模擬灰狼(候選解)的搜索行爲,假設 、 、 具有較強識別潛在獵物位置的能力。因此,在每次迭代過程中,保留當前種羣中的最好三隻灰狼( 、 、 ),然後根據它們的位置信息來更新其它搜索代理(包括 )的位置。該行爲的數學模型可表示如下:
式中:、、 分別表示當前種羣中 、 、 的位置向量;X表示灰狼的位置向量;、、 分別表示當前候選灰狼與最優三條狼之間的距離;當|A|>1時,灰狼之間儘量分散在各區域並搜尋獵物。當|A|<1時,灰狼將集中捜索某個或某些區域的獵物。
從圖中可看出,候選解的位置最終落在被 、 、 定義的隨機圓位置內。總的來說, 、 、 需首先預測出獵物(潛
在最優解)的大致位置,然後其它候選狼在當前最優蘭只狼的指引下在獵物附近隨機地更新它們的位置。
4)攻擊獵物(Attacking Prey)構建攻擊獵物模型的過程中,根據2)中的公式,a值的減少會引起 A 的值也隨之波動。換句話說,A 是一個在區間[-2a,2a]上的隨機向量,其中a在迭代過程中呈線性下降。當 A 在[-1,1]區間上時,則捜索代理(Search Agent)的下一時刻位置可以在當前灰狼與獵物之間的任何位置上。
5)尋找獵物(Search for Prey)灰狼主要依賴 、 、 的信息來尋找獵物。它們開始分散地去搜索獵物位置信息,然後集中起來攻擊獵物。對於分散模型的建立,通過|A|>1使其捜索代理遠離獵物,這種搜索方式使 GWO 能進行全局搜索。GWO 算法中的另一個搜索係數是C。從2)中的公式可知,C向量是在區間範圍[0,2]上的隨機值構成的向量,此係數爲獵物提供了隨機權重,以便増加(|C|>1)或減少(|C|<1)。這有助於 GWO 在優化過程中展示出隨機搜索行爲,以避免算法陷入局部最優。值得注意的是,C並不是線性下降的,C在迭代過程中是隨機值,該係數有利於算法跳出局部,特別是算法在迭代的後期顯得尤爲重要。
參考文獻: