AOV网:所有的工程或者某种流程可以分为若干个小的工程或阶段,这些小的工程或阶段就称为活动。若以图中的顶点来表示活动,有向边表示活动之间的优先关系,则这样活动在顶点上的有向图称为AOV网。

拓扑排序算法:

(1)从AOV网中选择一个没有前驱的顶点(该顶点入度为0)并且输出它。

(2)从网中删去该顶点,并且删去从该顶点发出的全部有向边。

(3)重复上述两步,知道剩余的网中不再存在没有前驱的顶点为止。

拓扑排序:v2,v5,v1,v4,v3,v7,v6


AOE图:若在带权的有向图中,以顶点表示事件,以有向边表示活动,边上的权值表示活动的开销(如该活动持续的事件),则此带权的有向图称为AOE网。

AOE网具有的性质:

(1)只有在某顶点代表的事件发生后,从该顶点出发的各有向边所代表的活动才能开始。

(2)只有在进入某一顶点的各有向边所代表的活动都已经结束,该顶点所代表的事件才能发生。

关键路径:

由于AOE网中的某些活动能够同时进行,故完成整个工程所必须花费的时间应该为源点到终点的最大路径长度(这里的路径长度指该路径上各个活动所需时间之和)。具有最大路径长度的路径称为关键路径。关键路径上的活动称为关键活动。关键路径长度是整个工程所需的最短工期。要缩短整个工期,必须加快关键活动的进度。

工程管理需要解决问题:*计算完成整个工期的最短路径  *确定关键路径,以找出哪些活动是影响工程进度的关键



关键路径的确认:

(1)事件的最早发生时间ve[k]

从源点到顶点的最大路径长度所代表的时间。理解:从前往后,前驱结点到当前结点所需时间,取最大值。

个人理解:只有进入某一顶点的所有有向边代表的活动都结束了,事件才能发生,所以取max,否则事件不发生。

(2)事件的最迟发生时间vl[k]

在不推迟整个工期的前提下事件vk允许的最晚发生时间。 理解:从后往前,后继结点的最迟发生时间-边权值,取最小值。

(3)活动ai的最早开始时间

活动ai由弧<vk,vj>表示,只有事件vk发生了,活动ai才能开始。所以活动ai最早开始事件=事件vk最早发生时间。

(4)活动ai的最晚开始时间l[i]

在不推迟整个工程完成日期的前提下必须开始的最晚时间

l[i]=vl[j]-dut(<vk,vj>)

最早完工时间——等于当前边指向结点的最早发生时间。

最晚完工时间——等于当前边指向结点的最迟发生时间。

事件的最早发生时间

事件的最迟发生事件

活动ai的最早开始时间e[i]和最晚开始时间l[i]、

e[1]=ve[1]=0   e[2]=ve[1]=0    e3=ve[2]=3    e[4]=ve[2]=3   e[5]=ve[3]=4............

l[1]=vl[2]-3=3  l[2]=vl[3]-4=0   l[3]=vl[4]-2=13.......

关键路径

下划线的即为关键活动



