• 沒有找到結果。

時窗限制回程取貨車輛路線問題之 巨集啟發式解法設計與測試

卓裕仁1、王生德2

1運輸科技與物流管理學系,助理教授 中華大學

新竹市五福路二段 707 號 yjcho@chu.edu.tw

2科技管理研究所運輸科技與物流管理組,碩士 中華大學

新竹市五福路二段 707 號

摘要:時窗限制回程取貨車輛路線問題(Vehicle Routing Problem with Backhaul and Time Windows, VRPBTW)是車輛路線問題(Vehicle Routing Problem, VRP)的延伸,屬於解題複雜度很高的 NP-hard 問題,在物流配送實務上有很高的應用價值。本研究結合門檻接受法(Threshold Accepting, TA)與傳統啟發式方法,設計一套巨集啟發式解法,並藉由自行產生例題進行測試,以分析此巨 集啟發式解法之解題績效。

關鍵字:時窗限制回程取貨車輛路線問題、巨集啟發式解法、門檻接受法。

壹、前言

近年來,物流產業的發展逐漸受到重視,許多新興行業(例如宅配業、快遞業)的出現,為整 個物流環境注入了活力。宅配業者為提升其配送服務水準,必須增加車輛的發車班次,實務上 多利用上午將前晚到達的物件遞送給客戶,然後直接前往託運顧客處收件取貨後,再返回營業 所場站。上述的作業方式稱為「回程取貨(Backhauling)」,不僅可縮短車輛的行程與時間,還能 避免重新整理車廂貨物的排列。

在作業研究的理論上,常將車輛配送路線規劃的問題轉換成「車輛路線問題(Vehicle Routing Problem, VRP)」來進行求解,其問題定義乃是由同一車種、固定容量的車隊,從單一場站出發,

服務完一群需求量已知的顧客後返回中心場站;目標在使車輛路線的總運輸成本最小化。VRP 可視實務運作的條件與限制,衍生出許多不同的問題型態,例如:「時窗限制回程取貨車輛路線 問題(Vehicle Routing Problem with Backhaul and Time Windows, VRPBTW)」即是針對上述宅配業 的 經 營 方 式 所 提 出 。 VRPBTW 將 顧 客 需 求 點 分 為 兩 部 分 , 送 貨 點 (Linehauls) 與 取 貨 點 (Backhauls);假設車輛必須先服務完所有送貨點顧客,然後才能開始服務取貨點顧客,並限制 車輛到達顧客點的時間必須在給定的時間窗之內;目標為總車輛數與總路線成本最小化。

VRP 與 VRPBTW 皆屬於高複雜度(NP-hard)之組合最佳化問題,在求解較大規模問題時,

往往需要花費相當多的時間。因此發展有效率的啟發式解法,才能在可接受的時間內求出精確 度高的近似解。有鑑於此,本研究之目的乃希望發展一套求解績效良好且時間合理的 VRPBTW 巨集啟發式演算法,以提升 VRPBTW 實務應用之求解績效,降低物流成本。

本文後續章節安排如下:第二節簡要回顧 VRPBTW 之定義與求解方法;第三節說明門檻接 受法(TA)應用於 VRPBTW 之解法架構與模組設計;第四節介紹例題產生方式與實驗設計;

第五節彙整例題測試的結果;最後於第六節提出本研究的結論與建議。

本節定義 VRPBTW 問題如下:「顧客需求點分為送貨點(line-hauls)及取貨點(back-hauls)兩 部分,配送方式是從場站(depot)出發將貨物運送給送貨點顧客,然後再到取貨點顧客收取貨物 運回場站,配送過程不得違反時間窗及車輛容量限制;目標為車輛總數及車輛路線的總運輸成 本最小化。VRPBTW 問題假設車輛必須先服務完所有送貨點顧客後,才能開始服務取貨點顧 客,如此可避免重新整理車廂貨物所花費的排列時間。」至於 VRPBTW 之數學規劃模式請參考 王生德(2004)碩士論文。

