• 沒有找到結果。

問題定義與假設

第三章 數學模型規劃

3.1 問題定義與假設

本研究假設卡車容量、收貨與送貨的地理位置、收貨量及送貨量均為已 知,應用數學規劃方法,參考 PDVRP 為基本架構,PDVRP 的部分需求點接受 收貨服務,部分需求點接受送貨服務,且車輛具容量限制都與自行車系統配置 問題相似。藉由表 1 說明兩者之間的關係,並由圖 1 舉例公共自行車靜態配置 中卡車路線配置情況,卡車從發車地出發,分別行駛路線 1-2-3-4 及路線 5-7-9-10,其中缺位站需將站上的自行車放入卡車,而缺車站需將卡車上的自行車放 入站內,以路線 1-2-3-4 為例,卡車由發車地抵達第 1 站取走 10 台自行車,前 往第 2 站放入 7 台自行車,再前往第 3 站取走 5 台自行車,最後到第 4 站放入 8 台自行車,此路線成本不包含卡車從發車地出發前往第 1 站及第 4 站回到卡 車出發地的成本。

表 1 PDVRP 與公共自行車靜態配置比較

PDVRP 公共自行車靜態配置

收貨站 缺車站

送貨站 缺位站

轉運中心 卡車發車地

路線 路線

17

圖 1 公共自行車靜態配置路線示意圖

定義

卡車於夜間(公共自行車系統的流動量趨近於零的時段)由發車地點 出發到各站點取自行車或放置自行車,將各站點的自行車數調整為該站的 最佳數量。

基本假設

1. 每台卡車只能到各個站一次。

2. 卡車載的自行車總數不得超過其可載運的數量。

18 3.2 收送貨車輛途程問題之數學模型

參數

N

車站;i=1,...,|N|。

𝑁0 點,包含車站和倉庫(i=0);i=0,...,|N|。

𝑆𝑖0

i 站在配置前的自行車數量。

𝐶𝑖

i 站可放置的自行車數量。

𝑘𝑣 卡車可載的自行車數量;v ∈V。

𝑆𝑖𝑙

i 站上最佳的自行車數量。

𝑡𝑖𝑗 卡車由 i 站到 j 站所花費的時間。

α 卡車行駛的時間成本相對於懲罰成本的權重。

T

每台卡車行駛的限制時間。

𝑓𝑖(𝑆𝑖) 懲罰成本,其計算為:𝑓𝑖(𝑆𝑖) = 𝑎𝑖(𝑆𝑖 − 𝑆𝑖𝑙)2

代表各站未達到最佳數量產生的成本;𝑎𝑖是每相差一台車之成本。

決策變數

𝑥𝑖𝑗𝑣 卡車 v 由 i 站到 j 站有行駛等於 1,否則為 0 的二元整數。

𝑦𝑖𝑗𝑣 卡車 v 從 i 站到 j 站運輸的自行車數量。

若為零則表示卡車 v 未於 i 站到 j 站間行駛。

𝑦𝑖𝑣𝐿 卡車 v 從 i 站取走的自行車數量。

𝑦𝑖𝑣𝑈 卡車 v 放入 i 站的自行車數量。

𝑞𝑖𝑣 用於消除 sub-tour 制約的輔助變量。

𝑆𝑖 完成公共自行車系統配送後 i 點的自行車數量。

M

在限定時間內,卡車配送至各站(最多一次)的路線數量的上限。

19

數學模型 目標式:

Min ∑𝑖∈𝑁𝑓𝑖(𝑆𝑖)+ α ∑𝑖∈𝑁0𝑗𝜖𝑁0𝑣𝜖𝑉𝑡𝑖𝑗𝑥𝑖𝑗𝑣 (1)

限制式:

𝑆𝑖 = 𝑆𝑖0 − ∑𝑣∈𝑉(𝑦𝑖𝑣𝐿 − 𝑦𝑖𝑣𝑈) ∀𝑖 ∈ 𝑁0 (2)

𝑦𝑖𝑣𝐿 − 𝑦𝑖𝑣𝑈 = ∑𝑗∈𝑁0 𝑗≠𝑖𝑦𝑖𝑗𝑣− ∑𝑗∈𝑁0 𝑗≠𝑖𝑦𝑗𝑖𝑣 ∀𝑖 ∈ 𝑁0, ∀𝑣 ∈ 𝑉 (3)

𝑦𝑖𝑗𝑣≤ 𝑘𝑣𝑥𝑖𝑗𝑣 ∀i ∈ 𝑁0, 𝑖 ≠ 𝑗, ∀𝑣 ∈ 𝑉 (4)

