歡迎來到關鍵路徑分析 (Critical Path Analysis)!
你有沒有想過,像建造摩天大樓、發射火箭,甚至是籌辦大型音樂節這類浩大工程,是如何準時完成的呢?它們並非「自然而然」發生的,而是透過關鍵路徑分析 (Critical Path Analysis, CPA) 精密規劃出來的。
在本章中,你將學會如何將大型計畫拆解為較小的任務,釐清哪些任務必須優先完成,並找出可能拖累整體進度的「樽頸」所在。別擔心,聽起來可能有點複雜,我們會一步一步來拆解!
1. 建立基礎:節點作業網絡圖 (Activity-on-Node Networks)
在開始計算時間之前,我們需要一張計畫的地圖。在離散數學中,我們使用優先順序網絡 (Precedence network)。針對你的 AQA 課程,我們特別使用節點作業法 (Activity-on-Node)。
什麼是優先順序表 (Precedence Table)?
每個計畫都始於一系列的任務(作業)。有些任務必須等其他任務完成後才能開始,這稱為優先順序 (Precedence)。
例子:你必須先穿上襪子(作業 A),才能穿上鞋子(作業 B)。因此,作業 A 是作業 B 的先行作業 (Preceding activity)。
繪製網絡圖
在節點作業法圖表中:
1. 每個節點 (Node)(通常是一個方格)代表一項特定任務。
2. 箭咀 (Arrows) 表示時間流向以及任務之間的依賴關係。
3. 我們通常會加入一個「開始」節點和一個「完成」節點,讓結構更清晰。
小貼士:務必使用鉛筆繪圖!繪製網絡圖通常需要多次修改,因為你需要重新調整節點位置,避免箭咀亂成一團,像碗意大利麵一樣。
重點總結:優先順序網絡圖是一張視覺化地圖,展示了任務必須完成的先後順序。
2. 前向遞推:找出最早開始時間 (Forward Pass)
有了地圖後,我們需要為每項作業找出最早開始時間 (Earliest Start Time, EST)。我們透過從左向右遍歷網絡來完成此步驟,這稱為前向遞推 (Forward Pass)。
如何計算 EST:
1. 開始 (Start) 節點的時間從 0 開始。
2. 對於任何作業,其 EST 是其所有先行作業能夠完成的最早時間。
3. 黃金法則:如果一個節點有多個箭咀指向它,你必須選擇其中的最大值 (Maximum)。為什麼呢?因為該作業必須等到最慢的先行任務完成後才能開始!
類比:想像你要跟三位朋友會合去看電影。你必須等到最後一個人到達才能進場。如果他們分別在 6:00、6:15 和 6:30 到達,你必須等到 6:30 才能開始看電影。
快速回顧:
前向遞推 = 尋找最早時間。
規則 = 在交匯點取最大值。
3. 後向遞推:找出最遲完成時間 (Backward Pass)
一旦知道計畫完成的最早時間,我們就要從右向左反向推算,找出最遲完成時間 (Latest Finish Time, LFT)。這告訴我們,一項任務在不延誤整個計畫的前提下,最遲可以在什麼時候結束。
如何計算 LFT:
1. 從完成 (Finish) 節點開始。其 LFT 與它的 EST 相同。
2. 向後推算,減去該作業的持續時間。
3. 黃金法則:如果你在向後推算時遇到一個節點有多個箭咀發出,你必須選擇其中的最小值 (Minimum)。
常見錯誤:學生在向後推算時,常忘記將「最大值」規則切換為「最小值」。記住:前向 = 高 (Max),後向 = 低 (Min)!
重點總結:後向遞推告訴我們每項作業有多少「緩衝空間」。
4. 關鍵作業與關鍵路徑
這是本章的重點。關鍵作業 (Critical Activity) 是指完全沒有緩衝空間的任務。如果它延誤哪怕一秒鐘,整個計畫就會延誤。
如何辨識關鍵作業:
一項作業若符合以下條件即為關鍵:
\( \text{LFT} - \text{Duration} - \text{EST} = 0 \)
(簡單來說:最早開始時間與最遲開始時間完全相同)。
關鍵路徑 (Critical Path)
關鍵路徑是指從「開始」節點到「完成」節點,由關鍵作業組成的連續路徑。
注意:一個計畫可能有多於一條關鍵路徑!
你知道嗎?計畫經理幾乎會將所有精力集中在關鍵路徑上,因為那裡充滿風險。如果非關鍵作業稍微延誤,通常不會產生大礙!
5. 理解「浮動時間」(Float)
不在關鍵路徑上的任務具有所謂的浮動時間 (Float)(或稱鬆弛時間)。這是在不延誤整個計畫的情況下,一項作業可以延誤的時間長度。
計算總浮動時間 (Total Float):
要找出作業的浮動時間,請使用以下簡單公式:
\( \text{Total Float} = \text{LFT} - \text{Duration} - \text{EST} \)
記憶輔助:把「浮動時間」想像成游泳池裡的「救生浮板」。它是你在讓計畫「沉沒」之前所擁有的額外浮力。
快速回顧欄:
- 關鍵作業:浮動時間 = 0。
- 非關鍵作業:浮動時間 > 0。
- 總浮動時間:任務可用的總剩餘時間。
6. 優化模型:應對現實世界的變化
課程大綱 (DE4) 要求你理解當情況改變時會發生什麼。在考試中,你可能會被問到:「如果作業 C 比預期多花 2 天,會發生什麼事?」
情境分析:
1. 如果延誤時間小於或等於浮動時間:計畫完成時間保持不變。
2. 如果延誤時間大於浮動時間:計畫將會延誤,且可能會產生一條新的關鍵路徑。
3. 如果關鍵作業延誤:計畫一定會延誤同樣的時間長度。
例子:如果你在準備晚餐,而「燒水」作業在關鍵路徑上,如果爐子加熱多花了 5 分鐘,晚餐就會遲 5 分鐘。如果「擺餐具」作業有 10 分鐘的浮動時間,而你多花了 5 分鐘才完成,晚餐仍然會準時開始!
總結檢查清單
在練習題目之前,請確保你能:
- [ ] 從優先順序表繪製網絡圖(節點作業法)。
- [ ] 執行前向遞推來找出最早開始時間(使用最大值規則)。
- [ ] 執行後向遞推來找出最遲完成時間(使用最小值規則)。
- [ ] 識別浮動時間 = 0 的關鍵路徑。
- [ ] 計算任何非關鍵作業的總浮動時間。
- [ ] 解釋特定任務的延誤如何影響整個計畫。
剛開始覺得棘手別擔心!你畫的網絡圖越多,前向和後向遞推的步驟就會變得越「自動化」。你一定做得到的!