关键路径的计算

从源点到汇点路径长度最长的路径为该工程的关键路径,即关键路径可以保证所有路径的活动都能够完成。

ok,再次进入我们的作业题:

如下图所示的AOE网(弧上权值代表活动的持续天数)

1)完成此工程最少所需要多少天?

2)哪些是关键活动,在图中表示出关键路径

我们先计算最早发生时间ve和最迟发生时间vl:

  1 2 3 4 5 6 7 8 9 10
Ve 0 5 6 12 15 16 16 19 21 23
Vl 0 9 6 12 15 21 16 19 21 23

首先呢,编号1和编号10分别为该工程的源点和汇点,我们规定最早发生时间ve(源点)=0,最迟发生时间vl(汇点)=ve(汇点)。那么这两个量该如何计算呢,看图:

对于事件i来说,ve(i) = Max{ve(m) + dut(<m, i>)},vl(i) = Min{vl(j) – dut(<i, j>)};其中ve(m)代表i前一个事件的最早发生时间,dut(<m, i>)表示从m到i的持续时间,大家可以把它看成一个递归算法,一直调用ve(),直到ve(源点)为止,然后取其最大值,因为它要保证所有路径上的活动都能完成;而最迟发生时间和前者一样,一直递归调用vl(),直到vl(汇点)为止,然后取其最小值即可。

回到原题中对照例图可以很快地得到表格所示内容。

我们再来看两个概念:e(i)和l(i),前者为活动ai 的最早可能开始时间,后者为活动ai的最迟允许开始时间。区别于前边的ve和vl,e和l为标识的是某活动的时间,而前者是某事件的时间。

假如从事件m到事件i的活动为af,则有e(f)=ve(m), l(f)=vl(i)–dut(<m,i>) ,即活动af的最早可能开始时间为其弧尾事件最早可能发生时间;最迟允许开始时间为其弧尾事件最迟发生时间与两个事件的持续时间之差。是不是感觉有点别扭,但只要理解了这几个关键词也就很容易看懂了。于是乎 e(k) = l(k)的活动就是关键活动 ,请看图表:

  a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13
5 6 3 6 3 3 4 1 4 5 2 4 2
e 0 0 5 6 6 12 12 15 15 16 19 16 21
l 4 0 9 6 12 12 17 15 15 16 19 21 21

由图和前边计算的ve和vl可以得到各活动的e和l,如上表所示,则关键活动为a2,a4,a6,a8,a9,a10,a11和a13,所以完成该工程至少需要的天数d=6+6+3+1(4)+5(2)+2=23,该工程的关键路径有两条,即1->3->4->5->7->9->10和1->3->4->5->8->9->10。

关键路径的计算,布布扣,bubuko.com

时间: 2024-10-09 20:44:35

关键路径的计算的相关文章

关键路径法

如果你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",加入这个PM.架构师的大家庭 关键路径法(Critical Path Method, CPM)是一种基于数学计算的项目计划管理方法,是网络图计划方法的一种,属于肯定型的网络图.关键路径法将项目分解成为多个独立的活动并确定每个活动的工期,然后用逻辑关系(结束-开始.结束-结束.开始-开始和开始结束)将活动连接,从而能够计算项目的工期.各个活动时间特点(最早最晚时间.时差)等.在关键路径法的活动上加载资源后,还能够对项目的资

我的51CTO,我的信息系统项目管理师,我的在线直播课程,我的爱

----薛大龙,51CTO认证讲师 面授十余年,命题阅卷数年,信息系统项目管理师考试,令很多考生又爱又恨,爱的是证书的含金量,恨的是低的通过率.王国维在<人间词话>说:"古今之成大事业.大学问者,必经过三种之境界."我也认为,若要获得证书,提升技术,成就梦想,这三种境界亦然.  一.昨夜西风凋碧树,独上高楼,望尽天涯路 虽然证书不代表能力,但是证书在一定程度上证明能力! 如果你想获得证书,那么,让我们在51CTO启航,先了解这个证书,确定目标. "昨夜西风凋碧树.

