1、活动节点描述及计算公式

通过分析项目过程中哪个活动序列进度安排的总时差最少来预测项目工期的网络分析。

产生目的:为了解决,在庞大而复杂的项目中,如何合理而有效地组织人力、物力和财力,使之在有限资源下以最短的时间和最低的成本费用下完成整个项目。
关键路径是相对的,也可以是变化的。

关键路径可以有多条,关键路径上的活动时差为0。

活动节点图如下:

ES:最早开始时间(Earliest Start),是指某项活动能够开始的最早时间,只决定于项目计划,只要计划的条件满足了就可以开始的时间。

EF:最早结束时间(Earliest Finish),是指某项活动能够完成的最早时间。其中EF = ES+DU, DU为活动持续时间,顺推法先知道开始时间。

LF:最迟结束时间(Latest Finish),是指为了使项目在要求完工时间内完成,某项活动必须完成的最迟时间。往往决定于相关方(客户或管理层)的限制。

LS:最迟开始时间(Latest Start),是指为了使项目在要求完工时间内完成,某项活动必须开始的最迟时间。其中LS = LF -DU,DU为持续时间,逆推法先知道结束时间。

顺推法:

1、任一活动的最早开始时间,等于所有前置活动的最早结束时间的最大者;

2、任一活动的最早结束时间,等于该活动的最早开始时间 + 该活动工期 ;

3、 没有前置活动的,ES等于项目的开始时间。

EF = ES + DU

逆推法:

从网络图右侧开始,为每项活动制定最迟开始和最迟 结束时间,进行到网络图开始(最左边)。

1、任一活动的最迟结束时间,等于所有后续活动的最迟开始时间的最小者;

2、任一活动的最迟开始时间,等于该活动的最迟结束时间 - 该活动工期 ;

3、 没有后续活动的,LF等于项目的结束时间或者规定的时间。

LS = LF - DU

总浮动时间:

TF = LF – EF 或者 LS- ES ,活动在TF之间推迟不影响总工期(注意如果超 出该TF,则关键路径将发生变化),TF为0的路径为CP(关键路径)自由时差FF = 紧后ES - EF,活动在FF内推迟不影响紧后活动。

4. 活动从第0天开始还是从第1天开始

采用顺推法和逆推法进行进度网络路径计算时,需要关注活动是从第0天开始还是从第1天开始,不同的假设计算的结果是不一样的。首先需要明确以下几个概念。

  • 活动的持续时间DU是指活动的工作时间段,例如一个活动持续时间是24小时,是指3个工作日(每天8小时)。

  • 活动的开始时间是指活动开工日的上班开始时间;活动结束是指开工日的下班时间。也就是说假设一个活动的持续时间是2天,是指从第1天上班时间,到第2天下班时间的所有工作时间段。

所谓活动从第0天还是第1天开始,意思是说要不要把活动开始的那一天计算在工作时间段内。因为现实中第0天是不存在的,所以活动开始的那一天就不需要计算在内;而活动从第1天开始,由于第1天是存在的,就需要计算在工作时间段内。这两种情况导致当前活动的EF或者LS,紧后活动的ES和LF在计算时要考虑是否减去或加上这1天的问题。

无论是从第0天开始,还是第1天开始,都不会影响关键路径的和浮动时间的计算方法,但是考试中如果弄错了则会影响计算结果,考试中为了简化计算通常采用第0天开始,现实中为了与实际相符合通常采用第1天开始。下面就这两种方式举例说明。

            

图6-25

第一种情况:活动从第0天开始。如图6-25

计算公式如下:

(1) 对于当前活动:

  • 顺推时 EF  = ES + DU

  • 逆推时 LS=  LF – DU

 

(2)对于紧后活动:

 

  • 顺推时ESi= EFi-1,

  • 逆推时LFi-1 = LS  (例如逆推时活动C相当于活动D的紧后活动)

其中自左向右,“i”代表当前活动,则“i-1”代表“i”的紧前活动。

例如:对于活动A、B的最早时间:

  • EFA= ESA+DU = 0+5 = 5,

  • ESB = EFA= 5;

对于活动D和C的最晚时间:

  • LSD= LFD – DU = 30 -15 =15,

  • LFC = LSD= 15;

第二种情况:活动从第1天开始。如图6-26

图6-26

 

对于当前活动

 

  • 顺推时 EF  = (ES + DU)-1 

  • 逆推时 LS =(LF – DU)+1

 

对于紧后活动

 

  • 顺推时ESi= EFi-1 +1

  • 逆推时LFi-1 = LS -1

其中自左向右,“i”代表当前活动,则“i-1”代表“i”的紧前活动。例如:

对于活动A、B的最早时间:

  • EFA= ESA+DU-1 = 1+5-1 = 5,

  • ESB = EFA+1= 5+1 = 6;

对于活动D和C的最晚时间:

  • LSD= LFD – DU+1 = 30 -15 +1 =16,

  • LFC =LSD -1 = 15;

