Lineare Programmierung (2)

Ähnliche Dokumente
Lineare Programmierung Teil I

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

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

Lineare Programmierung. Beispiel: Wahlkampf. Beispiel: Wahlkampf. Mathematische Schreibweise. Lineares Programm. Datenstrukturen & Algorithmen

Lösung allgemeiner linearer Programme

Studientag zur Algorithmischen Mathematik

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

1 Der Simplex Algorithmus I

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

Schranken für zulässige Lösungen

Seminar über aktuelle Forschungsthemen in der Algorithmik, Dozent Prof. Dr. Alt;

Optimierungsverfahren in der Transportlogistik

Lineare Programmierung

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

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

Optimierung I. Dr. Ulf Lorenz F2.413

Optimale Steuerung 1 Prozessoptimierung 1

6. Softwarewerkzeuge für die Lineare Programmierung

1 Lineare Optimierung, Simplex-Verfahren

4. Dualität Dualität 4.1 Dualität von LPs und der Dualitätssatz. Die duale Form eines LP in allgemeiner Form. Herleitung der dualen Form

Optimierung. Optimierung. Vorlesung 7 Lineare Programmierung II Thomas Brox, Fabian Kuhn

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

4.3.3 Simplexiteration

Kapitel 4. Optimierungsalgorithmen. Technische Universität Wien. Gunnar Klau Technische Universität Wien. Institut für Computergraphik und Algorithmen

Lineare Optimierungsmodelle

Einführung in die Lineare Programmierung

Algorithmen und Datenstrukturen Kapitel 10

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

Probleme aus NP und die polynomielle Reduktion

3. Grundlagen der Linearen Programmierung

2. Optimierungsprobleme 6

Lineares Programmieren Algorithmentechnik WS 09/10 Dorothea Wagner 7. Januar 2010

Flüsse in Netzwerken. Seminar über Algorithmen SoSe Mike Rohland & Julia Schenk

Wiederholung zu Flüssen

OPERATIONS-RESEARCH (OR)

Übung QM 1 EINFÜHRUNG 1. 1 Einführung. ohne Übungsaufgaben

Die Verbindung von Linearer Programmierung und Graphentheorie

Lineares Programmieren

Leibniz Universität Hannover Wirtschaftswissenschaftliche Fakultät Institut für Produktionswirtschaft Prof. Dr. Stefan Helber

6. Flüsse und Zuordnungen

Lineare Programmierung

Das Multi Traveling Salesman Problem

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Lineare (Un-)Gleichungen und lineare Optimierung

Optimierung für Wirtschaftsinformatiker: Lineare Programme

Übungsblatt 6 Lösungsvorschläge

Klausur Management Science. Donnerstag, 19. Februar 2015

Lineare (Un-)Gleichungen und lineare Optimierung

Unimodularität. Kapitel 1. Peter Becker (H-BRS) Operations Research II Wintersemester 2015/16 11 / 206

(Technisch: Setze alle Skalarprodukte der allgemeinen Lösung mit den Basisvektoren des Kerns gleich Null eindeutige leastsqares Lösung)

Aufgabe 5.3 Duale Simplexverfahren

Maximale s t-flüsse in Planaren Graphen

Gliederung. Kapitel 4. Lokale Suchverfahren. Meta-Heuristiken. Simulated Annealing. Lokale Suchverfahren. Optimierungsalgorithmen

Einführung. Kapitel 1. Peter Becker (H-BRS) Operations Research I Sommersemester / 298

Der Simplex-Algorithmus

3. Schnittebenenverfahren

Anwendungen von Netzwerkfluss. Wojciech Polcwiartek Institut für Informatik FU Berlin

Teil I. Lineare Optimierung

Algorithmen und Datenstrukturen

Klausur zur Vorlesung Mathematische Grundlagen für Wirtschaftswissenschaftler

Operations Research für Logistik

15. Elementare Graphalgorithmen

Netzwerk-Simplex. MinCostFlow als Lineares Programm. 1 of 12 Netzwerksimplex

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).

Anwendungen der Wirtschaftsmathematik und deren Einsatz im Schulunterricht

OPERATIONS RESEARCH I LINEARE PLANUNGS RECHNUNO UND NETZPLANTECHNIK

Very simple methods for all pairs network flow analysis

