• 沒有找到結果。

多場站車輛路線問題巨集啟發式方法之研究

N/A
N/A
Protected

Academic year: 2022

Share "多場站車輛路線問題巨集啟發式方法之研究"

Copied!
118
0
0

加載中.... (立即查看全文)

全文

(1)
(2)
(3)
(4)
(5)

i

多場站車輛路線問題巨集啟發式方法之研究

學生:高崇明 指導教授:卓裕仁博士

摘 要

多場站車輛路線問題(Multi-Depot Vehicle Routing Problem, MDVRP)是屬 於 NP-hard 的問題,若要求取最佳解,則其計算時間將會隨著點數的增加呈 現指數的成長,因此問題規模大時求取最佳解往往相當費時。若要同時兼顧 解題速度與品質,最常利用的是啟發式方法(Heuristics)以及巨集啟發式演算 法(Meta-Heuristics)。門檻接受法(Threshold Accepting, TA)為一巨集啟發式方 法,為 1990 年德國學者 Dueck 及 Scheuer 所提出,其由模擬鍛鍊法(Simulated Annealing, SA)改良而來,屬於門檻型演算法(Threshold Algorithm)的一種。

近年來應用於求解最佳化問題具有不錯成效。

本研究的目的即在 MDVRP 的問題上利用門檻接受法發展一套求解績效 良好且時間合理的巨集啟發式演算法,以期能提升 MDVRP 之求解績效。本 研究提出的 TA_MDVRP 可分成四個模組:起始解構建模組(ISC Modules)、

可行解調整模組(FS Modules)、鄰域搜尋模組設計(NS Modules)、門檻接受模 組(TA Modules)。其中起始解建構方式主要分為兩種,一為單階段起始解法,

直接建構路線,建構方式又分為平行與循序;另一為兩階段起始解法,先進 行分群,後建構路線。單階段及兩階段兩者皆設計有的八種不同的建構準則,

並針對配送時限(Duration)的限制設計可行解調整模組,配合鄰域搜尋模組、

門檻接受模組來求解 21 題標竿例題。

測試結果以兩階段起始解法穩定性及準確姓略優於單階段起始解法,單 階段平行法在起始門檻值(T0)>0.5 時有超越兩階段起始解法的趨勢。本研究 測試的 21 題標竿例題當中,平均誤差達 0.57%,並有四題突破目前文獻最佳 解之結果。

關鍵詞:多場站車輛路線問題、門檻接受法、巨集啟發式解法

(6)

ii

A Threshold Accepting Meta-heuristics for the Multi-depot Vehicle Routing Problem

Student : Chung-min Kao Advisor : Dr. Yuh-Jen Cho

Abstract

The Multi-Depot Vehicle Routing Problem (MDVRP) is an extent of the classical Vehicle Routing Problem. More complicated than VRP, MDVRP considers that the usage of multiple depots with fixed size of fleet, and the limitation of maximal duration for each route. In this paper, we propose a meta-heuristic procedure that is named as TA_MDVRP based on the combination of Threshold Accepting (TA) and traditional Neighborhood Search heuristics. In TA_MDVRP, sixteen initial solution construction methods and eight neighborhood search methods are designed. In order to generate the feasible solution, we also design two procedures that respectively focus on the constraints of fleet size and maximal duration to adjust the initial solutions to meet the feasibility. Additionally, a modified formula to generate the value of threshold series is proposed in the TA module.

A bank of twenty-one MDVRP benchmark instances is adopted to identify the performance of TA_MDVRP. The average percentage of error to the best-known solutions is 0.57% among the twenty-one instances. Moreover, four best-found solutions obtained by TA_MDVRP are superior to the best-known solution. The results of numerical experiment imply that TA_MDVRP performs well in solving these benchmark instances.

keywords: Multi-depot Vehicle Routing Problem (MDVRP); Threshold Accepting (TA); Meta-Heuristic.

(7)

iii

誌 謝

時光匆匆,在新竹六年的求學生涯即將要告一段落。在求學期間,最要 感謝的是恩師 卓裕仁博士,從大學時代跟著老師做專題到研究所論文的完 成,老師細心指導與諄諄教誨,使我獲益良多。尤其是在更換論文題目後,

時間緊迫下,老師對於方向的引導,以及問題的解惑上給了我極大的幫助,

使得我能循序漸進,一步步把論文完成。

論文口試期間承蒙交通大學 韓復華教授、台中技術學院 張淳智主 任,百忙之中撥冗審閱論文,並提供諸多寶貴意見,使本論文更臻充實完善。

在論文寫作期間,亦蒙中華大學 張靖教授於課堂上給予建議。在此由衷表 示感謝!

在研究期間,感謝研究所同窗們的幫忙與協助。尤其是論文口試前雅方 與朝慶開車下山幫忙採買,並協助作口試紀錄,感謝盈如、雅瑜幫忙切水果,

文德借投影機,博元幫忙整理場地,以及學弟妹們送的禮物等…。研究所兩 年時間很快就過去了,謝謝研究室的所有同學--雅方、高桂、文德、雅瑜、

盈如、世杰、博元、燕祺、士淵、炎地、靜芬、長運、惠瑜、玉潔(依學號排 列)帶給我的歡笑與快樂,要感謝的人太多了名單族繁不及備載。

最後感謝父母親這幾年的辛勞,穩定的經濟來源使得我能無後顧之憂的 專注於研究上。你們的支持與鼓勵是我持續不斷努力的原動力。

謹以此論文獻給所有關心我的家人與親朋好友!

高崇明 謹誌於新竹中華 中華民國 94 年 8 月 12 日

(8)

iv

目 錄

摘 要... i

Abstract ... ii

誌 謝... iii

目 錄... iv

圖目錄... vi

表目錄... viii

第一章 緒論... 1

1.1 研究動機與目的 ... 1

1.2 研究範圍與內容 ... 2

1.3 研究步驟與流程 ... 3

第二章 文獻回顧... 5

2.1 傳統車輛路線問題(VRP)... 5

2.1.1 VRP 之定義... 5

2.1.2 VRP 之啟發式解法... 5

2.2 多場站車輛路線問題(MDVRP) ... 9

2.2.1 MDVRP 之定義 ... 9

2.2.2 MDVRP 之求解方法回顧 ... 10

2.2.3 小結 ... 14

2.3 門檻接受法回顧 ... 15

2.3.1 接受法則 ... 16

2.3.2 TA 控制參數 ... 16

第三章 MDVRP 之門檻接受法解題架構設計 ... 18

3.1 整體解題架構 ... 18

3.2 起始解構建模組細部設計 ... 19

3.2.1 單階段建構路線法 ... 19

3.2.2 兩階段建構路線法 ... 23

3.3 可行解調整模組與鄰域搜尋模組設計 ... 27

(9)

v

3.3.1 可行解調整模組 ... 27

3.3.2 路線內節線交換改善模組 ... 29

3.3.3 路線間節點交換改善模組 ... 31

3.3.4 路線間節線交換模組 ... 34

3.4 門檻接受法模組細部設計 ... 36

3.4.1 TA 執行架構 ... 36

3.4.2 TA 控制參數設計 ... 37

第四章 例題測試與結果分析... 39

4.1 例題來源與實驗設計 ... 39

4.2 起始解構建模組可行度測試 ... 43

4.3 實驗二:可行解調整模組與鄰域搜尋模組測試 ... 44

4.4 實驗三:門檻接受法之解題績效測試 ... 50

第五章 結論與建議... 61

5.1 結論 ... 61

5.2 建議 ... 62

參考文獻... 63

附錄(本研究求得各例題的最佳結果) ... 66

(10)

vi

圖目錄

圖 1.1 本研究流程圖... 4

圖 2.1 TA 與 SA 接受暫劣解機率之比較 ... 16

圖 2.2 三種門檻數列遞減型態... 17

圖 3.1 MDVRP 之門檻接受法解題架構 ... 18

