• No results found

E´endimensionale optimalisatie

3.2 Onbeperkte optimalisering

3.2.2 E´endimensionale optimalisatie

We bespreken in deze paragraaf eerst enkele methoden die alleen gebruik maken van functiewaar-den. Deze methoden zijn in het algemeen in twee klassen te verdelen:

(1) interval-reductie methoden; (2) functie-approximatie methoden.

We gaan er van uit dat we een interval kennen waarbinnen de optimale waarde van λ zich bevindt. We geven van elk van de klasse van deze methoden een voorbeeld.

Methode van de Gulden Snede

Bij deze methode9 wordt het optimum ingesloten in steeds kleinere intervallen. We hebben op ieder interval vier punten: op het k-de interval [ak, bk] naast de grenzen ak en bk ook de punten λk en µk met λk< µk. Het volgende lemma toont hoe een volgend interval verkregen wordt. Lemma 3.1

Zij φ : R → R strict quasi-concaaf op het interval [a, b] en laat a < λ < µ < b. (1) Als φ(λ) ≤ φ(µ), dan is φ(µ) > φ(x) voor alle x ∈ [a, λ);

(2) Als φ(λ) ≥ φ(µ), dan is φ(λ) > φ(x) voor alle x ∈ (µ, b]. Bewijs

(1) Neem een x ∈ [a, λ). Omdat λ kan worden geschreven als een echte convexe combinatie van x en µ, volgt uit de stricte quasi-concaviteit van φ dat φ(λ) > min{φ(x), φ(µ)}.

Omdat φ(λ) ≤ φ(µ) geldt: min{φ(x), φ(µ)} = φ(x) < φ(µ). (2) Dit onderdeel gaat analoog aan onderdeel (1).

Opmerkingen

1. In geval (1) kunnen we verder gaan op het interval [λ, b] en in geval (2) op het interval [a, µ]. 2. Het begrip strict quasi-concaaf is, indien de functie φ op het interval [a, b] een maximum heeft, equivalent met het begrip unimodaal, dat het volgende inhoudt: er is op dit interval een punt λ zdd. φ strict stijgend is tot λ en strict dalend na λ; φ heeft op het interval dus een uniek maximum in het punt λ (zie ook Opgave 3.4).

Neem nu aan dat de functie φ strict quasi-concaaf is op [a, b]. Bij de Gulden Snede methode werken we in de k-de iteratie met het interval [ak, bk]. We gaan daarna verder met ofwel het interval [ak, µk], indien φ(λk) ≥ φ(µk), ofwel met het interval [λk, bk], indien φ(λk) < φ(µk). q q q q ¾ L αL αL α2L -ak λk µk bk

We willen nu de λk’s en µk’s zo bepalen dat de lengte van het nieuwe interval in beide gevallen hetzelfde is en een vaste fractie, zeg α, van het oorspronkelijke interval. Dit betekent dat

µk− ak= bk− λk = α(bk− ak).

Verder willen we zo min mogelijk functie-evaluaties, d.w.z. als het volgende interval [λk, bk] is, dan nemen we λk+1 = µk. Op deze wijze hoeven we in een nieuwe iteratie slechts ´e´en nieuwe functiewaarde te berekenen. Dit houdt in dat een interval volgend op het interval [λk, bk] bijvoor-beeld het interval [λk+1, bk+1] = [µk, bk] kan zijn. Hieruit volgt (zie de figuur) dat α2+ α = 1, wat impliceert dat α = 12(5 − 1) ≈ 0.618.

9De gulden snede geeft een verhouding weer die veelvuldig in de natuur, de klassieke architectuur en schilderkunst wordt aangetroffen. Voor meer informatie, zie bijvoorbeeld http://nl.wikipedia.org/wiki/Gulden snede.

Verder geldt λk= bk− α(bk− ak); µk= ak+ α(bk− ak). Als het interval na [ak, bk] het interval [ak, µk] is, dan geeft dit:

ak+1 = ak, bk+1 = µk, λk+1= bk+1− α(bk+1− ak+1) en µk+1 = λk. Als na het interval [ak, bk] het interval [λk, bk] komt, dan is:

ak+1 = λk, bk+1= bk, λk+1= µk en µk+1 = ak+1+ α(bk+1− ak+1).

Algoritme 3.2 Gulden Snede

Invoer: Een functie φ(λ) := f (xk+ λsk) en getallen a0 en b0 met a0 < b0 en zdd. φ(λ) strict quasi-concaaf is op [a0, b0].

