【管理运筹学】第 9 章 | 网络计划(2,时间参数的计算 —— 工作时间的确定与事项的时间参数)
文章目录
- 引言
- 一、工作时间的确定
- 二、事项的时间参数
- 2.1 事项的最早开始时间
- 2.2 事项的最迟结束时间
- 2.3 事项的时差
- 2.4 利用事项的时间参数来确定关键线路
引言
计算网络图中有关的时间参数,主要目的是找到关键线路,为网络计划的优化、调增和执行提供明确的时间概念。
网络图的时间参数,包括工作所需时间、事项最早、最迟时间、工作的最早、最迟时间及时差等等。进行时间参数的计算不仅可以得到关键线路,确定和控制整个任务在正常进度下的最早完工期,而且在掌握非关键工作基础上可进行人、财、物等资源的合理安排,进行网络计划的优化。
一、工作时间的确定
工作 ( i , j ) (i,j) (i,j) 的所需工时可记为 t ( i , j ) t(i,j) t(i,j) ,有以下两种确定办法。
(1)确定型网络。在具备工时定额和劳动定额的任务中,工作的工时 t ( i , j ) t(i,j) t(i,j) 可以用这些定额资料确定。有些工作虽然无定额可查,但也可以通过分析有关工作的统计资料来确定。
(2)概率型网络。对于开发性、试制性的任务,往往不具备(1)中的资料,可以采用三点时间估计法来确定工作的工时。这种方法需要先作出下面三种情况的时间估计:
a a a —— 最快可能完成时间(最乐观时间); m m m 最可能完成时间; b b b 最慢可能完成时间(最悲观时间)。
利用 3 个时间 a , b , m a,b,m a,b,m 每项工作的期望工时可估计为 t ( i , j ) = a + 4 m + b 6 . t(i,j)=\frac{a+4m+b}{6}. t(i,j)=6a+4m+b. 方差估计为 σ 2 = ( b − a 6 ) 2 . \sigma_2=\big(\frac{b-a}{6}\big)^2. σ2=(6b−a)2. 华罗庚教授对上述两个式子的由来有以下说明:由实际工作情况表明,工作进行时出现最顺利和最不顺利的情况都比较少,更多的是在最可能完成的时间内完成,工时的分布近似服从正态分布。假定 m m m 的可能性两倍于 a a a 或 b b b 的可能性,应用加权平均法。
在 ( a , m ) (a,m) (a,m) 之间的可能性均值为 ( a + 2 m ) / 3 (a+2m)/3 (a+2m)/3 ,在 ( m , b ) (m,b) (m,b) 之间的可能性均值为 ( 2 m + b ) / 3 (2m+b)/3 (2m+b)/3 ,则工时可以用上述两种情况各 0.5 的概率分布来描述,计算其期望和方差即可到上述两式。
关于工作的其他时间参数计算原则和上述类似。
二、事项的时间参数
事项本身并不占用时间,它只表示某项工作应在某一时刻开始或结束。对箭尾事项来说,它表示以此事项为起始的各项工作的开始,因而存在最早可能开始的时间;对箭头事项来说,它表示以此事项为完结的各项工作的结束,因而存在最迟必须结束的时间。可见,事项的时间参数有事项的最早开始时间、最迟结束时间以及二者的差值 —— 事项的时差。
2.1 事项的最早开始时间
事项的最早开始时间,是指的从该事项开始的各项工作的最早开工时间。事项 i i i 的最早开始时间用 t E ( i ) t_E(i) tE(i) 表示, E E E 表示 early 吧。
事项的最早开始时间是从网络图的起始事项算起,按照事项的编号顺序,从小到大,逐个计算,直到终止事项为止。一般地,指定网络起始事项的最早开始时间为 0 ,即 t E ( 1 ) = 0 t_E(1)=0 tE(1)=0 。
其他事项的最早开始时间都是相对于起始事项在零时刻开始的时间,计算公式为 t E ( j ) = max { t E ( i ) + t ( i , j ) ∣ i 为射入 j 事项的箭线的箭尾事项的编号 } ( j = 2 , 3 , ⋯ , n ) t_E(j)=\max\{t_E(i)+t(i,j) \big| i 为射入j事项的箭线的箭尾事项的编号\}(j=2,3,\cdots,n) tE(j)=max{tE(i)+t(i,j) i为射入j事项的箭线的箭尾事项的编号}(j=2,3,⋯,n) 事项的最早开始时间算出后,写在网络图上该事项的上方或下方,用方框 [ ] [] [] 框起来表示,里面写上最早开始时间。
假设网络计划图如下图所示(图片来源:知乎-运筹说)。

