Examen du 15.05.08 corrigé

publicité
Optimisation Numérique MI2E L3
UNIVERSITE PARIS-DAUPHINE
Examen du 15.05.08 corrigé
Exercice 1 (3pts)
On veut utiliser l’algorithme du gradient conjugué, initialisé avec (y1 , y2 ) = (0, 0), pour
minimiser : G(y1 , y2 ) = y12 + y22 − y1 y2 + y1 − 2y2 .
1. Quelle est la première direction de descente d0 calculée par l’algorithme ?
La direction de Cauchy : d0 = −∇G(0, 0) = (−1, 2)T .
2. Que doivent vérifier d1 et d2 pour que d = (d1 , d2 ) et d0 soit conjuguées ?
2
G est une fonction quadratique dont la Hessienne : ∇ G =
2 −1
−1
2
!
est constante.
Les directions d = (d1 , d2 ) et d0 sont conjuguées ssi :
2
< d, ∇ G d0 >= (d1 , d2 )
T
−4
5
!
= −4d1 + 5d2 = 0
Exercice 2 (3pts)
Répondre en justifiant votre réponse :
1. Quels sont les sommets du polyèdre :
n
S = (x1 , x2 , x3 ) ∈ IR 3 | 0 ≤ x1 ≤ x2 ≤ x3 , x1 + x2 + x3 = 1
o
Ce sont les points saturant au moins trois contraintes en lesquels la matrice des contraintes
saturées est de rang trois. On trouve trois sommets (0, 0, 1), (0, 1/2, 1/2), et : (1/3, 1/3, 1/3).
2. Quelles sont les solutions du problème consistant à maximiser 2x1 + 3x2 + x3 sur S ?
Le maximum est atteint en l’un des sommets de S : l’ensemble admissible est compact,
et l’un des sommets est solution puisque la matrice des contraintes :


−1
0
0
 1 −1
0 




 0
