Vous êtes sur la page 1sur 18

Cours 9 : Optimisation non linéaire

monodimensionnelle sans contraintes

Christophe Gonzales

LIP6 – Université Paris 6, France


Plan du cours

1 fonctions unimodales
2 méthode de la suite de Fibonacci
3 méthode dichotomique
4 méthode de Newton

Cours 9 : Optimisation non linéaire monodimensionnelle sans contraintes 2/18


Minimum local, global
f : fonction [a, b] ⊂ R 7→ R

minimum global
f passe par un minimum (global ou absolu) en xb si :
x ∈ [a, b] =⇒ f (x) ≥ f (xb)
minimum strict : x 6= xb =⇒ f (x) > f (xb)

minimum local
f passe par un minimum local en x̂ si :
∃ un voisinage V de xb tel que x ∈ V =⇒ f (x) ≥ f (xb)

minimum local strict : x ∈ V \ xb =⇒ f (x) > f (xb)

Dans R, voisinage V de xb = ensemble t.q. :


V ⊇ intervalle ouvert ]α, β[ ⊇ {xb}
Cours 9 : Optimisation non linéaire monodimensionnelle sans contraintes 3/18
Fonctions unimodales
Définition d’une fonction unimodale
f est unimodale lorsqu’il existe xb ∈ [a, b] tel que :
x 1 < x 2 ≤ xb =⇒ f (x 1 ) > f (x 2 )
xb ≤ x 1 < x 2 =⇒ f (x 1 ) < f (x 2 )

=⇒ une fonction unimodale passe par un minimum strict

unimodale 6=⇒ dérivable

xb xb xb

Cours 9 : Optimisation non linéaire monodimensionnelle sans contraintes 4/18


Fonctions convexes et strictement convexes

Définition d’une fonction convexe


f est convexe si ∀x, y ∈ [a, b], ∀λ ∈ [0, 1] :
f (λx + (1 − λ)y ) ≤ λf (x) + (1 − λ)f (y)

Définition d’une fonction strictement convexe


f est strictement convexe si ∀x, y ∈ [a, b], ∀λ ∈]0, 1[ :
f (λx + (1 − λ)y ) < λf (x) + (1 − λ)f (y)

strictement convexe =⇒ unimodale

convexe 6=⇒ unimodale


unimodale 6=⇒ convexe

Cours 9 : Optimisation non linéaire monodimensionnelle sans contraintes 5/18


Unimodalité et recherche de minima
Lemme 1
fonction unimodale
minimum local =⇒ minimum global

Lemme 2
f : [a, b] → R unimodale
x G , x D tels que a < x G < x D < b alors :
f (x G ) < f (x D ) =⇒ xb ∈ [a, x D ]
f (x G ) > f (x D ) =⇒ xb ∈ [x G , b]
f (x G ) = f (x D ) =⇒ xb ∈ [x G , x D ].

a xG xD b
Cours 9 : Optimisation non linéaire monodimensionnelle sans contraintes 6/18
Application : méthode de la suite de Fibonacci (1/6)

Rappel : suite de Fibonacci


F0 = F1 = 1

Fk+2 = Fk+1 + Fk

Fk+1 1+ 5
−→
Fk 2

méthode de la suite de Fibonacci : utiliser Fibonacci pour


trouver rapidement le minimum d’une fonction unimodale sur
un intervalle [a, b]

Cours 9 : Optimisation non linéaire monodimensionnelle sans contraintes 7/18


Application : méthode de la suite de Fibonacci (2/6)
méthode de la suite de Fibonacci
on se donne N = nombre total de fois où l’on évaluera f en
un point
initialisation : a1 = a, b1 = b
itérations :
FN−k FN+1−k
xkG = ak + (bk − ak ) xkD = ak + (bk − ak )
FN+2−k FN+2−k
f (xkG ) < f (xkD ) =⇒ ak +1 = ak et bk+1 = xkD
f (xkG ) > f (xkD ) =⇒ ak+1 = xkG et bk+1 = bk
f (xkG ) = f (xkD ) =⇒ ak+2 = xkG et bk +2 = xkD
arrêt : longueur de l’intervalle après N évaluations de f :
N−1
Y FN+1−k b−a
≤ (b − a) =
FN+2−k FN+1
k=1

Cours 9 : Optimisation non linéaire monodimensionnelle sans contraintes 8/18


Application : méthode de la suite de Fibonacci (3/6)
D
calcul de xk+1 G
et xk+1 : cas f (xkG ) < f (xkD )

ak +1 = ak et bk+1 = xkD

D
FN+1−(k+1)
xk+1 = ak+1 + (bk+1 − ak+1 )
FN+2−(k+1)
F
= ak + N−k (xkD − ak )
FN+1−k
F F
= ak + N−k × N+1−k (bk − ak )
FN+1−k FN+2−k
F
= ak + N−k (bk − ak )
FN+2−k
= xkG

G ) doit être évalué à l’itération k + 1