AOV图与拓扑排序&AOE图与关键路径的更多相关文章

  1. 图的拓扑排序,AOV,完整实现,C++描述

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  2. 【bzoj5017】[Snoi2017]炸弹 线段树优化建图+Tarjan+拓扑排序

    题目描述 在一条直线上有 N 个炸弹,每个炸弹的坐标是 Xi,爆炸半径是 Ri,当一个炸弹爆炸时,如果另一个炸弹所在位置 Xj 满足:  Xi−Ri≤Xj≤Xi+Ri,那么,该炸弹也会被引爆.  现在 ...

  3. 算法与数据结构(七) AOV网的拓扑排序

    今天博客的内容依然与图有关,今天博客的主题是关于拓扑排序的.拓扑排序是基于AOV网的,关于AOV网的概念,我想引用下方这句话来介绍: AOV网:在现代化管理中,人们常用有向图来描述和分析一项工程的计划 ...

  4. 算法与数据结构(七) AOV网的拓扑排序(Swift版)

    今天博客的内容依然与图有关,今天博客的主题是关于拓扑排序的.拓扑排序是基于AOV网的,关于AOV网的概念,我想引用下方这句话来介绍: AOV网:在现代化管理中,人们常用有向图来描述和分析一项工程的计划 ...

  5. AOV网与拓扑排序

    在一个表示工程的有向图中,用顶点表示活动,用弧表示活动之间的优先关系,这样的有向图为顶点表示活动的网,我们称之为AOV网(Activity on Vextex Network).AOV网中的弧表示活动 ...

  6. 有向无环图的应用—AOV网 和 拓扑排序

    有向无环图:无环的有向图,简称 DAG (Directed Acycline Graph) 图. 一个有向图的生成树是一个有向树,一个非连通有向图的若干强连通分量生成若干有向树,这些有向数形成生成森林 ...

  7. POJ - 3249 Test for Job (在DAG图利用拓扑排序中求最长路)

    (点击此处查看原题) 题意 给出一个有n个结点,m条边的DAG图,每个点都有权值,每条路径(注意不是边)的权值为其经过的结点的权值之和,每条路径总是从入度为0的点开始,直至出度为0的点,问所有路径中权 ...

  8. 【数据结构】【图文】【oj习题】 图的拓扑排序(邻接表)

    拓扑排序: 按照有向图给出的次序关系,将图中顶点排成一个线性序列,对于有向图中没有限定次序关系的顶点,则可以人为加上任意的次序关系,由此所得顶点的线性序列称之为拓扑有序序列.显然对于有回路的有向图得不 ...

  9. Paint the Grid Again (隐藏建图+优先队列+拓扑排序)

    Leo has a grid with N × N cells. He wants to paint each cell with a specific color (either black or ...

随机推荐

  1. MySQL索引分析及使用

    一.索引介绍 1.1.什么是索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此 ...

  2. Java 中的 反射机制

    概念明确 什么是类的对象? 类的对象就是:基于某个类 new 出来的对象,也称为实例对象.这个很容易理解,就不过多阐述了. 什么是类对象? 类对象就是:类加载的产物,封装了一个类的所有信息(类名.父类 ...

  3. JQuery cdn地址

    国外的CDN: 1.Google Hosted Libraries src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery ...

  4. c++11-17 模板核心知识(二)—— 类模板

    类模板声明.实现与使用 Class Instantiation 使用类模板的部分成员函数 Concept 友元 方式一 方式二 类模板的全特化 类模板的偏特化 多模板参数的偏特化 默认模板参数 Typ ...

  5. linux中配置yum文件

    yum简介:yum的宗旨是自动化地升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决. yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是 ...

  6. 利用 Docker 构建一个简单的 java 开发编译环境

    目前 Java 语言的版本很多,除了常用的 Java 8,有一些遗留项目可能使用了 Java 7,也可能有一些比较新的的项目使用了 Java 10 以上的版本.如果想切换自己本地的 Java 开发环境 ...

  7. 402. 移掉K位数字

    给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小. 注意: num 的长度小于 10002 且 ≥ k.num 不会包含任何前导零.示例 1 : 输入: num ...

  8. openwrt——preinit.sh学习

    boot_hook_init() { local hook="${1}_hook" export -n "PI_STACK_LIST=${PI_STACK_LIST:+$ ...

  9. 剑指offer刷题(算法类_1)

    斐波那契数列 007-斐波拉契数列 题目描述 题解 代码 复杂度 008-跳台阶 题目描述 题解 代码 复杂度 009-变态跳台阶 题目描述 题解 代码 复杂度 010-矩形覆盖 题目描述 题解 代码 ...

  10. Fiddler中添加serverIP

    以前一直觉得chrome浏览器中能看到remoteIP,真是觉得太酷了!一直想要fiddler也拥有这种技能,有天好奇的在网上搜了一下,真的可以,改造下fiddler脚本即可:上面那句是算接口请求的t ...