Kapitel 8 Penalty- und Augmented Lagrangian-Verfahrenmelenk/teach/optimierung_WS1516/chap8_9.pdf ·...

21
Kapitel 8 Penalty- und Augmented Lagrangian-Verfahren Ziel: ¨ uberf¨ uhre Minimierung unter Nebenbedingungen in eine Minimierungsauf- gabe ohne Nebenbedingungen Techniken: 1. (quadratische) Strafverfahren: einfachste Klasse, typischerweise glatte un- restringierte Minimierungsaufgabe, aber schlecht konditioniert, wenn der Strafparameter →∞ 2. exakte Strafverfahren: Strafparameter bleibt endlich. Allerdings: unrestrin- gierte Aufgabe nicht C 2 . Genaue Wahl der Stafparameters nicht ganz klar. 3. augmented Lagrangian-Verfahren: s.u. 8.1 Quadratische Strafverfahren Betrachte Minimiere f unter den Nebenbedingungen h i ( x) = 0, i = 1,..., p. (8.1) Bemerkung 8.1 : Ungleichungsnebenbedinugungen g i ( x) 0 k¨ onnen als Gleichungsnebenbedin- gung max{0, g i ( x)} = 0 formuliert werden. Damit reicht es, (8.1) zu betrachten. Allerdings sind Funktio- nen von der Form x max{0, g i ( x)} typischerweise nicht besser als lipschitzste- tig. 80

Transcript of Kapitel 8 Penalty- und Augmented Lagrangian-Verfahrenmelenk/teach/optimierung_WS1516/chap8_9.pdf ·...

Kapitel 8

Penalty- und Augmented

Lagrangian-Verfahren

Ziel: uberfuhre Minimierung unter Nebenbedingungen in eine Minimierungsauf-

gabe ohne Nebenbedingungen

Techniken:

1. (quadratische) Strafverfahren: einfachste Klasse, typischerweise glatte un-

restringierte Minimierungsaufgabe, aber schlecht konditioniert, wenn der

Strafparameter→ ∞

2. exakte Strafverfahren: Strafparameter bleibt endlich. Allerdings: unrestrin-

gierte Aufgabe nicht C2. Genaue Wahl der Stafparameters nicht ganz klar.

3. augmented Lagrangian-Verfahren: s.u.

8.1 Quadratische Strafverfahren

Betrachte

Minimiere f unter den Nebenbedingungen hi(x) = 0, i = 1, . . . , p. (8.1)

Bemerkung 8.1:

Ungleichungsnebenbedinugungen gi(x) ≤ 0 konnen als Gleichungsnebenbedin-

gung

max{0, gi(x)} = 0

formuliert werden. Damit reicht es, (8.1) zu betrachten. Allerdings sind Funktio-

nen von der Form x 7→ max{0, gi(x)} typischerweise nicht besser als lipschitzste-

tig.

80

Das (quadratische) Strafverfahren besteht nun darin, die Funktion

Q(x;α) := f (x) +α

2

p∑

i=1

|hi(x)|2 (8.2)

fur gewahltes α > 0 zu minimieren.

Algorithmus 8.2:

[Penalty-Verfahren (SUMT= Sequential Unconstrained Minimization Technique)]

% input x0, α0 > 0, k := 0

while (Abbruchbed. nicht erfullt) do{

• Bestimme Minimierer xk ∈ Rn von Q(x;αk)

• if hi(xk) = 0 fur alle i: STOP

• wahle αk+1 > αk. Setze k := k + 1}

Algorithmus 8.2 konvergiert:

Satz 8.3:

Seien f , hi ∈ C(Rn;R) und αk → ∞. Sei die zulassige Menge nicht leer. Dann ist

jeder Haufungspunkt der von Alg. 8.2 erzeugen Folge eine Losung von (8.1).

Beweis: Man bemerke, daß die Existenz von (globalen) Minimierern von Q(·;α)

gefordert wird. Eigentlicher Beweis: Ubung. Siehe z.B. [NW06, Thm. 17.1], [GK01,

Satz 5.6]. 2

Alg. 8.2 ist idealisiert, da das globale Minimum xk in jedem Schritt gefunden wird.

Realistischer ist es anzunehmen, daß Alg. 8.2 fur eine Nullfolge (τk)k eine Folge

(xk)k erzeugt, die der Bedingung

‖∇Q(xk;αk)‖ ≤ τk (8.3)

genugt. Es gilt dann:

81

Satz 8.4:

Seien f , hi ∈ C1. Gelte τk → 0 und αk →∞. Sei (xk)k eine Folge, die (8.3) erfullt.

Sei x∗ Haufungspunkt von (xk)k. D.g.:

(i) Falls x∗ nicht zulassig ist, dann ist es ein Stationarpunkt von∑

i |hi(x)|2 (d.h.

Gradient verschwindet).

(ii) Falls die ∇hi(x∗) l.u. sind, dann ist x∗ ein KKT-Punkt. Weiters ist fur jede

Teilfolge (xk′)k′ mit xk′ → x∗

limk′αk′hi(xk′) = µ∗i , i = 1, . . . , p, (8.4)

wobei µ∗i

die zum KKT-Punkt gehorigen Lagrangemultiplikationen sind.

Beweis: 1. Schritt: Aus

∇xQ(x;αk) = ∇ f (x) + αk

i

hi(x)∇hi(x) (8.5)

folgt mit (8.3)

‖∑

i

hi(xk)∇hi(xk)‖ ≤ α−1k

