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