# 学号12 《程序设计与数据结构》第11周学习总结

教材学习内容总结 遍历 深度优先遍历: 深度优先遍历,从初始访问结点出发,我们知道初始访问结点可能有多个邻接结点,深度优先遍历的策略就是首先访问第一个邻接结点,然后再以这个被访问的邻接结点作为初始结点,访问它的第一个邻接结点.总结起来可以这样说:每次都在访问完当前结点后首先访问当前结点的第一个邻接结点. 特点:这样的访问策略是优先往纵向挖掘深入,而不是对一个结点的所有邻接结点进行横向访问. 算法步骤: 1.访问初始结点v,并标记结点v为已访问. 2.查找结点v的第一个邻接结点w. 3.若w存在,

软件项目进度管理(含敏捷项目管理)

PMI 所定义的项目时间管理过程被分为 6 个子过程,分别是定义活动,排列活动顺序,估算活动资源,估算活动持续时间,制定项目进度计划和控制项目进度计划.这 6 个过程在项目过程中并不一定是顺序进行的,而是穿插在项目管理的整个流程中,遵循渐进明细的规律,其中前 5 个子过程时间上属于项目进度的制定,第六个过程属于项目进度的监控. 定义活动 即识别为完成项目可交付成果而采取的具体行动的过程.也就是在确定了项目的基本范围基准的基础上,将 WBS 分解为更为具体的,粒度更小的工作 item 方便落实到确

教你轻松计算AOE网关键路径(转)

原文链接:http://blog.csdn.net/wang379275614/article/details/13990163 本次结合系统分析师-运筹方法-网络规划技术-关键路径章节,对原文链接描述不准确的地方做了修正. 认识AOE网 有向图中,用顶点表示活动,用有向边表示活动之间开始的先后顺序,则称这种有向图为AOV(Activity On Vertex)网络:AOV网络可以反应任务完成的先后顺序(拓扑排序). 在AOV网的边上加上权值表示完成该活动所需的时间,则称这样的AOV网为AOE(

48. 蛤蟆的数据结构笔记之四十八的有向无环图的应用关键路径

48. 蛤蟆的数据结构笔记之四十八的有向无环图的应用关键路径 本篇名言:"富贵不淫贫贱乐 ,男儿到此是豪雄.-- 程颢" 这次来看下有向无环图的另一个应用关键路径. 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/47135061 1.  关键路径 与AOV-网相对应的是AOE-网(Activity On Edge)即边表示活动的网.AOE-网是一个带权的有向无环图,其中,顶点表示事件(Event),弧表示活动,权表

_DataStructure_C_Impl:AOE网的关键路径

//_DataStructure_C_Impl:CriticalPath #include<stdio.h> #include<stdlib.h> #include<string.h> #include"SeqStack.h" //图的邻接表类型定义 typedef char VertexType[4]; typedef int InfoPtr; //定义为整型,为了存放权值 typedef int VRType; #define MaxSize 5

数据结构 图 关键路径

数据结构图之六(关键路径) [1]关键路径 在我的经验意识深处,“关键”二字一般都是指临界点. 凡事万物都遵循一个度的问题,那么存在度就会自然有临界点. 关键路径也正是研究这个临界点的问题. 在学习关键路径前,先了解一个AOV网和AOE网的概念: 用顶点表示活动,用弧表示活动间的优先关系的有向图: 称为顶点表示活动的网(Activity On Vertex Network),简称为AOV网. 与AOV网对应的是AOE(Activity On Edge)网即边表示活动的网. AOE网是一个带权的有

06-5. 关键活动(30) 关键路径 和输出关键路径

06-5. 关键活动(30) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 本实验项目是实验项目6-06的深化.任务调度问题中,如果还给出了完成每个子任务需要的时间,则我们可以算出完成整个工程需要的最短时间.在这些子任务中,有些任务即使推迟几天完成,也不会影响全局的工期:但是有些任务必须准时完成,否则整个项目的工期就要因此延误,这种任务就叫"关键活动". 请编写程序判定一个给定的工程项目的任务调度是否可行:如果该调度方案可行