总时差与自由时差

news2024/12/24 2:29:13

定义

总时差(总浮动时间)(TF,Total Free Time,不耽误项目总进度)=LS(Latest Start)-ES(Earliest Start)=LF(Latest Finish)-EF(Earliest Finish)。

自由时差(FF,Float Free Time,不耽误紧后工作的进度)=紧后工作ES-本工作的EF。对于无紧后工作的工作,其自由时差=工期-本工作的EF。

Introduction

看到这俩名词一开始会有点蒙,引入它们是为了解决一个什么问题呢?现在假设你是一个项目经理,有个项目涉及了ABCEDFGHI共九个工作模块,各个模块所需要的时间及制约关系在下图也标注了出来:

那么现在问题来了,你觉得这个项目最早完成时间是多少??很显然,蓝色画笔圈出来的也就是最长的那条路径上所有工作模块所需时间的总和就是最早完成时间,对吧?我们把这个时间呢,就称为工期,这条路径也就称之为关键路径

还没完,接下来我要问你关键的问题了。这些模块中哪些模块可以晚点开始而不影响工期?能晚多久?哪些模块可以晚点开始而不影响其紧后结点呢?其实啊,这俩名词就是为了这俩问题而存在的。按照定义,你能不能把这九个工作模块他们的自由时差和总时差都算出来呢?

经过计算,你会发现,关键路径上的工作模块它们的总时差和自由时差均为0。这很好理解,毕竟关键路径上的模块时间推迟直接影响工期,所以它们的总时差是0,并且它们的推迟直接导致后面的模块推迟,所以自由时差也为0。

ADG这三个模块的总时差均为12,AD自由时差均为0,G的自由时差为12。

CFI这三个模块的总时差均为15,CF的自由时差均为0,I的自由时差等于15。

Context

其实,无非就是一个有向无环图嘛。

我们做图的时候,是把圆圈结点当作一个活动的结束或是另一个活动的开始,连接线表示活动,箭头表示活动的制约关系。

求一个活动的总浮动时间,就是粗暴的把从开始结点到结束结点,所有经过这条线的链路找出来,取那个最长的链路时间T,然后用工期减去T。

求一个活动的自由时差,如下图所示。你需要把从开始结点并经过活动1的的最长链路找到,记它的时间是T1吧;把从开始结点并经过活动2的的最长链路找到,记时间T2;记时间T3;,,,求这些时间的最大值我记为TMax=max{T1,T2,T3}。

那么活动1的自由时差就等于TMax-T1;同理活动2,3,etc。

可以看出,如果本活动指向的结点并没有其它活动指向它的话,它的自由时差一定为0,因为就你自己个儿嘛,父母响应计划生育你能说啥。所以说自由它是一个相对的概念,没得其它活动在,或是你没得其它活动优秀,你就获得不了自由。

有的小伙伴可能要问了?自由时差的定义不是和紧后工作有关系吗?事实上,它们确实是 没有关系。你想啊,紧后工作的最早开始时间,可不就是之前所有链路的最长链路的时间嘛。

这也就意味着,。结点后面有一个活动或是多个活动,或是没有活动,都不对自由时差产生影响。特殊情况下,当结点为终结点时,此活动的自由时差的定义和总时差的定义是一样的。

就写到这里了,如果你愿意,可以用下面的练习题来加深理解:

Exercise

如下图,你能求出活动D的总时差与自由时差吗?

答案:D的总时差=2,自由时差=1.如下图,总时差是蓝色-红色;自由时差是两个绿色之差。

Summary

总时差和自由时差都是表示自由度的概念。

总时差是指不影响工期的前提下,本工作(也许是一个工作序列)可以利用的机动时间。;

自由时差是指在不影响其紧后工作最早开始时间的前提下,本工作可以利用的机动时间。

总时差总是大于等于自由时差的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/390446.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringCloud:Nacos配置管理

目录 一、统一配置管理 1、打开nacos控制台,点击配置管理,添加配置 2、编写配置 3、完成示例 ​二、服务配置拉取 1、引入Nacos配置管理客户端依赖 2、在resource目录添加一个bootstrap.yml文件,这个文件是引导文件,优先级高…

English Learning - L2 第 3 次小组纠音 [ʌ] [ɒ] [ʊ] [ɪ] [ə] [e] 2023.3.4 周六

English Learning - L2 第 3 次小组纠音 [ʌ] [ɒ] [ʊ] [ɪ] [ə] [e] 2023.3.4 周六共性问题小元音 [ʌ]小元音 [ɒ]小元音 [ʊ]小元音 [ɪ]小元音 [ə]小元音 [e]我的发音问题纠音过程共性问题 小元音 [ʌ] 口型容易偏大 解决办法:因为嘴角没有放松&#xff0c…

基于java的俱乐部会员管理系统

技术:Java、JSP等摘要:随着科学技术的飞速发展,科学技术在人们日常生活中的应用日益广泛,也给各行业带来发展的机遇,促使各个行业给人们提供更加优质的服务,有效提升各行业的管理水平。俱乐部通过使用一定的…

程序员画流程图的工具Draw.io

Draw.io 是一个很好用的免费流程图绘制工具,制图结果本质上是xml文件,web版和桌面版可以支持导出图像(png或者svg矢量图都可以)。你可以利用它绘制一系列的图表、图示或图形,包括流程图、UML类图、组织结构图、泳道图、E-R 图、文…

