• 沒有找到結果。

對於本研究做總結與提出未來可發展之方向。

第二章 問題定義

Minimize 𝑓1: ∑(𝑖,𝑗)∈𝐴𝑔𝑖𝑗 ( 2 )

𝐹(𝑣, 𝑀) = 𝜆(𝑘𝑁𝑉 + 𝑤𝛾𝛼𝑣 + 𝛾𝛼𝑓𝑣 + 𝛽𝛾𝑣3)𝑑/ 𝑣 ( 18 )

𝑓𝑖𝑗:行駛 i-j 邊時的載重

𝐶𝑟−:滾動阻力係數

接下來將簡單說明此雙目標問題的兩個目標衝突的原因。圖 6 說明油耗可 以拆解為引擎主要消耗與其他消耗,條狀的虛線代表引擎主要之消耗,而點狀虛

線為其他消耗。引擎在速度慢時消耗較大;而其他消耗則隨著速度增加,實線為

兩者結合後之油耗曲線,說明了只單看油耗時,最有效率的行駛速度大約在 40

km/h 到 55 km/h 之間。

圖 6:油耗和速度之關係圖[5]

由於上述速度與油耗的曲線關係,造成行駛速度越快可能會使油耗越高的 情況發生。而第二目標時間又與行駛速度成反比,行駛速度越快,則總時間越短。

所以油耗與時間的衝突關係確實存在,在 [11] 有更詳細的說明。

第三章 文獻探討

定使用另一個名稱 (Fuel Consumption Vehicle Routing Problem, FCVRP),在我們

的研究過程中,發現綠能車輛路由並沒有太統一的模型,且較多人研究的模型中

的,然後超越 65 mph 以後耗油量又繼續上升[16],在時速從 30 mph 下降到

12.5 mph 時,耗油量上升兩倍,從 12.5 mph 下降到 5 mph 時又在上升兩倍

[17]。這只是說明耗油量並不是線性的曲線,而曲線也會隨著貨車的類型和 大小相關。此外,隨著時代進步,貨車的設計也會有所改變。

3. 天氣狀況:天氣也是影響耗油量的因素,例如,風大逆風的情況會增加貨車 前進消耗的能量,而天氣很炎熱的情況也需要開冷氣,都是會改變耗油量的

因素。

4. 交通狀況:在車輛壅塞的路段中毫無疑問會增加二氧化碳的排放量,並且相 較於走走停停的都市交通狀況,穩定的速度也較不耗能,如果能有效減少走

走停停的路徑就能減少碳排放量 [17]。

5. 地形:上山爬坡會消耗更多的能量,所以上下坡也是要考慮的影響碳排放量 的因素之一,在文獻 [18] 中有使用坡度做為一個影響計算碳排放的因素。

3.1.2 碳排放計算

在第一小節已經大略說明綠能車輛路由問題的耗能因子,在這裡將說明此

模型是如何計算碳排放量。Hickman 等人 [19] 提出了以下算式來計算碳排放,

這是針對介於 32 到 40 噸的重型貨車 (Heavy Duty Vehicle, HDV),以平均時速

80km/h 在平坦無坡的路上並且載滿 25 噸的貨物來計算出的碳排放的值。二氧 化碳的排放根據距離 (distance) 和載貨重量 (quantity) 用以下式 (24) 表示:

𝐸(𝑞, 𝑑) = 𝑑(𝑒𝑓𝑙−𝑒𝑒𝑙

討過 NSGAII [23]、SPEAII [24]與 IBEA [25],實驗結果之柏拉圖前緣也顯示兩

Large Neighborhood Search, ALNS) 在求解具時間窗車輛路由問題時有不錯的效 果,而第二階段就用速度最佳化演算法 (Speed Optimization Algorithm, SOA) 來

求解速度最佳化問題 (Speed Optimization Problem, SOP)。

3.2.1 精確演算法

Demir 等人 [10] 使用了精確演算法來求解汙染車輛路由問題,但只有列出 客戶數為 10 時的最佳解。在客戶數為 100 時,由於窮舉出 100 個客戶的排列與

搭配需要非常大量時間才能求出最佳解,所以研究者轉為使用限制精確演算法

求解,輸出時間內的最佳解來作為比較對象。現在比較多人會使用經驗法則

(heuristic) 或是演化演算法在短時間內求出可以接受的解。

