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

Ähnliche Dokumente
Newton-Verfahren zur gleichungsbeschränkten Optimierung. 1 Gleichungsbeschränkte Optimierungsprobleme

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

Bestimmung einer ersten

Optimalitätskriterien

Optimierung für Nichtmathematiker

OPERATIONS-RESEARCH (OR)

18 Höhere Ableitungen und Taylorformel

KAPITEL 6 GANZZAHLIGE OPTIMIERUNG UND VOLLSTÄNDIG UNIMODULARE MATRIZEN

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

9.2 Invertierbare Matrizen

Flüsse in Netzwerken

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

Lineare Programmierung Teil I

Diskrete Optimierung (Einführung zur Vorlesung)

Teil II. Nichtlineare Optimierung

3 Nichtlineare Gleichungssysteme

Algorithmen und Datenstrukturen Kapitel 10

4 Lineare Algebra (Teil 2): Quadratische Matrizen

Optimierung. Florian Jarre Josef Stoer. Springer

4. Vektorräume und Gleichungssysteme

3. Schnittebenenverfahren

Optimieren unter Nebenbedingungen

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

Lineare Optimierung. bei Prof. Walter Alt. Semester: SS 2006 und WS 2009

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

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

Analysis I - Stetige Funktionen

Wiederholung zu Flüssen

Optimierung für Wirtschaftsinformatiker: Analytische Optimierung mit Ungleichungsnebenbedingungen

2.2 Kern und Bild; Basiswechsel

Multivariate Analysis

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

Lineare (Un-)Gleichungen und lineare Optimierung

Schranken für zulässige Lösungen

Lineare Abhängigkeit

ε δ Definition der Stetigkeit.

3.2 Lineare Optimierung (Entscheidungen unter Sicherheit)

Nichtlineare Optimierung ohne Nebenbedingungen

Definitionen. Merkblatt lineare Algebra. affiner Teilraum Menge, die durch Addition eines Vektors v 0 zu allen Vektoren eines Vektorraumes V entsteht

Kapitel VI. Euklidische Geometrie

35 Stetige lineare Abbildungen

Lineare Gleichungssysteme

Effiziente Algorithmen I

Mathematik 1 für Wirtschaftsinformatik

Optimierung I. Dr. Ulf Lorenz F2.413

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

Inhaltsverzeichnis. Vorwort Kapitel 1 Einführung, I: Algebra Kapitel 2 Einführung, II: Gleichungen... 57

Lineare Gleichungssysteme

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

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

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

Iterative Verfahren, Splittingmethoden

Universität des Saarlandes Seminar der Fachrichtung Mathematik Rudolf Umla

1 Zahlentheorie. 1.1 Kongruenzen

Numerische Ableitung

Mathematik für Wirtschaftswissenschaftler

7.2.1 Zweite partielle Ableitungen

Lineare Programmierung

Matrizen, Determinanten, lineare Gleichungssysteme

Optimierung für Wirtschaftsinformatiker: Analytische Optimierung ohne Nebenbedingungen

Übungen zur Ingenieur-Mathematik III WS 2009/10 Blatt

Inhaltsverzeichnis. 1 Lineare Algebra 12

Optimierung für Nichtmathematiker (für Master) Vorlesung: Christoph Helmberg Übung: Anja Lau

Daniel Borchmann. Sommerakademie Görlitz September 2007

Caputo fraktionale Differentialgleichungen. 1 Riemann Liouville fraktionale Differentialgleichungen

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung

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

Zahlen und metrische Räume

Algebra und Diskrete Mathematik, PS3. Sommersemester Prüfungsfragen

(Man sagt dafür auch, dass die Teilmenge U bezüglich der Gruppenoperationen abgeschlossen sein muss.)

ÜBUNGSBLATT 11 LÖSUNGEN MAT121/MAT131 ANALYSIS II FRÜHJAHRSSEMESTER 2011 PROF. DR. CAMILLO DE LELLIS

Algorithmen II Vorlesung am

Nichtlineare Gleichungssysteme

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt

11. Folgen und Reihen.

Lineare Gleichungssysteme (Teschl/Teschl 11.1)

Studientag zur Algorithmischen Mathematik

1 Lineare Algebra. 1.1 Matrizen und Vektoren. Slide 3. Matrizen. Eine Matrix ist ein rechteckiges Zahlenschema

Algorithmische Graphentheorie

Dierentialgleichungen 2. Ordnung

Beispiellösungen zur Klausur Lineare Algebra bei Prof. Habegger

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

Modulabschlussklausur Analysis II

Lineare Gleichungssysteme

Aufgaben für die 6. Übung zur Vorlesung Mathematik 2 für Informatiker: Analysis Sommersemester 2010

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Zahlen und Gleichungen

Ebene algebraische Kurven

Übungen zur Linearen Optimierung Sommersemester Übungsblatt 1

Seminararbeit für das SE Reine Mathematik- Graphentheorie

3 Vom Zählen zur Induktion

Optimierung I. Einführung in die Optimierung. Skript zur Vorlesung von Prof. Dr. Mirjam Dür Prof. Dr. Alexander Martin Prof. Dr.

Das Briefträgerproblem

Eine zweidimensionale Stichprobe

Serie 10: Inverse Matrix und Determinante

Mathematische Optimierung

6. Flüsse und Zuordnungen

3.3 Eigenwerte und Eigenräume, Diagonalisierung

Partielle Ableitungen, Gradient, Lineare Näherung, Extrema, Fehlerfortpflanzung

Transkript:

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

Inhaltsverzeichnis Einführung 3.1 Konvexe Optimierung................................ 4.1.1 Lineare Optimierung............................ 6.1.2 Nichtlineare Optimierung......................... 6.2 Optimalitätsbedingungen für freie nichtlineare Optimierung............ 6.3 Methoden der freien nichtlinearen Optimierung.................. 8 1 Lineare Optimierung 11 1.1 Lineare Programme................................. 11 1.2 Der Simplexalgorithmus.............................. 14 1.2.1 Der (primale) Simplex Algorithmus.................... 16 1.3 Zulässigkeit und Fundamentalsatz der Linearen Optimierung........... 22 1.3.1 Zwei-Phasen-Methode........................... 22 1.3.2 Groß-M/(Big-M)-Methode......................... 22 1.4 Dualität....................................... 23 1.4.1 Schwache Dualität............................. 24 1.5 Sensitivität..................................... 27 1.6 Spaltengenerierung und Schnittebenenverfahren.................. 28 1.6.1 Spaltengenerierung (column generation).................. 28 1.6.2 Schnittebenenverfahren........................... 3 1.7 Ganzzahligkeit von Basislösungen......................... 31 1

2 INHALTSVERZEICHNIS 1.7.1 Anwendung: Bipartite Paarung (Matching/Zuweisungsproblem)..... 34 1.7.2 Flüsse in Netzwerken............................ 37 2 Konvexe Analysis 45 2.1 Konvexe Mengen.................................. 45 2.1.1 Grundlegende Operationen auf konvexen Mengen............. 45 2.1.2 Konvexkombinationen und konvexe Hüllen................ 46 2.1.3 Abschluss und relatives Inneres...................... 48 2.1.4 Projektion auf abgeschlossene konvexe Mengen.............. 52 2.1.5 Separierung konvexer Mengen....................... 53 2.1.6 Seitenflächen und Extrempunkte...................... 56 2.1.7 Tangenten- und Normalenkegel...................... 58 2.2 Konvexe Funktionen................................ 6 2.2.1 Das Subdifferential einer konvexen Funktion............... 62 2.2.2 Optimalitätsbedingungen für Aufgaben mit Nebenbedingungen..... 68 2.3 Sattelpunkte..................................... 74 2.4 Lagrangefunktion und Dualität........................... 79 3 Innere-Punkte-Verfahren 81 3.1 Motivation...................................... 81 3.2 Algorithmus von Monteiro und Adler....................... 84 3.3 Zentrierter Startpunkt (keine Annahmen über Zulässigkeit)............ 86 3.4 Quadratische Optimierung............................. 88 3.5 Lineare Optimierung über dem quadratischen Kegel................ 9 3.6 Semidefinite Optimierung.............................. 91 4 Nichtglatte Optimierungsverfahren 95 4.1 Das Subgradientenverfahren............................ 95

Kapitel Einführung Optimierung beschäftigt sich mit Aufgaben min f(x) Zielfunktion s.t. subject to (OA) h i (x) =, i E Gleichheitsnebenbedingungen g i (x), i I Ungleichungsnebenbedingungen x Ω Grundmenge, wobei meist Ω R n f, h, g : R n R E, I < Definition..1 (Lösungsbegriffe). Für eine Optimierungsaufgabe der Form (OA) heißt X = {x Ω : h i (x) = i E, g i (x) i I} die Menge der zulässigen Punkte/Lösungen oder die zulässige Menge (feasible set). Falls X = heißt das Problem unzulässig (infeasible). Ein x X heißt zulässiger Punkt/zulässige Lösung oder einfach zulässig. Ein x X heißt globales Optimum oder globale Optimallösung, falls f(x ) f(x) x X. Ein x X heißt lokales Optimum, wenn es eine Umgebung U ε (x ) gibt mit f(x ) f(x) x X U ε (x ). 3

