國立臺灣大學工學院工業工程學所 碩士論文
Graduate Institute of Industrial Engineering Collage of Engineering
National Taiwan University Master Thesis
求解一般性排序優化問題的仿水流優化演算法 Water Flow-like Algorithm for Sequencing Problems
潘嘉琪 Chia-Chi Pan
指導教授:楊烽正 博士 Advisor: Feng-Cheng Yeng, Ph.D.
中華民國 97 年 7 月
July, 2008
誌謝
椰林樹影,傅鐘聲迴,我這裡到達一座求學的里程碑。
沒有楊烽正老師的指導,這本論文無法誕生。老師治學態度的專注和嚴謹,
每每讓我感到自己的渺小。在學習的過程中,我看到老師在教學上的熱忱;在完 成論文的過程中,我看到老師對做研究的要求。在一次又一次的論文修正中,多 虧老師不厭其煩地耐心指導,才能讓這本論文完整而豐富。同時也感謝徐旭昇老 師、翁偉泰老師、黃遵鉅老師、陳啟明老師在百忙中審閱這本論文,並以自身淵 博的學識給予建議與指教,讓這本論文更加完備。
感謝YY Group 一路以來一同打拚的夥伴們。于惠、秀惠兩位學姊的帶領,讓 我迅速融入新的求學環境,並且有了可以學習的榜樣。從一開始就一起奮鬥到最 後的皙杰、俊男、青杉,總是不吝惜給我鼓勵與協助。還有幫忙準備口試的旭芳、
傑翔、顥德學弟,有你們在才讓我無後顧之憂。三不五時會來串門子的周G 成員 和陳G 成員們,在口試前特地為我打氣的、在口試後和我握手道恭喜的,每一個 人,都非常謝謝你。
這是一條不算短的旅程。將近七百個日子裡,有辛苦、有挫折,但也有充實、
有成長。也許多年後回首今日,會覺得這些成就不足掛齒。但我們都曾是廣大學 海中的一滴水珠;這片海洋孕育了我們,而我們所能回報的,就是盡我們的棉薄 造就海洋的廣大。在這一刻,我期望這本論文能回饋給這片海洋一股新的生命力。
僅以此論文獻給無條件一直支持我的家人。
潘嘉琪 謹謝 2008.夏
中文摘要
仿水流優化演算法(Water Flow-like Algorithm, WFA)是新創的尋優演算法。
WFA 係仿效水流在地理空間逐步流向最低點的特性,將代理人模擬成水流,在解 空間中搜尋最佳解。WFA 模仿水流的分流和匯流特性,動態調整代理人的數量,
有效地進行集中或分散搜尋。此外WFA 亦模擬水流蒸發和降水的特性,使搜尋能 有機會跳脫區域最佳解。WFA 最先提出是用於求解物件分群優化問題,本研究提 出求解一般性物件排序優化問題的仿水流優化演算法(Water Flow-like Algorithm for Sequencing Problems, WFA4SP)。在 WFA 的演算程序規範下,規劃符合物件排 序問題限制的仿水流搜尋機制。本研究提出仿連續空間位置指定法、子序列變動 法、和鏈結關係繼承法三種求解排序問題的分流移步法,以設定每一演化代次水 流移動的位置。接著提出循環比對法以計算物件排序解的相似度,供匯流作業使 用。為驗證本研究所提的WFA4SP 演算機制,本研究以旅行推銷員標竿問題為測 試對象。比較三種分流移步法的成效,並與典型的遺傳演算法比較求解結果,探 究本研究所提方法可行性。結果顯示在共同目標函式求算次數下,WFA4SP 表現 較遺傳演算法優異。因匯流作業的循環比對作業會耗費大量計算資源,在共同求 解時間下求解大維度問題時仍有改善空間。
關鍵字:啟發式演算法、仿水流優化演算法、物件排序優化問題、旅行推銷員問 題
Abstract
Water Flow-like Algorithm, WFA, is a newly developed optimization algorithm that simulates a solution searching agent as a water flow traversing the lowest point of a terrain. The number of water flows is dynamically changed while water flows split into subflows against rough terrain and merge several flows into one single flow. Flow splitting and merging are mimicked by the WAF to conduct efficient optimum search in the solution space. In addition, water evaporation and precipitation are simulated in WFA to jump out of local optima or to broaden the searching area. WFA was originally proposed for grouping problems. This paper presents a WFA for solving object sequencing problems, namely WFA for Sequencing Problem, WFA4SP. Based on the original WFA computation structure, WFA4SP conducts the water flows to stand for feasible solutions of a sequencing problem, where the coordinates of the position of a water flow must be mutual exclusive. This paper presents three water flow methods:
continuous space-like position assignment (CPA), subtour shuffle (SS), and link relationship inheritance (LRI), to assign feasible flow positions in water splitting operation of the WFA4SP. In addition, a cyclic similarity computation procedure is developed to evaluate the closeness of two flow positions to facilitate the water flow merging operation of the WFA4SP. Several TSP benchmarks were used to test the WFA4SP and results were compared with those from the best GA methods that uses GSX and TSP dedicated GX crossover operators. Numerical tests showed that the LRI position assignment method generated the best results than those from the CPA and SS methods. Result comparison showed that based on the same limit of the number of objective function calls, the WFA4SP outperforms the GA methods with GSX and GX crossover operators. Nevertheless, the high computation complexity of the flow merging
operation results in costly computation overhead than other operations of WFA4SP.
Keywords: heuristic algorithm, water flow-like algorithm, sequencing problems, traveling salesman problems
目錄
誌謝 ... i
中文摘要 ... ii
Abstract ... iii
目錄 ... v
圖目錄 ... vii
表目錄 ... viii
中英文名詞對照表 ... ix
符號列表 ... x
第1 章 緒論 ... 1
1.1 研究背景 ... 1
1.2 研究目的 ... 2
1.3 研究方法 ... 2
1.4 章節概要 ... 4
第2 章 啟發式演算法及排序優化問題文獻探討 ... 5
2.1 啟發式演算法 ... 5
2.1.1 禁忌搜尋法 ... 5
2.1.2 粒子團優化演算法 ... 5
2.1.3 仿電磁吸斥優化演算法 ... 6
2.1.4 遺傳演算法 ... 7
2.1.5 蟻拓尋優法 ... 9
2.1.6 仿水流優化演算法 ... 9
2.2 物件排序優化問題 ... 10
2.2.1 TSP 類型 ... 10
2.2.2 GA 求解方式 ... 11
2.3 文獻小結 ... 14
第3 章 排序優化問題的仿水流優化演算法 ... 16
3.1 WFA 設計概念及成效 ... 16
3.2 WFA4SP 的演算流程 ... 18
3.3 初始設定 ... 23
3.4 分流移步作業 ... 23
3.4.1 決定分流數 ... 23
3.4.2 分流移步 ... 25
3.5 匯流作業 ... 43
3.6 蒸發作業 ... 46
3.7 降水作業 ... 47
3.8 WFA4SP 整體演算程序 ... 50
3.9 小結 ... 51
第4 章 仿水流優化演算法求解系統及範例驗證 ... 53
4.1 仿水流離散優化演算法求解系統 ... 53
4.2 系統驗證分析 ... 55
4.2.1 WFA4SP 三種分流移步法比較 ... 55
4.2.2 WFA4SP 演算成效分析 ... 58
4.3 小結 ... 65
第5 章 結論與未來研究建議 ... 66
5.1 結論 ... 66
5.2 未來研究建議 ... 67
參考文獻 ... 68
圖目錄
圖1-1. 研究方法流程圖 ... 4
圖2-1. 遺傳演算法資料結構 ... 8
圖2-2. GSX 示意 ... 13
圖3-1. 仿水流優化演算法演化流程圖 ... 20
圖3-2. 分流數和目標函數值改善率的趨勢 ... 24
圖3-3. CPA 法定義第一股子水流位置示意 ... 28
圖3-4. CPA 法定義第二股以上之子水流位置示意 ... 32
圖3-5. 第二股以上子水流位置可能發生的極端狀況 ... 33
圖3-6. 水流 Xi分出一股子水流
U
i1 ... 36圖3-7. 水流i位置向量
X 與母水流位置向量
i X~
i內物件鏈結關係分佈示意 ... 37圖3-8. LRI 法產生水流 i 的子水流位置向量 Ui1範例 ... 41
圖3-9. 降水水流 i 位置向量偏移演算範例 ... 49
圖4-1. WFA4SPDOS 介面 ... 54
圖4-2. WFA4SPDOS 求解過程數值變化折線圖 ... 54
圖4-3. 批次求解介面 ... 55
圖4-4. WFA4SP 求解 att48 求解結果比較 ... 57
圖4-5. WFA4SP 三種分流模式求解 att48 收斂狀況 ... 57
圖4-6. WFA4SP 和 GA 在相同目標函式呼叫次數下的求解結果比較 ... 60
圖4-7. WFA4SP 和 GA 求解 att48 的收斂狀況 ... 60
圖4-8. WFA4SP 及 GA 在相同求解時間下的求解結果 ... 62
圖4-9. WFA4SP 和 GA 求解 att48 以求解時間為基的收斂狀況 ... 62
表目錄
表4-1. WFA4SP 三種分流模式在相同目標函式呼叫次數下的求解結果 ... 56
表4-2. WFA4SP 及 GA 在相同目標函式呼叫次數下的求解結果 ... 59
表4-3. WFA4SP 及 GA 在相同求解時間下的求解結果 ... 61
表4-4. WFA4SP 各作業流程所耗時間 ... 63
表4-5. 匯流作業耗時分析 ... 63
表4-6. 改進後的相似度計算法和原計算法的求解結果 ... 64
表4-7. 改進後的相似比對法和原計算法所耗時間比較 ... 65
中英文名詞對照表
中文 英文 英文簡稱
仿水流優化演算法 Water Flow-like Algorithm WFA 啟發式演算法 Heuristic Algorithm
禁忌演算法 Tabu Search TS
粒子群優化演算法 Particle Swarm Optimization PSO 仿電磁吸斥優化演算法 Electromagnetic-like Algorithm EM 遺傳演算法 Genetic Algorithm GA 蟻拓尋優法 Ant Colony Optimization ACO
螞蟻系統 Ant System AS
搜尋代理人 Agent
全域最佳解 global optima 區域最佳解 local optima 物件分群優化問題 Grouping Problem 物件排序優化問題 Sequencing Problem
旅行推銷員問題 Traveling Salesman Problem TSP
標竿問題 Benchmark
交配 crossover
符號列表
問題定義
q:變數個數,即問題的維度(dimension)。
( )u
b :變數
h h的上界值,在排序問題中此值為常數q,h= 1 K , 2 , ,
q。( )l
b :變數
h h的下界值,在排序問題中此值為常數1,h= 1 K , 2 , ,
q。 WFA4SP 參數設定M :水流總質量。
0n :分流的子水流數上限。
η :總水流數上限。
γ :每代次水氣蒸發比例,
0 <
γ≤ 1
。β
:水流合併作業依據的兩位置向量相似度;兩水流的位置向量相似度達此 值時可合併,0 <
β≤ 1
。ρ :水氣飽和值,是水氣質量佔總質量的比值,達此值時須執行降水作業,
1 0 <
ρ≤
。t :演化代次上限。
F :目標函式呼叫次數上限。
T :求解時間上限。
WFA4SP 變數資料
t :當下水流演化的代次。
α
t :在代次 t 時,水流的不分流門檻值,是一個以目標函數值改善率衡量的門 檻,
0 <
tα≤ 1
。N :代次t 的水流股數。
tσ
:當代次大氣中的水氣含量,0 ≤
σ≤
M0。 水流演化Ω
:當代次所有水流的編號集合,Ω={
1 K,2, ,N
t}
。X:當代次所有水流所代表的解集合(位置向量集合),
X
={ X
1,X
2,K,X
Nt}
。X :水流
i i的位置向量,X
i =[ xi1x
i2Kx
iq]
。
X :目前搜尋到的最佳解,即最佳的水流位置向量。
optXi
′
:參考水流i即時強制降水的水流位置向量,X
i′=[ x
i′1x
i′2Kx
iq′]
。X
~i:分流出水流i的母水流位置向量,
X
~i =[ x
~i1~x
i2Kx
~iq]
。V :水流
i i的速度向量,V
i =[ vi1v
i2Kv
iq]
。
P :水流
i i的指標向量,P
i =[ pi1p
i2Kp
iq]
。
M :水流
i i的質量。( ) X
if
:水流i位置向量代表的解的目標函數值。n :水流
i i分流出的子水流數,1≤n
i ≤n
。U :水流
ik i分出的水流 k 的位置向量,U
ik =[ uik1u
ik2Ku
ikq]
。
Y :水流
ik i分出的水流 k 的速度向量,Y
ik =[ yik1y
ik2Ky
ikq]
。
Z :水流
ik i分出的水流 k 的指標向量,Z
ik =[ zik1z
ik2Kz
ikq]
。
w :水流
ik i分出的水流 k 的質量。第1章 緒論
本章說明本論文研究的背景、目的、方法、及研究流程。首先概述啟發式演 算法的發展歷程及本研究所承襲的仿水流優化演算法。接著再說明本研究的研究 目標、方法並展示研究流程。
1.1 研究背景
為因應優化問題複雜化的需求及電腦科技的快速演進,近數十年來學者致力 於啟發式演算技術(heuristic algorithm)的開發。大多數的啟發式演算法都是使用優 化解的搜尋代理人(agent),透過有系統的或智慧型的搜尋方式,亦步亦趨地朝向更 好的解搜尋及移動。演化搜尋的優點是避免耗時且成效不彰的地毯式搜尋,能在 可接受的時間內找到容許的較佳解。因此啟發式演算法被廣泛應用於求解各類型 優化問題。現今常被使用的啟發式演算法包括:禁忌搜尋法(Tabu Search, TS)、模 擬退火法(Simulated Annealing, SA)、遺傳演算法(Genetic Algorithms, GA)、粒子團 優化演算法(Particle Swarm Optimization, PSO)、仿電磁吸斥優化演算法
(Electromagnetism-like Mechanism, EM)、……等。
啟發式演算法依代理人技術的使用情形可分為兩種型態:單一代理人及多代 理人。單一代理人的特色是普遍使用歷史資料輔以梯度搜尋技術,確保搜尋方向 不會回到較差的解上。缺點是過大型複雜問題時,求解過程過於保守且緩慢。對 於高維度的問題容易落入區域最佳解中而無法全面性地搜尋到全域最佳解。為改 善此一缺點,多代理人的啟發式演算法因應而生。多代理人的搜尋方式可提高搜 尋廣度,提高求得全域最佳解的機率。缺點是當解趨近於收斂時,多代理人的解 相似度極高,會產生許多重覆的搜尋資源浪費。
仿水流離散優化演算法(Water Flow-like Algorithm, WFA)是一種動態調整代理 人數量的優化演算法。此法是以單一代理人為起始,視演化過程分為一個以上的 代理人進行廣域搜尋。當兩個以上的代理人搜尋到鄰近區域時即合併成單一代理 人,以避免重覆搜尋造成效率不彰。
WFA 是模擬自然界水流現象而設計的啟發式演算法。水流受地心引力吸引而 流動,且受地理空間規範而漸趨流向地形上的最低點。WFA 演算過程反覆進行分 流移步、匯流、蒸發、和降水四個作業。每個解由一股水流代理人代表,進行數 量變動的多代理人搜尋。水流具有質量和速度,形成的動能足夠時即可依地形變 化分支出多股子水流進行搜尋。當多股水流匯聚至同一位置時,即結合成單股水 流,並且匯聚新的速度與質量。水流在流動過程中會逐漸散失質量於大氣中,當 大氣中的水氣到達飽和程度時即會落下,產生新水流或添加質量到既有的水流 中。
1.2 研究目的
WFA 提出時主要是用於求解物件分群優化問題,也嘗試求解物件排序優化問 題(王元鵬, 2006; Yang and Wang, 2007)。經實驗驗證,WFA 求解物件分群優化問題 的成果較GA、EM、及 PSO 等啟發式演算法較佳。但在求解物件排序問題時,因 物件排序不能重覆的限制,以及WFA 的搜尋機制較為保守,無法得到較好的結果。
本研究目的在研擬專門求解一般物件排序問題的仿水流優化演算法。在考量物件 排序問題的特性下設計水流移步方法,使仿水流的優化解搜尋能有效地朝向最佳 解前進。
1.3 研究方法
本研究承襲Yang 及 Wang (2007)提出的仿水流離散優化演算法(WFA)演化概 念,提出專為求解物件排序優化問題特性的WFA 演算法。WFA 著重區域性搜尋,
遇物件排序問題時容易落入區域最佳解,難以求得全域最佳解。此外,WFA 也須 倚靠降水的機制使水流重新分配移動,才有機會跳脫陷落的區域最佳解。
本研究將開發求解物件排序優化問題的WFA 方法,名為 WFA4SP (Water Flow-like Algorithm for Sequencing Problems)。數值測試將使用 TSPLIB 內的標竿問 題。求解效能及解品質將與遺傳演算法(GA)進行比較。為驗證所提演算法之可行 性,本研究也將實作一套專解物件排序問題的仿水流優化演算求解系統。範例測 式結果除了以數據展示外,也將以圖形內容展示。
本研究流程概述如下:
(1) 構思研究主題:探討啟發式演算法並由 WFA 的功能不足衍生研究動機,據以 規劃研究方向、範圍、及目標。
(2) 蒐集並研讀相關文獻:蒐集各類啟發式演算法及相關應用的文獻,評斷各優化 機制之優缺點及思索改善方案。
(3) 蒐集標竿問題:蒐集物件排序優化問題之標竿問題,以供數值驗證及成果比較 使用。
(4) 思索並建構演算機制:探究水流流動之特性,輔以過往文獻各演算法之優劣特 性,改善WFA 演算機制並即求解驗證。反覆思索、實作,以研擬更佳的演算 模式。
(5) 開發求解系統:以建構好的演算機制開發優化雛型系統。研擬親切易與的使用 者介面及實作標竿問題的逕行讀取功能。此外並提供可反覆多次執行求解的功 能,以支援學術研究驗證演算法實作的成效。
(6) 範例測試:以開發的優化系統測試 TSPLIB 內各種標竿問題。分析結果並探討 本研究所提的仿水流優化演算法成效。
(7) 論文撰寫:將研究成果有系統地整理成論文,供後續研究者參考。
各研究步驟如圖1-1 所示。
圖1-1. 研究方法流程圖
1.4 章節概要
本章揭示本研究之研究背景、研究目的,及研究方法及研究流程。第2 章綜 覽各啟發式演算法及這些演算法求解物件排序問題的特性和優缺點。第3 章展示 本研究研擬的求解一般性排序優化問題的仿水流優化演算法(WFA4SP, Water Flow-like Algorithm for Sequencing Problems),內容詳細說明仿水流各演算作業的 詳細流程。第4 章驗證本研究提出的演算方法,展示開發的求解系統並求解 TSP 標竿問題。同時分析實驗結果評斷及演算效能。第5 章總結本研究成果並提出對 未來研究方向的建議。
act Research Process Flow
構 構 構 構 構 構
蒐 蒐 蒐 構 蒐 蒐 蒐 蒐 蒐
構 思 蒐 思 構 思 思 思 思
開 開 開 開 開 開
論 蒐 論 論 蒐 蒐 蒐 蒐 蒐 構
實 實 實 實 實 實 [思 思 思 思 演 演 ]
[開 開 求 求 求 求 求 求 ]
第2章 啟發式演算法及排序優化問題文獻探討
本章將介紹現有的啟發式演算法,說明其演算特性及應用。接著介紹物件排 序優化問題及其啟發式求解法。
2.1 啟發式演算法
2.1.1 禁忌搜尋法
禁忌搜尋法(Tabu Search, TS)的基本概念最早由 Fred Glover 於 1977 年提出,
而後提出完整的演算架構(Glover and Laguna, 1997)。禁忌搜尋法是一種著重區域搜 尋的啟發式演算法,在搜尋機制上配合記憶功能,使得搜尋不致落入區域最佳解 (local optima)無法跳脫。
禁忌搜尋法是由一初始可行解為始,經由移步法則(move)進行微小變動,在鄰 域(neighborhood)間有向搜尋最佳解。每個搜尋代次以上一次所搜尋到的最佳解經 由移步產生鄰近解組成鄰域。接著在鄰域中搜尋出鄰域中的最佳解,並將形成此 解的移步存入禁忌清單(Tabu list)中。為了避免重覆搜尋到相同的解,列為禁忌的 移步將被禁止進行。除了禁忌清單外,尚有一個重要的準則就是破禁準則(aspiration criteria),是用以破除禁忌清單中的限制。當所有鄰近解都列於禁忌清單無法移動 時,依破禁準則清除所有禁忌清單,使搜尋可以繼續。另外,搜尋的停止條件,
則依問題的差異而有不同的準則設定。
禁忌搜尋法僅使用單一代理人進行移動搜尋,面對較龐大的解空間時難以掌 握全域的搜尋範圍。因此禁忌演算法不適合求解維度較高或解空間較龐大的優化 問題。
2.1.2 粒子團優化演算法
粒子團優化演算法(Particle Swarm Optimization, PSO)是 Kennedy 和 Eberlart (1995)所提出,其演算概念是師法自自然界的生物群體行為。群居的生物如鳥群或 魚群在移動時能透過群體間特定的訊息傳達方式,使得團體的行動方向一致。粒 子團優佳化演算法即是仿照此種方式,將優化問題的一個解視為一個粒子,各粒
子會參考自己解搜尋歷程中最佳的經驗以及群體的最佳經驗決定移動方向。如此 在群體彼此的影響和資訊參照下逐步接近最佳解。
以鳥群的覓食行為而言,鳥即是PSO 中定義的粒子。一開始所有的鳥都不知 道食物的位置,只是隨機地選擇方向和移動速度做為下次移動的依據。單隻鳥雖 然不知道食物所在的正確位置,但是卻可以透過像嗅覺的方式來判斷附近是否有 食物以及目前自己距離食物的遠近。在搜尋過程中,個別的鳥會記憶過往經驗中 靠食物最近的位置,在食物搜尋行為中,會儘量朝該位置搜尋。除此之外,單隻 鳥和鳥群間有資訊溝通的能力,知道整個鳥群的搜尋歷程中離食物最近的位置。
因此,單隻鳥的搜尋趨向,除了自身的經驗記憶外,也會參考群體經驗,增加找 到食物的可能性。粒子團優化演算法將一群本質是解代理人的粒子視為群居的生 物,他們的覓食行為有兩個行為模式:
(1) 認知模式(Cognition-Only Model):生物個體有著自我最佳經驗的記憶;PSO 個 體粒子會記憶它迄今曾經搜尋過的最佳解資訊。
(2) 社會模式(Social-Only Model):群居生物具有社會性,生物個體間的經驗會彼此 交換並傳承下去。PSO 中的群體有記錄整個群體迄今最佳解的資訊。
個體粒子的位置即代表一個解,目標函式值用來衡量解的好壞。問題的全域 最佳解即如鳥群尋覓的食物所在。藉由個體對過往搜尋經驗的記憶和分享,群體 將群策群力朝最佳解移動。
2.1.3 仿電磁吸斥優化演算法
仿電磁吸斥優化演算法(Electromagnetism-like Mechanism, EM)是由 Birbil 和 Fang (2003)提出的一種新啟發式演算法。該演算法屬於多個智慧型代理人(multiple intelligent agents)的協同合作模式,亦是群體智慧(swarm intelligence)的一種。仿電 磁吸斥優化演算法是模仿自然界電磁吸斥的物理現象,使一群代理人(agents)彼此 互動且有向性地朝全域最佳解移動。
仿電磁吸斥優化演算法將各個解視為帶電荷(charge)的粒子(particle)。透過目 標函數值的計算,比較各個解的目標函數值,優者賦予較高的電荷,劣者賦予較
低的電荷。粒子以其在群體中所帶電荷及在解空間中的相對位置建立電磁磁力場。
此磁力場的建立係模仿或模擬目標函數值在解集空間的分佈狀況。接著仿照電磁 磁力場中帶電粒子相互吸、斥的物理現象,訂定每個粒子下一代次的基本移動方 向。由兩粒子的電荷和距離計算吸力和斥力。求算單一粒子受其他粒子吸的合力 方向,設定該粒子的移動方向。粒子的移動方向是高電荷者遠離低電荷者,低電 荷者追向高電荷者。合力方向係在規範移動的方向是正向或逆向。粒子真正的移 動距離是由一個隨機值和基本移動距離決定。粒子群中的粒子全部移動到新的位 置後,由所有解或只限最佳解的粒子進行(或不進行)區域搜尋,目的在於探究 鄰近區域的解品質。區域搜尋若得到較佳的解,則逕行位置取代。透過粒子群中 的粒子不斷地模擬電磁吸斥的物理現象,使劣解朝向優解移動、優解也能趨避較 差解。每一個代次透過目標函數值的計算重新建立電磁磁力場,展示出朝向全域 最佳解移動的群體智慧。
PSO 和 EM 都使用多代理人進行搜尋,且所有代理人的移動是受目前最佳解 驅策而具有方向性。然而當所有代理人皆朝同一方向前進,過程中也未因搜尋到 更好的解而改變整體方向時,代理人往往會收斂在一個區域內。在無類似GA 的 突變機制跳脫區域另闢新境下,當群體的初始位置不夠廣布於整個解空間時,搜 尋結果常會落入區域最佳解。
2.1.4 遺傳演算法
遺傳演算法(Genetic Algorithm, GA)是由 Holland 於 1975 年提出,其觀念源自 於達爾文演化論中「物競天擇,適者生存」的原理(Goldberg, 1989; Holland, 1992)。
生物繁衍後代時,親代的基因會藉由遺傳複製給子代。在自然界的汰弱存強機制 下,存留下的個體有高度的適應力,也會有較好的競爭優勢。演化過程基因會有 突變的可能,會導致個體衰亡或是擁有適應環境的新能力。遺傳演算法簡化了生 物演化的複雜過程,成為具體可行的最佳化問題求解步驟,是目前學術及業界廣 泛運用的一種求解優化問題法。
遺傳演算法的演化群是由一個以上的獨立機體(organism)集合而成;每個機體 由一條或多條染色體(chromosome)構成。染色體則由一序列的基因(gene)所組成。
基因值通常代表問題中的變數值。群體組成如圖2-1 所示。
圖2-1. 遺傳演算法資料結構
遺傳演算法的演化機制是由機體內的染色體經由複製(reproduction)、交配 (crossover)、突變(mutation)等運算過程產生子代(offspring)。由每個機體內的染色 體值計算出該機體的適存值(fitness)。適存值決定該機體存活到下一代的機率。進 行GA 演化前,需將優化問題的變數編碼(encoding)成基因序列組成染色體。計算 適存值時需將染色體解碼(decoding)成問題的解以估算解品質。編碼方式依問題型 式不同,有實數編碼、整數編碼,及二元編碼等。不同編碼方式須配合不同的交 配與突變演算方式,以適用於求解各類型優化問題。
GA 的演化機制可應用於求解各類型的優化問題,因此被學、業界廣泛研究改 良並應用,至今已逐漸成熟。GA 的搜尋過程主要是倚靠保存優質染色體繼續下一 代次的演化,交配過程並不能保證會產生較好的解。此外,演化趨於穩定時,群 體內的染色體(代理人)內的基因值會趨向一致性,而不易跳脫區域最佳解。
Population
Organism
Gene Chromosome
2.1.5 蟻拓尋優法
蟻拓最佳化技術(Ant Colony Optimization, ACO)是晚近出現的一種啟發式演 算法。ACO 是具有類似蟻拓優化演算的演算法統稱。第一個發展出來的 ACO 是 螞蟻系統(Ant System, AS)。AS 是由 Dorigo 等人(1996)提出,演算法設計的靈感來 自於自然界中螞蟻的覓食行為的觀察。
蟻拓優化技術師法自然界中螞蟻尋覓食物時的行為。首先,螞蟻會以隨機搜 尋的方式離開巢穴尋找食物。移動時螞蟻會沿路釋放名為「費洛蒙(pheromone)」
的分泌物,以引導螞蟻返回巢穴。若是出來覓食的螞蟻有找到食物,這些找到食 物的螞蟻就會在返回巢穴的路徑上,添加額外的費洛蒙作為記號,供其他螞蟻依 循。由於剛開始找到食物的螞蟻可能不只一隻,所以能到達食物的路線也不只一 條。因往返頻率的密集或稀疏,在較短的路徑上會累積較多的費洛蒙。隨後的螞 蟻處於隨機移動的狀態下,能辨別先前螞蟻所釋放的費洛蒙,跟隨費洛蒙強度最 強的路徑行走,並繼續釋放自身的費洛蒙,更強化此路徑的標記。此程序有正向 循環的回饋特色,當選擇相同路徑的螞蟻數愈多,後來的螞蟻選擇此路徑行走的 機率也相對地提高。
典型的蟻拓優化應用是求解旅行推銷員問題(Traveling Salesman Problem, TSP)。螞蟻由其中一個城市出發,藉由費洛蒙的濃度分佈而尋找到鄰近的城市,
再由搜尋到的城市出發,搜尋下一個鄰近的城市。如此逐步建構出最短的路徑繞 行所有城市。經研究證實,ACO 應用於求解 TSP 有不錯的驗證成效。但螞蟻在搜 尋過程中可能會發生過早收斂或停滯現象。過早收斂是由於螞蟻每次僅選擇費洛 蒙濃度高且成本低的路徑,可能因此限於區域最佳解中而無法跳脫。停滯現象是 由於螞蟻搜尋下一個鄰近城市的過程中,有兩條以上距離成本差異性不大的路徑,
因此費洛蒙濃度沒有明顯差異,使螞蟻需耗費較長時間才能決定行走方向,同時 也可能走到較長的路徑上。
2.1.6 仿水流優化演算法
仿水流優化演算法(Water Flow-like Algorithm, WFA)是由 Yang 及 Wang 提出,
是一仿效水流在物理空間中流動的特性而設計的優化演算法(王元鵬, 2006; Yang
and Wang, 2007)。WFA 的演算機制是將解空間視為地理空間,每股水流的位置代 表一個解。當水流在空間中流動時,會依地理特性改變流向、速度,逐步向地理 最低處移動。水流具有分流的特性,會分成多股支流。當流經同一區域時,水流 也可合併。水流流動過程,質量會逐漸散逸到大氣中,此時水氣可跳脫地形的限 制,隨降水重新落到新的地域再進行流動。WFA 是藉由模仿水流的物理特性,動 態調整搜尋代理人的數量(分流及匯流結果),朝解空間最佳解演化。
WFA 演化求解的流程有四個作業程序:分流移步、匯流、蒸發,及降水。Yang 及Wang 的 WFA 以動能大小作為水流分支數的門檻,當動能越高時可分出較多的 水流進行搜尋。決定分流數後搜尋水流的鄰近解以設定子水流的位置。WFA 以最 好的前幾個移步位置指定成子水流的位置。當分流移步完成後,檢查是否有水流 聚在同一區域,若有則將水流合併。匯流後執行蒸發作業將部份水流質量逸散到 大氣中。當水氣質量達到飽和時即進行降水作業。
WFA 的水流移步演化機制有引用 TS 的禁忌作法,防止水流移步回流形成重 覆搜尋。Yang 和 Wang (2007)發表的 WFA 只以裝箱問題(Bin Packing Problem, BPP) 為求解對象。王元鵬(2006)曾以 WFA 嘗試求解旅行推銷員問題。結果顯示 WFA 求解物件分群問題表現較佳。求解物件排序問題時,因問題基本限制不易產生合 理解,導致搜尋方式過於保守而形成區域搜尋。
2.2 物件排序優化問題
在物件排序優化問題中,當物件的排列不同時,即是一個不同的解且有不同 的目標值。此種類型問題以旅行推銷員問題(TSP)最具一般性及代表性。TSP 最早 是由Hassler Whitney 於 1934 年所提出。推銷員需拜訪若干個城市,且每個城市僅 能經過一次,最後回到原出發點(Flood, 1956)。TSP 的求解目標是能求得最短路徑。
TSP 已被證明屬於 NP-complete 的問題(Karp, 1972)。問題定義雖簡單,但解空間大 小隨城市數呈冪次增長,無法在多項式時間的複雜度下搜尋所有可行解以獲得全 域最佳解(global optima)。以 20 個城市的 TSP 為例,其解空間將超過 1018。 2.2.1 TSP 類型
TSP 的研究發展迄今,基於原有的問題定義下延伸出數種不同類型的題型:
(1) 對稱型旅行推銷員問題(Symmetric traveling salesman problem, TSP)
是最為一般所探討的TSP。兩城市間往返的距離成本皆相同,因此路徑迴 圈反轉後的總距離成本亦和原路徑相同。
(2) 漢彌爾頓迴圈問題(Hamiltonian cycle problem, HCP)
漢彌爾頓迴圈問題屬於數學中的圖論問題。在已知的路徑圖(Graph)上找出 一條迴圈經過每個頂點(Vertex)一次並回到起點。此問題為 NP-complete 型的問 題。HCP 是 TSP 的特殊案例。
(3) 非對稱型旅行推銷員問題(Asymmetric traveling salesman problem, ATSP) 非對稱型TSP 由 TSP 延伸而來,不同處在於兩城市間考量實際距離之外 的成本。往返的距離成本不同,使距離成本矩陣呈不對稱關係。
(4) 優先順序旅行推銷員問題(Sequential ordering problem, SOP)
此問題是ATSP 的延伸問題,由 ATSP 中加入優先順序的限制。亦即當兩 城市間有優先順序限制時,則必定須先拜訪特定一個城市才能拜訪下一個。
(5) 具載貨量限制的車輛途程問題(Capacitated vehicle routing problem, CVRP) 在車輛有裝載限制下及貨運點需求量已知情況下,數輛車從運輸網路上同 一個物流中心(depot)出發,通過其他每個貨運點恰好一次,再回到原出發點,
使得總運送成本最小。
2.2.2 GA 求解方式
使用GA 求解典型物件排序問題的 TSP 時,常採用整數排序編碼法
(Permutation)。並使用針對排序問題而設計的交配法來進行演化,使得新產生的解 不會違反排序問題物件不得重覆出現的基本限制。常用的交配法有部份相映交配 法(Partial-mapped Crossover, PMX)、順序對映交配法(Order Crossover, OX)、循環對 映交配法(Cycle Crossover)、位置為基交配法(Position-based Crossover)、順序為基
交配法(Order-based Crossover)……等。近年來亦有學者針對 TSP 特性開發出新的 啟發式交配法,例如GSX 和 GX:
(1) Greedy Subtour Crossover (GSX)
GSX 交配法是 Sengoku 和 Yoshihara (1998) 所提出,此種交配法是截取兩條親 代染色體中一部份的子序列合併成子代。舉例來說,兩條親代染色體分別是
[
48213675]
1 =
p
和p
2 =[
23478651]
,如圖2-2 所示。演算初始先由p 中隨機選
1定一個物件,假設是位置
a
1 =5的物件3。將物件 3 指定為子代c 的染色體中同一
1位置(位置
a )的物件。找出物件 3 在親代
1p 的位置
2a
2 =2。找出親代p 位置
1a
1 −1 的物件1,如果物件 1 尚未排入子代染色體的話,則排入子代染色體的物件 3 之前;也就是位置
a
1 −1處。若物件1 已排入子代則停止往前搜尋。由親代p 的位置
2 a2+ 1
找到物件4。若物件 4 尚未排入子代染色體,則排入子代染色體的物件 3 之後,也 就是位置a2+ 1
處。若物件4 已排入則往後搜尋。如此由親代p 先往前再由親代
1p
2往後依序指定二親代的部份序列到子代,直到無法排入為止。往前後指定都停止 後,將剩下未排入的物件隨機排入未指定的基因值。第二條子代染色體仍以最初 選定的物件,依親代
p 往後、
1p 往前方式指定染色體的基因值。圖 2-2(b)展示子
2代
c 的基因指定結果。
2圖2-2. GSX 示意
(2) Greedy Crossover (GX)
GX 交配法是 Yang (1997)專為求解 TSP 而提出的啟發式交配法。GX 法在交配 時會比對兩條親代染色體中是否有相同的城市鏈結,並且會參照TSP 中的距離成 本矩陣,找出距離成本較短的城市鏈結建構出子代。例如兩條親代染色體分別為
[
14253876]
1 =
p
和p
2 =[
17826435]
。決定第一條子代染色體的演算初始先隨機 選定一個物件,假設此例為物件4。先檢查選定的物件 4 在兩條親代染色體中前後 接鄰的物件,亦即p 的
1{ }
1,2 和p 的
2{ }
6 ,是否有相同物件。若沒有相同物件則從,3 兩染色體物件4 起始向右的兩鏈結(此例是 42 和 4 )中選擇距離較短的鏈結34 8 2 1 3 6 7 5
2 3 4 7 8 6 5 1
8 2 1 3 4 7
6 5
(a)
4 8 2 1 3 6 7 5
2 3 4 7 8 6 5 1
1 2 3 6 7 5 4 8
(b)
C
2C
1P
1P
2P
1P
21 2 3 4 5 6 7 8
位置
1 2 3 4 5 6 7 8
位置
設定子代染色體的基因值。假設此例 4 是距離較短者,則第一條子代染色體第3 一和第二基因值設成4 和 3。接著比對物件 3 在兩條染色體中前後接鄰的物件,亦 即比對
{ }
5,8 和{ }
4 。因兩條親代染色體中物件 5 都和物件 3 接鄰,因此將物件 5,5 排入物件3 之後。再比對物件 5 在兩條染色體中前後接鄰的物件。因物件 3 已排 入子代中所以必須從接鄰的物件集合中剔除,亦即比對{ }
2 和{}
1 。兩集合中沒有相同的物件,因此由物件5 起始向右的兩鏈結 35 和 15 中先剔除已排入子代的物 件所形成的鏈結,亦即剔除 5 ,再將剩下的鏈結所對應的未排入物件,此為物3 件1,排入子代中。若兩鏈結皆被剔除,則由剩下尚未排入子代的物件中任選一個 物件排入子代染色體序列。
第二條子代染色體和第一條染色體產生方式大致相同。唯一不同處在於當目 前檢查的物件在兩條親代染色體中沒有相同的接鄰物件時,是從兩親代染色體中 目前檢查物件起始向左的兩鏈結裡選擇距離較短的鏈結,再將鏈結所對應的未排 入物件排入子代序列中。交配完成後的染色體依序列循環特性,將序列第一順位 調整為物件1。
2.3 文獻小結
本章介紹了現有的啟發式演算法及物序排序優化問題。啟發式演算法在求解 行為上可依區分為單一代理人及多代理人;搜尋行為可分為區域搜尋及全域搜尋。
單一代理人的搜尋成本雖然較低,但對於較複雜或維度較高的問題時,因搜尋過 於保守而無法有效求解。多代理人的演算方式雖可廣泛搜尋解空間,但代理人數 量過多,或是搜尋到的解已趨收斂時會造成搜尋成本的浪費。
若啟發式演算法的代理人移動演化是具有方向性時,如:PSO、EM 等,容易 朝同方向搜尋而落入區域最佳解不易跳脫。相對地,當演化作業不具明確方向性 時,如:GA,雖可廣泛搜尋整個解空間,但搜尋跳動性過大,無法精確向全域最 佳解收斂。
基於上述缺點的考量,本研究承襲原有之仿水流演算概念,在動態調整搜尋 代理人數量且能兼顧區域搜尋及全域搜尋下,開發改進式的仿水流優化演算法以
求解物件排序優化問題。下一章將詳細說明本研究開發的物件排序優化問題之仿 水流優化演算法,WFA4SP,的演化細節,以及求解 TSP 的仿水流演化求解程序。
第3章 排序優化問題的仿水流優化演算法
WFA 係仿照水流流動時的物理特性,以初始單股繼而多股分流的概念設計搜 尋機制以求解物件分群問題。本研究承襲WFA 的概念開發求解一般性排序優化問 題的仿水流優化演算法,簡稱WFA4SP(Water Flow-like Algorithm for Sequencing Problems)。WFA4SP 模擬水流流動時的物理行為,動態調整代理人數量在排序問 題的解空間中進行最佳排序解的搜尋。本章先說明WFA 的演算內容,再展示 WFA4SP 求解一般排序優化問題的演算程序及相關的資料架構。
3.1 WFA 設計概念及成效
水在自然環境中有固、液、氣體三態存在,其中以液態佔大多數。當水以液 態存在於地理空間時,受到地心引力的影響,會依循承載介面(地表)的延伸移 動它的位置,且由高處往低處流動,但當衝量足夠時也能逆勢上移。當水以氣態 存在時,則不受地理空間影響,可移動至不同領空再凝為液體落下地表。因此水 流在地理空間的流動中具有趨低性及分散性,有極大的機率會流經地理上的最低 點。此種趨低的特性是仿水流優化演算尋優的精神。
WFA 將水流的特性模擬為啟發式演算法中代理人搜尋最佳解的演化機制。將 地理空間的最低點視為優化問題中的搜尋目標,依據水流特性可逐步移動水流至 最佳解。水流在地理空間中的流動與代理人在優化問題中的搜尋行兩者為的對應 關係是:
1. 水受到地心引力影響,流動時會沿地理空間之高低起伏,從高處流入低窪地區。
當水流具備速度及衝量時,則可能從低處移動至較高的位置。代理人在搜尋時,
將較差的解視為解空間中的高點,較佳者視為低點,搜尋時逐漸朝佳者(低點)
推進。
2. 水流流動時會因地形的分歧,分出多支子水流往不同方向流動,質量分配則由 動量守衡公式規範。代理人可視情況機動分出多個代理人同時搜尋,延伸搜尋 的廣度。
3. 水流流動具有方向性,除非受到地形及外力影響,否則會依循原本的速度方向 前進。代理人在解的搜尋上,若搜尋到較好的解,應維持原有方向持續搜尋。
4. 不同水流在同一時間流經同一地區時,會匯流成單一水流,其質量及速度的變 動仍會服從能量守恆法則。匯合後的水流有較大的質量保持流動。兩個以上的 代理人在同一代次搜尋到相同位置時,將代理人合併,以增加搜尋的動能,同 時避免重覆搜尋浪費資源。
5. 水流在流動時其質量會持續蒸散到大氣中。當大氣中的水氣達到飽和,即會降 水落回地表,併入地表水流或另起水流。降水可將水流帶至不易搜尋到的地理 空間再度流動。當代理人在解搜尋過程中陷於區域最佳解時透過降水的程序,
可增加水量脫離原本停滯的位置。
迄今廣為使用的多代理人啟發式演算法的代理人數量在演化過程都保持固定。
單一代理人在搜尋上較為緩慢,而多代理人雖然可改善此一缺點,但在目標值趨 於收斂時會產生許多重覆搜尋而降低演算效率。WFA 不同於其他多代理人啟發式 演算法,最明顯的是代理人數量會隨搜尋狀況而變化。其援用的水流物理特性有:
1. 分流特性
水流動量夠大時面對分歧的地形會分流流動。當動量小時則維持一股水流繼 續流動。
2. 匯流特性
當兩股以上的水流流經同一區域時,會合併為單一水流。質量合併增加,流 速也匯聚增強。如此可增加搜尋的能量,也避免多股水流同時在同一區域重覆搜 尋。
3. 蒸發及降水特性
水流在流動時會逐漸散失質量到大氣中。搜尋能力較差的水流會蒸發所有質 量而消失,以減少無效的搜尋。大氣中的水氣達飽和狀態時則降水匯聚到流動中 的水流,或另起水流流動。降水可使質量少的水流獲得浥注,使搜尋得以持續。
而當水流速度趨於停滯時,水流會持續蒸發直到消失。
WFA 提出時主在處理物件分群優化問題。每個代理人在每代搜尋中會選擇最 適合變動的變數進行調整,即持續找出最適合變動的物件以改變其所屬群別。因 此WFA 搜尋機制看似保守,但卻可持續地往最佳方向收斂。經實驗驗證,WFA 較其他多點搜尋的啟發式演算法,如GA、PSO、及 EM,更適於求解物件分群優 化問題。王元鵬(2006)也使用 WFA 對分群問題的搜尋法嘗試求解 TSP 的物件排序 優化問題。結果因TSP 限制太大,WFA 於搜尋變動上較為保守,因此求解效能較 GA 和 PSO 都差。本研究承襲 WFA 的精神建構一般性的排序優化問題專向的 WFA 演算架構,名為WFA4SP。WFA4SP 以仿水流的尋優演化程序為基礎,進一步規 劃符合排序問題限制的演算策略以求解一般性的物件排序離散優化問題。
3.2 WFA4SP 的演算流程
TSP 是最典型的排序優化問題。推銷員必須拜訪一定數目的城市,每個城市 僅能經過一次。而城市間的距離各有不同,求解目標在找出拜訪各個城市的最佳 順序使繞行的距離最短。排序問題要求所有物件皆必須排入序列中,且物件不可 重覆出現在不同順位上,且一個順位只能有一個物件。在
N 個物件的排序問題中,
整個解空間有
N!個可行解。WFA4SP 的演算程序須確保解在合理解區域內。
WFA4SP 的演化程序如圖 3-1 所示。初始設定包含水流總質量、分流股數上限、
水流合併相似度、水流質量蒸發率、總水流數上限、和水氣飽和度等參數。水流 演化以一股水流開始,並以隨機方式決定其初始位置
X ,和其母水流位置
1 1X
~
後開 始流動。水流流動時依解空間的變化,可分出數股支流進行搜尋。分流支數依水流演 化過程解品質的變化率來決定。當目前水流位置的解較母水流好,就保持原方向 流動搜尋。若解較母水流差,則分出較多子水流進行多方搜尋。分流時會依目標 函數值優劣分配子水流的質量。目標值越好的子水流可分到的質量較多,以供後 續持續搜尋;反之目標值較差的水流分到較少質量,但可在後續演化過程和其他 水流合併,或是蒸發至大氣中經由降水重啟新的搜尋。
水流移步或分流後,須檢查水流位置是否鄰近,當兩條以上的水流位置鄰接 時保留目標值較好的一股水流,合併其餘水流質量進入下一代次水流演化。匯流 演算後各水流進行蒸發作業。地面所有水流都將散失一部份的質量於大氣中,若 水流蒸發後的質量低於所設定的下限,則該水流全數蒸散後消失。大氣聚積水氣 至飽和時,即進行降水作業,將水氣依現有水流的質量比例作分配,以供下一代 次的水流演化使用。
執行一代次水流演化作業後,檢查是否符合停止條件。若是則完成水流演化,
以迄今最佳解作為求解最終結果。否則以現有水流再次由分流作業開始進行下一 代次水流演化程序。
圖3-1. 仿水流優化演算法演化流程圖
基於上述求解的流程規劃,WFA4SP 演化流程的四項主要作業是:
1. 分流移步作業
水流可依原有方向維持單一水流或分流成多股子水流流動,因此分流移步作 業前須先決定分流數。先依目前水流的目標函數值相對於其母水流的改善率決定 分流數後,依目前水流速度設定各子水流的位置。若分流數是1 則維持單一水流 流動。計算各子水流位置的目標函數值後依比例分配各子水流質量,更新水流集
act Flows
Iteration 思 思 開 演
產產產演產產蒐產 定產演定定定定定
參參
計思產產計蒐計計 善善蒐善定產產善
支參
善定支產決決定決 度
以定定以以計思支 產流定定善流
進進進產進進 各產產各開各各定 定
執進執產進進 指定計指指指產產
為為為為為流產產 思 思 演 演
產產定定水參各水 於於於於
[指 指 支 產 所 所 指 定 決 決 定 決 度 ] [else]
[else]
[於 於 於 流 產 善 大 大 大 大 大 ] [else]
[大 大 達 演 達 達 ]
[指 指 產 產 所 執 進 所 所 善 產 進 進 ] [else]
[產 產 定 定 水 於 為 水 ] [else]
合。
2. 匯流作業
檢驗水流集合的各水流位置,將位置鄰近的水流進行合併。多股水流合併時 質量守恆,保留目標值最好的一股水流,將其餘水流的質量併入該水流。
3. 蒸發作業
將所有水流蒸發部份質量到大氣中,使水能跳脫地理空間的限制,以接續的 降水作業移動到不同區域。蒸發後若水流質量小於設定的下限,則將該水流質量 全數散發於大氣中。
4. 降水作業
大氣中的水氣含量達到飽和時,即啟動降水作業。降水可使轉為氣態的水份 在新的區域落下形成水流,進行不同區域的流動搜尋。
接下來說明本研究研擬的WFA4SP 的演算細節,內容包含初始參數設定程序 以及分流、匯流、蒸發、降水等四個作業流程細節。首先定義使用的數學符號:
q:變數個數,即問題的維度(dimension)。
( )u
b :變數
h h的上界值,在排序問題中此值為常數q,h= 1 K , 2 , ,
q。( )l
b :變數
h h的下界值,在排序問題中此值為常數1,h= 1 K , 2 , ,
q。t :當下水流演化的代次。
α
t :在代次 t 時,水流的不分流門檻值,是一個以目標函數值改善率衡量的門 檻,
0 <
tα≤ 1
。M :水流總質量。
0N :代次t 的水流股數。
tn :分流的子水流數上限。
η:總水流數上限。
γ :每代次水氣蒸發比例,
0 <
γ≤ 1
。β
:水流合併作業依據的兩位置向量相似度;兩水流的位置向量相似度達此 值時可合併,0 <
β≤ 1
。ρ :水氣飽和值,是水氣質量佔總質量的比值,達此值時須執行降水作業,
1 0 <
ρ≤
。σ
:當代次大氣中的水氣含量,0 ≤
σ≤
M0。Ω
:當代次所有水流的編號集合,Ω={
1 K,2, ,N
t}
。X:當代次所有水流所代表的解集合(位置向量集合),
X
={ X
1,X
2,K,X
Nt}
。X :水流
i i的位置向量,X
i =[ xi1x
i2Kx
iq]
。
X :目前搜尋到的最佳解,即最佳的水流位置向量。
optXi
′
:參考水流i即時強制降水的水流位置向量,X
i′=[ x
i′1x
i′2Kx
iq′]
。X
~i:分流出水流i的母水流位置向量,
X
~i =[ x
~i1~x
i2Kx
~iq]
。V :水流
i i的速度向量,V
i =[ vi1v
i2Kv
iq]
。
M :水流
i i的質量。
( ) X
if
:水流i位置向量代表的解的目標函數值。n :水流
i i分流出的子水流數,1≤n
i ≤n
。U :水流
ik i分出的子水流 k 的位置向量,U
ik =[ uik1u
ik2Ku
ikq]
。
Y :水流
ik i分出的子水流 k 的速度向量,Y
ik =[ yik1y
ik2Ky
ikq]
。
w :水流
ik i分出的子水流 k 的質量。以下各節將詳述WFA4SP 演算中各作業的運算程序。
3.3 初始設定
WFA4SP 演化求解初始須設定初始單股水流質量
M 、水流分流數上限
0 n、水 流合併相似度β 、每代次水流質量蒸發率γ 、總水流數上限η 、和水氣飽和度 ρ 。M0用以設定初始單股水流的質量,亦即水流總質量。n限定子水流的分支數,數 值不宜過大;建議應小於5 防止浪費搜尋資源。β 是兩水流位置相似程度的門檻,
用以決定是否合併。γ 用以求算水流的蒸發質量。η 用以限定總水流數,不使水流 數量無限擴張。ρ 設定大氣中水氣含量的飽和臨界值,超過此值即視為達飽和狀 態。變數 h 的上界值bh( )u 和下界值bh( )l 即在排序問題中是物件 h 的排列順位,因此分 別是1 和變數個數q。
排序問題解限定物件不可重複出現在不同順位上,初始解可以隨機方式設定,
但須符合限制。初始水流的位置向量隨機設定
X
1 =[x
11x
12Kx
1q],x
1j∈{
1,2,K,q }
, 且x1i≠
x1k, ∀
i≠
k。同時設定初始水流的母水流位置向量X
~1 =[ x~11x
~12Kx
~1q]
,
{
q}
x j
1 , 2 , ,
~
1∈ K
,且~
xi≠
x~
k, ∀
i≠
k1
1 。
3.4 分流移步作業
分流移步作業分為兩部份:首先決定當下各股水流可分出的分流數,再決定 各支流的位置及質量,並更新其他屬性。
3.4.1 決定分流數
進行分流作業時,須先決定當下各股水流欲分出的支流數。Yang 和 Wang (2007) 提出的分流數係由當下水流所隱含的動量決定。水流在地理空間的移動遵守能量 守恆原則,由高處落至低處時會將位能轉換為動能表現於速度上。地形落差越大 時,水流速度越快,能維持方向集中,有助於快速流向地理低處。當地形較平緩 時,水流容易擴散至四周,搜尋鄰近區域。
WFA4SP 的分流數量規劃成水流落差由大到小呈指數縮減。當目標函數值改
善率大時,分流數少;改善率小則分出的水流多。WFA4SP 水流i的分流數
( ) ( ) ( ) ~ ,
~
otherwise , ,
RoundOff
if ,
1
1
i i i
i
f
i t
i
X f
X f X f f
n
f
n ti
= −
⎪ ⎪
⎩
⎪⎪ ⎨
⎧
⎟⎟
⎟
⎠
⎞
⎜⎜
⎜
⎝
⎛ >
=
⎟⎟⎠⎜⎜ ⎞
⎝
⎛−
&
&
&
α
α
(3-1)
Xi是水流i的位置向量,X
~
i是水流i的母水流位置向量,而t
α
是不分流的一個門 檻值,其值隨著代次演進而更新。超過此門檻值時,維持該股水流逕行移位演化;否則分出二股以上子水流作廣域搜尋。圖3-2 說明分流數
n 和目標函數值改善率
i f&i的關係。此例假定分流的子水流上限
n
=5,不分流門檻值tα= 0 . 4
。當 f&i超過tα時,維持一股不分流。低於tα時以指數趨勢縮減並取整數為分流數。
圖3-2. 分流數和目標函數值改善率的趨勢
為因應不同問題的目標函數值刻劃不同,及不同的目標函數值改善率,本研 究設計三種門檻值設定法:
(1) 固定成初始目標函數值改善率
以初始水流相對其母水流的目標函數值改善率設為所有代次的tα,亦即
0 1 2 3 4 5 6
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6
ni
fi
tα
.
( ) ( ) ( ) X t
f
X f X f f
t − ∀
=
=
= ~ ,
~
1 1 1
1 1
α
&α
。 (3-2)(2) 鄰近代次目標函數值改善率平均
隨著代次演化,目標函數值的改善率會趨緩。若採固定門檻將形成高門檻值,
無法不進行分流。因此取當下演化代次 t 的前r代次所有水流的平均目標函數值改 善率的平均,為門檻值,亦即
{ } ∑−{ } ∑
−
′= ′ =
′
= − 1
1 ,
max 1
1 1
, min
1 t
r t t
N i
i t
t t
f
N t
r
&α
。 (3-3) (3) 累計目標函數值改善率平均
累算到演化代次
t
−1為止,所有代次中所有水流目標函數值改善率的平均,設 定為當下演化代次 t 的門檻值,亦即∑ ∑
−=
′ ′ =
′
= −
11 1
1 1 1
tt
N i
i t
t t f
N
t
&
α 。 (3-4)
3.4.2 分流移步
決定分流數後接著決定分出的各水流移步後的位置,並且適當分配水流質量 到子水流中。
決定分流位置
由於物件排序優化問題的解是以整數序列來表示,分流移步時無法沿襲地表 水流在連續空間般,由位置加上速度決定支流移步的位置而不會違反排列限制。
本研究提出的WFA4SP 針對一般性的物件排序優化問題,開發出三種分流移步法,
確保分流後的支流位置皆代表排序問題的一個合理解。以下分別詳述三種分流移 步法:
a. 仿連續空間位置指定法(continuous-space-like position assignment method, CPA) 本法將離散的排序問題的解空間視為變動大且不合理解散置的連續整數解空