Ulrich Faigle Skriptum zur Vorlesung Sommersemester 2006

Werbung
EINFÜHRUNG IN DIE MATHEMATIK
DES OPERATIONS RESEARCH
Ulrich Faigle
Skriptum zur Vorlesung
Sommersemester 2006
Universität zu Köln
Universität zu Köln
Mathematisches Institut
Zentrum für Angewandte Informatik
Weyertal 80
[email protected]
www.zaik.uni-koeln.de/AFS
Inhaltsverzeichnis
Kapitel 1. Theorie linearer Ungleichungssysteme
3
1. Halbräume, Hyperebenen und abgeschlossene konvexe Mengen 4
2. Trennung
5
3. Dimension und affine Hülle
8
4. Seitenflächen und Extrempunkte
10
5. Der Algorithmus von Fourier-Motzkin
11
6. Zwei Anwendungen
19
Kapitel 2. Polyeder und Polytope
1. Darstellung und Dekomposition von Polyedern
2. Optimierung linearer Funktionen
3. Rezessionskegel und polyedrische Kegel
4. Polytope
5. Facetten und Basislösungen
6. Rationale Polyeder
23
23
27
28
28
32
33
Kapitel 3. Konvexe Funktionen
1. Differenzierbare konvexe Funktionen
2. Minimierung konvexer Funktionen
3. Newtons Methode und die Methode innerer Punkte
35
35
37
44
Kapitel 4. Die Simplexmethode
1. LP-Dualität
2. Die Simplexmethode
3. Die Zweiphasenmethode
4. Die primal-duale Methode
47
48
50
56
59
Kapitel 5. Ganzzahlige lineare Programme
1. Schnittebenen
2. Unimodularität
61
61
66
Kapitel 6. Flüsse in Netzwerken
1. Das Matching-Polytop
2. Kürzeste Wege
3. Zirkulationen und das MAX-Flow-MIN-Cut-Theorem
4. Der Algorithmus von Ford-Fulkerson
69
71
71
73
76
1
2
INHALTSVERZEICHNIS
5.
Der Präfluss-Markierungsalgorithmus
77
KAPITEL 1
Theorie linearer Ungleichungssysteme
Wir betrachten Ungleichungssysteme der folgenden Form
aTi x ≤ bi
(i ∈ I).
Hier ist I eine (endliche oder unendliche) Indexmenge. Die Parameter
aTi = [ai1, , . . . , ain ] ∈ Rn
und
bi ∈ R
sind als gegeben vorausgesetzte Koordinatenvektoren und reelle Zahlen.
Für die Anwendungen ist es oft wichtig, sich auf den rationalen Zahlkörper
Q zu beschränken. Unser Problem ist nun:
• Bestimme ein x ∈ Rn , das alle diese Ungleichungen
n
X
aij xj ≤ bi
(i ∈ I)
j=1
erfüllt, oder stelle fest, dass kein solches x existiert.
Mit A = [aij ] bezeichnen wir die (möglicherweise unendliche) Matrix mit
den n-dimensionalen Zeilenvektoren aTi . D.h. A ist die Abbildung
A : I × {1, . . . , n} → R
mit
A(i, j) = aij .
Entsprechend ist b = [bi ] ∈ RI der Koeffizentenvekor der rechten Seite des
Ungleichungssystems. Wir notieren das Ungleichungssystem dann kurz als
Ax ≤ b
←→
n
X
aij xj ≤ bi
(i ∈ I).
j=1
Die Lösungsmenge des Ungleichungssystem ist
P (A, b) = {x ∈ Rn | Ax ≤ b}.
E X . 1.1. Ein lineares Gleichungssystem Ax = b mit A ∈ Rm×n und b ∈
Rm ist äquivalent mit dem Ungleichungssystem
Ax ≤ b
−Ax ≤ −b
3
4
1. THEORIE LINEARER UNGLEICHUNGSSYSTEME
Die Lösungsmenge A = {x ∈ Rn | Ax = b} ist ein sog. affiner Teilraum
von Rn .
E X . 1.2. Wir betrachten eine Matrix X = [xij ] ∈ Rn×n als n2 -dimensionalen
Koordinatenvektor. Dann ist eine Lösung X = [xij ] des (unendlichen) Ungleichungssystems
Pn Pn
n
i=1
j=1 ai aj xij ≥ 0 ([a1 , . . . , an ] ∈ R )
xij − xji
= 0 (i, j = 1, . . . , n)
eine positiv semidefinite Matrix.
1. Halbräume, Hyperebenen und abgeschlossene konvexe Mengen
Wir betrachten zunächst den Fall, wo A nur aus einem einzigen Zeilenvektor aT besteht. Ist a 6= 0, so ist die Punktmenge
P (a, b) = {x ∈ Rn | aT x ≤ b}
ein sog. (n-dimensionaler) Halbraum. Im Fall a = 0 erhalten wir Rn =
P (0, 0) als trivialen“ Halbraum. Ebenso ist die leere Menge ∅ = P (0, −1)
”
ein trivialer Halbraum. Per Definition ist also die Lösungsmenge eines linearen Ungleichungssystems immer ein Durchschnitt von Halbräumen.
E X . 1.3 (Hyperebenen). Die Hyperebene H(a, b) = {x ∈ Rn | aT x = b}
ist Durchschnitt ihrer zugeordneten Halbräume
H(a, b) = P (a, b) ∩ P (−a, −b)
bzw. Lösungsmenge des linearen Ungleichungssystems
a1 x 1 + . . . + an x n ≤
b
←→ a1 x1 + . . . + an xn = b.
−a1 x1 − . . . − an xn ≤ −b
Ein Halbraum P (a, b) ist eine konvexe Menge, d.h. es gilt
z(λ) = x+λ(y−x) ∈ P (a, b) für alle x, y, ∈ P (a, b) und rellen 0 < λ < 1.
Ausserdem ist P (a, b) (im Sinn der Analysis) abgeschlossen. Offensichtlich
wird Abgeschlossenheit und Konvexität unter Durchschnittsbildung erhalten. Also erhalten wir:
• Die Lösungsmenge eines linearen Ungleichungssystems ist konvex und abgeschlossen.
Wir wollen nun zeigen, dass die konvexen abgeschlossenen Mengen im Rn
genau die Lösungsmengen von linearen Ungleichungssystemen sind.
2. TRENNUNG
5
2. Trennung
Es sei nun S ⊆ Rn eine beliebige nichtleere, abgeschlossene und konvexe
Menge. Die zentrale Beobachtung ist nun:
L EMMA 1.1 (Trennungslemma). Sei S konvex und abgeschlossen. Dann
existiert für jedes y ∈ Rn \ S ein Koordinatenvektor c ∈ Rn und ein x0 ∈ S
derart, dass
cT y > cT x0 ≥ cT x für alle x ∈ S.
M.aW.: Mit z = cT x0 hat man y ∈
/ P (c, z) und S ⊆ P (c, z)
T ERMINOLOGIE . Man sagt, dass die Hyperebene H = {x ∈ Rn | cT x =
z} den Punkt y ∈ Rn von der Menge S ⊆ Rn trennt. H heisst Stützhyperebene von S im Punkt x0 .
Beweis des Trennungslemmas. Der wesentliche Punkt ist die Beobachtung, dass
das Minimierungsproblem
min ky − xk
x∈S
eine optimale Lösung x0 ∈ S besitzt. Sie Funktion x 7→ kx − yk ist nämlich
stetig auf Rn und wir dürfen offenbar oBdA S als kompakt annehmen. (Ansonsten
beschränken wir uns auf die kompakte Menge
SR = {x ∈ S | ky − xk ≤ R},
wobei R > 0 so gross gewählt ist, dass SR 6= ∅ gilt.) Da eine stetige Funktion
auf einem Kompaktum ihre Extremwerte annimmt, wissen wir, dass eine Minimallösung x0 ∈ S existiert. Wir haben nun x0 6= y (wegen y ∈
/ S). Wir setzen
c = y − x0 und rechnen nach, dass c die gewünschten Eigenschaften hat.
Wir zeigen zuerst cT x0 < cT y:
cT y − cT x0 = cT (y − x0 ) = ky − x0 k2 > 0.
Wir betrachten nun einen beliebigen Punkt x ∈ S und setzen
z(λ) = x0 + λ(x − x0 )
(0 < λ < 1).
Dann gilt z(λ) ∈ S und deshalb
kck2 = ky − x0 k2 ≤ ky − z(λ)k2 = kc − λ(x − x0 )k2 .
Ausmultiplizieren ergibt
−2λcT (x − x0 ) + λ2 kx − x0 | ≥ 0
bzw.
− 2cT (x − x0 ) + λkx − x0 k ≥ 0
und liefert
cT x − cT x0 = cT (x − x0 ) ≤
1
lim λkx − x0 k2 = 0.
2 λ→0
6
1. THEORIE LINEARER UNGLEICHUNGSSYSTEME
E X . 1.4. Die Voraussetzung der Abgeschlossenheit von S im Trennungslemma ist wichtig. Die Menge
S = {(x1 , x2 ) | x21 + x22 < 1} ⊆ R2
ist konvex. Das Trennungslemma gilt aber nicht.
Man bemerke, dass man bei den Vekoren c im Trennungslemma ohne Beschränkung der Allgemeinheit eine normierte Länge kck = 1 fordern darf.
S ATZ 1.1. Eine Teilmenge S ⊆ Rn ist genau dann konvex und abgeschlossen, wenn S Lösungsmenge eines linearen Ungleichungssystems ist.
Beweis. Der Fall S = Rn oder S = ∅ ist trivial. In allen anderen Fällen erhalten
wir nach dem Trennungslemma
\
S=
Py ,
y∈S
/
wobei die Py Halbräume mit S ⊆ Py und y ∈
/ Py sind.
2.1. Polaren. Einer Teilmenge S ⊆ Rn , die den Koordinatenursprung
0 ∈ Rn enthält, kann man auf zweierlei Arten eine konvexe Menge zuordnen. Einmal betrachten wir die Menge aller Konvexkombinationen (d.h.
Linearkombinationen mit nichtnegativen Koeffizienten, die sich zu 1 aufsummieren):
conv S = {
k
X
λi si | si ∈ S, λi ≥ 0,
i=1
k
X
λ1 = 1}.
i=1
B EMERKUNG. Der Koeffizientenvektor (λ1 , . . . , λk ) einer Konvexkombination
ist nichts anderes als eine Wahrscheinlichkeitsverteilung auf k Elementarereig”
nissen “ im Sinne der Wahrscheinlichkeitsrechnung.
conv S ist die konvexe Hülle von S. Dual dazu definiert man
(1)
S pol = {x ∈ Rn | sT x ≤ 1 für alle s ∈ S}.
S pol ist die Polare zu S. S pol ist Lösungsmenge eines linearen Ungleichungssystems und deshalb abgeschlossen (und konvex). Stellen wir uns
S als eine Matrix mit den Zeilenvektoren sT vor, so ist ja
S pol = P (S, 1),
wobei b = 1 der Vektor mit allen Komponenten bi = 1 bedeutet.
2. TRENNUNG
7
M OTIVATION : Sei cT x ≤ z eine lineare Ungleichung, die von allen s ∈ S erfüllt
wird. Dann gilt z ≥ 0 (wegen 0 ∈ S). Im Fall z > 0 kann man die Koeffizienten
per Division durch z skalieren und enthält die äquivalente Ungleichung
cT x ≤ 1
(c = z −1 c).
S pol ist gerade die Menge aller solcher Koordinatenvektoren c.
G EOMETRISCHE I NTERPRETATION : Ein Vektor c 6= 0 ist Normalenvektor der
Hyperebene
H(c, 1) = {x ∈ Rn | cT x = 1}
mit Abstand d = kck−2 vom Ursprung 0. c gehört zu S pol genau dann, wenn der
zugeordnete Halbraum, der den Ursprung 0 enthält, auch die gesamte Menge S
umfasst.
Man macht sich leicht klar:
• S ⊆ (S pol )pol .
• S ⊆ T =⇒ T pol ⊆ S pol .
• S pol = (conv S)pol .
S ATZ 1.2. Sei S ⊆ Rn eine beliebige nichtleere Menge mit 0 ∈ S.
(i) S ist ein konvex ⇐⇒ S = conv S.
(ii) S ist eine abgeschlossene konvexe Menge ⇐⇒ S = (S pol )pol .
Beweis. Der Beweis von Behauptung (i) ist Routine. Wir zeigen (ii). Im Fall
S = (S pol )pol ist S ist S Durchschnitt von Halbräumen und somit konvex und
abgeschlossen.
Sei nun umgekehrt S konvex und abgeschlossen. Wir betrachten ein Ungleichungssystem Ax ≤ b mit S = P (A, b). Wegen 0 ∈ S muss bi ≥ 0 für jede Komponente
bi von b gelten. Nach etwaiger Skalierung dürfen wir somit oBdA bi ∈ {0, 1} annehmen.
Ersetzen wir weiterhin jede Ungleichung vom Typ aTi x ≤ 0 durch unendlich viele
Ungleichungen
(kai )T ≤ 1
(k ∈ N).
so dürfen wir oBdA sogar
S = {x ∈ Rn | aTi x ≤ 1 (i ∈ I)}
annehmen. Das bedeutet aber ai ∈ S pol für alle i ∈ I und folglich
S ⊆ (S pol )pol = Apol ⊆ S
d.h. S = (S pol )pol .
8
1. THEORIE LINEARER UNGLEICHUNGSSYSTEME
3. Dimension und affine Hülle
Unter der Dimension des Ungleichungssystems Ax ≤ b versteht man gewöhnlich die Anzahl n der Variablen xj . Wir interessieren uns jedoch auch für
die Dimension des Lösungsraums P (A, b). Allgemein definieren wir für
eine beliebige Teilmenge S ⊆ Rn die (affine) Dimension
dim S = max{k | es gibt k + 1 affine unabhänige Punkte x0 , x1 . . . , xk ∈ S}.
Insbesondere ergibt sich dim ∅ = −1 und dim Rn = n.
E RINNERUNG: Eine Menge {x0 , . . . , xk } von Punkten ist affin unabhänging,
wenn die Menge {x1 − x0 , . . . , xk − x0 } von Vektoren linear unabhängig ist.
Unter der affinen Hülle von S versteht man die Menge aff S aller Punkte,
die sich als affine Linearkombinationen aus S ausdrücken lassen:
k
k
X
X
aff S = {
λi si | si ∈ S,
λi = 1}.
i=0
i=0
n
aff S ist der kleinste affine Teilraum von R , der S enthält und es gilt
dim S = dim aff S.
E RINNERUNG : Die affinen Teilräume A von Rn sind genau die Lösungsmengen
von linearen Gleichungssystemen:
A = {x ∈ Rn | Ax = b}.
Bei Gleichungssystemen darf man (im Gegensatz zu Ungleichungssystemen!) immer A als endliche Matrix annehmen. Es gilt die Dimensionsformel
(2)
dim A = n − rg A
(rg A = (Zeilen/Spalten-)Rang von A)
3.1. Affine Transformationen. Unter einer affinen Transformation versteht man eine Abbildung T : Rn → Rm der Form
T (x) = Ax + t wobei A ∈ Rm×n , t ∈ Rm .
Affine Transformationen sind insbesondere stetige Abbildungen und man
rechnet leicht nach:
• Affine Transformationen führen affine Teilräume in affine Teilräume
über und Urbilder affiner Teilräume sind affine Teilräume.
• Affine Transformationen erhalten Konvexität und Urbilder konvexer Mengen sind konvex.
Also gilt
3. DIMENSION UND AFFINE HÜLLE
9
L EMMA 1.2. Affine Transformationen erhalten abgeschlossene konvexe Mengen.
E X . 1.5 (Translationen). Für ein festes t ∈ Rn ist die Translationsabbildung
x 7→ T (x) = x + t
affin. Sei P = P (c, z) = {x ∈ Rn | xT ≤ z} ein beliebiger Halbraum.
Dann gilt
y ∈ T (P )
⇐⇒
cT (y − t) ≤ z
d.h.
cT y ≤ z 0 = z − cT t.
Folglich ergibt sich T (P ) = P (c, z 0 ) wieder als Halbraum. Analog verhalten sich natürlich auch beliebige Durchschnitte von Halbräumen unter
Verschiebungen.
3.2. Abzählbarkeit. Die Lösungsmenge eines linearen Ungleichungssystems ist zwar nicht unbedingt schon durch endlich viele Ungleichungen
beschreibbar. Eine abgeschlossene konvexe Menge S ⊆ Rn lässt sich jedoch immer durch ein System von (höchstens) abzählbar vielen linearen
Ungleichungen darstellen.
Im Fall dim S = n folgt dies aus der Beobachtung, dass Qn in Rn dicht
liegt. Für jeden Punkt x ∈ S und jedes ε > 0 gilt dann
[S ∩ Uε (x)] ∩ Qn 6= ∅.
Es genügt also, nur solche trennenden Halbräume Py zu betrachten, für die
y ∈ Qn gilt: Wenn wir alle rationalen Punkte einer ε-Umgebung Uε (y) von
S getrennt haben, dann ist auch y von S getrennt.
Im Fall dim S = m < n ist aff S isomorph zu Rm . Wählen wir ein entsprechendes Koordinatensystem für aff S können wir das obige Argument
ebenso bzgl. Qk anwenden.
KOROLLAR 1.1. Genau dann ist S ⊆ Rn konvex und abgeschlossen, wenn
es eine höchstens abzählbare Indexmenge I und Ungleichungen aTi x ≤ bi
gibt mit der Eigenschaft
S = {x ∈ Rn | aTi x ≤ bi , i ∈ I}.
10
1. THEORIE LINEARER UNGLEICHUNGSSYSTEME
4. Seitenflächen und Extrempunkte
Sei S ⊆ Rn eine abgeschlossene konvexe Menge. Eine Teilmenge F ⊆ S
heisst Seitenfläche von S wenn F Berührfläche“ von S mit einer Hyerebe”
ne ist, d.h. wenn es einenen Koordinatenvektor a 6= 0 und eine reelle Zahl
b ∈ R gibt mit den Eigenschaften
(SF1 ) S ⊆ {x ∈ Rn | aT x ≤ b} = P (a, b).
(SF2 ) F = {x ∈ S | aT x = b} = S ∩ H(a, b).
Danach sind S und ∅ sicher Seitenflächen. Sie sind die sog. trivialen Seitenflächen. Die übrigen (sofern sie existieren) sind die nicht-trivialen Seitenflächen. Ist F = {v} eine einelementige Seitenfläche von S, so ist v ein
sog. Extrempunkt (oder Eckpunkt) von S.
Aus der Definition ergibt sich sofort, dass eine Seitenfläche F von S selber
eine abgeschlossene konvexe Menge ist. Wir haben
dim F ≤ dim S − 1
⇐⇒
F 6= S.
Die Extrempunkte von S entsprechen den Seitenflächen F mit dim F = 0.
E X . 1.6. Sei S = {(x1 , x2 , x3 ) ∈ R2 | x21 + x22 + x23 ≤ 1}. Die nichttrivialen
Seitenflächen von S sind genau die Punkte auf der Kugeloberfläche, die
gleichzeitig auch die Extrempunkte von S sind.
E X . 1.7 (Stützhyperebenen). Jede Stützhyperebene H = H(c, b) ergibt eine
nichtleere Seitenfläche von S. Sei x0 der Stützpunkt von H: Dann gilt (SF1 )
wegen
cT x ≤ b = cT x0 für alle x ∈ S.
Die Seitenfläche F = S ∩ H enthält x0 und ist folglich nichtleer.
P ROPOSITION 1.1. Sind F1 , F2 Seitenflächen der abgeschlossenen konvexen Menge S ⊆ Rn , dann ist auch F = F1 ∩ F2 eine Seitenfläche von
F.
Beweis. Sei F1 = S ∩ H(a1 , b1 ) und F2 = S ∩ H(a2 , b2 ). Wir setzen a = a1 + a2
und b = b1 + b2 . Dann gilt nach Voraussetzung für alle x ∈ S:
aT1 x ≤ b1 , aT2 x ≤ b2
und deshalb aT x ≤ b.
Ausserdem haben wir
aT x = b
⇐⇒
aT1 x = b1 und(!) aT2 x = b2
und somit F = S ∩ H(a, b).
N OTA B ENE : Wie schon das Beispiel des (Voll-)Kreises zeigt, ist die Vereinigung F1 ∪ F2 von zwei Seitenflächen im allgemeinen keine Seitenfläche!
5. DER ALGORITHMUS VON FOURIER-MOTZKIN
11
5. Der Algorithmus von Fourier-Motzkin
Wir diskutieren nun einen Algorithmus zum Lösen linearer Ungleichungssysteme, der natürlich nur bei endlichen Systemen praktisch durchführbar
ist, aber doch auch bei unendlichen Systemen im Prinzip“ anwendbar ist.
”
Wir gehen aus von einem Ungleichungssystem
n
X
T
ai x =
aij xj ≤ bi (i ∈ I).
j=1
Wir wollen nun (ähnlich wie beim Gauss-Verfahren) die Variablen xj der
Reihe nach eliminieren und beginnen mit z.B. x1 . Seien
I+ = {i ∈ I | ai1 > 0}, I− = {i ∈ I | ai1 < 0}, I0 = {i ∈ I | ai1 = 0}.
Dividieren wir die Ungleichungen in I1 und I2 jeweils durch |ai1 |, so erhalten wir das äquivalente System
x1 +
−x1 +
(3)
X
j=2
X
j=2
X
a0rj xj ≤ b0r (r ∈ I+ )
a0sj xj ≤ b0s (s ∈ I− )
atj xj ≤ bt
(t ∈ I0 )
j=2
x = (x1 , x2 , . . . , xn ) ist also genau dann zulässige Lösung, wenn gilt
n
X
(i) (x2 , . . . , xn ) erfüllt
atj xj ≤ bt für alle t ∈ I0 .
j=2
(ii) −bs +
n
X
a0sj xj
≤ x 1 ≤ br −
j=2
n
X
a0rj xj für alle r ∈ I+ , s ∈ I− .
j=2
Gegeben (x2 , . . . , xn ), das (i) erfüllt, so existiert ein x1 , das (ii) erfüllt, genau dann, wenn gilt
n
X
(iii)
(a0rj + a0sj )xj ≤ br + bs für alle r ∈ I+ und s ∈ I− .
j=2
In diesem Fall können wir jedes x1 mit
n
n
X
X
0
(4)
sup − bs +
asj xj ≤ x1 ≤ inf br −
a0rj xj
s∈I−
j=2
r∈I+
j=2
wählen. Das heisst, wir gewinnen x1 per Rücksubstitution aus den schon als
bekannt angenommenen Grössen x2 , . . . , xn .
12
1. THEORIE LINEARER UNGLEICHUNGSSYSTEME
B EMERKUNG. Wenn (iii) erfüllt ist, existiert in der Tat ein x1 , das (4) genügt. Im
Fall I∗ = ∅ oder I− = ∅ ist das offensichtlich. Im Fall I+ 6= ∅ 6= I− folgt die
Behauptung aus der Definition der reellen Zahlen.
L EMMA 1.3. Das System (3) ist äquivalent mit dem System
n
X
(i)
ait xj ≤ bt (t ∈ I0 )
j=2
(iii)
n
X
(a0rj + a0sj )xj ≤ br + bs
(r ∈ I+ , s ∈ I− )
j=2
FM-Elimination. Lemma 1.3 führt auf eine rekursive Beschreibung des
Eliminationsverfahrens bzgl. (3):
Fourier-Motzkin
Berechne eine Lösung (x2 , . . . , xn ) für das System (i)&(iii);
STOP wenn keine Lösung existiert;
Berechne x1 mit Rückwärtssubstitution nach (4).
E X . 1.8.
3x + y − 2z
− 2y − 4z
−x + 3y − 2z
y + 4z
2x − 5y + z ≤
≤ 1
≤ −14
≤ −2
≤ 13
0
5.1. Lösbarkeit und Satz der Alternative. Man bemerke: Das FMVerfahren benutzt nur die folgenden Operationen auf dem Ungleichungssystem:
(i) Multiplikation einer Ungleichung mit einer positiven Zahl.
(ii) Addition von zwei Ungleichungen.
Daraus folgt:
• Nach jeder Elimination einer Variablen ist jede der Ungleichungen des resultierenden Systems eine Linearkombination der Ungleichungen des Ausgangssystems mit positiven Koeffizienten.
Wenn alle Variablen xj elimiert sind, sind die Koeffizienten auf der linken
Seite des Systems alle = 0. Das System ist lösbar genau dann, wenn dann
die Koeffizienten auf der rechten Seite alle nichtnegativ sind.
S ATZ 1.3 (Satz der Alternative). Genau eine der Aussagen ist richtig:
5. DER ALGORITHMUS VON FOURIER-MOTZKIN
13
(I) Das System Ax ≤ b besitzt eine Lösung.
(II) Es gibt nichtnegativen einen Vektor y ∈ RI mit nur endlich vielen
positiven Komponenten derart, dass
yT A = 0T
und
yT b < 0 .
B EMERKUNG. Die Ausdrücke yT A und yT b im Satz sind auch bei unendlicher
Indexmenge I wohldefiniert. Wir nehmen ja an, dass nur endlich viele Komponenten yi von y von 0 verschieden sind. Also gibt es eine endliche Teilmenge I 0 ⊆ I
derart, dass
X
X
yT A =
yi aTi und yT b =
y i bi .
i∈I 0
i∈I 0
Beweis. Die beiden Aussagen können nicht gleichzeitig gelten, denn sonst hätten
wir den Widerspruch
0 = 0T x = yT Ax ≤ yT b < 0.
Um einzusehen, dass mindestens eine Aussage richtig ist, nehmen wir an, dass (I)
falsch ist. Also gibt es (nach der FM-Elimination aller Variablen) eine nichtnegative Linearkombination der Ungleichungen ai x ≤ bi mit Nullkoeffizienten links
und einem negativen Koeffizienten rechts. Wählen wir y als den Vektor der Koeffizienten dieser Linerkombination, so erhalten wir (II).
B EMERKUNG (L EMMA VON FARKAS). Im Fall eines endlichen Systems Ax ≤
b ist der obige Alternativsatz auch als Lemma von Farkas“ bekannt. Es gibt aber
”
auch noch eine andere Form des Lemmas von Farkas (s.u.).
KOROLLAR 1.2. Das System Ax ≤ b ist lösbar genau dann, wenn jedes
endliche Teilsystem A0 x ≤ b0 lösbar ist.
Beweis. Eine Lösung x∗ von Ax ≤ b ist natürlich auch eine Lösung des Teilsystems A0 x ≤ b. Ist Ax ≤ b nicht lösbar, so gilt Alternative (II) im Satz 1.3). Die
Alternative (II) bezieht sich auf ein endliches Teilsystem. Also ist auch dieses nicht
lösbar.
KOROLLAR 1.3 (Gordan). Sei A ∈ Rm×n eine Matrix. Dann gilt genau
eine der Aussagen:
(I) Ax = 0, x ≥ 0 hat eine Lösung x∗ 6= 0.
(II) yT A < 0T hat eine Lösung.
Beweis. Übung.
N OTATION. x < y bedeutet, dass die Relation xj < yj für alle Komponenten
gilt.
14
1. THEORIE LINEARER UNGLEICHUNGSSYSTEME
5.2. Implizierte und gültige Ungleichungen. Sei S ⊆ Rn eine beliebige nicht-leere Teilmenge und cT x ≤ z eine lineare Ungleichung. Wir
sagen S impliziert cT x ≤ z, wenn gilt
cT x ≤ z
für alle x ∈ S.
T
Ebenso sagt man, dass c x ≤ z eine für S gültige Ungleichung ist. Diese
Implikation erlaubt zwei Interpretationen:
O PTIMIERUNG :
(i) supx∈S cT x ≤ z.
(ii) F = {x ∈| cT x = z} ist die Menge aller Optimallösungen
des entsprechenden Maximierungsproblems.
G EOMETRIE :
(i) Der Halbraum P (c, z) = {x ∈ Rn | cT x ≤ z} enthält S.
(ii) F = {x ∈| cT x = z} ist eine Seitenfläche von S.
Man sagt, dass cT x ≤ z von Ax ≤ b impliziert wird, wenn die Ungleichung cT x ≤ z von der Lösungsmenge des Systems Ax ≤ b impliziert
wird:
Ax∗ ≤ b =⇒ cT x ≤ z für alle x∗ ∈ Rn .
Die zweite Form des Lemmas von Farkas“ ist nun:
”
L EMMA 1.4 (Farkas). Sei Ax ≤ b ein endliches lösbares lineares Ungleichungssystem. Dann wird cT x ≤ z von Ax ≤ b genau dann impliziert,
wenn es einen Koeffizientenvektor y ≥ 0 gibt derart, dass
cT = yT A
und
yT b ≤ z.
Beweis. Sei cT = yT A eine nichtnegative Linearkombination von Zeilen von A.
Dann gilt für jede Lösung x:
yT (b − Ax) ≥ 0
und folglich cT x = yT Ax ≤ yT b.
Also ist cT x ≤ z impliziert wennimmer z ≥ yT b. Die Bedingung ist also hinreichend. Um die Notwendigkeit einzusehen, betrachten wir das System
Ax
≤ b
T
−c x + xn+1 ≤ −z
Nach Annahme hat dieses keine Lösung mit xn+1 > 0. Wir eliminieren nun all
Variablen x1 , . . . , xn . Im resultierenden System können nicht alle Koeffizienten in
der Spalte von xn−1 den Wert 0 haben, da die FM-Methode nur positive Linearkombinationen von Zeilen benutzt. Sei der Koeffizient ai,n+1 6= 0. Nun ist der
Koeffizientenvektor Zeile i von der Form
y0 (−cT , 1) + yT [A, 0] mit
ai,n+1 = y0 > 0, y ≥ 0
und
Dividieren wir diese Zeile durch y0 , so dürfen wir annehmen:
cT = yT A, y ≥ 0 und
ai,n+1 = 1.
y0 cT = yT A.
5. DER ALGORITHMUS VON FOURIER-MOTZKIN
15
Der Koeffizient auf der rechten Seite ist entsprechend (nach Division durch y0 ):
bi = −z + yT b
Wären diese (wegen der Endlichkeit von Ax ≤ b nur endlich vielen) Koeffizienten
bi alle positiv, so gäbe es eine Lösuung mit xn+1 > 0. Also existiert mindestens
einer mit der gewünschten Eigenschaft
−z + yT b ≤ 0
d.h. yT b ≤ z
B EMERKUNG. Das Farkaslemma kann auf analoge Art auch für ein unendliches
System Ax ≤ b abgeleitet werden, wenn die Lösungsmenge S = P (A, b) kompakt ist. Das nachfolgende Beispiel zeigt, dass des Farkaslemma bei unendlichen
Systemen ohne Zusatzannahmen falsch sein kann.
E X . 1.9. Sei S = {(x, y) ∈ R2 | x > 0, y ≥ 1/x}. S ist Lösungsmenge des
unendlichen Ungleichungssystems
1
x + y ≥ 2r (r ∈ R, r > 0)
r2
Die Ungleichung x ≥ 0 gilt offenbar für S. Sie lässt sich aber nicht als
positive (endliche) Linearkombination aus dem System ableiten.
5.2.1. Konstruktion von Seitenflächen. Das Lemma von Farkas (in seiner zweiten Form) liefert eine Methode, wie man im Prinzip alle Seitenflächen einer durch das Ungleichungssystem Ax ≤ b beschriebenen abgeschlossenen und konvexen Menge S = P (A, b) konstruieren kann. Dabei
nehmen wir gleich den nichttrivialen Fall S 6= ∅ an.
Wir wählen eine beliebige endliche Teilmatrix AF und bilden daraus den
Vektor cT = 1T AF als die Summe alle Zeilenvektoren von AF . Weiterhin
sei z = 1T bF die entsprechende Summe der rechten Seiten.
Da AF x ≤ bF ein Teilsystem von Ax ≤ b ist, ist die Ungleichung cT x ≤ z
für S gültig:
cT x = 1T AF x ≤ 1T bF = z für alle x ∈ P (A, b).
Folglich bestimmt die Teilmatrix AF eine Seitenfläche
F = {x ∈ S | cT x = z} = {x ∈ Rn | Ax ≤ b, AF x = bF }
N OTA B ENE : Im Fall AF x ≤ bF gilt immer:
1T AF x = 1T bF
⇐⇒
AF x = bF .
16
1. THEORIE LINEARER UNGLEICHUNGSSYSTEME
Es ist noch zu zeigen, dass man mit der obigen Methode tatsächlich alle
nichttrivialen Seitenflächen von P (A, b) erfasst. Sei z.B.
F = {x ∈ Rn | Ax ≤ b, cT x = z}
eine beliebige nichtleere Seitenfläche. Nach dem Lemma von Farkas existiert eine endliche Teilmatix AF und ein y ≥ 0 derart, dass
cT = y T A F
und
yT bF ≤ z.
Wegen F 6= ∅ haben wir sogar die Gleichheit z = yT bF . Denn:
x∈F
=⇒
z = cT x = yT AF x ≤ yT bF ≤ z.
Daraus folgt:
• F besteht genau aus den Punkten x ∈ P (A, b), welche die Gleichung
AF x = bF erfüllen, d.h. F = {x ∈ Rn | Ax ≤ b, AF x = bF }.
S ATZ 1.4. Ist Ax ≤ b ein endliches Ungleichungssystem, so hat die abgeschlossene konvexe Menge P (A, b) nur endlich viele verschiedene Seitenflächen.
Beweis. Ax ≤ b gestattet nur endlich viele verschiedene Teilsysteme AF x ≤ bF .
E X . 1.10. Die Kugel S = {(x, y, z) ∈ Rn | x2 + y 2 + z 2 ≤ R} lässt
sich nicht als Lösungsmenge eines endlichen linearen Ungleichungssystem
darstellen, denn S hat unendlich viele Extrempunkte.
E X . 1.11. Das Standardsimplex in Rn ist die Menge
∆n = {(x1 , . . . , xn ) | x1 + . . . + xn = 1, x1 ≥ 0, . . . , xn ≥ 0}.
Ein Eckpunkt von ∆n entspricht einer einelementigen Seitenfläche und folglich einer Auswahl von Ungleichungen derart, dass das zugeordnete Gleichungssystem nur eine einzige Lösung in ∆n gestattet. Also ergeben sich
genau die n Einheitsvektoren als die Ecken von ∆n .
5. DER ALGORITHMUS VON FOURIER-MOTZKIN
17
5.2.2. Konvexe Kegel. Eine nichtleere Menge K ⊆ Rn ist ein sog.
(konvexer) Kegel, wenn gilt
(K1) λx ∈ K für alle x ∈ K und Skalare λ ≥ 0.
(K2) x + y ∈ K für alle x, y ∈ K.
Ein konvexer Kegel ist also eine unter nichtnegativen Linearkombinationen
abgeschlossene Menge.
B EMERKUNG. Ein nichtleerer Kegel enthält immer zumindest den Punkt 0 ∈ Rn .
Man kann jeder nichtleeren Menge S ⊆ Rn einen Kegel auf zwei (zueinander duale“) Weisen einen Kegel zuordnen. Zum einen betrachtet man die
”
Menge aller nichtnegativen Linearkombinationen
cone S = {
(5)
k
X
λi si |, si ∈ S, λi ≥ 0}
i=1
cone S ist die konische Hülle von S oder der von S erzeugte Kegel. Dual
dazu definiert man
S ◦ = {x ∈ Rn | sT x ≤ 0 für alle s ∈ S}.
(6)
S ◦ ist der zu S duale Kegel. S ◦ ist Lösungsmenge eines linearen Ungleichungssystems und deshalb abgeschlossen (und konvex). Stellen wir uns S
als eine Matrix mit den Zeilenvektoren sT vor, so ist ja
S ◦ = P (S, 0).
Man beachte, dass für konvexe Kegel die Polare und der duale Kegel miteinander identisch sind:
L EMMA 1.5. Sei K ⊆ Rn ein konvexer Kegel. Dann gilt
K ◦ = K pol .
Beweis. . Es gilt K ◦ ⊆ K pol . Denn wir beobachten
cT x ≤ 0
=⇒
cT x ≤ 1 für alle x ∈ K.
Ist x ∈ K, dann gilt auch λx ∈ K für alle λ > 0. Also haben wir
lim λ(cT x) = lim cT (λx) ≤ 1
λ→∞
λ→∞
=⇒
cT x ≤ 0.
D.h. K pol ⊆ K ◦ .
Analog der Argumentation bei der Polaren macht sich leicht klar:
• S ⊆ (S ◦ )◦ .
18
1. THEORIE LINEARER UNGLEICHUNGSSYSTEME
• S ⊆ T =⇒ T ◦ ⊆ S ◦ .
• S ◦ = (cone S)◦ .
S ATZ 1.5. Sei S ⊆ Rn eine beliebige nichtleere Menge. Dann gilt
(i) S ist ein konvexer Kegel ⇐⇒ S = cone S.
(ii) S ist ein abgeschlossener konvexer Kegel ⇐⇒ S = (S ◦ )◦ .
Beweis. Der Beweis von Behauptung (i) ist Routine. Die Aussage (ii) ist der
Spezialfall der analogen Aussage über die Polare konvexer Kegel.
5.3. Das Projektionslemma. Wir betrachten z.B. die Projektionsabbildung π : Rn → Rn−1 , die gegeben ist durch
π(x1 , x2 , x3 . . . , xn ) = (x2 , x3 , . . . , xn ).
π ist stetig und deshalb ist klar, dass das Bild einer abgeschlossenen konvexen Menge unter π wieder abgeschlossen und konvex ist. Die interessante
Aussage des folgenden Lemmas ist deshalb die darin gemachte Aussage
über Endlichkeit.
L EMMA 1.6 (Projektionslemma). Sei A ∈ Rm×n und b ∈ Rm gegeben.
Dann existiert eine endliche Matrix B ∈ Rk×(n−1) und ein Vektor d ∈ Rk
derart, dass gilt
π[P (A, b)] = P (B, d).
(D.h. die Projektion der Lösungsmenge eines endlichen linearen Ungleichungssystems ist selber Lösungsmenge eines endlichen linearen Ungleichungssystems.)
Beweis. Sei Bx ≤ d das lineare Ungleichungssystem, das sich aus Ax ≤ b nach
FM-Elimination von x1 ergibt. Aus der Rücksubstitutoinsregel (4) ergibt sich
(x∗2 , . . . , x∗n ) ∈ P (B, d)
⇐⇒
es gibt ein x∗1 ∈ R mit (x∗1 , x∗2 , . . . , x∗n ) ∈ P (A, b).
Das ist aber genau die Behauptung P (B, d) = π[P (A, b)].
B EMERKUNG. Der Beweis des Projektionslemmas ist konstruktiv: Man kann eine
geeignete Matrix B und einen geeigneten Vektor d mit dem FM-Verfahren berechnen.
6. ZWEI ANWENDUNGEN
19
6. Zwei Anwendungen
6.1. Das Erfüllbarkeitsproblem. Wir rechnen über dem Zahlbereich {0, 1}
mit den Operationen
⊕
0
1
0 1
0 1
1 1
0
1
0 1
0 0
0 1
−
0 1
1 0
Eine Boolesche Funktion ist eine Funktion ϕ : {0, 1}n → {0, 1}. Es ist bekannt,
dass eine Boolesche Funktion ϕ(x1 , . . . , xn ) in einer sog. konjuktiven Normalform
(KNF) dargestellt werden kann:
Y
Ci ,
ϕ(x1 , . . . , xn ) =
wobei die Klauseln Ci die Form haben
Ci = ai1 y1 ⊕ . . . ⊕ ain yn
mit aij ∈ {0, 1} und yi ∈ {xi , xi }.
E X . 1.12. ϕ(x1 , x2 , x3 ) = (x1 ⊕ x2 ) (x1 ⊕ x2 ⊕ x3 ) x3 .
E RF ÜLLBARKEITSPROBLEM : Man entscheide, ob die per KNF gegebene Boolesche Funktion ϕ den Wert 1 annehmen kann. Das heisst: Kann eine Belegung der
Variablen gefunden werden derart, dass jede Klausel Ci den Wert 1 annimmt?
Das Problem kann man mit Ungleichungssystemen modellieren. In der K Klausel
Ci = ai1 y1 + . . . ain yn ersetzen wir xj durch 1 − xj und haben dann das Problem:
Gibt es eine Lösung mit ganzahligen xj ∈ {0, 1} derart, dass
ai1 y1 + . . . ain yn ≥ 1 ?
E X . 1.13. Sei C = x2 ⊕ x5 ⊕ x7 . Dann ist C erfüllbar, wenn es eine ganzzahlige
(0, 1)-Lösung der Ungleichung
x2 + (1 − x5 ) + x7 ≥ 1
←→
−x2 + x5 − x7 ≤ 0
gibt.
Das Erfüllbarkeitsproblem fragt also nach einer ganzahligen (0, 1)-Lösung des aus
allen Klauseln gebildeten Ungleichungssystems.
2-SAT: Das Erfüllbarkeitsproblem für Boolesche Funktionen in KNF, bei denen
jede Klausel höchstens 2 Variablen enthält.
2-SAT kann mit dem FM-Verfahren effizient(!) gelöst werden, denn bei jeder Addition von Ungleichungen bleiben die Koeffizienten im Bereich {−1, 0, +1} und
die Anzahl der Ungleichungen erhöht sich nicht.
20
1. THEORIE LINEARER UNGLEICHUNGSSYSTEME
E X . 1.14 (Resolvente).
C1 = xk ⊕ xs
C2 = xk ⊕ xl
C = xs ⊕ xl
←→
−xk − xs
≤ −1
xk
− xl ≤ 0
− xs − xl ≤ −1
C ist die sog. Resolvente der Klauseln C1 und C2 . Offensichtlich sind C1 und
C2 genau dann gleichzeitig erfüllt, wenn ihre Resolvente C erfüllt ist. Im Ungleichungssystem entspricht C der Summe der aus C1 und C2 gewonnenen Ungleichungen.
B EMERKUNG. Für das allgemeine Erfüllbarkeitsproblem ist beim gegenwärtigen
Stand der Wissenschaft kein effizienter Lösungsalgorithmus bekannt.
6.2. Stochastische Matrizen. In der Anwendungssimulation betrachtet man
Systeme, die sich zu jedem (diskreten) Zeitpunkt in einem von n Zuständen {Z1 , . . . , Zn }
befinden. Wir nehmen an, dass das System mit Wahrscheinlichkeit
mij = P r(Zj |Zi )
in den Zustand Zj übergeht, wenn es vorher im Zustand Zi war. Die entsprechende
Übergangsmatrix
M = [mij ] ∈ Rn×n
P
hat nur nichtnegative Koeffizienten mij ≥ 0 und Spaltensummen ni=1 mij = 1.
D.h. M ist eine sog. stochastische Matrix: Alle Spalten sind Wahrscheinlichkeitsverteilungen.
Nehmen wir an, dass sich das System zum Zeitpunkt t mit der Wahrscheinlichkeit
πi im Zustand Zi befindet (i = 1, . . . , n). Dann befindet es sich zum Zeitpunkt
t + 1 mit den der Wahrscheinlichkeit
n
X
mki πi
πk0 =
i=1
im Zustand Zk (k = 1, . . . , n). In Matrixnotation haben wir also:
π 0 = πM
(π = [π1 , . . . , πn ], π 0 = [π10 , . . . , πn0 ]).
π heisst stationär, wenn π = π. Eine stationäre Wahrscheinlichkeitsverteilung ist
als ein (linker) Eigenvektor von M zum Eigenwert λ = 1.
P ROPOSITION 1.2. Die stochastische Matrix M = [mij ] besitzt eine stationäre
Wahrscheinlichkeitsverteilung.
Bew Wir setzen A = M T − I. Es genügt zu zeigen, dass
Ax = 0, x ≥ 0, x 6= 0
eine Lösung hat. Diese können wir dann auf Koeffizientensumme 1 normieren und
erhalten dann das gewünschte π.
6. ZWEI ANWENDUNGEN
21
Nehmen wir an, keine solche Lösung existierte. Dann gäbe es nach dem Gordanschen Satz (Korollar 1.3) einen Vektor y mit der Eigenschaft
n
X
T
T
T
T
0 >y A=y M −y
d.h. yj >
mij yi für alle j = 1, . . . , n.
i=1
Das kann aber nicht sein. Denn für yk = min{y1 , . . . , yn } gilt sicherlich
n
n
X
X
mik yi ≥
mij yk = yk .
i=1
i=1
Dieser Widerspruch beweist die Existenz der stationären Verteilung.
KAPITEL 2
Polyeder und Polytope
Ein Polyeder (in Rn ) ist eine Teilmenge P , die sich als Durchschnitt von endlich
vielen Halbräumen darstellen lässt. Per definitionem existieren also eine Matrix
A ∈ Rm×n und ein Koordinatenvektor b ∈ Rm derart, dass
P = P (A, b).
Die leere Menge ∅ und der gesamte Raum Rn sind somit Polyeder. Allgemeiner ist
z.B. jeder affine (und insbesondere lineare) Teilraum von Rn ein Polyeder.
Die Matrix A und der Vektor b sind jedoch bei der Darstellung des Polyeders
P = P (A, b) nicht eindeutig. Typischerweise gibt es unendlich viele verschiedene (endliche) lineare Ungleichungssysteme mit demselben Lösungsraum P . Es ist
sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt.
E X . 2.1. Die Punktmenge im nichtnegativen Quadranten der euklidischen Ebene
P = {(x1 , x2 ) ∈ R2+ | x21 + x22 + 3x1 x2 − 2x1 − 3x1 x2 ≤ −1}
entspricht der Lösungsmenge des linearen Ungleichungssystems
x1 + x2 ≤ 1
x1 + 2x2 ≥ 1
x1 , x2
≥ 0
und ist somit ein Polyeder.
1. Darstellung und Dekomposition von Polyedern
Seien V = {v1 , . . . , vk } und W = {w1 , . . . , w` } zwei endliche Teilmengen von
Koordinatenvektoren in Rn , wobei wir W 6= 0 annehmen. Wir betrachten die Menge
(7)
P = conv V + cone W = {v + w | v ∈ conv V, w ∈ cone W },
d.h. die Minkowski-Summe der endlich erzeugten konvexen Menge conv V und
des endlich erzeugten konvexen Kegels cone W . P besteht also aus der Menge
aller Linearkombinationen z vom Typ
z=
k
X
i=1
µi vi +
`
X
λj wj
mit
j=1
µi , λj ≥ 0,
k
X
i=1
23
µi = 1.
24
2. POLYEDER UND POLYTOPE
B EMERKUNG (M INKOWSKI -S UMME). Allgemein definiert man die MinkowskiSumme von beliebigen Teilmengen S, T ⊆ Rn als
(8)
S + T = {s + t | s ∈ S, t ∈ T } ,
wobei S + ∅ = S.
Wir zeigen, dass P ein Polyeder ist, und, dass jedes Polyeder eine Darstellung
vom Typ (7) gestattet. In diesem Sinn sind Polyeder endlich erzeugt. Wir führen
den Beweis in mehreren Schritten.
L EMMA 2.1. Die Menge P = conv V + cone W ist ein Polyeder.
Beweis. Wir betrachten V und W als Matrizen mit Spaltenvektoren vi bzw. wj .
Dann bildet die Menge aller Lösungen (x, y, z) des Ungleichungssystems
z −
V x − Wy = 0
1T x
= 1
x
,
y ≥ 0
ein Polyeder P in Rk+m+n . P ist die Projektion von P auf die z-Koordinaten,
d.h. Lösungsmenge der Ungleichungssystems nach FM-Elimination der x- und yKoordinaten.
B EMERKUNG. Der Beweis von Lemma 2.1 zeigt, dass ein Ungleichungssystem
Ax ≤ b derart, dass P = P (A, b) im Prinzip mit dem FM-Eliminationsverfahren
berechnet werden kann.
Sei nun P ein beliebiges Polyeder mit 0 ∈ P . Dann gibt es eine endliche Indexmenge I und Ungleichungen ai x ≤ bi derart, dass
P = {x ∈ Rn | aTi x ≤ bi , i ∈ I}.
Wegen 0 ∈ P dürfen wir bi ∈ {0, 1} annehmen. Entsprechend zerfallen die Ungleichungen in die die Typen A(0) x ≤ 0 und A(1) x ≤ 1.
L EMMA 2.2. Seien A und B Matrizen und P = {x | Ax ≤ 1, Bx ≤ 0}. Dann
gilt für die Polare des Polyeders P :
P pol = conv [AT , 0] + cone B T .
Beweis. Die Polare von P besteht aus allen Vektoren c derart, dass die Ungleichung cT x ≤ von den Ungleichungen Ax ≤ 1 und Bx ≤ 0 impliziert ist. Nach
dem Farkaslemma bedeutet dies:
P pol = {c ∈ Rn | c = AT y + B T z, y, z ≥ 0, yT 1 ≤ 1}
= conv [AT , 0] + cone B T .
1. DARSTELLUNG UND DEKOMPOSITION VON POLYEDERN
25
S ATZ 2.1 (Dekompositionsatz von Weyl-Minkowski). Genau dann ist eine Teilmenge P ⊆ Rn ein Polyeder, wenn es endliche Mengen V, W ⊆ Rn gibt mit der
Eigenschaft
P = conv V + cone W.
Beweis. Dass die Bedingung hinreicht, ist Inhalt von Lemma 2.1. Wir beweisen
die Notwendigkeit und nehmen oBdA P 6= ∅ an. Wir betrachten zuerst den Fall
0 ∈ P . Dann kann P in der Form
P = {x | Ax ≤ 1, Bx ≤ 0}
ausgedrückt werden. Nach Lemma 2.2 (und Lemma 2.1) ist Q = P pol ein Polyeder.
Wegen 0 ∈ P finden wir
P = (P pol )pol = Qpol .
Wiederum aus Lemma 2.2 schliessen wir nun, dass P als Minkowski-Summe einer
endlich erzeugten konvexen Menge und eines endlich erzeugten konvexen Kegels
ausgedrückt werden kann.
Im Fall 0 ∈
/ P wählen wir irgendein t ∈ P und betrachten die Translation (Minkowskisumme)
P = P + {−t}.
Wegen 0 ∈ P gibt es endliche Mengen V und W derart, dass
P = conv V + cone W .
Nun verifiziert man leicht für V = V + {−t} und W = W :
P = conv V + cone W.
1.1. Dualität von Darstellungen. Der Satz von Weyl-Minkowski zeigt, dass
ein Polyeder P zwei einander duale Sichtweisen erlaubt:
I MPLIZIT:
E XPLIZIT:
P ist Lösungsmenge eines endlichen linearen Ungleichungssystems Ax ≤ b;
P ist die Menge aller Vektoren (bzw. Punkte), die von den
endlichen Mengen V und W gemäss (7) erzeugt werden.
Die Situation verallgemeinert damit die bei linearen oder affinen Teilräumen A ⊆
Rn bekannte. Einerseits ist A Lösungsmenge eines linearen Gleichungssystems
Ax = b. Andererseits gibt es eine endliche Menge S = s1 , . . . , sk derart, dass A
die Menge aller affinen Linearkombinationen
x = λ1 s1 + . . . + λk sk
mit
k
X
i=1
λi = 1
26
2. POLYEDER UND POLYTOPE
ist. Die Umrechnung von einer Darstellung zur anderen ist im linearen/affinen Fall
effizient möglich (z.B. mit dem Gauss-Verfahren). Im allgemeinen Fall ist die Umrechnung nicht so einfach möglich. Wie man im Prinzip umrechnen kann, wird im
folgenden Abschnitt noch deutlicher werden.
N OTA B ENE . Im linearen Fall sind alle minimalen Erzeugendensysteme (Basen)
gleichmächtig. Bei Ungleichungssystemen ist dies nicht mehr notwendigerweise
so!
1.2. Berechung von Erzeugendensystemen. Um ein Erzeugendensystem für
den P (A, 0) zu berechnen, kann man von der Relation
P (A, 0)◦ = cone AT
ausgehen und mit Fourier-Motzkin eine Matrix B berechnen mit der Eigenschaft
cone AT = P (B, 0).
Daraus ergibt sich
P (A, 0) = P (B, 0)◦ = cone B T .
Also bilden die Spaltenvektoren von B T (bzw. die Zeilenvektoren von B) ein Erzeugendensystem für den Kegel P (A, 0).
P ROBLEM : Diese Berechnungsmethode eines Erzeugendensystems über das FMVerfahren ist im allgemeinen nicht effizient.
Diese Vorgehensweise lässt sich leicht verallgemeinern, um endliche Mengen V
und W für eine Weyl-Minkowski-Dekomposition
P (A, b) = conv V + cone W.
zu ermitteln. Wir betrachten dazu den polyedrischen Kegel
x
n+1
K=
∈R
| Ax − bt ≤ 0, t ≥ 0 .
t
Dann haben wir
x ∈ P (A, 0)
⇐⇒
x
∈ K.
1
Haben wir nun Vektoren h1 , . . . , hk ∈ Rn gefunden mit der Eigenschaft
K = cone {h1 , . . . , hk },
so dürfen wie annehmen, dass die Erzeugenden folgende Form haben:
0
h
hi = i
mit ti = 1 oder ti = 0.
ti
Im Fall ti > 0 können nämlich wir einfach den Vektor hi durch Division mit ti
entsprechend normieren. Die Mengen
V = {h0i | ti = 1}
und
W = {h0j | tj = 0},
2. OPTIMIERUNG LINEARER FUNKTIONEN
27
leisten das Gewünschte. Denn wir haben für alle x ∈ P (A, b)
0
X
X h0 h
x
i
+
λj j
=
µi
1
1
0
hj ∈W
hi ∈V
für geeignete µi ≥ 0 und λj ≥ 0. Ein Blick auf die letzte Komponente zeigt zudem
X
1=
µi .
h0i ∈V
Also finden wir
x=
X
µi h0i +
i
X
λj h0j ∈ conv V + cone W.
j
2. Optimierung linearer Funktionen
Viele wichtige Anwendungsprobleme lassen sich als mathematische Optimierungsprobleme modellieren, wo eine lineare Zielfunktion f (x) = cT x unter (endlich
vielen) linearen Ungleichungsrestriktionen zu maximieren ist:
(9)
max cT x
x∈Rn
s.d. Ax ≤ b (A ∈ Rm×n , b ∈ Rm ).
Stellen wir den Lösungsraum P = P (A, b) nach Weyl-Minkowski in der Form
P = conv V + cone W
dar, so sieht man sofort:
(0) Ist P = ∅, so hat das lineare Optimierungsproblem keine Lösung.
(1) Gibt es ein w ∈ cone W mit cT w > 0, so sind die Zielfunktionswerte
nach oben unbeschränkt ( ∞“).
”
(2) Gilt cT w ≤ 0 für alle w ∈ cone W und ist V 6= ∅, dann ist
max cT x = max cT v < ∞.
x∈P
v∈V
Beweis von (2): Es gilt unter den angenommenen Umständen
max cT x =
x∈P
max
v∈conv V
cT x.
P
Sei V = {v1 , . . . , vk } und v = Pki=1 µi vi ∈ cone V ein beliebiges Element.
Dann finden wir wegen µi ≥ 0 und i µ = 1:
cT v =
k
X
i=1
µi cT vi ≤ ( max cT vj ) ·
j=1,...,k
k
X
i=1
µi = max cT vj .
vj ∈V
Diese Beobachtungen zeigen, dass das lineare Optimierungsproblem in der Theorie
darauf reduziert werden kann:
(i) Stelle fest, ob die Ungleichungsrelation cT w ≤ 0 für alle w ∈ W gilt
(d.h. ob c ∈ P (W T , 0) = W ◦ zutrifft);
(ii) Wenn ja, löse das Problem maxv∈V cT v.
28
2. POLYEDER UND POLYTOPE
Die Frage ist deshalb, in wieweit diese Theorie in praktische Rechnung umgesetzt
werden kann.
3. Rezessionskegel und polyedrische Kegel
Wir nehmen P = conv V + cone W mit endlichen Mengen V und W 6= ∅ an.
Dann heisst der konvexe Kegel
P0 = cone W
der Rezessionskegel des Polyeders P = conv V + cone W . P0 hängt nur von P ab.
L EMMA 2.3. Seien A ∈ Rm×n und b ∈ Rm so, dass P (A, b) = conv V +cone W
und W 6= ∅. Dann gilt
cone W = P (A, 0).
Beweis. Sei p = v + w mit v ∈ conv V und w ∈ cone W ein beliebiger Punkt in
P . Wegen v + λw ∈ cone W für alle λ, finden wir
lim λ(Aw) = lim A(λw) ≤ b − Av
λ→∞
λ→∞
und folglich Aw ≤ 0 bzw. cone W ⊆ P (A, 0), was sofort die Darstellung
P = conv V + cone W = conv V + P (A, 0)
impliziert. Denn wir haben für alle v ∈ conv V und z ∈ P (A, 0):
A(v + z) = Av + Az ≤ b + 0 = b.
Ausserdem hatten wir für beliebige Koordinatenvektoren c festgestellt:
c ∈ (cone W )◦ ⇐⇒ (9) besitzt Optimallösung
⇐⇒ c ∈ P (A, 0)◦ .
Also folgt (cone W )◦ = P (A, 0)◦ und daraus cone W = P (A, 0).
4. Polytope
Per Definition ist ein Polytop ein beschränktes Polyeder, d.h. ein Polyeder P derart,
dass ein R > 0 existiert mit der Eigenschaft
kxk ≤ R
für alle x ∈ P .
M.a.W.: die Polytope sind genau die kompakten Polyeder. Dabei lassen wir P = ∅
als leeres Polytop zu. Nach Weyl-Minkowski ist eine Menge P ⊆ Rn genau dann
ein Polytop, wenn eine endliche Menge V ⊆ Rn existiert mit
P = conv V.
L EMMA 2.4. P (A, b) ist genau dann ein Polytop, wenn P (A, 0) = {0}.
4. POLYTOPE
29
4.1. Lineare Optimierung und Polytope. Wir betrachten lineare Zielfunktionen f (x) = cT x über einem Polytop. Wir wissen:
P = conv V
max cT x = max cT v.
=⇒
x∈P
v∈V
Diese Eigenschaft gilt aber auch umgekehrt.
L EMMA 2.5. Sei P ⊆ Rn ein Polytop und V ⊆ P eine endliche Teilmenge. Dann
gilt
P = conv V
⇐⇒ max cT x = max cT v für alle c ∈ Rn .
x∈P
v∈V
Beweis. Es ist noch zu beweisen, dass die Eigenschaft hinreichend für P =
conv V ist. Angenommen, es gäbe ein y ∈ P \ conv V , dann gäbe es nach dem
Trennungslemma auch ein c mit der Eigenschaft
cT y > max{cT x | x ∈ conv V },
was die Bedingung verletzen würde.
L EMMA 2.6. Sei V ⊆ Rn endlich und v0 ∈ V so, dass v ∈
/ conv (V \ {v0 }).
Dann ist v0 eine Ecke (Extrempunkt) des Polytops P = conv V .
Beweis. Sei S = conv (V \ {v0 }). Im Fall v0 ∈
/ S existieren v1 ∈ S und c ∈ Rn
so, dass
cT v > cT v1 ≥ cT x für alle x ∈ S.
Sei z = cT v1 . Dann ist z Optimalwert des Problems
max cT x =
x∈S
max
v∈V \{v0 }
cT v.
Andererseits gilt
z < cT v0 ≤ max cT x = max cT v =: z ∗
x∈P
v∈V
d.h.
z ∗ = cT v0 .
Wir betrachten schliesslich einen beliebigen Punkt
X
X
x=
λv v ∈ P (= conv V ) (λv ≥ 0,
λv = 1).
v∈V
v∈V
Im Fall cT x = z ∗ finden wir nun
z ∗ = cT x = λv0 cT v0 +
X
λv v ≤ λv0 z ∗ + (1 − λv0 )z.
v6=v0
Wegen z <
z∗
folgt daraus λv0 = 1 und deshalb x = v0 . Also haben wir
P ∩ {x ∈ Rn | cT x = z ∗ } = {v0 }
d.h. v0 ist Ecke von P .
S ATZ 2.2. Jedes nichtleere Polytop P ist die konvexe Hülle seiner Ecken.
30
2. POLYEDER UND POLYTOPE
Beweis. Sei V eine minimale Erzeugendenmenge mit P = conv V . Dann gilt
v∈
/ conv (V \ {v} für alle v ∈ V . Denn sonst hätte man P = conv (V \ {v} – im
Widerspruch zu der Minimalität von V . Also besteht V nur aus Ecken von P .
N OTA B ENE . Der eben bewiesene Satz garantiert insbesondere, dass jedes nichtleere Polytop auch Ecken hat. Dies ist nicht selbstverständlich! Sehr viele Polyeder
haben keine Ecken.
4.2. Diskrete Optimierung und Polytope. Ein Grundproblem der diskreten
Optimierung kann so formuliert werden. Gegeben ist eine Grundmenge E und eine
Gewichtsfunktion w : E → R. Ausserdem sei eine Familie F ⊆ 2E von Teilmengen spezifiert. Man hat nun die Aufgabe
X
w(e).
(10)
max
F ∈F
e∈F
Der Teilmengenfamilie F ⊆ 2E ordnet man folgendermassen ein Polytop zu. Man
repräsentiert jedes F ∈ F durch seinen Inzidenzvektor χF ∈ RE , wobei
1 wenn e ∈ F
χF (e) =
0 wenn e ∈
/ F.
und definiert nun
P(F) = conv {χF | F ∈ F} ⊆ RE .
Das diskrete Optimierungsproblem (10) wird nun zu dem Problem, die lineare
Funktion mit den Koeffizienten we = w(e) über dem Polytop P(F) zu maximieren:
X
X
X
max
we xe = max
we χF (e) = max
w(e).
x∈P(F )
e∈E
F ∈F
e∈E
F ∈F
e∈F
4.2.1. Das Zuordnungs- und Heiratsproblem. Wir gehen von endlichen und
gleichmächtigen Mengen S und T (d.h. |S| = |T |) aus und betrachten die Menge
aller Paare
S × T = {(s, t) | s ∈ S, t ∈ T }
Eine Zuordnung (bzw. ein perfektes Matching) ist eine bijektive Abbildung π :
S → T . Wir stellen uns die Zuordnung als Menge von Paaren vor:
M = M (π) = {(s, π(s)) | s ∈ S} ⊆ S × T.
M sei die Menge aller Zuordnungen. Das Zuordnungsproblem bzgl. der Gewichtsfunktion w : S × T → R ist nun:
X
max
w(s, t)
M ∈M
(s,t))∈M
Im Spezialfall w : S × T → {0, 1} spricht man auch vom Heiratsproblem.
Das Zuordnungspolytop P(M) ist von der Menge M aller Zuordnungen erzeugt.
Wir suchen eine implizite Beschreiben, d.h. ein System linearer Ungleichungen
dessen Lösungen x gerade die Punkte in P(M) sind.
4. POLYTOPE
31
Sei x ∈ P(M). Wir bezeichnen die Komponenten von x mit xst . Welche Ungleichungen muss x erfüllen? Ist x der Inzidenzvektor eines perfekten Matchings,
dann gilt sicherlich:
(M0) P xs,t
≥ 0 für alle (s, t) ∈ S × T .
(M1) Ps∈S xst = 1 für alle s ∈ S.
(M2)
t∈T xst = 1 für alle t ∈ T .
Diese Ungleichungen gelten natürlich auch für alle Konvexkombinationen von Zuordnungen und deshalb für alle x ∈ P(M). Es stellt sich heraus, dass sie P(M)
schon vollständig bestimmen!
L EMMA 2.7. P(M) = {x ∈ RS×T | x erfüllt (M0)-((M2)}.
Das Lemma wird hier nicht bewiesen, da es aus sich später als Folgerung aus einem
allgemeinen Optimierungsalgorithmus für sog. Flüsse in Netzwerken ergeben wird.
B EMERKUNG. Man bemerke, dass es |S|! viele Zuordnungen gibt und diese alle
Ecken von P(M) sind. Zur Beschreibung von P(M) genügen aber schon 2|S|
Gleichungen und |S| Ungleichungen.
4.2.2. Das Rundreiseproblem. Wir gehen von einer endlichen Menge S aus
und betrachten die Menge E = S × S. Eine Rundreise (oder aus TSP-Tour) ist
eine Anordnung der Elemente von S:
τ = s0 s1 . . . , sn s0 ,
bei der ausser s0 kein Element zweimal auftritt. Wieder stellen wir τ als Menge
von Paaren dar:
T = T (τ ) = {(s0 , s1 ), . . . , (sn , s0 )}
Gegeben eine Distanzfunktion d : S × S → R+ , definiert man die Länge von T als
X
d(T ) =
d(s, t).
(s,t)∈T
Sei T die Menge aller Rundreisen. Das Rundreiseproblem (TSP-Problem) ist
X
min d(T ) ←→ max
−d(s, t).
T ∈T
T ∈T
(s,t)∈T
Auch hier kann man natürlich das entsprechende Rundreisepolyeder P(T ) definieren, dessen Struktur allerdings zum grossen Teil noch ungeklärt ist. Obwohl
sehr viele Klassen von gültigen Ungleichungen für P(T ) bekannt sind, ist eine
vollständige Beschreibung eines der grossen gegenwärtigen offenen Probleme der
Berechenbarkeitstheorie der theoretischen Informatik.
32
2. POLYEDER UND POLYTOPE
5. Facetten und Basislösungen
5.1. Facetten. Unter einer Facette eine Polyeders P 6= ∅ versteht man eine
Seitenfläche F ⊆ P der Dimension
dim F = dim P − 1.
S ATZ 2.3. Sei F eine echte Seitenfläche des Polyeders P = P (A, b). Dann ist F
ein Durchschnitt von Facetten von P .
Sei m = dim P . Dann existiert eine Teilmatrix A0 von A so, dass
m = n − rg AP
und
AP x = bP
für alle x ∈ P .
OBdA nehmen wir an, dass die Zeilen von A0 linear unabhänging sind. Ausserem
existiert eine Teilmatrix AF so dass
F = {x ∈ P | AF x = bF }
und
dim F = n − rg AF .
Auch sei oBdA angenommen, dass die Zeilen von AF linear unabhängig sind.
Ausserdem können wir annehmen, dass AP eine Teilmatrix von AF ist, da jedes
x ∈ F auch die Gleichung AP x = bP erfüllt.
Sei nun aTi x ≤ bi eine beliebige Ungleichung, die in AF x ≤ bF auftritt, aber
nicht AP x ≤ bP . Aufgrund der linearen Unabhängingkeit der Zeilen ist aTi x ≤ bi
nicht von AP x = bP impliziert. Also schliessen wir:
Fi = {x ∈ P | Ap x = bP , aTi x = bi } =
6 P
d.h. Fi ist echte Seitenfläche.
Wegen
AP
rg
= rg Ap + 1 d.h. dim Fi = dim P − 1
aTi
erkennen wir Fi als Facette. Offenbar ist F gerade der Durchschnitt aller solcher
Facetten Fi (bzw. Lösungsmenge der Gesamtheit der entsprechenden Gleichungen).
Anwendung auf Polytope. Polytope haben Ecken und folglich Seitenflächen aller
Dimensionen d mit −1 ≤ d ≤ dim P , wie der Beweis des vorigen Satzes zeigt.
Zusammen mit AP x = bP implizieren die Facettenungleichungen des Polytops
P (A, b) jede andere Ungleichung aT x ≤ b in Ax ≤ b.
Um das zu sehen betrachten wir
z = max aT x ≤ b.
x∈P
aT x
Dann ist Fa = {x ∈ P |
= z} eine Seitenfläche und deshalb Durchschnitt
von Facetten. Also implizieren die Facettenungleichungen
aT x ≤ z ≤ b.
Das bedeutet:
6. RATIONALE POLYEDER
33
• Im Prinzip reicht das System AP x = bP zusammen mit den Facettenungleichungen völlig aus, um P (A, b) eindeutig zu beschreiben.
5.2. Basislösungen. Wir betrachten ein Polyeder, das sich als die Menge alles
nichtnegativen Lösungen eines linearen Gleichungssystems ergibt:
P = {x ∈ Rn | Ax = b, x ≥ 0} .
P ist also Lösungsraum des linearen (Un-)Gleichungssystems:
Ax = b
−Ix ≤ 0.
Sei r = rg A. Genau dann ist ein Punkt v ≥ 0 eine Ecke von P , wenn es eine
Menge N von |N | = n − r Indizes j gibt derart, dass v eindeutige Lösung des
folgenden Systems ist:
Ax = b
eTj x = 0 (für alle j ∈ N ).
Äquivalent dazu ist:
(i) vj = 0 für alle j ∈ N ;
(ii) Die Teilmatrix B der r Spalten A·j mit Index j ∈ N bildet eine SpaltenBasis von A
(iii) BvB = b.
Folglich:
Ecke von P
←→
L EMMA 2.8. P hat höchstens
nichtnegative Basislösung von Ax = b
n
r
Ecken.
6. Rationale Polyeder
Ein Polyeder P ⊆ Rn heisst rational, wenn P mit rationalen Parametern präsentiert werden kann. Das ist auf zwei Arten möglich:
Implizit : Angabe einer Matrix A ∈ Qm×n und eines Vektors b ∈ Qm so, dass
P = P (A, b)
Explizit : Angabe von endlichen Mengen von Vektoren V, W ⊆ Qn so, dass
P = conv V + cone W.
Wir haben gesehen, dass alle Rechnungen (insbesondere Umrechnungen von Darstellungen) bei Polyedern im Prinzip mit dem Fourier-Motzkinschen Verfahren
möglich sind. Das beruht nur auf den folgeden Operationen:
• Multipikation mit einem positiven Skalar;
• (Komponentenweise) Addition von Vektoren.
Diese Operationen führen nie aus dem Skalarbereich Q heraus. Kurz gesagt:
Sämtliche Kenngrössen rationaler Polyeder sind rational
KAPITEL 3
Konvexe Funktionen
Sei F ⊆ Rn ein Definitionsbereich und f : F → R eine Funktion. Unter dem
Epigraphen von f versteht man die Menge
epif = {(x, z) ∈ Rn+1 | x ∈ F, z ∈ R, z ≥ f (x)}.
Man nennt f konvex, wenn der Epigraph epif eine konvexe Menge in Rn+1 darstellt.
L EMMA 3.1. f : F → R ist konvex genau dann, wenn gilt
(i) F ist konvex;
(ii) für alle x, y ∈ F und 0 < λ < 1:
f [x + λ(y − x)] ≤ f (x) + λ[f (y) − f (x)].
Beweis. Seien (x, z) und (y, w) Punkte im Epigraphen von f . Konvexität ist
gleichbedeutend mit der Eigenschaft
(x, z) + (λ(y − x), λ(w − z)) ∈ epif
(0 < λ < 1).
Nach Komponenten aufgeschlüsselt bedeutet dies, dass x + λ(y − x) ∈ F und
somit (i) erfüllt sein muss. Ausserdem müssen wir haben:
f [x + λ(y − x)] ≤ z + λ(w − z) = (1 − λ)z + λw.
Die Wahl z = f (x) und w = f (y) ergibt die Notwendigkeit von (ii). Offensichtlich ist (ii) zusammen mit (i) aber auch hinreichend.
Lemma 3.1 zeigt, dass Konvexität von Funktionen im Grunde eine eindimensio”
nale“ Eigenschaft ist: f ist konvex genau dann wenn die Richtungsfunktionen
t 7→ fh (t) = f (x + th) t ∈ R so, dass x + th ∈ F
in beliebige Richtungen h ∈ Rn und in beliebigen Punkten x in der Variablen t
konvex sind.
1. Differenzierbare konvexe Funktionen
Wir betrachten zuerst den eindimensionalen Fall.
L EMMA 3.2. Sei f : (a, b) → R differenzierbar. Genau dann ist f konvex, wenn
die Ableitung f 0 (x) auf (a, b) monoton wächst.
35
36
3. KONVEXE FUNKTIONEN
Beweis. Sei x < y. Wir betrachten z(λ) = x + λ(y − x). Dann finden wir
f (z(λ)) − f (x)
λ[f (y) − f (x)]
f (y) − f (x)
≤ lim
=
d.h.
λ→0
λ→0
λ(y − x)
λ(y − x)
y−x
f (y) − f (x)
f 0 (y) = lim
≥ f 0 (x) .
x→y
y−x
Die Bedingung ist also notwendig. Wir zeigen nun, dass sie auch hinreicht, und
nehmen oBdA x < y an. Nach dem Zwischenwertsatz existiert dann ein x < ξ < y
mit
f (y) − f (x)
f 0 (x) ≤ f 0 (ξ) =
d.h. f (y) ≥ f (x) + f 0 (x)(y − y).
y−x
Sei nun z = x + λ(y − x). Dann ergibt sich auf die gleiche Weise
f 0 (x) =
lim
f (x) ≥ f (z) + f 0 (z)(x − z)
f (y) ≥ f (z) + f 0 (z)(y − z)
und daraus
f (x) + λ[f (y) − f (x)] = (1 − λ)f (x) + λf (y) ≥ f (z) + f 0 (z) · 0 = f (z).
Betrachten wir nun den allgemeinen Fall F ⊆ Rn und eine bei jedem x ∈ F
differenzierbaren Funktion f : F → R. Dann erhalten wir nach der Kettenregel
für die Richtung h und die Funktion fh (t) = f (x + th):
n
X
∂f (x)
0
hj .
fh (0) = ∇f (x)h =
∂xj
j=1
Ist f konvex, so zeigt der obige Beweis:
fh (t) ≥ fh (0) + fh0 (0)(t − 0) = fh (0) + fh0 (0)t.
Die Wahl h = y − x und t = 1 ergibt somit die charakteristische Eigenschaft
differenzierbarer konvexer Funktionen f : F → R:
(11)
f (y) ≥ f (x) + ∇f (x)(y − x) für alle x, y ∈ F
1.1. Quadratische Funktionen. Eine Funktion f : Rn → R der Form
n
n
n
X
1 T
1 XX
T
qij xi xj −
cj xj .
f (x) = x Qx − c x =
2
2
i=1 j=1
Rn×n
j=1
mit einer symmetrischen Matrix Q = [qij ] ∈
und c ∈ Rn heisst quadratisch.
f (x) hat den Gradienten
∇f (x) = xT Q − cT .
Nach der Kettenregel ergibt sich für die Richtungsfunktion ph (t) = f (x + th) die
Ableitung
p0h (t) = ∇f (x + th)h = xT Qh − cT h + thT Qh.
Also ist p0h (t) monoton wachsend, wenn hT Qh ≥ 0 gilt.
2. MINIMIERUNG KONVEXER FUNKTIONEN
37
Die Matrix Q heisst positiv semidefinit, wenn für alle h ∈ Rn gilt:
T
h Qh =
n X
n
X
qij hi hj ≥ 0.
i=1 j=1
Also erhalten wir mit dieser Terminologie:
P ROPOSITION 3.1. Die quadratische Funktion f (x) =
dann konvex, wenn Q positiv semidefinit ist.
1 T
2 x Qx
− cT ist genau
Trivialerweise ist die Nullmatrix Q = 0 positiv semidefinit. Also finden wir:
KOROLLAR 3.1. Jede lineare Funktion ist konvex.
B EMERKUNG. Die Konvexität linearer Funktionen kann man natürlich viel einfacher auch direkt beweisen . . .
2. Minimierung konvexer Funktionen
Wir betrachten bzgl. der differenzierbaren konvexen Funktion f : F → R das
Problem
min f (x).
x∈F
B EMERKUNG. Das Maximierungsproblem ist für allgemeine konvexe Funktionen
sehr viel schwerer zu lösen! Wir beschränken uns deshalb auf das Minimierungsproblem.
2.1. Notwendige und hinreichende Optimalitätsbedingungen. Welche Bedingungen muss der Punkt x ∈ F erfüllen, damit er als Minimum in frage kommt?
Sei x + h ∈ F und ph (t) = f (x + th). Dann gilt notwendigerweise
(12)
n
X
∂f (x)
j=1
∂xj
hj = ∇f (x)h = p0h (0) = lim
t→0+
f (x + th) − f (x)
≥0
t
Diese Bedingung ist aber auch hinreichend dafür, dass x ein Minimum ist. Denn
für jedes andere y ∈ F gilt dann (mit h = y − x) wegen der Konvexität von f :
f (y) ≥ f (x) + ∇f (x)h ≥ f (x).
Also finden wir:
S ATZ 3.1. x ∈ F minimiert die differenzierbare konvexe Funktion f : F → R
genau dann, wenn x die Bedingung (12) erfüllt.
38
3. KONVEXE FUNKTIONEN
2.2. Minimierung über Teilräumen. Sei f : F → R konvex und differenzierbar und
F = {x ∈ Rn | Ax = b}
(A ∈ Rm×n , b ∈ Rm )
ein affiner Teilraum von Rn . Dann gilt für jedes x ∈ F und h ∈ Rn :
x+h∈F
⇐⇒
x−h∈F
⇐⇒
h ∈ ker A.
Der Punkt x ∈ F minimiert also f genau dann, wenn
n
X
∂f (x)
(13)
∇f (x)h =
hj = 0 für alle h ∈ ker A.
∂xj
j=1
Die Bedingung (13) besagt, dass ∇f (x) orthogonal zu ker A bzw. dass ∇f (x) im
Zeilenraum von A liegt (d.h. eine Linearkombination der Zeilenvektoren aTi von A
ist). Als zu (13) äquivalent erhalten wir folglich die Optimalitätsbedingung:
m
X
(14)
∇f (x) = yT A =
yi aTi
i=1
für einen geeigneten Vektor
yT
= [y1 , . . . , ym ].
Im Fall einer über F zu minimierenden quadratischen konvexen Funktion der Form
f (x) = 12 xT Qx−cT x hat man wegen ∇f (x) = xT Q−cT somit nur das (lineare)
Gleichungssystem
Qx − AT y = c
Ax
= b
zu lösen.
2.2.1. Projektionen auf (affine) Teilräume. Unter der Projektion eines gegebenen Vektors p ∈ Rn auf den Teilraum
F = {x ∈ Rn | Ax = b}
versteht man einen Vektor p̂, der den (euklidischen) Abstand zu F minimiert:
kp − p̂k2 = min kp − xk2 .
x∈F
Wegen
kp − xk2 = (p − x)T (p − x) = pT p − 2pT x + xT x
reduziert sich die Berechnung von p̂ auf das konvexe Minimierungsproblem:
1
min f (x) = xT x − pT x s.d. Ax = b.
2
Also finden wir p̂ als Lösung von
x − AT y = p
Ax
= b
Einsetzen von x = p + AT y führt auf das Gleichungssystem
Ap + AAT y = b bzw.
Ay = b mit A = AAT , b = b − Ap.
2. MINIMIERUNG KONVEXER FUNKTIONEN
39
2.2.2. Das Regressionsproblem. Die Aufgabe besteht darin, die beste“ Lösung
”
des linearen Gleichungssystems
Ax = b
zu bestimmen. Das soll heissen, wir suchen ein x ∈ Rn derart, dass der Abstand
kb − Axk so klein wie möglich ist:
min kb − Axk2 = bT b − 2bT Ax + xT AT Ax.
x∈Rn
Setzen wir cT = bT A und Q = AT A, dann ist das Problem äquivalent mit
1
min f (x) = xT Qx − cT x.
2
x∈Rn
Q = AT A ist positiv semidefinit und folglich f konvex. Also finden wir:
• x ∈ Rn löst das Regressionsproblem genau dann, wenn gilt:
Qx = c
bzw.
AT Ax = AT b.
Das Regressionsproblem reduziert sich also auf das Lösen des linearen Gleichungssystems Qx = c.
E X . 3.1 (Interpolation). Wir gehen von einer (unbekannten) Funktion f : R → R
aus, deren Werte yi = f (ti ) wir bei den Stützstellen t1 , . . . , tn festgestellt haben.
Wir suchen eine Linearkombination
n
X
ˆ
f (t) =
aj fj (t)
j=1
von gegebenen Funktionen f1 (t), . . . , fm (t), die f an den Stützstellen bestmöglich
interpoliert. Also suchen wir die beste Lösung (in den Unbekannten a1 , . . . , an )
des linearen Gleichungssystems
a1 f1 (t1 )
a1 f1 (t2 )
..
.
+
+
a2 f2 (t1 )
a2 f2 (t2 )
..
.
+ ... +
+ ... +
an fn (t1 )
an fn (t2 )
..
.
=
=
y1
y2
..
.
a1 f1 (tm ) + a2 f2 (tm ) + . . . + an fn (tm ) = ym
Wählt man beim Interpolationsproblem {f1 (t), f2 (t)} = {1, t} so spricht man
auch von linearer Regression und nennt
fˆ(t) = a1 + a2 t
die Regressionsgerade. Im Fall {f1 (t), f1 (t), f2 (t)} = {1, t, t2 } erhält man das
quadratische Regressionspolynom
fˆ(t) = a1 + a2 t + a3 t2 .
40
3. KONVEXE FUNKTIONEN
2.3. Lagrange-Dualität. Ein allgemeines mathematisches Optimierungsproblem hat die Form
(15)
min f (x) s.d.
x∈Rn
gi (x) ≤ 0
(i ∈ I).
Dabei ist I ein Indexbereicht und f, gi : Rn → R Funktionen, die wir als konvex
und differenzierbar annehmen. Wir nehmen weiter I = {1, . . . , n} an. Wir haben
also ein konvexes Minimierungsproblem über dem Zulässigkeitsbereich
F = {x ∈ Rn | gi (x) ≤ 0, i ∈ I}
vorliegen. Die zugeordnete Lagrange-Funktion ist definiert als
L(x, y) = f (x) +
m
X
yi gi (x) = f (x) + yT g(x).
i=1
Lagrange fasst das Minimierungsproblem als ein Spiel mit zwei Spielern auf: Der
erste will L(x, y) minimieren und darf x wählen. Der zweite will L(x, y) maximieren und darf die sog. Lagrange-Multiplikatoren yi ≥ 0 festlegen.
Der erste Spieler betrachtet also die Funktion
L1 (x) = max L(x, y)
y≥0
und sucht ein x ∈ Rn mit der Eigenschaft
(16)
L1 (x) = minn L1 (x) = min maxn L(x, y).
y≥0 x∈R
x∈R
Der zweite Spieler betrachtet die Funktion
L2 (y) = minn L(x, y)
x∈R
und sucht ein y ≥ 0 mit der Eigenschaft
(17)
L2 (y) = max L2 (y) = max minn L(x, y).
y≥0
y≥0 x∈R
2.3.1. Das primale Problem. Wir beobachten
m
X
f (x) wenn x ∈ F
L1 (x) = max f (x) +
yi gi (x) =
+∞ wenn x ∈
/ F.
y≥0
i=1
Also wird der erste Spieler sein x in F wählen. Das Problem (16) ist somit äquivalent zum Ausgangsproblem:
min L1 (x) = min f (x).
x∈Rn
x∈F
2. MINIMIERUNG KONVEXER FUNKTIONEN
41
2.3.2. Das duale Problem. Zu einem gegebenen y ≥ 0 stellte die Berechnung von L2 (y) eine konvexes Minimierungsproblem dar. Also gilt die Gleichheit
L2 (y) = L(x, y) genau dann, wenn x ∈ Rn die Optimalitätsbedingung
∇x L(x, y) = ∇f (x) +
(18)
m
X
yi ∇gi (x) = 0T .
i=1
erfüllt. Für den zweiten Spieler stellt sich damit das duale Problem
(19)
max f (x) +
y≥0
m
X
yi gi (x) s.d.
∇f (x) +
i=1
m
X
yi ∇gi (x) = 0T .
i=1
L INEARE P ROGRAMME . Wir betrachten als Beispiel das lineare Programmierproblem
max cT x s.d.
aTi x ≤ bi
(i = 1, . . . , m)
als primales Problem. Sei f (x) = −cT x und gi (x) = aTi x − bi . Fassen wir die
Zeilenvektoren aTi in der Matrix A zusammen, lautet das duale Problem
max −cT x + yT (Ax − b) s.d.
y≥0
− c T + y T A = 0T .
Einsetzen von yT A = cT in die duale Zielfunktion ergibt somit die folgende Form
des dualen Problems:
max (−bT y) s.d. AT y = c, y ≥ 0.
Dieses ist äquivalent zu dem sog. dualen linearen Programm
(20)
min bT y
s.d.
AT y = c, y ≥ 0
2.3.3. Schwache Dualität. Sei x eine zulässige (aber nicht notwendig optimale) Lösung des primalen und y ≥ 0 eine zulässige (aber nicht notwendig optimale)
Lösung des dualen Lagrangeproblems, d.h.
∇f (x) +
m
X
yi ∇gi (x) = 0T .
i=1
Dann gilt natürlich für die entsprechenden Zielfunktionswerte
(21)
L1 (x) = f (x) ≥ f (x) +
m
X
yi gi (x) = L2 (y).
i=1
Dies ist als das Phänomen der schwachen Dualität bekannt.
42
3. KONVEXE FUNKTIONEN
E X . 3.2. Im Fall des linearen Programms
max cT x s.d.
Ax ≤ b
mit der zu minimierenden Zielfunktion f (x) = −cT x ergibt die schwache Dualität
wegen cT = yT A:
f (x) = −cT x ≥ −cT x + yT (Ax − b) = −yT b
bzw.
cT x ≤ bT y
2.3.4. Die KKT-Bedingungen. Fassen wir die primalen und dualen Restriktionen aus dem Lagrange-Ansatz zusammen, so suchen wir einen Punkt x ∈ Rn zu
dem ein y ≥ 0 existiert mit den Eigenschaften
∇f (x) +
m
X
yi ∇gi (x) = 0T
i=1
m
X
(22)
yi gi (x)
=
0
≤
≥
0
0
i=1
gi (x)
y
(i = 1, . . . , m)
Ein solches x heisst Karush-Kuhn-Tucker-Punkt (KKT-Punkt) bzgl. des Optimierungsproblems
min f (x) s.d. gi (x) ≤ 0
(i = 1, . . . , m)
und (22) sind die sog. KKT-Bedingungen.
P ROPOSITION 3.2. Sei x∗ ein KKT-Punkt mit zugehörigem y∗ ≥ 0. Dann ist x∗
eine Optimallösung des konvexen Minimierungsproblems (15).
Beweis. x∗ erfüllt alle Restriktionen gi (x∗ ) ≤ 0 und minimiert die konvexe Funktion
n
X
L(x, y∗ ) = f (x) +
yi∗ gi (x) ≤ f (x) (wegen y∗ ≥ 0).
i=1
Aus
(y∗ )T g(x∗ )
= 0 folgt f (x∗ ) = L(x∗ , y∗ ). D.h. f (x∗ ) ist minimal.
B EMERKUNG. Die KKT-Bedingungen sind bei allgemeinen (nicht-konvexen) mathematischen Optimierungsproblemen weder hinreichend noch notwendig für Optimalität.
2. MINIMIERUNG KONVEXER FUNKTIONEN
43
2.4. Lineare Nebenbedingungen. Wir betrachten hier den Fall linearer (eigentlich: affiner) Restriktionsfunktionen gi (x) = aTi x−bi , sodass die Nebenbedingungen in kompakter Matrixschreibweise die Form Ax ≤ b haben. Der Zulässigkeitsbereich ist das Polyeder
F = P (A, b) = {x ∈ Rn | aTi x ≤ bi , i = 1, . . . , m}.
Sei x ∈ F. Um Optimallösung zu sein, muss gelten
∇f (x)h ≥ 0 wenn x + h ∈ F, d.h. aTi x + aTi h ≤ bi (i = 1, . . . , m).
Sei J(x) die Menge der Indizes i mit aTi x = bi . Dann muss also die Implikation
AJ(x) h = 0
=⇒
−∇f (x)h ≤ 0
erfüllt sein. Folglich (nach dem Farkas-Lemma) muss −∇f (x) eine nichtnegative
Linearkombination der Zeilen von AJ(x) sein. Mit anderen Worten: Es existiert ein
y ≥ 0 so, dass
n
X
−∇f (x) =
yi aTi .
i∈J(x)
OBdA können im Fall i ∈
/ J(x) die Gleichheit yi = 0 voraussetzen. Dann ergibt
sich auch
m
X
yT (Ax − b) =
yi (aTi x − bi ) = 0.
i=1
Damit sind notwendigerweise die KKT-Bedingungen unter linearen Restriktionen
erfüllt:
∇f (x) +
yT A
= 0
T
y (Ax − b) = 0
Ax
≤ b
y
≥ 0
Wir finden:
S ATZ 3.2. Die KKT-Bedingungen sind hinreichend und notwendig dafür, dass x∗
eine Optimallösung eines konvexen Optimierungsproblems folgender Form ist:
min f (x) s.d.
x∈Rn
Ax ≤ b.
2.4.1. Lineare Programme. Man beachte: Ist f (x) nicht linear, dann ergeben
die KKT-Bedingungen (selbst bei linearen Restriktionen) ein nichtlineares(!) Ungleichungssystem.
Im Fall des linearen Programms
max cT x s.d.
Ax ≤ b
44
3. KONVEXE FUNKTIONEN
ergeben die KKT-Bedingungen jedoch das lineare Ungleichungssystem
cT x
Ax
AT y = c
− bT y = 0
≤ b
y
≥ 0
2.4.2. Starke Dualität. Wir betrachten das primal-duale Paar linearer Programme
max cT x
min bT y
s.d.
s.d.
Ax ≤ b
AT y = c, y ≥ 0.
Die schwache Dualtität besagt für beliebige jeweils zulässige Lösungen x und y:
cT x ≤ bT y.
Im Fall von Gleichheit müssen folglich beide Lösungen optimal sein. Die KKTBedingungen garantieren bei einer optimalen Lösung x∗ ein dual zulässiges y∗
mit
cT x∗ = bT y∗ .
Also schliessen wir
S ATZ 3.3 (Starke Dualität). Genau dann ist die primal zulässige Lösung x optimal,
wenn es eine dual zulässige Lösung y gibt mit der Eigenschaft
cT x = bT y.
In diesem Fall ist y notwendigerweise dual optimal.
3. Newtons Methode und die Methode innerer Punkte
Die Berechnung von Koordinatenvektoren, welche die KKT-Bedingungen erfüllen,
erfordert die Berechnung von nichtnegativen Lösungen gewisser (meist) nichtlinearer Gleichungssysteme, die wir in der allgemeinen Form
F (x) = 0, x ≥ 0
notieren. Dabei ist F : Rn → Rm eine Funktion, die aus m Koordinatenfunktionen
fi : Rn → R zusammengesetzt ist:


f1 (x)


F (x) =  ...  ∈ Rm .
fm (x)
Die exakte Lösung einer nichtlinearen Gleichung ist im allgemeinen sehr schwer.
Oft genügt aber schon eine hinreichend gute“ approximative Lösung.
”
3. NEWTONS METHODE UND DIE METHODE INNERER PUNKTE
45
3.1. Newtons Methode. Zur approximativen Lösung der Gleichung
F (x) = 0
geht Newtons Methode iterativ vor. Man beginnt mit einem x0 ∈ Rn und berechnet
dann iterativ x1 , . . . , xk , . . .. Man stoppt im Fall
F (xk ) ≈ 0.
Ansonsten sucht man sich eine lineare Approximation von F bei xk , d.h. eine Matrix Ak derart, dass
F (xk + h) ≈ F (xk ) + Ak h (wenn khk hinreichend klein),
und berechnet eine Lösung hk des linearen(!) Gleichungssystems
Ak h = −F (xk ).
Nun setzt man xk+1 = xk + hk usw.
B EMERKUNG. Wenn F differenzierbar ist, wählt man gerne die Jacobimatrix, die
als Zeilen gerade die m Gradienten ∇fi (xk ) besitzt:
∂fi (xk )
Ak = ∇(xk ) =
∈ Rm×n
∂xj
E X . 3.3. Wir suchen eine Lösung der Gleichung
f (x) = x2 − 2 = 0.
Man beginnt mit einem x0 . Ist xk schon berechnet, wählt man z.B. Ak = f 0 (xk )
und erhält
−x2k + 2
−f (xk )
f 0 (xk )h = −f (xk ) d.h. hk = 0
=
f (xk )
2xk
und somit
xk
1
xk+1 = xk + hk =
+ .
2
xk
B EMERKUNG. Im allgemeinen hat man keine Garantie, dass das Newtonverfahren
tatsächlich zu einer zulässigen Lösung der Ausgangsgleichung konvergiert.
3.2. Die Methode der inneren Punkte. Wir wollen ein KKT-Punkt für das
lineare Programm
max cT x s.d.
Ax ≤ b (A ∈ Rm×n , b ∈ Rm )
bestimmen. Setzen wir s = b − Ax, dann sind die KKT-Bedinungen
(23)
Ax +
si yi
s
AT y
s, y
=
=
=
≥
µ (i = 1, . . . , m)
b
c
0
mit µ = 0 gegeben. Wir relaxieren nun, indem wir einen Parameter µ > 0 wählen
und das resultierende System mit einem Newtonverfahren zu lösen versuchen. In
46
3. KONVEXE FUNKTIONEN
diesem Fall müssen wir immer si > 0 und yi > 0 (d.h. s, y > 0) sicherstellen.
Deshalb spricht man von inneren Punkten“ (des positiven Quadranten von Rm ).
”
L EMMA 3.3. Sei (xµ , yµ , sµ ) eine Lösung des Systems (24) zu µ > 0. Dann ist
xµ eine zulässige Lösung des linearen Programms. Und für jede andere zulässige
Lösung x gilt
cT xµ ≥ cT x − ε (mit ε ≤ mµ).
Beweis. Aus der schwachen Dualität folgt
cT x ≤ bT yµ = (Axµ + sµ )T yµ = (xµ )AT yµ + sµ yµ = cT xµ + mµ.
Im Fall µ → 0 sind die
linearen Programms.
xµ
also annähernd optimale Lösungen des ursprünglichen
Um (24) mit einem Newtonansatz zu lösen, gehen wir davon aus, dass wir Vektoren
y > 0 und x schon zur Verfügung haben mit der Eigenschaft
c = AT y
und
s = b − Ax > 0.
Wir suchen dann ∆x, ∆y, ∆s so, dass
(24)
(si + ∆si )(yi + ∆yi )
A(x + ∆x) + (s + ∆s)
AT (y + ∆y)
s + ∆s, y + ∆y
=
=
=
≥
µ (i = 1, . . . , m)
b
c
0
Nach unseren Annahmen über x und y reduziert sich diese Aufgabe auf das Lösen
von
si ∆yi + yi ∆si + ∆si ∆yi = µ − si yi (i = 1, . . . , m)
A∆x + ∆s
=
0
(25)
T
A ∆y
=
0
s + ∆s, y + ∆y
≥
0
Das letztere System relaxieren wir nun zu dem linearen Gleichungssystem
(26)
si ∆yi + yi ∆si = µ − si yi (i = 1, . . . , m)
A∆x + ∆s
=
0
T
A ∆y
=
0
Mit dessen Lösung datiert man auf:
x+ = x + ∆x, y+ = y + ∆y, s+ = ∆s
und verfährt nun wie zuvor mit x+ und y+ anstelle von x und y (wobei man
in jeder Iteration auch den Parameter µ reduziert), bis man eine hinreichend gute
Lösung x des Ausgangsproblems gefunden hat.
Man kann zeigen, dass dieses Verfahren funktioniert und (sehr schnell!) gegen eine
optimale Lösung des Ausgansproblems konvergiert.
KAPITEL 4
Die Simplexmethode
Unter einem linearen Programm (LP) versteht man ein Optimierungsproblem, das
in der folgenden Form präsentiert werden kann:
(27)
max cT x s.d
Ax ≤ b.
Dabei sind c ∈ Rn , A = [aij ] ∈ Rm×n und b ∈ Rm problemabhängige Parameter, die wir uns als gegeben vorstellen. Ein lineares Programm in der Form (27)
will also die konvexe Funktion f (x) = −cT x unter linearen Nebenbedingungen
minimieren.
E X . 4.1. Ein Optimierungsproblem der Form
min cT x s.d.
Ax = b, x ≥ 0
ist ein LP. Denn: es ist äquivalent zu dem linearen Programm
max (−c)T x s.d.
Ax ≤ b,
wobei sich die Matrix A und der Koeffizientenvektor b aus A und b so ergeben:


 
A
b



A = −A
b = −b .
−I
0
(I = Einheitsmatrix entsprechender Dimension.)
Die KKT-Bedingungen für eine Optimallösung von (27) lauten:
cT x
Ax
AT y
y
= bT y
≤
b
=
c
≥
0
Komplementärer Schlupf. Aus der schwachen Dualtität wissen wir, dass
cT x ≤ bT y
gilt, sofern Ax ≤ b und c = AT y mit y ≥ 0 erfüllt sind. In diesem Fall ist die
Optimalität dann gleichbedeutend mit der Gleichheit
cT x = bT y.
47
48
4. DIE SIMPLEXMETHODE
Diese Bedingungen kann man auch so formulieren. Wir definieren den Vektor s
von Schlupfvariablen si als
s = b − Ax (d.h. Ax ≤ b ⇔ s ≥ 0).
Dann ergibt sich im Fall c = AT y:
sT y = (b − Ax)T y = (bT − xT AT )y = bT y − cT x
und somit
sT y = 0
⇐⇒
cT x = bT y.
Bezeichnen wir mit aTi die Zeilenvektoren der Matrix A, so finden wir:
L EMMA 4.1 ( Komplementärer Schlupf“). Genau dann ist x ∈ P (A, b) optimal
”
für das lineare Programm (27), wenn es ein y gibt mit der Eigenschaft
(i) AT y = c und y ≥ 0;
(ii) aTi x < bi =⇒ yi = 0
(für alle i = 1, . . . , m).
Beweis. x ∈ P (A, b) ist es genau dann optimal, wenn es zu x ein y gibt, das den
KKT-Bedingungen genügt. Die sind c = AT y = c, y ≥ 0 und
0 = sT y =
m
X
si yi =
i=1
m
X
(bi − aTi x)yi .
i=1
sT y
Wegen s ≥ 0 und y ≥ 0 ist
= 0 gleichbedeutend mit si yi = 0 für alle
i = 1, . . . , m. Letzteres ist aber nichts anderes als die Eigenschaft (ii).
Lineare Ungleichungssysteme. Die KKT-Bedingungen zeigen, dass die Aufgabe,
ein lineares Programm zu lösen, darauf zurückgeführt werden kann, ein lineares
Ungleichungssystem zu lösen. Im Prinzip kann man also lineare Programme mit
dem FM-Verfahren lösen.
Umgekehrt kann natürlich jeder Algorithmus, der ein lineares Programm löst, dazu
benutzt werden, ein lineares Ungleichungssystem zu lösen. Man braucht ja nur eine
künstliche Zielfunktion einführen. z.B.
Ax ≤ 0
←→
max 0T x s.d.
Ax ≤ b.
Also erkennt man:
• Das Lösen von linearen Programmen und das Lösen von (endlichen)
linearen Ungleichungssystemen ist algorithmisch äquivalent.
1. LP-Dualität
Wir hatten gesehen, dass die Lagrangedualität als zu (27) duales“ Problem fol”
gendes Problem ergibt:
(28)
min bT y
s.d.
AT y = c, y ≥ 0.
1. LP-DUALITÄT
49
D EFINITION . Seien nun (P ) und (P 0 ) beliebige lineare Programme. Nehmen wir
an, (P ) sei äquivalent mit (27). Wir nennen dann (P 0 ) zu (P ) dual, wenn (P 0 ) zu
(28) äquivalent ist.
Die in den KKT-Bedingungen gefassten Optimalitätskriterien für lineare Programme besagen somit, dass x ∈ P (A, b) genau dann für (27) optimal ist, wenn es ein
für (28) zulässiges y mit dem gleichen Zielfunktionswert
bT y = cT x
gibt. Natürlich ist dann y optimal für (28). In diesem Sinn bedeutet das Lösen eines
linearen Programms, dass das dazu duale gleichzeitig mitgelöst wird.
E X . 4.2. Wir betrachten das Problem
min 2x1 − x2 + 13 x3
s.d x1 + x2
−2x3 ≥ 1
3x1 + 4x2
2x3 ≤ 2/3
x1
≥ 0.
Dieses lineare Programm ist äquivalent zu
max −2x1 + x2 − 13 x3
s.d −x1 − x2
+2x3 ≤ −1
3x1 + 4x2
2x3 ≤ 2/3
−x1
≤ 0.
Dual dazu ist das lineare Programm
min −y1
s.d −y1
−y1
2y1
y1
+ 32 y2
+ 3y2 − y3
+ 4y2
+ 2y2
, y2
, y3
= −2
=
1
= −1/3
≥
0
Das letzte lineare Programm ist z.B. äquivalent mit
max
s.d
y1
y1
−y1
−2y1
y1
− 23 y2
− 3y2
+ 4y2
− 2y2
, y2
≤ 2
= 1
= 1/3
≥ 0
1.1. Das lineare Produktionsmodell. Wir gehen von einer Situation aus, wo
Bedarfsgüter der Typen P1 , P2 , . . . , Pn produziert werden sollen. Dazu müssen
Rohstoffe R1 , . . . , Rm verwendet werden. Die ökonomischen Produktionsparameter seien
aij = benötigte Menge von Ri zur Produktion einer Einheit von Pj
cj = Gewinn pro Einheit bei Produktion von Pj
bi = Anzahl Einheiten von Ri im Vorrat
50
4. DIE SIMPLEXMETHODE
Das Ziel der Gewinnmaximierung ergibt den optimalen Produktionsplan als Optimallösung des folgenden linearen Programms:
max
s.d.
(29)
c1 x1
a11 x1
..
.
+
+
am1 x1 +
...
...
+
+
cn xn
a1n xn
≤
b1
..
.
...
+ amn xn ≤ bm
x1 , . . . , xn
≥ 0
Welchen Marktwert haben die Güter Ri ? Der Preis sollte sicherstellen, dass zumindest die zugekauften Güter bei einer Umwandlung in Produkte ihren Preis als
Gewinn wieder einspielen. Also will man das folgende lineare Programm lösen:
(30)
min b1 y1
s.d. a11 y1
..
.
+
+
a1n y1 +
...
...
+ bm y m
+ am1 ym
≥ c1
..
.
...
+ amn ym ≥ cn
y1 , . . . , y m
≥ 0
Problem (29) ist in Matrixschreibweise
max cT x s.d.
A
b
x≤
−I
0
Das dazu duale Problem ist
min bT y
s.d.
AT y − Iz = c, y ≥ 0, z ≥ 0.
Wegen z ≥ 0 ist letzteres aber äquivalent mit (30):
min bT y
s.d.
AT y ≥ c, y ≥ 0.
∗ , die sich als Optimallösung von (30) ergeben,
B EMERKUNG. Die Preise y1∗ , . . . , ym
sind die sog. Schattenpreise der Güter R1 , . . . , Rm .
2. Die Simplexmethode
Wir gehen von einem Optimierungsproblem der Form
(31)
min cT x s.d.
Ax = b, x ≥ 0
aus, wobei die Problemparameter c ∈ Rn , b ∈ Rm und A = [aij ] ∈ Rm×n
gegeben seien. OBdA nehmen wir an, dass A vollen Zeilenrang m = rg A hat.
Wir stellen uns vor, dass unser Optimierungsproblem gewisse Kosten“ minimieren
”
will beziehen uns deshalb auf c als den Vektor von Kostenkoeffizienten.
Die KKT-Bedingungen lauten
cT x
Ax
AT y
x
= bT y
=
b
≤
c
≥
0
2. DIE SIMPLEXMETHODE
51
Ein KKT-Paar (x∗ , y∗ ) liefert gleichzeitig eine optimale Lösung des Problems
max bT y
(32)
s.d.
AT y ≤ c.
Wir nennen (31) in diesem Zusammenhang das primale und (32) das duale Problem.
Die zentrale Idee des Simplexalgorithmus ist, die Ecken (d.h. die Basislösungen)
der beiden Zulässigkeitsbereiche
P
= {x ∈ Rn | Ax = b, x ≥ 0}
P ∗ = {y ∈ Rm | AT y ≤ c}
zu untersuchen. Sei also B = {r1 , . . . , rm } ⊆ {1, . . . , n} eine Indexmenge derart,
dass die aus den entsprechenden Spalten von A gebildete (m × m)-Matrix AB eine
Spaltenbasis von A (bzw. ATB eine Zeilenbasis von AT ) ist. Wir nennen oft kurz
auch die Indexmenge B selber eine Basis.
Zur leichteren Notation setzen wir N = {1, . . . , n} \ B und bezeichnen mit cB
den Teilvektor von c, der nur aus den B-Komponenten besteht etc. Wir ordnen B
die folgenden Kandidaten für Optimallösungen zu:
x ∈ Rn mit xB = A−1
B b, xN = 0N .
y ∈ Rm mit y = (ATB )−1 cB .
Dann gilt auf jeden Fall die Gleichheit
cT x = cTB xB + cTN xN = (ATB y)T xB = yT AB x = yT b.
Ausserdem beobachtet man
(Z) x ∈ P
⇐⇒
xB ≥ 0B .
(Z∗ ) y ∈ P ∗ ⇐⇒ ATN y ≤ cN .
B EMERKUNG. Wegen rg AB = m ist klar, dass die B zugeordneten Punkte mit
den Koordinaten x und y Ecken sind, sofern sie zu P bzw. P ∗ gehören.
Ziel ist es nun, eine Indexmenge B (bzw. eine Spaltenbasis AB ) zu bestimmen, die
sowohl Zulässigkeit bzgl. P als auch Zulässigkeit bzgl. P ∗ zur Folge hat.
2.1. Das Simplextableau. Traditionell geht man in der Analyse des Simplexalgorithmus immer von einer Darstellung der Spaltenvektoren bzgl. der gerade betrachteten Basis AB aus. D.h. anstelle der Restriktion in der Form
Ax = AB xB + AN xN = b
haben wir die Restriktionen in der Form
−1
−1
A−1
B Ax = IB x + AN xN = b mit AN = AB AN , b = AB b.
Mit anderen Worten: Setzen wir A = A−1
B A, dann erhalten wir eine vollständig
äquivalente Formulierung des primalen Problems (31) in der Form
min cT x s.d.
Ax = b, x ≥ 0.
52
4. DIE SIMPLEXMETHODE
Bzgl. y = (ATB )−1 cB definieren wir die reduzierten Kosten als den dualen Schlupf
c = c − AT y
bzw. cT = cT − yT A = cT − cTB A.
Dann haben wir cB = 0B . Das Paar (x, y) erfüllt folglich die KKT-Bedingungen
genau dann, wenn gilt:
(Z) xB = b ≥ 0;
(Z∗ ) cTN = cTN − cTB AN = cTN − yT AN ≥ 0TN .
Schreiben wir z = cT x, dann bedeutet der Basiswechsel: Von den Ausgangsdaten
z = cT x
0 cTB cTN
←→
b = Ax
b AB AN
geht man über zu dem Koeffizientenschema
−z 0TB cTN
T
mit z = cTB b = cT x = cTB A−1
(33)
B b = b y.
b IB AN
Das Parameterschema (33) ist das sog. Simplextableau bzgl. der Indexmenge B.
Rechnerisch ist es sehr einfach zu ermitteln:
• Man führt auf den Ausgangsdaten Pivotoperationen (elementare
Zeilenoperationen) aus, bis in den B-Spalten die Teilmatrix
T
0B
IB
erreicht ist.
M AN BEACHTE : In der linken oberen Ecke des Simplextableaus steht der negative
Zielfunktionswert bzgl. der gerade betrachteten Basisvektoren x und y! Um diesen
Schönheitsfehler“ auszugleichen, findet man in der Literatur das Simplextableau
”
oft mit den negativen Kostenkoeffizienten angegeben:
z 0TB −cTN
0 −cTB −cTN
−→
b AB
AN
b IB
AN
(Man kann diese zweite Version des Simplextableaus natürlich auch direkt von der
Darstellung
z −cT x = 0
Ax = b
her motivieren, wenn man möchte.)
T ERMINOLOGIE . Die Variablen xi mit Index i ∈ B heissen Basisvariablen (bzgl.
B). Die xj mit j ∈ N sind die Nichtbasisvariablen.
N OTA B ENE . Bei einem Simplextableau gehen wir immer von einer Problemformulierung vom Typ (31) aus. Insbesondere unterstellen wir automatisch, dass
sämtliche Variablen xj nichtnegativ sein sollen.
2. DIE SIMPLEXMETHODE
53
2.2. Die primale Strategie. Wir nehmen an, wir hätten (irgendwie) eine Basis
B gefunden derart, dass das zugehörige Simplextableau primal zulässig ist, d.h.
b = A−1
B b = xB ≥ 0B .
Mit Aj bezeichnen wir den jten Spaltenvektor von A. Im Fall
cj = cTB Aj = cTB A−1
B Aj ≥ 0 für alle j ∈ N
ist eine Optimallösung gefunden. Seien also cj < 0 für ein j ∈ N . Wir wollen ein
k ∈ B bestimmen, sodass
B 0 = (B ∪ {j}) \ {k}
eine primal zulässige Basis ist. Der einfachen Notation wegen nehmen wir an, wir
hätten die Indices so (um)numeriert, dass
B = {1, . . . , m}
gilt. Wir suchen nun in der Spalte Aj einen Koeffizienten akj > 0 mit der Eigenschaft
bk
bi
= min
| aij > 0
(34)
i
akj
aij
T ERMINOLOGIE. Das nach (34) bestimmte Element akj heisst Pivotelement.
L EMMA 4.2. Gilt aij ≤ 0 für i = 1, . . . , m, dann ist das Problem (31) unbeschränkt und besitzt keine Optimallösung. Ist der Index k gemäss der Pivotregel
(34) definiert, dann ist B 0 = (B ∪ {j}) \ {k} primal zulässig.
Beweis. Im Fall Aj ≤ 0 betrachten wir ein beliebiges λ > 0 und setzen
x0j
= λ
x0i
x0`
= bi − aij λ (i ∈ B)
= 0
(` ∈ N \ {j}).
Aus dem Simplextableau ist klar, dass das entsprechende x0 ∈ Rn primal zulässig
ist. Der Zielfunktionswert ist
cT x0 = cTB b − cTB Aj λ + cj λ = cTB b + cj λ → −∞
(wenn λ → +∞).
Im zweiten Fall führen wir elementare Zeilenoperationen auf dem Simplextableau
aus, welche die jte Spalte in den kten Einheitsvektor überführen. Alle Spalten bzgl.
B \ {k} bleiben dann Einheitsvektoren und die Aufdatierung von b ergibt
b0k = bk /akj ≥ 0
b0i = bi − aij bk /akj ≥ 0 .
Algorithmus. Wenn einmal eine primal zulässige Basis zur Verfügung steht, dann
iteriert man nach der Regel (34) solange, bis man zu einer Basis B gekommen
54
4. DIE SIMPLEXMETHODE
ist, bei der alle reduzierten Kosten nichtnegativ sind. Eine Optimallösung ist dann
gefunden mit
xB = b und xN = 0N .
Ist die Regel (34) nicht anwendbar, so weiss man, dass das Ausgangsproblem keine
Optimallösung besitzt. Die Suche nach einer solchen erübrigt sich dann.
B EMERKUNG. An dieser Stelle bleiben noch zwei Fragen offen:
1. Wie findet man eine primal zulässige Basis überhaupt?
2. Terminiert die primale Strategie nach endlich vielen Iterationen?
Auf beide Fragen wird später noch eingegangen.
2.3. Die duale Strategie. Wir nehmen nun an, die momentane Basis B ist
dual zulässig, d.h. die reduzierten Kosten c` sind alle nichtnegativ bzw. der Vektor
y ist eine Ecke von P ∗ .
Ist Optimalität noch nicht gegeben, existiert ein bk < 0. Wir suchen nun ein Pivotelement akj (in der k-Zeile der gegenwärtigen Simplextableaus) derart, dass
B 0 = (B \ {k}) ∪ {`}
wieder eine dual zulässige Basis ist. Wir wählen die Spalte j (und folglich das
Pivotelement akj < 0) nach der Pivotregel
cj
c`
(35)
= max
| ak` < 0
`
akj
ak`
L EMMA 4.3. Gilt ak` ≥ 0 für ` = 1, . . . , n, dann besitzt Problem (31) keine
zulässige Lösung. Ist der Index j gemäss der Pivotregel (35) bestimmt, dann ist
B 0 = (B ∪ {j}) \ {k} dual zulässig.
Beweis. Ein zulässige Lösung x1 , . . . , xn ist nichtnegativ, also hätte man im Fall
ak` ≥ 0:
n
X
0 > bk =
ak` x` ≥ 0,
`=1
was nicht sein kann. Sei nun akj gemäss (35) gewählt. Datieren wir das Simplextableau wieder so auf, dass die jte Spalte zum jten Einheitsvektor wird, so ergibt
sich die erste Zeile des aufdatieren Tableaus so:
• Subtrahiere cj mal die neue Zeile k vom reduzierten Kostenvektor cT ≥
0T .
Der Koeffizient in Spalte ` ist also
c0` = c` − cj ak` /akj ≥ 0.
2. DIE SIMPLEXMETHODE
55
2.4. Die revidierte Simplexmethode. Bei der Organisation der notwendigen
Rechenschritte stellt sich heraus, dass es nicht notwendig ist, immer das gesamte
Simplextableau zu berechnen. Zu der Basis B ⊆ {1, . . . , n} kann man immer die
notwendige Information direkt aus den Ausgangsparametern gewinnen:
0
• Berechne b = A−1
B b als Lösung der Gleichung AB x = b.
−1
T
T
T
• Berechne y = cB AB als Lösung der Gleichung AB y0 = cB .
Dann erhalten wir für die reduzierten Kosten
cj < 0
⇐⇒
cj − yT Aj < 0 d.h. cj <
m
X
yi aij .
i=1
Nun kann z.B. bei der primalen Strategie sofort ein Pivotelement akj nach der
Regel (34) in der Spalte Aj = A−1
B Aj gewonnen und die Basisaufdatierung
B → B 0 = (B ∪ {j}) \ {k}
durchgeführt werden. Diese frugale Version der Simplexmethode ist als revidierte
Simplexmethode bekannt.
B EMERKUNG. Oft gibt es mehrere Kandidaten, die als Pivotspalten (bzw. -elemente)
infrage kommen. Es ist keine Regel bekannt, die in solchen Fällen (mathematisch
beweisbar) immer die beste Wahl“ trifft.
”
2.4.1. Das Schnittmusterproblem. Es seien Stoffballen der Länge ` gegeben.
Davon sollen bi Schnittstücke der Breite `i (i = 1, . . . , m) gewonnen werden,
sodass insgesamt möglichst wenig Ballen angeschnitten werden.
Zur Modellierung des Problems definieren wir als Schnittmuster einen Vektor
 
a1
m
X
 .. 
ai `i ≤ `.
 .  mit ai ∈ N und
i=1
am
Sei A die Matrix, deren Spalten sämtliche möglichen Schnittmuster sind. Mit der
Notation 1T = [1, 1, . . . , 1] ergibt sich das Schnittmusterproblem dann in Matrixform:
min 1T x s.d Ax = b, x ≥ 0 und ganzzahlig.
Wegen der Ganzzahligkeitsrestriktion ist dieses Problem kein lineares Programm.
Wir deshalb statt dessen die zugeordnete LP-Relaxierung
(36)
min 1T x
s.d Ax = b, x ≥ 0,
die zumindest eine Untergrenze für den gesuchten Optimalwert liefert. Die Lösung
hat typischerweise Komponenten, die nicht ganzzahlig sind. Durch Runden erhält
man daraus meist eine recht gute praktische Lösung.
Da A sehr viele Spalten haben kann, ist ein explizites Auflisten nicht erstrebenswert. Wir lösen (36) darum mit der revidierten Simplexmethode.
56
4. DIE SIMPLEXMETHODE
Haben wir schon eine Basis B von Schnittmustern gefunden und den entsprechenden Vektor y berechnet, so ergibt die Suche nach einem Schnittmuster mit negativen reduzierten Kosten das Problem, a1 , . . . , am ∈ N zu ermitteln mit der Eigenschaft
m
m
X
X
(37)
1<
yi ai und
ai `i ≤ `.
i=1
i=1
B EMERKUNG. Problem (37) ist (wegen der Ganzzahligkeitsbedingung) ein sog.
NP-schweres Problem, also theoretisch schwierig. In der Praxis lässt es sich aber
sehr gut lösen.
3. Die Zweiphasenmethode
Es soll nun gezeigt werden, dass die Simplexmethode so implementiert werden
kann, dass nur endlich viele Iterationen stattfinden. Wir betrachten hier die primale
Strategie. (Mit der dualen Strategie kann man analog verfahren, wenn man will.)
Der Kern der Methode besteht darin, (unabhängig von der Zielfunktion) eine primal zulässige Basis zu zu bestimmen. Von dieser Basis lässt sich dann in einer
weiteren algorithmischen Phase bezüglich der eigentlichen Zielfunktion weiterrechnen.
3.1. Phase 1. Wir betrachten das System
(38)
Ax = b, x ≥ 0
(A ∈ Rm×n , b ∈ Rm )
und suchen eine Basis B derart, dass xB = A−1
B b ≥ 0. OBdA dürfen wir b ≥ 0
annehmen (sonst multipliziert man entsprechnede Zeilen mit (−1)). Nun erweitern wir das Problem um die nichtnegativen Variablen z1 , . . . , zm und wollen das
lineare Programm
m
X
(39)
min
zi s.d. Iz + Ax = b, x ≥ 0, z ≥ 0
i=1
lösen. Offensichtlich besitzt (38) genau dann eine zulässige Lösung, wenn (39)
eine Optimallösung (x, z) mit Zielfunktionswert 0, d.h.
z1 = . . . = zm = 0
besitzt. Die Basis B einer solchen Optimallösung ergibt b als nichtnegative Linearkombination von linear unabhängigen Spalten von A. Diese können folglich zu
einer zulässigen Spaltenbasis AB von A erweitert werden. Damit ist das gesuchte
B gefunden (sofern (38) überhaupt lösbar ist).
Wir beobachten, dass (wegen b ≥ 0) die Teilmatrix I der ersten m Spalten von
D = [I|A] trivialerweise eine primal zulässige Spaltenbasis bzgl. (39) ist. Wir
beginnen die primale Strategie mit dieser Basis und wählen die weiteren Pivotelemente nach einer modifizierten primalen Pivotregel.
Dazu bezeichnen wir in jeder Iteration des Simplexalgorithmus mit
αi = (bi , di1 , . . . , dim )
(i = 0, 1, . . . , m)
3. DIE ZWEIPHASENMETHODE
57
die aus b und den Anfangsstücken der Länge m der Zeilen des Simplextableaus
gebildeten Vektoren. Zu Beginn haben wir also
  

α0
b0 0 . . . 0
 α1   b1 1 . . . 0
  

 ..  =  .. .. . . ..  mit − b0 = b1 + . . . + bm .
 .   . .
. .
αm
bm 0 . . . 1
Wir nennen einen Koordinatenvektor x lexikographisch positiv, wenn die erste
(von links gelesen) Koordinate 6= 0 positiv ist. y ist lexikgraphisch grösser als x,
wenn der Differenzvektor y − x lexikographisch positiv ist. Z.B. sind die Vektoren
α1 , . . . , αm alle lexikographisch positiv.
Die lexikographische (primale) Pivotregel bestimmt das Pivotelement dkj in der
Spalte j des Simplextableaus nun so, dass
αk
αi
(40)
= lex-min
| dij > 0.
dkj
dij
L EMMA 4.4. Sind α1 , . . . , αm lexikographisch positiv, dann auch die entsprechen0 nach dem Pivotieren gemäss (40).
den α10 , . . . , αm
Beweis. Division durch eine positive Zahl erhält die lexikographische Positivität.
Also ist αk0 = αk /dkj lexikographisch positiv. Für i 6= k ergibt sich die Behauptung aus
αi0 = αi −
"
= dij
dij
αk
dkj
αi
αk
−
dij
dkj
(lex. pos., falls dij ≤ 0)
#
(lex. pos., falls dij > 0).
S ATZ 4.1. Die lexikographische Pivotregel garantiert, dass keine Basis wiederholt
wird (und folglich die Anzahl der Iterationen endlich ist).
Beweis. Der reduzierte Kostenkoeffizient cj ist negativ und αk lexikographisch
positiv. Also ist
α00 = α0 − cj αk
immer lexikographisch grösser als α0 . Das heisst, dass alle Vektoren α0 voneinander verschieden sind. Folglich müssen auch die zugehörigen Basen voneinander
verschieden sein. (Denn ein Simplextableau wird eindeutig von der zugehörigen
Basis bestimmt.)
B EMERKUNG. Die lexikographische Regel ist nicht die einzige, die Endlichkeit
des Simplexverfahrens garantiert. Sie ist aber mathematisch am einfachsten zu beweisen.
58
4. DIE SIMPLEXMETHODE
3.2. Phase 2. In der Phase 1 stellen wir entweder fest, dass das lineare Programm (31) keine zulässige Lösung besitzt, oder wir können (z.B. mit der lexikographischen Regel) eine zulässige Basis B berechnen.
Haben wir B, dann können wir nun das Simplextableau zur tatsächlichen Zielfunktion aufstellen und weiterrechnen. Um Endlichkeit zu garantieren, kann man
wieder die lexikographische Regel verwenden (nun relativ zur Startbasis B und
nicht mehr zu I).
Damit erkennen wir:
S ATZ 4.2. Ein lineares Programm ist entweder unzulässig oder unbeschränkt oder
besitzt eine (optimale) Basis, die primal und dual zulässig ist.
Beweis. Wenn der Simplexalgorithmus stoppt, ist genau eine der im Satz behaupteten Eigenschaften nachgewiesen.
3.3. Sensitivitätsanalyse. Sei B eine primal zulässige Basis für das lineare
System
Ax = b, x ≥ 0.
F RAGE : Für welche Zielfunktionsparameter c ∈ Rn ist die zu B gehörige Basislösung x optimal?
Wir wissen: B ist optimal, wenn die reduzierten Kosten nichtnegativ sind:
T
cTN = cTN − cTB A−1
B AN ≥ 0 N
T
bzw. (A−1
B AN ) cB − IN cN ≤ 0N .
Die dieser Ungleichung genügenden c sind genau die Elemente des polyedrischen
Kegels
T
P ([A−1
B AN ) | − IN ], 0).
Man kann daraus ablesen, welche Veränderungen der Zielfunktionsparameter zulässig sind, wenn man weiterhin die Optimalität einer gefundenen Lösung garantieren will.
Ist B dual zulässig bzgl. den festen Zielfunktionsparametern c, so stellt sich dual
die
F RAGE : Für welche Restriktionsparameter b ∈ Rm ist die zu B gehörige Basislösung x optimal?
nach der primalen Zulässigkeit von b = A−1
B b ≥ 0. Wieder erhalten wir einen
polyedrischen Kegel:
P (−A−1
B , 0).
4. DIE PRIMAL-DUALE METHODE
59
4. Die primal-duale Methode
Wieder betrachten wir ein Paar dualer linearer Programme:
min cT x
Ax = b
x ≥ 0
←→
max bT y
AT y ≤ c
Wir möchten nun das Konzept des komplementären Schlupfes ausnutzen, um zu
einer Optimallösung zu kommen.
A NNAHME : Wir haben schon (irgend)eine dual zulässige Lösung y zur Verfügung
und kennen einen Vektor x = [x1 , . . . , xn ]T ≥ 0 mit der Eigenschaft
xj > 0
=⇒
T
y Aj =
m
X
yi aij = cj
(j = 1, . . . , n).
i=1
(Z.B. hat x = 0 trivialerweise diese Eigenschaft.) Dann wissen wir vom komplementären Schlupf: Im Fall Ax = b ist x primal zulässig und folglich optimal.
Sei oBdA b ≥ 0. Im Fall b = 0 ist x = 0 optimal. Wir unterstellen deshalb
m
X
bi > 0.
i=1
Sei à die Teilmatrix aller Spalten Aj von A mit der Eigenschaft
y T Aj =
m
X
aij yi = cj .
i=1
Wir betrachten das zugeordnete linearer Optimierungsproblem
min
(41)
1T z
Ãu + Iz = b
u, z
≥ 0
Dieses Problem (41) hat immer I als primal zulässige Anfangsbasis und kann somit
mit der primalen Strategie gelöst werden. Sei (u∗ , z∗ ) eine Optimallösung.
Im Fall ζ ∗ = 1T z∗ = 0, ist x = (u∗ , z∗ ) = (u∗ , 0) primal zulässig für das
Ausgangsproblem. Nach Wahl von à erfüllt x die komplementären Schlupfbedingungen und ist folglich optimal.
Im Fall ζ ∗ > 0 betrachten wir die dual optimale Lösung w von (41). Diese erfüllt
ζ ∗ = bT w
und
ÃT w ≤ 0, w ≤ 1.
Für jede Spalte A` der Ausgangsmatrix A, die nicht zu à gehört, haben wir nach
Definition von Ã:
AT` y < 0.
Also erfüllt der Vektor y0 = y + εw die duale Zulässigkeitsbedingung
AT y 0 ≤ c
für ein genügend kleines ε > 0,
60
4. DIE SIMPLEXMETHODE
aber liefert einen besseren Zielfunktionswert als y:
bt y0 = bT y + εbT w = bT y + εζ ∗ > bT y.
Wir können nun in gleicher Weise mit y0 anstelle von y verfahren.
FAZIT: Eine Iteration der primal-dualen Methode liefert entweder eine Optimallösung
(Fall ζ ∗ = 0) oder eine dual zulässige Lösung mit echt besserem Zielfunktionswert
(Fall ζ ∗ > 0).
B EMERKUNG. Es bleibt die Frage, wie man zu Anfang der primal-dualen Methode
ein dual zulässiges y erhält. Das hängt von der Matrix A und dem Vektor c ab. Im
Fall c ≥ 0 kann man z.B. trivialerweise mit y = 0 starten.
KAPITEL 5
Ganzzahlige lineare Programme
Wir betrachten nun Optimierungsprobleme vom Typ
(42)
min cT x s.d.
Ax = b, x ≥ 0, x ganzzahlig,
wobei die Matrix A ∈ Rm×n und die Vektoren c ∈ Rn , b ∈ Rm gegeben seien.
Wir setzen
P = {x ∈ Rn | Ax = b, x ≥ 0}.
Das mathematische Optimierungsproblem (42) ist kein lineares Programm im strengen Sinn, da der Zulässigkeitsbereich
F = {x ∈ P | x ∈ Nn }
eine diskrete Menge und im allgemeinen kein Polyeder ist. Ist F endlich und setzen
wir PI = conv F, so ist (42) äquivalent zu dem Problem
min cT x s.d.
A0
x ∈ PI .
b0
Wäre eine Matrix
und ein Vektor
mit PI = P (A0 , b0 ) bekannt, so könnte
man das Ausgangsproblem (42) z.B. dadurch lösen, indem man
min cT x s.d.
A0 x ≤ b0
mit der Simplexmethode löst.
V EREINBARUNG . In diesem Kapitel nehmen wir durchweg an, dass sämtliche Problemparameter A, c, b rational sind. OBdA dürfen (und werden) wir bei der Problemanalyse deshalb sogar Ganzzahligkeit annehmen:
A ∈ Zm×n , c ∈ Zn , b ∈ Zm .
1. Schnittebenen
Es seien A ∈ Zm×n und b ∈ Zm gegeben und
P = P (A, b) = {x ∈ Rn | Ax ≤ b}
das entsprechende rationale Polyeder. Wir interessieren uns für die Menge
PI = conv {x ∈ P | x ∈ Zn }.
P ROPOSITION 5.1. Ist P eine rationales Polyeder, dann ist auch PI ist ein rationales Polyeder.
61
62
5. GANZZAHLIGE LINEARE PROGRAMME
Beweis. Im Fall PI = ∅ ist nichts zu beweisen. Sei also PI 6= ∅. Nach dem
Dekompositionssatz von Weyl-Minkowski existieren endliche Mengen V, W ⊆
Qn so, dass
P = conv V + cone W.
Nach geeigneter Skalierung dürfen wir die Vektoren w ∈ W oBdA dabei als ganzzahlig annehmen. Ein beliebiges x ∈ P kann in der Form
x = V s + Wt
s, t ≥ 0, 1T s = 1
mit
dargestellt werden. Bezeichen wir mit btc der ganzzahlig nach unten gerundeten
Komponenten von t und setzen t = t − btc ≥ 0, dann erhalten wir
x = (V s + W t) + W btc = x + W btc
mit dem ganzzahligen btc und x in dem Polytop(!)
P = {V s + W t | s ≥ 0, 1T s = 1, 0 ≤ t ≤ 1}.
Wegen W btc ∈ Zn finden wir
x ∈ Zn
⇐⇒
x ∈ Zn
und deshalb
P ∩ Zn = P ∩ Zn + {W z | z ≥ 0 ganzzahlig}.
Da P ein Polytop (und somit beschränkt) ist, ist P ∩ Zn eine endliche Menge.
Wegen
(43)
PI = conv (P ∩ Zn ) + cone W
erkennen wir PI somit als Polyeder.
Im Prinzip könnte man aus der Darstellung (43) (z.B. mit Fourier-Motzkin) eine lineare Beschreibung von PI durch Ungleichungen ableiten. Für das Optimierungsproblem (42) ist dies jedoch nicht interessant, da ein solches Vorgehen bedeutet,
dass man ohnehin zuerst sämtliche ganzzahligen Vektoren in P (darunter auch die
Optimallösung von (43) ) auflisten müsste.
1.1. Das Verfahren von Gomory. Um eine lineare Beschreibung von PI zu
erzielen, gehen wir von gültigen Ungleichungen für das Polyeder P = P (A, b)
aus. Gemäss dem Lemma von Farkas betrachten wir deshalb ein beliebiges rationales y ≥ 0 und cT = yT A. Dann ist cT x ≤ z mit z = yT b eine gültige Ungleichung für P . Wir dürfen y als ganzzahlig annnehmen. Der springende Punkt
ist dann die Beobachtung
• cT = yT A ist ganzzahlig und
cT x ≤ z 0
mit
z 0 = byT bc ∈ Z
eine gültige Ungleichung für PI , da sie von allen ganzzahligen Vektoren
in P erfüllt wird.
1. SCHNITTEBENEN
63
Tatsächlich genügt es, sich dabei auf y mit Komponenten yi ∈ [0, 1] zu beschränken.
Denn bei allgemeinem y0 ∈ Qn+ und z ∈ Zn+ mit
0 ≤ y = y0 − z ≤ 1
ist die Ungleichung
(zT A)x ≤ zT b ∈ Z
ja ohnehin schon von Ax ≤ b impliziert. Für ganzzahliges x ∈ P (A, b) gilt darum
(y0 )T Ax ≤ b(y0 )T bc
⇐⇒
yT Ax ≤ byT bc.
Damit erhalten wir das Gomory-Polyeder
P 0 = {x ∈ P | (yT A)x ≤ byT bc, y ∈ [0, 1]m , yT A ∈ Zn }.
B EMERKUNG. P 0 ist tatsächlich ein Polyeder, denn es gibt nur endlich viele verschiedene Gomory-Schnitte. Das sieht man so: Die Menge {yT A | 0 ≤ y ≤ 1} ist
eine beschränkte Menge von Zeilenvektoren in Rn und enthält deshalb nur endlich
viele ganzzahlige Vektoren.
Iterieren wir diese Konstruktion, so ergibt sich die Gomory-Folge
P ⊇ P 0 ⊇ P 00 ⊇ . . . ⊇ PI .
Man bemerke, dass keine der Gomory-Ungleichungen einen ganzzahligen Punkt
aus P abschneidet“. Ausserdem gilt: Sobald bei der Gomory-Folge kein neues
”
Polyeder konstruiert wird, hat man genügend viele Ungleichungen erzeugt, die PI
festlegen.
Ohne Beweis bemerken wir
S ATZ 5.1 (Gomory). Die Gomory-Folge eines rationalen Polyeders P hat endliche
Länge und endet mit PI .
Der Beweis ist nicht schwer aber etwas aufwendig. Deshalb sei hier darauf verzichtet. Wir beweisen nur:
L EMMA 5.1. Sei P ein rationales Polytop mit P = P 0 . Dann gilt P = PI .
Beweis. Sei P 6= PI . Dann besitzt P eine Ecke v mit (mindestens) einer Komponente vj ∈
/ Z. Ausserdem existiert ein c ∈ Zn derart, dass die Funktion f (x) =
T
c x über P genau von v maximiert wird. Seien v(1) , . . . , v(k) die übrigen Ecken
von P und
max (cT v − cT v(`) ) = ε > 0
`=1,...,k
max |x1 | + . . . + |xn | = M < ∞.
x∈P
Sei K ∈ N so gewählt, dass Kε > 2M erfüllt ist. Dann maximiert v auch die
Funktion f (x) = cT x über P , mit
cT = [Kc1 , . . . , Kcj + 1, . . . , Kcn ] = KcT + eTj .
64
5. GANZZAHLIGE LINEARE PROGRAMME
Denn für jede andere Ecke v(` von P gilt
(`)
K(cT v(`) ) + vj < K(cT v − ε) + M < KcT v − M < KcT v + vj .
Wegen cT v − KcT v = vj ∈
/ Z ist entweder cT v oder cT v keine ganze Zahl.
Also ist
cT x ≤ bcT vc oder cT x ≤ bcT vc
eine Ungleichung, die zwar für PI gültig ist aber nicht für P . D.h. P 6= P 0 .
Der Satz von Gomory führt zu einem endlichen Algorithmus zur Lösung von des
ganzzahligen Optimierungsproblems
max cT x s.d.
Ax ≤ b, x ∈ Zn .
Man löst die LP-Relaxierung
max cT x s.d.
Ax ≤ b.
Ist die gefundene Optimallösung x∗ ganzzahlig, dann ist nichts weiter zu tun. Andernfalls berechnet man das Gomory-Polyeder P 0 und löst
max0 cT x
x∈P
usw. bis das ganzzahlige Optimum gefunden ist. In der Praxis ist diese Vorgehensweise typischerweise jedoch hoffnungslos ineffizient.
1.2. Schnittebenenverfahren. Die Idee hinter Schnittebenenverfahren zur Lösung ganzzahliger linearer Programme ist wie die des Gomory-Verfahrens: Man
löst die LP-Relaxierung des Problems. Ist die gefundene Optimallösung x∗ , so
fügt man dem LP eine Ungleichung
aT x ≤ b
hinzu, die für alle x ∈ P ∩ Zn gilt und von x∗ verletzt wird. Die entsprechende
Hyperebene
H(a, b) = {x ∈ Rn | aT x = b}
heisst Schnittebene (bzgl. P und PI ). Unter der Ausnutzung der speziellen kombinatorischen Struktur, die das Optimierungsproblem haben mag, lassen sich in
der Praxis oft gezielt Schnittebenen bestimmen, die zu effizienteren Algorithmen
führen als das Allzweck-Gomoryverfahren. Ein Schnittebenen-Verfahren geht nach
folgendem Prinzip zur Lösung des Problems
max cT x s.d.
Ax ≤ b, x ∈ Zn
vor:
(SE0) Löse das relaxierte LP-Problem
max cT x s.d.
Ax ≤ b.
Ist die gefundene Optimallösung x∗ ganzzahlig, S TOP.
1. SCHNITTEBENEN
65
(SE1) Bestimme im Fall x∗ ∈
/ Zn eine Schnittebenenungleichung aT x ≤ b
∗
für PI , die von x verletzt wird (d.h. aT x∗ > b) und füge diese den
Restriktionen hinzu. Löse nun
max cT x s.d.
Ax ≤ b, aT x ≤ b.
Ist die gefundene Optimallösung x ganzzahlig, S TOP.
/ Zn eine Schnittebenenungleichung aT x ≤ b für
(SE2) Bestimme im Fall x ∈
PI , die von x0 verletzt wird (d.h. aT x > b) und füge diese den bisherigen
Restriktionen hinzu usw.
1.2.1. Quadratische boolesche Optimierung. Als Beispiel betrachten wir zu
gegebenen Paramentern qij ∈ R das Problem
max
n X
n
X
qij xi xj , xi ∈ {0, 1}.
i=1 j=1
Sei V = {1, . . . , n} und E die Menge aller Paarmengen {i, j}. Zu e = {i, j}
setzen wir
di = qii und ce = qij + qji .
Wegen x2i = xi und ye = xi xj ∈ {0, 1} erhalten wir eine Formulierung als
ganzzahliges LP:
X
X
max
di xi +
ce ye
i∈V
s.d.
(44)
e∈E
ye − xi
xi + xj − ye
xi , ye
−xi , −ye
xi , ye
≤
≤
≤
≤
0
e ∈ E, i ∈ e
1
e = {i, j}
1
0
ganzzahlig.
B EMERKUNG. Man kann sich dieses Problem vorstellen als die Aufgabe, im vollständigen Graphen Kn mit Knotenmenge V und Kantenmenge E einen vollständigen
Untergraphen maximalen Gesamtgewichts zu wählen. Dabei sind die Knoten i ∈
V mit di und die Kanten e ∈ E mit ce gewichtet.
Als Schnittebenen für das von den ganzzahligen Lösungen von (44) erzeugte Polytop PI kommen alle Ungleichungen in frage, die von den ganzzahligen Lösungsvektoren erfüllt werden. Beispiele sind etwa die Dreiecksungleichungen
xi + xj + xk − ye − yf − yg ≤ 1
für jeweils drei Knoten i, j, k ∈ V und die dazugehörigen Kanten e, f, g ∈ E des
entsprechenden Dreiecks“ {i, j, k}.
”
Dieses Beispiel kann verallgemeinert werden. Dazu setzen für S ⊆ V mit |S| ≥ 2
X
X
x(S) =
xi und y(S) =
ye ,
i∈S
e∈E(S)
66
5. GANZZAHLIGE LINEARE PROGRAMME
wobei E(S) die Menge aller Paarmengen e = {i, j} ⊆ S ist. Zu α ∈ N definieren
wir die entsprechende Cliquenungleichung als
αx(S) − y(S) ≤ α(α + 1)/2.
L EMMA 5.2. Jede zulässige (0, 1)-Lösung (x, y) von (44) erfüllt jede Cliquenungleichung.
Beweis. Sei C = {i ∈ S | xi = 1} und s = |C| ≤ |S|. Dann gilt x(S) = s und
y(S) = s(s − 1)/2. Also finden wir
α(α + 1)/2 − αx(S) − y(S) = [α(α + 1) − 2αs + s(s − 1)]/2
= (α − s)(α − s + 1)/2.
Da α und s ganze Zahlen sind, ist der letzte Ausdruck immer nichtnegativ.
Es gibt allein schon 2n − n − 1 Cliquenungleichungen. Diese genügen noch nicht,
um PI vollständig zu beschreiben. Bei nicht zu grossen booleschen Problemen
(n ∼ 40) kommt man damit aber in der Praxis schon recht weit.
2. Unimodularität
Wir gehen das Ganzzahligkeitsproblem nun von einer anderen Seite an und suchen
nach Bedingungen für die Matrix A ∈ Zm×n , die garantieren, dass jede Ecke des
Polyeders
P = {x ∈ Rn | Ax = b, x ≥ 0}
ganzzahlige Ecken hat, sofern b ganzzahlig ist. OBdA nehmen wir wieder m =
rg A an. Wir nennen A unimodular, wenn jede (m × m)-Basisteilmatrix AB von
A die Eigenschaft |det AB | = 1 besitzt.
Sei AB eine Basismatrix mit zugeordneter Basislösung x. Nach der Cramerschen
Regel ergeben sich die Komponenten als
xj =
det AB (j, b)
det AB
(j ∈ B),
wobei AB (j, b) aus AB hervorgeht, indem die Spalte j durch den Vektor b ersetzt
wird. Im Fall b ∈ Zm ist det AB (j, b) eine ganze Zahl. Folglich finden wir
A unimodular
=⇒
xj ∈ Z für alle b ∈ Zm .
P ROPOSITION 5.2. Sei A ∈ Zm×n eine unimodulare Matrix vom Rang m = rg A
und b ∈ Zm . Dann gilt für jedes c ∈ Rn : Entweder hat das lineare Programm
min cT x
s.d. Ax = b, x ≥ 0
keine Optimallösung oder es existiert eine optimale Lösung x∗ mit ganzzahligen
Komponenten x∗j .
2. UNIMODULARITÄT
67
Beweis. Simplexalgorithmus.
Für viele Anwendungen ist es geschickt, den Begriff der Unimodularität zu verschärfen.
Wir nennen eine Matrix A total unimodular, wenn für jede quadratische Teilmatrix
A0 von A unimodular ist, d.h.
det A0 ∈ {−1, 0, +1}.
Insbesondere gilt aij ∈ {−1, 0 + 1} für alle Koeffizienten der total unimodularen
Matrix A = [aij ].
1 1
E X . 5.1. Die Matrix A =
ist unimodular aber nicht total unimodular.
1 2
Bevor wir Beispiele von total unimodularen Matrizen diskutieren, geben wir einige
wichtige Matrixkonstruktionen an.
L EMMA 5.3. Sei A ∈ Zm×n total unimodular und e ∈ Zm ein Einheitsvektor.
Dann gilt:
(a) Wenn man Spalte von A mit 0 oder −1 multipliziert, erhält man wieder
eine total unimodular Matrix.
(b) AT total unimodular.
(c) A = [A, e] total unimodular.
Beweis. (a) folgt aus der Tatsache, dass sich die Skalarmultiplikation eine Spalte
einer Matrix in der Skalarmultiplikation der Determinante auswirkt. (b) ergibt sich
aus dem Transpositionssatz det C = det C T .
Um (c) einezusehen, betrachten wir eine quadratische Untermatrix A0 von [A, e].
OBdA dürfen wir annehmen, dass die Spalte e in A0 auftaucht. Wir entwickeln die
Determinate nach dieser Spalte e und finden
det A0 = ±1 · det A00 ,
wobei A00 eine quadratische Untermatrix von A ist. Also gilt det A0 ∈ {−1, 0 + 1}.
P ROPOSITION 5.3. Sei A ∈ Zm×n total unimodular, b ∈ Zm und l, u ∈ Zn
derart, dass
P = {x ∈ Rn | Ax ≤ b, l ≤ x ≤ u} =
6 ∅.
Dann ist P eine Polytop mit ganzzahligen Ecken.
Beweis. P ist die Lösungsmenge des total unimodularen Ungleichungssystems
 
 
A
b
 I x ≤  u 
−l
−I
68
5. GANZZAHLIGE LINEARE PROGRAMME
Intervallmatrizen. Sei M = {1, . . . , m}. Unter einem Intervall versteht man eine
Teilmenge F ⊆ M derart, dass Elemente i, j ∈ M existieren mit der Eigenschaft
F = {k ∈ M | i ≤ k ≤ j}.
Eine (0, 1)-Matrix A heisst Intervallmatrix, wenn die Zeilen von A in einer solchen
Reihenfolge angeordnet werden können, dass jede Spalte der (0, 1)-Inzidenzvektor
eines Intervalls der Zeilenindices ist.
Es ist klar, dass jede quadratische Untermatrix einer Intervallmatrix selber eine
Intervallmatrix ist. Es gilt
L EMMA 5.4. Jede Intervallmatrix A ist total unimodular.
Beweis. OBdA sei A = [aij ] quadratisch und
1 für j = 1, . . . , k
a1j =
0 für j = k + 1, . . . , n.
Ausserdem entspreche die erste Spalte von A dem kleinsten Intervall, das 1 enthält.
Im Fall k = 1 ist die erste Zeile ein Einheitsvektor. Entwicklung der Determinante
nach der ersten Zeile liefert dann die Behauptung per Induktion wie bei Netzwerkmatrizen.
Im Fall k ≥ 2 subtrahiert man die erste Spalte von den Spalten 2, . . . , k. Die
resultierende Matrix ist wieder eine Intervallmatrix und die Determinante hat sich
nicht geändert. Auf die neue Matrix trifft aber der vorige Fall zu.
B EMERKUNG. (0, 1)-Inzidenzmatrizen von allgemeinen Familien F von Teilmengen einer endlichen Grundmenge M sind typischerweise nicht total unimodular!
KAPITEL 6
Flüsse in Netzwerken
Sei nun A ∈ {−1, 0, +1}m×n eine Matrix mit den Eigenschaften
(NM) Jede Spalte von A enthält höchstens einen Koeffizienten −1“ und einen
”
Koeffizienten +1“.
”
L EMMA 6.1. Erfüllt A die Bedingung (NM), dann ist A total unimodular.
Beweis. Wir argumentieren per Induktion über die Anzahl der Koeffizienten 6= 0
und betrachten eine beliebige quadratische Untermatrix. OBdA sei A selber diese
Matrix. Hat jede Spalte von A genau 2 Koeffizienten 6= 0, so sind alle Spaltensummen 0. Folglich hat A nicht vollen Rang, d.h. det A = 0. Im Fall det A 6= 0
dürfen wir somit annehmen, dass mindestens eine Spalte j genau einen Koeffizienten aij 6= 0 besitzt. Entwicklung nach dieser Spalte ergibt
|det A| = |aij | · |det A0 | mit
|det A0 | ∈ {0, 1},
da wir die Behauptung für die Matrix A0 per Induktion als richtig unterstellen.
Wir nennen die Matrix A vom Typ (NM) eine Netzwerkmatrix, wenn die Spaltensummen in A immer 0 sind (d.h. wenn in jeder Spalte genau eine −1 und genau
eine +1 auftreten).
L EMMA 6.2. Eine Matrix A hat die Eigenschaft (NM) genau dann, wenn A aus
einer Netzwerkmatrix durch Streichen einer Zeile hervorgeht.
Beweis. Hat A die Eigenschaft (NM), so fügen wir eine neue Zeile hinzu, die
genau die Spaltensummen der Matrix A enthält. Die erweiterte Matrix ist offenbar
eine Netzwerkmatrix.
E X . 6.1 (Gerichtete Graphen und Inzidenzmatrizen). Eine Netzwerkmatrix A ∈
{−1, 0, +1}m×n kann man sich in folgender Weise als algebraische Darstellung
eines gerichteten Graphen G = (V, E) vorstellen:
V ist eine Menge von m Knoten, die wir den m Zeilen von A zuordnen. E ist
eine Menge von n (gerichteten) Kanten, die wir uns als Pfeile“ denken und den
”
Spalten von A zuordnen.
69
70
6. FLÜSSE IN NETZWERKEN
Die Spalte j besitzt einen Koeffizienten auj = +1 und avj = −1. Wir stellen uns
die entsprechende Kante ej ∈ E als Pfeil vor, der sich vom Knoten v ∈ V zum
Knoten u ∈ V erstreckt:
ej
v −→ u
Man nennt deshalb A auch die (Knoten-Kanten-)Inzidenzmatrix von G = (V, E).
Sei A = [aij ] ∈ Rm×n die Inzidenzmatrix des Graphen G = (V, E). Dann repräsentiert ein Koordinatenvektor x ∈ Rn einen Fluss auf dem Graphen G, wobei
die Komponente xj die Quantität des Flusses x angibt, die durch die von v nach u
gerichtete Kante ej fliesst“. Im Fall xj > 0 stellt man sich vor, dass die Menge xj
”
von v and u fliesst. xj < 0 bedeutet, dass die Menge |xj | = −xj von u and v (d.h.
in die umgekehrte Richtung) fliesst. Die Quantität
δv (x) =
n
X
avj xj
(v ∈ V )
j=1
ist der Nettodurchfluss (= Menge des eingehenden Flusses minus Menge des ausgehenden Flusses) von x im Knoten v ∈ V . Allgemeiner ist der Vektor
δ(x) = Ax ∈ RV
der Vektor der Nettozuflüsse der Knoten von G.
T ERMINOLOGIE . Intuitiv nennt man einen Knoten v im Fall δv (x) ≥ 0 eine Senke
(bzgl. x). Im Fall δv (x) ≤ 0 eines nichtpositiven Nettozuflusses (d.h. eines nichtnegativen Nettoausflusses) spricht man von v als einer Quelle. Im Fall δv (x) = 0
ist v ein sog. Transitknoten (bei dem der Zufluss gleich dem Abfluss ist).
Zu gegebenen Parametern c, l, u ∈ Rn und b ∈ Rm definieren wir das Flussproblem auf G als das lineare Optimierungsproblem
(45)
min cT x
s.d. Ax = b, l ≤ x ≤ u.
Aus der totalen Unimodularität von A folgt nun sofort
S ATZ 6.1. Sind b, l und u ganzzahlig, dann hat das Kosten-Flussproblem entweder keine Optimallösung oder es besitzt eine Optimallösung mit ganzzahligen
Komponenten.
Die Parametervektoren l und u können als (untere bzw. obere) Kapazitätsbeschränkungen der Kanten von G interpretiert werden. Der Wert cj xj gibt die Kosten des
Flusses x durch die Kante ej an.
B EMERKUNG. Die Kapazitätsrestriktionen kann man sich etwas allgemeiner als
Funktionen l, u : E → R ∪ {−∞, +∞} vorstellen. Satz 6.1 bleibt offensichtlich
auch in dieser Allgemeinheit entsprechend gültig.
Das Kosten-Flussproblem kann z.B. mit dem Simplexalgorithmus gelöst werden
und hat – unter den Annahmen von Satz 6.1 – eine ganzzahlige Optimallösung.
2. KÜRZESTE WEGE
71
Es gibt allerdings auch speziellere Verfahren, die kombinatorische Struktur von G
ausnützen und effizienter sind.
1. Das Matching-Polytop
Seien S und T disjunkte Mengen mit |S| = |T | = n < ∞ und E = S × T . Wir
setzen V = S ∪ T und definieren die Matrix A = [ave ] ∈ RV ×E über

−1 falls e = (v, w)
ave = +1 falls e = (w, v)

0
sonst
Der Vektor b ∈ RV sei gegeben durch
−1 falls v ∈ S
bv =
+1 falls v ∈ T
Ein (S × T )-Matching entspricht einer (0, 1)-Lösung x von
Ax = b.
Es liegt hier also ein Flussproblem vor, bei dem alle Knoten in S Quellen und alle
Knoten in T Senken sind. Nach Wahl von b erfüllt jedes nichtnegative x ∈ RE
automatisch die Bedingung xe ≤ 1 für alle e ∈ E. A ist eine Netzwerkmatrix und
damit total unimodular. Also gilt
P = {x ∈ RE | Ax = b, x ≥ 0} = PI .
Die zulässigen Basislösungen des Simplexalgorithmus sind Ecken von P und folglich ganzzahlig. D.h. diese Basislösungen entsprechen Matchings. Mit anderen
Worten: P ist genau das Matching-Polytop.
2. Kürzeste Wege
Sei V eine beliebige (endliche) Menge von Knoten E ⊆ V × V eine Menge von
(gerichteten) Kanten eines Graphen G = (V, E). Wieder sei A = [ave ] ∈ RV ×E
die zugehörige Inzidenzmatrix mit

−1 falls e = (v, w)
ave = +1 falls e = (w, v)

0
sonst
Wir wählen und zwei feste Knoten s, t und definieren b ∈ RV als

−1 falls v = s
bv = +1 falls v = t

0
sonst.
Mit anderen Worten: Wir wählen s als Quelle und t als Senke bzgl. eines zu konstruierenden Flusses.
72
6. FLÜSSE IN NETZWERKEN
L EMMA 6.3. Sei B eine zulässige Basis bzgl. Ax = b, x ≥ 0 und x die zugehörige
Basislösung. Dann enthält die Menge
P = {e ∈ E | xe > 0}
einen (gerichteten) Weg von s nach t in G.
Beweis. Da der Nettozufluss von s negativ ist, existiert eine Kante (s, v1 ) ∈ P. Ist
v1 = t, ist der Weg gefunden. Andernfalls folgt aus dem Nettozufluss δ(x)v1 = 0
die Existenz einer Kante (v1 , v2 ) ∈ P usw.
Nach endlich vielen Schritten haben wir entweder t erreicht oder einen Knoten vk ,
der schon durchlaufen wurde. Letzteres ist aber unmöglich, da sonst die Spalten
von AB linear abhängig wären.
Wir wählen eine Zeilen-Teilmatrix A0 von A mit vollem Zeilenrang. Dann ist auch
A0B total unimodular und die Koeffizienten einer Basislösung x ergeben sich nach
der Cramerschen Regel als
xe =
det A0B,e (b)
det A0B
∈ {0, 1}.
Sei d : E → R+ eine Distanzfunktion auf dem Graphen G = (V, E). Eine optimale Basislösung des linearen Programms
X
(46)
min dT x =
de xe s.d. Ax = b, x ≥ 0
e∈E
entspricht also einer Menge von Kanten, die eine Verbindung von s nach t sichert
und minimales gesamte Kantenlänge hat, also einen kürzesten Weg von s nach t
ergibt.
2.1. Der Dijkstra-Algorithmus. Kürzeste (s, t)-Wege in G = (V, E) kann
man nicht nur mit der Simplexmethode berechnen. Der Algorithmus von Dijkstra
löst das Problem, indem er vom zu (46) dualen linearen Programm ausgeht:
(47)
max yT b
max yt − ys
←→
s.d. vw − yv ≤ de (e = (v, w) ∈ E)
s.d. yT A ≤ dT
Man sucht also ein (Knoten)-Potential y : V → R, das die Potentialdifferenz
yt − ys maximiert, wobei die übrigen Potentialdifferenzen wie folgt beschränkt
sind:
yw − yv ≤ d e
bzw.
y w ≤ yv + d e
für alle e = (v, w) ∈ E.
Der Einfachheit halber setzen wir dvw = +∞, wenn (v, w) ∈
/ E. Der Algorithmus
von Dijkstra baut nun ein optimals Potential sukzessive folgendermassen auf:
(D0) Setze ys ← 0, U ← {s} und yv ← dsv für alle v ∈ V \ U .
3. ZIRKULATIONEN UND DAS MAX-FLOW-MIN-CUT-THEOREM
73
(D1) Solange U 6= V gilt, wähle ein v ∈ V \ U mit minimalem Potential yv ,
setze U ← U ∪ {v} und datiere auf:
yw ← min{yw , yv + dvw } für alle w ∈ V \ U .
Man sieht leicht per Induktion:
L EMMA 6.4. In jedem Stadium des Algorithmus von Dijkstra geben die Potentiale
yu der Knoten u ∈ U genau den minimalen Abstand von s nach u. Für beliebige
Knoten v ∈ V ist yv zumindest eine Obergrenze für den Abstand von s.
Man erkennt: der Dijkstra-Algorithmus berechnet nicht nur den kürzesten Abstand
von s zu t sondern zu allen Knoten v ∈ V und löst damit insbesondere das duale
Problem (47). Aus dieser Lösung lässt sich leicht ein kürzester Weg von s nach t
durch Zurückrechnen“ gewinnen:
”
Man beginnt bei t und sucht ein v1 ∈ V \ {t} mit
yt = yv1 + dv1 ,t .
Nun sucht man ein v2 ∈ V \ {t, v1 } mit
yv1 = yv2 + dv2 ,v1
usw., bis man bei s angelangt ist.
3. Zirkulationen und das MAX-Flow-MIN-Cut-Theorem
Wir betrachten einen gerichteten Graphen G = (V, E) mit Knoten-Kanten-Inzidenzmatrix
A = A(G) wie zuvor. Unter einer Zirkulation (oder Strömung) auf G versteht man
einen Fluss x ∈ RE mit Nettozufluss δv (x) = 0 in jedem Knoten v ∈ V . Mit anderen Worten: Bei einer Zirkulation ist jeder Knoten Transitknoten und wir haben
x ∈ RE ist Zirkulation auf G
⇐⇒
Ax = 0.
Sei nun f = (t.s) ∈ E eine festgewählte Kante und x eine Zirkulation. Stellen
wir uns vor, dass die Kante f in G blockiert wird. Dann stellen die übrigen Kantenflusswerte xe (e 6= f ) einen Fluss auf Gf = (V, E \ {f }) dar, wo in s ein
Nettoabfluss und bei t ein Nettozufluss in Höhe von xf stattfindet. Mit anderen
Worten:
• Die Einschränkung von x auf Gf beschreibt den Transport eines Gu”
tes“ der Quantität xf von der Quelle s zur Senke t entlang den Kanten
von Gf , wobei bei keinem Knoten v 6= s, t etwas verloren geht oder
hinzugewonnen wird.
74
6. FLÜSSE IN NETZWERKEN
Unter der Annahme dass jede Kante e ∈ E \ {f } einer Kapazitätsschranke ce ≥ 0
unterliegt, sucht man im Ford-Fulkerson-Problem nach einer nichtnegativen Zirkulation x, die den Wert xf maximiert:
(48)
max
s.d.
xf
δv (x) = 0
für alle v ∈ V
0 ≤ xe ≤ ce für alle E ∈ e \ {f }
In Matrixschreibweise und mit zusätzlichen nichtnegativen Schlupfvariablen s ≥ 0
haben wir äquivalent mit dem f ∈ E entsprechenden Einheitsvektor ef :
min −eTf x
s.d.
Ax
= 0
Ix
+ Is = c
x,
s ≥ 0
Dazu ist das duale lineare Programm
max yT 0 + zT c
s.d. yT A + zT ≤ −eTf
z T ≤ 0T
min
−
TA −
s.d.
y
bzw.
zT c
zT
−zT
≥ eTf
≥ 0T
Letzteres ist äquivalent mit
X
min
ce ze
e∈E
(49)
s.d.
yw
ys
− y v + ze
− y t + zf
ze
≥ 0 für alle z = (v, w) ∈ E
≥ 1
≥ 0.
Augmentierende Wege. Sei nun x ≥ 0 eine zulässige Lösung von (48). Wir suchen diese um ein gewisses ε > 0 zu verbesseren. Dazu definieren wir einen Hilfsgraphen G(x) auf V mit Kanten
(v, w) wenn e = (v, w) ∈ E \ {f } und xe < ce ( Vorwärtskante“)
”
(w, v) wenn e = (v, w) ∈ E \ {f } und xe > 0 ( Rückwärtskante“)
”
Sei ε > 0 so, dass xe + ε ≤ ce gilt, wenn e eine Vorwärtskante ist, und xe − ε ≥ 0
auf den Rückwärtskanten e erfüllt ist. Dann ist klar:
• Existiert ein Weg P von s nach t im Hilfsgraphen G(x), dann kann der
Fluss x um mindestens ε > 0 verbessert werden.
Wir erhöhen nämlich einfach den Flusswert um ε auf den Vorwärtskanten von P
(und auf der Kante f = (t, s)) und erniedrigen ihn um ε auf den Rückwärtskanten von P. Offensichtlich ist der resultierende Fluss nichtnegativ, respektiert die
Kapazitätsgrenzen und genügt den Knotendurchflussbedingungen.
Sei S die Menge aller Knoten, die in G(x) von s aus auf einem gerichteten Weg
erreicht werden können. Dann wissen wir also: Im Fall t ∈ S kann x verbessert
werden.
3. ZIRKULATIONEN UND DAS MAX-FLOW-MIN-CUT-THEOREM
75
Schnitte. Sei allgemein S ⊆ V eine Knotenmenge mit s ∈ S. Dann bestimmt S
einen sog. s-Schnitt
[S : V \ S] = {(v, w) ∈ E | v ∈ S, w ∈
/ S}
der Kapazität
X
c[S : V \ S] =
ce ≥ 0.
e∈[S:V \S]
L EMMA 6.5 (Schnittlemma). Sei x eine zulässige Zirkulation auf G und [S : V \S]
ein beliebiger s-Schnitt. Dann gilt
xf ≤ c[S : V \ S].
Beweis. Wir setzen yv = 1 für alle v ∈ S und yv = 0 für v ∈
/ S. Ausserdem
wählen wir ze = 1 für e ∈ [S : V \ S] und ze = 0 sonst.
Dann erhalten wir eine zulässige Lösung des dualen Problems (49) mit Zielfunktionswert
X
ce ze = c[S : V \ S].
e∈E
Die schwache Dualität der linearen Programmierung impliziert damit die behauptete Ungleichung.
Sei wie vorher x ≥ 0 eine zulässige Zirkulation und S die Menge aller von s in
G(x) erreichbaren Knoten. Im Fall t ∈
/ S ergibt sich nach Definition von G(x) und
der Knotenmenge S für eine Kante e = (v, w) ∈ E \ {f }:
c wenn v ∈ S und w ∈ V \ S
xe = e
0 wenn v ∈ V \ S und w ∈ S.
Also schliessen wir, dass x optimal ist. Denn
X
xf =
xe = c[S : V \ S].
e∈[S:V \S]
S ATZ 6.2 (Ford-Fulkerson). Eine zulässige Zirkulation x ist optimal für (48) genau
denn, wenn es im Hilfsgraphen G(x) keinen augmentierenden Weg von s nach t
gibt.
Das lineare Programm (48) hat auf jeden Fall x = 0 als zulässige Lösung. Also
erhalten wir unter den obigen Voraussetzungen eine kombinatorische (graphentheoretische) Form der LP-Dualität:
KOROLLAR 6.1 (MAX-Flow-MIN-Cut).
max{xf | x ist zulässig für (48)} = min{c[S : V \ V ] | s ∈ S ⊆ V }.
76
6. FLÜSSE IN NETZWERKEN
4. Der Algorithmus von Ford-Fulkerson
Die vorangegangene Analyse des Ford-Fulkerson-Problems (48) legt folgenden
Algorithmus nahe:
(FF0) Beginne mit x = 0 als Startlösung und suche im Hilfsgraphen G(x)
einen augmentierenden Weg P von s nach t.
(FF1) S TOP, wenn P nicht existiert: x ist optimal.
(FF2) Wenn P existiert, modifiziere x entlang P zu einem verbesserten zulässigen Fluss x0 mit x0f = xf + ε und iteriere nun mit x0 anstelle von x.
Sind die Kapazitäten ce ganzzahlig, so ist klar, dass der FF-Algorithmus nur ganzzahlige Lösungen x produziert und in jeder Iteration der Flusswert xf um ein ganzzahliges ε ≥ 1 verbessert wird.
Man kann zeigen, dass der FF-Algorithmus höchstens |V | · |E| Iterationen (Augmentierungen) erfordert, wenn man immer einen augmentierenden Weg P mit so
wenig Kanten wie möglich wählt (was z.B. automatisch der Fall ist, wenn man P
mit dem Dijkstra-Algorithmus berechnet). (Wir beweisen dies hier nicht, da wir
später noch einen anderen Netzwerkfluss-Algorithmus analysieren werden.)
4.1. Das bipartite Matching- und Überdeckungsproblem. Wir gehen von
endlichen disjunkten Mengen S und T und einer Teilmenge E ⊆ S × T aus und
nennen den Graphen G = (S ∪T, E) bipartit. Ein (nicht notwendigerweise perfektes) Matching ist eine Teilmenge M ⊆ E von paarweise nichtinzidenten Kanten:
(s1 , t1 ), (s2 , t2 ) ∈ M
=⇒
s1 6= s2 , t1 6= t2 .
Die Aufgabe, ein maximales Matching zu berechnen erweist sich als ein Spezialfall
des FF-Problems. Dazu betrachten wir den Graphen G = (V, E), mit zwei neuen
Knoten s0 , t0 , d.h. V = (S ∪ T ∪ {s0 , t0 }, E, und Kantenmenge
E = E ∪ {(s0 , s) | s ∈ S} ∪ {(t, t0 ) | t ∈ T } ∪ {(t0 , s0 }
Beschränken wir nun die Kapazität der Kanten vom Typ (s0 , s) und (t, t0 ) auf 1
(und +∞“ sonst) , so berechnet der FF-Algorithmus einen Vektor x ∈ {0, 1}E
”
mit maximalem Flusswert
X
x(t0 ,s0 ) =
xe .
e∈E
Folglich ist M = {e ∈ E | xe = 1} ein maximales Matching in G.
Unter einer (Kanten-)Überdeckung von G = (S ∪ T, E) versteht man eine Menge
von Knoten(!) C ⊆ S ∪ T mit der Eigenschaft
(v, w) ∈ E
=⇒
v ∈ C oder w ∈ C.
C muss mindestens die Mächtigkeit eines beliebigen Matchings M haben, denn
jede Kante aus M muss ja durch C abgedeckt sein:
|C| ≥ |M |.
5. DER PRÄFLUSS-MARKIERUNGSALGORITHMUS
77
Sei andererseits M ein maximales Matching, das nach dem FF-Algorithmus konstruiert wurde und C der Schnitt aller Knoten die von s0 noch erreichbar sind.
Wegen
c[C : V \ C] = |M | < ∞,
kann es kein e ∈ E geben, das von S ∩ C nach T \ C verläuft. Also ist
C = (S \ C) ∪ (T ∩ C)
eine Überdeckung und hat Mächtigkeit
|C| = |S \ C| + |T ∩ C| = c[C : V \ C] = |M |.
S ATZ 6.3 (König). Sei G = (S ∪ T, E) bipartit. Dann gilt
max{|M | | M Matching} = min{|C| | C Überdeckung.}
B EMERKUNG. Das Matching- und Überdeckungsproblem kann sinnvoll auch im
Fall T = S (d.h. E ⊆ S × S) formuliert werden. Während das Matchingproblem
(mit etwas mehr Aufwand) noch effizient lösbar bleibt, ist in dieser Allgemeinheit kein effizienter Algorithmus für das analoge Überdeckungsproblem bekannt.
Insbesondere gilt der Satz von König in diesem Rahmen nicht mehr.
5. Der Präfluss-Markierungsalgorithmus
Wir betrachten wieder das Ford-Fulkerson-Problem in der Form
max
δt (x)
s.d.
δ
(50)
v (x) = 0 für alle v ∈ V \ {s, t}
0 ≤ xe ≤ ce
für alle E
(mit Kapazitäten ce ∈ R+ ∪ {+∞}). Dabei soll der Nettozufluss in die Senke t
maximiert werden. Bei einer zulässigen Lösung x gilt
δs (x) = −δt (x)
da die Summe aller Nettozuflüsse null sein muss:
X
0 = 0T x = 1T Ax =
δv (x) = δs (x) + δt (x).
v∈V
Also könnten wir xf = δs (x) auf der Kante f = (t, s) verschicken, um bei allen
Knoten v den Nettozufluss δv (x) = 0 zu erreichen. Der Einfachheit halber nehmen
wir deshalb an:
E = {(v, w) ∈ V × V \ {t, s} | v 6= w, }
(Eine nicht zur V erfügung stehende “ Kante (v, w) kann ja immer durch die Ka”
pazitätsrestriktion cvw = 0 simuliert werden.) Wir wollen einen weiteren Typ von
Algorithmus für dieses Problem diskutieren, der von Goldberg und Tarjan vorgeschlagen wurde.
78
6. FLÜSSE IN NETZWERKEN
Dazu bezeichnen wir einen Fluss x ∈ RE als Präfluss, wenn in jedem Zwischenk”
noten“ v einen nichtnegativen Nettozufluss bewirkt:
X
X
δv (x) =
xzv −
xvw ≥ 0 für alle v ∈ V \ {s, t}.
z6=v
w6=v
Jeder Zwischenknoten v ist also eine Senke. Im Fall δv (x) > 0 heisst der Knoten
v aktiv. Der Präfluss x wird zulässig genannt, wenn er den Kapazitätsschranken
genügt:
0 ≤ xe ≤ ce für alle e ∈ E.
Die Sende-Operation. Ist x ein zulässiger Präfluss. Wie im Ford-Fulkerson-Algorithmus
sei G(x) der entsprechende Hilfsgraph. (v, w) ist also eine Kante von G(x) genau
dann, wenn
xvw < cvw oder xwv > 0.
Man kann also
c̃vw = cvw − xvw + xwv > 0
zusätzliche Flusseinheiten von v nach w schicken ohne die Kapazitätsrestriktionen
zu verletzen. Ist v aktiv, so kann man also den Fluss von v nach w um
ε = min{δv (x), c̃vw } > 0
erhöhen und hat weiterhin einen zulässigen Präfluss. Die Grundidee des Algorithmus ist nun einfach: Man führe solange Sende-Operationen durch, bis eine Optimallösung vorliegt. Um dies systematisch zu tun, benutzt man Knotenmarkierungen.
Zulässige Markierungen. Unter einer zulässigen Markierung bzgl. x versteht man
eine Bewertung d : V → Z+ ∪ {+∞} der Knoten derart, dass
(ZM1) d(v) ≤ d(w) + 1 für alle (v, w) ∈ G(x);
(ZM2) d(s) = |V | und d(t) = 0.
S ATZ 6.4 (Goldberg-Tarjan). Sei x ∈ RE ein zulässiger Präfluss mit einer zulässigen Markierung d, dann existiert eine Menge S ⊆ V mit s ∈ S und t ∈
/ S derart,
dass für alle (v, w) ∈ [S : V \ S] gilt:
xvw = cvw
und xwv = 0.
Beweis. Wegen |V \ {s, t}| = |V | − 2 muss es ein 0 < k < |V | geben mit
k 6= d(v) für alle v ∈ V . Sei
S = {v ∈ V | d(v) > k}.
Dann haben wir s ∈ S und t ∈
/ S. Ist v ∈ S und (v, w) ∈ G(x), dann haben wir
d(w) ≥ d(v) − 1 ≥ (k + 1) − 1 = k
d.h.
d(w) > k
und folglich w ∈ S. Keine Kante von G(x) führt also aus S heraus, was die Behauptung impliziert.
Aus dem Korollar des Satzes von Ford-Fulkerson schliessen wir somit:
5. DER PRÄFLUSS-MARKIERUNGSALGORITHMUS
79
KOROLLAR 6.2. Jede zulässige Zirkulation x, die eine zulässige Markierung gestattet, ist eine Optimallösung für (48).
Sei x ein zulässiger Präfluss mit zulässiger Markierung d. Existiert bzgl. x keine
aktiver Knoten, dann ist x eine Optimallösung von (50). Wir wollen nun zeigen,
wie man im anderen Fall einen aktiven Knoten wählen und eine Sendeoperation durchführen kann, sodass man hinterher wieder einen zulässigen Präfluss mit
zulässiger Markierung erhält.
Sei v ein beliebiger aktiver Knoten. Weil d zulässig ist, gilt d(v) ≤ d(w) + 1 für
jede Kante (v, w) ∈ G(x). Wir unterscheiden zwei Fälle.
1. Fall: Es gibt eine Kante (v, w) ∈ G(x) mit d(v) = d(w) + 1.
Wenn wir nun eine Sendeoperation entlang (v, w) durchführen, ist d auch für den
neuen Präfluss x0 zulässig. Denn die einzige mögliche neue Kante in G(x0 ) ist
(w, v), wofür ja schon d(w) ≤ d(v) + 1 gilt.
2. Fall: Für alle Kanten (v, w) ∈ G(x) gilt d(v) ≤ d(w).
Wir modifizieren nun die Markierung d zu d0 :
d0 (v) = min{d(w) + 1 | (v, w) ∈ G(x)}.
Wegen d0 (v) > d(v) ist d0 offenbar auch eine zulässige Markierung. Ausserdem
befinden wir uns bzgl. d0 wieder im 1. Fall!
Algorithmus. Man beginnt mit einem zulässigen Präfluss x und einer zulässigen
Markierung d. Zum Beispiel folgendermassen:
ce wenn e von der Form e = (s, v)
xe =
0
sonst.
|V | wenn v = s
d(v) =
0
sonst.
Nun führt man Sendeoperationen durch, die zu zulässigen Präflüssen mit zulässigen Markierungen führen, bis ein zulässiger Fluss (gemäss Korollar 6.2) erreicht
ist.
5.1. Laufzeitanalyse. Wieviele Sendeoperationen führt der Präfluss-Markierungsalgorithmus durch? Zur Analyse setzen wir n = |V |. Wir betrachten x einen
zulässiger Präfluss mit zulässiger Markierung d.
L EMMA 6.6. Ist v ∈ V aktiv bzgl. x, dann existiert ein gerichteter Weg P von v
nach s in G(x).
Beweis. Sei R die Menge aller von v in G(x) erreichbarer Knoten. Im Fall s ∈
/R
hätten wir einen echt positiven Nettozufluss aus V \ R nach R:
X
δw (x) > 0.
w∈R
80
6. FLÜSSE IN NETZWERKEN
Also muss es mindestens eine Kante (z.w) ∈ [V \ R, R] existieren mit xzw > 0.
Aber dann wäre z von v in G(x) erreichbar, ein Widerspruch!
Wir können annehmen, dass der Weg P von v nach s in G(x) höchstens n − 1
Kanten durchläuft. Entlang einer Kante in P ändert sich die d-Markierung um
höchstens den Wert 1. Also finden wir
d(v) < d(s) + n = 2n
und schliessen:
L EMMA 6.7. Im Algorithmus tritt der 2. Fall (Ummarkierung) bei einer Sendeoperation weniger als 2n2 mal auf.
Beweis. Der 2. Fall tritt nur bei aktiven Knoten v auf und bewirkt eine Erhöhung
der Markierung, die aber den Wert 2n nie überschreitet. Also tritt dieser Fall bei
jedem der n Knoten weniger als 2n mal ein.
Wenn wir bei einem aktiven Knoten v Sendeoperationen durchführen bis entweder
der Knoten nicht mehr aktiv oder der 2. Fall eingetreten ist, durchlaufen wir den
1. Fall weniger als n mal (da es nur n − 1 weitere Knoten gibt, zu denen ein
Überschuss von v gesendet werden kann). Also erkennen wir:
P ROPOSITION 6.1. Der Präfluss-Markierungsalgorithmus kann so ausgeführt werden, dass weniger als 2n3 Sendeoperationen stattfinden.
Herunterladen