Optimierung. Vorlesung 04

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

Probabilistische Analyse von Algorithmen

Optimierung. Zusammenfassung

1 Lineare Optimierung, Simplex-Verfahren

Bestimmung einer ersten

In diesem Abschnitt betrachten wir nur quadratische Matrizen mit Komponenten aus einem Körper K, also A K n n für ein n N. Wenn (mit einem n > 1)

Lineare Programmierung Teil I

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

OPERATIONS-RESEARCH (OR)

Lineare Programmierung

Studientag zur Algorithmischen Mathematik

3 Elementare Umformung von linearen Gleichungssystemen und Matrizen

2. Optimierungsprobleme 6

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

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

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

2 Die Dimension eines Vektorraums

Schranken für zulässige Lösungen

( ) Lineare Gleichungssysteme

3.4 Der Gaußsche Algorithmus

Matrizen, Determinanten, lineare Gleichungssysteme

9.2 Invertierbare Matrizen

Lineare Gleichungssysteme

3. Schnittebenenverfahren

Übungsaufgaben. Grundkurs Höhere Mathematik für Wirtschaftswissenschaftler. Teil 1: Lineare Algebra und Optimierung.

4.13. Permutationen. Definition. Eine Permutation der Elementen {1,..., n} ist eine bijektive Abbildung

3. Grundlagen der Linearen Programmierung

Mathematische Optimierung

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis

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

KAPITEL 6 GANZZAHLIGE OPTIMIERUNG UND VOLLSTÄNDIG UNIMODULARE MATRIZEN

Vorkurs: Mathematik für Informatiker

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

Lineare Algebra I Zusammenfassung

Spezialfall: Die Gleichung ax = b mit einer Unbekannten x kann mit Hilfe des Kehrwerts 1 a = a 1 gelöst werden:

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Lineare Optimierungsmodelle

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

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

Lineares Optimieren. W. Kippels 12. April Inhaltsverzeichnis. 1 Einleitung 2. 2 Die Beispielaufgabe 2. 3 Einführung von Schlupfvariablen 2

Quadratische Matrizen

6 Hauptachsentransformation

Euklidische und unitäre Vektorräume

Eigenwerte und Diagonalisierung

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

37 Gauß-Algorithmus und lineare Gleichungssysteme

Optimieren unter Nebenbedingungen

Algorithmen II Vorlesung am

Inhaltsverzeichnis. 4 Praxisbeispiel 7

Optimierung I. Dr. Ulf Lorenz F2.413

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

Kapitel 17. Determinanten

55 Lokale Extrema unter Nebenbedingungen

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

7 Die Determinante einer Matrix

Lineare Gleichungssysteme (Teschl/Teschl 11.1)

C orthogonal und haben die Länge 1). Dann ist die Länge von w = x u + y v gegeben durch w 2 Def. = w,w =

1 Singulärwertzerlegung und Pseudoinverse

Lösungen zum 3. Aufgabenblatt

Lineare Gleichungssysteme - Grundlagen

Lineare Algebra I Klausur. Klausur - Musterlösung

Effiziente Algorithmen I

Beginn der Vorlesung zur Numerik I (Wintersemester 2010/2011)

Klausur zur Vorlesung Mathematische Grundlagen für Wirtschaftswissenschaftler

Proseminar Lineare Algebra II, SS 11. Blatt

Besteht eine Matrix nur aus einer Spalte (Zeile), so spricht man auch von einem Spaltenvektor (Zeilenvektor)

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

Vektor und Matrixnormen Vorlesung vom

Lineares Programmieren

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

1 0 1, V 3 = M, und λ A = λa

Lösungen - Serie 2 zu den Übungsaufgaben zur Vorlesung Algebraische Zahlentheorie

1.5 Duales Gitter und Diskriminantengruppe

9 Optimierung mehrdimensionaler reeller Funktionen f : R n R

Der Simplexalgorithmus und Innere-Punkt-Methoden zur Lösung linearer Optimierungsprobleme

Vorkurs: Mathematik für Informatiker

Die Verbindung von Linearer Programmierung und Graphentheorie

4 Vorlesung: Matrix und Determinante

Kapitel 2: Matrizen. 2.1 Matrizen 2.2 Determinanten 2.3 Inverse 2.4 Lineare Gleichungssysteme 2.5 Eigenwerte 2.6 Diagonalisierung

1 Definition. 2 Besondere Typen. 2.1 Vektoren und transponieren A = 2.2 Quadratische Matrix. 2.3 Diagonalmatrix. 2.

Blockmatrizen. Arthur Wettschereck. 11. April 2012, Bonn

Inverse Matrix. 1-E Ma 1 Lubov Vassilevskaya

Kurs über Lineare Gleichungssysteme. PD Dr. Karin Halupczok

8 Lineare Optimierung

Lineare Algebra und analytische Geometrie I

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

Theoretische Informatik 1

3 Optimierung mehrdimensionaler Funktionen f : R n R

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