國內外有關 VRPBTW 文獻並不多,在精確解之數學規劃方面有 Yano 等人(1987)探討,至 於啟發式方法則有 Potvin 等人(1996)與 Thangiah 等人(1996)兩篇論文探討;國內有徐俊誠等人曾 分別針對 VRPBTW 進行研究,但是其問題定義與國際文獻定義的 VRPBTW 稍有不同。限於篇 幅,僅將國內外相關文獻及其求解方法彙整於表 1。

表 1 VRPBTW 求解方法彙整表

年代 作者 使用方法 限制條件 模式假設

1987 Yano et al. 。集合涵蓋法 。車容量限制

。時間窗限制 。先送貨後取貨

1996 Potvin et al. 。貪心插入法 。基因演算法 。車容量限制

。時間窗限制

。先送貨後取貨

。取貨比例:10%、30%、50%

1996 Thangiah et al. 。循序插入法 。區域搜尋法 。車容量限制

。時間窗限制 。先送貨後取貨

。取貨比例:10%、30%、50%

1999 申生元 。路線鄰域法 。區域搜尋法

。擾動演算法 。車容量限制

。時間窗限制

。先送貨後取貨

。取貨比例:10%、30%、50%

2000 徐俊誠 。鄰近點法 。掃描法

。改良型插入法。模擬退火法

。車容量限制

。無/有時間窗限制

。可同時收送貨

。取貨比例:20%、34%、50%

10%、30%、50%

2000 曾維豪 。鄰近點法 。循序插入法

。平行插入法 。禁制搜尋法 。車容量限制

。時間窗限制 。可同時收送貨

。取貨比例:10%、30%、50%

2001 魏宗徹 。鄰近點法 。基因演算法 。車容量限制

。時間窗限制 。可同時收送貨

。取貨比例:10%、30%、50%

2003 莊英群 。節省法 。禁制搜尋法 。車容量限制

。時間窗限制 。同時收送貨

。取貨比例:25%、50%

参、VRPBTW 之門檻接受法架構設計

本 研 究採 用門 檻接 受法 (Threshold Accepting, TA) 結 合傳 統鄰 域搜 尋方法 ,構 建一 套 VRPBTW 之巨集啟發式解法,並將其命名為 TA_VRPBTW。門檻接受法(Dueck & Scheuer, 1990) 之基本觀念乃是在鄰域搜尋陷入局部最佳解時,採取較鬆的接受法則(通常為一門檻值)接受劣於 現解之鄰解,以便脫離局部最佳解的束縛而繼續搜尋下去。TA 的執行架構與傳統鄰域搜尋法之 架構相似,差異之處僅在於使用的接受法則不同;傳統的鄰域搜尋法僅接受較佳的鄰解,TA 則 可接受暫劣之鄰解。茲以圖 1 的示意圖說明 TA 之接受法則:TA 法事先產生一組固定的門檻值 數列(通常為遞減),依次使用數列中的門檻值,其接受法則為 C(Xnew) < C(Xcurrent) + Tk。

圖 1 TA 接受法則示意圖(2001)

ㄧ、整體解題架構

整套 TA_VRPBTW 解題架構如圖 2 所示,可分為三個程序:(1) 起始解構建程序,根據傳 統鄰點法(Nearest Neighbor, NN)提出三種改良式的鄰點法,用以構建不同的起始解;(2) 鄰域搜 尋改善程序,分別以路線內交換法和路線間交換法來搜尋局部最佳解;(3) 門檻接受程序,針對 鄰域搜尋改善程序的結果,使用 TA 法進行搜尋以跳脫局部最佳解的束縛。圖 2 中,(1_0)_b、

(1_1)_b、(S_S)_b 分別代表各交換法的交換策略為最佳改善(best-improvement)策略;(1_0)_f、

(1_1)_f、(S_S)_f 代表各交換法的交換策略為首先改善(first-improvement)策略。各程序之模組設 計細節說明於下。

圖 2 VRPBTW 之門檻接受法解題架構

二、模組細部設計

