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

Ähnliche Dokumente
Optimierung für Wirtschaftsinformatiker: Lineare Programme

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

Studientag zur Algorithmischen Mathematik

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

1 Der Simplex Algorithmus I

Inhaltsübersicht für heute:

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

4.3.3 Simplexiteration

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

Schranken für zulässige Lösungen

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

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

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

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

Optimierung I. Dr. Ulf Lorenz F2.413

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

Sattelpunkt-Interpretation

Lösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Lösung allgemeiner linearer Programme

Teil I. Lineare Optimierung

Diskrete Optimierung (Einführung zur Vorlesung)

Übungsblatt 6 Lösungsvorschläge

Maximiere Gesamtgewinn aus verschiedenen Produkten unter Restriktionen an Produktmenge (Lagermenge, Transportmenge)

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

Optimalitätsbedingungen

Optimale Steuerung 1 Prozessoptimierung 1

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

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

KAPITEL 6 GANZZAHLIGE OPTIMIERUNG UND VOLLSTÄNDIG UNIMODULARE MATRIZEN

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

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

Das Heiratsproblem. Definition Matching

OPERATIONS RESEARCH I LINEARE PLANUNGS RECHNUNO UND NETZPLANTECHNIK

Optimierungsalgorithmen

Das Multi Traveling Salesman Problem

6. Softwarewerkzeuge für die Lineare Programmierung

Einführung in die Wirtschaftsinformatik VO WS 2008 / 2009

1 Lineare Optimierung, Simplex-Verfahren

2. Optimierungsprobleme 6

3.2 Lineare Optimierung (Entscheidungen unter Sicherheit)

OPERATIONS-RESEARCH (OR)

WS 2008/09. Diskrete Strukturen

Durchschnitt von Matroiden

Optimierung I. Prof. Dr. Christoph Helmberg. 15. Februar 2004

Bipartite Graphen. Beispiele

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

Ausarbeitung über den Satz von Menger und den Satz von König

Optimierung. Prof. Dr. H. Maurer WWU Münster, Wintersemester 2009/2010 Vorlesungsmitschrift von Christian Schulte zu Berge. 22.

Wiederholung zu Flüssen

Inhalt. Problemstellung und Überblick. Allgemeine Problemstellung und Terminologie. Überblick über spezielle Klassen von Optimierungsproblemen

3.4 Exakte Verfahren für (Gemischt-) Ganzzahlige Optimierung

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

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

Optimierung für Wirtschaftsinformatiker: Analytische Optimierung mit Ungleichungsnebenbedingungen

Optimierungsverfahren in der Transportlogistik

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

Überblick Kap. 5: Graph Coloring

Formale Grundlagen der Informatik

Geraden in der Ebene und Zerlegung von Graphen

Lagrange-Relaxierung und Subgradientenverfahren

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

Bestimmung einer ersten

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

Effiziente Algorithmen I

Algorithmische Graphentheorie

Experimente. Zahlenbeispiel. Cache-Optimale Algorithmen. Warum Funktionieren Caches? Cache-Oblivious Speichermodell. Characterisierung von Caches

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

Lineare Gleichungssysteme

3. Schnittebenenverfahren

Optimierung für Nichtmathematiker

Technische Universität München Zentrum Mathematik. Übungsblatt 7

3. Grundlagen der Linearen Programmierung

Matrizen, Gaußscher Algorithmus 1 Bestimmung der inversen Matrix

Klausur zur Vorlesung Mathematische Grundlagen für Wirtschaftswissenschaftler

Kombinatorische Optimierung

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2009/2010

Kapitel 2: Lineare Optimierung

Optimierung. Optimierung. Vorlesung 2 Optimierung ohne Nebenbedingungen Gradientenverfahren Thomas Brox, Fabian Kuhn

Optimierung auf Netzwerken

KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN

Klausurrepetitorium ABWL

Klausur zur Vorlesung Lineare Algebra II, SoSe 2016,

»La filosofia è scritta in questo grandissimo libro che continuamente ci sta aperto innanzi a

Optimierung und Simulation ökonomischer Problemlagen privater Haushalte 3. Vorlesung

Mathematik 1 für Wirtschaftsinformatik

6. Übung zur Linearen Optimierung SS08

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

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 13, Henning Meyerhenke

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

Lineare Optimierungsmodelle

Lineare Programmierung Teil I

Unimodulare lineare Programme

Bäume und Wälder. Definition 1

Verteilen von Bällen auf Urnen

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Graphen und Bäume. A.1 Graphen

