• 沒有找到結果。

O D

1 2

3 4

5 6

圖 3.6 範例路網圖

本段將以圖 3.6 之路網進行範例演練,此路網中所有路段成本皆為 1,並設定 α=0.3、β=0.6、ω=1、K=3、∆ =0.5、max Φmax=0.5

Iteration 1: 產生最短路徑 A1 = ( O, 3, 4, D),成本為 3 Iteration 2: 針對 A1上的每一個點檢查

1、 i=1,針對第一個點 O,檢查 11是否與(11)相同,由於此點與最短路徑的第 一個點相同皆為 O,將下一路段(O,3)成本設定為無限大。(步驟 A)

2、 檢查是否需預先刪除下一路段,防止重複:dO,3 / C1 = 0.33,大於α,f = O。

(步驟 B)

3、 檢查下一個節點 4:(dO,3 + d3,4)/ C1= 0.66 ,已大於β,g = 4,令 O 到 4 之間的路段成本為無限大,共刪除(O,3)、(3,4)兩個路段。(步驟 C) 4、 計算從O 到 D 的最短路徑為A =(O,1,2,D),成本為 3。(步驟 D) 11 5、 計算與A0的相似度為O = MAX( S(A11 0,A ))= 0。(步驟 E) 11

6、 檢查此路徑與最短路徑的成本差距為 0,重疊度為 0,滿足限制,將此路 徑加入候選路徑集合 B 中,結束 i=1 的運算。(步驟 F)

7、 i=2,針對第二個點 3,仿照步驟(A)到步驟(E),令路段(3,4)的成本為無限 大,計算 3 到 D 的最短路徑,加上(O,3,4)為A =(O,3,4,2,D),成本為 4,與21 A1的相似度為O =1,與最短路徑的成本差距為 0.33,重疊度為 0.33,滿12 足限制加入候選路徑集合 B 中。(步驟 A~F)

8、 i=3,針對第三個點 4,仿照步驟(A)到步驟(E),令路段(4,D)的成本為無限 大,計算 4 到 D 的最短路徑,加上(O,3)為A = (O,3,1,2,D),成本為 4,與31

A1的相似度為O =2,與最短路徑的成本差距為 0.33,重疊度為 0.66,未31

18

-滿足限制,刪除此路徑。(步驟 A~F)

9、 此路徑上所有可分岔的點皆已完成,從B 中的所有候選路徑裡,選出路徑

1

A = (O,1,2,D),使得(成本+ω*相似度) = 3,與其他路徑相比最小,為第二1

條路徑:A2。(步驟 G)

Iteration 3: 針對 A2上的每一個點檢查

1、 針對第一個點O,根據 A1, 將(O,3)、(3,4)路段成本設為無限大;跟據 A2將(O,1)、(1,2)路段成本設為無限大,計算 O 到 D 的最短路徑為

2

A =(O,5,6,D),成本為 3,與 A1 1、A2的最大相似度為O =0,與最短路徑的12 成本差距為 0,重疊度為 0,滿足限制,加入候選路徑集合 B 中。(步驟 A~F)

2、 針對第二個點 1,根據 A2,將(1,2)路段,計算 1 到 D 的最短路徑加上(O,1)A =(O,1,3,4,D),成本為 4,與 A22 1、A2的最大相似度為O =2,與最短路22 徑的成本差距為 0.33,重疊度為 0.66,未滿足限制,刪除路徑。(步驟 A~F) 3、 針對第三個點 2,根據A2,將(2,D)路段成本設為無限大,計算 2 到 D 的

最短路徑加上(O,1,2)為A =(O,1,2,4,D),成本為 4,與 A32 1、A2的最大相似 度為O =2,與最短路徑的成本差距為 0.33,重疊度為 0.66,未滿足限制,32 刪除路徑。(步驟 A~F)

4、 從B 中的所有候選路徑裡,選出路徑A = (O,5,6,D),使得(路徑成本+ω*12 相似度) = 3,與其他路徑相比最小,為第三條路徑:A3。(步驟 G)

5、 演算結束,取得三條路徑A0 =(O,3,4,D)、A1 = (O,1,2,D)、A2 = (O,5,6,D),

平均路徑長度為 3,平均最大重疊度為 0。(步驟 H)

四、數值實驗

本研究所提出的具差異性 k 條替代道路演算法已進行一系列的數值實驗證明其可用 性,實驗內容包括:

1. 新演算法的參數敏感度分析

2. 新的演算法所花費的 CPU 時間與已知演算法相比較 3. 新的演算法與已知演算法產生的路徑品質相比較

4. 對於演算法進行繞道、重疊限制與網路規模的敏感度分析

實驗的對象包括限制 k 條最短路徑法以及懲罰法。實驗流程圖如圖 4.1:

圖 4.1 數值實驗流程圖

數值實驗中首先將進行新演算法的參數敏感度分析,藉以求得適用之參數以供後續 實驗中使用。第二步驟中將以新竹市路網為例,比較各演算法在不同測試情境下的求解 速度與品質表現。最後則將實驗拓展到不同的路網規模中,比較演算法的求解能力。

由於懲罰法無法對限制條件進行處理,因此在演算法的比較中,運用出局法則(Strike Out Rule, Zijpp, 2005)來執行懲罰法。出局法則乃是在懲罰法產生第r 條路徑時,檢查其 是否滿足限制條件。若此路徑滿足限制則加入可行解集合,直到可行解的數量等於 k,

或是運算時間超過預設的限制即停止演算。詳細演算流程如圖 4.2 所示:

防止路徑重複參數敏感度分析

求解速度分析 求解品質分析

路網規模比較

測試情境分析

20

-i=1, r=1

產生第r條最短路徑

CPU_IPM(i) = CPU

i=K?

相關文件