本研究認為傳統的鄰點法(Nearest Neighbor, NN)僅以距離為考慮因素,在時間窗問題中,應 可直接將時間窗因素納入考量。因此本研究提出了改良式的鄰點法做為起始解的構建方法,將 時間窗因素做為選擇鄰點的準則,一為需求點的服務時窗下界最早:考慮以需求點的服務時窗 下界(開始服務時間)的先後順序來決定服務順序;二為需求點的等待服務時間最少:車輛可在時 間窗下界之前到達需求點,惟必須等到時間窗下界開始才可進行服務,這段時間即為等待服務 時間,依等待時間長短決定服務順序。以循序的方式將需求點一一納入路線中;所謂循序的概 念意指:一條路線構建完畢之後再構建另一條新的路線,直到所有需求點皆已納入所有路線為 止。改良式的鄰點法包括:循序-需求點間的距離最短(NNS1)、循序-需求點的服務時窗下界最 早(NNS2)、循序-需求點的等待服務時間最少(NNS3)等三種模組。

圖 3 說明三種起始解法的概念:假設有四個需求點,ft 為 A 點的服務結束時間;t 為兩點間 之旅行時間(距離);wt 為等待服務時間,[t1, t2]為時間窗上下界。點與點間的距離最短其時間窗 不一定是最早,且等待時間也不一定是最少,因此若以 NNS1 為準則,t = 5 距離最短,挑選的 為 D 點;以 NNS2 為準則,[31, 41]為最早,挑選的為 C 點;以 NNS3 為準則,wt = 0 為最少,

挑選的為 B 點。不管是哪一種準則,從 A 點到各需求點都必須符合該點的時間窗之內。

路線內改善模組採用 2_opt 交換法(Lin, 1965),交換策略為「首先改善」策略。路線間交換 模組則採用 Christofides & Eilon (1969)所提出的(1_0)節點交換法、(1_1)節點交換法,以及本研 究提出的(S_S)整段交換法;交換策略為「最佳改善」策略。在車輛容量、時間窗及先送貨後取 貨的限制下,經由路線內節線交換與路線間節點交換等機制,以達成縮短總路線成本的目標。

在門檻接受程序方面,以前述之路線間交換模組為核心工具,但為節省運算時間,皆採用

後取貨等限制,路線內交換法很難產生顯著的改善效果,故不考慮引入。在控制參數方面,包 括起始門檻值(T0)、門檻數列長度(K)及門檻數列收斂型態。門檻數列在門檻數列長度(K)期間,

自起始門檻值(T0)逐漸收斂到 0,本研究門檻數列收斂型態採用線性遞減門檻數列。

圖 3 起始解模組概念圖

TA 執行時必須先設定起始門檻值與門檻數列,首先以路線間(1_0)_f 節點交換法為鄰域搜 尋找尋可行解,接著按照 TA 的接受法則決定是否更新現有解。當鄰域搜尋找到新的可行解時,

必須判斷此可行解與現有解之差值是否在門檻值之下,若是則接受交換並更新暫優解。若此暫 優解優於搜尋過程中目前之最佳解,則更新最佳解。當所有交換情形皆考慮後,接著執行路線 間(1_1)_f 節點交換及 S_S 整段交換(執行順序可調整),當交換模組皆執行完後,將目前之門檻 值更新為下一個門檻值,繼續執行核心搜尋,重新考慮交換情況。直到所有門檻值皆執行完畢 後,便可決定 TA 的停止時機。

肆、測試題庫建立與實驗設計

由於表 1 所列文獻皆以 Solomon (1983)所建立的 VRPTW 測試題庫為基礎,加以修改產生 VRPBTW 之測試例題,因此本研究亦從 Solomon 題庫中挑選 R101、C101、RC101 三個例題,

分別選擇其前 25、前 50 及 100 個顧客,再以隨機方式設定 30%、50%、70%為回程取貨的顧客,

各產生 3 題,總計有 81 個測試例題。

本研究針對 TA_VRPBTW 三個程序所使用的方法、模組組合方式、控制參數設定等因素進 行測試之實驗設計。整個測試過程可分成以下三個實驗,整理如表 2 所示。