Logistik: Transport. Grundlagen, lineare Transportund Umladeprobleme. Von Dr. Wolfgang Domschke. o. Professor für Betriebswirtschaftslehre

Wirtschaftsmathematik für International Management (BA) und Betriebswirtschaft (BA)

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Spieltheorie. Nash-Gleichgewichts-Berechnung. Bernhard Nebel und Robert Mattmüller. Arbeitsgruppe Grundlagen der Künstlichen Intelligenz 14.

Basistext Lineare Gleichungssysteme. Eine lineare Gleichung mit einer Unbekannten hat die allgemeine Form! #=%

Modelle und Methoden der Linearen Optimierung (Die Thesen zur Vorlesung 1_Fallstudie)

Kurs über Lineare Gleichungssysteme. PD Dr. Karin Halupczok

Effiziente Algorithmen I

Übungen zur Linearen Optimierung Sommersemester Übungsblatt 1

Vorlesung 2 KÜRZESTE WEGE

Das Heiratsproblem. Definition Matching

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

KLAUSUR zu Einführung in die Optimierung. Studiengang: Bachelor Master Diplom (bitte ankreuzen)

Vorlesung Einführung in die Mathematische Optimierung (Wintersemester 2013/14)

Graphentheorie. Maximale Flüsse. Maximale Flüsse. Maximale Flüsse. Rainer Schrader. 31. Oktober Gliederung. sei G = (V, A) ein gerichteter Graph

Mathematik 1, Teil B. Inhalt:

Optimierungsalgorithmen

Flüsse, Schnitte, Bipartite Graphen II

Höhere Algorithmik II. Dozent: Prof. Dr. Helmut Alt

2 Die Dimension eines Vektorraums

Algorithmen - Eine Einführung

KAPITEL 4 FLÜSSE IN NETZWERKEN

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Einführung in die Wirtschaftsinformatik VO WS 2008 / 2009

Grundlagen der Theoretischen Informatik

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1

Flüsse, Schnitte, bipartite Graphen. Martin Oettinger

4. Dynamische Optimierung

Maximale s t-flüsse in Planaren Graphen

Transkript:

Inhalt Rückblick Motivation - linearen Programmierung Flussprobleme Multiple Warenflüsse Fortsetzung Simplex Algorithmus Initialisierung Fundamentalsatz der linearen Programmierung schwache Dualität Dualität der linearen Programmierung (2) Norman Dziengel - 1 - John Wiesel

(2) Norman Dziengel, John Wiesel - 2 - Rückblick (1) Vorbereitung Simplex-Algorithmus Gesucht ist Lösung, die folgende lin. Funktion in Standardform: n j=1 c j x j unter den Nebenbedingungen Beispiel: maximiere 40x 1 +50x 2 Nebenbedingung: n j=1 a ij x j b i x j 0 und i=1,2,...,m für j=1,2,...,n (1) 2x 1 + 3x 2 <= 3 (2) 4x 1 + 2x 2 <= 5 / 2 (3) x 1, x 2 >= 0 maximiert.

(2) Norman Dziengel, John Wiesel - 3 - Rückblick (2) Vorbereitung Simplex-Algorithmus Standardform: maximiere 40x 1 + 50x 2 Schlupfform: z = 40x 1 + 50x 2 Nebenbedingung: (1) 2x 1 + 3x 2 <= 3 n s=b i j=1 a ij x j nach Schlupfform Nebenbedingung: (1) x 3 = 3-2x 1 3x 2 (2) 4x 1 + 2x 2 <= 5 / 2 (3) x 1, x 2 >= 0 (2) x 4 = 5 / 2-4x 1-2x 2 (3) x 1, x 2, x 3, x 4 >= 0

(2) Norman Dziengel, John Wiesel - 4 - Rückblick (3) Simplex-Algorithmus eine Iteration z = 40x 1 + 50x 2 Nebenbedingung: Maximiere x 1 1 x 3 =3 2 x 1 3 x 2 2 x 4 = 5 2 4 x 1 2 x 2 3 x 1, x 2, x 3 x 4 0 x 1 maximal 3 2 x 1 maximal 5 8 => eng => Basisvariablentausch bei (2) x 4 gegen x 1 z=40 5 8 1 2 x 2 1 4 x 4 50 x 2 =25 30 x 2 10 x 4 1 x 3 =3 2 5 8 1 2 x 2 1 4 x 4 3 x 2 = 7 4 2 x 2 1 2 x 4 2 x 1 = 5 8 1 2 x 2 1 4 x 4 etc...