圖 3.2 可行解調整模組執行流程... 28

圖 3.3 2-opt 交換法示意圖 ... 29

圖 3.4 Or-opt(p=1,2,3)交換法示意圖 ... 30

圖 3.5 1-0 節點交換法示意圖 ... 31

圖 3.6 1-1 節點交換法示意圖 ... 32

圖 3.7 1-2 節點交換法示意圖 ... 33

圖 3.8 2-0 節點交換法示意圖 ... 34

圖 3.9 路線間同場站 2-opt 交換法示意圖 ... 35

圖 3.10 路線間不同場站 2-opt 交換法示意圖 ... 35

圖 3.11 鄰域搜尋執行架構... 36

圖 3.12 門檻執行架構... 37

圖 4.1 單階段起始解與 N1 與 N2 之運輸成本誤差百分比比較圖 ... 45

圖 4.2 兩階段起始解與 N1 與 N2 之運輸成本誤差百分比比較圖 ... 46

圖 4.3 N1 與 N2 鄰域搜尋之解題績效比較 ... 47

圖 4.4 N1 與 N2 之運輸成本誤差百分比比較圖 ... 48

圖 4.5 NNS1 求解 p01 之路線圖... 48

圖 4.6 NNS1_N1 求解 p01 之路線圖... 49

圖 4.7 TC1_FI 求解 p01 之路線圖 ... 49

圖 4.8 TC1_FI_N1 求解 p01 之路線圖 ... 49

圖 4.9 單階段起始解法在不同門檻比率之下的變化圖... 51

圖 4.10 各單階段起始解法、N1 鄰域搜尋改善與 TA 平均最佳結果之比較圖 ... 52

圖 4.11 兩階段起始解法在不同門檻比率之下的變化... 54

圖 4.12 各兩階段起始解法、N1 鄰域搜尋改善與 TA 平均最佳結果之比較圖 ... 55 圖 4.13 各演算法其起始解 N1 鄰域搜尋改善與 TA 平均最佳結果之比較圖

(11)

vii

... 57 圖 4.14 四類型起始演算法在不同門檻比率之下的變化... 57 圖 4.15 各起始解法之車輛數與解題誤差百分比關係圖... 59

(12)

viii

表目錄

表 1.1 MDVRP 與 VRP 之問題特性比較... 2

表 2.1 常見的傳統啟發式解法整理表... 7

表 2.1 傳統啟發式解法整理表(續) ... 8

表 2.2 MDVRP 求解方法比較表 ... 14

表 2.2 MDVRP 求解方法比較表(續)... 15

表 2.3 TA 之控制參數 ... 16

表 3.1 單階段建構起始解法彙整表... 19

表 3.2 兩階段建構起始解法名稱彙整表... 26

表 3.3 各鄰域搜尋演算法代號表... 29

表 3.4 TA 相關項目與控制參數設定表 ... 38

表 4.1 測試例題基本設定... 39

表 4.1 測試例題基本設定(續) ... 40

表 4.2 配送時限與顧客點數整理表... 40

表 4.3 實驗設計... 40

表 4.4 實驗一之測試資料與評估指標... 41

表 4.5 實驗二相關測試資料與評估指標... 41

表 4.6 實驗二鄰域搜尋模組交換法組合方式... 42

表 4.7 實驗三之 TA 參數設定範圍與評估指標 ... 42

表 4.8 實驗一單階段起始解測試結果比較表... 43

表 4.9 實驗一兩階段測試結果比較表... 44

表 4.10 單階段起始解法搭配 N1 以及 N2 之測試結果比較表 ... 45

表 4.11 兩階段起始解法搭配 N1 以及 N2 之測試結果比較表 ... 46

表 4.12 不同門檻比率下單階段起始解法的平均績效比較... 50

表 4.13 單階段起始解法與 N1 鄰域搜尋改善以及 TA 平均最佳結果之比較表 ... 51

表 4.14 單階段起始解法與 N1 鄰域搜尋改善以及 TA 平均車輛數比較表 51 表 4.15 本研究單階段起始演算法所得之 MDVRP 最佳解 ... 52

表 4.15 本研究單階段起始演算法所得之 MDVRP 最佳解(續)... 53

表 4.16 不同門檻比率下兩階段起始解法的平均績效比較... 53 表 4.17 兩階段起始解法與 N1 鄰域搜尋改善以及 TA 平均最佳結果之比較表

(13)

ix

... 54

表 4.18 兩階段起始解法與 N1 鄰域搜尋改善以及 TA 平均車輛數比較表 54 表 4.19 本研究兩階段起始解法所得之 MDVRP 最佳解 ... 55

表 4.19 本研究兩階段起始解法所得之 MDVRP 最佳解(續)... 56

表 4.20 兩階段起始解法在門檻值比率 0.5~0.9 之成本誤差... 58

表 4.21 單階段平行起始解法在門檻值比率 0.6~0.9 之成本誤差... 58

表 4.22 本研究所得之 MDVRP 最佳解 ... 59

表 4.22 本研究所得之 MDVRP 最佳解(續)... 60

(14)

1

第一章 緒論

1.1 研究動機與目的

在作業研究、路網規劃的領域中,車輛路線問題(Vehicle Routing Problem, VRP)一直是非常重要的研究課題。且根據美國國家實體配送委員會(National Council of Physical Distribution Management, NCPDM)在 1982 年之調查發 現,物流成本約佔企業總銷售金額的 15%~25%左右,其中運輸成本又佔物流 成本的 25%~45%,由此顯示運輸配送問題在物流系統中佔有相當重要的地 位。近年來由於物流業興起,如能有效的降低運輸成本,將能使產業創造更 大的利潤。

在典型的車輛路線問題中,一般只考慮單一場站,並且由單一車種、固 定容量的車隊,從單一場站出發,並在服務完所排定且已知需求量的顧客後,

返回中心場站。並期望能達成使車輛行駛成本(變動成本)最小,或是車輛數 最少(固定成本)之目標。現實生活中的物流應用上可能擁有多個物流中心來 進行服務,因此針對多個場站來進行車輛路線的規劃亦是一個值得探討之問 題,如 Giosa et al.【16】所提及的乳品運送問題,如何將農場之所生產的乳 品,經由妥善之規劃,有效率的運送至各加工工廠。此外,MDVRP 問題亦 常與「區位-路線問題(Location-Routing Problem, LRP)」相提並論【14】,

屬於偏向規劃層次的決策問題。

在眾多的巨集啟發式方法當中,門檻接受法(Threshold Accepting, TA)具 有執行容易、速度快、參數敏感度低等優點。TA 乃是於 1990 年由德國學者 Dueck & Scheuer 所提出,其原理係由模擬鍛鍊法(Simulated Annealing, SA)

改良而來,屬於門檻型演算法(Threshold Algorithm)的一種;TA 法不同於 SA 法以隨機性接受劣解的法則,是以確定性接受較劣解來作為判斷的準則。TA 已 被 廣 泛 應 用 於 許 多 最 佳 化 問 題 , 如 : 工 作 排 班 問 題 ( Job Scheduling Problem)、旅行推銷員問題(Traveling Salesman Problem, TSP),及一般化資 源限制之計畫排程問題等,皆有不錯的績效。

基於上述因素,本研究將針對多場站之車輛路線問題(Multi-Depot Vehicle Routing Problem, MDVRP)來進行探討。因 MDVRP 是屬於 NP-hard 的問題,

(15)

2

若要求取最佳解,則其計算時間將會隨者點數的增加呈現指數的成長,因此 點數多時求取最佳解往往相當費時。若要同時兼顧解題速度與品質,最常利 用的是啟發式方法(Heuristics)以及巨集啟發式演算法(Meta-Heuristics)。有鑑 於此,本研究的目的即在 MDVRP 的問題上利用門檻接受法(Threshold Accepting, TA)發展一套求解績效良好且時間合理的巨集啟發式演算法,以期 能提升 MDVRP 之求解績效,應用於實務時能有效降低物流成本。