𝑗∈𝑁0 𝑗≠𝑖𝑥𝑖𝑗𝑣 = ∑𝑗∈𝑁0 𝑗≠𝑖𝑥𝑗𝑖𝑣 ∀𝑖 ∈ 𝑁0 , ∀𝑣 ∈ 𝑉 (5)

𝑗∈𝑁0 𝑗≠𝑖𝑥𝑖𝑗𝑣 ≤ 1 ∀𝑖 ∈ 𝑁 , ∀𝑣 ∈ 𝑉 (6)

𝑣∈𝑉𝑦𝑖𝑣𝐿 ≤𝑆𝑖0 ∀𝑖 ∈ 𝑁0 (7)

𝑣∈𝑉𝑦𝑖𝑣𝑈 ≤𝐶𝑖− 𝑆𝑖0 ∀𝑖 ∈ 𝑁0 (8)

𝑖∈𝑁0(𝑦𝑖𝑣𝐿 − 𝑦𝑖𝑣𝑈) = 0 ∀𝑣 ∈ 𝑉 (9)

𝑖𝑗∈𝑁0;𝑖≠𝑗𝑡𝑖𝑗𝑥𝑖𝑗𝑣 ≤ 𝑇 ∀𝑣 ∈ 𝑉 (10)

𝑞𝑗𝑣 ≥ 𝑞𝑖𝑣+ 1-M(1-𝑥𝑖𝑗𝑣) ∀𝑖 ∈ 𝑁0, 𝑗 ∈ 𝑁, 𝑖 ≠ 𝑗, ∀𝑣 ∈ 𝑉 (11)

𝑥𝑖𝑗𝑣 ∈ {0,1} ∀𝑖, 𝑗 ∈ 𝑁0; 𝑖 ≠ 𝑗, ∀𝑣 ∈ 𝑉 (12)

20

𝑦𝑖𝑣𝐿 ≥ 0, 𝑦𝑖𝑣𝑈 ≥ 0 ∀𝑖 ∈ 𝑁0, ∀𝑣 ∈ 𝑉 (13)

𝑦𝑖𝑗𝑣≥ 0 ∀𝑖, 𝑗 ∈ 𝑁0; 𝑖 ≠ 𝑗, ∀𝑣 ∈ 𝑉 (14)

𝑆𝑖 ≥ 0 ∀𝑖 ∈ 𝑁0 (15)

𝑞𝑖𝑣 ≥ 0 ∀𝑖 ∈ 𝑁0, ∀𝑣 ∈ 𝑉 (16)

(1)表示最小化成本,成本包含懲罰成本及卡車運輸時間。

(2)表示系統配送後的數量等於配送前數量加減運輸數量。

(3)、(4)、(5)、(7)、(8)及(9)表示卡車在各站間運輸的數量要合理,接收數量 要在可容量範圍內,而卡車最多只能載走各站上原有自行車數量。

(6)表示每台卡車,最多只能到各站一次。

(10)表示限制每台卡車行駛時間。

(11)表示消除 sub-tour 的式子。

(12)表示站到站是否行駛的變數要為二元整數。

(13)(14)(15)(16)表示各項變數均為正整數。

此模型參考 Tal Raviv (2013)的模型架構,並將其中總配置時間限制改為 每台卡車行駛時間限制,懲罰成本計算由原本的函數改為單位成本。

3.3 CPLEX 建構

以 CPLEX 計算 3.2 節數學模型,求解小題組,以驗證數學模型是否正確,

題組資訊與最佳解如表 2,以 20160816-20 題組為例,將配置結果的卡車行駛路 線標示於地圖上,如圖 2 所示。

21

表 2 CPLEX 求解之題組資訊及最佳解

題組 總站數 卡車數量 總需求 未滿足數

量 總成本

20160812-10 10 1 66 1 16.954421 20160816-20 20 2 157 31 44.992 20160816-28 28 2 205 9 43.8622

圖 2 20160816-20 題組配置結果之行駛路線 -8

+8

-12 -2

+14

-6

+6

-15

+14 -6 -3

+10

-11

22

第四章 演算法設計

本章將說明以模擬退火法為基礎的演算法流程,並額外說明如何產生鄰近解 之部分,將提出數種卡車路線選擇範圍及搬運量求得方式,並代入題組運算後相 互比較,選擇最適當的演算方式,增加解題效率。

4.1 演算法架構

