• Keine Ergebnisse gefunden

Nichtlineare Optimierung 3. Rechnerübungsblatt

N/A
N/A
Protected

Academic year: 2022

Aktie "Nichtlineare Optimierung 3. Rechnerübungsblatt"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Nichtlineare Optimierung 3. Rechnerübungsblatt

Fachbereich Mathematik WS 2011-2012

Prof. Dr. Stefan Ulbrich 9.12.2011

Hannes Meinlschmidt

Rechnerübung

Aufgabe R1 (Inexaktes CG-Newton-Verfahren)

(a) Implementieren Sie das allgemeine Abstiegsverfahren (Algorithmus 3) in der Version von Aufgabe G1, Übungsblatt 7 (Algorithmus 1 dort) inmatlab, bestimmen Sie also die Suchrichtung mit dem inexakten Newton-CG-Verfahren und die Schrittweite nach der Armijo-Regel. Verwenden Sie als Konstanten

α=10−3 und ν=10−2.

Nutzen Sie zur Bestimmung der Schrittweiten Ihre bereits programmierte Funktionarmijovon der ersten Rech- nerübung. Beachten Sie hierbei, dass die Schrittweiten-Bestimmung nach Armijo auch hier mitγ∈(0, 0.5)statt γ∈(0, 1)aufgerufen werden soll. Der Funktionskopf des Verfahrens sollte folgendermaßen aussehen:

function [xn] = cgnewt(x0,fgH,tol,maxit),

wobei wie immerx0der Startpunkt,fgHeine Funktion, die Funktionswert, Gradient und Hessematrix zurückliefert, toleine Abbruchtoleranz undmaxitdie maximale Anzahl durchzuführender Iterationen sein soll.

In jeder Iteration des Abstiegsverfahrens sollte die aktuelle Iteration, der Funktionswert, die Norm des Gradienten und die Schrittweite ausgegeben werden. Beim CG-Verfahren zur Bestimmung der Suchrichtung soll die Anzahl der benötigten Iterationen und das Restresiduum der Newtongleichung ausgegeben werden.

(b) Testen Sie Ihr Programm an den bereits bekannten Funktionen

f1(x1,x2) =x12+αx22, mit verschiedenenα≥1(z.B. mitα=10und Startwertx0= (10, 20)),

• der Rosenbrock-Funktion f2(x1,x2) =100(x2x21)2+ (1−x1)2und verschiedenen Startwertenx06= (1, 1), sowie der Funktion

f5(x1,x2) =x14−2x22+x24mit Startwertx0= (0.5, 0.5).

Als weiterer Test ist zudem ein etwas komplizierteres Problem verfügbar, dasMinimalflächenproblem:

minz

Z

p1+k∇z(x)k2dx, z=zbaufΩ.

Hier wird eine Funktionz:Ω→Rgesucht, die auf dem RandΩeines gegebenen GebietesΩmit einer gegebenen Funktionzbübereinstimmt.

Dieses Problem wird diskretisiert auf einem 100×100-Gitter berechnet. Um eine Lösung berechnen zu las- sen, laden Sie die Datei minsurf.zipvon der Veranstaltungshomepage herunter und kopieren Sie die Dateien runminsurfcgnewt.mund Fminsurf.min das Verzeichnis, in der auch die Funktioncgnewtliegt. Rufen Sie dort dannrunminsurfcgnewtinmatlabauf.

Zum Vergleich des CG- mit dem üblichen Newton-Verfahren, wie in der zweiten Rechnerübung implementiert, passen Sie den Funktionskopf Ihres dort programmierten Newton-Verfahrens auf folgendes an:

function [xn] = newt(x,fgH,tol,maxit).

Entpacken Sie auch die Datei runminsurfnewt.m aus dem Archiv minsurf.zip ins selbe Verzeichnis wie Ihr Newton-Verfahren, und rufen Sie die Funktion in Matlab auf.

(c) Vergleichen Sie die Ergebnisse, die Anzahl der Iterationen und die Laufzeit des Newton-CG-Verfahrens mit dem globalisierten Newton-Verfahren vom zweiten Rechnerübungsblatt.

Hinweis:Verwenden Sie hier diematlab-Befehletic,tocundcputime.

1

(2)

Algorithmus 1: Globalisiertes BFGS-Verfahren

Wähleγ∈(0, 0.5)undθ∈(γ, 1). Wähle einen Startpunktx0∈Rnund eine symmetrische, positiv definite Matrix

1

B0=H0−1∈Rn×n; fork=0, 1, . . . :do

2

iff(xk) =0then

3

STOP mit Ergebnisxk;

4

end

5

Berechnesk=−Bkf(xk);

6

Bestimme eine Schrittweiteσk>0nach der Powell-Wolfe-Regel;

7

Setzexk+1=xk+σksk;

8

BerechneBk+1=Hk−1+1nach dem inversen BFGS-Update

9

Bk+1=Bk+(dkBkyk)dkT+dk(dkBkyk)T

ykTdk −(dkBkyk)Tyk (ykTdk)2 dkdkT, mitdk=xk+1xkund yk=∇f(xk+1)− ∇f(xk)(siehe auch Skript);

end

10

Aufgabe R2 (Globalisiertes BFGS-Verfahren)

Implementieren Sie das globalisierte BFGS-Verfahren (Algorithmus 1) inmatlab.

