Sie sind auf Seite 1von 13

Universität zu Köln

Mathematisches Institut
Prof. Dr. F. Vallentin
Dr. F. von Heymann

Einführung in die Mathematik des Operations Research


Sommersemester 2015

— Klausur (8. Oktober 2015) —

Aufgabe 1 (9 + 6 = 15 Punkte)

1. Wie funktioniert der Algorithmus von Bellman und Ford zur Berechnung kürzester
Wege in gerichteten Graphen? Geben Sie den Algorithmus als Pseudocode an.

2. Sei D = (V, A) der folgende gerichtete Graph, mit eingetragener Kantenlängen-


funktion l : A → R.
s 3 v1

−2
−1
v2 −1
−2 v3 v4

−1
−3 1 3

v5 −2 v6 1 t

Verwenden Sie den Algorithmus von Bellman und Ford, um entweder eine kürzeste
Kantenfolge von s nach t zu finden, oder zu zeigen, dass es keine solche gibt. Do-
kumentieren Sie Ihr Vorgehen.

Lösung:

1. Eingabe: Gerichteter Graph D = (V, A) mit |V | = n, Startknoten s ∈ V , Kan-


tenlängenfunktion l : A → R.

• d0 (s) = 0, d0 (v) = ∞ für alle v ∈ V \{s}.


• FOR k = 0, . . . , n − 1:
– Setze zunächst dk+1 (v) = dk (v) für alle v ∈ V .
– FOR (u, v) ∈ A:

1
∗ IF dk+1 (v) > dk (u) + l((u, v)):
· dk+1 (v) = dk (u) + l((u, v)),
· g(v) = u
• IF dn 6= dn−1 :
– output: Es gibt einen gerichteten negativen Kreis, der von s aus erreich-
bar ist.

Ausgabe: Länge einer kürzesten s-v-Kantenfolge mit höchstens k Kanten für jedes
v ∈ V und k ≤ n. Falls kein gerichteter negativen Kreis von s aus erreichbar ist, ist
ein kürzester s-v-Weg gegeben durch die Umkehrung von v, g(v), g(g(v)), . . . , s.

2. Da v2 , v5 und v6 nicht von s aus erreichbar sind, können sie nicht in einer kürzesten
Kantenfolge von s nach t vorkommen. Für den restlichen Graphen berechne dk
durch betrachten aller Kanten.

• k+1=1:

(s, v1 ) : d1 (v1 ) = 3, g(v1 ) = s


(s, v4 ) : d1 (v4 ) = −1, g(v4 ) = s
(v1 , v3 ) : Keine Änderung
(v3 , s) : Keine Änderung
(v3 , t) : Keine Änderung
(v4 , t) : Keine Änderung

• k+1=2:

(s, v1 ) : Keine Änderung


(s, v4 ) : Keine Änderung
(v1 , v3 ) : d2 (v3 ) = 2, g(v3 ) = v1
(v3 , s) : Keine Änderung
(v3 , t) : Keine Änderung
(v4 , t) : d2 (t) = 2, g(t) = v4

• k+1=3:

(s, v1 ) : Keine Änderung


(s, v4 ) : Keine Änderung
(v1 , v3 ) : Keine Änderung
(v3 , s) : Keine Änderung
(v3 , t) : d3 (t) = 1, g(t) = v3
(v4 , t) : Keine Änderung

2
Da sich für k + 1 = 4 nur Werte von Knoten v ändern könnten, wenn es eine Kante
(t, v) gäbe, kann sich nichts mehr ändern.
Eine kürzeste Kantenfolge von s nach t ist (s, (s, v1 ), v1 , (v1 , v3 ), v3 , (v3 , t), t).
Die Werte von dk in Tabellenform:
s v1 v2 v3 v4 v5 v6 t
k=0 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞
k = 1 0 3 ∞ ∞ −1 ∞ ∞ ∞
k = 2 0 3 ∞ 2 −1 ∞ ∞ 2
k = 3 0 3 ∞ 2 −1 ∞ ∞ 1
k = 4 0 3 ∞ 2 −1 ∞ ∞ 1

