Vous êtes sur la page 1sur 1661

Techniques d’optimisation

Optimisation continue – discrète – fonctionnelle

Théorie – Algorithmes – Exemples

Max CERF
2018

1
Max CERF
Techniques d’optimisation 2018

Sommaire
1. Bases théoriques

2. Optimisation sans contraintes

3. Optimisation avec contraintes

4. Optimisation discrète

5. Optimisation fonctionnelle

« Je suis capable du meilleur et du pire.


Mais dans le pire, c’est moi le meilleur. » (Coluche) 2
1 Bases théoriques Max CERF
Techniques d’optimisation 2018

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

4. Optimisation discrète

5. Optimisation fonctionnelle

3
1 Bases théoriques Max CERF
1.1 Définitions
Techniques d’optimisation 2018

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
4. Optimisation discrète
5. Optimisation fonctionnelle

4
1 Bases théoriques Max CERF
1.1 Définitions
1.1.1 Problème d’optimisation
Techniques d’optimisation 2018

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

5
1 Bases théoriques Max CERF
1.1 Définitions
1.1.1 Problème d’optimisation
Techniques d’optimisation 2018

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

6
1 Bases théoriques Max CERF
1.1 Définitions
1.1.1 Problème d’optimisation
Techniques d’optimisation 2018

1.1.1 Formulation
Formulation mathématique
c E (x)  0
minn f(x) sous c I (x)  0  formulation standard
xR
x  X 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 x  R n  f(x)  R

• cE : p contraintes d’égalité  fonction de Rn dans Rp


x  R n  c E (x)  R p

• cI : q contraintes d’inégalité  fonction de Rn dans Rq


x  R n  c I (x)  R q

• X : ensemble convexe X  Rn  valeurs admissibles des variables

7
1 Bases théoriques Max CERF
1.1 Définitions
1.1.1 Problème d’optimisation
Techniques d’optimisation 2018

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

8
1 Bases théoriques Max CERF
1.1 Définitions
1.1.1 Problème d’optimisation
Techniques d’optimisation 2018

1.1.1 Norme
Norme vectorielle sur Rn
 x 0
 x 0  x 0
• Fonction . : Rn R vérifiant 
 xy  x  y

n  αx  α x

p
• Norme p : x p p xi
i 1
x2
• Norme  : x 
 max x i x
i 1,..., n 
x
• Norme 2 = norme euclidienne

x 2
Norme matricielle
x1
x
• Norme induite sur Rmn par la norme vectorielle . 1

Ax
• Fonction . : R mn  R définie par A m n
 max
m n xR n , x  0 x

9
1 Bases théoriques Max CERF
1.1 Définitions
1.1.1 Problème d’optimisation
Techniques d’optimisation 2018

1.1.1 Suite
Suite dans Rn
• Suite :  xk , k=0,1,2,… = x0 , x1 , x2 ,…, xn, …

• Limite : lim x k  x *  lim x k  x *


k  k 

Vitesse de convergence
• Convergence linéaire : x k 1  x *  c x k  x * avec 0  c  1
 lent à partir d’un certain rang k0

• Convergence superlinéaire : x k 1  x *  c k x k  x * avec lim c k  0


k 
 bonne à partir d’un certain rang k0
p
• Convergence d’ordre p : x k 1  x *  c x k  x * avec 0  c  1
à partir d’un certain rang k0

• Convergence quadratique si p=2


 rapide

10
1 Bases théoriques Max CERF
1.1 Définitions
1.1.2 Solution
Techniques d’optimisation 2018

1.1.2 Solution

 Solution admissible

 Minimum
- Minimum local
- Minimum global
- Infimum

 Problèmes équivalents
- Transformations simples

 Contrainte active

 Point intérieur

11
1 Bases théoriques Max CERF
1.1 Définitions
1.1.2 Solution
Techniques d’optimisation 2018

1.1.2 Solution admissible


Solution admissible

x solution admissible de (PO)  x satisfait les contraintes c E (x)  0


(ou point admissible) c I (x)  0
x  X
Ensemble admissible
 
X adm  x  R n / c E (x)  0 , c I (x)  0 , x  X
Non 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)

12
1 Bases théoriques Max CERF
1.1 Définitions
1.1.2 Solution
Techniques d’optimisation 2018

1.1.2 Minimum
Minimum global (= meilleure solution dans l’absolu)
• x* minimum global de (PO)  x  X adm , f(x*)  f(x)
• x* minimum global strict  x  X adm , f(x*)  f(x) si x  x *

Minimum local (= meilleure solution dans un voisinage)


• x* minimum local de (PO)  ε  0 / x  X adm , x  x *  ε , f(x*)  f(x)
• x* minimum local strict  ε  0 / x  X adm , x  x *  ε , f(x*)  f(x) si x  x *

Sans contrainte Avec contrainte


f(x) f(x)

minimum global strict


minima locaux
minimum local strict

minimum global strict Non admissible Admissible

x Xadm x
13
1 Bases théoriques Max CERF
1.1 Définitions
1.1.2 Solution
Techniques d’optimisation 2018

1.1.2 Infimum
Borne inférieure
f : Rn  R f bornée inférieurement sur Y  Rn
 M  R / x  Y , M  f(x)

Infimum
• Infimum de f sur Y = plus grande borne inférieure

• Notation : inf Y f  inf f(y) , y  Y

x  Y , inf Y f  f(x)


• Propriété : et
M  inf Y f , x  Y / f(x)  M

Théorème de Weierstrass
• f atteint son infimum si f continue, Y compact : x*  Y / f(x*)  inf Y f

• Conditions réalisées en pratique : fonctions continues, intervalles fermés


 Le problème (PO) admet une solution x*.

14
1 Bases théoriques Max CERF
1.1 Définitions
1.1.2 Solution
Techniques d’optimisation 2018

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.

x1 X1adm x2 X2adm
f1(x1) f1(x1)=f2(x2) f2(x2)

(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 : max f(x)  min  f(x)


x x

• Contrainte inférieur / supérieur : c(x)  0   c(x)  0


x   0
• Variables positives : x  x   x  avec  
x  0
c(x)  y  0
• Variables d’écart : c(x)  0    c(x)  z 2  0
y  0
15
1 Bases théoriques Max CERF
1.1 Définitions
1.1.2 Solution
Techniques d’optimisation 2018

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


   j / c
C act (x)  j / c Ej (x)  0 Ij 
(x)  0

• 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é.
c (x)  0
min f(x) sous  E  min f(x) sous c j (x)  0, j  C act (x*) noté min f(x) sous c(x)  0
xR n
c I (x)  0 xR n
xR n

16
1 Bases théoriques Max CERF
1.1 Définitions
1.1.2 Solution
Techniques d’optimisation 2018

1.1.2 Exemple
Contrainte active
x 1
min x 2  1 sous 
f(x) f(x)=x2
 x*  1
xR x  2

1. Minimum sans contrainte


min x 2  1  x*  0
xR

• Respecte la contrainte x2


• Ne respecte pas la contrainte x  1
 Activation de la contrainte x = 1
admissible
2. Minimum avec contrainte active x = 1 0 1 2 x
min x 2  1 sous x  1  x*  1
xR

• Respecte la contrainte x2 Minimum sans contrainte


• Respecte la contrainte x1 Minimum avec contrainte
 Solution du problème

3. Bilan : 1 contrainte active x  1  transformée en égalité


1 contrainte inactive x  2  ignorée
17
1 Bases théoriques Max CERF
1.1 Définitions
1.1.2 Solution
Techniques d’optimisation 2018

1.1.2 Point intérieur


Point intérieur
y point intérieur à Y
 Il existe un voisinage de y contenu dans Y : ε  0 / z, z - y  ε , z  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é min f(x) sous c I (x)  0
xR n
• Si x* est un point intérieur, alors
x* minimum local du problème sans contraintes min f(x)  plus simple
xR n

Point intérieur - Contrainte inactive Contrainte active

x*
x*

18
1 Bases théoriques Max CERF
1.1 Définitions
1.1.2 Solution
Techniques d’optimisation 2018

1.1.2 Exemple
Point intérieur
f(x) f(x)=x2
min x 2  1 sous x  1  x*  0
xR

1. Ensemble admissible
X adm  x  R / x  1  ]   ,1]
2. Ensemble intérieur à la contrainte
X int  x  R / x  1  ]   ,1[

X int  X adm  1


admissible
0 1 x
xXint  voisinage de x inclus dans Xint
 intervalle ouvert
Minimum avec contrainte
3. Solution : x*=0

x*Xint intérieur à la contrainte  contrainte inactive

19
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

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
- Dérivée complexe
- Méthode d’extrapolation
20
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Gradient
Différentiabilité ordre 1
f fonction continue de Rn dans R

Dérivée partielle f(x) f(x ,.., x i  s,.., x n )  f(x1 ,.., x i ,.., x n )


Dérivée partielle de f en x par rapport à xi : f x i (x)   lim 1
x i s0 s
si la limite existe
 f(x) 
Gradient  
 f(x)  
 1 
x
Gradient de f en x : g(x)  f(x)
g(x)      ... 
g(x) : R n  R n  x i  i 1,..., n  f(x) 
si toutes les dérivées partielles existent  

 n 
x
Dérivée directionnelle f(x  sd) - f(x)
Dérivée directionnelle de f en x dans la direction dRn : f d (x)  lim
s 0 s
si la limite existe
(dérivée directionnelle = produit scalaire avec le gradient)  f d (x)  g(x) T d

Fonction différentiable
f différentiable en x  f admet une dérivée directionnelle pour tout dRn

21
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Hessien
Différentiabilité ordre 2
f fonction deux fois différentiable de Rn dans R

Hessien   2 f(x)  2 f(x) 


 ... 
Hessien de f en x : H(x)   2 f(x)   2 f(x)    x1
2
x 1x n 
H(x) : R n  R nn H(x)     ... ... ... 
 x i x j    2 f(x) 
  i, j1,..., n  f(x)
2
 ... 
 x n x 1 2xn 
 
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 : ' (s)  d T f(x  sd)  ' (0)  d T g(x)


Dérivée seconde : ' ' (s)  d T  2 f(x  sd)d  ' ' (0)  d H(x)d
T

d T H(x)d
La courbure de f en x dans la direction d est définie par :
dTd
 normalisation de ’’ en s=0
= quotient de Rayleigh de H(x) dans la direction d

22
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Jacobien
Matrice gradient
c fonction continue de Rn dans Rm

Gradient de c en x : c(x) : R n  R nm


 c1 (x) c m (x) 
 ... 
 c j (x)   x 1 x 1 
c(x)  c1 (x) ,..., c m (x)    
   ... ... ... 
  x i  i 1,..., n  c1 (x) c m (x) 
j1,..., m
 x ...
x n 
 n 
Matrice jacobienne (« jacobien » = déterminant de Jc)
 c1 (x) c1 (x) 
 c1 (x)  T  ... 
   c (x)    x 1  x n 
J c (x)  c(x) T   ...    i    ... ... ... 
 T
 x j  i 1,..., n  c m (x) c m (x) 
 c (x)    j1,..., m
 m   x ...
x n 
 1 
Contraintes du problème (PO)
Matrice jacobienne regroupant les contraintes égalité cE et les contraintes inégalité cI
 J E (x)   c E (x) T 
J(x) : R  R
n ( p  q) n
J(x)    T 
 J I (x)   c I (x) 
23
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Théorème de Taylor


Théorème de Taylor
f fonction de Rn dans R : x  R  f(x)  R
n

dRn : déplacement à partir de x

• Ordre 1
f continument différentiable 1 fois au voisinage de x

f(x  d)  f(x)  f(x) T d  o d 


Il existe s[0,1] tel que : f(x  d)  f(x)  f(x  sd) T d

• Ordre 2
f continument différentiable 2 fois au voisinage de x

f(x  d)  f(x)  f(x) T d 


1 T 2
2
 
d  f(x)d  o d
2

1 T 2
Il existe s[0,1] tel que : f(x  d)  f(x)  f(x) T d  d  f(x  sd)d
2

24
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Modèle quadratique-linéaire


Problème avec contraintes égalité
minn f(x) sous c(x)  0  contrainte actives
xR

Fonction modèle
• Application du théorème de Taylor au point x0Rn
1
Modèle quadratique du critère : f̂ 0 (x)  f(x 0 )  f(x 0 ) (x  x 0 )  (x  x 0 )  f(x 0 )(x  x 0 )
T T 2

2
• Modèle linéaire des contraintes : ĉ 0 (x)  c(x 0 )  c(x 0 ) T (x  x 0 )

Problème quadratique-linéaire local



Au voisinage de x0 : f (x)  f̂ 0 (x)
c(x)  ĉ 0 (x)

min f̂ 0 (x) sous ĉ 0 (x)  0  Problème quadratique-linéaire


xR n

- localement « proche » du problème initial


- plus simple à résoudre

25
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Exemple
Modèle quadratique : fonction de 1 variable

• Fonction : f ( x )   x 4  12x 3  47 x 2  60x

• Gradient :  f ( x )  4x 3  36x 2  94x  60

• Hessien :  2 f ( x )  12x 2  72x  94

• Modèle quadratique en x0 = 3 : f ( x 0 )  0 , f ( x 0 )  6 ,  2 f ( x 0 )  14

f̂ 0 ( x )  6x  3  14x  3  7 x 2  48x  81


1 2

2
• Modèle quadratique en x0 = 4 : f ( x 0 )  0 , f ( x 0 )  4 ,  2 f ( x 0 )  2

f̂ 0 ( x )  4x  4  2x  4  x 2  4x
1 2

2
• Modèle quadratique en x0 = 5 : f ( x 0 )  0 , f ( x 0 )  10 ,  2 f ( x 0 )  34

f̂ 0 ( x )  10x  5  34x  5  17 x 2  160x  375


1 2

2
26
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Exemple
Modèle quadratique : fonction de 2 variables

• Fonction : 
f ( x 1 , x 2 )  100 x 2  x 12   1  x 
2
1
2
 fonction de Rosenbrock

 
  400 x 2  x 12 x 1  21  x 1 
 f ( x )   
• Gradient :
 200 x 2  x 1 
2
 

• Hessien : 2  
  400 x 2  3x12  2  400x1 
 f ( x )   
 
 400 x 1 200 
 0  802  400 
• Modèle quadratique en x0 = (1,1) : f ( x 0 )  0 , f ( x 0 )    ,  2 f ( x 0 )   
 
0   400 200 
T
1  x 1  802  400  x 1  1 
f̂ 0 ( x 1 , x 2 )   1    
2  x 2  1   400 200  2 
x  1

 f̂ 0 ( x 1 , x 2 )  401x 1  1  400x 1  1x 2  1  100x 2  1


2 2

27
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

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
f(x  d)  f (x)  g T d  o d , d  R n
1
• Fonction quadratique : f(x)  x T Qx  c T x  b Q matrice symétrique
2
f(x  d)  (x  d)T Q(x  d)  cT (x  d)  b  f(x)  Qx  c  d  d T Qd
1 T 1
2 2
 f(x)  Qx  c 2f(x)  Q
Gradient d’une fonction vectorielle
• Le gradient de f : Rn  Rp en x est la matrice GRnp telle que
f(x  d)  f(x)  GT d  o d , d  R n

• Fonction composée : f(x)  h g(x)  avec f : R n  R p , g : R n  R m , h : R m  R p

 
f(x  d)  hg(x  d)   h g(x)  g(x) T d  o d   hg(x)   hg(x)  g(x) T d  o d
T

 f(x)  g(x)hg(x) 
Fonction linéaire : g(x)  Ax  g(x  d)  Ax  Ad  g(x)  A
T

f(x)  h Ax  f(x)  A T h Ax
28
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Ligne de niveau


Définition
• Ligne (ou surface) de niveau l0 de la fonction f

L 0  x  R n / f(x)  l 0  hypersurface dans Rn (sous-espace de dimension n-1)

• Ligne de niveau passant par x0


L 0  x  R n / f(x)  f(x 0 ) avec f(x)  f(x 0 )  f(x 0 ) (x  x 0 )  o x  x 0
  
T
à l' ordre1

Gradient
x  L 0  f(x)  f(x 0 )  f(x 0 ) T (x  x 0 )  0  hyperplan tangent à L0 en x0
Le gradient de f est orthogonal aux lignes de niveaux.

f(x1,x2)
x2
x2

x*
x*
f
f
x1 x1 29
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Exemple
Ligne de niveau : fonction quadratique

f ( x 1 , x 2 )  x 12  25x 22
x2

0.2

f=0 0,5 1 x1

30
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Exemple
Ligne de niveau : fonction de Rosenbrock


f ( x1 , x 2 )  100 x 2  x12   1  x 
2
1
2

5,0

4,0
Lignes de niveau
f=0.5 , 1 , 4 , 7 , 10

3,0

2,0

1,0
Minimum en x*=(1,1)

0,0
-2,5 -2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

-1,0
31
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

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
1 i 1 i i 1 n
x  x  he i avec e i  (0, , 0 ,1, 0 , , 0) T , i  1 à n
Gradient
f f(x  he i )  f(x)
• Différence finie simple : (x)   o( h )
amont si h<0 x i h
aval si h>0  n appels fonction pour évaluer f(x)
f f(x  he i )  f(x  he i )
• Différence finie centrée : (x)   o( h 2 )
plus précis x i 2h
 2n appels fonction pour évaluer f(x)

Hessien
 2f f(x  he i  he j )  f(x  he i )  f(x  he j )  f(x)
• Différence finie simple : (x)   o( h )
x i x j h2
 n(n+1)/2+n appels fonction pour évaluer 2f(x)
32
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

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 eval (x)  f exact (x)(1  ε r )  f exact (x)  ε f  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.

h f' ' (x 0  sh) avec s  0,1


1 2
• f(x 0  h)  f(x 0 )  hf' (x 0 ) 
2
avec ε t  M majorant de f ' ' ( x ) sur x 0 , x 0  d 
1
• f(x 0  h)  f(x 0 )  hf' (x 0 )  h 2 ε t
2
33
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Dérivées numériques


Erreur sur la dérivée
f eval (x 0  h)  f eval (x 0 )
'
f eval (x 0 )  avec
h
• f eval (x 0 )  f exact (x 0 )  εf  arrondi sur feval(x0)
• f eval (x 0  h)  f exact (x 0  h)  εf  arrondi sur feval(x0+h)
1 2
• f exact (x 0  h)  f exact (x 0 )  hf exact
'
(x 0 )  h εt  troncature sur fexact(x0+h)
2
En remplaçant dans l’expression de f’eval(x0) :
1 2
'
hf exact (x 0 )  h ε t  2ε f
f exact (x 0  h)  f exact (x 0 )  2ε f 2
 f eval
'
(x 0 )  
h h
hε 2ε
 f eval
'
(x 0 )  f exact
'
(x 0 )  t  f
2 h
hε t 2ε f
L’erreur maximale sur la dérivée numérique est : f '  
2 h

34
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Dérivées numériques


Incrément optimal
hε t 2ε f
• On choisit l’incrément pour minimiser l’erreur : min  f '  
h 2 h
d f ' ε t 2ε f εf
  2 0  h opt  2
dh 2 h εt
 f '  2 ε f ε t

hopt
• 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 :

h opt  ε f  incrément de l’ordre de la racine de la précision d’évaluation de f

f '  ε 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)

35
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Exemple
Dérivée numérique
f ( x )  x 4  x 2  f ' ( x )  4x 3  2x

• Dérivée en x=1 : f(1) = 6


f (x  h)  f (x)
• Dérivée numérique avec incrément h  erreur e(h )   f ' (x)
h
1
h (f(x+h)-f(x))/h Erreur log(h) 0
1E-01 6,7410000000 7,410E-01
-16 -14 -12 -10 -8 -6 -4 -2 0
1E-02 6,0704010000 7,040E-02 -1
1E-03 6,0070040010 7,004E-03 -2
1E-04 6,0007000400 7,000E-04
-3
1E-05 6,0000700004 7,000E-05
1E-06 6,0000069997 7,000E-06 -4
1E-07 6,0000007007 7,007E-07 -5
1E-08 6,0000000079 7,944E-09 -6
1E-09 6,0000004964 4,964E-07
-7
1E-10 6,0000004964 4,964E-07 log(e)
1E-11 6,0000004964 4,964E-07 -8
1E-12 6,0005334035 5,334E-04 -9
1E-13 5,9952043330 -4,796E-03
1E-14 5,9952043330 -4,796E-03
1E-15 6,6613381478 6,613E-01 incrément adapté
36
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Dérivées numériques


Dérivée complexe
On peut améliorer la précision sur la dérivée par différence finie en nombres complexes.


h2 h3
 
Développement de f en x0 : f ( x 0  h )  f ( x 0 )  hf ' ( x 0 )  f ' ' ( x 0 )  f ' ' ' ( x 0 )  o h 3
2 6
• Estimation de la dérivée avec un incrément réel h
f (x 0  h)  f (x 0 )
h
h
2
h2
 f ' (x 0 )  f ' ' (x 0 )  f ' ' ' (x 0 )  o h 2
6
   précision de l’ordre de h

L’incrément h ne peut pas être choisi trop petit  h  εf


à cause de l’erreur d’arrondi

• Estimation de la dérivée avec un incrément imaginaire ih


f ( x 0  ih )  f ( x 0 )
h
h h2
 
 if ' ( x 0 )  f ' ' ( x 0 )  i f ' ' ' ( x 0 )  o h 2
2 6
 f ( x 0  ih )  f ( x 0 ) 
 Im
h2
 
  f ' (x 0 )  f ' ' ' (x 0 )  o h
2
 précision de l’ordre de h2
 h  6
L’incrément h peut être choisi à la précision machine  h  εf
car il ne porte que sur la partie imaginaire de f
37
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Dérivées numériques


Dérivée complexe
• La dérivée numérique est évaluée par différence finie complexe.
 f ( x 0  ih )  f ( x 0 ) 
f ' ( x 0 )  Im 
 h 
• Il faut que l’ensemble du logiciel soit écrit en variables complexes
pour propager l’incrément imaginaire ih de x0+ih à f(x0+ih).
 Programmation directe en déclarant des variables complexes
ou
 Surcharge d’opérateurs pour effectuer toutes les opérations en complexes

Exemple
f ( x )  x 2  f ' ( x )  2x
f (x 0  h)  f (x 0 ) (x 0  h)2  (x 0 )2
• Différence finie réelle :   2x 0  h  erreur = h
h h
f ( x 0  ih )  f ( x 0 ) ( x 0  ih ) 2  ( x 0 ) 2
• Différence finie imaginaire :   2ix 0  h 2
h h
 f ( x 0  ih )  f ( x 0 ) 
 Im   2x 0  valeur exacte
 h 
38
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Dérivées numériques


Méthode d’extrapolation
f(x 0  h )  f(x 0 )
• La dérivée de f en x0 est par définition : f' (x 0 )  lim
h 0 h
L’approximation par différence finie comporte une erreur de troncature en o(h).
La réduction de l’incrément h introduit une erreur d’arrondi liée à la précision machine.

Pour améliorer la précision, on peut appliquer la méthode d’extrapolation de Richardson.

• On cherche la limite a0 d’une fonction A(h) non définie en h = 0.

lim A(h )  a 0 → à évaluer


h 0

Le développement de Taylor à l’ordre n de A en 0 est

A ( h )  a 0  a 1h  a 2 h 2    a n h n  o ( h n )

• La méthode d’extrapolation de Richardson consiste à :


- évaluer la fonction A en plusieurs points h0 , h1 , … , hm
- combiner les valeurs Ak = A(hk) pour éliminer les termes du développement de Taylor

39
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Extrapolation
Développement de Taylor
• On choisit un incrément h > 0 et un rapport r : 0 < r < 1.
La fonction A est évaluée en m+1 points h0 , h1 , … , hm définis par : h k  r k h
1 h h h
Pour r  (valeur usuelle) : h 0  h , h1  , h2  , h3  , 
2 2 4 8

• On calcule les valeurs de A aux points hk : A k ,0  A(h k ) → m+1 valeurs de rang 0


def

En utilisant le développement de Taylor : A ( h )  a 0  a 1h  a 2 h 2    a n h n  o ( h n )

on obtient à l’ordre n : A 0,0  A ( r 0 h )  a 0  a 1h  a 2 h 2    anhn  o( h n )


A  A(r1h )  a 0  a1rh  a 2 r 2 h 2    a n r n h n  o( h n )
 1,0
A  A ( r 2 h )  a 0  a 1r 2 h  a 2 r 4 h 2    a n r 2 n h n  o( h n )
 2, 0
 
 
A m ,0  A(r m h )  a 0  a1r m h  a 2 r 2 m h 2    a n r mn h n  o(h n )

• Les m+1 valeurs Ak,0 de rang 0 sont ensuite combinées pour éliminer les termes en h.
→ m valeurs Ak,1 de rang 1
40
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Extrapolation
Elimination des termes en h
• On définit les m valeurs Ak,1 de rang 1 à partir des m+1 valeurs Ak,0 de rang 0.
A k ,0  rA k 1,0
A k ,1  pour k = 1 à m
def 1 r
• Ces combinaisons gardent le terme a0 et éliminent les termes en h du développement de Taylor.

A1,1  a 0  b2h 2    bn h n  o( h n )
A  a 0  b 2 r 2 h 2    b n r n h n  o( h n )
 2,1
A  a 0  b 2 r 4 h 2    b n r 2 n h n  o( h n )
 3,1
 
 
A m ,1  a 0  b 2 r 2 m h 2    b n r mn h n  o(h n )

Les termes d’ordre supérieur en h2, … , hn ont les mêmes coefficients b2, … , bn.

• On élimine de la même façon les termes en h2 → m1 valeurs Ak,2 de rang 2


puis les termes en h3 → m2 valeurs Ak,3 de rang 3
…………………
jusqu’aux termes en hm → 1 valeur Am,m de rang m
41
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Extrapolation
Elimination des termes jusqu’à hm
• On applique la formule de récurrence entre le rang j1 et le rang j.
A k , j1  r jA k 1, j1
A k, j  pour k = j à m , et j = 1 à m
def 1 r j
• En pratique on dispose les calculs en colonnes.

A0,0 A1,1 A2,2 A3,3 Am,m


A1,0 A2,1 A3,2
A2,0 A3,1
A3,0

Am1,0 Am,1
Am,0

• Les termes de rang j sont des approximations de a0 à l’ordre hj.


m ( m 1) m 1
Le dernier terme Am,m est une approximation de a0 à l’ordre hm : A m ,m  a 0  r h 
42
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Extrapolation
Dérivée première et seconde
• Pour évaluer les dérivées premières et secondes de f en x0, on définit 2 fonctions A(h) et B(h).
f ( x 0  rh )  f ( x 0  h )
A(h ) 
(r  1)h

f ( x 0  rh )  rf ( x 0  h )  (r  1)f ( x 0 )
B(h )  2
r (r  1)h 2

• Les développements de Taylor de A et B en h=0 sont

1 r2 1 1 r n  1 n 1 ( n )
A(h )  f ' ( x 0 )  hf ' ' ( x 0 )    h f (x 0 )  
2 r 1 n! r  1

1 r2 1 2 r n 1  1 n  2 ( n )
B(h )  f ' ' ( x 0 )  hf ' ' ' ( x 0 )    h f (x 0 )  
3 r 1 n! r  1

• La méthode d’extrapolation de Richardson appliquée aux fonctions A(h) et B(h)


permet d’évaluer les dérivées premières et secondes de f en x0.

43
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Extrapolation
Dérivée première et seconde
• On choisit un incrément initial h, un rapport r entre 0 et 1 et un ordre d’extrapolation m.

La fonction f est évaluée en x0+h0 , x0+h1 , … , x0+hm avec h k  r k h  f k  f ( x 0  h k )

• Les termes de rang 0 des fonctions A(h) et B(h) sont calculés à partir des valeurs fk.

f k 1  f k f k 1  rf k  (r  1)f ( x 0 )
A k ,0  A(h k )  B k ,0  B(h k )  2
(r  1)h k r (r  1)h 2k

• Les termes Am,m et Bm,m de rang m sont des approximations de f(x0) et f (x0).

• En pratique l’ordre d’extrapolation m est limité par la précision machine .


A m ,m  a 0  r m ( m 1) h m 1    r m h m  
2
(en supposant a0 ≈ 1)
log h  (log h ) 2  4 log r log 
 m avec r  1
 2 log r

Exemple : r=0.5 , =1016 , h=104 → m<4


h=108 → m<3
44
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Exemple
Dérivée par extrapolation
1 1 2
f (x)  x 2   f ' ( x )  2x   f ' ' ( x )  2 
x x2 x3
• Dérivée première et seconde en x=1 : f(1) = 1 , f (1) = 4
• Incrément initial : h = 0.1 → ordre d’extrapolation m = 6

hk x+hk f(x+hk)
0,10000000 1,10000000 2,11909091
0,05000000 1,05000000 2,05488095
0,02500000 1,02500000 2,02623476
0,01250000 1,01250000 2,01281057
0,00625000 1,00625000 2,00632788
0,00312500 1,00312500 2,00314450
0,00156250 1,00156250 2,00156738

A0 A1 A2 A3 A4 A5
1,2841991342 1,0074965685 1,0001968322 1,0000025180 1,0000000159 1,0000000000 → f(1) = 1
1,1458478513 1,0020217662 1,0000268073 1,0000001723 1,0000000005
1,0739348088 1,0005255470 1,0000035017 1,0000000113
1,0372301779 1,0001340130 1,0000004476
1,0186820955 1,0000338389
1,0093579672 approximations de f(1)
45
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation 2018

1.1.3 Exemple
Dérivée par extrapolation
1 1 2
f (x)  x 2   f ' ( x )  2x   f ' ' ( x )  2 
x x2 x3
• Dérivée première et seconde en x=1 : f(1) = 1 , f (1) = 4
• Incrément initial : h = 0.1 → ordre d’extrapolation m = 6

hk x+hk f(x+hk)
0,10000000 1,10000000 2,11909091
0,05000000 1,05000000 2,05488095
0,02500000 1,02500000 2,02623476
0,01250000 1,01250000 2,01281057
0,00625000 1,00625000 2,00632788
0,00312500 1,00312500 2,00314450
0,00156250 1,00156250 2,00156738

B0 B1 B2 B3 B4 B5
3,7316017316 3,9850068631 3,9996063356 3,9999949640 3,9999999683 4,0000000000 → f (1) = 4
3,8583042973 3,9959564675 3,9999463855 3,9999996555 3,9999999990
3,9271303824 3,9989489060 3,9999929968 3,9999999775
3,9630396442 3,9997319741 3,9999991049
3,9813858091 3,9999323222
3,9906590657 approximations de f(1)
46
1 Bases théoriques Max CERF
1.1 Définitions
1.1.4 Convexité
Techniques d’optimisation 2018

1.1.4 Convexité

 Ensemble convexe

 Fonction convexe

 Lien avec le gradient et le hessien

47
1 Bases théoriques Max CERF
1.1 Définitions
1.1.4 Convexité
Techniques d’optimisation 2018

1.1.4 Convexité
Ensemble convexe
X  Rn convexe  x, y  X , λ  0,1 , λx  (1  λ)y  X
Interprétation géométrique : Segment inclus dans X

x x

y y
Non connexe Non convexe Convexe

Fonction convexe
f fonction de Rn dans R
• f convexe  x, y  R n , λ  0,1 , f λx  (1  λ)y   λf(x)  (1  λ)f(y)
• f strictement convexe  x, y  R n , λ  0,1 , f λx  (1  λ)y   λf(x)  (1  λ)f(y)
• f concave  f convexe

Interprétation géométrique : Sécante au dessus de la courbe


Concavité vers le haut

x y

48
1 Bases théoriques Max CERF
1.1 Définitions
1.1.4 Convexité
Techniques d’optimisation 2018

1.1.4 Convexité
Convexité et gradient
f fonction différentiable de XRn dans R, X ensemble convexe ouvert

• f convexe  x, y  X , f(y)  f(x)  (y  x) T g(x)


• f strictement convexe  x, y  X , f(y)  f(x)  (y  x) T g(x)

Interprétation géométrique : Tangente au dessous de la courbe

x y
Convexité et hessien
f fonction deux fois différentiable de X  Rn dans R, X ensemble convexe ouvert

• f convexe  x  R n , H(x) semi-définie positive


• f strictement convexe  x  R n , H(x) définie positive

Matrice définie positive


ARnn
• A définie positive  d  R n , d T Ad  0
• A semi-définie positive  d  R n , d T Ad  0

49
1 Bases théoriques Max CERF
1.1 Définitions
1.1.4 Convexité
Techniques d’optimisation 2018

1.1.4 Exemple
Fonction convexe f(x)=x3
f(x)
• Fonction : f(x) = x2 f(x)=x2
f’’(x) = 2  convexe sur R

• Fonction : f(x) = x3 x
f’’(x) = 6x  convexe sur R+
 non convexe sur R

x2
Ensemble convexe

•  
Ensemble : X  ( x 1, x 2 ) / x 12  x 22  1
 convexe

•  
Ensemble : X  ( x 1, x 2 ) / x 12  x 22  1 x1
 non convexe

50
1 Bases théoriques Max CERF
1.1 Définitions
1.1.5 Conditionnement
Techniques d’optimisation 2018

1.1.5 Conditionnement

 Conditionnement d’une matrice

 Conditionnement d’une fonction

 Préconditionnement

 Système linéaire perturbé

 Mise à l’échelle

51
1 Bases théoriques Max CERF
1.1 Définitions
1.1.5 Conditionnement
Techniques d’optimisation 2018

1.1.5 Conditionnement
Conditionnement d’une matrice
A matrice symétrique semi-définie positive
Valeurs propres de A : σ1    σ n  A 2
 σ1
σ1
Nombre de conditionnement de A : κ(A)  A A -1  1
2 2 σn
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 : A k d k  σ k d k
d Tk H(x)d k
Courbure de f en x dans la direction dk :  σk
d Tk d k
Théorème de Rayleigh-Ritz
d1 = direction de plus forte courbure (courbure = 1)
dn = direction de plus faible courbure (courbure = n)

52
1 Bases théoriques Max CERF
1.1 Définitions
1.1.5 Conditionnement
Techniques d’optimisation 2018

1.1.5 Exemple
Matrice 22
a b 1  d  b
• Inverse : A     A 1    avec det(A)  ad  bc
c d det(A)   c a 

• Valeurs propres : det(A  I)  0  a   d     bc  0   2  a  d   det(A)  0

Conditionnement
 0.1 1
• A   
 0.20002 2 

  2.10001
• Valeurs propres :  2  2.1  0.00002  0   1
 2  0.00001
 A  σ1 σ1
• Conditionnement :  -1 2  ( A )   210001
 A  1/ σ2 σ2
2

53
1 Bases théoriques Max CERF
1.1 Définitions
1.1.5 Conditionnement
Techniques d’optimisation 2018

1.1.5 Préconditionnement
Changement de variable
~
x  Mx
• Variable : ~ (MRnn inversible = matrice de préconditionnement)
~ -1~
• Fonction : f (x)  f(x)  f(M x)
~
• Gradient :  f (~~
x)  M -T f(M -1~ x)  ~g(~
x)  M -T g(x)
~
• Hessien :  f (~ x)  M -T  2 f(M -1~
x)M -1  H(~x)  M -T H(x)M -1
2

Préconditionnement de f
• Factorisation de Cholesky (si H(x) définie positive) : H(x)=LLT
~ ~ ~
• Conditionnement optimal (minimal) de f en x pour : x  LT x  H(~
x)  I  κ(H)  1

Sans conditionnement Avec conditionnement

x2 ~
x2

x* ~
f x*
~
f

x1 x1 54
~
1 Bases théoriques Max CERF
1.1 Définitions
1.1.5 Conditionnement
Techniques d’optimisation 2018

1.1.5 Système linéaire perturbé


Perturbation du second membre
• Système non perturbé : Ax =b  solution x*
• Système perturbé au 2 membre : A(x +xb)
nd = b+b  solution x* +xb
• Système perturbé au 1er membre : (A+ A)(x +xA) = b  solution x* +xA

 Ax * b Ax * b b  Ax *

 A(x * Δx b )  b  Δb  A.Δ x b  Δb  Δx b  A 1Δb
(A  ΔA)(x * Δx A )  b A.Δ x A  ΔA.x*  0 Δx A  A 1 .A . x *

• Majoration de la perturbation
1 A
b  Ax *  b  A . x *  
x* b
 Δx b Δb
 Δx b  A 1 . Δb   A . A 1 .
Δx b  A 1Δb  x* b
 1    
Δx
 A   A .A . x * 1
 Δx A  A . ΔA . x *  Δx A ΔA
 A . A 1 .
 x* A

Amplification maximale de la perturbation : κ(A)  A . A


-1

55
1 Bases théoriques Max CERF
1.1 Définitions
1.1.5 Conditionnement
Techniques d’optimisation 2018

1.1.5 Exemple
Système perturbé 22
• Système non perturbé
x  10
  1
0.1x 1  x2  2  0.1 1  x 1   2 
0.20002x  2x  4.0002   0.20002 2  x    4.0002 

x 2  1
 1 2   2   

 0.101 1  x  0.101
• Perturbation A : A      1
 0.20002 2  x 2  2.010

 2.01  x  990
• Perturbation b : b      1
 4.0002  x 2  101.01

x2
Conditionnement : (A)  210001

10 x1
56
1 Bases théoriques Max CERF
1.1 Définitions
1.1.5 Conditionnement
Techniques d’optimisation 2018

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 : c  c '  1 ( directions admissibles)

• Hessien :  2 L   2 L'  1 ( 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)
57
1 Bases théoriques Max CERF
1.1 Définitions
1.1.6 Direction de déplacement
Techniques d’optimisation 2018

1.1.6 Direction de déplacement

 Direction de descente
- Définition
- Point de Newton
- Point de Cauchy

 Direction admissible

 Contraintes linéaires

58
1 Bases théoriques Max CERF
1.1 Définitions
1.1.6 Direction de déplacement
Techniques d’optimisation 2018

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R : fd(x) = g(x)Td
n

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)
d  R n / d  d  , g(x) T d  g(x) T d    g(x)
2

