計畫評核術

<image>

計畫評核術（Program Evaluation and Review Technique，簡稱「PERT」），源於1958年美國軍隊的北極星火箭系統計劃，主要目的是針對不確定性較高的工作項目，以網路圖規劃整個專案，以排定期望的專案時程。PERT圖把項目描繪成一個由編號結點（圓形或者方形）構成的網路圖，編號節點代表著項目中的任務。每個結點都被編號，並且標註了任務、工期、開始時間和完成時間。線條上的箭頭方向標明了任務次序，並且標識出在開始一個任務前必須完成那些任務。

該評核術的主軸為「樂觀時間」、「最有可能時間」及「悲觀時間」

最核心公式為「專案期望時間」= ((樂觀時間+悲觀時間+4*最可能時間))/6

## 概述

計畫評核術（PERT）是一種分析專案所涉及任務執行的規劃技術，特別是完成每個任務所需的時間，以確認完成整個專案所需的最短時間。當專案初始之時，尚未能準確地掌握所有任務的細節和工期，這技術可整合其不確定性，來安排時程。PERT著重於以事件為導向，而非僅止於安排任務開始和完成的技術；在專案時程為主要考量的因素中常被使用。這個技術適用於大規模、一次性、複雜的，和非例行的基礎設施和研發專案。

PERT提供了一個管理工具，它使用「事件與任務的節點圖和方向箭頭」的呈現方式：箭頭表示達成階段性指示的事件或節點，所需的活動或工作。

PERT和關鍵路徑法（CPM）是互補的工具，因為「CPM採用了對每一個任務活動，只做一次的估計和成本估算；PERT則可能會利用三個時間點來估計（樂觀，預期和悲觀），並且每個活動都沒有成本估計。雖然有這些明顯的差異，PERT一詞越來越多地應用在關鍵路徑排程上。」

## 術語

### 事件和活動

在PERT圖中事件是主要的建構單元，分別為前導事件和後續事件：

- PERT事件：單純標記活動開始或完成的點，與時間和資源無關。當事件標記表示一或多個活動的完成時，要一直到導致該事件的所有活動已經完成為止，才會「到達」這個完成標記點。
- 前導事件：一個事件，緊接在某個其它事件之前，沒有任何其它事件介入。一個事件可以有多個前導事件，也可以是多個事件的前導事件。
- 後續事件：一個緊隨於其它事件之後的事件，沒有任何其它的介入事件。一個事件可以有多個後續事件，也可以是多個事件的後續事件。

除了事件PERT還具有活動和子活動：

- PERT活動：此為任務的實際績效，將消耗時間並且需要資源（如勞動力、材料、空間、機械）。它可以理解為表示從一事件轉移到另一事件所需的時間，精力和資源。PERT活動在其前導事件尚未發生之前，並不能被發動執行。
- PERT子活動：可以進一步將PERT活動分解為一組子活動。例如活動A1可以分解為A1.1，A1.2和A1.3。子活動具有活動的所有屬性；特別地，子活動具有像活動一樣的前導或後續事件。子活動可以再次分解成更細粒度的子活動。

### 時間

PERT已經定義了完成一活動所需時間的四種類型：

- 樂觀時間：完成活動（o）或路徑（O）所需的最短可能時間，假設一切都比通常預期的要好
- 悲觀時間：完成活動（p）或路徑（P）所需的最長可能時間，假設一切都出錯（但不包括重大災難）。
- 最可能的時間：假設一切正常進行，完成活動（m）或路徑（M）所需時間的最佳估計。
- 預期時間：完成活動（te）或路徑（TE）所需時間的最佳估計，考慮到事情並不總是像正常一樣進行（這意味預期時間是，如果在很長一段時間內多次重複執行任務，任務所需的平均時間）。

te = (o + 4m + p) ÷ 6

$$TE = \sum_{i=1}^n te_i$$

- 時間的標準差：完成活動所需時間的變化範圍(σte)或路徑的變化範圍(σTE)

σte = (p - o) ÷ 6

$$\sigma_{TE} = \sqrt{\sum_{i=1}^n {\sigma_{te_i}}^2}$$

### 管理工具

PERT提供了許多管理工具，包括以下概念：

- 浮動或鬆弛是衡量可用於完成任務的多餘時間和資源的量度。專案任務的延遲時間不會導致後續任務（自由浮動）或整個專案（總浮動）的延遲。正面鬆弛表示時程提早，負面的鬆弛表示時程延後，零鬆弛表示如期完成。
- 關鍵路徑：從初始事件到終了事件的最長連續路徑。它確定專案所需的總日曆工期；因此，沿著關鍵路徑的任何時間延遲，將延宕終了事件的達成。
- 關鍵活動：總浮動等於零的活動。浮動為零的活動不一定在關鍵路徑上，因為它的路徑可能不是最長的。
- 前導時間：必須完成前導事件的時間，以便在到達特定的PERT事件之前，有足夠的時間進行。
- 落後時間：後續事件可以接在特定PERT事件的最早時間。
- 快速跟蹤：並行執行更多關鍵活動。
- 應急關鍵路徑：縮短關鍵活動的持續時間。

