第 四 章 改良型 NP 法求解 TSP 執行架構之建立
4.2 執行架構與流程概述
根 據 NP_TSP 法之概念,本研究著手建立求解 M/NP_TSP 之執行 架 構 。 首 先 說 明 搜 尋 之 基 本 概 念 。 主 要 部 份 是 架 構 在 全 域 搜 尋 的 執 行 機 制 下 , 藉 由 分 割 及 隨 機 採 樣 步 驟 產 生 多 個 區 域 以 及 數 個 可 行 解 , 爾 後 逐 次 系 統 性 的 向 下 縮 減 搜 尋 區 域 , 期 間 同 時 配 合 回 溯 機 制 有 系 統 的 重 複 執 行 搜 尋,希 望 能 尋 得 較 佳 的 解。搜 尋 之 基 本 概 念 如 圖 4.1 所示。
根 據 搜 尋 之 概 念 與 前 節 之 數 種 考 量,配 合 TSP 問題之求解,本研 究 設 計 M/NP_TSP 之執行架構流程如下圖 4.2(b)所示,主要內容架構 與 Shi 等人所提出之 NP_TSP 架構相同,如圖 4.2(a),整體流程架構包 含 了 四 大 執 行 步 驟 : 分 割 、 隨 機 採 樣 、 計 算 候 選 指 標 與 回 溯 等 , 但 其 中 在 隨 機 採 樣 及 回 溯 部 分 仍 有 許 多 細 部 設 計 不 同 之 處 , 本 研 究 彙 整 如 表4.1 顯示 NP_TSP 與 M/NP_TSP 兩者間共同、差異之處,而 M/NP_TSP 各 個 步 驟 設 計 內 容 亦 於 文 後 一 併 說 明 。
圖 4.1 M/NP_TSP 搜尋概念圖
圖 4.2 NP_TSP 與 M/NP_TSP 執行架構差異比較
:全 域 搜 尋 法
:鄰 域 搜 尋 法
: 回 溯 機 制
一 、 分 割
其 中 , 在 分 割 步 驟 部 份 , 主 要 目 的 在 將 目 前 最 具 候 選 資 格 區 域 系 統 化 分 割 成 數 個 子 區 域 , 以 供 下 一 步 驟 ─ 隨 機 採 樣 之 用 , 而 每 一 次 分 割 的 結 果 則 會 決 定 最 佳 路 徑 中 的 一 個 節 點 。 本 研 究 在 此 步 驟 採 取 與 Shi 等人相同的分割作業方式,亦即視目前已經固定 節 點 個 數 , 以 總 節 點 數 扣 除 已 固 定 節 點 個 數 後 , 該 值 即 為 下 一 次 所 要 分 割 產 生 新 子 區 域 的 個 數 。
表 4.1 NP_TSP 與 M/NP_TSP 執行內容差異比較
NP_TSP(Shi, 2000) M/NP_TSP(本研究) 註 分 割 (總節點數-固定節點數) (總節點數-固定節點數) 同
隨 機 採 樣 最近鄰點法+均勻採樣
最 近 鄰 點 法+均勻採樣 最 近 插 入 法+均勻採樣 最 遠 插 入 法+均勻採樣
異
計 算 候 選
指 標 總 旅 行 成 本 總 旅 行 成 本 同
回 溯 回 溯 方 法 一
回 溯 方 法 一 回 溯 方 法 二 回 溯 方 法 三
異
二 、 隨 機 採 樣
隨 機 採 樣 步 驟 部 份 , 主 要 目 的 是 在 快 速 產 生 可 行 路 徑 樣 本 ,
依 Shi 等人研究顯示,使用的方式是以兩階段採樣法作為路徑產
生 的 方 法,亦 即 採 取 均 勻 採 樣(Uniform Sampling)以及最近鄰點法 (Nearest-Neighbor Search)的混合方式,先產生一條可行路徑,之 後 在 不 考 慮 總 旅 行 距 離 改 善 的 情 形 下 採 與 2-opt 類似的方式產生 剩 餘 的 路 徑 。
在 此 一 步 驟 , 依 4.1.1 節傳統鄰域搜尋法的考量,本研究尚 考 慮 最 近 插 入 法 (Nearest-Insertion) 以 及 最 遠 插 入 法 (Farthest-Insertion)兩 種 鄰 域 搜 尋 法 , 探 討 這 三 者 方 法 的 解 題 績 效 , 以 作 為 後 續 研 究 之 參 考 , 未 來 亦 可 嘗 試 引 入 其 他 搜 尋 方 式 。
再 者 , 本 研 究 深 探 Shi 等人於隨機採樣步驟整體求解程序,認為 會 有 二 個 問 題 產 生 :
(一)求出結果可能不盡理想
根 據 Shi 等人研究的做法,對每一次迭代路徑的產生方 式 是 以 「 兩 階 段 採 樣 法 」 來 產 生, 亦 即 第 一 階 段 先 以 最 近 鄰 點 法 與 均 勻 採 樣 法 的 混 合 方 式 先產 生 一 條 可 行 路 徑 , 第 二 階 段 部 分 則 以 類 似 2-opt 的交換方式來產生剩餘的路徑。然而 就 第 二 階 段 而 言 , 雖 然 可 以 快 速的 產 生 所 需 路 徑 , 也 有 可 能 產 生 好 的 解 , 但 卻 有 極 大 機 會 在此 種 交 換 機 制 下 產 生 的 路 徑 結 果 卻 是 不 好 的 。 雖 在 NP 法中有回溯的機制避免演算過程 落 入 局 部 最 佳 解 , 但 值 得 注 意 的是 , 回 溯 到 的 子 區 域 雖 然 是 所 有 尚 未 被 分 割 區 域 中 指 標 值 最小 的 , 卻 是 在 不 好 的 交 換 機 制 下 所 產 生 , 因 此 區 域 內 路 徑 的好 壞 全 憑 機 率 而 論 , 因 此 對 後 續 求 解 結 果 可 能 會 有 不 良 影 響 。
(二)求解收斂速度可能反而較慢
好 的 NP 演算機制可以讓演算法達快速收斂的成效,也
就 是 說 演 算 法 在 每 一 次 迭 代 的 過程 可 以 順 利 的 固 定 一 個 節 點 再 向 下 搜 尋 , 而 避 免 掉 「 回 溯 」的 步 驟 , 然 而 由 上 一 點 描 述 可 知 , 區 域 內 路 徑 的 好 壞 全 憑 機率 而 論 , 如 此 的 現 象 極 可 能 讓 演 算 法 不 斷 地 執 行 「 回 溯 」 的步 驟 , 倘 若 面 對 的 是 較 大 規 模 例 題 時 , 在 此 種 「 不 確 定 性 」高 的 採 樣 方 式 下 , 不 斷 執 行 回 溯 步 驟 的 機 率 更 是 大 為 提 高 ,進 而 可 能 讓 演 算 法 求 解 時 間 間 接 增 長 。
有 鑑 於 上 述 二 點 原 因 , 本 研 究 針 對 兩 階 段 採 樣 法 的 第 二 步 驟 做 一 改 變 與 設 計 , 改 變 演 算 法 執 行 採 樣 步 驟 時 不 同 搜 尋 空 間 的 方 法 。 除 保 有 Shi 等人研究所提出之方法外,本研究在兩階段採樣 法 的 第 二 階 段 相 同 應 用 2-opt 節線交換法之精神取代原有的「類 似 2-opt 交換機制」,亦即在成本(距離)值有改善的情況下才予以 接 受 。 上 述 改 變 之 作 法 主 要 目 的 是 在 加 強 演 算 法 搜 尋 的 深 度 , 是 一 種 深 度 搜 尋(Intensification Search)的概念。如圖 4.3 所示,顯
示 隨 機 採 樣 步 驟 的 執 行 方 式 , 一 樣 係 透 過 兩 階 段 的 作 業 方 式 來 處 理 , 但 在 第 二 步 驟 執 行 方 式 上 與 Shi 研究有所差別。
圖 4.3 M/NP_TSP 隨機採樣步驟執行方式示意圖
第 一 階 段 : 藉 由 不 同 鄰 域 搜 尋 法 產 生 獲 得 第 一 條 路 徑 樣 本 。 基 本 上 此 一 步 驟 與 3.4 節所提之路徑產生方式並無差異,重點在 於 既 快 速 又 有 效 果 地 產 生 第 一 條 路 徑 樣 本 , 包 含 最 近 鄰 點 法 、 均 勻 採 樣 法 、 最 近 插 入 法 以 及 最 遠 插 入 法 等 數 種 方 式 。
第 二 階 段:由 第 一 階 段 產 生 結 果,基 於 2-opt 節線交換精神,
進 而 獲 得 剩 餘 的 N-1 條路徑樣本。此步驟與 Shi 研究不同的地方 在 於 此 一 步 驟 是 採 類 似 2-opt 節線交換法,但同時必須考慮目標 成 本 有 改 善 情 況 下 才 予 以 接 受 , 亦 即 於 第 一 階 段 產 生 第 一 條 路 徑 樣 本 後 , 對 往 後 剩 餘 的 子 區 域 , 均 以 第 一 條 路 徑 樣 本 為 基 礎 , 在 不 違 反 路 徑 重 複 產 生 的 條 件 下 且 目 標 成 本 較 第 一 條 路 徑 佳 的 情 況 下 , 產 生 剩 下 所 需 的 路 徑 樣 本 。
以 往 就 一 般 演 算 法 而 言 是 先 產 生 一 可 行 解 , 再 透 過 改 善 法 則 進 行 改 善 , 本 研 究 為 考 量 NP 法 在 此 一 步 驟 與 一 般 演 算 法 之 差 異,遂 擬 定 提 出 二 種 路 徑 產 生 策 略,用 以 決 定 M/NP_TSP 在此一 步 驟 執 行 交 換 機 制 的 時 機 以 及 產 生 路 徑 個 數 :
(兩兩節線交換)
(一)每次迭代僅執行一次 2-opt 節線交換步驟
此 一 策 略 主 要 是 以 每 次 迭 代 僅 執 行 一 次 2-opt 節線交換 為 基 準 , 亦 即 如 圖 4.4 所示,當演算法在第二層執行隨機採 樣 步 驟 時 , 第 一 條 路 徑 η9 是 以 最 近 鄰 點 法 、 最 近 插 入 法 或 最 遠 插 入 法 與 均 勻 採 樣 法 的 混 合 方 式 產 生 , 而 η10則是根據 η9執 行 2-opt 節線交換法後所產生,至於其他尚未產生路徑 的 區 域 則 是 依 Shi 所提之原有方法繼續產生。事實上本研究 如 此 策 略 的 主 要 目 的 是 在 確 定 每 一 次 迭 代 產 生 路 徑 的 過 程 中 , 至 少 存 在 一 條 路 徑 一 定 比 第 一 條 路 徑 更 好 , 而 避 免 原 有 做 法 不 確 定 性 高 的 缺 點 , 進 而 改 善 解 題 品 質 不 良 的 問 題 。
η
0η
1η
2η
3η
4η
9η
10η
11η
5η
6η
7η
8η
12η
13η
14η
15圖 4.4 M/NP_TSP 隨機採樣步驟策略 1 示意圖 (二)每次迭代執行多次 2-opt 節線交換步驟
此 一 策 略 主 要 是 以 每 次 迭 代 執 行 多 次 2-opt 節線交換為 基 準,與 第 一 種 策 略 主 要 差 異 僅 在 於 執 行 2-opt 次數多寡,如 圖 4.5 所示,η9路 徑 的 產 生 方 式 與 第 一 種 策 略 並 無 異 議,重 點 在 於 後 續 子 區 域 其 路 徑 的 產 生 方 式 均 是 以 第 一 條 路 線 為 基 礎 , 然 後 執 行 2-opt 產生更多較佳的可行路徑,值得注意的 是 , 此 部 分 的 做 法 與 Lin 提出 2-opt 方法有部分差異,如圖 4.5,η10是 根 據 η9執 行 2-opt 節線交換法後所產生,而後繼 的 η11~η15亦 是 根 據 η9在路徑不重複產生條件下各執行一 次 2-opt 節線交換法。此種做法的目的除了在於提高深度搜尋 求 解 品 質 外 , 另 一 重 點 在 於 比 較 兩 種 策 略 方 式 於 解 題 精 確 度
跟 速 度 上 的 差 異 。 表 4.2 整理列出本研究 M/NP_TSP 隨機採 樣 步 驟 兩 階 段 各 個 設 計 測 試 項 目 。
η
0η
1η
2η
3η
4η
9η
10η
11η
5η
6η
7η
8η
12η
13η
14η
15圖 4.5 M/NP_TSP 隨機採樣步驟策略 2 示意圖 表 4.2 M/NP_TSP 隨機採樣步驟兩階段各個設計測試項目
第 一 階 段
9 最近鄰點法+均勻採樣法 9 最近插入法+均勻採樣法 9 最遠插入法+均勻採樣法
第 二 階 段
9 類似 2-opt 節線交換法(不考慮距離成本改善與否) 9 執行一次 2-opt 節線交換法(考慮距離成本改善與否) 9 執行多次 2-opt 節線交換法(考慮距離成本改善與否) 三 、 計 算 候 選 指 標
計 算 候 選 指 標 部 份 , 主 要 目 的 是 在 決 定 前 一 步 驟 分 割 所 產生 之 路 徑 , 何 者 是 下 一 次 迭 代 所 要 分割 的 對 象 , 對 於 候 選 指 標 的 擬 定 方 式 依 需 求 與 特 性 的 不 同 可 設 計不 同 的 指 標 計 算 方 式 , 本 研 究 衡 量 TSP 求解複雜度及演算時間因素,將 TSP 求解之目標函數─
總 旅 行 成 本 最 小,設 定 為 M/NP_TSP 計算候選指標的準則,因其 具 有 簡 單 、 運 算 迅 速 的 特 性 , 是 適 合 作 為 指 標 計 算 衡 量 的 工 具 。
四 、 回 溯
回 溯 機 制 部 份 , 此 一 步 驟 主 要 目 的 是 在 每 次 迭 代 演 算 結 果 , 當 子 代 經 候 選 指 標 計 算 結 果 較 上 一 代 計 算 出 的 解 來 的 差 的 時 候 , 則 演 算 法 會 回 溯 到 上 一 層 再 重 新 執 行 演 算 法 , 以 克 服 陷 入 局 部 最 佳 解 。 本 研 究 目 前 考 慮 三 種 回 溯 方 式 , 如 表 4.3 所示,其一即是
根 據 Shi 等人研究做法,當條件式成立時無輪如何均回到指標解
的 上 一 層 重 新 分 割 再 行 演 算 ; 其 二 就 是 由 指 標 解 向 下 繼 續 演 算 ; 最 後 則 是 先 給 定 一 h 值,而每次回溯時均回到上 h 層再執行演算,
以 下 分 段 做 更 詳 盡 內 容 探 討 。
表 4.3 M/NP_TSP 回溯步驟設計方式
最 佳 指 標 解 定 義 回 溯 方 式
回 溯 方 法 一
現 有 解 以 上,尚 未 分 割 區 域 中,候 選 指 標 計 算 結 果 最 佳 者
回 到 最 佳 指 標 解 的 上 一 層
回 溯 方 法 二
現 有 解 以 上,尚 未 分 割 區 域 中,候 選 指 標 計 算 結 果 最 佳 者
回 到 最 佳 指 標 解
回 溯 方 法 三
現 有 解 以 上 h 層內,
尚 未 分 割 區 域 中,候 選 指 標 計 算 結 果 最 佳 者
回 到 現 有 解 的 上 h 層
「 回 溯 方 法 一 」 指 的 是 演 算 法 在 搜 尋 其 他 子 區 域 表 現 績 效 時 , 若 發 現 哪 一 個 子 區 域 績 效 較 好 時 , 即 往 該 子 區 域 的 上 一 層 從 新 執 行 演 算 法 。 如 圖 4.6 所示,假設演算法目前已執行至第 5 層 (d = 5, 即 現 有 解 ), 欲 執 行 計 算 候 選 指 標 步 驟 判 斷 η27、 η28、 η29、 η30 何 者 是 下 一 迭 代 所 要 分 割 的 對 象 , 若 發 現 在 第 5 層以 上 所 有 尚 未 被 分 割 過 的 區 域 中 η15(即 指 標 解 )具 有 較 好 的 表 現 績 效 時 , 則 演 算 法 的 下 一 步 驟 即 回 到 η15的 上 一 層 級 , 即 η3再 從 新 執 行 演 算 法 , 由 η3 再 向 下 執 行 分 割 、 計 算 候 選 指 標 及 回 溯 等 步 驟 。
回 溯 方 法 一 的 作 法 實 際 上 是 根 據 Shi 等 人 研 究 內 容 沿 用 而 來,此 種 回 到 指 標 解 上 一 層 的 作 法 可 以 觀 察 出,假 設 η15是 目 前 演 算 法 找 到 的 指 標 解 , 其 所 代 表 的 義 函 是 第 5 層以上所有尚未被 分 割 過 的 區 域 中 旅 行 成 本 最 低 的 區 域 , 雖 然 如 此 , 若 從 同 一 分 割 層 級 (d = 2)來 觀 察 可 以 發 現 , η15 成 本 一 定 比 當 初 分 割 的 區 域 η10成 本 來 的 高 , 因 此 為 確 保 求 解 品 質 , 所 以 回 到 η15的上一層 再 重 新 執 行 演 算 法 。 此 種 作 法 的 優 點 在 於 搜 尋 空 間 較 廣 , 且 較 為 穩 健 保 守 , 但 潛 在 的 缺 點 則 可 能 造 成 演 算 時 間 花 費 較 為 冗 長 。
圖 4.6 M/NP_TSP 回溯機制「回溯方法一」示意圖
「 回 溯 方 法 二 」 指 的 是 演 算 法 在 搜 尋 其 他 子 區 域 表 現 績 效 時 , 若 發 現 哪 一 個 子 區 域 績 效 較 好 時 , 即 往 該 處 繼 續 向 下 執 行 演 算 法 , 與 回 溯 方 法 一 處 理 方 式 有 些 許 差 異 。 如 圖 4.7 所示,假設 演 算 法 目 前 已 執 行 至 第 5 層(d = 5,即現有解),欲執行計算候選 指 標 步 驟 判 斷 η27、η28、η29、η30何 者 是 下 一 迭 代 所 要 分 割 的 對 象,若 發 現 在 第 5 層以上所有尚未被分割過的區域中 η15(即 指 標 解 )具 有 較 好 的 表 現 績 效 時,則 演 算 法 的 下 一 步 驟 即 回 到 η15, 將 之 視 為 最 具 候 選 資 格 的 區 域 , 然 後 在 繼 續 執 行 後 續 的 步 驟 。