• 沒有找到結果。

三、LFVRP 問題定義與啟發式解法設計

最近鄰點法

(Nearest Neighbor)

從尚未在路線中的顧客點,找出距離最近的顧客點,必須在不違反車 輛容量限制條下進行連接。

最遠鄰點法

(Farthest Neighbor)

從尚未在路線中的顧客點,先找出離場站距離最遠的顧客點,以距離 最遠的顧客點為連接點,找出距離最近的顧客點,必須在不違反車輛 容量限制條下進行連接。

插入法

(Insertion)

從一條簡單的路線開始,逐步加入新的顧客點以產生可行解。插入的 準則在於將顧客點插入後,能夠使增加的路線成本愈小愈好,且須滿 足車輛容量限制。

K-opt 交換法

K 表示每次交換節線數,一般設定為 2 或 3。以任一起始解為現有解,

交換同條路線內有 K 條不相鄰的節線,如果交換後的解優於現有解,

則更新現有解,不斷重複交換,直到所有節線中可能交換節線都檢查 完畢為止。

Or-opt 交換法

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

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

改善路線

路線間節點交換

最早由 Christofides & Eilon 所提出,對於任兩條路線相互交換其部分 節點,在不違反車輛容量限制下,檢查交換後結果是否優於現有解,

若是,則更新現有解。節點交換的形式很多,例如:1-0、1-1 等。

資料來源:本研究整理

4. 指定點的需求由大車服務,其他顧客點的需求由小車服務;每個顧客點僅能被某一車 輛服務一次(即需求之不可分割性)。

三、目標函數方面:

1. 目標一:路線行駛成本總和極小化。

2. 目標二:小車車隊規模(使用的車輛數)極小化。

3. 大車的車輛使用成本與路線行駛成本暫不考慮在目標函數中。

LFVRP 與 VRP 的問題特性比較如表 3 所示。經由 LFVRP 與 VRP 之問題特性可以看出,

在設施資源方面,LFVRP 雖有二種車種,但其中一種大型車種類似於虛擬場站,僅提供小型 車卸貨或補貨用,並不做為配送車輛使用;LFVRP 比 VRP 多了一個中繼站(即指定點),提 供給小型車輛卸貨或補貨用。

表 3 LFVRP 與 VRP 之問題特性比較

問題特性 LFVRP VRP

設施資源 單一場站、兩種車種、車輛容量限 制、單一指定點(中繼站)

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

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

免子迴路

流量守恆、僅考慮送貨/收貨、避 免子迴路

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

三角不等式

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

三角不等式 最佳化目標 路線成本總和最小

小車車輛數(車隊規模)最小

路線成本總和最小

資料來源:本研究整理

3.2 起始解構建模組

以下兩小節針對 LFVRP 之啟發式解法提出說明。LFVRP 啟發式解法之解題架構可分為 二個模組:起始解構建模組、鄰域搜尋改善模組。本小節首先介紹起始解構建模組之設計細 節,下一小節再說明鄰域搜尋改善模組。

在起始解構建模組方面,主要是以傳統啟發式演算法「最近鄰點法(Nearest Neighbor)」

為主,進行起始路線的構建。由於 LFVRP 最大的特色在於當小型車車輛容量已滿或已空時,

車輛可以到指定的中繼點進行卸貨或補貨後,再繼續第二次配送的路線,不但可以減少車輛 回場站的時間及次數外,還可以減少車輛的數量。根據此特性,本研究在起始路線構建方面,

以兩個階段來進行,即先在所有顧客點中選擇一點為指定點;接著,分別對於第一類與第二 類路線進行構建。第一類的路線是由場站出發,在不違反車輛容量限制之下進行收/送貨,最 後抵達指定點;第二類的路線則由指定點出發進行收/送貨,在不違反車輛容量限制之下進行 取貨,最後回到場站。

3.2.1 選擇指定點

本研究分別設計八種不同指定點選擇的方法(SF1、SF2、SF3、SF4、SF5、SF6、SF7、

SF8),依序介紹如下:

一、SF1 方法

由於 LFVRP 的路線有兩種類型:自場站出發至指定點,自指定點出發回場站。所以 若按距離進行分群,使得第一類路線的顧客點比第二類路線的顧客點之距離短,這樣可以 確定第一類路線會先選擇到離場站較近的點,而第二類路線也不會與第一類路線差距太 遠。因此,SF1 的設計概念係先以距離將所有顧客分成兩群,然後對第二群顧客求解一中 位問題,以決定指定點的位置。中位問題乃是求解某節點集合重心位置的方法,其目標在 於極小化重心位置到每一個節點之加權距離的總和,而加權值通常為該節點的需求量。以 下詳述 SF1 的執行步驟:

(1) 首先,依照所有顧客點與場站距離的遠近,由小到大進行排序;

(2) 將排序後的顧客點等分為兩群,第一群為離場站較近的顧客點,第二群為離場站較遠 的顧客點;

(3) 對第二群顧客求解其中位問題,候選的位置為該群顧客節點,加權值為顧客點的需求 量,並令該重心位置的顧客點為指定點;圖 3 為 SF1 方法概念之示意圖。

圖 3 SF1 方法概念之示意圖 二、SF2 方法

SF2 的設計概念在於認為指定點的位置並不一定皆遠離場站,而且需求量愈大的顧客 點愈適合做為指定點。SF2 方法步驟詳述如下:

(1) 首先,依照所有顧客點與場站距離的遠近,由小到大進行排序;

(2) 將排序後的顧客點等分為四群,第一群的顧客點離場站最近,第四群的顧客點離場站 最遠;

(3) 在第二群與第四群的顧客點中尋找需求量最大的顧客點,令其為指定點;圖 4 為 SF2 方法概念之示意圖。