37 Gauß-Algorithmus und lineare Gleichungssysteme

Lineare Programmierung

5. Musterlösung. Problem 1: Vitale Kanten * ω(f) > ω(f ). (a) Untersuchen Sie, ob es in jedem Netzwerk vitale Kanten gibt.

Transkript:

Optimierung für Wirtschaftsinformatiker: Dualität, Ganzzahlige lineare Optimierung Dr. Nico Düvelmeyer Freitag, 24. Juni 2011 1: 1 [1,1]

Inhaltsübersicht für heute 1 Dualität Motivation Duales LP Dualitätssätze Sensitivität und Schattenpreise 2 Problemdefinition 2: 2 [2,2]

Inhaltsübersicht für heute 1 Dualität Motivation Duales LP Dualitätssätze Sensitivität und Schattenpreise 2 Problemdefinition 3: 3 [3,3]

Einführung Mit jedem konvexen Minimierungsproblem löst man automatisch ein verwandtes konvexes Maximierungsproblem, das als die Bestimmung einer besten Schranke für den Optimalwert des Originalproblems interpretiert werden kann. Die duale Optimallösung (wenn sie existiert) gibt wichtige Zusatzinforamtion über das Originalproblem. geometrische Dualität Punkt - Gerade/Ebene Partnerschaft als Dualität 4: 4 [4,4]

Notation Ursprungsproblem = Primalproblem zugeordnetes Problem = Dualproblem (Problem der besten Schranke) 5: 5 [5,5]

Beispiel mit offensichtlicher Schranke max x K + x T unter 2x K + 1x T 10 1x K + 1x T 6 1x K + 2x T 9 x K 0, x T 0 hat vermutlich 6 als Optimalwert, keinesfalls aber mehr als 6. 6: 6 [6,6]

weitere Schranken Addition 1.+3. Restriktion liefert max x K + x T unter 2x K + 1x T 10 1x K + 1x T 6 1x K + 2x T 9 x K 0, x T 0 3x K + 3x T 19 x K + x T 19/3 Also ist auch 19/3 eine obere Schranke, aber schlechter als die 6. 7: 7 [7,7]

Untere Schranken, algebraisch Eine Ungleichung a T x α heißt gültig für ein Optimierungsproblem mit zulässiger Menge X, wenn sie für alle x X erfüllt ist. Betrachte X := {x : Ax b} mit A = a T 1.. a T m a T 1 x b 1 y 1 ( 0). amx T b m y m ( 0) 0 T x 1 η( 0) : (y T A)x y T b η liefert eine gültige Ungleichung für X (und man erhält alle so!). 8: 8 [8,8]

Das Duale von der Standardform (mit dualen Schlupf) 9: 9 [9,9] Betrachte min c T x unter Ax = b, x 0. Erlaubte Linearkombionation der Zeilen Ax = b und Ix 0 a T 1 x = b 1 y 1 ( R). amx T = b m y m ( R) e1 T x 0 z 1( 0). en T x 0 z n ( 0) : (y T A + z T I )x y T b Die beste untere Schranke liefert das Duale LP (Form mit Schnlupfvariablen) (y und z sind die Dualvariablen) max b T y max b T y unter A T y + z = c y R m, z 0 unter A T y c y R m

Das Duale von der Standardform (ohne dualen Schlupf) Betrachte min c T x unter Ax = b, x 0. Erlaubte Linearkombionation der Zeilen Ax = b a T 1 x = b 1 y 1 ( R). amx T = b m y m ( R) : y T Ax = y T b Dies liefert eine untere Schranke y T b, falls y T A c T (unter x 0). Denn dann ist max c T x y T Ax = y T b. Die beste untere Schranke liefert das Duale LP: max unter b T y A T y c y R m, 10: 10 [10,10] y enthält die Dualvariablen.

Dualisierungsregeln allgemein Nach dem gleichen Muster ergibt sich min c T x max b T y Ax b y 0 Ax b y 0 Ax = b y frei x 0 A T y c x 0 A T y c x frei A T y = c Insbesondere ist das Duale des Dualen LPs wieder das Primale LP. 11: 11 [11,11]

Bsp. Mozart max unter c T x Ax b x 0 (P M ) min b T y unter A T y c y 0 (D M ) 2 1 10 e1 A = 1 1, b = 6 1 2 9 ( ) 3 c = 2 1 ( ) ȳ = 0 4 A T ȳ = c, b 5 ȳ = 28 2 12: 12 [12,12] x T a 2 a 1 e 2 c a 1+ 2a 3 a 3 x K

