10_Max_Flows_3 - 15.082 and 6.855J Max Flows 3 Preflow-Push...

Info icon This preview shows pages 1–11. Sign up to view the full content.

View Full Document Right Arrow Icon
1 15.082 and 6.855J March 11, 2003 Max Flows 3 Preflow-Push Algorithms
Image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
2 Review of Augmenting Paths At each iteration: maintain a flow x Let G(x) be the residual network At each iteration, find a path from s to t in G(x). In the shortest augmenting path algorithm, we kept distance labels d( ), and we sent flow along the shortest path in G(x).
Image of page 2
3 Preflows At each intermediate stages we permit more flow arriving at nodes than leaving (except for s) A preflow is a function x: A R s.t. 0 x u and such that e(i) = j N x ji - j N x ij 0, for all i N – {s, t}. i.e., e(i) = excess at i = net excess flow into node i. The excess is required to be nonnegative.
Image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
4 A Feasible Preflow The excess e(j) at each node j s, t is the flow in minus the flow out. s 3 4 2 5 t 3 3 3 2 2 2 2 1 2 1 0 0 Note: total excess = flow out of s minus flow into t.
Image of page 4
5 Active nodes Nodes with positive excess are called active . s 3 4 2 5 t 3 3 3 2 2 2 2 1 2 1 0 0 The preflow push algorithm will try to push flow from active nodes towards the sink, relying on d( ).
Image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
6 Review of Distance Labels Distance labels d( ) are valid for G(x) if i. d(t) = 0 ii. d(i) d(j) + 1 for each (i,j) G(x) Defn. An arc (i,j) is admissible if r ij > 0 and d(i) = d(j) + 1. Lemma. Let d( ) be a valid distance label. Then d(i) is a lower bound on the distance from i to t in the residual network.
Image of page 6
7 Push/Relabel, the fundamental subroutine Suppose we have selected an active node i. Procedure Push/Relabel(i) begin if the network contains an admissible arc (i,j) then push δ : = min{ e(i), r ij } units of flow from i to j; else replace d(i) by min{d(j) + 1 : (i,j) A(i) and r ij > 0} end ;
Image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
8 Pushing using current arcs Tail Head Res. Cap Admissible ? 4 1 0 No 4 2 1 No 4 3 4 Yes 4 5 0 No 4 6 2 Yes Suppose that node 4 is active, and has excess. 3 4 1 2 3 5 6 1 3 2 2 2 e(4) = 2 Scan arcs in A(4) one at a time using “Current Arc” till an admissible arc is found. Push on (4,3)
Image of page 8
9 Pushing on (4,3) Tail Head Res. Cap Admissible ? 4 1 0 No 4 2 1 No 4 3 4 Yes 4 5 0 No 4 6 2 Yes 3 4 1 2 3 5 6 1 3 2 2 2 e(4) = 2 Push on (4,3) e(3) = 1 Send min (e(4), r 43 ) = 2 units of flow. 2 e(4) = 0 e(3) = 3 For the next push from node 4, start with arc (4,3). Update the residual capacities and excesses.
Image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
10 Goldberg-Tarjan Preflow Push Algorithm Procedure Preprocess begin x :=0; compute the exact distance labels d(i) for each node; x sj := u sj for each arc (s,j) A(s); d(s) := n; end Preflow Push A Algorithm PREFLOW-PUSH; begin preprocess; while there is an active node i do begin select an active node i; push/relabel(i); end; end;
Image of page 10
Image of page 11
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern