当前位置: 首页 > news >正文

数据结构(16)

目录

有向无环图及其应用

二、AOE网

1、AOE 网的核心定义与要素

2、AOE 网的关键概念(时间参数)

(1)事件的最早发生时间(ve(i))

(2)事件的最迟发生时间(vl(i))

(3)活动的最早开始时间(e(k))

(4)活动的最迟开始时间(l(k))

3、AOE 网的核心应用:关键路径(Critical Path)

4、示例说明(项目开发 AOE 网)

5、AOE 网与 AOV 网的对比

有向无环图及其应用

二、AOE网

AOE 网(Activity On Edge Network,边表示活动的网)是一种带权有向无环图(DAG),专门用于描述 “包含时间维度的复杂活动流程”—— 图中的边代表具体活动(并附带活动的持续时间),顶点代表 “事件”(即活动的开始或结束节点)。它在 AOV 网的基础上增加了 “时间信息”,可用于分析项目的最短完成时间、关键路径等关键问题,是项目管理和流程优化的核心工具。

1、AOE 网的核心定义与要素

AOE 网的核心是用 “边承载活动时间”“顶点标记事件节点”,需满足以下要素:

(1)顶点(事件,Event):表示一个 “状态节点”,标志着所有 “进入该顶点的边(活动)” 已完成,所有 “从该顶点出发的边(活动)” 可以开始。

① 示例:在项目流程中,顶点可能代表 “需求分析完成”“开发阶段开始” 等标志性事件。

② 特殊顶点:

a. 源点(Start Vertex):入度为 0 的顶点,代表整个项目的 “开始事件”(所有活动的起点)。

b. 汇点(End Vertex):出度为 0 的顶点,代表整个项目的 “结束事件”(所有活动的终点)。

(2)有向边(活动,Activity):每条边对应一个具体活动,边的权重表示该活动的持续时间(如天数、小时)。若存在边 <Vi​,Vj​>,则表示 “活动需在事件 Vi​ 发生后开始,在事件 Vj​ 发生时结束”,即活动的开始依赖于 Vi​ 对应的前置活动完成。

(3)无环性(Acyclic):与 AOV 网一样,AOE 网必须是无环图。若存在环,则活动间存在 “循环依赖 + 时间累积”,导致项目无法结束(总时间无限),因此环是 AOE 网的 “非法结构”。

2、AOE 网的关键概念(时间参数)

为分析项目的时间特性,AOE 网定义了 4 个核心时间参数(以顶点 Vi​ 和边 <Vi​,Vj​> 为例):

(1)事件的最早发生时间(ve(i))

① 定义:顶点 Vi​ 所代表的事件最早可能发生的时间(即所有到达 Vi​ 的活动都完成的最早时间)。

② 计算规则:

a. 源点的最早发生时间 源点(项目从时间 0 开始)。

b. 对于其他顶点 Vi​,ve(i)=max{ve(j)+weight(<Vj​,Vi​>)}(取所有前置活动完成时间的最大值,因需等最后一个前置活动完成)。

(2)事件的最迟发生时间(vl(i))

① 定义:顶点 Vi​ 所代表的事件最迟必须发生的时间(若超过此时间,会延误整个项目的完成时间)。

② 计算规则:

a. 汇点的最迟发生时间 汇点汇点(汇点的最早和最迟时间一致,即项目的最短完成时间)。

b. 对于其他顶点 Vi​,vl(i)=min{vl(j)−weight(<Vi​,Vj​>)}(取所有后续活动最迟开始时间的最小值,确保不延误后续活动)。

(3)活动的最早开始时间(e(k))

① 定义:边 <Vi​,Vj​> 代表的活动 k最早可能开始的时间(即其起点事件 Vi​ 的最早发生时间)。

② 计算规则:e(k)=ve(i)。

(4)活动的最迟开始时间(l(k))

① 定义:边 <Vi​,Vj​> 代表的活动 k最迟必须开始的时间(若超过此时间,会延误后续事件的发生)。

② 计算规则:l(k)=vl(j)−weight(<Vi​,Vj​>)(即终点事件 Vj​ 的最迟发生时间减去活动的持续时间)。

③ 关键推导:活动的时间余量(l(k)−e(k))

  • 若 l(k)−e(k)=0:活动 k 无时间余量,必须按时开始和完成,否则会延误整个项目 —— 这类活动属于 “关键活动”。
  • 若 l(k)−e(k)>0:活动 k 有缓冲时间,可在 [e(k),l(k)] 区间内开始,不影响项目总时间。

3、AOE 网的核心应用:关键路径(Critical Path)

