NICHTLINEARE OPTIMIERUNG

Werbung
Fakultät für Mathematik
Universität Duisburg-Essen
Christian Clason, Ute Dima
Blatt 7
ws 2015/16
NICHTLINEARE OPTIMIERUNG
Hausaufgaben (Bearbeitung bis 14.12.2015)
H 7.1 Sherman–Morrison–Woodbury-Formel
a) Gegeben seien die Matrizen U, V ∈ Rn×m und die invertierbaren Matrizen A ∈ Rn×n und S ∈
Rm×m . Zeigen Sie, dass die Matrix M := A + USV T genau dann invertierbar ist, wenn W :=
S−1 + V T A−1 U invertierbar ist, und dass im Falle der Invertierbarkeit von M die folgende Identität
gilt:
M−1 = A−1 − A−1 UW −1 V T A−1 .
b) Seien nun u, v ∈ Rn und A ∈ Rn×n invertierbar. Zeigen Sie, dass M := A + uvT invertierbar
genau dann ist, wenn 1 + vT A−1 u 6= 0 gilt, und dass in diesem Fall die folgende Identität (Sherman–
Morrison-Formel) gilt:
−1
M
A−1 uvT
1 + vT A−1 u
= I−
A−1 .
c) Sei H ∈ Rn×n invertierbar und H+ das symmetrische Rang 1 (SR1) Update:
H+ = H +
(y − Hs)(y − Hs)T
.
(y − Hs)T s
Leiten Sie mit Hilfe von (b) die dazu inverse Aufdatierungsformel B+ := H−1
+ her.
H 7.2 Inverses DFP-Update
Leiten Sie das inverse DFP-Update her,
B+ = B +
ssT
(By)(By)T
−
.
sT y
yT By
H 7.3 Beispiel für das Broyden-Verfahren
Die Funktion F :
R2
→
R2
sei durch F(x1 , x2 ) =
x1
x2 + x22
gegeben. Diese Funktion hat die Nullstelle
x∗ = (0, 0)> .
a) ZeigenSie, dass das
Broyden-Verfahren mit dem Startpunkt x0 = (0, δ)> und der Startmatrix
1+ε 0
durchführbar ist und die Folge {xk } superlinear gegen x∗ konvergiert, sofern
0
1
|ε| < 1 und |δ| genügend klein ist.
A0 =
b) Beweisen Sie, dass die Folge {Ak } für ε 6= 0 nicht gegen die Jacobi-Matrix F 0 (x∗ ) konvergiert.
Hinweis: Zeigen Sie, dass
k
x =
0
δk
1+ε
0
und Ak =
0
1 + γk
für k = 0, 1, . . . mit gewissen Zahlen δk und γk sowie
δk+1
= 0,
k→∞ δk
lim
gilt.
lim γk = 0,
k→∞
lim kAk − F 0 (x∗ )kF = |ε|
k→∞
Programmieraufgaben (Bearbeitung bis 21.12.2015, Besprechung in der Übung)
P 7.1 Quasi-Newton-Verfahren
Implementieren Sie das Quasi-Newton-Verfahren zur Minimierung einer Funktion f aus der Vorlesung.
Verwenden Sie eine Liniensuche, die die Powell–Wolfe-Regel benutzt, und vergleichen Sie die inversen SR1-,
DFP- und BFGS-Updates. Wählen Sie als Startmatrix B0 jeweils die Einheitsmatrix I. Um zu verhindern,
dass das Verfahren mit SR1-Update fehlschlägt, modifizieren Sie den Matrix-Update wie folgt:
Bk+1 =
B+
Bk
falls yTk (sk − Bk yk ) > ρkyk kksk − Bk yk k,
sonst
für ein ρ < 1 (zum Beispiel ρ = 10−8 ). Alternativ können Sie das Update überspringen, falls yTk sk 6 0 ist.
Sie sollten Ihre Implementierung anhand der Rosenbrock-Funktion testen (mit den Startwerten aus P 3.1).
Geben Sie jeweils die Norm des Gradienten in jeder Iteration graphisch aus, sowie am Ende den berechnete
Minimierer und die dafür benötigte Anzahl an Iterationen.
Als Abbruchkriterium können Sie k∇f(xk )k < 10−6 oder k > 500 wählen, die Parameter in der Liniensuche
sollten Sie auf γ = 10−4 und η = 0.9 setzen.
Herunterladen