3.2.2 常見的鄰域函式

LNS 是 1998 年由 Shaw [27] 提出,為一個混和多種鄰域搜尋方法之搜尋方 法,以下簡單介紹幾種常見之鄰域函式:

(1) 隨機刪除 (Random removal, RR):隨機選擇點從原本的解中移除。

(2) 最差距離刪除 (Worst-distance removal, WDR):刪除客戶中成本對大的點,成 本的計算為該客戶與前一個點的距離與後一個點的距離相加。

3.2.3 適應性大規模鄰域搜尋法 (ALNS)

ALNS 是大規模鄰域搜尋法 (Large Neighborhood Search, LNS) 的延伸。跟

LNS 方法不同的是 ALNS 是透過自適應的機制來調整這些操作被使用之機率來 讓初始解逐漸的改善,如果新產生的解優於現有的最佳解,那將會讓新的解取代

最佳解然後當成下一次迭代的輸入,被廣泛使用的原因是 LNS 可以當作區域搜尋

放在任何的啟發式演算法中。此外,適應性的延伸是由 Pisinger 和 Ropke [28][29]

提出用以解決不同類型的車輛路由問題,他們設計了一個動態調整機制調整這些

操作被選中的機率來達到適應性的效果。此機制是根據這些操作過往的表現來調

整,這個挑選機制稱為輪盤法 (roulette-wheel mechanism),初始化時會讓所有操

作都是相同的機率,假設有 10 種插入操作,那每種都會設為 1/10 的機率被選中,

在演算法中調整的公式如式 (27):

𝑃𝑑𝑡+1= 𝑃𝑑𝑡(1 − 𝑟𝑝 ) +𝑟𝑝𝜋𝑖

𝜔𝑖 ( 27 )

𝑃𝑑𝑡 為第𝑡次使用時的機率值 ,𝜋𝑖 是指 i 操作的分數,𝜔𝑖 是指 i 操作在前 𝑁𝑤

次迭代被使用的次數,𝑁𝑤 是一個參數,代表需要與前幾代相關,而 𝑟𝑝 是輪盤

法的參數,每一次迭代都會更新該次被使用的操作的分數,如果產生出新的最佳

解會增加分數 𝜎1,如果新解優於現有的解會增加分數 𝜎2,如果新解劣於現有解

但是為合法的會增加分數 𝜎3

第四章 方法與實驗步驟

4.1 演算法架構

在求解困難問題時,由於問題不容易求得好的解或是要求出好的解需要耗

費非常大量的時間,所以本研究使用演化演算法在短時間內去求得可以接受的

解。本論文以多目標演化演算法 NSGAIII [30] 為基礎,其最主要關鍵為多目標

環境選擇之方法。接下來會介紹在各步驟本研究是如何操作,演算法架構如下圖

7 所示,主要與一般基因演算法不同之處為較深色區塊,本研究沒有加入突變機 制而是使用機率性的區域搜尋法。

圖 7:本論文所提出方法之架構

4.2 解的編碼

本研究將 PRP 的解表示為一條一維陣列,代表拜訪各個客戶的順序,序列

中的數字就是每個客戶的編號。如下圖 8 為一個解,而圖 9 為圖 8 的解經解碼

後之示意圖:

1 7 5 3 4 2 8 6

圖 8:一個解的編碼

圖 9:路由示意圖

圖 9 中的數字代表客戶的編號,回到倉庫則代表一台物流車的路線結束,

在這有一個疑問,本研究的解只有記錄著序列的順序,怎麼從上面的序列修正成

分配好的路線,這個步驟本研究稱為路線建構,在下一小節會解釋如何操作。

4.3 解的解碼(路線建構)

本研究以油耗和總花費時間來作為兩個目標值。在解碼的時候,必須決定

客戶走訪的序列要在哪裡做分段。因為這是一個需要數台物流車來分擔的路線,

列成為切割路線完成的合法解。本研究以 Prins [31] 的方法為基礎。該方法是先

計算各兩點間的距離作為此路段之成本如式 (28),再算出每一段不違反限制的

路線的距離,最後計算出能走完全程的最低成本並記錄下各段切割的位置,如下

圖 10-13 所示。假設序列為 [ a、b、c、d、e ] 如圖 10,每輛物流車最大承載重

