AOE网及其求解关键路径
全称
Activity on Edge Network 边活动网
特点
仅存在 有向无环图
作用
用于记录完成整个工程至少花费的时间 ==> 哪条路径最耗时?也就是“ 关键路径 ”
AOE网元素介绍



关键活动
关键路径上的活动称为关键活动 , 关键活动是不允许拖延的(普通活动可以拖延,拖延时间=最晚开始时间-最早开始时间),因为已经是耗时最长的一条路径,再拖延就耽误了工期。也就是说,关键活动的最早开始时间=最晚开始时间

如何求得关键路径
先计算事件的最早开始时间
起点的最早开始时间=最晚开始时间=0
从前往后看,该事件的最早开始时间ve=max{原本的最早开始时间,前驱事件的ve+活动耗费的时间}
先初始化所有点的最早开始时间为0;
选取入度为0的点V1,V2的最早开始时间=max{0,0+2}=2,V3的最早开始时间=max{0,0+5}=5。删除V1及其出度边;
选取入度为0的点V2,V4的最早开始时间=max{0,2+3}=5,V3的最早开始时间=max{5,2+1}=5。删除V2及其出度边;
选取入度为0的点V3,V4的最早开始时间=max{5,5+3}=8,V6的最早开始时间=max{0,5+1}=6,V5的最早开始时间=max{0,5+4}=9。删除V3及其出度边;
选取入度为0的点V4,V5的最早开始时间=max{9,8+1}=9,V6的最早开始时间=max{6,8+4}=12。删除V4及其出度边;
选取入度为0的点V5,V6的最早开始时间=max{12,9+1}=12。删除V5及其出度边;
最后只剩V6。

接着计算事件的最晚开始时间
终点的最早开始时间=最晚开始时间=12
从后往前看,该事件的最晚开始时间vl=min{原本的最晚开始时间,后驱事件的vl-活动耗费的时间}
先初始化所有点的最晚开始时间为12;
选取出度为0的点V6,V4的最晚开始时间=min{12,12-4}=8,V3的最晚开始时间=min{12,12-1}=11,V5的最晚开始时间=min{12,12-1}=11。删除V6及其入度边;
选取出度为0的点V5,V4的最晚开始时间=min{8,11-1}=8,V3的最晚开始时间=min{11,11-4}=7。删除V5及其入度边;
选取出度为0的点V4,V2的最晚开始时间=min{12,8-3}=5,V3的最晚开始时间=min{7,8-3}=5。删除V4及其入度边;
选取出度为0的点V3,V2的最晚开始时间=min{5,5-1}=4,V1的最晚开始时间=min{12,5-5}=0。删除V3及其入度边;
选取出度为0的点V2,V1的最晚开始时间=min{0,4-2}=0。删除V2及其入度边;
只剩下V1。

最终结果为:
把每个事件的最早开始时间ve和最晚开始时间vl汇总成表格:
继续计算活动的最早开始时间
活动的最早开始时间=该活动前驱事件的最早开始时间
活动a、b的最早开始时间就是事件V1的最早开始时间0
活动c、d的最早开始时间就是事件V2的最早开始时间2
活动e、g、f的最早开始时间就是事件V3的最早开始时间5
活动h、i的最早开始时间就是事件V4的最早开始时间8
活动j的最早开始时间就是事件V5的最早开始时间9
再计算活动的最晚开始时间
活动的最晚开始时间=该活动后驱事件的最晚开始时间-该活动耗时
活动a的最晚开始时间=事件V2的最晚开始时间-2=4-2=2
活动b的最晚开始时间=事件V3的最晚开始时间-5=5-5=0
活动c的最晚开始时间=事件V3的最晚开始时间-1=5-1=4
活动d的最晚开始时间=事件V4的最晚开始时间-3=8-3=5
活动e的最晚开始时间=事件V4的最晚开始时间-3=8-3=5
活动f的最晚开始时间=事件V5的最晚开始时间-4=11-4=7
活动g的最晚开始时间=事件V6的最晚开始时间-1=12-1=11
活动h的最晚开始时间=事件V5的最晚开始时间-1=11-1=10
活动i的最晚开始时间=事件V6的最晚开始时间-4=12-4=8
活动j的最晚开始时间=事件V6的最晚开始时间-1=12-1=11
找到关键活动
根据刚刚所求结果得出活动b、e、i是关键活动,其最早开始时间=最晚开始时间。