1.2 研究範圍與內容

相較於傳統車輛路線問題(Vehicle Routing Problem, VRP)僅考慮單一場 站,MDVRP 在服務的規劃上不僅要考慮車輛服務的路線,還需要考慮如何 適當的分配顧客,使得所有場站的總體規劃路線能達到最佳效益,由此可見,

MDVRP 比傳統 VRP 更複雜難解。MDVRP 與 VRP 的問題特性比較如表 1.1 所示,值得注意的是,除了 MDVRP 為多場站外,還包含了最大距離/時間

(Duration)限制以及各場站可用車輛數限制,同時考慮這些限制時將會使得 建構路線更加困難,可能造成無法服務所有顧客的情形產生(不可行解)。 表 1.1 MDVRP 與 VRP 之問題特性比較

問題特性 MDVRP VRP

設施資源

多場站、單一車種、車輛容量限 制、最大距離/時間限制、場站 車輛數限制

單場站、單一車種、車輛容量限 制

顧客需求 固定需求且已知、不可分割 固定需求且已知、不可分割 節點服務 流量守恆、僅考慮送貨/收貨、

避免子迴路

流量守恆、僅考慮送貨/收貨、

避免子迴路 網路結構 無方向性、滿足歐氏(Euclidian)

三角不等式

無方向性、滿足歐氏(Euclidian)

三角不等式

最佳化目標 路線成本總和最小 路線成本總和最小

本研究主要內容包括:

一、MDVRP 文獻探討與啟發式解法回顧。

二、應用門檻接受法(Threshold Accepting, TA)與起始解及交換型啟發式解

(16)

3

法,來設計 MDVRP 巨集啟發式解法架構。

三、蒐集國內外已有的 MDVRP 例題,並針對所發展之演算法,利用 C++語 言撰寫演算法程式。

四、進行例題測試,藉以瞭解所設計之啟發式方法應用於 MDVRP 測試例題 的解題特性與執行績效。

1.3 研究步驟與流程

本研究針對 MDVRP 問題,發展一套巨集啟發式解法,並透過 C++程式 語言的撰寫來執行演算法的求解,最後並利用國際標竿題庫來進行測試並分 析各種方法之解題績效。

本論文的研究流程如圖 1.1 所示,其執行步驟簡要說明如下:

一、問題界定與特性分析

本研究將針對 MDVRP 來進行探討,並界定此問題之各項型態。

二、文獻蒐集與回顧

針對 MDVRP 問題來進行相關之啟發式演算法的文獻蒐集。並了解 MDVRP 現有解法的概念,以作為本研究參考之重點並進而協助本研究之 啟發式解法的開發。

三、測試例題蒐集

以國際標竿測試題庫來測試本研究所設計之演算法。

四、巨集啟發式演算法之設計

針對 MDVRP 的問題特性設計起始解及交換型演算法,並結合 TA 巨 集啟發式解法來構建解題架構模組。

(17)

4

五、電腦程式之撰寫

將所設計之巨集啟發式解題架構與各種執行模組,利用 Borland C+ + 撰寫程式來執行。

六、例題測試與結果分析

利用所撰寫之程式來進行例題測試,並將所得出之結果加以整理並 分析。

七、結論與建議

根據所得之分析結果,提出本研究結論,並針對後續發展以及研究 方向提出建議。

問題界定

文獻蒐集與回顧

電腦程式撰寫

測試例題蒐集 巨集啟發式演

算法之設計

例題測試與結果分析

結論與建議

圖 1.1 本研究流程圖

(18)

5

第二章 文獻回顧

2.1 傳統車輛路線問題(VRP)

車輛路線問題屬於高複雜度之組合最佳化問題,特色為問題描述容易但 求解相當困難,在求解空間中,其決策變數為雙元整數變數。

2.1.1 VRP 之定義

基本車輛路線問題,即僅考慮單一場站、單一車種、以最小路線成本為 目標、固定節線成本與固定客戶點需求、有車輛容量限制但無最大時間限制 或時間窗限制,亦無車輛數限制。

車輛路線問題可定義為【10】:給定一網路,G(V,E;D,C),V 代表網 路上所有節點(vertex)之集合,E 代表網路上所有節線(edge)之集合,D 代表發生在節點上之顧客需求(demand)之集合,C 代表使用節線之一般化 成本(generalized cost)集合。車輛路線問題(VRP)即在上述網路 G 中,

給定具有相同容量的配送車隊,然後決定出一組具有最小總成本的配送路線

(自場站出發,最後回到場站)。其中每條路線由一輛車行駛,各車所服務的 顧客需求總和不得超過車輛容量;每位顧客皆須被服務,而且僅能被一輛車 服務。

2.1.2 VRP 之啟發式解法

相關車輛路線問題解法的文獻眾多,Bodin【11】將車輛路線問題分類如 下:

一、先分群再排程(cluster first-route second)

二、先排程再分群(route first-cluster second)

三、節省、插入(savings、insertion)

四、交換改善(improvement exchange)

(19)

6

五、數學規劃基礎(mathematical-programming based)

六、人機互動(interactive optimization)

七、最佳解方法(exact procedure)。

前六種可以歸屬於啟發式解法,在可接受時間內可以求得不錯的近似 解,啟發式解法在實務應用上具有相當之優勢。Fisher【14】則把 VRP 求解 方法作以下之分類:

第一代:簡單啟發式解法(simple heuristic)

發展時間約為 60 年代至 70 年代之間,是利用貪心(greedy)法則、局 部改善(local improvement)等概念,設計出簡單、易執行的啟發式解法。具 代表性的解法有:Clarke & Wright 的節省法(saving algorithm)、Christofides

& Eilon 的交換法(exchang algorithm)及 Gillett & Miller 的掃描法(sweep algorithm)。

第二代:數學規劃基礎解法(MP-based heuristic)

發展時間約自 70 年代中期至今,是將 VRP 的問題鬆弛(relax)成較簡 單的 MP 模式,如一般化指派(generalized assignment)問題,或集合分割(set partitioning)問題,以便將需求點分群,再針對各子群求解 TSP 子問題,代 表性的研究有:Fisher & Jaikumar 等。

第三代:人工智慧演算法(artificial intelligence techniques)

發展時間約自 80 年代開始,由於電腦計算能力在近年來突飛猛進,致使 車輛路線問題求解方法朝向更有效率的解題工具前進。本階段的研究主要是 在於人工智慧型啟發式解法的發展,一方面是借重專家系統(expert system)

的建立,輔助不同問題個案建議最適合之求解方法,另一方面則是改變傳統 局部搜尋方法,建立智慧型的搜尋法(generic search method)等,著名的方 法有:禁制搜尋法(tabu search)、模擬降溫法(simulated annealing)、門檻接 受法(threshold accepting)、基因演算法(Genetic algorithm)及螞蟻演算法(Ant Clony System)等。

(20)

7

一般所謂的「傳統啟發式解法」,在分類上屬於第一代啟發式解法,運用 建構起始解並進行改善等原則,設計出簡單易執行的啟發式解法,優點為運 算架構簡單,缺點為求解精確度不高且易陷入局部最佳的狀況。相關解法整 理如表 2-1。

表 2.1 常見的傳統啟發式解法整理表

用途 啟發式解法 概述

鄰近點法

鄰近點法由場站出發,尋找最近未被服務之顧客加入 路線,成為路線內第一點。之後即從所在之顧客點出 發,尋找最近且未被服務之顧客點。依序將走訪過之 顧客點加入路線直到車輛容量已滿或是達成其他限 制因素而返回場站。依上述規則建構路線直到所有顧 客被服務為止。

插入法

插入法係從一條簡單的路線開始,逐步加入新的顧客 點以產生可行解;插入的準則在於插入顧客點後所增 加的路線成本愈小愈好,且須滿足車輛容量限制。評 估插入成本有許多不同的準則,例如:最近插入

