Einführung in die Lineare Programmierung

Ähnliche Dokumente
Einführung in die Lineare Programmierung. Berthold Vöcking Lehrstuhl Informatik I Algorithmen & Komplexität RWTH Aachen

Lineare Programmierung Teil I

Kap. 4: Lineare Programmierung

VORLESUNG 11 Lineare Optimierung (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt)

Eigenschaften von LPs

Kombinatorische Optimierung

Computer Science Department - High Performance and Web Computing Group. Optimierungsprobleme

Optimierung. Optimierung. Vorlesung 8 Lineare Programmierung III: Simplex Algorithmus Fabian Kuhn

1 Der Simplex Algorithmus I

Teil I. Lineare Optimierung

Dualitätssätze der linearen Optimierung

Minimumproblem. Definition 4.7. Ein LP der Form. unter den Nebenbedingungen. d ij x j b i (i =1,...,m)

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck

Lösung allgemeiner linearer Programme

Operations Research. Die Simplexmethode. LP-Dualität. Die Simplexmethode. Rainer Schrader. 18. Juni Zur Erinnerung: Gliederung

Simplex-Verfahren. Kapitel 4. Simplex-Verfahren. Peter Becker (H-BRS) Operations Research I Sommersemester / 298

Übung 3, Simplex-Algorithmus

VORLESUNG 14 Lineare Optimierung, Dualität (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt)

4.3.3 Simplexiteration

Lineare Optimierung und Simplex-Algorithmus

H. Meyerhenke: Kombinatorische Optimierung. Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

Wiederholung. Wir gehen von LP s in Standardform aus, wobei A R m n vollen Zeilenrang hat: minc T x A x = b

Kap. 4.2: Simplex- Algorithmus

Vorlesung Wirtschaftsmathematik I WS 2007/2008, Wirtschaftingenieurwesen. Kapitel IV: Grundlagen der Linearen Optimierung

Optimierung für Nichtmathematiker

6 Korrektheit des Simplexalgorithmus

Kap. 4.3: Das Dualitätstheorem der linearen Optimierung

Probleme aus NP und die polynomielle Reduktion

Optimale Steuerung 1 Prozessoptimierung 1

Teil 5: Lineare Programmierung. (Blum, Kapitel 8)

3 Systeme linearer Gleichungen

Studientag zur Algorithmischen Mathematik

z = c T x : Ax = b, x 0 }, - die Darstellung der Nichtbasisvektoren durch die Basis ist

Übungsblatt 6 Lösungsvorschläge

1 Lineare Optimierung, Simplex-Verfahren

Die Klasse NP und die polynomielle Reduktion

Optimierung für Wirtschaftsinformatiker: Dualität, Ganzzahlige lineare Optimierung

Lösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik. a 0 = 0 =

4 Lineare Optimierung

Ausgewählte Lösungen zu den Übungsblättern 4-5

Lineare Optimierungsmodelle

Abbildung 1: Graphische Lösung der ersten Übungsaufgabe

2. Optimierungsprobleme 6

Lineare Optimierung Teil 2

37 Gauß-Algorithmus und lineare Gleichungssysteme

Probabilistische Analyse von Algorithmen

Vorlesung Lineare Optimierung (Sommersemester 2009)

β 1 x :=., und b :=. K n β m

Optimierung. Zusammenfassung

9 Lineare Gleichungssysteme

Der n-dimensionale Raum

Kurs über Lineare Gleichungssysteme. PD Dr. Karin Halupczok

8. Konvexe Polytope. Tobias Boelter. Mittwoch, 5. März TopMath Frühlingsschule

Die duale Simplexmethode zur Lösung rein ganzzahliger linearer Programme

4 Affine Koordinatensysteme

Das Lagrange-duale Problem

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016

Effiziente Algorithmen Lineares Programmieren 216. Schwache Dualität

mit. Wir definieren (Skalarprodukt = Winkel).

Optimierung für Wirtschaftsinformatiker: Lineare Programme

OPERATIONS-RESEARCH (OR)

Aufgaben zu Kapitel 23

Lösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik

6 Lineare Gleichungssysteme

7.1 Matrizen und Vektore

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2015

3. Schnittebenenverfahren

Zugeordneter bipartiter Graph

3 Elementare Umformung von linearen Gleichungssystemen und Matrizen

