Nichtlineare Optimierung Skript zur Vorlesung von Dr. Stefan Körkel Frühjahrssemester 2016 Universität Mannheim c Dr. Stefan Körkel Fakultät für Wirtschaftsinformatik und Wirtschaftsmathematik Universität Mannheim Version: 16. März 2016 Korrekturen und Anmerkungen bitte an [email protected] Hinweise zur Vorlesung Einordnung: Modul MAC 507, aber 4-stündig plus Übungen Webseite zur Vorlesung: http://mathopt.math.uni-mannheim.de/config/links/Vorlesung%20Nichtlineare%20Optimierung Dozent Dr. Stefan Körkel, Lehrstuhlvertreter Mathematische Optimierung Sprechstunde nach den Vorlesungen oder nach Vereinbarung Büro: Raum A5, B128 email: [email protected] Termine Vorlesung Dienstags, 8:30 - 10:00, Raum B6, A101 Mittwochs, 8:30 - 10:00, Raum A5, C012 Beginn: 16.2. Übungen Freitags, 10:15-11:45, Raum A5, C012 Scheinkriterien • Regelmäßige Teilnahme an den Übungen, mindestens einmal vorrechnen • Mindestens 50% der Punkte aus den Übungsaufgaben 3 • Mindestens 3 erfolgreich bearbeitete Programmieraufgaben • Bestehen der Klausur am Semesterende, Note ist die Klausurnote. Mögliche Klausurtermine: DI, 7. Juni MI, 8. Juni FR, 10. Juni DI, 14. Juni MI, 15. Juni FR, 17. Juni Übungen Theoretische Aufgaben Pro Woche ein Übungsblatt Ausgabe der Aufgabenblätter mittwochs in der Vorlesung oder als PDF auf der Webseite Rückgabe eine Woche später mittwochs in der Vorlesung Praktische Programmieraufgaben Programmiersprache freigestellt, z. B. Matlab, Octave, C, Fortran Abgabe nach zwei Wochen als ausgedruckten Quelltext und ausgedruckte Ergebnisse. Literaturempfehlungen • Skript zu dieser Vorlesung: wird während des Semesters zeitnah zur Vorlesung erstellt • Manuskript zur Vorlesung im Sommersemester 2012 an der Universität Heidelberg • Skript von Prof. Kolb zur 2-stündigen Vorlesung 2015 • Nocedal, Wright: Numerical Optimization, Springer • Ulbricht, Ulbricht: Nichtlineare Optimierung, Birkhäuser • Jarre, Stoer: Optimierung, Springer • Geiger, Kanzow: Numerische Verfahren zur Lösung unrestringierter Optimierungsverfahren, Springer • Geiger, Kanzow: Theorie und Numerik restringierter Optimierungsaufgaben, Springer • Bertsekas: Nonlinear Programming, Athena Scientific Weitere Lehre • Seminar Konvexe Optimierung Freitags, 13:45-15:15, Raum B6, A104 Vorbesprechung und Themenvergabe: 19. Februar • Bachelorarbeiten aus dem Bereich der nichtlinearen Optimierung 5 Inhaltsverzeichnis 1 Nichtlineare Optimierungsprobleme 7 Allgemeine Problemklasse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Lokale und globale Optima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Konvexe Optimierungsprobleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Konvergenz von iterativen Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Schreibweisen für Ableitungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2 Unbeschränkte Optimierungsprobleme 14 Optimalitätsbedingungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Abstiegsverfahren allgemein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Steilster Abstieg: Gradientenverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Konvergenz des Gradientenverfahrens . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3 Konjugierte Gradienten (CG-)Methoden 23 Lineare CG-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Nichtlineare CG-Methoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Vergleich Gradientenverfahren – CG-Verfahren . . . . . . . . . . . . . . . . . . . . . . 39 4 Linesearch 40 Wahl der Schrittweite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Konvergenz von Linesearch-Methoden . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Linesearch-Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 6 Kapitel 1 Nichtlineare Optimierungsprobleme Allgemeine Problemklasse Wir betrachten in dieser Vorlesung Optimierungsprobleme der Form min f (x) g(x) = 0 h(x) ≥ 0 (1.1) Bemerkung 1.1 o. B. d. A. min: durch Multiplikation der Zielfunktion mit −1 können Maximierungsprobleme in Minimierungsprobleme transformiert werden. o. B. d. A. ≥: durch Multiplikation mit −1 können ≤-Ungleichungen in ≥-Ungleichungen transformiert werden. Definition 1.2 f : Rn → R heißt Zielfunktion, g : Rn → Rm Gleichungsnebenbedingungen, h : Rn → Rk Ungleichungsnebenbedingungen und x ∈ Rn Optimierungsvariablen. Wir betrachten endlich-dimensionale Probleme mit endlichen vielen Nebenbedingungen. Im allgemeinen ist m < n. Wir betrachten glatte Probleme: f, g, h ∈ C 2 oder C 3 , d. h. zweimal oder dreimal stetig differenzierbar. Wir unterscheiden • unbeschränkte Probleme • beschränkte Probleme Natürlich können unbeschänkte Probleme auch mit Verfahren für beschränkte Probleme gelöst werden. Wir werden aber auch Verfahren speziell für unbeschränkte Probleme behandeln. Nicht behandelt werden in dieser Vorlesung: 7 8 KAPITEL 1. NICHTLINEARE OPTIMIERUNGSPROBLEME • (Gemischt-) Ganzzahlige Probleme • (Semi-) Infinite Probleme • Nichtdifferenzierbare Probleme • Optimalsteuerungsprobleme Spezialfälle • Lineare Optimierung: Zielfunktion und Nebenbedingungen sind linear: min cT x Ax = 0 x≥0 Dafür gibt es maßgeschneiderte Methoden, die in einer eigenen Vorlesung Lineare Opti” mierung“ behandelt werden. • Quadratische Optimierung: Die Zielfunktion ist quadratisch, die Nebenbedingungen sind linear: 1 min xT Hx + g T x 2 Ax = b Cx ≥ d Treten als Teilprobleme in den Verfahren dieser Vorlesung auf. • Eindimensionale Probleme: Eindimensionale Minimierung von f :R⊃I→R Treten als Hilfsprobleme für mehrdimensionale Probleme auf (Liniensuche), wichtig für die Theorie. • Nichtlineare Ausgleichsprobleme: 1 min kF1 (x)k22 2 F2 (x) = 0 F3 (x) ≥ 0 oder mit anderen Normen k.k1 , k.k∞ . Die spezielle Zielfunktion muss bei der Wahl des Lösungsalgorithmus berücksichtigt werden. Siehe Kapitel ??. KAPITEL 1. NICHTLINEARE OPTIMIERUNGSPROBLEME 9 Lokale und globale Optima Definition 1.3 (Zulässiger Punkt) Ein Punkt x ∈ Rn heißt zulässiger Punkt des Optimierungsproblems (1.1), wenn er alle Nebenbedingungen erfüllt: x zulässig :⇐⇒ g(x) = 0 ∧ h(x) ≥ 0. Definition 1.4 (Lokales Minimum) Ein Punkt x∗ ∈ Rn heißt lokales Minimum des Optimierungsproblems (1.1), wenn er zulässig ist und sein Zielfunktionswert nicht größer ist als die Zielfunktionswerte aller zulässigen Punkte in einer Umgebung von x∗ : x∗ lokales Minimum :⇐⇒ g(x∗ ) = 0 ∧ h(x∗ ) ≥ 0 ∧ ∃ Umgebung U von x∗ , so dass ∀x ∈ U mit g(x) = 0, h(x) ≥ 0 gilt: f (x∗ ) ≤ f (x). Definition 1.5 (Globales Minimum) Ein Punkt x∗ ∈ Rn heißt globales Minimum des Optimierungsproblems (1.1), wenn er zulässig ist und sein Zielfunktionswert nicht größer ist als die Zielfunktionswerte aller zulässigen Punkte: x∗ globales Minimum :⇐⇒ g(x∗ ) = 0 ∧ h(x∗ ) ≥ 0 ∧ f (x∗ ) ≤ f (x) ∀x mit g(x) = 0, h(x) ≥ 0. Definition 1.6 (Striktes Minimum) Ein Minimum heißt strikt, wenn gilt: f (x∗ ) < f (x) f (x∗ ) < f (x) ∀x ∈ U, x zulässig, x 6= x∗ ∀x, x zulässig, x 6= x∗ (lokal) (global) Die Bestimmung von bzw. Suche nach globalen Optima heißt globale Optimierung, Wir beschränken uns in dieser Vorlesung auf die Berechnung von lokalen Optima. Konvexe Optimierungsprobleme Definition 1.7 (Konvexe Menge) Eine Menge C ⊆ Rn heißt konvex, wenn die Strecke zwischen zwei beliebigen Punkten aus C ganz in C liegt, d. h. ∀x1 , x2 ∈ C, θ ∈ [0, 1] : θx1 + (1 − θ)x2 ∈ C TODO: Abbildung Definition 1.8 (Konvexe Funktion) Eine Funktion f : Rn ⊃ D → R heißt konvex, wenn D eine konvexe Menge ist und für alle x1 , x2 ∈ D und θ ∈ [0, 1] gilt: f (θx1 + (1 − θ)x2 ) ≤ θf (x1 ) + (1 − θ)f (x2 ) 10 KAPITEL 1. NICHTLINEARE OPTIMIERUNGSPROBLEME TODO: Abbildung Satz 1.9 Sei ein Minimierungsproblem gegeben mit einer konvexen Zielfunktion f und einer konvexen Menge S aller zulässigen Punkte: min f (x) x∈S f konvex S konvex Sei x∗ ein lokales Minimum. Dann ist x∗ auch ein globales Minimum. Beweis. Sei x∗ lokales Minimum. Dann existiert R > 0, so dass f (x∗ ) ≤ f (x) für alle x ∈ S mit kx − x∗ k < R. Annahme: x∗ ist nicht globales Minimum, d. h. es existiert x̄ ∈ S, x̄ 6= x∗ mit f (x̄) < f (x∗ ). Es gilt kx̄ − x∗ k ≥ R, denn sonst wäre f (x∗ ) ≤ f (x̄). Betrachte x̂ = (1 − θ)x∗ + θx̄ mit θ = R 2kx̄−x∗ k Es gilt nun kx̂ − x∗ k = kθ(x̄ − x∗ )k = R 2 ∈ (0; 21 ]. Wegen der Konvexität von S ist x̂ ∈ S. < R. Daraus folgt f (x∗ ) ≤ f (x̂). Wegen der Konvexität von f ist aber f (x̂) ≤ (1 − θ)f (x∗ ) + θf (x̄) < f (x∗ ). TODO: Abbildung (3D) Mehr zur konvexen Optimierung z. B. in dem Buch Boyd, Vandenberghe: Convex Optimization, Cambridge University Press. Konvergenz von iterativen Verfahren Verfahren zur Bestimmung von Lösungen, d. h. Optima nichtlinearer Optimierungsprobleme sind im allgemeinen iterativ. Algorithmus 1.10 (Iteratives Verfahren) 1. Wähle einen Startwert x0 . Setze j := 0. 2. Mache einen Iterationsschritt: xj+1 := X j (xj ). 3. Überprüfe ein Konvergenzkriterium und stoppe ggf. 4. Setze j := j + 1 und gehe zu 2. Definition 1.11 (Konvergenz) Sei k.k eine Norm im Variablenraum. Sei {x0 , x1 , . . .} eine durch das iterative Verfahren 1.10 ohne Schritt 3 berechnete Folge. 1. Die Folge {x0 , x1 , . . .} konvergiert, wenn es ein x∗ gibt mit kxj − x∗ k → 0. 2. Das iterative Verfahren konvergiert lokal gegen ein x∗ , wenn es eine Umgebung U von x∗ gibt, so dass für alle Startwerte x0 ∈ U die Folgen {x0 , x1 , . . .} gegen x∗ konvergieren. 3. Das iterative Verfahren konvergiert global, wenn es für jeden Startwert x0 ein x∗ gibt, so dass die Folge {x0 , x1 , . . .} gegen x∗ konvergiert. KAPITEL 1. NICHTLINEARE OPTIMIERUNGSPROBLEME 11 Fragen zur Konvergenz • Konvergiert ein Verfahren lokal? • Konvergiert ein Verfahren global? Methoden zur Erzielung globaler Konvergenz bei zunächst nur lokal konvergenten Verfahren nennt man Globalisierungsmethoden. Unterscheide: lokale Optima — lokale Konvergenz globale Optima — globale Konvergenz Globale Optimierung — Globalisierungsmethoden • Wie schnell ist die Konvergenz? Definition 1.12 (Konvergenzordnung) Sei {xj } ⊂ Rn die Folge der Iterierten. • {xj } konvergiert gegen ein x∗ ∈ Rn (mindestens) linear, falls ein c ∈ (0; 1) existiert, so dass kxj+1 − x∗ k ≤ ckxj − x∗ k für alle j ∈ N hinreichend groß. • {xj } konvergiert gegen x∗ (mindestens) superlinear, falls eine Nullfolge {cj } ⊂ R+ existiert mit kxj+1 − x∗ k ≤ cj kxj − x∗ k für alle j ∈ N hinreichend groß. • Gilt xj → x∗ , so konvergiert {xj } gegen x∗ (mindestens) quadratisch, falls ein C > 0 existiert mit kxj+1 − x∗ k ≤ Ckxj − x∗ k2 für alle j ∈ N hinreichend groß. Beispiele: • {xj } mit kxj − x∗ k = j j ∗ • {x } mit kx − x k = • {xj } mit kxj − x∗ k = 1 j 2 j konvergiert linear gegen x∗ 1 j konvergiert superlinear gegen x∗ j 1 2 2 konvergiert quadratisch gegen x∗ Bemerkung 1.13 (R-Konvergenz) Die Konvergenzbegriffe aus Definition 1.12 nennt man auch Q-lineare, Q-superlineare und Q-quadratische Konvergenz. Daneben gibt es auch: 12 KAPITEL 1. NICHTLINEARE OPTIMIERUNGSPROBLEME • R-linear :⇐⇒ ∃{aj , j ∈ N}, aj → 0 Q-linear : kxj − x∗ k ≤ aj ∀j ∈ N • R-superlinear :⇐⇒ ∃{aj , j ∈ N}, aj → 0 Q-superlinear : kxj − x∗ k ≤ aj ∀j ∈ N • R-quadratisch :⇐⇒ ∃{aj , j ∈ N}, aj → 0 Q-quadratisch : kxj − x∗ k ≤ aj ∀j ∈ N (Q: quotient“, R: root“) ” ” Dabei gilt: • R-superlineare Konvergenz ist äquivalent zu p lim j kxj − x∗ k = 0 j→∞ • Aus der Q-quadratischen Konvergenz folgt stets R-quadratische Konvergenz, aber nicht umgekehrt (linear, superlinear analog). Schreibweisen für Ableitungen Definition 1.14 Sei f : Rn ⊃ D → R, f ∈ C 2 . Dann ist • f 0 (x) = ∂f ∂x1 ... ∂f ∂xn ∂f ∂x1 die Ableitung, ein Zeilenvektor, • ∇f (x) = f 0 (x)T = ... der Gradient, ein Spaltenvektor, ∂f ∂xn • ∇2 f (x) = ∇(f 0 )(x) = (∇f )0 (x) = metrische Matrix. ∂2f ∂x1 ∂x1 ... .. . ∂2f ∂xn ∂x1 ∂2f ∂x1 ∂xn .. . ... ∂2f ∂xn ∂xn die Hessematrix, eine sym- Definition 1.15 Sei H eine symmetrische Matrix. H ist positiv definit :⇐⇒ H 0 :⇐⇒ xT Hx > 0 ∀x 6= 0. H ist positiv semidefinit :⇐⇒ H 0 :⇐⇒ xT Hx ≥ 0 ∀x. Definition 1.16 Sei g : Rn ⊃ D → Rm , g ∈ C 1 . Dann ist KAPITEL 1. NICHTLINEARE OPTIMIERUNGSPROBLEME ∂g1 ∂x1 ... • g 0 (x) = ... ∂gm ∂x1 ∂g1 ∂x1 .. die Jacobimatrix, . ... ... • ∇g(x) = ... ∂g1 ∂xn ∂g1 ∂xn ∂gm ∂xn ∂gm ∂x1 .. = g 0 (x)T . . ... ∂gm ∂xn 13 Kapitel 2 Unbeschränkte Optimierungsprobleme Wir betrachten Probleme der Form min f (x) (2.1) mit f : Rn → R, f ∈ C 2 . Optimalitätsbedingungen Lemma 2.1 (Eindimensionaler Fall) Sei f : R ⊃ (a; b) → R, f ∈ C 2 . Dann gilt: 1. Wenn x∗ ∈ (a; b) ein lokales Minimum von f ist, dann ist f 0 (x∗ ) = 0 (notwendige Bedingung 1. Ordnung) und f 00 (x∗ ) ≥ 0 (notwendige Bedingung 2. Ordnung). 2. Wenn f 0 (x∗ ) = 0 und f 00 (x∗ ) > 0 für ein x∗ ∈ (a; b), dann ist x∗ ein striktes lokales Minimum (hinreichende Bedingung 2. Ordnung). Beweis. Übungsaufgabe. Satz 2.2 (Notwendige Bedingung 1. und 2. Ordnung für den unbeschränkten Fall) Sei f : Rn → R, f ∈ C 2 . Dann gilt: Wenn x∗ ein lokales Minimum von f ist, ist 1. ∇f (x∗ ) = 0 (notwendige Bedingung 1. Ordnung) und 2. ∇2 f (x∗ ) 0 (notwendige Bedingung 2. Ordnung). Beweis. Sei p ∈ Rn beliebig. Die eindimensionale Funktion f˜(t) := f (x∗ + tp), t ∈ R hat ein lokales Minimum in t = 0. Also gilt nach Lemma 2.1: d 1. f˜0 (0) = dt f (x∗ + tp)t=0 = f 0 (x∗ )p = ∇f (x∗ )T p = 0. Daraus folgt ∇f (x∗ ) = 0, da p beliebig ist. 14 KAPITEL 2. UNBESCHRÄNKTE OPTIMIERUNGSPROBLEME 2. f˜00 (0) = d2 f (x∗ dt2 + tp) 15 = pT ∇2 f (x∗ )p ≥ 0. Also ist ∇2 f (x∗ ) 0. t=0 Satz 2.3 (Hinreichende Optimalitätsbedingung für den unbeschränkten Fall) Sei f : Rn → R, f ∈ C 2 . Sei x∗ ∈ Rn mit ∇f (x∗ ) = 0 und ∇2 f (x∗ ) 0. Dann gilt: x∗ ist ein striktes lokales Minimum von f . Beweis. Es existiert eine Umgebung U von x∗ mit ∇2 f (x) 0 ∀x ∈ U , denn die Eigenwerte hängen stetig von den Matrixeinträgen ab. Entwicklung von f in eine Taylorreihe um x∗ ergibt: 1 f (x) = f (x∗ ) + ∇f (x∗ )T (x − x∗ ) + (x − x∗ )T ∇2 f (x̃)(x − x∗ ) {z } 2| {z } | =0 >0 mit x̃ ∈ U . Daraus folgt: f (x) > f (x∗ ) für x ∈ U , x 6= x∗ . Abstiegsverfahren allgemein • Abstiegsverfahren sind einfache Verfahren und leicht zu implementieren. • Sie sind eine Referenz im Vergleich mit anderen Verfahren im Hinblick auf Implementierbarkeit und Konvergenzverhalten. Algorithmus 2.4 (Konzept der Abstiegsverfahren) 1. Wähle einen Startwert x0 ∈ Rn . j := 0. 2. Bestimme eine Richtung ∆xj ∈ Rn . 3. Bestimme eine Schrittweite αj > 0. 4. Iteriere xj+1 := xj + αj ∆xj . j := j + 1. 5. Gehe zu 2 oder stoppe bei Konvergenz“ oder Abbruch“. ” ” Dabei wird • ∆xj so gewählt, dass entlang xj + α∆xj , α > 0 ein Abstieg möglich ist, • αj > 0 so gewählt, dass entlang der Abstiegsrichtung ein “qualifizierter” Abstieg erfolgt. Die Wahl von αj kann z. B. durch Liniensuche (Linesearch) erfolgen, s. u. Definition 2.5 (Abstiegsrichtung) Sei f : Rn → R und x ∈ Rn . Ein Vektor ∆x ∈ Rn heißt Abstiegsrichtung von f in x, wenn es ein t̄ > 0 gibt mit f (x + t∆x) < f (x) für alle t ∈ (0; t̄]. 16 KAPITEL 2. UNBESCHRÄNKTE OPTIMIERUNGSPROBLEME Lemma 2.6 Sei f : Rn → R stetig differenzierbar, x ∈ Rn und ∆x ∈ Rn mit ∇f (x)T ∆x < 0. Dann ist ∆x eine Abstiegsrichtung von f in x. Beweis. Es gilt f (x + h∆x) − f (x) < 0. h&0 h ∇f (x)T ∆x = lim Also ist für alle hinreichend kleinen h > 0 f (x + h∆x) − f (x) <0 h und ∆x ist damit eine Abstiegsrichtung. Bei Abstiegsverfahren wählt man als Richtung eine Abstiegsrichtung und eine Schrittweite, die den Abstieg bewerkstelligt. Definition 2.7 (Abstiegsverfahren) Seit {x0 , x1 , . . .} eine Folge von Iterierten eines Verfahrens zur Minimierung von f (x), x ∈ Rn . Das Verfahren ist ein Abstiegsverfahren, wenn f (xj+1 ) < f (xj ) für (fast) alle j ∈ N. Steilster Abstieg: Gradientenverfahren Lemma 2.8 (Eigenschaften des Gradienten) Sei f : Rn → R stetig differenzierbar, x ∈ Rn und g = ∇f (x). Dann gilt: 1. g ist die Richtung des steilsten Anstiegs von f in x. 2. Sei ϕ : (a; b) → Rn eine stetig differenzierbare Kurve, die auf einer Höhenlinie von f verläuft: f (ϕ(t)) = konst ∀t ∈ (a; b). Sei t̃ ∈ (a; b) und x̃ = ϕ(t̃). Dann ist ∇f (x̃)T ϕ0 (t̃) = 0, d. h. der Gradient steht senkrecht auf der Höhenlinie {x : f (x) = konst}. Beweis. Übungsaufgabe TODO: Abbildung KAPITEL 2. UNBESCHRÄNKTE OPTIMIERUNGSPROBLEME 17 Gradientenverfahren • Als Richtung ∆xj nimmt man den steilsten Abstieg entlang des negativen Gradienten. • Der Schritt soll die Länge 1 haben: k∆xj k = 1. Taylorentwicklung (Linearisierung): f (xj + ∆xj ) − f (xj ) ≈ ∇f (xj )T ∆xj (2.2) ∆xj ist also die Lösung des Minimierungsproblems min{∇f (xj )T ∆x s.t. k∆xk = 1}. ∆x TODO: Abbildung. Siehe auch Übungsaufgabe. √ Für die euklidische Norm kxk = xT x ist die Lösung ∆xj = − ∇f (xj ) . k∇f (xj )k Algorithmus 2.9 (Gradientenverfahren) Eingabe: Startwert x0 , Abbruchgenauigkeit > 0, ᾱ zur Schrittweitensteuerung. 1. Startwert x0 , j := 0. 2. Berechne f (xj ) und ∇f (xj ). 3. Falls k∇f (xj )k ≤ : STOP. 4. ∆xj := −∇f (xj )/k∇f (xj )k. 5. Liniensuche: Bestimme αj ∈ (0; ᾱ] so, dass f (xj + αj ∆xj ) = min f (xj + α∆xj ). α∈(0;ᾱ] 6. xj+1 := xj + αj ∆xj . 7. j := j + 1, weiter bei 2. Bemerkung 2.10 1. Der Rechenaufwand dieses Verfahrens besteht in den Funktions- und Gradientenauswertungen. 2. Falls f (xj ) oder ∆f (xj ) schon in der Liniensuche des vorherigen Schritts berechnet wurden, entfällt ein Teil von 2. 3. Die Bestimmung der Schrittweite αj lässt sich als Methode zur Bestimmung des Gültigkeitsbereichs der Linearisierung (2.2) verstehen. 4. Statt der exakten“ Liniensuche in Schritt 5. wird in der Praxis oft eine inexakte“ Li” ” niensuche verwendet, s. u. 18 KAPITEL 2. UNBESCHRÄNKTE OPTIMIERUNGSPROBLEME Konvergenz des Gradientenverfahrens Definition 2.11 (Niveaumenge) Die Menge N (x̂) := {x ∈ Rn : f (x) ≤ f (x̂)} heißt Niveaumenge von f zum Punkt x̂. Satz 2.12 Sei x0 ∈ Rn beliebig und die Niveaumenge N (x0 ) sei kompakt. Dann existiert ein Häufungspunkt x∗ der Folge {x0 , x1 , . . .}, die vom Gradientenverfahren (ohne Abbruch) berechnet wurde, und ∇f (x∗ ) = 0, oder es ist ∇f (xj ) = 0 für ein xj . Beweis. Es gilt: f (xj+1 ) ≤ f (xj ) ∀j, daher ist {xj } ⊂ N (x0 ). Also existiert ein Häufungspunkt 0 x∗ ∈ N (x0 ) und eine konvergente Teilfolge xj → x∗ mit 0 0 0 0 0 0 f (x∗ ) ≤ f (xj +1 ) = f (xj − αj ∇f (xj )/k∇f (xj )k) ≤ f (xj ). Sei ∇f (xj ) 6= 0 ∀j. Annahme: ∇f (x∗ ) 6= 0. Dann haben wir Abstieg in x∗ : Es existiert ein α∗ > 0 und δ > 0, so dass f (x∗ − α∗ ∇f (x∗ )/k∇f (x∗ ))k) = f (x∗ ) − α∗ ∇f (x∗ )T ∇f (x∗ )/k∇f (x∗ )k + O(kα∗ k2 ) ≤ f (x∗ ) − δ. Weil aber f und ∇f stetig sind, gilt auch δ 0 0 0 f (|{z} xj −α∗ ∇f (xj ) /k ∇f (xj ) k) ≤ f (x∗ ) − | {z } {z } | 2 ∗ →x →∇f (x∗ ) →∇f (x∗ ) für fast alle j 0 . Damit ist 0 0 0 f (xj − α∗ ∇f (xj )/k∇f (xj )k) ≤ f (x∗ ) − δ 0 0 0 0 < f (x∗ ) ≤ f (xj − αj ∇f (xj )/k∇f (xj )k). 2 0 Das steht im Widerspruch zur Minimalität von αj in der Linesearch in Schritt j 0 . TODO: Abbildung Steilster Abstieg, Zickzack-Konvergenz Lemma 2.13 Für das Gradientenverfahren mit exakter Liniensuche gilt: T ∆xj+1 ∆xj = 0 ∀j. Beweis. Wegen f (xj + αj ∆xj ) = min f (xj + α∆xj ) α ist d j j 0= f (x + α∆x ) = ∇f (xj+1 )T ∆xj . dα α=αj Im Gradientenverfahren ist ∇f (xj+1 ) j+1 ∆x =− . k∇f (xj+1 )k Es folgt ∇f (xj+1 )T ∆xj T = 0. ∆xj+1 ∆xj = − k∇f (xj+1 )k KAPITEL 2. UNBESCHRÄNKTE OPTIMIERUNGSPROBLEME 19 Konvergenzgeschwindigkeit Die Orthogonalität aufeinanderfolgender Schritte kann zu einer langsamen Zickzack-Konvergenz in der Nähe des Minimums führen. In der Nähe des Minimums 1 f (x) = f (x∗ ) + ∇f (x∗ )T (x − x∗ ) + (x − x∗ )T ∇2 f (x∗ )(x − x∗ ) + O(kx − x∗ k3 ) | {z } | {z } 2 0 =0 sieht f für den Algorithmus quadratisch aus. Für die Untersuchung der Asymptotik reicht es aus, folgendes Problem zu betrachten: 1 min xT Ax 2 mit A 0 positiv definit. Lemma 2.14 Bei exakter Liniensuche gilt für f (x) = ∇f (xj ) = Axj : 1 T x Ax 2 mit A positiv definit, g j := T 1. xj+1 = xj − gj gj j g g j T Ag j 2. f (xj+1 ) = 1 − jT j 2 g g j f (x ) T T −1 j j j j g Ag g A g Beweis. 1. gj mit αj aus exakter Linesearch j kg k d d 1 0= f (xj + α∆xj ) = (xj + α∆xj )T A(xj + α∆xj ) dα dα 2 α=αj α=αj d 1 T T T T = = ∆xj Axj + αj ∆xj A∆xj α∆xj Axj + α2 ∆xj A∆xj dα 2 α=αj xj+1 = xj − αj T T ∆xj Axj kg j kg j g j kg j k3 α =− = = ∆xj T A∆xj g j T Ag j g j T Ag j j T x j+1 gj gj j =x − T g g j Ag j j 20 KAPITEL 2. UNBESCHRÄNKTE OPTIMIERUNGSPROBLEME 2. 1 2 T T f (xj+1 ) = f (xj + αj ∆xj ) = f (xj ) + αj ∆xj Axj + αj ∆xj A∆xj 2 jT jT j g 1 2 g Ag = f (xj ) − αj j g j + αj kg k 2 kg j k2 2 2 2 T jT j jT j g g g g gj gj 1 1 = f (xj ) − + = f (xj ) − T T 2 g j Ag j 2 g j T Ag j g j Ag j T T T g j A−1 g j = xj AA−1 Axj = xj Axj = 2f (xj ) 2 2 jT j jT j g g 1 g g 2f (xj ) j · = f (xj+1 ) = f (xj ) − 1− f (x ) T T T T 2 g j Ag j g j A−1 g j g j Ag j g j A−1 g j g j = Axj , Lemma 2.15 (Ungleichung von Kantorovich) Sei A positiv definit. Dann gilt für alle x 6= 0: 2 xT x 4λmin λmax ≥ , T T −1 (x Ax) (x A x) (λmin + λmax )2 wobei λmin und λmax der kleinste und der größte Eigenwert von A sind. Beweis. Seien 0 < λmin = λ1 ≤ . . . ≤ λn = λmax die Eigenwerte und u1 , u2 , . . . , un paarweise orthonormale Eigenvektoren von A. Sei x ∈ Rn , x 6= 0 beliebig, aber fest. Da die u1 , u2 , . . . , un eine Basis des Rn bilden, existiert eine Darstellung der Form x= n X βi ui mit i=1 n X βi2 > 0. i=1 Wegen der Orthonormalität der ui gilt 2 xT x =n F (x) := T P (x Ax) (xT A−1 x) n P βi2 2 i=1 λi βi2 i=1 n P 2 λ−1 i βi . i=1 1 βi2 n . wird daraus F (x) = n Mit γi := P n P P −1 2 βj λi γi λi γi j=1 Sei λ̄ := n X λi γi . Wegen γi ≥ 0 und i=1 i=1 n X i=1 γi = 1 ist λ̄ eine Konvexkombination der Eigenwerte i=1 von A. Deshalb ist λ1 ≤ λ̄ ≤ λn . Wir betrachten im R2 die Punkte Pi := λi , λ−1 i und Q := λ̄, n X i=1 ! λ−1 i γi . Die Punkte P1 , . . . , Pn liegen auf dem Graphen der Funktion r : R+ → R : λ 7→ r(λ) = λ−1 . Wegen r00 (λ) > KAPITEL 2. UNBESCHRÄNKTE OPTIMIERUNGSPROBLEME 21 0 für alle λ > 0 ist r strikt konvex. TODO: Abbildung. Also liegen die Punkte P2 , . . . , Pn−1 n X nicht oberhalb der Geraden durch P1 und Pn . Der Punkt Q liegt wegen Q = γi Pi und γi ≥ 0, n X i=1 γi = 1 in der konvexen Hülle von {P1 , . . . , Pn } und somit ebenfalls nicht oberhalb i=1 der Geraden g durch P1 und Pn : λ1 + λn − λ , g(λ) = λ1 λn g(λ̄) ≥ n X λ−1 i γi i=1 Daraus folgt: 1 F (x) = λ̄ n P λ−1 i γi ≥ λ1 λn 4λ1 λn λ1 λn ≥ min . = λ1 ≤λ≤λn λ (λ1 + λn − λ) λ̄ λ1 + λn − λ̄ (λ1 + λn )2 i=1 Satz 2.16 (Konvergenz des Gradientenverfahrens) Das Gradientenverfahren konvergiert linear 2 λmax − λmin j+1 f (x ) ≤ f (xj ) λmax + λmix und es gilt 1 λmax − λmin j+1 j+1 2 kxj kA kx kA := kA x k2 ≤ λmax + λmin Falls also λmin λmax , ist die Konvergenzrate nahe bei 1 und das Verfahren konvergiert nur sehr langsam: λmax − λmin 2 κ(A) − 1 =1− = λmax + λmin κ(A) + 1 κ(A) + 1 λmax mit κ(A) = Kondition von A. λmin Beweis. Aus Lemma 2.14 und der Ungleichung von Kantorovich folgt: (λmax − λmin )2 4λmax λmin j j j+1 f (x ) = f (x ) ≤ 1 − 2 2 f (x ) (λmax + λmin ) (λmax + λmin ) 1 1 1 1 1 f (xj+1 ) = (xj+1 )T Axj+1 = (xj+1 )T A 2 A 2 xj+1 = kxj+1 k2A 2 2 2 p p λ − λ λmax − λmin max min j+1 j+1 j kx kA = 2f (x ) ≤ 2f (x ) = kxj kA . λmax + λmin λmax + λmin Bemerkung 2.17 Aus ∇f (x∗ ) = 0 folgt 1 f (x) = f (x∗ ) + (x − x∗ )T ∇2 f (x∗ )(x − x∗ ) + O(kx − x∗ k3 ) 2 Die Aussage von Satz 2.16 gilt allgemein, wenn man für λmax und λmin den größten und kleinsten Eigenwert von ∇2 f (x∗ ) nimmt. 22 KAPITEL 2. UNBESCHRÄNKTE OPTIMIERUNGSPROBLEME Backtracking-Linesearch Linesearch: Minimiere f entlang der Abstiegsrichtung ∆xj : f (xj + αj ∆xj ) = min f (xj + α∆xj ) α>0 Exakte Linesearch: Bestimme das (globale) Minimum. Inexakte Linesearch: Bestimme ein αj , das bestimmte Bedingungen erfüllt, z. B. • Sufficient Decrease (d. h. Schritt nicht zu groß): f (xj + αj ∆xj ) ≤ f (xj ) + c1 · αj · ∇f (xj )T ∆xj für eine Konstante c1 ∈ (0; 1). D. h. der realisierte Abstieg ist proportional zu αj und zur Richtungsableitung ∇f (xj )T ∆xj < 0. • Schritt nicht zu klein. Eine einfache Methode, diese beiden Bedingungen zu erfüllen, ist die Backtracking-Linesearch. Algorithmus 2.18 (Backtracking-Linesearch) • Wähle α > 0, ρ, c ∈ (0; 1). • Wiederhole bis f (xj + α∆xj ) ≤ f (xj ) + c · α · ∇f (xj )T ∆xj : α := ρ · α. • αj := α. Mehr zu Linesearch-Methoden in Kapitel 4. Kapitel 3 Konjugierte Gradienten (CG-)Methoden Lineare CG-Verfahren Sei A ∈ Rn×n positiv definit. Betrachte das quadratische Minimierungsproblem 1 min xT Ax − bT x =: φ(x) 2 (3.1) Der Gradient der Zielfunktion ist ∇φ(x) = Ax − b =: r(x) ( Residuum“) ” Im Minimum x∗ gilt: Ax∗ = b (3.2) Umgekehrt: Für x∗ mit Ax∗ = b ist φ(x∗ ) minimal, den die hinreichende Bedingung ist erfüllt. Das quadratische Problem (3.1) und das lineare Gleichungssystem (3.2) sind also äquivalent. Wir wollen Problem (3.1) bzw. (3.2) nun iterativ lösen ohne vollständiges Abspeichern oder gar Zerlegen von A, vielmehr durch Auswertung nur von Matrix-Vektor-Produkten mit A. Damit ist das Verfahren 1. geeignet für große lineare Gleichungssysteme bzw. QPs, 2. anwendbar auf nichtlineare Optimierungsprobleme. Ansatz für das Verfahren: Verwende konjugierte“ Richtungen. ” Definition 3.1 (Konjugiertheit) Eine Menge von Vektoren {p0 , p1 , . . . , pl } heißt konjugiert bzgl. der symmetrischen, positiv definiten Matrix A, falls pi 6= 0, i = 0, . . . , l und T pi Apj = 0 für alle i 6= j. 23 (3.3) 24 KAPITEL 3. KONJUGIERTE GRADIENTEN (CG-)METHODEN Bemerkung 3.2 Konjugierte Vektoren sind linear unabhängig. Beweis. Übungsaufgabe. Algorithmus 3.3 (Konjugierte-Richtungen-Methode) 1. Wähle einen Startwert x0 ∈ Rn und eine Menge {p0 , p1 , . . . , pn−1 } von konjugierten Richtungen. 2. Für j = 0, 1, . . . , n − 1 berechne rj := Axj − b und xj+1 := xj + αj pj mit (3.4) T r j pj . α =− T pj Apj j Bemerkung 3.4 α∗ = − (3.5) (Ax − b)T p ist das Minimum der eindimensionalen Funktion φ(x + pT Ap αp). Beweis. Aus d φ(x + αp) = ∇φ(x + α∗ p)T p = (Ax − b)T p + α∗ pT Ap = 0 dα ∗ α=α folgt α∗ = − (Ax − b)T p . pT Ap Satz 3.5 Für beliebiges x0 ∈ Rn konvergiert die Folge {xj }, die durch die Konjugierte-Richtungen-Methode berechnet wird, in höchstens n Schritten gegen die Lösung des linearen Systems (3.2). Beweis. • Weil die Richtungen pi , i = 0, . . . , n − 1 linear unabhängig sind, spannen sie den gesamten Rn auf. Deshalb gibt es σi , i = 0, . . . , n − 1, so dass x∗ − x0 = σ0 p0 + . . . + σn−1 pn−1 . T Multipliziere mit pj A und wende die Konjugiertheitsbedingung (3.3) an: T T pj A(x∗ − x0 ) = σj pj Apj . KAPITEL 3. KONJUGIERTE GRADIENTEN (CG-)METHODEN 25 • Wenn xj durch Algorithmus 3.3 berechnet wurde, ist xj = x0 + α0 p0 + . . . + αj−1 pj−1 und T pj A(xj − x0 ) = 0. Daher folgt T T T T T T pj A(x∗ − x0 ) = pj A(x∗ − xj ) + pj A(xj − x0 ) = pj (b − Axj ) = −pj rj = αj (pj Apj ). Daraus folgt σj = αj und x∗ = x0 + α0 p0 + . . . + αn−1 pn−1 . Beispiel 3.6 A Diagonalmatrix Die Höhenlinien von φ sind Ellipsen, deren Achsen parallel zu den Koordinatenachsen sind: TODO: Abbildung achsenparallele Ellipsen Das Minimum kann durch eindimensionale Minimierungen entlang der Koordinatenachsen bestimmt werden. Wenn A nicht diagonal ist, sind die Achsen nicht mehr entlang der Koordinatenachsen ausgerichtet. TODO: Abbildung Ellipsen Das Minimum wir dann nicht in n Schritten entlang der Koordinatenachsen erreicht. Aber wir können das Problem transformieren: x̂ = S −1 x mit S = p0 p1 · · · pn−1 ∈ Rn×n mit konjugierten Richtungen p0 , p1 , . . . , pn−1 bzgl. A: 1 φ̂(x̂) = φ(x) = φ(S x̂) = x̂T (S T AS)x̂ − (S T b)T x̂. 2 Wegen der Konjugiertheit ist S T AS diagonal und n Schritte entlang der x̂-Koordinatenachsen erreichen x∗ . Diese korrespondieren zu n Schritten entlang pi im x-Raum. Für diagonales A bestimmt jeder Schritt eine Komponente von x∗ . Dies kann man verallgemeinern. Dazu benutzen wir Bemerkung 3.7 rj+1 = Axj+1 − b = A(xj + αj pj ) − b = Axj − b + αj Apj = rj + αj Apj . (3.6) Satz 3.8 (Expanding Subspace Minimierung) Sei x0 ∈ Rn ein beliebiger Startwert und sei die Folge {xj } durch Algorithmus 3.3 berechnet. Dann gilt T rj pi = 0 für i = 0, . . . , j − 1 (3.7) und xj minimiert φ(x) = 12 xT Ax − bT x über x0 + Span{p0 , . . . , pj−1 }. (3.8) 26 KAPITEL 3. KONJUGIERTE GRADIENTEN (CG-)METHODEN Beweis. • Zeige: x̃ minimiert φ über (3.8) genau dann, wenn r(x̃)T pi = 0 für alle i = 0, . . . , j − 1. Sei σ := σ0 . . . σj−1 T und h(σ) := φ(x0 + σ0 p0 + . . . + σj−1 pj−1 ). h(σ) ist strikt konvex quadratisch, daher hat es ein eindeutiges Minimum σ ∗ mit ∂h ∗ (σ ) = 0, ∂σi i = 0, . . . , j − 1. Nach der Kettenregel ist 0= ∂h ∗ ∗ (σ ) = ∇φ(x0 + σ0∗ p0 + . . . σj−1 pj−1 )T pi , ∂σi i = 0, . . . , j − 1. ∗ pj−1 erfüllt damit r(x̃)T pi = 0, i = 0, . . . , j − 1. x̃ := x0 + σ0∗ p0 + . . . σj−1 • Zeige (3.7) durch Induktion über j. Für j = 1 gilt x1 = x0 + α0 p0 minimiert φ entlang p0 . Daraus folgt T ∇φ(x1 )T p0 = r1 p0 = 0. T Gelte rj−1 pi = 0 für i = 0, . . . , j − 2. Dann ist nach (3.6) rj = rj−1 + αj−1 Apj−1 und nach Definition von αj−1 T T T pj−1 rj = pj−1 rj−1 + αj−1 pj−1 Apj−1 = 0. Für pi , i = 0, . . . , j − 2 gilt mit (3.6) T pi r j = T pi rj−1 | {z } +αj−1 =0 (Induktionsannahme) T pi Apj−1 | {z } =0 =0 (Konjugiertheit) Induktionsschluß. Bis jetzt: beliebige Wahl konjugierter Richtungen. Ansätze zur Bestimmung konjugierter Richtungen: • Eigenvektoren von A → Berechnung viel zu teuer. • Modifizierte Gram-Schmidt-Orthogonalisierung → benötigt Abspeichern aller Richtungen, sehr aufwändig (siehe Übungsaufgabe). KAPITEL 3. KONJUGIERTE GRADIENTEN (CG-)METHODEN 27 Konjugierte Gradienten Methode Generiere eine Menge von konjugierten Vektoren, wobei pj nur aus pj−1 bestimmt wird. Die alten Vektoren p0 , . . . , pj−2 müssen nicht gespeichert werden. pj ist eine Linearkombination aus −rj = −∇φ(xj ) (Richtung des steilsten Abstiegs) und pj−1 : pj = −rj + β j pj−1 . β j ergibt sich aus der Konjugiertheit: T 0=p j−1 T j Ap = −p j−1 T j j−1 T j Ar + β p Ap j−1 rj Apj−1 ⇒β = . pj−1 T Apj−1 j Für p0 wählt man den steilsten Abstieg in x0 : p0 = −r0 . In jedem Schritt macht man außerdem eine eindimensionale Minimierung entlang pj zur Bestimmung der Schrittweite αj , siehe (3.5). Algorithmus 3.9 (CG-Verfahren, Version 1) 1. Wähle Startwert x0 , setze r0 := Ax0 − b, p0 := −r0 , j := 0. 2. Solange rj 6= 0: Schrittweite: T r j pj α := − T pj Apj j neue Iterierte: xj+1 := xj + αj pj neuer Gradient: rj+1 := Axj+1 − b Faktor für Linearkombination: T β j+1 := rj+1 Apj pj T Apj neue Richtung: pj+1 := −rj+1 + β j+1 pj j := j + 1 Definition 3.10 (Krylov-Unterraum) κ(r0 ; j) := Span{r0 , Ar0 , . . . , Aj r0 } ist der Krylov-Unterraum vom Grad j für r0 zu A. (Hier und im folgenden: A hoch j“.) ” 28 KAPITEL 3. KONJUGIERTE GRADIENTEN (CG-)METHODEN Satz 3.11 Sei die j-te Iterierte des CG-Verfahrens (Algorithmus 3.9) nicht der Lösungspunkt x∗ . Dann gilt: T 1. rj ri = 0 für i = 0, 1, . . . , j − 1, 2. Span{r0 , r1 , . . . , rj } = Span{r0 , Ar0 , . . . , Aj r0 }, 3. Span{p0 , p1 , . . . , pj } = Span{r0 , Ar0 , . . . , Aj r0 }, T 4. pj Api = 0 für i = 0, 1, . . . , j − 1. Beweis. Induktion über j für 2., 3., 4. Induktionsanfang: j = 0: 2., 3. trivial. 4. gilt für j = 1 nach Konstruktion von β 1 . Induktionsannahme: Gelte 2., 3., 4. für j. Induktionsschritt: Zeige: 2., 3., 4. gelten für j + 1. • rj ∈ Span{r0 , Ar0 , . . . , Aj r0 } wegen 2. für j, pj ∈ Span{r0 , Ar0 , . . . , Aj r0 } wegen 3. für j. Apj ∈ Span{Ar0 , . . . , Aj+1 r0 }. rj+1 := rj + αj Apj wegen (3.6). Daraus folgt rj+1 ∈ Span{r0 , Ar0 , . . . , Aj+1 r0 } und Span{r0 , . . . , rj+1 } ⊆ Span{r0 , Ar0 , . . . , Aj+1 r0 }. • Aj+1 r0 = A(Aj r0 ) ∈ Span{Ap0 , Ap1 , . . . , Apj } wegen 3. für j. i+1 i Api = r αi−r für i = 0, 1, . . . , j wegen (3.6). Also ist Aj+1 r0 ∈ Span{r0 , . . . , rj+1 }. Daraus folgt Span{r0 , . . . , Aj+1 r0 } ⊆ Span{r0 , . . . , rj+1 }. Daraus folgt 2. für j + 1. • Span{p0 , . . . , pj , pj+1 } = Span{p0 , . . . , pj , rj+1 } wegen Berechn. der neuen Richtung, = Span{r0 , Ar0 , . . . , Aj r0 , rj+1 } wegen 3. für j, = Span{r0 , r1 , . . . , rj , rj+1 } wegen 2. für j, = Span{r0 , Ar0 , . . . , Aj+1 r0 } wegen 2. für j + 1. Daraus folgt 3. für j + 1. T T T • pj+1 = −rj+1 + β j+1 pj . Daraus folgt pj+1 Api = −rj+1 Api + β j+1 pj Api = 0 für i = j nach Konstruktion von β j+1 . Für i ≤ j − 1: Nach Induktionsannahme sind p0 , . . . , pj konjugiert. Nach Satz 3.8 ist T rj+1 pi = 0 für i = 0, . . . , j. Aus 3. folgt für i = 0, . . . , j−1: Api ∈ A Span{r0 , Ar0 , . . . , Ai r0 } = Span{Ar0 , A2 r0 , . . . , Ai+1 r0 } ⊂ Span{p0 , p1 , . . . , pi+1 }. T Daraus folgt rj+1 Api = 0 für i = 0, . . . , j − 1. T T T Also ist pj+1 Api = − rj+1 Api +β j+1 pj Api = 0 für i = 0, . . . , j − 1. | {z } | {z } =0 =0 (∗) ((*) gilt Induktionsannahme) Induktionsschluss. Zu zeigen bleibt 1. T rj pi = 0 für i = 0, . . . , j − 1, j = 1, . . . , n − 1 nach (3.7). ri = −pi + β i pi−1 . Daraus folgt ri ∈ Span{pi , pi−1 } für i = 1, . . . , j − 1. T Daraus folgt rj ri = 0 für i = 1, . . . , j − 1. T T rj r0 = −rj p0 = 0 nach Definition von p0 . Wichtig im Beweis: p0 = −r0 . KAPITEL 3. KONJUGIERTE GRADIENTEN (CG-)METHODEN 29 Korollar 3.12 Für A ∈ Rn×n konvergiert die Folge {xj } der durch das CG-Verfahren berechneten Iterierten gegen die Lösung x∗ in höchstens n Schritten. Beweis. Wegen der Konjugiertheit der pj kann Satz 3.5 angewendet werden. Bemerkung 3.13 Zum Namen: Konjugierte Gradienten“ ist eine falsche Benennung. Die ” Gradienten sind orthogonal. Die Suchrichtungen sind konjugiert. Umformungen: T αj = − T T r j pj rj (rj − β j pj−1 ) rj rj = = pj T Apj pj T Apj pj T Apj und nach (3.6) T j j α Ap = r j+1 −r j =⇒ β j+1 T rj+1 rj+1 rj+1 Apj = = pj T Apj rj T rj Algorithmus 3.14 (CG-Verfahren, Standardform) 1. Wähle Startwert x0 , setze r0 := Ax0 − b, p0 := −r0 , j := 0. 2. Solange rj 6= 0: T rj rj pj T Apj := xj + αj pj αj := − xj+1 rj+1 := rj + αj Apj T rj+1 rj+1 β := rj T rj j+1 p := −rj+1 + β j+1 pj j := j + 1 j+1 Bemerkung 3.15 1. Die Vektoren x, r und p werden nur in der aktuellen Iteration benötigt und können sofort mit neuen Werten überschrieben werden. 2. Der Hauptrechenaufwand besteht in dem Matrix-Vektor-Produkt Api . Zusätzlich sind die T T inneren Produkte pj (Apj ) und rj+1 rj+1 und drei Additionen von Vektoren auszuwerten. 30 KAPITEL 3. KONJUGIERTE GRADIENTEN (CG-)METHODEN Konvergenzrate des CG-Verfahrens Nach Satz 3.11 ist xj+1 = xo + α0 p0 + α1 p1 + . . . + αj pj = x0 + γ 0 r0 + γ 1 Ar0 + . . . γ j Aj r0 = x0 + γ 0 I + γ 1 A + . . . γ j Aj r0 für Konstanten γ j . (Hier und im folgenden: A hoch j“.) ” Sei Pj∗ (.) das Polynom vom Grad j mit Koeffizienten γ i , i = 0, . . . , j: Pj∗ (A) = γ 0 I + γ 1 A + . . . + γ j Aj Dann ist xj+1 = x0 + Pj∗ (A)r0 . (3.9) Betrachte die Norm kzk2A := z T Az. Sei x∗ Minimum von φ(x) = 21 xT Ax − bT x. Dann ist 1 1 kx − x∗ k2A = (x − x∗ )T A(x − x∗ ) = φ(x) − φ(x∗ ), 2 2 denn 21 (x − x∗ )T A(x − x∗ ) − φ(x) + φ(x∗ ) = (x − x∗ )T (Ax∗ − b) = 0. xj+1 minimiert φ und damit auch kx − x∗ k2A über die Menge x0 + Span{p0 , . . . , pj } nach Satz 3.8 = x0 + Span{r0 , Ar0 , . . . , Aj r0 } nach Satz 3.11. Das heißt Pj∗ minimiert min kx0 + Pj (A)r0 − x∗ kA Pj (3.10) (Minimum über alle Polynome vom Grad j). Es ist r0 = Ax0 − b = Ax0 − Ax∗ = A(x0 − x∗ ), xj+1 − x∗ = x0 + Pj∗ (A)r0 − x∗ = (I + Pj∗ (A)A)(x0 − x∗ ). Seien 0 < λ1 ≤ λ2 ≤ . . . ≤ λn die Eigenwerte von A und v1 , . . . , vn zugehörige orthonormale Eigenvektoren: n X A= λi vi viT . i=1 In der Basis von Eigenvektoren sei 0 ∗ x −x = n X ξi vi . i=1 Aus Avi = λi vi folgt Pj (A)vi = Pj (λi )vi , i = 1, . . . , n. KAPITEL 3. KONJUGIERTE GRADIENTEN (CG-)METHODEN Also: x j+1 ∗ − x = (I + Pj∗ (A)A) n X n X ξi vi = (1 + Pj∗ (λi )λi )ξi vi . i=1 Sei kzk2A T = z Az = n X 31 i=1 λi (viT z)2 . Dann ist i=1 kxj+1 − x∗ k2A = n X viT λi i=1 = n X n X !2 (1 + Pj∗ (λk )λk )ξk vk k=1 λi (1 + Pj∗ (λi )λi )2 ξi2 (viT vk = δik ) i=1 = min Pj n X λi (1 + Pj (λi )λi )2 ξi2 i=1 ≤ min max (1 + Pj (λi )λi )2 n X Pj i=1,...,n ! λk ξk2 k=1 0 = min max (1 + Pj (λi )λi ) kx − x∗ k2A 2 Pj i=1,...,n Also ist min max (1 + Pj (λi )λi )2 ≥ 0 (3.11) Pj i=1,...,n die Konvergenzrate des CG-Verfahrens. Satz 3.16 Wenn A nur l verschiedene Eigenwerte hat, terminiert die CG-Iteration in höchstens l Iterationen. Beweis. Seien τ1 < τ2 < . . . < τl die verschiedenen Werte der Eigenwerte. Definiere ein Polynom Ql (λ) := (−1)l (λ − τ1 ) . . . (λ − τl ). τ1 τ2 . . . τl Es ist Ql (τi ) = 0, i = 1, . . . , l und Ql (0) = 1. Also ist Ql (λ) − 1 ein Polynom l-ten Grades mit Nullstelle λ = 0. Polynomdivision: P̄l−1 (λ) = (Ql (λ) − 1)/λ ist ein Polynom (l − 1)-ten Grades. Sei j := l − 1 in (3.11): 0 ≤ min max (1 + Pl−1 (τi )τi )2 ≤ max (1 + P̄l−1 (τi )τi )2 = max Ql (τi )2 = 0. Pl−1 i=1,...,l i=1,...,l i=1,...,l Daraus folgt kxl − x∗ k2A = 0 und xl = x∗ . Satz 3.17 Wenn A die Eigenwerte λ1 ≤ . . . ≤ λn hat, gilt 2 λn−j − λ1 j+1 ∗ 2 kx − x kA ≤ kx0 − x∗ k2A . λn−j + λ1 32 KAPITEL 3. KONJUGIERTE GRADIENTEN (CG-)METHODEN Beweis. Siehe Buch von Luenberger, Ye: Linear and Nonlinear Programming, Springer. Beispiel 3.18 (Geclusterte Eigenwerte) A habe m große und n−m kleine Eigenwerte ≈ 1. Nach m + 1 CG-Schritten: kxm+1 − x∗ k2A ≈ εkx0 − x∗ k2A (ε klein). TODO: Abbildung Die Kondition von A ist κ(A) = kAk2 kA−1 k2 = λn . λ1 Satz 3.19 kxj − x∗ kA ≤ 2 !j p κ(A) − 1 p kx0 − x∗ kA κ(A) + 1 Präkonditionierung Transformiere das lineare System, um die Eigenwertverteilung zu verändern. Das ergibt eine Beschleunigung der CG-Methode. x̂ = Cx, C regulär. 1 φ̂(x̂) = φ(x) = φ(C −1 x̂) = x̂T (C −T AC −1 )x̂ − (C −T b)T x̂ 2 bzw. (C −T AC −1 )x̂ = C −T b. Die Konvergenzrate hängt von den Eigenwerten von C −T AC −1 ab. Wähle C so, dass die Kondition von C −T AC −1 viel kleiner als die von A ist. Nichtlineare CG-Methoden Wir betrachten nun min f (x), wobei f eine allgemeine konvexe oder eine allgemeine nichtlineare C 2 -Funktion ist. KAPITEL 3. KONJUGIERTE GRADIENTEN (CG-)METHODEN 33 Die Fletcher-Reeves-Methode Zwei einfache Änderungen gegenüber Algorithmus 3.14: • Linesearch statt Minimierung einer quadratischen Funktion zur Bestimmung der Schrittweite αj , • ersetze das Residuum r durch den Gradienten ∇f der nichtlinearen Funktion. Algorithmus 3.20 (Fletcher-Reeves) 1. Startwert x0 . Berechne f 0 := f (x0 ) und ∇f 0 := ∇f (x0 ). Setze p0 := −∇f 0 , j := 0. 2. Solange ∇f j 6= 0: Berechne αj durch Linesearch entlang xj + αpj . Berechne xj+1 := xj + αj pj . Berechne f j+1 := f (xj+1 ) und ∇f j+1 := ∇f (xj+1 ). T Berechne βFj+1 R := ∇f j+1 ∇f j+1 . ∇f j T ∇f j j Berechne pj+1 := −∇f j+1 + βFj+1 Rp . Setze j := j + 1. (f j wird in der Linesearch benötigt.) Für f (x) = 12 xT Ax − bT x, A 0, und α exaktes Minimum ist dies das CG-Verfahren aus Algorithmus 3.14. In jeder Iteration wird nur die Zielfunktion und ihr Gradient ausgewertet. Keine MatrixOperationen sind nötig, es müssen nur wenige Vektoren gespeichert werden. Das Verfahren ist also geeignet für große Probleme. Bestimmung von αj T T ∇f j pj = −k∇f j k2 + βFj R ∇f j pj−1 < 0: Abstieg T Exakte Linesearch: αj−1 minimiert f entlang xj−1 + αpj−1 . Daraus folgt: ∇f j pj−1 = 0, daher T ist ∇f j pj < 0. T Inexakte Linesearch: vermeide ∇f j pj > 0 durch Bedingungen an die Schrittweite αj : T • f (xj + αj pj ) ≤ f (xj ) + c1 αj ∇f j pj T • |∇f (xj + αj pj )T pj | ≤ −c2 ∇f j pj (Starke Wolfe-Bedingungen) mit 0 < c1 < c2 < 12 . Siehe Kapitel 4. 34 KAPITEL 3. KONJUGIERTE GRADIENTEN (CG-)METHODEN Varianten Andere Wahl von β j+1 . Polak-Ribière (PR): T ∇f j+1 (∇f j+1 − ∇f j ) k∇f j k2 Wenn f strikt konvex quadratisch und die Linesearch exakt ist, gilt βPj+1 R = j+1 βPj+1 R = βF R , T weil dann ∇f j+1 ∇f j = 0 (Satz 3.11). Für PR können die starken Wolfe-Bedingungen keinen Abstieg garantieren, jedoch für PR+: j+1 βPj+1 R+ = max{βP R , 0}. In der Praxis ist PR robuster und effizienter als Fletcher-Reeves (FR). Hestens-Stiefel (HS): T j+1 βHS ∇f j+1 (∇f j+1 − ∇f j ) = (∇f j+1 − ∇f j )T pj stimmt wegen Satz 3.8 für f strikt konvex quadratisch und exakte Linesearch mit βFj+1 R überein. Sei j 1 Z ∇2 f (xj + τ αj pj )dτ Ḡ := 0 die durchschnittliche Hessematrix von f auf der Strecke zwischen xj und xj+1 . Dann gilt: ∇f j+1 − ∇f j = αj Ḡj pj und für j+1 j pj+1 = −∇f j+1 + βHS p und T j+1 βHS ∇f j+1 αj Ḡj pj = (αj Ḡj pj )T pj folgt T T T j+1 j pj+1 Ḡj pj = −∇f j+1 Ḡj pj + βHS p Ḡj pj = 0, d. h. die Konjugiertheit von pj+1 und pj bzgl. Ḡj . Später sehen wir: globale Konvergenz für |β j | ≤ βFj R . Daher verwendet man die Modifiziere PR-Methode (FR–PR): Für j ≥ 2: j j j −βF R , falls βP R < −βF R , β j = βPj R , falls |βPj R | ≤ βFj R , j βF R , falls βPj R > βFj R . D. h. verwende das robustere und effizientere PR, solange es globale Konvergenz garantiert, ansonsten FR. Andere Varianten: KAPITEL 3. KONJUGIERTE GRADIENTEN (CG-)METHODEN k∇f j+1 k2 , (∇f j+1 − ∇f j )T pj T j 2 ∇f j+1 j j kŷ k = ŷ − 2p j T j (ŷ ) p (ŷ j )T pj 35 • β j+1 = • β j+1 mit ŷ j = ∇f j+1 − ∇f j . Neustart-Strategien Neustart alle n Iterationen durch Wahl von β j = 0, d. h. Steilster-Abstieg-Schritt in dieser Iteration. Bemerkung: In der Nähe eines strikten lokalen Minimums ist f so gut wie strikt konvex quadratisch. Wenn die Iterierten konvergieren, kommen sie irgendwann in diese Nähe. Dann wird irgendwann der Algorithmus neugestartet und verhält sich ab dann fast wie das lineare CGVerfahren. Wir können zwar nicht endliche Terminierung in n Schritten erwarten, aber wesentlichen Fortschritt hin zur Lösung. In der Praxis sind solche Neustarts im allgemeinen nicht so wichtig, da wir hoffen, dass das Verfahren für große n in wesentlich weniger als n Schritten konvergiert“. ” Andere Neustart-Strategie: Neustart, wenn zwei folgende Gradienten weit entfernt von orthogonal sind: T ∇f j ∇f j−1 ≥ ν ≈ 0.1. k∇f j k2 Verhalten der Fletcher-Reeves-Methode Annahme 3.21 Sei f zweimal stetig differenzierbar und die Niveaumenge N (x) = {x : f (x) ≤ f (x0 )} sei beschränkt. Dann existiert eine Schrittlänge αj , die die starken Wolfe-Bedingungen erfüllt, siehe Lemma 4.2 in Kapitel 4. Lemma 3.22 Sei Algorithmus 3.20 mit einer Liniensuche implementiert, die die starken WolfeBedingungen erfüllt mit 0 < c2 < 21 . Dann erzeugt das Verfahren Abstiegsrichtungen pj , die die folgenden Ungleichungen erfüllen: T 1 ∇f j pj 2c2 − 1 − ≤ ≤ j 2 1 − c2 k∇f k 1 − c2 für alle j = 0, 1, . . . . 2ξ − 1 ist auf 0; 12 monoton steigend und t(0) = −1, t 1−ξ 2c1 − 1 Daher ist −1 < < 0 wegen c2 ∈ 0; 21 . 1 − c2 Beweis. Die Funktion t(ξ) := (3.12) 1 2 = 0. Wenn (3.12) gezeigt ist, folgt sofort die Abstiegseigenschaft. Zeige (3.12) durch Induktion. 36 KAPITEL 3. KONJUGIERTE GRADIENTEN (CG-)METHODEN 0 (2*x-1)/(1-x) -1/(1-x) -0.5 -1 -1.5 -2 0 0.1 0.2 0.3 0.4 0.5 Abbildung 3.1: Rechte und linke Seite in (3.12) für x = c2 ∈ 0; 21 . Für j = 0 ist der mittlere Term gleich −1 wegen p0 = −∇f 0 und beide Ungleichungen sind erfüllt. Gelte (3.12) für j ≥ 1. Aus der zweiten Wolfe-Bedingung T T T c2 ∇f j pj ≤ ∇f j+1 pj ≤ −c2 ∇f j pj , j+1 der Definition von βFj+1 in Algorithmus 3.20 folgt R und der Berechnung von p T T T T j+1 ∇f j+1 pj pj ∇f j+1 pj+1 ∇f j pj j+1 ∇f ≤ −1 + = −1 + β · = −1 + c2 FR k∇f j k2 k∇f j k2 k∇f j+1 k2 k∇f j+1 k2 T ∇f j pj ≤ −1 − c2 . k∇f j k2 Nach Induktionsannahme ist T −1 ∇f j pj ≤ 1 − c2 k∇f j k2 und daher T −1 −1 ∇f j+1 pj+1 −1 2c2 − 1 = −1 + c2 ≤ ≤ −1 − c2 = . j+1 2 1 − c2 1 − c2 k∇f k 1 − c2 1 − c2 Daraus folgt (3.12) für j + 1. Sei θj der Winkel zwischen pj und der Richtung des steilsten Abstiegs −∇f j : T −∇f j pj cos θ = . k∇f j kkpj k j Wenn θj ≈ 90◦ , d. h. cos θj ≈ 0, ist pj eine schlechte“ Suchrichtung (siehe Kapitel 4). ” Aus (3.12) folgt: 1 − 2c2 k∇f j k 1 k∇f j k j · ≤ cos θ ≤ · 1 − c2 kpj k 1 − c2 kpj k für alle j = 0, 1, . . . . (3.13) KAPITEL 3. KONJUGIERTE GRADIENTEN (CG-)METHODEN 37 Daraus folgt: cos θj ≈ 0 genau dann, wenn k∇f j k kpj k. Wenn pj fast orthogonal zum Gradienten ist, ist es wahrscheinlich, dass man einen Schritt mit sehr kleiner Schrittweite machen muss, um Abstieg zu bekommen. D. h. xj+1 ≈ xj , ∇f j+1 ≈ ∇f j , βFj+1 R ≈ 1. Daraus folgt pj+1 ≈ pj und k∇f j+1 k kpj+1 k, d. h. pj+1 ist wieder eine schlechte Suchrichtung. TODO: Abbildung Für Polak-Ribière gilt bei einer Suchrichtung mit cos θj ≈ 0 und ∇f j+1 ≈ ∇f j : βPj+1 R ≈ 0, d. h. j+1 j+1 p ≈ −∇f ist eine gute Suchrichtung. PR macht bei schlechten Suchrichtungen sozusagen einen Neustart. Dies gilt auch für PR+, HS und FR–PR. FR sollte nicht ohne Neustart-Strategie implementiert werden. Globale Konvergenz Annahme 3.23 1. Die Niveaumenge N (x0 ) := {x : f (x) ≤ f (x0 )} ist beschränkt. 2. Es gibt eine offene Umgebung U von N (x0 ), in der die Zielfunktion f Lipschitz-stetig differenzierbar ist. Bemerkung 3.24 Unter der Annahme 3.23 existiert eine Konstante γ̄ > 0, so dass k∇f (x)k ≤ γ̄ für alle x ∈ N (x0 ). Wir benutzen nun Zoutendijks Theorem, siehe Satz 4.3: Für eine Linesearch der Form xj+1 = xj + αj pj , wobei pj eine Abstiegsrichtung ist und αj die starken Wolfe-Bedingungen erfüllt, gilt: ∞ X cos2 θj · k∇f j k2 < ∞. (3.14) j=0 Werde das nichtlineare CG-Verfahren in den Iterationen j1 , j2 , . . . neugestartet. In diesen Iterationen ist cos θj = 1. Dann folgt X k∇f j k2 = j=j1 ,j2 ,... X cos2 θj · k∇f j k2 ≤ j=j1 ,j2 ,... ∞ X cos2 θj · k∇f j k2 < ∞. j=0 Wenn ji+1 − ji = n̄, ist die Folge {ji , i = 0, 1, . . .} unendlich und lim k∇f ji k = 0 bzw. i→∞ Für nicht-neugestartete Verfahren gilt: lim inf k∇f j k = 0. j→∞ (3.15) 38 KAPITEL 3. KONJUGIERTE GRADIENTEN (CG-)METHODEN Satz 3.25 (Al-Baali) Es gelten die Annahmen 3.23, Algorithmus 3.20 sei mit einer Linesearch implementiert, die die starken Wolfe-Bedingungen erfüllt mit 0 < c1 < c2 < 12 . Dann gilt lim inf k∇f j k = 0. j→∞ Beweis. Durch Widerspruch. Annahme: es existiert eine Konstante γ > 0, so dass k∇f j k ≥ γ für alle j hinreichend groß. Setze linke Ungleichung aus (3.13) in die Zoutendijk-Bedingung (3.14) ein: 2 ∞ ∞ X X k∇f j k4 1 − 2c2 2 j j 2 ∞> . cos θ · k∇f k ≥ kpj k2 1 − c2 j=0 j=0 (3.16) Aus der zweiten Wolfe-Bedingung und der linken Ungleichung in (3.12) folgt T T |∇f j pj−1 | ≤ −c2 ∇f j−1 pj−1 ≤ Daraus folgt mit pj = −∇f j + βFj R pj−1 und βFj R = c2 k∇f j−1 k2 . 1 − c2 k∇f j k2 in Algorithmus 3.20: k∇f j−1 k2 2 T kpj k2 ≤ k∇f j k2 + 2βFj R |∇f j pj−1 | + βFj R kpj−1 k2 2 2c2 j ≤ k∇f j k2 + βF R k∇f j−1 k2 + βFj R kpj−1 k2 1 − c2 2 1 + c2 = k∇f j k2 + βFj R kpj−1 k2 . 1 − c2 Sei c3 := 1 + c2 ≥ 1. 1 − c2 kpj k2 ≤ c3 k∇f j k2 + βFj R j 4 = c3 k∇f k j X 2 c3 k∇f j−1 k2 + βFj−1 R 2 c3 k∇f j−2 k2 + . . . + βF1 R k∇f k k−2 , k=0 wobei βFj R 2 βFj−1 R 2 2 . . . βFj−k = R k∇f j k4 k∇f j−k−1 k4 und p0 = −∇f 0 . Es gilt also kpj k2 ≤ und ∞ X j=1 c3 · γ̄ 4 ·j γ2 ∞ X1 1 ≥ γ 4 kpj k2 j j=1 für eine Konstante γ4 > 0. Andererseits folgt aus (3.16) ∞ X j=0 ∞ 1 1 X k∇f j k4 ≤ <∞ kpj k2 γ 4 j=0 kpj k2 . 2 kp0 k2 . . . KAPITEL 3. KONJUGIERTE GRADIENTEN (CG-)METHODEN 39 Dieses globale Konvergenzresultat kann auf beliebige Wahl von β j mit |β j | ≤ βFj R ausgeweitet werden. Im allgemeinen: Falls Konstanten c4 , c5 > 0 existieren, so dass für j = 1, 2, . . . cos θj ≥ c4 k∇f j k kpj k und k∇f j k ≥ c5 > 0, kpj k folgt aus der Zoutendijk-Bedingung (3.14), dass lim k∇f j k = 0. j→∞ Dies gilt für Polak-Ribière unter den Annahmen, dass f strikt konvex ist und die verwendete Linesearch exakt. Für allgemeine nichtkonvexe Funktionen f kann man kein globales Konvergenzresultat für PR beweisen. Satz 3.26 Betrachte die Polak-Ribière-Methode mit einer exakten Linesearch. Es existiert eine zweimal stetig differenzierbare Zielfunktion f : R3 → R und ein Startpunkt x0 ∈ R3 , so dass die Folge {k∇f j k} von Null weg beschränkt ist. Beweis: Powell, nicht konstruktiv. Vergleich Gradientenverfahren – CG-Verfahren Gradientenverfahren CG-Verfahren Mit qualifizierter Linesearch Abstiegsverfahren Abstiegsverfahren Suchrichtungen steilster Abstieg Kombination aus steilstem Abstieg und vorheriger Richtung sind orthogonal sind konjugiert Verhalten Zick-Zack Krylov-Raum-Eigenschaft Für quadratische Probleme im allgemeinen keine endliche Terminierung linear 2 λmax − λmin λmax + λmin endliche Terminierung Lokale Konvergenz Rate in k.kA -Norm linear 2 λn−j − λ1 λn−j + λ1 gut für geclusterte Eigenwerte, kann vorkonditioniert werden Globale Konvergenz global konvergent global konvergent Implementierung beide geeignet für große Probleme, da Matrix-frei und Speicherung nur weniger Vektoren nötig Kapitel 4 Linesearch In jeder Iteration eines Abstiegsverfahrens: • Suchrichtung: pj • Schrittweite: αj > 0 • Iterationsvorschrift: xj+1 = xj + αj pj Bemerkung 4.1 Falls ∇f (xj )T pj < 0, ist pj eine Abstiegsrichtung. Wahl der Schrittweite f sei Zielfunktion eines unbeschränkten Minimierungsproblems. Ziele: • Wesentliche Reduktion von f durch den Schritt. • Effiziente Bestimmung der Schrittweite. Betrachte φ(α) := f (xj + αpj ), α > 0. Es ist φ0 (0) = ∇f (xj )T pj < 0. Exakte Linesearch: Bestimme globales Minimum der Funktion φ(α), α > 0. Im allgemeinen zu teuer. Inexakte Linesearch: Untersuche eine Folge von Kandidaten für α, stoppe, wenn bestimmte Bedingungen erfüllt sind. Einfachste Bedingung: Abstieg in f : f (xj + αj pj ) < f (xj ). 40 KAPITEL 4. LINESEARCH 41 Abstieg allein reicht nicht aus, um Konvergenz zu erzielen: TODO: Abbildung Minimum x∗ mit f (x∗ ) = −1. Iterierte xj mit f (xj ) = 5j , j = 1, 2, . . .. Abstieg in jeder Iteration, aber Grenzwert = 0 und nicht −1. Wir benötigen hinreichenden Abstieg (sufficient decrease). Die Wolfe-Bedingungen 1. αj sollte Sufficient Decrease ergeben: f (xj + αj pj ) ≤ f (xj ) + c1 α∇f (xj )T pj (4.1) für ein c1 ∈ (0; 1). Der Abstieg in f ist mindestens proportional zu α und ∇f (xj )T pj . (4.1) heißt auch Armijo-Bedingung. TODO: Abbildung In der Praxis: c1 klein, z. B. c1 = 10−4 . Sufficient Decrease bewirkt, dass die Schritte nicht zu groß sind. 2. Für kleine Werte von α ist (4.1) erfüllt. Um Fortschritt zu erzielen, muss man auch gewährleisten, dass die Schritte nicht zu klein sind. Zweite Bedingung: ∇f (xj + αj pj )T pj ≥ c2 ∇f (xj )T pj (4.2) (Curvature Condition) mit c2 ∈ (c1 ; 1). TODO: Abbildung Bedeutet: φ0 (αj ) ist größer als c2 mal φ0 (0). Falls φ0 (α) 0, können wir α vergrößern, d. h. akzeptieren es nicht. Falls aber φ0 (α) . 0 oder > 0, können wir keine Abnahme von f mehr erwarten. Typische Werte: c2 = 0.9 für Newton- oder Quasi-Newton-Verfahren, c2 = 0.1 für nichtlineares CG-Verfahren. (4.1) und (4.2) zusammen heißen Wolfe-Bedingungen. Starke Wolfe-Bedingungen: (4.1) und |∇f (xj + αj pj )T pj | ≤ c2 |∇f (xj )T pj | (4.3) mit 0 < c1 < c2 < 1. Wir erlauben nicht, dass die Ableitung zu positiv wird. Daher schließen wir Punkte aus, die weit von stationären Punkten entfernt sind. 42 KAPITEL 4. LINESEARCH Lemma 4.2 Sei f : Rn → R steig differenzierbar. Sei pj eine Abstiegsrichtung in xj . Sei f entlang {xj +αpj , α > 0} nach unten beschränkt. Falls 0 < c1 < c2 < 1, existieren Intervalle von Schrittweiten α, die die Wolfe-Bedingungen (4.1) und (4.2) bzw. die starken Wolfe-Bedingungen (4.1) und (4.3) erfüllen. Beweis. φ(α) := f (xj + αpj ) ist nach unten beschränkt für alle α > 0. Wegen 0 < c1 < c2 < 1 ist die Halbgerade l(α) := f (xj ) + αc1 ∇f (xj )T pj , α > 0 nach unten unbeschränkt und muss daher mindestens einmal den Graphen von φ schneiden. Sei α0 der kleinste Schnittpunkt für α > 0, d. h. f (xj + α0 pj ) = f (xj ) + α0 c1 ∇f (xj )T pj . Für alle 0 < α < α0 gilt die Bedingung (4.1). Aus dem Mittelwertsatz folgt, dass ein α00 ∈ (0; α0 ) existiert mit f (xj + α0 pj ) − f (xj ) = α0 ∇f (xj + α00 pj )T pj . Also ist ∇f (xj + α00 pj )T pj = c1 ∇f (xj )T pj > c2 ∇f (xj )T pj wegen c1 < c2 . Daher erfüllt α00 auch (4.2). Wegen stetiger Differenzierbarkeit von f gilt das auch für ein Intervall. Weil 0 > ∇f (xj + α00 pj )T pj , gilt auch die starke Wolfe-Bedingung (4.3). TODO: Abbildung Goldstein-Bedingung: bewirkt ebenfalls, dass die Schrittweite nicht zu klein ist: f (xj ) + (1 − c)αj ∇f (xj )T pj ≤ f (xj + αj pj ) ≤ f (xj ) + cαj ∇f (xj )T pj (4.4) mit 0 < c < 12 . Konvergenz von Linesearch-Methoden Wir betrachten den Winkel θj zwischen der Suchrichtung pj und der Richtung des steilsten Abstiegs −∇f (xj ): −∇f (xj )T pj . cos θj = k∇f (xj )kkpj k Satz 4.3 (Zoutendijk) Betrachte eine Iteration der Form xj+1 = xj + αj pj , wobei pj eine Abstiegsrichtung ist und αj die Wolfe-Bedingungen (4.1) und (4.2) erfüllt. Sei f in Rn nach unten beschränkt und stetig differenzierbar in einer offenen Menge U , die die Niveaumenge N (x0 ) := {x : f (x) ≤ f (x0 )} enthält, x0 sei der Startpunkt der Iteration. Sei ∇f Lipschitzstetig in U , d. h. ∃L > 0, so dass k∇f (x) − ∇f (x̄)k ≤ Lkx − x̄k ∀x, x̄ ∈ U. Dann gilt: ∞ X j=0 cos2 (θj ) · k∇f (xj )k2 < ∞. (4.5) KAPITEL 4. LINESEARCH 43 Beweis. Aus (4.2) folgt T ∇f (xj+1 ) − ∇f (xj ) pj ≥ (c2 − 1)∇f (xj )T pj Aus der Lipschitz-Bedingung für ∇f folgt 1 ∇f (xj+1 ) − ∇f (xj ) − Lαj pj 2 2 2 T 1 1 2 = ∇f (xj+1 ) − ∇f (xj ) − Lαj ∇f (xj+1 ) − ∇f (xj ) pj + L2 αj kpj k2 2 2 T 1 1 2 2 ≤ L2 αj kpj k2 − Lαj ∇f (xj+1 ) − ∇f (xj ) pj + L2 αj kpj k2 . 2 2 0≤ Daraus folgt T ∇f (xj+1 ) − ∇f (xj ) pj ≤ Lαj kpj k2 . Also αj ≥ c2 − 1 ∇f (xj )T pj · . L kpj k2 Mit (4.1) erhalten wir 1 − c2 ∇f (xj )T pj j+1 j · f (x ) ≤ f (x ) − c1 L kpj k2 mit c := c1 2 = f (xj ) − c cos2 (θj )k∇f (xj )k2 1 − c2 . Daraus folgt L f (xj+1 ) ≤ f (x0 ) − c j X cos2 (θk )k∇f (xk )k2 . k=0 Weil f nach unten beschränkt ist, ist f (x0 ) − f (xj+1 ) kleiner als eine positive Konstante für alle j. Deshalb gilt auch ∞ X cos2 (θk )k∇f (xk )k2 < ∞. k=0 Für die Goldstein-Bedingungen (4.4) können ähnliche Ergebnisse gezeigt werden. Die Voraussetzungen von Satz 4.3 sind nicht zu restriktiv: • Falls f nicht nach unten beschränkt ist, ist das Minimierungsproblem nicht wohldefiniert. • Die Glattheitsvoraussetzung wird auch für viele lokale Konvergenzbeweise benötigt. Linesearch-Algorithmen Sei φ(α) := f (xj + αpj ). 44 KAPITEL 4. LINESEARCH Bestimme αj , das eine der Bedingungen von oben erfüllt. Für quadratische Probleme f (x) = 21 xT Ax − bT x ist αj = − (Ax − b)T pj ∇f (xj )T pj = − . pj T Apj pj T Apj Sei αj die Schrittweite im j-ten Schritt. Im folgenden: α0 , α1 , . . . Testschrittweiten zur Bestimmung von αj . Backtracking-Linesearch Für i = 0, 1, . . .: αi = α0 · ρi ( ρ hoch i“) mit 0 < ρ < 1, solange bis die Sufficient-Decrease” Bedingung erfüllt ist: φ(αi ) ≤ φ(0) + c1 αi φ0 (0). (4.6) Durch Konstruktion des Verfahrens gilt außerdem eine Schritt-nicht-zu-klein-Bedingung. Erweiterung davon: Interpolationsmethode Algorithmus 4.4 (Interpolationsmethode) • Sei ein Startwert α0 gegeben. Wenn α0 (4.6) erfüllt, stoppe. Ansonsten enthält (0; α0 ) Schrittweiten, die (4.6) erfüllen. • Berechne die quadratische Interpolation φq von φ(0), φ0 (0) und φ(α0 ): φ(α0 ) − φ(0) − α0 φ0 (0) α2 + φ0 (0)α + φ(0) φq (α) = α02 ( α hoch 2“), diese hat das Minimum ” φ0 (0)α02 α1 = − 2 (φ(α0 ) − φ(0) − α0 φ0 (0)) Falls α1 (4.6) erfüllt, stoppe. Sonst: • Berechne die kubische Interpolation φc von φ(0), φ0 (0), φ(α0 ) und φ(α1 ): φc (α) = aα3 + bα2 + αφ0 (0) + φ(0) ( α hoch 3“ und α hoch 2“) mit ” ” 2 1 a α0 −α12 φ(α1 ) − φ(0) − φ0 (0)α1 = 2 2 . b φ(α0 ) − φ(0) − φ0 (0)α0 α0 α1 (α1 − α0 ) −α03 α13 Das Minimum α2 von φc liegt im Intervall [0; α1 ]: p −b + b2 − 3aφ0 (0) α2 = . 3a Falls α2 (4.6) erfüllt, stoppe. KAPITEL 4. LINESEARCH 45 • Ansonsten iteriere mit kubischen Interpolationen von φ(0), φ0 (0) und den letzten zwei Werten φ(αi−2 ) und φ(αi−1 ), bis ein αi gefunden ist, das (4.6) erfüllt. Falls dabei αi zu nahe bei αi−1 ist oder viel kleiner als αi−1 , setze αi := αi−1 /2. ( Safeguard” Strategie“, um zu erreichen, dass der Algorithmus vorankommt und die αi nicht zu klein werden.)
© Copyright 2024 ExpyDoc