[‖∇ f (xk)‖ + ‖Q(xk;αk)‖

]≤ α−1

k

[τk + ‖∇ f (xk)‖

].

Sei (xk′) TF mit xk′ → x∗. Dann folgt wegen αk → ∞ und τk → 0

0 =∑

i

hi(x∗)∇hi(x∗). (8.6)

Damit ist x∗ Stationarpunkt von x 7→∑

i |hi(x)|2.

2. Schritt: Seien die∇hi(x∗) l.u.. Dann impliziert (8.6), daß hi(x∗) = 0, i = 1, . . . , p,

d.h. x∗ ist zulassiger Punkt. Um zu zeigen, daß x∗ KKT-Punkt ist, zeigen wir, daß

die µ∗i

aus (8.4) existieren und die Bedingung

∇ f (x∗) +∑

i

µ∗i∇hi(x∗) = 0 (8.7)

erfullen. Definiere die Matrix

A(x)⊤ := (∇hi(x))i=1,...,p (8.8)

und den Vektor µk := αkh(xk), wobei h(x) = (h1(x), . . . , hp(x))⊤. Aus (8.5) folgt

A(xk)⊤µk= ∇xQ(xk;αk) − ∇ f (xk) ‖Q(xk;αk)‖ ≤ τk.

82

Fur xk hinreichend nahe bei x∗ hat nach Annahme A(xk)⊤ vollen Rang. Fur diese

k gilt dann

µk= (A(xk)A(xk)⊤)−1A(xk)

[∇xQ(xk;αk) − ∇ f (xk)

]

und damit

limk′µk′= µ∗ := −(A(x∗)A(x∗)⊤)−1A(x∗)∇ f (x∗).

Aus

∇ f (xk′) +∑

i

µk′

i︸︷︷︸→µ∗

i

∇hi(xk′) = ∇xQ(xk′ ;αk′)→ 0

folgt schließlich die gewunschte Beziehung

∇ f (x∗) + A(x∗)⊤µ∗ = 0.

2

Ein Nachteil von (quadratischen) Strafverfahren ist, daß die entstehenden Ma-

trizen schlecht konditioniert sind, wenn der Strafparameter αk groß ist (siehe

Ubung 8.5). Dies laßt langsame Konvergenz von Newtonartigen (oder CG-artigen)

Verfahren erwarten. Dies deshalb, weil Newtonartige Verfahren darauf basieren,

daß ein quadratisches Modell (der Lagrangefunktion) lokal eine gute Approxima-

tion ist. Dies wird durch den Strafparameter gestort.

Die folgende Ubung illustriert dies:

Ubung 8.5:

Sei n > p. Seien f , hi ∈ C2(Rn;R). Zeigen Sie: Mit der Matrix A(x) aus (8.8) ist

∇2xxQ(x;αk) = ∇

2 f (x) + αk

i

hi(x)∇2hi(x) + αkA(x)⊤A(x).

Uberlegen Sie sich, daß fur x nahe x∗ aus den Aussagen von Satz 8.4 folgt, daß

∇2 f (x)+αk

∑i hi(x)∇2hi(x) eine gut konditionierte Matrix ist (unabhangig von k).

Uberlegen Sie sich, daß A(x)⊤A(x) eine Rang-p-Matrix ist.

8.2 Exakte Strafverfahren

Ziel: Strafverfahren, bei denen nicht αk →∞ notig ist. Weiters sollten Minimierer

des ursprunglichen Problems Minimierer des Straffunktionals sein.

Wir betrachten das allgemeine Problem

Min. f unter N.B. gi(x) ≤ 0, i = 1, . . . ,m, h j(x) = 0, j = 1, . . . , p.

(8.9)

83

Die zugehorige ℓ1-Straffunktion ist

Φ1(x;α) := f (x) + α

i

[gi(x)]+ +∑

j

|h j(x)|

, (8.10)

wobei gi(x)+ := max{0, gi(x)} gesetzt wurde.

Bemerkung 8.6:

Offensichtliche Verallgemeinerungen sind die ℓq-Strafverfahren fur q ∈ [1,∞]:

Φq(x;α) := f (x) + α

(∑i max{0, gi(x)}q +

∑j |h j(x)|q

)1/qq ∈ [1,∞)

max{0, g1(x), . . . , gm(x), |h1(x)|, . . . , |hp(x)|} q = ∞.

Definition 8.7 (exakte Strafverfahren):

Ein Straffunktional Φ(·, ;α) heißt exakt in einem lokalen Minimum x∗ von (8.9),

wenn es ein α > 0 gibt, so daß fur alle α > α der Punkt x∗ auch ein (lokales)

Minimum von x 7→ Φ(x;α) ist.

Bemerkung 8.8:

Es wird in [GK01, Satz 5.10] gezeigt, daß wenn Φq exakt ist fur ein q ∈ [1,∞],

dann ist Φq fur jedes q ∈ [1,∞] exakt.

Das ℓ1-Strafverfahren ist zumeist exakt:

Satz 8.9:

Sei x∗ ein Minimierer von (8.9), an dem LICQ gilt. Seien λ∗i und µ∗i die zugehorigen

Lagrangemultiplikatoren. D.g.: x∗ ist ein Minimierer von Φ1(·, ;α) fur alle

α ≥ α := maxi, j{λ∗i , |µ

∗j |}

Beweis: Siehe [GK01, Satz 5.14], [NW06, Thm. 17.3]. Wir zeigen den Satz fur

