Sie sind auf Seite 1von 12

Universität zu Köln

Mathematisches Institut
Prof. Dr. F. Vallentin
Dr. A. Gundert

Einführung in die Mathematik des Operations Research


Sommersemester 2014

— Klausur (26. Juli 2014) —

Aufgabe 1 (5+5=10 Punkte)


Sei G der folgende Graph:

a b c d e f

1 2 3 4 5 6

1. Bestimmen Sie ν(G) = max{|M | : M ⊆ E ist ein Matching in G} und geben Sie
ein optimales Matching an.

2. Bestimmen Sie τ (G) = min{|U | : U ⊆ V ist eine Knotenüberdeckung} und geben


Sie eine optimale Knotenüberdeckung an.

Begründen Sie Ihre Antwort.

Lösung:
Das Matching M = {{a, 1}, {c, 4}, {d, 5}, {e, 3}, {f, 6}} ist z.B. ein optimales Matching.
Es ist optimal, da es auch eine Knotenüberdeckung derselben Kardinalität |M | = 5
gibt, z.B. die Menge U = {1, c, 3, 5, f }, die eine Knotenüberdeckung ist, da jede Kante
mindestens einen Knoten aus U enthält. Da G bipartit ist, gilt nämlich nach dem Satz
von König ν(G) = τ (G). Hier haben wir also:

5 ≤ ν(G) = τ (G) ≤ 5.

Damit gilt ν(G) = τ (G) = 5.

1
2
Aufgabe 2 (5+5=10 Punkte)

1. Bestimmen Sie einen s-t-Schnitt mit minimaler Kapazität in folgendem gerichte-


ten Graphen (mit angegebener Kapazitätsfunktion). Begründen Sie Ihre Antwort.

a 1 c
3 11

s 3 2 3 t

6 1
b 5 d

2. Schreiben Sie das Problem der Bestimmung eines s-t-Flusses von maximalem Wert
im folgenden gerichteten Graphen (mit angegebener Kapazitätsfunktion) als li-
neares Programm und dualisieren Sie dieses Programm.

a
1 5
s 3 4 t
2 6
b

Lösung:

1. Die Menge {(a, c), (b, c), (d, c), (d, t)} = δ + ({s, a, b, d}) mit Kapazität 7 ist eine mi-
nimaler s-t-Schnitt. Sie ist minimal, da der unten angegebene s-t-Fluss den Wert
7 hat. Nach dem Max-Flow-Min-Cut-Theorem ist der maximale Flusswert gleich
der minimalen Kapazität eines Schnittes. Hier haben wir also:

7 ≤ max. Flusswert = min. Schnittkapazität ≤ 7.

Demnach ist die minimale Schnittkapazität 7 und δ + ({s, a, b, d}) ist ein optimaler
Schnitt.

Die Flusswerte sind in grau dargestellt, die Schnittkanten grau unterlegt:

a 1 c
3 1 11
3 6
s 3 2 2 3 3 t
4 2 1
6 4 1
b 5 d

3
2. Die Bestimmung eines s-t-Flusses von maximalem Wert im angegebenen Graphen
kann durch folgendes lineares Programm beschrieben werden:

max{wT f : f ∈ R6 , 0 ≤ f ≤ c, M f = 0}, (1)

wobei
   
0 1
0 2
     
0 3 1 0 −1 1 −1 0
w =   , c =   und M =
    .
0 4 0 1 1 −1 0 −1
1 5
1 6

Die Matrix M ist hierbei die Matrix, die man aus der Inzidenzmatrix von D durch
Streichen der zu s und t gehörenden Zeilen erhält. Wir können (1) folgenderma-
ßen umschreiben:
   
−I 0
 I 
c
 
max{wT f : f ∈ R6 , Bf ≤ b} mit B =   M  , b = 0 .

−M 0

Das zu (1) duale Programm ist also:

min{y T b : y ∈ R16 , y ≥ 0, y T B = wT }.

4
Aufgabe 3 (3+2+5=10 Punkte)

1. Betrachten Sie das Polyeder P = {x ∈ R3 : Ax ≤ b} mit


   
1 1 1 1
−1 0 0  0
   
A=  0 −1 0  und b = 0 .
  
0 0 −1 0
0 0 2 1
   
1 0
Sind e1 = 0 und e3 = 0 Extrempunkte von P ? Begründen Sie Ihre Ant-
  
0 1
wort.
2. Sei Bn die Einheitskugel bezüglich der euklidischen Norm. Zeigen Sie, dass Bn
konvex ist.
 
