• No results found

Meerdimensionale optimalisatie

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 + m2 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 + m2 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+ 2x2x1x2 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− xk ≤ 5110, hoeveel iteraties zijn dan nodig?