Lineare Programmierung

3. Grundlagen der Linearen Programmierung

1 Zum Aufwärmen. 1.1 Notationen. 1.2 Lineare Abbildungen und Matrizen. 1.3 Darstellungsmatrizen

Lineare Programmierung (2)

Mischungsverhältnisse: Nehmen wir an, es stehen zwei Substanzen (zum Beispiel Flüssigkeiten) mit spezifischen Gewicht a = 2 kg/l bzw.

1 Lineare Gleichungssysteme und Matrizen

Aufgabenkomplex 5: Hauptachsentransformation, Lineare Optimierung, Differentialrechnung in mehreren Veränderlichen

Vortrag 20: Kurze Vektoren in Gittern

Proseminar Lineare Algebra WS 08/09 Prof. Dr. O. Bogopolski 1. Vortrag: Lineare Gleichungen. am 11. März von Maximilian Wahner

Eigenwerte und Diagonalisierung

Numerische Lineare Algebra

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Hauptachsentransformation: Eigenwerte und Eigenvektoren

Das Linear Ordering Problem Exakte Lösungsverfahren. für NP-schwierige. VO Algorithm Engineering

Lineare Gleichungssysteme

Mathematik IT 2 (Lineare Algebra)

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7

05. Lineare Gleichungssysteme

2 Die Dimension eines Vektorraums

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Ecken des Zuordnungsproblems

Lineare Gleichungssysteme

TECHNISCHE UNIVERSITÄT MÜNCHEN. Einführung in die Matrizenrechnung

Der Simplex-Algorithmus

GEOMETRIE DER POLYEDER

Kapitel 5. Peter Becker (H-BRS) Operations Research I Sommersemester / 298

8.2 Invertierbare Matrizen

Aufgabe 5.3 Duale Simplexverfahren

Rückwärts-Einsetzen. Bei einem linearen Gleichungssystem in oberer Dreiecksform, nacheinander bestimmt werden: r n,n x n = b n. = x n = b n /r n,n

Affine Geometrie (Einfachere, konstruktive Version)

Transkript:

Einführung in die Lineare Programmierung Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen 28. Mai 2008

Elementares Beispiel Die kanonische Form Die algebraische Gleichungsform 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 100x 1 + 50x 2 unter den Nebenbedingungen x 1 + x 2 1000 x 1 600 x 1,x 2 0 Geometrische Darstellung?

LP in kanonischer Form Die kanonische Form Die algebraische Gleichungsform Für i = 1,...,m und j = 1,...,d seien c j, b i und a ij reelle Zahlen. Gesucht ist eine Belegung der Variablen x 1,...,x d, so dass die Zielfunktion d c j x j j=1 maximiert wird unter den Nebenbedingungen d a ij x j b i (für i = 1,...,m) j=1 x j 0 (für j = 1,...,d). Letztere Bedingungen heißen Nicht-Negativitätsbedingungen.

Die kanonische Form Die algebraische Gleichungsform Lineares Programm (LP) in kanonischer Form Setze x = (x j ), c = (c j ), b = (b i ) und A = (a ij ). 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?)

Beispiel: Flussproblem Die kanonische Form Die algebraische Gleichungsform 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 unter den Nebenbedingungen x e = e A(v) e E(v) x e e A(q) x e x e c(e) e E x e 0 e E v V \ {q,s}

Die kanonische Form Die algebraische Gleichungsform Beispiel: Relaxiertes Rucksackproblem unter Maximiere d v i x i i=1 d g i x i G i=1 x i 1 1 i d x i 0 1 i d

Geometrische Interpretation Die kanonische Form Die algebraische Gleichungsform Variablenbelegung x = (x 1,...,x d ) T entspricht Punkt im d-dimensionalen Raum R d. Jede Nebenbedingung a i x b i definiert einen Halbraum. Die Grenze dieses Halbraumes ist die Hyperebene a i x = b i. 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.

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 l(x,y) = {λx + (1 λ)y λ [0,1]} zwischen x und y in P enthalten.

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 l(x,y) A. Zudem sind x,y B, so dass l(x,y) B. Also ist l(x,y) A B und somit ist A B konvex.

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.

Die kanonische Form Die algebraische Gleichungsform Beweis von Behauptung 1.2 Da P konvex ist, liegt die Verbindungslinie l(x,z) zwischen x und z in P. Wähle einen beliebigen Punkt y l(x,z), y x, x y ǫ. Aus der Definition von l(x,z) ergibt sich, es gibt ein λ > 0, so dass y = λx + (1 λ)z. Somit folgt c T y = c T (λx + (1 λ)z) = λc T x + (1 λ)c T z > λc T x + (1 λ)c T x = c T x.

Facetten, Faces, Kanten, Knoten Die kanonische Form Die algebraische Gleichungsform 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.

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.

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.

Die kanonische Form Die algebraische Gleichungsform LP in algebraischer Gleichungsform Maximiere c T x unter Ax = b, x 0.

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 a ij x j b i. j=1 Für die i-te Nebenbedingung, 1 i m, erzeuge Gleichung mit Schlupfvariable s i 0: d a ij x j + s i = b i. j=1 Wir erhalten ein LP in Gleichungsform mit n := d + m Variablen.

Die kanonische Form Die algebraische Gleichungsform Beispiel für Transformation LP in kanonischer Form x 1 4 x 2 2 x 1 + x 2 1 x 1,x 2 0 LP in Gleichungsform x 1 + s 1 = 4 x 2 + s 2 = 2 x 1 + x 2 + s 3 = 1 x 1,x 2,s 1,s 2,s 3 0 angepasste Notation x 1 + x 3 = 4 x 2 + x 4 = 2 x 1 + x 2 + x 5 = 1 x 1,...,x 5 0

Die kanonische Form Die algebraische Gleichungsform Geometrische Darstellung des LPs in kanonischer Form x 1 4 x 2 2 x 1 + x 2 1 x 1,x 2 0 x 2 (1,2) x 1 Beziehung zwischen Hyperebenen und Variablen Jeder Punkt (x 1,x 2 ) des LPs in kanonischer Form kann durch Einsetzen in das Gleichungssystem in einen Punkt (x 1,...,x 5 ) des LPs algebraischer Form umgerechnet werden. Der Pkt (1,2) entspricht beispielsweise dem Pkt (1,2,3,0,0).

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 x 1 + x 3 = 4 x 2 + x 4 = 2 x 1 + x 2 + x 5 = 1 x 1,...,x 5 0 x 4= 0 x 2= 0 x = 0 1 x 5= 0 x 3= 0

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 R m 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.

Basislösungen LPs in verschiedenen Normalformen Die kanonische Form Die algebraische Gleichungsform Wir zerlegen die Matrix A in zwei Teilmatritzen A B und A N, die aus den Spalten in B und den Spalten in N bestehen. Aus dem Gleichungssystem Ax = b wird das Gleichungsystem A B x B + A N x N = b. Wenn wir x N = 0 setzen, so hat dieses Gleichungsystem eine eindeutige Lösung, die sogenannte Basislösung x B = A 1 B b. Die Basislösung ist zulässig falls x B 0, also falls A 1 B b 0.

Basislösungen LPs in verschiedenen Normalformen Die kanonische Form Die algebraische Gleichungsform Querbezug zur kanonischen Form Sei B eine Basis und (x B,x N ) 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.

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 mit  := A 1 B A und ˆb := A 1 B b. Dies ist eine angenehme Darstellung des Gleichungssystems denn es gilt  B x B = A 1 B A B = E m, und = A 1 B b = ˆb.

Die kanonische Form Die algebraische Gleichungsform Tableaudarstellung von Basislösungen Beispiel LP in Gleichungsform Maximiere x 1 + 2x 2 unter x 1 + x 3 = 4 x 2 + x 4 = 2 x 1 + x 2 + x 5 = 1 x 1,...,x 5 0 Die Matrix A 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 Betrachte die Basis B = (A 3,A 4,A 5 ). Es gilt A B = E 3 und somit auch A 1 B = E 3. Es folgt  = A 1 B 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.

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  1  2  3  4  5 4 1 0 1 0 0 2 0 1 0 1 0 1 1 1 0 0 1

im Überblick Beschreibung des Algorithmus Beispielrechnung im Tableau Berechnung der initialen Basislösung Degenerierte LPs Laufzeit des 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 = E m. Gesucht: Basis B, die sich von B nur in einer Spalte unterscheidet und einen besseren Zielfunktionswert hat.