圖 4 SF2 方法概念之示意圖 三、SF3 方法

0

到第二群顧客點之 加權距離總和最小

0

需求最大

SF3 的概念與 SF2 類似,但是僅考慮離場站距離較近的顧客點,並利用顧客點需求總 和的一半來劃分顧客點,以避免第一類路線所使用之車輛數少於第二類所使用之車輛數。

茲詳述 SF3 執行步驟於下:

(1) 首先,依照所有顧客點與場站距離的遠近,由小到大進行排序,並計算其累積的需求 量;

(2) 自排序後顧客點依序檢查其累積需求量,當某顧客點之累積需求量達到或超過總需求 量的一半時,將該顧客點之前(含該顧客點)的顧客點設為第一群,該顧客點之後的顧 客點為第二群;

(3) 自第一群的顧客點中尋找需求量最大的顧客點,令其為指定點;圖 5 為 SF3 方法概念 之示意圖。

圖 5 SF3 方法概念之示意圖 四、SF4 方法

SF4 的設計概念係以距離中點為基礎,其方法步驟詳述如下:

(1) 首先,找出離場站距離最遠的顧客點,連接場站與該顧客點,並求取其連線之中點位 置;

(2) 找出距離該中點位置最近的顧客點,令其為指定點;圖 6 為 SF4 方法概念之示意圖。

圖 6 SF4 方法概念之示意圖 五、SF5 方法

SF5 的設計概念與 SF1 相似,但將場站之影響加入考慮,以避免指定點與場站之距離 過長。以下詳述 SF5 的執行步驟:

0

需求最大

0

最遠

中點

最近點

(1) 首先,依照所有顧客點與場站距離的遠近,由小到大進行排序;

(2) 將排序後的顧客點等分為兩群,第一群為離場站較近的顧客點,第二群為離場站較遠 的顧客點;

(3) 將場站加入第二群顧客,並令其需求量為第一群顧客的需求量總和;

(4) 對步驟(3)所得之第二群顧客求解其中位問題,候選的位置為該群顧客節點,加權值為 顧客點的需求量,並令該重心位置的顧客點為指定點;圖 7 為 SF5 方法概念之示意圖。

圖 7 SF5 方法概念之示意圖 六、SF6 方法

SF6 的設計概念與 SF5 相同,但僅考慮距離因素而未將需求量做為加權值。茲說明 SF6 方法之步驟如下:

(1) 首先,依照所有顧客點與場站距離的遠近,由小到大進行排序;

(2) 將排序後的顧客點等分為兩群,第一群為離場站較近的顧客點,第二群為離場站較遠 的顧客點,並將場站加入第二群顧客;

(3) 對第二群顧客求解其未加權之中位問題,候選的位置為該群顧客節點,並令該重心位 置的顧客點為指定點。

七、SF7 方法

SF7 的設計概念在於同時考量各顧客點至場站與至指定點之距離總和,以兼顧場站與 指定點之位置影響。以下詳述 SF7 的執行步驟:

(1) 對每一個顧客點,加總該點至其他顧客點之距離及場站至所有顧客點之距離;

(2) 找出具有上述距離總和最小的顧客點,令其為指定點;圖 8 為 SF7 方法概念之示意圖。

八、SF8 方法

SF8 的設計概念與 SF7 相同,但是利用需求量來進行加權。SF8 方法步驟詳述如下:

(1)對每一個顧客點,加總該點至其他顧客點之加權距離及場站至所有顧客點之加權距離;

(2) 找出具有上述加權距離總和最小的顧客點,令其為指定點。

0

到第二群顧客點 及場站之加權距 離總和最小

圖 8 SF7 方法概念之示意圖 3.2.2 起始路線構建

利用上述八種選擇指定點方法,找出指定點後,由場站出發,比較各顧客點到場站之距 離,挑選離場站距離最小的顧客點,開始建構路線,而此顧客點即為路線中的第一點。接著 再由路線的第一點出發找其最鄰近之顧客點。使用此法則直到車輛達容量限制時,將路線的 最後一點連接至指定點,完成本條路線的建構。依此循序建構其餘第一類的路線,直到所有 分群顧客點已被服務。

在完成第一類的路線構建後,同樣運用「最近鄰點法」進行第二類的路線的構建,由指 定點出發,比較各顧客點到指定點之距離,挑選離指定點距離最小的顧客點,開始建構路線,

而此顧客點即為第二類的路線中的第一點。接著再由路線中第一點出發找其最鄰近之顧客 點。使用此法則直到車輛達容量限制時,將路線的最後一點連接回場站,完成本條路線的建 構。依此循序建構其餘路線,直到所有顧客點已被服務。

3.3 鄰域搜尋改善模組

鄰域搜尋改善模組方面,主要是以 2-Opt、Or-Opt、S-S、1-0、1-1 進行改善起始路線。

本研究所採用的鄰域搜尋改善模組可分為二大類:(1)路線內交換改善模組,包括 2-Opt 和 Or-Opt;(2)路線間交換改善模組,包括 S-S、1-0 和 1-1。

在執行鄰域搜尋改善模組時,決定選擇哪一個鄰近解來進行交換的準則,稱為「選擇策 略(selection strategy)」,其策略一般有兩種:(1)最佳改善策略(best-improve),是從所有鄰 域搜尋範圍之內的鄰近解,選擇一個改善最多的鄰近解進行交換;及(2)首先改善策略

(first-improve),在所有鄰域搜尋範圍之內,只要有鄰近解可以改善就進行交換。雖然無法 證明此兩種選擇策略孰優孰劣,但從執行效率來說,使用「首先改善」選擇策略優於「最佳 改善」選擇策略,所以在本研究各種交換改善模組執行中,全部採用「首先改善」選擇策略。

四、實驗設計與例題測試結果分析