x2 d1
f(x)

x*
d2

x0

x1
59
1 Bases théoriques Max CERF
1.1 Définitions
1.1.6 Direction de déplacement
Techniques d’optimisation 2018

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
1 1
f̂(x 0  sd 0 )  f(x 0 )  sg T0 d 0  s 2 d T0 H 0 d 0  ˆ (s)  (0)  s' (0)  s 2 ' ' (0)
2 2
g 0   f(x 0 ) ' (0)  g T0 d 0
avec  avec 
 0
H   2
f(x 0 ) ' ' (0)  d 0 H 0 d 0
T

Meilleure direction : d2 < d < d1


f(x0) d1
(s)
d1(s)
d-(s)
d2
x*

x0 d2(s)

s=0 sd1 sd- sd2 s


x=x0 60
1 Bases théoriques Max CERF
1.1 Définitions
1.1.6 Direction de déplacement
Techniques d’optimisation 2018

1.1.6 Direction de descente


Minimisation locale
Deux points particuliers sont définis à partir du modèle quadratique de f en x 0 :
• Point de Newton : minimisation de f par rapport à dRn  x n = x0 + d n
• Point de Cauchy : minimisation de f suivant d0=g0  xc = x0 scg0

Point de Newton
1 g0
min f̂(x 0  d)  f(x 0 )  g d  d T H 0 d
T
0
dR n
2
 d n  H 01g 0 si H 0  0 xc

xn existe si H0=2f(x0) est définie positive.


xn x0
Point de Cauchy
1
min ˆ (x 0  sg 0 )  (0)  s' (0)  s 2 ' ' (0)
sR 2
 sc 
' (0) 2
g g 
T 2

 T0 0 si ' ' (0)  g T0 H 0 g 0  0


' ' (0) g 0 H 0 g 0

xc existe si f est convexe suivant g0 (condition moins forte que H0 définie positive).

61
1 Bases théoriques Max CERF
1.1 Définitions
1.1.6 Direction de déplacement
Techniques d’optimisation 2018

1.1.6 Direction admissible


Direction admissible
dRn direction de déplacement à partir de xXadm point admissible

Définition : d direction admissible d


 ε  0 / s, 0  s  ε  x  sd  X adm
On peut se déplacer d’au moins  suivant d à partir de x
en restant admissible x
c(x)
• 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 x d
 Toute direction d Rn est admissible à partir de x

62
1 Bases théoriques Max CERF
1.1 Définitions
1.1.6 Direction de déplacement
Techniques d’optimisation 2018

1.1.6 Contraintes linéaires


Contraintes linéaires
Contraintes linéaires sous forme standard : Ax  b
x  0

X adm  x  R / Ax  b, x  0
n

Direction admissible
Ad  0
d Rn direction admissible à partir de x point admissible  
d i  0 si x i  0
Preuve :
 A(x  sd)  b  Ad  0 car Ax  b
Pour s>0 petit, on doit avoir :(x  sd)  X adm   x  sd  0   x  sd  0
 
Si xi  0, alors xi  sd i  0 pour s assez petit
Si xi  0, alors xi  sd i  0 si d i  0

Combinaison de directions admissibles


Toute combinaison linéaire à coefficients positifs de directions admissibles
est une direction admissible.
 Ad  0
Preuve : Une combinaison linéaire à coefficients positifs vérifie également d  0 si x  0
 i i

63
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
Techniques d’optimisation 2018

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
4. Optimisation discrète
5. Optimisation fonctionnelle

64
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation 2018

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

 Inversion matricielle
- Formule de Sherman-Morrison-Woodbury
65
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation 2018

1.2.1 Application linéaire


Application linéaire
Une matrice ARmn définit une application linéaire de Rn dans Rm : x  R  y  Ax  R
n m

Espace nul (ou noyau)


• L’espace nul de A est défini par : 
Ker(A)  x  R n / Ax  0 
• Si A est non singulière : Ker(A)  0

Espace image
• L’espace image de A est défini par : 
Im(A)  y  Ax, x  R n 
• Si A est non singulière : Im(A) R n

Le rang de A est la dimension de Im(A) : rang(A)  dim(Im(A))

Théorème fondamental de l’algèbre


Ker(A) et Im(AT) sont supplémentaires dans Rn : Ker(A)  Im(A T )  R n
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)
x  Ker(A)
x  R n , x  x Z  x Y avec  Z de façon unique
 Y
x  Im(A T
)
66
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation 2018

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)

67
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation 2018

1.2.1 Exemple
Valeurs propres d’une matrice 22
a a 12 
• Matrice A : A   11 
 21
a a 22 

a 11   a 12
• Valeurs propres : det(A  I)  0   0  (a 11  )(a 22  )  a 12 a 21  0
a 21 a 22  

  2  (a 11  a 22 )  a 11a 22  a 12 a 21  0
1
   a 11  a 22  (a 11  a 22 ) 2  4(a 11a 22  a 12 a 21 ) 
2 

 802  400  1  1001.60


• Exemple : A    
  400 200   2  0.39936

Conditionnement : (A) = 2508

68
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation 2018

1.2.1 Exemple
Diagonalisation matrice symétrique 22
a b
• Matrice Q : Q    avec b  c
 c d 
 cos     sin  
• Base orthonormée de vecteurs propres : v1    , v 2   
 sin    cos  
 cos   sin  
• Matrice de passage orthogonale : P   
 sin  cos  

 a cos 2   2b cos  sin   d sin 2  (d  a ) cos  sin   b(cos 2   sin 2 ) 


P QP  
T

 (d  a ) cos  sin   b(cos   sin )
2 2
a sin   2b cos  sin   d cos  
2 2

 diagonale si (d  a ) cos  sin   b(cos 2   sin 2 )  0

avec b  0 sinon Q directement diagonale  cos   0


a d
• Direction des axes principaux (vecteurs propres) : tan 2   tan   1  0
 2 solutions 1 et 2 = 1 + /2 b

69
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation 2018

1.2.1 Permutation
Permutation de colonnes
1  j  k  n
1       
 
ARmn, matrice à m lignes, n colonnes A      
 
m       

ERnn , matrice de permutation des colonnes j et k


ET = E
1  j  k  n

1
1  0  0  0
 
     1  j  k  n

  0   0 1       
j 0

1
  
E       AE       
   
m       
k 0
  1  0  0
    
 
n 0  0  0  1 

70
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation 2018

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
1  j  k  n

      
1
 
A      
 
m       

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

71
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation 2018

1.2.1 Factorisation LU
Factorisation LU 1  j  k  n
1       
 
ARmn, matrice à m lignes, n colonnes A      
 
m       
• Matrice carrée nn
L nn triangulaire inférieure
AE  LU
U nn triangulaire supérieure

• Matrice rectangulaire mn, m< n  Factorisation de AT


L1 mm triangulaire inférieure
 L1 
EA  LU    U
T
L2 (nm)m pleine
 2
L U mm triangulaire supérieure

 L1T LT2   T
• Base de l’espace nul : Z  E 
T
U

 I 

Méthode de factorisation LU
 Méthode d’élimination de Gauss (ou méthode du pivot de Gauss)

72
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation 2018

1.2.1 Factorisation QR
Factorisation QR 1  j  k  n
1      
 
ARmn, matrice à m lignes, n colonnes A      
 
m       

• Matrice rectangulaire mn


Q mm orthogonale  QQT = I
AE  QR
R mn triangulaire supérieure

• Base de l’espace nul  Factorisation de AT


Q1 nm orthogonale
EA T  QR  Q1 Q 2 R Q2 n(nm) orthogonale  Z  E T Q 2 
R nm triangulaire supérieure

Méthode de factorisation QR
 Méthode de Householder ou méthode de Givens

73
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation 2018

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

AE  QR  E T A T AE  R T Q T QR  R T R car Q orthogonale
R  L
  1
Q  AER

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

74
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation 2018

1.2.1 Exemple
Factorisation LDLT d’une matrice 33
A  L D LT
 a 11 a 21 a 31   1 0 0  d1 0 0  1 l 21 l 31 
     
 a 21 a 22 a 32    l 21 1 0  0 d2 0  0 1 l 32 
a a 33   l 31 1  0 d 3  0 0 1 
 31 a 32 l 32 0

• Résolution directe
d1  a 11  d1 , d2 , d3 > 0
a 11  d1
  si A est définie positive
  a
a 21  d1l 21 l 21  21
 d1  sinon on modifie dj

a 31  d1l 31  a 31 en cours de factorisation
l 31  dj = max( , dj) ,  > 0
   d1
a 22  d1l 221  d 2 d 2  a 22  d1l 221
 
a  d l l  d l 
 32 1 31 21 2 32 l 32  a 32  d1l 31l 21
  d2
a 33  d1l 31
2
 d 2 l 32
2
 d3 d  a  d l 2  d l 2
 3 33 1 31 2 32

75
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation 2018

1.2.1 Exemple
Factorisation LDLT d’une matrice 22

A  L D LT d1  a 11
 a 21
 a 11 a 21   1 0  d1 0  1 l 21   l 21 
      
 21
a a 22   21
l 1  0 d 2  0 1   d1
d 2  a 22  d1l 221
• Exemple

 802  400   1 0  802 0 


A     L    , D   
  400 200    0.4988 1   0 0.4988 

Les éléments de la matrice diagonale D sont positifs  A est définie positive

1  1001.60
Valeurs propres de A : 
 2  0.39936

76
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation 2018

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 Modification pour rendre dj > 0
j1 (si A n’est pas définie positive)
c jj  a jj   d s l 2js
s 1 Si dj      
2

d j  c jj d j  max c jj ,   ,   avec  j  max c ij
 j
   j i  n
  
Pour i = j+1,…,n
j1
d j  
c ij  a ij   d s l is l js  
s 1 m ij  l ij d j   , i  j  1,..., n
c ij
l ij  Paramètres :  > 0 petit ( = 10-3)
dj >0 ( = 1)
Fin boucle i
Fin boucle j
77
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation 2018

1.2.1 Système linéaire


Système linéaire

A  R m  n  matrice de rang r : rang(A) = r



Ax  b avec b  R
m
 m équations
x  R n  n inconnues

Le rang de A est la dimension du sous-espace engendré par A (image de A).


Im(A)  y  Ax, x  R n   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

78
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation 2018

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
~ ~
Ax  b  Ax  b
à 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.

A Ã
1       n 1       n
1             l1            
   
                         
             lr            
   
             l r 1            
   
                         
m            
 l m            

79
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation 2018

1.2.1 Inversion matricielle


Formule de Sherman-Morrison-Woodbury

Pour des matrices A , B  Rnn


U , V  Rnm , m ≤ n

B  A  UV T  
B1  A 1  A 1U I  V T A 1U 
1
V T A 1

Preuve : par vérification

BB 1  ( A  UV T )( A1  A1U(I  V T A1U )1V T A1 )

 I  UV T A1  U(I  V T A1U )1V T A1  UV T A1U(I  V T A1U )1V T A1

 I  UV T A1  U(I  V T A1U) (I  V T A1U )1V T A1 en factorisant

 I  UV T A1  UV T A1  I

De même pour B-1B

80
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

1.2.2 Direction admissible

 Polytope

 Forme standard

 Sommet

 Base

 Solution de base

 Direction de base

81
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

1.2.2 Polytope
Définition
Polytope P dans Rn 
P  x  R n / Ax  b  A  Rmn , b  Rm

Interprétation géométrique

A1,1 x 1  A1,2 x 2    A1, n x n  b1  hyperplan 1


A x  A 2,2 x 2    A 2, n x n  b 2  hyperplan 2
Ax  b   2,1 1

A m,1 x 1  A m,2 x 2    A m, n x n  b m  hyperplan m

A x  b j
Chaque hyperplan j sépare Rn en 2 sous-espaces :  j,.
A j,. x  b j
P
P = ensemble de points de Rn délimité par m hyperplans

 Polytope dans R2 = polygone


 Polytope dans R3 = polyèdre

82
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

1.2.2 Forme standard


Forme standard
Polytope P dans Rn sous forme standard

P  x  R / Ax  b , x  0
n

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
c(x)  z  b c(x)  b avec c(x)  c(x)  z
c(x)  b    
z  0 z  0
c(x)  z  b c(x)  b avec c(x)  c(x)  z
c(x)  b    
z  0 z  0
• Contraintes de bornes : Changement de variable  borne inférieure
Ajout d’une variable d’écart positive  borne supérieure
x  x  x l , x  0 x  x  x l , x  0
x l  x  x u  0  x  x l  x u  x l    
x   x u  x l x   z  x u  x l , z  0
• Variable libre : Différence de 2 variables positives
x  R  x  z  y , y, z  0
83
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

1.2.2 Exemple
Mise sous forme standard
• Problème linéaire (P)
 x 1  3x 2 5
min x 1  2x 2  3x 3 sous  2x 1  x 2  3x 3  6
x 1  R, x 2  1, x 3  4
x1 , x 2 , x 3

• Changement de variables pour les bornes


x 1  R x 1  z1  y1  y1 , z1  0
x 2  1  x 2 '  x 2  1  x 2 '  0
x 3  4 x 3 '  4  x 3  x 3 '  0

• Variables d’écart pour les contraintes inégalité


2x 1  x 2  3x 3  6  2x 1  x 2  3x 3  z 2  6  z2  0

• Problème équivalent à (P) sous forme standard


y  z  3x 2 ' 2
min z1  y1  2x 2 '3x 3 '14 sous  1 1
y1 , z 1 , z 2 , x 2 ', x 3 ' 2z1  2y1  x 2 '3x 3 'z 2  5

84
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

1.2.2 Sommet
Sommet
Polytope P dans Rn sous forme standard

P  x  R / Ax  b , x  0
n
 A  Rmn, b  Rm
A de rang plein : rang(A)=r=mn

Définition

x  P est un sommet de P
 sommets
On ne peut pas trouver y,zP, différents de x
tels que x soit combinaison convexe de y et z non sommets
i.e. x = y + (1- )z avec 0<<1

Existence
Tout polytope non vide possède au moins un sommet.

85
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

1.2.2 Base
Base
Polytope P dans Rn sous forme standard

P  x  R n / Ax  b , x  0 
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 C mn combinaisons possibles)

B N
1  m m 1  k 1 k k 1  n

         
1
 
 m
          
n m
AE   B N 
  m          
 

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)

86
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

1.2.2 Solution de base


Identification des sommets
Polytope P dans Rn sous forme standard

P  x  R n / Ax  b , x  0  A  Rmn, b  Rm

• Choix d’une base B  Rmm


m 
n m x 
AE   B N E T x   B 
  xN 
• xB  Rm = variables en base (ou liées ou dépendantes)
xN  Rn-m = variables hors base (ou libres ou indépendantes)
 Ax  b  Bx B  Nx N  b x B  B 1 b  Nx N 
• Point admissible : x  P      
x  0 x  0 x  0

• Identification des sommets


x B  B 1b  0  B 1b 
Tout point x tel que :   E x  
T

 est un sommet du polytope.
 N
x  0  0 

 « solutions de base »
87
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

1.2.2 Solution de base


Identification des sommets
Preuve : par l’absurde
 xB   x B  B 1b  0
• On suppose le point x : E x    avec 
T
n’est pas un sommet de P.
 N
x  N
x  0
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 :  x B  y B  ( 1   )z B avec  y  P  y N  0


 x N  y N  ( 1   ) z N z  P  z N  0
• A partir de xN=0
y ,z  0 y  0
x N  y N  ( 1   )z N  0 avec  N N  N
0    1 z N  0
y  xB
• A partir de yP : Ay  b  By B  Ny N  b  y B  B 1b   B
A partir de zP : Az  b  Bz B  Nz N  b  z B  B 1b z B  xB

 B 1b 
• On obtient y  z  x    en contradiction avec l’hypothèse que x n’est pas un sommet de P

 0 
88
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

1.2.2 Solution de base


Solution de base
Polytope P dans Rn sous forme standard

P  x  R n / Ax  b , x  0  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  xN  0  B 1b 
1  E x  
T


• x vérifie Ax=b  x B  B b  0 

Solution de base admissible


Une solution de base x est admissible si toutes ses composantes sont positives (x  P).
x vérifie également x  0  x B  B 1b  0
 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
89
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

1.2.2 Solution de base


Lien sommet – solution de base
Polytope P dans Rn sous forme standard

P  x  R n / Ax  b , x  0  A  Rmn, b  Rm
A de rang plein : rang(A)=r=mn

•  
I=indices des composantes nulles en x*P : I*  i / x *i  0
(= contraintes inégalités actives)

•  
S=variété linéaire définie par : S*  x  R n / Ax  b , x i  0, i  I*

x*Rn est un sommet de P  S*  x   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é : Ax *  b
• n-m contraintes inégalité : x *N  0
Les m contraintes inégalité sur xB peuvent être actives ou non :
x *B  B 1b  0  dégénérescence
90
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

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.
 m n m  E T x   x B 
• En décomposant suivant les composantes B et N : AE  B N  x 
avec B,N choisies telles que xB > 0    N
• x n’est pas une solution de base admissible  Il existe au moins une composante xNk  0
 d Bk    B 1 A.,k 
T
   1 m m 1 k 1 k k  1 n
E d   k    
  ek   d 1  d m 0  0 1 0  0 
T k
On construit la direction dk
(dite kème direction de base)  N 
d 0   
 
Ad k  Bd Bk  Nd Nk   BB 1 A.,k  Nd Nk   A.,k  A.,k  0 car N d Nk  A.,k
 
k
 A x  d k  Ax  Ad k  b
avec A.,k = kème colonne de AE, dk a toutes ses composantes hors base nulles sauf la kème = 1
 xB  0  Ax  b
• Comme  , on peut se déplacer suivant dk et +dk d’un pas petit en conservant x  0
 x Nk  0 
 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. 91
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

1.2.2 Exemple
Recherche des solutions de base
Polytope P dans R4 sous forme standard
1 1 1 0  1
P x1 , x 2 , x 3 , x 4  / Ax  b , x  0 avec A    , b   
1  1 0 1  1
• On utilise les contraintes pour réduire le problème à (x1,x2)
x  x 2  x 3  1 x 3  1  x 1  x 2
Ax  b   1 
 1
x  x 2  x 4  1 x 4  1  x 1  x 2
x 0 x  x2  1
x  0   3   1
x 4  0 x 1  x 2  1

• Polytope P’ réduit dans R2

 x x  x 2  1 x 1  0 
P'   1  /  1 ,  
 x 2   x 1  x 2  1  x 2  0
 x1 
x  x 
• Les polytopes P dans R et P’ dans R sont équivalents :  x 2   P   x 1   P'
4 2
 3   2
x4 
Remarque : P = forme standard de P’
92
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

1.2.2 Exemple
Recherche des solutions de base
• Représentation de P’ dans R2 x2
 x x  x 2  1 x 1  0 
P'   1  /  1
1 C
,  
  x 2   x 1  x 2  1  x 2  0
x1+x2=1
 représentation des valeurs possibles de (x1,x2)
pour (x1,x2,x3,x4) P
 x1  P
1 1 1 0  x 2  1
• Contraintes de P : Ax  b        B
 1  1 0 1  x 3  1
A
4 variables  2 contraintes
x4  0 1 x1
• Base de P
 choisir 2 colonnes indépendantes de A
 6 combinaisons possibles
x1x2=1
• Solution de base
 fixer les 2 variables hors base xN à 0
 calculer les 2 variables de base xB pour vérifier Ax=b D
 base admissible si xB  0
93
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

1.2.2 Exemple
Recherche des solutions de base
Examen des 6 bases possibles de P x2
1 1 1 0  1 1 C
A    , b    x B  B 1b
1  1 0 1  1
x1+x2=1
1 1   0,5 0,5  1
• Base (x1,x2) : B   
1  1 , B -1
 
 0,5  0,5  B  0 
 , x 
     
x = (1 0 0 0) admissible  point B P
A B
1 1  0 1  1 x1
• Base (x1,x3) : B   
1 0  , B -1
   , x B    0 1
   1  1   0
x = (1 0 0 0) admissible  point B

1 0   1 0 1 x1x2=1
• Base (x1,x4) : B    , B -1    , x B   
 1 1    1 1   0
x = (1 0 0 0) admissible  point B D

94
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

1.2.2 Exemple
Recherche des solutions de base
Examen des 6 bases possibles de P x2
1 1 1 0  1 1 C
A    , b    x B  B 1b
1  1 0 1  1
x1+x2=1
 1 1  0  1   1
• Base (x2,x3) : B   
 1 0 , B -1
   , x B   
   1 1  2
x = (0 1 2 0) non admissible  point D P
A B
 1 0 1 0  1 x1
• Base (x2,x4) : B   
 1 1  , B -1
   , x B    0 1
   1 1   2
x = (0 1 0 2) admissible  point C

1 0 1 0 1 x1x2=1
• Base (x3,x4) : B    , B -1    , x B   
 0 1   0 1  1
x = (0 0 1 1) admissible  point A D

95
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

1.2.2 Direction de base


Direction de déplacement à partir d’un sommet
Polytope P dans Rn sous forme standard

P  x  R n / Ax  b , x  0  A  Rmn de rang plein, b  Rm
 x B   B 1b 
xRn solution de base admissible de P : E x      0
T

 N  0 
x

d 
dRn direction de déplacement : E T d   B 
dN 
Direction admissible
Ad  0
d direction admissible en x   (contraintes linéaires)
d i  0 si x i  0
Ad  0  Bd B  Nd N  0  d B  B1 Nd N

d B  B 1 Nd N

d direction admissible en x  d N  0 car x N  0
d Bi  0 si x Bi  0 (solution de base dégénérée)

 « directions de base »
96
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

1.2.2 Direction de base


Direction de base
 x B   B 1b 
solution de base admissible de P : E x      0
T
xRn 
 N 
x 0 
k = indice d’une variable hors-base  d kB   dB 
k ème E T k
d    noté  
d = k direction de base en x : dk 
 N dN 
• Les composantes dN sur les variables hors base sont toutes nulles, sauf sur la variable xk
T
 0  1 k 1 k k 1 n

E    ek   0 
T
0 1 0  0
dN   
• Les composantes dB sur les variables en base vérifient la 1ère condition de direction admissible
Ad  0  Bd B  Nd N  0  d B  B 1 Nd N  B 1 A
j hors base
., j dj
1
 d B  B A ., k (A.,k = kème colonne de AE)

• Définition  d kB    B 1A ., k 
T
 1 m m 1 k 1 k k 1 n
La kème direction de base en x est : E d   k      e k   d1  d m 0  0 1 0  0 
T k

 N 
d 0   
• Interprétation géométrique : directions de base = arêtes du polytope en x
97
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

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 : Ad  0


d N  0
Pour que dk soit une direction admissible, il faut également vérifier : d Bi  0 si x Bi  0

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

d α
k hors base
k dk avec dk = kème direction de base en x

98
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

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
 
Ad k  Bd Bk  Nd Nk   BB 1 A.,k  Nd Nk   A.,k  A.,k  0 car N d Nk k  A.,k
• Comme  x B  0 , on peut se déplacer suivant dk à partir de x en restant admissible
d N  0  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 : Ad  Bd B  Nd N  0  d B   B 1 Nd N

• En notant dk les composantes de dN dans la base canonique de Rn : d N  d e


k N
k k

 dB   B 1 A.,k 
• On obtient pour d : d      d k  

 d N  k  N  ek 
 B 1 A.,k 
avec d     d = combinaison linéaire des dk
k
 = kème direction de base
 ek 
99
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

1.2.2 Exemple
Recherche des directions de base
Polytope P dans R4 sous forme standard x2

P x1 , x 2 , x 3 , x 4  / Ax  b , x  0 1 C

1 1 1 0  1 x1+x2=1
avec A    , b   
1  1 0 1  1
• Direction de base en une solution de base admissible
 choisir une variable hors base (k) P
 fixer la composante hors base correspondante dNk à 1 A B
 fixer les autres composantes hors base dN à 0
 calculer les composantes en base dB par B1A.,k 0 1 x1

• 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
x1x2=1
• Sommets de P
 2 variables hors base à chaque sommet
 2 directions de base (= arêtes du polytope) D

100
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

1.2.2 Exemple
Recherche des directions de base
Examen de directions de base de P x2
1 1 1 0  1 C
A   
 1  1 0 1 
x1+x2=1
• Base admissible (x2,x4) : x = (0 1 0 2)  point C
d 3
 1 0 1 0  d1
B    , B  
-1

 1 1  1 1  P
• Direction de base d1 correspondant à la variable hors base x1 A B
1 0 1   1 
d B  B -1A .,1        0 1 x1
 1 1 1   2 
d1 = (1 1 0 2)  admissible

• Direction de base d3 correspondant à la variable hors base x3 x1x2=1


1 0  1    1
d B  B -1A .,3       
 1 1  0    1 D
d3 = (0 1 1 1)  admissible
101
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

1.2.2 Exemple
Recherche des directions de base
Examen de directions de base de P x2
1 1 1 0  1 C
A   
 1  1 0 1 
x1+x2=1
• Base admissible (x1,x4) : x = (1 0 0 0)  point B
base dégénérée d2
1 0   1 0
B    , B  
-1

1 1   1 1  P
• Direction de base d2 correspondant à la variable hors base x2 A B
 1 0  1    1
d B  B -1A ., 2        0 d3 1 x1
  1 1   1  2 
d2 = (1 1 0 2)  admissible

• Direction de base d3 correspondant à la variable hors base x3 x1x2=1


 1 0  1    1
d B  B -1A .,3       
  1 1  0   1  D
d3 = (1 0 1 1)  admissible
102
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation 2018

1.2.2 Exemple
Recherche des directions de base
Examen de directions de base de P x2
1 1 1 0  1 C
A   
 1  1 0 1 
x1+x2=1
• Base admissible (x1,x2) : x = (1 0 0 0)  point B
base dégénérée d4
1 1   0,5 0,5 
B    , B  
-1

1  1  0,5  0,5  P
• Direction de base d3 correspondant à la variable hors base x3 A B
 0,5 0,5  1    0,5 
d B  B -1A .,3        0 1 x1
 0,5  0,5  0    0,5 
d3 = (0,5 0,5 1 0)  non admissible (base dégénérée)
d3
• Direction de base d4 correspondant à la variable hors base x4 x1x2=1
 0,5 0,5  0    0,5 
d B  B -1A ., 4       
 0,5  0,5   
1 0,5  D
d4 = (0,5 0,5 0 1)  admissible
103
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation 2018

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

104
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation 2018

1.2.3 Réduction
Problème sous contraintes linéaires
minn f(x) sous Ax  b , A  Rmn, b  Rm, A de rang plein r=mn
xR

• 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).
Ax  b
x 0  x  x 0  p avec   admissible
f(x)  f(x 0 )  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


Ax  b  A(x 0  p)  b  A(plibre  p lié )  b  b 0  Ap lié  b  b 0  Ap libre
 Système non singulier (A de rang plein)
 Le problème d’optimisation est réduit à plibre (nm variables)
105
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation 2018

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 .
m n m
p   a i y i   b i z i  p  Yp Y  Zp Z
i 1 i 1

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


A( x 0  p)  b  Ap lié  b  b 0  Ap libre
 AYp Y  b  b 0  AZp Z
 p Y  AY  b  b 0  AZp Z 
1
si la matrice AY est inversible

106
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation 2018

1.2.3 Méthode générale


Problème équivalent sans contrainte
• Déplacement total
avec p Y  AY  b  b 0  AZp Z 
1
p  Yp Y  Zp Z si la matrice AY est inversible
1

 p  YAY  b  b 0   I  YAY  A Zp Z
1
  réduction à nm variables pZ

• Coût réduit
 
f ( x )  f ( x 0  p)  f x 0  YAY  b  b 0   I  YAY  A Zp Z
1 1
 
 (p Z )  coût réduit  = fonction de nm variables
noté

minn f(x 0  p) sous A(x 0  p)  b n variables p / m contraintes


pR

 minn-m (p Z ) n-m variables pZ / 0 contrainte


p Z R

Choix des matrices Y et Z


• Réduction avec noyau  respect des contraintes avec pY , minimisation avec pZ
• Matrices orthogonales  meilleur conditionnement

107
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation 2018

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


p lié  Yp Y  YAY  b  b 0  AZp Z   YAY  b  b 0 
1 1

 plié est constant et indépendant de plibre = ZpZ

p  Yp Y  Zp Z  YAY  b  b 0   Zp Z
1

Problème réduit
min f(x 0  p) sous A(x 0  p)  b 
pR n
p Z R n -m

min (p Z )  f x 0  YAY  b  b 0   Zp Z
1

108
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation 2018

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)
m 
n m p   m
AE   B E T p   B 
N (E = matrice de permutation de colonnes de A)
   N
p  n  m
• Le déplacement p est décomposé en p = plibre + plié avec plié Rn , plibreRn , définis par
p   0 
E T p lié   B  E T p libre    Ap lié  b  b 0  Ap libre  p B  B 1 b  b 0   B 1 Np N
0 pN 

• La décomposition correspondante dans Rn est p =YpY + ZpZ avec


m n m
B m1
 B N m
1 p 
Y    Z     p  Yp Y  Zp Z   B 
  pN 
 0 nm  I nm
pY  b  b0 pZ  pN  décomposition directe selon les composantes de p

Problème réduit
minn f(x 0  p) sous A(x 0  p)  b 
pR p N R

minn-m (p N )  f x 0B  B 1 b  b 0  Np N , x 0N  p N 
109
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation 2018

1.2.3 Choix des matrices Y et Z


A partir de matrices orthogonales
• La matrice AY doit être inversée
p  Yp Y  Zp Z  YAY b  b 0   Zp Z
1

 Il faut choisir la base (Y Z) pour obtenir le meilleur conditionnement possible

• Factorisation QR de A
T
ATE = QR avec Q orthogonale (QQ =I)  méthode de Householder
R triangulaire

 R  m
m
 m Y  Q1
 
n m
A E  n Q1
T
Q2 
  0  n  m Z  Q 2

• Conditionnement de AY
A T E  Q1R  A  ER T Q1T  AY  ER T Q1T Q1  ER T

 même conditionnement que R


 même conditionnement que A (car QQT=I  conditionnement = 1)
= conditionnement minimal possible à partir de A

110
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation 2018

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

x2

pZ
pN
Ax=b
pB

x1
111
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.4 Projection
Techniques d’optimisation 2018

1.2.4 Projection

 Projection orthogonale sur un hyperplan

 Projection sur le noyau

112
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.4 Projection
Techniques d’optimisation 2018

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

minn x  x 0 sous Ax  b  point xP de l’hyperplan le plus proche de x0


xR

• Problème quadratique équivalent xP


min x  x 0  x  x 0  x  x 0  sous Ax  b
1 2 1 T
xR 2n
2

Lagrangien : L( x, )  x  x 0  x  x 0    b  Ax 
1 T T

2 x0
• Condition d’ordre 1
x  x 0  A T   0
Ax  b 
Ax  AA T   Ax 0
Ax  b 

  AA T 1 b  Ax  
 
0

  x  x 0  A AA
T T 1
b  Ax 0 
• Solution :  
x P  I  A T AA T 
1
 
A x 0  A T AA T 
1
b

• Projection de x0 sur le noyau de A : Ax=0 


 x P  I  A T AA T   A x
1
0

 matrice de projection : P  I  A T AA  A


T 1

113
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
Techniques d’optimisation 2018

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
4. Optimisation discrète
5. Optimisation fonctionnelle

114
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.1 Direction admissible
Techniques d’optimisation 2018

1.3.1 Direction admissible

 Indépendance linéaire

 Direction admissible à la limite

 Cône des directions

 Qualification des contraintes

115
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.1 Direction admissible
Techniques d’optimisation 2018

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
~ ~
Ax  b  Ax  b  é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 : c E (x 0 )  0  c(x 0 )  0 (contraintes actives en x0)


 I 0
c (x )  0
• Contraintes actives linéarisées : ĉ 0 (x)  c(x 0 )  c(x 0 ) T (x  x 0 ) avec c(x0)=0
ĉ 0 (x)  0  c(x 0 ) T x  c(x 0 ) T x 0  Ax  b

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.

116
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.1 Direction admissible
Techniques d’optimisation 2018

1.3.1 Exemple
Indépendance linéaire
• 1 contrainte égalité + 1 contrainte inégalité dans R2
 x1  c1 ( x )  x 2  x 12  0
x     R 2

 
x 2 c 2 ( x )  x 2
1  x 2  12
1  0
2,0
1
• En x   
1 1,5
  2  2
c1    c 2   
 1   0 1,0

 linéairement indépendants
0,5
 0
• En x   
 0 0,0
-2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0
 0  0 
c1    c 2   
1   2
-0,5

 linéairement dépendants -1,0

117
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.1 Direction admissible
Techniques d’optimisation 2018

1.3.1 Direction admissible


Définition générale
c (x )  0
• x point admissible : c E(x 0)  0  c(x 0 )  0 (contraintes actives en x0)
 I 0
• d direction admissible à partir de x  η  0 / s , 0  s  η , x  sd admissible
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

d
d

• Inapplicable aux contraintes égalité non linéaires d

 Définition à partir de suites de points admissibles

118
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.1 Direction admissible
Techniques d’optimisation 2018

1.3.1 Direction admissible à la limite


Suite de points admissibles
x point admissible
k , x  x
 k
Définition : (xk)kN suite admissible en x   lim x k  x
k 
k / k  k , x admissible
 0 0 k

Direction admissible à la limite


xk  x
• On considère la suite des directions dk reliant xk à x : d k 
xk  x
• Définition
d1
d direction admissible à la limite en x pour la suite (xk)k  N
 
 Il existe une sous-suite d k i iN telle que : lim
i 
d ki  d x1
d2
• Direction admissible à la limite = direction tangente x2
dk
xk

x
d
119
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.1 Direction admissible
Techniques d’optimisation 2018

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
x
 direction tangente aux contraintes égalité
d  D( x )
 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 :
c (x )  0  directions d  xk  x
(xk) suite admissible de limite x  E k
c I (xk )  0 xk  x
k

