• 沒有找到結果。

時窗分割策略

在文檔中 Delivery Problem with Time Windows (頁 42-47)

第三章 PDPTW 轉換 SPDP

3.1 時窗分割策略

時窗分割策略為利用固定的時間長度或固定的分割數量,將 PDPTW 中 各個作業點(包括收貨作業與卸貨作業)的時間窗,分割為數個連續且獨立的 服務時間窗,並分別視為一項新的子作業。本研究有鑑於實務問題中各作業 點的服務時間窗大小不盡相同,且作業點之間的原始時間窗區間差異可能過 大,若使用固定數量進行分割作業,將使得部分子作業時間窗極小,徒增問 題規模,以及部分子作業的時間窗偏大,徒增車輛閒置時間,增加搜尋最佳 解的困難,因此研究中採用固定的時間長度的策略來進行時間窗分割。

Wang【96】應用時窗分割策略求解 mTSP 問題時所使用的方法是設計 寬 鬆 離 開 時 間 限 制 (Under Constrained ) 與 嚴 謹 離 開 時 間 限 制 ( Over Constrained),求出最佳解的上、下限值,再藉由調整子時窗的大小,漸漸 逼近至找出最佳解。其中寬鬆離開時間限制是指,無論到達子作業的時間點 為何時,皆將該子作業的最早開始服務時間視為服務完成後的離開時間;嚴 謹離開時間限制是指,無論到達子作業的時間點為何時,皆將該子作業的最 晚完成時間視為服務完成後的離開時間。

本研究應用時窗分割策略的方式則不盡相同。本研究利用固定時間長 度分割策略,將 PDPTW 問題的原始時窗分割為數個連續且獨立的服務時間

窗,並分別視為一項新的子作業(SPDP 問題中的子作業點),然後利用嚴 謹離開時間限制,建立各子作業間的旅行成本矩陣,供後續求解 SPDP 時使 用。值得注意的是,嚴謹離開時間限制所建立出的子作業旅行成本矩陣中,

存在旅行成本的路段,即表示依序服務路段所連結的兩個子作業時,絕對不 會違背該兩個子作業的服務時間窗限制,且無論是進行作業點插入,或作業 點交換等路徑改善作業時,只要改變後所新增的路段,在子作業旅行成本矩 陣中有成本值存在,就可以確定路徑中所有作業點的服務時間窗限制皆有被 滿足。因此,利用子作業旅行成本矩陣求解 SPDP 時,將可以完全不需要考 慮跟時間窗有關的運算,即成功的將 PDPTW 問題中的時窗限制消除,轉換 為SPDP 問題。

詳細的時窗分割步驟、子作業時間窗產生方式、以及子作業旅行成本 矩陣建立方式,條列敘述如下。

一、PDPTW 作業點時間窗分割

單一作業時間窗分割示意圖如圖3.1 所示,分割步驟則條列如下。

圖3.1 固定時間值分割時間窗示意圖 步驟1:在集合 V 中任意選擇一個作業點 u

步驟2:計算時間窗[eu , lu]中的連續時間長度(lu - eu)

步驟3:利用 δ 值將 (lu - eu) 切割為 Γu 個連續時間長度等於或小 於 δ 的時段,小於 δ 的時段僅能是最後一個,且仍視為 一個獨立的時段,計算方式如式(3.1)所示。

步驟4:將每一個獨立時段,視為一個新的子作業的服務時間區間 步驟5:在第一個子作業前新增一個虛擬的子作業

步驟6:將所有新增的子作業加入集合

V

步驟7:將作業點 u 從集合 V 中刪除

步驟8:集合 V 不為空集合時,回到步驟 1,若否,則停止

u u

u

l - e

Γ = ( ) u V

δ

⎡ ⎤ ∀ ∈

⎢ ⎥

⎢ ⎥ , (3.1)

步驟 4 將作業點 Ju所分割出的各個時段,分別視為一項新的子作 業,子作業 Jui即表示作業點 Ju所分割出的第 i 個子作業;步驟 5 中額 外增加虛擬子作業的目的,為允許車輛在各作業點的最早開始服務時 間前到達。由於離開子作業的時間點一律使用最晚完成時間(嚴謹離 開時間限制),為確保作業點 Ju最早能在e 時開始服務,因此需新增一u 個虛擬的子作業 Ju0 否則可能出現車輛離開場站後,沒有可以服務的子 作業,以及可能因為車輛等待時間減少而增加了車輛使用數量的情況 發生。虛擬子作業若是由分割作業點 Ju後所產生的,則以 Ju0表示,服 務時間窗固定為[ S ,eui],最早開始服務時間固定為車輛離開場站的最早 時間(開工時間),最晚完成時間等於子作業 Ju1的最早開始服務時間。

PDPTW 範例問題(表 3.1)中各作業點,利用 δ=60 近行時間窗分 割結果如圖3.2 所示,產生的子作業數量(時段數量)與時窗列於表 3.2。

圖3.2 SPDP 子作業間路段網絡示意圖

3.2 利用時間窗分割 δ=60 分割範例問題的結果

PDPTW 問題 作業點

Γu 各作業點分割後產生的子作業與子作業時間窗

J

1

Γ1 =

4 J

10

J

11

J

12

J

13

時間窗 [0,480] [480,540] [540,600] [600,660]

J

2

Γ2 =

4 J

20

J

21

J

22

J

23

時間窗 [0,600] [600,660] [660,720] [720,780]

J

3 Γ3 =

4 J

30

J

31

J

32

J

33

時間窗 [0,660] [660,720] [720,780] [780,840]

J

4

Γ4=

9 J

40

J

41

J

42

J

43

J

44

J

45

J

46

J

47

J

48