den Fall eines konvexen Problems. Setze

L(x, λ, µ) := f (x) +∑

i

λigi(x) +∑

j

µ jh j(x).

84

Es gilt (Satz 5.24) die Sattelpunkteigenschaft

L(x∗, λ∗, µ∗) ≤ L(x, λ∗, µ∗) ∀x. (8.11)

Es ist:

Φ1(x∗;α) = f (x∗) + α

i

max{0, gi(x∗)} +∑

j

|h j(x∗)|

x∗ zulassig= f (x∗)

KKT= f (x∗) +

i

λ∗i gi(x∗)︸ ︷︷ ︸=0

+

j

µ∗j h j(x∗)︸︷︷︸=0

= L(x∗, λ∗, µ∗)

Sattelpunkt

≤ L(x, λ∗, µ∗) = f (x) +∑

i

λ∗i︸︷︷︸≥0

gi(x) +∑

j

µ∗jh j(x)

≤ f (x) +∑

i

λ∗i max{0, gi(x)} +∑

j

|µ∗j ||h j(x)|

≤ f (x) + α∑

i

max{0, gi(x)} +∑

j

|h j(x)|

≤ f (x) + α∑

i

max{0, gi(x)} +∑

j

|h j(x)| = Φ1(x, α),

d.h. x∗ ist ein globales Minimum von Φ1(·;α). 2

Es gilt auch ein partielle Umkehrung von Satz 8.9. Obwohl x 7→ Φ1(x;α) nicht

differenzierbar ist, hat es doch Richtungsableitungen: fur jede Richtung p ∈ Rn \

{0} existiert

D(Φ1(x;α), p) := limt→0+

Φ1(x + tp;α) − Φ1(x;α)

t

Ubung 8.10:

Sei h ∈ C1(Rn;R) und p , 0. Dann ist die Richtungsableitung

D(|h(x)|, p) =

∇h(x) · p h(x) > 0

−∇h(x) · p h(x) < 0

|∇h(x) · p| h(x) = 0.

Rechnen Sie weiters nach: fur a, b gilt max{a, b} = 12

[(a + b) + |a − b|].

Definition 8.11 (Stationarpunkte von Φ1):

x ist ein Stationarpunkt von Φ1(·, ;α), falls

D(Φ1(x;α), p) ≥ 0 ∀p ∈ Rn \ {0}.

85

Satz 8.12:

Sei x ein Stationarpunkt von Φ1(·;α). D.g.: Falls x ein zulassiger Punkt ist, dann

existieren Lagrangemultiplikatoren, so daß die KKT-Bedingungen gelten.

Beweis: Sei A(x) die Menge der Indizes der aktiven Ungleichungen. Fur jedes

p ∈ Rn \ {0} ist, weil x zulassig ist,

D(Φ1(x;α), p) = ∇ f (x) · p + α∑

i∈A(x)

(∇gi(x) · p)+ + α∑

j

|∇h j(x) · p|

Fur d ∈ Tlin(x) ist∑

j

|∇h j(x) · d| +∑

i∈A(x)

(∇gi(x) · d)+ = 0.

Damit folgt aus der Bedingung D(Φ1(x;α), d) ≥ 0, daß

∇ f (x) · d ≥ 0 ∀d ∈ Tlin(x).

Genau wie im Beweis von Satz 5.14 folgt dann mittels des Farkas-Lemmas die

Existenz von Lagrangemultiplikatoren. 2

Die Funktion Φ1 ist nicht differenzierbar. Das ist typisch fur exakte Penaltyfunk-

tionen:

Satz 8.13:

Betrachte ein Optimierungsproblem der Form

Φ(x;α) := f (x) + αr(x),

wobei r mit der zulassige Menge X die Bedingungen

r(x) ≥ 0 ∀x ∈ Rn,

r(x) = 0⇐⇒ x ∈ X

erfullt. D.g.: Sei x∗ ein lokales Minimum des Optimierungsproblems min{ f (x) | x ∈

X} und ∇ f (x∗) , 0. Sei Φ exakt bei x∗. Dann ist r nicht bei x∗ differenzierbar.

Beweis: Annahme: r ist bei x∗ differenzierbar. Weil Φ als exakt angenommen

wird, gilt fur α1 , α2 hinreichend groß, daß x∗ Stationarpunkt von Φ(·;α1) und

Φ(·;α2) ist. Damit:

∇ f (x∗) + α1∇r(x∗) = ∇xΦ(x∗;α1) = 0 = ∇xΦ(x∗;α2)∇ f (x∗) + α2∇r(x∗).

86

Wegen α1 , α2 folgt ∇r(x∗) = 0 und damit ∇ f (x∗) = 0, was im Widerspruch zur

Voraussetzung ist. 2

8.3 Merit functions, Filter, Maratos-Effekt

Penaltyfunktionen spielen auch eine wichtige Rolle bei der Definition von Ab-

bruchkriterien und Globalisierungsstrategien. Bei unrestringierten Optimierungs-

aufgaben wurde oft die Schrittweite so gewahlt, daß ein “hinreichender” Abstieg

fur das “naturliche” Zielfunktional f erzielt wird. Bei restringierten Minimie-

rungsaufgabe kann diese Aufgabe eine Straffunktion ubernehmen, z.B.

Φ1(x, α) = f (x) + α

i

[gi(x)]+ +∑

j

|h j(x)|

,

wobei der Parameter α fest, aber hinreichend groß gewahlt ist. Man beachte, daß