c contrainte active en x : c(x)=0 c(xk )  c(x)  c(x)T (xk  x)  o xk  x 


c(xk )  c(x) o xk  x   0 (égalité)
 
c(xk )
c(x)T d k    c(x)T d  lim
xk  x xk  x k  x  x
k  0 (inégalité)
120
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.1 Direction admissible
Techniques d’optimisation 2018

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.
c E (x) T d  0  pour toutes les contraintes égalité
d  D( x )  
c I (x) d  0
T
 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
121
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation 2018

1.3.2 Déplacement admissible

 Principes

 Elimination directe

 Réduction généralisée

 Restauration

122
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation 2018

1.3.2 Déplacement admissible


Problème sous contraintes non linéaires
c (x)  0
min f(x) sous  E
xR n
c I ( x )  0
• On cherche à construire un déplacement p admissible et améliorant à partir d’un point initial x 0.
On se ramène à un problème avec contraintes égalité (contraintes actives en x 0).

min f(x) sous c( x )  0  m contraintes actives en x0


xR n

c( x  p)  0
• Les n composantes du déplacement p doivent vérifier :  0
f ( x 0  p)  f ( x 0 )
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.
123
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation 2018

1.3.2 Elimination directe


Principe

min f(x) sous c( x )  0  m contraintes actives


xR n

n m
Les contraintes sont de la forme : c( x )  c( x lié , x libre ), x lié  R , x libre  R
m

• Si l’on sait résoudre : c( x lié , x libre )  0  x lié  ( x libre )

le problème devient : min (x libre ) avec ( x libre )  f ( x lié , x libre )  f (( x libre ), x libre )
x libre R n m def

 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)

124
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation 2018

1.3.2 Exemples
3,0
contrainte
Elimination directe lignes de f2,0
• Exemple 1 : min x 12  x 22 sous x 12  x 22  1
x1 , x 2
1,0
Elimination de x1 : x  x  1  x  1  x
2
1
2
2
2
1
2
2 x*
0,0
 min 1  2x 2
2  x2  0 -3,0 -2,0 -1,0 0,0 1,0 2,0 3,0
x2 -1,0

x  1
Solution correcte : x 1  0 -2,0
 2
-3,0

1,5
• Exemple 2 : min x 12  x 22 sous x 12  4x 22  1 contrainte
x1 , x 2
lignes de f 1,0
Elimination de x1 : x  4x  1  x  1  4x
2 2 2 2
1 2 1 2 x*
0,5
 min 1  3x 22  x 2  
x2
0,0
Solution incorrecte -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5
Contrainte implicite : x 1  0  1  4x 2  0
2 2
-0,5
1 1
   x2  -1,0
2 2
 à prendre en compte explicitement dans la résolution -1,5
125
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation 2018

1.3.2 Réduction généralisée


Principe
min f(x) sous c( x )  0  m contraintes actives
xR n

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 x2 p
On obtient un nouveau point : x1 = x0 + p1 2

x1
• Etape de restauration
Les contraintes actives (non linéaires) ne sont pas respectées en x1. p1
Le déplacement p2 restaure un point admissible à partir du point x1.
 linéarisation des contraintes en x1 x0
 résolution d’un système sous-déterminé c(x)=0
On obtient un nouveau point : x2 = x1 + p2
c(x)=c1
• Le point x2 doit être : - admissible pour l’ensemble des contraintes (actives et inactives en x0)
- meilleur que x0 (f(x2) < f(x0))
126
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation 2018

1.3.2 Réduction généralisée


Etape de linéarisation + réduction
min f(x) sous c( x )  0  m contraintes actives
xR n

• On linéarise les contraintes au point initial x0 : ĉ 0 (x)  c(x 0 )  c(x 0 ) T (x  x 0 )

• Le déplacement p est admissible pour les contraintes linéaires si


A 0  c(x 0 ) T
ĉ 0 (x 0  p)  0  c(x 0 )  c(x 0 ) p  0
T
 A0p  b0 avec 
b 0  c(x 0 )
• 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

pR n
p Z R n -m

min f(x 0  p) sous A 0 p  b 0  min (p Z )  f x 0  YA 0 Y  b 0  Zp Z
1
 c(x)=0
 problème à nm variables sans contraintes c(x)=c1
 déplacement p1

• Le nouveau point x1 = x0 + p1 x0 p1 x1
- est meilleur que x0 : f(x1) < f(x0)
- ne vérifie pas les contraintes : c(x1) = c1  0

127
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation 2018

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 : ĉ1 (x)  c(x1 )  c(x1 ) T (x  x 1 )


On obtient un système linéaire sous-déterminé de m équations à n inconnues.

A1p  b1 avec A1  c(x1 )
T
ĉ1 (x1  p)  0  c(x1 )  c(x1 ) T p  0 
b1  c(x1 )
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 : c(x1 )  c(x 0 )
 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 à p 1)

128
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation 2018

1.3.2 Restauration
Résolution du système
A1  c(x1 ) T  c(x 0 ) T  A 0
Le déplacement p2 doit vérifier : A1p  b1 avec 
b1  c(x1 )  c1
• Solution de norme minimale  projection sur l’hyperplan tangent aux contraintes actives
minn p sous A1p  b1
pR
1
 p 2  A1T A1A1T b1  (cf §1.2.4)

• Solution de base  pour ne pas dégrader la minimisation réalisée par pZ


(cf §1.2.3)
A1 (Yp Y  Zp Z )  b1  p Y  A1Y  b1  p 2  YA1Y  b1
1 1

p2
c(x)=0
p1 x1
x0
c(x)=c1
c(x1)
c(x0) 129
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation 2018

1.3.2 Restauration
Itérations
• La résolution est basée sur une linéarisation du système en x 1.

A1p  b1 avec A1  c(x1 )  c(x 0 )  A 0
T T
 déplacement p2
 1
b   c(x 1 )   c1

• 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



A 2 p  b 2 avec A 2  c(x 2 )  c(x 0 )  A 0
T T
 déplacement p3
b 2  c(x 2 )  c 2
• 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.

130
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation 2018

1.3.2 Restauration
Illustrations
Restauration en plusieurs itérations : p2 , p3 Restauration infructueuse (non linéarité)

c(x)=0 p3 c(x)=0 p2

c(x)=c1 x0 p2 c(x)=c1 x0
p1 p1
x1 x1

Restauration avec dégradation du critère

p2
c(x)=0 lignes de f

x0 p1 x1

131
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation 2018

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 p 1 (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)
A1  c(x 0 ) T
A1p 2  b1 avec  
 p 2  A1T A1A1T b1
1

b1  c(x 0  p1 )
• Pas total : pt = p1 + p2  direction de recherche.
pt p2
c(x)=0
p1 x1
x0
c(x)=c1

c(x0) 132
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
Techniques d’optimisation 2018

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
4. Optimisation discrète
5. Optimisation fonctionnelle

133
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

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

134
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Dualité
Problème avec contraintes égalité
minn f(x) sous c(x)  0  m contraintes d’égalité (= contraintes actives)
xR

Dualité
Difficulté de résolution due aux 2 objectifs antagonistes :
• Minimiser le critère f(x)  min f ( x )
x

• Satisfaire les contraintes c(x)=0  min c(x)


x
 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

135
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Critère augmenté


Problème avec contraintes égalité
minn f(x) sous c(x)  0  m contraintes d’égalité (= contraintes actives)
xR

Critère augmenté
1 2
f ρ (x)  f(x)  ρ c(x)
2
 = coefficient de pénalisation > 0  Pénalise la violation des contraintes
 Pondération critère-contraintes

Problème pénalisé sans contraintes


minn f ρ (x)  Problème équivalent au problème avec contraintes
xR
si la pénalisation  est assez grande

Problème pénalisé avec contraintes


minn f ρ (x) sous c(x)  0  Problème équivalent au problème avec contraintes
xR
Renforce le poids des contraintes dans le critère

136
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Exemple
Critère augmenté

min
1 2
x ,x 2
1 2
 
x 2  x 12 sous x 1  1 f  x 1 , x 2  
2
 2

x 2  x 12  x 1  1
1 2 1 2  
 x * ()  

0 
  1 
1

f ( x )  x 22  x 12
2

 x*  1 0 2,0
=1
2,0
=10
1,5 1,5
c( x )  x 1  1 1,0 1,0
0,5 0,5
=0 0,0 0,0
2,0
-1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5 -1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5
1,5
-1,0 -1,0
1,0
-1,5 -1,5
0,5
-2,0 -2,0

-1,0 -0,5
0,0
0,0 0,5 1,0 1,5 2,0 2,5
=2 =100
-0,5 2,0 2,0

-1,0 1,5 1,5


1,0 1,0
-1,5
0,5 0,5
-2,0
0,0 0,0
-1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5 -1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5
-1,0 -1,0
-1,5 -1,5
-2,0 -2,0
137
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Exemple
Problème de la boîte
• Réaliser une boîte cylindrique de volume donné V0 et de surface S minimale
r
Dimensions : hauteur = h , rayon = r
Surface : S  2r 2  2rh
Volume : V  r 2 h
h
• Formulation avec contrainte (en divisant S et V par )
min f (h, r )  2r 2  2rh sous c(h, r )  r 2 h  2v 0  0 avec V0  2 v 0
h ,r

Solution exacte
2v 0
• La contrainte permet d’éliminer h : h 
r2

 2 4v 0  1 1
En reportant dans la fonction coût : min 2r    r  v 0  h  2v 0 3
3
r  r 
2
• Valeur optimale du coût : f  6v 0 3

138
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Exemple
Solution par pénalisation
• Formulation avec contrainte
r
min f (h, r )  2r 2  2rh sous c(h, r )  r 2 h  2v 0  0
h ,r

• Formulation pénalisée h
1
min f  (h, r )  2r 2  2rh  (r 2 h  2v 0 ) 2
h ,r 2
 f 
  0  2r  r 2 (r 2 h  2v 0 )  0
Conditions de minimum : h
 f
   0  4r  2h  2rh (r 2 h  2v )  0
 r 0

La 1ère équation donne : r (r 2 h  2v 0 )  2

En remplaçant dans la 2ème équation : h  2r

On obtient une équation en r : r (r 3  v 0 )  1  0  à résoudre numériquement

139
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Exemple
Application numérique
• Volume : v0 = 1000
r

• Solution exacte : r = 10 , h = 20 , f = 600

• Solution pénalisée pour  allant de 103 à 102. h

Résolution numérique de : r (r 3  v 0 )  1  0  r , h  2r

 r h f c
0.001 9.641582 19.28316 557.761 792.565  Pénalisation faible
0.01 9.966442 19.93288 595.980 979.933 Contrainte mal respectée
0.1 9.996664 19.99333 599.600 997.999 Écart important à la solution exacte
1 9.999667 19.99933 599.960 999.800
10 9.999967 19.99993 599.996 999.980
100 9.999997 19.99999 600.000 999.998  Pénalisation forte
Contrainte bien respectée
Écart faible à la solution exacte

140
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Lagrangien
Problème avec contraintes égalité et inégalité

c (x)  0  p contraintes d’égalité


min f(x) sous  E (PO)
xR n
c I (x)  0  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
x  R n , λ  R p , μ  R q  L(x, λ, μ)  R
p q
L(x, λ, μ)  f(x)  λ c E (x)  μ c I (x)  L(x, λ, μ)  f(x)   λ jc Ej (x)   μ jc Ij (x)
T T

j1 j1

 multiplicateurs  coefficients de pénalisation des contraintes


 interprétation comme des sensibilités aux niveaux des contraintes

141
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Lagrangien augmenté


Problème pénalisé avec contraintes égalité
• Critère augmenté : coefficient de pénalisation  > 0
1 2
minn f ρ (x) sous c(x)  0 avec f ρ (x)  f(x)  ρ c(x)
xR 2
• Lagrangien du problème pénalisé avec contraintes
L ρ (x, λ)  f ρ (x)  λ T c(x)
1 2
 f(x)  λ T c(x)  ρ c(x)
2
1 2
 L(x, λ)  ρ c(x)
2
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

142
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Exemple
Lagrangien augmenté
• Fonction de 2 variables
1
 
min x 22  x12 sous x1  1  minimum en x* = (1 0)
x1 , x 2 2
* = 1
• Critère augmenté
1
2
 1
2

f  x 1 , x 2   x 22  x 12  x 1  1
2 
 minimum en x * ()    0 
  1 

• Lagrangien augmenté

2
 
L  x1 , x 2 ,    x 22  x12  x1  1  x1  1  minimum en x * (, )  
1 1
2
2 
  1

0 

Pour  = * = 1, le minimum sans contrainte du lagrangien augmenté
  1 
est la solution x* du problème initial. x * (, *)   0   1 0
  1 
2,0
x1
=2 =1
1,5

1,0

=0
0,5

0,0
2,0 4,0 6,0 8,0 10,0 12,0 14,0  143
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Exemple
Lagrangien augmenté

min
1 2
 
x 2  x 12 sous x 1  1 L  x 1 , x 2 ,    
1 2
 1 2  
x 2  x 12  x 1  1  x 1  1  x * ()      0 
x ,x 2
1 2 2 2   1 
1

f ( x )  x 22  x 12
2

 x*  1 0 2,0
=1 , =1
2,0
=10 , =1
1,5 1,5
c( x )  x 1  1 *  1 1,0 1,0
0,5 0,5
=0 0,0 0,0
2,0
-1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5 -1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5
1,5
-1,0 -1,0
1,0
-1,5 -1,5
0,5
-2,0 -2,0

-1,0 -0,5
0,0
0,0 0,5 1,0 1,5 2,0 2,5
=2 , =1 =100 , =1
-0,5 2,0 2,0
-1,0 1,5 1,5
1,0 1,0
-1,5
0,5 0,5
-2,0
0,0 0,0
-1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5 -1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5
-1,0 -1,0
-1,5 -1,5
-2,0 -2,0
144
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Exemple
Lagrangien augmenté

lignes de niveau pour  = 0 lignes de niveau pour  = 1 lignes de niveau pour  = 10


=2 2,0
=2 =2
2,0 2,0
1,5 1,5 1,5
1,0 1,0 1,0
0,5 0,5 0,5
0,0 0,0 0,0
-1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5 -1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5 -1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5
-1,0 -1,0 -1,0
-1,5 -1,5 -1,5
-2,0 -2,0 -2,0

=10 2,0
=10 =10
2,0 2,0
1,5 1,5 1,5
1,0 1,0 1,0
0,5 0,5 0,5
0,0 0,0 0,0
-1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5 -1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5 -1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5
-1,0 -1,0 -1,0
-1,5 -1,5 -1,5
-2,0 -2,0 -2,0
145
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Fonction duale


Fonction duale
La fonction duale du problème (PO) est la fonction w de Rp+q dans R

w(λ , μ)  min L(x, λ, μ)


 Minimisation du lagrangien à  et  fixés
xR n
x = variables primales
 et  = variables duales
•  
Domaine de w : X w  λ  R , μ  R q / w(λ , μ)  
p
 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
146
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Problème dual


Problème dual
c (x)  0
• Problème primal : min f(x) sous  E
xR n
c I (x)  0
• Fonction duale : w(λ , μ)  minn L(x, λ, μ)  x(λ , μ) /  x L(x, λ , μ)  0
xR

• Domaine de w : 
X w  λ  R p , μ  R q / w(λ , μ)     w bornée

• Problème dual : max w(λ , μ) sous (λ , μ)  X w , μ  0


λR p ,μR q

 L(x, λ , μ)  0  x(λ , μ)
 max L(x, λ , μ) sous  x  dual de Wolfe
xR n , λR p ,μR q (λ , μ)  X w , μ  0

Borne sur la fonction duale


• x* solution du problème primal  w(λ , μ)  f(x*)
• ( ,)Xw,   0
Preuve :
w(λ , μ)  minn L(x, λ, μ)  L(x*, λ, μ)  f(x*)  λ T c E (x*)  μ T c I (x*)
xR
 f(x*)  μ T c I (x*) car x * admissible  c E (x*)  0
 f(x*) car x * admissible  c I (x*)  0 et μ  0
147
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Exemple
Fonction duale

• Problème primal : min


x ,x 1 2 2

1 2

x 2  x12 sous x1  1

• Lagrangien :
1
2
 
L( x, )  x 22  x 12  x 1  1
1
• Solution : x*    , *  1
 0

L x   0 x 
• Fonction duale : w(λ )  min L(x, λ)   0   1   1
x x x 2  0 x 2  0
 w ( ) 
1 2
  x 1  
avec x  0
2  2

max w () w
• Problème dual :   0   1


1
• Solution : *  1 , x*   
 0

148
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Dualité faible


Théorème de la dualité faible
• x* solution du problème primal  w(λ * , μ*)  f(x*)
• *,* solution du problème dual

Preuve : λ,μ  0, w(λ , μ)  f(x*)  w(λ * , μ*)  f(x*)

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.
  f(x*)  w(λ * , μ*)  0

Dans le cas général  n’est pas nul, il n’est pas équivalent de minimiser f ou maximiser w.

149
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Dualité forte


Point col
(x*,*,*0) est un point col (ou point selle) du lagrangien si

L(x*, λ , μ)  L(x*, λ*, μ*)  maximisationde L par rapport à (,)


(x, λ , μ  0), 
L(x*, λ*, μ*)  L(x, λ*, μ*)  minimisation de L par rapport à (x)

Caractérisation
L(x*, λ*, μ*)  min L(x, λ*, μ*)
c (x*)  0 x
(x*,*,*0) est un point col du lagrangien si et seulement si  E
c I (x*)  0
μ * c I (x*)  0
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(,).

150
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Dualité forte


Point col (ou point selle)

L(x,)

(x*,*)

L maximal par rapport à 

L minimal par rapport à (x) x

151
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Dualité forte


Optimum global
x*  min L(x, λ*, μ*)
 x
Si (x*,*,*0) est un point col du lagrangien :  E
c (x*)  0 , c I (x*)  0
μ * c I (x*)  0

c E (x)  0
alors x* est un optimum global du problème primal : min f(x) sous  
xR n
c I (x)  0
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.
2x  1  0
Exemple min f ( x )   x 2 sous   solution : x* = 0.5
x 0  x  1
0  x 1
L( x, )   x 2  (2x  1) avec 
  0
min L( x, )  x  0 si   0.5
0  x  1
x  
 x  1 si   0.5
 
Point col : 2x  1  0  x0
 Il n’existe pas de point col.
μ(2x  1)  0    0  0.5  x  1 
μ  0

152
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Programmation linéaire


Problème primal
Ax  b
min c T x sous   problème linéaire sous forme standard
x x  0
b  Ax  0  multiplicateur 
 min c T x sous   multiplicateur 
x  x  0

• Fonction de Lagrange : L(x, λ, μ)  c T x  λ T (b  Ax)  μ T ( x)


 T
 c  A T λ  μ x  T b  linéaire en x

• Fonction duale : w(λ , μ)  min L(x, λ, μ)


x

• Domaine de définition : X w  (λ, μ ) / w(λ , μ)  

• 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.

(λ, μ)  X w  c  A T λ  μ  0
 L(x, λ, μ)  T b  w(λ , μ)  λ T b

153
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Programmation linéaire


Problème dual
(λ , μ)  X w
max w(λ , μ) sous 
λ,μ μ  0
c  A T λ  μ  0  ne dépend pas de 
 max λ b
T
sous 
λ,μ μ  0
 max b T λ sous c  A T λ  0  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 
min  b T y sous A T y  c  0  multiplicateur 
y

On peut ensuite définir les fonctions associées à ce problème linéaire.

• Fonction de Lagrange notée Ld(y, ) : L d (y, )   b T y   T (A T y  c)


 (A  b) T y   T c  bornée si A  b  0

• Fonction duale notée wd() : w d ()  min L d (y, )    T c si A  b  0


y

154
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Programmation linéaire


Problème dual du problème dual
Le problème dual admet lui-même pour dual :
  X w d
max w d () sous 
   0
A  b Ax  b
 max   T c sous   min c T x sous   identique au problème primal
   0 x x  0
• 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 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

155
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Programmation linéaire


Correspondances primal  dual
Ax  b
• Problème primal (P) sous forme standard : (P) min c T x sous 
x x  0

• Problème dual (D) du problème (P) : ( D) max b T y sous A T y  c


y

• 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).
c j x j m
• Une variable xj  0 de coût cj donne une contrainte  de niveau cj : x  0 
 j

i 1
a ij y i  c j

  i i
n


by
• Une contrainte = de niveau bi donne une variable yj R de coût bi : a ij x j  b i
j1 y i  R

 généralisation à un problème linéaire quelconque (signe des variables, sens des contraintes)

156
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Programmation linéaire


Correspondance primal-dual
• Problème primal (P)

A1 x 1  B1 x 2  C1 x 3  b1 , b1  R m  m1 égalités
1

A x  B x  C x  b , b  R m  m inégalités inférieur
2

 2 1 2 2 2 3 2 2 2

sous A 3 x 1  B3 x 2  C 3 x 3  b 3 , b 3  R  m3 inégalités supérieur
m
min c1T x 1  c T2 x 2  c 3T x 3
3

x 1 R n1
x 2 R n 2 x 1  0  n1 variables positives
x 3 R n3 x 2  0  n2 variables négatives
x 3  R n
3
 n3 variables libres

• Problème dual (D)

A1T y1  A T2 y 2  A 3T y 3  c1 , c1  R n  n1 inégalités inférieur


1

B T y  B T y  B T y  c , c  R n  n inégalités supérieur
2

 1T 1 2 2 3 3 2 2 2

sous C1 y1 mC 2 y 2  C 3 y 3  c 3 , c 3  R  n3 égalités
T T n
max b1T y1  b T2 y 2  b 3T y 3
3

y1 R m1
 y1  R
1
 m1 variables libres
y 2 R m 2
y 3 R m3 y 2  0  m2 variables négatives
 y 3  0  m3 variables positives

157
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Programmation linéaire


Correspondance primal-dual
Preuve
• Lagrangien du problème primal (P)

Lx1 , x2 , x3 ,1 ,2 ,3 ,  1 ,  2   c1T x1  c2T x2  c3T x3


 T1 b1  A1 x1  B1 x2  C1 x3   m1 multiplicateurs 1
 T2  A2 x1  B2 x2  C 2 x3  b2   m2 multiplicateurs 2  0
 T3 b3  A3 x1  B3 x2  C3 x3   m3 multiplicateurs 3  0
  1T x1   2T x2  n1 multiplicateurs 1  0
 n2 multiplicateurs 2  0

• On regroupe les termes en x1,x2,x3 :


Lx1 , x2 , x3 ,1 ,2 ,3 ,  1 ,  2   b1T 1  b2T 2  b3T 3
 T
 c1  A1T 1  A2T 2  A3T 3   1 x1   linéaire en x
 T
 c2  B1T 1  B2T 2  B3T 3   2 x2 
 T

 c3  C1T 1  C 2T 2  C3T 3 x3

• La fonction duale est définie par : w(λ , μ)  min L(x, λ, μ)  bornée si les coefficients
x
de x1,x2,x3 sont nuls
158
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Programmation linéaire


Correspondance primal-dual
• Lx1 , x2 , x3 , 1 ,2 , 3 ,  1 ,  2   b1T 1  b2T 2  b3T 3
 T
 c1  A1T 1  A2T 2  A3T 3   1 x1
  T
 c2  B1T 1  B2T 2  B3T 3   2 x2
 T
 c3  C1T 1  C 2T 2  C3T 3 x3

c1  A1T 1  A2T 2  A3T 3   1  0


  ,   0
• L bornée  c2  B1T 1  B2T 2  B3T 3   2  0 avec  1 , 2  0
c3  C1T 1  C 2T 2  C3T 3  2 3
  0

 y1  1  A1T y1  A2T y 2  A3T y3  c1   1  c1 car 1  0


 car 2  0
• En posant :  y 2   2  0   B1T y1  B2T y 2  B3T y3  c2   2  c2
 y3  3  0 C1T y1  C 2T y 2  C3T y3  c3

• Fonction duale : w y1 , y 2 , y3   L 1 ,2 ,3 ,  1 ,  2   w y1 , y 2 , y3   b1T y1  b2T y 2  b3T y3

 A1T y1  A2T y 2  A3T y3  c1



• Problème dual : max w y1 , y 2 , y3   b1T y1  b2T y 2  b3T y3 sous  B1T y1  B2T y 2  B3T y3  c2
C1T y1  C 2T y 2  C3T y3  c3
y1 , y 2 , y 3

159
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation 2018

1.4.1 Exemple
Correspondance primal-dual
• Problème primal (P)
 x 1  3x 2 5
 2x  x 2  3x 3  6
(P) min x 1  2x 2  3x 3 sous  1
x3  4

x1 , x 2 , x 3

x 1  0, x 2  0, x 3  R

• Problème dual (D)


 y1  2y 2 1
 3y  y 2 2
( D) max 5y1  6y 2  4y 3 sous  1
3y 2  y 3  3

y1 , y 2 , y 3

 y1  R , y 2  0, y 3  0
 y1  2y 2  1
 3y1  y 2  2
 min  5y1  6y 2  4y 3 sous 
 3y 2  y 3  3

y1 , y 2 , y 3

 y1  R , y 2  0, y 3  0

• Problème dual du dual : on retrouve le problème primal (P)

160
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.2 Problème sans contraintes
Techniques d’optimisation 2018

1.4.2 Problème sans contraintes

 Conditions nécessaires d’optimalité locale

 Conditions suffisantes d’optimalité locale

 Méthode pratique

 Exemples

161
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.2 Problème sans contraintes
Techniques d’optimisation 2018

1.4.2 Conditions nécessaires


Problème sans contraintes
minn f(x)
xR

Conditions nécessaires
 f(x*)  0  ordre 1 : point critique ou stationnaire
x* minimum local   2
 f(x*)  0  ordre 2 : hessien semi-défini positif

Preuve : avec le théorème de Taylor

• Ordre 1 : f(x *  d)  f(x*)  f(x*)T d  o d 


Si f(x*)0, on peut trouver d petit tel que f(x*)Td < 0  f(x*+d) < f(x*)

• Ordre 2 :
1 T 2
f(x *  d)  f(x*)  f(x*)T d 
2
d  f(x*)d  o d
2
 
1 T 2
 f(x*)  d  f(x*)d  o d
2
2
 
car f(x*)  0

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*)
162
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.2 Problème sans contraintes
Techniques d’optimisation 2018

1.4.2 Conditions suffisantes


Problème sans contraintes
minn f(x)
xR

Conditions suffisantes
 f(x*)  0  ordre 1 : point critique ou stationnaire
 2 f(x*)  0  x* minimum local
  ordre 2 : hessien défini positif

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 :
1
f(x* d)  f(x*) f(x*)T d  d T  2 f(x*)d  o d
2
2
 
1 T 2
 f(x*)  d  f(x*)d  o d
2
2
  car f(x*)  0
f(x *  d)  f(x*)  d T  2 f(x*)d  0  contredit l’hypothèse 2f(x*) définie positive

163
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.2 Problème sans contraintes
Techniques d’optimisation 2018

1.4.2 Méthode pratique


Problème sans contraintes
minn f(x)
xR

• Condition nécessaire du 1er ordre :  f(x*)  0  point critique ou stationnaire


Condition nécessaire du 2eme ordre :  f(x*)  0  plus difficile à vérifier
2

suffisante  2 f(x*)  0

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.

164
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.2 Problème sans contraintes
Techniques d’optimisation 2018

1.4.2 Exemples
Exemple 1 5,0

Fonction de Rosenbrock 4,0



f ( x1 , x 2 )  100 x 2  x 1  1  x 
2 2
1
2
3,0

• Gradient : 2,0
 400x 13  400x 1 x 2  2x 1  2 
 f ( x 1 , x 2 )   

 200x 2  200x 1 2

1,0

• Hessien : 0,0
1200x 1  400x 2  2  400x 1 
2 -2,5 -2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
 f ( x 1 , x 2 )  
2

 -1,0
  400 x 1 200 
400x 13  400x 1 x 2  2x 1  2  0 x 1  1 1
• Point stationnaire : f ( x 1 , x 2 )  0    x  x 2  x*   
 200 x 2  200 x 2
1  0  2 1 1

 802  400  1  1001.60


• Valeurs propres du hessien :  2 f ( x*)   
  400 200     0.39936
   2
• 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
165
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.2 Problème sans contraintes
Techniques d’optimisation 2018

1.4.2 Exemples
Exemple 2
Fonction : f ( x 1 , x 2 )   x 14  x 42
  4x 13 
• Gradient :  f ( x 1 , x 2 )   3

  4 x 2

  12x 12 0 
• Hessien :  f ( x 1 , x 2 )  
2
2

 0  12x 2 

x 0  0
• Point stationnaire : f ( x 1 , x 2 )  0   1  x*   
x 2  0  0
 0 0  0
• Valeurs propres du hessien :  2 f ( x*)      1
2f(x*) est semi-défini positif  0 0  2  0

• 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 : f ( x 1 , x 2 )   x 14  x 42  0


 ( x 1 , x 2 ), f ( x 1 , x 2 )  f (0,0)
166
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.2 Problème sans contraintes
Techniques d’optimisation 2018

1.4.2 Exemples
Exemple 3 1,0

Fonction : f ( x1 , x 2 )  x  x
2
1
3
2
0,5
 2x1 
• Gradient :  f ( x 1 , x 2 )   
2
  3x 2 0,0
-1,0 -0,5 0,0 0,5 1,0
2 0 
• Hessien :  2 f ( x 1 , x 2 )    -0,5
 0  6 x 2
-1,0
x 0  0
• Point stationnaire : f ( x 1 , x 2 )  0   1  x*   
x 2  0  0
 2 0  2
• Valeurs propres du hessien :  2 f ( x*)      1
2f(x*) est semi-défini positif  0 0  2  0

• x* vérifie les conditions nécessaires de minimum local


x* ne vérifie pas les conditions suffisantes de minimum local
 0 si x 2  0
x* n’est ni un minimum ni un maximum local de f : f ( 0, x 2 )   x 3
2 
 0 si x 2  0
167
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

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

168
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Conditions nécessaires


Problème avec contraintes
c (x)  0  p contraintes d’égalité
minn f(x) sous  E  q contraintes d’inégalité
xR c I (x)  0

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

169
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Conditions nécessaires


Problème avec contraintes
c (x)  0  p contraintes d’égalité
minn f(x) sous  E  q contraintes d’inégalité
xR c I (x)  0

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 :  x L(x*, λ*, μ*)  0  conditions nécessaires d’ordre 1


 λ L(x*, λ*, μ*)  0  contraintes égalité cE(x*) = 0
  contraintes inégalité cI(x*)  0
 μ L(x*, λ*, μ*)  0
μ *  0
μ * c (x*)  0  conditions complémentaires
 I

• Ordre 2 : Pour toute direction d tangente aux contraintes actives (c(x*)=0) :


d T  2xx L(x*, λ*, μ*)d  0  conditions nécessaires d’ordre 2
d / d T c(x*)  0
 Conditions nécessaires de Karush-Kuhn-Tucker (conditions KKT)
(1939) (1951)
170
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

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
m 
n m x 
• On choisit une base BRmn : AE   B N E T x   B 
   xN 
Ax  b  Bx B  Nx N  b  x B  B 1 b  Nx N 

min f(x) sous Ax  b  min f(x B , x N ) sous x B  B 1 b  Nx N 


xR n x B R m
x N R n - m

• On se ramène à un problème sans contrainte (= problème réduit)



minn-m g(x N )  f B 1 b  Nx N , x N
x N R

• Conditions nécessaires d’optimalité du problème réduit
 g(x N *)  0
xN* minimum local de g(xN)  2
 g(x N *)  0
 Méthode de réduction : fonction réduite g(xN)
gradient réduit  g(xN)
hessien réduit 2g(xN)
171
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Conditions nécessaires


Eléments de la démonstration
1) Cas de contraintes linéaires

• Problème réduit :
x N R

minn-m g(xN )  f B 1 b  Nx N , x N 
• Condition nécessaire d’ordre 1 du problème réduit : g(x N *)  0
  f ( x )

g(x N )  f B 1 b  Nx N , x N 
avec f(x)   B 
  N f ( x )
 T
 g(x N )   B 1 N  B f ( x )   N f ( x )

• On définit :    B T  B f ( x )   B f ( x )  B T   0
 g(xN )  N T    N f ( x )

g(x N *)  0   N f(x*)  N T *  0   f(x*)  AT *  0



avec  B f ( x*)  B T *  0 

• On obtient la condition nécessaire d’ordre 1 sur le lagrangien


 x L(x*,* )  f(x*)  c E (x*)*  0 car c E (x*)T  A
172
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

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 :  2 g(x N *)  0


  2BB f ( x )  2BN f ( x ) 

g(x N )  f B b  Nx N , x N
1

avec  f(x)   2
2


  NB f ( x )  NN f ( x ) 
2

 
T
   T
 
  2 g(x N )  B 1 N  2BB f ( x ) B 1 N  B 1 N  2BN f ( x )   2NB f ( x ) B 1 N   2NN f ( x )
 d B    B 1 N 
• Pour dR vérifiant Ad  0  d      d N , d N  R n  m

dN   I 
 T
    T

d NT  2 g(x N )d N  d NT B 1 N  2BB f ( x ) B 1 N d N  d NT B 1 N  2BN f ( x )d N
 
 d NT  2NB f ( x ) B 1 N d N  d NT  2NN f ( x )d N
 d NT  2 g(x N )d N  d BT  2BB f ( x )d B  d BT  2BN f ( x )d N  d NT  2NB f ( x )d B  d NT  2NN f ( x )d N

 d NT  2 g(x N )d N  d T  2 f ( x )d  d T  2xx L( x , )d car  x L(x*,* )  f(x*)  AT  *


  2xx L(x*,* )   2 f(x*)
• On obtient la condition nécessaire d’ordre 2 sur le lagrangien
d  R / Ad  0 , d T  2xx L( x*,*)d  d NT  2 g(x N *)d N  0
173
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

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
c (x)0
On suppose que x* est un minimum local de min f ( x ) sous  E
xR n
c I ( x )  0
• On définit pour les contraintes inégalité : c I ( x )  max0 ,c I ( x )

• On considère une suite de problèmes pénalisés sans contrainte


1 1 2 1
k c E ( x )  k c I ( x )   x *  x
2 2
min f k ( x )  f ( x )   minimum local xk
xR n 2 2 2
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*)

174
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

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*)


1 1 2 1
f k ( xk )  f ( xk )  k c E ( xk )  k c I ( xk )  
2 2
x *  xk  f ( x*)
2 2 2
k c ( x ) borné
2
 lim kc E ( xk )   *  définit les multiplicateurs 
 E k
2 k   def

 k c I ( xk ) borné   lim kc I ( xk )   *  définit les multiplicateurs 
k 
  lim x
def

 x *  xk borné  x*  la suite (xk) converge vers x*


2
k  k
Multiplicateurs des contraintes inégalité : c I ( x )  max0 ,c I ( x )  0  *  0


Contrainte inégalité inactive : c I ( x )  0  c I ( xk )  0 , k  k0  *  0

• On regroupe les contraintes en un seul vecteur pour simplifier l’écriture


 c ( x ) 1 1
  x* x
2 2
c( x )   E   f k ( x )  f ( x )  k c( x )
 cI ( x )  2 2
f k ( x )  f ( x )  kc( x )c( x )   ( x  x*)
175
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

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)  f k ( xk )  0  f ( xk )  kc( xk )c( xk )   ( xk  x*)  0

• En prémultipliant par c( xk )T


 c( xk )T f ( xk )  kc( xk )T c( xk )c( xk )  c( xk )T ( xk  x*)  0
• Les contraintes sont supposées linéairement indépendantes  c( xk )T c( xk ) inversible

• En prémultipliant par c( x k )T c( xk ) 1

 
 kc( xk )   c( xk )T c( xk ) c( xk )T f ( xk )   ( xk  x*)
1

• En distinguant les contraintes égalité et inégalité


kc ( x )  c ( x )T c ( x )1 c ( x )T f ( x )   ( x  x*)

