116
Einf ¨ uhrung in die Mathematik des Operations Research Ulrich Faigle Skriptum zur Vorlesung Sommersemester 2011 Universit¨ at zu K ¨ oln Universit¨ at zu K ¨ oln Mathematisches Institut Weyertal 80 [email protected] www.zaik.uni-koeln.de/AFS

Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

Einfuhrung in dieMathematik des Operations Research

Ulrich Faigle

Skriptum zur Vorlesung

Sommersemester 2011Universitat zu Koln

Universitat zu KolnMathematisches Institut

Weyertal [email protected]

www.zaik.uni-koeln.de/AFS

Page 2: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

Inhaltsverzeichnis

Kapitel 0. Notationen und Terminologie 31. Lineare Algebra 32. Ordnungsrelationen 53. Topologie 64. Mathematische Optimierungsprobleme 8

Kapitel 1. Lineare Theorie 111. Lineare Funktionale, Polyeder, Konvexitat 112. Die Stutzfunktion 133. Stutzpunkte und Seitenflachen 164. Dualitat und Kegel 19

Kapitel 2. Lineare Ungleichungen und die Struktur von Polyedern 251. Zeilen- und Spaltenoperationen 252. Elimination nach Fourier-Motzkin 253. Die Struktur von Polyedern 31

Kapitel 3. Optimalitatsbedingugen 411. Notwendige Bedingung 412. Strafmethoden und Lagrangefunktion 463. Lagrange-Dualitat 544. Barrieremethoden 57

Kapitel 4. Methoden der Linearen Programmierung 591. Rationale lineare Programme 592. Die Methode innerer Punkte (IPM) 623. Die Ellipsoidmethode 684. Die Simplexmethode 76

Kapitel 5. Unimodulare lineare Programme 891. Unimodulare und total unimodulare Matrizen 892. Total unimodulare lineare Programme 933. Zirkulationen und das MAX-Flow-MIN-Cut-Theorem 974. Kombinatorische Optimierung 101

Kapitel 6. Schnittebenenverfahren und Heuristiken 1051

Page 3: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

2 INHALTSVERZEICHNIS

1. Schnittebenen 1052. Heuristische Verfahren 1113. Enumeration 1134. Relaxierung 114

Page 4: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

KAPITEL 0

Notationen und Terminologie

1. Lineare Algebra

Fur beliebige Mengen R und N notiert man die Menge aller Abbildungenvon N nach R so:

RN = f : N → R.Fur f ∈ RN und i ∈ N setzt man auch fi = f(i) und nennt fi die iteKoordinate von f .

Besonders anwendungsrelevant sind die Skalarbereiche R = N, R = Z,R = Q oder R = R, wo man die Elemente (Funktionen) in RN koordina-tenweise miteinander addieren und mit Skalaren mutliplizieren kann.

Im Fall N = 1, . . . , n schreibt man oft kurz: Rn = RN .

1.1. Vektoren und Matrizen. Die Elemente von Rn heissen n-dimen-sionale Parametervektoren. Im Skriptum wird ein solches x ∈ Rn typi-scherweise fett notiert und als Spaltenvektor verstanden:

x =

x1...xn

(xi ∈ R).

Als Zeilenvektor wird der Parametervektor meistens transponiert notiert:

xT = [x1, . . . , xn].

0 = [0, . . . , 0]T ist der Nullvektor. Wenn der formale Unterschied zwischenSpalten- und Zeilenvektor nicht so wichtig ist, wird ein Parametervektorauch mit runden Klammern notiert:

x = (x1, . . . , xn).

Rm×n ist die Menge aller (m × n)-Matrizen. Ein A = [aij] ∈ Rm×n kannman entweder als n-Tupel von m-dimensionalen Spaltenvektoren A·j oderals m-Tupel von n-dimensionalen Zeilenvektoren Ai· auffassen:

[A·1, . . . , A·n] =

a11 . . . a1n...

...am1 . . . amn

=

A1·...

Am·

3

Page 5: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

4 0. NOTATIONEN UND TERMINOLOGIE

Fur A = [a1, . . . , an] ∈ Rm×n und x = [x1, . . . , xn]T ∈ Rn notiert man die

entsprechende Linearkombination der Spaltenvektoren als

Ax = x1a1 + . . .+ xnan =n∑

j=1

xjaj.

Fur y ∈ Rm ist yTA = (ATy)T die analoge Linearkombination der Zeilen-vektoren von A.

Ist B = [b1, . . . ,bk] ∈ Rn×k eine weitere Matrix, so kann man das folgendeMatrixprodukt bilden:

AB = [Ab1, . . . , Abk] ∈ Rm×k.

1.2. Analytische Geometrie. Rn kann man auch als Menge der Koor-dinatenvektoren eines n-dimensionalen ”Universums“ von ”Punkten“ anse-hen. Geometrische Punkte P,Q kann man ”eigentlich“ nicht addieren odersubtrahieren. Die Differenz Q−P der entsprechenden Koordinatenvektorenist aber mathematisch sinnvoll. Man fasst

−→PQ = Q− P

dann als einen Vektor auf, der eine ”Wirkung“ beschreibt, die den Ortszu-stand P in den Ortszustand Q verandert.

1.3. Affine und lineare Teilraume. Ein Hyperebene in Rn ist eineTeilmenge der Form

H = x ∈ Rn | aTx = b (a ∈ Rn \ 0, b ∈ R).

Ein affiner Teilraum A ist ein Durchschnitt von Hyperebenen. Insbesondereist ∅ ⊆ Rn ein affiner Teilraum. Aus der linearen Algebra weiss man:

LEMMA 0.1. Fur eine beliebige nichtleere Teilmenge S ⊆ Rn sind dieAussagen aquivalent:

(0) S ist ein affiner Teilraum.(1) Es gibt ein m ∈ N und eine Matrix A ∈ Rm×n und einen Vektor

b ∈ Rm so dass S = x ∈ Rn | Ax = b.(2) Es gibt Vektoren v0,v1, . . . ,vk ∈ Rn so, dass

S = v0 +∑k

i=1 λivi | λi ∈ R.(3) Fur beliebige u,v ∈ S und Skalare α ∈ R gilt:

z = αu+ (1− α)v ∈ S.

Ein affiner Teilraum A heisst linear im Fall 0 ∈ A.

Page 6: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

2. ORDNUNGSRELATIONEN 5

2. Ordnungsrelationen

2.1. Koordinatenordnung. Fur Vektoren x = [x1, . . . , xn]T und y =

[y1, . . . , yn]T schreibt man

x ≤ y ⇐⇒ xi ≤ yi fur alle i = 1, . . . , n

und

x < y ⇐⇒ xi < yi fur alle i = 1, . . . , n.

NOTA BENE: Bei dieser Ordnungsrelation gibt es (im Fall n ≥ 2) immerVektoren a,b ∈ Rn, die nicht miteinander vergleichbar sind, d.h.

a ≤ b und b ≤ a.

2.2. Lexikographische Ordnung. x ist lexikographisch kleiner (Nota-tion: x ≺ y) als y, wenn es einen Index 1 ≤ ℓ ≤ n gibt mit der Eigenschaft

xℓ < yℓ und xj = yj fur alle j < ℓ.

LEMMA 0.2. Fur beliebige a,b ∈ Rn gilt genau eine der drei Aussagen:

(0) a = b(1) a ≺ b(2) b ≺ a.

2.3. Mengenoperationen.2.3.1. Minkowski-Summe. Man kann Mengen im Rn z.B. folgender-

massen addieren. Die Minkowski-Summe der Teilmengen S, T ⊆ Rn ist dieTeilmenge

S + T = s+ t | s ∈ S, t ∈ T ⊆ Rn.

Im Spezialfall einer einelementigen Menge T = t erhalt man die Trans-lation von S um den Vektor t:

S + t = S + t = s+ t | s ∈ S.

LEMMA 0.3. Die Minkowski-Summe zweier affiner Teilraume in Rn ist sel-ber ein affiner Teilraum.

Page 7: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

6 0. NOTATIONEN UND TERMINOLOGIE

2.3.2. Koordinatenprojektionen. Sei N = 1, . . . , n und ∅ = I ⊂ N .Fur x ∈ RN bezeichnet xI die Restriktion von x auf die Koordinaten in I .

In einer etwas lockeren (aber bequemen) Schreibweise haben wir dann:

x = xN =

[xI

xJ

]mit J = N \ I .

Diese Schreibweise ist auch vorteilhaft bei allgemeiner Matrixnotation:

Ax = ANxN = AIxI + AN\IxN\I .

(Hier ist AI naturlich die Restriktion von A auf die I entsprechenden Spal-ten.)

Fur beliebiges S ⊆ Rn erhalten wir die Projektion πI(S) von S auf dieKoordinatenmenge I als die Menge

πI(S) = xI | x ∈ S ⊆ RI .

BEISPIEL 0.1. Sei I = 2, 3, . . . , n. Dann gilt fur S ⊆ Rn:

πI(S) = (x2, x3, . . . , xn) | ∃x1 ∈ R : (x1, x2, x3, . . . , xn) ∈ S.

3. Topologie

Sei (xk) eine Folge von Vektoren xk ∈ R. Wir schreiben

xk → x bzw. x = limk→∞

xk,

wenn (xk) (komponentenweise) gegen x ∈ Rn konvergiert. Bzgl. der eukli-dischen Norm

∥x∥ =√xTx =

√x21 + . . .+ x2

n

kann man das auch so ausdrucken:

xk → x ⇐⇒ ∥xk − x∥2 → 0.

Eine Menge S ⊆ Rn heisst abgeschlossen, wenn fur jede Folge (xk) mitxk ∈ S gilt:

xk → x =⇒ x ∈ S.

S ist beschrankt, wenn es eine Schranke c > 0 mit der Eigenschaft

∥x∥ ≤ c ∀x ∈ S

gibt. Eine beschrankte und abgeschlossene Menge S ⊆ Rn ist kompakt.

Page 8: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

3. TOPOLOGIE 7

3.1. Stetigkeit. Eine Funktion f : S → R heisst stetig, wenn fur allex ∈ S und Folgen (xk) mit xk ∈ S gilt:

xk → x =⇒ f(xk)→ f(x).

Aus der Analysis weiss man:

LEMMA 0.4. Sei ∅ = S ⊆ Rn kompakt und f : S → R stetig. Dannexistieren Punkte (Vektoren) xmin,xmax ∈ S mit der Eigenschaft

f(xmin) ≤ f(x) ≤ f(xmax) fur alle x ∈ S.

Quadratische und lineare Funktionen. Offenbar sind Summen und Pro-dukte stetiger Funktionen wieder stetig. Also ist insbesondere jede quadra-tische Funktion f : Rn → R, d.h. Funktion mit der Darstellung

f(x1, . . . , xn) =n∑

i=1

n∑j=1

aijxixj −n∑

k=1

ckxk

fur geeignete skalare Koeffizienten aij und ck, stetig. Im Fall aij = 0 furalle i, j heisst eine quadratische Funktion linear.

In Matrixschreibweise kann man mit A = [aij] ∈ Rn×n die Funktion f auchso notieren:

f(x) = xTAx− cTx.

3.2. Gradienten und Differenzierbarkeit. Sei S ⊆ Rn eine offeneMenge, f : S → R eine Funktion und x0 ∈ S ein Punkt, wo alle partiellenAbleitungen von f existieren. Dann bezeichnet man den (Zeilen-)Vektorder partiellen Ableitungen

∇f(x0) =

[∂f(x0)

∂x1

, . . . ,∂f(x0)

∂x1

]als den Gradienten von f an der Stelle x0.

Sind die partiellen Ableitungen x 7→ ∂f(x)/∂xj stetige Funktionen (undsomit x → ∇f(x) eine stetige vektorwertige Funktion auf S), dann kannman in jedem Punkt x0 zu jedem d ∈ Rn (mit den Komponenten dj) dieRichtungsableitung von f mit Hilfe der Kettenregel berechnen:

∂df(x0) = limt→0

f(x0 + td)− f(x0)

t=

n∑j=1

∂f(x0)

∂xj

dj = ∇f(x0)d.

Page 9: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

8 0. NOTATIONEN UND TERMINOLOGIE

BEISPIEL 0.2. Sei A = [aij] ∈ Rn×n eine symmetrische Matrix. Dann istdie quadratische Funktion

x→ f(x) = xTAx =n∑

i=1

n∑j=1

aijxixj

auf Rn stetig differenzierbar und hat den Gradienten

∇f(x) = 2xTA =

[n∑

i=1

2ai1xi, . . . ,n∑

i=1

2ainxi

].

4. Mathematische Optimierungsprobleme

Ein ”Optimierungsproblem“ ist im allgemeinen umgangssprachlich nichtso prazise formuliert, dass man es ohne weiteres mathematisch analysieren(und losen) kann. Es muss zuallerst in ein ”mathematisches“ Optimierungs-problem umformuliert werden.

Zu einem mathematischen Optimierungsproblem gehoren:(1) eine Menge Ω (der sog. Zulassigkeitsbereich);(2) eine Menge W (der sog. Wertebereich) und ausserdem eine Funk-

tion f : Ω → W (die sog. Zielfunktion), welche die Elemente desZulassigkeitsbereichs bewertet.

In dieser Vorlesung nehmen wir meist an:• W = R und Ω ⊆ Rn (fur ein geeignetes n).

Die Optimierungsaufgabe ist dann so ausgedruckt:

maxω∈Ω

f(ω) oder minω∈Ω

f(ω).

Um mit ”Ω“ uberhaupt rechnerisch umgehen zu konnen, muss der Zulassig-keitsbereich numerisch spezifiziert werden. Oft sucht man dazu Funktionengi : Rn → R (i ∈ I), wobei I eine geeignete (endliche oder unendliche)Indexmenge ist, mit der Eigenschaft

Ω = x ∈ Rn | gi(x) ≤ 0 ∀i ∈ I.Die Funktionen gi(x) heissen in diesem Fall Restrikitionsfunktionen unddas mathematische Optimierungsproblem wird dann z.B.

maxx∈Rn

f(x) s.d. gi(x) ≤ 0 ∀i = 1, . . . ,m.

Die Forderungen gi(x) ≤ 0 sind die sog. Nebenbedingungen des Problems.

BEMERKUNG. Die Formulierung eines Optimierungsproblems aus dem Anwen-dungsbereich als mathematisches Optimierungsproblem ist im allgemeinen auf

Page 10: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

4. MATHEMATISCHE OPTIMIERUNGSPROBLEME 9

sehr viel verschiedene Arten moglich. Es ist nicht immer klar, welches ”die be-ste“ ist.

BEISPIEL 0.3. Es gibt n Objekte mit Gewichten a1, . . . , an. Es sollen mog-lichst viele Objekte gewahlt werden, deren Gesamtgewicht die gegebeneSchranke b aber nicht uberschreiten darf.

1. Formulierung: Reprasentiere die Objekte mit (0, 1)-Variablen xi undder Zielfunktion

f(x1, . . . , xn) = x1 + . . .+ xn =n∑

i=1

xi

und erhalte

maxn∑

i=1

xi s.d.n∑

i=1

aixi ≤ b

x1, . . . , xn ∈ 0, 1.2. Formulierung:

maxx∈Rn

n∑i=1

xi s.d.

n∑i=1

aixi ≤ b

xi(1− xi) = 0 (i = 1, . . . , n).

In dieser Formulierung hat man 2n+1 viele auf dem gesamten Rn differen-zierbare Restriktionsfunktionen (und damit entsprechend viele Nebenbedin-gungen):

g0(x1, . . . , xn) =( n∑

i=1

aixi

)− b

gi(x1, . . . , xn) = +xi(1− xi) (i = 1, . . . , n)

hi(x1, . . . , xn) = −xi(1− xi) (i = 1, . . . , n).

Page 11: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung
Page 12: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

KAPITEL 1

Lineare Theorie

1. Lineare Funktionale, Polyeder, Konvexitat

Eine skalarwertige Funktion f : Rn → R ist ein Funktional. Eine vektor-wertige Funktion f : Rn → Rm besteht aus m Komponentenfunktionenfi : Rn → R, die selber Funktionale sind:

f(x) =

f1(x)...

fm(x)

.

Ein lineares Funktional auf Rn ist (bekanntlich) von der Form

f(x1, . . . , xn) = c1x1 + . . .+ cnxn = cTx

fur einen geeigneten Koeffizientenvektor c = (c1, . . . , cn) und ist eine ste-tige Funktion. Also gilt fur jedes z ∈ Rn:

• H(c, z) := x ∈ Rn | cTx = z = f−1(z) ist eine abgeschlosse-ne Menge.• P (c, z) := x ∈ Rn | cTx ≤ z = f−1(−∞, z] ist eine abge-

schlossene Menge.• f−1(z,∞) = x ∈ Rn | cTx > z ist eine offene Menge.

1.1. Halbraume und Polyeder. Im Fall c = 0 ist H(c, z) eine Hy-perebene, P (c, z) ist ein (abgeschlossener) Halbraum. f−1(z,∞) ist einoffener Halbraum.

BEMERKUNG. Vereinbarungsgemass werden der gesamte Raum Rn = P (0, 0)

und die leere Menge ∅ = P (0,−1) als triviale Halbraume mitgezahlt.

Geometrische Terminologie. Ein affiner Raum ist ein Durchschnitt vonendlich vielen Hyperebenen. Auch Rn = H(0, 0) wird als affiner Raumbetrachtet.

Ein Polyeder ist ein Durchschnitt von endlich vielen Halbraumen. So sindz.B. Rn und ∅ insbesondere Polyeder.

11

Page 13: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

12 1. LINEARE THEORIE

Algebraische Terminologie. Ein affiner Raum ist die Losungsmenge eineslinearen Gleichungssystems

a11x1 + a12x2 + . . . + a1nxn = b1a21x1 + a22x2 + . . . + a2nxn = b2

......

am1x1 + am2x2 + . . . + amnxn = bm

In Matrixnotation mit A = [aij] ∈ Rm×n und b ∈ Rm notieren wir denaffinen Losungsraum auch als

H(A,b) := x ∈ Rn | Ax = b =m∩i=1

H(aTi , bi),

wobei die aTi die Zeilenvektoren der Matrix A sind.

Analog erhalten wir ein Polyeder als Losungsmenge eines endlichen linea-ren Ungleichungssystems

a11x1 + a12x2 + . . . + a1nxn ≤ b1a21x1 + a22x2 + . . . + a2nxn ≤ b2

......

am1x1 + am2x2 + . . . + amnxn ≤ bm

Wir notieren das Polyeder entsprechend auch als

P (A,b) := x ∈ Rn | Ax ≤ b =m∩i=1

P (aTi , bi).

BEMERKUNG. Aus der linearen Algebra weiss man, dass ein unendliches linearesGleichungssystem in n Variablen xj immer zu einem endlichen linearen Teilsystemaquivalent ist (d.h. denselben Losungsraum hat).

Vorsicht: Bei unendlichen linearen Ungleichungssystemen ist dies nicht notwen-digerweise der Fall !!!

1.2. Konvexitat. Eine Menge S ⊂ Rn ist konvex, wenn gilt

x,y ∈ S λx+ (1− λ)y ∈ S fur alle reellen Paramter 0 ≤ λ ≤ 1.

Man macht sich leicht klar (Beweis?):• Jeder Halbraum des Rn ist konvex.• Beliebige Durchschnitte konvexer Mengen ergeben eine konvexe

Menge.Da ebensolches auch fur ”abgeschlossen“ gilt, finden wir:

Page 14: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

2. DIE STUTZFUNKTION 13

• Beliebige Durchschnitte von Halbraumen ergeben konevexe abge-schlossene Mengen. Insbesondere ist jedes Polyeder konvex undabgeschlossen.

Zur Illustration betrachen wir ein (moglicherweise unendliches) linearesUngleichungssystem:

a11x1 + a12x2 + . . . + a1nxn ≤ b1a21x1 + a22x2 + . . . + a2nxn ≤ b2

......

......

......

......

am1x1 + am2x2 + . . . + amnxn ≤ bm...

......

......

......

...

Die Losungsmenge des Systems besteht aus all den Parametervektoren x ∈Rn, die jede einzelne dieser Ungleichungen erfullen, also aus denjenigenx, die im Durchschnitt samtlicher entsprechender Halbraume liegen. Wirsehen:

• Die Losungsmenge eine beliebigen linearen Ungleichungssystemsmit n Variablen bildet eine konvexe abgeschlossene Teilmenge deseuklidischen Raums Rn.

BEMERKUNG. Die Losungsmengen beliebiger linearer Ungleichungssysteme sindnicht notwendigerweise Polyeder. Hier liegt der entscheidende Unterschied zur li-nearen Algebra:

Zu jedem n-dimensionalen linearen Gleichungssystem gibt es ein endliches Teilsy-stem mit demselben Losungsraum. Bei linearen Ungleichungssystemen ist das abernicht immer der Fall.

2. Die Stutzfunktion

Sei S ⊆ Rn eine gegebene Menge. Wir untersuchen nun Optimierungspro-bleme mit linearer Zielfunktion. Das sind Probleme vom Typ

(1) maxx∈S

cTx (mit c ∈ Rn).

Wir interessieren uns fur die Optimalwerte und betrachten dazu die sog.Stutzfunktion δ(S, ·) : Rn → R := R ∪ −∞,+∞ von S, wobei

δ(S, c) :=

−∞ wenn S = ∅

supx∈S

cTx sonst,

Page 15: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

14 1. LINEARE THEORIE

BEISPIEL 1.1 (Minkowskisummen). Minkowskisummation von Mengen re-flektiert sich einfach in der Summation der Stutzfunktionen:

δ(S + T, c) = supcT (s+ t) | s ∈ S, t ∈ T= sup

s∈ScT s+ sup

t∈TcT t

= δ(S, c) + δ(T, c).

Allgemein setzen wir weiter

S0 := c ∈ Rn | δ(S, c) <∞= c ∈ Rn | sTc ≤ δ(S, c) <∞ ∀s ∈ S

und

S := x ∈ Rn | cTx ≤ δ(S, c) ∀c ∈ Rn= x ∈ Rn | cTx ≤ δ(S, c) ∀c ∈ S0.

Aus der Definition ersieht man sofort:• S0 und S sind Losungsmengen linearer Ungleichungssysteme und

folglich konvex und abgeschlossen.

Ausserdem gilt fur alle Teilmengen S, T ⊆ Rn:

S ⊆ T =⇒ S ⊆ S ⊆ T und T 0 ⊆ S0.

Mengen dieses Typs spielen eine zentrale Rolle in der Optimierungstheorie.Insbesondere fur die (spater noch zu diskutierende) diskrete Optimierung istdie folgende einfache Beobachtung von enormer Wichtigkeit.

LEMMA 1.1. δ(S, c) = δ(S, c) fur alle c ∈ Rn.

Beweis. Wegen S ⊆ S gilt sicher δ(S, c) ≤ δ(S, c). Andererseits gilt (nach derDefinition!)

cTx ≤ δ(S, c) fur alle x ∈ S

und deshalb δ(S, c) ≤ δ(S, c).⋄

2.1. Der Fundamentalsatz.

SATZ 1.1 (”Fundamentalsatz“). Sei S ⊆ Rn nichtleer und c ∈ Rn. Dannist das Optimierungsproblem

maxx∈S

cTx

Page 16: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

2. DIE STUTZFUNKTION 15

entweder nach oben unbeschrankt oder es existiert ein x∗ ∈ S mit derEigenschaft

cTx∗ = supx∈S

cTx = δ(S, c).

Beweis. Sei Ω0 = (x0,x) ∈ Rn+1 | x ∈ S, x0 = cTx der Graph der Funk-tion f(x) = cTx. Ω0 ist eine abgeschlossene Menge (Beweis?). Wir nehmen dasOptimierungsproblem als beschrankt an und setzen

δ∗ := supx∈Ω0

x0 = δ(S, c) <∞.

Betrachten wir nun die Projektion von Ω0 auf R:

Π0 := x0 | (x0, x1, . . . , xn) ∈ Ω0 ⊆ R.Π0 ist als Projektion des Graphen der linearen Funktion f(x) abgeschlossen (Be-weis?). Ausserdem ist Π0 nicht leer, da es (nach Annahme) einen Parametervektorx ∈ Ω0 gibt. Also ist

Ω0 = Π0 ∩ [x0, δ∗]

eine kompakte Menge und enthalt somit das Element

x∗ = supx0∈Ω0

x0 = δ∗ (d.h. Ω0 = [x0, δ∗]).

Folglich existiert ein x∗ ∈ S mit cTx∗ = δ∗.⋄

2.2. Der Trennungssatz. Sei S ⊆ Rn beliebig und y /∈ S. Dann gibtes ein c ∈ Rn mit der Eigenschaft

(i) cTy > δ(S, c).(ii) cTx ≤ δ(S, c) fur alle x ∈ S (d.h. S ⊆ P (c, δ(S, c))).

In diesem Sinn trennt die Hyperebene

H(c, δ(S, c)) = x ∈ Rn | cTx = δ(S, c)den Punkt y von der Menge S. Nach dem Fundamentalsatz existiert ausser-dem ein x∗ ∈ S mit cTx∗ = δ(S, c). Wegen seiner grundlegenden Bedeu-tung formulieren wir diesen Zusammenhang als Satz.

SATZ 1.2 (”Trennungssatz“). Sei S = ∅ und y ∈ Rn \ S ein beliebigerPunkt. Dann existiert ein Vektor c ∈ Rn und der Punkt x∗ ∈ S derart, dass

(i) cTy > cTx∗, d.h. y /∈ P (c, cTx∗).(ii) cTx ≤ cTx∗ fur alle x ∈ S, d.h. S ⊆ P (c, cTx∗).

SATZ 1.3. S ist die kleinste konvexe und abgeschlossene Menge, die Senthalt.

Page 17: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

16 1. LINEARE THEORIE

Beweis. Sei S die kleinste konvexe abgeschlossene Menge, die S enthalt. Danngilt S ⊆ S (denn Durchschnitte von konvexen und abgeschlossenen Mengen sindimmer konvex und abgeschlossen). Ausserdem ist sicherlich ist die Aussage desSatzes im Fall S = ∅ richtig (denn es gilt ja: ∅ = ∅ = ∅).

Nehmen wir also S = ∅ an und unterstellen, dass ein y ∈ S \ S existiert. Wirwollen diese Unterstellung zu einem Widerspruch fuhren. Dazu wahlen wir einR > 0 so gross, dass

SR = x ∈ S | ∥y − x∥ ≤ R = ∅.

Die Funktion f(x) = ∥x− y∥ ist stetig und SR kompakt (warum?). Also existiertein x∗ ∈ S, das f(x) minimiert und wir haben

0 < ∥y − x∗∥2 ≤ ∥y − x∥2 fur alle x ∈ S.

Mit c := y − x∗ ergibt sich daraus

0 < (y − x∗)T (y − x∗) = cT (y − x∗) und somit cTx∗ < cTy.

Wenn wir nun δ(S, c) = cTx∗ nachweisen konnen, haben wir (wegen y ∈ S undsomit cTy ≤ δ(S, c)) einen Widerspruch konstruiert.

Zu diesem Nachweis betrachten wir ein beliebiges x ∈ S \ x∗, schreiben es inder Form

x = x+ λd mit ∥d∥ = 1 und λ > 0,

erschliessen

∥c∥2 ≤ ∥y − x∥2 = (c− λd)T (c− λd) = ∥c∥2 − 2λcTd+ λ2

und folgern (nach Division durch 2λ)

λ/2− cTd ≥ 0 und deshalb (mit λ→ 0) cTd ≤ 0.

Das bedeutet aber cTx = cTx∗ + λcTd ≤ cTx∗. Da x beliebig war, finden wir

cTx ≤ cTx∗ fur alle x ∈ S.

Aus Satz 1.3 ergibt sich insbesondere: Die konvexen abgeschlossenen Men-gen des Rn sind genau die Losungsmengen von (endlichen oder unendli-chen) linearen Ungleichungssystemen mit n Variablen.

3. Stutzpunkte und Seitenflachen

Wir nennen eine Hyperebene H(c, z) eine Stutzhyperebene zur Menge S ⊆Rn, wenn gilt:

(1) S ⊆ P (c, z) (d.h. S liegt ganz im entsprechenden Halbraum P (c, z).(2) S ∩H(c, z) = ∅.

Page 18: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

3. STUTZPUNKTE UND SEITENFLACHEN 17

Die Punkte x∗ ∈ S ∩ H(c, z) heissen dann Stutzpunkte und sind Opti-mallosungen des Problems

maxx∈S

cTx.

Insbesondere gilt cTx∗ = z = δ(S, c).

Generell nennen wir eine Teilmenge F ⊆ S eine Seitenflache von S, wennes eine Hyperebene H = (c, z) gibt mit den Eigenschaften

F = S ∩H und S ⊆ P (c, z).

Damit schliessen wir ∅ und S als triviale Seitenflachen von S mit ein. Ausder Sicht der Optimierung ist wichtig:

• Seitenflachen von S sind genau die Teilmengen F ⊆ S, die alsLosungsmengen von linearen Optimierungsproblemen uber S auf-treten konnen.

(In der Sichtweise von Satz 1.2 ist also z.B. H(c, cTx∗) eine Stutzhyper-ebene und x∗ ein Stutzpunkt der Menge S.)

Ein Punkt x∗ ∈ S heisst Randpunkt der Menge S, wenn es eine Folge vonPunkten yk ∈ Rn \ S gibt mit der Eigenschaft yk → x∗.

PROPOSITION 1.1. Sei S ⊆ Rn eine Menge mit der Eigenschaft S = S undx∗ ein Randpunkt von S. Dann ist x∗ ein Stutzpunkt von S.

Beweis. Sei yk → x∗ mit y /∈ S. Dann existieren Vektoren ck und Skalare δk ∈ Rderart, dass fur alle x ∈ S und k gilt:

cTk x ≤ δk < cTk yk.

OBdA durfen wir ∥ck∥ = 1 annehmen. Die ck liegen dann in der kompaktenMenge B1(0) = x ∈ Rn | ∥x∥ ≤ 1 und haben somit einen Haufungspunkt c∗.Also durfen wir auch

ck → c∗ und somit (c∗)Tx = limk→∞

cTk x ≤ limk→∞

cTk yk = (c∗)Tx∗

annehmen. Also ist H(c∗, (c∗)Tx∗) eine Stutzhyperebene und somit x∗ ein Stutz-punkt.

Die Randpunkte einer konvexen und abgeschlossenen Menge sind also mitihren Stutzpunkten identisch.

UBUNG 1.1. Zeigen Sie anhand eines Beispiels, dass die Aussage der Pro-position 1.1 falsch sein kann, wenn die Eigenschaft S = S nicht vorausge-setzt wird.

Page 19: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

18 1. LINEARE THEORIE

LEMMA 1.2. Seien F1 und F2 Seitenflachen von S. Dann ist auch ihr Durch-schnitt F = F1 ∩ F2 eine Seitenflache von S.

Beweis. Im Fall F = ∅ ist die Behauptung per Definition richtig. Im Fall F = ∅nehmen wir oBdA an:

F1 = x ∈ S | cT1 x = δ(S, c1)F2 = x ∈ S | cT2 x = δ(S, c2)

und setzen c = c1 + c2. Offenbar gilt dann fur jedes x ∈ S:

cTx ≤ δ(S, c1) + δ(S, c1)

und somit

cTx = δ(S, c) ⇐⇒ cT1 x = δ(S, c1) und cT2 x = δ(S, c2),

d.h. F1 ∩ F2 ist eine Seitenflache.⋄

UBUNG 1.2. Zeigen Sie anhand eines Beispiels, dass die Vereinigung vonzwei Seitenflachen einer Menge keine Seitenflache des Menge zu sein braucht.

Ein Punkt x0 ∈ S ist ein Extrempunkt, wenn F = x0 eine (ein-element-ige) Seitenflache von S ist.

BEMERKUNG. Bei Polyedern spricht man auch gerne von Eckpunkten anstellevon Extrempunkten.

BEISPIEL 1.2. Die trivialen Seitenflachen der Einheitskugel (mit Mittel-punkt 0)

B1(0) := x ∈ Rn | ∥x∥ ≤ 1

sind B1(0) und ∅. Extrempunkte sind die Punkte v ∈ B1(0) mit ∥v∥ = 1als Schnittpunkte von B1(0) mit den Tangential(hyper)ebenen

Hv = x ∈ Rn | vTx = 1.

Es gibt keine weiteren Seitenflachen.

UBUNG 1.3. Geben Sie ein Beispiel einer beschrankten konvexen MengeS = ∅ in R2, die keine nichttrivialen Seitenflachen besitzt.

Page 20: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

4. DUALITAT UND KEGEL 19

4. Dualitat und Kegel

Wir beweisen nun eine wichtige Dualitatsrelation. Dazu definieren wir zujedem S ⊆ Rn die konvexen und abgeschlossenen Mengen

Spol := x ∈ Rn | sTx ≤ 1 ∀s ∈ SS⊥ := x ∈ Rn | sTx ≤ 0 ∀s ∈ S.

Spol ist dies sog. Polare der Menge S. S⊥ ist die zu S duale Menge. Offen-bar hat man immer:

0 | S⊥ und S⊥ ⊆ Spol.

BEISPIEL 1.3. Sei S = s1, . . . , sm ⊆ Rn eine endliche Menge und A ∈Rm×n die (m×n)-Matrix mit den m Zeilenvektoren s1, . . . , sm. Dann habenwir

S⊥ = x ∈ Rn | Ax ≤ 0.

S⊥ ist also eine Verallgemeinerung des Kerns kerA der Matrix A.

SATZ 1.4 (Dualitatssatz). Sei S ⊆ Rn eine Menge mit 0 ∈ S. Dann gilt

(Spol)pol = S.

Beweis. (Spol)pol ist konvex und abgeschlossen und enthalt S. Also gilt S ⊆(Spol)pol (da S die kleinste konvexe abgeschlossene Menge ist, die S enthalt). Neh-men wir an, die Enthaltenseinsrelation ist echt und ein y ∈ (Spol)pol \ S existiert.Wir wollen daraus einen Widerspruch ableiten.

Wir wahlen eine Hyperebene H(c, z), welche y von S trennt, mit z derart, dass

cTy > z > cTx fur alle x ∈ S.

Insbesondere gilt z > 0 (wegen 0 ∈ S). OBdA durfen wir z = 1 annehmen. (Sonstdividieren wir c und z durch z und erhalten ein c′ und z′ = 1, die genausogutfunktionieren.)

Daraus folgt aber c ∈ Spol und deshalb cTy ≤ 1 (wegen y ∈ (Spol)pol). Das istein Widerspruch zu cTy > z = 1.

UBUNG 1.4. Zeigen Sie an einem Beispiel, dass die Aussage von Satz 1.4im Fall 0 /∈ S falsch ist.

Page 21: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

20 1. LINEARE THEORIE

4.1. Kegel. Wir nennen eine Menge K ⊆ Rn einen Kegel, wenn gilt(K0) 0 ∈ K.(K1) λx ∈ K fur alle x ∈ K and Skalare λ > 0.

LEMMA 1.3. Sei K ⊆ Rn ein Kegel. Dann gilt

Kpol = K⊥

Insbesondere ist Kpol = K⊥ ein konvexer abgeschlossener Kegel.

Beweis. Wir beoachten zunachst, dass bei einem Kegel K immer gilt:

δ(K, c) <∞ =⇒ δ(K, c) = 0.

Denn wegen 0 ∈ K haben wir auf jeden Fall δ(K, c) ≥ 0. Gabe es ein x ∈ K mitcTx > 0, dann kamen wir zu einem Widerspruch:

limλ→+∞

cT (λx) = (cTx) limλ→+∞

λ = +∞.

Also finden wir

Kpol = c ∈ Rn | cTx ≤ δ(K, c) = c ∈ Rn | cTx ≤ 0 ∀x ∈ K = K⊥.

FOLGERUNG:• (S⊥)⊥ ist der kleinste konvexe und abgeschlossene Kegel, der S

enthalt.• Der Kegel K ist genau dann konvex und abgeschlossen, wenn

K = (K⊥)⊥.

4.1.1. Rezessionskegel. Der Rezessionskegel einer Menge ∅ = S ⊆ Rn

ist die Menge

RK(S) := y ∈ Rn | S + λy ⊆ S ∀λ ≥ 0.

PROPOSITION 1.2. Sei ∅ = S ⊆ Rn die Losungsmenge eines (endlichenoder unendlichen) linearen Ungleichungssystems

Ax ≤ b ←→ ai1x1 + ai2x2 + . . .+ ainxn ≤ bi (i ∈ I).

Dann ist der Rezessionskegel von S gleich der Menge aller Losungen deszugeordneten homogenen Systems:

RK(S) = y ∈ Rn | Ay ≤ 0 = A⊥.

Page 22: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

4. DUALITAT UND KEGEL 21

Beweis. Offenbar gilt y+ S ⊆ S fur jedes y ∈ A⊥. Umgekehrt bedeutet z /∈ AT ,dass z (mindestens) eine Ungleichung

ai1z1 + ai2z2 + . . .+ ainzn > 0

provoziert. Sei nun x ∈ S irgendeine zulassige Losung von Ax ≤ b. Dann gilt

ai1(x1 + λz1) + ai2(x2 + λz2) + . . .+ ain(xn + λzn) > bi,

wenn λ→∞. Also hat man z /∈ RK(S).⋄

SATZ 1.5. Sei S ⊆ Rn konvex und abgeschlossen. Genau dann ist S unbe-schrankt, wenn der Rezessionskegel von S nichttrivial ist.

Beweis. OBdaA nehmen wir S = ∅ an. Existiert ein y ∈ RK(S) mit y = 0, dannist S unbeschrankt, denn S enthalt (per Definition) die Halbgeraden

x+ λy | λ ≥ 0 fur alle x ∈ S und y ∈ RK(S).

Sei umgekehrt S unbeschrankt und (xk) eine Folge von Elementen xk ∈ S mit∥xi∥ → ∞. Wir schreiben die xk in der Form

xk = λidk mit λk ≥ 0 und ∥dk∥ = 1.

und somit λk →∞. Sei

Ax ≤ b ←→ ai1x1 + ai2x2 + . . .+ ainxn ≤ bi (i ∈ I)

ein Ungleichungssystem mit S als Losungsmenge. Gilt Adk ≤ 0 fur mindestensein k, dann ist ein nichttriviales Element im Rezessionskegel gefunden. Andern-falls betrachten wir die Parameter

εk := supi∈I

ai1dk1 + ai2dk2 + . . .+ aindkn.

und den Limes d := limk→∞ dk, dessen Existenz wir oBdA annehmen durfen(warum?). Wegen λk → +∞ und Axk ≤ b muss gelten:

limk→∞

εk = 0 und folglich Ad ≤ 0.

Also gilt d ∈ RK(S). Wegen ∥d∥ = 1 ist RK(S) also nichttrivial.⋄

BEISPIEL 1.4 (Lineare Gleichungssysteme). Losungsbereiche linearer Glei-chungssysteme sind Spezialfalle von Losungsbereichen linearer Ungleichungssysteme:

ai1x1 + . . .+ ainxn = bi ←→

ai1x1 + . . .+ ainxn ≤ ≤ bi−ai1x1 − . . .− ainxn ≤ −bi

Auf diesen Spezialfall angewendet, besagt Satz 1.5, dass ein lineares Glei-chungssystem Ax = b einen beschrankten Losungsbereich hat, wenn gilt

kerA = y ∈ Rn | Ay = 0 = A⊥ = 0.

Page 23: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

22 1. LINEARE THEORIE

4.2. Endlich erzeugte konvexe Mengen und Kegel. Seien a1, . . . , am ∈Rn beliebige Vektoren. Wir bezeichnen mit conv(a1, . . . , am) die Menge al-ler Vektoren z der Form

z =m∑i=1

yiai mit y1, . . . , ym ≥ 0 undm∑i=1

yi = 1.

Die Linearkombination z selber ist eine sog. Konvexkombination der Vek-toren a1, . . . , am.

BEMERKUNG. In der Wahrscheinlichkeitsrechnung bezeichnet man einenParametervektor y = (y1, . . . , ym) mit nichtnegativen Komponenten yi ≥ 0und Komponentensumme 1 als eine Wahrscheinlichkeitsverteilung. In die-ser Interpretation kann man die Konvexkombination

z =m∑i=1

yiai

als den Erwartungswert der Vektoren ai bzgl. der Wahrscheinlichkeitsver-teilung y ansehen.

Mit cone(a1, . . . , am) bezeichnen wir die Menge aller nichtnegativer Line-arkombinationen (das sind die sog. konischen Linearkominationen) , d.h.aller Vektoren z der Form

z =m∑i=1

yiai mit y1, . . . , ym ≥ 0.

Allgemeiner definiert fur beliebiges S ⊆ Rn man die konvexe Hulle conv(S)als die die kleinste konvexe Menge, die S enthalt:

conv(S) :=∩K ⊆ Rn | K konvex und S ⊆ K.

Da jede konvexe Menge auch alle ihre Konvexkombinationen enthaltenmuss ist conva1, . . . , am, wie oben definiert, sicherlich die kleinste kon-vexe Menge, die a1, . . . , am enthalt. Die allgemeine Begriffsbildung ist alsokonsistent.

ABER: Wenn S ⊆ Rn unendlich ist, ist die konvexe Menge conv(S) nichtnotwendigerweise abgeschlossen (Beispiel?).

Unsere bisherige Analyse zeigt:

LEMMA 1.4. Sei A ∈ Rm×n die Matrix mit den m Zeilenvektoren aTi . Dann

gilt(i) cone(AT )⊥ = x ∈ Rn | Ax ≤ 0 = P (A,0) = A⊥.

(ii) P (A,0) ist ein polyedrischer Kegel (d.h. ein Polyeder, das gleich-zeitig ein Kegel ist).

Page 24: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

4. DUALITAT UND KEGEL 23

Wir werden spater (genauer: im nachsten Kapitel) beweisen, dass konvexeMengen vom Typ conv(S) und cone(S) sogar Polyeder sind, wenn |S| <∞garantiert werden kann.

Polytope. Wir nennen eine konvexe Menge

P = conv(S) mit S ⊆ Rn endlich

ein Polytop. Polytope werden sich als in der Optimierungstheorie besonderswichtige Polyeder erweisen.

BEISPIEL 1.5 (Symmetrische und positiv semidefinite Matrizen). Wir be-trachten eine quadratische Matrix X = [xij] ∈ Rn×n als einen Vektor mitn2 Komponenten xij und konnen so Rn×n mit Rn2

identifizieren. X ist genaudann symmetrisch, wenn das endliche lineare Gleichungssystem

(2) xij − xji = 0 (1 ≤ i < j ≤ n)

erfullt wird. Die Menge der symmetrischen Matrizen bildet also einen kon-vexen und abgeschlossenen polyedrischen Kegel (tatsachlich sogar einenlinearern Teilraum), namlich genau die Losungsmenge des (endlichen) li-nearen Systems (2).

Eine symmetrische Matrix X = [xij] ∈ Rn×n heisst positiv semidefinit,wenn fur alle Parametervektoren a ∈ Rn gilt:

(3) aTXa =n∑

i=1

n∑j=1

aiajxij ≥ 0.

Auch die Menge aller positiv semidefiniten Matrizen ist ein konvexer undabgeschlossener Kegel als die Losungsmenge des aus (2) und (3) zusam-mengesetzten unendlichen linearen Systems – aber im allgemeinen nichtpolyedrisch.

Page 25: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung
Page 26: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

KAPITEL 2

Lineare Ungleichungen und die Struktur von Polyedern

Wir betrachten in diesem Kapitel endliche lineare Ungleichungssystemeund deren Losungsmengen (d.h. Polyeder). Wir erinnern daran, dass linea-re Gleichungssysteme als Spezialfalle linearer Ungleichungssysteme aufge-fasst werden konnen.

MAN BEACHTE: Ein lineares Ungleichungssystem Ax ≤ b lasst allerdingssich typischerweise nicht mit dem Gauss’schen Algorithmus losen!

1. Zeilen- und Spaltenoperationen

Sei A ∈ Rm×n eine Matrix. Wendet man die fundamentalen Operationender linearen Algebra auf die Zeilenvektoren von A an, so spricht man vonelementaren Zeilenoperation. Sie sind:

• Multiplikation eines Zeilenvektors aTi mit einem Skalar yi = 0;

• Addition eines Zeilenvektors aTi zu einem Zeilenvektor aT

i .

Bekanntlich lasst sich eine elementare Zeilenoperation algebraisch als Pro-dukt PA mit einer (von links multiplizierten) invertierbaren Matrix P be-schreiben. Das Produkt AP T (mit der von rechts multiplizierten transpo-nierten Matrix P T ) beschreibt die analoge elementare Spaltenoperation.

Unter einem (r, k)-Pivot verstehen wir die Folge von elementaren Zeilen-operationen:

(1) Dividiere eine Zeile r durch ark;(2) Subtrahiere das aik-fache der neuen Zeile r von den ubrigen Zeilen

i = r.

NOTA BENE: Genau im Fall ark = 0 ist ein (r, k)-Pivot durchfuhrbar.

2. Elimination nach Fourier-Motzkin

Die Methode von Fourier-Motzkin zur Losung linearer Ungleichungssyste-me beruht auf folgender Beobachtung. Zwei Ungleichungen vom Typ

(4) (+1)x1 + a12x2 + . . . +a1nxn ≤ b1(−1)x1 + a22x2 + . . . +a2nxn ≤ b2

25

Page 27: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

26 2. LINEARE UNGLEICHUNGEN UND DIE STRUKTUR VON POLYEDERN

sind aquivalent zu

(5) −b2 +n∑

j=2

a2jxj ≤ x1 ≤ b1 −n∑

j=2

a1jxj.

Ausserdem ist die Ungleichung

(6) −b2 +n∑

j=2

a2jxj ≤ b1 −n∑

j=2

a1jxj.

aquivalent zur Summe der Ungleichungen in (4):

(7)n∑

j=2

(a1j + a2j)xj ≤ b1 + b2.

LEMMA 2.1. Die Losungen von (4) erhalt man folgendermassen:

• Man bestimme eine Losung (x2, . . . , xn) fur (7)und erganze diese mit einem x1, das (5) erfullt.

Insbesondere ist (4) genau dann losbar, wenn (7) losbar ist. ⋄

Die Idee ist nun, nach der Variablen x1 der Reihe nach die ubrigen Variablenx2, . . . , xn zu eliminieren. Am Ende erweist sich dann das System entwedertrivialerweise als unlosbar, weil man einen Widerspruch

0 ≤ b′ < 0

abgeleitet hat, oder man kann jede Losung des Endsystems auf eine Losungvon (4) (wie in Lemma 2.1 beschrieben) der Reihe nach zuruckrechnen.

2.1. Das allgemeine Verfahren. Wir betrachten das lineare Unglei-chungssystem

(8)n∑

j=1

aijxi ≤ bi (i ∈ I)

mit endlicher Indexmenge I . Um z.B. x1 zu eliminieren, teilen wir I in dieTeilmengen I+, I− und I0 danach auf, ob der Koeffizient ai1 von x1 positiv,negativ oder 0 ist.

Page 28: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

2. ELIMINATION NACH FOURIER-MOTZKIN 27

Wir dividieren die Ungleichungen in I+∪I− jeweils durch |ai1| > 0. Damiterhalten wir das aquivalente System

(9)

(+1)x1 +n∑

j=2

a′sjxj ≤ b′s (s ∈ I+)

(−1)x1 +n∑

j=2

a′tjxj ≤ b′t (t ∈ I−)

n∑j=2

aijxj ≤ bi (i ∈ I0)

und bemerken

(10) maxt∈I−

(− b′t +

n∑j=2

a′tjxj

)≤ x1 ≤ min

s∈I+

(b′s −

n∑j=2

a′sjxj

)Nun ersetzen wir die Ungleichungen in I+ ∪ I− durch alle Summen vonPaaren und erhalten das System

(11)

n∑j=2

(a′sj + atj)xj ≤ b′s + b′t (s ∈ I+, t ∈ I−)

n∑j=2

aijxj ≤ bi (i ∈ I0)

SATZ 2.1. (x1, . . . , xn) ist genau dann eine Losung von (8), wenn gilt(i) (x2, . . . , xn) lost das lineare System (11);

(ii) x1 genugt der Bedingung (10).⋄

BEMERKUNG. Die Bestimmung von x1 aus einer Losung (x2, . . . , xn) von (11)gemass (10) heisst Rucksubstitution.

Zur Losung des Ungleichungssystems (8) kann man nun so vorgehen:(1) Man eliminiert der Reihe nach die Variablen x1, . . . , xn;(2) Das Endsystem erkennt man entweder trivialerweise als unzulassig

oder zulassig. Im zulassigen Fall gelangt man vom Endystem derReihe nach durch Rucksubstitutionen zu einer Losung von (8).

Mit der Methode von Fourier-Motzkin kann man im Prinzip jedes endlichelineare Ungleichungssystem in endlich vielen Schritten losen. Allerdings istdas Verfahren in der Praxis oft sehr ineffizient. Denn:

• In einem Eliminationsschritt kann (beim Ubergang von (9) zu (11))die Anzahl der Ungleichungen sehr stark wachsen!

Page 29: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

28 2. LINEARE UNGLEICHUNGEN UND DIE STRUKTUR VON POLYEDERN

BEMERKUNG. Wie der Gauss’sche Algorithmus beruht auch das FM-Verfahrenauf elementaren Zeilenoperationen: Addition von 2 Ungleichungen und Multipli-kation einer Ungleichung mit einem Skalar. Allerdings werden bei der skalarenMultiplikation (im Gegensatz zum Gauss-Verfahren) nur positive Skalare zugelas-sen.

2.1.1. Das Erfullbarkeitsproblem. Wir rechnen uber dem Zahlbereich0, 1 mit den Operationen

⊕ 0 1

0 0 11 1 1

⊙ 0 1

0 0 01 0 1

− 0 1

1 0

Eine Boolesche Funktion ist eine Funktion φ : 0, 1n → 0, 1. Es ist be-kannt, dass eine Boolesche Funktion φ(x1, . . . , xn) in einer sog. konjuktivenNormalform (KNF) dargestellt werden kann:

φ(x1, . . . , xn) =m∏i=1

Ci,

wobei die Klauseln Ci die Form haben

Ci = ai1y1 ⊕ . . .⊕ ainyn mit aij ∈ 0, 1 und yi ∈ xi, xi.

BEISPIEL 2.1. φ(x1, x2, x3) = (x1 ⊕ x2)⊙ (x1 ⊕ x2 ⊕ x3)⊙ x3.

ERFULLBARKEITSPROBLEM: Man entscheide, ob die per KNF gegebeneBoolesche Funktion φ den Wert 1 annehmen kann. Das heisst: Kann eineBelegung der Variablen gefunden werden derart, dass jede Klausel Ci denWert 1 annimmt?

Das Problem kann man mit Ungleichungssystemen modellieren. In der Klau-sel Ci = ai1y1 + . . . ainyn ersetzen wir xj durch 1− xj und haben dann dasProblem: Gibt es eine Losung mit ganzahligen xj ∈ 0, 1 derart, dass

ai1y1 + . . . ainyn ≥ 1 ?

BEISPIEL 2.2. Sei C = x2 ⊕ x5 ⊕ x7. Dann ist C erfullbar, wenn es eineganzzahlige (0, 1)-Losung der Ungleichung

x2 + (1− x5) + x7 ≥ 1 ←→ −x2 + x5 − x7 ≤ 0

gibt.

Page 30: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

2. ELIMINATION NACH FOURIER-MOTZKIN 29

Das Erfullbarkeitsproblem fragt also nach einer ganzahligen (0, 1)-Losungdes aus allen Klauseln gebildeten Ungleichungssystems.

2-SAT: Das Erfullbarkeitsproblem fur Boolesche Funktionen in KNF, beidenen jede Klausel hochstens 2 Variablen enthalt.

2-SAT kann mit dem FM-Verfahren effizient(!) gelost werden. Um das ein-zusehen, betrachten wir das folgende typische Beispiel:

BEISPIEL 2.3 (Resolvente).

C1 = xk ⊕ xs

C2 = xk ⊕ xl

C = xs ⊕ xl

←→−xk − xs ≤ −1xk − xl ≤ 0

− xs − xl ≤ −1C ist die sog. Resolvente der Klauseln C1 und C2. Offensichtlich sind C1

und C2 genau dann gleichzeitig erfullt, wenn ihre Resolvente C erfullt ist.Im Ungleichungssystem entspricht C der Summe der aus C1 und C2 gewon-nenen Ungleichungen.

MAN ERKENNT: Die Resolventenbildung resultiert in einer Klausel mithochstens 2 Variablen. Insgesamt sind aber sicher nicht mehr als 2n2 sol-cher Klauseln uberhaupt moglich.

PROPOSITION 2.1. Wendet man das FM-Verfahren auf ein 2-SAT-Problemmit n Variablen an, so werden insgesamt hochstens 2n2 verschiedene Un-gleichungen erzeugt.

BEMERKUNG. Fur das allgemeine Erfullbarkeitsproblem ist beim gegenwartigenStand der Wissenschaft kein effizienter Losungsalgorithmus bekannt.

2.1.2. Das Lemma von Farkas. Nehmen wir an, wir hatten das FM-Verfahren auf das Ungleichungssystem

Ax ≤ b

angewandt und alle Variablen eliminiert. Dann haben wir insgesamt auf derlinken Seite den Nullvektor als nichtnegative Linearkombination der Zeilenvon A erzeugt. Ist y ≥ 0 der zugehorige Koeffizientenvektor, dann habenwir die Situation

yTAx = 0Tx ≤ yTb.

Genau im Fall yTb < 0 liegt eine Widerspruchlichkeit vor. Das heisst:Ax ≤ b erweist sich als unlosbar.

Daraus folgt die Aussage des Farkas-Lemmas:

Page 31: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

30 2. LINEARE UNGLEICHUNGEN UND DIE STRUKTUR VON POLYEDERN

LEMMA 2.2 (Farkaslemma). Auf das lineare Ungleichungssystem Ax ≤ btrifft genau eine der Aussagen zu:

(I) Ax ≤ b besitzt eine zulassige Losung x;(II) Es gibt einen Koeffizientenvektor y mit den Eigenschaften

y ≥ 0, yTA = 0T und yTb < 0.

2.2. Gultige und implizierte Ungleichungen. Man sagt, eine (lineare)Ungleichung cTx ≤ z gilt fur die Menge S (bzw. wird von der Menge Simpliziert), wenn gilt

cT s ≤ z fur alle s ∈ S,

d.h. wenn S ganz im Halbraum P (c, z) enthalten ist.

BEISPIEL 2.4. Sei Ax ≤ b ein lineares Ungleichungssystem mit A ∈ Rm×n

und y ∈ Rm+ ein beliebiger nichtnegativer Koeffizientenvektor. Wir setzen

cT := yTA und wahlen ein beliebiges z ≥ cTb. Dann ist cTx ≤ z gultigfur P (A,b). (Beweis?)

Ein fur die allgemeine (auch nichtlineare!) Optimierungstheorie (enorm!)wichtige Charakterisierung implizierter Ungleichungen folgt aus dem Far-kaslemma:

SATZ 2.2. Sei ∅ = S = P (A,b). Genau dann ist cTx ≤ z von Ax ≤ bimpliziert, wenn ein y ≥ 0 existiert mit der Eigenschaft

cT = yTA und yTb ≤ z.

Beweis. Eine Richtung der Behauptung folgt aus Beispiel 2.4. Zum Beweis deranderen Richtung nehmen wir an, cTx ≤ z sei impliziert, aber es gebe kein y derbehaupteten Art. Dann ware das folgende System unlosbar:

ATy ≤ c

−ATy ≤ −c−Iy ≤ 0

bTy ≤ z.

Es gibt also (nach Farkas) nichtnegative Vektoren u,v,w ≥ 0 und einen Skalarλ ≥ 0 derart, dass

uTAT − vTAT −wT + λbT = 0T

uT c− vT c−wT0+ λz < 0.

Mit x := v − u folgt daraus:

Ax ≤ λb und cTx > λz

Page 32: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

3. DIE STRUKTUR VON POLYEDERN 31

und somit λ = 0. (Sonst wurde Division durch λ > 0 ja zeigen, dass die Unglei-chung cTx ≤ z gar nicht von Ax ≤ b impliziert ist!) Das bedeutet aber anderer-seits auch x = 0.

Sei nun x∗ ∈ P (A,b). Dann gilt auch x∗ + tx ∈ P (A,b) fur jedes t ≥ 0. Dassteht aber im Widerspruch der Gultigkeit von cTx ≤ z:

limt→∞

cT (x∗ + tx) = cTx∗ + (cTx) limt→∞

t =∞ > z.

BEMERKUNG. In der Literatur wird auch die Aussage von Satz 2.2 als ”Farkas-lemma“ bezeichnet.

3. Die Struktur von Polyedern

3.1. Endlich erzeugte Kegel und Polytope. Aus dem FM-Verfahrensleiten wir zunachst ab, dass Projektionen von Polyedern wieder Polyedersind.

Sei N = 1, . . . , n die Menge der Indizes des betrachteten Koordinaten-raums und S ⊆ N eine feste Teilmenge. Zu einem gegebenen x ∈ RN

bezeichnen wir mit xS die Einschrankung von x auf die Koordinaten in S.

Ist X ⊆ RN eine beliebige Teilmenge, so nennen wir die Menge

XS = xS | x ∈ X ⊆ RS

die Projektion von X auf den Koordinatenraum RS .

LEMMA 2.3 (”Projektionslemma“). Die Projektion PS eines beliebigen Po-lyeders P ⊆ RN ist ein Polyeder.

Beweis. Sei P die Losungsmenge des Ungleichungssystems Ax ≤ b. Wir ver-suchen, dieses mit dem FM-Verfahren zu losen und eliminieren zuerst die Va-riablen xi mit Index i ∈ N \ S. Dann ist PS = xS | x ∈ P (A,b) genaudie Losungsmenge des vom FM-Verfahren bis dahin berechneten Ungleichungssy-stems Ax ≤ b, d.h.

PS = P (A, b).

Wir beweisen nun die fundamentale Aussage, dass endlich erzeugte konve-xe Kegel und konvexe Mengen immer Polyeder sind.

SATZ 2.3. Sei V = v1, . . . ,vk ⊆ Rn eine endliche Menge. Dann gilt(a) Die Menge cone(V ) aller konischen Linearkombinationen ist ein

Polyeder.(b) Die Menge conv(V ) aller Konvexkombinationen ist ein Polyeder.

Page 33: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

32 2. LINEARE UNGLEICHUNGEN UND DIE STRUKTUR VON POLYEDERN

Beweis. Wir zeigen (a). (Die Behauptung (b) beweist man ganz analog.) Sei

P = cone(V ) = k∑

i=1

λivi | λ1, . . . , λk ≥ 0.

Wir bezeichnen mit I die Einheitsmatrix und bilden die Matrix V = [v1, . . . ,vk]mit den Spaltenvektoren vi. Nun betrachten wir die Menge P aller (n+ k)-dimen-sionalen Vektoren (z,x) ∈ Rn+k derart, dass

(12)Iz − V x = 0

x ≥ 0

P ist Losungsmenge eines linearen Systems und somit ein Polyder. P ist die Pro-jektion von P auf die z-Koordinaten und folglich auch ein Polyeder.

NOTA BENE. Mit dem FM-Verfahren kann man eine Matrix B berechnenmit der Eigenschaft

cone(V ) = P (B,0),

indem man einfach die x-Variablen aus dem System (12) eliminiert. Ganzanalog ergibt sich aus dem FM-Verfahren eine Matrix C und ein Vektor bmit der Eigenschaft

conv(V ) = P (C,b).

BEMERKUNG. Offen ist die Suche nach einer algorithmisch effizienteren Metho-de als das FM-Verfahren zur Berechnung einer Darstellung

cone(V ) = P (B,0) bzw. conv(V ) = P (C,b).

Mit Hilfe des Projektionslemmas lasst sich ebenso zeigen:

PROPOSITION 2.2. Die Minkowskisumme S = P + Q zweier beliebigerPolyeder P,Q ⊆ Rn ist selber ein Polyeder in Rn.

Beweis. Ubung.⋄

3.2. Der Darstellungssatz von Weyl-Minkowski. Wir betrachten einbeliebiges Polyeder P , das sich als Losungsmenge eines endlichen Systemsvon linearen Ungleichungen aT

i x ≤ bi (mit Indexmenge I) schreiben lasst:

P = x ∈ Rn | aTi x ≤ bi, i ∈ I.

Wir betrachten zuerst den Spezialfall• 0 ∈ P und folglich bi ≥ 0 fur alle bi ∈ I .

Page 34: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

3. DIE STRUKTUR VON POLYEDERN 33

Dividieren wir nun im Fall bi > 0 die entsprechende Ungleichung durch bi,so erhalten wir ein P definierendes System von Ungleichungen aT

i x ≤ bimit bi ∈ 0,+1 es gibt also Matrizen A,B derart, dass

P = x ∈ Rn |[AB

]x ≤

[10

],

wobei 1 = (1, 1, . . . , 1)T . Wir erinnern an die Polare:

Spol = x ∈ Rn | sTx ≤ 1 fur alle s ∈ S.

Ist S endlich, so stellen wir uns ST als die Matrix mit den ZeilenvektorensT vor und erkennen dann die Polare als Polyeder

Spol = P (ST ,1).

LEMMA 2.4. Sei P ein Polyeder und A und B Matrizen mit der Eigenschaft

P = x | Ax ≤ 1, Bx ≤ 0.

Dann ist die Polare von P die Minkowskisumme des von den Zeilenvektorenvon A und dem Ursprung 0 bestimmten Polytops und des von den Zeilen-vektoren von B erzeugten konvexen Kegels:

P pol = conv(AT ,0) + cone(BT )

Insbesondere ist P pol ein Polyeder (da die Minkowskisumme von Polyedernnach Proposition 2.2 immer ein Polyeder ergibt).

Beweis. Ein Vektor c liegt in P pol genau dann, wenn die Ungleichung cTx ≤ 1von dem linearen System [

AB

]x ≤

[10

]impliziert wird. Das ist genau dann der Fall, wenn es Vektoren y, z ≥ 0 gibt mitder Eigenschaft

cT = yTA+ zTB und yT1 ≤ 1.

Wegen ATy ∈ conv(AT ,0) und BTz ∈ cone(BT ) folgt dann

c ∈ P pol ⇐⇒ c ∈ conv(AT ,0) + cone(BT ).

Page 35: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

34 2. LINEARE UNGLEICHUNGEN UND DIE STRUKTUR VON POLYEDERN

3.3. Der Dekompositionssatz.

SATZ 2.4 (Weyl-Minkowski). Genau dann ist eine nichtleere Menge P ⊆Rn ein Polyeder, wenn es endliche Mengen V,W ⊆ Rn gibt mit der Eigen-schaft

(13) P = conv(V ) + cone(W ).

Beweis. Da conv(V ) und cone(W ) Polyeder sind, ist deren Minkowskisumme einPolyeder. Die Bedingung ist also hinreichend. Wir beweisen die Notwendigkeitund nehmen oBdA P = ∅ an.

Wir betrachten zuerst den Fall 0 ∈ P . Dann kann P in der Form

P = x | Ax ≤ 1, Bx ≤ 0

ausgedruckt werden. Nach Lemma 2.4 ist Q = P pol ein Polyeder und wir finden

P = (P pol)pol = Qpol.

Wiederum aus Lemma 2.4 schliessen wir nun, dass P als Minkowskisumme einerendlich erzeugten konvexen Menge und eines endlich erzeugten konvexen Kegelsausgedruckt werden kann.

Im Fall 0 /∈ P wahlen wir irgendein t ∈ P und betrachten die Translation (Min-kowskisumme)

P = P + −t.Wegen 0 ∈ P gibt es endliche Mengen V und W derart, dass

P = conv(V ) + cone(W ).

Nun verifiziert man leicht fur V = V + t und W = W :

P = conv(V ) + cone(W ).

Aus dem Dekompositionssatz folgt sofort eine wichtige Charakterisierungvon Polytopen:

KOROLLAR 2.1. Ein Polyeder P ⊆ Rn ist genau dann ein Polytop, wennP beschrankt ist.

Beweis. Wir nehmen P = conv(V ) + cone(W ) an. Ist nun P beschrankt, so kannW keinen Vektor w = 0 enthalten. Daraus folgt die Darstellung

P = conv(V ) + 0 = conv(V ),

die P als Polytop erweist. Umgekehrt macht man sich leicht klar, dass ein Polytopnicht nur ein Polyeder ist sondern auch beschrankt sein muss (Beweis?).

Page 36: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

3. DIE STRUKTUR VON POLYEDERN 35

3.4. Dualitat von Darstellungen. Der Satz von Weyl-Minkowski zeigt,dass ein Polyeder P zwei zueinander duale Sichtweisen erlaubt:

IMPLIZIT: P ist Losungsmenge eines endlichen linearen Ungleichungs-systems Ax ≤ b;

EXPLIZIT: P ist die Menge aller Vektoren (bzw. Punkte), die von denendlichen Mengen V und W gemass (13) erzeugt werden.

Die Situation verallgemeinert damit die bei linearen oder affinen Teilraum-en A ⊆ Rn bekannte. Einerseits ist A Losungsmenge eines linearen Glei-chungssystems Ax = b. Andererseits gibt es eine endliche Menge S =s1, . . . , sk derart, dass A die Menge aller ”affinen“ Linearkombinationen

x = λ1s1 + . . .+ λksk mitk∑

i=1

λi = 1

ist. Die Umrechnung von einer Darstellung zur anderen ist im linearen/af-finen Fall effizient moglich (z.B. mit dem Gauss-Verfahren).

NOTA BENE. Im linearen (und affinen) Fall sind alle minimalen Erzeugendensy-steme (Basen) gleichmachtig. Bei Ungleichungssystemen ist dies nicht notwendi-gerweise so!

Im allgemeinen Fall ist die Umrechnung nicht so einfach moglich. Wie derBeweis des Dekompositionssatzes zeigt, ist im Prinzip eine Umrechnungmit Hilfe des Fourier-Motzin-Verfahrens erreichbar. Diese Methode ist abernicht effizient. Ein effizienter Algorithmus fur das Umrechnungsproblem istnicht bekannt.

Zur Illustration betrachten wir ein lineares Optimierungsproblem

max cTx s.d Ax ≤ b

mit dem Optimalwert −∞ < δ(P (A,b, c) < +∞. Haben wir die Darstel-lung

P (A,b) = P = conv(V ) + cone(W ),

so erhalten wir fur die Stutzfunktion

δ(P (A,b), c) = δ(conv(V ), c) + δ(cone(W ), c) = δ(conv(V ), c)

= δ(V , c) = δ(V, c)

= maxv∈V

cTv.

FOLGERUNG:• Im Fall V = ∅ ist jede Ecke x∗ von P in V enthalten.

Page 37: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

36 2. LINEARE UNGLEICHUNGEN UND DIE STRUKTUR VON POLYEDERN

(Denn: Die lineare Funktion f(x) = cTx, welche die Seitenflache F =x∗ bestimmt, wird ja in einem Element von V optimiert.)

3.5. Ecken von Polyedern. Wir betrachten ein Polyeder P = P (A,b)in der Darstellung von Weyl-Minkowski:

P = conv(V ) + cone(W ).

und nehmen an, dass V nichtleer ist. (Den Fall V = ∅ untersuchen wir imnachsten Abschnitt 3.5.1.) Wir wissen dann schon, dass die Ecken von P inder Menge V enthalten sind. Also genugt es, sich auf Polytope zuruckzu-ziehen und dort die Frage nach den Ecken zu untersuchen.

SATZ 2.5 (Ecken von Polyedern). Sei V = ∅ eine minimale Menge mit derEigenschaft

P = P (A,b) = conv(V ) + cone(W )

Dann ist V genau die Menge der Ecken von P .

Beweis. Wir durfen oBdA P = conv(V ) annehmen. Wir haben schon gesehen,dass im Fall V = ∅ alle Ecken von P in V enthalten sind. Sei nun umgekehrtv∗ ∈ V und V ′ = V \ v∗. Wir setzen

P ′ = conv(V ′).

Aus der Minimalitat von V folgt nun P ′ = P und insbesondere v∗ /∈ P ′ (Be-weis?). Der Hauptsatz uber abgeschlossene konvexe Mengen garantiert somit eineHyperebene, die v∗ von P ′ trennt. D.h. es gibt einen Parametervektor c mit denEigenschaften

• cTx∗ > cTv fur alle v ∈ V ′.v∗ ist somit der einzige Punkt in P , der f(x) = cTx uber P maximiert. Folglichist v∗ eine Ecke von P .

KOROLLAR 2.2. Jedes Polytop ist die konvexe Hulle seiner Ecken.⋄

3.5.1. Spitze Kegel. Wir betrachten nun den Fall eines polyedrischenKegels

K = cone(W ) = P (A,0),

wobei A ∈ Rm×n eine geeignete Matrix ist. Wegen δ(K, c) ∈ 0,+∞ist klar, dass 0 ∈ K der einzige Kandidat fur eine Ecke ist. Wir nennen Kspitz, wenn 0 tatsachlich eine Ecke ist.

SATZ 2.6. Der polyedrische Kegel K ⊆ Rn ist genau dann spitz, wenn Kkeinen nichttirivialen linearen Teilraum von Rn enthalt.

Page 38: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

3. DIE STRUKTUR VON POLYEDERN 37

Beweis. Ist K spitz, so gibt es ein c ∈ Rn derart, dass gilt:

cTx < 0 fur alle x ∈ K \ 0.Dann kann K keinen nichttrivialen linearen Teilraum enthalten (da mit jedemPunkt x eines linearen Teilraums auch der Punkt (−x) zu dem Teilraum gehort).

Ist K nicht spitz, so kann A nicht vollen Rang rgA = n besitzen. Sei namlich

cT =m∑i=1

aTi

die Summe der Zeilenvektoren aTi von A. Dann ist cTx ≤ 0 eine fur K gultigeUngleichung, die nur von x = 0 mit Gleichheit erfullt wird, wenn A vollen Ranghat. Damit ware aber 0 eine Ecke und folglich K spitz.

Also gilt rg(A) ≤ n − 1 und folglich kerA = 0. Wegen kerA ⊆ K enthalt Ksomit einen nichttrivialen linearen Teilraum von Rn.

3.6. Basislosungen. Wir betrachten ein System Ax ≤ b mit A ∈Rm×n und b ∈ Rm mit den einzelnen Ungleichungen

aTi x ←→ ai1x1 + . . .+ ainxn ≤ bi.

Einem x ∈ P (A,b) ordnen wir nun das Teilsystem der Ungleichungen zu,das von x mit Gleichheit erfullt wird:

J(x) := i ∈ 1, . . . ,m | aTi x = bi.

AJ(x) bezeichne die entsprechende (Zeilen-)Teilmatrix von A. Wir nennenx ∈ P (A,b) eine (zulassige) Basislosung, wenn gilt

rg(AJ(x)) = n.

LEMMA 2.5. Die Basislosungen x ∈ P (A,b) sind genau die Ecken vonP (A,b).

Beweis. Sei cT =∑

i∈J(x) aTi und z =

∑i∈J(x) bi. Dann ist cTx ≤ z sicherlich

eine gultige Ungleichung fur P (A,b) (warum?). Folglich ist

F = x ∈ P (A,b) | cTx = z = x ∈ P (A,b) | AJ(x)x = bJ(x)eine Seitenflache mit x ∈ F . Da die Matrix AJ(x) vollen Rang n hat, kann F nureinen Punkt enthalten.

Sei umgekehrt v ∈ P (A,b) eine Ecke und cTx ≤ z eine gultige Ungleichung mitder Eigenschaft

x ∈ P (A,b) | cTx = z = v.Damit ist die Gleichung cTx = z von dem System

Ax ≤ b, AJ(v)x = bJ(v)

Page 39: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

38 2. LINEARE UNGLEICHUNGEN UND DIE STRUKTUR VON POLYEDERN

impliziert. Jeder Vektor w, der dieses System erfullt, erreicht also den Wert

cTw = z.

Wir behaupten, dass kerAJ(v) = 0 gelten muss. Denn zu jedem anderen Vektord ∈ kerAJ(v) \ 0 konnten wir sicherlich ein ε > 0 finden mit der Eigenschaft

aTi (v + εd) = bi wenn aTi v = bi

aTi (v + εd) ≤ bi wenn aTi v < bi.

Damit hatten wir Aw ≤ b und AJ(v)w = bJ(v) und folglich cTw = z. Daswurde aber der Eckeneigenschaft von v widersprechen!

kerAJ(v) = 0 bedeutet nun, dass die Matrix AJ(v) vollen Spaltenrang n besitzt.Also ist v eine Basislosung.

3.7. Nichtnegative Losungen linearer Gleichungen. Wir interessie-ren uns fur nichtnegative Losungen linearer Gleichungssysteme d.h. fur Po-lyeder P der Form

(14) P = x ∈ Rn | Ax = b,x ≥ 0,wobei A ∈ Rm×n und b ∈ Rm. P ist also genau die Losungsmenge von

Ax ≤ b

−Ax ≤ −b−Ix ≤ 0.

Sei x ∈ P . Dann besteht J(x) aus allen Indizes, die den Zeilen von A ent-sprechen (da diese ja immer mit Gleichheit zu erfullen sind). Dazu kommennoch die entsprechenden Zeilen der (n× n)-Matrix (−I):

N(x) := j ∈ 1, . . . , n | xj = 0.Wir setzen weiterhin

B(x) = j ∈ 1, . . . , n | xj > 0.Also erhalten wir in diesem Kontext:

LEMMA 2.6. x ∈ P ist genau dann eine Basislosung des Systems

Ax = b,x ≥ 0,

wenn die Teilmatrix AB(x) der Spaltenvektoren Aj mit Index j ∈ B(x)linear unabhangig sind, d.h. wenn

rg(AB(x)) = |B(x)| = n− |N(x)|.⋄

Page 40: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

3. DIE STRUKTUR VON POLYEDERN 39

Fur die lineare Programmierung (extrem!) wichtig ist der Umstand, dassman ohne grosse Muhe eine gute Basislosung konstruieren kann, sofernman schon eine gute Losung hat.

SATZ 2.7. Sei x(0) ∈ P = x ∈ Rn | Ax = b,x ≥ 0 gegeben. Dannkann man in hochstens n Iterationen eine Basislosung x ∈ P konstruieren.

Beweis. Wir bezeichen mit A0x = b0 das lineare Gleichungssystem

Ax = b und xj = 0 fur alle j ∈ N(x(0)).

Ist x(0) keine Basislosung, dann existiert ein d = 0 derart, dass

A0d = 0.

Dann gilt sicherlich A(x(0) + λd) = b fur jedes λ ∈ R. Wegen d = 0 gibt eseinen Index j1 ∈ B(x(0)) und ein λ1 = 0 mit der Eigenschaft

x(1) + λ1d ∈ P und x(1)j1

= 0.

Daraus folgt |N(x(1)| ≥ |N(x(0)|+ 1.

Nun gehen wir von x(1) in gleicher Weise aus und konstruieren der Reihe nachVektoren x(2),x(3), . . . bis eine Basislosung gefunden ist. Wegen

|N(x(0)|+ k ≤ N(x(k)| ≤ n

werden wir nach weniger als n Schritten eine Basislosung gefunden haben.⋄

Den Algorithmus im Beweis von Satz 2.7 kann man so modifizieren, dassman eine Basislosung erhalt, die bzgl. einer gegebenen Zielfunktion f(x) =cTx mindestens so gut ist wie x(0) – sofern δ(P, c) endlich ist. Dazu versu-chen wir, das modifizierte System

cTd = 1

A0d = 0

zu losen. Wenn eine Losung d existiert, dann gilt fur jedes λ ∈ R:

cT (x(0) + λd) = cTx(0) + λ.

Wegen δ(P, c) <∞ gibt es somit ein λ1 > 0 derart, dass

x(1) = x(0) + λ1d ∈ P und |J(x(1)| ≥ |J(x(0)|+ 1.

Ausserdem gilt cTx(1) = cTx(0) + λ1 > cTx(0). Wie zuvor konnen wir nunein x(2) versuchen zu konstruieren usw.

Existiert das gewunschte d mit cTd = 1 nicht, so haben wir

cTd = 0 fur alle d ∈ kerA0.

Page 41: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

40 2. LINEARE UNGLEICHUNGEN UND DIE STRUKTUR VON POLYEDERN

Wir konnen dann den Algorithmus genau wie im Beweis von Satz 2.7 ausfuhrenund erhalten

cTx(0) = cTx(1) = cTx(2) = . . .

Der Zielfunktionswert verschlechtert sich also auf keinen Fall.

3.8. Der Satz von Caratheodory. Als Anwendung der garantiertenExistenz von Basislosungen leiten wir einen beruhmten geometrischen Satzab.

SATZ 2.8 (Caratheodory). Sei X ⊆ Rd eine beliebige nichtleere Menge vonVektoren und z ∈ conv(X). Dann lasst sich z als Konvexkombination vonhochstens d+ 1 Vektoren aus X darstellen.

Beweis. Seien x1, . . . ,xn ∈ X und y1, . . . , yn so, dass

x1y1 + . . .+ xnyn = z, y1 + . . .+ yn = 1 und y1 . . . , yn ≥ 0.

Dann ist y = (y1, . . . , yn) nichtnegative Losung des obigen linearen Gleichungs-systems mit d + 1 Zeilen. Also existiert auch eine entsprechende Basislosung y.y hat als Basislosung hochstens d + 1 Komponenten yj = 0 und liefert somit diegewunschte Konvexkombination fur z.

UBUNG 2.1. Zeigen Sie anhand eines Beispiels, dass eine ”Verbesserung“ derBehauptung des Satzes 2.8 von ”d + 1“ auf ”d“ im allgemeinen nichtmoglich ist.

KOROLLAR 2.3. Sei X ⊆ Rd eine beliebige nichtleere Menge von Vektorenund z ∈ cone(X). Dann lasst sich z als Kegelkombination von hochstens dVektoren aus X darstellen.

Beweis. Ubung.

Page 42: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

KAPITEL 3

Optimalitatsbedingugen

Wir betrachten ein mathematisches Optimierungsproblem der Form

(15) minx∈S

f(x)

und nehmen an:• Es gibt eine offene Teilmenge F ⊆ Rn, die den Zulassigkeitsbe-

reich S enthalt, und f : F → R ist eine stetig differenzierbareFunktion.

Ein Vektor d ∈ Rn der Lange ∥d∥ = 1 heisst zulassige Richtung zum Punktx ∈ S, wenn es ein ε > 0 gibt derart, dass

x+ td ∈ S fur alle 0 ≤ t ≤ ε.

1. Notwendige Bedingung

SATZ 3.1. Sei d eine zulassige Richtung zu x ∈ S derart, dass ∇f(x)d <0. Dann existiert ein t > 0 mit der Eigenschaft

y = x+ td ∈ S und f(y) < f(x).

Insbesondere ist x keine Optimallosung des Optimierungsproblems (15).

Beweis. Sei ε > 0 so, dass [x,x + εd] ⊆ S gilt, und fd : [0, ε] → R definiertdurch

fd(t) := f(x+ td) mit Ableitung f ′d(0) = ∇f(x)d.

Nach Voraussetzung haben wir f ′d(0) < 0. Somit ist t0 = 0 keine Optimallosung

fur das Problemmin0≤t≤ε

fd(t).

Anders ausgedruckt: Es gibt ein y = x+ td ∈ [x,x+ εd] mit der Eigenschaft

f(y) = fd(t) < fd(0) = f(x).

KOROLLAR 3.1. Sei x∗ ∈ S eine Optimallosung des Problems (15). Danngilt notwendigerweise

∇f(x∗)d ≥ 0 fur alle zulassigen Richtungen d zu x∗.

⋄41

Page 43: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

42 3. OPTIMALITATSBEDINGUGEN

1.1. Gradientenverfahren. Satz 3.1 liefert die Motivation fur sog. Gra-dientenverfahren in der mathematischen Optimierung. Dabei versucht man,das Problem (15) nach folgendem Muster zu losen:

(1) Man bestimme (so man kann) ein Startelement x0 ∈ S.(2) Man bestimme (so man kann) eine zulassige Richtung d ∈ Rn mit∇f(x0)d < 0.

(3) Man suche ein x1 ∈ S der Form x1 = x0+ td mit der Eigenschaftf(x1) < f(x0).

(4) Nun verfahrt man mit x1 wie eben mit x0.(5) Man wiederholt (so man kann) diese Prozedur so lange, bis man

ein xk ∈ S mit einem ”guten “ Wert f(xk) gefunden hat.

In dieser Allgemeinheit kann man vorab keinerlei mathematische Garan-tie abgeben, dass ein Gradientenverfahren funktioniert. Dennoch zeigt dieErfahrung, dass Gradientenverfahren (oder Verfahren, die nach einem ahn-lichen Muster gestrickt sind) in der Praxis oft ganz passable Ergebnisseproduzieren konnen.

Wenn einem im konkreten Fall sonst nichts besseres einfallt, sollte man des-halb durchaus auch Gradientenverfahren fur eine praktische Problemlosungin Erwagung ziehen.

BEMERKUNG. Die Vorlesung wird auf eine weitere Detaildiskussion moglicherImplementationen von Gradientenverfahren und deren Varianten nicht eingehenkonnen.

1.2. Hinreichende Bedingungen und Konvexitat. Wir geben nun ei-ne Klasse von Zielfunktionen an, bei denen die fur Optimalitat notwendigeBedingung aus Korollar 3.1 auch hinreichend ist.

Die (nach wie vor als stetig differenziebar vorausgesetzte) Zielfunktion f :F → R heisst S-konvex (oder einfach konvex, wenn der Kontext klar ist),wenn gilt:

(i) S ist eine konvexe Menge.(ii) f(y)− f(x) ≥ ∇f(x)(y − x) ∀x,y ∈ S.

SATZ 3.2. Es sei die Zielfunktion f des Optimierungsproblems (15) konvexund x∗ ∈ S ein beliebiger Punkt. Dann sind die beiden Aussagen aquiva-lent:

(i) x∗ ist eine Optimallosung.(ii) Es gilt∇f(x∗)d ≥ 0 fur alle zulassigen Richtungen d.

Page 44: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

1. NOTWENDIGE BEDINGUNG 43

BEISPIEL 3.1. Sei S = Rn und x∗ ∈ S beliebig. Dann ist jeder Einheitsvek-tor (und seine Negation) eine zulassige Richtung. In diesem Fall reduziertsich (ii) in Satz 3.2 auf die Eigenschaft

∇f(x∗) = 0T d.h.∂f(x∗)

∂xj

= 0 (j = 1, . . . , n).

Als Beispiel fur Konvexitat sei eine symmetrische Matrix A ∈ Rn×n gege-ben. Wir betrachten die quadratische Funktion

f(x) = xTAx

uber dem DefinitionsbereichF = Rn. Schreiben wir y = x+d, dann lautetdie Konvexitatsbedingung

dTAd+ 2xTAd = f(x+ d)− f(x) ≥ ∇f(x)d = 2xTAd.

Also ist f(x) = xTAx genau dann konvex, wenn gilt

dTAd ≥ 0 fur alle d ∈ Rn.

M.a.W.: f ist genau dann Rn-konvex, wenn A positiv semidefinit ist.

UBUNG 3.1. Man zeige:(1) Jede konstante oder lineare Funktion f : Rn → R ist konvex.(2) Sei p ∈ Rn fest und f(x) = ∥x− p∥2. Dann ist f konvex.(3) Seien f, g : F → R konvex und λ, µ ≥ 0 beliebige nichtnegative

Skalare. Dann ist h := λf + µg konvex.

UBUNG 3.2. Seien a < b reelle Zahlen und f : (a, b) → R stetig differen-zierbar. Man zeige die Aquivalenz der Aussagen

(1) f ist konvex.(2) Die Ableitungsfunktion f ′ ist monoton wachsend auf (a, b).

1.2.1. Das Regressionsproblem. Als Beispiel betrachten wir den fol-genden Aufgabentyp:

• Man sucht die ”beste“ Losung des linearen Gleichungssystems

Ax = b

nach dem Kriterium minimaler Fehlerquadrate.

Das soll heissen: Man sucht eine Losung des Problems

minx∈Rn∥b− Ax∥2 = bTb− 2bTAx+ xTATAx.

Setzen wir cT = bTA und Q = ATA, dann ist das Problem aquivalent mit

minx∈Rn

f(x) =1

2xTQx− cTx.

Page 45: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

44 3. OPTIMALITATSBEDINGUGEN

Q = ATA ist positiv semidefinit und folglich f konvex. Also finden wir:

• x ∈ Rn lost das Regressionsproblem genau dann, wenn gilt:

Qx = c bzw. ATAx = ATb.

Das Regressionsproblem reduziert sich also auf das Losen des linearenGleichungssystems Qx = c.

BEISPIEL 3.2 (Interpolation). Seien von der Funktion f : R → R nur dieWerte yi = f(tj) bei den Stutzstellen t1, . . . , tn bekannt. Man sucht eineLinearkombination

f(t) =m∑i=1

aifi(t)

von gegebenen Funktionen f1(t), . . . , fm(t), die f an den Stutzstellen tjbestmoglich interpoliert. D.h. man will die beste Losung a1, . . . , am desfolgenden linearen Gleichungssystems (in den Unbekannten a1, . . . , am):

a1f1(t1) + a2f2(t1) + . . . + amfm(t1) = y1a1f1(t2) + a2f2(t2) + . . . + amfm(t2) = y2

......

......

a1f1(tn) + a2f2(tn) + . . . + amfm(tn) = yn

Im Fall f1(t), f2(t) = 1, t spricht man von linearer Regression undnennt

f(t) = a1 + a2t

die Regressionsgerade. Im Fall f1(t), f2(t), f3(t) = 1, t, t2 erhalt mandas quadratische Regressionspolynom

f(t) = a1 + a2t+ a3t2.

BEISPIEL 3.3 (Fourier-Interpolation). Sei f : [0, L] → R eine periodischeFunktion mit f(0) = f(L). Dann bietet sich eine Interpolation von f mitz.B. folgenden Baukasten von Funktionen an:

F = cos(kωt), sin(kωt) | k = 0, . . . ,m (mit ω := 2π/L).

Page 46: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

1. NOTWENDIGE BEDINGUNG 45

1.2.2. Allgemeine konvexe Funktionen. Eine moglicherweise nicht dif-ferenzierbare Funktion F → R heisst konvex, wenn gilt:

(1) F ⊆ Rn ist eine konvexe Menge.(2) Fur beliebige Punkte x,y ∈ F und Skalare 0 ≤ λ ≤ 1 gilt:

f(x+ λ(y − x)) ≤ f(x) + λ(f(y)− f(x)).

UBUNG 3.3 (Epigraph). Sei F ⊆ Rn und f : F → R. Der Epigraph von fist definiert als die Menge

epi(f) := (z,x) | x ∈ F , z ≥ f(x).MAN ZEIGE: Eine Funktion f ist konvex genau dann, wenn ihr Epigraphepi(f) eine konvexe Menge ist.

Man demonstriere ausserdem anhand eines Beispiels, dass die analoge Aus-sage bzgl. des Graphen von f falsch sein kann.

Man macht sich leicht klar, dass eine stetig differenzierbare konvexe Funk-tion f auch konvex im Sinne der allgemeinen Definition ist. Denn es giltdann fur den Punkt z = x+ λ(y − x) = y + (1− λ)(x− y):

f(x)− f(z) ≥ ∇f(z)(x− z) = −λ∇f(z)(x− y)

f(y)− f(z) ≥ ∇f(z)(y − z) = (1− λ)∇f(z)(x− y)

Multipizieren wir die erste Ungleichung mit (1 − λ) und die zweite mit λ,dann ergibt deren Addition:

(1− λ)f(x) + λf(y)− f(z) ≥ 0

d.h. die Eigenschaft (2) der Konvexitat in der allgemeinen Definition.

1.3. Lineare Nebenbedingungen. Wir nehmen nun an, dass der Zulassig-keitsbereich S durch lineare Ungleichungen beschrieben ist:

S = P (A,b) = x ∈ Rn | Ax ≤ b,wobei A = [aij] ∈ Rm×n und b = (b1, . . . , bm)

T ∈ Rm. Sei x ∈ S ein festerPunkt. Wir betrachten die Menge aller Ungleichungen, die unter x scharfsind:

J(x) := i ∈ 1, . . . ,m | ai1x1 + . . .+ ainxn = bi.Ax ≤ b sei das Teilsystem von Ax ≤ b, das genau aus den Ungleichungenmit Index i ∈ J(x) besteht. Nun ergibt d = 0 offenbar genau dann einezulassige Richtung, wenn

Ad ≤ 0.

Nach dem Farkaslemma uber implizierte Ungleichungen sind folgende Aus-sagen gleichwertig:

Page 47: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

46 3. OPTIMALITATSBEDINGUGEN

(a) ∇f(x)d ≥ 0 ist von Ad ≤ 0 impliziert.(b) Es gibt y ≥ 0

T derart, dass yTA = −∇f(x).

SATZ 3.3. Ist der Punkt x ∈ P (A,b) ist eine Optimallosung des Problems

min f(x) s.d. Ax ≤ b,

dann gibt es notwendigerweise ein y ≥ 0 mit der Eigenschaft

∇f(x) + yTA = 0T .

KOROLLAR 3.2. Sei f konvex und x ∈ P (A,b). Dann sind aquivalent:

(i) Der Punkt x ist eine Optimallosung des Problems

min f(x) s.d. Ax ≤ b,

(ii) Es gibt ein y ∈ RJ(x) mit der Eigenschaft

y ≥ 0 und ∇f(x) + yTA = 0T .

2. Strafmethoden und Lagrangefunktion

Wir betrachten ein Optimierungsproblem mit m expliziten Nebenbedingun-gen:

(16) min f(x) s.d. g1(x) ≤ 0, . . . , gm(x) ≤ 0,

wobei f, g1, . . . , gm : Rn → R.

Die Idee ist nun, daraus ein Optimierungsproblem ohne explizite Nebenbe-dingungen zu machen. Um dennoch (hoffentlich) den Nebenbedingungenzu genugen, werden der Zielfunktion Terme zugefugt, welche die Zielfunk-tion verschlechtern (”bestrafen“), wenn die Nebenbedingungen nicht einge-halten werden. Dazu gibt es verschiedene Moglichkeiten.

BEISPIEL 3.4. Wir betrachten einen Strafparameter ρ > 0 und das Problem

minx∈Rn

fρ(x) = f(x) + ρ

m∑i=1

max0, gi(x).

Page 48: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

2. STRAFMETHODEN UND LAGRANGEFUNKTION 47

NOTA BENE: Es ist keinesfalls immer garantiert, dass eine Optimallosung desmodifizierten Problems auch eine Optimallosung des Ausgangsproblems darstellt!

”Klassisch“ ist die sog. Lagrangefunktion, die dem Optimierungsproblem(16) folgendermassen zugeordnet wird:(17)

L(x,y) := f(x) + yTg(x) = f(x) +m∑i=1

yigi(x) (x ∈ Rn,y ∈ Rm+ ).

2.1. Sattelpunkte und KKT-Bedingungen. Sei L : X × Y → R einebeliebige reellwertige Funktion. Ein Punktepaar (x, y) ∈ X × Y ist einSattelpunkt von L, wenn fur alle x ∈ X und y ∈ Y gilt:

(18) L(x, y) ≤ L(x, y) ≤ L(x, y).

Uns interessieren hier vor allem Sattelpunkte von Lagrangefunktionen, diesich aus Optimierungsproblemen ergeben.

LEMMA 3.1. Ist (x,y) ein Sattelpunkt der Lagrangefunktion L des Pro-blems (16), dann ist x eine zulassige Losung und es gilt

L(x,y) = f(x) = ming(x)≤0

f(x).

Beweis. gi(x) > 0 ist unmoglich, da sonst die Sattelpunkteigenschaft

supy≥0

f(x) + yTg(x) ≤ f(x) + yTg(x) <∞

verletzt ware. Also ist x eine zulassige Losung. Gleichermassen finden wir

yTg(x) =

m∑i=1

yjgi(x) = 0

und folgernf(x) = L(x,y) ≤ L(x,y) = f(x) ∀x ∈ Rn.

Ein Sattelpunkt (x,y) (sofern er existiert) muss also die LagrangefunktionL(x,y) in den x-Komponenten minimieren, d.h., es muss gelten

0T = ∇xL(x,y) = ∇f(x) +m∑i=1

yi∇gi(x).

Ausserdem muss die im Beweis festgestellte Eigenschaft des komplementarenSchlupfs erfullt sein:

(19) yTg(x) = 0 bzw. yi > 0 =⇒ gi(x) = 0 (i = 1, . . . ,m) .

Page 49: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

48 3. OPTIMALITATSBEDINGUGEN

Daraus ergeben sich die sog. KKT-Bedingungen1:

(20)

g(x) ≤ 0∇f(x) + yT∇g(x) = 0T

yTg(x) = 0y ≥ 0.

Eine Losung (x∗,y∗) der KKT-Bedingungen heisst KKT-Punkt.

VORSICHT: Eine Losung der KKT-Bedingungen ergibt nicht notwendigerweiseeinen Sattelpunkt. Ausserdem sind die KKT-Bedingungen im allgemeinen wedernotwendig noch hinreichend fur Optimalitat. In der Praxis erhalt man aber ausKKT-Punkten oft recht gute Losungen.

2.2. Lineare Nebenbedingungen. Setzen wir g(x) := Ax − b, dannist die Optimierungsaufgabe

(21) minx∈Rn

f(x) s.d. Ax ≤ b

(mit A ∈ Rm×n, c ∈ Rn,b ∈ Rm) das Problem

minx∈Rn

f(x) s.d. g(x) ≤ 0.

ist das lineare Programm gleichwertig mit der Aufgabe

minx∈Rn

f(x) s.d. g(x) ≤ 0.

Die KKT-Bedingungen sind:

Ax ≤ b

∇f(x) + yTA = 0T

yT (Ax− b) = 0

y ≥ 0.

SATZ 3.4. Ein Punkt x ∈ P (A,b) erfullt die notwendigen Optimalitatsbe-dingungen fur (21) genau dann, wenn es ein y ≥ 0 gibt derart, dass (x,y)ein KKT-Punkt ist.

Beweis. Wenn x ∈ P (A,b) die Optimalitatsbedingungen erfullt, so gibt es einenVektor y ∈ RJ(x)

+ mit der Eigenschaft

∇f(x) + yTA = 0T .

Wobei A die J(x) entsprechende Zeilenteilmatrix von A ist. Wir setzen y zu einemVektor in Rm

+ fort vermoge

yi := 0 fur alle i /∈ J(x).

1nach Karush, Kuhn und Tucker

Page 50: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

2. STRAFMETHODEN UND LAGRANGEFUNKTION 49

Man sieht leicht(?), dass (x,y) nun ein KKT-Punkt ist.

Ist umgekehrt (x,y) ein KKT-Punkt, dann folgt aus den komplementaren Schlupf:

yi > 0 =⇒ i ∈ J(x).

bzw.yi = 0 fur alle i /∈ J(x).

Also haben wir (mit aTi als den Zeilenvektoren von A)

−∇f(x) = yTA =m∑i=1

yiaTi =

∑i∈J(x)

yiaTi

und erkennen, dass die notwendige Optimalitatsbedingung aus Satz 3.3 erfullt ist.⋄

KOROLLAR 3.3. Sei f : P (A,b) → R konvex. Genau dann ist der Punktx ∈ P (A,b) optimal fur das Problem (21), wenn es ein y gibt derart, dass(x,y) ein KKT-Punkt ist.

Korollar 3.3 hat eine wichtige Konsequenz. Im Prinzip kann man ein konve-xes Minimierungsproblem mit linearen Nebenbedingungen folgendermas-sen losen:

(i) Formuliere die KKT-Bedingungen.(ii) Berechne einen KKT-Punkt.

2.3. Ein paar Anwendungen. Als Illustration und Anwendung der KKT-Bedingungen leiten wir ein paar (auch in der Physik und Informationstheo-rie wichtige) Aussagen ab.

2.3.1. Entropie. Wir betrachten das Polytop

∆n := x ∈ Rn+ | x1 + . . .+ xn = 1

aller n-dimensionalen Wahrscheinlichkeitsverteilungen. Einem x ∈ ∆n

ordnet man die Entropie (als Masszahl fur den Ordnungszustand bzw. denInformationsgehalt)

H(x1, . . . , xn) := −n∑

j=1

xj lnxj

zu (mit xj lnxj := 0 wenn xj = 0). Um abzuschatzen, wie gross die Entro-pie werden kann, betrachten wir das Optimierungsproblem

minx>0−H(x) s.d. x1 + . . .+ xn = 1.

Die Funktion f(x) = −H(x) ist konvex (Beweis?) auf der Menge

∆>n = x ∈ ∆n | x > 0.

Page 51: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

50 3. OPTIMALITATSBEDINGUGEN

Die zugehorige Lagrangefunktion ist

L(x,y) =n∑

j=1

xj lnxj + y − yn∑

j=1

xj (x > 0, y ∈ R)

und ergibt z.B. die KKT-Bedingung∂L(x, y)

∂xj

= 1 + ln xj − y = 0 (j = 1, . . . , n).

Die Komponenten einer Optimallosung x∗ mussen also alle den gleichenWert

x∗j = ey−1

annehmen. Wegen∑

j x∗j = 1 ergibt sich x∗ = (1/n, . . . , 1/n) und die

maximale Entropie als

H(1/n, . . . , 1/n) = lnn.

BEMERKUNG. In der Informationstheorie definiert man die Entropie gewohnlichuber den Logarithmus zur Basis 2 (d.h. log2 x anstelle des naturlichen Logarithmuslnx).

2.3.2. Boltzmann-Verteilungen. Seien A1, . . . , An sich gegenseitig aus-schliessende Ereignisse, von denen eines garantiert mit einer gewissen Wahr-scheinlichkeit eintritt. Wir nehmen an, dass uns der Eintritt von Aj durcheine Beobachtungsvariable X signalisiert wird, die dann den Wert

X(Aj) = wj (j = 1, . . . , n)

annimmt. Wenn Aj mit der Wahrscheinlichkeit xj = Pr(Aj) eintritt, ist derErwartungswert von X:

(22) E(X) =n∑

j=1

wj Pr(Aj) = w1x1 + . . . wnxn.

Wir fragen: Welche ist unter allen Wahrscheinlichkeiten x ∈ ∆n mit demvorgegebenen Erwartungswert w = E(X) diejenige mit der grossten Entro-pie?

Die Frage fuhrt uns auf das konvexe Optimierungsproblem

minx>0−H(x) s.d.

x1 + . . . + xn = 1

w1x1 + . . . + wnxn = w

und die KKT-Bedingungen

1 + ln xj = y1 + y2wj (j = 1, . . . , n)

und somit (im optimalen Fall)

x∗j = e(y1−1)+y2wj = ey1−1 · eθwj = Kθ · eθwj

Page 52: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

2. STRAFMETHODEN UND LAGRANGEFUNKTION 51

mit θ = y2 und Kθ = ey1−1. Da es sich bei x∗ um eine Wahrscheinlich-keitsverteilung handelt, ergibt sich die Konstante Kθ folgendermassen:

1 =n∑

j=1

x∗j = Kθ

n∑j=1

eθwj =⇒ Kθ =1∑

j eθwj

.

Also finden wir die Form einer sog. Boltzmann-Verteilung:

(23) x∗j = Kθe

θwj (j = 1, . . . , n).

BEMERKUNG.Man kann zeigen, dass sich die Konstante θ eindeutig aus der Er-wartungswertbedingung

w = Kθ

n∑j=1

wjeθwj

ergibt. In der Physik geht in die Masszahl θ die Temperatur T eines durch eineBoltzmannverteilung beschriebenen Systems ein (T ∼ 1/θ). Die Parameter wj

entsprechen moglichen Energiezustanden des Systems.

2.3.3. Simulated Annealing. Boltzmannverteilungen lassen sich auf demComputer leicht simulieren. Aus diesem Umstand kann man Algorithmenfur diskrete Optimierungsprobleme gewinnen, die in der Praxis oft gute Er-folge zeigen (s. Ubung 3.4). Solche Algorithmen sind unter dem BegriffSimulated Annealing bekannt.

UBUNG 3.4. Es seien die numerischen Parameter w1, . . . , wn ∈ R gegeben.Dann ist der Boltzmann-Erwartungswert zur ”Temperatur“ T = 1/θ:

b(θ) = Kθ

n∑j=1

wjeθwj .

MAN ZEIGE: limθ→∞

b(θ) = maxw1, . . . , wn .

2.4. Lineare Programme. Generell ist ein lineares Programm (”LP“)ein mathematisches Optimierungsproblem mit endlich vielen Nebebedin-gungen derart, dass

(1) die Zielfunktion linear ist und(2) die Nebenbedingungen lineare Gleichungen oder Ungleichungen

sind.Zum Beispiel ist das folgende Problem ein lineares Programm:

(24) maxx∈Rn

cTx s.d. Ax ≤ b

Page 53: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

52 3. OPTIMALITATSBEDINGUGEN

(mit A ∈ Rm×n, c ∈ Rn,b ∈ Rm). Dieses LP ist gleichwertig mit demkonvexen Minimierungsproblem

minx∈Rn

f(x) s.d. Ax ≤ b.

Die KKT-Bedingungen lauten:

Ax ≤ b

ATy = c (←→ −cT + yTA = 0T )

cTx− bTy = 0 (denn: (yTA)x− yTb = 0)

y ≥ 0.

SATZ 3.5. Genau dann ist x ∈ Rn eine Optimallosung des linearen Pro-gramms (24), wenn es ein y gibt derart, dass (x,y) ein KKT-Punkt ist.

Man bemerke, dass im Fall linearer Programme die KKT-Bedingungen aufein endliches System linearer Ungleichungen (in den Unbekannten x undy) fuhren. ALSO:

• Lineare Programme konnen im Prinzip mit dem Fourier-Motzkin-Verfahren gelost werden.

BEMERKUNGEN:

(1) Das FM-Verfahren ist nicht das effizienteste Verfahren zum Losenvon linearen Programmen. (Geschicktere Methoden werden spaterdiskutiert werden.)

(2) Im allgemeinen fuhren KKT-Bedingungen nicht(!) auf lineare Un-gleichungssysteme. KKT-Punkte sind deshalb typischerweise nichteinfach zu berechnen.

BEISPIEL 3.5. Der kurzeste Vektor in einem Polyeder P (A,b) sei zu be-rechnen. Das entsprechende Optimierungsproblem

min f(x) = ∥x∥2 s.d. Ax ≤ b

fuhrt auf die (wegen xTx =∑

j x2j quadratischen) KKT-Bedingungen

Ax ≤ b

xT + yTAT = 0T

xTx+ yTb = 0

y ≥ 0.

Page 54: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

2. STRAFMETHODEN UND LAGRANGEFUNKTION 53

2.5. Das Newton-Verfahren. Sei F ⊆ Rk und F : F → Rℓ einebeliebige Funktion. Man betrachtet das Nullstellenproblem

(25) F (x) = 0 (x ∈ F).

BEISPIEL 3.6. Die KKT-Bedingungen fuhren z.B. auf folgendes Nullstellen-problem (in den Unbekannten (x,y)):

∇f(x) + yT∇g(x) = 0T

yTg(x) = 0

(x,y) ∈ F .

mit F = (x,y) ∈ Rn+m | g(x) ≤ 0,y ≥ 0.

Newtons Methode versucht, das Nullstellenproblem (25) iterativ zu losen.Dabei beginnt man bei einem Startpunkt x0 ∈ F (den man irgendwie zukonstruieren hat) und stoppt im Fall F (x0) = 0. Andernfalls sucht mannach einem Losungskandidaten ∆x fur die Gleichung

F (x0 +∆x) = 0 und x0 +∆x ∈ F .

Den bestimmt man dadurch, dass man das Gleichungssystem linear rela-xiert. D.h. man wahlt eine Matrix A0 in der Hoffnung

F (x0 + h) ≈ F (x0) + A0h

und lost das linearisierte System

F (x0) + A0h = 0 bzw. A0h = −F (x0).

Ist h0 eine solche Losung, so setzt man x1 = x0 + h0 und verfahrt nun mitx1 genauso wie eben mit x0 usw.

Auf diese Weise erzeugt man eine Folge x0,x1, . . . von Vektoren. Manstoppt in Iteration K, wenn

F (xK) ≈ 0 und xK ∈ F .

BEMERKUNG. Obwohl man im allgemeinen (ohne starke Zusatzannahmen) kei-ne Konvergenzgarantie geben kann, funktioniert die Methode in der Praxis uberra-schend gut.

BEISPIEL 3.7. Sei f(x) = x2− 2 = 0 in der Variablen x ∈ R zu losen. DieWahl Ak = f ′(xk) ergibt

hk =−x2

k + 2

2xk

und xk+1 = xk + hk =xk

2+

1

xk

.

Page 55: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

54 3. OPTIMALITATSBEDINGUGEN

2.6. Nichtlineare Nebenbedingungen. Bei allgemeinen Optimierungs-problemen der Form

min f(x) s.d. g(x) ≤ 0

sind die KKT-Bedingungen weder notwendig noch hinreichend fur Opti-malitat. Trotzdem stellt man fest, dass KKT-Punkte oft (erstaunlich?) guteLosungen ergeben. Viele algorithmische Verfahren der nichtlinearen Opti-mierung sind nach dem Prinzip konstruiert, dass sie versuchen, KKT-Punkteaufzuspuren2.

3. Lagrange-Dualitat

Sei L : X × Y → R eine beliebige Funktion. Dann gilt fur jedes Paar(x, y) ∈ X × Y immer

minxL(x, y) ≤ L(x, y) ≤ max

yL(x, y)

und damit allgemein die sog. schwache Dualitatsrelation

(26) maxy

minxL(x, y) ≤ min

xmax

yL(x, y).

Genau wenn (x, y) ein Sattelpunkt von L ist, wird Gleichheit und somitstarke Dualitat erreicht:

(27) maxy

minxL(x, y) = L(x, y) = min

xmax

yL(x, y).

Die Suche nach einem Sattelpunkt ergibt unter diesem Aspekt zwei Teil-probleme:

PRIMALES PROBLEM:

(28) minxL1(x) mit L1(x) := max

yL(x, y)

DUALES PROBLEM:

(29) maxyL2(y) mit L2(y) := min

xL(x, y)

In diesem Zusammenhang bedeutet die schwache Dualitat:

L2(y) ≤ L(x, y) ≤ L1(x)

Also ist (x, y) genau dann ein Sattelpunkt, wenn gilt:

L2(y) = L(x, y) = L1(x)

2Die Vorlesung hat leider nicht die Zeit, tief in die nichtlineare Optimierungeinzusteigen.

Page 56: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

3. LAGRANGE-DUALITAT 55

LEMMA 3.2. Ist L die Lagrangefunktion des Optimierungsproblems

min f(x) s.d. g1(x) ≤ 0, . . . , gm(x) ≤ 0,

dann ist das primale Langrangeproblem aquivalent zum Optimierungspro-blem.

Beweis. Sei S = x ∈ Rn | gi(x) ≤ 0, i = 1, . . . ,m. Es gilt

L1(x) = maxy

f(x) +

m∑i=1

yigi(x) (y ≥ 0).

also haben wir

L1(x) =

+∞ wenn x /∈ Sf(x) wenn x ∈ S.

Also ist die Aufgabe, L1(x) zu minimieren, gleichbedeutend mit der Aufgabe,f(x) uber S zu minimieren.

Das duale Lagrangeproblem ist im allgemeinen jedoch nicht aquivalent zumursprunglichen Optimierungsproblem. Seine Bedeutung fur die Optimie-rung liegt in der folgenden Eigenschaft3:

• Eine Losung des dualen Lagrangeproblems ergibt eine Untergren-ze fur den zu erwartenden Zielfunktionswert des ursprunglichenOptimierungsproblems.

3.1. Dualitat linearer Programme. Wir betrachten jetzt ein linearesProgramm in der sog. Normalform

(30) minx≥0

cTx s.d. Ax = b.

Die zugehorige Lagrangefunktion ist nun

L(x,y) = cTx+ yT (b− Ax) = yTb+ (cT − yTA)x

fur x ∈ Rn+ und y ∈ Rm.

BEMERKUNG. Man beachte, dass in dieser Formulierungs des LPs die ”dualenVariablen“ y – wegen der Gleichheitsrestriktionen b − Ax = 0 im Vorzeichennicht beschrankt sind.

Die duale Lagrangefunktion ist

L2(y) = minx≥0

bTy + (cT − yTA)x =

−∞ wenn (cT − yTA) ≥ 0T

yTb wenn (cT − yTA) ≥ 0T

Das duale Lagrangeproblem kann im vorliegenden Fall also so formuliertwerden:

(31) max bTy s.d. ATy ≤ c.

3welche aus der schwachen Dualitat folgt!

Page 57: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

56 3. OPTIMALITATSBEDINGUGEN

MAN SIEHT: Das duale Problem ist wieder ein lineares Programm. Wirnennen es das zu (30) duale lineare Programm.

Schwache Dualitat impliziert fur jede zulassige Losung x von (30) undzulassige Losung y von (31):

bTy ≤ cTx.

(x,y) ist ein KKT-Punkt fur (30) (bzw. fur (31)), wenn gilt:(1) x ist eine zulassige Losung von (30).(2) y ist eine zulassige Losung von (31).(3) Die Zielfunktionswerte sind gleich: bTy = cTx.

Insbesondere finden wir bei linearen Programmen:• Ein KKT-Punkt lost immer zwei lineare Programme gleichzeitig

(namlich das primale und das duale).

3.2. Der Hauptsatz der linearen Programmierung.

SATZ 3.6 (”Hauptsatz der linearen Programmierung“). Fur das lineare Pro-gramm (30) (bzw. sein duales (31)) Gilt genau eine der drei Aussagen:

(1) Es existiert keine zulassige Losung.(2) Es existieren zulassige Losungen mit beliebig gutem Zielfunktions-

wert.(3) Es existiert (mindestens) ein KKT-Punkt (x,y) (und somit optima-

le Losungen von (30) und (31) mit demselben Zielfunktionswert.

Beweis. Wir betrachten die Aussagen von der dualen Seite und setzen

S := y ∈ Rm | ATy ≤ c = P (AT , c).

Im Fall des Stutzfunktonswerts δ(S, c) = −∞ gilt S = ∅ (d.h. Aussage 1 bzgl.(31)). δ(S, c) = +∞ entspricht Aussage 2.

δ(S,y) <∞ bedeutet im Fall S = ∅, dass (31) eine Optimallosung y besitzt. Ausden KKT-Bedingung wissen wir, dass dann auch eine Optimallosung x von (30)existiert und (x,y) ein KKT-Punkt ist.

KOROLLAR 3.4. Das lineare Programm (30) (bzw. das lineare Programm(31)) besitzt eine Optimallosung genau dann, wenn sowohl (30) als auch(31) zulassige Losungen besitzen.

Beweis. Die eine Richtung ist klar (welche?). Wir zeigen die andere Richtung derAquivalenzbehauptung. Seien x und y entsprechende zulassige Losungen. Dannist die Aussage 1 des Hauptsatzes unzutreffend. Nach der schwachen Dualitat giltausserdem

cTx ≥ bTy.

Page 58: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

4. BARRIEREMETHODEN 57

Die primale Zielfunktion ist also von unten und die duale Zielfunktion von obenbeschrankt. Damit scheidet auch Aussage 2 aus. Aussage 3 ergibt die Behauptung.

4. Barrieremethoden

Eine weitere Idee, ein Optimierungsproblem mit Nebenbedingungen auf einOptimierungsproblem ohne Nebenbedingungen zuruckzufuhren, besteht da-rin, durch eine Modifikation der Zielfunktion eine ”Barriere“ zu errichten,der einen etwaigen Losungsalgorithmus daran hindern wurde, uber den Zu-lassigkeitsbereich hinauszutreten.

Dazu gibt es verschiedene Ansatze. In dieser Vorlesung konzentrieren wiruns auf eine Methode, die sich vor allem in der linearen Programmierungbewahrt hat.

4.1. Die Frisch-Funktion. Wir betrachten ein Optimierungsproblemder Form

minx≥0

f(x) s.d. Ax = b

mit A ∈ Rm×n und b ∈ Rm.

Die zugeordnete Frisch-Funktion ist die Funktion

(32) fµ(x) = f(x)− µm∑i=1

lnxi,

mit einem frei zu wahlenden Parameter µ > 0. Tatsachlich ist fµ(x) nur fursolche x definiert, die in jeder Komponente xi strikt positiv sind. Je mehrsich x dem Rand des Gebietes

Rn+ = x ∈ Rn | x ≥ 0

nahert, ”explodiert“ fµ(x) gegen +∞. Ein Algorithmus, der fµ(x) mini-mieren will, wird sich also tunlichst im (strikten) Inneren von Rn

+ aufhaltenwollen.

Wir betrachten nun das Optimierungsproblem

minx>0

fµ(x) s.d. Ax = b

mit der Lagrangefunktion

Lµ(x,y) = fµ(x) + yT (b− Ax) (x > 0,y ∈ Rm+ ).

Page 59: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

58 3. OPTIMALITATSBEDINGUGEN

Die KKT-Bedingungen sind (weil wir im strikten Inneren von Rn+ optimie-

ren):

∂f(x)

∂xj

− µ

xj

−m∑i=1

yiaij = 0 (j = 1, . . . , n)

Ax = b

x > 0.

4.2. Lineare Zielfunktionen. Das lineare Programm

minx≥0

cTx s.d. Ax = b

ergibt nach dem Ansatz von Frisch das Problem

(33) minx>0

cTx− µm∑i=1

lnxi s.d. Ax = b

Das Problem (36) ist nicht mehr linear – aber immer noch zumindest kon-vex. Die KKT-Bedingungen kann man dann so schreiben:

(cj −m∑i=1

yiaij)xj = µ (j = 1, . . . , n)

Ax = b

x > 0.

Setzen wir weiter sT := cT − yTA zur Abkurzung, so erhalten wir dieKKT-Form

sjxj = µ (j = 1, . . . , n)

s+ ATy = c

Ax = b

s,x > 0.

Sei (x,y, s) ein KKT-Punkt. Dann gilt (Beweis?):(i) x ist eine zulassige Losung des ursprunglichen linearen Programms.

(ii) y ist eine zulassige Losung des dazu dualen linearen Programms.

Wie weit weicht cTx vom erzielbaren Optimalwert cTx∗ hochstens ab?

Die schwache Dualitat liefert folgende Abschatzung:

0 ≤ cTx− cTx∗ ≤ cTx− yTb = sTx = nµ.

Bei einem kleinen µ ≈ 0 ware also x eine schon fast optimale Losung!

Page 60: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

KAPITEL 4

Methoden der Linearen Programmierung

Wir betrachten ein lineares Programm in Normalform:

(34) min cTx s.d. Ax = b,x ≥ 0.

Dabei ist A ∈ Rm×n eine geeignete Koeffizientenmatrix und c ∈ Rn undb ∈ Rm sind geeignete Parametervektoren, die als bekannt vorausgesetztwerden.

MAN BEACHTE: Jedes lineare Programm ist aquivalent zu einem LP inNormalform, wenn wir zusatzliche nichtnegative Variablen einfuhren. ZumBeispiel haben wir

maxx∈S

cTx ←→ minx∈S

(−cT )xm∑i=1

aijxj ≤ bi ←→ zi +m∑i=1

aijxj = bi, zi ≥ 0.

Eine im Vorzeichen nicht beschrankte Variable xj kann durch die Differenzvon zwei nichtnegativen Variablen x+

j , x−j ersetzt werden:

xj = x+j − x−

j , x+j ≥ 0, x−

j ≥ 0.

1. Rationale lineare Programme

Ein lineares Programm heisst rational, wenn es mit ausschliesslich rationa-len Parametern ausgedruckt werden kann:

minx≥0

cTx s.d. Ax = b, A ∈ Qm×n, c ∈ Qn,b ∈ Qm.

Wenn wir die Restriktionsgleichungen und die Zielfunktion mit naturlichenZahlen multiplizieren, erhalten wir ein aquivalentes lineares Programm mitdemselben Losungsbereich. Deshalb durfen wir oBdA annehmen, dass einrationales LP in Normalform mit ganzzahligen Parametern vorliegt:

minx≥0

cTx s.d. Ax = b, A ∈ Zm×n, c ∈ Zn,b ∈ Zm.

(Andernfalls multiplizieren wir die Restriktionsungleichungen und die Ziel-funktion einfach mit geeigneten Hauptnennern durch.)

59

Page 61: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

60 4. METHODEN DER LINEAREN PROGRAMMIERUNG

In der Anwendungspraxis wird man es immer(!) mit rationalen linearen Pro-grammen zu tun haben, da irrationale Zahlen auf dem Computer immer ge-rundet werden mussen. Also machen wir furderhin die Annahme:

• Alle von jetzt an betrachteten linearen Programme sind rational.

Fur die Analyse durfen wir weitherhin oBdA annehmen, dass A vollen Zei-lenrang hat:

rgA = m.

(Sonst entfernen wir einfach linear abhangige Gleichungen bis ein linearunabhangiges System mit demselben Losungsraum erreicht ist.)

Im Fall n = rgA = m ist das lineare Programmierproblem trivial, da dannAx = b nur eine eindeutig bestimmte Losung x∗ = A−1b besitzt. Wirwerden also nur Probleme mit

m = rgA ≤ n− 1

genauer unter die Lupe nehmen mussen.

1.1. Komplexitat rationaler linearer Programme. Wir betrachten das(rationale) lineare Programm in Normalform

minx≥0

cTx s.d. Ax = b

mit A = [aij] ∈ Zm×n, c ∈ Zn und b ∈ Zm und rgA = m ≤ n − 1. Wirsetzen

γ(A, c,b) := mink ∈ N | |aij| < 2k, |cj| < 2k, |bi| < 2k fur alle i, j

und nennen γ = γ(A, c,b) die (numerische) Komplexitat des linearen Pro-gramms.

BEMERKUNG. γ(A, c,b) ist in etwa die Anzahl der Stellen, die benotigt werden,um die Koeffizienten von A, c und von b jeweils in Binardarstellung auszudrucken.

Die Komplexitat γ hilft uns, wichtige Grobabschatzungen der zu erwar-tenden Grosse der Koeffizienten einer Optimiallosung oder des Wertes derZielfunktion vorzunehmen. Dazu benutzen wir die folgende Beobachtung.

LEMMA 4.1. Sei A ∈ Zm×m eine beliebige Matrix und γ = γ(A). Danngilt entweder det A = 0 oder

1 ≤ |det A| < 2m(γ+log2 m).

Page 62: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

1. RATIONALE LINEARE PROGRAMME 61

Beweis. Wir betrachten die Determinatenformel

|det A| = |∑

π∈Πm

sgn(π)a1π(1) · · · amπ(m)| ≤∑

π∈Πm

|a1π(1) · · · amπ(m)|

wobei Πm die Menge aller Permuationen der Indexmenge 1, . . . ,m ist. Alsofinden wir (wegen m! ≤ mm):

|det A| < m!(2γ)m ≤ mm2γm = 2m(γ+log2 m).

Da A ganzzahlig ist, ist auch det (A) eine ganze Zahl. Im Fall det (A) = 0 habenwir folglich |det (A)| ≥ 1.

BEMERKUNG. Lemma 4.1 besagt, dass |det (A)| eine ”kleine“ Zahl ist. Liest mansie in Binardarstellung in den Computer ein, hat man nicht mehr als

log2(1 + |det (A)|) ≤ mγ +m log2m

Stellen zu berucksichtigen.

1.2. Komplexitat von Basislosungen. Sei z.B. x eine Basislosung. Dannexistiert eine (m×m)-Untermatrix AB mit der Eigenschaft

ABxB = b bzw. xB = A−1B b.

Rechnen wir die Komponenten von x nach der Cramerschen Regel aus, soergibt sich

xj =|det Aj

B||det AB|

fur alle j ∈ B(x).

Die ubrigen Komponenten sind xj = 0, wenn j ∈ N(x). AjB ist dabei die

Matrix, die man aus AB erhalt, wenn man die j-Spalte durch b ersetzt.

Damit ergibt sich fur die einzelnen Komponenten xj der Basislosung x:

xj = 0 oder 2−m(γ+log2 m) ≤ xj ≤ 2m(γ+log2 m).

Die nachste Beobachtung zeigt, dass wir bei rationalen linearen Program-men durchaus mit einer gewissen Fehlertoleranz rechnen durfen.

LEMMA 4.2. Seien x und x beliebige Basislosungen mit der Eigenschaft

|cTx− cT x| ≤ 1

4m(γ+log2 m)

Dann gilt cTx = cT x.

Page 63: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

62 4. METHODEN DER LINEAREN PROGRAMMIERUNG

Beweis. Es gibt ganze Zahlen c, D, c und D mit der Eigenschaft

cTx =c

Dund cT x =

c

Dund |D|, |D| < 2m(γ+log2 m).

Sind die beiden Zielfunktionswerte verschieden, so schliessen wir aus der Ganz-zahligkeit der Parameter:∣∣cTx− cT x

∣∣ = ∣∣∣∣∣cD − cD

DD

∣∣∣∣∣ ≥ 1

|DD|>

1

4m(γ+log2 m).

FOLGERUNG Ist x∗ eine Basislosung, deren Zielfunktionswert cTx∗ vomoptimalen Wert z∗ um hochstens

cTx∗ − z∗ ≤ 4−m(γ+log2 m)

abweicht, dann muss x∗ schon eine Optimallosung sein!

Ganz analog sieht man:

LEMMA 4.3. Sei x eine beliebige Basislosung. Dann gilt

|cTx| < 2(m+1)(γ+log2(m+1)).

Wegen m+ 1 ≤ n erhalten wir somit fur Basislosungen x und deren nicht-triviale Komponenten xj = 0 die Abschatzungen (im Parameter n):

2−n(γ+log2 n) ≤ xj ≤ 2n(γ+log2 n) und |cTx| < 2n(γ+log2 n)

2. Die Methode innerer Punkte (IPM)

Wir betrachten die Aufgabe, ein lineares Gleichungssystem in n nichtnega-tiven Unbekannten xj losen:

(35) Ax = b,x ≥ 0.

Zum Beispiel sind ja KKT-Systeme linearer Programme von diesem Typ.Wir nehmen oBdA b = 0 an. (Sonst ware ja x = 0 schon trivialerweiseeine Losung.)

Wir wissen, dass (35) eine Basislosung gestattet, falls uberhaupt eine Losungexistiert. Also brauchen wir nur nach Losungen x ≥ 0 zu suchen, derenKomponenten beschrankt sind:

xj ≤ 2m(γ+log2 m) (j = 1, . . . , n).

Page 64: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

2. DIE METHODE INNERER PUNKTE (IPM) 63

Somit durfen wir oBdA annehmen, dass der Losungsbereich ein Polytop ist.Ansonst wurden wir die Koordinatenbeschrankung einfach in die Problem-formulierung (35) mit zusatzlichen Variablen einbauen:

xj + zj = 2m(γ+log2 m) , zj ≥ 0.

Wir machen im Folgenden also (oBdA!) die Annahme, dass der zugehorigeRezessionskegel trivial ist, d.h.:

• Ax = 0 und x ≥ 0 impliziert x = 0.

2.1. Der Barriere-Ansatz. Wir machen einen (Barriere-)Ansatz mitder Frisch-Funktion und erweitern (35) ”kunstlich“ zu einem konvexen Op-timierungsproblem, bei dem wir zumindest schon eine zulassige Losungkennen:

(36)

min x0 − µ∑n

j=1 lnxj

s.d. A0x0 + Ax − bxn+1 = 0x0 + 1Tx + xn+1 = n+ 2x0 , x1, . . . , xn , xn+1 ≥ 0.

Hier ist µ > 0, 1T = (1, 1, . . . , 1) und A0 := b− A1. In der Tat ist

(x0, x1, . . . , xn+1) = (1, 1, . . . , 1)

offenbar eine zulassige Losung fur (36).

Wir suchen eine Losung x∗ = (x∗0, x

∗1, . . . , x

∗n, x

∗n+1) mit x∗

0 = 0. Einesolche Losung x∗ wird automatisch x∗

n+1 > 0 erfullen. Denn sonst hattenwir ja mit

(x∗1, . . . , x

∗n)

(wegen 1Tx∗ = n+ 2) einen nichttrivialen Vektor im Rezessionskegel von(35) vorliegen. Folglich ist dann auch der Vektor

(x′1, . . . , x

′n) mit x′

j := x∗j/x

∗n+1 (j = 1, . . . , n)

wohldefiniert und eine Losung des Ausgangsproblems (35). Gibt es einesolche Losung x∗ nicht, dann hat das Ausgangsproblem auch keine Losung.

Der einfacheren Notation halber schreiben wir (36) als

minx≥0

cTx− µ

n+1∑j=0

lnxj s.d. Ax = b

mit z.B.

cTx = x0 und b =

(0

n+ 2

).

Page 65: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

64 4. METHODEN DER LINEAREN PROGRAMMIERUNG

Mit s := c− ATy erhalten wir die KKT-Bedingung zu (36) als

(37)

xjsj = µ (j = 0, . . . , n+ 1)Ax = b

ATy + s = cx, s, ≥ 0

Diese wollen wir nun mit einem Iterationsverfahren im Geiste des Newton-verfahrens losen.

2.2. Der Iterationsschritt. Als ersten Schritt relaxieren wir das KKT-System (37) zu einem Gleichungsystem. Dazu lassen wir einfach die Un-gleichungen x ≥ 0 und s ≥ 0 weg und erhalten das (quadratische) System

(38)xjsj = µ (j = 0, . . . , n+ 1)Ax = b

ATy + s = c,

das wir fur ein gegebenes µ > 0 losen wollen. Seien Parametervektorenx,y, s gegeben, welche das folgende Gleichungssystem erfullen:

(39) Ax = bATy + s = c

NOTA BENE: Solche Parametervektoren gibt es immer! Wir konnen z.B. wahlen

x0 = (1, 1, . . . , 1)T

y0 = (0T ,−1)T und folglich (nachrechnen!):

s0 = (1T , 1, 2)T

und haben dann sogar auch noch x0 > 0 und s0 > 0 garantiert.

Dann erfullen x+ = x +∆x, y+ = y +∆y und s+ = s +∆s das System(38) genau dann, wenn das quadratische System(40)

∆xj∆sj + sj∆xj + xj∆sj = µ− sjxj (j = 0, . . . , n+ 1)A∆x = 0

AT∆y + ∆s = 0

erfullt ist. Als Linearisierung des Systems lassen wir einfach die quadra-tischen Terme weg und berechnen Vektoren ∆x,∆y und ∆s als Losungvon

(41)sj∆xj + xj∆sj = µ− sjxj (j = 0, . . . , n+ 1)

A∆x = 0AT∆y + ∆s = 0

LEMMA 4.4. Das System (41) besitzt immer eine Losung.

Page 66: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

2. DIE METHODE INNERER PUNKTE (IPM) 65

Beweis. Die zweite und dritte Zeile des System besagt:(1) ∆x liegt im Kern kerA von A.(2) ∆s liegt im Zeilenraum lin AT von A.

Die erste Zeile bedeutet: √s

x∆x+

√x

s∆s =

µ1− xs√xs

.

Wir betrachten nun die linearen Unterraume

U :=

√s

x∆x | ∆x ∈ kerA

V :=

√x

s∆s | ∆s ∈ lin AT

.

Offensichtlich gilt:

dimU = (n+ 2)− rgA und dimV = rgA.

Ausserdem sieht man leicht (nachrechnen!), dass die Vektoren in U und die Vek-toren in V zueinander orthogonal sind. Also sind U und V orthogonale Komple-mente:

U + V = Rn+2.

Folglich gibt es insbesondere Vektoren u ∈ U und v ∈ V derart, dass

u+ v =µ1− xs√

xs.

Wir wollen nun Bedingungen ableiten, unter denen die Konvergenz zu einerLosung der tatsachlichen KKT-Bedingungen garantiert werden kann.

BEMERKUNG. Der Name ”innere Punkte“ kommt daher, dass wir nur mit Losun-gen x > 0 und s > 0 arbeiten werden, bei denen alle(!) Komponenten sj bzw. xjecht positiv sind.

2.3. Konvergenzanalyse. Wir schreiben bekanntlich u > 0, wenn alleKomponenten ui echt grosser als 0 sind.

√u ist der Vektor mit den Kompo-

nenten√ui. Das Produkt uv der Vektoren u, und v definieren wir als den

Vektor mit den Komponenten uivi. Wir nehmen im folgenden x > 0 und ymit s = c− ATy > 0 als gegeben an.

Wir messen die Qualitat einer positiven approximativen Losung (x, s) mitdem Parameter

δ = δ(x, s, µ) =1

µ

∥∥∥∥xs− µ1√xs

∥∥∥∥2

=1

µ∥u+ v∥2.

Zur Analyse benotigen wir eine technische Hilfsaussage.

Page 67: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

66 4. METHODEN DER LINEAREN PROGRAMMIERUNG

LEMMA 4.5. Fur beliebige orthogonale Vektoren u,v ∈ Rk gilt:

∥uv∥ ≤ 1

2∥u+ v∥2.

Beweis. Wegen uTv = 0 gilt ∥u−v∥2 = ∥u+v∥2. Aus der allgemeinen Identitat

4αβ = (α+ β)2 − (α− β)2

folgt 4|ujvj | = |(uj + vj)2 − (uj − vj)

2| ≤ (uj + vj)2 + (uj − vj)

2 und somit

4∥uv∥ ≤ 4∑j

|ujvj | ≤ ∥u+ v∥2 + ∥u− v∥2 = 2∥u+ v∥2.

SATZ 4.1. Sei µ > 0 und δ = δ(x, s, µ) ≤ 1. Dann gilt

(a) x+ = x+∆x > 0 und s+ = s+∆s > 0.(b) δ+ = δ(x+, s+, µ) ≤ 1

2δ2.

Beweis. Nach Lemma 4.5 haben wir fur jede Komponente j:

|∆xj∆sj | = |ujvj | ≤ ∥uv∥ ≤1

2∥u+ v∥2 = 1

2µδ ≤ µ/2.

und folglich x+j s+j = µ+∆xj∆sj ≥ µ/2 > 0. Daraus ergibt sich (b):

δ+ =1

µ

∥∥∥∥x+s+ − µ1√x+s+

∥∥∥∥2 ≤ 1

µ

∥∥∥∥∥ uv√µ/2

∥∥∥∥∥2

≤ 2

µ2· 14∥u+ v∥4 = 1

2δ2.

Aussage (a) sieht man so ein: Ware x+j < 0, dann auch s+j < 0 (denn x+j s+j > 0).

Das ergabe aber wegen xj > 0 und sj > 0 den Widerspruch

µ = xjsj + xj∆sj + sj∆xj = xjs+j + sjx

+j − xjsj < 0.

Die Analyse zeigt bisher: Wenn man mit den Vektoren x0 > 0 und s0 > 0beginnt und dann nach Newton iteriert, so gilt

δ0 = δ(x0, s0, µ) ≤ 1 =⇒ δk = δ(xk, sk, µ) ≤ 1

2k→ 0

d.h. man hat Konvergenz xksk → µ1 und somit Konvergenz zu einer Losungvon (37).

Page 68: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

2. DIE METHODE INNERER PUNKTE (IPM) 67

2.4. Die erweiterte Methode IPM. Wir betrachten nun die Erweite-rung der Methode, wo in jedem Iterationsschritt zusatzlich µ zu θµ mit ei-nem geeigneten Faktor 0 < θ < 1 reduziert wird.

Wir nehmen δ(x, s, µ) ≤ 1 an und beobachten zunachst

(n+ 2)µ = (x+)T s+ = ∥√x+s+∥2.

Nun rechnet man

δ(x+, s+, θ) =1

θµ

∥∥∥∥x+s+ − θµ1√x+s+

∥∥∥∥2

=1

θµ

∥∥∥∥(1− θ)√x+s+ + θ

x+s+ − µ1√x+s+

∥∥∥∥2

=1

θµ

∥∥∥(1− θ)√x+s+

∥∥∥2

+1

θµ

∥∥∥∥θx+s+ − µ1√x+s+

∥∥∥∥2

=(1− θ)2

θ(n+ 2) + θδ(x+, s+, µ)

≤ (1− θ)2

θ(n+ 2) +

θ

2(Satz 4.1(b)).

BEMERKUNG. Die dritte Gleichheit folgt aus der Orthogonalitat der Vektoren(”Satz des Pythagoras“).

KOROLLAR 4.1. Fur θ∗ = 1− 1n+2

gilt:

δ(x+, s+, θ∗µ) ≤ 1

n+ 1+

θ∗

2≤ 1 :

2.5. Konvergenz. Seien x0,s0 so, dass δ(x0, s0, µ0 = 1) ≤ 1 erfullt ist.Dann ist nach K Iterationen des IPM-Algorithmus der momentane µ-Wert(θ∗)K und es gilt

limK→∞

(θ∗)K = 0.

Sei nun irgendein Prazisionsparameter ε > 0 vorgegeben. Dann ist der mo-mentane µ-Wert nach

(42) K =

⌈(n+ 2) · ln (n+ 2)

ε

⌉Iterationen kleiner als ε/(n + 2)1. Fur die entsprechende Iterationslosung(xK ,yK) gilt dann

1bei dieser Abschatzung benutzt man wieder die Ungleichung (1− 1/n)n ≤ 1/e.

Page 69: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

68 4. METHODEN DER LINEAREN PROGRAMMIERUNG

(43) 0 ≤ cTxK − bTyK = (xK)T sK ≤ ε.

2.6. Losung des Systems Ax = b,x ≥ 0. Sei γ die Komplexitat deslinearen Programms

(44) minx≥0

x0 s.d. Ax = b.

Eine optimale Basislosung x∗ von (44) hat die Eigenschaft

x∗0 = 0,

falls Ax = b uberhaupt eine nichtnegative Losung hat. Also genugt es, IPMsolange iterieren zu lassen bis ein Komponentenwert

xK0 <

1

2n(γ+log2 n)

erzielt ist. Danach sucht man eine beliebige Basislosung x∗ mit x∗0 ≤ xK

0

nach der schon fruher diskutierten Methode.• Im Fall x∗

0 = 0 ist das Problem gelost (wie anfangs schon gesehen).• Im Fall x∗

0 = 0 gibt es keine Losung.

Wahlen wir den Prazisionsparameter ε der IPM als

ε =1

2n(γ+log2 n),

dann zeigen (42) und (43), dass wir nach spatestens

K = ⌈(n+ 2)(log2(n+ 2) + n(γ + log2 n))⌉d.h. (grossenordnungsmassig)

K = O(n2(γ + log2 n))

Iterationen entweder unser Ziel erreicht haben oder wissen, dass keine Losungexistiert.

3. Die Ellipsoidmethode

Die Ellipsoidmethode versucht, einen Punkt in einer abgeschlossenen kon-vexen Menge C ⊆ Rn zu identifizieren. Dabei nehmen wir an, dass CLosungsmengeeines (hier moglicherweise unendlichen) linearen Unglei-chungssystem Ax ≤ b ist, dessen Zeilenindexmenge wir mit I bezeichnen:

C = x ∈ Rn | Ax ≤ b (A ∈ RI×n,b ∈ RI).

WIR NEHMEN AN: Es steht eine Subroutine2 SEP zur Verfugung, die beiEingabe eines Parametervektors x ∈ Rn folgendes produziert:

2eine sog. Separationsroutine fur C

Page 70: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

3. DIE ELLIPSOIDMETHODE 69

(i) Im Fall x ∈ C eine Ungleichung aTk x ≤ bk, die von x0 verletzt

wird (d.h. aTk x > bk);

(ii) Im Fall x ∈ C die Bestatigung, dass x eine zulassige Losung ist.

BEISPIEL 4.1. Sei I = 1, . . . ,m (d.h. C = P (A,b) ist ein Polyeder).Dann ist z.B. folgender Vorgang eine zulassige Separationsroutine:

• Man setzt x ein und pruft der Reihe nach die m UngleichungenaTi x ≤ bi, bis eine verletzte Ungleichung aT

k x > bk gefunden ist.Findet sich keine verletzte Ungleichung, so ist x ∈ C bestatigt.

Die Idee hinter der Ellipsoidmethode ist recht einfach:

• Man beginnt mit einem Ellipsoid E, das so gross ist, dass es Centhalt. Man testet den Mittelpunkt t ∈ E auf Zugehorigkeit zu C.• Im Fall (i) (d.h. aT

k t > bk) ersetzt man E durch ein kleineres El-lipsoid, das die Menge

E(a, b) = x ∈ E | aTk x ≤ bk ( ⊇ C ! )

enthalt und wiederholt den Vorgang bis ein x ∈ C gefunden ist.

BEMERKUNG. Die Frage erhebt sich, ob man nicht erfolgreich nach der gleich-ten Art mit anderen geometrischen Objekten (anstelle von Ellipsoiden) vorgehenkonnte. Es zeigt sich in der Tat, dass zum Beispiel spezielle Polytope (Simplexe)einen analogen Algorithmus gestatten3. Vom rechnerischen Standpunkt aus sindEllipsoide jedoch etwas einfacher zu untersuchen.

3.1. Ellipsoide. Ein Ellipsoid E ist definiert als das Bild der Einheits-kugel Bn ⊆ Rn unter einer affinen Transformation f(x) = Fx + t, wobeit ∈ Rn beliebig (aber fest) und F ∈ Rn×n invertierbar ist:

E = t+ Fx | xTx ≤ 1 = y ∈ Rn | (y − t)TQ−1(y − t) ≤ 1,wobei die Matrix Q = FF T positiv definit ist. t = f(0) ist der Mittelpunktvon E.

LEMMA 4.6. Sei f : Rn → Rn eine beliebige affine Transformation undS, T ⊆ Rn beliebige Mengen. Dann gilt:

((a) f(S) ist genau dann ein Ellipsoid, wenn S ein Ellipsoid ist.(b) S ⊆ T ⇐⇒ f(S) ⊆ f(T ).

Beweis. Ubung.

3vgl. U. Faigle et al. in: Math. Models of Oper. Research 46 (1997), 131-142.

Page 71: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

70 4. METHODEN DER LINEAREN PROGRAMMIERUNG

3.1.1. Das Lowner-Ellipsoid. Das Lowner-Ellipsoid4 ist das Bild EL

der Einheitskugel unter der affinen Transformation fL(x) = tL + FLx mit

tTL =

(1

n+ 1, 0, . . . , 0

), FL = diag

(n

n+ 1,

n√n2 − 1

, . . . ,n√

n2 − 1

).

LEMMA 4.7. Das Lowner-Ellipsoid EL enthalt alle Punkte x ∈ Bn mitnichtnegativer erster Koordinate x1 ≥ 0:

x ∈ Rn | xTx ≤ 1, eT1 x = x1 ≥ 0 ⊆ EL.

Beweis. Ubung.

BEMERKUNG. Man kann zeigen, dass EL das kleinste Ellipsoid ist, das die Men-ge x ∈ Rn | xTx ≤ 1, eT1 x ≥ 0 enthalt.

3.1.2. Das allgemeine Lowner-Ellipsoid. Wir betrachten ein allgemei-nes Ellipsoid

E = t+ Fx | xTx ≤ 1 = y ∈ Rn(y − t)TQ−1(y − t) ≤ 1und einen Halbraum H = P (aT , bt) = Rn mit bt = aT t (d.h. der Mittel-punkt t ∈ E liegt auf der zugehorigen Hyperebene). Wir suchen ein kleinesEllipsoid E ′, das die Menge

E(aT , bt) = y ∈ E | aTy ≤ btenthalt. Wir nehmen zuerst t = 0 (und somit bt = 0) an und setzen aT =−aTF . Fur y = Fx hat man dann

aTy ≤ 0 ⇐⇒ aTx ≥ 0

Wir setzen ferner r1 = a/∥a∥ und erganzen r1 zu einer Orthonormalbasis,die wir als Matrix R = [r1, . . . , rn] auffassen. Fur die Variablensubstitutionz = RTx finden wir somit

aTy ≤ 0 ⇐⇒ aTx ≥ 0 ⇐⇒ eT1 z ≥ 0.

Fur das aus dem Lowner-Ellipsoid EL abgeleitete Ellipsoid

E ′ = F (R(EL))

haben wir (wegen RT = R−1 und x = Rz) deshalb

(45) E(aT , 0) = Fx | x ∈ Bn, aTx ≥ 0

= FRz | z ∈ Bn, eT1 z ≥ 0 ⊆ E ′.

Im Fall t = 0 leistet naturlich das Ellipsoid

E ′ = t+ F (R(EL))

4Karl Lowner war 1928-1930 Mathematikprofessor in Koln.

Page 72: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

3. DIE ELLIPSOIDMETHODE 71

das Gewunschte.

3.1.3. Aufdatierungsformeln. Es stellt sich heraus, dass man zur Be-stimmung von E ′ die Matrix R im vorigen Abschnitt gar nicht explizit be-rechnen muss: Die positiv definite Strukturmatrix Q′ von E ′ kann direkt ausder Strukturmatrix Q von E und dem Vektor a gewonnen werden. Um dieszu sehen, schreiben wir die Strukturmatrix das Lowner-Ellipsoids EL als

QL = diag(

n2

(n+ 1)2,

n2

n2 − 1, . . . ,

n2

n2 − 1

)=

n2

n2 − 1

[I − 2

n+ 1e1e

T

].

Nun rechnet man

Q′ = (FRFL)(FRFL)T = FRQLR

TA

=n2

n2 − 1FR

[I − 2

n+ 1e1e

T1

]RTF T

=n2

n2 − 1

[FF T − 2

n+ 1FRe1e

T1R

TF T

]=

n2

n2 − 1

[Q− 2

n+ 1bbT

]mit

b = FRe1 =−1∥F Ta∥

FF Ta =−Qa√aTQa

.

Analog berechnet man den Mittelpunkt von E ′ als

t′ = t+1

n+ 1b .

3.2. Volumen. Wir definieren das Volumen einer kompakten konvexenMenge S ⊆ Rn als

vol(S) = maxv0,v1,...,vn∈S

|det (v1 − v0, . . . ,vn − v0)|.

Da det (x1, . . . ,xn) stetig ist, ist dieses Volumen fur kompakte Mengenwohldefiniert (und endlich). Ausserdem macht man sich (aufgrund des De-terminantenmultiplikationssatzes det (AB) = (det A)(det B)) sofort klar:

(0) S ⊆ T =⇒ vol(S) ≤ vol(T );(i) Fur jede affine Abbildung f(x) = t+ Fx gilt

vol(f(S)) = |det F | · vol(S) .

Page 73: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

72 4. METHODEN DER LINEAREN PROGRAMMIERUNG

BEMERKUNG. Dieser Volumenbegriff ist etwas schwacher als der in der Geome-trie ubliche. Er reicht aber fur unsere Zwecke vollig aus.

BEISPIEL 4.2. Sei Bn die Einheitskugel. Dann ergibt sich aus der Hada-mardschen Ungleichung

|det (v1 − v0, . . . ,vn − v0)| ≤n∏

i=1

∥vi − v0∥

die Abschatzung

vol(Bn) ≤ maxv0,v1,...,vn∈Bn

n∏i=1

∥vi − v0∥ ≤ 2n .

Mit dem Volumenbegriff konnen wir abschatzen, wie klein das Lowner-Ellipsoid E ′ im Vergleich zu dem Ausgangsellipsoid E ist. Wegen det R =±1 erhalten wir

vol(E ′)

vol(E)=|(det F )(det R)(det FL)|vol(Bn)

|det F |vol(Bn)= det FL,

wobei

det FL =n

n+ 1

(n2

n2 − 1

)(n−1)/2

=

(1− 1

n+ 1

)(1 +

1

n2 − 1

)(n−1)/2

Mit Hilfe der Ungleichung 1 + x ≤ ex finden wir nun

det FL ≤ e−1/(n+1) · e(n−1)/2(n2−1) = e−1/2(n+1) < 2−1/2(n+1)

und fassen zusammen:

volE ′ ≤ 2−1/2(n+1)volE

3.3. Der Ellipsoid-Algorithmus. Wir nehmen an, dass wir eine Zahlr > 0 kennen mit der Eigenschaft

C ⊆ E0 = x ∈ Rn | xTx ≤ r2.

Wir starten die Ellipsoidmethode mit dem Ellipsoid E0 und iterieren fol-gendermassen:

• Verletzt der Mittelpunkt tk des aktuellen Ellipsoids Ek die fur ab-geschlossene konvexe Menge C gultige Ungleichung aTx ≤ b,dann setzen wir bt = aT tk und wahlen als Ek+1 das entsprechen-de Lownerellipsoid

Ek+1 ⊇ Ek(a, bt) ⊇ C.

Page 74: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

3. DIE ELLIPSOIDMETHODE 73

PROPOSITION 4.1. Sei vol(C) > 0. Dann ist nach

K ≤ 2(n+ 1)[n+ n log2 r − log2 vol(C)]

Iterationen ein Ellipsoid EK gefunden mit Mittelpunkt tK ∈ C.

Beweis. Ist nach K Iterationen noch kein zulassiges tK ∈ C gefunden, so giltwegen C ⊆ EK :

0 < vol(C) ≤ vol(EK) ≤ 2−K/2(n+1)vol(E0) ≤ 2n log2 2r−K/(2(n+1)

und folglich log2 vol(C) ≤ n log2(2r)−K/2(n+ 1), d.h

K ≤ 2(n+ 1)[n+ n log2 r − log2 vol(C)].

Die Endlichkeit des Ellipsoidverfahrens ist nur im Fall vol(C) > 0 vonvornherein garantiert. Oft kann man im Fall vol(C) = 0 dieses Problemmit einem Kniff umgehen, der am Beispiel endlicher linearer Systeme mitrationalen Koeffizienten spater demonstriert wird5.

MAN BEACHTE: Wir haben noch nicht diskutiert, wie man die Ellipsoidme-thode uberhaupt startet (d.h. wie man das erste Ellipsoid der Iterationsfolgewahlen sollte! (Das kommt jetzt gleich.)

3.4. Nichtnegative Losung von linearen Gleichungssystemen. Wirwollen das folgende (rationale) lineare System losen:

(46) Ax = b, x ≥ 0 (A ∈ Zm×n, b ∈ Zm).

Das konnte man – wie schon beschrieben – mit der IPM. Wir wollen hierausfuhren, wie man das Problem auch mit der Elliposidmethode bewaltigenkonnte.

3.4.1. Die Basismethode. Wir wissen: Entweder hat (46) eine Basislosungoder es existiert uberhaupt keine Losung. Wir suchen nun eine Basislosungnach folgendem Prinzip:

• Entferne eine (beliebige) Spalte aus A und teste, ob das Restsystemnoch losbar ist.

(i) Wenn das Restsystem losbar ist, fahren wir in gleicher Weise mitdem Restsystem fort.

(ii) Wenn das Restsystem nicht losbar ist, so tritt die eben betrachte-te Spalte notwendigerweise in jeder zulassigen Basislosung aktivauf. Wir markieren nun diese Spalte und wahlen eine andere Spal-te, um wie eben vorzugehen.

5eine ausfuhrliche Diskussion der Ellipsoidmethode im Fall vol(C) = 0 findet sich indem Buch von Grotschel, Lovasz und Schrijver: GEOMETRIC ALGORITHMS AND COM-BINATORIAL OPTIMIZATION (Springer 1993)

Page 75: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

74 4. METHODEN DER LINEAREN PROGRAMMIERUNG

• Nach hochstens n Schritten ist eine linear unabhangige Spalten-menge AB gefunden. Die zugehorige (nun eindeutige!) Losungkann man nun (z.B. mit dem Gaussverfahren) durch Losen von

ABxB = b

ermitteln.

NOTA BENE: Bei dieser Vorgehensweise wird die Ellipsoidmethode nicht(!) be-nutzt, um eine konkrete Losung von (46) zu berechnen. Diese wird erst ganz amSchluss als Losung von ABxB = b bestimmt.

Die Ellipsoidmethode wird nur eingesetzt, um zu testen, ob gewisse Teilsystemevon (46) uberhaupt losbar sind. Jede andere effiziente Methode, die dieses leistet,konnte an dieser Stelle ebensogut verwendet werden!

3.4.2. Losbarkeit linearer Ungleichungssysteme. Wir uberlegen nun,wie man die Losbarkeit eines linearen Systems

(47) Ax ≤ b (A ∈ Zm×n,b ∈ Zm)

mit der Ellipsoidmethode testen kann. Wir bezeichnen dazu mit γ = γ(A,b)die Komplexitat des Systems. r := rg(A) sei der Rang der Matrix A. Furdiesen gilt bekanntlich:

r (= rg(A)) ≤ minm,n.

LEMMA 4.8. Entweder gilt P (A,b) = ∅) oder es gibt ein x ∈ P (A,b) mitKomponenten

|xj| ≤ r!(2γ)r < 2r log2 r+γr ≤ 2r(γ+log2 r) (j = 1, . . . , n).

Beweis. Mit der Einheitsmatrix I ∈ Rm×m betrachten wir das lineare System

(48) Au−Av + Iz = b , u,v, z ≥ 0 .

”Offenbar“ (Beweis?) entsprechen die x ∈ P (A,b) den Losungen (u,v, z) von(48) vermoge x = u − v. Im Fall P (A,b) = ∅ hat (48) eine Basislosung. Dieseerweist die Behauptung.

Wir durfen also oBdA annehmen, dass P (A,b) ein Polytop ist. (Sonstschreiben wir die Komponentenrestriktionen von Lemma 4.8 einfach nochdazu, ohne damit das Problem geandert zu haben.)

LEMMA 4.9. Entweder gilt vol(P (A,b) = 0 oder es gilt

vol(P (A,b)) >1

2(n+1)r(γ+log2 r)

Page 76: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

3. DIE ELLIPSOIDMETHODE 75

Beweis. Wir nehmen vol(P (A,b) > 0. Es gibt somit n + 1 Ecken v0, . . . ,vn

derart, dass die Differenzvektoren v1 − v0, . . . ,vn − v0 linear unabhanging sind.Somit gilt

vol(P (A,b)) ≥ |det (v1 − v0, . . . ,vn − v0)| =∣∣∣∣det

[1 . . . 1v0 . . . vn

]∣∣∣∣ .

Sei di der gemeinsame Nenner der Komponenten von vi (nach der CramerschenRegel). di ist der Wert der Determinante einer Untermatrix von A. Die Zahler ganzeZahlen sind. Folglich findet man:

vol(P (A,b)) ≥ 1

|d0d1 . . . dn|≥

(1

r!2γr

)n+1

>1

2(n+1)n(γ+log2 n).

Nun konnen wir die Ellipsoidmethode folgendermassen anwenden:(0) Wir wahlen E0 als die Kugel BR(0) mit Radius

R =

√√√√ n∑j=1

(2n(γ log2 n))2 =√n · 2n(γ+log2 n).

(E0 umfasst alle Ecken und folglich das gesamte Polytop P (A,b).)(i) Wir iterieren bis das momentane Ellipsoid EK ein Volumen

vol(EK) ≤1

2(n+1)n(γ+log2 n)

hat. (Entweder ist bis dahin ein Punkt in P (A,b) gefunden oderwir wissen, dass P (A,b) leer ist!)

UBUNG 4.1. Mit wieviel Iterationen kommt die Ellipsoidmethode im Fallvol(P (A,b)) = 0 aus?

Wir beobachten schliesslich, dass man das System Ax ≤ b immer zu einemSystem Ax ≤ b′ modifizieren kann mit der Eigenschaften:

• Ax ≤ b ist losbar genau dann, wenn vol(P (A,b′)) = 0.

FOLGERUNG:• Wir konnen die Losbarkeit von Ax ≤ b testen, indem wir die

Ellipsoidmethode auf das modifizierte System Ax ≤ b′ anwenden!

Nun zu den Details der letzten Beobachtung. Wir wahlen

ε = 1/Λ mit Λ = ⌈(n+ 1)2n(γ+log2 n)⌉und betrachten das System

Ax ≤ b+ ε1 bzw. ΛAx ≤ Λb+ 1.

Page 77: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

76 4. METHODEN DER LINEAREN PROGRAMMIERUNG

Offensichtlich haben wir:

P (A,b) = ∅ =⇒ vol(P (A,b+ ε1)) > 0.

LEMMA 4.10. Es gilt:

P (A,b) = ∅ ⇐⇒ vol(P (A,b+ ε1)) > 0.

Beweis. Die Richtung ”⇐“ der Behauptung ist noch zu beweisen. Wir nehmen an,dass Ax ≤ b nicht losbar ist (d.h. P (A,b) = ∅)). Nach dem Farkas-Lemma gibtes dann ein y ≥ 0 mit der Eigenschaft

yTA = 0T und yTb = −1.

OBdA durfen wir y als Basislosung annehmen. Es gibt also hochstens n+1 Kom-ponenten yi = 0. Fur diese gilt

yT (b+ ε1) = −1 +∑

i yiΛ

< −1 + (n+ 1)2n(γ+log2 n)

Λ≤ 0.

Wieder nach dem Farkas-Lemma erweist sich dann auch Ax ≤ b + ε1 als nichtlosbar.

4. Die Simplexmethode

Wir gehen wieder von einem LP in Normalform aus:

(49) minx≥0

cTx s.d. Ax = b (A ∈ Rm×n, c ∈ Rn,b ∈ Rm)

OBdA nehmen wir vollen Zeilenrang m = rgA an. Wir stellen uns vor,dass unser Optimierungsproblem gewisse ”Kosten“ minimieren will, undbeziehen uns deshalb auf c als den Vektor von Kostenkoeffizienten.

Das dazu duale lineare Programm ist:

(50) max bTy s.d. ATy ≤ c.

Die KKT-Bedingungen sind:

cTx = bTyAx = bATy ≤ cx ≥ 0

Wir wissen: Ein KKT-Paar (x∗,y∗) liefert gleichzeitig optimale Losungenfur beide lineare Programme.

Page 78: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

4. DIE SIMPLEXMETHODE 77

Die zentrale Idee des Simplexalgorithmus ist, die Ecken (d.h. die Basislosun-gen) der beiden Zulassigkeitsbereiche

P = x ∈ Rn | Ax = b,x ≥ 0P ∗ = y ∈ Rm | yTA ≤ cT

zu untersuchen.

4.1. Basen. Sei B = j1, . . . , jm ⊆ 1, . . . , n eine Indexmenge der-art, dass die aus den entsprechenden Spalten von A gebildete (m × m)-Matrix AB eine Spaltenbasis von A (bzw. AT

B eine Zeilenbasis von AT ) ist.Wir nennen oft kurz die Indexmenge B selber eine Basis.

Zur leichteren Notation setzen wir N = 1, . . . , n \B und bezeichnen mitcB den Teilvektor von c, der nur aus den B-Komponenten besteht etc. Wirordnen B die folgenden Kandidaten fur Optimallosungen zu:

x ∈ Rn mit xB = A−1B b, xN = 0N .

y ∈ Rm mit yT = cTBA−1B .

Dann gilt auf jeden Fall die Gleichheit

cTx = cTBxB + cTNxN = (ATBy)

TxB = yTABx = yTb.

Ausserdem beobachtet man(Z) x ∈ P ⇐⇒ xB ≥ 0B.

(Z∗) y ∈ P ∗ ⇐⇒ cTN − yAT ≥ 0TN .

LEMMA 4.11. Im Fall xB ≥ 0B ist x eine Basislosung von P . Umgekehrtexistiert zu jeder Basislosung x∗ ∈ P eine Basis B∗ ⊆ 1, . . . , n derart,dass

x∗B∗ = A−1

B∗b und x∗N∗ = 0.

Die analoge Aussage gilt fur Basislosungen von P ∗.

Beweis. Es gilt sicherlich B(x) ⊆ B. Ist AB eine Spaltenbasis von A, dann sindinsbesondere die Spalten in AB(x) linear unabhangig und x ∈ P ist folglich eineBasislosung.

Ist umgekehrt x∗ ∈ P eine Basislosung, so sind die Spalten der Matrix AB(x∗)

linear unabhangig und konnen somit zu einer Basis AB∗ des Spaltenraums von Aerweitert werden. Da das Gleichungssystem

AB(x∗)xB(x∗) = b und xN(x∗) = 0N(x∗)

eindeutig losbar ist (denn: x∗ ist Basislosung!), muss x∗ auch die eindeutige Losungsein von

AB∗xB∗ = b und xN∗ = 0N∗ .

Page 79: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

78 4. METHODEN DER LINEAREN PROGRAMMIERUNG

Ziel ist es nun, eine Basis B ⊆ 1, . . . , n (bzw. eine Spaltenbasis AB vonA) zu bestimmen, die sowohl Zulassigkeit bzgl. P als auch Zulassigkeitbzgl. P ∗ zur Folge hat. Denn wir wissen von den KKT-Bedingungen:

• Im Fall (i) x ∈ P (d.h. xB ≥ 0)und (ii) y ∈ P ∗ (d.h. cT = cT − yTA ≥ 0T )ist x eine primal optimale und y eine dual optimale Losung.

Die ”Simplexmethode“ ist eine Sammlung von systematischen Verfahren,um zu einer (in diesem Sinn) optimalen Basis B zu gelangen, indem mansich am bekannten Gauss-Algorithmus orientiert.

TERMINLOGIE: Ist B eine Basis, A = A−1B A und yT = cTBA, dann ist der

duale Schlupfvektor

cT = cT − cTBA = cT − yTA = cT − cTBA−1B A

der Vektor der sog. reduzierten Kosten. Wir suchen also eine primal zulassi-ge Basis B mit nichtnegativen reduzierten Kosten.

4.2. Das Simplextableau. Bezgl. einer Basis B fassen wir die Aus-gangsdaten des linearen Programms in einem Matrixschema zusammen:

z = cTxb = Ax

←→[

0 cTB cTNb AB AN

]Nun benutzen wir elementare Zeilenoperationen (genau wie beim Gauss-Verfahren der linearen Algebra!) um das Schema in die folgende Form zubringen (wobei IB = A−1

B AB die Einheitsmatrix ist):

(51)[−z 0T

B cTNb IB AN

]=

[−z cT

b A

]Das Schema (51) ist das Simplextableau zur Basis B. Aus der linearen Al-gebra (Gauss-Verfahren) ist nun klar:

(1) b = A−1b und A = A−1B A.

(2) z = cTBb.(3) cT = cT − cTBA = cT − (cTBA

−1B )A.

Im Fall b ≥ 0 ist das Tableau primal zulassig und im Fall cT ≥ 0T dualzulassig. Das Tableau ist optimal, wenn es primal und dual zulassig ist.

MAN BEACHTE: In der linken oberen Ecke des Simplextableaus steht der nega-tive Zielfunktionswert bzgl. der gerade betrachteten Basisvektoren x und y! Umdiesen ”Schonheitsfehler“ auszugleichen, findet man in der Literatur das Simplex-tableau oft mit den negativen Kostenkoeffizienten angegeben:[

0 −cTB −cTNb AB AN

]−→

[z 0TB −cTNb IB AN

]

Page 80: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

4. DIE SIMPLEXMETHODE 79

(Man kann diese zweite Version des Simplextableaus naturlich auch direkt von derDarstellung

z −cTx = 0Ax = b

her motivieren, wenn man mochte.)

TERMINOLOGIE. Die Variablen xj mit Index j ∈ B heissen Basisvariablen(bzgl. B). Die xj mit j ∈ N sind die Nichtbasisvariablen.

NOTA BENE. Bei einem Simplextableau gehen wir immer von einer Problem-formulierung vom Typ (49) aus. Insbesondere unterstellen wir automatisch, dasssamtliche Variablen xj nichtnegativ sein sollen.

4.3. Der primale Iterationsschritt. Wir betrachten die Zeilenvektorendes Simplextableaus (51):

α0 = (−z, c1, . . . , cn)αi = (bi, ai1, . . . , ain) (i = 1, . . . ,m)

Wir nennen das Tableau lexikographisch positiv, wenn jeder der Zeilenvek-toren αi mit i ≥ 1 lexikographisch positiv ist. Im lexikographisch positivenFall gilt naturlich insbesondere bi ≥ 0 fur i = 1, . . . ,m. Also:

• Ein lexikographisch positives Tableau ist primal zulassig.

Wir nehmen nun im weiteren an:(i) Das Tableau ist lexikographisch positiv.

(ii) Das Tableau ist nicht dual zulassig, d.h.es gibt eine Spalte j mit reduzierten Kosten cj < 0.

LEMMA 4.12. Enthalt die jte Spalte Aj = A−1B Aj (im primal zulassigen

Simplextableau) kein positives Element, dann ist das lineare Programm un-begrenzt (und es ist folglich sinnlos, nach einer ”Optimallosung“ zu su-chen).

Beweis. Im Fall Aj ≤ 0 betrachten wir ein beliebiges λ > 0 und setzen

x′j = λ

x′i = bi − aijλ (i ∈ B)

x′ℓ = 0 (ℓ ∈ N \ j).

Man macht sich leicht klar, dass x′ primal zulassig ist. Der Zielfunktionswert ist

cTx′ = cTBb− cTBAjλ+ cjλ = cTBb+ cjλ → −∞ (wenn λ→ +∞),

den cj ist ja als echt negativ angenommen.⋄

Page 81: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

80 4. METHODEN DER LINEAREN PROGRAMMIERUNG

Im Fall, wo Aj mindestens ein positives Element hat, wahlen wir nun einPivotelement akj > 0 nach der sog. primalen lexikographischen Regel, d.h.derart, dass gilt

(52)αk

akj= lexmin

αi

aij| aij > 0

.

ZUR ERINNERUNG: Das lexikographische Minimum einer Menge von Vektorenist der eindeutig bestimmte kleinste Vektor bzgl. der lexikographischen Ordnung.

Wir pivotieren darauf das Simplextableau mit ajk, d.h. wir berechnen einneues Matrixschema mit den Zeilen:

α′k = a−1

kj · αk

α′i = αi − aij · α′

k fur alle i = k.

Das neue Schema hat die Eigenschaften(1) In der Spalte j steht der Einheitvektor mit a′kj = 1.(2) In den Spalten ℓ ∈ B \ k der alten Basisindexmenge B stehen

unverandert die alten Einheitsvektoren.Damit sieht man:

• Das neue Schema ist genau das Simplextableau zur neuen Basis

B′ = (B \ k) ∪ j.

LEMMA 4.13. Pivotiert man ein lexikographisch positives Simplextableaumit negativem reduzierten Kostenkoeffizienten cj < 0 nach der primalenlexikographischen Regel, dann gilt

(1) Das neue Simplextableau ist wieder lexikographisch positiv.(2) Die Zeile α′

0 des neuen Tableaus ist lexikographisch echt grosserals die alte Zeile α0.

Beweis. Wegen akj > 0 bleibt die Zeile k lexikographisch positiv:

α′k = a−1

ij · αk.

Ansonsten hat man fur i = k:

α′i = αi −

aijakj

αk (lex. pos., falls aij ≤ 0)

= aij

[αi

aij− αk

akj

](lex. pos., falls aij > 0).

Daraus folgt (1) und im Spezialfall i = 0 wegen α0j = cj < 0 auch (2).⋄

Page 82: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

4. DIE SIMPLEXMETHODE 81

4.4. Der Algorithmus. Wenn einmal eine lexikographisch positive Ba-sis zur Verfugung steht, dann iteriert man nach der primalen lexikographi-schen Regel solange, bis man zu einer Basis B gekommen ist, bei der allereduzierten Kosten nichtnegativ sind. Eine Optimallosung ist dann gefun-den mit

xB = b und xN = 0N .

PROPOSITION 4.2. Iteriert man nach der primalen lexikographischen Re-gel, dann terminiert der Algorithmus nach endlich vielen Schritten.

Beweis. Findet man kein Pivotelement in Spalte Aj , dann stoppt man das Iterati-onsverfahren, weil man weiss, dass uberhaupt keine Optimallosung existiert.

Ansonsten erhalt man eine neue lexikographisch positive Basis B′ und ein Tableaumit einer lexikographisch echt grosseren Zeile α′

0. Da aber ein Tableau vollstandingvon der gerade betrachteten Basis bestimmt ist, bedeutet dies:

• Alle auftretenden Basen sind verschieden.Nun gibt es aber nur endlich viele verschiedene mogliche Basen. Also fuhrt manauch nur endlich viele Iterationen aus.

Der Algorithmus in der Praxis. Um den Rechenaufwand zu reduzieren,wahlt man das Pivotelement akj > 0 oft nach der vereinfachten Regel

(53)bkakj

= min

biaij| aij > 0

.

ABER VORSICHT: Bei dieser vereinfachten Regel kann es gelegentlich vor-kommen, dass eine Basis wiederholt auftritt, der Algorithmus also ”zykelt“.(In diesem Fall musste man dann auf die lexikographische Regel umschal-ten, um den Algorithmus zu einem Ende zu fuhren.)

4.5. Die 2-Phasen-Methode. Wie kommt man uberhaupt zu einer le-xikographisch positiven Basis B0, um den Simplexalgorithmus nach derprimalen Pivotregel ablaufen zu lassen?

Oft ergibt sich eine solche aus der Problemstellung. Man betrachte z.B. einLP der Form

min cTx s.d. Ax ≤ b,x ≥ 0

mit nichtnegativem b ≥ 0. (VORSICHT: Dieses ist noch nicht die vomSimplexalgorithmus erwartete Form!) Mit dem Schlupfvariablenvektor

x = b− Ax ≥ 0

erhalten wir nun das aquivalente Problem

min 0Tx+ cTx s.d. Ix+ Ax = b,x ≥ 0,x ≥ 0,

Page 83: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

82 4. METHODEN DER LINEAREN PROGRAMMIERUNG

das sofort auf das lexikographisch positive Simplextableau[0 0T cT

b I A

]mit Basismatrix I fuhrt.

4.5.1. Allgemeine Methode. Wir betrachten nun ein LP der Form

(54) min cTx s.d. Ax = b,x ≥ 0.

Dabei darf man oBdA b ≥ 0 annehmen. (Im Fall bi < 0 kann man jaeinfach die Zeile i mit (−1) multiplizieren, ohne den Losungsbereich zuverandern.) Mit dem Vektor von Hilfsvariablen

x = b− Ax

betrachten wir das Hilfs-LP

(55) min1Tx s.d. Ix+ Ax = b,x ≥ 0,x ≥ 0.

Bei diesem Hilfs-LP fuhrt die Basis I auf ein lexikographisch positivesSimplextableau. (55) kann also mit dem Simplexverfahren in endlicher Zeitgelost werden. Offenbar gilt

LEMMA 4.14. Das LP (54) besitzt eine zulassige Losung genau dann, wenndas Hilfs-LP (55) den Optimalwert 0 aufweist.

Bei einer Optimallosung von (54) mit Zielfunktionswert 0 mussen alle Hilfs-variablen xi den Wert 0 annehmen. Die aus dem Simplexverfahren fur (54)gewonnene optimale Basis B∗ erlaubt dann die Konstruktion einer geeigne-ten Startbasis B0 fur das Ausgangsproblem (54) in folgender Weise:

• Entferne alle Spalten bzgl. B∗, die zu Hilfsvariablen gehoren.• Erganze die restlichen Spalten in beliebiger Weise zu einer Spal-

tenbasis AB0 von A.• B0 fuhrt auf ein lexikographisch positives Simplextableau.

4.5.2. Methode. Wenn keine geeignete Startbasis sofort ersichtlich ist,durchlaufe man die Phase I:

(I) Ausgehend von der Form (54) lose man das Hilfs-LP (55).Hat das Hilfs-LP keine keine Optimallosung mit Zielfunktionswert 0, dannSTOPP. Andernfalls starte man nun Phase II:

(II) Konstruiere gemass Lemma 4.14 eine lexikographisch positive Ba-sis B0 und lose das tatsachliche lineare Programm (54) mit derSimplexmethode.

Page 84: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

4. DIE SIMPLEXMETHODE 83

Die 2-Phasen-Methode (+ lexikographische Pivotregel) zeigt:• Das Simplexverfahren kann grundsatzlich so implementiert wer-

den, dass es nach einer endlichen Anzahl von Pivotiterationen zueinem Ende gekommen ist.

4.6. Die duale Strategie. Wir nehmen nun an, die momentane Basis Bim Simplexverfahren ist dual zulassig, d.h. die reduzierten Kosten cℓ sindalle nichtnegativ (bzw. der Vektor y liegt in P ∗).

Ist Optimalitat noch nicht gegeben, existiert ein bk < 0. Wir suchen nunein Pivotelement akj (in der k-Zeile der gegenwartigen Simplextableaus)derart, dass

B′ = (B \ k) ∪ ℓwieder eine dual zulassige Basis ist. Wir wahlen die Spalte j (und folglichdas Pivotelement akj < 0) nach der Pivotregel

(56)cjakj

= maxℓ

cℓakℓ| akℓ < 0

LEMMA 4.15. Gilt akℓ ≥ 0 fur ℓ = 1, . . . , n, dann besitzt Problem (49)keine zulassige Losung. Ist der Index j gemass der Pivotregel (56) bestimmt,dann ist B′ = (B ∪ j) \ k dual zulassig.

Beweis. Eine zulassige Losung x1, . . . , xn ist nichtnegativ, also hatte man im Fallakℓ ≥ 0:

0 > bk =

n∑ℓ=1

akℓxℓ ≥ 0,

was nicht sein kann. Sei nun akj gemass (56) gewahlt. Datieren wir das Simplex-tableau wieder so auf, dass die jte Spalte zum jten Einheitsvektor wird, so ergibtsich die erste Zeile des aufdatieren Tableaus so:

• Subtrahiere cj mal die neue Zeile k vom reduzierten KostenvektorcT ≥ 0T .

Der neue Koeffizient in Spalte ℓ ist also

c′ℓ = cℓ − cjakℓ/akj ≥ 0.

BEMERKUNG. Um Endlichkeit des dualen Verfahrens zu garantieren, kann manwieder die Pivotregel durch eine lexikographische Ordnung verscharfen. Das gehtvollig analog zur primalen lexikographischen Regel und wird deshalb hier nicht imDetail ausgefuhrt.

Page 85: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

84 4. METHODEN DER LINEAREN PROGRAMMIERUNG

4.7. Die revidierte Simplexmethode. Es ist nicht notwendig, immerdas gesamte Simplextableau zu berechnen. Zu der Basis B ⊆ 1, . . . , nkann man die fur eine Iteration notwendige Information direkt aus den Aus-gangsparametern gewinnen:

• Berechne b = A−1B b als Losung der Gleichung ABx

′ = b.• Berechne yT = cTBA

−1B als Losung der Gleichung AT

By′ = cB.

Dann erhalten wir fur die reduzierten Kosten

cj < 0 ⇐⇒ cj − yTAj < 0 d.h. cj <

m∑i=1

yiaij.

Nun kann z.B. bei der primalen Strategie sofort ein Pivotelement akj nachder Regel (53) in der Spalte Aj = A−1

B Aj gewonnen und die Basisaufdatie-rung

B → B′ = (B ∪ j) \ kdurchgefuhrt werden. Diese frugale Version der Simplexmethode ist als re-vidierte Simplexmethode bekannt.

ANWENDUNGSBEISPIEL:

Das Schnittmusterproblem. Es seien Stoffballen der Lange ℓ gegeben. Da-von sollen bi Schnittstucke der Lange ℓi (i = 1, . . . ,m) gewonnen werden,sodass insgesamt moglichst wenig Ballen angeschnitten werden.

Zur Modellierung des Problems definieren wir als Schnittmuster einen Vek-tor a1

...am

mit ai ∈ N undm∑i=1

aiℓi ≤ ℓ.

Sei A die Matrix, deren Spalten samtliche moglichen Schnittmuster sind.Mit der Notation 1T = [1, 1, . . . , 1] ergibt sich das Schnittmusterproblemdann in Matrixform:

min1Tx s.d Ax = b,x ≥ 0 und ganzzahlig.

Wegen der Ganzzahligkeitsrestriktion ist dieses Problem kein lineares Pro-gramm. Wir betrachten deshalb statt dessen die zugeordnete LP-Relaxierung

(57) min1Tx s.d Ax = b,x ≥ 0,

die zumindest eine Untergrenze fur den gesuchten Optimalwert liefert. DieLosung hat typischerweise Komponenten, die nicht ganzzahlig sind. DurchRunden erhalt man daraus meist eine recht gute praktische Losung.

Da A sehr viele Spalten haben kann, ist ein explizites Auflisten nicht erstre-benswert. Wir losen (57) darum mit der revidierten Simplexmethode.

Page 86: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

4. DIE SIMPLEXMETHODE 85

Haben wir schon eine Basis B von Schnittmustern gefunden und den ent-sprechenden Vektor y berechnet, so ergibt die Suche nach einem Schnitt-muster mit negativen reduzierten Kosten das Problem, a1, . . . , am ∈ N zuermitteln mit der Eigenschaft

(58) 1 <

m∑i=1

yiai undm∑i=1

aiℓi ≤ ℓ.

BEMERKUNG. Problem (58) ist (wegen der Ganzzahligkeitsbedingung) ein sog.NP-schweres Problem, also theoretisch schwierig. (In der Literatur ist es als Knap-sack-Problem bekannt.) In der Praxis lasst sich dieses Problem aber sehr gut losen.

4.8. Sensitivitatsanalyse. Sei B eine primal zulassige Basis fur daslineare System

Ax = b,x ≥ 0.

FRAGE: Fur welche Zielfunktionsparameter c ∈ Rn ist die zu B gehorigeBasislosung x optimal?

Wir wissen: B ist optimal, wenn die reduzierten Kosten nichtnegativ sind:

cTN = cTN − cTBA−1B AN ≥ 0T bzw. (A−1

B A)TNcB − INcN ≤ 0N .

Die dieser Ungleichung genugenden c sind genau die Elemente des poly-edrischen Kegels

P ([(A−1B AN)

T ,−IN ],0).

Man kann daraus ablesen, welche Veranderungen der Zielfunktionspara-meter zulassig sind, wenn man weiterhin die Optimalitat einer gefundenenLosung garantieren will.

Ist B dual zulassig bzgl. den festen Zielfunktionsparametern c, so stellt sichdual die

FRAGE: Fur welche Restriktionsparameter b ∈ Rm ist die zu B gehorigeBasislosung x optimal?

Wir fragen also, wann b = A−1B b ≥ 0 gilt. Wieder erhalten wir die Ele-

mente eines polyedrischen Kegels:

P (−A−1B ,0).

Page 87: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

86 4. METHODEN DER LINEAREN PROGRAMMIERUNG

4.9. Die primal-duale Methode. Wir betrachten ein Paar dualer linea-rer Programme:

min cTxAx = bx ≥ 0

←→max yTb

yTA ≤ cT

Wir mochten nun das Konzept des komplementaren Schlupfes ausnutzen,um zu einer Optimallosung zu kommen.

ANNAHME: Wir haben schon (irgend)eine dual zulassige Losung y zurVerfugung und kennen einen Vektor x = [x1, . . . , xn]

T ≥ 0 mit der Ei-genschaft

xj > 0 =⇒ yTAj =m∑i=1

yiaij = cj (j = 1, . . . , n).

(Z.B. hat x = 0 trivialerweise diese Eigenschaft.) Dann wissen wir vomkomplementaren Schlupf: Im Fall Ax = b ist x primal zulassig und folglichoptimal.

Sei oBdA b ≥ 0. Im Fall b = 0 ist x = 0 optimal. Wir unterstellen deshalbm∑i=1

bi > 0.

Sei A die Teilmatrix aller Spalten Aj von A mit der Eigenschaft

yTAj =m∑i=1

aijyi = cj.

Wir betrachten das zugeordnete linearer Optimierungsproblem

(59)min 1Tz

Au+ Iz = bu, z ≥ 0

Dieses Problem (59) hat immer I als primal zulassige Anfangsbasis undkann somit mit der primalen Strategie gelost werden. Sei (u∗, z∗) eine Op-timallosung.

Im Fall ζ∗ = 1Tz∗ = 0, ist x = (u∗, z∗) = (u∗,0) primal zulassig furdas Ausgangsproblem. Nach Wahl von A erfullt x die komplementarenSchlupfbedingungen und ist folglich optimal.

Im Fall ζ∗ > 0 betrachten wir die dual optimale Losung w von (59). Dieseerfullt

ζ∗ = bTw und ATw ≤ 0,w ≤ 1.

Page 88: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

4. DIE SIMPLEXMETHODE 87

Fur jede Spalte Aℓ der Ausgangsmatrix A, die nicht zu A gehort, haben wirnach Definition von A:

ATℓ y < cℓ.

Also erfullt der Vektor y′ = y + εw die duale Zulassigkeitsbedingung

ATy′ ≤ c fur ein genugend kleines ε > 0,

aber liefert einen besseren Zielfunktionswert als y:

bty′ = bTy + εbTw = bTy + εζ∗ > bTy.

Wir konnen nun in gleicher Weise mit y′ anstelle von y verfahren.

FAZIT:

Eine Iteration der primal-dualen Methode liefert entweder eine Optimallosung(Fall ζ∗ = 0) oder eine dual zulassige Losung mit echt besserem Zielfunk-tionswert (Fall ζ∗ > 0).

Bestimmung einer dualen Startlosung. Es bleibt die Frage, wie man zuAnfang der primal-dualen Methode ein dual zulassiges y erhalt. Das hangtvon der Matrix A und dem Vektor c ab. Im Fall c ≥ 0 kann man z.B.trivialerweise mit y = 0 starten.

Ablesen einer dualen Optimallosung. Die primal-duale Methode ist vomSimplexstandpunkt aus einfach. Das lineare Hilfprogramm (59) hat ja in Ieine sofort verwendbare primal zulassige Basis, mit der die primale Iterati-onsmethode gestartet werden kann.

Im Fall ζ∗ > 0 kann man eine duale Optimallosung sofort aus dem optima-len Simplextableau ablesen:

Sei namlich dT = (0T ,1T ) der Zielfunktionskoeffizientenvektor von (59).Dann steht im optimalen Tableau in der 0-Zeile uber den Spalten, die denz-Variablen entsprechen, der reduzierte Kostenvektor

dT

z = dTz −wT I = 1T

z −wT .

Also berechnen wir aus dem reduzierten Kostenvektor:

w = 1z − dz.

Da d im optimalen Tableau nichtnegativ ist, schliessen wir ausserdem:

w ≤ 1z.

BEMERKUNG. Uber den u-Variablen steht im optimalen Tableau auch ein nicht-negativer reduzierter Kostenvektor. Also:

dTu = dT

U −wT A = 0Tu−wT A ≥ 0Tu .

Page 89: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

88 4. METHODEN DER LINEAREN PROGRAMMIERUNG

Daraus sieht man auch sogleich:

ATw ≤ 0.

Page 90: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

KAPITEL 5

Unimodulare lineare Programme

Wir betrachten hier eine Klasse von linearen Programmen mit der schonenEigenschaft, dass Basislosungen automatisch ganzzahlige Komponenten ha-ben.

1. Unimodulare und total unimodulare Matrizen

1.1. Unimodulare Matrizen. Wir nennen eine (ganzahlige) Matrix B ∈Zk×k unimodular, wenn gilt

|det B| = 1 d.h. det B = +1 oder det B = −1.

Die Grundbeobachtung ist diese:

LEMMA 5.1. Sei B unimodular und b ∈ Zk beliebig. Dann hat der Vektor

b = B−1b

ausschliesslich ganzzahlige Komponenten bj .

Beweis. b ist die eindeutige Losung der linearen Gleichung Bx = b. Nach derCramerschen Regel erhalten wir fur die j-te Komponente:

|bj | =|det Bj ||det B|

= |det Bj |.

Bj ist die Matrix, die man aus B erhalt, wenn man die j-te Spalte durch b ersetzt.Wegen Bj ∈ Zk×k ist die Determinante ganzzahlig.

1.2. Total unimodulare Matrizen. Eine Matrix A = [aij] ∈ Rm×n

heisst total unimodular, wenn fur jede quadratische Untermatrix B von Agilt:

det B ∈ −1, 0,+1.Da die Matrixkoeffizienten aij (1× 1)-Untermatrizen darstellen, muss alsoinsbesondere gelten:

aij (= det aij) ∈ −1, 0 + 1.Diese Bedingung ist allerdings fur totale Unimodularitat i.a. nicht hinrei-chend.

89

Page 91: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

90 5. UNIMODULARE LINEARE PROGRAMME

BEISPIEL 5.1. Man betrachte die Matrizen

A1 =

[1 11 2

], A2 =

[1 −11 1

], A3 =

[1 −1−1 1

].

A1 ist unimodular aber nicht total unimodular. A2 ist nicht unimodular. A3

ist total unimodular.

Aus der Definition folgt sofort:• Jede Untermatrix einer total unimodularen Matrix ist total unimo-

dular.• A ist total unimodular ⇐⇒ AT ist total unimodular.• A ist total unimodular ⇐⇒ −A ist total unimodular.

Wichtige Beispiele total unimodularer Matrizen kann man so konstruieren:

SATZ 5.1. Sei A = [aij] ∈ −1, 0+1m×n eine Matrix mit der Eigenschaft:(i) Jede Spalte Aj enthalt hochstens zwei Koeffizienten aij = 0.

(ii) Fur jede Spaltensumme gilt

−1 ≤m∑i=1

aij ≤ +1.

Dann ist A total unimodular.

Beweis. Sei B eine quadratische Untermatrix von A. Enthalt B keinen Einheits-vektor (oder sein Negatives) als Spalte, so sind die Spaltensummen 0. D.h. B hatnicht vollen Rang und somit det B = 0.

Sei also oBDA ein Einheitsvektor e ein Spalte von B. Entwickeln wir det B nachdieser Spalte, so ergibt sich

det B = ±1 · det B′,

wobei B′ die entsprechende Teilmatrix von B ist. B′ ist kleiner als B. Also schlies-sen wir ”per Induktion“:

det B′ ∈ −1, 0,+1 und folglich det B ∈ −1, 0,+1.

Auf die gleiche Weise macht man sich leicht klar:• Erweitert man eine total unimodulare Matrix A mit einem Ein-

heitsvektor e oder −e als neue Spalte, so ist die resultierende Ma-trix [A,±e] auch total unimodular.• Erweitert man eine total unimodulare Matrix mit einem Einheits-

vektor eT oder−eT als neuer Zeile, so erhalt man wieder eine totalunimodulare Matrix.

Page 92: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

1. UNIMODULARE UND TOTAL UNIMODULARE MATRIZEN 91

1.3. Inzidenzmatrizen. Ein Graph G besteht aus einer (hier: endli-chen) Menge V von Knoten und einer (hier: endlichen) Menge E von Kan-ten und einer Inzidenzrelation

Γ ⊆ V × E

so, dass fur alle e ∈ E gilt:(G) 1 ≤ |Γ(e)| ≤ 2, wobei Γ(e) := v ∈ V | (v, e) ∈ Γ.

Im Fall |Γ(e)| = 1 ist e eine sog. Schlinge von G. Im Fall Γ(e) = v, wsind v und w die sog. Endpunkte der Kante e.

BEMERKUNG. Fur v ∈ V definiert man Γ(v) := e ∈ E | (v, e) ∈ Γ als dieMenge der mit dem Knoten v inzidenten Kanten. Abhangig von G kann |Γ(v)|beliebig gross werden. Im Fall Γ(v) = ∅ heisst der Knoten v isoliert.

Wir konnen G orientieren, indem wir bei einer Kante e mit Γ(e) = v, weinen der der Endpunkte als ”positiv“ und den anderen als “negativ“ auszei-chen. Das heisst, wir ordnen der Kante e (willkurlich) Inzidenzkoeffizientenav,e, aw,e ∈ −1, 0,+1 zu derart, dass

(60) av,e + aw,e = 0 fur alle e ∈ E.

BEMERKUNG. im Fall aw,e +1 und av,e = −1 kann man sich (wenn man will) eals Pfeil vorstellen, der von v nach w gerichtet ist:

ve−→ w.

Fur die resultierende Inzidenzmatrix A = [av,e] ∈ RV×E gilt dann offen-

sichtlich (nach Satz 5.1:• Die Inzidenzmatrix A des (orientierten) Graphen G ist total uni-

modular.

Naturlich kann man auch eine (oder mehrere) der Kanten e umorientieren:

(av,e, aw,e) → (a′v,e, a′w,e) = (aw,e, av,e).

Die resultierende Inzidenzmatrix A′ entsteht A dadurch, dass die Spaltender umorientierten Kanten mit (−1) multipliziert werden. Wichtig ist dabeidie Beobachtung:

• Bei einer Umorientierung ander sich die lineare Abhangigkeits-struktur der Inzidenzmatrix nicht!

Folglich konnen wir unproblematisch den Rang des Graphen G als denRank (irgendeiner) seiner Inzidenzmatrizen A definieren:

(61) rg(G) := rg(A).

Page 93: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

92 5. UNIMODULARE LINEARE PROGRAMME

1.4. Wege und Walder. Ein Weg (oder Pfad) im Graphen G = (V,E)ist eine Folge von Knoten und Kanten

P = v0e1v1e2v2 . . . vk−1ekvk

mit Γ(ei) = vi−1, vi fur alle i = 1, . . . , k. Im Fall vk = v0 ist der Weg Pgeschlossen

Eine Kantenteilmenge T ⊆ E, die keinen geschlossenen Weg enthalt ist einsog. Wald. Ein Wald, der alle nichtisolierten Knoten von G beruhrt, heisstaufspannend.

SATZ 5.2. Eine Teilmenge T ⊆ E ist ein Wald von G, genau dann, wenn dieT entsprechenden Spalten der Inzidenzmatrix A linear unabhangig sind.

Beweis. Man macht sich leicht klar, dass die Spaltensumme der Kanten eines ge-schlossenen Wegs den Nullvektor ergibt (Beweis?). Folglich kann eine linear un-abhangige Spaltenmenge keine Teilmenge umfassen, die zu einem geschlossenenWeg gehort.

Sei umgekehrt T eine Menge von Spalten derart, dass entsprechende Spaltenteil-matrix AT der Inzidenzmatrix linear abhangig ist. Wir wahlen T so klein wiemoglich (unter der linearen Abhangigkeitsbedingung) und bezeichnen mit V (T )die Menge der Endknoten von T . Wir wollen zeigen, dass GT = (V (T ), T ) einengeschlossenen Weg enthalt.

Sei e1 ∈ T und v0, v1 = G(e1). v1 muss Endpunkt einer Kante e2 ∈ T sein,da sonst die Kante e1 von T \ e1 in der Inzidenzmatrix linear unabhangig ware!(Das wurde der Minimalitat von T widersprechen.)

So durchschreitet man der Reihe nach einen Weg

v0e1v1e2v3 . . .

Da es nur endlich viele Knoten gibt, erreicht man nach endlichen vielen Schrit-ten einen Knoten, den man schon vorher besucht hatte. Damit ist der behauptetegeschlossene Weg nachgewiesen.

KOROLLAR 5.1. Ein Wald T des Graphen G ist genau dann aufspannend,wenn gilt

|T | = rg(G).

Beweis. Gabe es einen nichtisolierten Knoten v, der mit keiner Kante in T inzi-diert, dann auch eine Kante e ∈ E mit v ∈ Γ(e), die von T linear unabhangig ist.Also ist T ∪ e in der Inzidenzmatrix A linear unabhangig und folglich

|T |+ 1 ≤ rg(G).

Sei umgekehrt T aufspannend. Es gabe aber eine von T linear unabhangige Kantee. Wir wollen daraus einen Widerspruch ableiten.

Page 94: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

2. TOTAL UNIMODULARE LINEARE PROGRAMME 93

Dazu teilen wir V in die maximalen Blocke V1, . . . , Vk von Knoten auf, die paar-weise durch Wege verbunden sind. e kann also nicht zwischen zwei verschiedenenBlocken verlaufen. Andererseits kann aber e auch nicht zwei Knoten innerhalb ei-nes Blockes verbinden (da sonst T ∪e einen geschlossenen Weg enthielte). Alsokann es eine solche Kante e nicht geben.

2. Total unimodulare lineare Programme

Wir betrachten das LP

(62) minx≥0

cTx s.d. Ax = b

und nehmen an, dass die Matrix A ∈ Rm×n total unimodular ist.

Ist b ganzzahlig, dass folgern wir (wieder aus der Cramerschen Regel), dassjede Basislosung des linearen Programms ganzzahlige Komponenten hat.

Das dazu duale LP ist

(63) maxbTy s.d. ATy ≤ c.

Da auch AT total unimodular ist, folgern wir auf die gleiche Weise, dassjede Basislosung des LP (63) ganzzahlige Komponenten hat – sofern derParametervektor c ganzzahlig ist. Denn das Problem ist aquivalent zu

maxbTy s.d. ATy − ATw + Is = c und y,w ≥ 0, s ≥ 0.

Die Koeffizientenmatrix [AT ,−AT , I] des letzteren LP ist namlich total uni-modular.

Das Ganzzahligkeitsmodell kann noch weiter verallgemeinert werden, in-dem wir zustzlich Untergrenzen l und Obergrenzen u fur die Variablen ge-statten. Wir betrachten dann z.B. ein LP der Art

max cTx s.d. Ax ≤ b und l ≤ x ≤ u.

Die Basislosungen auch dieses LP sind ganzzahlig, sofern b, l und u ganz-zahlige Parametervektoren sind. Denn wir konnen die Restriktionen mit ei-ner einer total unimodularen Koeffizientenmatrix so ausdrucken: A

I−I

x ≤

bu−l

.

Page 95: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

94 5. UNIMODULARE LINEARE PROGRAMME

2.1. Zuordnungsprobleme. Seien S und T zwei disjunkte (endliche)Mengen. Jedem s ∈ S steht eine Quantitat bs zur Verfugung. Jedes t ∈ Tsoll eine vorgeschriebene Quantitat dt erhalten. Wir nehmen an, dass der

”Transport“von xst ≥ 0 Einheiten von s nach t die Kosten cstxst verursacht.

Wir modellieren die Suche nach einem kostenminimalen Transportmodusmit dem Graphen G = (S ∪ T,E = S × T ), dessen Kanten (s, t), wir alsvon s nach t orientiert interpretieren. Dann ergibt sich das lineare Programm

minxst≥0

∑(s,t)

cstxst s.d.∑t∈T

−xst ≥ −bs ∀s ∈ S

∑s∈S

xst ≥ dt ∀t ∈ T.

mit einer total unimodularen Koeffizientenmatrix. Also finden wir:• Sind die bs und dt ganze Zahlen, dann ist jede Basislosung des

Transportproblems ganzzahlig.

Ein Spezialfall ergibt sich aus dem sog. (bipartiten) Matchingproblem: Wirsuchen eine Menge M von paarweise disjunkten ”Kanten“ (s, t) ∈ S × Tderart, dass der Wert

w(M) =∑

(s,t)∈M

w(s, t)

moglichst gross ist. Dabei ist w : S × T → R eine vorgegebene Bewer-tungsfunktion der Kanten.

Dazu betrachten wir das lineare Programm

maxxst≥0

∑(s,t)

wstxst s.d.∑t∈T

−xst ≥ −1 ∀s ∈ S

∑s∈S

xst ≤ 1 ∀t ∈ T.

Eine optimale Basislosung x ist ganzzahlig und hat deshalb alle Komponen-ten xst ∈ 0, 1. Man macht sich leicht klar, dass eine Basislosung einemMatching entspricht (und umgekehrt!).

2.2. Kurzeste Wege. Sei G = (V,E) ein gerichteter (d.h. orientierter)Graph mit Inzidenzmatrix A. Der Weg

P = v0e1v1e2v3 . . . vk−1ekvk

heisst gerichtet, wenn jede der Kanten ei ∈ P vom Endknoten vi−1 zumEndknoten vi orientiert ist. Ausserdem sei mit d : E → R+ eine Distanz-funktion gegeben, welche die ”Lange“ einer Kante angibt. Wir definieren

Page 96: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

2. TOTAL UNIMODULARE LINEARE PROGRAMME 95

die Lange von P

d(P ) := d(e1) + d(e2) + . . .+ d(ek).

Seien s, t ∈ V vorgegeben. Wir suchen einen gerichteten Weg kurzesterLange von s nach t.

Dazu betrachten wir das lineare Programm

(64) minx≥0

∑e∈E

dexe s.d Ax = b,

wobei b ∈ RV der Vektor ist mit den Komponenten

bv =

−1 fur v = s1 fur v = t0 sonst.

Jeder gerichtete Weg

P = se1v1e2v3 . . . vk−1ekt

ergibt eine zulassige Losung x(P ) des linearen Programms mit den Kompo-nenten

x(P )e =

1 fur e ∈ P0 sonst.

LEMMA 5.2. Sei x ≥ 0 eine Basislosung des linearen Programms (64),dann enthalt die Menge

tr(x) = e ∈ E | xe > 0einen gerichteten Weg von s nach t.

Beweis. Den behaupteten Weg kann man leicht konstruieren. Wegen∑e

asexe = bs = 1

gibt es eine Kante e1 ∈ tr(x) mit Γ(e1) = s, v1. Im Fall v1 = t, ist der Weggefunden. Ansonsten gibt es wegen

xe1 +∑e =e1

av1exe =∑e

av1exe = bv1 = 0

eine Kante e2 ∈ tr(x) mit Γ(e2) = v1, v2. Im Fall v2 = t ist der Weg gefunden.Ansonsten folgt man einer Kante e3tr(x) mit Γ(e3) = v2, v3 usw.

Nach endlich vielen Schritten muss man t erreicht haben, da tr(x) keine geschlos-senen Wege enthalt.

BEMERKUNG. Man kann sich leicht davon uberzeugen, dass bei einer zulassigenBasislosung x der Trager tr(x) schon den Weg s nach t darstellt.

Page 97: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

96 5. UNIMODULARE LINEARE PROGRAMME

2.2.1. Dijkstras Algorithmus. In der Praxis wird man einen kurzestenWeg nicht mit allgemeiner LP-Software als Losung von (64) berechnen,sondern ein auf das Problem speziell zugeschnittenes Verfahren benutzen.Es gibt viele solcher Verfahren. Eines der effizientesten ist der folgendeAlgorithmus von Dijkstra.

OBdA gehen wir davon aus, dass es von einem Knoten v zu einem Knotenw hochstens eine Kante e gibt, die wir somit als das Knotenpaar (v, w) ein-deutig darstellen konnen. Wenn von v nach w keine Kante existiert, setzenwir

dvw =∞.

Dijkstras Algorithmus berechnet die kurzesten Wege von s zu allen ubrigenKnoten. Man stoppt naturlich, sobald man t erreicht hat.

(D0) Setze ys ← 0, S ← s und yv ← dsv fur alle v ∈ V \ S.(D1) Solange t /∈ S gilt, wahle ein v ∈ V \ S mit minimalem yv,

setze S ← S ∪ v und datiere auf:

yw ← minyw, yv + dvw fur alle w ∈ V \ S.

Man sieht leicht per Induktion (uber |S|):

LEMMA 5.3. In jedem Stadium des Algorithmus von Dijkstra gilt:

• Die Werte yv der Knoten v ∈ S geben genau die minimaleEntfernung von s nach v an.

Aus der Dijkstra-Losung y lasst sich leicht ein kurzester Weg von s nach tdurch ”Zuruckrechnen“ gewinnen:

Man beginnt bei t und sucht ein v1 ∈ S \ t mit

yt = yv1 + dv1,t.

Nun sucht man ein v2 ∈ S \ t, v1 mit

yv1 = yv2 + dv2,v1

usw., bis man bei s angelangt ist.

Page 98: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

3. ZIRKULATIONEN UND DAS MAX-FLOW-MIN-CUT-THEOREM 97

3. Zirkulationen und das MAX-Flow-MIN-Cut-Theorem

Der einfacheren Notation halber nehmen wir hier an, dass die Kanten desgerichteten Graphen G = (V,E) genau den Knotenpaaren entsprechen.D.h.

E = V × V.

Ein Fluss auf G ist ein Vektor x ∈ RE . Der (Netto-)Durchfluss von x imKnoten v ist

δv(x) =∑w∈V

xvw −∑u∈V

xuv =∑e∈E

av,exe,

wobei A = [av,e] die Inzidenzmatrix von G ist. Der Vektor aller Knoten-durchflusse ist somit in Matrixnotation

δ(x) = Ax.

Sind alle Nettodurchflusse 0, so ist x eine sog. Zirkulation auf G. D.h.

x ist Zirkulation ⇐⇒ x ∈ kerA.

Sei nun f = (t, s) ∈ E eine festgewahlte Kante und x eine Zirkulation aufG = (V,E). Stellen wir uns vor, dass die Kante f in G blockiert wird. Dannstellen die ubrigen Kantenflusswerte xe (e = f ) einen Fluss auf

Gf = (V,E \ f)

dar, wo in s ein Nettoabfluss und bei t ein Nettozufluss in Hohe von xf

stattfindet. Mit anderen Worten:

• Die Einschrankung von x auf Gf beschreibt den Transport eines

”Gutes“ der Quantitat xf von der Quelle s zur Senke t entlang denKanten von Gf , wobei bei keinem Knoten v ∈ V \ s, t etwasverloren geht oder hinzugewonnen wird.

Unter der Annahme, dass jede Kante e ∈ E \ f einer Kapazitatsschrankece ≥ 0 unterliegt, sucht man im Ford-Fulkerson-Problem nach einer nicht-negativen Zirkulation x, die den Transportwert xf maximiert:

(65)max xf

s.d. δv(x) = 0 fur alle v ∈ V0 ≤ xe ≤ ce fur alle e ∈ E \ f

Das zugehorige duale lineare Programm ist:

Page 99: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

98 5. UNIMODULARE LINEARE PROGRAMME

(66)

min∑e∈E

ceze

s.d. yw − yv + ze ≥ 0 fur alle e = (v, w) = fys − yt + zf ≥ 1

ze ≥ 0.

3.1. Augmentierende Wege und Schnitte. Sei x ≥ 0 eine zulassigeLosung von (65). Wie konnte man diese verbessern? Dazu betrachten wireinen (nicht notwendig gerichteten) Weg

P = v0e1v1e2 . . . vk−1ekvk

von v0 = s nach vk = t. Im Fall ei = (vi−1, vi) ist ei eine sog. Vorwarts-kante und im Fall ei = (vi, vi−1) eine Ruckwartskante von P . P+ und P−

seien die Menge aller Vorwarts- bzw. Ruckwartskanten von P .

Wir setzen ε := minε+, ε−, wobei

ε+ := mincvw − xvw | (v, w) ∈ P+ε− := minxur | (u, r) ∈ P−,

und nennen P einen x augmentierenden Weg, wenn ε > 0 erfullt ist.

Ist P augmentierend, dann konnen wir leicht eine bessere Zirkulation kon-struieren:

• Wir erhoren xe um ε auf der Kante e ∈ P+ und erniedrigen xe umε auf jeder Kante e ∈ P−. (Die ubrigen Kanten bleiben unberuhrt.)

Man sieht leicht: Es resultiert eine zulassige Zirkulation x′ mit Wert

x′f = xf + ε.

Suche nach augementierenden Wegen. Um einen x augmentierenden Weg(sofern er existiert) gezielt zu suchen, betrachten wir den Hilfgraphen G(x)auf den Knotenmenge V mit der Kantenmenge

E(x) = (v, w) ∈ V × V | xvw < cvw oder xwv > 0.Man macht sich leicht klar:

• Die gerichteten Wege von s nach t in G(x) entsprechen genau denx augmentierenden Wegen.

Ob t in G(x) von s erreichbar ist (d.h. ob ein augmentierender Weg exi-stiert), kann man folglich mit dem Algorithmus von Dijkstra feststellen –z.B. mit der Distanzfunktion

dvw = 1 fur alle Kanten (vw) ∈ E(x).

Page 100: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

3. ZIRKULATIONEN UND DAS MAX-FLOW-MIN-CUT-THEOREM 99

Schnitte. Sei allgemein S ⊆ V eine Knotenmenge mit s ∈ S. Dann be-stimmt S einen sog. s-Schnitt

[S] = (v, w) ∈ E | v ∈ S,w /∈ Sder Kapazitat

c[S] =∑e∈[S]

ce .

LEMMA 5.4 (Schnittlemma). Sei x eine zulassige Zirkulation auf G undS ⊆ V mit s ∈ S und t /∈ S. Dann gilt Dann gilt

xf ≤ c[S]

Beweis. Wir setzen yv = 1 fur alle v ∈ S und yv = 0 fur v /∈ S. Ausserdemwahlen wir ze = 1 fur e ∈ [S] und ze = 0 sonst.

Dann erhalten wir eine zulassige Losung des dualen Problems (66) mit Zielfunkti-onswert ∑

e∈Eceze = c[S].

Die schwache Dualitat der linearen Programmierung impliziert damit die behaup-tete Ungleichung.

Sei wie vorher x ≥ 0 eine zulassige Zirkulation und S die Menge aller vons in G(x) erreichbaren Knoten. Im Fall t /∈ S ergibt sich nach Definitionvon G(x) und der Knotenmenge S fur eine Kante e = (v, w) ∈ E \ f:

xe =

ce wenn v ∈ S und w ∈ V \ S0 wenn v ∈ V \ S und w ∈ S.

Also schliessen wir, dass x optimal ist. Denn

xf =∑e∈[S]

xe = c[S] (Beweis?).

SATZ 5.3 (Ford-Fulkerson). Eine zulassige Zirkulation x ist optimal fur(65) genau denn, wenn es im Hilfsgraphen G(x) keinen augmentierendenWeg von s nach t gibt.

Das lineare Programm (65) hat auf jeden Fall x = 0 als zulassige Losung.Also erhalten wir unter den obigen Voraussetzungen eine kombinatorische(graphentheoretische) Form der LP-Dualitat:

Page 101: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

100 5. UNIMODULARE LINEARE PROGRAMME

KOROLLAR 5.2 (MAX-Flow-MIN-Cut).

maxxf | x zulassig fur (65) = minc[S] | s ∈ S ⊆ V \ t.⋄

3.2. Der Algorithmus von Ford-Fulkerson. Die vorangegangene Ana-lyse des Ford-Fulkerson-Problems (65) legt folgenden Algorithmus nahe:

(FF0) Beginne mit x = 0 als Startlosung und suche (uber den Hilfsgra-phen G(x)) einen augmentierenden Weg P von s nach t.

(FF1) STOP, wenn P nicht existiert: x ist optimal.(FF2) Wenn P existiert, modifiziere x entlang P zu dem verbesserten

zulassigen Fluss x′ mit x′f = xf +ε und iteriere nun mit x′ anstelle

von x.

SATZ 5.4. Wenn man die augmentierenden Wege im FF-Algorithm mit demDijkstra-Algorithmus berechnet, benotigt man insgesamt weniger als |V |3Augementierungsschritte.

Beweis. Wir betrachten eine momentane Zirkulation x und nehmen an, dass derkurzeste augmentierende Weg in G(x) k Kanten hat. Sei F (x) die Vereinigungaller Kanten in kurzesten augmentierenden Wegen. P sei ein konkreter kurzesteraugmentierender Weg.

Nach der Augmentierung entlang P erhalt man eine Zirkulation x′ so, dass F (x′)mindestens eine der Kanten aus F (x) nicht mehr enthalt.

Neue Kanten konnen naturlich bei E(x′) auftreten. Diese neuen Kanten sind aberentweder parallel oder antiparallel zu Kanten in P . Man kann sich nun uberle-gen, dass mit diesen Kanten keine neuen augmentierenden Wege mit ≤ k Kantenmoglich werden (s. Lemma 5.5).

Also fallen die Kardinalitaten |F (x)| jeweils um mindestens eins bis E(x) keinenaugmentierenden Weg der Lange ≤ k mehr gestattet. Da ein kurzester augemen-tierender Weg ≤ |V | Kanten durchlauft, gibt es insgesamt weniger als

|V | · |E| = |V |3

Iterationen.⋄

LEMMA 5.5. Sei G = (V,E) ein gerichteter Graph und P ein gerichteterWeg von s nach t mit einer minimalen Anzahl k von Kanten. Wenn man nunzu E Kanten hinzufugt, die zu Kanten von P antiparallel sind, entsteht keinneuer gerichteter Weg von s nach t mit ≤ k Kanten.

Beweis. Sei A die Inzidenzmatrix von G. Wir betrachten das LP, das Weglangeminimiert,

minx≥0

1Tx s.d. Ax = b,

Page 102: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

4. KOMBINATORISCHE OPTIMIERUNG 101

mit der Optimallosung x(P ) sowie das zugehorige duale LP

maxyTb (= yt − ys) s.d. yTA ≤ 1T .

Ist nun (v, w) eine Kante von P , dann hat (wegen x(P )vw = 1 > 0 eine duale Op-

timallosung y∗ nach den Bedingungen des komplementaren Schlupfes die Eigen-schaft

y∗w − y∗v = 1.

Wird nun die Kante (w, v) hinzugefugt, so ergibt sich bei dieser Kante

(67) y∗v − y∗w = y∗v − 1− y∗v = −1 < 1.

Das heisst: y∗ ist auch im erweiteren dualen Problem eine zulassige Losung undauch (wegen y∗t − y∗s = k) weitherhin optimal.

Argumentieren wir nun mit dem komplementaren Schlupf in die umgekehrte Rich-tung, so finden wir, dass (w, v) in keiner primalen Optimallosung nichttrivial ver-treten sein kann.

4. Kombinatorische Optimierung

Die Techniken der vorangehenden Abschnitte konnen oft ausgebaut wer-den, um diskrete Optimierungsprobleme zu losen und deren kombinatori-sche Struktur zu analysieren. Wir geben hier nur zwei kleine Beispiele.

4.1. Minimale aufspannende Walder. Sei G = (V,E) ein (ungerich-teter) Graph und c : E → R eine Kantengewichtsfunktion. Fur jede Teil-menge K ⊆ E setzen wir

c(K) :=∑e∈K

ce.

Wir suchen einen aufspannenden Wald T ⊆ E mit moglichst kleinemGesamtgewicht c(T ). OBdA durfen wir dabei annehmen, dass G zusam-menhangend ist, d.h. dass je zwei Knoten in G uber einen Weg verbundensind. (Sonst losen wir das Problem separat auf jeder der Zusammenhangs-komponenten.)

Im Algorithmus benutzen wir die Notation

δ(U) := e ∈ E | U ∩ Γ(e) = ∅ = (V \ U) ∩ Γ(e).

PRIMS ALGORITHMUS:(P0) Wahle ein s ∈ V und setze S := s, T := ∅.(P1) Ist δ(S) =, stopp.(P2) Wahle ein e ∈ δ(U) mit minimalem Gewicht ce und datiere auf:

T ← [T ∪ e] und U ← [U ∪ Γ(e)].(P3) Gehe zu (P1).

Page 103: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

102 5. UNIMODULARE LINEARE PROGRAMME

SATZ 5.5. Der Algorithmus von Prim produziert einen minimalen aufspan-nenden Wald T .

Beweis. Es ist klar, dass die Konstruktion von T an keiner Stelle einen geschlosse-nen Weg gestattet. Der Algorithmus gibt also am Ende einen aufspanndenden Waldaus.

Wir zeigen nun induktiv, dass in jeder Iteration die konstruierte Menge T in einemoptimalen aufspannenden Wald enthalten ist. (Folglich muss T am Ende selberoptimal sein.)

Sei T ∗ also optimal mit T ∗ ⊃ T und e ∈ δ(S) die vom Algorithmus gewahlte neueKante. Wenn e ∈ T ∗ gilt, hat man naturlich T ∪ e ⊆ T ∗.

Sei also e /∈ T ∗. Dann enthalt T ∗∪e einen geschlossenen Weg P mit e ∈ P . DerWeg P ′ = P \ e verbindet einen Knoten v ∈ S mit einem Knoten w ∈ V \ S.Also muss P ′ eine Kante f ∈ δ(S) enthalten. Da e ∈ δ(S) gewichtsminimalgewahlt war, haben wir cf ≥ ce. Folglich ist

T ′ = (T ∗ \ f) ∪ e

auch ein gewichtsminimaler aufspannender Wald und es gilt: T ′ ⊇ (T ∪ e).⋄

BEMERKUNG. Man beachte die formale Ahnlichkeit der Algorithmen von Primund Dijkstra!

Mit dem gleichen Argument lasst sich die Optimalitat des folgenden Ver-fahrens zur Berechnung eines minimalen aufspannenden Waldes beweisen,das als Kruksals Algorithmus1 bekannt ist:

KRUKSALS ALGORITHMUS:

(K0) Setze T := ∅.(K1) Wahle ein e ∈ E \ T von minimalem Gewicht ce so, dass T ∪ e

keinen geschlossenen Weg enthalt (d.h. einer linear unabhangigenSpaltenmenge in der Inzidenzmatrix entspricht).

(K2) Gibt es kein solches e, stopp (das momentane T ist optimal).(K3) Datiere auf: T ← [T ∪ e].(K4) Gehe zu (K1).

BEMERKUNG. Prims Algorithmus ist in der Praxis dem Kruskalschen uberlegen.In der Theorie fuhrt die Version von Kruskal jedoch auf Strukturen, welche beiallgemeineren kombinatorischen Optimierungsproblemen und z.B. auch bei sog.kooperativen Spielen in der mathematischen Spieltheorie wichtig sind.

1tatsachlich wurde der Algorithmus von Boruvka uber 20 Jahre vor Kruskal entdeckt

Page 104: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

4. KOMBINATORISCHE OPTIMIERUNG 103

4.2. Der Satz von Konig-Egervary. Wir betrachten das Matchingpro-blem bzgl. der disjunkten Mengen S und T bzgl. der Gewichtsfunktion

w(s, t) ∈ −∞,+1.

w(s, t) = −∞ kann man so interpretieren, dass (s, t) fur ein Matching nichtzur Verfugung steht. Wir wollen also ein Matching mit moglichst vielenzulassigen Kanten der Menge

E = (s, t) ∈ S × T | w(s, t) = 1.

BEMERKUNG. G = (S ∪ T,E) ist ein sog. bipartiter Graph.

Die Aufgabe, ein maximales Matching zu berechnen, erweist sich als einSpezialfall 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 Kanten-menge

E = E ∪ (s0, s) | s ∈ S ∪ (t, t0) | t ∈ T ∪ (t0, s0Beschranken wir nun die Kapazitat der Kanten vom Typ (s0, s) und (t, t0)auf 1 (und ”+∞“ sonst) , so berechnet der FF-Algorithmus einen Vektorx ∈ 0, 1E mit maximalem Flusswert

x(t0,s0) =∑e∈E

xe.

Folglich ist M = e ∈ E | xe = 1 ein maximales Matching in G.

Unter einer (Kanten-)Uberdeckung von G = (S ∪ T,E) versteht man eineMenge von Knoten(!) C ⊆ S ∪ T mit der Eigenschaft

(v, w) ∈ E =⇒ v ∈ C oder w ∈ C.

C muss mindestens die Machtigkeit eines beliebigen Matchings M haben,denn jede Kante aus M muss ja durch C abgedeckt sein:

|C| ≥ |M |.Sei andererseits M ein maximales Matching, das nach dem FF-Algorithmuskonstruiert wurde und C die Menge aller Knoten die von s0 noch erreichbarsind. Wegen

c[C] = |M | <∞,

kann es kein e ∈ E geben, das von S ∩ C nach T \ C verlauft. Also ist

C = (S \ C) ∪ (T ∩ C)

eine Uberdeckung und hat Machtigkeit

|C| = |S \ C|+ |T ∩ C| = c[C] = |M |.

Page 105: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

104 5. UNIMODULARE LINEARE PROGRAMME

SATZ 5.6 (Konig/Egervary). Sei G = (S ∪ T,E) bipartit. Dann gilt

max|M | |M Matching = min|C| | C Uberdeckung.⋄

BEMERKUNG. Das Matching- und Uberdeckungsproblem kann sinnvoll auch imFall T = S (d.h. E ⊆ S × S) formuliert werden. Wahrend das Matchingproblem(mit etwas mehr Aufwand) noch effizient losbar bleibt, ist in dieser Allgemein-heit kein effizienter Algorithmus fur das analoge Uberdeckungsproblem bekannt.Insbesondere gilt der ”Satz von Konig/Egervary“ in diesem Rahmen nicht mehr.

BEMERKUNG. Der Satz von Konig/Egervary ist die Grundlage vieler Mini-max-Satze in der Kombinatorik.

Page 106: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

KAPITEL 6

Schnittebenenverfahren und Heuristiken

Wir betrachten nun Optimierungsprobleme vom Typ

(68) min cTx s.d. Ax ≤ b,x ≥ 0,x ganzzahlig,

wobei die Matrix A ∈ Rm×n und die Vektoren c ∈ Rn,b ∈ Rm gegebenseien.

Wir wissen: Ist A total unimodular und b ganzzahlig, dann existiert immereine optimale Losung mit ganzzahligen Komponenten, sofern uberhaupt ei-ne Optimallosung existiert. Denn die Basislosungen des aquivalenten Pro-blems

minx≥0,z≥0

cTx s.d. Ax+ z = b

sind ganzzahlig. Die Ganzzahligkeitsforderung ist also durch Ubergang zueiner Basislosung leicht zu erfullen. Im allgemeinen ist (68) jedoch keinlineares Programm im strengen Sinn, da der Zulassigkeitsbereich

F = x ∈ P | x ∈ Nn = P ∩ Zn

eine diskrete Menge und (ausser im Trivialfall) kein Polyeder ist. Ist Fendlich und setzen wir PI = convF , so ist (68) aquivalent zu dem Problem

min cTx s.d. x ∈ PI .

Ware eine Matrix A′ und ein Vektor b′ mit PI = P (A′,b′) bekannt, sokonnte man jedoch das Ausgangsproblem (68) als lineares Programm for-mulieren:

min cTx s.d. A′x ≤ b′.

VEREINBARUNG. In diesem Kapitel nehmen wir durchweg an, dass samtli-che Problemparameter A, c,b rational sind. OBdA durfen wir die Problem-parameter dann als ganzzahlig annehmen.

1. Schnittebenen

Es seien nun allgemein A ∈ Zm×n und b ∈ Zm gegeben und

P = P (A,b) = x ∈ Rn | Ax ≤ b105

Page 107: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

106 6. SCHNITTEBENENVERFAHREN UND HEURISTIKEN

das entsprechende rationale Polyeder. Wir interessieren uns fur die Menge

PI = convx ∈ P | x ∈ Zn.

PROPOSITION 6.1. Ist P ein rationales Polyeder, dann ist auch PI ein ra-tionales Polyeder.

Beweis. Im Fall PI = ∅ ist nichts zu beweisen. Sei also PI = ∅. Nach demDekompositionssatz von Weyl-Minkowski existieren endliche Mengen V,W ⊆Qn so, dass

P = conv(V ) + cone(W ).

Stellen wir uns V und W als Matrizen mit den entsprechenden Vektoren als Spaltenvor, so kann ein beliebiges x ∈ P in der Form

x = V s+W t mit s, t ≥ 0,1T s = 1

dargestellt werden. Nach geeigneter Skalierung (Multiplikation mit dem Haupt-nenner) durfen wir dabei die rationalen Vektoren w ∈ W oBdA als ganzzahligannehmen. Bezeichnen wir mit ⌊t⌋ den Vektor der ganzzahlig nach unten gerun-deten Komponenten von t und setzen t = t− ⌊t⌋ ≥ 0, dann erhalten wir

x = (V s+W t) +W ⌊t⌋ = x+W ⌊t⌋mit dem ganzzahligen ⌊t⌋ und x in

P = V s+W t | s ≥ 0,1T s = 1,0 ≤ t ≤ 1.(69)

Als Bild des Polytops Q = t | 0 ≤ t ≤ 1 unter der linearen Abbildung W ist

W (Q) ein Polytop, Folglich ist auch

P = conv(V ) +W (Q)

als Minkowskisumme von Polytopen ein Polytop. Wegen W ⌊t⌋ ∈ Zn finden wir

x ∈ Zn ⇐⇒ x ∈ Zn

u nd deshalb

P ∩ Zn = P ∩ Zn + Wz | z ≥ 0 ganzzahlig.Da P ein Polytop (und somit beschrankt) ist, ist P ∩ Zn eine endliche Menge.Wegen

(70) PI = conv(P ∩ Zn) + cone(W )

erkennen wir PI somit als Polyeder.⋄

BEMERKUNG. Im Prinzip konnte man aus der Darstellung (70) (z.B. mit Fourier-Motzkin) eine lineare Beschreibung von PI durch Ungleichungen ableiten. Fur dasOptimierungsproblem (68) ist dies jedoch nicht interessant, da ein solches Vor-gehen bedeutet, dass man ohnehin zuerst samtliche ganzzahligen Vektoren in P

(darunter auch die Optimallosung) auflisten musste. Man hatte das Optimierungs-problem also schon gelost, bevor man mit linearen Beschreibung fertig ist.

Page 108: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

1. SCHNITTEBENEN 107

1.1. Das Verfahren von Gomory. Um eine lineare Beschreibung vonPI zu erzielen, gehen wir von gultigen Ungleichungen fur das PolyederP = P (A,b) aus. Gemass dem Lemma von Farkas betrachten wir deshalbein beliebiges rationales y ≥ 0 und cT = yTA. Dann ist cTx ≤ z mitz = yTb eine gultige Ungleichung fur P . Wir durfen c als ganzzahligannnehmen. Der springende Punkt ist dann die Beobachtung

• cT = yTA ist ganzzahlig und

cTx ≤ z′ mit z′ = ⌊yTb⌋ ∈ Z

eine gultige Ungleichung fur PI , da sie von allen ganzzahligenVektoren in P erfullt wird.

Tatsachlich genugt es, sich dabei auf y mit Komponenten yi ∈ [0, 1] zubeschranken. Denn bei einem allgemeinen rationalen y′ ∈ Qn

+ und z ∈ Zn+

mit der Eigenschaft0 ≤ y = y′ − z ≤ 1

ist die Ungleichung(zTA)x ≤ zTb ∈ Z

ja ohnehin schon von Ax ≤ b impliziert. Fur ganzzahliges x ∈ P (A,b)gilt darum

(y′)TAx ≤ ⌊(y′)Tb⌋ ⇐⇒ yTAx ≤ ⌊yTb⌋.

Damit erhalten wir das Gomory-Polyeder

P ′ = x ∈ P | (yTA)x ≤ ⌊yTb⌋,y ∈ [0, 1]m,yTA ∈ Zn

BEMERKUNG. P ′ ist tatsachlich ein Polyeder, denn es gibt nur endlich viele ver-schiedene Gomory-Schnitte. Das sieht man so: Die Menge yTA | 0 ≤ y ≤ 1 isteine beschrankte Menge von Zeilenvektoren in Rn und enthalt deshalb nur endlichviele ganzzahlige Vektoren.

Iterieren wir diese Konstruktion, so ergibt sich die Gomory-Folge

P ⊇ P ′ ⊇ P ′′ ⊇ . . . ⊇ PI .

Man bemerke, dass keine der Gomory-Ungleichungen einen ganzzahligenPunkt aus P ”abschneidet“. Ausserdem gilt: Sobald bei der Gomory-Folgekein neues Polyeder konstruiert wird, hat man genugend viele Ungleichun-gen erzeugt, die PI festlegen.

Ohne Beweis bemerken wir

SATZ 6.1 (Gomory). Die Gomory-Folge eines rationalen Polyeders P hatendliche Lange und endet mit PI .

Page 109: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

108 6. SCHNITTEBENENVERFAHREN UND HEURISTIKEN

Der Beweis ist nicht schwer aber etwas aufwendig. Deshalb sei hier daraufverzichtet. Wir beweisen nur:

LEMMA 6.1. Sei P ein rationales Polytop mit P = P ′. Dann gilt P = PI .

Beweis. Sei P = PI . Dann besitzt P eine Ecke v mit (mindestens) einer Kompo-nente vj /∈ Z. Ausserdem existiert ein c ∈ Zn derart, dass die Funktion f(x) =

cTx uber P genau von v maximiert wird. Seien v(1), . . . ,v(k) die ubrigen Eckenvon P und

minℓ=1,...,k

(cTv − cTv(ℓ)) = ε > 0

maxx∈P|x1|+ . . .+ |xn| = M <∞.

Sei K ∈ N so gewahlt, dass Kε > 2M erfullt ist. Dann maximiert v auch dieFunktion f(x) = cTx uber P , mit

cT = [Kc1, . . . ,Kcj + 1, . . . ,Kcn] = KcT + eTj .

Denn fur jede andere Ecke v(ℓ) von P gilt

K(cTv(ℓ)) + v(ℓ)j < K(cTv − ε) +M < KcTv −M < KcTv + vj .

Wegen cTv − KcTv = vj /∈ Z ist entweder cTv oder cTv keine ganze Zahl.Also ist

cTx ≤ ⌊cTv⌋ oder cTx ≤ ⌊cTv⌋

eine Ungleichung, die zwar fur PI gultig ist aber nicht fur P . D.h. P = P ′, was imWiderspruch zu unseren Voraussetzungen stunde!

Der Satz von Gomory fuhrt zu einem endlichen Algorithmus zur Losungvon des ganzzahligen Optimierungsproblems

max cTx s.d. Ax ≤ b,x ∈ Zn.

Man lost die LP-Relaxierung

max cTx s.d. Ax ≤ b.

Ist die gefundene Optimallosung x∗ ganzzahlig, dann ist nichts weiter zutun. Andernfalls berechnet man das Gomory-Polyeder P ′ und lost

maxx∈P ′

cTx

usw. bis das ganzzahlige Optimum gefunden ist. In der Praxis ist diese Vor-gehensweise typischerweise jedoch hoffnungslos ineffizient.

Page 110: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

1. SCHNITTEBENEN 109

1.2. Schnittebenenverfahren. Die Idee hinter Schnittebenenverfahrenzur Losung ganzzahliger linearer Programme ist wie die des Gomory-Ver-fahrens: Man lost die LP-Relaxierung des Problems. Ist die gefundene Op-timallosung x∗ ganzahlig, so ist das Problem optimal gelost.

Ist x∗ nicht ganzzahlig, so fugt man dem LP eine Ungleichung

aTx ≤ b

hinzu, die fur alle x ∈ P ∩ Zn (und somit fur PI(A,b)) gilt und von x∗

verletzt wird. Die entsprechende Hyperebene

H(a, b) = x ∈ Rn | aTx = b

heisst Schnittebene (bzgl. P und PI).

Unter Ausnutzung der speziellen kombinatorischen Struktur, die das Opti-mierungsproblem haben mag, lassen sich in der Praxis oft gezielt Schnit-tebenen bestimmen, die zu effizienteren Algorithmen fuhren als GomorysAllzweckverfahren.

Ein Schnittebenen-Verfahren geht nach folgendem Prinzip zur Losung desProblems

max cTx s.d. Ax ≤ b,x ∈ Zn

vor:

(SE0) Lose das relaxierte LP-Problem

max cTx s.d. Ax ≤ b.

Ist die gefundene Optimallosung x∗ ganzzahlig, STOP.(SE1) Bestimme im Fall x∗ /∈ Zn eine Schnittebenenungleichung aTx ≤

b fur PI , die von x∗ verletzt wird (d.h. aTx∗ > b) und fuge dieseden Restriktionen hinzu. Lose nun

max cTx s.d. Ax ≤ b, aTx ≤ b.

Ist die gefundene Optimallosung x ganzzahlig, STOP.(SE2) Bestimme im Fall x /∈ Zn eine Schnittebenenungleichung aTx ≤

b fur PI , die von x′ verletzt wird (d.h. aTx > b) und fuge diese denbisherigen Restriktionen hinzu usw.

Page 111: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

110 6. SCHNITTEBENENVERFAHREN UND HEURISTIKEN

1.2.1. Quadratische boolesche Optimierung. Als Beispiel betrachtenwir zu gegebenen Paramentern qij ∈ R das Problem

maxn∑

i=1

n∑j=1

qijxixj, xi ∈ 0, 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 = xixj ∈ 0, 1 erhalten wir eine Formulierung als

ganzzahliges LP:

(71)

max∑i∈V

dixi +∑e∈E

ceye

s.d. ye − xi ≤ 0 e ∈ E, i ∈ exi + xj − ye ≤ 1 e = i, j

xi, ye ≤ 1−xi,−ye ≤ 0xi, ye ganzzahlig.

BEMERKUNG. Man kann sich dieses Problem vorstellen als die Aufgabe, imvollstandigen Graphen Kn mit Knotenmenge V und Kantenmenge E einen voll-standigen Untergraphen maximalen Gesamtgewichts zu wahlen. Dabei sind dieKnoten i ∈ V mit di und die Kanten e ∈ E mit ce gewichtet.

Als Schnittebenen fur das von den ganzzahligen Losungen von (71) erzeug-te Polytop PI kommen alle Ungleichungen in frage, die von den ganzzah-ligen Losungsvektoren erfullt werden. Beispiele sind etwa die Dreiecksun-gleichungen

xi + xj + xk − ye − yf − yg ≤ 1

fur jeweils drei Knoten i, j, k ∈ V und die dazugehorigen Kanten e, f, g ∈E des entsprechenden ”Dreiecks“ i, j, k.Dieses Beispiel kann verallgemeinert werden. Dazu setzen fur S ⊆ V mit|S| ≥ 2

x(S) =∑i∈S

xi und y(S) =∑

e∈E(S)

ye,

wobei E(S) die Menge aller Paarmengen e = i, j ⊆ S ist. Zu α ∈ Ndefinieren wir die entsprechende Cliquenungleichung als

αx(S)− y(S) ≤ α(α + 1)/2.

LEMMA 6.2. Jede zulassige (0, 1)-Losung (x,y) von (71) erfullt jede Cli-quenungleichung.

Page 112: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

2. HEURISTISCHE VERFAHREN 111

Beweis. Sei C = i ∈ S | xi = 1 und s = |C| ≤ |S|. Dann gilt x(S) = s undy(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 genugen nochnicht, um PI vollstandig zu beschreiben. Bei nicht zu grossen booleschenProblemen (n ∼ 40) kommt man damit aber in der Praxis schon recht weit.

2. Heuristische Verfahren

Ein heuristisches Verfahren ist eine Methode, von der man annimmt, dasssie ”eigentlich“ ganz gut funktionieren musste – obwohl man keine stren-ge mathematische Aussage uber die Qualitat der zu erwartenden Losungmachen kann.

Wir illustrieren die Idee mit folgendem Modell. V ist eine ”grosse “ Mengeund c : V → R eine Gewichtsfunktion. Gesucht ist ein v ∈ V mit

c(v) = minv∈V

c(v) (oder c(v) ≈ minv∈V

c(v)).

2.1. Nachbarschaftssuche. Wir nehmen an, dass auf V eine Nachbar-schaftsstruktur N gegeben ist, die jedem v ∈ V eine Menge N(v) ⊆ V alsNachbarn zuordnet. (V wird damit zu einem (gerichteten) Graphen).

Man beginnt bei einem Startobjekt v0 ∈ V und sucht sich einen Nachbarnv1 ∈ N(v0) mit der Eigenschaft

c(v1) ≤ c(v0).

Gibt es ein solches v1, ersetzt man v0 durch v1 und verfahrt wie eben. Gibtes kein solches v1, so nimmt man

v = v0

als (heuristische) Losung des Minimierungsproblems.

BEMERKUNG. Bei der Wahl der Nachbarschaftsstruktur N hat man im Prinzipalle Freiheiten. Naturlich sollte man in der Praxis N so wahlen, dass man rechne-risch gut damit umgehen kann.

Als Beispiel betrachten wir das Problem des Handlungsreisenden (”TSP“).Gegeben ist eine Menge S = s1, . . . , sn von n Objekten (”Stadten“) undeine Distanzmatrix

D = [dij] ∈ Rn×n+ .

Page 113: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

112 6. SCHNITTEBENENVERFAHREN UND HEURISTIKEN

Eine Rundreise Π entspricht einer Permutation π = π(1) . . . π(n) der Men-ge 1, . . . , n mit π(n) = 1:

Π : s1 → sπ(1) → sπ(2) → . . .→ sπ(n−1) → s1.

Die Kosten von Π werden als der Weglange entsprechend angenommen:

c(Π) := d1,π(1) + dπ(1),π(2) + . . .+ dπ(n−1),1.

GESUCHT: Eine Rundreise mit minimalen Kosten.

Die hier interessierende Menge V aller Rundreisen ist sehr gross:

|V | = (n− 1)!

Eine Moglichkeit (unter vielen!), eine Nachbarschaftstruktur zu definieren,ware, zwei Permutationen π und π′ als Nachbarn zu betrachten, wenn siedurch eine Transposition auseinander hervorgehen:

π = π(1) . . . π(i)π(i+ 1) . . . 1 ∼ π′ = π(1) . . . π(i+ 1)π(i) . . . 1.

In diesem Fall hatte eine Rundreise Π nur

|N(π)| = n− 1

Nachbarn, die leicht (von Π aus) leicht zu konstruieren sind.

BEMERKUNG. Es gibt sehr viele Moglichkeiten, Nachbarschaftsstrukuren auf derMenge aller Permutationen zu definieren. Welches ”die beste“ ist, ist mathematischschwer zu entscheiden.

2.2. Simulated Annealing. Man kann die Idee der Nachbarschaftssu-che ”randomisieren“ und kommt somit zu einem Verfahren, das in der Pra-xis oft noch bessere Resultate zeitigt. Die Vorgehensweise ist folgender-massen:

(1) Man gibt sich einen Parameter θ > 0 vor und wahlt einen Start-punkt v0 ∈ V .

(2) Wenn man sich nach t Schritten bei vt ∈ V befindet, macht maneinen Zufallsschritt:(a) Man wahlt (irgendeinen) Nachbarn w ∈ N(vt) nach dem Zu-

fallsprinzip aus und setzt

vt+1 := w falls c(w) ≤ c(vt).

(b) Im Fall c(w) > c(vt) macht man ein weiteres Zufallsexperi-ment und setzt

vt+1 :=

w mit W’keit e−θ(c(w)−c(vt)).vt mit W’keit 1− e−θ(c(w)−c(vt)).

Page 114: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

3. ENUMERATION 113

BEMERKUNG. Der springende Punkt bei diesem randomisierten Verfahren ist derMoglichkeit eines Ubergangs v → w selbst dann, wenn sich keine Verbesserungder Zielfunktion c ergibt.

Sei π(t)(v) die Wahrscheinlichkeit, dass das Verfahren nach t Schritten beivt ∈ N angekommen ist. Der Erwartungswert der produzierten Losung istdann

Et(c) =∑v∈V

c(v)π(t)(v).

Wir nehmen nun an, dass die Nachbarschaftsstruktur N im folgenden Sinnregular ist: Fur alle v, w ∈ V gilt:

(1) w ∈ N(v) ⇐⇒ w ∈ N(w).(2) |N(v)| = N(w)|.(3) Es gibt einen Pfad von v nach w in der Nachbarschaftsstruktur.

Dann kann man zeigen:

LEMMA 6.3. Bei einer regularen Nachbarschaftsstruktur generiert man(approximativ) eine Boltzmannverteilung auf V :

limt→∞

π(t)(v) = Kθe−c(v)θ (v ∈ V ).

(Der Beweis ist nicht schwer, aber technisch. Er wird deshalb hier nicht gegeben1.)⋄

3. Enumeration

Wir betrachten (der Einfachheit halber) jetzt ”binare“ Probleme vom Typ

min cTx s.d. Ax ≤ b x ∈ 0, 1n,die naturlich auch ganzzahlige lineare Programme sind.

Die Idee ist simpel: Man enumeriert im Prinzip alle moglichen (zulassigen)Losungen und sucht sich darunter eine mit minimalem Zielfunktionswert.

Das kann man systematisch machen, indem man einen Suchbaum B auf-stellt. Man beginnt zum Beispiel mit x1 und unterscheidet zwischen denFallen x1 = 0 und x1 = 1. Somit verzweigt sich B entsprechend in zweiSuchbaume B0 und B1, die man nun getrennt absucht.

Betrachten wir etwa x2, so verzweigt sich z.B. B0 in die Suchbaume

B00 ←→ (x1 = 0, x2 = 0) und B01 ←→ (x1 = 0, x2 = 1)

1Ein noch allgemeineres Konvergenzmodell des randomisierten Verfahrens findet sichin der Arbeit: U. Faigle/W. Kern: Some convergence results for probabilistic tabu search,ORSA Journal on Computing 4 (1992), 32-37

Page 115: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

114 6. SCHNITTEBENENVERFAHREN UND HEURISTIKEN

usw.

Wenn man samtliche 2n Suchbaume aufgestellt hat, hat man naturlich auchindirekt alle moglichen Losungen enumeriert und kann die Optimallosungfestnageln.

3.1. Verzweigen und Abschneiden. Wir versuchen, das Enumerati-onsverfahren zu beschleunigen, indem wir ”unnotige“ Verzweigungsbaumeerst gar nicht durchlaufen.

Wir nehmen an, wir hatten schon (irgendwie) einen (z.B. heuristischen)Losungskandidaten x generiert, und betrachten nun den Suchbaum B01, derdem folgenden Problem entspricht:

(72) minx∈0,1n

cTx s.d. Ax ≤ b und x1 = 0, x2 = 1

Naturlich brauchen wir dann B01 nicht weiter zu durchsuchen, wenn dasProblem (72) keine Losung mit einem besseren Wert als cTx erwarten lasst.In diesem Fall konnen wir also unseren Suchbaum bei B01 abschneiden: Al-le Suchbaume vom Typ B010... oder B011... sind dann fur die Optimallosunguninteressant geworden.

Wir suchen also Techniken, die uns moglichst gute Abschatzungen fur denbestmoglichen Zielfunktionswert eines ganzzahligen linearen Programmsliefern.

4. Relaxierung

Statt des ganzzahligen Programms

(73) min cTx s.d. Ax ≤ b, xj ∈ 0, 1 ∀j = 1, . . . , n

betrachten wir das (”relaxierte“) LP

(74) min cTx s.d. Ax ≤ b, 0 ≤ xj ≤ 1 ∀j = 1, . . . , n,

das sicherlich eine Untergrenze fur den gesuchten Zielfunktionswert liefert,das es ja einen grosseren Losungsbereich hat.

4.1. Lagrange-Relaxierung. Wir nehmen nun bei (73) an, dass dasRestriktionssystem Ax ≤ b in Untersysteme A′x ≤ b′ und A′′x ≤ b′′ von

”leichten“ und ”schweren“ Restriktionen zerfallt und etwa das Problem

(75) minx∈0,1n

cTx+ (y′′)T (A′′x− b′) s.d. A′x ≤ b′

(oder dessen LP-Relaxierung) zu einem gegebenen y′′ ≥ 0 relativ einfachzu losen ware. Sei L′′

2(y′′) der entsprechende Optimalwert.

Page 116: Einfuhrung in die¨ Mathematik des Operations Research ... › AFS › teachings › ss11 › ST › Material … · Einfuhrung in die ¨ Mathematik des ... Kombinatorische Optimierung

4. RELAXIERUNG 115

BEISPIEL 6.1. Nehmen wir an, dass Ax ≤ b ein total unimodulares Teil-system A′x ≤ b′ enthalt. Dann ist jede Basislosung von

(76) min0≤x≤1

cTx+ (y′′)T (A′′x− b′′) s.d. A′x ≤ b′

schon ein (0, 1)-Vektor. Die Ganzzahligkeitsbedingung braucht also nichtweiter beachtet zu werden.

BEMERKUNG. Die Zielfunktion von (75) ist im wesentlichen linear(!), wenn many′′ festhalt:

cTx+ (y′′)T (A′′x− b′′) = (y′′)Tb+ (cT + (y′′)TA′′)x.

Der Term (y′′)Tb ist dann namlich konstant und kann somit bei der Optimierungunberucksichtigt bleiben. Es bleibt ubrig:

minx

cTx mit cT = cT + (y′′)TA.

L′′2(y

′′) ist dann sicherlich eine Untergrenze fur den Optimalwert von (73).Die beste Untergrenze dieser Art bekommt man von der Losung des Opti-mierungsproblems

maxy′′≥0

L′′2(y

′′).

BEMERKUNG. Die Idee hinter der Lagrange-Relaxierung zur Gewinnung vonAbschatzungen fur den Zielfunktionswert lasst sich selbstverstandlich auch auf all-gemeine mathematische Optimierungsprobleme anwenden.