(Nearest Insertion)、最遠插入(Farthest Insertion)、

最省插入(Cheapest Insertion)、最快插入(Quick Insertion)、任意插入(Random Insertion)等。

節省法

節省法對於實際情形的一些限制條件能夠輕易的加 入模式中因此在實務上最常被應用。假設每個顧客皆 有一條路線直接服務,然後藉由逐步合併路線的方式 來構建可行解;路線合併的依據在於合併後所能產生 之路線成本節省值,節省值愈大者將優先考慮合併,

但仍不得違反車輛之容量限制。依據節省法運作之不 同可分成循序節省法和平行節省法。

建構起始解

掃描法

屬於先分群再排程之方式,利用及座標來表示需求點 的區位,然後取任一需求點為起點,以其角度為零度 依順時鐘(或逆時鐘方向)以車輛容量為限制條件進行 服務區域之分割。在藉由 TSP 演算法進行需求點排 序。

(21)

8

表 2.1 傳統啟發式解法整理表(續)

用途 啟發式解法 概述

K-opt 交換法

以任一起始解為現解,交換同路線中 k 條不相 鄰節線之銜接方式以產生可行的鄰解(鄰域搜 尋),若其中存在有優於現解之鄰解,則移動至 該鄰解(新的現解),重複上述鄰域搜尋的動 作,直到所有鄰解皆無法優於現解為止。k-Opt 在每次移動後,必須重新檢查現解之所有可行 交換型態,以確定是否有更佳的鄰解存在;k 值愈大,可行的交換型態愈多,但其複雜度為 O(nk),因此使用上以 k=2 或 3 最為普遍。

Or-opt 交換法

為一種簡化的 3-Opt 節線交換法,該方法在每 次執行鄰域搜尋的迴圈當中,係陸續將某二段 節線(p=3)、一段節線(p=2)及一個節點(p=1)

自路線中抽出,然後將其插入該路線的其他節 線之間,檢查插入後的結果是否能維持可行並 獲得改善,再決定接受改善效果最好的位置進 行插入。

改善起始解

路線間節點交 換

當解的型態具有多條路線時(例如:VRP、

VRPTW 等),可應用路線間的節點交換法來進 行成本改善。對於任兩條路線相互交換其部分 節點,檢查交換後的結果是否能維持可行並獲 得改善,然後決定接受某種交換以獲得較佳的 路線。節點交換的形式很多,例如:1 點對 0 點、1 點對 1 點、1 點對 2 點等等。

資料來源:本研究整理

(22)

9

2.2 多場站車輛路線問題(MDVRP) 2.2.1 MDVRP 之定義

MDVRP 延伸自 VRP,考慮多個場站,場站及顧客位置已知。每個場站 均有多輛車,每台車輛有容量限制,並且為單一車種,當車輛出發服務各顧 客點時不違反最大距離(或時間)以及其車容量限制,每輛車行駛一條路線,

遵守流量守恆,最後車輛回到出發之場站。每個被服務的顧客點均有已知且 固定之需求,並且不可分割(一顧客點由一台車輛服務)。路網結構無方向性,

並滿足歐基里德(Euclidian)三角不等式。

有許多文獻皆提出 MDVRP 之數學規劃模式,本研究主要引用 Bodin et al.

【11】所定義的 MDVRP 模式如下:

∑ ∑ ∑

= = = n i

n j

NV v

v ij ijx c Minimize:

1 1 1

(2.1)

subject to

(

j m ,...,n

)

x

n

i NV

v v

ij 1 1

1 1

+

=

∑∑

=

= = (2.2)

(

i m ,...,n

)

x

n

j NV

v v

ij 1 1

1 1

+

=

∑∑

=

= = (2.3)

(

v ,...,NV; p m ,...,n

)

x x

n

j v pj n

i v

ip 0 1 1

1 1

+

=

=

=

= = (2.4)

(

v ,...,NV

)

K x

d v

n

i

n

j v ij

i 1

1 1

=

⎟⎟≤

⎜⎜⎝

∑ ∑

= = (2.5)

(

v ,...,NV

)

T x t x

t ijv v

n

i n

j ij n

j v ij n

i

i 1

1 1

1 1

=

≤ +

∑∑

= = = = (2.6)

(

v ,... NV

)

x

m

i n

m j

v

ij 1 1 ,

1 1

=

∑ ∑

= = + (2.7)

(

v ,...NV

)

x

m

p n

m i

v

ip 1 1 ,

1 1

=

∑ ∑

= = + (2.8)

) v

; n j i n

x n y

y

