Skip to content

关键路径保姆级:正推、逆推一步一步标 ​

本页导读:项目里十几个活动,有的能拖两天没事,有的晚一天整个项目就晚一天——怎么区分?关键路径法(CPM)就是干这个的:找出"耗时最长的那条链"(它决定总工期),再给每个活动算出"能拖延的余量"(时差)。这页是案例计算第二大考点。零基础同学常被"正推逆推"吓住,其实它就是"从左往右加一遍、再从右往左减一遍"。本页每个节点每个数字都一行一行标给你看。


你将学会 ​

  • 看懂单代号网络图,用"枚举路径"快速找出关键路径和总工期;
  • 正推算最早开始/结束(ES/EF),逆推算最迟开始/结束(LS/LF),每个节点标一遍;
  • 分清总时差(TF)和自由时差(FF),会算会解释含义;
  • 赶工题怎么选"最便宜的压缩方案",一步一步比价。

一、先看懂网络图,再用"枚举法"找关键路径 ​

① 生活例子引入 ​

做一顿年夜饭:买菜(30 分钟)→ 洗切(40 分钟)→ 然后两条线并行:炖汤(120 分钟)和炒菜(30 分钟)→ 最后摆盘(10 分钟)。几点能开饭?看最慢的那条线:

  • 炖汤线:30 + 40 + 120 + 10 = 200 分钟;
  • 炒菜线:30 + 40 + 30 + 10 = 110 分钟。

开饭时间由炖汤线决定——这条最长的链就是关键路径:炖汤慢一分钟,开饭就晚一分钟;炒菜慢个十几分钟根本不影响开饭。

② 公式卡片 ​

名称含义一句话理解
节点(活动)圆圈/方块里写活动名单代号网络图里"圈=活动,箭头=先后关系"
紧前活动必须先干完才能开始本活动的我的"前置任务"
紧后活动必须等我干完才能开始的我的"后续任务"
关键路径从起点到终点耗时最长的路径它有多长,总工期就有多长
关键活动关键路径上的活动总时差为 0,一天不能拖(注意:也可能不止一条关键路径)

每个活动常用"七格图"标注(考试自己画个简易表格就行):

 ES | 历时 | EF
―――――――――――――
 活动 A(历时 D)
―――――――――――――
 LS | 总时差 | LF

③ 例题手把手(枚举法) ​

题目:项目含 6 个活动,逻辑与历时如下,找关键路径与总工期。

活动紧前活动历时 D(天)
A—3
BA5
CA4
DB6
EC5
FD、E2
  1. 从起点到终点把所有路径一条条列全(为什么:漏一条就可能漏掉关键路径);
  2. 路径 1:A→B→D→F = 3+5+6+2 = 16 天;
  3. 路径 2:A→C→E→F = 3+4+5+2 = 14 天;
  4. 比大小:16 > 14;
  5. 结论:关键路径 A→B→D→F,总工期 16 天(下一步用正推逆推验证)。

④ 易错陷阱 ​

  • 路径必须列全,漏列是最大失分点;列完后把每条加一遍核对;
  • 别把"历时最长的活动"当"关键活动"——关键看整条链的总长,不是单个活动;
  • 关键路径可能不止一条(两条并列最长时),答题时都要写;
  • 枚举法适合活动少的上午题;案例大题要求标 ES/EF/LS/LF,就得用下面两步推演法。

二、正推:从左往右算"最早"(ES、EF) ​

① 生活例子引入 ​

你几点能出门,取决于前面每件事几点干完:吃饭、换衣服可以并行,但出门必须等最晚结束的那件——"最早出门时间 = 前面所有事情最早结束时间的最大值"。这就是正推。

② 公式卡片 ​

符号含义公式
ES最早开始等于所有紧前活动 EF 的最大值(起点活动 ES = 0)
EF最早结束EF = ES + 历时 D

口诀:正推取大(多个紧前汇进来,取最晚的)。

③ 例题手把手(还是上面那张 6 活动网络) ​

  1. A(起点):ES = 0,EF = 0 + 3 = 3(为什么是 0:本页约定从第 0 天起算);
  2. B(紧前只有 A):ES = EF_A = 3,EF = 3 + 5 = 8;
  3. C(紧前只有 A):ES = 3,EF = 3 + 4 = 7;
  4. D(紧前只有 B):ES = EF_B = 8,EF = 8 + 6 = 14;
  5. E(紧前只有 C):ES = EF_C = 7,EF = 7 + 5 = 12;
  6. F(紧前有 D 和 E 两个):ES = max(EF_D, EF_E) = max(14, 12) = 14(为什么取大:D 和 E 都干完 F 才能开始,得等最慢的);
  7. F:EF = 14 + 2 = 16;
  8. 总工期 = 终点 EF = 16 天,与枚举法一致 ✔。

④ 易错陷阱 ​

  • 汇聚点(多个紧前)忘记取 max,顺手写了最后一个——每次遇到多个紧前,强迫自己写"max(...)";
  • 时间起算口径:本页从 0 起算(ES=0);有的教材从第 1 天起算,结论只差口径不差逻辑,考试按题目来并在答卷注明;
  • EF 是"加上历时",不是"紧前的 EF 加历时"——先定 ES 再加 D。