1
0
3. Zeigen Sie, dass e1 =  ..  ∈ Rn ein Extrempunkt von Bn ist.
 
.
0

Lösung:

1. Es gilt:  
1
−1
 
 0  ≤ b.
Ae1 =  
0
0
 
1 1 1
Also liegt e1 in P . Die Matrix der Zeilen, die e1 mit Gleichheit erfüllt ist 0 −1 0 .
0 0 −1
Da diese Matrix Rang 3 hat, ist e1 eine Ecke, also ein Extrempunkt von P .
Für e3 gilt:  
1
0
 
 0   b.
Ae3 =  
−1
2
e3 kann also keine Ecke von P sein.
2. Seien x, y ∈ Bn = {x ∈ Rn : kxk ≤ 1} und α ∈ [0, 1]. Wir müssen zeigen, dass
z = αx + (1 − α)y ∈ Bn . Es gilt:
kzk = kαx + (1 − α)yk ≤ αkxk + (1 − α)kyk ≤ α + (1 − α) = 1.

5
3. Offensichtlich gilt e1 ∈ Bn . Angenommen wir können e1 schreiben als

e1 = αx + (1 − α)y

mit x, y ∈ Bn und α ∈ (0, 1). Nach Definition eines Extrempunkts müssen wir
zeigen, dass dann x = y = e1 gilt.

Wie oben haben wir

1 = ke1 k ≤ αkxk + (1 − α)kyk ≤ 1, also kxk = kyk = 1.

Wir zeigen, dass x1 = 1 und y1 = 1 gelten muss. Damit ist klar, dass x = y = e1 .
Da x, y ∈ Bn , muss x1 , y1 ≤ 1 gelten. Wäre x1 < 1 oder y1 < 1, so hätten wir:

1 = λx1 + (1 − λ)y1 < λ + 1 − λ = 1.

Ein Widerspruch!

6
Aufgabe 4 (5 + 5 = 10 Punkte)
Sei G = (V, E) ein bipartiter Graph. Eine unabhängige Menge U ⊆ V ist eine Teilmenge
der Knotenmenge, für die gilt: {u, v} 6∈ E für alle u, v ∈ U .
1. Das Unabhängigkeitspolytop von G ist definiert als die konvexe Hülle der Inzidenz-
vektoren von unabhängigen Mengen. Beschreiben Sie das Unabhängigkeitspolytop
mit Hilfe von linearen Ungleichungen.
2. Sei w : V → Z eine Gewichtsfunktion. Das maximale Gewicht einer unabhängigen
Menge in G ist definiert als
nX o
αw (G) = max w(u) : U ist unabhängig .
u∈U

Finden Sie eine Min-Max-Relation für αw .

Lösung:

1. Sei P das folgende Polyeder:

P = x ∈ RV : x ≥ 0, xu + xv ≤ 1 für {u, v} ∈ E .



Behauptung: conv χU : U unabhängige Menge in G = P.
Beweis:
⊆: Für jede unabhängige Menge U erfüllt χU die linearen Ungleichungen, die P
definieren. Da beide Mengen konvex sind und die linke Menge die inklusi-
onskleinste ist, die alle χU enthält, folgt die Behauptung.
⊇: Sei A ∈ RV ×E die Inzidenzmatrix von G. Dann gilt P = {x ∈ RV : Bx ≤ b},
wobei    
−I 0
B= T , b = .
A 1
Da G bipartit ist, ist A und damit auch die Matrix B vollständig unimodular.
Der Vektor b ist ganzzahlig. Also ist P ein ganzzahliges Polyeder (nach dem
Satz von Hofman-Kruskal).
Zudem ist P beschränkt, da 0 ≤ x ≤ 1 für alle x ∈ P . Nach dem Theorem von
Minkowski-Weyl ist P also ein Polytop und damit die konvexe Hülle seiner
Ecken.
Die Ecken von P sind ganzzahlige Vektoren, da P ganzzahlig ist. Sie müssen
Einträge in {0, 1} haben. Wegen der Bedingungen xu + xv ≤ 1, für {u, v} ∈ E
ist ein solcher Vektor immer ein Inzidenzvektor einer unabhängigen Menge.
2. Mit 1. können wir αw (G) als folgendes lineares Programm beschreiben:

αw (G) = max wT x : x ∈ P ,


da P ein Polytop ist, dessen Ecken den unabhängigen Mengen entsprechen, und
das Maximum für jedes w in einer Ecke angenommen wird.

7
Wir haben also mit starker Dualität
αw (G) = max wT x : Bx ≤ b ,


