【AOE网】
【概念】
与AOV网相对应的是边表示活动的有向无环图 AOE(Activity On Edge) ,如下图所示。
图中顶点表示事件(Event),每个事件表示在其前的所有活动已经完成,其后的活动可以开始;弧表示活动,弧上的权值表示相应活动所需的时间或费用。
与AOE有关的研究问题:
- 完成整个工程至少需要多少时间?
- 哪些活动是影响工程进度(费用)的关键?
【定义】
设是起点,从到的最长路径长度称为事件的最早发生时间,即是以为尾的所有活动的最早发生时间。
若活动是弧,持续时间是,设:
◆ :表示活动的最早开始时间。
◆ :在不影响进度的前提下,表示活动的最晚开始时间。则表示活动的时间余量,若,表示活动是关键活动。
◆ :表示事件的最早发生时间,即从起点到顶点的最长路径长度;
◆ :表示事件的最晚发生时间。
对上面的四个定义,有以下三个关系式:
-
含义是:源点事件的最早发生时间设为;除源点外,只有进入顶点的所有弧所代表的活动全部结束后,事件才能发生。即只有的所有前驱事件的最早发生时间计算出来后,才能计算 。
-
方法是:对所有事件进行拓扑排序,然后依次按拓扑顺序计算每个事件的最早发生时间。

- 含义是:只有的所有后继事件的最晚发生时间计算出来后,才能计算。
- 方法是:按拓扑排序的逆顺序,依次计算每个事件的最晚发生时间。
数学是美学,算法是艺术。对我这种菜鸡来说,恐怕唯一能做的就是慢慢接受并尝试运用数学形式吧!
【求AOE中关键路径和关键活动】
【算法思想】
① 利用拓扑排序求出AOE网的一个拓扑序列;
② 从拓扑排序的序列的第一个顶点(源点)开始,按拓扑顺序依次计算每个事件的最早发生时间 ;
③ 从拓扑排序的序列的最后一个顶点(汇点)开始,按逆拓扑顺序依次计算每个事件的最晚发生时间 ;
【手工分析】

对于上图的AOE网,处理过程如下:
- 拓扑排序的序列是:
(v0,v1,v2,v3,v4,v5,v6,v7,v8)
- 根据上面计算的公式7-2和计算的公式7-3 ,计算各个事件的和值,如下表所示。
- 根据上面公式7-1,计算各个活动的和,如下表所示。
- 根据关键路径的定义,知该AOE网的关键路径是: (v0, v2, v4, v7 , v8) 和 (v0, v2, v5 , v7 , v8) 。
- 关键路径活动是:<v0, v2>,<v2, v4>,<v2, v5>,<v4, v7>,<v5, v7>,<v7, v8> 。
明白了手工分析,占个坑,代码就先不实现了,后面的几篇代码可能也没时间实现了,准备期末考试。
考完或者下学期有时间补上
来源:CSDN
作者:菜是原罪QAQ
链接:https://blog.csdn.net/qq_42815188/article/details/103623092