首页 > 其他分享 >40. 关键路径

40. 关键路径

时间:2023-07-03 19:46:23浏览次数:38  
标签:ve 路径 vl 40 关键 顶点 活动

一、什么是关键路径

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

  AOE 网具有以下两个性质:

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

  在 AOE 网中仅有一个入度为 0 的顶点,称为 开始顶点(源点),它表示整个工程的开始;也仅有一个出度为 0 的顶点,称为 结束顶点(汇点),它表示整个工程的结束。从源点到汇点的有向路径可能存在多条,所有路径中,具有最大路径长度的路径称为 关键路径,而把关键路径上的活动称为 关键活动完成整个工程的最短时间就是关键路径的长度,若关键活动不能按时完成,则整个工程的完成时间就会延长。

二、关键路径的相关术语

img

  • 事件 \(v_{k}\) 的最早发生事件 ve(k):决定了所有从 \(v_{k}\) 开始的活动能够开工的最早时间;
  • 活动 \(a_{i}\) 的最早发生时间 e(i):指该活动弧的起点所表示的事件的最早发生时间;
  • 事件 \(v_{k}\) 的最迟发生时间 vl(k):它是指不推迟整个工程完成的前提下,该事件最迟发生的时间;
  • 活动 \(a_{i}\) 的最迟开始时间 l(i):它是指该活动弧的终点所表示时间的最迟发生时间与该活动所需时间之差;
  • 活动 \(a_{i}\) 的时间余量 d(i)=l(i)-e(i):它表示在不增加完成整个活动所需总时间的情况下,活动 \(a_{i}\) 可以拖延的时间;

若关键活动耗时增加,则整个工程的工期将增加;

缩短关键活动的时间,可以缩短整个工程的工期;

当缩短到一定程度是,关键活动可能会变成非关键活动;

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

三、求关键路径的步骤

img

  1. 求所有事件的最早发生时间 ve(k):

    • 按拓扑排序序列,依次求各个顶点 \(ve(k):\begin{cases} ve(源点) = 0 \\ ve(k) = Max\{ve(j) + Weight(v_{j},v_{k})\} & ,v_{j} 为 v_{k} 的任意前驱 \end{cases}\)
  2. 求所有事件的最迟发生时间 vl(k):

    • 按逆拓扑排序序列,依次求各个顶点的\(vlk(k): \begin{cases} vl(汇点) = ve(汇点) \\ vl(k) = Min\{vl(j) - Weight(v_{k},v_{j})\} & ,v_{j} 为 v_{k} 的任意后继 \end{cases}\)
  3. 求所有活动的最早发生时间 e(k):

    • 若边 \(<v_{k},v_{j}>\) 表示活动 \(a_{i}\),则有 \(e(i) = ve(k)\)
  4. 求所有活动的最迟发生时间 l(k):

    • 若边 \(<v_{k},v_{j}>\) 表示活动 \(a_{i}\),则有 \(l(i) = vl(j) - Weight(v_{k},v_{j})\)
  5. 求所有活动的是时间余量 d(k):

    • \(d(i) = l(i) - e(i)\)
\(v_{1}\) \(v_{2}\) \(v_{3}\) \(v_{4}\) \(v_{5}\) \(v_{6}\)
ve(k) 0 3 2 6 6 8
vl(k) 0 4 2 6 7 8
\(a_{1}\) \(a_{2}\) \(a_{3}\) \(a_{4}\) \(a_{5}\) \(a_{6}\) \(a_{7}\) \(a_{8}\)
e(k) 0 0 3 3 2 2 6 6
l(k) 1 0 4 4 2 5 6 7
d(k) 1 0 1 1 0 3 0 1

标签:ve,路径,vl,40,关键,顶点,活动
From: https://www.cnblogs.com/kurome/p/17523810.html