连接关键活动
所以关键路径就是由关键活动所连起来的这条路径。
注意:关键路径可能有多条!!!
相关文章:
AOE网及其求解关键路径
全称 Activity on Edge Network 边活动网 特点 仅存在 有向无环图 作用 用于记录完成整个工程至少花费的时间 > 哪条路径最耗时?也就是“ 关键路径 ” AOE网元素介绍 关键活动 关键路径上的活动称为关键活动 , 关键活动是不允许拖延的&#x…...
【FPGA】modelsim编译verilog代码产生错误集合
错误1: LHS in procedural continuous assignment may not be a net 可能是一些变量不能放在一些begin和end中,改下assign的位置 新手求助 LHS in procedural continuous assignment may not be a net - 数字IC设计讨论(IC前端|FPGA|ASIC) - EETOP 创…...
Rabbitmq的持久化机制
我们通过手动应答处理了在消费者出故障消息丢失的情况,但是如何保障当 RabbitMQ 服务停掉以后消息生产者发送过来的消息不丢失。默认情况下 RabbitMQ 退出或由于某种原因崩溃时,它会清空队列和消息,除非告知它不要这样做。确保消息不会丢失可…...
Unity UnityWebRequest封装类
简化api调用流程,非常奈斯。 RestWebClient.cs using System; using System.Collections; using UnityEngine; using UnityEngine.Networking;namespace MYTOOL.RestClient {/// <summary>/// UnityWebRequest封装类/// </summary>public class RestW…...
JVM内存划分
Java虚拟机(JVM)的内存划分是指JVM在运行时所使用的内存区域的组织和管理方式。JVM内存主要分为以下几个区域: 堆区(Heap): 用途:用于存储所有对象实例和数组,是JVM中最大的一块内存…...
c++ 全排列
在C中,全排列(permutation)可以使用递归算法或标准库函数来实现。以下是使用递归和STL库std::next_permutation来生成一个集合的全排列的两种方法。 方法一:递归算法 递归方法通过交换元素来生成所有可能的排列组合。 #include…...
未授权访问漏洞系列详解⑤!
Kubernetes Api Server未授权访问漏洞 Kubernetes 的服务在正常启动后会开启两个端口:Localhost Port(默认8080)Secure Port(默认6443)。这两个端口都是提供 Api Server 服务的,一个可以直接通过Web 访问,另一个可以通过 kubectl 客户端进行调用。如果运…...
【CONDA】库冲突解决办法
如今,使用PYTHON作为开发语言时,或多或少都会使用到conda。安装Annaconda时一般都会选择在启动终端时进入conda的base环境。该操作,实际上是在~/.bashrc中添加如下脚本: # >>> conda initialize >>> # !! Cont…...
【网络世界】数据链路层
目录 🌈前言🌈 📁 初识数据链路层 📂 概念 📂 协议格式 📁 MAC地址 📂 概念 📂 与IP地址的区别 📁 MTU 📂 对IP协议的影响 📂 对UDP协议的影响…...
AllReduce通信库;Reduce+LayerNorm+Broadcast 算子;LayerNorm(层归一化)和Broadcast(广播)操作;
目录 AllReduce通信库 一、定义与作用 二、常见AllReduce通信库 三、AllReduce通信算法 四、总结 Reduce+LayerNorm+Broadcast 算子 1. Reduce 算子 2. LayerNorm 算子 3. Broadcast 算子 组合作用 LayerNorm(层归一化)和Broadcast(广播)操作 提出的创新方案解析 优点与潜在…...
2024.8.5 作业
使用有名管道实现,一个进程用于给另一个进程发消息,另一个进程收到消息后,展示到终端上,并且将消息保存到文件上一份 代码: /*******************************************/ 文件名:create.c /********…...
MySQL数据库——数据库的基本操作
目录 三、数据库的基本操作 1.数据库中库的操作 ①创建数据库 ②字符集和校验规则 ③操纵数据库 ④备份与恢复 2.数据库中表的操作 ①创建表 ②查看表 1> 查看表位于的数据库 2>查看所有表 3>查看表中的数据 4>查看创建表的时候的详细信息 ③修改表 …...
SQL数据库语句练习
1、mysql常用的数据类型是_整数(int)__、_小数(decimal)__、_字符串(varchar)__、_日期时间(datetime)___。 2、mysql的约束有__主键(primary key)_、_非空&…...
【Python】常用的pdf提取库介绍对比
提取PDF内容的Python库有多种选择,每个库都有其独特的优缺点。以下是一些常用的库以及它们的优缺点和示例代码: pdfplumberPyMuPDF (fitz)PyPDF2PDFMinerCamelot 1. pdfplumber 优点: 易于使用,提供简单直观的API。能提取文本…...
sbatch提交并行作业 运行python程序 指定输入参数从1到100
#!/bin/bash #SBATCH --job-namemy_python_job #SBATCH --outputmy_python_job_%j.out #SBATCH --errormy_python_job_%j.err #SBATCH --ntasks100# 载入所需模块 # module load python/3.8.5# 执行Python脚本并传递任务ID作为参数 for i in {1..100}; dosrun python my_script…...
OD C卷 - 中庸行者
中庸行者 (200) 给一个m*n的整数矩阵作为地图,矩阵数值为地形的高度,选择图中任意一点作为起点,向左右上下四个方向移动: 只能上坡、下坡,不能走相同高度的点;不允许连续上坡 或者连…...
最新CSS3横向菜单的实现
横向菜单 原始代码: <nav class"list1"><ul><li><a href"#">Shirts</a></li><li><a href"#">Pants</a></li><li><a href"#">Dresses</a>…...
(2024,LlamaGen,Llama,自回归下一token预测,模型扩展)自回归模型优于扩散:Llama 用于可扩展图像生成
Autoregressive Model Beats Diffusion: Llama for Scalable Image Generation 目录 0. 摘要 1. 引言 2. 自回归模型在图像生成中的应用 2.1 概述 2.2 图像 tokenizer 2.3 自回归模型生成图像 2.4 规模扩展 2.5 服务 3. 实验 5. 结论 0. 摘要 我们介绍 LlamaGen&…...
重新安装操作系统的软件都有哪些?
重新安装操作系统关键步骤 重新安装操作系统通常涉及到几个关键步骤:创建可启动媒体、备份现有数据、安装操作系统、以及系统初始化和配置。以下是一些常用工具和软件,它们可以帮助你完成这些步骤: 创建可启动媒体 Rufus:用于W…...
深圳水务展|2025深圳国际水务科技博览会
2025深圳国际水务科技博览会 展会主题: 新质生产力赋能水务产业高质量发展 展会时间:2025年7月24-26日 展会地点:深圳会展中心(福田) 主办单位: 广东省水利学会 深圳市水务学会 协办单位: 中国水利…...
DDS信号发生器设计避坑指南:基于FPGA的AD9767驱动常见问题与优化技巧
FPGA驱动AD9767实战避坑手册:从时序优化到DDS精度提升的进阶技巧 当你在深夜调试FPGA与AD9767的接口时,示波器上那些不规则的毛刺和频率偏差是否曾让你抓狂?作为一款经典的高速14位DAC芯片,AD9767在信号发生、通信系统等领域应用广…...
Lychee-rerank-mm在音乐推荐中的创新应用
Lychee-rerank-mm在音乐推荐中的创新应用 1. 引言 你有没有遇到过这样的情况:在音乐平台上听到一首很喜欢的歌,想找类似的音乐,但系统推荐的歌曲却总是差强人意?要么封面风格完全不搭,要么歌词主题南辕北辙ÿ…...
intv_ai_mk11开源模型教程:7B Llama架构对话机器人在GPU云上的安全沙箱实践
intv_ai_mk11开源模型教程:7B Llama架构对话机器人在GPU云上的安全沙箱实践 1. 什么是intv_ai_mk11对话机器人 intv_ai_mk11是一个基于7B参数Llama架构的AI对话助手,专门设计运行在GPU云服务器环境中。这个模型经过优化,能够在保持较高响应…...
PyTorch 2.8镜像实际效果:torch.compile+FlashAttention-2双优化下的吞吐量提升对比
PyTorch 2.8镜像实际效果:torch.compileFlashAttention-2双优化下的吞吐量提升对比 1. 镜像环境与技术亮点 PyTorch 2.8深度学习镜像为开发者提供了一个开箱即用的高性能计算环境。基于RTX 4090D 24GB显卡和CUDA 12.4的深度优化组合,这个镜像特别适合需…...
MiniCPM-V-2_6 Ubuntu 20.04一键部署教程:从安装到运行
MiniCPM-V-2_6 Ubuntu 20.04一键部署教程:从安装到运行 想试试那个能看懂图片还能跟你聊天的多模态大模型MiniCPM-V-2_6吗?很多朋友在第一步——部署上就被卡住了,不是环境依赖搞不定,就是权限问题报错,折腾半天模型还…...
Gemma-3-270m多场景落地:政务热线知识库问答、医疗术语解释系统
Gemma-3-270m多场景落地:政务热线知识库问答、医疗术语解释系统 1. 快速上手:部署你的第一个Gemma-3-270m服务 想要快速体验Gemma-3-270m的强大能力?通过Ollama部署只需几个简单步骤。 1.1 环境准备与模型选择 首先确保你已经安装了Ollam…...
手把手教你学<基于 Linux 的 NPU 协处理器固件开发>专栏第1章 入门:
1.2 典型 AI 芯片架构:主核 Linux + NPU 协处理器 在上一节我们明确了NPU是依附于Linux主核的专用AI协处理器,属于主从配合的工作模式,这一节我们就深入拆解端侧AI芯片最主流的“Linux主核+NPU协处理器”异构架构。结合大家日常接触的代码仓库管理、编译脚本执行、固件烧录…...
避坑指南:微信小程序递归组件的3个常见错误(以tree组件为例)
微信小程序递归组件开发避坑指南:以Tree组件为例 递归组件是前端开发中处理嵌套数据结构的利器,但在微信小程序中实现时,不少开发者容易陷入一些典型陷阱。我曾在一个电商后台管理系统项目中,因为递归组件的状态更新问题导致整个商…...
深入解析Android系统分区:从启动到恢复的完整指南
1. Android系统分区基础认知 当你第一次拆解Android系统时,可能会被各种分区名称搞得晕头转向。其实这些分区就像我们电脑里的C盘、D盘一样,各自承担着不同的职责。我刚开始接触时也犯过糊涂,直到有次刷机把boot分区刷坏,手机直接…...
Phi-3-mini-4k-instruct-gguf实操手册:中文短文本生成场景下的温度调优策略
Phi-3-mini-4k-instruct-gguf实操手册:中文短文本生成场景下的温度调优策略 1. 模型概述与使用场景 Phi-3-mini-4k-instruct-gguf 是微软推出的轻量级文本生成模型,特别适合处理中文短文本任务。这个经过优化的GGUF版本模型,在问答、文本改…...
