项目活动图 – 举例说明

项目活动图 – 举例说明关键路径:从开始到结束的所有路径中,时间最长的一条为关键路径。(特点:在关键路径上,所有任务的松弛时间都为0);松弛时间:第一种方法:最晚开始时间-最早开始时间;第二种方法:关键路径的总时间-包含该任务的任务路径花的时间;(前提条件:必须不影响该任务以后的任务路径)举例:关键路径:A-B-D-G-I-K-L=22由前向后推可得出…

大家好,又见面了,我是你们的朋友全栈君。

关键路径:

从开始到结束的所有路径中,时间最长的一条为关键路径。(特点:在关键路径上,所有任务的松弛时间都为0);

松弛时间:

第一种方法:最晚开始时间 – 最早开始时间;

第二种方法:关键路径的总时间 – 包含该任务的任务路径花的时间;(前提条件:必须不影响该任务以后的任务路径)

举例:

项目活动图 - 举例说明

关键路径:
A – B – D – G – I – K – L = 22

由前向后推可得出最早时间:

注意:需要按最大值(max)计算;

需要注意的里程碑:F、I

到达F的路径有:ABCEF = 11 和 ABF = 8;只有EF和BF同时完成,才算到达里程碑F。如果按照ABF(8)计算,此时EF还未完成,即未到达里程碑F。所以需要按照最大值计算,即:F的最早时间 = 11。

到达I的路径有:ABCEFI = 15 、ABFI = 12 和 ABDGI = 15;只有FI和GI同时完成,才算到达里程碑I。同理要按照最大值计算,即:I的最早时间 = 15。

项目里程碑 最早开始时间
A 0
B 2
C 5
D 7
E 7
F 11
G 9
H 11
I 15
J 18
K 19
L 22

由后向前推可得出最晚时间:

注意:需要按照最小值(min)计算;

需要注意的里程碑:I、E、B

L的完成时间是22,可推算出J的最晚开始时间为21(此时 I 的最晚开始时间为18);K的最晚开始时间为19(此时 I 的最晚开始时间为15);

如果 I 的最晚开始时间取最大值18,那么加上 IK 的时间后,到达里程碑 K 的时间就为21,比 K 的最晚开始时间晚,是错误的!

所以 I 的最晚开始时间要取最小值15进行计算。

同理计算出 E 的最晚开始时间为7;B的最晚开始时间为2。

项目里程碑 最晚开始时间
A 0
B 2
C 5
D 7
E 7
F 11
G 9
H 16
I 15
J 21
K 19
L 22

将最早开始时间和最晚开始时间合并:

项目里程碑 最早开始时间 最晚开始时间
A 0 0
B 2 2
C 5 5
D 7 7
E 7 7
F 11 11
G 9 9
H 11 16
I 15 15
J 18 21
K 19 19
L 22 22

此时,我们的结论也验证了:关键路径上的所有任务的松弛时间都为0。

问题练习:

1、完成该项目的最少时间是:

22天。即关键路径所消耗的时间。

2、活动 EH 和 IJ 的松弛时间分别是:

第一种方法:

EH 的松弛时间:H 的最晚开始时间 – H 的最早开始时间 = 16 – 11 = 5 天;

IJ 的松弛时间:J 的最晚开始时间 – J 的最早开始时间 = 21 – 18 = 3 天;

第二种方法:

EH 的松弛时间(A – H 的路径只有一条,所以不会影响H – L 的路径 ):关键路径的总时间 – HL 路径的时间 – AE 路径的时间 – EH 路径时间 = 22 – 6 – 7 – 4 = 5;

IJ 的松弛时间(A – J 的路径有三条,所以会影响 J – L 的路径,此时应取 AI 路径的最大值):关键路径的总时间 – JL 路径的时间 – max(AI 路径时间) – IJ 路径时间 = 22 – 1 – 15 – 3 = 3;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145929.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 函数指针与block[通俗易懂]

    该文章同时发布在我的简书上author:OC中block的身影到处瞥见但不知道你是否和我一样开始动手时,发现摸不到它的脾气脑袋一空,眼睛圆溜的45°逆转构她的形,会她的意依旧不见其身想到大学…书上白净的指针一节或许怕被难住,竟连老师也放了你鸽子还好有我触摸你皮肤也变得干涸风也一直狠劲的吞并打圈的眼眶我保证,定不负年华不负你.拿起C语言书,认真查看了一…

    2022年4月13日
    33
  • 金三银四,教你编写一份脱颖而出的简历,从而 offer 手到擒来,要参加校招的同学要提前准备了「建议收藏」

    金三银四,教你编写一份脱颖而出的简历,从而 offer 手到擒来,要参加校招的同学要提前准备了「建议收藏」最近一段时间不是金三银四嘛,有不少同学通过CSDN私信的方式把简历发给我,要我给出一些建议。看多了以后,我发现,有些同学根本不知道怎么写简历,格式乱七八糟,填写的个人经历就像是记流水账一样,完全勾不起我的任何兴趣。那,招聘方应该比我更苛刻,所以这样的简历投递出去,石沉大海的几率很大啊。2014年,我从苏州回到了洛阳,那是我最后一次投简历,现在还在招聘网站上挂着——公开的。嗯,在这么多年的时间里,并没有招聘方和猎头通过这份挂出去的简历给我打电话,虽然我的联系方式一直没变。那只能说明一点,我当时写的简历

    2022年5月2日
    33
  • poj 1142_poj是什么意思

    poj 1142_poj是什么意思http://poj.org/problem?id=1142题意:找一个比n大的数字,这个数字要可以分解(这点很重要)成,分解的因子和,和这个数字的各位数字和,相等的话,输出这个数字思路:因为这个数字要可以分解,所以首先判断这个数是否是质数,这个很重要,因为质数不符合题意。然后对这个数字进行分解。递归分解。递归的时候也注意,有可能某个因子是质数,如果这个因子是质数,比如11,也要…

    2022年10月1日
    0
  • python的赋值功能很强大_基础解系怎么赋值

    python的赋值功能很强大_基础解系怎么赋值前言增强型赋值语句是经常被使用到的,因为从各种学习渠道中,我们能够得知i+=1的效率往往要比i=i+1更高一些(这里以+=为例,实际上增强型赋值语句不仅限于此)。所以我们会乐此不

    2022年7月31日
    7
  • jdbc fetchsize_jdbc和odbc的关系

    jdbc fetchsize_jdbc和odbc的关系DBUtilscommons-dbutils是Apache组织提供的一个开源JDBC工具类库,封装了针对于数据库的增删改查操作APIQueryRunnerResulSetHandlerDbutils插入举例Connection conn = null; try { QueryRunner runner = new QueryRunner(); conn = JBBCUtils.getConnections3();

    2022年8月8日
    3
  • 操作系统进程调度实验报告心得_进程的管理和控制实验报告

    操作系统进程调度实验报告心得_进程的管理和控制实验报告题目要求一、 实验目的多道程序设计中,经常是若干个进程同时处于就绪状态,必须依照某种策略来决定那个进程优先占有处理机。因而引起进程调度。本实验模拟在单处理机情况下的处理机调度问题,加深对进程调度的理解。二、 实验内容1. 优先权法、轮转法简化假设1) 进程为计算型的(无I/O)2) 进程状态:ready、running、finish3) 进程需要的CPU时间以时间片为单位确定2. 算法描述1) 优先权法——动态优先权当前运行进程用完时间片后,其优先权减去一个常数。2) 轮转法三、

    2022年9月28日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号