AOE网(Activity On Edge)即边表示活动的网,是一个带权的有向无环图,其中顶点表示事件(Event),每个事件表示在它之前的活动已经完成,在它之后的活动可以开始,弧表示活动,权表示活动持续的时间。AOE网可用来估算工程的完成时间。由于整个工程只有一个开始点和一个完成点,故在正常的情况(无环)下,网中只有一个入度为零的点(源点)和一个出度为零的点(汇点)。
由于在AOE网中有些活动可以并行地进行,所以完成工程的最短时间是从开始点到完成点的最长路径的长度(路径上各活动持续时间之和)。路径长度最长的路径叫做关键路径。假设开始点是
,从 到 的最长路径长度叫做事件 的最早发生时间,这个时间决定了所有以 为尾的弧所表示的活动的最早开始时间。用e(i)表示活动 的最早开始时间,l(i)为一个活动的最迟开始时间,这是在不推迟整个工程完成的前提下,活动 最迟必须开始进行的时间。两者之差l(i)-e(i)意味着完成活动 的时间余量。l(i)=e(i)的活动叫做关键活动。关键路径上的所有活动都是关键活动,提前完成非关键活动(不在关键路径的活动)并不能加快工程的进度。为了求得AOE网中活动的e(i)和l(i),首先应求得事件的最早发生时间ve(j)和最迟发生时间vl(j)。如果活动 由弧<j, k>表示,其持续时间记为dut(<j, k>),则有:e(i) = ve(j), l(i) = vl(k) - dut(<j, k>)。求ve(j)和vl(j)需分两步进行:活动
的最早开始时间e活动
的最晚开始时间l由此得到求关键路径的算法: