图:关键路径

news2025/3/11 17:06:56

1. AOE网

与AOV网不同,AOE是用边表示活动的图或者网。

1.AOE网的概念

在带权有向图中,以顶点表示事件,以有向边表示活动,
以边上的权值表示完成该活动的开销(如完成活动所需的时间),
称之为用边表示活动的网络,简称AOE网(Activity On Edge NetWork)。

  • 源点:在AOE网中仅有一个入度为0的顶点,称为开始顶点(源点),它表示整个工程的开始;
  • 汇点:也仅有一个出度为0的顶点,称为结束顶点(汇点),它表示整个工程的结束。

案例1:番茄炒蛋
在这里插入图片描述

2.AOE网的性质

  1. 只有在某顶点所代表的事件发生后,从该顶点出发的各有向边所代表的活动才能开始;
  2. 只有在进入某顶点的各有向边所代表的活动都已结束时,该顶点所代表的事件才能发生。另外,有些活动是可以并行进行的。

2.关键路径

1.关键路径的概念

  • 关键路径:从源点到汇点的有向路径可能有多条,所有路径中,具有最大路径长度的路径称为关键路径。
  • 关键活动:而把关键路径上的活动称为关键活动。
  • 关键路径的长度:完成整个工程的最短时间就是关键路径的长度。
  • 若关键活动不能按时完成,则整个工程的完成时间就会延长。

2.关键活动中的几个重要概念

  1. 事件ve的最早发生时间ve(k):决定了所有从v开始的活动能够开工的最早时间
  2. 活动a的最早开始时间e(i):指该活动弧的起点所表示的事件的最早发生时间
  3. 事件v的最迟发生时间vl(k):它是指在不推迟整个工程完成的前提下,该事件最迟必须发生的时间。
  4. 活动a的最迟开始时间l(i):它是指该活动弧的终点所表示事件的最迟发生时间与该活动所需时间之差。
  5. 活动a的最早开始时间e(i)――指该活动弧的起点所表示的事件的最早发生时间。
  6. 活动a的最迟开始时间l(i)-―它是指该活动弧的终点所表示事件的最迟发生时间与该活动所需时间之差。
  7. 活动a的时间余量d(i)=(i)-e(i),表示在不增加完成整个工程所需总时间的情况下,活动a;可以拖延的时间。
  8. 若一个活动的时间余量为零,则说明该活动必须要如期完成,d(i)=0即l(i)= e(i)的活动a是关键活动由关键活动组成的路径就是关键路径.

3.求关键路径的步骤

  1. 求所有事件的最早发生时间ve()
    按拓扑排序序列,依次求各个顶点的ve(k):ve(源点)=0,
    ve(k) = Max {ve(j)+Weight(vj, vk)},v为v的任意前驱。
  2. 求所有事件的最迟发生时间v()
    按逆拓扑排序序列,依次求各个顶点的vl(k):vl(汇点)=ve(汇点)
    v(k)=Min{vl(j) - Weight(v,v)}, v;为v的任意后继。
  3. 求所有活动的最早发生时间e()
    若边<vk,vj>表示活动ai,则有e(i)= ve(k)
  4. 求所有活动的最迟发生时间()
    d(i)= l(i) -e(i)
  5. 求所有活动的时间余量d()

4.关键活动,关键路径的特性

  • 若关键活动耗时增加,则整个工程的工期将增长
  • 缩短关键活动的时间,可以缩短整个工程的工期
  • 当缩短到一定程度时,关键活动可能会变成非关键活动

值得注意的是:可能有多条关键路径,只提高一条关键路径上的关键活动速度并不能缩短整个工程的工期,只有加快那些包括在所有关键路径上的关键活动才能达到缩短工期的目的。

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

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

相关文章

如何尽快了解企业文化并融入团队

点击下方关注我&#xff0c;然后右上角点击...“设为星标”&#xff0c;就能第一时间收到更新推送啦~~~ 每个公司都有自己独特的企业文化&#xff0c;企业文化分为两个部分&#xff0c;一个部分是对外的企业文化&#xff0c;一个部分是企业内部的文化。对外的是公司的形象&…

并行计算之计算平台体系结构(流水线,异构处理器与异构并行)

