國 立 交 通 大 學
運輸科技與管理學系碩士班
碩士論文
以修正之拉氏鬆弛啟發式解法
求解包含委外運輸之車輛路線問題
A Lagrangian Relaxation-based Heuristic
for the Vehicle Routing Problems with
Private Fleet and Common Carrier
:許丞博
學
生
指 導 教 授 :黃寬丞
副教授
以修正之拉氏鬆弛啟發式解法求解包含委外運輸之車輛路線問題
A Lagrangian Relaxation-based Heuristic for the Vehicle Routing Problems with
Private Fleet and Common Carrier
研 究 生:許丞博
Student : Cheng-Po Hsu
指導教授:黃寬丞
Advisors : Kuan-Cheng Huang
國立交通大學
運輸科技與管理學系 碩士班
碩士論文
A Thesis
Submitted to Department of Transportation Technology and Management
College of Management
National Chiao Tung University
in partial Fulfillment of the Requirements
for the Degree of
Master
in
Transportation Technology and Management
July 2010
Hsinchu, Taiwan, Republic of China
以修正之拉氏鬆弛啟發式解法求解包含委外運輸之車輛路線問題
學生:許丞博
指導教授:黃寬丞 副教授
國立交通大學
運輸科技與管理學系 碩士班
摘 要
對物流管理者而言,如何將貨物由配送中心運送給顧客,是一項很重要的實務問 題。在實際營運狀況下,需求具有變異性,所以當需求量大於業者本身車隊的容量時, 業者必須考慮將過剩的需求委託貨運公司運送。本研究探討包含委外運輸之車輛路線問 題,考慮顧客是否交由自有車隊運送或委外運輸。為了在求解時間與求解品質間取得平 衡以符合實務之需要,本研究發展具備以數學規劃為主之啟發式演算法。首先,將包含 委外運輸之車輛路線問題轉換成常見之集合涵蓋問題,再以拉氏鬆弛法做為演算法之基 礎架構。其中,為降低運算負荷,求解過程中以變數產生法之觀念,產生部分車輛路線 作為解題空間,並考慮顧客委外自行運輸之修正,來找出近似解。數值測試的結果顯示, 本演算法具穩定之求解品質,求解結果與已知最佳解均相當接近,且運算的時間可滿足 現今動態快速的經營環境。 關鍵詞:車輛路線問題、委外運輸、集合涵蓋、拉氏鬆弛法A Lagrangian Relaxation-based Heuristic for the Vehicle Routing Problems with
Private Fleet and Common Carrier
Student: Cheng-Po Hsu Advisor: Dr. Kuan-Cheng Hung
Department of Transportation Technology and Management
National Chiao Tung University
Abstract
The delivery of goods from a warehouse to local customers is an important and practical decision problem of a logistics operator. In reality, we are facing the fluctuation of demand. When the total demand is greater than the whole capacity of the private fleet, we need to consider using the common carrier. In this study, we focus on the vehicle routing problem with private fleet and common carrier (VRPPC), in which a customer can be served by the private fleet or assigned to a common carrier. In order to balance computational load and solution quality and to address the issue of flexibility and simplicity, this study developed a heuristic algorithm based on several classical mathematical programming techniques. The VRPPC is first formulated in the form of the set covering problem (SCP), and the Lagrangian relaxation is used as the backbone in designing the iterative algorithm. In addition, a concept similar to column generation is used to update the solution space, a partial set of routes, to reduce computational load. The heuristic procedure was designed to find the feasible solution. Based on the numerical experiment, the solution quality of the heuristic algorithm is stable. The result suggests that the solution algorithm should be able to deal with the operational problems arising from a highly dynamic environment.
誌
謝
論文的完成首要感謝恩師 黃寬丞 教授兩年來悉心的指導與教誨。老師的耐心指 導與長時間的工作,讓我深感欽佩。在這兩年多次的討論,老師與我持續尋找解決方式, 每當迷惘時,多虧老師的不願放棄,才能持之以恆。而為了不辜負老師的期望,論文得 以順利完成,在此由衷表示謝忱。 論文口試期間,承蒙 王晉元 教授、 姚明忠 教授不吝指教與提攜,提供許多 寶貴的意見與有趣的觀點,使本論文能得到更多的補足。在此特別感謝。 另外感謝系上師長、學長姐與學弟妹的照顧。感謝系上助理於行政事務上的幫忙。 感謝實驗室的學長,景堯、兆哲、智翔,在我研一時給予我許多幫助與指導,以及學長 嘉斌、同學郁英,在課業上給予許多幫助;學妹家誼、婉葶、筱薇,許多事物多虧她們 的幫忙,我才能專心撰寫論文,尤其是論文的校稿,多虧學妹的琢磨文字方能順利完稿。 以及綜一 11 樓的樓友,每當我疲憊散心時,你們都很樂意接受我的出現,並接收我的 抱怨。非常感謝各位的幫助。 最後,要感謝我的家人,爸爸、媽媽、姊姊,感謝你們的支持與鼓勵,給予經濟方 面的協助,讓我於求學生涯沒有後顧之憂。感謝女友佩君,多年相處有你的容忍與體諒, 讓我得以勇敢面對困惑,而對於論文的看法也幫助我釐清思緒。 感謝各位,讓論文順利完成,在此願將喜悅共同分享,也祝福各位在未來順心如意。 謝謝各位,謝謝。 許丞博 謹誌于 交大 KC-Lab 2010.07.21目
錄
摘 要 ...i Abstract ...ii 誌 謝 ...iii 目 錄 ...iv 圖目錄 ...vi 表目錄 ...vii 第一章 緒論 ... 1 1.1 研究動機及背景 ... 1 1.2 研究目的 ... 2 1.3 研究方法與流程 ... 2 第二章 文獻回顧 ... 4 2.1 結合委外運輸之車輛路線問題(VRPPC)簡介... 5 2.1.1 VRPPC 之演進 ... 5 2.1.2 VRPPC 數學規劃模式 ... 6 2.2 VRPPC 求解方式探討 ... 7 2.2.1 經典啟發式解法 ... 7 2.2.2 巨集式啟發式解法 ... 8 2.3 本研究演算法相關求解技術回顧 ... 9 2.3.1 集合涵蓋模式 ... 9 2.3.2 拉氏鬆弛啟發式解法 ... 10 2.3.3 變數產生法 ... 11 2.4 結合變數產生與拉氏鬆弛之啟發式解法 ... 13 2.5 文獻小結 ... 15 第三章 模式建立 ... 16 3.1 數學模式 ... 16 3.2 集合涵蓋模型 ... 17 3.3 拉氏鬆弛模型 ... 18 3.4 演算法流程架構 ... 19 3.5 調整拉氏乘數 ... 20 3.6 求解 VRPPC 可行解 ... 21 3.6.1 自有車隊路線之啟發式解法 ... 22 3.6.2 處理顧客點委外運輸 ... 24 3.7 解題空間之路線增加機制 ... 243.7.2 插入啟發式解法 ... 24 3.8 演算法詳細流程圖 ... 26 第四章 數值測試成果 ... 27 4.1 VRPPC 標竿題庫說明 ... 27 4.2 VRPPC 測試成果 ... 27 第五章 結論與建議 ... 31 5.1 結論 ... 31 5.2 建議 ... 31 參考文獻 ... 32 附 錄 ... 35
圖目錄
圖 1. 1 企業面臨需求情況示意圖 ... 1 圖 1. 2 研究流程圖 ... 3 圖 2. 1 VRP 問題基本類型相互關係圖 ... 4 圖 2. 2 結合 CG 與 LR 架構流程圖 ... 14 圖 3. 1 車輛與委外運輸示意圖 ... 16 圖 3. 2 演算法之架構 ... 19 圖 3. 3 選取路線角度示意圖 ... 22 圖 3. 4 演算法之詳細架構 ... 26 圖 4. 1 CE-01 本研究最佳路線圖 ... 29 圖 4. 2 CE-08 本研究最佳路線圖 ... 29 圖 4. 3 CE-10 本研究最佳路線圖 ... 30表目錄
表 2. 1 傳統車輛路線問題與本研究問題差異比較表 ... 7
表 4. 1 VRPPC 標竿範例參數說明 ... 27
表 4. 2 VRPPC 標竿範例測試成果 ... 28
第一章 緒論
1.1 研究動機及背景
近年來商業面臨全球化之影響,企業之間之競爭尤為激烈,其中供應鏈更是現今角 逐之戰場。企業致力於供應鏈中的流程與活動,藉以降低成本來提升效率與品質,使其 利潤獲得最大化。而物流配送作業為供應鏈主要處理之環節,因應不同決策產生不同之 成本耗費,因此受到全球大小企業的重視與關切。在物流配送作業中,車輛規劃配送路 線佔物流企業營運相當大的成本。因此在物流配送的相關領域中,車輛路線問題(Vehicle Routing Problem, VRP)在國內外已有相當廣泛的研究。 圖 1.1 企業面臨需求情況示意圖(Ghiani et al., 2004, p.205 ) 企業通常具有自有車隊,以運送貨物至服務之顧客點,自有車隊依據顧客之距離與 需求量,進行車輛指派,致力於運輸成本最小化。而企業所面臨之需求如圖 1.1 所示。 其中橫座標為時間軸,縱座標為客戶需求量,虛線為企業之自有車隊所能服務之需求 量。可發現需求並不一致之情況,面對這種情況,一般企業會委託物流公司運送自有車 隊無法承擔之需求量。然而其中尚有許多因素必須納入考量。例如: 一、 對於許多貨運量龐大或貨物運送頻繁的公司而言,完全的委外運輸或自有車隊運 輸,其成本考量上,不見得可節制成本。 二、 基於策略的因素(例如特定客戶有特別的服務品質考量),或者作業的因素(例如 不同客戶可能有差異性的服務樣態),委外服務可能無法滿足上述考量,公司有可 能必須維持保有自身車隊才能達成該等目標。 三、 需求不確定的現象相當普遍,自有車隊所能服務之需求有所限制,而自有車隊過於 龐大,於需求相對較缺乏時,會造成資產之閒置;反之,若自有車隊規模不足,在 需求相對較高時,則會造成運量不足的瓶頸。 面對以上情況,企業為追求運輸成本最小,需同時整合自有車輛與委外貨運服務的 使用。由於需求不固定,企業必須考量無法自我運送之需求,而本研究致力於判斷顧客 點委外運輸安排與否及自有車隊之路線規劃,使得企業可將成本控制在合理範圍內。 在現實生活中,類似的問題仍是企業亟待解決之難題,但至今同時整合自有車輛與 貨運業者的相關文獻有限,完成的研究更是稀少,足見這類研究仍有相當努力空間。因 此本研究選擇以此為題,探討企業本身具有自有車隊但委外運輸業者也可供選擇的情況 Demand Time Owned Vehicles Hired Vehicles1.2 研究目的
目前國內外有許多探討 VRP 的研究,成果豐碩。此類問題具有高度求解複雜性之 組合最佳化問題,特色為問題描述容易,但求解相當困難,在求解空間中,決策變數為 整數變數,其解具有排列及組合的特性,屬於 NP-hard (Non-deterministic Polynomial-time hard),目前尚無法在多項式時間(Polynomial Time)內求得最佳解。在一般的 VRP 問題 中,會由場站(Depot)派出一組車輛來服務一組顧客,而且考慮在每個顧客點只能服務一 次的限制下,必須要完成所有顧客點的服務,在符合以上的條件下,求解出車輛路線路 徑之最佳解。但是隨著顧客點增加,路線的組合數也成指數上升,造成解題的難度提高, 所需要之求解演算時間隨問題變數數量呈指數關係成長,使得問題無法在具效率的時間 下求得精確解(Exact Solution)。因此當問題規模擴大時,為了確保在可接受的時間內, 可以得到精確度高的近似解(Approximate Solution),發展解題上具效率性的啟發式解法 (Heuristic Method)成為研究車輛路線問題相關課題的重點。
本研究之研究主題為包含委外運輸之車輛路線問題(Vehicle Routing Problem with Private Fleet and Common Carrier, VRPPC)。僅考慮單一場站、單一自有車種並存在委外 運輸服務之情形。以最小路線成本為目標,固定節線成本與固定客戶點需求,其中有車 輛容量限制,但無最大時間與時間窗的限制,且自有車輛數目有限,但委外貨運量不限 制的貨物運送問題,其決策主要為自有車輛路線安排與客戶委外與否之決定。後續視研 究的發展,可以進一步引進各種營運上的限制與考量,客戶特殊要求(如指定自有車隊 服務、運送時窗限制等等),以更符合實際需求。
1.3 研究方法與流程
Laporte and Semet (2001)提出,未來在車輛路線問題方面的研究,將朝向發展具有 演算策略更簡單、更精簡之計算量、可解更大規模的問題及適用於任何問題結構等特性 之演算法發展,即使需要犧牲某種程度的解答精確度,故本研究的重點也包含針對結合 自有車隊與委外運輸的基本車輛路線問題,建立一更簡略計算量之演算法求解問題,但 犧牲的解答精確度能於可容許範圍。
本研究參考集合涵蓋模式(Set Covering Problem, SCP)、拉氏鬆弛法(Lagrangian Relaxation, LR)、與變數產生法(Column Generation, CG),來開發一啟發式演算法。由於 演算法本身放鬆特性符合求解結合自有車隊與委外運輸的車輛路線問題之問題本質,期 望可因此加快求解速度與有效幫助企業降低運輸成本。目標在實務運用容許的時間內, 找出理想的解答,以幫助企業降低運輸成本,並提升服務滿意度。 首要工作為回顧探討過去 VRPPC 之相關文獻,彙整參考後,再針對本研究問題― 在自有車輛與委外貨運兩種運送方式可選擇的情況下的車輛路線問題提出數學規劃模 式,研究流程如圖 1.2 所示。 主要內容與進行流程簡述如下: 1. 文獻回顧:蒐集國內外文獻中已發表之 VRPPC 相關研究,求解集合涵蓋問題之發 展近況,以及相關委外貨運文獻。 2. 啟發式解法之解題架構設計:提出數學規劃模式,發展為集合涵蓋問題,並以拉氏 鬆弛演算法、貪婪法則、次梯度法之啟發式解法等求解並分析問題。 3. 解題程式撰寫:以電腦語言將整個演算法寫成電腦程式,借助電腦計算能力,以利 測試試驗之進行。
4. 測試實驗之設計:為了有系統了解本研究發展之車輛路線問題啟發式解法之解題特 性與績效,找出最佳組合方式。 5. 綜合分析:對所發展之演算法進行數值測試,比較本研究與其他已發表類似研究之 演算法之執行解題績效,檢討其發展可行性與應用潛力。 6. 結論與分析:根據綜合分析所得到之結果,提出具體結論與建議,並研擬未來相關 領域之研究方向。 圖 1.2 研究流程圖 界定研究範圍 文獻回顧 測試問題蒐集、設計 啟發式解法改進與設計 程式撰寫 數值測試 績效分析 結論與分析建議
第二章 文獻回顧
車輛路線問題的研究歷史已逾 40 年,由 Dantzig and Ramser (1959)提出,兩位學者 為現實中如何將汽油運送至各加油站的狀況,設計一數學規劃模式與求解方法;Clarke and Wright (1964)發展出一個能有效改進 Dantzing-Ramser 方法的貪婪啟發式解法。此 後,越來越多的 VRP 相關研究相繼出現,圖 2.1 可解釋各類型 VRP 的關係,Toth and Vigo (2001)依問題的類型分類大致可分為:
1. 具有容量限制的車輛路線問題(Capacitated Vehicle Routing Problems, CVRP) 2. 具時間窗限制的車輛路線問題(Vehicle Routing Problems with Time Windows,
VRPTW)
3. 具有回程的車輛路線問題(Vehicle Routing Problem with Backhaul, VRPB) 4. 收送貨車輛路線問題(Vehicle Routing Problem with Pickup and Delivery,
VRPPD)
5. 結合自有車隊與委外貨運的車輛路線問題(Vehicle Routing Problem with Private Fleet and Common Carrier, VRPPC)
VRPTW VRPPDTW VRPPD VRPB VRPBTW DCVRP CVRP Route length Mixed service Time Windows Backhauling 圖 2. 1 VRP 問題基本類型相互關係圖 經典的 CVRP 即通稱的傳統車輛路線問題,對數量眾多的顧客需求點進行純粹送貨 或收貨的作業,目標為設計一從單一場站出發的路線集合,使得車輛容量同為 Q 共 m 台 的車隊,可在最小路線成本滿足 n 個顧客的需求,其中每顧客之需求量 di為非負值,且 必須符合以下三個限制: 1. 每位顧客只被服務一次,且由一輛車滿足其所有需求 2. 所有路線的起訖點都為場站 3. 每個路線的總需求量不可超出車輛容量Q
Lenstra and Rinnooy (1981)說明 VRP 是屬於 NP-hard 問題。定義一網路,G(V,E),V
代表網路上所有節點(Vertex)之集合,E 代表網路上所有節線(Rdge)之集合,di代表發生
在節點 i 上之顧客需求(demand),cij代表使用節線(i,j)之一般化成本(Generalized Cost)。
Common Carrier
當路網圖形 G(V,E)為一個完全性網路(Complete Graph),即任意兩節點之間均存在著直 接連接該兩點的節線,常見的基礎 CVRP 數學模式為: , . . . , 1 , , } 1 , 0 { ) 8 . 2 ( , . . . , 1 , } 1 , 0 { ) 7 . 2 ( , . . . , 1 , 2 }, 0 { \ 1 ) 6 . 2 ( , . . . , 1 ) 5 . 2 ( , . . . , 1 , ) 4 . 2 ( ) 3 . 2 ( } 0 { \ 1 ) 2 . 2 ( subject to min ) 1 . 2 ( 1 0 1 1 m k V j i x m k V i y m k S V S S x m k Q y d m k V i y x x m y V i y x c ijk ik S i j S ijk V i ik i ik V j jik V j ijk m k k m k ik V i jV m k ijk ij = ∈ ∀ ∈ = ∈ ∀ ∈ = ≥ ⊆ ∀ − ≤ = ∀ ≤ = ∈ ∀ = = ≤ ∈ ∀ =
∑ ∑
∑
∑
∑
∑
∑
∑ ∑ ∑
∈ ∈ ∈ ∈ ∈ = = ∈ ∈ = 其中xijk表示車輛k(k =1,...,m)經過路段(i, j)∈E的次數,若顧客i是由車輛k服務 時yik =1,反之則yik =0。限制式(2.2)的涵意為所有顧客都只會被服務一次;(2.3)式代 表使用車輛不得超過 m 台;(2.4)式保證每輛車在服務一位顧客後會從同一顧客點離開; (2.5)式為每台車輛運送的貨物不可超出車輛的容量限制;(2.6)式則是用來防止子迴圈路 線產生。 本研究於 2.1 節說明結合自有車隊與委外貨運之車輛路線問題(VRPPC),介紹 VRPPC 與傳統 CVRP 之定義與數學規劃模式中限制式間之差異;2.2 節整合以啟發式解 法求解 VRPPC 之相關文獻;2.3 節介紹本研究以數學規劃為主求解車輛路線問題之啟發 式解法文獻;2.4 節介紹結合變數產生與拉氏鬆弛之啟發式解法文獻;最後 2.5 結為文 獻小結,闡述本研究引用數學模式,與以往文獻方法之差異。2.1 結合委外運輸之車輛路線問題(VRPPC)簡介
2.1.1 VRPPC之演進 Ball et al. (1983)研究動機源自企業在面對不同起迄對之貨物提送貨問題,可選擇以 本身擁有車隊或付費交由運輸業者運送之運送計畫的實際問題。考慮委外運輸與安排自 有車隊之規模最適化,以啟發式解法求解。Klincewicz et al. (1990)研究顧客需求設為隨 機,當無法滿足顧客需求時,運輸業者可供選擇的車隊規劃問題,設定由單一場站服務 一地理區域的問題,考量成本包含委外運輸的運費及自有車隊的固定與變動成本,利用 數學規劃模式輔助運送方案的選擇,決定合適的車隊大小,由於顧客需求隨機,決定的 策略與一般靜態問題差異頗大,因應顧客所在位置每日皆有變化,把地理位置集合劃分 為許多小區域,分別為各區域決定最好的運送方式―將區域指派為自行運送或委外。 但上述僅限於考慮自有車隊規模,並未探討自有車隊之路線規劃問題。Diaby and Ramesh (1995)加以考慮自有車隊的路線規劃,但其問題模式假設僅有一台車,其思考模型變為旅行推銷員問題結合委外運輸。直到 Chu (2005)開始將車輛路線問題結合委外運 輸,以進行探討。 Chu (2005)指出在實際生活中,需求具有不確定性,所以當需求量大於本身車隊容 量時,業者必須考慮將過剩的需求委託貨運公司運送。以單一配送中心為研究對象,考 慮不同車種與貨運公司可供選擇的情況。至此,之後討論相關此問題解法時,稱此問題 為結合自有車隊與委外運輸之車輛路線問題(VRPPC),並認為該問題之發起者 Chu。 2.1.2 VRPPC數學規劃模式 其變數涵義與模式如下: ) ..., , 2 , 1 ; ..., , 3 , 2 ( (2.12) ) ..., , 3 , 2 ( 1 (2.11) ) ..., , 2 , 1 ( (2.10) o Subject t min (2.9) 0 m k n i Q Y q n i L Y m k m Y L R X C G z n i k ik i m k i ik m k k n i n j m k n i i i ijk ijk m k k = = ≤ = = + = = + + =
∑
∑
∑
∑ ∑ ∑
∑
∑
) ..., , 2 , 1 ; ..., , 1 , 0 ; ..., , 1 , 0 ( } 1 , 0 { }; 1 , 0 { }; 1 , 0 { ) ..., , 2 , 1 ( } ..., , 3 , 2 { all for 1 (2.15) ) ..., , 2 , 1 ; ..., , 2 , 1 ( (2.14) ) ..., , 2 , 1 ; ..., , 2 , 1 ( (2.13) m k n j n i L Y X m k n S S X m k n i Y X m k n i Y X i ik ijk s i, j ijk n j ik jik n j ik ijk = = = ∈ ∈ ∈ = ⊆ − ≤ = = = = = =∑
∑
∑
∈ 其中 = otherwise 0 1 xijk i :顧客i = 0, 1,..., n (其中 0 代表配送中心) j :顧客 j = 0, 1,..., n (其中 0 代表配送中心) k :車輛k =1, 2,..., m n :顧客總數 m :車輛總數 i q :顧客i的需求 i Q :自有車輛i的裝載量 k G :自有車輛 k 的固定成本 ijk C :自有車輛 k 從顧客 i 到顧客 j 間的成本 i R :顧客 i 交由貨運公司服務的成本 自有車輛 k 在到達顧客i後即至顧客j = = otherwise 0 1 Y otherwise 0 1 L ik i i i 由自有車輛運送顧客 由貨運公司運送顧客 各限制式的涵義分別為:(2.10)式確保所有自有車輛全部接受指派,提供服務;(2.11) 式用途為使每位顧客只會由一輛車服務;(2.12)式表示裝載貨物不得超過車輛容量;(2.13) 與(2.14)式讓每一車輛再拜訪一顧客後,同時會從該顧客處離開;(2.15)式則是防止子迴 圈路線的產生。表 2.1 則提供進一步比較傳統車輛路線問題與 VRPPC 之差異。 表 2. 1 傳統車輛路線問題與本研究問題差異比較表 傳統車輛路線問題 結合自有車隊與委外貨運之車輛路線問題 單一型態服務方式,全由自有(或自己營運管 理)之車隊服務。 同時自有車隊與委外貨運可供選擇 缺乏對需求變化的彈性,營運成本可能較高 引進外包觀念,有機會進一步改善成本並滿 足需求 問題定義較單純,相關文獻豐富 問題定義更接近現況,相關文獻貧乏 車輛數不足時,不存在可行解 可透過外包觀念,一定有可行解
2.2 VRPPC 求解方式探討
根據 Fisher (1995)的分析指出,求解車輛路線與規劃問題之演算法發展可分成三個 階段。第一階段是從 1960~1970 年代,屬於簡單啟發式方式,包括有各種局部改善之啟 發式法和貪婪法則(Greedy Heuristics),如節省法,交換法,掃瞄法等;第二階段是從 1970~1980 年代,屬於以數學規劃為主的啟發式解法,將車輛路線與規劃問題放鬆(Relax) 成較為簡單的數學規劃模式加以求解,如分支定限法,拉氏鬆弛法,切割平面法,變數 產生法等;第三階段是從 1990 開始至今,屬於較新發展的方法,包括利用嚴謹啟發式 方法、人工智慧法及最佳化演算法,如禁忌搜尋法,模擬退法火,基因演算法,大洪水 法等,成效頗佳。其他相關 VRP 啟發式解法的發展可參考 Laporte et al. (2001)、Cordeauet al. (2002) 或 Toth and Vigo (2002)。
在 VRPPC 相關文獻數量較為稀少,而 VRPPC 由於考慮情況較為複雜,尚未有精 確解演算法之文獻,在此就上述 VRP 演算法發展三個階段的角度,對 VRPPC 之文獻做 一回顧。 2.2.1 經典啟發式解法 在面臨大型問題或具有時效性問題時,採用啟發式解法雖無法確保必能找到全域最 佳解,但若設計得宜,通常可求得品質不錯之近似最佳解。而近代之啟發式解法大多採 混和式啟發式解法以擷取各種解法之優點,Chu (2005)主要以節省法為主之修正式啟發 式解法求解,其 VRPPC 啟發式解法主要流程如下: 1. 先選擇委外貨運之顧客點。
2. 利用修正式 Clarke and Wright 節省法去建造一可服務剩餘顧客之路線。
3. 使用不同之區域路線交換改善方式,建立一啟發式解法,求取最佳解或最佳近
Bolduc et al. (2007)在之後改善 Chu 之啟發式解法,仍使用節省法之概念,發表 SRI(Selection, routing and improvement)啟發式解法,運用兩個不同之起始解作出更精密 之互換顧客點之動作,以求得較佳解,再利用 4-opt 改善區域最佳解。至此成功將 Chu 所做之範例之平均最佳誤差(Average optimal gap )從 13.36%降至 0.69%。
2.2.2 巨集式啟發式解法
巨集式啟發式解法能夠跳脫啟發式解法求解過程中陷入局部最佳解的窘境,並改善 傳統啟發式解法的求解績效。為了克服傳統啟發式解法在執行上易掉入局部最佳解的缺 點,後續研究大部分採用依問題特性設計之合適的巨集式啟發式解法求解問題,針對問 題特性設計跳脫局部最佳解的機制,並增加搜尋之廣度與深度。
Bolduc et al. (2008) ,修正 Chu (2005)之限制式(2.10),認為自有車隊無需全部指派, 並以多車種問題(Heterogeneous vehicle problem, HVRP)探討 VRPPC,修訂 Bolduc et al. (2007)之 SRI 啟發式解法,發展出 RIP (Randomized construction Improvement Perturbation) 之巨集式啟發式解法。其 HVRP 變數涵義與數學模形如下: 1 (2.17) o Subject t min (2.16) n 1 j 0 1 0 0 0 0 0
∑ ∑
∑ ∑
∑ ∑ ∑
= = = = ≠ = = + ≤ = m k n i m k k i jk n i n i j j m k ijk ijk m x x X C ) ..., , 2 , 1 , 0 ; ; ..., , 1 ( 0 (2.23) ) ..., , 2 , 1 , 0 ; ; ..., , 1 , 0 , ( } 1 , 0 { (2.22) ) ..., , 2 , 1 , 0 ; ; ..., , 2 , 1 , ( ) ( x (2.21) ) ..., , 2 , 1 , 0 ( (2.20) ) ..., , 2 , 1 , 0 ; ..., , 2 , 1 0, ( (2.19) ik ijk 1 1 0 0 m k j i n i u m k j i n j i x m k j i n j i q Q x q q Q Q u u m k Q x q m k n h x x ijk j k jik j i k k jk ik n i k n i j j ijk i n h j j n h i i ihk hjk = ≠ = ≥ = ≠ = ∈ = ≠ = − ≤ − − + + − = ≤ = = =∑ ∑
∑
∑
= ≠ = ≠ = ≠ = = = = = = = = = = = = = + = = ) 0 ; 0 ; ,..., 2 , 1 ( 0 ) 0 ; ,..., 2 , 1 ; ,..., 2 , 0 ( e ) ,..., 2 , 1 ; ,..., 2 , 1 ; 0 ( c ) ,..., 2 , 1 ; ,..., 2 , 1 0; ( c otherwise 0 1 x j ijk ijk ijk k j n i k n j n i m k n i j m k n j i f C k ijk k :車輛k =0, 2,..., m (其中 0 代表 dummy vehicle) k f :自有車輛 k 之成本 i e :顧客 i 交由貨運公司服務的成本 ik u :自有車輛 k 服務完顧客 i 之乘載容量上限值 自有車輛 k 在到達顧客 i 後即至顧客 j限制(2.23)式引用 Kara et al. (2004)所提出針對 CVRP 之防止子迴圈產生,以達到更 為有效且簡化之效果。整篇研究包含以區域擾動之隨機建構流程與顧客點對之擾動互換 機制,藉此求解問題。因目標式只需考慮成本最小化,轉換成 HVRP 可將原本數學模型 之困難度降低,再配合擾動機制之巨集式啟發式解法,成果比之前文獻更加卓越。
Côté et al. (2009)引用 Bolduc et al. (2008)所修正之 VRPPC 數學模型,僅考慮同車種 之情況,並利用禁忌搜尋法(Tabu Search)來解決 VRPPC 問題。起始解使用最小成本插 入法(Least-cost insertion method),再使用禁忌搜尋法和三種局部下降搜尋方式(Local Descent Based),改善起始解。並設計了一套選擇鄰近解的層級(Hierarchical search)策 略,使其能夠動態地在兩種鄰近解中選擇並修正搜尋的方向。作者亦提出一套檢測是否 掉入區域最佳解的陷阱,並提供跳脫區域最佳解的方式。最後以 Bolduc et al. (2008)以 及 Christofide et al. (1979)之標竿例題測試,其求解品質突破 Bolduc et al. (2008)。而 Euchi
et al. (2010)將 Côté et al. 之禁忌搜尋法修正為可探討多車種之 VRPPC 模型,但有關同
車種之最佳可行解數值並未有任何改善。
Euchi et al. (2009)同樣引用 Bolduc et al. (2008)之數學模式,並利用混合式基因演算 法(Hybrid Genetic Algorithm)求解 VRPPC。初始解採用隨機但滿足容量限制之路線選取 機制,再從前 25%之最佳解中隨機抽出兩條路線進行交配(Crossover);經過交配與選擇 所產生之子代(Offspring),使用變動鄰域搜尋法(Variable Neighborhood Search Algorithm , VNS)藉此改善經由基因演算法所產生之路線,以達到破除局部區域最佳解之限制。
2.3 本研究演算法相關求解技術回顧
由於 VRPPC 針對第二類數學規劃為基礎所發展之啟發式解法文獻較少,而根據 Cordeau et al. (2002)中,比較各啟發式解法,訂定出四項好的啟發式解法具備的特性, 分別為精確(Accuracy)、速度(Speed)、簡單性(Simplicity)與靈活性(Flexibility)。比起經典 啟發式解法,巨集式啟發式解法在搜尋與解題空間較為透徹完整,可獲得較品質較佳的 解,卻也同時增加了演算所需時間。並且巨集式啟發式解法所需參數較多,針對不同題 目需調整為最適參數,這對於策略之簡單性有所違背;經典啟發式解法在精確與靈活性 方面的表現也許不佳,但其中的代表性方法之節省法具有快速且容易執行的優點。 基於上述分析,本研究選用另一折衷方式,結合精確解解法及啟發式解法等兩種基 本求解方法,發展以數學規劃為基礎的啟發式解法(MP-based heuristic)。此類方法與經 典啟發式解法僅考量特定技巧的角度不相同,其係以集合涵蓋模式為基礎,具備求出最 佳解的原始架構。而且,使用集合涵蓋演算法所產生的解,已隱含符合每個限制式的要 求,其彈性和實用性在應用上具有一定優勢。 數學規劃為基礎的啟發式解法通常是將求解問題轉換成數學模式,放鬆限制後 再 進一步求解。近年來針對車輛路線問題通常將其轉換為 SCP,再針對 SCP 進行求解。 2.3.1 集合涵蓋模式Balinski and Quandt (1964)首度將 CVRP 轉化為集合涵蓋問題(Set Covering Problem , SCP)與集合分割問題集合涵蓋問題(Set Partition Problem , SPP)形式求解。集合涵蓋問題 模式如下: o Subject t min (2.24)
∑
ℜ ∈ r r rx cℜ ∈ ∀ ∈ ≤ ∈ ∀ ≥
∑
∑
ℜ ∈ ℜ ∈ r x m x N i x r r r r r ir } 1 , 0 { (2.27) (2.26) 1 (2.25) = otherwise 0 route in served is customer f i 1 i r ir = otherwise 0 solution optimal in the is routr f i 1 r xr 基本想法為產生所有可行的車輛路線,車輛路線的起點與終點都為場站,車輛路線 解可以被定義成一個集合S⊆{
1,...,n}
,其中顧客都被相同的車輛運送,路線中顧客總需 求不超出車輛容量 Q,所有的可行路線解題空間為ℜ={1,2,...,R},c 為路線r r的路線 成本。若顧客在路線r上被服務則ir =1,否則ir =0。另外,若最佳解中包含路線r則 1 = r x ,否則xr =0。限制式(2.24)確保每位顧客至少會被涵蓋一次,(2.25)式表示最多只 可產生 m 條路線。 Agarwal et al. (1989)指出任何一組 SPP 的可行解為同問題之 SCP 的可行解,任何一 組 SPP 的最佳解也為同問題之 SCP 的最佳解。由於限制式不同的關係,求解 SCP 比求 解 SPP 來的容易,兩者差別在於,SCP 的可行解相對於 SPP 問題,可能有顧客點被涵 蓋在一個以上的路徑內。解決的方式,可以透過刪除 SCP 中重覆涵蓋的顧客得到成本較 低的 SPP 可行解,也因此大多數研究並未採取 SPP 的模式。 集合涵蓋問題之求解,目前一般的啟發式解法,普遍可獲得品質不錯的上限值,下 限值則通常是藉由放鬆限制式求解而來。因此本研究針對 SCP,介紹與本研究相關運用 之啟發式解法。 2.3.2 拉氏鬆弛啟發式解法 SCP 模式仍屬於 NP-Hard 的問題,通常需要放鬆限制式並搭配啟發式解法求解。而 其中作法可將集合涵蓋限制放鬆,使用拉氏鬆弛啟發式解法求解。拉氏鬆弛啟發式解法 (Lagrangian relaxation, LR)是一種可以求得近似最佳解(Near Optimal Solution)的方法, 它藉由鬆弛複雜的限制式,使得主問題簡化。 它可以取代線性規劃(Linear Programming Relaxation),因為拉氏鬆弛法所求出來的下界(lower bound)比線性規劃所求出的下界, 可以較逼近最佳化。 拉氏鬆弛法在 1970 年代以前即被提及,但真正訂出此方法之架構,則是 Held and Karp (1970)提出。假設此問題模型如(2.28)式~ (2.30)式所示,其中 F(x)為目標式,G(x) 與 H(x)為限制式。 b x h H b x g G x F in ≤ = ) ( : (x) (2.30) ) ( : (x) (2.29) o Subject t ) ( M (2.28) 由最佳化的基本定理可以知道,目標函數必定與限制式相切於具有最佳解的點,也 就是在此點上目標函數與限制式的梯度會呈線性組合的關係,如(2.31)式: 在(2.31)式中的 λ、µ 被通稱為「拉氏乘數(Lagrangian Multiplier)」,而將(2.31)式重 新整理之後,我們可以定義一個新的函數 L( x, λ) ) ( ) ( ) ( ) L(x, (2.32) =F x +G x +H x 這個新的函數 L( x, λ) 通稱為「拉氏函數(Lagrangian Function)」。現在若將 (2.32) 式當作一求最小值問題的目標函數,並固定 µ 為一非負值,經過整理如(2.33)式所示: 0 (2.34) o Subject t ) ( ) ( ) ( M (2.33) x ≥ + + G x H x x F in 我們可以發現(2.33)式的最佳解為(2.28)式的最佳解加上 λG( x) 、µH(x)這兩項,又 因為在求得(2.28)式的最佳解時,λG( x) = 0、µH ( x) ≦ 0,所以(2.33)式的最佳解是(2.28) 式最佳解的下界,所以我們可以定義一「對偶函數(Dual Function)」,如(2.35)式所示: ) , , ( in ) , q( (2.35) m L x x = 而(2.28)式最佳解的求得,可藉由調整 λ 和 µ 來求得對偶函數的最大值,於是定義 一對偶問題如(2.36)式所示: 0 (2.37) o Subject t ) , ( x M (2.36) , ≥ a q 由上面敘述可以觀察出,一個有限制的最佳化問題,可以藉由將限制式乘上拉氏乘 數,並且加於目標函數裡,而轉化成一無限制條件的最佳化問題,使得問題較易求解。 拉氏鬆弛法是藉由調整拉氏乘數來求得對偶問題最大值的方法,所以最主要的問題 在於要如何獲得一適當的拉氏乘數,整個求解過程會先給定拉氏乘數的初值,在經由持 續的疊代來修正拉氏乘數,直到得到一適當的值。修正每次疊代時拉氏乘數值在大部分 的文獻中均採用由 Fisher (1985)發表之次梯度法最佳化法(Sub-gradient Optimization method)。λ 是對應於等式限制式的拉氏乘數,所以沒有方向的限制,而 µ 是對應於不 等式的拉氏乘數,所以具有方向的限制,會因目標函數是求最大值或最小值與不等式的 方向而有所不同,在這裡限制其為一非負值。
調整拉氏函數至今有許多方式,除了上述之次梯度法,Zhao, X et al. (1999)改善次 梯度法逼近拉氏函數時所產生鋸齒狀(Zig-zag) 震盪,提出替代梯度法(Surrogate Gradient Mehod)已更加逼近拉氏乘數最佳值;Hitiart-Urruty et al. (1993)更提出求解非光滑
(Nonsmooth)拉氏對偶函數之包裹法(Bundle Method),以將拉氏鬆弛法做更進一步的應 用。
Fisher (1994)開始採用拉氏鬆弛法求解車輛路線問題。Carprara et al. (1999)採用拉氏 鬆弛法針對集合涵蓋問題求解,利用次梯度法逐步改善最佳解的上下限值,夾擠出以逼 近最佳解。
2.3.3 變數產生法
但對於 VRP 轉換為 SCP 模式,其可能之解題空間需自行產生,但如果窮舉又過於 浪費時間,通常的方式是藉由變數產生法(CG)增加解題空間之路線,使得 VRP 問題得
早期將車輛路線問題轉換為集合分割問題求解的研究如 Agarwal et al. (1989),採用 變數產生法或稱為 Dantzig-Wolfe Decomposition,達到線性放鬆的目的,主要概念利用 線性規劃中的對偶理論(Dual Theory)產生可改善目標值的變數(column),以避免浪費時 間於窮舉對問題求解沒有貢獻的變數。因此,變數產生法常用於解決具有龐大變數的線 性規劃問題。
變數產生法將集合分割問題分為主問題(Master Problem) 與子問題(Sub Problem)。 由於考量求解的可行性與方便性,求解集合涵蓋問題較求解集合分割問題容易,故多數 研究將欲求解之集合分割問題放鬆,改求解集合涵蓋問題,並放鬆整數限制為線性規畫 問題,之後再做適當的調整機制以滿足集合分割之整數限制。因此放鬆為集合涵蓋問題 並放鬆整數限制式,使變數產生法中的主問題成為放鬆整數限制的集合涵蓋問題,即為 一線性規劃問題。利用簡捷法(Simplex Method)求解主問題目前所包含變數的最佳解。 並依據對偶理論(Dual Theory),定義線性規劃問題限制式之對偶變數為 π ,主問題之對 偶問題(Dual Problem)主要是利用線性規劃中的對偶理論(Dual Theory)來產生變數 (column),以避免浪費不必要的時間去窮舉不可行或對於求解問題沒有貢獻的變數。使 用變數產生法求解集合涵蓋問題時,主問題為原 VRP 轉換成 SCP 模式,為(2.24)式、(2.25) 式、(2.27)式所述,並將(2.27)式放鬆整數限制,即xr 0> r∀∈ℜ。其對偶問題如下: 0 (2.40) (2.39) o Subject t Max (2.38) 1 1 ≥ ∈ ∀ ≤
∑
∑
= = i N i r i ri N i i R r c a 根據簡捷法(Simplex Method)之對偶可行性(dual feasibility)可知:針對尚未考慮到的 變數(remaining columns)air(i=1,,N), r∈R,若是可以從設計的子問題中發現最小的 減少成本(the least reduced cost),即 Minimize(cr–Σπi•air)≧ 0,代表已找到此問題的最佳
解;反之則我們可以從這些尚未考慮的變數中挑選減少成本最小(負)者air*加回主問題 繼續求解。 Agarwal 將 CG 子問題設計如下,其中yi, i=1,,N是二元決策變數,而y即所有yi 所形成的向量。 Binary y R r c a y f Z in i N i r i ri N i i i , (2.43) (2.42) o Subject t ) ( M (2.41) 1 1 ∈ ∀ ≤ ⋅ − =
∑
∑
= = y (2.41)式中 f(y)是 column y下的最佳 TSP 成本,而(2.42)式為車容量限制。由於難 以求得 f(y),Agawal 等人再以線性方程式 f(y)=p⋅y近似代換之,其中p為 ) , , 1 (i N pi = 所形成的向量,p 是對應顧客i i成本的線性估計值,進一步將子問題轉 變成為背包問題(Knapsack Problem),再以分支定限法(branch-and-bound)求解,得 * *=y ir a 。以此程序逐步改善原有問題的解,直到子問題無法再產生新的 column 為止。若放鬆整數限制後所得到的最佳解為整數解,即為原集合涵蓋問題的最佳解,若不為整 數解,則採用分支定限法繼續求解以獲得整數解。 採用變數產生法的主要優點在於求解過程中一次只考慮部份的變數,並利用主、子 問題間的訊息傳遞,逐步得到最佳解。如此可以避免去處理極大多數不可能包含於最佳 解的不良路線,也因此不至位變數過多反而無法求解或者效率太差。 雖然 CG 解決了需窮舉出所有求解集合來求解問題的缺點,但亦導致相對複雜的求 解過程,尤其子問題(如(2.41)式~(2.43)式)通常求解亦不容易。另外,求得 SCP 放鬆整 數限制後的解通常也是不可行的分數解,之後還是必須依賴 Branch-and-Bound 求解,尤 其針對較大規模問題時依然得花長時間求解,顯得較無效率。也因此 Agarwal 雖然以 CG 求解車輛路線問題,但以求出精確解為目的,只能求少數顧客點之車輛路線問題。
2.4 結合變數產生與拉氏鬆弛之啟發式解法
CG 子問題通常求解不容易,求得 SCP 放鬆整數限制後的解通常也是不可行的分數 解,之後還是必須依賴 Branch-and-Bound 求解。而 LR 雖然可以提供目標函式之下限值, 但不保證有可行解,因此需要類似次梯度法之方式進行疊代,以逼近最佳解,但目前為 止並沒有人可以準確的計算出修正量,所以往往需要經過多次的疊代修正,而這也使得 拉氏乘數會於過與不及之間來回的震盪導致收斂速度緩慢或甚至無法收斂,而這即是拉 氏鬆弛法的一大缺點。不過若是限制疊代次數,其疊代時間則縮短許多,而因為逼近最 佳解,可再進行改善。Desaulniers et al. (2005)說明其實 CG 與 LR 存在很重要之關聯,Geoffrion (1974) , Fisher (1981)分別利用 CG 與 LR 求解發現,其問題互為對偶性。LR 所針對原此問題之 連結限制(Link Constraint)放鬆所獲得之最佳解,與原始問題轉換為 Dantzig-Wolfe Decomposition 作線性放鬆所求之最佳解相同。更進一步來說,LR 所得之拉氏乘數與線 性放鬆其連結限制之最佳對偶變數相等。也就是說,CG 處理子問題流程與原始問題利 用拉氏啟發式解法求解結果相同。因此 Sol (1994)處理車輛路線問題,Löbel (1998)與 Fischetti et al. (1997)嘗試結合 CG 與 LR 處理車輛規劃與 STSP 問題,並加以論證 CG 與 LR 之關聯性。
Desaulniers et al. (2005)也提到另一種觀點,除了利用簡潔法(Simplex)處理
Dantzig-Wolfe Decomposition 以獲得最佳對偶變數值,還可利用拉氏鬆弛法近似對偶變 數。Cattrysse et al. (1993)與 Jans and Degraeve (2004)利用此演算法處理產能限制生產批 輛問題(Capacitated Lot-Sizing Problem,CLSP),Cattrysse et al. (1994)結合 CG 與 LR 啟發 式解法求解一般配問題(Generalized Assignment Problem),結合 CG 與 LR 啟發式解法架 構主要是以 CG 為主,求解子問題時利用 LR 進行求解,如此可以縮短 CG 求解子問題 之時間,比直接使用簡捷法求解現性放鬆問題更有效率。
Bixby et al. (1992)與 Barnhart et al. (1998)說明 Dantzig-Wolfe Decomposition 利用 interior method 所得的對偶變數比簡潔法求出的對偶變數值更有效率,因為利用簡捷法 所求之對偶變數容易因問題特性而退化成線性解(Vertex Solusion),而 LR 所求得之拉氏 乘數值近似於 interior method 之對偶變數值。因此利用次梯度法來求解拉氏乘數以解決 問題退化之特性,並利用拉氏乘數可輕易找出可行解。因此 Desaulniers et al. (2005)提出 結合 CG 與 LR 兩種觀點之架構如圖 2.2 所示:
圖 2. 2 結合 CG 與 LR 架構流程圖
文獻上利用 CG 與 LR 之啟發式解法處理車輛路線問題較少,以 LR 為主之演算法 更為罕見。Wu and Huang (2007)對於 CVRP 以 LR 為主設計一啟發式演算法,求解過程 中以變數產生法之觀念,只產生「部分車輛路線」作為解題空間,再於遞迴運算中將解 題空間內的車輛路線進行調整,使得挑出的車輛路線逐步逼近最佳解。並以保留少數車 輛路線做為調整解題空間的方式,大幅降低運算負荷,有效縮短找尋近似最佳解所需時 間。 林欣誼 (2007)將 Chu 數學模式改善,認為(2.10)式牴觸追求最小成本之精神,因會 先認定委外貨運成本必高於自有車隊運輸成本。因此林欣誼將(2.10)式去除,認定自有 車隊與委外貨運之地位對等,並不考慮自有車隊固定成本獨立一變數(將(2.9)式 FC 去除) 選擇將其平均分散包含於一般路線成本中。林欣誼建構修正式之數學模型,參考 Wu and Huang (2007)利用以拉氏鬆弛演算法(Lagrangian Relaxation-based Algorithm)求解其 VRPPC 問題。本研究與林欣誼只有架構類似,對於求解可行解與增加解題空間路線, 方法尚有許多不同,而本研究之成效也優於林欣誼所提出之演算法。 Qureshi et al. (2009)針對具時間窗限制之車輛路線問題(VRP-TW),運用變數產生法 之子問題特性,計算顧客點之對偶變數 π 值,以減少成本(Reduced Cost)選取最適當之顧 客點插入至隨機抽取之路線。其所提出之插入啟發式解法(Insertion Heuristic)可提升調整 路線集合之效率,降低求解之困難,並求出品質不錯之可行解。 架構二 架構一 原始問題 轉換成 Dantzig-Wolfe Decomposition 轉換為 LR 獲得 拉氏乘數 使用 CG 求解 將拉氏乘數替 代對偶變數 拉氏乘數近似 對偶變數 轉換為 LR 獲得 拉氏乘數 利用 CG 或結 合啟發式解法 求解 求解子問題
2.5 文獻小結
基於上述分析,本研究引用 Bolduc et al. (2008)所修正之 VRPPC 數學模型,僅考慮 同車種之情況。採用 Bolduc et al. (2008)所發表之標竿題庫進行數值測試,比較對象為 Bolduc et al. (2007)之 SRI 啟發式解法,Bolduc et al. (2008)之 RIP 巨集啟發式解法,以及 Côté et al. (2009)之禁忌搜尋法。 雖然巨集式啟發式解法求解上較為透徹完整,但所需參數較多,針對不同題目需調 整為最適參數,這對於策略之簡單性有所違背;經典啟發式解法在精確與靈活性方面的 表現也較不佳。本研究選用另一折衷方式,結合精確解解法及啟發式解法等兩種基本求 解方法,發展以數學規劃為基礎的啟發式解法(MP-based heuristic),以致力於可行解品 質與執行效率上獲得權衡。 本研究參考 Wu and Huang (2007)與林欣誼(2007)將 VRPPC 轉換為集合涵蓋模式, 再使用拉氏鬆弛法進行求解動作。可行解之部分參考並修正 Caprara et al. (1999)之演算 法,使得 VRPPC 可獲得有效之可行解。增加路線之方式參考 Qureshi et al. (2009)運用變 數產生法之子問題特性,所發展之插入啟發式解法,並以拉氏乘數近似對偶變數,以避 免計算 CG 子問題。而藉此不但避免計算對偶變數,並使用啟發式解法求解可行解與增 加解題空間之路線,增加求解效率。
第三章 模式建立
3.1 數學模式
本研究引用Bolduc et al. (2008)所探討的整合自有車隊與委外貨運服務之車輛路線 問題,只探討同車種之數學模式。對於VRPPC之數學模式架構,其主要包含以下的前提 假設。相關自有車隊與委外運輸情況如圖3.1所示: 1.每位顧客只被服務一次,由一輛車滿足其所有需求,不允許分批運送。 2.為單一場站車輛路線問題,所有路線的起訖點皆為場站。 3.只考慮單純送貨情況。 4.每個路線的總需求量不可超出車輛容量 Q,每輛車容量固定。 5.共 n 個顧客、自有車輛共 m 台。 6.客戶委外服務無相關總數或客戶別之限制,客戶委外成本已知。 7.指派自有車隊車輛需給付指派車輛成本,指派車輛成本固定。 圖 3.1 車輛與委外運輸示意圖 整數規劃模型如下: ) ..., , 2 , 1 ( 1 (3.4) ) ..., , 2 , 1 ; ..., 2 , 1 , 0 ( (3.3) (3.2) o Subject t min (3.1) 0 0 1 1 1 0 1 0 0 0 1 1 0 n i z Y m k n h Y X X m X X z p X C Y f z m k i ik n h j j hk n h i i ihk hjk n j n i m k k i m k jk n i n i j j m k n i i i ijk ijk m k k k = = + = = ≤ = ≤ = + + =∑
∑
∑
∑
∑
∑ ∑
∑ ∑ ∑
∑
∑
≠ = ≠ = = = = = = ≠ = = =) ..., , 2 , 1 ; ..., , 1 , 0 ; ..., , 1 , 0 ( } 1 , 0 { }; 1 , 0 { }; 1 , 0 { (3.7) ) ..., , 2 , 1 ( } ..., , 3 , 2 { all for 1 (3.6) ) ..., , 2 , 1 ( (3.5) m k n j n i z Y X m k n S S X m k Q Y d i ik ijk s i, j ijk n i ik i = = = ∈ ∈ ∈ = ⊆ − ≤ = ≤
∑
∑
∈ 變數與符號說明: i :顧客之編號; (其中 0 代表配送中心) I :所有顧客所成的集合,I ={
1,...,n}
k :車輛之編號,k =1, 2,..., m n :顧客總數 m :車輛總數 i d :顧客i的需求量 Q :自有車輛之裝載量 k f :自有車輛 k 的固定成本 ijk C :自有車輛 k 從顧客 i 到顧客 j 間的成本 i p :顧客 i 交由貨運公司服務的成本 自有車輛 k 從顧客 i 直至顧客 j Otherwise 顧客 i 之需求交由委外運輸 Otherwise 顧客 i 的需求交由自有車隊運送 Otherwise = Otherwise 0 k 1 0 使用自有車輛 k Y 其中目標式總成本的極小化,其中包含車輛指派之固定成本、自有車隊各路線的成 本,加上委外運輸的費用。(3.2)式規範自有車隊起迄點皆為場站,場站唯一,且不需要 指派所有車輛。 (3.3)式說明若顧客點由自有車隊運輸,服務顧客點前後皆由同一輛車, 且只服務一次。(3.4) 每位顧客會由一輛自有車輛服務或者委外的貨運公司服務,而此 限制式亦為本研究問題與一般 CVRP 最大的差異所在。(3.5)式表示裝載貨物不得超過車 輛容量,同時會從該顧客處離開;(3.6)式則是防止子迴圈路線的產生。 但此數學模型不易求解,需考慮防止子迴圈路線的產生,因此本研究將針對 VRPPC 轉換成 SCP 模型,並以修正之拉氏鬆弛演算法進行求解,。3.2 節將 VRPPC 轉換成類 似 SCP 之數學規劃模式;3.3 節將 SCP 模型放鬆涵蓋限制,以拉氏鬆弛模型進行探討。3.2 集合涵蓋模型
將自有車輛路線問題轉換為集合涵蓋問題,將自有車輛可行之路線組合視為一個集 合,轉換為類似 SCP 之數學規劃模式如下: = = 0 1 0 1 i ijk z X = 0 1 ik YI i z r x m x I i z x a z p x c i r r r r i r ir i n i i r r r ∈ ∀ ∈ ℜ ∈ ∀ ∈ ≤ ∈ ∀ ≥ + +
∑
∑
∑
∑
ℜ ∈ ℜ ∈ = ℜ ∈ } 1 , 0 { ) 12 . 3 ( } 1 , 0 { ) 11 . 3 ( ) 10 . 3 ( } 0 { \ 1 (3.9) subject to min ) 8 . 3 ( 1 r :車輛路線之編號 ℜ:車輛路線之集合,後續稱為解題空間(Solution space) cr:車輛路線 r 所對應的成本,其成本包含車輛固定成本與路線成本 air:0-1 整數變數。當顧客 i 包含於車輛路線 r 之內時,air =1,否則為 0。 xr:0-1整數變數。當車輛路線r被選取時,xr =1,否則為0。 目標式考慮顧客點是否交由委外運輸,並且針對自有車隊路線解題空間,組合出滿 足限制式的路線成本最小化。式(3.10)表示派遣自有車輛不得超過自有車輛總數。式(3.9) 使用不等式而非等式是因為一般而言求解 SCP 會較 SPP 容易,但所求得之解顧客可能 重複涵蓋,因此將選取路線中重複之顧客刪除,將顧客修正為僅被涵蓋一次。 SCP模型在求解時,其解題空間已包含所有可能的集合,但對於車輛路線問題來說, 先建構出所有可能的路線已耗費大量的時間。因此本研究發展增加有效路線之演算法, 構成路線集合ℜ,以避免窮舉路線集合。但SCP屬於NP-Hard的問題,難以求解,一般 可針對集合涵蓋限制式,或是整數限制放鬆。而本研究針對顧客點涵蓋限制放鬆,運用 拉氏鬆弛法LR進行求解。3.3 拉氏鬆弛模型
針對(3.8)式~(3.12)式之模式,對於(3.9)式使用拉氏鬆弛法放鬆限制,λi代表拉氏乘 數(正值),λ 為所有 λi所形成之向量,對於本研究之車輛路線問題而言,可將其視為該 顧客在此路線集合之下的相對成本,故可藉由拉氏乘數來做為搜尋車輛路線的標準。以 下為放鬆限制後的模式: I i z r x m x r c c z p x c Min L i r r r I i i r r I i i I i i i i r r r r ∈ ∀ ∈ ℜ ∈ ∀ ∈ ≤ ℜ ∈ ∀ − = + − + =∑
∑
∑
∑
∑
ℜ ∈ ∈ ∈ ∈ ℜ ∈ } 1 , 0 { ) 17 . 3 ( } 1 , 0 { ) 16 . 3 ( ) 15 . 3 ( ) ( (3.14) o Subject t ) ( ) ( ) ( (3.13) I :對於第 r 組車輛路線,所有被涵蓋的顧客所成之集合。(I ={i∈I:a =1})。表示車輛路線組合 r 被選取 表示顧客 i 由委外運輸服務 因目標式為最小化,只需將拉氏乘數帶入,並加總算為負值之 cr(λ)以及為負值之 pi-λi,即可求得 L(λ)值,因 L(λ)值根據放鬆限制式後求得,就該解題空間 R 所對應的問 題而言,其值為下限值。但鬆弛解通常為不可行解,又因為解題空間 R 並非窮舉或未有 最佳路線組合於解題空間中,L(λ)對於原問題之式(3.8)而言並非下限值,因此需發展啟 發式解法以進行求解可行解。演算法設計在下節說明之。
3.4 演算法流程架構
本研究將 VRPPC 轉為 SCP 模式,再轉換為 LR 模式以發展修正之啟發式解法,以 獲得不錯的可行解。VRPPC 相對於 CVRP 之差異,其放鬆涵蓋限制之下,對於 CVRP 需考慮未被涵蓋之顧客點,但在 VRPPC 中可視為委外運輸服務;VRPPC 需修正委外運 輸顧客點集合以及自有車隊路線集合節點,重覆涵蓋的情形。 整體流程為在解題空間中,挑選不錯的路線組合建構可行解,若尚未達到停止條 件,則增加解題空間之路線,使得可行解有更多路線得以挑選,進而改善目標式值。整 體架構如圖 3.2: 圖 3.2 演算法之架構 初始化 調整拉氏乘數 求解 VRPPC 可行解 符合 停止條件 結束 是 否 增加解題空間 之路線 − ≤ = ≤ = Otherwise 0 0 1 Otherwise 0 0 ) ( 1 i i i r r p z c x 此啟發式解法主要分為修正之 LR 與修正之 CG(插入啟發式解法),如圖 2 所示。LR 啟發式解法藉由調整拉氏乘數,利用拉氏乘數選取路線組合,並處理委外運輸情況求出 可行解;以插入啟發式解法增加解題空間之有效路線,使得拉氏乘數得以改善,再度求 解可行解。而調整拉氏乘數係經過修正之次梯度法進行一定次數之疊代(後續以 T 次表 示),將疊代後之拉氏乘數求出 VRPPC 可行解。如尚未滿足停止條件,則持續遞迴。 流程中所包含的步驟於後面章節說明。3.5 節為調整拉氏函數機制;3.6 節進行拉氏 鬆弛求解之啟發式解法;3.7 節說明解題空間之增加機制;3.8 節闡述演算法詳細流程。
3.5 調整拉氏乘數
傳統以拉氏鬆弛法求解 SCP 模型時,皆致力於拉氏乘數最適化。但對於 VRP 而言, 缺乏所有的路線集合,而產生新的路線集合,拉氏乘數可能會受到新的路線集合之影 響,最適值又再度改變。因此,為了有效調整拉氏乘數,並且不會降低求解效率,本研 究修正 Held and Karp (1970)所提出之次梯度法。而 Desaulniers et al. (2005)也提出次梯度 法仍是目前廣受使用,而且有效率之方法。有關拉氏鬆弛法遞迴運算過程中,拉氏乘數 之修正,可參考(3.18)式之運算(Held and Karp, 1970),式中 t 代表第 t 次疊代運算, t={1,…,T}。 I i s s L UB t i t t t i t i ∀∈ − + = + ( ),0 ) ( ) ( max (3.18) 2 1 UB 為遞迴運算中最佳上限值,L(λt)為第 t 次所求得的放鬆下限值,最佳解位於 UB 與 L(λt )所夾之區間範圍。拉氏乘數更新方式藉由上下限值逼近,以縮小拉氏乘數 λ 值調 整步幅,慢慢修正以逼近最佳解。α為給定的步幅參數(step-size parameter),主要針對 UB、L(λt)和 si(λ)三項數值做出修正細部調整。α也可根據求解次數或解的品質來做動態 微調,藉由改變其值以加快收斂速度或減緩調整幅度以利於求得較佳的解。 為求短時間內找尋出近似最佳拉氏乘數向量,一般常使用次梯度向量 si(λ),表示為 下次 λi值的修正方向。si(λ)、λi與拉氏鬆弛解 xr(λ)間的關係為: I i x s i r r t i = −∑
∀∈ ℜ ∈ ) ( 1 ) ( (3.19) Ri:針對顧客i,所有涵蓋此顧客之車輛路線組合所成的集合,{i∈I:air =1} ) ( t i s 值大小之涵意為在cr()<0 之路線中,顧客i被涵蓋之次數,當其值為負代表 被涵蓋超過一次;其值等於 0 時,表示該項目僅被涵蓋一次;而其值等於 1 時,表示該 顧客點未被涵蓋。透過si(t)來調整更新拉氏乘數向量,將產生一序列1,2,等的非 負拉氏乘數向量,對於較大規模的問題,可以獲得較快的求解速度,當遞迴次數持續增 加此值亦會趨於穩定。 si(λt)值大小之涵意為在 cr(λ)<0 之路線中,顧客i被涵蓋之次數,當其值為負代表被 涵蓋超過一次;其值等於 0 時僅被涵蓋一次;而其值等於 1 表示該顧客未被涵蓋。但 L(λt)對於本研究並非下限值,無法依據 UB 與 L(λt)經疊代次數夾擠以逼近 λi最適值,因 此在不違背次梯度法調整拉氏乘數之精神下,希望顧客點的涵蓋次數皆被涵蓋一次的情 況邁進。本研究將次梯度法修正為式(3.20)。αt為更新 λ 值的調整係數,調整 αt值為式(3.21){
si t}
i I t t i t i = + ∀∈ + 0 ), ( max (3.20) 1 0 ) ( ) ( 5 . 0 (3.21) 1 1 − ≤ ∀∈ =∑
∑
− + otherwise I i s s if t i t i i t i t t Σ|si(λt)|為顧客點之涵蓋誤差總值,表示所有顧客並非涵蓋一次之指標。為滿足次梯 度法逐步修正步幅機制,本研究針對修正之次梯度法檢驗上述指標,若第 t 次顧客點涵 蓋誤差總值小於等於前一次之誤差總值,表示 αt值之步幅適合,因此希望步幅縮短讓顧 客點之涵蓋誤差總值更小,通常之方式是將原有步幅減半。而不使用|| si(λt)||2之原因為 平方值過大,容易造成偏誤。 但隨著解題空間之路線增加, cr(λ)<0 之路線數量也隨之上升,使得顧客點的涵蓋 次數過多而造成調整拉氏乘數步幅過於劇烈。Caprara et al. (1999)針對此問題做出以下 修正: 1. 將 cr(λ)<0 之路線依照 cr(λ)值由大到小排序形成子集合 R’。 2. 計算 cr(λ)<0 之路線所包含的顧客點種類:I(R’)。 3. 依序檢視 R’內之路線,若該路線不會改變 I(R’),則將該路線刪除。 4. 最後剩餘子集合 R’取代 R 並套入式(28),重新計算顧客點涵蓋次數。 經過上述修正,可大幅減少 cr(λ)<0 之路線數量,並找出主要影響拉氏乘數方向之 路線。而不從 cr(λ)值最負的路線開始檢驗,是避免陷入區域搜尋。 起始拉氏乘數 0 i 以顧客點離場站之距離,如此設定較為簡單化。調整拉氏乘數需經 過 T 次疊代,將疊代完成後之拉氏乘數,再進行 VRPPC 可行解求解。而其中 T 為有限 個數,因為 αt值經過持續疊代後,步幅逐漸縮短至無法改善。在調整拉氏乘數過程當中, 因為一次遞迴所增加路線不多,拉氏乘數經過疊代不需花費過多次數便可趨於穩定。正 因為部分解題之關係,本研究調整拉氏乘數目的在於給予下次增加路線集合的機制,以 及尋找適合之路線,因此關心於拉氏乘數方向變動,而不太致力於求解拉氏乘數最適化。3.6 求解 VRPPC 可行解
因選擇放鬆涵蓋限制式進行求解,在以部份路線解題空間限制之下,有可能產生某 些顧客點未被涵蓋於路線解集合中,所幸有委外運輸可供選擇,可將未涵蓋點交由委外 運輸滿足,不會有不可行解產生。但面對目標最小成本,理想為將拉氏放鬆重覆涵蓋解 修正為涵蓋每個顧客各只有一次的集合分割解(SPP)。修正程序的設計上必須注意,一 方面希望使目標總成本在增加最少的情況下完成,卻又不宜太過複雜,以免大幅增加運 算的負荷。 修正程序分成兩個步驟,首先處理自有車隊可行解,將自有車隊路線集合中移除重 覆涵蓋需求點;接著判斷顧客點是否交由委外運輸,使所有需求點在整個解集合中至多 只被涵蓋一次。最終產生的集合分割解必為一可行解。3.6.1 自有車隊路線之啟發式解法 Caprara et al. (1999) 以拉氏鬆弛模式求解鐵路排班之 SCP 問題,發展出貪婪啟發式 解法 (Greedy Heuristic),獲得不錯之成果。本研究認為可將該作法對於 VRPPC 轉換為 SCP 之模式進行求解。Umetani et al. (2007)也認為在目前處理 SCP 中,該啟發式解法屬 於有效率,並且求解品質不錯之演算法,故本研究參考並修正其解法,以求解自有車隊 之集合分割解。 啟發式解法主要利用拉氏乘數給予路線之分數權重,選取最佳分數之路線,再將分 數重算以選取其他路線,直到滿足停止條件為止。這方式對於排班等 SCP 問題頗具成 效,但 VRP 之顧客點有地理上之相對位置,先選取之路線會影響之後路線選取。本研 究利用角度掃描(Sweep)之觀念,希望以較為平均的方式,將車輛路線分配至顧客所在 區域,解決顧客並非均勻分布問題。 本研究考量角度之參數與示意圖如下: ψi :顧客點 i 相對於場站座標的角度。 f(u):角度與累積顧客點數之對應函數,先將ψi由小到大排序,f(u)可從 0 到 u 角度 中,得到所累積顧客點數目,示意圖為圖 1。f -1為其反函數,得知數目帶入 函數得對應之角度。 φk :第 k 輛車期望的質心角度 θk :第 k 輛車所服務之路線,其顧客點相對於場站座標的質心角度,假設顧客質 量皆為 1 圖 3.3 選取路線角度示意圖 圖 3.3 橫坐標為徑度,超過 2π 表示已繞過場站一圈,f(u)表示將角度帶入,可得知 有多少顧客點小於該角度。先挑選 cr(λ)最負之路線作為起始路線,以決定質心角度 θ1。 對應之累積顧客點數表示已處理這些顧客點。之後將剩餘顧客點平均分配給剩餘車輛, 因此將顧客點總數 n 扣除已處理顧客點 f(θ1),在除上分配數目,所得為下一輛車預期可 以處理顧客點之數目。將該數目加上 f(θ1),以 f-1反推回所對應的角度,即為下一條路 線預期的質心角度 φ2。利用ψi與 φ2作比較,若ψi離 φ2越遠,則其顧客點所對應之拉 氏乘數則越小,藉此可獲得位於該區域之路線。但選定之路線其質心角度與當時期望可 能不同,因此需要重算質心角度 θ2,再依據上述方式選定剩餘路線。 因此本研究修訂 Caprara et al. (1999)之啟發式解法,加入角度之考量,以求解 VRPPC 可行解,整體之求解步驟如下: S:選定自有車隊路線集合 I*:未被選定之顧客點集合,不包含委外運輸之顧客點 0 250 0 3.14159 6.28318 m f n − (1) θ1 φ2 π 0 2π 2π+θ1 n f(θ1) f(u)
ρr:結合未被選定顧客點之拉氏成本 μr:自有車隊中未被選定之顧客點個數;即 μr =|Ir∩ I*| r*:最小拉氏成本之路線 [step 1]初始化選定自有車隊路線集合 S 為空集合;初始化尚未被選定之顧客點 I*為所有 顧客點集合。 [step 2]選擇 cr(λ)最負之路線為初始路線並加入車隊路線集合 S,將 I*內剔除與初始路線 重覆之顧客點。計算初始路線的質心角度;將顧客點相對於場站座標的角度,加 上初始路線的質心角度,即ψi =ψi +θ1。 [step 3]計算不包含選定自有車隊路線集合 S 之路線 r 的拉氏成本 ρr 3.1 + − − + = − − − 1 ) ( ) ( 1 1 1 k m f n f f k k k 3.2 i k i I i i ∀∈ − − = 2 1 3.3