三、逆推:从右往左算"最迟"(LS、LF) ​

① 生活例子引入 ​

高铁 8 点发车,你倒着推:进站要 10 分钟 → 最晚 7:50 到站口;路上要 30 分钟 → 最晚 7:20 出门。"不误事的最晚时间"就是逆推,要是后面还要赶多件事,就得按最早开始的那件倒推。

② 公式卡片 ​

符号含义公式
LF最迟结束等于所有紧后活动 LS 的最小值(终点活动 LF = 总工期)
LS最迟开始LS = LF − 历时 D

口诀:逆推取小(分出去多个紧后,按最急的那个)。

③ 例题手把手(同一网络,总工期 16 天) ​

  1. F(终点):LF = 总工期 = 16,LS = 16 − 2 = 14(为什么终点 LF=总工期:再晚就超工期);
  2. D(紧后只有 F):LF = LS_F = 14,LS = 14 − 6 = 8;
  3. E(紧后只有 F):LF = 14,LS = 14 − 5 = 9;
  4. B(紧后只有 D):LF = LS_D = 8,LS = 8 − 5 = 3;
  5. C(紧后只有 E):LF = LS_E = 9,LS = 9 − 4 = 5;
  6. A(紧后有 B 和 C 两个):LF = min(LS_B, LS_C) = min(3, 5) = 3(为什么取小:B 更急,A 最晚 3 天末必须结束);
  7. A:LS = 3 − 3 = 0;
  8. 自查:A 的 LS = ES = 0、TF = 0 ✔(起点在关键路径上,时差应为 0)。

④ 易错陷阱 ​

  • 分支点(多个紧后)忘记取 min;
  • 终点的 LF 不是 0,是总工期(逆推从总工期开始减);
  • 方向别搞反:正推用紧前的 EF,逆推用紧后的 LS——一个是"等谁来",一个是"被谁等"。

四、时差:TF(总时差)与 FF(自由时差) ​

① 生活例子引入 ​

午休你有多少"摸鱼余量"?有两个口径:不影响下班你最多摸 2 小时(总时差);但下午 2 点要开会,不影响开会你只能摸 40 分钟(自由时差)。总时差管"全局底线",自由时差管"下一件事"。

② 公式卡片 ​

符号含义公式口诀
TF总时差:最多可推迟多久而不影响总工期TF = LS − ES = LF − EF迟减早
FF自由时差:最多可推迟多久而不影响任何紧后活动最早开始FF = min(紧后活动 ES) − 本活动 EF紧后最早减我最早完

两条铁律:FF ≤ TF;TF = 0 的活动是关键活动,把 TF=0 的活动串起来就是关键路径。

③ 例题手把手(把前面的推演结果汇成总表) ​

活动ESEFLSLFTF = LS−ESFF
A03030 ★0
B38380 ★0
C375920
D8148140 ★0
E71291422
F141614160 ★0

逐行演示两个非关键活动的算法:

  1. C 的 TF = LS − ES = 5 − 3 = 2 天(含义:C 最多晚开始 2 天,总工期不变);
  2. C 的 FF = min(紧后 E 的 ES) − EF_C = 7 − 7 = 0 天(含义:C 只要晚 1 天,紧后的 E 就被迫晚开始——虽不影响总工期,但会吃掉下游的机动时间);
  3. E 的 TF = 9 − 7 = 2 天;FF = 紧后 F 的 ES − EF_E = 14 − 12 = 2 天(E 晚 2 天以内,谁都碍不着);
  4. 连 TF=0 的活动:A→B→D→F,就是关键路径,总工期 16 天,与枚举法双验证 ✔;
  5. 本例 C 演示了经典考点"FF=0 但 TF>0":不耽误总工期 ≠ 不耽误下游。

④ 易错陷阱 ​

  • FF ≤ TF 恒成立,算出 FF > TF 必有一步错了,立刻回查;
  • FF 是"紧后 ES 的最小值"减"我的 EF",多个紧后时别忘 min;
  • 关键活动 TF=0 且 FF=0,但非关键活动 FF 也可能等于 0(如本例 C)——别拿 FF=0 判关键路径;
  • 答含义题时两个时差的"对象"别说反:TF 对总工期,FF 对紧后活动的最早开始。

五、赶工:花钱买时间,怎么花最省 ​

① 生活例子引入 ​

两个快递都能让你的包裹早到一天:顺丰加急 20 元,某通加急 5 元——都早到一天,当然选 5 元的。赶工题就是这道选择题:同样压缩 1 天,选"每天赶工费最便宜"的关键活动压。

② 公式卡片 ​

概念含义
赶工(Crashing)给关键活动加资源换时间,代价是直接成本上升
快速跟进(Fast Tracking)原本串行的活动改为部分并行,代价是返工与风险上升
赶工三原则① 只压关键路径(压非关键=白花钱);② 每压一步重新判定关键路径;③ 从"每天赶工费最低"的活动开始压

