第二章 文獻回顧
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
ℜ (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)為限制式。
在(2.31)式中的 λ、µ 被通稱為「拉氏乘數(Lagrangian Multiplier)」,而將(2.31)式重 式最佳解的下界,所以我們可以定義一「對偶函數(Dual Function)」,如(2.35)式所示:
) 的文獻中均採用由 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),以避免浪費不必要的時間去窮舉不可行或對於求解問題沒有貢獻的變數。使
根據簡捷法(Simplex Method)之對偶可行性(dual feasibility)可知:針對尚未考慮到的 變數(remaining columns)air(i=1,,N), r∈R,若是可以從設計的子問題中發現最小的 變成為背包問題(Knapsack Problem),再以分支定限法(branch-and-bound)求解,得
*
*=y
air 。以此程序逐步改善原有問題的解,直到子問題無法再產生新的 column 為止。
若放鬆整數限制後所得到的最佳解為整數解,即為原集合涵蓋問題的最佳解,若不為整 數解,則採用分支定限法繼續求解以獲得整數解。
採用變數產生法的主要優點在於求解過程中一次只考慮部份的變數,並利用主、子 問題間的訊息傳遞,逐步得到最佳解。如此可以避免去處理極大多數不可能包含於最佳 解的不良路線,也因此不至位變數過多反而無法求解或者效率太差。
雖然 CG 解決了需窮舉出所有求解集合來求解問題的缺點,但亦導致相對複雜的求 解過程,尤其子問題(如(2.41)式~(2.43)式)通常求解亦不容易。另外,求得 SCP 放鬆整 數限制後的解通常也是不可行的分數解,之後還是必須依賴 Branch-and-Bound 求解,尤 其針對較大規模問題時依然得花長時間求解,顯得較無效率。也因此 Agarwal 雖然以 CG 求解車輛路線問題,但以求出精確解為目的,只能求少數顧客點之車輛路線問題。