Title: Chapitre 1 Optimisation non linaire avec contraintes
1Chapitre 1Optimisation non linéaireavec
contraintes
- Optimisation B
- Génie Mécanique
2Optimisation sur un convexe
3Introduction
- Problème
- min f(x)
- s.c. x ? X
- où
- X est un sous-ensemble non vide, convexe et fermé
de IRn, - f est continûment différentiable sur X.
4Introduction
- Souvent, X possède une structure spécifiée par
des équations et des inéquations. - Dans ce chapitre, on ne tient pas compte de cette
structure. - Le chapitre sur les multiplicateurs de Lagrange
sera consacré à cela.
5Conditions doptimalité
- Définitions
- Un vecteur admissible est un vecteur qui vérifie
les contraintes. - x est admissible ssi x ? X.
- Un vecteur x ? X est un minimum local de f sur X
sil existe ? gt 0 tel que - f(x) f(x) ?x ? X tel que x-xlt ?
- Un vecteur x ? X est un minimum global de f sur
X si - f(x) f(x) ?x ? X
6Conditions doptimalité
- Définitions
- Un vecteur x ? X est un minimum local strict de
f sur X sil existe ? gt 0 tel que - f(x) lt f(x) ?x(?x) ? X tel que x-xlt ?
- Un vecteur x ? X est un minimum global strict de
f sur X si - f(x) lt f(x) ?x(?x) ? X
7Conditions doptimalité
- Propriétés
- Si f est une fonction convexe, alors un minimum
local de f sur X est aussi un minimum global. - Si, de plus, f est strictement convexe sur X,
alors il existe au plus un minimum global de f
sur X.
8Conditions doptimalité
- Idée
- A un minimum local x, les variations du premier
ordre ?f(x)T?x seront non négatives lorsque ?x
est petit et admissible. - Comme X est convexe, les ?x admissibles seront de
la forme - ?xx-x, avec x ? X.
9Conditions doptimalité
- Propriété
- Si x est un minimum local de f sur X, alors
- ?f(x)T(x-x) ³ 0, ?x?X.
- Si f est convexe sur X, la condition est
également suffisante pour que x minimise f sur
X.
10Conditions doptimalité
X
?f(x)
x
11Conditions doptimalité
X
?f(x)
x
12Conditions doptimalité
- Définition
- Un vecteur x vérifiant les conditions
nécessaires doptimalité est appelé un point
stationnaire.
13Conditions doptimalité
- Exemple
- X x x ³ 0.
- Condition nécessaire doptimalité
- Fixons i, et posons
- xjxj pour j ? i.
- xi xi 1
14Conditions doptimalité
- Exemple (suite)
- On obtient
- Si xi gt 0, posons
- xjxj pour j ? i.
- xi ½ xi
15Conditions doptimalité
- Exemple (suite)
- On obtient
cest-à-dire
16Conditions doptimalité
X
?f(x)
x
17Conditions doptimalité
X
?f(x)
x
18Conditions doptimalité
- Exemple
- X x a x b.
- Conditions nécessaires doptimalité
19Directions admissibles
- Définition
- Soit xk un vecteur admissible. Le vecteur dk ? 0
est une direction admissible en xk sil existe e
gt 0 tel que - xk a dk ? X ? 0 a e.
20Directions admissibles
direction non admissible
direction admissible
toutes les directions sont admissibles
direction admissible
21Méthode des directions admissibles
- Soit une solution admissible x0 ? X.
- Pour k0,
- Si xk est stationnaire, STOP.
- xk1 xk ak dk
- où
- dk est une direction admissible
- ?f(xk)Tdk lt 0
- ak gt 0 est tel que xk1 ? X.
22Méthode des directions admissibles
- Lorsque X est convexe, les directions admissibles
dk sont de la forme - dk g(yk-xk) g gt 0,
- où yk est un vecteur admissible différent de xk.
dk
X
yk
xk
23Méthode des directions admissibles
- Soit une solution admissible x0 ? X.
- Pour k0,
- Si xk est stationnaire, STOP.
- xk1 xk ak (yk xk)
- où
- yk ? X, yk ? xk
- ?f(xk)T(yk-xk) lt 0
- ak ? 0,1.
24Méthode de Frank-Wolfe
- Pour trouver yk ? X vérifiant
- ?f(xk)T(yk-xk) lt 0,
- on résout
- miny ?f(xk)T(y-xk)
- s.c. y ? X
25Méthode de Frank-Wolfe
- Choix du pas
- Règle de minimisation
- ak argmina ? 0,1 f(xka(yk-xk))
- Règle dArmijo
- f(xkak(yk-xk)) f(xk)akb1?f(xk)T(yk-xk)
- b1 ? 0,1
26Méthode de Frank-Wolfe
- Notes
- Le sous-problème possède une solution optimale
car X est fermé. - Cette méthode nest opérationnelle que si le
sous-problème est simple à résoudre. - Cest le cas lorsque X est défini par des
contraintes linéaires, cest-à-dire X est un
polyèdre. - Le sous problème est alors un programme linéaire.
27Méthodes du gradient projeté
- La méthode de Frank-Wolfe se base sur un
sous-problème à coût linéaire. - Les méthodes du gradient projeté se basent sur un
sous-problème à coût quadratique. - Il est plus difficile à résoudre, mais la
convergence est meilleure.
28Méthodes du gradient projeté
- Définition
- Soit z ? IRn.
- Soit x solution (unique) de
- minx z-x2
- s.c. x ? X.
- x est la projection de z sur X.
- On notera
- x z
29Méthodes du gradient projeté
- Propriété
- Soit z ? IRn et x ? X.
- x z
- si et seulement si
- (z-x)T(x-x) 0 ?x ? X
x
X
z
x
30Méthodes du gradient projeté
- Soit une solution admissible x0 ? X.
- Pour k0,
- Si xk est stationnaire, STOP.
- xk1 xk ak (yk xk)
- où
- yk xk - sk ?f(xk)
- ak ? 0,1,
- sk ? IR, sk gt 0.
31xk
xk ak(yk-xk)
yk
xk- sk?f(xk)
xk- sk?f(xk)
32Méthodes du gradient projeté
- Notes
- La méthode nest opérationnelle que si
lopération de projection est suffisamment
simple. - Si xk- sk?f(xk) est admissible, il sagit dune
itération de la plus forte pente.
33Méthodes du gradient projeté
- Propriété
- x x - s?f(x) ?sgt0
- si et seulement si
- x est stationnaire.
- Preuve
- Tous les points suivants sont équivalents
- x est stationnaire
- ?f(x)T(x-x) ³ 0 ?x ? X
- -s?f(x)T(x-x) 0 ?x ? X, ?s gt 0
- (x - s?f(x) - x)T(x-x) 0 ?x ? X, ?s gt 0
34Méthodes du gradient projeté
- Preuve (suite)
- (x - s?f(x) - x)T(x-x) 0 ?x ? X, ?s gt 0
- Posons z x - s?f(x)
- (z - x)T(x-x) 0 ?x ? X, ?s gt 0
- x z ?s gt 0
- x x - s?f(x) ?s gt 0
35Méthodes du gradient projeté
- Choix des pas sk et ak.
- 1) Armijo le long de la direction admissible
- sk s, k0,1
- ak est choisi par la règle dArmijo sur
lintervalle 0,1 - Soient b ? 0,1, s ? 0,1
- ak bmk où mk est le premier entier positif tel
que - f(xk)-f(xkbm(yk-xk)) ³ -sbm?f(xk)T(yk-xk)
36Méthodes du gradient projeté
- 2) Armijo le long de larc de projection
- ak 1, k0,1,
- Le pas sk est déterminé en appliquant une règle
de style Armijo le long de larc de projection - xk(s) s gt 0 xk-s?f(xk) s gt 0
37Méthodes du gradient projeté
- Exemple x(x1,x2)T?IR2
- f(x) (x13)2 4(x2-1)2
- X (x1,x2)T x1 ³ 0, x2 ³ 0
- xk (5,5)T
- ?f(x) (2x16, 8 x2 -8)T
- ?f(xk) (16,32)T
- xk-s ?f(xk) (5-16s,5-32s)T
38xk
xk(s)xk-s?f(xk)
xk -s ?f(xk)
39Méthodes du gradient projeté
- Exemple (suite)
- xk(s)
- (5-16s,5-32s) si 0 s 5/32
- (5-16s,0) si 5/32 s 5/16
- 0 si s gt 5/16
- f(xk(s))
- 4352s2-1280s128 si 0 s 5/32
- 256s2-256s68 si 5/32 s 5/16
- f(0) si s gt 5/16
40s5/32
s5/16
f(xk(s))
s
41Méthodes du gradient projeté
- Soient s gt 0, b?0,1, s?0,1
- sk bm où m est le premier entier positif tel
que - f(xk)-f(xk(bms)) ³ s?f(xk)T(xk-xk(bms))
- ou encore
- f(xk(bms))-f(xk) s?f(xk)T(xk(bms)-xk)
42f(xk(s))-f(xk)
s?f(xk)T(xk(s)-xk)
Pas acceptables
s
43Méthodes du gradient projeté
- Notes
- Coût élevé pour le calcul de la projection.
- Convergence lente.
- Nécessité de préconditionner.
44Préconditionnement
- Le préconditionnement est un changement de
variables visant à améliorer la géométrie de la
fonction objectif. - Cela revient à un changement de variables, basé
sur une matrice définie positive - Hk LkLkT
- où Lk est le facteur de Cholesky de Hk
45Préconditionnement
Plus forte pente
46Préconditionnement
- Dans le cas sans contrainte, les méthodes Newton
et quasi-Newton peuvent donc être considérées
comme des versions préconditionnées de la méthode
de la plus forte pente. - Appliquons la même démarche dans le cas avec
contraintes.
47Préconditionnement
- Dans lespace préconditionné, le nombre de
conditionnement est déterminé par le rapport des
valeurs propres extrêmes de la matrice - Lk-1?f2(xk)Lk-T
- Si Hk ?f2(xk), ce nombre de conditionnement est
1.
48Méthode du gradient projeté préconditionné
- Soit une matrice Hk définie positive.
- Hk LkLkT
- Changement de variable
- x Lk-T z.
- Problème
- min hk(z)f(Lk-Tz)
- s.c. z ? Zk
- Zkz Lk-Tz ? X
49Méthode du gradient projeté préconditionné
- Itération du gradient projeté
- zk1 zk ak(yk-zk)
- avec
- ykzk - sk?hk(zk)
- ou encore
- yk argminy ? Zk y-zk sk?hk(zk)2
-
50Méthode du gradient projeté préconditionné
- y-zk sk?hk(zk)2
- (sk)2 ?hk(zk)2 2sk?hk(zk)T(y-zk)
y-zk2 - Donc,
- yk argminy ? Zk 2sk?hk(zk)T(y-zk) y-zk2
- ou encore
- yk argminy ? Zk ?hk(zk)T(y-zk) y-zk2/ 2sk
- Posons
- LkTy y, LkTyk yk, LkTxkzk
- Comme hk(z)f(Lk-Tz) , on a
- ?h(zk) L-1 ?f(xk)
-
51Méthode du gradient projeté préconditionné
- yk argminy ? Zk ?hk(zk)T(y-zk) y-zk2/ 2sk
- LkTyk argminLkTy ? Zk ?f(xk)TLk-T(LkTy -LkTxk)
LkTy -LkTxk 2 / 2sk - yk argminy ? X ?f(xk)T(y-xk)
(y-xk)TLkLkT(y-xk) /2sk - yk argminy ? X ?f(xk)T(y-xk) (y-xk)THk(y-xk)
/ 2sk - Une itération de la méthode
- zk1 zk ak(yk-zk)
- LkTxk1 LkTxk ak(LkTyk-LkTxk)
- xk1 xk ak(yk-xk)
-
52Méthode du gradient projeté préconditionné
- Note
- Un programme quadratique doit être résolu à
chaque itération. - La convergence dépend des valeurs propres de
- Lk-1?f2(xk)Lk-T
- Choix naturel pour Hk ?f2(xk)
- Méthode de Newton contrainte
53Problème quadratique
- Analysons plus en détail le programme quadratique
dans le cas où les contraintes sont linéaires. - Problème 1
- min ½ x2 cTx
- s.c. Ax 0
- équivalent à
- min ½ x2 cTx ½c2 cx2
- s.c. Ax 0
- Cest la projection de -c sur les contraintes.
54Problème quadratique
- x est lunique projection de c sur
- X x Ax 0
- si et seulement si
- (cx)Tx0 ?x tel que Ax 0.
- Le vecteur
- x AT(AAT)-1Ac c
- vérifie cette condition.
- Note on suppose A de rang plein.
55Problème quadratique
- Problème 1
- min ½ x2 cTx
- s.c. Ax 0
- Solution
- x AT(AAT)-1Ac c
56Problème quadratique
- Problème 2
- miny ½ a2(y-xk)TH(y-xk)cT(y-xk)
- s.c. Ay b
- avec xk vérifiant Axkb.
- Soit HLLT. Posons z aLT(y-xk).
- min ½ zTL-1LLTL-Tz cTL-Tz/a
- s.c. Axk AL-Tz /a b
- ou encore
- min ½ zTz cTL-Tz /a
- s.c. AL-Tz/a 0
57Problème quadratique
- Cest le problème 1 où
- c est remplacé par L-1c/a
- A est remplacé par AL-T/a
- La solution est donc
- az L-1AT(AL-TL-1AT)-1AL-TL-1c L-1c
- az L-1AT(AH-1AT)-1AH-1c L-1c
- a2LT(y-xk) L-1AT(AH-1AT)-1AH-1c L-1c
- a2LT(y-xk) L-1ATl L-1c
- avec l (AH-1AT)-1AH-1c
58Problème quadratique
- a2LT(y-xk) L-1ATl L-1c
- y-xk (H-1ATl H-1c)/a2
- y xk H-1(ATl c)/a2
- avec l (AH-1AT)-1AH-1c
- solution de
- min ½ a2(y-xk)TH(y-xk)cT(y-xk)
- s.c. Ay b
59Programmation linéaire
- Appliquons la méthode du gradient projeté
préconditionné à un programme linéaire en forme
standard. - min cTx
- s.c. Ax b
- x³0
- La solution se trouve sur un sommet du polyèdre
des contraintes. - Lalgorithme va lapprocher de lintérieur du
polyèdre.
60Programmation linéaire
- xk1 xk ak(yk-xk)
- yk argminy ? X ?f(xk)T(y-xk) (y-xk)THk(y-xk)
/ 2sk - Le sous problème quadratique sécrit ici
- miny (y-xk)THk(y-xk)/2sk cT(y-xk)
- s.c. Ay b, y ³ 0.
- Si on ignore les contraintes y ³ 0, la solution
est - yk xk skHk-1(ATlk c)
- avec lk (AHk-1AT)-1AHk-1c
61Programmation linéaire
- Si xk gt 0, et si sk est choisi suffisamment
petit, on a que - yk gt 0.
- Les contraintes de non négativité peuvent donc
être ignorées. - On a donc
- xk1 xk akskHk-1(ATlk c)
- On peut remplacer aksk par ak sans perte de
généralité. - ak est choisi pour que xk1 gt 0.
62Programmation linéaire
- Si amaxaxkakskHk-1(ATlk c)³0
- Il faut que ak lt a.
- En pratique, ak ? 0.9 a, 0.999 a
- Choix de Hk
- Hk I
- xk1 xk ak (AT(AAT)-1Ac c)
- xk1 xk (ak-1)c
- La méthode avance toujours dans la même direction
- Ca ne fonctionne pas
63Programmation linéaire
- Choix de Hk
- Méthode de Dunkin-Karmarkar
- Hk (Xk)-2
- Xk est la matrice diagonale telle que Xk(i,i)
xk(i) - xk1 xk akXk2(ATlk c)
- avec lk (AXk2AT)-1AXk2c
64Programmation linéaire
- Exemple
- min x 2y 3z
- s.c xyz1
- x,y,z ³ 0
- Point de départ (1/3, 1/3, 1/3)
65ak 0.9 a
66ak 0.5 a