Wählen Sie

γ=0.001, θ=0.9 und H−10 =I,

und verwenden Sie im Algorithmus, wie in den vorigen Rechnerübungen gelernt, eine relaxierte Abbruchbedingung an die Norm des Gradienten. Verwenden Sie die Funktion zur Bestimmung der Powell-Wolfe-Schrittweite vom zweiten Rechnerübungsblatt.

Testen Sie Ihr Verfahren an den Funktionen f1 und f2 aus der vorigen Aufgabe. Vergleichen Sie auch die Anzahl der Iterationen und die Laufzeit des BFGS-Algorithmus mit dem globalisierten- und dem CG-Newton-Verfahren für diese Funktionen.

Hausübung

Aufgabe H1 (Charakterisierung der Lösung des TR-Problems) (4 Punkte) SeiH∈Rn,nsymmetrisch undc∈Rn. Für die quadratische Funktionq:Rn→R,

q(s) =cTs+1 2sTHs, betrachten wir für∆>0das Trust-Region-Problem

minq(s) s.t.ksk2≤∆. (TP)

Zeigen Sie:

(a) Das Trust-Region-Problem (TP) besitzt eine Lösung.

(b) Falls für ein¯s∈Rneinλ≥0existiert, so dass die Bedingungen i. (H+λIs=−c,

ii. (H+λI)positiv semidefinit,

iii. (k¯sk2−∆)λ=0, d.h. es gilt entwederk¯sk2= ∆oderk¯sk2<∆undλ=0, erfüllt sind, so ist¯seine Lösung des Trust-Region-Problems (TP).

Hinweis:Betrachten Sie als Hilfe die Funktion˜q(s):=cTs+12sT(H+λI)s=q(s) +λ2ksk22.

Bemerkung:Wir werden noch sehen, dass die Bedingungen unter (b) tatsächlich auch notwendige Optimalitätsbedingun- gen sind.

Aufgabe H2 (Lösen des TR-Problems) (6 Punkte)

Wir betrachten nochmals das Problem TP aus Aufgabe H1, mit den gegebenen Werten∆ =p 2, c=

1

−1

und H= 0 1

1 0

.

2

(3)

(a) Geben Sie die notwendigen und hinreichenden Optimalitätsbedingungen aus H1 konkret an.

(b) Berechnen Sies(λ):=−(H+λI)−1c, wobeiλ >max{0,−λmin(H)}undp(λ):=ks(λ)k2.

(c) Bestimmen Sie die Optimallösung des Trust-Region-Problems. Zeichen Sie die Funktionenp(λ)−∆und p(λ)11 als Funktionen inλauf einem geeigneten Intervall. Was fällt Ihnen auf?

Aufgabe H3 (Beispiel zu Trust-Region-Modellen) (4 Punkte)

Sei f :R2→Rgegeben durch einen kleinen Bruder der Rosenbrock-Funktion, nämlich

f(x1,x2) =10(x2x21)2+ (1−x1)2. Das quadratische Modell dieser Funktion ist gegeben durch

q(s):=f(x) +∇f(x)Ts+1

2sT2f(x)s.

Zeichnen Sie jeweils die Höhenlinien des quadratischen Modells im Punkt x1 = (0,−1)T und x2= (0, 0.5)T (z.B. mit matlab) und fügen Sie die Trust Regions, die durch∆∈ {0.5, 1, 1.5, 2}gegeben sind, ein. Geben Sie anhand der Bilder an, wo sich die Lösung des jeweiligen TR-Problems befindet. Vergleichen Sie auch die tatsächlichen Höhenlinien von f und die Trust Regions umx2.

3

Referenzen

ÄHNLICHE DOKUMENTE

Finden Sie eine Riemannsche Metrik g, so dass das angegebene Gradientenverfahren genau dem Newtonverfahren zur Bestimmung einer Nullstelle von F entspricht. Beweisen Sie, dass

Beachten Sie, dass die Schrittweiten-Bestimmung nach Armijo für diesen Algorithmus mit γ ∈ (0, 1/2) statt γ ∈ (0, 1) aufgerufen werden soll (dies garantiert den Übergang zu

wobei wie immer x0 der Startpunkt, fgH eine Funktion, die Funktionswert, Gradient und Hessematrix zurückliefert, tol eine Abbruchtoleranz und maxit die maximale Anzahl

(b) Legen Sie nun eine weitere Matlab-Datei runf1.m an, in der Sie alle benötigten Schritte zum Aufruf und der Visua- lisierung Ihres Programms für die Funktion f 1

Beachten Sie, dass die Schrittweiten-Bestimmung nach Armijo für diesen Algorithmus mit γ ∈ (0, 1/2) statt γ ∈ (0, 1) aufgerufen werden soll (dies garantiert den Übergang zu

Zeigen Sie ausserdem, dass es für jeden isolierten Optimalpunkt des Problems Lagrange-Multiplikatoren gibt, so dass die hinreichende Bedingung zweiter Ordnung erfüllt ist. (c)

Vergleichen Sie die Ergebnisse, die Anzahl der Iterationen und die Laufzeit dieses Programms mit denen des inexakten CG-Newton-Verfahrens und des globali- sierten Newton-Verfahrens

Wir wenden jetzt das Störungslemma für Operatoren an, um zu zeigen, dass B k+1 invertierbar ist.