Sie sind auf Seite 1von 3

Universität zu Köln

Mathematisches Institut
Prof. Dr. F. Vallentin
Dr. A. Gundert
Dr. F. von Heymann
A. Heimendahl, M.Sc.

Einführung in die Mathematik des Operations Research

Sommersemester 2020

— Lösungsvorschläge zu Aufgabenblatt 1 —

Aufgabe 1.1

a) Wenden Sie den Algorithmus von Bellman-Ford auf folgenden Graphen an.

v1 1 v3

4 1
s 1 6 t
3
3 3
v2 −2 v4

Als erstes stellen wir die Matrix A(D, `) auf:

0 4 3 ∞ 3 ∞
 
∞
 0 ∞ 1 ∞ ∞
∞
 ∞ 0 ∞ −2 ∞

∞ ∞ ∞ 0 6 1
 

∞ 1 0 3
 
∞ ∞
∞ ∞ ∞ ∞ ∞ 0

(Die Reihenfolge der Knoten ist hier s, v1 , v2 , v3 , v4 , t.)


Unser Ziel ist es den Eintrag d5st zu bestimmen. Dazu werden für aufsteigendes
k = 1, 2, . . . , 5 die Einträge dks,v berechnet. Für k = 1 entsprechen diese der ersten
Zeile von A(D, `). Für k = 2, 3, . . . , 5 gilt

dksv = (dk−1
su duv ) = min{dsu + duv : u ∈ V }.
M
1 k−1 1

u∈V

Diese Einträge können also mit Hilfe der für k1 berechneten Einträge und der
entsprechenden Spalte von A(D, `) berechnet werden.
Zudem wird die Funktion g bestimmt. Die folgende Tabelle enthält jeweils den
Eintrag dks,v sowie den aktuellen Knoten g(v).
v1 v2 v3 v4 t
k =1 4/s 3/s ∞ 3/s ∞
k =2 4/s 3/s 4/v4 1/v2 6/v4
k =3 4/s 3/s 2/v4 1/v2 4/v4
k =4 4/s 3/s 2/v4 1/v2 3/v2
k =5 4/s 3/s 2/v4 1/v2 3/v2
In der letzten Zeile muss eigentlich nur der letzte Eintrag berechnet werden. Dies
ist unser Zielwert d5st .

b) Jetzt ist die Längenfunktion auf der Kante (v4 , v3 ) durch einen Parameter λ ∈ R
gegeben. Wenden Sie den Algorithmus von Bellman-Ford in Abhängigkeit von λ
an. Sie können λ ≥ −6 annehmen.
v1 1 v3

4 1
s λ 6 t
3
3 3
v2 −2 v4

Hier ist A(D, `):


0 4 3 ∞ 3 ∞
 
∞
 0 ∞ 1 ∞ ∞
∞
 ∞ 0 ∞ −2 ∞

∞ ∞ ∞ 0 6 1
 

0 3
 
∞ ∞ ∞ λ
∞ ∞ ∞ ∞ ∞ 0

Für k = 1 gibt es keinen Unterschied:


v1 v2 v3 v4 t
k=1 4/s 3/s ∞ 3/s ∞
Ab k = 2 müssen wir nach verschiedenen Werten von λ unterscheiden.

• Für λ ≤ 2 erhalten wir


v1 v2 v3 v4 t
k = 2 4/s 3/s 3 + λ/v4 1/v2 6/v4
und müssen ab k = 3 weitere Fälle unterscheiden.
– Für −6 ≤ λ ≤ 0 erhalten wir:
v1 v2 v3 v4 t
k = 3 4/s 3/s 1 + λ/v4 1/v2 4 + λ/v3
k = 4 4/s 3/s 1 + λ/v4 1/v2 2 + λ/v3
k = 5 4/s 3/s 1 + λ/v4 1/v2 2 + λ/v3
– Für 0 < λ ≤ 2:
v1 v2 v3 v4 t
k = 3 4/s 3/s 1 + λ/v4 1/v2 4/v4
k = 4 4/s 3/s 1 + λ/v4 1/v2 2 + λ/v3
k = 5 4/s 3/s 1 + λ/v4 1/v2 2 + λ/v3
• Für λ > 2 erhalten wir:
v1 v2 v3 v4 t
k = 2 4/s 3/s 5/v1 1/v2 6/v4
– Dann für 2 < λ ≤ 4:
v1 v2 v3 v4 t
k = 3 4/s 3/s 1 + λ/v4 1/v2 4/v4
k = 4 4/s 3/s 1 + λ/v4 1/v2 4/v4
k = 5 4/s 3/s 1 + λ/v4 1/v2 4/v4
– Für λ > 4:
v1 v2 v3 v4 t
k = 3 4/s 3/s 5/v1 1/v2 4/v4
k = 4 4/s 3/s 5/v1 1/v2 4/v4
k = 5 4/s 3/s 5/v1 1/v2 4/v4

2
Aufgabe 1.2 Zeigen Sie, dass es genau dann einen gerichteten Kreis negativer
Länge gibt, wenn es einen Knoten v und ein k gibt, so dass dkv,v negativ ist.

Wir nehmen zuerst an, dass es einen gerichteten Kreis negativer Länge gibt. Sei v
auf dem Kreis, k die Anzahl der Kanten im Kreis und q seine Länge. Laut Skript
(und Aufgabe 1.3 (b)) ist dkv,v die Länge einer kürzesten Kantenfolge von v nach v,
die höchstens k Kanten verwendet. Da der gegeben Kreis auch eine solche (nicht
notwendig kürzeste) Kantenfolge ist, ist dkv,v ≤ q und damit nach Voraussetzung
negativ.
Wenn es umgekehrt für einen Knoten v ein k gibt, so dass dkv,v < 0 ist, so wissen
wir wieder, dass es eine Kantenfolge von v nach v mit höchstens k Kanten und
negativer Länge gibt. Sei k minimal mit dieser Eigenschaft und sei (v0 , . . . , vm )
diese Kantenfolge, mit v0 = vm = v. Falls alle übrigen Knoten vi genau einmal
vorkommen, haben wir einen Kreis negativer Länge gefunden. Sonst sei n > 0
der kleinste Index, so dass der Knoten w = vn mehrfach vorkommt, und sei p der
größte Index mit w = vp . Dann ist (v0 , . . . , vn , (vp , vp+1 ), vp+1 , . . . , vm ) ein Kreis
(mit weniger als m ≤ k Kanten), und wegen der Wahl von k hat er nicht-negative
Länge. Der Rest der ursprünglichen Kantenfolge ist eine w-w-Kantenfolge mit
negativer Länge, und weniger als m Kanten. Wir wiederholen dieses Vorgehen bis
wir einen Kreis negativer Länge gefunden haben.