本研究使用模擬退火法為基礎,並因題目特性再作改良。模擬退火演算法 在產生一組鄰近解時,運用的是行駛順序交換,此部分將於 4.2 節說明,而本 研究靜態配置最佳化問題為收送貨車輛途程問題,當行駛順序不同時,將連帶 影響各站可搬運量,在兩項變數皆會受影響的情況下,若鄰近解為較佳的行駛 路線,卻有可能因隨機搬運量的不同而產生不同的成本,因此,本研究將改善 鄰近解只能運算其行駛路線中可行的一組搬運數量,增加同一行駛路線下不同 搬運量之可行解,使其更為有效的找出最佳解。

本研究所使用演算法流程如圖 3 所示。第一步設定各項參數,所使用的參 數:I 為嘗試次數,其初始值為 0,最大嘗試次數為 Iiteration;N 為未改善次數,

其初始值為 0,Nnon-improving為最大未改善次數;T 為溫度,T0為最初溫度,

Tfinal 為最終結束溫度;α為冷卻率;X

best為目前最佳解、Fbest為最終最佳解、

K 值為 Boltzmann 常數。完成參數設定後,產生初始解,嘗試次數 I=I+1,累計

未改善次數 N=N+1,其後抽取一 0 到 1 之間的隨機數 r1,以累計未改良次數 N 作為判斷,判斷目前是否已許久未找到新的最佳解,若 r1<N/Nnon-improving則取得 目前 Fbest的行駛路線計算新一組鄰近解,當越久未出現新的最佳解時,N 數值 越大,再次使用 Fbest的行駛路線機率越高,進而有更多機會找到較佳行駛路線 下的不同搬運量之可行解;否則重新產生新路線,並計算總成本後,判斷是否 小於目前的解,即判斷 Obj(Y) - Obj(X)≦0,是則使 X=Xbest以 Y 取代 X;否則產

23

生一個在 0 到 1 之間的隨機數 r2,判定 r2是否小於𝑒(−𝐾𝑇),是則以 Y 取代 X;否 則重新產生新解,由嘗試次數 I=I+1 開始。以 Y 取代 X 後得到新的目標解

Obj(X),檢查 Obj(X)是否小於目前的最佳解 F

best,是則更新目前的最佳解 Fbest

以及將未改善次數 N 歸零,並檢視嘗試次數 I 是否達到最大嘗試次數 Iiteration否則直接檢視嘗試次數 I 是否達到最大嘗試次數 Iiteration,是則改變溫度;否則 重新產生新解,最後判斷溫度 T 是否小於等於最終溫度 Tfinal或未改善次數 N 是 否等於最大未改善次數 NNon-improving,是則結束;否則重新產生新解。

為了得知增加同一行駛路線下不同搬運量之可行解,是否能更為有效的找 出最佳解,因此比較加入𝑟1<N/NNon-improving此步驟前後的差異。表 3 為 2016 年 8 月 16 日題組加入𝑟1<N/NNon-improving此步驟前後的差異,經過比較,得出加入這 個步驟能有效找出更低成本之解。

表 3 改良前後之模擬退火法比較 參數設定值

原始成本 改良後成本 改良百分比

T

0

T

final α

I

iteration

N

Non-improving

100 0.01 0.965 10000 80 1876.11 1536.68 18.09%

24

開始

T =T0, I =0, α, Fbest=Obj(X), N=0 隨機產生初始解X;Xbest=X

Δ=Obj(Y)–Obj(X)≦0 Generate of r2 ~ U(0,1)

r2 < e(-Δ/KT) Xbest=X ; Let X=Y

Obj(X)<Fbest Fbest=Obj(X) ; N=0

I=Iiteration

T=αT

T≦Tfinal or N=NNon-improving

Y

r1<N/NNon-improving

產生新路線

25 4.2 路線順序規劃型態

一個好的路徑可以有效降低成本,因此,有關路線規劃問題中,常見的做 法多為在上一組路徑中選出兩站進行交換、插入或反轉得到新路線。以下為交 換、插入和反轉的規則說明:

1.

交換(Swap):

由卡車的配送路線中隨機選出兩站,將這兩站的順序位置互換,得到一 條新的路線。如圖 4,若原路線為:1-2-3-4-5-6-7-8-9-10,隨機選出第 4 站與 第 9 站,將兩站互換,得到新的路線為:1-2-3-9-5-6-7-8-4-10。

圖 4 交換型態圖示

2.

插入(Insert):

由卡車的配送路線中隨機選出兩站,將順序較後的站插入順序較前的另 一站之前,得到一條新的路線。如圖 5,若原路線為:1-2-3-4-5-6-7-8-9-10,