4 KAPITEL. EINFÜHRUNG Der Wert f = inf {f(x) : x X } heißt Optimalwert. Er ist, falls X =. Ist der Wert, so heißt das Problem unbeschränkt. Fragestellungen: Wann existieren und wie erkennt man Optimallösungen? Wie bestimmt man sie algorithmisch (möglicherweise annähernd)? Wie effizient sind die Algorithmen? Ganz allgemein ist da nicht viel zu machen, selbst ohne Nebenbedingungen. Daher untersucht man Optimierungsprobleme mit Zusatzforderungen an f, g, h und Ω..1 Konvexe Optimierung f, g i sind konvexe Funktionen. h i sind lineare Funktionen. Ω ist konvexe Menge. Definition.1.1. Eine Menge C R n heißt konvex, falls mit zwei Elementen x, y C die gesamte Verbindungsstrecke [x, y] in C ist, d.h. wenn gilt: x, y C αx + (1 α)y C α (, 1). Beispiel.1.1. ; R n ; für a R n, b R der Halbraum H a,b := {x R n : a τ x b}; affine Unterräume Definition.1.2 (Konvexe Funktionen). Eine Funktion f : R n R { } heißt konvex, wenn f(αx + (1 α)y) αf(x) + (1 α)f(y), α (, 1), x, y R. Sie heißt eigentlich konvex, falls f konvex und x R n : f(x) <. Sie heißt streng konvex, falls die strenge Ungleichung gilt. Sie heißt konkav, wenn f konvex ist. Die Funktion f heißt quasikonvex, falls f(αx+(1 α)y) max {f(x), f(y)} α (, 1). Sie heißt streng quasikonvex, wenn die strenge Ungleichung gilt. Definition.1.3. Der Epigraph einer Funktion f : R n R ist die Menge epif := {(x, r) R n+1 : r f(x)}. Die Niveaumenge einer Funktion f : R n R zum Niveau r ist die Menge S r (f) := {x R n : f(x) r}.

.1. KONVEXE OPTIMIERUNG 5 Beobachtung.1.1. f : R n R epif konvex. Beweis. Seien (x, r), (y, p) epif f(x) r, f(y) p. Für alle α (, 1) gilt nun f(αx + (1 α)y) αf(x) + (1 α)f(y) αr + (1 α)p, also ist (αx + (1 α)y, αr + (1 α)p) = α(x, r) + (1 α)(y, p) epif. Mit (x, f(x)) und (y, f(y)) ist für α (, 1) (αx + (1 α)y, αf(x) + (1 α)f(y)) epif, also ist f(αx + (1 α)y) αf(x) + (1 α)f(y) α (, 1). Beobachtung.1.2. Der Schnitt einer Familie konvexer Mengen ist konvex. Beweis. Seien x, y C := i I C i mit C i konvex für i I. Dann sind x, y C i i I, also auch [x, y] C i i I und damit [x, y] C. Beobachtung.1.3. Die Niveaumengen einer konvexen Funktion sind konvex. Beweis. Bilde S r = epif {(x, r) : x R n }; S r ist nach Beobachtung.1.2 konvex. S r (f) = {x : (x, r) S r} verbleibt dem Leser als Übung. Wir betrachten jetzt: min f(x) h i (x) =, i E g i (x), i I x Ω Die zulässige Menge X = Ω {x : h i (x) = } {x : g i E i (x) } i I konvex affiner Unterraum nach Beobachtung.1.3 konvex ist nach Beobachtung.1.2 konvex. Satz.1.4. In einem konvexen Optimierungsproblem ist jedes lokale Optimum auch globales Optimum. Beweis. Sei x ein lokales und x ein globales Optimum und x x. Da X konvex ist, ist auch [x, x ] zulässig. Wähle x (x, x ) U(x); dann existiert α (, 1) : x = αx + (1 α)x und f(x) = f(αx + (1 α)x ) fkonvex also ist f(x) = f(x ) = f(x). αf(x) + (1 α)f(x ) x global optimal f(x) x lokal optimal f(x),

6 KAPITEL. EINFÜHRUNG Insbesondere gilt: Die Menge der Optimallösungen ist konvex; denn sei X die zulässige Menge und f = inf {f(x) : x X }, dann ist die Menge der Optimallösungen S f (f) X als Schnitt zweier konvexer Mengen konvex. Sie kann aber leer sein, selbst wenn f endlich ist. Beispiel: f : R R; X = R + ; f(x) = 1 x Die Existenz von Optimallösungen hat immer etwas mit der Abgeschlossenheit der Mengen und Epigraphen zu tun. Wir werden uns bald mit einem besonders wichtigen Spezialfall beschäftigen, wo das kein Problem ist..1.1 Lineare Optimierung f, g, h sind lineare Funktionen, also von der Form a τ x + b, Ω ist der nichtnegative Orthant. Lineares Programm in Standardform : min c τ x s.t. Ax = b x..1.2 Nichtlineare Optimierung Die Funktionen müssen genügend glatt sein, Ω ist meist R n. Einteilung in: freie/unrestringierte nichtlineare Optimierung (unconstrained optimisation): E = I =, Ω = R n restringierte nichtlineare Optimierung (contrained optimisation) E + I > Der Anspruch beschränkt sich auf das Auffinden eines lokalen Optimums. In der nichtlinearen Optimierung kreist man die richtige Kombination von Abstiegsrichtungen mit dem Newton- Verfahren ein..2 Optimalitätsbedingungen für freie nichtlineare Optimierung Betrachten für f C 2 (R n ) die Aufgabe min x R n f(x). In einem Punkt x steht zur Verfügung: lineares Modell : f(x) f(x) ( steilster Anstieg ) f(x) + f(x) τ (x x) beschreibt die Tangentialebene

.2. OPTIMALITÄTSBEDINGUNGEN FÜR FREIE NICHTLINEARE OPTIMIERUNG 7 quadratisches Modell : zusätzlich 2 f(x) (2. Ableitung; Hessematrix; symmetrisch) f(x) + f(x) τ (x x) + 1 2 (x x)τ 2 f(x)(x x) Satz von Taylor: Seien x, p R n, f : R n R, f C 1 (R n ), so gilt für ein t (, 1): f(x + p) = f(x) + f(x + tp) τ p. Ist f C 2 (R n ), so gilt für ein t (, 1): f(x + p) = f(x) + 1 2 f(x + sp)pds (MW S) f(x + p) = f(x) + f(x) τ p + 1 2 pτ 2 f(x + tp)p. Satz.2.1 (Notwendige Bedingung 1. Ordnung). Ist x ein lokales Minimum und f stetig differenzierbar auf einer Umgebung U(x ) von x, dann ist f(x ) =. Beweis. Sei f(x ), setze p = f(x ). Daher ist p τ f(x ) = f(x ) 2 (L 2 ) <. Da f(x ) stetig, existiert ein α >, so dass p τ f(x + tp) < t (, α). Für beliebiges t (, α] ist nach Taylor nun für ein gewisses t (, t) f(x + tp) = f(x ) + tp τ f(x + tp) < f(x ) < Widerspruch. Definition.2.1. Ist f(x) =, so nennt man x einen stationären Punkt von f. Satz.2.2 (Notwendige Bedingung 2. Ordnung). Ist x ein lokales Minimum von f und 2 f ist stetig auf einer Umgebung U(x ), dann ist f(x ) = und 2 f(x ) positiv semidefinit. Beweis. Nach Satz.2.1 folgt f(x ) =. Sei 2 f(x ) nicht positiv semidefinit p : p τ 2 f(x )p <. Wegen der Stetigkeit von 2 f existiert ein α >, so dass p τ 2 f(x + tp)p < t (, α). Für beliebiges t (, α] ist nach Taylor nun für ein gewisses t (, t) f(x + tp) = f(x ) + tp τ f(x ) + t 2 p τ 2 f(x + tp)p < f(x ). = < Dies ist im allgemeinen nicht hinreichend, z.b.: f(x, y) = x 2 y 4 ( ) ( ) 2x f(, ) = 4y 3 = ( ) (,) 2 2 f(, ) =

