关键路径

254 阅读2分钟

「这是我参与2022首次更文挑战的第28天,活动详情查看:2022首次更文挑战」。

关键路径

AOE网的定义

AOE网(边表示活动的网):在一个表示工程的带权有向图中,用顶点表示事件,用有向边表示活动,边上的权值表示活动的持续时间
AOE网(activity on edge network)

AOE网的性质:

  1. 只有在进入某顶点的各活动都已经结束,该顶点所代表的事件才能发生
  2. 只有在某顶点所代表的事件发生后,从该顶点出发的各活动才能开始

关键路径的定义

关键路径:AOE网中从源点到终点的最长路径
关键活动:关键路径上的活动

关键路径算法——基本思想

如何求关键路径呢----->求关键活动
关键活动的开始时间不能推迟--->关键活动的最早开始时间和最晚开始时间相等

算法:关键路径算法
输入:带权有向图 G=(V,E)
输出:关键活动
        1. 计算各个活动的最早开始时间和最晚开始时间
        2. 计算各个活动的时间余量,时间余量为 0 即为关键活动

设带权有向图 G=(V,E)含有 n 个顶点 e 条边,设置 4 个一维数组:

  • 事件的最早发生时间 ve[n]
  • 事件的最迟发生时间 vl[n]
  • 活动的最早开始时间 ae[e]
  • 活动的最晚开始时间 al[e]

1. 事件的最早发生时间 ve[n]

image.png
如下图所示事件 v2 的最早发生时间是多少?

image.png

image.png

2. 事件的最迟发生时间 vl[n]

image.png
如上图所示事件 v3 和v0 的最迟发生时间是多少?

image.png

3. 活动的最早开始时间 ae[e]

4. 活动的最晚开始时间 al[e]

image.png

如上图所示活动 a2 的最早开始时间是多少?

image.png

如上图所示活动 a2 的最晚开始时间是多少?

image.png