数据结构:用生活中的例子解释 AOE 网中活动的最早和最迟开始时间的含义和计算方法

生活实例:装修房子中的活动安排

假设你要装修一套房子,主要流程如下:

  1. 拆旧(活动 A,3 天) → 拆旧完成(事件 X)
  2. 水电改造(活动 B,4 天) → 水电完成(事件 Y)
  3. 拆旧完成(事件 X) + 水电完成(事件 Y) → 开始砌墙(事件 Z)
  4. 砌墙(活动 C,5 天) → 砌墙完成(事件 W)
  5. 铺地板(活动 D,3 天) → 装修结束(终点事件)

活动的最早开始时间(Earliest Start Time, ES)

  • 活动 A(拆旧):无前置任务,直接开始 → ES=0 天
  • 活动 B(水电改造):必须等拆旧完成(事件 X 的最早时间 = 3 天) → ES=3 天
  • 活动 C(砌墙):需等拆旧完成(事件 X=3 天)和水电完成(事件 Y=3+4=7 天) → ES=max (3,7)=7 天
  • 活动 D(铺地板):必须等砌墙完成(事件 W=7+5=12 天) → ES=12 天

数学化解释

  1. ES 的定义:活动必须在所有前驱事件全部完成后才能开始的最早时间。
    • 若前驱事件有多个,取最大的那个事件完成时间(因为必须等待最慢的那个)。
  2. ES 的计算方法**:**ES = max {前驱事件的最早发生时间(TE)}

总结

  • ES 的本质:活动的 “起跑线”,由所有前置任务的最长耗时路径决定。

  • ES 的意义:确保活动不会早于所有前置任务完成的时间开始。

  • 关键活动:ES=LS,无缓冲时间,一旦延迟直接影响总工期。

活动的最迟开始时间(LS)

继续用之前的装修例子,假设总工期必须严格控制在 15 天内,现在计算每个活动的最迟开始时间(LS)

  • 活动 D(铺地板):必须在总工期(15 天)前完成 → LS = 15 天 - 3 天 = 12 天(即第 12 天必须开始铺地板)。

  • 活动 C(砌墙):必须在铺地板的 LS(12 天)前完成 → LS = 12 天 - 5 天 = 7 天(即第 7 天必须开始砌墙)。

  • 活动 B(水电改造):必须在砌墙的 LS(7 天)前完成 → LS = 7 天 - 4 天 = 3 天(即第 3 天必须开始水电改造)。

  • 活动 A(拆旧):必须在水电改造的 LS(3 天)前完成 → LS = 3 天 - 3 天 = 0 天(即第 0 天必须开始拆旧)。

数学化解释

  1. LS 的定义:活动在不影响总工期的前提下,最晚可以开始的时间
    • 若后续活动有多个,取最小的那个 LS 值(因为必须保证所有后续活动都能按时开始)。
  2. LS 的计算方法**:**LS = 后续事件的最迟发生时间(TL) - 当前活动的持续时间
    • TL 的计算:从终点事件倒推,取所有后续活动 LS 的最小值。

对比关键活动与非关键活动

  • 关键活动(如活动 A/B/C/D):ES = LS → 松弛时间 = 0 天 → 必须严格按时开始。
  • 非关键活动(假设存在):LS > ES → 松弛时间 = LS - ES → 有缓冲空间。

总结

  • LS 的本质:活动的 “最后通牒时间”,超过这个时间开始会导致总工期延误。

  • LS 的意义:帮助识别哪些活动可以适当延迟(非关键活动),哪些必须严格按时(关键活动)。

  • 计算逻辑:从终点倒推,确保每个活动的 LS 不影响后续活动的 LS。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CS创新实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值