3
Aufgabe 2 (2 + 4 + 9 = 15 Punkte)
1. Geben Sie die Definition eines perfekten Matchings in einem ungerichteten Graph
G = (V, E) an.
2. Geben Sie eine notwendige und hinreichende Bedingung dafür an, dass es ein
perfektes Matching in einem bipartiten Graph gibt.
3. Eine quadratische Matrix A ∈ Rn×n heißt doppelt-stochastisch falls sie nur nicht-
negative Einträge besitzt und jede Zeilensumme und Spaltensumme 1 ist. Zeigen
Sie: Für jede doppelt-stochastische Matrix gibt es eine Permutation der Spalten,
so dass alle Diagonal-Einträge ungleich Null sind.

Lösung:
1. Ein Matching in G ist eine Teilmenge M ⊆ E von disjunkten Kanten, d.h. für
e, f ∈ M mit e 6= f gilt e ∩ f = ∅. Ein Matching M in G ist perfekt, falls |V | = 2|M |
gilt.
2. Ein solches Kriterium ist der sogenannte Heiratssatz (der ein unmittelbares Ko-
rollar vom Satz von Hall ist): Ein bipartiter Graph G = (V, E) mit Bipartition
V = U ∪˙ W besitzt genau dann ein perfektes Matching, falls |U | = |W | ist und
falls für jede Teilmenge X ⊆ U gilt |Γ(X)| ≥ |X|, wobei
Γ(X) = {w ∈ W : {u, w} ∈ E, u ∈ X}
die Menge der Nachbarn von X ist.
3. Die Matrix A = (Aij ) definiert einen bipartiten Graph: Die Knotenmenge ist V =
U ∪˙ W , wobei die Menge U = {z1 , . . . , zn } für die n Zeilen von A und die Menge
W = {s1 , . . . , sn } für die n Spalten von A steht. Die Kantenmenge ist definiert als
E = {{zi , sj } : Aij 6= 0, i, j = 1, . . . , n}. Nach dem oben angegebenen Kriterium
besitzt G ein perfektes Matching M , denn es ist |U | = |W | = n und es ist für
X ⊆ U:
|Γ(X)| = |{sj : {zi , sj } ∈ E : zi ∈ X, j = 1, . . . , n}|
Xn X X X
≥ Aij (weil Aij ≤ 1 falls sj ∈ Γ(X), Aij = 0 falls sj 6∈ Γ(X))
j=1 i:zi ∈X i:zi ∈X i:zi ∈X
X X n
= Aij
i:zi ∈X j=1
n
X
= |X| (weil Aij = 1).
j=1

Dieses perfekte Matching M ist von der Form


M = {{z1 , sπ(1) }, . . . , {zn , sπ(n) }},
wobei π ∈ Sn eine Permutation ist. D.h. die Permutation π liefert die gewünschte
Permutation der Spalten von A.

4
Aufgabe 3 (5 + 2 + 8 = 15 Punkte)

1. Zeigen Sie: Die Menge


  
 x1 
3 2
K=  x2 ∈ R : x1 ≥ 0, x2 ≥ 0, x1 x2 ≥ x3

x3
 

ist ein konvexer Kegel.


a+b

Hinweis: Sie können die Ungleichung 2
≥ ab für a, b ≥ 0 verwenden.

2. Sei K ⊆ Rn ein konvexer Kegel. Geben Sie die Definition des zu K dualen Kegels
an.

3. Sei C ⊆ Rn eine nichtleere, kompakte, konvexe Menge, und sei f : Rn → R eine


lineare Funktion. Zeigen Sie, dass es einen Extrempunkt z von C gibt, so dass
f (z) ≥ f (x) für alle x ∈ C.

Lösung:

1. Die Menge K ist unter Addition abgeschlossen: Für x, y ∈ K gilt

x1 + y1 ≥ 0, weil x1 ≥ 0 und y1 ≥ 0,
x2 + y2 ≥ 0, weil x2 ≥ 0 und y2 ≥ 0.

