kann man das Vorlesungsskript als pdf-file herunterladen.
kann man das Vorlesungsskript als pdf-file herunterladen.
kann man das Vorlesungsskript als pdf-file herunterladen.
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Einführung in die stetige<br />
Optimierung<br />
Martin Gugat ∗<br />
10. Juli 2007<br />
∗ Dieses Skript basiert auf dem Buch von C.T. Kelley: Iterative Methods for Optimization,<br />
SIAM Frontiers in Applied Mathematics, 1999.
Inhaltsverzeichnis<br />
I. Optimierung glatter Funktionen 7<br />
1. Grundlagen 9<br />
1.1. Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />
1.2. Schreibweisen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />
1.3. Notwendige Optimalitätsbedingungen . . . . . . . . . . . . . . . . . . . . 11<br />
1.4. Hinreichende Optimalitätsbedingungen . . . . . . . . . . . . . . . . . . . 12<br />
1.5. Quadratische Zielfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />
1.5.1. Positiv denite Hessematrizen . . . . . . . . . . . . . . . . . . . . 13<br />
1.5.2. Indenite Hessematrizen . . . . . . . . . . . . . . . . . . . . . . . 16<br />
1.6. Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />
1.6.1. Diskrete optimale Steuerung . . . . . . . . . . . . . . . . . . . . . 16<br />
1.6.2. Parameteridentizierung . . . . . . . . . . . . . . . . . . . . . . . 18<br />
1.6.3. Konvexe 2×2 Probleme . . . . . . . . . . . . . . . . . . . . . . . . 19<br />
1.7. Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />
2. Lokale Konvergenz des Newtonverfahrens 27<br />
2.1. Konvergenzarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br />
2.2. Standardvoraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />
2.3. Das Newtonverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />
2.4. Inexakte Newtonverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />
2.4.1. Konvergenzraten . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />
2.4.2. Implementierung von Newtoncg . . . . . . . . . . . . . . . . . . 33<br />
2.5. Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34<br />
3. Globale Konvergenz 37<br />
3.1. Das Verfahren des steilsten Abstiegs . . . . . . . . . . . . . . . . . . . . . 37<br />
3.2. Liniensuchverfahren und die Armijoregel . . . . . . . . . . . . . . . . . . 38<br />
3.2.1. Schrittweitensteuerung mit polynomialen Modellen . . . . . . . . 42<br />
3.2.2. Langsame Konvergenz beim steilsten Abstieg . . . . . . . . . . . . 44<br />
3.3. Trust Region Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46<br />
3.3.1. Änderung der Vertrauenskugel . . . . . . . . . . . . . . . . . . . . 47<br />
3.3.2. Globale Konvergenz des Trust Region Verfahrens . . . . . . . . . 49<br />
3.3.3. Ein unidirektionaler Trust Region Algorithmus . . . . . . . . . . . 52<br />
3.3.4. Die exakte Lösung des Trust Region Problems . . . . . . . . . . . 53<br />
3
Inhaltsverzeichnis<br />
3.4. Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54<br />
4. Das BFGS Verfahren 63<br />
4.1. Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />
4.1.1. Lokale Theorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />
4.1.2. Globale Theorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71<br />
4.2. Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71<br />
4.2.1. Speicherung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72<br />
4.2.2. Ein BFGSArmijo Verfahren . . . . . . . . . . . . . . . . . . . . . 74<br />
4.3. Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75<br />
5. Intervallrestriktionen 79<br />
5.1. Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />
5.2. Notwendige Optimalitätsbedingungen . . . . . . . . . . . . . . . . . . . . 79<br />
5.3. Hinreichende Optimalitätsbedingungen . . . . . . . . . . . . . . . . . . . 82<br />
5.4. Das Gradientenprojektionverfahren . . . . . . . . . . . . . . . . . . . . . 83<br />
5.4.1. Beendigung der Iteration . . . . . . . . . . . . . . . . . . . . . . . 84<br />
5.4.2. Konvergenzanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . 86<br />
5.4.3. Identizierung der aktiven Indices . . . . . . . . . . . . . . . . . . 88<br />
5.4.4. Ein Beweis von Satz 24 . . . . . . . . . . . . . . . . . . . . . . . . 88<br />
5.5. Superlineare Konvergenz . . . . . . . . . . . . . . . . . . . . . . . . . . . 89<br />
5.6. Unendlichdimensionale Probleme . . . . . . . . . . . . . . . . . . . . . . 89<br />
5.7. Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90<br />
II. Optimierung verrauschter Funktionen 93<br />
6. Grundkonzepte und Ziele 95<br />
6.1. Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95<br />
6.2. Der Simplexgradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96<br />
6.2.1. Vorwärtsdierenzensimplexgradient . . . . . . . . . . . . . . . . . 97<br />
6.2.2. Zentraldierenzensimplexgradient . . . . . . . . . . . . . . . . . . 99<br />
6.3. Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102<br />
7. Implizite Filter 103<br />
7.1. Beschreibung und Analyse Impliziter Filter . . . . . . . . . . . . . . . . . 103<br />
7.2. Quasinewtonverfahren mit implizitem Filter . . . . . . . . . . . . . . . . 105<br />
7.3. Implementierungsbetrachtungen . . . . . . . . . . . . . . . . . . . . . . . 105<br />
7.4. Implizite Filter für Probleme mit Schrankenrestriktionen . . . . . . . . . 106<br />
7.5. Neustart und Minima auf allen Skalen . . . . . . . . . . . . . . . . . . . 106<br />
8. Direkte Suchverfahren 109<br />
8.1. Der NelderMead Simplexalgorithmus . . . . . . . . . . . . . . . . . . . . 109<br />
8.2. Multidirektionale Suchverfahren . . . . . . . . . . . . . . . . . . . . . . . 110<br />
4
Inhaltsverzeichnis<br />
Vorbemerkung Dieses Skript basiert auf dem Buch von C.T. Kelley: Iterative<br />
Methods for Optimization, SIAM Frontiers in Applied Mathematics, 1999. Matlab Programme<br />
in http : //www.siam.org/books/fr18/.<br />
5
Inhaltsverzeichnis<br />
6
Teil I.<br />
Optimierung glatter Funktionen<br />
7
1. Grundlagen<br />
1.1. Problemstellung<br />
Das Problem der unrestringierten Optimierung besteht darin, eine reellwertige Funktion<br />
f von N Variablen zu minimieren. Dabei suchen wir einen lokalen Minimalpunkt, <strong>als</strong>o<br />
einen Punkt x ∗ , für den gilt<br />
f(x ∗ ) ≤ f(x) für alle x in einer Umgebung von x ∗ . (1.1)<br />
Für dieses Problem nutzen wir die Notation<br />
min x<br />
f(x). (1.2)<br />
Wir sprechen davon, <strong>das</strong> Problem min f zu lösen. Dabei suchen wir einen lokalen Minimalpunkt.<br />
Die Funktion f nennt <strong>man</strong> die Zielfunktion und die Zahl f(x ∗ ) den Minimalwert.<br />
Falls ein lokaler Minimalpunkt x ∗ existiert, sagen wir: In x ∗ wird ein Minimum<br />
angenommen.<br />
Problem (1.2) heiÿt unrestringiert, weil wir für die Entscheidungsvariable x keine<br />
Zusatzbedingung fordern. Wir setzen voraus, daÿ die Zielfunktion f für alle Punkte<br />
x ∈ R N deniert ist.<br />
Das lokale Optimierungsproblem ist nicht zu verwechseln mit dem globalen Optimierungsproblem<br />
und viel einfacher <strong>als</strong> dieses. Beim globalen Optimierungsproblem sucht<br />
<strong>man</strong> einen globalen Minimalpunkt, <strong>das</strong> ist ein Punkt x ∗ , für den gilt<br />
f(x ∗ ) ≤ f(x) für alle x ∈ R N . (1.3)<br />
Das restringierte Optimierungsproblem besteht darin, eine Funktion f über eine Menge<br />
U ⊂ R n zu minimieren. Bei diesem Problem ist ein lokaler Minimalpunkt ein Punkt<br />
x ∗ ∈ U, für den gilt<br />
f(x ∗ ) ≤ f(x) für alle x ∈ U in einer Umgebung von x ∗ . (1.4)<br />
Ähnlich wie bei (1.2) schreiben wir dieses Problem <strong>als</strong><br />
min f(x) (1.5)<br />
x∈U<br />
und sagen, daÿ wir <strong>das</strong> Problem min U f lösen wollen. Ein globaler Minimalpunkt ist<br />
hierbei ein Punkt x ∗ ∈ U, für den gilt<br />
f(x ∗ ) ≤ f(x) für alle x ∈ U. (1.6)<br />
9
1. Grundlagen<br />
Wir betrachten nur die einfachsten restringierten Probleme. Diskussionen komplexerer<br />
Probleme und Hinweise auf Software ndet <strong>man</strong> in der Literatur.<br />
Wenn <strong>man</strong> ein Optimierungsproblem aufgestellt hat, <strong>kann</strong> <strong>man</strong> auf die klassische Weise<br />
vorgehen und Verfahren benutzen, die die Glattheit von f verlangen. Diesen Zugang<br />
betrachten wir im ersten Teil. Diese Verfahren können versagen, falls die Zielfunktion<br />
Unstetigkeiten oder nichtreguläre Punkte aufweist. Solche nichtglatten Eekte sind verbreitet<br />
und können beispielweise durch numerische Fehler bei der Berechnung von f,<br />
Rauschen bei probabilistischer Modellierung von f oder die Nutzung von Messdaten<br />
bei der Berechnung von f verursacht werden. In Teil zwei werden wir eine Klasse von<br />
Verfahren zur Behandlung solcher Probleme ansprechen.<br />
1.2. Schreibweisen<br />
Wenn es nicht anders gesagt wird, betrachten wir Vektoren <strong>als</strong> Spaltenvektoren. Der<br />
Vektor x ∗ bezeichnet eine Lösung, x einen Lösungskandidaten und {x k } k≥0 die Folge der<br />
Iterationspunkte. Den Startpunkt x 0 nennen wir auch Anfangsiterationspunkt oder Anfangsschätzung.<br />
Die ite Komponente eines Vektors x bezeichnen wir mit (x) i (in runden<br />
Klammern), und die ite Komponente von x k mit (x k ) i . Allerdings werden wir selten<br />
mit einzelnen Vektorkomponenten arbeiten. Mit ∂f/∂x i bezeichnen wir die partielle Ableitung<br />
von f bezüglich (x) i . Mit e = x − x ∗ bezeichnen wir den Fehler, e n = x n − x ∗<br />
bezeichnet den Fehler des nten Iterationspunktes und B(r) die Kugel mit Radius r um<br />
x ∗ ,<br />
B(r) = {x : ‖e‖ < r}.<br />
Für x ∈ R N bezeichnet ∇f(x) ∈ R N den Gradienten von f<br />
falls er existiert.<br />
Es sei ∇ 2 f die Hessematrix von f,<br />
∇f(x) = (∂f/∂x 1 , ..., ∂f/∂x N ) T ,<br />
(∇ 2 f) ij = ∂ 2 f/∂x i ∂x j ,<br />
falls sie existiert. Die Matrix ∇ 2 f ist <strong>als</strong>o die Jacobimatrix von ∇f, hat aber mehr Struktureigenschaften<br />
<strong>als</strong> die Jacobimatrix einer allgemeinen nichtlinearen Funktion. Falls f<br />
zweimal stetig dierenzierbar ist, ist die Hessematrix symmetrisch, da die partiellen<br />
Ableitungen vertauschbar sind.<br />
Wir arbeiten mit der euklidischen Norm<br />
∑<br />
‖x‖ = √ N (x) 2 i<br />
und mit der induzierten Matrixnorm<br />
‖A‖ = max<br />
x≠0<br />
i=1<br />
‖Ax‖<br />
‖x‖ .<br />
10
1.3. Notwendige Optimalitätsbedingungen<br />
Die Denitsheitseigenschaften der Hessematrix spielen bei den hinreichenden und notwendigen<br />
Optimalitätsbedingungen eine wichtige Rolle, und auch in der Auswahl unserer<br />
Algorithmen.<br />
Denition 1 Eine N × N Matrix A ist positiv semidenit, falls für alle x ∈ R N gilt<br />
x T Ax ≥ 0. Die Matrix A ist positiv denit, falls für alle x ∈ R N , x ≠ 0 gilt x T Ax > 0.<br />
Falls A sowohl negative <strong>als</strong> auch positive Eigenwerte besitzt, heiÿt die Matrix A indenit.<br />
Falls A symmetrisch und positiv denit ist, sagen wir A ist spd.<br />
Wir verwenden zwei Formen des Fundament<strong>als</strong>atzes der Analysis, eine Form für <strong>das</strong><br />
Paar FunktionGradient und eine zweite für <strong>das</strong> Paar GradientHessematrix.<br />
Satz 1 Die Funktion f sei in einer Umgebung einer Verbindungsstrecke zwischen den<br />
Punkten x ∗ und x = x ∗ + e im R N zweimal stetig dierenzierbar. Dann gilt<br />
und<br />
f(x) = f(x ∗ ) +<br />
∇f(x) = ∇f(x ∗ ) +<br />
∫ 1<br />
0<br />
∫ 1<br />
Aus Satz 1 folgt folgende Version des Taylorsatzes:<br />
∇f(x ∗ + te) T e dt<br />
0<br />
∇ 2 f(x ∗ + te)e dt.<br />
Satz 2 Die Funktion f sei in einer Umgebung eines Punktes x ∗ ∈ R N zweimal stetig<br />
dierenzierbar. Dann gilt für e ∈ R N mit hinreichend kleiner Norm ‖e‖ die Gleichung<br />
f(x ∗ + e) = f(x ∗ ) + ∇f(x ∗ ) T e + (1/2)e T ∇ 2 f(x ∗ )e + o(‖e‖ 2 ). (1.7)<br />
1.3. Notwendige Optimalitätsbedingungen<br />
Es sei f zwei Mal stetig dierenzierbar. Aus dem Taylorsatz folgt, daÿ in einem lokalen<br />
Minimalpunkt der Gradient von f verschwindet und die Hessematrix positiv denit ist.<br />
Dies sind die notwendigen Optimalitätsbedingungen.<br />
Die notwendigen Optimalitätsbedingungen stellen eine Verbindung zwischen dem Optimierungsproblem<br />
(1.1) und einer nichtlinearen Gleichung her und ermöglichen es,<br />
schnelle Algorithmen für nichtlineare Gleichungen zu benutzen, um Minimalpunkte zu<br />
berechenen. Daher sind die notwendigen Optimalitätsbedingungen in der Diskussion<br />
der lokalen Konvergenzeigenschaften unserer Algorithmen wesentlich. Die Formulierung<br />
notwendiger Optimalitätsbedingungen ist der kritische erste Schritt in der Entwicklung<br />
eines Verfahrens für ein neues Optimierungsproblem. Natürlich verschwindet der Gradient<br />
auch in einem Maximalpunkt, daher ist der Nutzen der Bedingungen auf eine<br />
Umgebung eines Minimalpunktes beschränkt.<br />
Satz 3 Es sei f zweimal stetig dierenzierbar und x ∗ ein lokaler Minimalpunkt. Dann<br />
gilt die Gleichung<br />
∇f(x ∗ ) = 0.<br />
Auÿerdem ist die Hessematrix ∇ 2 f(x ∗ ) positiv semidenit.<br />
11
1. Grundlagen<br />
Beweis. Es sei ein Vektor u ∈ R N gegeben. Der Taylorsatz sagt aus, daÿ für hinreichend<br />
kleine t gilt<br />
f(x ∗ + tu) = f(x ∗ ) + t∇f(x ∗ ) T u + t2 2 uT ∇ 2 f(x ∗ )u + o(t 2 ).<br />
Da x ∗ ein lokaler Minimalpunkt ist, gilt für alle hinreichend kleinen t die Ungleichung<br />
0 ≤ f(x ∗ + tu) − f(x ∗ ) und daher auch<br />
0 ≤ ∇f(x ∗ ) T u + t 2 uT ∇ 2 f(x ∗ )u + o(t) (1.8)<br />
für alle u ∈ R N und alle hinreichend kleinen t ≠ 0. Wir setzen u = −∇f(x ∗ ) und<br />
erhalten die Ungleichung<br />
0 ≤ −‖∇f(x ∗ )‖ 2 + t 2 ∇f(x∗ ) T ∇ 2 f(x ∗ )∇f(x ∗ ) + o(t).<br />
Also folgt, indem wir t gegen Null gehen lassen, die Gleichung<br />
‖∇f(x ∗ )‖ 2 = 0.<br />
Nun dividieren wir (1.8) durch t ≠ 0 und erhalten<br />
0 ≤ 1 2 uT ∇ 2 f(x ∗ )u + o(t)/t.<br />
Indem wir wieder den Grenzwert für t gegen Null betrachten, folgt<br />
0 ≤ 1 2 uT ∇ 2 f(x ∗ )u<br />
für alle u ∈ R N .<br />
Die Bedingung ∇f(x ∗ ) = 0 heiÿt die notwendige Optimalitätsbedingung erster Ordnung<br />
und ein Punkt der diese Bedingung erfüllt heiÿt kritischer Punkt oder stationärer<br />
Punkt.<br />
1.4. Hinreichende Optimalitätsbedingungen<br />
Ein kritischer Punkt muÿ nicht unbedingt ein Minimalpunkt sein. Als Beispiel betrachten<br />
wir die Funktion φ(t) = −t 4 , die im Nullpunkt die notwendigen Optimalitätsbedingungen<br />
erfüllt, für die aber die Null kein Minimalpunkt ist. Um einen Minimalpunkt<br />
zu erhalten, müssen wir zusätzlich fordern, daÿ die zweite Ableitung nichtnegativ ist.<br />
Das allein ist noch nicht ausreichend (Bsp. φ(t) = t 3 ) und nur wenn die zweite Ableitung<br />
strikt positiv ist, können wir ganz sicher sein. Dies sind die hinreichenden Optimalitätsbedingungen.<br />
Satz 4 Die Funktion f sei zweimal stetig dierenzierbar in einer Umgebung von x ∗ .<br />
Falls gilt ∇f(x ∗ ) = 0 und die Hessematrix ∇ 2 f(x ∗ ) positiv denit ist, ist x ∗ ein lokaler<br />
Minimalpunkt von f.<br />
12
1.5. Quadratische Zielfunktionen<br />
Beweis. Es sei 0 ≠ u ∈ R N . Dann gilt für hinreichend kleine t die Gleichung<br />
f(x ∗ + tu) = f(x ∗ ) + t∇f(x ∗ ) T u + t2 2 uT ∇ 2 f(x ∗ )u + o(t 2 )<br />
(<br />
)<br />
= f(x ∗ ) + t2 u T ∇ 2 f(x ∗ )u + o(t2 )<br />
.<br />
2<br />
t 2<br />
Da ∇ 2 f(x ∗ ) positiv denit ist, gilt u T ∇ 2 f(x ∗ )u ≥ λ‖u‖ 2 , wobei λ > 0 der kleinste<br />
Eigenwert der Hessematrix ist. Also folgt, daÿ x ∗ ein lokaler Minimalpunkt ist.<br />
1.5. Quadratische Zielfunktionen<br />
Die einfachsten Optimierungsprobleme haben quadratische Zielfunktionen, d.h.<br />
f(x) = −x T b + 1 2 xT Hx. (1.9)<br />
Ohne Beschränkung der Allgemeinheit können wir voraussetzen, daÿ die Matrix H symmetrisch<br />
ist, denn es gilt<br />
( ) H + H<br />
x T Hx = x T T<br />
x. (1.10)<br />
2<br />
Die meisten Algorithm basieren auf quadratischen Funktionen, wobei die Zielfunktion<br />
f durch ein quadratisches Modell approximiert wird, welches dann minimiert wird. In<br />
diesem Abschnitt diskutieren wir einige grundlegende Fragen der quadratischen Optimierung.<br />
Es gilt<br />
∇ 2 f(x) = H<br />
für alle x ∈ R N . Aus der Symmetrie von H folgt<br />
∇f(x) = −b + Hx.<br />
Denition 2 Die quadratische Funktion f in (1.9) ist konvex, falls H positiv semide-<br />
nit ist.<br />
1.5.1. Positiv denite Hessematrizen<br />
Falls für eine quadratischen Funktion f ein Minimalpunkt x ∗ existiert, folgt aus den<br />
notwendigen Optimalitätsbedingungen, daÿ die Matrix H positiv semidenit ist und<br />
folgende Gleichung gilt:<br />
Hx ∗ = b. (1.11)<br />
In diesem Abschnitt setzen wir voraus, daÿ die Matrix H spd (und daher nichtsingulär)<br />
ist.<br />
13
1. Grundlagen<br />
Falls H dichtbesetzt und N nicht zu groÿ ist, ist es vernünftig, <strong>das</strong> Gleichungssystem<br />
(1.11) mit der Choleskyzerlegung von H,<br />
H = LL T ,<br />
zu lösen, wobei L eine nichtsinguläre untere Dreiecksmatrix mit strikt positiven Diagonaleinträgen<br />
ist. Falls die Matrix H indenit ist, wird die Choleskyzerlegung nicht<br />
existieren und somit ihre Berechnung unmöglich.<br />
Falls N sehr groÿ, H dünn besetzt oder eine Matrixdarstellung von H nicht verfügbar<br />
ist, ist <strong>das</strong> Verfahren der konjugierten Gradienten ezienter. Diese Iteration erfordert nur<br />
die Berechnung von MatrixVektor Produkten. In unserer Formulierung des Verfahrens<br />
benutzen wir x sowohl <strong>als</strong> Eingabe <strong>als</strong> auch <strong>als</strong> Ausgabevariable. Beim Start enthält<br />
x den Startpunkt x 0 und beim Ende die berechnete Näherungslösung. Wir brechen die<br />
Iteration ab falls <strong>das</strong> relative Residuum hinreichend klein ist, d.h. falls gilt<br />
‖b − Hx‖ ≤ ε‖b‖<br />
oder falls die Anzahl der Iterationen zu groÿ wird.<br />
Algorithmus 1 (cg(x, b, H, ε, kmax))<br />
1. r = b − Hx 0 , ρ 0 = ‖r‖ 2 , k = 1.<br />
2. Do while √ ρ k−1 > ε‖b‖ and k < kmax<br />
(a) if k = 1 then p = r<br />
else<br />
β = ρ k−1 /ρ k−2 and p = r + βp<br />
(b) w = Hp<br />
(c) α = ρ k−1 /p T w<br />
(d) x = x + αp<br />
(e) r = r − αw<br />
(f) ρ k = r T r<br />
(g) k = k + 1<br />
Falls H nicht spd ist, <strong>kann</strong> der Nenner α = ρ k−1 /p T w verschwinden, was zu einem<br />
Zusammenbruch des Verfahrens führt.<br />
Das Verfahren der konjugierten Gradienten (cgVerfahren) minimiert f auf einer ansteigenden<br />
Folge von Teilräumen des R N . Es gilt<br />
f(x k ) ≤ f(x) für alle x ∈ x 0 + K k ,<br />
wobei für k ≥ 1 der Raum K k der Krylovunterraum ist:<br />
K k = span(r 0 , Hr 0 , ..., H k−1 r 0 ).<br />
14
1.5. Quadratische Zielfunktionen<br />
Einen Beweis dazu ndet <strong>man</strong> in [21].<br />
Das cgVerfahren berechnet in N Iterationsschritten die Lösung. Allerdings sind bei<br />
groÿen Problemen N Schritte viel zu viele. Betrachtet <strong>man</strong> <strong>das</strong> cgVerfahren <strong>als</strong> Iterationsmethode,<br />
so hängt die Geschwindigkeit von b und dem Spektrum der Matrix H ab.<br />
Eine allgemeine Fehlerabschätzung, die hier genügen soll, ist<br />
⎡√<br />
⎤<br />
κ(H) − 1<br />
‖x k − x ∗ ‖ H ≤ 2‖x 0 − x ∗ ‖ H<br />
⎣ √ ⎦<br />
κ(H) + 1<br />
In (1.12) ist die HNorm eines Vektors zu verstehen <strong>als</strong><br />
‖u‖ 2 H = u T Hu<br />
für eine spd Matrix H. Die Zahl κ(H) ist die Konditionszahl<br />
Für spd H gilt<br />
κ(H) = ‖H‖ ‖H −1 ‖.<br />
κ(H) = λ max /λ min ,<br />
k<br />
. (1.12)<br />
wobei λ max der gröÿte und λ min der kleinste Eigenwert von H sind. Geometrisch gesehen,<br />
wird κ(H) groÿ, falls die ellipsenförmigen Niveaulinien von f sehr weit weg von einer<br />
Kreisform sind.<br />
Das cgVerfahren funktioniert gut, falls κ(H) nahe bei 1 liegt und <strong>kann</strong> sehr langsam<br />
werden falls κ(H) groÿ ist. Man <strong>kann</strong> <strong>das</strong> Verhalten des Verfahrens durch Präkonditionierung<br />
verbessern, durch die (1.11) in eine Gleichung mit einer Matrix mit Eigenwerten<br />
nahe bei 1 transformiert wird. Angenommen, M ist spd und eine hinreichend gute Approximation<br />
von H −1 , so daÿ die Zahl<br />
κ(M 1/2 HM 1/2 )<br />
wesentlich kleiner <strong>als</strong> κ(H) ist. Aus (1.12) folgt, daÿ möglicherweise weniger Iterationsschritte<br />
nötig sind, wenn <strong>man</strong> <strong>das</strong> cgVerfahren auf die Gleichung<br />
M 1/2 HM 1/2 z = M 1/2 b (1.13)<br />
anwendet statt auf (1.11). Die Lösung x ∗ von (1.11) erhält <strong>man</strong> aus der Lösung von<br />
(1.13) <strong>als</strong><br />
x = M 1/2 z. (1.14)<br />
Tatächlich ist es nicht nötig, die Quadratwurzel der Präkonditionierungsmatrix M zu<br />
berechnen, wenn <strong>man</strong> folgenden Algorithmus benutzt:<br />
Algorithmus 2 (pcg(x, b, H, M, ε, kmax))<br />
1. r = b − Hx 0 , ρ 0 = ‖r‖ 2 , k = 1.<br />
15
1. Grundlagen<br />
2. Do while √ ρ k−1 > ε‖b‖ and k < kmax<br />
(a) z = Mr<br />
(b) τ k−1 = z T r<br />
(c) if k = 1 then β = 0 and p = z<br />
else<br />
β = τ k−1 /τ k−2 and p = z + βp<br />
(d) w = Hp<br />
(e) α = τ k−1 /p T w<br />
(f) x = x + αp<br />
(g) r = r − αw<br />
(h) ρ k = r T r<br />
(i) k = k + 1<br />
In dem Algorithmus werden nur Produkte der Matrix M mit Vektoren im R N gebraucht<br />
und es muÿ keine Matrixdarstellung von M gespeichert werden. In der Literatur<br />
ndet <strong>man</strong> umfangreiche Diskussionen über Präkonditionierer und ihre Konstruktion.<br />
1.5.2. Indenite Hessematrizen<br />
Falls die Matrix H einen negativen Eigenwert besitzt, folgt aus Satz 3, daÿ kein Minimalpunkt<br />
existiert. Für die Konstruktion von Algorithmen ist es aber wichtig, die Eigenschaften<br />
quadratischer Optimierungsprobleme mit indeniten Hessematrizen zu verstehen,<br />
weil Iterationspunkte sehr weit entfernt von Minimalpunkten sein können. Falls<br />
gilt<br />
u T Hu < 0,<br />
nennen wir u eine Richtung negativer Krümmung. Falls u eine Richtung negativer Krümmung<br />
ist, so konvergiert f(x + tu) gegen −∞ für t → ∞.<br />
1.6. Beispiele<br />
In diesem Abschnitt werden einige Beispiele präsentiert, die bei der Entwicklung unserer<br />
Algorithmen nützlich sein werden. Mit den Beispielen <strong>kann</strong> <strong>man</strong> mit den Algorithmen<br />
experimentieren und mit den MATLABRoutinen spielen. Die Beispiele sind von einfacher<br />
Art und bilden keine vollständige Sammlung von Testproblemen.<br />
1.6.1. Diskrete optimale Steuerung<br />
Dies ist <strong>das</strong> klassische Beispiel für ein Problem, bei dem die Auswertungen von Gradienten<br />
wenig mehr <strong>als</strong> Funktionsauswertungen kosten.<br />
Wir beginnen mit einem stetigen Optim<strong>als</strong>teuerungsproblem, diskutieren, wie Gradienten<br />
berechnet werden und fahren dann mit den Diskretisierungen fort. Wir werden<br />
uns hier nicht länger mit den Fragen der Denition von Gradienten von Abbildungen,<br />
16
1.6. Beispiele<br />
die auf Funktionenräumen deniert sind beschäftigen können, obwohl diese Fragen bei<br />
Problemen der optimalen Steuerung sehr wichtig sind. Ausführliche Darstellungen der<br />
Funktionenräume und sorgfältige Diskussionen dieser Fragen ndet <strong>man</strong> in der Literatur.<br />
Das unendlichdimensionale Problem, von dem wir ausgehen ist<br />
mit der Zielfunktion<br />
f(u) =<br />
∫ T<br />
0<br />
min u<br />
f, (1.15)<br />
L(y(t), u(t), t) dt. (1.16)<br />
Wir suchen eine Lösungsfunktion u ∈ L ∞ [0, T ], die wir Steuerungsfunktion oder auch<br />
nur Steuerung nennen. Die Funktion L ist gegeben und y, die Zustandsvariable, löst <strong>das</strong><br />
Anfangswertproblem<br />
dy/dt = φ(y(t), u(t), t), y(0) = y 0 . (1.17)<br />
Man <strong>kann</strong> <strong>das</strong> Optimierungsproblem (1.15), (1.16), (1.17) <strong>als</strong> restringiertes Optimierungsproblem<br />
betrachten oder <strong>als</strong> unrestringiertes Problem, bei dem die Auswertung von f<br />
die Lösung des Anfangswertproblems (1.17) erfordert, bevor <strong>das</strong> Integral auf der rechten<br />
Seite von (1.16) ausgewertet werden <strong>kann</strong>. Man nennt <strong>das</strong> Anfangswertproblem (1.17)<br />
die Zustandsgleichung.<br />
Der Gradient ∇f(u) bezüglich dem L 2 Skalarprodukt ist, falls er existiert, eindeutig<br />
bestimmt durch die Gleichung<br />
Falls ∇f(u) existiert, gilt<br />
f(u + w) − f(u) −<br />
∫ T<br />
0<br />
∫ T<br />
[(∇f(u))(t)] T w(t) dt =<br />
0<br />
[(∇f(u))(t)] T w(t) dt = o(‖w‖). (1.18)<br />
df(u + ξw)<br />
| ξ=0 .<br />
dξ<br />
Falls L und φ stetig dierenzierbar sind, ist ∇f(u) <strong>als</strong> eine Funktion von t gegeben durch<br />
∇f(u)(t) = p(t)φ u (y(t), u(t), t) + L u (y(t), u(t), t). (1.19)<br />
In Gleichung (1.19) ist die adjungierte Variable p die Lösung des Endwertproblems auf<br />
[0, T ]<br />
− dp/dt(t) = p(t)φ y (y(t), u(t), t) + L y (y(t), u(t), t), p(T ) = 0. (1.20)<br />
Zur Berechnung des Gradienten braucht <strong>man</strong> <strong>als</strong>o u und y, <strong>als</strong>o eine Lösung der Zustandsgleichung,<br />
und p, was eine Lösung von (1.20) erfordert, einem Endwertproblem<br />
mit der adjungierten Gleichung. Im Allgemeinen ist (1.17) nichtlinear, aber (1.20) ist<br />
ein lineares Problem für p, <strong>das</strong> einfacher zu lösen sein sollte. Dies ist die Begründung<br />
für unsere Behauptung, daÿ eine Gradientenauswertung wenig mehr <strong>als</strong> eine Funktionsauswertung<br />
kostet.<br />
Das entsprechende diskretisierte Problem erhält <strong>man</strong> aus (1.17) durch numerische Integration<br />
des Anfangswertproblems. Zu diesem diskretisierten Problem <strong>kann</strong> <strong>man</strong> eine<br />
17
1. Grundlagen<br />
adjungierte Variable einführen und Gradienten mit einer diskretisierten Form von (1.19)<br />
berechnen. Allerdings hat Hager 1976 [19] gezeigt, daÿ die Gleichung für die ajungierte<br />
Variable zu dem diskretisierten Problem im Allgemeinen keine Diskretisierung von<br />
(1.20) ist. Für <strong>das</strong> EulerVorwärtsverfahren ist allerdings die adjungierte Gleichung zu<br />
dem diskretisierten Problem gleichzeitig die Diskretisierung der adjungierten Gleichung;<br />
deshalb verwenden wir dieses Verfahren hier.<br />
Das vollständig diskretisierte Problem ist min u f, mit u ∈ R N mit den Komponenten<br />
(u) 0 , (u) 1 ,...,(u) N−1 und<br />
f(u) =<br />
N−1 ∑<br />
j=0<br />
h L((y) j , (u) j , j h),<br />
wobei die Zustandskomponenten (y) j mit dem gegebenen Anfangszustand y 0 und der<br />
Eulerrekursion y j+1 = y j + hφ(y j , u j , j h) für j = 0,...,N − 1 berechnet werden. Dabei ist<br />
die Schrittweite h = T/N. Dann gilt<br />
mit (p) N−1 = 0 und<br />
für j = N − 1,...,0.<br />
(∇f(u)) k = hL u ((y) k , (u) k , k h) + h(p) k φ u ((y) k , (u) k , k h)<br />
(p) j−1 = (p) j + h [(p) j φ y ((y) j , (u) j , j h) + L y ((y) j , (u) j , j h)]<br />
1.6.2. Parameteridentizierung<br />
Dieses Beispiel stammt aus einer Arbeit von Banks und Tran. Das Problem ist klein<br />
mit N = 2. Gesucht sind ein Dämpfungsfaktor c und eine Federkonstante k einer linearen<br />
Feder, für die der Abstand zwischen einem gegebenen Satz von Messdaten und<br />
den entsprechenden numerischen Vorhersagen minimiert wird. Das Experiment besteht<br />
darin, <strong>das</strong> MasseFeder System aus dem Gleichgewicht auszulenken und die erzeugte<br />
Bewegung durch Messungen auf einem äquidistanten Zeitgitter zu beobachten.<br />
Die Bewegung des harmonischen Oszillators wird durch folgendes Anfangswertproblem<br />
beschrieben:<br />
u ′′ + cu ′ + ku = 0, u(0) = u 0 , u ′ (0) = 0. (1.21)<br />
Wir betrachten <strong>das</strong> Zeitintervall [0, T ]. Es sei x = (c, k) T der Vektor der unbe<strong>kann</strong>ten<br />
Parameter und, wenn die Parameterabhängigkeit explizit sein soll, schreiben wir u(t : x)<br />
anstelle von u(t) für die Lösung von (1.21). Falls die Auslenkung an den Zeitpunkten<br />
{t j } M j=1 gemessen wird, mit t j = (j−1)T/(M−1), und die entsprechenden Beobachtungen<br />
von u durch {u j } M j=1 gegeben sind, ist unsere Zielfunktion<br />
f(x) = 1 2<br />
M∑<br />
j=1<br />
|u(t j : x) − u j | 2 . (1.22)<br />
Dies ist ein Beispiel eines nichlinearen KleinsteQuadrateproblems.<br />
18
1.7. Übungen<br />
Die Funktion u ist dierenzierbar von x abhängig falls c 2 − 4k ≠ 0. Dann ist der<br />
Gradient von f gegeben durch<br />
∇f(x) =<br />
( ∑ Mj=1<br />
∂ c u(t j : x)(u(t j : x) − u j )<br />
∑ Mj=1<br />
∂ k u(t j : x)(u(t j : x) − u j )<br />
)<br />
. (1.23)<br />
Die Ableitungen von u(t : x) nach den Parametern können wir berechnen, indem wir die<br />
Sensitivitätsgleichung lösen. Wir dierenzieren (1.21) nach c und k und setzen w 1 = ∂ c u<br />
und w 2 = ∂ k u. Dann erhalten wir<br />
w ′′<br />
1 + u ′ + cw ′ 1 + kw 1 = 0, w 1 (0) = w ′ 1(0) = 0,<br />
w ′′<br />
2 + cw ′ 2 + u + kw 2 = 0, w 2 (0) = w ′ 2(0) = 0,<br />
(1.24)<br />
Falls c groÿ ist, werden die Anfangswertprobleme (1.21) und (1.24) steif und <strong>man</strong> sollte<br />
ein Verfahren mit variabler Schrittweite verwenden. Spezielle Verfahren zur Lösung steifer<br />
Systeme werden in der Literatur beschrieben. Bei den numerischen Beispielen wird<br />
<strong>das</strong> MATLAB Programm ode15s verwendet. Auch in dem Optim<strong>als</strong>teuerproblem aus<br />
1.6.1 <strong>kann</strong> Steigkeit auftreten, aber dies ist in unseren Beispielen nicht der Fall. Bei der<br />
numerische Lösung gewöhnlicher Dierentialgleichungen ist es wichtig, auf die Grenzen<br />
der Genauigkeit der berechneten Lösung zu achten, besonders, wenn <strong>man</strong> damit weiterrechnet,<br />
zum Beispiel um eine Hessematrix mit niten Dierenzen zu approximieren.<br />
1.6.3. Konvexe 2×2 Probleme<br />
Konvexe 2×2 Probleme sind in einem gewissem Sinne die einfachsten Optimierungsprobleme.<br />
Trotzdem stellen sie eine Herausforderung für ableitungsfreie Verfahren dar und<br />
können bei klassischen gradientenbasierten Verfahren wie dem Verfahren des steilsten<br />
Abstiegs grundsätzliche Schwierigkeiten verdeutlichen. In unseren Beispielen wählen wir<br />
N = 2, b = 0 und<br />
( )<br />
λmax 0<br />
H =<br />
0 λ min<br />
mit 0 < λ min ≤ λ max . Die zu minimierende Zielfunktion ist<br />
f(x) = x T Hx<br />
und der Minimpalpunkt ist x ∗ = (0, 0) T .<br />
Wenn λ max /λ min groÿ wird, werden die Niveaulinien von f zu länglichen Ellipsen. Im<br />
Falle λ max = λ min , wird min x f zu dem einfachsten Optimierungsproblem.<br />
1.7. Übungen<br />
19
1. Grundlagen<br />
Übung 1 (zum Verfahren der konjugierten Gradienten)<br />
Denition 3 (Konjugierte Richtungen) Die Vektoren p i ≠ 0 heiÿen konjugiert bezüglich<br />
der spd Matrix H (oder Hkonjugiert), falls aus i ≠ j folgt<br />
p T i Hp j = 0.<br />
1. Gegeben seien x 0 ∈ R N und eine Horthogonale Basis p 1 ,...,p N .<br />
Berechnen sie für die quadratische Funktion f aus (1.9) die Funktion<br />
2. Berechnen Sie die Zahl α j , so daÿ gilt<br />
f(x 0 +<br />
j∑<br />
i=1<br />
N∑<br />
f(x 0 + α i p i ).<br />
i=1<br />
j−1 ∑<br />
α i p i ) = min f(x 0 + α i p i + β j p j ).<br />
β j<br />
3. Für i = 1,...,N sei x i = x i−1 + α i p i und r i = −∇f(x i ) = b − Hx i . Zeigen sie:<br />
i=1<br />
r T i p j = 0 für j = 1, ..., i.<br />
Ausgehend von dem Startpunkt x 0 , wollen wir nun sukzessive x 1 bis x N berechnen.<br />
Dabei wollen wir die dazu benötigten Horthogonalen p i unter Verwendung von<br />
r i−1 ebenfalls sukzessive erzeugen. Wir berechnen <strong>als</strong>o x 0 , r 0 , p 1 , x 1 , r 1 , p 2 , x 2 , r 2 ,<br />
p 3 , ...<br />
Wir beginnen mit der Richtung des steilsten Abstiegs, p 1 = r 0 = b − Hx 0 und<br />
berechnen x 1 = x 0 + α 1 p 1 , mit α 1 = p T 1 r 0 /(p T 1 Hp 1 ) = r T 0 r 0 /(p T 1 Hp 1 ).<br />
4. Wir machen nun den Ansatz p 2 = r 1 + β 1 p 1 .<br />
Berechnen Sie p 2 , so daÿ gilt p T 1 Hp 2 = 0.<br />
Mit p 2 berechnen wir x 2 = x 1 + α 2 p 2 .<br />
Für p i+1 machen wir den Ansatz<br />
Dabei sollen die p i Horthogonal sein.<br />
i∑<br />
p i+1 = r i + β j p j .<br />
j=1<br />
5. Zeigen sie: Falls für alle j ≤ i − 1 gilt r j ∈ span{p 1 , ..., p j+1 } und α j ≠ 0, folgt<br />
0 = β 1 =...= β i−1 .<br />
6. Berechnen Sie β i !<br />
20
1.7. Übungen<br />
7. Zeigen Sie:<br />
Lösung<br />
1.<br />
rT i r i<br />
α i = rT i−1r i−1<br />
, β<br />
p T i = − .<br />
i Hp i ri−1r T i−1<br />
N∑ { }<br />
f(x) = f(x 0 ) + αi (x T 0 Hp i − p T i b) + (1/2)αi 2 p T i Hp i<br />
i=1<br />
2. Indem <strong>man</strong> die entsprechende Ableitung gleich Null setzt, erhält <strong>man</strong><br />
3. Es gilt<br />
Wir denieren die Hilfsfunktion<br />
Dann gilt<br />
α j = (p T j (b − Hx 0 ) )/(p T j Hp j ).<br />
f(x i ) = min<br />
β 1 ,...,β i<br />
f(x 0 +<br />
i∑<br />
β j p j ).<br />
j=1<br />
i∑<br />
ϕ(β 1 , ..., β i ) = f(x 0 + β j p j ).<br />
j=1<br />
ϕ(α 1 , ..., α i ) = min<br />
β 1 ,...,β i<br />
ϕ(β 1 , ..., β i ),<br />
<strong>als</strong>o folgt aus der notwendigen Optimalitaätsbedingung ∂ βj ϕ(α 1 , ..., α i ) = 0, wobei<br />
∂ βj die partielle Ableitung nach β j bezeichnet. Wegen ∂ βj ϕ(α 1 , ..., α i ) = ∇f(x i ) T p j =<br />
−r T i p j , für j ∈ {1, ..., i} folgt die Behauptung.<br />
4. Es gilt p 2 = r 1 + β 1 p 1 mit<br />
5. Nach Denition von r j gilt<br />
<strong>als</strong>o<br />
Aus Teil 3. folgt <strong>als</strong>o<br />
β 1 = − rT 0 Hr 1<br />
r T 0 Hr 0<br />
.<br />
r j = b − Hx j = b − Hx j−1 − α j Hp j = r j−1 − α j Hp j ,<br />
α j Hp j = r j−1 − r j .<br />
α j r T i Hp j = r T i (r j−1 − r j ),<br />
und wegen (r j−1 − r j ) ∈ span{p 1 , ..., p j+1 } folgt folgt r T i Hp j = 0 für j ≤ i − 1. Also<br />
gilt<br />
0 = p T j Hp i+1 = p T j Hr i + β j p T j Hp j = 0 + β j p T j Hp j<br />
für j ≤ i − 1 und es folgt die Behauptung.<br />
21
1. Grundlagen<br />
6. Wie in 4. folgt<br />
β i = − pT i Hr i<br />
p T i Hp i<br />
.<br />
7. Es gilt p T i r i−1 = p T i (r 0 − ∑ i−1<br />
j=1 α j Hp j ) = p T i r 0 . Also folgt α i = p T i r 0 /p T i Hp i =<br />
p T i r i−1 /p T i Hp i . Nach unserem Ansatz gilt p i = r i−1 + ∑ i−1<br />
j=1 β j p j , somit folgt p T i r i−1 =<br />
ri−1r T i−1 + ∑ i−1<br />
j=1 ri−1p T j = ri−1r T i−1 + 0, wobei die letzte Gleichung aus Teil 3. folgt.<br />
Wie in 5. folgt Hp i = (r i−1 − r i )/α i , <strong>als</strong>o −ri T Hp i = rir t i /α i . Somit gilt<br />
β i = r T i r i /(α i p T i Hp i ) = r T i r i /r T i−1r i−1 .<br />
Übung 2 (zum Optim<strong>als</strong>teuerungsproblem)<br />
Stetiges Problem<br />
Es seien die Funktionen L(Y, U, t) und φ(Y, U, t) zweimal stetig dierenzierbar. Für<br />
eine Steuerungsfunktion u ∈ L ∞ (0, T ) sei y(u, t) deniert <strong>als</strong> Lösung des Anfangswertproblems<br />
y(0) = y 0 , y ′ (t) = φ(y(t), u(t), t). Es sei<br />
f(u) =<br />
∫ T<br />
0<br />
L(y(u, t), u(t), t) dt.<br />
Wir interessieren uns für die Richtungsableitungen<br />
D d f(u) = lim<br />
ξ→0<br />
(f(u + ξd) − f(u))/ξ.<br />
1. Wir setzen voraus, <strong>das</strong>s die Richtungsableitung<br />
D d y(u)(t) = lim<br />
ξ→0<br />
(y(u + ξd, t) − y(u, t))/ξ<br />
existiert. Stellen sie ein Anfangswertproblem für D d y(u) auf!<br />
2. Zeigen Sie:<br />
D d f(u) =<br />
∫ T<br />
0<br />
L y (y(u, t), u(t), t)D d y(u)(t) + L u (y(u, t), u(t), t) d(t) dt.<br />
3. Zeigen Sie mit partieller Integration, <strong>das</strong>s für eine dierenzierbare Funktion p mit<br />
p(T ) = 0 gilt:<br />
∫ T<br />
0<br />
∫ T<br />
p(t)(d/dt)D d y(u)(t) dt = − p ′ (t)D d y(u)(t) dt.<br />
0<br />
4. Wir denieren nun p <strong>als</strong> Lösung des Endwertproblems<br />
p(T ) = 0, p ′ (t) = −L y (y(u, t), u(t), t) − p(t)φ y (y(u, t), u(t), t).<br />
Zeigen sie, <strong>das</strong>s dann unter Verwendung der bisherigen Ergebnisse folgt:<br />
22
1.7. Übungen<br />
D d f(u) =<br />
∫ T<br />
0<br />
L u (y(u, t), u(t), t)d(t) + p(t)φ u (y(u, t), u(t), t)d(t) dt.<br />
Diskretisiertes Problem<br />
Wir betrachten nun <strong>das</strong> diskretisierte Problem, mit u ∈ R N , u = (u 0 , ..., u N−1 ) T<br />
und der Schrittweite h = T/N.<br />
Wir setzen y j+1 = y j + hφ(y j , u j , jh), j = 0, ..., N − 1 und<br />
f(u) =<br />
N−1 ∑<br />
j=0<br />
h L(y j , u j , jh).<br />
5. Zeigen Sie, <strong>das</strong>s für die partiellen Ableitungen (df/du k ) gilt<br />
N−1<br />
df<br />
∑<br />
(u) = h∂ u L(y k , u k , kh) + h∂ y L(y j , u j , jh) dy j<br />
.<br />
du k du k<br />
6. Stellen Sie ein diskretes Anfangswertproblem (eine Rekursion) für die partiellen<br />
Ableitungen (d/du k )y j = ∂ k y j auf!<br />
7. Zeigen Sie, <strong>das</strong>s für p = (p 1 , ..., p N−1 ) mit p N−1 = 0 gilt<br />
N−1 ∑<br />
j=0<br />
p j (∂ k y j+1 − ∂ k y j ) =<br />
j=0<br />
N−1 ∑<br />
j=1<br />
(p j−1 − p j )∂ k y j .<br />
8. Wir denieren nun p folgendermaÿen:<br />
p N−1 = 0, p j−1 = p j + hp j ∂ y φ(y j , u j , jh) + hL y (y j , u j , jh).<br />
Zeigen Sie unter Verwendung der bisherigen Ergebnisse:<br />
Lösung<br />
∂ k f(u) = h∂ u L(y k , u k , kh) + hp k ∂ u φ(y k , u k , kh).<br />
1. Anfangsbedingung: D d y(u)(0) = 0. Dierentialgleichung:<br />
2. Dies folgt mit der Kettenregel.<br />
[D d y(u)(t)] ′ = φ y D d y(u)(t) + φ u (y(u, t), u(t), t)d(t).<br />
3. Dies folgt mit partieller Integration, da <strong>das</strong> Produkt p(t) D d y(u)(t) and den Randpunkten<br />
0 und T wegen D d y(u)(0) = 0 = p(T ) verschwindet.<br />
23
1. Grundlagen<br />
4.<br />
=<br />
=<br />
=<br />
=<br />
=<br />
D d f(u)<br />
∫ T<br />
0<br />
∫ T<br />
0<br />
∫ T<br />
0<br />
∫ T<br />
0<br />
L y (y(u, t), u(t), t)D d y(u)(t) + L u (y(u, t), u(t), t) d(t) dt<br />
−p ′ (t)D d y(u)(t) − p(t)φ y (y(u, t), u(t), t)D d y(u)(t) + L u (y(u, t), u(t), t) d(t) dt<br />
p(t)(d/dt)D d y(u)(t) − p(t)φ y (y(u, t), u(t), t)D d y(u)(t) + L u (y(u, t), u(t), t) d(t) dt<br />
p(t)[φ y (y(u, t), u(t), t)D d y(u)(t) + φ u (y(u, t), u(t), t)d(t)]<br />
−p(t)φ y (y(u, t), u(t), t)D d y(u)(t) + L u (y(u, t), u(t), t) d(t) dt<br />
∫ T<br />
0<br />
d(t)[L u (y(u, t), u(t), t) + p(t)φ u (y(u, t), u(t), t)] dt<br />
5. Die Behauptung folgt mit der Kettenregel, da für k ≠ j folgt<br />
und für k = j gilt du j<br />
du k<br />
= δ j k = 1.<br />
du j<br />
du k<br />
= δ j k = 0<br />
6. ∂ k y 0 = 0,<br />
∂ k y j+1 = ∂ k y j + hφ u (y j , u j , hj)δ j k + hφ y(y j , u j , hj)∂ k y j .<br />
7. Die Behauptung folgt wegen ∂ k y 0 = 0.<br />
8.<br />
∂ k f(u)<br />
= h∂ u L(y k , u k , kh) +<br />
= h∂ u L(y k , u k , kh) +<br />
= h∂ u L(y k , u k , kh) +<br />
= ∂ u L(y k , u k , kh) +<br />
N−1 ∑<br />
j=0<br />
N−1 ∑<br />
j=1<br />
N−1 ∑<br />
j=0<br />
N−1 ∑<br />
j=0<br />
h∂ y L(y j , u j , jh) dy j<br />
du k<br />
(p j−1 − p j − hp j φ y (y j , u j , jh)) dy j<br />
du k<br />
( dy j+1<br />
du k<br />
= ∂ u L(y k , u k , kh) + hp k ∂ u φ(y k , u k , kh)<br />
− dy j<br />
du k<br />
)p j − hp j φ y (y j , u j , jh) dy j<br />
du k<br />
p j [hφ u (y j , u j , hj)δ j k + hφ y(y j , u j , hj)∂ k y j ] − hp j φ y (y j , u j , jh))∂ k y j<br />
24
Übung 3<br />
1. Die Funktion u(t, k, c) sei die Lösung des Anfangswertproblems<br />
u ′′ + cu ′ + ku = 0; u(0) = u 0 , u ′ (0) = 0.<br />
1.7. Übungen<br />
Zeigen Sie: Die partiellen Ableitungen ∂ c u und ∂ k u existieren und sind stetig, falls<br />
4k ≠ c 2 .<br />
Erfüllen die partiellen Ableitungen die Sensitivitätsgleichungen?<br />
Lösung Man <strong>kann</strong> u analytisch berechnen. In der Lösung tritt der Ausdruck<br />
√<br />
c2 − 4k auf; alle anderen Ausdrücke sind glatt. Falls gilt 4k ≠ c 2 , so ist die<br />
Lösung <strong>als</strong>o glatt und erfüllt die Sensitivitätsgleichungen.<br />
2. Beweisen Sie:<br />
Falls gilt: f ist zweimal stetig dierenzierbar, ∇f(x ∗ ) = 0 und ∇ 2 f(x ∗ ) ist positiv<br />
denit, so gibt es eine Zahl δ > 0, so daÿ für alle x ∈ B(δ) gilt:<br />
a)<br />
‖∇ 2 f(x)‖ ≤ 2 ‖∇ 2 f(x ∗ )‖,<br />
b)<br />
‖(∇ 2 f(x)) −1 ‖ ≤ 2 ‖(∇ 2 f(x ∗ )) −1 ‖,<br />
c)<br />
1<br />
‖(∇ 2 f(x ∗ )) −1 ‖<br />
Lösung a) Aus der Dreiecksungleichung folgt<br />
‖e‖<br />
2 ≤ ‖∇f(x)‖ ≤ 2 ‖∇2 f(x ∗ )‖ ‖e‖.<br />
‖∇ 2 f(x)‖ ≤ ‖∇ 2 f(x) − ∇ 2 f(x ∗ )‖ + ‖∇ 2 f(x ∗ )‖.<br />
Wegen ‖∇ 2 f(x ∗ )‖ > 0 <strong>kann</strong> <strong>man</strong> aufgrund der Stetigkeit von ∇ 2 f eine Zahl δ > 0<br />
nden, so daÿ für alle x ∈ B(δ) gilt ‖∇ 2 f(x) − ∇ 2 f(x ∗ )‖ ≤ ‖∇ 2 f(x ∗ )‖.<br />
3. Es seien N = 2, d ∈ R N und f(x) = x T d + x T x. Gegeben ist ein Startpunkt<br />
x 0 ∈ R N . Führen Sie <strong>das</strong> Verfahren der konjugierten Gradienten durch!<br />
Lösung Es gilt −∇f(x) = −d − 2x. Damit erhalten wir<br />
r 0 = −d − 2x 0 = p 1 ,<br />
α 1 = (r T 0 r 0 )/(p T 1 p 1 ) = 1,<br />
x 1 = x 0 + α 1 p 1 = −d − x 0 ,<br />
r 1 = −r 0 ,<br />
β 1 = −(r T 1 r 1 )/(r T 0 r 0 ) = −1,<br />
p 2 = r 1 + β 1 p 1 = r 1 − r 0 = −2r 0 ,<br />
α 2 = (r T 1 r 1 )/(p T 2 p 2 ) = 1/4,<br />
x 2 = x 1 + α 2 p 2 = −d/2, r 2 = −d − 2x 2 = 0.<br />
Wird die Voraussetzung N = 2 benötigt?<br />
25
1. Grundlagen<br />
26
2. Lokale Konvergenz des<br />
Newtonverfahrens<br />
Mit einem lokal konvergenten Verfahren bezeichnen wir einen Algorithmus, bei dem der<br />
Startpunkt x 0 hinreichend nahe bei einem lokalen Minimalpunkt x ∗ liegen muÿ, in dem<br />
die hinreichenden Optimalitaätsbedingungen erfüllt sind.<br />
2.1. Konvergenzarten<br />
Wir beginnen mit der Standardklassizierung von Konvergenzraten.<br />
Denition 4 Es sei {x n } ⊂ R N und x ∗ ∈ R N . Die Folge {x n } konvergiert gegen x ∗<br />
• q-quadratisch, falls {x n } gegen x ∗ konvergiert und es K > 0 gibt mit<br />
‖x n+1 − x ∗ ‖ ≤ K‖x n − x ∗ ‖ 2 .<br />
• q-superlinear mit qOrdnung α > 1, falls {x n } gegen x ∗ konvergiert und es K > 0<br />
gibt mit<br />
‖x n+1 − x ∗ ‖ ≤ K‖x n − x ∗ ‖ α .<br />
• q-superlinear, falls gilt<br />
‖x n+1 − x ∗ ‖<br />
lim<br />
n→∞ ‖x n − x ∗ ‖ = 0.<br />
• q-linear mit q-Faktor σ ∈ (0, 1), falls für hinreichend groÿe n gilt<br />
‖x n+1 − x ∗ ‖ ≤ σ‖x n − x ∗ ‖.<br />
Denition 5 Ein Iterationsverfahren zur Berechnung von x ∗ heiÿt lokal (qquadratisch,<br />
qsuperlinear, qlinear, etc.) konvergent, falls die Iterationspunkte gegen x ∗ (qquadratisch,<br />
qsuperlinear, qlinear, etc.) konvergieren, wenn der Startpunkt hinreichend gut ist.<br />
Eine qsuperlinear konvergente Folge ist auch qlinear konvergent mit qFaktor σ<br />
für alle σ > 0. Eine qquadratisch konvergente Folge ist qsuperlinear konvergent mit<br />
qOrdnung 2.<br />
Oft ist es sinnvoll die Auswertung der Zielfunktion und ihres Gradienten bei fortschreidender<br />
Iteration mit zunehmender Genauigkeit durchzuführen. Um die Konvergenz der<br />
entsprechenden Iterationsfolge zu beschreiben, verwenden wir den Begri der Konvergenz<br />
vom rTyp.<br />
27
2. Lokale Konvergenz des Newtonverfahrens<br />
Denition 6 Es sei {x n } ⊂ R N und x ∗ ∈ R N . Die Folge {x n } konvergiert gegen x ∗<br />
rquadratisch (rsuperlinear, rlinear), falls es eine reelle Zahlenfolge {ξ n } gibt die q<br />
quadratisch (qsuperlinear, qlinear) gegen Null konvergiert und für die gilt<br />
‖x n − x ∗ ‖ ≤ ξ n .<br />
Wir sagen, die Folge {x n } konvergiert rsuperlinear mit rOrdnung α > 1, falls die<br />
Folge {ξ n } qsuperlinear mit qOrdnung α > 1 gegen 0 konvergiert.<br />
2.2. Standardvoraussetzungen<br />
Wir werden für lokale Minimalpunkte Standardvoraussetzungen einführen, die gewährleisten,<br />
daÿ <strong>das</strong> Newtonverfahren lokal qquadratisch gegen x ∗ konvergiert. Die Standardvoraussetzungen<br />
sind die gleichen wie bei nichtlinearen Gleichungssystemen.<br />
Wir setzen im folgenden voraus, daÿ f und x ∗ die Voraussetzung 1) erfüllen.<br />
Voraussetzung 1<br />
1. f ist zweimal stetig dierenzierbar und es gibt γ > 0, so daÿ für alle x, y gilt<br />
2. ∇f(x ∗ ) = 0.<br />
3. ∇ 2 f(x ∗ ) ist positiv denit.<br />
‖∇ 2 f(x) − ∇ 2 f(y)‖ ≤ γ‖x − y‖. (2.1)<br />
Wir setzen <strong>als</strong>o mit Teil 1 der Standardvoraussetzungen voraus, daÿ f zweimal Lipschitz<br />
stetig dierenzierbar mit der Lipschitzkonstante γ ist.<br />
Wenn die Standardvoraussetzungen erfüllt sind, folgt aus Satz 4, daÿ x ∗ ein lokaler<br />
Minimalpunkt von f ist. Auÿerdem gelten für <strong>das</strong> nichtlineare Gleichungssystem<br />
∇f(x ∗ ) = 0 die Standardvoraussetzungen für die qquadratische Konvergenz des Newtonverfahrens.<br />
Es können <strong>als</strong>o alle lokalen Konvergenzergebnisse für nichtlineare Gleichungssysteme<br />
auf unrestringierte Optimierungsprobleme angewendet werden. Die Ergebnisse<br />
müssen aber auch im Optimierungskontext interpretiert werden. Wir werden<br />
zum Beispiel die Tatsache ausnutzen, daÿ die Hessematrix (die Jacobimatrix von ∇f) in<br />
x ∗ positiv denit ist, wenn wir <strong>das</strong> lineare Gleichungssystem beim Newtonschritt lösen.<br />
2.3. Das Newtonverfahren<br />
Wir werden iterative Verfahren durch die Übergangsvorschrift von einem aktuellen Iterationspunkt<br />
x c (current iteration) zu einem neuen Iterationspunkt x + beschreiben. Für<br />
ein nichtlineares Gleichungssystem F (x) = 0 ist zum Beispiel x + die Nullstelle des lokalen<br />
linearen Modells M c von F um x c<br />
M c (x) = F (x c ) + F ′ (x c )(x − x c ).<br />
28
2.3. Das Newtonverfahren<br />
Durch <strong>das</strong> Auösen der Gleichung M c (x + ) = 0 nach x + erhält <strong>man</strong> die Standardformel<br />
für die Newtoniteration,<br />
x + = x c − F ′ (x c ) −1 F (x c ). (2.2)<br />
Man könnte nun sagen: Das Newtonverfahren in der unrestringierten Optimierung ist <strong>als</strong>o<br />
nicht anderes <strong>als</strong> <strong>das</strong> Newtonverfahren für <strong>das</strong> nichtlineare Gleichungssystem ∇f(x) =<br />
0. Es ist jedoch Vorsicht geboten, wenn x c in der Nähe eines Maximalpunktes ist. Daher<br />
interpretieren wir x + <strong>als</strong> Minimalpunkt des lokalen quadratischen Modells von f um x c ,<br />
m c (x) = f(x c ) + ∇f(x c ) T (x − x c ) + 1 2 (x − x c) T ∇ 2 f(x c )(x − x c ).<br />
Falls ∇ 2 f(x c ) positiv denit ist, ist der Minimalpunkt x + von m c die eindeutige Lösung<br />
der Gleichung ∇m c (x) = 0. Daher gilt<br />
x + = x c − (∇ 2 f(x c )) −1 ∇f(x c ), (2.3)<br />
<strong>als</strong>o Gleichung (2.2) mit F ersetzt durch ∇f und F ′ durch ∇ 2 f. Natürlich wird bei<br />
der Berechnung von x + keine Matrix invertiert. Stattdessen löst <strong>man</strong> <strong>das</strong> lineare Gleichungssystem<br />
(∇ 2 f(x c ))s = −∇f(x c ), (2.4)<br />
und erhält den Schritt s. Dann folgt mit (2.3) die Gleichung x + = x c + s.<br />
Falls x c weit weg von jedem lokalen Minimalpunkt liegt, könnte ∇ 2 f(x c ) negative<br />
Eigenwerte haben; dann hat auch <strong>das</strong> quadratische Modell keine lokalen Minimalpunkte,<br />
und M c , <strong>das</strong> lokale lineare Modell von ∇f um x c , könnte Nullstellen haben, die zu<br />
lokalen Maxima oder Sattelpunkten von m c gehören. Daher ist die Verbindung zwischen<br />
dem Newtonverfahren für die Optimierung und dem Newtonverfahren für nichtlineare<br />
Gleichungssysteme nur in der Nähe eines lokalen Minimalpunktes f sinnvoll.<br />
Lemma 1 Wir setzen voraus, daÿ Voraussetzung 1 gilt. Dann gibt es δ > 0, so daÿ für<br />
alle x ∈ B(δ) gilt<br />
mit e = x − x ∗ .<br />
‖∇ 2 f(x)‖ ≤ 2‖∇ 2 f(x ∗ )‖, (2.5)<br />
‖(∇ 2 f(x)) −1 ‖ ≤ 2‖(∇ 2 f(x ∗ )) −1 ‖, (2.6)<br />
‖(∇ 2 f(x ∗ )) −1 ‖ −1 ‖e‖/2 ≤ ‖∇f(x)‖ ≤ 2 ‖∇ 2 f(x ∗ )‖ ‖e‖, (2.7)<br />
Nun beweisen wir die lokale Konvergenz des Newtonverfahrens.<br />
Satz 5 Voraussetzung 1 sei erfüllt. Dann gibt es K > 0 und δ > 0, so daÿ für x c ∈ B(δ),<br />
der durch (2.3) denierte Newtoniterationspunkt x + folgende Ungleichung erfüllt:<br />
‖e + ‖ ≤ K‖e c ‖ 2 . (2.8)<br />
29
2. Lokale Konvergenz des Newtonverfahrens<br />
Beweis. Wir wählen δ so klein, daÿ die Aussagen aus Lemma 1 gelten. Aus Satz 1<br />
folgt<br />
∫ 1 (<br />
e + = e c − ∇ 2 f(x c ) −1 ∇f(x c ) = ∇ 2 f(x c ) −1 ∇ 2 f(x c ) − ∇ 2 f(x ∗ + te c ) ) e c dt.<br />
Aus Lemma 1 und der Lipschitzstetigkeit von ∇ 2 f folgt<br />
‖e + ‖ ≤ (2‖∇ 2 f(x ∗ )) −1 ‖)γ‖e c ‖ 2 /2.<br />
Wir erhalten die gewünschte Ungleichung mit K = γ‖∇ 2 f(x ∗ )) −1 ‖.<br />
Wie bei den nichtlinearen Gleichungssystemen folgt aus Satz 5 die lokale quadratische<br />
Konvergenz des Verfahrens.<br />
Satz 6 Voraussetzung 1 sei erfüllt. Dann gibt es δ > 0, so daÿ für alle x 0 ∈ B(δ), die<br />
Newtoniteration<br />
x n+1 = x n − (∇ 2 f(x n )) −1 ∇f(x n )<br />
qquadratisch gegen x ∗ konvergiert.<br />
Beweis. Wir wählen δ so klein, daÿ die Aussagen aus Satz 5 gelten und zusätzlich gilt<br />
Kδ = η < 1. Für n > 0 und x n ∈ B(δ) folgt aus Satz 5<br />
0<br />
‖e n+1 ‖ ≤ K‖e n ‖ 2 ≤ η‖e n ‖ < ‖e n ‖, (2.9)<br />
<strong>als</strong>o gilt x n+1 ∈ B(ηδ) ⊂ B(δ). Da x 0 in B(δ) ist, bleibt <strong>als</strong>o die gesamte Folge {x n } in<br />
B(δ). Nun folgt aus (2.9) die qquadratische Konvergenz.<br />
Die positive Denitheit von ∇ 2 f beim Newtonverfahren für Optimierung ermöglicht<br />
eine Implementierung unter Verwendung der Choleskyzerlegung<br />
∇ 2 f(u) = LL T , (2.10)<br />
wobei L eine untere Dreiecksmatrix mit positiven Diagonalelementen ist.<br />
Wir beenden die Iteration, wenn die Norm von ∇f hinreichend klein ist. Ein natürliches<br />
Abbruchkriterium ist es, eine relative Verkleinerung in ∇f zu fordern und<br />
abzubrechen, wenn gilt<br />
‖∇f(x n )‖ ≤ τ r ‖∇f(x 0 )‖, (2.11)<br />
wobei τ r ∈ (0, 1) die gewünschte Verkleinerung in der Gradientennorm ist. Falls ‖∇f(x 0 )‖<br />
sehr klein ist, wird unter Umständen Bedingung (2.11) in Gleitpunktarithmetik nicht zu<br />
erfüllen sein, so daÿ der Algorithmus nicht abbricht. Damit <strong>das</strong> nicht passiert, verändert<br />
<strong>man</strong> <strong>das</strong> Abbruchkriterium mit dem relativen Fehler, indem <strong>man</strong> eine Kombination aus<br />
absolutem und relativen Maÿ für ∇f hernimmt, und abbricht falls gilt<br />
‖∇f(x n )‖ ≤ τ r ‖∇f(x 0 )‖ + τ a . (2.12)<br />
Die Zahl τ a in (2.12) ist eine absolute Fehlertoleranz. Auch im folgenden werden die<br />
Abbruchkriterien einiger Algorithmen von einem Paar τ = (τ r , τ a ) aus relativer und<br />
absoluter Fehlertoleranz abhängen.<br />
30
2.4. Inexakte Newtonverfahren<br />
Algorithmus 3 (newton(x, f, τ))<br />
1. r 0 = ‖∇f(x)‖<br />
2. Do while ‖∇f(x)‖ > τ r r 0 + τ a<br />
(a) Compute ∇ 2 f(x)<br />
(b) Factor ∇ 2 f(x) = LL T<br />
(c) Solve LL T s = −∇f(x)<br />
(d) x = x + s<br />
(e) Compute ∇f(x)<br />
Der hier formulierte Algorithmus newton ist noch nicht ganz überzeugend, weil der<br />
Wert der Zielfunktion f nicht benutzt wird und Schritt 2.(b) nicht funktioniert, wenn<br />
∇ 2 f(x) nicht positiv denit ist. Solch ein Fehler könnte <strong>als</strong> Indikator dafür verwendet<br />
werden, daÿ der aktuelle Punkt zu weit weg von jedem Minimalpunkt liegt, um <strong>das</strong><br />
Newtonverfahren zu verwenden. Wenn wir aber nahe genug bei einem Minimalpunkt<br />
sind, wie wir es in diesem Kapitel voraussetzen, funktioniert <strong>das</strong> Newtonverfahren wie<br />
bei nichtlinearen Gleichungen.<br />
2.4. Inexakte Newtonverfahren<br />
Ein inexaktes Newtonverfahren verwendet einen approximativen Newtonschritt s = x + −<br />
x c , bei dem nur verlangt wird, daÿ gilt<br />
‖∇ 2 f(x c )s + ∇f(x c )‖ ≤ η c ‖∇f(x c )‖, (2.13)<br />
<strong>das</strong> heiÿt, <strong>das</strong> lineare Residuum soll klein sein. Für ein gegebenes η c < 1 bezeichnen<br />
wir jeden Vektor s, der die Ungleichung (2.13) erfüllt <strong>als</strong> inexakten Newtonschritt. Wir<br />
bezeichnen den Parameter η c auf der rechten Seite von (2.13) <strong>als</strong> Zwangsterm. Wir betrachten<br />
hier newtoniterative Verfahren. Das sind die Verfahren, bei denen die lineare<br />
Gleichung (2.4) beim Newtonschritt auch durch ein iteratives Verfahren gelöst wird und<br />
zwar mit dem Abbruchkriterium (2.13) für diese lineare Iteration. Man nennt die Folge<br />
der Newtonschritte die äuÿere Iteration und die Schritte für die lineare Gleichung die<br />
innere Iteration. Die Konvention ist, daÿ zum Beispiel Newtoncg <strong>das</strong> newtoniterative<br />
Verfahren bezeichnet, bei dem die innere Iteration mit dem Verfahren der konjugierten<br />
Gradienten durchgeführt wird. Newtoncg ist für Optimierungsprobleme besonders<br />
geeignet, weil die Hessematrizen positiv denit sind, wenn wir nahe genug bei einem<br />
Minimalpunkt sind.<br />
2.4.1. Konvergenzraten<br />
Satz 7 Voraussetzung 1 sei erfüllt. Dann gibt es δ > 0 und K I , so daÿ für alle x c ∈ B(δ)<br />
und s, η c , die (2.13) erfüllen und x + = x c + s gilt<br />
‖e + ‖ ≤ K I (‖e c ‖ + η c )‖e c ‖. (2.14)<br />
31
2. Lokale Konvergenz des Newtonverfahrens<br />
Beweis. Wir wählen δ > 0 so klein, daÿ die Aussagen von Lemma 1 und Satz 5 gelten.<br />
Wir setzen<br />
r = −∇ 2 f(x c )s − ∇f(x c ),<br />
r ist <strong>als</strong>o <strong>das</strong> lineare Residuum. Dann gelten die Gleichungen<br />
und<br />
Aus Satz 5 folgt die Ungleichung<br />
s + ∇ 2 f(x c ) −1 ∇f(x c ) = −(∇ 2 f(x c )) −1 r<br />
e + = e c + s = e c − ∇ 2 f(x c ) −1 ∇f(x c ) − (∇ 2 f(x c )) −1 r. (2.15)<br />
‖e c − ∇ 2 f(x c ) −1 ∇f(x c )‖ ≤ K‖e c ‖ 2 .<br />
Aus Lemma 1 und (2.13) folgt die Ungleichung<br />
Also gilt<br />
‖(∇ 2 f(x c )) −1 r‖ ≤ 4η c κ(∇ 2 f(x ∗ ))‖e c ‖.<br />
‖e + ‖ ≤ K‖e c ‖ 2 + 4η c κ(∇ 2 f(x ∗ ))‖e c ‖.<br />
Mit K I = K + 4κ(∇ 2 f(x ∗ )) folgt die Behauptung.<br />
Satz 8 Voraussetzung 1 sei erfüllt. Dann gibt es δ > 0 und η, so daÿ für alle x 0 ∈ B(δ)<br />
und {η n } ⊂ [0, η] die inexakte Newtoniteration<br />
mit<br />
x n+1 = x n + s n<br />
‖∇ 2 f(x n )s n + ∇f(x n )‖ ≤ η n ‖∇f(x n )‖<br />
qlinear gegen x ∗ konvergiert.<br />
Auÿerdem gilt: Falls die Folge {η n } gegen Null konvergiert, ist die Konvergenz der<br />
Folge {x n } superlinear und falls gilt η n ≤ K η ‖∇f(x n )‖ p für ein K η > 0 und p ∈ (0, 1],<br />
ist die Konvergenz qsuperlinear mit qOrdnung 1 + p.<br />
Der folgende Satz 9 besagt, daÿ jede Verkleinerung des relativen linearen Residuums<br />
hinreichend für lineare Konvergenz ist bezüglich der durch die Hessematrix induzierten<br />
Norm. Daraus folgt, daÿ die Folge der Gradientennormen ‖∇f(x n )‖ qlinear gegen Null<br />
konvergiert, oder anders gesagt, daÿ die Iterationsfolge {x n } qlinear gegen x ∗ konvergiert<br />
bezüglich der Norm ‖ · ‖ ∗ , deniert durch<br />
‖x‖ ∗ = ‖∇ 2 f(x ∗ )x‖.<br />
Satz 9 Voraussetzung 1 sei erfüllt. Es seien η ∈ (0, 1) und η ∈ (0, η) gegeben. Dann gibt<br />
es δ > 0, so daÿ für alle x c ∈ B(δ) und s, η c ∈ (0, η], die (2.13) erfüllen und x + = x c + s<br />
gilt<br />
‖e + ‖ ∗ ≤ η‖e c ‖ ∗ . (2.16)<br />
32
2.4. Inexakte Newtonverfahren<br />
Damit erhält <strong>man</strong> folgende Konvergenzaussage.<br />
Satz 10 Voraussetzung 1 sei erfüllt. Es seien η ∈ (0, 1) und η ∈ (0, η) gegeben.<br />
Dann gibt es δ > 0, so daÿ für alle x 0 ∈ B(δ) und {η n } ⊂ [0, η] die inexakte Newtoniteration<br />
x n+1 = x n + s n<br />
mit<br />
‖∇ 2 f(x n )s n + ∇f(x n )‖ ≤ η n ‖∇f(x n )‖<br />
qlinear bezüglich ‖ · ‖ ∗ gegen x ∗ konvergiert.<br />
Die qlineare Konvergenz der Iterationsfolge {x n } gegen einen lokalen Minimalpunkt<br />
x ∗ bezüglich der dazugehörigen Norm ‖ · ‖ ∗ ist äquivalend zur qlinearen Konvergenz<br />
der Gradientenfolge {∇f(x n )} gegen Null. Die Konvergenzrate der Gradientenfolge <strong>kann</strong><br />
daher bei numerischen Experimenten verwendet werden, um verschiedene Verfahren zu<br />
vergleichen.<br />
2.4.2. Implementierung von Newtoncg<br />
Unsere Implementierung des Newtoncg Verfahrens löst <strong>das</strong> lineare Gleichungssystem<br />
für den Newtonschritt approximativ mit dem cgVerfahren. Die Theorie garantiert, daÿ<br />
falls x 0 nahe genug bei einem lokalen Minimalpunkt liegt, die Hessematrizen ∇ 2 f(x n )<br />
während der Iteration positiv denit bleiben und die Konvergenz schnell erfolgt. Daher<br />
bricht der Algorithmus nicht ab, wenn die Zielfunktionswerte ansteigen oder eine inde-<br />
nite Hessematrix auftritt. Sowohl der Zwangsterm η <strong>als</strong> auch der Präkonditionierer M<br />
können sich währen der Iteration ändern.<br />
Algorithmus 4 (newtcg(x, f, τ, η))<br />
1. r 0 = ‖∇f(x)‖<br />
2. Do while ‖∇f(x)‖ > τ r r 0 + τ a<br />
(a) Select η and a preconditioner M.<br />
(b) pcg(s, −∇f(x), ∇ 2 f(x), M, η, kmax)<br />
(c) x = x + s<br />
(d) Evaluate f(x), ∇f(x), ∇ 2 f(x)<br />
Falls ∇ 2 f(x) nicht positiv denit ist, stop.<br />
33
2. Lokale Konvergenz des Newtonverfahrens<br />
2.5. Übungen<br />
Übung 4 Beweisen Sie Satz 9:<br />
Voraussetzung 1 sei erfüllt. Es seien η ∈ (0, 1) und η ∈ (0, η) gegeben.<br />
Dann gibt es δ > 0, so daÿ für alle x c ∈ B(δ) und s, η c ∈ (0, η], die die Ungleichung<br />
erfüllen und x + = x c + s gilt<br />
Lösung<br />
1. Zeigen Sie zunächst die Ungleichung<br />
und folgern Sie daraus<br />
2. Zeigen Sie<br />
‖∇ 2 f(x c )s + ∇f(x c )‖ ≤ η c ‖∇f(x c )‖<br />
‖∇ 2 f(x ∗ )e + ‖ ≤ η‖∇ 2 f(x ∗ )e c ‖.<br />
‖∇f(x) − ∇ 2 f(x ∗ )e‖ ≤ (γ/2)‖e‖ 2<br />
‖∇ 2 f(x ∗ )e‖ ≤ ‖∇f(x)‖ + (γ/2)‖2‖ 2 ,<br />
‖∇f(x)‖ ≤ ‖∇ 2 f(x ∗ )e‖ + (γ/2)‖e‖ 2 .<br />
‖∇f(x + )‖ ≤ ‖∇ 2 f(x c )s + ∇f(x c )‖ + (γ/2)‖s‖ 2 ≤ η c ‖∇f(x c )‖ + (γ/2)‖s‖ 2 .<br />
3. Folgern Sie nun die Ungleichung<br />
‖∇ 2 f(x ∗ )e + ‖ ≤ η c ‖∇ 2 f(x ∗ )e c ‖ + (η c γ/2)‖e c ‖ 2 + (γ/2)(‖e + ‖ 2 + ‖s‖ 2 ).<br />
4. Zeigen Sie, ‖e + ‖ ≤ ‖e c ‖ + ‖s‖ und es gibt C 1 > 0 mit ‖s‖ ≤ C 1 ‖e c ‖.<br />
5. Überlegen Sie, wie daraus die Behauptung folgt!<br />
Übung 5 Leiten Sie die Iterationsvorschrift für <strong>das</strong> Newtonverfahren zur Minimierung<br />
der Funktion<br />
f(x) = exp(x 2 )<br />
her!<br />
Was <strong>kann</strong> <strong>man</strong> über die Konvergenz der erzeugten Folge aussagen?<br />
Leiten Sie eine Rekursionsformel für <strong>das</strong> inexakte Newtonverfahren zur Minimierung<br />
der Funktion f her! Verwenden Sie dabei die Darstellung<br />
f ′′ (x n )s n = −f ′ (x n )(1 + η n ).<br />
Was <strong>kann</strong> <strong>man</strong> über die Konvergenz der erzeugten Folge aussagen, falls die Folge (η n ) n∈N<br />
beschränkt ist?<br />
Was <strong>kann</strong> <strong>man</strong> über die Konvergenz der erzeugten Folge aussagen, falls die Folge<br />
(η n ) n∈N gegen Null konvergiert?<br />
34
2.5. Übungen<br />
Lösung Exaktes Newtonverfahren:<br />
2x 2 n<br />
x n+1 = x n<br />
1 + 2x 2 n<br />
Falls x n ≠ 0, gilt<br />
|x n+1 |<br />
= 2x2 n<br />
< 1.<br />
|x n | 1 + 2x 2 n<br />
Das Newtonverfahren Konvergiert hier <strong>als</strong>o von jedem Startpunkt aus. Falls x 0 ≠ 0 gilt<br />
|x n+1 |<br />
lim<br />
n→∞ |x 3 n|<br />
= 2.<br />
Die Konvergenz ist <strong>als</strong>o qsuperlinear mit der qOrdnung 3 (kubisch).<br />
Inexaktes Newtonverfahren:<br />
x n+1 = x n<br />
2x 2 n − η n<br />
1 + 2x 2 n<br />
Falls die Folge |η n | beschränkt ist mit lim sup n→∞ |η n | < 1, folgt:<br />
Die Folge (x n ) n konvergiert qlinear gegen Null.<br />
Falls gilt lim n η n = 0 folgt:<br />
Die Folge (x n ) n konvergiert qsuperlinear gegen Null.<br />
Falls gilt lim sup n |η n /x n | < ∞ folgt:<br />
Die Folge (x n ) n konvergiert qquadratisch gegen Null.<br />
Falls gilt lim sup n |η n /x 2 n| < ∞ folgt:<br />
Die Folge (x n ) n konvergiert qkubisch gegen Null.<br />
Übung 6 Gegeben sind b ∈ R N und die symmetrische N × N Matrix A, die einen<br />
negativen Eigenwert besitzt. Zeigen Sie: Die Funktion<br />
hat keinen Minimalpunkt.<br />
f(x) = x T Ax + x T b<br />
Lösung Es gelte Ae = λe mit λ < 0. Dann folgt für alle x<br />
lim f(x + te) = f(x) + lim<br />
t→∞ t→∞ t(2xT Ae + e T b) + t 2 λe T e = −∞.<br />
Übung 7 Im Fall N = 1 <strong>kann</strong> <strong>man</strong> <strong>das</strong> lokale quadratische Modell leicht durch ein<br />
lokales Modell vierter Ordnung ersetzen. (Warum wäre ein kubisches Modell nicht sinnvoll?)<br />
Welche Konvergenzrate würde <strong>man</strong> bei einem Verfahren erwarten, <strong>das</strong> auf der Minimierung<br />
des lokalen Modells vierter Ordnung basiert? Könnte <strong>man</strong> dies auf den Fall<br />
N > 1 erweitern?<br />
35
2. Lokale Konvergenz des Newtonverfahrens<br />
36
3. Globale Konvergenz<br />
Die bisher diskutierten lokal konvergenten Algorithmen funktionieren nicht unbedingt,<br />
wenn der Anfanspunkt nicht nahe bei einem Minimalpunkt liegt. Der Grund dafür ist die<br />
Tatsache, daÿ die Newtonrichtung dann nicht unbedingt eine Abstiegsrichtung für die<br />
Zielfunktion sein muÿ und daÿ selbst wenn sie eine Abstiegsrichtung ist, die Schrittweite<br />
zu groÿ sein <strong>kann</strong>. Daher <strong>kann</strong> ein Newtonschritt zu einem Anstieg des Funktionswertes<br />
führen und es kommt vor, daÿ die Iterationspunkte divergieren. Die global konvergenten<br />
Algorithmen, die wir nun betrachten, lösen dieses Problem, indem sie entweder einen lokalen<br />
Minimalpunkt nden oder nach Überprüfung einiger weniger, leicht verizierbarer<br />
Abbruchkriterien abbrechen.<br />
Dies sind jedoch keine Verfahren zur globalen Optimierung. Wenn diese Methoden auf<br />
Probleme mit vielen lokalen Minimalpunkten angewendet werden, hängt <strong>das</strong> Ergebnis<br />
der Iteration in komplexer Weise vom Anfangspunkt ab.<br />
3.1. Das Verfahren des steilsten Abstiegs<br />
Die Richtung des steilsten Abstiegs von x aus ist d = −∇f(x). Das Verfahren des steilsten<br />
Abstiegs (Cauchy 1847, [7]) geht von dem aktuellen Iterationspunkt x c zu<br />
x + = x c − λ∇f(x c ). (3.1)<br />
Wenn wir einfach λ = 1 wählen, ist nicht garantiert, daÿ x + näher an einer Lösung<br />
liegt <strong>als</strong> x c , sogar wenn x c sehr nahe bei einer Lösung liegt, die Voraussetzung 1 erfüllt.<br />
Als Grund dafür <strong>kann</strong> <strong>man</strong> ansehen, daÿ die Richtung des steilsten Abstiegs im<br />
Gegensatz zur Newtonrichtung von der Skalierung von f abhängt. Die Newtonrichtung<br />
ist dagegen die gleiche für f wie für γf für alle γ ≠ 0 , ist aber dafür nicht immer eine<br />
Abstiegsrichtung für f.<br />
Damit <strong>das</strong> Verfahren des steilsten Abstiegs funktioniert, ist die Wahl der Schrittweite<br />
λ wichtig. Eine Möglichkeit ist die Wahl λ = β m , mit β ∈ (0, 1), wobei m ≥ 0 die kleinste<br />
nichtnegative ganze Zahl ist, für die f hinreichend verkleinert wird. Für <strong>das</strong> Verfahren<br />
des steilsten Abstiegs heiÿt <strong>das</strong><br />
f(x c − λ∇f(x c )) − f(x c ) < −αλ‖∇f(x c )‖ 2 , (3.2)<br />
mit einem Parameter α ∈ (0, 1). Diese Strategie wurde 1966 von Armijo in [1] eingeführt<br />
und heiÿt daher Armijoregel. Sie ist ein Beipsiel für eine Liniensuche, bei der auf<br />
einem Strahl gesucht wird, der von x c aus in eine Richtung geht, wo f lokal absteigt.<br />
Die Strategie, wiederholt zu prüfen ob eine hinreichende Verkleinerung vorliegt und die<br />
Schrittweite zu verkleinern, wenn <strong>das</strong> nicht der Fall ist heiÿt auf neudeutsch backtracking.<br />
37
3. Globale Konvergenz<br />
Um Bedingung (3.2) zu motivieren, betrachten wir ein lineares Modell m c für f,<br />
m c (x) = f(x c ) + ∇f(x c ) T (x − x c ).<br />
Die Verkleinerung für <strong>das</strong> Modell (d.h. die vohergesagte Reduktion in f) ist<br />
pred = m c (x c ) − m c (x + ) = λ‖∇f(x c )‖ 2 .<br />
Bedingung (3.2) sagt aus, daÿ die tatsächliche Reduktion in f<br />
ared = f(x c ) − f(x + )<br />
relativ zur vorhergesagten Reduktion mindestens so groÿ ist, wie durch den Parameter<br />
α vorgegeben ist. Typischerweise wählt <strong>man</strong> α = 10 −4 .<br />
Der Grund dafür, daÿ wir eine hinreichende Verkleinerung anstelle einer einfachen<br />
Verkleinerung (d.h. f(x + ) < f(x c ) oder α = 0) fordern, besteht in den Konvergenzresultaten:<br />
In dem Beweis sorgt α > 0 dafür, daÿ die Iteration nicht stagniert, bevor sie<br />
zu einem lokalen Minimalpunkt geführt hat.<br />
Algorithmus 5 (steep(x, f, kmax))<br />
1. Für k = 1,...,kmax<br />
(a) Berechne f und ∇f. Ist die Abbruchbedingung erfüllt?<br />
(b) Finde die kleinste ganze Zahl m ≥ 0, für die (3.2) mit λ = β m erfüllt ist.<br />
(c) x = x + λd.<br />
2. Falls k = kmax und die Abbruchbedingung nicht erfüllt ist,<br />
gib eine Fehlermeldung.<br />
Die Abbruchbedingung könnte zum Beispiel (2.12) sein.<br />
3.2. Liniensuchverfahren und die Armijoregel<br />
Wir führen einige neue Begrie ein, so daÿ unser Konvergenzbeweis für Algorithmus<br />
steep auch auf eine wesentlich allgemeinere Klasse von Algorithmen anwendbar ist.<br />
Denition 7 Ein Vektor d ∈ R N heiÿt Abstiegsrichtung für f in x, falls gilt<br />
d<br />
dt f(x + td)| t=0 = ∇f(x) T d < 0.<br />
38
3.2. Liniensuchverfahren und die Armijoregel<br />
Die Richtung des steilsten Abstiegs d = −∇f(x) ist natürlich eine Abstiegsrichtung falls<br />
∇f(x) ≠ 0. Bei einem Liniensuchverfahren wird versucht, in eine Abstiegsrichtung zu<br />
laufen und dadurch eine Verkleinerung von f zu erreichen, wobei zur Schrittweitensteuerung<br />
die Armjoregel benutzt wird, wenn nicht gilt ∇f(x) = 0.<br />
Wir untersuchen Abstiegsrichtungen, die auf quadratischen Modellen m von f basieren,<br />
m(x) = f(x c ) + ∇f(x c ) T (x − x c ) + 1 2 (x − x c) T H c (x − x c ),<br />
wobei die Matrix H c , die Modellhessematrix, spd ist. Es sei d = x − x c so, daÿ m(x)<br />
minimiert wird. Dann gilt<br />
<strong>als</strong>o<br />
∇m(x) = ∇f(x c ) + H c (x − x c ) = 0,<br />
d = −H −1<br />
c ∇f(x c ). (3.3)<br />
Die Richtung des steilsten Abstiegs erfüllt (3.3) mit H c = I. Die Newtonrichtung<br />
d = −∇ 2 f(x) −1 ∇f(x) muÿ dagegen nicht immer eine Abstiegsrichtung sein. (Nahe bei<br />
einem lokalen Minimalpunkt, wo ∇ 2 f(x) spd ist, ist sie allerdings immer eine Abstiegsrichtung.)<br />
Das ist der Grund dafür, daÿ <strong>das</strong> Newtonverfahren im allgemeinen kein gutes<br />
globales Verfahren ist, auch nicht mit einer Liniensuche. Daher wurden Modizierungen<br />
eingeführt, bei denen dafür gesorgt wird, daÿ die Modellhessematrizen spd bleiben.<br />
Der Algorithmus, den wir nun untersuchen, ist eine Erweiterung von Algorithmus<br />
steep, in dem beliebige Abstiegsrichtungen zugelassen werden, die (3.3) mit einer spd<br />
Matrix H erfüllen. In diesem Rahmen ist die allgemeine Bedingung der hinreichenden<br />
Verkleinerung<br />
f(x c + λd) − f(x c ) < αλ∇f(x c ) T d. (3.4)<br />
Wie in (3.2) ist α ein algorithmischer Parameter, oftm<strong>als</strong> wird α = 10 −4 gewählt.<br />
Das Verfahren zur Schrittweitenverkleinerung in Algorithmus steep ist grob, denn<br />
wenn β zu groÿ ist, werden zu viele Verkleinerungsschritte gebraucht, bevor eine Schrittweite<br />
akzeptiert wird. Wenn β zu klein ist, wird der Fortschritt der Gesamtiteration<br />
verzögert. Wir gehen dieses Problem auf zwei Arten an: Zunächst konstruieren wir polynomiale<br />
Modelle von f entlang der Abstiegsrichtung und benutzen sie, um einen Faktor<br />
bei der Schrittweitenverkleinerung zu bestimmen. Eine weitere Möglichkeit besteht darin,<br />
von der Schrittweite der vorigen Iteration auszugehen.<br />
In unseren Beweisen verwenden wir die folgende allgemeien Strategie bei der Liniensuche.<br />
Falls eine Schrittweite λ c zurückgewiesen wird (d.h. Bedingung (3.4) ist mit<br />
λ = λ c nicht erfüllt) konstruieren wir<br />
λ + ∈ [β u λ c , β o λ c ], (3.5)<br />
mit 0 < β u ≤ β o < 1. Die Wahl β = β u = β o ist die einfache Regel in Algorithmus steep.<br />
Eine exakte Liniensuche, bei der λ <strong>das</strong> exakte Minimum von f(x c + λd) ist, lohnt sich<br />
nicht und <strong>kann</strong> sogar die Leistung des Algorithmus verschlechtern.<br />
39
3. Globale Konvergenz<br />
Algorithmus 6 (optarm(x, f, kmax))<br />
1. Für k = 1,...,kmax<br />
(a) Berechne f und ∇f. Ist die Abbruchbedingung erfüllt?<br />
(b) Konstruiere eine spd Matrix H und berechne eine Abstiegsrichtung d,<br />
die (3.3) erfüllt.<br />
(c) Beginnend mit λ = 1, verkleinere λ so daÿ λ + (3.5) erfüllt, bis (3.4) gilt.<br />
(d) x = x + λd.<br />
2. Falls k = kmax und die Abbruchbedingung nicht erfüllt ist,<br />
gib eine Fehlermeldung.<br />
Unter der Voraussetzung, daÿ die Folge der spd Modellhessematrizen gleichmässig<br />
beschränkt bleibt und die Folge der Funktionswerte {f(x k )} nach unten beschränkt ist,<br />
werden wir beweisen, daÿ jeder Häufungspunkt x ∗ der Folge {x k }, die durch Algorithmus<br />
optarm erzeugt wird, die notwendigen Optimalitätsbedingungen erfüllt.<br />
Wir beginnen mit einer einfachen Abschätzung, die direkt aus dem Spektr<strong>als</strong>atz für<br />
spd Matrizen folgt.<br />
Lemma 2 Die Matrix H sei spd mit dem kleinsten Eigenwert λ min und dem gröÿten<br />
Eigenwert λ max . Dann gilt für alle z ∈ R N die Ungleichung<br />
λ −1<br />
max‖z‖ 2 ≤ z T H −1 z ≤ λ −1<br />
min‖z‖ 2 .<br />
Aus Lemma 2 erhalten wir eine obere Schranke für die Schrittweite.<br />
Lemma 3 Es sei ∇f Lipschitzstetig mit der Lipschitzkonstante L. Es seien α ∈ (0, 1),<br />
x ∈ R N und H eine spd Matrix. Es gelte ∇f(x) ≠ 0. Es seien λ min > 0 der kleinste und<br />
λ max der gröÿte Eigenwert von H. Die Richtung d sei durch (3.3) gegeben. Dann ist für<br />
jede Zahl λ mit<br />
0 < λ ≤ 2λ min (1 − α)/L (3.6)<br />
die Bedingung der hinreichenden Verkleinerung (3.4) erfüllt.<br />
Beweis. Setze d = −H −1 ∇f(x). Es gilt<br />
Daher gilt<br />
f(x + λd) − f(x) =<br />
∫ 1<br />
0<br />
∇f(x + tλd) T λd dt.<br />
∫ 1<br />
f(x + λd) = f(x) + λ∇f(x) T d + λ (∇f(x + tλd) − ∇f(x)) T d dt. (3.7)<br />
0<br />
40
3.2. Liniensuchverfahren und die Armijoregel<br />
Daraus folgt<br />
f(x + λd) = f(x − λH −1 ∇f(x)) ≤ f(x) + λ∇f(x) T d + λ 2 L‖d‖ 2 /2.<br />
Setze g = ∇f(x). Mit Lemma 2 erhalten wir die Abschätzung<br />
‖d‖ 2 = g T H −1/2 H −1 H −1/2 g ≤ (1/λ min )g T H −1 g = −∇f(x) T d/λ min .<br />
Also ist (3.4) erfüllt, falls gilt<br />
λ∇f(x) T d − λ 2 L∇f(x) T d/(2λ min ) ≤ αλ∇f(x) T d.<br />
Da d eine Abstiegsrichtung ist, ist dies äquivalent zu der Ungleichung<br />
<strong>als</strong>o λ ≤ 2λ min (1 − α)/L, und es folgt (3.6).<br />
α ≤ 1 − λL/(2λ min ),<br />
Lemma 4 Es sei ∇f Lipschitzstetig mit der Lipschitzkonstante L. Es sei {x n } die durch<br />
den Algorithmus optarm erzeugte Iterationsfolge mit spd Matrizen H n , für die die kleinsten<br />
Eigenwerte λ min,n gröÿer <strong>als</strong> ε > 0 sind,<br />
Es sei<br />
λ min,n ≥ ε > 0. (3.8)<br />
λ = 2β u ε(1 − α)/L.<br />
Dann gilt für die akzeptierten Schrittweiten λ n die Ungleichung<br />
und höchstens<br />
Schrittweitenverkleinerungen sind erforderlich.<br />
λ n ≥ λ (3.9)<br />
m = log(2ε(1 − α)/L)/ log(β o ), (3.10)<br />
Beweis. Die Schrittweitenverkleinerung in Algorithmus optarm wird abgebrochen, falls<br />
λ die Bedingung des hinreichenden Abstiegs (3.4) erfüllt. Nach Lemma 3 ist <strong>das</strong> der<br />
Fall, wenn λ die Ungleichung (3.6) erfüllt. Wegen (3.5) <strong>kann</strong> <strong>man</strong> die obere Schranke<br />
höchstens um den Faktor β u verfehlen, und daraus folgt (3.9). Die Liniensuche erfordert<br />
höchsten m Schrittweitenverkleinerungen, wobei m die kleinste natürliche Zahl ist mit<br />
β m o<br />
< 2ε(1 − α)/L.<br />
Daraus folgt die Schranke (3.10) für die Anzahl der Verkleinerungen.<br />
Der folgende Konvergenzsatz für Algorithmus optarm enthält hinreichende Bedingungen<br />
an die Modellhessematrizen, die gewährleisten, daÿ wenn die Folge der Funktionswerte<br />
beschränkt ist, jeder Häufungspunkt ein stationärer Punkt ist. Wenn die Folge der<br />
Iterationspunkte beschränkt ist, existiert ein solcher Häufungspunkt. Seine Eindeutigkeit<br />
<strong>kann</strong> <strong>man</strong> allerdings nicht gewährleisten.<br />
41
3. Globale Konvergenz<br />
Satz 11 Es sei ∇f Lipschitzstetig mit der Lipschitzkonstante L. Es sei {x n } die durch<br />
den Algorithmus optarm erzeugte Iterationsfolge mit spd Matrizen H n , für die die kleinsten<br />
Eigenwerte gröÿer <strong>als</strong> ε > 0 und die gröÿten Eigenwerte kleiner <strong>als</strong> λ max sind.<br />
Falls die Folge der Funktionswerte {f(x n )} beschränkt ist, gilt<br />
lim ∇f(x n) = 0. (3.11)<br />
n→∞<br />
Daher ist jeder Häufungspunkt der Folge {x n } ein stationärer Punkt. Für jede konvergente<br />
Teilfolge ist <strong>als</strong>o der Grenzpunkt stationär.<br />
Beweis. Die Folge der Funktionswerte {f(x n )} fällt monoton, wenn sie <strong>als</strong>o beschränkt<br />
ist, ist sie auch konvergent. Dann gilt<br />
Aus (3.4) und Lemma 4 folgt<br />
lim f(x n+1) − f(x n ) = 0. (3.12)<br />
n→∞<br />
f(x n+1 ) − f(x n ) < −αλ n ∇f(x n ) T Hn −1 ∇f(x n )<br />
≤ −αλλ −1<br />
max‖∇f(x n )‖ 2 ≤ 0.<br />
Mit (3.12) folgt die Behauptung.<br />
Analoge Untersuchungen <strong>kann</strong> <strong>man</strong> für andere Liniensuchverfahren durchführen. Die<br />
wesentlichen Punkte sind, daÿ nach endlich vielen Schritten eine hinreichende Verkleinerung<br />
erreicht wird und daÿ die Schrittweiten nicht beliebig klein werden können.<br />
3.2.1. Schrittweitensteuerung mit polynomialen Modellen<br />
Hat <strong>man</strong> eine Abstiegsrichtung d in einem Punkt x c berechnet, so muss <strong>man</strong> sich für ein<br />
Verfahren zur Schrittweitenverkleinerung für Iterationen entscheiden, in denen (3.4) mit<br />
λ = 1 nicht erfüllt ist. Häug wird dazu die Funktion<br />
ξ(λ) = f(x c + λd)<br />
durch ein kubisches Polynom <strong>als</strong> Modellfunktion ersetzt. Die Daten, die <strong>man</strong> dazu anfangs<br />
zur Hand hat, sind<br />
ξ(0) = f(x c ), ξ ′ (0) = ∇f(x c ) T d < 0, ξ(1) = f(x + d),<br />
<strong>als</strong>o genug, um ein quadratisches Modell von ξ zu bestimmen. Falls <strong>als</strong>o (3.4) nicht mit<br />
λ = λ 0 = 1 gilt, d.h.<br />
ξ(1) = f(x c + d) ≥ f(x c ) + α∇f(x c ) T d = ξ(0) + αξ ′ (0),<br />
approximieren wir ξ durch <strong>das</strong> quadratische Polynom<br />
q(λ) = ξ(0) + ξ ′ (0)λ + (ξ(1) − ξ(0) − ξ ′ (0))λ 2<br />
42
3.2. Liniensuchverfahren und die Armijoregel<br />
und denieren λ t <strong>als</strong> den Minimalpunkt von q auf dem Intervall [β u , β o ] ⊂ (0, 1). Den<br />
Wert λ t <strong>kann</strong> <strong>man</strong> direkt bestimmen, da aus α ∈ (0, 1) und der Verletztheit von (3.4)<br />
folgt<br />
q ′′ (λ) = 2(ξ(1) − ξ(0) − ξ ′ (0)) ≥ 2(α − 1)ξ ′ (0) > 0.<br />
Daher ist der globale Minimalpunkt von q<br />
Wir setzen daher<br />
λ t = −ξ ′ (0)/[2(ξ(1) − ξ(0) − ξ ′ (0))].<br />
⎧<br />
⎪⎨ β u , λ t ≤ β u ,<br />
λ + = λ t , β u < λ t < β o ,<br />
⎪⎩<br />
β o , λ t ≥ β o .<br />
(3.13)<br />
Falls der erste verkleinerte Wert von λ Bedingung (3.4) nicht erfüllt, berechnen wir<br />
weitere Verkleinerungen mit den Daten<br />
ξ(0) = f(x c ), ξ ′ (0) = ∇f(x c ) T d, ξ(λ − ), ξ(λ c )<br />
wobei λ c < λ − der aktuelle und der vorletzte Wert von λ sind, für die (3.4) verletzt ist.<br />
Diese Daten bestimmen ein kubisches Modell für f<br />
q(λ) = ξ(0) + ξ ′ (0)λ + c 2 λ 2 + c 3 λ 3 ,<br />
wobei c 2 und c 3 durch folgende Gleichungen bestimmt sind:<br />
q(λ c ) = ξ(λ c ) = f(x c + λ c d)<br />
q(λ − ) = ξ(λ − ) = f(x c + λ − d).<br />
Daraus erhält <strong>man</strong> <strong>das</strong> lineare Gleichungssystem<br />
λ 2 cc 2 + λ 3 cc 3 = ξ(λ c ) − ξ(0) − ξ ′ (0)λ c (3.14)<br />
λ 2 −c 2 + λ 3 −c 3 = ξ(λ − ) − ξ(0) − ξ ′ (0)λ − .<br />
Wir suchen wieder ein lokales Minimum λ t > 0 von q; falls eine solches existiert, so gilt<br />
{ √<br />
√<br />
}<br />
λ t ∈ (−c 2 + c 2 2 − 3c 3 ξ ′ (0))/(3c 3 ), (−c 2 − c 2 2 − 3c 3 ξ ′ (0))/(3c 3 ) . (3.15)<br />
Es <strong>kann</strong> nur existieren, falls gilt c 2 2 − 3c 3 ξ ′ (0) > 0 und q ′′ (λ t ) = 2c 2 + 6c 3 λ t > 0. Hat <strong>man</strong><br />
solch einen Minimalpunkt λ t > 0, so berechnet <strong>man</strong> λ + ähnlich wie in (3.13):<br />
⎧<br />
⎪⎨ β u λ c , λ t ≤ β u λ c ,<br />
λ + = λ t , β u λ c < λ t < λ c β o ,<br />
⎪⎩<br />
β o λ c , λ t ≥ β o λ c .<br />
Die Anwendung dieser Projektionstechnik nennt <strong>man</strong> safeguarding. Sie ist wichtig für die<br />
Theorie, wie <strong>man</strong> im Beweis von Satz 11 sieht. Für die Praxis ist sie ebenfalls wichtig,<br />
denn wenn <strong>das</strong> kubische Modell schlecht ist, <strong>kann</strong> <strong>das</strong> Modell ansonsten Schrittweitenverkleinerungen<br />
verursachen, die so klein sind, daÿ die Iteration stagniert oder so gross<br />
(d.h. so nahe bei 1), daÿ zu viele Verkleinerungen gebraucht werden bis (4.3) gilt.<br />
43
3. Globale Konvergenz<br />
3.2.2. Langsame Konvergenz beim steilsten Abstieg<br />
Leider haben Verfahren des steilsten Abstiegs keine guten lokalen Konvergenzeigenschaften,<br />
sogar bei sehr einfachen Funktionen. Um dies zu zeigen betrachten wir den speziellen<br />
Fall konvexer quadratischer Zielfunktionen,<br />
f(x) = (1/2)x T Ax − b T x + a,<br />
mit einer symmetrischen positiv deniten Matrix A, b ∈ R n und a ∈ R. Wir werden<br />
ein sehr einfaches Beispiel betracheten, wo wir <strong>das</strong> Verfahren des steilsten Abstiegs mit<br />
H k = I (<strong>als</strong>o λ max = λ min = 1) verwenden und zeigen, wie die Konvergenzgeschwindigkeit<br />
von der Kondition und der Skalierung abhängt.<br />
Lemma 5 Es sei f eine konvexe quadratische Funktion und H k = I für alle k. Dann<br />
konvergiert die Folge {x k }, die durch Algorithmus optarm erzeugt wird, zu dem eindeutigen<br />
Minimalpunkt von f.<br />
Beweis. Die Funktion f ist nach unten beschränkt (vgl. 3.4) und es gilt ∇f(x) = Ax −b.<br />
Daher verschwindet der Gradient nur in x ∗ = A −1 b. Da die Hessematrix ∇ 2 f(x ∗ ) = A<br />
positiv denit ist, sind die hinreichenden Optimalitätsbedingungen zweiter Ordnung<br />
erfüllt und x ∗ ist der eindeutige Minimalpunkt von f.<br />
Aus Satz 11 folgt<br />
lim ∇f(x k) = Ax k − b = A(x k − x ∗ ) = 0,<br />
k→∞<br />
<strong>als</strong>o konvergiert die Folge {x k } gegen x ∗ .<br />
Da <strong>das</strong> Verfahren des steilsten Abstiegs von jedem Startpunkt aus gegen den eindeutig<br />
bestimmten Minimalpunkt konvergiert, können wir die Konvergenzrate ohne Berücksichtigung<br />
des Anfangswertes untersuchen. Dabei verwenden wir die ANorm. Die Probleme<br />
können mit dem einfachsten Fall a = 0 und b = 0 verdeutlicht werden.<br />
Proposition 1 Es sei f(x) = x T Ax/2 und {x k } die durch Algorithmus optarm erzeugte<br />
Folge mit H k = I für alle k. Es sei C = 4α(1 − α)β u . Dann gilt für die Folge {x k }<br />
‖x k+1 ‖ 2 A ≤ [1 − Cλ min /(κ(A))] ‖x k ‖ 2 A. (3.16)<br />
Beweis. Aus der Bedingung des hinreichenden Abstiegs (3.4) folgt, <strong>das</strong>s für alle k gilt<br />
x T k+1Ax k+1 − x T k Ax k = 2(f(x k+1 ) − f(x k ))<br />
≤ 2α∇f(x k ) T (x k+1 − x k ) (3.17)<br />
= 2αλ k ∇f(x k ) T d = 2αλ k (Ax k ) T (Ax k ).<br />
Die Lipschitzkonstante von ∇f is ‖A‖ = λ max . Daher folgt aus (3.9)<br />
λ n ≥ λ = 2β u (1 − α)λ min /λ max = 2β u (1 − α)/κ(A). (3.18)<br />
44
3.2. Liniensuchverfahren und die Armijoregel<br />
Unter Verwendung der ANorm können wir (3.18) schreiben <strong>als</strong><br />
wobei wir folgende Ungleichung verwenden:<br />
Somit erhalten wir<br />
‖x k+1 ‖ 2 A − ‖x k ‖ 2 A ≤ −2αλλ min ‖x k ‖ 2 A,<br />
‖Az‖ 2 = (Az) T (Az) ≥ λ min z T Az = λ min ‖z‖ 2 A.<br />
‖x k+1 ‖ 2 A ≤ (1 − 2αλλ min ) ‖x k ‖ 2 A = (1 − 4α(1 − α)β u λ min /κ(A)) ‖x k ‖ 2 A.<br />
Daraus folgt die Behauptung.<br />
Nun betrachten wir zwei konkrete Beispiele. Es seien N = 1 und<br />
f(x) = ωx 2 /2,<br />
mit<br />
ω < 2(1 − α). (3.19)<br />
In diesem Fall ist x ∗ = 0 und ∇f(x) = f ′ (x) = ωx und daher gilt für alle x ∈ R<br />
f(x − ∇f(x)) − f(x) = (ωx 2 /2) ((1 − ω) 2 − 1)<br />
= (ω 2 x 2 /2)(ω − 2)<br />
< −α|f ′ (x)| 2 = −αω 2 x 2<br />
da aus (3.19) folgt (ω − 2)/2 < −α. Daher gilt (3.4) mit d = −∇f(x) und λ = 1 für alle<br />
x ∈ R. Die Konvergenzrate <strong>kann</strong> <strong>man</strong> direkt bestimmen, da<br />
x + = (1 − ω)x c<br />
für alle x c . Die Konvergenz ist <strong>als</strong>o qlinear mit qFaktor 1 − ω. Falls ω sehr klein ist,<br />
wird die Konvergenz sehr langsam.<br />
Nun betrachten wir den Fall, <strong>das</strong>s ω groÿ ist. Dann gilt<br />
nur wenn<br />
f(x − λ∇f(x)) − f(x) = (ω 2 x 2 /2)λ(λω − 2) < −αλω 2 x 2<br />
λ < 2(1 − α)/ω.<br />
Falls ω sehr groÿ ist, braucht <strong>man</strong> <strong>als</strong>o viele Schrittweitenverkleinerungen in jeder Iteration<br />
und die Liniensuche wird sehr inezient.<br />
Dies sind Beispiele schlechter Skalierung, bei der eine Multiplikation von f durch<br />
einen Skalierungsfaktor die Ezienz der Liniensuche oder die Konvergenzgeschwindigkeit<br />
dramatisch verbessern <strong>kann</strong>. Für ω = 1 sind <strong>das</strong> Verfahren des steilsten Abstiegs und<br />
<strong>das</strong> Newtonverfahren identisch und es wird nur eine einzige Iteration gebraucht.<br />
Schlechte Skalierung von f beeinuÿt <strong>das</strong> Newtonverfahren nicht. Es konvergiert<br />
schnell wenn der Startpunkt nahe bei einer Lösung liegt und eine Liniensuche ist nicht<br />
45
3. Globale Konvergenz<br />
nötig. Ist <strong>man</strong> aber weit weg von jeder Lösung, so ist die Newtonrichtung keine Abstiegsrichtung<br />
und eine Liniensuche <strong>kann</strong> nicht durchgeführt werden. Die Hauptschwierigkeit<br />
bei der Entwicklung von Liniensuchverfahren ist der Übergang von der Richtung des<br />
steilsten Abstiegs, die vorteilhaft ist wenn <strong>man</strong> sich weit weg von jeder Lösung bendet,<br />
zum Newtonverfahren oder einem anderen superlinear konvergenten Algorithmus wenn<br />
<strong>man</strong> einer Lösung näherkommt. Die oben diskutierten Skalierungsprobleme müssen dabei<br />
auch berücksichtigt werden.<br />
3.3. Trust Region Verfahren<br />
Trust Region Verfahren lösen <strong>das</strong> Problem, <strong>das</strong> bei Liniensuchverfahren auftritt, falls<br />
die Approximation der Hessematrix nicht positiv denit ist. Insbesondere erlaubt eine<br />
Newton Trust Region Strategie die Verwendung der vollständigen Information, die die<br />
Hessematrix enthält, sogar in Gebieten, wo die Hessematrix negative Eigenwerte besitzt.<br />
In dem Buch [9], werden diese Verfahren ausführlich dargestellt. Die speziellen Trust Region<br />
Verfahren, die wir vorstellen, erlauben einen glatten Übergang von der Richtung des<br />
steilsten Abstiegs zu der Newton Richtung. Dabei erhalten wir die globalen Konvergenzeigenschaften<br />
des Verfahrens des steilsten Abstiegs und die schnelle lokale Konvergenz<br />
des Newtonverfahrens.<br />
Die Grundidee ist sehr einfach. Es sei ∆ der Radius der Kugel um x c , in der wir darauf<br />
vertrauen, daÿ <strong>das</strong> quadratische Modell<br />
m c (x) = f(x c ) + ∇f(x c ) T (x − x c ) + (x − x c ) T H c (x − x c )/2<br />
eine brauchbare Approximation der Funktion f ist. Die Zahl ∆ heiÿt der Trust Region<br />
Radius und die Kugel<br />
T (∆) = {x : ‖x − x c ‖ ≤ ∆}<br />
heiÿt die Trust Region, oder anders gesagt, die Vertrauenskugel.<br />
Wir berechnen den neuen Punkt x + , indem wir (approximativ) die Funktion m c über<br />
T (∆) minimieren. Dieses Trust Region Problem wird üblicherweise so formuliert, daÿ<br />
die Dierenz s t zwischen x c und dem Minimalpunkt von m c in der Trust Region gesucht<br />
wird:<br />
min m c(x c + s). (3.20)<br />
‖s‖≤∆<br />
Wir werden von Fall zu Fall den Schritt s t oder den Punkt x t = x c + s t <strong>als</strong> die Lösung<br />
des Trust Region Problems bezeichnen.<br />
Wenn <strong>man</strong> <strong>das</strong> Trust Region Problem gelöst hat, muÿ <strong>man</strong> entscheiden, ob <strong>man</strong> den<br />
berechneten Schritt akzeptiert oder den Trust Region Radius verändert. Die Trust Region<br />
Verfahren, die wir diskutieren, approximieren die Lösung des Trust Region Problems<br />
mit dem Minimalpunkt des quadratischen Modells entlang eines stückweise linearen<br />
Pfades, der in der Trust Region enthalten ist. Bevor wir diese spezischen Verfahren<br />
diskutieren, geben wir noch einen Spezialfall eines globalen Konvergenzergebnisses von<br />
Powell (Mathematical Programming 29, 1984) an.<br />
46
3.3. Trust Region Verfahren<br />
Als Prototyp für ein Trust Region Verfahren präsentieren wir zunächst Algorithmus<br />
7.<br />
Algorithmus 7 (trbasic(x, f))<br />
1. Initialisiere den Trust Region Radius ∆.<br />
2. Wiederhole bis die Abbruchkriterien erfüllt sind:<br />
(a) Bestimme eine approximative Lösung des Trust Region Problems.<br />
(b) Teste diesen Punkt und den Trust Region Radius und entscheide, ob der Mittelpunkt<br />
der Vertrauenskugel, der Trust Region Radius, oder beide akzeptiert werden<br />
sollen. Mindestens einer von beiden wird in dieser Phase des Verfahrens geändert.<br />
Die meisten konkreten Trust Region Verfahren unterscheiden sich nur in der Durchführung<br />
von Schritt 2(a) in Algorithmus trbasic. Es gibt auch verschiedene Arten, Schritt<br />
2(b) zu implementieren, aber diese unterscheiden sich nur in unwesentlichen Details und<br />
die Herangehensweise, die wir im nächsten Abschnitt 3.3.1 präsentieren, ist repräsentativ.<br />
3.3.1. Änderung der Vertrauenskugel<br />
Der Trust Region Radius und der neue Punkt werden gewöhnlich gleichzeitig getestet.<br />
Dabei ist eine hinreichende Abstiegsbedingung wichtig, aber der Kernpunkt des Tests<br />
ist die Frage, wie gut <strong>das</strong> quadratische Modell die Funktion innerhalb der Trust Region<br />
approximiert. Wir messen dies durch den Vergleich der tatsächlichen Verkleinerung in f<br />
ared = f(x c ) − f(x t )<br />
mit der vorausgesagten Verkleinerung, d.h. dem Abstieg in dem quadratischen Modell<br />
pred = m c (x c ) − m c (x t ) = −∇f(x c ) T s t − s T t H c s t /2.<br />
Falls ∇f(x c ) ≠ 0 gilt pred > 0 für alle Trust Region Verfahren, die wir diskutieren. Wir<br />
werden drei Steuerungsparameter einführen,<br />
µ 0 ≤ µ low < µ high ,<br />
die benutzt werden, um zu bestimmen, welche Schritte verworfen werden (ared/pred <<br />
µ 0 ), und/oder ob der Trust Region Radius verkleinert werden sollte (ared/pred < µ low ),<br />
vergröÿert (ared/pred > µ high ) oder unverändert gelassen wird. Typische Werte sind<br />
1/4 für µ low und 3/4 für µ high . Sowohl die Wahl µ 0 = 10 −4 <strong>als</strong> auch µ 0 = µ low werden<br />
verwendet. Man <strong>kann</strong> auch die Bedingung des hinreichenden Abstiegs (3.4) verwenden,<br />
um zu entscheiden, ob der Versuchsschritt akzeptiert wird.<br />
Wir werden die Vertrauenskugel vergröÿern oder verkleinern, indem wir den Radius<br />
∆ mit Konstanten<br />
0 < ω down < 1 < ω up<br />
47
3. Globale Konvergenz<br />
multiplizieren. Typische Werte sind ω down = 1/2 und ω up = 2. Es gibt noch viele andere<br />
Möglichkeiten, ein Trust Region Verfahren zu implementieren, aus denen auch lokale<br />
Konvergenz folgt. Zum Beispiel <strong>kann</strong> an Stelle des Quotienten ared/pred der relative<br />
Fehler |pred − ared|/‖∇f‖ verwendet werden. Schlieÿlich begrenzen wir die Anzahl der<br />
Vergröÿerungen des Trust Region Radius durch die Bedingung<br />
∆ ≤ C T ‖∇f(x c )‖, (3.21)<br />
mit einer Konstante C T > 1, die von x c abhängen <strong>kann</strong>. Damit schlieÿen wir die Möglichkeit<br />
einer unendlichen Expansion aus, was in den Beweisen gebraucht wird.<br />
Die Möglichkeit einer Expansion ist wichtig für die Ezienz des Verfahrens falls f<br />
schlecht skaliert ist. Die Konvergenztheorie, die wir hier präsentieren, verwendet ebenfalls<br />
die Expansionsmöglichkeit im Konvergenzbeweis, aber <strong>das</strong> ist hier nicht wesentlich.<br />
Wir werden den Algorithmus zum Test der aktuellen Vertrauensregion in der Art präsentieren,<br />
daÿ er nur dann zurückkehrt, wenn ein neuer Iterationspunkt akzeptiert worden<br />
ist. Dies ist etwas anders, <strong>als</strong> <strong>man</strong> es sonst in der Literatur ndet.<br />
Algorithmus 8 (trtest(x c , x t , x + , f, ∆))<br />
1. z = x c .<br />
2. Wiederhole, solange z = x c und ∆ ≤ C T ‖∇f(x c )‖:<br />
(a) ared = f(x c ) − f(x t ), s t = x t − x c , pred = −∇f(x c ) T s t − s T t H c s t /2.<br />
(b) Falls ared/pred < µ 0 , setze z = x c , ∆ = ω down ∆, und löse <strong>das</strong> Trust Region<br />
Problem mit dem neuen Radius um einen neuen Versuchspunkt zu erhalten.<br />
Falls der Trust Region Radius gerade vergröÿert wurde, setze z = x alt<br />
t .<br />
(c) Falls µ 0 ≤ ared/pred < µ low , setze z = x t und ∆ = ω down ∆.<br />
(d) Falls µ low ≤ ared/pred ≤ µ high , setze z = x t .<br />
(e) Falls µ high < ared/pred und ‖s t ‖ = ∆ ≤ C T ‖∇f(x c )‖, setze z = x c , ∆ = ω up ∆,<br />
und löse <strong>das</strong> Trust Region Problem mit dem neuen Radius, um einen neuen Versuchspunkt<br />
zu erhalten.<br />
Speichere den alten Versuchspunkt <strong>als</strong> x alt<br />
t , für den Fall daÿ die Expansion fehlschlägt.<br />
3. x + = z.<br />
Die Schleife in Algorithmus trtest erfüllt den gleichen Zweck wie die Schleife in einem<br />
Liniensuchverfahren wie Algorithmus steep. Die Lösung des Trustregionproblems muÿ<br />
so erfolgen, daÿ die Schleife nach endlich vielen Iterationen abbricht. Eine allgemeines<br />
Verfahren, dies zu erreichen, ist <strong>das</strong> Thema des nächsten Abschnittes.<br />
Wir fügen Algorithmus trtest in den Rahmen eines allgemeinen Trust Region Verfahrens<br />
ein, <strong>das</strong> wir im Rest des Abschnittes benutzen.<br />
Algorithmus 9 (trgen(x, f))<br />
48
3.3. Trust Region Verfahren<br />
1. Initialisiere den Trust Region Radius ∆.<br />
2. Wiederhole für immer:<br />
(a) Setze x c = x. Berechne den Gradienten ∇f(x c ) und einen approximative Hessematrix<br />
H c .<br />
(b) Bestimme eine approximative Lösung des Tust Region Problems, um einen<br />
Versuchspunkt x t zu erhalten.<br />
(c) Teste diesen Punkt mit trtest(x c , x t , x, f, ∆).<br />
Hessematrizen und Gradienten werden nur in Schritt 2(a) von Algorithmust trgen<br />
berechnet.<br />
3.3.2. Globale Konvergenz des Trust Region Verfahrens<br />
Im Prinzip <strong>kann</strong> <strong>man</strong> <strong>das</strong> Trustregionproblem exakt lösen, aber es ist einfacher und<br />
ezienter, <strong>das</strong> Problem nur approximativ zu lösen. Es ist erstaunlich, daÿ <strong>man</strong> <strong>das</strong><br />
Trustregionproblem nicht sehr genau lösen muÿ, um globale und lokal sogar superlineare<br />
Konvergenz zu erhalten.<br />
Unsere Ansprüche an die Lösungen des Trustregionproblems und an unser lokales quadratisches<br />
Modell sind bescheiden und können schnell überprüft werden. In der Analyse<br />
werden der Parameter σ in Voraussetzung 2 und er Parameter C T aus (3.21) verwendet,<br />
aber sie spielen in der Implementierung keine Rolle. In später zu diskutierenden<br />
Algorithmen <strong>kann</strong> <strong>man</strong> σ berechnen. Teil 2 der Voraussetzung folgt für gut konditionierte<br />
und beschränkte Modellhessematrizen, falls Algorithmus trtest zur Steuerung der<br />
Vertrauenskugel verwendet wird.<br />
Voraussetzung 2<br />
1. Es gibt eine Zahl σ > 0, für die gilt<br />
pred = f(x c ) − m c (x t ) ≥ σ‖∇f(x c )‖ min{‖s t ‖, ‖∇f(x c )‖}. (3.22)<br />
2. Es gibt eine Zahl M > 0, so daÿ entweder gilt ‖s t ‖ ≥ ‖∇f(x c )‖/M oder ‖s t ‖ = ∆ c .<br />
Das globale Konvergenzresultat, <strong>das</strong> <strong>man</strong> mit dieser Voraussetzung erhält, sollte <strong>man</strong><br />
mit dem entsprechenden Resultat für Liniensuchverfahren vergleichen, d.h. mit Satz 11.<br />
Satz 12 Die Funktion ∇f sei Lipschitzstetig mit der Lipschitzkonstante L. Die Folge<br />
{x k } sei durch den Algorithmus trgen erzeugt, wobei die Lösungen der Trust Region<br />
Probleme Voraussetzung 2 erfüllen. Die Matrizenfolge {H k } sei beschränkt. Dann folgt:<br />
Die Funktion f ist nach unten unbeschränkt, oder ∇f(x k ) = 0 für ein k, oder es gilt<br />
lim ∇f(x k) = 0. (3.23)<br />
k→∞<br />
49
3. Globale Konvergenz<br />
Beweis. Wir setzen voraus, daÿ f nach unten beschränkt ist und ∇f(x k ) ≠ 0 für alle<br />
k. Wir werden zeigen, daÿ eine Zahl M T > 0 existiert, so daÿ wenn einmal eine Iteration<br />
durchgeführt ist (d.h. der Schritt ist akzeptiert und der Trust Region Radius ist nicht<br />
länger ein Kandidat für die Vergröÿerung), folgende Ungleichung gilt:<br />
‖s k ‖ ≥ M T ‖∇f(x k )‖. (3.24)<br />
Da s k ein zulässiger Schritt ist, folgt aus Algorithmus trtest und Teil 1 von Voraussetzung<br />
2 die Ungleichung<br />
ared k ≥ µ 0 pred k ≥ µ 0 ‖∇f(x k )‖ σ min{‖s k ‖, ‖∇f(x k )‖ }.<br />
Wenn nun (3.24) gilt, so folgt daraus<br />
ared k ≥ µ 0 σ min{1, M T } ‖∇f(x k )‖ 2 . (3.25)<br />
Da die Folge der Funktionswerte f(x k ) monoton fällt und f nach unten beschränkt ist,<br />
folgt lim k→∞ ared k = 0. Wir sehen <strong>als</strong>o, daÿ aus der Ungleichung (3.24) mit (3.25) die<br />
Behauptung (3.23) folgt.<br />
Wir zeigen nun <strong>als</strong>o (3.24). Falls ‖s k ‖ < ∆ k , folgt aus Teil 2 von Voraussetzung 2 die<br />
Ungleichung<br />
‖s k ‖ ≥ ‖∇f(x k )‖/M.<br />
Daher brauchen wir nur den Fall zu betrachten, daÿ gilt<br />
‖s k ‖ = ∆ k und ‖s k ‖ < ‖∇f(x k )‖, (3.26)<br />
denn wenn (3.26) nicht gilt, so folgt (3.24) mit M T = min{1, 1/M}. Wir führen den<br />
Beweis, indem wir zeigen, daÿ wenn (3.26) gilt, und der Schritt s k akzeptiert wird,<br />
folgende Aussage gilt:<br />
‖s k ‖ = ∆ k ≥ 2σ ‖∇f(x k )‖ min{1 − µ high , (1 − µ 0 )ω −2<br />
up } /(M + L). (3.27)<br />
Damit folgt nämlich (3.24) mit<br />
M T = min { 1, 1/M, 2σ min{1 − µ high , (1 − µ 0 )ω −2<br />
up } /(M + L) } .<br />
Wir vergröÿern die Konstante M > 0 aus Teil 1 von Voraussetzung 2 bis gilt<br />
‖H k ‖ ≤ M für alle k. (3.28)<br />
Wir beweisen (3.27), indem wir zeigen, daÿ wenn für einen Versuchsschritt s t (3.26) gilt<br />
und (3.27) nicht gilt, der Trust Region Radius vergröÿert wird und der Schritt, der zu<br />
dem vergröÿerten Radius gehört, akzeptiert wird. Es sei s t ein Versuchsschritt für den<br />
gilt ‖s t ‖ < ‖∇f(x k )‖ und<br />
‖s t ‖ = ∆ t < 2σ ‖∇f(x k )‖ min{1 − µ high , (1 − µ 0 )ω −2<br />
up } /(M + L). (3.29)<br />
50
3.3. Trust Region Verfahren<br />
Aus der Lipschitzstetigkeit von ∇f und (3.28) folgt<br />
ared t = −∇f(x k ) T s t −<br />
∫ 1<br />
= pred t + s T t H k s t /2 −<br />
0<br />
(∇f(x k + ts t ) − ∇f(x k )) T s t dt<br />
∫ 1<br />
≥ pred t − (M + L) ‖s t ‖ 2 /2.<br />
Mit (3.22) aus Voraussetzung 2 folgt daraus<br />
≥ 1 −<br />
0<br />
ared t<br />
pred t<br />
≥ 1 − (M + L) ‖s t‖ 2<br />
2 pred t<br />
Gemäÿ (3.26) gilt ‖s t ‖ < ‖∇f(x k )‖, <strong>als</strong>o folgt<br />
(∇f(x k + ts t ) − ∇f(x k )) T s t dt<br />
(M + L)‖s t ‖ 2<br />
2σ‖∇f(x k )‖ min{‖∇f(x k )‖, ‖s t ‖} . (3.30)<br />
min{‖∇f(x k )‖, ‖s t ‖} = ‖s t ‖,<br />
und somit<br />
ared t<br />
≥ 1 − (M + L) ‖s t‖<br />
pred t 2 σ‖∇f(x k )‖ > µ high (3.31)<br />
wegen (3.29). Daher wird ein Expansionsschritt durchgeführt, bei dem ∆ t durch ∆ + t =<br />
ω up ∆ t ersetzt wird und s t durch s + t , dem Minimalpunkt des quadratischen Modells in<br />
der neuen Vertrauenskugel.<br />
Nach dem Expansionsschritt gilt<br />
‖s + t ‖ ≤ ω up ‖s t ‖ < ω up ‖∇f(x k )‖.<br />
Daher folgt<br />
min{‖∇f(x k )‖, ‖s + t ‖} > ‖s + t ‖/ω up .<br />
Also gilt analog zu (3.30)<br />
ared + t<br />
pred + t<br />
≥ 1 −<br />
(M + L)‖s + t ‖ 2<br />
2σ‖∇f(x k )‖ min{‖∇f(x k )‖, ‖s + t ‖} .<br />
≥ 1 − (M + L) ω up ‖s + t ‖<br />
2 σ‖∇f(x k )‖<br />
≥ 1 − (M + L) ω2 up ‖s t ‖<br />
2 σ‖∇f(x k )‖<br />
≥ µ 0<br />
wegen (3.29). Wenn <strong>als</strong>o ein Schritt akzeptiert wird und (3.26) erfüllt, so gilt entweder<br />
auch (3.27) oder ‖s t ‖ = ∆ t > C T ‖∇f(x c )‖. Damit haben wir die Behauptung gezeigt.<br />
51
3. Globale Konvergenz<br />
3.3.3. Ein unidirektionaler Trust Region Algorithmus<br />
Der direkteste Weg, einen Versuchspunkt zu berechnen, der Voraussetzung 2 erfüllt, ist<br />
die Liniensuche nachzuahmen und einfach <strong>das</strong> quadratische Modell in die Richtung des<br />
steilsten Abstiegs zu minimieren und dabei die Trust Region Schranken zu berücksichtigen.<br />
In diesem Algorithmus ist für einen gegebenen Punkt x c und einen gegebenen Radius<br />
∆ c unser Versuchspunkt der Minimalpunkt von<br />
unter der Nebenbedingung, daÿ gilt<br />
ψ c (λ) = m c (x c − λ∇f(x c ))<br />
x(λ) = x c − λ∇f(x c ) ∈ T (x c ).<br />
Die Lösung ist x(ˆλ), mit<br />
{<br />
∆c /‖∇f(x c )‖ falls ∇f(x c )<br />
ˆλ T H c ∇f(x c ) ≤ 0,<br />
=<br />
∆<br />
min{ c<br />
, ‖∇f(x ‖∇f(x c)‖ c)‖ 2 /[∇f(x c ) T H c ∇f(x c )]} falls ∇f(x c ) T H c ∇f(x c ) > 0.<br />
(3.32)<br />
Man nennt x(ˆλ), <strong>als</strong>o den Minimalpunkt des quadratischen Modells in der Richtung<br />
des steilsten Abstiegs in der Vertrauenskugel, den Cauchypunkt. Wir bezeichnen den<br />
Cauchypunkt mit x CP .<br />
Mit x CP <strong>als</strong> Versuchspunkt folgt aus Satz 12 ein globales Konvergenzresultat für den<br />
unidirektionalen Trust Region Algorithmus.<br />
Satz 13 Die Funktion ∇f sei Lipschitzstetig mit der Lipschitzkonstante L. Die Folge<br />
{x k } sei durch den Algorithmus trgen erzeugt, mit den Versuchspunkten x t = x CP aus<br />
(3.32). Die Matrizenfolge {H k } sei beschränkt. Dann folgt: Die Funktion f ist nach<br />
unten unbeschränkt, oder ∇f(x k ) = 0 für ein k, oder es gilt<br />
lim ∇f(x k) = 0.<br />
k→∞<br />
Beweis. Wir zeigen, daÿ x t Teil 2 von Voraussetzung 2 erfüllt. Falls ‖s t ‖ = ∆ c , ist dies<br />
erfüllt. Falls ‖s t ‖ < ∆ c , folgt aus der Denition von x CP die Gleichung<br />
Wenn nun gilt ‖H c ‖ ≤ M, folgt<br />
s t = − ‖∇f(x c)‖ 2 ∇f(x c )<br />
∇f(x c ) T H c ∇f(x c ) .<br />
‖s t ‖ ≥ ‖∇f(x c )‖/M,<br />
wie behauptet.<br />
Es bleibt zu zeigen, daÿ x t auch Teil 1 erfüllt. Diesen Beweis lassen wir <strong>als</strong> Übung.<br />
Unter schwächeren Voraussetzungen <strong>kann</strong> <strong>man</strong> zeigen, daÿ gilt<br />
an Stelle der Aussage ∇f(x k ) → 0.<br />
lim inf<br />
k→∞ ‖∇f(x k)‖ = 0,<br />
52
3.3.4. Die exakte Lösung des Trust Region Problems<br />
3.3. Trust Region Verfahren<br />
Die Theorie der restringierten Optimierung liefert eine Charakterisierung der Lösungen<br />
des Trust Region Problems. In diesem Abschnitt leiten wir diese Charakterisierung auf<br />
elementarem Wege her. In diesem Buch konzentrieren wir uns auf Näherungslösungen,<br />
aber der Leser sollte wissen, <strong>das</strong>s die exakte Lösung berechnet werden <strong>kann</strong>.<br />
Satz 14 Es seien g ∈ R N , A eine symmetrische N × N Matrix und<br />
Falls der Vektor s eine Lösung von<br />
ist, so existiert eine Zahl ν ≥ 0 mit<br />
m(s) = g T s + s T As/2.<br />
min m(s) (3.33)<br />
‖s‖≤∆<br />
(A + νI)s = −g<br />
und es gilt entweder ν = 0 und ‖s‖ ≤ ∆ oder ‖s‖ = ∆.<br />
Falls die Matrix A positiv denit ist, so gilt auch die Rückrichtung.<br />
Beweis. Es sei s eine Lösung von (3.33).<br />
Falls ‖s‖ < ∆, gilt ∇m(s) = g + As = 0, und die Behauptung folgt mit ν = 0.<br />
Nun betrachten wir den Fall ‖s‖ = ∆.<br />
Dazu sei d eine Abstiegsrichtung für m in s, d.h. d T ∇m(s) < 0. Wir betrachten nun<br />
h(λ) = ‖s + λd‖ 2 .<br />
Da s Minimalpunkt von m in der Menge {x : x T x ≤ ∆ 2 } ist und für alle hinreichend<br />
kleinen λ > 0 gilt m(s + λd) < m(s), folgt für diese λ > 0 die Ungleichung h(λ) > ∆ 2 .<br />
Also gilt wegen h(0) = ∆ 2 die Ungleichung h ′ (0) = 2s T d > 0.<br />
Wir haben <strong>als</strong>o gezeigt: Aus d T ∇m(s) < 0 folgt s T d > 0. Somit folgt aus s T d ≤<br />
0 die Ungleichung s T ∇m(s) ≥ 0. Also gilt für alle d mit s T d = 0 die Ungleichung<br />
d T ∇m(s) ≥ 0. Angenommen, d T ∇m(s) > 0, dann folgt (−d) T ∇m(s) < 0 und somit<br />
(−d) T s > 0, ein Widerspruch. Also gilt d T ∇m(s) = 0, und es folgt die Existenz einer<br />
Zahl µ mit ∇m(s) = µs, d.h. (A − µI)s = −g. Mit der Wahl d = −∇m(s) erhalten wir<br />
d T ∇m(s) < 0, <strong>als</strong>o s T d = −µs T s > 0, und es folgt µ < 0 und mit ν = −µ > 0 folgt die<br />
Behauptung.<br />
Nun beweisen wir, <strong>das</strong>s unter der Voraussetzung, <strong>das</strong>s A positiv denit ist, auch die<br />
Rückrichtung gilt. Es seien <strong>als</strong>o s mit ‖s‖ ≤ ∆ und ν ≥ 0 gegeben mit (A + νI)s = −g<br />
und ν = 0 oder ‖s‖ = ∆. Falls ν = 0, folgt ∇m(s) = 0, und da die Hessematrix<br />
∇ 2 m(s) = A positiv denit ist, folgt die Behauptung.<br />
Es sei nun F = {x : x T x − ∆ 2 ≤ 0} und<br />
J(x) = m(x) + (ν/2)(x T x − ∆ 2 ).<br />
53
3. Globale Konvergenz<br />
Dann gilt für alle x ∈ F die Ungleichung J(x) ≤ m(x). Also gilt<br />
min<br />
x∈R<br />
x∈F<br />
N<br />
J(x) ≤ min<br />
J(x) ≤ min<br />
x∈F m(x).<br />
Es gilt ∇J(x) = ∇m(x) + νx = g + (A + νI)x, <strong>als</strong>o ∇J(s) = 0. Da A positiv denit ist,<br />
ist J konvex, daher gilt: s ∈ F ist der Minimalpunkt von J auf R N , <strong>als</strong>o auch auf F,<br />
und wegen J(s) = m(s) folgt m(s) = min x∈F m(x), d.h. s löst (3.33).<br />
3.4. Übungen<br />
Übung 8 Es sei F eine Funktion vom R N in den R N . Wir denieren<br />
f(x) = ‖F (x)‖ 2 /2.<br />
Berechnen Sie den Gradient ∇f! In welchen Fällen ist der Newtonschritt d für die<br />
nichtlineare Gleichung F (x) = 0,<br />
eine Abstiegsrichtung für f in x?<br />
d = −F ′ (x) −1 F (x),<br />
Lösung Es gilt ∇f(x) T = F (x) T F ′ (x). Mit der Taylorentwicklung folgt<br />
f(x + λd) = f(x) + λ∇f(x) T d + o(λ) = f(x) − λ(‖F (x)‖ 2 + o(λ)/λ).<br />
Also ist d eine Abstiegsrichtung für f in x falls gilt F (x) ≠ 0.<br />
Übung 9 Beweisen Sie:<br />
Es sei H eine symmetrische positiv denite Matrix mit dem kleinsten Eigenwert λ min ><br />
0 und dem gröÿten Eigenwert λ max . Dann gilt für alle z ∈ R N die Ungleichung<br />
1<br />
z T z ≤ z T H −1 z ≤ 1 z T z.<br />
λ max λ min<br />
Übung 10 Es sei H eine symmetrische positiv denite Matrix, b ∈ R N und<br />
f(x) = 1 2 xT Hx − x T b.<br />
Zeigen Sie: Die Funktion f ist nach unten beschränkt.<br />
Lösung Es gilt f(x) ≥ (1/2)λ min ‖x‖ 2 − ‖b‖ ‖x‖ = ‖x‖((λ min /2)‖x‖ − ‖b‖). Aus<br />
‖x‖ ≥ 2‖b‖/λ min folgt <strong>als</strong>o f(x) ≥ 0. Das Polynom p(t) = (1/2)λ min t 2 − ‖b‖ t ist nach<br />
unten beschränkt. Also ist f nach unten beschränkt.<br />
54
3.4. Übungen<br />
Übung 11 Gegeben sei die Rosenbrockfunktion,<br />
f(x) = 100(x 2 − x 2 1) 2 + (1 − x 1 ) 2 .<br />
Berechnen Sie ∇f und ∇ 2 f!<br />
Zeigen Sie:<br />
Aus f(x) < 0.0025 folgt det[∇ 2 f(x)] > 0 und die Hessematrix ∇ 2 f(x) ist positiv denit.<br />
Es gilt det[∇ 2 f(x)] = 0 genau dann, wenn x 2 − x 2 1 = 0.005.<br />
Lösung<br />
∇f(x) T = (−400(x 1 x 2 − x 3 1) + 2x 1 − 2, 200x 2 − 200x 2 1).<br />
∇ 2 f(x) =<br />
(<br />
−400(x2 − 3x 2 1) + 2 −400x 1<br />
−400x 1 200<br />
)<br />
.<br />
det ∇ 2 f(x) = 80000(x 2 1 − x 2 ) + 400. In dem Minimalpunkt (1, 1) T ist die Hessematrix<br />
positiv denit, <strong>als</strong>o auch für alle (x 1 , x 2 ) T mit x 2 − x 2 1 < 0.005.<br />
Übung 12 Es sei f : R N → R dierenzierbar. Es sei p : R → R N eine dierenzierbare<br />
Parametrisierung einer Niveaulinie, d.h. f(p(s)) = α ∈ R für alle s ∈ R. Man sagt:<br />
"Die Gradienten von f stehen senkrecht auf der Niveaulinie."<br />
Man formuliere eine entsprechende mathematisch exakte Behauptung und verdeutliche<br />
sich den Sachverhalt durch eine Skizze.<br />
Übung 13 a)Man betrachte die Methode des steilsten Abstiegs<br />
x k+1 = x k − λ k ∇f(x k )<br />
mit der Schrittweite λ k = arg min γ≥0 f(x k −γ∇f(x k )). Es sei f(x) = x 2 1+2x 2 2+4x 1 +4x 2 .<br />
Man zeige: Aus x 0 = 0 folgt<br />
x k = (2/3 k − 2, (−1/3) k − 1) T .<br />
Lösung Es gilt f(x) = (x 1 + 2) 2 + 2(x 2 + 1) 2 − 6. Wir setzen z 0 = (−2, −1) T<br />
z = x − z 0 . Dann gilt<br />
f(x) = f(z + z 0 ) = z1 2 + 2z2 2 − 6<br />
und<br />
∇f(x) = ∇f(z + z 0 ) = (2z 1 , 4z 2 ) T .<br />
Wir setzen h(γ) = f(z − γ∇f(z + z 0 ) + z 0 ) = (1 − 2γ) 2 z 2 1 + 2(1 − 4γ) 2 z 2 2 − 6. Dann gilt<br />
und<br />
γ(z) = arg min h(γ) = z2 1 + 4z 2 2<br />
2(z 2 1 + 8z 2 2) . 55
3. Globale Konvergenz<br />
Für einen Startpunkt s 0 betrachte die Folge z k+1 = z k − γ(z k )∇f(z k + z 0 ). Dann gilt<br />
für die erste Komponente z 1,k+1 = z 1,k (1 − 2γ(z k )), und für die zweite Komponente<br />
z 2,k+1 = (1 − 4γ(z k )).<br />
Es gelte nun z1,k 2 = 4z2,k. 2 Dann folgt γ(z k ) = 1/3 und z 1,k+1 = (1/3)z 1,k , z 2,k+1 =<br />
(−1/3)z 2,k , insbesondere <strong>als</strong>o z1,k+1 2 = 4z2,k+1. 2 Also erhält <strong>man</strong> für alle k + j die Schrittweite<br />
1/3, und es folgt z 1,k+j = (1/3) j z 1,k , z 2,k+j = (−1/3) j z 2,k . Daraus folgt die Behauptung.<br />
b) Es sei<br />
f(x) = x 2 1 + 4x 1 + x 2 2 + 2x 2 .<br />
Zeigen Sie: Eine Schrittweite λ > 0 erfüllt (3.2) genau dann, wenn gilt λ < 1 − α.<br />
Übung 14 Es seien ξ(λ) = f(x c + λd) stetig dierenzierbar und α ∈ (0, 1).<br />
Betrachten Sie <strong>das</strong> kubische Interpolationsproblem<br />
q(λ) = ξ(0) + ξ ′ (0)λ + c 2 λ 2 + c 3 λ 3<br />
mit q(λ c ) = ξ(λ c ), q(λ − ) = ξ(λ − ), 0 < λ c < λ − , ξ ′ (0) < 0 und<br />
ξ(λ c ) − ξ(0) ≥ αλ c ξ ′ (0)<br />
ξ(λ − ) − ξ(0) ≥ αλ − ξ ′ (0).<br />
Beweisen oder widerlegen Sie:<br />
Das kubische Polynom q hat im Inneren des Intervalles [0, λ c ] mindestens einen Minimalpunkt,<br />
in dem die Ableitung verschwindet.<br />
Können es auch mehr sein? Muÿ überhaupt ein lokaler Minimalpunkt von q existieren?<br />
Lösung Wähle λ − = 1, λ c = 1/2, α = 1/2 und ξ(0), ξ ′ (0), ξ(λ c ), ξ(λ − ) so, daÿ gilt<br />
q(λ) = −λ + (3/2)λ 2 − λ 3 .<br />
Dann sind alle Voraussetzungen erfüllt, aber es gilt q ′ (λ) < 0 für alle λ ∈ R, <strong>als</strong>o gibt<br />
es keinen Punkt, in dem die Ableitung verschwindet. Es existiert <strong>als</strong>o hier kein lokaler<br />
Minimalpunkt. Im Allgemeinen <strong>kann</strong> es höchstens einen Minimalpunkt geben.<br />
Bei der Implementierung einer polynomialen Liniensuche muÿ <strong>man</strong> diesen Sachverhalt<br />
berücksichtigen, indem <strong>man</strong> abfragt, ob die Gleichung q ′ (λ) = 0 eine Lösung besitzt und<br />
falls ja, ob dies nicht ein Sattelpunkt ist.<br />
Übung 15 (Penaltymethode) Idee:<br />
Reduziere Problem mit Restriktionen auf unrestringiertes Problem!<br />
Optimalwert ω<br />
(P ) : min f(x) s.t. g i (x) ≤ 0, i ∈ {1, ..., m}.<br />
(H(λ)) : min f(x) + λφ(x).<br />
56
3.4. Übungen<br />
Optimalwert v(λ)<br />
mit φ(x) = 0 falls x ∈ S = {x : g i (x) ≤ 0, i ∈ {1, ..., m}} und φ(x) > 0 falls x ∉ S.<br />
Aufgabe Finde Beispiele für φ!<br />
Gegeben sei eine Folge (λ k ) k mit λ k → ∞, λ k > 0 (die sogenannten Penaltyparameter).<br />
Die Lösungsmengen von (H(λ k )) bezeichnen wir mit ψ(λ k ).<br />
Aufgabe Voraussetzung: f, g seien stetig und es gibt x ∗ ∈ S mit f(x ∗ ) = ω.<br />
a) Zeige: Für alle λ ∈ (0, ∞) gilt v(λ) ≤ ω.<br />
b) Zeige: Falls inf x∈R n f(x) > −∞ folgt<br />
lim<br />
sup<br />
λ→∞ x∈ψ(λ)<br />
φ(x) = 0.<br />
Falls φ stetig ist, folgt aus b): Falls x k ∈ ψ(λ k ) gegen ¯x konvergieren, folgt φ(¯x) = 0,<br />
<strong>als</strong>o ¯x ∈ S. Die Häufungspunkte der durch die Penaltymethode erzeugten Folge sind <strong>als</strong>o<br />
zulässig.<br />
c) Zeige: Falls f nach unten beschränkt ist und φ stetig ist und falls x k ∈ ψ(λ k ) gegen<br />
¯x konvergieren, folgt<br />
lim<br />
k→∞ v(λ k) = ω,<br />
<strong>als</strong>o f(¯x) = ω und ¯x löst (P ). Die Häufungspunkte der durch die Penaltymethode erzeugten<br />
Folge sind <strong>als</strong>o Lösungen von (P ).<br />
Lösung Ein Beispiel für eine nichtdierenzierbare Penaltyfunktion ist<br />
φ(x) = max{max{g i (x), 0}, i ∈ {1, ..., m}}.<br />
Ein Beispiel für eine dierenzierbare Penaltyfunktion ist<br />
m∑<br />
φ(x) = {max{g i (x), 0} 2 .<br />
i=1<br />
a) Es gilt v(λ) ≤ f(x ∗ ) + λφ(x ∗ ) = ω.<br />
b) Für x ∈ ψ(λ) gilt f(x) + λφ(x) = v(λ) ≤ ω, <strong>als</strong>o λφ(x) ≤ ω − f(x) ≤ ω − inf x f(x).<br />
Also folgt<br />
0 ≤ lim sup φ(x) ≤ lim (ω − inf f(x))/λ = 0.<br />
λ→∞<br />
λ→∞ x<br />
x∈ψ(λ)<br />
c) Es gilt f(¯x) = lim k→∞ f(x k ) ≤ lim k→∞ v(λ k ) = lim k→∞ f(x k ) + λ k φ(x k ) ≤ ω. Da ¯x<br />
nach b) in der Menge S liegt, gilt auch f(¯x) ≥ ω.<br />
Übung 16 Es sei m c (x) = f(x c )+∇f(x c ) T (x−x c )+(x−x c ) T H c (x−x c )/2. Betrachten<br />
Sie <strong>das</strong> Problem<br />
min<br />
λ<br />
m c (x c − λ∇f(x c )) s.t. ‖λ∇f(x c )‖ ≤ ∆.<br />
Berechnen Sie die Lösung!<br />
Hinweis:<br />
Unterscheiden Sie die Fälle ∇f(x c ) T H c ∇f(x c ) > 0 und ∇f(x c ) T H c ∇f(x c ) ≤ 0.<br />
57
3. Globale Konvergenz<br />
Lösung Setze h(λ) = m c (x c − λ∇f(x c )). Dann gilt<br />
h ′ (λ) = −∇f(x c ) T ∇f(x c ) + λ∇f(x c ) T H c ∇f(x c ).<br />
Falls gilt ∇f(x c ) T H c ∇f(x c ) ≠ 0, so ist die Nullstelle von h ′<br />
λ 0 = ∇f(x c ) T ∇f(x c )/[∇f(x c ) T H c ∇f(x c )].<br />
Falls ∇f(x c ) T H c ∇f(x c ) = 0, gilt h ′ (λ) = −∇f(x c ) T ∇f(x c ) ≤ 0, <strong>als</strong>o wird <strong>das</strong> Minimum<br />
an dem maximalen zulässigen Wert von λ angenommen, d.h. für λ = ∆/‖∇f(x c )‖.<br />
Falls ∇f(x c ) T H c ∇f(x c ) > 0, folgt λ 0 > 0 und h is konvex. Falls gilt ‖λ 0 ∇f(x c )‖ ≤ ∆,<br />
so ist der Minimalpunkt λ 0 . Falls ‖λ 0 ∇f(x c )‖ > ∆, so wird <strong>das</strong> Minimum in λ =<br />
∆/‖∇f(x c )‖ angenommen.<br />
Falls ∇f(x c ) T H c ∇f(x c ) < 0, folgt λ 0 < 0 und h ist konkav. In diesem Fall wird <strong>das</strong><br />
Minimum in λ = ∆/‖∇f(x c )‖ angenommen.<br />
Zusammenfassend <strong>kann</strong> <strong>man</strong> sagen: Falls ∇f(x c ) T H c ∇f(x c ) > 0 und ‖λ 0 ∇f(x c )‖ ≤<br />
∆, so ist der Minimalpunkt λ 0 ; sonst λ = ∆/‖∇f(x c )‖.<br />
Übung 17 Betrachten Sie <strong>das</strong> Problem<br />
min x s.t. − x ≤ 0, x − 1 ≤ 0<br />
und dazu die logarithmische Barrierefunktion P µ (x) = x − µ log(x) − µ log(1 − x) für<br />
µ > 0:<br />
min x<br />
P µ (x).<br />
Berechnen Sie einen lokalen Minimalpunkt von P µ .<br />
Ist die zweite Ableitung P µ ′′ dort positiv denit?<br />
Was <strong>kann</strong> <strong>man</strong> über die Konvergenz des Verfahrens für µ → 0 aussagen?<br />
Lösung Es gilt<br />
Der Minimalpunkt ist<br />
P µ(x) ′ = x2 − (1 + 2µ)x + µ<br />
.<br />
x(x − 1)<br />
x(µ) =<br />
Übung 18 Betrachten Sie <strong>das</strong> Problem<br />
2µ<br />
1 + 2µ + √ 1 + 4µ 2 .<br />
min −x 1 x 2 x 3 s.t. 72 − x 1 − 2x 2 − 2x 3 = 0<br />
und dazu <strong>das</strong> Penaltyverfahren mit H µ (x) = −x 1 x 2 x 3 + (µ/2)(72 − x 1 − 2x 2 − 2x 3 ) 2 und<br />
µ > 0:<br />
min x<br />
H µ (x).<br />
Berechnen Sie einen lokalen Minimalpunkt von H µ .<br />
Ist die Hessematrix ∇ 2 H µ dort positiv denit?<br />
Was <strong>kann</strong> <strong>man</strong> über die Konvergenz des Verfahrens für µ → ∞ aussagen?<br />
58
3.4. Übungen<br />
Lösung Aus ∇H µ (x) = 0 folgt x 3 = x 2 und x 1 = 2x 2 . Für den lokalen Minimalpunkt<br />
√<br />
gilt x 2 = 24/(1 + (1 − 8/µ)).<br />
Übung 19 Gegeben ist eine Folge positiver Zahlen (r k ) k die für k → ∞ gegen unendlich<br />
strebt. Es seien f : R N → R und g : R N → R M stetig. Deniere<br />
∑ M<br />
f k (x) = f(x) + (1/2)r k g j (x) 2 .<br />
Wir setzen voraus, daÿ die Menge U = {x ∈ R N : g k (x) = 0 für alle k ∈ {1, ..., M}}<br />
nicht leer ist und lim ‖x‖→∞ f(x) = ∞.<br />
Wir betrachten eine Folge x k mit x k ∈ Arg min f k (x).<br />
Man zeige:<br />
Jeder Häufungspunkt von (x k ) k∈N ist Minimalpunkt von f auf der Menge U.<br />
j=1<br />
Nun seien f und g stetig dierenzierbar.<br />
Zeigen Sie: Für jeden Häufungspunkt x ∗ von (x k ) k , für den die Gradienten<br />
∇g 1 (x ∗ ), ..., ∇g M (x ∗ ) linear unabhängig sind, gibt es λ ∈ R M mit<br />
M∑<br />
∇f(x ∗ ) + λ j ∇g j (x ∗ ) = 0.<br />
j=1<br />
Übung 20 Zeigen Sie, <strong>das</strong>s unter den Voraussetzungen von Satz 13 auch Teil 1. der<br />
Voraussetzung 2 erfüllt ist.<br />
Unterscheiden Sie dabei folgende Fälle:<br />
1. s T t H c s t ≤ 0 Dann gilt s t = −‖s t ‖/‖∇f(x c )‖∇f(x c ).<br />
2. s T t H c s t > 0 und s t = −‖∇f(x c )‖ 2 /[∇f(x c ) T H c ∇f(x c )]∇f(x c )<br />
3. s T t H c s t > 0 und s t = −‖s t ‖/‖∇f(x c )‖∇f(x c ).<br />
In diesem Fall gilt ‖∇f(x c )‖ 3 /(∇f(x c ) T H c ∇f(x c )) ≥ ∆ = ‖s t ‖.<br />
Eine mögliche Wahl ist σ = min{1/2, 1/(2M)}.<br />
Lösung Zu zeigen: Es gibt σ > 0 mit<br />
pred = f(x c ) − m c (x t ) ≥ σ‖∇f(x c )‖ min{‖s t ‖, ‖∇f(x c )‖}.<br />
Es gilt pred = −∇f(x c ) T s t − s T t H c s t /2.<br />
1. Fall: pred = ‖s t ‖ ‖∇f(x c )‖ − s t H c s t /2 ≥ ‖s t ‖ ‖∇f(x c )‖<br />
2. Fall: pred = (1/2)‖∇f(x c )‖ 4 /(∇f(x c ) T H c ∇f(x c )) ≥ (1/2M)‖∇f(x c )‖ 2<br />
3. Fall:<br />
pred = ‖s t ‖ ‖∇f(x c )‖ − (1/2)‖s t ‖ 2 ‖∇f(x c )‖ 3 /‖∇f(x c )‖ 2<br />
≥<br />
‖s t ‖ ‖∇f(x c )‖ − (1/2)‖s t ‖ ‖∇f(x c )‖<br />
= (1/2)‖s t ‖ ‖∇f(x c )‖.<br />
59
3. Globale Konvergenz<br />
Übung 21 Die Sekantengleichung ist die Gleichung<br />
H + (x + − x c ) = ∇f(x + ) − ∇f(x c ).<br />
Zeigen Sie, <strong>das</strong>s im Fall N = 1 <strong>das</strong> Verfahren mit<br />
<strong>das</strong> be<strong>kann</strong>te Sekantenverfahren ist.<br />
x ++ = x + − (H + ) −1 ∇f(x + )<br />
Übung 22 Zeigen Sie:<br />
Für eine symmetrische positiv denite Matrix A gilt die Ungleichung<br />
(z T As) 2 ≤ (s T As)(z T Az)<br />
für alle Vektoren z und s. Dabei tritt Gleichheit nur auf, falls z und s linear abhängig<br />
sind.<br />
Lï¾ 1 ung Falls s = 0, so gilt die Behauptung. Wir setzen <strong>als</strong>o voraus, <strong>das</strong>s gilt s ≠ 0.<br />
2<br />
Wir denieren die Funktionen f(v) = (v T As) 2 und h(v) = v T Av − 1. Wir betrachten<br />
<strong>das</strong> Optimierungsproblem<br />
max f(v) s.t. h(v) = 0.<br />
Eine Lösung (die ja existiert) nennen wir v ∗ . Nach dem Satz von Lagrange gibt es einen<br />
Lagrangemultiplikator λ mit<br />
∇f(v ∗ ) + λ∇h(v ∗ ) = 0.<br />
Es gilt ∇f(v) T = 2(v T As)s T A und ∇h(v) T = 2v T A. Es folgt<br />
2((v ∗ ) T As)s T A + 2λ(v ∗ ) T A = 0,<br />
<strong>als</strong>o<br />
((v ∗ ) T As)s + λv ∗ = 0.<br />
Es gilt f(v) ≥ 0 und aus v T As = 0 folgt f(v) = 0. Es gilt f(s/(s T As) 1/2 ) = s T As > 0,<br />
<strong>als</strong>o gilt auch im Maximalpunkt v ∗ die Ungleichung s T Av ∗ ≠ 0. Die Vektoren s und v ∗<br />
sind <strong>als</strong>o linear abhängig. Aus h(v ∗ ) = 0 folgt daher v ∗ ∈ {v 1 , v 2 } mit v 1 = s/(s T As) 1/2 ,<br />
v 2 = −s/(s T As) 1/2 . Es gilt f(v 1 ) = f(v 2 ) = s T As. Somit folgt für alle z ≠ 0 die<br />
Ungleichung ((<br />
z T ) )<br />
Az ≤ f(v ∗ ) = s T As<br />
(z T Az) 1/2<br />
und Gleichheit gilt genau dann, wenn die Vektoren z und s linear abhängig sind.<br />
Übung 23 Der zentrale nite Dierenzengradient ∇ h f(x) hat die Komponenten<br />
[f(x + he i ) − f(x − he i )]/(2h).<br />
Der Vorwärtsdierenzengradient hat die Komponenten<br />
[f(x + he i ) − f(x)]/h.<br />
Berechnen Sie Beide Dierenzengradienten für die Funktionen f 1 (x) = x T Ax (A symmetrisch),<br />
f 2 (x) = exp(x 2 ).<br />
60
3.4. Übungen<br />
Lösung Mit dem zentralen Dierenzengradienten gilt ∇ h f 1 (x) = 2Ax.<br />
Mit dem Vorwärtsdierenzengradienten gilt ∇ h f 1 (x) = 2Ax + h(a ii ) N i=1.<br />
Mit dem zentralen Dierenzengradienten gilt<br />
∇ h f 2 (x) = exp(x 2 )2x exp(h 2 ) sinh(2hx)/(2hx)<br />
= exp(x 2 )2x exp(h 2 )(1 + O(h 2 ))<br />
= f ′ 2(x)(1 + O(h 4 )).<br />
Mit dem Vorwärtsdierenzengradienten gilt<br />
∇ h f 2 (x) = f ′ 2(x)[exp(2hx + h 2 ) − 1]/(2hx)]<br />
= f ′ 2(x)(1 + O(h)).<br />
61
3. Globale Konvergenz<br />
62
4. Das BFGS Verfahren<br />
Quasinewtonverfahren erzeugen im Laufe der Iteration eine Folge von Approximationen<br />
der Matrix ∇ 2 f(x ∗ ). Im allgemeinen erfolgt der Übergang von den aktuellen Approximationen<br />
x c und H c von x ∗ und ∇ 2 f(x ∗ ) zu den neuen Approximationen x + und H +<br />
(mit einer Liniensuche) gemäÿ folgenden Schritten:<br />
1. Berechne eine Suchrichtung d = −H −1<br />
c ∇f(x c ).<br />
2. Berechne x + = x c + λd mit einer Liniensuche, die einen hinreichenden Abstieg<br />
garantiert.<br />
3. Benutze x c , x + und H c , um H c zu aktualisieren und durch H + zu ersetzen.<br />
Die Methode wird dadurch bestimmt, wie H + berechnet wird. Das konkrete Verfahren<br />
nennen wir ein Quasinewtonupdate.<br />
Das BFGS (Broyden, Fletcher, Goldfarb, Shanno) [5], [14], [17], [24] Verfahren, auf<br />
<strong>das</strong> wir den Schwerpunkt legen, heiÿt Sekantenverfahren, weil bei diesem Verfahren die<br />
Sekantengleichung<br />
H + s = y (4.1)<br />
erfüllt ist. In (4.1) ist s = x + − x c und y = ∇f(x + ) − ∇f(x c ). Im Fall N = 1 erhält <strong>man</strong><br />
aus der Sekantengleichung <strong>das</strong> klassische Sekantenverfahren für die (eine) nichtlineare<br />
Gleichung f ′ (x) = 0, d.h.<br />
x + = x c − λ f ′ (x c )(x c − x − )<br />
f ′ (x c ) − f ′ (x − ) , (4.2)<br />
wobei x − der Vorgänger von x c ist.<br />
Für nichtlineare Gleichungen ist <strong>das</strong> Standardquasinewtonupdate <strong>das</strong> Verfahren von<br />
Broyden [4], ein Rangeinsupdate, nämlich<br />
H + = H c + (y − H cs)s T<br />
. (4.3)<br />
s T s<br />
Das Verfahren von Broyden erhält nicht die Struktureigenschaften, die <strong>man</strong> bei Liniensuchverfahren<br />
in der Optimierung braucht, nämlich Symmetrie und positive Denitheit.<br />
Deshalb sind die Quasinewtonverfahren, die <strong>man</strong> in der Optimierung braucht,<br />
komplexer <strong>als</strong> die bei nichtlinearen Gleichungen. Daher sind auch die Konvergenzanalyse<br />
und die Implementierung komplizierter.<br />
Wir konzentrieren uns hier auf <strong>das</strong> BFGSVerfahren, den Rangzweiupdate<br />
H + = H c + yyT<br />
y T s − (H cs)(H c s) T<br />
. (4.4)<br />
s T H c s<br />
63
4. Das BFGS Verfahren<br />
4.1. Analyse<br />
Wir beginnen diesen Abschnitt mit einigen einfachen Beobachtungen, die die Regularität<br />
und Positivität des BFGSupdates betreen.<br />
Sowohl für die Theorie, <strong>als</strong> auch für die Praxis ist es sehr nützlich, die Gleichung (4.4)<br />
mittels inverse Matrizen auszudrücken.<br />
Lemma 6 Die Matrix H c sei spd, y T s ≠ 0 und H + wie in (4.4). Dann ist H + regulär,<br />
und für die inverse Matrix gilt<br />
H −1<br />
+ =<br />
(<br />
I − syT<br />
y T s<br />
)<br />
H −1<br />
c<br />
(<br />
I − ysT<br />
y T s<br />
)<br />
+ ssT<br />
y T s . (4.5)<br />
Lemma 7 Die Matrix H c sei spd, y T s > 0 und H + wie in (4.4). Dann ist H + spd.<br />
Beweis. Aus der positiven Denitheit von H c folgt wegen unserer Voraussetzung y T s > 0<br />
für alle z ≠ 0 die Gleichung<br />
z T H + z = (zT y) 2<br />
y T s + zT H c z − (zT H c s) 2<br />
s T H c s .<br />
Da H c symmetrisch und positiv denit ist, gilt<br />
(z T H c s) 2 ≤ (s T H c s)(z T H c z).<br />
Dabei tritt Gleichheit nur auf, falls z und s linear abhängig sind.<br />
Nach Voraussetzung gilt in unserem Fall z ≠ 0, s ≠ 0 und y T s > 0, <strong>als</strong>o folgt falls z<br />
und s linear unabhängig sind<br />
und falls z und s linear abhängig sind gilt<br />
z T H + z > (z T y) 2 /(y T s) ≥ 0,<br />
z T H + z = (z T y) 2 /(y T s) > 0.<br />
Daher ist die Matrix H + positiv denit.<br />
Falls im Algorithmus gilt y T s ≤ 0, ist es nicht sinnvoll, <strong>das</strong> BFGSupdate zu verwenden.<br />
4.1.1. Lokale Theorie<br />
In der lokalen Konvergenztheorie wird vorausgesetzt, daÿ gute Startnäherungen für x ∗<br />
und ∇ 2 f(x ∗ ) gegeben sind.<br />
Satz 15 Voraussetzung 1 sei erfüllt. Dann gibt es δ > 0, so daÿ aus<br />
‖x 0 − x ∗ ‖ ≤ δ und ‖H 0 − ∇ 2 f(x ∗ )‖ ≤ δ<br />
folgt, daÿ die BFGS QuasiNewton Iterierten der Form<br />
x n+1 = x n − H −1<br />
n ∇f(x n )<br />
wohldeniert sind und qsuperlinear gegen den lokalen Minimalpunkt x ∗ konvergieren.<br />
64
4.1. Analyse<br />
Weil der Beweis von Satz 15 kompliziert ist, teilen wir ihn in einige Einzelschritte<br />
auf. Ähnlich wie es in anderen Beiträgen zu diesem Thema geschieht, beginnen wir<br />
mit der Beobachtung, daÿ wir für die Konvergenzanalyse voraussetzen können, daÿ gilt<br />
∇ 2 f(x ∗ ) = I.<br />
Lemma 8 Voraussetzung 1 sei erfüllt. Betrachte die Funktion<br />
ˆf(y) = f(Ay),<br />
mit A = (∇ 2 f(x ∗ )) −1/2 . Es seien x c und H c gegeben und ˆx c = A −1 x c und Ĥc = AH c A.<br />
Dann erfüllen die BFGS updates (x + , H + ) für f und (ˆx + , Ĥ+) für ˆf die Relationen<br />
ˆx + = A −1 x + and Ĥ+ = AH + A.<br />
Insbesondere existiert die BFGSsequenz für f (d.h. H n ist für alle n spd) genau dann,<br />
wenn die BFGSsequenz für ˆf existiert und die Konvergenz der Folge {x n } ist genau dann<br />
qsuperlinear, wenn dies für die Folge {ˆx n } der Fall ist.<br />
Der Beweis ist eine einfache Übung.<br />
Im folgenden können wir <strong>als</strong>o ohne Beschränkung der Allgemeinheit voraussetzen, daÿ<br />
∇ 2 f(x ∗ ) die Einheitsmatrix ist, denn indem wir f durch die transformierte Funktion ˆf<br />
ersetzen, können wir <strong>das</strong> immer erreichen.<br />
Mit dieser Voraussetzung ∇ 2 f(x ∗ ) = I bezeichnen wir die Fehler in den inversen<br />
Hessematrizen <strong>als</strong><br />
E = H −1 − ∇ 2 f(x ∗ ) −1 = H −1 − I.<br />
Diese Fehler erfüllen eine einfache Rekursionsformel.<br />
Lemma 9 Voraussetzung 1 sei erfüllt. Die Matrix H c sei spd und<br />
x + = x c − H −1<br />
c ∇f(x c ).<br />
Dann gibt es Zahlen δ 0 > 0 und K > 0, so daÿ aus<br />
0 < ‖x c − x ∗ ‖ ≤ δ 0 und ‖E c ‖ ≤ δ 0<br />
folgt y T s > 0. Für den Fehler E + des BFGS updates H + von H c gilt<br />
E + = (I − ww T )E c (I − ww T ) + ∆, (4.6)<br />
mit w = s/‖s‖ und<br />
‖∆‖ ≤ K(‖e + ‖ + ‖e c ‖) ≤ 5K‖s‖. (4.7)<br />
Beweis. Wir wählen δ 0 so klein, daÿ aus x c ≠ x ∗ und x c ∈ B(δ 0 ) folgt, ∇f(x c ) ≠ 0. Aus<br />
Satz 1 folgt<br />
∇f(x c ) =<br />
∫ 1<br />
0<br />
∇ 2 f(x ∗ + te c )e c dt = e c + ∆ 1 e c ,<br />
65
4. Das BFGS Verfahren<br />
wobei die Matrix ∆ 1 durch folgende Gleichung gegeben ist:<br />
Es gilt<br />
und<br />
Daher gilt<br />
und daher<br />
falls<br />
∆ 1 =<br />
∫ 1<br />
0<br />
(∇ 2 f(x ∗ + te c ) − I) dt.<br />
‖∆ 1 ‖ ≤ γ‖e c ‖/2<br />
s = −H −1<br />
c ∇f(x c ) = −(I + E c )(I + ∆ 1 )e c .<br />
‖e c ‖(1 − δ 0 )(1 − γδ 0 /2) ≤ ‖s‖ ≤ ‖e c ‖(1 + δ 0 )(1 + γδ 0 /2)<br />
0 < ‖e c ‖/2 ≤ ‖s‖ ≤ 2‖e c ‖ (4.8)<br />
δ 0 ≤ min{1/4, 1/(2γ)}. (4.9)<br />
Im Rest dieses Abschnittes setzen wir voraus, daÿ (4.9) gilt.<br />
Mit unserer Voraussetzung ∇ 2 f(x ∗ ) = I und dem Fundament<strong>als</strong>atz der Analysis<br />
schlieÿen wir<br />
∫ 1<br />
y = ∇f(x + ) − ∇f(x c ) = ∇ 2 f(x c + ts) s dt<br />
= s +<br />
∫ 1<br />
mit der Matrix ∆ 2 , die durch die Gleichung<br />
0<br />
∆ 2 =<br />
0<br />
(∇ 2 f(x c + ts) − I)s dt = s + ∆ 2 s, (4.10)<br />
∫ 1<br />
0<br />
(∇ 2 f(x c + ts) − I) dt<br />
gegeben ist. Mit unserer Standardvoraussetzung Voraussetzung 1 folgt die Abschätzung<br />
‖∆ 2 ‖ ≤ γ(‖e + ‖ + ‖e c ‖)/2 ≤ 5γ‖s‖/2. Wegen (4.9) gilt δ 0 ≤ 2/(2 + γ) und daher<br />
[∫ 1<br />
]<br />
‖e + ‖ = ‖ − E c e c + Hc<br />
−1<br />
0<br />
I − ∇ 2 f(x ∗ + te c ) e c dt‖<br />
≤ ‖e c ‖ ( ‖E c ‖ + ‖Hc<br />
−1 ‖ ‖e c ‖γ/2 ) ≤ 2‖e c ‖.<br />
Daraus erhält <strong>man</strong> mit (4.8) die Ungleichung<br />
Also gilt<br />
falls δ 0 < 2γ/3. Es gilt<br />
(∆ 2 s) T s ≤ 3γ‖e c ‖‖s‖ 2 /2 ≤ (3γδ 0 /2) ‖s‖ 2 .<br />
y T s = s T s + (∆ 2 s) T s ≥ ‖s‖ 2 (1 − 3γδ 0 /2) > 0, (4.11)<br />
sy T<br />
y T s = ssT + s(∆ 2 s) T<br />
s T s + (∆ 2 s) T s = ssT<br />
s T s − ∆ 3 = ww T − ∆ 3 , (4.12)<br />
66
4.1. Analyse<br />
wobei gilt<br />
‖∆ 3 ‖ ≤ γ(‖e + ‖ + ‖e c ‖)/(1 − 3γδ 0 /2). (4.13)<br />
Wir ziehen nun von Gleichung (4.5) die Einheitsmatrix (∇ 2 f(x ∗ )) −1 ab und erhalten aus<br />
(4.12)<br />
E + = (I − ww T + ∆ 3 )Hc<br />
−1 (I − ww T + ∆ T 3 ) + ss T /(y T s) − I<br />
= (I − ww T )(E c + I)(I − ww T ) + (s T s/y T s)ww T − I + ∆<br />
= (I − ww T )E c (I − ww T ) + [(s T s/y T s) − 1]ww T + ∆,<br />
wobei die Matrix ∆ durch folgende Gleichung gegeben ist:<br />
∆ = ∆ 3 Hc<br />
−1 (I − ww T + ∆ T 3 ) + (I − ww T )Hc −1 ∆ T 3 .<br />
Aus (4.9) folgt 1 + δ 0 ≤ 3/2 und damit<br />
Wegen<br />
‖∆‖ ≤ ‖∆ 3 ‖(1 + δ 0 )(2 + ‖∆ 3 ‖) + 2(1 + δ 0 )‖∆ 3 ‖<br />
≤<br />
‖∆ 3 ‖(1 + δ 0 )(4 + ‖∆ 3 ‖).<br />
‖ [(s T s/y T s) − 1]ww T ‖ ≤ ‖∆ 2 ‖/(1 − ‖∆ 2 ‖)<br />
folgt die Behauptung mit (4.13).<br />
Lemma 9 sagt aus, daÿ die Approximationen der Hessematrizen sich nicht zu weit<br />
von der exakten Hessematrix entfernen, wenn die Startnäherungen gut sind. Aus dieser<br />
Eigenschaft der beschränkten Verschlechterung (bounded deterioration) folgt direkt die<br />
lokale qlineare Konvergenz.<br />
Folgerung 1 Die Voraussetzungen von Lemma 9 seien erfüllt. Dann gilt<br />
‖E + ‖ ≤ ‖E c ‖ + K(‖e c ‖ + ‖e + ‖) (4.14)<br />
Beweis. Die Behauptung folgt mit Lemma 9 und der Gleichung ‖I − ww T ‖ = 1, die gilt,<br />
weil I − ww T eine Orthogonalprojektion ist.<br />
Wir sind jetzt dazu bereit, die lokale qlineare Konvergenz zu beweisen. Das ist auch<br />
ein wesentlicher Schritt bei dem Beweis der superlinearen Konvergenz. Die Abschätzungen<br />
im Beweis sind für die Fehler der inversen Matrizen formuliert, E = H −1 − I.<br />
Stattdessen könnte <strong>man</strong> auch mit der Norm von H−I arbeiten, denn aus ‖E‖ ≤ δ l < 1/2<br />
folgt ‖H −1 ‖ < 3/2 und mit dem Banachlemma folgt ‖H‖ ≤ 2. Daher gilt<br />
‖H n − I‖ = ‖H n (H −1<br />
n<br />
− I)‖ ≤ 2‖H −1<br />
n<br />
− I‖<br />
und<br />
‖H −1<br />
n<br />
− I‖ = ‖Hn<br />
−1 (H n − I)‖ ≤ 3/2‖H n − I‖.<br />
67
4. Das BFGS Verfahren<br />
Satz 16 Voraussetzung 1 sei erfüllt. Für alle σ ∈ (0, 1) gibt es eine Zahl δ l > 0 so daÿ<br />
aus<br />
‖x 0 − x ∗ ‖ ≤ δ l und ‖H0 −1 − ∇ 2 f(x ∗ ) −1 ‖ ≤ δ l (4.15)<br />
folgt, daÿ die BFGS Iterierten wohldeniert sind und qlinear gegen x ∗ konvergieren,<br />
wobei der qFaktor höchstens σ ist.<br />
Beweis. Es sei σ ∈ (0, 1) gegeben. Wähle ˆδ > 0 hinreichend klein, so daÿ gilt ˆδ < δ 0 mit<br />
δ 0 aus Lemma 9 und ˆδ[1 + γ(1 + ˆδ)/2] ≤ σ. Dann impliziert Voraussetzung 1 für x c und<br />
H c mit<br />
‖x c − x ∗ ‖ ≤ ˆδ und ‖E c ‖ = ‖Hc −1 − I‖ ≤ ˆδ (4.16)<br />
die Abschätzung<br />
‖e + ‖ ≤ ‖e c ‖ [‖E c ‖ + (1 + ‖E c ‖)γ‖e c ‖/2] ≤ ‖e c ‖ˆδ[1 + γ(1 + ˆδ)/2] ≤ σ‖e c ‖. (4.17)<br />
Wir wollen nun δ l so klein wählen, daÿ falls die Startwerte (4.15) erfüllen, (4.16) während<br />
der gesamten Iteration erfüllt ist.<br />
Dazu setzen wir<br />
ˆδ<br />
δ l =<br />
2[1 + K(1 + σ)/(1 − σ)] . (4.18)<br />
Dann gilt<br />
⎡<br />
⎤<br />
∞∑<br />
δ l<br />
⎣1 + K(1 + σ) σ j ⎦ = ˆδ/2.<br />
j=0<br />
Wir führen nun denn Beweis mit vollständiger Induktion. Falls E 0 und e 0 (4.15) erfüllen,<br />
folgt mit (4.17) ‖e 1 ‖ ≤ σ‖e 0 ‖ < σδ l und mit (4.14) die Ungleichung<br />
‖E 1 ‖ ≤ ‖E 0 ‖ + K(1 + σ)‖e 0 ‖ ≤ δ l [1 + K(1 + σ)] < ˆδ.<br />
Angenommen, es gilt ‖e n ‖ ≤ σ n ‖e 0 ‖ < σ n δ l und die Ungleichung<br />
⎡<br />
⎤<br />
n−1 ∑<br />
‖E n ‖ ≤ δ l<br />
⎣1 + K(1 + σ) σ j ⎦ < ˆδ.<br />
Dann folgt mit (4.17) ‖e n+1 ‖ ≤ σ n+1 ‖e 0 ‖ < σ n+1 δ l und mit (4.14)<br />
j=0<br />
‖E n+1 ‖ ≤ ‖E n ‖ + K(‖e n+1 ‖ + ‖e n ‖)<br />
⎡<br />
⎤<br />
n−1 ∑<br />
≤ δ l<br />
⎣1 + K(1 + σ) σ j ⎦ + K(1 + σ)σ n δ l<br />
j=0<br />
⎡<br />
⎤<br />
n∑<br />
≤ δ l<br />
⎣1 + K(1 + σ) σ j ⎦ < ˆδ.<br />
j=0<br />
Damit folgt die Behauptung, da (4.16), und somit auch (4.17) während der gesamten<br />
Iteration erfüllt sind.<br />
68
4.1. Analyse<br />
Wir kommen nun zum Beweis von Satz 15. Dabei spielt die DennisMoré [10] Bedingung<br />
eine wesentliche Rolle. Sie ist eine hinreichende und notwendige Bedingung<br />
für die superlineare Konvergenz von Quasinewtonmethoden. In unserer Notation ist die<br />
Bedingung<br />
‖E n s n ‖<br />
lim = 0, (4.19)<br />
n→∞ ‖s n ‖<br />
wobei {s n } die Folge der Schritte ist und {E n } die Folge der Fehler in den Approximationen<br />
der Inversen der Hessematrix. Wir werden hier nur den Spezialfall der hinreichenden<br />
Bedingung betrachten, den wir für den Beweis von Satz 15 brauchen, und verweisen für<br />
allgemeinere Ergebnisse auf die Literatur.<br />
Satz 17 Voraussetzung 1 sei erfüllt. Es sei {H n } eine Folge regulärer N × N Matrizen<br />
und M > 0 eine Zahl, so daÿ für alle n gilt<br />
‖H n ‖ ≤ M. (4.20)<br />
Es sei x 0 ∈ R N gegeben und die Folge {x n } ∞ n=1 rekursiv durch die Vorschrift<br />
x n+1 = x n − H −1<br />
n ∇f(x n )<br />
deniert. Falls die Folge {x n } qlinear gegen x ∗ konvergiert, und für alle n gilt x n ≠<br />
x ∗ , und die DennisMoré Bedingung (4.19) erfüllt ist, so konvergiert die Folge {x n }<br />
superlinear gegen x ∗ .<br />
Beweis. Aus der qlinearen Konvergenz mit qFaktor σ ∈ (0, 1) folgt für hinreichend<br />
groÿe n die Ungleichung<br />
und nach (4.10) gilt<br />
(1 − σ)‖e n ‖ ≤ ‖s n ‖ = ‖e n+1 − e n ‖ ≤ (1 + σ)‖e n ‖. (4.21)<br />
s n = x n+1 − x n = y n − ∆ n 2s n ,<br />
mit ‖∆ n 2‖ ≤ γ(‖e n+1 ‖ + ‖e n ‖)/2 ≤ γ‖e n ‖. Wegen −Hn<br />
−1 ∇f(x n ) = s n folgt die Gleichung<br />
Es gilt<br />
E n s n = (H −1<br />
n<br />
= H −1<br />
n<br />
= H −1<br />
n<br />
= H −1<br />
n<br />
− I)s n<br />
y n − Hn<br />
−1 ∆ n 2s n − s n<br />
(∇f(x n+1 ) − ∇f(x n )) − H −1<br />
n<br />
∇f(x n+1 ) − H −1<br />
n ∆ n 2s n .<br />
∆ n 2s n − s n<br />
∇f(x n+1 ) = ∇f(x n+1 ) − ∇f(x ∗ )<br />
=<br />
∫ 1<br />
0<br />
= e n+1 +<br />
∇ 2 f(x ∗ + te n+1 )e n+1 dt<br />
∫ 1<br />
0<br />
[∇ 2 f(x ∗ + te n+1 ) − ∇ 2 f(x ∗ )]e n+1 dt,<br />
69
4. Das BFGS Verfahren<br />
<strong>als</strong>o folgt<br />
‖∇f(x n+1 )‖ ≥ ‖e n+1 ‖ − γ‖e n+1 ‖ 2 /2. (4.22)<br />
Wir erhalten die Abschätzung<br />
‖e n+1 ‖<br />
‖e n ‖<br />
≤ ‖∇f(x n+1)‖ + γ‖e n+1 ‖ 2 /2<br />
‖e n ‖<br />
≤<br />
≤<br />
M‖H−1 n<br />
∇f(x n+1 ) − Hn −1 ∆ n 2s n ‖ + ‖∆ n 2s n ‖ + γ‖e n+1 ‖ 2<br />
‖e n ‖<br />
(1 + σ)M‖E ns n ‖<br />
‖s n ‖<br />
+ γ(1 + σ)‖e n‖ 2 + γσ‖e n ‖ 2<br />
.<br />
‖e n ‖<br />
Also folgt aus (4.19) und ‖e n ‖ → 0, daÿ gilt ‖e n+1 ‖/‖e n ‖ → 0, und somit die q<br />
superlineare Konvergenz.<br />
Im Rest des Abschnittes setzen wir voraus, daÿ (4.15) gilt und daÿ δ l so klein ist, daÿ<br />
die Aussagen von Satz 16 für ein σ ∈ (0, 1) gelten. Dann gilt auch<br />
∞∑<br />
n=0<br />
Die Frobeniusnorm einer Matrix A ist deniert <strong>als</strong><br />
Für jeden Einheitsvektor v ∈ R N gilt<br />
‖A‖ 2 F =<br />
‖s n ‖ < ∞. (4.23)<br />
N∑<br />
i,j=1<br />
((A) ij ) 2 . (4.24)<br />
‖A(I − vv T )‖ 2 F ≤ ‖A‖ 2 F − ‖Av‖ 2 und ‖(I − vv T )A‖ 2 F ≤ ‖A‖ 2 F . (4.25)<br />
Aus (4.6), (4.7), (4.21) und (4.25) folgt<br />
‖E n+1 ‖ 2 F ≤ ‖E n ‖ 2 F − ‖E n w n ‖ 2 + O(‖s n ‖) = (1 − θ 2 n)‖E n ‖ 2 F + O(‖s n ‖), (4.26)<br />
mit w n = s n /‖s n ‖ und θ n = ‖E n w n ‖/‖E n ‖ F falls E n ≠ 0 und θ n = 1 falls E n = 0. Mit<br />
(4.23) folgt für alle k ≥ 0<br />
k∑<br />
θn‖E 2 n ‖ 2 F<br />
n=0<br />
k∑<br />
≤ ‖E n ‖ 2 F − ‖E n+1 ‖ 2 F + O(1)<br />
n=0<br />
= ‖E 0 ‖ 2 F − ‖E k+1 ‖ 2 F + O(1) < ∞.<br />
Also konvergiert die Folge {θ n ‖E n ‖ F } gegen 0.<br />
Falls E n ≠ 0, gilt θ n ‖E n ‖ F = ‖E n w n ‖. Falls E n = 0, gilt ebenfalls θ n ‖E n ‖ F = ‖E n w n ‖.<br />
Wir haben <strong>als</strong>o gezeigt, daÿ die Folge {‖E n w n ‖} = {‖E n s n ‖/‖s n ‖} gegen Null konvergiert.<br />
Damit ist (4.19) erfüllt und Satz 15 bewiesen.<br />
70
4.1.2. Globale Theorie<br />
4.2. Implementierung<br />
Wenn <strong>man</strong> mit den BFGS Modellhessematrizen in Algorithmus optarm arbeitet, ist Satz<br />
11 anwendbar, falls die Matrizen {H k } beschränkt und wohlkonditioniert bleiben. Aber<br />
sogar wenn ein Häufungspunkt der Iteration ein Minimalpunkt x ∗ ist, der die Standardvoraussetzungen<br />
erfüllt, garantiert Satz 11 nicht, daÿ die Gesamtiteration gegen diesen<br />
Punkt konvergiert. Eine Situation, bei der x nahe bei x ∗ liegt aber H nicht nahe bei<br />
∇ 2 f(x ∗ ) liegt, ist aus der Sicht der lokalen Theorie, nicht besser <strong>als</strong> eine Situation bei<br />
der auch x weit weg von x ∗ ist. In der Praxis beobachtet <strong>man</strong> allerdings Konvergenz (oft<br />
superlineare). Das Ergebnis in diesem Abschnitt bietet dafür unter gewissen Voraussetzungen<br />
eine Erklärung.<br />
Unsere Beschreibung der globalen Theorie, bei der wir die Armijo Liniensuche aus<br />
Kapitel 3 verwenden, basiert auf einer Arbeit von Byrd und Nocedal [6]. Ältere Resultate<br />
verwenden andere Zugänge zur Liniensuche. Ergebnisse dieser Art erfordern starke<br />
Voraussetzungen an f und den Startpunkt x 0 , aber dafür erhält <strong>man</strong> globale und q<br />
superlineare Konvergenz der BFGSArmijoiteration.<br />
Voraussetzung 3 Die Menge<br />
D = {x : f(x) ≤ f(x 0 )}<br />
ist konvex und f ist zweimal Lipschitz stetig dierenzierbar in D. Auÿerdem gibt es<br />
λ + ≥ λ − > 0, so daÿ für alle x ∈ D gilt<br />
σ(∇ 2 f(x)) ⊂ [λ − , λ + ],<br />
wobei σ die Menge der Eigenwerte der Hessematrix beschreibt.<br />
Aus Voraussetzung 3 folgt, daÿ f in D genau einen Minimalpunkt hat und daÿ Voraussetzung<br />
1 bei x ∗ erfüllt ist.<br />
Satz 18 Voraussetzung 3 sei erfüllt und die Matrix H 0 sei spd. Dann konvergiert die<br />
BFGSArmijoiteration qsuperlinear gegen x ∗ .<br />
Einen Beweis unter der stärkeren Voraussetzung, daÿ f dreimal stetig dierenzierbar<br />
ist, ndet <strong>man</strong> in [25], p. 143.<br />
Die Resultate für lokale und globale Konvergenz passen nicht ganz zusammen. Eine<br />
Implementierung muÿ berücksichtigen, daÿ Voraussetzung 3 sogar in der Nähe eines<br />
Minimalpunktes verletzt sein <strong>kann</strong>, und daÿ auch der Fall y T s ≤ 0 möglich ist, wenn<br />
<strong>man</strong> noch weit entfernt von einem Minimalpunkt ist.<br />
4.2. Implementierung<br />
Bei einer Implementierung müssen wir uns zwei Problemen stellen: Welche Daten müssen<br />
gespeichert werden, um die updates zu erhalten, und was machen wir, falls y T s ≤ 0?<br />
71
4. Das BFGS Verfahren<br />
Die Frage der Speicherung behandeln wir in 4.2.1. Zur zweiten Frage ist zu sagen <strong>das</strong>s,<br />
falls y T s nicht hinreichend positiv ist, wir <strong>das</strong> BFGSupdate mit der Einheitsmatrix<br />
neu starten. Wir präsentieren die Details in 4.2.2. Unser Globalisierungsansatz ist der<br />
einfachste überhaupr, nämlich die Armijoregel, wie sie in Kapitel 3 beschrieben wird.<br />
Wir wählen die Armijoregel, um die Darstellung so einfach wie möglich zu halten.<br />
Die Armijoregel ist robust und reicht bei den meisten Problemen aus, allerdings gibt es<br />
komplexere Liniensuchverfahren, die in der Literatur diskutiert werden.<br />
4.2.1. Speicherung<br />
Wir setzen im Moment voraus, <strong>das</strong>s gilt y T s > 0. Wir werden eine Methode entwickeln,<br />
den BFGSschritt zu berechnen, die mit wenig Speicherplatz auskommt und an Stelle<br />
einer vollen Matrixspeicherung die Iterationsgeschichte verwendet.<br />
Die Implementierung, die wir hier empfehlen, ist eine von vielen, die die Iterationsgeschichte<br />
speichern und diese Information rekursiv verwenden, um <strong>das</strong> Bild eines Vektors<br />
unter Hk<br />
−1 zu berechnen. Alle diese Implementierungen speichern die Iterationsgeschichte<br />
in den Paaren {s k , y k } und wir geben ein konkretes Beispiel in Algorithmus bfgsrec.<br />
Eine bessere, aber weniger direkte Methode kommt mit der Speicherung eines einzigen<br />
Vektors bei jeder Iteration aus [11]. Wir setzen voraus, <strong>das</strong>s wir <strong>das</strong> Bild eines Vektors<br />
unter H0 −1 ezient berechnen können, zum Beispiel, indem wir H 0 am Beginn der<br />
Iteration faktorisieren oder mit H 0 = I. Wir verwenden die BFGSformel aus Lemma 6.<br />
Eine Art, den Algorithmus zu implementieren bestehr darin, die Iterationsgeschichte<br />
in Vektorfolgen {y k } und {s k } zu speichern mit<br />
s k = x k+1 − x k , y k = ∇f(x k+1 ) − ∇f(x k ).<br />
Wenn <strong>man</strong> dies for k = 0, 1, ..., n − 1 durchgeführt hat, <strong>kann</strong> <strong>man</strong> die neue Suchrichtung<br />
d n = −H −1<br />
n ∇f(x n )<br />
mit einem rekursiven Algorithmus, der (4.5) verwendet, berechnen.<br />
Der Algorithmus bfgsrec überschreibt einen gegebenen Vektor d mit Hn<br />
−1 d. Es müssen<br />
<strong>als</strong>o ein Vektor d und 2n Vektoren für die Folgen {s k , y k } n−1<br />
k=0 gespeichert werden. Desweiteren<br />
wird eine Methode zur Berechnung des Produktes von H0 −1 und einem Vektor<br />
benötigt.<br />
Algorithmus 10 (bfgsrec(n, {s k }, {y k }, H −1<br />
0 , d))<br />
1. Falls n = 0, setze d = H −1<br />
0 d; return.<br />
2. α = s T n−1d/(y T n−1s); d = d − αy n−1<br />
3. Rufe bfgsrec(n − 1, {s k }, {y k }, H −1<br />
0 , d) auf.<br />
4. d = d + (α − (y T n−1d/(y T n−1s n−1 ))s n−1<br />
72
4.2. Implementierung<br />
Der Algorithmus bfgsrec hat den Vorteil, <strong>das</strong>s er in einer Sprache, die Rekursion<br />
eektiv unterstützt, sehr einfach ist.<br />
Die Kosten für die Speicherung zweier Vektoren pro Iteration können gewaltig sein,<br />
und wenn der verfügbare Speicher voll ist <strong>kann</strong> <strong>man</strong> die Iterationsgeschichte ablegen<br />
und mit H 0 neu starten. Dieser Zugang, den wir in den verbleibenden Algorithmen dieses<br />
Abschnitts implementieren, nutzt aus, <strong>das</strong>s −H0 −1 ∇f(x) eine Abstiegsrichtung ist,<br />
falls H 0 positiv denit ist, und daher eine Liniensuche in diese Richtung nützlich ist.<br />
Ein anderer Zugang mit dem Namen limited memory BFGS behält alle Informationen,<br />
ausser dem letzten Paar (s, y) und fährt mit dem update fort. Keiner dieser Zugänge zur<br />
Berschränkung des benötigten Speicherplatzes hat dies superlinearen Konvergenzeigenschaften<br />
des Algorithmus mit voller Speicherung, aber für grosse Probleme sind diese<br />
Zugänge wesentlich.<br />
Wenn wir eine komplexere Formulierung in Kauf nehmen, können wir mit der Speicherung<br />
eines einzigen Vektors pro Iteration auskommen. Die Methode, um dies zu erreichen,<br />
beginnt mit einer Entwicklung von (4.5) <strong>als</strong><br />
H+ −1 = Hc<br />
−1<br />
+ α 0 s c s T c + β 0 ((Hc<br />
−1 y c )s T c + s c (Hc −1 y c ) T ),<br />
mit α 0 = (yc R s c + yc T Hc −1 y c )/(yc T s c ) 2 und β 0 = −1/(yc T s c ).<br />
Wegen s c = λ c d c = λ c (−Hc<br />
−1 )∇f(x c ) gilt<br />
Wir erhalten<br />
H −1<br />
c<br />
H −1<br />
+ = H −1<br />
c<br />
y c = H −1<br />
c<br />
mit α 1 = α 0 + 2β 0 /λ c . Desweiteren gilt<br />
∇f(x + ) − Hc<br />
−1 ∇f(x c ) = Hc −1 ∇f(x + ) + s c /λ c .<br />
+ α 1 s c s T c + β 0 (s c (Hc<br />
−1 ∇f(x + )) T + (Hc −1 ∇f(x + ))s T c ), (4.27)<br />
mit<br />
d + = −H −1<br />
+ ∇f(x + ) = A c s c + B c H −1<br />
c ∇f(x + ), (4.28)<br />
A c = y T c /(y T c s c )H −1<br />
c (I − y c s T c /(y T c s c ))∇f(x + ) + (−1 + 1/λ)s T c ∇f(x + )/(y T c s c ), (4.29)<br />
B c = −1 + s T c ∇f(x + )/(y T c s c ). (4.30)<br />
Nun können wir d + , <strong>als</strong>o auch λ + und s + berechnen indem wir nur Hc<br />
−1 ∇f(x + ) verwenden.<br />
Wir brauchen dabei H + gar nicht! Wir können nun H + mit den neuen Daten<br />
berechnen; dabei brauchen wir die Vektoren {y k } nicht zu speichern; dies sieht <strong>man</strong><br />
folgendermassen.<br />
Wegen B c ≠ 0 (Verizieren Sie dies!) gilt<br />
H −1<br />
c ∇f(x + ) = 1/(B c λ + )s + − A c /B c s c .<br />
Kombiniert <strong>man</strong> diese Gleichung mit (4.27), so erhält <strong>man</strong><br />
H −1<br />
+ = H −1<br />
c + α c s c s T c + β c (s c s T + + s + s T c ), (4.31)<br />
73
4. Das BFGS Verfahren<br />
mit<br />
Damit erhält <strong>man</strong> die Entwicklung<br />
α c = α 1 − 2β 0 A c /B c und β c = β 0 /(λ + B c ) (4.32)<br />
H 1−<br />
n+1 = H −1<br />
0 +<br />
n∑<br />
k=0<br />
α k s k s T k + β k (s k s T k+1 + s T k+1s k ). (4.33)<br />
Der Leser wird sehen, <strong>das</strong>s dies ein vollständiger Algorithmus ist. Mit (4.28) und Hn<br />
−1<br />
können wir d n+1 berechnen. Dann können wir λ n+1 und s n+1 berechnen und mit (4.32)<br />
verwenden, um α n und β n zu berechnen. Mit diesen neuen Daten <strong>kann</strong> die Matrix Hn+1<br />
−1<br />
aus (4.33) berechnet werden, womit wir wiederum d n+1 berechnen können um die Iteration<br />
fortzusetzen.<br />
Auf diese Weise müssen nur die Schritte {s k } und die Koezienten {α k } und {β k }<br />
gespeichert werden. Algorithmus bfgsopt ist eine Implementierung dieser Ideen.<br />
Algorithmus 11 (bfgsopt(x, f, ε))<br />
1. g = −∇f(x), n = 0.<br />
2. Solange ‖g‖ > ε (a) Falls n = 0, d n = −H −1<br />
0 g, sonst berechne A, B und d n mit<br />
(4.28), (4.29) und (4.30).<br />
(b) Berechne λ n , s n und x = x n+1 mit der Armijoregel.<br />
(c) Falls n > 0 berechne α n+1 und β n−1 mit (4.32).<br />
(d) g = −∇f(x), n = n + 1.<br />
4.2.2. Ein BFGSArmijo Verfahren<br />
In diesem Abschnitt stellen wir eine einfache Implementierung dar, die zeigt, wie die<br />
theoretischen Ergebnisse in der Gestaltung von Algorithmen verwendet werden können.<br />
BF GS<br />
Es sei H+ <strong>das</strong> BFGSupdate von H c . Wir denieren zwei modizierte BFGS (MBFGS)<br />
updates <strong>als</strong><br />
{<br />
H<br />
BF GS<br />
+ falls y<br />
H + =<br />
T s > 0,<br />
(4.34)<br />
I falls y T s ≤ 0<br />
und<br />
H + =<br />
{<br />
H<br />
BF GS<br />
+ falls y T s > 0,<br />
H c falls y T s ≤ 0.<br />
(4.35)<br />
In der MBFGS1methode (4.34) wird die Modellhessematrix <strong>als</strong> Einheitsmatrix reinitialisiert<br />
falls y T s ≤ 0. In der Anfangsphase dieser Iteration, wenn ∇ 2 f möglicherweise<br />
negative Eigenwerte hat, <strong>kann</strong> der Fall y T s ≤ 0 auftreten und die Suchrichtung könnte<br />
während mehrerer Iterationen die Richtung des steilsten Abstiegs sein.<br />
Der MBFGS2schritt (4.35) bhält die Iterationsgeschichte sogar wenn y T s ≤ 0. Dieser<br />
Ansatz behält <strong>als</strong>o soviel Information wie möglich. Eine andere Sichweise ist <strong>das</strong>s, wenn<br />
y T s einmal negativ ist, die Iterationsgeschichte suspekt ist und verworfen werden sollte.<br />
Beide Formen MBFGS1 und MBFGS2 werden in der Praxis verwendet.<br />
74
4.3. Übungen<br />
4.3. Übungen<br />
Übung 24 Ein Rangm update einer (N × N)Matrix A (m ≤ N) <strong>kann</strong> in der Form<br />
Ā = A + RSL T<br />
mit (N × m)Matrizen R und L und einer m × m Matrix S geschrieben werden.<br />
a) Zeigen Sie, <strong>das</strong>s für <strong>das</strong> update der inversen Matrix dann gilt<br />
Ā −1 = A −1 − A −1 RU −1 L T A −1<br />
(Sher<strong>man</strong>Morrison Formel) Dabei gilt U = S −1 + L T A −1 R.<br />
b) Beweisen Sie Lemma 6 der Vorlesung, d.h. für <strong>das</strong> BFGSupdate<br />
gilt<br />
Ā = H + (y T s) −1 yy T − (s T Hs) −1 (Hs)(Hs) T<br />
Ā −1 = [ I − (y T s) −1 sy T ] H −1 [ I − (y T s) −1 ys T ] + (y T s) −1 ss T .<br />
Die Sekantengleichung Ās = y ist hilfreich. Zeige: Ā−1 y = s. Betrachte dann den Fall<br />
von Vektoren z mit s T Hz = 0. Auf welchen Punkt wird z durch Ā abgebildet? Betrachte<br />
nun eine Basis z 1 ,...,z N mit z 1 = s und zi T Hz 1 = 0 für i > 1. Zeige, <strong>das</strong>s die Vektoren<br />
Āz i durch den Kandidaten M für Ā−1 wieder auf z i abgebildet werden. Folgere daraus:<br />
M = Ā−1 .<br />
Lösung<br />
a) Setze M = A −1 − A −1 RU −1 L T A −1 . Dann gilt<br />
MĀ = I − A−1 RU −1 L T + A −1 RSL T − A −1 RU −1 L T A −1 RSL T<br />
= I + A −1 R[SL T − U −1 (S −1 S)L T − U −1 L T A −1 RSL T ]<br />
= I + A −1 R[I − U −1 (S −1 + L T A −1 R)]SL T = I.<br />
Übung 25 Beweisen Sie Lemma 8 der Vorlesung:<br />
Für die Funktion ˆf(y) = f(Ay) mit A = (∇ 2 f(x ∗ )) −1/2 gelten mit ˆx c = A −1 x c und<br />
Ĥ c = AH c A die Relation ˆx + = A −1 x + und Ĥ+ = AH + A.<br />
Was ist ŷ = ∇ ˆf(ˆx + ) − ∇ ˆf(ˆx c )?<br />
Was ist ŝ = ˆx + − ˆx c ?<br />
Ist die Sekantengleichung mit Ĥc erfüllt?<br />
Berechnen Sie ∇ 2 ˆf(ˆx ∗ )!<br />
Lösung<br />
ˆx + = ˆx c −Ĥ−1 c<br />
Nach der Kettenregel gilt<br />
∇ ˆf(ˆx c ) = A −1 x c −A −1 Hc<br />
−1 A −1 A∇f(x c ) = A −1 (x c −Hc −1 ∇f(x c )) = A −1 x +<br />
ŷ = A(∇f(x + ) − ∇f(x c )) = Ay.<br />
75
4. Das BFGS Verfahren<br />
ŝ = ˆx + − ˆx c = A −1 (x + − x c ) = A −1 s.<br />
Also folgt ŷ T ŝ = y T s und ŝ T Ĥŝ = s T Hs und somit<br />
H + = Ĥc + ŷŷT<br />
ŷ T ŝ − (Ĥcŝ)(Ĥcŝ) T<br />
ŝ T Ĥŝ<br />
= AH + A<br />
Übung 26 Es sei H eine quadratische reguläre Matrix und I die Einheitsmatrix. Es sei<br />
E = H −1 − I. Zeigen Sie: Aus ‖E‖ ≤ 1/2 folgt ‖H −1 ‖ ≤ 3/2 und ‖H‖ ≤ 2.<br />
Lösung<br />
<strong>als</strong>o folgt ‖H‖ ≤ 2.<br />
‖H −1 ‖ = ‖E + I‖ ≤ ‖E‖ + ‖I‖ ≤ 3/2.<br />
‖H‖ = ‖H(H −1 − E)‖ = ‖I − HE‖ ≤ 1 + ‖H‖/2,<br />
Übung 27 Es seien v ein Vektor und A eine quadratische Matrix mit ‖A‖ ≤ C‖v‖ und<br />
‖v‖ < 1/C.<br />
Es sei<br />
∆ 3 = vvT<br />
v T v − vvT + v(Av) T<br />
v T v + (Av) T v .<br />
Dann gilt die Ungleichung<br />
‖∆ 3 ‖ ≤ 2C‖v‖/(1 − C‖v‖).<br />
Übung 28 Es gelte w T w = 1. Zeigen Sie:<br />
Die lineare Abbildung mit der Matrix A = I − ww T ist eine Orthogonalprojektion.<br />
Lösung: Für einen Vektor z gilt Az = z − (w T z)w, <strong>als</strong>o w T (Az) = 0 und z = Az +<br />
(w T z)w, weiterhin ‖z‖ 2 = ‖Az‖ 2 + (w T z) 2 . Daher ist die zu A gehörige Abbildung die<br />
Projektion auf den Orthogonalraum von w.<br />
Übung 29 Für eine Matrix M denieren wir die Frobeniusnorm<br />
‖M‖ 2 F = ∑ ij<br />
m 2 ij.<br />
Es gelte w T w = 1. Zeigen Sie folgende Gleichungen:<br />
a)<br />
‖(I − ww T )A‖ 2 F = ‖A‖ 2 F − ‖w T A‖ 2<br />
b)<br />
‖A(I − ww T )‖ 2 F = ‖A‖ 2 F − ‖Aw‖ 2<br />
Lösung: a) Es seien a 1 ,...,a N die Spalten von A. Dann gilt ‖(I − ww T )a i ‖ 2 = ‖a i ‖ 2 −<br />
(w T a i ) 2 . Es folgt ‖(I − ww T )A‖ 2 F = ∑ N<br />
i=1 ‖a i ‖ 2 − (w T a i ) 2 = ‖A‖ 2 F − ‖w T A‖ 2 .<br />
b) Es seien z 1 ,...,z N die Zeilen von A. Dann gilt ‖z i (I − ww T )‖ 2 = ‖z i ‖ 2 − (z i w) 2 . Es<br />
folgt ‖A(I − ww T )‖ 2 F = ∑ N<br />
i=1 ‖z i ‖ 2 − (z i w) 2 = ‖A‖ 2 F − ‖Aw‖ 2 .<br />
76
4.3. Übungen<br />
Übung 30 Die Funktion f sei zweimal stetig dierenzierbar mit positiv deniten Hessematrizen.<br />
Zeigen Sie: Die Ungleichung<br />
ist für alle Punkte x k ≠ x k+1 erfüllt.<br />
Lösung:<br />
s T k y k > 0<br />
s T k y k = s T k (∇f(x k+1 )−∇f(x k )) = s T k<br />
∫ 1<br />
0<br />
∇ 2 f(x k +ts k ) T s k dt =<br />
∫ 1<br />
0<br />
s T k ∇ 2 f(x k +ts k )s k dt > 0.<br />
Übung 31 Für konvexe quadratische Probleme ist <strong>das</strong> BFGSverfahren mit exakter Liniensuche<br />
identisch mit dem CGVerfahren [8].<br />
Gegeben seien der Startpunkt x 0 und H 0 = I. Berechnen Sie für eine quadratische<br />
Zielfunktion<br />
f(x) = −x T b + (1/2)x T Ax<br />
die ersten beiden Suchrichtungen p 0 und p 1 des Liniensuchverfahrens mit der BFGSsuchrichtung<br />
bei exakter Liniensuche.<br />
Verwenden Sie die Notation<br />
s i = x i+1 − x i , y i = ∇f(x i+1 ) − ∇f(x i ),<br />
H i+1 = H i + 1/(y T i s i )y i y T i − 1/(s T i H i s i )(H i s i )(H i s i ) T ,<br />
s i = −α i H −1<br />
i ∇f(x i ) = α i p i .<br />
Verwenden Sie die Gleichung As i = y i und die Sekantengleichung H i+1 s i = y i , um zu<br />
zeigen: s T 1 As 0 = 0. Zeigen Sie, <strong>das</strong>s daraus folgt: H 2 s 0 = y 0 .<br />
Lösung Wir zeigen hier nur s T 1 As 0 = 0. Wegen der exakten Liniensuche gilt<br />
0 = −∇f(x 1 ) T s 0 = s T 0 H 1 s 1 = s T 1 (H 1 s 0 ) = s T 1 y 0 = s T 1 As 0 .<br />
Übung 32 Es sei I = [a, b] ein kompaktes Intervall und f eine zweimal stetig dierenzierbare,<br />
auf I denierte reelle Funktion. Die Funktion f sei strikt konvex. Es sei (x k ) k<br />
eine Folge von Punkten aus I mit (a) f(x k+1 ) ≤ f(x k ) und (b)<br />
lim f ′ (x k )(x k − x k+1 ) = 0.<br />
k→∞<br />
(i) Zeigen Sie: Die Folge (x k − x k+1 ) k konvergiert gegen Null.<br />
(ii) Man zeige, <strong>das</strong>s in (i) auf die Bedingung (b) nicht verzichtet werden <strong>kann</strong>.<br />
(iii) Man zeige an einem Beispiel, <strong>das</strong>s ein Grenzwert der Folge (x k ) k nicht unbedingt<br />
ein Minimalpunkt von f sein muss.<br />
(iv) Man zeige, <strong>das</strong>s in (i) auf die Bedingung (a) nicht verzichtet werden <strong>kann</strong>.<br />
77
4. Das BFGS Verfahren<br />
Lösung<br />
(i) Da f strikt konvex ist, gibt es eine Zahl m > 0, so <strong>das</strong>s für alle ξ ∈ I gilt f ′′ (ξ) ≥ m.<br />
Aus der Taylorentwicklung von f folgt die Gleichung<br />
(x k+1 − x k ) 2 /2 = [f(x k+1 ) − f(x k ) − f ′ (x k )(x k+1 − x k )]/f ′′ (ξ k ).<br />
Wegen f(x k+1 ) − f(x k ) ≤ 0 und f ′ (x k )(x k − x k+1 ) ≥ f(x k ) − f(x k+1 ) ≥ 0 erhält <strong>man</strong><br />
die Ungleichung<br />
lim sup(x k+1 − x k ) 2 /2 ≤ lim f ′ (x k )(x k − x k+1 )/m = 0,<br />
k→∞<br />
k→∞<br />
<strong>als</strong>o folgt lim k→∞ x k+1 − x k = 0.<br />
(ii) Wir wählen die Funktion f(x) = x 2 und <strong>das</strong> Intervall I = [−1, 1] und betrachten<br />
die Folge x k = (−1) k . Dann gelten für alle k die Gleichungen f(x k ) = 1 und f ′ (x k )(x k −<br />
x k+1 ) = 4 und |x k − x k+1 | = 2. Hier ist (a) erfüllt, aber (b) und die Behauptung aus (i)<br />
nicht.<br />
(iii) Wir wählen die Funktion f(x) = x 2 und I = [−2, 2] und betrachten die Folge<br />
x k = 1 + 1/k. Dann gilt für alle k f(x k+1 ) ≤ f(x k ) und lim k→∞ f ′ (x k )(x k − x k+1 ) = 0,<br />
(a) und (b) sind <strong>als</strong>o erfüllt, aber lim k→∞ x k = 1 ist kein Minimalpunkt von f in I.<br />
(iv) Wir wählen die Funktion f(x) = x 2 und I = [−1, 1] und betrachten die Folge<br />
1, 0, 1, 1/2, 0, 1, 2/3, 1/3, 0, 1, 3/4, 2/4, 1/4, 0, 1, 4/5, ...<br />
Dann ist (b) erfüllt, aber (a) und die Behauptung aus (i) gelten nicht.<br />
Übung 33 Betrachten Sie in Abhängigkeit von U > 0 <strong>das</strong> Optimierungsproblem<br />
min f(x) = sin(x) s.t. 0 ≤ x ≤ U.<br />
Beobachten Sie, wie sich die aktiven Restriktionen in Abhängigkeit von U verändern.<br />
Was <strong>kann</strong> <strong>man</strong> über die Eindeutigkeit der Lösung sagen? Gibt es lokale Minimalpunkte?<br />
Übung 34 Betrachten Sie in Abhängigkeit von den reellen Zahlen α < β und γ <strong>das</strong><br />
Optimierungsproblem<br />
min f(x) = γx 2 s.t. α ≤ x ≤ β.<br />
Beobachten Sie, wie sich die aktiven Restriktionen in Abhängigkeit von α, β und γ verändern.<br />
Gibt es lokale Minimalpunkte? Wie sieht es mit der Eindeutigkeit der Lösung<br />
aus?<br />
Übung 35 Betrachten Sie in Abhängigkeit von reellen Zahlen α und β <strong>das</strong> Optimierungsproblem<br />
min f(x) = (x 1 − α) 2 + (x 2 − β) 2 s.t. 0 ≤ x 1 ≤ 1, 0 ≤ x 2 ≤ 1.<br />
Beobachten Sie, wie sich die aktiven Restriktionen in Abhängigkeit von α und β verändern.<br />
Ist die Lösung eindeutig?<br />
78
5. Intervallrestriktionen<br />
5.1. Problemstellung<br />
In diesem Abschnitt wollen wir zeigen, wie wir die Techniken, die wir kennengelernt<br />
haben, bei der Lösung von einfachen restringierten Optimierungsproblemen anwenden<br />
können.<br />
Für i ∈ {1, ..., N} seien L i und U i reelle Zahlen mit<br />
− ∞ < L i < U i < ∞. (5.1)<br />
Das Optimierungsproblem mit Intervallrestriktionen besteht darin, einen lokalen Minimalpunkt<br />
x ∗ einer Funktion f von N Variablen unter der Restriktion zu nden, daÿ<br />
gilt<br />
x ∗ ∈ Ω = {x ∈ R N : L i ≤ (x) i ≤ U i }. (5.2)<br />
Für den Punkt x ∗ soll <strong>als</strong>o gelten<br />
Die Standardnotation für dieses Problem ist<br />
f(x ∗ ) ≤ f(x) für alle x ∈ Ω lokal um x ∗ . (5.3)<br />
min f(x) (5.4)<br />
x∈Ω<br />
oder min Ω f. Die Menge Ω heiÿt die zulässige Menge und eine Punkt aus Ω heiÿt zulässiger<br />
Punkt.<br />
Da die Menge Ω kompakt ist, existiert nach dem Satz von Weierstrass immer eine<br />
Lösung unseres Optimierungsproblems. Die Ungleichungen L i ≤ (x) i ≤ U i heiÿen Intervallrestriktionen<br />
und sind ein einfacher Fall allgemeiner Ungleichungsrestriktionen.<br />
Die ite Restriktion heiÿt aktiv in x, wenn entweder gilt (x) i = L i oder (x i ) = U i .<br />
Wenn die ite Restriktion nicht aktiv ist, nennen wir sie inaktiv. Die Menge der Indices i,<br />
für die die entsprechende Restriktion aktiv ist, nennen wir die Menge der aktiven Indices<br />
in x; wir verwenden die Schreibweise A(x) für diese Menge. Entsprechend denieren wir<br />
die Menge der inaktiven Indices I(x).<br />
5.2. Notwendige Optimalitätsbedingungen<br />
Die notwendigen Optimalitätsbedingungen für eine stetig dierenzierbare Funktion f<br />
einer Variable ohne Restriktionen sind f ′ (x ∗ ) = 0 und, falls f zweimal stetig dierenzierbar<br />
ist f ′′ (x ∗ ) ≥ 0. Ein intervallrestringiertes Problem in einer Variable beschränkt<br />
79
5. Intervallrestriktionen<br />
die zulässige Menge auf ein Intervall [a, b], und die notwendigen Optimalitätsbedingungen<br />
müssen angepaÿt werden, um die Möglichkeit eines Minimums in den Randpunkten<br />
des Intervalls zuzulassen. Falls x ∗ = a ein lokaler Minimalpunkt ist, folgt nicht daraus<br />
daÿ gilt f ′ (a) = 0. Für alle x ≥ a, die nahe bei a liegen gilt aber f(x) ≥ f(a). Daraus<br />
folgt f ′ (a) ≥ 0. Über den Wert von f ′′ (a) können wir allerdings nichts sagen. Analog<br />
folgt, falls b ein lokaler Minimalpunkt ist, die Ungleichung f ′ (b) ≤ 0. Falls f auf [a, b] differenzierbar<br />
ist, <strong>kann</strong> <strong>man</strong> die notwendigen Optimalitätsbedingungen für alle drei Fälle<br />
x ∗ = a, x ∗ ∈ (a, b), x ∗ = b in folgendem Satz zusammenfassen:<br />
Satz 19 Es sei f eine stetig dierenzierbare Funktion einer Variable auf dem Intervall<br />
[a, b]. Es sei x ∗ ein lokaler Minimalpunkt von f auf [a, b]. Dann gilt<br />
und, falls f zweimal stetig dierenzierbar ist,<br />
f ′ (x ∗ )(x − x ∗ ) ≥ 0 für alle x ∈ [a, b] (5.5)<br />
f ′′ (x ∗ )(x ∗ − a)(b − x ∗ ) ≥ 0. (5.6)<br />
In Verallgemeinerung von (5.5) denieren wir stationäre Punkte.<br />
Denition 8 Ein Punkt x ∗ ∈ Ω heiÿt stationär für Problem (5.4), falls für alle x ∈ Ω<br />
gilt<br />
∇f(x ∗ ) T (x − x ∗ ) ≥ 0. (5.7)<br />
Wie im unrestringierten Fall sagen wir, daÿ stationäre Punkte die notwendigen Optimalitätsbedingungen<br />
erster Ordnung erfüllen.<br />
Die Tatsache, daÿ lokale Minimalpunkte stationär sind, beweisen wir wie im unrestringierten<br />
Fall mit dem Taylorsatz.<br />
Satz 20 Es sei f stetig dierenzierbar auf Ω und x ∗ eine Lösung des Problems (5.4).<br />
Dann ist x ∗ ein stationärer Punkt für Problem (5.4).<br />
Beweis. Es sei x ∗ eine Lösung von Problem (5.4) und y ∈ Ω. Da die Menge Ω konvex<br />
ist, enthält sie die Verbindungslinie zwischen x ∗ und y. Daher ist die Funktion<br />
φ(t) = f(x ∗ + t(y − x ∗ ))<br />
für alle t ∈ [0, 1] deniert und hat ein lokales Minimum in t = 0. Also folgt aus Satz 19,<br />
daÿ gilt<br />
0 ≤ φ ′ (0) = ∇f(x ∗ ) T (y − x ∗ ).<br />
Die Rolle der zweiten Ableitung <strong>kann</strong> <strong>man</strong> leider nicht so einfach auf den Fall einer<br />
Funktion einer einzigen Variablen zurückführen. Wir erhalten aber ein vollständiges Bild,<br />
wenn wir Funktionen zweier Variablen betrachten. Es sei <strong>als</strong>o N = 2 und f zweimal<br />
Lipschitz stetig dierenzierbar auf Ω = [0, 1] × [0, 1]. Falls x ∗ eine Lösung von (5.4) ist<br />
und keine Restriktion aktiv ist, dann folgt wie im unrestringierten Fall, daÿ ∇ 2 f(x ∗ )<br />
80
5.2. Notwendige Optimalitätsbedingungen<br />
positiv semidenit ist. Wenn eine oder mehr Restriktionen aktiv sind, <strong>kann</strong> <strong>man</strong> wie im<br />
Fall N = 1 keine Aussagen über die Denitheit von ∇ 2 f(x ∗ ) machen. Angenommen der<br />
Minimalpunkt ist bei x ∗ = (ξ, 0) mit 0 < ξ < 1. Obwohl <strong>man</strong> nichts über ∂ 2 f(x ∗ )/∂x 2 2<br />
sagen <strong>kann</strong>, muÿ für die Funktion φ(t) = f(t, 0), die auf dem Intervall [0, 1] deniert ist,<br />
gelten<br />
φ ′′ (ξ) = ∂ 2 f(x ∗ )/∂x 2 1 ≥ 0.<br />
Die zweiten partiellen Ableitungen in Richtungen, die inaktiven Restriktionen entsprechen,<br />
müssen <strong>als</strong>o positiv sein, und über die anderen Richtungen, die zu aktiven Restriktionen<br />
gehören, <strong>kann</strong> <strong>man</strong> nichts aussagen.<br />
Um diese Idee zu präzisieren, denieren wir die reduzierte Hessematrix.<br />
Denition 9 Die Funktion f sei zweimal stetig dierenzierbar in x ∈ Ω. Die reduzierte<br />
Hessematrix ist die Matrix mit den Einträgen<br />
{<br />
(∇ 2 δij falls i ∈ A(x) oder j ∈ A(x),<br />
Rf(x)) ij =<br />
(5.8)<br />
(∇ 2 f(x)) ij sonst.<br />
Nun können wir die notwendigen Optimalitätsbedingungen zweiter Ordnung formulieren.<br />
Satz 21 Die Funktion f sei zweimal stetig dierenzierbar und x ∗ eine Lösung von (5.4).<br />
Dann ist die reduzierte Hessematrix ∇ 2 Rf(x ∗ ) positiv semidenit.<br />
Beweis. Es gebe M inaktive Indices und N − M aktive Indices. Wir partitionieren<br />
x ∈ Ω, indem wir falls nötig die Variablen umordnen, in x(ξ, η), wobei ξ den inaktiven<br />
Variablen entspricht und η den aktiven. Die Funktion<br />
φ(ξ) = f(ξ, η ∗ )<br />
hat einen unrestringierten lokalen Minimalpunkt in ξ ∗ ∈ R M . Daher ist ∇ 2 φ positiv<br />
semidenit. Durch unsere Partition der Variablen können wir die reduzierte Hessematrix<br />
in folgender Form schreiben:<br />
(<br />
∇<br />
∇ 2 Rf(x ∗ ) =<br />
2 φ(x ∗ )<br />
) 0<br />
.<br />
0 I<br />
Damit folgt die Behauptung.<br />
Es sei P die Projektion auf die Menge Ω, d.h. die Abbildung, die x auf den nächsten<br />
Punkt in Ω bezüglich der euklidischen Norm abbildet. Es gilt<br />
⎧<br />
⎪⎨<br />
P(x) i =<br />
⎪⎩<br />
L i falls (x) i ≤ L i ,<br />
(x) i falls L i < (x) i < U i ,<br />
U i falls (x) i ≥ U i .<br />
Satz 22 enthält eine notwendige Optimalitätsbedingung, die wir später beweisen.<br />
(5.9)<br />
Satz 22 Es sei f stetig dierenzierbar. Ein Punkt x ∗ ∈ Ω ist genau dann stationär für<br />
Problem (5.4), wenn gilt<br />
x ∗ = P(x ∗ − λ∇f(x ∗ )) für alle λ ≥ 0. (5.10)<br />
81
5. Intervallrestriktionen<br />
5.3. Hinreichende Optimalitätsbedingungen<br />
Mit der reduzierten Hessematrix <strong>kann</strong> <strong>man</strong> leicht hinreichende Optimalitätsbedingungen<br />
formulieren. Wir beginnen mit einer Verschärfung des Begries eines stationären<br />
Punktes. Falls der Punkt x ∗ stationär ist, i ∈ I(x ∗ ) und e i ein Einheitsvektor in die ite<br />
Koordinatenrichtung ist, dann gilt für hinreichend kleine t die Inklusion x ∗ + te i ∈ Ω.<br />
Wegen<br />
df(x ∗ + te i )<br />
= + ∇f(x ∗ ) T e i ≥ 0<br />
dt<br />
folgt <strong>als</strong>o<br />
(∇f(x ∗ )) i = 0 für alle i ∈ I(x ∗ ).<br />
Bei unserer Formulierung hinreichender Optimalitätsbedingungen werden wir den Begri<br />
eines nichtdegenerierten stationären Punktes bzw. die strikte Komplementarität<br />
verwenden.<br />
Denition 10 Ein Punkt x ∗ ∈ Ω ist ein nichtdegenerierter stationärer Punkt für Problem<br />
(5.4), falls x ∗ ein stationärer Punkt ist und<br />
(∇f(x ∗ )) i ≠ 0 für alle i ∈ A(x ∗ ). (5.11)<br />
Falls x ∗ auch eine Lösung von Problem (5.4) ist, sagen wir, daÿ x ∗ ein nichtdegenerierter<br />
lokaler Minimalpunkt ist.<br />
Unsere Bedingung der Nichtdegeneriertheit bezeichnet <strong>man</strong> auch <strong>als</strong> strikte Komplementarität.<br />
Für eine Indexmenge S ⊂ {1, ..., N} denieren wir<br />
(P S x) i =<br />
{<br />
(x)i , i ∈ S,<br />
0, i ∉ S.<br />
Nichtdegeneriertheit ist nicht nur bei der Formulierung hinreichender Optimalitätsbedingungen<br />
wichtig, sondern auch bei der Entwicklung von Abbruchkriterien. Der erste<br />
Schritt bei der Verwendung der Nichtdegeneriertheit ist Lemma 10.<br />
Lemma 10 Es sei x ∗ ein nichtdegenerierter stationärer Punkt. Wir setzen voraus, daÿ<br />
die Menge der aktiven Indices A = A(x ∗ ) nicht leer ist. Dann gibt es eine Zahl σ > 0,<br />
so daÿ für alle x ∈ Ω gilt<br />
∇f(x ∗ ) T (x − x ∗ ) = ∇f(x ∗ ) T P A (x − x ∗ ) ≥ σ ‖P A (x − x ∗ )‖.<br />
Beweis. Für i ∈ A folgt aus der Nichtdegeneriertheit und Stationarität von x ∗ , daÿ es<br />
eine Zahl σ > 0 gibt, für die entweder gilt (x ∗ ) i = L i und (∇f(x ∗ )) i ≥ σ oder (x ∗ ) i = U i<br />
und (∇f(x ∗ )) i ≤ −σ. Für x ∈ Ω gilt für alle i ∈ A die Ungleichung<br />
(∇f(x ∗ )) i (x − x ∗ ) i ≥ σ|(x − x ∗ ) i |.<br />
82
Wegen ‖x‖ 2 ≤ ‖x‖ 1 folgt <strong>als</strong>o die gewünschte Ungleichung<br />
∇f(x ∗ ) T P A (x − x ∗ ) ≥ σ ‖P A (x − x ∗ )‖.<br />
5.4. Das Gradientenprojektionverfahren<br />
Für nichtdegenerierte stationäre Punkte sehen die hinreichenden Optimalitätsbedingungen<br />
ganz ähnlich aus wie im unrestringierten Fall.<br />
Satz 23 Es sei x ∗ ∈ Ω ein nichtdegenerierter stationärer Punkt für Problem (5.4).<br />
Die Funktion f sei in einer Umgegung von x ∗ zweimal stetig dierenzierbar und die<br />
reduzierte Hessematrix sei in x ∗ positiv denit. Dann ist x ∗ ein nichtdegenerierter lokaler<br />
Minimalpunkt für (5.4), <strong>als</strong>o eine Lösung des Problems.<br />
Beweis. Für x ∈ Ω, x ≠ x ∗ denieren wir die Funktion φ(t) = f(x ∗ + t(x − x ∗ )).<br />
Wir zeigen, daÿ entweder gilt (i) φ ′ (0) > 0 oder (ii) φ ′ (0) = 0, φ ′′ (0) > 0. Wir setzen<br />
e = x − x ∗ . Dann gilt φ ′ (0) = ∇f(x ∗ ) T e = ∇f(x ∗ ) T (P A e + P I e). Aus der Stationarität<br />
folgt ∇f(x ∗ ) T P I e = 0. Falls P A e ≠ 0, folgt aus der Nichtdegeneriertheit die Ungleichung<br />
∇f(x ∗ ) T P A e > 0, und daher gilt (i). Falls aber P A e = 0, so gilt<br />
φ ′′ (0) = (P I (x − x ∗ )) T ∇ 2 f(x ∗ )P I (x − x ∗ ) = (x − x ∗ ) T ∇ 2 Rf(x ∗ )(x − x ∗ ) > 0,<br />
und es folgt (ii).<br />
5.4. Das Gradientenprojektionverfahren<br />
Das Gradientenprojektionsverfahren ist die natürliche Erweiterung des Verfahrens des<br />
steilsten Abstiegs auf Probleme mit Intervallrestriktionen. Es hat alle Vor und Nachteile<br />
dieses Verfahrens. Für einen aktuellen Iterationspunkt x c ist der neue Punkt der Iteration<br />
x + = P(x c − λ∇f(x c )),<br />
wobei der Schrittweitenparameter λ mit der Armijoregel oder einer anderen Schrittweitensteuerung<br />
bestimmt wird. In diesem Abschnitt werden wir uns auf die einfachste<br />
Form der Armijoregel beschränken. Um die Liniensuche zu implementieren, müssen wir<br />
denieren, was wir mit einem hinreichendenden Abstieg meinen. Für λ > 0 denieren<br />
wir<br />
x(λ) = P(x − λ∇f(x)). (5.12)<br />
Für Probleme mit Intervallrestriktionen werden wir die Bedingung des hinreichenden<br />
Abstiegs (vergleiche (3.4)) denieren <strong>als</strong><br />
f(x(λ)) − f(x) ≤ −α<br />
λ ‖x − x(λ)‖2 . (5.13)<br />
Wie in (3.4) ist α ein Parameter, für den oft der Wert 10 −4 gewählt wird.<br />
Wir betrachten folgenden Algorithmus.<br />
83
5. Intervallrestriktionen<br />
Algorithmus 12 (gradproj(x, f, kmax))<br />
1. Für k = 1,...,kmax<br />
(a) Berechne f und ∇f. Ist die Abbruchbedingung erfüllt?<br />
(b) Finde die kleinste ganze Zahl m ≥ 0, für die (5.13) mit λ = β m erfüllt ist.<br />
(c) x = x(λ).<br />
2. Falls k = kmax und die Abbruchbedingung nicht erfüllt ist,<br />
gib eine Fehlermeldung.<br />
Der nächste Schritt besteht darin, <strong>das</strong> Abbruchkriterium auszuarbeiten.<br />
5.4.1. Beendigung der Iteration<br />
Um die Intervallrestriktionen zu berücksichtigen, muÿ <strong>das</strong> Abbruchkriterium an unser<br />
Problem angepaÿt werden. In der Lösung muÿ der Gradient ∇f nicht Null sein, aber ein<br />
natürlicher Ersatz besteht darin, die Iteration zu beenden, wenn der Abstand zwischen<br />
x und x(1) klein ist. Wie im unrestringierten Fall oder bei nichtlinearen Gleichungen,<br />
müssen wir die hinreichenden Bedingungen verwenden, um zu zeigen, daÿ ein Abbruchkriterium<br />
tatsächlich den Fehler miÿt.<br />
Wie üblich setzen wir e = x−x ∗ . Das folgende Lemma stellt eine Verbindung zwischen<br />
der aktiven und inaktiven Indexmengen in einem nichdegenerierten Minimalpunkt und<br />
den Punkten in der Umgebung her.<br />
Lemma 11 Die Funktion f sei auf der Menge Ω zweimal stetig dierenzierbar und x ∗<br />
sei ein nichtdegenerierter stationärer Punkt für Problem (5.4). Es sei λ ∈ (0, 1]. Dann<br />
gilt für alle x in einer Umgebung von x ∗<br />
1. A(x) ⊂ A(x ∗ ) und (x) i = (x ∗ ) i für alle i ∈ A(x).<br />
2. A(x(λ)) = A(x ∗ ) und (x(λ)) i = (x ∗ ) i für alle i ∈ A(x ∗ ).<br />
Beweis. Es sei A ∗ = A(x ∗ ), I ∗ = I(x ∗ ), A = A(x), I = I(x). Wir setzen<br />
δ 1 = min<br />
i∈I ∗{U i − (x ∗ ) i , (x ∗ ) i − L i , (U i − L i )/2}.<br />
Für i ∈ I ∗ und ‖e‖ ≤ δ 1 gilt L i < (x) i < U i . Also folgt I ∗ ⊂ I und somit A ⊂ A ∗ .<br />
Wegen ‖e‖ < δ 1 ≤ (U i − L i )/2 folgt für alle i ∈ A die Gleichung (x) i = (x ∗ ) i .<br />
Es seien nun A λ und I λ die aktive und die inaktive Menge für x(λ) = P(x −λ∇f(x)).<br />
Es sei i ∈ A ∗ . Aus dem Beweis von Lemma 10 und der Stetigkeit von ∇f folgt die<br />
Existenz einer Zahl δ 2 > 0, so daÿ aus ‖e‖ ≤ δ 2 folgt<br />
(∇f(x ∗ + e)) i (x − x ∗ ) i > σ|(x − x ∗ ) i |/2.<br />
84
5.4. Das Gradientenprojektionverfahren<br />
Daher gibt es eine Zahl δ 3 ∈ (0, min{σ/2, δ 2 }), so daÿ aus ‖e‖ < δ 3 und (x − x ∗ ) i ≠ 0<br />
folgt<br />
σ/2 < |(∇f(x)) i |,<br />
und daher (x(λ)) i = (x ∗ ) i . Es folgt A ∗ ⊂ A λ .<br />
Nun zeigen wir, daÿ auch die Inklusion A λ ⊂ A ∗ gilt. Nach Punkt 1. des Lemmas ist<br />
dafür hinreichend, daÿ x(λ) in x ∗ stetig ist, d.h. x(λ) liegt in einer vorgegebenen Umgebung<br />
von x ∗ , falls ‖e‖ hinreichend klein ist. Dies folgt aus der Stetigkeit der Projektion<br />
P und von ∇f.<br />
Satz 24 Die Funktion f sei auf der Menge Ω zweimal stetig dierenzierbar und x ∗ sei<br />
ein nichtdegenerierter stationärer Punkt für Problem (5.4). Die hinreichenden Optimalitätsbedingungen<br />
seien in x ∗ erfüllt. Dann gibt es Zahlen δ > 0 und M > 0, so daÿ aus<br />
‖e‖ < δ und A(x) = A(x ∗ ) folgende Ungleichung folgt:<br />
‖e‖/M ≤ ‖x − x(1)‖ ≤ M‖e‖. (5.14)<br />
Beweis. Aus der Stetigkeit von ∇ 2 f folgt daÿ ∇f Lipschiztstetig ist. Es sei L die<br />
Lipschitzkonstante von ∇f in Ω und wieder seien A ∗ = A(x ∗ ), I ∗ = I(x ∗ ), A = A(x),<br />
I = I(x). Aus der Denition der Projektion P folgt<br />
für alle x, y ∈ R n .<br />
Aus der Stationarität von x ∗ folgt<br />
‖P(x) − P(y)‖ ≤ ‖x − y‖<br />
‖x − x(1)‖ = ‖e − [x(1) − x ∗ (1)] ‖<br />
≤<br />
≤<br />
‖e‖ + ‖P(x − ∇f(x)) − P(x ∗ − ∇f(x ∗ )) ‖<br />
2‖e‖ + ‖∇f(x) − ∇f(x ∗ )‖ ≤ (2 + L)‖e‖.<br />
Daher gilt die rechte Ungleichung in (5.14).<br />
Um die andere Ungleichung in (5.14) zu zeigen, verwenden wir Lemma 11. Es sei<br />
δ 1 > 0 so daÿ aus ‖e‖ < δ 1 die Aussagen des Lemmas 11 mit λ = 1 gelten.<br />
Aus dem Lemma und unserer Voraussetzung A(x) = A(x ∗ ) folgt<br />
(x − x(1)) i = (∇f(x)) i , i ∈ I ∗ = I, (x − x(1)) i = (e) i = 0, i ∈ A ∗ . (5.15)<br />
Also gilt ‖x−x(1)‖ = ‖P I ∗(x−x(1))‖. Aus den hinreichenden Optimalitätsbedingungen<br />
folgt, daÿ es eine Zahl µ > 0 gibt, so daÿ für alle u ∈ R N gilt<br />
(P I ∗u) T ∇ 2 f(x ∗ )P I ∗u ≥ µ‖P I ∗u‖ 2 .<br />
Daher gibt es δ 2 > 0 so daÿ aus ‖e‖ < δ 2 für alle u ∈ R N folgt<br />
(P I ∗u) T ∇ 2 f(x)P I ∗u ≥ (µ/2)‖P I ∗u‖ 2 .<br />
85
5. Intervallrestriktionen<br />
Wegen e = P I e folgt<br />
‖P I (x − x(1))‖ 2 = ‖P I (∇f(x))‖ 2<br />
= ‖<br />
∫ 1<br />
0<br />
P I ∗(∇ 2 f(x ∗ + te) e) dt‖ 2<br />
[∫ 1<br />
2<br />
= e T (∇ 2 f(x ∗ + te)) dt]<br />
e<br />
0<br />
≥ (µ 2 /4)‖e‖ 2 .<br />
Somit folgt die Behauptung.<br />
Analog zum unrestringierten Fall formulieren wir ein Abbruchkriterium, <strong>das</strong> auf der<br />
relativen und absoluten Verkleinerung des Maÿes für Stationarität ‖x − x(1)‖ basiert.<br />
Für gegebenes r 0 = ‖x 0 − x 0 (1)‖ und mit relativen und absoluten Toleranzen τ r und τ a ,<br />
ist unser Abbruchkriterium für Algorithmus gradproj die Ungleichung<br />
5.4.2. Konvergenzanalyse<br />
‖x − x(1)‖ ≤ τ a + τ r r 0 . (5.16)<br />
Die Konvergenzanalyse ist komplizierter <strong>als</strong> für <strong>das</strong> Verfahren des steilsten Abstiegs, da<br />
nun auch die Restriktionen beachtet werden müssen. Wir beginnen mit einigen Lemmata.<br />
Lemma 12 Für alle Punkte x, y ∈ Ω gilt folgende Ungleichung:<br />
(y − x(λ)) T (x(λ) − x + λ∇f(x)) ≥ 0. (5.17)<br />
Beweis. Aus der Denition der Projektion P folgt für alle y ∈ Ω die Ungleichung<br />
Also hat die Funktion<br />
‖x(λ) − x + λ∇f(x)‖ ≤ ‖y − x + λ∇f(x)‖.<br />
φ(t) = ‖(1 − t)x(λ) + ty − x + λ∇f(x)‖ 2 /2<br />
ein lokales Minimum in t = 0 bezüglich des Intervalles [0, 1]. Daher gilt die Ungleichung<br />
0 ≤ φ ′ (0) = (x(λ) − x + λ∇f(x)) T (y − x(λ)),<br />
<strong>als</strong>o die Aussage des Lemmas.<br />
Wir verwenden (5.17) meistens in der äquivalenten Form<br />
Wir setzen in (5.18) y = x und erhalten:<br />
(x − x(λ)) T (y − x(λ)) ≤ λ∇f(x) T (y − x(λ)). (5.18)<br />
Folgerung 2 Für alle x ∈ Ω und λ ≥ 0 gilt die Ungleichung<br />
‖x − x(λ)‖ 2 ≤ λ∇f(x) T (x − x(λ)). (5.19)<br />
86
5.4. Das Gradientenprojektionverfahren<br />
In der Analyse jeder Liniensuche ist ein wichtiges Ergebnis, daÿ die Schrittweiten von<br />
der Null weg beschränkt bleiben.<br />
Satz 25 Die Gradientenfunktion ∇f sei Lipschitzstetig mit der Lipschitzkonstanten L.<br />
Es sei x ∈ Ω. Dann ist die Bedingung des hinreichenden Abstiegs (5.13) für alle λ erfüllt,<br />
für die gilt<br />
0 < λ ≤ 2(1 − α)/L. (5.20)<br />
Beweis. Nach dem Fundament<strong>als</strong>atz der Analysis gilt für y = x − x(λ) die Gleichung<br />
Daraus folgt die Gleichung<br />
∫ 1<br />
f(x − y) − f(x) = f(x(λ)) − f(x) = − ∇f(x − ty) T y dt.<br />
0<br />
f(x(λ)) = f(x) + ∇f(x) T (x(λ) − x) −<br />
Indem wir die Terme in Gleichung (5.21) umordnen, erhalten wir<br />
∫ 1<br />
0<br />
(∇f(x − ty) − ∇f(x)) T y dt. (5.21)<br />
λ(f(x) − f(x(λ)) = λ∇f(x) T (x − x(λ)) + λE, (5.22)<br />
mit E = ∫ 1<br />
0 (∇f(x − ty) − ∇f(x))T y dt. Für E gilt <strong>als</strong>o die Abschätzung<br />
Daher folgt die Ungleichung<br />
‖E‖ ≤ L‖x − x(λ)‖ 2 /2.<br />
λ(f(x) − f(x(λ)) ≥ λ∇f(x) T (x − x(λ)) − λL‖x − x(λ)‖ 2 /2. (5.23)<br />
Mit Folgerung 2 erhalten wir daraus die Ungleichung<br />
λ(f(x) − f(x(λ)) ≥ (1 − λL/2)‖x − x(λ)‖ 2 ,<br />
aus der die Behauptung folgt.<br />
Für die Armijoregel hat der Satz die Konsequenz, daÿ die Liniensuche spätestens<br />
beendet wird, wenn gilt<br />
β m 2(1 − α)<br />
≤ ≤ β m−1 .<br />
L<br />
Daher ist eine untere Schranke für die Schrittweite gegeben durch<br />
λ =<br />
2β(1 − α)<br />
L<br />
≤ β m−1 (5.24)<br />
Satz 26 Die Gradientenfunktion ∇f sei Lipschitzstetig mit der Lipschitzkonstanten L.<br />
Es sei {x n } eine durch die Gradientenprojektionsmethode erzeugte Folge. Dann ist jeder<br />
Häufungspunkt der Folge ein stationärer Punkt.<br />
87
5. Intervallrestriktionen<br />
Beweis. Da die Folge der Funktionswerte {f(x n )} monoton fällt und f auf der Menge<br />
Ω nach unten beschränkt ist, hat die Folge der Funktionswerte einen Grenzwert f ∗ .<br />
Aus der Bedingung für den hinreichenden Abstieg und (5.24) folgt wie im Beweis von<br />
Satz 11<br />
‖x n − x n+1 ‖ 2 ≤ λ(f(x n ) − f(x n+1 ))/α ≤ (f(x n ) − f(x n+1 ))/α → 0<br />
für n → ∞. Es sei nun y ein Punkt aus der Menge Ω und n > 0. Aus (5.18) folgt<br />
∇f(x n ) T (x n − y) = ∇f(x n ) T (x n+1 − y) + ∇f(x n ) T (x n − x n+1 )<br />
Mit (5.24) folgt daraus<br />
≤<br />
λ −1<br />
n (x n − x n+1 ) T (x n+1 − y) + ∇f(x n ) T (x n − x n+1 ).<br />
∇f(x n ) T (x n − y) ≤ ‖x n − x n+1 ‖(λ −1 ‖x n+1 − y‖ + ‖∇f(x n )‖) (5.25)<br />
Für eine konvergente Teilfolge von {x n } können wir einen Grenzübergang durchführen<br />
und es folgt, daÿ für den entsprechenden Häufungspunkt Ungleichung (5.7) erfüllt ist,<br />
<strong>als</strong>o der Häufungspunkt ein stationärer Punkt ist. Damit ist die Behauptung bewiesen.<br />
5.4.3. Identizierung der aktiven Indices<br />
Das Gradientenprojektionsverfahren hat die bemerkenswerte Eigenschaft, daÿ, falls es<br />
gegen einen nichtdegenerierten lokalen Minimalpunkt konvergiert, die aktive Menge nach<br />
endlich vielen Schritten exakt bestimmt wird.<br />
Satz 27 Die Gradientenfunktion ∇f sei Lipschitzstetig und die Folge der Iterationspunkte<br />
{x n } des Gradientenprojektionsverfahrens konvergiere gegen einen nichtdegenerierten<br />
lokalen Minimalpunkt x ∗ . Dann gibt es n 0 , so daÿ für alle n > n 0 gilt A(x n ) =<br />
A(x ∗ ).<br />
Beweis. Es sei λ die untere Schranke für die Schrittweite. Es sei δ > 0 so, daÿ die<br />
Aussagen aus Lemma 11 für λ = λ gelten, und somit auch für alle λ ≥ λ. Wir wählen<br />
eine Zahl n 0 , so daÿ für alle n > n 0 gilt ‖e n ‖ < δ, und die Behauptung folgt.<br />
5.4.4. Ein Beweis von Satz 24<br />
In diesem Abschnitt beweisen wir Satz 24. Wir denieren die nichtglatte Funktion<br />
Mit der Schreibweise aus (5.12) gilt F (x) = x − x(1).<br />
Beweis. Nach Folgerung 2 gilt<br />
F (x) = x − P(x − ∇f(x)). (5.26)<br />
‖x ∗ − x ∗ (λ)‖ 2 ≤ λ∇f(x ∗ ) T (x ∗ − x ∗ (λ)).<br />
88
5.5. Superlineare Konvergenz<br />
Aus (5.7) in der Denition eines stationären Punktes folgt mit x = x ∗ (λ) die Ungleichung<br />
∇f(x ∗ ) T (x ∗ − x ∗ (λ)) ≤ 0,<br />
<strong>als</strong>o gilt x ∗ = x ∗ (λ).<br />
Nun beweisen wir die andere Richtung. Es gelte <strong>als</strong>o x ∗ = x ∗ (λ) für alle λ > 0.<br />
Somit ist der Punkt x ∗ ein Fixpunkt des Gradientenprojektionsverfahrens und daher ein<br />
stationärer Punkt.<br />
Indem wir λ = 1 setzen, erhalten wir ein einfaches Korolar von Satz 22.<br />
Folgerung 3 Es sei f eine Lipschitz stetig dierenzierbare Funktion auf Ω. Falls x ∗ ein<br />
stationärer Punkt ist, gilt F (x ∗ ) = 0.<br />
5.5. Superlineare Konvergenz<br />
Wenn die Iteration des Gradientenprojektionsverfahrens einmal die aktiven Restriktionen<br />
identiziert hat, so ist P A(x ∗ )x ∗ be<strong>kann</strong>t. Von dieser Iteration an ist <strong>das</strong> Minimierungsproblem<br />
für P I x ∗ unrestringiert und im Prinzip <strong>kann</strong> zu seiner Lösung jede superlinear<br />
konvergente Methode zur unrestringierten Optimierung verwendet werden.<br />
Das Problem bei dieser Idee ist, <strong>das</strong>s <strong>man</strong> erst entscheiden <strong>kann</strong>, wann <strong>man</strong> die aktive<br />
Menge identiziert hat, nachdem <strong>man</strong> <strong>das</strong> Problem gelöst hat und ein Fehler in der<br />
Bestimmung der aktiven Menge <strong>kann</strong> verheerende Auswirkungen auf die Konvergenz<br />
haben. In diesem Abschnitt diskutieren wir zwei Zugänge: Der erste basiert auf dem<br />
Newtonverfahren und wird nur <strong>als</strong> lokale Methode präsentiert. Der zweite ist <strong>das</strong> BFGS<br />
Armijo Verfahren, <strong>das</strong> Algorithmus bfgsopt ähnelt.<br />
Wir beginnen mit der Entwicklung der lokalen Konvergenztheorie für <strong>das</strong> projizierte<br />
Newtonverfahren [2]. Diese Analyse illustriert <strong>das</strong> wichtige Problem der Bestimmung der<br />
aktiven Menge. Wie bei der unrestringierten Optimierung verhindert die Möglichkeit des<br />
Auftretens negativer Krümmung eine einfache Globalisierung.<br />
5.6. Unendlichdimensionale Probleme<br />
Die Ergebnisse aus diesem Kapitel <strong>kann</strong> <strong>man</strong> nicht direkt auf den Fall unendlichdimensionaler<br />
Problem verallgemeinern. Ein Grund dafür ist, <strong>das</strong>s unendlichdimensionale<br />
Probleme oft abzählbar viele Restriktionen oder sogar ein Kontinuum von Restriktionen<br />
haben. Daher ist die Menge ω in der Normtopologie des Banachraumes, in dem <strong>das</strong> Problem<br />
gestellt ist, nicht kompakt und dies macht es erforderlich, mit verschiedenen Arten<br />
schwacher Konvergenz zu arbeiten (vgl. [16]. Ausserdem ist die Identizierung der aktiven<br />
Indices in endlich vielen Schritten nicht immer möglich. Eine genauere Behandlung<br />
dieser Sachverhalte ndet <strong>man</strong> in [26].<br />
Dies sind nicht die einzigen Komplikationen, die in unendlichdimensionalen Räumen<br />
auftreten. Sogar <strong>das</strong> projizierte Gradientenverfahren hält Herausforderungen bereit, besonders<br />
wenn die Nichtdegeneriertheit der Minimalpunkte nicht gewährleistet ist [12].<br />
89
5. Intervallrestriktionen<br />
Das Konvergenzverhalten der diskretisierten Probleme <strong>kann</strong> sich von dem für <strong>das</strong> kontinuierliche<br />
Problem unterscheiden ([13]). Die Tatsache, <strong>das</strong>s verschiedene Normen nicht<br />
äquivalent sind erschwert die Formulierung von Konvergenzresultaten für Liniensuch<br />
und TrustRegion Verfahren (vgl. z. Bsp. [20]).<br />
Die funktionalanalytische Struktur vieler Steuerungsprobleme <strong>kann</strong> <strong>man</strong> mit schnellen<br />
Mehrgitterverfahren ausnutzen. Sowohl Mehrgitterverfahren zweiter Art [18] <strong>als</strong> auch<br />
Varianten des AtkinsonBrakhage Verfahrens sind auf Fixpunktformulierungen parabolischer<br />
Steuerungsprobleme mit einer Raumdimension angewendet worden.<br />
5.7. Übungen<br />
Übung 36 a) Es sei f(x) = x 1 + x 2 2. Betrachten Sie <strong>das</strong> Problem<br />
min f(x) s.t. − 1 ≤ x 1 ≤ 1, −1 ≤ x 2 ≤ 1.<br />
Ist die Hessematrix im Minimalpunkt positiv denit? Bestimmen Sie die Menge der<br />
aktiven Indices. Ist die reduzierte Hessematrix im Minimalpunkt positiv denit?<br />
b) Es sei f(x) = x 1 + x 2 . Betrachten Sie <strong>das</strong> Problem<br />
min f(x) s.t. − 1 ≤ x 1 ≤ 1, −1 ≤ x 2 ≤ 1.<br />
Untersuchen sie, ob die (reduzierte) Hessematrix im Minimalpunkt positiv denit ist.<br />
Wie sieht es bei c) und d) aus?<br />
c) Es sei f(x) = x 2 1 + x 2 2. Betrachten Sie <strong>das</strong> Problem<br />
min f(x) s.t. − 1 ≤ x 1 ≤ 1, −1 ≤ x 2 ≤ 1.<br />
d) Es sei f(x) = x 1 x 2 . Betrachten Sie <strong>das</strong> Problem<br />
min f(x) s.t. 0 ≤ x 1 ≤ 1, 0 ≤ x 2 ≤ 1.<br />
Übung 37 Es sei die Projektion P wie in (5.9) deniert, und<br />
x(λ) = P(x c − λ∇f(x c )).<br />
Das Gradientenprojektionsverfahren mit exakter Liniensuche ist folgendermassen deniert:<br />
x + = x(λ), wobei die Schrittweite λ ≥ 0 so bestimmt wird, <strong>das</strong>s f(x(λ)) minimal<br />
wird.<br />
Bestimmen Sie für die folgende Funktion die entsprechende Iteration, die recht schnell<br />
stationär wird (vgl. Übung 13).<br />
f(x) = x 2 1 + 2x 2 2 + 4x 1 + 4x 2<br />
Startpunkt x 0 = (0, 0) T .<br />
−1/2 ≤ x 1 ≤ 1, −8 ≤ x 2 ≤ 1.<br />
90
Lösung Es gilt ∇f(x 0 ) = (4, 4) T und<br />
5.7. Übungen<br />
⎧<br />
⎪⎨ −λ(4, 4) T falls λ < 1/8,<br />
x(λ) = P(x 0 − λ∇f(x 0 )) = P(−λ(4, 4) T ) = (−1/2, −4λ) T falls 1/8 ≤ λ < 2,<br />
⎪⎩<br />
(−1/2, −8) T falls λ ≥ 2.<br />
Es folgt<br />
⎧<br />
⎪⎨ 16(3λ 2 − 2λ) falls λ ≤ 1/8,<br />
f(x(λ)) = −7/4 + 16(2λ 2 − λ) falls λ ∈ (1/8, 2),<br />
⎪⎩<br />
94 + 1/4 falls λ ≥ 2.<br />
Wir erhalten die Schrittweite λ = 1/4 und x + = x(1/4) = (−1/2, −1) T . Es gilt<br />
∇f(x + ) = (3, 0) T , <strong>als</strong>o erfüllt x + Gleichung (5.10), ist <strong>als</strong>o stationär. Der Punkt x +<br />
ist der gesuchte Minimalpunkt, der hier nach einem Schritt erreicht wird.<br />
Übung 38 Gegeben ist ein Wagen, untersucht werden sollen Bremsvorgänge. Gesteuert<br />
wird die Beschleunigung des Wagens,<br />
x ′′ (t) = u(t), t ∈ [0, T ]<br />
dabei ist u die Steuerungsfunktion, die Steuerungsrestriktionen der Form<br />
−1 ≤ u(t) ≤ 1, t ∈ [0, T ]<br />
erfüllen soll. Gegeben ist der Anfangszustand x(0) = 0, x ′ (0) = a > 0.<br />
Die Zielfunktion setzt sich aus verschiedenen Zielen zusammen: Das Quadrat der<br />
Endgeschwindigkeit x ′ (T ) 2 soll minimiert werden, dabei soll möglichst wenig Energie<br />
∫ T<br />
0 u(t)2 dt verbraucht werden und der Bremsweg soll möglichst kurz sein.<br />
Die Zielfunktion hat <strong>als</strong>o die Form<br />
J(u) = αx ′ (T ) 2 + β<br />
∫ T<br />
0<br />
u 2 (t) dt + γF (u),<br />
wobei F die Minimierung des Bremsweges modelliert.<br />
a) Diskutieren Sie eine sinnvolle Wahl von F!<br />
Wir erzeugen ein diskretisiertes Problem, indem <strong>das</strong> Zeitintervall [0, T ] durch <strong>das</strong><br />
endliche Gitter t j = jh, j = {0, ..., N} ersetzen; dabei ist die Schrittweite h = T/N,<br />
Als (vereinfachte) Approximation der Dierentialgleichung für x ′ (t) verwenden wir<br />
x S (t j+1 ) = x S (t j ) + hu(t j ), j ∈ {1, ..., N}<br />
mit x S (t 0 ) = a.<br />
b) Wie groÿ muÿ die Steuerzeit T sein, damit <strong>das</strong> Fahrzeug auf die Geschwindigkeit 0<br />
abgebremst werden <strong>kann</strong>? Untersuchen sie die Frage sowohl für <strong>das</strong> kontinuierliche <strong>als</strong><br />
auch für <strong>das</strong> diskretisierte System.<br />
c) Was ist der minimale Bremsweg für <strong>das</strong> kontinuierliche System? Für <strong>das</strong> diskretisierte<br />
System wird in der Zielfunktion <strong>das</strong> Integral ∫ T<br />
0 u2 (t) dt durch ∑ N<br />
i=1 hu 2 i ersetzt,<br />
mit u i = u(t i ).<br />
91
5. Intervallrestriktionen<br />
d) Stellen Sie die Optimalitärsbedingungen für <strong>das</strong> diskretisierte Problem auf (mit<br />
γ = 0)! Sind die entsprechenden Hessematrizen positiv denit? Wie sieht es mit den<br />
reduzierten Hessematrizen aus?<br />
Verwenden Sie dabei bei Bedarf für x(t j ) die Approximation<br />
mit x(t 0 ) = 0.<br />
x(t j+1 ) = x(t j ) + hx S (t j ), j ∈ {1, ..., N}<br />
Lösung a) Die Wahl F (u) = x(T ) bietet sich an, ist aber nur in Verbindung mit<br />
der zusätzlichen Zustandsrestriktion x ′ (T ) ≥ 0 sinnvoll, da sonst unter Umständen der<br />
Wagen dazu gebracht wird, rückwärts zu fahren.<br />
b) Wegen der Restriktionen für u gilt x ′ (T ) = a + ∫ T<br />
0 u(τ) dτ ≥ a − t. Aus x′ (t 0 ) =<br />
0 ≥ a − t 0 folgt <strong>als</strong>o t 0 ≥ a, und mit u(t) = −1 wird x ′ (a) = 0. Für <strong>das</strong> kontinuierliche<br />
System ist die Mindestzeit <strong>als</strong>o t 0 = a.<br />
92
Teil II.<br />
Optimierung verrauschter<br />
Funktionen<br />
93
6. Grundkonzepte und Ziele<br />
Die Algorithmen aus Teil I können nicht angewendet werden, wenn der Gradient der<br />
Funktion f nicht zur Verfügung steht, entweder analytisch oder durch nite Dierenzen.<br />
Sogar wenn <strong>man</strong> auf die Gradienten zugreifen <strong>kann</strong>, sind diese Algorithmen nicht nützlich,<br />
wenn f viele lokale Minima hat, die nicht von Interesse sind. Wir beschränken uns<br />
hier auf deterministische Abtastalgorithmen, die allgemein anwendbar und mehr oder<br />
weniger einfach zu implementieren sind.<br />
Optimierungsverfahren, die keine Gradienten erfordern, bilden ein aktives Forschungsgebiet,<br />
auch bei glatten Problemen. Obwohl einige der Verfahren, wie der NelderMead<br />
und HookeJeeves Algorithmus klassisch sind, wurde der gröÿte Teil der Konvergenzanalyse<br />
für solche Vefahren nach 1990 durchgeführt.<br />
Wir präsentieren hier die Algorithmen und theoretischen Ergebnisse für Funktionen,<br />
die Störungen einfacher, glatter Funktionen sind.<br />
Wir diskutieren nicht die Algorithmen, die die Zielfunktion explizit glätten oder einen<br />
Filter verwenden. Für allgemeine Probleme müssen diese Verfahren den Raum in irgendeiner<br />
Weise abtasten, zum Beispiel durch hochdimensionale Integration, und sind daher<br />
zu teuer. In einigen Spezialfällen <strong>kann</strong> <strong>man</strong> diese Integrale aber analytisch berechnen,<br />
und zum Beispiel für Probleme aus der Chemie wurden eindrucksvolle Ergebnisse speziell<br />
auf diese Probleme zugeschnittener Verfahren berichtet.<br />
Wir werden ebenfalls nicht stochastische Verfahren oder radikalere globale Optimierungsverfahren<br />
wie simulated Annealing, Intervallmethoden oder genetische Algorithmen<br />
diskutieren, deren Ergebnisse ganz oder zum Teil vom Zufall abhängen. Auf diese probablilistischen<br />
Verfahren sollte <strong>man</strong> allerdings zurückgreifen, wenn die konservativeren<br />
Verfahren, die wir hier betrachten, versagen.<br />
6.1. Problemstellung<br />
Wir betrachten eine Zielfunktion f, die durch die Störung einer glatten Funktion f s<br />
durch eine kleine Funktion φ entsteht,<br />
f(x) = f s (x) + φ(x). (6.1)<br />
Durch kleine Oszillationen in φ werden lokale Minima von f erzeugt, die die Iterationsfolge<br />
jedes konventionellen gradientenbasierten Verfahrens einfangen würden. Die<br />
Störung φ <strong>kann</strong> im Allgemeinen zufällig sein oder basiert auf experimentellen Daten;<br />
daher <strong>kann</strong> sie möglicherweise verschiedene Werte annehmen, wenn sie zweimal an der<br />
gleichen Stelle ausgewertet wird. Also muÿ φ noch nicht einmal eine Funktion sein. Um<br />
95
6. Grundkonzepte und Ziele<br />
die Formulierung der Resultate zu vereinfachen, setzen wir voraus, daÿ φ überall deniert<br />
und beschränkt ist.<br />
6.2. Der Simplexgradient<br />
Die meisten Algorithmen in diesem Teil untersuchen in jeder Iteration die Eckpunkte<br />
eines Simplex im R N und verändern <strong>das</strong> Simplex, je nachdem wie die Funktionswerte<br />
sind. In diesem Abschnitt entwickeln wir die Werkzeuge, um diese Algorithmen zu<br />
beschreiben und zu analysieren. Die Grundidee ist, daÿ viele Abtastalgorithmen genug<br />
Information brauchen, um den Gradienten durch nite Dierenzen zu approximieren<br />
und daÿ die Genauigkeit dieser Approximation zur Konvergenzanalyse genutzt werden<br />
<strong>kann</strong>. Man muÿ allerdings bei Problemen der Form (6.1) darauf achten, die Schrittweite<br />
bei den niten Dierenzen nicht so klein zu machen, daÿ <strong>man</strong> damit <strong>das</strong> Rauschen zu<br />
dierenzieren versucht.<br />
Die Ideen in diesem Abschnitt wurden ursprünglich benutzt, um den NelderMead<br />
Algorithmus zu analysieren. Die Ideen lassen sich aber auf mehrere Verfahrensklassen<br />
anwenden.<br />
Denition 11 Ein Polytop (Simplex) im R N ist die konvexe Hülle von N + 1 Punkten,<br />
{x j } N+1<br />
j=1 . Der Punkt x j ist die jte Ecke von S. Es sei V (oder V (S)) die N × N Matrix<br />
der Simplexrichtungen<br />
V (S) = (x 2 − x 1 , x 3 − x 1 , ..., x N+1 − x 1 ) = (v 1 , ..., v N ).<br />
Wir nennen S nichtsingulär, falls V nichtsingulär ist. Der Polytopdurchmesser diam(S)<br />
ist<br />
diam(S) = max ‖x i − x j ‖.<br />
1≤i,j≤N+1<br />
Wir bezeichnen die l 2 Konditionszahl κ(V ) der Matrix V <strong>als</strong> die Simplexkondition.<br />
Es bezeichne δ(f : S) den Vektor der Zielfunktionsdierenzen<br />
δ(f : S) = (f(x 2 ) − f(x 1 ), f(x 3 ) − f(x 1 ), ..., f(x N+1 ) − f(x 1 )) T .<br />
Wir werden den Polytopdurchmesser in unseren Abschätzungen oder Algorithmen nicht<br />
direkt verwenden. Stattdessen benutzen wir zwie orientierte Längen<br />
σ + (S) =<br />
Dann folgt die Ungleichung<br />
max ‖x 1 − x j ‖ und σ − (S) = min ‖x 1 − x j ‖.<br />
2≤j≤N+1 2≤j≤N+1<br />
σ + (S) ≤ diam(S) ≤ 2σ + (S).<br />
96
6.2.1. Vorwärtsdierenzensimplexgradient<br />
6.2. Der Simplexgradient<br />
Denition 12 Es sei S ein nichtsinguläres Polytop mit Ecken {x j } N+1<br />
j=1 . Der Simplexgradient<br />
D(f : S) ist<br />
D(f : S) = V −T δ(f : S).<br />
Die Matrix der Simplexrichtungen und der Vektor der Zielfunktionsdierenzen hängen<br />
von der Numerierung der Ecken ab. Die meisten der Algorithmen, die wir betrachten,<br />
verwenden eine Eckenordnung oder tasten auf einer regulären Schablone ab. Auf diese<br />
Art wird in den Algorithmen der Simplexgradient verwendet.<br />
Die Denition des Simplexgradienten wird durch die Abschätzung erster Ordnung in<br />
Lemma 13 motiviert.<br />
Lemma 13 Es sei S ein Polytop. Es sei ∇f in einer Umgebung von S Lipschitzstetig<br />
mit der Lipschitzkonstanten 2K f . Dann gibt es eine Zahl K > 0, die nur von K f abhängt,<br />
so daÿ gilt<br />
‖∇f(x 1 ) − D(f : S)‖ ≤ Kκ(V )σ + (S). (6.2)<br />
Beweis. Unsere Glattheitsvoraussetzungen an f und der Taylorsatz implizieren für alle<br />
j mit 2 ≤ j ≤ N + 1 die Ungleichung<br />
Also gilt<br />
und mit K = N 1/2 K f folgt<br />
|f(x 1 ) − f(x j ) + v T j ∇f(x 1 )| ≤ K f ‖v j ‖ 2 ≤ K f σ + (S) 2 .<br />
‖δ(f : S) − V T ∇f(x 1 )‖ ≤ N 1/2 K f σ + (S) 2<br />
‖∇f(x 1 ) − D(f : S)‖ ≤ K‖V −T ‖σ + (S) 2 .<br />
Die Behauptung folgt aus der Ungleichung σ + (S) ≤ ‖V ‖.<br />
Suchverfahren sind natürlich nicht für glatte Probleme gedacht. Die Minimierung von<br />
Zielfunktionen der Form (6.1) ist eine der Anwendungen dieser Verfahren. Eine Abschätzung<br />
erster Ordnung, die Störungen berücksichtigt, ist unser nächstes Resultat.<br />
Dabei wird es nötig sein, für jeden Simplex die Störungen zu messen. Dazu denieren<br />
wir für eine beliebige Menge T<br />
‖φ‖ T = sup ‖φ(x)‖.<br />
x∈T<br />
Lemma 14 Es sei S ein nichtsingulärer Simplex. Die Funktion f erfülle (6.1) und der<br />
Gradient ∇f s sei Lipschitzstetig in einer Umgebung von S mit der Lipschitzkonstanten<br />
2K s . Dann gibt es eine Zahl K > 0, die nur von K s abhängt, so daÿ gilt<br />
‖∇f s (x 1 ) − D(f : S)‖ ≤ K κ(V ) (σ + (S) + ‖φ‖ S /σ + (S)) . (6.3)<br />
97
6. Grundkonzepte und Ziele<br />
Beweis. Wendet <strong>man</strong> Lemma 13 auf f s an, so folgt<br />
‖∇f s (x 1 ) − D(f s : S)‖ ≤ K s N 1/2 κ(V )σ + (S).<br />
Es gilt ‖δ(φ : S)‖ ≤ 2 √ N ‖φ‖ S und σ ′ +(S) ≤ ‖V ‖, <strong>als</strong>o folgt<br />
‖D(f : S) − S(f s : S)‖ ≤ ‖V −T ‖ ‖δ(f : S) − δ(f s : S)‖ = ‖V −T ‖ ‖δ(φ : S)‖<br />
≤<br />
2N 1/2 ‖V −T ‖ ‖φ‖ S ≤ 2N 1/2 κ(V )‖φ‖ S /σ + (S).<br />
Daraus folgt die Behauptung mit K = N 1/2 K s + 2N 1/2 .<br />
Die Konstanten K in (6.2) und (6.3) hängen von der Menge S nur über die Lipschitzkonstanten<br />
von f s und ∇f s in einer Umgebung von S ab. Diese Abhängigkeit werden<br />
wir im Bedarfsfall <strong>als</strong> K = K(S) ausdrücken.<br />
Die Algorithmen in diesem Abschnitt sind am protabelsten, falls <strong>man</strong> sie auf probleme<br />
der Form (6.1) anwendet, und <strong>das</strong> Ziel ist soviel Information wie möglich aus dem<br />
glatten Anteil f s von f herauszuziehen, ohne dabei Energie mit dem vergeblichen Versuch<br />
zu verschwenden, <strong>das</strong> Rauschen zu minimieren. Um unser Ziel für die Konvergenz<br />
klar zu formulieren, studieren wir in Lemma 15 die Konsequenzen eines kleinen Simplexgradienten<br />
in dem speziellen (nicht ungew¤hnlichen) Fall, daÿ die Rauschamplitude klein<br />
ist<br />
Lemma 15 Die Funktion f erfülle (6.1) und der Gradient ∇f s sei stetig dierenzierbar<br />
in einer kompakten Menge Ω ⊂ R N . Wir setzen voraus, daÿ f s in Ω genau einen<br />
kritischen Punkt x ∗ besitzt, in dem die Hessematrix positiv denit ist. Dann gibt es eine<br />
Zahl K Ω > 0, so daÿ für jedes Simplex S ⊂ Ω mit den Ecken {x j } N+1<br />
j=1 gilt<br />
‖x 1 − x ∗ ‖ ≤ K Ω [‖D(f : S)‖ + κ(V ) (σ + (S) + ‖φ‖ S /σ + (S))] .<br />
Beweis. Die Kompaktheit der Menge Ω und unsere Glattheitsvoraussetzung an f s implizieren<br />
die Existenz einer Zahl β 0 > 0 mit<br />
‖∇f s (x)‖ ≥ β 0 ‖x − x ∗ ‖<br />
für alle x ∈ Ω. Mit (6.3) erhalten wir die Ungleichung<br />
‖x 1 − x ∗ ‖ ≤ (1/β 0 )‖∇f s (x 1 )‖<br />
≤<br />
(1/β 0 ) [‖D(f : S)‖ + Kκ(V ) (σ + (S) + ‖φ‖ S /σ + (S))]<br />
Daraus folgt die Behauptung mit K Ω = (1/β 0 ) max{1, K}.<br />
Indem sie die Funktion auf eine sinnvolle Art abtasten, versuchen Simplexbasierte Algorithmen<br />
den Simplexgradienten zu verkleinern, indem die Gröÿe der Simplices, über<br />
denen f abgetastet wird, geändert wird. Die Bewegung der Simplices und die verschiedenen<br />
Verfahren, um die Grösse zu verändern (vor allem zu verkleinern) sind charakteristisch<br />
für die verschiedenen Verfahren. Satz 28, der direkt aus Lemma 15 folgt, macht<br />
dies deutlich. Wir betrachten eine Folge gleichmäÿig wohlkonditionierter Simplices. Solche<br />
Simplices werden von mehreren der Algorithmen erzeugt, die wir später betrachten.<br />
98
6.2. Der Simplexgradient<br />
Satz 28 Die Funktion f erfülle (6.1) und der Gradient ∇f s sei stetig dierenzierbar in<br />
einer kompakten Menge Ω ⊂ R N . Wir setzen voraus, daÿ f s in Ω genau einen kritischen<br />
Punkt x ∗ besitzt, in dem die Hessematrix positiv denit ist. Es sei S k eine Folge von<br />
Simplizes mit den Eckpunkten {x k j } N+1<br />
j=1 . Wir setzen voraus, daÿ eine Zahl M existiert<br />
mit S k ⊂ Ω und κ(V (S k )) ≤ M für alle k. Dann gelten folgende Aussagen:<br />
1. Es gibt eine Zahl K S > 0, so daÿ aus lim k→∞ σ + (S k ) = 0, lim k→∞ ‖φ‖ S k/σ + (S k ) =<br />
0 und<br />
lim sup k→∞ ‖D(f : S k )‖ = ε für ein ε > 0, folgt<br />
lim sup ‖x ∗ − x k 1‖ ≤ K S ε.<br />
k→∞<br />
2. Es existiert eine Zahl K S > 0, so daÿ für alle ε > 0 aus<br />
folgt<br />
lim sup ‖φ‖ S k ≤ ε 2 , lim inf<br />
k→∞<br />
k→∞<br />
lim sup<br />
k→∞<br />
σ +(S k ) ≥ ε und lim sup ‖D(f : S k )‖ ≤ ε<br />
k→∞<br />
‖x ∗ − x k 1‖ ≤ K S (ε + lim sup σ + (S k )).<br />
k→∞<br />
6.2.2. Zentraldierenzensimplexgradient<br />
In diesem Abschnitt denieren wir den Zentraldierenzensimplexgradienten und beweisen<br />
eine Abschätzung zweiter Ordnung. Dann zeigen wir zwei Varianten von Satz 28,<br />
eine um zu zeigen wie sich die Rolle des Rauschens φ von der im Fall der einseitigen<br />
Dierenzen unterscheidet, und eine zweite, um zu quantizieren, wie die berechneten<br />
Funktionswerte von f in einem Abbruchkriterium benutzt werden können.<br />
Denition 13 Es sei S ein nichtsingulärer Simplex im R N mit den Ecken {x j } N+1<br />
j=1<br />
und den Simplexrichtungen v j = x j+1 − x j . Der gespiegelte Simplex R = R(S) ist der<br />
Simplex mit den Ecken x 1 und r j = x 1 −v j für j = 1, ..., N. Der zentrale Simplexgradient<br />
D C (f : S) ist<br />
D C (f : S) = [D(f : S) + D(f : R)]/2 = [V −T (δ(f : S) − δ(f : R))]/2.<br />
Falls N = 1 und x 2 = x 1 +h gilt r 2 = x 1 −h. Also gilt D(f : S) = [f(x 1 +h)−f(x 1 )]/h<br />
und D(f : R) = [f(x 1 − h) − f(x 1 )]/(−h). Daher ist D c (f : S) = D C (f : R) =<br />
[f(x 1 + h) − f(x 1 − h)]/(2h) der übliche zentrale Dierenzenquotient.<br />
Lemma 16 und 17 sind die Varianten mit zweiter Ordnung von Lemma 13 und 14.<br />
Lemma 16 Es sei S ein nichtsingulärer Simplex und ∇ 2 f sei Lipschitzstetig in einer<br />
Umgebung von S ∪ R(S) mit Lipschitzkonstante 3K C . Dann gibt es K > 0 mit<br />
‖∇f(x 1 ) − D C (f : S)‖ ≤ Kκ(V )σ + (S) 2 . (6.4)<br />
99
6. Grundkonzepte und Ziele<br />
Beweis. Aus der Lipschitzstetigkeit folgt für alle j ∈ {2, ..., N + 1} die Ungleichung<br />
|f(x j ) − f(r j ) + 2∇f(x 1 ) T v j | ≤ K C ‖v j ‖ 3 ≤ K C σ + (S) 3 .<br />
Wie im Beweis von Lemma 13 folgt<br />
‖V T (δ(f : S) − δ(f : R)) − V T ∇f(x 1 )‖ ≤ N 1/2 K C σ + (S) 3 ,<br />
und <strong>das</strong> Ergebnis folgt mit K = N 1/2 K C .<br />
Lemma 17 Es sei S ein nichtsingulärer Simplex und f erfülle (6.1) und ∇ 2 f s sei Lipschitzstetig<br />
in einer Umgebung von S ∪ R(S) mit Lipschitzkonstante 3K Cs . Dann gibt es<br />
eine Zahl K > 0, die nur von K Cs abhängt, mit<br />
‖∇f s (x 1 ) − D C (f : S)‖ ≤ Kκ(V ) ( σ + (S) 2 + ‖φ‖ S /σ + (S) ) . (6.5)<br />
Beweis. Der Beweis wird dem Leser überlassen, da er sehr dem Beweis von Lemma 14<br />
ähnelt.<br />
Die Qualität der Information, die <strong>man</strong> aus dem zentralen Simplexgradienten erhalten<br />
<strong>kann</strong>, ist höher <strong>als</strong> die Qualität der Information, die <strong>man</strong> aus dem Vorwärtssimplexgradienten<br />
erhält. Der Unterschied <strong>kann</strong> in der Praxis dramatisch sein! Aus Lemma 17 erhält<br />
<strong>man</strong> eine Aussage über die Konsequenzen eines kleinen zentralen Simplexgradienten.<br />
Lemma 18 Die Funktion f erfülle (6.1) und ∇ 2 f s seistetig dierenzierbar in einer<br />
kompakten Menge Ω ⊂ R N . Wir setzen voraus, <strong>das</strong>s die Funktion f s in der Menge Ω<br />
genau einen kritischen Punkt x ∗ besitzt. Dann gibt es eine Zahl K ω > 0 so <strong>das</strong>s für ein<br />
Simplex S ⊂ Ω für <strong>das</strong> <strong>das</strong> gespiegelte Simplex R(S) auch in Ω enthalten ist, folgende<br />
Ungleichung gilt:<br />
‖x 1 − x ∗ ‖ ≤ K Ω<br />
[<br />
‖DC (f : S)‖ + κ(V ) ( σ + (S) 2 + ‖φ‖ S /σ + (S) )] .<br />
Lemma 18 ist alles, was <strong>man</strong> braucht, um aus einer Folge kleiner zentraler Simplexgradienten<br />
auf Konvergenz zu schliessen.<br />
Satz 29 Die Funktion f erfülle (6.1) und ∇ 2 f s seistetig dierenzierbar in einer kompakten<br />
Menge Ω ⊂ R N . Wir setzen voraus, <strong>das</strong>s die Funktion f s in der Menge Ω genau<br />
einen kritischen Punkt x ∗ besitzt. Es sei (S k ) k eine Folge von Simplices mit den Ecken<br />
{x k j } j=1 N+1 und S k , R(S k ⊂ Ω. Wir setzen voraus, <strong>das</strong>s es eine Konstante M gibt mit<br />
κ(V (S k )) ≤ M für alle k. Dann gilt:<br />
1. Es gibt eine Konstante K S > 0, so <strong>das</strong>s für alle ε > 0 aus lim k→∞ σ + (S k ) = 0,<br />
lim k→∞ ‖φ‖ S k/σ + (S k ) = 0 und lim sup k→∞ ‖D c (f : S k )‖ = ε folgt<br />
lim sup ‖x ∗ − x k 1‖ ≤ K S ε.<br />
k→∞<br />
100
6.2. Der Simplexgradient<br />
2. Es gibt eine Konstante K S > 0, so <strong>das</strong>s für alle ε > 0 aus lim sup k→∞ ‖φ‖ S k ≤ ε 3 ,<br />
lim inf k→infty σ + (S k ) ≥ ε 2 und lim inf k→∞ ‖D c (f : S k )‖ ≤ ε 2 folgt<br />
lim sup<br />
k→∞<br />
‖x ∗ − x k 1‖ ≤ K S (ε + lim sup σ + (S k )) 2 .<br />
k→∞<br />
Ähnlich wie Satz 28 legt es Satz 29 nahe, die Grösse des Simplexgradienten <strong>als</strong> Konvergenztest<br />
zu verwenden. Angenommen es gilt ‖φ‖ ∞ ≤ ε und ein Algorithmus erzeugt<br />
Folgen von Simplices, deren Ecken einen Minimalpunkt von f s approximieren sollen.<br />
Falls ein zentraler Simplexgradient verwendet wird, so hat <strong>man</strong> gnügend viele Funktionswerte<br />
von f zu Verfügung um ein wichtiges Abbruchktiterium verwenden zu können.<br />
Um einen zentralen Simplexgradienten zu berechnen, muss <strong>man</strong> f an den Punkten x 1<br />
und x 1 + v j , x 1 − v j (1 ≤ j ≤ N) auswerten. Falls gilt f(x 1 ) ≤ f(x + 1 v j ) für alle<br />
j ∈ {1, ..., N}, <strong>kann</strong> <strong>man</strong> sich fragen, ob es sinnvoll ist, den Simplexgradienten <strong>als</strong><br />
Abstiegsrichtung der <strong>als</strong> Mass für die Stationarität zu verwenden. Wir nennen diese Situation<br />
Schablonenversagen (stencil failure). Wir werden dies <strong>als</strong> Abbruchkriterium in<br />
den meisten folgenden Algorithmen verwenden. Die Grundlage dafür ist ein Ergebnis<br />
aus [3], bei dem nur Dierenzierbarkeit von f s verlangt wird.<br />
Satz 30 Es sei S ein nichtsinguläres Simplex, so <strong>das</strong>s für ein µ − ∈ (0, 1) und ein κ + > 0<br />
gilt<br />
κ(V ) ≤ κ + und x T V V T x ≥ µ − σ + (S) 2 ‖x‖ 2 (6.6)<br />
für alle x. Die Funktion f erfülle 6.1) und ∇f s sei Lipschitzstetig dierenzierbar in einer<br />
Kugel B mit Radius 2σ + (S) um x 1 . Wir setzen voraus, <strong>das</strong>s gilt<br />
Es sei K die Konstante aus Lemma 14. Dann gilt<br />
f(x 1 ) < min<br />
j<br />
{f(x 1<br />
+<br />
vj } (6.7)<br />
‖∇f s (x 1 )‖ ≤ 8µ −1<br />
− Kκ + (σ + (S) + ‖φ‖ B /σ + (S)) . (6.8)<br />
Beweis. Es sei R(S) <strong>das</strong> gespiegelte Simplex mit den Ecken x 1 und {r j } N j=1. Aus (6.7)<br />
folgt, <strong>das</strong>s alle Komponenten von δ(f : S) und δ(f : R) positiv sind. Wegen<br />
gilt<br />
V = V (S) = −V (R)<br />
0 < δ(f : S) T δ(f : R)<br />
= (V T V −T δ(f : S)) T (V (R) T V (R) −T δ(f : R)) = −D(f : S) T V V T D(f : R). (6.9)<br />
Wir wenden Lemma 14 auf D(f : S) und D(f : R) an und erhalten<br />
D(f : S) = ∇f s (x 1 ) + E 1 und D(f : R) = ∇f s (x 1 ) + E 2 ,<br />
wobei wegen κ(V ) = κ(V (R)) ≤ κ + folgende Ungleichung gilt:<br />
‖E k ‖ ≤ Kκ + (σ + (S) + ‖φ‖ B /σ + (S)) .<br />
101
6. Grundkonzepte und Ziele<br />
Wegen ‖V ‖ ≤ 2σ + (S), folgt aus (6.9) die Ungleichung<br />
∇f s (x 1 ) T V V T ∇f s (x 1 ) ≤ 4σ + (S) 2 ‖∇f s (x 1 )‖ (‖E 1 ‖ + ‖E 2 ‖) + 4σ + (S) 2 ‖E 1 ‖ ‖E 2 ‖.<br />
(6.10)<br />
Aus den Voraussetzungen des Lemmas folgt eine untere Schrankt für die linke Seite von<br />
(6.10), nämlich<br />
w T V V T w ≥ µ − σ + (S) 2 ‖w‖ 2 .<br />
Also gilt<br />
wobei wir mit (6.10) erhalten<br />
‖∇f s (x 1 )‖ 2 b‖∇f s (x 1 )‖ + c,<br />
b = Kκ + (σ + (S) + ‖φ‖ B /σ + (S)) 8µ −1<br />
−<br />
und<br />
c = 4µ −1<br />
− (Kκ + ) 2 (σ + (S) + ‖φ‖ B /σ + (S)) 2 = µ − b 2 /16.<br />
Also gilt b 2 − 4c = b 2 (1 − µ − /4), und wir erhalten wie behauptet<br />
‖∇ 2 f(x 1 )‖ ≤ (b + √ b 2 − 4c)/2 = b(1 +<br />
√<br />
1 − µ − /4)/2 ≤ b.<br />
6.3. Übungen<br />
Übung 39 Beweisen Sie Lemma 17.<br />
102
7. Implizite Filter<br />
7.1. Beschreibung und Analyse Impliziter Filter<br />
Der Algorithmis mit implizitem Filter wurde urpsrünglich <strong>als</strong> eine Implementierung des<br />
Gradientenprojektionsverfahrens mit Dierenzengradient formuliert, bei der der Dierenzenschritt<br />
verkleinert wird, während die Iteration voranschreitet. Fast gleichzeitig<br />
wurde eine andere Formulierung für unrestringierte Probleme mit gewissen Konvexitätseigenschaften<br />
formuliert ([28]). In diesem Kapitel werden wir unrestringierte Probleme<br />
betrachten und die Konvergenzresultate herleiten, die die Algorithmen mit implizitem<br />
Filter mit den Liniensuchverfahren aus Kapitel 8 gemeinsam haben.<br />
Verwendet <strong>man</strong> den impliziten Filter, der durch einen approximativen Gradienten<br />
induziert wird, so hat <strong>man</strong> die Möglichkeit verbesserter Eigenschaften bei Quasinewtonverfahren<br />
und <strong>kann</strong> auch ohne Schwierigkeiten <strong>das</strong> Verfahren auf Probleme mit Schrankenrestriktionen<br />
anwenden. Diese Möglichkeiten diskutieren wir in 7.2 und 7.4.<br />
In seiner einfachsten unrestringierten Form, ist der Algorithmus mit implizitem Filter<br />
<strong>das</strong> Verfahren des steilsten Abstiegs mit Dierenzengradienten, wobei die Schrittweite<br />
variiert während die Iteration voranschreitet. Wiel der Gradient nur approximiert<br />
wird, ist die berechnete Suchrichtung unter Umständen keine Abstiegsrichtung und die<br />
Liniensuche <strong>kann</strong> scheitern. In diesem Fall wird die Schrittweite des nite Dierenzen<br />
Gradienten verkleinert.<br />
Für einen gegebenen Punkt x ∈ R N und h > 0 sei S(x, h) <strong>das</strong> rechte Simplex von x<br />
mit Kanten der Länge h.<br />
Die Ecken sind x und x + hv i für i ∈ {1, ..., N} mit V = I. Es gilt <strong>als</strong>o κ(V ) = 1.<br />
Der Algorithmus mit implizitem Filter durch den zentralen Dierenzengradient ist dem<br />
entsprechendem Algorithmus mit Vorwärtsdierenzengradient bei weitem überlegen [15],<br />
[22]. Daher werden wir in unserer Diskussion zentrale Dierenzengradienten verwenden.<br />
Wir setzen<br />
∇ h f(x) = D C (f : S(x, )).<br />
Wir verwenden eine einfache Armijo [1] Liniensuche und verlangen, <strong>das</strong>s die Bedingung<br />
des hinreichenden Abstiegs<br />
f(x − λ∇ h f(x)) − f(x) < −αλ‖∇ h f(x)‖ 2 (7.1)<br />
mit einem festen Parameter α > 0 erfüllt ist (vergleiche mit (3.2), (3.4)).<br />
Unser Verfahren des steilesten Abstiegs mit zentralen Dierenzengradienten fdsteep<br />
bricht ab, falls gilt<br />
‖∇ h f(x)‖ ≤ τh (7.2)<br />
103
7. Implizite Filter<br />
mit einem Parameter τ > 0 oder falls mehr <strong>als</strong> pmax Schritte durchgeführt worden sind,<br />
nach einem stencil failure, oder falls die Liniensuche scheitert, da sie mehr <strong>als</strong> amax<br />
Schrittweitenverkleinerungen benötigt. Im Falle eines Scheiterns von fdsteep wird die<br />
Schrittweite h verkleinert.<br />
Algorithmus 13 (fdsteep(x, f, pmax, τ, h, amax))<br />
For p = 1, ..., pmax<br />
(a) Berechne f und ∇ h f; brich ab falls (6.7) oder (7.2) gilt.<br />
(b) Finde die kleinste natürliche Zahl m aus {0, 1, ..., amax} mit der (7.1) für λ = β m<br />
erfüllt ist. Falls keine solche Zahl m existiert, brich ab.<br />
(c) x = x − λ∇ h f(x).<br />
Wegen der Schranken pmax und amax für die Iterationszahl und die Anzahl der Schrittweitenverkleinerungen<br />
bricht Algorithmus fdsteep nach endlich vielen Iterationen ab.<br />
Falls die untere Niveaumenge {x : f(x) ≤ f(x 0 )} beschränkt ist, werden die Iterationspunkte<br />
in dieser Menge bleiben. Der Algorithmus mit implizitem Filter verwendet<br />
fdsteep mehrm<strong>als</strong>, wobei die Schrittweite h nach jedem Abbruch von fdsteep verkleinert<br />
wird. Neben den Parametern für fdsteep braucht <strong>man</strong> eine Folge von Schrittweiten, die<br />
<strong>man</strong> in [15] scales nennt.<br />
Algorithmus 14 (imlter1(x, f, pmax, τ, {h k }, amax))<br />
Für k = 0, 1, ...<br />
Rufe fdsteep(x, f, pmax, τ, h k , amax).<br />
Das Konvergenzergebnis folgt aus der Abschätzung zweiter Ordnung (6.5), den Folgen<br />
eines stencil failure, Satz 30 und den Gleichungen h k = σ + (S k ) und κ(V ) = 1. Ein<br />
analoges Resultat für Vorwärtsdierenzengradienten erhält <strong>man</strong> aus (6.3).<br />
Satz 31 Die Funktion f erfülle (6.1) und ∇f s sei Lipschitzstetig. Es sei {h k } eine<br />
Nullfolge, {x k } die durch den Algorithmus mit implizitem Filter erzeugte Folge, und<br />
S k = S(x k , h k ). Wir setzen voraus, <strong>das</strong>s (7.1) für alle bis auf endlich viele k gilt, (d.h.<br />
<strong>das</strong> Liniensuchverfahren bricht nur endlich oft zusammen). Falls gilt<br />
lim (h k − h −1<br />
k ‖φ‖ Sk) = 0, (7.3)<br />
k→∞<br />
so ist jeder Häufungspunkt der Folge {x k } ein kritischer Punkt von f s .<br />
Beweis. Falls entweder (7.1) oder (6.7) für alle bis auf endlich viele k gilt, so folgt<br />
∇ hk f(x k ) = D C (f : S k ) → 0.<br />
Mit (7.3) und Lemma 14 folgt die Behauptung ∇f s (x k ) → 0.<br />
104
7.2. Quasinewtonverfahren mit implizitem Filter<br />
7.2. Quasinewtonverfahren mit implizitem Filter<br />
Das Alleinstellungsmerkmal der Verfahren mit implizitem Filter ist die Möglichkeit, bei<br />
Problemen die um die Minimalpunkte herum hinreichend glatt sind, in der Endphase<br />
der Iteration schnellere Konvergenz zu erhalten, indem <strong>man</strong> ein QuasiNewton update<br />
einer Modellhessematrix verwendet (vgl. [15]).<br />
Wir beginnen mit einer Quasinewtonform von Algorithmus fdsteep. In diesem Algorithmus<br />
wird eine Quasinewtonapproximation der Hessematrix beibehalten und die<br />
Liniensuche basiert auf der Quasinewtonrichtung<br />
Sie bricht ab falls entweder gilt<br />
d = −H −1 ∇ h f(x).<br />
f(x + λd) − f(x) < αλ∇ h f(x) T d (7.4)<br />
oder falls zu viele Schriitweitenverkleinerungen bei der Liniensuche benötigt werden.<br />
Falls die Liniensuche scheitert, wird in Algorithmus fdquasi die Approximation H durch<br />
die Einheitsmatrix ersetzt.<br />
Algorithmus 15 (fdquasi(x, f, H, pmax, τ, h, amax))<br />
For p = 1, ..., pmax<br />
(a) Berechne f und ∇ h f und die Suchrichtung d = −H −1 ∇ h f; brich ab falls (7.2)<br />
gilt.<br />
(b) Finde die kleinste natürliche Zahl m aus {0, 1, ..., amax} mit der (7.4) für λ = β m<br />
erfüllt ist.<br />
(c) x = x + λd<br />
(d) Aktualisiere H mit einer Quasinewtonformel.<br />
Algorithmus 16 (imlter2(x, f, pmax, τ, {h k }, amax))<br />
Für k = 0, 1, ...<br />
Rufe fdquasi(x, f, H, pmax, τ, h k , amax).<br />
7.3. Implementierungsbetrachtungen<br />
Die Algorithmen mit implizitem Filter haben mehrere Verfahrensparameter, so <strong>das</strong>s<br />
<strong>man</strong> bei einer Implementierung einige algorithmische Entscheidungen treen muss. Die<br />
Parameter pmax, amax und β spielen die gleiche Rolle wie in jedem anderen Liniensuchverfahren.<br />
Wir schlagen folgende Werte vor: pmax = 200N, amax = 10 und β = 1/2.<br />
Das Verhalten von Algorithmen mit implizitem Filter <strong>kann</strong> empndlich von dem Wert<br />
von τ abhängen, wobei kleine Werte von τ zur Stagnation führen und zu groÿe Werte von<br />
τ zu einem verfrühten Abbruch von Algorithmus fdquasi. Die Verwendung von stencil<br />
failures <strong>als</strong> Abbruchkriterium verkleinert die Sensitivität bei zu kleinen Werten von τ<br />
und wir schlagen den Wert τ = 0.1 vor.<br />
105
7. Implizite Filter<br />
Die Skalenfolge ist im besten Fall eine Schätzung der Stärke des Rauschens in dem<br />
Problem. Falls mehrere der Skalen kleiner <strong>als</strong> <strong>das</strong> Niveau des Rauschens sind, wird die<br />
Liniensuche sofort versagen und die Arbeit auf diesen Skalen wird verschwendet sein.<br />
Dies <strong>kann</strong> in einer Implementierung dadurch vermieden werden, <strong>das</strong>s die Optimierung<br />
abgebrochen wird wenn x auf drei aufeinanderfolgenden Skalen unverändert bleibt.<br />
Der Simplexgradient ist unter Umständen eine sehr schlechte Approximation des Gradienten.<br />
Daher begrenzen wir künstlich die Schrittweite auf 10h:<br />
{<br />
−H<br />
d =<br />
−1 ∇ h f(x) falls ‖H −1 ∇ h f(x)‖ ≤ 10h,<br />
−10H −1 ∇ h f(x)/‖H −1 ∇ h f(x)‖ sonst.<br />
(7.5)<br />
7.4. Implizite Filter für Probleme mit<br />
Schrankenrestriktionen<br />
Algorithmen mit implizitem Filter wurden ursprünglich für Probleme mit Schrankenrestriktionen<br />
eingeführt ([15]). Wir geben hiere einen projizierten Quasinewtonalgorithmus.<br />
In der Literatur ndet <strong>man</strong> noch andere Zugänge zur Implementierung.<br />
Wir beginnen mit der Skalierung und dem Dierenzengradienten. Zentrale Dierenzengradienten<br />
funktionieren besser, aber wir werten f nicht ausserhalb der zulässigen<br />
Menge aus. Falls bei znetralen niten Dierenzen die Auswertung in einem Punkt ausserhalb<br />
der zulässigen Menge nötig wäre, verwenden wir in dieser Richtung einseitige<br />
Dierenzen. Um zu gewährleisten, <strong>das</strong>s misndestens ein Punkt in jeder Richtung zulässig<br />
ist, skalieren wir die Variablen, so <strong>das</strong>s gilt L i = 0, U i = 1 und h 0 ≤ 1/2.<br />
Die Bedingung für den hinreichenden Abstieg ist<br />
mit<br />
f(x(λ)) − f(x) ≤ α∇ h f(x) T (x(λ) − x), (7.6)<br />
x(λ) = P(x − λ∇ h f(x)).<br />
Als Abbruchkriterium bei ener gegebenen Schrittweite könnte <strong>man</strong> analog zu (7.2) die<br />
Ungleichung<br />
‖x − x(1)‖ ≤ τh (7.7)<br />
verwenden oder<br />
f(x c ) < f(x + r j ) (7.8)<br />
für alle zulässigen x + r j , <strong>das</strong> Analogon zu (6.7) für Probleme mit Schrankenrestriktionen.<br />
7.5. Neustart und Minima auf allen Skalen<br />
Keiner der Algorithmen in diesem Kapitel ndet garantiert einen lokalen Minimalpunkt,<br />
erst recht keinen globalen Minimalpunkt. Die Robustheit dieser Algorithmen <strong>kann</strong> verbessert<br />
werden, wenn <strong>man</strong> die Iteration nach einem Durchgang durch die Skalen neu<br />
106
7.5. Neustart und Minima auf allen Skalen<br />
startet. Ein Punkt x, der nach einem Aufruf von Algorithmus imfilter1 (bzw. imfilter2<br />
oder die Form für Probleme mit Schrankenrestriktionen) nicht geändert wird heiÿ ein<br />
Minimum in allen Skalen.<br />
Falls die Funktion f (6.1) erfüllt, f s einen eindeutig bestimmten kritischen Punkt besitzt,<br />
der ein lokaler Minimalpunkt ist und die Standardvoraussetzungen erfüllt (dann<br />
ist er ein globaler Minimalpunkt von f s ) und noch gewisse (starke!) technische Voraussetzungen<br />
über die Abnahme von φ in der Nähe des Minimalpunktes gelten, dann gibt<br />
es nahe bei dem globalen Minimalpunkt von f s ein Minimum in allen Skalen ([15]). Im<br />
unrestringierten Fall folgt diese Aussage aus den Abbruchkriterien ((7.2) und (6.7) für<br />
implizite Filter, Lemma 15 (oder 18) und, falls zentralen Dierenzen verwendet werden,<br />
Satz 30. Die Analyse in [15] für den Fall mit Schrankenrestriktionen ist technischer.<br />
In der Praxis sind Neustarts teuer und meistens unnötig, aber sinnvoll, um einen<br />
potentiellen Optimalpunkt zu testen, bevor <strong>man</strong> ihn in der Praxis verwendet.<br />
107
7. Implizite Filter<br />
108
8. Direkte Suchverfahren<br />
In diesem Kapitel diskutieren wir die Klasse der direkten Suchverfahren. Diese Verfahren<br />
verwenden Funktionswerte von f aus einer Menge von Auswertungspunkten und verwenden<br />
diese Information, um daraus neue Auswertungspunkte zu bestimmen. Wir werden<br />
uns auf zwei Methoden dieser Art konzentrieren: Den NelderMead Simplexalgorithmus<br />
[23], und <strong>das</strong> multidirektionale Suchverfahren [27]. Jeden dieser Algorithmen <strong>kann</strong> <strong>man</strong><br />
mit der Simplexgradiententechnik aus Kapitel 6 analysieren.<br />
8.1. Der NelderMead Simplexalgorithmus<br />
Der NelderMead Simplexalgorithmus arbeitet mit einem Simplex S von Approximationen<br />
eines Optimalpunktes. In diesem Algorithmus werden die Ecken {x j } N j=1 nach den<br />
entsprechenden Werten der Zielfunktion geordnet:<br />
f(x 1 ) ≤ f(x 2 ) ≤ ... ≤ f(x N+1 ). (8.1)<br />
Der Punkt x 1 heiÿt die beste Ecke und der Punkt x N+1 die schlechteste Ecke. Die beste<br />
Ecke ist nicht immer eindeutig deniert, aber auf <strong>das</strong> Verhalten des Algorithmus hat<br />
diese Tatsache wenig Einuÿ.<br />
In dem Algorithmus versucht <strong>man</strong>, die schlechteste Ecke x N+1 durch einen neuen<br />
Punkt der Form<br />
x(µ) = (1 + µ)¯x − µx N+1 (8.2)<br />
zu ersetzen, wobei ¯x der Schwerpunkt der konvexen Hülle von {x i } N i=1 ist,<br />
Der Wert von µ wird aus den Werten<br />
¯x = (1/N)<br />
N∑<br />
i=1<br />
−1 < µ ic < 0 < µ oc < µ r < µ e<br />
x i . (8.3)<br />
nach Regeln ausgewählt, die wir im Algorithmus nelder beschreiben.<br />
Unser Algorithmus bricht ab, wenn f(x N+1 ) − f(x 1 ) hinreichend klein ist oder eine<br />
vorgegebene Anzahl von Funktionsauswertungen ausgeschöpft ist.<br />
Algorithmus 17 (nelder(S, f, τ, kmax))<br />
1. Werte die Funktion f an den Ecken von S aus und ordne diese Ecken, so <strong>das</strong>s<br />
(8.1) erfüllt ist.<br />
109
8. Direkte Suchverfahren<br />
2. Setze fcount = N + 1.<br />
3. Solange f(x N+1 − f(x 1 ) > τ<br />
(a) Berechne ¯x nach (8.3), x(µ r ) nach (8.2) und f r = f(x(µ r )). f count = f count +1.<br />
(b) Reektiere: Falls f count = kmax brich ab. Falls f(x 1 ) ≤ f r < f(x N ), ersetze<br />
x N+1 durch x(µ r ) und gehe zu Schritt 3.(g).<br />
(c) Expandiere: Falls f count = kmax brich ab. Falls f r < f(x 1 ), berechne f e =<br />
f(x(µ e )). f count = f count + 1. Falls f e < f r , ersetze x N+1 durch x(µ r ). Gehe zu<br />
Schritt 3.(g).<br />
(d) Äussere Kontraktion: Falls f count = kmax brich ab. Falls f(x N ) ≤ f r <<br />
f(x N+1 , berechne f c = f(x(µ loc )). f count = f count + 1. Falls f c ≤ f r , ersetze x N+1<br />
mit x(µ oc ) und gehe zu Schritt 3.(g); sonst gehe zu Schritt 3.(f)<br />
(e) Innere Kontraktion: Falls f count = kmax brich ab. Falls f r ≥ f(x N+1 ),<br />
berechne f c = f(x(µ ic )). f count = f count +1. Falls f c < f(x N+1 ), ersetze x N+1 durch<br />
x(µ ic ) und gehe zu Schritt 3.(g); sonst gehe zu Schritt 3.(f).<br />
(f) Verkleinerung: Falls f count ≥ kmax − N brich ab. Für 2 ≤ i ≤ N + 1: Setze<br />
x i = x 1 − (x i − x 1 )/2; berechne f(x i ). f count = f count + 1.<br />
(g) Sortiere: Sortiere die Ecken von S, so <strong>das</strong>s (8.1) gilt.<br />
Ein typischer Satz von Kandidaten für die Werte von µ ist<br />
{µ r , µ e , µ oc , µ ic } = {1, 2, 1/2, −1/2}.<br />
Sogar in kleinen Dimensionen ist es nicht gewährleistet, <strong>das</strong>s der NelderMead Algorithmus<br />
konvergiert. Es ist nämlich möglich, <strong>das</strong>s er in einem Punkt steckenbleibt, der nicht<br />
optimal ist. Bei vielen Problemen ist aber <strong>das</strong> Verhalten des NelderMead Verfahrens<br />
gut. Der Verkleinerungsschritt tritt in der Praxis selten auf. Falls er nicht auftritt, wird<br />
bei einer NelderMead Iteration der Durchschnittswert<br />
verkleinert.<br />
¯f = 1 N+1 ∑<br />
f(x j )<br />
N + 1<br />
j=1<br />
8.2. Multidirektionale Suchverfahren<br />
Eine Art, die Schwierigkeit möglicher Schlechtkonditioniertheit im NelderMead Verfahren<br />
zu umgehen, besteht darin, dafür zu sorgen, <strong>das</strong>s die Konditionszahlen der Simplices<br />
beschränkt sind. Die multidirektionale Suche (MDS) erreicht dies, indem jeder neue<br />
Simplex kongruent zu seinem Vorgänger gemacht wird. Die Ergebnisse in diesem Abschnitt<br />
zeigen, <strong>das</strong>s multidirektionale Suche ähnliche Eigenschaften wie die Verfahren<br />
mit implizitem Filter hat.<br />
110
8.2. Multidirektionale Suchverfahren<br />
In dem speziellen Fall gleichseitiger Simplices ist V k ein Vielfaches von V 0 und die<br />
Konditionszahl ist konstant. Wenn die Simplices nicht gleichseitig sind, <strong>kann</strong> die Konditionszahl<br />
κ(V ) variieren, je nachedem welche Ecke x 1 genannt wird, aber (6.6) wird auf<br />
jeden Fall gelten.<br />
Ausgehend von einem geordneten Simplex S c mit Ecken x 1 , x 2 und x 3 wird zunächst<br />
ein Reektionsschritt durchgeführt, der zu einem Simplex mit Ecken x 1 , r 2 , r 3 führt.<br />
Wenn der beste Funktionswert der Ecken von S r besser <strong>als</strong> der beste Wert f(x 1 ) in<br />
S c , wird S r vorläug akzeptiert und Expansion wird versucht. Der Expansionsschritt unterscheidet<br />
sich von dem im NelderMead Algorithmus weil N neue Punkte gebraucht<br />
werden, um <strong>das</strong> neue, grössere Simplex dem alten ähnlich zu machen. Der Expansionssimplex<br />
S e hat die Ecken x 1 , e 2 , e 3 und ersetzt S r falls der beste Funktionswert der<br />
Ecken von S e besser ist <strong>als</strong> der beste in S r . Falls der beste Funktionswert auf den Ecken<br />
von S r nicht besser ist <strong>als</strong> der beste Wert in S c , wird <strong>das</strong> Simplex kontrahiert und <strong>das</strong><br />
neue Simplex hat die Ecken x 1 , c 2 , c 3 . Nachdem <strong>das</strong> neue Simplex identiziert worden<br />
ist, werden die Ecken wieder geordnet, um <strong>das</strong> neue geordnete Simplex S + zu erzeugen.<br />
Ähnlich wie beim NelderMead Algorithmus gibt es Expansions und Kontraktionsparameter<br />
µ e und µ c . Typische Werte sind 2 und 1/2.<br />
Algorithmus 18 (mds(S, f, τ, kmax))<br />
1. Berechne die Funktionswerte von f and den Ecken von S und ordne die Ecken von<br />
S, so <strong>das</strong>s (8.1) gilt.<br />
2. Solange f(x N+1 − f(x 1 ) > τ<br />
(a) Reektiere: Falls fcount = kmax, brich ab.<br />
Für j = 2, ..., N + 1: r j = x 1 − (x j − x 1 ); Berechne f(r j ); fcount = fcount + 1.<br />
Falls f(x 1 ) > min j {f(r j )} gehe zu Schritt 3b sonst gehe zu Schritt 3c.<br />
(b) Expandiere:<br />
i. Für j = 2, ..., N +1: e j = x 1 −µ e (x j −x 1 ); Berechne f(e j ); fcount = fcount+1.<br />
ii. Falls min j {f(r j )} > min j {f(e j )} , dann für j = 2, ..., N + 1: x j = e j<br />
sonst<br />
für j = 2, ..., N + 1: x j = r j<br />
iii. Gehe zu Schritt 3d<br />
(c) Kontrahiere<br />
Für j = 2, ..., N + 1: x j = x 1 + µ c (x j − x 1 ), berechne f(x j )<br />
(d) Sortiere: Sortiere die Ecken von S, so <strong>das</strong>s (8.1) gilt.<br />
Wenn die Funktionswerte an den Ecken von S c be<strong>kann</strong>t sind, so kostet die Berechnung<br />
von S + 2N zusätzliche Auswertungen. Wie im NelderMead Algorithmus ist der<br />
Expansionsschritt optional, aber es hat sich gezeigt <strong>das</strong>s er zu einer Verbesserung führt.<br />
111
8. Direkte Suchverfahren<br />
112
Literaturverzeichnis<br />
[1] L. Armijo. Minimization of functions having lipschitzcontinuous rst partial derivatives.<br />
Pacic J. Math, 16:13, 1966.<br />
[2] D.P. Bertsekas. Projected newton methods for optimization problems with simple<br />
constraints. SIAM J. Control Optim., 20:221246, 1982.<br />
[3] D.M. Bortz and C.T. Kelley. The simplex gradient and noisy optimization problems.<br />
In Computational Methods in Optimal Design and Control eds.: J.T. Borggaard, J.<br />
Burns, E. Cli and S. Schreck, pages 7790. Birkhaeuser, Boston, 1998.<br />
[4] C.G. Broyden. A class of methods for solving nonlinear simultaneous equations.<br />
Math. Comp., 19:577593, 1965.<br />
[5] C.G. Broyden. A new doublerank minimization algorithm. AMS Notices, 16:670,<br />
1969.<br />
[6] R. H. Byrd and J. Nocedal. A tool for the analysis of quasinewton methods with<br />
application to unconstrained minimization. SIAM J. Numer. Analysis, 26:727739,<br />
1989.<br />
[7] A. Cauchy. Methode generale pour la resolution des systemes d'equations simultanees.<br />
Comp. Rend. Acad. Sci., pages 536538, 1847.<br />
[8] A. Cauchy. Conjugate gradient methods less dependent on conjugacy. SIAM Review,<br />
28:501512, 1986.<br />
[9] A. R. Conn, N. I. M. Gould, and P. L. Toint. TrustRegion Methods. SIAM,<br />
Philadelphia, 2000.<br />
[10] J.E. Dennis and J.J. More. Quasinewton methods, methods, motivation and theory.<br />
SIAM Review, 19:4689, 1977.<br />
[11] P. Deuhard, R.W. Freund, and A. Walter. Fast secant methods for the iterative<br />
solution of large nonsymmetric linear systems. Impact of Computing in Science and<br />
Engineering, 2:244276, 1990.<br />
[12] J.C. Dunn. On the convergence of projected gradient processes to singular critical<br />
points. J. Optim. Th. Appl., 55:203215, 1987.<br />
[13] J.C. Dunn and E.W. Sachs. The eect of perturbations on the convergence rates<br />
of optimization algorithms. Applied Maqth. and Optimization, 10:143147, 1983.<br />
113
Literaturverzeichnis<br />
[14] R. Fletcher. A new approach to variable metric methods. Comp. J., 13:317322,<br />
1970.<br />
[15] P. Gilmore and C.T. Kelley. An implicit ltering algorithm for optimization of<br />
functions with <strong>man</strong>y local minima. SIAM J. Optim., 5:269258, 1995.<br />
[16] R. Glowinski. Numerical Methods for Nonlinear Variational Problems. Springer<br />
Verlag, New York, 1984.<br />
[17] D. Goldfarb. A family of variable metric methods derived by variational means.<br />
Math. Comp., 24:2326, 1970.<br />
[18] W. Hackbusch. MultiGrid Methods and Applications. SpringerVerlag, New York,<br />
1985.<br />
[19] W.W. Hager. Rates of convergence for discrete approximations to unconstrained<br />
optimal control problems. SIAM J. Numer. Analysis, 13:449472, 1976.<br />
[20] M. Heinkenschloss, M. Ulbrich, and S. Ulbrich. Superlinear and quadratic convergence<br />
of ane scaling interiorpoint newton methods for problems with simple<br />
bounds and without strict complementarity assumption. Mathematical Programming,<br />
86:615635, 1999.<br />
[21] R. Bulirsch J. Stoer. Numerische Mathematik. Springer, 2000.<br />
[22] D.Q. Mayne and E. Polak. Nondierential optimization via adaptive smoothing. J.<br />
Optim. Theory Appl., 43:601613, 1984.<br />
[23] J.A. Nelder and R. Mead. A simplex method for function minimization. Comput.<br />
J., 7:308313, 1965.<br />
[24] D.F. Shanno. Conditioning of quasinewton methods for function minimization.<br />
Math. Comp., 24:647657, 1970.<br />
[25] P. Spellucci. Numerische Verfahren der nichtlinearen Optimierung. Birkhaeuser,<br />
Basel, 1993.<br />
[26] T. Tian and J.C. Dunn. On the gradient projection method for optimal control<br />
problems with nonnegative l2 inputs. SIAM J. Control Optim, 32:516537, 1994.<br />
[27] V. Torczon. On the convergence of the multidimensional direct search. SIAM J.<br />
Optim, 1:123145, 1991.<br />
[28] S. K. Zavriev. On the global optimization properties of nitedierence local descent<br />
algorithms. J. Global Optimization, 3:6778, 1993.<br />
114