Uitvoer: Een benadering λ van de optimale oplossing van het probleem maxλ>0 φ(λ). 1. k := 0; α := 12(5 − 1); λk := bk− α(bk− ak); µk:= ak+ α(bk− ak).

2. Als |bk− ak| < ε: stop met λ := 12(bk+ ak). Anders: ga naar stap 3.

3. Als φ(λk) ≥ φ(µk) : ak+1:= ak, bk+1 := µk, λk+1 := bk+1− α(bk+1− ak+1) en µk+1 := λk. Anders: ak+1 := λk, bk+1 := bk, λk+1:= µk en µk+1:= ak+1+ α(bk+1− ak+1).

4. k := k + 1 en ga naar stap 2.

Voorbeeld 3.4

Laat φ(λ) = 120 − 108λ − 12λ op het interval [0, 1].

Deze functie is op dit interval strict quasi-concaaf (waarom?).

We voeren drie iteraties uit en de berekeningen doen we in drie decimalen. Start: a0:= 0; b0 := 1; λ0:= 0.382; µ0 := 0.618.

Iteratie 1: φ(λ0) > φ(µ0) : a1 := 0; b1:= 0.618; λ1:= 0.236; µ1:= 0.382. Iteratie 2: φ(λ1) < φ(µ1) : a2 := 0.236; b2:= 0.618; λ2:= 0.382; µ2 := 0.472. Iteratie 3: φ(λ2) > φ(µ2) : a3 := 0.236; b3:= 0.472; λ3:= 0.326; µ3 := 0.382.

Als we nu zouden stoppen dan is de benadering λ voor de optimale staplengte 12(b3+ a3) = 0.354 (het werkelijke optimum ligt bij 0.333).

Opmerking:

Omdat de lengte van het interval in iedere iteratie met een vaste factor α = 12(5 − 1) ≈ 0.618 wordt verkleind, is er sprake van lineaire convergentie met convergentiefactor ≈ 0.618.

Kwadratische interpolatie

Bij de methode van de kwadratische interpolatie willen we per iteratie ook slechts ´e´en nieuwe functie-evaluatie hebben. We gaan uit van een drietal punten λ1, λ2 en λ3 met in λ2 de hoogste functiewaarde van φ m.b.t. de drie λ’s. Door de drie punten (λi, φ(λi)), 1 ≤ i ≤ 3 leggen we een kwadratische functie

g(λ) = Aλ2+ Bλ + C

en van deze functie weten we waar het optimum ligt, namelijk in λ= −B 2A.

Omdat g(λi) = φ(λi), 1 ≤ i ≤ 3, zijn de onbekenden A, B en C te bepalen als oplossing van het

stelsel       λ21A + λ1B + C = φ(λ1) λ2 2A + λ2B + C = φ(λ2) λ2 3A + λ3B + C = φ(λ3)

Met de regel van Cramer volgt de oplossing van dit stelsel, waaruit de waarde van λ volgt: λ = 1

2 ·

φ(λ1)(λ23− λ22) + φ(λ2)(λ12− λ23) + φ(λ3)(λ22− λ21) φ(λ1)(λ3− λ2) + φ(λ2)(λ1− λ3) + φ(λ3)(λ2− λ1). Voor de volgende iteratie kiezen we op grond van Lemma 3.1 de volgende drie punten: Als λ< λ2 : als φ(λ) ≥ φ(λ2): neem de drie punten λ1, λ en λ2;

als φ(λ) < φ(λ2): neem de drie punten λ, λ2 en λ3; Als λ> λ2 : als φ(λ) ≥ φ(λ2): neem de drie punten λ2, λ en λ3; als φ(λ) < φ(λ2): neem de drie punten λ1, λ2 en λ.

Als φ unimodaal is, dan is de convergentie superlineair en wel van de orde ≈ 1.3.10 Algoritme 3.3 Kwadratische interpolatie

Invoer: Een functie φ(λ) := f (xk + λsk) en getallen λ1, λ2 en λ3 zdd. λ1 < λ2 < λ3 en φ(λ2) > max{φ(λ1), φ(λ3)}.

Uitvoer: Een benadering λ van de optimale oplossing van het probleem maxλ>0 φ(λ). 1. Als |λ3− λ1| < ε: stop met als benaderende oplossing λ := 123+ λ1).