Wann ist eine Basislösung optimal? Beschreibung des Algorithmus Beispielrechnung im Tableau Berechnung der initialen Basislösung Degenerierte LPs Laufzeit des Simplexalgorithmus Sei x eine beliebige zulässige Lösung. Der Zielfunktionswert von x ist c T x = c T B x B + c T N x N Aus  B x B +  N x N = ˆb und  B = E m folgt x B = ˆb  N x N. Es ergibt sich c T x = cb T (ˆb  N x N ) + cn T x N = cb T ˆb + (cn T ct B }{{ ÂN) x } N. v B v B = c T N ct B ÂN wird Vektor der reduzierten Kosten genannt.

Wann ist eine Basislösung optimal? Beschreibung des Algorithmus Beispielrechnung im Tableau Berechnung der initialen Basislösung Degenerierte LPs Laufzeit des Simplexalgorithmus Satz (Optimalitätskriterium) v B 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 = c T B ˆb + v B x N c T B ˆb. Somit ist B optimal.

Durchführung des Pivotschritts Beschreibung des Algorithmus Beispielrechnung im Tableau Berechnung der initialen Basislösung Degenerierte LPs Laufzeit des Simplexalgorithmus Wenn das Optimalitätskriterium erfüllt ist, so stoppt der Simplexalgorithmus. Ansonsten gibt es eine Nichtbasisvariable x j mit positiven reduzierten Kosten, d.h. v B,j = c j m c B(k) â kj > 0. k=1 Wenn wir den Wert dieser Variable erhöhen, so erhöht sich der Zielfunktionswert, denn c T x = c T B ˆb + v B x N. Idee: Erhöhe den Wert von x j und passe die Werte der Basisvariablen entsprechend an, so dass weiterhin Âx = ˆb gilt.

Durchführung des Pivotschritts Beschreibung des Algorithmus Beispielrechnung im Tableau Berechnung der initialen Basislösung Degenerierte LPs Laufzeit des Simplexalgorithmus Die Erhöhung des Wertes von x j unter Anpassung der Basisvariablen entspricht dem Folgen einer verbessernden Kante auf dem Lösungspolyhedron. Das betrachtete Gleichungssystem besteht aus den Basisvariablen und der Variable x j, d.h. es gibt m + 1 Variablen und m Gleichungen. Für die i-te Basisvariable x B(i) gilt dabei x B(i) = ˆb i â ij x j Wenn â ij negativ (positiv) ist, dann führt ein Erhöhen von x j somit zu einem Erhöhen (Erniedrigen) der Basisvariable x B(i).

Durchführung des Pivotschritts Beschreibung des Algorithmus Beispielrechnung im Tableau Berechnung der initialen Basislösung Degenerierte LPs Laufzeit des Simplexalgorithmus Fall 1: i {1,...,m} : â ij 0. In diesem Fall kann x j und somit der Zielfunktionswert beliebig erhöht werden, ohne dass die Zulässigkeit verletzt wird. Das LP ist unbeschränkt. stoppt. Fall 2: i {1,...,m} : â ij > 0. Wähle { } ˆbk i = argmin 1 k m > 0 âkj Setze B := B \ {A B(i) } {A j }. Nächster Pivotschritt. â kj

Beispielrechung im Simplextableau Tableau zu Beginn von Schritt 1 Beschreibung des Algorithmus Beispielrechnung im Tableau Berechnung der initialen Basislösung Degenerierte LPs Laufzeit des Simplexalgorithmus ˆb  1  2  3  4  5 4 1 0 1 0 0 2 0 1 0 1 0 1 1 1 0 0 1 Die Basis ist B = (Â3,Â4,Â5). Somit ist c B = (0,0,0) und c 1 = 1, c 2 = 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 /â i2, â i2 > 0, wird minimiert für i = 3. Damit ist die Spalte B(3) = 5 die eindeutig bestimmte Ausgangspivotspalte.

Beispielrechnung im Simplextableau Beschreibung des Algorithmus Beispielrechnung im Tableau Berechnung der initialen Basislösung Degenerierte LPs Laufzeit des Simplexalgorithmus 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 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.

