Vous êtes sur la page 1sur 25

Introduction à l’optimisation

Stéphane Canu

stephane.canu@litislab.eu

ASI 4 - Optimisation sans contraintes

November 30, 2011

Plan

problème :

min n J(x)

xIR

1 Optimisation sans contraintes Méthodes de descente Deux approches Méthodes de recherche linéaire Direction de descente et descente de gradient Gradient conjugué Méthode de Newton

Solution : trouver x IR n tel que

J(x ) = 0

n équations à n inconnues pour J convexe !

c’est une condition nécessaire et suffisante

Stéphane Canu (INSA Rouen - ASI)

Optimisation sans contraintes

November 30, 2011

2 / 24

Exemples de problème d’optimisation sans contr.

linéaire : min n J (x) = b x

xIR

pas de solution

quadratique convexe (moindres carrés)

1

x Ax b x

min n J q (x) =

xIR

A définie positive

2

quadratique non convexe

non quadratique

convexe : exp x 1 +3x 2 1/10 + exp x 1 x 2 1/10 + exp x 1 1/10

− 1 / 1 0 + exp − x 1 − 1 / 1 0 quadratique

quadratique convexe

quadratique non convexe

non quadratique convexe

Illustration 2d

J(x) =

2 1 x Ax b x

lignes d’iso cout : {x IR 2 | J(x) = Cte }

d’iso cout : { x ∈ IR 2 | J ( x ) = Cte }

une direction de descente d doit vérifier : d (Ax b ) < 0

J(x)

Illustration 2d

J(x) =

2 1 x Ax b x

lignes d’iso cout : {x IR 2 | J(x) = Cte }

d’iso cout : { x ∈ IR 2 | J ( x ) = Cte }

une direction de descente d doit vérifier : d (Ax b ) < 0

J(x)

deux approches itératives classiques

problème :

Solution :

min n J(x)

xIR

partir d’un point x 0 IR n

et construire une suite x (1) , x (2) ,

qui converge vers la solution x

x

(k) ,

k IN

telle que J(x ) = 0

deux approches itératives classiques

recherche linéaire (line search) x (k+1) = x (k) + ρ k d (k)

ρIR J(x (k) + ρd (k) )

min

d (k) étant une direction de descente

région de confiance (trust region) x (k+1) = x (k) + d (k)

min dR(x) M(x + d)

R(x) étant une région de confiance autour de x

1

avec le modèle M : M(x + d) = J(x) + d J(x) + 2 d B(x)d

et R(x) = x + p p

Méthodes de recherche linéaire

x (new) = x (old) +ρ d,

x, d IR d

initialisation x (0)

direction d IR n

pas ρ IR

Fonction x min(J, x) Tant que (on a pas convergé)

faire d trouve une direction ρ calcul le pas(x, d, J) x x + ρd

Fait

suite minimisante : x (k) , ρ k , d (k) ,

convergente :

arrêt (on a convergé) :

k IN

x (k) −→ x et J(x (k) ) −→ 0

minimum atteint : J , le cout ne diminue plus

|J(x (new) ) J(x (old) )| ε

ou on dépasse un nombre d’itération maximum fixé : k k max

Direction de descente

Direction de descente Definition (Direction de descente) d est une direction de descente s’il existe ρ

Definition (Direction de descente) d est une direction de descente s’il existe ρ 0 > 0 tel que ρ ρ 0

J(x (new) ) < J(x (old) )

0 J ( x ( new ) ) < J ( x ( old ) )

Theorem Toute direction d telle que J d < 0 est une direction de descente

que ∇ J d < 0 est une direction de descente Elément de démonstration : J

Elément de démonstration : J(x + ρd) = J(x) + ρJ d + o(ρ 2 )

Direction de descente du gradient et autre

Theorem (Descente de gradient)

L’opposé du gradient est une direction de descente : d = −∇J(x)

Elément de démonstration : pour d = −∇J(x) et ρ suffisamment petit

J(x ρJ) = J(x) ρ J 2 + ρ 2 /2

J HJ

H définie positive

< J(x)

Autres méthodes

Quasi Newton d = BJ

Newton d = H 1 J

