23.06.2013 Aufrufe

finale Version des Vorlesungsskripts - ZIB

finale Version des Vorlesungsskripts - ZIB

finale Version des Vorlesungsskripts - ZIB

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

s<br />

1/3/5<br />

3/3/4<br />

1<br />

0/1/6 2/2/4 t s 2/-4<br />

1/6<br />

2<br />

(a)<br />

3/3/7<br />

1/4/3<br />

2/5<br />

3/-4<br />

7.1 Flüsse mit minimalen Kosten<br />

Abbildung 7.1: Ein Digraph D mit Fluss x und ein augmentieren<strong>des</strong> Netzwerk bzgl. x.<br />

Um die umgekehrte Richtung zu beweisen, müssen wir etwas mehr Aufwand treiben,<br />

den wir allerdings direkt bei der Darstellung <strong>des</strong> Algorithmus benutzen können. Ist x<br />

ein zulässiger (s, t)-Fluss mit Wert f, dann definieren wir einen Digraphen (genannt<br />

augmentieren<strong>des</strong> Netzwerk bezüglich x) N = (V, A, c, w) wie folgt: Es sei<br />

A1 := {(u, v) ∈ A | xuv < cuv}, A2 := {(v, u) | (u, v) ∈ A und xuv > 0}.<br />

Ist a ∈ A, so schreiben wir a1 bzw. a2 um den zugehörigen Bogen aus A1 bzw. A2 zu<br />

bezeichnen. Schreiben wir für a ∈ A eine Formel wie etwa x ′ (a) = x(a)+x(a1)−x(a2) und<br />

ist einer der Bögen a1 bzw. a2 nicht definiert (d. h. es gilt entweder xa = ca oder xa = 0),<br />

dann ist der Wert x(a1) bzw. x(a2) als Null zu betrachten. Wir setzen A := A1 ˙∪A2 (man<br />

beachte, dass A parallele Bögen enthalten kann). Ferner sei für a ∈ A<br />

<br />

c(a) − x(a) falls a = a1,<br />

c(a) :=<br />

x(a) falls a = a2,<br />

<br />

w(a) falls a = a1,<br />

w(a) :=<br />

−w(a) falls a = a2.<br />

In Abbildung 7.1(a) ist ein Digraph mit einem (s, t)-Fluss x <strong>des</strong> Wertes 4 dargestellt.<br />

Die drei Zahlen bei einem Bogen a geben an: Fluss durch a / Kapazität von a / Kosten<br />

von a. Das augmentierende Netzwerk N bezüglich D und x ist in 7.1(b) gezeichnet. Die<br />

beiden Zahlen bei einem Bogen a in 7.1(b) geben an: Kapazität von a / Kosten von a.<br />

Der (ungerichtete) Kreis {(2, t), (1, t), (2, 1)} in Abb. 7.1(a) ist ein augmentierender<br />

Kreis mit Kosten 3 − 7 − 4 = −8. Dieser Kreis entspricht in (b) dem gerichteten Kreis<br />

{(2, t), (t, 1), (1, 2)}, wobei von den beiden zwischen 1 und 2 parallel verlaufenden Bögen<br />

natürlich der mit negativen Kosten zu wählen ist. Aufgrund der Konstruktion von N ist<br />

folgende Beziehung offensichtlich:<br />

(7.5) Lemma. Ist D = (V, A) ein Digraph mit Kapazitäten c ∈ R A + und Kosten w ∈ R A ,<br />

ist x ein zulässiger (s, t)-Fluss in D, und ist N = (V, A, c, w) das zu D und x gehörige<br />

augmentierende Netzwerk, dann entspricht jeder augmentierende Kreis in D genau einem<br />

gerichteten Kreis in N. Die Kosten eines augmentierenden Kreises in D stimmen überein<br />

mit der Summe der Kostenkoeffizienten <strong>des</strong> zugehörigen gerichteten Kreises in N. △<br />

1/-5<br />

1<br />

2<br />

(b)<br />

3/-7<br />

1/-3<br />

3/3<br />

t<br />

131

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!