Beispielrechnung im Simplextableau Tableau zu Beginn von Schritt 2 Beschreibung des Algorithmus Beispielrechnung im Tableau Berechnung der initialen Basislösung Degenerierte LPs Laufzeit des Simplexalgorithmus ˆb  1  2  3  4  5 4 1 0 1 0 0 1 1 0 0 1 1 1 1 1 0 0 1 Die neue Basis ist B = (Â3,Â4,Â2). Somit gilt c B = (0,0,2) und c 1 = 1, c 5 = 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 /â i1, â i1 > 0, wird minimiert für i = 2. Damit ist Spalte B(2) = 4 die Ausgangspivotspalte.

Beispielrechnung im Simplextableau Tableau zu Beginn von Schritt 3 Beschreibung des Algorithmus Beispielrechnung im Tableau Berechnung der initialen Basislösung Degenerierte LPs Laufzeit des Simplexalgorithmus ˆb  1  2  3  4  5 3 0 0 1 1 1 1 1 0 0 1 1 2 0 1 0 1 0 Die Basis ist jetzt B = (Â3,Â1,Â2). Es gilt c B = (0, 1,2) und c 4 = 0, c 5 = 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 x 1 = 1, x 2 = 2, x 3 = 3, x 4 = 0, x 5 = 0.

Der 2-Phasen Simplexalgorithmus Beschreibung des Algorithmus Beispielrechnung im Tableau Berechnung der initialen Basislösung Degenerierte LPs Laufzeit des 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.

Beschreibung des Algorithmus Beispielrechnung im Tableau Berechnung der initialen Basislösung Degenerierte LPs Laufzeit des Simplexalgorithmus Phase 1: Berechnung der initialen Basislösung Das HilfsLP O.B.d.A. gelte b 0. Die i-te Nebenbedingung N j=1 a ijx j = b i, 1 i m, wird ersetzt durch N a ij x j + h i = b i, h i 0. j=1 Die neue Zielfunktion lautet Minimiere h 1 + h 2 + + h m. Für dieses HilfsLP gibt es eine triviale zulässige Basislösung, nämlich x = 0, h = b.

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 h 1 = h 2 = = h m = 0. In diesem Fall hat das eigentliche LP keine zulässige Lösung. 2 In der berechneten, optimalen Basislösung des HilfsLP gilt h 1 = h 2 = = h m = 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.

Kreise bei degenerierten LPs Beschreibung des Algorithmus Beispielrechnung im Tableau Berechnung der initialen Basislösung Degenerierte LPs Laufzeit des Simplexalgorithmus 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.

Verhinderung von Kreisen Beschreibung des Algorithmus Beispielrechnung im Tableau Berechnung der initialen Basislösung Degenerierte LPs Laufzeit des Simplexalgorithmus Es gibt verschiedene Möglichkeiten, Kreise zu verhindern, z.b. Blands Pivotregel Wähle beide Pivotspalten, also die Eingangsspalte A j und die Ausgangsspalte A B(i), so dass j und B(i) minimal sind. Diese Regel garantiert die Terminierung des Simplexalgorithmus. Auf den Beweis dieser Aussage verzichten wir.

Laufzeit des Simplexalgorithmus Beschreibung des Algorithmus Beispielrechnung im Tableau Berechnung der initialen Basislösung Degenerierte LPs 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 2 d 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.

Beschreibung des Algorithmus Beispielrechnung im Tableau Berechnung der initialen Basislösung Degenerierte LPs Laufzeit des Simplexalgorithmus Polyhedron mit exponentiell langem Hamiltonpfad Hypercube-LP Variablen: x 1,...,x d Zielfunktion: Maximiere x 1 Nebenbedingungen: 0 x i 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 2 d Basislösungen.

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 2 d 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 2 d 1 Knoten mit Zielfunktionswert 0 vom Knoten 0 d bis zum Knoten 010 d 2, wechselt dann vom Knoten 010 d 2 zum Knoten 110 d 2, und besucht dann alle 2 d 1 Knoten mit Zielfunktionswert 0 vom Knoten 110 d 2 bis zum Knoten 10 d 1.

Der Klee-Minty-Cube Beschreibung des Algorithmus Beispielrechnung im Tableau Berechnung der initialen Basislösung Degenerierte LPs Laufzeit des Simplexalgorithmus 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. ǫ x 1 1, ǫx j 1 x j 1 ǫx j 1, Für ǫ 0 konvergiert das durch diese Ungleichungen beschriebene Ungleichungssystem gegen den Hypercube.