=⇒ seul f (xk+1

Cours 9 : Optimisation non linéaire monodimensionnelle sans contraintes 9/18


Application : méthode de la suite de Fibonacci (4/6)

taille de l’intervalle [ak+1 , bk+1 ] : cas f (xkG ) < f (xkD )

ak +1 = ak et bk+1 = xkD
FN+1−k
bk+1 − ak+1 = xkD − ak = (bk − ak )
FN+2−k
bk+1 − ak+1 F
=⇒ = N+1−k
bk − ak FN+2−k

Par symétrie :

cas f (xkG ) > f (xkD )


D ) doit être évalué à l’itération k + 1
seul f (xk+1
bk+1 − ak+1 F
= N+1−k
bk − ak FN+2−k

Cours 9 : Optimisation non linéaire monodimensionnelle sans contraintes 10/18


Application : méthode de la suite de Fibonacci (5/6)

taille de l’intervalle [ak+2 , bk+2 ] : cas f (xkG ) = f (xkD )

ak +2 = xkG et bk+2 = xkD

bk+2 − ak+2 F − FN−k F


= N+1−k = N−1−k
bk − ak FN+2−k FN+2−k
 
FN−1−k FN−k FN+1−k
= ×
FN−k FN+1−k FN+2−k
FN−k F
≤ × N+1−k
FN+1−k FN+2−k

G
évaluation de f en xk+2 D
et xk+2 mais intervalle plus réduit
que pour 2 itérations des cas f (xkG ) 6= f (xkD )

Cours 9 : Optimisation non linéaire monodimensionnelle sans contraintes 11/18


Application : méthode de la suite de Fibonacci (6/6)
Résumé :

f (xkG ) < f (xkD ) =⇒ seul f (xk+1


G ) doit être évalué

bk+1 − ak+1 F
= N+1−k
bk − ak FN+2−k
f (xkG ) > f (xkD ) =⇒ seul f (xk+1
D ) doit être évalué

bk+1 − ak+1 F
= N+1−k
bk − ak FN+2−k
f (xkG ) = f (xkD ) =⇒ f (xk+2
G ) et f (x D ) doivent être évalués
k+2
bk+2 − ak+2 FN−k F
≤ × N+1−k
bk − ak FN+1−k FN+2−k

N−1
Y FN+1−j b−a
à l’arrêt : bN − aN ≤ (b − a) =
FN+2−j FN+1
j=1

Cours 9 : Optimisation non linéaire monodimensionnelle sans contraintes 12/18


La méthode dichotomique
L’algorithme par dichotomie
à l’itération k : intervalle [ak , bk ]
3a + bk a + bk a + 3bk
dk = k ck = k ek = k
4 2 4
f (ck ) > f (ek ) =⇒ ak+1 = ck et bk+1 = bk
f (dk ) < f (ck ) =⇒ ak+1 = ak et bk+1 = ck
sinon ak+1 = dk et bk+1 = ek
arrêt : quand bk − ak ≤ 

ak dk ck ek bk
Cours 9 : Optimisation non linéaire monodimensionnelle sans contraintes 13/18
Fonctions dérivables
f : [a, b] ⊂ R 7→ R dérivable. f 0 = dérivée de f
Point stationnaire
xb ∈]a, b[ : point stationnaire si f 0 (xb) = 0

Lemme 3
f dérivable
xb ∈]a, b[
xb minimum local de f =⇒ xb = point stationnaire

Lemme 4
f dérivable et convexe
xb ∈]a, b[
xb minimum local de f ⇐⇒ xb = point stationnaire

Cours 9 : Optimisation non linéaire monodimensionnelle sans contraintes 14/18


Dichotomie pour fonctions unimodales dérivables
Méthode dichotomique
f unimodale, dérivable

a1 = a, b1 = b

f 0 (ak ) < 0 et f 0 (bk ) > 0 =⇒ xb ∈ [ak , bk ]


 
0 ak + bk
calcul de f
2
   
ak + bk a + bk
f0 > 0 =⇒ xb ∈ ak , k
2 2
   
0 ak + bk ak + bk
f < 0 =⇒ x ∈ b , bk
2 2
 
0 ak + bk a + bk
f = 0 =⇒ xb = k
2 2
Cours 9 : Optimisation non linéaire monodimensionnelle sans contraintes 15/18
Méthode de Newton (1/3)
fonction de classe C 2
f : [a, b] ⊂ R 7→ R
f : 2 fois dérivable
f 00 continue
Méthode de Newton
principe : engendrer une suite de points (x k ) tendant
vers un point stationnaire
point stationnaire : f 0 (xb) = 0
itération k : f 0 est remplacée par sa linéarisée en x k :
l(x) = f 0 (x k ) + [x − x k ]f 00 (x k )
x k+1 déterminé par l(x k +1 ) = 0 :
f 0 (x k )
=⇒ x k+1 = x k − 00 k
f (x )
Cours 9 : Optimisation non linéaire monodimensionnelle sans contraintes 16/18
Méthode de Newton (2/3)

f 0 (x)

x
xk +2 xk +1 xk

Cours 9 : Optimisation non linéaire monodimensionnelle sans contraintes 17/18


Méthode de Newton (3/3)
Conditions suffisantes de convergence de la méthode
Conditions suffisantes de convergence à partir d’un point
de départ x 0 quelconque :
f de classe C 3 et f 0 (a) × f 0 (b) < 0
f 00 (x) > 0 ∀x (=⇒ stricte convexité)
d f 0 (x)
 
0≤1− ≤ q < 1 ∀x
dx f 00 (x)
=⇒ taux de convergence quadratique :
2
∃β > 0 tel que x k+1 − xb ≤ β x k − xb

conditions très restrictives

en pratique : on applique Newton même si ces conditions ne


sont pas satisfaites
Cours 9 : Optimisation non linéaire monodimensionnelle sans contraintes 18/18