Mozart: das Duale optimal max unter c T x Ax b x 0 (P M ) x T a 1 min b T y unter A T y c y 0 2 1 10 A = 1 1, b = 6 1 2 9 ( ) 3 c = 2 1 ȳ = 1 A T ȳ = 0 13: 13 [13,13] (D M ) e 1 a 2 e a +a = c 2 1 2 ( ) 3 = c, b 2 T ȳ = 16, x = a 3 ( ) 4 2 x K

Dualer Simplex Simplex-Verfahren für das duale Problem brauche dazu dual zulässige Startlösung beachte Komplementarität: primal: x N = 0, x B daraus berechnen dual: z B = 0, y und z N daraus berechnen wenn dual optimale Basislösung gefunden, so gleichzeitig primal optimale notwendig z.b. bei Schnittebenenverfahren 14: 14 [14,14]

Zusammenfassung duales LP jedes LP hat ein duales LP dafür gibt es Regeln Restriktionen wechseln mit Variablen Zielfunktion wechselt mit Rechter Seite Duales von Dualem ist Primales Standardform: (P) min c T x, Ax = b, x 0 dual dazu: (D) max b T y, A T y c, y R m oder mit Schlupf: (D ) max b T y, A T y + z = c, y R m, z 0 15: 15 [15,15]

Schwacher Dualitätssatz Satz 2.4.3 (Schwacher Dualitätssatz) Für alle primal zulässigen Punkte x (mit Ax = b, x 0) und alle dual zulässigen Punkte y (mit A T y c) gilt Beweis b T y c T x. b T y = (Ax) T y = x T A T y = x T (A T y) x T c = c T x Der Wert einer zulässigen Lösung beschränkt den Optimalwert des dualen Problems! 16: 16 [16,16]

Folgerung 1 Falls 1 b T y = c T x und 2 x primal zulässig und 3 y dual zulässig so ist x primal optimal y dual optimal 17: 17 [17,17]

Komplementarität b T y = c T x gilt genau dann, wenn 0 = c T x b T y = c T x y T b = c T x y T Ax = (c A T y) T x = z T x bzw. (da z = 0, x 0) jeder Summand des Skalarproduktes Null ist: j = 1,..., n : z j x j = 0 für alle j ist je mindestens eine der Bed. z j 0 (d.h. A T,j y c j) und x j 0 mit = erfüllt 18: 18 [18,18]

Aktive Restriktionen Eine Ungleichung heißt aktiv in einem Punkt, wenn sie in dem Punkt mit Gleichheit erfüllt ist, sonst nicht aktiv oder inaktiv. Folgerungen: Ist in einer OL eine Variable in x oder z > 0, ist deren duale Ungleichung in jeder OL des jeweiligen Dualen aktiv! Ist in einer OL eine Unglg. des LPs inaktiv, ist deren Dualvariable in jeder OL des jeweiligen dualen gleich Null! Tatsächlich gibt die Größe der Dualvariablen wesentliche Information über den Einfluss der Unglg. auf den Optimalwert... 19: 19 [19,19]

Simplex und dual zulässige Lösung Sei x primal optimale BL x N = 0, x B = A 1 B b = β, c T x = d = cb T x B = cb T A 1 B b = y T b = b T y. es zeigt sich: y = A T B c B ist dual zulässig A T y c A T B y c B und A T N y c N A T B y = AT B A T B c B = c B A T N y = AT N A T B c B = ζ + c N c N Dies zeigt Teil vom folgenden Satz 20: 20 [20,20]

Starker Dualitätssatz Satz 2.4.6 (Starker Dualitätssatz) Das primale Problem (min. c T x unter Ax = b, x 0) besitzt genau dann eine optimale Lösung, wenn das duale Problem (max. b T y unter A T y c) eine optimale Lösung besitzt. Darüber hinaus stimmen dann die Zielfunktionswerte überein, d.h. es gilt c T x = b T y. Hat ein LP einen endlichen Optimalwert, so wird dieser sowohl primal als auch dual angenommen. Es gibt keine Dualitätslücke (Unterschied primaler dualer Optimalwert) außer wenn beide Systeme unzulässig sind! 21: 21 [21,21]

Satz vom komplementären Schlupf (P) min unter c T x Ax = b x 0 (D) max unter b T y A T y + z = c y R m, z 0 c T x b T y = z T x 0 gilt für bel. primal und dual zul. Lösungen. Satz vom komplementären Schlupf (siehe 2.4.4) Primal und dual zulässige Lösungen x und (ȳ, z) sind genau dann optimal, wenn x i z i = 0 für i = 1,..., n. 22: 22 [22,22]