Anders: ga naar stap 2. 2. Bepaal λ = 12 ·φ(λ1)(λ2 3−λ2 2) + φ(λ2)(λ2 1−λ2 3) + φ(λ3)(λ2 2−λ2 1) φ(λ1)(λ3−λ2) + φ(λ2)(λ1−λ3) + φ(λ3)(λ2−λ1).

3. Als λ < λ2: als φ(λ) ≥ φ(λ2): λ3 := λ2, λ2 := λ en ga naar stap 1. als φ(λ) < φ(λ2): λ1 := λ en ga naar stap 1.

Als λ > λ2 : als φ(λ) ≥ φ(λ2): λ1:= λ2, λ2 := λ en ga naar stap 1. als φ(λ) < φ(λ2): λ3 := λ en ga naar stap 1.

Methode van Newton

De methode van Newton11 is een iteratieve methode voor een nulpuntsbepaling. We nemen aan dat we de afgeleide en tweede afgeleide kennen. Het maximum van een unimodale functie komt dan overeen met de nulpuntsbepaling φ0(λ) = 0. Als we een iterand λk hebben, dan nemen we de eerste orde (lineaire) benadering van φ0k) en veronderstellen dat φ0k+1) = 0, d.w.z. we beschouwen de vergelijking 0 = φ0k+1) = φ0k) + φ00k)(λk+1− λk), ofwel

λk+1 = λk φ 0k) φ00k). Algoritme 3.4 Methode van Newton

Invoer: Een unimodale functie φ(λ) := f (xk+ λsk) en een startwaarde λ0 > 0.

Uitvoer: Een benadering λ van de optimale oplossing van het probleem maxλ>0 φ(λ). 1. k := 0

2. λk+1:= λk φ0k) φ00(λk).

3. Als |λk+1− λk| < ε: stop met als benaderende oplossing λ := 12k+1+ λk). Anders: k := k + 1 en ga naar stap 2.

Convergentie

De methode van Newton hoeft in het algemeen niet te convergeren. Onder bepaalde voorwaarden voor het gedrag van de functie en voor het startpunt is dit wel het geval. We geven hieronder twee voorbeelden.

Voorbeeld 3.5

Laat φ(λ) = ln (1 + λ) − λ. Dan is φ0(λ) = 1+λ−λ en φ00(λ) = (1+λ)−1 2.

Merk op dat φ0) = 0 d.e.s.d. als λ = 0. Omdat φ00(λ) < 0 voor alle λ is φ strict concaaf. λk+1= λkλk/(λk+ 1)

(1 + λk)−2 = λk− λk(1 + λk) = −λ2k.

Hieruit volgt direct dat λk → λ = 0 d.e.s.d. als |λ0| < 1 (als |λ0| = 1, dan is λk = −1 voor k ≥ 1 en als |λk| > 1, dan is divergeren de λk’s naar −∞). Tevens is direct in te zien dat de convergentie kwadratisch is, want limk→∞k+1−λ∗|

|λk−λ∗|2 = 1. Voorbeeld 3.6

Laat φ(λ) = −λm met m ≥ 2 en even. φ0(λ) = −mλm−1 en φ00(λ) = −m(m − 1)λm−2. φ0) = 0 d.e.s.d. als λ= 0 en φ00(λ) < 0 d.e.s.d. als λ 6= 0 (m is even).

λk+1= λk m−1 k m(m − 1)λm−2k = λk λk m − 1 = m − 2 m − 1λk.

Hieruit volgt dat λk→ λ = 0 voor alle λ0 en dat de convergentie lineair is met factor m−2m−1.

11Deze methode wordt ook vaak de Newton-Raphson methode genoemd. Raphson publiceerde in 1691 een boek waarin de methode van Newton al wordt besproken. Newton (1643–1727) ontwikkelde deze methode in 1671, maar het werd pas in 1736, na zijn dood, gepubliceerd.

De volgende stelling geeft bepaalde voorwaarden waaronder de methode van Newton kwadratisch convergeert naar het gewenste optimum λ.12

Stelling 3.6

Als de functie φ(λ) viermaal continu differentieerbaar is op een interval [a, b] met a < λ < b en φ00) 6= 0, en λ is een enkelvoudig nulpunt van φ0(λ), dan is er een interval I = [λ− δ, λ+ δ] voor zekere δ > 0 zdd. als λ0 ∈ I de methode van Newton naar λ convergeert, waarbij de convergentiesnelheid minstens kwadratisch is.

Vraag 3.6

Toon aan dat het aantal iteraties van algoritme 3.2 gelijk is aan l log{(b0−a0)/ε} log{2/(5−1)} m .