關鍵路徑演算法——AOE網
阿新 • • 發佈:2018-12-15
AOV網——類似於拓撲排序的樣子,即用有向圖來描述和分析一項工程和計劃的實施過程。
AOE網——即在AOV網上加上權重,有向圖中以頂點表示事件,有向邊代表活動,邊上的權重代表活動持續的時間。AOE網與AOV網的區別在於:AOE網不僅僅關心整個工程中各個自工程的實施先後順序,同時也關心整個工程完成的最短時間。
AOE網的特點:只有一個起點和一個終點
關鍵路徑演算法:
關鍵路徑:AOE網中,從起點到終點最長的路徑長度(由於要將所有的活動都完成才算是結束,所以只有按照最長時間的活動路徑來計算。)長度指的是路徑上邊的權重和。
關鍵活動:關鍵路徑上的邊。
最早發生時間:從V0到Vi的最長路徑的長度。
活動的最早發生時間:用e(i)表示活動a(i)最早發生時間,例如從V0到V3,有兩條路徑,一條8天完成,一條12天完成,但是活動未完成,V3事件開始不了,所以要等到最長的活動結束,V3事件才能開始,即為最早發生時間。
活動最遲發生時間:用 l(i) 表示,不推遲工期的最晚開工時間。
最早發生時間和最遲發生時間是不一樣的概念。兩者區別再後續總結。
關鍵活動:e(i) = l(i) 的活動 a(i) 稱為關鍵活動。
關鍵路徑的步驟:
以上圖為例,最好用表格計算V0——V9事件的關鍵路徑,計算特點:順序計算!從前往後
V1 | V2 | V3 | V4 | V5 | V6 | V7 | V8 | V9 | |
V0開始,最早發生時間e(i) | 3 | 4 | 12 | 15 | 11 | 24 | 19 | 24 | 27 |
所以關鍵路徑應為V0——>V2——>V3——>V4——>V7——>V8——>V9,以上數均為各個活動的最早發生時間。
活動最遲發生時間:計算特點:倒序計算!從後往前
V1 | V2 | V3 | V4 | V5 | V6 | V7 | V8 | V9 | |
從V9倒推導V0資料 l(i) | 9 | 4 | 12 | 15 | 13 | 25 | 19 | 24 | 27 |
在這會發現一個問題,在倒退到V1,V2,V4時,會出現兩個數值,選擇小的那個數值。
當 e(i) = l(i) 時,a(i)為關鍵活動。所以我們可以找到關鍵活動為a(2),a(3),a(4),a(7),a(8),a(9),會發現剛好與上面關鍵路徑相符。
程式碼暫時忽略,後期補充