Sensitivität (d von b) Frage Wie hängen die Ausgabegrößen bei (kleinen) Änderungen von den Eingabegrößen ab? Ausgabegrößen Optimalwert d Optimalvektor ˆx Eingabegrößen Matrix A Rechte Seite b ZF-Vektor c 23: 23 [23,23]

Gestörte Probleme Problem 2.4.7 (Gestörtes primales lineares Optimierungsproblem) Für Störungen b R m lautet das gestörte Standardproblem: Minimiere c T x unter Ax = b + b, x 0. b = 0: ungestörtes Problem, Nominalproblem optimale Wertefunktion w( b) := inf{c T x Ax = b + b, x 0} Zusatzvoraussetzung: Eine Optimallösung x B (0) = A 1 B b > 0, x N(0) = 0 des ungestörten Problems ist nicht entartet! (sonst schwieriger) 24: 24 [24,24]

Schattenpreise gestörte Basislösung: x B ( b) = A 1 B (b + b) = x B(0) + A 1 B b, x N (0) = 0. zulässig, wenn b klein genug ist! bleibt optimal, da ζ = (c T B Γ ct N )T unverändert damit Optimalwert w( b) = c T B x B(0) + c T B A 1 B b = w(0) + y T b für die eindeutig duale Optimallösung y = A T B m w = y i b i y i heißt daher Schattenpreis für Änderungen bei Ressourcen. Schattenpreisformel i=1 c B 25: 25 [25,25] w ( b) = y

Inhaltsübersicht für heute 1 Dualität Motivation Duales LP Dualitätssätze Sensitivität und Schattenpreise 2 Problemdefinition 26: 26 [26,26]

Das Heiratsproblem Bilde möglichst viele Paare! 27: 27 [27,29]

Das Heiratsproblem Bilde möglichst viele Paare! Maximal (nicht vergrößerbar), aber kein Kardinalitätsmaximum 27: 28 [27,29]

Das Heiratsproblem Bilde möglichst viele Paare! Maximum Cardinality Matching (sogar perfekt) 27: 29 [27,29]

Bipartites Matching Ein (ungerichteter) Graph G = (V, E) ist ein Paar bestehend aus Knotenmenge V und Kantenmenge E {{u, v} : u, v V, u v}. Zwei Knoten u, v V heißen adjazent/benachbart, falls {u, v} E. Ein Knoten v V und eine Kante e E heißen inzident, falls v e. Zwei Kanten e, f V heißen inzident, falls e f. Eine Kantenmenge M E heißt Matching/Paarung, falls für e, f M mit e f stets e f =. Das Matching heißt perfekt, falls V = 2 M. G = (V, E) heißt bipartit, falls V = V 1 V 2 mit V 1 V 2 = und E {{u, v} : u V 1, v V 2 }. 28: 30 [30,30]

Modellierung: kardinalitätsmaximales bipartites Matching gegeben: G = (V 1 V 2, E) bipartit gesucht: Matching M E mit M { maximal Variablen: x {0, 1} E 1 falls e M mit x e = für alle e E 0 sonst. Nebenbedingung: Ax 1, A {0, 1} V E ist Knoten-Kanten-Inzidenzmatrix zu G: { 1 falls v e A v,e = (v V, e E) 0 sonst. (a) (b) (c) (d) A a (A) 1 1 0 0 b D B A = (B) 0 0 1 0 c E (C) 0 0 0 1 (D) 1 0 0 0 C d (E) 0 1 1 1 29: 31 [31,32]

Modellierung: kardinalitätsmaximales bipartites Matching gegeben: G = (V 1 V 2, E) bipartit gesucht: Matching M E mit M { maximal Variablen: x {0, 1} E 1 falls e M mit x e = für alle e E 0 sonst. Nebenbedingung: Ax 1, A {0, 1} V E ist Knoten-Kanten-Inzidenzmatrix zu G: { 1 falls v e A v,e = (v V, e E) 0 sonst. max 1 T x Optimierungsproblem: unter Ax 1 x {0, 1} E So kein LP! x {0, 1} E zu x [0, 1] E vergrößern LP Für G bipartit gilt: Simplex liefert immer eine Optimallösung x {0, 1} E! (Für allgemeine Graphen G i.a. aber nicht!) 29: 32 [31,32]