E k E k E k E k k k

kcI ( xk )  cI ( xk )T cI ( xk ) cI ( xk )T f ( xk )   ( xk  x*)


1

176
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

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
 
kc ( x )   c ( x )T c ( x ) 1 c ( x )T f ( x )   ( x  x*)
• On obtient :  E k
 
E k E k E k k k

kc I ( xk )   c I ( xk ) c I ( xk ) c I ( xk ) f ( xk )   ( xk  x*)


 T  1  T

• Lorsque k tend vers l’infini

k  E k def E  E E 
 lim kc ( x )  *   c ( x*)T c ( x*) 1 c ( x*)T f ( x*)

klim
 
 1

kc I ( xk )  *   c I ( x*)T c I ( x*) c I ( x*)T f ( x*)
def

• En reportant dans l’expression du gradient de fk en xk


f k ( xk )  f ( xk )  kc E ( xk )c E ( xk )  kc I ( xk )c I ( xk )   ( xk  x*)  0
k f ( x*)  c E ( x*) * c I ( x*)*  0


 f ( x*)  c E ( x*) * c I ( x*)*  0 car *=0 pour les inégalités inactives

• On obtient la condition nécessaire d’ordre 1 :  x L( x*,*, *)  0

177
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Exemple
Conditions nécessaires
2,0
1
 
min x 22  x 12 sous x 1  1
x1 , x 2 2
1,5
1,0

 
Lagrangien : Lx 1 , x 2 ,    x 22  x 12  x 1  1
1 0,5
0,0
2 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
-0,5
• Conditions nécessaires d’ordre 1 -1,0
 x 1  μ  0 1
-1,5
x 2  0  vérifiées en x*    , *  1

-2,0

x 1  1  
0
μ  0
μ x 1  1  0
• Conditions nécessaires d’ordre 2 T
 d1   1 
d direction tangente aux contraintes actives : d c(x*)  0       0  d1  0
T

T  d2   0
 d    1 0   d1 
d T  2xx L(x*, μ*)d   1       d12  d 22  d 22  0 qui est vérifié pour tout d
d2   0 1d2 
1
x*    , *  1 vérifie les conditions nécessaires d’ordre 1 et 2.
 0
178
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Exemple
Conditions nécessaires
2,0
1
 
min x 22  x 12 sous x 1  1
x1 , x 2 2
1,5
1,0

 
Lagrangien : Lx 1 , x 2 ,    x 22  x 12  x 1  1
1 0,5
0,0
2 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
-0,5
• Conditions nécessaires d’ordre 1 -1,0
 x 1  μ  0  0 -1,5
x 2  0  vérifiées en x*    , *  0

-2,0

x 1  1  
0
μ  0
μ x 1  1  0
• Conditions nécessaires d’ordre 2
Aucune contrainte n’est active en x1=0. Pour toute direction d on doit avoir :
T
d    1 0   d1  1
d T  2xx L(x*, μ*)d   1       d12  d 22  0 qui n’est pas vérifié pour d   
 d2   0 1  d2  0
0
x*    , *  0 vérifie les conditions nécessaires d’ordre 1, mais pas d’ordre 2.
0
179
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Conditions nécessaires


Multiplicateur du critère

minn f(x) sous c(x)  0  m contraintes d’égalité (= contraintes actives)


xR

• Dans le cas général, il faut définir le lagrangien avec un multiplicateur 0 sur le critère.

L( x , ,  0 )   0 f ( x )  T c( x ) avec Rm : multiplicateurs des contraintes


0R : multiplicateur du critère → 0  0

• Les conditions KKT donnent un système de n+m équations à n+m+1 inconnues.


 x L( x , ,  0 )  0  n
  L( x , ,  0 )  0  m
• Dans le cas normal, le système admet une solution pour toute valeur 0 > 0.
Les multiplicateurs sont définis à une constante multiplicative près  on choisit 0 = 1.

• Dans le cas anormal, le système n’admet une solution que si 0 = 0.


Ce cas correspond à un ensemble admissible réduit à des points isolés.
La solution satisfait les contraintes, mais la valeur du critère n’est pas « minimisable ».
 équivaut à une valeur infinie des multiplicateurs 
180
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Exemple
Multiplicateur du critère

min x1 sous x12  x 22  0 → solution unique vérifiant la contrainte


x1 , x 2

Lagrangien : 
Lx1 , x 2 , ,  0    0 x1   x12  x 22  avec 0  0

• Conditions nécessaires d’ordre 1


 0  2x1  0
  système de 3 équations à 4 inconnues
 2x 2  0
x12  x 22  0

• x1  0   0  0 → cas anormal


Solution : x  0  quelconque
 2 
La contrainte n’est satisfaite qu’en un point isolé (0 , 0).
Le multiplicateur 0 du critère est nul ( critère indifférent, pas de minimisation possible).

• Si l’on écrit le lagrangien sans le multiplicateur 0, les conditions KKT sont
1  2x1  0 x 0
  solution 
x1  0     ( critère indifférent)
 2x 2  0  2
x12  x 22  0
181
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Conditions suffisantes


Problème avec contraintes
c (x)  0  p contraintes d’égalité
minn f(x) sous  E  q contraintes d’inégalité
xR c I (x)  0

Conditions suffisantes
S’il existe x*Rn , *Rp , *Rq tels que :
• Ordre 1 :  x L(x*, λ*, μ*)  0  conditions d’ordre 1
 λ L(x*, λ*, μ*)  0  contraintes égalité cE(x*) = 0
 L(x*, λ*, μ*)  0  contraintes inégalité cI(x*)  0
μ
μ *  0

μ * c I (x*)  0  conditions complémentaires
μ k *  0 si c Ik (x*)  0  contraintes actives : multiplicateur > 0

• Ordre 2 : Pour toute direction d tangente aux contraintes actives (c(x*)=0) :


d T  2xx L(x*, λ*, μ*)d  0  conditions d’ordre 2
d / d T c(x*)  0
 x* est un minimum local strict

Remarque : Pas d’hypothèse de qualification des contraintes dans les conditions suffisantes
182
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

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


1 2 1 2
minn L ρ (x, λ*)  L(x, λ*)  ρ c(x)  f(x)  λ * T c(x)  ρ c(x)
xR 2 2
L(x,) = lagrangien augmenté
>0 = pénalisation de la violation des contraintes

•  x L ρ (x*, λ*)  f(x*)  c(x*)λ *  ρc(x*)c(x*)


 f(x*)  c(x*)λ *  car x* admissible
  x L(x*, λ*)  0  par hypothèse sur x*,*
•  xx L ρ (x*, λ*)   xx L(x*, λ*)  ρc(x*)c(x*)
2 2 T
 définie positive pour  assez grand

 x* est un minimum local du lagrangien augmenté L(x,*) pour =*.

• Au voisinage de x* : L ρ (x*, λ*)  L ρ (x, λ*)  f(x*, λ*)  f(x, λ*) ,x / c(x)  0
 x* est un minimum local de f

183
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Exemple
Conditions suffisantes
2,0
1
 
min x 22  x 12 sous x 1  1
x1 , x 2 2
1,5
1,0

1 0,5
x*    , *  1 vérifie les conditions nécessaires 0,0
 0 -1,0 -0,5
-0,5
0,0 0,5 1,0 1,5 2,0 2,5

-1,0
• Conditions suffisantes d’ordre 1 -1,5
Contrainte active  multiplicateur > 0 -2,0

x * 1  0 *  1  0

• Conditions suffisantes d’ordre 2 T


 d  1
d direction tangente aux contraintes actives : d T c(x*)  0   1     0  d1  0
 d2   0
T
 d1    1 0   d1  0
d  xx L(x*, μ*)d    
T 2
    d12  d 22  d 22  0 car d     0  d 2  0
d2   0 1d2  d2 

1
x*    , *  1 vérifie les conditions suffisantes d’ordre 1 et 2  minimum local strict.
 0
184
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Exemple
Remarque sur la condition d’ordre 2
2,0
1
  1
min x 22  x 12 sous x 1  1  x*    , *  1
x1 , x 2 2
1,5

 0 1,0

  1 1 0,5
d    est une direction admissible en x*    0,0
0  0 -1,0 -0,5
-0,5
0,0 0,5 1,0 1,5 2,0 2,5

mais la condition d’ordre 2 ne porte que -1,0


sur les directions tangentes aux contraintes actives. -1,5
-2,0

Importance de la condition de complémentarité


1
 
min x 22  x 12 sous x 1  0
x1 , x 2 2

 0
x*    , *  0 vérifie les conditions suffisantes d’ordre 1 et 2
 
0 sauf la condition de complémentarité

Si la contrainte inégalité est active, le multiplicateur doit être strictement positif.


x1* = 0 est active et * = 0 n’est pas strictement positif
 x* n’est pas un minimum local (f décroit suivant x1 <0)

185
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Interprétation géométrique


Interprétation

• Condition complémentaire
μ j  0  sensibilité nulle

μ jc Ij (x)  0, j  1,..., q  ou
c Ij (x)  0  contrainte active

• Condition d’ordre 1
 x L(x, λ, μ)  0  f(x)  c E (x).λ  c I (x).μ  0
  f(x)  c E (x).λ  c I (x).μ
  f(x)  c(x).  contraintes actives c(x)

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.

186
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Interprétation géométrique


Fonction de 2 variables – 1 contrainte égalité

x2
min f(x1 , x 2 ) sous c E (x1 , x 2 )  0
f décroissante x1 , x 2

f ( x*)  c E ( x*)  0


f

x*

f cE Sur le schéma :


• f(x1, x2) = x1 à minimiser
cE •  < 0 (  2)

f
cE = 0

x1
187
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Interprétation géométrique


Fonction de 2 variables – 1 contrainte inégalité

x2
min f(x1 , x 2 ) sous c I (x1 , x 2 )  0
f décroissante x1 , x 2

f ( x*)  c I ( x*)  0


0
f

x* cI < 0
f cI Sur le schéma :
• f(x1, x2) = x1 à minimiser
•  > 0 (  2)

f
cI = 0
cI
x1
188
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Interprétation géométrique


Fonction de 2 variables – 1 contrainte égalité – 1 contrainte inégalité

x2 c (x , x )  0
min f(x1 , x 2 ) sous  E 1 2
f décroissante x ,x
1 2 c I (x1 , x 2 )  0
f ( x*)  c E ( x*)  c I ( x*)  0
0
f cE

cI < 0
Sur le schéma :
• f(x1, x2) = x1 à minimiser
•  < 0 (  1.5)
x* •  > 0 (  1.5)

f
cI = 0
cE = 0 cI cE
x1
189
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Interprétation géométrique


Fonction de 2 variables – 2 contraintes inégalité

x2 c (x , x )  0
min f(x1 , x 2 ) sous  I1 1 2
f décroissante x ,x
1 2 c I2 (x1 , x 2 )  0
cI2 f ( x*)  1c I1 ( x*)   2 c I 2 ( x*)  0
1  0
f 2  0

cI1 < 0
cI2 < 0
Sur le schéma :
• f(x1, x2) = x1 à minimiser
cI2
• 1 > 0 (1  1.5)
• 2 > 0 (2  1.5)
x*
f
cI1 = 0
cI2 = 0 cI1
x1
190
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Interprétation géométrique


Fonction de 2 variables – 1 contrainte inégalité

x2
min f(x1 , x 2 ) sous c I (x1 , x 2 )  0
cI = 0 x1 , x 2

f ( x*)  c I ( x*)  0


0

cI < 0
Sur le schéma :
f
• f(x1, x2) quadratique
x* • x0 = minimum sans contrainte
•  > 0 (  2)
x0
cI

f
x1
191
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Interprétation géométrique


Fonction de 2 variables – 1 contrainte égalité – 1 contrainte inégalité

x2 c (x , x )  0
min f(x1 , x 2 ) sous  E 1 2
x ,x
1 2 c I (x1 , x 2 )  0
f ( x*)  c E ( x*)  c I ( x*)  0
0
cE = 0
x*
cI < 0
Sur le schéma :
• f(x1, x2) quadratique
cI • x0 = minimum sans contrainte
x0 cE •  > 0 (  1.0)
f cI = 0 •  > 0 (  1.0)

x1
192
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Méthode pratique


Problème avec contraintes
c (x)  0  p contraintes d’égalité
minn f(x) sous  E  q contraintes d’inégalité
xR c I (x)  0

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é
minn f(x) sous c(x)  0  m contraintes actives
xR

193
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Exemple
Problème avec 2 contraintes inégalité

sous c1 ( x )  x 1  x 2  1  1  0
 2 2 2,5
min f ( x )  x 1  x 2
c 2 ( x )  1  x 2  0
x1 , x 2 2

1,5
• Lagrangien : L( x, )  f ( x )  1c1 ( x )   2 c 2 ( x )
 2

 x 1  x 2  1 x 12  x 2  1  1   2 1  x 2 
1

0,5

• Conditions KKT d’ordre 1 0


-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
1  21 x 1  0 -0,5
1  21 x 2  1   2  0 -1
x 2  x  12  1  0
 1 2
1  x 2  0
1 c1 ( x )  0  conditions complémentaires : 4 combinaisons possibles
 2 c 2 ( x )  0
 ,   0
 1 2
Identification des contraintes actives
  0 ou c ( x )  0
Problème combinatoire : il faut essayer les 4 possibilités 1  0 ou c1 ( x )  0
 2 2

194
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Exemple
Problème avec 2 contraintes inégalité

sous c1 ( x )  x 1  x 2  1  1  0
 2 2 2,5
min f ( x )  x 1  x 2
c 2 ( x )  1  x 2  0
x1 , x 2 2

1,5
• Si 1  0  incompatible équation 1  21 x 1  0
1

 c1 ( x )  0  c1 contrainte active 0,5

• Si  2  0  1  21 x 2  1  0 -2 -1,5 -1 -0,5 0 0,5 1 1,5 2


1 x2  0
 incompatible équations 
-0,5

1  0 -1

 c 2 ( x )  0  c2 contrainte active

• c1 ( x )  0 x  1   0.5 et 1  0  x 1  1
Combinaison retenue c ( x )  0  x 1  1  1  1
 2  2  2
x 1  1

• Solution : x 2  1 Vérification condition d’ordre 2 : cône admissible vide
  0.5
 1 (2 contraintes actives)
 2  1  minimum local

195
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Exemple
Changement de sens contrainte 2

sous c1 ( x )  x 1  x 2  1  1  0
 2 2 2,5
min f ( x )  x 1  x 2
c 2 ( x )  x 2  1  0
x1 , x 2 2

1,5
• Lagrangien : L( x, )  f ( x )  1c1 ( x )   2 c 2 ( x )
 2

 x 1  x 2  1 x 12  x 2  1  1   2 x 2  1
1

0,5

• Conditions KKT d’ordre 1 0


-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
1  21 x 1  0 -0,5
1  21 x 2  1   2  0 -1
x 2  x  12  1  0
 1 2
x 2  1  0
1 c1 ( x )  0  conditions complémentaires : 4 combinaisons possibles
 2 c 2 ( x )  0
 ,   0
 1 2
Identification des contraintes actives
  0 ou c ( x )  0
Problème combinatoire : il faut essayer les 4 possibilités 1  0 ou c1 ( x )  0
 2 2

196
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Exemple
Changement de sens contrainte 2

sous c1 ( x )  x 1  x 2  1  1  0
 2 2 2,5
min f ( x )  x 1  x 2
c 2 ( x )  x 2  1  0
x1 , x 2 2

1,5
• Si 1  0  incompatible équation 1  21 x 1  0
1

 c1 ( x )  0  c1 contrainte active 0,5

0
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
x  1   0.5
Si c 2 ( x )  0     1
-0,5
• x 1  1
 2  2  1 -1

 incompatible condition  2  0

1  21 x 1  0 x 1  1 /(21 ) x 1  1 / 2
  
• Si  2  0  1  21 x 2  1  0  x 2  1  1 /(21 )  x 2  1  1 / 2
x 12  x 2  12  1  0 1  1 / 2  0
 1  1 / 2

 2 0 
• Vérification condition d’ordre 2 :  2xx L( x, )   1 0  minimum local
 0 21 
(1 contrainte active)
197
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Exemple
Passage contrainte 1 en égalité

sous c1 ( x )  x 1  x 2  1  1  0
 2 2 2,5
min f ( x )  x 1  x 2
c 2 ( x )  1  x 2  0
x1 , x 2 2

1,5
• Lagrangien : L( x, )  f ( x )  1c1 ( x )   2 c 2 ( x )
 2

 x 1  x 2  1 x 12  x 2  1  1   2 1  x 2 
1

0,5

• Conditions KKT d’ordre 1 0


-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
1  21 x 1  0 -0,5
1  21 x 2  1   2  0 -1
x 2  x  12  1  0
1 1 x 2 0
 2
 2 c 2 ( x )  0  conditions complémentaires : 2 combinaisons possibles
 2  0

Identification des contraintes actives

Problème combinatoire : il faut essayer les 2 possibilités  2  0 ou c 2 ( x )  0

198
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Exemple
Passage contrainte 1 en égalité

sous c1 ( x )  x 1  x 2  1  1  0
 2 2 2,5
min f ( x )  x 1  x 2
c 2 ( x )  1  x 2  0
x1 , x 2 2

1,5
1  21 x 1  0
  1  0
• Si  2  0  1  21 x 2  1  0 1

x 12  x 2  12  1  0 0,5

0
x 1  1 /(21 ) -2 -1,5 -1 -0,5 0 0,5 1 1,5 2

 x 2  1  1 /(21 )
-0,5

1  1 / 2 -1

x 1  1 / 2

1  x 2  0  x 2  1  1 / 2
1  1 / 2

 2 0 
• Vérification condition d’ordre 2 :  2xx L( x, )   1   0  maximum local
(1 contrainte active)  0 21   solution rejetée

199
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Exemple
Passage contrainte 1 en égalité

sous c1 ( x )  x 1  x 2  1  1  0
 2 2 2,5
min f ( x )  x 1  x 2
c 2 ( x )  1  x 2  0
x1 , x 2 2

1,5
x  1
• Si c 2 ( x )  0   1   0.5
  1 1
x 2  1  2  1 0,5

• Vérification condition d’ordre 2 0


-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
 2 0  -0,5
 2xx L( x, )   1 
 0 21  -1

 2x1   2x1  0


Cône admissible vide : c1       , c 2     2 contraintes actives
 2( x 2  1)   0    1

x 1  1 x 1  1
x  1 x 2  1
 2 minima locaux :  2  f (x)  0 et   0.5  f ( x )  2
1  0.5
  1
 2  1  2  1

200
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Méthode pratique


Problème avec contraintes actives
minn f(x) sous c(x)  0  m contraintes actives
xR

Résolution des conditions KKT


On cherche x*Rn et *Rm vérifiant les conditions KKT.

• Condition nécessaire du 1er ordre


 x L(x*, λ*)  0  n équations
 L(x*, λ*)  0  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 : d T  2xx L(x*, λ*)d  0  hessien du lagrangien semi-défini positif

d / d c(x*)  0 sur le cône admissible
T

Condition difficile à vérifier sous cette forme  passage au hessien réduit

201
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Méthode pratique


Problème avec contraintes actives
minn f(x) sous c(x)  0  m contraintes actives
xR

Problème équivalent
• Les conditions nécessaires de minimum de f sous contraintes sont :
 x L(x*, λ*)  0

 λ L(x*, λ*)  0
d T  2xx L(x*, λ*)d  0 , d / d T c(x*)  0

• On observe qu’il s’agit également des conditions nécessaires du problème :

min L(x, *) sous c(x)  0


xR n

• Il est équivalent de minimiser f(x) ou L(x,*), si l’on connaît *.


minn f(x) sous c(x)  0  minn L(x, *) sous c(x)  0
xR xR

• 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.

202
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Méthode pratique


Problème équivalent
minn L(x, *) sous c(x)  0
xR

Modèle quadratique-linéaire
1
• Modèle quadratique du critère : L̂(x *  p)  L(x*, *)  p T  x L(x*, *)  p T  2xx L(x*, *)p
2
g (x*)   x L(x*, *)  gradient du lagrangien par rapport à x
En notant :  L
 hessien du lagrangien par rapport à x
H L (x*)   xx L(x*, *)
2

1
 L̂(x *  p)  L(x*, *)  p T g L (x*)  p T H L (x*)p
2
• Modèle linéaire des contraintes : ĉ(x *  p)  c(x*)  c(x*) T p avec c(x*)  0

En notant : A  c(x*) T
p  Yp  Zp avec AY inversible
 Y Z AZ = 0 (espace nul)
AYp Y  0 p  0 car AY inversible
c(x*)T p  0     Y
p Z libre p Z libre

• Problème réduit : minn L̂(x *  p) sous ĉ(x *  p)  0  min L̂(x *  Zp Z )


pR p Z R n m

203
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Méthode pratique


Problème réduit
minn m L̂(x *  Zp Z )  problème sans contrainte à nm variables pZ
p Z R
1
avec L̂(x *  Zp Z )  L(x*, *)  p TZ Z T g L (x*)  p TZ Z T H L (x*)ZpZ
2
Conditions nécessaires de minimum du problème réduit

L̂(x *  Zp Z )  L̂(x*) , p Z  p TZ Z T g L (x*)  p TZ Z T H L (x*)ZpZ  0 , p Z  Z T g L (x*)  0


1 T

2 Z H L (x*)Z  0

T T

Condition réduite d’ordre 1 : Z g L (x*)  0  Z  x L( x*, *)  Z f ( x*)  c( x*) *  0
T T

 Z T f ( x*)  0 car c( x*) T Z  0
Condition réduite d’ordre 2 : Z H L (x*)Z  0
T

g Z  Z T g  gradient réduit du critère g(x)  f (x)
• 
H Z  Z H L Z  hessien réduit du lagrangien H L (x)   xx L(x, *)
T 2

g ( x*)  0  gradient réduit du critère nul


• x* minimum local   Z
H Z ( x*)  0  hessien réduit du lagrangien semi-défini positif

204
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

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
r
Formulation du problème
• Surface : S  2r 2  2rh
 min S(h, r ) sous V(h, r )  V0
• Volume : V  r 2 h h ,r

Résolution
On note : V0 = 2v0

• Lagrangien : L(h, r, )  2r 2  2rh   r 2 h  2v 0  h
• Conditions KKT
2r  r 2 0 r  2 0 r  2
  
4r  2h  2rh  0  2r  h  rh  0  h  2r
r 2 h  2v 0 0 r 2 h  2v 0  0 r 3  v 0

r  v 13
 S  6v 0 3  32 3 V0 3
2 1 2
• Solution :  0
1
h  2v 0 3

205
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

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.
g Z ( x*)  Z T f (x*)  0  gradient réduit du critère nul

H Z ( x*)  Z  xx L(x, *)Z  0  hessien réduit du lagrangien semi-défini positif
T 2

 r 
• Gradient du critère : g(h, r )   h , r f (h, r )  2 
 2r  h 
• Hessien du lagrangien : L(h, r, )  2r 2  2rh   r 2 h  2v 0  
 2r  r 2   0 1  r 
 g L (h, r )   h , r L(h, r, )    , H L (h, r )   2h , r L(h, r, )  2
 
 4 r  2 h  2 rh   1   r 2   h 

Choix d’une base de réduction


• Contrainte : c(h, r )  r 2 h  2v 0  0  c T  r 2  2rh 
 r 2rh    B
 h r

• Choix de la base avec la variable h : A  c T 2
N
 
  B 1 N    2rh / r 2    2h / r 
• Base de l’espace nul : Z   
 
  
 
 I   1   1 
206
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Exemple
Vérification des conditions réduites
T
  2h / r   r 
• Gradient réduit du critère : g Z (h, r )  Z g(h, r )  2
T
    22r  h 
 1   2 r  h 
On vérifie que le gradient réduit est nul : h  2r  g Z (h, r )  0

T
  2h / r   0 1  r   2h / r 
• Hessien réduit du lagrangien : H Z (h, r )  Z T H(h, r ) Z  2    
 1   1   r 2   r  1 
 h 
 H Z (h, r )  2 2  4  3h 
 r 

On vérifie que le hessien réduit est semi-défini positif

r  2  H (h, r )  2 2  h (4  3r )   12  0


h  2 r  

Z
 r 

207
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Exemple
Résolution par élimination 2v 0
• Contrainte : c(h, r )  r 2 h  2v 0  0  h 
r2
4v 0
• Elimination de la variable h : S(h, r )  2r 2  2rh  S(r )  2r 2 
r
dS 4v  v 
• Gradient : (r )  4r  2 0  4r1  30 
dr r  r 
2
d S 8v 0  v0 
• Hessien : ( r )  4    4  1  2 
dr 2 r3  
3
r
 dS
 dr (r )  0 r  v 0
3

• Minimum de S(r) :  2   d 2S
 d S (r )  0  dr 2 (r )  12  0
 dr 2

Lien avec les conditions réduites


• Gradient réduit
 2v   v  dS
g Z (h, r )  22r  h  avec h  20  g Z (h, r )  2 2r  20   4r1  20  
2v
(r )
r  r   r  dr
• Hessien réduit
d 2S
 pas de relation directe entre H Z et 2 (contrainte non linéaire)
dr
208
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

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

Vitesse v1

Vitesse v2

Arrivée

209
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

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

Baigneur

Vitesse v2

eau

terre
Vitesse v1

Sauveteur
210
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Exemples
Problème du sauveteur
• Données du problème : l0, l1, l2, v1, v2
y Arrivée
l1
Distance sur terre : d1 
cos 1
d l2
Durée de course : t1  1 2
v1 d2
l2 v2
Distance dans l’eau : d 2 
cos  2
d v1
Durée de nage : t2  2
v2 l1 1 d1
Distance suivant x : L  d1 sin 1  d 2 sin  2

x
Départ l0
• Formulation du problème

Variables : 1 , 2
Contrainte : L = l0  atteindre le point visé
Critère : T = t1 + t2  durée totale à minimiser

211
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Exemples
Problème du sauveteur
• Formulation du problème

min T1 ,  2  sous L1 ,  2   l 0


1 ,  2

l1 l2
 min T   sous L  l1 tan 1  l 2 tan  2  l 0
1 ,  2 v1 cos 1 v 2 cos  2

• Résolution du problème

Lagrangien : L1 ,  2 ,     l1 tan 1  l 2 tan  2  l 0 


l1 l2

v1 cos 1 v 2 cos  2

 l1 sin 1 1
 v cos 2    l 0

1 2
 1 cos
 l 2 sin  2
1
1
1
sin 1  v1  0
Conditions KKT :   l 2 0  sin  2  v 2  0
 2
v cos 2
 2 cos 2
 2 l1 tan 1  l 2 tan  2  l 0

l1 tan 1  l 2 tan  2  l 0

212
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Exemples
Problème du sauveteur
sin 1  v1  0
• Conditions KKT : sin  2  v 2  0 2
l1 tan 1  l 2 tan  2  l 0
v2
sin 1 v1 v1
• 1,2 vérifient :   loi de la réfraction de Descartes
sin  2 v 2
1

• Pour résoudre complètement


sin   v  cos   1  2 v 2
On exprime 1,2 en fonction de  : 
1 1 1 1

sin  2   v 2  cos  2  1   v 2
2 2

l1 v1 l 2 v 2
On remplace dans la contrainte : l1 tan 1  l 2 tan  2  l 0    l 0
1  v
2 2
1 1  v
2 2
2

On obtient une équation en  : l1 v1 1  2 v 22  l 2 v 2 1  2 v12  l 0 1  2 v 22 1  2 v12


 équation de degré 4
 solution *  1* ,2*
213
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Sensibilité aux contraintes


Problème avec contraintes
c (x)  0  p contraintes d’égalité
minn f(x) sous  E  q contraintes d’inégalité
xR c I (x)  0

 min f(x) sous c(x)  0  m contraintes d’égalité (= contraintes actives)


xR n

Problème initial
minn f(x) sous c(x)  0
xR

• Multiplicateurs : *, xL(x*,*)= 0


• Solution : x*, f(x*) = f*
c(x*) =0
Problème perturbé
minn f(x) sous c(x)  c
xR

• 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

214
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Sensibilité aux contraintes


Variation du coût optimal
• Variation du coût et des contraintes à l’ordre 1
f ( x * x )  f ( x*)  f ( x*) T x  f ( x*)  f f  f ( x*) T x
  
c ( x *  x )  c ( x*)   c ( x*) T
x  c ( x*)  c c  c( x*) x
T

• Condition d’optimalité d’ordre 1 du problème initial


 x L( x*, *)  0  f ( x*)  c( x*)*  0
• Relation entre f et c
 
f   *T c  f ( x*) T   *T c( x*) T x  f ( x*)  c( x*) *  x  0
T

m
 f   * c   *jc j
T

j1

• 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

215
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Sensibilité aux contraintes


Fonction de 2 variables – 1 contrainte égalité

x2 f = f* f = f*+ f
min f(x1 , x 2 ) sous c(x1 , x 2 )  0
f décroissante x1 , x 2

f ( x*)  c( x*)  0

Variations :
• c = c.x
x* x*+x • f = f.x = c
f c
Sur le schéma :
• f(x1, x2) = x1 à minimiser
•  < 0 (  2)
• c > 0  x > 0
c = c  f < 0
c=0
x
x1
216
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Exemple
Problème de la boîte
S  2r 2  2rh
min S(h, r ) sous V(h, r )  V0 avec 
V  r h
2
h ,r

r
 contrainte en volume de niveau V0

Solution  1

r   V0  3
  2 
 1
  V0  3 h
 S  32 3 V0 3
2
h  2  
1

  2 
 1

  2  2 
3

 V 
  0

Sensibilité au niveau de contrainte


1
1  2 
 22 3 V0 3  2   
dS 1 3

dV0  V0 
217
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Sensibilité aux paramètres


Problème avec paramètres de modèle

min f(x, p) sous c(x, p)  0  m contraintes d’égalité (= contraintes actives)


xR n
r paramètres de modèle pRr (valeurs fixées)

Problème initial
minn f(x, p) sous c(x, p)  0
xR

• Multiplicateurs : *, xL(x*,*,p) = 0


• Solution : x*, f(x*, p) = f*
c(x*, p) =0

Problème perturbé
min f(x, p  p) sous c(x, p  p)  0
xR n

• 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)

218
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Sensibilité aux paramètres


Variation du coût optimal
• Variation du coût et des contraintes à l’ordre 1
f ( x * x, p  p)  f ( x*, p)   x f ( x*, p) T x   p f ( x*, p) T p  f ( x*, p)  f

c( x * x, p  p)  c( x*, p)   x c( x*, p) x   p c( x*, p) p  c( x*, p)  0
T T

 x f ( x*, p) T x   p f ( x*, p) T p  f
 
 x c( x*, p) x   p c( x*, p) p  0
T T

• Condition d’optimalité d’ordre 1 du problème initial


 x L( x*, *, p)  0   x f ( x*, p)   x c( x*, p)*  0

• Relation entre f et p
  
f   x f ( x*, p) T   *T  x c( x*, p) T x   p f ( x*, p) T   *T  p c( x*, p) T p 
f   f ( x*, p)   c( x*, p) *  p   L( x*, *, p)
df ( x*, p)
 p    p L( x*, *, p)
T T
p p p
dp
L( x*, *, p)
• Une variation pj du paramètre j entraîne une variation p j du coût optimal
p j
 sensibilité du coût aux paramètres de modèle
219
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation 2018

1.4.3 Exemple
Problème de la boîte
S  2r 2  2rh
min S(h, r ) sous M(h, r )  M 0  V0 avec 
M  V  r h
2
h ,r

r
 contrainte en masse M0 au lieu de volume V0, avec densité 

Solution  1

r   M 0  3  S  32 3 M 0 3 
1 2 2
3
  2 
  
L  S  (M  M 0 )
1
  M0  3 h
h  2  
L M
  2      r 2 h
 1
 
   2  2 
3 2
L 4  M 0  3
   M 0     
    2 

Sensibilité au paramètre 
2
5 4  M  3
L
  22 M 0  3    0 
dS 1 2
3 3

d   2  
220
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.4 Problème linéaire
Techniques d’optimisation 2018

1.4.4 Problème linéaire

 Forme standard

 Conditions nécessaires d’optimalité

 Coûts réduits

221
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.4 Problème linéaire
Techniques d’optimisation 2018

1.4.4 Problème linéaire


Problème linéaire
Ax  b
min c T x sous  A  R m n , b  R m , c  R n
xR n
x  0
 problème linéaire sous forme standard (PL)

Conditions nécessaires d’optimalité à partir du lagrangien


 x L( x, , s)  c  A T   s
Lagrangien : L( x, , s)  c x   (b  Ax)  s x   2
T T T

 xx L( x, , s)  0
(x,,s) minimum local de (PL)

c  A T   s  0
• Condition nécessaire d’ordre 1 : s  0  contraintes du problème dual

• Condition nécessaire d’ordre 2 :  2xx L( x, , s)  0  vérifiée

• Condition complémentaire : s i x i  0, i  1,...n

222
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.4 Problème linéaire
Techniques d’optimisation 2018

1.4.4 Problème linéaire


Problème linéaire
Ax  b
min c T x sous  A  R m n , b  R m , c  R n
xR n
x  0
 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 : f ( x ) T d  0  c T d  0

• Toute direction admissible d est combinaison linéaire des directions de base dj.
(contraintes linéaires)
d jB  B1A j
d  
d j  E jB  avec  T  0   c T d j  c TBd jB  c TN d jN  c TB B1A j  c j
 d jN  E e j   d jN 

• Il suffit de vérifier : c T d j  0

223
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.4 Problème linéaire
Techniques d’optimisation 2018

1.4.4 Problème linéaire


Coûts réduits
 xB   B 1b   m
x solution de base admissible : x  E x   E 
 N  0 n  m
Le coût réduit associé à la variable hors base xj est défini par : c j  c T d j  c j  c TB B1A j

= 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
  
AE  B N   B 1AE  I B 1 N  c TB B 1AE  c TB c TB B 1 N  
 c  0 c NT 
Conditions nécessaires d’optimalité
x* solution de base non dégénérée

x* solution de PL  c0

Conditions suffisantes d’optimalité


x* solution de base admissible

c0  x* solution de PL

224
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.4 Problème linéaire
Techniques d’optimisation 2018

1.4.4 Problème linéaire


Lien entre multiplicateurs et coûts réduits
T Ax  b
• Problème linéaire sous forme standard : minn c x sous 
xR x  0
• Lagrangien : L( x, , s)  c T x  T (b  Ax)  s T x   x L( x, , s)  c  A T   s

Conditions d’ordre 1 : A   s  c


T

s  0 , s i x i  0 , i  1,, n
 cB   sB  xB  B 1b 
• Base B : AE  B N   c    , s    , x   
cN  sN  xN  0 
 BT   s B   c B 
A s  c
T
  T       
 N  sN  cN 
s  0 , si x i  0 , i  B  vérifié en prenant sB=0
s  0 , s i x i  0 , i  1,, n   B
s N  0 , s i x i  0 , i  N  vérifié car xN=0

B T   c B   B  T c B  sB   0 
 T           c  0
N   s N  c N  N
s  c N  B 
1
N
T
c B  c N  0
s
 s N   cN 
s N  0

• Les coûts réduits sont les multiplicateurs des variables  s  c  0
225
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.4 Problème linéaire
Techniques d’optimisation 2018

1.4.5 Problème quadratique

 Forme standard

 Conditions nécessaires d’optimalité

 Projection

 Directions conjuguées

226
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.5 Problème quadratique
Techniques d’optimisation 2018

1.4.5 Problème quadratique


Problème quadratique
1 T
• Forme standard : minn x Qx  c x sous Ax  b
T
Q  R n  n , A  R m n , b  R m , c  R n
xR 2

• Gradient : g(x)  Qx  c

• Hessien : H(x)  Q

Cas d’une matrice Q non symétrique


1
On se peut toujours se ramener à une matrice Q’ symétrique : Q ij'  Q 'ji  (Qij  Q ji )
2
n n n n n n
1
 x T Qx   Q ij x i x j   (Q ij  Q ji )x i x j   Q ij' x i x j  x T Q ' x
