Etude d’optimisation d’éclairement naturel et de confort ...
Techniques d’optimisation
Transcript of Techniques d’optimisation
1
Techniques d’optimisation
Max CERF
Techniques d’optimisation
2
Sommaire 1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes
Techniques d’optimisation
3
Sommaire 1. Bases théoriques
1.1 Définitions 1.2 Contraintes linéaires 1.3 Contraintes non linéaires 1.4 Conditions d’optimalité
2. Optimisation sans contraintes
3. Optimisation avec contraintes
1 Bases théoriques
Techniques d’optimisation
4
Sommaire 1. Bases théoriques
1.1 Définitions 1.1.1 Problème d’optimisation 1.1.2 Solution 1.1.3 Différentiabilité 1.1.4 Convexité 1.1.5 Conditionnement 1.1.6 Direction de déplacement 1.2 Contraintes linéaires 1.3 Contraintes non linéaires 1.4 Conditions d’optimalité
2. Optimisation sans contraintes
3. Optimisation avec contraintes
1 Bases théoriques 1.1 Définitions
Techniques d’optimisation
5
1.1.1 Problème d’optimisation
Classification des problèmes d’optimisation - Optimisation continue dans Rn
Formulation mathématique et notations
- Variables - Critère - Contraintes
Norme sur Rn
- Norme vectorielle - Norme matricielle
Suite dans Rn
- Limite - Vitesse de convergence
1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation
Techniques d’optimisation
6
1.1.1 Classification
Optimisation fonctionnelle / paramétrique • Inconnues = fonctions → Optimisation fonctionnelle
Optimisation en dimension infinie Commande optimale
• Inconnues = entiers ou réels → Optimisation paramétrique Optimisation en dimension finie Programmation mathématique
Programmation mathématique • Inconnues = entiers → Optimisation combinatoire
Programmation en nombres entiers
• Inconnues = réels → Optimisation continue Programmation linéaire (LP)
Programmation non linéaire (NLP) • Inconnues = entiers et réels → Programmation mixte
1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation
Techniques d’optimisation
7
1.1.1 Formulation Formulation mathématique → formulation standard problème noté (PO) Notations • x : n variables ou paramètres → vecteur de Rn
ou inconnues
• f : critère ou fonction coût → fonction de Rn dans R ou fonction objectif
• cE : p contraintes d’égalité → fonction de Rn dans Rp
• cI : q contraintes d’inégalité → fonction de Rn dans Rq • X : ensemble convexe X ⊆ Rn → valeurs admissibles des variables
∈≤=
∈ Xx0(x)c0(x)c
sousf(x)min I
E
Rx n
Rf(x)Rx n ∈∈
pE
n R(x)cRx ∈∈
qI
n R(x)cRx ∈∈
1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation
Techniques d’optimisation
8
1.1.1 Optimisation continue
Hypothèses • Continuité : Fonctions continues de variables réelles
→ Optimisation continue ≠ Optimisation combinatoire, Programmation en nombres entiers
• Différentiabilité : Fonctions différentiables → Méthodes à base de gradient ≠ Méthodes sans dérivées • Déterminisme : Les données du problème sont parfaitement connues ≠ Optimisation stochastique • Programmation linéaire : coût linéaire et contraintes linéaires (LP) • Programmation quadratique : coût quadratique et contraintes linéaires (QP) • Programmation non linéaire : cas général, fonctions quelconques (NLP) Rappels d’analyse
• Norme • Suite - Convergence
1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation
Techniques d’optimisation
9
1.1.1 Norme Norme vectorielle sur Rn
• Fonction vérifiant • Norme p : • Norme ∞ : • Norme 2 = norme euclidienne Norme matricielle • Norme induite sur Rm×n par la norme vectorielle • Fonction définie par
RR:. n →
=+≤+=⇔=
≥
xααxyxyx
0x0x0x
pn
1i
pip
xx ∑=
=
in1,...,ixmaxx
=∞=
RR:. nmnm
→××
.
xAx
maxA0x,Rxnm n ≠∈×
=
1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation
x1
x2
∞x
x
2x
1x
Techniques d’optimisation
10
1.1.1 Suite Suite dans Rn • Suite : { xk , k=0,1,2,…} = {x0 , x1 , x2 ,…, xn, …}
• Limite : Vitesse de convergence • Convergence linéaire :
→ lent à partir d’un certain rang k0 • Convergence superlinéaire :
→ bonne à partir d’un certain rang k0 • Convergence d’ordre p :
à partir d’un certain rang k0 • Convergence quadratique si p=2 → rapide
*xxlim*xxlim kkkk−⇔=
∞→∞→
1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation
1c0avec*xxc*xx k1k <≤−≤−+
0climavec*xxc*xx kkkk1k =−≤−∞→+
1c0avec*xxc*xx pk1k <≤−≤−+
Techniques d’optimisation
11
1.1.2 Solution
Solution admissible
Minimum - Minimum local - Minimum global - Infimum
Problèmes équivalents
- Transformations simples
Contrainte active
Point intérieur
1 Bases théoriques 1.1 Définitions 1.1.2 Solution
Techniques d’optimisation
12
1.1.2 Solution admissible Solution admissible x solution admissible de (PO) ⇔ x satisfait les contraintes (ou point admissible) Ensemble admissible Illustration dans R2
• c1(x) = 0 → courbe • c2(x) ≤ 0 → région du plan • c3(x) ≤ 0 → région du plan Dans Rn
• c(x) = 0 → hypersurface (dimension n-1)
• aTx = 0 → hyperplan ⊥ a∈Rn (linéaire)
∈≤=
Xx0(x)c0(x)c
I
E
{ }Xx,0(x)c,0(x)c/RxX IEn
adm ∈≤=∈=
1 Bases théoriques 1.1 Définitions 1.1.2 Solution
Non admissible
Techniques d’optimisation
13
1.1.2 Minimum Minimum global (= meilleure solution dans l’absolu) • x* minimum global de (PO) ⇔ • x* minimum global strict ⇔ Minimum local (= meilleure solution dans un voisinage) • x* minimum local de (PO) ⇔ • x* minimum local strict ⇔
f(x)f(x*),Xx adm ≤∈∀
f(x)f(x*),ε*xx,Xx/0ε adm ≤<−∈∀>∃
*x xsif(x)f(x*),Xx adm ≠<∈∀
*xxsif(x)f(x*),ε*xx,Xx/0ε adm ≠<<−∈∀>∃
1 Bases théoriques 1.1 Définitions 1.1.2 Solution
f(x)
x
minimum local strict
minimum global strict
minima locaux
Sans contrainte f(x)
x
minimum global strict
Xadm
Non admissible Admissible
Avec contrainte
Techniques d’optimisation
14
1.1.2 Infimum Borne inférieure f : Rn → R f bornée inférieurement sur Y ⊆ Rn ⇔ Infimum • Infimum de f sur Y = plus grande borne inférieure • Notation : • Propriété : Théorème de Weierstrass • f atteint son infimum si f continue, Y compact : • Conditions réalisées en pratique : fonctions continues, intervalles fermés → Le problème (PO) admet une solution x*.
f(x)M,Yx/R M ≤∈∀∈∃
<∈∃>∀
≤∈∀
Mf(x)/Yx,finfMet
f(x)finf,Yx
Y
Y
{ }Yy,f(y)inffinfY ∈=
finff(x*)/Y x* Y=∈∃
1 Bases théoriques 1.1 Définitions 1.1.2 Solution
Techniques d’optimisation
15
1.1.2 Problèmes équivalents
Problèmes équivalents (PO1) et (PO2) sont deux problèmes équivalents si on peut associer à tout point admissible x1 de (PO1) un point admissible x2 de (PO2) avec la même valeur pour le critère. (PO1) et (PO2) ont alors des solutions de même coût : f1(x1
*) = f2(x2*)
Transformations simples • Changement de variable : y= ϕ(x) avec ϕ strictement croissante sur X
• Maximisation / minimisation :
• Contrainte inférieur / supérieur :
• Variables positives :
• Variables d’écart :
x1 ∈X1adm f1(x1)
x2 ∈X2adm f2(x2) f1(x1)=f2(x2)
( )f(x)minf(x)maxxx
−⇔
0c(x)0c(x) ≤−⇔≥
≥≥−= −
+−+
0x0xavecxxx
0zc(x)0y0yc(x)0c(x) 2 =+⇔
≥=+⇔≤
1 Bases théoriques 1.1 Définitions 1.1.2 Solution
Techniques d’optimisation
16
1.1.2 Contrainte active
Contrainte active Une contrainte du problème (PO) est active (ou saturée) en x si elle s’annule en x. Ensemble des contraintes actives • Contrainte égalité cE : x admissible ⇒ cE(x) = 0 ⇒ cE active en x • Contrainte inégalité cI : x admissible ⇒ cI(x) ≤ 0 ⇒ cI active en x si cI(x) = 0
cI inactive en x si cI(x) < 0 Intérêt • Les contraintes inégalité inactives n’ont pas d’influence sur la solution x* du problème (PO).
On peut les ignorer, si on identifie l’ensemble Cact(x*). Mais x* n’est pas connu au départ … • Le problème (PO) est équivalent au problème (PO)act réduit aux contraintes actives
prises comme des contraintes égalité.
{ } { } 0(x)c/j0(x)c/j(x)C IjEjact ===
1 Bases théoriques 1.1 Définitions 1.1.2 Solution
0c(x)sousf(x)minnoténRx
=∈
(x*)Cj 0,(x)csousf(x)min0(x)c0(x)csousf(x)min actj
RxI
ERx nn
∈=⇔
≤=
∈∈
Techniques d’optimisation
17
1.1.2 Exemple
Contrainte active 1. Minimum sans contrainte • Respecte la contrainte x ≤ 2 • Ne respecte pas la contrainte x ≥ 1
→ Activation de la contrainte x = 1 2. Minimum avec contrainte active x = 1 • Respecte la contrainte x ≤ 2 • Respecte la contrainte x ≥ 1
→ Solution du problème 3. Bilan : 1 contrainte active x ≥ 1 → transformée en égalité 1 contrainte inactive x ≤ 2 → ignorée
1 Bases théoriques 1.1 Définitions 1.1.2 Solution
1*x2x1xsous1xmin 2
Rx=→
≤≥+
∈
x 2 1 0
f(x)=x2 f(x)
admissible
Minimum sans contrainte
Minimum avec contrainte
0*x1xmin 2
Rx=→+
∈
1*x1xsous1xmin 2
Rx=→=+
∈
Techniques d’optimisation
18
1.1.2 Point intérieur Point intérieur y point intérieur à Y ⇔ Il existe un voisinage de y contenu dans Y : Un problème avec contraintes égalité n’admet pas de point intérieur Solution intérieure aux contraintes • x* minimum local du problème avec contraintes inégalité • Si x* est un point intérieur, alors x* minimum local du problème sans contraintes → plus simple
Yz,εy-z z,/0ε ∈≤∀>∃
0(x)csousf(x)min IRx n
≤∈
f(x)minnRx∈
1 Bases théoriques 1.1 Définitions 1.1.2 Solution
x*
x*
Point intérieur - Contrainte inactive Contrainte active
Techniques d’optimisation
19
1.1.2 Exemple
Point intérieur 1. Ensemble admissible 2. Ensemble intérieur à la contrainte x∈Xint → voisinage de x inclus dans Xint → intervalle ouvert 3. Solution : x*=0 x*∈Xint intérieur à la contrainte → contrainte inactive
1 Bases théoriques 1.1 Définitions 1.1.2 Solution
0*x1xsous1xmin 2
Rx=→≤+
∈
x 1 0
f(x)=x2 f(x)
admissible
Minimum avec contrainte
{ } ]1,]1x/RxXadm ∞−=≤∈=
{ } [1,]1x/RxXint ∞−=<∈=
{ }1XX admint −=
Techniques d’optimisation
20
1.1.3 Différentiabilité
Définitions - Dérivée partielle - Dérivée directionnelle - Gradient - Hessien - Jacobien
Théorème de Taylor - Ordre 1 et 2 - Modèle quadratique-linéaire - Ligne de niveau
Dérivées numériques
- Différences finies - Erreurs numériques - Incrément
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Techniques d’optimisation
21
1.1.3 Gradient
Différentiabilité ordre 1 f fonction continue de Rn dans R Dérivée partielle Dérivée partielle de f en x par rapport à xi : si la limite existe Gradient Gradient de f en x : si toutes les dérivées partielles existent Dérivée directionnelle Dérivée directionnelle de f en x dans la direction d∈Rn : si la limite existe (dérivée directionnelle = produit scalaire avec le gradient) Fonction différentiable f différentiable en x ⇔ f admet une dérivée directionnelle pour tout d∈Rn
dg(x)(x)f Td =⇒
s)x,..,x,..,f(x)xs,..,x,..,f(xlim
xf(x)(x)f ni1ni1
0si
xi
−+=
∂∂
=→
nn RR:g(x)f(x)g(x)
→∇=
∂∂
∂∂
=
∂
∂=
=
n
1
n1,...,ii
xf(x)...x
f(x)
xf(x)g(x)
sf(x)-sd)f(xlim(x)f
0sd+
=→
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Techniques d’optimisation
22
1.1.3 Hessien
Différentiabilité ordre 2 f fonction deux fois différentiable de Rn dans R Hessien Hessien de f en x : Courbure On définit pour une direction d ∈Rn au point x la fonction ϕ à une variable : ϕ(s) = f(x+sd) → variation de f dans la direction d • Dérivée première : • Dérivée seconde :
La courbure de f en x dans la direction d est définie par : → normalisation de ϕ’’ en s=0 = quotient de Rayleigh de H(x) dans la direction d
nnn
2
RR:H(x)f(x)H(x)
×→∇=
∂∂
∂∂∂
∂∂∂
∂∂
=
∂∂∂
==
n2
2
1n
2
n1
2
12
2
n1,...,ji,ji
2
xf(x)...
xxf(x)
.........xx
f(x)...x
f(x)
xxf(x)H(x)
ddH(x)dd
T
T
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
sd)f(xd(s)' T +∇=ϕsd)df(xd(s)'' 2T +∇=ϕ
g(x)d(0)' T=ϕ→(x)dHd(0)'' T=ϕ→
Techniques d’optimisation
23
1.1.3 Jacobien
Matrice gradient c fonction continue de Rn dans Rm Gradient de c en x : Matrice jacobienne (« jacobien » = déterminant de Jc) Contraintes du problème (PO) Matrice jacobienne regroupant les contraintes égalité cE et les contraintes inégalité cI
( )
∂∂
∂∂
∂∂
∂∂
=
∂
∂=∇∇=∇
==
n
m
n
1
1
m
1
1
m1,...,jn1,...,ii
jm1
x(x)c...
x(x)c
.........x(x)c...
x(x)c
x(x)c
(x)c,...,(x)cc(x)
mnn RR:c(x) ×→∇
∂∂
∂∂
∂∂
∂∂
=
∂∂
=
∇
∇=∇=
==
n
m
1
m
n
1
1
1
m1,...,jn1,...,ij
i
Tm
T1
Tc
x(x)c...
x(x)c
.........x(x)c...
x(x)c
x(x)c
(x)c...(x)c
c(x)(x)J
nq)p(n RR:J(x) ×+→
∇∇=
= T
I
TE
I
E
(x)c(x)c
(x)J(x)JJ(x)
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Techniques d’optimisation
24
1.1.3 Théorème de Taylor Théorème de Taylor f fonction de Rn dans R : d∈Rn : déplacement à partir de x • Ordre 1 f continument différentiable 1 fois au voisinage de x Il existe s∈[0,1] tel que : • Ordre 2 f continument différentiable 2 fois au voisinage de x Il existe s∈[0,1] tel que :
( )dodf(x)f(x)d)f(x T +∇+=+
Rf(x)Rx n ∈∈
dsd)f(xf(x)d)f(x T+∇+=+
( )22TT dof(x)dd21df(x)f(x)d)f(x +∇+∇+=+
sd)df(xd21df(x)f(x)d)f(x 2TT +∇+∇+=+
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Techniques d’optimisation
25
1.1.3 Modèle quadratique-linéaire Problème avec contraintes égalité Fonction modèle • Application du théorème de Taylor au point x0∈Rn
• Modèle quadratique du critère : • Modèle linéaire des contraintes : Problème quadratique-linéaire local Au voisinage de x0 : → Problème quadratique-linéaire - localement « proche » du problème initial - plus simple à résoudre
)x(x)c(x)c(x(x)c 0T
000 −∇+=
)x)(xf(x)x(x21)x(x)f(x)f(x(x)f 00
2T00
T000 −∇−+−∇+=
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
0c(x)sousf(x)minnRx
=∈
0(x)csous(x)fmin 00Rx n
=∈
≈≈
(x)cc(x)(x)f(x)f
0
0
→ contrainte actives
Techniques d’optimisation
26
1.1.3 Exemple Modèle quadratique : fonction de 1 variable
• Fonction : • Gradient : • Hessien : • Modèle quadratique en x0 = 3 :
• Modèle quadratique en x0 = 4 : • Modèle quadratique en x0 = 5 :
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
x60x47x12x)x(f 234 +−+−=
60x94x36x4)x(f 23 +−+−=∇
94x72x12)x(f 22 −+−=∇
( ) ( ) 81x48x73x14213x6)x(f 22
0 +−=−+−−=
14)x(f,6)x(f,0)x(f 02
00 =∇−=∇=
2)x(f,4)x(f,0)x(f 02
00 =∇=∇=
( ) ( ) x4x4x2214x4)x(f 22
0 −=−+−=
34)x(f,10)x(f,0)x(f 02
00 −=∇−=∇=
( ) ( ) 375x160x175x34215x10)x(f 22
0 −+−=−−−−=
Techniques d’optimisation
27
1.1.3 Exemple Modèle quadratique : fonction de 2 variables • Fonction : → fonction de Rosenbrock • Gradient :
• Hessien : • Modèle quadratique en x0 = (1,1) :
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
( ) ( )21
221221 x1xx100)x,x(f −+−=
( ) ( )( )
−−−−−
=∇ 212
11212
xx200x12xxx400
)x(f
( )
−
−+−−=∇
200x400x4002x3x400
)x(f1
1122
−−
−
−
−−
=1x1x
200400400802
1x1x
21)x,x(f
2
1T
2
1210
−
−=∇
=∇=
200400400802
)x(f,00
)x(f,0)x(f 02
00
( ) ( )( ) ( )2221
21210 1x1001x1x4001x401)x,x(f −+−−−−=⇒
Techniques d’optimisation
28
1.1.3 Résultats utiles
Gradient d’une fonction scalaire • Le gradient de f : Rn → R en x est le vecteur g ∈Rn tel que
• Fonction quadratique : Q matrice symétrique
Gradient d’une fonction vectorielle • Le gradient de f : Rn → Rp en x est la matrice G∈Rn×p telle que • Fonction composée : • Fonction linéaire :
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
pmmnpn RR:h,RR:g,RR:favec →→→
( ) nT Rd,dodg)x(fd)f(x ∈∀++=+
bxcQxx21 f(x) TT ++=
( ) Qdd21dcQxf(x) bd)(xcd)Q(xd)(x
21 d)f(x TTTT +++=+++++=+
cxQ f(x) +=∇→ Q f(x)2 =∇
( ) nT Rd,dodGf(x)d)f(x ∈∀++=+
( )g(x)hf(x) =
( ) ( )( ) ( ) ( ) ( )dod)x(gg(x)hg(x)hdod)x(gg(x)hd)g(xhd)f(x TTT +∇∇+=+∇+=+=+
→ ( )g(x)h)x(g f(x) ∇∇=∇
AdAxd)g(xAxg(x) +=+⇒= TAg(x) =∇⇒
( ) ( )AxhA f(x)Axhf(x) T∇=∇→=
Techniques d’optimisation
29
1.1.3 Ligne de niveau Définition • Ligne (ou surface) de niveau l0 de la fonction f
→ hypersurface dans Rn (sous-espace de dimension n-1) • Ligne de niveau passant par x0 Gradient → hyperplan tangent à L0 en x0 Le gradient de f est orthogonal aux lignes de niveaux.
{ }0n
0 lf(x)/RxL =∈=
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
( ) 1ordrel'àxxo)x(x)f(x)f(xf(x)avec 00T
00 −+−∇+=
0)x(x)f(x)f(xf(x)Lx 0T
000 =−∇⇒=⇒∈
{ })f(xf(x)/RxL 0n
0 =∈=
x1
x2
x*
∇f
x1
x2
f(x1,x2)
x*
∇f
Techniques d’optimisation
30
1.1.3 Exemple Ligne de niveau : fonction quadratique
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
22
2121 x25x)x,x(f +=
x1
x2
f=0 1
0.2
0,5
Techniques d’optimisation
31
1.1.3 Exemple Ligne de niveau : fonction de Rosenbrock
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
( ) ( )21
221221 x1xx100)x,x(f −+−=
-1,0
0,0
1,0
2,0
3,0
4,0
5,0
-2,5 -2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
Minimum en x*=(1,1)
Lignes de niveau f=0.5 , 1 , 4 , 7 , 10
Techniques d’optimisation
32
1.1.3 Dérivées numériques Différences finies Les expressions analytiques de ∇f(x) et ∇2f(x) ne sont généralement pas disponibles. → Evaluation par différences finies avec incrément h appliqué successivement sur chaque variable Gradient
• Différence finie simple :
amont si h<0 aval si h>0 → n appels fonction pour évaluer ∇f(x)
• Différence finie centrée :
plus précis → 2n appels fonction pour évaluer ∇f(x) Hessien • Différence finie simple :
→ n(n+1)/2+n appels fonction pour évaluer ∇2f(x)
nà1i,)0,,0,1,0,,0(eavechexx Tn1ii1i1
ii ==+→+−
)h(oh
f(x))hef(x(x)xf i
i
+−+
=∂∂
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
)h(oh2
)hef(x)hef(x(x)xf 2ii
i
+−−+
=∂∂
)h(oh
f(x))hef(x)hef(x)hehef(x(x)
xxf
2jiji
ji
2
+++−+−++
=∂∂
∂
Techniques d’optimisation
33
1.1.3 Dérivées numériques Sources d’erreurs L’ évaluation d’une dérivée par différence finie génère 2 types d’erreurs : • Erreur d’arrondi (ou de conditionnement) • Erreur de troncature Erreur d’arrondi Les réels sont représentés en mémoire machine calcul avec une précision finie. La précision machine εm est le plus petit réel tel que : 1 + εm ≠ 1 → erreur relative εm=10-16 sur la valeur d’un réel x en double précision → erreur relative εr sur la valeur évaluée de f(x) εr >> εm par cumul des erreurs au cours des opérations pour passer de x à f(x) → εf = erreur absolue sur f Erreur de troncature L’ évaluation d’une dérivée par différence finie tronque le développement de Taylor à l’ordre 1. •
•
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
[ ]0,1savecsh)(x'f'h21)(xhf')f(xh)f(x 0
2000 ∈+++=+
t2
000 εh21)(xhf')f(xh)f(x ±+=+
fexactrexacteval ε(x)f)ε(x)(1f(x)f ±=±=
[ ]dx,xsur)x(''fdemajorantMεveca 00t +<
Techniques d’optimisation
34
1.1.3 Dérivées numériques Erreur sur la dérivée avec • → arrondi sur feval(x0) • → arrondi sur feval(x0+h)
• → troncature sur fexact(x0+h) En remplaçant dans l’expression de f’eval(x0) : L’erreur maximale sur la dérivée numérique est :
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
t2
0'exact0exact0exact εh
21)(xhf)(xfh)(xf ±+=+
h)(xfh)(xf
)(xf 0eval0eval0
'eval
−+=
h
ε2εh21)(xhf
hε2)(xfh)(xf
)(xfft
20
'exact
f0exact0exact0
'eval
±±=
±−+=⇒
hε2
2hε
)(xf)(xf ft0
'exact0
'eval ±±=⇒
hε2
2hε ft
'f +=ε
f0exact0eval ε )(xf)(xf ±=
f0exact0eval ε h)(xfh)(xf ±+=+
Techniques d’optimisation
35
1.1.3 Dérivées numériques Incrément optimal • On choisit l’incrément pour minimiser l’erreur : • Règle empirique de réglage de l’incrément
En supposant que l’ordre de grandeur de la dérivée seconde est de l’ordre de 1 : → incrément de l’ordre de la racine de la précision d’évaluation de f → précision sur f’ de l’ordre de la racine de la précision d’évaluation de f (2 fois moins de chiffres significatifs)
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
t
fopt ε
ε2h =⇒0hε2
2ε
dhd
2ft'f =−=
ε
tf'f εε2=ε⇒
fopt εh ≈
f'f ε≈ε
hε2
2hε
min ft'fh
+=ε
hopt
Techniques d’optimisation
36
1.1.3 Exemple Dérivée numérique • Dérivée en x=1 : f’(1) = 6 • Dérivée numérique avec incrément h → erreur
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
24 xx)x(f += x2x4)x('f 3 +=→
h (f(x+h)-f(x))/h Erreur 1E-01 6,7410000000 7,410E-01 1E-02 6,0704010000 7,040E-02 1E-03 6,0070040010 7,004E-03 1E-04 6,0007000400 7,000E-04 1E-05 6,0000700004 7,000E-05 1E-06 6,0000069997 7,000E-06 1E-07 6,0000007007 7,007E-07 1E-08 6,0000000079 7,944E-09 1E-09 6,0000004964 4,964E-07 1E-10 6,0000004964 4,964E-07 1E-11 6,0000004964 4,964E-07 1E-12 6,0005334035 5,334E-04 1E-13 5,9952043330 -4,796E-03 1E-14 5,9952043330 -4,796E-03 1E-15 6,6613381478 6,613E-01
)x('fh
)x(f)hx(f)h(e −−+
=
-9
-8
-7
-6
-5
-4
-3
-2
-1
0
1
-16 -14 -12 -10 -8 -6 -4 -2 0
log(h)
log(e)
incrément adapté
Techniques d’optimisation
37
1.1.4 Convexité
Ensemble convexe
Fonction convexe
Lien avec le gradient et le hessien
1 Bases théoriques 1.1 Définitions 1.1.4 Convexité
Techniques d’optimisation
38
1.1.4 Convexité
Ensemble convexe X ⊆ Rn convexe ⇔ Interprétation géométrique : Segment inclus dans X Fonction convexe f fonction de Rn dans R • f convexe ⇔ • f strictement convexe ⇔ • f concave ⇔ −f convexe Interprétation géométrique : Sécante au dessus de la courbe Concavité vers le haut
[ ] ( ) λ)f(y)(1λf(x)λ)y(1λxf,0,1λ,R yx, n −+≤−+∈∀∈∀
[ ] X λ)y(1λx,0,1λ,X yx, ∈−+∈∀∈∀
] [ ( ) λ)f(y)(1λf(x)λ)y(1λxf,0,1λ,R yx, n −+<−+∈∀∈∀
1 Bases théoriques 1.1 Définitions 1.1.4 Convexité
Non connexe Non convexe Convexe
y
x
y
x
x y λ
Techniques d’optimisation
39
1.1.4 Convexité
Convexité et gradient f fonction différentiable de X⊆Rn dans R, X ensemble convexe ouvert • f convexe ⇔ • f strictement convexe ⇔ Interprétation géométrique : Tangente au dessous de la courbe Convexité et hessien f fonction deux fois différentiable de X ⊆ Rn dans R, X ensemble convexe ouvert • f convexe ⇔ semi-définie positive • f strictement convexe ⇔ définie positive Matrice définie positive A∈Rn×n • A définie positive ⇔ • A semi-définie positive ⇔
g(x)x)(yf(x)f(y),X yx, T−≥−∈∀
H(x),Rx n∈∀
g(x)x)(yf(x)f(y),X yx, T−>−∈∀
H(x),Rx n∈∀
0Add,Rd Tn >∈∀0Add,Rd Tn ≥∈∀
1 Bases théoriques 1.1 Définitions 1.1.4 Convexité
x y
Techniques d’optimisation
40
1.1.4 Exemple
Fonction convexe • Fonction : f(x) = x2
f’’(x) = 2 → convexe sur R • Fonction : f(x) = x3
f’’(x) = 6x → convexe sur R+ → non convexe sur R
Ensemble convexe • Ensemble :
→ convexe • Ensemble :
→ non convexe
1 Bases théoriques 1.1 Définitions 1.1.4 Convexité
x
f(x)
f(x)=x2
f(x)=x3
{ }1xx/)x,x(X 22
2121 ≤+=
{ }1xx/)x,x(X 22
2121 ≥+= x1
x2
Techniques d’optimisation
41
1.1.5 Conditionnement
Conditionnement d’une matrice
Conditionnement d’une fonction
Préconditionnement
Système linéaire perturbé
Mise à l’échelle
1 Bases théoriques 1.1 Définitions 1.1.5 Conditionnement
Techniques d’optimisation
42
1.1.5 Conditionnement
Conditionnement d’une matrice A matrice symétrique semi-définie positive Valeurs propres de A : Nombre de conditionnement de A : Conditionnement d’une fonction f fonction deux fois différentiable Conditionnement de f en x = nombre de conditionnement de A=H(x) Interprétation Vecteur propre dk associé à la valeur propre σk : Courbure de f en x dans la direction dk : Théorème de Rayleigh-Ritz d1 = direction de plus forte courbure (courbure = σ1) dn = direction de plus faible courbure (courbure = σn)
1σσAA κ(A)
n
12
1-
2≥==
kk
Tk
kTk σ
ddH(x)dd
=
kkkk dσdA =
n1 σσ ≥≥
1 Bases théoriques 1.1 Définitions 1.1.5 Conditionnement
12σA =→
Techniques d’optimisation
43
1.1.5 Exemple
Matrice 2×2 • Inverse :
• Valeurs propres : Conditionnement
• • Valeurs propres : • Conditionnement :
1 Bases théoriques 1.1 Définitions 1.1.5 Conditionnement
210001σσ)A(
σ/1A
σA
2
1
22
1-12 ==κ⇒
=
=
=
220002.011.0
A
=
dcba
A bcad)Adet(avecacbd
)Adet(1A 1 −=
−
−=→ −
( )( ) ( ) 0)Adet(da0bcda0)IAdet( 2 =+σ+−σ⇒=−σ−σ−⇒=σ−
−=σ=σ⇒=−σ−σ 00001.0
10001.2000002.01.22
12
Techniques d’optimisation
44
1.1.5 Préconditionnement
Changement de variable • Variable : (M∈Rn×n inversible = matrice de préconditionnement) • Fonction : • Gradient : • Hessien : Préconditionnement de f • Factorisation de Cholesky (si H(x) définie positive) : H(x)=LLT • Conditionnement optimal (minimal) de f en x pour :
Mxx~ =
)x~f(MM)x~(f~ -1-T∇=∇
)x~f(Mf(x))x~(f~ -1==
-1-12-T2 )Mx~f(MM)x~(f~
∇=∇g(x)M)x~(g~ -T=⇒
-1-TH(x)MM)x~(H~ =⇒
1 Bases théoriques 1.1 Définitions 1.1.5 Conditionnement
1)H~κ(I)x~(H~xLx~ T =⇒=⇒=
x1
x2
x* f∇ *x~
1x~
2x~
f~
∇
Sans conditionnement Avec conditionnement
Techniques d’optimisation
45
1.1.5 Système linéaire perturbé
Perturbation du second membre • Système non perturbé : A x = b → solution x* • Système perturbé au 2nd membre : A(x +∆xb) = b+∆b → solution x* +∆xb • Système perturbé au 1er membre : (A+ ∆A)(x +∆xA) = b → solution x* +∆xA
• Majoration de la perturbation
• Amplification maximale de la perturbation :
1 Bases théoriques 1.1 Définitions 1.1.5 Conditionnement
∆−===
⇒
=+==
⇒
=+++=+
=
−
−
*x.A.AΔxΔbAΔx*Axb
0ΔA.x*xA.ΔΔbxA.Δb*Ax
b)Δx*ΔA)(x(AΔbb)Δx*A(x
b*Ax
1A
1b
A
b
A
b
≤
≤⇒
≤
≤⇒
∆−==
−
−
−
−
−
−
AΔA
.A.A*x
Δxb
Δb.A.A
*xΔx
*x.ΔA.AΔxΔb.AΔx
*x.A.AΔxΔbAΔx
1A
1b
1A
1b
1A
1b
bA
*x1*x.Ab*Axb ≤⇒≤⇒=
-1A.A κ(A) =
Techniques d’optimisation
46
1.1.5 Exemple
Système perturbé 2×2 • Système non perturbé
• Perturbation δA :
• Perturbation δb :
1 Bases théoriques 1.1 Définitions 1.1.5 Conditionnement
=
220002.01101.0
A
=+=+
0002.4x2x20002.02xx1.0
21
21
==⇒ 1x
10x2
1
=
⇔
0002.42
xx
220002.011.0
2
1
=−=⇒ 010.2x
101.0x2
1
=
0002.401.2
b
=−=⇒ 01.101x
990x2
1
x1
x2
10
1
Conditionnement : 210001)A( =κ
Techniques d’optimisation
47
1.1.5 Mise à l’échelle
Principe • Des valeurs numériques trop différentes sont sources de blocage des algorithmes.
Exemple : (1 + 10-20) − 1 = 1 − 1 = 0 au lieu de 10-20 avec 16 chiffres significatifs • Pour réduire les erreurs numériques, il faut que les différentes valeurs utilisées dans les calculs
aient des ordres de grandeur comparables. • Méthode de mise à l’échelle : transformation affine X’ = αX + β Quantités à mettre à l’échelle • Variables : x → x’ ≈ 1 (→ déplacement sur toutes les composantes de x) • Critère : f → f’ ≈ 1 (→ tests d’arrêt sur variation de f) • Contraintes : c → c’ ≈ 1 (→ contraintes de poids équivalents)
• Jacobien : → (→ directions admissibles) • Hessien : → (→ courbure, conditionnement) Difficultés • On ne peut pas simultanément mettre toutes les quantités à l’échelle → choix expérimental • Le facteur d’échelle dépend du point x → à adapter au cours des itérations
(mise à l’échelle dynamique)
1 Bases théoriques 1.1 Définitions 1.1.5 Conditionnement
1'c ≈∇c∇
L2∇ 1'L2 ≈∇
Techniques d’optimisation
48
1.1.6 Direction de déplacement
Direction de descente - Définition - Point de Newton - Point de Cauchy
Direction admissible
Contraintes linéaires
1 Bases théoriques 1.1 Définitions 1.1.6 Direction de déplacement
Techniques d’optimisation
49
1.1.6 Direction de descente
Direction de descente • Gradient de f en x∈Rn : g(x) = ∇f(x) • Dérivée directionnelle de f en x suivant d∈Rn : fd(x) = g(x)Td d est une direction de descente en x si : fd(x) = g(x)Td < 0 • La direction de plus forte pente d+ est la direction du gradient : d+ = g(x) • La direction de plus forte descente d− est opposée au gradient : d− = −g(x)
1 Bases théoriques 1.1 Définitions 1.1.6 Direction de déplacement
2TTn g(x)dg(x)dg(x),dd/Rd −=≥=∈∀ −−
x1
x2
x*
−∇f(x) d1
x0
d2
Techniques d’optimisation
50
1.1.6 Direction de descente
Variation suivant une direction • Déplacement d∈Rn à partir de x0∈Rn : d = sd0 avec d0∈Rn = direction de déplacement
s∈R = pas de déplacement suivant d0 • Modèle quadratique au voisinage de x0 : ϕ(s)=f(x0+sd0) fonction de R dans R
ϕ(s)
s
ϕd1(s)
ϕd2(s)
ϕd-(s)
s=0 x=x0
sd1 sd- sd2
1 Bases théoriques 1.1 Définitions 1.1.6 Direction de déplacement
00T0
20
T0000 dHds
21dsg)f(x)sd(xf ++=+
∇=∇=
)f(xH)f(xgavec
02
0
00
(0)''s21(0)'s(0)(s)ˆ 2ϕ+ϕ+ϕ=ϕ⇒
=ϕ=ϕ
00T0
0T0
dHd(0)''dg(0)'avec
x*
−∇f(x0) d1
x0
d2
Meilleure direction : d2 < d− < d1
Techniques d’optimisation
51
1.1.6 Direction de descente
Minimisation locale Deux points particuliers sont définis à partir du modèle quadratique de f en x0 : • Point de Newton : minimisation de f par rapport à d∈Rn → xn = x0 + dn • Point de Cauchy : minimisation de f suivant d0=−g0 → xc = x0 −scg0 Point de Newton xn existe si H0=∇2f(x0) est définie positive. Point de Cauchy xc existe si f est convexe suivant g0 (condition moins forte que H0 définie positive).
1 Bases théoriques 1.1 Définitions 1.1.6 Direction de déplacement
dHd21dg)f(xd)(xfmin 0
TT000
Rd n++=+
∈
(0)''s21(0)'s(0))sg(xˆmin 2
00Rsϕ+ϕ−ϕ=−ϕ
∈
( ) 0gHg(0)''sigHg
gg(0)''
(0)'s 00T0
00T0
20
T0
2
c >=ϕ=ϕϕ
=⇒
0HsigHd 001
0n >−=⇒ −
xn
−g0
x0
xc
Techniques d’optimisation
52
1.1.6 Direction admissible
Direction admissible d∈Rn direction de déplacement à partir de x∈Xadm point admissible Définition : d direction admissible ⇔ On peut se déplacer d’au moins ε suivant d à partir de x en restant admissible
• Contrainte égalité : ∇cE(x)Td = 0 → tangent • Contrainte inégalité : ∇cI(x)Td ≤ 0 → intérieur Ensemble convexe Xadm convexe, y≠x, x,y∈Xadm ⇒ [x,y]⊂ Xadm ⇒ d=y−x est une direction admissible à partir de x Point intérieur x point intérieur à Xadm ⇒ Toute direction d ∈Rn est admissible à partir de x
admXsdxεs0s,/0ε ∈+⇒≤<∀>∃
1 Bases théoriques 1.1 Définitions 1.1.6 Direction de déplacement
x
d
−∇c(x)
x d
Techniques d’optimisation
53
1.1.6 Contraintes linéaires
Contraintes linéaires Contraintes linéaires sous forme standard : Direction admissible d ∈Rn direction admissible à partir de x point admissible Preuve : Pour s>0 petit, on doit avoir : Combinaison de directions admissibles Toute combinaison linéaire à coefficients positifs de directions admissibles est une direction admissible. Preuve : Une combinaison linéaire à coefficients positifs vérifie également
{ }0xb,Ax/RxX nadm ≥=∈=
=≥=⇔ 0xsi0d
0Adii
1 Bases théoriques 1.1 Définitions 1.1.6 Direction de déplacement
≥+==⇔
≥+=+⇔∈+ 0sdx
bAxcar0Ad0sdx
bsd)A(xXsd)(x adm
≥=0x
bAx
petitassezspour0sdxalors0,x Si iii >+>0dsi0sdxalors0,x Si iiii ≥≥+=
=≥=
0xsi0d0Ad
ii
Techniques d’optimisation
54
Sommaire 1. Bases théoriques
1.1 Définitions 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire 1.2.2 Direction admissible 1.2.3 Réduction 1.2.4 Projection 1.3 Contraintes non linéaires 1.4 Conditions d’optimalité
2. Optimisation sans contraintes
3. Optimisation avec contraintes
1 Bases théoriques 1.2 Contraintes linéaires
Techniques d’optimisation
55
1.2.1 Rappels d’algèbre linéaire
Application linéaire - Matrice d’une application linéaire - Espace nul - Espace image
Matrice - Valeurs et vecteurs propres - Matrices particulières - Factorisations
Système linéaire - Solutions - Contraintes redondantes
1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation
56
1.2.1 Application linéaire
Application linéaire Une matrice A∈Rm×n définit une application linéaire de Rn dans Rm : Espace nul (ou noyau) • L’espace nul de A est défini par : • Si A est non singulière : Espace image • L’espace image de A est défini par : • Si A est non singulière : Le rang de A est la dimension de Im(A) : Théorème fondamental de l’algèbre Ker(A) et Im(AT) sont supplémentaires dans Rn : Tout x ∈Rn s’écrit de façon unique comme somme d’un élément xZ de Ker(A) et d’un élément xY de Im(AT)
mn RAxyRx ∈=∈
{ }0Ax/RxKer(A) n =∈=
{ }nRxAx,yIm(A) ∈==
nT R )Im(AKer(A) =⊕
{ }0Ker(A) =
dim(Im(A))rang(A) =
YZn xxx,Rx +=∈∀
∈∈
)Im(AxKer(A)xavec T
Y
Z
nRIm(A)=
1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire
de façon unique
Techniques d’optimisation
57
1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire
1.2.1 Matrice
Valeurs et vecteurs propres Une matrice A∈Rn×n admet la valeur propre σ∈R s’il existe un vecteur non nul v ∈Rn tel que : Av = σv v est un vecteur propre associé à la valeur propre σ. Matrices particulières • A non singulière ⇔ Aucune valeur propre de A n’est nulle. • A symétrique ⇔ AT = A ⇒ A admet n valeurs propres réelles (distinctes ou non) ⇒ A admet une base orthonormée de vecteurs propres • A orthogonale ⇔ AAT = ATA = I • A semi-définie positive ⇔ vTAv > 0 pour tout v ∈Rn • A définie positive ⇔ vTAv ≥ 0 pour tout v ∈Rn
• A symétrique définie positive ⇒ A admet n valeurs propres réelles positives
(distinctes ou non)
Techniques d’optimisation
58
1.2.1 Exemple
Valeurs propres d’une matrice 2×2 • Matrice A :
• Valeurs propres : • Exemple :
Conditionnement : κ(A) = 2508
1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire
=
2221
1211
aaaa
A
0aa)a)(a(0aa
aa0)IAdet( 21122211
2221
1211 =−σ−σ−⇒=σ−
σ−⇒=σ−
0aaaa)aa( 2112221122112 =−+σ+−σ⇒
−
−=
200400400802
A
=σ
=σ⇒
39936.0
60.1001
2
1
−−+±+=σ⇒ )aaaa(4)aa(aa
21
211222112
22112211
Techniques d’optimisation
59
1.2.1 Exemple
Diagonalisation matrice symétrique 2×2 • Matrice Q : • Base orthonormée de vecteurs propres : • Matrice de passage orthogonale : → diagonale si avec b ≠ 0 sinon Q directement diagonale ⇒ cos α ≠ 0 • Direction des axes principaux (vecteurs propres) :
→ 2 solutions α1 et α2 = α1 + π/2
1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire
cbavecdcba
Q =
=
αα−
=
αα
=cossin
v,sincos
v 21
ααα−α
=cossinsincos
P
α+αα−αα−α+αα−α−α+αα−α+αα+α
= 2222
2222T
cosdsincosb2sina)sin(cosbsincos)ad()sin(cosbsincos)ad(sindsincosb2cosa
QPP
0)sin(cosbsincos)ad( 22 =α−α+αα−
01tanb
datan2 =−α−
+α
Techniques d’optimisation
60
1.2.1 Permutation
Permutation de colonnes A∈Rm×n, matrice à m lignes, n colonnes E∈Rn×n , matrice de permutation des colonnes j et k ET = E
1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire
=
1000
0010
0100
0001
E
n
k
j
1
nkj1
××××
××××=
m
1
nkj1
AE
××××
××××=
m
1
nkj1
A
Techniques d’optimisation
61
1.2.1 Factorisation
Factorisation de matrice A∈Rm×n, matrice à m lignes, n colonnes avec m < n A de rang plein : rang(A) = m < n 3 types de factorisations sont utiles dans les algorithmes d’optimisation : • Factorisation LU → Pour réduire le problème (variables dépendantes et indépendantes)
Pour construire une base de l’espace nul
• Factorisation QR → Pour réduire le problème (variables dépendantes et indépendantes) Pour construire une base orthogonale de l’espace nul
• Factorisation LLT → Pour une matrice définie positive
ou LDLT Pour rendre le hessien défini positif
1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire
××××
××××=
m
1
nkj1
A
Techniques d’optimisation
62
1.2.1 Factorisation LU
Factorisation LU A∈Rm×n, matrice à m lignes, n colonnes • Matrice carrée n×n
L n×n triangulaire inférieure U n×n triangulaire supérieure
• Matrice rectangulaire m×n, m< n → Factorisation de AT L1 m×m triangulaire inférieure L2 (n−m)×m pleine U m×m triangulaire supérieure
• Base de l’espace nul : Méthode de factorisation LU → Méthode d’élimination de Gauss (ou méthode du pivot de Gauss)
1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire
××××
××××=
m
1
nkj1
A
LUAE =
ULL
LUEA2
1T
==
TT2
T1T U
ILL
EZ −−
−=
Techniques d’optimisation
63
1.2.1 Factorisation QR
Factorisation QR A∈Rm×n, matrice à m lignes, n colonnes
• Matrice rectangulaire m×n
Q m×m orthogonale → QQT = I R m×n triangulaire supérieure
• Base de l’espace nul → Factorisation de AT
Q1 n×m orthogonale Q2 n×(n−m) orthogonale → R n×m triangulaire supérieure
Méthode de factorisation QR → Méthode de Householder ou méthode de Givens
1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire
××××
××××=
m
1
nkj1
A
QRAE =
( )2T QEZ =( )RQQQREA 21
T ==
Techniques d’optimisation
64
1.2.1 Factorisation LLT
Factorisation LLT
A∈Rn×n, matrice carrée n×n symétrique définie positive ETAE = LLT avec L matrice n×n triangulaire inférieure • Lien avec la factorisation QR car Q orthogonale Méthode de factorisation LLT ou LDLT • Méthode de Cholesky
→ Permet de vérifier que la matrice A est bien définie positive
• Méthode de Cholesky modifiée → Permet de rendre la matrice A définie positive en la modifiant au cours de la factorisation
1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire
RRQRQRAEAEQRAE TTTTT ==⇒=
==→ −1AERQ
LR
Techniques d’optimisation
65
1.2.1 Exemple
Factorisation LDLT d’une matrice 3×3 • Résolution directe
1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire
=
=
100l10ll1
d000d000d
1ll01l001
aaaaaaaaa
LDLA
32
3121
3
2
1
3231
21
333231
322221
312111
T
++=
+=
+=
=
=
=
32322
231133
3222131132
2221122
31131
21121
111
dldlda
ldllda
dlda
lda
lda
da
−−=
−=
−=
=
=
=
⇒
2322
2311333
2
213113232
2211222
1
3131
1
2121
111
ldldadd
lldal
ldadda
l
dal
ad → d1 , d2 , d3 > 0 si A est définie positive → sinon on modifie dj en cours de factorisation dj = max(δ , dj) , δ > 0
Techniques d’optimisation
66
1.2.1 Exemple
Factorisation LDLT d’une matrice 2×2 • Exemple Les éléments de la matrice diagonale D sont positifs → A est définie positive Valeurs propres de A :
1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire
−
−=
200400400802
A
−=
=
=
⇒
2211222
1
2121
111
ldaddal
ad
=
=
10l1
d00d
1l01
aaaa
LDLA21
2
1
212221
2111
T
=
−
=⇒4988.000802
D,14988.001
L
=σ
=σ
39936.0
60.1001
2
1
Techniques d’optimisation
67
1.2.1 Factorisation LDLT
Méthode de Cholesky modifiée
A matrice n×n symétrique → matrice A’ définie positive « proche » de A (A’ = A si A est définie positive) A’ = LDLT avec L triangulaire inférieure, D diagonale positive • Notations : A=(aij) , L=(lij) , D=(dij) , i,j=1,…,n • Algorithme
Pour j = 1,2,…,n Pour i = j+1,…,n Fin boucle i Fin boucle j
1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire
jjj
1j
1s
2jssjjjj
cd
ldac
=
−= ∑−
=
j
ijij
1j
1sjsissijij
dc
l
lldac
=
−= ∑−
=
ijnijj
2j
jjj cmaxavec,,cmaxd≤<
=θ
δ
β
θ=
Modification pour rendre dj > 0 (si A n’est pas définie positive)
+=β≤=δ≥
⇒ n,...,1ji,dlmd
jijij
j
Si dj ≤ δ
Paramètres : δ > 0 petit (δ = 10-3) β > 0 (β = 1)
Techniques d’optimisation
68
1.2.1 Système linéaire Système linéaire → matrice de rang r : rang(A) = r → m équations → n inconnues Le rang de A est la dimension du sous-espace engendré par A (image de A) → r = dim(Im(A)) ≤ m,n Solutions possibles • Pas de solution : système incompatible (m>n : plus d’équations que d’inconnues) • Solution unique : système non singulier (m=n : autant d’équations que d’inconnues) • Infinité de solutions : système sous-déterminé (m<n : moins d’équations que d’inconnues) Problème d’optimisation Contraintes linéaires Ax=b → système sous-déterminé (m<n) → n-m inconnues «libres» permettant de minimiser le critère
∈∈∈
=
×
n
m
nm
RxRbRA
avecbAx
{ }nRxAx,yIm(A) ∈==
1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation
69
1.2.1 Système linéaire Contraintes redondantes Pour un système sous-déterminé (m<n), si A est de rang déficient : rang(A) = r < m, on peut extraire de A une sous-matrice à ∈Rr×n de rang plein, telle que : à est composée des lignes l1,…,lr de A Les lignes lr+1,…,lm sont combinaisons linéaires des lignes l1,…,lr. Elles correspondent à des contraintes redondantes et peuvent être éliminées de la résolution.
bAxb~
xA~ =⇔=
××××××××××
××××××××××××××××××××
××××××××××
+
m
1r
r
1
l
ll
ln1
Ã
××××××××××
××××××××××
m
1n1
A
1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation
70
1.2.2 Direction admissible
Polytope
Forme standard
Sommet
Base
Solution de base
Direction de base
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
Techniques d’optimisation
71
1.2.2 Polytope
Définition Polytope P dans Rn A ∈ Rm×n , b ∈ Rm Interprétation géométrique → hyperplan 1 → hyperplan 2 → hyperplan m Chaque hyperplan j sépare Rn en 2 sous-espaces : P = ensemble de points de Rn délimité par m hyperplans → Polytope dans R2 = polygone → Polytope dans R3 = polyèdre
{ }bAx/RxP n ≤∈=
=+++
=+++=+++
⇔=
mnnm,2m,21m,1
2nn2,22,212,1
1nn1,21,211,1
bxAxAxA
bxAxAxAbxAxAxA
bAx
≥≤
jj,.
jj,.
bxAbxA
P
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
Techniques d’optimisation
72
1.2.2 Forme standard
Forme standard Polytope P dans Rn sous forme standard A ∈ Rm×n , b ∈ Rm A de rang plein (élimination contraintes redondantes → Ã) Passage sous forme standard • Contrainte inégalité : Transformation en contrainte égalité
Ajout d’une variable d’écart positive • Contraintes de bornes : Changement de variable → borne inférieure
Ajout d’une variable d’écart positive → borne supérieure
• Variable libre : Différence de 2 variables positives
{ }0x,bAx/RxP n ≥=∈=
≥+=′=′⇔
≥=+⇔≤ 0z
zc(x)(x)cavecb(x)c0z
bzc(x)bc(x)
≥−=+′≥′−=′
⇔
−≤′≥′−=′
⇔−≤−≤⇔≤≤ 0z,xxzx0x,xxx
xxx0x,xxxxxxx0xxx
lu
l
lu
llulul
≥−=′=′⇔
≥=−⇔≥ 0z
zc(x)(x)cavecb(x)c0z
bzc(x)bc(x)
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
0z,y,yzxRx ≥−=⇔∈
Techniques d’optimisation
73
1.2.2 Exemple
Mise sous forme standard • Problème linéaire (P)
• Changement de variables pour les bornes
• Variables d’écart pour les contraintes inégalité
• Problème équivalent à (P) sous forme standard
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
≤≥∈≥+−=+−
++4x1,xR,x
63xx2x53xx
sous3x2xxmin321
321
21
321x,x,x 321
0z6z3xx2x63xx2x 22321321 ≥→=−+−⇔≥+−
≥→−=≥→−=
≥→−=⇔
≤≥∈
0'xx4'x0'x1x'x
0z,yyzx
4x1xRx
333
222
11111
3
2
1
−=−−−−=+−+−+− 5z'3x'x2y2z
2'3xzysous14'3x'x2yzmin23211
2113211'x,'x,z,z,y 32211
Techniques d’optimisation
74
1.2.2 Sommet
Sommet Polytope P dans Rn sous forme standard A ∈ Rm×n, b ∈ Rm A de rang plein : rang(A)=r=m≤n Définition x ∈ P est un sommet de P ⇔ On ne peut pas trouver y,z∈P, différents de x tels que x soit combinaison convexe de y et z i.e. x = λy + (1- λ)z avec 0<λ<1 Existence Tout polytope non vide possède au moins un sommet.
{ }0x,bAx/RxP n ≥=∈=
sommets
non sommets
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
Techniques d’optimisation
75
1.2.2 Base
Base Polytope P dans Rn sous forme standard A ∈ Rm×n, b ∈ Rm • A est de rang plein r=m≤n ⇒ Il existe m colonnes indépendantes • On choisit une sous-matrice B ∈ Rm×m de rang plein (parmi combinaisons possibles)
E matrice de permutation des colonnes de A : EET=I
A.,k = kème colonne de AE • B = matrice de base → B ∈ Rm×m inversible • N = matrice hors base → N ∈ Rm×(n-m)
{ }0x,bAx/RxP n ≥=∈=
mnC
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
=
=
−mnmNBAE
×××××××
×××××××+−+
m
1
n1kk1k1mm1
B N
Techniques d’optimisation
76
1.2.2 Solution de base
Identification des sommets Polytope P dans Rn sous forme standard A ∈ Rm×n, b ∈ Rm • Choix d’une base B ∈ Rm×m • xB ∈ Rm = variables en base (ou liées ou dépendantes)
xN ∈ Rn-m = variables hors base (ou libres ou indépendantes)
• Point admissible : • Identification des sommets Tout point x tel que : est un sommet du polytope. → « solutions de base »
{ }0x,bAx/RxP n ≥=∈=
=⇒
=≥=
−−
0bB
xE0x0bBx 1
T
N
1B
=
N
BT
xx
xE
=
−mnmNBAE
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
( )
≥−=⇔
≥=+⇔
≥=⇔∈
−
0xNxbBx
0xbNxBx
0xbAxPx N
1BNB
Techniques d’optimisation
77
1.2.2 Solution de base
Identification des sommets Preuve : par l’absurde • On suppose le point x : avec n’est pas un sommet de P. x peut alors s’écrire : x = λy + (1- λ)z avec 0<λ<1 y et z ∈P , y≠x, z≠x • En décomposant suivant les composantes B et N : avec • A partir de xN=0
• A partir de y∈P : A partir de z∈P :
• On obtient en contradiction avec l’hypothèse que x n’est pas un sommet de P
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
=
N
BT
xx
xE
=≥= −
0x0bBx
N
1B
−+=−+=
NNN
BBBz)1(yxz)1(yx
λλλλ
≥⇒∈≥⇒∈
0zPz0yPy
N
N
==⇒
<<≥=−+= 0z
0y10
0z,yavec0z)1(yxN
NNNNNN λλλ
bBybyNBybAy 1BNB
−=⇒=+⇔=bBzbzNBzbAz 1
BNB−=⇒=+⇔=
==⇒
BB
BBxzxy
===
−
0bB
xzy1
Techniques d’optimisation
78
1.2.2 Solution de base
Solution de base Polytope P dans Rn sous forme standard A ∈ Rm×n, b ∈ Rm A de rang plein : rang(A)=r=m≤n Définition x ∈ Rn est une solution de base de P ⇔ Il existe m indices i1,…,im tels que • La matrice B ∈ Rm×m composée des colonnes i1,…,im de A est de rang plein • Les n-m composantes xi, i≠ i1,…,im sont nulles → • x vérifie Ax=b →
Solution de base admissible Une solution de base x est admissible si toutes ses composantes sont positives (x ∈ P). x vérifie également → Base admissible ou réalisable, solution de base admissible ou réalisable Solution de base dégénérée Une solution de base x est dégénérée si plus de n-m composantes de x sont nulles. xN=0 par définition (n-m composantes) ⇒ xB comporte des composantes nulles
{ }0x,bAx/RxP n ≥=∈=
=⇒
−
0bB
xE1
T
bBx0x
1B
N−=
=
0bBx0x 1B ≥=⇒≥ −
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
Techniques d’optimisation
79
1.2.2 Solution de base
Lien sommet – solution de base Polytope P dans Rn sous forme standard A ∈ Rm×n, b ∈ Rm A de rang plein : rang(A)=r=m≤n • I=indices des composantes nulles en x*∈P :
(= contraintes inégalités actives) • S=variété linéaire définie par : x*∈Rn est un sommet de P ⇔ ⇔ x* est une solution de base admissible de P Lien sommet – contraintes actives x*∈P est un sommet de P ⇔ Au moins n contraintes sont actives en x*
• m contraintes égalité : • n-m contraintes inégalité : Les m contraintes inégalité sur xB peuvent être actives ou non : → dégénérescence
{ }0x,bAx/RxP n ≥=∈=
{ }0x/iI *i
* ==
{ }*i
n* Ii0,x,bAx/RxS ∈∀==∈=
{ }** xS =
0xbAx
*N
*
==
0bBx 1*B ≥= −
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
Techniques d’optimisation
80
1.2.2 Solution de base
Lien sommet – solution de base Eléments de la démonstration : Le sens inverse est déjà démontré (identification des sommets) Sens direct : x∈Rn est un sommet de P ⇒ x est une solution de base admissible de P • On suppose par contraposée que x n’est pas une solution de base admissible.
• En décomposant suivant les composantes B et N : avec B,N choisies telles que xB > 0 • x n’est pas une solution de base admissible ⇒ Il existe au moins une composante xNk ≠ 0 On construit la direction dk (dite kème direction de base) avec A.,k = kème colonne de AE, dk a toutes ses composantes hors base nulles sauf la kème = 1 • Comme , on peut se déplacer suivant −dk et +dk d’un pas petit en conservant
→ On obtient 2 points y et z de P tels que x = λy + (1- λ)z avec 0<λ<1 → x n’est pas un sommet de P.
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
=
N
BT
xx
xE
=
−mnmNBAE
Tn1kk1k1mm
m
1
1kk.,
1
kN
kBkT 00100dde
0AB
dd
dE
=+
−=
=
+−+−
( ) k.,kkNk.,k.,Nkk.,
1kN
kB
k AdNcar0AANdABBNdBdAd ==+−=+−=+= −
( ) bAdAxdxA kk =+=+⇒ αα
≥=0x
bAx
>>
0x0x
Nk
B
Techniques d’optimisation
81
1.2.2 Exemple
Recherche des solutions de base Polytope P dans R4 sous forme standard • On utilise les contraintes pour réduire le problème à (x1,x2)
• Polytope P’ réduit dans R2
• Les polytopes P dans R4 et P’ dans R2 sont équivalents : Remarque : P = forme standard de P’
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
( ){ }0x,bAx/x,x,x,xP 4321 ≥==
=
−
=11
b,10110111
Aavec
+−=−−=⇔
=+−=++⇔=
214
213
421
321xx1xxx1x
1xxx1xxxbAx
≤−≤+⇒
≥≥⇒≥ 1xx
1xx0x0x0x
21
21
4
3
≥≥
≤−≤+
= 0x
0x,1xx1xx/x
xP'2
1
21
21
2
1
P'xxP
xxxx
2
1
4
3
2
1
∈
⇔∈
Techniques d’optimisation
82
1.2.2 Exemple
Recherche des solutions de base • Représentation de P’ dans R2
→ représentation des valeurs possibles de (x1,x2) pour (x1,x2,x3,x4) ∈P • Contraintes de P : 4 variables − 2 contraintes • Base de P
→ choisir 2 colonnes indépendantes de A → 6 combinaisons possibles
• Solution de base → fixer les 2 variables hors base xN à 0 → calculer les 2 variables de base xB pour vérifier Ax=b → base admissible si xB ≥ 0
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
≥≥
≤−≤+
= 0x
0x,1xx1xx/x
xP'2
1
21
21
2
1
=
−
⇔=11
xxxx
10110111
bAx
4
3
2
1
x1
x2
x1+x2=1
x1−x2=1
1
1
0
A B
C
D
P
Techniques d’optimisation
83
1.2.2 Exemple
Recherche des solutions de base Examen des 6 bases possibles de P • Base (x1,x2) :
x = (1 0 0 0) admissible → point B
• Base (x1,x3) :
x = (1 0 0 0) admissible → point B
• Base (x1,x4) :
x = (1 0 0 0) admissible → point B
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
=
−
=
−
=01
x,5,05,0
5,05,0B,
1111
B B1-
x1
x2
x1+x2=1
x1−x2=1
1
1
0
A B
C
D
P
bBx 1B
−=
=
−
=11
b,10110111
A
=
−
=
=
01
x,11
10B,
0111
B B1-
=
−
=
=
01
x,1101
B,1101
B B1-
Techniques d’optimisation
84
1.2.2 Exemple
Recherche des solutions de base Examen des 6 bases possibles de P • Base (x2,x3) :
x = (0 −1 2 0) non admissible → point D
• Base (x2,x4) :
x = (0 1 0 2) admissible → point C
• Base (x3,x4) :
x = (0 0 1 1) admissible → point A
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
−=
−=
−
=21
x,1110
B,0111
B B1-
x1
x2
x1+x2=1
x1−x2=1
1
1
0
A B
C
D
P
bBx 1B
−=
=
−
=11
b,10110111
A
=
=
−
=21
x,1101
B,1101
B B1-
=
=
=
11
x,1001
B,1001
B B1-
Techniques d’optimisation
85
1.2.2 Direction de base
Direction de déplacement à partir d’un sommet Polytope P dans Rn sous forme standard A ∈ Rm×n de rang plein, b ∈ Rm x∈Rn solution de base admissible de P : d∈Rn direction de déplacement : Direction admissible d direction admissible en x (contraintes linéaires) d direction admissible en x → « directions de base »
{ }0x,bAx/RxP n ≥=∈=
00
bBxx
xE1
N
BT ≥
=
=
−
=
N
BT
dd
dE
=≥=⇔ 0xsi0d
0Adii
N1
BNB NdBd0NdBd0Ad −−=⇔=+⇔=
=≥=≥
−=⇔
−
0xsi0d0xcar0d
NdBd
BiBi
NN
N1
B
(solution de base dégénérée)
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
Techniques d’optimisation
86
1.2.2 Direction de base
Direction de base x∈Rn solution de base admissible de P : k = indice d’une variable hors-base dk = kème direction de base en x : • Les composantes dN sur les variables hors base sont toutes nulles, sauf sur la variable xk
• Les composantes dB sur les variables en base vérifient la 1ère condition de direction admissible (A.,k = kème colonne de AE) • Définition La kème direction de base en x est : • Interprétation géométrique : directions de base = arêtes du polytope en x
00
bBxx
xE1
N
BT ≥
=
=
−
=
N
BkN
kBkT
dd
notédd
dE
Tn1kk1k1
kN
T 00100ed0E
==
+−
k.,1
B
basehorsjjj.,
1N
1BNB
ABd
dABNdBd0NdBd0Ad
−
−−
−=⇒
−=−=⇒=+⇒= ∑
Tn1kk1k1mm
m
1
1kk.,
1
kN
kBkT 00100dde
0AB
dd
dE
=+
−=
=
+−+−
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
Techniques d’optimisation
87
1.2.2 Direction de base
Direction de base admissible x∈Rn solution de base admissible de P, k = indice d’une variable hors-base La kème direction de base dk en x vérifie par définition : Pour que dk soit une direction admissible, il faut également vérifier : Cas d’une base non dégénérée x solution de base admissible non dégénérée (xB > 0) ⇓ Toutes les directions de base en x sont admissibles Combinaison de directions de base x∈Rn solution de base admissible de P Toute direction admissible d en x est combinaison linéaire des directions de base dk en x avec dk = kème direction de base en x
≥=
0d0Ad
N
0xsi0d BiBi =≥
∑=basehorsk
kkdαd
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
Techniques d’optimisation
88
1.2.2 Direction de base
Cas d’une base non dégénérée Preuve : on suppose que x est une solution de base non dégénérée. • La kème direction de base dk vérifie
• Comme , on peut se déplacer suivant dk à partir de x en restant admissible
→ dk est une direction admissible.
Combinaison de directions de base Preuve : on suppose que d est une direction admissible. • En décomposant suivant les composantes B et N : • En notant dk les composantes de dN dans la base canonique de Rn :
• On obtient pour d :
avec = kème direction de base → d = combinaison linéaire des dk
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
( ) k.,kkNk.,k.,Nkk.,
1kN
kB
k AdNcar0AANdABBNdBdAd ==+−=+−=+= −
>>
0d0x
N
B
0NdBdAd NB =+=
∑∈
=Nk
kkN edd
N1
B NdBd −−=⇒
∑∈
−
=
=
Nk k
k.,1
kN
B
eAB
ddd
d
=
−
k
k.,1
k
eAB
d
Techniques d’optimisation
89
1.2.2 Exemple
Recherche des directions de base Polytope P dans R4 sous forme standard • Direction de base en une solution de base admissible
→ choisir une variable hors base (k) → fixer la composante hors base correspondante dNk à 1 → fixer les autres composantes hors base dN à 0 → calculer les composantes en base dB par −B−1A.,k
• Si la base est non dégénérée, la direction est admissible.
Sinon, il faut vérifier dB ≥ 0 sur les composantes xB = 0 • Sommets de P
→ 2 variables hors base à chaque sommet → 2 directions de base (= arêtes du polytope)
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
x1
x2
x1+x2=1
x1−x2=1
1
1
0
A B
C
D
P
( ){ }0x,bAx/x,x,x,xP 4321 ≥==
=
−
=11
b,10110111
Aavec
Techniques d’optimisation
90
1.2.2 Exemple
Recherche des directions de base Examen de directions de base de P • Base admissible (x2,x4) : x = (0 1 0 2) → point C • Direction de base d1 correspondant à la variable hors base x1 d1 = (1 −1 0 −2) → admissible • Direction de base d3 correspondant à la variable hors base x3 d3 = (0 −1 1 −1) → admissible
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
=
−
=1101
B,1101
B 1-
−−
=
−=−=
21
11
1101
ABd 1.,1-
B
−
=10110111
A
−−
=
−=−=
11
01
1101
ABd 3.,1-
B
d1
x1
x2
x1+x2=1
x1−x2=1
1
1
0
A B
C
D
P
d3
Techniques d’optimisation
91
1.2.2 Exemple
Recherche des directions de base Examen de directions de base de P • Base admissible (x1,x4) : x = (1 0 0 0) → point B base dégénérée • Direction de base d2 correspondant à la variable hors base x2 d2 = (−1 1 0 2) → admissible • Direction de base d3 correspondant à la variable hors base x3 d3 = (−1 0 1 1) → admissible
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
−=
−
−
−=−=21
11
1101
ABd 2.,1-
B
−
=10110111
A
−=
−
−=−=11
01
1101
ABd 3.,1-
B
d3
d2
x1
x2
x1+x2=1
x1−x2=1
1
1
0
A B
C
D
P
−
=
=
1101
B,1101
B 1-
Techniques d’optimisation
92
1.2.2 Exemple
Recherche des directions de base Examen de directions de base de P • Base admissible (x1,x2) : x = (1 0 0 0) → point B base dégénérée • Direction de base d3 correspondant à la variable hors base x3 d3 = (−0,5 −0,5 1 0) → non admissible (base dégénérée) • Direction de base d4 correspondant à la variable hors base x4 d4 = (−0,5 0,5 0 1) → admissible
1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible
−−
=
−
−=−=5,05,0
01
5,05,05,05,0
ABd 3.,1-
B
−
=10110111
A
d3
d4
x1
x2
x1+x2=1
x1−x2=1
1
1
0
A B
C
D
P
−
=
−
=5,05,0
5,05,0B,
1111
B 1-
−=
−
−=−=5,05,0
10
5,05,05,05,0
ABd 4.,1-
B
Techniques d’optimisation
93
1.2.3 Réduction
Principe
Méthode générale
Réduction avec noyau
Choix des matrices Y et Z
Interprétation géométrique
1 Bases théoriques 1.2 Contraintes linéaires 1.2.3 Réduction
Techniques d’optimisation
94
1.2.3 Réduction
Problème sous contraintes linéaires , A ∈ Rm×n, b ∈ Rm, A de rang plein r=m≤n • On cherche un déplacement p à partir d’un point initial x0.
Le point initial x0 n’est pas forcément admissible : Ax0=b0. • Le nouveau point x doit être admissible et meilleur que x0 (diminution du critère).
→ admissible → amélioration
Principe de réduction On utilise les m contraintes pour réduire le problème à n−m variables. Le déplacement p est décomposé en 2 termes : p = plibre + plié , plibre∈Rn , plié ∈Rn • plibre dépend de n−m variables libres (ou indépendantes) → pour minimiser le critère f • plié dépend de m variables liées (ou dépendantes) → pour restaurer l’admissibilité • plié est calculé à partir des contraintes → Système non singulier (A de rang plein) → Le problème d’optimisation est réduit à plibre (n−m variables)
bAxsousf(x)minnRx
=∈
1 Bases théoriques 1.2 Contraintes linéaires 1.2.3 Réduction
<=+=→ )f(xf(x)
bAxavecpxxx0
00
0liélibre0 bb )pA(pbp)A(xbAx −=+⇒=+⇒= libre0lié Apbb Ap −−=⇒
Techniques d’optimisation
95
1.2.3 Méthode générale
Décomposition du déplacement • On choisit une base de Rn formée de n vecteurs indépendants : (y1…,ym,z1 ,…,zn-m) Le déplacement p s’écrit comme une combinaison linéaire des vecteurs yi et zi : avec matrice Y = (y1 ,…,ym ) ∈Rn×m = composantes des m vecteurs y1,…,ym matrice Z = (z1 ,…,zn-m) ∈Rn×(n−m) = composantes des n−m vecteurs z1,…,zn-m vecteur pY= (a1 ,…,am) ∈Rm = coefficients des m vecteurs y1,…,ym vecteur pZ= (b1 ,…,bn-m) ∈Rn−m = coefficients des n−m vecteurs z1,…,zn-m • Les composantes liées et libres du déplacement p = plié + plibre sont définies par : plié = YpY ∈Rn → m variables liées (pY) plibre = ZpZ ∈Rn → n−m variables libres (pZ) • Le déplacement doit être admissible
1 Bases théoriques 1.2 Contraintes linéaires 1.2.3 Réduction
ZY
mn
1iii
m
1iii ZpYppzbyap +=⇔+= ∑∑
−
==
( ) ( )Z01
Y
Z0Y
libre0lié0
AZpbbAY pAZpbb AYpApbb Apb)px(A
−−=⇒−−=⇒−−=⇒=+
− si la matrice AY est inversible
Techniques d’optimisation
96
1.2.3 Méthode générale
Problème équivalent sans contrainte • Déplacement total • Coût réduit
Choix des matrices Y et Z • Réduction avec noyau → respect des contraintes avec pY , minimisation avec pZ • Matrices orthogonales → meilleur conditionnement
1 Bases théoriques 1.2 Contraintes linéaires 1.2.3 Réduction
( ) ( ) ( )( )( ))(p
ZpAAYYIbbAYYxf)px(f)x(f
Znoté
Z1
01
00
ϕ=
−+−+=+= −−
→ coût réduit ϕ = fonction de n−m variables
bp)A(xsousp)f(xmin 00Rp n
=++∈
)(pmin ZRp m-n
Z
ϕ⇔∈
n variables p / m contraintes
n-m variables pZ / 0 contrainte
( ) ( )Z01
YZY AZpbbAY pavecZpYpp −−=+= −
( ) ( ) ( )( ) Z1
01 ZpAAYYIbbAYYp −− −+−=⇒
si la matrice AY est inversible
→ réduction à n−m variables pZ
Techniques d’optimisation
97
1.2.3 Réduction avec noyau
Base du noyau
• On choisit pour les n−m vecteurs (z1 ,…,zn-m) une base de l’espace nul de A : Azi=0 + m vecteurs (y1 ,…,ym ) pour former une base de Rn
⇒ AZ = 0
• La matrice (Y Z)∈Rn×n est de rang plein (base de Rn) ⇒ A(Y Z) = (AY 0) de rang plein ⇒ AY matrice inversible de Rm×m • Le déplacement lié se simplifie
→ plié est constant et indépendant de plibre = ZpZ Problème réduit
1 Bases théoriques 1.2 Contraintes linéaires 1.2.3 Réduction
( ) ( ) Z01
ZY ZpbbAYYZpYpp +−=+= −
( ) ( )( )Z01
0ZRp
00Rp
ZpbbYAYxf)(pminbp)A(xsousp)f(xminm-n
Zn
+−+=ϕ⇔=++ −
∈∈
( ) ( ) ( ) ( )01
Z01
Ylié bbAYY AZpbbAYY Ypp −=−−== −−
Techniques d’optimisation
98
1.2.3 Choix des matrices Y et Z
A partir d’une base de A • On choisit une base B∈Rm×m de la matrice A (= m colonnes indépendantes de A)
(E = matrice de permutation de colonnes de A)
• Le déplacement p est décomposé en p = plibre + plié avec plié ∈Rn , plibre∈Rn , définis par :
• La décomposition correspondante dans Rn est p =YpY + ZpZ avec
→ décomposition directe selon les composantes de p Problème réduit
mnm
pp
pEN
BT
−→→
=
=
−mnmNBAE
1 Bases théoriques 1.2 Contraintes linéaires 1.2.3 Réduction
=
Nlibre
T
p0
pE
mn
m
m1
0B
Y−
−
=
mn
m
mn1
INB
Z−
−−
−=
NZ pp =
=+=⇒
N
BZY p
pZpYpp
0Y bbp −=
( )( )N0NN01
0BNRp
00Rp
px,NpbbBxf)(pminbp)A(xsousp)f(xminm-n
Nn
+−−+=ϕ⇔=++ −
∈∈
( ) N1
01
Blibre0lié NpBbbBpApbb Ap −− −−=⇒−−=
=
0p
pE Blié
T
Techniques d’optimisation
99
1.2.3 Choix des matrices Y et Z
A partir de matrices orthogonales • La matrice AY doit être inversée
→ Il faut choisir la base (Y Z) pour obtenir le meilleur conditionnement possible • Factorisation QR de A • Conditionnement de AY → même conditionnement que R → même conditionnement que A (car QQT=I → conditionnement = 1) = conditionnement minimal possible à partir de A
1 Bases théoriques 1.2 Contraintes linéaires 1.2.3 Réduction
mn
mm
mn
2
m
1nT
0RQQEA
−
−
=
==→
2
1QZQY
( ) ( ) Z01
ZY ZpbbAYYZpYpp +−=+= −
T1
T1
TT1
T1
T ERQQERAYQERARQEA ==⇒=⇒=
ATE = QR avec → méthode de Householder Q orthogonale (QQT=I) R triangulaire
Techniques d’optimisation
100
1.2.3 Interprétation géométrique
A partir d’une base de A • pN = n−m composantes de x → minimisation de f • pB = m composantes de x → restauration de Ax=b
pB ≠0 car pN ne tient pas compte les contraintes → mauvais conditionnement si pB >> pN A partir de matrices orthogonales • ZpZ = déplacement dans le noyau x → minimisation de f • YpY = déplacement orthogonal à ZpZ → restauration de Ax=b
pY =0 si x0 est admissible car pZ conserve les contraintes → meilleur conditionnement
1 Bases théoriques 1.2 Contraintes linéaires 1.2.3 Réduction
x1
x2
Ax=b
pB
pN
pZ
Techniques d’optimisation
101
1.2.4 Projection
Projection orthogonale sur un hyperplan
Projection sur le noyau
1 Bases théoriques 1.2 Contraintes linéaires 1.2.4 Projection
Techniques d’optimisation
102
1.2.4 Projection
Projection orthogonale sur un hyperplan La projection orthogonale de x0∈Rn sur l’hyperplan d’équation Ax=b est le point x solution de → point xP de l’hyperplan le plus proche de x0 • Problème quadratique équivalent
• Lagrangien :
• Condition d’ordre 1
• Solution : • Projection de x0 sur le noyau de A : Ax=0
bAxsousxxmin 0Rx n
=−∈
xP
x0
( ) ( ) bAxsousxxxx21xx
21min 0
T0
20
Rx n=−−=−
∈
( ) ( ) ( )Axbxxxx21),x(L T
0T
0 −λ+−−=λ
( ) ( )( ) ( )
−+=−=λ⇒
==λ−⇒
==λ−−
−
−
01TT
0
01T
0TT
0
AxbAAAxxAxbAA
bAxAxAAAx
bAx0Axx
( )( ) 01TT
P xAAAAIx−
−=→
1 Bases théoriques 1.2 Contraintes linéaires 1.2.4 Projection
( )( ) ( ) bAAAxAAAAIx1TT
01TT
P−−
+−=
( ) AAAAIP1TT −
−=→ matrice de projection :
Techniques d’optimisation
103
Sommaire 1. Bases théoriques
1.1 Définitions 1.2 Contraintes linéaires 1.3 Contraintes non linéaires 1.3.1 Direction admissible 1.3.2 Déplacement admissible 1.4 Conditions d’optimalité
2. Optimisation sans contraintes
3. Optimisation avec contraintes
1 Bases théoriques 1.3 Contraintes non linéaires
Techniques d’optimisation
104
1.3.1 Direction admissible
Indépendance linéaire
Direction admissible à la limite
Cône des directions
Qualification des contraintes
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible
Techniques d’optimisation
105
1.3.1 Indépendance linéaire
Contraintes linéaires Pour des contraintes linéaires Ax=b, A∈Rm×n, si A est de rang déficient : rang(A) = r < m, on peut toujours extraire de A une sous-matrice Ã∈Rr×n de rang plein : rang(Ã) = r, telle que : → élimination des contraintes redondantes (cf §1.2.1) Contraintes non linéaires Pour des contraintes non linéaires, on considère un modèle linéaire local. • x0 point admissible : • Contraintes actives linéarisées : On se ramène au cas de contraintes linéaires avec A = ∇c(x0)T (gradient des contraintes actives) Condition d’indépendance linéaire Les contraintes sont dites linéairement indépendantes en x0 si les gradients des contraintes actives sont linéairement indépendants en x0. ⇔ La matrice jacobienne des contraintes actives J(x0)=∇c(x0) est de rang plein.
0)(xc0)(xc0)(xc
00I
0E =⇔
≤=
bAxb~
xA~ =⇔=
)x(x)c(x)c(x(x)c 0T
000 −∇+=
(contraintes actives en x0)
bxAx)c(xx)c(x0(x)c 0T
0T
00 =⇔∇=∇⇔=
avec c(x0)=0
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible
Techniques d’optimisation
106
1.3.1 Exemple
Indépendance linéaire • 1 contrainte égalité + 1 contrainte inégalité dans R2
• En → linéairement indépendants • En → linéairement dépendants
( )
≤−−+==−=
011xx)x(c0xx)x(c
22
212
2121
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible
2
2
1 Rxx
x ∈
=
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
-2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0
=
11
x
−=∇
12
c1
=∇
02
c2
=
00
x
=∇
10
c1
−
=∇2
0c2
Techniques d’optimisation
107
d
1.3.1 Direction admissible
Définition générale • x point admissible : • d direction admissible à partir de x ⇔ On peut se déplacer sur un segment de longueur ε suivant d à partir de x en restant admissible. Applicabilité • Applicable aux contraintes inégalité et aux contraintes égalité linéaires
• Inapplicable aux contraintes égalité linéaires → Définition à partir de suites de points admissibles
admissiblesdx,ηs0,s/0η +<<∀>∃
0)(xc0)(xc0)(xc
00I
0E =⇔
≤= (contraintes actives en x0)
d
d
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible
Techniques d’optimisation
108
1.3.1 Direction admissible à la limite
Suite de points admissibles x point admissible Définition : (xk)k∈N suite admissible en x ⇔ Direction admissible à la limite • On considère la suite des directions dk reliant xk à x :
• Définition
d direction admissible à la limite en x pour la suite (xk)k ∈ N ⇔ Il existe une sous-suite telle que : • Direction admissible à la limite = direction tangente
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible
≥∀∃=≠∀
∞→admissiblex,kk/k
x xlimxx,k
k00
kk
k
( )Niki
d∈
ddlimiki
=∞→
xxxxd
k
kk −
−=
x2
d1
d2
dk
d
x1
xk
x
Techniques d’optimisation
109
1.3.1 Cône des directions
Définition x point admissible Le cône des directions D(x) en x est l’ensemble des directions d∈Rn vérifiant : • ∇cEj(x)Td = 0 pour toutes les contraintes égalité cEj(x) = 0, j=1 à p • ∇cIj(x)Td ≤ 0 pour les contraintes inégalité actives : cIj(x) = 0, j=1 à q → direction tangente aux contraintes égalité → direction intérieure aux contraintes inégalité actives Propriété Toute direction admissible à la limite en x appartient au cône des directions en x Preuve : (xk) suite admissible de limite x → directions c contrainte active en x : c(x)=0
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible
)x(Dd ∈
x
( )xxox)(xc(x)c(x))c(x kkT
k −+−∇+=
xxxxd
k
kk −
−=
( )≤=→
−=∇⇒
−
−−
−−
=∇∞→ )(inégalité0
(égalité)0xx)c(xlimdc(x)
xxxxo
xxc(x))c(xdc(x)
k
k
k
T
k
k
k
kk
T
≤=⇒ 0)(xc
0)(xckI
kE
Techniques d’optimisation
110
1.3.1 Qualification
Caractérisation des directions admissibles • Le cône des directions D(x) au point x admissible est simple à manipuler en pratique : → pour toutes les contraintes égalité → pour les contraintes inégalité actives en x • Toutes les directions admissibles à la limite en x appartiennent à D(x),
mais D(x) peut contenir également des directions non admissibles. → D(x) ne caractérise pas les directions admissibles.
Qualification des contraintes Les contraintes vérifient la condition de qualification au point admissible x si toute direction du cône D(x) est admissible à la limite. → Condition très importante dans les algorithmes Conditions suffisantes de qualification des contraintes • Contraintes linéaires : Ax=b ou • Contraintes linéairement indépendantes en x : ∇c(x) de rang plein → réalisable simplement en pratique par extraction d’une sous-matrice de rang plein
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible
≤∇=∇⇔∈
0d(x)c0d(x)c)x(Dd T
I
TE
Techniques d’optimisation
111
1.3.2 Déplacement admissible
Principes
Elimination directe
Réduction généralisée
Restauration
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
Techniques d’optimisation
112
1.3.2 Déplacement admissible
Problème sous contraintes non linéaires • On cherche à construire un déplacement p admissible et améliorant à partir d’un point initial x0.
On se ramène à un problème avec contraintes égalité (contraintes actives en x0). → m contraintes actives en x0 • Les n composantes du déplacement p doivent vérifier :
Méthodes possibles • Elimination directe
On exprime m variables à partir des n−m autres à partir des contraintes. On substitue dans l’expression de f → problème sans contraintes
• Réduction généralisée
On linéarise les contraintes en x0. On applique la méthode de réduction des contraintes linéaires (matrices Y et Z). On corrige le déplacement pour prendre en compte les non-linéarités.
0)x(csousf(x)minnRx
=∈
<+=+
)x(f)px(f0)px(c
00
0
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
≤=
∈ 0)x(c0)x(csousf(x)min
I
ERx n
Techniques d’optimisation
113
1.3.2 Elimination directe
Principe → m contraintes actives • Les contraintes sont de la forme :
• Si l’on sait résoudre : le problème devient : → problème de dimension n-m, sans contrainte Difficultés • Il faut faire attention au domaine de définition des variables (contraintes implicites)
→ voir exemples
• Il faut disposer de l’expression analytique des fonctions (rarement réalisé en pratique)
0)x(csousf(x)minnRx
=∈
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
mnlibre
mliélibrelié Rx,Rx),x,x(c)x(c −∈∈=
)x(x0)x,x(c libreliélibrelié ψ=⇔=
)(xmin libreRx mn
libre
ϕ−∈
)x),x((f)x,x(f)x(avec librelibrelibreliédeflibre ψ==ϕ
Techniques d’optimisation
114
1.3.2 Exemples
Elimination directe • Exemple 1 :
Elimination de x1 :
Solution correcte : • Exemple 2 :
Elimination de x1 :
Solution incorrecte Contrainte implicite : → à prendre en compte explicitement dans la résolution
1xxsousxxmin 22
21
22
21x,x 21
=−+
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
22
21
22
21 x1x1xx +=⇒=−
==
0x1x
2
1
0xx21min 222x 2
=⇒+→
1x4xsousxxmin 22
21
22
21x,x 21
=++
22
21
22
21 x41x1x4x −=⇒=+
±∞=⇒−→ 222x
xx31min2
21x
21
0x410x
2
22
21
≤≤−⇒
≥−⇒≥
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
-1,5 -1,0 -0,5 0,0 0,5 1,0 1,5
x* lignes de f
contrainte
-3,0
-2,0
-1,0
0,0
1,0
2,0
3,0
-3,0 -2,0 -1,0 0,0 1,0 2,0 3,0
x*
lignes de f contrainte
Techniques d’optimisation
115
1.3.2 Réduction généralisée
Principe → m contraintes actives On construit le déplacement p à partir du point initial x0 en 2 étapes : p = p1 + p2 • Etape de linéarisation + réduction
Le déplacement p1 améliore le critère en supposant un modèle linéaire des contraintes en x0. → linéarisation des contraintes en x0 → application de la méthode de réduction de contraintes linéaires On obtient un nouveau point : x1 = x0 + p1
• Etape de restauration
Les contraintes actives (non linéaires) ne sont pas respectées en x1. Le déplacement p2 restaure un point admissible à partir du point x1. → linéarisation des contraintes en x1 → résolution d’un système sous-déterminé On obtient un nouveau point : x2 = x1 + p2 • Le point x2 doit être : - admissible pour l’ensemble des contraintes (actives et inactives en x0)
- meilleur que x0 (f(x2) < f(x0))
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
0)x(csousf(x)minnRx
=∈
c(x)=0
x0
x1
p1
c(x)=c1
p2 x2
Techniques d’optimisation
116
1.3.2 Réduction généralisée
Etape de linéarisation + réduction → m contraintes actives • On linéarise les contraintes au point initial x0 : • Le déplacement p est admissible pour les contraintes linéaires si : • On applique la méthode de réduction de contraintes linéaires.
Le déplacement est décomposé en p = YpY + ZpZ avec Z base du noyau de A0
→ problème à n−m variables sans contraintes → déplacement p1
• Le nouveau point x1 = x0 + p1
- est meilleur que x0 : f(x1) < f(x0) - ne vérifie pas les contraintes : c(x1) = c1 ≠ 0
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
( )( )Z01
00ZRp
000Rp
ZpbYAYxf)(pminbpAsousp)f(xminm-n
Zn
++=ϕ⇔=+ −
∈∈
0)x(csousf(x)minnRx
=∈
)x(x)c(x)c(x(x)c 0T
000 −∇+=
c(x)=0
x0 x1 p1
c(x)=c1
−=∇==⇔=∇+⇔=+ )c(xb
)c(xAavecbpA0p)c(x)c(x0p)(xc00
T00
00T
0000
Techniques d’optimisation
117
1.3.2 Réduction généralisée
Etape de restauration • Les contraintes actives ne sont pas vérifiées en x1 : c(x1) = c1 ≠ 0 On cherche un déplacement p2 à partir de x1 tel que : c(x1+p2) = 0 → système non linéaire sous-déterminé de m équations à n inconnues
• On linéarise les contraintes au point x1 :
On obtient un système linéaire sous-déterminé de m équations à n inconnues :
Résolution du système • Il faut recalculer les gradients des contraintes en x1 → très coûteux (m×n appels fonction)
On fait l’approximation que : → approximation correcte si le déplacement p1 est petit ou si les contraintes sont peu non linéaires
• Le système sous-déterminé admet une infinité de solutions (n−m variables libres) Choix possibles : - solution de norme minimale (projection sur les contraintes) - solution de base (pour ne pas dégrader la minimisation due à p1)
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
)x(x)c(x)c(x(x)c 1T
111 −∇+=
−=∇==⇔=∇+⇔=+ )c(xb
)c(xAavecbpA0p)c(x)c(x0p)(xc11
T11
11T
1111
)c(x)c(x 01 ∇≈∇
Techniques d’optimisation
118
1.3.2 Restauration
Résolution du système Le déplacement p2 doit vérifier : • Solution de norme minimale → projection sur l’hyperplan tangent aux contraintes actives
(cf §1.2.4)
• Solution de base → pour ne pas dégrader la minimisation réalisée par pZ (cf §1.2.3)
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
−=−==∇≈∇==
111
0T
0T
1111 c)c(xb
A)c(x)c(xAavecbpA
( ) 11T
11T1211
RpbAAApbpAsouspmin
n
−
∈=→=
( ) ( ) 11
1211
1Y1ZY1 bYAYpbYApb)ZpYp(A −− =→=⇒=+
c(x)=0
x0 x1 p1
c(x)=c1
∇c(x0) ∇c(x1)
p2
Techniques d’optimisation
119
1.3.2 Restauration
Itérations • La résolution est basée sur une linéarisation du système en x1.
→ déplacement p2 • Le point x2 = x1 + p2 ne vérifie pas forcément les contraintes : c(x2) = c2 ≠ 0
Il faut alors réitérer la résolution à partir de x2.
• On cherche un déplacement p3 à partir de x2 tel que : c(x2+p3) = 0 → déplacement p3
• Si l’on n’obtient pas de point admissible après un nombre donné d’itérations, il faut réduire le déplacement p1 pour rendre l’approximation linéaire suffisamment correcte.
• Si l’on obtient un point admissible x2, il faut encore vérifier que : - les contraintes qui étaient inactives en x0 sont respectées en x2 - le point x2 est meilleur que le point initial x0 (car la restauration peut dégrader le critère). Sinon il faut réduire le déplacement p1.
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
−=−==∇≈∇==
111
0T
0T
1111 c)c(xb
A)c(x)c(xAavecbpA
−=−==∇≈∇==
222
0T
0T
2222 c)c(xb
A)c(x)c(xAavecbpA
Techniques d’optimisation
120
1.3.2 Restauration
Illustrations
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
c(x)=0
c(x)=c1 p2
p3
p1 x1
x0
Restauration en plusieurs itérations : p2 , p3
c(x)=0
c(x)=c1
p2
p1 x1
x0
Restauration infructueuse (non linéarité)
Restauration avec dégradation du critère
c(x)=0 lignes de f p2
p1 x1 x0
Techniques d’optimisation
121
c(x)=0
x0 x1 p1
c(x)=c1
∇c(x0)
p2 pt
1.3.2 Direction d’ordre 2
Effet Maratos La restauration après le déplacement p1 peut dégrader systématiquement le critère. Il faut alors réduire fortement le pas p1 pour progresser. Ceci peut bloquer un algorithme basé sur une recherche linéaire suivant p1 (effet Maratos). Correction d’ordre 2 • On corrige la direction de déplacement pour prendre en compte la non-linéarité des contraintes.
p1 = pas d’ordre 1 (en supposant des contraintes linéaires) p2 = pas d’ordre 2 (correction des non linéarités constatées en x1 = x0 + p1)
• Pas total : pt = p1 + p2 → direction de recherche.
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
( ) 11T
11T12
101
T01
121 bAAAp)pc(xb)c(xAavecbpA
−=→
+−=∇==
Techniques d’optimisation
122
Sommaire 1. Bases théoriques
1.1 Définitions 1.2 Contraintes linéaires 1.3 Contraintes non linéaires 1.4 Conditions d’optimalité 1.4.1 Dualité 1.4.2 Problème sans contraintes 1.4.3 Problème avec contraintes 1.4.4 Problème linéaire 1.4.5 Problème quadratique
2. Optimisation sans contraintes
3. Optimisation avec contraintes
1 Bases théoriques 1.4 Conditions d’optimalité
Techniques d’optimisation
123
1.4.1 Dualité
Dualité critère − contraintes - Critère augmenté - Lagrangien - Lagrangien augmenté - Fonction duale
Problème dual - Dualité faible - Saut de dualité - Point col - Dualité forte
Programmation linéaire - Problème primal - Problème dual
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Techniques d’optimisation
124
1.4.1 Dualité
Problème avec contraintes égalité → m contraintes d’égalité (= contraintes actives) Dualité Difficulté de résolution due aux 2 objectifs antagonistes : • Minimiser le critère f(x) • Satisfaire les contraintes c(x)=0 → Dualité critère-contraintes Méthodes duales Prise en compte des contraintes avec pondération dans la fonction coût • Critère augmenté → pondération = pénalisation des contraintes • Lagrangien → pondération = multiplicateurs de Lagrange • Lagrangien augmenté → pondération = pénalisation + multiplicateurs → Problème sans contraintes plus simple Réglages des pondérations / Equivalence au problème avec contraintes
0c(x)sousf(x)minnRx
=∈
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Techniques d’optimisation
125
1.4.1 Critère augmenté
Problème avec contraintes égalité → m contraintes d’égalité (= contraintes actives) Critère augmenté ρ = coefficient de pénalisation > 0 → Pénalise la violation des contraintes → Pondération critère-contraintes Problème pénalisé sans contraintes → Problème équivalent au problème avec contraintes si la pénalisation ρ est assez grande Problème pénalisé avec contraintes → Problème équivalent au problème avec contraintes Renforce le poids des contraintes dans le critère
0c(x)sousf(x)minnRx
=∈
2ρ c(x)ρ
21f(x)(x)f +=
(x)fmin ρRx n∈
0c(x)sous(x)fmin ρRx n
=∈
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Techniques d’optimisation
126
1.4.1 Exemple
Critère augmenté ( ) 1xsousxx
21min 1
21
22x,x 21
=−
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
( )21
22 xx
21)x(f −=
1x)x(c 1 −=
-2,0
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
( ) ( ) ( )21
21
2221 1x
21xx
21x,xf −ρ+−=ρ
-2,0
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
-2,0
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
-2,0
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
-2,0
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
ρ=1
ρ=2
ρ=10
ρ=100
ρ=0
−ρρ
=ρ⇒ 01
)(*x
( )01*x =⇒
Techniques d’optimisation
127
1.4.1 Lagrangien
Problème avec contraintes égalité et inégalité → p contraintes d’égalité → q contraintes d’inégalité Multiplicateurs de Lagrange 1 multiplicateur par contrainte • λ∈Rp → multiplicateurs des contraintes d’égalité • µ∈Rq → multiplicateurs des contraintes d’inégalité
Fonction de Lagrange (ou lagrangien) Le lagrangien du problème (PO) est la fonction L de Rn+p+q dans R → multiplicateurs ≈ coefficients de pénalisation des contraintes → interprétation comme des sensibilités aux niveaux des contraintes
(PO)0(x)c0(x)csousf(x)min
I
ERx n
≤=
∈
(x)cμ(x)cλf(x)μ)λ,L(x, IT
ET ++=
Rμ)λ,L(x,Rμ,Rλ,Rx qpn ∈∈∈∈
∑∑==
++=⇔q
1jIjj
p
1jEjj (x)cμ(x)cλf(x)μ)λ,L(x,
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Techniques d’optimisation
128
1.4.1 Lagrangien augmenté
Problème pénalisé avec contraintes égalité • Critère augmenté : coefficient de pénalisation ρ > 0 avec • Lagrangien du problème pénalisé avec contraintes Lρ = lagrangien augmenté = lagrangien initial + pénalisation des contraintes • Utilisation du lagrangien augmenté - Démonstration des conditions suffisantes d’optimalité - Algorithme de lagrangien augmenté = suite de minimisations sans contraintes
2ρ c(x)ρ
21f(x)(x)f +=0c(x)sous(x)fmin ρ
Rx n=
∈
2
2T
Tρρ
c(x)ρ21λ)L(x,
c(x)ρ21c(x)λf(x)
c(x)λ(x)fλ)(x,L
+=
++=
+=
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Techniques d’optimisation
129
1.4.1 Exemple
Lagrangien augmenté • Fonction de 2 variables → minimum en x* = (1 0) λ* = 1 • Critère augmenté → minimum en • Lagrangien augmenté → minimum en Pour λ = λ* = 1, le minimum sans contrainte du lagrangien augmenté est la solution x* du problème initial.
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
( ) 1xsousxx21min 1
21
22x,x 21
=−
−ρρ
=ρ 01
)(*x( ) ( ) ( )21
21
2221 1x
21xx
21x,xf −ρ+−=ρ
( ) ( ) ( ) ( )211
21
2221 1x
211xxx
21,x,xL −ρ+−λ+−=λρ
−ρ
λ−ρ=λρ 0
1),(*x
( )01011*),(*x =
−ρ−ρ
=λρ
0,0
0,5
1,0
1,5
2,0
2,0 4,0 6,0 8,0 10,0 12,0 14,0 ρ
x1
λ=0
λ=2 λ=1
Techniques d’optimisation
130
1.4.1 Exemple
Lagrangien augmenté ( ) 1xsousxx
21min 1
21
22x,x 21
=−
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
( )21
22 xx
21)x(f −=
1x)x(c 1 −=
-2,0
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
( ) ( ) ( ) ( )211
21
2221 1x
211xxx
21,x,xL −ρ+−λ+−=λρ
ρ=0
1* =λ
-2,0
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
-2,0
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
ρ=1 , λ=1
ρ=2 , λ=1
ρ=10 , λ=1
ρ=100 , λ=1 -2,0
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
-2,0
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
−ρ
λ−ρ=ρ⇒ 0
1)(*x
( )01*x =⇒
Techniques d’optimisation
131
1.4.1 Exemple
Lagrangien augmenté
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
lignes de niveau pour λ = 1
-2,0
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
-2,0
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
lignes de niveau pour λ = 0
ρ=2
ρ=10
lignes de niveau pour λ = 10
-2,0
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
-2,0
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
ρ=2
ρ=10
-2,0-1,5-1,0-0,50,00,51,01,52,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
-2,0
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
ρ=2
ρ=10
Techniques d’optimisation
132
1.4.1 Fonction duale Fonction duale La fonction duale du problème (PO) est la fonction w de Rp+q dans R → Minimisation du lagrangien à λ et µ fixés x = variables primales λ et µ = variables duales • Domaine de w : → w bornée Concavité - Convexité
• La fonction duale w est concave • Le domaine Xw est convexe Preuve : on note : γ=(λ,µ)
• L(x,αγ1+(1−α)γ2) = αL(x,γ1) + (1−α)L(x,γ2) car L linéaire en λ et µ ⇒ w(αγ1+(1−α)γ2) ≥ αw(γ1) + (1−α)w(γ2) pour le minimum/x de chaque membre
→ w concave • Si γ1et γ2∈Xw, w(αγ1+(1−α)γ2) ≥ αw(γ1) + (1−α)w(γ2) > −∞ ⇒ αγ1+(1−α)γ2 ∈Xw
→ Xw convexe
μ)λ,L(x,minμ),w(λnRx∈
=
{ }−∞>∈∈= μ),w(λ/Rμ,RλX qpw
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Techniques d’optimisation
133
1.4.1 Problème dual Problème dual • Problème primal : • Fonction duale : • Domaine de w : → w bornée • Problème dual : Borne sur la fonction duale • x* solution du problème primal • (λ ,µ)∈Xw, µ ≥ 0 Preuve :
μ)λ,L(x,minμ),w(λnRx∈
=
{ }−∞>∈∈= μ),w(λ/Rμ,RλX qpw
≤=
∈ 0(x)c0(x)csousf(x)min
I
ERx n
0μ,Xμ),λ(sousμ),w(λmax wRμ,Rλ qp
≥∈∈∈
0μet0(x*)cadmissible* x carf(x*)0(x*)cadmissible* x car(x*)cμf(x*)
(x*)cμ(x*)cλf(x*)μ)λ,L(x*,μ)λ,L(x,minμ),w(λ
I
EIT
IT
ET
Rx n
≥≤⇒≤=⇒+=
++=≤=∈
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
≥∈→=∇⇔
∈∈∈ 0μ,Xμ),λ(μ),x(λ0μ),λL(x,sousμ),λL(x,max
w
xRμ,Rλ,Rx qpn
→ dual de Wolfe
0μ),λL(x,/μ),x(λ x =∇→
f(x*)μ),w(λ ≤⇒
Techniques d’optimisation
134
1.4.1 Exemple Fonction duale
• Problème primal : • Lagrangien : • Solution : • Fonction duale :
• Problème dual : • Solution :
λ)L(x,min)w(λx
=
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
( ) 1xsousxx21min 1
21
22x,x 21
=−
( ) ( )1xxx21),x(L 1
21
22 −λ+−=λ
=λ=⇒
==λ+−⇒=
∂∂
⇒ 0xx
0x0x0
xL
2
1
2
1
=λ=λ−λ=λ⇒ 0x
xavec21)(w
2
12
10w=λ⇒=
λ∂∂
⇒
1*,01
*x =λ
=
==λ
01
*x,1*
)(wmax λλ
Techniques d’optimisation
135
1.4.1 Dualité faible Théorème de la dualité faible • x* solution du problème primal • λ*,µ* solution du problème dual Preuve : Dualité et admissibilité • Si le problème primal est non borné, le problème dual est non admissible. • Si le problème dual est non borné, le problème primal est non admissible. Preuve : en utilisant w*(λ*,µ*) ≤ f(x*) Existence de solutions x*, λ*, µ* ⇒ fonctions bornées Saut de dualité Le saut de dualité est la différence entre la solution du problème primal et du problème dual. Dans le cas général δ n’est pas nul, il n’est pas équivalent de minimiser f ou maximiser w.
f(x*)μ*),*w(λf(x*)μ), w(λ0,μλ, ≤⇒≤≥∀∀
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
0μ*),*w(λf(x*) ≥−=δ
f(x*)μ*),*w(λ ≤⇒
Techniques d’optimisation
136
1.4.1 Dualité forte Point col (x*,λ*,µ*≥0) est un point col (ou point selle) du lagrangien si → maximisation de L par rapport à (λ,µ) → minimisation de L par rapport à (x) Caractérisation (x*,λ*,µ*≥0) est un point col du lagrangien si et seulement si Théorème de la dualité forte Le lagrangien admet un point col (x*,λ*,µ*) si et seulement si le saut de dualité est nul. (x*,λ*,µ*≥0) un point col ⇔ w(λ*,µ*) = f(x*) Il est alors équivalent de minimiser f(x) ou maximiser w(λ,µ).
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
≤≤≥∀ μ*)λ*,L(x,μ*)λ*,L(x*,
μ*)λ*,L(x*,μ),λL(x*,),0μ,λ(x,
=≤=
=
0(x*)c*μ0(x*)c0(x*)c
μ*)λ*,L(x,minμ*)λ*,L(x*,
I
I
E
x
Techniques d’optimisation
137
1.4.1 Dualité forte Point col (ou point selle) L maximal par rapport à λ L minimal par rapport à (x)
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
x
λ
L(x,λ)
(x*,λ*)
Techniques d’optimisation
138
1.4.1 Dualité forte Optimum global Si (x*,λ*,µ*≥0) est un point col du lagrangien : alors x* est un optimum global du problème primal : En pratique • Si le lagrangien admet un point col, on peut obtenir l’optimum global x*. • Pour un problème non convexe, il n’existe en général pas de point col.
Exemple → solution : x* = 0.5 Point col :
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
≤=
∈ 0(x)c0(x)csousf(x)min
I
ERx n
≤≤≤−−= 1x0
01x2sousx)x(fmin 2
x
≥µ≤≤−µ+−=µ 0
1x0avec)1x2(x),x(L 2
=≤=
→
0(x*)c*μ0(x*)c,0(x*)c
μ*)λ*,L(x,minx*
I
IE
x
→
≥=−
≤−≤≤
µ
0μ0)1x2μ(
01x21x0
),x(Lminx
0x =→5.00 <=µ→
5.0si1x5.0si0x
<µ=>µ=
1x =→→
Il n’existe pas de point col.
Techniques d’optimisation
139
1.4.1 Programmation linéaire Problème primal → problème linéaire sous forme standard • Fonction de Lagrange : • Fonction duale : • Domaine de définition : • La fonction duale n’est définie que si L(x, λ, µ) est borné inférieurement.
L(x, λ, µ) est linéaire en x → Le coefficient de x doit être nul.
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
≥=0x
bAxsousxcmin T
x
( ) bxμλAcx)(μ)Axb(λxcμ)λ,L(x,
TTT
TTT
λ+−−=−+−+=
≤−=−⇔ 0x
0Axbsousxcmin T
x → multiplicateur µ → multiplicateur λ
μ)λ,L(x,minμ),w(λx
=
{ }−∞>= μ),w(λ/)μλ,(Xw
→ linéaire en x
0μλAcXμ)λ,( Tw =−−⇒∈
bμ)λ,L(x, Tλ=⇒ bλμ),w(λ T=⇒
Techniques d’optimisation
140
1.4.1 Programmation linéaire Problème dual → ne dépend pas de µ → nouveau problème linéaire en λ • Le problème dual est également un problème linéaire dont la variable est λ.
On met le problème dual sous forme standard en notant la variable y au lieu de λ On peut ensuite définir les fonctions associées à ce problème linéaire. • Fonction de Lagrange notée Ld(y, ν) : • Fonction duale notée wd(ν) :
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
≥∈
0μXμ),λ(sousμ),w(λmax w
μλ,
≥=−−⇔ 0μ
0μλAcsousbλmaxT
T
μλ,
0λAcsousλbmax TT
λ≥−⇔
0cyAsousybmin TT
y≤−− → multiplicateur ν
cy)bA()cyA(yb)(y,L
TT
TTTd
ν−−ν=−ν+−=ν
0bAsic)(y,Lmin)(w Tdyd =−νν−=ν=ν
→ bornée si 0bA =−ν
Techniques d’optimisation
141
1.4.1 Programmation linéaire Problème dual du problème dual Le problème dual admet lui-même pour dual : • Le problème dual du problème dual est le problème primal.
• Pour un problème linéaire, il est équivalent de résoudre le problème primal ou problème dual.
Les solutions du problème primal et du problème dual ont le même coût → dualité forte Solutions possibles
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
≥ν∈ν
νν 0
Xsous)(wmax dwd
≥ν=νν−⇔
ν 0bAsouscmax T → identique au problème primal
≥=⇔ 0x
bAxsousxcmin T
x
Dual
Optimum fini Optimum infini Sans solution
Optimum fini dualité forte impossible impossible
Primal Optimum infini impossible impossible dualité faible
Sans solution impossible dualité faible contraintes incompatibles
Techniques d’optimisation
142
1.4.1 Programmation linéaire Correspondances primal − dual • Problème primal (P) sous forme standard : • Problème dual (D) du problème (P) : • Le nombre de variables de (P) est égal au nombre de contraintes de (D). • Le nombre de contraintes de (P) est égal au nombre de variables de (D). • La matrice des contraintes de (D) est la transposée de la matrice des contraintes de (P). • Une variable xj ≥ 0 de coût cj donne une contrainte ≤ de niveau cj :
• Une contrainte = de niveau bi donne une variable yj ∈R de coût bi : → généralisation à un problème linéaire quelconque (signe des variables, sens des contraintes)
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
≥=0x
bAxsousxcmin)P( T
x
cyAsousybmax)D( TT
y≤
∑=
≤→
≥
m
1ijiij
j
jj cya0xxc
∈→=∑=
Ryybbxa
i
iin
1jijij
Techniques d’optimisation
143
1.4.1 Programmation linéaire Correspondance primal-dual • Problème primal (P)
• Problème dual (D)
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
∈≤≥
∈≥++∈≤++∈=++
++
∈∈∈
3
3
2
1
3n3
2n2
1n1
n3
2
1
m33332313
m22322212
m11312111
3T32
T21
T1
RxRxRx
Rx0x0x
Rb,bxCxBxARb,bxCxBxARb,bxCxBxA
sousxcxcxcmin
→ m1 égalités → m2 inégalités inférieur → m3 inégalités supérieur
→ n1 variables positives → n2 variables négatives → n3 variables libres
≥≤∈
∈=++∈≥++∈≤++
++
∈∈∈
0y0yRy
Rc,cyCyCyCRc,cyByByBRc,cyAyAyA
sousybybybmax
3
2
m1
n333
T32
T21
T1
n223
T32
T21
T1
n113
T32
T21
T1
3T32
T21
T1
RyRyRy 1
3
2
1
3m3
2m2
1m1
→ n1 inégalités inférieur → n2 inégalités supérieur → n3 égalités
→ m1 variables libres → m2 variables négatives → m3 variables positives
Techniques d’optimisation
144
1.4.1 Programmation linéaire Correspondance primal-dual Preuve • Lagrangien du problème primal (P)
• On regroupe les termes en x1,x2,x3 : • La fonction duale est définie par : → bornée si les coefficients
de x1,x2,x3 sont nuls
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
( )( )( )( )
2T21
T1
3323133T3
2322212T2
3121111T1
3T32
T21
T121321321
xxxCxBxAbbxCxBxAxCxBxAb
xcxcxc,,,,,x,x,xL
µµλλλ
µµλλλ
+−−−−+
−+++−−−+
++=→ m1 multiplicateurs λ1 → m2 multiplicateurs λ2 ≥ 0 → m3 multiplicateurs λ3 ≥ 0 → n1 multiplicateurs µ1 ≥ 0 → n2 multiplicateurs µ2 ≥ 0
( )( )( )( ) 3
T3
T32
T21
T13
2T
23T32
T21
T12
1T
13T32
T21
T11
3T32
T21
T121321321
xCCCcxBBBcxAAAc
bbb,,,,,x,x,xL
λλλµλλλµλλλ
λλλµµλλλ
−+−++−+−+−−+−+
+−=
μ)λ,L(x,minμ),w(λx
=
→ linéaire en x
Techniques d’optimisation
145
1.4.1 Programmation linéaire Correspondance primal-dual •
• L bornée • En posant : • Fonction duale : • Problème dual :
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
( )( )( )( ) 3
T3
T32
T21
T13
2T
23T32
T21
T12
1T
13T32
T21
T11
3T32
T21
T121321321
xCCCcxBBBcxAAAc
bbb,,,,,x,x,xL
λλλµλλλµλλλ
λλλµµλλλ
−+−++−+−+−−+−+
+−=
=−+−=+−+−=−−+−
⇒0CCCc0BBBc0AAAc
3T32
T21
T13
23T32
T21
T12
13T32
T21
T11
λλλµλλλµλλλ
≥≥
0,0,avec
32
21λλµµ
=++≥−=++≤+=++
⇒33
T32
T21
T1
2223T32
T21
T1
1113T32
T21
T1
cyCyCyCccyByByBccyAyAyA
µµ
≥=≤−=
=
0y0y
y
33
22
11
λλλ car µ1 ≥ 0
car µ2 ≥ 0
( ) ( ) ( ) 3T32
T21
T132121321321 ybybyby,y,yw,,,,Ly,y,yw ++=⇒= µµλλλ
( ) 3T32
T21
T1321y,y,y
ybybyby,y,ywmax321
++=
=++≥++≤++
33T32
T21
T1
23T32
T21
T1
13T32
T21
T1
cyCyCyCcyByByBcyAyAyA
sous
Techniques d’optimisation
146
1.4.1 Exemple Correspondance primal-dual • Problème primal (P)
• Problème dual (D)
• Problème dual du dual : on retrouve le problème primal (P)
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
∈≤≥≤≥+−=+−
++
Rx0,x0,x4x63xx2x53xx
sous3x2xxmin)P(
321
3
321
21
321x,x,x 321
≤≥∈=+≥−≤+−
++
0y0,y,Ry3y3y2y3y
12yy
sous4y6yy5max)D(
321
32
21
21
321y,y,y 321
≤≥∈−=−−−≤+−−≥−
−−−⇔
0y0,y,Ry3y3y2y3y12yy
sous4y6yy5min
321
32
21
21
321y,y,y 321
Techniques d’optimisation
147
1.4.2 Problème sans contraintes
Conditions nécessaires d’optimalité locale
Conditions suffisantes d’optimalité locale Méthode pratique
Exemples
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes
Techniques d’optimisation
148
f(x)minnRx∈
( )( ) 0f(x*)cardof(x*)dd
21f(x*)
dof(x*)dd21df(x*)f(x*)d)*f(x
22T
22TT
=∇+∇+=
+∇+∇+=+
( )dodf(x*)f(x*)d)*f(x T +∇+=+
≥∇=∇⇒ 0f(x*)
0f(x*)2 → ordre 2 : hessien semi-défini positif
→ ordre 1 : point critique ou stationnaire
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes
1.4.2 Conditions nécessaires
Problème sans contraintes Conditions nécessaires x* minimum local Preuve : avec le théorème de Taylor • Ordre 1 : Si ∇f(x*)≠0, on peut trouver d petit tel que ∇f(x*)Td < 0 ⇒ f(x*+d) < f(x*) • Ordre 2 : Si ∇2f(x*) non semi-définie positive, on peut trouver d petit tel que dT∇2f(x*) d < 0 ⇒ f(x*+d) < f(x*)
Techniques d’optimisation
149
f(x)minnRx∈
>∇=∇
0f(x*)0f(x*)
2 → ordre 2 : hessien défini positif → ordre 1 : point critique ou stationnaire
( )( ) 0f(x*)cardof(x*)dd
21f(x*)
dof(x*)dd21df(x*)f(x*)d)*f(x
22T
22TT
=∇+∇+=
+∇+∇+=+
0f(x*)ddf(x*)d)*f(x 2T <∇⇒<+
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes
1.4.2 Conditions suffisantes
Problème sans contraintes Conditions suffisantes ⇒ x* minimum local Preuve : par l’absurde Si x* n’est pas un minimum local, on peut trouver d petit tel que f(x*+d) < f(x*) Théorème de Taylor à l’ordre 2 : → contredit l’hypothèse ∇2f(x*) définie positive
Techniques d’optimisation
150
1.4.2 Méthode pratique
Problème sans contraintes • Condition nécessaire du 1er ordre : → point critique ou stationnaire • Condition nécessaire du 2eme ordre : → plus difficile à vérifier
suffisante Méthode pratique • Recherche des points stationnaires en résolvant : ∇f(x*) = 0 Un point stationnaire peut être un minimum local, un maximum local ou un point selle. • Vérification de la condition d’ordre 2 : calcul des dérivées secondes
valeurs propres du hessien ≥ 0 → garantit l’obtention d’un minimum local x* Minimum global x* minimum local • f convexe ⇒ x* minimum global • f strictement convexe ⇒ x* unique minimum global • f quelconque (cas général) ⇒ On ne peut pas vérifier que x* est un minimum global.
f(x)minnRx∈
0f(x*) =∇0f(x*)2 ≥∇0f(x*)2 >∇
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes
Techniques d’optimisation
151
1.4.2 Exemples
Exemple 1 Fonction de Rosenbrock • Gradient : • Hessien :
• Point stationnaire : • Valeurs propres du hessien : • Condition d’ordre 2 : ∇2f(x*) est défini positif
• x* vérifie les conditions suffisantes de minimum local (strict)
x* est un minimum local de f
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes
( ) ( )21
221221 x1xx100)x,x(f −+−=
−−+−
=∇ 212
12131
21 x200x2002x2xx400x400
)x,x(f
−−+−
=∇200x400
x4002x400x1200)x,x(f
1
1221
212
==
⇒
=−=−+−⇒=∇ 2
12
1212
12131
21 xx1x
0x200x20002x2xx400x4000)x,x(f
=⇒
11
*x
−
−=∇
200400400802
*)x(f2
=σ=σ→ 39936.0
60.10012
1
-1,0
0,0
1,0
2,0
3,0
4,0
5,0
-2,5 -2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
Techniques d’optimisation
152
1.4.2 Exemples
Exemple 2 Fonction : • Gradient : • Hessien :
• Point stationnaire :
• Valeurs propres du hessien :
∇2f(x*) est semi-défini positif
• x* vérifie les conditions nécessaires de minimum local x* ne vérifie pas les conditions suffisantes de minimum local x* est en fait un maximum local de f :
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes
42
4121 xx)x,x(f −−=
−−
=∇ 32
31
21 x4x4
)x,x(f
−−
=∇ 22
21
212
x1200x12
)x,x(f
==⇒=∇ 0x
0x0)x,x(f2
121
=⇒
00
*x
=∇
0000
*)x(f2
=σ=σ→ 0
02
1
)0,0(f)x,x(f),x,x(0xx)x,x(f
2121
42
4121
≤∀⇒≤−−=
Techniques d’optimisation
153
1.4.2 Exemples
Exemple 3 Fonction : • Gradient : • Hessien :
• Point stationnaire :
• Valeurs propres du hessien : ∇2f(x*) est semi-défini positif
• x* vérifie les conditions nécessaires de minimum local
x* ne vérifie pas les conditions suffisantes de minimum local x* n’est ni un minimum ni un maximum local de f :
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes
32
2121 xx)x,x(f −=
−
=∇ 22
121 x3
x2)x,x(f
−
=∇2
212
x6002
)x,x(f
==⇒=∇ 0x
0x0)x,x(f2
121
=⇒
00
*x
=∇
0002
*)x(f2
=σ=σ→ 0
22
1
<>
><−=
0xsi0
0xsi0x)x,0(f
2
2322
-1,0
-0,5
0,0
0,5
1,0
-1,0 -0,5 0,0 0,5 1,0
Techniques d’optimisation
154
1.4.3 Problème avec contraintes
Conditions nécessaires d’optimalité locale - Multiplicateurs de Lagrange - Conditions KKT
Conditions suffisantes d’optimalité locale
Interprétation géométrique
Méthode pratique
Exemples
Sensibilité - Sensibilité aux niveaux de contrainte - Sensibilité aux paramètres de modèle
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
155
1.4.3 Conditions nécessaires
Problème avec contraintes → p contraintes d’égalité → q contraintes d’inégalité Conditions nécessaires x* minimum local ⇒ ∇f(x*)Td ≥ 0 pour toute direction d admissible à la limite en x* Méthode directe Nécessite de connaître l’ensemble des directions admissibles en x* • Cas de contraintes linéaires
→ Définition des directions admissibles à partir des directions de base (§1.2.2) • Cas de contraintes non linéaires
→ Définition des directions admissibles à la limite → Pas de caractérisation des directions admissibles dans le cas général sauf hypothèse de qualification des contraintes : cône des directions (§1.3.1) Méthode indirecte A partir des multiplicateurs de Lagrange → Conditions d’optimalité dans le cas général
≤=
∈ 0(x)c0(x)csousf(x)min
I
ERx n
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
156
1.4.3 Conditions nécessaires
Problème avec contraintes → p contraintes d’égalité → q contraintes d’inégalité Conditions nécessaires Hypothèse : Contraintes linéairement indépendantes en x* x* minimum local ⇒ Il existe un unique λ*∈Rp et un unique µ*∈Rq tels que : • Ordre 1 : • Ordre 2 : Pour toute direction d tangente aux contraintes actives (c(x*)=0) :
→ Conditions nécessaires de Karush-Kuhn-Tucker (conditions KKT) (1939) (1951)
≤=
∈ 0(x)c0(x)csousf(x)min
I
ERx n
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
0c(x*)d/d T =∇∀0d)*μ*,λL(x*,d 2
xxT ≥∇ → conditions nécessaires d’ordre 2
→ conditions nécessaires d’ordre 1 → contraintes égalité cE(x*) = 0
=≥
≤∇=∇=∇
0(x*)c*μ0*μ
0)*μλ*,L(x*,0)*μλ*,L(x*,0)*μλ*,L(x*,
I
μ
λ
x
→ contraintes inégalité cI(x*) ≤ 0
→ conditions complémentaires
Techniques d’optimisation
157
1.4.3 Conditions nécessaires
Eléments de la démonstration 1) Cas de contraintes linéaires : cE(x) = Ax − b = 0 → ∇cE(x) = AT
• On choisit une base B∈Rm×n :
• On se ramène à un problème sans contrainte (= problème réduit)
• Conditions nécessaires d’optimalité du problème réduit xN* minimum local de g(xN) → Méthode de réduction : fonction réduite g(xN) gradient réduit ∇ g(xN) hessien réduit ∇2g(xN)
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
( )N1
BNB NxbBxbNxBxbAx −=⇔=+⇔= −
=
N
BT
xx
xE
=
−mnmNBAE
( )N1
BNB
RxRxRx
NxbBxsous)x,f(xminbAxsousf(x)minm-n
N
mB
n−=⇔= −
∈∈∈
( )( )NN1
NRx
x,NxbBf)g(xminm-n
N
−= −
∈
≥∇=∇
⇒ 0*)g(x0*)g(x
N2
N
Techniques d’optimisation
158
1.4.3 Conditions nécessaires
Eléments de la démonstration 1) Cas de contraintes linéaires • Problème réduit :
• Condition nécessaire d’ordre 1 du problème réduit : • On définit : • On obtient la condition nécessaire d’ordre 1 sur le lagrangien
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
0*Nf(x*)0*)g(x TNN =+∇⇒=∇ λ
0*B*)x(favec TB =+∇ λ
0*Af(x*) T =+∇⇒ λ
0*)g(xN =∇
0)()( =+∇⇔∇−= − λλ TBB
T BxfxfB)x(fN)g(x N
TN ∇+=∇⇒ λ
( )( )NN1
N x,NxbBf)g(x −= −
( )( )NN1
NRx
x,NxbBf)g(xminm-n
N
−= −
∈
0*(x*)cf(x*))*L(x*, Ex =∇+∇=∇ λλ
∇∇
=∇)x(f)x(f
f(x)avecN
B
( ) )x(f)x(fNB)g(x NBT1
N ∇+∇−=∇⇒ −
A(x*)ccar TE =∇
Techniques d’optimisation
159
1.4.3 Conditions nécessaires
Eléments de la démonstration 1) Cas de contraintes linéaires • Condition nécessaire d’ordre 2 du problème réduit : • Pour d∈R vérifiant
• On obtient la condition nécessaire d’ordre 2 sur le lagrangien
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
0*)g(xN2 ≥∇
( )( )NN1
N x,NxbBf)g(x −= −
∇∇∇∇
=∇)x(f)x(f)x(f)x(f
f(x)avec 2NN
2NB
2BN
2BB2
( ) ( ) ( ) ( ) )x(fNB)x(f)x(fNBNB)x(fNB)g(x 2NN
12NB
2BN
T112BB
T1N
2 ∇+∇−∇−∇=∇⇒ −−−−
mnNN
1
N
B Rd,dI
NBdd
d0Ad −−
∈
−=
=⇒=
0*)dg(xdd*)*,x(Ld,0Ad/Rd NN2T
N2xx
T ≥∇=∇=∈∀ λ
( ) ( ) ( )( ) N
2NN
TNN
12NB
TN
N2BN
T1TNN
12BB
T1TNNN
2TN
d)x(fddNB)x(fdd)x(fNBddNB)x(fNBd)dg(xd
∇+∇−∇−∇=∇
−
−−−
N2NN
TNB
2NB
TNN
2BN
TBB
2BB
TBNN
2TN d)x(fdd)x(fdd)x(fdd)x(fd)dg(xd ∇+∇−∇−∇=∇⇒
d),x(Ldd)x(fd)dg(xd 2xx
T2TNN
2TN λ∇=∇=∇⇒
f(x*))*L(x*,*Af(x*))*L(x*,car
22xx
Tx
∇=∇⇒+∇=∇
λλλ
Techniques d’optimisation
160
1.4.3 Conditions nécessaires
Eléments de la démonstration 2) Cas de contraintes non linéaires : cE(x)=0 cI(x)≤0 On suppose que x* est un minimum local de • On définit pour les contraintes inégalité : • On considère une suite de problèmes pénalisés sans contrainte → minimum local xk k∈N → pénalisation de la violation des contraintes α>0 → pénalisation de la distance au minimum • xk minimum local de fk ⇒ fk(xk) ≤ fk(x*) = f(x*)
⇒ La suite fk(xk) est bornée supérieurement par f(x*)
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
≤=
∈ 0)x(c0)x(csous)x(fmin
I
ERx n
22
I2
EkRx
x*x21)x(ck
21)x(ck
21)x(f)x(fmin
n−+++= +
∈α
( ))x(c,0max)x(c II =+
Techniques d’optimisation
161
1.4.3 Conditions nécessaires
Eléments de la démonstration 2) Cas de contraintes non linéaires : cE(x)=0 cI(x)≤0 • La suite fk(xk) est bornée supérieurement par f(x*) • Multiplicateurs des contraintes inégalité :
Contrainte inégalité inactive :
• On regroupe les contraintes en un seul vecteur pour simplifier l’écriture
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
*)x(fx*x21)x(ck
21)x(ck
21)x(f)x(f 2
k
2
kI2
kEkkk ≤−+++= + α
−
⇒ +
bornéx*x
borné)x(ck
borné)x(ck
2k
2
kI
2kE
α
=
=
=
⇒
∞→
+
∞→
∞→
*xxlim*)x(kclim
*)x(kclim
kk
defkIk
defkEk
µ
λ → définit les multiplicateurs λ → définit les multiplicateurs µ → la suite (xk) converge vers x*
= + )x(c
)x(c)x(cI
E 22k x*x
21)x(ck
21)x(f)x(f −++=→ α
*)xx()x(c)x(ck)x(f)x(fk −+∇+∇=∇ α
( ) 0*0)x(c,0max)x(c II ≥⇒≥=+ µ0*kk,0)x(c0)x(c 0kII =⇒>=⇒= µ
Techniques d’optimisation
162
1.4.3 Conditions nécessaires
Eléments de la démonstration 2) Cas de contraintes non linéaires : cE(x)=0 cI(x)≤0 • Condition nécessaire d’optimalité pour le problème sans contrainte
xk minimum local de fk(x)
• En prémultipliant par • Les contraintes sont supposées linéairement indépendantes → inversible
• En prémultipliant par
• En distinguant les contraintes égalité et inégalité
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
0*)xx()x(c)x(ck)x(f0)x(f kkkkkk =−+∇+∇⇒=∇⇒ α
Tk )x(c∇
0*)xx()x(c)x(c)x(c)x(ck)x(f)x(c kT
kkkT
kkT
k =−∇+∇∇+∇∇⇒ α
)x(c)x(c kT
k ∇∇
( ) 1k
Tk )x(c)x(c −
∇∇
( ) ( )*)xx()x(f)x(c)x(c)x(c)x(ck kkT
k1
kT
kk −+∇∇∇∇−=⇒−
α
( ) ( )( ) ( )
−+∇∇∇∇−=
−+∇∇∇∇−=⇒
+−+++
−
*)xx()x(f)x(c)x(c)x(c)x(ck
*)xx()x(f)x(c)x(c)x(c)x(ck
kkT
kI1
kIT
kIkI
kkT
kE1
kET
kEkE
α
α
Techniques d’optimisation
163
1.4.3 Conditions nécessaires
Eléments de la démonstration 2) Cas de contraintes non linéaires : cE(x)=0 cI(x)≤0 • On obtient : • Lorsque k tend vers l’infini
• En reportant dans l’expression du gradient de fk en xk
• On obtient la condition nécessaire d’ordre 1 :
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
0*)*,*,x(Lx =∇ µλ
( ) ( )( ) ( )
−+∇∇∇∇−=−+∇∇∇∇−=
+−+++
−
*)xx()x(f)x(c)x(c)x(c)x(ck*)xx()x(f)x(c)x(c)x(c)x(ck
kkT
kI1
kIT
kIkI
kkT
kE1
kET
kEkE
αα
( )( )
∇∇∇∇−==
∇∇∇∇−==+−+++
∞→
−
∞→
*)x(f*)x(c*)x(c*)x(c*)x(kclim
*)x(f*)x(c*)x(c*)x(c*)x(kclimT
I1
IT
IdefkIk
TE
1E
TEdefkEk
µ
λ
0*)xx()x(c)x(ck)x(c)x(ck)x(f)x(f kkIkIkEkEkkk =−+∇+∇+∇=∇ ++ α
0**)x(c**)x(c*)x(f IEk =+∇∇+∇ → +∞→ µλ
0**)x(c**)x(c*)x(f IE =+∇∇+∇⇒ µλ car µ*=0 pour les inégalités inactives
Techniques d’optimisation
164
1.4.3 Exemple
Conditions nécessaires Lagrangien : • Conditions nécessaires d’ordre 1 → vérifiées en • Conditions nécessaires d’ordre 2 d direction tangente aux contraintes actives : vérifie les conditions nécessaires d’ordre 1 et 2.
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
0d001
dd
0c(x*)d 1
T
2
1T =⇒=
⇒=∇
( ) 1xsousxx21min 1
21
22x,x 21
≤−
-2,0
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
( ) ( ) ( )1xxx21,x,xL 1
21
2221 −µ+−=µ
( )
=−≥≤=
=+−
01xμ0μ1x0x
0μx
1
1
2
11*,
01
*x =µ
=
0ddddd
1001
dd
d)*μL(x*,d 22
22
21
2
1T
2
12xx
T ≥=+−=
−
=∇
1*,01
*x =µ
=
Techniques d’optimisation
165
1.4.3 Conditions suffisantes
Problème avec contraintes → p contraintes d’égalité → q contraintes d’inégalité Conditions suffisantes S’il existe x*∈Rn , λ*∈Rp , µ*∈Rq tels que : • Ordre 1 : • Ordre 2 : Pour toute direction d tangente aux contraintes actives (c(x*)=0) :
⇒ x* est un minimum local strict Remarque : Pas d’hypothèse de qualification des contraintes dans les conditions suffisantes
≤=
∈ 0(x)c0(x)csousf(x)min
I
ERx n
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
0c(x*)d/d T =∇∀0d)*μ*,λL(x*,d 2
xxT >∇ → conditions d’ordre 2
→ conditions d’ordre 1 → contraintes égalité cE(x*) = 0
=>=
≥≤∇=∇=∇
0(x*)csi0*μ0(x*)c*μ
0*μ0)*μλ*,L(x*,0)*μλ*,L(x*,0)*μλ*,L(x*,
Ikk
I
μ
λ
x
→ contraintes inégalité cI(x*) ≤ 0
→ conditions complémentaires → contraintes actives : multiplicateur > 0
Techniques d’optimisation
166
1.4.3 Conditions suffisantes
Eléments de la démonstration Cas de contraintes égalité : c(x)=0 On suppose que (x*,λ*) vérifie les conditions suffisantes. • On considère le problème sans contrainte Lρ(x,λ) = lagrangien augmenté ρ>0 = pénalisation de la violation des contraintes •
•
⇒ x* est un minimum local du lagrangien augmenté Lρ(x,λ*) pour λ=λ*.
• Au voisinage de x* : ⇒ x* est un minimum local de f
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
2T2ρ
Rxc(x)ρ
21c(x)*λf(x)c(x)ρ
21λ*)L(x,λ*)(x,Lmin
n++=+=
∈
0λ*)L(x*,*c(x*)λf(x*)
c(x*)c(x*)ρ*c(x*)λf(x*)λ*)(x*,L
x
ρx
=∇=∇+∇=
∇+∇+∇=∇→ car x* admissible → par hypothèse sur x*,λ*
T2xxρ
2xx c(x*)c(x*)ρλ*)L(x*,λ*)(x*,L ∇∇+∇=∇ → définie positive pour ρ assez grand
0c(x)/x,λ*)f(x,λ*)f(x*,λ*)(x,Lλ*)(x*,L ρρ =∀≤⇒≤
Techniques d’optimisation
167
1.4.3 Exemple
Conditions suffisantes vérifie les conditions nécessaires • Conditions suffisantes d’ordre 1
Contrainte active → multiplicateur > 0 • Conditions suffisantes d’ordre 2 d direction tangente aux contraintes actives : vérifie les conditions suffisantes d’ordre 1 et 2 → minimum local strict.
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
0d001
dd
0c(x*)d 1
T
2
1T =⇒=
⇒=∇
( ) 1xsousxx21min 1
21
22x,x 21
≤−
-2,0
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
01* >=µ
0ddddd
1001
dd
d)*μL(x*,d 22
22
21
2
1T
2
12xx
T >=+−=
−
=∇
1*,01
*x =µ
=
01*x =−
0d0d0
dcar 22
≠⇒≠
=
1*,01
*x =µ
=
Techniques d’optimisation
168
1.4.3 Exemple
Remarque sur la condition d’ordre 2 est une direction admissible en mais la condition d’ordre 2 ne porte que sur les directions tangentes aux contraintes actives.
Importance de la condition de complémentarité vérifie les conditions suffisantes d’ordre 1 et 2 sauf la condition de complémentarité Si la contrainte active est active, le multiplicateur doit être strictement positif. active et n’est pas strictement positif → x* n’est pas un minimum local (f décroit suivant x1 <0)
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
( ) 1xsousxx21min 1
21
22x,x 21
≤−
=
01
*x
0*,00
*x =µ
=
−=
01
d
1*,01
*x =µ
=→
( ) 0xsousxx21min 1
21
22x,x 21
≤−
-2,0
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
01*x =− 0* =µ
Techniques d’optimisation
169
1.4.3 Interprétation géométrique
Interprétation • Condition complémentaire • Condition d’ordre 1
La direction −∇f(x) est la direction de plus forte descente en x. Les directions ∇c(x) sont orthogonales à l’hyperplan tangent aux contraintes actives en x. Equation de l’hyperplan tangent aux contraintes actives en x : dT∇c(x)=0
→ Les déplacements admissibles (dans l’hyperplan tangent) sont orthogonaux au gradient. → Déplacements suivant les lignes de niveau de f, sans diminution du critère.
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
=
=⇒==
0(x)c
0μq1,...,j0,(x)cμ
Ij
j
Ijj ou→ contrainte active
→ sensibilité nulle
ν∇=∇−⇒∇+∇=∇−⇒
=∇+∇+∇⇒=∇
c(x).f(x)(x).μc(x).λcf(x)
0(x).μc(x).λcf(x)0μ)λ,L(x,IE
IEx
→ contraintes actives c(x)
Techniques d’optimisation
170
1.4.3 Interprétation géométrique
Fonction de 2 variables – 1 contrainte égalité
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
0)x,(xcsous)x,f(xmin 21E21x,x 21
=
x*
cE = 0
∇cE
−∇f
−∇f ∇cE
−∇f
x1
x2 f décroissante
0*)x(c*)x(f E =∇λ+∇
Sur le schéma : • f(x1, x2) = x1 à minimiser • λ < 0 (λ ≈ −2)
Techniques d’optimisation
171
1.4.3 Interprétation géométrique
Fonction de 2 variables – 1 contrainte inégalité
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
0)x,(xcsous)x,f(xmin 21I21x,x 21
≤
00*)x(c*)x(f I
≥µ=∇µ+∇
Sur le schéma : • f(x1, x2) = x1 à minimiser • µ > 0 (µ ≈ 2)
x*
cI = 0
∇cI
−∇f
−∇f ∇cI
−∇f
x1
x2 f décroissante
cI < 0
Techniques d’optimisation
172
1.4.3 Interprétation géométrique
Fonction de 2 variables – 1 contrainte égalité – 1 contrainte inégalité
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
≤=
0)x,(xc0)x,(xcsous)x,f(xmin
21I
21E21x,x 21
00*)x(c*)x(c*)x(f IE
≥µ=∇µ+∇λ+∇
Sur le schéma : • f(x1, x2) = x1 à minimiser • λ < 0 (λ ≈ −1.5) • µ > 0 (µ ≈ 1.5)
−∇f
∇cI
cI = 0
x1
x2 f décroissante
x*
−∇f
cI < 0
∇cE cE = 0
∇cE
Techniques d’optimisation
173
1.4.3 Interprétation géométrique
Fonction de 2 variables – 2 contraintes inégalité
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
−∇f
∇cI1
cI1 = 0
x1
x2 f décroissante
x*
−∇f
cI1 < 0
∇cI2
cI2 = 0
cI2 < 0
∇cI2
Sur le schéma : • f(x1, x2) = x1 à minimiser • µ1 > 0 (µ1 ≈ 1.5) • µ2 > 0 (µ2 ≈ 1.5)
≤≤
0)x,(xc0)x,(xcsous)x,f(xmin
21I2
21I121x,x 21
00
0*)x(c*)x(c*)x(f
2
1
2I21I1
≥µ≥µ
=∇µ+∇µ+∇
Techniques d’optimisation
174
1.4.3 Interprétation géométrique
Fonction de 2 variables – 1 contrainte inégalité
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
0)x,(xcsous)x,f(xmin 21I21x,x 21
≤
00*)x(c*)x(f I
≥µ=∇µ+∇
Sur le schéma : • f(x1, x2) quadratique • x0 = minimum sans contrainte • µ > 0 (µ ≈ 2)
−∇f
∇cI
cI = 0
x1
x2
x*
cI < 0 −∇f
x0
Techniques d’optimisation
175
1.4.3 Interprétation géométrique
Fonction de 2 variables – 1 contrainte égalité – 1 contrainte inégalité
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
x1
x2
−∇f
∇cI
cI = 0
x* cI < 0
x0 ∇cE
cE = 0
≤=
0)x,(xc0)x,(xcsous)x,f(xmin
21I
21E21x,x 21
00*)x(c*)x(c*)x(f IE
≥µ=∇µ+∇λ+∇
Sur le schéma : • f(x1, x2) quadratique • x0 = minimum sans contrainte • λ > 0 (λ ≈ 1.5) • µ > 0 (µ ≈ 1.5)
Techniques d’optimisation
176
1.4.3 Méthode pratique
Problème avec contraintes → p contraintes d’égalité → q contraintes d’inégalité La résolution analytique ou numérique nécessite d’identifier les contraintes actives. On se ramène à un problème avec contraintes égalité plus simple. → résolution des conditions KKT d’ordre 1 → vérification des conditions réduites d’ordre 2 Identification des contraintes actives • Résolution analytique → problème combinatoire (conditions complémentaires) • Résolution numérique → mise à jour itérative de l’ensemble des contraintes actives Stratégie itérative d’identification • On cherche un déplacement à partir du point courant sans tenir compte des contraintes inégalité • Le déplacement peut rendre actives certaines contraintes inégalité. • On reprend la recherche en ajoutant la première contrainte inégalité activée.
→ résolution d’une succession de problèmes avec contraintes égalité → m contraintes actives
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
≤=
∈ 0(x)c0(x)csousf(x)min
I
ERx n
0c(x)sousf(x)minnRx
=∈
Techniques d’optimisation
177
1.4.3 Exemple
Problème avec 2 contraintes inégalité • Lagrangien : • Conditions KKT d’ordre 1 Identification des contraintes actives Problème combinatoire : il faut essayer les 4 possibilités
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
( )
≤−=≤−−+=+=
0x1)x(c011xx)x(csousxx)x(fmin
22
22
211
21x,x 21
( )( ) ( )222
221121
2211
x111xxxx)x(c)x(c)x(f),x(L
−µ+−−+µ++=µ+µ+=µ
( )( )
≥µµ=µ=µ
≤−≤−−+
=µ−−µ+=µ+
0,0)x(c0)x(c
0x1011xx
01x210x21
21
22
11
2
22
21
221
11
→ conditions complémentaires : 4 combinaisons possibles
-1
-0,5
0
0,5
1
1,5
2
2,5
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
==µ==µ
0)x(cou00)x(cou0
22
11
Techniques d’optimisation
178
1.4.3 Exemple
Problème avec 2 contraintes inégalité • → incompatible équation → c1 contrainte active • → incompatible équations → c2 contrainte active • Combinaison retenue • Solution : Vérification condition d’ordre 2 : cône admissible vide
(2 contraintes actives) → minimum local
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
( )
≤−=≤−−+=+=
0x1)x(c011xx)x(csousxx)x(fmin
22
22
211
21x,x 21
0Si 1 =µ 0x21 11 =µ+
-1
-0,5
0
0,5
1
1,5
2
2,5
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
==
0)x(c0)x(c
2
1
0)x(c1 =⇒
( ) 01x21 21 =−µ+⇒0Si 2 =µ
≥µ≤−
00x1
1
2
0)x(c2 =⇒
=±=⇒ 1x
1x2
1
=µ−=→≥µ=µ⇒ 1
1x0et5.02
111
=µ=µ=
−=
15.0
1x1x
2
1
2
1
Techniques d’optimisation
179
1.4.3 Exemple
Changement de sens contrainte 2 • Lagrangien : • Conditions KKT d’ordre 1 Identification des contraintes actives Problème combinatoire : il faut essayer les 4 possibilités
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
( )
≤−=≤−−+=+=
01x)x(c011xx)x(csousxx)x(fmin
22
22
211
21x,x 21
( )( ) ( )1x11xxxx)x(c)x(c)x(f),x(L
222
221121
2211
−µ+−−+µ++=µ+µ+=µ
( )( )
≥µµ=µ=µ
≤−≤−−+
=µ+−µ+=µ+
0,0)x(c0)x(c
01x011xx
01x210x21
21
22
11
2
22
21
221
11
→ conditions complémentaires : 4 combinaisons possibles
==µ==µ
0)x(cou00)x(cou0
22
11
-1
-0,5
0
0,5
1
1,5
2
2,5
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
Techniques d’optimisation
180
1.4.3 Exemple
Changement de sens contrainte 2 • → incompatible équation → c1 contrainte active • → incompatible condition • • Vérification condition d’ordre 2 : → minimum local
(1 contrainte active)
-1
-0,5
0
0,5
1
1,5
2
2,5
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
( )
≤−=≤−−+=+=
01x)x(c011xx)x(csousxx)x(fmin
22
22
211
21x,x 21
0Si 1 =µ 0x21 11 =µ+
0)x(c1 =⇒
0Si 2 =µ
02002
),x(L1
12xx >
µ
µ=µ∇
( )( )
=−−+=−µ+
=µ+⇒
011xx01x21
0x21
22
21
21
11
>=µµ−=
µ−=⇒
02/1)2/(11x
)2/(1x
1
12
11
=µ−=
−=⇒
2/12/11x
2/1x
1
2
1
0)x(cSi 2 =
=±=⇒ 1x
1x2
1
−=µ=µ⇒ 1
5.02
1
02 ≥µ
Techniques d’optimisation
181
1.4.3 Exemple
Passage contrainte 1 en égalité • Lagrangien : • Conditions KKT d’ordre 1 Identification des contraintes actives Problème combinatoire : il faut essayer les 2 possibilités
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
( )
≤−==−−+=+=
0x1)x(c011xx)x(csousxx)x(fmin
22
22
211
21x,x 21
( )( ) ( )222
221121
2211
x111xxxx)x(c)x(c)x(f),x(L
−µ+−−+λ++=µ+λ+=µ
( )( )
≥µ=µ
≤−=−−+
=µ−−λ+=λ+
00)x(c
0x1011xx
01x210x21
2
22
2
22
21
221
11
→ conditions complémentaires : 2 combinaisons possibles
-1
-0,5
0
0,5
1
1,5
2
2,5
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
0)x(cou0 22 ==µ
Techniques d’optimisation
182
-1
-0,5
0
0,5
1
1,5
2
2,5
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
1.4.3 Exemple
Passage contrainte 1 en égalité •
• Vérification condition d’ordre 2 : → maximum local
(1 contrainte active) → solution rejetée
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
( )
≤−==−−+=+=
0x1)x(c011xx)x(csousxx)x(fmin
22
22
211
21x,x 21
0Si 2 =µ
02002
),x(L1
12xx <
λ
λ=µ∇
( )( )
=−−+=−λ+
=λ+⇒
011xx01x21
0x21
22
21
21
11
±=λλ−=
λ−=⇒
2/1)2/(11x
)2/(1x
1
12
11
01 ≠λ→
−=λ+=
=⇒≤−
2/12/11x
2/1x0x1
1
2
1
2
Techniques d’optimisation
183
1.4.3 Exemple
Passage contrainte 1 en égalité • • Vérification condition d’ordre 2
Cône admissible vide : → 2 contraintes actives → 2 minima locaux : et
-1
-0,5
0
0,5
1
1,5
2
2,5
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
( )
≤−==−−+=+=
0x1)x(c011xx)x(csousxx)x(fmin
22
22
211
21x,x 21
0)x(cSi 2 =
λ
λ=µ∇
1
12xx 20
02),x(L
=±=⇒ 1x
1x2
1
=µ=λ⇒ 1
5.02
1
0)x(f
15.0
1x1x
2
1
2
1
=→
=µ=λ=
−=
2)x(f
15.0
1x1x
2
1
2
1
=→
=µ−=λ
==
−
=∇
=
−
=∇1
0c,
0x2
)1x(2x2
c 21
2
11
Techniques d’optimisation
184
1.4.3 Méthode pratique
Problème avec contraintes actives → m contraintes actives Résolution des conditions KKT On cherche x*∈Rn et λ*∈Rm vérifiant les conditions KKT. • Condition nécessaire du 1er ordre
→ n équations → m équations Les n équations ∇xL(x*,λ*) permettent d’exprimer x*∈Rn en fonction de λ*∈Rm
On remplace ensuite x*(λ*) dans les m équations ∇λL(x*,λ*). → système de m équations à m inconnues λ*∈Rm • Condition nécessaire du 2ème ordre
Il faut vérifier que : → hessien du lagrangien semi-défini positif sur le cône admissible Condition difficile à vérifier sous cette forme → passage au hessien réduit
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
=∇=∇
0λ*)L(x*,0λ*)L(x*,
λ
x
0c(x)sousf(x)minnRx
=∈
=∇∀≥∇
0c(x*)d/d0d)*λL(x*,d
T
2xx
T
Techniques d’optimisation
185
1.4.3 Méthode pratique
Problème avec contraintes actives → m contraintes actives Problème équivalent • Les conditions nécessaires de minimum de f sous contraintes sont : • On observe qu’il s’agit également des conditions nécessaires du problème : • Il est équivalent de minimiser f(x) ou L(x,λ*), si l’on connaît λ*. • On écrit les conditions nécessaires sur le modèle quadratique-linéaire local,
puis on applique la technique de réduction des contraintes linéaires.
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
0c(x)sousf(x)minnRx
=∈
=∇∀≥∇=∇=∇
0c(x*)d/d,0d)*λL(x*,d0λ*)L(x*,0λ*)L(x*,
T2xx
Tλ
x
0c(x)sous*)L(x,minnRx
=λ∈
0c(x)sousf(x)minnRx
=∈
0c(x)sous*)L(x,minnRx
=λ⇔∈
Techniques d’optimisation
186
1.4.3 Méthode pratique
Problème équivalent Modèle quadratique-linéaire
• Modèle quadratique du critère :
En notant :
• Modèle linéaire des contraintes : avec
En notant : avec
• Problème réduit :
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
0c(x)sous*)L(x,minnRx
=λ∈
*)pL(x*,p21*)L(x*,p*)L(x*,p)*(xL 2
xxT
xT λ∇+λ∇+λ=+
(x*)pHp21(x*)gp*)L(x*,p)*(xL L
TL
T ++λ=+→
pc(x*)c(x*)p)*(xc T∇+=+ 0c(x*) =
)pZ*(xLmin0p)*(xcsousp)*(xLmin ZRpRp mn
Zn
+⇔=++−∈∈
λ∇=λ∇=
*)(x*,L(x*)H*)(x*,L(x*)g
2xxL
xL → gradient du lagrangien par rapport à x → hessien du lagrangien par rapport à x
+=∇=
ZY
T
ZpYppc(x*)A AY inversible
AZ = 0 (espace nul)
=⇔
=⇔=∇ librep
0plibrep
0AYp0pc(x*)Z
Y
Z
YT car AY inversible
Techniques d’optimisation
187
1.4.3 Méthode pratique
Problème réduit → problème sans contrainte à n−m variables pZ Conditions nécessaires de minimum du problème réduit • Condition réduite d’ordre 1 : • Condition réduite d’ordre 2 : • • x* minimum local
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
)pZ*(xLmin ZRp mn
Z
+−∈
≥=⇒ 0*)x(H
0*)x(gZ
Z → gradient réduit du critère nul → hessien réduit du lagrangien semi-défini positif
==
ZHZHgZg
LT
Z
TZ → gradient réduit du critère
→ hessien réduit du lagrangien *)(x,L(x)H(x)fg(x)
2xxL λ∇=
∇=
ZLTT
ZLTT
ZZ (x*)ZpHZp21(x*)gZp*)L(x*,)pZ*(xLavec ++λ=+
ZZ p,(x*)L)pZ*(xL ∀≥+ ZZLTT
ZLTT
Z p,0(x*)ZpHZp21(x*)gZp ∀≥+⇒
≥=⇒
0(x*)ZHZ0(x*)gZ
LT
LT
( ) 0*x*)(cx*)(fZ*)x*,(LZ0(x*)gZ TTx
TL
T =λ∇+∇=λ∇⇔=
0Zx*)(ccar0x*)(fZ TT =∇=∇⇔
0(x*)ZHZ LT ≥
Techniques d’optimisation
188
1.4.3 Exemple
Problème de la boîte • Réaliser une boîte cylindrique de volume donné V0 et de surface minimale • Dimensions : hauteur = h , rayon = r Formulation du problème • Surface : • Volume : Résolution On note : V0 = 2πv0 • Lagrangien : • Conditions KKT
• Solution :
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
rh2r2S 2 π+π=hrV 2π= 0r,h
V)r,h(Vsous)r,h(Smin =→
( )022 v2hrrh2r2),r,h(L π−πλ+π+π=λ
==
−=λ⇒
=−=λ++=+λ
⇒
=π−π=λπ+π+π=λπ+π
03
02
02
2
vrr2h2r
0v2hr0rhhr202r
0v2hr0rh2h2r40rr2
=
=3
1
0
31
0
v2hvr ( ) 3
2
03
132
0 V23v6S π=π=⇒
r
h
Techniques d’optimisation
189
1.4.3 Exemple
Vérification des conditions réduites Il faut choisir une base de réduction, puis vérifier les conditions réduites de minimum local
• Gradient du critère : • Hessien du lagrangien : Choix d’une base de réduction • Contrainte :
• Choix de la base avec la variable h : • Base de l’espace nul :
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
λ+λ+λ+
π=λ∇=
λ++λ+
π=λ∇=⇒h2r1r10
2),r,h(L)r,h(H,rh2h2r4
rr2),r,h(L)r,h(g 2
r,hL
2
r,hL
( )022 v2hrrh2r2),r,h(L π−πλ+π+π=λ
( )rh2rc0v2hr)r,h(c 2T0
2 ππ=∇⇒=π−π=
( )
=ππ=∇=
rh2T NBrh2rcA
−=
ππ−=
−=
−
1r/h2
1r/rh2
INB
Z21
≥λ∇==∇=
0*)Z(x,LZ*)x(H0(x*)fZ*)x(g
2xx
TZ
TZ → gradient réduit du critère nul
→ hessien réduit du lagrangien semi-défini positif
+
π=∇=hr2
r2)r,h(f)r,h(g r,h
Techniques d’optimisation
190
1.4.3 Exemple
Vérification des conditions réduites • Gradient réduit du critère : On vérifie que le gradient réduit est nul : • Hessien réduit du lagrangien :
On vérifie que le hessien réduit est semi-défini positif
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
−
λ+λ+λ+
−π==
1r/h2
r2r1r10
1r/h2
2Z)r,h(HZ)r,h(HT
TZ
( )hr22hr2
r1
r/h22)r,h(gZ)r,h(g
TT
Z −π=
+
−π==
λ−−π=⇒ h3
rh422)r,h(HZ
0)r,h(gr2h Z =⇒=
012)r34(rh22)r,h(Hr2h
2rZ >π=
λ+−π=⇒
=−=λ
Techniques d’optimisation
191
1.4.3 Exemple
Résolution par élimination • Contrainte :
• Elimination de la variable h :
• Gradient :
• Hessien : • Minimum de S(r) : Lien avec les conditions réduites • Gradient réduit
• Hessien réduit → pas de relation directe entre (contrainte non linéaire)
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
20
02
rv2
h0v2hr)r,h(c =⇒=π−π=
rv4
r2)r(Srh2r2)r,h(S 022 π+π=⇒π+π=
−π=π
−π= 30
20
rv
1r4rv4
r4)r(drdS
+π=π
+π= 30
30
2
2
rv
214rv8
4)r(dr
Sd
>π=
=⇒
≥
=
012)r(dr
Sdvr
0)r(dr
Sd
0)r(drdS
2
20
3
2
2
( ) )r(drdS
rv
1r4rv2
r22)r,h(grv2
havechr22)r,h(g 20
20
Z20
Z =
−π=
−π=⇒=−π=
2
2
Z drSdetH
Techniques d’optimisation
192
1.4.3 Exemples
Problème du skieur • Descendre du départ à l’arrivée le plus vite possible • 2 zones de pentes différentes : vitesse v1, puis v2
Départ
Arrivée
Vitesse v1
Vitesse v2
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
193
1.4.3 Exemples
Problème du sauveteur • Aller secourir le baigneur qui se noie le plus vite possible • Course sur terre, puis nage dans l’eau : vitesse v1, puis v2
Vitesse v1
Vitesse v2
Sauveteur
Baigneur
terre
eau
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
194
1.4.3 Exemples
Problème du sauveteur • Données du problème : l0, l1, l2, v1, v2
Distance sur terre : Durée de course : Distance dans l’eau : Durée de nage : Distance suivant x :
• Formulation du problème Variables : θ1 , θ2 Contrainte : L = l0 → atteindre le point visé Critère : T = t1 + t2 → durée totale à minimiser
1
11 cos
ldθ
=
2
22 cos
ldθ
=1
11 v
dt =
2
22 v
dt =
l0
θ1
Départ
Arrivée
d1
d2
l1
l2 θ2
v1
v2
x
y
2211 sindsindL θ+θ=
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
195
1.4.3 Exemples
Problème du sauveteur • Formulation du problème • Résolution du problème Lagrangien : Conditions KKT :
0221122
2
11
1
,ltanltanlLsous
cosvl
cosvlTmin
21
=θ+θ=θ
+θ
=⇔θθ
( ) ( )0221122
2
11
121 ltanltanl
cosvl
cosvl,,L −θ+θλ+
θ+
θ=λθθ
=θ+θ
=θ
λ+θ
θ
=θ
λ+θ
θ
02211
222
22
2
22
121
12
1
11
ltanltanl
0cos
1lcosvsinl
0cos
1lcosvsinl
( ) ( ) 02121,l,Lsous,Tmin
21
=θθθθθθ
=θ+θ=λ+θ=λ+θ
⇒02211
22
11
ltanltanl0vsin0vsin
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
196
1.4.3 Exemples
Problème du sauveteur
• Conditions KKT : • θ1,θ2 vérifient : → loi de la réfraction de Descartes
• Pour résoudre complètement On exprime θ1,θ2 en fonction de λ :
On remplace dans la contrainte : On obtient une équation en λ : → équation de degré 4 → solution λ* → θ1* ,θ2*
=θ+θ=λ+θ=λ+θ
02211
22
11
ltanltanl0vsin0vsin
2
1
2
1
vv
sinsin
=θθ
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
θ1
θ2
v1
v2
λ−=θ⇒λ−=θ
λ−=θ⇒λ−=θ22
2222
21
2111
v1cosvsinv1cosvsin
022
2
22
21
2
1102211 l
v1
vl
v1
vlltanltanl −=λ−
λ+
λ−
λ⇒=θ+θ
21
222
20
21
222
22
211 v1v1lv1vlv1vl λ−λ−−=λ−λ+λ−λ
Techniques d’optimisation
197
1.4.3 Sensibilité aux contraintes
Problème avec contraintes → p contraintes d’égalité → q contraintes d’inégalité → m contraintes d’égalité (= contraintes actives) Problème initial • Multiplicateurs : λ*, ∇xL(x*,λ*)= 0 • Solution : x*, f(x*) = f*
c(x*) = 0 Problème perturbé • Variation des niveaux de contrainte δc → Variation de la solution δx , du coût optimal δf • Solution : x*+δx, f(x*+δx) = f* + δf, δf∈R c(x*+δx) = 0 + δc , δc∈Rm
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
0c(x)sousf(x)minnRx
=⇔∈
≤=
∈ 0(x)c0(x)csousf(x)min
I
ERx n
0c(x)sousf(x)minnRx
=∈
cc(x)sousf(x)minnRx
δ=∈
Techniques d’optimisation
198
1.4.3 Sensibilité aux contraintes
Variation du coût optimal • Variation du coût et des contraintes à l’ordre 1
• Condition d’optimalité d’ordre 1 du problème initial
• Relation entre δf et δc
• Une variation δcj du niveau de la contrainte j entraîne une variation –λj*δcj du coût optimal.
Interprétation Le multiplicateur donne la sensibilité du coût optimal au niveau de la contrainte (au signe près) → Convention possible de définition du lagrangien : L = f + λTc ou L = f − λTc
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
δ∇=δδ∇=δ⇒
δ+=δ∇+=δ+δ+=δ∇+=δ+
x*)x(ccx*)x(ff
c*)x(cx*)x(c*)x(c)x*x(cf*)x(fx*)x(f*)x(f)x*x(f
T
T
T
T
0**)x(c*)x(f0*)*,x(Lx =λ∇+∇⇒=λ∇
( ) ( ) 0x**)x(c*)x(fx*)x(c**)x(fc*f TTTTT =δλ∇+∇=δ∇λ+∇=δλ+δ
∑=
δλ−=δλ−=δ⇒m
1jj
*j
T cc*f
Techniques d’optimisation
199
1.4.3 Sensibilité aux contraintes
Fonction de 2 variables – 1 contrainte égalité
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
0)x,c(xsous)x,f(xmin 2121x,x 21
=
x*
c = 0
−∇f ∇c
x1
x2 f décroissante
0*)x(c*)x(f =∇λ+∇
Variations : • δc = ∇c.δx • δf = ∇f.δx = −λδc
c = δc
f = f* f = f*+ δf
δx
x*+δx
Sur le schéma : • f(x1, x2) = x1 à minimiser • λ < 0 (λ ≈ −2) • δc > 0 → δx > 0
→ δf < 0
Techniques d’optimisation
200
1.4.3 Exemple
Problème de la boîte → contrainte en volume de niveau V0 Solution
Sensibilité au niveau de contrainte
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
π=π+π=
hrVrh2r2Savec 2
2
0r,hV)r,h(Vsous)r,h(Smin =
π−=λ
π
=
π
=
31
0
31
0
31
0
V22
2V
2h
2V
r
( ) 32
03
1V23S π=⇒
( ) λ−=
π=π=
− 31
0
31
03
1
0 V22V22
dVdS
r
h
Techniques d’optimisation
201
1.4.3 Sensibilité aux paramètres
Problème avec paramètres de modèle
→ m contraintes d’égalité (= contraintes actives) r paramètres de modèle p∈Rr (valeurs fixées) Problème initial • Multiplicateurs : λ*, ∇xL(x*,λ*,p) = 0 • Solution : x*, f(x*, p) = f*
c(x*, p) = 0
Problème perturbé • Variation des paramètres δp → Variation de la solution δx , du coût optimal δf • Solution : x*+δx, f(x*+δx, p+δp) = f* + δf, δf∈R c(x*+δx, p+δp) = 0 (même niveau de contrainte = 0)
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
0p)c(x,sousp)f(x,minnRx
=∈
0p)c(x,sousp)f(x,minnRx
=∈
0p)pc(x,sousp)pf(x,minnRx
=δ+δ+∈
Techniques d’optimisation
202
1.4.3 Sensibilité aux paramètres
Variation du coût optimal • Variation du coût et des contraintes à l’ordre 1
• Condition d’optimalité d’ordre 1 du problème initial
• Relation entre δf et δp
• Une variation δpj du paramètre j entraîne une variation du coût optimal → sensibilité du coût aux paramètres de modèle
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
==δ∇+δ∇+=δ+δ+δ+=δ∇+δ∇+=δ+δ+0)p*,x(cp)p*,x(cx)p*,x(c)p*,x(c)pp,x*x(c
f)p*,x(fp)p*,x(fx)p*,x(f)p*,x(f)pp,x*x(fT
pT
x
Tp
Tx
0*)p*,x(c)p*,x(f0)p*,*,x(L xxx =λ∇+∇⇒=λ∇
( ) ( ) p)p*,x(c*)p*,x(fx)p*,x(c*)p*,x(ff Tp
TTp
Tx
TTx δ∇λ+∇+δ∇λ+∇=δ
=δ∇+δ∇δ=δ∇+δ∇
⇒0p)p*,x(cx)p*,x(c
fp)p*,x(fx)p*,x(fT
pT
x
Tp
Tx
( ) p)p*,*,x(Lp*)p*,x(c)p*,x(ff Tp
Tpp δλ∇=δλ∇+∇=δ⇒
jj
pp
)p*,*,x(Lδ
∂λ∂
)p*,*,x(Ldp
)p*,x(dfp λ∇=⇒
Techniques d’optimisation
203
1.4.3 Exemple
Problème de la boîte → contrainte en masse M0 au lieu de volume V0, avec densité ρ Solution
Sensibilité au paramètre ρ
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
πρρ
−=λ
πρ
=
πρ
=
31
0
31
0
31
0
M22
2M
2h
2M
r ( ) 32
32
03
1M23S
−ρπ=⇒
( )ρ∂
∂=
πρρ
π−=ρπ−=
ρ
− L2M4M22
ddS 3
2
035
32
03
1
00r,hVM)r,h(Msous)r,h(Smin ρ==
ρπ=ρ=π+π=
hrVMrh2r2Savec 2
2
)MM(SL 0−λ+=
hrML 2λπ=ρ∂
∂λ=
ρ∂∂
⇒
r
h
32
0
2M4L
πρρ
π−=
ρ∂∂
⇒
Techniques d’optimisation
204
1.4.4 Problème linéaire
Forme standard
Conditions nécessaires d’optimalité
Coûts réduits
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.4 Problème linéaire
Techniques d’optimisation
205
1.4.4 Problème linéaire
Problème linéaire → problème linéaire sous forme standard (PL) Conditions nécessaires d’optimalité à partir du lagrangien Lagrangien : (x,λ,s) minimum local de (PL) ⇓ • Condition nécessaire d’ordre 1 : → contraintes du problème dual • Condition nécessaire d’ordre 2 : → vérifiée • Condition complémentaire :
≥=
∈ 0xbAxsousxcmin T
Rx n
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.4 Problème linéaire
nmnm Rc,Rb,RA ∈∈∈ ×
=λ∇−λ−=λ∇
⇒−−λ+=λ0)s,,x(L
sAc)s,,x(Lxs)Axb(xc)s,,x(L 2xx
TxTTT
≥=−λ−
0s0sAc T
0)s,,x(L2xx ≥λ∇
n,...1i,0xs ii ==
Techniques d’optimisation
206
1.4.4 Problème linéaire
Problème linéaire → problème linéaire sous forme standard (PL) Conditions nécessaires d’optimalité à partir des dérivées directionnelles x minimum local de (PL) ⇓ Pour toute direction admissible d : • Toute direction admissible d est combinaison linéaire des directions de base dj.
(contraintes linéaires)
• Il suffit de vérifier :
≥=
∈ 0xbAxsousxcmin T
Rx n
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.4 Problème linéaire
nmnm Rc,Rb,RA ∈∈∈ ×
0dc0d)x(f TT ≥⇒≥∇
0dc jT ≥
jj1T
BjNTNjB
TBj
T
jNj
T
j1
jB
jN
jBj cABcdcdcdc
d0eE
ABdavecd
dEd +−=+=⇒
=
−=
= −
−
Techniques d’optimisation
207
1.4.4 Problème linéaire
Coûts réduits x solution de base admissible : Le coût réduit associé à la variable hors base xj est défini par : = dérivée directionnelle de f suivant la jème direction de base pour une variable hors base = 0 par extension pour une variable de base Conditions nécessaires d’optimalité x* solution de base non dégénérée x* solution de PL ⇒ Conditions suffisantes d’optimalité x* solution de base admissible ⇒ x* solution de PL
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.4 Problème linéaire
mnm
0bBEx
xEx1
N
B−→
→
=
=
−
( ) ( ) ( )NBccAEBcNBIAEBNBAE 1TB
TB
1TB
11 −−−− =⇒=⇒= ( )TNc0c =⇒
0c ≥
0c ≥
j1T
BjjT
j ABccdcc −−==
Techniques d’optimisation
208
1.4.4 Problème linéaire
Lien entre multiplicateurs et coûts réduits • Problème linéaire sous forme standard : • Lagrangien : • Conditions d’ordre 1 : • Base B :
• Les coûts réduits sont les multiplicateurs des variables →
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.4 Problème linéaire
≥=
∈ 0xbAxsousxcmin T
Rx n
sAc)s,,x(Lxs)Axb(xc)s,,x(L Tx
TTT −λ−=λ∇⇒−−λ+=λ
==≥=+λ
n,,1i,0xs,0scsAii
T
( )
==
=
=
=⇒=
−
0xbBx
x,ss
s,cc
cNBAEN
1B
N
B
N
B
∈=≥∈=≥⇔==≥
=
+λ
⇔=+λ
Ni,0xs,0sBi,0xs,0sn,,1i,0xs,0s
cc
ss
NB
csA
iiN
iiBii
N
B
N
BT
TT
→ vérifié car xN=0 → vérifié en prenant sB=0
≥=+λ
=λ
0scsN
cB
N
NNT
BT
( )
≥=−==λ
⇒ −
−
0ccNBcscB
NBT1
NN
BT
0cc0
ss
sNN
B ≥=
=
=⇒
0cs ≥=
Techniques d’optimisation
209
1.4.5 Problème quadratique
Forme standard
Conditions nécessaires d’optimalité
Projection
Directions conjuguées
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.5 Problème quadratique
Techniques d’optimisation
210
1.4.5 Problème quadratique
Problème quadratique • Forme standard • Gradient : • Hessien : Cas d’une matrice Q non symétrique On se peut toujours se ramener à une matrice Q’ symétrique : Cas d’une matrice Q symétrique • Q admet n valeurs propres réelles (distinctes ou non) • Q admet une base orthonormée de vecteurs propres • Si Q est définie positive, elle admet une factorisation LDLT (factorisation de Cholesky)
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.5 Problème quadratique
bAxsousxcQxx21min TT
Rx n=+
∈
nmnmnn Rc,Rb,RA,RQ ∈∈∈∈ ××
cQx g(x) +=
Q H(x) =
)Q(Q21QQ jiij
'ji
'ij +==
∑∑ ∑∑∑∑= = = == =
==+==⇒n
1i
n
1j
n
1i
n
1j
'Tji
'ijjijiij
n
1i
n
1jjiij
T xQxxxQx)xQ(Q21xxQQxx
Techniques d’optimisation
211
1.4.5 Problème quadratique
Conditions nécessaires d’optimalité • Lagrangien :
• Conditions d’ordre 2 : Q définie positive → Q inversible • Conditions d’ordre 1 : Solution Par soustraction membre à membre : En reportant dans l’expression de x : Application Projection d’un vecteur sur un hyperplan
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.5 Problème quadratique
)Axb(xcQxx21),x(L TTT −λ++=λ
=−=λ−⇒
=−=λ−⇒
=−=λ− −−−−
bAxcAQAAQAx
bAxcQAQx
bAxcAQx 1T11T1T
=λ∇λ−+=λ∇⇒
Q),x(LAcQx),x(L
2xx
Tx
( ) ( )bcAQAAQbcAQAAQ 11T11T1 +=λ⇒+=λ −−−−−
( ) ( )( ) ( ) ( )
−+=−λ=+=λ
−−−−−−
−−−
cQbcAQAAQAQcAQxbcAQAAQ
111T1T1T1
11T1
Techniques d’optimisation
212
1.4.5 Projection
Projection d’un vecteur sur un hyperplan La projection de x0∈Rn sur l’hyperplan d’équation Ax=b est le point x solution de → point xP de l’hyperplan le plus proche de x0 • Problème quadratique équivalent
• Lagrangien :
• Condition d’ordre 1 :
Solution
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.5 Problème quadratique
bAxsousxxmin 0Rx n
=−∈
xP
x0
bAxsousxx21min 2
0Rx n
=−∈
( ) ( ) bAxsousxxxx21min 0
T0
Rx n=−−⇔
∈
( ) ( ) ( )Axbxxxx21),x(L T
0T
0 −λ+−−=λ
( ) ( )( ) ( )
−+=−=λ⇒
==λ−⇒
==λ−−
−
−
01TT
0
01T
0TT
0
AxbAAAxxAxbAA
bAxAxAAAx
bAx0Axx
( )( ) ( ) bAAAxAAAAIx1TT
01TT
P−−
+−= ( ) AAAAIP1TT −
−=→ matrice de projection :
Techniques d’optimisation
213
1.4.5 Directions conjuguées
Forme quadratique définie positive On considère une forme quadratique définie positive avec Q∈Rn×n symétrique définie positive Relation de conjugaison • 2 vecteurs u et v de Rn sont conjugués par rapport à Q si : uTQv=0 • n vecteurs (di)i=1,…,n conjugués 2 à 2 forment une base de Rn
Preuve On cherche (αi)i=1,…,n tels que : Q définie positive : Les n vecteurs (ui)i=1,…,n sont indépendants → base de Rn
• Tout vecteur x de Rn peut s’écrire :
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.5 Problème quadratique
xcQxx21)x(f TT +=
0dn
1iii =∑
=
α
kisiQddcark,0Qddk,0Qddk,0dQd ikkkk
n
1iiki
n
1iiik ≠∀=⇒∀=⇒∀=⇒ ∑∑
==
ααα
0dsi0Qdd kkk ≠> 0k =⇒ α
ii
ii
n
1iii Qdd
Qxdavecdx =αα= ∑=
Techniques d’optimisation
214
1.4.5 Directions conjuguées
Méthode de directions conjuguées On obtient le minimum de la forme quadratique définie positive en n itérations à pas optimal suivant des directions conjuguées. Preuve : On part du point initial x0 : dans la base (di)i=1,…,n Après k itérations à pas optimal αk suivant d1,…, dk , on obtient : A l’itération k, le pas optimal αk suivant la direction dk vérifie : On obtient pour xn : → xn = x* minimum de f
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.5 Problème quadratique
xcQxx21)x(f TT +=
kk1k
k
1iii0k dxdxx αα +=+= −
=∑
( ) ( ) ( ) ( ) 0xfd0dxfd0dxfdddxfmin k
Tkk1k
Tkk1kk1k =∇⇒=+∇⇒=+⇒+ −−− αα
αα
α
( ) ( ) kTkk0
Tk
Tk
k
1iii0
Tkk
Tk QddcQxdcddxQdxfdcQx)x(f αα ++=+
+=∇⇒+=∇ ∑
=
( ) ( )k
Tk
0Tk
kkTk Qdd
cQxd0xfd +−=⇒=∇ α
( ) ( )
cQxx
dQdd
cQQddQddQxdxd
QddcQxdxdxx
100
n
1ii
iTi
1Ti
n
1ii
iTi
0Ti
0
n
1ii
iTi
0Ti
0
n
1iii0n
−=
−
===
−−=
−−=+
−=+= ∑∑∑∑α
∑=
=n
1ii
ii
0i0 d
QddQxdx
dans la base (di)
0cxQ)x(fcQx n1
n1
n =+=∇⇒−=⇒ −−
Techniques d’optimisation
215
Sommaire 1. Bases théoriques
2. Optimisation sans contraintes
2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthode de Nelder-Mead
3. Optimisation avec contraintes
2 Optimisation sans contraintes
Techniques d’optimisation
216
2 Optimisation sans contraintes
Problème non linéaire sans contraintes → problème noté (PO) Méthodes globales • Capacité à localiser plusieurs minima locaux (éventuellement le minimum global) • Algorithmes non déterministes (déplacements aléatoires « organisés ») • Métaheuristiques : algorithmes génétiques, recuit simulé,
essaims, colonies de fourmis, recherche tabou,… • Convergence généralement lente, peu précise Méthodes locales • Recherche d’un minimum local à partir d’un point initial fourni par l’utilisateur • Méthodes d’ordre 0 : sans dérivées → Nelder-Mead
d’ordre 1 : avec dérivées premières → plus forte pente d’ordre 2 : avec dérivées premières et secondes → Newton
• Critères d’efficacité : rapidité de convergence (nombre d’appels de la fonction) précision de convergence
robustesse à l’initialisation
f(x)minnRx∈
2 Optimisation sans contraintes
Techniques d’optimisation
217
Sommaire 1. Bases théoriques
2. Optimisation sans contraintes
2.1 Méthodes de descente 2.1.1 Principes 2.1.2 Itérations 2.1.3 Initialisation et arrêt 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthode de Nelder-Mead
3. Optimisation avec contraintes
2 Optimisation sans contraintes 2.1 Méthodes de descente
Techniques d’optimisation
218
2.1.1 Méthodes de descente
Problème sans contrainte x* minimum local On ne sait pas trouver le minimum global dans le cas général (f quelconque). Méthode locale • Initialisation x0 → recherche d’un minimum local au voisinage de x0 • Itérations → passage du point xk au point xk+1 meilleur • Arrêt → solution x* ou blocage
2 Optimisation sans contraintes 2.1 Méthodes de descente 2.1.1 Principes
f(x)minnRx∈
≥∇=∇⇒ 0f(x*)
0f(x*)2
Initialisation x0
Point initial xk
Modèle local (x)fk
Amélioration f(xk+p) < f(xk)
Solution x*
Nouveau point xk+1
Techniques d’optimisation
219
2.1.2 Itérations
Modèle local : prédiction • Point courant xk , fk = f(xk) • Evaluation de gk = ∇f(xk) ou approximation (différences finies)
Hk = ∇2f(xk) ou approximation (quasi Newton)
• Modèle quadratique : → Méthodes de Newton ou quasi-Newton Amélioration : correction • Nouveau point xk+1 = xk + p tel que f(xk+p) < f(xk)
• Déplacement p à partir de xk
par recherche linéaire suivant par région de confiance dans → Méthodes de globalisation
• La méthode de Newton appliquée directement ne converge pas systématiquement. La globalisation est nécessaire pour contrôler la convergence.
2 Optimisation sans contraintes 2.1 Méthodes de descente 2.1.2 Itérations
pHp21gpf)px(fmin k
tk
tkkkp
++=+ pxx k1k +=→ +
(prédiction)
rxx k <−k1kk xxd −= +
Techniques d’optimisation
220
2.1.3 Initialisation et arrêt
Initialisation • Les méthodes locales recherchent le minimum au voisinage du point de départ.
• Objectifs : rapidité de convergence
précision de convergence → méthodes à base de dérivées
• Le minimum local trouvé est le plus proche du point initial x0. → initialisation à modifier pour trouver un autre minimum local
• Les méthodes « globales » explorent « aléatoirement » les solutions
→ localisation possible de plusieurs minima locaux Conditions d’arrêt • Déplacement insuffisant : • Amélioration insuffisante : • Condition d’ordre 1 vérifiée : • Nombre maximal d’itérations ou d’appels fonction : Niter , Nfonc
xk1k xx ε<−+
f1kk ff ε<− +
gkg ε<
2 Optimisation sans contraintes 2.1 Méthodes de descente 2.1.3 Initialisation et arrêt
Techniques d’optimisation
221
Sommaire 1. Bases théoriques
2. Optimisation sans contraintes
2.1 Méthodes de descente 2.2 Méthode de Newton 2.2.1 Résolution d’équations 2.2.2 Minimisation 2.2.3 Globalisation 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthode de Nelder-Mead
3. Optimisation avec contraintes
2 Optimisation sans contraintes 2.2 Méthode de Newton
Techniques d’optimisation
222
2.2.1 Résolution d’équations
Principes
Méthode de Newton
Méthode de quasi-Newton
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation
223
2.2.1 Résolution d’équations
Système d’équations non linéaires avec g : Rn → Rn → système de n équations à n inconnues Principe de la méthode de Newton • Linéariser g au point initial x0 → fonction modèle linéaire ĝ « proche » de g • Résoudre le système linéaire ĝ(x)=0 → nouveau point x1 • Itérer jusqu’à vérifier g(x)=0 → solution x*
0 g(x) =
Initialisation x0
Point initial xk
Nouveau point xk+1
Fonction modèle (x)gk
Résolution 0(x)gk =
Solution x*
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation
224
2.2.1 Méthode de Newton
Fonction modèle • Développement de Taylor à l’ordre 1 de g en xk • Modèle linéaire de g en xk : Choix de la matrice Gk • Méthode de Newton → Gk = ∇g(xk)T = matrice jacobienne de g en xk • Méthode de quasi-Newton → Gk = approximation de ∇g(xk)T Résolution
• Système linéaire :
• Itération : si Gk inversible • Condition d’arrêt :
)x(xG)g(x(x)g kkkk −+=
0)x(xG)g(x0(x)g kkkk =−+⇒=
ε)g(xk <
( )kkT
kk xxo)x(x)g(x)g(xg(x) −+−∇+=
nnk RGavec ×∈
)g(xGxx k1
kk1k−
+ −=
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation
225
2.2.1 Méthode de Newton
Illustration à une variable • Equation non linéaire : g(x) = 0 • Point initial : x0, y0 = g(x0) → Tangente en x0 : y = y0 +g’(x0)(x - x0 )
• Intersection axe x :
• Nouveau point : x1, y1 = g(x1)
)(xg'y
xx0y0
001 −=⇒=
x0 x1 x2
x*
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation
226
2.2.1 Méthode de Newton
Modèle linéaire de g en xk Erreur de linéarisation M = constante de Lipschitz sur le gradient ≈ majorant de la courbure → erreur quadratique Vitesse de convergence Hypothèses sur la solution x* : Suite (xk) : • (xk) converge vers x* si x0 est « assez proche » de x* :
• La convergence est quadratique →
)xx(G)g(x(x)g kkkk −+= Tkk )g(xGavec ∇=
2kk xxM
21(x)gg(x) −≤−
)g(xGxx k1
kk1k−
+ −=
η)g(x 1* ≤∇ −
*kk
*0 xxlimrxx/0r =⇒<−>∃
∞→
2*k
*1k xxMηxx −≤−+
inversible)g(x*∇
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation
227
2.2.1 Exemples
Exemple 1 • Fonction : • Dérivée : • Solution : x = 1 → g’(1) = 2
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
1xg(x) 2 −=Iteration x(k) g(x)=x**2-1 g'(x)=2x Erreur
0 4,00000000 1,5E+01 8,0000 3,0E+00 1 2,12500000 3,5E+00 4,2500 1,1E+00 2 1,29779412 6,8E-01 2,5956 3,0E-01 3 1,03416618 6,9E-02 2,0683 3,4E-02 4 1,00056438 1,1E-03 2,0011 5,6E-04 5 1,00000016 3,2E-07 2,0000 1,6E-07 6 1,00000000 2,5E-14 2,0000 1,3E-14
Convergence quadratique g’(x*) inversible
2x(x)g' =
x
g(x)
1
Techniques d’optimisation
228
2.2.1 Exemples
Exemple 2 • Fonction : • Dérivée : • Solution : x = 1 → g’(1) = 0
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
2)1x(g(x) −= Iteration x(k) g(x)=(x-1)**2 g'(x)=2(x-1) Erreur 0 4,00000000 9,0E+00 6,0000 3,0E+00 1 2,50000000 2,3E+00 3,0000 1,5E+00 2 1,75000000 5,6E-01 1,5000 7,5E-01 3 1,37500000 1,4E-01 0,7500 3,8E-01 4 1,18750000 3,5E-02 0,3750 1,9E-01 5 1,09375000 8,8E-03 0,1875 9,4E-02 6 1,04687500 2,2E-03 0,0938 4,7E-02 7 1,02343750 5,5E-04 0,0469 2,3E-02 8 1,01171875 1,4E-04 0,0234 1,2E-02 9 1,00585938 3,4E-05 0,0117 5,9E-03 10 1,00292969 8,6E-06 0,0059 2,9E-03 15 1,00009155 8,4E-09 0,0002 9,2E-05 20 1,00000286 8,2E-12 0,0000 2,9E-06
1)2(x(x)g' −=
Convergence lente g’(x*) non inversible
x 1
g(x)
Techniques d’optimisation
229
2.2.1 Exemples
Exemple 3 • Fonction :
• Dérivée :
• Solution : x = 0 → g’’(1) = 0
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
)xtan(Arcg(x) =
2x11(x)g'
+=
Iteration x(k) g(x)=Arctan(x) g'(x)=1/(1+x**2) Erreur 0 1,500 0,983 0,308 1,5E+00 1 -1,694 -1,038 0,258 -1,7E+00 2 2,321 1,164 0,157 2,3E+00 3 -5,114 -1,378 0,037 -5,1E+00 4 32,296 1,540 0,001 3,2E+01 5 -1575,317 -1,570 0,000 -1,6E+03 6 3894976,008 1,571 0,000 3,9E+06
x 0
g(x)
x0 x1 x2
Iteration x(k) g(x)=Arctan(x) g'(x)=1/(1+x**2) Erreur 0 1,300 0,915 0,372 1,3E+00 1 -1,162 -0,860 0,426 -1,2E+00 2 0,859 0,710 0,575 8,6E-01 3 -0,374 -0,358 0,877 -3,7E-01 4 0,034 0,034 0,999 3,4E-02 5 0,000 0,000 1,000 -2,6E-05 6 0,000 0,000 1,000 1,2E-14
Convergence
Divergence
Techniques d’optimisation
230
2.2.1 Méthode de Newton
Intérêt de la méthode de Newton • Convergence quadratique au voisinage de la solution → très rapide et précise • Méthode à privilégier dans les algorithmes d’optimisation Difficultés • Calcul explicite du gradient ∇g(xk) à chaque itération → coûteux (n appels fonctions) • Convergence non garantie → même près de la solution Adaptations • Méthodes de quasi-Newton → Gk = approximation du gradient ∇g(xk)
construite à partir des itérations précédentes sans calcul explicite du gradient
• Techniques de globalisation → Contrôle du point xk+1 (meilleur que xk ?) Si le point xk+1 n’est pas satisfaisant → Méthodes de recherche linéaire ou région de confiance pour minimiser
)g(x)g(x k1k <+
2g(x)
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation
231
2.2.1 Méthode de quasi-Newton
Méthode de Broyden On cherche à définir la matrice Gk à partir de la matrice Gk-1 de l’itération précédente. Les matrices Gk-1 et Gk doivent être « proches » au sens de la norme matricielle. Variation de modèle • Modèle linéaire de g en xk-1 :
• Modèle linéaire de g en xk:
• Différence entre les modèles en xk-1 et xk
)xx(G)g(x(x)g 1-k1-k1-k1-k −+=
)xx(G)g(x(x)g kkkk −+=
)xx)(GG((x)g)xx(G)xx(G(x)g)xx(G)g(x
)xx(G)xx(G)g(x)xx(G)g(x(x)g
1-k1-kk1-k
1-kk1-k1-k1-k
1-kk1-k
kk1-kkk1-k
kkkk
−−+=−+−−=−+=−+−+=−+=
k
1-kkk1-kkG de définitionpar
)x(xG)g(x)g(xcar −+=
)x)(xG(G(x)g(x)g 1-k1-kk1-kk −−=−⇒
1-k
1-k1-k1-k1-kg de définitionpar
)xx(G)g(x(x)gcar −+=
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation
232
1-kk1-k1-kkk1-kk dGy)xx(G)g(x)g(x =⇔−=−
−=−=
)g(x)g(xyxxd
1-kk1-k
1-kk1-k
)xx(G)g(x(x)g kkkk −+= Tkk )g(xGavec ∇≈
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
2.2.1 Méthode de quasi-Newton
Objectif Conserver un modèle linéaire de g en xk sans calculer explicitement Gk Equation de la sécante On choisit une matrice Gk ∈Rn×n vérifiant : avec → équation de la sécante entre xk-1 et xk Choix de G Il existe une infinité de matrices G vérifiant l’équation de la sécante : n2 inconnues (composantes de G ∈Rn×n ) n équations Chaque ligne de G définit un hyperplan de Rn passant par xk-1 et xk → infinité d’ hyperplans possibles
Techniques d’optimisation
233
2.2.1 Méthode de quasi-Newton
Illustration à une variable • Equation non linéaire : g(x) = 0 • Points initiaux : x0, y0 = g(x0)
x1, y1 = g(x1) → Sécante en x1 :
• Intersection axe x :
• Nouveau point : x2, y2 = g(x2)
001
0102 y
yyxx
xx0y−−
−=⇒=
x0 x1 x2
x*
)xx(xxyy
yy 001
010 −
−−
−=
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation
234
2.2.1 Méthode de quasi-Newton
Mise à jour de Broyden L’écart entre les modèles et est minimal en choisissant Gk solution de : avec Formule de Broyden : → solution optimale Convergence • La matrice G ne converge pas forcément vers ∇g → ne compromet pas la convergence • Les méthodes de quasi-Newton et de Newton peuvent converger vers des solutions différentes. • La méthode de quasi-Newton converge généralement moins vite que la méthode de Newton,
mais nécessite beaucoup moins d’appels de la fonction g (pas de calcul de gradient). → Peu de résultats théoriques → Méthode efficace en pratique, comportement à vérifier et adapter au cas par cas
(x)gk(x)g 1-k
( )1k
T1k
T1k1k1-k1k
1-kk ddddGyGG
−−
−−− −+=
−=−=
)g(x)g(xyxxd
1-kk1-k
1-kk1-k1k1k1-k
RGdGysousGGmin
nn −−∈
=−×
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation
235
Iteration x(k) g(x)=x**2-1 dg/dx Erreur 5,00000000 2,4E+01 4,0E+00
0 4,00000000 1,5E+01 9,0000 3,0E+00 1 2,33333333 4,4E+00 6,3333 1,3E+00 2 1,63157895 1,7E+00 3,9649 6,3E-01 3 1,21238938 4,7E-01 2,8440 2,1E-01 4 1,04716672 9,7E-02 2,2596 4,7E-02 5 1,00443349 8,9E-03 2,0516 4,4E-03 6 1,00010193 2,0E-04 2,0045 1,0E-04 7 1,00000023 4,5E-07 2,0001 2,3E-07 8 1,00000000 2,3E-11 2,0000 1,1E-11
2.2.1 Exemple
Comparaison Newton − Quasi-Newton • Fonction : • Dérivée : • Solution : x = 1
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
1xg(x) 2 −=
Iteration x(k) g(x)=x**2-1 g'(x)=2x Erreur 0 4,00000000 1,5E+01 8,0000 3,0E+00 1 2,12500000 3,5E+00 4,2500 1,1E+00 2 1,29779412 6,8E-01 2,5956 3,0E-01 3 1,03416618 6,9E-02 2,0683 3,4E-02 4 1,00056438 1,1E-03 2,0011 5,6E-04 5 1,00000016 3,2E-07 2,0000 1,6E-07 6 1,00000000 2,5E-14 2,0000 1,3E-14
2x(x)g' =
Quasi - Newton Newton
Techniques d’optimisation
236
2.2.2 Minimisation
Principes
Méthode de Newton
Méthode de quasi-Newton
Méthode BFGS
Méthode DFP
Méthode SR1
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation
237
2.2.2 Problème de minimisation
Problème sans contrainte → gradient : g(x) = ∇ f(x) hessien : H(x) = ∇2f(x) Condition nécessaire de minimum local x* minimum local Recherche des points stationnaires Application de la méthode de Newton au système d’équations non linéaires : g(x) = 0 Modèle linéaire de g en xk : • Méthode de Newton : G = H → calcul explicite du hessien à chaque itération • Méthode de quasi-Newton : G = approximation de H
construite à partir des itérations précédentes sans calcul explicite du hessien
f(x)minnRx∈
=∇=∇=∇=
kk2T
kk
kk
H)f(x)g(xG)f(x)g(xavec)xx(G)g(x(x)g kkkk −+=
≥=⇒ 0H(x*)
0g(x*)
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
(hessien semi-défini positif)
Techniques d’optimisation
238
2.2.2 Méthode de Newton
Modèle linéaire de g=∇f en xk • Itération : → équations de Newton • Condition d’arrêt : Difficultés • Calcul explicite et inversion du hessien ∇2f(xk) à chaque itération → coûteux • Convergence non garantie même près de la solution → mêmes difficultés que pour la résolution d’équations
• 1ère condition nécessaire de minimum : ∇f(x*)=0
→ point stationnaire x* = minimum local, maximum local ou point selle → 2ème condition nécessaire de minimum à vérifier : ∇2f(x*)≥0
Adaptations • Méthodes de quasi-Newton → Gk = approximation du hessien ∇2f(xk) • Techniques de globalisation → Contrôle de la décroissance de f
)xx(G)g(x(x)g kkkk −+=
)f(x)f(xxx k1
k2
k1k ∇∇−= −+
ε)f(xk ≤∇
=∇=∇=∇=
kk2T
kk
kk
H)f(x)g(xG)f(x)g(xavec
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation
239
2.2.2 Méthode de Newton
Modèle quadratique de f en xk • Développement de Taylor à l’ordre 2 de f en xk • Modèle quadratique en xk • Lien entre le modèle de f et le modèle de g =∇f Minimisation du modèle de f en xk
• Conditions suffisantes de minimum local : • Si le hessien de f en xk est défini positif : ∇2f(xk) > 0 Minimisation du modèle quadratique de f en xk ⇔ Méthode de Newton en xk pour résoudre ∇f(x)=0 • Sinon la méthode de Newton n’est pas directement applicable pour une minimisation
( )2kkk
2Tkk
Tkk xxo)x)(xf(x)x(x
21)x(x)f(x)f(xf(x) −+−∇−+−∇+=
)x(xH)x(x21)x(xg)(xf(x)f kk
Tkk
Tkkkk −−+−+=
(x)g)x(xHg(x)f kkkkk =−+=∇
>=∇==∇⇐
∈ 0H(x*)f0(x*)g(x*)f(x)fmin
kk2
kkk
Rx n
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation
240
2.2.2 Exemple
Méthode de Newton • Fonction :
• Dérivée : → 3 zéros
→ 1 minimum local, 2 maxima locaux
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
x60x47x12x)x(f 234 +−+−=
-20,0
-15,0
-10,0
-5,0
0,0
5,0
10,0
15,0
20,0
0,0 1,0 2,0 3,0 4,0 5,0 6,0
60x94x36x4)x('f 23 +−+−=
Techniques d’optimisation
241
2.2.2 Exemple
Méthode de Newton • Modèle quadratique en x0 = 3 :
• Itération de Newton en x0 = 3 : → Meilleur que x0
f(x1) = −1.32 < 0 = f(x0)
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
81x48x7)x(f 20 +−=
)x(fmin 0x
-1,50
-1,25
-1,00
-0,75
-0,50
-0,25
0,00
0,25
0,50
0,75
1,00
1,25
1,50
2,50 2,75 3,00 3,25 3,50 3,75 4,00 4,25 4,50
x1 x0
724x1 =→
Techniques d’optimisation
242
2.2.2 Exemple
Méthode de Newton • Modèle quadratique en x0 = 4 :
• Itération de Newton en x0 = 4 : → Moins bon que x0
f(x1) = 12 > 0 = f(x0)
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
x4x)x(f 20 −=
-5,00
-4,00
-3,00
-2,00
-1,00
0,00
1,00
2,00
3,00
4,00
5,00
1,00 1,50 2,00 2,50 3,00 3,50 4,00 4,50 5,00
x1 x0
2x1 =→)x(fmin 0x
Techniques d’optimisation
243
2.2.2 Exemple
Méthode de Newton • Modèle quadratique en x0 = 5 :
• Itération de Newton en x0 = 5 : → Moins bon que x0 (maximise f)
f(x1) = 1.513 > 0 = f(x0)
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
-3,00
-2,50
-2,00
-1,50
-1,00
-0,50
0,00
0,50
1,00
1,50
2,00
4,00 4,25 4,50 4,75 5,00 5,25 5,50
x1 x0
1781x1 =→)x(fmin 0x
375x160x17)x(f 20 −+−=
Techniques d’optimisation
244
2.2.2 Méthode de quasi-Newton
Objectif Conserver un modèle quadratique de f en xk sans calculer explicitement Hk Mise à jour de Broyden On peut appliquer la méthode de Broyden à la résolution de g(x)=∇f(x)=0. avec Inconvénients • Hk n’est pas forcément symétrique • Hk n’est pas forcément positive
→ Modifications de la méthode si l’on souhaite avoir
→ Formules BFGS, DFP ou SR1
−=−=
)g(x)g(xyxxd
1-kk1-k
1-kk1-k
)f(xHavec k2
k ∇≈)x(xH)x(x21)x(xg)(xf(x)f kk
Tkk
Tkkkk −−+−+=
( )1k
T1k
T1k1k1-k1k
1-kk ddddHyHH
−−
−−− −+=
)f(xH k2
k ∇≈
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation
245
2.2.2 Méthode BFGS
Equation sécante Pour la résolution d’équations, on cherche la matrice Hk : • vérifiant l’équation sécante • la plus « proche » possible de Hk-1 • sans condition particulière sur la forme de la matrice
Pour une minimisation, on impose de plus à la matrice Hk d’être : • symétrique • définie positive Méthode de résolution La matrice Hk-1 issue de l’itération précédente est symétrique, définie positive. • On part de la factorisation de Cholesky de Hk-1 : • On cherche la matrice Hk à partir de Hk-1 sous la forme :
Il faut exprimer la matrice Ak en fonction de Lk-1. → On décompose l’équation sécante en 2 équations :
1k1kk ydH −− =
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
→ formule de Broyden
→ formule BFGS
T1-k1-k1-k LLH =
Tkkk AAH =
==⇔=⇔=
−
−−−−−
1kk
1kTk
1k1kTkk1k1kk yxA
dAxydAAydH
Techniques d’optimisation
246
2.2.2 Méthode BFGS
Méthode de résolution de l’équation sécante 1. Pour x donné, on cherche Ak la plus « proche » possible de Lk-1 vérifiant : 2. On détermine ensuite x en reportant l’expression de Ak dans : 3. On obtient que l’on exprime en fonction de Hk-1. Résolution Notations sans indices : L = Lk-1, A = Ak y = yk-1 , d = dk-1 1. En appliquant la formule de Broyden à L on obtient A en fonction de x :
2. En reportant : Il faut résoudre pour trouver x.
==⇔=⇔=
−
−−−−−
1kk
1kTk
1k1kTkk1k1kk yxA
dAxydAAydH
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
1kk yxA −=
1kTk dAx −=
Tkkk AAH =
xxx)Lxy(LA T
T−+=
xxx
dLx)y(dLdxxLx)y(xdLdAx T
TT
T
TTT −
+=−
+==
xxx
dLx)y(dLx T
TT −
+=
Techniques d’optimisation
247
2.2.2 Méthode BFGS
Résolution de l’équation sécante On cherche x∈Rn vérifiant : • Pour qu’une solution existe, le vecteur LTd doit être colinéaire à x :
• En reportant dans l’équation :
• Pour qu’une solution existe, on doit avoir yTd > 0 On obtient Hk : Formule BFGS
• Mise à jour de Hk : • Mise à jour symétrique, de rang 2 • Mise à jour définie positive si
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
0dy 1kT
1-k >−
xxx
dLx)y(dLx T
TT −
+=
HdddydLdL
HdddLx)y(dLdL T
TT2T
T2
TTT =α⇒α
α−
+=α
−α+=→ LdHd
HdddyLdy
dy1LA T
T
TT
T
HddxxdLx T2TT α=⇒α=
Tkkk AAH =
1k1-kT
1k
1-kT
1k1k1-k
1kT
1-k
T1-k1k
1-kk dHdHddH
dyyyHH
−−
−−
−
− −+=
−=−=
)g(x)g(xyxxdavec
1-kk1-k
1-kk1-k
Techniques d’optimisation
248
2.2.2 Méthode BFGS
Méthode de quasi Newton BFGS • Le déplacement correspondant à une itération de la méthode de Newton est solution de → La matrice utile pour l’itération de Newton est l’inverse de Hk. • On inverse les 2 membres de la formule BFGS pour obtenir Hk
-1 en fonction de Hk-1-1.
• Méthode élaborée par Broyden, Fletcher, Goldfarb, Shanno à la fin des années 1960 → reconnue comme l’une des plus efficaces en pratique Limitations • Si la condition yTd > 0 n’est pas vérifiée, on ne fait pas de mise à jour. • Si le hessien n’est pas défini positif, la méthode BFGS ne converge pas vers le hessien
→ cas d’un hessien indéfini → optimisation avec contraintes (hessien réduit positif ≠ hessien complet)
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
)x(fHd)x(fdH k-1kkkkk ∇−=⇒−∇=
1kT
1-k
T1-k1k
1kT
1-k
T1-k1k1-
1-k1k
T1-k
T1-k1k1-
k yddd
yddyIH
ydydIH
−
−
−
−
−
− +
−
−= 0dysi 1k
T1-k >−
−=−=
)g(x)g(xyxxdavec
1-kk1-k
1-kk1-k
Techniques d’optimisation
249
2.2.2 Méthode BFGS Algorithme BFGS • Direction de descente à l’itération k :
• Minimisation dans la direction uk-1 :
• Mise à jour de l’inverse du hessien Propriété 1 La mise à jour BFGS donne une matrice définie positive si Cette condition est réalisée si xk est obtenu par minimisation exacte dans la direction Propriété 2 Pour une fonction f quadratique : l’algorithme BFGS donne des directions successives vérifiant : → directions conjuguées par rapport à Q−1
→ convergence en n itérations avec à l’itération n :
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
0yd 1kT
1-k >−
)x(gH 1k-1
1-k −−
( )
+→−=
+=−−
−−−−
1k1ks
1k-1
1-k1k1k1kk suxfmins
)x(gHuavecsuxx
)x(gHu 1k-1
1-k1k −− −=
xcQxx21)x(f TT +=
≤≤=≤≠≤=
−−
−
ki0,uuQHkji0,0uQu
ii11
k
j1
i
QHn =
1kT
1-k
T1-k1k
1kT
1-k
T1-k1k1-
1-k1k
T1-k
T1-k1k1-
k yddd
yddyIH
ydydIH
−
−
−
−
−
− +
−
−= 0dysi 1k
T1-k >−
−=−=
)g(x)g(xyxxdavec
1-kk1-k
1-kk1-k
Techniques d’optimisation
250
2.2.2 Méthode DFP Méthode de résolution • Résolution de l’équation sécante sous la forme « inverse » : • Mêmes principes que BFGS appliqués à l’équation sécante inverse pour obtenir Hk
-1 • Première méthode quasi-Newton élaborée par Davidon dans les années 1950
Formule DFP • Mise à jour de l’inverse :
• Mise à jour du hessien : Comparaison DFP − BFGS • Formules identiques en permutant dk−1 et yk−1 pour mettre à jour le hessien ou l’inverse • Mise à jour symétrique, de rang 2 • Mise à jour définie positive si → condition similaire à BFGS • Méthode DFP en général moins efficace que BFGS
1k1k-1k1k1kk dyHydH −−−− =⇔=
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
1kT
1-k
T1-k1k
1kT
1-k
T1-k1k
1-k1k
T1-k
T1-k1k
k dyyy
dyydIH
dydyIH
−
−
−
−
−
− +
−
−=
1k1-
1-kT
1k
-11-k
T1k1k
-11-k
1kT
1-k
T1-k1k1-
1-k1-
k yHyHyyH
ydddHH
−−
−−
−
− −+=
−=−=
)g(x)g(xyxxdavec
1-kk1-k
1-kk1-k
0yd 1kT
1-k >−
Techniques d’optimisation
251
2.2.2 Méthode DFP Algorithme DFP • Direction de descente à l’itération k :
• Minimisation dans la direction uk-1 :
• Mise à jour de l’inverse du hessien Propriété 1 La mise à jour DFP donne une matrice définie positive si Cette condition est réalisée si xk est obtenu par minimisation exacte dans la direction Propriété 2 Pour une fonction f quadratique : l’algorithme DFP donne des directions successives vérifiant : → directions conjuguées par rapport à Q → convergence en n itérations avec à l’itération n :
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
1k1-
1-kT
1k
-11-k
T1k1k
-11-k
1kT
1-k
T1-k1k1-
1-k1-
k yHyHyyH
ydddHH
−−
−−
−
− −+=
−=−=
)g(x)g(xyxxdavec
1-kk1-k
1-kk1-k
0yd 1kT
1-k >−
)x(gH 1k-1
1-k −−
( )
+→−=
+=−−
−−−−
1k1ks
1k-1
1-k1k1k1kk suxfmins
)x(gHuavecsuxx
)x(gHu 1k-1
1-k1k −− −=
xcQxx21)x(f TT +=
≤≤=≤≠≤=
− ki0,uQuHkji0,0Quu
ii1
k
ji
QHn =
Techniques d’optimisation
252
2.2.2 Méthode SR1
Equation sécante La méthode SR1 construit une solution Hk de l’équation sécante • Symétrique, de rang 1 (i.e. dépendante d’un seul vecteur u de Rn) • Non nécessairement définie positive. Méthode de résolution • On cherche la matrice Hk à partir de Hk-1 sous la forme • Equation sécante : • On pose :
• On reporte u pour obtenir γ :
• On exprime uuT en fonction de dk-1, yk-1, Hk-1
1k1kk ydH −− =
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
T1-kk uuHH +=
ududHyduudHdHy 1kT
1k1-k1k1kT
1k1-k1kk1k −−−−−−− =−⇒+==
( )1k1-k1k1k1-k1k dHyuu1dHy −−−− −γ=⇒γ
=−⇒1kTdu1
−=γ
21k1-k1kT
1-k1kT
1k1-k1k1)dHy(dd)dHy(1γ
=−⇒−γ=γ −−−−−
→ addition d’une matrice symétrique de rang 1
( )
−=γ
−γ=
−−
−−
)dHy(d1dHyu
1k1-k1kT
1-k2
1k1-k1kT
1k1-k1k1k1-k1k2T )dHy)(dHy(uu −−−− −−γ=⇒
)dHy(d)dHy)(dHy(uu
1k1-k1kT
1-k
T1k1-k1k1k1-k1kT
−−
−−−−
−−−
=⇒
Techniques d’optimisation
253
2.2.2 Méthode SR1
Formule SR1 • Mise à jour de Hk : • Mise à jour symétrique, de rang 1 • Mise à jour non nécessairement définie positive → Méthode alternative à la méthode BFGS (cas d’un hessien indéfini) Limitations • La formule SR1 peut donner des matrices Hk non définies positives, même si le hessien de la
fonction est défini positif. • Le dénominateur peut devenir petit → empêche la mise à jour et la convergence Propriété Pour une fonction f quadratique : la formule SR1 donne après n déplacements suivant des directions indépendantes dk : → ne nécessite pas de minimisation suivant dk
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
)dHy(d)dHy)(dHy(HH
1k1-k1kT
1-k
T1k1-k1k1k1-k1k
1-kk−−
−−−−
−−−
+=
−=−=
)g(x)g(xyxxdavec
1-kk1-k
1-kk1-k
xcQxx21)x(f TT +=
QHn =
Techniques d’optimisation
254
2.2.2 Comparaison Méthodes de quasi-Newton BFGS − DFP − SR1
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
BFGS DFP SR1
Matrice mise à jour Hessien Hk Inverse hessien Hk-1
Hessien Hk
Equation résolue Sécante Inverse sécante Sécante
Méthode Broyden Broyden Résolution directe
Forme solution
Symétrique AAT
Rang 2 Définie positive
Symétrique AAT Rang 2 Définie positive
Symétrique uuT Rang 1 Indéfinie
Minimisation dk Précision moyenne Précision forte Précision faible
Fonction quadratique Hessien exact : Hn=Q Directions conjuguées Q-1
Hessien exact : Hn=Q Directions conjuguées Q
Hessien exact : Hn=Q
Limitations Hessien de f indéfini Hessien de f indéfini Précision minimisation
Matrices Hk non définies positives
Méthode BFGS réputée la plus efficace
Techniques d’optimisation
255
2.2.2 Exemple
Méthode de quasi-Newton à une variable Les formules BFGS et SR1 se simplifient pour une fonction à une variable. • Fonction f(x) , x∈R
• Mise à jour BFGS :
• Mise à jour SR1 : → On retrouve la formule de la sécante appliquée au gradient de f.
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
1k
1k1-k1k1-k
1k1-k1kT
1-k
T1k1-k1k1k1-k1k
1-kk
ddHyH
)dHy(d)dHy)(dHy(HH
−
−−
−−
−−−−
−+=
−−−
+=
1-k1k
1k1-k
1k1-kT
1k
1-kT
1k1k1-k
1kT
1-k
T1-k1k
1-kk
HdyH
dHdHddH
dyyyHH
−+=
−+=
−
−
−−
−−
−
−
1-kk
1-kk
1k
1kk xx
)g(x)g(xdyH
−−
==⇒−
−
1-kk
1-kk
1k
1kk xx
)g(x)g(xdyH
−−
==⇒−
−
Techniques d’optimisation
256
2.2.2 Exemple
Comparaison Newton − Quasi-Newton • Fonction :
• Dérivée :
• Quasi-Newton :
• Point initial : x0 = 3 → convergence
Autres points → divergence ou maximum de f
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
x60x47x12x)x(f 234 +−+−=
60x94x36x4)x('f 23 +−+−=
-1,50
-1,25
-1,00
-0,75
-0,50
-0,25
0,00
0,25
2,75 3,00 3,25 3,50 3,75 4,00 4,25
Newton Quasi - Newton
Itération x(k) f(x) f'(x) h(k) Erreur 0 3,00000000 0,00000000 -6,00E+00 1,000 -4,56E-01 1 2,99900000 0,00600700 -6,01E+00 14,000 -4,57E-01 2 3,42857155 -1,31945027 -3,15E-01 13,267 -2,70E-02 3 3,45230465 -1,32362420 -3,79E-02 11,672 -3,28E-03 4 3,45554876 -1,32368634 -4,68E-04 11,527 -4,06E-05 5 3,45558934 -1,32368635 -7,27E-07 11,509 -6,32E-08 6 3,45558940 -1,32368635 -1,40E-11 11,509 -1,22E-12 7 3,45558940 -1,32368635 -5,68E-14 11,462 -4,44E-15
Itération x f(x) f'(x) f''(x) Erreur 0 3,00000000 0,00000000 -6,00E+00 14,000 -4,56E-01 1 3,42857143 -1,31945023 -3,15E-01 11,796 -2,70E-02 2 3,45526446 -1,32368574 -3,74E-03 11,513 -3,25E-04 3 3,45558935 -1,32368635 -5,77E-07 11,509 -5,01E-08 4 3,45558940 -1,32368635 -5,68E-14 11,509 -4,88E-15
1-kk
1-kkk xx
)x('f)x('fh−−
=
Techniques d’optimisation
257
2.2.2 Exemple
Méthode DFP à 2 variables • Minimisation de
• Point initial : x0 = (0 0) • Itération 1 :
• Mise à jour DFP de H-1
• Comparaison au vrai hessien :
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
2221
2121 xxx2x2xx)x(f +++−=
++−++
=⇒21
21
x2x21x2x41
)x(g
=−
1001
H 10
−
=11
g0
−=−=→ −
11
gHu 01
01
−−
=→
−=→=→−=→
−=+=
11
g11
x1ss2s)s(Fminss
suxx 112
s101
−=
−=→
−=−=
02
y,11
d)g(x)g(xyxxd
00010
010
−
−=⇒
= −
2111
21H
2224
)x(H 1
=
00
x0
−
−=
−
−
−+
=−+=
3111
21
0004
41
1111
21
1001
yHyHyyH
yddd
HH0
1-0
T0
-10
T00
-10
0T0
T001-
01-
1
Techniques d’optimisation
258
2.2.2 Exemple
Méthode DFP à 2 variables • Itération 2 :
• On obtient le minimum en 2 itérations (fonction quadratique) :
• Mise à jour DFP de H-1
• Comparaison au vrai hessien :
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
−−
=11
g1
=−=→ −
10
gHu 11
12
=→
−=→=→+++−=→
+−
=+=00
g5.11
x21s)s1()s1(31)s(Fmin
s11
suxx 222
s212
−
−=
3111
21H 1-
1
−=
11
x1
−=
5.11
*x
=
=→
−=−=
11
y,5.0
0d)g(x)g(xy
xxd11
121
121
−
−=⇒
= −
2111
21H
2224
)x(H 1
−
−=
−
+
−
−=−+=
2111
21
1000
1000
21
3111
21
yHyHyyH
ydddHH
11-
1T1
-11
T11
-11
1T1
T111-
11-
2
Techniques d’optimisation
259
2.2.2 Exemple
Méthode DFP à 2 variables On vérifie les propriétés de la méthode DFP appliquée à une fonction quadratique. • Le minimum est obtenu en 2 itérations. • Les directions successives u1 et u2 sont conjuguées par rapport à Q
• On vérifie également :
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
=→
2224
Q
002
10
11
2224
10
QuuTT
1T2 =
−
=
−
=
111
1 u11
11
4202
21
11
2224
3111
21QuH =
−=
−
=
−
−
−=−
−
+
=+++−=
2
1T
2
1T
2
12221
2121 x
x1
1xx
2224
xx
21xxx2x2xx)x(f
221
2 u10
10
1001
10
2224
2111
21QuH =
=
=
−
−=− 11
2 QHavec −− =
Techniques d’optimisation
260
2.2.3 Globalisation
Difficultés de la méthode de Newton Méthodes de globalisation
Point de Newton et de Cauchy
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.3 Globalisation
Techniques d’optimisation
261
2.2.3 Globalisation
Difficultés de la méthode de Newton La convergence n’est pas garantie même près de la solution. On ne peut appliquer directement l’itération de Newton. → techniques de globalisation pour vérifier et améliorer le point de Newton Vérification du point de Newton Le point xk+1 doit être meilleur que xk pour être accepté.
• Pour une résolution d’équation : • Pour une minimisation : Techniques de globalisation Si le point xN obtenu par l’itération de Newton ne vérifie pas les conditions d’amélioration, on procède à une recherche locale au voisinage de xk. • Méthode de recherche linéaire : suivant la direction du point de Newton xN • Méthode de région de confiance : à l’intérieur d’une sphère de centre xk
)g(x)g(x0)x(g k1k <⇒= +
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.3 Globalisation
)f(x)f(x0)x(fmin k1kx<⇒= +
Techniques d’optimisation
262
2.2.3 Point de Newton et de Cauchy
Points particuliers Deux points particuliers sont définis à partir du modèle quadratique de f en xk : • Point de Newton • Point de Cauchy Point de Newton Le point de Newton xN de f en xk minimise le modèle quadratique en xk. xN n’existe que si ∇2f(xk) est définie positive. → dN solution des équations de Newton Point de Cauchy Le point de Cauchy xC de f en xk minimise le modèle quadratique en xk dans la direction −gk. solution de → minimum suivant la plus forte descente Si f est convexe suivant –gk :
)x(xH)x(x21)x(xg)(xf(x)f kk
Tkk
Tkkkk −−+−+=
∇=∇=
)(xfH)(xfgavec
kk2
k
kkk
kCkC gαxx −=
kkTk
kTk
C gHgggα =
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.3 Globalisation
→ points utiles dans les algorithmes de globalisation
)αgf(xmin kk0α−
≥
)f(x)df(xavecdxx kNk2
NkN −∇=∇+=
Techniques d’optimisation
263
Sommaire 1. Bases théoriques
2. Optimisation sans contraintes
2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.3.1 Principes 2.3.2 Direction de descente 2.3.3 Pas de déplacement 2.3.4 Algorithme 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthode de Nelder-Mead
3. Optimisation avec contraintes
2 Optimisation sans contraintes 2.3 Recherche linéaire
Techniques d’optimisation
264
2.3.1 Recherche linéaire
Problème sans contrainte Etapes principales A chaque itération • Construction d’une direction de descente dk à partir du point xk • Réglage du pas de déplacement sk suivant dk
f(x)minnRx∈
Initialisation x0
Point initial xk
Nouveau point xk+1=xk+skdk
Direction de descente dk
Pas de déplacement sk
Solution x*
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.1 Principes
Techniques d’optimisation
265
2.3.1 Recherche linéaire
Etapes principales A chaque itération • Construction d’une direction de descente dk à partir du point xk • Réglage du pas de déplacement sk suivant dk Direction de descente dk est une direction de descente en xk si ∇f(xk)Tdk < 0 La direction de descente est construite à partir du gradient et du hessien. • Plus forte pente → gradient (méthode d’ordre 1) • Préconditionnement → hessien (méthode d’ordre 2) Pas de déplacement Le pas de déplacement sk suivant dk doit vérifier f(xk+skdk) < f(xk) L’algorithme de recherche linéaire résout un problème de minimisation à une variable s • Minimisation exacte → dichotomie (Fibonacci, nombre d’or, interpolation) • Minimisation approchée → règles de pas acceptable (Armijo, Goldstein, Wolfe)
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.1 Principes
Techniques d’optimisation
266
2.3.2 Direction de descente
Plus forte pente
Préconditionnement
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.2 Direction de descente
Techniques d’optimisation
267
2.3.2 Direction de descente
Plus forte pente La direction de descente « naturelle » est celle du gradient = plus forte dérivée directionnelle • Comportement caractéristique en zigzag • Convergence très lente → méthode inefficace en général Illustration
)f(xd kk −∇=
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.2 Direction de descente
x*
lignes de niveau de f
Techniques d’optimisation
268
2.3.2 Direction de descente
Plus forte pente Les directions successives de plus forte pente avec pas optimal sont orthogonales. • Itération k
On cherche le minimum de f à partir de xk suivant la direction dk = −∇f(xk) Le nouveau point est xk+1 = xk + sdk avec le pas s>0 solution de :
• Itération k+1
La direction de plus forte pente en xk+1 est dk+1 = −∇f(xk+1) Illustration
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.2 Direction de descente
( ) ( ) ( ) ( ) 0xfd0dsxfd0dsxfdsddsxfmin 1k
Tkkk
TkkkkkRs
=∇⇒=+∇⇒=+⇒+ +∈
lignes de niveau de f
dk+1=−∇f(xk+1) dk=−∇f(xk)
xk+1
xk
0dd 1kTk =⇒ +
Techniques d’optimisation
269
2.3.2 Exemple
Plus forte pente • Fonction
• Direction
• Pas
• Itération
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.2 Direction de descente
22
21 x
29x
21)x(f +=
Iteration x1 x2 f(x) d1 d2 s Erreur 0 9,000 1,000 45,000 -9,000 -9,000 0,2 9,055 1 7,200 -0,800 28,800 -7,200 7,200 0,2 7,244 2 5,760 0,640 18,432 -5,760 -5,760 0,2 5,795 3 4,608 -0,512 11,796 -4,608 4,608 0,2 4,636 4 3,686 0,410 7,550 -3,686 -3,686 0,2 3,709 5 2,949 -0,328 4,832 -2,949 2,949 0,2 2,967
10 0,966 0,107 0,519 -0,966 -0,966 0,2 0,972 20 0,104 0,012 0,006 -0,104 -0,104 0,2 0,104 30 1,11E-02 1,24E-03 6,90E-05 -1,11E-02 -1,11E-02 0,2 1,12E-02 40 1,20E-03 1,33E-04 7,95E-07 -1,20E-03 -1,20E-03 0,2 1,20E-03 50 1,28E-04 1,43E-05 9,17E-09 -1,28E-04 -1,28E-04 0,2 1,29E-04
−−
=−∇=2
1
x9x
)x(fd
)sdx(fmins
+
22
21
22
21
x729xx81xs
++
=→
kkk1k dsxx +=+
-1,00
-0,75
-0,50
-0,25
0,00
0,25
0,50
0,75
1,00
-1 0 1 2 3 4 5 6 7 8 9 10
Techniques d’optimisation
270
2.3.2 Direction de descente
Préconditionnement • On se donne une matrice Hk matrice symétrique définie positive.
→ factorisation de Cholesky de Hk : Hk = LkLkT
• Changement de variable : • Direction de plus forte pente pour :
• Itération en :
• Itération en xk :
• Le préconditionnement par la matrice Hk consiste à prendre comme direction de descente
• On vérifie que dk est une direction de descente car Hk est définie positive
kTkk xLx~ =
)x~f(L)f(x)x~(f~
kT
kkk−==
k1
kk1
kkT
k1
kkT
kkk dL)f(xL)x~f(LL)x~f(L)x~(f~
d~ −−−−− −=∇−=∇−=−∇=−∇=
kx~ )x~(f~
sx~x~ kkk1k ∇−=+
( ) ( )k1
kkkTk
Tkkkk
Tk1k
Tk1k dLsxLL)x~(f
~sx~Lx~Lx −−−
+−
+ −=∇−==
k1
kkkk1
kT
kkk1k dHsxdLLsxx −−−+ −=−=⇒
)f(xHd k1
kk ∇−= −
0)f(xH)f(x)f(xd k1
kT
kkTk <∇−∇=∇ −
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.2 Direction de descente
Techniques d’optimisation
271
2.3.2 Direction de descente
Choix du préconditionnement Toute matrice Hk symétrique définie positive convient. Cas d’un hessien défini positif • Si le hessien ∇2f(xk) est défini positif, on peut prendre .
On obtient l’itération de Newton si le pas sk vaut 1. • On peut prendre pour Hk l’approximation du hessien donné par une méthode quasi-Newton. Cas d’un hessien non défini positif • On peut effectuer la factorisation de Cholesky modifiée du hessien ∇2f(xk) (ou son
approximation quasi Newton) pour obtenir une matrice définie positive. • On peut ajouter un multiple de l’identité : avec τ > 0 assez grand • On peut également prendre Hk diagonale :
à partir des dérivées secondes de f
1k
2k )f(xH −∇=
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.2 Direction de descente
)f(x)f(x)f(xHd k1
k2
k1
kk ∇−∇=∇−= −− )f(x)f(xsxx k1
k2
kk1k ∇∇−=⇒ −+
( ) 1k
2k I)f(xH
−τ+∇=
( ) 0,)(xx
f,maxH1
k2i
2
ik >ε
∂∂
ε=−
Techniques d’optimisation
272
2.3.2 Exemple
Préconditionnement • Fonction :
• Préconditionnement : • Direction : • Pas : • Itération :
→ convergence en 1 itération
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.2 Direction de descente
22
21 x
29x
21)x(f +=
=∇⇒
2
1
x9x
)x(f
)d~
sx~(f~
mins
+ 1s =→
0d~
sx~x~ kkk1k =+=+
T2
3001
3001
9001
)x(f
=
=∇⇒
=
3001
L 22
21
2
221
22
11 x~21x~
21x
31
29x~
21)x~(f
~x3x~xx~ +=
+=⇒
==⇒
−−
=−∇=2
1
x~x~
)x~(f~
d~
-1,00
-0,50
0,00
0,50
1,00
1,50
2,00
-1 0 1 2 3 4
Techniques d’optimisation
273
2.3.3 Pas de déplacement
Minimisation unidimensionnelle
Minimisation exacte - Méthode de dichotomie - Méthode de Fibonacci - Méthode du nombre d’or - Interpolation quadratique
Minimisation approchée - Règle d’Armijo - Règle de Goldstein - Règle de Wolfe
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation
274
2.3.3 Minimisation unidimensionnelle
Problème à une variable Méthodes • Minimisation exacte On cherche à trouver un minimum local x* avec une précision donnée → réduction itérative de l’intervalle de recherche : dichotomie → réduction optimale : Fibonacci, nombre d’or • Minimisation approchée On cherche une réduction suffisante de la fonction sans déterminer précisément le minimum x* → règles d’acceptation (Armijo, Goldstein, Wolfe) → limitation du nombre d’évaluations de la fonction
f(x)minRx∈
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
x
f(x)
minimum local minimum global
Techniques d’optimisation
275
2.3.3 Minimisation exacte
Recherche par dichotomie L’allure de la fonction f n’est pas connue. On suppose qu’il existe un minimum unique dans l’intervalle de recherche [a,d] • On évalue la fonction aux extrémités a et d : → f(a) , f(d) • On évalue la fonction en 2 points b et c : a < b < c < d → f(b) , f(c) • On conserve soit l’intervalle [a,c], soit l’intervalle [b,d]
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
x
f(x)
b d a
On conserve [b,d]
c x
f(x)
b d a
On conserve [a,c]
c
Techniques d’optimisation
276
2.3.3 Minimisation exacte
Réduction optimale de l’intervalle • On cherche b et c pour que l’intervalle restant soit le plus petit possible.
La taille de l’intervalle restant ne doit pas dépendre du choix de [a,c] ou [b,d]. • On note : ∆1 la longueur de l’intervalle initial → ∆1 = d − a
∆2 la longueur de l’intervalle restant → ∆2 = c − a si on garde [a,c] ou ∆2 = d − b si on garde [b,d]
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
acbd2 −=−=∆
2cb
2dacbda +
=+
⇒+=+⇒
Les points b et c doivent être symétriques par rapport au milieu de l’intervalle [a,d].
x
f(x)
b d a c
∆1
∆2
∆2
Techniques d’optimisation
277
2.3.3 Minimisation exacte
Réduction optimale de l’intervalle • On suppose que l’intervalle restant est [a,c]. • Pour réutiliser le point b à l’itération suivante, on choisit le nouveau point e
symétrique de b par rapport au milieu de l’intervalle [a,c]. → ∆1 = d − a → ∆2 = c − a = d − b → ∆3 = b − a = c − e
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Les longueurs ∆k des intervalles successifs vérifient :
( ) ( )abbdad −+−=−
x
f(x)
b d a c
∆1
∆2
∆3
∆3
e
∆2
321 ∆+∆=∆⇒
2k1kk ++ ∆+∆=∆
Techniques d’optimisation
278
2.3.3 Minimisation exacte
Réduction optimale de l’intervalle • Les intervalles successifs sont de longueur ∆k vérifiant : ∆k = ∆k+1 + ∆k+2
• Après un nombre N d’itérations, on obtient un intervalle de longueur ∆N−1 . • On définit la suite de nombres Fk par : ∆k = FN−k ∆N−1 pour k = 1,…,N−1
• La suite (Fn)n=1,…,N−1 vérifie
• La suite est complètement déterminée par la valeur de F2
2kN1kNkN1N
2k
1N
1k
1N
k2k1kk FFF
ΔΔ
ΔΔ
ΔΔΔΔΔ −−−−−
−
+
−
+
−++ +=⇒+=⇒+=
1N3,4,...,nk,NnpourFFF 2n1nn −=−=+=⇒ −−
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
1NkpourΔFΔ 1N11N −== −− 1F1 =⇒
−=+=
=
1N3,4,...,npourFFFchoisiràF
1F
2-n1-nn
2
1
Techniques d’optimisation
279
2.3.3 Minimisation exacte
Méthode de Fibonacci • Pour un nombre N d’itérations fixé, on choisit F2 pour que ∆N-1 soit minimal.
• Valeur maximale de F2 :
• On obtient la suite de Fibonacci : 1, 2, 3, 5, 8, 13, 21, … Nombre d’itérations La méthode de Fibonacci est optimale si l’on fixe à l’avance la précision requise sur la solution. • Précision requise : ∆N-1 = p • Intervalle initial [a,b] : ∆ 1 = b-a La méthode de Fibonacci donne le nombre minimal d’itérations N pour obtenir la solution avec une précision donnée. • La disposition des premiers points b et c dépend de N : → ∆2
maximalFmaximalFminimalFΔΔ 21-N
1-N
11-N ⇒⇒=
≥≥ 1-kk2-N1-N Δ
21ΔcarΔ
21Δ
pa-bF
FΔΔ 1-N
1-N
11-N =⇒=⇒
2-N
1-N
2
1
FF
ΔΔ
=
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
→ valeur de N
2FF21F max221 =⇒≥⇒
Techniques d’optimisation
280
2.3.3 Minimisation exacte
Méthode du nombre d’or La méthode de Fibonacci nécessite de changer la disposition des points à chaque itération. La disposition des points n’est optimale que pour une précision donnée. La méthode du nombre d’or est plus générale et plus simple à mettre en oeuvre.
• On impose un rapport de réduction fixe de l’intervalle à chaque itération.
• On obtient pour le rapport γ le nombre d’or : → Méthode du nombre d’or (ou de la section dorée) Optimalité • La méthode du nombre d’or n’est pas optimale pour un nombre d’itérations donné N.
• Pour un nombre d’itérations grand :
→ La disposition des points de Fibonacci tend vers celle du nombre d’or.
γ...ΔΔ
ΔΔ...
ΔΔ
ΔΔ
2k
1k
1k
k
3
2
2
1 =====+
+
+2k1kk ΔΔΔavec ++ +=
01γγγ11γ
ΔΔ1
ΔΔ 2
1k
2k
1k
k =−−⇒+=⇒+=⇒+
+
+
618034.12
51γ ≈+
=
γFF
lim1-N
N
N=
∞→
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation
281
2.3.3 Minimisation exacte
Comparaison Fibonacci - Nombre d’or Le rapport de réduction de l’intervalle après n itérations vaut : • Pour la méthode de Fibonacci :
• Pour la méthode du nombre d’or :
Nombre d’itérations Une itération de la méthode de Fibonacci ou du nombre d’or correspond à une évaluation de f.
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
nn
1 FΔΔ
=
1n
n
1 γΔΔ −=
Nombre d’évaluations
Rapport de réduction Fibonacci Nombre d’or
10-2 11 13
10-3 15 18
10-4 20 22
10-5 25 27
10-6 30 31
Techniques d’optimisation
282
2.3.3 Minimisation exacte
Méthode du nombre d’or • Positionnement des points
• Itération
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
x
f(x)
b d a c
∆1
∆2
∆3 ∆2
618034.12
51γΔΔ
ΔΔ
3
2
2
1 ≈+
===
+=+=+=
⇒1
1
12
ΔadΔracΔrab
618034.02
15γ1ravec
ΔrΔγ1Δ
rΔΔγ1Δ
12
123
112
≈−
==
==
==⇒
+=←←←
→>
1
21Δrac
ΔΔcbba
)c(f)b(fSi
+=←←←
→<
1221
ΔrabΔΔbccd
)c(f)b(fSi
Techniques d’optimisation
283
2.3.3 Exemple
Méthode du nombre d’or • Minimisation de
• Itération 1
• Itération 2 • Itération 3
• Itération 4
• Itération 5
• Solution : x* ≈ 0.8832 → f(x*) ≈ −0.5606 au lieu de x* ≈ 0.8603 → f(x*) ≈ −0.5611
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
)xcos(x)x(f −=2
x0, π≤≤
0 0.6000 0.9708 1.5708
0 f
x
0 -0.4952 -0.5482
0.6000 0.9708 1.2000 1.5708
-0.4952 f
x
0 -0.5482 -0.4350
0.6000 0.8292 0.9708 1.2000
-0.4952 f
x
-0.4350 -0.5601 -0.5482
0.6000 0.7416 0.8292 0.9708
-0.4952 f
x
-0.5482 -0.5468 -0.5601
0.7416 0.8292 0.8832 0.9708
-0.5468 f
x
-0.5482 -0.5601 -0.5606
Techniques d’optimisation
284
2.3.3 Minimisation exacte
Interpolation quadratique
• On connaît la valeur de la fonction f en 3 points x1, x2, x3. • On construit le polynome q de degré 2 passant par les 3 points. • Dérivée du polynome q On obtient une approximation du minimum de f en minimisant q.
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
===
→−−
−−+
−−
−−+
−−
−−=
33
22
11
2313
213
1232
132
3121
321
y)x(qy)x(qy)x(q
)xx)(xx()xx)(xx(
y)xx)(xx()xx)(xx(
y)xx)(xx()xx)(xx(
y)x(q
===
)x(fy)x(fy)x(fy
33
22
11
)xx)(xx()xxx2(y
)xx)(xx()xxx2(
y)xx)(xx(
)xxx2(y)x('q
2313
213
1232
132
3121
321 −−
−−+
−−−−
+−−
−−=
x1 x2 x3
y1
y2
y3
Techniques d’optimisation
285
2.3.3 Minimisation exacte
Interpolation quadratique
• La dérivée du polynome q s’écrit : • On cherche la valeur xm qui annule la dérivée du polynome q.
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
)xx)(xx()xxx2(y
)xx)(xx()xxx2(
y)xx)(xx(
)xxx2(y)x('q
2313
213
1232
132
3121
321 −−
−−+
−−−−
+−−
−−=
[ ] [ ])xx)(xx)(xx(
)xx(y)xx(y)xx(y)xx(y)xx(y)xx(yx2)x('q
133221
22
213
21
232
23
221213132321
−−−−+−+−+−+−+−−
=⇒
( ) ( ))xx)(xx)(xx(
ryryrysysysyx2)x('q
133221
123312231123312231
−−−+++++−
=⇒
−=−=
2j
2iij
jiij
xxrxxs
avec
[ ] [ ] 0ryryrysysysyx20)x('q 123312231123312231mm =+++++⇒=
123312231
123312231m sysysy
ryryry21x
++++
=⇒
−=−=
2j
2iij
jiij
xxrxxs
avec
Techniques d’optimisation
286
2.3.3 Minimisation exacte
Interpolation quadratique • On évalue la valeur de la fonction en xm → ym = f(xm) → On dispose de 4 points x1, x2, x3, xm avec les valeurs respectives de f : y1, y2, y3, ym → On conserve 3 points choisis parmi x1, x2, x3, xm selon : - la position de xm par rapport à x1, x2, x3 - le minimum parmi ym, y1, y2, y3 Cas de divergence : Le polynome est trop éloigné de la fonction Il faut un balayage plus fin avant l’interpolation quadratique. • On réitère l’interpolation quadratique avec les 3 nouveaux points
jusqu’à réduire la taille de l’intervalle à la précision souhaitée.
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Points retenus xm < x1 x1 < xm < x2 x2 < xm < x3 x3 < xm
Minimum = ym (xm,x1,x2) (x1,xm,x2) (x2,xm,x3) (x2,x3,xm)
Minimum = y1 (xm,x1,x2) (x1,xm,x2) (x1,x2,xm) divergence
Minimum = y2 divergence (xm,x2,x3) (x1,x2,xm) divergence
Minimum = y3 divergence (xm,x2,x3) (x2,xm,x3) (x2,x3,xm)
Techniques d’optimisation
287
2.3.3 Exemple
Interpolation quadratique • Minimisation de
• Itération 1
• Itération 2 • Itération 3
• Itération 4
• Itération 5
• Solution : x* ≈ 0.3333 → f(x*) ≈ −1.1852
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
2)1x)(1x()x(f +−= 2x0, ≤≤
0 0.3750 1.0000 2.0000
-1.0000 f
x
9.0000 -1.1816 0.0000
0 0.2895 0.3750 1.0000
-1.0000 f
x
0.0000 -1.1814 -1.1816
0.2895 0.3327 0.3750 1.0000
-1.1814 f
x
0.0000 -1.1852 -1.1816
0.2895 0.3327 0.3329 0.3750
-1.1814 f
x
-1.1816 -1.1852 -1.1852
0.3327 0.3329 0.3333 0.3750
-1.1852 f
x
-1.1816 -1.1852 -1.1852
Techniques d’optimisation
288
2.3.3 Minimisation approchée
Principes • Il n’est pas utile de réaliser une minimisation exacte suivant la direction de descente : → nécessite un grand nombre d’évaluations de la fonction → n’apporte pas une amélioration significative loin de la solution • On peut se contenter d’une minimisation approchée
→ 2 règles d’acceptation d’un pas de déplacement
Notations • xk = point courant → f(xk) • dk = direction de descente → ∇f(xk)Tdk < 0 • Variation de la fonction f dans la direction dk : Règles d’acceptation du pas • Diminution suffisante de la valeur de la fonction → condition d’Armijo
1ère condition de Wolfe • Déplacement suffisant par rapport au point initial → condition de Goldstein
2ème condition de Wolfe
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
0s),sdx(f)s( kk ≥+=ϕ
Techniques d’optimisation
289
2.3.3 Minimisation approchée
Diminution suffisante La fonction f doit décroître suffisamment pour accepter le pas. • Dérivée directionnelle de f suivant la direction dk • On impose une diminution proportionnelle à la dérivée directionnelle, avec 0 < ε < c1 < 0.5 → Condition d’Armijo ou 1ère condition de Wolfe ou 1ère condition de Goldstein
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
0d)x(f)0('0s),sdx(f)s( kT
kkk <∇=ϕ⇒≥+=ϕ
→ valeur typique c1=0.1
f(x)=ϕ(s) s → x = xk+sdk
ϕ’(0)
c1ϕ’(0)
pas acceptables
kT
k1kkk1 d)x(fsc)x(f)sdx(f)0('sc)0()s( ∇+<+⇔ϕ+ϕ<ϕ
Techniques d’optimisation
290
2.3.3 Minimisation approchée
Déplacement suffisant Le déplacement à partir du point initial doit être suffisant pour accepter le pas. • Condition de Goldstein • Condition de Wolfe : réduction de la dérivée
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
→ valeur typique c2=0.9
→ valeur typique c2=0.9
pas acceptables (Goldstein)
f(x)=ϕ(s)
s
ϕ’(0) c2ϕ’(0)
f(x)=ϕ(s)
s
ϕ’(0) c2ϕ’(0)
pas acceptables (Wolfe)
kT
k2kkk2 d)x(fsc)x(f)sdx(f)0('sc)0()s( ∇+>+⇔ϕ+ϕ>ϕ
kT
k2kT
kk2 d)x(fcd)sdx(f)0('c)s(' ∇>+∇⇔ϕ>ϕ
Techniques d’optimisation
291
2.3.3 Minimisation approchée
Récapitulatif • Conditions de Goldstein
(si la dérivée de f est coûteuse) • Conditions de Wolfe
(si la dérivée de f est disponible)
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
≈→ϕ+ϕ>ϕ≈→ϕ+ϕ<ϕ
9.0c)0('sc)0()s(1.0c)0('sc)0()s(
22
11
f(x)=ϕ(s)
s → x = xk+sdk
ϕ’(0)
c1ϕ’(0)
pas acceptables (Goldstein)
c2ϕ’(0)
≈→ϕ>ϕ≈→ϕ+ϕ<ϕ
9.0c)0('c)s('1.0c)0('sc)0()s(
22
11
(0)'c(s)'ou 2 ϕ<ϕ → assure théoriquement la convergence
Techniques d’optimisation
292
2.3.3 Réglage du pas
Méthode de dichotomie On cherche un pas s vérifiant les conditions de Goldstein : Initialisation • Intervalle initial : [smin , smax] avec smin = 0
smax assez grand • Valeur initiale : s=1 (pas de Newton)
Itérations Evaluation de ϕ(s) et comparaison aux droites de Goldstein • Si s ne respecte pas la condition 1 → amélioration insuffisante, pas trop grand : smax=s • Si s ne respecte pas la condition 2 → déplacement insuffisant, pas trop petit: smin=s → Réduction de l’intervalle [smin , smax] → Essai suivant : Arrêt • Si s respecte les 2 conditions → pas acceptable • Si l’intervalle [smin , smax] devient inférieur à un seuil donné
ϕ+ϕ>ϕϕ+ϕ<ϕ
)0('sc)0()s()0('sc)0()s(
2
1
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
)ss(21s maxmin +=
Techniques d’optimisation
293
2.3.3 Réglage du pas
Illustration
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
ϕ(s)
s
c1ϕ’(0)
c2ϕ’(0)
smax smin s1 s2 s3
Techniques d’optimisation
294
2.3.4 Algorithme
Algorithme de recherche linéaire
Convergence
Exemple
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.4 Algorithme
Techniques d’optimisation
295
2.3.4 Algorithme
Algorithme de recherche linéaire
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.4 Algorithme
Direction de descente : )f(xHd k1
kk ∇−= −
Initialisation : x0 Gradient : ∇f(x0) Approximation du hessien : H0
Itération k : xk Gradient : ∇f(xk) Approximation du hessien : Hk>0
Recherche linéaire suivant dk → pas sk Règle de Goldstein ou Wolfe
Nouveau point : xk+1 = xk + sk dk Gradient : ∇f(xk+1)
Mise à jour du hessien par BFGS ou SR1 Modification du hessien : Hk+1>0 Factorisation de Cholesky modifiée
→ H0 =I par défaut
Itération k+1 : xk+1 Gradient : ∇f(xk+1) Approximation du hessien : Hk+1>0
Arrêt si : ε)f(x 1k <∇ +
Techniques d’optimisation
296
2.3.4 Algorithme
Principaux résultats de convergence • Si d est une direction de descente, et f est bornée inférieurement suivant d,
alors il existe un pas s suivant d vérifiant les conditions de Wolfe
• Si les directions de descente ne deviennent pas « trop » orthogonales au gradient, l’algorithme de recherche linéaire avec les conditions de Wolfe est globalement convergent. → convergence vers un point stationnaire
En pratique • Les directions de descente peuvent être construites avec BFGS ou SR1 (si matrices Hk > 0) • La valeur des coefficients de Goldstein ou Wolfe c1 et c2 n’est pas critique pour la convergence. • Le pas de Newton (s=1) est systématiquement testé,
car il donne la solution si la fonction est proche de son modèle quadratique.
• La méthode de plus forte pente a la propriété de convergence globale, mais peut être très lente. On peut assurer la convergence globale d’un algorithme de recherche linéaire utilisant d’autres directions en effectuant périodiquement une itération de plus forte pente.
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.4 Algorithme
0)x(flim kk=∇
∞→
Techniques d’optimisation
297
2.3.4 Exemple
Fonction de Rosenbrock • Point initial :
• Recherche linéaire avec BFGS ou SR1
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.4 Algorithme
−1
2.1
0
1
2
3
4
5
0 10 20 30 40
Itération
BFGSSR1
f
-0,25
0
0,25
0,5
0,75
1
1,25
-1,5 -1 -0,5 0 0,5 1 1,5
BFGS
-0,25
0
0,25
0,5
0,75
1
1,25
-1,5 -1 -0,5 0 0,5 1 1,5
SR1
( ) ( )21
221221 x1xx100)x,x(f −+−=
Techniques d’optimisation
298
Sommaire 1. Bases théoriques
2. Optimisation sans contraintes
2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.4.1 Principes 2.4.2 Modèle quadratique 2.4.3 Rayon de confiance 2.4.4 Algorithme 2.5 Moindres carrés 2.6 Méthode de Nelder-Mead
3. Optimisation avec contraintes
2 Optimisation sans contraintes 2.4 Région de confiance
Techniques d’optimisation
299
2.4.1 Région de confiance
Problème sans contrainte Etapes principales A chaque itération • Résolution d’un modèle quadratique dans un rayon rk autour du point xk → déplacement dk • Réglage du rayon de confiance rk pour obtenir une amélioration de f
f(x)minnRx∈
Initialisation x0
Point initial xk
Nouveau point xk+1=xk+dk
Modèle quadratique dk
Rayon de confiance rk
Solution x*
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.1 Principes
Techniques d’optimisation
300
2.4.1 Région de confiance
Illustration
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.1 Principes
x*
x0
x1
x2
modèle quadratique en x0
modèle quadratique en x1
modèle quadratique en x2
Techniques d’optimisation
301
2.4.2 Modèle quadratique
Problème de région de confiance
Conditions d’optimalité
Résolution approchée
Méthode dogleg
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Techniques d’optimisation
302
2.4.2 Problème de région de confiance
Modèle quadratique • Au point courant xk on approxime la fonction par son modèle quadratique.
d∈Rn = déplacement à partir du point xk • Le modèle quadratique représente correctement la fonction au voisinage de xk dans un rayon rk La région de confiance est le voisinage dans lequel l’approximation est « bonne » (à définir). Région de confiance de rayon rk : rk = rayon de confiance en xk Problème de région de confiance • On cherche le minimum du modèle quadratique à l’intérieur de la région de confiance
→ Problème de région de confiance • On peut choisir différentes normes pour définir la région de confiance
- Norme 2 : région de confiance circulaire - Norme ∞ : région de confiance rectangulaire
d)x(fd21)x(fd)x(f)dx(f k
2Tk
Tkkk ∇+∇+=+
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
krd ≤
kkkRd
rdsous)dx(fminn
≤+∈
Techniques d’optimisation
303
rdsousdHd21gdf)d(fmin 0
T0
T0
Rd n≤++=
∈
2.4.2 Problème de région de confiance
Notations • Point courant : xk noté x0 • Fonction : f(xk) noté f0 • Gradient : ∇f(xk) noté g0 • Hessien : ∇2f(xk) noté H0 • Déplacement à partir de x0 :d∈Rn • Fonction modèle : • Région de confiance : • Problème de région de confiance :
dHd21gdf)d(f 0
T0
T0 ++=
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
rd ≤
x0
xN
-g0 dN
lignes de niveau du modèle quadratique
Techniques d’optimisation
304
2.4.2 Conditions d’optimalité
Région de confiance en norme 2 Le problème de région de confiance s’écrit avec la norme 2 • Lagrangien : • Conditions d’ordre 1 :
Contrainte de région de confiance • Si la contrainte de région de confiance est inactive, la contrainte peut être ignorée.
La solution du problème quadratique sans contrainte est le point de Newton.
• Si la contrainte de région de confiance est active, la solution est au bord de la région de confiance : On peut alors montrer que est semi-définie positive. Le problème quadratique est résolu avec la méthode de Newton et la matrice
( ) 0rd21sousdHd
21gdf)d(fmin 22
0T
0T
0Rd n
≤−++=∈
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
( )220
T0
T0 rd
21dHd
21gdf),d(L −µ+++=µ
( ) 00 g*dI*Hr*d −=µ+⇒=I*H0 µ+
0I*H0 ≥µ+
( ) ( )
=−⇔=−
≥≤
=++=∇
0r*d*μ0r*d*μ
0μ*,r*d0d**μ*dHgμ*)L(d*,
22
00d
Techniques d’optimisation
305
2.4.2 Résolution approchée
Résolution du problème quadratique • On doit résoudre à chaque itération le problème : • Le problème doit éventuellement être résolu pour plusieurs valeurs du rayon. → résolution coûteuse si la contrainte est active → solution approximative par une méthode simplifiée (méthode dogleg) Point de Newton Le point de Newton xN est la solution du problème quadratique sans contrainte. Point de Cauchy Le point de Cauchy xC minimise le critère quadratique suivant le gradient :
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
rdsousdHd21gdf)d(fmin 0
T0
T0
Rd n≤++=
∈
dHd21gdf)d(fmin 0
T0
T0
Rd n++=
∈ N0N01
0N dxxgHd +=⇒−=⇒ −
00T0
20
T000Rs
gHgs21gsgf)sg(fmin +−=−
∈
0s,sgd 0C ≥−=
00T0
0T0
C gHggg
s =⇒
C0C0CC dxxgsd +=⇒−=⇒
Techniques d’optimisation
306
2.4.2 Résolution approchée
Résolution du problème quadratique → solution d(r)∈Rn, x(r) = x0 + d(r) Lorsque le rayon de confiance r varie, la solution suit une courbe x(r) allant de x0 à xN.
• r = 0 → x(0) = x0 (tangente = −g0) • r > |dN| → x(r) = xN
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
rdsousdHd21gdf)d(fmin 0
T0
T0
Rd n≤++=
∈
x0
xN −g0
x(r)
lignes de niveau du modèle quadratique
r
Techniques d’optimisation
307
2.4.2 Méthode dogleg
Chemin dogleg Le chemin dogleg est composé de 2 segments : • Le segment 1 joignant le point initial x0 au point de Cauchy xC = x0 + dC • Le segment 2 joignant le point de Cauchy x0 au point de Newton xN = x0 + dN On restreint la recherche de la solution au chemin dogleg. Paramétrage du chemin dogleg Le chemin dogleg est paramétré par s : x(s) = x0 + d(s) , pour s∈[0,2] • Segment 1 → d(s) = sdC pour s∈[0,1[ • Segment 2 → d(s) = dC + (s−1)(dN − dC) pour s∈[1,2]
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
x0
xC xN
dC dN
lignes de niveau du modèle quadratique
Techniques d’optimisation
308
2.4.2 Méthode dogleg
Résolution du problème quadratique On cherche la solution du problème quadratique sous contrainte de région de confiance Le point de Newton est la solution du problème quadratique sans contrainte → 2 cas possibles • Si le point de Newton est à l’intérieur de la région de confiance, la contrainte est inactive.
→ La solution est dN.
• Sinon, la contrainte est active et peut être formulée comme une contrainte égalité.
On restreint la recherche de la solution au chemin dogleg paramétré par s∈[0,2]. Segment 1 → d(s) = sdC pour s∈[0,1[ Segment 2 → d(s) = dC + (s−1)(dN − dC) pour s∈[1,2] → Il suffit de trouver l’intersection du chemin dogleg avec la région de confiance en résolvant |d(s)| = r.
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
rdsousdHd21gdf)d(fmin 0
T0
T0
Rd n≤++=
∈
rdsousdHd21gdf)d(fmin 0
T0
T0
Rd n=++=
∈
Techniques d’optimisation
309
2.4.2 Méthode dogleg
Position des points dogleg Trois situations sont possibles par rapport au rayon de confiance. • |dC| ≥ r → le point de Cauchy est à l’extérieur de la région de confiance
• |dC| < r < |dN| → le point de Cauchy est à l’intérieur de la région de confiance
le point de Newton est à l’extérieur de la région de confiance
• |dN| ≤ r → le point de Newton est à l’intérieur de la région de confiance
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
x0
xC xN
dC dN
r x0
xC xN
dC
dN
r
x0
xC xN
dC
dN
r
Techniques d’optimisation
310
2.4.2 Méthode dogleg
Solution du problème dogleg La fonction |d(s)| est croissante. La solution s* de |d(s)| = r est : • Sur le segment 1 si |dC| ≥ r • Sur le segment 2 si |dC| < r Solution sur le segment 1 d(s) = sdC avec s∈[0,1[ car dC // −g0 Solution sur le segment 2 d(s) = dC + (s−1)(dN − dC) avec s∈[1,2] L’équation du second degré en s* admet une racine positive.
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
0
0
C
C
CC g
gr
dd
r*ddr*srd*s −==⇒=⇒=
( ) ( ) 2CNC
TCNCCNC r)dd)(1*s(d)dd)(1*s(dr)dd)(1*s(d =−−+−−+⇒=−−+
( )
−=
−=
−=−+−
+=⇒22
C
CNTC
2CN
2
rdc
dd2db
dda
avec2a
4acbb1s*
Techniques d’optimisation
311
2.4.2 Exemple
Méthode dogleg • Fonction
• Point initial : • Modèle quadratique :
• Point de Cauchy : • Point de Newton : • Région de confiance de rayon r : → paramétrée par θ • Chemin dogleg : segment 1 → , 0 ≤ s ≤ 1 segment 2 → , 0 ≤ s ≤ 1
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
22
2121 x
29x
21)x,x(f +=
=
19
x0
=∇
99
)x(f 0
=∇
9001
)x(f 02
( )51s)s9(5)s9(1845min)x(fsxfmin 2
s00s=→+−→∇−
22
21210
2TT000 p
29p
21p9p945p)x(fp
21p)x(f)x(f)px(f ++++=∇+∇+=+
−
=⇒8.0
2.7xC
( )
−
=∇∇−=
−
99
9/1001
19
)x(f)x(fxx 01
02
0N
=⇒
00
x N
θ+θ+
=
θθ
+=sinr1cosr9
sincos
rxx 0r
−−
=−+=s8.11s8.19
)xx(sx)s(x 0C01d
+−
−=−+=
s8.08,0s2.72.7
)xx(sx)s(x CNC2d
Techniques d’optimisation
312
2.4.2 Exemple
Méthode dogleg
• Région de confiance de rayon r=1 : sur le segment 1 • Région de confiance de rayon r=4 : sur le segment 2
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
22
2121 x
29x
21)x,x(f +=
=
19
x0
=
−
=⇒00
x,8.0
2.7x NC
-1,50
-1,00
-0,50
0,00
0,50
1,00
1,50
2,00
2,50
3,00
3,50
4,00
-1 0 1 2 3 4 5 6 7 8 9 10 11
xN
xC
x0
r = 4
r = 1
chemin dogleg
≈⇒
293.0293,8
xd
−
≈⇒592.0
331,5xd
Techniques d’optimisation
313
2.4.3 Rayon de confiance
Rapport de réduction
Réglage du rayon
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance
Techniques d’optimisation
314
2.4.3 Rapport de réduction
Validité du modèle quadratique Le modèle quadratique est une approximation de la fonction valide dans un voisinage de x0. → Si le rayon de confiance est trop grand, le modèle quadratique n’est plus représentatif. → Il faut vérifier que la solution d* du modèle quadratique donne l’amélioration attendue. Rapport de réduction • On définit le rapport de réduction ρ entre la variation prévue :
et la variation réalisée : Rapport de réduction : • La valeur de ρ permet de vérifier si le modèle quadratique représente correctement la fonction,
et d’adapter le rayon de confiance.
• ρ ≈ 1 ou > 1 : amélioration réelle > amélioration prévue → modèle bon • ρ ≈ 0 ou < 0 : amélioration réelle < amélioration prévue → modèle mauvais
Le rayon est réglé de façon itérative en fonction de la valeur de ρ.
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance
*)dx(f)x(f*)dx(f)x(f
00
00
+−
+−=ρ
*)dx(f)x(f 00 +−*)dx(f)x(f 00 +−
Techniques d’optimisation
315
2.4.3 Réglage du rayon
Réglage du rayon On modifie le rayon de confiance en fonction du rapport de réduction • ρ > ρ2 avec ρ2 = 0.9
La fonction f décroît au moins comme prévu : le modèle est bon. → On accepte le nouveau point. → On passe à l’itération suivante en multipliant par 2 le rayon de confiance.
• ρ < ρ1 avec ρ1 = 0.01 La fonction f augmente au lieu de diminuer comme prévu : le modèle est mauvais. → On rejette le nouveau point. → On reprend l’itération en divisant par 2 le rayon de confiance.
• ρ1 < ρ < ρ2 La fonction décroît, mais moins que prévu : le modèle est correct. → On accepte le nouveau point. → On passe à l’itération suivante sans changer le rayon de confiance.
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance
*)dx(f)x(f*)dx(f)x(f
00
00
+−
+−=ρ
Techniques d’optimisation
316
2.4.4 Algorithme
Algorithme de région de confiance
Convergence
Exemple
- Région de confiance norme 2 - Région de confiance norme ∞
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme
Techniques d’optimisation
317
2.4.4 Algorithme
Algorithme de région de confiance
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme
Résolution problème quadratique → pas dk Méthode dogleg
Initialisation : x0 − Rayon r0 Gradient : ∇f(x0) Approximation du hessien : H0
Itération k : xk − Rayon rk Gradient : ∇f(xk) Approximation du hessien : Hk>0
Rapport de réduction → ρ Réglage du rayon → rk+1
Nouveau point : xk+1 = xk + dk Gradient : ∇f(xk+1)
Mise à jour du hessien par BFGS ou SR1 Modification du hessien : Hk+1>0 Factorisation de Cholesky modifiée
→ H0 =I par défaut
Itération k+1 : xk+1 − Rayon rk+1 Gradient : ∇f(xk+1) Approximation du hessien : Hk+1>0
Arrêt si : ε)f(x 1k <∇ +
Techniques d’optimisation
318
2.4.4 Algorithme
Principaux résultats de convergence • Lorsque le rayon de confiance est petit, la solution dogleg est suivant le gradient.
L’itération est équivalente à la méthode de plus forte pente → convergence lente • Lorsque le rayon de confiance est grand, la solution dogleg est le point de Newton.
L’itération est équivalente à la méthode de Newton → convergence rapide
En pratique • On peut combiner l’algorithme de région de confiance avec BFGS ou SR1.
Il n’est pas nécessaire que le hessien soit défini positif. Si le hessien n’est pas défini positif, la méthode SR1 est plus efficace.
• La valeur des seuils de réduction ρ1 et ρ2 pour régler le rayon n’est pas critique pour la convergence.
• Le point de Newton xN est systématiquement testé,
car il donne la solution s’il est à l’intérieur de la région de confiance. Sinon, on cherche une solution approchée sur le chemin dogleg.
• D’autres méthodes de résolution approchée du problème quadratique existent.
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme
Techniques d’optimisation
319
2.4.4 Exemple
Fonction de Rosenbrock • Point initial :
• Région de confiance avec BFGS ou SR1 • Norme 2 : région de confiance circulaire 0
1
2
3
4
5
0 10 20 30 40
Itération
BFGSSR1
f
−1
2.1
-0,25
0
0,25
0,5
0,75
1
1,25
-1,5 -1 -0,5 0 0,5 1 1,5
BFGS
-0,25
0
0,25
0,5
0,75
1
1,25
-1,5 -1 -0,5 0 0,5 1 1,5
SR1
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme
( ) ( )21
221221 x1xx100)x,x(f −+−=
Techniques d’optimisation
320
2.4.4 Exemple
Fonction de Rosenbrock • Point initial :
• Région de confiance avec BFGS ou SR1 • Norme ∞ : région de confiance rectangulaire 0
1
2
3
4
5
0 10 20 30 40
Itération
BFGSSR1
f
−1
2.1
-0,25
0
0,25
0,5
0,75
1
1,25
-1,5 -1 -0,5 0 0,5 1 1,5
BFGS
-0,25
0
0,25
0,5
0,75
1
1,25
-1,5 -1 -0,5 0 0,5 1 1,5
SR1
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme
( ) ( )21
221221 x1xx100)x,x(f −+−=
Techniques d’optimisation
321
Sommaire 1. Bases théoriques
2. Optimisation sans contraintes
2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.5.1 Formulation 2.5.2 Méthode de Gauss-Newton 2.5.3 Moindres carrés linéaires 2.5.4 Filtre de Kalman 2.5.5 Méthode du gradient conjugué 2.6 Méthode de Nelder-Mead
3. Optimisation avec contraintes
2 Optimisation sans contraintes 2.5 Moindres carrés
Techniques d’optimisation
322
2.5.1 Formulation
Problème de moindres carrés → problème (MC) • Variables x∈Rn : n paramètres d’ajustement d’un modèle • Résidus r(x)∈Rm : m écarts entre modèle et mesures • Critère f(x)∈R :
→ minimisation d’écart quadratique
• Gradient :
• Hessien :
• Résolution : en appliquant la méthode de Newton
2
Rx)x(r
21min
n∈
∑=
===m
1i
2i
T2 )x(r21)x(r)x(r
21)x(r
21)x(f
∑=
∇=∇=∇m
1iii )x(r)x(r)x(r)x(r)x(f
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.1 Formulation
∈∇∈∇
×
×
1ni
mn
R)x(rR)x(ravec
( )
∑
∑
=
=
∇+∇∇=
∇+∇∇=∇
m
1iii
2T
m
1iii
2Tii
2
)x(r)x(r)x(r)x(r
)x(r)x(r)x(r)x(r)x(f
Techniques d’optimisation
323
2.5.2 Méthode de Gauss-Newton
Méthode de Newton L’itération de Newton au point xk est : → déplacement dk Avec Méthode de Gauss-Newton • L’évaluation du hessien nécessite les dérivées secondes des fonctions ri(x)
→ calcul très coûteux si m est grand
• Pour accélérer les calculs, on ignore le second terme : Cette approximation du hessien n’utilise que les dérivées premières. La matrice obtenue est de plus toujours semi-définie positive → nécessaire pour la convergence de la méthode de Newton
• L’itération de Gauss-Newton au point xk est :
)x(fd)x(f kkk2 −∇=∇
)x(r)x(rd)x(r)x(r kkkT
kk −∇=∇∇
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.2 Méthode de Gauss-Newton
T2 )x(r)x(r)x(f ∇∇≈∇
∇+∇∇=∇
∇=∇=∇
∑
∑
=
=m
1iii
2T2
m
1iii
)x(r)x(r)x(r)x(r)x(f
)x(r)x(r)x(r)x(r)x(f
Techniques d’optimisation
324
2.5.2 Méthode de Gauss-Newton
Méthode de Gauss-Newton La méthode de Gauss-Newton équivaut à considérer un modèle linéaire des fonctions ri(x) en xk Le problème devient : • Critère :
• Gradient :
• Condition d’ordre 1 :
→ On retrouve l’itération de Gauss-Newton obtenue en ignorant les dérivées secondes dans le hessien
m,,1i,)xx()x(r)x(r)x(r kT
kikii =−∇+=
)x(r)x(r21)x(r
21)x(f T2
==
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.2 Méthode de Gauss-Newton
2
Rx)x(r
21min
n∈
)xx()x(r)x(r)x(r kT
kk −∇+=⇔
( ) ( ))xx()x(r)x(r)xx(
21)x(r)x(r)xx()x(r)x(r
21
)xx()x(r)x(r)xx()x(r)x(r21)x(f
kT
kkT
kkkT
kkT
k
kT
kkT
kT
kk
−∇∇−+∇−+=
−∇+−∇+=⇒
)x(r)x(r)xx()x(r)x(r)x(f kkkT
kk ∇+−∇∇=∇
)x(r)x(r)xx()x(r)x(r0)x(f kkkT
kk −∇=−∇∇⇒=∇
Techniques d’optimisation
325
2.5.3 Moindres carrés linéaires
Cas linéaire → problème (MC) • Critère : • Gradient :
• Hessien : Dans le cas linéaire, la méthode de Gauss-Newton est identique à la méthode de Newton. → La convergence est obtenue en une itération. Equations normales • La solution x* du problème (MC) vérifie → système d’équations normales du problème (MC) : • Si A est de rang plein, x* est l’unique solution du problème (MC).
( ) ( ) bb21AxbAxAx
21bAxbAx
21)x(r
21)x(f TTTTT2
+−=−−==
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.3 Moindres carrés linéaires
AA)x(f T2 =∇
( )bAxA)x(r)x(r)x(f T −=∇=∇
mnm2
RxRb,RA,bAx)x(ravec)x(r
21min
n∈∈−= ×
∈
2
RxbAx
21min
n−
∈
( ) bAAxA0bAxA0*)x(f TTT =⇒=−⇒=∇
Techniques d’optimisation
326
2.5.3 Exemple
Moindres carrés linéaires On cherche à estimer l’accélération de la gravité à partir de mesures de hauteur en chute libre.
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.3 Moindres carrés linéaires
Temps (s) Hauteur (m) 0 0,90 1 5,40 2 20,81 3 45,73 4 78,56 5 124,10 6 175,75 7 241,41 8 315,08 9 397,36 10 488,25 11 595,35 12 707,26 13 829,98 14 961,20 15 1103,14 16 1252,89 17 1415,55 18 1586,62 19 1770,20 20 1964,29
0
500
1000
1500
2000
0 5 10 15 20Temps t (s)
Hauteur h (m)
h
g 2gt21h =→
Techniques d’optimisation
327
2.5.3 Exemple
Moindres carrés linéaires On résout le problème de moindres carrés linéaires :
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.3 Moindres carrés linéaires
∑=
∈
−=
m
1i
2i
iRg 2tgh
21)g(fmin
2tgh
2i
èlemod =Modèle :
Solution moindres carrés : g* = 9,8070 m/s2 → f(g*) = 21,668
èlemodmesure hhr −=Résidu : ∑=
=→m
1i
2i )g(r
21)g(f
h (m)
t2/2 (s2)
Temps (s)
H mesure (m)
H modèle (m)
Résidu (m)
0 0,90 0,00 0,90 1 5,40 4,90 0,49 2 20,81 19,61 1,19 3 45,73 44,13 1,60 4 78,56 78,46 0,10 5 124,10 122,59 1,51 6 175,75 176,53 -0,78 7 241,41 240,27 1,13 8 315,08 313,82 1,25 9 397,36 397,18 0,17
10 488,25 490,35 -2,10 11 595,35 593,32 2,02 12 707,26 706,10 1,15 13 829,98 828,69 1,28 14 961,20 961,09 0,12 15 1103,14 1103,29 -0,14 16 1252,89 1255,30 -2,40 17 1415,55 1417,11 -1,56 18 1586,62 1588,73 -2,11 19 1770,20 1770,16 0,04 20 1964,29 1961,40 2,89
0
500
1000
1500
2000
0 50 100 150 200
Techniques d’optimisation
328
2.5.4 Filtre de Kalman
Moindres carrés récursifs • On considère un problème de moindres carrés linéaires composé de 2 blocs • Les 2 blocs correspondent à 2 séries de mesures donnant chacune des résidus respectifs. → m1 mesures → m2 mesures • Les matrices A1 et A2 sont supposées de rang plein → A1
T A1 et A2T A2 inversibles
Problème initial • On appelle problème initial le problème restreint au 1er bloc : • On note x1 la solution du problème initial.
La solution x1 vérifie les équations normales du problème initial :
• On cherche ensuite à exprimer la solution x2 du problème complet en fonction de x1.
1T111
T1 bAxAA =
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman
211
RxbxAmin
n−
∈
−=−=
222
111
bxA)x(rbxA)x(r
222
211
RxbxAbxAmin
n−+−
∈
∈∈∈∈
×
×
22
11
m2
nm2
m1
nm1
Rb,RARb,RAavec
Techniques d’optimisation
329
2.5.4 Filtre de Kalman
Problème complet • On réécrit le problème complet en regroupant les 2 blocs.
• La solution x2 vérifie les équations normales du problème complet.
• La solution x1 vérifie les équations normales du problème initial :
• On exprime x2 en fonction de x1 et des données du 2ème bloc de mesures
( ) ( )
=
⇒=
2
1T2
T12
2
1T2
T1
T2
T
bb
AAxAA
AAbAAxA
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman
1T111
T1 bAxAA =
2
Rx
2
2
1
2
1
Rx
222
211
RxbAxmin
bb
xAA
minbxAbxAminnnn
−⇔
−
⇔−+−
∈∈∈
( ) 2T21
T122
T21
T1 bAbAxAAAA +=+⇒
2121 mm
2
1n)mm(
2
1 Rbb
b,RAA
Aavec +×+ ∈
=∈
=
( )( ) ( )122
T212
T21
T1
2T212
T212
T211
T12
T211
T12
T21
T122
T21
T1
xAbAxAAAAbAxAAxAAxAAbAxAAbAbAxAAAA
−++=+−+=+=+=+
( ) ( )122T2
12
T21
T112 xAbAAAAAxx −++=⇒
−
Techniques d’optimisation
330
2.5.4 Filtre de Kalman
Filtre de Kalman La solution des moindres carrés est mise à jour à chaque nouvelle mesure disponible. → traitement incrémental en temps réel • Initialisation : filtre H0 (=0 par défaut)
solution x0 (=0 par défaut)
• Itération : filtre Hk solution xk
Mise en œuvre • Les matrices Ak
TAk doivent être inversibles → en prenant un nombre suffisant de mesures
• On peut introduire une pondération ρ pour privilégier les mesures récentes. → ρ = 1 pour donner le même poids à toutes les mesures → ρ < 1 pour privilégier la dernière mesure • Itération : filtre Hk
solution xk
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman
( )1kkkTk
1k1kk xAbAHxx −−
− −+=k
Tk1kk AAHH += −
kTk1kk AAHH +ρ= − ( )1kkk
Tk
1k1kk xAbAHxx −−
− −+=∑
=
−
∈−ρ⇔
k
1i
2ii
ik
RxbxAmin
n
∑=∈
−⇔k
1i
2ii
RxbxAmin
n
Techniques d’optimisation
331
2.5.4 Filtre de Kalman
Exemple On applique la mise à jour de Kalman à chaque nouvelle mesure. • Filtre :
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman
( )
−+=+=→
−−
−
−
1kkkTk
1k1kk
kTk1kk
xAbAHxxAAHH
kk
2k
k
2
èlemod
kkmesure
gx,2tAg
2tAxh
hbbh
==→==
=→=Mesure :
Modèle :
==
0x0H
0
0
Temps (s)
Matrice H
Estimation g (m/s2)
0 0,0 0,0000 1 0,3 10,7937 2 4,3 10,4263 3 24,5 10,2074 4 88,5 9,9269 5 244,8 9,9274 6 568,8 9,8341 7 1169,0 9,8440 8 2193,0 9,8450 9 3833,3 9,8305 10 6333,3 9,8046 11 9993,5 9,8177 12 15177,5 9,8195 13 22317,8 9,8204 14 31921,8 9,8167 15 44578,0 9,8136 16 60962,0 9,8068 17 81842,3 9,8041 18 108086,3 9,8016 19 140666,5 9,8029 20 180666,5 9,8070 9,50
9,75
10,00
10,25
10,50
10,75
11,00
0 5 10 15 20Temps t (s)
Estimation g (m/s2)
g20 = 9.8070 m/s2
Techniques d’optimisation
332
2.5.4 Filtre de Kalman
Comparaison moindres carrés − filtre de Kalman • Les moindres carrés sont adaptés à l’estimation de paramètres de modèle a posteriori
(= lorsque toutes les mesures sont disponibles).
• Le filtre de Kalman est adapté à des applications en temps réel (= lorsque les mesures arrivent une à une)
• Les moindres carrés et le filtre de Kalman sont équivalents pour l’estimation de paramètres
d’un modèle linéaire. Le filtre de Kalman peut être appliqué à différents problèmes d’estimation.
Applications du filtre de Kalman • Estimation de l’état d’un système dynamique linéaire, discret ou continu.
→ état fonction du temps, mesures en temps réel
• Estimation de l’état d’un système dynamique non linéaire → par linéarisation autour d’une trajectoire de référence estimée au préalable
• Méthode de filtrage largement utilisée dans les systèmes temps réels
→ nombreuses variantes
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman
Techniques d’optimisation
333
2.5.5 Gradient conjugué
Problème quadratique On considère un problème de moindres carrés linéaires. Le problème de moindres carrés revient à minimiser une forme quadratique définie positive. avec Q∈Rn×n symétrique définie positive Méthode de directions conjuguées • 2 directions di et dj sont conjuguées par rapport à Q si di
TQdj = 0
• On obtient le minimum de la forme quadratique définie positive en n itérations à pas optimal suivant des directions conjuguées (di)i=1,…,n. • La méthode du gradient conjugué consiste à construire une suite de directions conjuguées
et à minimiser suivant ces directions successives pour obtenir le minimum de f. → extension à une fonction f quelconque (méthode de Fletcher-Reeves)
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué
mnm2
RxRb,RA,bAx)x(ravec)x(r
21min
n∈∈−= ×
∈
( ) ( ) bb21AxbAxAx
21bAxbAx
21)x(r
21 TTTTT2
+−=−−=⇒
xcQxx21)x(f TT +=
Techniques d’optimisation
334
2.5.5 Gradient conjugué
Méthode du gradient conjugué • On part d’un point initial x0 quelconque. La direction initiale est le gradient : d1 = −∇f(x0) • A chaque itération, le nouveau point xk est obtenu par minimisation suivant dk.
• La nouvelle direction dk+1 est définie à partir de la précédente dk et du gradient en xk. → plusieurs méthodes possibles • La méthode converge en n itérations pour une fonction quadratique définie positive.
Pour une fonction f quelconque, la convergence est généralement rapide car f est proche d’une fonction quadratique définie positive au voisinage de l’optimum.
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué
Initialisation x0
Point courant xk-1
Direction conjuguée dk
Minimisation suivant dk
Solution x*=xn
Nouveau point xk
kk1kkk1ksdsxx)sdx(fmin +=→+ −−
kkk1k d)x(fd β+−∇=+
Techniques d’optimisation
335
2.5.5 Gradient conjugué
Méthode du gradient conjugué • La direction de descente à l’itération k est cherchée sous la forme avec xk obtenu par minimisation suivant dk : • La nouvelle direction dk+1 doit être conjuguée à toutes les directions précédentes d1,…, dk. Il existe plusieurs méthodes de construction des directions conjuguées successives (di)i=1,…,n. • Directions de Fletcher-Reeves
• Directions de Polak-Ribière → formules équivalentes dans le cas d’une fonction f quadratique
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué
k,,1i,0dQd iT
1k ==+
kkk1k d)x(fd β+−∇=+
kk1kkk1ksdsxx)sdx(fmin +=→+ −−
kkk1k d)x(fd β+−∇=+ 21k
2k
k)x(f
)x(favec
−∇
∇=β
kkk1k d)x(fd β+−∇=+
( )2
1k
kT
1kkk
)x(f)x(f)x(f)x(favec
−
−
∇
∇∇−∇=β
Techniques d’optimisation
336
2.5.5 Gradient conjugué
Directions de Fletcher-Reeves → directions conjuguées pour Preuve : On note gk = ∇f(xk) = Qxk + c
• Propriété préliminaire
Si les n directions d1,…,dn sont conjuguées, alors pour k=1 à n. A l’itération i, xi est obtenu par minimisation suivant di
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué
kkk1k d)x(fd β+−∇=+ 21k
2k
k)x(f
)x(favec
−∇
∇=β
n,,1i,0gd0)sdx(fd)sdx(fdsd)sdx(fmin i
Tii1i
Tii1ii1is
==⇒=+∇=+⇒+ −−−
j
k
1ijjij
k
1ijjikkj
k
1ijjik Qds)x(fcdsxQcQxgdsxx ∑∑∑
+=+=+=
+∇=+
+=+=⇒+=
k,,1i,0gd kTi ==
≠==
=+=⇒ ∑+= jisi0Qdd
0gdcar0Qddsgdgdj
Ti
iTi
jTi
k
1ijji
Tik
Ti
xcQxx21)x(f TT +=
1k,,1i,0gget kTi −==
kicar0gdk,,1i,0gdcargdgggg
kT
1i
kTik
Tiik
Tik
Ti
<=−===−=⇒
+
β
Techniques d’optimisation
337
2.5.5 Gradient conjugué
Directions de Fletcher-Reeves Preuve : on montre par récurrence que dk+1 est conjuguée à d1,…,dk. • Pour d1 et d2 :
• On suppose d1,…,dk conjuguées : Il faut montrer que
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué
( ) ( )
+=+−=
−=−+−=
1101
1112
01
1
01T0111
T2
dsxxdgd
gdcar
sxxQggQdd ββ
( ) cQxgcars
ggggQdd1
01T0111
T2 +=
−+−=⇒ β
( ) 0dgggcarggQdd 1T10
T1
T
012
11T2 ==−−=⇒ β (propriété préliminaire)
20
21
20
21
11T2
g
g
)x(f
)x(fcar0Qdd =
∇
∇==⇒ β (par définition de β)
kj,i,ji,0Qdd jTi ≤≠=
k,,1i,0Qdd 1kTi ==+
( ) 0QddcarQgddgQdQdd kTik
Tikkk
Ti1k
Ti =−=−−=+ β (par hypothèse de récurrence)
( ) ii1iik
T
i
1iik
Ti1k
Ti dsxxcarg
sxxQgQdQdd +=
−−=−=⇒ −
−+
cQxgcargs
ggQdd k
T
i
1ii1k
Ti +=
−=⇒ −
+
Techniques d’optimisation
338
2.5.5 Gradient conjugué
Directions de Fletcher-Reeves Preuve • On obtient :
• Il faut encore montrer pour i=k : On obtient bien : → valeur de βk telle que
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué
( )1k,,1i,0ggcar
1k,,1ipour0ggggs1Qdd
kTi
kT
1ikTi
i1k
Ti
−==
−==−= −+
(propriété préliminaire) 0Qdd 1k
Tk =+
( )k
Tk
kTk
kkkkTk1k
Tk Qdd
Qgd0dgQd0Qdd =⇒=+−⇒=+ ββ
( ) 2k
kk
T1kk
kk
T
k
1kkk
Tk g
s1ggg
s1g
sxxQQgd =−=
−= −
−
( ) 0gdcargds1ggd
s1
sxxQdQdd k
Tk1k
Tk
k1kk
Tk
kk
1kkTkk
Tk =−=−=
−= −−
− (propriété préliminaire)
( ) 1kT
1k2
1kk
1kT
1k1k1kk
1kTk
kk
Tk gdcarg
s1gdg
s1gd
s1Qdd −−−−−−−− =+−−=−=⇒ β
21k
2k
kg
g
−
=β 0Qdd 1kTk =+
Techniques d’optimisation
339
2.5.5 Exemple
Gradient conjugué • Fonction quadratique
• Point initial • Itération 1 : • Itération 2 : • Solution :
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué
−−
=
−−
=+=→
−=−∇=
1s2
55
s510sdxx
05
)x(fd 10101
2221
2121 xxxx
21)x,x(f ++=
−
=5
10x0
++
=∇→21
2121 x2x
xx)x,x(f
( ) ( ) 1s25s225s2225)sdx(fmin 1210
s=⇒+−−−=+
−
−=
+−
−=+=→
−=
11
)s1(5s55
s55sdxx
55
d 2122
( ) ( ) ( ) 1ss125s125s1225)sdx(fmin 222221
s=⇒−+−−−=+
12525
)x(f
)x(favecd)x(fd 20
2111112 ==
∇
∇=ββ+−∇=
−
=∇
−
=→5
0)x(f,
55
x 11
=∇
=→
00
)x(f,00
x 22
=∇
=
00
*)x(f,00
*x
Techniques d’optimisation
340
Sommaire 1. Bases théoriques
2. Optimisation sans contraintes
2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthode de Nelder-Mead 2.6.1 Principes 2.6.2 Algorithme 2.6.3 Exemples
3. Optimisation avec contraintes
2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead
Techniques d’optimisation
341
2.6.1 Méthode de Nelder-Mead
Problème sans contrainte Principes La méthode de Nelder-Mead est une méthode d’ordre 0 (sans dérivées) → n’utilise que des évaluations de la fonction (aucune évaluation du gradient) • On définit un ensemble P de n+1 points de Rn : P est un polytope ou « simplexe » de Rn. • Les points de P sont rangés du meilleur au plus mauvais : • A chaque itération, on cherche à remplacer le plus mauvais point par un point meilleur.
après reclassement
• On obtient une suite de polytopes (Pk)k∈N :
• Si la méthode converge, les polytopes Pk sont de taille décroissante et les points du polytope convergent vers un minimum local de f.
f(x)minnRx∈
2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead 2.6.1 Principes
{ }1nn21 x,x,,x,xP +=
)x(f)x(f)x(f)x(f 1nn21 +≤≤≤≤
{ }k1n
kn
k2
k1
k x,x,,x,xP +=
{ } { }{ }'x,'x,,'x,'x'P
x,x,,x,x'Px,x,,x,xP1nn21
newn211nn21
+
+=→=→=
Techniques d’optimisation
342
2.6.1 Méthode de Nelder-Mead
Polytope Nouveau point xc est le barycentre des n meilleurs points. On cherche à ramener le plus mauvais point xn+1 vers le barycentre xc. On teste des points x sur la demi-droite [xn+1,xc) paramétrée par t > 0. Points testés successivement : • Réflexion : x(t=+1) = xr • Expansion : x(t=+2) = xe • Contraction externe : x(t=+0.5) = xce • Contraction externe : x(t=−0.5) = xci
2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead 2.6.1 Principes
{ }1nn21 x,x,,x,xP +=
)x(f)x(f)x(f)x(f 1nn21 +≤≤≤≤
∑=
=n
1iic x
n1x
)xx(tx)t(x 1ncc +−+=
x1
x2
x3 x*
x1
x2
x3 x*
xe
xr xce
xci
x(t)
xc
Techniques d’optimisation
343
2.6.1 Méthode de Nelder-Mead
Nouveau point Le polytope initial est avec La demi-droite [xn+1,xc) est supposée être une direction de descente. On teste d’abord xr (symétrique de xn+1 / xc). • Résultat très bon :
→ on essaie xe on remplace xn+1 par xe ou xr.
• Résultat bon :
→ on remplace xn+1 par xr. • Résultat moyen :
→ on essaie xce on remplace xn+1 par xce ou xr.
• Résultat mauvais :
→ on essaie xci on remplace xn+1 par xci , ou on contracte tout le polytope P vers x1
2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead 2.6.1 Principes
{ }1nn21 x,x,,x,xP += )x(f)x(f)x(f)x(f 1nn21 +≤≤≤≤
x1
x2
x3 x*
xe
xr xce
xci
x(t)
xc )x(f)x(f)x(f nr1 <≤
)x(f)x(f 1r <
)x(f)x(f)x(f 1nrn +<≤
)x(f)x(f r1n ≤+
Techniques d’optimisation
344
2.6.2 Algorithme
Itération k 1. Barycentre :
2. Réflexion : xr = xc + d → f(xr) 3. Si f(xr) < f(x1)
Expansion : xe = xc + 2d → f(xe) Si f(xe) < f(xr) → x’ = xe Sinon → x’ = xr
4. Si f(x1) < f(xr) < f(xn) → x’ = xr 5. Si f(xn) < f(xr) < f(xn+1)
Contraction externe : xce = xc + d/2 → f(xce) Si f(xce) < f(xr) → x’ = xce Sinon → x’ = xr
6. Si f(xn+1) < f(xr) Contraction interne : xci = xc − d/2 → f(xci) Si f(xci) < f(xn+1) → x’ = xci Sinon réduction de P vers x1 →
7. Nouveau point x’ → polytope à reclasser
2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead 2.6.2 Algorithme
{ } )x(f)x(f)x(f)x(favecx,x,,x,xP k1n
kn
k2
k1
k1n
kn
k2
k1
k++ ≤≤≤≤=
k1nc
n
1i
kic xxdx
n1x +
=
−=→= ∑
( )ki1
1ki xx
21x +=+
{ }'x,x,,x,xP kn
k2
k1
1k =+
{ } )x(f)x(f)x(f)x(favecx,x,,x,xP 1k1n
1kn
1k2
1k1
1k1n
1kn
1k2
1k1
1k ++
+++++
++++ ≤≤≤≤=
d
2d
d/2
d/2
Techniques d’optimisation
345
2.6.2 Algorithme
Initialisation Polytope initial → points suffisamment distants, non alignés Itération k • Nouveau point x’ → reclassement des points x1, x2, … , xn, x’ par valeur de f croissante
• Nouveau polytope : Arrêt • Taille du polytope • Valeur de la fonction (non décroissante, identique sur tout le polytope) • Dégénérescence du polytope (alignement des points).
2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead 2.6.2 Algorithme
{ } )x(f)x(f)x(f)x(favecx,x,,x,xP 01n
0n
02
01
01n
0n
02
01
0++ ≤≤≤≤=
{ } )x(f)x(f)x(f)x(favecx,x,,x,xP k1n
kn
k2
k1
k1n
kn
k2
k1
k++ ≤≤≤≤=
{ } )x(f)x(f)x(f)x(favecx,x,,x,xP 1k1n
1kn
1k2
1k1
1k1n
1kn
1k2
1k1
1k ++
+++++
++++ ≤≤≤≤=
Techniques d’optimisation
346
2.6.3 Exemples
Exemple 1 : fonction quadratique
2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead 2.6.3 Exemples
22
2121 x
29x
21)x,x(f +=
-0,5
0,0
0,5
1,0
1,5
2,0
2,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5
Techniques d’optimisation
347
2.6.3 Exemples
Exemple 2 : fonction de Rosenbrock
2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead 2.6.3 Exemples
-0,25
0,00
0,25
0,50
0,75
1,00
1,25
-1,50 -1,00 -0,50 0,00 0,50 1,00 1,50
( ) ( )21
221221 x1xx100)x,x(f −+−=
Techniques d’optimisation
348
Sommaire 1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes
3.1 Simplexe 3.2 Point intérieur 3.3 Gradient projeté 3.4 Lagrangien augmenté 3.5 Programmation quadratique séquentielle 3.6 Convergence
3 Optimisation avec contraintes
Techniques d’optimisation
349
3 Optimisation avec contraintes
Problème non linéaire sous contraintes → Problème noté (PO) Catégories de problèmes • Programmation linéaire → Fonctions f, cE, cI linéaires • Programmation non linéaire → Fonctions f, cE, cI quelconques Traitement des contraintes • Méthodes de contraintes actives → Identification des inégalités actives
Transformation en un problème avec contraintes égalité Respect des contraintes à chaque itération
• Méthodes de point intérieur → Fonction barrière (pénalisation intérieure) Suivi d’un chemin central intérieur aux contraintes
• Méthodes de pénalisation → Critère augmenté (pénalisation extérieure) Transformation en un problème sans contraintes
3 Optimisation avec contraintes
≤=
∈ 0(x)c0(x)csousf(x)min
I
ERx n
Techniques d’optimisation
350
3 Optimisation avec contraintes
Problème non linéaire sous contraintes → Problème noté (PO) Classification des méthodes
3 Optimisation avec contraintes
≤=
∈ 0(x)c0(x)csousf(x)min
I
ERx n
Méthode primale Méthode primale-duale Méthode duale
Problème traité problème primal problème primal problème dual
Objectif min f - méthode directe - point stationnaire
solution KKT - méthode indirecte - point stationnaire
max w - méthode indirecte - point col
Itérations admissibles admissibles ou non non admissibles
Variables primales x primales x , duales λ primales x , duales λ
Algorithmes - simplexe (LP) - gradient projeté - pénalisation
- point intérieur (LP, NLP) - séquentiel quadratique - lagrangien augmenté
- Uzawa
Techniques d’optimisation
351
Sommaire 1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes
3.1 Simplexe 3.1.1 Problème linéaire 3.1.2 Déplacement 3.1.3 Initialisation 3.1.4 Simplexe révisé 3.1.5 Simplexe dual 3.2 Point intérieur 3.3 Gradient projeté 3.4 Lagrangien augmenté 3.5 Programmation quadratique séquentielle 3.6 Convergence
3 Optimisation avec contraintes 3.1 Simplexe
Techniques d’optimisation
352
3.1.1 Problème linéaire
Forme standard
Solution
Recherche systématique
Recherche optimisée
Forme canonique
3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire
Techniques d’optimisation
353
=⇒
==
=
−→
→
0bBEx0x
bAxavecxxEx
-1
Nmn
m
N
B
3.1.1 Problème linéaire
Problème linéaire sous forme standard → problème noté (PL) Rappels • Base B = (Aj1 , … , Ajm) = m colonnes indépendantes de A ⇒ B inversible
AE = (B N) avec E = matrice de permutation de colonnes (EET = I)
• Solution de base : admissible (ou réalisable) si
• Direction de base dj , j∈N • Coût réduit = dérivée directionnelle suivant la direction de base dj : Coût réduit négatif → direction de descente
m)A(rangRc,Rb,RA nmnm
=∈∈∈ ×
≥=0x
bAxsousxcmin T
x
3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire
0bBx 1B ≥= −
=
−=
=
−
jNj
T
j1
jB
jN
jBj
d0eE
ABdavecd
dEd
→ pour vérifier Ax=b
→ composantes nulles sauf =1 sur la composante j
j1T
BjjT
j ABccdcc −−==
Techniques d’optimisation
354
3.1.1 Solution
Problème linéaire sous forme standard Solution On note P le polytope associé aux contraintes : Si le problème (PL) admet une solution, alors il existe un sommet optimal x*. Preuve : On suppose que PL admet une solution de coût f* On considère un sommet x* du polytope Q inclus dans P : On suppose par l’absurde que x* n’est pas un sommet de P. La fonction linéaire est minimale en α* : La fonction ϕ est donc constante (sinon elle décroît d’un côté de α*) On a donc : en contradiction avec l’hypothèse que x est un sommet de Q.
m)A(rangRc,Rb,RA nmnm
=∈∈∈ ×
{ }0xb,Ax/RxP n ≥=∈=
≥=0x
bAxsousxcmin T
x
3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire
{ }*fxc/PxQ T =∈=
Qz,y*fzcyc TT
∈⇒==⇒
≤≤−+=
10zc)1(yc)( TT
ααααϕ
<<==
1*0*f*xc*)( T
ααϕ
1*0,zy,Pz,yavecz*)1(y**x <<≠∈−+= ααα
1*0,zy,Qz,yavecz*)1(y**x <<≠∈−+= ααα
Techniques d’optimisation
355
3.1.1 Solution
Recherche systématique Si (PL) admet une solution x*, x* est un sommet du polytope P associé aux contraintes. On peut donc trouver la solution : en parcourant tous les sommets de P (= bases) en calculant les solutions de base associées en conservant la meilleure solution de base réalisable • Choix de m colonnes parmi les n colonnes de A → base B possible
• Vérification que la base est réalisable : B inversible et B-1b≥0 → Solution de base admissible : • Valeur du coût associé à la base B :
• Sélection de la meilleure solution (f minimal) Inconvénient combinaisons possibles → inapplicable en pratique
m)!(nm!n!Cm
n −=
BTBN
TNB
TB
T xcxcxcxcf =+==
00bBEx
xEx1
N
B ≥
=
=
−
3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire
Techniques d’optimisation
356
3.1.1 Exemple
Recherche systématique • Représentation graphique dans R2
• Solution graphique : point C (f = −2)
• Solution par énumération des sommets
3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire
≥=+−=++
−−0x,x,x,x1xxx1xxx
sousx2xmin4321
421
321
21x,x,x,x 4321
≥≥
≤−≤+
= 0x
0x,1xx1xx/x
xP'2
1
21
21
2
1
x1
x2
x1+x2=1
x1−x2=1
1
1
0
A B
C
D
P
Base x f x1,x2 (1 0 0 0) → B −1 x1,x3 (1 0 0 0) → B −1 x1,x4 (1 0 0 0) → B −1 x2,x3 (0 −1 2 0) → D Non admissible x2,x4 (0 1 0 2) → C −2 x3,x4 (0 0 1 1) → A 0
Techniques d’optimisation
357
3.1.1 Solution
Recherche optimisée On évite l’énumération systématique en parcourant les sommets de façon ordonnée → Méthode du simplexe = méthode de contraintes actives Principes • On se déplace d’une solution de base admissible à une autre solution de base admissible. → Les solutions non admissibles ne sont pas examinées.
• Les bases successives ne diffèrent que par l’une des variables (bases adjacentes)
• Le déplacement d’un sommet à un autre est choisi à partir des directions de base
→ Déplacement suivant les arêtes du polytope
• Les coûts réduits déterminent les directions de descente possibles. → Sélection d’une direction de déplacement (plusieurs règles de sélection possibles)
• Le problème est mis sous forme canonique dans la base B → Permet de vérifier l’optimalité de la base B → Permet de construire le déplacement vers une base adjacente
3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire
Techniques d’optimisation
358
3.1.1 Forme canonique
Réduction dans la base B • Forme standard : • Base B :
• Réduction aux variables hors base • Forme canonique dans la base B → Réduction à n-m variables = variables hors-base xN
3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire
≥=0x
bAxsousxcmin T
x m)A(rangRc,Rb,RA nmnm
=∈∈∈ ×
≥≥−=⇒=++⇔
−−
∈∈ 0x,0x
xNBbBxbxNxBsousxcxcminNB
N11
BNBN
TNB
TB
RxRx
m-nN
mB
( )mn
m
N
BxxEx,NBAE
−→
→
==
+=+=
⇒N
TNB
TB
TNB
xcxcxcxNxBAx
( )
≥≥−=−+⇔
−−−−
∈ − 0x0xNBbBxsousxNBccbBcmin
N
N11
BN
1TB
TN
1TB
Rx mnN
≥=0x
bAxsousxcmin T
x
0xNBbxsousxczmin N1
BNTN
0xRx
N
mnN
≥−=+ −
≥∈ −
−===
−
−
NBcccbczbBb
avec1T
BTN
TN
TB
1
Techniques d’optimisation
359
3.1.1 Forme canonique
Evaluation de la base B La solution x* du problème linéaire correspond à un sommet = solution de base admissible → Evaluer l’optimalité de la solution de base associée à la base B → Construire le déplacement vers une nouvelle base B’ meilleure que B • Forme canonique dans B :
• Solution de base associée à B : si B est admissible (ou réalisable) • Variation du coût : Optimalité • Coût réduit = dérivée directionnelle suivant la direction de base dj associée à xj, j∈N • Si tous les coûts réduits sont positifs ou nuls, la solution est optimale. • Sinon le coût décroît suivant une direction de base dj de coût réduit négatif
= direction de descente
3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire
≥==
⇒= 0bxzz0x
BN
jjNj
jjNTNN c
xzxczxcz)x(z =
∂∂
⇒+=+= ∑∈
jc
0xNBbxsousxczmin N1
BNTN
0xRx
N
mnN
≥−=+ −
≥∈ −
Techniques d’optimisation
360
3.1.2 Déplacement
Règles de déplacement
Changement de base
Formules de pivotage
Méthode des tableaux
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Techniques d’optimisation
361
3.1.2 Règles de déplacement
Notations • Matrices : B, N = matrice de base et hors base AE = (B N) • Par extension : B, N = numéros des variables de base xB et hors base xN • Solution de base associée à B : avec Direction de déplacement • Si tous les coûts réduits sont positifs ou nuls, la solution courante est optimale. • Sinon on choisit un indice hors base e∈N de coût réduit strictement négatif :
→ La direction de base associée de est une direction de descente.
• On se déplace à partir de x d’un pas α≥0 suivant la direction de base de → x’ = x + αde • Le nouveau point x’=x + αde doit rester admissible :
• Le déplacement est limité par le fait que les variables de base doivent rester positives.
0ce <
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
≥α+≥α+
==α⇒
≥α+=α+⇔
≥=
0dx0dx
bAxcar0Ad
0dxb)dA(x
0x'bAx'
eBB
eNN
e
e
e→ vérifié par définition de de
→ limite le déplacement → vérifié car xN=0 et deN ≥0
=
N
BT
xxxE bBx0x
bAxB
N=⇒
==
Techniques d’optimisation
362
3.1.2 Règles de déplacement
Pas de déplacement Le déplacement α suivant la direction de base de est limité par les contraintes xB≥0 • Si la composante est positive, le pas n’est pas borné :
• Si la composante est négative, le pas est borné par : (annulation de xi) Déplacement maximal On note s le numéro de la 1ère variable de base xi qui s’annule suivant la direction de. → Le pas maximal admissible suivant la direction de est : • Si deB ≥ 0, le pas n’est pas borné suivant de
→ Le problème PL n’a pas de solution (problème non borné).
• Sinon on réalise le pas maximal αs suivant la direction de : x’ = x + αsde → Changement de base ou pivotage → Echange des variables xs (variable de base sortant de la base courante) et xe (variable hors base entrant dans la nouvelle base)
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
0dx eBB ≥α+ → Borne αi pour chacune des m variables de base xi, i∈B
ieBd
ieBd
ieB
ii d
x−
=α
iBis min α=α∈
∞+=αi
Techniques d’optimisation
363
3.1.2 Changement de base
Pivotage La direction de base de associé à la variable hors base xe est définie par : • Le nouveau point x’ = x + αsde est admissible car : - la direction de est admissible
- le pas αs respecte les contraintes x’≥0 • Variables de base xi, i∈B :
• Variables hors base xj, j∈N : Nouvelle base • Nouvelles variables hors base : • Nouvelles variables de base :
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
=
−=
=
−
eNe
T
e1
eB
eN
eBe
T
d0eE
ABdavecd
ddE→ pour vérifier Ax=b
→ composantes nulles sauf =1 sur la composante e
( )
==≠≥α+= sisi0
sisi0dx'x ieBsii→ car αs≤ α → par construction du pas αs
( )
=≥α=≠=α+= ejsi0
ejsi0dx'xs
jeBsjj ( )
==≠=
ejsi1ejsi0dcar jeB
{ } { } { }seN'Nsipour0'xeNjpour0'x
s
j +−=⇒
==−∈=
{ } { } { }esB'Bejpour0'xsBipour0'x
e
i +−=⇒
=≥−∈≥
Techniques d’optimisation
364
3.1.2 Changement de base
Variation du coût • Le nouveau coût est : • Si la base n’est pas dégénérée (xB > 0), toutes les directions de base sont admissibles
→ Déplacement non nul possible : αs > 0 → Le coût décroît strictement : z’ < z car on a choisi e∈N tel que Méthode pratique • La nouvelle base ne diffère de la base courante que par une seule variable (= une colonne de A)
→ Limitations des calculs correspondant à un pivotage → Méthode des tableaux
• Les variables hors base sont constantes ou croissantes suivant les directions de base.
→ Toutes les variables hors base sont candidates pour entrer dans la base. • Plusieurs règles de choix sont possibles pour la variable entrant dans la base.
→ Règles de pivotage
• L’algorithme nécessite une base initiale admissible. → Etape préliminaire de détermination de la base initiale
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
zcz'zcxc)d(xcx'c esesT
esTT ≤α+=⇒α+=α+=
0ce <
Techniques d’optimisation
365
3.1.2 Changement de base
Règles de pivotage • Choix de la variable entrante → différents choix possibles • Détermination de la variable sortante → imposé Variable entrante • La variable hors base entrant dans la base doit avoir un coût réduit négatif. • Choix de la variable de plus petit indice → Règle de Bland (évite le cyclage pouvant se produire lorsque une base est dégénérée) • Choix de la variable de coût réduit le plus négatif (plus forte descente)
→ 1ère règle de Dantzig
• Choix de la variable conduisant à la plus forte diminution de la fonction coût
• Choix aléatoire avec une probabilité proportionnelle au coût réduit Variable sortante • La variable de base sortant de la base est la 1ère à s’annuler suivant la direction de base choisie → 2ème règle de Dantzig
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Techniques d’optimisation
366
3.1.2 Changement de base
Illustration
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
x1
x2 Sommet initial
Solution → Dégénérescence
1er déplacement
Min f=x2
12 pivotages
2 pivotages
Techniques d’optimisation
367
3.1.2 Formules de pivotage
Forme canonique On écrit le problème sous forme canonique dans la base B. • Formulation matricielle • Formulation explicite en fonction des variables hors base xj , j∈N
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
0xNBbxsousxczmin N1
BNTN
0xRx
N
mnN
≥−=+ −
≥∈ −
−===
−
−
NBcccbczbBb
avec1T
BTN
TN
TB
1
∈−=
=
==
∑∑
∈
∈
∈∈
Nj,accc
bcz)a(NB
bBb
avec
Biijijj
Biii
Nj,Biijnoté
1-
-1
Bi,0xabxsousxczminNj
jijiiNj
jj0x N
∈≥−=+ ∑∑∈∈
≥
Techniques d’optimisation
368
3.1.2 Formules de pivotage
Changement de base • Le pivotage consiste à remplacer la variable hors base xe (entrante) :
par la variable de base xs (sortante) :
• Forme canonique dans la base B :
→ Expression en fonction des variables xj, j∈N • Forme canonique dans la base B’ :
→ Expression en fonction des variables xj, j∈N’=N−{e}+{s} Pour passer de la forme canonique dans la base B à la forme canonique dans la base B’, il faut : • exprimer xe en fonction de xs, • remplacer xe dans les expressions du coût z et des variables de base xi, i∈B’=B−{s}+{e} On obtient les formules de pivotage.
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
∑∈
+=Nj
jjxczz Bi,xabxNj
jijii ∈−= ∑∈
{ } { }esB'B +−={ } { }seN'N +−=
∑∈
+=N'j
jj x'c'zz 'Bi,x'a'bx'Nj
jijii ∈−= ∑∈
Techniques d’optimisation
369
3.1.2 Formules de pivotage
Expression de xe en fonction de xs • xs est dans l’ancienne base B : i=s∈B →
• xe est dans la nouvelle base B’ : i=e∈B’ →
En identifiant les coefficients : On exprime ensuite les autres variables de base xi , i∈B-{s} en remplaçant xe.
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
{ }∑∑
−∈∈
−−=−=eNj
jsjesesNj
jsjss xaxabxabx{ }
∑−∈
−−=⇒eNj
jse
sjs
sese
se x
aa
xa1
ab
x
∑∈
−='Nj
jejee x'a'bx
∑∈
−=Nj
jsjss xabx
{ }
−∈→=
=→=
=
eNjaa
'a
sja1'a
ab
'b
se
sjej
sees
se
se
Techniques d’optimisation
370
3.1.2 Formules de pivotage
Expression des autres variables de base • xi est dans l’ancienne base B : i∈B-{s} →
• xi reste dans la nouvelle base B’ : i∈B’ →
En identifiant les coefficients :
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
{ } { } { }∑∑∑
−∈−∈−∈
−
−−−=−−=
eNjjij
eNjj
se
sjs
ses
seiei
eNjjijeieii xax
aa
xa1b
a1abxaxabx
∑∈
−=Nj
jijii xabx
{ }
−∈→−=
=→−=
−=
eNjaaa
a'a
sjaa
'a
baa
b'b
sjse
ieijij
se
ieis
sse
ieii
∑∈
−='Nj
jijii x'a'bx
{ }∑
−∈
−−+−=⇒
eNjjsj
se
ieijss
se
ies
se
ieii xa
aa
axbaa
baa
bx
Techniques d’optimisation
371
3.1.2 Formules de pivotage
Expression du coût • Dans l’ancienne base B :
• Dans la nouvelle base B’ :
En identifiant les coefficients :
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
∑∈
+=Nj
jjxczz
{ } { } { }∑∑∑
−∈−∈−∈
+
−−+=++=
eNjjj
eNjj
se
sjs
ses
see
eNjjjee xcx
aa
xa1b
a1czxcxczz
∑∈
+=N'j
jj x'c'zz
{ }
−∈→−=
=→−=
+=
eNjaa
cc'c
sjac
'c
ab
cz'z
se
sjejj
se
es
se
se
{ }∑
−∈
−+−+=⇒
eNjj
se
sjejs
se
e
se
se x
aa
ccxac
ab
czz
Techniques d’optimisation
372
3.1.2 Formules de pivotage
Récapitulatif • Nouvelles variables de base : i∈B’=B−{s}+{e} • Nouveau coût On dispose dans un tableau les éléments nécessaires au pivotage → tableau du simplexe.
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
{ }
{ }
−∈→−=
=→−=
−=
→−∈
eNjaaa
a'a
sjaa
'a
baa
b'b
sBi
sjse
ieijij
se
ieis
sse
ieii
{ }
−∈→=
=→=
=
→=
eNjaa
'a
sja1'a
ab
'b
ei
se
sjej
sees
se
se
{ }
−∈→−=
=→−=
+=
eNjaa
cc'c
sjac
'c
ab
cz'z
se
sjejj
se
es
se
se
Techniques d’optimisation
373
3.1.2 Méthode des tableaux
Tableau du simplexe • On écrit le problème sous forme canonique dans la base B : • La solution de base associée à B est : • Le tableau du simplexe est : Aj = jème colonne de A AE = (B N) avec E = matrice de permutation de colonnes ⇒ B−1A = (I B−1N) ET • En permutant les colonnes :
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
zcbAB
T T
1
−=
−
0xNBbxsousxczzmin N1
BNTN0x N
≥−=+= −
≥
−===
−
−
NBcccbczbBb
avec1T
BTN
TN
TB
1
BTBnj1
Bn1
j1
11
xccccxABABAB
nxjx1x
−=
−−−
===
zz0xbx
N
B
zzxcbxNBx
zc0bNBI
T
xx
NTN
N1
BTN
1NB
−=→=+→
−=
−−
Techniques d’optimisation
374
3.1.2 Méthode des tableaux
Description du tableau Le tableau du simplexe est noté T(i,j) : i=1 à m+1 , j=1 à n+1 • T(1:m,1:n) : Matrice B−1A → m×n
en plaçant les variables de base en premier
• T(m+1,1:n) : Coûts réduits → 1×n
• T(1:m,n+1) : Solution de base → m×1
• T(m+1,n+1) : Opposé du coût → 1×1
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
zcccb
bABABAB
xxx
nj1
m
1
n1
j1
11
nj1
−
−−−
−==⇒−= −
−
NBccc0cABccc 1T
BTN
TN
TB1T
BT
( ) T11 ENBIAB −− =
=
=
0b
xx
xN
B
bczz TB−=−=− zzxc
bxNBxzc0
bNBIT
xx
NTN
N1
BTN
1NB
−=→=+→
−=
−−
Techniques d’optimisation
375
3.1.2 Méthode des tableaux
Utilisation du tableau Le tableau du simplexe permet de : • Repérer les variables de base → colonnes = matrice identité, coûts réduits nuls • Vérifier si la base est admissible → valeurs positives ou nulles des variables de base • Vérifier si la base est optimale → valeurs strictement positives des coûts réduits • Sélectionner un pivotage pour passer à une base adjacente meilleure • Mettre à jour la forme canonique dans la nouvelle base
Méthode de pivotage • On choisit une variable hors base de coût réduit négatif → colonne e • On examine la variation des variables de base suivant la direction de s’annule pour : • La première variable de base à s’annuler sort de la base → ligne s
• Le pivotage e-s consiste à faire apparaître une colonne de la matrice identité en colonne e
→ forme canonique dans la nouvelle base → par combinaison linéaire des lignes du tableau
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
ie
ie a
bx =Bi,xabx eieii ∈−=
Techniques d’optimisation
376
'z'c0'c'b
'b
'b
0
1
0xxx
n1
m
s
1
ne1
−
zcccb
b
b
a
a
axxx
ne1
m
s
1
me
se
1e
ne1
−
3.1.2 Méthode des tableaux
Réalisation du pivotage La variable xe entre dans la nouvelle base B’=B−{s}+{e} Pour faire apparaître une colonne de la matrice identité en colonne e, on réalise des combinaisons linéaires des lignes du tableau, y compris la dernière colonne. • Division de la ligne s par le pivot • Addition de la ligne s aux autres lignes pour annuler les coefficients dans la colonne e • Annulation du coût réduit dans la colonne e
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
1'aa sese =→
Techniques d’optimisation
377
3.1.2 Méthode des tableaux
Algorithme de pivotage 1. Choix du pivot • Variable hors base entrante xe = 1er coût réduit négatif • Pas maximal admissible pour chaque variable de base :
• Variable de base sortante xs : 2. Réalisation du pivotage • Pivot = T(s,e)
• Lignes i=1,…,m+1, i≠s
• Ligne s du pivot → méthode similaire à la méthode du pivot de Gauss
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
0)e,i(Tsi,Bi,)e,i(T
)1n,i(Ti >∈
+=α
i0)e,i(T
Bis min α=α>
∈
1n,,1k,)k,s(T)e,s(T)e,i(T)k,i(T)k,i(T +=−=
1n,,1k,)e,s(T)k,s(T)k,s(T +==
Techniques d’optimisation
378
3.1.2 Exemple
Méthode des tableaux • Problème linéaire à 3 variables x1, x2, x3 • Forme standard
→ Variables d’écart x4, x5, x6 positives
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
≥≤++≤++≤++
−−−
0x,x,x20xx2x220x2xx220x2x2x
sousx12x12x10min
321
321
321
321
321x,x,x 321
≥=+++=+++=+++
−−−
0x,x,x,x,x,x20xxx2x220xx2xx220xx2x2x
sousx12x12x10min
654321
6321
5321
4321
321x,x,x,x,x,x 654321
Techniques d’optimisation
379
3.1.2 Exemple
Méthode des tableaux • Tableau du simplexe Base initiale admissible (x4 , x5 , x6) • Solution de base non optimale : coûts réduits négatifs (= directions de descente)
• Variable entrante: 1er coût réduit négatif → x1 • Variable sortante : 1ère variable de base à s’annuler → x5 • Pivot :
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
2a51 =
x1 x2 x3 x4 x5 x6
1 2 2 1 0 0 20 x4
2 1 2 0 1 0 20 x5
2 2 1 0 0 1 20 x6
-10 -12 -12 0 0 0 0 -z
Techniques d’optimisation
380
x1 x2 x3 x4 x5 x6
0 1.5 1 1 -0.5 0 10 x4
1 0.5 1 0 0.5 0 10 x1
0 1 -1 0 -1 1 0 x6
0 -7 -2 0 5 0 100 z
3.1.2 Exemple
Méthode des tableaux • 1er pivotage : entrée x1, sortie x5 Nouvelle base (x1 , x4 , x6)
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
x1 x2 x3 x4 x5 x6 Pas
1 2 2 1 0 0 20 x4 → s14=20
2 1 2 0 1 0 20 x5 → s15=10
2 2 1 0 0 1 20 x6 → s16=10
-10 -12 -12 0 0 0 0 z
Techniques d’optimisation
381
3.1.2 Exemple
Méthode des tableaux • 2ème pivotage : entrée x2, sortie x6 Nouvelle base (x1 , x2 , x4)
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
x1 x2 x3 x4 x5 x6 Pas
0 1.5 1 1 -0.5 0 10 x4 → s24=20/3
1 0.5 1 0 0.5 0 10 x1 → s21=20
0 1 -1 0 -1 1 0 x6 → s26=0
0 -7 -2 0 5 0 100 z
x1 x2 x3 x4 x5 x6
0 0 2.5 1 1 -1.5 10 x4
1 0 1.5 0 1 -0.5 10 x1
0 1 -1 0 -1 1 0 x2
0 0 -9 0 -2 7 100 z
Techniques d’optimisation
382
3.1.2 Exemple
Méthode des tableaux • 3ème pivotage : entrée x3, sortie x4 Nouvelle base (x1 , x2 , x3) • Solution optimale :
x1 x2 x3 x4 x5 x6
0 0 1 0.4 0.4 -0.6 4 x3
1 0 0 -0.6 0.4 0.4 4 x1
0 1 0 0.4 -0.6 0.4 4 x2
0 0 0 3.6 1.6 1.6 136 z
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
x1 x2 x3 x4 x5 x6 Pas
0 0 2.5 1 1 -1.5 10 x4 → s34=4
1 0 1.5 0 1 -0.5 10 x1 → s31=20/3
0 1 -1 0 -1 1 0 x2 → s32=+∞
0 0 -9 0 -2 7 100 z
( )
−==→
136*z000444*x T
0c ≥
Techniques d’optimisation
383
3.1.2 Exemple
Méthode des tableaux Récapitulatif des itérations Commentaires • La mise sous forme standard nécessite d’introduire des variables supplémentaires
→ Variables d’écart positives • On dispose directement d’une base initiale admissible formée des variables d’écart
→ Ce n’est pas toujours le cas → Phase préliminaire pour construire une base initiale
• Certains pivotages ne réduisent pas le coût (exemple : pivotage numéro 2) → Base dégénérée + risque de cyclage ( = retrouver une base précédente) • La solution optimale ne comporte que les variables initiales
→ Ce n’est pas toujours le cas → Des pivotages supplémentaires peuvent être nécessaires
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
k B c x1 x2 x3 x4 x5 x6 dB smax e s z
0 4 5 6 -10 -12 -12 0 0 0 20 20 20 -1 -2 -2 10 1 5 0
1 1 4 6 -7 -2 5 10 0 0 10 0 0 -1.5 -0.5 -1 0 2 6 -100
2 1 2 4 -9 -2 7 10 0 0 10 0 0 -2.5 -1.5 1 4 3 4 -100
3 1 2 3 3.6 31.6 1.6 4 4 4 0 0 0 -136
Techniques d’optimisation
384
3.1.3 Initialisation
Problème auxiliaire
Tableau initial
Méthode des 2 phases
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
Techniques d’optimisation
385
3.1.3 Problème auxiliaire
Base initiale Le problème (PL) sous forme standard est : L’algorithme du simplexe nécessite une base initiale admissible. Pour trouver une solution admissible, on considère un problème auxiliaire.
Problème auxiliaire Le problème auxiliaire (PLa) sous forme standard est : • Les variables du problème auxiliaire sont :
- les n variables x du problème initial (PL) - m variables auxiliaires y → 1 variable par contrainte
• La fonction coût du problème auxiliaire est positive, bornée inférieurement par 0 (car y≥0).
• Si x0 est un point admissible de (PL), alors (x=x0, y=0) est une solution de (PLa) à coût nul donc une solution optimale de (PLa) On peut donc trouver un point admissible en résolvant le problème auxiliaire (PLa).
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
≥=
∈ 0xbAxsousxcmin T
Rx n
≥=++
∈∈ 0y,x
byAxsousyex0min TT
RyRx
m
n
Techniques d’optimisation
386
3.1.3 Problème auxiliaire
Problème auxiliaire Le problème auxiliaire (PLa) est sous forme standard : • On peut supposer b≥0 (au besoin en multipliant les contraintes égalité par -1). Tableau initial du problème auxiliaire • Le problème (PLa) est sous forme canonique dans la base B associée aux variables y : - variables de base y → matrice B=I , coûts réduits=1 - variables hors base x → matrice N=A, coûts réduits=0 • La solution de base associée à la base B (x=0, y=b) est admissible : y=b≥0
• On peut appliquer l’algorithme du simplexe au problème (PLa) à partir de la base B. • Tableau initial du simplexe pour le problème (PLa) :
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
≥=++
∈∈ 0y,x
byAxsousyex0min TT
RyRx
m
n
x y
A I b y
0T eT 0 -z
Techniques d’optimisation
387
3.1.3 Problème auxiliaire
Solution du problème auxiliaire S’il existe un point admissible pour (PL), alors : • le coût optimal du problème auxiliaire (PLa) est nul, • la solution (x0,y0) de (Pla) donne un point x0 admissible du problème (PL) Par contraposée, si le coût optimal de (PLa) n’est pas nul, (PL) n’a pas de point admissible. Variables auxiliaires • Les variables y sont nulles à l’optimum. Elles sont : - soit hors base
- soit en base (solution dégénérée)
• Pour obtenir une base admissible du problème (PL) qui ne contienne que des variables x, il faut échanger les variables y en base par des pivotages avec des variables x. Ces pivotages sont de pas nul, le tableau n’est pas modifié.
• On obtient une base B ne contenant que des variables x du problème (PL).
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
≥=
=⇒
≥=+
=+
0xbAx
0y
0y,xbyAx
0yex0
0
0
0
00
00
0T
0T
→ contraintes du problème (PL)
Techniques d’optimisation
388
3.1.3 Exemple
Problème auxiliaire • Problème linéaire à 4 variables x1, x2, x3 ,x4
• Problème auxiliaire
→ Variables auxiliaires y1, y2, y3 ,y4 positives
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
≥=+=+=++−=++
++
0x,x,x,x1xx35x9x42x6x2x3x3x2x
sousxxxmin
4321
43
32
321
321
321x,x,x,x 4321
≥=++=++=+++−=+++
+++
0y,y,y,y,x,x,x,x1yxx35yx9x42yx6x2x3yx3x2x
sousyyyymin
43214321
443
332
2321
1321
4321y,y,y,yx,x,x,x
43214321
Techniques d’optimisation
389
3.1.3 Exemple
Problème auxiliaire • Tableau initial du simplexe pour le problème auxiliaire • Solution de base non optimale : coûts réduits négatifs (= directions de descente) • Variable entrante
1er coût réduit négatif → x2 • Variable sortante
1ère variable de base à s’annuler → y2
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
x1 x2 x3 x4 y1 y2 y3 y4
1 2 3 0 1 0 0 0 3 y1
-1 2 6 0 0 1 0 0 2 y2
0 4 9 0 0 0 1 0 5 y3
0 0 3 1 0 0 0 1 1 y4
0 -8 -21 -1 0 0 0 0 -11 -z
Techniques d’optimisation
390
3.1.3 Exemple
Problème auxiliaire • Itérations du simplexe pour le problème auxiliaire
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
x1 x2 x3 x4 y1 y2 y3 y4
1 2 3 0 1 0 0 0 3 y1
-1 2 6 0 0 1 0 0 2 y2
0 4 9 0 0 0 1 0 5 y3
0 0 3 1 0 0 0 1 1 y4
0 -8 -21 -1 0 0 0 0 -11 -z
x1 x2 x3 x4 y1 y2 y3 y4
2 0 -3 0 1 -1 0 0 1 y1
-1/2 1 3 0 0 1/2 0 0 1 x2
2 0 -3 0 0 -2 1 0 1 y3
0 0 3 1 0 0 0 1 1 y4
-4 0 3 -1 0 4 0 0 -3 -z
Techniques d’optimisation
391
3.1.3 Exemple
Problème auxiliaire • Itérations du simplexe pour le problème auxiliaire
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
x1 x2 x3 x4 y1 y2 y3 y4
2 0 -3 0 1 -1 0 0 1 y1
-1/2 1 3 0 0 1/2 0 0 1 x2
2 0 -3 0 0 -2 1 0 1 y3
0 0 3 1 0 0 0 1 1 y4
-4 0 3 -1 0 4 0 0 -3 -z
x1 x2 x3 x4 y1 y2 y3 y4
1 0 -3/2 0 1/2 -1/2 0 0 1/2 x1
0 1 9/4 0 1/4 1/4 0 0 5/4 x2
0 0 0 0 -1 -1 1 0 0 y3
0 0 3 1 0 0 0 1 1 y4
0 0 -3 -1 2 2 0 0 -1 -z
Techniques d’optimisation
392
3.1.3 Exemple
Problème auxiliaire • Itérations du simplexe pour le problème auxiliaire
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
x1 x2 x3 x4 y1 y2 y3 y4
1 0 -3/2 0 1/2 -1/2 0 0 1/2 x1
0 1 9/4 0 1/4 1/4 0 0 5/4 x2
0 0 0 0 -1 -1 1 0 0 y3
0 0 3 1 0 0 0 1 1 y4
0 0 -3 -1 2 2 0 0 -1 -z
x1 x2 x3 x4 y1 y2 y3 y4
1 0 0 1/2 1/2 -1/2 0 1/2 1 x1
0 1 0 -3/4 1/4 1/4 0 -3/4 1/2 x2
0 0 0 0 -1 -1 1 0 0 y3
0 0 1 1/3 0 0 0 1/3 1/3 x3
0 0 0 0 2 2 0 1 0 -z
Techniques d’optimisation
393
3.1.3 Exemple
Problème auxiliaire • Echange des variables auxiliaires y en base avec des variables x
• Tous les pivots sont nuls sur la ligne 3 → La contrainte 3 est redondante (= somme des 2 premières contraintes) → La matrice A n’est pas de rang plein
• La procédure permet d’identifier les contraintes redondantes → Suppression de la contrainte 3 → Suppression de la variable auxiliaire y3
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
x1 x2 x3 x4 y1 y2 y3 y4
1 0 0 1/2 1/2 -1/2 0 1/2 1 x1
0 1 0 -3/4 1/4 1/4 0 -3/4 1/2 x2
0 0 0 0 -1 -1 1 0 0 y3
0 0 1 1/3 0 0 0 1/3 1/3 x3
0 0 0 0 2 2 0 1 0 -z
Techniques d’optimisation
394
3.1.3 Exemple
Problème auxiliaire • Tableau solution du problème auxiliaire • Base x1, x2, x3 → coût nul → point admissible du problème initial
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
x1 x2 x3 x4 y1 y2 y3 y4
1 0 0 1/2 1/2 -1/2 0 1/2 1 x1
0 1 0 -3/4 1/4 1/4 0 -3/4 1/2 x2
0 0 0 0 -1 -1 1 0 0 y3
0 0 1 1/3 0 0 0 1/3 1/3 x3
0 0 0 0 2 2 0 1 0 -z
x1 x2 x3 x4 y1 y2 y4
1 0 0 1/2 1/2 -1/2 1/2 1 x1
0 1 0 -3/4 1/4 1/4 -3/4 1/2 x2
0 0 1 1/3 0 0 1/3 1/3 x3
0 0 0 0 2 2 1 0 -z
Techniques d’optimisation
395
3.1.3 Tableau initial
Tableau solution du problème (PLa) • La base B solution de (PLa) est composée uniquement de variables x du problème initial (PL). • Le tableau correspondant à la solution de (PLa) est :
× → valeurs à modifier pour passer au problème (PL) Tableau initial du problème (PL) Pour construire le tableau du simplexe du problème (PL) • On supprime les colonnes correspondant aux variables y : • On calcule les coûts réduits dans la base B :
On calcule le coût dans la base B :
Pour faciliter les calculs, on rappelle les coûts sur la 1ère ligne. cB cN
I B-1N B-1b xB
0 cN−cBTB-1N −cB
TB-1b -z
xB xN
I B-1N B-1b xB
0 -z -z
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
xB xN y
I B-1N × B-1b xB
0 × × × -z
∈∈−=−=
−−
Bjsi0NjsiABccABccc j
1TBj1T
B
xB xN
I B-1N B-1b xB
0 × × -z
Nc
bBcz 1TB
−=
Techniques d’optimisation
396
3.1.3 Méthode des 2 phases
Prétraitement • Mettre le problème sous forme standard • Prémultiplier les contraintes (2nd membre positif) Phase 1 : Problème auxiliaire • Introduire une variable auxiliaire y par contrainte
• Construire le tableau initial du problème auxiliaire • Résoudre le problème auxiliaire • Faire sortir les variables auxiliaires de la base • Supprimer les contraintes redondantes (pivots tous nuls sur une ligne) • Supprimer les colonnes correspondant aux variables auxiliaires y
→ Base ne contenant que des variables x Phase 2 : Problème initial • Calculer la dernière ligne du tableau (coûts réduits, coût) • Résoudre le problème initial
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
x y
A I b y
-eTA 0 -eTb -z
xB xN
I B-1N B-1b y
0 cN−cBTB-1N −cB
TB-1b -z
≥=++
∈∈ 0y,x
byAxsousyex0min TT
RyRx
m
n
≥≥=
∈ 0x0b,bAxsousxcmin T
Rx n
Techniques d’optimisation
397
3.1.3 Exemple
Méthode des 2 phases • Problème linéaire à 5 variables x1, x2, x3 ,x4 ,x5
• Problème auxiliaire
→ Variables auxiliaires y1, y2, y3 positives
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
≥=+−−=+−+=+++
−+++
0x,x,x,x,x1x3x4x2xx3x2x2xx4x3x
sousx2xx3x3x2min
54321
321
5421
5421
54321x,x,x,x,x 54321
≥=++−−=++−+=++++
++
0y,y,y,x,x,x,x,x1yx3x4x2yxx3x2x2yxx4x3x
sousyyymin
32154321
3321
25421
15421
321y,y,y
x,x,x,x,x321
54321
Techniques d’optimisation
398
3.1.3 Exemple
Méthode des 2 phases • Tableau initial du problème auxiliaire • Solution de base non optimale : coûts réduits négatifs (= directions de descente) • Variable entrante
1er coût réduit négatif → x1 • Variable sortante
1ère variable de base à s’annuler → y1
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
x1 x2 x3 x4 x5 y1 y2 y3
1 3 0 4 1 1 0 0 2 y1
1 2 0 -3 1 0 1 0 2 y2
-1 -4 3 0 0 0 0 1 1 y3
-1 -1 -3 -1 -2 0 0 0 -5 -z
Techniques d’optimisation
399
3.1.3 Exemple
Méthode des 2 phases • Itérations du problème auxiliaire
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
x1 x2 x3 x4 x5 y1 y2 y3
1 3 0 4 1 1 0 0 2 y1
1 2 0 -3 1 0 1 0 2 y2
-1 -4 3 0 0 0 0 1 1 y3
-1 -1 -3 -1 -2 0 0 0 -5 -z
x1 x2 x3 x4 x5 y1 y2 y3
1 3 0 4 1 1 0 0 2 x1
0 -1 0 -7 0 -1 1 0 0 y2
0 -1 3 4 1 1 0 1 3 y3
0 2 -3 3 -1 1 0 0 -3 -z
Techniques d’optimisation
400
3.1.3 Exemple
Méthode des 2 phases • Itérations du problème auxiliaire
• Solution optimale du problème auxiliaire (coûts réduits positifs ou nuls)
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
x1 x2 x3 x4 x5 y1 y2 y3
1 3 0 4 1 1 0 0 2 x1
0 -1 0 -7 0 -1 1 0 0 y2
0 -1 3 4 1 1 0 1 3 y3
0 2 -3 3 -1 1 0 0 -3 -z
x1 x2 x3 x4 x5 y1 y2 y3
1 3 0 4 1 1 0 0 2 x1
0 -1 0 -7 0 -1 1 0 0 y2
0 -1/3 1 4/3 1/3 1/3 0 1/3 1 x3
0 1 0 7 0 2 0 1 0 -z
Techniques d’optimisation
401
3.1.3 Exemple
Méthode des 2 phases • Base initiale : échange y2 – x2
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
x1 x2 x3 x4 x5 y1 y2 y3
1 3 0 4 1 1 0 0 2 x1
0 -1 0 -7 0 -1 1 0 0 y2
0 -1/3 1 4/3 1/3 1/3 0 1/3 1 x3
0 1 0 7 0 2 0 1 0 -z
x1 x2 x3 x4 x5 y1 y2 y3
1 0 0 -17 1 2 3 0 2 x1
0 1 0 7 0 -1 -1 0 0 x2
0 0 1 3.67 1/3 2/3 -1/3 1/3 1 x3
0 0 0 0 0 1 1 1 0 -z
Techniques d’optimisation
402
3.1.3 Exemple
Méthode des 2 phases • Base initiale : suppression variables auxiliaires
• Calcul de la dernière ligne du tableau On rappelle les coûts en 1ère ligne pour faciliter le calcul (multiplication par les colonnes)
coûts réduits = cN−cB
TB-1N coût =−cB
TB-1b
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
x1 x2 x3 x4 x5
1 0 0 -17 1 2 x1
0 1 0 7 0 0 x2
0 0 1 3.67 1/3 1 x3
0 0 0 0 0 0 -z
x1 x2 x3 x4 x5
c = 2 3 3 1 -2
1 0 0 -17 1 2 x1
0 1 0 7 0 0 x2
0 0 1 3.67 1/3 1 x3
0 0 0 3 -5 -7 -z
Techniques d’optimisation
403
3.1.3 Exemple
Méthode des 2 phases • Itérations du problème initial
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
x1 x2 x3 x4 x5
1 0 0 -17 1 2 x1
0 1 0 7 0 0 x2
0 0 1 3.67 1/3 1 x3
0 0 0 3 -5 -7 -z
x1 x2 x3 x4 x5
1 0 0 -17 1 2 x5
0 1 0 7 0 0 x2
-1/3 0 1 9.33 0 1/3 x3
5 0 0 -82 0 3 -z
Techniques d’optimisation
404
3.1.3 Exemple
Méthode des 2 phases • Itérations du problème initial
• Solution optimale :
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
x1 x2 x3 x4 x5
1 0 0 -17 1 2 x5
0 1 0 7 0 0 x2
-1/3 0 1 9.33 0 1/3 x3
5 0 0 -82 0 3 -z
x1 x2 x3 x4 x5
1 2.43 0 0 1 2 x5
0 0.14 0 1 0 0 x4
-1/3 -1.33 1 0 0 1/3 x3
5 11.71 0 0 0 3 -z
0c ≥ ( )
−==→
3*z203/100*x T
Techniques d’optimisation
405
3.1.4 Simplexe révisé
Méthode révisée du simplexe • L’algorithme du simplexe nécessite un grand nombre d’opérations matricielles
→ problèmes de temps de calcul → problèmes de place mémoire → problèmes de précision numérique
• La méthode révisée du simplexe permet de réduire le nombre d’opérations. Rappels • Forme standard :
• Multiplicateurs : • Forme canonique dans la base B :
• Solution de base associée à B :
3 Optimisation avec contraintes 3.1 Simplexe 3.1.4 Simplexe révisé
0xNBbxsousxczzmin N1
BNTN0x N
≥−=+= −
≥
−===
−
−
NBcccbczbBb
avec1T
BTN
TN
TB
1
===
zz0xbx
N
B
→≥λ→=
∈ s0xbAxsousxcmin T
Rx n
( )
=−==λ
−
−
NBT1
NN
BT
ccNBcscB
Techniques d’optimisation
406
3.1.4 Simplexe révisé
Itération du simplexe • On connaît les colonnes de A correspondant à la base courante admissible → matrice B
Pour réaliser une itération du simplexe, on doit déterminer : - la solution de base courante - les coûts réduits des variables hors base pour choisir la variable entrante - les pas maximaux sur les variables de base pour choisir la variable sortante
• Solution de base : • Coûts réduits :
On choisit la variable hors base entrante xe (coût réduit négatif) → colonne Ae de la matrice A • Direction de base de :
Le pas maximal suivant de correspond au rapport xB / deB positif, minimal La variable de base sortante xs est la première à s’annuler.
3 Optimisation avec contraintes 3.1 Simplexe 3.1.4 Simplexe révisé
=== −
0xbBbx
N
1B
NcNBccc TTN
1TB
TN
TN λ−=−= −
( )
=−=
=
−
010dABdavecd
ddeN
e1
eB
eN
eBe
bxB B =→
BcB =λ→
eeB ABd −=→
Techniques d’optimisation
407
3.1.4 Simplexe révisé
Méthode révisée du simplexe • Le pivotage peut être réalisé en résolvant 3 systèmes linéaires de même matrice B.
→ réduction des calculs nécessaires → différentes méthodes possibles d’inversion et de stockage de la matrice B • Il suffit de stocker en mémoire : - les matrices initiales A, b ,c
- les numéros des colonnes de base. → limitation de la place mémoire → réduction des erreurs numériques, car on repart systématiquement des matrices initiales. • La méthode révisée est implémentée dans les logiciels de programmation linéaire
utilisant l’algorithme du simplexe.
3 Optimisation avec contraintes 3.1 Simplexe 3.1.4 Simplexe révisé
s
eN
eB
B
eeB
B
B
xxc
d
x
ABdcBbxB
→→→
→λ→
→
−==λ=
Techniques d’optimisation
408
3.1.5 Simplexe dual
Méthode du simplexe dual L’algorithme du simplexe dual consiste à appliquer la méthode du simplexe au problème dual. • Correspondances primal (P) − dual (D) :
Le tableau est utilisable dans les 2 sens : de (P) vers (D) ou de (D) vers (P) car le dual de (D) est (P). • Forme canonique de (P) dans la base B
Pour appliquer la méthode du simplexe au problème dual, on doit écrire la forme canonique du problème dual dans la base B.
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
≥=++=
−
≥ 0xbxNBxsousxczzmin N
1B
NTN0x N
−===
−
−
NBcccbczbBb
avec1T
BTN
TN
TB
1
cyAnRxcyAn0x
0ymbAxRymbAx
ybmax1xcmin
T
T
T
y
T
Rx n
=∈≤≥
≥≤∈=
∈
Primal (P ) Dual (D)
Techniques d’optimisation
409
3.1.5 Simplexe dual
Forme canonique du dual • On part de la forme canonique du problème primal (P) dans la base B.
• On peut considérer les variables de base xB comme des variables d’écart positives.
On obtient un problème (P’) ne portant que sur les variables hors base xN.
• On écrit (P’) comme un problème de maximisation,
pour obtenir un problème de minimisation en passant au dual.
• On passe au dual (D’) de (P’) → en utilisant le tableau de correspondances dans le sens de (D) vers (P)
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
≥≤−
−
0xbxNBsousxcmax)'P(
N
N1
NTNx N
→ m contraintes → n−m variables
≥≤−
0xbxNBsousxcmin)'P(
N
N1
NTNx N
→ m contraintes → n−m variables
≥=++
−
0x,xbxNBxsousxczmin)P(
NB
N1
BN
TNx,x NB
→ m contraintes → n variables
Techniques d’optimisation
410
3.1.5 Simplexe dual
Forme canonique du dual • Le dual (D’) de (P’) s’écrit :
• On met (D’) sous forme standard avec des variables d’écart yN positives. On obtient un problème (D) à n variables.
• Le problème (D) est sous forme canonique dans la base B : - variables de base → yN
- variables hors base → yB On peut écrire le tableau simplexe pour le problème (D) et appliquer les règles de pivotage.
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
( )
≥−≤−
0ycyNBsousybmin)'D(
B
NBT1
BT
yB
→ n−m contraintes → m variables
≥≤−
−
0xbxNBsousxcmax)'P(
N
N1
NTNx N
→ m contraintes → n−m variables
( )
≥=− −
0y,ycyNBysousybmin)D(
NB
NBT1
NBT
y,y NB
→ n−m contraintes → n variables
→ notations inversées par rapport au problème primal
Techniques d’optimisation
411
3.1.5 Simplexe dual
Tableau simplexe du dual • Forme canonique de (D) dans la base B.
• Tableau TD du simplexe de (D) dans la base B :
Variables de base : yN → valeurs Variables hors base : yB → coûts réduits Matrice des contraintes : −AT → −(B−1N)T • La solution de base associée à la base B est : • La base B est admissible si → base dual-admissible
• On applique les règles de pivotage du simplexe.
- variable hors base entrante : coût réduit négatif - variable de base sortante : première variable à s’annuler
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
( )
≥=− −
0y,ycyNBysousybmin)D(
NB
NBT1
NBT
y,y NB
→ n−m contraintes → n variables
zb0c)NB(I
T
yyTN
T1
D
BN
−−
=−
==
0ycy
B
NN
0cy NN ≥=
bNc
Techniques d’optimisation
412
3.1.5 Simplexe dual
Pivotage sur le tableau dual Les notations sont inversées par rapport au problème primal - indices B → variables hors base - indices N → variables de base 1. Choix du pivot • Variable hors base entrante ye = 1er coût réduit négatif
• Pas maximal admissible pour chaque variable de base :
• Variable de base sortante ys : 2. Réalisation du pivotage • Pivot = • Elimination pour faire apparaître des zéros sur la colonne e du pivot
0asi,Ni,a
cie
ie
Nii >−∈
−=α
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
zb0c)NB(I
T
yyTN
T1
D
BN
−−
=−
Be,0be ∈<
i0a
Nis
ie
min α=α<
∈
0ase <
ie
Ni
0aNi
ie
Ni
0aNi a
cmax
ac
minNsieie <∈
<∈
⇔−
→∈Ligne s de la variable sortante :
Techniques d’optimisation
413
3.1.5 Simplexe dual
Pivotage sur le tableau primal • On observe que le pivotage dual peut être réalisé à partir du tableau primal
sans écrire explicitement le tableau dual. • Choisir la 1ère variable de base négative xe : → ligne e → variable sortante • Déterminer la 1ère variable hors base xs à s’annuler : → colonne s → variable entrante • Effectuer le pivotage e−s de façon usuelle.
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
zc0bNBI
T
xx
TN
1
P
NB
−=
− → m contraintes → m variables de base xB
zb0c)NB(I
T
yyTN
T1
D
BN
−−
=− → n−m contraintes
→ n−m variables de base yN
Be,0be ∈<
ie
Ni
0aNi a
cmaxs
ie <∈
→
Techniques d’optimisation
414
3.1.5 Simplexe dual
Comparaison simplexe primal et dual • L’algorithme du simplexe primal maintient une base primal−admissible :
L’optimum est atteint lorsque les coûts réduits sont positifs ou nuls : • L’algorithme du simplexe dual maintient une base dual−admissible :
L’optimum est atteint lorsque les variables de base sont positives ou nulles : Intérêt du simplexe dual L’algorithme du simplexe dual est adapté si l’on dispose d’une base dual−admissible. Ceci se produit lorsque l’on modifie un problème linéaire déjà résolu par le simplexe primal. • en ajoutant des contraintes au problème • en modifiant les seuils des contraintes • en fixant des variables à une valeur différente de la solution Ces modifications : - ne changent pas les coûts réduits (→ ) - rendent certaines variables de base négatives → La solution de base n’est plus primal−admissible, mais reste dual−admissible. Application : problèmes de programmation linéaire mixte (entiers et réels)
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
0b ≥0cN ≥
0cN ≥0b ≥
0cN ≥
Techniques d’optimisation
415
3.1.5 Exemple
Simplexe dual • Problème linéaire à 5 variables x1,x2,x3,x4,x5 • On choisit comme base initiale (x2,x3,x4).
La solution de base associée est : → base non primal admissible
• La matrice des contraintes est :
• Pour construire le tableau du simplexe, il faut mettre le problème sous forme canonique dans
la base (x2,x3,x4) en faisant apparaître des zéros par élimination dans les colonnes 2, 3 et 4.
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
≥=++−=+−−
=+
++++
0x,x,x,x,x0xxx0xxx
1xx
sousxx3x2x2xmin
54321
431
532
21
54321x,x,x,x,x 54321
=−=
=⇒
==
1x1x
1x
0x0x
4
3
2
5
1
−−−=
011011011000011
A
=
001
b
Techniques d’optimisation
416
3.1.5 Exemple
Simplexe dual • Problème linéaire à 5 variables x1,x2,x3,x4,x5 • Tableau de départ
• On fait apparaître : - une matrice identité sur les colonnes de x2 , x3 , x4 - des zéros sur les coûts de x2 , x3 , x4
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
≥=++−=+−−
=+
++++
0x,x,x,x,x0xxx0xxx
1xx
sousxx3x2x2xmin
54321
431
532
21
54321x,x,x,x,x 54321
x1 x2 x3 x4 x5
1 1 0 0 0 1
0 -1 -1 0 1 0
-1 0 1 1 0 0
1 2 2 3 1 0
→ contraintes
→ coût
Techniques d’optimisation
417
3.1.5 Exemple
Simplexe dual
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
x1 x2 x3 x4 x5
1 1 0 0 0 1
1 0 -1 0 1 1
-1 0 1 1 0 0
-1 0 2 3 1 -2
x1 x2 x3 x4 x5
1 1 0 0 0 1
0 -1 -1 0 1 0
-1 0 1 1 0 0
1 2 2 3 1 0
Elimination x2
Elimination x3
x1 x2 x3 x4 x5
1 1 0 0 0 1
1 0 -1 0 1 1
-1 0 1 1 0 0
-1 0 2 3 1 -2
x1 x2 x3 x4 x5
1 1 0 0 0 1
-1 0 1 0 -1 -1
0 0 0 1 1 1
1 0 0 3 3 0
Elimination x4
x1 x2 x3 x4 x5
1 1 0 0 0 1
-1 0 1 0 -1 -1
0 0 0 1 1 1
1 0 0 3 3 0
x1 x2 x3 x4 x5
1 1 0 0 0 1
-1 0 1 0 -1 -1
0 0 0 1 1 1
1 0 0 0 0 -3
Techniques d’optimisation
418
3.1.5 Exemple
Simplexe dual • Tableau du simplexe dans la base (x2,x3,x4).
• On vérifie bien que la dernière ligne correspond à • La base est : - non admissible pour le primal (x3 < 0)
- admissible pour le dual ( ) On peut appliquer l’algorithme dual du simplexe pour résoudre le problème.
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
x1 x2 x3 x4 x5
c = 1 2 2 3 1
1 1 0 0 0 1 x2
-1 0 1 0 -1 -1 x3
0 0 0 1 1 1 x4
1 0 0 0 0 -3 -z
0cN ≥
cB cN
I B-1N B-1b xB
0 cN−cBTB-1N −cB
TB-1b -z
−=−−=
−
−
bBczNBccc
1TB
1TBNN
Techniques d’optimisation
419
3.1.5 Exemple
Simplexe dual • Tableau du simplexe dans la base (x2,x3,x4). Base dual−admissible (x2,x3,x4) • Solution de base non optimale : variables de base négatives
• Variable sortante : 1ère variable de base négative → x3 • Variable entrante : 1er coût réduit à s’annuler → x5 • Pivot : 1a 25 −=
x1 x2 x3 x4 x5
1 1 0 0 0 1 x2
-1 0 1 0 -1 -1 x3
0 0 0 1 1 1 x4
1 0 0 0 0 -3 -z
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
ie
Ni
0aNi a
cmaxs
ie <∈
→
Be,0be ∈<
Techniques d’optimisation
420
3.1.5 Exemple
Simplexe dual • 1er pivotage : entrée x5, sortie x3 Nouvelle base (x2,x4,x5) - primal−admissible - dual−admissible → optimale Solution :
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
x1 x2 x3 x4 x5
1 1 0 0 0 1 x2
-1 0 1 0 -1 -1 x3
0 0 0 1 1 1 x4
1 0 0 0 0 -3 -z
x1 x2 x3 x4 x5
1 1 0 0 0 1 x2
1 0 -1 0 1 1 x5
-1 0 1 1 0 0 x4
1 0 0 0 0 -3 -z
0b ≥0cN ≥
( )3*z
10010*x==
Techniques d’optimisation
421
Sommaire 1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes
3.1 Simplexe 3.2 Point intérieur 3.2.1 Barrière 3.2.2 Chemin central 3.2.3 Algorithmes 3.2.4 Extensions 3.3 Gradient projeté 3.4 Lagrangien augmenté 3.5 Programmation quadratique séquentielle 3.6 Convergence
3 Optimisation avec contraintes 3.2 Point intérieur
Techniques d’optimisation
422
3.2.1 Barrière
Points intérieurs
Fonction barrière
Méthode barrière
Problème linéaire
Exemple
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière
Techniques d’optimisation
423
3.2.1 Points intérieurs
Problème avec contraintes Points intérieurs • Ensemble des points admissibles : • Ensemble des point intérieurs : → contraintes égalité conservées (définition élargie d’un point intérieur par voisinage) → contraintes inégalité strictes Hypothèses • Xint n’est pas vide • Tout point admissible peut être approché arbitrairement par un point intérieur
→ hypothèses vérifiées dans le cas convexe (ensemble Xint et contraintes cE, cI)).
{ }0)x(c,0)x(c,Xx/RxX IEn
adm ≤=∈∈=
∈≤=
∈ Xx0)x(c0)x(c
sousf(x)min I
E
Rx n
{ }0)x(c,0)x(c,Xx/RxX IEn
int <=∈∈=
ε≤−∈∃>ε∀∈∀ xx~/Xx~,0,Xx intadm
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière
Techniques d’optimisation
424
3.2.1 Fonction barrière
Fonction barrière Une fonction B : Xint dans R est une fonction barrière si La fonction barrière tend vers l’infini lorsque l’on s’approche du bord de Xadm i.e. lorsque les contraintes inégalité cI(x) deviennent actives. Exemple Contrainte de borne x < a Fonctions barrières usuelles • Barrière logarithmique :
• Barrière inverse :
+∞=→∈
)x(Blim0)x(c,Xx Iint
( )∑=
−=m
1kIk )x(cln)x(B
∑=
−=m
1k Ik )x(c1)x(B
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière
a x
B(x)
Techniques d’optimisation
425
3.2.1 Méthode barrière
Méthode barrière La méthode barrière consiste à combiner la fonction coût avec une fonction barrière. La fonction barrière est pénalisée par un paramètre h > 0 → hauteur de la barrière • Problème avec contraintes inégalités : → solution x*
• Problème barrière associé : → solution x(h)
→ Problème avec contraintes égalité plus simple (contraintes actives) Pour h=0, on retrouve le problème initial Hauteur de la barrière • La barrière empêche la solution x(h) de s’approcher du bord du domaine admissible.
(contraintes inégalités actives) • On résout une suite de problèmes avec des hauteurs de barrières décroissantes
→ solutions x(hk)
• Méthodes peu utilisées sous cette forme → approche des méthodes de points intérieurs application sur problème linéaire, puis non linéaire
∈≤=
∈ Xx0)x(c0)x(c
sousf(x)min I
E
Rx n
∈=+=
∈ Xx0)x(csoushB(x)f(x)(x)fmin E
hRx n
0hlim,hh),h( kkk1kk =<∞→+
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière
Techniques d’optimisation
426
3.2.1 Problème linéaire
Problème linéaire Forme standard : → problème (PL) • Ensemble des point admissibles : = polytope des contraintes
• Ensemble des point intérieurs : Problème barrière • Barrière logarithmique : • Problème barrière associé : → problème (PBh) Solution • h > 0 → solution xh • h = 0 → solution x* du problème initial • h →∞ → solution x∞ = centre analytique du polytope P
{ }0x,bAx/RxX nint >=∈=
nmnmT
RxRc,Rb,RAavec0x
bAxsousxcminn
∈∈∈
≥= ×
∈
{ }0x,bAx/RxX nadm ≥=∈=
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière
( )∑=
−=n
1iixln)x(B
>=−= ∑
=∈ 0xbAxsous)xln(hxc(x)fmin
n
1ii
Th
Rx n
Techniques d’optimisation
427
3.2.1 Exemple
Problème linéaire
• Forme standard : • Polytope des contraintes : Problème barrière
• Barrière logarithmique : • Centre analytique x∞ :
≥=++++ 0x,x,x
1xxxsousx3x2xmin321
321321x,x,x 321
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière
( )
≥=++∈= 0x,x,x
1xxx/Rx,x,xP321
3213321
( )
≥=++++−++ 0x,x,x
1xxxsousxlnxlnxlnhx3x2xmin321
321321321x,x,x 321
( ) ( )
≥=++++−= 0x,x,x
1xxxsousxlnxlnxlnx,x,xBmin321
321321321x,x,x 321
( ) ( )( )212121x,x213 xx1lnxlnxlnx,xBminxx1x21
−−++−=→−−=
=−−
+−=∂∂
=−−
+−=∂∂
0xx1
1x1
xB
0xx1
1x1
xB
2122
2111
31x
31x31x
3
2
1=⇒
=
=⇒
=→ ∞ 3
131
31x
Techniques d’optimisation
428
3.2.1 Exemple
Représentation graphique • Polytope des contraintes : • Centre analytique x∞ :
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière
( )
≥=++∈= 0x,x,x
1xxx/RxxxP321
3213321
=∞ 3
131
31x
x1
A 1
B 1 x2
C 1
x3
O x∞
A B
C
x∞
Tracé dans le plan (A,B,C)
Techniques d’optimisation
429
3.2.2 Chemin central
Chemin central primal
Conditions d’optimalité
Chemin central primal-dual
Déplacement
Mesure de dualité
Voisinage
Exemple
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Techniques d’optimisation
430
3.2.2 Chemin central primal
Chemin central primal Le chemin central primal est l’ensemble des solutions xh lorsque la hauteur de barrière h décroît de l’infini à 0 → • Début : x∞ = centre analytique du polytope • Fin : x* = solution du problème linéaire
Pour construire précisément le chemin central, il faudrait résoudre l’ensemble des problèmes successifs (PBh) sous contraintes égalité pour h≥0 → non réalisable en pratique (trop coûteux) Algorithme de point intérieur On utilise le chemin central pour définir la direction du déplacement. On cherche à rester au voisinage du chemin central sans le suivre précisément.
>=−= ∑
=∈ 0xbAxsous)xln(hxc(x)fmin
n
1ii
Th
Rx n
{ }0h,x h ≥
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Techniques d’optimisation
431
3.2.2 Conditions d’optimalité
Problème barrière • Lagrangien : • On définit les matrices diagonales X et S à partir de x et s
=
−
n
1n
2
1
x0000x00
00x0000x
X
xsAx)b()xln(hxc
xsAx)b()x(f)s,,x(LTT
n
1ii
T
TTh
−−λ+−=
−−λ+=λ
∑=
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
>=−= ∑
=∈ 0xbAxsous)xln(hxc(x)fmin
n
1ii
Th
Rx n
→ multiplicateurs λ → multiplicateurs s
=
−
n
1n
2
1
s0000s00
00s0000s
S
=
11
11
e
Techniques d’optimisation
432
3.2.2 Conditions d’optimalité
Conditions d’optimalité • Condition d’ordre 1 :
• Condition complémentaire : On définit : • Comparaison des conditions d’ordre 1 du problème barrière (PBh) et du problème initial (PL)
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
0sAhXc0)s,,x(L T1x =−λ−−⇒=λ∇ −
0XSe0xs ii =⇒=
==−+λ⇒
+=+=
−
−
heeXS0csA
hXSShXss
h
hT
1h
1h
( )hhh
h
h
hh
hhT
h
s,,x
0s0xheSX0csA0bAx
λ→
≥≥==−+λ=−
( )*s,*,*x
0s0x0XS0csA0bAx
T
λ→
≥≥==−+λ=−
Problème barrière (PBh) Problème linéaire (PL)
Techniques d’optimisation
433
3.2.2 Chemin central primal-dual
Chemin central primal-dual • Les conditions d’optimalité du problème barrière (PBh) deviennent celles du problème initial
(PL) lorsque h tend vers 0.
• On cherche à résoudre le problème linéaire en considérant l’ensemble des variables primales et duales (x,λ,s) dans Rn+m+n
• Ensemble admissible :
• Ensemble des points intérieurs :
• Le chemin central primal-dual est l’ensemble des solutions (xh,λh,sh) lorsque la hauteur de
barrière h décroît de l’infini à 0.
• Fin : (x0,λ0,s0) = (x*,λ*,s*) = solution du problème linéaire Algorithme de point intérieur On utilise le chemin central primal-dual pour définir la direction du déplacement. Le déplacement est limité pour rester dans l’ensemble des points intérieurs
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
{ }0s0,x,0csA0,bAx/)s,,x(X Tadm ≥≥=−+λ=−λ=
{ }0s0,x,0csA0,bAx/)s,,x(X Tint >>=−+λ=−λ=
Techniques d’optimisation
434
3.2.2 Exemple
Problème linéaire
• Forme standard : • Conditions d’ordre 1 du problème linéaire (PL) → 6 combinaisons possibles → 2 combinaisons possibles • Solution :
≥=++++ 0x,x,x
1xxxsousx3x2xmin321
321321x,x,x 321
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
=+λ=+λ=+λ
⇒=+λ3s2s1s
csA3
2
1T
( )( )321c
1b,111AT =
==
1x1xxx0bAx 1321 =⇒=++⇒=−
===
⇒=0sx0sx0sx
0XS33
22
11
−=−=⇒
λ−=λ−=λ−=
⇒ 1ss1ss
3s2s1s
32
21
3
2
1
======
⇒0sou0x0sou0x0sou0x
33
22
11
==
==⇒
≥≥≥
⇒≥0x0x
0sou0x
2s1s0s
0S3
2
11
3
2
1
1,2s1s0s
,0x0x1x
3
2
1
3
2
1=λ
===
===
Techniques d’optimisation
435
3.2.2 Exemple
Représentation graphique • Centre analytique du polytope :
• Solution du problème (PL) :
→ point A
( )
≥=++∈= 0x,x,x
1xxx/Rx,x,xP321
3213321
=→ ∞ 3
131
31x
( )001*x =→
≥=++++ 0x,x,x
1xxxsousx3x2xmin321
321321x,x,x 321
A B
C
x∞
x*
x1
A 1
B 1 x2
C 1
x3
O x∞
x*
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Tracé dans le plan (A,B,C)
Techniques d’optimisation
436
3.2.2 Exemple
Problème barrière
• Problème linéaire : • Conditions d’ordre 1 du problème barrière (PBh) • On obtient une équation en µ → 1, 2 ou 3 racines
≥=++++ 0x,x,x
1xxxsousx3x2xmin321
321321x,x,x 321
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
=+λ=+λ=+λ
⇒=+λ3s2s1s
csA3
2
1T
( )( )321c
1b,111AT =
==
1xxx0bAx 321 =++⇒=−
===
⇒=hsxhsxhsx
heXS33
22
11
λ−=λ−=λ−=
⇒3s2s1s
3
2
1
λ−=µ
+µ=
λ−=
µ=
λ−=
−µ=
λ−=
⇒ 2avec
1h
3hx
h2
hx
1h
1hx
3
2
1
11
hh1
h=
+µ+
µ+
−µ⇒ 0hh3 23 =+µ−µ−µ⇒
Techniques d’optimisation
437
3.2.2 Exemple
Chemin central • Le point du chemin central (xh,λh,sh) pour une barrière de hauteur h vérifie • En résolvant les conditions d’ordre 1 du problème barrière, on obtient
• Il faut vérifier → choix parmi les racines possibles pour µ • On résout le problème pour des valeurs décroissantes de la hauteur de barrière h.
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
≥≥
=−=−+λ
=−
0s0xavec
0heSX0csA
0bAx
h
h
hh
hhT
h
≥≥
0s0x
h
h
( )
λ−λ−λ−
=
λ−λ−λ−=
µ−=λ
hhhh
hhhh
h
31
21
11hx
321s
2 0hh3avec 23 =+µ−µ−µ
Techniques d’optimisation
438
3.2.2 Exemple
Représentation graphique • Système de coordonnées (u1,u2) dans le plan (A,B,C)
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
=
+=⇒
−−
+
−=
−⇔+=
32
32121
3
2
1
21xu
x21xu
12/12/1
u011
uxx
1xDCuABuAM
Tracé dans le plan (A,B,C)
D A B
C
x∞
x*
u2
u1
M
x1
A 1
B 1 x2
C 1
x3
O x∞
x* D
Techniques d’optimisation
439
3.2.2 Exemple
Chemin central
• Centre analytique du polytope (h → ∞) : • Points du chemin central pour une barrière de hauteur h de 10000 à 0.
• Solution du problème linéaire (h → 0) :
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
=∞ 3
131
31x
( )001*x =
h x1 x2 x3 s1 s2 s3 λ 10000 0,33335 0,33334 0,33333 29998,5 29999,5 30000,5 -29997,5 1000 0,33342 0,33331 0,33320 2999,2 3000,2 3001,2 -2998,2 100 0,33444 0,33332 0,33222 299,0 300,0 301,0 -298,0 10 0,34457 0,33309 0,32236 29,0 30,0 31,0 -28,0 1 0,45162 0,31112 0,23729 2,2142 3,2142 4,2142 -1,2142
0,1000 0,86308 0,08962 0,04726 0,1159 1,1159 2,1159 0,8841 0,0100 0,98507 0,00990 0,00497 0,0102 1,0102 2,0102 0,9898 0,0010 0,99863 0,00100 0,00050 0,0010 1,0010 2,0010 0,9990 0,0001 0,99970 0,00010 0,00005 0,0001 1,0001 2,0001 0,9999 0,0000 1,00000 0,00000 0,00000 0,0000 1,0000 2,0000 1,0000 0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1,0
0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0A B
C
x∞
x*
Tracé dans le plan (A,B,C)
Techniques d’optimisation
440
3.2.2 Déplacement
Méthode de Newton • On cherche à résoudre pour h fixé avec
• On définit la fonction :
• On applique la méthode de Newton au système d’équations : F(x,λ,s) = 0
• Itération de Newton :
si (x,λ,s) est intérieur : → direction de déplacement (dx,dλ,ds)
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
=−=−+λ
=−
0heXS0csA
0bAxT
≥≥
0s0x
−−+λ
−=λ
heXScsA
bAx)s,,x(F T
=λ∇⇒
X0SIA000A
)s,,x(F TT
)s,,x(Fddd
X0SIA000A
s
xT λ−=
λ
−=λ
heXSe00
)s,,x(Favec
=−+λ=−
0csA0bAx
T
Techniques d’optimisation
441
3.2.2 Déplacement
Méthode de Newton • On utilise la solution de Newton comme direction de recherche.
• Le pas de déplacement α est choisi pour rester dans l’ensemble des points intérieurs Xint.
Convergence Pour que l’algorithme converge vers la solution du problème linéaire (PL), il faut : • régler le pas α pour ne pas s’approcher trop rapidement du bord de l’ensemble admissible • abaisser progressivement la hauteur de la barrière h jusqu’à 0 La solution du problème linéaire PL est obtenue lorsque :
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
10,ddd
s
x
s
x
s
x
h
h
h
≤α<
α+
λ=
λ λ
n,...,1i,0sx0XS ii ==⇔=
≥≥
0s0x
h
h
Techniques d’optimisation
442
3.2.2 Mesure de dualité
Mesure de dualité • La mesure de dualité est définie par : → distance moyenne à la condition d’optimalité • La hauteur de barrière est réglée à partir de la mesure de dualité : h = σν
• σ est le paramètre de centrage
Le paramètre de centrage permet de corriger la direction de déplacement σ = 0 : pas de barrière → La direction donnée par l’itération de Newton vise à résoudre les conditions d’optimalité du problème initial (PL). → Peu robuste loin de la solution, blocage au bord du polytope
σ = 1 : barrière h=ν → La direction donnée par l’itération de Newton vise à revenir sur le point du chemin central correspondant à h=ν. → Permet de rester à l’intérieur du polytope
∑=
==νn
1iii
T sxn1sx
n1
n,...,1i,0sx0XS ii ==⇔=
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Techniques d’optimisation
443
3.2.2 Exemple
Problème linéaire
• Problème linéaire : • On cherche à résoudre : pour h fixé avec → méthode de Newton à partir d’un point intérieur initial Point initial
• On choisit un point intérieur initial On peut prendre • La hauteur de barrière h est réglée par le paramètre de centrage σ :
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
≥=++++ 0x,x,x
1xxxsousx3x2xmin321
321321x,x,x 321
( )( )321c
1b,111AT =
==
( )
( )
>=⇒==λ
=++>
0321scs0
1xxxquetel0x,x,x
T
321321
0heXS
csAbAx
)s,,x(F T =
−−+λ
−=λ
>>
=−+λ=−⇒∈λ 0s
0xet0csA0bAxX)s,,x( Tint
≥≥
0s0x
sxn
h Tσ=σν=
3x3x2x
nsx 321
T ++==ν⇒
Techniques d’optimisation
444
3.2.2 Exemple
Direction de déplacement La direction de déplacement (dx,dλ,ds) à partir du point initial (x,λ,s) est obtenue en résolvant les équations de Newton.
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
=−+λ=−
0csA0bAx
car T
( )332211 sxsxsxn
havec ++σ
=σν=
+−=λ−=
λ
heXS00
)s,,x(Fddd
X0SIA000A
s
xT
+−+−+−
=
⇔ λ
hsxhsxhsx
0000
ddddddd
x000s000x000s000x000s1001000010100000110000000111
33
22
11
3s
2s
1s
3x
2x
1x
33
22
11
Techniques d’optimisation
445
3.2.2 Exemple
Direction de déplacement • Le point initial (x1,x2,x3) doit vérifier • Illustrations pour 3 points initiaux : x = (0.6 , 0.2 , 0.2)
x = (0.2 , 0.6 , 0.2) x = (0.2 , 0.2 , 0.6)
et pour 2 valeurs de σ : σ = 0 → vers la solution du problème initial (Newton) σ = 1 → vers le chemin central (xh,λh,sh)
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
−=+−=+−=+
=+=+=+
=++
λ
λ
λ
333s33x3
222s22x2
111s11x1
3s
2s
1s
3x2x1x
sxhdxdssxhdxdssxhdxds
0dd0dd0dd
0ddd
−+
=
−+
=
−+
=
−===
++−++=
++
⇔
λ
λ
λ
λ
λ
33
33x
22
22x
11
11x
3s2s1s
321321
3
3
2
2
1
1
xs
dxhd
xs
dxhd
xs
dxhd
dddd
s1
s1
s1hxxx
sx
sx
sxd
σν=
++=ν
===
h3
x3x2xet
3s2s1s
avec321
3
2
1
=++>
1xxx0x,x,x
321
321
Techniques d’optimisation
446
3.2.2 Exemple
Illustration 1 : x = (0.6 , 0.2 , 0.2)
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
ν x1 x2 x3 s1 s2 s3 λ 0,53333 0,6 0,2 0,2 1,0 2,0 3,0 0,0
σ h dx1 dx2 dx3 ds1 ds2 ds3 dλ 0 0,00000 0,18261 -0,06957 -0,11304 -1,30435 -1,30435 -1,30435 1,30435 1 0,53333 -0,04928 0,06957 -0,02029 -0,02899 -0,02899 -0,02899 0,02899
Chemin central 0,53333 0,54971 0,27070 0,17956 0,97020 1,97020 2,97020 0,02980
=+=→
32
321xu
2/xxuTracé dans le plan (A,B,C)
0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1,0
0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0A B
C
x∞
0,0
0,1
0,2
0,3
0,0 0,1 0,2 0,3 0,4 0,5 0,6A
σ=0
σ=1
x∞
Techniques d’optimisation
447
3.2.2 Exemple
Illustration 2 : x = (0.2 , 0.6 , 0.2)
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
=+=→
32
321xu
2/xxuTracé dans le plan (A,B,C)
ν x1 x2 x3 s1 s2 s3 λ 0,66667 0,2 0,6 0,2 1,0 2,0 3,0 0,0
σ h dx1 dx2 dx3 ds1 ds2 ds3 dλ 0 0,00000 0,15294 -0,07059 -0,08235 -1,76471 -1,76471 -1,76471 1,76471 1 0,66667 0,38824 -0,38431 -0,00392 0,39216 0,39216 0,39216 -0,39216
Chemin central 0,66667 0,50965 0,28884 0,20153 1,30808 2,30808 3,30808 -0,30808
0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1,0
0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0A B
C
x∞
0,0
0,1
0,2
0,3
0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7A
x∞
σ=0
σ=1
Techniques d’optimisation
448
3.2.2 Exemple
Illustration 3 : x = (0.2 , 0.2 , 0.6)
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
=+=→
32
321xu
2/xxuTracé dans le plan (A,B,C)
0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,0 0,1 0,2 0,3 0,4 0,5A
x∞
σ=0
σ=1
ν x1 x2 x3 s1 s2 s3 λ 0,80000 0,2 0,2 0,6 1,0 2,0 3,0 0,0
σ h dx1 dx2 dx3 ds1 ds2 ds3 dλ 0 0,00000 0,20000 0,00000 -0,20000 -2,00000 -2,00000 -2,00000 2,00000 1 0,80000 0,41333 0,10667 -0,52000 0,93333 0,93333 0,93333 -0,93333
Chemin central 0,80000 0,48130 0,30051 0,21845 1,66217 2,66217 3,66217 -0,66217
A B
C
x∞
0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1,0
0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0
Techniques d’optimisation
449
3.2.2 Mesure de dualité
Distance au chemin central • Pour une hauteur de barrière h, le point du chemin central est tel que tous les produits xisi sont
égaux à h :
• Au point courant la moyenne des produits xisi est la mesure de dualité ν : • On quantifie la distance δ du point courant au chemin central par la moyenne des écarts
(xisi - ν)
• Pour que l’algorithme de point intérieur converge, il faut que les produits xisi tendent simultanément vers 0, et éviter que certains s’annulent prématurément.
• On impose de suivre approximativement le chemin central en interdisant de trop s’en écarter → contrainte de distance maximale au chemin central : → définition du voisinage du chemin central
∑=
==νn
1iii
T sxn1sx
n1
n,...,1i,hsxheXS ii ==⇔=
eXSe1
sx
sx1
nn
11
ν−ν
=
ν
ν−
ν=δ
mδ≤δ
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Techniques d’optimisation
450
3.2.2 Voisinage
Voisinage du chemin central Le voisinage du chemin central est défini par une borne δm sur la distance δ : • Voisinage restreint avec la norme 2, noté V2(δm )
• Voisinage large avec la norme ∞, noté V∞ (δm )
• On se contente de la borne inférieure, qui empêche les produits xisi de converger prématurément vers 0. En remplaçant δm par 1-δm
10aveceXSe1/X)s,,x()(V mmintm <δ≤
δ≤ν−
ν∈λ=δ
∞∞
10aveceXSe1/X)s,,x()(V mm2intm2 <δ≤
δ≤ν−
ν∈λ=δ
n,,1i,)1(sx)1(
n,,1i,sxeXSe1
miim
miim
=δ+ν≤≤δ−ν⇔
=νδ≤ν−⇔δ≤ν−ν ∞
mδ≤δ
{ } 10avecn,,1i,sx/X)s,,x()(V mmiiintm <δ≤=νδ≥∈λ=δ∞−
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Techniques d’optimisation
451
3.2.3 Algorithmes
Suivi du chemin central
Algorithme à pas restreint
Algorithme à pas long Algorithme de prédiction-correction
Exemple
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
Techniques d’optimisation
452
3.2.3 Algorithmes
Suivi du chemin central On peut envisager 3 algorithmes de suivi du chemin central • Algorithme à pas restreint • Algorithme à pas long • Algorithme de prédiction-correction Principes • Les 3 algorithmes sont basés sur l’itération de Newton avec avec α choisi tel que • Les différences résident dans la stratégie de réglage du paramètre de centrage σ et du pas α.
10,ddd
s
x
s
x
s
x
k
k
k
1k
1k
1k
≤α<
α+
λ=
λ λ
+
+
+
)(Vou)(Vs
x
mm2
1k
1k
1k
δδ∈
λ ∞−
+
+
+
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
=ν
σν=
kTkk
k
sxn1
h
−−=
λ
heeSX00
ddd
X0SIA000A
kks
x
kk
T
Techniques d’optimisation
453
3.2.3 Algorithme à pas restreint
Algorithme à pas restreint
• On applique systématiquement l’itération de Newton avec α =1.
• On règle le paramètre de centrage σ pour rester dans le voisinage restreint du chemin central. avec σ tel que : Réglages • δm =0.4 → largeur du voisinage
• → garantit que l’itération de Newton reste dans le voisinage restreint
+
λ=
λ λ
+
+
+
s
x
k
k
k
1k
1k
1k
ddd
s
x
s
x
)(Vs
x
m2
1k
1k
1k
δ∈
λ
+
+
+
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
n1 mδ
−=σ
σν−−=
λ
eeSX00
ddd
X0SIA000A
kkks
x
kk
T
Techniques d’optimisation
454
3.2.3 Algorithme à pas restreint
Réglage du paramètre de centrage Le nouveau point doit rester dans le voisinage restreint : à l’ordre 1 en dx , ds
)(Vddd
s
x
s
x
m2
s
x
k
k
k
1k
1k
1k
δ∈
+
λ=
λ λ
+
+
+
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
n1 mδ
−≥σ⇒
σν+−=+==+===+=
+
+
eeSXdXdSeDd,)d(diagD,DSSeDd,)d(diagD,DXX
aveckkkskxk
sssssk1k
xxxxxk1k
m2k1k1kk
eeSX1δ≤ν−
ν⇒ ++
( )( ) m2kskxkk
eeDSDX1δ≤ν−++
ν⇒
m2kxkskkkk
edSdXeSX1δ≤ν−++
ν⇒
m2kkk
ee1δ≤ν−σν
ν⇒
neavece12m2
=δ≤−σ⇒
Techniques d’optimisation
455
3.2.3 Algorithme à pas long
Algorithme à pas long
• On fixe le paramètre de centrage σ
• On règle le pas α pour rester dans le voisinage large du chemin central. avec α tel que : Réglages • δm = 0.001 → largeur du voisinage • σ = 0.1 • Initialisation avec α=1
Division de α par 2 tant que le nouveau point n’est pas dans le voisinage large
10,ddd
s
x
s
x
s
x
k
k
k
1k
1k
1k
≤α<
α+
λ=
λ λ
+
+
+
)(Vs
x
m
1k
1k
1k
δ∈
λ ∞−
+
+
+
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
σν−−=
λ
eeSX00
ddd
X0SIA000A
kkks
x
kk
T
Techniques d’optimisation
456
3.2.3 Algorithme de prédiction-correction
Algorithme de prédiction-correction Etape de prédiction • On prédit la direction de l’optimum avec un paramètre de centrage σ=0 (pas de barrière). • On règle le pas α pour rester dans le voisinage restreint du chemin central. avec α tel que : Réglages • δm pred = 0.5 → largeur du voisinage
• Initialisation avec α=1
Division de α par 2 tant que le nouveau point n’est pas dans le voisinage restreint
10,d~d~d~
s
x
s~
~x~
s
x
k
k
k
1k
1k
1k
≤α<
α+
λ=
λ λ
+
+
+
)(Vs~
~x~
predm2
1k
1k
1k
δ∈
λ
+
+
+
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
−=
λ
eSX00
d~d~d~
X0SIA000A
kks
x
kk
T
Techniques d’optimisation
457
3.2.3 Algorithme de prédiction-correction
Algorithme de prédiction-correction Etape de correction • On calcule la direction du chemin central avec un paramètre de centrage σ=1 • On applique un recentrage avec un pas α=1 pour revenir vers le chemin central. Mise en œuvre pratique • Différentes stratégies possibles → contrôle de la distance au chemin central
→ réglages (σ,δ,α) à adapter au cours des itérations • Choix du point initial → suffisamment loin des bords (xTs >> 0) sinon blocage • Extension à des problèmes non linéaires
+
λ=
λ λ
+
+
+
+
+
+
s
x
1k
1k
1k
1k
1k
1k
ddd
s~
~x~
s
x
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
ν−−=
λ
eeSX00
ddd
X0SIA000A
kkks
x
kk
T
Techniques d’optimisation
458
3.2.3 Exemple
Algorithme à pas restreint • Point initial : x = (0.6 , 0.2 , 0.2) , λ = 0 , s = (1 , 2 , 3)
x = (0.2 , 0.6 , 0.2) x = (0.2 , 0.2 , 0.6)
• Paramètre de centrage : avec δm = 0,4
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
n1 mδ
−=σ
x1 0,6 0,2 0,2 x2 0,2 0,6 0,2 x3 0,2 0,2 0,6
Iteration ν ν ν 0 0,53333 0,66667 0,80000 1 0,41017 0,51271 0,61525 2 0,31544 0,39430 0,47316 3 0,24259 0,30324 0,36389 4 0,18657 0,23321 0,27985 5 0,14348 0,17935 0,21522 6 0,11035 0,13793 0,16552 7 0,08486 0,10608 0,12729 8 0,06526 0,08158 0,09790 9 0,05019 0,06274 0,07529 10 0,03860 0,04825 0,05790 20 0,00279 0,00349 0,00419 30 0,00020 0,00025 0,00030 40 0,00001 0,00002 0,00002 45 0,00000 0,00000 0,00001 0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0 5 10 15 20 25 30 35 40 45
ν
Itération
( ) )(Vs,,x m2 δ∈λ→
Techniques d’optimisation
459
3.2.3 Exemple
Algorithme à pas restreint • Tracé dans le plan (A,B,C)
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
=+=→
32
321xu
2/xxu
0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1,0
0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0A B
C
(0.6 0.2 0.2)
(0.2 0.2 0.6)
(0.2 0.6 0.2)
x∞
Techniques d’optimisation
460
3.2.3 Exemple
Algorithme à pas long • Point initial : x = (0.6 , 0.2 , 0.2) , λ = 0 , s = (1 , 2 , 3)
x = (0.2 , 0.6 , 0.2) x = (0.2 , 0.2 , 0.6)
• Paramètre de centrage : σ = 0.1 avec δm = 0,4 • Pas : α=1 → α/2 tant que
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
x1 0,6 0,2 0,2 x2 0,2 0,6 0,2 x3 0,2 0,2 0,6
Iteration ν ν ν 0 0,53333 0,66667 0,80000 1 0,29333 0,36667 0,44000 2 0,16133 0,20167 0,24200 3 0,08873 0,02017 0,02420 4 0,00887 0,00202 0,00242 5 0,00089 0,00020 0,00024 6 0,00009 0,00002 0,00002 7 0,00001 0,00000 0,00000 8 0,00000 0,00000 0,00000
( ) ( ) misix dsdx νδ<α+α+
0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0 1 2 3 4 5 6 7 8
ν
Itération
( ) )(Vs,,x mδ∈λ→ ∞−
Techniques d’optimisation
461
3.2.3 Exemple
Algorithme à pas long • Tracé dans le plan (A,B,C)
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
=+=→
32
321xu
2/xxu
0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1,0
0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0A B
C
(0.6 0.2 0.2)
(0.2 0.2 0.6)
(0.2 0.6 0.2)
x∞
Techniques d’optimisation
462
3.2.3 Exemple
Comparaison • Algorithme à pas long → convergence beaucoup plus rapide (8 itérations au lieu de 45) • Influence des réglages → à adapter au cas par cas(valeurs de σ, δ, α)
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1,0
0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0
(0.6 0.2 0.2)
(0.2 0.2 0.6)
(0.2 0.6 0.2)
x∞
Techniques d’optimisation
463
3.2.4 Extensions
Problème linéaire
Problème quadratique
Problème non linéaire
Représentation
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.4 Extensions
Techniques d’optimisation
464
3.2.4 Problème linéaire
Problème linéaire • Lagrangien : • Conditions KKT :
• Méthode de Newton : → direction
• On peut appliquer le même algorithme à des problèmes non linéaires.
≥=
=λ∇=−
0sx,0XS
0)s,,x(L0bAx
x
≥=
∈ 0xbAxsousxcmin T
Rx n
xsb)Ax(xc)s,,x(L TTT +−λ+=λ
0heXSe
)s,,x(LbAx
)s,,x(F x =
−λ∇
−=λ→
)s,,x(Fddd
)s,,x(F
s
x
λ−=
λ∇ λ
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.4 Extensions
λ
s
x
ddd
−++λ
−−=
⇒ λ
heXSecsA
bAx
ddd
X0SIA000A
T
s
xT si admissible = 0
= 0
→ barrière h
Techniques d’optimisation
465
3.2.4 Problème quadratique
Problème quadratique • Lagrangien : • Conditions KKT :
• Méthode de Newton : → direction
• Différence avec le cas linéaire : matrice
≥=
=λ∇=−
0sx,0XS
0)s,,x(L0bAx
x
≥=+
∈ 0xbAxsousxcQxx
21min TT
Rx n
xsb)Ax(xcQxx21)s,,x(L TTTT +−λ++=λ
0heXSe
)s,,x(LbAx
)s,,x(F x =
−λ∇
−=λ→
)s,,x(Fddd
)s,,x(F
s
x
λ−=
λ∇ λ
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.4 Extensions
λ
s
x
ddd
−++λ+
−−=
⇒ λ
heXSecsAQx
bAx
ddd
X0SIAQ00A
T
s
xT
)s,,x(LQ 2xx λ∇=
→ barrière h
Techniques d’optimisation
466
3.2.4 Problème non linéaire
Problème non linéaire • Lagrangien : • Conditions KKT :
• Méthode de Newton : → direction
• Différence avec le cas linéaire : matrices
≥=
=λ∇=
0sx,0XS
0)s,,x(L0)x(c
x
≥=
∈ 0x0)x(csous)x(fmin
nRx
xs)x(cx)(f)s,,x(L TT +λ+=λ
0heXSe
)s,,x(L)x(c
)s,,x(F x =
−λ∇=λ→
)s,,x(Fddd
)s,,x(F
s
x
λ−=
λ∇ λ
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.4 Extensions
λ
s
x
ddd
−λ∇−=
∇λ∇∇
⇒ λheXSe
)s,,x(L)x(c
ddd
X0SI)x(c)s,,x(L00)x(c
x
s
x2xx
T
∇
λ∇)x(c
)s,,x(L2xx
→ contraintes actives
→ barrière h
Techniques d’optimisation
467
3.2.4 Représentation
Tracé des itérations
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.4 Extensions
Espace primal : variables x
x1
x2 chemin central
itérations
Espace primal-dual : produits xs
x1s1
x2s2 chemin central
borne voisinage
itérations
Techniques d’optimisation
468
Sommaire 1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes
3.1 Simplexe 3.2 Point intérieur 3.3 Gradient projeté 3.3.1 Principes 3.3.2 Direction de déplacement 3.3.3 Restauration 3.3.4 Algorithme 3.4 Lagrangien augmenté 3.5 Programmation quadratique séquentielle 3.6 Convergence
3 Optimisation avec contraintes 3.3 Gradient projeté
Techniques d’optimisation
469
3.3.1 Gradient projeté
Problème avec contraintes égalité → m contraintes actives Etapes principales A chaque itération • Construction d’une direction de descente dk à partir du point xk • Réglage du pas de déplacement sk suivant dk Direction de descente On construit la direction dk dans l’hyperplan tangent aux contraintes (= espace nul) en xk • Gradient projeté → projection du gradient sur l’hyperplan tangent • Gradient réduit → réduction du gradient sur une base de l’espace nul Pas de déplacement • Recherche linéaire suivant dk → pas sk • Restauration de l’admissibilité → méthode de Newton • Règles d’acceptation du pas → Armijo, Goldstein, Wolfe
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.1 Principes
⇔
≤=
∈ 0)x(c0)x(csousf(x)min
I
ERx n
0)x(csous)x(fminnRx
=∈
Techniques d’optimisation
470
3.3.2 Direction de déplacement
Hyperplan tangent aux contraintes
Gradient projeté
Gradient réduit
Exemple
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement
Techniques d’optimisation
471
3.3.2 Hyperplan tangent
Problème avec contraintes linéaires • x0 point admissible → Ax0 = b • d déplacement admissible à partir de x0 → A(x0 + d) = b • Ad = 0 définit l’espace nul des contraintes
= hyperplan des contraintes
• Le déplacement d∈Rn est admissible si d est dans l’hyperplan des contraintes. Problème avec contraintes non linéaires • On définit l’espace nul tangent ou hyperplan tangent en x0 avec A = ∇c(x0)T → Ad = 0
• On cherche un déplacement d∈Rn dans l’hyperplan tangent : ∇c(x0)Td = 0 Un déplacement complémentaire est ensuite nécessaire pour restaurer l’admissibilité.
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement
bAxsous)x(fminnRx
=∈
0Ad =→
0)x(csous)x(fminnRx
=∈
x0
d
c(x)=0
∇c(x0)
Techniques d’optimisation
472
3.3.2 Gradient projeté
Définition Le gradient projeté est la projection orthogonale du gradient de f sur l’hyperplan tangent. Expression du gradient projeté • Hyperplan tangent aux contraintes en x0 admissible
Ad = 0 avec A = ∇c(x0)T
• Matrice de projection sur l’hyperplan tangent • Notations
g(x0) gradient de f en x0 → g(x0) = ∇f(x0) gp(x0) gradient projeté → gp(x0) = Pg(x0) • gp vérifie :
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement
0)x(csous)x(fminnRx
=∈
( ) AAAAIP1TT −
−=
( )
=−=
0ggg0Ag
pTp
p → gp ∈ hyperplan tangent → g−gp ⊥ hyperplan tangent
x0
gp
c(x)=0
∇c(x0)
g ( )( ) T0
1TTp )x(cAavecgAAAAIg ∇=−=→
−
==
PPPPcar 2
T
Techniques d’optimisation
473
3.3.2 Gradient projeté
Direction de descente • La direction du gradient projeté est la direction de plus forte pente dans l’hyperplan tangent
= direction dans l’hyperplan qui maximise la dérivée directionnelle de f Preuve La direction d dans l’hyperplan maximisant la dérivée directionnelle de f est solution de Lagrangien : Conditions KKT : d est bien un vecteur normé colinéaire à • La méthode du gradient projeté équivaut à la méthode de plus forte pente appliquée dans
l’espace nul des contraintes → méthode d’ordre 1 peu efficace → amélioration par méthode de quasi-Newton
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement
( ) ( )1ddAddg,,dL TTt −++= µλµλ
=⇔==
∈ 1dd1d0Ad
sousdgmin Tt
Rd n
→ d ∈ hyperplan tangent → norme = 1
R,Ravec m ∈µ∈λ
==
=++
1d0Ad
0d2Ag T µλ
( )( )gAAAAI 1TT −−
( ) ( )µλ 2/Agd T+−=→0AAAg T =+→ λλµ TAg2 +±=→
( ) AgAA 1T −−=→ λ
Techniques d’optimisation
474
3.3.2 Gradient réduit
Définition Le gradient réduit est le gradient de la fonction réduite sur une base de l’espace nul tangent. Expression du gradient réduit • Base Z de l’espace nul tangent aux contraintes : AZ = 0 avec A = ∇c(x0)T
• Décomposition du déplacement :
• Déplacement admissible :
• Fonction réduite fr : • Notations
g(x0) gradient de f en x0 → g(x0) = ∇f(x0) → g ∈Rn
gr(x0) gradient réduit → gr(x0) = ∇fr(pZ=0) → gr ∈Rn−m (m = nombre de contraintes) → gr est le gradient de la fonction réduite fr (= fonction de n−m variables pZ)
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement
0)x(csous)x(fminnRx
=∈
gZg Tr =→
( )Z0ZrRp
00Rp
Zpxf)(pfminbp)A(xsousp)f(xminm-n
Zn
+=⇔=++∈∈
==⇒=
Z
YZpp
0p0Ap
( ) ( )Z0T
ZrZ0Zr ZpxfZ)(pfZpxf)(pf +∇=∇⇒+=
=+= inversibleAY
0ZAavecZppYp ZY
en pZ = 0
Techniques d’optimisation
475
3.3.2 Gradient réduit
Direction de descente • Le déplacement à partir du point x0 admissible est décomposé en • Le gradient réduit gr donne la direction de plus forte pente suivant les variables pZ. La direction de déplacement dans Rn est : d = Zgr . • On peut choisir les matrices Y et Z
- à partir de matrices orthogonales → factorisation QR de A - à partir d’une base de A → B∈Rm×m (= m colonnes indépendantes de A)
Gradient réduit sur une base B de A •
(E = matrice de permutation de colonnes de A)
• Le gradient réduit par rapport à la base B est :
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement
( ) BT1
NT
r gNBggZg −−==
==⇒=
Z
YZpp
0p0Ap =+= inversibleAY
0ZAavecZppYp ZY
=
−mnmNBAE
mn
m
m1
0B
Y−
−
=
mn
m
mn1
INB
Z−
−−
−=
=⇒
N
B
gg
g
Techniques d’optimisation
476
3.3.2 Direction de déplacement
Problème avec contraintes égalité → m contraintes actives • On construit la direction de déplacement d∈Rn dans l’hyperplan tangent aux contraintes en x0 Ad = 0 avec A = ∇c(x0)T → 2 méthodes de construction de la direction d
• Méthode du gradient projeté La direction d est celle du gradient projeté : d = gp (P = matrice de projection sur l’hyperplan tangent) • Méthode du gradient réduit La direction d est obtenue à partir du gradient de la fonction réduite : d = Zgr avec gr = ZTg (Z = base de l’hyperplan tangent) • On cherche un pas de déplacement suivant –d pour minimiser f.
Un déplacement complémentaire est nécessaire pour restaurer l’admissibilité.
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement
0)x(csous)x(fminnRx
=∈
( ) AAAAIPavecPgd1TT −
−==
0AZavecgZZd T ==
Techniques d’optimisation
477
3.3.2 Exemple
Exemple • Minimisation de • Changement de variables (coordonnées polaires) • Elimination variable r
• Minimum
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement
( ) 011xx)x(csousxx)x(f 22
2121 =−−+=+=
( )
=∇
11
xf ( )
−
=∇)1x(2
x2xc
2
1
-1
-0,5
0
0,5
1
1,5
2
2,5
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
+θ=θ=
1sinrxcosrx
2
1
−=θ+θ+θ=θ→ 1r),r(c
1)sin(cosr),r(f2
1sincos)(f1r +θ+θ=θ→=
π+π
=θ→
≥θ−→≥θ+θ−→≥θ−θ−=θ
π+ππ
=θ→=θ→=θ+θ−=θ4
*0cos0)tan1(cos0sincos)(''f4
ou4
1tan0cossin)('f
≈−=−≈−=→
29289.02/11*x70711.02/1*x
2
1
Techniques d’optimisation
478
3.3.2 Exemple
Gradient projeté • Minimisation de • Gradient projeté au point x0 • Direction de descente au point x0
→ tangente au cercle en x0
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement
( ) 011xx)x(csousxx)x(f 22
2121 =−−+=+=
( )
−=∇=∇=
= −AAAAIP
)x(fg,)x(cAavecPgg 1TT0
T0
p
( )000 sincosr2A θθ=
x1
x2
∇c
c(x)=0 x*
g=∇f
gp
x0 θ r
1
θθθθθθ
=0
200
0002
coscossincossinsin
P
( ) ( )
θθ
=
−
=∇
=∇→
0
00
2
100 sin
cosr2
)1x(2x2
xc,11
xfPoint admissible x0 (r0=1, θ0)
θθ−
==0
0
p
p
cossin
g
gd
( )
θθ−
θ−θ=→0
000p cos
sinsincosg
Techniques d’optimisation
479
3.3.2 Exemple
Gradient réduit • Minimisation de • Gradient réduit au point x0 • Direction de descente au point x0
→ tangente au cercle en x0
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement
( ) 011xx)x(csousxx)x(f 22
2121 =−−+=+=
( )000 sincosr2A θθ=
x1
x2
∇c
c(x)=0 x*
Zgr
x0 θ r
1
θ−=
1tan
Z 0
( ) ( )
θθ
=
−
=∇
=∇→
0
00
2
100 sin
cosr2
)1x(2x2
xc,11
xfPoint admissible x0 (r0=1, θ0)
0r tan1g θ−=→
( )
−==
∇=∇== −
INB
Z,NBAE
)x(fg,)x(cAavecgZg 1
0T
0T
r
θθ−
==0
0
r
r
cossin
ZgZgd
θθ−
θθ−θ
=→0
0
0
00r cos
sincos
sincosZg
Techniques d’optimisation
480
3.3.3 Restauration
Point initial
Itérations admissibles
Méthode de restauration
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.3 Restauration
Techniques d’optimisation
481
3.3.3 Restauration
Itérations admissibles La méthode du gradient projeté ou réduit construit une suite de solutions admissibles → point initial admissible → restauration de la faisabilité à chaque itération Point initial • On peut construire un point initial admissible du problème en résolvant le problème préliminaire sans contrainte • La solution x0 de ce problème préliminaire est admissible si le coût est nul Restauration de la faisabilité • La direction de descente d est dans l’hyperplan tangent aux contraintes au point courant. • Si les contraintes ne sont pas linéaires, un pas s suivant d donne un point non admissible
→ Il faut restaurer la faisabilité avant d’évaluer si le pas s est acceptable.
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.3 Restauration
≤=
∈ 0)x(c0)x(csousf(x)min
I
ERx n
( )2I2E
Rx(x)c,0max(x)cmin
n+
∈
( ) ( )
≤=⇒
==⇒=+ 0)(xc
0)(xc0)(xc,0max
0)(xc0)(xc,0max)(xc0I
0E
0I
0E20I20E
Techniques d’optimisation
482
3.3.3 Restauration
Déplacement admissible → m contraintes actives On construit le déplacement p à partir du point initial x0 en 2 étapes : p = p1 + p2 • Le déplacement p1 est suivant la direction de descente d dans l’hyperplan tangent : p1 = –sd
d∈Rn = direction construite à partir du gradient projeté ou du gradient réduit s > 0 = pas de déplacement suivant –d (pour minimisation)
On obtient un point x1 = x0 + p1 dans l’hyperplan tangent → non admissible si contraintes non linéaires • Le déplacement p2 restaure un point admissible à partir du point x1.
→ linéarisation des contraintes en x1 → résolution d’un système sous-déterminé
On obtient un point x2 = x1 + p2 admissible. Recherche linéaire • On évalue le point x2 correspondant au pas s de recherche linéaire suivant d. • Le pas s est modifié par dichotomie jusqu’à trouver un point x2(s) acceptable
→ règles d’Armijo, Goldstein, Wolfe,…
0)x(csousf(x)minnRx
=∈
c(x)=0
x0
x1
p1
c(x)=c1
p2 x2
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.3 Restauration
Techniques d’optimisation
483
3.3.3 Restauration
Méthode de restauration Le déplacement p2 doit vérifier : • Solution de norme minimale → projection sur l’hyperplan tangent aux contraintes actives
(cf §1.2.4)
• Solution de base → pour ne pas dégrader la minimisation apportée par p1 (cf §1.2.3)
• Plusieurs pas de restauration peuvent être nécessaires.
−=−==∇≈∇==
111
0T
0T
1111 c)c(xb
A)c(x)c(xAavecbpA
( ) 11T
11T1211
RpbAAApbpAsouspmin
n
−
∈=→=
( ) ( ) 11
1211
1Y1ZY1 bYAYpbYApb)ZpYp(A −− =→=⇒=+
c(x)=0
x0 x1 p1
c(x)=c1
∇c(x0) ∇c(x1)
p2
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.3 Restauration
Techniques d’optimisation
484
3.3.3 Restauration
Illustrations
c(x)=0
c(x)=c1 p2
p3
p1 x1
x0
Restauration en plusieurs itérations : p2 , p3
c(x)=0
c(x)=c1
p2
p1 x1
x0
Restauration infructueuse (non linéarité)
Restauration avec dégradation du critère
c(x)=0 lignes de f p2
p1 x1 x0
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.3 Restauration
Techniques d’optimisation
485
3.3.4 Algorithme
Algorithme de gradient projeté / réduit
Exemple
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.4 Algorithme
Techniques d’optimisation
486
3.3.4 Algorithme
Algorithme de gradient projeté/réduit Les principales étapes d’une itération de gradient projeté/réduit sont • construire la direction de descente au point courant • effectuer une recherche linéaire avec restauration Direction de descente • Sélection des contraintes actives • Projection ou réduction dans l’hyperplan tangent • Mise à jour du hessien (quasi-Newton) Recherche linéaire • Méthode de dichotomie sur le pas de déplacement • Restauration avant évaluation du pas • Règles d’acceptation (Armijo,…) Principales difficultés • Amélioration critère → grands pas • Restauration contraintes → petits pas
→ difficultés sur problèmes très non-linéaires → réglages à adapter au cas par cas
Mise à jour xk , Hk
Projection ou réduction Direction dk
Recherche linéaire avec restauration
Pas sk
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.4 Algorithme
Techniques d’optimisation
487
3.3.4 Exemple
Exemple • Minimisation de • Solution :
Itérations • Point courant : • Descente : x’ = x − s1d1 avec
→ pas s1 suivant le gradient projeté • Restauration : x’’ = x’ − s2d2 avec → pas s2 suivant le gradient des contraintes • Réglage des pas : s2 est calculé pour restaurer c(x’’) = 0 s1 est choisi pour vérifier une décroissance suffisante f(x’’) < f(x)
-1
-0,5
0
0,5
1
1,5
2
2,5
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.4 Algorithme
( ) 011xx)x(csousxx)x(f 22
2121 =−−+=+=
≈−=−≈−=
29289.02/11*x70711.02/1*x
2
1
+θ
θ=
=
1sinrcosr
xx
x2
1
θθ−
=cossin
d1
θθ
=sincos
d2 ( )
−
=∇←)1x(2
x2xc
2
1
( )
θθ−
θ−θ=←cossin
sincosgp
Techniques d’optimisation
488
3.3.4 Exemple
Exemple • Minimisation de
• Point initial : → Restauration initiale :
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.4 Algorithme
( ) 011xx)x(csousxx)x(f 22
2121 =−−+=+=
=
11.0
xx
2
1
=
11
xx
2
1
Itération x1 x2 f(x) c(x) Descente s1 x1' x2' c(x') Restauration s2
1 0,10000 1,00000 1,10000 -0,99000 0,00000 0,10000 1,00000 -0,99000 4,50000
2 1,00000 1,00000 2,00000 0,00000 1,00000 1,00000 0,00000 1,00000 -0,50000
3 0,00000 0,00000 0,00000 0,00000 0,50000 -0,50000 0,00000 0,25000 -0,06699
4 -0,50000 0,13397 -0,36603 0,00000 0,18301 -0,65849 0,22548 0,03349 -0,00844
5 -0,65005 0,24011 -0,40994 0,00000 5,492E-02 -0,69178 0,27581 3,016E-03 -7,547E-04
6 -0,69080 0,27696 -0,41385 0,00000 1,612E-02 -0,70246 0,28809 2,599E-04 -6,497E-05
7 -0,70237 0,28819 -0,41418 0,00000 4,722E-03 -0,70573 0,29150 2,230E-05 -5,576E-06
8 -0,70572 0,29151 -0,41421 0,00000 1,383E-03 -0,70670 0,29249 1,913E-06 -4,783E-07
9 -0,70670 0,29249 -0,41421 0,00000 4,051E-04 -0,70699 0,29277 1,641E-07 -4,103E-08
10 -0,70699 0,29277 -0,41421 0,00000 1,187E-04 -0,70707 0,29286 1,408E-08 -3,520E-09
11 -0,70707 0,29286 -0,41421 0,00000 3,475E-05 -0,70710 0,29288 1,208E-09 -3,020E-10
12 -0,70710 0,29288 -0,41421 0,00000
Techniques d’optimisation
489
3.3.4 Exemple
Exemple Minimisation de Point initial Point initial admissible Solution
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.4 Algorithme
( ) 011xx)x(csousxx)x(f 22
2121 =−−+=+=
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
2,5
-2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0
-0,1
0,0
0,1
0,2
0,3
0,4
-0,8 -0,7 -0,6 -0,5 -0,4
=
11.0
xx
2
1
≈−−≈−=
29289.02/1170711.02/1
*x*x
2
1
=
11
xx
2
1restauration initiale itérations
Techniques d’optimisation
490
Sommaire 1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes
3.1 Simplexe 3.2 Point intérieur 3.3 Gradient projeté 3.4 Lagrangien augmenté 3.4.1 Principes 3.4.2 Pénalisation 3.4.3 Algorithme 3.5 Programmation quadratique séquentielle 3.6 Convergence
3 Optimisation avec contraintes 3.4 Lagrangien augmenté
Techniques d’optimisation
491
3.4.1 Lagrangien augmenté
Problème avec contraintes égalité → contraintes actives La difficulté de résolution vient des 2 objectifs antagonistes : • Minimiser le critère f(x) • Satisfaire les contraintes c(x)=0 Méthodes de pénalisation Les contraintes sont ajoutées à la fonction coût avec une pondération : • Critère augmenté → pondération = pénalisation des contraintes • Lagrangien → pondération = multiplicateurs de Lagrange • Lagrangien augmenté → pondération = pénalisation + multiplicateurs → On se ramène à un problème sans contraintes plus simple Les difficultés viennent du réglage de la pondération : • Le problème pénalisé sans contraintes doit être équivalent au problème avec contraintes. • Le problème pénalisé est mal conditionné lorsque la pénalisation est grande.
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.1 Principes
⇔
≤=
∈ 0)x(c0)x(csousf(x)min
I
ERx n
0)x(csous)x(fminnRx
=∈
Techniques d’optimisation
492
3.4.2 Pénalisation
Critère augmenté
Pénalisation quadratique
Pénalisation exacte
Mise en œuvre
Lagrangien augmenté
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation
Techniques d’optimisation
493
3.4.2 Critère augmenté
Problème avec contraintes égalité → contraintes actives On note x* la solution du problème avec contraintes. Critère augmenté On ajoute au critère un terme positif fonction de la violation des contraintes avec un coefficient de pénalisation ρ > 0 → 2 méthodes usuelles de pénalisation • Pénalisation en norme 2 (pénalisation quadratique) • Pénalisation en norme 1 Problème sans contraintes
( )( )2
2I2
2Eρ (x)c0,max(x)cρ21f(x)(x)f ++=
(x)fmin ρRx n∈
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation
0)x(csous)x(fminnRx
=∈
⇔
≤=
∈ 0)x(c0)x(csousf(x)min
I
ERx n
2
2ρ c(x)ρ21f(x)(x)f +=⇔
( )( )1I1Eρ (x)c0,max(x)cρf(x)(x)f ++=
1ρ c(x)ρf(x)(x)f +=⇔
→ solution xρ
Techniques d’optimisation
494
3.4.2 Pénalisation quadratique
Problème pénalisé l2 → contraintes actives Le critère l2 est différentiable deux fois pour un problème avec contraintes égalité On peut appliquer les algorithmes d’optimisation sans contraintes à base de gradient. Méthode de résolution • On résout une suite de problèmes pénalisés avec des valeurs croissantes de la pénalisation ρ.
• Chaque problème k+1 est initialisé avec la solution précédente xk. • Problème k avec pénalisation ρk : → solution xk • Il faut vérifier que la suite des solutions xk converge vers la solution x* du problème initial
→ 2 résultats de convergence selon que xk est une solution exacte ou approchée
( )( )2
2I2
2Eρ (x)c0,max(x)cρ21f(x)(x)favec ++=(x)fmin ρ
Rx n∈
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation
2
2ρ c(x)ρ21f(x)(x)f +=⇔
(x)fminkn ρ
Rx∈
∞+=ρ=∞→∞→ kkkk
limsi*xxlim
Techniques d’optimisation
495
3.4.2 Pénalisation quadratique
Problème pénalisé l2 • Problème avec contraintes : → solution x*
• Problème k avec pénalisation ρk : → solution xk Convergence • Si xk est le minimum global exact, alors • Si xk est un minimum local approché : avec
→ précision de résolution εk décroissante alors la limite x∞ est : - soit un point non admissible qui minimise - soit un point x* vérifiant les conditions KKT du problème initial On a dans ce 2ème cas : La solution exacte x* n’est obtenue qu’à la limite lorsque la pénalisation ρ tend vers l’infini.
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation
(x)fminkn ρ
Rx∈
0)x(csous)x(fminnRx
=∈
*xxlim kk=
∞→
kkρ )(xfk
ε≤∇ 0lim kk=ε
∞→
2
2c(x)
∞+=ρ∞→ kk
lim ∞∞→= xxlim kk
λ=ρ=
∞→
∞→*)c(xlim
*xxlim
kkk
kk→ multiplicateurs des contraintes actives → minimum local
Techniques d’optimisation
496
3.4.2 Pénalisation quadratique
Eléments de la démonstration • Critère d’arrêt sur xk : si les gradients sont linéairement indépendants • Multiplicateurs de Lagrange
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation
)c(xlim*avec kkkρλ
∞→=
2)x(c21)x(f)x(f ρρ += )x(c)x(c)x(f)x(f ∇+∇=∇⇒ ρρ
kkρ )(xfk
ε≤∇
)x(f)x(c)x(c)x(c)x(c)x(f)(xf k kkkkkkkkρk∇−∇≥∇+∇=∇ ρρ babacar −≥+
)x(f)x(c)x(c kkkkk ∇+≤∇⇒ ερ 0)x(f
)x(c)x(c kk
kkkk →
∇+≤∇⇒ ∞→ρ
ε
→=
→=∇⇒
admissible0*)x(cou
)x(cmin0*)x(c
0)x(c)x(c)x(f)(xf kkkkkkkρk →≤∇+∇=∇ ∞→ερ
0**)x(c*)x(f =∇+∇→ λ
Techniques d’optimisation
497
3.4.2 Pénalisation exacte
Problème pénalisé l1 → contraintes actives Le critère l1 n’est pas différentiable. Méthode de résolution • On résout une suite de problèmes pénalisés avec des valeurs croissantes de la pénalisation ρ.
• Chaque problème k+1 est initialisé avec la solution précédente xk. • Problème k avec pénalisation ρk : → solution xk Convergence • Si alors x* est un minimum local de fρ avec la pénalisation l1.
• La pénalisation l1 est exacte si est ρ est supérieur au plus grand multiplicateur. → ne nécessite pas d’augmenter indéfiniment ρ pour obtenir la solution exacte x*
(x)fmin ρRx n∈
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation
(x)fminkn ρ
Rx∈
imax** λ=λ=ρ>ρ∞
( )( )1I1Eρ (x)c0,max(x)cρf(x)(x)favec ++=
1ρ c(x)ρf(x)(x)f +=⇔
Techniques d’optimisation
498
3.4.2 Mise en oeuvre
Méthodes avec critère augmenté • Type de pénalisation
- Pénalisation l2 → différentiable, mais nécessite une pénalisation forte pour approcher x* - Pénalisation l1 → exacte, mais non différentiable
• Réglage de la pénalisation - Trop faible → risque de divergence (pas de minimum du problème pénalisé) - Trop forte → mauvais conditionnement, difficultés numériques
• Utilisation du critère augmenté
- Difficultés pratiques si l’on veut obtenir une bonne précision sur la solution x* - Le critère augmenté peut servir de fonction mérite dans le cadre d’autres algorithmes pour évaluer la progression vers l’optimum.
Méthodes avec lagrangien augmenté On cherche à se ramener à une suite de problèmes sans contraintes - en conservant un critère différentiable - en évitant le mauvais conditionnement du à une pénalisation trop forte → utilisation des multiplicateurs de Lagrange pour réduire la pénalisation
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation
Techniques d’optimisation
499
3.4.2 Lagrangien augmenté
Problème pénalisé l2 • La méthode de pénalisation consiste à minimiser le critère augmenté. • La convergence est obtenue pour des valeurs croissantes de pénalisation.
• La solution xk ne respecte qu’approximativement les contraintes : • Pour respecter précisément les contraintes, il faut augmenter fortement la pénalisation
→ cause de mauvais conditionnement et de difficultés numériques • On peut appliquer la méthode de pénalisation au problème équivalent
2ρ
Rxc(x)ρ
21f(x)(x)fmin
n+=
∈
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation
λ=ρ=
→∞→
∞→*)c(xlim
*xxlim
kkk
kk→ multiplicateurs des contraintes actives → minimum local
∞+=ρ∞→ kk
lim
kk
*)c(xρλ
≈
2T2
2ρRx
c(x)ρ21c(x)*λf(x)c(x)ρ
21)*L(x,)*(x,Lmin
n++=+λ=λ→
∈
0c(x)sous*)L(x,minnRx
=λ∈
0c(x)sousf(x)minnRx
=⇔∈
→ si l’on connait λ*
Techniques d’optimisation
500
3.4.2 Lagrangien augmenté
Lagrangien augmenté • La méthode de lagrangien augmenté consiste à résoudre une suite de problèmes : avec ρk = valeur de pénalisation du problème k λk = estimation des multiplicateurs pour le problème k • Si et les problèmes deviennent équivalents.
La solution xk du problème converge vers la solution x* du problème initial. • La solution xk vérifie également : (même démonstration que pour le critère augmenté avec pénalisation quadratique)
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation
2k
Tk
2
2kkkρRx
c(x)ρ21c(x)λf(x)c(x)ρ
21)L(x,)(x,Lmin
kn++=+λ=λ
∈
( ) 0)c(xρλ)c(x)f(x),(xL kkkkkkkρx k=+∇+∇=λ∇
)(x,Lmin kρRx kn
λ∈
*lim kkλ=λ
∞→
*xxlim kk=→
∞→
0c(x)sous*)L(x,minnRx
=λ∈
0c(x)sousf(x)minnRx
=⇔∈
*)(x,LminnRx
λ⇔ ρ∈
(x)fminnRx
ρ∈
⇔
∞+=ρ∞→ kk
lim
*λ)c(xρλlim kkkk=+⇒
∞→
0*c(x*)f(x*))*L(x*,x =λ∇+∇=λ∇à comparer à x* qui vérifie :
Techniques d’optimisation
501
3.4.2 Lagrangien augmenté
Lagrangien augmenté • On peut estimer les multiplicateurs à l’itération k pour ρk assez grand • La valeur des contraintes à l’itération k est : On peut parvenir à respecter les contraintes sans augmenter indéfiniment la pénalisation si λk est une bonne estimation des multiplicateurs. → meilleur conditionnement → convergence plus rapide et précise que la méthode du critère augmenté → méthode de lagrangien augmenté appelée aussi méthode des multiplicateurs Convergence Pour ρ assez grand, la solution x* du problème initial est un minimum local du problème → ne nécessite pas d’augmenter indéfiniment ρ pour obtenir la solution exacte x*
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation
*λ)c(xρλlim kkkk=+
∞→)c(xρλλ* kkk +≈→
)c(xρλλ kkk1k +=→ +
k
kk ρ
λ*λ)c(x −≈
pour l’itération k+1
2Tρ
Rxc(x)ρ
21c(x)*λf(x))*(x,Lmin
n++=λ
∈
0*λλk → →
→ pénalisation exacte si on connaît λ*
Techniques d’optimisation
502
3.4.3 Algorithme
Algorithme de lagrangien augmenté
Exemple
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Algorithme
Techniques d’optimisation
503
3.4.3 Algorithme
Méthode de lagrangien augmenté (ou méthode des multiplicateurs) Les principales étapes d’une itération de lagrangien augmenté sont • minimiser le lagrangien augmenté • mettre à jour les paramètres de réglage Minimisation du lagrangien augmenté • Méthode de quasi-Newton • Recherche linéaire ou région de confiance • Précision d’arrêt sur gradient Paramètres de réglage • Multiplicateurs • Pénalisation • Précisions (gradient, contraintes) Principales difficultés • Précision contraintes → pénalisation forte • Conditionnement → pénalisation faible → convergence précise difficile → réglages à adapter au cas par cas
Minimisation de Lρ Précision εk
Solution xk+1 Contraintes c(xk+1)
Mise à jour xk+1 , λk+1 , ρk+1 , εk+1
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Algorithme
Techniques d’optimisation
504
3.4.3 Algorithme
Méthode de lagrangien augmenté (ou méthode des multiplicateurs) • Réglages à l’itération k : - multiplicateurs λk
- pénalisation ρk - précision de résolution εk
- précision sur les contraintes ηk • Minimisation : initialisation xk → solution xk+1 → valeurs des contraintes = c(xk+1) • Mise à jour des réglages à l’itération k+1 en fonction du respect des contraintes
- Si → mise à jour des multiplicateurs
(contraintes bien respectées) → résolution plus précise - Si → augmentation de la pénalisation (contraintes mal respectées) → résolution moins précise
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Algorithme
( ) k1kxc η<+
)(x,Lmin kρRx kn
λ∈
( ) kk1kx ,xLk
ε≤λ∇ +ρ→ critère d’arrêt
)c(xρλλ kkk1k +=+
( ) k1kxc η>+ 10k1k ×→ρ>ρ +
k1kk1k , η<ηε<ε ++
k1kk1k , η>ηε>ε ++
Techniques d’optimisation
505
3.4.3 Exemple
Exemple • Minimisation de
• Point initial : Solution :
23,
01
*x −=λ
=
01xx)x(csousx)1xx(2)x(f 22
211
22
21 =−+=−−+=
0,3.15.0
x =λ
=
-1,5
-1
-0,5
0
0,5
1
1,5
-1,5 -1 -0,5 0 0,5 1 1,5
-0,1
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,7 0,8 0,9 1
Suivi de la contrainte
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Algorithme
Techniques d’optimisation
506
3.4.3 Exemple
Exemple • Minimisation de
• Point initial : Solution :
23,
01
*x −=λ
=
01xx)x(csousx)1xx(2)x(f 22
211
22
21 =−+=−−+=
0,3.15.0
x =λ
=
Itération
x1
x2
λ
ρ
c(x)
Newton
1 0,50000 1,30000 0,00000 1 -0,71238 0,90050 1 2 0,40707 0,34917 -0,71238 10 -0,05788 0,90016 1 3 0,73467 0,63433 -1,29122 10 -0,00905 0,50091 2 4 0,91556 0,39077 -1,38175 10 0,00635 0,41807 2 5 0,98869 0,16985 -1,38175 100 0,00188 0,62061 2 6 0,99953 0,04158 -1,30283 100 -0,00188 0,01728 2 7 0,99905 -0,00320 -1,49103 100 -0,00009 0,00172 1 8 0,99995 0,00171 -1,50003 100 2,06E-06 0,00057 3 9 1,00000 0,00045 -1,50003 100 1,85E-06 0,00031
),x(L λ∇ ρ
pénalisation
précision contrainte
précision résolution
itérations Newton
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Algorithme
Techniques d’optimisation
507
Sommaire 1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes
3.1 Simplexe 3.2 Point intérieur 3.3 Gradient projeté 3.4 Lagrangien augmenté 3.5 Programmation quadratique séquentielle 3.5.1 Equations KKT 3.5.2 Modèle quadratique 3.5.3 Globalisation 3.5.4 Algorithme 3.6 Convergence
3 Optimisation avec contraintes 3.5 Quadratique séquentiel
Techniques d’optimisation
508
3.5.1 Equations KKT
Problème non linéaire - Conditions de minimum local - Equations KKT
Méthode de Newton
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.1 Equations KKT
Techniques d’optimisation
509
3.5.1 Equations KKT
Problème avec contraintes égalité → m contraintes actives Conditions nécessaires de minimum local • Lagrangien :
• Gradient :
• Hessien :
• Conditions d’ordre 1 : → équations KKT
On cherche à résoudre les équations KKT par la méthode de Newton.
⇔
≤=
∈ 0)x(c0)x(csousf(x)min
I
ERx n
)x(c)x(f),x(L Tλ+=λ
0)x(csous)x(fminnRx
=∈
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.1 Equations KKT
λ∇+∇=
λ∇λ∇=λ∇
λ )x(c)x(c)x(f
),x(L),x(L),x(L x
∇∇λ∇
=
λ∇λ∇λ∇λ∇
=λ∇λλλ
λ
0)x(c)x(c),x(L
),x(L),x(L),x(L),x(L
),x(L T
2xx
22x
2x
2xx2
0),x(L),x(L),x(L x =
λ∇λ∇=λ∇
λ
Techniques d’optimisation
510
3.5.1 Equations KKT
Equations KKT Les conditions KKT donnent un système d’équations non linéaire en variables (x,λ) Méthode de Newton Au point (xk, λk), l’itération de Newton donne un déplacement d vérifiant → équations de Newton On peut écrire un problème quadratique-linéaire en variables (dx,dλ) dont les conditions d’optimalité sont les équations de Newton au point (xk, λk).
),x(Ld),x(L kkkk2 λ−∇=λ∇
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.1 Equations KKT
mnx Rdddavec +
λ∈
=
0),x(L),x(L),x(L x =
λ∇λ∇=λ∇
λ
λ∇+∇−=
∇∇λ∇
⇔λ )x(c
)x(c)x(fdd
0)x(c)x(c),x(L
k
kkkxT
k
kkk2xx
−=∇λ−∇=∇+λ∇⇔ λ
)x(cd)x(c),x(Ld)x(cd),x(L
kxT
k
kkxkxkk2xx
Techniques d’optimisation
511
3.5.2 Modèle quadratique
Problème quadratique local
Equivalence avec la méthode de Newton
Interprétation
Formulation simplifiée
Résolution
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique
Techniques d’optimisation
512
3.5.2 Modèle quadratique
Problème quadratique local Au point (xk, λk), on considère le problème d’optimisation sur la variable dQP∈Rn
→ problème quadratique-linéaire noté (QP) • Lagrangien LQP avec des multiplicateurs λQP sur les contraintes :
• Conditions d’ordre 1 : → système linéaire sur les variables primales dQP∈Rn et les variables duales λQP∈Rm
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique
0)x(cd)x(csousd),x(Ld21d),x(Lmin kQP
TkQPkk
2xx
TQPQP
Tkkx
Rd nQP
=+∇λ∇+λ∇∈
( ))x(cd)x(cd),x(Ld21d),x(L),d(L kQP
Tk
TQPQPkk
2xx
TQPQP
TkkxQPQPQP +∇λ+λ∇+λ∇=λ
0)x(cd)x(c kQPT
k =+∇
0),d(L),d(L
),d(LQPQPQP
QPQPQPdQPQPQP =
λ∇λ∇
=λ∇λ
=+∇=λ∇+λ∇+λ∇
⇔0)x(cd)x(c
0)x(cd),x(L),x(LkQP
Tk
QPkQPkk2xxkkx
Techniques d’optimisation
513
3.5.2 Modèle quadratique
Equivalence avec la méthode de Newton On se place au point (xk, λk). • L’itération de Newton pour résoudre les conditions KKT donne le système en variables (dx,dλ)
• Le problème quadratique-linéaire (QP) en variables dQP∈Rn
a pour conditions d’ordre 1 le système en variables (dQP,λQP) • Les 2 systèmes linéaires sont identiques en posant :
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique
=+∇=λ∇+λ∇+λ∇
0)x(cd)x(c0)x(cd),x(L),x(L
kQPT
k
QPkQPkk2xxkkx
−=∇λ−∇=∇+λ∇ λ
)x(cd)x(c),x(Ld)x(cd),x(L
kxT
k
kkxkxkk2xx
0)x(cd)x(csousd),x(Ld21d),x(Lmin kQP
TkQPkk
2xx
TQPQP
Tkkx
Rd nQP
=+∇λ∇+λ∇∈
∈=λ∈=
λm
QP
nxQP
RdRdd
Techniques d’optimisation
514
3.5.2 Modèle quadratique
Interprétation • L’itération de Newton au point (xk, λk) équivaut à la résolution du problème quadratique local • On peut formuler le problème quadratique local (QP) en → minimisation d’un modèle quadratique du lagrangien sous un modèle linéaire des contraintes Récapitulatif • Optimisation sans contrainte
Newton ⇔ Minimiser un modèle quadratique de la fonction • Optimisation avec contrainte
Newton ⇔ Minimiser un modèle quadratique du lagrangien sous un modèle linéaire des contraintes
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique
( )( )
++=
+λ+=
QPQPkQP
2QPkQPkQP
do)dx(c)d(c~do),dx(L)d(L~
avec0)d(c~sous)d(L~min QPQPRd n
QP
=∈
→ L à l’ordre 2 en x
→ c à l’ordre 1 en x
0)x(cd)x(csousd),x(Ld21d),x(Lmin kQP
TkQPkk
2xx
TQPQP
Tkkx
Rd nQP
=+∇λ∇+λ∇∈
λ==
→λ QP
QPxd
dd
→ multiplicateur λQP
Techniques d’optimisation
515
3.5.2 Modèle quadratique
Formulation simplifiée • L’itération de Newton au point (xk, λk) s’écrit en variables (dx,dλ) :
• En faisant le changement de variable dl = λk + dλ , on obtient
• L’itération de Newton en variables (dx,dl) équivaut au problème quadratique local → même formulation avec au lieu de
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique
0)x(cd)x(csousd),x(Ld21d)x(fmin kQP
TkQPkk
2xx
TQPQP
Tk
Rd nQP
=+∇λ∇+∇∈
−=∇λ∇−−∇=λ−∇=∇+λ∇ λ
)x(cd)x(c)x(c)x(f),x(Ld)x(cd),x(L
kxT
k
kkkkkxkxkk2xx
−=∇−∇=∇+λ∇
)x(cd)x(c)x(fd)x(cd),x(L
kxT
k
klkxkk2xx
)x(f k∇ ),x(L kkx λ∇
λ==
→QPl
QPxd
dd
→ multiplicateur λQP
λ−λ==
→λ kQP
QPxd
dd
Techniques d’optimisation
516
3.5.2 Modèle quadratique
Solution du problème quadratique • On peut calculer explicitement la solution du problème quadratique local • Si Q est définie positive, la solution est : • Si Q n’est pas définie positive, on remplace Q par une matrice H définie positive « proche »
→ factorisation de Cholesky modifiée → ou avec τ suffisamment grand
• Le déplacement à partir du point courant (xk, λk) est : • La résolution explicite est généralement trop coûteuse à cause des inversions de matrices.
On résout le problème quadratique-linéaire par un algorithme itératif dédié.
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique
0)x(cd)x(csousd),x(Ld21d)x(fmin kQP
TkQPkk
2xx
TQPQP
Tk
Rd nQP
=+∇λ∇+∇∈
λ=λ+=
→
λ−λ==
+
+
λ QP1k
QPk1k
kQP
QPx dxxd
dd
−=∇=
∇=λ∇==+⇔
∈ )x(cb)x(cAet)x(fc
),x(LQavecbAdsousdcQdd21min
k
Tk
k
kk2xx
QPQPT
QPTQP
Rd nQP
( ) ( )( )
−λ=+=λ
−
−−−
cAQdbcAQAAQ
QPT1
QP
11T1QP
IQH τ+=
Techniques d’optimisation
517
3.5.3 Globalisation
Méthode de Newton
SQP avec recherche linéaire
SQP avec région de confiance
Correction d’ordre 2
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
Techniques d’optimisation
518
3.5.3 Globalisation
Méthode de Newton • La résolution des équations KKT par la méthode de Newton équivaut à
la résolution d’une suite de problèmes quadratiques → programmation quadratique séquentielle (SQP)
• La méthode de Newton n’est pas globalement convergente. → globalisation nécessaire par recherche linéaire ou région de confiance
→ fonction mérite F mesurant la progression de l’algorithme vis-à-vis - de l’amélioration du critère - du respect des contraintes → critère augmenté, lagrangien augmenté Globalisation Deux grandes méthodes de globalisation • Recherche linéaire
La solution du problème QP sert de direction de descente pour une recherche linéaire. → réglage du pas de déplacement pour améliorer la fonction mérite
• Région de confiance On ajoute au problème QP une contrainte de région de confiance. → réglage du rayon de confiance en fonction du rapport de réduction de la fonction mérite
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
Techniques d’optimisation
519
3.5.3 SQP avec recherche linéaire
Principe • On effectue une recherche linéaire suivant la direction dx de la solution du problème QP. • L’amélioration est mesurée par une fonction mérite F.
La fonction F doit prendre en compte l’amélioration du critère et le respect des contraintes. → pénalisation de la violation des contraintes → différents choix possibles
• La fonction F doit permettre de converger vers l’optimum du problème initial.
Fonction de mérite exacte F est une fonction de mérite exacte si tout minimum local x* de (PO) est aussi un minimum local sans contrainte de F x* minimum local de ⇒ x* minimum local de
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
≤=
∈ 0)x(c0)x(csous)x(fmin
I
ERx n
)x(FminnRx∈
≤=
∈ 0)x(c0)x(csous)x(fmin
I
ERx n
→ problème (PO)
Techniques d’optimisation
520
3.5.3 SQP avec recherche linéaire
Fonction mérite l1 • Problème avec contraintes égalité → contraintes actives
• Critère augmenté avec la norme 1 : F1,ρ est une fonction de mérite exacte lorsque le coefficient de pénalisation ρ est assez grand Théorème On suppose que (x*,λ*) vérifient les conditions suffisantes d’optimalité du problème (PO) F1,ρ est une fonction de mérite exacte si Réglage de ρ • ρ trop grand → mauvais conditionnement de la fonction mérite F1,ρ
difficulté de convergence • ρ trop petit → respect insuffisant des contraintes
optimum ≠ problème initial (fonction mérite F1,ρ non exacte)
0)x(csous)x(fminnRx
=∈
∑=
ρ =ρ+=m
1ii11,1 )x(c)x(cavec)x(c)x(f)x(F
∈∀≥λ∇=λ∇
*)x(Dd,0d*)*,x(Ld0*)*,x(L
2xx
T
*max im,,1iλ>ρ
=
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
avec D(x*) = cône des directions en x*
Techniques d’optimisation
521
3.5.3 SQP avec recherche linéaire
Dérivée directionnelle de F1,ρ • La direction de recherche linéaire est donnée par la solution dx du problème QP • F1,ρ n’est pas dérivable → évaluation de la dérivée directionnelle suivant la direction dx
• vérifie avec dl = λk + dλ Valeur minimale de ρ • dx est une direction de descente pour F1,ρ si
• Condition suffisante
• F1,ρ est une fonction de mérite exacte si → conditions cohérentes car dl = λk + dλ avec dλ*=0
1,1 )x(c)x(f)x(F ρ+=ρ
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
0)x(cd)x(csousd),x(Ld21d)x(fmin kQP
TkQPkk
2xx
TQPQP
Tk
Rd nQP
=+∇λ∇+∇∈
QPx dd =→
( )1kx
Tk
0s
xk,1'd,1 )x(cd)x(f
ds)sdx(dF
Fx
ρ−∇=
+=→
=
ρρ
1
xkk2xx
Tx
l )x(cd),x(Ldd λ∇
−>ρ∞
( ) ( )1lxkk
2xx
Tx
'd,1 )x(cdd),x(LdF
x ∞ρ −ρ−λ∇−≤( )'d,1
xF ρ
0),x(Lsid kk2xxl >λ∇>ρ
∞
*max im,,1iλ>ρ
=
Techniques d’optimisation
522
3.5.3 SQP avec région de confiance
Principe • On ajoute au problème quadratique local une contrainte de région de confiance.
• On peut exprimer la contrainte de région de confiance en norme 2 ou en norme ∞. • L’amélioration est mesurée par une fonction mérite F.
Le rayon de confiance est réglé en fonction du rapport de réduction de la fonction mérite. Fonction de mérite l2 • On peut prendre une fonction mérite avec pénalisation quadratique • La fonction modèle quadratique correspondante est
• Le rapport de réduction est défini par
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
≤=+∇
λ∇+∇∈ rd
0)x(cd)x(csousd),x(Ld
21d)x(fmin
QP
kQPT
kQPkk
2xx
TQPQP
Tk
Rd nQP
)dx(F)x(F
)dx(F)x(F
PQk,2k,2
PQk,2k,2
+−
+−
ρρ
ρρ
∑=
ρ =ρ+=m
1i
2i22,2 )x(c)x(cavec)x(c)x(f)x(F
2kQPT
kQPkk2xx
TQPQP
TkQP,2 )x(cd)x(cd),x(Ld
21d)x(f)d(F +∇ρ+λ∇+∇=ρ
Techniques d’optimisation
523
3.5.3 Correction d’ordre 2
Effet Maratos • La direction de déplacement obtenue en résolvant le problème QP peut simultanément :
- rapprocher de l’optimum - dégrader la fonction mérite basée sur l’amélioration du critère et des contraintes
• Ceci peut conduire à bloquer un algorithme SQP en rejetant des déplacements favorables.
Correction d’ordre 2 • On résout une 1ère fois le problème QP au point xk → solution dQP
• On évalue la valeur des contraintes au point xk + dQP → c(xk + dQP) = δc • Si la valeur de c(xk + dQP) est trop différente de 0 (non-linéarité des contraintes),
on résout une 2ère fois le problème QP au point xk en corrigeant la valeur des contraintes • On obtient une direction de déplacement qui tient compte de la non-linéarité des contraintes.
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
0cdcsousdLd21dfmin kQP
TkQPk
2xx
TQPQP
Tk
Rd nQP
=+∇∇+∇∈
→ correction d’ordre 2 ccdcsousdLd21dfmin kQP
TkQPk
2xx
TQPQP
Tk
Rd nQP
δ−=+∇∇+∇∈
Techniques d’optimisation
524
3.5.3 Exemple
Effet Maratos • Minimisation de • Solution : Point courant : • Problème QP : en prenant • Solution QP :
• Nouveau point :
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
01xx)x(csousx)1xx(2)x(f 22
211
22
21 =−+=−−+=
θθ
=sincos
x k
θθ
=∇
θ
−θ=∇→
sin2cos2
c,sin4
1cos4f
( ) ( ) 0sindcosdsousdd21sind4d1cos4min 21
22
2121d,d 21
=θ+θ++θ+−θ
23*,
01
*x −=λ
= ( )
==λ∇→
1001
I**,xL2xx
IL2xx =∇
θθ−=→θ
+θ→θ−= cossinddcos2
1tandmintandd 22222d21
2
θ−θ
θ=
θθ−θ
=→cossin
sincossin
sind
2
k
θθ−θθ+θ
=+ cossinsinsincos
x2
1k
Techniques d’optimisation
525
3.5.3 Exemple
Effet Maratos • Minimisation de On évalue en et • La contrainte : • Le critère : • L’écart à l’optimum :
Le point xk+1 est plus proche de l’optimum que le point xk, alors que : - la valeur du critère est dégradée : f(xk+1) > f(xk) - la valeur de la contrainte est dégradée : c(xk+1) ≠ 0
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
( ) ( )
θ==
⇒
−θθ−θ+θ+θ=−θ+θ=
++2
1k
k222
1k
22k
sin)x(c0)x(c
1cossinsinsincos)x(c1sincos)x(c
θθ
=sincos
x k
=
01
*x
θθ−θθ+θ
=+ cossinsinsincos
x2
1k
01xx)x(csousx)1xx(2)x(f 22
211
22
21 =−+=−−+=
( )
θ−θ=θ−=
⇒
θ+θ−=θ−=
+++ cossin)x(fcos)x(f
sincos)x(c2)x(fcos)x(c2)x(f
21k
k2
1k1k
kk
( )
( )
θ−=−⇒
θθ
θ−=−
θ−=−⇒
θ
−θ=−
++ cos1*xxsincos
cos1*xx
cos12*xxsin
1cos*xx
21k1k
2
kk
→ déplacement rejeté
Techniques d’optimisation
526
3.5.3 Exemple
Correction d’ordre 2 • Minimisation de On évalue la contrainte au point • Le problème QP est résolu une 2ème fois en corrigeant la valeur de la contrainte :
• Solution QP :
• Déplacement d’ordre 1 : tangent de norme sinθ → suppose la contrainte linéaire
• Déplacement d’ordre 2 : radial de norme sin2θ → corrige la non-linéarité
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
csin)x(c 21k δ=θ=→ +
θθ−θθ+θ
=+ cossinsinsincos
x2
1k
01xx)x(csousx)1xx(2)x(f 22
211
22
21 =−+=−−+=
( ) ( ) θ−=θ+θ++θ+−θ 221
22
2121d,d
sinsindcosdsousdd21sind4d1cos4min
21
( ) ( ) θ−θθ−=→θ+θ
++θ→θθ+−= 32
222
222d21 sincossindsind
cos21d
21tandmintansindd
2
θθ
θ−
θ−θ
θ=→sincos
sincossin
sind 2k → correction d’ordre 2
Techniques d’optimisation
527
3.5.3 Exemple
Correction d’ordre 2 • Minimisation de
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
01xx)x(csousx)1xx(2)x(f 22
211
22
21 =−+=−−+=
-1,5
-1
-0,5
0
0,5
1
1,5
-1,5 -1 -0,5 0 0,5 1 1,5
θ
Ordre 1
θ−θ
θ=→cossin
sind
Ordre 2
θθ
θ−=→sincos
sind 2
Techniques d’optimisation
528
3.5.4 Algorithme
Algorithme SQP
Exemples - Exemple 1 : comparaison Newton − SQP - Exemple 2 : SQP sans − avec globalisation - Exemple 3 : comparaison SQP − Lagrangien augmenté
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Techniques d’optimisation
529
3.5.4 Algorithme
Algorithme SQP Les principales étapes d’une itération SQP sont • construire le modèle quadratique local au point courant • résoudre le problème quadratique-linéaire • appliquer une technique de globalisation Modèle quadratique local • Sélection des contraintes actives • Mise à jour du hessien (quasi-Newton) Résolution du problème quadratique-linéaire • Modification pour avoir un hessien défini positif • Algorithme spécialisé problème quadratique Globalisation • Mise à jour de la pénalisation de la fonction mérite • Recherche linéaire ou région de confiance → grand nombre de variantes possibles → stratégies et réglages à adapter au cas par cas
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Mise à jour xk , HLk , ρk
Solution problème quadratique dQP
Globalisation dk
Techniques d’optimisation
530
3.5.4 Exemples
Exemple 1 : Comparaison Newton − SQP • Minimisation de • Comparaison de 3 méthodes : résolution exacte , méthode de Newton , algorithme SQP
Résolution exacte • Lagrangien : • Conditions KKT : → solution
Matrices utiles
• Newton :
• SQP :
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
0xx2)x(csousx6x4xx2x2x2)x(f 2212121
22
21 =−=−−−+=
( )2212121
22
21 xx2x6x4xx2x2x2),x(L −λ+−−−+=λ
=−=λ−−−
=λ+−−
0xx206x2x4
0x44x2x4
221
12
121
≈λ≈≈
00446.1*28563.2*x06902.1*x
2
1
( )
−λ−−−λ+−−
=λ
221
12
121
21
xx26x2x4
x44x2x4,x,xF ( )
−−−
−λ+=λ∇⇒
01x4142
x4244,x,xF
1
1
21
( )
−
−λ+=λ∇
42244
,xL2xx( )
−
=∇1
x4xc 1( )
−−−−
=∇6x2x44x2x4
xf12
21
Techniques d’optimisation
531
3.5.4 Exemples
Exemple 1 : Méthode de Newton
• Itération de Newton : • Point initial :
• Itération 1 :
• Nouveau point :
• La méthode de Newton converge en 7 itérations, sans globalisation.
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
( ) ( )λ−=
λ∇
λ
,x,xFddd
,x,xF 212x
1x
21
( )
−−−
−=λ∇
010142
024,x,xF 21
=
−−−
−
λ 126
ddd
010142
024
2x
1x
−−=
⇒
λ 81
1
ddd
2x
1x
−=
λ⇒
801
xx
2
1
( )
−−−
=λ→126
,x,xF 21
=
λ 010
xx
2
1
+λ++
→
λ λddxdx
xx
2x2
1x1
2
1
Techniques d’optimisation
532
3.5.4 Exemples
Exemple 1 : Méthode de Newton
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Itération x1 x2 λ f(x1,x2) c(x1,x2) F(x1,x2,λ) dF(x1,x2,λ) -6,000 4,000 -2,000 0,000 1 0,00000 1,00000 0,00000 -4,00000 -1,00000 -2,000 -2,000 4,000 -1,000 -1,000 0,000 -1,000 0,000 -32,000 -28,000 -2,000 4,000 2 1,00000 0,00000 -8,00000 -2,00000 2,00000 0,000 -2,000 4,000 -1,000 2,000 4,000 -1,000 0,000 8,640 15,200 -2,000 4,800 3 1,20000 2,80000 2,80000 -9,76000 0,08000 0,000 -2,000 4,000 -1,000 0,080 4,800 -1,000 0,000 7,4E-01 8,664 -2,000 4,346 4 1,08639 2,33466 1,16588 -10,16445 0,02582 0,0E+00 -2,000 4,000 -1,000 2,6E-02 4,346 -1,000 0,000 1,1E-02 8,027 -2,000 4,277 5 1,06933 2,28636 1,00676 -10,14342 0,00058 0,0E+00 -2,000 4,000 -1,000 5,8E-04 4,277 -1,000 0,000 2,8E-06 8,018 -2,000 4,276 6 1,06902 2,28563 1,00446 -10,14283 1,88E-07 0,0E+00 -2,000 4,000 -1,000 1,9E-07 4,276 -1,000 0,000 2,1E-13 8,018 -2,000 4,276 7 1,06902 2,28563 1,00446 -10,14283 1,60E-14 0,0E+00 -2,000 4,000 -1,000
1,6E-14 4,276 -1,000 0,000
Techniques d’optimisation
533
3.5.4 Exemples
Exemple 1 : Algorithme SQP
• Problème quadratique linéaire : • Point initial :
• Itération 1 :
• Nouveau point :
• On retrouve les itérations de la méthode de Newton sans globalisation. Le multiplicateur λ est directement le multiplicateur λQP du problème quadratique.
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
−=
λ⇒
801
xx
2
1
=
λ 010
xx
2
1
λ++
→
λ QP
2x2
1x1
2
1
dxdx
xx
0)x(cd)x(csousd),x(Ld21d)x(fmin x
Tx
2xx
Txx
T
Rd 2x
=+∇λ∇+∇∈
( )
−−
=∇→26
xf ( )
−
=∇1
0xc ( )
−
−=λ∇
4224
,xL2xx
01dd
10
sousdd
4224
dd
21
dd
26
minx2x
1x
2x
1xT
2x
1x
2x
1xT
d,d 2x1x
=−
−
−
−
+
−−
−=
−⇒
1dd4d2min
2x
1x2
1xd 1x
−==⇒ 1d
1d2x
1x 8avec QP −=λ
Techniques d’optimisation
534
Itération x1 x2 λ f(x1,x2) c(x1,x2) ∇f ∇c ∇L ∇2L(x1,x2,λ) 1 0,00000 1,00000 0,00000 -4,00000 -1,00000 -6,000 0,000 -6,000 4,000 -2,000
-2,000 -1,000 -2,000 -2,000 4,000
2 1,00000 0,00000 -8,00000 -2,00000 2,00000 0,000 4,000 -32,000 -28,000 -2,000
-8,000 -1,000 0,000 -2,000 4,000
3 1,20000 2,80000 2,80000 -9,76000 0,08000 -4,800 4,800 8,640 15,200 -2,000
2,800 -1,000 0,000 -2,000 4,000
4 1,08639 2,33466 1,16588 -10,16445 0,02582 -4,324 4,346 0,74262 8,664 -2,000
1,166 -1,000 0,00000 -2,000 4,000
5 1,06933 2,28636 1,00676 -10,14342 0,00058 -4,295 4,277 1,1E-02 8,027 -2,000
1,007 -1,000 0,0E+00 -2,000 4,000
6 1,06902 2,28563 1,00446 -10,14283 1,9E-07 -4,295 4,276 2,8E-06 8,018 -2,000
1,004 -1,000 0,0E+00 -2,000 4,000
7 1,06902 2,28563 1,00446 -10,14283 1,6E-14 -4,295 4,276 2,1E-13 8,018 -2,000
1,004 -1,000 0,0E+00 -2,000 4,000
3.5.4 Exemples
Exemple 1 : Algorithme SQP
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Techniques d’optimisation
535
3.5.4 Exemples
Exemple 2 : SQP sans − avec globalisation • Minimisation de • Différents points initiaux → globalisation nécessaire pour assurer la convergence Résolution exacte • Lagrangien : • Conditions KKT : → solution
Matrices utiles
• Gradient :
• Modification du hessien :
• Recherche linéaire : pas s suivant la direction dx (= solution du problème QP)
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
( ) 011xx)x(csousxx)x(f 22
2121 =−−+=+=
( )1)1x(xxx),x(L 22
2121 −−+λ++=λ
( )
=−−+=−λ+
=λ+
011xx0)1x(21
0x21
22
21
2
1
≈=λ≈−=
−≈−=
70711.02/1*29289.02/11*x70711.02/1*x
2
1
( )
λ
λ=λ∇
2002
,xL2xx( )
−
=∇)1x(2
x2xc
2
1( )
=∇
11
xf
( ) ( ) 02avec1001
2I,xLH 2xx >τ+λ
τ+λ=τ+λ∇=
Techniques d’optimisation
536
3.5.4 Exemples
Exemple 2 : SQP sans globalisation • Minimisation de
• Point initial : • Algorithme SQP sans globalisation → convergence rapide
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
( ) 011xx)x(csousxx)x(f 22
2121 =−−+=+=
−=
λ 11
1xx
2
1
-1
-0,5
0
0,5
1
1,5
2
2,5
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
Itération x1 x2 λ 1 1,00000 -1,00000 1,00000 2 0,00000 -0,50000 0,50000 3 -1,00000 -0,08333 0,47222 4 -0,77401 0,24973 0,60672 5 -0,70743 0,28900 0,69818 6 -0,70714 0,29291 0,70707 7 -0,70711 0,29289 0,70711
Techniques d’optimisation
537
-1
-0,5
0
0,5
1
1,5
2
2,5
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
3.5.4 Exemples
Exemple 2 : SQP sans globalisation • Minimisation de
• Point initial : • Algorithme SQP sans globalisation → convergence rapide
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
( ) 011xx)x(csousxx)x(f 22
2121 =−−+=+=
−=
λ 12
5.1xx
2
1
Itération x1 x2 λ 1 -1,50000 2,00000 1,00000 2 -1,36538 1,07692 0,42308 3 -1,11784 -0,18542 0,44290 4 -0,80352 0,21615 0,57183 5 -0,70990 0,28607 0,68889 6 -0,70718 0,29293 0,70697 7 -0,70711 0,29289 0,70711
Techniques d’optimisation
538
-1
-0,5
0
0,5
1
1,5
2
2,5
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
3.5.4 Exemples
Exemple 2 : SQP sans globalisation • Minimisation de
• Point initial : • Algorithme SQP sans globalisation → convergence lente
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
( ) 011xx)x(csousxx)x(f 22
2121 =−−+=+=
−=
λ 11
1.0xx
2
1
Itération x1 x2 λ 1 -0,10000 1,00000 1,00000 2 -5,05000 0,50000 -44,50000 3 -2,62404 0,75032 -21,27825 4 -1,50286 0,87826 -8,90106 5 -1,08612 0,96364 -2,13558 6 -1,01047 1,19247 0,31161 7 -1,33383 -0,65614 0,39510 8 -0,96379 0,10912 0,48447 9 -0,72273 0,25387 0,63996 10 -0,70890 0,29344 0,70407 11 -0,70710 0,29289 0,70710 12 -0,70711 0,29289 0,70711
Techniques d’optimisation
539
-1
-0,5
0
0,5
1
1,5
2
2,5
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
3.5.4 Exemples
Exemple 2 : SQP avec globalisation • Minimisation de
• Point initial : • Algorithme SQP avec globalisation → convergence plus rapide
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
( ) 011xx)x(csousxx)x(f 22
2121 =−−+=+=
−=
λ 11
1.0xx
2
1
Itération x1 x2 λ 1 -0,10000 1,00000 1,00000 2 -1,33750 0,87500 -44,50000 3 -1,03171 0,82117 1,63129 4 -0,94371 0,58304 0,62377 5 -0,74975 0,22132 0,65803 6 -0,71035 0,29156 0,70147 7 -0,70710 0,29288 0,70708 8 -0,70711 0,29289 0,70711
Techniques d’optimisation
540
3.5.4 Exemples
Exemple 2 : SQP avec globalisation
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Itération x1 x2 λ ∇L ∇2L(x1,x2,λ) τ dx Pas s 1 -0,10000 1,00000 1,00000 9,90000 2,00000 0,00000 0,0 -4,95000 0,25
1,00000 0,00000 2,00000 0,0 -0,50000 0,25
2 -1,33750 0,87500 -44,50000 -3,36370 -89,00000 0,00000 100,0 0,30579 1,00
0,59218 0,00000 -89,00000 100,0 -0,05383 1,00
3 -1,03171 0,82117 1,63129 -0,28710 3,26258 0,00000 0,0 0,08800 1,00
0,77690 0,00000 3,26258 0,0 -0,23812 1,00
4 -0,94371 0,58304 0,62377 -0,24198 1,24754 0,00000 0,0 0,19396 1,00
0,45126 0,00000 1,24754 0,0 -0,36172 1,00
5 -0,74975 0,22132 0,65803 -0,05185 1,31605 0,00000 0,0 0,03940 1,00
-0,09244 0,00000 1,31605 0,0 0,07024 1,00
6 -0,71035 0,29156 0,70147 -4,6E-03 1,40294 0,00000 0,0 3,2E-03 1,00
-1,9E-03 0,00000 1,40294 0,0 1,3E-03 1,00
7 -0,70710 0,29288 0,70708 4,7E-06 1,41417 0,00000 0,0 -3,3E-06 1,00
-1,7E-05 0,00000 1,41417 0,0 1,2E-05 1,00
8 -0,70711 0,29289 0,70711 -4,2E-10 1,41421 0,00000 0,0 3,0E-10 1,00
2,7E-10 0,00000 1,41421 0,0 -1,9E-10 1,00
Techniques d’optimisation
541
-1
-0,5
0
0,5
1
1,5
2
2,5
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
3.5.4 Exemples
Exemple 2 : SQP sans globalisation • Minimisation de
• Point initial : • Algorithme SQP sans globalisation → solution = maximum local
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
( ) 011xx)x(csousxx)x(f 22
2121 =−−+=+=
=
λ 111.0
xx
2
1
Itération x1 x2 λ 1 0,10000 1,00000 1,00000 2 5,05000 0,50000 -54,50000 3 2,62404 0,75028 -26,28019 4 1,50282 0,87782 -11,41974 5 1,08576 0,95907 -3,50192 6 1,00831 1,11015 -0,71030 7 0,92650 1,72824 -0,55351 8 0,70291 1,74580 -0,67324 9 0,70870 1,70662 -0,70579 10 0,70711 1,70711 -0,70710
Techniques d’optimisation
542
-1
-0,5
0
0,5
1
1,5
2
2,5
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
3.5.4 Exemples
Exemple 2 : SQP avec globalisation • Minimisation de
• Point initial : • Algorithme SQP avec globalisation → convergence
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
( ) 011xx)x(csousxx)x(f 22
2121 =−−+=+=
=
λ 111.0
xx
2
1
Itération x1 x2 λ 1 0,10000 1,00000 1,00000 2 1,33750 0,87500 -54,50000 3 1,03687 0,87643 4,23389 4 0,97837 0,75123 -0,24333 5 0,94133 0,60794 -0,35556 6 0,50173 -0,43482 -0,26135 7 -0,82925 -0,67191 0,26961 8 -1,05655 -0,18790 0,45516 9 -0,80511 0,23137 0,58156 10 -0,70800 0,28512 0,69118 11 -0,70721 0,29295 0,70699 12 -0,70711 0,29289 0,70711
Techniques d’optimisation
543
Itération x1 x2 λ ∇L ∇2L(x1,x2,λ) τ dx Pas s 1 0,10000 1,00000 1,00000 -9,90000 2,00000 0,00000 0,0 4,95000 0,25 1,00000 0,00000 2,00000 0,0 -0,50000 0,25 2 1,33750 0,87500 -54,50000 12,32567 -109,00000 0,00000 150,0 -0,30063 1,00 -0,05847 0,00000 -109,00000 150,0 0,00143 1,00 3 1,03687 0,87643 4,23389 0,49539 8,46779 0,00000 0,0 -0,05850 1,00 1,06014 0,00000 8,46779 0,0 -0,12520 1,00 4 0,97837 0,75123 -0,24333 0,30426 -0,48667 0,00000 1,0 -0,59272 0,06 1,17691 0,00000 -0,48667 1,0 -2,29267 0,06 5 0,94133 0,60794 -0,35556 0,50796 -0,71112 0,00000 1,0 -1,75838 0,25 1,20493 0,00000 -0,71112 1,0 -4,17104 0,25 6 0,50173 -0,43482 -0,26135 1,27054 -0,52271 0,00000 1,0 -2,66197 0,50 0,22632 0,00000 -0,52271 1,0 -0,47418 0,50 7 -0,82925 -0,67191 0,26961 0,24512 0,53921 0,00000 0,0 -0,45458 0,50 -0,52197 0,00000 0,53921 0,0 0,96802 0,50 8 -1,05655 -0,18790 0,45516 -0,22888 0,91032 0,00000 0,0 0,25143 1,00 -0,38167 0,00000 0,91032 0,0 0,41927 1,00 9 -0,80511 0,23137 0,58156 -0,11295 1,16311 0,00000 0,0 0,09711 1,00 -0,06252 0,00000 1,16311 0,0 0,05376 1,00
10 -0,70800 0,28512 0,69118 -1,1E-03 1,38235 0,00000 0,0 8,0E-04 1,00 -1,1E-02 0,00000 1,38235 0,0 7,8E-03 1,00
11 -0,70721 0,29295 0,70699 -1,4E-04 1,41398 0,00000 0,0 1,0E-04 1,00 8,0E-05 0,00000 1,41398 0,0 -5,7E-05 1,00
12 -0,70711 0,29289 0,70711 1,2E-08 1,41421 0,00000 0,0 -8,4E-09 1,00 -2,5E-08 0,00000 1,41421 0,0 1,8E-08 1,00
3.5.4 Exemples
Exemple 2 : SQP avec globalisation
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Techniques d’optimisation
544
3.5.4 Exemples
Exemple 3 : Comparaison SQP − Lagrangien augmenté • Minimisation de
• Point initial : Solution :
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
23,
01
*x −=λ
=
01xx)x(csousx)1xx(2)x(f 22
211
22
21 =−+=−−+=
0,3.15.0
x =λ
=
-1,5
-1
-0,5
0
0,5
1
1,5
-1,5 -1 -0,5 0 0,5 1 1,5
-1,5
-1
-0,5
0
0,5
1
1,5
-1,5 -1 -0,5 0 0,5 1 1,5
SQP Lagrangien augmenté
Techniques d’optimisation
545
3.5.4 Exemples
Exemple 3 : Comparaison SQP − Lagrangien augmenté
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
SQP Lagrangien augmenté Itération x1 x2 λ x1 x2 λ
1 0,50000 1,30000 0,00000 0,50000 1,30000 0,00000 2 0,59665 0,90129 -1,38660 0,40707 0,34917 -0,71238 3 1,12042 0,46118 -1,70047 0,73467 0,63433 -1,29122 4 1,18366 -0,19988 -1,57065 0,91556 0,39077 -1,38175 5 1,03482 0,02190 -1,52359 0,98869 0,16985 -1,38175 6 1,00084 -0,00103 -1,50118 0,99953 0,04158 -1,30283 7 1,00000 0,00000 -1,50000 0,99905 -0,00320 -1,49103 8 0,99995 0,00171 -1,50003 9 1,00000 0,00045 -1,50003
Convergence rapide, très précise Convergence plus lente, moins précise → suivi de la contrainte → conditionnement
Techniques d’optimisation
546
Sommaire 1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes
3.1 Simplexe 3.2 Point intérieur 3.3 Gradient projeté 3.4 Lagrangien augmenté 3.5 Programmation quadratique séquentielle 3.6 Convergence
3.6.1 Convergence globale 3.6.2 Comparaison des algorithmes 3.6.3 Difficultés pratiques
3 Optimisation avec contraintes 3.6 Convergence
Techniques d’optimisation
547
3.6.1 Convergence globale
Problème sans contraintes Convergence globale • Un algorithme générant une suite (xk)k∈N à partir du point x0 est globalement convergent si
• Convergence globale = convergence vers un point stationnaire
≠ convergence vers le minimum global
• Le domaine de convergence est l’ensemble des points initiaux x0 à partir desquels on a la convergence globale.
• Le domaine de convergence peut être très réduit lorsque :
- la fonction est très non linéaire - la fonction est mal conditionnée → difficulté principale de la méthode de Newton
0)x(flim kk=∇
∞→
3 Optimisation avec contraintes 3.6 Convergence 3.6.1 Convergence globale
)x(fminnRx∈
Techniques d’optimisation
548
3.6.1 Convergence globale
Descente avec recherche linéaire • Un algorithme à base de recherche linéaire génère une suite (xk)k∈N à partir du point x0 :
- suivant des directions dk - avec des pas sk
• On suppose que : - les directions dk sont des directions de descente - les pas sk vérifient les conditions de Wolfe - le gradient de la fonction est continu au sens de Lipschitz • Si les directions ne deviennent pas « trop » orthogonales au gradient :
alors l’algorithme est globalement convergent pour tout x0∈Rn :
→ condition vérifiée par : - la méthode de plus forte pente - la méthode de Newton si le conditionnement du hessien est borné - les méthodes incluant des itérations périodiques de plus forte pente → méthodes globalement convergentes
kkk1k dsxx +=→ +
3 Optimisation avec contraintes 3.6 Convergence 3.6.1 Convergence globale
∇>+∇∇+<+→
kT
k2kT
kk
kT
k1kkk
d)x(fcd)sdx(fd)x(fsc)x(f)sdx(f
0d)x(f kT
k <∇→
k,d)x(fd)x(f
kk
kT
k ∀ε≥∇∇
−
0)x(flim kk=∇
∞→
Techniques d’optimisation
549
3.6.1 Convergence globale
Eléments de la démonstration θk = angle entre le gradient ∇f(xk) et la direction de descente dk • Théorème de Zoutendijk : Démontré à partir de : (condition de Lipschitz) et (conditions de Wolfe) • Méthode de plus forte pente : • Méthode de Newton : (conditionnement borné)
En utilisant le théorème de Rayleigh-Ritz : (valeurs propres σ1≥… ≥ σn)
kk
kT
kk
k
2kk
2
dfdfcosavecfcos
∇∇
−=∞<∇∑ θθ
3 Optimisation avec contraintes 3.6 Convergence 3.6.1 Convergence globale
∇>+∇∇+<+
kT
k2kT
kk
kT
k1kkk
d)x(fcd)sdx(fd)x(fsc)x(f)sdx(f
MHHavecfHd 1kkkkk <∇−= −
kk fd −∇=
0)x(flimM/1cos kkk =∇⇒>⇒∞→
θ
y,x,xyL)x(f)y(f ∀−≤∇−∇
xxAxxminσ,
xxAxxmaxσ T
T
0xnT
T
0x1 ≠≠==
0)x(flim1cos kkk =∇⇒=⇒∞→
θ
0f0cos
ouk
k2
→∇→
⇒θ
Techniques d’optimisation
550
3.6.2 Comparaison des algorithmes
Classification • Méthodes primales • Méthodes primales-duales • Méthodes duales
3 Optimisation avec contraintes 3.6 Convergence 3.6.2 Comparaison des algorithmes
Méthode primale Méthode primale-duale Méthode duale
Problème traité problème primal problème primal problème dual
Objectif min f - méthode directe - point stationnaire
solution KKT - méthode indirecte - point stationnaire
max w - méthode indirecte - point col
Itérations admissibles admissibles ou non non admissibles
Variables primales x primales x , duales λ primales x , duales λ
Algorithmes - simplexe (LP) - gradient projeté - pénalisation
- point intérieur (LP, NLP) - séquentiel quadratique - lagrangien augmenté
- Uzawa
Techniques d’optimisation
551
3.6.2 Comparaison des algorithmes
3 Optimisation avec contraintes 3.6 Convergence 3.6.2 Comparaison des algorithmes
Méthode (auteurs, date) Type Convergence Avantages Difficultés
Plus forte pente (Cauchy 1847)
sans contraintes linéaire convergence globale convergence lente si mauvais conditionnement
Quasi-Newton (DFP 1959, BFGS 1970)
sans contraintes superlinéaire quadratique
1 minimisation par itération hessien défini positif stockage mémoire (n2)
Gradient conjugué (Hestenes 1951, Stiefel 1952) (Fletcher-Reeves 1964)
sans contraintes superlinéaire quadratique
stockage mémoire réduit hessien défini positif n minimisations par itération
Simplexe (Dantzig 1950)
problème linéaire exponentiel vitesse de convergence itérations admissibles
algorithme exponentiel dégénérescence
Gradient projeté, réduit (Rosen 1960, Wolfe 1962) (Abadie-Carpentier 1969)
primale itérations admissibles convergence lente si - mauvais conditionnement - non linéarités fortes
Séquentiel quadratique primale-duale quadratique (Newton)
vitesse de convergence globalisation nécessaire itérations non admissibles
Pénalisation extérieure (Fiacco-Mc Cormick 1968)
primale quadratique (Newton)
sans contraintes précision contraintes conditionnement
Pénalisation intérieure Point intérieur (Karmarkar 1984)
primale-duale problème linéaire
quadratique (Newton)
algorithme polynomial (LP) précision contraintes
Lagrangien augmenté (Hestenes 1969, Powell 1969)
primale-duale quadratique (Newton)
sans contraintes précision contraintes
Uzawa (1958) duale linéaire sans contraintes précision contraintes
Techniques d’optimisation
552
3.6.3 Difficultés pratiques
Qualité du minimum recherché • Minimum global approché → méthodes aléatoires (heuristiques), dites « globales » • Minimum local précis → méthodes déterministes (gradient), dites « locales » Principales difficultés des méthodes locales • Initialisation : le minimum est recherché au voisinage du point initial.
→ Essayer plusieurs points initiaux → Evaluer la qualité de la solution obtenue (connaissance expérimentale du problème)
• Contraintes actives : il faut identifier à chaque itération les contraintes actives (→ égalité)
→ Stratégie d’activation / désactivation des contraintes en fonction du déplacement • Précision numérique : l’évaluation du critère et des contraintes est bruitée. → Adapter les incréments pour les gradients → Adapter les seuils de précision et les tests d’arrêts • Conditionnement : les valeurs numériques doivent être du même ordre de grandeur
→ Mise à l’échelle des variables et des fonctions (critère, contraintes) → Mise à l’échelle des dérivées premières (jacobien) et secondes (hessien) On ne peut pas tout mettre à l’échelle simultanément → essais
3 Optimisation avec contraintes 3.6 Convergence 3.6.3 Difficultés pratiques
Techniques d’optimisation
553
Résumé
Bases théoriques • Différentiabilité : gradient, hessien, jacobien, lignes de niveau (§1.1.3) • Contraintes linéaires : base, solution de base, direction de base (§1.2.2) • Conditions d’optimalité : lagrangien, conditions KKT (§1.4.3) Optimisation sans contraintes • Méthode de Newton : principe, quasi-Newton, globalisation (§2.2) • Moindres carrés linéaires : équations normales (§2.5.3) Optimisation avec contraintes • Programmation linéaire : simplexe (§3.1.3)
→ méthode des tableaux, méthode des 2 phases • Programmation non linéaire : gradient projeté/réduit (§3.3)
lagrangien augmenté (§3.4) SQP (§3.5) → principes de chaque algorithme
Difficultés pratiques • Minima locaux • Précision numérique
Techniques d’optimisation
554
Bibliographie
Livres en français
• Programmation mathématique (M. Minoux) • Introduction à l’optimisation différentiable (M. Bierlaire) • Optimisation continue (F. Bonnans) • Optimisation discrète (A. Billionnet) Livres en anglais
• Practical optimization (P. E. Gill, W. Murray, M. H. Wright) • Numerical optimization (J. Nocedal, S. J. Wright) • Practical methods of optimization (R. Fletcher) • Practical mathematical optimization (J. A. Snyman) • Numerical optimization (J. F. Bonnans, J. C. Gilbert, C. Lemaréchal, C. A. Sagastizabal) • Numerical recipes in Fortran (W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery) • Numerical methods for unconstrained optimization and nonlinear equations (J. E. Dennis, R. B.
Schnabel)