关键路径法的四个数字
CPM(Critical Path Method,关键路径法)是 1950 年代和 PERT 一起被发明出来的排期方法,核心就四个时间量。给定每个活动的工期和前置关系,正推一遍、反推一遍,项目的真实最短工期和每个活动的机动空间就都出来了。
| 符号 | 名称 | 计算方式 |
|---|---|---|
| ES | 最早开始 | 所有前置活动最早完成的最大值;无前置则为 0 |
| EF | 最早完成 | ES + 工期 |
| LF | 最晚完成 | 所有后续活动最晚开始的最小值;无后续则为项目总工期 |
| LS | 最晚开始 | LF − 工期 |
| TF | 总时差 | LS − ES,等于 LF − EF |
总时差为 0 的活动就是关键活动,连起来就是关键路径。注意这里说的是「总时差为 0」而不是「时间最长的那条链」——这两句话在大多数情况下等价,但用前者才是严格定义。
时差不是「可以随便摸鱼的天数」
假设活动 A 的总时差是 3 天,意思是 A 最多可以拖 3 天而不影响总工期。但如果 A 真的拖了 3 天,A 的后续活动时差会被同步吃掉,原本有时差的活动可能一并变成关键活动。所以时差是整个链条共享的余额,不是每个活动各自独立的假期。真正只属于自己、不传递给后续的是自由时差:
自由时差 = min(后续活动的 ES) − 本活动的 EF
想缩短工期,只能动关键活动——而且有前提
关键路径上的活动压缩一天,总工期才会缩短一天,这是常识。但有个例外常被忽略:当存在次长路径时,关键路径压缩到一定程度就不再是瓶颈了。比如关键路径 40 天、次长路径 38 天,那么关键路径最多只能压 2 天,再压总工期也不会动,因为瓶颈已经转移到次长路径上。本工具会对每个关键活动算出「缩短 1 天是否真的能让总工期减少 1 天」,收益为 0 的活动就说明它已经不是当前瓶颈。
CPM 的局限:它是确定性的
CPM 假设每个活动的工期是一个确定数字。现实中工期是分布,PERT 用三点估计来处理这个不确定性:
期望工期 = (乐观 + 4 × 最可能 + 悲观) ÷ 6,标准差 = (悲观 − 乐观) ÷ 6
把关键路径上各活动的方差相加,开方得到项目总标准差,就能给出概率化的承诺:总工期在「均值 ± 1 个标准差」内的概率约 68%,± 2 个标准差约 95%。给客户报工期时,报 85% 置信度的日期比报期望值现实得多。
你可能还想问
关键路径是什么?
项目中决定总工期的那条最长依赖链;关键路径上的任务一旦延迟,整个项目就随之推迟,是重点盯防对象。
浮时为零代表什么?
表示该任务没有可拖延的余地,任何延误都会直接影响总工期;浮时大的任务则有一定缓冲,可灵活调度。
怎么缩短总工期?
压缩关键路径上的任务(加资源、并行或拆解),而不是去优化非关键任务;非关键任务优化再多也不改变总工期。
速查在线工具箱