1 −1 
1
1
1
est de rang trois. Les deux derniers sommets sont en fait solutions, et l’ensemble des
solutions est le segment qui les joint dans IR 4 .
Exercice 3 (3pts)
On veut minimiser :
1
[(x1 − 2)2 + (x2 − 1)2 + (x3 − 3)2 ]
2
Pour pallier le défaut de dérivabilité, on décide finalement de minimiser :
q
q
1
Fε (x1 , x2 , x3 ) = (x2 − x1 )2 + ε2 + (x3 − x2 )2 + ε2 + [(x1 − 2)2 + (x2 − 1)2 + (x3 − 3)2 ]
2
où ε est « petit ». Vous savez programmer trois algorithmes : GradOpt, Newton, et
Quasi-Newton BFGS.
1. Rappeler brièvement les avantages et inconvénients de chacun.
F (x1 , x2 , x3 ) = |x2 − x1 | + |x3 − x2 | +
Les algorithmes GradOpt et BFGS sont toujours robustes. La convergence du premier est
ici garantie puisque le critère est elliptique (la somme d’une fonction convexe de classe
C 2 et d’une fonction quadratique elliptique) mais seulement linéaire. Grace a l’ellipticité
du critère, l’algorithme de Newton est aussi robuste et converge ici quadratiquement.
2. Lequel choisiriez-vous en l’occurence et pourquoi ? (tous les choix sont possibles, mais
on souhaite une réponse motivée)
On peut envisager l’algorithme de Newton dont la convergence quadratique est garantie.
Le risque de problèmes numériques dans le calcul de la Hessienne - dont le conditionnement peut devenir grand lorsque ε tend vers zéro - pourra cependant lui faire préférer
l’algorithme BFGS, presque aussi efficace en pratique. Pour ε = 10−8 par exemple, le
conditionnement de la Hessienne de F au voisinage de l’optimum est voisin de ' 3.108 ,
et la convergence de l’algorithme GradOpt extrèmement lente. L’algorithme de Newton
comme l’algorithme BFGS, convergent au contraire en seulement quelques itérations.
Exercice 4 (6pts)
On considère le problème quadratique :
(P) Min (y12 + y22 − y1 y2 + y1 − 2y2 )
s.c. − 1 ≤ yi ≤ 1 (i = 1, 2)
1. Prouver l’existence d’une unique solution y ? = (y1? , y2? ).
Le critère est une fonction quadratique elliptique (c’est la fonction G de l’exercice 1 !)
ce qui suffit à assurer l’existence d’une unique solution.
2. Formuler le problème linéarisé au point (y1 , y2 ) = (0, 0).
∇G(0, 0) = (1, −2)T , d’où le problème linéarisé : Min z1 − 2 z2
s.c. − 1 ≤ zi ≤ 1 (i = 1, 2)
3. Déterminer la première direction de descente et le premier itéré calculés par l’algorithme
de Franck&Wolfe.
Le simplexe des points admissibles - le pavé [−1, 1] × [−1, 1] de IR 2 - a quatre sommets
évidents, dont l’un seulement : (z1 , z2 ) = (−1, 1) est solution. La première direction de
descente calculée par l’algorithme est donc : (z1 − y1 , z2 − y2 ) = (−1, 1). Le pas optimal
est t = 0.5 (on minimise 3 t2 − 3 t), et le premier itéré calculé par l’algorithme est donc
(−0.5, 0.5).
4. Montrer qu’avec la même initialisation, l’algorithme d’activation de contraintes calcule
la solution en une seule itération. Quelle est cette solution ?
Aucune contrainte n’étant saturée à l’initialisation, on se déplace, à la première étape,
vers la solution (0, 1) du problème sans contrainte, i. e. le minimiseur global de G.
Puisque ce point est admissible, c’est bien sur la solution de (P) et l’algorithme s’arrete
après une seule itération.
Exercice 5 (7pts)
La fonction F que l’on cherchait à minimiser dans l’exercice 4 se récrit formellement :
1
F (x) = kAxk1 + ||x − a||2
2
et le problème (P) de l’exercice précédent se récrit :
(P) Min
1
2
kAT yk2 − < AT y, a >
s.c. − e ≤ y ≤ e
1. Au vu de cette formulation, quelle propriété de la matrice A suffisait-il de vérifier pour
garantir l’existence et l’unicité de la solution y ? de (P) ? Expliquer.
Il suffisait de vérifier le caractère DP de la Hessienne A AT du critère :
0 ≤ k|AT u||2 =< u, A AT u >, et : < u, A AT u >= 0 ⇒ AT u = 0 ⇒ u = 0
qui requiert simplement que AT , et donc A soit de rang deux, pour que : kerAT = {0}.
1
2. Prouver que : x? = a − AT y ? minimise : kx − ak2 + < y ? , A x >, et déduire :
2
1 ?
2
T ?
?
kx − ak + < A y , x >≤ inf F
2
1
Il suffit de vérifier que Φ(x) = kx − ak2 + < y ? , A x > définit une fonction quadratique
2
elliptique Φ dont le gradient : ∇Φ(x) = x − a + AT y ? est nul pour x = x? . L’inégalité
résulte de ce que : −e ≤ y ? ≤ e implique : < y ? , A x >≤ ||A x||1 pour tout x dans IR 3 .
3. Ecrire formellement les KKT pour le problème (P) en fonction de A, de a et de vecteurs
de multiplicateurs µ et ν de IR 2, respectivement associés aux contraintes −y ≤ e et
y ≤ e du problème (P).
A AT y ? − A a + µ − ν = 0, µ, ν ≤ 0, < µ, y ? + e >=< ν, y ? − e >= 0
4. Déduire que le produit scalaire < y ? , A x? > calcule en fait kA x? k1 , et conclure que x?
est l’unique minimiseur de F .
Puisque x? = a − AT y ? , il vient : A x? = µ − ν, et donc :
< y ? , A x? >=< y ? , µ − ν >= − < µ + ν, e >= −µ1 − µ2 − ν1 − ν2
et, comme µi νi = 0 (on ne peut pas avoir simultanément yi = 1 et yi = −1), et µi , νi ≤ 0
(i = 1, 2) : ||A x? | |1 = ||µ − ν| |1 = −µ1 − µ2 − ν1 − ν2 , donc :
1
F (x? ) = kx? − ak2 + < AT y ? , x? >≤ inf F
2
Téléchargement