第四章 MTVRPTW之演算法架構設計
4.1 起始解構建模組
在起初解構建方面,包含有兩階段,本研究第一階段先採用節省法求解單趟 次的可行解,第二階段在以場站插入的方式分割途成形成多趟次可行解。其執行 架構如下圖 4.2 所示。
開始
起始解構建模組
鄰域搜尋改善模組
例題測試與分析
結束
局部最佳解構建程序
禁忌搜尋模組
圖 4.2 起始解的執行架構 4.1.1 單趟次路線構建
對於單趟次路線構建,本研究此用節省法構建,節省法屬於循序構建式啟發 式解法,Solomon(1983)延伸 Clarke 與 Wright(1964)原運用在 VRP 之節省法,
將其運用在 VRPTW 問題上。此法根據成本節省值大小依序將兩顧客點之節線加入 路線中,直到所有顧客都分配到路線中為止,而組合節省法則是再加入車輛的固 定成本。開始構建路線時,將第一條節線加入路線後,選擇時間上界,以決定路 線方向,節省值公式為Sij =Cio +Coj −QCij,其中 Q 為路線形狀參數(設為 1 或 是 2) ,分為 Gaskell(1967)與 Yellow(1970)所提出。每一節線加入的步驟皆須 檢查是否違反時窗與可工作時間的限制。其中合併的方式有三種(如圖 4.3 所 示)。
(1) 連結(Join):連結兩單獨需求點路徑成為一條路線。
(2) 併入(Attach):連結一單點路徑與一多點路徑,成為一新的路線。
(3) 合併(Merge):連結兩個多點路徑,成為一新的路線。
開始
單趟次路線構建
多趟次路線構建
起始解 起始解構建模組
節省法 結合場站 的插入 求解方法
圖 4.3 節省法
依照上述節省法的概念來構建起始解,其單趟次詳細建構流程如圖 4.4 所 示。
(1) 依據上述的節省值公式,計算所有的節省值,並以節省值的大小由大而小排 列。
(2) 選取最大節省值的節點,並形成一途程的起始路線。
(3) 選取下一個節省值,並檢查途程是否滿足工作時間與時窗的限制,若滿足,
則進行連結、併入與合併;若不滿足,則跳到步驟(4)。
(4) 檢查是否所有節點均納入途程,若是,則結束;若否,則回到步驟(3)。
……….
Depot
初始狀況
Depot 連結
Depot
Depot
併入
Depot
Depot 合併
Depot
圖 4.4 單趟次求解流程圖 4.1.2 多趟次路線構建
多趟次路線的構建,是從上述已完成的單趟次路線來插入場站,以便分割成 多趟次路線,插入場站的準則是以車容量為分割的界線,單一途程插入場站後,
如產生不符合時窗的需求點,則另闢一途程服務該需求點,以此準則逐一分割每 條途程形成多趟次路線,其多趟次求解流程圖如圖 4.5 所示。
計算所有節省值
將未服務需求點依節省值 由大而小排序
選取最大節省值 形成新的起始路線
選取下一個節省值
進行連結、併入或合併
是否所有需求 點皆併入途程
結束
否
是 是 是
否 是否符合工作
時間與時窗限 制
圖 4.5 多趟次求解流程圖 在可工作時間內的單趟
次解
多趟次或單趟 次可行解
插入場站
是否需插入場站作 多趟次分割
是否產生不符合 時間窗的點
先踢出最近不符合時間 窗的需求點,並自成一起 始路線
否
是
是
否