引用:
(1)時間引數計算數學模型:
下面取一網路片斷(圖9-24)作為計算簡圖。
圖9-24計算簡圖
節點編號:
令整個計畫的開始時間為第0天,則:
工作最早開始時間等於其緊前工作最早完成時間的最大值。
令整個計畫的總工期為一常數,則:
工作最遲完成時間等於其緊後工作最遲開始時間的最小值。
總時差:tfij=
自由時差:
在網路計畫中,總時差最小的工作為關鍵工作。特別地,當網路計畫的計畫工期等於計算工期時,總時差為零的工作就是關鍵工作。由於工作的自由時差是總時差的構成部分,所以,當工作的總時差為零時,其自由時差必然為零。即:
關鍵工作:
如果網路計畫中工作數量比較多,一般用專案管理軟體進行計算。如果數量不多也可用手工進行計算。
(2)計算步驟
時間引數的計算方法很多,可人工計算,也可通過計算機計算。手工計算一般採用圖上計算法或表上計算法。不管採用哪種方法,其計算步驟大致相同,具體步驟為:
1)計算工作的最早時間。工作的最早時間是從左向右逐項工作進行計算。先定計畫的開始時間,網路圖中的起始節點一般取相對時間為第0天,則第一項工作的最早開始時間為第0天,將它與第一項工作的持續時間相加,即為該工作的最早完成時間。逐項進行計算,一直算到最後一項工作,其最早完成時間即為該計畫的計算工期。
2)確定網路計畫的計畫工期。如果專案的總工期沒有特殊的規定,一般取專案的計畫工期為計算工期。
3)計算工作的最遲時間。工作的最遲時間是從右向左逐項進行計算。先定計畫工期,最後一項工作的完成時間即為所定的計畫工期時間,將它與其持續時間相減,即為最後一項工作的最遲開始時間。逆方向逐項進行計算,一直算到第一項工作。
4)計算工作的總時差。每一工作的最遲時間與最早時間之差,即為該工作的總時差。
5)計算工作的自由時差。某一工作的自由時差為其緊後工作的最早開始時間最小
值減去本工作的最早完成時間。
6)確定網路計畫中的關鍵線路。總時差為零的工作為關鍵工作,將這些關鍵工作首尾相連在一起即為關鍵線路,一般用粗箭線或雙箭線表示。
其計算結果如圖9-25所示,將各引數按規定標至網路圖上。
(3)圖上計算法。直接在網路圖上進行時間引數計算的方法叫圖上計算法。例9-5就是依據前面介紹的步驟用圖上計算法來計算各工作的時間引數,計算結果如圖9-26所示。
[例9-5]圖上計算法,如圖9-26所示。
圖9-26網路圖上計算時間引數
(4)表上計算法。表上計算法就是直接在表上計算時間引數的方法。
網路最大流求解 增廣路演算法
增廣路演算法 根據增廣路地理,為了得到最大流,可以從任何乙個可行流開始,沿著增廣路對網路流進行增廣,直到網路中不存在增廣路為止,這樣的演算法稱為增廣路演算法。增廣路演算法流程如下。1 取乙個可行流f作為初始流 如果沒有給定可行流,則取零流作為初始流 2 尋找關於f的增廣路p,如果找到,則沿著這條增廣...
A 演算法求解迷宮
cpp view plaincopy include include include using namespace std 方向向量 int direc 4 2 封閉,開放列表標記 enum flag 最小堆節點類 堆優先順序為 f g h g為當前的路徑長 h為估計當前位置到目標位置開銷探測 當...
Sudoku DLX演算法求解
h ifndef dlx sudoku h define dlx sudoku h include using namespace std define rr 729 81 9 define cc 324 81 4 struct node dlx 演算法求數獨的解 class cdlxsudoku ...