第二章 文獻探討
2.2 族群式搜尋法
在族群式搜尋法方面也有許多合併式演算法。Ishibuchi 和 Murata [25] 首次將
混合基因演算法(hybrid genetic algorithm)使用於解決多目標最佳化問題。他們
將variable weights(VW)方法 [26] 用於提出的 multi-objective genetic local search
(IM-MOGLS)演算法中:隨機生成一組權重,用於親代選擇中,並透過此權重
控制子代(offspring)的區域搜尋方向。除此之外,在基因搜尋(genetic search)
過程中也將非凌越解集合的一部分最佳解放回族群中,作為保留精英的策略。
Ishibuchi 等人 [27] 驗證基因搜尋與區域搜尋之間平衡的重要性;除此之外,將
IM-MOGLS 演算法改良,在區域搜尋階段挑選出較佳的解,並只針對這些解進行
區域搜尋,同時使用機率對搜尋進行控制,以減少區域搜尋的運算負擔。
Chang 等人 [28] 提出 gradual-priority weighting(GPW)方法,其特色為在目
標空間中均勻地生成許多權重,即在搜尋過程中,族群朝著同一個搜尋方向前進,
而此方向在每一代(generation)皆不同,藉此讓搜尋剛開始朝向某個目標,而逐
漸轉為向另一個目標靠近。除此之外,將 GPW 方法套用至混合基因演算法中,
11
提出 GPWGA 演算法並與 VW 方法比較;實驗結果顯示,平均而言 GPWGA 演
算法可在較短的運算時間內找到較多非凌越解。
Chang 等人 [29] 結合 SPGA 演算法 [30] 與 mining gene structure(MGS),
提出 MGSPGA 演算法。在 MGSPGA 演算法中,將族群切割成數個子族群
(sub-population),該子族群透過分享相同的權重而有相同的搜尋方向,而最後
數個子族群會重新結合為一個新的族群;除此之外,藉由加入由 MGS 產生的人
工染色體(artificial chromosome)加速族群的收斂。
Rajendran 和 Ziegler [31] 將蟻群最佳化演算法(ant colony optimization
algorithm)用於求解多目標定序流線型工廠排程問題,使用 20 種根據不同參數與
JIBIS、JIBSS 兩種改善機制組合而成的 MOACA 演算法求得一條柏拉圖前緣。其
特 色 為 在 目 標 空 間 中 設 置 多 組 搜 尋 方 向 , 針 對 每 個 方 向 不 斷 更 新 費 洛 蒙
(pheromone),並由費洛蒙訊息建構出新的解。
Chang 等人 [32] 將 MOEA/D 演算法用於解決 MOPFSP,為了得到較佳的結
果,在兩個目標的定序流線型工廠排程問題中,其分解方法採用線性加權法將原
本問題切割為許多子問題;同時,為了維持多樣性,在搜尋過程中的最多只能取
代一個鄰近解。Alhindi 和 Zhang [33] 將 MOEA/D 演算法與禁忌搜尋方法結合,
提出 MOEA/D-TS 演算法。其特色為利用 Jin 等人 [34] 提出的兩種區塊特性
(block property)結合禁忌搜尋以避免子問題陷入區域最佳解。
12
2.2.2 柏拉圖凌越式演算法
Arroyo 和 Armentano [35] 提出 MOGLS 演算法,記作 A-MOGLS。其特色是
利用 NSGA-II 演算法中的非凌越排序(non-dominated sorting)與密集度距離
(crowding distance)計算族群中所有個體的適應值(fitness values),以便在親代
選擇中使用輪盤法(roulette wheel method);除此之外,使用 IM-MOGLS 演算法
中的保留精英策略,在基因搜尋中把一部分精英放入族群中;同時,每經過固定
代數,將子代中非凌越解的部分取出進行區域搜尋,並保留非凌越解放回子代
中。
Pasupathy 等人 [36] 提出 PGA-ALS 演算法,他們也結合 NSGA-II 演算法,
利用非凌越排序方法作為優先選擇依據,對於排序相同的個體,則以密集度距離
作為次要選擇依據;除此之外,族群初始化的部分加入四個由 NEH 策略與
Rajendran 策略生成的初始解,並使用 JIBIS、OSSBIS、JIBSS 改善機制改良;同
時,在決定下一代族群的部分,其中一半由親代(parents)與子代透過非凌越排
序與密集度距離挑選取出,另外一半則從剩餘個體隨機挑選。
Yandra 和 Tamura [37] 加入異構程序(heterogeneous procedure),提出 hMGA
演算法,改善利用NSGA-II 演算法在多目標定序流線型工廠排程問題上可能會過
早收斂的問題。同樣也將親代與子代進行非凌越排序與計算密集度距離;然而,
在決定下一代族群之前,先透過異構程序,將重複的個體去除。
Cheng 等人 [38] 將 PESA-II [39] 與 NSGA-II 兩種演算法結合,提出一種混
13
合式基因演算法,利用PESA-II 演算法中區域式(region-based)的選擇機制降低
親代選擇的競爭壓力,並使用NSGA-II 演算法中非凌越排序的概念評估區域的適
應值。
Lin 和 Ying [8] 提出 BMSA 演算法,其特色為將模擬退火法與多重登山法
(multi-start hill climbing strategy)結合,是一種族群式搜尋法。利用多個初始解
改善單一解在模擬退火法搜尋過程中可能陷入區域最佳解的缺點,當搜尋過程中
某個個體凌越其它所有個體時,則更新其它個體的起點;透過這個方法,他們發
現了更多柏拉圖最佳解。
Li 和 Li [40] 提出 MOLSD 演算法,為基於 MOMAD [41] 演算法的改良方法,
MOMAD 演算法的特色為設置許多權重決定搜尋方向,並針對每個方向先進行擾
動(perturbation),接著進行區域搜尋,同時透過 PLS 搜尋法將非凌越解集合中
的每個解改良,而MOLSD 演算法交換擾動與區域搜尋的順序;除此之外,將非
凌越解集合中挑選出精英(elitism),對於一般解與精英解進行不同強度的擾動,
同時加入重新啟動機制避免搜尋陷於區域最佳解,並且在PLS 搜尋法中使用強度
較強的擾動方式搜尋鄰近解(neighborhood solutions)。
除了合併演算法與柏拉圖凌越式演算法,還有一些演算法將兩種方法結合。
Li 和 Wang [42] 提出一種混合基因演算法,結合 quantum-inspired GA(QGA)與
permutation-based GA(PGA)兩種方法。QGA 方法透過線性加權法計算個體適
應值,而PGA 透過非凌越排序計算個體適應值;實驗結果顯示,將 QGA 與 PGA
14
兩種方法結合比只使用PGA 方法有更好的效能。
Chiang 等人 [9] 提出 NNMA 演算法。NNMA 演算法是一種與 NSGA-II 結合
的文化基因演算法(memetic algorithm),搭配一種基於 NEH 策略的區域搜尋,
其區域搜尋方法與 IG 的拆解、組合階段相似,差異之處在於除了保留非凌越解
的方法,還提出隨機選擇優先目標(random objective)、分散式線性加權法(linear
weighted sum with distributed weights)兩種保留策略。
15
線性加權法(linear weighted sum)、Tchebycheff、penalty-based boundary intersection
(PBI)三種 [5]。而在過往文獻中,用來求解多目標定序流線型工廠排程問題的