• 沒有找到結果。

第三章  研究方法

3.2 改良式粒子群優化演算法

3.2.3 粒子飛離法

粒子群優化演算法的一大特色為擁有很快的收斂速度,能在該更新機制下很 快的引導粒子趨向各自及群體所經歷過最佳解的加權中心位置,但也因為擁有這 樣快速的收斂速度,導致粒子群在收斂過程中容易忽略了一些重要資訊並且喪失 問題解的多樣性。在文獻中也指出,粒子群優化演算法容易因為它的快速收斂,

使得粒子群落入局部最佳解中,並因失去問題解的多樣性而無法跳脫【18】。

在許多關於粒子群優化演算法的文獻中,大部分的學者為了使粒子群能擁有 跳脫局部最佳解的能力,而對標準粒子群優化演算法做了修改。在1.2 節中提過,

學者對於粒子群優化演算法的主要調整方法有二,第一種方法是針對(2-3)式下去 做調整,亦即改變粒子的移動速度,增加一隨機亂數,讓粒子有機率能依靠這項 亂數值來增加問題解的多樣性,使其能跳脫出局部最佳解;另一種方法則是將粒 子群優化演算法結合其他最佳化演算法,截取演算法各自的長處來加以共同利用,

藉此補強粒子群優化演算法的強健性,使其較不容易因陷入局部最佳解中而失去 搜尋能力。

本研究中提出的另一個策略取名為「粒子飛離法」,其主要構想是針對粒子 群於搜尋期間,因為快速收斂而失去了問題解的多樣性,同時也有可能錯過了全 域最佳解而收斂至局部最佳解中。因此為了加強找到全域最佳解的機率,使用粒 子飛離法將靠近收斂中心的粒子隨機拋離有限的距離,使得粒子在收斂中心與指 定的搜尋半徑內均勻分布,藉此可避免粒子群因收斂過快的問題而喪失問題解的 多樣性,導致粒子群困在局部最佳解中。

25

與其他文獻不同的是,其他文獻是針對粒子的速度下去做修正,而粒子飛離 法的主要概念則是針對粒子的位置直接做修正,其示意圖如圖3-7 所示且主要的 步驟如下所示:

1. 設定一個基準空間,即執行粒子飛離法的空間。

粒子飛離法的概念是為了阻止粒子的收斂,亦即為了增加問題解的多樣 性而想出的一種策略。所以假如粒子尚位於離收斂中心很遠的地方,也就是 問題解還具有多樣性時,就對粒子進行該策略,則會因為粒子還具有多樣性 而失去了該策略的意義。因此需要以收斂中心為基準設定一個基準空間,使 粒子飛進這個基準空間後才會有一固定機率啟動這個策略。在本研究中,對 於一個D 維的最佳化問題,其基準空間的設定如下:

, , , , … , , (3-32)

, , 0.1 , , 1,2, … ,

, , , , … , , (3-33)

, , 0.1 , , 1,2, … , 其中:

:基準空間的上限 :基準空間的下限 :搜尋空間上限 :搜尋空間下限

Pg:所有粒子所經歷過的最佳位置向量 k:迭代數

2. 設定一個飛離空間,即粒子飛離時的最大空間。

粒子群在執行粒子飛離法時,是隨機飛到一個有限距離的地方,而這個 有限距離地方的最遠處所包圍起來的空間,即為粒子的飛離空間。

由於希望粒子在搜尋過程中能在不失粒子多樣性的同時,也能集中在較 可能出現全域最佳解的附近做搜尋,因此假如讓粒子一直飛離至完整的解空 間中,雖然能夠增加粒子的多樣性,但卻也會造成粒子的分散而無法集中搜

26

尋可能性較大的區域,導致可能無法找到全域最佳解;又假如讓粒子一直飛 離在一小區域中,則雖然能做集中搜尋,但卻可能會有多樣性不足的問題發 生,因此也失去了粒子飛離法的用意,故需要設定一個適當的粒子飛離空間。

在本研究中,對於一個 D 維的最佳化問題,且每一維搜尋空間的上下限分 別為smax 及 smin,其飛離空間的設定如下:

, , , , … , , (3-34) 其中:

k:迭代數

:搜尋空間上限 :搜尋空間下限

為了達到上述的目的,這個適當的飛離空間在本研究中則設定為一線性 縮小的空間,然而飛離空間如果一直無限制的縮小,到最後粒子一樣會失去 其多樣性,也就失去了使用粒子飛離法的意義,故需設定一個最小的限度來 限制飛離空間的持續縮小,使其不會因飛離空間無限制的縮小而發生上述問 題,因此在本研究中所使用限制條件則設定為當粒子群的迭代數達最大迭代 數的 80%時,飛離空間剛好為最初搜尋空間的 20%。另外由於飛離空間在 縮小的同時也就意味著將捨棄一些搜尋空間,使粒子群能夠更集中的搜尋某 個區塊,因此本人希望在縮小飛離空間前,能有一小段時間進行較完整的全 域搜尋,使其能夠在進行局部搜尋之前,可以充分獲得相關的資訊,提升搜 尋到最佳解的機率,故本研究中則設定粒子飛離法在執行之後,當粒子群的 迭代數達最大迭代數的20%時,才開始執行飛離空間的縮小。其飛離空間縮 小的情形如圖3-8 所示,而縮小的關係式則如下所示:

, , ⁄2

, , ⁄2 (3-35) 0.8 0.6

, , ⁄2

, , ⁄2 (3-36)

27

0.8 0.6 3. 設定一個啟動機率,即粒子於基準空間中執行粒子飛離法的機率。

雖然設定了一基準空間,使得粒子飛進基準空間後才會執行粒子飛離法,

但如果粒子一飛進基準空間後即一定執行粒子飛離法,則粒子會因一直飛離 收斂中心而導致無法收斂,因此也一樣會有找不到全域最佳解的可能性。所 以需設定一個啟動機率,讓粒子於基準空間內,可以以一定的機率來執行粒 子飛離法。由於考慮到粒子的收斂速度很快,因此在本研究中這個啟動機率 設定為0.2,即 20%。

在經過上述粒子飛離法的步驟後,可使原先粒子群因過早收斂而喪失問題解 的多樣性,並失去找到全域最佳解之可能性的問題加以改善。另外,由於粒子飛 離法的加入,使得原先粒子群優化演算法的搜尋特性有了些不同的改變,即由全 域搜尋轉為局部搜尋的特性,改變成由全域搜尋轉為半全域與局部共存的搜尋模 式,藉此加強或改善粒子群的搜尋品質。

相關文件