Φ1 eine exakte Straffunktion ist (Satz 8.9), so daß die gesuchte Losung tatsachlich

beim Minimum von Φ1 ist.

Etwas verbluffend ist der sog. Maratos-Effekt: Es kann passieren, daß die Forde-

rung nach Abstieg fur eine Bewertungsfunktion schnelle (quadratische oder su-

perlineare) Konvergenz verhindet.

Beispiel 8.14:

Betrachte

minimiere f (x1, x2) := 2(x21 + x2

2 − 1) − x1 unter der N.B. x21 + x2

2 − 1 = 0

Die Losung ist x∗ = (1, 0)⊤ mit zugehorigem Lagrangemultiplikator µ = 3/2. Sei

xk= (cos θ, sin θ)⊤ (θ , 0). Der Punkt xk ist zulassig. Betrachte einen Algorith-

mus, der eine Schritt

pk=

(sin2 θ

− sin θ cos θ

)

vorschlagt, welcher auf

xk+1= xk+ pk

=

(cos θ + sin2 θ

sin θ(1 − cos θ)

),

fuhrt (Skizze with in [NW06, p. 441] pk ist Tangential an der constraint). Man

rechnet nach:

‖xk+1 − x∗‖2 = 2 sin2(θ/2), ‖xk − x∗‖2 = 2| sin θ/2|,

87

so daß‖xk+1 − x∗‖2

‖xk − x∗‖22

=1

2,

d.h. quadratische Konvergenz. Jedoch:

f (xk+1) = sin2 θ − cos θ > − cos θ = f (xk)

h(xk+1) = sin2 θ > h(xk) = 0.

Somit wurde dieser Schritt von Φ1 abgelehnt, weil sowohl f als auch h vergroßert

werden. Man beachte, daß dies kein “praasymptotisches” Verhalten ist: Fur jedes

(kleine) θ > 0 wurde es zur Ablehnung kommen.

Bemerkung 8.15:

Anstelle von Bewertungsfunktionen kann man auch mit Filtern arbeiten, um zu

bewerten, ob hinreichend viel Abstieg gemacht wurden. Siehe [NW06, Sec. 15.4]

fur Details.

8.4 Augmented Lagragian

8.4.1 Gleichungsrestringierte Probleme

Ziel: Unrestringierte Minimierungen mit glatten Funktionalen, bei denen der Straf-

parameter nicht gegen∞.

Wir betrachten wieder die Minimierungsaufgabe (8.1). Nach Satz 8.4 kann man

fur die Iterierten xk die Beziehung h j(xk) ≈ µ∗j/αk erwarten. Um die Zulassigkeits-

bedingung h j(x∗) = 0 zu erfullen muß deshalb αk → ∞. Um nicht αk → ∞wahlen

zu mussen, fuhren wir die augmentierte Lagrangefunktion

LA(x, µ;α) := f (x) +

p∑

j=1

µ jh j(x) +1

p∑

j=1

|h j(x)|2 (8.12)

ein. Die Funktion ist so glatt wie f und h j es zulassen.

Alg. 8.16 unten wird fur festes µk ein Minimierer xk+1 von LA(·, µk;α) gesucht

und anschließend µk zu µk+1 aufdatiert. Um die Updateformel fur µ zu motivieren

betrachten wir die Minimierung von LA(·, µk;α):

0!= ∇xLA(xk+1, µk;α) = ∇ f (xk+1) +

j

µkj∇h j(xk+1) + α

j

h j(xk+1)∇h j(xk+1)

88

In einem KKT-Punkt x∗ des ursprunglichen Problems mit Lagrangemultiplikator

µ∗ gilt

0 = ∇xL(x∗, µ∗) = ∇ f (x∗) +∑

j

µ∗j∇h j(x∗)

Nimmt man xk+1 ≈ x∗ an, so erkennt man, daß µkj+ α∇h j(xk+1) ≈ µ∗

jsein sollte.

Das motiviert die “Hestenes-Powell”-Updateformel

µk+1j := µk

j + αh j(xk+1). (8.13)

Wir erhalten

Algorithmus 8.16 (augmented Lagrangian method—equality constraints):

% input µ0, τ0 > 0, x0s

for k = 0, 1, . . . , do{

• Mittels Startwert xks bestimme (approximativen) Minimierer von LA(·, µk;αk)

s.d. ‖∇xLA(xk, µk;αk)‖ ≤ τk

• if (xk erfullt Abbruchbedingung) stop.

• Definiere µk+1 mittels (8.13)

• wahle Penaltyparameter αk+1 ≥ αk.

• wahle Startpunkt xk+1s .

• wahle τk+1

}

Das folgende Resultat untermauert, warum Alg. 8.16 auch fur vergleichsweise

kleine Werte von αk funktionieren sollte:

Satz 8.17:

Sei (x∗, µ∗) KKT-Punkt von (8.1). Es sei ∇2xL(x∗, µ∗) positiv definit1 auf {d | ∇h j(x∗)·

d = 0, j = 1, . . . , p}. Dann existiert ein α > 0, so daß x∗ fur jedes α ≥ α ein

striktes lokales Minimum von x 7→ LA(x, µ∗;α) ist.

1diese Bedingung ist in der Lit. bekannt als “sufficicient second order condition”

89

Beweis: Wir zeigen: fur α ≥ α gilt:

∇xLA(x∗, µ∗;α) = 0 und ∇2xxLA(x∗, µ∗;α) ist positiv definit. (8.14)