Choix du pas de descente

ρ = c pas fixe

x (k+1) = x (k) + ρd (k) ,

d (k) J(x (k) )

ρ k pas variable

x (k+1) = x (k) +

ρ

k

(k) d (k) ,

d

d (k) J(x (k) )

ρ k pas optimal

ρ k = argmin

γIR

J(x (k) + γd (k) )

Pas variable : règle d’Armijo

x (k+1) = x (k) +

ρ

k

(k) d (k) ,

d

d (k) J(x (k) )

d ( k ) , d d ( k ) ∈ ∂ J ( x (

règle d’Armijo on commence avec un pas ρ = ρ 0

si J(x (k+1) ) < J(x (k) ) alors sinon

ρ k+1 = αρ k ρ k+1 = βρ k

tant que le cout n’a pas diminué, on diminue le pas

α = 1, 15 β = 0, 5

Gradient à pas optimal

gradient à pas optimal

ρ = argmin J(x + γd)

γIR

Exemple : le cas quadratique J(x) J(x + γd) = 2 1 x Ax −
Exemple : le cas quadratique
J(x)
J(x + γd)
=
2 1 x Ax − b x
1
= 2 (x + γd) A(x + γd) − b (x + γd)
dJ(x + γd)
= d Ax + γd Ad − b d
dJ(x + γd)
= 0 ⇔ γ = − d (Ax − b)
= − d ∇ x J
d
Ad
d Hd

Choix du pas de descente : illustration

J(x 1 , x 2 ) = exp x 1 +3x 2 1/10 + exp x 1 x 2 1/10 + exp x 1 1/10

x 2 − 1 / 10 + e x p − x 1 − 1 /

Recherche par backtracking

x p − x 1 − 1 / 10 Recherche par backtracking pas optimal cf convex

pas optimal

cf convex optimization p 471, Stephen Boyd and Lieven Vandenberghe

Descente de gradient

Descente de gradient Theorem si J est convexe, continue et sous différentiable en tout point, et

Theorem si J est convexe, continue et sous différentiable en tout point, et si

k=1

ρ k = +

et

lim

k→∞ ρ k = 0

alors lim

k J(x (k) ) = J(x min ) avec x min le minimum global de J.

Sous certaines conditions la méthode de gradient à pas optimal converge

d’autres preuves de convergences existent

arrêt : les variations relatives du gradient sont petites ou la norme du gradient est petite

Plan

problème :

min n J(x)

xIR

1 Optimisation sans contraintes Méthodes de descente Deux approches Méthodes de recherche linéaire Direction de descente et descente de gradient Gradient conjugué Méthode de Newton

Solution : trouver x IR n tel que

J(x ) = 0

n équations à n inconnues pour J convexe !

c’est une condition nécessaire et suffisante

Stéphane Canu (INSA Rouen - ASI)

Optimisation sans contraintes

November 30, 2011

14 / 24

La méthode du Gradient conjugué

Ax = b

x J(x) = Ax b

min 1 2 x Ax x b

x

r = −∇ x J(x)

Nous allons nous appuyer sur un système générateur d k , k = 1, n de directions conjuguées

d k , k = 1 , n de directions conjuguées Definition deux vecteurs x =

Definition deux vecteurs x = y sont dit A-conjugués pour une matrice définie positive A si

x Ay = 0

Directions conjuguées et découplage

Soit une famille de vecteurs d k , k = 1, n un système générateur de IR n :

x IR n , ρ k IR, k = 1, n

tel que

x =

n

k=1

ρ k d k

Supposons que les directions d k , k = 1, n soient 2 à 2 A-conjuguées :

si i = j d Ad j = δ ij = 0 i 1 si
si i
= j
d Ad j = δ ij = 0
i
1
si
i = j
Theorem (Découplage d’une forme quadratique)
n
n
n
1
1
min 2 x Ax − x b
=
min
ρ k d k A
ρ k d k
b
2
x
ρ
k=1
k
=1 ρ k d k −
k=1
1
2
n
n
n
=
min
ρ k ρ k d
Ad k −
ρ k d b
k
k
ρ
k=1 k =1
k=1
n
1
=
min
2 ρ k 2 d
Ad k − ρ k d b
k
k
ρ
k=1

L’algorithme du gradient conjugué : principe général

Le système est alors découplé et chaque ρ k peut être réglé indépendamment

min

ρ

k

1

2 ρ 2

k d k

Ad k ρ k d b

k

ρ k =

d

b

k

d

Ad k

k

k − ρ k d b k ⇔ ρ k = d b k d A

Definition Soit {d 1 ,

, d n } une famille de vecteur A-conjugués. La méthode du

gradient conjugué s’écrit

x 0

donné

x k = x k1 + ρ k d k

ρ k est calculé de manière optimale.

Remarques :

Si on raisonne de manière constructive on a x k1 =

k1

i=1

r k1

= b Ax k1 = b A

k1

i=1

ρ

i d i = b

et donc

d

de plus on peut aussi écrire que

k

r k1 = d

k

b

k1

i=1

r k

= b Ax k

= b (Ax k1 + ρ k d k )

= r k1 + ρ k Ad k

ρ i d i

ρ i Ad i

Il reste a construire les directions d k . Une idée consiste à partir du vecteur des résidus qui est aussi le vecteur du gradient (et donc une diredction de descente) et de le corriger pour le rendre A-conjugué. Ainsi on pose :

d k+1 = r k β k d k

k1

i=1

γ i d i

On peut montrer (corrolaire 10.2.4 GVL p 526) que les γ i = 0. Pour avoir d k Ad k+1 = 0 on doit prendre

β k = d

d

k

Ar k

Ad k

k

L’algorithme du gradient congujué

x 0 = 0; r 0 = b d 0 = r 0 ;

Tant que (max k |r k | > ε) faire

k = 0;

Fait

ρ k = r

d

k

d k

Ad k

k

x k+1 = x k + ρ k d k r k+1 = r k ρ k Ad k

β k =

r

k+1 r k+1

r

k

r k

d k+1 = r k+1 + β k d k

Mon code pour le gradient conjugué

function a = Mon_Grad_Conj(A,b)

a

= 0*b;

r

= b - A*a;

d

= r;

k=0;nbitemax=100;beta=0;r2 = r’*r;

while (k<=nbitemax)

Ad = A*d; r2_old = r2;

pas = r2/(d’*Ad);

% pas = (r’*d)/(d’*Ad);

a

= a + pas * d;

r

= r - pas *Ad;

% r

= b -

A*a;

r2 =r’*r; beta = r2/r2_old;

d = r + beta*d;

% beta = -(r’*Ad)/(d’*Ad);

% D = [D d];

if (r2) < 10^-4, k = nbitemax+1 ; else, k = k+1; end ;

end

Stéphane Canu (INSA Rouen - ASI)

Optimisation sans contraintes

November 30, 2011

22 / 24

La Méthode de Newton

Propriété : développement de Taylor au second ordre 1 J(x + d) = J(x) +
Propriété : développement de Taylor au second ordre
1
J(x + d) =
J(x) + DJ x (x)d
+ 2 d D 2 J x (x)d + o( d 2 )

que l’on cherche à minimiser par rapport à d. si on a

G

1

(d) = J(x) + DJ x (x)d + 2 d D 2 J x (x)d + o( d 2 )

DG d (d) = 0

d = D 2 J x (x) 1 DJ x (x)

soit si J est le vecteur gradient en x et H la matrice hessienne

d = H 1 J

on peut chercher d

on peut aussi rechercher le pas optimal

x (new) = x (old) + ρ d,

par la méthode du gradient conjugué

d IR d

conclusion

O(n) Gradient

pas fixe pas optimal heuristique (règle d’Armijo)

O(n 2 )

Gradient conjugué

quasi newton approximation d = H 1 J Levenberg Marquart

O(n 3 ) Newton

méthode

direction de descente

temps de calcul

convergence

gradient

 

d = −∇J d = BJ

O(n) O(n 2 )

lineaire

quasi Newton

super linéaire

Newton

d

= H 1 J

O(n 3 )

quadratic

le temps de calcul du pas optimal peut aussi varier