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.

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!