(x, x + y 2, x y 2 + z 3. = e x sin y. sin y. Nach dem Umkehrsatz besitzt f dann genau auf der Menge

Rang und Inverses einer Matrix

Mathematik für Informatiker II Übungsblatt 7

Kapitel 2: Lineare Optimierung

Erweiterte Koordinaten

Lineare Algebra I (WS 13/14)

Lineare Gleichungssysteme

Transkript:

Optimierung Vorlesung 04

Übungsbetrieb Mangels Teilnehmer keine Dienstagsübung mehr. Prüfung laut Paul: Di, 10. Feb. 2015 00:01-23:59 2

Was bisher geschah LP: Maximiere c T x unter Ax = b, x 0. Basis: A B x B + A N x N = b Umformung zu Âx = b mit E m x B + Â N x N = b Basislösung: Setze x N = 0 und dann ist x B = b Simplexalgorithmus: 1. Starte mit einer Basis B und dem entsprechenden Gleichungssystem Âx = b. 2. Wenn Basislösung nicht optimal, wähle eine neue (nicht- Basis) Spalte aus und ersetze eine Basisspalte. Bestimme das neue Gleichungssystem Âx = b bezüglich der neuen Basis. 3. Wir transformieren das Gleichungssystem Âx = b durch Zeilenoperationen in ein äquivalentes Gleichungssystem mit den gewünschten Eigenschaften. (auch im Tableau), 4

Was noch zu tun ist. Wir haben gezeigt, das Simplexverfahren findet eine optimale Lösung. Voraussetzung: LP nicht degeneriert (entartet) Offene Fragen für heute: Wie lange braucht ein Pivotschritt? Wie finden wir eine initiale Basislösung? Was machen wir mit degenerierten LPs? Wie viele Schritte braucht der Simplex? 7

Komplexität eines einzelnen Pivotschrittes Anzahl der mathematischen Operationen Bestimmung der Eingangs und Ausgansspalte und Transformation des Gleichungssystem in O nm Rechenoperationen auf rationalen Zahlen. Komplexität einzelner Operationen Annahme: Koeffizienten der Zielfunktion und Nebenbedingungen sind ganzzahlig. Es entstehen nicht ganzzahlige rationale Zahlen deren Zähler und Nenner groß werden können. (Multiplikation bei der Matrixtransformation) Repräsentation rationaler Zahlen durch Brüche. Also zwei binär kodierte Zahlen. Wir gehen davon aus das Zähler und Nenner minimal sind, also nicht weiter gekürzt werden können. 8

Größe der Zahlen Lemma 2.2 Sei α der größten absolute Wert über alle (ganzzahligen) Eingabezahlen eines LPs in Gleichungsform. a) Sei β der größte absolute Wert über alle (gekürzten) Zähler und Nenner der Zahlen in den Matrizen  = A B 1 A, A = A 1 B und dem Vektor b = A B 1 b. Es gilt β αm m. b) Sei γ der größte absolute Wert über die (gekürzten) Zähler und Nenner der Zielfunktionswerte c T x über alle Basislösungen x. Es gilt γ αm m+1. 9

Beweis von Lemma 2.2 Cramersche Regel: Für ein Gleichungssystem Mx = b (wobei M eine invertierbare k k Matrix ist) gilt für jedes i x i = det (M 1,, M i 1, b, M i+1,, M k ) det (M) M i bezeichnet die i-te Spalte von M. 10

Beweis von Lemma 2.2 Die Determinante einer k k Matrix ist definiert als Summe von k! Produkten von jeweils k Matrixeinträgen. Matrixeinträge sind Zahlen mit Absolutwert maximal α Determinanten sind also Zahlen mit Absolutwert maximal k! α k αk k 11

Komplexität eines einzelnen Pivotschrittes Satz 2.3 Die Laufzeit jedes einzelnen Pivotschrittes ist polynomiell beschränkt in der Eingabelänge des LPs. Warum? 13

Initiale Basislösung Wie finden wir eine initiale Basislösung? Wir nutzen ein HilfsLP: Aus einer i-ten Nebenbedingungen der Form (obda: b i 0 1 i m, sonst die Zeile mit 1 multiplizieren) m machen wir j=1 m a ij x j = b i mit der Zielfunktion j=1 a ij x j + h i = b i Minimiere h 1 + h 2 + + h m Dieses HilfsLP lösen wir mit der initialen Basislösung x = 0 und h = b. 14

Initiale Basislösung Lösung des HilfsLP. Zwei mögliche Fälle: 1. Die optimale Lösung hat einen positiven Zielfunktionswert. Dann gibt es keine Lösung mit h 1 = h 2 = = h m = 0. Also hat das ursprüngliche LP keine zulässige Lösung. 2. Der berechnete Zielfunktionswert des HilfsLP ist 0. In der berechneten Basislösung des HilfsLP gilt somit h 1 = h 2 = = h m = 0. Damit ist diese Basislösung auch zulässig für das ursprüngliche LP. 15

Degenerierte LPs Bei degenerierten LP kann es vorkommen, dass in einem Pivotschritt eine oder mehrere Basisvariablen den Wert 0 haben. Durch Austausch einer Basisspalte, die zu einer solchen Variable gehört, erhöht sich der Zielfunktionswert nicht. Wenn man die falschen Spalten austauscht so terminiert der Simplexalgorithmus nicht. 16

