一:定义
(一)最短时间
我们要对一个流程图获得最短时间,就要分析他们的拓扑关系,并且找到当中的最关键的流程,这个流程的时间就是最短时间
(二)AOE网(Activity On Edge Network)
在一个表示工程的带权有向图中,用到的表示时间,用有向边表示活动,用边上权值表示活动的持续时间,这种有向图的边表示活动的网,我们称之为AOE网
我们将AOE网中没有入边的顶点称为源点或始点,没有出边的顶点称为终点或者汇点
正常情况下,AOE网只有一个源点一个终点
例如下图AOE网,
v0为源点,表示整个工程的开始,v9为终点,表示这个工程的结束。
顶点v0,v1,....v9分别表示事件
弧,,...,都表示一个活动,用a0,a1,...,a12表示
补充:相比于AOV网
AOV中不在意边的权值,不局限一个源点和一个终点,关注的是是否构成环
AOE关注边的权值,来求得最短时间等信息,源点和终点都只有一个
(三)关键路径
路径上各个活动所持续的事件之和称为路径长度,从源点到终点具有最大长度的路径叫关键路径,在关键路径上的活动叫关键活动
例如我们开始组装时候,我们就要等到前面的所有装备工作全部完成(按照最长路径来算),才能开始我们的组装任务。所以我们的关键路径需要是最大长度的路径
二:AOE和AOV(活动和事件|顶点与弧)
AOE网是表示工程流程的,所以它就具有明显的工程的特性。
只有在某顶点所表示的事件发生后,从该顶点出发的各活动才能开始。
只有在进入某顶点的各活动都已经结束,该顶点所代表的事件才能发生。
AOE与AOV对比
虽然都是用来对工程建模,但是还是有很大不同。主要体现在:
AOV网是顶点表示活动的网,他只描述活动之间的制约更新,
AOE网是用边表示活动的网,边上的权值表示活动持续的时间
AOE网是要建立在活动之间制约关系没有矛盾的基础之上,再来分析完成整个工程至少需要多少时间,或者为缩短完成工程所需时间,应该加快哪些活动等问题
三:四个必要参数
在AOE网中顶点v表示时间,边e表示活动
(一)事件最早发生时间etv(earliest time of vertex)
即顶点Vk的最早发生时间
(二)事件最晚发生时间ltv(lastest time of vertex)
即顶点Vk的最晚发生时间,也就是每个顶点对应的事件最晚需要开始的事件,超出此事件将会延误整个工期
(三)活动的最早开工时间ete(earliest time of edge)
即弧ak的最早发生时间
(四)活动的最晚开工时间lte(lastest time if edge)
即弧的最晚发生时间,也就是不推迟工期的最晚开工时间
总结(重点):
我们可以由事件的最早发生时间和事件的最晚发生时间求出活动的最早和最晚开工时间。
由1,2可以求得3,4,然后在根据ete[k]是否与lte[k]相等来判断ak是否是关键活动
活动的最早开始时间和活动的最晚开始时间,若是相等,就意味着此活动是关键活动
四:案例推导
(一)etv从左向右推导
其中P[k]表示所有到达顶点vk的弧的集合。比如P[1]就只有,P[4]就有,是所有以顶点vk为弧头的弧的集合
len是弧上的权值
例如:我们只推导v0-v4
etv[0]=0,因为k=0etv[1]=6,etv[1]=max{etv[i]+len},因为属于P[k],所以i=0,etv[i]=etv[0]+len=6etv[2]=4
--------------------------------------------------------------------上面可以看出来--------------------------------------------------------------------etv[4]的推导,我们先看他的P[k]弧的集合,有,两个,所以我们从{etv[1]+len,etv[2]+len}集合中选取最大的,就是etv[4]=etv[1]+len=7