4.7 关键路径算法 源点 起始点 v1 v4 v3 v2 v5 v6 v7 v8 v9 a1=6 a6=2 a3=5 a2=4 a5=1

Slides:



Advertisements
Similar presentations
平衡飲食保健強身 整理至簡體版,作者不可考。內容為 參加國際健康會議所發表的心得。. 人應該活多久 有人告訴我五六十歲就差不多了。 我在醫院工作四十年了,絕大部分病死的人是 很痛苦的。 我在美國遇見張學良,一進門見到他就大吃ㄧ驚, 他眼不花,耳不聾,很多人問他:少帥,您怎 麼能活這麼久? 他回答:不是我活的久,是他們活的太短了。
Advertisements

手工加工全框眼镜技术 前调整确定加工基准制作模板割边 磨边磨安全角 (抛光) 装配 后调整检测.
融资融券业务的保证金与保证金比例 光大证券 · 信用业务管理总部 2015 年 12 月 ★融资融券业务投资者教育活动材料★
道家養生保健長壽藥膳 藥膳應用原則: 天人相應,道法自然 藥膳有兩個職能: 一是保健增壽,一是治療疾病。 ◎ 黃蕙棻.
1 债券融资业务拓展交流 债券业务部 二 O 一二年二月. 2 目 录  第一部分 债券融资业务概述  第二部分 东兴证券债券融资业务情况介绍及前景展望  第三部分 什么样的企业适合发债  第四部分 债券融资业务合作开发方式及激励探讨.
轴对称(一) 课堂引入 仔细观察下列图片,思考这些图片有什么样 的特点.
《公路纵断面设计》 —— 纵断面设计的要求 道桥系 二○○七年五月. 纵断面设计的一般要求 1 .纵坡设计必须满足《公路工程技术标准》中的各项规定。 2 .为保证汽车能以一定的车速安全舒顺地行驶,纵坡应具有 — 定 的平顺性,起伏不宜过大及过于频繁。尽量避免采用极限纵坡 值.缓和坡段应自然地配合地形设置,在连续采用极限长度的.
第二节 脉搏的评估及异 常时的护理. 教学目标  1 、解释有关名词  2 、说出脉搏、呼吸的正常值  3 、叙述脉搏、呼吸的测量方法;识别脉搏、 呼吸的异常变化  4 、叙述测量脉搏、呼吸的注意事项  5 、正确记录脉搏、呼吸,做到认真负责,实 事求是。
第七章 求职方法和技巧 (二) 主讲人:谭琳. 第一节 自荐 一、目前常见的自荐种类 1 .口头自荐 1 .口头自荐 2 .书面自荐 2 .书面自荐 3 .广告自荐 3 .广告自荐 4 .学校推荐 4 .学校推荐 5 .他人推荐 5 .他人推荐.
创意鄱阳湖— 一种基于无形资源理念开发鄱阳湖的思考 以传奇背景音乐作为开场,体现创意创造传奇 南昌大学 黄细嘉
联合国提出个口号:“千万不要死于无知” 保健的三个里程碑 平衡饮食 有氧运动 心理状态.
防盜裝置  學生科技探究.
项目四、腻子的施工  一、准备工作  二、安全与卫生  三、板件表面的处理  四、准备腻子  五、刮腻子  六、腻子的干燥  七、腻子的打磨  结束.
饮食中的平衡 酸 性 食 物 与 碱 性 食 物.
两汉文学及汉代诗歌.
冷 热 疗 法.
報告書名:父母會傷人 班級:二技幼四甲 姓名:吳婉如 學號:1A2I0034 指導老師:高家斌
平衡飲食保健強身.
近现代文学概说.
期末書面報告指定書籍 王鼎鈞回憶錄---昨天的雲
個人理財規劃 第八章 投資規劃.
保育员工作职责.
川信-丰盛系列集合资金信托计划 2016年3月.
古文選讀.
开天门 梅州市中医医院 郑雪辉.
小儿斜颈的诊断与治疗.
农信社信贷产品实务技能提升培训.
國科會計畫 費用核銷規定、說明及範例 明志科大會計室彙編
政府採購法規概要 報告人:杜國正 行政院公共工程委員會企劃處.
歷史建築清水國小宿舍群修復工程 施工說明會
中式面点技艺 长春市商业职业技术学校 王成贵 中式面点技艺 长春市商业职业技术学校 授课教师: 王 成 贵.
媽,我們真的不一樣 青少年期與中年期 老師: 趙品淳老師 組員: 胡珮玟4A1I0006 馬菀謙4A1I0040
消防安全知识讲座 ---校园防火与逃生 保卫科.
高齡者道路交通事故特性與道安防制措施 研究計畫報告
是重要的感觉器官,有许多感觉器,具触觉、嗅觉功能,还能感受异性的性信息素。 触角由柄节、梗节和鞭节三部分组成。
物理3-5选修模块.
之 魔 析 妖 鬼 解 怪 大 沈家仪小组出品.
项目亮点 融资方为AA级发债主体,是当地唯一的综合平台公司
复习 什么是结构? 结构是指事物的各个组成部分之间的有序搭配和排列。
第三章 儿童少年、女子及 中老年的体育卫生 第一节 儿童少年的体育卫生
杜甫诗三首 《望岳》 《春望》 《石壕吏》 授课人:姚晓霞.
班級:二幼三甲 姓名:郭小瑄 、 詹淑評 學號:1A2I0029 、1A2I0025
植物辨識及分類 呂春森 基隆市立暖暖高級中學 植物辨識及分類 呂春森 基隆市立暖暖高級中學.
学生学业水平诊断与提升策略探究 平阳中学 周秀丽.
征服火灾是全社会的事业,它需要科技的进步,需要消防监督,也需要消防科学知识的普及和提高。通过各类的消防安全培训,从而使人们更好的掌握消防常识和了解消防法规,提高消防安全意识,提高自防自救能力,使我们的生产和生活远离火灾的侵袭。
指導老師:陳韻如 姓名:吳宜珊 學號:4A0I0911 班級:幼保二乙
第三课 闲话“家”常 1.
足球運動情報蒐集與分析 趙榮瑞 教授.
“华东师大数学系部分老同事活动”(辛卯聚会)记事
第五节 读图表述.
財團法人中華民國證券櫃檯買賣中心 交 易 部 中華民國101年8月
講師:賴玉珊 心理師 證照:諮商心理師(諮心字第001495號) 學歷:國立台南大學諮商與輔導研究所 畢 現任:長榮大學諮商中心專任心理師
二、汽化和液化.
复习: 一、细胞膜的成分 1、脂质 2、蛋白质 3、糖类 二、生物膜的功能: 1、界膜 2、控制物质的进出 3、进行细胞间信息交流.
第九章 长期资产及摊销 2017/3/21.
管理好种公鸡提高雏鸡质量.
走进 莱 芜 制作人:楠楠.
傳統童玩遊戲創新 組別:第八組 班級:幼保二甲 組員: 4A0I0005柯舒涵 4A0I0011謝孟真
腾冲叠水河瀑布 和来凤山公园 音乐:贝多芬——F大调浪漫曲 摄影、制作:曹珏 陈晓芬.
第1节人体内物质的运输 人体的组织细胞每时每刻都需要营养物质和氧,并不断产生二氧化碳、尿素等废物。这些物质在人体内运输主要依靠 系统。人体的血液循环系统由 、 和 组成。 血液循环 血管 心脏 血液.
契約 課程:文書實務與應用 教師:黃湃翔老師.
杜甫诗三首 《望岳》 《春望》 《石壕吏》.
人无信不立 业无信不兴 公路建设市场信用体系 建设综述 交通运输部公路局 交通运输部公路局
第八章 图 图的基本概念 图的存储结构 图的遍历与连通性 最小生成树 最短路径 活动网络.
奢侈稅成效分析與房市未來發展 吳中書 中華經濟研究院 第十九屆亞太財務經濟會計及管理會議 ~07.09.
網路遊戲版 幸福農場168號.
数据结构概论 第7章 图 董黎刚 浙江工商大学信电学院 2019年4月8日.
06 无形资产投资环节的会计处理.
知识点:交流接触器的结构和工作原理 主讲教师:冯泽虎.
第四部分 图论 主要内容 图的基本概念:图、通路和回路、图的连通性、图的矩阵表示 图的可行遍性:欧拉图、哈密顿图、带权图及其应用
Presentation transcript:

4.7 关键路径算法 源点 起始点 v1 v4 v3 v2 v5 v6 v7 v8 v9 a1=6 a6=2 a3=5 a2=4 a5=1 AOE网(Activity On Edge Network) 在带权的有向图中,用顶点表示事件,用边表示活动,边上权表示活动的开销(如持续时间),则称此有向图为边表示活动的网络,简称AOE网。 下图是有11项 活动,9个事件的AOE网,每个事件表示在它之前的活动已经完成, 在它之后的活动可以开始。 源点 起始点 v1 v4 v3 v2 v5 v6 v7 v8 v9 a1=6 a6=2 a3=5 a2=4 a5=1 a4=1 a7=9 a8=7 a9=4 a11=4 a10=2 汇点 结束点 2019/6/12

4.7 关键路径算法(cont.) 源点 起始点 v1 v4 v3 v2 v5 v6 v7 v8 v9 a1=6 a6=2 a3=5 AOE网的性质 只有在某个顶点所代表的事件发生后,从该顶点出发的各有向边代表的活动才能开始; 只有在进入某一顶点的各有向边代表的活动已经结束,该顶点所代表的事件才能发生; 表示实际工程计划的AOE网应该是无环的,并且存在唯一的入度为0的开始顶点(源点)和唯一的出度为0的结束点(汇点)。 源点 起始点 v1 v4 v3 v2 v5 v6 v7 v8 v9 a1=6 a6=2 a3=5 a2=4 a5=1 a4=1 a7=9 a8=7 a9=4 a11=4 a10=2 汇点 结束点 2019/6/12