人脸网格/人脸3D重建 face_mesh(毕业设计+代码)

概述 Face Mesh是一个解决方案,可在移动设备上实时估计468个3D面部地标。它利用机器学习(ML)推断3D面部表面,只需要单个摄像头输入,无需专用深度传感器。利用轻量级模型架构以及整个管道中的GPU加速,该解决…

Python QT5设计UI界面教程

简介:PyQT5开发常用知识,零基础上手,需配合我之前写的博文,配置好QT设计工具和ui文件转py文件的工具。博文为:使用Python PyQt5实现一个简单的图像识别软件;页面效果如下: 1.设计菜单栏 Contai…

[数据结构与算法(严蔚敏 C语言第二版)]第1章 绪论(学习复习笔记)

1.1 数据结构的研究内容 计算机解决问题的步骤 从具体问题抽象出数学模型设计一个解此数学模型的算法编写程序,进行测试、调试,直到解决问题 计算机解决问题的过程中寻求数学模型的实质是 分析问题,从中提取操作的对象,并找出这些…

【iOS】Blocks

BlockBlocks概要什么是Blocks?Block语法Block类型变量截获自动变量值__block说明符Blocks的实现Block的实质Blocks概要 什么是Blocks? Blocks可简单概括为: 带有自动变量(局部变量)的匿名函数 在使用Blocks时&#x…

socket 编程实战(编写服务器程序 )

IP 地址格式转换函数 对于人来说,我们更容易阅读的是点分十进制的 IP 地址,譬如192.168. 1.110 、192.168.1.50,这其实是一种字符串的形式,但是计算机所需要理解的是二进制形式的 IP 地址,所以我们就需要在点分十进制…

代码随想录第三章读书笔记——数组

一.二分查找前提:数组为有序数组,数组中无重复元素,因为一旦有重复元素,使用二分查找法返回的元素下标可能不是唯一的,这些都是使用二分法的前提条件,当题目描述满足如上条件的时候,可要想一想是…

FPGA的GigE Vision IP相机图像采集方案设计,转换为千兆UDP,支持10G MAC

1 概述 GigE Vision是一个比较复杂的协议,要在FPGA中完全实现具有较大的难度。如果FPGA作为接收端希望实现GigE Vision相机的配置和图像采集功能,则只需要实现其中小部分功能即可。本文对原有GigE Vision协议的结构进行了裁剪,仅保留设备搜索…

Maven基本使用以及IDEA中配置使用的详细介绍

文章目录MavenMaven基本介绍Maven基本使用IDEA配置MavenIDEA配置MavenMaven坐标详解IDEA创建Maven项目IDEA导入Maven项目Maven依赖管理Maven Maven基本介绍 Apache Maven 是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来…

GAMES101学习笔记——光栅化

一:什么是光栅化(Rasterization) 把空间里的物体画在屏幕上。 屏幕由一个个阵列排布的像素点组成,屏幕大小指宽度方向由width个像素点,高度方向由height个像素点。 像素点索引范围:(0&#xf…

【Java开发】JUC进阶 03:读写锁、阻塞队列、同步队列

1 读写锁(ReadWriteLock)📌 要点实现类:ReentrantReadWirteLock通过读写锁实现更细粒度的控制,当然通过Synchronized和Lock锁也能达到目的,不过他们会在写入和读取操作都给加锁,影响性能&#x…

黑马程序员SSM框架教程之学习笔记1

P44-SpringMVC入门案例 1.在pom.xml中导入坐标springMVC与servlet 2.创建一个SpringMVC控制器类 3.创建springMVC配置文件springMvcCponfig 4.定义一个servlet容器启动配置类,在里面加载spring的配置 5.在pom.xml文件中配置tomcat插件 运行结果显示 P45-springMVC入…

2023-03-05:ffmpeg推送本地视频至lal流媒体服务器(以RTMP为例),请用go语言编写。

2023-03-05:ffmpeg推送本地视频至lal流媒体服务器(以RTMP为例),请用go语言编写。 答案2023-03-05: 使用 github.com/moonfdd/ffmpeg-go 库。 先启动lal流媒体服务器软件,然后再执行命令: go…

linux通过nginx映射指定目录文件给外部访问

修改配置文件 #user www-data; #将user www-data;注掉改为root user root; worker_processes auto; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf;events {worker_connections 768;# multi_accept on; }http {### Basic Settings##sendfile on;tcp_nopush …

【C语言学习笔记】:三子棋具体步骤和代码

一、问题描述 用c语言实现三子棋。 二、基本流程 在写三子棋的代码之前,我们来看看实现这个游戏的逻辑: 1.菜单界面选择开始或者退出游戏。2.创建棋盘并初始化。3.打印棋盘。4.玩家落子(玩家输入行列坐标的方式来落子),x’表示玩家落子。5…

既然有MySQL了,为什么还要有Redis?

目录专栏导读一、同样是缓存,用map不行吗?二、Redis为什么是单线程的?三、Redis真的是单线程的吗?四、Redis优缺点1、优点2、缺点五、Redis常见业务场景六、Redis常见数据类型1、String2、List3、Hash4、Set5、Zset6、BitMap7、Bi…

ESP32学习笔记01-环境搭建

本文参考博客https://blog.csdn.net/weixin_43599390/article/details/123944479 1.下载离线版本的 ESP IDF esp idf 下载地址 2.安装 esp idf 2.1应用修复,后,再下一步 2.2 2.3 2.4 2.5