Kapitel 6 Lineare Programme 1
Walter Unger
Lehrstuhl für Informatik 1
26.06.2014 09:40
Inhalt I
1 Einleitung zu LPs Beispiele Formen eines LP Geometrische Interpretation Algebraische Gleichungsform Überblick
2 Simplexverfahren Algorithmus Pivotschritt Beispiel
Initiale Basislösung
Komplexität von einem Pivotschritt Laufzeit
Degenerierte LPs
3 Ellipsoidmethode Einleitung Ellipsoidmethode Transformation Laufzeit Bemerkungen
Lösen eines LPs mit Ellipsoidmethode
Einleitung zu LPs Simplexverfahren Ellipsoidmethode
Beispiele (6:1.1) <> Walter Unger 17.1.2015 17:50 SS2014 Z
Einfaches Beispiel
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis:
1.2·x+y 6120.
Zu optimieren:
f(x,y) = 4/5·x+y.
116 .6
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
x+ y6
120
4/5·x
+y
=40 4/5·x
+y
=60 4/5·x
+y
=80 4/5·x
+y
=100
Einleitung zu LPs Simplexverfahren Ellipsoidmethode
Beispiele (6:1.2) <> Walter Unger 17.1.2015 17:50 SS2014 Z
Einfaches Beispiel
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis:
1.2·x+y 6120.
Zu optimieren:
f(x,y) = 4/5·x+y.
116 .6
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
x+ y6
120
4/5·x
+y
=40 4/5·x
+y
=60 4/5·x
+y
=80 4/5·x
+y
=100
Einleitung zu LPs Simplexverfahren Ellipsoidmethode
Beispiele (6:1.3) <> Walter Unger 17.1.2015 17:50 SS2014 Z
Einfaches Beispiel
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis:
1.2·x+y 6120.
Zu optimieren:
f(x,y) = 4/5·x+y.
116 .6
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
x+ y6
120
4/5·x
+y
=40 4/5·x
+y
=60 4/5·x
+y
=80 4/5·x
+y
=100
Einleitung zu LPs Simplexverfahren Ellipsoidmethode
Beispiele (6:1.4) <> Walter Unger 17.1.2015 17:50 SS2014 Z
Einfaches Beispiel
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis:
1.2·x+y 6120.
Zu optimieren:
f(x,y) = 4/5·x+y.
116 .6
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
x+ y6
120
4/5·x
+y
=40 4/5·x
+y
=60 4/5·x
+y
=80 4/5·x
+y
=100
Einleitung zu LPs Simplexverfahren Ellipsoidmethode
Beispiele (6:1.5) <> Walter Unger 17.1.2015 17:50 SS2014 Z
Einfaches Beispiel
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis:
1.2·x+y 6120.
Zu optimieren:
f(x,y) = 4/5·x+y.
116 .6
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
x+ y6
120
4/5·x
+y
=40 4/5·x
+y
=60 4/5·x
+y
=80 4/5·x
+y
=100
Einleitung zu LPs Simplexverfahren Ellipsoidmethode
Beispiele (6:1.6) <> Walter Unger 17.1.2015 17:50 SS2014 Z
Einfaches Beispiel
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis:
1.2·x+y 6120.
Zu optimieren:
f(x,y) = 4/5·x+y.
116 .6
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
x+ y6
120
4/5·x
+y
=40 4/5·x
+y
=60 4/5·x
+y
=80 4/5·x
+y
=100
Einleitung zu LPs Simplexverfahren Ellipsoidmethode
Beispiele (6:1.7) <> Walter Unger 17.1.2015 17:50 SS2014 Z
Einfaches Beispiel
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis:
1.2·x+y 6120.
Zu optimieren:
f(x,y) = 4/5·x+y.
116 .6
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
y6110
x+ y6
120
4/5·x
+y
=40 4/5·x
+y
=60 4/5·x
+y
=80 4/5·x
+y
=100
Einleitung zu LPs Simplexverfahren Ellipsoidmethode
Beispiele (6:1.8) <> Walter Unger 17.1.2015 17:50 SS2014 Z
Einfaches Beispiel
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis:
1.2·x+y 6120.
Zu optimieren:
f(x,y) = 4/5·x+y.
116 .6
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
y6110 1.2
·x +
y6 120
4/5·x
+y
=40 4/5·x
+y
=60 4/5·x
+y
=80 4/5·x
+y
=100
Einleitung zu LPs Simplexverfahren Ellipsoidmethode
Beispiele (6:1.9) <> Walter Unger 17.1.2015 17:50 SS2014 Z
Einfaches Beispiel
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis:
1.2·x+y 6120.
Zu optimieren:
f(x,y) = 4/5·x+y.
116 .6
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
y6110 1.2
·x +
y6 120
4/5·x
+y
=40
4/5·x +y
=60 4/5·x
+y
=80 4/5·x
+y
=100
Einleitung zu LPs Simplexverfahren Ellipsoidmethode
Beispiele (6:1.10) <> Walter Unger 17.1.2015 17:50 SS2014 Z
Einfaches Beispiel
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis:
1.2·x+y 6120.
Zu optimieren:
f(x,y) = 4/5·x+y.
116 .6
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
y6110 1.2
·x +
y6 120
4/5·x
+y
=40 4/5·x
+y
=60
4/5·x
+y
=80 4/5·x
+y
=100
Einleitung zu LPs Simplexverfahren Ellipsoidmethode
Beispiele (6:1.11) <> Walter Unger 17.1.2015 17:50 SS2014 Z
Einfaches Beispiel
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis:
1.2·x+y 6120.
Zu optimieren:
f(x,y) = 4/5·x+y.
116 .6
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
y6110 1.2
·x +
y6 120
4/5·x
+y
=40 4/5·x
+y
=60 4/5·x
+y
=80
4/5·x +y
=100
Einleitung zu LPs Simplexverfahren Ellipsoidmethode
Beispiele (6:1.12) <> Walter Unger 17.1.2015 17:50 SS2014 Z
Einfaches Beispiel
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis:
1.2·x+y 6120.
Zu optimieren:
f(x,y) = 4/5·x+y.
116 .6
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
y6110 1.2
·x +
y6 120
4/5·x
+y
=40 4/5·x
+y
=60 4/5·x
+y
=80 4/5·x
+y
=100
Einleitung zu LPs Simplexverfahren Ellipsoidmethode
Beispiele (6:1.13) <> Walter Unger 17.1.2015 17:50 SS2014 Z
Einfaches Beispiel
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis:
1.2·x+y 6120.
Zu optimieren:
f(x,y) = 4/5·x+y.
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
y6110 1.2
·x +
y6 120
4/5·x
+y
=40 4/5·x
+y
=60 4/5·x
+y
=80 4/5·x
+y
=100 opt
Einfaches Beispiel
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis:
1.2·x+y 6120.
Zu optimieren:
f(x,y) = 4/5·x+y.
116 .6 y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
y6110 1.2
·x +
y6 120
4/5·x
+y
=40 4/5·x
+y
=60 4/5·x
+y
=80 4/5·x
+y
=100 opt
Beispiel: Flussproblem
Flussproblem:
GegebenG= (V,E,s,t,c) mitc:E 7→N. Maximiere den Fluss.
als lineares Programm:
Variablenxe füre∈E. Maximiere
X
e∈Nout(s)∈E
xe.
unter Einhaltung der Bedingungen:
Für jeden Knotenv ∈V\ {s,t}:P
e∈Nin(v)xe =P
e∈Nout(v)xe,
∀e∈E :xe6ce, und
∀e∈E :xe>0.
Beispiel: Flussproblem
Flussproblem:
GegebenG= (V,E,s,t,c) mitc:E 7→N. Maximiere den Fluss.
als lineares Programm:
Variablenxe füre∈E. Maximiere
X
e∈Nout(s)∈E
xe.
unter Einhaltung der Bedingungen:
Für jeden Knotenv ∈V\ {s,t}:P
e∈Nin(v)xe =P
e∈Nout(v)xe,
∀e∈E :xe6ce, und
∀e∈E :xe>0.
Beispiel: Flussproblem
Flussproblem:
GegebenG= (V,E,s,t,c) mitc:E 7→N. Maximiere den Fluss.
als lineares Programm:
Variablenxe füre∈E. Maximiere
X
e∈Nout(s)∈E
xe.
unter Einhaltung der Bedingungen:
Für jeden Knotenv ∈V\ {s,t}:P
e∈Nin(v)xe =P
e∈Nout(v)xe,
∀e∈E :xe6ce, und
∀e∈E :xe>0.
Beispiel: Flussproblem
Flussproblem:
GegebenG= (V,E,s,t,c) mitc:E 7→N. Maximiere den Fluss.
als lineares Programm:
Variablenxe füre∈E. Maximiere
X
e∈Nout(s)∈E
xe.
unter Einhaltung der Bedingungen:
Für jeden Knotenv ∈V\ {s,t}:P
e∈Nin(v)xe =P
e∈Nout(v)xe,
∀e∈E :xe6ce, und
∀e∈E :xe>0.
Beispiel: Flussproblem
Flussproblem:
GegebenG= (V,E,s,t,c) mitc:E 7→N. Maximiere den Fluss.
als lineares Programm:
Variablenxe füre∈E. Maximiere
X
e∈Nout(s)∈E
xe. unter Einhaltung der Bedingungen:
Für jeden Knotenv ∈V\ {s,t}:P
e∈Nin(v)xe =P
e∈Nout(v)xe,
∀e∈E :xe6ce, und
∀e∈E :xe>0.
Beispiel: Flussproblem
Flussproblem:
GegebenG= (V,E,s,t,c) mitc:E 7→N. Maximiere den Fluss.
als lineares Programm:
Variablenxe füre∈E. Maximiere
X
e∈Nout(s)∈E
xe. unter Einhaltung der Bedingungen:
Für jeden Knotenv ∈V\ {s,t}:P
e∈Nin(v)xe =P
e∈Nout(v)xe,
∀e∈E :xe6ce, und
∀e∈E :xe>0.
Beispiel: Flussproblem
Flussproblem:
GegebenG= (V,E,s,t,c) mitc:E 7→N. Maximiere den Fluss.
als lineares Programm:
Variablenxe füre∈E. Maximiere
X
e∈Nout(s)∈E
xe.
unter Einhaltung der Bedingungen:
Für jeden Knotenv ∈V\ {s,t}:P
e∈Nin(v)xe =P
e∈Nout(v)xe,
∀e∈E :xe6ce, und
∀e∈E :xe>0.
Beispiel: Flussproblem
Flussproblem:
GegebenG= (V,E,s,t,c) mitc:E 7→N. Maximiere den Fluss.
als lineares Programm:
Variablenxe füre∈E. Maximiere
X
e∈Nout(s)∈E
xe.
unter Einhaltung der Bedingungen:
Für jeden Knotenv ∈V\ {s,t}:P
e∈Nin(v)xe =P
e∈Nout(v)xe,
∀e∈E :xe6ce, und
∀e∈E :xe>0.
Beispiel: Flussproblem
Flussproblem:
GegebenG= (V,E,s,t,c) mitc:E 7→N. Maximiere den Fluss.
als lineares Programm:
Variablenxe füre∈E. Maximiere
X
e∈Nout(s)∈E
xe.
unter Einhaltung der Bedingungen:
Für jeden Knotenv ∈V\ {s,t}:P
e∈Nin(v)xe =P
e∈Nout(v)xe,
∀e∈E :xe6ce, und
∀e∈E :xe>0.
Beispiel: Flussproblem
Flussproblem:
GegebenG= (V,E,s,t,c) mitc:E 7→N. Maximiere den Fluss.
als lineares Programm:
Variablenxe füre∈E. Maximiere
X
e∈Nout(s)∈E
xe.
unter Einhaltung der Bedingungen:
Für jeden Knotenv ∈V\ {s,t}:P
e∈Nin(v)xe =P
e∈Nout(v)xe,
∀e∈E :xe6ce, und
∀e∈E :xe>0.
Beispiel: Flussproblem
Flussproblem:
GegebenG= (V,E,s,t,c) mitc:E 7→N. Maximiere den Fluss.
als lineares Programm:
Variablenxe füre∈E. Maximiere
X
e∈Nout(s)∈E
xe.
unter Einhaltung der Bedingungen:
Für jeden Knotenv ∈V\ {s,t}:P
e∈Nin(v)xe =P
e∈Nout(v)xe,
∀e∈E :xe6ce, und
∀e∈E :xe>0.
Beispiel: Relaxiertes Rucksackproblem
Relaxiertes Rucksackproblem:
gegebend teilbare Objekte mit Gewichtengi und die GewichtsschrankeG des Rucksacks.
Undvi sei der Nutzen für 16i6d. Seixi der Anteil von Objekti.
Fülle den Rucksack. Dabei soll der Nutzen maximal sein.
Als lineares Programm:
Maximiere
d
X
i=1
vi·xi.
unter den Nebenbedingungen:
Pd
i=1gi·xi 6G,
∀i : 16i6d:xi 61, und
∀i : 16i6d:xi >0.
Beispiel: Relaxiertes Rucksackproblem
Relaxiertes Rucksackproblem:
gegebend teilbare Objekte mit Gewichtengi und die GewichtsschrankeG des Rucksacks.
Undvi sei der Nutzen für 16i6d. Seixi der Anteil von Objekti.
Fülle den Rucksack. Dabei soll der Nutzen maximal sein.
Als lineares Programm:
Maximiere
d
X
i=1
vi·xi.
unter den Nebenbedingungen:
Pd
i=1gi·xi 6G,
∀i : 16i6d:xi 61, und
∀i : 16i6d:xi >0.
Beispiel: Relaxiertes Rucksackproblem
Relaxiertes Rucksackproblem:
gegebend teilbare Objekte mit Gewichtengi und die GewichtsschrankeG des Rucksacks.
Undvi sei der Nutzen für 16i6d. Seixi der Anteil von Objekti.
Fülle den Rucksack. Dabei soll der Nutzen maximal sein.
Als lineares Programm:
Maximiere
d
X
i=1
vi·xi.
unter den Nebenbedingungen:
Pd
i=1gi·xi 6G,
∀i : 16i6d:xi 61, und
∀i : 16i6d:xi >0.
Beispiel: Relaxiertes Rucksackproblem
Relaxiertes Rucksackproblem:
gegebend teilbare Objekte mit Gewichtengi und die GewichtsschrankeG des Rucksacks.
Undvi sei der Nutzen für 16i6d. Seixi der Anteil von Objekti.
Fülle den Rucksack. Dabei soll der Nutzen maximal sein.
Als lineares Programm:
Maximiere
d
X
i=1
vi·xi.
unter den Nebenbedingungen:
Pd
i=1gi·xi 6G,
∀i : 16i6d:xi 61, und
∀i : 16i6d:xi >0.
Beispiel: Relaxiertes Rucksackproblem
Relaxiertes Rucksackproblem:
gegebend teilbare Objekte mit Gewichtengi und die GewichtsschrankeG des Rucksacks.
Undvi sei der Nutzen für 16i6d. Seixi der Anteil von Objekti.
Fülle den Rucksack. Dabei soll der Nutzen maximal sein.
Als lineares Programm:
Maximiere
d
X
i=1
vi·xi.
unter den Nebenbedingungen:
Pd
i=1gi·xi 6G,
∀i : 16i6d:xi 61, und
∀i : 16i6d:xi >0.
Beispiel: Relaxiertes Rucksackproblem
Relaxiertes Rucksackproblem:
gegebend teilbare Objekte mit Gewichtengi und die GewichtsschrankeG des Rucksacks.
Undvi sei der Nutzen für 16i6d. Seixi der Anteil von Objekti.
Fülle den Rucksack. Dabei soll der Nutzen maximal sein.
Als lineares Programm:
Maximiere
d
X
i=1
vi·xi.
unter den Nebenbedingungen:
Pd
i=1gi·xi 6G,
∀i : 16i6d:xi 61, und
∀i : 16i6d:xi >0.
Beispiel: Relaxiertes Rucksackproblem
Relaxiertes Rucksackproblem:
gegebend teilbare Objekte mit Gewichtengi und die GewichtsschrankeG des Rucksacks.
Undvi sei der Nutzen für 16i6d. Seixi der Anteil von Objekti.
Fülle den Rucksack. Dabei soll der Nutzen maximal sein.
Als lineares Programm:
Maximiere
d
X
i=1
vi·xi.
unter den Nebenbedingungen:
Pd
i=1gi·xi 6G,
∀i : 16i6d:xi 61, und
∀i : 16i6d:xi >0.
Beispiel: Relaxiertes Rucksackproblem
Relaxiertes Rucksackproblem:
gegebend teilbare Objekte mit Gewichtengi und die GewichtsschrankeG des Rucksacks.
Undvi sei der Nutzen für 16i6d. Seixi der Anteil von Objekti.
Fülle den Rucksack. Dabei soll der Nutzen maximal sein.
Als lineares Programm:
Maximiere
d
X
i=1
vi·xi. unter den Nebenbedingungen:
Pd
i=1gi·xi 6G,
∀i : 16i6d:xi 61, und
∀i : 16i6d:xi >0.
Beispiel: Relaxiertes Rucksackproblem
Relaxiertes Rucksackproblem:
gegebend teilbare Objekte mit Gewichtengi und die GewichtsschrankeG des Rucksacks.
Undvi sei der Nutzen für 16i6d. Seixi der Anteil von Objekti.
Fülle den Rucksack. Dabei soll der Nutzen maximal sein.
Als lineares Programm:
Maximiere
d
X
i=1
vi·xi.
unter den Nebenbedingungen:
Pd
i=1gi·xi 6G,
∀i : 16i6d:xi 61, und
∀i : 16i6d:xi >0.
Beispiel: Relaxiertes Rucksackproblem
Relaxiertes Rucksackproblem:
gegebend teilbare Objekte mit Gewichtengi und die GewichtsschrankeG des Rucksacks.
Undvi sei der Nutzen für 16i6d. Seixi der Anteil von Objekti.
Fülle den Rucksack. Dabei soll der Nutzen maximal sein.
Als lineares Programm:
Maximiere
d
X
i=1
vi·xi.
unter den Nebenbedingungen:
Pd
i=1gi·xi 6G,
∀i : 16i6d:xi 61, und
∀i : 16i6d:xi >0.
Beispiel: Relaxiertes Rucksackproblem
Relaxiertes Rucksackproblem:
gegebend teilbare Objekte mit Gewichtengi und die GewichtsschrankeG des Rucksacks.
Undvi sei der Nutzen für 16i6d. Seixi der Anteil von Objekti.
Fülle den Rucksack. Dabei soll der Nutzen maximal sein.
Als lineares Programm:
Maximiere
d
X
i=1
vi·xi.
unter den Nebenbedingungen:
Pd
i=1gi·xi 6G,
∀i : 16i6d:xi 61, und
∀i : 16i6d:xi >0.
Beispiel: Relaxiertes Rucksackproblem
Relaxiertes Rucksackproblem:
gegebend teilbare Objekte mit Gewichtengi und die GewichtsschrankeG des Rucksacks.
Undvi sei der Nutzen für 16i6d. Seixi der Anteil von Objekti.
Fülle den Rucksack. Dabei soll der Nutzen maximal sein.
Als lineares Programm:
Maximiere
d
X
i=1
vi·xi.
unter den Nebenbedingungen:
Pd
i=1gi·xi 6G,
∀i : 16i6d:xi 61, und
∀i : 16i6d:xi >0.
Beispiel: Relaxiertes Rucksackproblem
Relaxiertes Rucksackproblem:
gegebend teilbare Objekte mit Gewichtengi und die GewichtsschrankeG des Rucksacks.
Undvi sei der Nutzen für 16i6d. Seixi der Anteil von Objekti.
Fülle den Rucksack. Dabei soll der Nutzen maximal sein.
Als lineares Programm:
Maximiere
d
X
i=1
vi·xi.
unter den Nebenbedingungen:
Pd
i=1gi·xi 6G,
∀i : 16i6d:xi 61, und
∀i : 16i6d:xi >0.
Beispiel: Routing und Wellenlängenzuweisung
Routing und Wellenlängenzuweisung: bestimme die Wellenlängen in einem optischen Netzwerk. In dem Netzwerk gibt es
Kommunikationsanfragen für Paare von Knoten.
NE Endknoten.
NR Router mit Konverter.
n=NE+NR.
Namen der Knoten:Ni (16i6n).
mAnzahl der Lichtwege.
E: (i,j)∈E ⇐⇒Kante vonNi nachNj. src(k): ist Startknoten derk-ten Anfrage.
dst(k): ist Endknoten derk-ten Anfrage.
Ωmax: Congestion des Netzwerks.
Xijk∈ {0,1}mit:
Xijk=
1 derk-te Weg nutzt Kante (i,j)∈E 0 sonst
WegenXijk∈ {0,1}ist dies hier ein “Integer Linerar Programm”.
Beispiel: Routing und Wellenlängenzuweisung
Routing und Wellenlängenzuweisung: bestimme die Wellenlängen in einem optischen Netzwerk. In dem Netzwerk gibt es
Kommunikationsanfragen für Paare von Knoten.
NE Endknoten.
NR Router mit Konverter.
n=NE+NR.
Namen der Knoten:Ni (16i6n).
mAnzahl der Lichtwege.
E: (i,j)∈E ⇐⇒Kante vonNi nachNj. src(k): ist Startknoten derk-ten Anfrage.
dst(k): ist Endknoten derk-ten Anfrage.
Ωmax: Congestion des Netzwerks.
Xijk∈ {0,1}mit:
Xijk=
1 derk-te Weg nutzt Kante (i,j)∈E 0 sonst
WegenXijk∈ {0,1}ist dies hier ein “Integer Linerar Programm”.
Beispiel: Routing und Wellenlängenzuweisung
Routing und Wellenlängenzuweisung: bestimme die Wellenlängen in einem optischen Netzwerk. In dem Netzwerk gibt es
Kommunikationsanfragen für Paare von Knoten.
NE Endknoten.
NR Router mit Konverter.
n=NE+NR.
Namen der Knoten:Ni (16i6n).
mAnzahl der Lichtwege.
E: (i,j)∈E ⇐⇒Kante vonNi nachNj. src(k): ist Startknoten derk-ten Anfrage.
dst(k): ist Endknoten derk-ten Anfrage.
Ωmax: Congestion des Netzwerks.
Xijk∈ {0,1}mit:
Xijk=
1 derk-te Weg nutzt Kante (i,j)∈E 0 sonst
WegenXijk∈ {0,1}ist dies hier ein “Integer Linerar Programm”.
Beispiel: Routing und Wellenlängenzuweisung
Routing und Wellenlängenzuweisung: bestimme die Wellenlängen in einem optischen Netzwerk. In dem Netzwerk gibt es
Kommunikationsanfragen für Paare von Knoten.
NE Endknoten.
NR Router mit Konverter.
n=NE+NR.
Namen der Knoten:Ni (16i6n).
mAnzahl der Lichtwege.
E: (i,j)∈E ⇐⇒Kante vonNi nachNj. src(k): ist Startknoten derk-ten Anfrage.
dst(k): ist Endknoten derk-ten Anfrage.
Ωmax: Congestion des Netzwerks.
Xijk∈ {0,1}mit:
Xijk=
1 derk-te Weg nutzt Kante (i,j)∈E 0 sonst
WegenXijk∈ {0,1}ist dies hier ein “Integer Linerar Programm”.
Beispiel: Routing und Wellenlängenzuweisung
Routing und Wellenlängenzuweisung: bestimme die Wellenlängen in einem optischen Netzwerk. In dem Netzwerk gibt es
Kommunikationsanfragen für Paare von Knoten.
NE Endknoten.
NR Router mit Konverter.
n=NE+NR.
Namen der Knoten:Ni (16i6n).
mAnzahl der Lichtwege.
E: (i,j)∈E ⇐⇒Kante vonNi nachNj. src(k): ist Startknoten derk-ten Anfrage.
dst(k): ist Endknoten derk-ten Anfrage.
Ωmax: Congestion des Netzwerks.
Xijk∈ {0,1}mit:
Xijk=
1 derk-te Weg nutzt Kante (i,j)∈E 0 sonst
WegenXijk∈ {0,1}ist dies hier ein “Integer Linerar Programm”.
Beispiel: Routing und Wellenlängenzuweisung
Routing und Wellenlängenzuweisung: bestimme die Wellenlängen in einem optischen Netzwerk. In dem Netzwerk gibt es
Kommunikationsanfragen für Paare von Knoten.
NE Endknoten.
NR Router mit Konverter.
n=NE+NR.
Namen der Knoten:Ni (16i6n).
mAnzahl der Lichtwege.
E: (i,j)∈E ⇐⇒Kante vonNi nachNj. src(k): ist Startknoten derk-ten Anfrage.
dst(k): ist Endknoten derk-ten Anfrage.
Ωmax: Congestion des Netzwerks.
Xijk∈ {0,1}mit:
Xijk=
1 derk-te Weg nutzt Kante (i,j)∈E 0 sonst
WegenXijk∈ {0,1}ist dies hier ein “Integer Linerar Programm”.
Beispiel: Routing und Wellenlängenzuweisung
Routing und Wellenlängenzuweisung: bestimme die Wellenlängen in einem optischen Netzwerk. In dem Netzwerk gibt es
Kommunikationsanfragen für Paare von Knoten.
NE Endknoten.
NR Router mit Konverter.
n=NE+NR.
Namen der Knoten:Ni (16i6n).
mAnzahl der Lichtwege.
E: (i,j)∈E ⇐⇒Kante vonNi nachNj. src(k): ist Startknoten derk-ten Anfrage.
dst(k): ist Endknoten derk-ten Anfrage.
Ωmax: Congestion des Netzwerks.
Xijk∈ {0,1}mit:
Xijk=
1 derk-te Weg nutzt Kante (i,j)∈E 0 sonst
WegenXijk∈ {0,1}ist dies hier ein “Integer Linerar Programm”.
Beispiel: Routing und Wellenlängenzuweisung
Routing und Wellenlängenzuweisung: bestimme die Wellenlängen in einem optischen Netzwerk. In dem Netzwerk gibt es
Kommunikationsanfragen für Paare von Knoten.
NE Endknoten.
NR Router mit Konverter.
n=NE+NR.
Namen der Knoten:Ni (16i6n).
mAnzahl der Lichtwege.
E: (i,j)∈E ⇐⇒Kante vonNi nachNj. src(k): ist Startknoten derk-ten Anfrage.
dst(k): ist Endknoten derk-ten Anfrage.
Ωmax: Congestion des Netzwerks.
Xijk∈ {0,1}mit:
Xijk=
1 derk-te Weg nutzt Kante (i,j)∈E 0 sonst
WegenXijk∈ {0,1}ist dies hier ein “Integer Linerar Programm”.
Beispiel: Routing und Wellenlängenzuweisung
Routing und Wellenlängenzuweisung: bestimme die Wellenlängen in einem optischen Netzwerk. In dem Netzwerk gibt es
Kommunikationsanfragen für Paare von Knoten.
NE Endknoten.
NR Router mit Konverter.
n=NE+NR.
Namen der Knoten:Ni (16i6n).
mAnzahl der Lichtwege.
E: (i,j)∈E ⇐⇒Kante vonNi nachNj. src(k): ist Startknoten derk-ten Anfrage.
dst(k): ist Endknoten derk-ten Anfrage.
Ωmax: Congestion des Netzwerks.
Xijk∈ {0,1}mit:
Xijk=
1 derk-te Weg nutzt Kante (i,j)∈E 0 sonst
WegenXijk∈ {0,1}ist dies hier ein “Integer Linerar Programm”.
Beispiel: Routing und Wellenlängenzuweisung
Routing und Wellenlängenzuweisung: bestimme die Wellenlängen in einem optischen Netzwerk. In dem Netzwerk gibt es
Kommunikationsanfragen für Paare von Knoten.
NE Endknoten.
NR Router mit Konverter.
n=NE+NR.
Namen der Knoten:Ni (16i6n).
mAnzahl der Lichtwege.
E: (i,j)∈E ⇐⇒Kante vonNi nachNj. src(k): ist Startknoten derk-ten Anfrage.
dst(k): ist Endknoten derk-ten Anfrage.
Ωmax: Congestion des Netzwerks.
Xijk∈ {0,1}mit:
Xijk=
1 derk-te Weg nutzt Kante (i,j)∈E 0 sonst
WegenXijk∈ {0,1}ist dies hier ein “Integer Linerar Programm”.
Beispiel: Routing und Wellenlängenzuweisung
Routing und Wellenlängenzuweisung: bestimme die Wellenlängen in einem optischen Netzwerk. In dem Netzwerk gibt es
Kommunikationsanfragen für Paare von Knoten.
NE Endknoten.
NR Router mit Konverter.
n=NE+NR.
Namen der Knoten:Ni (16i6n).
mAnzahl der Lichtwege.
E: (i,j)∈E ⇐⇒Kante vonNi nachNj. src(k): ist Startknoten derk-ten Anfrage.
dst(k): ist Endknoten derk-ten Anfrage.
Ωmax: Congestion des Netzwerks.
Xijk∈ {0,1}mit:
Xijk=
1 derk-te Weg nutzt Kante (i,j)∈E 0 sonst
WegenXijk∈ {0,1}ist dies hier ein “Integer Linerar Programm”.
Beispiel: Routing und Wellenlängenzuweisung
Routing und Wellenlängenzuweisung: bestimme die Wellenlängen in einem optischen Netzwerk. In dem Netzwerk gibt es
Kommunikationsanfragen für Paare von Knoten.
NE Endknoten.
NR Router mit Konverter.
n=NE+NR.
Namen der Knoten:Ni (16i6n).
mAnzahl der Lichtwege.
E: (i,j)∈E ⇐⇒Kante vonNi nachNj. src(k): ist Startknoten derk-ten Anfrage.
dst(k): ist Endknoten derk-ten Anfrage.
Ωmax: Congestion des Netzwerks.
Xijk∈ {0,1}mit:
Xijk=
1 derk-te Weg nutzt Kante (i,j)∈E 0 sonst
WegenXijk∈ {0,1}ist dies hier ein “Integer Linerar Programm”.
Beispiel: Routing und Wellenlängenzuweisung
Routing und Wellenlängenzuweisung: bestimme die Wellenlängen in einem optischen Netzwerk. In dem Netzwerk gibt es
Kommunikationsanfragen für Paare von Knoten.
NE Endknoten.
NR Router mit Konverter.
n=NE+NR.
Namen der Knoten:Ni (16i6n).
mAnzahl der Lichtwege.
E: (i,j)∈E ⇐⇒Kante vonNi nachNj. src(k): ist Startknoten derk-ten Anfrage.
dst(k): ist Endknoten derk-ten Anfrage.
Ωmax: Congestion des Netzwerks.
Xijk∈ {0,1}mit:
Xijk=
1 derk-te Weg nutzt Kante (i,j)∈E 0 sonst
WegenXijk∈ {0,1}ist dies hier ein “Integer Linerar Programm”.
Routing und Wellenlängenzuweisung als ILP
n=NE+NR src(k)←→dst(k) : (16k6m) Xijk:k-te Weg nutzt Kante (i,j)
Minimiere Zielfunktion Ωmax. Pm
k=1Xijk6Ωmax,∀(i,j)∈E.
Für allek: 16k6mund allei: 16i6n:
X
j:(i,j)∈E
Xijk− X
j:(j,i)∈E
Xjik=
( 1 fallssrc(k) =i
−1 fallsdst(k) =i 0 sonst
Dies ist eine korrekte Formulierung des Routen- und Wellenlängenzuweisungsproblems als ILP.
Komplexität:
m· |E|Variablen der FormXijk. Eine Variable Ωmax.
Nebenbedingungen:|E|+n·m.
Schon für relativ kleine Netzwerke zu aufwendig.