aktuelle Version des Vorlesungsskripts - ZIB
aktuelle Version des Vorlesungsskripts - ZIB
aktuelle 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.
7 Flüsse mit minimalen Kosten<br />
(7.28) Satz. Sei I eine Instanz eines Minimalkosten-Flussproblems mit la < ua für alle<br />
a ∈ A und I ′ eine weitere, gemäß Gleichung (7.27) definierte Instanz. Dann gilt:<br />
(a) Es existiert eine zulässige Lösung für I ′ . Genauer bilden<br />
T := A ′ \ A, L := A, U := ∅<br />
und der durch T definierte Fluss x eine zulässige Baum-Lösung von I ′ .<br />
(b) Gilt in einer Optimallösung x von I ′ xa > 0 für einen Bogen a ∈ A ′ \ A, so existiert<br />
kein zulässiger Fluss für I.<br />
(c) Ist x ein optimaler zulässiger Fluss für I ′ mit xa = 0 für a ∈ A ′ \ A, so ist x<br />
eingeschränkt auf A ein optimaler zulässiger Fluss für I. △<br />
Beweis. Hausaufgabe. ✷<br />
(7.29) Algorithmus Netzwerk-Simplex-Algorithmus.<br />
Eingabe: Zusammenhängender Digraph D = (V, A), mit Kapazitäten l, u: A → R A + mit<br />
la < ua und Kosten w ∈ R A sowie Bedarfe an den Knoten b: V → R mit <br />
i∈V bi = 0.<br />
Ausgabe: Ein zulässiger Fluss x, der kostenminimal unter allen zulässigen Flüssen ist,<br />
oder die Aussage, dass kein zulässiger Fluss existiert.<br />
144<br />
1. Initialisierung: Erstelle I ′ aus I. Alle weiteren Schritte beziehen sich auf I ′ . Setze<br />
T := A ′ \ A, L := A, U := ∅<br />
und bestimme den entsprechenden Fluss x.<br />
2. Berechnung Knotenpreise: Bestimme neue Knotenpreise y durch Lösen <strong>des</strong> Gleichungssystems<br />
(7.21) und yk = 0.<br />
3. Optimalitätstest: Wenn es kein a ∈ L ∪ U gibt mit<br />
a ∈ L und ¯ca < 0 oder a ∈ U und ¯ca > 0, (7.30)<br />
dann STOP: Wenn es ein a ∈ A ′ \ A gibt mit xa > 0, dann existiert kein zulässiger<br />
Fluss für I. Sonst gib die Einschränkung von x auf A als optimalen Fluss aus.<br />
4. Pricing: Wähle einen Bogen e ∈ L ∪ U, der (7.30) erfüllt.<br />
5. Augmentieren: Finde Kreis C in T + e und bestimme die Flussänderung ε gemäß<br />
(7.18). Aktualisiere den Fluss x gemäß (7.4) und bestimme einen Bogen f, der<br />
seine untere oder obere Kapazitätsschranke erreicht hat.<br />
6. Update: Aktualisiere die Baum-Lösung gemäß (7.19) und gehe zu Schritt 2. △