6.4.5_关键路径

AOE网:

用E=Edge表示活动,AOV网是用Vertex顶点表示活动

仅有一个入度=0的顶点叫开始顶点(源点),出度=0的顶点叫结束顶点(汇点)

各条边表示活动,边上的权值表示完成该活动的开销,各顶点表示事件,事件是就发生在某个时刻,活动是持续一段时间的

1.只有事件发生后才可进行活动,如下只有开始事件发生后才可打鸡蛋或者洗番茄

2.只有指向该顶点事件的各边所代表的活动都完成了指向的事件才可发生,如打鸡蛋和切番茄活动都完成后才可发生可以炒了事件

3.从一个顶点往外指出多条边,意味着这些边上的活动可以并行进行,比如开始事件发生后,打鸡蛋和切番茄可以并行执行

关键路径:

从源点到汇点有多条路径,路径长度(经过的边上的权值之和)最大的一条叫关键路径,关键路径上的活动称为关键活动,关键路径意味着要完成某个事儿至少需要关键路径长度时间,关键活动意思是要完成某个事儿这些活动都不能少

如下图有:开始->可以切了->可以炒了->结束、开始->打鸡蛋->可以炒了->结束两条路径,前一条路径长度:1+3+2=6,后一条路径长度:2+2=4,即前一条为关键路径

活动余量=最迟开始时间-最早开始时间,活动余量=0的活动表示是关键活动,即不能拖延的活动

汇点的最迟发生时间=汇点的最早发生时间

求关键路径步骤:

各个事件发生的最早开始时间=对应各个活动的最早开始时间,从开始顶点推算出各顶点最早开始时间,通过结束顶点逆推出各个顶点的允许的最迟发生时间,进而得出各个活动的最迟发生时间

求所有事件的最早发生时间:

还得求拓扑序列,再按照拓扑序列去求各个顶点的最早发生时间

求所有事件的最迟发生时间(取最小的):

还得求逆拓扑序列,再按照逆拓扑序列去求各个顶点的最迟发生时间

 

求所有活动的最早发生时间:

活动发生的最早时间=活动的弧尾连接的顶点的最早发生时间,如下图中的a4活动最早时间为弧尾连接的V2的最早发生时间

 

求所有活动的最迟发生时间:

 活动发生的最迟时间=活动指向顶点的最晚发生时间-活动所在边的权值

求所有活动的时间余量:

 活动的时间余量=活动的最晚发生时间-活动的最早发生时间

找到时间余量=0的活动,这些活动所在的边连接起来的路径就是关键路径

关键活动、 关键路径的特性:

当关键活动的时间被缩短到一定时间时可能会变成非关键活动,此时关键路径也会发生变化,如下切番茄由关键活动压缩时间到0.5,此时洗番茄+打鸡蛋+炒菜=1+0.5+2=3.5<打鸡蛋+炒菜=2+2=4,此时关键路径已经发生改变,因为切番茄已经不是关键活动,所以继续缩短切番茄的时间也不会影响最后的结束时间了 

在一个aoe网中可能有多条关键路径:

多条关键路径下,只缩短一条关键路径上的关键活动的时间并不能缩短整个工期,只有把所有关键路径上的某些或全部关键活动时间都缩短或者把把某个在所有关键路径上的关键活动的时间缩短才能缩短整个工期

知识回顾:

 

水一篇文字。。。。。。。。。。。

 

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

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

相关文章

Oracle 的 TX、TM、UL 锁对比

Oracle 的 TX、TM、UL 锁对比 Oracle 数据库中的这三种锁机制在并发控制中扮演着不同角色&#xff0c;以下是它们的对比分析&#xff1a; 一、基本特性对比 特性TX (事务锁)TM (DML锁)UL (用户锁)锁类型行级锁表级锁应用级自定义锁作用范围保护数据行变更保护表结构不被修改…