表 2 實驗設計

目的 控制因子與參數

實驗一 起始解(IS)之解題績效 NNS1、NNS2、NNS3

實驗二 鄰域搜尋執行組合(NS)之解題績效 2-opt、(1_0)_b、(1_1)_b、(S_S)_b 實驗三 門檻接受法(TA)之解題績效 T0、K;(1_0)_f、(1_1)_f、(S_S)_f

在實驗三中,TA 有兩個控制參數:起始門檻值(T0)與執行次數(K),並據以構成一個門檻數 列長度{Tk}。本研究根據 VRPBTW 之問題特性,提出下列的修正公式:

}

~ 1 ,

1) ) (

( )

{ ( 0 0

for k K

K k T K

R N

X T C

T

k k

 

 

 (4.1)

上式中,C(X0)為起始解之目標函數值(成本);N 為顧客節點數(題目規模);R 為起始解之車輛數。

由式(4.1)可知,本研究採用的是直線遞減型的門檻數列,其門檻值比率自 T0逐漸下降至 0,數 列長度即為執行次數(K)。

) (

) ( 0

R N

X C

為平均一條節線的長度,執行交換法時,即以此平均數的概

念來執行。TA 之參數設定範圍,T0分別設定為 0.01、0.05、0.1、0.15 及 0.2;K 設為 10 次。

伍、例題測試結果之整理與分析

表 3 為三種起始解方法在所有 81 個例題的平均測試結果比較。NNS3 表現最佳,車輛數為 15.28 輛,路線成本為 1993.33;NNS2 表現較差,車輛數為 24.56 輛,路線成本為 2104.53;整 體的平均車輛數為 19.80 輛,路線成本為 1909.79。

表 3 所有測試例題平均起始解測試結果

方法 目標 平均車輛數 平均路線成本

NNS1 19.55 1631.52

NNS2 24.56 2104.53

NNS3 15.28

19.80

1993.33

1909.79

表 4 的六種鄰域搜尋模組組合(N1~N6)可分成三個型態:先降低車輛數(1_0)再改善路線成 本;把降低車輛數放到中間執行;先改善路線成本最後再降低車輛數。以降低車輛數的項目來 看,N1 組合降低 7.3%最多,N6 組合降低 4.7%為最少;在路線成本方面,以 N2 改善 17.08%

最多,N5 改善 12.73%最少。整體而言以 N1 組合的績效較佳,因此以 N1 進行後續的 TA 測試。

表 4 整體交換組合測試結果

改善幅度(%)

模組組合 平均

車輛數

平均路

線成本 車輛數 路線成本

N1: 1_1→S_S→1_0 17.18 1485.07 -7.3% -16.14%

N2: 1_0→S_S→1_1 17.19 1468.36 -7.28% -17.08%

N3: 1_0→1_1→S_S 17.19 1511.54 -7.28% -14.64%

N4: S_S→1_1→1_0 17.23 1495.51 -7.07% -15.55%

N5: 1_1→1_0→S_S 17.59 1545.43 -5.1% -12.73%

N6: S_S→1_0→1_1 17.67 1481.24 -4.7% -16.35%

總平均 17.41 1497.86 -6.46% -15.42%

表 5 顯示鄰域搜尋改善模組可以大幅增進起始解之精確度,其中 NNS2 方法由於在起始解 構建階段表現不佳,相對於其他兩種方法而言,具有較大的改善空間,因此車輛數和路線成本 的改善幅度均是最大的,達到 22.19%、24.97%;

表 5 鄰域搜尋改善成效表

起始解+2_opt 鄰域搜尋 改善%

目標 解法

平均 車輛數

平均路線 成本

平均 車輛數

平均路線 成本

平均 車輛數

平均路 線成本 NNS1 19.55 1630.29 18.04 1411.81 -7.72% -13.4%

NNS2 24.56 2100.32 19.11 1575.96 -22.19% -24.97%

NNS3 15.28 1928.88 15.09 1505.8 -1.24% -21.93%

平均 19.80 1886.50 17.41 1497.86 -10.38% -20.10%

實驗三考慮 TA 方法在分別經過三種起始解法與 N1 鄰域搜尋組合之後的解題績效與改善效 果,在參數 T0= 0.01、0.05、0.1、0.15、0.2,K=10 之下,所得到的平均測試結果彙整於表 6。

整體而言,經由 TA 程序可將平均車輛數自 17.17 降至 16.65,平均路線成本自 1485.07 降至 1359.79,改善幅度分別為 2.98%與 8.28%。就三種起始解法來看,仍以 NNS3 的車輛數最少,

NNS1 的路線成本最少;值得注意的是,三種起始解經 TA 改善後彼此間的差距縮小。

表 6 TA 整體測試整理比較

NNS1_N1 NNS2_N1 NNS3_N1 平均

車輛數 17.86 18.7 15 17.17

TA 改善前

路線成本 1368.63 1585.96 1500.61 1485.07 車輛數

(改善幅度)

17.33 (-2.97%)

17.72 (-5.24%)

14.89 (-0.73%)

16.65 (-2.98%) TA 改善後

路線成本 (改善幅度)

1297.42 (-5.20%)

1397.61 (-11.88%)

1384.33 (-7.75%)

1359.79 (-8.28%)

從起始解構建經過鄰域搜尋改善最後再執行門檻接受程序,不管是車輛數或路線成本皆有 明顯大幅的改善,茲以圖 4 與圖 5 的解題績效趨勢圖說明改善情形。圖 4 為起始解到 TA 整個 執行過程,車輛數每階段的改善趨勢圖,起始解為 19.80 輛,經過鄰域搜尋後降為 17.17,最後 執行 TA 更降至 16.65 輛。圖 5 為起始解到 TA 整個執行過程,路線成本每階段的改善趨勢圖,

起始解為 1909.79,經過鄰域搜尋後降為 1485.07,最後執行 TA 更降至 1359.79。顯示本研究之 鄰域搜尋和 TA 皆具不錯的改善效果。

19.8

17.17

16.65 16

17 18 19 20

I NS T A 執 行 階 段

車 輛 數

1909.79

1485.07

1359.79 1200

1400 1600 1800 2000

I NS TA執行階段

路線成本

圖 4 車輛數下降趨勢圖 圖 5 路線成本下降趨勢圖

陸、結論與建議

茲彙整本研究之貢獻、重要結論與建議如下:

1. 本研究以傳統鄰點法的概念為核心,提出另外改良式的鄰點法做為起始解的構建方法。經由 例題測試証明循序-需求點的等待服務時間最少,所求得的起始解優於傳統鄰點法。

2. 在鄰域搜尋改善方面,除了採用路線內(2_opt)節線交換、路線間(1_0)節點交換、(1_1)節點 交換法外,更依據先送貨後取貨的特質提出 S_S(segment-segment)整段交換法。

3. 起始解搭配鄰域搜尋的組合以[NNS3 + 2_opt + (1_1) + (S_S) + (1_0)]表現最佳。顯示在多種 鄰域搜尋改善組合中,先減少路線成本,最後再降低車輛數,所得到的平均改善效果最好。

4. 經過 TA 改善程序後,均能有效提升解的精確度,拉近所有組合間的差距,由此可知,TA 是一個有效且穩健(Robust)的巨集啟發式方法。

5. 本研究僅應用門檻接受法(TA)求解 VRPBTW,未來可嘗試結合其他傳統或巨集啟發式方 法,例如:GIDS 法。

6. 可嘗試將本研究發展的改良式鄰點法應用在其他車輛路線問題,例如:時間窗車輛路線問題 (VRPTW)、同時收送貨車輛路線問題( PDVRP)等。

柒、參考文獻

1. Christofides, N. & S. Eilon (1969). An Algorithms for Vehicle Dispatching Problem. Operations Research Quarterly, 20: 568-589.

2. Lin, S., (1965). Computer Solution of the Traveling Salesman Problem. Bell System Technology

相關文件