针对网络流模型的应用我们继续延申更多的变种,学习更多现实案例的应用。
1
最大流与最小割
运输与分配问题是只有源集与汇集的特殊网络流模型,与之延申的还有一类特殊情景——最大流与最小割问题。我们先给定义,
一个给定有向图G(V,A)上的最大流(max flow)问题即找到一个特定源节点s和一个特定汇节点t之间的最大可行流,要求满足其他所有弧上的流守恒条件,以及给定弧容量u的限制。
有向图G(V,A)中的s-t割集(S-T)是删掉后能将图分为两个不重叠部分的弧的集合,其中一部分基于包含源节点s在内的节点S⊂ V,另一部分则基于包含汇节点t在内的T=V\S。而最小割(min cut)问题是在前向弧(i,j)中寻找一个总容量最小的s-t割集,其中i∈S,j∈T
用建筑疏散最大流例子介绍。
下面是一个竞技场的提案。在紧急情况下,竞技场中的人员可以由位于四侧的门离开,门每分钟可以容纳600人。这些门通向一个外部大厅,大厅每个方向,每分钟允许移动350人。出大厅需要通过4个消防楼梯,楼梯每分钟能容纳400人;或通过一个通往停车场的隧道,隧道每分钟能容纳800人。我们要关注的是该设计下可能的最大疏散量。
首先,为竞技场设计图添加节点,表示疏散的方向:
然后,为各个节点添加信息,简化为网络流模型(添加疏散出去后的节点10):