時間窗 [0,540] [540,600] [600,660] [660,720] [720,780] [780,840] [840,900] [900,960]

[

960,1020]

二、SPDP 問題中子作業的時間窗

PDPTW 問題中作業點被服務的時間,主要是由車輛所服務的前一 個作業點的離開時間與該作業點本身的服務時間窗限制推算而得,

SPDP 問題中子作業的服務時間計算方式當然也相同,計算方式如式 (3.2)與(3.3),分別為子作業 Jui的最早開始服務時間(eui)與最晚完成時間 (lui)。範例問題經 δ=60 分割後,各子作業的時窗數據列於表 3.2。

eui= Max ( eu , eu+δ(i-1) ),i=1,2,…, Γu

∀ ∈ u V

(3.2) lui= Min ( eu+(δ.i) , lu ),i=1,2,…, Γu

∀ ∈ u V

(3.3) 三、SPDP 問題中子作業間旅行成本矩陣

子作業旅行成本矩陣為針對 SPDP 問題中兩兩子作業間、以及子作 業與場站間所構建的旅行成本矩陣,矩陣中有旅行成本存在的所有路 段,必須滿足兩項最基本的原則。不符合原則 1 與原則 2 的路段必不 存在於子作業旅行成本矩陣中,意即不可能存在於可行解中。

原則 1 :各作業地點必須僅服務一次

從作業點 Ju 分割出的子作業們,必須僅有其中一項被服 務,因為各個子作業所要去的地方其實都是同一個地點。表 3.3 中沒有旅行成本,以粗框線匡起並以斜線網底表示的區 塊,即是違反原則1 的路段。

原則 2 :滿足子作業服務時間窗限制

車輛到達子作業的時間必須在子作業的服務時窗範圍內,

且服務完成後的離開時間亦不可超過子作業的最晚離開時間,

如式(3.4)與(3.5)所示。表 3.3 中沒有旅行成本,也沒有以斜線 網底表示的儲存格,皆是違反原則2 的路段。

,

ui ui vj vj

l +t >e (3.4)

,

ui ui vj vj vj

l +t +sl (3.5)

3.3 為 PDPTW 範例問題(表 3.1)經 δ=60 分割後所建立的子作 業旅行成本矩陣,該矩陣是一個「非對稱的矩陣」。由如圖 3.2 所示,

可行解中可能會存在路段X12,22,但是絕不會存在路段X22,12。 表3.3 SPDP 子作業旅行成本矩陣表

 

J

0

  J

10

  J

11

J

12

  J

13

  J

20

  J

21

  J

22

J

23

J

30

J

31

J

32

J

33

J

40

J

41

J

42

J

43

J

44

  J

45

  J

46

  J

47

  J

48

J

0

 

- 60 - - - 60 - - - 210 - - - 330 - - -

-J

10

 

60 - - - - 120 - - - - 240 - - - - - - - 360

-J

11

 

60 - - - - - 120 - - - - 240 - - - 360

-J

12

 

60 - - - - - - 120 - - - - 240 - - - - 360

-J

13

 

60 - - - - - - - 120 - - - - - - - - - - - - 360

J

20

 

60 - - - - - - - - - - 180 - - - - - - - 300 -

-J

21

 

60 - - - - - - - - - - - 180 - - - - - - - 300

-J

22

 

60 - - - - - - - - - - - - - - - - - - - - 300

J

23

 

60 - - - - - - - - - - - -

-J

30

 

210 - - - - - - - - - - - - - - - - - 180 - -

-J

31

 

210 - - - - 180 -

-J

32

 

210 - - - - - - - - - - - - - - - - - - - 180

-J

33

 

210 - - - - - - - - - - - - - - - - - - - - 180

J

40

 

330 - - - - - - - - - 180 - - - - - - - - - -

-J

41

 

330 - - - - - - - - - - 180 - - - - - - - - -

-J

42

 

330 - - - - - - - - - - - 180 - - - - - - - -

-J

43

 

330 - - - - - -

-J

44

 

330 - - - - - - - - - - - - - - - - - - - -

-J

45

 

330 - - - - - - - - - - - - - - - - - - - -

-J

46

 

330 - - - - - - - - - - - - - - - - - - - -

-J

47

 

330 - - - - - -

-J

48

 

- - - - - - - - - - - - - - - - - - - - -

-PDPTW 問題經時間窗分割後所產生的 SPDP 問題中,雖減少了後續運 算過程中所有與服務時間有關的步驟,但是 SPDP 中決策變數的總數量卻倍 增於 PDPTW 問題,比較表 3.1 與 3.3,發現作業決策變數從 5 個增加為 22 個;而路段決策變數則從20 個增加為 47 個。消除時間限制後減少的時窗相 關運算與判斷時間,無法確保其可以彌補問題規模增加所造成的限制式增量 與運算時間,因此本研究近ㄧ步設計問題規模精簡策略,將可行解中不可能

出現的路段,以及時間窗分割後所產生的部份不可能被服務的子作業刪除,

減少SPDP 問題決策變數數量,與演算過程中可能出現的無效運算步驟。

此作業階段請注意!矩陣是用嚴謹離開時間限制法計算所得,若為了 使轉換所得的 SPDP 問題規模較小,而使用較大的時間窗分割參數值(δ),

以致於子作業的時間窗偏大,將可能造成原問題最佳解不存在(因為增加了 過多的車輛閒置時間),或是 SPDP 最佳解品質劣於原 PDPTW 最佳解。因 此,如何兼顧 SPDP 問題規模與最佳解品質,是該轉換作業績效的重要關鍵 之一,適合的時間窗分割參數值(δ)請參考後續 3.4.2 小節中的測試結果。

在文檔中 Delivery Problem with Time Windows (頁 42-47)