Studientag zur Algorithmischen Mathematik Numerische Verfahren der nicht-linearen Optimierung Winfried Hochstättler Diskrete Mathematik und Optimierung FernUniversität in Hagen 1. Juli 2012
Outline Line Search Ein generisches Verfahren Abstiegsrichtungen Zur Konvergenz und zur Praxis
Fragestellungen Existenz und Charakterisierung von Lösungen Existenz durch geeignete Voraussetzungen sicherstellen. Wir werden lokale Extremwerte charakterisieren. Notwendige und hinreichende Bedingungen. Algorithmen zur Bestimmung von Lösungen
Fragestellungen Existenz und Charakterisierung von Lösungen Existenz durch geeignete Voraussetzungen sicherstellen. Wir werden lokale Extremwerte charakterisieren. Notwendige und hinreichende Bedingungen. Algorithmen zur Bestimmung von Lösungen Suchrichtungen
Fragestellungen Existenz und Charakterisierung von Lösungen Existenz durch geeignete Voraussetzungen sicherstellen. Wir werden lokale Extremwerte charakterisieren. Notwendige und hinreichende Bedingungen. Algorithmen zur Bestimmung von Lösungen Suchrichtungen Schrittweiten
Fragestellungen Existenz und Charakterisierung von Lösungen Existenz durch geeignete Voraussetzungen sicherstellen. Wir werden lokale Extremwerte charakterisieren. Notwendige und hinreichende Bedingungen. Algorithmen zur Bestimmung von Lösungen Suchrichtungen Schrittweiten Konvergenzaussagen
Unimodale Funktionen Wenn wir eine Abstiegsrichtung bestimmt haben, müssen wir uns überlegen, wie weit wir in diese Richtung gehen wollen.
Unimodale Funktionen Wenn wir eine Abstiegsrichtung bestimmt haben, müssen wir uns überlegen, wie weit wir in diese Richtung gehen wollen. Die Aufgabenstellung, in eine Suchrichtung zu minimieren, ist nun ein eindimensionales Problem.
Unimodale Funktionen Wenn wir eine Abstiegsrichtung bestimmt haben, müssen wir uns überlegen, wie weit wir in diese Richtung gehen wollen. Die Aufgabenstellung, in eine Suchrichtung zu minimieren, ist nun ein eindimensionales Problem. Da wir auch hier im Allgemeinen nur lokale Minima finden können, idealisieren wir die Aufgabenstellung.
Unimodale Funktionen Wenn wir eine Abstiegsrichtung bestimmt haben, müssen wir uns überlegen, wie weit wir in diese Richtung gehen wollen. Die Aufgabenstellung, in eine Suchrichtung zu minimieren, ist nun ein eindimensionales Problem. Da wir auch hier im Allgemeinen nur lokale Minima finden können, idealisieren wir die Aufgabenstellung. Definition f : [a, b] R heißt strikt unimodal auf [a, b], wenn f genau ein lokales Minimum in [a, b] hat,
Unimodale Funktionen Wenn wir eine Abstiegsrichtung bestimmt haben, müssen wir uns überlegen, wie weit wir in diese Richtung gehen wollen. Die Aufgabenstellung, in eine Suchrichtung zu minimieren, ist nun ein eindimensionales Problem. Da wir auch hier im Allgemeinen nur lokale Minima finden können, idealisieren wir die Aufgabenstellung. Definition f : [a, b] R heißt strikt unimodal auf [a, b], wenn f genau ein lokales Minimum in [a, b] hat, strikt konvex, wenn x, y [a, b] λ ]0, 1[: f (λx + (1 λ)y) < λf (x) + (1 λ)f (y)
Unimodale Funktionen Wenn wir eine Abstiegsrichtung bestimmt haben, müssen wir uns überlegen, wie weit wir in diese Richtung gehen wollen. Die Aufgabenstellung, in eine Suchrichtung zu minimieren, ist nun ein eindimensionales Problem. Da wir auch hier im Allgemeinen nur lokale Minima finden können, idealisieren wir die Aufgabenstellung. Definition f : [a, b] R heißt strikt unimodal auf [a, b], wenn f genau ein lokales Minimum in [a, b] hat, strikt konvex, wenn x, y [a, b] λ ]0, 1[: f (λx + (1 λ)y) < λf (x) + (1 λ)f (y) Strikt konvex strikt unimodal.
Line search Proposition f strikt unimodal λ ]0, 1[ : f (λx + (1 λ)y) < max{f (x), f (y)}.
Line search Proposition f strikt unimodal λ ]0, 1[ : f (λx + (1 λ)y) < max{f (x), f (y)}. a x n+1 xn b
Line search Proposition f strikt unimodal λ ]0, 1[ : f (λx + (1 λ)y) < max{f (x), f (y)}. a x n+1 xn b Falls f (x n+1 ) < f (x n ): neues Suchintervall ist [a, x n ]. Falls f (x n+k ) > f (x n ): neues Suchintervall ist [x n+k, b].
Line search Proposition f strikt unimodal λ ]0, 1[ : f (λx + (1 λ)y) < max{f (x), f (y)}. a x n+1 xn b Falls f (x n+1 ) < f (x n ): neues Suchintervall ist [a, x n ]. Falls f (x n+k ) > f (x n ): neues Suchintervall ist [x n+k, b]. Platziere neue Punkte möglichst effizient.
Line search Platziere neue Punkte möglichst effizient.
Line search Platziere neue Punkte möglichst effizient. a x n+1 x n b } {{ } l 1 } {{ } l 2 } {{ } l 1
Line search Platziere neue Punkte möglichst effizient. a x n+1 x n b } {{ } l 1 } {{ } l 2 } {{ } l 1 1. Platziere x n und x n+1 symmetrisch.
Line search Platziere neue Punkte möglichst effizient. a x n+1 x n b } {{ } l 1 } {{ } l 2 } {{ } l 1 1. Platziere x n und x n+1 symmetrisch. 2. Je weiter innen x n und x n+1 platziert werden, desto größer der Fortschritt jetzt.
Line search Platziere neue Punkte möglichst effizient. a x n+1 x n b } {{ } l 1 } {{ } l 2 } {{ } l 1 1. Platziere x n und x n+1 symmetrisch. 2. Je weiter innen x n und x n+1 platziert werden, desto größer der Fortschritt jetzt. 3. Je weiter innen x n und x n+1 platziert werden, desto kleiner der Fortschritt im nächsten Schritt.
Line search Platziere neue Punkte möglichst effizient. a x n+1 x n b } {{ } l 1 } {{ } l 2 } {{ } l 1 1. Platziere x n und x n+1 symmetrisch. 2. Je weiter innen x n und x n+1 platziert werden, desto größer der Fortschritt jetzt. 3. Je weiter innen x n und x n+1 platziert werden, desto kleiner der Fortschritt im nächsten Schritt. Beiden Fällen am Besten gerecht: Platzierung im Goldenen Schnitt. l 1 = l 1 + l 2 = 1 + 5 l 2 l 1 2
Generisches Optimierungsverfahren Starte in x 0 S
Generisches Optimierungsverfahren Starte in x 0 S k := 1
Generisches Optimierungsverfahren Starte in x 0 S k := 1 Solange f (x k 1 ) > ε:
Generisches Optimierungsverfahren Starte in x 0 S k := 1 Solange f (x k 1 ) > ε: Wähle Abstiegsrichtung d k mit f (x k 1 )d k < 0
Generisches Optimierungsverfahren Starte in x 0 S k := 1 Solange f (x k 1 ) > ε: Wähle Abstiegsrichtung d k mit f (x k 1 )d k < 0 Wähle Schrittweite t k
Generisches Optimierungsverfahren Starte in x 0 S k := 1 Solange f (x k 1 ) > ε: Wähle Abstiegsrichtung d k mit f (x k 1 )d k < 0 Wähle Schrittweite t k x k := x k 1 + t k d k
Generisches Optimierungsverfahren Starte in x 0 S k := 1 Solange f (x k 1 ) > ε: Wähle Abstiegsrichtung d k mit f (x k 1 )d k < 0 Wähle Schrittweite t k x k := x k 1 + t k d k k := k + 1
Generisches Optimierungsverfahren Starte in x 0 S k := 1 Solange f (x k 1 ) > ε: Wähle Abstiegsrichtung d k mit f (x k 1 )d k < 0 Wähle Schrittweite t k x k := x k 1 + t k d k k := k + 1
Prominente Abstiegsrichtungen Koordinatensuche: Suche Richtung x i zyklisch für i = 1,..., n.
Prominente Abstiegsrichtungen Koordinatensuche: Suche Richtung x i zyklisch für i = 1,..., n. Leicht zu implementieren, in der Regel nicht sehr effizient.
Prominente Abstiegsrichtungen Koordinatensuche: Suche Richtung x i zyklisch für i = 1,..., n. Leicht zu implementieren, in der Regel nicht sehr effizient. Gradientenverfahren: Suche in Richtung des steilsten Abstiegs f (x k 1 ).
Prominente Abstiegsrichtungen Koordinatensuche: Suche Richtung x i zyklisch für i = 1,..., n. Leicht zu implementieren, in der Regel nicht sehr effizient. Gradientenverfahren: Suche in Richtung des steilsten Abstiegs f (x k 1 ). Man beobachtet Zickzackverhalten.
Prominente Abstiegsrichtungen Koordinatensuche: Suche Richtung x i zyklisch für i = 1,..., n. Leicht zu implementieren, in der Regel nicht sehr effizient. Gradientenverfahren: Suche in Richtung des steilsten Abstiegs f (x k 1 ). Man beobachtet Zickzackverhalten. Newtonrichtung: Nach Taylor ist f (x k 1 + v) f (x k 1 ) + f (x k 1 ) v + 1 2 v 2 f (x k 1 )v.
Prominente Abstiegsrichtungen Koordinatensuche: Suche Richtung x i zyklisch für i = 1,..., n. Leicht zu implementieren, in der Regel nicht sehr effizient. Gradientenverfahren: Suche in Richtung des steilsten Abstiegs f (x k 1 ). Man beobachtet Zickzackverhalten. Newtonrichtung: Nach Taylor ist f (x k 1 + v) f (x k 1 ) + f (x k 1 ) v + 1 2 v 2 f (x k 1 )v. Den stationären Punkt dieser quadratischen Funktion finden wir in x k 1 2 f (x k 1 ) 1 f (x k 1 ).
Prominente Abstiegsrichtungen Koordinatensuche: Suche Richtung x i zyklisch für i = 1,..., n. Leicht zu implementieren, in der Regel nicht sehr effizient. Gradientenverfahren: Suche in Richtung des steilsten Abstiegs f (x k 1 ). Man beobachtet Zickzackverhalten. Newtonrichtung: Nach Taylor ist f (x k 1 + v) f (x k 1 ) + f (x k 1 ) v + 1 2 v 2 f (x k 1 )v. Den stationären Punkt dieser quadratischen Funktion finden wir in x k 1 2 f (x k 1 ) 1 f (x k 1 ).Deswegen bezeichnen wir als Newtonrichtung. 2 f (x k 1 ) 1 f (x k 1 )
Zur Konvergenz und zur Praxis Wir haben gezeigt, dass bei Koordinatensuche und Gradientenverfahren jede konvergente Teilfolge gegen einen stationären Punkt konvergiert.
Zur Konvergenz und zur Praxis Wir haben gezeigt, dass bei Koordinatensuche und Gradientenverfahren jede konvergente Teilfolge gegen einen stationären Punkt konvergiert. In der Praxis wird man den line search nicht exakt durchführen, oder einen stationären Punkt suchen, sondern eine hinreichend gute Verbesserung anstreben.
Zur Konvergenz und zur Praxis Wir haben gezeigt, dass bei Koordinatensuche und Gradientenverfahren jede konvergente Teilfolge gegen einen stationären Punkt konvergiert. In der Praxis wird man den line search nicht exakt durchführen, oder einen stationären Punkt suchen, sondern eine hinreichend gute Verbesserung anstreben. Wir haben das Newtonverfahren als Suchverfahren in Newtonrichtung mit Schrittweite 1 definiert.
Zur Konvergenz und zur Praxis Wir haben gezeigt, dass bei Koordinatensuche und Gradientenverfahren jede konvergente Teilfolge gegen einen stationären Punkt konvergiert. In der Praxis wird man den line search nicht exakt durchführen, oder einen stationären Punkt suchen, sondern eine hinreichend gute Verbesserung anstreben. Wir haben das Newtonverfahren als Suchverfahren in Newtonrichtung mit Schrittweite 1 definiert. In der Praxis wird man hier auch eine Schrittweitensteuerung einbauen.
Konjugierte Gradienten In der Praxis sind konjugierte Gradientenverfahren sehr erfolgreich.
Konjugierte Gradienten In der Praxis sind konjugierte Gradientenverfahren sehr erfolgreich. Ich finde das nicht direkt ersichtlich.
Konjugierte Gradienten In der Praxis sind konjugierte Gradientenverfahren sehr erfolgreich. Ich finde das nicht direkt ersichtlich. Eine weitere wichtige Beobachtung im Hinblick auf große Probleme ist die folgende. Sind die s größten Eigenwerte von Q deutlich voneinander separiert und häufen sich die übrigen n s Eigenwerte an einer Stelle, z. B. bei 0, so erreicht das CG-Verfahren eine gute Näherung für den optimalen Zielfunktionswert des Problems nach s + 1 Iterationen...Diese Aussagen sind qualitativ auch auf lokale Lösungen einer nichtquadratischen Funktion f, in denen die Optimalitätsbedingungen zweiter Ordnung erfüllt sind, übertragbar, da f in einer Umgebung eines solchen Punktes durch eine gleichmäßig konvexe, quadratische Funktion angenähert werden kann. Zitat aus Reemtsen: Einführung in die nicht-lineare Optimierung.