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.

Beweis. (a) Aus der Flusserhaltungsbedingung (6.1) folgt<br />

val(x) = <br />

a∈δ + (s)<br />

= <br />

a∈δ + (W )<br />

xa − <br />

a∈δ − (s)<br />

xa − <br />

a∈δ − (W )<br />

6.1 Das Max-Flow-Min-Cut-Theorem<br />

xa = <br />

v∈W<br />

a∈δ + (v)<br />

xa − <br />

a∈δ − (v)<br />

(b) Seien δ + (W ) ein beliebiger (s, t)-Schnitt und x ein zulässiger (s, t)-Fluss, dann gilt<br />

wegen (a) und (6.2):<br />

val(x) = <br />

a∈δ + (W )<br />

xa − <br />

a∈δ − (W )<br />

xa.<br />

xa ≤ <br />

a∈δ + (W )<br />

xa<br />

ca = c(δ + (W )).<br />

Wir werden später einen kombinatorischen Beweis dafür angeben, dass der maximale<br />

Wert eines (s, t)-Flusses gleich der minimalen Kapazität eines (s, t)-Schnittes ist. Hier<br />

wollen wir jedoch bereits eine Vorschau auf die lineare Programmierung machen, die das<br />

Max-Flow-Min-Cut-Theorem in einen allgemeineren Kontext einbettet. Wir präsentieren<br />

dieses Resultat daher als Anwendung von Resultaten, die erst später in der Vorlesung im<br />

Kapitel über lineare Optimierung behandelt werden.<br />

Wir schreiben zunächst die Aufgabe, einen maximalen (s, t)-Flusswert in D zu finden,<br />

als lineares Programm. Dieses lautet wie folgt:<br />

max <br />

a∈δ + (s)<br />

<br />

a∈δ − (v)<br />

xa − <br />

a∈δ − (s)<br />

xa − <br />

a∈δ + (v)<br />

xa<br />

= x(δ + (s)) − x(δ − (s)) <br />

xa = x(δ − (v)) − x(δ + (v)) = 0 ∀v ∈ V \ {s, t},<br />

xa ≤ ca ∀a ∈ A,<br />

xa ≥ 0 ∀a ∈ A.<br />

<br />

✷<br />

(6.5)<br />

Jede zulässige Lösung von (6.5) ist also ein zulässiger (s, t)-Fluss, und jede optimale<br />

Lösung ein maximaler (s, t)-Fluss. Um das zu (6.5) duale lineare Programm aufschreiben<br />

zu können, führen wir für jeden Knoten v ∈ V \ {s, t} eine Dualvariable zv und für jeden<br />

Bogen a ∈ A eine Dualvariable ya ein. Das folgende lineare Programm ist dann (im Sinne<br />

117

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!