图的关键路径(AOE网络)

news2024/11/16 7:01:20

文章目录

      • AOE网
        • 概念
        • 性质
        • 研究的问题
      • 关键路径
        • 概念
        • 求解的方法
        • 注意事项

AOE网

概念

用顶点表示事件, 边弧表示活动, 边弧上的权值表示活动持续的时间, 这样的带权有向无环图叫AOE网. AOE网常用于估算工程完成时间.

AOE网和AOV网都是有向无环图, 不同之处在于它们的边和顶点所代表的含义不同, AOE网中的边有权值, 而AOV网中的边无权值, 仅代表顶点之间的前后优先关系.

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

性质

  1. 只有在某顶点所代表的事件发生后, 从该顶点出发的各有向边所代表的活动才能开始.
  2. 只有在进入某顶点的各有向边所代表的活动都已结束时, 该顶点所代表的事件才能发生.

研究的问题

  • 完成整个工程至少需要多少时间.
  • 哪些活动是影响工程的关键.

关键路径

概念

从源点到汇点的路径长度最长的路径叫关键路径.

在AOE网中, 有些活动是可以并行进行的. 从源点到汇点的有向路径可能有多条, 并且这些路径长度可能不同. 完成不同路径上的活动所需的时间虽然不同, 但是只有所有路径上的活动都已经完成, 整个工程才能算结束. 因此, 从源点到汇点的所有路径中, 具有最大路径长度的路径称为关键路径, 而把关键路径上的活动称为关键活动.

image-20230118210116337

求解的方法

完成整个工程的最短时间就是关键路径的长度, 即关键路径上各活动花费开销的总和. 这是因为关键活动影响了整个工程的时间, 即若关键活动不能按时完成, 则整个工程的完成时间就会延长. 因此, 只要找到了关键活动, 就找到了关键路径, 也就可以得出最短完成时间.

法一:

关键路径其实就是从源点到汇点最长的路径, 这个关键路径可能不唯一.

如下图, 从源点v1到汇点v9有五条路径, 其中最长的有:

  1. v1 -> v2 -> v5 -> v7 -> v9
  2. v1 -> v2 -> v5 -> v8 -> v9

这两条最长路径即为关键路径.

image-20230118211628631

在关键路径上的活动称为关键活动: a1 a4 a7 a8 a10 a11.

法二:

  • 事件vj开始的最早时间ve(j)

它是指从源点v1到顶点vj的最长路径长度. 事件vj的最早发送时间决定了所有从vj开始的活动能够开工的最早时间.

  • 事件vj开始的最晚时间vl(j)

它是指在不推迟整个工程完成的前提下, 既保证它的后继事件vk在其最迟发送时间vl(k)能够发生时, 该事件最迟必须发生的时间.

  • 活动ai开始的最早时间e(i)

它是指该活动边弧的起点所表示的事件的最早发生时间.

  • 活动ai开始的最晚时间l(i)

它是指该活动边弧的终点所表示的最迟发生时间与该活动所需时间之差.

定义e(i)=l(i)的活动叫关键活动.

image-20230118213942874

求关键路径步骤:

  1. 求ve(i)
  2. 求vl(i)
  3. 求e(i)
  4. 求l(i)
  5. 计算l(i)-e(i)
    在这里插入图片描述

注意事项

  • 只有减少关键活动的时间才可能缩短工期
  • 只有减少所有关键路径上共有的关键活动的时间才可能缩短工期
  • 只有在不改变关键路径的前提下减少关键活动的时间才可能缩短工期

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

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

相关文章

【青训营】Go的高质量编程

Go的高质量编程 本文内容总结自字节跳动青年训练营 第五届 后端组 什么是高质量? 各种边界条件是否完备异常情况能正常处理,稳定性有保障易读易维护 Go语言开发者Dave Cheney指出,编程需要遵循以下原则: 简单性 消除多余的复…

Docker安装和卸载教程