1. Schritt: Aus der KKT-Bedingungen, welche am Punkt (x∗, µ∗) erfullt sind, folgt,

weil x∗ zulassig ist,

∇xLA(x∗, µ∗;α) = ∇ f (x∗) +∑

j

(µ∗j + α h j(x∗)︸︷︷︸=0

)∇h j(x∗) = ∇xL(x∗, µ∗)KKT= 0

2. Schritt: Mit der ublichen Langrangefunktion L ist

∇2xxLA(x, µ;α) = ∇2

xxL(x, µ) + α

j

h j(x)∇2h j(x) + ∇h j(x)∇h j(x)⊤

Mit der Matrix A = (∇h1(x∗), . . . ,∇hp(x∗))⊤ ergibt sich

∇2xxLA(x∗, µ∗;α) = ∇2

xxL(x∗, µ∗) + αA⊤A

Falls ∇2xxLA(x∗, µ∗;α) nicht positiv definit ware fur hinreichend große α, dann gabe

es eine Folge (wk)k mit ‖wk‖ = 1 und

0 ≥ wk · ∇2xxLA(x∗, µ∗; k)wk

= wk · ∇2xxL(x∗, µ∗)wk

+ k‖Awk‖2. (8.15)

Damit

‖Awk‖2 ≤ −1

kwk · ∇2

xxL(x∗, µ∗)wk → 0 fur k → ∞.

Weil die Einheitskugel kompakt ist, konvergiert also eine TF wk′ → w mit ‖w‖ = 1

und Aw = 0. Aus (8.15) schließen wir ebenfalls

0 ≥ −k′‖Awk′‖2 ≥ wk′ · ∇2xxL(x∗, µ∗)wk′ → w · ∇2

xxL(x∗, µ∗)w.

Dies zusammen mit Aw = 0 widerspricht der positiven Definitheitsannahme an

∇2xxL(x∗, µ∗). 2

8.4.2 UngleichungsnebenbedingungenBemerkung 8.18:

Wir folgen [GK01, Abschnitt 5.4.2]—alternative Zugange finden sich [NW06, Sec. 17.4].

Wir schreiben das Minimierungsproblem (8.9) als

Min. f unter N.B. h j(x) = 0, j = 1, . . . , p, gi(x)+s2i = 0 i = 1, . . . ,m.

(8.16)

90

Die zugehorige Augmented Lagrangian Funktion ist

LA(x, s, µ, λ;α) = f (x)+µ⊤h(x)+1

2α‖h(x)‖2+

m∑

i=1

λi(gi(x)+s2i )+

1

2α∑

i

(gi(x)+s2i )2

Das Vorgehen bei Gleichheitsbedingungen ist, die Funktion LA bei festem µ, λ zu

minimieren. Es stellt sich heraus, daß fur festes x die Minimierung bzgl. s explizit

moglich ist: Minimierung von

s 7→ LA(x, s, µ, λ)

ist aquivalent dazu, fur jedes i

si 7→ λi(gi(x) + s2i ) +

1

2α∑

i

(gi(x) + s2i )2

zu minimieren. Die quadratrische Funktion

z 7→ λi(gi(x) + z) +1

2α∑

i

(gi(x) + z)2

ist konvex. Der Minimierer (Bild!) unter der NB z ≥ 0 ist

z∗i := max

{0,−λi

α+ gi(x)

},

was auf

s∗i =

(max

{0,−λi

α+ gi(x)

})1/2

fuhrt. Setzt man diese s∗i in LA(x, s, µ, λ;α) ein, so ergibt sich

LA(x, µ, λ;α) := LA(x, s∗, µ, λ;α)

= f (x) + µ⊤h(x) +1

2α‖h(x)‖2

+

i

λi

(gi(x) +max{0,−

λi

α+ gi(x)}

)+

1

2α∑

i

(gi(x) +max{0,−

λi

α+ gi(x)}

)2

= · · · = f (x) + µ⊤h(x) +1

2α‖h(x)‖2 +

1

i

(max{0, λi + αgi(x)})2− λ2

i

Dies ist die augmented Lagrangefunktion, die man in Algorithmus 8.16 verwen-

den wird. Die Aufdatierungsformeln werden durch Vergleich von ∇xL mit ∇xLA

motiviert:

µk+1 := µk+ αh(xk)

λk+1i := max{0, λk

i + αgi(xk+1)}, i = 1, . . . ,m.

91

Kapitel 9

Quadratische Programme

Betrachte:

Min. f (x) :=1

2x⊤Qx + c⊤x unter N.B. (9.1a)

b⊤j x = β j, j = 1, . . . , p, (9.1b)

a⊤i x ≤ αi, i = 1, . . . ,m. (9.1c)

fur eine symmetrische Matrix Q.

Bemerkung 9.1:

Quadratische Programme treten u.a. als Teilprobleme bei SQP auf.

Ubung 9.2:

Die KKT-Bedingungen sind:

Qx + A⊤λ + B⊤µ = −c (9.2a)

λ ≥ 0 (9.2b)

λ⊤(Ax − α) = 0, (9.2c)

Ax − α ≤ 0, (9.2d)

Bx − β = 0, (9.2e)

wobei

B =

b⊤1...

b⊤p

, A =

a⊤1...

a⊤m

(9.3)

92

einige Techniken:

1. nur Gleichheitsbedingungen: Lose KKT-Bedingungen

2. “aktive Mengen” Strategien

3. interior point methods

