Kap. 4.2: Simplex- Algorithmus

Ähnliche Dokumente
Kap. 4: Lineare Programmierung

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

Kap. 4.3: Das Dualitätstheorem der linearen Optimierung

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

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

Eigenschaften von LPs

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

4.3.3 Simplexiteration

Lineare Programmierung

4 Lineare Optimierung

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

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

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

Kombinatorische Optimierung

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

5 Lineare Gleichungssysteme und Determinanten

10.2 Dualitätstheorie Operations Research. In der Standardform eines Maximierungsproblem: b e ) mit ( w) + a ej ) x j + x g = ( b g + g G

Der Simplex-Algorithmus

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

Optimierung. Vorlesung 04

Aufgabe 5.3 Duale Simplexverfahren

05. Lineare Gleichungssysteme

8. Elemente der linearen Algebra 8.5 Quadratische Matrizen und Determinanten

Basiswissen Matrizen

Optimale Steuerung 1 Prozessoptimierung 1

8.2 Invertierbare Matrizen

Lineare Optimierung Teil 2

Grundlagen der Optimierung. Übung 6

9.2 Invertierbare Matrizen

Cramersche Regel. Satz 2.26

Kapitel 7 : Lineare Programmierung Die Simplexmethode (G.B.Dantzig, 1947) Beispiel:

Zugeordneter bipartiter Graph

Optimierung für Nichtmathematiker

a 21 a 22 a 21 a 22 = a 11a 22 a 21 a 12. Nun zur Denition und Berechnung von n n-determinanten: ( ) a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 A =

3 Matrizenrechnung. 3. November

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

1 Matrizenrechnung zweiter Teil

Übung 3, Simplex-Algorithmus

Einführung in die Lineare Programmierung

6 Korrektheit des Simplexalgorithmus

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

1 Der Simplex Algorithmus I

8.2 Invertierbare Matrizen

Die duale Simplexmethode

mit. Wir definieren (Skalarprodukt = Winkel).

Aufgaben zu Kapitel 23

Inhaltsverzeichnis. 4 Praxisbeispiel 7

4 Lineare Abbildungen und Matrizen

37 Gauß-Algorithmus und lineare Gleichungssysteme

3 Determinanten, Eigenwerte, Normalformen

Lösung allgemeiner linearer Programme

D-MAVT Lineare Algebra I HS 2017 Prof. Dr. N. Hungerbühler. Lösungen Serie 10

Determinanten. I. Permutationen

Lineare Algebra I (WS 12/13)

Lineare Algebra. 5. Übungsstunde. Steven Battilana. battilana.uk/teaching

5.1 Determinanten der Ordnung 2 und 3. a 11 a 12 a 21 a 22. det(a) =a 11 a 22 a 12 a 21. a 11 a 21

36 2 Lineare Algebra

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

, c d. f + e + d. ae + bg a f + bh. ce + dg c f + dh

λ i x i λ i 0, x i X, nur endlich viele λ i 0}.

Vorlesung Lineare Optimierung (Sommersemester 2009)

1 Lineare Optimierung, Simplex-Verfahren

Methoden der linearen Optimierung

LR Zerlegung. Michael Sagraloff

ANHANG A. Matrizen. 1. Die Definition von Matrizen

Matrizen. a12 a1. a11. a1n a 21. a 2 j. a 22. a 2n. A = (a i j ) (m, n) = i te Zeile. a i 1. a i 2. a i n. a i j. a m1 a m 2 a m j a m n] j te Spalte

Determinanten. I. Permutationen

Studientag zur Algorithmischen Mathematik

Matrizen, Determinanten, lineare Gleichungssysteme

7.1 Matrizen und Vektore

a 11 a 12 a 1(m 1) a 1m a n1 a n2 a n(m 1) a nm Matrizen Betrachten wir das nachfolgende Rechteckschema:

3 Systeme linearer Gleichungen

Mathematik IT 2 (Lineare Algebra)

2.5 Gauß-Jordan-Verfahren

