PERT 图:公式、示例与关键路径

PERT 图:公式、示例与关键路径

PERT 图是一种网络图:用节点表示活动,用箭头表示依赖关系,并为每项活动给出由三个估算值得出的预计工期 te = (o + 4m + p) / 6。美国海军特别项目办公室于 1958 年为北极星导弹计划推出了这一计划评审技术(Program Evaluation and Review Technique)。本文以包含 7 项活动的办公室改造为例,计算出 29 个工作日的工期。

什么是 PERT 图?

PERT 图是一种网络图,它在一张图中把项目的所有活动、活动之间的依赖关系和预计工期连接起来。从图中可以读出关键路径,也就是决定项目结束时间的活动链,以及其他活动的时差。

PERT 是 Program Evaluation and Review Technique(计划评审技术)的缩写。美国海军特别项目办公室与 Booz Allen Hamilton 和 Lockheed 一起为北极星计划开发了这一方法,并于 1958 年发布(来源:Wikipedia, Program evaluation and review technique;Mosaic Projects, White Paper WP1087)。几乎同一时期,DuPont 开发了关键路径法 (CPM)。两者的区别:CPM 为每项活动使用一个固定工期,PERT 使用三个估算值,因此能处理不确定性。

PERT 图有什么用?

  • 完整性: 绘制网络图迫使您通盘考虑整个项目,遗漏的活动会显现出来。
  • 顺序: 图中可以看出哪项活动在等待哪项活动。
  • 瓶颈: 关键路径指出您需要重点监控的活动。
  • 工期风险: 根据估算值的离散程度,可以计算按期完成的概率。
  • 沟通: 干系人在一页图上就能看出项目为何需要这么长时间。

提示: Merlin Project 学习路径逐步讲解传统、敏捷和创意项目管理。


如何用 PERT 计算工期?

PERT 工期是三个估算值的加权平均:te = (o + 4m + p) / 6。最可能值计 4 倍,两个极端值各计 1 倍。标准差 σ = (p − o) / 6 描述实际工期围绕 te 的离散程度。

PERT 估算的三个值含义如下:

  1. 乐观值 (o): 一切顺利时的工期。
  2. 最可能值 (m): 正常条件下的工期。
  3. 悲观值 (p): 出现可预见障碍时的工期。
te = (o + 4m + p) / 6
σ  = (p − o) / 6

单项活动的计算示例: 制作一个原型,乐观需要 5 天,最可能 8 天,悲观 14 天。

te = (5 + 4 × 8 + 14) / 6 = 51 / 6 = 8.5 天
σ  = (14 − 5) / 6 = 1.5 天

因此应计划 8.5 天,而不是最可能值的 8 天。多出的半天来自估算的不对称:悲观值比 m 多 6 天,乐观值只比 m 少 3 天。


PERT 图示例:带关键路径的网络图是什么样的?

PERT 网络图通过依赖关系把所有活动的预计工期连接成一个总工期。示例:一间办公室先改造,再入驻。共 7 项活动,每项有 3 个以工作日计的估算值,所有数值均用 Python 验算。

活动 前置活动 o m p te σ 最早开始 最晚开始 浮动时间
A 现状调查与规划 无 3 5 13 6.0 1.67 0 0 0
B 订购家具和网络设备 A 10 15 26 16.0 2.67 6 7 1
C 拆除内部隔墙 A 2 3 4 3.0 0.33 6 6 0
D 敷设电气和网络线路 C 4 6 14 7.0 1.67 9 9 0
E 粉刷和地面施工 D 5 7 9 7.0 0.67 16 16 0
F 安装家具和设备 B, E 2 4 6 4.0 0.67 23 23 0
G 搬迁与验收 F 1 2 3 2.0 0.33 27 27 0

PERT 图:包含 7 项活动的办公室改造

预计工期 te(工作日),最早开始与最早结束从项目第 0 天起算

A · 计划te = 6.0 天开始 0 · 结束 6浮动 0 B · 订购te = 16.0 天开始 6 · 结束 22浮动 1 C · 拆除te = 3.0 天开始 6 · 结束 9浮动 0 D · 电气与网络te = 7.0 天开始 9 · 结束 16浮动 0 E · 粉刷与地面te = 7.0 天开始 16 · 结束 23浮动 0 F · 安装te = 4.0 天开始 23 · 结束 27浮动 0 G · 搬迁te = 2.0 天开始 27 · 结束 29浮动 0
关键路径 A、C、D、E、F、G:29 个工作日经过 B 的路径:28 个工作日,浮动时间 1 天

自行计算的示例。所有数值均按 te = (o + 4m + p) / 6 计算。