i 1 j1 2 i 1 j1 i 1 j1

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)

227
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.5 Problème quadratique
Techniques d’optimisation 2018

1.4.5 Problème quadratique


Conditions nécessaires d’optimalité
1  x L( x, )  Qx  c  A T 
• Lagrangien : L( x, )  x T Qx  c T x  T (b  Ax)  2
2  xx L( x, )  Q

• Conditions d’ordre 2 : Q définie positive  Q inversible


Qx  A T   c x  Q 1A T   Q 1c Ax  AQ 1A T   AQ 1c
• Conditions d’ordre 1 :   Ax  b 
 Ax  b  Ax  b

Solution
Par soustraction membre à membre : 
AQ 1A T   AQ 1c  b    AQ 1A T  AQ
1 1
cb 
 
  AQ 1A T 1 AQ 1c  b
En reportant dans l’expression de x : 

  
x  Q 1 A T   c  Q 1A T AQ 1A T  AQ
1 1

c  b  Q 1c

Application
Projection d’un vecteur sur un hyperplan

228
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.5 Problème quadratique
Techniques d’optimisation 2018

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
minn x  x 0 sous Ax  b
xR

 point xP de l’hyperplan le plus proche de x0 xP

• Problème quadratique équivalent


1 2
min x  x 0 sous Ax  b
xR 2 n

x0
 minn x  x 0  x  x 0  sous Ax  b
1 T
xR 2

• Lagrangien : L( x, )  x  x 0  x  x 0   T b  Ax 
1 T

2
• Condition d’ordre 1 : 
x  x 0  A T   0 Ax  AA T   Ax 0
  
 
  AA T 1 b  Ax 
 
0

 Ax  b  Ax  b x  x 0  A AA
T T 1
b  Ax 0 
Solution

 
x P  I  A T AA T 
1
 
A x 0  A T AA T 
1
b  matrice de projection : P  I  A T AA T 
1
A

229
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.5 Problème quadratique
Techniques d’optimisation 2018

1.4.5 Directions conjuguées


Forme quadratique définie positive
On considère une forme quadratique définie positive
1 T
f (x) x Qx  c T x avec QRnn symétrique définie positive
2
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 n
On cherche (i)i=1,…,n tels que :   i d i  0
n n i 1
 d k Q   i d i  0 , k    d Qd
i k i  0 , k   k d k Qd k  0 , k car d k Qd i si i  k
i 1 i 1

Q définie positive : d k Qd k  0 si d k  0   k  0
Les n vecteurs (ui)i=1,…,n sont indépendants  base de Rn
n
d i Qx
• Tout vecteur x de Rn peut s’écrire : x    i d i avec  i 
i 1 d i Qd i

230
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.5 Problème quadratique
Techniques d’optimisation 2018

1.4.5 Directions conjuguées


Méthode de directions conjuguées
1
On obtient le minimum de la forme quadratique définie positive f ( x )  x T Qx  c T x
en n itérations à pas optimal suivant des directions conjuguées. 2
n
d i Qx0
Preuve : On part du point initial x0 : x0   di dans la base (di)i=1,…,n
i 1 d i Qd i
k
Après k itérations à pas optimal k suivant d1,…, dk , on obtient : xk  x0    i d i  xk 1   k d k
A l’itération k, le pas optimal k suivant la direction dk vérifie : i 1

min f xk 1  d k   f xk 1  d k   0  d kT f xk 1  d k   0  d kT f xk   0


d
 d
T  
k
f ( x )  Qx  c  d k f xk   d k Q x0    i d i   d kT c  d kT Qx0  c    k d kT Qd k
T

 i 1 
d kT f xk   0   k   k T 0
d T
Qx  c 
d k Qd k
On obtient pour xn :
n
xn  x0    i d i  x0  
n
d iT Qx0  c  n
d i  x0   T
d iT Qx0
di  
n
 
d iT Q Q 1c
di
T T
i 1 i 1 d i Qd i i 1 d i Qd i i 1 d i Qd i
 x0  x0  Q 1c dans la base (di)

 xn   Q 1c  f ( xn )  Q 1 xn  c  0  xn = x* minimum de f
231
2 Optimisation sans contraintes Max CERF
Techniques d’optimisation 2018

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éthodes sans gradient

3. Optimisation avec contraintes

4. Optimisation discrète

5. Optimisation fonctionnelle

232
2 Optimisation sans contraintes Max CERF
Techniques d’optimisation 2018

2 Optimisation sans contraintes


Problème non linéaire sans contraintes

min f(x)  problème noté (PO)


xR n

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, Direct
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

233
2 Optimisation sans contraintes Max CERF
2.1 Méthodes de descente
Techniques d’optimisation 2018

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éthodes sans gradient

3. Optimisation avec contraintes


4. Optimisation discrète
5. Optimisation fonctionnelle

234
2 Optimisation sans contraintes Max CERF
2.1 Méthodes de descente
2.1.1 Principes
Techniques d’optimisation 2018

2.1.1 Méthodes de descente


Problème sans contrainte
 f(x*)  0
min f(x) x* minimum local   
 f(x*)  0
n 2
xR

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

Initialisation Point initial Modèle local


x0 xk f̂ k (x)

Solution Nouveau point Amélioration


x* xk+1 f(xk+p) < f(xk)

235
2 Optimisation sans contraintes Max CERF
2.1 Méthodes de descente
2.1.2 Itérations
Techniques d’optimisation 2018

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)
1 t
• Modèle quadratique : min f̂ k ( x k  p)  f k  p t g k  p Hkp  x̂ k 1  x k  p̂
p 2 (prédiction)
 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 d k  x̂ k 1  x k
par région de confiance dans x  xk  r

 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.
236
2 Optimisation sans contraintes Max CERF
2.1 Méthodes de descente
2.1.3 Initialisation et arrêt
Techniques d’optimisation 2018

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 : x k 1  x k   x
• Amélioration insuffisante : f k  f k 1   f
• Condition d’ordre 1 vérifiée : g k  g
• Nombre maximal d’itérations ou d’appels fonction : Niter , Nfonc

237
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
Techniques d’optimisation 2018

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éthodes sans gradient

3. Optimisation avec contraintes


4. Optimisation discrète
5. Optimisation fonctionnelle

238
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation 2018

2.2.1 Résolution d’équations

 Principes

 Méthode de Newton

 Méthode de quasi-Newton

239
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation 2018

2.2.1 Résolution d’équations


Système d’équations non linéaires

g(x)  0 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*

Initialisation Point initial Fonction modèle


x0 xk ĝ k (x)

Solution Nouveau point Résolution


x* xk+1 ĝ k (x)  0

240
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation 2018

2.2.1 Méthode de Newton


Fonction modèle
• Développement de Taylor à l’ordre 1 de g en xk
g(x)  g(x k )  g(x k ) T (x  x k )  o x  x k 
• Modèle linéaire de g en xk :
ĝ k (x)  g(x k )  G k (x  x k ) avec G k  R nn

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 : ĝ k (x)  0  g(x k )  G k (x  x k )  0

• Itération : x k 1  x k  G k1g(x k ) si Gk inversible

• Condition d’arrêt : g(x k )  ε

241
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation 2018

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 )
y0
• Intersection axe x : y  0  x1  x 0 
g' (x 0 )
• Nouveau point : x1, y1 = g(x1)

x*
x2 x1 x0
242
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation 2018

2.2.1 Méthode de Newton


Modèle linéaire de g en xk

ĝ k (x)  g(x k )  G k ( x  x k ) avec G k  g(x k ) T

Erreur de linéarisation
M = constante de Lipschitz sur le gradient  majorant de la courbure
1 2
g(x)  ĝ k (x)  M x  xk  erreur quadratique
2
Vitesse de convergence
Hypothèses sur la solution x* : g(x * ) inversible
g(x * ) 1  η
1
Suite (xk) : x k 1  x k  G k g(x k )

• (xk) converge vers x* si x0 est « assez proche » de x* : r  0 / x 0  x *  r  lim x k  x *


k 
2
• La convergence est quadratique  x k 1  x *  Mη x k  x *

243
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation 2018

2.2.1 Exemples
Exemple 1
• Fonction : g(x)  x 2  1
Iteration x(k) g(x)=x**2-1 g'(x)=2x Erreur
• Dérivée : g' (x)  2x
0 4,00000000 1,5E+01 8,0000 3,0E+00
• Solution : x = 1  g’(1) = 2
1 2,12500000 3,5E+00 4,2500 1,1E+00
2 1,29779412 6,8E-01 2,5956 3,0E-01
g(x) 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

1 x Convergence quadratique
g’(x*) inversible

244
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation 2018

2.2.1 Exemples
Exemple 2
• Fonction : g(x)  ( x  1) 2 Iteration x(k) g(x)=(x-1)**2 g'(x)=2(x-1) Erreur
• Dérivée : g' (x)  2(x  1) 0 4,00000000 9,0E+00 6,0000 3,0E+00
• Solution : x = 1  g’(1) = 0 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
g(x) 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 x Convergence lente
g’(x*) non inversible
245
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation 2018

2.2.1 Exemples
Exemple 3
• Fonction : g(x)  Arc tan(x ) 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
Dérivée : g' (x) 
1 -1,162 -0,860 0,426 -1,2E+00

1 x2 2 0,859 0,710 0,575 8,6E-01
3 -0,374 -0,358 0,877 -3,7E-01
• Solution : x = 0  g’’(1) = 0 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

g(x)
Convergence

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
x1 x0 x2 x 3 -5,114 -1,378 0,037 -5,1E+00
0 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

Divergence
246
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation 2018

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 ?)


g(x k 1 )  g(x k )

Si le point xk+1 n’est pas satisfaisant  Méthodes de recherche linéaire


ou région de confiance
2
pour minimiser g(x)

247
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation 2018

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 : ĝ k -1 (x)  g(x k -1 )  G k -1 ( x  x k -1 )

• Modèle linéaire de g en xk: ĝ k (x)  g(x k )  G k ( x  x k )

• Différence entre les modèles en xk-1 et xk


car g(x k )  g(x k -1 )  G k (x k  x k -1 )
ĝ k (x)  g(x k )  G k (x  x k ) par définition de G k
 g(x k -1 )  G k ( x k  x k -1 )  G k ( x  x k )
 g(x k -1 )  G k ( x  x k -1 )
 ĝ k -1 (x)  G k -1 ( x  x k -1 )  G k ( x  x k -1 ) car ĝ k -1 (x)  g(x k -1 )  G k -1 ( x  x k -1 )
par définition de ĝ k -1
 ĝ k -1 (x)  (G k  G k -1 )( x  x k -1 )

 ĝ k (x)  ĝ k -1 (x)  (G k  G k -1 )(x  x k -1 )

248
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation 2018

2.2.1 Méthode de quasi-Newton


Objectif
Conserver un modèle linéaire de g en xk
ĝ k (x)  g(x k )  G k ( x  x k ) avec G k  g(x k ) T
sans calculer explicitement Gk

Equation de la sécante
On choisit une matrice Gk Rnn vérifiant :
d  x k  x k -1
g(x k )  g(x k -1 )  G k ( x k  x k -1 )  y k -1  G k d k -1 avec  k -1
 y k -1  g(x k )  g(x k -1 )
 é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

249
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation 2018

2.2.1 Méthode de quasi-Newton


Illustration à une variable
• Equation non linéaire : g(x) = 0
• Points initiaux : x0, y0 = g(x0)
y1  y 0
x1, y1 = g(x1)  Sécante en x1 : y  y 0  (x  x 0 )
x1  x 0
x1  x 0
• Intersection axe x : y  0  x2  x0  y0
y1  y 0
• Nouveau point : x2, y2 = g(x2)

x*
x2 x1 x0
250
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation 2018

2.2.1 Méthode de quasi-Newton


Mise à jour de Broyden
L’écart entre les modèles ĝ k -1 (x) et ĝ k (x) est minimal en choisissant Gk solution de
d k -1  x k  x k -1
minnn G  G k -1 sous y k 1  G d k 1 avec  y  g(x )  g(x )
GR  k -1 k k -1

 y k 1  G k -1d k 1 d Tk 1
Formule de Broyden : G k  G k -1   solution optimale
d Tk 1d k 1

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

251
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation 2018

2.2.1 Exemple
Comparaison Newton  Quasi-Newton
• Fonction : g(x)  x 2  1
• Dérivée : g' (x)  2x
• Solution : x = 1

Quasi - Newton Newton

Iteration x(k) g(x)=x**2-1 dg/dx Erreur Iteration x(k) g(x)=x**2-1 g'(x)=2x Erreur
5,00000000 2,4E+01 4,0E+00 0 4,00000000 1,5E+01 8,0000 3,0E+00
0 4,00000000 1,5E+01 9,0000 3,0E+00 1 2,12500000 3,5E+00 4,2500 1,1E+00
1 2,33333333 4,4E+00 6,3333 1,3E+00 2 1,29779412 6,8E-01 2,5956 3,0E-01
2 1,63157895 1,7E+00 3,9649 6,3E-01 3 1,03416618 6,9E-02 2,0683 3,4E-02
3 1,21238938 4,7E-01 2,8440 2,1E-01 4 1,00056438 1,1E-03 2,0011 5,6E-04
4 1,04716672 9,7E-02 2,2596 4,7E-02 5 1,00000016 3,2E-07 2,0000 1,6E-07
5 1,00443349 8,9E-03 2,0516 4,4E-03 6 1,00000000 2,5E-14 2,0000 1,3E-14
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

252
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Minimisation

 Principes

 Méthode de Newton

 Méthode de quasi-Newton

 Méthode BFGS

 Méthode DFP

 Méthode SR1

 Comparaison

 Extensions BFGS

253
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Problème de minimisation


Problème sans contrainte
minn f(x)  gradient : g(x) =  f(x)
xR
hessien : H(x) = 2f(x)

Condition nécessaire de minimum local


g(x*)  0
x* minimum local  
H(x*)  0 (hessien semi-défini positif)

Recherche des points stationnaires


Application de la méthode de Newton au système d’équations non linéaires : g(x) = 0
g(x )  f(x k )
Modèle linéaire de g en xk : ĝ k (x)  g(x k )  G k ( x  x k ) avec  k
G k  g(x k )   f(x k )  H k
T 2

• 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

254
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Méthode de Newton


Modèle linéaire de g=f en xk
g(x )  f(x k )
ĝ k (x)  g(x k )  G k ( x  x k ) avec  k
G k  g(x k )   f(x k )  H k
T 2

• Itération : x k 1  x k   2 f(x k ) 1 f(x k )  équations de Newton


• Condition d’arrêt : f(x k )  ε

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

255
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

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
1

f(x)  f(x k )  f(x k ) T (x  x k )  (x  x k ) T  2 f(x k )(x  x k )  o x  x k
2
2

• Modèle quadratique en xk
1
f̂ k (x)  f k (x k )  g Tk (x  x k )  (x  x k ) T H k (x  x k )
2
• Lien entre le modèle de f et le modèle de g =f
f̂ k (x)  g k  H k (x  x k )  ĝ k (x)

Minimisation du modèle de f en xk
 f̂ (x*)  ĝ k (x*)  0
• Conditions suffisantes de minimum local : min f̂ k (x)   2 k
xR
 f̂ k (x*)  H k  0
n

• 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
256
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Exemple
Méthode de Newton
• Fonction : f ( x )   x  12 x  47 x  60 x
4 3 2

• Dérivée : f ' ( x )  4x 3  36x 2  94x  60  3 zéros


 1 minimum local, 2 maxima locaux

20,0

15,0

10,0

5,0

0,0
0,0 1,0 2,0 3,0 4,0 5,0 6,0
-5,0

-10,0

-15,0

-20,0

257
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Exemple
Méthode de Newton
• Modèle quadratique en x0 = 3 : f̂ 0 ( x )  7 x  48x  81
2

• Itération de Newton en x0 = 3 : min f̂ 0 ( x )  x 1  24  Meilleur que x0


x 7 f(x1) = 1.32 < 0 = f(x0)
1,50

1,25

1,00

0,75

0,50

0,25
x0 x1
0,00
2,50 2,75 3,00 3,25 3,50 3,75 4,00 4,25 4,50
-0,25

-0,50

-0,75

-1,00

-1,25

-1,50

258
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Exemple
Méthode de Newton
• Modèle quadratique en x0 = 4 : f̂ 0 ( x )  x  4x
2

• Itération de Newton en x0 = 4 : min f̂ 0 ( x )  x1  2  Moins bon que x0


x
f(x1) = 12 > 0 = f(x0)
5,00

4,00

3,00

2,00

1,00

0,00
x1 x0
1,00 1,50 2,00 2,50 3,00 3,50 4,00 4,50 5,00
-1,00

-2,00

-3,00

-4,00

-5,00
259
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Exemple
Méthode de Newton
• Modèle quadratique en x0 = 5 : f̂ 0 ( x )  17 x 2  160x  375
80
• Itération de Newton en x0 = 5 : min f̂ 0 ( x )  x1   Moins bon que x0 (maximise f)
x 17 f(x1) = 1.513 > 0 = f(x0)
2,00

1,50

1,00

0,50
x1 x0
0,00
4,00 4,25 4,50 4,75 5,00 5,25 5,50
-0,50

-1,00

-1,50

-2,00

-2,50

-3,00
260
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Méthode de quasi-Newton


Objectif
Conserver un modèle quadratique de f en xk
1
f̂ k (x)  f k (x k )  g Tk (x  x k )  (x  x k ) T H k (x  x k ) avec H k   2 f(x k )
2
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.

H k  H k -1 
 y k 1  H k -1d k 1 d Tk 1 d k -1  x k  x k -1
avec  y  g(x )  g(x )
d Tk 1d k 1  k -1 k k -1

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 H k   2 f(x k )


 Formules BFGS, DFP ou SR1

261
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

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 H k d k 1  y k 1
• la plus « proche » possible de Hk-1  formule de Broyden
• sans condition particulière sur la forme de la matrice

Pour une minimisation, on impose de plus à la matrice Hk d’être


• symétrique
 formule BFGS
• 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 : H k -1  L k -1LTk -1
• On cherche la matrice Hk à partir de Hk-1 sous la forme : H k  A k A Tk

Il faut exprimer la matrice Ak en fonction de Lk-1.


 On décompose l’équation sécante en 2 équations.

H k d k 1  y k 1  A k A Tk d k 1  y k 1  x  A k d k 1
T

A k x  y k 1
262
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Méthode BFGS


Méthode de résolution de l’équation sécante
x  A Tk d k 1
H k d k 1  y k 1  A k A d k 1  y k 1
T
 
A k x  y k 1
k

1. Pour x donné, on cherche Ak la plus « proche » possible de Lk-1 vérifiant : A k x  y k 1


2. On détermine ensuite x en reportant l’expression de Ak dans : x  A Tk d k 1
3. On obtient H k  A k A Tk 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
( y  Lx) x T
1. En appliquant la formule de Broyden à L on obtient A en fonction de x : A  L 
xTx
x ( y  Lx) T ( y  Lx) T d
2. En reportant : x  A d  L d  d L d
T T T
x
xTx xTx

( y  Lx) T d
Il faut résoudre x  L d 
T
x pour trouver x.
xTx
263
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Méthode BFGS


Résolution de l’équation sécante
( y  Lx) T d
On cherche xRn vérifiant : x L dT
x
xTx
• Pour qu’une solution existe, le vecteur LTd doit être colinéaire à x.
x  LT d  x T x   2 d T Hd
( y  Lx) T d T yTd
• En reportant dans l’équation : L d  L d  2 T
T T
L d   L d  T
2 T

 d Hd d Hd
1  yTd 
• Pour qu’une solution existe, on doit avoir y d > 0  A  L  T  yd L  T
T T
Hdd T L 
On obtient H : H  A A T y d d Hd 
k k k k

Formule BFGS
y k 1 y Tk -1 H k -1d k 1d Tk 1H k -1 d  x k  x k -1
• Mise à jour de Hk : H k  H k -1  T  avec  k -1
y k -1d k 1 d Tk 1H k -1d k 1  y k -1  g(x k )  g(x k -1 )

• Mise à jour symétrique, de rang 2


• Mise à jour définie positive si y Tk -1d k 1  0
• Initialisation : H0 = I ou H0 = I avec  > 0
264
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

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
H k d k  f ( x k )  d k  H -1kf ( x k )
 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.
 d k 1 y Tk -1  -1  y k 1d Tk -1  d k 1d Tk -1 d  x k  x k -1
H   I  T
-1
H k -1  I  T
  d y   dT y
 si y Tk -1d k 1  0 avec  k -1
y k -1  g(x k )  g(x k -1 )
k
 d k -1 k 1 
y  k -1 k 1  k -1 k 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 à l’optimum, ou non défini positif loin de l’optimum
 cas d’optimisation avec contraintes (hessien réduit du lagrangien positif  hessien complet)

265
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Méthode BFGS


Algorithme BFGS
• Direction de descente à l’itération k : u k 1  H -1k -1g( x k 1 )
u k 1  H -1k -1g( x k 1 )
• Minimisation dans la direction uk-1 : x k  x k 1  su k 1 avec s  min f x  su 
 s
k 1 k 1

• Mise à jour de l’inverse du hessien


 d k 1 y Tk -1  -1  y k 1d Tk -1  d k 1d Tk -1 d k -1  x k  x k -1
H   I  T
-1
H k -1  I  T
  d y  d y
 T si y T
d
k -1 k 1  0 avec y  g(x )  g(x )
 k -1
k
 d k -1 k 1 
y  k -1 k 1  k -1 k 1
k k -1

Propriété 1
La mise à jour BFGS donne une matrice définie positive si d k -1 y k 1  0
T

Cette condition est réalisée si xk est obtenu par minimisation exacte dans la direction  H -1k -1g( x k 1 )

Propriété 2
1
Pour une fonction f quadratique : f ( x )  x T Qx  c T x
2
u i Q 1u j  0 , 0  i  j  k
l’algorithme BFGS donne des directions successives vérifiant :  1 1
H k Q u i  u i , 0  i  k
 directions conjuguées par rapport à Q1
 convergence en n itérations avec à l’itération n : H n  Q
266
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Méthode DFP


Méthode de résolution
• Résolution de l’équation sécante sous la forme « inverse » : H k d k 1  y k 1  H -1k y k 1  d k 1

• 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
d k 1d Tk -1 H -1k -1 y k 1 y Tk 1H -1k -1 d  x k  x k -1
• Mise à jour de l’inverse : H  H
-1 -1
 T  avec  k -1
y k -1  g(x k )  g(x k -1 )
k k -1
d k -1 y k 1 y Tk 1H -k1-1 y k 1

 y k 1d Tk -1   d k 1 y Tk -1  y k 1 y Tk -1
• Mise à jour du hessien : H k   I  T H k -1  I  T
  y d   yT d

 y k -1 k 1 
d  k -1 k 1  k -1 k 1

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 d Tk -1 y k 1  0  condition similaire à BFGS
• Méthode DFP en général moins efficace que BFGS

267
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Méthode DFP


Algorithme DFP
• Direction de descente à l’itération k : u k 1  H -1k -1g( x k 1 )
u k 1  H -1k -1g( x k 1 )
• Minimisation dans la direction uk-1 : x k  x k 1  su k 1 avec s  min f x  su 
 s
k 1 k 1

• Mise à jour de l’inverse du hessien


d k 1d Tk -1 H -1k -1 y k 1 y Tk 1H -1k -1 d  x k  x k -1
H H  T  avec  k -1
-1 -1

y k -1  g(x k )  g(x k -1 )
k k -1
d k -1 y k 1 y Tk 1H -k1-1 y k 1
Propriété 1
La mise à jour DFP donne une matrice définie positive si d k -1 y k 1  0
T

Cette condition est réalisée si xk est obtenu par minimisation exacte dans la direction  H -1k -1g( x k 1 )

Propriété 2
1
Pour une fonction f quadratique : f ( x )  x T Qx  c T x
2
u i Qu j  0 , 0  i  j  k
l’algorithme DFP donne des directions successives vérifiant :  1
H k Qu i  u i , 0  i  k
 directions conjuguées par rapport à Q
 convergence en n itérations avec à l’itération n : H n  Q
268
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Méthode SR1


Equation sécante
La méthode SR1 construit une solution Hk de l’équation sécante H k d k 1  y k 1
• 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
H k  H k -1  uu T  addition d’une matrice symétrique de rang 1
• Equation sécante : y k 1  H k d k 1  H k -1d k 1  uu T d k 1  y k 1  H k -1d k 1  u T d k 1u

u  u   y k 1  H k -1d k 1 
1 1
• On pose :  u T d k 1  y k 1  H k -1d k 1 
 
1 1
• On reporte u pour obtenir  :   ( y k 1  H k -1d k 1 ) T d k 1  d Tk -1 ( y k 1  H k -1d k 1 )  2
 
• On exprime uuT en fonction de dk-1, yk-1, Hk-1
u   y k 1  H k -1d k 1   uu T   2 ( y k 1  H k -1d k 1 )( y k 1  H k -1d k 1 ) T
1
  d T (y  H d ) ( y k 1  H k -1d k 1 )( y k 1  H k -1d k 1 ) T
  2 k -1 k 1 k -1 k 1  uu 
T

d Tk -1 ( y k 1  H k -1d k 1 )
269
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Méthode SR1


Formule SR1
( y k 1  H k -1d k 1 )( y k 1  H k -1d k 1 ) T d  x k  x k -1
• Mise à jour de Hk : H k  H k -1  avec  k -1
d Tk -1 ( y k 1  H k -1d k 1 ) y k -1  g(x k )  g(x k -1 )

• 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é 1 T
Pour une fonction f quadratique : f ( x )  x Qx  c x
T

2
la formule SR1 donne après n déplacements suivant des directions indépendantes dk : H n  Q
 ne nécessite pas de minimisation suivant dk

270
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Comparaison
Méthodes de quasi-Newton BFGS  DFP  SR1

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 Symétrique AAT Symétrique uuT


Rang 2 Rang 2 Rang 1
Définie positive Définie positive Indéfinie
Minimisation dk Précision moyenne Précision forte Précision faible

Fonction quadratique Hessien exact : Hn=Q Hessien exact : Hn=Q Hessien exact : Hn=Q
Directions conjuguées Q-1 Directions conjuguées Q
Limitations Hessien de f indéfini Hessien de f indéfini Matrices Hk
Précision minimisation non définies positives

Méthode BFGS réputée la plus efficace


271
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

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
y k 1 y Tk -1 H k -1d k 1d Tk 1H k -1
• Mise à jour BFGS : H k  H k -1  T 
y k -1d k 1 d Tk 1H k -1d k 1
y
 H k -1  k 1  H k -1
d k 1
y g(x k )  g(x k -1 )
 H k  k 1 
d k 1 x k  x k -1

( y k 1  H k -1d k 1 )( y k 1  H k -1d k 1 ) T
• Mise à jour SR1 : H k  H k -1 
d Tk -1 ( y k 1  H k -1d k 1 )
y  H k -1d k 1
 H k -1  k 1
d k 1
y g(x k )  g(x k -1 )
 H k  k 1 
d k 1 x k  x k -1

 On retrouve la formule de la sécante appliquée au gradient de f.


272
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Exemple
Comparaison Newton  Quasi-Newton
0,25
• Fonction : f ( x )   x 4  12 x 3  47 x 2  60 x
0,00
2,75 3,00 3,25 3,50 3,75 4,00 4,25
• Dérivée : f ' ( x )  4x 3  36 x 2  94 x  60 -0,25

f ' ( x k )  f ' ( x k -1 ) -0,50


• Quasi-Newton : h k 
x k  x k -1 -0,75

-1,00
• Point initial : x0 = 3  convergence
 divergence
-1,25
Autres points
ou maximum de f -1,50

Quasi - Newton Newton

Itération x(k) f(x) f'(x) h(k) Erreur Itération x f(x) f'(x) f''(x) Erreur
0 3,00000000 0,00000000 -6,00E+00 1,000 -4,56E-01 0 3,00000000 0,00000000 -6,00E+00 14,000 -4,56E-01
1 2,99900000 0,00600700 -6,01E+00 14,000 -4,57E-01 1 3,42857143 -1,31945023 -3,15E-01 11,796 -2,70E-02
2 3,42857155 -1,31945027 -3,15E-01 13,267 -2,70E-02 2 3,45526446 -1,32368574 -3,74E-03 11,513 -3,25E-04
3 3,45230465 -1,32362420 -3,79E-02 11,672 -3,28E-03 3 3,45558935 -1,32368635 -5,77E-07 11,509 -5,01E-08
4 3,45554876 -1,32368634 -4,68E-04 11,527 -4,06E-05 4 3,45558940 -1,32368635 -5,68E-14 11,509 -4,88E-15
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
273
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Exemple
Méthode DFP à 2 variables  1  4x1  2x 2 
• Minimisation de f ( x )  x 1  x 2  2x 12  2x 1 x 2  x 22  g( x )   
  1  2 x 1  2 x 2

• Point initial : x0 = (0 0)
 0 1 0  1   1
• Itération 1 : x 0    H 01    g 0     u 1  H 01g 0   
 0 0 1   1  1
 s   1   1
x 1  x 0  su 1     min F(s)  s 2  2s  s  1  x 1     g1   
 s s
 1   1
• Mise à jour DFP de H-1

d 0  x 1  x 0   1   2
 y  g(x )  g(x )  d  
 1 0  0 
 , y 
 0
0
1 0    
d 0 d T0 H -1 T -1
0 y0 y0 H0  1 0  1  1  1 1  4 0  1  1  1
H H  T 
-1 -1
           
 
1 0
d0 y0 y T0 H -01 y 0  0 1  2  1 1  4  0 0  2  1 3 
 4 2 1  1  1
• Comparaison au vrai hessien : H( x )     H 1   
 2 2  2   1 2 
274
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Exemple
Méthode DFP à 2 variables
  1 1  1  1   1  0
• Itération 2 : x 1    H1-1    g1     u 2  H11g1   
 1 2  1 3    1 1
 1  1   1  0
x 2  x 1  su 2     min F(s)  1  3(1  s)  (1  s) 2  s   x 2     g 2   
1  s  s 2 1.5   0
  1
• On obtient le minimum en 2 itérations (fonction quadratique) : x*   
1.5 
• Mise à jour DFP de H-1

d1  x 2  x 1  0  1
 y  g(x )  g(x )  d  
 0.5  1 1
 , y 
 1
1
2 1    
d1d1T H1-1 y1 y1T H1-1 1  1  1 1  0 0   0 0  1  1  1
H H  T 
-1 -1
       
2   1 3  2  0 1   0 1  2   1 2 
2 1
d 1 y1 y1T H1-1 y1

 4 2 1  1  1
• Comparaison au vrai hessien : H( x )     H 1   
 2 2  2   1 2 
275
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

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.
T T
1x   4 2   x1   1   x1   4 2
f ( x )  x 1  x 2  2x  2x 1 x 2  x   1 
2 2
          Q   
  x 2    1
1 2
2 x2   2 2  2
x  2 2

• Le minimum est obtenu en 2 itérations.

• Les directions successives u1 et u2 sont conjuguées par rapport à Q


T T
 0   4 2   1  0    2
u T2 Qu1             0
 1   2 2  1  1   0
• On vérifie également :
1  1  1 4 2   1 1  2 0   1   1
H11Qu1              u 1
2   1 3  2 2  1 2  2 4  1  1
1  1  1 4 2  0   1 0  0   0 
H 21Qu 2              u 2 avec H 21  Q 1
2   1 2  2 2  1   0 1  1   1 

276
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Extensions BFGS


Initialisation BFGS
• En pratique, le hessien n’est pas nécessairement défini positif partout.
Pour assurer la convergence, il est nécessaire de réinitialiser périodiquement H0 :
- par évaluation du hessien (différences finies) → coûteux
- par un multiple positif de l’identité → H0 = I avec  > 0

• On peut réinitialiser H0 à partir du dernier déplacement de xk1 à xk : d  x k  x k 1


 y  g( x k )  g( x k 1 )
yT y 1
H 0  I avec   T  H -01  I pour initialiser H -10
y d 

• Justification
On note H le hessien en xk1  g( x k )  g( x k 1 )  H( x k  x k 1 )
 y  H( x k  x k 1 )  Hd

H défini positif → admet une base orthonormée de vecteurs propres (vi)i=1à n avec H = ivi
En notant m la plus grande valeur propre, on a approximativement :
d    i v i   m v m y T y  2m 2m
   T  2  m → approximation de m
 y  Hd    i  i v i   m  m v m y d  m m
277
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Extensions BFGS


Méthode damped BFGS
• La méthode BFGS supposent que les matrices Hk restent définies positives.
Cette condition n’est pas nécessairement réalisée
- pour une optimisation sans contrainte loin de l’optimum
- pour une optimisation avec contrainte (hessien du lagrangien non nécessairement positif)

avec H  H k 1 et d  x k  x k 1


Hdd T H yyT
• BFGS standard : H'  H  T 
d Hd d T y H '  H k  y  g( x k )  g( x k 1 )
La matrice H représente une approximation
- du hessien de f pour un problème sans contrainte → y   x f (x k )   x f ( x k 1 )
- du hessien de L pour un problème avec contrainte → y   x L( x k ,  k )   x L( x k 1 ,  k )

• La matrice courante H est par hypothèse définie positive.


La nouvelle matrice H’ doit rester définie positive.

• La mise à jour prend en compte la courbure suivant la direction de déplacement d.


- le terme dTHd vient de la matrice courante H → par hypothèse > 0
T
- le terme d y vient de la variation du gradient → non nécessairement > 0
à modifier

278
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Extensions BFGS


Méthode damped BFGS
• La méthode damped BFGS (BFGS « amorti ») consiste à pondérer la mise à jour si dTy < 0.

On remplace la variation y par z : z  y  (1  )Hd avec 0 ≤  ≤ 1


 d T z  d T y  (1  )d T Hd
terme positif
T T
Hdd H zz
La mise à jour BFGS « amortie » est : H'  H   → avec z au lieu de y
d T Hd d T z
Pour que la nouvelle matrice H’ soit définie positive, il suffit que dTz soit positif.

• On choisit la pondération  pour vérifier la condition : d T z  d T Hd avec   0.2


Si dTy   dTHd , on prend : z = y (BFGS standard)   1
(1  )d T Hd
< , on impose : d z  d y  (1  )d Hd  d Hd   T
T T T T
Si dTy dTHd
d Hd  d T y
• La matrice H’ est une interpolation entre : la matrice H initiale (obtenue pour  = 0)
la matrice BFGS standard (obtenue pour  = 1).

279
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Extensions BFGS


Méthode LBFGS
• Pour un problème de grande dimension, on ne peut pas stocker les matrices Hk en mémoire.
La méthode L-BFGS (« Limited Memory ») est basée sur la mise à jour factorisée.
 d k 1 y Tk -1  -1  y k 1d Tk -1  d k 1d Tk -1 d  x k  x k 1
H   I  T
-1
H k -1  I  T   T avec  k 1
 y k 1  g( x k )  g( x k 1 )
k
 d k -1 k 1 
y  d k -1 k 1 
y d k -1 y k 1

1
• On note pour simplifier :  j  T et Vj  I   j y jd Tj  H -1j1  VjT H -1jVj   jd jd Tj
d yj
j

• On considère m itérations successives à partir de la matrice H0.


H1-1  V0T H -10V0  0 d 0 d T0

   
H -12  V1T H1-1V1  1d1d1T  V1T V0T H -10 V0 V1  0 V1T d 0 d T0 V1  1d1d1T

      
H -1m  VmT-1H -1m-1Vm-1   m 1d m-1d Tm-1  VmT-1  V1T V0T H -10 V0 V1  Vm-1  0 VmT-1  V1T d 0 d T0 V1  Vm-1 
  V
1
T
m -1  V2T d d V  V 
T
1 1 2 m -1

 
  m 1d m-1d Tm-1
280
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Extensions BFGS


Méthode LBFGS
• Le déplacement à l’itération m est : d m  s m H -1mg m avec g m  f ( x m )
sm = pas de déplacement

