• 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 2012/13

Prof. Dr. Irwin Yousept 13.12.2012

Hannes Meinlschmidt

Rechnerübung

Aufgabe R1 (Inexaktes CG-Newton-Verfahren)

(a) Implementieren Sie das allgemeine Abstiegsverfahren in der Version von Übungsblatt 7, Aufgabe G2 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 neuen Testfunktion

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 GebietesΩmit einer gegebenen Funktion zbü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 Startpunkt x0∈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)dk T+dk(dkBkyk)T

yk Tdk −(dkBkyk)Tyk (yk Tdk)2 dkdk T, mitdk=xk+1xkund yk=∇f(xk+1)− ∇f(xk), vgl. Vorlesung;

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 (Trust-Region-Modelle) (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.

Aufgabe H2 (Cauchy-Punkt) (5 Punkte)

In der Vorlesung wurde der Cauchy-Punktals Näherungslösung für das Trust-Region-Problem eingeführt. Der Cauchy- Punktscim Punktx∈Rnsoll dabei das folgende Minimierungsproblem lösen:

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

2sTHs s.t. s=−tf(x)

k∇f(x)k, t∈[0,∆], mit∆>0, f :Rn→Rzwei mal stetig differenzierbar undH∈Rn×nsymmetrisch.

2

(3)

(a) Wir betrachten zunächst die Funktion

φ:R→R:t7→αt+βt2 mitα,β∈Rundα <0.

Zeigen Sie, dass das Problem

minφ(t) s.t. 0≤tτ

für jedesτ >0genau eine Lösungtbesitzt, und dass folgende Abschätzung gilt:

φ(t)≤ α 2min

|α|

2|β|,τ

(1)

(dabei ist fürβ=0der erste Teil im Minimum als+∞zu lesen).

(b) Wenden Sie nun Aufgabenteil (a) nun mit einer geeigneten Funktionφund geeignetemτ >0an, um den Cauchy- Punkt zu berechnen. Zeigen Sie zudem:

q(sc)≤ −k∇f(x)k

2 min

k∇f(x)k kHk ,∆

.

Aufgabe H3 (Lösen des Trust-Region-Problems) (6 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.ksk ≤∆. (TP)

In der nächsten Vorlesung werden wir folgende Charakterisierung der Lösung des Trust-Region-Problems beweisen:

Satz. Der Vektor¯sistgenau danneine Lösung des Trust-Region-Problems(TP), falls einλ≥0existiert, so dass die Bedin- gungen

(a)sk ≤∆, (b) (H+λIs=−c,

(c) (H+λI)positiv semidefinit, und

(d) (k¯sk −∆)λ=0, d.h. istλ >0, so mussk¯sk= ∆gelten bzw. istsk<, dann ist schonλ=0 erfüllt sind.

Wir betrachten nun Problem TP mit den gegebenen Werten∆ =p 2, c=

1

−1

und H= 0 1

1 0

.

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

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

(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?

3

Referenzen

ÄHNLICHE DOKUMENTE

Andreas Prohl Cedric Beschle.

Andreas Prohl Cedric Beschle.

Andreas Prohl Cedric Beschle.

Andreas Prohl Cedric Beschle.

fast tangential zu den Höhenlinien der Funktion, verlaufen, so kann es auch mit zulässigen Schrittweiten passieren, dass das Abstiegsverfahren nicht gegen einen stationären

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

Dieses erwartet eine .mod Datei (Zusatzdaten und -befehle können als Data File bzw. Command File übergeben werden, das werden wir aber nicht brauchen).. Wählen Sie 3 Solver aus