## 實作

安排專案的第一步是確定專案所需的任務以及必須完成的次序。這個次序對於某些任務可能很容易記錄（例如當建造房屋時，地表必須在鋪設地基之前整平）；而對於其它類型的任務而言卻是困難的（例如有兩塊地表需要整平，但只有某些推土機能整平其中一個）。此外，時間估計通常反映是正常的，而非倉促行動的時間。許多時候以增加成本或降低品質的方式，可減少任務執行所需的時間。

### 範例

以下範例中有七個任務，分別標記為A到G。某些任務可以並行地完成（A 和 B），而其它任務在前導任務完成之前無法進行（C不能在A完成之前開始）。此外，每個任務都有三個估計時間：樂觀時間估計（o），最可能或正常時間估計（m）和悲觀時間估計（p）。使用公式（o + 4m + p）÷6 計算預期時間（te）。

活動｜前導任務｜估計時間｜預期

樂觀的 (o)｜正常的 (m)｜悲觀的 (p)

A｜2｜4｜6｜4.00

B｜3｜5｜9｜5.33

C｜A｜4｜5｜7｜5.17

D｜A｜4｜6｜10｜6.33

E｜B, C｜4｜5｜7｜5.17

F｜D｜3｜4｜8｜4.50

G｜E｜3｜5｜8｜5.17

完成此步驟後，可以繪製如下的甘特圖或節點圖。

### 建立節點圖或使用軟體

可手動或使用製圖軟體建立節點圖。節點圖有兩種類型，箭頭上的活動（AOA）和節點（AON）上的活動。節點圖上的活動通常較容易繪製和解釋。要繪製AON圖，建議（但非必需）從名為start的節點開始。這個「活動」的持續時間為零（0）。然後繪製出每個沒有前導任務的活動（在本例中為a和b），並將其與從起始到每個節點的箭頭連接。接下來由於c和d都列出a作為前導任務，所以它們的節點用來自a的箭頭繪製。活動e以b和c列為前導任務，所以用b和c兩邊的箭頭繪製節點e，表示e在b和c完成之前才能開始。活動f具有d作為前導任務，因此繪製了連接活動的箭頭。同樣地，從e到g繪製箭頭。由於f或g之後沒有任何活動，建議（但不再需要）連接到標記為完成的節點。

上圖所示的節點圖並不比甘特圖提供更多的資訊; 然而，它可以擴展到顯示更多的資訊。最常見的資訊是：

- 活動名稱
- 正常工期（持續時間）
- 提前開始時間（early start, ES）
- 提前完成時間（early finish, EF）
- 延遲開始時間（late start, LS）
- 延遲完成時間（late finish, LF）
- 鬆弛

為了確定這個資訊，假設給出了活動和正常的持續時間。第一步是確定ES和EF。ES被定義為所有前導活動的最大EF，除非有關活動是ES為零（0）的第一個活動。EF是ES加任務持續時間（EF = ES + 持續時間）。

## 專案排程工具

### 優點

- PERT圖表明確地定義了工作分解結構（通常是 WBS）元素之間的可視依賴關係（優先關係）。
- PERT有助於辨識關鍵路徑並使其可見。
- PERT有助於識別每個任務活動的提早開始，延遲開始和鬆弛。
- PERT提供潛在的減少專案持續時間，因為更好地了解相依關係，導致活動和任務在可行的情況下的重疊。
- 大量的專案數據可以組織並呈現在圖表中，用於決策。
- PERT可以在給定時間之前提供完成的機率。

### 缺點

- 可能存在著數百或數千個活動與人物之間的相依性。
- 對於較小的專案，PERT不容易擴展。
- 節點圖表往往面積很大而不方便，需要多頁列印，並要求特殊尺寸的紙張。
- 大多數 PERT/CPM 圖表中缺少時間表使得更難顯示狀態，儘管顏色可以幫助（例如，已完成節點的特定顏色）。

### 專案排程的不確定性

然而專案執行的期間，由於不確定性，現實生活中的專案將永遠不會按計劃執行。這可能是因人為主觀容易發生的錯誤估計，或可能是因意外事件或風險引起的變異性，而導致的模糊歧義。PERT所提供關於專案完成的資訊，其主因是根據時程的不確定性。這種不確定性可能會提高到足以使這樣子的估計無效。

若為了提升時程估計的穩健性質，一種可行方案是將安全性最大限度地納入時程的基準線中，以吸收預期的中斷，稱為主動排程。純粹的主動排程則過於美好理想；將安全性納入基準時間表，從而允許每一可能發生的中斷，將導致完工時間很久遠的排程結果。被稱為反應排程的第二種方法，是定義一個程序，以對基準進度表不能吸收的中斷來作出反應。