Einführung in die Lineare Programmierung

Werbung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Einführung in die
Lineare Programmierung
Prof. Dr. Berthold Vöcking
Lehrstuhl Informatik 1
RWTH Aachen
27. Mai 2008
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Elementares Beispiel
Gegeben seien 1000 qm Gartenfläche, davon 600 qm für Anbau
von Blumen geeignet. Der Erlös pro qm Blumen sei 100 Euro, der
Erlös pro qm Gemüse 50 Euro. Bestimme eine Verteilung der
Anbauflächen, die den Erlös maximiert, d.h.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Elementares Beispiel
Gegeben seien 1000 qm Gartenfläche, davon 600 qm für Anbau
von Blumen geeignet. Der Erlös pro qm Blumen sei 100 Euro, der
Erlös pro qm Gemüse 50 Euro. Bestimme eine Verteilung der
Anbauflächen, die den Erlös maximiert, d.h.
Maximiere 100x1 + 50x2
unter den Nebenbedingungen
x1 + x2 ≤ 1000
x1 ≤ 600
x1 , x2 ≥ 0
Geometrische Darstellung?
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
LP in kanonischer Form
Für i = 1, . . . , m und j = 1, . . . , d seien cj , bi und aij reelle Zahlen.
Gesucht ist eine Belegung der Variablen x1 , . . . , xd , so dass die
Zielfunktion
d
X
cj xj
j=1
maximiert wird unter den Nebenbedingungen
d
X
aij xj
≤ bi
(für i = 1, . . . , m)
xj
≥ 0
(für j = 1, . . . , d) .
j=1
Letztere Bedingungen heißen Nicht-Negativitätsbedingungen.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Lineares Programm (LP) in kanonischer Form
Setze x = (xj ), c = (cj ), b = (bi ) und A = (aij ). Kurzgefasst
ergibt sich
LP in kanonischer Form
Maximiere c T x unter Ax ≤ b, x ≥ 0.
LPs in anderer Form können einfach in die kanonische Form
gebracht werden. (Wie?)
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Beispiel: Flussproblem
Gegeben sei ein Flussnetzwerk G = (V , E , c, q, s). Seien A(v ) und
E (v ) die Ausgangs- bzw. Eingangskanten zum Knoten v ∈ V .
Maximiere
X
xe
e∈A(q)
unter den Nebenbedingungen
X
X
xe =
xe
e∈A(v )
∀v ∈ V \ {q, s}
e∈E (v )
xe
≤ c(e)
∀e ∈ E
xe
≥ 0
∀e ∈ E
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Beispiel: Relaxiertes Rucksackproblem
Maximiere
d
X
vi xi
i =1
unter
d
X
gi xi
≤ G
xi
≤ 1
1≤i ≤d
xi
≥ 0
1≤i ≤d
i =1
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Geometrische Interpretation
Variablenbelegung x = (x1 , . . . , xd )T entspricht Punkt im
d-dimensionalen Raum Rd .
Jede Nebenbedingung ai x ≤ bi definiert einen Halbraum. Die
Grenze dieses Halbraumes ist die Hyperebene ai x = bi .
Die Schnittmenge der NB-Halbräume ist der Raum der
zulässigen Lösungen bzw. das Lösungspolyhedron P.
Ein LP wird als zulässig bezeichnet, wenn P nicht leer ist.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Konvexität des Lösungsraums
Behauptung 1.1
Die durch ein Polyhedron P beschriebene Punktmenge ist konvex,
d.h., für jedes Punktepaar x, y ∈ P sind auch alle Punkte auf der
Verbindungslinie
`(x, y ) = {λx + (1 − λ)y | λ ∈ [0, 1]}
zwischen x und y in P enthalten.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Beweis von Behauptung 1.1
Ein Polyhedron ist die Schnittmenge von Halbräumen. Jeder
einzelne dieser Halbräume ist konvex. Wir müssen also nur zeigen,
dass die Schnittmenge von zwei konvexen Mengen A und B
ebenfalls konvex ist.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Beweis von Behauptung 1.1
Ein Polyhedron ist die Schnittmenge von Halbräumen. Jeder
einzelne dieser Halbräume ist konvex. Wir müssen also nur zeigen,
dass die Schnittmenge von zwei konvexen Mengen A und B
ebenfalls konvex ist.
Seien x, y ∈ A ∩ B.
Dann sind x, y ∈ A, so dass `(x, y ) ⊆ A.
Zudem sind x, y ∈ B, so dass `(x, y ) ⊆ B.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Beweis von Behauptung 1.1
Ein Polyhedron ist die Schnittmenge von Halbräumen. Jeder
einzelne dieser Halbräume ist konvex. Wir müssen also nur zeigen,
dass die Schnittmenge von zwei konvexen Mengen A und B
ebenfalls konvex ist.
Seien x, y ∈ A ∩ B.
Dann sind x, y ∈ A, so dass `(x, y ) ⊆ A.
Zudem sind x, y ∈ B, so dass `(x, y ) ⊆ B.
Also ist `(x, y ) ⊆ A ∩ B und somit ist A ∩ B konvex.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Lokales Optimum = Globales Optimum
Behauptung 1.2
Zu x ∈ P gebe es z ∈ P mit c T z > c T x. Dann existiert für jedes
> 0 ein Punkt y ∈ P mit ||x − y || ≤ und c T y > c T x.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Beweis von Behauptung 1.2
Da P konvex ist, liegt die Verbindungslinie `(x, z) zwischen x und
z in P. Wähle einen beliebigen Punkt y ∈ `(x, z), y 6= x,
||x − y || ≤ .
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Beweis von Behauptung 1.2
Da P konvex ist, liegt die Verbindungslinie `(x, z) zwischen x und
z in P. Wähle einen beliebigen Punkt y ∈ `(x, z), y 6= x,
||x − y || ≤ .
Aus der Definition von `(x, z) ergibt sich, es gibt ein λ > 0, so
dass y = λx + (1 − λ)z.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Beweis von Behauptung 1.2
Da P konvex ist, liegt die Verbindungslinie `(x, z) zwischen x und
z in P. Wähle einen beliebigen Punkt y ∈ `(x, z), y 6= x,
||x − y || ≤ .
Aus der Definition von `(x, z) ergibt sich, es gibt ein λ > 0, so
dass y = λx + (1 − λ)z.
Somit folgt
cT y
= c T (λx + (1 − λ)z)
= λc T x + (1 − λ)c T z
> λc T x + (1 − λ)c T x
= cT x .
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Facetten, Faces, Kanten, Knoten
Die Oberfläche“ eines Polyhedrons besteht aus Facetten“.
”
”
Eine d − 1 dimensionale Facette wird als Face bezeichnet. Ist
P beispielsweise drei-dimensional, so entspricht ein Face einer
Seitenfläche von P.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Facetten, Faces, Kanten, Knoten
Die Oberfläche“ eines Polyhedrons besteht aus Facetten“.
”
”
Eine d − 1 dimensionale Facette wird als Face bezeichnet. Ist
P beispielsweise drei-dimensional, so entspricht ein Face einer
Seitenfläche von P.
Eine Kante entsteht aus dem Schnitt von d − 1 vielen
Hyperebenen und entspricht einer ein-dimensionalen Facette.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Facetten, Faces, Kanten, Knoten
Die Oberfläche“ eines Polyhedrons besteht aus Facetten“.
”
”
Eine d − 1 dimensionale Facette wird als Face bezeichnet. Ist
P beispielsweise drei-dimensional, so entspricht ein Face einer
Seitenfläche von P.
Eine Kante entsteht aus dem Schnitt von d − 1 vielen
Hyperebenen und entspricht einer ein-dimensionalen Facette.
Ein Knoten wird durch den Schnitt von d Hyperebenen
definiert und entspricht einer Facette der Dimension 0.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Optimaler Knoten
Geometrische Bestimmung des Optimums liefert
Beobachtung 1.3
Das Optimum eines zulässigen und beschränkten LPs wird an einem
Knoten des Lösungpolyhedrons angenommen.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Geometrische Beschreibung des Simplexverfahrens
1
Bestimme einen beliebigen Knoten v von P.
2
Falls es keine verbessernde Kante inzident zu v gibt, dann ist
v optimal, stopp.
3
Folge einer beliebigen verbessernden Kante e von v . Falls e
unbeschränkt ist so ist das LP unbeschränkt, stopp.
4
Sei u der andere Endpunkt von e. Setze v = u. Gehe zurück
zu Schritt 2.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
LP in algebraischer Gleichungsform
Maximiere c T x unter Ax = b, x ≥ 0.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Transformation von der kanonischen in die Gleichungsform
Gegeben sei ein LP in kanonischer Form mit d Variablen und
m Nebenbedingungen der Form
d
X
aij xj ≤ bi .
j=1
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Transformation von der kanonischen in die Gleichungsform
Gegeben sei ein LP in kanonischer Form mit d Variablen und
m Nebenbedingungen der Form
d
X
aij xj ≤ bi .
j=1
Für die i -te Nebenbedingung, 1 ≤ i ≤ m, erzeuge Gleichung
mit Schlupfvariable si ≥ 0:
d
X
aij xj + si = bi .
j=1
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Transformation von der kanonischen in die Gleichungsform
Gegeben sei ein LP in kanonischer Form mit d Variablen und
m Nebenbedingungen der Form
d
X
aij xj ≤ bi .
j=1
Für die i -te Nebenbedingung, 1 ≤ i ≤ m, erzeuge Gleichung
mit Schlupfvariable si ≥ 0:
d
X
aij xj + si = bi .
j=1
Wir erhalten ein LP in Gleichungsform mit n := d + m
Variablen.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Beispiel für Transformation
LP in kanonischer Form
x1 ≤ 4
x2 ≤ 2
−x1 + x2 ≤ 1
x1 , x2 ≥ 0
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Beispiel für Transformation
LP in Gleichungsform
LP in kanonischer Form
x1 ≤ 4
x2 ≤ 2
x1 + s 1 = 4
⇒
x2 + s 2 = 2
−x1 + x2 ≤ 1
−x1 + x2 + s3 = 1
x1 , x2 ≥ 0
x1 , x2 , s 1 , s 2 , s 3 ≥ 0
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Beispiel für Transformation
LP in Gleichungsform
LP in kanonischer Form
x1 ≤ 4
x2 ≤ 2
x1 + s 1 = 4
⇒
x2 + s 2 = 2
−x1 + x2 ≤ 1
−x1 + x2 + s3 = 1
x1 , x2 ≥ 0
x1 , x2 , s 1 , s 2 , s 3 ≥ 0
angepasste Notation
x1 + x3 = 4
x2 + x4 = 2
−x1 + x2 + x5 = 1
x1 , . . . , x5 ≥ 0
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Geometrische Darstellung des LPs in kanonischer Form
x2
x1 ≤ 4
(1,2)
x2 ≤ 2
−x1 + x2 ≤ 1
x1 , x2 ≥ 0
x1
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Geometrische Darstellung des LPs in kanonischer Form
x2
x1 ≤ 4
(1,2)
x2 ≤ 2
−x1 + x2 ≤ 1
x1 , x2 ≥ 0
x1
Beziehung zwischen Hyperebenen und Variablen
Jeder Punkt (x1 , x2 ) des LPs in kanonischer Form kann durch
Einsetzen in das Gleichungssystem in einen Punkt (x1 , . . . , x5 )
des LPs algebraischer Form umgerechnet werden.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Geometrische Darstellung des LPs in kanonischer Form
x2
x1 ≤ 4
(1,2)
x2 ≤ 2
−x1 + x2 ≤ 1
x1 , x2 ≥ 0
x1
Beziehung zwischen Hyperebenen und Variablen
Jeder Punkt (x1 , x2 ) des LPs in kanonischer Form kann durch
Einsetzen in das Gleichungssystem in einen Punkt (x1 , . . . , x5 )
des LPs algebraischer Form umgerechnet werden.
Der Pkt (1, 2) entspricht beispielsweise dem Pkt (1, 2, 3, 0, 0).
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Beziehung zwischen Hyperebenen und Variablen
Zu jeder NB-Hyperebene (bzgl. der kanonischen Form) gibt es eine
assoziierte Variable (in der algebraischen Form), die den Wert 0 auf
dieser Hyperebene annimmt.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Beziehung zwischen Hyperebenen und Variablen
Zu jeder NB-Hyperebene (bzgl. der kanonischen Form) gibt es eine
assoziierte Variable (in der algebraischen Form), die den Wert 0 auf
dieser Hyperebene annimmt.
Erläuterung am Beispiel
x5= 0
x4= 0
x1 + x3 = 4
x2 + x4 = 2
−x1 + x2 + x5 = 1
x1 , . . . , x5 ≥ 0
x2= 0
x1= 0
x3= 0
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Basislösungen
Gegeben sei ein LP in Gleichungsform:
Maximiere c T x unter Ax = b, x ≥ 0,
wobei A ∈ Rm·n , m ≤ n, rang (A) = m.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Basislösungen
Gegeben sei ein LP in Gleichungsform:
Maximiere c T x unter Ax = b, x ≥ 0,
wobei A ∈ Rm·n , m ≤ n, rang (A) = m.
Eine Basis B ist eine Auswahl von m linear unabhängigen
Spalten von A.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Basislösungen
Gegeben sei ein LP in Gleichungsform:
Maximiere c T x unter Ax = b, x ≥ 0,
wobei A ∈ Rm·n , m ≤ n, rang (A) = m.
Eine Basis B ist eine Auswahl von m linear unabhängigen
Spalten von A.
Die i -te Spalte in B wird mit B(i ) bezeichnet.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Basislösungen
Gegeben sei ein LP in Gleichungsform:
Maximiere c T x unter Ax = b, x ≥ 0,
wobei A ∈ Rm·n , m ≤ n, rang (A) = m.
Eine Basis B ist eine Auswahl von m linear unabhängigen
Spalten von A.
Die i -te Spalte in B wird mit B(i ) bezeichnet.
Mit N bezeichnen die Auswahl der n − m Nichtbasisspalten.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Basislösungen
Wir zerlegen die Matrix A in zwei Teilmatritzen AB und AN ,
die aus den Spalten in B und den Spalten in N bestehen.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Basislösungen
Wir zerlegen die Matrix A in zwei Teilmatritzen AB und AN ,
die aus den Spalten in B und den Spalten in N bestehen.
Aus dem Gleichungssystem Ax = b wird das Gleichungsystem
A B xB + A N xN = b .
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Basislösungen
Wir zerlegen die Matrix A in zwei Teilmatritzen AB und AN ,
die aus den Spalten in B und den Spalten in N bestehen.
Aus dem Gleichungssystem Ax = b wird das Gleichungsystem
A B xB + A N xN = b .
Wenn wir xN = 0 setzen, so hat dieses Gleichungsystem eine
eindeutige Lösung, die sogenannte Basislösung
xB = A−1
B b .
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Basislösungen
Wir zerlegen die Matrix A in zwei Teilmatritzen AB und AN ,
die aus den Spalten in B und den Spalten in N bestehen.
Aus dem Gleichungssystem Ax = b wird das Gleichungsystem
A B xB + A N xN = b .
Wenn wir xN = 0 setzen, so hat dieses Gleichungsystem eine
eindeutige Lösung, die sogenannte Basislösung
xB = A−1
B b .
Die Basislösung ist zulässig falls xB ≥ 0, also falls A−1
B b ≥ 0.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Basislösungen
Querbezug zur kanonischen Form
Sei B eine Basis und (xB , xN ) die zugehörige Basislösung.
In der Basislösung haben mindestens |N| = n − m = d
Variablen den Wert 0.
Also liegt die Basislösung auf dem Schnitt von mindestens d
NB-Hyperebenen.
Fazit: zulässige Basislösungen entsprechen den Knoten des
Lösungpolyhedrons.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Vereinfachte Darstellung von Basislösungen
Sei B eine Basis mit Basislösung xB∗ .
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Vereinfachte Darstellung von Basislösungen
Sei B eine Basis mit Basislösung xB∗ .
Wenn wir das Gleichungssystem Ax = b von links mit A−1
B
multiplizieren, erhalten wir das äquivalente Gleichungssystem
Âx = b̂
−1
mit  := A−1
B A und b̂ := AB b.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Vereinfachte Darstellung von Basislösungen
Sei B eine Basis mit Basislösung xB∗ .
Wenn wir das Gleichungssystem Ax = b von links mit A−1
B
multiplizieren, erhalten wir das äquivalente Gleichungssystem
Âx = b̂
−1
mit  := A−1
B A und b̂ := AB b.
Dies ist eine angenehme“ Darstellung des Gleichungssystems
”
denn es gilt
ÂB
= A−1
B AB
xB∗
= A−1
B b = b̂ .
= Em , und
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Tableaudarstellung von Basislösungen – Beispiel
LP in Gleichungsform
Maximiere −x1 + 2x2 unter
x1 + x3 = 4
x2 + x4 = 2
−x1 + x2 + x5 = 1
x1 , . . . , x5 ≥ 0
Die Matrix A