4.7 关键路径算法(cont.) 源点 起始点 v1 v4 v3 v2 v5 v6 v7 v8 v9 a1=6 a6=2 a3=5 AOE网研究的主要问题: 如果用AOE 网表示一项工程,那么仅仅考虑各个子工程之间的优先关系还不够,更多地是关心整个工程完成的最短时间是多少,哪些活动的延迟将影响整个工程进度,而加速这些活动能否提高整个工程的效率,因此AOE网有待研究的问题是: (1)完成整个工程至少需要多少时间? (2)哪些活动是影响工程进度的关键活动? 源点 起始点 v1 v4 v3 v2 v5 v6 v7 v8 v9 a1=6 a6=2 a3=5 a2=4 a5=1 a4=1 a7=9 a8=7 a9=4 a11=4 a10=2 汇点 结束点 2019/6/12

4.7 关键路径算法(cont.) 源点 起始点 v1 v4 v3 v2 v5 v6 v7 v8 v9 a1=6 a6=2 a3=5 路径长度、关键路径、关键活动: 路径长度:是指从源点到汇点路径上所有活动的持续时间之和。 关键路径:在AOE网中,由于有些活动可以并行,所以完成工程的最短时间是从源点到汇点的最大路径长度。因此,把从源点到汇点具有最大长度的路径称为关键路径。 一个AOE中,关键路径可能不只一条。 关键活动:关键路径上的活动称为关键活动。 源点 起始点 v1 v4 v3 v2 v5 v6 v7 v8 v9 a1=6 a6=2 a3=5 a2=4 a5=1 a4=1 a7=9 a8=7 a9=4 a11=4 a10=2 汇点 结束点 2019/6/12