关键路径是 AOE 网中从源点到汇点的最长路径,具有以下特性:

  • 路径上的所有活动都是 “关键活动”(l(k)−e(k)=0)。
  • 关键路径的总长度(所有活动的权重之和)等于项目的最短完成时间(汇点的 ve 或 vl 值)。
  • 若关键路径上的任何活动延误,整个项目的完成时间会相应延误;非关键路径上的活动延误只要不超过其时间余量,不影响总时间。

4、示例说明(项目开发 AOE 网)

以 “软件项目开发” 为例,AOE 网结构如下:

  • 顶点(事件):V0​(项目开始)、V1​(需求分析完成)、V2​(设计完成)、V3​(开发完成)、V4​(测试完成)、V5​(项目结束)。
  • 边(活动及持续时间):<V0​,V1​>:需求分析(5 天)、<V1​,V2​>:设计(3 天)、<V2​,V3​>:编码(8 天)、<V3​,V4​>:单元测试(2 天)、<V4​,V5​>:系统测试(4 天)、<V2​,V4​>:并行测试准备(3 天)。

对应的 AOE 网结构及时间参数计算:

  1. 计算最早发生时间 ve

    • ve(0)=0
    • ve(1)=ve(0)+5=5
    • ve(2)=ve(1)+3=8
    • ve(3)=ve(2)+8=16
    • ve(4)=max{ve(3)+2,ve(2)+3}=max{18,11}=18
    • ve(5)=ve(4)+4=22(项目最短完成时间为 22 天)。
  2. 计算最迟发生时间 vl

    • vl(5)=ve(5)=22
    • vl(4)=vl(5)−4=18
    • vl(3)=vl(4)−2=16
    • vl(2)=min{vl(3)−8,vl(4)−3}=min{8,15}=8
    • vl(1)=vl(2)−3=5
    • vl(0)=vl(1)−5=0。
  3. 关键活动与关键路径

    • 所有活动的 e(k)=l(k)(如 <V0​,V1​>:e=0,l=0;<V1​,V2​>:e=5,l=5 等)。
    • 关键路径:V0​→V1​→V2​→V3​→V4​→V5​,总长度 22 天。

5、AOE 网与 AOV 网的对比

对比维度AOE 网(Activity On Edge)AOV 网(Activity On Vertex)
活动的载体边(Edge),权重表示活动持续时间顶点(Vertex)
顶点的含义事件(活动的开始 / 结束节点)活动本身
边的含义活动及持续时间,体现依赖关系仅体现活动的先后依赖关系
核心应用计算项目最短完成时间、关键路径确定活动的执行顺序(拓扑排序)
时间信息包含(边的权重)不包含
http://www.dtcms.com/a/565529.html

相关文章:

  • 网站建站行业兰州网络推广新手
  • 怎样将自己做的网页加入网站南京品牌网站建设
  • 前端工具全景实战指南,从开发到调试的效率闭环
  • Nxt v1.13.1:标志性更新为12年历史的区块链项目写下新篇章
  • C++ 学习 —— 04 - STL容器
  • 什么是端口管理?网络安全的关键环节
  • 竞品网站分析温州企业网站制作
  • Apache Paimon 写入流程
  • 如何设计一个秒杀系统(下)
  • 投资网站策划晋江市建设局网站
  • 博客阅读:chatgpt 2025 GPT-5 Jailbreak with Echo Chamber and Storytelling
  • 经典模板网站建设wordpress函数讲解
  • HTTP协议与WebSocket完整技术指南
  • 时序数据库核心技术解析-以InfluxDB/TSDB为例
  • 各大网站收录入口ASP.NET与网站开发编程实战
  • 招聘网站建设与开发要求typecho转wordpress
  • 专为严苛环境而生:高防护等级工业防水平板WPPC-H1520T(P)
  • 网站建设销售培训好网站的标准
  • 当多进程遇上异步:一次 Celery 与 Async SQLAlchemy 的边界冲突
  • 【Tailwind,DaisyUI】如何让 button 文字左对齐?
  • 【IC】NoC设计入门 -- 传统总线Bus
  • CoDeGAN:用对比学习重新定义GAN中的表示解耦
  • hive中数据的来源
  • 企业营销型网站的内容路由器 搭建wordpress
  • 2.4、恶意软件猎手:基于深度学习的二进制文件判别
  • 力扣hot100---42.接雨水(java版)
  • 长春公司建站模板三把火科技网站设计
  • Nine.fun:连接现实娱乐与Web3经济的全新生态
  • 【职业方向】2026小目标,从web开发转型web3开发【一】
  • 用 Playwright + 容器化做分布式浏览器栈:调度、会话管理与资源回收