Blands Pivotregel Zyklisches Verhalten des Simplexalgorithmus kann durch die folgende Pivotregel von Bland verhindert werden: Wähle die Eingangsspalte A j und die Ausgangsspalte AB(i), mit möglichst kleinem Index, also so, dass zunächst der Index j und dann der Index B(i) minimal unter den in vorher beschriebenen Bedingungen gewählt wird. 17

Nachteil Nachteil: Die Auswahl der Eingangspivotspalte ist somit festlegt. Bisher konnte jede Nichtbasisspalte mit positiven reduzierten Kosten als Eingangsspalte gewählt werden. Einige Heuristiken versuchen diese Freiheit zu nutzen, indem sie beispielsweise die Spalte mit den größten reduzierten Kosten als Eingangsspalte wählen. Deshalb werden wir später eine alternative Möglichkeit kennenlernen. (Pertubierung) 18

Laufzeit der Simplexmethode Einen einzelnen Pivotschritt können wir also effizient durchführen. Die Anzahl der Schritte ist jedoch problematisch: Satz 2.6 Für jedes n, gibt es ein LP in kanonischer Form mit n Variablen und 2n ganzzahligen Koeffizienten mit Absolutwert hächstens 4, so dass der Simplex-Algorithmus 2 n -1 Pivotschritte benötigt. 20

Idee des Beweises Klee und Minty (1972) Wir brauchen ein LP mit exponentiell vielen Basislösungen. Es muss immer eine benachbarte Basislösung mit besserem Zielfunktionswert geben. Beweis in 2 Schritten: 1. Ein LP mit 2 n Basislösungen. Es gibt einen Pfad über 2 n benachbarte Basislösungen. Der Zielfunktionswert verschlechtert sich nicht. 2. Wie 1. aber nun verbessert sich der Zielfunktionswert von Schritt zu Schritt. 21

Ein LP mit 2 n Basislösungen Betrachte folgendes LP: Maximiere x 1 unter den Nebenbedingungen: x i 1 x i 0 Das Lösungspolyhedron entspricht dem n dimensionalen Hypercube. Es gibt 2 n Basislösungen die den 2 n Knoten des Hypercubes entsprechen. Also Punkte aus 0,1 n 22

Pfad über 2 n benachbarte Basislösungen Behauptung 2.7 Es gibt einen Hamiltonpfad auf den 2 n Knoten des Hypercubes, auf dem sich der Zielfunktionswert nicht verschlechtert. Wir besuchen erst alle Knoten mit x 1 = 0 und anschließend alle Knoten mit x 1 = 1. Wie können wir jeweils einen Pfad finden, der jeden Knoten exakt einmal besucht? (Hamiltonpfad) Antwort: Gray Code. 23

Gray Code Ist eine stetige Codierung der Binärzahlen. So dass aufeinderfolgende Zahlen Hammingabstand 1 haben. Durchlaufe also in dieser Reihenfolge zunächst die Knoten 0 n bis 01 n 1 mit Zielfunktionswert 0. Anschließend die Knoten 1 n bis 10 n 1 mit Zielfunktionswert 1. 24 00000 00001 00011 00010 00110 00111 00101 00100 01100 01101 01111 01110 01010 01011 01001 01000 11000 11001 11011 11010 11110 11111 11101 11100 10100 10101 10111 10110 10010 10011 10001 10000

Verbessernder Zielfunktionswert Klee-Minty-Cube: Für ein ε > 0 sind die Nebenbedingungen: x 1 1 x 1 ε x j 1 ε x j 1 x j ε x j 1 25

Klee-Minty-Cube Auf diesem Polyhedron hat der oben beschriebene Hamiltopfad ansteigende Zielfunktionswerte. Funktioniert für alle ε 1 4. Durch Multiplikation der Nebenbedingungen mit 4, erhalten wir ein ganzzahlige LP wie in Satz 2.6 gefordert. 26

Einige Bemerkungen Das Beispiel setzt voraus, das man ungünstige Pivotentscheidungen trifft. Es gibt solche Beispiele aber für die meisten Pivotregeln. Offene Frage: Gibt es eine Pivotregel mit polynomieller Laufzeit? Gibt es überhaupt immer einen Pfad polynomieller Länge zum Optimum? 28

Die Vermutung von Hirsch (Hirsch Conjecture) Vermutung von 1957: Der Durchmesser eines n-dimensionalen Polytops mit m Facetten ist beschränkt durch m n. Widerlegt durch ein Beispiel eines 43- dimensionalen Polytops mit 86 Facetten und einem Durchmesser größer als 43. Gezeigt 2010 von Francisco Santos. Beste obere Schranke: m log 2 n+2 29

Simplex in der Praxis Viele in der Praxis auftretenden LPs lassen sich tatsächlich effizient mit dieser Methode lösen. zufällig erzeugte Eingabeinstanzen wie z.b. Borgwardt (1977) geglätteten Analyse (Smoothed Analysis) Spielman und Teng (2001) 30