相关文章

  • Cisco ISR 4000 Series IOS XE Release Dublin-17.11.1a ED
    CiscoISR4000SeriesIOSXEReleaseDublin-17.11.1aED思科4000系列集成服务路由器请访问原文链接:https://sysin.org/blog/cisco-isr-4000/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org思科4000系列集成服务路由器让您的分支机构站点为实施全数字化转型......
  • 系统 | 绝对路径和相对路径
    在文件读取时,有很多地方都会用到绝对路径与相对路径。如在需要文件作为输入、指定文件作为输出,还有一些中间文件,都会用到相对路径与绝对路径。绝对路径绝对路径是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。完整的描述文件位置的路径就是绝对路径。1、Linux下......
  • 企业IT管理的关键工具:ADManager Plus
    在当今数字化时代,企业的IT基础设施起着至关重要的作用。为了保证企业的正常运营和高效管理,企业需要一个强大而全面的IT管理解决方案。ADManagerPlus作为一款功能丰富、易于使用的工具,成为了许多企业的首选。本文将介绍ADManagerPlus的重要功能和优势,以及它如何帮助企业提高IT管理......
  • java 相对路径问题 和绝对路径
    小例:java代码:都可以成功Filefile=newFile("./xml/a.properties");Filefile=newFile("xml/a.properties");下面就会出错Filefile=newFile("/xml/a.properties"); 总结:.为当前目录,即工程名所在文件夹  下面的当前路径都是你的工程目录Filefile=newFile("./......
  • 移植SDL到JZ2440显示BMP图片
    写这类教程的目的是,熟悉Linux基本操作和嵌入式开发流程,希望对你有所帮助. 前面我们讲过系统起来后开机LOGO的制作,韦老师第3期讲了如何显示jpeg图片,那么怎么显示bmp图片?这次我们借助libSDL来实现,我们先移植SDL到Ubuntu,体验它的威力后再移植到开发板。一、移植SDL到Ubun......
  • 【转】python踩坑(FileNotFoundError: Could not find module '此处省略了一些路径win_
    1、报错(FileNotFoundError:Couldnotfindmodule'此处省略了一些路径\site-packages\scipy\.libs\libbanded5x.GL5FZ7Y77HIKQFNMZKUOMV5GID6YMX2V.gfortran-win_amd64.dll'(oroneofitsdependencies).Tryusingthefullpathwithconstructorsyntax.) 2、分析&a......
  • MIT6.5840 lab2,3 记录
    参考链接课程地址如何Debug:没有它可怎么活,几万行的日志怎么看Students'GuidetoRaftraft算法可视化:直观展示raft可视化简单入门raft讲解视频:强烈推荐感想感觉理论+实践来学一个东西才学的深刻,特别是对于我这样对抽象理解不太行的,每次见识了一个算法或系统真正如何运行......
  • 有向无环图-dfs-797所有可能的路径
    给你一个有n个节点的有向无环图(DAG),请你找出所有从节点0到节点n-1的路径并输出(不要求按特定顺序)graph[i]是一个从节点i可以访问的所有节点的列表(即从节点i到节点graph[i][j]存在一条有向边)。示例1:输入:graph=[[1,2],[3],[3],[]]输出:[[0,1,3],[0,2,3]]解释:有两......
  • tomcat配置虚拟访问路径
    新搭建一套uat环境,在打印预览时出现404,部署的应用包是同一个包,应该不存在问题,考虑是配置问题。之前是用weblogic部署的,在weblogic.xml中配置了虚拟路径映射,而新搭建的环境是用tomcat部署的,没有配置,所以出现404weblogic中配置<weblogic-web-app> ......省略其他部分 <c......
  • 除了参数,ref关键字还可以用在什么地方?
    《老生常谈:值类型V.S.引用类型》中花了很大的篇幅介绍ref参数针对值类型和引用类型变量的传递。在C#中,除了方法的ref参数,我们还有很多使用ref关键字传递引用/地址的场景,本篇文章作一个简单的总结。一、参数二、数组索引三、方法四、ref结构体五、ref结构体字段一、参数如......