國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
53
第四章、效益評估
我們對所提出之 CCN-DS 演算法進行效能評估,判斷演算法解跟最佳解的差距,
因本問題之複雜度,難以利用數學的方式證明與最佳解的差距,無法進行很完整 的實驗驗證,因此我們使用電腦隨機產生大量模擬案例,評估 CCN-DS 演算法 的效能,觀察在不同規模之下其與最佳解之差距。
4.1、實驗設計
利用三階段實驗逐步逼近現實環境,在小規模案例時(基地台個數 10 - 14)我們可 以找出最佳解以相比較,但基地台個數在 14 以上即無法快速找到最佳解,而以 10 萬個解的最佳解與最差解作為比較基準。
實驗一中假設建構每個基地台時所需花費的時間一樣,並且只有一組團隊在 建構 CCN 應急通訊系統。實驗二則假設各基地台的建構時間不同,為實驗一的 延伸。實驗三則是符合現實情況增加了建構團隊組數,有多組同時進行建構。
◦ 實驗一:
孤立台所需要建構時間一樣 建構工作組個數為 1
◦ 實驗二:
孤立台所需要建構時間不一樣 建構工作組個數為 1
◦ 實驗三:
孤立台所需要建構時間不一樣 建構工作組個數為 n,n>1
◦ 實驗四:
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
54
實驗一到實驗三環境的大規模案例測詴集中在實驗四,在實驗四中各個實驗環境 的基地台個數為 10 到 14 以及 100 個,除了基地台個數為 14 時做四個獨立測詴,
其他五種則各做十個獨立測詴。
4.1.1、實驗環境
我們利用 JAVA 針對提出的 CCN-DS 演算法實做,將亂數產生的 Instance 進行計 算,得出最佳解、最差解、第一階段貪婪演算法解及第二階段演算法解,透過此 四種解評估不同環境條件下之效能,並利用下述環境規格對提出之演算法進行運 算:
◦ 處理器:Intel(R) Xeon(R) CPU X3440 @ 2.53GHz 四核
◦ 記憶體:4.00 GB
◦ 系統類型:64 位元 MS Win 7
◦ IDE(Integrated Development Environment):Eclipse
4.1.2、評估指標
由於實驗案例是由亂數隨機產生,每次實驗皆獨立不相關,因此計算所得效能必 頇經過正規化(Normalization),此正規化的方法是透過 CCN-DS 演算法解與最佳 解之差距除以最佳解和最差解解的差距,如公式 2 所示,稱為誤差(Deviations from optimum solution,簡稱 Deviation)。
◦ 誤差= (最佳解-演算法解) / (最佳解-最差解)………...(2)
4.2、救災效益函數
各基地台之救災效益是當該基地台恢復服務時,對所服務災區所提供的效益,而 救災效益函數為隨著時間變化的救災效益(一個簡單的救災效益定義是災民的存 活率),隨著時間的推移救災效益將會越來越低,根據經驗我們知道此下降曲線
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
55
並非一線性函數,但由於救災單位在緊急時無法在短時間內精確的定義救災效益 函數,因此我們設計了三個簡單的兩段式線性模型,使用於我們的實驗中,這些 救災效益函數模型可以提供救災單位參考。
4.2.1、救災效益函數變數
我們設計的兩階段線性模型包含四個變數:
◦ X:Initial Profit,初始效益
◦ P:Turning point,當時間超過 turning point 時建構該基地台的效益會進入第 二階段線性變化
◦ S1:First deterioration rate (slope 1),第一段效益惡化率
◦ S2:Second deterioration rate (slope 2),第二效益惡化率
4.2.2、救災效益函數模型
◦ 救災效益函數模型一 (Profit Function 1),如圖 25,模型特點是當孤立台恢 復時間超過 Turning point 時不會有任何救災效益產生,反之如果在 Turning point 之前都是維持相同救災效益,這種模型常發生在功能導向的孤立台中,
例如為了跟某個救援單位保持通訊,但當此單位已獲得通訊功能時搶修此孤 立台不會有任何效益(超過時間將會被移除修復排程名單外)。
圖 25、救災效益函數模型一 (Profit function 1)
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
56
◦ 救災效益函數模型二 (Profit Function 2),如圖 26,這個模型特點是救災效 益一開始就隨著時間線性下降,超過 Turning point (例如黃金 72 小時)時即 變成沒有效益,可以套用的情況有:在預計時間後搜救行動可完成、或無生 還機會、或有其他通訊方式可取代…等。
圖 26、救災效益函數模型二 (Profit function 2)
◦ 救災效益函數模型三 (Profit Function 3),如圖 27,本模型類似 Profit Function 2,差別在於生還者在過了 Turning point 之後還有存活機會,但會隨著時間 快速下降。
圖 27、救災效益函數模型三 (Profit function 3)
4.2.3、優先權設定
在第二階段演算法會使用到優先權值變數,此變數的計算必頇仰賴救災效益函數,
我們對基地台的優先權做公式 3 的設計:
Priority score=Initial Profit*Turning point score*Slope1*Slope2*Model score……(3)
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
57
◦ Initial Profit:初始孤立台救災效益。
◦ Turning point score:如經過 Turning point 後的線性變化是歸零,則 Turning point 時間越前的孤立台必頇越早被救援,因此給予較高的優先權。
◦ Slope1、Slope2:救災效益惡化率。
◦ Model score:不同的救災效益函數代表了各孤立台不同的救災效益變化方式,
有些變化較迅速有些則較緩慢,因此對不同的救災效益函數模型也列入優先 權考量。
範例:由優先權次低節點 C 開始往前挪,如表 4 步驟 2 所示,高優先權節點 C 插入低優先權節點 B 前面,餘下節點 D、E 往後順移,以此類推,直到最後 priority schedule 為高到低(D,E,A,C,B)。類似於 select sort,差別在於由於已知 priority 大 小,所以可以直接找出位置,插入節點前面,剩下節點往後順移,如表 4 步驟 7 所示,最小的不會一次換到最後。此設計是因為如此重組(往後順移)對順序影響 小,大部分的順序不會更改,只要往前插入之節點是合法(可行解)即可得到一新 的 Schedule。
表 4、第二階段 CCN-DS schedule 調整
Step Schedule Priority 1 (A,B,C,D,E) (3,1,2,5,4) 2 (A,C,B,D,E) (3,2,1,5,4) 3 (A,C,B,D,E) (3,2,1,5,4) 4 (A,C,E,B,D) (3,2,4,1,5) 5 (E A,C,B,D) (4,3,2,1,5)
6 …… ……
7 (D,E,A,C,B) (5,4,3,2,1)
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
58
4.3、實驗參數
表 5、Parameters and Ranges for Test Instances
Parameters Range of values
Simulation Time 200 hr
Initial Profit Uniform(30, 100) Turning point Uniform (0, 168)
Slope1 Uniform (0, 0.5) Slope2 Uniform (0, 0.5) Restoration Time Uniform (5, 15) hr
Forwarding Tree Size 10、11、12、13、14、100
4.4、實驗結果
本節呈現並分析實驗結果,4.4.1 節至 4.4.4 節為實驗一至實驗四的結果,而 4.5 節為綜合分析。Initial Solution 是 CCN-DS 第一階段貪婪演算法中的解,而 Final Solution 則是第二階段的解,Performance Range 為最佳解與最差解之差距。
4.4.1、實驗一
表 6、7、8、9、10 為實驗一(建構各孤立台時間一樣,建構 CCN 工作組個數為 1)的實驗結果,由此些表可以發現在部分案例中第二階段演算法並無法改進第一 階段貪婪演算法的結果,且隨著基地台數量的增加第二階段演算法的改良會呈現 微幅下降的趨勢,其原因可能為當基地台數量增加時,受限於父節點要優先於子 節點前修復條件,排程能夠變化的選擇有限,因此即使子節點的有較高優先權也 無法提前建置,整體表現而言隨著基地台數量的,增加誤差值並沒有明顯增長或
‧
Instance Optimum solution
solution Deviation (%) 1 628.72 602.02 26.7 615.92 618.02 40
Algorithm solution / Optimum solution
Instance
Worst solution Initial solution Final solution
‧
Instance Optimum solution
solution Deviation (%) 1 623.22 592.82 30.4 609.42 613.02 33.5
Algorithm solution / Optimum solution
Instance
Worst solution Initial solution Final solution
‧
Instance Optimum solution
solution Deviation (%) 1 681.5 568.3 113.2 658 665.8 13.8
Algorithm solution / Optimum solution
Instance
Worst solution Initial solution Final solution
‧
Instance Optimum solution
solution Deviation (%) 1 820.019 650.56 169.459 799.22 799.22 12.2
Algorithm solution / Optimum solution
Instance
Worst solution Initial solution Final solution
‧
Instance Optimum solution
solution Deviation (%) 1 831.67 588.54 243.13 797.57 811.57 8.2
Algorithm solution / Optimum solution
Instance
Worst solution Initial solution Final solution
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
64
圖 33、實驗一不同基地台個數演算法平均效能比較
4.4.2、實驗二
表 11、12、13、14、15 為實驗二(建構各孤立台時間不一樣,建構 CCN 工作組 個數為 1)的實驗結果,由這些結果可以發現與實驗一的差別在於不同基地台數量 之間的誤差較平均,不會有某一數量基地台表現很好或很差的情形,且相較於實 驗一的環境,第二階段 CCN-DS 演算法能提供較多改善,但整體平均誤差仍高 於實驗一,第二階段演算法對於第一階段貪婪演算法的改進與實驗一相同,隨著 基地台數量的增加其效能也呈現下降趨勢。第一階段 CCN-DS 貪婪演算法之平 均誤差值為 34.5%,第二階段演算法則改良到 23.1%,相較於實驗一,實驗二的 平均誤差高約 3%。
0.7 0.75 0.8 0.85 0.9 0.95 1
10 11 12 13 14
Algorithm solution / Optimum solution
Number of base station
Worst solution Initial solution Final solution
‧
Instance Optimum solution
solution Deviation (%) 1 633.3 609.38 23.92 621.69 623.15 42.4
Algorithm solution / Optimum solution
Instance
Worst solution Initial solution Final solution
‧
Instance Optimum solution
solution Deviation (%) 1 623.079 588.21 34.869 610.27 614.68 24
Algorithm solution / Optimum solution
Instance
Worst solution Initial solution Final solution
‧
Instance Optimum solution
solution Deviation (%) 1 681.92 504.93 176.99 611.6 660.14 12.3
Algorithm solution / Optimum solution
Instance
Worst solution Initial solution Final solution
‧
Instance Optimum solution
solution Deviation (%) 1 805.21 636.27 168.94 753.21 765.72 23.3
Algorithm solution / Optimum solution
Instance
Worst solution Initial solution Final solution
‧
Instance Optimum solution
solution Deviation (%) 1 852.26 621.97 230.29 784.81 785.29 29
Algorithm solution / Optimum solution
Instance
Worst solution Initial solution Final solution
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
70
圖 39、實驗二不同基地台個數演算法平均效能比較
4.4.3、實驗三
表 16、17、18、19、20 為實驗三(建構各孤立台時間不一樣,建構 CCN 工作組 個數為 2)的實驗結果,由這些表可以發現 CCN-DS 第一階段貪婪演算法表現並 不太好,誤差都在 33%以上,需經過第二階段演算法才能改進。第一階段貪婪演 算法隨著基地台個數增加,其誤差有緩慢下降的趨勢,平均值為 38.2%。第二階 段演算法解在基地台個數增加時,並無明顯的增減趨勢,誤差平均值為 24.8%,
兩階段演算法之平均誤差都超過實驗一及實驗二,其可能原因為:同時有多組工 作組在進行修復,計算複雜度較高,簡單的啟發式邏輯(heuristic)難以奏效。
0.7 0.75 0.8 0.85 0.9 0.95 1
10 11 12 13 14
Algorithm solution / Optimum solution
Number of base station
Worst solution Initial solution Final solution
‧
Instance Optimum solution
solution Deviation (%) 1 645.48 590.79 54.69 636.97 637.92 13.8
Algorithm solution / Optimum solution
Instance
Worst solution Initial solution Final solution
‧
Instance Optimum solution
solution Deviation (%) 1 653.03 631.12 21.91 644.72 648.44 20.9
Algorithm solution / Optimum solution
Instance
Worst solution Initial solution Final solution
‧
Instance Optimum solution
solution Deviation (%) 1 727.349 675.05 52.299 696.27 710.32 32.5
Algorithm solution / Optimum solution
Instance
Worst solution Initial solution Final solution
‧
Instance Optimum solution
solution Deviation (%) 1 878.079 828.99 49.089 864.58 864.58 27.4
Algorithm solution / Optimum solution
Instance
Worst solution Initial solution Final solution
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
75
表 20、實驗三結果演算法誤差(14 個基地台)
Instance Optimum solution
Worst solution
Performance range
Initial solution
Final
solution Deviation (%) 1 868.17 806.45 61.72 856.12 857.29 17.6 2 865.41 804.439 60.971 836.96 842.86 36.9 3 801.15 723.399 77.751 790.25 790.25 14 4 908.82 858.13 50.69 879.38 891.58 34 Average 25.6
圖 44、實驗三結果演算法效能(14 個基地台) 0.85
0.9 0.95 1
1 2 3 4
Algorithm solution / Optimum solution
Instance
Worst solution Initial solution Final solution
‧
(Pseudo optimum solution)與準最差解(Pseudo worst solution),我們用準誤差來評 估效益(公式 4),以此來分析 CCN-DS 演算法在大規模案例時的效能。實驗一到Algorithm solution / Optimum solution
Number of base station
Worst solution Initial solution Worst solution
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
77
圖 46、大規模實驗結果演算法效能(100 個基地台)
4.5、實驗總結
在實驗一環境下,CCN-DS 演算法的第一階段貪婪演算法平均誤差為 31%,第二 階段演算法可減少 11%的誤差;在實驗二環境下,第一階段貪婪演算法之平均誤 差為 34.5%,而第二階段演算法可減少 11.3%的誤差;在實驗三環境下,第一階 段貪婪演算法的平均誤差為 38%,而第二階段演算法可減少 13.2%的誤差,如表 22、23 所示。很明顯的可以發現隨著環境複雜度的增加,第一階段貪婪演算法 與最佳解誤差會逐步上升,而第二階段演算法所能提供的改善會增加,最終解的 誤差隨著環境複雜度之增加而呈微幅上升的趨勢,如表 24 所示。
我們分析各個單獨實驗案例結果,會照成此種原因是因為,在實驗三中基地 台個數少時的情況下,會出現救災效益偏低的案例影響到整體平均誤差,這些效 能偏低的案例在實驗一跟實驗二時能借由第二階段演算法改良,從而提高救災效 益。分以下兩部分來討論這現象,(1)第二階段演算法對案例的改進;(2)第二階 段演算法對實驗三某些案例無法改進。
0 0.2 0.4 0.6 0.8 1 1.2
Experiment 1 Experiment 2 Experiment 3 Algorithm solution / Random optimum solution
Worst solution Initial solution Final solution
‧
base stationExperiment 1 (%)
Experiment 2 (%)
Experiment 3 (%)
Average Deviation (%)
Average Deviation (%)