• 沒有找到結果。

路段重疊度定義

為求得具差異性的替代道路方案,本研究定義路段重疊度 S(x,y)為路徑 y 對路徑 x 的重疊度,其計算方式以 y 路徑成本為分母,分子為所有 x, y 路徑上共用路段成本的總 合,以圖 3.2 為例,y 路徑對於 x 路徑的重疊度為 0.5

4 2

, = =

路徑成本 重疊路段成本

y y x

圖 3.2 重疊度計算示意圖

每一條候選路徑的重疊成本定義為O ,ik O = MAX( S( Aik j ,A )) , j = 1..k-1,表示該條ik 路徑與所有已產生的最短路徑中的最大重疊度。如圖 3.3 所示,若目前已產生 3 條最短 路徑 A1 ~A3,目前產生的候選路徑為A ,則ik A 與目前產生的所有最短路徑的最大重疊ik 度即為O = MAX( 0.5, 0.25, 0.25) = 0.5。 ik

1

14

(a) 傳統演算法,僅刪除下一路段,路線很快 就會回到同一路徑上

(b)新演算法,多刪除一些路段,路線較具差 異性,x 為傳統演算法刪除的路段,y 為新演

算法額外刪除的路段 圖 3.5 演算法比較圖

D. 計算節點(ik)到N 的最短路徑為S ,ik R =(1) -> (2ik k) -> (3k) ->…-> (ik)。將S 與ik Rik 相連接,可得A =(1)-> (2ik k) -> (3k) ->…-> (ik) -> (i+1k) ->…-> (Q ) -> N。 kk 利用新的路網成本計算分岔點(Sk)到終點的最短路徑,與該分岔點的前置路徑 相連接,即可得到一條替代路徑A 。 ik

E. 計算O = MAX( S( Aik j ,A )) , j = 1..k-1。 ik

將步驟 D 中所取得的路徑,與已產生的前 k-1 條最短路徑相比較,計算重疊度,

取其中最大值為此條路徑的重疊度。

F. 計算A 與最短路徑的成本差異與重疊度,若小於ik ∆ 與max Φmax,則將A 加入候ik 選路徑集合 B 中,i = i + 1,回到步驟 A。

k

A 為透過i Ak1上的第 i 點所分岔出來的替代道路,若該路徑滿足限制,則將其 加入候選路徑集合,前往下一點(i+1k),繼續產生分岔的候選路徑,直到所有的分 岔點皆已運算完畢(i =Q )。 k

G. 從B 中的所有候選路徑中選出一條總成本最短的路徑 t = A (總成本為xy C +ik ω*O ),若 y < k,重新計算其與 Aik j (j = y..k-1)的重複度,並重新加入 B 中,再 重回(G),若 B 已空,表示無法找到足夠數量的路徑,停止運算。

16

-H. 若y=k Ak = t。若 k = K,A1, A2 ,…,AK 即為所求的 K 條具差異性替代道路。

B 集合為所有候選路徑的集合,在第 k 次運算結束之前,B 集合中包含所有A , xy

y = 1…k, x = 1…Qy,本研究於每次產生路徑時與先前已產生的前 k-1 條最短路徑比 較重疊度,之後從所有的候選路徑集合中取出總成本(重疊度加權成本+路徑距離成 本)最短的路徑,若此路徑是在第 j 次(j<k)所產生出來的路徑,表示它僅與 A1~Aj過重疊判斷,因此將其重與 Aj~Ak-1進行重疊比對,再放入 B 中,重新取出最高優 先的路徑。如此即可得到 K 條具差異性的替代道路。

由於演算法是透過 Yen 的最佳性原則求解替代道路,雖已透過繞道限制控制路 徑的成本差異,但無可避免的在某些路段可能會產生對實務上沒有意義的繞道。因 此在路徑輸出發佈時,應再以人工進行截彎取直作業,藉以取得更適應用之路徑。

3.5 演算法範例

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?

表 4.1 敏感度分析表

α 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 β Φ Φ Φ Φ Φ Φ Φ Φ

0.2 12 80 - - - 0.3 33 40 4 27 - - - 0.4 4 28 4 27 21 25 - - - 0.5 4 27 4 26 21 25 4 22 - - - 0.6 6 23 6 22 20 24 4 22 4 25 - - - - 0.7 12 15 9 16 10 14 4 22 8 21 3 30 - - - - 0.8 12 13 10 15 10 14 4 22 4 23 3 24 3 30 - - 0.9 12 13 5 18 5 18 4 21 4 22 4 21 4 21 3 28

表 4.1 中,橫軸、縱軸分別為防止路段重複參數範圍之起迄值。Φ、Δ欄位表示在 此α、β的範圍下,所求路徑的平均成本差異度與平均最大重疊度。由表中可知,α、

β間的差距越大,重疊度越低,但成本差距越高。反之α、β間的差距越小,重疊度越 高,成本差距越低。而以刪除路徑中間路段的參數表現最為平均,成本差距與路徑重疊 度較為接近。因此本研究後續的數值實驗將以α=0.3、β=0.7 進行。

4.3 測試情境定義

為了瞭解各演算法在不同的應用條件下的求解品質,本研究透過變動兩個限制條件 定義出五個測試情境( Zijpp, 2005),並設定參數∆ =0.5,max Φmax=0.5 為中心值,進行參 數調整,如表 4.2。

