AOV网与工作流网的区别与联系
定义:用顶点表示活动,用有向边表示活动的前后次序。Vi 必须先于活动Vj 进行。这种有向图叫做顶点表示活动的AOV网络(Activity On Vertices)。
从定义来看,既然Vi 必须先于活动Vj 进行,那么就意味着某个活动的前驱活动都必须完成才可以进行,如图所示,活动C3必须在活动C1和活动C2都完成的情况下才能执行,而C8和C3只要C1执行完,就可以执行,它们是并行任务。而在工作流网中,可以设置相应的活动执行条件二选择触发哪一个活动。所以AOV网是一个全入全出的工作流模型。
我们知道在工作流网中是允许回退的,即允许网中出现有向环。例如,我们从活动C9退回到活动C1,在工作流网中是允许的,活动实例C1将重新启动。但是在AOV网中这样的有向环意味着什么呢?根据定义,有向边表示活动C9先于活动C1,这时,只有C2的入度为0,没有先决条件,因此C2执行,C1由于有先决条件C9,所以必须等C9执行完才可以执行,而此时还没有执行到C9,所以C1无法执行,那么C8,C3也就无法执行,紧接着C4无法执行,C6,C7也无法执行,这样就整个流程就死掉了,根本无法执行下去,我们称这种情况为流程不可达,因此在AOV网中是不能有有向环的。
其实AOV网与工作流网在模型结构上其实是很相似的,它们都是以节点表示活动,有向边表示流程的流向,所不同的是AOV网的有向边仅仅只表示活动的前后次序,也可以说是流程中的流程流向,而工作流网中的有向边却不仅如此,它还可以在每条边上设置不同的条件来决定活动的下一环节是什么,它的出度就不一定是所有有向边了。因此,AOV网其实是工作流网的一种特例,是一种全入全出的有向无环工作流网。
那么AOE网与AOV网又有怎么样的关系呢?
AOE网的定义:在带权有向图中若以顶点表示事件,有向边表示活动,边上的权值表示该活动持续的时间,这样的图简称为AOE网。
从定义上来看,很容易看出两种网的不同,AOV网的活动以顶点表示,而AOE网的活动以有向边来表示,AOV网的有向边仅仅表示活动的先后次序。纵观这两种网图,其实它们总体网络结构是一样的,仅仅是活动所表示的方式不同,因此可以猜想从AOV网转换成AOE网应该是可行的。
通常AOE网都是和关键路径联系在一起的,在AOE网中我们可以通过关键路径法来计算影响整个工期的关键路径,达到缩短工期的目的。在传统的AOV网中是没有表示活动时间的权值的,因此传统的AOV网无法估算工期,但是如果我们在AOV网中的活动结点上都标上时间属性,那么AOV网就可以完全转换为AOE网,并且也可以采用关键路径法来估算工时,又鉴于工作流网与AOV网的相似性,那么基于AOV网的工作流网关键路径算法指日可待。