(2) Norman Dziengel, John Wiesel - 5 - Rückblick (4) Simplex-Algorithmus Was wissen wir bereits? Funktionsweise Iteration über Gleichungssysteme - äquivalente Umformungen von einer Schlupfform in die nächste - Zielfunktionswert steigt in der Regel von Iteration zu Iteration (bei Maximierung) Eingabe: Schlupfform eines lin. Programms Ausgabe: optimale Lösung Laufzeit: meist polynomial

(2) Norman Dziengel, John Wiesel - 6 - Rückblick (5) Simplex-Algorithmus Was wissen wir bereits? Terminierung n m m - kreiselt nach Iterationen, weil unbeschränkt - terminiert mit zulässiger Lösung n m : Anzahl der nicht-basisvariablen : Anzahl der Basisvariablen

(2) Norman Dziengel, John Wiesel - 7 - Was bleibt zu zeigen? Simplex-Algorithmus Umgang mit LP ohne zulässige Lösung Umgang mit ungültiger initialer Basislösung Liefert Simplex immer optimales Ergebnis?

(2) Norman Dziengel, John Wiesel - 8 - Motivation - lineare Programmierung Wieso lineare Programmierung, Rechtfertigung? Lösung für viele reale Probleme Flussprobleme, z.b. für die Erstellung von Flugplänen, USA 80er Jahre Kürzeste Pfade Kostenkonstellationen in der Betriebswirtschaft Sobald ein Problem einmal als lineares Programm mit polynomialer Größe formuliert ist, kann es mit Simplex gelöst werden.

(2) Norman Dziengel, John Wiesel - 9 - Motivation - lineare Programmierung Multiple Warenflüsse (1) (besser bekannt als multi bzw. multiple commodity flow ) Die Firma Lucky Puck möchte mehrere Produkte vertreiben. Zu den Pucks kommen nun Schläger, Helme und anderes Zubehör. Dabei müssen täglich die Waren von der entsprechenden Fabrik zum entsprechenden Großhändler transportiert werden. Als Transportmittel stehen LKWs zur Verfügung, die sich die Autobahnen und Bundestraßen rund um die Fabrik von Lucky Puck teilen müssen.

(2) Norman Dziengel, John Wiesel - 10 - Motivation - lineare Programmierung Multiple Warenflüsse (2) Gerichteter Graph G = (V,E) Jede Kante (u,v) e E besitzt Kapazität c(u,v) >= 0. Bsp.: k Waren, Ware i mit (s i, t i, b i ) s = source (Quelle), t = target (Senke), d = demand (Bedarf) f(u,v) = k i=1 f i u, v (Aggregat-Fluss) Wie sieht nun lineares Programm dazu aus?

(2) Norman Dziengel, John Wiesel - 11 - Motivation - lineare Programmierung Multiple Warenflüsse (3) da keine Optimierung nötig => Zielfunktion: minimiere 0 Nebenbedingungen: wichtig: Simplex effektivster bekannter Algorithmus

(2) Norman Dziengel, John Wiesel - 12 - Simplex-Algorithmus mögliche Probleme Bisherige Annahme: Lineares Programm besitzt eine Lösung. Lineares Programm besitzt eine initiale Basislösung. Aber, möglich ist auch: initiale Basislösung ungültig, LP unlösbar.

(2) Norman Dziengel, John Wiesel - 13 - Simplex-Algorithmus ungültige initiale Basislösung initiale Basislösung ungültig Beispiel (1) maximiere 2x 1 x 2 (2) 2x 1 x 2 <= 2 (3) x 1 5x 2 <= -4 x 1, x 2 >= 0 x 2 (1) (2) (1) z = 2x 1 x 2 (2) x 3 = 2-2x 1 + x 2 (3) x 4 = -4 x 1 + 5x 2 x 1, x 2, x 3, x 4 >= 0 Basislösung: {0,0,-4!,2} (3) x 1

(2) Norman Dziengel, John Wiesel - 14 - Simplex-Algorithmus unlösbar Nebenbedingungen im Widerspruch Unbeschränkt Vor der Ausführung von Simplex müssen also die Voraussetzungen für einen fehlerfreien Ablauf des Simplex-Algorithmus geschaffen werden.