= min{bT y : y ∈ R|V |+|E| , y ≥ 0, y T B = wT }


nX X o
= min ye : y ≥ 0, ∀v ∈ V : ye = yv + w(v) .
e∈E e3v

da beide Programme zulässige Lösungen haben. Für das primale Programm ist
das klar. Für das duale können wir ye = 1 für alle e ∈ E und yv = deg(v) − w(v)
für alle v ∈ V setzen, um eine zulässige Lösung zu erhalten.
Da B vollständig unimodular ist und w ganzzahlig ist, hat auch das duale Pro-
gramm eine ganzzahlige Lösung. Wir haben also:
nX X o
αw (G) = min ye : y ≥ 0, y ∈ Z|V |+|E| , ∀v ∈ V : ye = yv + w(v) .
e∈E e3v

Um eine schönere Formulierung zu erhalten, betrachten wir die Einträge yv für


v ∈ V als Schlupfvariablen. (Diese Einträge von y kommen nicht in der Zielfunk-
tion vor.) Damit erhalten wir:
nX X o
E
αw (G) = min ye : y ≥ 0, y ∈ Z , ∀v ∈ V : ye ≥ w(v) .
e∈E e3v

8
Aufgabe 5 (5 + 5 = 10 Punkte)

1. Gegeben sei ein Polyeder P = {x ∈ R3 : Ax ≤ b} mit


   
0 0 1 1
−1 0 0  −1
   
A=  0 0 −1  und b =  0  .
  
−1 −1 0  2
4 2 −1 8

Sei π : R3 → R, definiert durch (x1 , x2 , x3 )T 7→ x3 , die Projektion auf die letzte


Koordinate. Berechnen Sie die Projektion π(P ).

2. Sei P = {x ∈ Rn : Ax ≤ b} ein nicht-leeres Polyeder mit A ∈ Rm×n und b ∈ Rm .


Sei x ∈ P und sei y ∈ Rn so, dass es j = 1, . . . , m gibt mit aTj y > 0. Hierbei sind
a1 , a2 , . . . , am die Zeilen von A (als Spaltenvektoren). Zeigen Sie, dass
( )
bj − aTj x
max{λ : x + λy ∈ P } = min T
: j = 1, . . . , m mit aTj y > 0 .
aj y

Lösung:

1. Projektionen eines Polyeders entlang der Koordinatenachsen können mit Hilfe von
Fourier-Motzkin-Elimination berechnet werden. Zur Elimination der Variable x
wird die Projektion entlang der x-Achse berechnet. Hier müssen also die Variablen
x1 und x2 eliminiert werden.
Elimination von x1 :
   
0 0 1 | 1 −1 0 0 | −1  1
− 41

−1 0 | 1
0 | −1

−1 −1
 0 | 2 2
− 1 − 1
 1 | 4
0 0 −1 | 0 → 1
  − 14 | 2 →  2 4 

−1 −1 0
2   0 1 | 1
| 2 0 0 1 | 1
0 −1 | 0
4 2 −1 | 8 0 0 −1 | 0

Elimination von x2 :
 1
− 14 1 − 12
  
| 1 | 2  
− 1
2 −1 | 10
 2 − 14 |  → −1 − 2
4  1
| 8
→ 1 | 1
 0 1 | 1 0 1 | 1
−1 | 0
0 −1 | 0 0 −1 | 0

Wir erhalten also:

π(P ) = {x3 : x3 ≥ −10, x3 ≤ 1, x3 ≥ 0} = [0, 1].

2. Für λ ∈ R gilt:

Für alle j = 1, . . . , m : λ · aTj y ≤ bj − aTj x .



x + λy ∈ P ⇔ Ax + λAy ≤ b ⇔

9
bj −aT
jx
Für jedes λ mit x + λy ∈ P gilt also, dass λ ≤ aT
für alle j mit aTj y > 0. Also
jy
gilt max ≤ min“.

bj −aT
jx
Sei λ so, dass λ ≤ aT
für alle j mit aTj y > 0. Für diese j gilt dann
jy

λ · aTj y ≤ bj − aTj x.

Für j mit aTj y ≤ 0 gilt es auch, da bj − aTj x ≥ 0.


Also ist x + λy ∈ P und es gilt min ≤ max“.

10
Aufgabe 6 (10 Punkte)
Sei    
−1 0 0 0  
 0 −1 0  0 1
A= , b=  und c = 1 .

0 0 −1 0
1
2 2 1 2
Lösen Sie das lineare Program

p∗ = max cT x
x ∈ R3
Ax ≤ b

