10.11.2014 Aufrufe

kann man das Vorlesungsskript als pdf-file herunterladen.

kann man das Vorlesungsskript als pdf-file herunterladen.

kann man das Vorlesungsskript als pdf-file herunterladen.

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!