Desweiterern ist
(x1 + y1 )(x2 + y2 ) = x1 x2 + y1 y2 + x1 y2 + x2 y1
≥ x23 + y32 + x1 y2 + x2 y1 (x1 x2 ≥ x23 , y1 y2 ≥ y32 )

≥ x23 + y32 + 2 x1 y2 x2 y1 (verwende Hinweis:a = x1 y2 , b = x2 y1 )
≥ x23 + y32 + 2x3 y3 (x1 x2 ≥ x23 , y1 y2 ≥ y32 )
= (x3 + y3 )2 .

Die Menge K ist abgeschlossen unter Multiplikation mit nichtnegativen Skalaren:


Für x ∈ K und α ≥ 0 gilt

(αx1 ) ≥ 0, weil x1 ≥ 0 und α ≥ 0,


(αx2 ) ≥ 0, weil x1 ≥ 0 und α ≥ 0,
(αx1 )(αx2 ) = α2 x1 x2 ≥ α2 x23 = (αx3 )2 , weil x1 x2 ≥ x23 .

2. Der zu K duale Kegel ist definiert als

K ∗ = {y ∈ Rn : xT y ≥ 0 für alle x ∈ K}.

5
3. Die Funktion f ist linear, insbesondere stetig, und die Menge C ist kompakt und
nichtleer. D.h. es gibt ein y in C, das das Maximum von f in C ist. Nach dem Satz
von Minkowski kann man C als konvexe Hülle seiner Extrempunkte schreiben:

C = conv(ext(C)).

Also kann man y schreiben als Konvexkombination von Ecken x1 , . . . , xN von C:


N
X N
X
y= αi xi , αi ≥ 0, αi = 1.
i=1 i=1

Angenommen, es gilt f (xi ) < f (y) für alle i = 1, . . . , N . Dann gilt wegen der
Linearität von f und der Maximalität von y
N
! N N
X X X
f (y) = f α i xi = αi f (xi ) < αi f (y) = f (y),
i=1 i=1 i=1

was ein Widerspruch ist. Daraus folgt, dass es einen Extrempunkt xi gibt mit
f (xi ) = f (y).

6
Aufgabe 4 (7 + 8 = 15 Punkte)

1. Schreiben Sie das duale lineare Programm zu

min x1 + 2x2 + 3x3


x ∈ R3
x≥0
x1 ≤ 1, x2 ≤ 1, x3 ≤ 1
x1 + x2 ≥ 1
x1 + x3 ≥ 1
x2 + x3 ≥ 1
x1 + x2 + x 3 ≥ 1

und begründen Sie Ihre Antwort.

2. Bestimmen Sie alle Ecken des Polyeders


    

 −1 3 13 

1 0 8
 
2 
  
P = x∈R :  x ≤ −2 .
 

 2 −6 
−1 −1 −7
 

Begründen Sie Ihre Antwort.

Lösung:

1. Führe Slack-Variablen ein, um die Ungleichungen (bis auf die Nicht-Negativität)


in Ungleichungen zu überführen:

min x1 + 2x2 + 3x3 + 0s1 + 0s2 + . . . + 0s7


x ∈ R3 , s ∈ R7
x, s ≥ 0
x1 + s 1 = 1
x2 + s 2 = 1
x3 + s 3 = 1
x1 + x2 − s 4 = 1
x1 + x3 − s 5 = 1
x2 + x3 − s 6 = 1
x1 + x2 + x3 − s 7 = 1

7
Das duale lineare Programm lautet dann

max y1 + y2 + . . . + y7
y ∈ R7
y1 + y4 + y5 + y7 ≤ 1
y2 + y4 + y6 + y7 ≤ 2
y3 + y5 + y6 + y7 ≤ 3
y1 , y2 , y3 ≤ 0
y4 , y5 , y6 , y7 ≥ 0

(Die Zahl der dualen Variablen lässt sich um eins verringern, indem man bemerkt
dass die letzte Ungleichung des ursprünglichen Programms redundant ist.)
Alternativ: Das Programm lässt sich schreiben als