und geben Sie eine optimale Ecke an.

Lösung mit dem Simplexverfahren:


Seien    
0 −1 0 0
x0 = 0 und
 A0 =  0 −1 0  .
0 0 0 −1
Wir wählen den Vektor x0 als Startecke. x0 ist eine Ecke von {x ∈ R3 : Ax ≤ b}, da
Ax0 ≤ b und die Matrix A0 der Zeilen, die x0 mit Gleichheit erfüllt, Rang 3 hat.
Wir haben A−1 T −1 T
0 = A0 und c A0 = (−1, −1, −1). Also wählen wir u = (−1, −1, −1, 0) .
u hat negative Einträge, also ist x0 nicht optimal. Wir haben
 
  −1
1 0
i = 1, y = 0 und Ay =   0 .

0
2

Da Ay einen postiven Eintrag hat, wählen wir eine weitere Ecke. Wir setzen j = 4 und
bekommen als nächste Ecke x1 = x0 + λy mit λ = 2/2 = 1.
Wir haben also
1 1
     
1 0 −1 0 1 2 2
x1 = 0 , A1 = 0 0 −1 und A−1 1 =
−1 0 0  .
0 2 2 1 0 −1 0

Dann ist cT A−1 1 1 1 1 T


1 = (0, − 2 , 2 ) und u = (0, 0, − 2 , 2 ) . u hat negative Einträge, also ist x1
nicht optimal. Wir haben
 1 
 1
−2 0
2

i = 3, y =  0  und Ay =    .
−1
1
0

Da Ay einen postiven Eintrag hat, wählen wir eine weitere Ecke. Wir setzen j = 1 und
bekommen als nächste Ecke x2 = x1 + λy mit λ = 2.

11
Wir haben also    
0 −1 0 0
x2 = 0
 und A2 =  0 −1 0 = A−1
2 .
2 2 2 1
Dann ist cT A−1 T
2 = (1, 1, 1) und u = (1, 1, 0, 1) . Da u ≥ 0, ist x2 optimal.
Wir erhalten also:
 
0
Zielwert: cT x2 = 2, optimale Ecke: 0 .
2

Lösung mit Fourier-Motzkin-Elimination: Um das Programm mit Hilfe von Fourier-


Motzkin-Elimination zu lösen, betrachten wir folgendes System:
Ax ≤b
T
−c x + λ ≤ 0
mit x ∈ R3 , λ ∈ R und wählen λ so groß wie möglich.

1
   
−1 0 0 0 | 0 1 1 0 | 1  1

 0 −1 0 0 |
2 1 0 | 1
−1 0 0 0 | 0
0   2
 0 − 12 1 | 1
0 0 −1 0 | 0 → −1 −1 −1 1 | 0 → −1
   
 0 0 | 0
2 2 1 0 | 2   0 −1 0 0 | 0 
0 −1 0 | 0
−1 −1 −1 1 | 0 0 0 −1 0 | 0
1 1
   
1 0 | 1 1 0 | 1  1 
2
 0 −1 1
2 0 | 1
| 1  → −1 01 0 | 0 → − 1 1
  2

−1 0 0
2 | 1
| 0  0 − 1 | 1 2
2 −1 0 | 0
0 −1 0 | 0 0 −1 0 | 0
 1   
0 | 1 1 0 | 2  
2
1
− 1 | 1 → −1 2 | 2 → 2 | 4
2 0 | 2
−1 0 | 0 −1 0 | 0
Das Programm ist also lösbar und wir erhalten an λ die Bedingung λ ≤ 2. Also wählen
wir λ = 2. Dies ist der optimale Zielwert.
Um eine optimale Ecke, die diesen Zielwert erreicht, zu erhalten, kehren wir die Elimi-
nationsschritte um. Für x3 bekommen wir folgende Bedingungen:
x3 ≤ 2, −x3 + 2λ ≤ 2 und x3 ≥ 0.
Mit λ = 2 ergeben die ersten beiden Bedingungen, dass x3 = 2.
Für x2 bekommen wir folgende Bedingungen:
x3
x3 + ≤ 1 und x2 ≥ 0.
2
Da x3 = 2, erhalten wir x2 = 0.
Für x1 bekommen wir folgende Bedingungen:
x3
x1 + x2 + ≤ 1, x2 ≥ 0 und − x1 − x2 − x3 + λ ≤ 0.
2
Durch Einsetzen der
 bisher
 erhaltenen Werte bekommen wir x1 = 0. Wir erhalten also
0
die optimale Ecke 0 .
2

12