finale Version des Vorlesungsskripts - ZIB
finale Version des Vorlesungsskripts - ZIB finale Version des Vorlesungsskripts - ZIB
7.3 Der Netzwerk-Simplex-Algorithmus Algorithmus (7.29) muss nicht terminieren, da es möglich ist, dass Bögen in T existieren, die bereits ihre untere oder obere Kapazitätsschranke erreicht haben. Es gilt dann ε = 0 in Gleichung (7.18) und durch den Tausch der Bögen e und f ändert sich zwar die Baumlösung, jedoch weder der Fluss x noch der Zielfunktionswert. Ohne entsprechende Maßnahmen kann es tatsächlich zu Cycling kommen, d. h. nach einer endlichen Zahl solcher Schritte werden dieselben Bögen erneut getauscht und der Algorithmus gerät in eine Endlosschleife. Um Cycling zu vermeiden, muss man den Bogen f, der den Baum T verlässt, sorgfältig auswählen. Wir nennen eine Baumlösung (x, T, L, U) degeneriert, falls ein Bogen a ∈ T mit xa = la oder xa = ua existiert. Außerdem wählen wir einen festen Knoten r ∈ V , der im Folgenden als Wurzel aller Spannbäume T fungieren wird. (7.31) Definition. Eine Baumlösung (x, T, L, U) heißt stark zulässig, wenn für jeden Knoten i = r der eindeutige [i, r]-Weg P in T ein augmentierender Weg für x ist, d. h. wenn für alle Bögen a ∈ P gilt: la < xa, falls a ein Rückwärtsbögen und xa < ua, falls a ein Vorwärtsbogen ist. Insbesondere ist jede nicht degenerierte Baumlösung stark zulässig. △ Es ist leicht zu sehen, dass bei der Wahl r = k die Start-Baumlösung mit (T, L, U) = (A ′ \ A, A, ∅) für I ′ nicht degeneriert und daher stark zulässig ist. Sei e der im Pricing-Schritt gewählte Bogen und C der Kreis in T + e. Als Orientierung für C wählen wir die Richtung von e, falls e ∈ L und die entgegengesetzte Richtung, falls e ∈ U (der Grund für diese Abweichung von Algorithmus (7.29) wird im Beweis von Satz (7.37) klar). Ein Bogen in C − e heißt blockierend, wenn er nach dem Augmentieren eine Kapazitätsgrenze erreicht. Außerdem nennen wir den eindeutigen Knoten von C, der r in T am nächsten ist, den Scheitel von C. Wenn nun der Bogen f ∈ C im Augmentieren-Schritt nach der folgenden Regel gewählt wird, ist die resultierende Baumlösung wieder stark zulässig. (7.32) Regel des letzten blockierenden Bogens. Durchlaufe C beginnend beim Scheitel s in der Orientierung von C und wähle f als letzten blockierenden Bogen. △ (7.33) Satz. Sei (x, T, L, U) eine stark zulässige Baumlösung und e /∈ T der im Pricing-Schritt gewählte Bogen. Wenn im Augmentieren-Schritt der Bogen f gemäß (7.32) gewählt wird, so ist die neue Baumlösung nach dem Update-Schritt stark zulässig. △ Beweis. Sei x ′ der Fluss nach dem Augmentieren-Schritt. Wir müssen zeigen, dass für jeden Knoten i = r der [i, r]-Weg in T ′ := (T − f) + e bezüglich x ′ augmentierend ist. Dazu zerlegen wir den Kreis C in T + e in einen Weg W , der beim Scheitel s beginnt und C in Orientierungsrichtung durchläuft, den Bogen f, und einen Weg W ′ , der in s endet, also C = (W, f, W ′ ) (siehe Abbildung 7.2). 1. Fall: i ist der Scheitel s von C. In T und T ′ ist i auf demselben [i, r]-Weg P mit r verbunden. Für einen Bogen a ∈ P ändert sich weder der Fluss noch die Richtung zu r. Da P in T augmentierend ist, ist P daher auch in T ′ augmentierend. Für die folgenden Fälle genügt es also zu zeigen, dass der [i, s]-Weg augmentierend ist. 145
7 Flüsse mit minimalen Kosten W f r s W ′ Abbildung 7.2: Situation im Beweis von Satz (7.33). 2. Fall: i ist auf dem Weg W ′ . Weil f der letzte blockierende Bogen ist, wenn C in Orientierungsrichtung durchlaufen wird, ist kein Bogen in W ′ blockierend in der Richtung von C. Zusammen mit Fall 1 folgt, dass kein Bogen auf dem [i, r]-Weg blockierend ist. 3. Fall: i ist auf dem Weg W . Sei ε ≥ 0 die Augmentierungs-Menge im Augmentieren- Schritt. Ist ε > 0, so ist x ′ auf W um ε Einheiten größer als x, also ist kein Bogen von W in Richtung s blockierend. Gilt hingegen ε = 0, so impliziert f /∈ W , dass der [i, s]-Weg P in T und T ′ übereinstimmt und sich darauf weder Fluss noch Richtung zu r ändert. Wie im 1. Fall ist P daher auch in T ′ bezüglich x ′ augmentierend. 4. Fall: i ist nicht in C. Da (x, T, L, U) stark zulässig ist, ist der [i, r]-Weg augmentierend bezüglich x. Sind P und C bogendisjunkt, so ist P auch der [i, r]-Weg in T ′ und daher augmentierend bezüglich x ′ . Sonst sei j der erste Knoten auf P , der zu C gehört. In T ′ ist der [i, j]-Weg augmentierend bezüglich x ′ , weil in T augmentierend bezüglich x. Da für den Knoten j einer der ersten drei Fälle gilt, ist auch der [i, r]- Weg augmentierend in T ′ . ✷ Das folgende Ergebnis benötigen wir für den Terminierungs-Beweis. Es ermöglicht außerdem eine effizientere Berechnung des Knotenpreisvektors in Schritt 2 von Algorithmus (7.29). (7.34) Lemma. Sei (x, T, L, U) eine Baumlösung in Algorithmus (7.29) und sei y der zugehörige Knotenpreisvektor. Seien weiterhin die Bögen e = (u, v) und f die im Pricing- bzw. Augmentieren-Schritt gewählten Bögen und y ′ der neue Knotenpreisvektor. Schließlich sei T1 die Zusammenhangskomponente von T − f, die r enthält und T2 := V \ T1. Dann gilt: y ′ ⎧ ⎪⎨ yi i ∈ T1, i = yi + ¯xe ⎪⎩ yi − ¯xe i ∈ T2, u ∈ T1, i ∈ T2, u ∈ T2. (7.35) △ 146
- Seite 99 und 100: 5 Bäume und Wege DISTk(u) die Län
- Seite 101 und 102: 5 Bäume und Wege VOR(3) = 2. Wir s
- Seite 103 und 104: 5 Bäume und Wege 4. DO u = 1 TO v
- Seite 105 und 106: 5 Bäume und Wege Sei nun P ein kü
- Seite 107 und 108: 5 Bäume und Wege (b) D enthält ge
- Seite 109 und 110: 5 Bäume und Wege C2 C1 s 4 C3 C4 2
- Seite 111 und 112: 5 Bäume und Wege ders vorgehen: z.
- Seite 113 und 114: 5 Bäume und Wege ist ein System vo
- Seite 115 und 116: 5 Bäume und Wege heißt (allgemein
- Seite 117 und 118: 5 Bäume und Wege Um lästige Trivi
- Seite 119 und 120: Literaturverzeichnis A. Goldberg. P
- Seite 121 und 122: 6 Maximale Flüsse in Netzwerken Al
- Seite 123 und 124: 6 Maximale Flüsse in Netzwerken de
- Seite 125 und 126: 6 Maximale Flüsse in Netzwerken s
- Seite 127 und 128: 6 Maximale Flüsse in Netzwerken W
- Seite 129 und 130: 6 Maximale Flüsse in Netzwerken Da
- Seite 131 und 132: 6 Maximale Flüsse in Netzwerken s
- Seite 133 und 134: Literaturverzeichnis L. R. Ford, Jr
- Seite 135 und 136: 7 Flüsse mit minimalen Kosten Ein
- Seite 137 und 138: 7 Flüsse mit minimalen Kosten Dami
- Seite 139 und 140: 7 Flüsse mit minimalen Kosten Dami
- Seite 141 und 142: 7 Flüsse mit minimalen Kosten 2. K
- Seite 143 und 144: 7 Flüsse mit minimalen Kosten schr
- Seite 145 und 146: 7 Flüsse mit minimalen Kosten Erf
- Seite 147 und 148: 7 Flüsse mit minimalen Kosten Die
- Seite 149: 7 Flüsse mit minimalen Kosten (7.2
- Seite 153 und 154: 7 Flüsse mit minimalen Kosten r s
- Seite 156 und 157: 8 Grundlagen der Polyedertheorie In
- Seite 158 und 159: (c) Ist F = {x ∈ P | c T x = γ}
- Seite 160 und 161: (a) =⇒ (d): Nach Definition ist {
- Seite 162 und 163: (8.12) Folgerung. Sei P = P = (A, b
- Seite 164 und 165: 9 Die Grundversion des Simplex-Algo
- Seite 166 und 167: 9.1 Basen, Basislösungen, Entartun
- Seite 168 und 169: 9.1 Basen, Basislösungen, Entartun
- Seite 170 und 171: 9.2 Basisaustausch (Pivoting), Simp
- Seite 172 und 173: gilt daher ⎛ ⎜ F · E = ⎜ ⎝
- Seite 174 und 175: 9.2 Basisaustausch (Pivoting), Simp
- Seite 176 und 177: 9.3 Das Simplexverfahren (c) Ist x
- Seite 178 und 179: Setze (II.6) Updating B ′ := (p1,
- Seite 180 und 181: 9.3 Das Simplexverfahren (Die Trans
- Seite 182 und 183: 9.3 Das Simplexverfahren x2 = 0 nic
- Seite 184 und 185: 9.3 Das Simplexverfahren Wir führe
- Seite 186 und 187: 9.3 Das Simplexverfahren Das letzte
- Seite 188 und 189: 9.4 Spalten- und Zeilenauswahlregel
- Seite 190 und 191: 9.5 Die Phase I (2) Kleinster-Varia
- Seite 192 und 193: 9.5 Die Phase I x ≥ 0. Wir müsse
- Seite 194: x1 x2 x3 s1 s2 s3 9.5 Die Phase I 6
- Seite 197 und 198: 10 Fourier-Motzkin-Elimination und
- Seite 199 und 200: 10 Fourier-Motzkin-Elimination und
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 in T am nächsten ist, den Scheitel von C. Wenn nun der Bogen f ∈ C im Augmentieren-Schritt<br />
nach der folgenden Regel gewählt wird, ist die resultierende Baumlösung<br />
wieder 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