− max − x1 − 2x2 − 3x3


x ∈ R3
Ax ≤ b

mit   
−1 0 0 0
0
 −1 0
0
 
0
 0 −1

0
 
1 0 0 1
   
0 1 0 1
A=
0
 und b = 
 1 .

 0 1  
−1 −1 0 −1
   
−1 0 −1 −1
   
0 −1 −1 −1
−1 −1 −1 −1
Das duale lineare Programm lautet dann

− min bT y
y ∈ R10
y≥0
 
−1
AT y = −2
−3

(Die Zahl der dualen Variablen lässt sich um 3 verringern, indem man bemerkt
dass die ersten drei Variablen die Rolle von Slack-Variablen übernehmen.)

2. Betrachte alle 2 × 2-Teilmatrizen. Falls die Determinante nicht Null ist, löse das
entsprechende Gleichungssystem und prüfe, ob die Lösung alle Ungleichungen
erfüllt

8

−1 3

= −3 6= 0. Betrachte also das Gleichungssystem
1 0
     
−1 3 13 1 0 8 1 0 8
∼ ∼
1 0 8 0 3 21 0 1 7

Übrige Ungleichungen:
      
2 −6 8 −26 −2
= <
−1 −1 7 −15 −7

Also ist 87 eine Ecke von P .




−1 3

= 0, also ergibt sich hier keine Ecke.
2 −6

−1 3
• = 4 6= 0. Betrachte also das Gleichungssystem
−1 −1
       
−1 3 13 1 −3 −13 1 −3 −13 1 0 2
∼ ∼ ∼
−1 −1 −7 0 −4 −20 0 1 5 0 1 5

Übrige Ungleichungen:
      
1 0 2 2 8
= <
2 −6 5 −26 −2

Also ist 25 eine Ecke von P .




1 0
• = −6 6= 0. Betrachte also das Gleichungssystem
2 −6
     
1 0 8 1 0 8 1 0 8
∼ ∼
2 −6 −2 0 −6 −18 0 1 3

Übrige Ungleichungen:
      
−1 3 8 1 13
= <
−1 −1 3 −11 −7

Also ist 83 eine Ecke von P .




1 0
• = −1 6= 0. Betrachte also das Gleichungssystem
−1 −1
     
1 0 8 1 0 8 1 0 8
∼ ∼
−1 −1 −7 0 −1 1 0 1 −1

2 T 8 8
  
Übrige Ungleichungen: Da −6 −1
= 22 > −2, ist −1
keine Ecke von P .

9

2 −6

= −8 6= 0. Betrachte also das Gleichungssystem
−1 −1
     
2 −6 −2 1 −3 −1 1 0 5
∼ ∼
−1 −1 −7 0 −4 −8 0 1 2

Übrige Ungleichungen:
      
−1 3 5 1 13
= <
1 0 2 5 8
5

Also ist eine Ecke von P .
2

Die Ecken von P sind also 87 , 25 , 83 , 52 .


   

10
Aufgabe 5 (8 + 7 = 15 Punkte)

1. Sei P ⊆ R3 das Polyeder gegeben durch


    

 −1 −2 1 −2 

2 6 4 4

    

  
3 
 
P = x∈R : 0 1 3 x ≤  0  .
  
0 −1 1   2 

  

 

0 0 −1 −4
 

Verwenden Sie das Eliminationsverfahrens von Fourier und Motzkin, um zu ent-


scheiden, ob P 6= ∅ ist. Dokumentieren Sie Ihr Vorgehen.

2. Sei A ∈ Rm×n eine Matrix und b ∈ Rm ein Vektor. Zeigen Sie: Es gibt ein x ≥ 0
mit Ax ≤ b genau dann, wenn für alle y ≥ 0 mit AT y ≥ 0 stets bT y ≥ 0 gilt.

Lösung:

1. Normiere die erste Spalte durch Multiplikation der zweiten Ungleichung mit 1/2:
   
−1 −2 1   −2
1 3 2  x1 2
  