On peut évaluer la direction de déplacement H -1mg m sans calculer explicitement la matrice Hm


en utilisant les vecteurs dj et yj des m itérations précédentes (j = 0 à m1).

H -1mg m  V
T
m -1   
 V1T V0T H -10 V0 V1  Vm-1 g m avec Vj  I   j y jd Tj
  V  V d d V  V g
0
T
m -1 1
T
0
T
0 1 m -1 m

  V  V d d V  V g
1
T
m -1
T
2
T
1 1 2 m -1 m

 
  m 1d m-1d Tm-1g m

• On obtient le vecteur H -1mg m en réalisant 2 boucles successives.


- une première boucle de j = m1 à 0 pour calculer les termes de droite Vj  Vm-1 g m
- une deuxième boucle de j = 0 à m1 pour multiplier à gauche par VmT-1  VjT  et sommer

Ces opérations ne manipulent que des vecteurs, sans stockage de matrice.

281
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Extensions BFGS


Méthode LBFGS
• Rappel de l’expression de H -1mg m
H -1mg m  V T
m -1   
 V1T V0T H -10 V0 V1  Vm-1 g m avec Vj  I   j y jd Tj
 V T
m -1  
 V1T d 00 d T0 V1  Vm-1 g m

 
  
 VmT-1  VjT1 d j jd Tj Vj1  Vm-1 g m  → j = 0 à m1
 
 d m-1  m 1d Tm-1g m

• La première boucle de j = m1 à 0 calcule les termes  j   jd Tj Vj1  Vm-1 g m

 m 1   m 1d Tm 1q m avec q m  g m  j   jd Tj q j1


  pour j  m  1 à 0
q m 1  q m   m 1 y m 1 q j  q j1   j y j

• On obtient à la fin de cette boucle : q 0  V0  Vm-1  g m


et les termes : 0 , … , m1

282
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Extensions BFGS


Méthode LBFGS
• Rappel de l’expression de H -1mg m
H -1mg m  V T

 V1T V0T H -10q 0 avec VjT  I   jd j y Tj et q 0  V0  Vm-1  g m
 
m -1

 V T
m -1 
 V1T d 0  0  j   jd Tj Vj1  Vm-1 g m
 

 VmT-1  VjT1 d j j  → j = 0 à m1
 
 d m-1  m 1

• La deuxième boucle de j = 0 à m1 consiste à multiplier à gauche par VmT-1  VjT1 d j

0  0 y T0 r0 avec r0  H 01q 0  j   j y Tj rj


  pour j  0 à m  1
r1  r0  d 00  d 0  0 rj1  rj  d j j  d j j

Le premier terme de H m g m est issu de r0  H 0 q 0 .


-1 -1

Les termes suivants sont issus des j stockés lors de la première boucle.

On obtient à la fin de cette boucle la direction de déplacement : rm  H -1mg m


283
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation 2018

2.2.2 Extensions BFGS


Méthode LBFGS
A l’itération numéro k, la direction de déplacement est construite à partir :
- d’une matrice initiale
- des m déplacements précédents (dj , yj)j=km à k1
y Tk 1d k 1
• On choisit la matrice initiale de la forme : H -1
0, k  I avec   T
y k 1 y k 1
→ 1 est une approximation de la plus grande valeur propre

• On construit la direction de déplacement par les 2 boucles successives  rk  H k g k


-1

et le nouveau point avec un pas de déplacement sk  d k  s k H -1kg k

• La liste des m déplacements stockés est mise à jour :


- on supprime en début de liste le déplacement numéro km (à partir des itérations k  m)
- on ajoute en fin de liste le nouveau déplacement (dk , yk)

• Remarque
Pendant les m1 premières itérations, la méthode LBFGS est équivalente à BFGS
si l’on conserve la même matrice initiale H 0,k  H 0 .
-1 -1

284
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Globalisation

 Convergence de la méthode de Newton

 Méthodes de globalisation

 Fonction mérite

 Filtre

 Point de Newton et de Cauchy

 Méthode d’homotopie

285
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Convergence
Sensibilité au point initial
La méthode de Newton est très sensible au point initial.
Une modification du point initial peut conduire à une solution différente ou à une divergence.
 instabilité numérique (comportement chaotique)
 bassins d’attraction en présence de plusieurs solutions

Exemple
• On cherche à résoudre l’équation complexe : z3 = 1

z 1 
3
re 
i 3
1  r e 3 i.3 r 3 sin (3)  0  3  k
1   3
r cos(3)  1  r  1
• Les solutions sont les 3 racines complexes de l’unité : u2

1  3 1  3
u1  1 , u 2  , u3 
2 2 u1
• On applique la méthode de Newton à partir d’un point initial z0.
z 3k  1 2z 3k  1 u3
z k 1  z k  
3z 2k 3z 2k

286
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Convergence
Bassin d’attraction
• Le bassin d’attraction d’une racine u est l’ensemble des points initiaux z0
pour lesquels la méthode de Newton converge vers u.

• On observe dans le plan complexe


les bassins d’attraction de u1, u2, u3.

• Les contours sont mal délimités.


 aspect fractal
 sensibilité au point initial

• La convergence est imprédictible


à partir de certains points initiaux.

287
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Globalisation
Techniques de globalisation
• La convergence d’une méthode de (quasi) Newton n’est pas garantie même près de la solution.
Il faut évaluer et si besoin modifier le point xN issu de l’itération de (quasi) Newton.

• Méthode d’évaluation d’une solution


- fonction mérite → agrégation des objectifs avec pondérations
- filtre → acceptation des solutions non dominées

• Méthode d’exploration locale


- recherche linéaire → suivant la direction du point de Newton xN
- région de confiance → à l’intérieur d’une sphère centrée sur le point initial
en utilisant les points de Newton xN et de Cauchy xC

Objectifs simultanés
Le nouveau point doit minimiser simultanément plusieurs objectifs.

• Résolution d’équations : g( x )  0  min g1 ( x ) ,  , g m ( x ) 


x

• Minimisation sous contrainte : min f ( x ) sous c( x )  0  min f ( x ) , c1 ( x ) ,  , c m ( x ) 


x x

288
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Fonction mérite


Principe
• On cherche à minimiser simultanément plusieurs fonctions : min c1 ( x ) ,  , c m ( x ) 
x

• On définit une fonction mérite F(x) permettant de comparer différentes solutions.

Une solution x est meilleure qu’une solution y si F( x )  F( y)

• La fonction mérite agrège les différents objectifs avec des pondérations (ou pénalisations).
Le choix des coefficients permet de privilégier certains objectifs.

Exemples de fonctions mérites


• Résolution d’équations : g( x )  0  F( x )  g( x ) → norme 1, 2, …
 F( x )   i g i ( x ) → pénalisations i
• Minimisation sous contrainte : min f ( x ) sous c( x )  0
x

- critère augmenté  F( x )  f ( x )   c( x )

- lagrangien augmenté  F( x )  L( x, )   c( x )
 f ( x )  T c( x )   c( x )
289
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Filtre
Principe
• On cherche à minimiser simultanément plusieurs fonctions : min c1 ( x ) ,  , c m ( x ) 
x

• On définit une relation de dominance permettant de comparer différentes solutions.


c1 ( x )  c1 ( y)
Une solution x domine une solution y si   → améliore tous les objectifs
c m ( x )  c m ( y)
• Le front de Pareto est l’ensemble des solutions non dominées.

c2(x) c2
front de Pareto
solutions non dominées solutions dominées
par x par x
x
x

solutions dominant x solutions non dominées y


par x

c1(x) c1
290
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Filtre
Filtre
• Le filtre est la liste des solutions non dominées obtenues au cours des itérations.
→ approximation du front de Pareto

• Evaluation d’un nouveau point


- Le nouveau point est accepté s’il n’est dominé par aucun élément du filtre.
- Le filtre est mis à jour en ajoutant le nouveau point et en éliminant les éléments dominés.

c2

Région de solutions dominées points du filtre


x1 → rejetées par le filtre

x2
x3

x4
Région de solutions non dominées
→ acceptées par le filtre

c1 291
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Exemple
Exemple
On cherche à résoudre par la méthode de Newton le système d’équations :
1  x1 
c( x1 , x 2 )   2 0 → solution x *  11
10( x 2  x1 )   
• Le déplacement de Newton est : d N  c  T c
T
  1  20x1   1  x1  1  10 0  1  x1   1  x1 
d N     2 
  
 20x  110( x  x 2 )   x (2  x )  x 
   
 0 10   10( x 2  x 1 
) 10  1  2 1   1 1 2

• On applique une recherche linéaire dans la direction de Newton : x '  x  sd N

 x '1   x1   1  x1 
      s 
 2  2  1
x ' x x ( 2  x 1 )  x 2

• On compare l’évaluation par fonction mérite et par filtre à partir du point initial x 0   0 
0
La fonction mérite est : F( x1 , x 2 )  c( x1 , x 2 ) 1  1  x1  10( x 2  x12 )

292
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Exemple
Fonction mérite
• Le déplacement est accepté si la fonction mérite décroît.

F( x1 , x 2 )  c( x1 , x 2 ) 1  1  x1  10( x 2  x12 ) avec F(0,0)  1 → nécessite x 2  x12 à  0.1 près

Itération Pas s x1 x2 F(x1,x2) c1 c2 x2


0 0,0000 0,0000 0,0000 1,0000 1,0000 0,0000 1,0
1 0,0625 0,0625 0,0000 0,9766 0,9375 -0,0391
0,8 proche de la courbe
2 0,0625 0,1211 0,0076 0,9499 0,8789 -0,0710
x2=x1²
3 0,0625 0,1760 0,0213 0,9207 0,8240 -0,0967
0,6
4 0,1250 0,2790 0,0588 0,9117 0,7210 -0,1907
5 0,1250 0,3691 0,1115 0,8789 0,6309 -0,2481
0,4
6 0,1250 0,4480 0,1728 0,8312 0,5520 -0,2792
7 0,2500 0,5860 0,3034 0,8139 0,4140 -0,3999 0,2
8 0,2500 0,6895 0,4347 0,7175 0,3105 -0,4070
9 0,5000 0,8448 0,6691 0,5998 0,1552 -0,4445 0,0
0,0 0,2 0,4 0,6 0,8 1,0 x1
10 1,0000 1,0000 0,9759 0,2410 0,0000 -0,2410
11 1,0000 1,0000 1,0000 0,0000 0,0000 0,0000

• La solution est obtenue en 11 itérations à partir du point initial x 0   0 


0
293
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Exemple
Filtre
• Le déplacement est accepté si au moins l’une des composantes de c décroît.
1  x1 
c( x1 , x 2 )   2 0
10( x 2  x1 ) 
Itération Pas s x1 x2 F(x1,x2) c1 c2 x2
0 0 0,0000 0,0000 1,0000 1,0000 0,0000 1,0

1 1 1,0000 0,0000 10,0000 0,0000 -10,0000


0,8
2 1 1,0000 1,0000 0,0000 0,0000 0,0000

0,6

• Le déplacement de Newton (s=1) est accepté à l’itération 1 0,4

car la composante c1 décroît.


0,2

L’évaluation par fonction mérite aurait rejeté le pas s=1 0,0


0,0 0,2 0,4 0,6 0,8 1,0 x1
car la fonction mérite augmente de 1 à 10.

• La solution est obtenue en 2 itérations à partir du point initial x 0   0 


0
294
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

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 :
1 g   f k (x k )
f̂ k (x)  f k (x k )  g Tk (x  x k )  (x  x k ) T H k (x  x k ) avec  k
H k   f k (x k )
2
2
• Point de Newton
 points utiles dans les algorithmes de globalisation
• 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.

x N  x k  d N avec  2 f(x k )d N  f(x k )  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.

x C  x k  α C g k solution de min f(x k  αg k )  minimum suivant la plus forte descente


α0
g Tk g k
Si f est convexe suivant –gk : α C  T
gk Hkgk
295
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Homotopie
Principe
• On cherche à résoudre le système d’équations dans Rn : g1(x) = 0  problème P1
On sait résoudre un autre système d’équations dans Rn : g0(x) = 0  problème P0

• La méthode d’homotopie (ou de continuation) consiste à passer progressivement


du problème P0 de solution connue au problème P1 que l’on cherche à résoudre.
→ élargir le domaine de convergence de la méthode de Newton sur le problème P1

Problème paramétré
On définit une famille de problèmes P paramétrés par un réel  entre 0 et 1.

• Le problème P est défini par : g(x) = 0 avec g(x) = (1 ).g0(x) + .g1(x)
La solution de P est notée x.
 Pour  = 0, on a le problème P0 de solution connue x0.
 Pour  = 1, on a le problème P1 dont on cherche la solution x1.

• L’ensemble des solutions {x, 0    1} définit une courbe C dans Rn.


La courbe C est le chemin de zéros de la famille de problèmes (P) 0 1.

• On cherche à suivre le chemin de zéros C de  = 0 à  = 1.


296
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Homotopie
Algorithme
• On suppose que l’on a résolu le problème P  solution x

• On résout le problème P+ par la méthode de Newton initialisée avec x.


Si la variation  est petite, on peut espérer que la solution x+ soit proche de x,
ce qui permettra la convergence de la méthode de Newton.

• On passe de proche en proche de x0 solution connue du problème P0


à x1 solution du problème à résoudre P1.

Initialisation Problème suivant Initialisation de P+


=0  P0 , x0    +  x

Solution Solution de P+ Méthode de Newton


=1  P1 , x1 x+

297
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Homotopie
Convergence
• La méthode d’homotopie élargit le domaine de convergence de la méthode de Newton.
On peut partir d’une initialisation x0 assez éloignée de la solution x1.

• Le problème de départ P0 doit pouvoir être relié continument au problème à résoudre P1.
 problème d’existence du chemin de zéros

Non monotone Bifurcation Retournement Point d’arrêt Discontinuité Divergence
1

0 x

• L’efficacité de la méthode dépend de la variation  du paramètre  à chaque pas d’homotopie.


 compromis rapidité / robustesse
 grand  progression rapide, mais risque de divergence de la méthode de Newton
 petit  progression lente
298
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Exemples
Exemple 1
• On cherche à résoudre le problème P1 : g1 (x)  Arc tan( x )  0  solution x1 = 0

• La méthode de Newton diverge si le point initial x0 est trop loin de la solution.

• Exemple : point initial x0 = 1,5

g0(x)
Iteration x(k)
0 1,500
1 -1,694
2 2,321
3 -5,114
4 32,296
x1 0 x0 x2 x 5 -1575,317
6 3894976,008

299
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Exemples
Exemple 1
• On part du problème P0 : g 0 (x)  x  10  0  solution x0 = 10

• On définit la famille de problèmes P paramétrés par  , 0    1.


P : g  (x)  (1  ).g 0 (x)  .g1 (x)  0
 g  (x)  (1  ).( x  10)  .Arc tan (x)  0
La solution du problème P est notée x.

• On augmente progressivement  de 0 à 1  suite (k)k=0,1,…


 problèmes (Pk) de solutions (xk)

• Chaque problème Pk+1 est résolu par la méthode de Newton


initialisée à partir de la solution xk du problème précédent Pk.

• La variation de  entre Pk et Pk+1 doit être suffisamment faible pour permettre la convergence.
On choisit :  = 0.1 de  = 0 à  = 0.8
 = 0.05 de  = 0.8 à  = 1

300
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Exemples
Exemple 1
• On obtient la suite discrète des problèmes Pk avec leurs solutions.
 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,85 0,9 0,95 1
x0 100,0 10,0000 9,8367 9,6332 9,3724 9,0264 8,5457 7,8342 6,6815 4,5772 2,9505 1,4112 0,5433
x1 10,0 9,8367 9,6331 9,3723 9,0263 8,5454 7,8330 6,6744 4,5021 2,7813 0,7989 0,1131 -0,1013
x2 10,0 9,8367 9,6332 9,3724 9,0264 8,5457 7,8342 6,6815 4,5770 2,9471 1,2816 0,5052 0,0007
x3 10,0 9,8367 9,6332 9,3724 9,0264 8,5457 7,8342 6,6815 4,5772 2,9505 1,4052 0,5428 0,0000
x4 10,0 9,8367 9,6332 9,3724 9,0264 8,5457 7,8342 6,6815 4,5772 2,9505 1,4112 0,5433 0,0000
x5 10,0 9,8367 9,6332 9,3724 9,0264 8,5457 7,8342 6,6815 4,5772 2,9505 1,4112 0,5433 0,0000

1,1
1
• Suivi du chemin de zéros. 0,9
0,8
0,7
• L’initialisation de P0 est quelconque. 0,6
 x0 = 100 (initialisation)  0,5

 x(0) = 10 (solution de P0) 0,4


0,3
0,2
• On obtient la solution de P1. 0,1
0
 x(1) = 0 0 1 2 3 4 5 6 7 8 9 10 11
Solution x()
301
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Exemples
Exemple 2
• On cherche à résoudre le problème P1 : g1 (x)  x 2  1  0  solution x1 = 1

• On part du problème P0 : g 0 (x)  x  2  0  solution x0 = 2

• On définit la famille de problèmes P paramétrés par  , 0    1.

P : g  (x)  (1  ).g 0 (x)  .g1 (x)  0

 g  (x)  (1  ).( x  2)  .( x 2  1)  x 2  (1  ) x  (2  3)  0

 (1  )  (1  ) 2  4(2  3)
• La solution du problème P est : x  
2
 52 3
 
 13
Cette solution n’existe que si : (1   ) 2
 4 ( 2  3 )  0  ou
5  2 3
 
 13

• Le chemin de zéros n’est pas continu de =0 à =1  2 branches disjointes


302
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Exemples
Exemple 2
Le chemin de zéros est composé de 2 branches disjointes.

1
• Branche 1 : 0    0,11814 0,9
0,8
 point initial : x0 = 2 0,7
 retournement 0,6
 divergence : x    0,5
0,4
0,3

• Branche 2 : 0,65109    1 0,2


0,1

 extrémités : x = 1 0
-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2
 retournement
Solution x

• On ne peut pas passer continument de la solution de P0 : g0(x) = x + 2 = 0  x0 = 2


à la solution de P1 : g1(x) = x2 1 = 0  x1 = 1

303
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Homotopie
Suivi du chemin de zéros 
• Une homotopie discrète avec des valeurs croissante (k)k=0,1,… 1
est bloquée si  n’est pas monotone le long du chemin de zéros.
Cg : g(,x)=0
• Un suivi basé sur le vecteur tangent est plus efficace.

• Equation du chemin de zéros : g  (x)  0  g(, x)  0


0
n équations x
  courbe Cg dans Rn+1
n+1 variables (,x) 
 u    R 1
• Vecteur tangent à la courbe Cg : u   
 ux    R
n

u
g T u  0  Gu  0 g
u

G  g T est la matrice jacobienne de g de taille n×(n+1). ux


Le vecteur tangent appartient à l’espace nul de G de dimension 1. 0 x

• On applique une méthode de prédiction-correction pour suivre la courbe Cg.

304
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Homotopie
Méthode de prédiction-correction
• Prédiction : On se déplace d’un pas pR suivant le vecteur tangent uRn+1.
  0    p   0  pu  
      g( p , x p )  g p  0

 0  p
x x  x 0  pu x 
GZ  0  Z base de l’espace nul de G
On peut prendre u de la forme : u  Zu Z avec 
u Z  R
Le sens de u est choisi en fonction du déplacement précédent : u Tk 1u k  0


• Correction : On effectue un déplacement vRn+1
Cg
pour revenir sur la courbe Cg (restauration de g=0)
  p   c   p  v  g
    g( c , x c )  0
x   x  x v 
 p  c p x 

n équations (g)
Le système est sous-déterminé : n+1 inconnues (v) x
On peut fixer une variable au choix et appliquer une méthode de Newton
ou chercher le déplacement de norme minimale (cf §1.3.2 Restauration).
305
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Exemples
Exemple 3
1
• On cherche à résoudre le problème P1 : g1 (x)  3x 3  x   0  solution x1 = +0.7461
2
1
• On part du problème P0 : g 0 (x)  3x 3  x   0  solution x0 = 0.7461
2
• On définit la famille de problèmes P paramétrés par  , 0    1.

P : g  (x)  (1  ).g 0 (x)  .g1 (x)  0 1,0


1 0,9
 g(, x)  3x 3  x    0 0,8
2
0,7
0,6
• Le chemin de zéros n’est pas monotone en .
 0,5

1 0,4
g(, x)  0    3x 3  x  0,3
2 0,2
d
  9x 2  1 0,1

dx 0,0
-0,8 -0,7 -0,6 -0,5 -0,4 -0,3 -0,2 -0,1 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8
Solution x
1 1
 Changement de sens en    et  
3 3
306
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation 2018

2.2.3 Exemples
Exemple 3
• Prédiction : pas p suivant le vecteur tangent u
1  1  1  9 x 2  1
g(, x)  3x  x   
3
 g(, x)   2   u  
  1 
2  9 x 1 (9 x  1)  1 
2 2

Le vecteur u est orienté par le sens du pas précédent ( suivant x > 0).
Le pas p est fixé : p = 0.1

  0    p   0  pu  
1,0

      g( p , x p )  0

0,9

 0  p
x x  x 0  pu x  0,8
0,7
0,6
• Correction : méthode de Newton
 0,5
0,4
On fixe x= xp et on résout : g(,xp) = 0 0,3
0,2

 2 itérations pour restaurer g(,x)=0 0,1


0,0
-0,8 -0,7 -0,6 -0,5 -0,4 -0,3 -0,2 -0,1 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8
  p   c   p  v 
    g( c , x c )  0 Solution x
 xp   xc  xp 
   
307
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
Techniques d’optimisation 2018

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éthodes sans gradient

3. Optimisation avec contraintes


4. Optimisation discrète
5. Optimisation fonctionnelle

308
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.1 Principes
Techniques d’optimisation 2018

2.3.1 Recherche linéaire


Problème sans contrainte
min f(x)
xR n

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

Initialisation Point initial Direction de descente


x0 xk dk

Solution Nouveau point Pas de déplacement


x* xk+1=xk+skdk sk

309
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.1 Principes
Techniques d’optimisation 2018

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)

310
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation 2018

2.3.2 Direction de descente

 Plus forte pente

 Gradient accéléré

 Méthode de Nesterov

 Préconditionnement

311
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation 2018

2.3.2 Plus forte pente


Plus forte pente
La direction de descente « naturelle » est celle du gradient = plus forte dérivée directionnelle
d k  f(x k )
• Comportement caractéristique en zigzag
• Convergence très lente  méthode inefficace en général
• Améliorations possibles  gradient accéléré, méthode de Nesterov, préconditionnement

Illustration en dimension 2

lignes de niveau de f

x*

312
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation 2018

2.3.2 Plus forte pente


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 :

min f x k  sd k   f x k  sd k   0  d Tk f x k  sd k   0  d Tk f x k 1   0
d
sR ds
• Itération k+1
La direction de plus forte pente en xk+1 est dk+1 = f(xk+1)  d Tk d k 1  0

Illustration
xk+1 lignes de niveau de f

dk+1=f(xk+1)
dk=f(xk)

xk
313
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation 2018

2.3.2 Exemple
Iteration x1 x2 f(x) d1 d2 s Erreur
Plus forte pente 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
• Fonction 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
1 9 4 3,686 0,410 7,550 -3,686 -3,686 0,2 3,709
f ( x )  x 12  x 22 5 2,949 -0,328 4,832 -2,949 2,949 0,2 2,967
2 2 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
• Direction 30 1,11E-02 1,24E-03 6,90E-05 -1,11E-02 -1,11E-02 0,2 1,12E-02
  x1  40 1,20E-03 1,33E-04 7,95E-07 -1,20E-03 -1,20E-03 0,2 1,20E-03
d  f ( x )    50 1,28E-04 1,43E-05 9,17E-09 -1,28E-04 -1,28E-04 0,2 1,29E-04
  9 x 2
1,00

• Pas 0,75
min f ( x  sd) 0,50
s

x 12  81x 22 0,25
s 2
x 1  729x 22 0,00
-1 0 1 2 3 4 5 6 7 8 9 10
• Itération -0,25

x k 1  x k  s k d k -0,50

-0,75

-1,00 314
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation 2018

2.3.2 Gradient accéléré


Gradient accéléré
La méthode du gradient accéléré consiste à introduire des déplacements supplémentaires.

• On réalise p déplacements suivant la plus forte pente : d k //  g( x k )


x 0  x1  x 2     xp
d0 d1 d2 p1 d

• On réalise ensuite un déplacement suivant la direction : dp = xp  x0.


dp = direction moyenne des p derniers déplacements (en général p = n , dimension de x)
x p 
pd
x p 1

lignes de niveau de f
x1

x*
x3

x0 x2

315
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation 2018

2.3.2 Gradient accéléré


Justification (en dimension 2)
• On suppose que la fonction à minimiser est une fonction quadratique de 2 variables.
1
f ( x )  x T Qx  c T x , x  R 2  g( x )  f ( x )  Qx  c  x*  Q 1c
2
g 0  Qx 0  c x 2  x 0  d A  Q 1 (g 2  g 0 )
On a les relations : g 2  Qx 2  c   noté

0  Qx * c  x *  x 2  d *  Q 1g 2
noté

• On considère des itérations de plus forte pente à partir du point x0 : d k // g ( x k )  g k


noté
Les directions successives sont orthogonales :
g1  g 0  g // g  g  g  g
g  g
 2
2 0 2 0 2 x1
1
 d A  Q 1g 2 g0 g1 g2
x*
x2 d*
Vrai seulement en dimension 2 x0
dA

• La direction dA (de x0 vers x2) est parallèle à


la direction d* (de x2 vers le minimum x*).
Le minimum se trouve suivant la direction dA et peut être atteint dès la troisième itération.
316
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation 2018

2.3.2 Exemple
Gradient accéléré
1 9  x  1 0
• Fonction f ( x )  x12  x 22  g( x )  f ( x )   1   H( x )   2 f ( x )   
2 2  9x 2  0 9
d  1
• Minimisation suivant d   1  : min f ( x  sd)  f ( x )  sd T g( x )  sd T H( x )d
 d2  s 2
T
d g d x  9d 2 x 2
 s T   1 12
d Hg d1  9d 22

9 Iteration x1 x2 f(x) d1 d2 s Erreur


• Point initial : x (0)
   0 9,0000 1,0000 45,0000 -9,0000 -9,0000 0,2 9,0554
1 1 7,2000 -0,8000 28,8000 -7,2000 7,2000 0,2 7,2443
2 5,7600 0,6400 18,4320 -3,2400 -0,3600 1,8 5,7954
3 0,0000 0,0000 0,0000 0,0000

• Déplacements 1 et 2
Direction de plus forte pente : d ( 0 )  g ( x ( 0 ) ) 
 x (1)
d (1)  g( x (1) ) 
 x ( 2 )
• Déplacement 3 suivant : d  x ( 2)  x (0) 
 x (3)  x *
→ convergence en 3 itérations
317
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation 2018

2.3.2 Méthode de Nesterov


Méthode de Nesterov
La méthode de Nesterov consiste à ajouter un déplacement intermédiaire à chaque itération.

• Les 2 premières itérations sont identiques à la méthode de plus forte pente.


A partir de l’itération 3, chaque itération se compose de 2 déplacements.

- un déplacement à partir de xk suivant la direction xkxk-1 yk


k 1
→ point yk : yk  x k   k ( x k  x k 1 ) avec  k 
k2
xk

- un déplacement de plus forte pente à partir de yk (au lieu de xk) xk+1

→ point xk+1 : x k 1  y k  s k d k avec d k  g( y k )


xk1

• Le déplacement complémentaire décale le point suivant la dernière direction de déplacement.


Le nouveau point yk est plus favorable pour une itération de plus forte pente,
en particulier si la fonction présente une vallée étroite et allongée.
318
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation 2018

2.3.2 Méthode de Nesterov


Méthode de Nesterov
• Itération composée de 2 déplacements
k 1
yk  x k   k ( x k  x k 1 ) avec  k  à partir de k = 2
k2
x k 1  y k  s k d k avec d k  g( y k ) et minimisation suivant dk

yk

xk g(yk)

xk+1

xk1

319
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation 2018

2.3.2 Exemple
Méthode de Nesterov
1 9
• Fonction : f ( x )  x 12  x 22
2 2
 k 1
• Itération :  y k  x k   k ( x k  x k 1 ) avec  k 
 k2
x k 1  y k  s k d k avec d k  f ( y k )    y1 
   9y2 
d y  9d 2 y 2
et min f ( y k  sd k )  s   1 12
s d1  9d 22
• Comparaison à la méthode de plus forte pente

Plus forte pente Nesterov


Iteration x1 x2 f x1 x2 f
0 9,000 1,000 45,0000 9,0000 1,0000 45,0000
1 7,200 -0,800 28,8000 7,2000 -0,8000 28,8000
2 5,760 0,640 18,4320 5,7600 0,6400 18,4320 2 itérations initiales identiques
3 4,608 -0,512 11,7965 4,6154 -0,3077 11,0769
4 3,686 0,410 7,5497 3,5187 0,2630 6,5018
5 2,949 -0,328 4,8318 2,5381 -0,1697 3,3507
6 2,359 0,262 3,0924 1,7054 0,0999 1,4991
7 1,887 -0,210 1,9791 1,0259 -0,0559 0,5403
8 1,510 0,168 1,2666 0,5004 0,0221 0,1274
9 1,208 -0,134 0,8106 0,1173 -0,0025 0,0069
10 0,966 0,107 0,5188 -0,1320 0,0129 0,0095 après 10 itérations
320
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation 2018

2.3.2 Exemple
Méthode de Nesterov
1 9
• Fonction : f ( x )  x 12  x 22
2 2
1,00

0,75

Nesterov
0,50

0,25

0,00
-1 0 1 2 3 4 5 6 7 8 9 10

-0,25

-0,50
Plus forte pente
-0,75

-1,00
321
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation 2018

2.3.2 Préconditionnement
Préconditionnement
• On se donne une matrice Hk symétrique définie positive.
 factorisation de Cholesky de Hk : Hk = LkLkT

• Changement de variable : ~
x k  LTk x k
~
• Direction de plus forte pente pour : f (~ x k )  f(x k )  f(LkT ~
xk )
~ ~
d k   f (~
x k )  f(LkT ~
x k )  Lk1f(LkT ~
x k )  Lk1f(x k )  Lk1d k
~
• Itération en ~ x : ~
k x ~ x  s  f (~
k 1 k x )
k k

• Itération en xk : x k 1  L k ~
T
x k 1  LkT ~ 
~
x k  s k  f (~  
x k )  LkT LTk x k  s k Lk1d k 
 x k 1  x k  s k LkT Lk1d k  x k  s k H k1d k
• Le préconditionnement par la matrice Hk revient à prendre comme direction de descente
d k  H k1f(x k )
• On vérifie que dk est une direction de descente
d Tk f(x k )  f(x k ) T H k1f(x k )  0 car Hk est définie positive

322
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation 2018

2.3.2 Préconditionnement
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 H k   f(x k ) .
2

d k  H k1f(x k )   2 f(x k ) 1 f(x k )  x k 1  x k  s k  2 f(x k ) 1 f(x k )


On obtient l’itération de Newton si le pas sk vaut 1.

• On peut prendre pour Hk l’approximation du hessien donnée 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 de son approximation quasi Newton) pour obtenir une matrice définie positive.

• On peut ajouter un multiple de l’identité : H k   2 f(x k )  I avec  > 0 assez grand.


  2f 
• On peut également prendre Hk diagonale : H k ii  max , 2 (x k )  ,   0
 x 
à partir des dérivées secondes diagonales de f.  i 

323
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation 2018

2.3.2 Exemple
Préconditionnement
 x 
T
1 9
f ( x )  x 12  x 22 1 0 1 0 1 0
• Fonction :  f ( x )   1    2 f ( x )        
2 2  9 x 2   0 9   0 3  0 3 
~ 2
1 0  x1  x1 ~ ~ 1 ~2 9  1  1 2 1 ~2
• Préconditionnement : L     ~  f ( x )  x1   x 2   ~ x1  x 2
 0 3 x 2  3x 2 2 23  2 2

~ ~ ~ ~ x  2,00
• Direction : d   f ( x )   ~ 1 
 x2 
1,50

~ ~
• Pas : min f (~
x  sd )  s  1 1,00
s

0,50
~
• Itération : ~
x k 1  ~
x k  s k dk  0
0,00
 convergence en 1 itération -1 0 1 2 3 4

-0,50

-1,00
324
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation 2018

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

325
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation 2018

2.3.3 Minimisation unidimensionnelle


Problème à une variable

min f(x) f(x)


xR

minimum local minimum global x


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
326
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation 2018

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]

f(x) f(x)

a b c d x a b c d x

On conserve [a,c] On conserve [b,d]


327
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation 2018

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]

f(x) 2  d  b  c  a
ad bc
 a dbc  
1 2 2

2

2 Les points b et c doivent être symétriques


par rapport au milieu de l’intervalle [a,d].

a b c d x
328
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation 2018

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 d  a  d  b   b  a 

f(x)  1   2   3

1

2 Les longueurs k des intervalles successifs


vérifient :
3 2
 k   k 1   k  2
3

a e b c d x
329
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation 2018

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


Δk Δ Δ
Δ k  Δ k 1  Δ k  2   k 1  k  2  FN  k  FN  k 1  FN  k  2
Δ N 1 Δ N 1 Δ N 1
 Fn  Fn 1  Fn  2 pour n  N  k, n  3,4,..., N  1

Δ N 1  F1Δ N 1 pour k  N  1  F1  1

• La suite est complètement déterminée par la valeur de F2


F1  1
F2 à choisir
Fn  Fn -1  Fn - 2 pour n  3,4,..., N  1
330
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation 2018

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.
Δ
Δ N -1  1 minimal  FN -1 maximal  F2 maximal
FN -1
1  1  1
• Valeur maximale de F2 : Δ N -1  Δ N -2  car Δ k  Δ k -1   F1  F2  F2 max  2
2  2  2
• 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 Δ b-a
 Δ N -1  1  FN -1   valeur de N
• Intervalle initial [a,b] :  1 = b-a FN -1 p

La méthode de Fibonacci donne le nombre minimal d’itérations N pour obtenir la solution


avec une précision donnée.
Δ1 FN -1
• La disposition des premiers points b et c dépend de N :   2
Δ 2 FN - 2

331
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation 2018

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.


Δ1 Δ 2 Δ Δ
  ... k  k 1  ...  γ avec Δ k  Δ k 1  Δ k  2
Δ2 Δ3 Δ k 1 Δ k  2
Δk Δ 1
  1  k2  γ  1   γ 2  γ 1  0
Δ k 1 Δ k 1 γ
1 5
• On obtient pour le rapport  le nombre d’or : γ  1.618034
 Méthode du nombre d’or (ou de la section dorée) 2

Optimalité
• La méthode du nombre d’or n’est pas optimale pour un nombre d’itérations donné N.
FN
• Pour un nombre d’itérations grand : Nlim γ
 FN -1
 La disposition des points de Fibonacci tend vers celle du nombre d’or.
332
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation 2018

2.3.3 Minimisation exacte


Comparaison Fibonacci - Nombre d’or
Le rapport de réduction de l’intervalle après n itérations vaut :
Δ1
• Pour la méthode de Fibonacci :  Fn
Δn
Δ1
• Pour la méthode du nombre d’or :  γ n 1
Δn

Nombre d’itérations
Une itération de la méthode de Fibonacci ou du nombre d’or correspond à une évaluation de f.

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
333
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation 2018

2.3.3 Minimisation exacte


Méthode du nombre d’or
• Positionnement des points
Δ1 Δ 2 1 5 f(x)
 γ  1.618034
Δ2 Δ3 2
1
 1
 Δ  Δ1  rΔ1
2
γ 1 5 1
  avec r    0.618034 2
1 γ 2
Δ 3  2 Δ1  r Δ1
2

 γ
3 2
b  a  r 2 Δ 1

 c  a  rΔ1
