23.06.2013 Aufrufe

aktuelle Version des Vorlesungsskripts - ZIB

aktuelle Version des Vorlesungsskripts - ZIB

aktuelle Version des Vorlesungsskripts - ZIB

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!