• 沒有找到結果。

粒子群最佳化(P ARTICLE SWARM O PTIMIZATION , PSO)

第二章 文獻回顧

2.4 粒子群最佳化(P ARTICLE SWARM O PTIMIZATION , PSO)

粒子群最佳化由 Eberhart and Kennedy[6]提出,主要概念是源自於對動物 群體行為之研究,以下針對粒子群最佳化的發展背景、運作法及相關發展應用來 加以介紹說明:

2.4.1 粒子群最佳化之發展背景

在自然界中,許多生物的生活行為都會呈現群體的活動,因此在 90 年代時,

有一股利用自然界生物的群體行為去做最佳化研究的潮流。例如 Dorigo[6]提出 螞蟻演算法(Ant Colony Optimization, ACO),在螞蟻演算法中每隻螞蟻皆會在 其移動的路徑上留下費洛蒙,以供其他螞蟻藉著費洛蒙的濃度來判別哪一條路徑 是離食物(目標值)最近的。

粒子群最佳化亦是由生物之群體活動所觀察而來的,其具有兩個主要的基本 概念,其一概念是藉由觀察人類的決策過程(Boyd and Richerson,1985)[6],提 出人類會使用兩個重要的資訊來做決策:一個是人們自己所擁有的經驗,根據自 己的經驗去選擇哪個決策是目前為止較好的;另一個則是根據其他人所擁有的經 驗來選擇到目前為止最好的決策,也就是每個個體在做決策時都會依照自己的經 驗和其他人的經驗來決定。另一概念即是對自然界生物的群體行為提出一些簡單 的法則來將其模組化,如水中的魚群和空中的鳥群等都可以使用這些模式來模組 化。基於上述的兩個基本概念,Eberhart and Kennedy[6]提出粒子群體最佳化 之概念。

2.4.2 粒子群最佳化演算法之說明

粒子群最佳化主要是基於模擬鳥群的行為所構想出來的,想像一群鳥隨機 在某一區域內搜尋食物,而此一區域只有一個地方有食物,不過所有的鳥都不知 道食物的確切位置,只知道目前距離食物還有多遠,此時最有效的辦法即是搜尋 目前距離食物最近的鳥之鄰近區域。

因此在粒子群最佳化中,搜尋空間中的每一隻鳥都代表著一組解,在此稱這 些鳥為「粒子」,每一個粒子的位置都以 表示,其中 i 代表第 i 個粒子,h 則代

12

表該粒子第h 個維度,每個粒子對於每個維度的飛行速度則以 (第 i 個粒子之 第h 個維度之速度)來表示。另外所有的粒子都會有一個對於問題的適應值 (fitness value),每個粒子皆會知道自己目前的最佳適應值和最佳的位置,稱之為 每個粒子目前各自最佳值(Particle best value; ),簡稱個體最佳值,這些資訊就 像是每個粒子自己所擁有的經驗一樣。同時每個粒子也會知道在群體中到目前為 止的最佳值與最佳的位置,稱之為群體最佳值(Global best value; ),這類資訊 就像是其他粒子所擁有之經驗一樣。

每一階段的粒子皆是透過個體經驗與群體經驗之修正導引,使初始隨機散布 於可行解區域的粒子能在運算過程中逐漸接近整體最佳目標值的粒子附近,形成 粒子群在此一區域進行搜尋,並透過群體最佳值之效用而逐漸逼近最佳值。

粒子群最佳化之演算流程如圖 2-2 所示,Eberhart and Kennedy[6]針對流程 中之更新步驟提出每一階段之粒子的位置與速度更新法則,如下所示,粒子第 次運算階段之速度會依據各粒子目前第 次運算階段之速度、與個體最佳 解之距離及與群體最佳解之距離來更新,再依據更新之速度調整目前粒子之位置,

更新每個粒子的搜尋方向與距離。

(

其中,i:第 i 個粒子。

h:第 h 個維度。

:第 次運算階段

:第 i 個粒子的個體最佳解內,粒子在第 h 個維度的位置。

:在群體最佳解內,粒子在第 h 個維度的位置。

:第 次的運算階段時,第 i 個粒子在第 h 個 維度的速度。

:第 次運算階段時,第 i 個粒子在第 h 個 維度的位置。

:第 次運算階段之第 i 個粒子在第 h 個維度的速度。

:第 次運算階段之第 i 個粒子在第 h 個維度的位置。

、 :學習因子。

u:介於 0 與 1 之間的隨機亂數。

13

設定參數

針對每一個粒子隨機產生 初始位置和初始速度

估計每一個粒子的適應值

更新目前粒子最佳值與群體 最佳值

更新每一個粒子目前的速度 與位置

是否達到最大搜尋次數 開始

結束 是

圖 2-2 粒子群最佳化之演算流程

對於粒子的位置與速度更新法則,Shi and kennedy[31]提出慣性權重法 (Inertia Weight Method),將慣性權重值(W)引入基本的更新法則內,藉由這個慣 性權重值使粒子群在大範圍的搜尋之後,能降低粒子的速度,迫使粒子進入一個 較好的區域搜尋,期望以更有效率的方法找到更好的可行解。除了慣性權重法,

Shi and kennedy[31]亦提出最大速度法(max V Method)以及收縮係數法 (Constriction Factor Method)等,如下所示。

14

(1)慣性權重法:

(

其中,W:慣性權重值,一般為 0.9-0.4 之間。

Shi and Eberhart[31]認為慣性權重值可配合總運算次數(iterations)來調整,如 下所示:

其中, :第 階段之慣性權重值。

T:總運算次數。

(2)最大速度法:設一可忍受之最大速度 與最小速度(- ,在不超過這 個速度範圍內進行速度之更新。

(

If > = Else iF < - = - 其中, :設定的最大速度。

(3)收縮係數法:每次之更新幅度隨著迭代數的增加而逐漸減少。

K

粒子之速度更新法則是粒子群最佳化的概念之一,因此相關研究不間斷,

Pongchairerks and Kachitvichyanukul[31]提出更新法則中的速度除了會受到個體 最佳值與群體最佳值的影響外,亦會受到區域最佳值(Local best value; )與鄰近 最佳值(Near neighbor value; )的影響,此粒子群最佳化簡稱為GLNPSO。區域 最佳值乃是每個個體最佳值與其鄰近之個體最佳值中,擁有最佳適應值之粒子;

而鄰近最佳值是指該階段的某粒子與其他粒子間擁有最大的FDR(fitness-distance ratio)者稱之。根據上述,更新法則修正成如下所示,多了

,在更新速度上較先前為精準,根據文獻 指出,該更新法則之求解績效較優。

15

(

其中, 、 :學習因子。

:第i 個粒子的區域最佳解內,粒子在第 h 個維度的位置。

:第i 個粒子的鄰近最佳解內,粒子在第 h 個維度的位置。

雖然粒子之速度與位置更新法則不斷提出,但大部份之文獻在使用粒子群最 佳化時是以慣性權重法為更新法則[3][24][27][28][31][36],因此本研究亦是 使用慣性權重法為更新法則,並比較僅考慮個體最佳值與群體最佳值之一般 PSO 和加入考慮鄰近最佳值與區域最佳值之 GLNPSO 之求解績效。

相關文件