表 4.2 測試情境參數設置 run Φmax max 限制類型

1 0.5 (100%) 0.5 (100%) 預設情況

2 0.3 (80%) 0.5 (100%) 限制較嚴格,較多的路徑會被判定為過長 3 0.7 (120%) 0.5 (100%) 限制較鬆,較少的路徑會被判定為過長 4 0.5 (100%) 0.3 (80%) 限制較嚴格,較多的路徑會被判定為重疊 5 0.5 (100%) 0.7 (120%) 限制較鬆,較少的路徑會被判定為重疊

22

成運算。但懲罰法在求解路徑增加,或是限制條件較為嚴苛之時將無法求解,而限制 k

24

0 10 20 30 40 50 60 70 80 90 100

本研究 限制k條最短路徑 懲罰法

台北Φ 台北Δ 新竹Φ 新竹Δ 竹北Φ 竹北Δ 國省道Φ 國省道Δ

圖 4.5 各型態路網測試圖(k=15)

26

2. 路口轉向限制與路段行進限制

於本研究之演算法中,僅考慮點與線之連接關係,並未考慮額外的屬性限制。若於 實際應用中有此需求,建議可透過新增節點、節線的方式表示各個轉向路口之轉向限 制,如此仍可操作本演算法求得答案。

3. 無謂繞道的消除

由於本演算法是透過 Yen 的最佳性原則求解替代道路,在刪除關鍵路段,產生差異 路徑此步驟上,必會產生一定程度的繞道。在本研究中雖已對整體路徑之繞道成本進行 控制,但仍有可能在某路段發生一段無謂繞道。本研究為解決該問題,曾提出一截彎取 直演算法雛型:「檢查路徑上任兩點之距離,是否大於最短距離之γ倍,若是則將路徑 上該兩點改由最短路徑連接」。但由於參數取得困難,同時也會造成演算複雜度過高,

因此無法使用。建議後續研究可針對此議題進行一系列之數值實驗,提供不同狀況下之 建議參數,藉以提高所求替代道路之合理性。

28

-參考文獻

1. J. A. Azevedo, M. E. O. Santos Costa, J. J. E. R. Silvestre Madeira, and E. Q. V. Martins, An algorithm for the ranking of shortest paths, Europe Journal of Operation Research, 69(1993), pp. 97-106.

2. G.-H. Chen and Y.-C. Hung, Algorithms for the constrained quickest path problem and the enumeration of quickest paths, Computers & Operation Research, 21 (1994), pp.

113-118.

3. Y. L. Chen, An algorithm for Finding the k quickest paths in a network, Computers &

Operation Research, 20 (1993), pp. 59-65.

4. Y. L. Chen, Finding the k quickest simple paths in a network, Inform. Process. Letter, 50 (1994), pp. 89-92.

5. B. L. Fox, k-th shortest paths and applications to the probabilistic networks, in ORSA/TIMS Joint National Mtg., Vol. 23, 1975, p. B263.

6. N. Katoh, T. Ibaraki, and H. Mine, An efficient algorithm for K shortest simple paths, Networks, 12 (1982), pp. 411-427.

7. E. L. Lawler, A procedure for computing the K best solutions to discrete optimization problems and its application to the shortest path problem, Management Science, 18 (1972), pp. 401- 405.

8. E. Q. V. Martins, An algorithm for ranking paths that may contain cycles, Europe Journal of Operation Research, 18 (1984), pp. 123-130.

9. J. B. Rosen, S.-Z. Sun, and G.-L. Xue, Algorithms for the quickest path problem and the enumeration of quickest paths, Computers & Operation Research, 18 (1991), pp.

579-584.

10. D. R. Shier, Iterative methods for determining the k shortest paths in a network, Networks, 6 (1976), pp. 205-229.

11. D. R. Shier, On algorithms for finding the k shortest paths in a network, Networks, 9 (1979), pp. 195-214.

12. J. Y. Yen, Finding the K shortest loopless paths in a network, Management Science, 17 (1971), pp. 712-716.

13. Vedat Akgun, 2000, On finding dissimilar path, European Journal of Operational Research, 121(2000), pp. 232-246

14. N.J. van der Zijpp, Path enumeration by finding the constrained K-shortest paths, Transportation Research Part B, 39 (2005), pp. 545-563

15. Marta M.M. Pascoal, An algorithm for ranking quickest simple paths, Computer &

Operation Research, 32(2005), pp. 509-520

16. David Eppstein, Finding the k shortest paths, Society for Industrial and Applied Mathematics, 28(1998), pp. 652-673

17. Yongtaek LIM , A SHORTEST PATH ALGORITHM FOR REAL ROAD NETWORK BASED ON PATH OVERLAP ,Journal of the Eastern Asia Society for Transportation Studies, 6 (2005), pp. 1426 – 1438

30

-簡 歷

姓名:陳冠佑

出生年月日:1984年8月3日 出生地:台南縣

學歷:

2009年6月 國立交通大學運輸科技與管理學系碩士班 2006年6月 國立交通大學運輸科技與管理學系

2002年6月 台北市立建國高級中學

聯絡方式:[email protected]

相關文件