第三章 DNM 求解執行架構之建立
3.1 核心方法執行架構之建立
本研究執行架構是先採用傳統啟發式解法,即採用路線構建法來求得起始 解,再以交換型鄰域搜尋法來改善路線,當傳統交換型鄰域搜尋方法落入區域最 佳解中,可利用本研究所改良的智慧型演算法和交換型鄰域搜尋方法之結合,來 跳脫區域最佳解。所以綜合來說,交換型鄰域搜尋法是整個研究方法的核心方 法,對本研究的解題績效有重大的影響力,所以3.1節將詳細說明交換型鄰域搜 尋法執行架構。
3.1.1 起始解構建法
在執行交換型鄰域搜尋法之前,必須先有一個起始解,然後再以此起始解進 行交換改善。根據文獻的建議,TSP 可採用多重起始解,不同的起始解可以達到 不同的效果,以避免搜尋過程侷限在某個特定範圍裡,而有效率的起始解構建方 法相當多,例如2.4.1 節中所述:最近插入法(NI)、最遠插入法(FI)及最近鄰點法 (NN)等等。本研究主要不在於探討起始解之構建方法的優劣,所以採用楊智凱 (1995)[8]之研究結果所提之建議,以最遠插入法當成起始解之構建方法,期望能 得到較好的結果。
3.1.2 鄰域搜尋法 (Neighborhood Search Method)
本研究採用鄰域搜尋法中的交換型啟發式為核心方法,即在當前解中利用特 定的交換程序產生鄰域解,在交換過程中所產生的鄰域解中,符合接受法則就入 選考慮的方案,利用某個選擇策略,在入選的方案中選取一個方案,更新當前解 和暫優解,重複此搜尋動作,直到落入區域最佳解後便停止。交換型鄰域搜尋法 的執行架構如圖3.1 所示,步驟分述如表 3.1:
圖3.1 交換型鄰域搜尋法的執行架構
表3.1 交換型鄰域搜尋法的基本求解步驟
步驟一:起始步驟
構建可行的起始解(X0),並令:
當前解:=起始解,即Xn := X0; 暫優解:=起始解,即Xt := X0。 步驟二:區域最佳解
M 為所有移動方向的集合, XΔ 為可改善目標成本值的方向, XΔ 屬於 M , 若 XΔ 中有可以改善當前解X 的目標成本值,即執行步驟三;若n Δ 中沒有可X 以改善當前解X 的目標成本值,n X 為最終解。 t
步驟三:移動
若 XΔ 可以改善當前解X 的目標成本值,根據選取策略來選擇n ΔX 中的某一方 案。
步驟四:更新
更新當前解和暫優解為,Xn = Xn+ XΔ 、Xt =Xn,回到步驟二。
由上面的步驟流程可歸納出幾個特點:
(1) 產生鄰域移動方向的機制
所謂鄰域移動方向即是利用特定的鄰域交換機制所產生新的鄰解和當前解 的差異,利用特定的鄰域搜尋機制可以形成多個鄰域移動方向,進而形成一個集 合。不同產生鄰域移動方向的機制會產生不同的鄰域移動方向,例如2.4.2 節中 提到K-Opt 交換法、Or-Opt 交換法及 Lin-Kernighan 交換法等等,其交換機制不 同所產生的鄰域移動方向也會不同。
(2) 接受法則
鄰域移動方向有很多,必須透過接受法則來篩選對目標值有改善之移動方 向。鄰域搜尋法採用嚴格的接受法則,即對目標值有改善才入選;某些巨集演算 法採用寬鬆的接受法則,即允許接受對目標值沒有改善的方向,例如2.5.1 節提 到的門檻型演算法就是採用寬鬆的接受法則。
(3) 選取策略
若利用接受法則可篩選多個對目標值有改善之移動方向,必須透過選取策略
來選擇移動方向,選取策略一般來說可分為三種:
(a) 首先改善法(Method of First Improvement)
按順序進行交換,一旦發現目標值有所改善時,即刻進行交換,並且從 頭再重新進行交換。
(b) 最佳改善法(Method of Best Improvement)
先將所有可能改善的交換都紀錄下來,然後再對其中最佳改善來進行實 際交換,然後在重新開始交換。
(c) Heider法(Heider’s Method, Heider[20])
以固定順序進行交換,並且對有改善的部分即刻進行交換,繼續進行此 次的交換動作,不必重新開始。
不管採用何種產生鄰域移動方向的機制,在一個完整的交換週期中所採取的 選取策略均沒有可選取的方案,可使得目標成本值有改善的情況發生,則停止。
本研究以鄰域搜尋法中的交換型啟發式為核心方法,其中發展較成熟的方法 有K-Opt、Or-Opt和節點交換法(City Swap)等。
3.2 確定性成本擾動法(Deterministic Noising Method)的觀念探討