计划评核术

<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所提供关于专案完成的资讯，其主因是根据时程的不确定性。这种不确定性可能会提高到足以使这样子的估计无效。

若为了提升时程估计的稳健性质，一种可行方案是将安全性最大限度地纳入时程的基准线中，以吸收预期的中断，称为主动排程。纯粹的主动排程则过于美好理想；将安全性纳入基准时间表，从而允许每一可能发生的中断，将导致完工时间很久远的排程结果。被称为反应排程的第二种方法，是定义一个程序，以对基准进度表不能吸收的中断来作出反应。