Title: Chapitre 1 Optimisation non linaire avec contraintes
1Chapitre 1Optimisation non linéaireavec
contraintes
- Optimisation B
- Génie Mécanique
2Méthodes de barrière ou de points intérieurs
3Introduction
- Problème
- min f(x)
- s.c. x ? X
- g(x) 0
- fIRn?IR et gIRn ?IRr continues
- X ensemble fermé
- Intérieur des contraintes dinégalité
- S x ? X t.q. g(x) lt 0
4Introduction
- Hypothèses
- S ? ?
- ? x admissible, ? d gt 0
- ? x ? S t.q. x-x lt d
- On peut donc approcher arbitrairement près tout
vecteur admissible par des vecteurs de S. - Cette hypothèse est vérifiée si g est linéaire.
5Fonction barrière
- Idée
- On ajoute une fonction de coût
- B(x) SIR
- telle que B(x) soit continue et
6Fonction barrière
- Exemples
- Fonction barrière logarithmique
- Fonction barrière inverse
70 x 1 g1(x) -x g2(x) x-1 B1(x) - ln x -
ln (1-x)
80 x 1 g1(x) -x g2(x) x-1 B2(x) 1/x
1/(x-1)
9Méthodes de barrière
- Soit une suite (ek) telle que
- 0 lt ek1 lt ek k0,1,
- ek 0
- Pour chaque k on définit
- xk argminx?S (f(x)ekB(x))
10Méthodes de barrière
- Notes
- xk ? S est un point intérieur pour les
contraintes dinégalité. - Si XIRn, chaque sous-problème est un problème
sans contrainte. - Si X est convexe, on peut utiliser les méthodes
de gradient projeté (e.g. la méthode de Newton
contrainte). - ?x ?S, limk? ekB(x)0
11Méthodes de barrière
- Exemple
- min f(x) ½ (x12x22)
- s.c. 2 x1
- Solution optimale x(2,0)
- xk argminx1 gt 2 ½ (x12x22) ekln(x1-2)
- xk (1(1ek)½ , 0)
12ek0.3
13ek0.15
14ek0.095
15ek0.03
16ek0.003
17Méthodes de barrière
- Propriété
- Tout point limite dune suite (xk) générée par
une méthode de barrière est un minimum global du
problème original.
18Programmation linéaire
- Problème
- min cTx
- s.c. Ax b, x ³ 0
- c?IRn, b?IRm,A?IRmxn
- rang(A) m
- Hypothèse le problème possède une solution
optimale. - X x t.q. Axb
- S x t.q. Axb, x gt 0
19Programmation linéaire
- Sous-problème
- x(e) argminx?S Fe(x)
20Programmation linéaire
- Définition
- Soit x?lime? x(e)
- x? est le centre analytique de S.
- Définition
- La trajectoire de x(e) lorsque e varie entre ? et
0 est appelé le chemin central.
21min x12x23x3 s.c. x1x2x31 x ³ 0
Centre analytique (1/3,1/3,1/3)
Chemin central
22Programmation linéaire
- Problème
- Pour chaque k, il faut résoudre un programme non
linéaire. - Le calcul de x(ek) nécessite un nombre infini
ditérations. - Idée
- Calculer x(ek) approximativement.
23Programmation linéaire
- Rappel
- Méthode de Newton contrainte
- Calcule x à partir de x.
- x x a(y-x)
- où y est solution de
- minz ?Fe(x)T(z-x)½(z-x)T?2Fe(x)(z-x)
- s.c. Azb
24Programmation linéaire
25Programmation linéaire
- Solution analytique du programme quadratique
- y x X2(c-ex-1-ATl)/e
- avec l(AX2AT)-1AX2(c-ex-1)
- Note
- X2x-1 Xe x
- avec e (1 1 1)T
26Programmation linéaire
- Posons
- z c ATl
- q(x,e) (Xz)/e e
- On obtient
- y x X q(x,e)
- q(x,e) est une mesure de proximité entre x et
x(e) - q(x,e) 0 ssi xx(e)
27Programmation linéaire
- Pour que la méthode converge, il suffit darrêter
loptimisation de Fe(x) lorsque q(x,e) lt 1 - Théorème
- Si x gt 0, Axb et q(x,e) lt 1
- cTx - f cTx bTl
- e(nq(x,e)?n)
- e(n?n)
- où f est la valeur optimale du problème
original.
28Programmation linéaire
- Algorithme de points intérieurs
- Soient e0 ,egt0, 0lta,glt1 et x0 ? S
- ek e0, xk x0 , k0
- Tant que ek gt e
- y0 xk, i0
- Tant que q(yi,ek) gt g
- yi1 yi X q(yi,ek)
- i i1
- xk1 yi
- ek1 aek
- kk1
Méthode de Newton contrainte
29Programmation linéaire
- Théorème
- Si xgt0, Axb et q(x,e)lt1
- Alors le pas de Newton pur
- x x X q(x,e)
- est un point intérieur (i.e. x ? S)
- De plus q(x,e) lt 1 et
- q(x,e) q(x,e)2
30Programmation linéaire
- Notes
- Pour k gt 0, on ne fait quune seule itération de
la méthode de Newton contrainte. - On a que q(xk1,ek) lt g
- Si ek1 est choisi suffisamment proche de ek, on
aura aussi q(xk1,ek1) lt g
31Programmation linéaire
- Théorème
- Si xk gt 0, Axkb
- Sil existe dgt0, glt1 tels que
- ek1 (1-dn-½)ek
- q(xk,ek) g
- Alors
32Programmation linéaire
- on obtient
- q(xk1,ek1) g
- Dans lalgorithme, il suffit donc de prendre
- a 1-dn-½
33Programmation linéaire
- Notes
- On peut maintenir chaque itéré très proche du
chemin central (gltlt1) en choisissant d très
petit, c-à-d a proche de 1. - Il faudra donc beaucoup ditérations, car ek1
sera proche de ek. - On gagne en itérations Newton, mais on perd en
itérations majeures.
34Programmation linéaire
- Notes
- Si on choisit
- on nest plus assuré quune seule itération
Newton sera suffisante. - Par contre, le nombre ditérations majeures sera
réduit. - En pratique, ce type de stratégie est plus
efficace.
35x0(0.2 0.5 0.3) e0 1 d 0.9 21 iter.
36x0(0.2 0.5 0.3) e0 1 d 0.1 78 iter.
37x0(0.2 0.5 0.3) e0 10 d 0.9 10 iter.
38Programmation linéaire
- Notes
- e0 élevé signifie que le premier itéré est proche
du centre analytique. - d proche de 0 signifie que chaque itéré doit être
proche du chemin central. - Il est préférable de prendre e0 élevé et d proche
de 1.
39Programmation linéaire
- Interprétation
- Point de Newton
- y x X2(c-ex-1-ATl)/e
- avec l(AX2AT)-1AX2(c-ex-1)
- Posons
- la (AX2AT)-1AX2c
- lc (AX2AT)-1AX2x-1 (AX2AT)-1AXe
- l la - elc
40Programmation linéaire
- Direction de Newton
- dN y x - X2(c - ex-1 - AT(la elc))/e
- Posons
- da - X2 (c - ATla)
- dc Xe X2ATlc
- dNda/e dc
Méthode de Dunkin-Karmarkar
Composante de centrage
41Programmation linéaire
- dc est le pas de Newton pour la résolution du
problème
dont la seule solution est le centre analytique
des contraintes.
42Programmation linéaire
- dNda/e dc
- da vise à minimiser le coût
- dc vise à se rapprocher du centre analytique
- dc ne dépend pas du vecteur de coût c
- Ni da ni dc ne dépendent de e
- Le seul rôle de e est de pondérer da et dc.