finale Version des Vorlesungsskripts - ZIB
finale Version des Vorlesungsskripts - ZIB
finale Version des Vorlesungsskripts - ZIB
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
6 Maximale Flüsse in Netzwerken<br />
W Menge der markierten Knoten<br />
U Menge der markierten, aber noch nicht überprüften Knoten<br />
VOR (n − 1)-Vektor, in dem der Vorgänger eines Knoten v auf<br />
einem augmentierenden [s, v]-Weg gespeichert wird<br />
EPS (n − 1)-Vektor, zur sukzessiven Berechnung von (6.10)<br />
Markieren und Überprüfen<br />
2. Setze W := {s}, U := {s}, EPS(s) := +∞.<br />
3. Ist U = ∅, dann gehe zu 9.<br />
4. Wähle einen Knoten i ∈ U aus und setze U := U \ {i}.<br />
5. Führe für alle Bögen (i, j) ∈ A mit j ∈ W Folgen<strong>des</strong> aus:<br />
Ist xij < cij, dann setze<br />
EPS(j) := min{cij − xij, EPS(i)},<br />
VOR(j) := +i, W := W ∪ {j}, U := U ∪ {j}.<br />
6. Führe für alle Bögen (j, i) ∈ A mit j ∈ W Folgen<strong>des</strong> aus:<br />
Ist xji > 0, dann setze<br />
EPS(j) := min{xji, EPS(i)},<br />
7. Gilt t ∈ W , gehe zu 8, andernfalls zu 3.<br />
Augmentierung<br />
VOR(j) := −i, W := W ∪ {j}, U := U ∪ {j}.<br />
8. Konstruiere einen augmentierenden Weg und erhöhe den gegenwärtigen Fluss um<br />
EPS(t), d. h. bestimme j1 = |VOR(t)|, falls VOR(t) > 0, setze xj1t := xj1t+EPS(t),<br />
andernfalls setze xtj1 := xtj1 − EPS(t). Dann bestimme j2 := |VOR(j1)|, falls<br />
VOR(j1) > 0, setze xj2j1 := xj2j1 + EPS(t), andernfalls xj1j2 := xj1j2 − EPS(t)<br />
usw. bis der Knoten s erreicht ist. Gehe zu 2.<br />
Bestimmung eines minimalen Schnittes<br />
9. Der gegenwärtige (s, t)-Fluss x ist maximal und δ + (W ) ist ein (s, t)-Schnitt minimaler<br />
Kapazität. STOP. △<br />
Aus den Sätzen (6.9) und (6.12) folgt, dass Algorithmus (6.13) für ganzzahlige Kapazitäten<br />
korrekt arbeitet und nach endlicher Zeit abbricht. Sind die Daten rational, so<br />
kann man (wie üblich) alle Kapazitäten mit dem kleinsten gemeinsamen Vielfachen ihrer<br />
Nenner multiplizieren. Man erhält so ein äquivalentes ganzzahliges Maximalflussproblem.<br />
122