8 KAPITEL. EINFÜHRUNG Satz.2.3 (Hinreichende Bedingung). 2 f sei stetig auf einer Umgebung U(x ). Ist dann f(x ) = und 2 f(x ) positiv definit, dann ist x ein lokales Minimum. Beweis. Da 2 f stetig auf U(x ), existiert ein r >, so dass 2 f(x) positiv definit x B r (x ) = {x : x x < r}. Für beliebiges p mit x + p B r (x ) gilt nach Taylor für ein t (, 1): f(x + p) = f(x ) + p τ f(x ) + 1 2 pτ 2 f(x + tp)p > f(x ). = > Für konvexe differenzierbare Funktionen ist die Lage viel leichter! Satz.2.4. Ist f konvex und differenzierbar und ist x stationärer Punkt, so ist x globales Minimum. Beweis. Ann.: x mit f(x) < f(x ). Dann ist und f(x + t(x x )) (1 t)f(x ) + tf(x) = f(x ) + t(f(x) f(x )) = f(x ) τ (x x f(x ) = lim +t(x x )) f(x ) t t lim t t(f(x) f(x )) t = (f(x) f(x )) <..3 Methoden der freien nichtlinearen Optimierung In der nichtlinearen Optimierung versucht man mit Abstiegsverfahren möglichst nah an ein lokales Optimum zu kommen, hofft, dass dort die Funktion lokal streng konvex ist und das quadratische Modell eine gute Approximation darstellt, bestimmt iterativ das Minimum des quadratischen Modells. Satz.3.1. Sei f C 2, x genüge den hinreichenden Optimalitätsbedingungen aus Satz.2.3 und 2 f sei Lipschitzstetig in einer Umgebung U(x ), das heißt: L > : 2 f(x) 2 f(x) L x x x, x U(x ). Dann gilt für die durch x k+1 = x k [ 2 f(x k )] 1 f(x k ) festgelegte Folge:

.3. METHODEN DER FREIEN NICHTLINEAREN OPTIMIERUNG 9 1. Ist Startpunkt x nahe genug bei x, dann x k x. 2. Die Konvergenzrate ist dann quadratisch, also x k+1 x c x k x 2 für ein c >. 3. Die Folge der Gradientennormen f(x k ) konvergiert quadratisch gegen. Interpretation: Für x k nahe genug an x ist die Hessematrix des quadratischen Modells 2 f(x k ) positiv definit; folglich ist q(x) = f(x k ) + f(x k ) τ (x x k ) + 1 2 (x x k) τ 2 f(x k )(x x k ) streng konvex und hat eine eindeutige Optimallösung, den stationären Punkt x von q: = q(x) = f(x k ) + 2 f(x k )(x x k ) x = x k [ 2 f(x k )] 1 f(x k ). Alternativ kann man das Newton-Verfahren als Methode zur Bestimmung der Nullstelle einer vektorwertigen Funktion F : R n R m auffassen; gesucht ist x mit F (x) =. Baue lineares Modell an F in x k und bestimme dessen Nullstelle: F (x k ) + J F (x k )(x x k ) =. Ist J F (x k ) invertierbar, so ist x = x k J F (x k ) 1 F (x k ). Für die Optimierung: F = f. Das Newton- Verfahren sucht einen stationären Punkt, der in der Nähe des Startpunktes liegt. Beweis von Satz.3.1. Sei x die Optimallösung; f k := f(x k ), 2 f k := 2 f(x k ). x k+1 x = x k 2 f 1 k f k x = 2 f 1 k ( 2 f k (x k x ) ( f k f )) = f k f = 1 2 f(x k + t(x x k ))(x k x )dt 2 f k (x k x ) ( f k f ) = 1 [ 2 f k 2 f(x k + t(x x k ))](x k x )dt 1 2 f k 2 f(x k + t(x x k )) x k x dt L x k x 2 1 tdt = 1 2 L x k x 2 Schranke für 2 f 1 k : 2 f k ist positiv definit und Lipschitzstetig, also existiert r >, so dass 2 f 1 (x) 2 2 f 1 x U(x ) : x x r. Mit obigen Abschätzungen gilt nun x k+1 x L f 1 x k x 2 x U(x ) : x k x r. { } Falls x x 1 < min r,, dann geht x L 2 f 1 k x mit quadratischer Konvergenz 1. und 2. gelten.

1 KAPITEL. EINFÜHRUNG 3. f k+1 = f k+1 f k 2 f k (x k+1 x k ) = = 1 2 f(x k + t(x k+1 x k ))(x k+1 x k )dt 2 f k (x k+1 x k ) 1 2 f(x k + t(x k+1 x k )) 2 f(x k ) x k+1 x k dt L x k+1 x k 2 1 tdt = 1L x 2 k+1 x k 2 = 2 f 1 k f k 1 1 L f 2 k 2 f k 2 2L f 1 2 f k 2. Probleme bei Newton: lokales Verfahren, im Allgemeinen keine Abstiegsrichtung. Negativer Gradient ist immer Abstiegsrichtung! Definition.3.1. Eine Schrittrichtung p heißt Abstiegsrichtung in x, wenn ( f(x)) τ p <. Typische Optimierungsverfahren Berechne eine Schrittrichtung p k = B 1 k f k mit B k positiv definit, dann ist f τ k p k = f τ k B 1 k f k <, wenn f k. Suche entlang dem Halbstrahl x k + αp k annähernd das Minimum von f (man muss nur hinreichenden Abstieg garantieren, sufficient decrease ) Setze x k+1 = x k + α k p k. Nutze die Schrittinformation um B k zu verbessern. Klasse der line search Algorithmen 1. B k = I ist steepest descent Steilster Abstieg hat schlechte Konvergenzeigenschaften für konvexe quadratische Funktionen f = 1 2 xτ Qx + c τ x. Problem bei steepest decsent: stark skalierungsabhängig Vorteil bei Newton: p k = ( 2 f(x k )) 1 f k = Q 1 Qx k = x k 2. Setzt man B k = 2 f(x k ), dann erhält man das Newtonverfahren mit line search. Funktioniert, wenn 2 f positiv definit, also bei lokal konvexem f. Sonst B k = 2 f + λi mit λ > min{, λ min ( 2 f)} 3. Aktuelle Verfahren starten mit B k = I und versuchen sich eine immer bessere Approximation der Hessematrix aufzubauen ( Quasi-Newton-Verfahren ).

Kapitel 1 Lineare Optimierung 1.1 Lineare Programme Beispiel 1.1.1. Möchten Mozartkugeln und Mozarttaler produzieren; brauchen jeweils: Marzipan Nougat Bitterschokolade Preis Mozartkugeln 1 2 1 9 Mozarttaler 1 1 2 8 Gesamtmenge 6 11 9 x 1 : Menge an Mozartkugeln x 2 : Menge an Mozarttalern max 9x 1 + 8x 2 s.t. x 1 + x 2 6 2x 1 + x 2 11 x 1 + 2x 2 9 x 1 ; x 2 Mozartproblem 1 8 6 4 2 2 4 6 8 11

