ENSAE Optimisation différentiable
Rattrapage cours d’optimisation différentiable
Durée : 2 heures
Les documents ainsi que les calculatrices ne sont pas autorisés.
**********************
Exercice 0.1 (Descente de gradient) On considère la fonction
ϕ(t) = t
√ 1 +t2.
On remarque que ϕ(x∗) = 0 si et seulement si x∗ = 0. Décrire la convergence de l’algorithme de Newton pour résoudre l’équation ϕ(x) = 0 en fonction de la valeur du point initial.
**********************
Correction de l’exercice 0.1 On a pour toutt∈R,
ϕ0(t) = (1−t2)−3/2.
Alors l’algorithme de Newton est (tk)k pour une certain point initial t0 ∈Ret tk+1=tk− ϕ(tk)
ϕ0(tk) =−t3k.
On a donc
1. (tk)k converge vers0quand|t0|<1
2. (tk)k est constante en1 ou oscille entre −1et1 quand|t0|= 1 3. (tk)k diverge quand|t0|>1.
**********************
Exercice 0.2 (Système d’équations linéaire et optimisation)
Soit A une matrice symétrique définie positive de RN×N et y∈RN. 1. Montrer que les deux assertions suivantes sont équivalentes :
(a) xˆ est solution de Ax=y
(b) xˆ minimise la fonction x→F(x) = 12x>Ax−x>y.
2. En utilisant 1., proposer un algorithme itératif pour approcher une solution du système Ax=y ne faisant pas intervenir l’inverse de A ou la résolution d’un système d’équations linéaires.
1
ENSAE Optimisation différentiable
**********************
Correction de l’exercice 0.2 1.Première solution : La Hessienne deF estAqui est symétrique définie positive. Doncxˆ minimise F si et seulement si∇F(ˆx) = 0. Or∇F(x) =Ax−y.
Deuxième solution : SiAx0 =y alors pour tout x∈RN, on a F(x)−F(x0) = 12x>Ax−x>y−12x>0Ax0+x>0y= 12
x>Ax+x>0Ax0−2x>Ax0
. (1)
Or par Cauchy-Schwartz, on a 2|x>Ax0|= 2|
A1/2x, A1/2x0
| ≤2 A1/2x
2
A1/2x0
2
≤ A1/2x
2 2+
A1/2x0
2
2=x>Ax+x>0Ax0. On en déduit que F(x)−F(x0)≥0. Doncx0 est bien le minimum deF.
Réciproquement, si pour toutx,F(x)−F(x0)≥0 alors pour touth∈RN, on a
F(x0+h) =F(x0) +
∇F(x0), h +1
2h>∇2F(x0)h=F(x0) +
Ax0−y, h +
A1/2h
2 2
2 et commeF(x0+h)≥F(x0), on en déduit que pour touth,2
Ax0−y, h +
A1/2h
2
2≥0. Et donc, quitte à remplacer h parλhpourλ >0, on voit que
Ax0−y, h
≥0pour tout h donc Ax0 =y.
2. D’après 1., pour résoudre Ax = y il suffit de trouver un minimum de la fonction x → F(x) =
1
2x>Ax−x>y. Pour cela on peut considérer un algorithme de Newton ou un algorithme de descente de gradient.
Newton s’écrit ici
xk+1 =xk−(∇2F(xk))−1(∇F(xk)) =xk−A−1(Axk−y)
et nécessite donc l’inversion deA. Un algorithme de descente de gradient s’écrit ici xk+1=xk−ηk∇F(xk) =xk−ηk(Axk−y)
où (ηk)k est une suite de réels. La descente de gradient ne nécessite donc pas d’inverser A ou de résoudre une système d’équations linéaires à chaque étape.
**********************
Exercice 0.3 On définit
Λ =n
θ= (θj)dj=1 ∈Rd:θj ≥0,∀j = 1, . . . , do . Soit x∈Rd. Calculer la valeur
(?) = inf
θ∈Λ
1 2
d
X
j=1
θjx2j + 1 θj
.
**********************
2
ENSAE Optimisation différentiable
Correction de l’exercice 0.3 On va montrer que
kxk1 = inf
θ∈Λ
1 2
d
X
j=1
θjx2j + 1 θj
.
où kxk1=Pd
j=1|xj|est la norme`d1 de x.
On a
θ∈Λinf 1 2
d
X
j=1
θjx2j + 1 θj
= 1 2
d
X
j=1 θinfj≥0
θjx2j + 1 θj
.
De plus, pour tout t∈R,θ≥0→θt2+ 1/θest minimal en θ= 1/|t|. Donc,
θ∈Λinf 1 2
d
X
j=1
θjx2j + 1 θj
= 1 2
d
X
j=1 θinfj≥0
θjx2j+ 1 θj
= 1 2
d
X
j=1
x2j
|xj|+ 1 1/|xj|
!
=
d
X
j=1
|xj|=kxk1.
**********************
Exercice 0.4 (KKT en optimisation différentiable) Trouver une solution au problème
max xy:x+y2 ≤2, x≥0, y≥0
(2)
**********************
Correction de l’exercice 0.4 On pose f :
(
R2 → R (x, y) → −xy
et pour tout (x, y) ∈ R2, h1(x, y) = x+y2 −2, h2(x, y) = −x et h3(x, y) = −y. On introduit aussi la contrainte K définie par
K =
(x, y)∈R2 :hi(x, y)≤0 pouri= 1,2,3 . Le problème (2) est équivalent à
minx∈Kf(x). (3)
Comme la fonction-objectiff est continue et que la contrainte K est compacte, d’après Weierstrass, le problème (3) admet au moins une solution.
La contrainte K est qualifiée par la condition de Slater : il n’y a pas de contraintes d’égalité, les contraintes d’inégalités sont convexes etC1 et il existe(x0, y0) = (1/2,1/2)∈K tel quehi(x0, y0)<0pour i= 1,2,3. On peut donc appliquer le théorème de KKT sur toute la contrainte K.
Par ailleurs, f et h1, h2, h3 sont de classe C1 donc d’après KKT, si (x∗, y∗) est solution de (3) alors il existe λ1, λ2, λ3 tels que
1. (x∗, y∗)∈K etλj ≥0, pourj= 1,2,3
2. ∇f(x∗, y∗) +λ1∇h1(x∗, y∗) +λ2∇h2(x∗, y∗) +λ3∇h3(x∗, y∗) = 0
3
ENSAE Optimisation différentiable
3. λjhj(x∗, y∗) = 0 pour toutj = 1,2,3.
On a pour tout(x, y)∈R2,
∇f(x, y) +λ1∇h1(x, y) +λ2∇h2(x, y) +λ3∇h3(x, y) = −y+λ1−λ2
−x+ 2λ1y−λ3
!
Alors le point 2. de KKT est équivalent à ( −y+λ1−λ2 = 0
−x+ 2λ1y−λ3 = 0 càd
( y=λ1−λ2
x= 2λ1(λ1−λ2)−λ3
D’après les “complementary condition”, on a soit x= 0ou λ2 = 0 et dans le cas oùx = 0,f(x, y) = 0, soit y= 0 ouλ3= 0 et dans le cas oùy= 0 on a aussif(x, y) = 0. On suppose alors quex >0ety >0 et on regarde si la valeur de la fonction objectif pour les solutions obtenues dans ce cas sont plus petites que 0. On a donc λ2 =λ3 = 0alors une solution de (3) vérifie
( y=λ1 x= 2λ21
càd x = 2y2. Par ailleurs, d’après la “complementary condition”, on a soit λ1 = 0soit x+y2 = 2. Dans le premier cas, on a x=y= 0et dans le deuxième cas, on a x= 2y2 et2 =x+y2= 3y2 donc y =p
2/3 et x= 4/3.
On en déduit que f atteint son minimum sur K soit en un point de la forme (0, y) ou (x,0) ou en (4/3,p
2/3). Dans les deux premiers cas, la fonction objectif vaut0et dans l’autre cas elle vaut−(4/3)p 2/3.
Il y a donc une unique solution au problème (2) qui est (4/3,p 2/3).
4