Kruskal-Wallis检验 vs. 多次Wilcoxon检验:多重比较-spss

在补充图6中&#xff0c;对喉镜形态分类、病理类型和病程使用 Wilcoxon秩和检验&#xff08;Mann-Whitney U检验&#xff09; 结合 Bonferroni校正&#xff0c;而非 Kruskal-Wallis检验加Dunn’s检验&#xff0c;原因如下&#xff1a; 1. 方法选择的依据 (1) 变量类型与比较组…

vue3+element-plus el-date-picker日期、年份筛选设置本周、本月、近3年等快捷筛选

一、页面代码&#xff1a; <template> <!-- 日期范围筛选框 --> <el-date-picker v-model"dateRange" value-format"YYYY-MM-DD" type"daterange" range-separator"至" start-placeholder"开始日期" end-…

MySQL 关于用户的权限信息查看

1: 先连接mysql : [rootxx ~]# mysql -u admin -p -h 8.8.8.8 -P 3306 Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 38 Server version: 8.0.41 Source distribution Copyright (c) 2000, 2025, Oracle and/or …

C++ STL stack容器使用详解

一、stack容器概述 stack容器适配器是C标准模板库(STL)中实现后进先出(LIFO)数据结构的重要组件&#xff0c;它通过封装底层容器&#xff08;如deque/vector/list&#xff09;提供栈操作接口。 二、stack核心操作详解 1. 容器构造方式 // 默认使用deque存储元素 stack<i…

科技趋势分析系统 BBC (Big Bang of Computing)

科技趋势分析系统 BBC (Big Bang of Computing) 技术文档 1. 项目概述 BBC (Big Bang of Computing) 是一个基于 arXiv 论文数据的科技趋势分析系统&#xff0c;旨在通过分析海量的学术文献&#xff0c;结合大语言模型&#xff08;LLM&#xff09;进行增强分析&#xff0c;提…

尚硅谷redis7 55-57 redis主从复制之理论简介

55 redis主从复制之理论简介 定义 Redis 主从复制&#xff08;Master-Slave Replication&#xff09;是 Redis 提供的一种数据冗余和高可用机制&#xff0c;可以让一个 Redis 主节点的数据复制到一个或多个从节点&#xff0c;实现读写分离、容灾备份等功能。 主节点&#xff…

CarPropertyService 介绍

目录 1. CarPropertyService 基本介绍 1.1 CarPropertyService 结构图 1.2 CarPropertyService 的定义与实现 1.3 CarPropertyManager 与 CarPropertyService 2. PropertyHalService 与 CarPropertyService 3. CarPropertyService 的重要接口介绍 3.1 CarPropertyServi…

JavaScript 性能优化按层次逐步分析

JavaScript 性能优化实战 &#x1f4a1; 本文数据基于Chrome 136实测验证&#xff0c;涵盖12项核心优化指标&#xff0c;通过20代码案例演示性能提升300%的实战技巧。 一、代码层深度优化 1. 高效数据操作&#xff08;百万级数据处理&#xff09; // 不良实践&#xff1a;频繁…

【东枫科技】基于Docker,Nodejs,GitSite构建一个KB站点

Docker 安装桌面版本&#xff0c;安装Node镜像 运行node镜像 需求 和外部的某个文件夹地址可以绑定端口可以绑定&#xff0c;方便server的访问 docker run -itd --name node-test -v C:/Users/fs/Documents/GitHub:/home/node -p 3000:3000 node进入终端 docker exec -it …

【小白AI教程】大模型知识扫盲通识

目录 一、究竟什么是大模型 二、大模型的两大分支 2.1 在线大模型 2.2 开源大模型 2.3 大模型的应用 利用行业知识重新训练AI大模型 利用行业知识对AI大模型进行微调 利用行业知识建立知识库 三、Reasoning 大模型 3.1 基本概述 3.2 核心概念 3.3 技术实现 3.4 应…