如何解读结果:

  1. 正向计算: 每项活动在其最后一个前置活动结束后开始。F 要等待 B(第 22 天结束)和 E(第 23 天结束),因此在第 23 天开始。
  2. 项目工期: G 在第 29 天结束。预计工期为 29 个工作日。
  3. 关键路径: A、C、D、E、F、G 这条链没有浮动时间。其中任何一项延误一天,搬迁就推迟一天。
  4. 浮动时间: 订购 (B) 可以晚一天开始或多用一天,而不影响项目结束时间。

按期完成的概率有多大?

PERT 把关键活动的方差 (σ²) 相加:2.78 + 0.11 + 2.78 + 0.44 + 0.44 + 0.11 = 6.67。开平方后得到项目的 σ = 2.58 个工作日。按 PERT 的正态分布假设:

承诺工期 z 值 概率
29 个工作日 0.00 50.0%
31 个工作日 0.77 78.1%
32 个工作日 1.16 87.7%

如果向客户承诺 29 天,按期完成的概率与抛硬币相同。承诺 32 天更可靠。

同一个示例也显示了这一方法的局限。 PERT 只考虑关键路径。但经过订购 (B) 的路径只短一天,而且离散程度更大(σ = 3.23 天)。仅这条路径超过 29 天的概率就有 37.8%。因此,29 天对应 50% 的结论过于乐观。项目管理中的蒙特卡洛模拟会同时计算所有路径,弥补这一缺口。


如何一步步绘制 PERT 图?

绘制 PERT 图分七步:列出活动、定义依赖关系、估算三个工期、绘制网络图、正向和逆向计算、标出关键路径,并持续更新。

分步操作:如何绘制 PERT 图
  1. 找出所有活动: 从工作分解结构 (WBS) 中导出活动。早期阶段可借助思维导图。
  2. 定义依赖关系: 为每项活动确定哪些活动必须先完成。互不依赖的活动可以并行。
  3. 估算工期: 记录 o、m、p 并计算 te。如果有可靠的历史数据,单点估算即可。
  4. 绘制图形: 活动画成节点,依赖关系画成箭头。后续活动位于前置活动右侧。
  5. 正向和逆向计算: 正向计算得出最早开始和最早结束,逆向计算得出最晚开始和最晚结束。
  6. 确定关键路径和浮动时间: 浮动时间 = 最晚开始 − 最早开始。浮动时间为 0 的活动构成关键路径。
  7. 检查与更新: 录入实际工期,每次重大变更后重新计算关键路径。

如何在 Merlin Project 中创建 PERT 图?

在 Merlin Project 中,您从工作分解视图创建 PERT 图:创建活动、输入工期、设置依赖关系,然后在视图类型 Net Plan 中打开项目视图 PERT。卡片会显示最早和最晚的开始与结束、预计工期和浮动时间。

1. 创建活动并记录估算值

打开 视图 > 工作分解,用 插入 > 活动(Cmd+N)添加七项活动。Merlin Project 不会自动计算三点估算。请为 o、m、p 各创建一个自定义字段:选取 插入 > 列,选择 对于新字段,输入字段名称“乐观值”,并在检测器中把 类型 设为 持续期间。用同样方法创建“最可能值”和“悲观值”。这样估算值就记录在活动上。在检测器的 计划 标签页中,把 te 填入 持续期间 字段,例如订购填 16 天。

Merlin Project 工作分解视图:办公室改造的七项活动,乐观值、最可能值和悲观值三列以及预计工期
三个估算值作为独立的列,位于预计工期 te 旁边。

2. 设置依赖关系

选择前置活动和后续活动,选取 结构 > 链接 > 结束到开始(Ctrl+Cmd+L)。也可以在检测器的 依赖项 标签页中输入前置活动的 # 编号。详细步骤见课程添加上下文与逻辑。

Merlin Project 中办公室改造的甘特图,带有结束到开始的链接
B 与 C、D、E 并行,F 等待两条分支完成。

3. 显示关键路径

视图 > 显示关键路线 会在甘特图中以红色突出显示这条链。列 预计的可宽延总时间 显示每项活动的浮动时间,示例中 B 为 1 天。

突出显示关键路线并显示“预计的可宽延总时间”列的办公室改造甘特图
关键路线 A、C、D、E、F、G 为 29 个工作日,B 有 1 天浮动时间。

4. 打开 PERT 视图

按 Cmd+2 切换到 Net Plan,选择项目视图 PERT。显示选项 关键路线 也会在这里突出显示路径。Net Plan 和 PERT 图属于 Merlin Project,Merlin Project Express 不包含这些功能。