4. gradient projection methods (insb. wenn nur Box constraints vorliegen)

9.1 Techniken fur Gleichungsrestriktion

Im Fall, daß nur Gleichungsrestriktionen vorliegen, d.h. man (9.1a), (9.1b) be-

trachtet, versucht man, die KKT-Bedingungen zu losen, welche ein LGS (siehe

Ubung 9.3) sind. Bei kleinen Problemen direkt, bei großen Problemen iterativ.

Naheres: [NW06, 16.1–16.3].

Ubung 9.3:

Zeigen Sie: die KKT-Bedingungen fur das gleichungsrestringierte Optimierungs-

problem (9.1a), (9.1b) ist(

Q B⊤

B 0

) (x∗

µ∗

)=

(−c

β

), (9.4)

wobei B ∈ Rp×n gegeben ist durch (9.3).

Ubung 9.4:

Zeigen Sie, daß (9.4) eindeutig losbar ist, wenn Q positiv definit ist und B vollen

(Zeilen-)Rang hat (d.h. die Gradienten der NB sind l.u.).

9.2 Aktive Mengen Strategien

Beobachtung: falls die aktiven Indizes A(x∗) am KKT-Punkt bekannt sind, dann

ist (9.1) ein gleichungsrestringiertes Problem, welches gelost werden kann. Glei-

chungsrestriktionen sind einfacher handhabbar als Ungleichungsrestriktionen.

Idee: Erzeuge Folge von gleichungsrestringierten Problemen, wobei die Index-

mengenWk (“working set”) die Gleichungsnebenbedingungen darstellen.

wesentliche Bedingung: Die Vektoren ai, i ∈ Wk, b j, j = 1, . . . , p sind fur alle

(relevanten) k l.u.

Vorgehen:

93

1. geg. zulassiges xk undWk, so daß xk die NB aTi

xk= αi, i ∈ Wk erfullt.

2. Bestimme eine Suchrichtung ∆xk, indem ∆xk 7→ f (xk+∆xk) unter den Glei-

chungsnebenbedingungen b⊤j (xk+∆xk) = β j und aT

i (xk+∆xk) = αi, i ∈ Wk

minimiert wird. D.h.: ∆xk ist die Losung von:

Minimiere1

2zT Qz + g⊤k z, gk := Qxk

+ c (9.5a)

bTj z = 0 j = 1, . . . , p, (9.5b)

aTi z = 0 i ∈ Wk. (9.5c)

~ f (xk+ z) = 1

2zT Qz + gkz + f (xk) �

Als LGS:

Q A⊤Wk B⊤

AWk

B

∆xk

λWk

µ

=

−∇ f (xk)

0

0

(9.6)

Hier ist AWk = (a⊤i )i∈Wk und entsprechend λWk ein Vektor der Lange |Wk|.

3. Schrittlangenwahl: Falls ∆xk , 0 wahle tk ∈ [0, 1] moglichst groß, so daß

xk+1 := xk+ tk∆xk zulassig ist. ~ vergl. Ubung 9.5 �

Beobachtung, weil xk zulassig:

b⊤j (xk+ t∆xk) = β j ∀ j, ∀t ≥ 0

a⊤i (xk+ t∆xk) ≤ αi ∀t ≥ 0 ∀i ∈ Wk,

a⊤i (xk+ t∆xk) ≤ αi ∀t ≥ 0 ∀i <Wk s.d. a⊤

i∆xk ≤ 0.

Beschrankungen an tk ergeben sich also fur i <Wk mit a⊤i∆xk > 0. Wahle

tk moglichst groß:

tk := min

{1, min

i<Wk : a⊤i∆xk>0

αi − a⊤i ∆xk

a⊤i∆xk

}(9.7)

4. Die Indizes i, fur die das Minimum in (9.7) angenommen wird, heißen

blocking indices. ~ Beachte: tk = 0 ist moglich! �

5. Falls tk < 1, dann setze Wk+1 := Wk ∪ {r}, wobei r einer der blocking

indices ist.

6. Wiederhole Schritte 1-5, bis man einen Minimierer xk von

Minimiere f unter den N.B. (9.8a)

b⊤j xk= β j, j = 1, . . . , p, (9.8b)

a⊤i xk= αi, i ∈ Wk (9.8c)

94

gefunden hat. ~ das ist einfach zu prufen: ∆xk= 0, Ubung! �

7. Konstruiere Lagrangemultiplikatoren: Aus (9.6) und ∆xk= 0 ergibt sich mit

µk := µ

Qxk+ A⊤

WkλWk + B⊤µk= Qxk − ∇ f (xk) = −c,

AWk xk= αWk .

Setzt man also

λki :=

λWk,i i ∈ Wk

0 i <Wk(9.9)

so ergibt sich

Qxk+ A⊤λk

+ B⊤µk= −c,

λk · (Axk − α) = 0,

d.h. die KKT-Bedingungen (9.2a), (9.2c). Weil xk zulassig ist, gelten auch

(9.2d), (9.2e). Wir haben also eine Losung der KKT-Bedingung (9.2) mit

Ausnahme von (9.2b) gefunden. Falls λ ≥ 0, dann ist man fertig. Falls

λi < 0 fur (mindestens) ein i, dann wahlt man ein neues Wk+1. Genauer:

Wk+1 :=Wk \ {i}, wobei i ∈ Wk s.d. λi ≤ λ j fur alle j ∈ Wk.

Beginne bei 1.

Ubung 9.5:

Sei Q positiv definit. Zeigen Sie: Mit der Wahl ∆xk im 2. Schritt ist t 7→ f (xk+

t∆xk) auf [0, 1] monoton fallend. Deshalb will man tk moglichst groß wahlen.

Algorithmus 9.6 (active set strategy for quadratic programs):

bestimme einen zulassigen Startpunkt x0

W0 := A(x0)

for k = 0, 1, . . . , do {

Bestimme Losung ∆xk von (9.5)

if ∆xk= 0 then

bestimme Lagrangemultiplikatoren λ, µ mittels (9.6), (9.9)

if λ ≥ 0 then stop ~ gesuchte Losung ist xk �

else

bestimme i mit λi ≤ λ j fur alle j

xk+1 := xk;Wk+1 :=Wk \ {i}

95

end(if)

else

bestimme tk mittels (9.7)

xk+1 := xk+ tk∆xk

if (∃i ∈ Menge der blocking indices) thenWk+1 :=Wk ∪ {i}

end(if)

end(for)

Bemerkung 9.7: • Die Bestimmung eines zulassigen Startpunktes erfordert ei-

gene Algorithmen. z.B. wie bei der Bestimmung des Startvektors beim Sim-

plexalg. Siehe Literatur.

• Die Wahl des “leaving index” i durch λi ≤ λ j fur alle j ist keineswegs

zwingend. Man erhofft damit großtmoglichen Abstieg. Allerdings hangt die

Große der λ j von der Skalierung der N.B. ab.

Damit Alg. 9.6 funktionieren kann, sollten 2 Dinge sichergestellt sein: a) die Vek-

toren {ai, b j | i ∈ Wk, j = 1, . . . , p} sollten l.u. sein (fur Losbarkeit von (9.6))

und Abstieg von f sollte moglich sein:

Satz 9.8: (i) Sei Q SPD und die Vektoren ai, i ∈ Wk, b j, j = 1, . . . , p l.u. D.g.:

das LGS (9.6) ist eindeutig losbar.

(ii) Sind die Vektoren ai, i ∈ Wk, b j, j = 1, . . . , p l.u. und Alg. 9.6 bricht nicht

ab, dann sind die neuen Vektoren ai, i ∈ Wk+1, b j, j = 1, . . . , p ebenfalls l.u.

(iii) Sei Q SPD. Falls ∆xk , 0 so ist ∇ f (xk) · ∆xk < 0, d.h. ∆xk ist Abstiegsrich-

tung.

Beweis: ad (i): Ubung.

ad (ii): Es konnen zwei Falle auftreten: Wk+1 ⊂ Wk und Wk+1 ⊃ Wk. Fur

Wk+1 ⊂ Wk ist die Aussage klar. Der Fall Wk+1 ⊃ Wk tritt in Alg. 9.6 nur

auf, wenn ein blocking index r zugefugt wird. Es gilt a⊤r ∆xk > 0. Annahme: Die

Vektoren ar, ai, i ∈ Wk, b j sind l.a. Dann gibt es γi, δ j mit

ar =

i∈Wk

γiai +

j

δ jb j

96

woraus folgt

a⊤r ∆xk=

i∈Wk

γi a⊤i ∆xk

︸︷︷︸=0wg. (9.6)

+

j

δ j b⊤j ∆xk

︸︷︷︸=0wg. (9.6)

= 0,

was den gewunschten Widerspruch erzeugt.

ad (iii): Aus (9.6) folgt

−∆xk · ∇ f (xk) = ∆xk ·(Q∆xk

+ A⊤WkλWk + B⊤µ

)

= ∆xk · Q∆xk

︸ ︷︷ ︸>0 wg. ∆xk , 0

+∆xk · A⊤WkλWk︸ ︷︷ ︸

=0 wg. (9.6)

+∆xk · B⊤µ︸ ︷︷ ︸=0 wg. (9.6)

2

Bemerkung 9.9:

Satz 9.8 garantiert nicht, daß Alg. 9.6 abbricht. Z.B. sind Zyklen moglich, bei

denen dieselben Indizes entfernt und zugefugt werden.

9.3 Interior Point Methods

siehe Literatur

9.4 Gradient Projection Methods

Ausgangspunkt: Aktive Mengen Strategien verandern die Menge Wk nur sehr

langsam (typischerweise nur einen Index pro Iteration!)→ Falls die gesuchte ak-

tive Menge A(x∗) groß ist und man keinen guten Startwert hat, muß man mit

langsamer Konvergenz rechnen.

Gradient Projection Methods funktionieren am besten, wenn keine Gleichungs-

nebenbedingungen vorliegen und die Projektion auf die zulassige Menge einfach

ist.

Betrachte:

Minimiere f (x) =1

2x⊤Qx + c⊤x unter N.B. (9.10a)

l ≤ x ≤ u, (9.10b)

wobei l und u ∈ Rn und Q symmetrisch ist.

97

Bemerkung 9.10:

Nebenbedingungen von der Form (9.10b) heißen box constraints.

9.4.1 Gradient Projection Methods im allgemeinen Fall

Sei X , ∅ eine abgeschlossene, konvexe Menge. Betrachte die Minimierungsauf-

gabe

Minimiere f unter N.B. x ∈ X. (9.11)

Wir benotigen die Projektion PX auf die zulassige Menge:

Ubung 9.11:

Zeigen Sie: Fur jedes x ∈ Rn existiert ein eindeutiges PXx ∈ X mit ‖x − PXx‖ℓ2 ≤

