Vous êtes sur la page 1sur 25

Introduction loptimisation

Stphane Canu
stephane.canu@litislab.eu
ASI 4 - Optimisation sans contraintes
November 30, 2011
Plan
problme : min
xIR
n
J(x)
1
Optimisation sans contraintes
Mthodes de descente
Deux approches
Mthodes de recherche linaire
Direction de descente et descente de gradient
Gradient conjugu
Mthode de Newton
Solution : trouver x

IR
n
tel que J(x

) = 0
n quations n inconnues ... cest une condition ncessaire et susante
pour J convexe !
Stphane Canu (INSA Rouen - ASI) Optimisation sans contraintes November 30, 2011 2 / 24
Exemples de problme doptimisation sans contr.
linaire : min
xIR
n
J

(x) = b

x pas de solution
quadratique convexe (moindres carrs)
min
xIR
n
J
q
(x) =
1
2
x

Ax b

x A dnie positive
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
quadratique convexe quadratique non convexe non quadratique convexe
Illustration 2d
J(x) =
1
2
x

Ax b

x
lignes diso cout : {x IR
2
| J(x) = Cte }
une direction de descente d doit vrier : d

(Ax b
. .
J(x)
) < 0
Illustration 2d
J(x) =
1
2
x

Ax b

x
lignes diso cout : {x IR
2
| J(x) = Cte }
une direction de descente d doit vrier : d

(Ax b
. .
J(x)
) < 0
deux approches itratives classiques
problme : min
xIR
n
J(x)
Solution : partir dun point x
0
IR
n
et construire une suite x
(1)
, x
(2)
, . . . x
(k)
, . . . k IN
qui converge vers la solution x

telle que J(x

) = 0
deux approches itratives classiques
recherche linaire (line search) x
(k+1)
= x
(k)
+
k
d
(k)
min
IR
J(x
(k)
+ d
(k)
) d
(k)
tant une direction de descente
rgion de conance (trust region) x
(k+1)
= x
(k)
+ d
(k)
min
dR(x)
M(x + d) R(x) tant une rgion de conance autour de x
avec le modle M : M(x +d) = J(x) +d

J(x) +
1
2
d

B(x)d et R(x) =

x +p

Mthodes de recherche linaire


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)
, k IN
convergente : x
(k)
x

et J(x
(k)
) 0
arrt (on a converg) :

minimum atteint : J ,

le cout ne diminue plus


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

ou on dpasse un nombre ditration maximum x : k k


max
Direction de descente
Denition (Direction de descente)
d est une direction de descente sil existe
0
> 0 tel que
0
J(x
(new)
) < J(x
(old)
)
Theorem
Toute direction d telle que J

d < 0 est une direction de descente


Elment de dmonstration : J(x + d) = J(x) + J

d + o(
2
)
Direction de descente du gradient et autre
Theorem (Descente de gradient)
Loppos du gradient est une direction de descente : d = J(x)
Elment de dmonstration : pour d = J(x) et susamment petit
J(x J) = J(x) J
2
+
2
/2 J

HJ
. .
H dnie positive
< J(x)
Autres mthodes
Quasi Newton d = BJ
Newton d = H
1
J
Choix du pas de descente
= c pas xe
x
(k+1)
= x
(k)
+ d
(k)
, d
(k)
J(x
(k)
)

k
pas variable
x
(k+1)
= x
(k)
+

k
d
(k)

d
(k)
, d
(k)
J(x
(k)
)

k
pas optimal

k
= argmin
IR
J(x
(k)
+ d
(k)
)
Pas variable : rgle dArmijo
x
(k+1)
= x
(k)
+

k
d
(k)

d
(k)
, d
(k)
J(x
(k)
)
rgle dArmijo
on commence avec un pas =
0
si J(x
(k+1)
) < J(x
(k)
) alors
k+1
=
k
= 1, 15
sinon
k+1
=
k
= 0, 5
tant que le cout na pas diminu, on diminue le pas
de nombreuses variantes... (e.g recherche par backtracking entre 0 et
0
)
Gradient pas optimal
gradient pas optimal
= argmin
IR
J(x + d)
Exemple : le cas quadratique
J(x) =
1
2
x

Ax b

x
J(x + d) =
1
2
(x + d)

A(x + d) b

(x + d)
dJ(x + d)
d
= d

Ax + d

Ad b

d
dJ(x + d)
d
= 0 =
d

(Ax b)
d

Ad
=
d

