歡迎來到關鍵路徑分析 (Critical Path Analysis)!
有沒有想過像建造摩天大樓或發布新款智能手機這種大型項目,是如何確保進度不落後的呢?他們使用的是一種名為關鍵路徑分析 (Critical Path Analysis, CPA) 的技術。在本章中,我們將學習如何將一個大型項目拆解成較小的任務,釐清各項任務之間的依賴關係,並計算完成所有工作所需的最短時間。如果剛開始看到一大堆方框和箭頭覺得眼花繚亂,別擔心,我們會一步一步來拆解!
1. 奠定基礎:優先順序表 (Precedence Tables)
在畫圖之前,我們需要一個計劃。優先順序表列出了所有任務(稱為活動 (activities)),並顯示了在開始下一個任務之前必須完成哪些任務。這些被稱為直接前置活動 (immediate predecessors)。
例子:如果你正在泡一杯茶,「燒開水」必須在「把水倒進杯子」之前完成。因此,「燒開水」就是前置活動。
關鍵術語:
- 活動 (Activity):需要時間和資源的任務(以箭頭表示)。
- 事件 (Event):活動的開始或完成點(以圓圈/節點表示)。
- 持續時間 (Duration):完成一項活動所需的時間。
虛擬活動 (Dummy) 的規則
有時我們需要展示任務之間的邏輯聯繫,而無需增加任何時間。這時我們會使用虛擬活動 (dummy activity)。它被畫成一條虛線箭頭,持續時間為 0。當遇到以下情況時,你就需要用到虛擬活動:
- 兩項活動共享部分(但非全部)相同的前置活動。
- 你需要確保每項活動都能通過其起始和結束節點被唯一識別(你不能讓兩條箭頭從同一圓圈出發並終止於另一個相同的圓圈!)。
溫馨提示:活動網絡圖總是從單一節點開始,並在單一節點結束。
2. 活動網絡圖 (Activity on Arc, AoA)
在考試中,你將會使用活動箭頭法 (Activity on Arc, AoA)。這意味著任務本身寫在箭頭上,而節點(圓圈)代表任務開始或結束的時間點。
繪圖小撇步:
- 箭頭原則上應從左向右流動。
- 盡量避免箭頭交叉。
- 別忘了:每一條箭頭都必須標記名稱(活動名稱)和持續時間數字。
重點總結:網絡圖就是項目的「地圖」。只要跟著箭頭走,你就能準確看出哪條路徑會通往終點。
3. 計算時間:順向與逆向推算 (Forward and Backward Passes)
現在進入數學部分!每個節點通常會分為三個部分:節點編號、最早事件時間 (EET),以及最晚事件時間 (LET)。
順向推算 (尋找 EET)
我們從起點開始(時間 = 0),一直推算到終點。這能告訴我們每個事件可能發生的最早時間。
- 規則:當有多項活動匯入同一個節點時,選擇最大值。
- 計算:\( \text{Previous EET} + \text{Duration} = \text{New EET} \)。
逆向推算 (尋找 LET)
一旦到達終點,我們就向起點反向推算。這能告訴我們在不延誤整個項目的前提下,一個事件最晚可以發生的時間。
- 規則:當有多項活動從同一個節點匯出時,選擇最小值。
- 計算:\( \text{Next LET} - \text{Duration} = \text{New LET} \)。
你知道嗎?如果終點節點的 EET 和 LET 不一致,那你很可能計算出錯了。它們在起點 (0) 和終點應該永遠匹配!
4. 關鍵路徑與時差 (Critical Path and Float)
關鍵路徑 (Critical Path) 是耗時最長的活動序列。如果此路徑上的任何活動延誤哪怕一分鐘,整個項目都會延期結束!
如何識別關鍵活動:
如果一項活動符合以下條件,它就是關鍵活動:
- 其起始節點的 EET 等於 LET。
- 其結束節點的 EET 等於 LET。
- 結束節點的 LET 與起始節點的 EET 之差等於該活動的持續時間:\( \text{LET(end)} - \text{EET(start)} = \text{Duration} \)。
什麼是時差 (Float)?
總時差 (Total Float) 是活動擁有的「緩衝空間」或閒置時間。它是指在不延誤整個項目的情況下,一項活動可以被延遲的時間量。
計算公式:
\( \text{Total Float} = \text{LET(end node)} - \text{EET(start node)} - \text{Duration} \)
注意:關鍵活動的總時差永遠為 0。
重點總結:記得在圖表上用高亮或雙線標示關鍵路徑,讓它清晰可見!
5. 甘特圖與進度安排 (Gantt Charts and Scheduling)
甘特圖 (Gantt Chart)(又稱級聯圖)是一種橫條圖,展示了每項活動發生的時間段。
- 實心長條:代表活動在其「最早開始時間」開始的持續時間。
- 虛線/空白處:代表時差 (float)(可用的額外時間)。
- 關鍵活動通常會畫在最上面的一行,因為它們後面沒有任何「空間」(時差)。
安排人手
有時考試會問:「為了準時完成項目,最少需要多少名工人?」
要找出答案,請在甘特圖上查看特定時間(例如第 10 天)並畫一條垂直線。觀察當時有幾項活動必須正在進行。如果必須同時進行三項活動,你就至少需要三名工人!
常見錯誤:在檢視甘特圖的依賴關係時,忘記了虛擬活動。儘管它們的持續時間為 0,但它們仍然決定了任務何時可以開始!
快速複習清單
- 你能否根據優先順序表繪製網絡圖,並包含虛擬活動?
- 順向推算時你是否選用了最大值 (Max),逆向推算時是否選用了最小值 (Min)?
- 你是否記住了總時差公式:\( \text{LET}_{\text{end}} - \text{EET}_{\text{start}} - \text{Duration} \)?
- 你能否識別出關鍵路徑(即時差 = 0 的地方)?
- 你能否繪製出同時顯示活動持續時間與時差的甘特圖?
如果剛開始覺得很難,別擔心!繪製的網絡圖越多,你會越得心應手。記住一句口訣:順向求最大,逆向求最小 (Forward = Maximum, Backward = Minimum)!