7. 关键路径

关键路径 :

源点汇点的所有路径中,具有最大路径长度的路径称为关键路径

关键路径代表 : 1) 图中最长路径; 2) 完成整个工期的最短时间

关键路径上的活动称为关键活动

针对AOE网源点汇点,AOE网的边的权值表示活动持续的时间
活动是边,事件是点 ! ! !


求关键路径的算法步骤
  1. 根据图G求出其拓扑排序序列a逆拓扑排序序列b(注:逆排序序列拓扑排序算法,改出度为0先输出即可)
  2. (1) 根据拓扑排序序列a事件最早发生时间Ve记录)
    初始化:从源点开始,Ve(源点) = 0
    求事件K的最早发生时间有公式: Ve(K) = max { Ve{Ji} + 的权值 };其中JK的前驱(多前驱),都算出来,选Max
    (2) 根据逆拓扑排序序列b事件最迟发生时间Vl记录)
    初始化:从汇点开始,Vl(汇点) = Ve(汇点)
    求事件K的最迟发生时间有公式: Vl(K) = min { Vl{Mi} + 的权值 };其中MK的后继(多后继),都算出来,选Min
  3. 根据(2)中结果求每个活动的最早发生时间和最迟发生时间,有如下关系:
    活动的最早发生时间 = 引起该活动的事件的最早发生时间
    活动的最迟发生时间 = (该活动结束点事件的最迟发生时间) - (该活动的持续时间)
  4. 找出最早发生时间和最迟发生时间相同活动,即为关键活动
    关键活动所连成的路径即为关键路径.
关键字:
  1. 拓扑排序序列a&逆拓扑排序序列b
  2. 事件的最早发生时间记为Ve
    事件的最迟发生时间记为Vl
    事件即顶点
  3. 活动的最早发生时间e
    活动的最迟发生时间l
    活动即边
  4. 引起该活动的事件 --- 该活动以此事件为起点


    7. 关键路径_第1张图片

    该活动结束点事件


    7. 关键路径_第2张图片

关键路径实现代码:


你可能感兴趣的:(7. 关键路径)