图-关键路径

拓扑排序

重要概念

  • AVO(Activity of Vertex Network):顶点表示活动,弧表示活动之间优先级的表示工程的有向图
  • 拓扑序列:有向图中的一条路径,路径中某些点的相对顺序有限制
  • 拓扑排序:对一个有向图构造拓扑序列

拓扑排序思路

利用临接表和栈,从AOV中寻阿泽一个入度为零的点,删除此点,并删除以该顶点为狐尾的弧,重复直到输出全部顶点或者AOV网中不存在入度为0为止

关键路径

重要概念

  • AOE:在AOV的基础上,边上有权值,代表活动耗费的时间。
  • AOE的工程应用:在活动之间的制约关系没有矛盾的基础之上,找出决定工程最短耗费时间的活动
  • 关键路径:源点到汇点的最大程度的路径

参数定义

我们把VOE网中的顶点当作事件,弧当作活动。
- 事件最早发生时间etv(earliest time of vertex)
顶点Vk的最早发生时间(逻辑上要求Vk之前发生的事件都结束之后的最早时间)
- 事件最晚发生时间ltv(latest time of vertex)。

顶点Vk的最晚发生时间
- 活动最早发生时间et e(earliest time of edge)

弧ak的最早发生时间。
- 活动最晚发生时间lte(earliest time of edge)

弧ak的最晚发生时间

算法原理

拓扑排序

  • 除了根据AOE进行基本的拓扑排序外,将要输出的拓扑序列压入全局栈stack2中。
  • 同时求出所有顶点的etv 屏幕快照 2016-07-30 下午3.21.51

AOE网中的事件是有发生顺序限制的,因此k必须等待规定在vk之前发生的事件都结束之后才能开始,所以选取最大值>

计算ltv

屏幕快照 2016-07-30 下午3.25.21

  • 计算ltv的时候,实际上是把拓扑序列倒过来进行的
  • ltv在两种可能中取最小值,是为了满足在执行vk之后的所有事件不会延长整个工程的最短时间>

求关键路径

屏幕快照 2016-07-30 下午3.28.06

原文地址:https://www.cnblogs.com/rainySue/p/tu-guan-jian-lu-jing.html