1 0 1 0 0
 0 1 0 1 0 
−1 1 0 0 1
Betrachte die Basis B = (A3 , A4 , A5 ).
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Tableaudarstellung von Basislösungen – Beispiel
LP in Gleichungsform
Maximiere −x1 + 2x2 unter
x1 + x3 = 4
x2 + x4 = 2
−x1 + x2 + x5 = 1
x1 , . . . , x5 ≥ 0
Die Matrix A


1 0 1 0 0
 0 1 0 1 0 
−1 1 0 0 1
Betrachte die Basis B = (A3 , A4 , A5 ).
Es gilt AB = E3 und somit auch A−1
B = E3 .
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Tableaudarstellung von Basislösungen – Beispiel
LP in Gleichungsform
Maximiere −x1 + 2x2 unter
x1 + x3 = 4
x2 + x4 = 2
−x1 + x2 + x5 = 1
x1 , . . . , x5 ≥ 0
Die Matrix A


1 0 1 0 0
 0 1 0 1 0 
−1 1 0 0 1
Betrachte die Basis B = (A3 , A4 , A5 ).
Es gilt AB = E3 und somit auch A−1
B = E3 .
−1
Es folgt  = AB A = A und b̂ = A−1
B b = b = (4, 2, 1).
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Tableaudarstellung von Basislösungen – Beispiel
LP in Gleichungsform
Maximiere −x1 + 2x2 unter
x1 + x3 = 4
x2 + x4 = 2
−x1 + x2 + x5 = 1
x1 , . . . , x5 ≥ 0
Die Matrix A