(2) Norman Dziengel, John Wiesel - 15 - Simplex-Algorithmus Initialisierung Wir benötigen eine Initialisierungsprozedur für jedes Lineare Programm L, wir nennen es INITIALIZE-SIMPLEX (nach Cormen). INITIALIZE-SIMPLEX Schlupfform an Testprozedur übergeben Basislösung zulässig: Rückgabe der original Schlupfform Basislösung nicht zulässig: weitergeben an Hilfsfunktion

(2) Norman Dziengel, John Wiesel - 16 - Simplex-Algorithmus Initialisierung (2) Hilfsfunktion : ein Lineares Programm, dass prüft, ob L lösbar ist. L h hat zusätzlich zu den n Variablen von L, die Hilfsvariable x 0. maximieren -x 0 (b : Basisvariablen, a : Koeffizienten, x : Nicht-Basisvariblen) n j=1 a ij x j x 0 b i x j 0 für i = 1, 2,..., m für j = 0, 1,..., n Wenn der optimale Zielfunktionswert des Hilfsprogramms negativ ist, dann hat das ursprüngliche lineare Programm keine zulässige Lösung. Ist die Lösung gleich 0, dann hat das ursprüngliche LP eine Lösung.

(2) Norman Dziengel, John Wiesel - 17 - Simplex-Algorithmus Initialisierung (3) INITIALIZE-SIMPLEX Schlupfform an Testprozedur übergeben Basislösung zulässig: Rückgabe der original Schlupfform Basislösung nicht zulässig: weitergeben an Hilfsfunktion wenn Basislösung x 0 = 0: Rückgabe der original Schlupfform sonst: Rückgabe L nicht lösbar

(2) Norman Dziengel, John Wiesel - 18 - Fundamentalsatz der linearen Programmierung Für jedes lineare Programm L, dass in Standardform gegeben ist, gilt genau eine der folgenden drei Aussagen: 1. L besitzt eine optimale Lösung (endlicher Zielfunktionswert), 2. L ist unlösbar, 3. L ist unbeschränkt.

(2) Norman Dziengel, John Wiesel - 19 - Fundamentalsatz der linearen Programmierung (2) 3. L ist unbeschränkt, wenn die Nebenbedingungen den Umfang nicht ausreichend einschränken und Simplex die Eingangsvariablen beliebig erhöhen kann.

(2) Norman Dziengel, John Wiesel - 20 - Fundamentalsatz der linearen Programmierung Für jedes lineare Programm L, dass in Standardform gegeben ist, gilt genau eine der folgenden drei Aussagen: 1. L besitzt eine optimale Lösung (endlicher Zielfunktionswert), 2. L ist unlösbar, 3. L ist unbeschränkt.

(2) Norman Dziengel, John Wiesel - 21 - Das Prinzip der Dualität Beispiel: Eine Großbrauerei braut zwei Sorten Bier. 1000 l Biersorte 1 : 1t Hopfen und 3t Malz 1000 l Biersorte 2 : 2t Hopfen und 1t Malz 1000 l Bier der Sorte 1 bringen 4 Geld Gewinn. 1000 l Bier der Sorte 2 bringen 6 Geld Gewinn. Biersorte Benötigter Hopfen Benötigter Malz Gewinn 1 1 3 6 2 2 1 4 Vorräte: 8 Tonnen Hopfen und 9 Tonnen Malz.

(2) Norman Dziengel, John Wiesel - 22 - Das Prinzip der Dualität (2) Problem: Rohstoffe verderblich! Brauereibesitzer möchte Rohstoffe versichern: y 1 : Versicherungswert für 1 Tonne Malz y 2 : Versicherungswert für 1 Tonne Hopfen 8 y 1 + 9 y 2 : Versicherungswert aller Vorräte (minimieren) Um den Gewinn abzusichern, muss also mind. für Biersorte 1 y 1 + 3 y 2 >= 6 Biersorte 2 2 y 1 + y 2 >= 4 eine Versicherung abgeschlossen werden.

(2) Norman Dziengel, John Wiesel - 23 - Das Prinzip der Dualität (3) Problem 2: Einkommen maximieren! Brauereimeister möchte wissen, wieviel Bier von beiden Sorten gebraut werden soll. x 1 : Anzahl 1000 l Biersorte 1 x 2 : Anzahl 1000 l Biersorte 2 6 x 1 + 4 x 2 : Verkaufswert der Biersorte Um das Einkommen zu maximieren, kann also maximal für Hopfen x 1 + 2 x 2 <= 8 Malz 3 x 1 + x 2 <= 9 gebraut werden.