‖x − y‖ℓ2 ∀y ∈ X (cf. [GK01, Sec. 2.1.3]).

Fur die Minimierung von f gilt (vgl. Satz 5.5):

Lemma 9.12: (i) Sei x∗ ein lokales Minimum von (9.11). D.g.:

∇ f (x∗) · (x − x∗) ≥ 0 ∀x ∈ X (9.12)

(ii) Ist f konvex und gilt ∇ f (x∗) · (x − x∗) ≥ 0 ∀x ∈ X, so ist x∗ ein lokales =

globales Minimum von (9.11).

Beweis: ad (i): Annahme, es gibt x ∈ X mit ∇ f (x∗) · (x − x∗) < 0. Dann ist

d := x−x∗ Abstiegsrichtung und f (x∗+td) < f (x∗) fur alle t > 0 hinreichend klein.

Wegen Konvexitat von X ist x∗+ td ∈ X. Das widerspricht der Voraussetzung, daß

x∗ lokales Minimum ist.

ad (ii): Ubung. Verwende Ubung 5.23. 2

Ubung 9.13:

Zeigen Sie mittels Lemma 9.12:

x∗ = PXx ⇐⇒ (x∗ − x, y − x∗)2 ≥ 0 ∀y ∈ X.

98

Der folgende Satz zeigt, daß im Fall von konvexem f der gesuchte Minimierer x∗

von (9.11) einer Fixpunktgleichung genugt.

Satz 9.14:

Sei f ∈ C1(Rn;R), X , ∅ abgeschlossen, konvex. Sei t > 0. D.g.:

∇ f (x∗) · (x − x∗) ≥ 0 ∀x ∈ X ⇐⇒ x∗ = PX(x∗ − t∇ f (x∗))

Beweis:

x∗ = PX(x∗ − t∇ f (x∗))Ub. 9.13⇐⇒ (x∗ − (x∗ − t∇ f (x∗)), x − x∗)2 ≥ 0 ∀x ∈ X

⇐⇒ t∇ f (x∗) · (x − x∗) ≥ 0 ∀x ∈ X

⇐⇒ ∇ f (x∗) · (x − x∗) ≥ 0 ∀x ∈ X

2

Eine Verallgemeinerung des klassischen Gradientenverfahren ist der Algorith-

mus 9.15 unten. Hierzu definieren wir die Kurve t 7→ xk(t) fur t > 0 durch

xk(t) = PX(xk − t∇ f (xk)), (9.13)

d.h. die Projektion der Geraden des steilsten Abstiegs auf die zulassige Menge.

Der folgende Algorithmus wahlt nun einen Schritt ∆t so, daß hinreichend viel

Abstieg fur die Funktion t 7→ f (x(t)) erzielt wird:

Algorithmus 9.15:

% Wahle x0 ∈ X, β ∈ (0, 1), σ ∈ (0, 1)

for k = 0, 1, . . . , do {

bestimme Schrittweite tk = max{βℓ | ℓ = 0, 1, . . . , } mit

f (xk(tk)) ≤ f (xk) − σ∇ f (xk) · (xk − xk(tk))

setze xk+1 := xk(tk)

}

Im unrestringierten Fall ist Alg. 9.15 gerade das Gradientenverfahren mit der Ar-

mijoregel. Dies zeigt insbesondere, daß wir im allgemeinen mit relativ langsamer

Konvergenz rechnen mussen. Wenn f und die Nebenbedinungen Struktur haben,

99

kann der Algorithmus verfeinert werden. Man kann die Iteration xk+1= xk(tk) als

Fixpunktiteration verstehen, wobei tk in jedem Schritt geeignet gewahlt wird.

Jede Auswertung von xk(t) erfordert die Auswertung von PX. Fur spezielle zulassig

Mengen wie den box constraints ist PX einfach berechenbar:

Ubung 9.16:

Sei die zulassige Menge X gegeben durch (9.10b). Dann gilt:

PX(x)i :=

li falls xi < li

xi falls li < xi < ui

ui falls xi > ui.

(9.14)

9.4.2 Gradient Projection Methods im quadratischen Fall

Im quadratischen Fall (9.10) mit box constraints besteht ein Schritt einer Gradient

Projection Method besteht aus 2 Teilschritten:

1. zu xk wird das Minimium von t 7→ f (xk(t)) explizit bestimmt. Der zugehori-

ge Punkt xc heißt Cauchypunkt. Das ist moglich, denn es handelt sich um

die Minimierung eines stuckweise quadratischen Polynoms, und die “break

points” konnen bestimmt werden (Ubung; [NW06, Kapitel 16.7]).

2. Sei A(xc) die Menge der aktiven Indizes am Cauchypunkt xc. Der zweite

Teilschritt besteht im (approximativen) Losen von

Minimiere f unter N.B. (9.15a)

xi = xci ∀i ∈ A(xc) (9.15b)

li ≤ xi ≤ ui ∀i < A(xc). (9.15c)

Die Minimierung im 2. Teilschritt muß nicht exakt durchgefuhrt werden. Man

begnugt sich, ein zulassiges x+ zu finden mit f (x+) ≤ f (xc) (Extremfall: man

wahlt einfach xc). Im Fall von großen Systemen wird man einige (vorkonditio-

nerte) CG-Schritte machen. Beachte, daß ein CG-Verfahren unter Gleichungsne-

benbedingungen hier moglich ist, da die NB so einfach ist, daß der Kern explizit

bestimmt werden kann.

100