量為 10 kg,圖 11 中下方四方體代表倉庫,圓形代表客戶,圓圈上方之重量表

示該客戶之需求量,線段上之長度為每段路的距離。圖 12 為計算最低成本路線

之過程,每條線皆為合法的路線,線條上方為該路段之成本,圓形上方之數字為

考慮該客戶後的最低成本,最粗線條代表最低成本的路線走法。圖 13 為最後結

果之示意圖,切成 3 條路線為此序列最低成本之路線。而放入倉庫點後之序列

如 圖 14 所示。

𝑐𝑖𝑗 = 𝑑𝑖𝑗 ( 28 )

a b c d e

圖 10:解序列

圖 11:各段距離示意圖

圖 12:求出到達倉庫最短距離示意圖

圖 13:Prins[31]提出的路線建構法完成示意圖

a b 0 c 0 d e

圖 14:真實路線序列

本研究設計了一個多目標的路線建構法,希望在這個階段就開始進行多目 標的求解。多目標空間中的解要如何比較優劣,在第一章中有介紹柏拉圖最佳前

緣,而隨之衍伸出的排序法為非凌越排序法 (non-dominated sort),依據凌越之

特性,先找出柏拉圖最佳前緣,然後作為 rank 1,然後排除 rank 1 後再從剩下解

中找出柏拉圖最佳前緣,直到所有解都有自己的層級,如圖 15 所示。

圖 15:non-dominated sort 範例(最小化)

排序出各個 rank 後,但同一個 rank 上的解,該怎麼比較優劣,在此本研究

希望得到的解為更加分布平均的解。以圖 16 與圖 17 來比較,圖 17 就是本研

究希望求得的分布平均的解。因此本研究使用 NSGAIII 來增強選擇分布較為平

均之解,以下使用圖 18 來說明。NSGAIII 使用參考點 (reference point) 的概念,

假設圖 18 中的空心圓圈為產生的解,NSGAIII 會以平均的份量來產生參考點如

圖中深色的圓圈。然後使用 niche count 來計算哪些方向上的解較為密集。niche

count 就是該參考點的方向上接近的解的數量,niche count 較大代表解在該方向 上較密集;反之較為稀疏。稀疏的地方就會有較高之機率存活使得解分布更加平

均。因此 NSGAIII 之更符合本研究之需求。

圖 16:分布不平均的解

圖 17:分布平均的解

圖 18:參考點示意圖

圖 19:NSGAIII 參考點使用示意圖

多目標路線建構法希望在路線建構時就能使路線擁有多目標之特性,因此

本研究將原先使用的式 (28) 總距離作為成本改為一個雙目標之加權值當作成

本如式 (29) 所示,其中𝑤1+ 𝑤2 = 1且皆大於 0。本研究使用該親代在族群中油

耗量之排名來決定此子代使用之油耗權重,促使每個基因有各自容易發展之方

向,如圖 20 所示。偏向某權重之親代可能有更高的機會產生此同樣偏向之子代,

因此本研究不使用固定權重而是使用親代之權重來讓子代多方向發展。

圖 20:多目標發展示意圖

𝑐𝑖𝑗 = 𝑤1× 𝑔𝑖𝑗 + 𝑤2× 𝑠𝑗 ( 29 )

本研究會以 𝑤1 = 0.5 的權重來對初始群體作路線建構。而開始演化後,本

研究會依兩個目標來排序整個族群,而子代會以父母的排名來當作權重。在計算

中,問題之容量限制與時間限制也會列入考量,產生之路線若違反限制,本研究

將給予一個巨大的懲罰值,使得路線建構出來之路線不會產生非法解。

4.4 初始化族群 (initial population) 的產生

本研究原先是使用隨機產生的序列來進行實驗,但在客戶點數較多的情況

時,發現不容易演化出一個好的路線,所以針對初始化方式本研究也做了一些實

驗來說明初始解的重要性,拿來比較的初始化方式為 最近鄰點法 (Nearest

Neighborhood, NN),每次在選擇下一個目標時會選出 k 個最鄰近目前選擇點的 點來做隨機選擇,直到所有點都被放進序列。使其符合經驗法則又具有多樣性,

Neighborhood, NN),每次在選擇下一個目標時會選出 k 個最鄰近目前選擇點的 點來做隨機選擇,直到所有點都被放進序列。使其符合經驗法則又具有多樣性,

相關文件