并行计算粒度 分布式并行(多主机&#xff0c;多进程) &#xff1a; MPI 共享存储式并行 (多线程) &#xff1a;OpenMP OpenCL OpenACC 指令级并行 CPU流水线 CPU流水线 指将一条指令的执行过程划分为多个阶段&#xff0c;使得在每个时钟周期内能够并行执行多条指令&#…

前端开源代码

vue大屏&#xff1a; PublicbigScreenPage–Vue3tsWindcssEchartThree.js大屏案例 PublicbigScreenPage—基于 Vue3、TypeScript、DataV、ECharts 框架的 " 数据大屏项目 介绍&#xff1a;https://blog.csdn.net/qq_40282732/article/details/105656848 Vue3.2 Echar…

AutoDock Vina 对接计算(大批量)

AutoDock Vina 1.2.0 对接计算&#xff08;大批量&#xff09; AutoDockVina 1.2.0 的示例应用&#xff1a;A) 对接多个配体 (PDB 5x72)&#xff1b;B) 使用 AutoDock4 (PDB 4ykq) 的水合对接方案与水分子对接&#xff1b;C)在锌存在的情况下使用 AutoDock4Zn 力场 (PDB 1s63)&…

ChatGLM2 源码解析:`ChatGLMModel`

# 完整的 GLM 模型&#xff0c;包括嵌入层、编码器、输出层 class ChatGLMModel(ChatGLMPreTrainedModel):def __init__(self, config: ChatGLMConfig, deviceNone, empty_initTrue):super().__init__(config)# 如果设置了empty_init&#xff0c;创建任何 PyTorch 模块时&#…

【软件测试】单元测试、集成测试、系统测试有什么区别?

单元测试、集成测试、系统测试有什么区别 1、粒度不同 集成测试bai粒度居中&#xff0c;单元测试粒度最小&#xff0c;系统du测试粒度最大。 2、测试方式不同 集成测试一般由开发zhi小组采用白盒加黑盒的方式来测试&#xff0c;单元测试一般由开发小组采用白盒方式来测试&a…

第六章:中华民族的抗日战争

1.日本发动灭亡中国的侵略斗争 关键字&#xff1a; 中国抗日战争的起点与全民族抗战阶段 2.中国人民奋起抗击日本侵略者 关键字&#xff1a; 1 国共第二次统一战线初步建立的标志&#xff1a;国民党五届三中全会 2 扭转时局的枢纽&#xff0c;国内和平初步实现&#xff1a;…

3.msfconle

目录 1 进入msfconsole 2 连接postgresql数据库 3 msfconsole基本用法 4 更新msf 5 搜索脚本 search 6 查看脚本信息 info 7 设置参数 8 重新设置参数与取消参数 9 退出当前模块 back 10 查看域名基本信息 dig 11 查看域名的详细信息 whois 1 进入msfco…

k8s部署redis 3主3从

k8s部署redis6节点&#xff0c;组成3主3从集群模式 一般来说&#xff0c;redis部署有三种模式。 单实例模式&#xff0c;一般用于测试环境。 哨兵模式 集群模式后两者用于生产部署 哨兵模式 在redis3.0以前&#xff0c;要实现集群一般是借助哨兵sentinel工具来监控master节点…

BeanUtils.copyProperties:曾经是我的女神,现在是我的毒药。

前言 BeanUtils.copyProperties十有八九是你这些年工作中用的很多的其中一个&#xff0c;不管是Apache的还是Spring的。 网上的解释浩如烟海&#xff0c;我这边用一个超简单的例子直观展示给你看。 以后就记住了&#xff0c;能不用就不用。 正文 1、网上的解释 我收纳了几个网…

HDFS 架构剖析

目录 一、HDFS 架构整体概述 二、HDFS 集群角色介绍 2.1 整体概述 2.2 主角色&#xff1a;namenode 2.3 从角色&#xff1a;datanode 2.4 主角色辅助角色&#xff1a; secondarynamenode 三、HDFS 重要特性 3.1 主从架构 3.2 分块存储机制 3.3 副本机制 3.4 …

基于React实现:弹窗组件与Promise的有机结合

背景 弹窗在现代应用中是最为常见的一种展示信息的形式&#xff0c;二次确认弹窗是其中最为经典的一种。当我们在React&#xff0c;Vue这种数据驱动视图的前端框架中渲染弹窗基本是固定的使用形式。 使用方式&#xff1a;创建新的弹窗组件&#xff0c;在需要弹窗的地方引用并…

百叶帘系统内置于玻璃内,分为手动和电动两种控制方式

百叶帘系统是一种在餐厅包厢隔断墙中常见的控制窗帘或遮光帘的方式。这种系统通常分为手动和电动两种控制方式&#xff0c;具体选择取决于您的需求和预算。 1. 手动控制&#xff1a;手动控制是传统的方式&#xff0c;通过手动操作绳子或杆来打开或关闭百叶帘。这是一种经济实惠…

力扣刷题49 字母 异位词分组

目录 题目描述代码实现基本实现优化代码 基础知识回溯集合 参考 题目描述 给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs [“eat”, “tea”…

19|返璞归真:王维佛系建议,万事不如吃好睡好

好诗相伴&#xff0c;千金不换。你好&#xff0c;我是天博。 今天我们的主题仍然是“见自己”。其实&#xff0c;诗词里并不是只有诗情画意的春花秋月&#xff0c;也充满了实实在在的人间烟火。这些现实的生活对我们平常人来说&#xff0c;往往比春花秋月更有借鉴意义。我们今…

基于Java+SpringBoot+Vue前后端分离在线考试系统设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

蝶形运算法

蝶形运算法是一种基于FFT&#xff08;Fast Fourier Transform&#xff09;算法的计算方法&#xff0c;其基本思想是将长度为N的DFT分解成若干个长度为N/2的DFT计算&#xff0c;并通过不断的合并操作得到最终的结果。该算法也称为“蝴蝶算法”&#xff0c;因为它的计算过程中需要…

未加载Qt6Core.pdb

编译代码发现未加载.pdb。 问题是Qt6的bin目录下也没有.pdb文件啊&#xff1f; 有两种方法&#xff0c;一是把Qt路径放到环境变量下&#xff0c;这样系统就能找到Qt6需要的依赖项。 二是在生成目录下找到编译好的.exe文件&#xff0c;然后调用windeployqt.exe为其生成依赖项&…

通用策略06丨横截面因子在期货中的应用(2)

量化策略开发&#xff0c;高质量社群&#xff0c;交易思路分享等相关内容 大家好&#xff0c;今天为大家带来2023年度通用系列的收官之作——再议横截面因子。 在通用05策略中&#xff0c;我们以一种很简单的框架和复现方式&#xff0c;为大家展示了横截面因子在期货中的运用展…

5. 本地方法接口和本地方法栈

5.1. 什么是本地方法&#xff1f; 简单地讲&#xff0c;一个Native Method是一个Java调用非Java代码的接囗。一个Native Method是这样一个Java方法&#xff1a;该方法的实现由非Java语言实现&#xff0c;比如C。这个特征并非Java所特有&#xff0c;很多其它的编程语言都有这一…