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.3 Der Netzwerk-Simplex-Algorithmus<br />
Algorithmus (7.29) muss nicht terminieren, da es möglich ist, dass Bögen in T existieren,<br />
die bereits ihre untere oder obere Kapazitätsschranke erreicht haben. Es gilt dann<br />
ε = 0 in Gleichung (7.18) und durch den Tausch der Bögen e und f ändert sich zwar die<br />
Baumlösung, jedoch weder der Fluss x noch der Zielfunktionswert. Ohne entsprechende<br />
Maßnahmen kann es tatsächlich zu Cycling kommen, d. h. nach einer endlichen Zahl<br />
solcher Schritte werden dieselben Bögen erneut getauscht und der Algorithmus gerät in<br />
eine Endlosschleife.<br />
Um Cycling zu vermeiden, muss man den Bogen f, der den Baum T verlässt, sorgfältig<br />
auswählen. Wir nennen eine Baumlösung (x, T, L, U) degeneriert, falls ein Bogen a ∈ T<br />
mit xa = la oder xa = ua existiert. Außerdem wählen wir einen festen Knoten r ∈ V , der<br />
im Folgenden als Wurzel aller Spannbäume T fungieren wird.<br />
(7.31) Definition. Eine Baumlösung (x, T, L, U) heißt stark zulässig, wenn für jeden<br />
Knoten i = r der eindeutige [i, r]-Weg P in T ein augmentierender Weg für x ist, d. h.<br />
wenn für alle Bögen a ∈ P gilt: la < xa, falls a ein Rückwärtsbögen und xa < ua,<br />
falls a ein Vorwärtsbogen ist. Insbesondere ist jede nicht degenerierte Baumlösung stark<br />
zulässig. △<br />
Es ist leicht zu sehen, dass bei der Wahl r = k die Start-Baumlösung mit (T, L, U) =<br />
(A ′ \ A, A, ∅) für I ′ nicht degeneriert und daher stark zulässig ist.<br />
Sei e der im Pricing-Schritt gewählte Bogen und C der Kreis in T +e. Als Orientierung<br />
für C wählen wir die Richtung von e, falls e ∈ L und die entgegengesetzte Richtung,<br />
falls e ∈ U (der Grund für diese Abweichung von Algorithmus (7.29) wird im Beweis von<br />
Satz (7.37) klar). Ein Bogen in C − e heißt blockierend, wenn er nach dem Augmentieren<br />
eine Kapazitätsgrenze erreicht. Außerdem nennen wir den eindeutigen Knoten von C,<br />
der r am nächsten ist, den Scheitel von C. Wenn nun der Bogen f ∈ C im Augmentieren-<br />
Schritt nach der folgenden Regel gewählt wird, ist die resultierende Baumlösung wieder<br />
stark zulässig.<br />
(7.32) Regel <strong>des</strong> letzten blockierenden Bogens. Durchlaufe C beginnend beim<br />
Scheitel s in der Orientierung von C und wähle f als letzten blockierenden Bogen. △<br />
(7.33) Satz. Sei (x, T, L, U) eine stark zulässige Baumlösung und e /∈ T der im Pricing-Schritt<br />
gewählte Bogen. Wenn im Augmentieren-Schritt der Bogen f gemäß (7.32)<br />
gewählt wird, so ist die neue Baumlösung nach dem Update-Schritt stark zulässig. △<br />
Beweis. Sei x ′ der Fluss nach dem Augmentieren-Schritt. Wir müssen zeigen, dass für<br />
jeden Knoten i = r der [i, r]-Weg in T ′ := (T − f) + e bezüglich x ′ augmentierend ist.<br />
Dazu zerlegen wir den Kreis C in T + e in einen Weg W , der beim Scheitel s beginnt<br />
und C in Orientierungsrichtung durchläuft, den Bogen f, und einen Weg W ′ , der in s<br />
endet, also C = (W, f, W ′ ) (siehe Abbildung 7.2).<br />
1. Fall: i ist der Scheitel s von C. In T und T ′ ist i auf demselben [i, r]-Weg P mit r<br />
verbunden. Für einen Bogen a ∈ P ändert sich weder der Fluss noch die Richtung<br />
zu r. Da P in T augmentierend ist, ist P daher auch in T ′ augmentierend. Für die<br />
folgenden Fälle genügt es also zu zeigen, dass der [i, s]-Weg augmentierend ist.<br />
145