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. [P2114] [NOI2014]起床困难综合症 (位运算)

    题面 传送门:https://www.luogu.org/problemnew/show/P2114 Solution 一道很有意思的位运算题. 要做这一题,我们首先得了解一个很重要的特点 位运算过程 ...

  2. python开发基础(二)运算符以及数据类型之str(字符串)

    # encoding: utf-8 # module builtins # from (built-in) # by generator 1.147 """ Built- ...

  3. 详解Git

    版本控制 基本概念 版本控制是一个非常简单的概念,我举个例子简单说明一下你就能大概明白它是一个什么东西,当你不会版本控制的时候: 你的BOSS决定做一款灰常牛逼的软件,找你进行开发 当你做好之后,老板 ...

  4. Python爬虫-换行的匹配

    之前在学习爬虫的时候遇到了匹配内容时发现存在换行,这时没法匹配了,后来在网上找到了一种方法,当时懒得记录,今天突然有遇到了这种情况,想想还是在这里记录一下吧. 当时爬取的时csdn首页博客,如下图 看 ...

  5. MarkDown使用教程(In Atom)

    程序猿都爱写博客,在写博客的过程中,大量运用的就是MarkDown语法了.MarkDown不只是用来写博客,日常生活中的感悟.工作中的心得体会.项目任务安排等等大篇幅的文章都可以用MarkDown来迅 ...

  6. tp3.2 php sdk上传七牛云

    //获取上传token Vendor('sdk.autoload'); $accessKey='********'; $secretKey='*******'; $auth=new \Qiniu\Au ...

  7. npm pm2

    安装 npm install -g pm2 用法 $ npm install pm2 -g # 命令行安装 pm2 $ pm2 start app.js -i 4 # 后台运行pm2,启动4个app. ...

  8. egit版本对应关系。

    egit版本对应关系. http://wiki.eclipse.org/EGit/FAQ#What_versions_of_Eclipse_does_EGit_target.3F

  9. RPC协议实践入门

    RPC 是什么 RPC(Remote Procedure Call) 是一个计算机通信协议.该协议允许运行与一台计算机的程序调用另一个地址空间的程序,是一个通过发送请求-接受回应进行信息交互的系统. ...

  10. Difference between skbuff frags and frag_list

    skb_shinfo(head)->frag_list skb_shinfo(head)->frags[]能区分开来吗???结论就是: frags[] are for scatter-ga ...