Der Klee-Minty-Cube Beschreibung des Algorithmus Beispielrechnung im Tableau Berechnung der initialen Basislösung Degenerierte LPs Laufzeit des Simplexalgorithmus Auf dem Polyhedron des Klee-Minty-Cube-LPs hat der Cray-Code- Hamiltopfad ansteigende Zielfunktionswerte, falls ǫ 1 4. 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 2 d 1 Pivotschritte benötigt.

Weitere Bemerkungen zur Laufzeit Beschreibung des Algorithmus Beispielrechnung im Tableau Berechnung der initialen Basislösung Degenerierte LPs Laufzeit des Simplexalgorithmus 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 m log 2 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 wesentlich besser als es die Worst-Case-Analysen vermuten lassen.

Vorbemerkungen LPs in verschiedenen Normalformen 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: (Details siehe Skript) 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.

Vorbemerkungen LPs in verschiedenen Normalformen 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 mit Radius höchstens 2 O(L2) enthalten. c) Wenn der Lösungsraum von LI nicht leer ist, so enthält er eine Kugel mit Radius mindestens 2 O(L4). d) Die Eingabelänge von LI ist beschränkt durch O(L 2 ). Beweis siehe Skript.

Aufgabenstellung beim Zulässigkeitstest Eingabe: Gegeben sei nun eine Menge von n linearen Ungleichungen Ax b mit Eingabelänge O(L 2 ). Es bezeichne S R n die Menge der zulässigen Lösungen. Es sei eine Zahl u = 2 O(L2) gegeben, so dass S in der Kugel um den Ursprung mit Radius u enthalten ist. Es sei eine Zahl l = 2 O( L4) gegeben, so dass entweder S = gilt oder S eine Kugel mit Radius l enthält. Es soll entschieden werden, ob S =.

Ergebnis Satz: 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.

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.

Exkurs Ellipsoide LPs in verschiedenen Normalformen Ein Ellipsoid ist ein geometrisches Gebilde, dass durch affine Transformationen wie Verschiebungen, Drehungen, Spiegelungen, Streckungen aus einer Kugel entsteht. Formal: Die n-dimensionalen Einheitskugel S n ist definiert durch { } S n = x R n x T x 1. Sei t R n und Q eine invertierbare n n-matrix. Ein Punkt x R n wird auf den Punkt T(x) = t + Q x abgebildet. Der aus S n durch die affine Transformation T entstehende Ellipsoid entspricht der Punktmenge T(S n ).

Die Ellipsoid Methode High Level Beschreibung 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. 4) Ansonsten konstruiere aus E (mit Hilfe der Hyperebene zur verletzten Nebenbedingung) einen kleineren Ellipsoid E der S enthält, setze E = E.

Die Ellipsoid Methode Erläuterungen zu Schritt 4 Berechne zunächst 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.

Die Ellipsoid Methode Erläuterungen zu Schritt 4 Jetzt berechne eine Ellipse E, die E-halbe := H E umschließt: H E z E E halbe

Verkleinerung der Ellipse Im n-dimensionalen Raum, ergibt sich folgendes Resultat über das Volumen des in Schritt 4 konstruierten Ellipsoiden E : Lemma vol(e ) vol(e) 2 1/2(n+1).

Die Ellipsoid Methode Laufzeitanalyse Der initiale Ellipsoid ist eine Kugel mit Radius u = 2 O(L2). Der vorletzte berechnete Ellipsoid hat mindestens das Volumen einer Kugel mit Radius l = 2 O( L4). Das Volumen hat also zwischen der ersten und der vorletzten Iteration höchstens um den Faktor ( u l )n abgenommen. Das Volumen des Ellipsoids nimmt in jeder Iteration mindestens um den Faktor 2 1/2(n+1) ab. Wenn T die Anzahl der Iterationen ist, ergibt sich somit ( u ) n 2 (T 1)/2(n+1). l

Die Ellipsoid Methode Laufzeitanalyse Durch Auflösen nach T folgt T 2n(n + 1)log 2 ( u l ) + 1 = O(n 2 L 4 ). terminiert nach O(n 2 L 4 ) Iterationen. Da jede der Iterationen auch in polynomieller Zeit durchgeführt werden kann, hat die Ellipsoidmethode eine polynomielle Laufzeitschranke.

LPs in verschiedenen Normalformen 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.