1. 事件的最早发生时间
在 AOE 网(Activity On Edge Network,边表示活动的网络)中,事件的最早发生时间指从源点(起点)到该事件结点的最长路径长度(即所需时间)。它决定了所有以该事件为起点的活动的最早开始时间。
1.1 生活场景比喻
假设你要做一顿饭,流程如下:
- 淘米(2分钟) → 煮饭(30分钟)
- 洗菜(5分钟) → 炒菜(15分钟)
- 切肉(10分钟) → 炖肉(40分钟)
所有步骤完成后才能开饭。
- 关键问题:炖肉需要40分钟,是耗时最长的路径。即使其他步骤更快完成,也必须等炖肉完成才能开饭。
- 结论:开饭的最早时间由最长路径(切肉→炖肉,共50分钟)决定,而非其他更短的路径。
在AOE网中,事件的最早发生时间是其所有前驱活动完成的最晚时间。
- 每个事件必须等待所有前置活动完成,因此它的最早开始时间取决于耗时最长的那条路径。
- 如果选择最短路径,可能某些前置活动尚未完成,事件无法启动。
1.2 数学化解释
假设事件 E 有两个前驱事件 A 和 B:
- 路径1(A→E)耗时5天
- 路径2(B→E)耗时7天
事件E的最早发生时间必须是7天(取最大值),因为必须等 B→E 完成后才能开始。如果只取 5 天,B→E 尚未完成,事件E无法启动。
1.3 最长路径决定项目总时间
- 关键路径是项目中所有路径中耗时最长的路径,它决定了项目的最短完成时间。
- 若关键路径上的任何活动延迟,整个项目都会延迟。
- 非关键路径上的活动即使延迟,只要不超过其“松弛时间”,就不会影响总工期。
1.4 总结
- 事件的最早发生时间 = 最长路径时间,因为必须等所有前置活动完成。
- 关键路径 = 最长路径,决定项目最短工期。
2. 事件的最迟发生时间
2.1 生活场景比喻
假设你要赶火车,必须在 10:00 前到达火车站,流程如下:
- 起床(20 分钟) → 洗漱(15 分钟) → 出门(必须在 9:30 前完成)
- 步行到公交站(10 分钟) → 等公交(5 分钟) → 坐公交(25 分钟) → 到达火车站
关键逻辑:
- 到达火车站的最晚时间是 10:00,因此需要逆序计算每个步骤的最晚开始时间:
- 坐公交需要 25 分钟 → 必须在9:35 前上公交。
- 等公交需要 5 分钟 → 必须在9:30 前到达公交站。
- 步行到公交站需要 10 分钟 → 必须在9:20 前从家出发。
- 洗漱需要 15 分钟 → 必须在9:05 前开始洗漱。
- 起床需要 20 分钟 → 必须在8:45 前起床。
任何一步的延迟都会导致赶不上火车,因此每个步骤的最迟开始时间由最终截止时间倒推决定。
2.2 AOE 网中的逻辑
事件的最迟发生时间指在不影响整个项目总工期的前提下,该事件最晚可以发生的时间。计算方式为:
- 从终点向源点逆序计算,每个事件的最迟时间由其后继事件决定。
- 取最小值:事件的最迟时间 = 所有后继事件的最迟时间 - 对应活动的时间,取最小值。
2.3 数学化解释
假设事件 E 有两个后继事件 F 和 G:
- 活动 E→F 耗时 5 天,F 的最迟时间为 10 天
- 活动 E→G 耗时 7 天,G 的最迟时间为 12 天
事件 E 的最迟时间 = min(10 - 5, 12 - 7) = min(5, 5) = 5 天
若 E 的最迟时间超过 5 天(例如 6 天),则 F 或 G 的活动无法按时完成,导致总工期延迟。
2.4 总结
事件的最迟发生时间 = 逆序计算的最晚启动时间,由后继事件决定。
关键路径上的事件最早和最迟时间相等,无松弛时间。