线性规划与网络流课件.pptVIP

  • 2
  • 0
  • 约9.36千字
  • 约 45页
  • 2026-06-02 发布于山东
  • 举报

無論用哪種增廣路演算法,都會找到10條增廣路,每條路長為10,容量為1。共需要10次增廣,每次增廣需要對10條邊進行操作,每條邊增廣1個單位流量。10條增廣路中的前9個頂點(前8條邊)是完全一樣的。如果直接將前8條邊的流量增廣10個單位,而只對後面長為2的不同的有向路單獨操作,就可以節省許多計算時間。這就是預流推進(preflowpush)演算法的基本思想。預流推進演算法注重對每一條邊的增流,而不必每次一定對一條增廣路增流。通常將沿一條邊增流的運算稱為一次推進(push)。在演算法的推進過程中,網路流滿足容量約束,但一般不滿足流量平衡約束。從每個頂點(除s和t外)流出的流量之和總是小於等於流入該頂點的流量之和。這種流稱為預流(preflow)。這也是這類演算法被稱為預流推進演算法的原因。下麵先給出預流的嚴格定義。給定網路G=(V,E)一個預流是定義在G的邊集E上的一個正邊流函數。該函數滿足容量約束,即對G的每一條邊(v,w)∈E,滿足0≤flow(v,w)≤cap(v,w)。*G的每一中間頂點滿足流出量小於或等於流入量。即對每個v∈V(v≠s,t)有滿足條件的中間頂點v稱為活頂點。量稱為頂點v的

文档评论(0)

1亿VIP精品文档

相关文档