隨機選出第 5 站和第 7 站後,將第 7 站插入原路線中第 5 站之前,得到新路 線為:1-2-3-4-7-5-6-8-9-10。

圖 5 插入型態圖示

3.

反轉(Reverse):

由卡車的配送路線中隨機選出兩站,將這兩站之間的所有站之順序倒置,

26

在放置回該路線上的同一位置,得到一條新的路線。如圖 6,若原路線為:

1-2-3-4-5-6-7-8-9-10,隨機選出第 2 站與第 7 站,將兩站之間的所有站(2-3-4-5-6-7) 順序倒置,得到新路線為:1-7-6-5-4-3-2-8-9-10。

圖 6 反轉型態圖示

27

徑,將無法有效的解決問題,因此本研究只保留選擇選取兩站的方法,從路線中 選出兩站後,同初始解各區內考慮前站需求情況進行排列的方式,於選出的這兩 站之間進行排列。

4.2.1 搬運量演算方式

本節分別說明全部隨機、全部滿足、有限制之隨機、部分隨機不搬運及部

分不搬運五種搬運量演算方式之定義,下列敘述中,「此站」定義為卡車欲前

往搬運的站,其他相關要件如圖 8 所示。

前站

此站距離

此站

下站距離

下一站

圖 8 搬運量相關要件說明圖 1. 全部隨機

各站搬運時,若行駛至缺車站,決定此站需求上限為

min (卡車上自行車數量, 此站缺車數量);

若行駛至缺位站時,需求上限則為

min (卡車可放容量, 此站缺位數量),

再隨機抽取 0 至需求上限之數量做為此站搬運量。另外,若為該台卡車的最 後一站,搬運量則是取能使卡車上自行車為零的搬運數量。

28

2. 全部滿足

各站搬運時,直接滿足需求上限(同全部隨機方式之計算)之數量做為 各站搬運量。另外,若為該台卡車的最後一站,搬運量則是取能使卡車上自 行車為零的搬運數量。

3. 有限制之隨機

各站搬運時,先判斷此站與下一將行駛站需求狀況,若兩站需求狀況相 同,皆為缺車站或皆為缺位站,且此站需求上限(同全部隨機方式之計算)

大於設定數量,即為目前卡車上自行車數量(或可放容量)有較佳之能力可 連續滿足兩站需求,則此站搬運量隨機範圍將因下站需求量多寡按機率減少,

意指若下一站需求量越大,則此站減少能滿足之上限,使需求量較大的下一 站更為滿足;反之,若此站需求量大於下一站,則提高此站搬運下限。另外 一情況為此站與下一站需求情況相反,一為缺車站一為缺位站時,相加此兩 站需求量,加總需求量越高則此站將有越高機率提高搬運下限,使此站完成 更多需求量,便能同時讓下站滿足更多所需數量。再於調整後搬運下限至搬 運上限隨機抽取做為此站搬運量。其餘不需調整搬運限制狀況時,做法與全 部隨機相同。同樣,若為該台卡車的最後一站,搬運量則是取能使卡車上自 行車為零的搬運數量。完整流程圖如圖 9 所示。

29

30

31

32

33

34

稱 a 站)周邊的 2 倍平均區域大小,即周邊 30 站的範圍。a 站及 b 站選擇 規則,首先判斷 a 站是否為路線中的起始站或終點站,若是,則 b 站由路線 中隨機選擇(b 站不等於 a 站),否則判斷 a 站的位置。根據 a 站的位子,b 站有一半的機率從全部站點中隨機選取,另一半的機率是從 a 站往前 30 站 或往後 30 站的範圍中選取,例如:隨機取出的 a 站是第 20 站,位於起始站 到 30 站之間,所以 b 站有 1/2 的機率由路線中隨機選擇(但 b 站不等於 a

稱 a 站)周邊的 2 倍平均區域大小,即周邊 30 站的範圍。a 站及 b 站選擇 規則,首先判斷 a 站是否為路線中的起始站或終點站,若是,則 b 站由路線 中隨機選擇(b 站不等於 a 站),否則判斷 a 站的位置。根據 a 站的位子,b 站有一半的機率從全部站點中隨機選取,另一半的機率是從 a 站往前 30 站 或往後 30 站的範圍中選取,例如:隨機取出的 a 站是第 20 站,位於起始站 到 30 站之間,所以 b 站有 1/2 的機率由路線中隨機選擇(但 b 站不等於 a

相關文件