d  a  Δ1
a b c d x
• Itération
d  c a  b
c  b b  c
Si f (b)  f (c)  Δ  Δ Si f (b)  f (c)  
Δ  Δ2
 1 2
 1
b  a  r Δ 1 c  a  rΔ1
2

334
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation 2018

2.3.3 Exemple
Méthode du nombre d’or

• Minimisation de f ( x )   x cos(x ) , 0  x 
2
f 0 -0.4952 -0.5482 0
• Itération 1
x 0 0.6000 0.9708 1.5708

f -0.4952 -0.5482 -0.4350 0


• Itération 2
x 0.6000 0.9708 1.2000 1.5708

f -0.4952 -0.5601 -0.5482 -0.4350


• Itération 3
x 0.6000 0.8292 0.9708 1.2000

f -0.4952 -0.5468 -0.5601 -0.5482


• Itération 4
x 0.6000 0.7416 0.8292 0.9708

f -0.5468 -0.5601 -0.5606 -0.5482


• Itération 5
x 0.7416 0.8292 0.8832 0.9708

• Solution : x*  0.8832  f(x*)  0.5606


au lieu de x*  0.8603  f(x*)  0.5611
335
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation 2018

2.3.3 Minimisation exacte


Interpolation quadratique

• On connaît la valeur de la fonction f en 3 points x1, x2, x3. y1


 y1  f ( x 1 ) y3
y 2  f (x 2 )
 y 3  f ( x 3 ) y2

x1 x2 x3
• On construit le polynôme q de degré 2 passant par les 3 points.
( x  x 2 )( x  x 3 ) ( x  x 3 )( x  x 1 ) ( x  x 1 )( x  x 2 ) q( x 1 )  y1
q ( x )  y1  y2  y3  q( x 2 )  y 2
( x 1  x 2 )( x 1  x 3 ) ( x 2  x 3 )( x 2  x 1 ) ( x 3  x 1 )( x 3  x 2 ) q( x 3 )  y 3

• Dérivée du polynôme q

(2x  x 2  x 3 ) (2x  x 3  x 1 ) (2x  x 1  x 2 )


q ' ( x )  y1  y2  y3
( x 1  x 2 )( x 1  x 3 ) ( x 2  x 3 )( x 2  x 1 ) ( x 3  x 1 )( x 3  x 2 )

On obtient une approximation du minimum de f en minimisant q.

336
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation 2018

2.3.3 Minimisation exacte


Interpolation quadratique

• La dérivée du polynôme q s’écrit :


(2x  x 2  x 3 ) (2x  x 3  x 1 ) (2x  x 1  x 2 )
q ' ( x )  y1  y2  y3
( x 1  x 2 )( x 1  x 3 ) ( x 2  x 3 )( x 2  x 1 ) ( x 3  x 1 )( x 3  x 2 )

 q' ( x ) 

 2xy1 ( x 2  x 3 )  y 2 ( x 3  x 1 )  y 3 ( x 1  x 2 )  y1 ( x 22  x 32 )  y 2 ( x 32  x 12 )  y 3 ( x 12  x 22 ) 
( x 1  x 2 )( x 2  x 3 )( x 3  x 1 )

 2x y1s 23  y 2 s 31  y 3s12   y1r23  y 2 r31  y 3 r12  s ij  x i  x j


 q' ( x )  avec 
rij  x i  x j
2 2
( x 1  x 2 )( x 2  x 3 )( x 3  x 1 )

• On cherche la valeur xm qui annule la dérivée du polynôme q.


q' ( x m )  0  2x m y1s 23  y 2 s 31  y 3s12   y1r23  y 2 r31  y 3 r12   0

1 y1r23  y 2 r31  y 3 r12 s ij  x i  x j


 xm  avec 
2 y1s 23  y 2 s 31  y 3s12  rij  x 2
i  x 2
j

337
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation 2018

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

Points retenus xm < x1 x 1 < x m < x2 x 2 < x m < 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)

Cas de divergence : Le polynôme 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.
338
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation 2018

2.3.3 Exemple
Interpolation quadratique
• Minimisation de f ( x )  ( x  1)( x  1) 2 , 0  x  2
f -1.0000 -1.1816 0.0000 9.0000
• Itération 1
x 0 0.3750 1.0000 2.0000

f -1.0000 -1.1814 -1.1816 0.0000


• Itération 2
x 0 0.2895 0.3750 1.0000

f -1.1814 -1.1852 -1.1816 0.0000


• Itération 3
x 0.2895 0.3327 0.3750 1.0000

f -1.1814 -1.1852 -1.1852 -1.1816


• Itération 4
x 0.2895 0.3327 0.3329 0.3750

f -1.1852 -1.1852 -1.1852 -1.1816


• Itération 5
x 0.3327 0.3329 0.3333 0.3750

• Solution : x*  0.3333  f(x*)  1.1852

339
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation 2018

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 : (s)  f ( x k  sd k ), s  0

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

340
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation 2018

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
(s)  f ( x k  sd k ), s  0  ' (0)  f ( x k ) T d k  0
• On impose une diminution proportionnelle à la dérivée directionnelle, avec 0 <  < c1 < 0.5
(s)  (0)  c1s' (0)  f ( x k  sd k )  f ( x k )  c1sf ( x k ) T d k  valeur typique c1=0.1
 Condition d’Armijo ou 1ère condition de Wolfe ou 1ère condition de Goldstein

f(x)=(s)
pas acceptables s  x = xk+sdk

c1’(0)

’(0)
341
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation 2018

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
(s)  (0)  c 2 s' (0)  f ( x k  sd k )  f ( x k )  c 2 sf ( x k ) T d k  valeur typique c2=0.9

• Condition de Wolfe : réduction de la dérivée


' (s)  c 2 ' (0)  f ( x k  sd k ) T d k  c 2 f ( x k ) T d k  valeur typique c2=0.9

f(x)=(s) f(x)=(s)
pas acceptables pas acceptables
(Goldstein) (Wolfe)

s s

’(0) c2’(0) ’(0) c2’(0)


342
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation 2018

2.3.3 Minimisation approchée


Récapitulatif
• Conditions de Goldstein (s)  (0)  c1s' (0)  c1  0.1
(s)  (0)  c s' (0)  c  0.9
(si la dérivée de f est coûteuse)  2 2

• Conditions de Wolfe (s)  (0)  c1s' (0)  c1  0.1


' (s)  c ' (0)  c 2  0.9
(si la dérivée de f est disponible)  2

ou ' (s)  c 2 ' (0)  assure théoriquement la convergence

pas acceptables
f(x)=(s) (Goldstein)

s  x = xk+sdk

c1’(0)

’(0) c2’(0)
343
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation 2018

2.3.3 Réglage du pas


Méthode de dichotomie
(s)  (0)  c s' (0)
On cherche un pas s vérifiant les conditions de Goldstein : (s)  (0)  c1 s' (0)
 2

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]
1
 Essai suivant : s  ( s min  s max )
2
Arrêt
• Si s respecte les 2 conditions  pas acceptable
• Si l’intervalle [smin , smax] devient inférieur à un seuil donné
344
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation 2018

2.3.3 Réglage du pas


Illustration

(s)

smin s2 s3 s1 smax s

c1’(0)

c2’(0)
345
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.4 Algorithme
Techniques d’optimisation 2018

2.3.4 Algorithme

 Algorithme de recherche linéaire

 Convergence

 Exemple

 Descente non monotone

346
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.4 Algorithme
Techniques d’optimisation 2018

2.3.4 Algorithme
Algorithme de recherche linéaire

Initialisation : x0
Gradient : f(x0)
Approximation du hessien : H0  H0 =I par défaut

Itération k : xk
Gradient : f(xk) Direction de descente : d k  H k1f(x k )
Approximation du hessien : Hk>0

Recherche linéaire suivant dk  pas sk


Règle de Goldstein ou Wolfe

Arrêt si : f(x k 1 )  ε
Nouveau point : xk+1 = xk + sk dk
Gradient : f(xk+1)

Itération k+1 : xk+1 Mise à jour du hessien par BFGS ou SR1


Gradient : f(xk+1) Modification du hessien : Hk+1>0
Approximation du hessien : Hk+1>0 Factorisation de Cholesky modifiée

347
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.4 Algorithme
Techniques d’optimisation 2018

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.
lim f ( x k )  0  convergence vers un point stationnaire
k 

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.
348
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.4 Algorithme
Techniques d’optimisation 2018

2.3.4 Exemple
Fonction de Rosenbrock 5
f

 
f ( x1 , x 2 )  100 x 2  x12  1  x1 
2 2 4

3
 1.2 
Point initial : 
BFGS

 1  SR1
  2

1
• Recherche linéaire avec BFGS ou SR1 Itération
0
0 10 20 30 40

1,25 1,25
BFGS SR1
1 1

0,75 0,75

0,5 0,5

0,25 0,25

0 0
-1,5 -1 -0,5 0 0,5 1 1,5 -1,5 -1 -0,5 0 0,5 1 1,5
-0,25 -0,25
349
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.4 Algorithme
Techniques d’optimisation 2018

2.3.4 Descente non monotone


Condition de décroissance
• La condition d’Armijo impose une décroissance de la fonction à chaque itération.
f ( x k  sd k )  f ( x k )  c1sf ( x k ) T d k
Le pas de déplacement s est réduit jusqu’à vérifier la condition de décroissance.
→ décroissance monotone
f ( x 0 )  f ( x1 )  f ( x 2 )    f ( x k )  f ( x k 1 )  
La convergence peut devenir très lente sur une fonction mal conditionnée (« vallée étroite »).

• On peut accélérer la convergence en acceptant une croissance temporaire de la fonction.


La condition de décroissance est imposée entre le point xk-m et le point xk+1.
f ( x k  sd k )  f ( x k  m )  c1sf ( x k ) T d k
La fonction peut croître sur m itérations, mais les sous-suites xj+k(m+1) restent décroissantes.
→ décroissance non monotone (méthode « watchdog »)
f ( x 0 )  f ( x m 1 )  f ( x 2( m 1) )    f ( x k ( m 1) )
f ( x1 )  f ( x1 m 1 )  f ( x1 2( m 1) )    f ( x1 k ( m 1) ) sans imposer f ( x1 )  f ( x 0 )

350
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.4 Algorithme
Techniques d’optimisation 2018

2.3.4 Descente non monotone


Exemple
Fonction de Rosenbrock à deux variables : f ( x1 , x 2 )  100 x 2  x12    1  x 
2
1
2

3,0

f
14
2,0

12
1,0 monotone
10
non monotone

0,0 8
-2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0
6
-1,0
4

-2,0
2
Itération
0
-3,0
0 5 10 15 20

Méthode de Newton avec pas s


• Descente monotone (s → s/2) : convergence en 21 itérations
• Descente non monotone (s=1) : convergence en 6 itérations (2 itérations avec dégradation)
351
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
Techniques d’optimisation 2018

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éthodes sans gradient

3. Optimisation avec contraintes


4. Optimisation discrète
5. Optimisation fonctionnelle

352
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.1 Principes
Techniques d’optimisation 2018

2.4.1 Région de confiance


Problème sans contrainte
min f(x)
xR n
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

Initialisation Point initial Modèle quadratique


x0 xk dk

Solution Nouveau point Rayon de confiance


x* xk+1=xk+dk rk

353
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.1 Principes
Techniques d’optimisation 2018

2.4.1 Région de confiance


Illustration

x0
modèle quadratique en x0

x1 modèle quadratique en x1

modèle quadratique en x2

x2

x*

354
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation 2018

2.4.2 Modèle quadratique

 Problème de région de confiance

 Conditions d’optimalité

 Résolution approchée

 Méthode dogleg

355
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation 2018

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
1
f̂ k ( x k  d)  f ( x k )  d T f ( x k )  d T  2 f ( x k )d
2
• 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 : d  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

min f̂ k ( x k  d) sous d  rk  Problème de région de confiance


dR n

• 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

356
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation 2018

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
1
• Fonction modèle : f̂ (d)  f 0  d T g 0  d T H 0 d
• Région de confiance : d  r 2
1
• Problème de région de confiance : minn f̂ (d)  f 0  d T g 0  d T H 0 d sous d  r
dR 2

x0
dN
-g0

xN

lignes de niveau du modèle quadratique


357
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation 2018

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
1
minn f̂ (d)  f 0  d T g 0  d T H 0 d sous
dR 2
1 2 2
2

d r  0 
• Lagrangien :
1 1
 2
L(d ,  )  f 0  d T g 0  d T H 0 d   d  r 2
2 2

 L(d*, μ*)  g  H d * μ * d*  0  H  μ * I d*  g
Conditions d’ordre 1 :  d *  r , μ*  0
d 0 0 0 0

 
μ * d * 2  r 2  0
  μ *  d *  r  0

Contrainte de région de confiance


• Si la contrainte de région de confiance est inactive (* = 0), la contrainte peut être ignorée.
La solution du problème quadratique est directement le point de Newton : d*  H 01g 0

• Si la contrainte de région de confiance est active (* > 0), on peut montrer que la matrice
H 0   * I est semi-définie positive.

Il faut résoudre le système : H 0   * I d*  g 0


 d*  r

358
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation 2018

2.4.2 Résolution approchée


Résolution du problème quadratique
1 T
On doit résoudre à chaque itération le problème : minn f̂ (d)  f 0  d g 0  d H 0 d sous d  r
T

dR 2
• 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.
1
min f̂ (d)  f 0  d T g 0  d T H 0 d  d N  H 01g 0  x N  x 0  d N
dR n
2
Point de Cauchy
Le point de Cauchy xC minimise le critère quadratique suivant le gradient : d C  sg 0 , s  0
1 g T0 g 0
min f̂ (sg 0 )  f 0  sg g 0  s 2 g T0 H 0 g 0
T
0  sC  T
sR 2 g 0 H 0g 0
 d C  s C g 0  x C  x 0  d C

359
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation 2018

2.4.2 Résolution approchée


Résolution du problème quadratique
1
min f̂ (d)  f 0  d T g 0  d T H 0 d sous d  r  solution d(r)Rn, x(r) = x0 + d(r)
dR n
2
Lorsque le rayon de confiance r varie, la solution suit une courbe x(r) allant de x 0 à xN.
• r=0  x(0) = x0 (tangente = g0)
• r > dN  x(r) = xN

x0

x(r)

xN
g0

lignes de niveau du modèle quadratique


360
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation 2018

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]

x0
dN
dC

xC xN

lignes de niveau du modèle quadratique


361
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation 2018

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.
1
minn f̂ (d)  f 0  d T g 0  d T H 0 d sous d  r
dR 2
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é.
1
minn f̂ (d)  f 0  d T g 0  d T H 0 d sous d  r
dR 2
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.

362
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation 2018

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

r
r
r
x0 x0 x0
dN dN dN
dC dC dC
xC xN xC xN xC xN

363
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation 2018

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[
r dC g
s * d C  r  s*   d*  r  r 0 car dC // g0
dC dC g0

Solution sur le segment 2


d(s) = dC + (s1)(dN  dC) avec s[1,2]
d C  (s * 1)(d N  d C )  r  d C  (s * 1)(d N  d C )  d C  (s * 1)(d N  d C )   r 2
T

L’équation du second degré en s* admet une racine positive.


a  d N  d C 2
 b  b 2  4ac 
 s*  1  avec b  2d TC d N  d C 
2a 
c  d C  r
2 2

364
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation 2018

2.4.2 Exemple
Méthode dogleg
1 9
• Fonction f ( x 1 , x 2 )  x 12  x 22
2 2
9 9 1 0
• Point initial : x 0    f ( x 0 )     2 f ( x 0 )   
1 9  0 9 
1 1 9
• Modèle quadratique : f̂ ( x 0  p)  f ( x 0 )  f ( x 0 ) T p  p T  2 f ( x 0 )p  45  9p1  9p 2  p12  p 22
2 2 2

 7.2 
f̂ x 0  sf ( x 0 )   min 45  18(9s)  5(9s) 2  s 
1
• Point de Cauchy : min  x C   
s s 5   0.8 
•  1
  9   1 0  9 
Point de Newton : x N  x 0   2 f ( x 0 ) f ( x 0 )       
0
 x N   
  
1 0 1 / 9  9  0
 cos    9  r cos  
• Région de confiance de rayon r : x r  x 0  r      paramétrée par 
 sin    1  r sin  
 9  1.8s 
• Chemin dogleg : segment 1  x d1 (s)  x 0  s( x C  x 0 )    , 0s1
 1  1.8s 
 7.2  7.2s 
segment 2  x d 2 (s)  x C  s( x N  x C )    , 0  s  1
  0,8  0.8s  365
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation 2018

2.4.2 Exemple
Méthode dogleg
1 9 9  7.2   0
f ( x 1 , x 2 )  x 12  x 22x 0     x C    , x N   
2 2 1   0.8   0
 8,293 
• Région de confiance de rayon r=1 :  x d    sur le segment 1
 0 .293 
 5,331 
• Région de confiance de rayon r=4 :  x d    sur le segment 2
  0.592 
4,00
3,50 r=4
3,00
2,50
r=1
2,00
1,50
x0
1,00
0,50
xN
0,00
-1 0 1 2 3 4 5 6 7 8 9 10 11
-0,50
  chemin dogleg
-1,00
xC
-1,50
366
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.3 Rayon de confiance
Techniques d’optimisation 2018

2.4.3 Rayon de confiance

 Rapport de réduction

 Réglage du rayon

 Approche directe

 Réglage du multiplicateur

 Approche équation différentielle

 Réglage du pas de temps

367
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.3 Rayon de confiance
Techniques d’optimisation 2018

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 x 0.
 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 : f̂ ( x 0 )  f̂ ( x 0  d*)
et la variation réalisée : f ( x 0 )  f ( x 0  d*)
f ( x 0 )  f ( x 0  d*)
Rapport de réduction : 
f̂ ( x 0 )  f̂ ( x 0  d*)

• 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 .

368
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.3 Rayon de confiance
Techniques d’optimisation 2018

2.4.3 Réglage du rayon


Réglage du rayon
f ( x 0 )  f ( x 0  d*)
On modifie le rayon de confiance en fonction du rapport de réduction  
f̂ ( x 0 )  f̂ ( x 0  d*)
•  > 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.

369
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.3 Rayon de confiance
Techniques d’optimisation 2018

2.4.3 Approche directe


Solution du problème quadratique
Le déplacement s’obtient en résolvant le problème de région de confiance.
1
minn f̂ (d)  f 0  d T g 0  d T H 0 d sous d  r (norme 2)
dR 2
1
• Si le point de Newton d N  H 0 g 0 vérifie la contrainte d N  r , la solution est directe.

• Sinon la contrainte est active, le déplacement d est solution des conditions KKT.
H 0  I d  g 0 d  H 0  I 1 g 0
d r   avec  > 0 (multiplicateur de la contrainte)
 d r
Une méthode itérative est nécessaire pour vérifier d  r .

• La méthode dogleg évite la résolution du système en construisant une solution approchée.


On vérifie ensuite la décroissance de la fonction et le rayon est modifié si nécessaire.

• L’approche directe consiste à ignorer la condition de région de confiance d  r


en réglant le multiplicateur au lieu du rayon.
On cherche  > 0 et d  H 0  I  g 0 pour obtenir une décroissance suffisante de f.
1

370
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.3 Rayon de confiance
Techniques d’optimisation 2018

2.4.3 Approche directe


Réglage de 
Le déplacement d dépend du multiplicateur  : d()  H 0  I  g 0
1

On cherche une valeur de  pour obtenir une décroissance suffisante de f.

• Si f augmente, le déplacement d() n’est pas acceptable.


On reprend l’itération en augmentant  :  → 2
La direction de déplacement se rapproche de la direction de Cauchy (g 0 ) .

• Si f diminue modérément, le déplacement d() est acceptable.


On conserve la même valeur de  pour l’itération suivante.

• Si f diminue fortement, le déplacement d() est très favorable.


On diminue  pour l’itération suivante :  → /2
1
La direction de déplacement se rapproche de la direction de Newton (H 0 g 0 ) .

• Le multiplicateur agit comme une pondération entre la direction de Cauchy (I g 0 )


1
et la direction de Newton (H 0 g 0 )

• La méthode peut s’interpréter comme le réglage du pas d’une équation différentielle


avec une condition de décroissance de la fonction f.
371
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.3 Rayon de confiance
Techniques d’optimisation 2018

2.4.3 Approche équation différentielle


Equation différentielle
On associe au problème de minimisation : minn f(x) minimum x*
xR

l’équation différentielle : x  f ( x ) trajectoire x(t)

• Un minimum x* de f est un point stationnaire de l’équation différentielle car f ( x*)  0 .


On cherche x* en intégrant l’équation différentielle à partir d’un point initial x(t0) = x0.

• La méthode d’Euler permet de limiter le nombre d’évaluations de f et de f.


On note : t le pas de temps et g(x) = f
x la variation de x à partir de x0 H(x) = ²f
x
A l’ordre 1 : x  et g( x )  g( x 0  x )  g( x 0 )  H( x 0 )x  g 0  H 0 x
t
x
   g 0  H 0 x
t
1
 1 
• On obtient pour le déplacement x : x   H 0  I  g 0
 t 
372
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.3 Rayon de confiance
Techniques d’optimisation 2018

2.4.3 Approche équation différentielle


Réglage du pas de temps t
La formule donnant le déplacement une formule est similaire à celle de la région de confiance.
1
 1 
Equation différentielle : x   H 0  I  g 0 → pas de temps t > 0
 t 
x  H 0  I  g 0
1
Région de confiance : → multiplicateur  > 0
1
→ même formule en posant 
t
• On règle le pas de temps pour obtenir une décroissance suffisante de f.
- si f augmente : t → t/2 et reprise de l’itération
- si f décroît peu : t inchangé et passage à l’itération suivante
- si f décroît beaucoup : t → t2 et passage à l’itération suivante

• Interprétation
Augmenter le pas de temps t (cas favorable) équivaut à diminuer le multiplicateur 
et à augmenter le rayon de confiance.
La direction de déplacement se rapproche de la direction de Newton.

• Il existe d’autres approches basées sur l’intégration d’une équation différentielle.


373
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.4 Algorithme
Techniques d’optimisation 2018

2.4.4 Algorithme

 Algorithme de région de confiance

 Convergence

 Exemple
- Région de confiance norme 2
- Région de confiance norme 

374
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.4 Algorithme
Techniques d’optimisation 2018

2.4.4 Algorithme
Algorithme de région de confiance

Initialisation : x0  Rayon r0
Gradient : f(x0)
Approximation du hessien : H0  H0 =I par défaut

Itération k : xk  Rayon rk Résolution problème quadratique  pas dk


Gradient : f(xk) Méthode dogleg
Approximation du hessien : Hk>0

Rapport de réduction  
Réglage du rayon  rk+1

Arrêt si : f(x k 1 )  ε
Nouveau point : xk+1 = xk + dk
Gradient : f(xk+1)

Itération k+1 : xk+1  Rayon rk+1 Mise à jour du hessien par BFGS ou SR1
Gradient : f(xk+1) Modification du hessien : Hk+1>0
Approximation du hessien : Hk+1>0 Factorisation de Cholesky modifiée

375
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.4 Algorithme
Techniques d’optimisation 2018

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 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.

• On peut utiliser directement la solution du problème quadratique avec le multiplicateur .


Le réglage porte sur le multiplicateur au lieu du rayon de confiance.
376
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.4 Algorithme
Techniques d’optimisation 2018

2.4.4 Exemple
Fonction de Rosenbrock 5
f


f ( x1 , x 2 )  100 x 2  x 1  1  x 
2 2
1
2 4

3
 1.2 
Point initial : 
BFGS

 1  SR1
  2

1
• Région de confiance avec BFGS ou SR1 Itération

• Norme 2 : région de confiance circulaire 0


0 10 20 30 40

1,25 1,25
BFGS SR1
1 1

0,75 0,75

0,5 0,5

0,25 0,25

0 0
-1,5 -1 -0,5 0 0,5 1 1,5 -1,5 -1 -0,5 0 0,5 1 1,5
-0,25 -0,25
377
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.4 Algorithme
Techniques d’optimisation 2018

2.4.4 Exemple
Fonction de Rosenbrock 5
f

 
f ( x1 , x 2 )  100 x 2  x12  1  x1 
2 2 4

3
 1.2 
Point initial : 
BFGS

 1  SR1
  2

1
• Région de confiance avec BFGS ou SR1 Itération

• Norme  : région de confiance rectangulaire 0


0 10 20 30 40

1,25 1,25
BFGS SR1
1 1

0,75 0,75

0,5 0,5

0,25 0,25

0 0
-1,5 -1 -0,5 0 0,5 1 1,5 -1,5 -1 -0,5 0 0,5 1 1,5
-0,25 -0,25
378
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
Techniques d’optimisation 2018

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éthodes sans gradient

3. Optimisation avec contraintes


4. Optimisation discrète
5. Optimisation fonctionnelle
379
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.1 Formulation
Techniques d’optimisation 2018

2.5.1 Formulation
Problème de moindres carrés
1 2
min
xR n
r(x)  problème (MC)
2
• Variables xRn : n paramètres d’ajustement d’un modèle
• Résidus r(x)Rm : m écarts entre modèle et mesures
1 1 1 m
f ( x )  r ( x )  r ( x ) r ( x )   ri ( x ) 2
2 T
• Critère f(x)R :
2 2 2 i 1
 minimisation d’écart quadratique
m r ( x )  R nm
• Gradient : f ( x )  r ( x )r ( x )   ri ( x )ri ( x ) avec  n 1
i 1 ri ( x )  R

 
m
• Hessien :  f ( x )   ri ( x )ri ( x ) T   2 ri ( x )ri ( x )
2

i 1
m
 r ( x )r ( x )    2 ri ( x )ri ( x )
T

i 1

• Résolution : en appliquant la méthode de Newton

380
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.2 Méthode de Gauss-Newton
Techniques d’optimisation 2018

2.5.2 Méthode de Gauss-Newton


Méthode de Newton

L’itération de Newton au point xk est :  2 f ( x k )d k  f ( x k )  déplacement dk


 m

 f ( x )  r ( x )r ( x )   ri ( x )ri ( x )


i 1
Avec  m
 2 f ( x )  r ( x )r ( x ) T    2 ri ( x )ri ( x )
 i 1

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 :  f ( x )  r ( x )r ( x )


2 T

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 : r ( x k )r ( x k ) T d k  r ( x k )r ( x k )

381
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.2 Méthode de Gauss-Newton
Techniques d’optimisation 2018

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

r̂i ( x )  ri ( x k )  ri ( x k ) T ( x  x k ) , i  1,, m  r̂ ( x )  r ( x k )  r ( x k ) T ( x  x k )


1 2
Le problème devient : minn r̂ ( x )
xR 2

1 2 1
• Critère : f̂ ( x ) 
r̂ ( x )  r̂ ( x ) T r̂ ( x )
2 2
1
 T

 f̂ ( x )  r ( x k )  r ( x k ) T ( x  x k ) r ( x k )  r ( x k ) T ( x  x k )
2

1 1
 r ( x k ) T r ( x k )  ( x  x k ) T r ( x k )r ( x k )  ( x  x k ) T r ( x k )r ( x k ) T ( x  x k )
2 2
• Gradient : f̂ ( x )  r ( x k )r ( x k ) T ( x  x k )  r ( x k )r ( x k )

Condition d’ordre 1 : f̂ ( x )  0  r ( x k )r ( x k ) ( x  x k )  r ( x k )r ( x k )


T

 On retrouve l’itération de Gauss-Newton


obtenue en ignorant les dérivées secondes dans le hessien
382
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.3 Moindres carrés linéaires
Techniques d’optimisation 2018

2.5.3 Moindres carrés linéaires


Cas linéaire
1
avec r ( x )  Ax  b, A  R mn , b  R m
2
min r(x)  problème (MC)
xR n
2
r ( x )  Ax  b  Ax  b   x T A T Ax  b T Ax  b T b
1 2 1 1 1
f (x) 
T
• Critère :
2 2 2 2
• Gradient : f ( x )  r ( x )r ( x )  A T Ax  b 

• Hessien :  2f (x)  A T A

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
f ( x*)  0  A T Ax  b   0  A T Ax  A T b
1 2
 système d’équations normales du problème (MC) : minn Ax  b
xR 2
• Si A est de rang plein, x* est l’unique solution du problème (MC).
383
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.3 Moindres carrés linéaires
Techniques d’optimisation 2018

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.

Temps (s) Hauteur (m)


0 0,90
1 5,40
1
2 20,81 g  h  gt 2
3 45,73 2
4 78,56
5 124,10
6 175,75 h
7 241,41
8 315,08 Hauteur h (m)
2000
9 397,36
10 488,25
11 595,35 1500
12 707,26
13 829,98
1000
14 961,20
15 1103,14
16 1252,89 500
17 1415,55
18 1586,62
0
19 1770,20
0 5 10 15 20
20 1964,29 Temps t (s) 384
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.3 Moindres carrés linéaires
Techniques d’optimisation 2018

2.5.3 Exemple
Moindres carrés linéaires 1 m
 t i2 
On résout le problème de moindres carrés linéaires : min f (g ) 
gR
  h i  g 
2 i 1  2
Temps H mesure H modèle Résidu t i2
(s) (m) (m) (m) Modèle : h mod èle  g
0 0,90 0,00 0,90 2
1 m
1 5,40 4,90 0,49 Résidu : r  h mesure  h mod èle  f (g)   ri (g) 2
2 20,81 19,61 1,19 2 i 1
3
4
45,73
78,56
44,13
78,46
1,60
0,10
Solution moindres carrés : g* = 9,8070 m/s2  f(g*) = 21,668
5 124,10 122,59 1,51 h (m)
6 175,75 176,53 -0,78 2000
7 241,41 240,27 1,13
8 315,08 313,82 1,25
9 397,36 397,18 0,17 1500
10 488,25 490,35 -2,10
11 595,35 593,32 2,02
12 707,26 706,10 1,15 1000
13 829,98 828,69 1,28
14 961,20 961,09 0,12
15 1103,14 1103,29 -0,14
500
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 0
0 50 100 150 200
20 1964,29 1961,40 2,89
t2/2 (s2) 385
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.4 Filtre de Kalman
Techniques d’optimisation 2018

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.
A 1  R m 1  n , b1  R m 1
minn A1x  b1  A 2 x  b 2
2 2
avec  m 2 n
xR
A 2  R , b 2  R m2
• Les 2 blocs correspondent à 2 séries de mesures donnant chacune des résidus respectifs.

r1 ( x )  A1x  b1  m1 mesures



r2 ( x )  A 2 x  b 2  m2 mesures

• Les matrices A1 et A2 sont supposées de rang plein  A1T A1 et A2T A2 inversibles

Problème initial
2
• On appelle problème initial le problème restreint au 1er bloc : minn A1 x  b1
xR

• On note x1 la solution du problème initial.


La solution x1 vérifie les équations normales du problème initial : A1 A1 x 1  A1 b1
T T

• On cherche ensuite à exprimer la solution x2 du problème complet en fonction de x1.

386
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.4 Filtre de Kalman
Techniques d’optimisation 2018

2.5.4 Filtre de Kalman


Problème complet
• On réécrit le problème complet en regroupant les 2 blocs.
2
 A 1   b1 
minn A1 x  b1  A 2 x  b 2  minn   x     minn Ax  b
2 2 2

xR xR
 A2   b2  xR

A  b 
avec A   1   R ( m  m
1 2 ) n
, b   1   R m  m
1 2

 A2   b2 
• La solution x2 vérifie les équations normales du problème complet.

A T Ax 2  A T b  A1T  A 
 b 

A T2  1  x 2  A1T A T2  1   
 A1T A1  A T2 A 2 x 2  A1T b1  A T2 b 2 
 A2   b2 
• La solution x1 vérifie les équations normales du problème initial : A1T A1 x 1  A1T b1

• On exprime x2 en fonction de x1 et des données du 2ème bloc de mesures


A T

A1  A T2 A 2 x 2  A1T b1  A T2 b 2  A1T A1 x 1  A T2 b 2  A1T A1 x 1  A T2 A 2 x 1  A T2 A 2 x 1  A T2 b 2
 
1
 A1T A1  A T2 A 2 x 1  A T2 b 2  A 2 x 1 

 x 2  x 1  A1T A1  A T2 A 2 1
A T2 b 2  A 2 x 1 
387
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.4 Filtre de Kalman
Techniques d’optimisation 2018

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)
k
• Itération : filtre Hk H k  H k 1  A Tk A k  minn  A i x  b i
2

solution xk x k  x k 1  H k1A Tk b k  A k x k 1  xR


i 1

Mise en œuvre
• Les matrices AkTAk 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
k
• H k  H k 1  A Tk A k  min   k i A i x  b i
2
Itération : filtre Hk
solution xk x k  x k 1  H k1A Tk b k  A k x k 1  xR n
i 1

388
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.4 Filtre de Kalman
Techniques d’optimisation 2018

2.5.4 Filtre de Kalman


Exemple
On applique la mise à jour de Kalman à chaque nouvelle mesure. Temps Matrice H Estimation g
Mesure : h mesure  b  bk  h k (s) (m/s2)
0 0,0 0,0000
t 2
t 2k
Modèle : h mod èle  Ax  g  A k  , xk  gk 1
2
0,3
4,3
10,7937
10,4263
2 2
Filtre : H 0  0  H k  H k 1  A1k ATk
T 3 24,5 10,2074

x k  x k 1  H k A k b k  A k x k 1 
4 88,5 9,9269
x 0  0 5 244,8 9,9274
6 568,8 9,8341
Estimation g (m/s2) 7 1169,0 9,8440
11,00
8 2193,0 9,8450
9 3833,3 9,8305
10,75 10 6333,3 9,8046
11 9993,5 9,8177
10,50 12 15177,5 9,8195
13 22317,8 9,8204
10,25
g20 = 9.8070 m/s2 14 31921,8 9,8167
15 44578,0 9,8136
10,00 16 60962,0 9,8068
17 81842,3 9,8041
9,75 18 108086,3 9,8016
19 140666,5 9,8029
9,50 20 180666,5 9,8070
0 5 10 15 20
Temps t (s) 389
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.4 Filtre de Kalman
Techniques d’optimisation 2018

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
390
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.5 Gradient conjugué
Techniques d’optimisation 2018

2.5.5 Gradient conjugué


Problème quadratique
On considère un problème de moindres carrés linéaires.
1
minn r ( x ) avec r ( x )  Ax  b, A  R mn , b  R m
2

xR 2

r ( x )  Ax  b  Ax  b   x T A T Ax  b T Ax  b T b
1 2 1 1 1

T

2 2 2 2
Le problème de moindres carrés revient à minimiser une forme quadratique définie positive.
1 T
f (x)  x Qx  c T x avec QRnn symétrique définie positive
2
Méthode de directions conjuguées
• 2 directions di et dj sont conjuguées par rapport à Q si diTQdj = 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)

391
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.5 Gradient conjugué
Techniques d’optimisation 2018

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.
min f ( x k 1  sd k )  x k  x k 1  s k d k
s

• La nouvelle direction dk+1 est définie à partir de la précédente dk et du gradient en xk.


d k 1  f ( x k )   k d k  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.

Initialisation Point courant Direction conjuguée


x0 xk-1 dk

Solution Nouveau point Minimisation


x*=xn xk suivant dk
392
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.5 Gradient conjugué
Techniques d’optimisation 2018

2.5.5 Gradient conjugué


Méthode du gradient conjugué
• La direction de descente à l’itération k est cherchée sous la forme d k 1  f ( x k )   k d k
avec xk obtenu par minimisation suivant dk : min f ( x k 1  sd k )  x k  x k 1  s k d k
s

• La nouvelle direction dk+1 doit être conjuguée à toutes les directions précédentes d1,…, dk.
d Tk 1Qd i  0 , i  1,, k

Il existe plusieurs méthodes de construction des directions conjuguées successives (d i)i=1,…,n.

• Directions de Fletcher-Reeves
2
f ( x k )
d k 1  f ( x k )   k d k avec  k  2
f ( x k 1 )

• Directions de Polak-Ribière

