• 沒有找到結果。

第二章  文獻回顧

2.1 粒子群優化演算法

粒 子 群 優 化 演 算 法(Particle Swarm Optimization, PSO)是由 Eberhart 和 Kennedy【13、14】於 1995 年所提出的一種具有群體智慧概念的仿生演算法。

粒子群優化演算法的起源為Eberhart 和 Kennedy 兩位學者經由觀察鳥類的覓食行 為得到啟發,進而將其模擬成一最佳化演算法,藉由個體與個體間一些互動的規 則,從而產生出特殊的群體行為,來達到最佳化的目標。

粒子群優化演算法的主要概念為假設有一鳥群於存在食物的空間中隨機飛 行覓食,一開始並不知道最佳的覓食地點在哪個位置,所以每隻鳥兒則憑藉著各 自以往的經驗或直覺,飛往他們覺得較佳的地點進行覓食,而當某些鳥兒發現了 更好的覓食地點而前去覓食時,其他的鳥兒則會像接收到信息般一同飛往更好的 覓食地點進行覓食【15】。

在粒子群優化演算法的模擬理論中,將「粒子(particle)」模擬成解空間中的 一隻鳥,每個粒子所在的位置,都是最佳化問題的一個解,每個解都可對應一個 答案,稱之為「目標函數值(objective function value)」或「適應值(fitness value)」

【1、16】。每個粒子都擁有其各自的速度,利用本身以往的速度、各自經歷過的 最佳解(稱做 pbest)及群體經歷過的最佳解(稱做 gbest)來做為更新的依據,依此決 定粒子的移動方向及移動距離,來調整粒子當前的位置,並依靠各粒子所在位置 的適應值來判別目前找到解的好壞,利用這樣的機制在解空間中做反覆的迭代搜 尋,以找到最佳化後的解答。【4、17】假設有一 N 維(N 個變數)的最佳化問題,

則粒子群優化演算法中速度及位置的更新法則如(2-1)及(2-2)式所示。

(2-1) (2-2) 其中:

:第 i 個粒子的速度向量(註: 中每個元素都有上界) :第i 個粒子的位置向量

7

:第 i 個粒子所經歷過的最佳位置向量 :所有粒子經歷過的最佳位置向量 :迭代數

、 :學習因子

、 :為[0, 1]之間的隨機均勻亂數

其中學習因子 及 則分別代表將粒子推向各自及群體所經歷過最佳解的 權重。其值較低時,即允許粒子在到達各自或群體所經歷過的最佳解之前,可在 目標區域外做較多次的徘徊搜尋,增加搜尋到全域最佳解的機率,但需花費較多 的運算及時間成本;其值較高時,即允許粒子以較快的速度前往各自或群體所經 歷過的最佳解,可節省一些不必要的運算及時間以提高收斂速度,但卻容易因此 導致粒子突然衝過全域最佳解而發生找不到的狀況。而許多文獻【6、13】中則 建議將 及 的值取為2,故本研究中即沿用該數值。

對於(2-1)式可分成三個部分來解讀,第一部分為粒子先前的慣性,即自身先 前的速度;第二部分為「認知(cognition)」部分,表示粒子本身的思考;第三部 分為「社會(social)」部分,表示粒子間的訊息共享及相互合作。【1、18】故粒子 群優化演算法的核心即是利用這三部分加以線性組合來更新粒子速度及位置,並 算出適應值以完成問題的最佳化。其粒子的速度及位置更新示意圖如圖2-1 所示。

自從粒子群優化演算法被提出後,就因為該演算法只有少數的參數需要做調整,

且粒子的收斂速度很快,因而吸引了許多學者的關注。這些學者針對該演算法做 了一些相關的測試,也從粒子群的收斂特性中發現了一些問題,所以學者們做了 些相關的研究,希望能藉由對粒子群優化演算法加以改良,進而提升求解的速度 及解的品質。學者們也因此而陸續找出了一些改善的方法,改善的方法大致上可 分成兩個類別,一是藉由增加參數來修改標準粒子群優化演算法的更新機制,使 其擁有更完善的搜尋能力;另一則是將粒子群優化演算法與其他最佳化演算法一 同使用,配合著最佳化演算法各自的優點相輔相成,藉此來找到全域最佳解。

2.1.2 慣性權重(Inertia Weight)

Shi 等人【5】於 1998 年提到,將粒子群優化演算法在更新粒子速度時所使 用到的(2-1)式分成三部分來看,則第一部分為粒子本身先前的速度,即本身以往

8

的記憶。其功用就在於開發搜尋空間,也就是擴展粒子的搜尋空間,藉此增加粒 子搜尋到全域最佳解的機率。若沒有此項,則粒子群會因此而無法記憶先前的速 度,只能靠著自身所經歷過的最佳位置及所有粒子所經歷過的最佳位置來做移動 與搜尋,使得粒子會很快的往這兩個位置的加權中心來做收斂,而落在加權中心 上的粒子,則會因速度變為零而停止搜尋的動作,這使得該粒子群優化演算法變 的像是一種局部搜尋的演算法,故(2-1)式中第一部分的加入,使得粒子群優化演 算法能擁有全域搜尋之能力,讓演算法成為一種全域搜尋之演算法。在解最佳化 問題過程中,很難肯定的說局部搜尋演算法或全域搜尋演算法哪個比較好,只能 說該最佳化問題比較適合用這兩種演算法中的哪一個,也就是說在眾多的最佳化 問題中,兩種演算法各有各適合使用的地方。因此 Shi 等人【5】提出了一個稱 做慣性權重(Inertia Weight)的想法,在加入慣性權重w後,粒子群優化演算法中 的速度更新公式則由(2-1)式修正為如下所示:

(2-3) 其中:

w:慣性權重

慣性權重來自於速度遞減的觀念,當慣性權重較大時,粒子第k+1 代的速度 會較接近第k 代的速度,因此粒子的搜尋方向較為穩定,而搜尋過程中則變成較 注重於全域搜尋,但也因粒子本身具有較高的自由搜尋能力,使粒子群能擁有較 高的多樣性。不過當慣性權重過大時,則會容易造成粒子群散佈在搜尋空間中,

導致粒子群無法收斂至最佳解;反之若慣性權重較小時,粒子第k+1 代的速度則 會由三個部分來共同影響,因而造成粒子在搜尋過程中的速度方向較不穩定,此 時粒子所搜尋到的解則有可能因多樣性不足而無法保證該解為問題之最佳解【19、

20】。

因此使用慣性權重的最大問題就是在於如何定出一個較為合理的數值,使粒 子能夠在全域搜尋與局部搜尋中取得一個較佳的平衡。因此Shi 等人【21】於 1998 年提出常數式的慣性權重之後,於同年亦接著提出線性遞減式的慣性權重,其主 要概念為在搜尋前期時給予較大的慣性權重,讓粒子能擁有較大的速度以進行全 域搜尋,其後隨著代數增加而使慣性權重遞減,使其慢慢的降低粒子速度,讓粒

9

子從全域搜尋漸漸的轉為局部搜尋,藉此達到收斂的效果。故慣性權重可以為一 大於零的常數,也可以為一對於時間之正線性或非線性函數,藉由慣性權重的加 入來改變粒子本身的移動速度,使粒子能在全域搜尋及局部搜尋兩者間,取得一 個較佳的平衡點,使能更有效的找到全域最佳解。而此後的相關研究,則將加入 慣性權重後的粒子群優化演算法視為標準粒子群優化演算法來做為研究並加以 比較。

2.1.3 壓縮因子(Constriction factor)

Clerc【22】於1999年時,針對粒子群優化演算法的收斂情形,提出了一個 稱做壓縮因子(Constriction factor)的想法,此種含壓縮因子的粒子群優化演算法 稱為CPSO(Constriction Particle Swarm Optimization)。為了增加粒子群的局部搜尋 能力,藉由使用壓縮因子來縮短各粒子的移動速度,並藉此控制粒子的位置,使 粒子在整個搜尋過程中,能夠加強並改善粒子的局部搜尋能力。在使用壓縮因子 後一開始的研究及應用中,粒子的最大速度被認為是不重要的,因此不需要特別 的選擇並設定它,但Eberhart等人【23】在後續的研究及應用中,證實了如果在 使用壓縮因子的情況下想要有更好的最佳解,就必須限制粒子的最大速度,而依 靠經驗法則所得到的最佳情況即為粒子的最大速度剛好為粒子的最大搜尋空間。

另外Eberhart等人【23】亦表示了使用慣性權重的粒子群優化演算法,只要將一 些參數做適當的調整,則該速度的更新公式即與使用壓縮因子之粒子群優化演算 法的速度更新公式相同,也就是說此種使用壓縮因子的方法,是為慣性權重方法 下的一種特例。

2.1.4 被動聚集因子(Passive congregation)

He 等人【9】於 2004 年藉由一些有關群體動物行為的文獻【24】中發現,

群體動物中的成員可以經由鄰近的成員來得到一些必要或重要的訊息,進而產生 一些對應的行為,不一定需藉由直接接收到某訊息後才會產生相對應的反應,也 就是說群體內的每一個個體,對於群體內的其他個體皆含有隱藏性的資訊或訊息,

可以幫助每一個個體判斷或進行某些行為,因此 He 等人【9】則藉由此種現象 並基於標準粒子群優化演算法下,提出了被動聚集因子(passive congregation)的構

10

想 , 此 種 含 被 動 聚 集 因 子 的 粒 子 群 優 化 演 算 法 稱 為 PSOPC(Particle Swarm Optimization with Passive Congregation)。在加入被動聚集因子後,標準粒子群優 化演算法中的速度更新公式則由(2-3)式修正為如下所示:

(2-4) 其中:

Ri:粒子群中隨機選擇的一個粒子 :被動聚集因子係數

:為[0,1]之間的隨機均勻亂數

被動聚集因子的概念來自於群體動物的行為而得,He 等人【9】藉由此種行 為,於標準粒子群優化演算法的速度更新公式中增加了一個被動聚集的部分。這 個部分代表了粒子群中任一粒子對其他粒子的影響。讓粒子速度的更新機制由原 先的三個部分修正為如(2-4)式所示,由四個部分來共同影響,其粒子的速度更新 示意圖如圖2-2 所示。後來的許多學者在相關的研究中也都會將含被動聚集因子 的粒子群優化演算法與學者們各自所提出的改良式粒子群優化演算法一同做比 較及討論。

2.1.5 粒子群蟻群優化演算法

2.1.5 粒子群蟻群優化演算法

相關文件