課程的這個章節解說了關鍵路徑法 Critical Path Method 的推算和分析方式。
以下是一張關鍵路徑圖,接下來解說如何理解和畫出這張圖:

關鍵路徑 critical path 是耗時最多的必須路徑,一旦路徑上的活動延遲,整個專案就會延遲,以上圖來說就是紅線ABCE的路徑。因為C費時較長,但C和D都需要完成,因此關鍵路徑就是經過C的路徑。現實中的例子像是搬家,A是做計劃,B是聯絡搬家公司,C是打包房間右側的東西,D是打包房間左側的東西,E是東西給搬家公司運到新住處。C和D沒有一定的先後順序,如果有兩個人力也可以同時做,但房間右側東西比較多,所以C要花費比較長的時間。
而可以發現,不在 critical path 上的活動,也就是D,如果比C先完成,也要等到C好了才能做E,所以是可以允許一些延遲,但不會影響專案的進度,稱為slack 或是 float(延遲空間),可延遲時間的計算方式是:最晚開始日(不影響專案時程下,可以最晚開始這項活動的日期)減掉 最早可開始日。以上圖來說就是 D 的左側下排數字(7) - D 的左側上排數字(6) = 1,也就是活動D可以有一個 1天的延遲空間,但不會影響到專案進度。
同理,如果是在關鍵路徑的活動,最晚可容許開始日 和 最早可開始日會相同,所以float會是零,也就沒有float(延遲空間)。
那麼,我們要怎麼得出每個方框中的數字呢?
在繪製這張圖的時候,我們需要先列好所有工作任務方框,和彼此間的關係聯繫線,以及每個任務需要花費的時間,接著我們可以先從 forward path: start 往 end 的方向,填入上排的最早開始日和最早結束日。A的 early start 從1開始,而 early end = early start + D(花費時間) - 1,所以可以算出A的 early end 是 3。減一是因為 early start的那天,也就是第一天,也是可以完整工作的一天。接下來因為A在第三天(含)完成,所以B的early start就會是從4開始,後續算法也一樣。
這樣從左往右算完所有上排數字後,我們接著要由右往左,換以 backward path: end 往 start 的方向,去算下排的最晚開始日和最晚結束日。E的最晚結束日,從最早結束日的11而來,往前回推的公式是,late end - D(花費時間) + 1 = late start,所以可算出 E的late start 是10。加1是因為late end 的第十一天,也包含在E工期的其中一天。接下來因為E的最晚開始日是10,所以C和D的最晚結束日就是前一天的9,以同樣的算法回推計算到A結束,就可以得到完整的關鍵路徑圖。
最後也重回前面提到,透過關鍵路徑圖方框內的數字,我們可以得知的兩種資訊:
- total float = total slack(從專案整體角度),也就是你可以拖延但不會影響整體專案的時間,在這個例子中是 D的下排減掉上排 = 1天。
- free float(從單一活動角度),也就是你在這個活動可以拖延但不會影響到下個活動的時間,算法是下個活動的early start - 這個活動的 early end - 1。所以例如D,下個活動E的ES(10) - 這個活動D的EE(8) - 1 = 1,所以D可以拖延1天但不會影響到下一個活動E的時程。