关键路径中最早/迟发生时间

概念:在AOE网中,顶点表示事件,弧表示活动,权表示活动持续的时间。一般求的是关键路径,而要求关键路径则要找到以下四个值

  • 1.事件Vi的最早发生时间ve(i)
  • 2.事件Vi的最迟发生时间vl(i)
  • 3.活动ai的最早发生时间e(i)
  • 4.活动ai的最迟发生时间l(i)
    例子:关键路径中最早/迟发生时间_第1张图片

求V4和a4的以上四个值(下面有全部活动和事件的参考)
1.事件Vi的最早发生时间ve(i):要找事件(即图中顶点)的最早发生时间只需找到开始事件V0到该事件的最长路径即可,可以看到这里V0到V4有两条路,V0->V1->V4,权值为5,V0->V2->V4,权值为7,选其中最大的即为7,所以V4的最早发生时间为7天;

2.事件Vi的最迟发生时间vl(i):最迟发生事件与上相反,要先找出最终事件的最长路径,为18,然后在减去从V8到V4中最长的路径,这里有V8->V6->V4,权值为11,V8->V7->V4,权值为11,得出V4的最迟发生时间为18-11=7天,注意这里是要减去最长路径,也就是要找到最短的路径。如果说V8<-V7<-V4的权值为12,那么V4的最迟发生时间就是18-12=6天;

3.活动ai的最早发生时间e(i):这里可以看到a4前面只有a1,所以活动a4的最早发生时间e(i)就是a1的值6(不包含自己的值),对于活动a8来说,前面有两条路径:a1->a4和a2->a5选择其中最长的路径a1->a4为7,所以a8的最早发生时间为7;

4.活动ai的最迟发生时间l(i):与事件Vi的最迟发生时间vl(i)相似,首先知道活动a4指向的事件V4,然后用最长路径18减去v8->v4之间的最长路径(包含了活动自己的权值),找到其中结果的较小值,所以活动ai的最迟发生时间l(i)就是MIN(18-2-9-1,18-4-7-1)为6;

以下为所有参考:
关键路径中最早/迟发生时间_第2张图片
关键路径中最早/迟发生时间_第3张图片
关键路径中最早/迟发生时间_第4张图片
关键路径中最早/迟发生时间_第5张图片
参考书籍:数据结构C语言版

你可能感兴趣的:(数据结构,C++,图,数据结构)