③ 例题手把手 ​

题目:接上面的网络(关键路径 A-B-D-F = 16 天,次关键 A-C-E-F = 14 天)。可压缩情况:

活动可压缩上限(天)每天赶工费(千元)
A12.0
B23.0
C12.5
D31.5
E22.0
F不可压—

第一问:16 天压到 14 天,最少花多少钱?

  1. 列出关键路径 A-B-D-F 上各活动的单价:A 2.0、B 3.0、D 1.5(F 不可压);
  2. 比价:D 最便宜(1.5 千/天),上限 3 天,够压;
  3. 压 D 2 天:A-B-D-F = 3+5+4+2 = 14 天 ✔;
  4. 复查次关键路径:A-C-E-F = 14 天,恰好并列关键,没有更长的路径顶上来,达标;
  5. 花费 = 2 天 × 1.5 = 3.0 千元;
  6. 反面教材:若压 B 2 天(3.0 千/天)也能到 14 天,但要花 6.0 千——先比单价再动手,能省一半。

第二问:再压到 13 天,还要加多少钱?

  1. 现状:两条路径并列关键(都是 14 天),必须同时压短两条,只压一条另一条就顶上来顶死;
  2. A-B-D-F 侧比价:D 还剩 1 天余量(1.5 千/天)< A(2.0)< B(3.0)→ 再压 D 1 天;
  3. A-C-E-F 侧比价:E(2.0 千/天)< C(2.5)→ 压 E 1 天;
  4. 验证:A-B-D-F = 3+5+3+2 = 13 ✔;A-C-E-F = 3+4+4+2 = 13 ✔;
  5. 增加花费 = 1×1.5 + 1×2.0 = 3.5 千元;
  6. 两问合计 = 3.0 + 3.5 = 6.5 千元,最终工期 13 天,双关键路径。

④ 易错陷阱 ​

  • 压了非关键活动:工期没变钱白花——动手前先确认活动在当前关键路径上;
  • 压完不重新判定:次关键路径随时可能顶上来变成新关键路径,每压一步重画一次账;
  • 并列关键后只压一条:总工期纹丝不动;
  • 概念混搭:花的是钱→赶工;并行干活、冒返工险→快速跟进;"资源不够挪一挪、工期可能变长"→资源平衡;"只在时差内挪、工期不变"→资源平滑。

术语卡 ​

术语一句话解释
AON单代号网络图:节点表示活动,箭线表示先后逻辑
关键路径起点到终点耗时最长的路径,决定总工期,可有多条
总时差 TF不影响总工期的最大可推迟量
自由时差 FF不影响紧后活动最早开始的最大可推迟量,恒不大于 TF
赶工加资源压缩关键活动历时,用成本换时间
快速跟进串行活动改并行,用风险换时间
资源平衡消除资源过载的排期调整,可能延长工期

自测题(1 道综合题,先自己做再展开答案) ​

题目:某项目活动如下:A(2 天,起点);B(3 天,紧前 A);C(4 天,紧前 A);D(2 天,紧前 B、C)。求:(1) 关键路径与总工期;(2) B 的 TF 与 FF;(3) 画出全部四个活动的 ES/EF/LS/LF 表。

参考答案(点击展开)

(1) 关键路径与总工期

  1. 枚举路径:A→B→D = 2+3+2 = 7 天;A→C→D = 2+4+2 = 8 天;
  2. 8 > 7 → 关键路径 A→C→D,总工期 8 天。

(2) B 的 TF 与 FF(需先推 ES/EF/LS/LF)

正推:A:ES=0,EF=2;B:ES=2,EF=5;C:ES=2,EF=6;D:ES=max(5,6)=6,EF=8。

逆推:D:LF=8,LS=6;B:LF=LS_D=6,LS=6−3=3;C:LF=6,LS=2;A:LF=min(3,2)=2,LS=0。

  • B 的 TF = LS−ES = 3−2 = 1 天(B 最多晚 1 天,总工期不变);
  • B 的 FF = ES_D − EF_B = 6−5 = 1 天(B 晚 1 天以内,D 的最早开始不受影响)。

(3) 汇总表

活动ESEFLSLFTFFF
A02020 ★0
B253611
C26260 ★0
D68680 ★0

自查:TF=0 的是 A、C、D,连起来正是关键路径 A-C-D ✔;本例 B 的 FF=TF=1,与正文 C 活动的"FF=0、TF=2"对照着记。


小结 ​

  • 关键路径 = 最长路径,两条方法互验:枚举路径(上午题快)与 TF=0 连线(案例题必会);
  • 正推算最早:ES = 紧前 EF 的最大值,EF = ES + D;逆推算最迟:LF = 紧后 LS 的最小值,LS = LF − D;
  • TF 管总工期、FF 管紧后活动,FF ≤ TF;
  • 赶工三原则:只压关键、从便宜压起、每压一步重新判定;
  • 下一步:三点估算保姆级——把"不确定的工期"算成"期望 + 概率";练手去 计算 30 题 第 11~18 题。

仅供个人备考学习使用 · 内容为原创整理,转载请注明出处