1、安装前先卸载系统上原有的Docker sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine2、安装需要的yum-utils包 需要安装 yum-utils包(该包提供了 yum-c…

研一寒假C++复习笔记--程序的内存模型

目录 1--内存分区模型 2--代码区 3--全局区 4--栈区 5--堆区 6--new操作符 1--内存分区模型 执行C程序时,内存可划分为4个区域,不同区域存放的数据,具有不同的生命周期; ① 代码区:存放函数的二进制代码&#x…

nvcc 编译并行程序时报错gcc: error trying to exec ‘cc1plus‘: execvp: 没有那个文件或目录

一、nvcc 编译程序时报错 gcc: error trying to exec cc1plus: execvp: 没有那个文件或目录 cc1plus 是gcc编译工具链中用到的一个程序 报错非常直白,就是说gcc在执行时找不到这个程序 二、问题解决方法 1.确定是否正确安装gcc、g 如果系统中没有正确安装gcc…

elementUI组件下拉框属性的一些配合使用

文章目录1、单选带搜索功能(自定义搜索)2、下拉多选远程搜索3、下拉多选有默认选项4、下拉多选默认禁用只提供大致思路,大量玩法等你开发【doge】 1、单选带搜索功能(自定义搜索) 例如,我需要实现一个功能…

关于学习的一些建议

本文的主要讲的内容如图👇 文末附有整个Java的学习路线、能力提升和学习建议的思维导图。 快过新年了!在过去的一年里,你们收获了什么呢?在未来的一年里,你们有什么新目标吗? 1.定目标 过去的我往往喜欢…

初识 Django

初识 Django参考描述优劣 Django(部分)优势功能完备,开箱即用开发效率高Admin 管理后台安全ORM可扩展劣势性能模板过渡封装获取长期支持版(Long Time Support,LTS)PIP官网获取检测MVC 与 MVTMVC 架构MTV 架…

力扣sql基础篇(十一)

力扣sql基础篇(十一) 1 每件商品的最新订单 1.1 题目内容 1.1.1 基本题目信息1 1.1.2 基本题目信息2 1.1.3 示例输入输出 a 示例输入 b 示例输出 1.2 示例sql语句 SELECT p.product_name,o1.product_id,o1.order_id,o1.order_date FROM Orders o1 INNER JOIN ( SELECT pro…

Android自定义绘制1-1 Plus

上一个文章是看着扔物线的视频写的。写玩之后,发现他的文章还有很多内容。尴尬。 接着写呗。 自定义绘制知识的4个级别 1.Canvas的drawXXX()系列方法以及Paint类的一些常见方法。 canvas的drawXXX()是自定义绘制的最基本操作。掌握了这些方法,才知道…

JNPF 3.4.5 java+.Net6 旗舰版企业版 简搭-敏捷业务低代码开发平台

JNPF 低代码通常是指APaaS产品,通过为开发者提供可视化的应用开发环境,降低或去除应用开发对原生代码编写的需求量,进而实现便捷构建应用程序的一种解决方案。广义上低代码概念涵盖所有能够完成代码的集成,减少代码开发的应用过程…

在哔站黑马程序员学习Spring—Spring Framework—(二)spring的注解开发学习笔记

一、注解开发spring的强项—>简化开发spring从2.0开始逐步提供了各种各样的注解,到了2.5注解比较完善,到了3.0推出了纯注解开发,使用java类替代配置文件,开启了spring快速开发通道。二、注解开发定义bean不再需要在spring配置文件中定义be…

拷贝实体的工具类---BeanObjectCopyUtils

目录 前言: 第一步:引用的核心类: 第一种:单个实体的拷贝方法 第二种:列表类的实体拷贝方法 第二步:核心方法的介绍: 核心方法一,介绍了实例化的操作: 核心方法二…

CMMI之项目管理类

项目管理类过程域涵盖了与项目的计划、监督和控制相关的项目管理活动。CMMI-DEV 中的七个项目管理类过程域是:• 集成项目管理(Integrated Project Management, IPM)• 项目监督与控制(Project Monitoring and Control…

蓝桥杯:城邦

题目链接 问题描述 答案提交 本题答案是:4046。 运行限制 思路分析 代码(Java) 问题描述 小蓝国是一个水上王国, 有 2021 个城邦, 依次编号 1 到 2021。在任意两 个城邦之间, 都有一座桥直接连接。 为了庆祝小蓝国的传统节日, 小蓝国政府…

登录授权方案:JSON Web Tokens (JWT)

登录授权方案:JSON Web Tokens (JWT) JWT官方文档:https://jwt.io/introduction 1.简介: JWT 即 json web tokens,通过JSON形式作为Web应用中的令牌,用于在各方之间安全地将信息作为JSON对象传输,在数据传…

【博客598】从netfilter hook执行原理分析iptables为什么自定义链无法主动调用只能从其它链跳转过来

从netfilter hook执行原理分析iptables为什么自定义链无法主动调用只能从其它链跳转过来 1、netfilter hook执行原理 netfilter 框架是 Linux 网络子系统里的一个核心模块,iptables 就是基于 netfilter 框架实现的一个网络包处理工具。 netfilter hook被调用后执行…

2023年“科学探索奖”申报启动及指南

2023年“科学探索奖”资助不超过50位青年科学家,每位获奖人5年内将获得总计300万元奖金。今年的申报时间为2023年1月1日至3月15日。获奖名单拟定于2023年8月揭晓。本文知识人网小编整理该奖项的概要及申报指南,以飨读者。“科学探索奖”是一项由科学家主…

【高并发内存池】第二弹之threadcache 线程缓存

1.为什么线程向threadcache申请内存不需要加锁? 因为没有把cache设置成全局变量,而是使用了TLS(线程局部存储),作用是当前内存只可当前线程见到,其他线程没有使用权,避免了加锁的操作,保证了线程数据的独立…

基于paddlex图像分类模型训练(一):图像分类数据集切分:文件夹转化为imagenet训练格式

背景 在使用paddlex GUI训练图像分类时,内部自动对导入的分类文件夹进行细分,本文主要介绍其图像分类数据切分源码,或可作为其他项目储备代码:https://github.com/PaddlePaddle/PaddleX/blob/develop/paddlex/tools/dataset_spli…

[Linux]进程概念以及进程状态

🥁作者: 华丞臧. 📕​​​​专栏:【LINUX】 各位读者老爷如果觉得博主写的不错,请诸位多多支持(点赞收藏关注)。如果有错误的地方,欢迎在评论区指出。 推荐一款刷题网站 👉 LeetCode刷题网站 文…