簡介:利用關鍵路徑分析管理大型項目
你有沒有想過,像建造摩天大樓或推出新款智能手機這樣的巨型項目,是如何準時完成的呢?這不僅僅靠運氣!項目經理使用一種稱為關鍵路徑分析(Critical Path Analysis, CPA)的技術。
在本章中,你將學習如何將大型項目拆解成較小的任務,釐清任務之間的依賴關係,並計算完成所有事項所需的絕對最少時間。如果起初看起來步驟繁多,別擔心——一旦你掌握了「前向傳遞與後向傳遞(Forward and Backward Pass)」,它就會變成一個非常合乎邏輯的謎題!
1. 建立模型:優先順序表與網絡圖
在計算時間之前,我們需要一張項目地圖。我們主要使用兩種工具:優先順序表(Precedence Tables)和活動網絡圖(Activity Networks)。
關鍵術語
- 活動(Activity):需要時間和資源的任務(例如:「粉刷牆壁」)。在我們的圖表中,活動顯示在弧線(arcs)(箭頭)上。
- 事件(Event):活動開始或結束的特定時間點。這些顯示為節點(nodes)(圓圈)。
- 優先順序表(Precedence Table):列出每個活動及其緊前活動(immediate predecessors)(在該任務開始前必須完成的任務)的列表。
弧上活動(AoA)圖的規則
在 Pearson Edexcel D1 的課程大綱中,我們使用弧上活動(Activity on Arc)方法。以下是繪圖時的「黃金法則」:
- 每個活動由一個箭頭表示。
- 節點代表活動的「開始」或「結束」。
- 關鍵規則:任意兩個節點之間最多只能由一個活動連接。
「虛活動(Dummies)」的奧秘
有時你需要畫一條虛線箭頭,稱為虛活動(Dummy Activity)。虛活動的持續時間為零。我們使用它們的原因有二:
- 原因 1(唯一性):確保每個活動都能通過其起始和結束節點被唯一識別。如果兩個活動在同一個地方開始和結束,我們就用一個虛活動將它們分開。
- 原因 2(依賴性):表示某個活動僅依賴於部分(而非全部)前置活動。
快速回顧:活動網絡從左流向右。每個網絡必須有一個唯一的「開始」節點和一個唯一的「結束」節點。
2. 前向傳遞與後向傳遞
網絡畫好後,就輪到運算環節了!我們使用分為多個部分的節點來記錄兩個重要時間。
步驟 1:前向傳遞(最早事件時間 EET)
我們從左向右運算,以找出最早事件時間(Earliest Event Time, EET)。這是所有導向該節點的活動都能完成的最早時間。
- 從第一個節點開始,設定 \( EET = 0 \)。
- 對於每個節點,查看所有指向它的活動。
- 計算:\( \text{前一個節點的 EET} + \text{活動的持續時間} \)。
- 規則:如果有多個活動指向同一個節點,請選擇數值最大的一個。(因為你必須等到最慢的前置任務完成後,才能開始下一個任務!)
步驟 2:後向傳遞(最遲事件時間 LET)
我們從右向左運算,以找出最遲事件時間(Latest Event Time, LET)。這是該事件在不延誤整個項目的前提下,所能發生的最遲時間。
- 從最後一個節點開始。將 \( LET \) 設定為你剛剛計算出的 \( EET \)。
- 對於每個節點,查看所有背離它的活動。
- 計算:\( \text{下一個節點的 LET} - \text{活動的持續時間} \)。
- 規則:如果有多個活動從同一個節點導出,請選擇數值最小的一個。
要避免的常見錯誤:學生經常搞混何時該選「最大值」或「最小值」。只需記住:前向 = 最大值(Max)(等待所有人完成)以及 後向 = 最小值(Min)(別讓任何人遲到!)。
3. 關鍵路徑與浮動時間
現在我們有了時間數據,可以找出項目的「瓶頸」了。
關鍵活動
關鍵活動(Critical Activity)是指任何延誤都會立即導致整個項目延誤的任務。要成為關鍵活動,必須滿足以下條件:
- 它開始於一個 \( EET = LET \) 的節點。
- 它結束於一個 \( EET = LET \) 的節點。
- \( \text{LET}_{\text{end}} - \text{EET}_{\text{start}} - \text{Duration} = 0 \)。
關鍵路徑(Critical Path)是由關鍵活動組成的從開始到結束的連續路徑。請在考試中清楚標示出這條路徑!
總浮動時間(Total Float)
總浮動時間是一個活動在不延誤整個項目的情況下可以被延誤的時間。關鍵活動的浮動時間為 0。
公式:
\( \text{Total Float} = \text{LET}_{\text{end node}} - \text{EET}_{\text{start node}} - \text{Duration} \)
關鍵要點:識別關鍵路徑能讓經理明確知道哪裡「絕對不能」延誤。如果資源有限,非關鍵任務可以稍微調整。
4. 甘特圖與排程
甘特圖(Gantt Chart)(也稱為級聯圖 Cascade Chart)是一種將項目排程對照時間軸進行視覺化呈現的方式。
如何繪製甘特圖
- 橫軸代表時間。
- 每個活動繪製成一個橫向條狀圖。
- 關鍵活動:通常放在最上方,形成從時間 0 到項目結束的一條實線。
- 非關鍵活動:從它們的最早開始時間開始繪製。我們通常使用陰影方塊或虛線來表示它們的浮動時間。
排程與資源直方圖
有時,考試題目會要求計算所需的最低工人數(lower bound of workers)。這有助於我們了解需要多少人才能準時完成項目。
最低工人數公式:
\( \text{Lower Bound of Workers} = \frac{\text{所有活動持續時間之和}}{\text{關鍵路徑完成時間}} \)
注意:請務必向上取整至最接近的整數,因為你不可能僱用半個人!
你知道嗎?甘特圖最初在 20 世紀初被用於管理胡佛水壩的建設。如今,從軟件開發到婚禮策劃,幾乎每個行業都在使用它們!
總結:你的 CPA 檢查清單
- 繪製網絡圖:弧上活動、事件用圓圈表示,並使用虛活動來處理唯一性或依賴性。
- 前向傳遞:在每個節點取最大值來找出 EET。
- 後向傳遞:在每個節點取最小值來找出 LET。
- 尋找關鍵路徑:尋找 \( \text{Float} = 0 \) 的活動。
- 計算浮動時間:\( \text{LET}_{\text{end}} - \text{EET}_{\text{start}} - \text{Duration} \)。
- 甘特圖:繪製排程,並為非關鍵任務標示出「空閒時間」(浮動時間)。
鼓勵一下:關鍵路徑分析是決策數學中最實用的部分之一。只要練習幾個網絡圖,你就會開始在日常生活中看到各種「關鍵路徑」——比如你早上穿衣服的順序!