3.2 Onbeperkte optimalisering
3.2.3 Meerdimensionale optimalisatie
3.2.3 Meerdimensionale optimalisatie
Vervolgens gaan we in op meerdimensionale optimalisatie. Hiervoor bestaan diverse algoritmen, die in drie klassen zijn in te delen:
a. methoden die alleen functiewaarden gebruiken;
b. methoden die behalve functiewaarden ook de gradi¨ent gebruiken;
c. methoden die behalve functiewaarden en gradi¨ent ook de Hessiaan gebruiken.
Tot de klasse van a behoort de methode van Nelder en Mead.13 Deze methode zullen we hier niet bespreken. Uit de klassen b en c zullen we elk ´e´en methode presenteren.
Methode van de sterkste stijging (Cauchy)
Bij deze methode14 nemen we aan dat f (x) eenmaal continu differentieerbaar is en dat we de gradi¨ent ∇f(x) kunnen gebruiken. In het punt xk willen we de richting sk met kskk = 1 z´o kiezen dat de stijging maximaal is (infinitesimaal gezien). Dit houdt in dat we het volgende optimaliseringsprobleem beschouwen: maxs∈Rn ½ limλ↓0f (x k+ λs) − f (xk) λ ¯ ¯ ¯ ksk = 1 ¾ (3.15) Omdat limλ↓0f (x k+ λs) − f (xk) λ = D(f ; s) = {∇f (x k)}Ts = k∇f (xk)k · ksk · cos φ = k∇f (xk)k · cos φ, met φ de hoek tussen de vectoren ∇f (xk) en s, wordt het maximum aangenomen voor φ = 0, d.w.z. sk heeft dezelfde richting als ∇f (xk).
12Voor het bewijs, dat gebaseerd is op de vaste punt stelling van Banach, verwijzen wij naar H.R. Schwarz,
Numerical analysis: A comprehensive introduction, Wiley (1989) p. 210.
13J.A. Nelder and R. Mead, Computer Journal, 1965, vol 7, pp 308–313.
14De methode van de sterkste stijging wordt toegeschreven aan Cauchy (1789 – 1857), een Franse wis- en natuurkundige, die deze methode in 1847 beschreef (A.L. Cauchy, M´ethode g´en´erale pour la r´esolution des syst`emes
d’´equations simultan´ees, Comptes Rendus, Acad´emie Science, Paris, XXV (1847) 536–538). Voor een biografie van
We merken verder op dat de stapgrootte λk z´o wordt bepaald dat f (xk+1) = f (xk+ λksk) = maxλ f (xk+ λsk), d.w.z. ∂ ∂λf (xk+ λsk) = 0 voor λ = λk. Omdat ∂λ∂ f (xk+ λsk) = {∇f (xk+ λsk)}Tsk, geldt: {∇f (xk+1)}T{∇f (xk)} = 0. Dus de opeenvolgende richtingen staan loodrecht op elkaar: de rij {sk}∞
k=0 volgt zigzaggend zijn weg door de Rn.
Algoritme 3.5 Methode van Cauchy
Invoer: Een functie f (x) : Rn→ R en een beginpunt x0.
Uitvoer: Een benadering x∗ van de optimale oplossing van het probleem max{f (x) | x ∈ Rn}. 1. k := 0 en kies een ε > 0.
2. a. sk := ∇f (xk).
b. Bepaal λk zdd. f (xk+ λksk) = maxλ f (xk+ λsk). c. xk+1 := xk+ λksk.
3. Als kxk+1− xkk < ε: stop met x∗ := xk+1 als benadering van de optimale oplossing. Anders: k := k + 1 en ga naar stap 2.
We noemen een methode sterk (zwak) convergent als ∇f (x∗) = 0 voor ieder (minstens ´e´en) ophopingspunt x∗ van de rij {xk}∞
k=0. Stelling 3.7
De methode van Cauchy is sterk convergent. Bewijs
Zij x∗ een willekeurig ophopingspunt van de rij {xk}∞
k=0 en stel dat x∗ de limiet is van de rij {xk(i)}∞
i=0. Omdat f (xk+1) = maxλ f (xk+ λsk) ≥ f (xk) voor alle k, is de rij {f (xk)}∞ k=0 niet-dalend. We kunnen dus schrijven: f (xk(i+1)) ≥ f (xk(i)+1) ≥ f (xk(i)) voor alle i.
Laat i → ∞ en gebruik de continu¨ıteit van f:
f (x∗) = f (limi→∞ xk(i+1)) = limi→∞ f (xk(i+1)) ≥ limi→∞ f (xk(i)+1) ≥ limi→∞ f (xk(i)) = f (x∗), zodat geldt
f (x∗) = limi→∞ f (xk(i)+1) ≥ limi→∞ f (xk(i)+ λsk(i))
= limi→∞ f (xk(i)+ λ∇f (xk(i))) = f (limi→∞{xk(i)+ λ∇f (xk(i))}) = f (x∗+ λ∇f (x∗)) voor alle λ.
Dus f (x∗+ λ∇f (x∗)) is maximaal voor λ = 0, d.w.z. ∂ ∂λf (x ∗+ λ∇f (x∗)) = {∇f (x∗+ λ∇f (x∗))}T∇f (x∗) = 0 voor λ = 0, ofwel {∇f (x∗)}T∇f (x∗) = 0 m.a.w. ∇f (x∗) = 0. Opmerkingen
1. Als {x | f (x) ≥ f (x0)} een compacte verz. is, dan heeft iedere rij {xk}∞k=0 een ophopingspunt. 2. Het is mogelijk dat de rij {xk}∞
k=0 meer ophopingspunten heeft. Dit is bijvoorbeeld het geval voor de functie f (x1, x2) = −(r − 1)2+ 1
2(r − 1)2cos n 1 r−1 − φ o , gegeven in poolco¨ordinaten, dus met r =px2
1+ x2
2 en φ = arctanx1
x2. Er kan worden aangetoond dat r = 1 een continu¨um is van ophopingspunten en dat, als we starten met een x0 waarvoor r > 1, we zigzaggend omhoog klimmen naar de rif r = 1.
3. De convergentie van de methode van Cauchy is in het algemeen vrij slecht. Zelfs als f kwadratisch en concaaf is, zoals f (x) = −12xTCx met C een positief definiete symmetrische matrix zodat x∗= 0 de optimale oplossing is, dan is deze convergentie lineair, zoals de volgende stelling laat zien.
Stelling 3.8 Als f (x) = −1
2xTCx met C een positief definiete symmetrische matrix, dan geldt f (xk+1) ≥ µ M − m M + m ¶2 f (xk) voor alle k, waarbij M en m de grootste resp. de kleinste eigenwaarden van C zijn. Bewijs
Voor de functie f (x) = −12xTCx met C een positief definiete symmetrische matrix geldt dat ∇f (x) = −Cx en de staplengte λk = (s(skk))TTCsskk met sk = ∇f (xk) = −Cxk. Hieruit volgt dat
f (xk+1) = −12©xk+ λkskªT C©xk+ λkskª = −12©(xk)TCxk+ 2λk(xk)TCsk+ (λk)2(sk)TCskª = −12©(xk)TCxk− 2λk(sk)Tsk+ (λk)2(sk)TCskª = −12 ½ (xk)TCxk− 2(s(skk))TTCsskk · (sk)Tsk+ n (sk)Tsk (sk)TCsk o2 · (sk)TCsk ¾ = −12 n (xk)TCxk−{(s(skk))TTCssk}k2 o . Omdat f (xk) = −12(xk)TCxk= −12(sk)TC−1sk, krijgen we f (xk+1) = −12 n (xk)TCxk−{(sk)TCs{(skk}{(s)Tskk)}T2C−1sk} · (sk)TC−1sko = n 1 −{(sk)TCs{(skk}{(s)Tskk)}T2C−1sk} o f (xk).
Volgens de Kantorovich ongelijkheid15 geldt dat {(sk)Tsk}2
{(sk)TCsk}{(sk)TC−1sk} ≥
4M m (M + m)2. Omdat f (xk) negatief is volgt hieruit
f (xk+1) ≥ ½ 1 − 4M m (M + m)2 ¾ f (xk) = µ M − m M + m ¶2 f (xk). Voorbeeld 3.7 Neem de functie f (x) = −x2 1− 2x1x2− 5x2 2+ 6x1− 2x2− 2 en start met x0= (1, 0). Hieronder worden x1, x2, . . . , x5 met de bijbehorende functiewaarden berekend.
k xk sk= ∇f (xk) λk= (s(skk)T)TCsskk f (xk) 0 (1,0) (4,-4) 0.25 3 1 (2,-1) (4,4) 0.125 7 2 (2.5, -0.5) (2,-2) 0.25 9 3 (3,-1) (2,2) 0.125 10 4 (3.25,-0.75) (1,-1) 0.25 10.5 5 (3.5,-1) (1,1) 0.125 10.75
De optimale oplossing van dit probleem is x∗ = (4, −1) met waarde 11. Als we kijken naar de rij {f (x∗) − f (xk)}∞k=0, dan krijgen we de getallen 8, 4, 2, 1, 0.5, 0.25, . . . , d.w.z. dat de convergentie van de rij {f (xk)}∞
k=0 lineair is met factor 12.
Methode van Newton
We bespreken nu de methode van Newton voor meerdimensionale optimalisering. In de k-de iteratie lossen we de vergelijking ∇f (x) = 0 approximatief op. In plaats van ∇f (x) gebruiken we de eerste orde Taylor-benadering om xk, d.w.z. we lossen de vergelijking
∇f (x) = ∇f (xk) + ∇2f (xk)(x − xk) = 0 op, d.w.z.
xk+1 = xk− {∇2f (xk)}−1∇f (xk). (3.16) Deze methode is ook te beschouwen als een speciaal geval van het generieke algoritme 3.1 met xk+1 := xk + λksk, want neem λk := 1 en sk := −{∇2f (xk)}−1∇f (xk). We nemen bij deze methode aan dat de Hessiaan ∇2f (xk) inverteerbaar is. Dit is bijvoorbeeld het geval als de Hessiaan negafief (of positief) definiet is.
15De ongelijkheid van Kantorovich zegt dat voor een positief definiete symmetrische matrix C en een y 6= 0 geldt dat (yTCy)(y(yTy)T2C−1y) ≥ 4M m
(M +m)2. Voor een bewijs van deze ongelijkheid, zie: D.P. Bertsekas, Nonlinear Programming,
Algoritme 3.6 Methode van Newton
Invoer: Een functie f (x) : Rn→ R en een beginpunt x0.
Uitvoer: Een benadering x∗ van de optimale oplossing van het probleem max{f (x) | x ∈ Rn}. 1. k := 0 en kies een ε > 0.
2. sk:= −{∇2f (xk)}−1∇f (xk) en xk+1:= xk+ sk.
3. Als kxk+1− xkk < ε: stop met xk+1 als benadering van de optimale x. Anders: k := k + 1 en ga naar stap 2.
Stelling 3.9
Als f kwadratisch en concaaf is, d.w.z. f (x) = pTx − 1
2xTCx met C een positief definiete sym-metrische matrix, dan convergeert de methode van Newton in ´e´en iteratie naar de optimale oplos-sing x∗ = C−1p.
Bewijs
Omdat ∇f (x) = p − Cx geldt: ∇f (x) = 0 ⇔ x = C−1p. Op grond van Gevolg 3.1 is x∗ = C−1p een globaal optimum. ∇2f (x) = −C, dus voor een willekeurige x0 geldt:
x1 = x0− {∇2f (x0)}−1∇f (x0) = x0+ C−1(p − Cx0) = C−1p = x∗. Opmerkingen
1. Om sk te bepalen is het niet altijd nodig om {∇2f (xk)}−1 expliciet te bepalen. Vaak is het effici¨enter om het stelsel ∇2f (xk)s = −∇f (xk) op te lossen. Daarbij kan soms gebruik worden gemaakt van een speciale structuur die de Hessiaan ∇2f (xk) mogelijk bezit, zoals bijvoor-beeld symmetrie.
2. De Hessiaan ∇2f (xk) is niet altijd inverteerbaar, dus de methode is niet altijd toepasbaar. Dit is wel het geval als ∇2f (xk) vervangen wordt door een matrix Hk, een approximatie van de Hessiaan, die negatief definiet is. In dat geval nemen we λk weer volgens de lijnoptimali-satie. Dit soort methoden, waarbij de Hessiaan vervangen wordt door een negatief definiete matrix, heten quasi-Newton methoden. We kunnen bijvoorbeeld Hk= −I, met I de eenheids-matrix, nemen. Dan is sk= ∇f (xk), d.w.z. in dat geval krijgen we de methode van Cauchy. Er zijn vele voorstellen voor Hk in de literatuur beschreven.16 Ook als ∇2f (xk) wel inverteer-baar is wordt soms gekozen voor een quasi-Newton methode, omdat het inverteren (te) veel tijd kost.
3. Indien Hk negatief definiet is, dan stijgt de functiewaarde als we in xk in de richting van sk = −{Hk}−1∇f (xk) gaan, immers {∇f (xk)}Tsk= −{∇f (xk)}T{Hk}−1∇f (xk) > 0. 4. Voor een driemaal continu differentieerbare functie f (x) met een optimum in x∗, waarbij de
Hessiaan ∇2f (xk) negatief semidefiniet is, geldt dat de methode van Newton kwadratische convergentie heeft, mits het startpunt x0 voldoende dicht bij x∗ ligt.17
16Zie bijvoorbeeld het boek: G. Zoutendijk, Mathematical Programming Methods, North Holland (1976).
Voorbeeld 3.8 Laat f (x1, x2) = −x2
1− 2x2
2+ 4x1+ 2x2−√x1x2 en neem x0 = (2, 0.5). We voeren twee iteraties uit en doen de berekeningen in twee decimalen.
k xk f (k) ∇f (xk) ∇2f (xk) 0 (2.00, 0.50) 3.75 (0.75 , -3.00) ¡−2.19 −2.25−2.25 −7.00¢ 1 (2.15, 0.02) 4.01 (-0.30, 1.20) ¡−0.51 −19.10−2.00 −0.51¢ 2 (1.98, 0.20) 4.07 (-0.14, -0.65) ¡−2.05 −1.41−1.41 −8.69¢ 3 (1.96, 0.12) Vraag 3.7
Ga na dat voor een kwadratische functie f (x) = pTx −12xTCx met C een positief definiete symmetrische matrix voor de staplengte λk geldt: λk= {∇f (x(sk)TkCs)}Tksk.
Vraag 3.8
Pas de methode van Cauchy toe op de functie f (x1, x2) = −x2
1− 50x2 2.
Start met x0 =¡22¢, voer twee iteraties uit en doe de berekeningen in 2 decimalen na de komma. Vraag 3.9
Beschouw de kwadratische functie f (x1, x2) = −x2 1− 5x2
2− 2x1x2+ 6x1− 2x2.
Start met x0 =¡11¢en pas de methode van Newton toe om in ´e´en stap het optimum te bepalen.
3.2.4 Opgaven
Opgave 3.4
Toon aan dat indien f : S → R met S een interval op R waarop f een uniek maximum aanneemt de begrippen stricte quasi-concaviteit en unimodaliteit equivalent zijn.
Opgave 3.5
Beschouw het ´e´endimensionale optimaliseringsprobleem max1≤λ≤2 {5λ − eλ}. a. Pas de Gulden Snede methode toe (voer vijf iteraties uit).
b. Pas de kwadratische interpolatie-methode toe (voer twee iteraties uit, bijvoorbeeld met een rekenmachine), en start met λ1 = 1.2, λ2= 1.5 en λ3 = 1.8.
Opgave 3.6
Beschouw de functie f (x1, x2) = −x2 1− 2x2
2+ 2x1x2+ 2x2. a. Bepaal analytisch het globale maximum.
b. Voer drie iteraties met de methode van Cauchy uit, uitgaande van x0= (0, 0). Opgave 3.7
Beschouw het probleem max {ln 1 x2
1+x2
2+1} en neem x0 = (1, 1). a. Bepaal s0 met de methode van Cauchy.
Opgave 3.8
Beschouw de kwadratische functie f (x1, x2) = −2x2 1− x2
2+ 2x1x2− 2x1+ 2x2. a. Toon aan dat het maximum ligt bij x∗= (0, 1).
b. Start met x0 = (0, 0), gebruik de methode van Cauchy, en laat zien dat x2k = (0, 1 −51k) voor k = 0, 1, . . . .
c. Indien wordt gestopt zodra kxk− x∗k ≤ 5110, hoeveel iteraties zijn dan nodig?