ij + ⋅ ijv ≤ −1 (m+1≤ ≠ ≤ (2.9)

(23)

10

0 1

or

0 ≥

= ij

v

ij

, y

x

(2.10)

式中,相關參數與變數說明於下:

N:節點集合,共有 n 個節點,其中 1~m 為場站,m+1~n 為顧客。

m:場站數。

NV:車輛數。

K

v:車輛 v 的容量。

T

v:車輛 v 的最長路線時間。

d

i:顧客 i 的需求量。

t

i:服務顧客節點 i 時所需的時間。

t

ij:在節線(i, j)的行駛時間。

c

ij:車輛從節點 i 至節點 j 之運輸成本。

⎩⎨

=⎧

否則

行駛至節點 由節點

車輛 , 0

j i

v ,

v 1

x

ij

y

i:每個迴路中顧客節點 i 被服務之順序編號。

其中式(2.1)為目標式,目的在使總運輸成本最小化;式(2.2)與式(2.3)限 制除場站外每個節點只能由一輛車服務一次;式(2.4)限制除場站外,服務及 離開此節點的車輛必須為同一輛;式(2.5)為車容量限制,車輛所服務的節點 需求量不能超過車容量;式(2.6)為車輛服務時間限制,車輛的服務時間與行 駛時間總合不得超過時間限制;式(2.7)與式(2.8)表示每部車輛只能被使用一 次;式(2.9)為破除子迴路(Subtour breaking)限制式;式(2.10)為雙元整數變數 限制式及非負限制式。

2.2.2 MDVRP 之求解方法回顧

(24)

11

一、精確解法

Laporte 等人【18】利用分支定限法(Branch-and-Bound)來對 MDVRP 進行求解。其求解最大範圍為 50 位顧客點與 8 個場站。之後 Laporte 等 人【19】進而利用分支定限法來求解非對稱的 MDVRP 問題,其求解範 圍為 80 位顧客點與 3 個場站。

二、啟發式解法

因 MDVRP 屬於 NP-hard 之問題,故近年來所提出之解法皆以啟發 式方法為主。在啟發式解法上,Chao 等人【12】指出起始路線建構法約 略可分為兩種主要的形式:單階段(one-phase)與兩階段(two-phase)。

在早期的啟發式方法研究中,多屬於以節省法為基礎的單階段求解方 式,在指派的同時也進行了路線的建構。後續的啟發式方法研究則以兩 階段之方式來建構路線,一般先將服務之顧客點指派給場站,之後再進 行各場站車輛路線的建構,最後則進行後續車輛路線的改善動作。此種 兩階段求解方式,起始指派時的結果很重要,往往會因為起始指派的好 壞而影響最後之求解品質,較差的顧客指派容易產生較差的解。

Tillman【21】首度將節省法原理應用於求解 MDVRP 上,該解法先 計算各場站分別到所有點之距離。接著計算每一顧客對應於不同場站時 與其他顧客合併後所得之節省值,依照節省值大小進行合併之動作直到 無法合併為止。Tillman 修正了傳統節省值一般以歐式距離來計算顧客與 場站間距離的方式,以避免計算出節省值最大但其卻是結合了離場站較 遠的路線。因為其為對稱性路網因此 cij=cji。Tillman 修正之距離成本

c′ 如

ij 下式(2.11)所示:

( c c ) i N M k M

c

c

ik′ = ik*ikik*    for all ∈ \( ), ∈ (2.11)

{ c k M }

Min

c

ik

ik = k | ∈

where *

c

ik=顧客點 i 到場站 k 的運輸成本;

c

ik*=顧客點 i 到最近場站 k 的運輸成本

N=所有節點集合;

M=場站之集合;

(25)

12

Tillman 和 Cain【22】沿用之前 Tillman【21】所修改之距離成本計 算法之節省值sijk為基礎,如式(2.12)所示。並且另外加入了一懲罰校正 因子pijk ,並由節省值與懲罰值的加總 fijk如式(2.13),來判斷兩條路線 是否合併,fijk值越高優先合併。pijk 懲罰值利用機會成本之概念在計算 合併兩顧客於某一場站時所需付出的機會成本。

M k M N j i c c c

sijk = ik′ + kj′ − ij   , ∈ \( ), ∈ (2.12) M

k M N j i p s

fijk =

α

ijk +

β

ijk    , ∈ \( ), ∈ (2.13) 為正值權重參數

,

β α

Wren 和 Holliday【24】在進行路線規劃前,先指定每個場站所擁有 之車輛。然後將顧客點利用演算法來處理其順序(order),共設計四種不同 之演算法來執行此動作,並挑出其中最好的一個來進行後續之動作。接 著利用之前排好的順序依序將顧客指派到插入後增加最少成本的車輛路 線中,且不違反限制(如車容量限制)。在建構起始解時,設立了一機制,

利用插入上限值防止顧客被插入到場站另一端的路線中,如過超出上限 且還有空餘車輛可使用,則另外新增一條路線。在建構完路線之後,則 進行路線改善之動作,包含:inspect(節線交換)、single(節點移出)、pair(節 點交換)、complain(修正起始演算法中未被服務之點)、delete(減少車輛)、

disentangle(解決路線交錯之問題)。

Gillett 和 Johson【15】最主要分三階段,顧客分群、建構路線、路線 改善。在顧客分群時,其會把顧客指派到適合之場站,並同時建構一包 圍場站之路線(類似為 TSP 問題)。其指派的方式主要準則有二,第一為 考慮此顧客 i 在插入包圍路線時,插入成本最小的場站,第二準則為顧客 i 的最鄰近點 k 在插入包圍路線時,插入成本最小的場站。若此兩點插入 的場站相同則將 i 插入。若不同,則延後處理。分群過後則利用掃描法 (sweep)來建構路線。最後則利用節點交換來改善成本,並且場站會針對 其鄰近場站某些服務之顧客點取出作重新分派,並對有變動之場站重解 VRP。

Golden 等人【17】提出兩種求解方式來求解 MDVRP 問題,一為單 階段式起始解建構方法,另一為兩階段起始解建構方法。起始解建構方 法沿用 Tillman 和 Cain【22】計算節省法之方式來進行判斷,並另外革新 資料結構儲存方式,使得計算效率提升。兩階段起始解建構方法。其將

(26)

13

大型的問題分割成若干子問題,再分別對其求解,解法沿用 Gillett 和 Johson【15】之掃描法,分群則利用顧客最近之場站距離(d(i))與次近之 場站距離(d’(i))的比率 ri=(d(i)/d’(i))作為劃分之依據。設定一參數δ(0 ≤ δ

≤ 1)來作為判斷之標準,當 ri≤ δ則代表其明顯有可指派之場站,並立即 作指派之動作,最後利用掃描法建構路線。若 ri ≥ δ則代表此顧客點最近 與次近之場站距離差距不大,無明顯可指派之場站,將暫時不予以分類,

留待之後利用此研究所提出的單階段式起始解建構方法來進行求解。

Chao 等人【12】則將之前例題加上場站車輛數限制,增加求解可行 解之難度,之後各家所解之例題皆以此修改之標準為主。此外並另外設 計 12 題新例題,節點排列為“米”字形排列。其指派時先忽略車輛限制之 因素,依照距離將顧客指派給最近之場站。接著利用修改後之節省法 (Tillman 和 Cain【22】)來求解路線。路線改善部分包含:單點移動(1-0 交換法)、減少車輛(似利用 Or-opt 以及 1-0 交換法)、2-opt 交換法,以及 重新啟動(各場站重新求解以及抽出部分節點重新插入),另外在求解架構 中納入了紀錄更新的方式,暫時允許成本值放鬆為目前最佳解之 1%,以 跳脫區域最佳解。

Giosa 等人【16】主要是針對多場站車輛路線問題探討不同指派演算 法。其焦點放在顧客的指派的部分,依分群概念分成三大類,第一類為 經由急迫點(urgencies)來指派的方法,當中有三種不同計算準則:平行指 派(Parallel assignment)、簡化指派(Simplified assignment)、掃描指派(Sweep assignment);第二類為循環指派(Cyclic assignment);第三類為利用群集 (cluster)來指派,當中的方法包含係數繁衍(Coefficient propagation)、三準 則群集(Three criteria clustering)兩種方式。最後並使用 Arcview3.0 GIS 平 台來建構並顯示,最後測試其解題效果。在探討多場站車輛路線問題時,

其先求得各場站所需要服務的點(即指派問題,將顧客指派給場站或是場 站指派給顧客),之後再利用啟發式節省法建構起始路線並利用 2-opt 演 算法來改善解的品質。在初步測試的結果當中,以三準則群集結果最好 但是其時間也最慢。總合來看,群集指派法效果最好,急迫點指派法次 之,最差者為循環指派法。在求解 MDVRP 上,規模小時(顧客少於 100 點)所花之時間各法皆差不多。

近幾年巨集啟發式方法廣泛的運用在各車輛路線問題當中。在

(27)

14

MDVRP 中,除了上述 Chao 等人【12】利用紀錄更新外,Renaud 等人【20】

提出以 Tabu search 求解 MDVRP 之研究。進行起始解建構後其將求解架 構分成三大步驟,分別為快速改善步驟(Fast improvement)、強化步驟 (Intensification)、多樣化步驟(Diversification)。在快速改善步驟中的鄰域 搜尋又分為場站間、場站內、以及三條路線交換等三階段。在快速改善 步驟(Fast improvement)完成階段性的搜尋之後就會對現有解作更新,以 達到快速之目的,不同於一般 Tabu search 在對現有解的鄰域做完搜尋後 才對現有解進行更新的動作。而強化步驟(Intensification)、多樣化步驟 (Diversification)在測試之後發現其效果有限,且花費之時間大於快速改善 步驟(Fast improvement),若顧及解題時間下,可忽略後兩步驟。

2.2.3 小結

綜合上述文獻回顧之結果,可發現:

一、起始路線建構方式來看,可分為單階段執行與兩階段執行兩種起始路線 建構法。

二、兩階段執行程序多為分群指派、建構起始解、最後鄰域搜尋改善三部分。

三、由文獻回顧可得知目前之求解以啟發式解法為主,而近年來更納入巨集 啟發式解法來提升求解品質,但不多見。

表 2.2 MDVRP 求解方法比較表

作者 方式分類 建構路線演算法 例題類型

Laporte et al.

(1984)

精確解法 分支定限法 50 位顧客點與 8 個場站,顧

客位置為隨機產生。

Laporte et al.

(1988)

精確解法 分支定限法 80 位顧客點與 3 個場站,顧

客位置為隨機產生。

Tillman (1969) 單階段啟發 式解法

節省法 以 8 個需求點以及兩場站為

例作測試 Tillman & Cain

(1972)

單階段啟發 式解法

節省法 10 至 50 個顧客點,場站數 1 到 5 作測試

Wren &

Holliday (1972)

單階段啟發 式解法

先將點排序,再依點順序利用最小 成本插入法插入路線中。

176 至 183 個顧客點,場站 從三個已設定位置挑出兩 個位置來進行測試。

Gillett & Johson (1976)

兩階段啟發 式解法

分群:最小插入成本並輔以鄰近點 法。使場站分類之顧客成為 一個鏈(chain)。

建構:掃描法

顧客點從 50 至 249 個,場 站數由 2 至五個來進行測 試。例題當中有限制行駛之 最長距離

(28)

15

表 2.2 MDVRP 求解方法比較表(續)

Golden et al.

(1977)

單階段與 兩階段啟發 式解法

單階段:利用 Tillman & Cain (1972) 兩階段:

分群:以最近場站距離與次近場站 距離的比率做為劃分依據來 指派顧客,低者優先指派。

建構:掃描法

顧客數為 50 及 100 場站數 為 2 和 4 個

Chao et al.

(1993)

兩階段啟發 式解法加紀 錄更新

分群:顧客指派至最近之場站。

建構:節省法

求解例題與 Gillett 和 Johson[1976]相同,並產生 米字形顧客點分布之路網 來進行測試。

Giosa et al.

(2002)

兩階段啟發 式解法

分群:(1) 急迫點(urgencies)指派;

(2) 循環指派(cyclic assignment);(3)群集(cluster) 來指派。探討此三類型之差 異。

建構:節省法

求解例題與 Gillett & Johson (1976)相同,另外並針對實 際地圖計算真實距離來進 行時間測試。

Renaud et al.

(1996)

巨集啟發式 解法 (TABU)

分群:顧客指派至最近之場站。

建構:改良式花瓣法(Improved Petal heuristic)

求解例題包含 Gillett &

Johson (1976)及 Chao et al.

(1993)的資料。

資料來源:本研究整理 2.3 門檻接受法回顧

由於傳統鄰域搜尋法容易陷入區域最佳解,為了能有效跳脫出區域最佳 解,進而能找到全域最佳解。近年來在求解上常納入巨集啟發式演算法作為 整體求解演算法設計的架構之一,而門檻接受法即是巨集啟發式演算法的一 種。

TA 為 1990 年德國學者 Dueck 及 Scheuer 所提出,其由模擬鍛鍊法

(Simulated Annealing, SA)改良而來,屬於門檻型演算法(Threshold Algorithm) 的一種。TA 法不同於 SA 法以隨機性接受劣解的法則,是以確定性接受較劣 解來作為判斷的準則,不需要計算其接受機率,在交互次數多時可節省計算 之時間,因此執行速度可優於 SA。TA 已被應用於許多最佳化問題,如:工 作排班問題(Job Scheduling Problem)、旅行推銷員問題(Travelling Salesman Problem, TSP),及一般化資源限制之計畫排程問題等,且皆有不錯的績效。

楊智凱【6】將門檻接受法應用於求解 TSP 與 VRP 問題上具有不錯成效,

平均誤差可低於 3%。且指出 TA 架構及參數並不敏感,並可將其廣泛應用在 不同類型的題目上。而韓復華等人【7】探討比較五種巨集啟發式解法:門檻 接受法(Threshold Accepting, TA)、大洪水法(Great Deluge Algorithm, GDA)、

(29)

16

紀錄更新法(Record-to-Record Travel, RRT)、成本擾動法(Noising Method, NM),以及搜尋空間平滑法(Search Space Smoothing, SSS),分別依其特性 建立應用與執行架構,並比較此五種方法於求解 VRP 之績效。其研究顯示 TA 執行速度快,且指出 TA 可做為 VRP 實務應用上的有效解題工具,也具 有應用在其他車輛路線相關問題之潛力。

2.3.1 接受法則

TA 的觀念由 SA 延伸而來,但是其採用確定性的接受法則,只要鄰解與 現解的差距在門檻值以下就接受,其執行方式更為簡單,圖 2.1【8】表示 SA 與 TA 接受法則之差異。當搜尋的暫時解成本 C(j)優於現有解成本 C(i)時,立 即接受;當暫時解成本比現有解成本大時,若差值(C(j)- C(i))仍小於門檻值,

則接受更新,否則就保留現有解。

TA SA

接受機率 1

0

門檻值(T) 暫劣解的差值

實線表示 TA 虛線表示 SA

0

圖 2.1 TA 與 SA 接受暫劣解機率之比較 2.3.2 TA 控制參數

TA 控制參數如表 2.3 所示。其中,控制參數係用以產生接受門檻之常數;

參數更新則說明接受門檻或參數之更新方式;停止法則規範演算法停止搜尋 之標準。

表2.3 TA之控制參數 方法 TA

控制參數 起始門檻比率(T0)、門檻數列長度(K) 參數更新 Tk → Tk+1

停止法則 完成 K 次迴圈

(30)

17

TA 法之控制參數包括:起始門檻比率(T0)及門檻值數列長度(K)。

此外,為避免 TA 發生無法收斂的情形,門檻值數列通常為遞減型態;圖 2.2 顯示門檻數列遞減型態。以直線遞減為例,利用控制參數 T0與 K 來產生門 檻數列之數值,其公式如式(2.14),X0為起始解,而 C(X0)則為其目標函數值:

K

~ 1 k 1 , - K

k - T K ) C(X

Tk = 00⋅ = (2.14)

K Tk

k

(a) 直線遞減 (b) 梯形遞減 (c) 等比遞減

1 K

Tk

k

1 K

Tk

k 1

圖 2.2 三種門檻數列遞減型態

門檻數列長度是指在執行時門檻數列之中有多少門檻值,門檻數列長度 與起始門檻的設定和數列遞減形態的設定有關,數列長度的設定會影響計算 時間和求解之精確度。一般而言,起始門檻設定比率越高,也會設定較長等 門檻數列,使其計算時能逐漸降低成本。以起始門檻值設定來看,Dueck and Scheuer 【13】在提出 TA 時所採用的起始門檻值為最佳成本的 0.25%、門檻 數列長度為 30、門檻值遞減型態為梯形遞減。Toussaint 【23】則建議起始門 檻值為起始成本的 1%、2%及 2.5%,門檻值遞減型態為直線遞減或等比遞減。

楊智凱【6】根據實證研究之經驗,建議起始門檻值為起始成本的 0.2%

至 1.0%,門檻數列則是採用線性遞減。韓復華與卓裕仁【9】運用改良式的 門檻公式,如式(2.15),當中 N 為節點數。在經過大規模參數測試後結果顯 示:解題績效對 T0之敏感度較大,T0值不宜過大或過小,以 0.2% ~ 1.5%之 範圍為佳;K 值對解題績效之敏感度較低; K 過大解題時間明顯增加但精度 改進有限,建議 K 值不宜超過 60。

K

~ 1 k , 1 - K

k - K N ) T C(X

Tk = 00 ⋅ = (2.15)

(31)

18

第三章 MDVRP 之門檻接受法解題架構設計

3.1 整體解題架構

本研究以門檻接受法(Threshold Accepting, TA)結合傳統鄰域搜尋方法,

來構建 MDVRP 之巨集啟發式解法,並以 TA_MDVRP 命名之。TA 在使用上 採用確定性的接受法則,且有不須記憶、穩定、執行方式簡單、速度快之優 點。期能藉由 TA 可接受劣解的機制,使搜尋過程能夠脫離區域最佳解的束 縛,進而能找到全域最佳解。

門檻接受法應用於 MDVRP 之解題架構如圖 3.1 所示。整套解題架構可 分為四個模組,第一個為起始解構建模組(Initial Solution Construction Module, ISC Module) ,第二為可行解調整模組( Feasible Satification Module, FS Module),第三為鄰域搜尋模組(Neighborhood Search Module, NS Module),

第四為門檻接受模組(TA Modules)。

可行解調整模組 (車輛限制子模組)

開始

起始解建構模組

鄰域搜尋模組

結束 門檻接受模組

停止法則 否

是 可行解調整模組

(配送時限子模組)

圖 3.1 MDVRP 之門檻接受法解題架構

(32)

19

3.2 起始解構建模組細部設計

本研究在起始解設計上,分為兩大類。一為單階段路線建構法;另一為 兩階段路線建構法。在單階段路線建構法中考量了八種起始路線的建構機 制,而兩階段路線建構法亦設計了八種不同的分群建構路線之準則。

3.2.1 單階段建構路線法

以往有關求解 MDVRP 的問題,文獻最早使用節省法構建起始解,節省 法多以路線成本節省為考量,但應用在 MDVRP 上,必須加一校正因子,以 防節省法將節省值較大的顧客點指派給較遠的場站。本研究採用最近鄰點法 可免除節省法校正的計算過程。傳統鄰近點法僅以距離為考慮因素,起始解 建構則引入了顧客需求量以及鄰近點法搭配插入法來作為建構路線的參考基 準。

因此本研究即以傳統最近鄰點法(Nearest Neighbor)的概念為核心,以循 序和平行的概念將需求點一一納入路線中,所謂循序的概念意指:一條路線 構建完畢之後再構建另一條新的路線,直到所有需求點皆已納入所有路線為 止;而平行的概念意指:同時構建多條路線,直到所有需求點皆已納入所有 路線內為止。相關單階段起始解建構法整理如表 3.1。

表 3.1 單階段建構起始解法彙整表 單階段建構路線啟發式解法

準則 順序 循序 平行

最鄰近點 NNS1 NNP1

每單位需求量距離最小(距離/需求量) NNS2 NNP2

插入成本最小鄰近點法 NNS3 NNP3

最近插入法 NIS NIP

各單階段建構路線法判段準則通式與說明如下:

一、循序-最鄰近點(NNS1)

{

| \( )

}

Minj cij jN M + P (3.1)

(33)

20

其中,

c

ij:路線中最後一顧客點 i 到 j 的運輸成本;

N:所有節點集合;

M:場站之集合;

P:已被服務之顧客點集合;

判斷準則如式(3.1)所示,首先由各場站出發找距離其最近且未被服 務之顧客點,並比較各場站到最鄰近顧客點之距離,挑選當中距離最小 者開始建構路線,而此顧客點即為路線中的第一點。接續再由第一點出 發找其最鄰近之顧客點。以此法則直到車輛達容量限制時即回到出發的 場站,完成本條路線的建構。依此法依序建構其餘路線直到所有顧客點 已被服務。

二、循序-每單位需求量距離最小(距離/需求量)(NNS2)

{

/ | \( )

}

Minj cij dj jN M +P (3.2)

其中,

d

j:顧客點 j 的需求;其餘符號同前。

判斷準則如式(3.2)所示。此法的執行程序與 NNS1 同,差別在其最 鄰近的準則不同。NNS1 準則為距離,此法準則為距離除以需求量之值最 小,即每單位需求的距離最小。使用此法是希望能夠優先以服務距離近 且需求量大之顧客作為考量。

三、循序-插入成本最小鄰近點法(NNS3)

{

| \( )

}

Minj cij +cjSciS jN M +P (3.3)

其中,

(34)

21

S:服務顧客 i 之場站 S,S 屬於 M,其餘同前。

判斷準則如式(3.3)所示。首先由各場站出發找距離其最近且未被服 務之顧客點,並比較各場站到最鄰近顧客點之距離,挑選當中距離最小 者開始建構路線,而此顧客點即為路線中的第一點,在建構第一點時即 加總從場站出發與回到場站之距離。接續再出發找其插入最末點到場站 這段路線中成本最小的鄰近顧客點。挑選出顧客點後,即將此點插入至 最末點到場站的路線中,而此被插入之顧客點,即成為目前此路線之最 末點。以此法計算直到車輛達容量限制即停止,並完成本條路線的建構。

依此法依序建構其餘路線直到所有顧客點已被服務。使用此法是在比較 於路線尾端新增一點與不新增一點時的成本差距,探討不同新增點回場 站之機會成本,並找出其中成本最低者作為延伸路線之點。

四、循序-最近插入法(NIS)

{

| ; \( )

}

Min cij i R j N M P

j ∈ ∈ + (3.4)

c

ij:顧客點 i 到 j 的運輸成本;

R:目前路線所服務之顧客節點集合;

式(3.4)為選擇顧客點之判斷準則。使用插入法概念來進行,首先由 各場站出發找插入成本最小且未被服務之顧客點,並比較各場站插入顧 客點之成本。成本考量以距離為單位,挑選當中插入距離最小者開始建 構路線,而此顧客點即為路線中的第一點。在建構第一點時即加總從場 站出發與回到場站之距離,此即插入的成本。接續再找與這段路線中距 離最近之顧客點,判斷準則如式(3.4)。挑選出顧客點後,計算此點插入 路線中哪段最適宜(插入成本最小),而此被插入之顧客點,即成為目前此 路線之其中一點。以此法計算直到車輛達容量限制時即不再插入顧客,

並完成本條路線的建構。依此法依序建構其餘路線直到所有顧客點已被 服務。

五、平行-最鄰近點法(NNP1)

(35)

22

{

| ; \( )

}

Min, cij i Q M j N M P

j

i ∈ + ∈ + (3.5)

其中,

c

ij:顧客 i 到 j 的運輸成本;

Q:所有路線最後一點之集合;其餘同前。

判斷準則如式(3.5)所示。首先由各場站出發找距離其最近之顧客 點,並比較各場站到其最鄰近顧客點之距離,挑選距離最小者開始建構 路線,而此顧客點即為路線中的第一點。接續再由第一點出發找其最鄰 近之顧客點,並與其他場站的最鄰近點作比較,找其最小者來建構路線。

以此類推,每次的最鄰近點比較,除了計算目前場站出發之最鄰近點(未 被服務之顧客點)外,還包括各路線(還未返回場站)之最末點的鄰近點,

並從中挑出距離最小者作連結。在計算當中若有場站滿足車輛容量限制 時即回到出發的場站。依此法建構路線直到所有顧客點已被服務。

六、平行-每單位需求量距離最小(距離/需求量) (NNP2)

{

/ | ; \( )

}

Min, cij dj i Q M j N M P

j

i ∈ + ∈ + (3.6)

判斷準則如式(3.6)所示。此法的執行程序與 NNP1 同,差別在其最 鄰近的準則不同。NNP1 準則為距離,此法準則為距離除以需求量之值最 小,即每單位需求的距離最小。使用此法是希望能夠優先以服務距離近 且需求量大之顧客作為考量。

七、平行-插入成本最小鄰近點法(NNP3)

{

| ; \( )

}

Min, cij cjS ciS i Q M j N M P

j

i + − ∈ + ∈ + (3.7)

判斷準則如式(3.7)所示。首先由各場站出發找距離其最近之顧客 點,並比較各場站到其最鄰近顧客點之距離,挑選距離最小者開始建構 路線,而此顧客點即為路線中的第一點,在建構第一點時即加總從場站

(36)

23

出發與回到場站之距離。接續再出發找其插入最末點到場站這段路線中 成本最小的鄰近顧客點,並與其他場站插入最鄰近點的值(計算距離為去 回之距離)作比較,找其當中最小者來建構路線。以此類推,每次的插入 比較,除了計算目前場站出發之最小插入成本顧客點(未被服務)外,還包 括各路線(未返回場站)最末點的最小插入成本顧客點,並從中挑出成本最 小者作連結。在計算當中若有場站滿足車輛容量限制時即停止。依此法 建構路線直到所有顧客點已被服務。使用此法是在比較在路線尾端新增 一點與不新增一點的成本差距,探討不同新增點回場站之機會成本,並 找出其中成本最低者作為延伸路線之點。

八、平行-最近插入法(NIP)

{

| ( ); \( )

}

Min cij i M P j N M P

j ∈ + ∈ + (3.8)

選擇顧客點之判斷準則如式(3.8)所示。首先由各場站出發找插入成 本最小且未被服務之顧客點,並比較各場站插入顧客點之成本,目前成 本考量以距離為單位,挑選當中插入距離最小者開始建構路線,而此顧 客點即為路線中的第一點,在建構第一點時即加總從場站出發與回到場 站之距離,此即插入的成本。接續再找與這段路線中距離最近之顧客點,

並與其他場站出發插入最鄰近顧客點的成本以及其他路線插入最鄰近顧 客點的成本作比較。挑選出成本最小的顧客點後,計算此點插入所選路 線中哪段最適宜(插入成本最小),而此被插入之顧客點,即成為目前此路 線之其中一點。以此法計算直到車輛達容量限制時即不在插入顧客,並 完成本條路線的建構。依此法建構路線直到所有顧客點已被服務。

3.2.2 兩階段建構路線法

兩階段建構路線法設計上係以「先分群再排程(cluster-first/route-second)」

的兩階段路線建構法為主,共設計了四種不同的分群準則,再配合兩種排程 方法,共有八種起始解構建模組。四種分群準則之概念為:一是以距離作為 指派的依據(TC1),先初步將離場站最近之顧客點分群,並延伸此觀念,加入 考量顧客服務時間而產生一新的分群準則(TC3)。另一分群方式則以顧客點被 服務之急迫性來作為考量(TC2),即計算該顧客點對於其最近之場站於其他場

(37)

24

站距離總合之差距,差距越大表示該顧客點較需要由其“最近"場站來服 務,本研究另外納入以最近場站與第二遠場站之差距來作為比較(TC4),此法 亦是以急迫性來作為考量,但判斷之準則較為簡單。兩階段之建構法以最遠 插入法以及最遠起點之鄰近點法為主,來搭配各分群的準則。各分群準則概 念之數學模式如下:

一、最近場站指派(Maxmin_1)

每個顧客先尋找離其最近之場站,然後再由大至小依次排序,並依 此順序將顧客指派給場站,判斷準則如下式(3.9)所示。若達車輛的容量 限制,則將此顧客配給第二近之場站。

{

c | j M

}

Min c

P M

\ N i

| c

Max ij

* j ij

* i ij

= +

∈ ( )},where