(2) Norman Dziengel, John Wiesel - 24 - Das Prinzip der Dualität (4) Problem 1 und 2 beschreiben eine Dualität! Versicherung Einkommen Unterversichert Optimum

(2) Norman Dziengel, John Wiesel - 25 - Das Prinzip der Dualität (5) (1) Primales Programm (2) (3) Duales Programm (4)

(2) Norman Dziengel, John Wiesel - 26 - Schwache Dualität

(2) Norman Dziengel, John Wiesel - 27 - Schwache Dualität nach (4) nach (2)

(2) Norman Dziengel, John Wiesel - 28 - Schwache Dualität (2) Sei x bzw. y eine zulässige Lösung für das primale Linearprogramm bzw das duale LP. Haben beide den gleichen Zielfunktionswert, so ist dieser Wert optimal. Wenn gilt dann optimal. Beweis: Nach dem Prinzip der schwachen Dualität kann der Zielfunktionswert des primalen LP nicht den Wert des dualen LP übersteigen. Wenn also x und y den gleichen Zielfunktionswert haben, kann keine mehr verbessert werden.

(2) Norman Dziengel, John Wiesel - 29 - Dualität der lineare Programmierung Ausserdem gilt: n j=1 m c j x = j i=1 b i y i Ist x die optimale Lösung des primalen linearen Programms und y die optimale Lösung des dualen, dann haben beide immer den gleichen Zielfunktionswert.

(2) Norman Dziengel, John Wiesel - 30 - Dualität der lineare Programmierung (2) Beweis recht lang und komplex. Idee: mittels Simplexalgorithmus finale Schlupfform erzeugen z=v ' j N c ' j x j aus Äquivalenz aller Schlupfformen für bel. Mengen von Werten haben die erste und letzte Schlupfform an einer Stelle den selben Wert. n j=1 n m c j x j =v ' j=1 c ' j x j

(2) Norman Dziengel, John Wiesel - 31 - Dualität der lineare Programmierung (3) Idee (2): n j=1 n m c j x j =v ' j=1 c ' j x j mittels Umformungen gelangt man zu n j=1 m c j x j = v ' i=1 n b j y j j=1 m c ' j i=1 a ij y i x j

(2) Norman Dziengel, John Wiesel - 32 - Dualität der lineare Programmierung (4) Idee (3): n j=1 m c j x j = v ' i=1 n b j y j j=1 m c ' j i=1 a ij y i x j Dann folgt aufgrund dieses Lemma Wenn a i x i =r b i x i i I i I dann gilt r=0 und a i =b i für alle i I m c ' j i=1 a ij y i =c j m v ' i=1 b i y i =0

(2) Norman Dziengel, John Wiesel - 33 - Fundamentalsatz der linearen Programmierung Für jedes lineare Programm L, dass in Standardform gegeben ist, gilt genau eine der folgenden drei Aussagen: 1. L besitzt eine optimale Lösung (endlicher Zielfunktionswert), 2. L ist unlösbar, 3. L ist unbeschränkt. => Wenn INITIALIZE-SIMPLEX zulässige Lösung zurückgibt und SIMPLEX nicht mit unbeschränkt terminiert, dann ist die Lösung optimal.

(2) Norman Dziengel, John Wiesel - 34 - Ende Fragen, Anregungen und Beschimpfungen?

(2) Norman Dziengel, John Wiesel - 35 - Quellen Cormen, Thomas; Leiserson, Charles;Rivest, Ronald; Stein, Clifford (2001): Introduction to Algorithms, Second Edition. Schlipf, Lena; Jankovic, Benjamin (2005): Teil 1, http://page.mi.fu-berlin.de/~alt/vorlesungen/sem05/folien3.pdf Jiangsheng, Yu (2003): Linear Programming. http://icl.pku.edu.cn/member/yujs/papers/pdf/comalg9.pdf Riegler, Peter (2001): Dualität. Ergänzungen zum Kurs Operations Research, http://people.freenet.de/riegler/dualtext.pdf Wisniewski, Timothy (1996): The Simplex Java Applet, http://www-fp.mcs.anl.gov/otc/guide/casestudies/simplex/applet/simplextool.html