第三章 MDVRP 之門檻接受法解題架構設計
3.2 起始解構建模組細部設計
3.2.1 單階段建構路線法
以往有關求解 MDVRP 的問題,文獻最早使用節省法構建起始解,節省 法多以路線成本節省為考量,但應用在 MDVRP 上,必須加一校正因子,以 防節省法將節省值較大的顧客點指派給較遠的場站。本研究採用最近鄰點法 可免除節省法校正的計算過程。傳統鄰近點法僅以距離為考慮因素,起始解 建構則引入了顧客需求量以及鄰近點法搭配插入法來作為建構路線的參考基 準。
因此本研究即以傳統最近鄰點法(Nearest Neighbor)的概念為核心,以循 序和平行的概念將需求點一一納入路線中,所謂循序的概念意指:一條路線 構建完畢之後再構建另一條新的路線,直到所有需求點皆已納入所有路線為 止;而平行的概念意指:同時構建多條路線,直到所有需求點皆已納入所有 路線內為止。相關單階段起始解建構法整理如表 3.1。
表 3.1 單階段建構起始解法彙整表 單階段建構路線啟發式解法
準則 順序 循序 平行
最鄰近點 NNS1 NNP1
每單位需求量距離最小(距離/需求量) NNS2 NNP2
插入成本最小鄰近點法 NNS3 NNP3
最近插入法 NIS NIP
各單階段建構路線法判段準則通式與說明如下:
一、循序-最鄰近點(NNS1)
{
| \( )}
Minj cij j∈ N M + P (3.1)
20
其中,
c
ij:路線中最後一顧客點 i 到 j 的運輸成本;N:所有節點集合;
M:場站之集合;
P:已被服務之顧客點集合;
判斷準則如式(3.1)所示,首先由各場站出發找距離其最近且未被服 務之顧客點,並比較各場站到最鄰近顧客點之距離,挑選當中距離最小 者開始建構路線,而此顧客點即為路線中的第一點。接續再由第一點出 發找其最鄰近之顧客點。以此法則直到車輛達容量限制時即回到出發的 場站,完成本條路線的建構。依此法依序建構其餘路線直到所有顧客點 已被服務。
二、循序-每單位需求量距離最小(距離/需求量)(NNS2)
{
/ | \( )}
Minj cij dj j∈N M +P (3.2)
其中,
d
j:顧客點 j 的需求;其餘符號同前。判斷準則如式(3.2)所示。此法的執行程序與 NNS1 同,差別在其最 鄰近的準則不同。NNS1 準則為距離,此法準則為距離除以需求量之值最 小,即每單位需求的距離最小。使用此法是希望能夠優先以服務距離近 且需求量大之顧客作為考量。
三、循序-插入成本最小鄰近點法(NNS3)
{
| \( )}
Minj cij +cjS −ciS j∈N M +P (3.3)
其中,
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)
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)所示。首先由各場站出發找距離其最近之顧客 點,並比較各場站到其最鄰近顧客點之距離,挑選距離最小者開始建構 路線,而此顧客點即為路線中的第一點,在建構第一點時即加總從場站
23
出發與回到場站之距離。接續再出發找其插入最末點到場站這段路線中 成本最小的鄰近顧客點,並與其他場站插入最鄰近點的值(計算距離為去 回之距離)作比較,找其當中最小者來建構路線。以此類推,每次的插入 比較,除了計算目前場站出發之最小插入成本顧客點(未被服務)外,還包 括各路線(未返回場站)最末點的最小插入成本顧客點,並從中挑出成本最 小者作連結。在計算當中若有場站滿足車輛容量限制時即停止。依此法 建構路線直到所有顧客點已被服務。使用此法是在比較在路線尾端新增 一點與不新增一點的成本差距,探討不同新增點回場站之機會成本,並 找出其中成本最低者作為延伸路線之點。
八、平行-最近插入法(NIP)
{
| ( ); \( )}
Min cij i M P j N M P
j ∈ + ∈ + (3.8)
選擇顧客點之判斷準則如式(3.8)所示。首先由各場站出發找插入成 本最小且未被服務之顧客點,並比較各場站插入顧客點之成本,目前成 本考量以距離為單位,挑選當中插入距離最小者開始建構路線,而此顧 客點即為路線中的第一點,在建構第一點時即加總從場站出發與回到場 站之距離,此即插入的成本。接續再找與這段路線中距離最近之顧客點,
並與其他場站出發插入最鄰近顧客點的成本以及其他路線插入最鄰近顧 客點的成本作比較。挑選出成本最小的顧客點後,計算此點插入所選路 線中哪段最適宜(插入成本最小),而此被插入之顧客點,即成為目前此路 線之其中一點。以此法計算直到車輛達容量限制時即不在插入顧客,並 完成本條路線的建構。依此法建構路線直到所有顧客點已被服務。