12 KAPITEL 1. LINEARE OPTIMIERUNG Offensichtlich ist die Optimallösung eine Ecke. Wie berechnet man die Optimallösung? Bestimme den Schnittpunkt der beiden Geraden! { x 1 + x 2 = 6 2x 1 + x 2 = 11 x 1 = 5, x 2 = 1 Realistische Probleme haben bis zu einigen Millionen Variablen und Nebenbedingungen Brauchen algebraische Verfahren! Variablen: Vektor x R n oft verlangen wir x i, i = 1,..., n x andere Nebenbedingungen: a i x i β a τ x β; H a,β = {x R n : a τ x β} Wir fassen mehrere Nebenbedingungen zu einer Matrixungleichung zusammen: a τ 1x b 1. Ax b mit A = a τ mx b m a τ 1. a τ m, b = b 1. b m Lineares Programm in kanonischer Form: max c τ x s.t. Ax b x Wie bringt man Probleme mit Gleichungen und Ungleichungen in diese Form? a τ x β ( a) τ x β a τ x = β { a τ x β ( a) τ x β a τ x β negative Variable x i ersetzen durch x i = x i freie Variable (x i nicht Vorzeichen beschränkt) x i = x + i x i, x+ i, x i Minimierungsproblem: min c τ x = max( c) τ x Jede Aufgabe mit linearer Zielfunktion sowie linearen Gleichungs- und Ungleichungsnebenbedingungen kann als lineares Programm in kanonischer Form dargestellt werden.

1.1. LINEARE PROGRAMME 13 Die Schlupfvariablen oder slacks s i = b i a τ i x messen die Distanz zur Ungleichung: max c τ x s.t. Ax + s = b x, s mit A = [A I] und x = max c τ x s.t. Ax = b x [ x s ] : Lineares Programm in Normalform: min c τ x s.t. Ax = b x O.B.d.A. hat A vollen Rang Beispiel 1.1.2 (Mozartproblem in Normalform). 3 Schlupfvariablen (x 3, x 4, x 5 ) für 3 Ungleichungen 9 1 1 1 6 8 A = 2 1 1, b = 11, c = 1 2 1 9 vorher: Optimallösung war Schnittpunkt der 1. und 2. Ungleichung x 3 =, x 4 = Es bleibt zu lösen: 1 1 2 1 1 2 1 x 1 x 2 x 5 = 6 11 9 Ecke berechnen : Wähle n m Schlupfvariablen, die Null sein sollen. Lösung liegt auf den entsprechenden Nebenbedingungen. Lösung des restlichen Systems bestimmt Schlupf der anderen Nebenbedingungen. Wofür ist x 1 der Schlupf? Für x 1. Ax = b : m Gleichungen; Ix : n Ungleichungen

14 KAPITEL 1. LINEARE OPTIMIERUNG Ecke wird durch n Gleichungen festgelegt, m stehen fest. n m aus den Ungleichungen auswählen: N {1,..., n} : N = n m. Müssen n m so auswählen (alle = ), dass durch das System Ax = b die restlichen eindeutig bestimmt sind (sonst keine Ecke). B = {1,..., n} \ N A = [A B A N ], x = [ xb x N A B x B + A N x N = b, x N =, A B muss regulär sein x B = A 1 B [b A Nx N ] ] Die Spalten von A B müssen linear unabhängig sein, also eine Basis des R m bilden. Definition 1.1.1. Für ein Ungleichungssystem Ax = b, x mit A R m n heißt: eine reguläre Untermatrix A B mit Spaltenindizes B {1,..., n}, B = m Basis, x = A 1 [b A N x N ] mit x N = Basislösung (zur Basis B), und zulässige Basislösung, falls x B. x B heißen Basisvariable oder abhängige Variable. x N heißen Nichtbasisvariable oder unabhängige Variable. Idee des Simplexalgorithmus für Lineare Programme Springe von einer Ecke zu einer benachbarten, besseren Ecke, bis es keine bessere gibt. 1.2 Der Simplexalgorithmus Beginnen mit der zulässigen Basislösung x B = A 1 B [b A Nx N ], x N =, x B. Versuchen zu verbessern, indem wir ein x i mit i N von wegschieben. c τ x = c τ B x B + c τ N x N = c τ B A 1 B [b A Nx N ] + c τ N x N = c τ B A 1 B b cτ B A 1 B A Nx N + c τ N x N = c τ B A 1 B = c τ BA 1 B b Konstante derzeitiger ZFW + [cτ N cτ B A 1 B A N]x N +[ c N A τ NA τ B c B ] τ x N reduzierte Kosten:= c N

1.2. DER SIMPLEXALGORITHMUS 15 Reduzierte Kosten sagen aus, wie sich die Zielfunktion verändert, wenn ein x j mit j N vergrößert wird. Vergrößern von x j führt zur Verbesserung, falls c j < ist. Was ist falls c j j N? Lemma 1.2.1. Für das LP min{c τ x : Ax = b, x } sei x eine zulässige Basislösung zur Basis B. Erfüllen die reduzierten Kosten c N A τ N A τ B c B, so ist x eine Optimallösung. Beweis. Sei x eine Optimallösung, also Ax = b, x und c τ x c τ x x X = {x : Ax = b}. Es gilt x B = A 1 B [b A Nx N ] und x N x N = und c τ x = c τ B A 1 B b + ( c N A τ NA τ B c B ) τ x N B A 1 B b = cτ x Bemerkung 1.2.2. Aus dem Beweis erkennt man, dass weitere Optimallösungen nur dann existieren können, wenn wenigstens eine Komponente der reduzierten Kosten = ist. Wir nehmen an, der reduzierte-kosten-vektor enthält eine negative Komponente: ĵ N : cĵ <. Die Berechnung der reduzierten Kosten und die Auswahl von ĵ nennt man Pricing. Um wieviel können wir xĵ vergrößern, ohne unzulässig zu werden? (Alle anderen x j mit j N \ {ĵ} behalten den Wert.) Also: x B (xĵ) = A 1 B [b A.,ĵxĵ] soll bleiben. i {1,..., m} : [A 1 B b] i { [A 1 B xĵ min b] i [A 1 B A.,ĵ] i Diesen Schritt nennt man ratio test. [A 1 B }{{ A.,ĵ] } i xĵ nur > interessant : i {1,..., m} : [A 1 B A.,ĵ] i > Was passiert, wenn die Menge derartiger Indizes i leer ist? Das Problem ist unbeschränkt, in Richtung des Halbstrahls geht es gegen, denn xĵ kann beliebig vergrößert werden ohne den zulässigen Bereich zu verlassen: Der Halbstrahl ( ) [( xb A 1 B x(α) = + α A ) ].,ĵ + eĵ x N ist zulässig, also x(α) X α > und es gilt }. inf{c τ x(α) = c τ B A 1 B b + α( c N A τ NA τ B c B )ĵ, α > } = <

16 KAPITEL 1. LINEARE OPTIMIERUNG Das Problem ist also unbeschränkt, falls es kein i {1,..., m} mit [A 1 B A.,ĵ] i > gibt. Nehmen wir nun an, î sei ein Index, für den obiges Minimum angenommen wird, zu î gehört eine Basisvariable mit Index B(î). Setzen xĵ = [A 1 B b] î [A 1 B A.,ĵ]î, dann wird x B(î) =, also ergibt sich eine neue zulässige Basis mit N + = N \ {î} {B(î)} B + = B \ {B(î)} {ĵ}. xĵ heißt eintretende Variable ( entering ); x B(î) heißt austretende Variable ( leaving ). Lemma 1.2.3. Die neue Indexmenge B + beschreibt wieder eine zulässige Basis und [( x + = x + [A 1 B b] î A 1 B A ) ].,ĵ + [A 1 B A eĵ.,ĵ]î ist eine zulässige Basislösung. Beweis. A B w = A.,ĵ hat eine eindeutige Lösung, da A B Basis ist. Wegen wî > ist A.,ĵ linear unabhängig von den Spalten B \ {î}, also ist A B + wieder eine Basis. Der Rest folgt nach Konstruktion. Definition 1.2.1. Das Paar (î, ĵ) wird das Pivot und das entsprechende Element in der Matrix A 1 B A N Pivot-Element genannt. 1.2.1 Der (primale) Simplex Algorithmus Algorithmus 1.2.4. Input: A, b, c, eine zulässige Basis B und x B = A 1 B b 1. BTRAN: Berechne y = A τ B c B durch Lösen von A τ B y = c B 2. Pricing: Berechne z N = c N A τ N y. Falls z N, ist x Optimallösung. Stop! Sonst, wähle ĵ N mit zĵ <. xĵ ist die eintretende Variable. 3. FTRAN: Löse A B w = A.,ĵ 4. Ratio-Test: Falls w ist das LP unbeschränkt. { Stop! } xb(i) Sonst, berechne γ = min w i : w i >, i {1,..., m} gewisses î {1,..., m}. x B(î) ist die austretende Variable. = x B(î) wî für ein

1.2. DER SIMPLEXALGORITHMUS 17 5. Update: Setze x B := x B γw, xî := γ, B(î) := ĵ, N := N \ {ĵ} {B(î)}. Beispiel 1.2.1. Mozartproblem: A = 1 1 1 2 1 1 1 2 1, b = 6 11 9, c = 9 8 Mozartproblem 1 8 x4 x2 6 4 x3 2 x5 2 4 6 8 x1 Anfang: Starten im Nullpunkt, zugehörige Basis B = {3, 4, 5}, N = {1, 2} x = (,, 6, 11, 9) τ, x B = (6, 11, 9) τ 1. Iteration: A B = 1 1 1, c B = Wählen ĵ = 1, dann ist w = 1 2 1, y =, z N = [ 9 8 î = 2, B(î) = 4, γ = 5.5 B = {3, 1, 5}, N = {4, 2}, x = 5.5.5 3.5 ]., x B =.5 5.5 3.5.

18 KAPITEL 1. LINEARE OPTIMIERUNG 2. Iteration: A B = 1 1 2 1 1, c B = Wählen ĵ = 2, dann ist w = 3. Iteration: A B = optimal. 1 1 1 2 2 1 1.5.5 1.5 9, y = 4.5, z N = î = 1, B(î) = 3, γ = 1 B = {2, 1, 5}, N = {4, 3}, x =, c B = 8 9, y = 7 1 5 1 2, z N = [ 4.5 3.5, x B = Satz 1.2.5. Ist im primalen Algorithmus immer γ >, dann endet der Simplex-Algorithmus nach endlich vielen Schritten. Beweis. In jedem Schritt mit γ > verbessert sich der Zielfunktionswert: c τ x + = c τ BA 1 B b + (c N A τ NA τ B c B) τ x + N = cτ BA 1 B b + z ĵ γ < c τ BA 1 B b = cτ x < > d.h. keine Basis kommt zweimal ( vor. ) Jede Basis entspricht einer Auswahl von m Indizes aus n {1,..., n}; es gibt höchstens unterschiedliche Basen, d.h. der Algorithmus endet nach ( ) m n höchstens Iterationen. m { } xb(i) Wann ist = γ = min w i, w i, i {1,..., m}? γ = bedeutet, i B : x B(i) =, d.h. eine weitere Ungleichung ist bzgl. dieser Basislösung aktiv. Definition 1.2.2. Eine Basis B heißt entartet/degeneriert (degenerate), falls x B(i) = für ein i {1,..., m}. Ein lineares Optimierungsproblem heißt entartet/degeneriert, falls es entartete Basen besitzt. [ 1 7 ] 1 5 2 ]..

1.2. DER SIMPLEXALGORITHMUS 19 Entartetes LP: Durch einen von n Gleichungen festgelegten Punkt gehen mehr als n Gleichungen. Für zufällige Daten tritt dies mit Wahrscheinlichkeit ein; in der Praxis aber recht oft. Im Simplex-Algorithmus legen die Nichtbasisvariablen N den Punkt fest. Im Pricing-Schritt wird eine Ungleichung aus N herausgenommen. Damit wird ein eindimensionaler Halbstrahl festgelegt, entlang dem sich die Lösung weiterbewegen kann. Trifft der Halbstrahl bereits für Schrittweite die nächste Ungleichung, beschreiben die neuen Nichtbasisvariablen denselben Punkt. So etwas kann sich mehrmals wiederholen, oder sogar auf die selbe Basis zurückführen. In diesem Fall sagt man, der Simplexalgorithmus kreist; er terminiert dann nicht. Für die meisten üblichen Auswahlverfahren im Pricing bzw. Ratio Test kann man Beispiele mit Kreisen konstruieren. Eine einfache Auswahlregel, die das Kreisen verhindert, ist die Regel von Bland: Im Pricing wähle unter den Variablen mit negativen reduzierten Kosten diejenige mit dem kleinsten Index. Im Ratio-Test wähle unter den -Variablen diejenige mit kleinsten Index. Satz 1.2.6. Werden im Simplexalgorithmus die Auswahlverfahren von Bland verwendet, terminiert der Simplexalgorithmus immer. Beweis. Nehmen an, der Algorithmus kreist trotzdem. Seien B 1,... B k die Basen, die der Algorithmus durchkreist: B 1,..., B k, B 1,... und I = {i {1,..., n} : k 1, k 2 {1,..., k} : i B k1, i / B k2 } die Indexmenge der wechselnden Variablen. Sei t = max I, o.b.d.a. sei t B 1, t / B 2. Sei s B 2 \ B 1, also s N 1, s / N 2 die neue Basisvariable, die t ersetzt. Sei B = B h {B 2,..., B k } die erste Basis mit t / N h, t B h+1. Für B müssen die reduzierten Kosten von t negativ sein: c t := c t (A.,t ) τ A τ B c B < und c i i N I c s. Definieren c i = i B. Der Zielfunktionswert ist ( ) β + n+m j=1 c j x j mit β = c τ B A τ B b. Für die Basis ˆB = B 1 ist s ˆN und ĉ s := c s (A.,s ) τ A τ ˆB c ˆB Abhängigkeit von x s ist β + ĉ s x s. <. Die Zielfunktion in

2 KAPITEL 1. LINEARE OPTIMIERUNG Aus ( ) mit x ˆB = A 1 ˆB b ˆb A 1 ˆB A.,s â x s erhalten wir β + ĉ s x s = β + j ˆB c j(ˆb j â j x s ) + c js x s (ĉ s c js + j ˆB c jâ j )x s = j ˆB c jˆb j = const x s ĉ s < c js + j ˆB c j â j = > j ˆB mit c j â j >, insbesondere c j, also j / B, j ˆB. Also wechselt Variable j in und aus der Basis, j t weil j / B j < t damit c j (bei c j < wäre j statt t im Pricing ausgewählt worden); damit ist auch â j >. Da j wechselt, ist x j = und wegen j ˆB und j < t hätte j statt t im Schritt von ˆB = B 1 zu B 2 im Ratio-Test gewählt werden müssen. Widerspruch. Korollar 1.2.7. Ausgehend von einer zulässigen Basis bestimmt der Simplexalgorithmus mit der Auswahlregel von Bland in endlich vielen Schritten eine Optimallösung oder weist die Unbeschränktheit nach. Beweis. Folgt aus Lemma 1.2.1, Lemma 1.2.3 und aus Satz 1.2.6. Es gibt noch andere Varianten, das Kreisen zu vermeiden: - zufällige Wahl der austretenden Variable - zufällige Pertubation der rechten Seite - symbolisches Pertubieren ( < ε 1 ε 2... ε m Pertubationen, die sich nicht auslöschen können) Diese werden immer erst dann eingesetzt, wenn Anzeichen für das Kreisen beobachtet werden. Sonst gibt es bessere Regeln: ursprünglich: negativste reduzierte Kosten. Nachteil: hängt stark von der Skalierung der einzelnen Variablen ab, z.b.: c 1 x 1 + c 2 x 2 =.3x 1 1.5x 2 x 2 ersetzen x 1 = 1x 1 3x 1 1.5x 2 x 1 misst nur den Fortschritt pro Einheitsschritt entlang xĵ minimiert misst den Fort- heute allgemein: steilste Kante ( steepest edge ) Idee: Wähle ĵ N, so dass die Richtung x den Ausdruck cτ x x schritt pro Einheitsschritt im Gesamtraum.

1.2. DER SIMPLEXALGORITHMUS 21 Wie geschieht dies effizient? Bei Wahl von j aus N ist [ ] xb x = = x N [ A 1 B A.,j x B = A 1 B A Nx N + A 1 B b ] + e j c τ x = c τ B x B + c τ N x N = c j (A τ N A τ B c B) j = y j x 2 = x B 2 + 1 = A 1 B A Ne j 2 + 1 In jedem Schritt A 1 B A N zu berechnen ist zu aufwendig. Man kann aber die Normen ν k = A 1 B A Ne k 2, k N mitführen und effizient aktualisieren. Betrachten Aktualisierung von ν k bei Basiswechsel B = B \ {B(î)} {ĵ}: A B = A B + (A.,ĵ A B(î) )eî τ = A B (I + A 1 B ( A.,ĵ A.,B(î) )eî τ) = A B (I + ( A 1 B, A.,ĵ A 1 B.,B(î) )eî τ w eî = A B ( I + (w eî)eî τ ) W ν k = A 1 B A.,k 2 = A τ.,k A τ B A 1 B A.,k = A τ.,k A τ B W τ W 1 A 1 B A.,k Einschub: Wie bekommt man (A + uv τ ) 1 aus A 1 (low rank update)? (A + uv τ ) 1 = A 1 1 1+v τ A 1 u A 1 uv τ A 1 füra = I : (I + uv τ ) 1 = I 1 1+v τ u uvτ fürw : W 1 = I 1 (w eî)e τ wî î. Also erhält man ν k = A τ.,k a k τ AB (I e î(w eî) τ wî = a τ k A τ B A 1 B a k 2a τ k = ν k 2 aτ k u(v u)τ a k wî A τ B ) ( ) I (w e î)eî τ A 1 wî B A.,k a k e î(w eî) τ A 1 B a wî k + a τ k + (a τ k u) w e i 2 w 2 i A τ B benötigen dazu also nur: u = A τ B e î, also lösen von A τ B u = e î v = A τ B w, also lösen von Aτ B v = w also recht günstig zu berechnen. Laufzeit des Simplexalgorithmus: Im schlimmsten Fall exponentiell viele Iterationen Klee und Minty 1972: 2 n (n Variablen, n Nebenbedingungen) Klee und Minty Cubes für negativste reduzierte Kosten e î(w eî) τ (w eî)eî τ A 1 B a wî 2 k

22 KAPITEL 1. LINEARE OPTIMIERUNG empirisch für praktische Probleme: 1.5m Iterationen; hängt jedoch sehr von der Degeneriertheit des Linearen Programmes ab. 1.3 Zulässigkeit und Fundamentalsatz der Linearen Optimierung Wie findet man eine zulässige Basis? Betrachten also min c τ x s.t. Ax = b x, Basis bekannt sei. wobei keine zulässige 1.3.1 Zwei-Phasen-Methode Lösen in Phase I ein künstliches Problem. O.B.d.A. sei b. Die Aufgabe min e τ s = s i s.t. Ax + s = b x, s hat eine zulässige Basis: {s 1,..., s m } Findet der Simplexalgorithmus eine Optimallösung mit s i = i, dann ist die entsprechende Basis zulässig für das Originalproblem. Löse davon ausgehend in Phase II das Originalproblem. Bemerkung 1.3.1. Sobald ein s i nach N wechselt, kann die Hilfsvariable entfernt werden. Sind in der Optimallösung der Phase I noch s i in der Basis (degeneriert), so kann man diese immer mit einer geeigneten Spalte herauspivotisieren. Terminiert Phase I mit Optimalwert >, dann gibt es nach Korollar 1.2.7 keine zulässige Lösung. 1.3.2 Groß-M/(Big-M)-Methode Man versucht, beide Phasen in einer zu behandeln, indem man M wählt und löst. min c τ x + Me τ s s.t. Ax + s = b x, s

1.4. DUALITÄT 23 Nachteile: Es ist unklar wie groß M gewählt werden muss. Verursacht oft numerische Schwierigkeiten. Vorteile: Wenn M klein gewählt werden kann: Simplexalgorithmus geht sofort auf die Suche nach einer einer guten Basis. Künstliche Variablen können wie zuvor entfernt werden, sobald sie in N wechseln. Satz 1.3.2 (Fundamentalsatz der linearen Optimierung). Hat ein Lineares Programm eine Optimallösung, wird diese auch in einer zulässigen Basis angenommen. Ein lineares Programm ohne Optimallösung ist entweder unbeschränkt oder unzulässig. Beweis. Zwei-Phasen-Methode und Korollar 1.2.7. Wichtig: Das Resultat verwendet wesentlich x. Lässt man auch freie Variable zu, muss es keine Basislösung mehr geben. Beispiel: min ax + by s.t.ax + by = c. 1.4 Dualität Zu jedem linearen Programm kann man ein duales Programm aufschreiben, das immer gleichzeitig mitgelöst wird und wichtige Zusatzinformationen zum ursprünglichen liefert. Geometrisch lässt es sich als das Bestimmen einer gültigen Ungleichung, die den Zielfunktionswert am stärksten einschränkt, erklären. Beispiel 1.4.1. 7 6 5 Zielfunktion max c τ x s.t. Ax b x 4 3 X = {x : Ax b} 2 1 1 2 3 4 5 6 7 x Aus Ax b können neue gültige Ungleichungen gewonnen werden, indem man die Ungleichungen mit nichtnegativen Zahlen multipliziert und addiert ( Nichtnegative Linearkombinationen ).

24 KAPITEL 1. LINEARE OPTIMIERUNG Sei y R m : y, a = y τ A, b = y τ b. Dann ist a τ x b gültig x X. Gilt zusätzlich a c, dann ist wegen x auch c τ x a τ x b x X. Jedes y mit A τ y c liefert y τ b als obere Schranke für den Optimalwert. Das duale Programm sucht die kleinste Schranke über alle y. max c τ x s.t. Ax b x = min b τ y s.t. A τ y c y Primales Programm in kanonischer Form Duales Programm in kanonischer Form Woher kommt der Name dual? In der linearen Algebra wird für einen Vektorraum V der Vektorraum der linearen Funktionale f : V R als Dualraum V bezeichnet. Für V = R n ist f(x) = α 1 x 1 α n x n, also (R n ) = R.. Die Nebenbedingungen enthalten lineare Funktionale. Mit y bilden wir eine nichtnegative Linearkombination dieser Vektoren aus dem Dualraum und erhalten ein neues Element aus dem dualen Raum. Im dualen Problem optimieren wir über den dualen Vektorraum. Wegen (R n ) = R n sind beide Probleme ganz gleich. Insbesondere ist das Duale des dualen Problems wieder das Primale. Analog leitet man das Duale für ein Primales in Standardform ab: min c τ x s.t. Ax = b x max b τ y s.t. A τ y c y frei max b τ y s.t. A τ y + z = c y frei, z Primales in Standardform Übung: Was macht man, wenn,, =-Nebenbedingungen gleichzeitig auftreten? Duales in Standardform 1.4.1 Schwache Dualität Betrachten primal-duales Paar in Standardform: X = {x : Ax = b}, Z = {(x, y) : A τ y + z = c, z }. Offensichtlich gilt nach Konstruktion sogenannte schwache Dualität (weak duality): inf x X cτ x sup b τ y (x,y) Z alternativer Beweis: Sei x X, (y, z) Z c τ x = (A τ y + z) τ x = y τ Ax + z τ x = b τ y + z τ x b τ y.

1.4. DUALITÄT 25 Entscheidende Frage: Kann es passieren, dass p := inf c τ x > sup b τ y =: d, (y,z) Z also eine Dualitätslücke auftritt, oder gilt immer p = d (sogenannte starke Dualität)? Nicht, wenn p endlich ist, denn dann berechnet der primale Simplexalgorithmus gleich die duale Optimallösung mit. 1. BTRAN: Berechne y = A τ B c B durch lösen von A τ B y = c B 2. Pricing: Berechne z N = c N A τ N y Falls z N, ist x Optimallösung. Stop!... Ist x Optimallösung, dann ist ( A τ B A τ N der Wert der dualen Lösung ist ) ( ) y + z N =:z = ( cb c N ), also (y, z) dual zulässig und b τ y = b τ A τ B c B = x τ Bc B = c τ x gleich dem primalen Optimalwert. Aufgrund der schwachen Dualität ist (y, z) also duale Optimallösung mit dem gleichen Wert. Das zeigt: Satz 1.4.1 (starke Dualität). Ein primales Programm hat eine endliche Optimallösung genau dann, wenn auch das dazugehörige duale eine endliche Optimallösung hat. Insbesondere: Ist eines der beiden zulässig, dann gilt inf x X cτ x = sup b τ y. (y,z) Z Beispiel 1.4.2. Beide unzulässig ist möglich: max x 1 s.t. x 1 x 2 1 x 1 + x 2 x 1, x 2 min y 1 s.t. y 1 y 2 1 y 1 + y 2 y 1, y 2 Korollar 1.4.2 (Satz vom Komplementären Schlupf (complementary slackness theorem)). Seien x und (y, z) primal und dual zulässig (bezüglich der Standardform). x und (y, z) sind primale und duale Optimallösung genau dann, wenn x τ z =. Beweis. : Satz 1.4.1 und schwache Dualität : schwache Dualität

26 KAPITEL 1. LINEARE OPTIMIERUNG Bemerkung 1.4.3. x τ z = gilt offensichtlich für beliebige primale und duale Optimallösungen. Wegen x und z folgt aus x τ z =, dass x i z i =. Wenn also x i der primalen Schlupfvariablen der Ungleichung j entspricht, heißt dass x i z i = x i ( c i = y) = x i ( y j ) =. =e j y j A τ.,i Falls der primale Schlupf der j-ten Ungleichung in einer Optimallösung x größer als ist (die Ungleichung ist nicht bindend), dann muss in jeder dualen Optimallösung y j = sein. Umgekehrt: Ist y j Dualvariable einer primalen Ungleichung und ist y j in einer dualen Optimallösung, dann muss diese primale Ungleichung in allen primalen Optimallösungen mit Gleichheit erfüllt sein. Primale Optimallösung degeneriert Duale Optimallösung nicht eindeutig. Duale Optimallösung ist degeneriert primale Optimallösung ist nicht eindeutig. ( ) ( ) ( ) A τ Um dualen Simplex zu entwickeln: B zb cb y + =. A τ N Setzen also z B auf und berechnen die anderen (beachte: komplementärer Schlupf): y = A τ B c B A τ B z B z N = c N A τ N y = c N A τ N A τ B c B + A τ N A τ B z B für duale Zulässigkeit Zielfunktion in Abhängigkeit von z B : b τ y = ba τ B c B ba τ B z B z B(î) vergrößern hilft dann, wenn > [A τ B b] B(î) = x B(î) (also wenn die Nebenbedingung B(î) primal unzulässig ist). z B(î) vergrößern, solange z N zulässig bleibt: Finde maximales γ mit z N = c N A τ NA τ B c B + A τ NA τ B e îγ Algorithmus 1.4.4 (dualer Simplexalgorithmus). Input: A, b, c, eine zulässige Basis B und z N = c N A τ N A τ B c B 1. BTRAN: Löse A B x B = b 2. Pricing: Falls x B, ist B optimal. Stop! Sonst wähle î {1,..., m} mit x B(î) <. z B(î) ist die austretende Variable. 3. FTRAN: Löse A τ B w = e î und berechne dann α N = A τ N w. 4. Ratio-Test: Falls α N, ist das LP unzulässig. Stop! } Sonst setze γ = min : α k >, k N { z k α k zĵ ist die eintretende Variable. z N c N = { z ĵ αĵ } mit ĵ N, αĵ.

1.5. SENSITIVITÄT 27 5. Update: Setze z N := z N γα N z B(î) := γ N := N \ {ĵ} {B(î)} B(î) := ĵ. 1.5 Sensitivität Typische Frage an die Optimallösung: Wie stabil ist die Optimallösung gegenüber Veränderungen der Kosten oder der rechten Seite? Etwa weil: man die Preise anpassen will, man die Daten nicht genau kennt, man wissen will, welche Nebenbedingungen besonders wichtig sind. Seien primale und duale Optimallösungen x B = A 1 B b y = A τ B c B zn = c N A τ N y sowie die primalen bzw. dualen Optimalwerte gegeben. p : c τ B x B + cτ N x N d : b τ y. Änderungen c in c: erhalten die primale Zulässigkeit, aber führen zu Änderungen im Dualen. Derzeitige Basis ist solange optimal, solange z N (t) sind für c(t) = c + t c mit t R. z N (t) = c N + t c N A τ N A τ B (c B + t c B ) = zn + t( c N A τ NA τ B c B ) =: z N Also gilt z N (t) für max [ z N ] i > { [z N ] i [ z N ] i } t min [ z N ] i < { } [z N ] i [ z N ] i. Für diese t ist der neue Optimalwert einfach (c + t c) τ x. Kein Spielraum, wenn [z N ] i = und [ z N ] i (mit richtigem Vorzeichen) (duale Optimallösung degeneriert). Änderungen b in b: erhalten die duale Zulässigkeit, führen aber zu Änderungen im Primalen.

28 KAPITEL 1. LINEARE OPTIMIERUNG Derzeitige Basis ist solange optimal, solange x B (t) bleibt für b(t) = b + t b x B (t) = x B + t A 1 B b x B Also gilt x B (t) für { } { } max [x B ] i [ x B ] i > [ x B ] i t min [x B ] i [ x B ] i < [ x B ] i. Für diese t ist der Optimalwert = (b + t b) τ y. Interessiert uns besonders b = e j (also wenn wir für eine Ungleichung j die rechte Seite b j ändern) y j gibt uns die marginale Änderung der Zielfunktion bei Einheitsänderung b = e j an. Folglich lassen sich y als Schattenpreise bei Ressource-Nebenbedingungen interpretieren. Wenn man b j durch Zukauf von Ressourcen vergrößern will, dann darf das pro Einheit höchstens y j kosten, sonst rentiert sich das sicher nicht. Anbieter der Ressource wird im Gleichgewichtsfall gerade y j verlangen (sonst könnte man Gewinn steigern). Ist insbesondere ein y j =, kann die entsprechende Ungleichung weggelassen werden, ohne die Optimallösung zu verändern, denn: Primales bleibt zulässig, Zielfunktionswert ändert sich nicht, Duales ändert sich nicht. Definition 1.5.1. Nebenbedingungen mit y j nennt man aktiv. Ebenso kann man natürlich primale Variablen mit x i = weglassen, ohne die Optimallösung zu verändern. Bei sehr großen linearen Programmen versucht man inaktive Ungleichungen und (unnötige) Variablen erst gar nicht aufzunehmen. 1.6 Spaltengenerierung und Schnittebenenverfahren 1.6.1 Spaltengenerierung (column generation) Ax = b lässt sich nicht speichern, weil n zu groß ist, man weiß aber, wie zu jedem x j die Spalte A.,j gebildet werden muss. Solange x j = ist, braucht man die Spalte A.,j nicht. x j wird, wenn es im Pricing-Schritt gewählt wird. Pricing: Berechne z N = c N A τ Ny mit y = A τ B c B und wähle ĵ mit zĵ <. Es reicht, wenn min (c j A τ.,jy) bestimmt werden kann, dazu muss A N nicht explizit verfügbar sein. j N Beispiel 1.6.1. Schneide Bleche mit Breite b i mit Gesamtlänge l i, i = 1,..., m, aus Blechrollen der Breite b, so dass möglichst wenig Verschnitt entsteht.

1.6. SPALTENGENERIERUNG UND SCHNITTEBENENVERFAHREN 29 Schnittmuster: beliebige Kombination der Breiten b i, so dass die Gesamtbreite b. Zulässige Menge also m S = {s N m : s i b i b} i=1 s i : wie oft kommt b i im Schnittmuster s vor Variable x s für s S: Länge, mit der Schnittmuster s eingesetzt wird. Problem: min x s möglichst wenige Rollen verwenden s S s.t. sx s l Bedarf erfüllen s S x s s S. Für s S ist A.,s = s. Das Pricing-Problem ist damit max y τ s m min (1 s S sτ y) oder s.t. s i b i b i=1 s i N, i = 1,..., m Dieses sogenannte Rucksackproblem (knapsack problem) löst man für b i N und b N (jeweils nicht zu groß, 1) mit dynamischer Programmierung: bauen die Lösung sukzessive für Gesamtbreite b = 1,..., b und mit Breiten b 1,..., b k mit k < m auf nutzen die Rekursion (für < b b, < k m) opt(b, k) = max{opt(b, k 1), opt(b b k, k) + y k } o.b.d.a. definieren opt(z 1, z 2 ) = für z 1 = oder (z 1 > und z 2 = ) und opt(z 1, z 2 ) = für z 1 <. Beispiel 1.6.2. b 1 = 3, b 2 = 5, b 3 = 6, b = 1, y 1 = 2, y 2 = 4, y 3 = 7 1 9 8 7 6 5 4 3 2 1 opt(.,) opt(.,1) opt(.,2) opt(.,3) {}} { {}} {{ }} { {}} { 6 8 9 6 6 9 4 6 7 4 4 7 4 4 7 = 2 = 4 = 4 2 2 2 2 2 2

3 KAPITEL 1. LINEARE OPTIMIERUNG Zu opt(1, 3) = 9 gehört die Spalte s = In der Praxis: 1. Wähle einige Anfangsmuster, die Zulässigkeit garantieren. 2. Löse für diese optimal. 3. Entferne ungebrauchte Schnittmuster (Spalten). 1 1, die als neue Spalte A.,j aufgenommen wird. 4. Bestimme neue Schnittmuster durch Spaltengenerierung. Falls keine negativen reduzierten Kosten optimal über alle Schnittmuster. Stop! 5. Sonst zurück zu Schritt 2. Nachteil in konkreter Anwendung: Länge x s des Schnittmusters ist leider normalerweise kein ganzzahliges Vielfaches der Längen der Ausgangsrollen. Anzahl der ausgewählten Schnittmuster m (Anzahl der Breiten) im allgemeinen noch zu viel für praktische Anwendung (hohe Rüstkosten). 1.6.2 Schnittebenenverfahren ist gerade die Spaltengenerierung im Dualen besser vorstellbar: im Primalen 1. Berechne Optimallösung für Auswahl der Ungleichungen. 2. F üge eine Ungleichung dazu, die von der derzeitigen Optimallösung verletzt wird. Gibt es keine Optimallösung des Gesamtsystems, sonst 1. Schwierigkeiten hier: Effizientes Finden von Ungleichungen, die die aktuelle Optimallösung verletzen Separierungsproblem. Beispiel: Traveling Salesman Problem(TSP) Welchen Algorithmus verwendet man wann? Spaltengenerierung: Problem bleibt primal zulässig primaler Simplex Schnittebenenverfahren: Problem bleibt dual zulässig dualer Simplex Simplex hat sehr gute Warmstart -Eigenschaften. Warmstart: Nach Problemmodifikation von aktueller Lösung aus fortsetzen.

1.7. GANZZAHLIGKEIT VON BASISLÖSUNGEN 31 1.7 Ganzzahligkeit von Basislösungen In vielen Anwendungen sucht man ganzahlige Optimallösungen, meistens ist dies N P-schwer. Es gibt wichtige Spezialfälle, da geht es automatisch; nämlich dann, wenn alle Basislösungen ganzzahlig sind. Sei X = {x : Ax = b} und o.b.d.a. sei A Z m n. Definition 1.7.1. Eine Matrix A Z m n vollen Zeilenranges heißt unimodular, falls die Determinante jeder aus m linear unabhängigen Spalten bestimmten Submatrix, den Wert ±1 hat. Satz 1.7.1. Sei A Z m m regulär. A 1 b ist ganzzahlig b Z m A ist unimodular. Beweis. Setzen b = e i für i {1,..., m} A 1 e i ist ganzzahlig A 1 ganzzahlig. det }{{ A}} det{{ A 1 } = det I = ±1 det A = ±1. Z Z Ax = b mit Cramerscher Regel lösen: x i = Z {}}{ det(a.,[1,i 1], b, A.,[i+1,m] ) det }{{ A} =±1 x Z m. Satz 1.7.2. Es habe A Z m n vollen Zeilenrang. Genau dann sind alle zulässigen Basislösungen von {x : Ax = b} ganzzahlig für alle b Z m, wenn A unimodular ist. Beweis. Sei A unimodular, b Z m, und x eine zulässige Basislösung von {x, Ax = b}. Dann gibt es eine Basis B mit x B = A 1 B b ganzzahlig (weil A B unimodular nach Satz 1.7.1) und x N = x Z n. Sei B Basis von A, also A B regulär. Nach Satz 1.7.1 ist zu zeigen: A 1 B b Zm b Z m. Sei b Z m ; müssen also A 1 B b zulässig machen. Wählen w Zm, so dass w + A 1 B b. Damit ist b = A B (w + A 1 B b) Zm. Setze x B = w + A 1 B b und x N =, dann ist x zulässige Basislösung von {x : Ax = b}, also ist x ganzzahlig und damit auch A 1 B b = x B w. Wann geht [ das ] auch für {x : Ax b} und alle b Z m? x [A I] = b, also [A I] unimodular. s Jede quadratische Untermatrix von A muss Determinante ±1 oder haben (wähle k Spalten aus A und m k Spalten aus I, mit Laplace-Entwicklungssatz folgt Aussage).

32 KAPITEL 1. LINEARE OPTIMIERUNG Definition 1.7.2. Eine Matrix A Z m n heißt total unimodular, wenn jede quadratische Untermatrix die Determinante ±1 oder hat. Ist A total unimodular, folgt also A {, +1, 1} m n. Beobachtung 1.7.3. 1. A total unimodular [A I] unimodular. 2. A total unimodular [A, I, A, I] τ total unimodular. 3. A total unimodular A τ total unimodular. Satz 1.7.4 (Hoffmann und Kruskal (1956)). Sei A Z m n total unimodular und b Z m. Dann hat min{c τ x s.t. Ax b} immer eine ganzzahlige Optimallösung. Beweis. min{c τ x s.t. Ax b} ist äquivalent zu min{c τ x s.t. [A, A, I][x 1, x 2, s] τ = b, x 1, x 2, s }. Nach Beobachtung 1.7.3, (2., 3.), ist [A, A, I] total unimodular, nach Beobachtung 1.7.3, (1.) unimodular, also hat nach Satz 1.7.2 das zweite LP immer eine ganzzahlige Optimallösung x 1, x 2 und x = x 1 x 2 Z m ist ganzzahlige Optimallösung für min{c τ x s.t. Ax b}. Satz 1.7.5. Ist A total unimodular, und ist bei c Z n, b Z m max{c τ x : Ax b, x } = min{b τ y : A τ y c, y } endlich, dann werden die Optimallösungen auch in ganzzahligen Punkten x und y angenommen. Beweis. Nach Satz 1.7.4 und nach Beobachtung 1.7.3 (2.) gilt das für x und wegen Beobachtung 1.7.3 (3.) auch für y. Definition 1.7.3. Ein (ungerichteter) Graph ist ein Paar G = (V, E) bestehend aus einer (endlichen) Menge V von Knoten (nodes) und einer Menge E {{u, v} : u, v V, u v} von Kanten (edges). Definition 1.7.4. Eine Kantenmenge P = {{u 1, u 2 }, {u 2, u 3 },..., {u k, u k+1 }} mit P E in Graphen G = (V, E) heißt Weg (der Länge k) (path), falls die u i paarweise verschieden sind. Ein Graph heißt zusammenhängend (connected), wenn es zwischen je zwei Knoten u, v V mit u v einen Weg gibt. Ein Graph G = (V, E ) heißt ein Teil- oder Untergraph von G = (V, E), falls V V, E E und E V V. Die kantenmaximalen zusammenhängenden Teilgraphen eines Graphen heißen die Zusammenhangskomponenten von G.

1.7. GANZZAHLIGKEIT VON BASISLÖSUNGEN 33 Eine Kantenmenge C = {{u 1, u 2 }, {u 2, u 3 },..., {u k, u 1 }} mit C E in einem Graphen G = (V, E) heißt ein Kreis (cycle) (der Länge k), falls die u i paarweise verschieden sind. Definition 1.7.5. Der vollständige Graph auf V = n Knoten wird mit K n bezeichnet. Ein Graph G = (V, E) heißt bipartit, falls V 1, V 2 mit V = V 1 V 2 (disjunkt vereinigt) und E {{u, v} : u V 1, v V 2 }. Der vollständige bipartite Graph V 1 = n und V 2 = m Knoten wird mit K n,m bezeichnet. Satz 1.7.6. Ein Graph G = (V, E) ist bipartit genau dann, wenn er keine Kreise ungerader Länge besitzt. Beweis. jeweils hin und zurück gerade. Graph ist bipartit, wenn seine Zusammenhangskomponenten es sind. O.B.d.A. ist der Graph zusammenhängend. Wähle u V und setze: V 1 = {v V : Länge eines kürzesten Weges von u nach v ist ungerade} V 2 = {v V : Länge eines kürzesten Weges von u nach v ist gerade} {u} Annahme: Kante {v, w} E mit (v V 1 und w V 1 ) oder (v V 2 und w V 2 ). Sei P v ein kürzester uv-weg und P w ein kürzester uw-weg. Sei ū der letzte gemeinsame Knoten auf diesen Wegen. Da beide Wege kürzeste sind, ist der Abschnitt u nach ū jeweils gleich lang, damit sind die Restwege P v von ū nach v und P w von ū nach w jeweils beide gerade oder ungerade. C = P v P w {v, w} hat ungerade Länge Widerspruch. Satz 1.7.7 (Heller und Tompkins (1956)). Sei A {, 1, 1} m n mit höchstens zwei nichtverschwindenden Einträgen pro Spalte. A ist total unimodular Die Zeilen von A können in zwei Klassen eingeteilt werden, so dass Zeilen mit einem +1 und einem 1 Eintrag in der gleichen Spalte in die gleiche Klasse und Zeilen mit zwei vorzeichengleichen Einträgen in der gleichen Spalte in unterschiedliche Klassen kommen. Beweis. Spalten mit nur einem Eintrag sind vernachlässigbar. Fassen zuerst Zeilen gemäß 1. zu Zeilenmengen Z i, i = 1,..., h, zusammen. Annahme: Es kommt dabei zu einem Widerspruch zu 2.; also gibt es eine Untermatrix der Form B = 1 2 3. k 1 1 1 1 1........ 1 1 1. Dann ist det B = B 1,1 det B 2:k,2:k + ( 1) k 1 B 1,k det B 2:k,1:k 1 Widerspruch zu = 1 1 + ( 1) k 1 ( 1) k 1 = 2. B ist Untermatrix einer total unimodularen Matrix. Bauen nun Graphen G = (V, E) mit V = {Z i : i = 1,... n}, also Zeilenmengen sind Knoten, und {Z i, Z j } E Spalte j mit A z, j = A z, j, z Z i, z Z j, also eine Kante wird

34 KAPITEL 1. LINEARE OPTIMIERUNG eingeführt, wenn gemäß 2. die Zeilenmengen in unterschiedliche Klassen gehören. Behauptung: G ist bipartit. Annahme: G ist nicht bipartit. Nach Satz 1.7.6 gibt es einen ungeraden Kreis, also gibt es eine Untermatrix der Form B = Kante e {}}{ 1 1 Kante e {}}{ k 1 1 1 1........ 1 1 1 mit det B = 1 + ( 1) k 1 1 = 2 Widerspruch zu A ist total unimodular (Untermatrix B ist total unimodular). Beachte: Sind für Z i = e i e j die Zeilen z und z Z i unterschiedlich, so muss eigentlich statt 1 1 1 1 z 1 1 z 1 1 B = 1.... 1.... z.... 1 1 1 z. 1 1 1 1 geschrieben werden. Aber jede 1 erhöht auch k um eins und verändert das Ergebnis daher nicht. Sei B eine beliebige quadratische Untermatrix. O.B.d.A. hat B nur Spalten mit 2 Einträgen (die anderen können leicht mit Laplaceschem Entwicklungssatz behandelt werden). Sei {Z 1, Z 2 } eine Partition der Zeilen gemäß 1. und 2., multipliziere die Zeilen aus Z 1 mit +1, die aus Z 2 mit 1. Dann ist die Summe der Zeilen der Nullvektor, also sind sie linear abhängig. 1.7.1 Anwendung: Bipartite Paarung (Matching/Zuweisungsproblem) Definition 1.7.6. In einem Graphen G = (V, E) heißt eine Kantenmenge M E mit e f = e, f M : e f Matching oder Paarung. Ein Matching heißt perfekt, falls V (M) := e = V. e M Also: Keine zwei Kanten in M haben einen Knoten gemeinsam. In einem perfekten Matching werden alle Konten überdeckt. In den Anwendungen sind meist { Gewichte w e für e E gegeben } und man sucht ein Matching maximalen Gewichts: max w e : M E, M Matching. Ist G bipartit, spricht man von einem bipartiten Matching. e M

1.7. GANZZAHLIGKEIT VON BASISLÖSUNGEN 35 Beispiel 1.7.1. Arbeiter zu Maschinen zuordnen: Eine Kante zwischen einem Arbeiter und einer Maschine gibt an, dass er sie bedienen kann; das entsprechende Gewicht, wie gut er dabei ist. Gesucht ist eine Zuordnung mit maximaler Gesamtgüte. Modellierung als LP Definition 1.7.7. {u, v} E. In einem Graphen G = (V, E) heißen zwei Knoten u, v adjazent, wenn Eine Kante e und ein Knoten u heißen inzident, wenn u e. Sei G = (V, E) mit Kantengewichten w e R E, dann ist die gewichtete Adjazenzmatrix die (symmetrische) Matrix A R V V mit a i,j = w {i,j}, falls {i, j} E, sonst. Die Knoten-Kanteninzidenzmatrix ist die Matrix A R V E mit { 1, falls u e a u,e =, sonst. Der Inzidenzvektor oder charakteristische Vektor einer Teilmenge B einer Obermenge O ist der Vektor χ(b) {, 1} O mit { 1, falls i B χ(b) i =, sonst. Sei A die Knoten-Kanteninzidenzmatrix eines bipartiten Graphen G = (V, E). Dann ist A total unimodular (nach 1.7.7; Z 1 : Zeilen zu V 1, Z 2 : Zeilen zu V 2 ). Sei M E. M ist ein Matching genau dann, wenn Aχ(M) e = (1,..., 1) τ ist, d.h. wenn jeder Knoten höchstens einmal überdeckt wird. Lineares Programm für Matching maximalen Gewichts: max w τ x s.t. Ax e x Simplex liefert optimale Basislösung x und nach dem Satz von Hoffman und Kruskal (1.7.4) ist x auch ganzzahlig, also ist x {, 1} E, also charakteristischer Vektor eines Matchings maximalen Gewichtes für bipartite Graphen. Ist w = e, so liefert Satz 1.7.5: max{e τ x : Ax e, x } = min{e τ y : A τ y e, y } und bei beiden sind optimale Basislösungen ganzzahlig. A τ y e bedeutet y {, 1} V und y u = 1 alle zu u inzidenten Kanten werden überdeckt.