关键路径

AOE 网络中顶点是事件、边是活动、边权是耗时。按拓扑序算最早发生时间 ve、逆拓扑序算 最晚发生时间 vl,再比较每个活动的 e 与 l:相等者即关键活动。关键路径决定工程总工期, 其上任何活动延误都会拖慢整个工程。

关键路径
01 / 27 步
AOE 网络共 6 个事件、7 个活动。求拓扑序(AOE 必须是有向无环图),然后计算各事件的最早/最晚发生时间。
伪代码

				
					
					1
					procedure CriticalPath(G)
				
			
				
					
					2
					  对 G 求拓扑序              // AOE 网必须是有向无环图
				
			
				
					
					3
					  for each v in 拓扑序 do
				
			
				
					
					4
					    ve[v] ← max(ve[u] + w(u, v))  // 最早发生时间
				
			
				
					
					5
					  for each v in 逆拓扑序 do
				
			
				
					
					6
					    vl[v] ← min(vl[u] - w(v, u))  // 最晚发生时间(汇点 vl = ve)
				
			
				
					
					7
					  for each 活动 a = (u, v) do
				
			
				
					
					8
					    e(a) ← ve[u]; l(a) ← vl[v] - w(a)
				
			
				
					
					9
					    if e(a) = l(a) then a 是关键活动
				
			
				
					
					10
					end procedure
				
			
01 / 27
速度