x
J
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
Recherche par backtracking pas optimal
cf convex optimization p 471, Stephen Boyd and Lieven Vandenberghe
Descente de gradient
Theorem
si J est convexe, continue et sous direntiable 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 mthode de gradient pas optimal
converge
dautres preuves de convergences existent
arrt : les variations relatives du gradient sont petites ou la norme du
gradient est petite
mthode simple, robuste mais lente
Plan
problme : min
xIR
n
J(x)
1
Optimisation sans contraintes
Mthodes de descente
Deux approches
Mthodes de recherche linaire
Direction de descente et descente de gradient
Gradient conjugu
Mthode de Newton
Solution : trouver x

IR
n
tel que J(x

) = 0
n quations n inconnues ... cest une condition ncessaire et susante
pour J convexe !
Stphane Canu (INSA Rouen - ASI) Optimisation sans contraintes November 30, 2011 14 / 24
La mthode du Gradient conjugu
Ax = b min
x
1
2
x

Ax x

x
J(x) = Ax b r =
x
J(x)
Nous allons nous appuyer sur un systme gnrateur d
k
, k = 1, n de
directions conjugues
Denition
deux vecteurs x = y sont dit A-conjugus pour une matrice dnie positive
A si
x

Ay = 0
Directions conjugues et dcouplage
Soit une famille de vecteurs d
k
, k = 1, n un systme gnrateur 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-conjugues :
d

i
Ad
j
=
ij
=
0 si i = j
1 si i = j
Theorem (Dcouplage dune forme quadratique)
min
x
1
2
x

Ax x

b = min

1
2
_
n

k=1

k
d
k
_

A
_
n

=1

k
d
k

_
n

k=1

k
d
k
_

b
= min

1
2
n

k=1
n

=1

k
d

k
Ad
k

n

k=1

k
d

k
b
= min

k=1
1
2

2
k
d

k
Ad
k

k
d

k
b
Lalgorithme du gradient conjugu : principe
gnral
Le systme est alors dcoupl et chaque
k
peut tre rgl indpendamment
min

k
1
2

2
k
d

k
Ad
k

k
d

k
b
k
=
d

k
b
d

k
Ad
k
Denition
Soit {d
1
, . . . , d
n
} une famille de vecteur A-conjugus. La mthode du
gradient conjugu scrit
_
x
0
donn
x
k
= x
k1
+
k
d
k
o
k
est calcul de manire optimale.
Remarques :
Si on raisonne de manire constructive on a x
k1
=

k1
i =1

i
d
i
r
k1
= b Ax
k1
= b A
k1

i =1

i
d
i
= b
k1

i =1

i
Ad
i
et donc
d

k
r
k1
= d

k
b
de plus on peut aussi crire que
r
k
= b Ax
k
= b (Ax
k1
+
k
d
k
)
= r
k1
+
k
Ad
k
Il reste a construire les directions d
k
. Une ide consiste partir du vecteur
des rsidus 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

k
Ar
k
d

k
Ad
k
Lalgorithme du gradient conguju
x
0
= 0;
r
0
= b
d
0
= r
0
; k = 0;
Tant que (max
k
|r
k
| > ) faire

k
=
r

k
d
k
d

k
Ad
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
Fait
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; % beta = -(r*Ad)/(d*Ad);
d = r + beta*d; % D = [D d];
if (r2) < 10^-4, k = nbitemax+1 ; else, k = k+1; end ;
end
Stphane Canu (INSA Rouen - ASI) Optimisation sans contraintes November 30, 2011 22 / 24
La Mthode de Newton
Proprit : dveloppement de Taylor au second ordre
J(x + d) = J(x) + DJ
x
(x)d +
1
2
d

D
2
J
x
(x)d + o(d
2
)
que lon cherche minimiser par rapport d. si on a
G(d) = J(x) + DJ
x
(x)d +
1
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... par la mthode du gradient conjugu
on peut aussi rechercher le pas optimal
x
(new)
= x
(old)
+ d, d IR
d
conclusion
O(n) Gradient

pas xe

pas optimal

heuristique (rgle dArmijo)


O(n
2
) Gradient conjugu

quasi newton

approximation d = H
1
J

Levenberg Marquart
O(n
3
) Newton
mthode direction de descente temps de calcul convergence
gradient d = J O(n) lineaire
quasi Newton d = BJ O(n
2
) super linaire
Newton d = H
1
J O(n
3
) quadratic
le temps de calcul du pas optimal peut aussi varier