一道+ / edao.plus
统筹规划#时间统筹

时间统筹

在“能并行的就并行”的原则下,总时间由最长的那条串行链(关键路径)决定,而不是把所有任务时间相加。

直观场景

做一顿饭:水可以一边烧,菜一边洗,米一边淘。能同时做的事不应该一件一件来;最后等的,是“跑得最慢的那条流水线”。

推导思路

  1. 列出所有任务及其先后依赖(A 必须在 B 之前完成等)。
  2. 把可同时进行的任务并排,把必须串接的任务连成一条链。
  3. 找出“起点到终点”所有可能链中最长的一条,其长度就是最短总工期(关键路径)。
  4. 优化:缩短关键路径上的任务,或把原本串行的任务改造成并行,才能真正缩短总时间;只缩短非关键任务无效。

公式 / 要点

  • 总时间 = max(各条独立链的时间),不是各任务时间之和。
  • “同一时刻只能做一件事”才需要串行;只要资源不冲突,能并行的应尽量并行。

典型例题

1烧水泡茶
烧水 15 分钟、洗水壶 1 分钟、洗茶杯 1 分钟、拿茶叶 1 分钟、泡茶 1 分钟(必须在水开后)。最短多长时间能喝上茶?
  1. 洗水壶 1 分钟 → 烧水 15 分钟(共 16 分钟)是关键链。
  2. 在烧水的 15 分钟里同时洗杯、拿茶叶(不占用关键链)。
  3. 水开后泡茶 1 分钟。总时间 = 1 + 15 + 1 = 17 分钟。
2煎饼问题
一张饼正反两面各煎 3 分钟,平底锅一次只能放 2 张饼。煎 3 张饼最少需要几分钟?
  1. 把饼标号 1、2、3。
  2. 前 3 分钟:煎 1 正、2 正。
  3. 中 3 分钟:煎 1 反、3 正(取出 2,放入 3)。
  4. 后 3 分钟:煎 2 反、3 反。共 9 分钟。

小结:“资源有限”时,巧妙安排让锅一直满载,不留空闲。

常见误区

  • 并行不是无限的——受工具、人手等资源限制时,仍会回退到串行。
  • 缩短不在关键路径上的任务,对总工期毫无帮助。

用到「{entry.name}」的题目

相关知识点