aktuelle Version des Vorlesungsskripts - ZIB
aktuelle Version des Vorlesungsskripts - ZIB
aktuelle Version des Vorlesungsskripts - ZIB
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
7 Flüsse mit minimalen Kosten<br />
Erfüllt (x, T, L, U) außerdem alle Bedingungen l ≤ x ≤ u (d. h. auch für die Bögen in T ),<br />
so heißt (x, T, L, U) zulässige Baum-Lösung. △<br />
Wie wir später sehen werden (Satz (7.24)), genügt es, sich bei der Suche nach kostenminimalen<br />
Flüssen auf Baum-Lösungen zu beschränken. Baum-Lösungen haben die<br />
Eigenschaft, dass sich die Flusswerte auf den Nicht-Baum-Kanten über die Flusserhaltungsbedingungen<br />
aus den Flusswerten der Baum-Kanten eindeutig ergeben.<br />
(7.17) Lemma. Seien (T, L, U) eine Partition von A und T ein aufspannender Baum<br />
für D = (V, A). Dann existiert ein (nicht unbedingt zulässiger) eindeutiger Fluss x mit<br />
xa = la für alle a ∈ L und xa = ua für alle a ∈ U. △<br />
Beweis. Sei i ein Blatt von T und a ∈ T der mit i inzidente Bogen sowie M := L ∪ U<br />
die Menge der Bögen mit festem Flusswert. Da i ein Blatt ist, sind alle anderen mit i<br />
inzidenten Bögen in M enthalten. Auf der linken Seite der Flusserhaltungsbedingung<br />
x(δ − (i)) − x(δ + (i)) = bi sind daher alle Terme außer xa konstant, d. h. der Wert von xa<br />
ist durch diese Gleichung eindeutig bestimmt. Wenn wir nun xa auf diesen Wert festsetzen<br />
und a aus T entfernen und in die Menge M aufnehmen, können wir dieses Verfahren mit<br />
dem übrigen Baum T und der aktualisierten Menge M fortsetzen. Schließlich ergibt sich<br />
ein (nicht notwendig zulässiger) Fluss für jeden Bogen <strong>des</strong> ursprünglichen Baumes T . ✷<br />
Die Grundidee <strong>des</strong> Netzwerk-Simplex-Algorithmus ist, eine bekannte zulässige Baum-<br />
Lösung in eine andere, kostengünstigere Baum-Lösung „umzubauen“. Konkret passiert<br />
dies, indem wir einen Bogen e ∈ A\T (engl. „entering arc“) zu T hinzunehmen und einen<br />
Bogen f ∈ T (engl. „leaving arc“) aus T entfernen. Damit die Baum-Eigenschaft erhalten<br />
bleibt, sollte f natürlich auf dem eindeutigen Kreis C in T +e liegen. Wir wählen die Orientierung<br />
von C so, dass e ein Vorwärtsbogen auf C ist; F und B bezeichnen die Mengen<br />
der Vorwärts- bzw. Rückwärtsbögen in C. Damit die Aufnahme von e den Zielfunktionswert<br />
verbessert, müssen wir den Fluss auf e erhöhen (e ∈ L) oder verringern (e ∈ U).<br />
Wenn wir den Fluss auf e um ε verändern, erhalten wir einen neuen Fluss x ′ , indem wir<br />
alle Flüsse auf Bögen von C gemäß Gleichung (7.4) anpassen, sodass die Flusserhaltung<br />
weiter gewährleistet ist. Damit x ′ auch die Kapazitätsschranken einhält, dürfen wir ε nur<br />
so groß wählen, dass x ′ auf C eine Kapazitätsschranke erreicht, d. h. ε ist<br />
ε := min min{xa − la | a ∈ B}, min{ua − xa | a ∈ F } . (7.18)<br />
Es ist durchaus möglich, dass ε = 0 auftritt. Sei f einer der Bögen in T , der durch<br />
die Änderung <strong>des</strong> Flusses um ε seine Kapazitätsschranke erreicht (Achtung: hier kann<br />
auch e = f gelten). Die Baum-Lösung für den neuen Fluss x ′ ergibt sich als<br />
140<br />
T := (T − f) + e,<br />
<br />
(L − e) + f falls x<br />
L :=<br />
′ f = la,<br />
,<br />
(L − e) sonst,<br />
<br />
(U − e) + f falls x<br />
U :=<br />
′ f = ua,<br />
(U − e) sonst.<br />
(7.19)