生活就是一场场的“排期”,每个人每件事都得在时间轴上安排明白,否则就容易乱套。
很典型的例子比如说学校排课,或者工程项目进度管理,大家都在思考同一个问题:“先做什么?再做什么?”
学校要安排课程,数学课得先上完,才能做物理实验;软件项目在开发时,前端没搭好,测试就没法开始。这些任务的先后顺序必须被严格遵守,否则工作会乱成一锅粥。
有没有一种方法,能直观地理清任务关系,一张图就能让所有安排一目了然?答案就是——AOV网(活动顶点网)和AOE网(活动边网)。它们不仅是数学建模中的经典工具,还被广泛应用于工程项目管理、课程安排、生产调度等领域。
今天,我们就用最通俗易懂的方式,带你理解这两张“神奇的图”!
AOV网:任务依赖关系AOV网是什么?AOV网(Activity on Vertex Network),中文称“活动顶点网”,用有向无环图(DAG)表示任务之间的依赖关系:
顶点(Vertex):表示任务,如“数学课”“物理实验”。边(Edge):表示依赖关系,如“必须先上数学课,才能做物理实验”。无环(Acyclic):不能出现循环,否则意味着“必须先上物理才能上数学”,这显然矛盾。一句话总结:AOV网就是一张“谁先谁后”的任务依赖关系图。
AOV网的实际应用:排课让我们看看学校的排课问题:
数学课得先上,才能安排物理实验和编程课。物理实验完成后,才能上工程实践。编程课结束后,才能进行软件测试。转换成AOV网:
数学 → 物理实验数学 → 编程课物理实验 → 工程实践编程课 → 软件测试
用拓扑排序解决排课问题:
找到没有前置任务的课程(入度为0)。最终的排课顺序:
数学 → (物理实验,编程课) → (工程实践,软件测试)
这样安排下来,就不会出现“物理实验比数学课还早”这种混乱情况。AOV网让整个课程安排清晰有序。
AOE网:项目进度管理3.1 AOE网是什么?AOE网(Activity on Edge Network),中文称“活动边网”,与AOV网最大的区别是:
顶点(Vertex):表示事件(Event),如“任务开始”“任务完成”。边(Edge):表示任务本身,并附带时间权重,表示任务所需的时间。一句话总结:AOE网是一张“任务+时间”的进度管理图。
AOE网的实际应用:项目管理假设一个建筑工程有如下任务:
活动开始事件结束事件持续时间(天)地基施工125钢筋绑扎233墙体砌筑244屋顶施工352装修453转换成AOE网:
地基施工 → 钢筋绑扎(5天)地基施工 → 墙体砌筑(5天)钢筋绑扎 → 屋顶施工(3天)墙体砌筑 → 装修(4天)屋顶施工 → 项目完成(2天)装修 → 项目完成(3天)
关键路径分析项目经理最关心的问题是:最早多久能完工?哪个任务不能拖?
答案就在关键路径(Critical Path):
计算最早完成时间(ES):
ES(j) = max(ES(i) + w(i, j))
2. 计算最晚开始时间(LS):
LS(i) = min(LS(j) - w(i, j))
关键路径 = 所有时差为0的路径。
计算结果:
地基施工 → 墙体砌筑 → 装修 → 项目完成
关键路径上的任务不能延误,否则整个项目都会被拖慢。项目经理们看到这张AOE网,立刻就知道该重点盯住哪些任务。
AOV网 vs. AOE网特性AOV网(任务依赖)AOE网(时间管理)关注点任务顺序任务时间顶点表示任务事件边表示任务依赖任务本身关键问题确保依赖关系正确计算工期、关键路径主要算法拓扑排序关键路径算法适用场景课程安排、任务调度工期规划、项目管理AOV网和AOE网看似简单,却能解决日常工作中最关键的排期问题:
AOV网 适用于任务顺序管理,如课程安排、生产调度;AOE网 适用于任务时间管理,如项目工期、施工进度。
不管你是排课的教务主任,还是抓进度的项目经理,掌握了这两张图,排期不再是难题,一切安排都能有条不紊!