@提示:从上两种计算方法来看,活动从第0天开始显然对人工计算来说更加直观简便,这种方法的缺点是与日历日期的对应关系是不一致的。活动从第1天开始计算的结果与日历日期是一致的,但是计算过程是不直观的。好在考试中一般不会涉及具体的日历日期,所以推荐使用活动从第0天开始的计算方法。

二:

关键路径法(Critical Path Method, CPM)的更多相关文章

  1. c/c++求解图的关键路径 critical path

    c/c++求解图的关键路径 critical path 上图表示一个工程,工程以V1为起始子工程,V9为终止子工程. 由图可以看出,要开工V5工程,必须在完成工程V2和V3后才可以. 完成V2需要a1 ...

  2. 算法学习记录-图——应用之关键路径(Critical Path)

    之前我们介绍过,在一个工程中我们关心两个问题: (1)工程是否顺利进行 (2)整个工程最短时间. 之前我们优先关心的是顶点(AOV),同样我们也可以优先关心边(同理有AOE).(Activity On ...

  3. PMP用语集

    AC actual cost 实际成本 ACWP actual cost of work performed 已完工作实际成本 BAC budget at completion 完工预算 BCWP b ...

  4. [lua]再版jobSchedule与脚本描述范型

    首先贴上代码 -- CPM:关键路径法(Critical Path Method) jobSchedule = { todos = { -- todo list ... ["finale&q ...

  5. [lua]协同式多任务,统筹运用

    -- CPM:关键路径法(Critical Path Method) jobBase = { schedule = function ( self, job, task, ... ) --由具体job ...

  6. PMBOK及PMP考试精要

    PROJECT MANAGEMENT KNOWLEDGE AREAS项目管理知识体系 2 PROJECT LIFE CYCLE / PROJECT MANAGEMENT PROCESS GROUPS项 ...

  7. 《算法》第四章部分程序 part 17

    ▶ 书中第四章部分程序,包括在加上自己补充的代码,无环图最短 / 最长路径通用程序,关键路径方法(critical path method)解决任务调度问题 ● 无环图最短 / 最长路径通用程序 pa ...

  8. Method and apparatus for speculative execution of uncontended lock instructions

    A method and apparatus for executing lock instructions speculatively in an out-of-order processor ar ...

  9. RandomAccessFile vs FileChannel.open(path);

    What kind of FileChannel object does the FileChannel.open(path) method return? Is it still random ac ...

随机推荐

  1. HDU 3371 Connect the Cities(并查集+Kruskal)

    题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=3371 思路: 这道题很明显是一道最小生成树的题目,有点意思的是,它事先已经让几个点联通了.正是因为它先 ...

  2. Kubernetes WebSSH终端窗口自适应Resize

    追求完美不服输的我,一直在与各种问题斗争的路上痛并快乐着 上一篇文章Django实现WebSSH操作Kubernetes Pod最后留了个问题没有解决,那就是terminal内容窗口的大小没有办法调整 ...

  3. chrome devtools tip(1)--调试伪类

    开发中我们经常遇到,添加些focus,hover事件,样式,但当我们去打开 chrome devtools,浮动上去的时候,然后准备去改变样式的时候,结果由于光标移动了,样式不见了,非常不方便调试,其 ...

  4. 前端jsp联系项目相关经验

    ——引语 总算是有时间将我这几个月总结下了  前面都是总结的比较凌乱.希望这次好好组织语言 接触到前端js时还是比较陌生的了,因为之前一直用的zk来进行开发的,不过稍稍提下总能记起一些来,对比以前用的 ...

  5. 前后端hosts配置访问问题解决思路

    问题背景:前后端分离情况下后端开发测试需要配置hosts,有此问题的人员有RD,QA,PM,User 测试环境由于用户使用这种配置导致无法使用线上系统发起单据影响用户使用,同时让用户误以为系统出问题而 ...

  6. marquee滚动标签

    marquee语法    <marquee></marquee> 实例一<marquee>Hello, World</marquee> marquee常 ...

  7. Android自定义控件:自适应大小的文本控件

    需求 自适应大小的文本: 效果图: 项目开发中,开发人员根据UI人员提供的一套尺寸,布局了一些带文本的页面, 往往会少考虑一些数据极限的问题,造成机型屏幕适配问题. 例如: 文本(或数值)长度可变,如 ...

  8. 使用Selenium爬取淘宝商品

    import pymongo from selenium import webdriver from selenium.common.exceptions import TimeoutExceptio ...

  9. 洛谷P5522 【[yLOI2019] 棠梨煎雪】

    区间操作考虑用线段树维护. 建\(n*2\)棵线段树,前\(n\)棵线段树维护每个串的第i位是否是0. 后\(n\)棵线段树维护每个串的第i位是否是1. 如果是问号的话,直接跳过就好(通过1和0能看出 ...

  10. 学习笔记59_python字符串处理

    python中,字符串可以使用 '或"括起来 1. 要想写成  "hellow "aaaa"  ",在python中,可以"hellow ' ...