0
 1 3  x2  ≤  0 
 
.
 0 −1 1  x3 2
0 0 −1 −4

Beachte, dass die Summe der ersten zwei Ungleichungen genau die Dritte ergibt.
Das System hat also genau dann eine Lösung, wenn
   
1 3   0
−1 1  x2 ≤  2 
x3
0 −1 −4

eine Lösung hat. Ein weiterer Schritt im Eliminationsverfahren ergibt, dass das
System genau dann eine Lösung hat, wenn
   
4 2
x ≤
−1 3 −4

eine Lösung hat. Da es keinen Wert y gibt, der gleichzeitig y ≤ 1/2 und y ≥ 4
erfüllt, ist P = ∅.

2. Die folgende Aussage ist äquivalent zu der Aussage der Aufgabe:


Es gibt ein x ≥ 0 mit Ax ≤ b genau dann, wenn es kein y ≥ 0 mit AT y ≥ 0 gibt, so
dass bT y < 0 gilt.
Diese Aussage ist eine Variante des Lemma von Farkas. In der Vorlesung wurde
die folgende Variante bewiesen:

11
Es gibt ein x0 ≥ 0 mit A0 x0 = b0 genau dann, wenn es kein y 0 mit (A0 )T y 0 ≥ 0 gibt, so
dass (b0 )T y 0 < 0 gilt.
Man kann die Situation der Aufgabe auf die der Vorlesung zurückführen, in dem
man eine Schlupfvariable s ∈ Rm , s ≥ 0, einführt. Dann ist die Ungleichung
Ax ≤ b äquivalent zur Gleichung A0 x0 = b0 mit
 
0
 0 x
A = A I , x = , b0 = b.
s

Nun ist y 0 = y und  T  T 


0 T 0 A 0 A y
(A ) y = y = ≥ 0.
I y

12
Aufgabe 6 (4 + 5 + 6 = 15 Punkte)
Sei A ∈ Rm×n die Auszahlungsmatrix des Matrixspiels (A, −A).
1. Sei v ∈ Rn eine feste Strategie der Spalten-Spielerin S. Definieren Sie, was eine
beste Antwort auf v ist.

2. Geben Sie die Definition eines Gleichgewichts des Matrixspiels (A, −A) an und
schreiben Sie den Wert des Gleichgewichts als lineares Programm.

3. Zeigen Sie, dass jedes Matrixspiel ein Gleichgewicht besitzt.

Lösung:
1. Eine beste Antwort auf v ist ein Vektor u0 ∈ Rm T
≥0 mit u0 e = 1 und

uT0 Av = max{uT Av : u ≥ 0, uT e = 1}.

(Eine beste Antwort für Matrixspiele ist immer gegeben durch ek , so dass (Av)k =
max{(Av)i : i = 1, . . . , m}.)

2. Ein Gleichgewicht ist ein Paar u0 , v0 von Strategien, so dass u0 beste Antwort auf
v0 ist, und v0 beste Antwort auf u0 . Der Wert eines Gleichgewichts ist
 
T
u0 Av0 = min max (Av)i : v ≥ 0, e v = 1
i=1,...,m

= min λ
Av ≤ λe
v≥0
eT v = 1

3. Die Existenz eines Gleichgewichts ist durch starke Dualität gegeben. Beachte da-
zu, dass zum Beispiel v = e1 und λ = max{Ai1 : i = 1, . . . , m} eine zulässige
Lösung für das Programm aus (2.) ergibt.
Das duale Programm zu dem Gleichgewicht in (2.) lautet

max µ
uT A ≥ µeT
u≥0
uT e = 1

und ist ebenfalls eine Formulierung eines Gleichgewichts als lineares Programm.
Da es ebenfalls eine zulässige Lösung hat (zum Beispiel u = e1 und µ = min{A1j :
j = 1, . . . , n}), gibt es optimale Lösungen für beide Programme, und sie haben
den gleichen Wert.
(Dies ist auch als das Minimax-Theorem von von Neumann bekannt.)

13