{ (3.9)

其中,

c

ij:顧客點 i 到 j 的運輸成本;

M:為場站之集合,M = {1, 2, …, m};

N:所有節點集合 N = {1, 2, …, m,m+1…,n};

P:已分派之顧客點集合, P

N \ M

二、顧客最近場站與其餘場站距離總合之差距(Max_difference_1)

此計算之概念利用顧客點被服務之急迫性來作為考量,即計算該顧 客點對於其最近之場站於其他場站距離總合之差距,差距越大表示該顧 客點較需要由其“最近”場站來服務 ,其步驟先依最近場站與其餘場站距 離總合之差距以大至小排序,並依此順序將顧客指派給場站,。判斷準 則如下式(3.10)所示。若達車輛的容量限制,則將此顧客配給第二近之場 站。此法同於 Giosa 等人【16】所用之平行指派(parallel assignment)。

{ } ( )}

{

c c | i N \ M P Max

* j

\ M

j ij ij*

i ∑ − ∈ +

(3.10)

(38)

25

三、距離+顧客點服務時間 (Maxmin_2)

此法類似於最近場站指派(Maxmin_1),其不同點在於其考量顧客點 的配送時間,希望離場站較遠或是配送時間較長之顧客點能優先指派給 其最近之場站。每個顧客先尋找離其最近之場站,再依距離+顧客點服務 時間由大至小排序,並依此順序將顧客指派給場站,判斷準則如下式(3.11) 所示。若達車輛的容量限制,則將此顧客配給第二近之場站。

)}