Cramersche Regel. Satz Es sei A R n n eine quadratische Matrix mit det(a) 0. Für ein LGS Ax = b sei. A j := (a 1,...,a j 1,b,a j+1,...

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

Vektoren und Matrizen

CARL HANSER VERLAG. Peter Stingl. Operations Research Linearoptimierung

3 Elementare Umformung von linearen Gleichungssystemen und Matrizen

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

4. Übungsblatt zur Mathematik II für Inf, WInf

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

( ) Lineare Gleichungssysteme

bekannt: Eliminationsverfahren von Gauß Verfahren führt zu einer Zerlegung der Koeffizientenmatrix: A = LR A = LR

OPERATIONS-RESEARCH (OR)

Lösbarkeit linearer Gleichungssysteme

8. Lineare Optimierung

2 Lineare Gleichungssysteme

Determinanten - II. Falls n = 1, gibt es offenbar nur die identische Permutation, und für eine 1 1 Matrix A = (a) gilt det A = a.

Lineare Programmierung Teil I

Klausurähnliche Aufgaben

7 Matrizen über R und C

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

4.6 Berechnung von Eigenwerten

Matrizen und Determinanten, Aufgaben

Mathematik 1, Teil B. Inhalt:

Numerische Methoden 4. Übungsblatt

Lineare Gleichungssysteme: direkte Verfahren

Teil I. Lineare Optimierung

Berechnung der Determinante

Transkript:

Kap. 4.: Simplex- Algorithmus Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund Literatur für diese VO V. Chvatal: Linear Programming D. ertsimas: Linear Programming 4.-7. VO A&D WS 08/09..-6..008 Überblick 3. Der Simplex-Algorithmus 4. Der Simplex-Algorithmus Einführung asisaustauschsatz Tableau-Methode Standard-Simplex Revidierte Simplex-Methode mit Eta- Faktorisierung Spalten- und Zeilenauswahlregeln Terminierung Analyse der Laufzeit Lineare Programme werden in der Praxis mit Hilfe des Simplex-Algorithmus gelöst [Dantzig 955]. Max 3x + x + x 3 Subject to x + x 3 8 x + x 7 x + x x, x, x 3 0 3 4 Visualisierung des Simplex-Algorithmus Simplex-Algorithmus Max z 3x + x + x 3 x 3 0,0,8 0,6,8,5,6 z 8 0,6,0 z 0,5,0 7,0, z 3 Optimal! x Gegeben: LP mit Lösungspolyeder P estimme einen beliebige Ecke Initialecke v von P. Falls es keine verbessernde Kante inzident zu v gibt stop: v ist optimal. 3 Folge einer beliebigen verbessernden Kante e von v. Falls e unbeschränkt ist, d.h. keinen anderen Endpunkt hat stop: Das LP ist unbeschränkt. 4 Sei u der andere Endpunkt von e. Setze vu. Gehe zu x 7,0,0 z

Offene Fragen zu Simplex-Algorithmus Wie findet man eine Initialecke v von P? ei zulässigen LPs in Standardform mit nicht-negativen a ij und b i ist der Ursprung Punkt 0 immer ein Knoten von P. Ansonsten verwendet man ein Preprocessing Phase, das an einem Schnittpunkt evtl. außerhalb von P startet und durch ähnliche asisaustauschschritte zu einer Ecke in P läuft. Wie wird das Polyeder abgespeichert? Man speichert das durch die Restriktionen beschriebene Gleichungssystem in Form eines Tableaus ab. In jedem Simplexschritt verändert sich das Tableau und die ausgehenden Kanten des aktuellen Ecke können aus dem Tableau berechnet werden. Teste, ob die aktuelle Ecke optimal ist? Falls nicht, welche verbessernde Kante wählt man? Terminiert der Algorithmus? s. Vorlesung: gleich Definitionen Gegeben sei ein Gleichungssystem Axb mit A R m n, m<n, b R m, rangam. Sei p,p,...,p m {,,...,n} m Spaltenindexmenge und Nq,q,...,q n-m {,,...,n} n-m Spaltenindexmengen mit N{,,...,n} und N. Für J {,,...n}: A J ist die Untermatrix von A nach Streichen der Spalten aus {,,...,n} \ J. Wir schreiben A statt A und A N statt A N. Ist A regulär invertierbar, so heißt A asismatrix oder asis von A und asisindexvektor oder asis von A; analog A N, N Nichtbasisindexvektor. Der Vektor x R n mit 0, x A - b heißt asislösung von Axb zur asis A. Definitionen Ist A regulär invertierbar, so heißt A asismatrix oder asis von A und asisindexvektor oder asis von A; analog A N, N Nichtbasisindexvektor. Der Vektor x R n mit 0, x A - b heißt asislösung von Axb zur asis A. Ist A eine asis, so heißen die Variablen x j, j, asisvariablen und die x j, j N Nichtbasisvariablen. Ist A asis und gilt A - b 0, so heißen A, und die zugehörige asislösung x zulässig, sonst unzulässig. Eine zulässige asislösung x zur asis A heißt nichtdegeneriert, falls x i A - b i >0 für alle i, sonst degeneriert. Simplex-Gleichungsschema und Simplex Tableau max c T x s.t. Axb, x 0 Zielfunktionswert: Simplex-Gleichungsschema: T max c x c N s.t. A,A N x b, x 0 A x + A N b x A b A A N z c T x + c N T c T A b A A N + c N T c T A b + c N T c T A A N x A b A A N z c T A b + c N T c T A A N Simplex-Gleichungsschema und Simplex Tableau asisaustauschsatz, s. Tafel Simplex-Gl.schema: Zielfunktionswert Simplex-Tableau: Werte der asisvariablen x A b A A N z c T A b + c N T c T A A N - c T A b A b c N T c T A A N A A N reduzierte Kosten

eweis: a b b A entsteht aus A durch Ersetzen der r-ten Spalte durch A qs. Es gilt A A F, wobei F 0 0 ā s..... 0 0 ā r,s ā rs ā r+,s 0 0.... ā ms 0 0 Denn: Wir haben Ā s A und deshalb ist die A qs s-te Spalte von A F gleich A Ā s A A A s A qs und alle anderen Spalten bleiben wie in A. Es gilt ā rs > 0, also ist F regulär und somit ist A eine asis. 4 5 Weiterhin ist x A b F A b F x F b mit 0 0 ās.... 0 0 ār,s F Also gilt für i,,..., m: r-te Spalte Falls ā is > 0: x b pi i āis br b i āis bi 0 āis insbesondere für i r: x b pr r br 0 neue Nichtbasisvariable Falls ā is 0: x b pi i āis br b i 0 und x br 0 qs neue asisvariable Also ist x zulässige asislösung zur asis. ār+,s. āms 0 0... 0 0 b3 nicht-degenerierter Fall: λ 0 >0: 6 7 Simplex-Algorithmus Tableau-Methode Start mit einer zulässigen asis Iterierte Anwendung des Satzes: a STOP, Optimalität b STOP, Unbeschränktheit b asiswechsel: Pivot mit Pivotspalte s und Pivotzeile r Zielfunktionswert Werte der asisvariablen - c T A b A b c N T c T A A N A A N t 00 t 0... t 0n reduzierte Kosten Varianten: Tableau-Methode Standard-Simplex Revidierte Methode t 0 t... t n............ t m0 t m... t mn Das Tableau ist zulässig falls t i0 0 für alle i {,,...,m}. Das Tableau ist optimal falls t 0j 0 für alle j {,,...,n}. 3

Rechenregeln aus asisaustausch-satz erechnung von Ā A A N : A A N A F A N F A A N A N unterscheidet sich von A N nur durch die r-te Spalte gehört zur Variablen mit Index p r. Rechenregeln aus asisaustausch-satz Zur Neuberechnung von Ā muss Ā also im Wesentlichen mit F multipliziert werden; Ausnahmen bilden die r-te Spalte sowie die s-te Zeile. Dasselbe gilt für die erechnung von b und c. Das Element ā rs wird als Pivotelement bezeichnet. Daraus ergeben sich die folgenden Rechenregeln: 0 ff fff eobachtungen zum Simplex-Algorithmus In jeder Iteration wird eine asislösung durch eine andere ersetzt. Zur erechnung der neuen asislösung x wird nur ein sehr kleiner Teil des Tableaus benutzt: man benötigt A -, bx und c sowie die s-te Spalte von A. Idee: Statt jedes Mal die ganze Matrix zu berechnen, berechne nur den Teil, der wirklich gebraucht wird, und dies direkt aus den Originaldaten revidierte Simplexmethode 4

Revidierte Simplex-Methode 6 7 Gleiches wie vorhin mit 4, 5,N,, 3, c 3, 5, 4, 0, 0, 0 x4 3 0 A, x 0, A x 5 5 4 0. Iteration: y T A c T : y T F r x sind die reduzierten Kosten x tritt ein c y T 0 0 0 0 y 0 0 c 5. A d a d Damit haben wir die neue asis sowie asislösung: x 3 x : x4 x 5, 5 N, 4, 3 3 x : Es gilt: A A alt F 3 3 5 0 0 0 0 0 t 3 und x4 raus. 9. Iteration Reduzierte Kosten: y T 0 5 5, 0 y 0 x :3 5, 0 0 x 4 :0 5, 0 5 0 0 x 3 :4 5, 0 3 4 x 3 rein t 3 und x 5 raus. A d a : x 3 3 x : 0 d d 4 3 x x 5 3 7 6 3 3 0, 3,N, 4, 5 7 6 x : 3 0 Es gilt: A A alt F 0 3 4 30 3 5

3. Iteration: Reduzierte Kosten: y T 5 4 y 4 x :3, 3 0 x 4 :0, 0 0 x 5 :0, 0 0 Lösung der Gleichungssysteme durch Eta-Faktorisierung der asis Ziel: Lösung nicht mittels Neuberechnung der Inversen Optimal! r-te Spalte wird ersetzt durch d 33 Eta-Faktorisierung der asis emerkung zur Eta-Faktorisierung Z.. Lösen von y T A 4 c T : yt E E E 3 E 4 c T : u T E 4 c T,vT E 3 u T,w T E v T,y T E w T. Lösen von A 4 d a: E E E 3 E 4 d a E u a, E v u, E 3 w v, E 4 d w. TRAN für back transformation FTRAN für forward transformation Speicherung der Eta-Matrizen: jeweils nur die Spalte und die Position. Eta-File: E,E,..., E k. Mit der Eta-Faktorisierung hat man zwar mehr Gleichungssysteme zu lösen, da diese aber sehr dünn besetzt ist, ist dies mit sehr geringem Aufwand verbunden: Wenn die Eta-Spalte k Nicht-Nullen besitzt, dann werden hierzu nur k- Multiplikationen, k- Additionen und Division benötigt. Denn das Lösen von E k d a ist einfach: Sei die r-te Spalte von E k gegeben durch ā: Dann ist d r a rs /ā rs und d i a s ā is d r Faktorisierung / Refaktorisierung Problem : In jeder Iteration kommt eine neue Eta-Matrix hinzu Zunehmende Ineffizienz, da immer mehr Gleichungssysteme zu lösen sind und damit auch neben dem Zeitfaktor numerische Fehler verbunden sind Lösung: Neuberechnung von A k alle h Iterationen Chvatal empfiehlt h0 z.. als LU-Zerlegung oder trianguläre Faktorisierung und setze diese als neues A 0. Problem : Was tun, wenn A 0 I? Periodische Refaktorisierung Faktorisierung Lösung: Faktorisierung von A 0 z.. als LU-Zerlegung oder trianguläre Faktorisierung Vorteile der revidierten Methode Rechenaufwand ist bei einer großen und dünn besetzten Matrix deutlich kleiner als bei Tableau- Methode Spalten werden nur bei edarf generiert Eta-Faktorisierung und Refaktorisierung statt Speicherung der inversen Matrix Rechengenauigkeit ist deutlich besser, denn man kann die inverse asismatrix regelmäßig neu berechnen. Simplexalgorithmus läßt noch einige Freiheiten, z.. bei Zeilen und Spaltenauswahl, denn es können jeweils mehrere Kandidaten existieren. 6

Spaltenauswahlregeln Zeilenauswahlregeln Kleinster-Index-Regel: Wähle die Spalte mit kleinstem Index Kleinster-Variablenindex-Regel: Wähle die Spalte mit dem kleinsten Variablenindex Steilster-Anstieg-Regel: Wähle diejenige Spalt mit den größten reduzierten Kosten Größter-Fortschritt-Regel: erechne den neuen Zielfunktionswert über alle möglichen Spalten aus und wähle dann diejenige Spalte, die den größten Wert bringt. Lexikographische Spaltenauswahlregel: etrachte jeweils die Vektoren der in Frage kommenden Spalten und wähle den lexikographisch kleinsten aus. Diese Regeln werden dann angewendet, falls es mehrere Kandidaten zur Auswahl gibt Kleinster-Index-Regel: Wähle die Zeile mit kleinstem Index Kleinster-Variablenindex-Regel: Wähle die Zeile mit dem kleinsten Variablenindex Lexikographische Zeilenauswahlregel: etrachte jeweils die Vektoren der in Frage kommenden Zeilen und wähle den lexikographisch kleinsten aus. 38 39 Terminierung Problem: Man kann e konstruieren, für die sich eine asis wiederholt: Phänomen des Zykelns nur bei Degenerität keine Terminierung Terminierung land s Regel: Eintretende und austretende Variable ist immer diejenige mit dem kleinsten Index. Satz land, 977: ei der Anwendung von land s Regel terminiert der Simplexalgorithmus. Lösung: Es gibt Spalten- bzw. Zeilenauswahlregeln, von denen man zeigen kann, dass in diesem Fall der Simplex-Algorithmus terminiert. 40 emerkungen: Wendet man die kleinste Indexregel auf nur eine Spalten- oder Zeilenauswahl an, dann kann man e konstruieren, bei denen das Verfahren nicht terminiert. Es gibt aber auch Regeln z.. die lexikographische Zeilen- bzw. Spaltenauswahlregel, die nur auf eines der beiden angewendet werden müssen um Terminierung zu erhalten. emerkungen Laufzeit Achtung: land s Regel verhindert zwar das Zykeln, aber in der Praxis hat sich gezeigt, dass i.a. die Anzahl der Pivotoperationen bei Anwendung der land-regel wesentlich höher liegt als z.. bei der Steilster Anstieg-Regel. In der Praxis wird daher meist die steilste Anstieg Regel zur Spaltenauswahl verwendet. Worst Case: Zu fast allen bekannten Pivotauswahlregeln kennt man heute eine Klasse von Polyedern und Zielfunktionen, so dass der Simplexalgorithmus bei Anwendung einer zugehörigen Auswahlregel durch alle Ecken des Polyeders läuft. Da die Anzahl der Ecken dieser Polyeder exponentiell mit der Anzahl der Variablen wächst exponentielle worst-case Laufzeit. 7

Laufzeitvergleich von Tableau- mit Revidierter Simplexmethode Laufzeit pro Iteration für dünn-besetzte Matrizen: Schätzung laut Chvatal-uch: Annahme: Tableauspalten und Zeilen enthalten m/ bzw. n/ Nicht-NullElemente; Faktorisierungsmatrizen von k : m Nicht-Null-Elemente; Eta-Spalten: ca. 5%-50% dicht FTRAN: ca. 0m, TRAN: ca. 0m Auswahl der Eingangsvariablen: 0n erechnung der Ausgangsvariablen: m Aktualisierung von x und : m Gesamtzeit Revidierter Simplex: 3m+0n Gesamtzeit Tableau-Methode: mn/4 8