1 0 1 0 0
 0 1 0 1 0 
−1 1 0 0 1
Betrachte die Basis B = (A3 , A4 , A5 ).
Es gilt AB = E3 und somit auch A−1
B = E3 .
−1
Es folgt  = AB A = A und b̂ = A−1
B b = b = (4, 2, 1).
Die zugehörige Basislösung ist somit (0, 0, 4, 2, 1) ≥ 0, d.h.
die Basislösung ist zulässig.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die kanonische Form
Die algebraische Gleichungsform
Tableaudarstellung von Basislösungen – Beispiel
Diese Basislösung können wir wie folgt in einem Tableau
darstellen:
Simplextableau:
b̂
4
2
1
Â1
1
0
−1
Â2
0
1
1
Â3
1
0
0
Â4
0
1
0
Â5
0
0
1
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Der Simplexalgorithmus im Überblick
Der Simplexalgorithmus beginnt mit einer beliebigen zulässigen
Basis und führt dann Pivotschritte durch, bis ein optimale Basis
gefunden ist.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Der Simplexalgorithmus im Überblick
Der Simplexalgorithmus beginnt mit einer beliebigen zulässigen
Basis und führt dann Pivotschritte durch, bis ein optimale Basis
gefunden ist.
Pivotschritt
Bekannt: zulässige Basis B und vereinfachtes Gleichungssystem Âx = b̂ mit ÂB = Em .
Gesucht: Basis B 0 , die sich von B nur in einer Spalte
unterscheidet und einen besseren Zielfunktionswert hat.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Wann ist eine Basislösung optimal?
Sei x eine beliebige zulässige Lösung.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Wann ist eine Basislösung optimal?
Sei x eine beliebige zulässige Lösung.
Der Zielfunktionswert von x ist
cT x
= cBT xB + cNT xN
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Wann ist eine Basislösung optimal?
Sei x eine beliebige zulässige Lösung.
Der Zielfunktionswert von x ist
cT x
= cBT xB + cNT xN
Aus ÂB xB + ÂN xN = b̂ und ÂB = Em folgt xB = b̂ − ÂN xN .
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Wann ist eine Basislösung optimal?
Sei x eine beliebige zulässige Lösung.
Der Zielfunktionswert von x ist
cT x
= cBT xB + cNT xN
Aus ÂB xB + ÂN xN = b̂ und ÂB = Em folgt xB = b̂ − ÂN xN .
Es ergibt sich
cT x
= cBT (b̂ − ÂN xN ) + cNT xN
= cBT b̂ + (cNT − cBT ÂN ) xN .
{z
}
|
vB
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Wann ist eine Basislösung optimal?
Sei x eine beliebige zulässige Lösung.
Der Zielfunktionswert von x ist
cT x
= cBT xB + cNT xN
Aus ÂB xB + ÂN xN = b̂ und ÂB = Em folgt xB = b̂ − ÂN xN .
Es ergibt sich
cT x
= cBT (b̂ − ÂN xN ) + cNT xN
= cBT b̂ + (cNT − cBT ÂN ) xN .
{z
}
|
vB
vB = cNT − cBT ÂN wird Vektor der reduzierten Kosten genannt.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Wann ist eine Basislösung optimal?
Satz (Optimalitätskriterium)
vB ≤ 0 ⇒ B ist optimale Basis
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Wann ist eine Basislösung optimal?
Satz (Optimalitätskriterium)
vB ≤ 0 ⇒ B ist optimale Basis
Beweis:
Sei x ≥ 0 eine beliebige zulässige Lösung.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Wann ist eine Basislösung optimal?
Satz (Optimalitätskriterium)
vB ≤ 0 ⇒ B ist optimale Basis
Beweis:
Sei x ≥ 0 eine beliebige zulässige Lösung.
Der Zielfunktionswert von x ist nicht größer als der
Zielfunktionswert der Basis B, denn
c T x = cBT b̂ + vB xN ≤ cBT b̂ .
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Wann ist eine Basislösung optimal?
Satz (Optimalitätskriterium)
vB ≤ 0 ⇒ B ist optimale Basis
Beweis:
Sei x ≥ 0 eine beliebige zulässige Lösung.
Der Zielfunktionswert von x ist nicht größer als der
Zielfunktionswert der Basis B, denn
c T x = cBT b̂ + vB xN ≤ cBT b̂ .
Somit ist B optimal.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Durchführung des Pivotschritts
Wenn das Optimalitätskriterium erfüllt ist, so stoppt der
Simplexalgorithmus.
Idee: Erhöhe den Wert von xj und passe die Werte der Basisvariablen
entsprechend an, so dass weiterhin Âx = b̂ gilt.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Durchführung des Pivotschritts
Wenn das Optimalitätskriterium erfüllt ist, so stoppt der
Simplexalgorithmus.
Ansonsten gibt es eine Nichtbasisvariable xj mit positiven
reduzierten Kosten, d.h.
vB,j = cj −
m
X
cB(k) âkj > 0 .
k=1
Idee: Erhöhe den Wert von xj und passe die Werte der Basisvariablen
entsprechend an, so dass weiterhin Âx = b̂ gilt.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Durchführung des Pivotschritts
Wenn das Optimalitätskriterium erfüllt ist, so stoppt der
Simplexalgorithmus.
Ansonsten gibt es eine Nichtbasisvariable xj mit positiven
reduzierten Kosten, d.h.
vB,j = cj −
m
X
cB(k) âkj > 0 .
k=1
Wenn wir den Wert dieser Variable erhöhen, so erhöht sich
der Zielfunktionswert, denn c T x = cBT b̂ + vB xN .
Idee: Erhöhe den Wert von xj und passe die Werte der Basisvariablen
entsprechend an, so dass weiterhin Âx = b̂ gilt.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Durchführung des Pivotschritts
Die Erhöhung des Wertes von xj unter Anpassung der
Basisvariablen entspricht dem Folgen einer verbessernden
Kante auf dem Lösungspolyhedron.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Durchführung des Pivotschritts
Die Erhöhung des Wertes von xj unter Anpassung der
Basisvariablen entspricht dem Folgen einer verbessernden
Kante auf dem Lösungspolyhedron.
Das betrachtete Gleichungssystem besteht aus den Basisvariablen und der Variable xj , d.h. es gibt m + 1 Variablen und
m Gleichungen.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Durchführung des Pivotschritts
Die Erhöhung des Wertes von xj unter Anpassung der
Basisvariablen entspricht dem Folgen einer verbessernden
Kante auf dem Lösungspolyhedron.
Das betrachtete Gleichungssystem besteht aus den Basisvariablen und der Variable xj , d.h. es gibt m + 1 Variablen und
m Gleichungen.
Für die i -te Basisvariable xB(i ) gilt dabei
xB(i ) = b̂i − âij xj
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Durchführung des Pivotschritts
Die Erhöhung des Wertes von xj unter Anpassung der
Basisvariablen entspricht dem Folgen einer verbessernden
Kante auf dem Lösungspolyhedron.
Das betrachtete Gleichungssystem besteht aus den Basisvariablen und der Variable xj , d.h. es gibt m + 1 Variablen und
m Gleichungen.
Für die i -te Basisvariable xB(i ) gilt dabei
xB(i ) = b̂i − âij xj
Wenn âij negativ (positiv) ist, dann führt ein Erhöhen von xj
somit zu einem Erhöhen (Erniedrigen) der Basisvariable xB(i ) .
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Durchführung des Pivotschritts
Fall 1: ∀i ∈ {1, . . . , m} : âij ≤ 0.
In diesem Fall kann xj und somit der Zielfunktionswert beliebig
erhöht werden, ohne dass die Zulässigkeit verletzt wird.
Das LP ist unbeschränkt. Der Simplexalgorithmus stoppt.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Durchführung des Pivotschritts
Fall 1: ∀i ∈ {1, . . . , m} : âij ≤ 0.
In diesem Fall kann xj und somit der Zielfunktionswert beliebig
erhöht werden, ohne dass die Zulässigkeit verletzt wird.
Das LP ist unbeschränkt. Der Simplexalgorithmus stoppt.
Fall 2: ∃i ∈ {1, . . . , m} : âij > 0.
Wähle
i = argmin1≤k≤m
Setze B 0 := B \ {AB(i ) } ∪ {Aj }.
Nächster Pivotschritt.
(
)
b̂k âkj > 0
âkj Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Beispielrechung im Simplextableau
Tableau zu Beginn von Schritt 1
b̂
4
2
1
Â1
1
0
−1
Â2
0
1
1
Â3
1
0
0
Â4
0
1
0
Â5
0
0
1
Die Basis ist B = (Â3 , Â4 , Â5 ).
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Beispielrechung im Simplextableau
Tableau zu Beginn von Schritt 1
b̂
4
2
1
Â1
1
0
−1
Â2
0
1
1
Â3
1
0
0
Â4
0
1
0
Â5
0
0
1
Die Basis ist B = (Â3 , Â4 , Â5 ).
Somit ist cB = (0, 0, 0) und c1 = −1, c2 = 2.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Beispielrechung im Simplextableau
Tableau zu Beginn von Schritt 1
b̂
4
2
1
Â1
1
0
−1
Â2
0
1
1
Â3
1
0
0
Â4
0
1
0
Â5
0
0
1
Die Basis ist B = (Â3 , Â4 , Â5 ).
Somit ist cB = (0, 0, 0) und c1 = −1, c2 = 2.
Die red. Kosten von Spalte 1 sind −1 und von Spalte 2 sind 2.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Beispielrechung im Simplextableau
Tableau zu Beginn von Schritt 1
b̂
4
2
1
Â1
1
0
−1
Â2
0
1
1
Â3
1
0
0
Â4
0
1
0
Â5
0
0
1
Die Basis ist B = (Â3 , Â4 , Â5 ).
Somit ist cB = (0, 0, 0) und c1 = −1, c2 = 2.
Die red. Kosten von Spalte 1 sind −1 und von Spalte 2 sind 2.
Wir können somit Spalte 2 als Eingangspivotspalte wählen.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Beispielrechung im Simplextableau
Tableau zu Beginn von Schritt 1
b̂
4
2
1
Â1
1
0
−1
Â2
0
1
1
Â3
1
0
0
Â4
0
1
0
Â5
0
0
1
Die Basis ist B = (Â3 , Â4 , Â5 ).
Somit ist cB = (0, 0, 0) und c1 = −1, c2 = 2.
Die red. Kosten von Spalte 1 sind −1 und von Spalte 2 sind 2.
Wir können somit Spalte 2 als Eingangspivotspalte wählen.
Der Term b̂i /âi 2 , âi 2 > 0, wird minimiert für i = 3.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Beispielrechung im Simplextableau
Tableau zu Beginn von Schritt 1
b̂
4
2
1
Â1
1
0
−1
Â2
0
1
1
Â3
1
0
0
Â4
0
1
0
Â5
0
0
1
Die Basis ist B = (Â3 , Â4 , Â5 ).
Somit ist cB = (0, 0, 0) und c1 = −1, c2 = 2.
Die red. Kosten von Spalte 1 sind −1 und von Spalte 2 sind 2.
Wir können somit Spalte 2 als Eingangspivotspalte wählen.
Der Term b̂i /âi 2 , âi 2 > 0, wird minimiert für i = 3.
Damit ist die Spalte B(3) = 5 die eindeutig bestimmte
Ausgangspivotspalte.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Beispielrechnung im Simplextableau
Transformation des Tableaus
Sei j die Eingangsspalte und B(i ) die Ausgangsspalte.
1
Zeile i des Gleichungssystems wird mit 1/âij multipliziert.
2
Für k 6= i , wird die in Schritt 1 erzeugte Zeile mit −âkj
multipliziert und zur k-ten Zeile addiert.
Nach dieser Transformationen sind die Voraussetzungen für den
nächsten Pivotschritt gegeben.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Beispielrechnung im Simplextableau
Transformation des Tableaus
Sei j die Eingangsspalte und B(i ) die Ausgangsspalte.
1
Zeile i des Gleichungssystems wird mit 1/âij multipliziert.
2
Für k 6= i , wird die in Schritt 1 erzeugte Zeile mit −âkj
multipliziert und zur k-ten Zeile addiert.
Nach dieser Transformationen sind die Voraussetzungen für den
nächsten Pivotschritt gegeben.
In unserem Beispiel dividieren die dritte Zeile zunächst durch
â32 = 1. Dann addieren wir diese Zeile multipliziert mit −â12 = 0
zur ersten Zeile und multipliziert mit −â22 = −1 zur zweiten Zeile.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Beispielrechnung im Simplextableau
Tableau zu Beginn von Schritt 2
b̂
4
1
1
Â1
1
1
−1
Â2
0
0
1
Â3
1
0
0
Â4
0
1
0
Â5
0
−1
1
Die neue Basis ist B = (Â3 , Â4 , Â2 ).
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Beispielrechnung im Simplextableau
Tableau zu Beginn von Schritt 2
b̂
4
1
1
Â1
1
1
−1
Â2
0
0
1
Â3
1
0
0
Â4
0
1
0
Â5
0
−1
1
Die neue Basis ist B = (Â3 , Â4 , Â2 ).
Somit gilt cB = (0, 0, 2) und c1 = −1, c5 = 0.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Beispielrechnung im Simplextableau
Tableau zu Beginn von Schritt 2
b̂
4
1
1
Â1
1
1
−1
Â2
0
0
1
Â3
1
0
0
Â4
0
1
0
Â5
0
−1
1
Die neue Basis ist B = (Â3 , Â4 , Â2 ).
Somit gilt cB = (0, 0, 2) und c1 = −1, c5 = 0.
Die red. Kosten von Spalte 1 sind 1 und von Spalte 5 sind −2.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Beispielrechnung im Simplextableau
Tableau zu Beginn von Schritt 2
b̂
4
1
1
Â1
1
1
−1
Â2
0
0
1
Â3
1
0
0
Â4
0
1
0
Â5
0
−1
1
Die neue Basis ist B = (Â3 , Â4 , Â2 ).
Somit gilt cB = (0, 0, 2) und c1 = −1, c5 = 0.
Die red. Kosten von Spalte 1 sind 1 und von Spalte 5 sind −2.
Spalte 1 ist somit eine geeignete Eingangspivotspalte.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Beispielrechnung im Simplextableau
Tableau zu Beginn von Schritt 2
b̂
4
1
1
Â1
1
1
−1
Â2
0
0
1
Â3
1
0
0
Â4
0
1
0
Â5
0
−1
1
Die neue Basis ist B = (Â3 , Â4 , Â2 ).
Somit gilt cB = (0, 0, 2) und c1 = −1, c5 = 0.
Die red. Kosten von Spalte 1 sind 1 und von Spalte 5 sind −2.
Spalte 1 ist somit eine geeignete Eingangspivotspalte.
Der Term b̂i /âi 1 , âi 1 > 0, wird minimiert für i = 2. Damit ist
Spalte B(2) = 4 die Ausgangspivotspalte.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Beispielrechnung im Simplextableau
Tableau zu Beginn von Schritt 3
b̂
3
1
2
Â1
0
1
0
Â2
0
0
1
Â3
1
0
0
Â4
−1
1
1
Â5
1
−1
0
Die Basis ist jetzt B = (Â3 , Â1 , Â2 ).
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Beispielrechnung im Simplextableau
Tableau zu Beginn von Schritt 3
b̂
3
1
2
Â1
0
1
0
Â2
0
0
1
Â3
1
0
0
Â4
−1
1
1
Â5
1
−1
0
Die Basis ist jetzt B = (Â3 , Â1 , Â2 ).
Es gilt cB = (0, −1, 2) und c4 = 0, c5 = 0.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Beispielrechnung im Simplextableau
Tableau zu Beginn von Schritt 3
b̂
3
1
2
Â1
0
1
0
Â2
0
0
1
Â3
1
0
0
Â4
−1
1
1
Â5
1
−1
0
Die Basis ist jetzt B = (Â3 , Â1 , Â2 ).
Es gilt cB = (0, −1, 2) und c4 = 0, c5 = 0.
Die red. Kosten von Spalte 4 sind -1 und Spalte 5 sind -1.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Beispielrechnung im Simplextableau
Tableau zu Beginn von Schritt 3
b̂
3
1
2
Â1
0
1
0
Â2
0
0
1
Â3
1
0
0
Â4
−1
1
1
Â5
1
−1
0
Die Basis ist jetzt B = (Â3 , Â1 , Â2 ).
Es gilt cB = (0, −1, 2) und c4 = 0, c5 = 0.
Die red. Kosten von Spalte 4 sind -1 und Spalte 5 sind -1.
Beide Nichtbasisspalten haben jetzt negative reduzierte
Kosten. Das Verfahren terminiert.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Beispielrechnung im Simplextableau
Tableau zu Beginn von Schritt 3
b̂
3
1
2
Â1
0
1
0
Â2
0
0
1
Â3
1
0
0
Â4
−1
1
1
Â5
1
−1
0
Die Basis ist jetzt B = (Â3 , Â1 , Â2 ).
Es gilt cB = (0, −1, 2) und c4 = 0, c5 = 0.
Die red. Kosten von Spalte 4 sind -1 und Spalte 5 sind -1.
Beide Nichtbasisspalten haben jetzt negative reduzierte
Kosten. Das Verfahren terminiert.
Als optimale Basislösung ergibt sich x1 = 1, x2 = 2, x3 = 3,
x4 = 0, x5 = 0.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Der 2-Phasen Simplexalgorithmus
Der Simplexalgorithmus besteht aus zwei Phasen:
Phase 1: Berechnung einer zulässigen Basislösung durch
Lösen eines HilfsLPs“ mit veränderter Zielfunktion.
”
Phase 2: Startend von der in Phase 1 berechneten zulässigen
Basislösung wird eine optimale Lösung berechnet.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Phase 1: Berechnung der initialen Basislösung
Das HilfsLP
O.B.d.A. gelte b ≥ 0.
Die i -te Nebenbedingung
ersetzt durch
N
X
PN
j=1 aij xj
= bi , 1 ≤ i ≤ m, wird
aij xj + hi = bi , hi ≥ 0 .
j=1
Die neue Zielfunktion lautet
Minimiere h1 + h2 + · · · + hm .
Für dieses HilfsLP gibt es eine triviale zulässige Basislösung,
nämlich x = 0, h = b.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Phase 1: Berechnung der initialen Basislösung
Ausgehend von der trivialen Basislösung wird nun das HilfsLP
gelöst. Es ergeben sich zwei Fälle.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Phase 1: Berechnung der initialen Basislösung
Ausgehend von der trivialen Basislösung wird nun das HilfsLP
gelöst. Es ergeben sich zwei Fälle.
1
Die berechnete, optimale Lösung für das HilfsLP hat einen
positiven Zielfunktionswert. Dann gibt es keine Lösung mit
h1 = h2 = · · · = hm = 0. In diesem Fall hat das eigentliche LP
keine zulässige Lösung.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Phase 1: Berechnung der initialen Basislösung
Ausgehend von der trivialen Basislösung wird nun das HilfsLP
gelöst. Es ergeben sich zwei Fälle.
1
Die berechnete, optimale Lösung für das HilfsLP hat einen
positiven Zielfunktionswert. Dann gibt es keine Lösung mit
h1 = h2 = · · · = hm = 0. In diesem Fall hat das eigentliche LP
keine zulässige Lösung.
2
In der berechneten, optimalen Basislösung des HilfsLP gilt
h1 = h2 = · · · = hm = 0. Damit ist diese Basislösung auch
zulässig für das eigentliche LP und wird als initiale Basislösung für Phase 2 verwendet.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Kreise bei degenerierten LPs
Wenn das LP degeneriert ist, bedeutet das für die
kanonsiche Form: Mehr als d NB-Hyperebenen schneiden sich
in einem Punkt
algebraische Gleichungsform: Es gibt Basislösungen, in denen
auch Basisvariablen den Wert 0 haben.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Kreise bei degenerierten LPs
Wenn das LP degeneriert ist, bedeutet das für die
kanonsiche Form: Mehr als d NB-Hyperebenen schneiden sich
in einem Punkt
algebraische Gleichungsform: Es gibt Basislösungen, in denen
auch Basisvariablen den Wert 0 haben.
In anderen Worten: Mehrere Baislösungen werden auf denselben
Punkt abgebildet.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Kreise bei degenerierten LPs
Wenn das LP degeneriert ist, bedeutet das für die
kanonsiche Form: Mehr als d NB-Hyperebenen schneiden sich
in einem Punkt
algebraische Gleichungsform: Es gibt Basislösungen, in denen
auch Basisvariablen den Wert 0 haben.
In anderen Worten: Mehrere Baislösungen werden auf denselben
Punkt abgebildet.
In diesem Fall wechselt der Simplexalgorithmus von Basislösung zu
Basislösung ohne Verbesserung des Zielfunktionswertes.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Kreise bei degenerierten LPs
Wenn das LP degeneriert ist, bedeutet das für die
kanonsiche Form: Mehr als d NB-Hyperebenen schneiden sich
in einem Punkt
algebraische Gleichungsform: Es gibt Basislösungen, in denen
auch Basisvariablen den Wert 0 haben.
In anderen Worten: Mehrere Baislösungen werden auf denselben
Punkt abgebildet.
In diesem Fall wechselt der Simplexalgorithmus von Basislösung zu
Basislösung ohne Verbesserung des Zielfunktionswertes.
Dies kann zu Kreisen führen, in denen Basislösungen wieder und
wieder besucht werden.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Verhinderung von Kreisen
Es gibt verschiedene Möglichkeiten, Kreise zu verhindern, z.B.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Verhinderung von Kreisen
Es gibt verschiedene Möglichkeiten, Kreise zu verhindern, z.B.
Blands Pivotregel
Wähle beide Pivotspalten, also die Eingangsspalte Aj und die Ausgangsspalte AB(i ) , so dass j und B(i ) minimal sind.
Diese Regel garantiert die Terminierung des Simplexalgorithmus.
Auf den Beweis dieser Aussage verzichten wir.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Laufzeit des Simplexalgorithmus
Die einzelnen Pivotschritte des Simplexalgorithmus können in
polynomieller Zeit durchgeführt werden.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Laufzeit des Simplexalgorithmus
Die einzelnen Pivotschritte des Simplexalgorithmus können in
polynomieller Zeit durchgeführt werden.
Aber die Anzahl der Pivotschritte ist möglicherweise nicht
polynomiell beschränkt.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Laufzeit des Simplexalgorithmus
Die einzelnen Pivotschritte des Simplexalgorithmus können in
polynomieller Zeit durchgeführt werden.
Aber die Anzahl der Pivotschritte ist möglicherweise nicht
polynomiell beschränkt.
Wir geben ein Beispiel eines LPs mit d Variablen und 2d
Nebenbedingungen in dem 2d − 1 Pivotschritte durchgeführt
werden können, die zunächst einmal nicht zu einer
Verschlechterung des Zielfunktionswertes führen.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Laufzeit des Simplexalgorithmus
Die einzelnen Pivotschritte des Simplexalgorithmus können in
polynomieller Zeit durchgeführt werden.
Aber die Anzahl der Pivotschritte ist möglicherweise nicht
polynomiell beschränkt.
Wir geben ein Beispiel eines LPs mit d Variablen und 2d
Nebenbedingungen in dem 2d − 1 Pivotschritte durchgeführt
werden können, die zunächst einmal nicht zu einer
Verschlechterung des Zielfunktionswertes führen.
Anschließend verändern wir das LP ein wenig, so dass all diese
Pivotschritte tatsächlich Verbesserungsschritte sind.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Polyhedron mit exponentiell langem Hamiltonpfad
Hypercube-LP
Variablen: x1 , . . . , xd
Zielfunktion: Maximiere x1
Nebenbedingungen: 0 ≤ xi ≤ 1 für 1 ≤ i ≤ d.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Polyhedron mit exponentiell langem Hamiltonpfad
Hypercube-LP
Variablen: x1 , . . . , xd
Zielfunktion: Maximiere x1
Nebenbedingungen: 0 ≤ xi ≤ 1 für 1 ≤ i ≤ d.
Das Lösungspolyhedron dieses LPs entspricht dem
d-dimensionalen Hypercube.
Die Knoten des Hypercubes, also die Basislösungen des LPs,
entsprechen den Punkten aus der Menge {0, 1}d .
Das LP hat also 2d Basislösungen.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Polyhedron mit exponentiell langem Hamiltonpfad
Behauptung
Es gibt einen Hamiltonpfad auf den 2d Knoten des d-dimensionalen
Hypercubes, auf dem sich der Zielfunktionswert nicht verschlechtert.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Polyhedron mit exponentiell langem Hamiltonpfad
Behauptung
Es gibt einen Hamiltonpfad auf den 2d Knoten des d-dimensionalen
Hypercubes, auf dem sich der Zielfunktionswert nicht verschlechtert.
Beweis: Der Hamiltonpfad besucht die Knoten in Reihenfolge des
Gray-Codes, d.h. der Pfad
besucht zunächst alle 2d−1 Knoten mit Zielfunktionswert 0
vom Knoten 0d bis zum Knoten 010d−2 ,
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Polyhedron mit exponentiell langem Hamiltonpfad
Behauptung
Es gibt einen Hamiltonpfad auf den 2d Knoten des d-dimensionalen
Hypercubes, auf dem sich der Zielfunktionswert nicht verschlechtert.
Beweis: Der Hamiltonpfad besucht die Knoten in Reihenfolge des
Gray-Codes, d.h. der Pfad
besucht zunächst alle 2d−1 Knoten mit Zielfunktionswert 0
vom Knoten 0d bis zum Knoten 010d−2 ,
wechselt dann vom Knoten 010d−2 zum Knoten 110d−2 , und
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Polyhedron mit exponentiell langem Hamiltonpfad
Behauptung
Es gibt einen Hamiltonpfad auf den 2d Knoten des d-dimensionalen
Hypercubes, auf dem sich der Zielfunktionswert nicht verschlechtert.
Beweis: Der Hamiltonpfad besucht die Knoten in Reihenfolge des
Gray-Codes, d.h. der Pfad
besucht zunächst alle 2d−1 Knoten mit Zielfunktionswert 0
vom Knoten 0d bis zum Knoten 010d−2 ,
wechselt dann vom Knoten 010d−2 zum Knoten 110d−2 , und
besucht dann alle 2d−1 Knoten mit Zielfunktionswert 0 vom
Knoten 110d−2 bis zum Knoten 10d−1 .
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Der Klee-Minty-Cube
Um eine exponentielle Anzahl Schritte für den Simplexalgorithmus
zu erreichen, benötigen wir jedoch einen Pfad, auf dem sich der
Zielfunktswert nicht nur nicht verschlechtert, sondern sogar von
Knoten zu Knoten verbessert.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Der Klee-Minty-Cube
Um eine exponentielle Anzahl Schritte für den Simplexalgorithmus
zu erreichen, benötigen wir jedoch einen Pfad, auf dem sich der
Zielfunktswert nicht nur nicht verschlechtert, sondern sogar von
Knoten zu Knoten verbessert.
Klee-Minty-Cube
Für > 0 definieren wir die folgenden Nebenbedingungen.
≤ x1 ≤ 1 ,
xj−1 ≤ xj ≤ 1 − xj−1 ,
Für → 0 konvergiert das durch diese Ungleichungen beschriebene
Ungleichungssystem gegen den Hypercube.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Der Klee-Minty-Cube
Auf dem Polyhedron des Klee-Minty-Cube-LPs hat der Cray-CodeHamiltopfad ansteigende Zielfunktionswerte, falls ≤ 41 .
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Der Klee-Minty-Cube
Auf dem Polyhedron des Klee-Minty-Cube-LPs hat der Cray-CodeHamiltopfad ansteigende Zielfunktionswerte, falls ≤ 41 .
Auf den formalen Beweis dieser Aussage verzichten wir hier. Aus
der Aussage folgt:
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Der Klee-Minty-Cube
Auf dem Polyhedron des Klee-Minty-Cube-LPs hat der Cray-CodeHamiltopfad ansteigende Zielfunktionswerte, falls ≤ 41 .
Auf den formalen Beweis dieser Aussage verzichten wir hier. Aus
der Aussage folgt:
Satz
Für jedes d, gibt es ein LP in kanonischer Form mit d Variablen und
2d ganzzahligen Koeffizienten mit Absolutwert höchstens 4, so dass
der Simplex-Algorithmus 2d − 1 Pivotschritte benötigt.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Weitere Bemerkungen zur Laufzeit
Klee-Minty-Cube gibt exponentielle Worst-Case-Laufzeit für
eine Pivotregel.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Weitere Bemerkungen zur Laufzeit
Klee-Minty-Cube gibt exponentielle Worst-Case-Laufzeit für
eine Pivotregel.
Für viele andere Regeln gibt es ähnliche exponentielle
Beispiele.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Weitere Bemerkungen zur Laufzeit
Klee-Minty-Cube gibt exponentielle Worst-Case-Laufzeit für
eine Pivotregel.
Für viele andere Regeln gibt es ähnliche exponentielle
Beispiele.
Der Durchmesser des Lösungspolyhedrons ist jedoch durch
mlog2 d+2 beschränkt (Kalai und Kleitman, 1992).
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Weitere Bemerkungen zur Laufzeit
Klee-Minty-Cube gibt exponentielle Worst-Case-Laufzeit für
eine Pivotregel.
Für viele andere Regeln gibt es ähnliche exponentielle
Beispiele.
Der Durchmesser des Lösungspolyhedrons ist jedoch durch
mlog2 d+2 beschränkt (Kalai und Kleitman, 1992).
Hirsch-Conjecture: Der Durchmesser des Lösungspolyhedrons
ist höchsten m − d (Hirsch, 1957).
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Beschreibung des Algorithmus
Beispielrechnung im Tableau
Berechnung der initialen Basislösung
Degenerierte LPs
Laufzeit des Simplexalgorithmus
Weitere Bemerkungen zur Laufzeit
Klee-Minty-Cube gibt exponentielle Worst-Case-Laufzeit für
eine Pivotregel.
Für viele andere Regeln gibt es ähnliche exponentielle
Beispiele.
Der Durchmesser des Lösungspolyhedrons ist jedoch durch
mlog2 d+2 beschränkt (Kalai und Kleitman, 1992).
Hirsch-Conjecture: Der Durchmesser des Lösungspolyhedrons
ist höchsten m − d (Hirsch, 1957).
Auf praktischen Eingaben“ ist der Simplexalgorithmus jedoch we”
sentlich besser als es die Worst-Case-Analysen vermuten lassen.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Vorbemerkungen
Lemma A:
Existiert ein polynomieller Algorithmus, der entscheidet, ob ein System von linearen Ungleichungen eine Lösung besitzt, so existiert
auch ein polynomieller Algorithmus zur Lösung von LPs.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Vorbemerkungen
Lemma A:
Existiert ein polynomieller Algorithmus, der entscheidet, ob ein System von linearen Ungleichungen eine Lösung besitzt, so existiert
auch ein polynomieller Algorithmus zur Lösung von LPs.
Beweisidee:
Der Zulässigkeitstest erlaubt eine binäre Suche für den
optimalen Zielfunktionswert.
Wenn man den optimalen Zielfunktswert (annähernd) kennt,
so kann man die optimale Lösung rekonstruieren.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Vorbemerkungen
Lemma B:
Ein lineares Ungleichungssystem LI der Eingabelänge L kann in polynomieller Zeit in ein lineares Ungleichungssystem LI ∗ mit den folgenden Eigenschaften transformiert werden.
a) LI ∗ hat genau dann eine Lösung, wenn LI eine Lösung hat.
b) Der Lösungsraum von LI ∗ ist in einer Kugel um den Ursprung
2
mit Radius höchstens 2O(L ) enthalten.
c) Wenn der Lösungsraum von LI ∗ nicht leer ist, so enthält er
4
eine Kugel mit Radius mindestens 2−O(L ) .
d) Die Eingabelänge von LI ∗ ist beschränkt durch O(L2 ).
Details siehe Skript (nicht prüfungsrelevant).
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Aufgabenstellung beim Zulässigkeitstest
Eingabe:
Gegeben sei nun eine Menge von n linearen Ungleichungen
Ax ≤ b mit Eingabelänge O(L2 ).
Es bezeichne S ⊆ Rn die Menge der zulässigen Lösungen.
2
Es sei eine Zahl u = 2O(L ) gegeben, so dass S in der Kugel
um den Ursprung mit Radius u enthalten ist.
4
Es sei eine Zahl l = 2O(−L ) gegeben, so dass entweder S = ∅
gilt oder S eine Kugel mit Radius l enthält.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Aufgabenstellung beim Zulässigkeitstest
Eingabe:
Gegeben sei nun eine Menge von n linearen Ungleichungen
Ax ≤ b mit Eingabelänge O(L2 ).
Es bezeichne S ⊆ Rn die Menge der zulässigen Lösungen.
2
Es sei eine Zahl u = 2O(L ) gegeben, so dass S in der Kugel
um den Ursprung mit Radius u enthalten ist.
4
Es sei eine Zahl l = 2O(−L ) gegeben, so dass entweder S = ∅
gilt oder S eine Kugel mit Radius l enthält.
Es soll entschieden werden, ob S = ∅.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die Ellipsoidmethode – Ergebnis
Satz:
Die Ellipsoidmethode löst den Zulässigkeitstest in polynomieller Zeit.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die Ellipsoidmethode – Ergebnis
Satz:
Die Ellipsoidmethode löst den Zulässigkeitstest in polynomieller Zeit.
Aus diesem Satz und Lemma A und B folgt
Satz
Lineare Programme können in polynomieller Zeit gelöst werden.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die Ellipsoidmethode – Idee
Die Idee hinter der Ellipsoidmethode ist es, den Lösungsraum S in
immer kleinere Ellipsoide einzuschließen, bis schließlich ein Ellipsoid
erreicht ist, der S so eng umschließt, dass sein Mittelpunkt in die
Menge S fallen muss, es sei denn S ist leer.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Exkurs – Ellipsoide
Ein Ellipsoid ist ein geometrisches Gebilde, dass durch affine
Transformationen wie Verschiebungen, Drehungen, Spiegelungen,
Streckungen aus einer Kugel entsteht.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Exkurs – Ellipsoide
Ein Ellipsoid ist ein geometrisches Gebilde, dass durch affine
Transformationen wie Verschiebungen, Drehungen, Spiegelungen,
Streckungen aus einer Kugel entsteht. Formal:
Die n-dimensionalen Einheitskugel Sn ist definiert durch
n
o
S n = x ∈ Rn | x T x ≤ 1 .
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Exkurs – Ellipsoide
Ein Ellipsoid ist ein geometrisches Gebilde, dass durch affine
Transformationen wie Verschiebungen, Drehungen, Spiegelungen,
Streckungen aus einer Kugel entsteht. Formal:
Die n-dimensionalen Einheitskugel Sn ist definiert durch
n
o
S n = x ∈ Rn | x T x ≤ 1 .
Sei t ∈ Rn und Q eine invertierbare n × n-Matrix. Ein Punkt
x ∈ Rn wird auf den Punkt T (x) = t + Q · x abgebildet.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Exkurs – Ellipsoide
Ein Ellipsoid ist ein geometrisches Gebilde, dass durch affine
Transformationen wie Verschiebungen, Drehungen, Spiegelungen,
Streckungen aus einer Kugel entsteht. Formal:
Die n-dimensionalen Einheitskugel Sn ist definiert durch
n
o
S n = x ∈ Rn | x T x ≤ 1 .
Sei t ∈ Rn und Q eine invertierbare n × n-Matrix. Ein Punkt
x ∈ Rn wird auf den Punkt T (x) = t + Q · x abgebildet.
Der aus Sn durch die affine Transformation T entstehende
Ellipsoid entspricht der Punktmenge T (Sn ).
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die Ellipsoid Methode – High Level Beschreibung
Die Ellipsoidmethode besteht nun aus den folgenden Schritten:
1) Wähle Ellipsoid E als eine Kugel um den Ursprung mit Radius u.
WIEDERHOLE
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die Ellipsoid Methode – High Level Beschreibung
Die Ellipsoidmethode besteht nun aus den folgenden Schritten:
1) Wähle Ellipsoid E als eine Kugel um den Ursprung mit Radius u.
WIEDERHOLE
2) Falls das Volumen von E kleiner als das Volumen der Kugel
mit Radius l ist, terminiere mit der Ausgabe S = ∅“.
”
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die Ellipsoid Methode – High Level Beschreibung
Die Ellipsoidmethode besteht nun aus den folgenden Schritten:
1) Wähle Ellipsoid E als eine Kugel um den Ursprung mit Radius u.
WIEDERHOLE
2) Falls das Volumen von E kleiner als das Volumen der Kugel
mit Radius l ist, terminiere mit der Ausgabe S = ∅“.
”
3) Es sei z der Mittelpunkt von E . Wir testen, ob z ∈ S, d.h. ob
z alle Nebenbedingungen erfüllt. Im positiven Fall terminiere
mit der Ausgabe S 6= ∅“.
”
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die Ellipsoid Methode – High Level Beschreibung
Die Ellipsoidmethode besteht nun aus den folgenden Schritten:
1) Wähle Ellipsoid E als eine Kugel um den Ursprung mit Radius u.
WIEDERHOLE
2) Falls das Volumen von E kleiner als das Volumen der Kugel
mit Radius l ist, terminiere mit der Ausgabe S = ∅“.
”
3) Es sei z der Mittelpunkt von E . Wir testen, ob z ∈ S, d.h. ob
z alle Nebenbedingungen erfüllt. Im positiven Fall terminiere
mit der Ausgabe S 6= ∅“.
”
4) Ansonsten konstruiere aus E (mit Hilfe der Hyperebene zur
verletzten Nebenbedingung) einen kleineren Ellipsoid E 0 der S
enthält, setze E = E 0 .
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die Ellipsoid Methode – Mehr Details zu Schritt 4
Schritt 4a)
Berechne einen Halbraum H, der S enthält und auf dessen Rand
sich z befindet:
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die Ellipsoid Methode – Mehr Details zu Schritt 4
Schritt 4a)
Berechne einen Halbraum H, der S enthält und auf dessen Rand
sich z befindet:
Dazu wählen zunächst eine Nebenbedingung aus, die vom
Mittelpunkt z nicht erfüllt wird.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die Ellipsoid Methode – Mehr Details zu Schritt 4
Schritt 4a)
Berechne einen Halbraum H, der S enthält und auf dessen Rand
sich z befindet:
Dazu wählen zunächst eine Nebenbedingung aus, die vom
Mittelpunkt z nicht erfüllt wird.
Die zugehörige Hyperebene teilt den Raum in zwei Halbräume,
wobei z in einem der Halbräume liegt und S in dem anderen.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die Ellipsoid Methode – Mehr Details zu Schritt 4
Schritt 4a)
Berechne einen Halbraum H, der S enthält und auf dessen Rand
sich z befindet:
Dazu wählen zunächst eine Nebenbedingung aus, die vom
Mittelpunkt z nicht erfüllt wird.
Die zugehörige Hyperebene teilt den Raum in zwei Halbräume,
wobei z in einem der Halbräume liegt und S in dem anderen.
Wir verschieben diese Hyperebene parallel, so dass sie durch z
verläuft, und erhalten den Halbraum H.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Verkleinerung der Ellipse
Im n-dimensionalen Raum, ergibt sich folgendes Resultat über das
Volumen des in Schritt 4 konstruierten Ellipsoiden E 0 :
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Verkleinerung der Ellipse
Im n-dimensionalen Raum, ergibt sich folgendes Resultat über das
Volumen des in Schritt 4 konstruierten Ellipsoiden E 0 :
Lemma
vol(E 0 ) ≤
vol(E )
.
21/2(n+1)
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die Ellipsoid Methode – Laufzeitanalyse
2
Der initiale Ellipsoid ist eine Kugel mit Radius u = 2O(L ) .
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die Ellipsoid Methode – Laufzeitanalyse
2
Der initiale Ellipsoid ist eine Kugel mit Radius u = 2O(L ) .
Der vorletzte berechnete Ellipsoid hat mindestens das
4
Volumen einer Kugel mit Radius l = 2O(−L ) .
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die Ellipsoid Methode – Laufzeitanalyse
2
Der initiale Ellipsoid ist eine Kugel mit Radius u = 2O(L ) .
Der vorletzte berechnete Ellipsoid hat mindestens das
4
Volumen einer Kugel mit Radius l = 2O(−L ) .
Das Volumen hat also zwischen der ersten und der vorletzten
Iteration höchstens um den Faktor ( ul )n abgenommen.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die Ellipsoid Methode – Laufzeitanalyse
2
Der initiale Ellipsoid ist eine Kugel mit Radius u = 2O(L ) .
Der vorletzte berechnete Ellipsoid hat mindestens das
4
Volumen einer Kugel mit Radius l = 2O(−L ) .
Das Volumen hat also zwischen der ersten und der vorletzten
Iteration höchstens um den Faktor ( ul )n abgenommen.
Das Volumen des Ellipsoids nimmt in jeder Iteration
mindestens um den Faktor 21/2(n+1) ab.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die Ellipsoid Methode – Laufzeitanalyse
2
Der initiale Ellipsoid ist eine Kugel mit Radius u = 2O(L ) .
Der vorletzte berechnete Ellipsoid hat mindestens das
4
Volumen einer Kugel mit Radius l = 2O(−L ) .
Das Volumen hat also zwischen der ersten und der vorletzten
Iteration höchstens um den Faktor ( ul )n abgenommen.
Das Volumen des Ellipsoids nimmt in jeder Iteration
mindestens um den Faktor 21/2(n+1) ab.
Wenn T die Anzahl der Iterationen ist, ergibt sich somit
u n
.
2(T −1)/2(n+1) ≤
l
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die Ellipsoid Methode – Laufzeitanalyse
Durch Auflösen nach T folgt
T ≤ 2n(n + 1) log2
u l
+ 1 = O(n2 L4 ) .
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die Ellipsoid Methode – Laufzeitanalyse
Durch Auflösen nach T folgt
T ≤ 2n(n + 1) log2
u l
+ 1 = O(n2 L4 ) .
Die Ellipsoidmethode terminiert nach O(n2 L4 ) Iterationen.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Die Ellipsoid Methode – Laufzeitanalyse
Durch Auflösen nach T folgt
T ≤ 2n(n + 1) log2
u l
+ 1 = O(n2 L4 ) .
Die Ellipsoidmethode terminiert nach O(n2 L4 ) Iterationen.
Da jede der Iterationen auch in polynomieller Zeit
durchgeführt werden kann, hat die Ellipsoidmethode eine
polynomielle Laufzeitschranke.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Zusammenfassung
Lineare Programme können durch die Ellipsoidmethode von
Khachiyan (1979) in polynomieller Zeit gelöst werden. Die
Konstanten in der Laufzeitschranke sind jedoch sehr groß.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Zusammenfassung
Lineare Programme können durch die Ellipsoidmethode von
Khachiyan (1979) in polynomieller Zeit gelöst werden. Die
Konstanten in der Laufzeitschranke sind jedoch sehr groß.
In der Praxis wird weiterhin auf Danzigs Simplexverfahren
(1951) zurückgegriffen, weil es für viele praktische
Anwendungen, die in der Regel bessere Laufzeitergebnisse
liefert als die Ellipsoidmethode.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
LPs in verschiedenen Normalformen
Der Simplexalgorithmus
Die Ellipsoidmethode
Zusammenfassung
Zusammenfassung
Lineare Programme können durch die Ellipsoidmethode von
Khachiyan (1979) in polynomieller Zeit gelöst werden. Die
Konstanten in der Laufzeitschranke sind jedoch sehr groß.
In der Praxis wird weiterhin auf Danzigs Simplexverfahren
(1951) zurückgegriffen, weil es für viele praktische
Anwendungen, die in der Regel bessere Laufzeitergebnisse
liefert als die Ellipsoidmethode.
Ein weiteres Verfahren, welches LPs in polynomieller Zeit löst,
ist die Innere-Punkte-Methode von Kharmarkar (1984). Dieses
Verfahren schlägt die Simplexmethode auf einigen LPs mit
sehr vielen Variablen und hat deshalb eine größere
Praxisrelevanz als die Ellipsoidmethode.
Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen Einführung in die Lineare Programmierung
Herunterladen