( {

c t | i N \ M P Max

ij* i

i

+

+ (3.11)

其中,

ti:服務顧客 i 所需之時間;

四、最近場站與次近場站之差距(Max_difference_2)

此法執行方式同於最近場站與其餘場站之距離總合差距,不同點在 於其利用較簡易的概念來計算顧客點被服務之急迫性。其先計算依最近 場站與次近場站之距離差距,並以大至小排序,並依此順序將顧客指派 給場站,判斷準則如下式(3.12)所示。若達車輛的容量限制,則將此顧客 配給第二近之場站。此法同於 Giosa 等人【16】所用之簡化指派(simplified assignment)。

{ c | j M \ { } j * }

Min c

P M

\ N i

| c c

Max

ij

is j

* ij i is

= +

− ( )}, where

{ (3.12)

兩階段之第二階段為路線建構。採用「循序最遠插入法」及「循序最遠 起點之鄰近點法」,來搭配第一階段的四種分群準則。

一、最遠插入法

首先由場站出發找分群中插入成本最大且未被服務之顧客點,成本 考量以距離為單位,建構第一點時之成本即為從場站出發與回到場站之 距離,計算後並比較各場站插入顧客點之成本。挑選當中插入距離最大 者開始建構路線,而此顧客點即為路線中的第一點。接續再尋找與這段

(39)

26

路線中距離最遠之顧客點,判斷準則如式(3.13)。挑選出顧客點後,再計 算此點插入路線中哪段最適宜(插入成本最小),而此被插入之顧客點,即 成為目前此路線之其中一點。以此法計算直到車輛達容量限制時即不再 插入顧客,並完成本條路線的建構,為循序式建構法。依序建構其餘路 線直到所有顧客點已被服務為止。

{

| ; \

}

Max cij i P j VS M P

ij ∈ ∈ + (3.13)

S:服務顧客 i 之場站;

V

S:場站 S 分群後之顧客集合;

二、最遠起點之鄰近點法

最遠起點之鄰近點法先將此分群中最遠之顧客納入為一新路線的第 一點,判斷準則如式(3.14)。之後的路線即從此點開始尋找其最鄰近點,

準則如式(3.15)。最後路線若達容量限制則返回場站。依序進行直到所有 顧客皆已排入路線當中,為循序式建構法。

當 i 為場站時:Max

{

cij |i M; j VS \M P

}

ij ∈ ∈ + ; (3.14)

當 i 為顧客點時:Min

{

cij |i P; j VS \M P

}

ij ∈ ∈ +

; (3.15)

兩階段起始解建構法整理如表 3.2。

表 3.2 兩階段建構起始解法名稱彙整表

兩階段建構路線啟發式解法

分群準則 建構路線 最遠插入 最遠起點之鄰近點

最近場站指派 TC1_FI TC1_FN

最近場站與其餘場站之距離總合差距 TC2_FI TC2_FN

距離+顧客點服務時間 TC3_FI TC3_FN

最近場站與第二近場站之差距 TC4_FI TC4_FN

參考文獻

相關文件

Given a graph and a set of p sources, the problem of finding the minimum routing cost spanning tree (MRCT) is NP-hard for any constant p > 1 [9].. When p = 1, i.e., there is only

• Any node that does not have a local replica of the object periodically creates a QoS-advert message contains (a) its δ i deadline value and (b) depending-on , the ID of the node

Therefore, the purpose of this study is to propose a model, named as the Interhub Heterogeneous Fleet Routing Problem (IHFRP), to deal with the route design

Keywords: Ant Colony System (ACS), Farthest Insertion Method, Vehicle Routing Problem (VRP)... 第一章

此外,由文獻回顧(詳第二章)可知,實務的車輛配送路線排程可藉由車 輛路線問題(Vehicle Routing

This paper formulates the above situation to the Multi-temperature Refrigerated Container Vehicle Routing Problem (MRCVRP), and proposes a two-stage heuristic which consists of

Abstract: This paper presents a meta-heuristic, which is based on the Threshold Accepting combined with modified Nearest Neighbor and Exchange procedures, to solve the Vehicle

針對上述問題及根據其他接駁配送方式,本研究提出「多重補貨點接駁車 輛路線問題 (Multi-Point Feeder Vehicle Routing Problem, MFVRP)」