4.7 关键路径算法(cont.) Vj Vk ai 源点 起始点 v1 v4 v3 v2 v5 v6 v7 v8 v9 a1=6 a6=2 关键路径和关键活动性质分析-----与计算关键活动有关的量 ①事件Vj 的最早可能发生时间VE(j) 是从源点V1 到顶点Vj 的最长路径长度。 ②活动ai 的最早可能开始时间 E(i) 设活动ai 在边< Vj , Vk>上, 则E(i)也是从源点V1到顶点Vj 的最长路径长度。这是因为事件Vj发生表明以Vj为起点的所有活动ai可以立即开始。因此, E(i) = VE(j) …………..(1) Vj Vk ai 事件V5的最早发生时间 a1+a4=6+1=7 活动a7,a8的最早发生时间 E(7)=E(8)=6+1=7 源点 起始点 v1 v4 v3 v2 v5 v6 v7 v8 v9 a1=6 a6=2 a3=5 a2=4 a5=1 a4=1 a7=9 a8=7 a9=4 a11=4 a10=2 汇点 结束点 2019/6/12

4.7 关键路径算法(cont.) ai Vj Vk 关键路径和关键活动性质分析-----与计算关键活动有关的量 ③事件Vk的最迟发生时间VL(k) 是在保证汇点Vn在VE(n)时刻完成的前提下,事件Vk的允许的最迟开始时间。 在不推迟工期的情况下,一个事件最迟发生时间VL(k)应该等于汇点的最早发生时间VE(n )减去从Vk到Vn的最大路径长度。 ④ 活动ai 的最迟允许开始时间 L(i) 是指在不会引起工期延误的前提下,活动ai允许的最迟开始时间。 因为事件Vk发生表明以Vk为终点的入边所表示的所有活动均已完成,所以事件Vk的最迟发生时间VL(k)也是所有以Vk为终点的入边< Vj , Vk>所表示的活动ai可以最迟完成时间。 显然,为不推迟工期,活动ai的最迟开始时间L(i)应该是Vk的最迟完成时间VL(k)减去ai的持续时间,即 L(i) = VL(k) - ACT[j][k] …………..( 2 ) 其中, ACT[j][k]是活动ai的持续时间( < Vj , Vk>上的权)。 Vj Vk ai 2019/6/12

4.7 关键路径算法(cont.) 关键路径和关键活动性质分析-----与计算关键活动有关的量 ⑤时间余量 L(i) - E(i) L(i) - E(i)表示活动 ai 的最早可能开始时间和最迟允许开始时间的时间余量。 关键路径上的活动都满足:L(i) = E(i) …………..( 3 ) L(i) = E(i)表示活动是没有时间余量的关键活动。 由上述分析知,为找出关键活动,需要求各个活动的E(i)与 L(i),以判别一个活动ai是否满足L(i) = E(i)。 E(i)和L(i)可有公式 (1)和(2)计算得到。而VE(j) 和VL(j)可由拓扑排序算法得到。 AOE网可以用邻接矩阵或邻接表表示;矩阵中行下标i表示起点,列下标j表示终点,ACT[i][j]>0表示时间,ACT[i][j]=-1表示无边。 2019/6/12

4.7 关键路径算法(cont.) 关键路径和关键活动分析计算示例: a b c e g h k 6 4 5 2 1 8 7 d f 6 4 5 5 7 7 15 11 14 18 18 6 18 6 18 8 18 7 8 18 10 18 16 18 14 18

4.7 关键路径算法(cont.) a b c e g h k 6 4 5 2 1 8 7 d f 6 4 5 7 15 14 18 16 6 4 5 7 15 14 18 16 10 8 2 3

VE(j) = max{ VE(i)+ACT[i][j] } 4.7 关键路径算法(cont.) 利用拓扑排序算法求关键路径和关键活动 (1)前进阶段:计算VE[j]。从源点V1出发,令VE(1) = 0,按拓扑序列次序求出其余各顶点事件的最早发生时间: 其中T是以顶点Vj为尾的所有边的头顶点的集合(2≤j≤n) 如果网中有回路,不能求出关键路径则算法中止;否则转(2) j∈T VE(j) = max{ VE(i)+ACT[i][j] } VE=6 VE=12 VE=9 2 已知 VE=11? 14? 13? 求解 5 4 4 5 2019/6/12