测试 Gemini Pro 2.5

好的&#xff0c;我已经明白了您的需求。您希望&#xff1a; 增大概览消息&#xff08;Toast&#xff09;的尺寸&#xff1a;使其更加醒目。消息持久性&#xff1a;当在用户中心内部切换不同标签页&#xff08;例如从“个人信息”切换到“安全设置”&#xff09;时&#xff0c…

大模型——MCP 深度解析

MCP 深度解析 套用一句关于幺半群的名言:"MCP 是一种开放协议,用于标准化应用程序向 LLM 提供上下文的方式,问题何在?"但即使花数小时阅读 MCP 的定义并实操示例,仍难以清晰把握其具体运作流程:LLM 负责什么?MCP 服务器做什么?MCP 客户端的角色是什么?数据…

使用 scikit-learn 库对乌克兰冲突事件数据集进行多维度分类分析

使用scikit-learn库对乌克兰冲突事件数据集进行多维度分类分析 背景 在现代冲突研究中&#xff0c;对冲突事件进行多维度分析和可视化可以帮助我们更好地理解冲突的模式、趋势和影响因素。本次作业将使用开源冲突数据&#xff0c;构建一个完整的机器学习分类流程&#xff0c;…

工作流 x 深度学习:揭秘蓝耘元生代如何用 ComfyUI 玩转 AI 开发

目录 一、从 “代码噩梦” 到 “积木游戏”&#xff1a;我与工作流的初次碰撞 二、深度学习&#xff1a;复杂而迷人的 “数字迷宫” &#xff08;一&#xff09;深度学习的神秘面纱 &#xff08;二&#xff09;深度学习的发展历程 &#xff08;三&#xff09;深度学习面临…

《软件工程》第 14 章 - 持续集成

在软件工程的开发流程中&#xff0c;持续集成是保障代码质量与开发效率的关键环节。本章将围绕持续集成的各个方面展开详细讲解&#xff0c;结合 Java 代码示例与可视化图表&#xff0c;帮助读者深入理解并实践相关知识。 14.1 持续集成概述 14.1.1 持续集成的相关概念 持续集…

1992-2021年各省工业增加值数据(无缺失)

1992-2021年各省工业增加值数据&#xff08;无缺失&#xff09; 1、时间&#xff1a;1992-2021年 2、来源&#xff1a;国家统计局、统计年鉴 3、指标&#xff1a;工业增加值 4、范围&#xff1a;31省 5、缺失情况&#xff1a;无缺失 6、指标说明&#xff1a;工业增加值是…

Android15 Camera Hal设置logLevel控制日志输出

这里说明三个内容 Camera Hal Demo默认使用的也是Android原生日志接口&#xff08;例如&#xff1a;ALOGD, ALOGV&#xff09;&#xff0c;为什么logLevel设置为V级别&#xff0c;但是通过ALOGV打印的日志不输出&#xff0c;不生效Camera Hal Demo在不修改ALOGX接口使用的情况…

C++:设计模式--工厂模式

更多内容&#xff1a;XiaoJ的知识星球 目录 1.简单工厂模式1.1 简单工厂1.2 实现步骤1.3 实现代码1.4 优缺点 2.工厂模式2.1 工厂模式2.2 实现步骤2.3 实现代码2.4 优缺点 3.抽象工厂模式3.1 抽象工厂模式3.2 实现步骤3.3 实现代码3.4 优缺点 1.简单工厂模式 . 1.1 简单工厂 …

【DSP笔记】掌握数字世界的律动:时域离散信号与系统基础

掌握数字世界的律动&#xff1a;时域离散信号与系统基础 想象一下&#xff0c;你用手机拍了一张照片&#xff0c;或者听了一首MP3歌曲。这些图片和声音&#xff0c;原本都是连续变化的模拟信号&#xff0c;但为什么它们能被你的手机存储和处理呢&#xff1f;秘密就在于“数字化…