Merlin Project 的 Net Plan 视图 PERT:办公室改造的卡片,关键路线突出显示
PERT 卡片显示最早和最晚的开始与结束、预计工期和浮动时间。

PERT 图有哪些优点和缺点?

PERT 图能让不确定性和瓶颈一目了然,但需要投入精力:每项活动都需要三个估算值和准确的依赖关系。如果活动少且都很熟悉,这份投入很少值得。

优点 缺点
绘制过程迫使您通盘考虑整个项目,未解决的问题随之显现。 绘制费时:每项活动需要三个估算值。
网络图一眼展示所有活动及其依赖关系。 读者需要先简单了解节点、箭头和浮动时间。
关键路径和浮动时间可以直接读出。 网络图越细,维护工作量越大。
离散程度 σ 把工期风险量化。 PERT 只考虑关键路径,会低估并行路径。
软件可即时重新计算变更。 对小项目而言,这一方法过于复杂。

提示: PERT 这类网络技术适合依赖关系多的大型项目。较短的项目通常用甘特图或看板就够了。


什么时候用 PERT,而不是甘特图或看板?

PERT 适合规划依赖关系多、不确定性高的项目,甘特图适合在时间轴上控制进度,看板适合管理日常工作流。实践中,许多团队会组合使用这些视图。

PERT 与甘特图

  • 甘特图: 在时间轴上以条形显示活动,适合排期、资源和进度管理。
  • PERT 图: 显示依赖关系的逻辑和工期的不确定性,适合在项目开始前找到可靠的日期。

PERT 与看板

  • 看板: 控制工作流并限制在制品,常见于敏捷和精益环境。
  • PERT 图: 规划带关键路径的固定顺序,常见于大量相互交织的活动。

PERT 与 Scrum

  • Scrum: 适合需求不断变化的项目的迭代冲刺。
  • PERT 图: 适合重视期限和依赖关系的传统或混合型项目。

说明: 在 Merlin Project 中,同一项活动在甘特图中显示为条形,在 PERT 网络图中显示为卡片,在看板中也显示为卡片。数据只需维护一次。


实用提示

  1. 分别询问估算值: 请实际执行活动的人估算 o、m、p,并明确询问悲观值。
  2. 先粗后细: 从工作包层级开始,只细化关键路径上或接近关键路径的活动。
  3. 关注次关键路径: 示例中 B 只有一天浮动时间。这类活动应与关键路径列入同一份监控清单。
  4. 按概率承诺日期: 给出一个范围而不是单一日期,例如 29 到 32 个工作日。
  5. 定期更新: 只有录入了实际工期,PERT 图才有效。

结论

PERT 图把网络图与三点估算结合在一起。它给出三个结果:预计项目工期、关键路径,以及承诺日期的概率。在示例中分别是 29 个工作日、A、C、D、E、F、G 这条链,以及 32 天对应的 87.7%。如果有许多并行且不确定的路径,可以用蒙特卡洛模拟补充计算。


如果您对这篇博客文章有任何疑问或希望参与讨论,欢迎您在我们的论坛中发帖。

常见问题

PERT 的计算公式是什么?

预计工期按 te = (o + 4m + p) / 6 计算,即 (o + 4m + p) 除以 6。o 是乐观估算,m 是最可能估算,p 是悲观估算。标准差为 σ = (p − o) / 6。示例:5、8、14 天得出 te = 8.5 天,σ = 1.5 天。

PERT 和 CPM 有什么区别?

两种方法都使用网络图和关键路径。关键路径法 (CPM) 为每项活动使用一个固定工期。PERT 使用三个估算值,并额外给出离散程度,可据此推算按期完成的概率。

PERT 图和甘特图有什么区别?

PERT 图展示逻辑:哪些活动相互依赖、工期有多不确定、哪条路径是关键路径。甘特图以时间轴上的条形展示相同的活动,适合控制进度和跟踪进展。

如何计算按期完成的概率?

把关键路径上所有活动的方差 σ² 相加,再开平方。用承诺日期与预计工期之差除以这个 σ,在正态分布中查出 z 值对应的概率。示例中预计 29 天、σ = 2.58,承诺 32 天的概率为 87.7%。

Merlin Project 能绘制 PERT 图吗?

可以。在视图类型 Net Plan (Cmd+2) 中选择项目视图 PERT。每张卡片显示最早和最晚的开始与结束、预计工期和浮动时间。三个估算值记录在类型为持续期间的自定义字段中。Net Plan 和 PERT 包含在 Merlin Project 中,Merlin Project Express 不包含。

规划项目, 让计划真正奏效。

一款管理项目计划的应用,在所有 Apple 设备上原生运行。