VL(j) = min{ VL(i)-ACT[j][i] } 4.7 关键路径算法(cont.) 利用拓扑排序算法求关键路径和关键活动 (2)回退阶段:计算VL[j]从汇点Vn出发,令VL(n) = VE(n),按逆拓扑有序求其余各顶点的最晚发生时间(用逆邻接矩阵ACT转置即可): 其中S是以顶点Vj为头的所有边的尾顶点的集合(2≤j≤n-1) k∈S VL(j) = min{ VL(i)-ACT[j][i] } 7 6 5 VL=19 VL=24 VL=11 已知 VL=13? 17? 6? 求解 2019/6/12

L( i ) = VL( k ) - ACT[j][k] (4)若某条边满足E( i ) = L( i ),则它是关键活动。 求每一项活动ai的最早开始时间:       E( i ) = VE( j ) 求每一项活动ai的最晚开始时间:       L( i ) = VL( k ) - ACT[j][k] (4)若某条边满足E( i ) = L( i ),则它是关键活动。 为了简化算法, 可以在求关键路径之前已经对各顶点实现拓扑排序, 并按拓扑有序的顺序对各顶点重新进行了编号。 不是任意一个关键活动的加速一定能使整个工程提前。 想使整个工程提前,要考虑各个关键路径上所有关键活动。 2019/6/12

//运用拓扑有序计算出各事件最早发生时间 for(v=1;v<=n;v++) if(indegree[v]==0) Enquque(v,Q);//入度为0的结点进队 while(!Empty(Q))//表明排队非空 {v=Q.vertex[Q.front]; Q.front++; for(i=1;i<=n;i++) if((ACT[i][v]>0)&&(VE[v]<ACT[i][v]+VE[i])) VE[v]=ACT[i][v] + VE[i]; for(j=1;j<=n;j++) if(ACT[v][j]>0) { w=j;//对于每一个邻接于v的结点 indegree[w]--;//删除由v出发的所有边 if(indegree[w]==0) Enqueue(w,Q);//入度为0的结点进队 } 2019/6/12

//运用逆拓扑有序计算出各个事件的最迟发生时间 //把每个事件的最迟发生时间都置为VE[n],以作为它们的初值 for(i=0;i<=;i++) VL[i]=VE[9]; RQ.front=0; RQ.rear=-1;//将排队重新置为空 for(v=n;v>=1;v--) if(rindegree[v]==0) EnQueue(v,RQ);//入度为0的结点入队 while(!Empty(RQ))//表明排队非空 { v=RQ.vertex[RQ.front]; RQ.front++; for(i=n;i>=1;i--) if((RACT[i][v]>0)&&(VL[v]>VL[i]-RACT[i][v])) VL[v]=VL[i]-RACT[i][v]; 2019/6/12

for(j=n;j>=1;j--) if(RACT[v][j]>0) { w=j;//对于邻接于v的每一个结点 rindegree[w]--;//删除v发出的所有边 if(rindegree[w]==0) EnQueue(w,RQ);//入度为0的结点进队 } 2019/6/12

//求得并且输出各个活动的最早开始时间和最晚开始时间并且求出所求关键路径 int account=0;//记录活动的次数 for(i=1;i<=n;i++) for(j=1;j<=n;j++) if(ACT[i][j]>0) { account++;//活动次数加1 cout<<"a"<<account<<" "; E[account]=VE[i]; L[account]=VL[j]-ACT[i][j]; if(L[account]-E[account]==0) cout<<" "<<i<<"--"<<j<<"critical activity"; cout<<endl; } 2019/6/12

本章小结 图 逻辑结构 存储结构 应用 深度优先搜索 广度优先搜索 图的遍历 比较 图的定义 基本术语 基本操作 邻接矩阵表示法 邻接表表示法 拓扑排序 最短路径 最小生成树 关键路径 图的遍历 2019/6/12