则各事项的最早开始时间为: t E ( 1 ) = 0 , t E ( 2 ) = t E ( 1 ) + t ( 1 , 2 ) = 0 + 4 = 4 , t E ( 3 ) = t E ( 2 ) + t ( 2 , 3 ) = 4 + 6 = 10 , t E ( 4 ) = max { t E ( 2 ) + t ( 2 , 4 ) , t E ( 3 ) + t ( 3 , 4 ) } = max { 4 + 3 , 10 + 8 } = 18 , ⋯ , t E ( 10 ) = 32 t_E(1)=0,t_E(2)=t_E(1)+t(1,2)=0+4=4,t_E(3)=t_E(2)+t(2,3)=4+6=10,t_E(4)=\max\{t_E(2)+t(2,4),t_E(3)+t(3,4)\}=\max\{4+3,10+8\}=18,\cdots, t_E(10)=32 tE(1)=0,tE(2)=tE(1)+t(1,2)=0+4=4,tE(3)=tE(2)+t(2,3)=4+6=10,tE(4)=max{tE(2)+t(2,4),tE(3)+t(3,4)}=max{4+3,10+8}=18,⋯,tE(10)=32 。
2.2 事项的最迟结束时间
事项的最迟结束时间是指,在不拖延总工期的前提下,以该事项为结束的各项工作最迟必须完成的时间。用 t L ( i ) t_L(i) tL(i) 表示事项 i i i 的最迟结束时间。
事项的最迟结束时间是从网络图的终止事项算起,按照事项编号的逆序,由大到小,逐个计算,知道起始事项为止。因为网络图的终止事项无后续工作,而且事项本身又不占时间,所以网络图的终止事项的最迟结束时间与它的最早开始时间应该相等,即 t E ( n ) = t L ( n ) t_E(n)=t_L(n) tE(n)=tL(n) 。
如果对某项工程或任务有规定的完成时间要求,终止事项的最迟结束时间应取这个时间值 —— 规定的目标工期。
各事项最迟结束时间计算方法为: t L ( i ) = min { t L ( j ) − t ( i , j ) ∣ j 为从 i 事项射出的箭线的箭头事项编号 } ( i = n − 1 , n − 2 , ⋯ , 1 ) t_L(i)=\min\{t_L(j)-t(i,j)\big|j为从i事项射出的箭线的箭头事项编号\}(i=n-1,n-2,\cdots,1) tL(i)=min{tL(j)−t(i,j) j为从i事项射出的箭线的箭头事项编号}(i=n−1,n−2,⋯,1) 事项的最迟结束时间算出后,写在网络图中该事项最早开始时间右侧的近旁,用 △ \triangle △ 框起来。
上面的例子中,各事项的最迟结束时间为: t L ( 10 ) = 32 , t L ( 9 ) = 31 , t L ( 8 ) = 26 , t L ( 7 ) = min { t L ( 9 ) − t ( 7 , 9 ) , t L ( 8 ) − t ( 7 , 8 ) } = min { 31 − 8 , 26 − 2 } = 23 , ⋯ , t L ( 1 ) = 0 t_L(10)=32,t_L(9)=31,t_L(8)=26,t_L(7)=\min\{t_L(9)-t(7,9),t_L(8)-t(7,8)\}=\min\{31-8,26-2\}=23,\cdots,t_L(1)=0 tL(10)=32,tL(9)=31,tL(8)=26,tL(7)=min{tL(9)−t(7,9),tL(8)−t(7,8)}=min{31−8,26−2}=23,⋯,tL(1)=0 。
2.3 事项的时差
事项的时差又称事项的机动时间、事项的宽裕时间,是指在不影响总工期按时完成时,该事项可以推迟的最大机动时间。计算方法为 Δ t ( i ) = t L ( i ) − t E ( i ) \Delta t(i)=t_L(i)-t_E(i) Δt(i)=tL(i)−tE(i) 。特别地,时差为 0 的事项称为关键事项。时差一般不标在网络图上,很轻易就能计算出来。
2.4 利用事项的时间参数来确定关键线路
把网络图中所有线路的路长都计算出来,找到最大的那一条即为关键线路,这种方法称为穷举法。
还有一种利用事项的时间参数来寻找关键线路的方法:连接关键事项的工作若满足: t E ( j ) − t E ( i ) = t L ( j ) − t L ( i ) = t ( i , j ) t_E(j)-t_E(i)=t_L(j)-t_L(i)=t(i,j) tE(j)−tE(i)=tL(j)−tL(i)=t(i,j) 则由此形成的线路即为关键线路。
相关文章:
【管理运筹学】第 9 章 | 网络计划(2,时间参数的计算 —— 工作时间的确定与事项的时间参数)
文章目录 引言一、工作时间的确定二、事项的时间参数2.1 事项的最早开始时间2.2 事项的最迟结束时间2.3 事项的时差2.4 利用事项的时间参数来确定关键线路 引言 计算网络图中有关的时间参数,主要目的是找到关键线路,为网络计划的优化、调增和执行提供明…...
英语——方法篇——单词——羊肉串记忆法——单词密码
在记忆英语单词的时候,我们习惯于一个字母一个字母地记忆,很少会以词或字母组合为单位来记忆。在这里我们要打开视野,学习以词或字母组合为单位,一组一组地记忆英语单词。英语单词数目庞大,但是构成单词的字母只有26个…...
【m98】视频帧的 jitterbuffer 1:
VCMJitterBuffer D:\XTRANS\m98_rtc\rtc-webrtc\src\modules\video_coding\jitter_buffer.h使用2个map和一个list管理VCMFrameBuffer 指针对象:UnorderedFrameList free_frames_ RTC_GUARDED_BY(mutex_);FrameList decodable_frames_ RTC_GUARDED_BY(mutex_);FrameList incomp…...
javascript中map和filter的区别与联系
javascript中map和filter的区别与联系如何获取对象数组中某个值 javascript中map和filter的区别与联系 在 JavaScript 中,map 和 filter 是两个常用的数组方法,用于对数组进行转换和过滤操作。它们的区别和联系如下: 功能不同: m…...
【RabbitMQ 实战】10 消息持久化和存储原理
一、持久化 1.1 持久化对象 rabbitmq的持久化分为三个部分: 交换器的持久化。队列的持久化。消息的持久化。 1.1.1 交换器持久化 交换器的持久化是通过在声明交换器时, 指定Durability参数为durable实现的。若交换器不设置持久化,在rabb…...
vscode 连接ubuntu git下载缓慢
在ubuntu20.04下载: git clone https://github.com/introlab/rtabmap.git src/rtabmap 挂掉情况 export https_proxyhttp://10.10.10.176:7890export http_proxyhttp://10.10.10.176:7890 其中 10.10.10.176是我本机的ip地址,7890是我的代理后几位 如…...
2731. 移动机器人
2731. 移动机器人有一些机器人分布在一条无限长的数轴上,他们初始坐标用一个下标从 0 开始的整数数组 nums 表示。当你给机器人下达命令时,它们以每秒钟一单位的速度开始移动。 给你一个字符串 s ,每个字符按顺序分别表示每个机器人移动的方…...
小程序实现人脸识别功能
调用api wx.startFacialRecognitionVerify 第一步: // 修改方法expertUpdate() {wx.startFacialRecognitionVerify({name: _this.registerForm.realName, //身份证名称idCardNumber: _this.registerForm.idCard, //身份证号码checkAliveType: 1, //屏幕闪烁(人脸核验的交互…...
【】javax.crypto.IllegalBlockSizeException: Input length not multiple of 8 bytes
问题描述 jdk版本:8 用DES进行加解密,其中转换模式为“DES/CBC/NoPadding”,要加密的明文为 “密码学浅析”,执行加密操作,报如下错误 Exception in thread "main" javax.crypto.IllegalBlockSizeExcepti…...
312.戳气球
将戳气球转换到添加气球,记忆搜索slove(i,j):在开区间(i,j)全部填满气球得到的最多硬币数,两端val[i]、val[j] class Solution { public:vector<vector<int>> ans;vector<int> val;int slove(int left,int right){if(left&…...
get_trade_detail_data函数使用
查阅股票持仓情况 positions get_trade_detail_data(‘8000000213’, ‘stock’, ‘position’) for dt in positions: print(f’股票代码: {dt.m_strInstrumentID}, 市场类型: {dt.m_strExchangeID}, 证券名称: {dt.m_strInstrumentName}, 持仓量: {dt.m_nVolume}, 可用数量:…...
【融合ChatGPT等AI模型】Python-GEE遥感云大数据分析、管理与可视化及多领域案例实践应用
目录 第一章 理论基础 第二章 开发环境搭建 第三章 遥感大数据处理基础与ChatGPT等AI模型交互 第四章 典型案例操作实践 第五章 输入输出及数据资产高效管理 第六章 云端数据论文出版级可视化 更多应用 随着航空、航天、近地空间等多个遥感平台的不断发展,近…...
LeetCode862 和至少为k的最短子数组
题目: 解析: 1、先构造前缀和数组 2、单调队列存放滑动窗口,目的求Sj-Si >k的情况下,窗口最小。 代码: class Solution {public int shortestSubarray(int[] nums, int k) {int n nums.length;long[] sums new …...
网卡bonding模式 - bond模式配置介绍
网卡bonding简介 网卡绑定就是把多张物理网卡通过软件虚拟成一个虚拟的网卡,配置完毕后,所有的物理网卡的ip和mac将会变成相同的。多网卡同时工作可以提高网络速度,还可以实现网卡的负载均衡、冗余。 bonding模式 1 round-robin(mode0) 轮转…...
做了个 chrome 插件实现 B 站视频截图功能,直接从当前视频帧无损复制
起因是看 B 站视频想截个图很麻烦,右下角暂停按钮无法去除,于是写了一行代码把暂停按钮隐藏。 后经提醒,发现可以通过 canvas 获取视频帧来截取图片,于是写了如下代码完美获取视频帧。 var v document.querySelector(".bpx…...
Docker linux 安装
sudo yum update sudo yum clean all sudo yum makecache#安装依赖 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 #添加官方存储库 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo#安装-跳过一些异常依赖…...
windows部署django服务器
windows部署django服务器 1、安装IIS1.1 控制面板-----程序----程序和功能----启用或关闭windows功能1.2安装IIS服务器,完成后,重新进入,把CGI安装进系统 2、安装python与虚拟环境2.1 安装python2.2 安装virtualenv虚拟环境2.3 创建一个虚拟环…...
ChatGPT prompt汇总-个人使用-持续更新....
用途 学术写作更新记录 学术写作 中译英(GPT-4) I am a researcher studying deep learning and now trying to revise my manuscript which will be submitted to the Journal of Nature . I want you to act as a scientific English-Chinese translator, I will provide yo…...
Vue实现简单的接口封装
1. 在src中创建一个api文件夹 2. 按功能、模块等新建对应的js文件 3. 在内部写对应的封装接口,并导出 import axios from "axios";/*** 接口名称:* 接收参数:* 返回参数:* */export const miens ()>{return new P…...
软件测试工具有什么作用?有哪些好用的测试工具推荐?
软件测试工具是现代软件测试中不可或缺的重要组成部分,指的是一系列在软件开发过程中使用的工具,用于帮助测试人员进行测试活动,提高测试效率,减少测试成本。选择并使用合适的软件测试工具,可提高软件质量和效率。 一…...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