f ( x k )  f ( x k 1 )  f ( x k )
T

d k 1  f ( x k )   k d k avec  k  2
f ( x k 1 )

 formules équivalentes dans le cas d’une fonction f quadratique


393
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.5 Gradient conjugué
Techniques d’optimisation 2018

2.5.5 Gradient conjugué


Directions de Fletcher-Reeves
2
f ( x k )
d k 1  f ( x k )   k d k avec  k  2
 directions conjuguées pour
f ( x k 1 ) 1
f ( x )  x T Qx  c T x
2
Preuve : On note gk = f(xk) = Qxk + c

• Propriété préliminaire
Si les n directions d1,…,dn sont conjuguées, alors d i g k  0 , i  1, , k pour k=1 à n.
T

et g iT g k  0 , i  1, , k  1

A l’itération i, xi est obtenu par minimisation suivant di


d
min f ( xi 1  sd i )  f ( xi 1  sd i )  d iT f ( xi 1  sd i )  0  d iT g i  0 , i  1, , n
s ds
k  k  k
xk  xi   s j d j  g k  Qxk  c  Q xi   s j d j   c  f ( xi )   s j Qd j
j i 1  j i 1  j i 1
k d i g i  0
T

 d i g k  d i g i   s j d i Qd j  0 car  T
T T T

j i 1 d i Qd j  0 si i  j
 g iT g k  g iT g k   i d iT g k car d iT g k  0 , i  1, , k
 d iT1 g k  0 car i  k 394
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.5 Gradient conjugué
Techniques d’optimisation 2018

2.5.5 Gradient conjugué


Directions de Fletcher-Reeves
Preuve : on montre par récurrenceque dk+1 est conjuguée à d1,…,dk.
• Pour d1 et d2 : d 1   g 0
x1  x0
d 2 Qd 1  g 1   1 g 0  Q car d 2  g 1   1 d 1 
T T

s1  x1  x0  s1 d 1
T g  g0
 d 2T Qd 1  g 1   1 g 0  1 car g  Qx  c
s1
 d Qd 1   g 1
T
2  2
 1 g0  car g
T

2
T
1 g 0  g 1T d 1  0
2
(propriété préliminaire)
f ( x1 ) g1
 d Qd 1  0 car  1 
T
2 2
 2
(par définition de )
f ( x0 ) g0

• On suppose d1,…,dk conjuguées : d iT Qd j  0 , i  j , i , j  k


Il faut montrer que d iT Qd k 1  0 , i  1, , k
d iT Qd k 1  d iT Qg k   k d k   d iT Qg k car d iT Qd k  0 (par hypothèse de récurrence)
T
 x  xi  1 
 d iT Qd k 1  Qd i  g k   Q i  g k car xi  xi 1  si d i
T

T  s i 
 g i  g i 1 
 d iT Qd k 1    g k car g  Qx  c

 si 
395
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.5 Gradient conjugué
Techniques d’optimisation 2018

2.5.5 Gradient conjugué


Directions de Fletcher-Reeves
Preuve


1 T
On obtient : d iT Qd k 1 
si
 
g i g k  g iT1 g k  0 pour i  1, , k  1

car g iT g k  0 , i  1, , k  1 (propriété préliminaire)


Il faut encore montrer pour i=k : d k Qd k 1  0
T

d kT Qg k
d Qd k 1  0  d Q g k   k d k   0   k  T
T
k
T
k
d k Qd k
T
 x  x k 1 
 g k  g k  g k 1 T g k 
1 1
d kT Qg k   Q k
2
 g k
 sk  sk sk
 x  x k 1 
  d kT g k  g k 1    d kT g k 1 car d kT g k  0 (propriété préliminaire)
1 1
d kT Qd k  d kT  Q k  s
 sk  k sk

d k g k 1    g k 1   k 1 d k 1  g k 1 
1 T 1 1 2
 d kT Qd k  
T
g k 1 car d kT1 g k 1
sk sk sk
2
gk
On obtient bien :  k  2
 valeur de k telle que d kT Qd k 1  0
g k 1
396
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.5 Gradient conjugué
Techniques d’optimisation 2018

2.5.5 Exemple
Gradient conjugué
1 2  x  x2 
• Fonction quadratique f ( x 1 , x 2 )  x 1  x 1 x 2  x 2  f ( x 1 , x 2 )   1 
2

2  1
x  2 x 2
 10 
• Point initial x   
0

  5
  5 10  5s   2  s 
• Itération 1 : d  f ( x )     x  x  sd     5 
1 0 1 0 1

 0   5    1 
 5   0 
min f ( x 0  sd1 ) 
25
2  s   252  s   25  s1  1  x 1    , f ( x 1 )   
2

2   5   5
s
2
f ( x 1 ) 25
• Itération 2 : d 2  f ( x 1 )  1d1 avec 1  2
 1
f ( x 0 ) 25
  5  5  5s  1
d 2     x 2  x1  sd 2     5(1  s) 
 5    5  5s    1
 0  0
min f ( x1  sd 2 ) 
25
1  s   251  s   251  s   s 2  1  x 2    , f ( x 2 )   
2 2 2
s 2  0  0
 0  0
• Solution : x*  
 0 ,  f ( x*)   
   0
397
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
Techniques d’optimisation 2018

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éthodes sans gradient
2.6.1 Principes
2.6.2 Nelder-Mead
2.6.3 Direct

3. Optimisation avec contraintes


4. Optimisation discrète
5. Optimisation fonctionnelle

398
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.1 Principes
Techniques d’optimisation 2018

2.6.1 Principes
Problème sans contrainte
min f(x)
xR n

• Les méthodes sans gradient (ou d’ordre 0) n’utilisent que des évaluations de la fonction.
 méthodes applicables à toute fonction (non dérivable, bruit numérique)

• Capacité à localiser plusieurs minima locaux (et éventuellement le minimum global)

• Convergence généralement lente, peu précise


 méthodes utilisées pour initialiser un algorithme local plus précis

Principales méthodes
• Méthodes déterministes
Nelder-Mead → méthode locale (polytope convergeant vers un minimum local)
Direct → méthode globale (partition de l’espace de recherche)

• Méthodes stochastiques
Métaheuristiques → exploration avec un aspect aléatoire
application aux problèmes combinatoires (variables entières)
399
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.2 Nelder-Mead
Techniques d’optimisation 2018

2.6.2 Nelder-Mead

 Polytope

 Algorithme

 Améliorations
- Coefficients de déplacement
- Approximation du gradient

 Exemples

400
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.2 Nelder-Mead
Techniques d’optimisation 2018

2.6.2 Nelder-Mead
Problème sans contrainte
min f(x)
xR n

Principes
La méthode de Nelder-Mead (1965) 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  x 0 , x1 , , x n 1 , x n 


P est un polytope ou « simplexe » de Rn.

• Les points de P sont rangés du meilleur au plus mauvais : f ( x 0 )  f ( x1 )    f ( x n 1 )  f ( x n )

• A chaque itération, on cherche à remplacer le plus mauvais point par un point meilleur.

P  x 0 , x1 ,, x n 1 , x n   P'  x 0 , x1 ,, x n 1 , x new 
 P'  x '0 , x '1 ,, x 'n 1 , x 'n  après reclassement
• 
On obtient une suite de polytopes (Pk)kN : P k  x 0k , x1k , , x kn 1 , x kn 
• 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.
401
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.2 Nelder-Mead
Techniques d’optimisation 2018

2.6.2 Nelder-Mead
Polytope
P  x 0 , x1 ,, x n 1 , x n  x0
f ( x 0 )  f ( x1 )    f ( x n 1 )  f ( x n )
x* x2
Nouveau point
xc est le barycentre des n meilleurs points.
1 n 1
xc   xi
n i 0 x1
On cherche à ramener le plus mauvais point xn vers le barycentre xc.
On teste des points x sur la demi-droite [xn,xc) paramétrée par t > 0.
x(t)  x c  t(x c  x n )
x0
Points testés successivement :
• Réflexion : x(t=+1) = xr x* x2
• Expansion : x(t=+2) = xe xc
xci
• Contraction externe : x(t=+0.5) = xce
xce
• Contraction interne : x(t=0.5) = xci xr
xe
x1
x(t)
402
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.2 Nelder-Mead
Techniques d’optimisation 2018

2.6.2 Nelder-Mead
Nouveau point
Le polytope initial est P  x 0 , x1 , , x n 1 , x n  avec f ( x 0 )  f ( x1 )    f ( x n 1 )  f ( x n )

La demi-droite [xn,xc) est supposée être une direction de descente.


On teste d’abord xr (symétrique de xn / xc).

• Résultat très bon : f ( x r )  f ( x 0 )


 on essaie xe
x0
on remplace xn par xe ou xr.
x* x2
• Résultat bon : f ( x 0 )  f ( x r )  f ( x n 1 ) xc
xci
 on remplace xn par xr.
xce
xr
• Résultat moyen : f ( x n 1 )  f ( x r )  f ( x n ) xe
 on essaie xce x1
x(t)
on remplace xn par xce ou xr.

• Résultat mauvais : f ( x n )  f ( x r )
 on essaie xci
on remplace xn par xci , ou on contracte tout le polytope P vers x0
403
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.2 Nelder-Mead
Techniques d’optimisation 2018

2.6.2 Nelder-Mead
Itération k

P k  x 0k , x1k ,, x kn 1 , x kn  avec f ( x 0k )  f ( x1k )    f ( x kn 1 )  f ( x kn )
1 n 1 k
1. Barycentre : x c   x i  d  x c  x kn
n i 0
2. Réflexion : xr = xc + d  f(xr) d
3. Si f(xr) < f(x0)
Expansion : xe = xc + 2d  f(xe)
Si f(xe) < f(xr)  x’ = xe
Sinon  x’ = xr
2d
4. Si f(x0) < f(xr) < f(xn-1)  x’ = xr
5. Si f(xn-1) < f(xr) < f(xn)
Contraction externe : xce = xc + d/2  f(xce)
Si f(xce) < f(xr)  x’ = xce
d/2
Sinon  x’ = xr
6. Si f(xn) < f(xr)
Contraction interne : xci = xc  d/2  f(xci)
Si f(xci) < f(xn)  x’ = xci
Sinon réduction de P vers x0  x i 
k 1 1
2
x 0  x ik  d/2

7. Nouveau point x’  polytope P k 1  x 0k , x1k , , x kn 1 , x ' à reclasser


P k 1  x 0k 1 , x1k 1 ,, x kn 11 , x kn 1  avec f ( x 0k 1 )  f ( x1k 1 )    f ( x kn 11 )  f ( x kn 1 )
404
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.2 Nelder-Mead
Techniques d’optimisation 2018

2.6.2 Nelder-Mead
Initialisation
Polytope initial P 0  x 00 , x10 ,, x 0n 1 , x 0n  avec f ( x 00 )  f ( x10 )    f ( x 0n 1 )  f ( x 0n )
 points suffisamment distants, non alignés

Itération k

P k  x 0k , x1k ,, x kn 1 , x kn  avec f ( x 0k )  f ( x1k )    f ( x kn 1 )  f ( x kn )
• Nouveau point x’  reclassement des points x0, x1, … , xn-1, x’ par valeur de f croissante

• Nouveau polytope :

P k 1  x 0k 1 , x1k 1 ,, x kn 11 , x kn 1  avec f ( x 0k 1 )  f ( x1k 1 )    f ( x kn 11 )  f ( x kn 1 )
Arrêt
• Taille du polytope → diamètre
• Valeur de la fonction → non décroissante, constante sur le polytope
• Dégénérescence du polytope → alignement des points

• Améliorations possibles : - réglage adaptatif des coefficients


- correction de direction avec approximation du gradient
- réinitialisation (ou reconditionnement) du polytope
405
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.2 Nelder-Mead
Techniques d’optimisation 2018

2.6.2 Nelder-Mead
Réglage standard des coefficients
Les coefficients standards sont indépendants de la dimension n du problème.
• Réflexion : =1
• Expansion :  = 2
• Contraction :  = 0.5 → externe (+0.5) , interne (0.5)
• Réduction :  = 0.5
Ces coefficients conduisent fréquemment à une dégénérescence du polytope.

Réglage adaptatif des coefficients


Les coefficients adaptatifs prennent en compte la dimension n du problème.
• Réflexion : =1 → indépendant de n
2
• Expansion :   1 → évite une distorsion trop forte dans la direction de recherche
n
3 1
• Contraction :    → évite une réduction trop rapide du diamètre du polytope
4 2n
1
• Réduction :   1 → évite une réduction trop rapide du diamètre du polytope
n
Ces coefficients adaptatifs sont égaux aux coefficients standards pour n = 2
et donnent de meilleurs résultats pour n grand.
406
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.2 Nelder-Mead
Techniques d’optimisation 2018

2.6.2 Nelder-Mead
Approximation du gradient
Le polytope P donne la valeur de la fonction en n+1 points de Rn.
P  x 0 , x1 ,, x n 1 , x n  avec f ( x 0 )  f ( x1 )    f ( x n 1 )  f ( x n )

On construit une approximation du gradient de f en x0 à partir des n arêtes du polytope.

• Au premier ordre en x0 : f ( x i )  f ( x 0 )  f ( x 0 ) T ( x i  x 0 ) pour i = 1 à n

f i  f ( x i )  f ( x 0 )

 f i  x i  g avec x i  x i  x 0
T

g  f ( x )
 0

• Sous forme matricielle : F  X T g


x1 x i x n
 f1   (x1 )1  (x i )1  (x n )1 
   
       
avec F      vecteur n 1 , X        matrice n  n
   
       
 f   (x )  (x )  (x ) 
 n  1 n i n n n
407
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.2 Nelder-Mead
Techniques d’optimisation 2018

2.6.2 Nelder-Mead
Correction de direction
• Si le polytope P n’est pas dégénéré, les n arêtes (xi)i=1à n forment une base de Rn.
La matrice X = (x1 , … , xn) est inversible.
On obtient une approximation du gradient g de f en x0 : F  X T g  g  X  T F

• L’approximation du gradient g permet de corriger la direction de recherche d.


d = x c – xn → d’ = (1)d  g avec un coefficient  à adapter (0 ≤  ≤ 1)

x1 x1
xc x0 x0
g

d (1-)d
x* x*
d’

g g
x2 x2

direction d direction d’
408
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.2 Nelder-Mead
Techniques d’optimisation 2018

2.6.2 Nelder-Mead
Exemple 1 : fonction quadratique
1 9
f ( x 1 , x 2 )  x 12  x 22
2 2
2,5
Position du meilleur point au cours des itérations

2,0

1,5

1,0 1

4
0,5

6
8 5
2
0,0
-0,5 9 0,0 7 0,5 3 1,0 1,5 2,0 2,5

-0,5
409
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.2 Nelder-Mead
Techniques d’optimisation 2018

2.6.2 Nelder-Mead
Exemple 2 : fonction de Rosenbrock
 
f ( x1 , x 2 )  100 x 2  x12  1  x1 
2 2
1,25

1,00

0,75

0,50

0,25

0,00
-1,50 -1,00 -0,50 0,00 0,50 1,00 1,50

-0,25
410
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Direct

 Principe

 Fonction lipschitzienne

 Division d’intervalles

 Algorithme à une variable

 Algorithme à n variables

 Exemple

411
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Direct
Principe
min f(x) → problème sans contrainte
xR n

• On cherche un minimum global de la fonction f sur un domaine D de Rn.


La fonction est supposée lipschitzienne sur D  bornée inférieurement.

• La méthode Direct consiste à partitionner progressivement le domaine de recherche D.


Direct = « DIviding RECTangles » (1993)

- Le domaine D est partitionné en sous-domaines Dj.


- Sur chaque sous-domaine, un minorant de f est estimé sur une condition de type Lipschitz.
- Le sous-domaine de plus bas minorant est « potentiellement optimal ».
= sous-domaine ayant le plus de chance de contenir le minimum de f
- Ce sous-domaine « potentiellement optimal » est sélectionné pour être divisé à son tour.

• La méthode permet de localiser les zones potentielles où se trouve le minimum global.


On peut l’utiliser pour initialiser un algorithme local de descente.

• L’algorithme est développé dans le cas à une variable, puis étendue au cas à n variables.
412
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Direct
Fonction lipschitzienne
min f(x) → problème sans contrainte
xR n

• La fonction f est supposée lipschitzienne (ou continue au sens de Lipschitz) sur le domaine D.
K  0 , x, y  D , f ( y)  f ( x )  K y  x

K est la constante de Lipschitz de la fonction f sur D → non connue a priori

• Une fonction f lipschitzienne sur un hyperrectangle D de Rn est bornée.

x  D , f (c)  Kd  f ( x )  f (c)  Kd
f(c)
avec c = point quelconque de D
d = majorant de la dimension de D
→ x c  d

• f(c)  Kd est un minorant de f sur D.

c x
413
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Direct
Exemple

  1 
f ( x )  sin 4 x    6x 2  2 sur D  0 ;1
  2 

  1  8
f ' ( x )  4 cos 4 x    12x
  2  7

• La dérivée de f est bornée sur [0 ; 1] 6

5
f ' ( x )  4  12 sur D  0 ;1
4
f(c)
→ f est lipschitzienne sur [0 ; 1] 3

2
• Si on prend : K = 25  4 + 12
c = 0,5 → f(c) = 3,5 1
d
d = 0,5 c
0
0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0

→ f(x)  3,5  250,5 = 9

414
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Direct
Division d’intervalles
• On considère une fonction f d’une variable x définie sur un intervalle D.
La fonction est supposée lipschitzienne de constante K (non connue) sur D.

• L’intervalle D est divisé en 3 intervalles égaux D1, D2, D3.


L’intervalle Dj est de centre cj
D3
de demi-longueur dj
D2
D1
• Pour chaque intervalle Dj, on calcule
- la valeur de f au centre → fj = f(cj)
- un minorant de f sur Dj → fb,j = fj  Kdj

La valeur de la constante K est arbitraire.


(→ déterminée à partir des points connus)

• Le sous-intervalle « potentiellement optimal » est celui de plus bas minorant


= intervalle qui a le plus de chance de contenir le minimum de f → D1 sur le schéma
Cet intervalle est sélectionné pour être divisé à son tour en 3 intervalles égaux.
415
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Direct
Division d’intervalles

• Première itération : 3 intervalles.

Potentiellement optimal : numéro 1

• Deuxième itération : 5 intervalles.

Potentiellement optimal : numéro 4

• Troisième itération : 7 intervalles.

Potentiellement optimal : numéro 4

416
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Direct
Graphe associé
• On représente les intervalles Dj sur un graphe avec : en abscisse la demi-longueur dj de Dj
en ordonnée la valeur fj au centre de Dj
L’intervalle Dj est représenté par le point de coordonnées : (dj , fj)
La droite de pente K passant par ce point a pour équation : y  K ( x  d j )  f j

• Elle coupe l’axe des ordonnées au point de coordonnées : (0 , fb,j)


f b , j  f j  Kd j est un minorant de f sur l’intervalle Dj.

Minorant de f
sur chaque intervalle (dj,fj)

fb,j
« Meilleur » intervalle
(minorant le plus bas)
→ potentiellement optimal d
417
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Direct
Intervalle potentiellement optimal
• Un intervalle est potentiellement optimal s’il existe une constante K positive
telle que cet intervalle donne le minorant le plus bas.

Dj potentiellement optimal si K  0 , i , f b , j  f b ,i  f j  Kd j  f i  Kd i

• Si l’on fait passer une droite de pente K par chaque point représentatif d’un intervalle,
la droite associée à l’intervalle Dj a l’ordonnée à l’origine la plus petite.

f f

potentiellement optimal
pour K = K1
potentiellement optimal
pour K = K2

d d
418
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Direct
Intervalle potentiellement optimal
• L’intervalle Dj (dj , fj) est potentiellement optimal si K  0 , i , f j  Kd j  f i  Kd i
 K  0 , i , f j  f i  K (d j  d i )

La condition s’exprime différemment selon le signe de (di  dj).

• Pour les intervalles Di tels que di = dj f


f j  fi

• Pour les intervalles Di tels que di < dj


f j  fi f j  fi
K  K  K1  max
d j  di i / d i d j d j  di

• Pour les intervalles Di tels que di > dj


f j  fi f j  fi
K  K  K 2  min
d j  di i / d i d j d j  di d

419
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Direct
Intervalle potentiellement optimal
• On ajoute une condition de décroissance suffisante.
f j  Kd j  f i  Kd i , i
Dj potentiellement optimal si K  0 f  Kd  f   f avec f min  min f i
 j j min
min
i

fmin est le minimum parmi les évaluations disponibles fi.

• La première condition exprime que Dj (dj , fj) est un point de l’enveloppe convexe inférieure
dans le graphe (d , f). Cette condition est satisfaite si :

- Dj est le meilleur intervalle (fj ≤ fi) de longueur dj


f j  fi
- imax K i  K1  K 2  min K i avec K i  → existence de K compris entre K1 et K2.
/ d d
i j i / d d
i j d j  di
• La deuxième condition exprime que l’intervalle Dj ne doit pas être trop petit.
f min   f min  f j
f j  Kd j  f min   f min  dj  avec  10 3
K
→ évite que la recherche devienne trop locale.

420
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Direct
Algorithme à une variable
• Une itération consiste à : - sélectionner p intervalles parmi ceux potentiellement optimaux
- les diviser en 3 intervalles égaux.
Le nombre d’intervalles augmente de 2p à chaque itération (p=2 pour l’exemple).

• L’intervalle initial est de demi-longueur d0.


A l’itération k, la partition est composée d’intervalles de demi-longueur dj = d0/3j , 1 ≤ j ≤ k.
Il y a au plus k intervalles potentiellement optimaux (un par dimension d j).

Itération k Sélection de p intervalles


Intervalle initial D0
m intervalles de dimensions potentiellement optimaux
Demi-longueur d0
dj= d0/3j , j=1 à k (p entre 1 et k)

Arrêt sur Itération k+1 Division et évaluation


Nombre d’itérations m → m + 2p des p intervalles sélectionnés
Nombre d’évaluations

421
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Direct
Exemple à une variable
Minimum local global local local
  1 
f ( x )  sin 4 x    6x 2  2 sur D   1;1 x -0,57843 -0,11615 0,34804 0,80520
  2 
f(x) 3,17389 1,08712 1,78363 5,25072
8

0
-1,0 -0,9 -0,8 -0,7 -0,6 -0,5 -0,4 -0,3 -0,2 -0,1 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0

422
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Exemple
Itération 1 : 3 intervalles

x inf x sup x mid longueur fmid fb K 6


-1,000 -0,333 -0,667 0,667 3,801 3,801 0
-0,333 0,333 0,000 0,667 2,000 2,000
0,333 1,000 0,667 0,667 5,533 5,533
5

L’intervalle [1;1] est divisé en 3.


4
Les 3 intervalles ont même longueur.

Le meilleur intervalle est sélectionné 3


pour être divisé à l’itération suivante.

Passage de 3 à 5 intervalles
1

0
0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7
longueur 423
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Exemple
Itération 2 : 5 intervalles

x inf x sup x mid longueur fmid fb K 6


-1,000 -0,333 -0,667 0,667 3,801 1,031 4,155
0,333 1,000 0,667 0,667 5,533 2,763
-0,333 -0,111 -0,222 0,222 1,954 1,031
-0,111 0,111 0,000 0,222 2,000 1,077 5
0,111 0,333 0,222 0,222 2,638 1,715

Les intervalles sont rangés


4
par longueur décroissante.

En gris : nouveaux intervalles 3


issus de l’itération précédente

En jaune : meilleur intervalle 2

parmi ceux de même longueur

En vert : 2 intervalles sélectionnés 1

donnant le minorant le plus bas


→ potentiellement optimaux
0
0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7
longueur 424
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Exemple
Itération 3 : 9 intervalles

x inf x sup x mid longueur fmid fb K 6


0,333 1,000 0,667 0,667 5,533 0,234 7,949
-0,111 0,111 0,000 0,222 2,000 0,234 5,578
0,111 0,333 0,222 0,222 2,638 1,399
-1,000 -0,778 -0,889 0,222 7,726 6,486 5
-0,778 -0,556 -0,667 0,222 3,801 2,561
-0,556 -0,333 -0,444 0,222 3,828 2,589
-0,333 -0,259 -0,296 0,074 3,076 2,663
-0,259 -0,185 -0,222 0,074 1,954 1,541 4
-0,185 -0,111 -0,148 0,074 1,174 0,761

0
0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7
longueur 425
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Exemple
Itération 4 : 13 intervalles

x inf x sup x mid longueur fmid fb K 6


0,111 0,333 0,222 0,222 2,638 0,585
-1,000 -0,778 -0,889 0,222 7,726 5,672
-0,778 -0,556 -0,667 0,222 3,801 1,748
-0,556 -0,333 -0,444 0,222 3,828 1,775 5
0,333 0,556 0,444 0,222 2,542 0,489 9,239
0,556 0,778 0,667 0,222 5,533 3,480
0,778 1,000 0,889 0,222 5,756 3,703
-0,333 -0,259 -0,296 0,074 3,076 2,392 4
-0,259 -0,185 -0,222 0,074 1,954 1,270
-0,185 -0,111 -0,148 0,074 1,174 0,489
-0,111 -0,037 -0,074 0,074 1,231 0,546
-0,037 0,037 0,000 0,074 2,000 1,316
3
0,037 0,111 0,074 0,074 2,835 2,151

0
0,00 0,05 0,10 0,15 0,20 0,25
longueur 426
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Exemple
Itération 5 : 17 intervalles

x inf x sup x mid longueur fmid fb K 6


0,111 0,333 0,222 0,222 2,638 0,527 9,501
-1,000 -0,778 -0,889 0,222 7,726 5,614
-0,778 -0,556 -0,667 0,222 3,801 1,689
-0,556 -0,333 -0,444 0,222 3,828 1,717 5
0,556 0,778 0,667 0,222 5,533 3,421
0,778 1,000 0,889 0,222 5,756 3,645
-0,333 -0,259 -0,296 0,074 3,076 2,372
-0,259 -0,185 -0,222 0,074 1,954 1,251 4
-0,111 -0,037 -0,074 0,074 1,231 0,527 2,818
-0,037 0,037 0,000 0,074 2,000 1,791
0,037 0,111 0,074 0,074 2,835 2,626
0,333 0,407 0,370 0,074 1,825 1,616 3
0,407 0,481 0,444 0,074 2,542 2,334
0,481 0,556 0,519 0,074 3,844 3,635
-0,185 -0,160 -0,173 0,025 1,355 1,285
-0,160 -0,136 -0,148 0,025 1,174 1,104 2
-0,136 -0,111 -0,123 0,025 1,092 1,022

0
0,00 0,05 0,10 0,15 0,20 0,25
longueur 427
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Exemple
Itération 6 : 21 intervalles

x inf x sup x mid longueur fmid fb K 6


-1,000 -0,778 -0,889 0,222 7,726 4,762
-0,778 -0,556 -0,667 0,222 3,801 0,837 13,338
-0,556 -0,333 -0,444 0,222 3,828 0,864
0,556 0,778 0,667 0,222 5,533 2,569 5
0,778 1,000 0,889 0,222 5,756 2,792
-0,333 -0,259 -0,296 0,074 3,076 2,088
-0,259 -0,185 -0,222 0,074 1,954 0,966
-0,037 0,037 0,000 0,074 2,000 1,012 4
0,037 0,111 0,074 0,074 2,835 1,847
0,333 0,407 0,370 0,074 1,825 0,725 14,846
0,407 0,481 0,444 0,074 2,542 1,443
0,481 0,556 0,519 0,074 3,844 2,744
3
0,111 0,185 0,148 0,074 3,090 1,990
0,185 0,259 0,222 0,074 2,638 1,539
0,259 0,333 0,296 0,074 1,977 0,878
-0,185 -0,160 -0,173 0,025 1,355 0,988
-0,160 -0,136 -0,148 0,025 1,174 0,807 2
-0,136 -0,111 -0,123 0,025 1,092 0,725
-0,111 -0,086 -0,099 0,025 1,112 0,746
-0,086 -0,062 -0,074 0,025 1,231 0,864
-0,062 -0,037 -0,049 0,025 1,433 1,067 1

0
0,00 0,05 0,10 0,15 0,20 0,25
longueur 428
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Exemple
Itération 7 : 25 intervalles

x inf x sup x mid longueur fmid fb K 6


-1,000 -0,778 -0,889 0,222 7,726 4,956
-0,778 -0,556 -0,667 0,222 3,801 1,031 12,463
-0,556 -0,333 -0,444 0,222 3,828 1,058
0,556 0,778 0,667 0,222 5,533 2,763 5
0,778 1,000 0,889 0,222 5,756 2,986
-0,333 -0,259 -0,296 0,074 3,076 2,153
-0,259 -0,185 -0,222 0,074 1,954 0,691 17,049
-0,037 0,037 0,000 0,074 2,000 0,737 4
0,037 0,111 0,074 0,074 2,835 1,572
0,407 0,481 0,444 0,074 2,542 1,280
0,481 0,556 0,519 0,074 3,844 2,581
0,111 0,185 0,148 0,074 3,090 1,827 3
0,185 0,259 0,222 0,074 2,638 1,375
0,259 0,333 0,296 0,074 1,977 0,714
-0,185 -0,160 -0,173 0,025 1,355 0,934
-0,160 -0,136 -0,148 0,025 1,174 0,753 2
-0,111 -0,086 -0,099 0,025 1,112 0,691 1,530
-0,086 -0,062 -0,074 0,025 1,231 1,193
-0,062 -0,037 -0,049 0,025 1,433 1,395
0,333 0,358 0,346 0,025 1,784 1,746
1
0,358 0,383 0,370 0,025 1,825 1,787
0,383 0,407 0,395 0,025 1,968 1,930
-0,136 -0,128 -0,132 0,008 1,108 1,095
-0,128 -0,119 -0,123 0,008 1,092 1,079
0
-0,119 -0,111 -0,115 0,008 1,087 1,075 0,00 0,05 0,10 0,15 0,20 0,25
longueur 429
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Exemple
Exemple à une variable
On obtient après 25 évaluations une approximation du minimum global : x  0,115
f  1,087
Evolution du meilleur point à chaque itération → 2,00

1,50
8

1,00
7 -0,25-0,20-0,15-0,10-0,05 0,00 0,05

0
-1,0 -0,9 -0,8 -0,7 -0,6 -0,5 -0,4 -0,3 -0,2 -0,1 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0

430
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Direct
Algorithme à n variables
• On peut appliquer la méthode de partitionnement de façon similaire dans le cas à n variables.
Les intervalles sont remplacés par des hyperrectangles dans Rn.

• La méthode de division est définie dans le cas d’un hypercube,


puis adaptée au cas d’un hyperrectangle.

• La sélection d’un hyperrectangle potentiellement optimal est basée sur l’évaluation


d’un minorant dépendant de la dimension de l’hyperrectangle.

Itération k Sélection hyperrectangles


Hypercube initial D0
Hyperrectangles de potentiellement optimaux
Demi-dimension d0
dimensions dj= d0/3j (minorant fonction de dj)

Arrêt sur Evaluation des nouveaux Division des hyperrectangles


Nombre d’itérations hyperrectangles sélectionnés
Nombre d’évaluations

431
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Direct
Division d’un hypercube
• L’hypercube a pour centre c0 et pour côté .

• On évalue 2 points à distance /3 de c0
suivant chaque direction ei pour i=1 à n.
  1 c3
c
 i  c 0  ei  i  f (ci )
3 → 2n points
 1
ci  c 0  ei  i  f (ci )
  
c 2
 3
• On retient la valeur minimale i c1 c0 c1
suivant chaque direction ei. c 2
i  min(i , i ) , i  1 à n
c3
x3
• Les i sont rangés dans l’ordre croissant. x2
i1 ≤ i2 ≤ … ≤ in
x1
→ détermine les meilleures directions
et l’ordre de division des côtés de l’hypercube
432
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Direct
/3
Division d’un hypercube
• L’hypercube initial a pour centre c0 et pour côté .

• On divise l’hypercube en 3 suivant la meilleure direction (i1).


→ 3 hyperrectangles : centres ci1 , c0 et ci1+
avec 1 côté de longueur /3
et n1 côtés de longueur 

• On sélectionne l’hyperrectangle central (contenant c0)


et on le divise en 3 suivant la 2ème meilleure direction (i2).
→ 3 hyperrectangles : centres ci2 , c0 et ci2+
avec 2 côtés de longueur /3
et n2 côtés de longueur 

• On poursuit en divisant à chaque étape l’hyperrectangle central


suivant la direction suivante : i3, … , in.

• La dernière division donne un hypercube de centre c0

/3
et de côté /3.

433
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Direct
Division d’un hypercube /3
• Chaque division génère 2 hyperrectangles supplémentaires.
Les hyperrectangles ont des côtés de longueur /3 ou .

On obtient après les divisions suivant les n directions :

/3
- 2n hyperrectangles de centres ci , ci+ pour i=1 à n.
- 1 hypercube central de centre c0 et de côté /3

• Le meilleur point (ci1 ou ci1+) est au centre de l’un ou


des 2 hyperrectangles les plus grands (première division). Meilleur point
(valeur i1 minimale)

Division d’un hyperrectangle


• Les côtés d’un hyperrectangle sont soit de longueur /3 → p côtés
soit de longueur  → np côtés

• On applique la même procédure de division que pour un hypercube


mais en se restreignant aux p plus grands côtés de longueur .
La division génère 2p hyperrectangles supplémentaires avec des côtés de longueur /3 ou .

434
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Direct
Division des hyperrectangles

• Première itération

Hypercube initial Evaluations suivant e1,e2 Division suivant e2


Evaluation au centre = 9 Meilleure évaluation = 2 puis suivant e1
→ suivant e2 → 5 hyperrectangles

6 6

e2
9 5 9 8 5 9 8

2 2

e1 435
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Direct
Division des hyperrectangles

• Deuxième itération

1 hyperrectangle sélectionné Evaluations suivant e1 Division suivant e1


(potentiellement optimal) (plus grand côté) → 7 hyperrectangles

6 6 6

e2
5 9 8 5 9 8 5 9 8

2 3 2 6 3 2 6

e1 436
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Direct
Division des hyperrectangles

• Troisième itération

1 hyperrectangle sélectionné Evaluations suivant e1 Division suivant e1


et (plus grand côté)
1 hypercube sélectionné Evaluations suivant e1,e2 Division suivant e1
(potentiellement optimaux) Meilleure évaluation = 1 puis suivant e2
→ suivant e1 → 13 hyperrectangles

6 7 6 9 7 6 9

e2
5 9 8 5 9 8 5 9 8

3 3
3 2 6 3 5 2 1 6 3 5 2 1 6
4 4

e1 437
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Direct
Dimension des hyperrectangles
• On suppose que le domaine de recherche initial D0 est un hypercube de côté 0.
On peut toujours se ramener à cette situation par une mise à l’échelle sur les variables.
xi  ai
a i  x i  bi  0  x i '  0 avec x i '   0
bi  a i
• Les divisions génèrent des hyperrectangles Dj dont les côtés ont 2 longueurs différentes.
- p côtés sont de longueur i = 0/3k+1 , i = 1 à p
- np côtés sont de longueur i = 0/3k , i = p+1 à n

• La dimension d’un hyperrectangle Dj est mesurée par sa norme 2 ou sa norme .


n p n
- norme 2 : Dj
2
  ( )
i 1
i
2
  (
i 1
0 /3 k 1 2
)   (
i  p 1
0 / 3k ) 2  p( 0 / 3k 1 ) 2  (n  p)( 0 / 3k ) 2

p 8
 Dj   0 / 3k  ( n  p )   0 / 3k n  p
2 9 9

- norme  : D j  max i   0 / 3k → longueur du plus grand côté


 i 1à n

438
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation 2018

2.6.3 Direct
Hyperrectangle potentiellement optimal
• A l’itération k, le domaine de recherche D est partitionné en hyperrectangles Dj.
La procédure pour choisir l’hyperrectangle à diviser est identique au cas à une variable.

• Pour chaque hyperrectangle Dj, on calcule un minorant fb,j de f sur Dj.