0% ont trouvé ce document utile (0 vote)
7 vues1 535 pages

Techniques d'Optimisation Continue

Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues1 535 pages

Techniques d'Optimisation Continue

Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Techniques d’optimisation

Max CERF

Mai 2017

1
Max CERF
Techniques d’optimisation Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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.5 Problème quadratique
Techniques d’optimisation Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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 Mai 2017

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.


L’ hyperrectangle « potentiellement optimal » est celui de plus bas minorant
= hyperrectangle qui a le plus de chance de contenir le minimum de f

• Le minorant pour l’hyperrectangle Dj est calculé par : fb,j = fj  Kdj

- fj est la valeur au centre de l’hyperrectangle → fj = f(cj) valeur déjà calculée


1
- dj est la demi-dimension de l’hyperrectangle → dj  Dj norme 2 ou 
2

f j  Kd j  f i  Kd i , i
• Dj est potentiellement optimal si K  0 
f j  Kd j  f min   f min avec f min  min f i
i

On peut représenter l’ensemble des hyperrectangles sur le graphe associé (dj , fj).
La constante K est calculée de la même façon que dans le cas à une variable.
439
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017

2.6.3 Exemple
Exemple à deux variables
f ( x, y)  ( x  0.2) 2  2( y  0.1) 2  0.3 cos3( x  0.2) 0.4 cos4( y  0.1)  0.7
• Hypercube initial : 1 ≤ x ≤ 1
1 ≤ y ≤ 1

• Extrema locaux
0,570 0,883 1,190 0,470 1,190 0,883
0,367 1,346 1,654 0,933 1,654 1,346
0,100 0,413 0,720 0,000 0,720 0,413
-0,167 1,346 1,654 0,933 1,654 1,346
-0,370 0,883 1,190 0,470 1,190 0,883
y/x -0,419 -0,161 0,200 0,561 0,819

En vert : minimum
En orange : maximum
En blanc : point-selle

• Minimum global : x = 0,2


y = 0,1
f =0
440
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017

2.6.3 Exemple
Itération 1 : Division de l’hypercube initial

x y f
-0,667 0,000 1,440
0,667 0,000 0,907
0,000 -0,667 2,400
0,000 0,667 1,207
0,000 0,000 0,729

La fonction est évaluée :


2
- suivant x en : x  0 
3
2
- suivant y en : y  0 
3

La meilleure valeur est suivant x.


→ en orange

L’hypercube est divisé suivant x,


puis suivant y.
→ 5 hyperectangles.
441
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017

2.6.3 Exemple
Itération 1 : 5 hyperrectangles

x mid y mid dx dy d max fmid fb K


-0,667 0,000 0,333 1,000 1,000 1,440 1,174
0,667 0,000 0,333 1,000 1,000 0,907 0,640 0,267
0,000 -0,667 0,333 0,333 0,333 2,400 2,311
0,000 0,667 0,333 0,333 0,333 1,207 1,118
0,000 0,000 0,333 0,333 0,333 0,729 0,640

Les hyperrectangles sont rangés


par dimension décroissante.

Gris : nouveaux hyperrectangles


issus de l’itération précédente

Orange : meilleure direction


→ divisée en premier

Jaune : meilleur hyperrectangle


parmi ceux de même dimension

Vert : 2 hyperrectangles sélectionnés


donnant le minorant le plus bas
→ potentiellement optimaux
442
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017

2.6.3 Exemple
Itération 2 : 11 hyperrectangles

x mid y mid dx dy d max fmid fb K


-0,667 0,000 0,333 1,000 1,000 1,440 -0,265 1,705
0,000 -0,667 0,333 0,333 0,333 2,400 1,831
0,000 0,667 0,333 0,333 0,333 1,207 0,639
0,667 -0,667 0,333 0,333 0,333 2,577 2,009
0,667 0,667 0,333 0,333 0,333 1,385 0,817
0,667 0,000 0,333 0,333 0,333 0,907 0,338
-0,222 0,000 0,111 0,333 0,333 0,975 0,407
0,222 0,000 0,111 0,333 0,333 0,303 -0,265 -1,915
0,000 -0,222 0,111 0,111 0,111 1,287 1,499
0,000 0,222 0,111 0,111 0,111 0,849 1,061
0,000 0,000 0,111 0,111 0,111 0,729 0,942

L’hyperrectangle est divisé


suivant sa plus grande dimension.
→ 2 hyperrectangles suivant y

L’hypercube est divisé


suivant ses deux dimensions
en commençant par la meilleure direction
→ 2 hyperrectangles suivant x
puis 2 hyperrectangles suivant y
443
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017

2.6.3 Exemple
Itération 3 : 15 hyperrectangles

x mid y mid dx dy d max fmid fb K


0,000 -0,667 0,333 0,333 0,333 2,400 1,494
0,000 0,667 0,333 0,333 0,333 1,207 0,302
0,667 -0,667 0,333 0,333 0,333 2,577 1,672
0,667 0,667 0,333 0,333 0,333 1,385 0,480
0,667 0,000 0,333 0,333 0,333 0,907 0,002 2,715
-0,222 0,000 0,111 0,333 0,333 0,975 0,070
-0,667 -0,667 0,333 0,333 0,333 3,111 2,205
-0,667 0,667 0,333 0,333 0,333 1,918 1,013
-0,667 0,000 0,333 0,333 0,333 1,440 0,535
0,000 -0,222 0,111 0,111 0,111 1,287 0,985
0,000 0,222 0,111 0,111 0,111 0,849 0,547
0,222 -0,222 0,111 0,111 0,111 0,861 0,559
0,222 0,222 0,111 0,111 0,111 0,423 0,121
0,222 0,000 0,111 0,111 0,111 0,303 0,002
0,000 0,000 0,111 0,111 0,111 0,729 0,942

444
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017

2.6.3 Exemple
Itération 4 : 23 hyperrectangles

x mid y mid dx dy d max fmid fb K


0,000 -0,667 0,333 0,333 0,333 2,400 1,277
0,000 0,667 0,333 0,333 0,333 1,207 0,085
0,667 -0,667 0,333 0,333 0,333 2,577 1,455
0,667 0,667 0,333 0,333 0,333 1,385 0,263
-0,222 0,000 0,111 0,333 0,333 0,975 -0,147
-0,667 -0,667 0,333 0,333 0,333 3,111 1,989
-0,667 0,667 0,333 0,333 0,333 1,918 0,796
-0,667 0,000 0,333 0,333 0,333 1,440 0,318
0,444 0,000 0,111 0,333 0,333 0,857 -0,265
0,889 0,000 0,111 0,333 0,333 0,778 -0,345 3,366
0,667 -0,222 0,111 0,111 0,111 1,464 1,090
0,667 0,222 0,111 0,111 0,111 1,026 0,652
0,667 0,000 0,111 0,111 0,111 0,907 0,533
0,000 -0,222 0,111 0,111 0,111 1,287 0,913
0,000 0,222 0,111 0,111 0,111 0,849 0,475
0,222 -0,222 0,111 0,111 0,111 0,861 0,487
0,222 0,222 0,111 0,111 0,111 0,423 0,049
0,000 0,000 0,111 0,111 0,111 0,729 0,355
0,222 -0,074 0,111 0,037 0,111 0,699 0,325
0,222 0,074 0,111 0,037 0,111 0,029 -0,345 -3,699
0,148 0,000 0,037 0,037 0,037 0,334 0,471
0,296 0,000 0,037 0,037 0,037 0,421 0,558
0,222 0,000 0,037 0,037 0,037 0,303 0,440

445
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017

2.6.3 Exemple
Itération 5 : 27 hyperrectangles

x mid y mid dx dy d max fmid fb K


0,000 -0,667 0,333 0,333 0,333 2,400 1,749
0,000 0,667 0,333 0,333 0,333 1,207 0,556
0,667 -0,667 0,333 0,333 0,333 2,577 1,926
0,667 0,667 0,333 0,333 0,333 1,385 0,734
-0,222 0,000 0,111 0,333 0,333 0,975 0,325
-0,667 -0,667 0,333 0,333 0,333 3,111 2,460
-0,667 0,667 0,333 0,333 0,333 1,918 1,268
-0,667 0,000 0,333 0,333 0,333 1,440 0,789
0,444 0,000 0,111 0,333 0,333 0,857 0,206 1,953
0,667 -0,222 0,111 0,111 0,111 1,464 1,247
0,667 0,222 0,111 0,111 0,111 1,026 0,809
0,667 0,000 0,111 0,111 0,111 0,907 0,690
0,000 -0,222 0,111 0,111 0,111 1,287 1,070
0,000 0,222 0,111 0,111 0,111 0,849 0,632
0,222 -0,222 0,111 0,111 0,111 0,861 0,644
0,222 0,222 0,111 0,111 0,111 0,423 -0,167 5,313
0,000 0,000 0,111 0,111 0,111 0,729 0,512
0,222 -0,074 0,111 0,037 0,111 0,699 0,109
0,889 -0,222 0,111 0,111 0,111 1,335 0,745
0,889 0,222 0,111 0,111 0,111 0,897 0,307
0,889 0,000 0,111 0,111 0,111 0,778 0,187
0,148 0,000 0,037 0,037 0,037 0,334 0,471
0,296 0,000 0,037 0,037 0,037 0,421 0,558
0,148 0,074 0,037 0,037 0,037 0,060 -0,137
0,296 0,074 0,037 0,037 0,037 0,147 -0,050 K
0,222 0,074 0,037 0,037 0,037 0,029 -0,167
0,222 0,000 0,037 0,037 0,037 0,303 0,107
446
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017

2.6.3 Exemple
Itération 6 : 35 hyperrectangles
x mid y mid dx dy d max fmid fb
0,000 -0,667 0,333 0,333 0,333 2,400 1,238
0,000 0,667 0,333 0,333 0,333 1,207 0,046
0,667 -0,667 0,333 0,333 0,333 2,577 1,416
0,667 0,667 0,333 0,333 0,333 1,385 0,224
-0,222 0,000 0,111 0,333 0,333 0,975 -0,186
-0,667 -0,667 0,333 0,333 0,333 3,111 1,949
-0,667 0,667 0,333 0,333 0,333 1,918 0,757
-0,667 0,000 0,333 0,333 0,333 1,440 0,279
0,444 0,000 0,111 0,333 0,333 0,857 -0,304 3,484
0,667 -0,222 0,111 0,111 0,111 1,464 1,077
0,667 0,222 0,111 0,111 0,111 1,026 0,639
0,667 0,000 0,111 0,111 0,111 0,907 0,520
0,000 -0,222 0,111 0,111 0,111 1,287 0,900
0,000 0,222 0,111 0,111 0,111 0,849 0,462
0,222 -0,222 0,111 0,111 0,111 0,861 0,474
0,000 0,000 0,111 0,111 0,111 0,729 0,342
0,222 -0,074 0,111 0,037 0,111 0,699 0,312
0,889 -0,222 0,111 0,111 0,111 1,335 0,948
0,889 0,222 0,111 0,111 0,111 0,897 0,510
0,889 0,000 0,111 0,111 0,111 0,778 0,390
0,222 0,148 0,111 0,037 0,111 0,083 -0,304 1,021
0,222 0,296 0,111 0,037 0,111 0,796 0,409
0,148 0,222 0,037 0,037 0,037 0,454 0,416
0,296 0,222 0,037 0,037 0,037 0,540 0,503
0,222 0,222 0,037 0,037 0,037 0,423 0,385
0,148 0,000 0,037 0,037 0,037 0,334 0,137
0,296 0,000 0,037 0,037 0,037 0,421 0,224
0,148 0,074 0,037 0,037 0,037 0,060 0,197
0,296 0,074 0,037 0,037 0,037 0,147 0,284
0,222 0,000 0,037 0,037 0,037 0,303 0,107
0,222 0,049 0,037 0,012 0,037 0,090 0,053
0,222 0,099 0,037 0,012 0,037 0,007 -0,031 -0,623
0,198 0,074 0,012 0,012 0,012 0,022 0,030
0,247
0,222
0,074
0,074
0,012
0,012
0,012
0,012
0,012
0,012
0,053
0,029
0,061
0,037
447
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017

2.6.3 Direct
Exemple à deux variables
f ( x, y)  ( x  0.2) 2  2( y  0.1) 2  0.3 cos3( x  0.2) 0.4 cos4( y  0.1)  0.7
• On obtient après 35 évaluations une approximation du minimum global.

x  0,222 (au lieu de 0,2)


y = 0,099 (au lieu de 0,1)
f  0,007 (au lieu de 0,0)

• Evolution du meilleur point


au cours des itérations

Itération x y f
1 0,000 0,000 0,729
2 0,222 0,000 0,303
3 0,222 0,000 0,303
4 0,222 0,074 0,029
5 0,222 0,074 0,029
6 0,222 0,099 0,007

448
3 Optimisation avec contraintes Max CERF
Techniques d’optimisation Mai 2017

Sommaire
1. Bases théoriques

2. Optimisation sans contraintes

3. Optimisation avec contraintes


3.1 Simplexe
3.2 Point intérieur
3.3 Gradient projeté
3.4 Lagrangien augmenté
3.5 Programmation quadratique séquentielle
3.6 Convergence

4. Optimisation discrète

5. Optimisation fonctionnelle

449
3 Optimisation avec contraintes Max CERF
Techniques d’optimisation Mai 2017

3 Optimisation avec contraintes


Problème non linéaire sous contraintes
c (x)  0
min f(x) sous  E  Problème noté (PO)
xR n
c I (x)  0

Catégories de problèmes
• Programmation linéaire  Fonctions f, cE, cI linéaires
• Programmation non linéaire  Fonctions f, cE, cI quelconques

Traitement des contraintes


• Méthodes de contraintes actives  Identification des inégalités actives
Transformation en un problème avec contraintes égalité
Respect des contraintes à chaque itération

• Méthodes de point intérieur  Fonction barrière (pénalisation intérieure)


Suivi d’un chemin central intérieur aux contraintes

• Méthodes de pénalisation  Critère augmenté (pénalisation extérieure)


Transformation en un problème sans contraintes

450
3 Optimisation avec contraintes Max CERF
Techniques d’optimisation Mai 2017

3 Optimisation avec contraintes


Problème non linéaire sous contraintes
c E (x)  0
minn f(x) sous 
  Problème noté (PO)
xR c I (x)  0

Classification des méthodes

Méthode primale Méthode primale-duale Méthode duale


Problème traité problème primal problème primal problème dual

Objectif min f solution KKT max w


- méthode directe - méthode indirecte - méthode indirecte
- point stationnaire - point stationnaire - point col
Itérations admissibles admissibles ou non non admissibles

Variables primales x primales x , duales  primales x , duales 

Algorithmes - simplexe (LP) - point intérieur (LP, NLP) - simplexe dual (LP)
- gradient projeté - séquentiel quadratique - lagrangien augmenté
- pénalisation - Uzawa

451
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
Techniques d’optimisation Mai 2017

Sommaire
1. Bases théoriques
2. Optimisation sans contraintes

3. Optimisation avec contraintes


3.1 Simplexe
3.1.1 Problème linéaire
3.1.2 Déplacement
3.1.3 Initialisation
3.1.4 Simplexe révisé
3.1.5 Simplexe dual
3.1.6 Problème quadratique
3.2 Point intérieur
3.3 Gradient projeté
3.4 Lagrangien augmenté
3.5 Programmation quadratique séquentielle
3.6 Convergence

4. Optimisation discrète
5. Optimisation fonctionnelle
452
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation Mai 2017

3.1.1 Problème linéaire

 Forme standard

 Solution

 Recherche systématique

 Recherche optimisée

 Forme canonique

453
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation Mai 2017

3.1.1 Problème linéaire


Problème linéaire sous forme standard
Ax  b A  R m n , b  R m , c  R n
min c T x sous 
  problème noté (PL)
x x  0 rang(A)  m

Rappels
• Base B = (Aj1 , … , Ajm) = m colonnes indépendantes de A  B inversible
AE = (B N) avec E = matrice de permutation de colonnes (EET = I)
 xB  m  Ax  b  B -1b 
• Solution de base : x  E  avec   x  E 
xN  n  m x N  0  0 
admissible (ou réalisable) si x B  B 1b  0

• Direction de base dj , jN


d jB  B 1A j  pour vérifier Ax=b
 d jB  
d j  E  avec  T 0 
 d  E e  d   composantes nulles sauf =1 sur la composante j
jN
 j
 
 jN
T 1
• Coût réduit = dérivée directionnelle suivant la direction de base dj : c j  c d j  c j  c B B A j
T

Coût réduit négatif  direction de descente


454
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation Mai 2017

3.1.1 Solution
Problème linéaire sous forme standard
Ax  b A  R m n , b  R m , c  R n
min c T x sous 
x x  0 rang(A)  m
Solution

On note P le polytope associé aux contraintes : P  x  R n / Ax  b, x  0 
Si le problème (PL) admet une solution, alors il existe un sommet optimal x*.

Preuve : On suppose que PL admet une solution de coût f*



On considère un sommet x* du polytope Q inclus dans P : Q  x  P / c x  f *
T

On suppose par l’absurde que x* n’est pas un sommet de P.
x*   * y  ( 1  *)z avec y , z  P , y  z ,0  *  1
 (  )  c T y  ( 1   )c T z  ( *)  c T x*  f *
La fonction linéaire est minimale en * :
0   *  1
0    1 
La fonction  est donc constante (sinon elle décroît d’un côté de *)  c T y  c T z  f *
 y, z  Q
On a donc : x*   * y  ( 1  *)z avec y , z  Q , y  z ,0  *  1
en contradiction avec l’hypothèse que x est un sommet de Q.

455
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation Mai 2017

3.1.1 Solution
Recherche systématique
Si (PL) admet une solution x*, x* est un sommet du polytope P associé aux contraintes.
On peut donc trouver la solution : en parcourant tous les sommets de P (= bases)
en calculant les solutions de base associées
en conservant la meilleure solution de base réalisable

• Choix de m colonnes parmi les n colonnes de A  base B possible

• Vérification que la base est réalisable : B inversible et B-1b0


 1 
x  E B   E B b   0
x
 Solution de base admissible :
xN  0 
• Valeur du coût associé à la base B : f  c T x  c TB x B  c TN x N  c TB x B

• Sélection de la meilleure solution (f minimal)

Inconvénient
n!
C mn  combinaisons possibles  inapplicable en pratique
m!(n  m)!
456
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation Mai 2017

3.1.1 Exemple
Recherche systématique
x2
x 1  x 2  x 3  1
min  x 1  2x 2 sous x 1  x 2  x 4  1 1 C
x 1 , x 2 , x 3 , x 4  0
x1 , x 2 , x 3 , x 4

x1+x2=1
• Représentation graphique dans R2
 x x  x 2  1 x 1  0 
P'   1  /  1 ,  
 x 2   1
x  x 2  1  x 2  0 P
• Solution graphique : point C (f = 2) A B

• Solution par énumération des sommets 0 1 x1

Base x f
x1,x2 (1 0 0 0)  B 1
x1,x3 (1 0 0 0)  B 1
x1x2=1
x1,x4 (1 0 0 0)  B 1
x2,x3 (0 1 2 0)  D Non admissible
D
x2,x4 (0 1 0 2)  C 2
x3,x4 (0 0 1 1)  A 0
457
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation Mai 2017

3.1.1 Solution
Recherche optimisée
On évite l’énumération systématique en parcourant les sommets de façon ordonnée
 Méthode du simplexe = méthode de contraintes actives

Principes
• On se déplace d’une solution de base admissible à une autre solution de base admissible.
 Les solutions non admissibles ne sont pas examinées.

• Les bases successives ne diffèrent que par l’une des variables (bases adjacentes)

• Le déplacement d’un sommet à un autre est choisi à partir des directions de base
 Déplacement suivant les arêtes du polytope

• Les coûts réduits déterminent les directions de descente possibles.


 Sélection d’une direction de déplacement (plusieurs règles de sélection possibles)

• Le problème est mis sous forme canonique dans la base B


 Permet de vérifier l’optimalité de la base B
 Permet de construire le déplacement vers une base adjacente

458
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation Mai 2017

3.1.1 Forme canonique


Réduction dans la base B
Ax  b A  R m n , b  R m , c  R n
• Forme standard : min c T x sous 

x x  0 rang(A)  m

Ax  Bx B  Nx N
AE  B N , x  E B 
x m  T
• Base B :
c x  c B x B  c N x N
T T
xN  n  m
• Réduction aux variables hors base
Ax  b  min c T x  c T x sous Bx B  Nx N  b  x B  B b  B Nx N
1 1
T
min c x sous 
x  0 x B  0 , x N  0
B B N N
x x B R m
x N R n -m

T 1

T 1

 minnm c B B b  c N  c B B N x N sous 
T x B  B 1b  B 1 Nx N  0
x N R x N  0

• Forme canonique dans la base B


b  B 1b

min z  c NT x N sous x B  b  B 1 Nx N  0 avec z  c TB b
x N R n m
x N 0 c NT  c TN  c TB B 1 N

 Réduction à n-m variables = variables hors-base xN
459
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation Mai 2017

3.1.1 Forme canonique


Evaluation de la base B
La solution x* du problème linéaire correspond à un sommet = solution de base admissible
 Evaluer l’optimalité de la solution de base associée à la base B
 Construire le déplacement vers une nouvelle base B’ meilleure que B

• Forme canonique dans B : minnm z  c NT x N sous x B  b  B1 Nx N  0


x N R
x N 0

z  z
• Solution de base associée à B : x N  0   si B est admissible (ou réalisable)
x B  b  0

z
• Variation du coût : z( x N )  z  c NT x N  z   c j x j   cj
jN x j

Optimalité
• Coût réduit c j = dérivée directionnelle suivant la direction de base dj associée à xj, jN
• Si tous les coûts réduits sont positifs ou nuls, la solution est optimale.
• Sinon le coût décroît suivant une direction de base dj de coût réduit négatif
= direction de descente

460
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Déplacement

 Règles de déplacement

 Changement de base

 Formules de pivotage

 Méthode des tableaux

461
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Règles de déplacement


Notations
• Matrices : B, N = matrice de base et hors base AE = (B N)
• Par extension : B, N = numéros des variables de base xB et hors base xN
x  Ax  b
• Solution de base associée à B : E T x   B  avec   Bx B  b
xN  x N  0
Direction de déplacement
• Si tous les coûts réduits sont positifs ou nuls, la solution courante est optimale.
• Sinon on choisit un indice hors base eN de coût réduit strictement négatif : ce  0
 La direction de base associée de est une direction de descente.

• On se déplace à partir de x d’un pas 0 suivant la direction de base de  x’ = x + de


• Le nouveau point x’=x + de doit rester admissible :

Ad  0 car Ax  b  vérifié par définition de de


Ax'  b  A(x  d e )  b  x ed  0  vérifié car xN=0 et deN 0
x'  0  x  d  0  N
 
eN
e
x B  d eB  0  limite le déplacement

• Le déplacement est limité par le fait que les variables de base doivent rester positives.

462
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Règles de déplacement


Pas de déplacement
Le déplacement  suivant la direction de base de est limité par les contraintes xB0
x B  d eB  0  Borne i pour chacune des m variables de base xi, iB

• Si la composante d eBi est positive, le pas n’est pas borné :  i   


xi
• Si la composante d eBi est négative, le pas est borné par : i  (annulation de xi)
 d eBi
Déplacement maximal
On note s le numéro de la 1ère variable de base xi qui s’annule suivant la direction de.

 Le pas maximal admissible suivant la direction de est :  s  min  i


iB

• Si deB  0, le pas n’est pas borné suivant de


 Le problème PL n’a pas de solution (problème non borné).

• Sinon on réalise le pas maximal s suivant la direction de : x’ = x + sde


 Changement de base ou pivotage
 Echange des variables xs (variable de base sortant de la base courante)
et xe (variable hors base entrant dans la nouvelle base)
463
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Changement de base


Pivotage
La direction de base de associé à la variable hors base xe est définie par
d eB  B 1A e  pour vérifier Ax=b
d  
E T d e   eB  avec  T 0 
 d eN  E e  d   composantes nulles sauf =1 sur la composante e
 e
 eN 
• Le nouveau point x’ = x + sde est admissible car : - la direction de est admissible
- le pas s respecte les contraintes x’0

• Variables de base xi, iB : x i '  x i   s d eB i  0 si i  s  car s 


 0 si i  s  par construction du pas s

 0 si j  e  0 si j  e
• Variables hors base xj, jN : x j '  x j   s d eB  j  car d eB  j 
  s  0 si j  e  1 si j  e
Nouvelle base
x j '  0 pour j  N  e
• Nouvelles variables hors base : x '  0 pour i  s  N'  N  e  s
 s

x i '  0 pour i  B  s  B'  B  s  e


• Nouvelles variables de base : x '  0 pour j  e
 e 464
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Changement de base


Variation du coût
• Le nouveau coût est : c x'  c (x   s d e )  c x   s ce  z'  z   s ce  z
T T T

• Si la base n’est pas dégénérée (xB > 0), toutes les directions de base sont admissibles
 Déplacement non nul possible : s > 0
 Le coût décroît strictement : z’ < z car on a choisi eN tel que ce  0

Méthode pratique
• La nouvelle base ne diffère de la base courante que par une seule variable (= une colonne de A)
 Limitations des calculs correspondant à un pivotage
 Méthode des tableaux

• Les variables hors base sont constantes ou croissantes suivant les directions de base.
 Toutes les variables hors base sont candidates pour entrer dans la base.

• Plusieurs règles de choix sont possibles pour la variable entrant dans la base.
 Règles de pivotage

• L’algorithme nécessite une base initiale admissible.


 Etape préliminaire de détermination de la base initiale
465
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Changement de base


Règles de pivotage
• Choix de la variable entrante  différents choix possibles
• Détermination de la variable sortante  imposé

Variable entrante
• La variable hors base entrant dans la base doit avoir un coût réduit négatif.

• Choix de la variable de plus petit indice


 Règle de Bland (évite le cyclage pouvant se produire lorsque une base est dégénérée)

• Choix de la variable de coût réduit le plus négatif (plus forte descente)


 1ère règle de Dantzig

• Choix de la variable conduisant à la plus forte diminution de la fonction coût

• Choix aléatoire avec une probabilité proportionnelle au coût réduit

Variable sortante
• La variable de base sortant de la base est la 1ère à s’annuler suivant la direction de base choisie
 2ème règle de Dantzig
466
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Changement de base


Illustration

x2 Sommet initial
Min f=x2

1er déplacement
2 pivotages

12 pivotages

Solution  Dégénérescence
x1
467
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Formules de pivotage


Forme canonique
On écrit le problème sous forme canonique dans la base B.

• Formulation matricielle
b  B 1b

minnm z  c NT x N sous x B  b  B1 Nx N  0 avec z  c TB b
x N R
x N 0 c NT  c TN  c TB B 1 N

• Formulation explicite en fonction des variables hors base xj , jN

b  B -1b
B -1 N  (a )
 ij i B, jN

min z   c j x j sous x i  bi   a ij x j  0 , i  B
noté
avec z   c i bi
x N 0
jN jN  iB
c j  c j   c i a ij , j  N
 iB

468
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Formules de pivotage


Changement de base
• Le pivotage consiste à remplacer la variable hors base xe (entrante) : B'  B  s  e
par la variable de base xs (sortante) : N'  N  e  s

• Forme canonique dans la base B : z  z   c jx j x i  bi   a ij x j , i  B


jN jN

 Expression en fonction des variables xj, jN

• Forme canonique dans la base B’ : z  z '  c j ' x j x i  bi '  a ij ' x j , i  B'


jN' jN '

 Expression en fonction des variables xj, jN’=Ne+s

Pour passer de la forme canonique dans la base B à la forme canonique dans la base B’, il faut :
• exprimer xe en fonction de xs,
• remplacer xe dans les expressions du coût z et des variables de base xi, iB’=Bs+e
On obtient les formules de pivotage.

469
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Formules de pivotage


Expression de xe en fonction de xs

• xs est dans l’ancienne base B : i=sB  x s  bs   a sj x j


jN

bs 1 a sj
x s  bs   a sj x j  bs  a se x e   a sj x j  xe   xs   xj
jN jN e a se a se a
jN e se

• xe est dans la nouvelle base B’ : i=eB’  x e  b e '  a ej ' x j


jN '

 b
be '  s
 a se
 1
En identifiant les coefficients : a es '   js
 a se
 a sj
a '
 ej a   j  N  e
 se

On exprime ensuite les autres variables de base xi , iB-s en remplaçant xe.

470
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Formules de pivotage


Expression des autres variables de base

• xi est dans l’ancienne base B : iB-s  x i  bi   a ij x j


jN

 1 1 a sj 
x i  bi  a ie x e   a ij x j  bi  a ie 
 bs  xs   x j    a ij x j
jN e  a se a se jN e a se  jN e
a ie a  a 
 x i  bi  bs  ie bs x s    a ij  ie a sj  x j
a se a se jN e  a se 

• xi reste dans la nouvelle base B’ : iB’  x i  bi '  a ij ' x j


jN '

 a ie
 i
b '  b i  bs
 a se
 a
a is '    js
ie
En identifiant les coefficients :
 a se
a '  a  a ie a  j  N  e
 ij ij sj
 a se
471
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Formules de pivotage


Expression du coût

• Dans l’ancienne base B : z  z   c jx j


jN
 1 1 a sj 
z  z  ce x e   c j x j  z  ce  bs  xs   x j    c j x j
jN e  a se a se jN e a se  jN e
bs ce  a sj 
 z  z  ce  x s    c j  ce x j
a se a se jN e  a se 

• Dans la nouvelle base B’ : z  z '  c j ' x j


jN'

 bs
z '  z  ce
 a se
 ce
En identifiant les coefficients :  cs '    js
 a se
 a sj
c
 j '  c j  c e  j  N  e
 a se

472
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Formules de pivotage


Récapitulatif
• Nouvelles variables de base : iB’=Bs+e
 b  a ie
be '  s bi '  bi  bs
 a se  a se
 
i  B  s  a is '   ie
1 a
i  e  a es '   js  js
 a se  a se
 a sj a '  a  a ie a  j  N  e
a '
 ej a   j  N  e  ij ij sj
 se  a se

• Nouveau coût  bs
 z '  z  c e
 a se
 ce
 cs '    js
 a se
 a sj
c
 j '  c j  c e  j  N  e
 a se

On dispose dans un tableau les éléments nécessaires au pivotage  tableau du simplexe.

473
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Méthode des tableaux


Tableau du simplexe
• On écrit le problème sous forme canonique dans la base B.
b  B 1b

min z  z  c NT x N sous x B  b  B 1 Nx N  0 avec z  c TB b
x N 0
c NT  c TN  c TB B 1 N

x B  b

• La solution de base associée à B est : x N  0
z  z
x1 x xn
j
B 1A b B 1A1  B 1A j  B 1A n xB
• Le tableau du simplexe est : T  
cT z c1  cj  cn  c TB x B
Aj = jème colonne de A
AE = (B N) avec E = matrice de permutation de colonnes  B1A = (I B1N) ET
xB xN
I B 1 N b  x B  B 1 Nx N  b
• En permutant les colonnes : T 
0 c NT  z  c NT x N  z  z

474
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Méthode des tableaux


Description du tableau
Le tableau du simplexe est noté T(i,j) : i=1 à m+1 , j=1 à n+1

• T(1:m,1:n) : Matrice B1A  mn

 
B 1A  I B 1 N E T en plaçant les variables de base en premier

• T(m+1,1:n) : Coûts réduits  1n x1  xj  xn


   b1
T 1 c BT  0
c  c  cBB A   T
T
T 1 B 1A1  B 1A j  B 1A n 
c N  c N  c B B N
T
   bm
c1  cj  cn z
• T(1:m,n+1) : Solution de base  m1

 x  b
x   B    
xN  0
xB xN
• T(m+1,n+1) : Opposé du coût  11 I B1 N b  x B  B1 Nx N  b
T
 z   z   c BT b 0 c NT  z  c NT x N  z  z
475
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Méthode des tableaux


Utilisation du tableau
Le tableau du simplexe permet de :
• Repérer les variables de base  colonnes = matrice identité, coûts réduits nuls
• Vérifier si la base est admissible  valeurs positives ou nulles des variables de base
• Vérifier si la base est optimale  valeurs strictement positives des coûts réduits
• Sélectionner un pivotage pour passer à une base adjacente meilleure
• Mettre à jour la forme canonique dans la nouvelle base

Méthode de pivotage
• On choisit une variable hors base de coût réduit négatif  colonne e
• On examine la variation des variables de base suivant la direction de
bi
x i  bi  a ie x e , i  B s’annule pour : xe 
a ie
• La première variable de base à s’annuler sort de la base  ligne s

• Le pivotage e-s consiste à faire apparaître une colonne de la matrice identité en colonne e.
 forme canonique dans la nouvelle base
 par combinaison linéaire des lignes du tableau

476
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Méthode des tableaux


Réalisation du pivotage
La variable xe entre dans la nouvelle base B’=Bs+e

Pour faire apparaître une colonne de la matrice identité en colonne e,


on réalise des combinaisons linéaires des lignes du tableau, y compris la dernière colonne.

• Division de la ligne s par le pivot a se  a se '  1


• Addition de la ligne s aux autres lignes pour annuler les coefficients dans la colonne e
• Annulation du coût réduit dans la colonne e

x1  x e  x n x1  x e  x n
  a 1e   b1   0   b1 '
       
  a se   bs   1   bs '
       
  a me   b m   0   bm '
c1  ce  c n  z c1 '  0  c n '  z'

477
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Méthode des tableaux


Algorithme de pivotage

1. Choix du pivot
• Variable hors base entrante xe = 1er coût réduit négatif T(i, n  1)
• Pas maximal admissible pour chaque variable de base :  i  , i  B, si T(i, e)  0
T(i, e)
• Variable de base sortante xs :  s  min  i
iB
T (i,e) 0

2. Réalisation du pivotage
• Pivot = T(s,e)
T(i, e)
• Lignes i=1,…,m+1, is T(i, k )  T(i, k )  T(s, k ) , k  1,, n  1
T(s, e)
T(s, k )
• Ligne s du pivot T(s, k )  , k  1,, n  1
T(s, e)

 méthode similaire à la méthode du pivot de Gauss

478
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Exemple
Méthode des tableaux
• Problème linéaire à 3 variables x1, x2, x3

 x 1  2x 2  2x 3  20
2x  x 2  2x 3  20
min  10x 1  12x 2  12x 3 sous  1
2x  2x 2  x 3  20
 1
x1 , x 2 , x 3

x 1 , x 2 , x 3  0

• Forme standard

 Variables d’écart x4, x5, x6 positives

 x 1  2x 2  2x 3  x 4  20
2x  x 2  2x 3  x 5  20
min  10x 1  12x 2  12x 3 sous  1
2x  2x 2  x 3  x 6  20
 1
x1 , x 2 , x 3 , x 4 , x 5 , x 6

x 1 , x 2 , x 3 , x 4 , x 5 , x 6  0

479
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Exemple
Méthode des tableaux
• Tableau du simplexe

x1 x2 x3 x4 x5 x6
1 2 2 1 0 0 20 x4 Base initiale admissible
(x4 , x5 , x6)
2 1 2 0 1 0 20 x5
2 2 1 0 0 1 20 x6
-10 -12 -12 0 0 0 0 -z

• Solution de base non optimale : coûts réduits négatifs (= directions de descente)

• Variable entrante : 1er coût réduit négatif  x1

• Variable sortante : 1ère variable de base à s’annuler  x5

• Pivot : a 51  2

480
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Exemple
Méthode des tableaux
• 1er pivotage : entrée x1, sortie x5

x1 x2 x3 x4 x5 x6 Pas
1 2 2 1 0 0 20 x4  s14=20
2 1 2 0 1 0 20 x5  s15=10
2 2 1 0 0 1 20 x6  s16=10
-10 -12 -12 0 0 0 0 z

x1 x2 x3 x4 x5 x6
0 1.5 1 1 -0.5 0 10 x4 Nouvelle base
1 0.5 1 0 0.5 0 10 x1 (x1 , x4 , x6)

0 1 -1 0 -1 1 0 x6
0 -7 -2 0 5 0 100 z

481
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Exemple
Méthode des tableaux
• 2ème pivotage : entrée x2, sortie x6

x1 x2 x3 x4 x5 x6 Pas
0 1.5 1 1 -0.5 0 10 x4  s24=20/3
1 0.5 1 0 0.5 0 10 x1  s21=20
0 1 -1 0 -1 1 0 x6  s26=0
0 -7 -2 0 5 0 100 z

x1 x2 x3 x4 x5 x6
0 0 2.5 1 1 -1.5 10 x4 Nouvelle base
1 0 1.5 0 1 -0.5 10 x1 (x1 , x2 , x4)
0 1 -1 0 -1 1 0 x2
0 0 -9 0 -2 7 100 z

482
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Exemple
Méthode des tableaux
• 3ème pivotage : entrée x3, sortie x4
x1 x2 x3 x4 x5 x6 Pas
0 0 2.5 1 1 -1.5 10 x4  s34=4
1 0 1.5 0 1 -0.5 10 x1  s31=20/3
0 1 -1 0 -1 1 0 x2  s32=+
0 0 -9 0 -2 7 100 z

x1 x2 x3 x4 x5 x6
0 0 1 0.4 0.4 -0.6 4 x3 Nouvelle base
1 0 0 -0.6 0.4 0.4 4 x1 (x1 , x2 , x3)
0 1 0 0.4 -0.6 0.4 4 x2
0 0 0 3.6 1.6 1.6 136 z

x*  4 4 4 0 0 0T
• Solution optimale : c0 
z*  136
483
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017

3.1.2 Exemple
Méthode des tableaux
Récapitulatif des itérations
k B c x1 x2 x3 x4 x5 x6 dB smax e s z
0 4 5 6 -10 -12 -12 0 0 0 20 20 20 -1 -2 -2 10 1 5 0
1 1 4 6 -7 -2 5 10 0 0 10 0 0 -1.5 -0.5 -1 0 2 6 -100
2 1 2 4 -9 -2 7 10 0 0 10 0 0 -2.5 -1.5 1 4 3 4 -100
3 1 2 3 3.6 31.6 1.6 4 4 4 0 0 0 -136

Commentaires
• La mise sous forme standard nécessite d’introduire des variables supplémentaires.
 Variables d’écart positives
• On dispose directement d’une base initiale admissible formée des variables d’écart.
 Ce n’est pas toujours le cas.
 Phase préliminaire pour construire une base initiale
• Certains pivotages ne réduisent pas le coût (exemple : pivotage numéro 2).
 Base dégénérée + risque de cyclage ( = retrouver une base précédente)
• La solution optimale ne comporte que les variables initiales.
 Ce n’est pas toujours le cas.
 Des pivotages supplémentaires peuvent être nécessaires.
484
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017

3.1.3 Initialisation

 Problème auxiliaire

 Tableau initial

 Méthode des 2 phases

485
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017

3.1.3 Problème auxiliaire


Base initiale
Ax  b
Le problème (PL) sous forme standard est : min c T x sous 
xR n
x  0
L’algorithme du simplexe nécessite une base initiale admissible.
Pour trouver une solution admissible, on considère un problème auxiliaire.

Problème auxiliaire

Le problème auxiliaire (PLa) sous forme standard est : minn 0 T x  e T y sous Ax  y  b
xR x , y  0
yRm

• Les variables du problème auxiliaire sont :


- les n variables x du problème initial (PL)
- m variables auxiliaires y  1 variable par contrainte

• La fonction coût du problème auxiliaire est positive, bornée inférieurement par 0 (car y0).

• Si x0 est un point admissible de (PL), alors (x=x0, y=0) est une solution de (PLa) à coût nul
donc une solution optimale de (PLa)
On peut donc trouver un point admissible en résolvant le problème auxiliaire (PLa).
486
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017

3.1.3 Problème auxiliaire


Problème auxiliaire
Ax  y  b
Le problème auxiliaire (PLa) est sous forme standard : min 0 T x  e T y sous 
xR n
x , y  0
yR m

• On peut supposer b0 (au besoin en multipliant les contraintes égalité par -1).

Tableau initial du problème auxiliaire


• Le problème (PLa) est sous forme canonique dans la base B associée aux variables y :
- variables de base y  matrice B=I , coûts réduits=1
- variables hors base x  matrice N=A, coûts réduits=0

• La solution de base associée à la base B (x=0, y=b) est admissible : y=b0

• On peut appliquer l’algorithme du simplexe au problème (PLa) à partir de la base B.


x y

• Tableau initial du simplexe pour le problème (PLa) : A I b y


0T eT 0 -z

487
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017

3.1.3 Problème auxiliaire


Solution du problème auxiliaire
S’il existe un point admissible pour (PL), alors :
• le coût optimal du problème auxiliaire (PLa) est nul,
• la solution (x0,y0) de (Pla) donne un point x0 admissible du problème (PL)
0 T x 0  e T y 0  0  y 0  0

Ax 0  y 0  b  Ax 0  b  contraintes du problème (PL)
x 0 , y 0  0 x 0  0
Par contraposée, si le coût optimal de (PLa) n’est pas nul, (PL) n’a pas de point admissible.

Variables auxiliaires
• Les variables y sont nulles à l’optimum. Elles sont : - soit hors base
- soit en base (solution dégénérée)

• Pour obtenir une base admissible du problème (PL) qui ne contienne que des variables x,
il faut échanger les variables y en base par des pivotages avec des variables x.
Ces pivotages sont de pas nul, le tableau n’est pas modifié.

• On obtient une base B ne contenant que des variables x du problème (PL).

488
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017

3.1.3 Exemple
Problème auxiliaire
• Problème linéaire à 4 variables x1, x2, x3 ,x4

 x 1  2x 2  3x 3 3
 x 1  2 x 2  6 x 3 2

min x 1  x 2  x 3 sous  4x 2  9x 3 5
 3x 3  x 4  1
x1 , x 2 , x 3 , x 4

x 1 , x 2 , x 3 , x 4  0

• Problème auxiliaire

 Variables auxiliaires y1, y2, y3 ,y4 positives


 x 1  2x 2  3x 3  y1 3
 x 1  2 x 2  6 x 3  y2 2

min y1  y 2  y 3  y 4 sous  4x 2  9x 3  y3 5
 3x 3  x 4  y4  1
x1 , x 2 , x 3 , x 4
y1 , y 2 , y 3 , y 4
x 1 , x 2 , x 3 , x 4 , y1 , y 2 , y 3 , y 4  0

489
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017

3.1.3 Exemple
Problème auxiliaire
• Tableau initial du simplexe pour le problème auxiliaire
x1 x2 x3 x4 y1 y2 y3 y4
1 2 3 0 1 0 0 0 3 y1
-1 2 6 0 0 1 0 0 2 y2
0 4 9 0 0 0 1 0 5 y3
0 0 3 1 0 0 0 1 1 y4
0 -8 -21 -1 0 0 0 0 -11 -z

• Solution de base non optimale : coûts réduits négatifs (= directions de descente)

• Variable entrante
1er coût réduit négatif  x2

• Variable sortante
1ère variable de base à s’annuler  y2

490
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017

3.1.3 Exemple
Problème auxiliaire
• Itérations du simplexe pour le problème auxiliaire
x1 x2 x3 x4 y1 y2 y3 y4
1 2 3 0 1 0 0 0 3 y1
-1 2 6 0 0 1 0 0 2 y2
0 4 9 0 0 0 1 0 5 y3
0 0 3 1 0 0 0 1 1 y4
0 -8 -21 -1 0 0 0 0 -11 -z

x1 x2 x3 x4 y1 y2 y3 y4
2 0 -3 0 1 -1 0 0 1 y1
-1/2 1 3 0 0 1/2 0 0 1 x2
2 0 -3 0 0 -2 1 0 1 y3
0 0 3 1 0 0 0 1 1 y4
-4 0 3 -1 0 4 0 0 -3 -z

491
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017

3.1.3 Exemple
Problème auxiliaire
• Itérations du simplexe pour le problème auxiliaire
x1 x2 x3 x4 y1 y2 y3 y4
2 0 -3 0 1 -1 0 0 1 y1
-1/2 1 3 0 0 1/2 0 0 1 x2
2 0 -3 0 0 -2 1 0 1 y3
0 0 3 1 0 0 0 1 1 y4
-4 0 3 -1 0 4 0 0 -3 -z

x1 x2 x3 x4 y1 y2 y3 y4
1 0 -3/2 0 1/2 -1/2 0 0 1/2 x1
0 1 9/4 0 1/4 1/4 0 0 5/4 x2
0 0 0 0 -1 -1 1 0 0 y3
0 0 3 1 0 0 0 1 1 y4
0 0 -3 -1 2 2 0 0 -1 -z

492
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017

3.1.3 Exemple
Problème auxiliaire
• Itérations du simplexe pour le problème auxiliaire
x1 x2 x3 x4 y1 y2 y3 y4
1 0 -3/2 0 1/2 -1/2 0 0 1/2 x1
0 1 9/4 0 1/4 1/4 0 0 5/4 x2
0 0 0 0 -1 -1 1 0 0 y3
0 0 3 1 0 0 0 1 1 y4
0 0 -3 -1 2 2 0 0 -1 -z

x1 x2 x3 x4 y1 y2 y3 y4
1 0 0 1/2 1/2 -1/2 0 1/2 1 x1
0 1 0 -3/4 1/4 1/4 0 -3/4 1/2 x2
0 0 0 0 -1 -1 1 0 0 y3
0 0 1 1/3 0 0 0 1/3 1/3 x3
0 0 0 0 2 2 0 1 0 -z

493
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017

3.1.3 Exemple
Problème auxiliaire
• Echange des variables auxiliaires y en base avec des variables x
x1 x2 x3 x4 y1 y2 y3 y4
1 0 0 1/2 1/2 -1/2 0 1/2 1 x1
0 1 0 -3/4 1/4 1/4 0 -3/4 1/2 x2
0 0 0 0 -1 -1 1 0 0 y3
0 0 1 1/3 0 0 0 1/3 1/3 x3
0 0 0 0 2 2 0 1 0 -z

• Tous les pivots sont nuls sur la ligne 3.


 La contrainte 3 est redondante (= somme des 2 premières contraintes)
 La matrice A n’est pas de rang plein

• La procédure permet d’identifier les contraintes redondantes.


 Suppression de la contrainte 3
 Suppression de la variable auxiliaire y3

494
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017

3.1.3 Exemple
Problème auxiliaire
• Tableau solution du problème auxiliaire
x1 x2 x3 x4 y1 y2 y3 y4
1 0 0 1/2 1/2 -1/2 0 1/2 1 x1
0 1 0 -3/4 1/4 1/4 0 -3/4 1/2 x2
0 0 0 0 -1 -1 1 0 0 y3
0 0 1 1/3 0 0 0 1/3 1/3 x3
0 0 0 0 2 2 0 1 0 -z

• Base x1, x2, x3


x1 x2 x3 x4 y1 y2 y4
1 0 0 1/2 1/2 -1/2 1/2 1 x1
0 1 0 -3/4 1/4 1/4 -3/4 1/2 x2
0 0 1 1/3 0 0 1/3 1/3 x3
0 0 0 0 2 2 1 0 -z

 coût nul
 point admissible du problème initial
495
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017

3.1.3 Tableau initial


Tableau solution du problème (PLa)
• La base B solution de (PLa) est composée uniquement de variables x du problème initial (PL).
xB xN y

• Le tableau correspondant à la solution de (PLa) est : I B-1N  B-1b xB

  valeurs à modifier pour passer au problème (PL) 0    -z

xB xN
Tableau initial du problème (PL)
I B-1N B-1b xB
Pour construire le tableau du simplexe du problème (PL)
• On supprime les colonnes correspondant aux variables y : 0   -z

c j  c TB B 1A j si j  N
1
• On calcule les coûts réduits dans la base B : c  c  c B A  
T
B
0 si j  B
On calcule le coût dans la base B : z  c TB B 1b

Pour faciliter les calculs, on rappelle les coûts sur la 1ère ligne.
cB cN xB xN
I B-1N B-1b xB I B-1N B-1b xB
0 cNcBTB-1N cBTB-1b -z 0 cN -z -z

496
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017

3.1.3 Méthode des 2 phases


Prétraitement
• Mettre le problème sous forme standard Ax  b, b  0
• Prémultiplier les contraintes (2nd membre positif) min c T x sous 
xR n
x  0
Phase 1 : Problème auxiliaire
Ax  y  b
• Introduire une variable auxiliaire y par contrainte minn 0 T x  e T y sous 
xR x , y  0
yR m

x y
• Construire le tableau initial du problème auxiliaire A I b y
-eTA 0 -eTb -z
• Résoudre le problème auxiliaire
• Faire sortir les variables auxiliaires de la base
• Supprimer les contraintes redondantes (pivots tous nuls sur une ligne)
• Supprimer les colonnes correspondant aux variables auxiliaires y
 Base ne contenant que des variables x
xB xN
Phase 2 : Problème initial
• Calculer la dernière ligne du tableau (coûts réduits, coût) I B-1N B-1b y
• Résoudre le problème initial 0 cNcBTB-1N cBTB-1b -z

497
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017

3.1.3 Exemple
Méthode des 2 phases
• Problème linéaire à 5 variables x1, x2, x3 ,x4 ,x5

 x 1  3x 2  4x 4  x 5  2
 x  2x 2  3x 4  x 5  2
min 2x 1  3x 2  3x 3  x 4  2x 5 sous  1
 x  4x 2  3x 3 1
 1
x1 , x 2 , x 3 , x 4 , x 5

x 1 , x 2 , x 3 , x 4 , x 5  0

• Problème auxiliaire

 Variables auxiliaires y1, y2, y3 positives

 x 1  3x 2  4 x 4  x 5  y1 2
 x  2x 2  3x 4  x 5  y2 2
min y1  y 2  y 3 sous  1
 x  4x 2  3x 3  y3  1
 1
x1 , x 2 , x 3 , x 4 , x 5

 x 1 , x 2 , x 3 , x 4 , x 5 , y1 , y 2 , y 3  0
y1 , y 2 , y 3

498
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017

3.1.3 Exemple
Méthode des 2 phases
• Tableau initial du problème auxiliaire
x1 x2 x3 x4 x5 y1 y2 y3
1 3 0 4 1 1 0 0 2 y1
1 2 0 -3 1 0 1 0 2 y2
-1 -4 3 0 0 0 0 1 1 y3
-1 -1 -3 -1 -2 0 0 0 -5 -z

• Solution de base non optimale : coûts réduits négatifs (= directions de descente)

• Variable entrante
1er coût réduit négatif  x1

• Variable sortante
1ère variable de base à s’annuler  y1

499
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017

3.1.3 Exemple
Méthode des 2 phases
• Itérations du problème auxiliaire
x1 x2 x3 x4 x5 y1 y2 y3
1 3 0 4 1 1 0 0 2 y1
1 2 0 -3 1 0 1 0 2 y2
-1 -4 3 0 0 0 0 1 1 y3
-1 -1 -3 -1 -2 0 0 0 -5 -z

x1 x2 x3 x4 x5 y1 y2 y3
1 3 0 4 1 1 0 0 2 x1
0 -1 0 -7 0 -1 1 0 0 y2
0 -1 3 4 1 1 0 1 3 y3
0 2 -3 3 -1 1 0 0 -3 -z

500
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017

3.1.3 Exemple
Méthode des 2 phases
• Itérations du problème auxiliaire
x1 x2 x3 x4 x5 y1 y2 y3
1 3 0 4 1 1 0 0 2 x1
0 -1 0 -7 0 -1 1 0 0 y2
0 -1 3 4 1 1 0 1 3 y3
0 2 -3 3 -1 1 0 0 -3 -z

x1 x2 x3 x4 x5 y1 y2 y3
1 3 0 4 1 1 0 0 2 x1
0 -1 0 -7 0 -1 1 0 0 y2
0 -1/3 1 4/3 1/3 1/3 0 1/3 1 x3
0 1 0 7 0 2 0 1 0 -z

• Solution optimale du problème auxiliaire (coûts réduits positifs ou nuls)

501
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017

3.1.3 Exemple
Méthode des 2 phases
• Base initiale : échange y2 – x2

x1 x2 x3 x4 x5 y1 y2 y3
1 3 0 4 1 1 0 0 2 x1
0 -1 0 -7 0 -1 1 0 0 y2
0 -1/3 1 4/3 1/3 1/3 0 1/3 1 x3
0 1 0 7 0 2 0 1 0 -z

x1 x2 x3 x4 x5 y1 y2 y3
1 0 0 -17 1 2 3 0 2 x1
0 1 0 7 0 -1 -1 0 0 x2
0 0 1 3.67 1/3 2/3 -1/3 1/3 1 x3
0 0 0 0 0 1 1 1 0 -z

502
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017

3.1.3 Exemple
Méthode des 2 phases
• Base initiale : suppression variables auxiliaires
x1 x2 x3 x4 x5
1 0 0 -17 1 2 x1
0 1 0 7 0 0 x2
0 0 1 3.67 1/3 1 x3
0 0 0 0 0 0 -z

• Calcul de la dernière ligne du tableau


On rappelle les coûts en 1ère ligne pour faciliter le calcul (multiplication par les colonnes).
x1 x2 x3 x4 x5
c= 2 3 3 1 -2
1 0 0 -17 1 2 x1
0 1 0 7 0 0 x2 coûts réduits = cNcBTB-1N
0 0 1 3.67 1/3 1 x3 coût =cBTB-1b
0 0 0 3 -5 -7 -z
503
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017

3.1.3 Exemple
Méthode des 2 phases
• Itérations du problème initial
x1 x2 x3 x4 x5
1 0 0 -17 1 2 x1
0 1 0 7 0 0 x2
0 0 1 3.67 1/3 1 x3
0 0 0 3 -5 -7 -z

x1 x2 x3 x4 x5
1 0 0 -17 1 2 x5
0 1 0 7 0 0 x2
-1/3 0 1 9.33 0 1/3 x3
5 0 0 -82 0 3 -z

504
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017

3.1.3 Exemple
Méthode des 2 phases
• Itérations du problème initial
x1 x2 x3 x4 x5
1 0 0 -17 1 2 x5
0 1 0 7 0 0 x2
-1/3 0 1 9.33 0 1/3 x3
5 0 0 -82 0 3 -z

x1 x2 x3 x4 x5
1 2.43 0 0 1 2 x5
0 0.14 0 1 0 0 x4
-1/3 -1.33 1 0 0 1/3 x3
5 11.71 0 0 0 3 -z

 x*  0 0 1 / 3 0 2
 T
• Solution optimale : c  0
z*  3
505
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.4 Simplexe révisé
Techniques d’optimisation Mai 2017

3.1.4 Simplexe révisé

 Itération du simplexe

 Réduction des calculs

506
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.4 Simplexe révisé
Techniques d’optimisation Mai 2017

3.1.4 Simplexe révisé


Méthode révisée du simplexe
• L’algorithme du simplexe nécessite un grand nombre d’opérations matricielles.
 problèmes de temps de calcul
 problèmes de place mémoire
 problèmes de précision numérique
• La méthode révisée du simplexe permet de réduire le nombre d’opérations.

Rappels
Ax  b  
• Forme standard : min c T x sous 
xR n
x  0  s

  B  T c B

 
Multiplicateurs :  T
1
 N
s  c N  B N cB  cN

• Forme canonique dans la base B : min z  z  c NT x N sous x B  b  B 1 Nx N  0


x N 0

x B  b b  B 1b
 
• Solution de base associée à B : x N  0 avec z  c TB b
z  z c NT  c TN  c TB B 1 N

507
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.4 Simplexe révisé
Techniques d’optimisation Mai 2017

3.1.4 Simplexe révisé


Itération du simplexe
• On connaît les colonnes de A correspondant à la base courante admissible  matrice B
Pour réaliser une itération du simplexe, on doit déterminer :
- la solution de base courante
- les coûts réduits des variables hors base pour choisir la variable entrante
- les pas maximaux sur les variables de base pour choisir la variable sortante
x B  b  B 1b
• Solution de base : x  0  Bx B  b
 N
• Coûts réduits : c NT  c TN  c TB B 1 N  c TN  T N  B  c B

On choisit la variable hors base entrante xe (coût réduit négatif)


 colonne Ae de la matrice A
 d eB  d eB  B 1A e  Bd eB  A e
• Direction de base de : d e    avec 
 d eN  d eN  0  1  0
Le pas maximal suivant de correspond au rapport xB / deB positif, minimal.
La variable de base sortante xs est la première à s’annuler.

508
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.4 Simplexe révisé
Techniques d’optimisation Mai 2017

3.1.4 Simplexe révisé


Méthode révisée du simplexe
• Le pivotage peut être réalisé en résolvant 3 systèmes linéaires de même matrice B.

 Bx B  b  xB

 B  c B    cN  x e
Bd  A  d eB  xs
 eB e

 réduction des calculs nécessaires


 différentes méthodes possibles d’inversion et de stockage de la matrice B

• Il suffit de stocker en mémoire : - les matrices initiales A, b ,c


- les numéros des colonnes de base.
 limitation de la place mémoire
 réduction des erreurs numériques, car on repart systématiquement des matrices initiales.

• La méthode révisée est implémentée dans les logiciels de programmation linéaire


utilisant l’algorithme du simplexe.

509
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017

3.1.5 Simplexe dual

 Problème dual

 Forme canonique

 Tableau dual

 Pivotage

 Comparaison simplexe primal  dual

 Exemple

510
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017

3.1.5 Simplexe dual


Méthode du simplexe dual
L’algorithme du simplexe dual consiste à appliquer la méthode du simplexe au problème dual.
Primal (P ) Dual (D)

• Correspondances primal (P)  dual (D) : min c T x 1 max b T y


xR n
y

Le tableau est utilisable dans les 2 sens :


Ax  b m yR
de (P) vers (D)
ou de (D) vers (P) car le dual de (D) est (P). Ax  b m y0
x0 n AT y  c
x R n AT y  c

• Forme canonique de (P) dans la base B


b  B 1b
 1 
min z  z  c NT x N sous x B  B Nx N  b avec z  c TB b
x N 0
x  0 c NT  c TN  c TB B 1 N

Pour appliquer la méthode du simplexe au problème dual, on doit écrire


la forme canonique du problème dual dans la base B.
511
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017

3.1.5 Simplexe dual


Forme canonique du dual
• On part de la forme canonique du problème primal (P) dans la base B.
x B  B 1 Nx N  b  m contraintes
(P) min z  c x N T
sous 
x B ,x N
N
x B , x N  0  n variables
• On peut considérer les variables de base xB comme des variables d’écart positives.
On obtient un problème (P’) ne portant que sur les variables hors base xN.

T B 1 Nx N  b  m contraintes
(P' ) min c x N sous 
xN
N
x N  0  nm variables

• On écrit (P’) comme un problème de maximisation,


pour obtenir un problème de minimisation en passant au dual.

B 1 Nx N  b  m contraintes
(P' ) max  c x N T
sous 
xN
N
x N  0  nm variables

• On passe au dual (D’) de (P’)


 en utilisant le tableau de correspondances dans le sens de (D) vers (P)

512
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017

3.1.5 Simplexe dual


Forme canonique du dual
• Le dual (D’) de (P’) s’écrit :
B 1 Nx N  b  m contraintes
(P' ) max  c x N T
sous 
xN
N
x N  0  nm variables

( D' ) min b y BT
sous   
 B 1 N T y   c
B N  nm contraintes
yB
y B  0  m variables

• On met (D’) sous forme standard avec des variables d’écart yN positives.
On obtient un problème (D) à n variables.

( D) min b y BT
sous  N  
 y  B 1 N T y  c  nm contraintes
B N
yB ,yN
y B , y N  0  n variables

• Le problème (D) est sous forme canonique dans la base B :


- variables de base  yN  notations inversées par rapport au problème primal
- variables hors base  yB
On peut écrire le tableau simplexe pour le problème (D) et appliquer les règles de pivotage.

513
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017

3.1.5 Simplexe dual


Tableau simplexe du dual
• Forme canonique de (D) dans la base B.

T
(D) min b y B sous  N  
 y  B 1 N T y  c  nm contraintes
B N
y ,yB N
y B , y N  0  n variables
yN yB
I  (B 1 N) T c NT
• Tableau TD du simplexe de (D) dans la base B : TD 
0 b z
Variables de base : yN  valeurs cN
Variables hors base : yB  coûts réduits b
Matrice des contraintes : A  (B1N)T
T

• La solution de base associée à la base B est :  y N  c N


y B  0
• La base B est admissible si y N  c N  0  base dual-admissible

• On applique les règles de pivotage du simplexe :


- variable hors base entrante : coût réduit négatif
- variable de base sortante : première variable à s’annuler
514
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017

3.1.5 Simplexe dual


Pivotage sur le tableau dual
yN yB
Les notations sont inversées par rapport au problème primal
- indices B  variables hors base I  (B 1 N) T c NT
TD 
- indices N  variables de base 0 b z

1. Choix du pivot
• Variable hors base entrante ye = 1er coût réduit négatif be  0 , e  B
c Ni
• Pas maximal admissible pour chaque variable de base : i  , i  N, si  a ie  0
 a ie
• Variable de base sortante ys :  s  min  i
iN
a ie  0

c Ni c
Ligne s de la variable sortante : s  N  min  max Ni
iN
a ie  0
 a ie iN a
a 0 ie
ie

2. Réalisation du pivotage
• Pivot = a se  0
• Elimination pour faire apparaître des zéros sur la colonne e du pivot

515
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017

3.1.5 Simplexe dual


Pivotage sur le tableau primal
• On observe que le pivotage dual peut être réalisé à partir du tableau primal
sans écrire explicitement le tableau dual.
yN yB
I  (B 1 N) T c NT  nm contraintes
TD   nm variables de base yN
0 b z

xB xN
I B 1 N b  m contraintes
TP 
0 c NT z  m variables de base xB

• Choisir la 1ère variable de base négative xe : be  0 , e  B  ligne e


 variable sortante
c Nj
• Déterminer la 1ère variable hors base xs à s’annuler : s  max
jN
 colonne s
a ej
a ej  0  variable entrante
• Effectuer le pivotage es de façon usuelle.

516
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017

3.1.5 Simplexe dual


Comparaison simplexe primal et dual
• L’algorithme du simplexe primal maintient une base primaladmissible : b0
L’optimum est atteint lorsque les coûts réduits sont positifs ou nuls : cN  0

• L’algorithme du simplexe dual maintient une base dualadmissible : cN  0


L’optimum est atteint lorsque les variables de base sont positives ou nulles : b  0

Intérêt du simplexe dual


L’algorithme du simplexe dual est adapté si l’on dispose d’une base dualadmissible.

Ceci se produit lorsque l’on modifie un problème linéaire déjà résolu par le simplexe primal
• en ajoutant des contraintes au problème
• en modifiant les seuils des contraintes
• en fixant des variables à une valeur différente de la solution
Ces modifications : - ne changent pas les coûts réduits ( c N  0 )
- rendent certaines variables de base négatives
 La solution de base n’est plus primaladmissible, mais reste dualadmissible.

Application : problèmes de programmation linéaire mixte (entiers et réels)

517
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017

3.1.5 Exemple
Simplexe dual
• Problème linéaire à 5 variables x1,x2,x3,x4,x5
x 1  x 2  1
 x  x 3  x 5  0
min x 1  2x 2  2x 3  3x 4  x 5 sous  2
 x  x3  x4  0
 1
x1 , x 2 , x 3 , x 4 , x 5

x 1 , x 2 , x 3 , x 4 , x 5  0
• On choisit comme base initiale (x2,x3,x4).

x 2  1
 x1  0
La solution de base associée est :   x 3  1  base non primal admissible
x 5  0 x 4  1

 1 1 0 0 0 1
   
• La matrice des contraintes est : A   0  1  1 0 1  b  0
 1 0 1 1 0 0
   
• Pour construire le tableau du simplexe, il faut mettre le problème sous forme canonique dans
la base (x2,x3,x4) en faisant apparaître des zéros par élimination dans les colonnes 2, 3 et 4.

518
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017

3.1.5 Exemple
Simplexe dual
• Problème linéaire à 5 variables x1,x2,x3,x4,x5
x 1  x 2  1
 x  x 3  x 5  0
min x 1  2x 2  2x 3  3x 4  x 5 sous  2
 x  x3  x4  0
 1
x1 , x 2 , x 3 , x 4 , x 5

x 1 , x 2 , x 3 , x 4 , x 5  0
• Tableau de départ
x1 x2 x3 x4 x5
1 1 0 0 0 1
0 -1 -1 0 1 0  contraintes
-1 0 1 1 0 0
1 2 2 3 1 0  coût

• On fait apparaître : - une matrice identité sur les colonnes de x2 , x3 , x4


- des zéros sur les coûts de x2 , x3 , x4

519
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017

3.1.5 Exemple
Simplexe dual
x1 x2 x3 x4 x5 x1 x2 x3 x4 x5
1 1 0 0 0 1 1 1 0 0 0 1
Elimination x2
0 -1 -1 0 1 0 1 0 -1 0 1 1
-1 0 1 1 0 0 -1 0 1 1 0 0
1 2 2 3 1 0 -1 0 2 3 1 -2

x1 x2 x3 x4 x5 x1 x2 x3 x4 x5
1 1 0 0 0 1 1 1 0 0 0 1
Elimination x3
1 0 -1 0 1 1 -1 0 1 0 -1 -1
-1 0 1 1 0 0 0 0 0 1 1 1
-1 0 2 3 1 -2 1 0 0 3 3 0

x1 x2 x3 x4 x5 x1 x2 x3 x4 x5
1 1 0 0 0 1 1 1 0 0 0 1
Elimination x4
-1 0 1 0 -1 -1 -1 0 1 0 -1 -1
0 0 0 1 1 1 0 0 0 1 1 1
1 0 0 3 3 0 1 0 0 0 0 -3

520
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017

3.1.5 Exemple
Simplexe dual
• Tableau du simplexe dans la base (x2,x3,x4).

x1 x2 x3 x4 x5
c= 1 2 2 3 1
1 1 0 0 0 1 x2 cB cN
-1 0 1 0 -1 -1 x3 I B-1N B-1b xB
0 0 0 1 1 1 x4 0 cNcBTB-1N cBTB-1b -z
1 0 0 0 0 -3 -z

c N  c N  c TB B 1 N
• On vérifie bien que la dernière ligne correspond à  T 1
 z   c B B b

• La base est : - non admissible pour le primal (x3 < 0)


- admissible pour le dual (c N  0 )
On peut appliquer l’algorithme dual du simplexe pour résoudre le problème.

521
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017

3.1.5 Exemple
Simplexe dual
• Tableau du simplexe dans la base (x2,x3,x4).
x1 x2 x3 x4 x5
1 1 0 0 0 1 x2 Base dualadmissible (x2,x3,x4)
-1 0 1 0 -1 -1 x3
0 0 0 1 1 1 x4
1 0 0 0 0 -3 -z

• Solution de base non optimale : variables de base négatives

• Variable sortante : 1ère variable de base négative  x3 be  0 , e  B


c Nj
• Variable entrante : 1er coût réduit à s’annuler  x5 s  max
jN a ej
a ej  0

• Pivot : a 35   1

522
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017

3.1.5 Exemple
Simplexe dual
• 1er pivotage : entrée x5, sortie x3
x1 x2 x3 x4 x5
1 1 0 0 0 1 x2
-1 0 1 0 -1 -1 x3
0 0 0 1 1 1 x4
1 0 0 0 0 -3 -z

x1 x2 x3 x4 x5
1 1 0 0 0 1 x2 Nouvelle base (x2,x4,x5)
- primaladmissible b0
1 0 -1 0 1 1 x5 - dualadmissible cN  0
-1 0 1 1 0 0 x4  optimale

1 0 0 0 0 -3 -z Solution : x*  0 1 0 0 1
z*  3

523
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017

3.1.6 Problème quadratique

 Conditions d’optimalité

 Forme canonique

 Conditions de complémentarité

 Règles de pivotage

 Exemple

524
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017

3.1.6 Problème quadratique


Problème quadratique
La méthode du simplexe peut être adaptée pour résoudre un problème quadratique convexe.
1 Ax  b  0 Q  R nn , c  R n
• Formulation du problème : minn x T Qx  c T x sous  avec
xR 2
x  0 A  R m n , b  R m

1 T
• Lagrangien : L( x, , )  x Qx  c T x   T (Ax  b)   T x
2
avec des multiplicateurs positifs  et  pour les contraintes inégalité

Conditions suffisantes d’optimalité


Qx  c  A T     0
Ax  b  0

• x  0
Ordre 1 : ,   0

i x i  0 , i 1 à n
→ conditions de complémentarité
 j (Ax  b) j  0 , j  1 à m
• Ordre 2 : Q définie positive → condition suffisante
(problème convexe)
525
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017

3.1.6 Problème quadratique


Forme canonique
• On réécrit les conditions d’ordre 1 avec des variables d’écart : r  Ax  b  r  0
Qx  c  A T     0 Qx  c  A T     0
Ax  b  0 Ax  b  r
 
x  0 x , r  0
,   0  ,   0
 
i x i  0 , i 1 à n i x i  0 , i  1 à n
 j (Ax  b) j  0 , j  1 à m  jrj  0 , j  1 à m
• On regroupe les variables en y=(x,) d’une part, et =(,r) d’autre part.
x  Q  AT 
y    , G    I  Gy  

  A 0  
 y,   0
  c   y ii  0 , i  1 à n  m → conditions de complémentarité
    ,    
r  b

• Le système en variables (y,) est sous forme canonique avec :  = variables de base
y = variables hors base
On peut le résoudre en adaptant la méthode du simplexe de façon à vérifier
les conditions de complémentarité (qui n’existent pas dans la méthode standard).
526
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017

3.1.6 Problème quadratique


Conditions de complémentarité
• La méthode du simplexe minimise un coût linéaire avec des contraintes de la forme :
I  Gy   → problème sous forme canonique dans la base formée des variables 
 y,   0

• Le problème à résoudre comporte des conditions supplémentaires de complémentarité :
y i i  0 , i  1 à n  m

Les couples (yi , i) sont formés de variables complémentaires :


- si la variable yi est en base, la variable i doit être hors base → i = 0
- si la variable i est en base, la variable yi doit être hors base → yi = 0

Ces conditions sont vérifiées par la base initiale : variables  en base, variables y hors base.

• La méthode du simplexe effectue des changement de base par pivotage


sans prendre en compte les conditions de complémentarité.
On peut se retrouver avec 2 variables complémentaires hors base (et 2 en base).
On effectue alors des pivotages supplémentaires destinés à restaurer la complémentarité.
→ méthode du simplexe « complémentaire »

527
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017

3.1.6 Problème quadratique


Règles de pivotage
• Lorsque la base est complémentaire et positive, on a la base optimale et la solution.
Lorsque la base est complémentaire et non positive, on effectue un pivotage standard.
Lorsque la base n’est pas complémentaire, on effectue un pivotage complémentaire.

• Pivotage standard
- On choisit la variable de base la plus négative : variable ye ou e
- La variable entrante (notée xe) est la variable complémentaire de cette variable de base.
- La variable sortante (notée xs) est la 1ère variable de base à s’annuler lorsque xe augmente.

L’évolution des variables de base lorsque xe augmente est donnée par : x i  bi  a ie x e , i  B

• Pivotage complémentaire (si nécessaire)


- La variable entrante (notée x’e) est la variable complémentaire de xs.
- La variable sortante (notée x’s) est la 1ère variable de base (sauf xe) à s’annuler
lorsque x’e augmente.

• On répète les pivotages complémentaires jusqu’à restaurer une base complémentaire.


A chaque pivotage, il y a au maximum un couple de variables complémentaires hors base.
(et un couple en base)
528
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017

3.1.6 Exemple
Exemple
• Problème quadratique à 2 variables x1, x2
x  x 2  2 → multiplicateur 
min  6x1  2x12  2x1x 2  2x 22 sous  1
x1 , x 2 x1 , x 2  0 → multiplicateurs 1 , 2
• Lagrangien : L( x1 , x 2 , , 1 ,  2 )  6x1  2x12  2x1x 2  2x 22  (2  x1  x 2 )  1x1   2 x 2

Conditions suffisantes d’optimalité

• Ordre 1 :  6  4x1  2x 2    1  0  4x1  2x 2    1  6


 2 x 1  4 x 2     2  0  2 x1  4 x 2     2  0
x  x  2  x  x r  2
 1 2 avec r  2  x1  x 2  0  1 2
1x1  0 1x1  0
 2 x 2  0  2 x 2  0
( x  x  2)  0  r  0
 1 2

x1 , x 2 , , 1 ,  2  0 x1 , x 2 , , 1 ,  2 , r  0

 4  2
• Ordre 2 :  2xx L     0 → vérifié (valeurs propres = 2 et 6)
  2 4  → problème convexe
529
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017

3.1.6 Exemple
Méthode du simplexe complémentaire
• Tableau initial : le problème est sous forme canonique dans la base (1 , 2 , r1).

x1 x2 1 1 2 r1
-4 2 -1 1 0 0 -6 1 Base initiale
(1 , 2 , r1) complémentaire
2 -4 -1 0 1 0 0 2
1 1 0 0 0 1 2 r1

• Solution de base non admissible : variable 1 négative (1 = 6)

• Variable entrante : variable complémentaire de 1  x1


(objectif : faire sortir 1 de la base pour l’annuler)

• Variable sortante : 1ère variable de base à s’annuler  2 avec x i  bi  a ie x e , i  B


(parmi 1 , 2 , r1)

• Pivot : a  2 x1  2 → pivotage standard

530
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017

3.1.6 Exemple
Méthode du simplexe complémentaire
• Pivotage standard : entrée x1, sortie 2

x1 x2 1 1 2 r1 Pas
-4 2 -1 1 0 0 -6 1  s = 3/2
2 -4 -1 0 1 0 0 2 s=0
1 1 0 0 0 1 2 r1 s=2

x1 x2 1 1 2 r1 Base avant pivotage


0 -6 -3 1 2 0 -6 1 (1 , 2 , r1) complémentaire
1 -2 -1/2 0 1/2 0 0 x1 Base après pivotage
0 3 1/2 0 -1/2 1 2 r1 (1 , x1 , r1) non complémentaire

• Il faut restaurer la complémentarité sur (x2 , 2) : la variable 2 est sortie de la base.
→ la variable x2 doit entrer en base.

531
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017

3.1.6 Exemple
Méthode du simplexe complémentaire
• Tableau non complémentaire

x1 x2 1 1 2 r1
0 -6 -3 1 2 0 -6 1 Base avant pivotage
(1 , x1 , r1) non complémentaire
1 -2 -1/2 0 1/2 0 0 x1
0 3 1/2 0 -1/2 1 2 r1

• Base non complémentaire : variables x2 et 2 hors base

• Variable entrante : variable complémentaire de 2  x2


(car 2 vient de sortir de la base)

• Variable sortante : 1ère variable de base à s’annuler  r1 avec x i  bi  a ie x e , i  B


(parmi 1 , x1 , r1)

• Pivot : a r1x 2  3 → pivotage complémentaire

532
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017

3.1.6 Exemple
Méthode du simplexe complémentaire
• Pivotage complémentaire : entrée x2, sortie r1

x1 x2 1 1 2 r1 Pas
0 -6 -3 1 2 0 -6 1 s=1
1 -2 -1/2 0 1/2 0 0 x1  non borné
0 3 1/2 0 -1/2 1 2 r1  s = 2/3

x1 x2 1 1 2 r1 Base avant pivotage


0 0 -2 1 1 2 -2 1 (1 , x1 , r1) non complémentaire
1 0 -1/6 0 1/6 2/3 4/3 x1 Base après pivotage
0 1 1/6 0 -1/6 1/3 2/3 x2 (1 , x1 , x2) non complémentaire

• Il faut restaurer la complémentarité sur (1 , r1) : la variable r1 est sortie de la base.
→ la variable 1 doit entrer en base.

533
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017

3.1.6 Exemple
Méthode du simplexe complémentaire
• Tableau non complémentaire

x1 x2 1 1 2 r1
0 0 -2 1 1 2 -2 1 Base avant pivotage
(1 , x1 , x2) non complémentaire
1 0 -1/6 0 1/6 2/3 4/3 x1
0 1 1/6 0 -1/6 1/3 2/3 x2

• Base non complémentaire : variables 1 et r1 hors base

• Variable entrante : variable complémentaire de r1  1


(car r1 vient de sortir de la base)

• Variable sortante : 1ère variable de base à s’annuler  1 avec x i  bi  a ie x e , i  B


(parmi 1 , x1 , x2)

• Pivot : a 11  2 → pivotage complémentaire

534
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017

3.1.6 Exemple
Méthode du simplexe complémentaire
• Pivotage complémentaire : entrée 1, sortie 1

x1 x2 1 1 2 r1 Pas
0 0 -2 1 1 2 -2 1 s=1
1 0 -1/6 0 1/6 2/3 4/3 x1  non borné
0 1 1/6 0 -1/6 1/3 2/3 x2 s=4

x1 x2 1 1 2 r1 Base avant pivotage


0 0 1 -1/2 -1/2 -1 1 1 (1 , x1 , x2) non complémentaire
1 0 0 -1/12 1/12 1/2 3/2 x1 Base après pivotage
0 1 0 1/12 -1/12 1/2 1/2 x2 (1 , x1 , x2) complémentaire

• La base (1 , x1 , x2) est complémentaire et positive → base optimale

535
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017

3.1.6 Exemple
Solution
• Problème quadratique à 2 variables x1, x2
x  x 2  2 → multiplicateur 
min  6x1  2x12  2x1x 2  2x 22 sous  1
x1 , x 2 x1 , x 2  0 → multiplicateurs 1 , 2

• La base (1 , x1 , x2) est optimale (complémentaire et positive).

La solution de base associée est :  x1  , x 2  ,   1


3 1
→ variables de base
 2 2 
1  0 ,  2  0 , r  0 → variables hors base

 6  4x1  2x 2    1  0
 2 x 1  4 x 2     2  0
x  x  2
 1 2
• Les conditions d’ordre 1 sont bien vérifiées : 1x1  0
 2 x 2  0
( x  x  2)  0
 1 2

x1 , x 2 , , 1 ,  2  0

536
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017

3.1.6 Exemple
Méthode du simplexe complémentaire
Récapitulatif des pivotages

k Base x1 x2 1 1 2 r1 Pivotage Pas e s


0 1 2 r1 0 0 0 -6 0 2 standard 0 x1 2
1 1 x1 r1 0 0 0 -6 0 2 complémentaire 2/3 x2 r1
2 1 x1 x2 4/3 2/3 0 -2 0 0 complémentaire 1 1 1
3 1 x1 x2 3/2 1/2 1 0 0 0 complémentaire

Convergence
• La méthode du simplexe complémentaire est applicable à un problème quadratique convexe.
On peut montrer que la convergence est obtenue en un nombre fini d’itérations.

• Il existe différentes manières de réaliser les pivotages standards et complémentaires.

• Si l’on peut augmenter indéfiniment une variable entrante, la solution n’est pas bornée.

• Pour éviter le cyclage en cas de dégénérescence, on choisit les variables par ordre croissant.

537
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
Techniques d’optimisation Mai 2017

Sommaire
1. Bases théoriques
2. Optimisation sans contraintes

3. Optimisation avec contraintes


3.1 Simplexe
3.2 Point intérieur
3.2.1 Barrière
3.2.2 Chemin central
3.2.3 Algorithmes
3.2.4 Extensions
3.3 Gradient projeté
3.4 Lagrangien augmenté
3.5 Programmation quadratique séquentielle
3.6 Convergence

4. Optimisation discrète
5. Optimisation fonctionnelle

538
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.1 Barrière
Techniques d’optimisation Mai 2017

3.2.1 Barrière

 Points intérieurs

 Fonction barrière

 Méthode barrière

 Problème linéaire

 Exemple

539
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.1 Barrière
Techniques d’optimisation Mai 2017

3.2.1 Points intérieurs


Problème avec contraintes
c E ( x )  0
minn f(x) sous c I ( x )  0
xR
x  X

Points intérieurs

• Ensemble des points admissibles : X adm  x  R / x  X, c E ( x )  0, c I ( x )  0
n

• Ensemble des points intérieurs : X int  x  R n
/ x  X, c E ( x )  0, c ( x )  0
I

 contraintes égalité conservées (définition élargie d’un point intérieur par voisinage)
 contraintes inégalité strictes

Hypothèses
• Xint n’est pas vide
• Tout point admissible peut être approché arbitrairement par un point intérieur
x  X ,   0, ~
adm xX / ~ x  x 
int

 hypothèses vérifiées dans le cas convexe (ensemble Xint et contraintes cE, cI)).

540
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.1 Barrière
Techniques d’optimisation Mai 2017

3.2.1 Fonction barrière


Fonction barrière

Une fonction B : Xint dans R est une fonction barrière si lim B( x )  


xX int , c I ( x )  0

La fonction barrière tend vers l’infini lorsque l’on s’approche du bord de Xadm
i.e. lorsque les contraintes inégalité cI(x) deviennent actives.

Exemple
Contrainte de borne x < a B(x)

Fonctions barrières usuelles


m
• Barrière logarithmique : B( x )    lnc Ik ( x ) 
k 1

m
1
• Barrière inverse : B( x )   
k 1 c Ik ( x )
a x

541
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.1 Barrière
Techniques d’optimisation Mai 2017

3.2.1 Méthode barrière


Méthode barrière
La méthode barrière consiste à combiner la fonction coût avec une fonction barrière.
La fonction barrière est pénalisée par un paramètre h > 0  hauteur de la barrière

c E ( x )  0
• Problème avec contraintes inégalités : minn f(x) sous c I ( x )  0  solution x*
xR
x  X

• Problème barrière associé : minn f h (x)  f(x)  hB(x) sous c E ( x )  0  solution x(h)
xR x  X
 Problème avec contraintes égalité plus simple (contraintes actives)
Pour h=0, on retrouve le problème initial

Hauteur de la barrière
• La barrière empêche la solution x(h) de s’approcher du bord du domaine admissible.
(contraintes inégalités actives)
• On résout une suite de problèmes avec des hauteurs de barrières décroissantes
(h k ), h k 1  h k , lim h k  0  solutions x(hk)
k 

• Méthodes peu utilisées sous cette forme  approche des méthodes de points intérieurs
application sur problème linéaire, puis non linéaire 542
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.1 Barrière
Techniques d’optimisation Mai 2017

3.2.1 Problème linéaire


Problème linéaire
Ax  b avec A  R mn , b  R m , c  R n
 problème (PL)
T
Forme standard : minn c x sous 
xR x  0

•  
Ensemble des points admissibles : X adm  x  R n / Ax  b, x  0 = polytope des contraintes

• Ensemble des points intérieurs : X int  x  R n


/ Ax  b, x  0

Problème barrière n
• Barrière logarithmique : B( x )    lnx i 
i 1
Ax  b
n
• Problème barrière associé : minn f h (x)  c x  h  ln(x i ) sous 
T
 problème (PBh)
xR
i 1  x  0
Solution
• h>0  solution xh
• h=0  solution x* du problème initial
• h   solution x = centre analytique du polytope P

543
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.1 Barrière
Techniques d’optimisation Mai 2017

3.2.1 Exemple
Problème linéaire
x  x 2  x 3  1
• Forme standard : min x 1  2x 2  3x 3 sous  1
x ,x ,x
1 2 3 x 1 , x 2 , x 3  0

 x  x 2  x 3  1
• Polytope des contraintes : P  x 1 , x 2 , x 3   R 3 /  1 
 x 1 , x 2 , x 3  0 
Problème barrière
x  x 2  x 3  1
• Barrière logarithmique : min x 1  2x 2  3x 3  h ln x 1  ln x 2  ln x 3  sous  1
x ,x ,x
1 2 3 x 1 , x 2 , x 3  0
x  x 2  x 3  1
• Centre analytique x : min Bx 1 , x 2 , x 3    ln x 1  ln x 2  ln x 3  sous  1
x ,x ,x
1 2 3 x 1 , x 2 , x 3  0
x 3  1  x 1  x 2  min Bx 1 , x 2   ln x 1  ln x 2  ln1  x 1  x 2 
x1 , x 2

 B 1 1  1
 x    0 x 
x1 1  x1  x 2  1 3 1 1 1 1
 B1    x3   x   
1 1 1
   0 x 2  3 3 3 3
 x 2 x 2 1  x1  x 2  3
544
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.1 Barrière
Techniques d’optimisation Mai 2017

3.2.1 Exemple
Représentation graphique
 x  x 2  x 3  1
• Polytope des contraintes : P  x 1 x2 x 3  R 3 /  1 
 x 1 , x 2 , x 3  0 
1 1 1
• Centre analytique x : x   
3 3 3
x3

C 1
Tracé dans le plan (A,B,C) C

x
O B x
1 x2

A B
A 1
x1 545
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Chemin central

 Chemin central primal

 Conditions d’optimalité

 Chemin central primal-dual

 Déplacement

 Mesure de dualité

 Voisinage

546
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Chemin central primal


Chemin central primal
Le chemin central primal est l’ensemble des solutions xh
lorsque la hauteur de barrière h décroît de l’infini à 0  x h , h  0

• Début : x = centre analytique du polytope


• Fin : x* = solution du problème linéaire

Pour construire précisément le chemin central, il faudrait résoudre l’ensemble des problèmes
successifs (PBh) sous contraintes égalité pour h0 .
Ax  b
min f h (x)  c x  h  ln(x i ) sous 
n
T
xR n
i 1 x  0
 non réalisable en pratique (trop coûteux)

Algorithme de point intérieur


On utilise le chemin central pour définir la direction du déplacement.
On cherche à rester au voisinage du chemin central sans le suivre précisément.

547
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Conditions d’optimalité


Problème barrière
Ax  b  multiplicateurs 
min f h (x)  c x  h  ln(x i ) sous 
n
T
xR n
i 1 x  0  multiplicateurs s

• Lagrangien : L( x, , s)  f h ( x )  T (b  Ax)  s T x
n
 c x  h  ln(x i )  T (b  Ax)  s T x
T

i 1

• On définit les matrices diagonales X et S à partir de x et s

 x1 0  0 0  s1 0  0 0 1
     
0 x2  0 0  0 s2  0 0 1
X        S      e  
     
0 0  x n 1 0 0 0  s n 1 0  1
     
0 0  0 xn  0 0  0 sn  1

548
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Conditions d’optimalité


Conditions d’optimalité

• Condition d’ordre 1 :  x L( x , , s )  0  c  hX 1  A T   s  0

• Condition complémentaire : s i x i  0  XSe  0

s  s  hX 1 A T   s h  c  0
On définit :  h  
XSh e  he
1
Sh  S  hX

• Comparaison des conditions d’ordre 1 du problème barrière (PBh) et du problème initial (PL)

Problème barrière (PBh) Problème linéaire (PL)

 Ax h  b  0  Ax  b  0
A   s  c  0
T A   s  c  0
T
 
h S h  he  x h ,  h , s h  XS  0  x * ,  * , s *
h h
 X 
 xh  0  x 0
 sh  0  s 0
 

549
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Chemin central primal-dual


Chemin central primal-dual

• Les conditions d’optimalité du problème barrière (PBh) deviennent celles du problème initial
(PL) lorsque h tend vers 0.

• On cherche à résoudre le problème linéaire en considérant l’ensemble


des variables primales et duales (x,,s) dans Rn+m+n .

• Ensemble admissible : 
X adm  ( x, , s) / Ax  b  0, A T   s  c  0, x  0, s  0
• Ensemble des points intérieurs : X int  ( x, , s) / Ax  b  0, A   s  c  0, x  0, s  0 
T

• Le chemin central primal-dual est l’ensemble des solutions (xh,h,sh) lorsque la hauteur de
barrière h décroît de l’infini à 0.

• Fin : (x0,0,s0) = (x*,*,s*) = solution du problème linéaire

Algorithme de point intérieur


On utilise le chemin central primal-dual pour définir la direction du déplacement.
Le déplacement est limité pour rester dans l’ensemble des points intérieurs
550
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Exemple
Problème linéaire
x  x 2  x 3  1 A  1 1 1 , b 1
• min x 1  2x 2  3x 3 sous  1
c T  1 2 3
Forme standard :
x ,x ,x
1 2 3 x 1 , x 2 , x 3  0
• Conditions d’ordre 1 du problème linéaire (PL)
x 1s1  0 x 1  0 ou s1  0
XS  0  x 2 s 2  0  x 2  0 ou s 2  0  6 combinaisons possibles
x 3s 3  0 x 3  0 ou s 3  0

  s1  1 s1  1  
s  s  1
A   s  c    s 2  2  s 2  2    s1  s2  1
T

  s 3  3 s 3  3    2 3

s1  0 x 1  0 ou s1  0  2 combinaisons possibles


S0  s 2  1  x 2  0
s 3  2 x 3  0
Ax  b  0  x 1  x 2  x 3  1  x 1  1

x 1  1 s1  0
• Solution : x 2  0 , s 2  1 ,   1
x 3  0 s 3  2
551
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Exemple
Représentation graphique
 x  x 2  x 3  1  x   1 1 1 
• Centre analytique du polytope : P  x 1 , x 2 , x 3   R 3 /  1    
  1 2 3
x , x , x  0   3 3 3 
x  x 2  x 3  1  x*  1 0 0
• Solution du problème (PL) : min x 1  2x 2  3x 3 sous  1
x1 , x 2 , x 3 x 1 , x 2 , x 3  0  point A
x3

C 1
Tracé dans le plan (A,B,C) C

x
O B x
1 x2

x*
x*
A B
A 1
x1 552
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Exemple
Problème barrière
x  x  x  1 A  1 1 1 , b 1
• Problème linéaire : min x 1  2x 2  3x 3 sous x 1 , x ,2x 30
x1 , x 2 , x 3  1 2 3 c T  1 2 3
• Conditions d’ordre 1 du problème barrière (PBh)
  s1  1 s1  1  
A   s  c    s 2  2
T
 s 2  2  
  s 3  3 s 3  3  
 h h
 1
x  
 1    1
x 1s1  h  h h
XS  he  x 2 s 2  h  x 2   avec   2  
x 3s 3  h  2   
x  h  h
 3 3    1

h h h
Ax  b  0  x1  x 2  x 3  1     1    3h    h  0
3 2

 1   1

• On obtient une équation en   1, 2 ou 3 racines


553
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Exemple
Chemin central
• Le point du chemin central (xh,h,sh) pour une barrière de hauteur h vérifie

Ax h  b  0
 T x  0
A  h  s h  c  0 avec s h  0
X h Sh  he  0  h

• En résolvant les conditions d’ordre 1 du problème barrière, on obtient

 h  2   avec  3  3h 2    h  0

s  1   2  h 3  h 
 h h
  1 1 1 
 x  h 
1   
2  h 3  h 
h
  h

• Il faut vérifier x h  0  choix parmi les racines possibles pour 


s h  0
• On résout le problème pour des valeurs décroissantes de la hauteur de barrière h.

554
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Exemple
Représentation graphique
• Système de coordonnées (u1,u2) dans le plan (A,B,C)
 x 1  1   1  1/ 2  1
      u 1  x 2  x 3
AM  u 1 AB  u 2 DC   x 2   u 1  1   u 2   1 / 2    2
 x  0  1  u 2  x 3
 3     
x3

C 1 u2
Tracé dans le plan (A,B,C) C

M
x
O B x
1 x2

x* u1
x* D
A D B
A 1
x1 555
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Exemple
Chemin central
1 1 1
• Centre analytique du polytope (h  ) : x   
3 3 3
• Points du chemin central pour une barrière de hauteur h de 10000 à 0.

Tracé dans le plan (A,B,C)


h x1 x2 x3 s1 s2 s3  C
1,0
10000 0,33335 0,33334 0,33333 29998,5 29999,5 30000,5 -29997,5
0,9
1000 0,33342 0,33331 0,33320 2999,2 3000,2 3001,2 -2998,2
0,8
100 0,33444 0,33332 0,33222 299,0 300,0 301,0 -298,0 0,7
10 0,34457 0,33309 0,32236 29,0 30,0 31,0 -28,0 0,6
1 0,45162 0,31112 0,23729 2,2142 3,2142 4,2142 -1,2142 0,5
0,1000 0,86308 0,08962 0,04726 0,1159 1,1159 2,1159 0,8841 0,4 x
0,0100 0,98507 0,00990 0,00497 0,0102 1,0102 2,0102 0,9898 0,3
0,0010 0,99863 0,00100 0,00050 0,0010 1,0010 2,0010 0,9990 0,2
0,0001 0,99970 0,00010 0,00005 0,0001 1,0001 2,0001 0,9999 0,1
x*
0,0000 1,00000 0,00000 0,00000 0,0000 1,0000 2,0000 1,0000 0,0 B
A 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0

• Solution du problème linéaire (h  0) : x*  1 0 0


556
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Déplacement
Méthode de Newton
Ax  b  0
 T x  0
• On cherche à résoudre A   s  c  0 pour h fixé avec 
XS  he  0 s  0

 Ax  b  A 0 0
 T   
• On définit la fonction : F( x, , s)   A   s  c   F( x, , s) T   0 A T I
 XS  he  S 0
   X 

• On applique la méthode de Newton au système d’équations : F(x,,s) = 0

A 0 0  d x 
  
• Itération de Newton : 0 A
T
I  d    F( x, , s)
S 0 X  d s 

 0 
  Ax  b  0
avec F( x, , s)   0  si (x,,s) est intérieur :  T
 XSe  he  A   s  c  0
 
 direction de déplacement (dx,d,ds)
557
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Déplacement
Méthode de Newton
• On utilise la solution de Newton comme direction de recherche.

xh  x dx 


     
  
 h      d  , 0    1
s  s d 
 h    s
• Le pas de déplacement  est choisi pour rester dans l’ensemble des points intérieurs Xint.
x h  0
s  0
 h

Convergence
Pour que l’algorithme converge vers la solution du problème linéaire (PL), il faut :
• régler le pas  pour ne pas s’approcher trop rapidement du bord de l’ensemble admissible
• abaisser progressivement la hauteur de la barrière h jusqu’à 0

La solution du problème linéaire PL est obtenue lorsque : XS  0  x i s i  0 , i  1,..., n

558
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Mesure de dualité


Mesure de dualité
1 T 1 n
• La mesure de dualité est définie par :   x s   x i s i
n n i 1
 distance moyenne à la condition d’optimalité XS  0  x i s i  0 , i  1,..., n

• La hauteur de barrière est réglée à partir de la mesure de dualité : h = 

•  est le paramètre de centrage


Le paramètre de centrage permet de corriger la direction de déplacement.
 = 0 : pas de barrière
 La direction donnée par l’itération de Newton vise à résoudre
les conditions d’optimalité du problème initial (PL).
 Peu robuste loin de la solution, blocage au bord du polytope

 = 1 : barrière h=
 La direction donnée par l’itération de Newton vise à revenir
sur le point du chemin central correspondant à h=.
 Permet de rester à l’intérieur du polytope

559
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Exemple
Problème linéaire
x  x  x  1 A  1 1 1 , b 1
• Problème linéaire : min x 1  2x 2  3x 3 sous x 1 , x ,2x 30
x1 , x 2 , x 3  1 2 3 c T  1 2 3

 Ax  b 
 T 
• On cherche à résoudre : F( x, , s)   A   s  c   0 pour h fixé avec x  0
 XS  he  s  0
 
 méthode de Newton à partir d’un point intérieur initial

Point initial
Ax  b  0 x0
• On choisit un point intérieur initial ( x, , s) X int   T et 
A   s  c  0 s  0

x 1 , x 2 , x 3   0 tel que x 1  x 2  x 3  1 x T s x 1  2x 2  3x 3


On peut prendre   0   
s  c  s T  1 2 3  0 n 3

 T
• La hauteur de barrière h est réglée par le paramètre de centrage  : h    x s
n 560
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Exemple
Direction de déplacement
La direction de déplacement (dx,d,ds) à partir du point initial (x,,s)
est obtenue en résolvant les équations de Newton.

A 0 0  d x   0  Ax  b  0
     car  T
0 A
T
I  d    F( x, , s)   0  A   s  c  0
S 0 X  d s    XS  he 
  

1 1 1 0 0 0 0  d x1   0 
    
0 0 0 1 1 0 0  d x 2   0 
0 0 0 1 0 1 0  d x 3   0 
    
 0 0 0 1 0 0 1  d     0 
    
 s1 0 0 0 x1 0 0  d s1    x 1s1  h 

 0 s2 0 0 0 x2 0  d s 2    x 2 s 2  h  avec h    x1s1  x 2s 2  x 3s 3 
     n
0 0 s3 0 0 0 x 3  d s 3    x 3s 3  h 

561
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Exemple
Direction de déplacement
  x1 x 2 x 3  1 1 1
d       x 1  x 2  x 3  h   
  s1 s 2 s 3   s1 s 2 s 3 
d x1  d x 2  d x 3  0 
d s1  d   0 d s1  d s 2  d s 3  d 
d  d  0 
 s2  h  x 1d 
 s3
d  d  0  d x1   x1
s1d x1  x 1d s1  h  x 1s1  s 1
s1  1  x 1  2x 2  3x 3
s 2 d x 2  x 2 d s 2  h  x 2 s 2 d  h  x d  
2 
 x2 avec s 2  2 et 
s d  x d  h  x s  x2 3
 3 x3 3 s3 3 3

s2 
 3
s  3 
h  
h  x 3d 
d x 3   x3
 s3

• Le point initial (x1,x2,x3) doit vérifier x 1 , x 2 , x 3  0


x 1  x 2  x 3  1
• Illustrations pour 3 points initiaux : x = (0.6 , 0.2 , 0.2)
x = (0.2 , 0.6 , 0.2)
x = (0.2 , 0.2 , 0.6)
et pour 2 valeurs de  :  = 0  vers la solution du problème initial (Newton)
 = 1  vers le chemin central (xh,h,sh)
562
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Exemple
Illustration 1 : x = (0.6 , 0.2 , 0.2)
 x1 x2 x3 s1 s2 s3 
0,53333 0,6 0,2 0,2 1,0 2,0 3,0 0,0
 h dx1 dx2 dx3 ds1 ds2 ds3 d
0 0,00000 0,18261 -0,06957 -0,11304 -1,30435 -1,30435 -1,30435 1,30435
1 0,53333 -0,04928 0,06957 -0,02029 -0,02899 -0,02899 -0,02899 0,02899
Chemin central 0,53333 0,54971 0,27070 0,17956 0,97020 1,97020 2,97020 0,02980

u  x  x 3 / 2
Tracé dans le plan (A,B,C)  u 1  x2
 2 3
1,0 C x
0,9
0,3
0,8
0,7
0,6 0,2
=1
0,5
0,4 x =0
0,3 0,1
0,2
0,1
0,0 B 0,0
A 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 A 0,0 0,1 0,2 0,3 0,4 0,5 0,6
563
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Exemple
Illustration 2 : x = (0.2 , 0.6 , 0.2)
 x1 x2 x3 s1 s2 s3 
0,66667 0,2 0,6 0,2 1,0 2,0 3,0 0,0
 h dx1 dx2 dx3 ds1 ds2 ds3 d
0 0,00000 0,15294 -0,07059 -0,08235 -1,76471 -1,76471 -1,76471 1,76471
1 0,66667 0,38824 -0,38431 -0,00392 0,39216 0,39216 0,39216 -0,39216
Chemin central 0,66667 0,50965 0,28884 0,20153 1,30808 2,30808 3,30808 -0,30808

u  x  x 3 / 2
Tracé dans le plan (A,B,C)  u 1  x2
 2 3
1,0 C x
0,9
0,3
0,8
0,7
0,6
0,2
=1
0,5
0,4 x
0,3
=0
0,1
0,2
0,1
0,0 B 0,0
A 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 A 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7
564
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Exemple
Illustration 3 : x = (0.2 , 0.2 , 0.6)
 x1 x2 x3 s1 s2 s3 
0,80000 0,2 0,2 0,6 1,0 2,0 3,0 0,0
 h dx1 dx2 dx3 ds1 ds2 ds3 d
0 0,00000 0,20000 0,00000 -0,20000 -2,00000 -2,00000 -2,00000 2,00000
1 0,80000 0,41333 0,10667 -0,52000 0,93333 0,93333 0,93333 -0,93333
Chemin central 0,80000 0,48130 0,30051 0,21845 1,66217 2,66217 3,66217 -0,66217

u  x  x 3 / 2
Tracé dans le plan (A,B,C)  u 1  x2
 2 3
1,0
C
0,9 0,6

0,8
0,5
0,7 =0
0,6 0,4

0,5
x
0,3
0,4 x =1
0,3 0,2

0,2
0,1
0,1
0,0 B 0,0
A 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 A 0,0 0,1 0,2 0,3 0,4 0,5
565
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Mesure de dualité


Distance au chemin central
• Pour une hauteur de barrière h, le point du chemin central est tel que tous les produits xisi sont
égaux à h : XS  he  x i s i  h, i  1,..., n
1 T 1 n
• Au point courant la moyenne des produits xisi est la mesure de dualité  :   x s   x i s i
n n i 1
• On quantifie la distance  du point courant au chemin central par la moyenne des écarts
(xisi - )
 x 1s1  
1     1
         XSe  e
    
 x nsn   
• Pour que l’algorithme de point intérieur converge, il faut que les produits xisi tendent
simultanément vers 0, et éviter que certains s’annulent prématurément.

• On impose de suivre approximativement le chemin central en interdisant de trop s’en écarter


 contrainte de distance maximale au chemin central :    m
 définition du voisinage du chemin central

566
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017

3.2.2 Voisinage
Voisinage du chemin central
Le voisinage du chemin central est défini par une borne m sur la distance  :    m

• Voisinage restreint avec la norme 2, noté V2(m )


 1 
V2 ( m )  ( x, , s)  X int / XSe  e 2   m  avec 0   m 1
  
• Voisinage large avec la norme , noté V (m )
 1 
V ( m )  ( x, , s)  X int / XSe  e    m  avec 0   m 1
  
1
XSe  e    m  x i s i     m , i  1,, n

 (1   m )  x i s i  (1   m ) , i  1,, n

• On se contente de la borne inférieure, qui empêche les produits xisi de converger


prématurément vers 0. En remplaçant m par 1-m
V  ( m )  ( x, , s)  X int / x i s i   m , i  1,, n avec 0   m 1

567
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017

3.2.3 Algorithmes

 Suivi du chemin central

 Algorithme à pas restreint

 Algorithme à pas long

 Algorithme de prédiction-correction

 Exemple

568
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017

3.2.3 Algorithmes
Suivi du chemin central
On peut envisager 3 algorithmes de suivi du chemin central :
• Algorithme à pas restreint
• Algorithme à pas long
• Algorithme de prédiction-correction

Principes
• Les 3 algorithmes sont basés sur l’itération de Newton.

A 0 0  d x   0 
     h   k
0 AT I  d     0  avec  1
S  k  x Tk s k
 k 0 X k  d s   X S e  he 
 k k   n
 x k 1   x k  dx   x k 1 
       
  k 1     k    d   , 0    1 avec  choisi tel que  k 1   V2 ( m ) ou V  ( m )

s  s  d  s 
 k 1   k   s  k 1 
• Les différences résident dans la stratégie de réglage du paramètre de centrage  et du pas .

569
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017

3.2.3 Algorithme à pas restreint


Algorithme à pas restreint

• On applique systématiquement l’itération de Newton avec  =1.


 x k 1   x k   d x 
     
  k 1     k    d  
s  s  d 
 k 1   k   s 

• On règle le paramètre de centrage  pour rester dans le voisinage restreint du chemin central.

A 0 0  d x   0   x k 1 
      
0 AT I  d     0  avec  tel que :   k 1   V2 ( m )
S     s 
 k 0 X k  d s   X k Sk e   k e   k 1 

Réglages
• m =0.4  largeur du voisinage
m
•   1  garantit que l’itération de Newton reste dans le voisinage restreint
n
570
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017

3.2.3 Algorithme à pas restreint


Réglage du paramètre de centrage

 x k 1   x k   d x 
     
Le nouveau point doit rester dans le voisinage restreint :   k 1     k    d    V2 ( m )
s  s  d 
 k 1   k   s 
1 X k 1  X k  D x , D x  diag(d x ) , d x  D x e
 X k 1Sk 1e   k e 2   m avec Sk 1  Sk  D s , D s  diag(d s ) , d s  D s e
k Sk d x  X k d s  X k Sk e   k e


1
X k  D x Sk  D s e   k e 2   m
k
1
 X k Sk e  X k d s  Sk d x   k e 2   m à l’ordre 1 en dx , ds
k
1
  k e   k e 2   m
k
m
   1 e 2   m avec e2 n    1
n

571
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017

3.2.3 Algorithme à pas long


Algorithme à pas long

• On fixe le paramètre de centrage .


A 0 0  d x   0 
    
0 AT I  d     0 
S X k  d s   X S e   e 
 k 0  k k k 

• On règle le pas  pour rester dans le voisinage large du chemin central.

 x k 1   x k  dx   x k 1 
       
  
 k 1   k     d  , 0    1 avec  tel que :   k 1   V  ( m )
s  s  d  s 
 k 1   k   s  k 1 

Réglages
• m = 0.001  largeur du voisinage
•  = 0.1
• Initialisation avec =1
Division de  par 2 tant que le nouveau point n’est pas dans le voisinage large
572
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017

3.2.3 Algorithme de prédiction-correction


Algorithme de prédiction-correction
Etape de prédiction
• On prédit la direction de l’optimum avec un paramètre de centrage =0 (pas de barrière).
~
A 0 0  d x   0 
  ~  
 0 A T
I 
  d    0 
S   ~   X S e
 k 0 X k  d s   k k 
• On règle le pas  pour rester dans le voisinage restreint du chemin central.

~x k 1   x k  ~d x  ~x 


~     ~  ~ k 1 
  k 1     k    d   , 0    1 avec  tel que :   k 1   V2 ( m pred )
 ~s   s  ~   ~s 
 k 1   k   ds   k 1 
 

Réglages
• m pred = 0.5  largeur du voisinage

• Initialisation avec =1


Division de  par 2 tant que le nouveau point n’est pas dans le voisinage restreint
573
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017

3.2.3 Algorithme de prédiction-correction


Algorithme de prédiction-correction
Etape de correction
• On calcule la direction du chemin central avec un paramètre de centrage =1 .

A 0 0  d x   0 
    
0 AT I  d     0 
S X k  d s   X S e   e
 k 0  k k k 

• On applique un recentrage avec un pas =1 pour revenir vers le chemin central.

 x k 1   ~ x  d 
   ~ k 1   x 
  k 1     k 1    d  
 s   ~s   d 
 k 1   k 1   s 

Mise en œuvre pratique


• Différentes stratégies possibles  contrôle de la distance au chemin central
 réglages (,,) à adapter au cours des itérations
• Choix du point initial  suffisamment loin des bords (xTs >> 0) sinon blocage
• Extension à des problèmes non linéaires
574
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017

3.2.3 Exemple
Algorithme à pas restreint
• Point initial : x = (0.6 , 0.2 , 0.2) ,  = 0 , s = (1 , 2 , 3) x1 0,6 0,2 0,2
x = (0.2 , 0.6 , 0.2) x2 0,2 0,6 0,2
x = (0.2 , 0.2 , 0.6) x3 0,2 0,2 0,6
Iteration   
m
• Paramètre de centrage :   1  avec m = 0,4 0 0,53333 0,66667 0,80000
 x, , s   V2 ( m ) n 1 0,41017 0,51271 0,61525
2 0,31544 0,39430 0,47316
 0,8
3 0,24259 0,30324 0,36389
0,7 4 0,18657 0,23321 0,27985
5 0,14348 0,17935 0,21522
0,6
6 0,11035 0,13793 0,16552
0,5 7 0,08486 0,10608 0,12729
0,4 8 0,06526 0,08158 0,09790
9 0,05019 0,06274 0,07529
0,3
10 0,03860 0,04825 0,05790
0,2 20 0,00279 0,00349 0,00419
30 0,00020 0,00025 0,00030
0,1
40 0,00001 0,00002 0,00002
0,0 45 0,00000 0,00000 0,00001
0 5 10 15 20 25 30 35 40 45

Itération 575
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017

3.2.3 Exemple
Algorithme à pas restreint
u  x 2  x 3 / 2
• Tracé dans le plan (A,B,C)   1
u 2  x 3
1,0
C

0,9

0,8

0,7
(0.2 0.2 0.6)
0,6

0,5

0,4

x
0,3
(0.6 0.2 0.2)
0,2
(0.2 0.6 0.2)
0,1

0,0
B
A 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0
576
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017

3.2.3 Exemple
Algorithme à pas long
• Point initial : x = (0.6 , 0.2 , 0.2) ,  = 0 , s = (1 , 2 , 3) x1 0,6 0,2 0,2
x = (0.2 , 0.6 , 0.2) x2 0,2 0,6 0,2
x = (0.2 , 0.2 , 0.6) x3 0,2 0,2 0,6
• Paramètre de centrage :  = 0.1 avec m = 0,4 Iteration   
• Pas : =1  /2 tant que x  d x i s  d s i   m 0 0,53333 0,66667 0,80000

 x, , s   V  ( m ) 1 0,29333 0,36667 0,44000


2 0,16133 0,20167 0,24200
 0,8 3 0,08873 0,02017 0,02420
4 0,00887 0,00202 0,00242
0,7
5 0,00089 0,00020 0,00024
0,6 6 0,00009 0,00002 0,00002
7 0,00001 0,00000 0,00000
0,5
8 0,00000 0,00000 0,00000
0,4

0,3

0,2

0,1

0,0
0 1 2 3 4 5 6 7 8
Itération 577
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017

3.2.3 Exemple
Algorithme à pas long
u  x 2  x 3 / 2
• Tracé dans le plan (A,B,C)   1
u 2  x 3
1,0
C

0,9

0,8

0,7
(0.2 0.2 0.6)
0,6

0,5

0,4

x
0,3
(0.6 0.2 0.2)
0,2
(0.2 0.6 0.2)
0,1

0,0
B
A 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0
578
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017

3.2.3 Exemple
Comparaison
• Algorithme à pas long  convergence beaucoup plus rapide (8 itérations au lieu de 45)
• Influence des réglages  à adapter au cas par cas (valeurs de , , )
1,0

0,9

0,8

0,7
(0.2 0.2 0.6)
0,6

0,5

0,4
x
0,3
(0.6 0.2 0.2)
0,2
(0.2 0.6 0.2)
0,1

0,0
0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0
579
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.4 Extensions
Techniques d’optimisation Mai 2017

3.2.4 Extensions

 Problème linéaire

 Problème quadratique

 Problème non linéaire

 Représentation

580
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.4 Extensions
Techniques d’optimisation Mai 2017

3.2.4 Problème linéaire


Problème linéaire
Ax  b
min c T x sous 
xR n
x  0
• Lagrangien : L( x, , s)  c T x  T (Ax  b)  s T x

Ax  b  0
 x L( x, , s)  0  Ax  b 
• Conditions KKT :   F( x ,  , s )    L ( x ,  , s ) 0
XS  0  x 
  XSe  he   barrière h
x, s  0
dx  dx 
   
• Méthode de Newton :  F ( x ,  , s ) 
d   F( x ,  , s )  direction  d  
d  d 
 s  s
A 0 0  d x   Ax  b 
    T  =0
si admissible
  0 AT I  d     A   s  c  =0
S 0  XSe  he 
 X  d s   

• On peut appliquer le même algorithme à des problèmes non linéaires.


581
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.4 Extensions
Techniques d’optimisation Mai 2017

3.2.4 Problème quadratique


Problème quadratique
Ax  b
minn x T Qx  c T x sous 
1
xR 2 x  0
1
• Lagrangien : L( x, , s)  x T Qx  c T x  T (Ax  b)  s T x
2
Ax  b  0
 x L( x, , s)  0  Ax  b 
• Conditions KKT :   F( x ,  , s )    L ( x ,  , s ) 0
XS  0  x 
  XSe  he   barrière h
x, s  0
dx  dx 
   
• Méthode de Newton :  F ( x ,  , s ) 
d   F( x ,  , s )  direction  d  
d  d 
 s  s
A 0 0  d x   Ax  b 
    
  Q AT I  d     Qx  A   s  c 
T

S 0  XSe  he 
 X  d s   

• Différence avec le cas linéaire : matrice Q   2xx L( x, , s)


582
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.4 Extensions
Techniques d’optimisation Mai 2017

3.2.4 Problème non linéaire


Problème non linéaire
c( x )  0  contraintes actives
minn f ( x ) sous 
xR x  0
• Lagrangien : L( x, , s)  f ( x)  T c( x )  s T x

c( x )  0
 x L( x, , s)  0  c( x ) 
• Conditions KKT :   F( x ,  , s )    L ( x ,  , s ) 0
XS  0  x 
  XSe  he   barrière h
x, s  0
dx  dx 
   
• Méthode de Newton :  F( x ,  , s ) 
d   F( x ,  , s )  direction  d  
d  d 
 s  s
 c ( x ) T 0 0  d x 
 2    c( x ) 
   xx L( x, , s) c( x ) I  d      x L( x, , s) 

    
S 0 X  d s   XSe  he 

 2xx L( x, , s)
• Différence avec le cas linéaire : matrices 
c( x ) 583
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.4 Extensions
Techniques d’optimisation Mai 2017

3.2.4 Représentation
Tracé des itérations

Espace primal : variables x Espace primal-dual : produits xs

x2 x 2 s2 borne voisinage
chemin central chemin central

itérations
itérations

x1 x 1 s1
584
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
Techniques d’optimisation Mai 2017

Sommaire
1. Bases théoriques
2. Optimisation sans contraintes

3. Optimisation avec contraintes


3.1 Simplexe
3.2 Point intérieur
3.3 Gradient projeté
3.3.1 Principes
3.3.2 Direction de déplacement
3.3.3 Restauration
3.3.4 Algorithme
3.4 Lagrangien augmenté
3.5 Programmation quadratique séquentielle
3.6 Convergence

4. Optimisation discrète
5. Optimisation fonctionnelle

585
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.1 Principes
Techniques d’optimisation Mai 2017

3.3.1 Gradient projeté


Problème avec contraintes égalité
c (x)  0
minn f(x) sous  E  minn f ( x ) sous c( x )  0  m contraintes actives
xR c I ( x )  0 xR

Etapes principales
A chaque itération :
• Construction d’une direction de descente dk à partir du point xk
• Réglage du pas de déplacement sk suivant dk

Direction de descente
On construit la direction dk dans l’hyperplan tangent aux contraintes (= espace nul) en xk
• Gradient projeté  projection du gradient sur l’hyperplan tangent
• Gradient réduit  réduction du gradient sur une base de l’espace nul

Pas de déplacement
• Recherche linéaire suivant dk  pas sk
• Restauration de l’admissibilité  méthode de Newton
• Règles d’acceptation du pas  Armijo, Goldstein, Wolfe

586
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation Mai 2017

3.3.2 Direction de déplacement

 Hyperplan tangent aux contraintes

 Gradient projeté

 Gradient réduit

 Direction de déplacement

 Exemple

587
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation Mai 2017

3.3.2 Hyperplan tangent


Problème avec contraintes linéaires
min f ( x ) sous Ax  b
xR n

• x0 point admissible  Ax0 = b   Ad  0



• d déplacement admissible à partir de x0  A(x0 + d) = b 
c(x0)
• Ad = 0 définit l’espace nul des contraintes
= hyperplan des contraintes
c(x)=0
x0
• Le déplacement dRn est admissible si
d
d est dans l’hyperplan des contraintes.

Problème avec contraintes non linéaires


minn f ( x ) sous c( x )  0
xR

• On définit l’espace nul tangent ou hyperplan tangent en x0 avec A = c(x0)T  Ad = 0

• On cherche un déplacement dRn dans l’hyperplan tangent : c(x0)Td = 0


Un déplacement complémentaire est ensuite nécessaire pour restaurer l’admissibilité.
588
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation Mai 2017

3.3.2 Gradient projeté


Définition
minn f ( x ) sous c( x )  0
xR

Le gradient projeté est la projection orthogonale du gradient de f sur l’hyperplan tangent.

Expression du gradient projeté


c(x0)
• Hyperplan tangent aux contraintes en x0 admissible
Ad = 0 avec A = c(x0)T
c(x)=0
x0
• Matrice de projection sur l’hyperplan tangent
 
1 gp
P  I  A T AA T A

• Notations
g(x0) gradient de f en x0  g(x0) = f(x0)
gp(x0) gradient projeté  gp(x0) = Pg(x0)


 g p  I  A T AA T  
1

A g avec A  c( x 0 ) T
g

Ag  0  gp  hyperplan tangent


• gp vérifie :  T p

g p g  g p  0   ggp  hyperplan tangent
P T  P
car  2
P  P
589
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation Mai 2017

3.3.2 Gradient projeté


Direction de descente
• La direction du gradient projeté est la direction de plus forte pente dans l’hyperplan tangent
= direction dans l’hyperplan qui maximise la dérivée directionnelle de f

Preuve
La direction d dans l’hyperplan maximisant la dérivée directionnelle de f est solution de
 Ad  0  d  hyperplan tangent
minn g t d sous 
 d  1  d d  1  norme = 1
T
d R

t T
T

Lagrangien : Ld , ,    g d   Ad   d d  1 avec   R ,   R
m

 
 g  AT   2 d  0  d   g  AT  / 2  
Conditions KKT :  Ad  0  Ag  AAT   0     AAT  1
Ag
 d  1  2    g  AT 

d est bien un vecteur normé colinéaire à I  A AA  Ag


T T 1

• La méthode du gradient projeté équivaut à la méthode de plus forte pente appliquée dans
l’espace nul des contraintes  méthode d’ordre 1 peu efficace
 amélioration par méthode de quasi-Newton
590
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation Mai 2017

3.3.2 Gradient réduit


Définition
minn f ( x ) sous c( x )  0
xR

Le gradient réduit est le gradient de la fonction réduite sur une base de l’espace nul tangent.

Expression du gradient réduit


• Base Z de l’espace nul tangent aux contraintes : AZ = 0 avec A = c(x0)T
AZ  0
• Décomposition du déplacement : p  Yp Y  Zp Z avec AY inversible

p 0
• Déplacement admissible : Ap  0   Y
p  Zp Z
• Fonction réduite fr : minn f(x 0  p) sous A(x 0  p)  b  min f r (p Z )  f x 0  Zp Z 
pR p Z R n -m

• Notations
g(x0) gradient de f en x0  g(x0) = f(x0)  g Rn
gr(x0) gradient réduit  gr(x0) = fr(pZ=0)  gr Rnm (m = nombre de contraintes)
f r (p Z )  f x 0  Zp Z   f r (p Z )  Z T f x 0  Zp Z   g r  ZT g en pZ = 0
 gr est le gradient de la fonction réduite fr (= fonction de nm variables pZ)
591
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation Mai 2017

3.3.2 Gradient réduit


Direction de descente
• Le déplacement à partir du point x0 admissible est décomposé en
AZ  0 p 0
p  Yp Y  Zp Z avec  Ap  0   Y
AY inversible p  Zp Z
• Le gradient réduit gr donne la direction de plus forte pente suivant les variables pZ.
La direction de déplacement dans Rn est : d = Zgr .

• On peut choisir les matrices Y et Z


- à partir de matrices orthogonales  factorisation QR de A
- à partir d’une base de A  BRmm (= m colonnes indépendantes de A)

Gradient réduit sur une base B de A m n m

 m n m   gB  B 1
m  B N m
1

• AE   B N   g    Y   
nm Z   

  gN   0   I nm
(E = matrice de permutation de colonnes de A)


T
 1

Le gradient réduit par rapport à la base B est : g r  Z g  g N  B N g B
T

592
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation Mai 2017

3.3.2 Direction de déplacement


Problème avec contraintes égalité

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


xR n

• On construit la direction de déplacement dRn dans l’hyperplan tangent aux contraintes en x0


Ad = 0 avec A = c(x0)T
 2 méthodes de construction de la direction d

• Méthode du gradient projeté


La direction d est celle du gradient projeté : d = gp

d  Pg avec P  I  A T AA T  
1
A (P = matrice de projection sur l’hyperplan tangent)

• Méthode du gradient réduit


La direction d est obtenue à partir du gradient de la fonction réduite : d = Zgr avec gr = ZTg

d  ZZT g avec AZ  0 (Z = base de l’hyperplan tangent)

• On cherche un pas de déplacement suivant –d pour minimiser f.


Un déplacement complémentaire est nécessaire pour restaurer l’admissibilité.
593
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation Mai 2017

3.3.2 Exemple
Exemple
• Minimisation de f ( x )  x1  x 2 sous c( x )  x12  x 2  1  1  0
2

1  2x 1  2,5
f x    
cx    
1  2( x 2  1) 
2

1,5
• Changement de variables (coordonnées polaires)
1
x 1  r cos  f (r, )  r (cos   sin )  1
x  r sin   1   0,5
c(r, )  r  1
2
 2
0
• Elimination variable r -2 -1,5 -1 -0,5 0
-0,5
0,5 1 1,5 2

r  1  f ()  cos   sin   1 -1

• Minimum
    
f ' ()   sin   cos   0  tan   1    ou  
 4 4   *   
f ' ' ()   cos   sin   0   cos (1  tan )  0   cos   0  4

x *   1 / 2  0.70711
  1
x 2 *  1  1 / 2  0.29289
594
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation Mai 2017

3.3.2 Exemple
Gradient projeté
• Minimisation de f ( x )  x1  x 2 sous c( x )  x12  x 2  1  1  0
2

1  2x1   cos  0 


Point admissible x0 (r0=1, 0)  f x 0     , cx 0      2r0  
 
1  2( x 2  1)   sin  0 
g=f
• Gradient projeté au point x0
 A  c ( x 0 ) T , g  f ( x 0 ) x2
g p  Pg avec 
 P  I  A T
AA 
T 1
A  gp
A  2r0 cos  0 sin  0  c

 sin 2 0  sin 0 cos 0 


P    r x0 

  sin 0 cos 0 cos 0
2

1
  sin  0 
 g p  cos  0  sin  0  
 cos  0
x* c(x)=0
• Direction de descente au point x0
gp   sin 0  x1
d     tangente au cercle en x0
gp  cos  0 595
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation Mai 2017

3.3.2 Exemple
Gradient réduit
• Minimisation de f ( x )  x1  x 2 sous c( x )  x12  x 2  1  1  0
2

1  2x1   cos  0 


Point admissible x0 (r0=1, 0)  f x 0     , cx 0      2r0  
 
1  2( x 2  1)   sin  0 

• Gradient réduit au point x0


 A  c ( x 0 ) T , g  f ( x 0 ) x2
   B 1 N 
Zgr
g r  Z T g avec 
AE  B N  , Z   I 
 
   c
  tan  0 
A  2r0 cos  0 sin  0  Z   
 1  r x0 
 g r  1  tan  0
1
cos  0  sin  0   sin  0 
 Zg r   
cos  0  cos  0

x* c(x)=0
• Direction de descente au point x0
Zg r   sin 0  x1
d     tangente au cercle en x0
Zg r  cos 0  596
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.3 Restauration
Techniques d’optimisation Mai 2017

3.3.3 Restauration

 Point initial

 Itérations admissibles

 Méthode de restauration

597
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.3 Restauration
Techniques d’optimisation Mai 2017

3.3.3 Restauration
Itérations admissibles
La méthode du gradient projeté ou réduit construit une suite de solutions admissibles
 point initial admissible
 restauration de la faisabilité à chaque itération

Point initial
c ( x )  0
• On peut construire un point initial admissible du problème minn f(x) sous c E( x )  0
xR  I
en résolvant le problème préliminaire sans contrainte minn c E (x) 2
 max0, c I (x) 2
xR

• La solution x0 de ce problème préliminaire est admissible si le coût est nul.


c (x )  0 c (x )  0
 max0, c I (x 0 )  0   E 0   E 0
max0, c I (x 0 )   0
c E (x 0 ) 2 2
c I (x 0 )  0
Restauration de la faisabilité
• La direction de descente d est dans l’hyperplan tangent aux contraintes au point courant.
• Si les contraintes ne sont pas linéaires, un pas s suivant d donne un point non admissible.
 Il faut restaurer la faisabilité avant d’évaluer si le pas s est acceptable.

598
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.3 Restauration
Techniques d’optimisation Mai 2017

3.3.3 Restauration
Déplacement admissible
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

• Le déplacement p1 est suivant la direction de descente d dans l’hyperplan tangent : p1 = –sd


dRn = direction construite à partir du gradient projeté ou du gradient réduit
s > 0 = pas de déplacement suivant –d (pour minimisation) x2 p
2
On obtient un point x1 = x0 + p1 dans l’hyperplan tangent
 non admissible si contraintes non linéaires x1

• Le déplacement p2 restaure un point admissible à partir du point x1. p1


 linéarisation des contraintes en x1 x0
 résolution d’un système sous-déterminé
On obtient un point x2 = x1 + p2 admissible. c(x)=0
c(x)=c1
Recherche linéaire
• On évalue le point x2 correspondant au pas s de recherche linéaire suivant d.
• Le pas s est modifié par dichotomie jusqu’à trouver un point x 2(s) acceptable.
 règles d’Armijo, Goldstein, Wolfe,…
599
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.3 Restauration
Techniques d’optimisation Mai 2017

3.3.3 Restauration
Méthode de restauration
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 apportée par p1


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

• Plusieurs pas de restauration peuvent être nécessaires.

p2
c(x)=0
p1 x1
x0
c(x)=c1
c(x1)
c(x0) 600
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.3 Restauration
Techniques d’optimisation Mai 2017

3.3.3 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

601
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.4 Algorithme
Techniques d’optimisation Mai 2017

3.3.4 Algorithme

 Algorithme de gradient projeté / réduit

 Exemple

602
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.4 Algorithme
Techniques d’optimisation Mai 2017

3.3.4 Algorithme
Algorithme de gradient projeté/réduit
Les principales étapes d’une itération de gradient projeté/réduit sont
• construire la direction de descente au point courant
• effectuer une recherche linéaire avec restauration

Direction de descente
• Sélection des contraintes actives Mise à jour
• Projection ou réduction dans l’hyperplan tangent xk , Hk
• Mise à jour du hessien (quasi-Newton)

Recherche linéaire
• Méthode de dichotomie sur le pas de déplacement Projection ou réduction
• Restauration avant évaluation du pas Direction dk
• Règles d’acceptation (Armijo,…)

Principales difficultés
• Amélioration critère  grands pas Recherche linéaire
• Restauration contraintes  petits pas avec restauration
 difficultés sur problèmes très non-linéaires Pas sk
 réglages à adapter au cas par cas
603
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.4 Algorithme
Techniques d’optimisation Mai 2017

3.3.4 Exemple
Exemple
• Minimisation de f ( x )  x1  x 2 sous c( x )  x12  x 2  1  1  0
2 2,5

2
x *   1 / 2  0.70711
• Solution :  1 1,5

x 2 *  1  1 / 2  0.29289 1

0,5

Itérations
 x   r cos   0
• Point courant : x   1     -2 -1,5 -1 -0,5 0
-0,5
0,5 1 1,5 2

 x 2   r sin   1 
-1

  sin     sin  
• Descente : x’ = x  s1d1 avec d1     g p  cos   sin  
 cos    cos  
 pas s1 suivant le gradient projeté
 cos    2x1 
• Restauration : x’’ = x’  s2d2avec d 2     cx    
 sin    2( x 2  1) 
 pas s2 suivant le gradient des contraintes

• Réglage des pas : s2 est calculé pour restaurer c(x’’) = 0


s1 est choisi pour vérifier une décroissance suffisante f(x’’) < f(x)
604
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.4 Algorithme
Techniques d’optimisation Mai 2017

3.3.4 Exemple
Exemple
• Minimisation de f ( x )  x1  x 2 sous c( x )  x12  x 2  1  1  0
2

 x 1   0.1  x 1  1
• Point initial :       Restauration initiale :     
x2   1   x 2  1

Itération x1 x2 f(x) c(x) Descente s1 x1' x 2' c(x') Restauration s2


1 0,10000 1,00000 1,10000 -0,99000 0,00000 0,10000 1,00000 -0,99000 4,50000
2 1,00000 1,00000 2,00000 0,00000 1,00000 1,00000 0,00000 1,00000 -0,50000
3 0,00000 0,00000 0,00000 0,00000 0,50000 -0,50000 0,00000 0,25000 -0,06699
4 -0,50000 0,13397 -0,36603 0,00000 0,18301 -0,65849 0,22548 0,03349 -0,00844
5 -0,65005 0,24011 -0,40994 0,00000 5,492E-02 -0,69178 0,27581 3,016E-03 -7,547E-04
6 -0,69080 0,27696 -0,41385 0,00000 1,612E-02 -0,70246 0,28809 2,599E-04 -6,497E-05
7 -0,70237 0,28819 -0,41418 0,00000 4,722E-03 -0,70573 0,29150 2,230E-05 -5,576E-06
8 -0,70572 0,29151 -0,41421 0,00000 1,383E-03 -0,70670 0,29249 1,913E-06 -4,783E-07
9 -0,70670 0,29249 -0,41421 0,00000 4,051E-04 -0,70699 0,29277 1,641E-07 -4,103E-08
10 -0,70699 0,29277 -0,41421 0,00000 1,187E-04 -0,70707 0,29286 1,408E-08 -3,520E-09
11 -0,70707 0,29286 -0,41421 0,00000 3,475E-05 -0,70710 0,29288 1,208E-09 -3,020E-10
12 -0,70710 0,29288 -0,41421 0,00000
605
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.4 Algorithme
Techniques d’optimisation Mai 2017

3.3.4 Exemple
Exemple
Minimisation de f ( x )  x1  x 2 sous c( x )  x12  x 2  1  1  0
2

Point initial Point initial admissible Solution


 x 1   0.1  x 1  1  x 1 *    1 / 2  0.70711
     restauration initiale
    
itérations     
 
x2   1   x 2  1  x 2 * 1  1 / 2  0.29289 

2,5 0,4

2,0
0,3

1,5

0,2
1,0

0,5
0,1

0,0
-2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0
0,0
-0,5 -0,8 -0,7 -0,6 -0,5 -0,4

-1,0 -0,1

606
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
Techniques d’optimisation Mai 2017

Sommaire
1. Bases théoriques
2. Optimisation sans contraintes

3. Optimisation avec contraintes


3.1 Simplexe
3.2 Point intérieur
3.3 Gradient projeté
3.4 Lagrangien augmenté
3.4.1 Principes
3.4.2 Pénalisation
3.4.3 Méthode duale
3.4.4 Algorithme
3.5 Programmation quadratique séquentielle
3.6 Convergence

4. Optimisation discrète
5. Optimisation fonctionnelle

607
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.1 Principes
Techniques d’optimisation Mai 2017

3.4.1 Lagrangien augmenté


Problème avec contraintes égalité
c (x)  0
minn f(x) sous  E  minn f ( x ) sous c( x )  0  contraintes actives
xR c I ( x )  0 xR

La difficulté de résolution vient des 2 objectifs antagonistes :


• Minimiser le critère f(x)
• Satisfaire les contraintes c(x)=0

Méthodes de pénalisation
Les contraintes sont ajoutées à la fonction coût avec une pondération :
• Critère augmenté  pondération = pénalisation des contraintes
• Lagrangien  pondération = multiplicateurs de Lagrange
• Lagrangien augmenté  pondération = pénalisation + multiplicateurs

 On se ramène à un problème sans contraintes plus simple

Les difficultés viennent du réglage de la pondération :


• Le problème pénalisé sans contraintes doit être équivalent au problème avec contraintes.
• Le problème pénalisé est mal conditionné lorsque la pénalisation est grande.

608
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation Mai 2017

3.4.2 Pénalisation

 Critère augmenté

 Pénalisation quadratique

 Pénalisation exacte

 Mise en œuvre

 Lagrangien augmenté

609
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation Mai 2017

3.4.2 Critère augmenté


Problème avec contraintes égalité
c (x)  0
minn f(x) sous  E  minn f ( x ) sous c( x )  0  contraintes actives
xR c I ( x )  0 xR

On note x* la solution du problème avec contraintes.

Critère augmenté
On ajoute au critère un terme positif fonction de la violation des contraintes
avec un coefficient de pénalisation  > 0  2 méthodes usuelles de pénalisation
• Pénalisation en norme 2 (pénalisation quadratique)

2

f ρ (x)  f(x)  ρ c E (x) 2  max0, c I (x)  2
1 2 2
 1
 f ρ (x)  f(x)  ρ c(x) 2
2
2

• Pénalisation en norme 1

f ρ (x)  f(x)  ρ c E (x) 1  max0, c I (x)  1   f ρ (x)  f(x)  ρ c(x) 1

Problème sans contraintes


min f ρ (x)  solution x
xR n

610
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation Mai 2017

3.4.2 Pénalisation quadratique


Problème pénalisé l2

min f ρ (x)
xR n 2
 2

avec f ρ (x)  f(x)  ρ c E (x) 2  max0, c I (x)  2
1 2

1 2
 f ρ (x)  f(x)  ρ c(x) 2  contraintes actives
2
Le critère l2 est différentiable deux fois pour un problème avec contraintes égalité.
On peut appliquer les algorithmes d’optimisation sans contraintes à base de gradient.

Méthode de résolution
• On résout une suite de problèmes pénalisés avec des valeurs croissantes de la pénalisation .

• Chaque problème k+1 est initialisé avec la solution précédente xk.

• Problème k avec pénalisation k : minn f ρ k (x)  solution xk


xR

• Il faut vérifier que la suite des solutions xk converge vers la solution x* du problème initial
lim x k  x * si lim  k   
k  k 

 2 résultats de convergence selon que xk est une solution exacte ou approchée


611
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation Mai 2017

3.4.2 Pénalisation quadratique


Problème pénalisé l2

• Problème avec contraintes : minn f ( x ) sous c( x )  0  solution x*


xR

• Problème k avec pénalisation k : minn f ρ k (x)  solution xk


lim x k  x 
xR
lim  k   
k  k 

Convergence
• Si xk est le minimum global exact, alors lim x k  x *
k 

• Si xk est un minimum local approché : f ρ (x k )   k avec lim  k  0


k
k 
 précision de résolution k décroissante
2
alors la limite x est : - soit un point non admissible qui minimise c(x) 2
- soit un point x* vérifiant les conditions KKT du problème initial
 lim x k  x *  minimum local

On a dans ce 2ème cas : klim
k   k c(x k )   *  multiplicateurs des contraintes actives

La solution exacte x* n’est obtenue qu’à la limite lorsque la pénalisation  tend vers l’infini.
612
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation Mai 2017

3.4.2 Pénalisation quadratique


Eléments de la démonstration
1
f  ( x )  f ( x )   c( x )  f  ( x )  f ( x )  c( x )c( x )
2

2
• Critère d’arrêt sur xk : f ρ (xk )   k
k

f ρ (xk )  f ( xk )   k c( xk )c( xk )   k c( xk )c( xk )  f ( xk ) car a  b  a  b


k

 k  f ( x k )
  k c( xk )c( xk )   k  f ( xk )  c( xk )c( xk )  k 0
k 

c( x*)  0  min c( x )



  ou si les gradients sont linéairement indépendants
c( x*)  0  admissible

• Multiplicateurs de Lagrange
f ρ (xk )  f ( xk )   k c( xk )c( xk )   k k
k
 0


 f ( x*)  c( x*)*  0 avec *  lim  k c(xk )


k 

613
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation Mai 2017

3.4.2 Pénalisation exacte


Problème pénalisé l1
min f ρ (x)
xR n

avec f ρ (x)  f(x)  ρ c E (x) 1  max0, c I (x)  1 
 f ρ (x)  f(x)  ρ c(x) 1  contraintes actives

Le critère l1 n’est pas différentiable.

Méthode de résolution
• On résout une suite de problèmes pénalisés avec des valeurs croissantes de la pénalisation .

• Chaque problème k+1 est initialisé avec la solution précédente xk.

• Problème k avec pénalisation k : minn f ρ k (x)  solution xk


xR

Convergence
• Si   *   *   max  i alors x* est un minimum local de f avec la pénalisation l1.

• La pénalisation l1 est exacte si est  est supérieur au plus grand multiplicateur.


 ne nécessite pas d’augmenter indéfiniment  pour obtenir la solution exacte x*

614
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation Mai 2017

3.4.2 Mise en oeuvre


Méthodes avec critère augmenté
• Type de pénalisation
- Pénalisation l2  différentiable, mais nécessite une pénalisation forte pour approcher x*
- Pénalisation l1  exacte, mais non différentiable

• Réglage de la pénalisation
- Trop faible  risque de divergence (pas de minimum du problème pénalisé)
- Trop forte  mauvais conditionnement, difficultés numériques

• Utilisation du critère augmenté


- Difficultés pratiques si l’on veut obtenir une bonne précision sur la solution x*
- Le critère augmenté peut servir de fonction mérite
dans le cadre d’autres algorithmes pour évaluer la progression vers l’optimum.

Méthodes avec lagrangien augmenté


On cherche à se ramener à une suite de problèmes sans contraintes
- en conservant un critère différentiable
- en évitant le mauvais conditionnement du à une pénalisation trop forte
 utilisation des multiplicateurs de Lagrange pour réduire la pénalisation
 méthode duale ou lagrangienne
615
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation Mai 2017

3.4.2 Lagrangien augmenté


Problème pénalisé l2
• La méthode de pénalisation consiste à minimiser le critère augmenté.
1 2
minn f ρ (x)  f(x)  ρ c(x)
xR 2
• La convergence est obtenue pour des valeurs croissantes de pénalisation.
 lim x k  x *  minimum local
lim  k     k 
k 
klim  k c(x k )   *  multiplicateurs des contraintes actives


*
• La solution xk ne respecte qu’approximativement les contraintes : c(x k ) 
k
• Pour respecter précisément les contraintes, il faut augmenter fortement la pénalisation.
 cause de mauvais conditionnement et de difficultés numériques

• On peut appliquer la méthode de pénalisation au problème équivalent


min L(x, *) sous c(x)  0  min f(x) sous c(x)  0  si l’on connait *
xR n xR n
1 2 1 2
 min L ρ (x, *)  L(x, *)  ρ c(x) 2  f(x)  λ *T c(x)  ρ c(x)
xR n
2 2
616
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation Mai 2017

3.4.2 Lagrangien augmenté


Lagrangien augmenté
• La méthode de lagrangien augmenté consiste à résoudre une suite de problèmes :
1 2 1 2
minn L ρ k (x,  k )  L(x,  k )  ρ k c(x) 2  f(x)  λ Tk c(x)  ρ k c(x)
xR 2 2
avec k = valeur de pénalisation du problème k
k = estimation des multiplicateurs pour le problème k

• Si lim  k   * et lim  k    les problèmes deviennent équivalents.


k  k 
minn L(x, *) sous c(x)  0  minn f(x) sous c(x)  0 
  klim xk  x *
xR xR
 minn L  (x, *)  minn f  (x)  
xR xR

La solution xk du problème minn L ρ k (x,  k ) converge vers la solution x* du problème initial.


xR

• La solution xk vérifie également :  x L ρ k (x k ,  k )  f(x k )  c(x k )λ k  ρ k c(x k )   0


à comparer à x* qui vérifie :  x L(x*, *)  f(x*)  c(x*)  * 0

 lim λ k  ρ k c(x k )  λ *
k 

(même démonstration que pour le critère augmenté avec pénalisation quadratique)


617
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation Mai 2017

3.4.2 Lagrangien augmenté


Lagrangien augmenté
• On peut estimer les multiplicateurs à l’itération k.

lim λ k  ρ k c(x k )  λ *  λ*  λ k  ρ k c(x k ) pour k assez grand


k 

 λ k 1  λ k  ρ k c(x k ) pour l’itération k+1


λ * λ k
• La valeur des contraintes à l’itération k est : c(x k )  λ 0
ρk λ*
k

On peut parvenir à respecter les contraintes sans augmenter indéfiniment la pénalisation


si k est une bonne estimation des multiplicateurs  méthode duale
 meilleur conditionnement
 convergence plus rapide et précise que la méthode du critère augmenté
 méthode de lagrangien augmenté appelée aussi méthode des multiplicateurs

Convergence
Pour  assez grand, la solution x* du problème initial est un minimum local du problème
1 2
minn L ρ (x, *)  f(x)  λ *T c(x)  ρ c(x)  pénalisation exacte si on connaît *
xR 2
 ne nécessite pas d’augmenter indéfiniment  pour obtenir la solution exacte x*
618
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017

3.4.3 Méthode duale

 Problème dual

 Maximisation duale

 Méthode d’Uzawa

 Méthode de Newton

 Méthode de lagrangien augmenté

 Exemple

619
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017

3.4.3 Problème dual


Problème avec contraintes égalité

• Problème primal : minn f(x) sous c(x)  0  m contraintes actives


xR

• Lagrangien : L( x, )  f ( x )  T c( x )  x = n variables primales


  = m variables duales

• Fonction duale : w()  minn L(x, λ)  minimisation par rapport à x


xR

• Problème dual : maxm w()  maximisation par rapport à 


R

Méthode duale (ou lagrangienne)


Une méthode duale consiste à résoudre le problème dual : max w()
R
m

• Le problème est sans contraintes, mais la fonction w() est coûteuse à évaluer.

• La solution (x*,*) est un point col du lagrangien : x, , L( x*, )  L( x*, *)  L( x, *)
 existence non garantie (saut de dualité)

620
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017

3.4.3 Maximisation duale


Fonction duale
On note xL() la valeur de x qui minimise L(x,) à  fixé.

Condition d’ordre 1 : minn L(x, λ) en x  x L (λ)   x Lx L (λ), λ   0


xR

• Fonction w : w (λ)  minn L(x, λ)  Lx L (λ), λ   fonction composée


xR

• Gradient de w : w (λ)  x L (λ). x Lx L (λ), λ     Lx L (λ), λ 


=0 = c(xL())
 w (λ)  cx L (λ) 

• Hessien de w :  2 w (λ)    cx L (λ)   x L (λ)cx L (λ) 

 
  2 w (λ)  cx L (λ)   2xx Lx L (λ), λ  cx L (λ) 
T 1

Preuve : on calcule xL() à partir de xL(xL(),)=0


 x LxL ( λ), λ   0 ,λ     x LxL ( λ), λ   0  xL ( λ) 2xx LxL ( λ), λ    2x LxL ( λ), λ   0
 xL  cT  2xx L 
1
avec   L  c
621
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017

3.4.3 Maximisation duale


Méthode de maximisation
• La fonction duale est coûteuse à évaluer.
w(λ)  minn L(x, λ)  Lx L (λ), λ   minimisation en chaque valeur  pour obtenir xL()
xR
 on ne peut pas directement maximiser w

• On réalise à chaque itération :


- une minimisation par rapport à x : (xk, k)  (xk+1,k)
- une maximisation par rapport à  : (xk+1,k)  (xk+1,k+1)

Déplacement
• Le déplacement sur x est construit en minimisant L(x,k).

minn L(x, λ k )  x k 1  x L λ k   minimisation exacte ou approchée


xR

• Le déplacement sur  est construit à partir du gradient et éventuellement du hessien de w.


 w (λ k )  cx k 1 
 minimisation approchée (pas fixé)
 2
 w ( λ k )  c x k 1 T
2
xx L x k 1 , λ k 
 1
cx k 1 

• Méthodes de déplacement sur  : Uzawa, lagrangien augmenté, Newton


622
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017

3.4.3 Méthode d’Uzawa


Principe
Le déplacement en  est construit par une méthode de plus forte pente.
λ k 1  λ k  s k w (λ k )  λ k 1  λ k  s k cx k 1 
L’efficacité de la méthode dépend du réglage du pas sk.

Méthode d’Uzawa (1958)


• On choisit un pas constant : s k = s0 .
• Difficulté : - pas s0 trop grand  oscillations autour de la solution
- pas s0 trop petit  convergence très lente
• La convergence est linéaire (méthode de plus forte pente).
• La vitesse de convergence dépend du conditionnement du hessien de la fonction duale.

 
 2 w (λ*)  cx *  2xx Lx*, λ * cx *
T 1

Améliorations
• On peut régler le pas à chaque itération par une recherche linéaire suivant w(k).
• On peut appliquer une méthode de Newton au problème dual en utilisant 2w(k).
 méthodes nécessitant une globalisation pour contrôler la convergence
 évaluations coûteuses de w()
623
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017

3.4.3 Méthode de Newton


Principe
L’itération de Newton sur le problème dual est définie par :
 w (λ k )  cx k 1 
 
1
λ k 1  λ k   w (λ k ) w (λ k )
2
avec  2
 λ    T
2
 λ 
 1
cx k 1 
 w ( k ) c x k 1 xx L x k 1 , k

• On applique une méthode de quasi-Newton au problème primal : minn L(x, λ k )


xR

H k   2xx Lx k 1 , λ k 
1
pour obtenir une approximation de l’inverse du hessien de L :

• On applique ensuite une méthode de Newton au problème dual.

   
λ k 1  λ k   2 w (λ k ) w (λ k )  λ k 1  λ k  cx k 1  H k cx k 1  cx k 1 
1 T 1

Convergence
• La convergence est superlinéaire (quasi-Newton) ou quadratique (Newton).
• Une globalisation est nécessaire pour vérifier la solution de Newton.
 évaluations supplémentaires de w() pouvant être coûteuses
• Le point col n’existe pas nécessairement si le problème n’est pas convexe (saut de dualité)
 création d’un point col par pénalisation
624
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017

3.4.3 Exemple
Exemple
f ( x )  x1  x 2 sous c( x )  x12  x 2  1  2  0
2
• Minimisation de

• Lagrangien : 
L( x, )  x1  x 2   x12  x 2  1  2
2

 1 
1   
• Fonction duale : w (λ)  min2 L(x, λ)  1  2  pour x L (λ)   2 
xR 2   1
 1
 2 
1   1
• Problème dual : max w ()  *   x*     point col
R 2  
0

w ()  cx L ()  


1
• Gradient : 2
22

• Hessien :
T
 
 2 w (λ)  cx L (λ)   2xx Lx L (λ), λ  cx L (λ)   
1 1
λ3
1 1 1 0
avec cx L (λ)      ,  2xx Lx L (λ), λ   2λ 
λ 1  0 1 
625
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017

3.4.3 Exemple
Méthode d’Uzawa
f ( x )  x1  x 2 sous c( x )  x12  x 2  1  2  0
2
• Minimisation de
 1 
 
  1 
• x k 1   2 k      s   2 
Itération à pas s fixé :
  1  1 k 1 k  22
 2   k 
 k 
• Influence du pas : s=0,1 ou s=0,2  oscillations autour de la solution

Uzawa pas s = 0,1 Uzawa pas s = 0,2


Itération x1 x2  s Itération x1 x2  s
1 -0,10000 1,00000 1,00000 0,1 1 -0,10000 1,00000 1,00000 0,2
2 -0,50000 0,50000 0,85000 0,1 2 -0,50000 0,50000 0,70000 0,2
3 -0,58824 0,41176 0,71920 0,1 3 -0,71429 0,28571 0,50408 0,2
4 -0,69521 0,30479 0,61587 0,1 4 -0,99190 0,00810 0,49763 0,2
5 -0,81186 0,18814 0,54769 0,1 5 -1,00476 -0,00476 0,50145 0,2
6 -0,91292 0,08708 0,51438 0,1 6 -0,99711 0,00289 0,49914 0,2
7 -0,97205 0,02795 0,50335 0,1 7 -1,00172 -0,00172 0,50052 0,2
8 -0,99334 0,00666 0,50070 0,1 8 -0,99896 0,00104 0,49969 0,2
9 -0,99861 0,00139 0,50014 0,1 9 -1,00062 -0,00062 0,50019 0,2
10 -0,99972 0,00028 0,50003 0,1 10 -0,99963 0,00037 0,49989 0,2
11 -0,99994 5,63E-05 0,50001 0,1 11 -1,00022 -2,24E-04 0,50007 0,2
12 -0,99999 1,13E-05 0,50000 0,1 12 -0,99987 1,34E-04 0,49996 0,2 626
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017

3.4.3 Exemple
Comparaison Uzawa / Newton
f ( x )  x1  x 2 sous c( x )  x12  x 2  1  2  0
2
• Minimisation de

 1 
 1   k 1   k  s  2  2   Uzawa
   2 k 
x k 1   2  Globalisation  pas s
• Itération k : k
 1   1 
 2  1  k 1   k  s3k  2  2   Newton
 k   2 k 
Uzawa pas s = 0,1 Newton pas s = 1
Itération x1 x2  s Itération x1 x2  s
1 -0,10000 1,00000 1,00000 0,1 1 -0,10000 1,00000 1,00000 0,25
2 -0,50000 0,50000 0,85000 0,1 2 -0,50000 0,50000 0,62500 0,50
3 -0,58824 0,41176 0,71920 0,1 3 -0,80000 0,20000 0,53711 1,00
4 -0,69521 0,30479 0,61587 0,1 4 -0,93091 0,06909 0,49577 1,00
5 -0,81186 0,18814 0,54769 0,1 5 -1,00854 -0,00854 0,49995 1,00
6 -0,91292 0,08708 0,51438 0,1 6 -1,00011 -0,00011 0,50000 1,00
7 -0,97205 0,02795 0,50335 0,1 7 -1,00000 -1,72E-08 0,50000 1,00
8 -0,99334 0,00666 0,50070 0,1 8 -1,00000 0,00E+00 0,50000 1,00
9 -0,99861 0,00139 0,50014 0,1
10 -0,99972 0,00028 0,50003 0,1
11 -0,99994 5,63E-05 0,50001 0,1
12 -0,99999 1,13E-05 0,50000 0,1 627
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017

3.4.3 Méthode de lagrangien augmenté


Principe
La méthode de lagrangien augmenté est une méthode duale appliquée au critère augmenté.
1
f ρ (x)  f(x)  ρ c(x) 2
2
• Critère augmenté f :
2
1
L ρ (x, )  f ( x )  T c( x )  ρ c(x) 2
2
• Lagrangien augmenté L :
2
• Fonction duale augmentée w : w  ()  minn L  (x, λ)
xR

Le problème dual devient : maxm w  ()


R

Fonction duale augmentée


Le gradient et le hessien de w sont identiques à ceux de w en remplaçant L par L.

 w  (λ)  cx L (λ) 


minn L  (x, λ) en x  x L (λ)
 2
 w  ( λ)  c x L ( λ) T
 2
L
xx  x L ( λ), λ 
 1
 c x L ( λ)  avec
xR

On réalise à chaque itération :


- une minimisation de L par rapport à x
- un déplacement en  à partir du gradient et du hessien de w
628
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017

3.4.3 Méthode de lagrangien augmenté


Déplacement
• Le déplacement sur x est construit en minimisant L(x,k) avec une précision donnée.
minn L  (x, λ k )  x k 1  x L λ k 
xR

• Le déplacement sur  est construit par une méthode de plus forte pente.
λ k 1  λ k  s k w  (λ k )  λ k 1  λ k  s k cx k 1 
Le pas sk est choisi à partir de la propriété de convergence : lim λ k  ρ k c(x k )  λ *
k 

s k  k  λ k 1  λ k   k cx k 1 

Convergence
• La convergence est linéaire (méthode de plus forte pente).
• La vitesse de convergence dépend du conditionnement des hessiens de L (primal) et w (dual).
 2xx L    2xx L  c.c T 


  c. c T
 mal conditionné si  grand
 1
   1I
 2 w   c T  2xx L  c 

 bien conditionné si  grand
• 
1

On peut appliquer une méthode de Newton au dual avec H k   xx L  (quasi-Newton primal)
2

 convergence superlinéaire + globalisation nécessaire


• La pénalisation peut créer un point col qui n’existe pas dans le problème initial.
629
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017

3.4.3 Exemple
Exemple
• Minimisation de f ( x )   x1x 2 sous c( x )  x1  x 2  1  0

• Lagrangien : L( x, )   x1x 2  x1  x 2  1

1 1 1
• Solution KKT : *  , x1*  x 2 *   L( x*, *)  
2 2 4

• w (λ)  min2 L(x, λ)    x 1  


Fonction duale : en prenant x   (signe de  )
xR  2
La fonction duale vaut  pour toute valeur de .
1
• Problème dual : max w ()    
R 4
• Le lagrangien n’admet pas de point col (problème non convexe).
Le problème non pénalisé présente un saut de dualité.
 On ne peut pas appliquer une méthode duale (Uzawa) sur ce problème.
 On peut créer un point col par pénalisation (méthode de lagrangien augmenté).

630
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017

3.4.3 Exemple
Point col
f  ( x )   x1x 2  x1  x 2  1 sous c( x )  x1  x 2  1  0
1 2
• Problème pénalisé :
2
x1  x 2  1  x1  x 2  1
1
   
2
• Lagrangien augmenté : L  ( x , ) x x
1 2
2
• Fonction duale : w  (λ)  min2 L  (x, λ)
xR

• Minimisation de L par rapport à x


 
 x L   0   x 2   x1  x 2  1    0  x1 ()  x 2 () 
 
 x1  x1  x 2  1    0
Ordre 1 :
1  2
    1
Ordre 2 :  2xx L   0     0
   1  

  2    12  0  1  1


1
Valeurs propres :  L convexe si  
 2  2  1 2
2 2
1      1  2  1  2  1
• On obtient si   : w  ()        
2  1  2  2  1  2  1  2
631
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017

3.4.3 Exemple
Point col

• Fonction duale : w  () 


1 
     2

1
2  12
 1  2 
 22
  


1  22 2

• Problème dual : max w  (λ)


λR

w   0   2    22  1  1  24  1  0


1 1 1
Solution : * 
 w  (*)   et x1 (*)  x 2 (*) 
2 4 2
1
w  (*)  L  ( x*, *)  
4
On retrouve la solution du problème primal sans saut de dualité  point col
1
• La pénalisation permet de créer un point col pour   en rendant le problème convexe.
2
 On peut appliquer une méthode duale au problème pénalisé ( problème initial).
 La méthode de lagrangien augmenté élargit le domaine d’application des méthodes duales.

632
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.4 Algorithme
Techniques d’optimisation Mai 2017

3.4.4 Algorithme

 Algorithme de lagrangien augmenté

 Exemple

633
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.4 Algorithme
Techniques d’optimisation Mai 2017

3.4.4 Algorithme
Méthode de lagrangien augmenté (ou méthode des multiplicateurs)
Les principales étapes d’une itération de lagrangien augmenté sont
• minimiser le lagrangien augmenté
• mettre à jour les paramètres de réglage

Minimisation du lagrangien augmenté


• Méthode de quasi-Newton Minimisation de L
• Recherche linéaire ou région de confiance Précision k
• Précision d’arrêt sur gradient

Paramètres de réglage
• Multiplicateurs Solution xk+1
• Pénalisation Contraintes c(xk+1)
• Précisions (gradient, contraintes)

Principales difficultés
• Précision contraintes  pénalisation forte Mise à jour
• Conditionnement  pénalisation faible xk+1 , k+1 , k+1 , k+1
 convergence précise difficile
 réglages à adapter au cas par cas
634
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.4 Algorithme
Techniques d’optimisation Mai 2017

3.4.4 Algorithme
Méthode de lagrangien augmenté (ou méthode des multiplicateurs)
• Réglages à l’itération k : - multiplicateurs k
- pénalisation k
- précision de résolution k
- précision sur les contraintes k

• Minimisation : min L ρ (x,  k )  critère d’arrêt  x L  x k 1 ,  k    k


xR n k k

initialisation xk  solution xk+1  valeurs des contraintes = c(xk+1)

• Mise à jour des réglages à l’itération k+1 en fonction du respect des contraintes

- Si cx k 1   k  mise à jour des multiplicateurs λ k 1  λ k  ρ k c(x k )


(contraintes bien respectées)  résolution plus précise  k 1   k , k 1  k

- Si cx k 1   k  augmentation de la pénalisation  k 1   k   10


(contraintes mal respectées)  résolution moins précise  k 1   k , k 1  k

635
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.4 Algorithme
Techniques d’optimisation Mai 2017

3.4.4 Algorithme
Estimation des multiplicateurs
• La solution (x*,*) doit vérifier la condition KKT d’ordre 1.

 x L( x*, *)  0  f ( x*)  c( x*)*  0

• On cherche au point x0 le multiplicateur qui approche « au mieux » la condition KKT.

min  x L( x 0 , )  min c( x 0 )  f ( x 0 )


2 2

 

A  c ( x 0 )
Il s’agit d’un problème de moindres carrés de la forme : min A  b avec 
2

  b   f ( x 0 )
La solution MC vérifie les équations normales : A T A MC  A T b

 
1
 MC   c( x 0 ) T c( x 0 ) c( x 0 ) T f ( x 0 )  multiplicateurs « des moindres carrés »

• L’estimation des multiplicateurs par moindres carrés est utile :


- à la première itération pour initialiser 0
- au cours des itérations pour réinitialiser k (si nécessaire).

636
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.4 Algorithme
Techniques d’optimisation Mai 2017

3.4.4 Exemple
Exemple
• Minimisation de f ( x )  2( x12  x 22  1)  x1 sous c( x )  x12  x 22  1  0
 0.5  1 3
• Point initial : x    ,   0 Solution : x*    ,   
 1.3   0 2
1,5 0,7

Suivi de la contrainte
0,6
1

0,5

0,5
0,4

0 0,3
-1,5 -1 -0,5 0 0,5 1 1,5

0,2
-0,5

0,1

-1
0
0,7 0,8 0,9 1
-1,5 -0,1

637
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.4 Algorithme
Techniques d’optimisation Mai 2017

3.4.4 Exemple
Exemple
• Minimisation de f ( x )  2( x12  x 22  1)  x1 sous c( x )  x12  x 22  1  0
 0.5  1 3
• Point initial : x    ,   0 Solution : x*    , *  
 1.3   0 2
Itération x1 x2   c(x) L  ( x ,  ) Newton

1 0,50000 1,30000 0,00000 1 -0,71238 0,90050 1


2 0,40707 0,34917 -0,71238 10 -0,05788 0,90016 1
3 0,73467 0,63433 -1,29122 10 -0,00905 0,50091 2
4 0,91556 0,39077 -1,38175 10 0,00635 0,41807 2
5 0,98869 0,16985 -1,38175 100 0,00188 0,62061 2
6 0,99953 0,04158 -1,30283 100 -0,00188 0,01728 2
7 0,99905 -0,00320 -1,49103 100 -0,00009 0,00172 1
8 0,99995 0,00171 -1,50003 100 2,06E-06 0,00057 3
9 1,00000 0,00045 -1,50003 100 1,85E-06 0,00031

pénalisation itérations
Newton
précision précision
contrainte résolution
638
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
Techniques d’optimisation Mai 2017

Sommaire
1. Bases théoriques
2. Optimisation sans contraintes

3. Optimisation avec contraintes


3.1 Simplexe
3.2 Point intérieur
3.3 Gradient projeté
3.4 Lagrangien augmenté
3.5 Programmation quadratique séquentielle
3.5.1 Principes
3.5.2 Modèle quadratique
3.5.3 Globalisation
3.5.4 Algorithme
3.6 Convergence

4. Optimisation discrète
5. Optimisation fonctionnelle

639
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.1 Principes
Techniques d’optimisation Mai 2017

3.5.1 Méthode SQP


Problème avec contraintes égalité
c (x)  0
min f(x) sous  E  min f ( x ) sous c( x )  0  m contraintes actives
xR n
c I ( x )  0 xR n

Conditions nécessaires de minimum local

• Lagrangien : L( x, )  f ( x )  T c( x )

 L ( x ,  )   f ( x )  c ( x )  
• Gradient : L( x, )   x  
   L ( x ,  )   c( x ) 

  2xx L( x, )  2x L( x, )    2xx L( x, ) c( x ) 


• Hessien :  L( x, )   2
2




  x L( x, )   L( x, )   c( x )
2 T
0 

 L( x ,  ) 
• Conditions d’ordre 1 : L( x, )   x 0  équations KKT

  L ( x ,  ) 
Méthode SQP
On cherche à résoudre les équations KKT par la méthode de Newton.

640
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.2 Modèle quadratique
Techniques d’optimisation Mai 2017

3.5.2 Modèle quadratique

 Méthode de Newton

 Problème quadratique local

 Equivalence avec la méthode de Newton

 Interprétation

 Formulation simplifiée

 Résolution

641
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.2 Modèle quadratique
Techniques d’optimisation Mai 2017

3.5.2 Méthode de Newton


Equations KKT
Les conditions KKT donnent un système d’équations non linéaire en variables (x,)
 L( x, ) 
L( x, )   x 0

  L( x ,  ) 
Méthode de Newton
Au point (xk, k), l’itération de Newton donne un déplacement d vérifiant

avec d   x   R n  m
 2 L( x k ,  k )d  L( x k ,  k ) d
d 
  2xx L( x k ,  k ) c( x k )  d x   f ( x k )  c ( x k )  k 
  


 
   
 c ( x k )
T
0    d  c( x k ) 

 2xx L( x k ,  k )d x  c( x k )d    x L( x k ,  k )
   équations de Newton
c( x k ) d x   c( x k )
T

On peut écrire un problème quadratique-linéaire en variables (dx,d)


dont les conditions d’optimalité sont les équations de Newton au point (xk, k).

642
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.2 Modèle quadratique
Techniques d’optimisation Mai 2017

3.5.2 Modèle quadratique


Problème quadratique local
Au point (xk, k), on considère le problème d’optimisation sur la variable dQPRn
1
min  x L( x k ,  k ) T d QP  d TQP  2xx L( x k ,  k )d QP sous c( x k ) T d QP  c( x k )  0
d R
QP
n
2
 problème quadratique-linéaire noté (QP)

• Lagrangien LQP avec des multiplicateurs QP sur les contraintes : c( x k ) T d QP  c( x k )  0
1

L QP (d QP ,  QP )   x L( x k ,  k ) T d QP  d TQP  2xx L( x k ,  k )d QP  TQP c( x k ) T d QP  c( x k )
2

  L (d ,  ) 
• Conditions d’ordre 1 : L QP (d QP ,  QP )   d QP QP QP   0
   L QP (d QP ,  QP ) 
 x L( x k ,  k )   2xx L( x k ,  k )d QP  c( x k ) QP  0
 
c( x k ) d QP  c( x k )  0
T

 système linéaire sur les variables primales dQPRn et les variables duales QPRm

643
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.2 Modèle quadratique
Techniques d’optimisation Mai 2017

3.5.2 Modèle quadratique


Equivalence avec la méthode de Newton
On se place au point (xk, k).

• L’itération de Newton pour résoudre les conditions KKT donne le système en variables (dx,d)
 2xx L( x k ,  k )d x  c( x k )d    x L( x k ,  k )

c( x k ) d x   c( x k )
T

• Le problème quadratique-linéaire (QP) en variables dQPRn


1
min n  x L(x k ,  k ) T d QP  d TQP 2xx L(x k ,  k )d QP sous c(x k ) T d QP  c(x k )  0
d QP R 2
a pour conditions d’ordre 1 le système en variables (dQP,QP)
 x L( x k ,  k )   2xx L( x k ,  k )d QP  c( x k ) QP  0

c( x k ) d QP  c( x k )  0
T

d QP  d x  R n
• Les 2 systèmes linéaires sont identiques en posant : 
 QP  d   R
m

644
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.2 Modèle quadratique
Techniques d’optimisation Mai 2017

3.5.2 Modèle quadratique


Interprétation
• L’itération de Newton au point (xk, k) équivaut à la résolution du problème quadratique local
1 d  d QP
min n  x L(x k ,  k ) T d QP  d TQP 2xx L(x k ,  k )d QP sous c(x k ) T d QP  c(x k )  0   x
d QP R 2 d    QP
 multiplicateur QP

• On peut formuler le problème quadratique local (QP) en

~ 

~
L ( d )  L ( x  d ,  )   
o d 2
 L à l’ordre 2 en x
minn L(d QP ) sous ~c (d QP )  0 avec 
QP k QP k QP

d QP R ~
 c (d QP )  c( x k  d QP )  
 o d QP  c à l’ordre 1 en x

 minimisation d’un modèle quadratique du lagrangien


sous un modèle linéaire des contraintes

Récapitulatif
• Optimisation sans contrainte
Newton  Minimiser un modèle quadratique de la fonction
• Optimisation avec contrainte
Newton  Minimiser un modèle quadratique du lagrangien
sous un modèle linéaire des contraintes
645
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.2 Modèle quadratique
Techniques d’optimisation Mai 2017

3.5.2 Modèle quadratique


Formulation simplifiée
• L’itération de Newton au point (xk, k) s’écrit en variables (dx,d)

 2xx L( x k ,  k )d x  c( x k )d    x L( x k ,  k )  f ( x k )  c( x k ) k



c( x k ) d x   c( x k )
T

• En faisant le changement de variable dl = k + d , on obtient

 2xx L( x k ,  k )d x  c( x k )d l  f ( x k )



c( x k ) d x   c( x k )
T

• L’itération de Newton en variables (dx,dl) équivaut au problème quadratique local


1 d  d QP
min f ( x k ) T d QP  d TQP  2xx L( x k ,  k )d QP sous c( x k ) T d QP  c( x k )  0   x
d R 2 d l   QP
n
QP

 multiplicateur QP
d  d QP
  x
d    QP   k
 même formulation avec f ( x k ) au lieu de  x L( x k ,  k )

646
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.2 Modèle quadratique
Techniques d’optimisation Mai 2017

3.5.2 Modèle quadratique


Solution du problème quadratique
• On peut calculer explicitement la solution du problème quadratique local
1
minn f ( x k ) T d QP  d TQP  2xx L( x k ,  k )d QP sous c( x k ) T d QP  c( x k )  0
d QP R 2
1 T Q   2xx L( x k ,  k )  A  c ( x k ) T
 min d QP Qd QP  c d QP sous Ad QP  b avec 
T
et 
d R 2
QP
n
c   f ( x k ) b   c ( x k )


   AQ1A T 1 AQ1c  b  
• Si Q est définie positive, la solution est :  QP 1
d QP  Q A  QP  c
T
 
• Si Q n’est pas définie positive, on remplace Q par une matrice H définie positive « proche »
 factorisation de Cholesky modifiée
 ou H  Q  I avec  suffisamment grand
d  d QP x  x k  d QP
• Le déplacement à partir du point courant (xk, k) est :  x   k 1
d    QP   k  k 1   QP

• La résolution explicite est généralement trop coûteuse à cause des inversions de matrices.
On résout le problème quadratique-linéaire par un algorithme itératif dédié.

647
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation Mai 2017

3.5.3 Globalisation

 Méthode de Newton

 SQP avec recherche linéaire

 SQP avec région de confiance

 Correction d’ordre 2

 Exemple

648
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation Mai 2017

3.5.3 Globalisation
Méthode de Newton
• La résolution des équations KKT par la méthode de Newton équivaut à
la résolution d’une suite de problèmes quadratiques
 programmation quadratique séquentielle (SQP)

• La méthode de Newton n’est pas globalement convergente.


 globalisation nécessaire par recherche linéaire ou région de confiance
 fonction mérite F mesurant la progression de l’algorithme vis-à-vis
- de l’amélioration du critère
- du respect des contraintes  critère augmenté, lagrangien augmenté

Globalisation
Deux grandes méthodes de globalisation
• Recherche linéaire
La solution du problème QP sert de direction de descente pour une recherche linéaire.
 réglage du pas de déplacement pour améliorer la fonction mérite

• Région de confiance
On ajoute au problème QP une contrainte de région de confiance.
 réglage du rayon de confiance en fonction du rapport de réduction de la fonction mérite
649
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation Mai 2017

3.5.3 SQP avec recherche linéaire


Principe
• On effectue une recherche linéaire suivant la direction dx de la solution du problème QP.

• L’amélioration est mesurée par une fonction mérite F.


La fonction F doit prendre en compte l’amélioration du critère et le respect des contraintes.
 pénalisation de la violation des contraintes
 différents choix possibles

• La fonction F doit permettre de converger vers l’optimum du problème initial.

Fonction de mérite exacte


c (x)  0
min f ( x ) sous  E  problème (PO)
xR n
c I ( x )  0
F est une fonction de mérite exacte si tout minimum local x* de (PO)
est aussi un minimum local sans contrainte de F
c (x)  0
x* minimum local de minn f ( x ) sous  E
xR c I ( x )  0
 x* minimum local de minn F( x )
xR
650
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation Mai 2017

3.5.3 SQP avec recherche linéaire


Fonction mérite l1
• Problème avec contraintes égalité
minn f ( x ) sous c( x )  0  contraintes actives
xR
m
• Critère augmenté avec la norme 1 : F1, ( x )  f ( x )   c( x ) 1 avec c( x ) 1   c i ( x )
i 1

F1, est une fonction de mérite exacte lorsque le coefficient de pénalisation  est assez grand

Théorème
On suppose que (x*,*) vérifient les conditions suffisantes d’optimalité du problème (PO)
L( x*, *)  0
d T  2 L( x*, *)d  0 , d  D( x*) avec D(x*) = cône des directions en x*
 xx

F1, est une fonction de mérite exacte si   max  i *


i 1,, m

Réglage de 
•  trop grand  mauvais conditionnement de la fonction mérite F1,
difficulté de convergence
•  trop petit  respect insuffisant des contraintes
optimum  problème initial (fonction mérite F1, non exacte)
651
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation Mai 2017

3.5.3 SQP avec recherche linéaire


Dérivée directionnelle de F1,
• La direction de recherche linéaire est donnée par la solution dx du problème QP
1
min f ( x k ) T d QP  d TQP  2xx L( x k ,  k )d QP sous c( x k ) T d QP  c( x k )  0  d x  d QP
d R
QP
n
2
• F1, n’est pas dérivable  évaluation de la dérivée directionnelle suivant la direction dx

 dF1, ( x k  sd x ) 
F1, ( x )  f ( x )   c( x ) 1  F1, d     f ( x k ) T d x   c( x k ) 1
'
x
 ds s 0

• F  vérifie
'
1, d
x
F  '
1, d 
 d Tx  2xx L( x k ,  k )d x    d l 
 c( x ) 1
avec dl = k + d
x

Valeur minimale de  d Tx  2xx L( x k ,  k )d x


• dx est une direction de descente pour F1, si   d l 

c( x ) 1

• Condition suffisante   dl 
si  2xx L( x k ,  k )  0

• F1, est une fonction de mérite exacte si   max  i *  conditions cohérentes


i 1,, m
car dl = k + d avec d*=0
652
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation Mai 2017

3.5.3 SQP avec recherche linéaire


Calcul de la dérivée directionnelle de F1,
• On cherche la dérivée directionnelle de F1, en x0 suivant la direction d.
 dF1, ( x0  sd ) 
F  '
1 , d   
 ds  s 0
• La direction d est solution du problème QP
1
minn f ( x0 )T d  d T  2xx L( x0 ,0 )d sous c( x0 )T d  c( x0 )  0
d R 2
• Développement à l’ordre 1 de F1, ( x )  f ( x )   c( x ) 1
F1, ( x0  sd )  f ( x0  sd )   c( x0  sd ) 1
 F ( x )  f ( x0 )   c( x0 ) 1
 f ( x0 )  sf ( x0 )T d   c( x0 )  sc( x0 )T d avec  1, 0 T
1
c( x0 ) d  c( x0 )
 F1, ( x0 )   c( x0 ) 1  sf ( x0 )T d   ( 1  s )c( x0 ) 1

 F1, ( x0 )  sf ( x0 )T d  s c( x0 ) 1 pour s  1


F1, ( x0  sd )  F1, ( x0 )
 F1, d  lim  f ( x0 )T d   c( x0 ) 1
'
s 0 s
653
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation Mai 2017

3.5.3 SQP avec région de confiance


Principe
• On ajoute au problème quadratique local une contrainte de région de confiance.
1 T 2 c( x k ) T d QP  c( x k )  0
min f ( x k ) d QP  d QP  xx L( x k ,  k )d QP sous 
T
d QP R n 2  d QP  r
• On peut exprimer la contrainte de région de confiance en norme 2 ou en norme .
• L’amélioration est mesurée par une fonction mérite F.
Le rayon de confiance est réglé en fonction du rapport de réduction de la fonction mérite.

Fonction de mérite l2
• On peut prendre une fonction mérite avec pénalisation quadratique
m
F2, ( x )  f ( x )   c( x ) 2
avec c( x ) 2  
i 1
ci (x) 2

• La fonction modèle quadratique correspondante est


1
F̂2, (d QP )  f ( x k ) T d QP  d TQP  2xx L( x k ,  k )d QP   c( x k ) T d QP  c( x k )
2 2

F2, ( x k )  F2, ( x k  d PQ )
• Le rapport de réduction est défini par
F̂2, ( x k )  F̂2, ( x k  d PQ )
654
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation Mai 2017

3.5.3 Correction d’ordre 2


Effet Maratos
• La direction de déplacement obtenue en résolvant le problème QP peut simultanément :
- rapprocher de l’optimum
- dégrader la fonction mérite basée sur l’amélioration du critère et des contraintes
• Ceci peut conduire à bloquer un algorithme SQP en rejetant des déplacements favorables.

Correction d’ordre 2
• On résout une 1ère fois le problème QP au point xk  solution dQP
1
minn f kT d QP  d TQP  2xx L k d QP sous c Tk d QP  c k  0
d QP R 2
• On évalue la valeur des contraintes au point xk + dQP  c(xk + dQP) = c

• Si la valeur de c(xk + dQP) est trop différente de 0 (non-linéarité des contraintes),


on résout une 2ère fois le problème QP au point xk en corrigeant la valeur des contraintes
1
min f kT d QP  d TQP  2xx L k d QP sous c Tk d QP  c k  c  correction d’ordre 2
d R
QP
n
2
• On obtient une direction de déplacement qui tient compte de la non-linéarité des contraintes.

655
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation Mai 2017

3.5.3 Exemple
Effet Maratos
• Minimisation de f ( x )  2( x 12  x 22  1)  x 1 sous c( x )  x 12  x 22  1  0
1 1 0
  2xx Lx*,  *  I  
3
• Solution : x*    , *   
 0 2  0 1 
 cos    4 cos   1   2 cos  
Point courant : x k     f    , c   
 sin    4 sin    2 sin  

• Problème QP : min4 cos   1d1  4d 2 sin  


d1 , d 2 2

1 2

d1  d 22 sous d1 cos   d 2 sin   0

en prenant  2xx L  I
1
• Solution QP : d1  d 2 tan   min d 2 tan   d 22  d 2   sin  cos 
d 2 2 cos 
2

 sin 2    sin  
 d k     sin 
 
  sin  cos     cos  
 cos   sin 2  
• Nouveau point : x k 1   

 sin   sin  cos  
656
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation Mai 2017

3.5.3 Exemple
Effet Maratos
• Minimisation de f ( x )  2( x12  x 22  1)  x1 sous c( x )  x12  x 22  1  0
 cos    cos   sin 2  
On évalue en x k    et x k 1   

 sin    sin   sin  cos  
c( x k )  cos 2   sin 2  1 c( x k )  0

• La contrainte : 
c ( x k 1 )  
cos   sin 2

2

 sin   sin  cos  2
 1
c( x )  sin 2 
 k 1

f ( x k )  2c( x k )  cos  f ( x )   cos 


• Le critère :
 k 1 k 1 
f ( x )  2c( x )  cos   sin 2     k
f ( x k 1 )  sin   cos 
2

  cos   1 
 x k  x *  21  cos 
2
x k  x*   
1   sin  
• L’écart à l’optimum x*    : 
 0 x  x*  1  cos  cos    x  x * 2  1  cos 
 k 1  sin   k 1
 

Le point xk+1 est plus proche de l’optimum que le point xk, alors que :
- la valeur du critère est dégradée : f(xk+1) > f(xk)
- la valeur de la contrainte est dégradée : c(xk+1)  0  déplacement rejeté
657
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation Mai 2017

3.5.3 Exemple
Correction d’ordre 2
• Minimisation de f ( x )  2( x12  x 22  1)  x1 sous c( x )  x12  x 22  1  0
 cos   sin 2  
On évalue la contrainte au point x k 1     c( x k 1 )  sin 2   c

 sin   sin  cos  
• Le problème QP est résolu une 2ème fois en corrigeant la valeur de la contrainte :

d ,d
1 2 2
 
min4 cos   1d1  4d 2 sin   d12  d 22 sous d1 cos   d 2 sin    sin 2 
1

• Solution QP :

d1  d 2  sin  tan   min d 2 tan   d 22  d 2  sin   d 2   sin  cos   sin 3 


1 1 2

2d 2 2 cos 
2

 sin    cos  
 d k  sin    sin 2    correction d’ordre 2
  cos    sin  

• Déplacement d’ordre 1 : tangent de norme sin  suppose la contrainte linéaire

• Déplacement d’ordre 2 : radial de norme sin2  corrige la non-linéarité

658
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation Mai 2017

3.5.3 Exemple
Correction d’ordre 2
• Minimisation de f ( x )  2( x12  x 22  1)  x1 sous c( x )  x12  x 22  1  0

1,5

 sin  
Ordre 1  d  sin  
  cos  
1

0,5

2  cos  
Ordre 2  d   sin  
0  sin  
-1,5 -1 -0,5 0 0,5 1 1,5

-0,5

-1

-1,5

659
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017

3.5.4 Algorithme

 Algorithme SQP

 Exemples
- Exemple 1 : comparaison Newton  SQP
- Exemple 2 : SQP sans  avec globalisation
- Exemple 3 : comparaison SQP  Lagrangien augmenté

660
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017

3.5.4 Algorithme
Algorithme SQP
Les principales étapes d’une itération SQP sont
• construire le modèle quadratique local au point courant
• résoudre le problème quadratique-linéaire
• appliquer une technique de globalisation

Modèle quadratique local Mise à jour


• Sélection des contraintes actives xk , HLk , k
• Mise à jour du hessien (quasi-Newton)

Résolution du problème quadratique-linéaire


• Modification pour avoir un hessien défini positif Solution problème quadratique
• Algorithme spécialisé problème quadratique dQP

Globalisation
• Mise à jour de la pénalisation de la fonction mérite
• Recherche linéaire ou région de confiance Globalisation
 grand nombre de variantes possibles dk
 stratégies et réglages à adapter au cas par cas

661
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017

3.5.4 Algorithme
Estimation des multiplicateurs
• La solution (x*,*) doit vérifier la condition KKT d’ordre 1.

 x L( x*, *)  0  f ( x*)  c( x*)*  0

• On cherche au point x0 le multiplicateur qui approche « au mieux » la condition KKT.

min  x L( x 0 , )  min c( x 0 )  f ( x 0 )


2 2

 

A  c ( x 0 )
Il s’agit d’un problème de moindres carrés de la forme : min A  b avec 
2

  b   f ( x 0 )
La solution MC vérifie les équations normales : A T A MC  A T b

 
1
 MC   c( x 0 ) T c( x 0 ) c( x 0 ) T f ( x 0 )  multiplicateurs « des moindres carrés »

• L’estimation des multiplicateurs par moindres carrés est utile :


- à la première itération pour initialiser 0
- au cours des itérations pour réinitialiser k (si nécessaire).

662
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017

3.5.4 Exemples
Exemple 1 : Comparaison Newton  SQP
• Minimisation de f ( x )  2x 12  2x 22  2x 1 x 2  4x 1  6x 2 sous c( x )  2x 12  x 2  0

• Comparaison de 3 méthodes : résolution exacte , méthode de Newton , algorithme SQP

Résolution exacte
• Lagrangien : 
L( x, )  2x 12  2x 22  2x 1 x 2  4x 1  6x 2   2x 12  x 2 
4x 1  2x 2  4  4x 1  0  x 1 *  1.06902
• Conditions KKT : 4x 2  2x 1  6    0  solution x 2 *  2.28563
2x 2  x  0   *  1.00446
 1 2 
Matrices utiles
 4x 1  2x 2  4  4x 1   4  4  2 4x 1 
   
• Newton : Fx 1 , x 2 ,     4x 2  2x 1  6     Fx 1 , x 2 ,      2 4 1 
 2x 12  x 2   4x  1 0 
   1

 4x  2x 2  4   4x   4  4  2 
• SQP : f x    1  cx    1   2xx Lx,     
 2
4 x  2 x 1  6   1    2 4 
663
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017

3.5.4 Exemples
Exemple 1 : Méthode de Newton
 d x1 
 
• Itération de Newton : Fx 1 , x 2 ,   d x 2   Fx 1 , x 2 ,  
d 
 
 x1   0    6  4 2 0 
       
• Point initial : x 
 2   1  Fx 1 , x 2 ,      2 Fx 1 , x 2 ,      2 4  1
   0  1   0 1 0 
       

 4  2 0  d x1   6   d x1   1 
        
• Itération 1 :   2 4  1 x 2    2 
d   d x2    1
 0  1 0  d   1   d    8
         
 x1   x 1  d x1   x1   1 
       
• Nouveau point :  x 2    x 2  d x 2   x2    0 
  d       8
        
• La méthode de Newton converge en 7 itérations, sans globalisation.

664
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017

3.5.4 Exemples
Exemple 1 : Méthode de Newton

Itération x1 x2  f(x1,x2) c(x1,x2) F(x1,x2,) dF(x1,x2,)


-6,000 4,000 -2,000 0,000
1 0,00000 1,00000 0,00000 -4,00000 -1,00000 -2,000 -2,000 4,000 -1,000
-1,000 0,000 -1,000 0,000
-32,000 -28,000 -2,000 4,000
2 1,00000 0,00000 -8,00000 -2,00000 2,00000 0,000 -2,000 4,000 -1,000
2,000 4,000 -1,000 0,000
8,640 15,200 -2,000 4,800
3 1,20000 2,80000 2,80000 -9,76000 0,08000 0,000 -2,000 4,000 -1,000
0,080 4,800 -1,000 0,000
7,4E-01 8,664 -2,000 4,346
4 1,08639 2,33466 1,16588 -10,16445 0,02582 0,0E+00 -2,000 4,000 -1,000
2,6E-02 4,346 -1,000 0,000
1,1E-02 8,027 -2,000 4,277
5 1,06933 2,28636 1,00676 -10,14342 0,00058 0,0E+00 -2,000 4,000 -1,000
5,8E-04 4,277 -1,000 0,000
2,8E-06 8,018 -2,000 4,276
6 1,06902 2,28563 1,00446 -10,14283 1,88E-07 0,0E+00 -2,000 4,000 -1,000
1,9E-07 4,276 -1,000 0,000
2,1E-13 8,018 -2,000 4,276
7 1,06902 2,28563 1,00446 -10,14283 1,60E-14 0,0E+00 -2,000 4,000 -1,000
1,6E-14 4,276 -1,000 0,000
665
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017

3.5.4 Exemples
Exemple 1 : Algorithme SQP
1
• Problème quadratique linéaire : min2 f ( x ) T d x  d Tx  2xx L( x, )d x sous c( x ) T d x  c( x )  0
d x R 2
 x1   0 
      6 0  4  2
• Point initial :  x2   1  f x     cx      2xx Lx,     
   0   2   1   2 4 
   
T T
  6  d x1  1  d x1   4  2  d x1   0  d x1 
• Itération 1 : min           sous     1  0
d x1 ,d x 2  2  
   x2 
d 2  x2 
d  2 4  x 2 
d   x 2  x
1 d
min 2d 2x1  4d x1 d  1
  d x1   x1 avec  QP  8
d x 2  1 d x 2  1
 x1   x 1  d x1   x1   1 
       
• Nouveau point :  x 2    x 2  d x 2   x2    0 
         8
   QP     
• On retrouve les itérations de la méthode de Newton sans globalisation.
Le multiplicateur  est directement le multiplicateur QP du problème quadratique.
666
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017

3.5.4 Exemples
Exemple 1 : Algorithme SQP

Itération x1 x2  f(x1,x2) c(x1,x2) f c L 2L(x1,x2,)


1 0,00000 1,00000 0,00000 -4,00000 -1,00000 -6,000 0,000 -6,000 4,000 -2,000
-2,000 -1,000 -2,000 -2,000 4,000
2 1,00000 0,00000 -8,00000 -2,00000 2,00000 0,000 4,000 -32,000 -28,000 -2,000
-8,000 -1,000 0,000 -2,000 4,000
3 1,20000 2,80000 2,80000 -9,76000 0,08000 -4,800 4,800 8,640 15,200 -2,000
2,800 -1,000 0,000 -2,000 4,000
4 1,08639 2,33466 1,16588 -10,16445 0,02582 -4,324 4,346 0,74262 8,664 -2,000
1,166 -1,000 0,00000 -2,000 4,000
5 1,06933 2,28636 1,00676 -10,14342 0,00058 -4,295 4,277 1,1E-02 8,027 -2,000
1,007 -1,000 0,0E+00 -2,000 4,000
6 1,06902 2,28563 1,00446 -10,14283 1,9E-07 -4,295 4,276 2,8E-06 8,018 -2,000
1,004 -1,000 0,0E+00 -2,000 4,000
7 1,06902 2,28563 1,00446 -10,14283 1,6E-14 -4,295 4,276 2,1E-13 8,018 -2,000
1,004 -1,000 0,0E+00 -2,000 4,000
667
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017

3.5.4 Exemples
Exemple 2 : SQP sans  avec globalisation
• Minimisation de f ( x )  x 1  x 2 sous c( x )  x 12  x 2  1  1  0
2

• Différents points initiaux  globalisation nécessaire pour assurer la convergence

Résolution exacte
• Lagrangien :  
L( x, )  x 1  x 2   x 12  ( x 2  1) 2  1

1  2x 1  0 x 1 *   1 / 2  0.70711
• Conditions KKT : 
1  2( x 2  1)  0  solution x 2 *  1  1 / 2  0.29289
 x 2  x  12  1  0  *  1 / 2  0.70711
 1 2 
Matrices utiles
1  2x1   2 0 
• Gradient : f x     cx      2xx Lx,     
1  2( x 2  1)   0 2 
1 0
• Modification du hessien : H   2xx Lx,    I  2    avec 2    0
 0 1 
• Recherche linéaire : pas s suivant la direction dx (= solution du problème QP)
668
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017

3.5.4 Exemples
Exemple 2 : SQP sans globalisation
• Minimisation de f ( x )  x 1  x 2 sous c( x )  x 12  x 2  1  1  0
2

 x1   1  2,5
   
• Point initial :  x 2     1
 1 2
   

• Algorithme SQP sans globalisation 1,5

 convergence rapide
1
Itération x1 x2 
1 1,00000 -1,00000 1,00000
2 0,00000 -0,50000 0,50000 0,5
3 -1,00000 -0,08333 0,47222
4 -0,77401 0,24973 0,60672
5 -0,70743 0,28900 0,69818 0
6 -0,70714 0,29291 0,70707 -2 -1,5 -1 -0,5 0 0,5 1 1,5 2

7 -0,70711 0,29289 0,70711


-0,5

-1

669
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017

3.5.4 Exemples
Exemple 2 : SQP sans globalisation
• Minimisation de f ( x )  x 1  x 2 sous c( x )  x 12  x 2  1  1  0
2

 x 1    1.5  2,5
   
• Point initial :  2  
x  2 
  1  2
   

• Algorithme SQP sans globalisation 1,5

 convergence rapide
1
Itération x1 x2 
1 -1,50000 2,00000 1,00000
2 -1,36538 1,07692 0,42308 0,5
3 -1,11784 -0,18542 0,44290
4 -0,80352 0,21615 0,57183
5 -0,70990 0,28607 0,68889 0
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
6 -0,70718 0,29293 0,70697
7 -0,70711 0,29289 0,70711
-0,5

-1

670
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017

3.5.4 Exemples
Exemple 2 : SQP sans globalisation
• Minimisation de f ( x )  x 1  x 2 sous c( x )  x 12  x 2  1  1  0
2

 x 1    0.1 2,5
   
• Point initial :  2  
x  1 
  1  2
   

• Algorithme SQP sans globalisation 1,5

 convergence lente
1
Itération x1 x2 
1 -0,10000 1,00000 1,00000
2 -5,05000 0,50000 -44,50000 0,5
3 -2,62404 0,75032 -21,27825
4 -1,50286 0,87826 -8,90106
5 -1,08612 0,96364 -2,13558 0
6 -1,01047 1,19247 0,31161 -2 -1,5 -1 -0,5 0 0,5 1 1,5 2

7 -1,33383 -0,65614 0,39510


-0,5
8 -0,96379 0,10912 0,48447
9 -0,72273 0,25387 0,63996
10 -0,70890 0,29344 0,70407 -1
11 -0,70710 0,29289 0,70710
12 -0,70711 0,29289 0,70711
671
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017

3.5.4 Exemples
Exemple 2 : SQP avec globalisation
• Minimisation de f ( x )  x 1  x 2 sous c( x )  x 12  x 2  1  1  0
2

 x 1    0.1 2,5
   
• Point initial :  2  
x  1 
  1  2
   

• Algorithme SQP avec globalisation 1,5

 convergence plus rapide


1
Itération x1 x2 
1 -0,10000 1,00000 1,00000
2 -1,33750 0,87500 -44,50000 0,5
3 -1,03171 0,82117 1,63129
4 -0,94371 0,58304 0,62377
5 -0,74975 0,22132 0,65803 0
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
6 -0,71035 0,29156 0,70147
7 -0,70710 0,29288 0,70708
-0,5
8 -0,70711 0,29289 0,70711

-1

672
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017

3.5.4 Exemples
Exemple 2 : SQP avec globalisation

Itération x1 x2  L 2L(x1,x2,)  dx Pas s


1 -0,10000 1,00000 1,00000 9,90000 2,00000 0,00000 0,0 -4,95000 0,25
1,00000 0,00000 2,00000 0,0 -0,50000 0,25
2 -1,33750 0,87500 -44,50000 -3,36370 -89,00000 0,00000 100,0 0,30579 1,00
0,59218 0,00000 -89,00000 100,0 -0,05383 1,00
3 -1,03171 0,82117 1,63129 -0,28710 3,26258 0,00000 0,0 0,08800 1,00
0,77690 0,00000 3,26258 0,0 -0,23812 1,00
4 -0,94371 0,58304 0,62377 -0,24198 1,24754 0,00000 0,0 0,19396 1,00
0,45126 0,00000 1,24754 0,0 -0,36172 1,00
5 -0,74975 0,22132 0,65803 -0,05185 1,31605 0,00000 0,0 0,03940 1,00
-0,09244 0,00000 1,31605 0,0 0,07024 1,00
6 -0,71035 0,29156 0,70147 -4,6E-03 1,40294 0,00000 0,0 3,2E-03 1,00
-1,9E-03 0,00000 1,40294 0,0 1,3E-03 1,00
7 -0,70710 0,29288 0,70708 4,7E-06 1,41417 0,00000 0,0 -3,3E-06 1,00
-1,7E-05 0,00000 1,41417 0,0 1,2E-05 1,00
8 -0,70711 0,29289 0,70711 -4,2E-10 1,41421 0,00000 0,0 3,0E-10 1,00
2,7E-10 0,00000 1,41421 0,0 -1,9E-10 1,00
673
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017

3.5.4 Exemples
Exemple 2 : SQP sans globalisation
• Minimisation de f ( x )  x 1  x 2 sous c( x )  x 12  x 2  1  1  0
2

 x 1   0.1 2,5
   
• Point initial :  x 2    1 
  1  2
   

• Algorithme SQP sans globalisation 1,5

 solution = maximum local


1
Itération x1 x2 
1 0,10000 1,00000 1,00000
2 5,05000 0,50000 -54,50000 0,5
3 2,62404 0,75028 -26,28019
4 1,50282 0,87782 -11,41974
5 1,08576 0,95907 -3,50192 0
6 1,00831 1,11015 -0,71030 -2 -1,5 -1 -0,5 0 0,5 1 1,5 2
7 0,92650 1,72824 -0,55351
8 0,70291 1,74580 -0,67324 -0,5

9 0,70870 1,70662 -0,70579


10 0,70711 1,70711 -0,70710 -1

674
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017

3.5.4 Exemples
Exemple 2 : SQP avec globalisation
• Minimisation de f ( x )  x 1  x 2 sous c( x )  x 12  x 2  1  1  0
2

 x 1   0.1 2,5
   
• Point initial :  x 2    1 
  1  2
   

• Algorithme SQP avec globalisation 1,5

 convergence
1
Itération x1 x2 
1 0,10000 1,00000 1,00000
2 1,33750 0,87500 -54,50000 0,5
3 1,03687 0,87643 4,23389
4 0,97837 0,75123 -0,24333
5 0,94133 0,60794 -0,35556 0
6 0,50173 -0,43482 -0,26135 -2 -1,5 -1 -0,5 0 0,5 1 1,5 2

7 -0,82925 -0,67191 0,26961


-0,5
8 -1,05655 -0,18790 0,45516
9 -0,80511 0,23137 0,58156
10 -0,70800 0,28512 0,69118 -1
11 -0,70721 0,29295 0,70699
12 -0,70711 0,29289 0,70711
675
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017

3.5.4 Exemples
Exemple 2 : SQP avec globalisation
Itération x1 x2  L 2L(x1,x2,)  dx Pas s
1 0,10000 1,00000 1,00000 -9,90000 2,00000 0,00000 0,0 4,95000 0,25
1,00000 0,00000 2,00000 0,0 -0,50000 0,25
2 1,33750 0,87500 -54,50000 12,32567 -109,00000 0,00000 150,0 -0,30063 1,00
-0,05847 0,00000 -109,00000 150,0 0,00143 1,00
3 1,03687 0,87643 4,23389 0,49539 8,46779 0,00000 0,0 -0,05850 1,00
1,06014 0,00000 8,46779 0,0 -0,12520 1,00
4 0,97837 0,75123 -0,24333 0,30426 -0,48667 0,00000 1,0 -0,59272 0,06
1,17691 0,00000 -0,48667 1,0 -2,29267 0,06
5 0,94133 0,60794 -0,35556 0,50796 -0,71112 0,00000 1,0 -1,75838 0,25
1,20493 0,00000 -0,71112 1,0 -4,17104 0,25
6 0,50173 -0,43482 -0,26135 1,27054 -0,52271 0,00000 1,0 -2,66197 0,50
0,22632 0,00000 -0,52271 1,0 -0,47418 0,50
7 -0,82925 -0,67191 0,26961 0,24512 0,53921 0,00000 0,0 -0,45458 0,50
-0,52197 0,00000 0,53921 0,0 0,96802 0,50
8 -1,05655 -0,18790 0,45516 -0,22888 0,91032 0,00000 0,0 0,25143 1,00
-0,38167 0,00000 0,91032 0,0 0,41927 1,00
9 -0,80511 0,23137 0,58156 -0,11295 1,16311 0,00000 0,0 0,09711 1,00
-0,06252 0,00000 1,16311 0,0 0,05376 1,00
10 -0,70800 0,28512 0,69118 -1,1E-03 1,38235 0,00000 0,0 8,0E-04 1,00
-1,1E-02 0,00000 1,38235 0,0 7,8E-03 1,00
11 -0,70721 0,29295 0,70699 -1,4E-04 1,41398 0,00000 0,0 1,0E-04 1,00
8,0E-05 0,00000 1,41398 0,0 -5,7E-05 1,00
12 -0,70711 0,29289 0,70711 1,2E-08 1,41421 0,00000 0,0 -8,4E-09 1,00
-2,5E-08 0,00000 1,41421 0,0 1,8E-08 1,00 676
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017

3.5.4 Exemples
Exemple 3 : Comparaison SQP  Lagrangien augmenté
• Minimisation de f ( x )  2( x12  x 22  1)  x1 sous c( x )  x12  x 22  1  0
 0.5  1 3
• Point initial : x    ,   0 Solution : x*    ,   
 1.3   0 2

1,5 1,5
SQP Lagrangien augmenté
1 1

0,5 0,5

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,5 -0,5

-1 -1

-1,5 -1,5
677
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017

3.5.4 Exemples
Exemple 3 : Comparaison SQP  Lagrangien augmenté

SQP Lagrangien augmenté


Itération x1 x2  x1 x2 
1 0,50000 1,30000 0,00000 0,50000 1,30000 0,00000
2 0,59665 0,90129 -1,38660 0,40707 0,34917 -0,71238
3 1,12042 0,46118 -1,70047 0,73467 0,63433 -1,29122
4 1,18366 -0,19988 -1,57065 0,91556 0,39077 -1,38175
5 1,03482 0,02190 -1,52359 0,98869 0,16985 -1,38175
6 1,00084 -0,00103 -1,50118 0,99953 0,04158 -1,30283
7 1,00000 0,00000 -1,50000 0,99905 -0,00320 -1,49103
8 0,99995 0,00171 -1,50003
9 1,00000 0,00045 -1,50003

Convergence rapide, très précise Convergence plus lente, moins précise


 suivi de la contrainte
 conditionnement

678
3 Optimisation avec contraintes Max CERF
3.6 Convergence
Techniques d’optimisation Mai 2017

Sommaire
1. Bases théoriques
2. Optimisation sans contraintes

3. Optimisation avec contraintes


3.1 Simplexe
3.2 Point intérieur
3.3 Gradient projeté
3.4 Lagrangien augmenté
3.5 Programmation quadratique séquentielle
3.6 Convergence
3.6.1 Convergence globale
3.6.2 Comparaison des algorithmes
3.6.3 Difficultés pratiques

4. Optimisation discrète
5. Optimisation fonctionnelle

679
3 Optimisation avec contraintes Max CERF
3.6 Convergence
3.6.1 Convergence globale
Techniques d’optimisation Mai 2017

3.6.1 Convergence globale


Problème sans contraintes
min f ( x )
xR n

Convergence globale
• Un algorithme générant une suite (xk)kN à partir du point x0 est globalement convergent si

lim f ( x k )  0
k 

• Convergence globale = convergence vers un point stationnaire


 convergence vers le minimum global

• Le domaine de convergence est l’ensemble des points initiaux x0 à partir desquels


on a la convergence globale.

• Le domaine de convergence peut être très réduit lorsque :


- la fonction est très non linéaire
- la fonction est mal conditionnée
 difficulté principale de la méthode de Newton

680
3 Optimisation avec contraintes Max CERF
3.6 Convergence
3.6.1 Convergence globale
Techniques d’optimisation Mai 2017

3.6.1 Convergence globale


Descente avec recherche linéaire
• Un algorithme à base de recherche linéaire génère une suite (xk)kN à partir du point x0 :
- suivant des directions dk  x k 1  x k  s k d k
- avec des pas sk

• On suppose que :
- les directions dk sont des directions de descente  f ( x k ) T d k  0
f ( x k  sd k )  f ( x k )  c1sf ( x k ) T d k
- les pas sk vérifient les conditions de Wolfe  
f ( x k  sd k ) d k  c 2 f ( x k ) d k
T T

- le gradient de la fonction est continu au sens de Lipschitz


f ( x k ) T d k
• Si les directions ne deviennent pas « trop » orthogonales au gradient :    , k
f ( x k ) d k
alors l’algorithme est globalement convergent pour tout x0Rn : lim f (x k )  0
k 

 condition vérifiée par : - la méthode de plus forte pente


- la méthode de Newton si le conditionnement du hessien est borné
- les méthodes avec des itérations périodiques de plus forte pente
 méthodes globalement convergentes
681
3 Optimisation avec contraintes Max CERF
3.6 Convergence
3.6.1 Convergence globale
Techniques d’optimisation Mai 2017

3.6.1 Convergence globale


Eléments de la démonstration
k = angle entre le gradient f(xk) et la direction de descente dk
f kT d k
Théorème de Zoutendijk :  cos  k f k   avec cos  k  
2 2

k f k d k
Démontré à partir de : f ( y )  f ( x )  L y  x , x , y (condition de Lipschitz)
 f ( xk  sd k )  f ( xk )  c1 sf ( xk )T d k
et  (conditions de Wolfe)
f ( xk  sd k ) d k  c2 f ( xk ) d k
T T

cos 2  k  0
 ou
f k  0

• Méthode de plus forte pente : d k  f k  cos  k  1  lim f ( xk )  0


k 

• Méthode de Newton : d k   H k f k avec H k H k1  M (conditionnement borné)


x T Ax x T Ax
En utilisant le théorème de Rayleigh-Ritz : σ 1  max , σ n  min T
x 0 xT x x 0 x x
(valeurs propres 1…  n)
 cos  k  1 / M  lim f ( xk )  0
k 

682
3 Optimisation avec contraintes Max CERF
3.6 Convergence
3.6.2 Comparaison des algorithmes
Techniques d’optimisation Mai 2017

3.6.2 Comparaison des algorithmes


Classification
• Méthodes primales
• Méthodes primales-duales
• Méthodes duales

Méthode primale Méthode primale-duale Méthode duale


Problème traité problème primal problème primal problème dual

Objectif min f solution KKT max w


- méthode directe - méthode indirecte - méthode indirecte
- point stationnaire - point stationnaire - point col
Itérations admissibles admissibles ou non non admissibles

Variables primales x primales x , duales  primales x , duales 

Algorithmes - simplexe (LP) - point intérieur (LP, NLP) - simplexe dual (LP)
- gradient projeté - séquentiel quadratique - lagrangien augmenté
- pénalisation - Uzawa

683
3 Optimisation avec contraintes Max CERF
3.6 Convergence
3.6.2 Comparaison des algorithmes
Techniques d’optimisation Mai 2017

3.6.2 Comparaison des algorithmes


Méthode (auteurs, date) Type Convergence Avantages Difficultés
Plus forte pente sans contraintes linéaire convergence globale convergence lente si
(Cauchy 1847) mauvais conditionnement
Quasi-Newton sans contraintes superlinéaire 1 minimisation par itération hessien défini positif
(DFP 1959, BFGS 1970) quadratique stockage mémoire (n2)
Gradient conjugué sans contraintes superlinéaire stockage mémoire réduit hessien défini positif
(Hestenes 1951, Stiefel 1952) quadratique n minimisations par itération
(Fletcher-Reeves 1964)
Simplexe problème linéaire exponentiel vitesse de convergence algorithme exponentiel
(Dantzig 1950) itérations admissibles dégénérescence
Gradient projeté, réduit primale itérations admissibles convergence lente si
(Rosen 1960, Wolfe 1962) - mauvais conditionnement
(Abadie-Carpentier 1969) - non linéarités fortes
Séquentiel quadratique primale-duale quadratique vitesse de convergence globalisation nécessaire
(Newton) itérations non admissibles
Pénalisation extérieure primale quadratique sans contraintes précision contraintes
(Fiacco-Mc Cormick 1968) (Newton) conditionnement
Pénalisation intérieure primale-duale quadratique algorithme polynomial (LP) précision contraintes
Point intérieur (Karmarkar 1984) problème linéaire (Newton)
Lagrangien augmenté duale quadratique sans contraintes précision contraintes
(Hestenes 1969, Powell 1969) (Newton)
Uzawa (1958) duale linéaire sans contraintes précision contraintes 684
3 Optimisation avec contraintes Max CERF
3.6 Convergence
3.6.3 Difficultés pratiques
Techniques d’optimisation Mai 2017

3.6.3 Difficultés pratiques


Qualité du minimum recherché
• Minimum global approché  méthodes aléatoires (heuristiques), dites « globales »
• Minimum local précis  méthodes déterministes (gradient), dites « locales »

Principales difficultés des méthodes locales


• Initialisation : le minimum est recherché au voisinage du point initial.
 Essayer plusieurs points initiaux
 Evaluer la qualité de la solution obtenue (connaissance expérimentale du problème)

• Contraintes actives : il faut identifier à chaque itération les contraintes actives ( égalité)
 Stratégie d’activation / désactivation des contraintes en fonction du déplacement

• Conditionnement : les valeurs numériques doivent être du même ordre de grandeur


 Mise à l’échelle des variables et des fonctions (critère, contraintes)
 Mise à l’échelle des dérivées premières (jacobien) et secondes (hessien)
On ne peut pas tout mettre à l’échelle simultanément  essais

• Précision numérique : l’évaluation du critère et des contraintes est bruitée.


 Adapter les incréments pour les gradients (+ le pas pour une équation différentielle)
 Adapter les seuils de précision et les tests d’arrêts
685
3 Optimisation avec contraintes Max CERF
3.6 Convergence
3.6.3 Difficultés pratiques
Techniques d’optimisation Mai 2017

3.6.3 Equation différentielle


Système dynamique
De nombreuses applications concernent l’optimisation d’un système dynamique.

• Le système est représenté par


- un vecteur d’état x(t) dépendant du temps → x  Rn
- des paramètres de commande p → p  Rm

• Le système évolue suivant l’équation différentielle : x  f ( x, p, t )


- état initial x0 à t0 → donné
- état final xf à tf → à calculer

• On cherche les paramètres p minimisant une fonction coût qui dépend de l’état final xf.
Pour appliquer une méthode de gradient, il faut évaluer les dérivées de xf par rapport à p.
x f x f (p  p)  x f (p)
 par différences finies
p p
L’équation différentielle doit être intégrée successivement pour p, puis pour p+p.

• Les imprécisions viennent : - de l’évaluation du gradient par différence finie


- de l’intégration par une méthode numérique
686
3 Optimisation avec contraintes Max CERF
3.6 Convergence
3.6.3 Difficultés pratiques
Techniques d’optimisation Mai 2017

3.6.3 Equation différentielle


Evaluation du gradient
On considère un système de dimension 1 (xR) à 1 paramètre (pR) : x  f ( x, p, t )

• L équation différentielle est intégrée de t0 à tf par la méthode d’Euler sur 2 pas de temps.
pas  pas 
t0 t1 tf
x0 x1 xf (p)
f0 = f(x0,p,t0) f1 = f(x1,p,t1)
x f x f (p  p)  x f (p)
• Pour évaluer le gradient par différences finies  ,
p p
on applique un incrément p sur p et on intègre à nouveau l’équation différentielle de t0 à tf .
On suppose que la date intermédiaire t1 change (cas d’une méthode d’intégration à pas variable).
pas + pas 
t0 t1 tf
x0 x'1 xf (p+p)
f0p = f(x0,p+p,t0) f 1p = f(x1,p+p,t1)

687
3 Optimisation avec contraintes Max CERF
3.6 Convergence
3.6.3 Difficultés pratiques
Techniques d’optimisation Mai 2017

3.6.3 Equation différentielle


Evaluation du gradient
On cherche à estimer l’erreur sur le gradient due au changement du pas de temps.

• La solution nominale (p) est intégrée en 2 pas de temps identiques :  , .


x1  x 0  f 0  f  f ( x 0 , p, t 0 )
x  x  f  avec  0
 f 1 1 f1  f ( x1 , p, t1 )
• La solution perturbée (p+p) est intégrée en 2 pas de temps différents : + , .
effet de la variation 
x1'  x 0  f 0 p (  ) f  f ( x 0 , p  p, t 0 )
 x '  x '  f ' (   ) avec  0' p '
f
 f 1 1p f1 p  f ( x '
1 , p  p, t '
1 ) 1p
effet de la variation p

• On développe x1 et xf à l’ordre 1 par rapport à p.


  f    f 
x1'  x 0  f 0    p (  )  x1'  x1  f 0     p(  )
  p  0   p  0
  f   f   f   x1  x1'  x1
x  x  f1    x1    p    t1  (  )
' '
avec 
 x 1  p 1  t 1  t1  t1  t1  
f 1 '


688
3 Optimisation avec contraintes Max CERF
3.6 Convergence
3.6.3 Difficultés pratiques
Techniques d’optimisation Mai 2017

3.6.3 Equation différentielle


Evaluation du gradient
• On remplace x1 dans l’expression de l’état final xf .

 f    f    f    f   f  
x 'f  x1  f 0     p(  )  f1     f 0     p(  )     p     (  )
 p  0   x 1   p  0
 p
  1  t 1 

x1' x1  x1'  x1 t1  t1'  t1

• En utilisant : x f  x1  f1 , et en regroupant les termes en p et en , on obtient à l’ordre 1 :

   f   f    f   f    f   f  
x 'f  x f  p          2            
   x 1  p  0   p  0  p 1 
   p  0  p 1 
   f   f  
  f 0  f1     f 0    
   x 1  t 1 

x f x 'f  x f
• Le gradient de l’état final xf par rapport au paramètre p est évalué par : 
p p
689
3 Optimisation avec contraintes Max CERF
3.6 Convergence
3.6.3 Difficultés pratiques
Techniques d’optimisation Mai 2017

3.6.3 Equation différentielle


Evaluation du gradient
• Le gradient de l’état final xf par rapport au paramètre p est évalué par :

x f   f   f   2  f   f    f   f       f   f  
                     
   f 0  f1     f 0    
p  p   x 1  p  0   p  0  p 1  p 
   0  p 1    x 1  t 1 

• La modification de la date intermédiaire t1 → t1 +  crée une erreur dans l’évaluation du gradient.


L’erreur est associée aux termes en .

  f   f       f   f  
            
 p  0 1   x  0  t  
 
f f f
 p 
   0  1 
p   1 1 

• L’erreur sur le gradient due au changement des pas d’intégration :


- se cumule sur les pas de temps successifs de dates différentes
- apparaît pour toute méthode numérique d’intégration à pas variable
- s’annule si l’on force l’intégrateur à repasser par les dates de la trajectoire nominale.

→ Il est préférable d’utiliser un intégrateur à pas fixe, au moins pour l’évaluation du gradient.

690
3 Optimisation avec contraintes Max CERF
3.6 Convergence
3.6.3 Difficultés pratiques
Techniques d’optimisation Mai 2017

3.6.3 Equation différentielle


Exemple
On considère l’équation différentielle : x  px
• Application numérique : t0 = 0 x0 = 1 p=1 p = 0.0001
tf = 0.2 pas  = 0.1  = 0.001

• Solution exacte
x ( t )  x ( t 0 )e  p ( t  t 0 )  x ( t f )  ( t f  t 0 ) x ( t f ) t 0,000 0,100 0,200 x ( t f )
  0.1637
p x(p) 1,000000 0,904837 0,818731 p

• Solution Euler valeur p t 0,000 0,100 0,200


p = 1.0000 t1 = 0.100 x(p) 1,000000 0,900000 0,810000

• Solution Euler valeur p+p avec pas fixé t 0,000 0,100 0,200 x ( t f )
  0.1799
p +p = 1.0001 t1 = 0.100 x(p+p) 1,000000 0,899000 0,808201 p

• Solution Euler valeur p+p avec pas variable t' 0,000 0,101 0,200

x ' ( t f )
 0.1800
p +p = 1.0001 t1 = 0.101 x'(p+p) 1,000000 0,897990 0,808200 p

  f   f  
• Erreur sur le gradient due au changement de pas  :         ( x 0  x1 )  0.0001
  p  0  p 1 
691
Max CERF
Techniques d’optimisation Mai 2017

Résumé : optimisation continue


Bases théoriques
• Différentiabilité : gradient, hessien, jacobien, lignes de niveau (§1.1.3)
• Contraintes linéaires : base, solution de base, direction de base (§1.2.2)
• Conditions d’optimalité : lagrangien, conditions KKT (§1.4.3)

Optimisation sans contraintes


• Méthode de Newton : principe, quasi-Newton, globalisation (§2.2)
• Moindres carrés linéaires : équations normales (§2.5.3)

Optimisation avec contraintes


• Programmation linéaire : simplexe (§3.1.3)
 méthode des tableaux, méthode des 2 phases
• Programmation non linéaire : gradient projeté/réduit (§3.3)
lagrangien augmenté (§3.4)
SQP (§3.5)
 principes de chaque algorithme

Difficultés pratiques
• Minima locaux
• Précision numérique
692
Max CERF
Techniques d’optimisation Mai 2017

Bibliographie : optimisation continue


Livres en français

• Programmation mathématique (M. Minoux)


• Introduction à l’optimisation différentiable (M. Bierlaire)
• Optimisation continue (F. Bonnans)
• Optimisation discrète (A. Billionnet)
• Les mathématiques du mieux faire – Volume 1 (J.B. Hiriart-Urruty)

Livres en anglais

• Practical optimization (P. E. Gill, W. Murray, M. H. Wright)


• Numerical optimization (J. Nocedal, S. J. Wright)
• Practical methods of optimization (R. Fletcher)
• Practical mathematical optimization (J. A. Snyman)
• Numerical optimization (J. F. Bonnans, J. C. Gilbert, C. Lemaréchal, C. A. Sagastizabal)
• Numerical recipes in Fortran (W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery)
• Numerical methods for unconstrained optimization and nonlinear equations
(J. E. Dennis, R. B. Schnabel)

693
4 Optimisation discrète Max CERF
Techniques d’optimisation Mai 2017

Sommaire
1. Bases théoriques

2. Optimisation sans contraintes

3. Optimisation avec contraintes

4. Optimisation discrète
4.1 Problème combinatoire
4.2 Programmation linéaire
4.3 Métaheuristiques

5. Optimisation fonctionnelle

« Si tous ceux qui croient avoir raison n’avaient pas tort,


la vérité ne serait pas loin. » (Pierre Dac) 694
4 Optimisation discrète Max CERF
Techniques d’optimisation Mai 2017

4 Optimisation discrète
Optimisation difficile
• Variables entières  Combinatoire exponentielle
Impossibilité de parcourir l’ensemble des possibilités

• Fonctions non dérivables  Pas de gradient


non continues Absence de conditions d’optimalité locale

• Nombreux minima locaux  Minimum global inconnu


Absence de conditions d’optimalité globale

Méthodes de résolution
• Problèmes de graphes  Algorithmes spécifiques à certains problèmes
Solution exact (minimum global)

• Problème linéaire → Programmation linéaire en nombres entiers


Solution exact (minimum global)

• Métaheuristiques → Aspect stochastique


Solutions approchées (minima locaux)
Il est impossible de résoudre exactement des problèmes de grande taille.
695
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
Techniques d’optimisation Mai 2017

Sommaire
1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes

4. Optimisation discrète
4.1 Problème combinatoire
4.1.1 Graphes
4.1.2 Problème de chemin
4.1.3 Problème de flot
4.1.4 Problème d’affectation
4.1.5 Heuristiques
4.2 Programmation linéaire
4.3 Métaheuristiques

5. Optimisation fonctionnelle

696
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017

4.1.1 Graphes

 Définitions

 Parcours

 Problèmes types

 Complexité

 Algorithmes

697
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017

4.1.1 Définitions
Graphe
Un graphe G est un couple de 2 ensembles G=(V,E).
• V est l’ensemble des nœuds (node) ou sommets (vertex)  n nœuds (vi) i=1 à n
• E est l’ensemble des arcs (arc) ou arêtes (edge)  m arcs (ek) k=1 à m

Orientation
• Un arc est un couple de nœuds ordonné : e = (v,w) e
v w
 graphe orienté

• Une arête est un couple de nœuds non ordonné : e = [v,w] e


v w
 graphe non orienté
e
• Une boucle relie un nœud à lui-même. v

Nombre d’arcs entre nœuds e1


• Multigraphe ou p-graphe  Il peut y avoir p arcs entre 2 nœuds. v w
e2
• Graphe simple ou 1-graphe  Il y a au plus un arc entre 2 nœuds.
e3
• La densité d’un graphe simple est le rapport m/n²
= nombre d’arcs / nombre maximal théorique
698
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017

4.1.1 Définitions
Vocabulaire
Pour un arc e (orienté) allant du nœud v au nœud w :

• v est l’extrémité initiale ou origine de l’arc e. e


v w
w est l’extrémité terminale ou extrémité de l’arc e.

• L’arc e part de v = est incident extérieurement à v.


L’arc e arrive en w = est incident intérieurement à w.

• Le nœud v est le prédécesseur du nœud w.


Le nœud w est le successeur du nœud v.  L’ensemble des successeurs de v est noté (v).
Les nœuds v et w sont voisins ou adjacents. (= fermeture transitive du nœud v)

Degré
• Le demi-degré extérieur du nœud v est le nombre d’arcs partant de v.
Le demi-degré intérieur du nœud v est le nombre d’arcs arrivant en v.
Le degré du nœud v est le nombre d’arcs partant et arrivant en v.
Le degré moyen d’un graphe est la moyenne des degrés des nœuds ( 3 en pratique).

• Un nœud isolé est un nœud de degré nul.


699
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017

4.1.1 Définitions
Représentation d’un graphe
On peut représenter un graphe G=(V,E) par
• les successeurs des nœuds  liste chaînée avec pointeurs (gestion dynamique de la mémoire)
• des matrices  matrice d’adjacence, matrice d’incidence

Matrice d’adjacence
La matrice d’adjacence A est une matrice booléenne à n lignes et n colonnes. vj
correspondent aux nœuds de départ.   
Les lignes  
Les colonnes correspondent aux nœuds d’arrivée. v i    1 
S’il existe un arc de vi à vj, l’élément aij vaut 1 (sinon aij = 0).   
 
  
 
Matrice d’incidence
• La matrice d’incidence I est une matrice booléenne à n lignes et m colonnes. ek
Les lignes correspondent aux nœuds.   
Les colonnes correspondent aux arcs.  
v i     1 
S’il existe un arc ek de vi à vj, l’élément aik vaut +1
et l’élément ajk vaut 1 (sinon aik = ajk =0). v j     1 
 
Pour une boucle sur le nœud vi, l’élément aii vaut +1.
  
 
700
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017

4.1.1 Définitions
Exemple
• Graphe à 5 nœuds et 10 arcs. e2
v2 e3
e1
• Liste des successeurs : v1  v2 , v3 , v5
e4
v2  v2 , v3 v1 v3
v3  v4
v4  v1 , v5 e5 e10 e6
e9 e7
v5  v1 , v3
e8
v5 v4
• Matrices d’adjacence et d’incidence

v1 v2 v3 v4 v5 e1 e 2 e3 e 4 e5 e 6 e 7 e8 e9 e10
v1  0 1 1 0 1 v1   1 0 0  1  1 0  1 0 0  1
   
v2  0 1 1 0 0 v2  1  1  1 0 0 0 0 0 0 0 
v3  0 0 0 1 0 v3  0 0  1  1 0  1 0 0  1 0 
   
v4  1 0 0 0 1 v4  0 0 0 0 0 1  1  1 0 0 
v 5  1 0 1 0 0  v 5  0 0 0 0  1 0 0  1  1  1
Matrice d’adjacence 55 Matrice d’incidence 510
701
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017

4.1.1 Parcours
Parcours d’un graphe
• Parcours orienté
Un chemin de longueur p est une suite de p arcs consécutifs.
Un circuit est un chemin fermé.

• Parcours non orienté


Une chaîne de longueur p est une suite de p arêtes consécutives.
Un cycle est une chaîne fermée.

• Le nœud w est un descendant du nœud v


si w est sur un chemin d’origine v
Le nœud v est un ascendant du nœud w

• Un parcours est selon le cas un chemin, un circuit, une chaîne ou un cycle.


Le parcours d’un graphe simple est représenté par la suite de ses arcs (arêtes)
ou par la suite de ses nœuds.
Un parcours simple (élémentaire) ne passe qu’une fois (au plus) par ses nœuds.

• Un graphe est connexe s’il existe une chaîne entre toute paire de nœuds.
• Un graphe est complet s’il existe un arc (arête) entre toute paire de nœuds.

702
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017

4.1.1 Parcours
Parcours particuliers
• Un parcours eulérien passe une fois exactement par chaque arc (arête). 2 3
6
• Un parcours hamiltonien passe une fois exactement par chaque nœud.
 Il passe donc au plus une fois par chaque arc (arête). 1 4
Exemple : jeu de la maison  parcours eulérien 7 5

Graphes particuliers 8
• Un arbre est un graphe non orienté connexe et sans cycle.
Le nombre d’arêtes est égal au nombre de nœuds – 1 : m = n – 1
 Un graphe connexe comporte au moins n – 1 arêtes.

• Une arborescence est un graphe orienté connexe et sans cycle.


 arborescence = arbre orienté
 Tous les nœuds sont les descendants d’un nœud unique = racine de l’ arborescence

• Un graphe est planaire si on peut le représenter dans le plan sans croisement d’arcs.
 problème de placement de composants électroniques
 problème de coloration de carte
Le nombre d’arêtes d’un graphe planaire vérifie : m  3n  6.
703
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017

4.1.1 Parcours
Nombre de chemins
La matrice d’adjacence A indique s’il existe un arc entre 2 nœuds.
La matrice Ak (A puissance k) indique le nombre de chemins de longueur k entre 2 nœuds.

Exemple
• Graphe à 5 nœuds et 10 arcs.
e2
0 1 1 0 1 1 1 2 1 0 v2
    e1 e3
0 1 1 0 0 0 1 1 1 0
A  0 0 0 1 0 A2  1 0 0 0 1 e4
    v1 v3
1 0 0 0 1 1 1 2 0 1
    e5 e10 e6
1 0 1 0 0 0 1 1 1 1 e9 e7
e8
1 2 2 2 2 4 3 5 2 3 v5 v4
   
1 1 1 1 1 2 2 3 1 2
A3   1 1 2 0 1 A4  1 2 3 2 1
   
1 2 3 2 1 3 3 4 3 3
   
2 1 2 1 1 2 3 4 2 3
704
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017

4.1.1 Parcours
Liste des successeurs
On détermine (V) ensemble des successeurs des nœuds V par la matrice booléenne
  I  A  A 2  ...  A n 1  (I  A) n 1

• Multiplication booléenne = produit logique («et»)  0 1


0 0 0
1 0 1
• Addition booléenne = somme logique («ou»)  0 1
0 0 1
1 1 1

• La matrice (I + A)k indique pour chaque nœud (ligne) les nœuds atteignables (colonnes)
par un chemin de longueur k au plus.

• Dans un graphe à n nœuds, un chemin élémentaire est de longueur n-1 au plus.


On arrête le calcul à la puissance n-1 ou à la première puissance k telle que (I + A)k = (I + A)k-1

705
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017

4.1.1 Parcours
Exemple
• Graphe à 6 nœuds  n = 6
0 1 0 0 1 0 1 1 0 0 1 0 v2 v3
   
0 0 1 0 0 0 0 1 1 0 0 0
0 0 0
0 0 1 0 0 0 1 1 0
A  IA   v1 v4
0 0 0 0 0 1 0 0 0 1 0 1
   
0 1 1 0 0 1 0 1 1 0 1 1
0 0 1 
v5 v6
 0 0 0 0 0   0 0 0 0

1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
     
0 1 1 1 0 0 0 1 1 1 0 1 0 1 1 1 0 1
0 0 1 1 0 1 0 0 1 1 0 1 0 0 1 1 0 1
(I  A)  
2  (I  A)  
3  (I  A)  
4 
0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 0 1
     
0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1
0 1  0 1 0 1
 0 0 0 0  0 0 0 0  0 0 0 0

1 1 1 1 1 1
 
0 1 1 1 0 1
0 0 1 1 0 1
• (I + A)4 = (I + A)3 Â  (I  A) 5   
0 0 0 1 0 1
 On peut arrêter le calcul à k=4.  
0 1 1 1 1 1
0 1
 0 0 0 0
706
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017

4.1.1 Parcours
Exemple
• Graphe à 6 nœuds  n = 6
1 1 1 1 1 1 v2 v3
 
0 1 1 1 0 1
0 0 1 1 0 1 v1 v4
  (I  A)  
5 
0 0 0 1 0 1
  v5 v6
0 1 1 1 1 1
0 1
 0 0 0 0

• Les lignes indiquent les successeurs de chaque nœud.


Les colonnes indiquent les prédécesseurs de chaque nœud.

• Le nœud v1 admet tous les autres nœuds comme successeurs (ligne 1).
Le nœud v1 n’admet aucun prédécesseur (colonne 1)  v1 est une source.
 Le graphe est une arborescence de racine v1.

• Le nœud v6 admet tous les autres nœuds comme prédécesseurs (colonne 6).
Le nœud v6 n’admet aucun successeur (ligne 6)  v6 est un puits.

707
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017

4.1.1 Problèmes types


Réseau
Un réseau est un graphe valué G=(V,E,F,C,s,t).
• V est l’ensemble des nœuds  n nœuds (vi) i=1 à n
• E est l’ensemble des arcs  m arcs (ek) k=1 à m
• F donne les capacités des arcs  fij = capacité de l’arc [vivj]
• C donne les coûts des arcs  cij = coût de l’arc [vivj]
• Le nœud s est la source (point d’entrée).
• Le nœud t est le puits (point de sortie).

Problèmes types
• Problème de connexité : Existe-t-il un chemin entre 2 nœuds d’un graphe ?
• Problème de chemin : Quel est le chemin de coût minimal entre 2 nœuds ?
Quel est le circuit hamiltonien de coût minimal ?
(problème du voyageur de commerce)
• Problème de flot : Quel est le flot maximal pouvant passer de la source au puits ?
Quel est le coût minimal du flot maximal ?
• Problème d’affectation, de coloration, d’empilement, …

→ On classifie les problèmes selon leur complexité.

708
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017

4.1.1 Complexité
Taille d’une donnée
• La taille d’une donnée est la place mémoire nécessaire au stockage.
On mesure généralement la taille d’une donnée par des paramètres caractéristiques.

• Exemples : Graphe à n nœuds et m arcs  taille mesurée par (n,m)


Matrice carrée nn  taille mesurée par (n)

Complexité d’un algorithme


• Un algorithme est une suite d’opérations élémentaires appliquées sur des données.
La complexité d’un algorithme est le nombre d’opérations en fonction de la taille de la donnée.

• Exemple : Multiplication de 2 matrices de taille nn


n
C  A.B  c(i, j)   a (i, k )b(k, j) pour i , j = 1 à n
k 1
 n multiplications et n additions à réaliser nn fois  3n3 opérations

• On mesure la complexité par l’ordre de grandeur (= vitesse de croissance)


du nombre d’opérations lorsque la taille du problème augmente.
 O(n) , O([Link] n) , O(n2) , O(2n) , O(n!) , O(nn) , …

709
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017

4.1.1 Complexité
Algorithme polynomial
• Un algorithme est polynomial si sa complexité est un polynôme en fonction de la taille.
Exemples : O(n) , O([Link] n) , O(n2) , …

• Un algorithme non polynomial est exponentiel. n


 n 
Exemples : O(2n) , O(n!) , O(nn) , … (formule de Stirling : n!    2n )
e
• Un algorithme performant est polynomial  permet de traiter des données de grande taille
Une composition d’algorithmes polynomiaux reste polynomiale.

Temps de calcul
• Avec un ordinateur effectuant un milliard d’opérations par seconde.

n [Link] n n2 n3 n5 2n 3n n!
10 10-8 s 10-8 s 10-7 s 10-6 s 10-4 s 10-6 s 6.10-5 s 3.10-3 s
50 5.10-8 s 8.10-8 s 2.10-6 s 10-4 s 0,3 s 13 jours 107 ans 1048 ans
100 10-7 s 2.10-7 s 10-5 s 10-3 s 10 s 1013 ans 1031 ans
1000 10-6 s 3.10-6 s 10-3 s 1s 11 jours
10000 10-5 s 4.10-5 s 0,1 s 1000 s 3100 ans
710
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017

4.1.1 Complexité
Problème combinatoire
On distingue les problèmes d’optimisation (PO) et les problèmes d’existence (PE).

• Un problème d’optimisation (PO) a pour but de trouver la meilleure solution x*.


 fonction coût f à minimiser sur un ensemble fini X

Formulation : Trouver x* tel que f ( x*)  min f ( x )


xX

• Un problème d’existence (PE) a pour but de trouver une solution x vérifiant une propriété P.
 problème de décision à réponse « oui » ou « non »

Formulation : Trouver x vérifiant f(x)  c  solution de coût inférieur à c

• Un algorithme résolvant (PO) résout également (PE).


Un algorithme résolvant (PE) peut résoudre (PO) par dichotomie sur la valeur de c.
 Les problèmes d’existence (PE) et d’optimisation (PO) sont de difficulté comparable.

• Un problème combinatoire est dit « facile » ou « difficile »


selon que l’on connaît ou non un algorithme polynomial de résolution pour (PE).

711
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017

4.1.1 Complexité
Classes P, NP, NPC
La classification des problèmes dépend de la difficulté de vérification d’une solution.
On souhaite vérifier que x0 est une solution du problème (PE) : f(x0)  c ?
On ne se préoccupe pas de la façon dont x0 a été obtenu.

• Classe NP (NP = Non Déterministe Polynomial)


 on connaît un algorithme polynomial de vérification
NP
 contient quasiment tous les problèmes rencontrés en pratique

• Classe P (P = Déterministe Polynomial) P


 on connaît un algorithme polynomial de résolution
 problèmes faciles de NP Indéterminé
NPC
• Classe NPC (problèmes NP–Complets ou NP–Difficiles)
 problèmes de NP de difficulté « équivalente »
 on peut passer d’un problème de NPC à un autre par une transformation polynomiale

• Conjecture P  NP
Si l’on trouvait un algorithme polynomial de résolution pour un problème de NPC,
alors tous les problèmes de NPC seraient dans P.
712
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017

4.1.1 Complexité
Problèmes de NP
NP = Problèmes pour lesquels on connaît un algorithme polynomial de vérification
Le problème peut être facile (P), difficile (NPC) ou indéterminé.

• Exemple de problème appartenant à NP : Problème d’empilement


Existe-t-il p entiers parmi n dont la somme est égale à b ?
Vérification d’une solution : on vérifie que les p entiers sont parmi les n
et que leur somme vaut b
→ L’algorithme de vérification est polynomial.

• Exemple de problème n’appartenant pas à NP : Partie d’échecs


Existe-t-il à partir d’une position donnée une stratégie gagnante ?
Vérification d’une solution : il faudrait examiner toutes les parties possibles
à partir de la position donnée
→ L’algorithme de vérification n’est pas polynomial.

• Exemple de problème indéterminé de NP : Isomorphisme de graphes


Peut-on passer du graphe G1 au graphe G2 par renumérotation des nœuds ?
→ L’algorithme de vérification est polynomial.
On ne sait pas s’il existe un algorithme de résolution polynomial → indéterminé
713
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017

4.1.1 Complexité
Problèmes faciles
P = Problèmes pour lesquels on connaît un algorithme polynomial de résolution

• Connexité d’un graphe


Existe-t-il un chemin entre 2 nœuds d’un graphe ?

• Chemin de coût minimal dans un graphe valué


Quel est le chemin de coût minimal entre 2 nœuds quelconques ?

• Flot maximal dans un réseau


Quel est le flot maximal entre la source et le puits ?

• Parcours eulérien dans un graphe


Existe-t-il un chemin passant une fois et une seule par chaque arête ?

• Affectation (couplage)
Quelle est l’affectation de coût minimal entre n ressources et n taches ?

• Tri de n nombres

714
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017

4.1.1 Complexité
Problèmes difficiles
NPC = Problèmes pour lesquels on ne connaît pas d’algorithme polynomial de résolution
→ problèmes NP-complets ou NP-difficiles

• Coloration
Trouver le nombre minimal de couleurs pour colorer un graphe.
→ Théorème des 4 couleurs pour un graphe planaire : conjecturé en 1880, démontré en 1977
(démonstration assistée par ordinateur)

• Voyageur de commerce
Trouver le circuit hamiltonien de coût minimal dans un graphe valué.
→ Problème test pour les algorithmes d’optimisation combinatoire

• Empilement (sac à dos)


Choisir des objets pour remplir un sac à dos de taille donnée en maximisant la valeur totale.

• Emboîtement (bin packing)


Ranger des objets en utilisant le moins de boîtes possible.

715
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017

4.1.1 Algorithmes
Méthodes approchées
Les méthodes approchées sont les seules utilisables pour des problèmes de grande taille.
L’objectif est d’obtenir des solutions de bonne qualité en des temps de calcul raisonnables.

• Une heuristique est une méthode spécifique à un problème particulier.


Exemples : algorithme glouton (ou gourmand ou constructif)
 empilement, emboîtement, recouvrement, coloration

• Une métaheuristique est une méthode générale transposable à différents problèmes.


Exemples : recuit simulé, recherche tabou, algorithmes génétiques, essaims, fourmis …
 applicable à de nombreux problèmes combinatoires

Méthodes exactes
Les méthodes exactes sont applicables aux problèmes de taille limitée.
Elles donnent la solution optimale au prix d’un temps de calcul qui peut être élevé.

• Algorithme spécifique : Applicable à un problème particulier (chemin, flot, affectation)

• Programmation linéaire : Applicable à de nombreux problèmes (formulation à adapter)

716
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Problème de chemin

 Algorithme de Ford

 Algorithme de Demoucron et Floyd

 Algorithme de Dijkstra

 Algorithme de Bellman

 Programmation dynamique

 Heuristique A*

 Ordonnancement
- Méthode PERT
- Méthode MPM

717
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Problème de chemin


Enoncé du problème
Un graphe valué G=(V,E,C) est défini par : - un ensemble de nœud V=(vi) i = 1 à n
- un ensemble d’arêtes E=(ejk) j,k = 1 à n
- les coûts des arêtes C=(cjk) j,k = 1 à n

• Problèmes types
- Trouver le chemin de coût minimal entre 2 nœuds donnés
- Trouver le chemin de coût minimal entre 1 nœud et tous les autres nœuds
- Trouver le chemin de coût minimal entre tous les couples de nœuds

• Il peut y avoir plusieurs chemins optimaux de même coût.


Il suffit en pratique de trouver l’un des chemins optimaux.

Algorithmes
• Algorithme de Ford, de Demoucron et Floyd  graphe quelconque
• Algorithme de Dijkstra  graphe à valuations positives
• Algorithme de Bellman  graphe sans circuit

• Les algorithmes de Ford et Bellman peuvent se transposer au cas de maximisation du coût.


 application aux problèmes d’ordonnancement
718
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Ford


Principe
On construit itérativement les coûts minimaux de la source à chaque nœud.
Chaque nœud vi est marqué par la valeur zi du meilleur coût trouvé.

• Initialisation des coûts


On attribue la valeur : zs = 0 à la source
zi = + aux autres nœuds

• Mise à jour des coûts


On considère l’arc de coût cij allant du nœud vi (valeur zi) au nœud vj (valeur zj).
vi
Si zi + cij < zj , on a trouvé un meilleur chemin arrivant en vj. zi
(= chemin venant de vi) cij
s
 on met à jour la valeur de vj  zj = zi + cij
L’ordre de traitement des arcs est libre. zj
vj
• Fin de l’algorithme
On s’arrête lorsqu’aucun coût ne peut être amélioré.
Chaque nœud est alors marqué par la valeur du meilleur chemin depuis la source.

719
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Ford


Exemple
4 3
v2 v4
• Graphe valué à 6 nœuds
5 2
Source en v1 2
v1 v5 2
1 1

v3 v6
3 3

4 3
 
• Initialisation des coûts
5 2
Source v1 : z1 = 0
Autres nœuds : zi = + 0 2  2
1 1

 
3 3

720
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Ford


Exemple
4 3
4 4
• Première mise à jour
5 2
On effectue un passage par nœud. 0 2 2 2
 Attribution d’une valeur à chaque nœud 1 1

3 2
3 3

4 3
4 1
• Deuxième mise à jour
5 2
On vérifie les arcs non utilisés.
 Amélioration des valeurs en 2 nœuds 0 2 2 2
1 1

2 2
3 3

721
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Ford


Exemple
4 3
4 1
• Troisième mise à jour
5 2
On vérifie les successeurs des nœuds modifiés. 0 2 -1 2
 Amélioration des valeurs en 2 nœuds 1 1

2 -1
3 3

4 3
4 1
• Quatrième mise à jour
5 2
On vérifie les successeurs des nœuds modifiés.
 Amélioration de la valeur en 1 nœud 0 2 0 2
1 1

2 -1
3 3

722
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Ford


Exemple
4 3
4 1
• Fin de l’algorithme
5 2
Il n’y a plus d’amélioration possible. 0 2 0 2
Les marques donnent le coût minimal 1 1
de la source à chaque nœud.
2 -1
3 3
• Coûts minimaux
4 3
v1v2 v1v3 v1v4 v1v5 v1v6 v2 v4

4 2 1 0 1 5 2
v1 2 v5 2
• Arcs optimaux 1 1

Ce sont les arcs dont le coût est égal v3 v6


à la différence des marques. 3 3

723
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Ford


Application de l’algorithme
• L’algorithme de Ford s’applique dans un graphe quelconque.
 Les valuations des arcs peuvent être positives ou négatives. vj
1
 Le graphe peut comporter des circuits.
 Le graphe ne doit pas comporter de circuit absorbant. vi 1
L’algorithme est fini en l’absence de circuit absorbant.
3
vk

• L’ordre de traitement des arcs est libre. Circuit absorbant


 L’efficacité dépend de l’ordre de traitement choisi. de valeur 1
 La complexité est en O(2n) (n = nombre de nœuds)
L’algorithme est non polynomial.
On peut dériver des algorithmes polynomiaux avec des règles d’ordre de traitement des arcs.

• L’algorithme permet d’obtenir le coût minimal entre la source et chaque nœud.


On peut le généraliser pour obtenir le coût minimal entre 2 nœuds quelconques.
 Méthode matricielle de Demoucron et Floyd
 Distancier = matrice des coûts minimaux entre nœuds.

724
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Demoucron et Floyd


Méthode matricielle
On construit en n itérations les coûts minimaux entre nœuds.
Une itération consiste à améliorer la matrice des coûts en considérant un nœud intermédiaire.
La matrice Dk de taille nn contient les coûts entre nœuds à l’itération k.

• Initialisation
On crée la matrice D0 : dij = cij coût de l’arc du nœud vi au nœud vj si les nœuds sont reliés
dij = + si les nœuds ne sont pas reliés

• Itération k (1  k  n)
Pour tout couple de nœuds (vi , vj), on considère le passage par le nœud intermédiaire vk.
Le meilleur coût actuel de vi à vj est : dij
Le coût de vi à vj en passant par vk est : dik + dkj vi vj
dij
Si dik + dkj < dij , on a trouvé un meilleur chemin de vi à vj.
(= chemin passant par vk) dik dkj
 on met à jour la valeur de dij  dij = dik + dkj
vk
• Fin de l’algorithme
On s’arrête lorsque les n nœuds ont été considérés comme nœuds intermédiaires.
La matrice Dn contient les coûts des meilleurs chemins entre nœuds.
725
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Demoucron et Floyd


Exemple
3
v2
• Graphe valué à 6 nœuds
2 6
v1 6 v4 7 v6
2 2
v3 v5
8 1

v1 v2 v3 v4 v5 v6
• Matrice initiale D0
v1 3 8 6
dij = cij si les nœuds vi et vj sont reliés
dij = + sinon v2 2 6
v3 1
v4 2 7
v5 2
v6

726
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Demoucron et Floyd


Exemple
3
v2
• Itération 1
On examine le passage par le nœud v1. 2 6
La colonne v1 est vide dans la matrice. v1 6 v4 7 v6
 Le nœud v1 ne reçoit aucun arc.
 v1 ne peut être un nœud intermédiaire. 2 2
 D1 = D0 v3 v5
8 1
• Itération 2
On examine le passage par le nœud v2. v1 v2 v3 v4 v5 v6
La colonne v2 a une valeur venant de v1.
v1 3 8 6

 Il faut comparer les coûts d1j et d12 + d2j. v2 2 6


d12 + d21 = + v3 1
d12 + d22 = + v4 7
2
d12 + d23 = +
d12 + d24 = 5 < 6  amélioration v5 2
d12 + d25 = 9 < +  amélioration v6
d12 + d26 = +
727
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Demoucron et Floyd


Exemple
v1 v2 v3 v4 v5 v6
• Itération 3 v1 3 8 5 9
On examine le passage par le nœud v3.
v2 2 6
La colonne v3 a une valeur venant de v1
et une valeur venant de v4. v3 1
v4 2 7
 Il faut comparer les coûts d1j et d13 + d3j.
v5 2
d13 + d31 = + d13 + d32 = +
d13 + d33 = + d13 + d34 = + v6
d13 + d35 = 9 = d15  identique
v1 v2 v3 v4 v5 v6
d13 + d36 = +
v1 3 8 5 9
 Il faut comparer les coûts d4j et d43 + d3j. v2 2 6
d43 + d31 = + d43 + d32 = + v3 1
d43 + d33 = + d43 + d34 = +
v4 2 3 7
d43 + d35 = 3 < +  amélioration
d43 + d36 = + v5 2
v6

728
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Demoucron et Floyd


Exemple
v1 v2 v3 v4 v5 v6
• Itération 4 v1 3 8 5 9
On examine le passage par le nœud v4.
v2 2 6
La colonne v4 a une valeur venant de v1
et une valeur venant de v2. v3 1
v4 2 3 7
 Il faut comparer les coûts d1j et d14 + d4j.
v5 2
d14 + d41 = + d14 + d42 = +
d14 + d43 = 7 < 8  amélioration v6
d14 + d44 = +
v1 v2 v3 v4 v5 v6
d14 + d45 = 8 < 9  amélioration
d14 + d46 = 12 < +  amélioration v1 3 7 5 8 12
v2 4 2 5 9
 Il faut comparer les coûts d2j et d24 + d4j. v3 1
d24 + d41 = + d24 + d42 = +
v4 2 3 7
d24 + d43 = 4 < +  amélioration
d24 + d44 = + v5 2
d24 + d45 = 5 < 6  amélioration v6
d24 + d46 = 9 < +  amélioration
729
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Demoucron et Floyd


Exemple
v1 v2 v3 v4 v5 v6
• Itération 5 v1 3 7 5 8 12
On examine le passage par le nœud v5.
v2 4 2 5 9
La colonne v5 a une valeur venant de v1
une valeur venant de v2 v3 1
une valeur venant de v3 v4 2 3 7
une valeur venant de v4.
v5 2

 Il faut comparer les coûts d1j et d15 + d5j. v6


d15 + d56 = 10 < 12  amélioration
v1 v2 v3 v4 v5 v6

 Il faut comparer les coûts d2j et d25 + d5j. v1 3 7 5 8 10


d25 + d56 = 7 < 9  amélioration v2 4 2 5 7
v3 1 3
 Il faut comparer les coûts d3j et d35 + d5j.
v4 2 3 5
d35 + d56 = 3 < +  amélioration
v5 2
 Il faut comparer les coûts d4j et d45 + d5j. v6
d45 + d56 = 5 < 7  amélioration
730
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Demoucron et Floyd


Exemple
3
v2
• Itération 6
On examine le passage par le nœud v6. 2 6
La ligne v6 est vide dans la matrice. v1 6 v4 7 v6
 Aucun arc ne part du nœud v6.
 v6 ne peut être un nœud intermédiaire. 2 2
 D6 = D5 v3 v5
8 1

• Fin de l’algorithme
v1 v2 v3 v4 v5 v6
Les 6 nœuds intermédiaires ont été examinés.
On obtient la matrice finale D6 . v1 3 7 5 8 10
v2 4 2 5 7
v3 1 3
• La matrice D6 est le distancier du graphe.
v4 2 3 5
dij est le coût du meilleur chemin de de vi à vj.
v5 2
v6

731
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Demoucron et Floyd


Application de l’algorithme
• L’algorithme de Demoucron et Floyd consiste en 3 boucles :

De k = 1 à n (itération k = numéro du nœud intermédiaire)

De i = 1 à n (i = numéro du nœud de départ)


vi vj
dij
De j = 1 à n (j = numéro du nœud d’arrivée)
dik dkj
Remplacer dij par Min (dij , dik + dkj)
vk

• L’algorithme se termine en n itérations en l’absence de circuit absorbant.


La présence d’un circuit absorbant est détectée si l’un des coûts diagonaux devient négatif.
dii < 0  Il existe un circuit absorbant passant par le nœud vi.

• L’algorithme s’applique dans un graphe quelconque.


Il permet d’obtenir le coût minimal entre 2 nœuds quelconques.

732
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Dijkstra


Principe
L’algorithme de Dijkstra s’applique dans un graphe à valuations positives.
Il est identique à l’algorithme de Ford avec un ordre de traitement des nœuds.
Chaque nœud est traité une seule fois.

• Initialisation des coûts


On attribue la valeur : zs = 0 à la source  Les nœuds sont non traités.
zi = + aux autres nœuds

• Traitement d’un nœud


On choisit parmi les nœuds non traités le nœud vi de valeur minimale zi. vi
zi
On met à jour les valeurs des nœuds vj successeurs du nœud vi. cij
s
Si zi + cij < zj , on met à jour la valeur de vj  zj = zi + cij
Le nœud vi est traité. zj
vj
• Fin de l’algorithme
On s’arrête lorsque tous les nœuds sont traités.
Chaque nœud est alors marqué par la valeur du meilleur chemin depuis la source.

733
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Dijkstra


Exemple
6 1
v2 v4
• Graphe valué à 5 nœuds

Valuations positives v1 2 2 4
Source en v1

v3 v5
2 1

• 6 1
Initialisation des coûts  

Source v1 : z1 = 0
Autres nœuds : zi = + 0 2 2 4
Les nœuds sont non traités.

 
2 1

734
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Dijkstra


Exemple
6 1
6 
• Traitement du premier nœud

Les nœuds non traités sont : v1,v2,v3,v4,v5. 0 2 2 4


Le nœud de valeur minimale est v1.

On met à jour les valeurs des successeurs de v1.


2 
Le nœud v1 est traité. 2 1

• 6 1
Traitement du deuxième nœud 6 

Les nœuds non traités sont : v2,v3,v4,v5.


Le nœud de valeur minimale est v3. 0 2 2 4
On met à jour les valeurs des successeurs de v3.
Le nœud v3 est traité.
2 3
2 1

735
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Dijkstra


Exemple
6 1
5 7
• Traitement du troisième nœud

Les nœuds non traités sont : v2,v4,v5. 0 2 2 4


Le nœud de valeur minimale est v5.

On met à jour les valeurs des successeurs de v5.


2 3
Le nœud v5 est traité. 2 1

• Traitement du quatrième nœud 6 1


5 6

Les nœuds non traités sont : v2,v4.


Le nœud de valeur minimale est v2. 0 2 2 4
On met à jour les valeurs des successeurs de v2.
Le nœud v2 est traité.
2 3
2 1

736
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Dijkstra


Exemple
6 1
5 6
• Traitement du cinquième nœud

Le dernier nœud non traité est v4 0 2 2 4


qui n’a pas de successeur.

• Fin de l’algorithme
2 3
Les marques donnent le coût minimal 2 1
de la source à chaque nœud.

• Coûts minimaux 6 1
v2 v4

v1v2 v1v3 v1v4 v1v5


5 2 6 3 v1 2 2 4
• Arcs optimaux
Ce sont les arcs dont le coût est égal
v3 v5
à la différence des marques. 2 1

737
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Dijkstra


Application de l’algorithme
• L’algorithme de Dijkstra s’applique dans un graphe à valuations positives.
Il améliore l’algorithme de Ford en prescrivant l’ordre de traitement des nœuds.

• Chaque nœud est traité une seule fois  n itérations


L’algorithme se termine lorsque tous les nœuds ont été traités.
On obtient alors les coûts des chemins de la source à chaque nœud.

• Si l’on cherche le chemin entre la source et un nœud particulier,


on peut arrêter l’algorithme lorsque ce nœud a été traité.

• La complexité est en O([Link] n) (n = nombre de nœuds)


(m = nombre d’arcs)
L’algorithme est polynomial et plus efficace sur les graphes peu denses (rapport m/n2).

• L’algorithme de Dijkstra est très efficace pour trouver un chemin dans un réseau routier.
Un réseau routier est proche d’un graphe planaire (= sans croisement d’arêtes).
Pour un graphe planaire : m  3n  6
Pour un réseau routier : m  4n en pratique  densité faible

738
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Bellman


Principe
L’algorithme de Bellman s’applique dans un graphe sans circuit.
Il est identique à l’algorithme de Ford avec un ordre de traitement des nœuds.
Chaque nœud est traité une seule fois.

• Ordre topologique
Dans un graphe sans circuit (arbre), on peut numéroter les nœuds dans un ordre topologique.
 Chaque nœud porte un numéro différent (le nœud vi porte le numéro i).
 Pour tout arc [vi , vj], les numéros des nœuds sont croissants : i < j.
Les nœuds sont traités dans ordre topologique.
vi
• Traitement du nœud vi. zi
On met à jour les valeurs des nœuds vj successeurs du nœud vi. cij
s
Si zi + cij < zj , on met à jour la valeur de vj  zj = zi + cij
Le nœud vi est traité. zj
vj
• Fin de l’algorithme
On s’arrête lorsque tous les nœuds sont traités.
Chaque nœud est alors marqué par la valeur du meilleur chemin depuis la source.

739
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Bellman


Exemple
6 1
v2 v5
• Graphe valué à 5 nœuds

Graphe sans circuit v1 2 5 4


Source en v1

• Numérotation des nœuds


v3 v4
2 2
Ordre topologique : arc [vi , vj]  i < j
6 1
 
• Initialisation des coûts

Source v1 : z1 = 0 0 2 5 4
Autres nœuds : zi = +
Les nœuds sont traités dans l’ordre topologique.
 
2 1

740
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Bellman


Exemple
6 1
6 
• Traitement du premier nœud

Le 1er nœud dans l’ordre topologique est v1. 0 2 5 4

On met à jour les valeurs des successeurs de v1.


Le nœud v1 est traité.
2 
2 2

• Traitement du deuxième nœud 6 1


6 7

Le 2ème nœud dans l’ordre topologique est v2.


0 2 5 4
On met à jour les valeurs des successeurs de v2.
Le nœud v2 est traité.
2 
2 2

741
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Bellman


Exemple
6 1
6 3
• Traitement du troisième nœud

Le 3ème nœud dans l’ordre topologique est v3. 0 2 5 4

On met à jour les valeurs des successeurs de v3.


Le nœud v3 est traité.
2 0
2 2

• Traitement du quatrième nœud 6 1


6 3

Le 4ème nœud dans l’ordre topologique est v4.


0 2 5 4
On met à jour les valeurs des successeurs de v4.
Le nœud v4 est traité.
2 0
2 2

742
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Algorithme de Bellman


Exemple
6 1
6 3
• Traitement du cinquième nœud

Le dernier nœud non traité est v5 0 2 5 4


qui n’a pas de successeur.

• Fin de l’algorithme
2 0
Les marques donnent le coût minimal 2 2
de la source à chaque nœud.

• Coûts minimaux 6 1
v2 v5

v1v2 v1v3 v1v4 v1v5


6 2 0 3 v1 2 5 4
• Arcs optimaux
Ce sont les arcs dont le coût est égal
v3 v4
à la différence des marques. 2 2

743
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Programmation dynamique


Principe d’optimalité de Bellman
Un sous-chemin d’un chemin optimal est lui-même optimal.

• Si le chemin optimal entre les nœuds v1 et vn passe par les nœuds vi et vj,
alors le sous-chemin de vi à vj est optimal.
Sinon on pourrait améliorer le chemin de v1 à vn. v1 vi vj vn

• On peut appliquer le principe d’optimalité dans un graphe orienté sans circuit.


Les nœuds sont classés en niveaux successifs.
Chaque niveau contient les successeurs du niveau précédent.
Niveau 0 : V0 = {nœuds sans prédécesseurs}  source(s) v1
Niveau 1 : V1 = {nœuds successeurs de V0}
Niveau k : Vk = {nœuds successeurs de Vk1} v0 v2
Un nœud peut appartenir à plusieurs niveaux. v2V1
v2V2
• La programmation dynamique consiste à traiter les niveaux successifs.
On part : du premier niveau pour calculer les coûts optimaux de la source à chaque nœud
ou du dernier niveau pour calculer les coûts optimaux de chaque nœud au puits.

744
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Programmation dynamique


Equation fonctionnelle
• Notations
Le coût de l’arc allant du nœud vi au nœud vj est noté cij.
Le coût optimal de la source v0 au nœud vi est noté zi.

• Le coût optimal d’un nœud s’obtient à partir des coûts de ses prédécesseurs.
On évalue successivement les coûts optimaux des nœuds de V0, V1, …, Vk, …

Niveau 0 : vj  V0  z( v j )  0 vi1
Niveau 1 : vj  V1
v i V0

 z( v j )  min z( v i )  cij 
z(vi2) + ci2j
Niveau k : vj  Vk 
 z( v j )  min z( v i )  cij
v i Vk 1
 vi2 vj

 Equation fonctionnelle de la programmation dynamique


vi3

• On peut appliquer le principe de la programmation dynamique


- vers l’avant en partant de la source  minimisation avec addition des coûts des arcs
- vers l’arrière en partant du puits  maximisationavec soustraction des coûts des arcs
745
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Programmation dynamique


Exemple
Graphe sans circuit à 5 niveaux

v21 4
3
v11 5 v31
4 5
8 4
v22
5 4
5 4
v0 v12 6 v4
4 3
7 v23 7
4 2
2
v13 v32
3 4
v24

Niveau 0 Niveau 1 Niveau 2 Niveau 3 Niveau 4


V0 = {v0} V1 = {v11,v12,v13} V2 = {v21,v22,v23,v24} V3 = {v31,v32} V4 = {v4}

746
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Programmation dynamique


Exemple : résolution vers l’avant
Traitement du niveau 1

v21 4
3
8 5 v31
4 5
8 4
v22
5 4
5 4
0 5 6 v4
4 3
7 v23 7
4 2
2
7 v32
3 4
v24

Niveau 0 Niveau 1 Niveau 2 Niveau 3 Niveau 4


V0 = {v0} V1 = {v11,v12,v13} V2 = {v21,v22,v23,v24} V3 = {v31,v32} V4 = {v4}

747
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Programmation dynamique


Exemple : résolution vers l’avant
Traitement du niveau 2

10 4
3
8 5 v31
4 5
8 4
9
5 4
5 4
0 5 6 v4
4 3
7 9 7
4 2
2
7 v32
3 4
9

Niveau 0 Niveau 1 Niveau 2 Niveau 3 Niveau 4


V0 = {v0} V1 = {v11,v12,v13} V2 = {v21,v22,v23,v24} V3 = {v31,v32} V4 = {v4}

748
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Programmation dynamique


Exemple : résolution vers l’avant
Traitement du niveau 3

10 4
3
8 5 12
4 5
8 4
9
5 4
5 4
0 5 6 v4
4 3
7 9 7
4 2
2
7 11
3 4
9

Niveau 0 Niveau 1 Niveau 2 Niveau 3 Niveau 4


V0 = {v0} V1 = {v11,v12,v13} V2 = {v21,v22,v23,v24} V3 = {v31,v32} V4 = {v4}

749
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Programmation dynamique


Exemple : résolution vers l’avant
Traitement du niveau 4

10 4
3
8 5 12
4 5
8 4
9
5 4
5 4
0 5 6 17
4 3
7 9 7
4 2
2
7 11
3 4
9

Niveau 0 Niveau 1 Niveau 2 Niveau 3 Niveau 4


V0 = {v0} V1 = {v11,v12,v13} V2 = {v21,v22,v23,v24} V3 = {v31,v32} V4 = {v4}

750
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Programmation dynamique


Exemple : résolution vers l’avant
On obtient l’ensemble des chemins optimaux de v0 à chaque nœud.
 10 chemins évalués sur 16 possibles

v21 4
3
v11 5 v31
4 5
8 4
v22
5 4
5 4
v0 v12 6 v4
4 3
7 v23 7
4 2
2
v13 v32
3 4
v24

v0 v0v11 v0v12v21 v0v13v23v31 v0v13v23v31v4


v0v12 v0v12v22 v0v13v23v32
v0v13 v0v13v23
v0v12v24
751
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Programmation dynamique


Exemple : résolution vers l’arrière
Traitement du niveau 3

v21 4
3
v11 5 5
4 5
8 4
v22
5 4
5 4
v0 v12 6 0
4 3
7 v23 7
4 2
2
v13 7
3 4
v24

Niveau 0 Niveau 1 Niveau 2 Niveau 3 Niveau 4


V0 = {v0} V1 = {v11,v12,v13} V2 = {v21,v22,v23,v24} V3 = {v31,v32} V4 = {v4}

752
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Programmation dynamique


Exemple : résolution vers l’arrière
Traitement du niveau 2

9 4
3
v11 5 5
4 5
4
8 9
5 4
5 4
v0 v12 6 0
4 3
7 8 7
4 2
2
v13 7
3 4
11

Niveau 0 Niveau 1 Niveau 2 Niveau 3 Niveau 4


V0 = {v0} V1 = {v11,v12,v13} V2 = {v21,v22,v23,v24} V3 = {v31,v32} V4 = {v4}

753
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Programmation dynamique


Exemple : résolution vers l’arrière
Traitement du niveau 1

9 4
3
12 5 5
4 5
4
8 9
5 4
5 4
v0 13 6 0
4 3
7 8 7
4 2
2
10 7
3 4
11

Niveau 0 Niveau 1 Niveau 2 Niveau 3 Niveau 4


V0 = {v0} V1 = {v11,v12,v13} V2 = {v21,v22,v23,v24} V3 = {v31,v32} V4 = {v4}

754
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Programmation dynamique


Exemple : résolution vers l’arrière
Traitement du niveau 0

9 4
3
12 5 5
4 5
4
8 9
5 4
5 4
17 13 6 0
4 3
7 8 7
4 2
2
10 7
3 4
11

Niveau 0 Niveau 1 Niveau 2 Niveau 3 Niveau 4


V0 = {v0} V1 = {v11,v12,v13} V2 = {v21,v22,v23,v24} V3 = {v31,v32} V4 = {v4}

755
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Programmation dynamique


Exemple : résolution vers l’arrière
On obtient l’ensemble des chemins optimaux chaque nœud à v4.
 10 chemins évalués sur 16 possibles

v21 4
3
v11 5 v31
4 5
8 4
v22
5 4
5 4
v0 v12 6 v4
4 3
7 v23 7
4 2
2
v13 v32
3 4
v24

v0v13v23v31v4 v11v21v31v4 v21v31v4 v31v4 v4


v12v22v31v4 v22v31v4 v32v4
v13v23v31v4 v23v31v4
v24v32v4
756
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Programmation dynamique


Généralisation
Le principe de la programmation dynamique s’applique à l’évolution d’un système.
Le système passe par une succession d’états au cours du temps.

• L’état du système à l’instant tk est noté xk


 x k  Xk , k  0 à n
Xk est l’ensemble des états possibles à l’instant tk

• L’état initial x0 et l’état final xn sont donnés.


On cherche le coût optimal pour passer de x0 à xn.

• Le coût z(xk) associé à l’état xk représente le coût optimal :


- soit pour passer de x0 à xk (résolution vers l’avant)
- soit pour passer de xk à xn (résolution vers l’arrière)
Le coût du passage d’un état xk à un état xk+1 est noté c(xk , xk+1).

• Le principe d’optimalité donne la relation de récurrence vérifiée par le coût optimal.


zx k 1   min zx k   cx k , x k 1  (résolution vers l’avant)
x k X k

zx k 1   maxzx k   cx k 1 , x k  (résolution vers l’arrière)


x k X k
757
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Programmation dynamique


Application
• La programmation dynamique permet d’éviter l’énumération de tous les chemins possibles.

Sur l’exemple : 10 chemins évalués sur 16 possibles

Nombre total de chemins  2n (avec 2 arcs partant de chaque nœud)


Nombre de chemins évalués  n (nombre de nœuds)

On obtient l’ensemble des chemins optimaux ( « champ d’extrémales ») :


- allant de la source vers chaque nœud (évaluation vers l’avant)
- allant de chaque nœud vers le puits (évaluation vers l’avant)

• La programmation dynamique est applicable lorsque la dimension de l’état reste petite ( 3).
Pour une dimension d’état supérieur, la combinatoire est exponentielle.

• Le principe d’optimalité peut s’appliquer à un système continu.


L’équation fonctionnelle vérifiée par le coût optimal est une équation aux dérivées partielles.
 équation HJB (Hamilton – Jacobi – Bellman)

758
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Principe
L’algorithme de Dijkstra traite à chaque étape le nœud de valeur minimale.
Ce choix ne tient pas compte du chemin restant à parcourir (qui est inconnu).
L’heuristique A* se base sur une estimation du coût restant pour choisir le nœud à traiter.

• On cherche le chemin de coût minimal entre le nœud s et le nœud t.


Une heuristique h associe à chaque nœud vi une estimation hi du coût restant de vi à t.

• L’évaluation ei du nœud vi est la somme : du coût zsi (connu) entre s et vi → ei = zsi + hi


du coût hi (estimé) entre vi et t

zsi vi
hi
s t
zsj hj
vj

• L’algorithme A* traite à chaque étape le nœud d’évaluation minimale (= le plus prometteur ).

759
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Déroulement de l’algorithme
L’algorithme A* diffère de l’algorithme de Dijkstra par le choix du nœud à traiter.

• Initialisation des coûts


On attribue le coût : zs = 0 à la source s
zsi = + aux autres nœuds vi

• Traitement des nœuds


Tous les nœuds sont initialement fermés, sauf la source s.
Un nœud est ouvert lorsque son coût est modifié à partir d’un prédécesseur.
Un nœud est fermé lorsque les coûts de ses successeurs ont été mis à jour.

On choisit parmi les nœuds ouverts le nœud vi d’évaluation minimale ei.


- Les successeurs de vi sont mis à jour.
Si zsi + cij < zsj , on modifie zsj  zsj = zsi + cij vi
zsi
et le nœud vj est ouvert.
- Le nœud vi est fermé. s cij

• Fin de l’algorithme zsj


vj
On s’arrête lorsque le meilleur nœud ouvert est l’objectif t.
760
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Propriétés de l’heuristique
• Le comportement de l’algorithme dépend des propriétés de l’heuristique.
On note : zij le coût du meilleur chemin de vi à vj
hi le coût estimé de vi à t
ei l’évaluation du nœud vi → ei = zsi + hi
cij le coût de l’arc vivj

zsi vi
hi
cij
s t
zsj hj
vj

• Une heuristique admissible sous-estime le coût du chemin restant : hi  zit

• Une heuristique consistante sous-estime le coût de chaque arc : hi  hj + cij

• Une heuristique monotone donne une évaluation décroissante


entre un nœud et ses successeurs : ei  ej
761
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Propriétés de l’heuristique
• Les propriétés de consistance, monotonie, admissibilité sont liées.

Consistance  Monotonie
Consistance  Admissibilité

• Une heuristique admissible garantit de trouver le chemin optimal.

• Une heuristique consistante ouvre chaque nœud une fois au plus.


Une heuristique consistante traite moins (ou autant) de nœuds que Dijkstra.

• Une heuristique non consistante peut rouvrir des nœuds de façon exponentielle.
Même si l’heuristique est admissible, la performance peut être très dégradée.

Cas particuliers
• Avec l’heuristique nulle (hi = 0), le nœud choisi est le nœud de coût minimal.
On retrouve l’algorithme de Dijkstra : tous les nœuds sont traités une fois.

• Avec l’heuristique parfaite (hi = zit), le nœud choisi est sur le chemin optimal.
On trouve le chemin optimal directement, car l’évaluation donne la solution exacte.
762
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Exemple 1
• Nœuds numérotés par abscisse-ordonnée : vij = nœud en position (i , j)
• Nœud de départ : v11 → Nœud d’arrivée : v44

• Estimation du coût restant = nombre d’arcs à parcourir jusqu’à v 44


(entre parenthèses en haut à gauche de chaque nœud)

(3) (2) (1) (0)


v14 v24 v34 v44
1 4 1

1.1 2 1 1
(4) (3) (2) (1)
v13 2 v23 2 v33 2 v43

1.1 2 1 1 estimation = 2
(5) (4) (3) (2)
v12 v22 1 v32 2 v42
1.5
1.1 2 2 1 abscisse = 4
(6) (5) (4) (3) ordonnée = 2
v11 v21 1 v31 1 v41
1

763
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Exemple 1 : étape 0
• Nœuds ouverts : v11 (6)

• Nœud à traiter : v11 (6) = meilleure évaluation

• Meilleur chemin : v11 → C=0

(3) (2) (1) (0)


1 4 1
Nœuds évalués : 1
Nœuds traités : 0
1.1 2 1 1
(4) (3) (2) (1)
2 2 2

1.1 2 1 1
(5) (4) (3) (2)
1.5 1 2

1.1 2 2 1
(6) (5) (4) (3)
0 (6) 1 0 1 1

764
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Exemple 1 : étape 1
• Nœuds ouverts : v12 (6.1) , v21 (6)

• Nœud à traiter : v21 (6) = meilleure évaluation

• Meilleur chemin : v11  v21 → C=1

(3) (2) (1) (0)


1 4 1
Nœuds évalués : 3
Nœuds traités : 1
1.1 2 1 1
(4) (3) (2) (1)
2 2 2

1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) Nœud fermé : en gris
1.5 1 2

1.1 2 2 1 Nœud ouvert : en jaune


(6) (5) (4) (3)
0 (6) 1 1 (6) 1 1 Nœud à traiter : en vert

765
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Exemple 1 : étape 2
• Nœuds ouverts : v12 (6.1) , v22 (7) , v31 (6)

• Nœud à traiter : v31 (6) = meilleure évaluation

• Meilleur chemin : v11  v21  v31 → C=2

(3) (2) (1) (0)


1 4 1
Nœuds évalués : 5
Nœuds traités : 2
1.1 2 1 1
(4) (3) (2) (1)
2 2 2

1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 3 (7) Nœud fermé : en gris
1.5 1 2

1.1 2 2 1 Nœud ouvert : en jaune


(6) (5) (4) (3)
0 (6) 1 1 (6) 1 2 (6) 1 Nœud à traiter : en vert

766
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Exemple 1 : étape 3
• Nœuds ouverts : v12 (6.1) , v22 (7) , v32 (7) , v41 (6)

• Nœud à traiter : v41 (6) = meilleure évaluation

• Meilleur chemin : v11  v21  v31  v41 → C=3

(3) (2) (1) (0)


1 4 1
Nœuds évalués : 7
Nœuds traités : 3
1.1 2 1 1
(4) (3) (2) (1)
2 2 2

1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 3 (7) 4 (7) Nœud fermé : en gris
1.5 1 2

1.1 2 2 1 Nœud ouvert : en jaune


(6) (5) (4) (3)
0 (6) 1 1 (6) 1 2 (6) 1 3 (6) Nœud à traiter : en vert

767
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Exemple 1 : étape 4
• Nœuds ouverts : v12 (6.1) , v22 (7) , v32 (7) , v42 (6)

• Nœud à traiter : v42 (6) = meilleure évaluation

• Meilleur chemin : v11  v21  v31  v41  v42 → C=4

(3) (2) (1) (0)


1 4 1
Nœuds évalués : 8
Nœuds traités : 4
1.1 2 1 1
(4) (3) (2) (1)
2 2 2

1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 3 (7) 4 (7) 4 (6) Nœud fermé : en gris
1.5 1 2

1.1 2 2 1 Nœud ouvert : en jaune


(6) (5) (4) (3)
0 (6) 1 1 (6) 1 2 (6) 1 3 (6) Nœud à traiter : en vert

768
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Exemple 1 : étape 5
• Nœuds ouverts : v12 (6.1) , v22 (7) , v32 (7) , v43 (6)

• Nœud à traiter : v43 (6) = meilleure évaluation

• Meilleur chemin : v11  v21  v31  v41  v42  v43 → C=5

(3) (2) (1) (0)


1 4 1
Nœuds évalués : 9
Nœuds traités : 5
1.1 2 1 1
(4) (3) (2) (1)
2 2 2 5 (6)

1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 3 (7) 4 (7) 4 (6) Nœud fermé : en gris
1.5 1 2

1.1 2 2 1 Nœud ouvert : en jaune


(6) (5) (4) (3)
0 (6) 1 1 (6) 1 2 (6) 1 3 (6) Nœud à traiter : en vert

769
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Exemple 1 : étape 6
• Nœuds ouverts : v12 (6.1) , v22 (7) , v32 (7) , v44 (6)

• Nœud à traiter : v44 (6) = meilleure évaluation = objectif → Fin de l’algorithme

• Meilleur chemin : v11  v21  v31  v41  v42  v43  v44 → C=6

(3) (2) (1) (0)


1 4 1
6 (6) Nœuds évalués : 10
Nœuds traités : 6
1.1 2 1 1
(4) (3) (2) (1)
2 2 2 5 (6)

1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 3 (7) 4 (7) 4 (6) Nœud fermé : en gris
1.5 1 2

1.1 2 2 1 Nœud ouvert : en jaune


(6) (5) (4) (3)
0 (6) 1 1 (6) 1 2 (6) 1 3 (6) Nœud à traiter : en vert

770
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Comparaison à l’algorithme de Dijkstra
• L’algorithme A* avec une estimation nulle est équivalent à l’algorithme de Dijkstra.

• Le nœud à traiter est le nœud de coût minimal → traité une seule fois.

• Meilleur chemin : v11  v21  v31  v41  v42  v43  v44 → C=6

(0) (0) (0) (0)


3.3
1
4.3
4
5.6
1
6 Nœuds évalués : 23 (A* : 10)
Nœuds traités : 14 (A* : 6)
1.1 2 1 1
(0) (0) (0) (0)
2.2 4.2 4.6 5 Suite des nœuds traités
2 2 2
v11 (0)
1.1 2 1 1 → v21 (1) → v12 (1.1)
(0) (0) (0) (0) → v31 (2) → v13 (2.2)
1.1 2.6 1 3.6 2 4 → v22 (2.6) → v41 (3)
1.5
2 2
→ v14 (3.3) → v32 (3.6)
1.1 1
(0) (0) (0) (0) → v42 (4) → v23 (4.2)
0 1 2 3 → v24 (4.3) → v33 (4.6)
1 1 1
→ v43 (5) → v44 (6)

771
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Graphe revalué
• L’algorithme A* est équivalent à l’algorithme de Dijkstra appliqué dans un graphe revalué.

• La valuation cij de l’arc vi  vj est remplacée par : c ij '  c ij  (h i  h j ) 0


si h est consistante
• Exemple : les nouvelles valuations des arcs sont en bleu.

(3) (2) (1) (0)


0 3 0
v14
1
v24
4
v34
1
v44 Algorithme de Dijkstra
Nœuds traités : 6
1.1 0.1 2 1 1 0 1 0
(4) (3) (2) (1)
v13
1
v23
1
v33
1
v43 Suite des nœuds traités
2 2 2
v11 (0)
1.1 0.1 2 1 1 0 1 0 → v21 (0)
(5) (4) (3) (2) → v31 (0)
0.5 0 1
v12 v22 1 v32 2 v42 → v41 (0)
1.5
2 1 2 1
→ v42 (0)
1.1 0.1 1 0
(6) (5) (4) (3) → v43 (0)
v11
0
v21
0
v31
0 v41 → v44 (0)
1 1 1

772
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Exemple 2 : coût modifié
• On reprend le même exemple en changeant le coût de l’arc v43  v44 .
Le coût de l’arc passe de 1 à 4 (en rouge).

• Le déroulement de l’algorithme A* reste identique jusqu’au nœud v43 (étape 5).


Meilleur chemin : v11  v21  v31  v41  v42  v43 → C=5

(3) (2) (1) (0)


1 4 1
Nœuds évalués : 9
Nœuds traités : 5
1.1 2 1 4
(4) (3) (2) (1)
5 (6) Arc modifié
2 2 2

1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 3 (7) 4 (7) 4 (6) Nœud fermé : en gris
1.5 1 2

1.1 2 2 1 Nœud ouvert : en jaune


(6) (5) (4) (3)
0 (6) 1 1 (6) 1 2 (6) 1 3 (6) Nœud à traiter : en vert

773
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Exemple 2 : étape 6
• Nœuds ouverts : v12 (6.1) , v22 (7) , v32 (7) , v44 (9)

• Nœud à traiter : v12 (6.1) = meilleure évaluation → Poursuite de l’algorithme

• Meilleur chemin : v11  v12 → C = 1.1

(3) (2) (1) (0)


1 4 1
9 (9) Nœuds évalués : 10
Nœuds traités : 6
1.1 2 1 4
(4) (3) (2) (1)
2 2 2 5 (6)

1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 3 (7) 4 (7) 4 (6) Nœud fermé : en gris
1.5 1 2

1.1 2 2 1 Nœud ouvert : en jaune


(6) (5) (4) (3)
0 (6) 1 1 (6) 1 2 (6) 1 3 (6) Nœud à traiter : en vert

774
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Exemple 2 : étape 7
• Nœuds ouverts : v13 (6.2) , v22 (6.6) , v32 (7) , v44 (9)

• Nœud à traiter : v13 (6.2) = meilleure évaluation

• Meilleur chemin : v11  v12  v13 → C = 2.2

(3) (2) (1) (0)


1 4 1
9 (9) Nœuds évalués : 12
Nœuds traités : 7
1.1 2 1 4
(4) (3) (2) (1)
2.2 (6.2) 2 2 2 5 (6)

1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 2.6 (6.6) 4 (7) 4 (6) Nœud fermé : en gris
1.5 1 2

1.1 2 2 1 Nœud ouvert : en jaune


(6) (5) (4) (3)
0 (6) 1 1 (6) 1 2 (6) 1 3 (6) Nœud à traiter : en vert

775
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Exemple 2 : étape 8
• Nœuds ouverts : v14 (6.3) , v22 (6.6) , v23 (7.2) , v32 (7) , v44 (9)

• Nœud à traiter : v14 (6.3) = meilleure évaluation

• Meilleur chemin : v11  v12  v13  v14 → C = 3.3

(3) (2) (1) (0)


3.3 (6.3)
1 4 1
9 (9) Nœuds évalués : 14
Nœuds traités : 8
1.1 2 1 4
(4) (3) (2) (1)
2.2 (6.2) 2 4.2 (7.2) 2 2 5 (6)

1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 2.6 (6.6) 4 (7) 4 (6) Nœud fermé : en gris
1.5 1 2

1.1 2 2 1 Nœud ouvert : en jaune


(6) (5) (4) (3)
0 (6) 1 1 (6) 1 2 (6) 1 3 (6) Nœud à traiter : en vert

776
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Exemple 2 : étape 9
• Nœuds ouverts : v22 (6.6) , v23 (7.2) , v24 (6.3) , v32 (7) , v44 (9)

• Nœud à traiter : v24 (6.3) = meilleure évaluation

• Meilleur chemin : v11  v12  v13  v14  v24 → C = 4.3

(3) (2) (1) (0)


3.3 (6.3)
1
4.3 (6.3)
4 1
9 (9) Nœuds évalués : 15
Nœuds traités : 9
1.1 2 1 4
(4) (3) (2) (1)
2.2 (6.2) 2 4.2 (7.2) 2 2 5 (6)

1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 2.6 (6.6) 4 (7) 4 (6) Nœud fermé : en gris
1.5 1 2

1.1 2 2 1 Nœud ouvert : en jaune


(6) (5) (4) (3)
0 (6) 1 1 (6) 1 2 (6) 1 3 (6) Nœud à traiter : en vert

777
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Exemple 2 : étape 10
• Nœuds ouverts : v22 (6.6) , v23 (7.2) , v32 (7) , v34 (9.3) , v44 (9)

• Nœud à traiter : v22 (6.6) = meilleure évaluation

• Meilleur chemin : v11  v12  v22 → C = 2.6

(3) (2) (1) (0)


3.3 (6.3)
1
4.3 (6.3)
4
8.3 (9.3)
1
9 (9) Nœuds évalués : 16
Nœuds traités : 10
1.1 2 1 4
(4) (3) (2) (1)
2.2 (6.2) 2 4.2 (7.2) 2 2 5 (6)

1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 2.6 (6.6) 4 (7) 4 (6) Nœud fermé : en gris
1.5 1 2

1.1 2 2 1 Nœud ouvert : en jaune


(6) (5) (4) (3)
0 (6) 1 1 (6) 1 2 (6) 1 3 (6) Nœud à traiter : en vert

778
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Exemple 2 : étape 11
• Nœuds ouverts : v23 (7.2) , v32 (6.6) , v34 (9.3) , v44 (9)

• Nœud à traiter : v32 (6.6) = meilleure évaluation

• Meilleur chemin : v11  v12  v22  v32 → C = 3.6

(3) (2) (1) (0)


3.3 (6.3)
1
4.3 (6.3)
4
8.3 (9.3)
1
9 (9) Nœuds évalués : 18
Nœuds traités : 11
1.1 2 1 4
(4) (3) (2) (1)
2.2 (6.2) 2 4.2 (7.2) 2 2 5 (6)

1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 2.6 (6.6) 3.6 (6.6) 4 (6) Nœud fermé : en gris
1.5 1 2

1.1 2 2 1 Nœud ouvert : en jaune


(6) (5) (4) (3)
0 (6) 1 1 (6) 1 2 (6) 1 3 (6) Nœud à traiter : en vert

779
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Exemple 2 : étape 12
• Nœuds ouverts : v23 (7.2) , v33 (6.6) , v34 (9.3) , v44 (9)

• Nœud à traiter : v33 (6.6) = meilleure évaluation

• Meilleur chemin : v11  v12  v22  v32  v33 → C = 4.6

(3) (2) (1) (0)


3.3 (6.3)
1
4.3 (6.3)
4
8.3 (9.3)
1
9 (9) Nœuds évalués : 20
Nœuds traités : 12
1.1 2 1 4
(4) (3) (2) (1)
2.2 (6.2) 2 4.2 (7.2) 2 4.6 (6.6) 2 5 (6)

1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 2.6 (6.6) 3.6 (6.6) 4 (6) Nœud fermé : en gris
1.5 1 2

1.1 2 2 1 Nœud ouvert : en jaune


(6) (5) (4) (3)
0 (6) 1 1 (6) 1 2 (6) 1 3 (6) Nœud à traiter : en vert

780
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Exemple 2 : étape 13
• Nœuds ouverts : v23 (7.2) , v34 (6.6) , v44 (9)

• Nœud à traiter : v34 (6.6) = meilleure évaluation

• Meilleur chemin : v11  v12  v22  v32  v33  v34 → C = 5.6

(3) (2) (1) (0)


3.3 (6.3)
1
4.3 (6.3)
4
5.6 (6.6)
1
9 (9) Nœuds évalués : 22
Nœuds traités : 13
1.1 2 1 4
(4) (3) (2) (1)
2.2 (6.2) 2 4.2 (7.2) 2 4.6 (6.6) 2 5 (6)

1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 2.6 (6.6) 3.6 (6.6) 4 (6) Nœud fermé : en gris
1.5 1 2

1.1 2 2 1 Nœud ouvert : en jaune


(6) (5) (4) (3)
0 (6) 1 1 (6) 1 2 (6) 1 3 (6) Nœud à traiter : en vert

781
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Exemple 2 : étape 14
• Nœuds ouverts : v23 (7.2) , v44 (6.6)

• Nœud à traiter : v34 (6.6) = meilleure évaluation = objectif → Fin de l’algorithme

• Meilleur chemin : v11  v12  v22  v32  v33  v34  v44 → C = 6.6

(3) (2) (1) (0)


3.3 (6.3)
1
4.3 (6.3)
4
5.6 (6.6)
1
6.6 (6.6) Nœuds évalués : 23
Nœuds traités : 14
1.1 2 1 4
(4) (3) (2) (1)
2.2 (6.2) 4.2 (7.2) 4.6 (6.6) 5 (6) Performance identique à Dijkstra
2 2 2

1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 2.6 (6.6) 3.6 (6.6) 4 (6) Nœud fermé : en gris
1.5 1 2

1.1 2 2 1 Nœud ouvert : en jaune


(6) (5) (4) (3)
0 (6) 1 1 (6) 1 2 (6) 1 3 (6) Nœud à traiter : en vert

782
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Heuristique non admissible
• Une heuristique non admissible peut aboutir à une solution sous-optimale.

• Exemple
(1)
v1 Coût minimal de v2 à t : z2t = 1
1 2
(2) Estimation de v2 à t : h2 = 3
s t h2 > z2t → heuristique non admissible
1 (3) 1
v2

(1)
Solution obtenue par A* : s  v1  t : C = 3
1 (2)
1 2 Solution optimale : s  v2  t : C = 2
(2)
0 (2) 3 (3)
Evaluation de v2 : e2 = 4
1 (3) 1 Evaluation de t : et = 3
1 (4)
→ v2 reste ouvert (à cause de h2)
→ la solution optimale n’est pas trouvée
783
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Heuristique non consistante
• Une heuristique non consistante peut ouvrir des nœuds plusieurs fois.

• Exemple
(1) (0.5)
1
v1 v3 Coût de v2 à v3 : c23 = 0
1 2
(3) Estimation de v2 et v3 : h2 = 2 , h3 = 0.5
0
s t h2 > h3 + c23 → heuristique non consistante
(2) (1.5)
1 2
v2 v4
1

(1) (0.5)
1 Coût minimal de chaque nœud à t
3 2 z4t = 2  h4 = 1.5
1 2
(3) z3t = 2  h3 = 0.5
0
3 0 z2t = 2  h2 = 2
(2) (1.5) z1t = 3  h1 = 1
1 2
2 2 zst = 3  hs = 3
1
→ heuristique admissible

784
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Heuristique non consistante
• Déroulement de A*
(1) (0.5)
1
1 (2) 2 (2.5) traité ouvert (évaluation) fermé
(3) 1 2
s v1 (2) , v2 (3) s , v3 , v4 , t
0 (3) 0
v1 v2 (3) , v3 (2.5) s , v1 , v4 , t
1 (2) (1.5)
2
1 (3) v3 v2 (3) , t (4) s , v1 , v3 , v4
1
v2 v3 (1.5) , v4 (3.5) , t (4) s , v1 , v2
(1) (0.5) v3 v4 (3.5) , t (3) s , v1 , v2 , v3
1
1 (2) 1 (1.5)
(3) 1 2
0 (3) 0 4 (4)
1 (2) (1.5) Solution optimale : s  v2  v3  t : C = 3
2
1 (3) 2 (3.5)
1

• La solution optimale est trouvée car l’heuristique est admissible.


• Le nœud v3 est traité deux fois car l’heuristique est non consistante (sur l’arc v 2  v3).
Une heuristique non consistante donne des valuations négatives dans le graphe revalué.
785
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Heuristique A*
Propriétés de A*
• L’heuristique A* est équivalente à l’algorithme de Dijkstra appliqué dans un graphe revalué.

• La valuation cij de chaque arc vi  vj est remplacée par : c ij '  c ij  (h i  h j )

• Une heuristique non consistante est détectée par des valuations cij négatives.
Pour une heuristique consistante, A* et Dijkstra ont les mêmes propriétés.

Comparaison des algorithmes


• Graphe à n sommets et m arcs

Algorithme Valuations Circuit Traitement Choix du nœud Complexité


(signe) (nœuds, arcs) à traiter
Ford quelconques non absorbant plusieurs fois libre 2n
Bellman quelconques non une fois par arc ordre topologique m
Dijkstra positives oui une fois par nœud coût minimal [Link](n)
A* positives oui une fois par nœud évaluation minimale  Dijkstra
si h consistante

786
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Ordonnancement
Enoncé du problème
Une liste de n tâches T1 , … , Tn est à réaliser le plus rapidement possible.
Les durées des tâches d1 , … , dn sont connues.
Les dates de début et fin de la tâche Ti sont notées ti,d et ti,f → valeurs à optimiser
La réalisation des tâches est soumise à plusieurs types de contraintes.

Contraintes
• Contraintes de type potentiel
- La tâche Ti ne peut commencer avant une date donnée → ti,d  ti,min
- La tâche Ti doit être terminée avant une date donnée → ti,f  ti,max
- La tâche Ti ne peut commencer avant que la tâche Tj soit terminée → ti,d  tj,f + dj

• Contraintes de type disjonctif


- Les tâches Ti et Tj ne peuvent être réalisées simultanément → [ti,d , ti,f] ∩ [tj,d , tj,f] = 

• Contraintes de type cumulatif


- Liées à l’évolution des ressources disponibles pour exécuter les tâches
- Prennent en compte d’autres aspects que l’ordre temporel (coûts, répartition des tâches)
- Spécifiques à chaque problème → plus complexes à exprimer

787
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Ordonnancement
Durée minimale
• Les tâches et contraintes sont représentées sous forme d’un graphe.
Plusieurs représentations sont possibles (méthode PERT , méthode MPM)

• Seules les contraintes de type potentiel sont prises en compte.


Les autres types de contraintes doivent être traitées par des heuristiques.
→ pas de méthode systématique

• On cherche à minimiser la durée totale nécessaire pour réaliser toutes les tâches T1 , … , Tn.
- Les tâches T0 et T représentent le début et la fin du processus.
- La durée totale minimale est celle du chemin de durée maximale entre T0 et T.
→ algorithme de Bellman transposé à une maximisation (graphe sans circuit)

Chemin critique
• Un chemin critique est un chemin de durée maximale entre T0 et T.

• Une tâche située sur un chemin critique est une tâche critique.
Une tâche critique ne peut être retardée sans augmenter la durée totale.

• Une tâche non critique peut être retardée sans affecter la durée totale → marge
788
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Ordonnancement
Algorithmes
• Méthode GANTT (ou planning à barres)
- Représentation des tâches par des barres de longueur égale à leur durée di
- Développée par K. Adamiecki 1896, puis H. Gantt 1910
- Méthode approchée non systématique (seule méthode connue jusqu’en 1958)
- Utilisée pour visualiser la solution obtenue par une autre méthode

• Méthode PERT (ou CPM)


- Représentation par un graphe : nœuds = évènements (ou étapes)
arcs = opérations (ou tâches)
- PERT = Program Evaluation and Review Technique (ou Program Evaluation Research Task)
CPM = Critical Task Method
- Méthode développée aux USA en 1958 pour planifier le programme de sous marin nucléaire

• Méthode MPM
- Représentation par un graphe : nœuds = opérations (ou tâches)
arcs = contraintes
- MPM = Méthode des Potentiels Métra
- Méthode développée par B. Roy (société Métra) en 1958 pour planifier le paquebot France
- Ne nécessite pas le tracé du graphe → plus simple que la méthode PERT
789
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Ordonnancement
Exemple
• Processus comportant 9 tâches notées A , B , C , D , E , F , G , H , I
Les tâches T0 et T représentent le début et la fin du processus.

• On indique pour chaque tâche : - les tâches préalables (contraintes)


- sa durée

Tâche A B C D E F G H I
Préalable T0+5 T0 T0+3 A,B B B,C D,E,F D,E,F E,Cm
Durée 16 14 20 8 18 25 15 10 17

• La tâche I peut commencer lorsque la tâche C est finie à moitié.


On ajoute une tâche fictive notée Cm correspondant à la moitié de la réalisation de C.

Tâche A B Cm C D E F G H I
Préalable T0+5 T0 T0+3 Cm A,B B B,C D,E,F D,E,F E,Cm
Durée 16 14 10 10 8 18 25 15 10 17

790
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Méthode PERT


Graphe PERT
• Les nœuds sont les évènements → début (Td) et fin (Tf) de chaque tâche
• Les arcs sont les tâches → durée de la tâche (pointillé = durée nulle)

16 8 15
Ad Af Dd Df Gd Gf
5

14 18 10
T0 Bd Bf Ed Ef Hd Hf T

3 25 17
Cd Cf Fd Ff Id If
10 10
Cm

Tâche A B Cm C D E F G H I
Préalable T0+5 T0 T0+3 Cm A,B B B,C D,E,F D,E,F E,Cm
Durée 16 14 10 10 8 18 25 15 10 17

791
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Méthode PERT


Graphe PERT
• Algorithme de Bellman → chemin de durée maximale entre T0 et T.
• Chemin critique : Cd  Cm  Cf  Fd  Ff  Gd  Gf → durée = 63

16 8 15
5 21 21 29 48 63
5

14 18 10
0 0 14 14 32 48 58 63

3 25 17
3 23 23 48 32 49
10 10
13

Tâche A B Cm C D E F G H I
Préalable T0+5 T0 T0+3 Cm A,B B B,C D,E,F D,E,F E,Cm
Durée 16 14 10 10 8 18 25 15 10 17
Début min 5 0 3 13 21 14 23 48 48 32
Fin min 21 14 13 23 29 32 48 63 58 49
792
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Méthode MPM


Graphe MPM
• Les nœuds sont les tâches → début (Td) de chaque tâche
• Les arcs sont les contraintes → durée de la tâche (arcs sortants de même valuation)

Ad 16 Dd 8 Gd 15
5

T0 0 Bd 14 Ed 18 Hd 10 T
3
Cd Fd 25 Id 17
10
Cm 10

Tâche A B Cm C D E F G H I
Préalable T0+5 T0 T0+3 Cm A,B B B,C D,E,F D,E,F E,Cm
Durée 16 14 10 10 8 18 25 15 10 17

793
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Méthode MPM


Graphe MPM
• Algorithme de Bellman → chemin de durée maximale entre T0 et T.
• Chemin critique : Cd  Cm  Fd  Gd → durée = 63

5 16 21 8 48 15
5

0 0 0 14 14 18 48 10 63
3
3 23 25 32 17
10
13 10

Tâche A B Cm C D E F G H I
Préalable T0+5 T0 T0+3 Cm A,B B B,C D,E,F D,E,F E,Cm
Durée 16 14 10 10 8 18 25 15 10 17
Début min 5 0 3 13 21 14 23 48 48 32
Fin min 21 14 13 23 29 32 48 63 58 49
794
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Méthode MPM


Tableau MPM
• On peut appliquer la méthode MPM sous forme d’un tableau sans représenter le graphe.
Chaque colonne correspond à une tâche avec ses prédécesseurs et leurs durées (à droite).

• Exemple : La tâche G a pour prédécesseurs D (durée 8), E (durée 18), F (durée 25).

• Les sous-colonnes de gauche vont ensuite être complétées avec les dates au plus tôt.

Tâche A B Cm C D
Préalable T0 5 T0 0 T0 3 Cm 10 A 16
B 14

Tâche E F G H I T
Préalable B 14 B 14 D 8 D 8 E 18 G 15
C 10 E 18 E 18 Cm 10 H 10
F 25 F 25 I 17

795
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Méthode MPM


Tableau MPM
• On traite la première tâche T0 dont la date au plus tôt est connue (= 0).
On inscrit cette date à gauche de T0 dans les sous-colonne où T0 apparaît → colonnes A, B, Cm

• Les colonnes A, B, Cm sont complètes. On peut calculer la date au plus tôt des tâches A, B, Cm.
La date au plus tôt de A vaut : 0 (date au plus tôt de T0) + 5 (durée T0  A)
On inscrit cette date au plus tôt en haut à gauche de la colonne A (id pour B et C).

Tâche 5 A 0 B 3 Cm C D
Préalable 0 T0 5 0 T0 0 0 T0 3 Cm 10 A 16
B 14

Tâche E F G H I T
Préalable B 14 B 14 D 8 D 8 E 18 G 15
C 10 E 18 E 18 Cm 10 H 10
F 25 F 25 I 17

796
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Méthode MPM


Tableau MPM
• Les colonnes A, B, Cm sont complètes. Les dates au plus tôt des tâches A, B, Cm sont connues.
On reporte ces dates dans les sous-colonne où A, B, Cm apparaissent → colonnes C, D, E, F

• Les colonnes C, D, E sont complètes. On peut calculer la date au plus tôt des tâches C, D, E.
La date au plus tôt de D est le maximum entre : 5 (date au plus tôt de A) + 16 (durée A  D)
0 (date au plus tôt de B) + 14 (durée B  D)
On inscrit les nouvelles dates au plus tôt en haut à gauche des colonnes C, D, E.

Tâche 5 A 0 B 3 Cm 13 C 21 D
Préalable 0 T0 5 0 T0 0 0 T0 3 3 Cm 10 5 A 16
0 B 14

Tâche 14 E F G H I T
Préalable 0 B 14 0 B 14 D 8 D 8 E 18 G 15
C 10 E 18 E 18 Cm 10 H 10
F 25 F 25 I 17

797
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Méthode MPM


Tableau MPM
• Les colonnes C, D, E sont complètes. Les dates au plus tôt des tâches C, D, E sont connues.
On reporte ces dates dans les sous-colonne où C, D, E apparaissent → colonnes F, G, H, I

• Les colonnes F, I sont complètes. On peut calculer la date au plus tôt des tâches F, I.
La date au plus tôt de F est le maximum entre : 0 (date au plus tôt de B) + 14 (durée B  F)
13 (date au plus tôt de C) + 10 (durée C  F)
On inscrit les nouvelles dates au plus tôt en haut à gauche des colonnes F, I.

Tâche 5 A 0 B 3 Cm 13 C 21 D
Préalable 0 T0 5 0 T0 0 0 T0 3 3 Cm 10 5 A 16
0 B 14

Tâche 14 E 23 F G H 32 I T
Préalable 0 B 14 0 B 14 21 D 8 21 D 8 14 E 18 G 15
13 C 10 14 E 18 14 E 18 3 Cm 10 H 10
F 25 F 25 I 17

798
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Méthode MPM


Tableau MPM
• Les colonnes F, I sont complètes. Les dates au plus tôt des tâches F, I sont connues.
On reporte ces dates dans les sous-colonne où F, I apparaissent → colonnes G, H, T

• Les colonnes G, H sont complètes. On peut calculer la date au plus tôt des tâches G, H.

• On peut ensuite compléter le tableau en calculant la date finale au plus tôt (colonne T).

Tâche 5 A 0 B 3 Cm 13 C 21 D
Préalable 0 T0 5 0 T0 0 0 T0 3 3 Cm 10 5 A 16
0 B 14

Tâche 14 E 23 F 48 G 48 H 32 I T
Préalable 0 B 14 0 B 14 21 D 8 21 D 8 14 E 18 G 15
13 C 10 14 E 18 14 E 18 3 Cm 10 H 10
23 F 25 23 F 25 32 I 17

799
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Méthode MPM


Tableau MPM
• Le tableau fournit les dates au plus tôt de chaque tâche en haut à gauche des colonnes.

• On reconstitue le chemin critique en partant de la fin.


L’opération critique dans chaque colonne est celle qui a donné la date au plus tôt.
T → G G → F F → C C → Cm Cm → T0
63 = 48 + 15 48 = 23 + 25 23 = 13 + 10 13 = 3 + 10 3= 0+3

Tâche 5 A 0 B 3 Cm 13 C 21 D
Préalable 0 T0 5 0 T0 0 0 T0 3 3 Cm 10 5 A 16
0 B 14

Tâche 14 E 23 F 48 G 48 H 32 I 63 T
Préalable 0 B 14 0 B 14 21 D 8 21 D 8 14 E 18 48 G 15
13 C 10 14 E 18 14 E 18 3 Cm 10 48 H 10
23 F 25 23 F 25 32 I 17

800
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Marges
Dates au plus tôt, au plus tard
• Le processus est une suite d’évènements Ei avec les durées des tâches entre les évènements.
L’algorithme de Bellman donne la date au plus tôt de chaque évènement et le chemin critique.

• Notations
- ti min = date au plus tôt de l’évènement Ei (obtenue par l’algorithme de Bellman)
- ti max = date au plus tard de l’évènement Ei (sans retarder la suite du processus)
- dij = durée de la tâche entre l’évènement Ei et l’évènement Ej
- +(i) = ensemble des successeurs de l’évènement Ei
- (i) = ensemble des prédécesseurs de l’évènement Ei

• Dates au plus tôt : t j min  max



( t i min  d ij ) → Ej doit attendre tous ses prédécesseurs Ei
i ( j)

• Dates au plus tard : t i max  min



( t j max  d ij ) → Ei ne doit retarder aucun successeur Ej
j ( i )

• Les évènements et tâches sur le chemin critique ne peuvent être retardés : t i max  t i min

• Une tâche non critique dispose d’une marge → marge libre, marge totale

801
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Marges
Chemin critique
Les évènements et tâches sur le chemin critique ne peuvent être retardés.

• Si l’évènement Ei est sur le chemin critique : t i max  t i min

• Si la tâche Ej  Ei est sur le chemin critique : t j min  t i min  d ij

Marge libre
• La marge libre mij de la tâche Ej  Ei vaut : m ij  t j min  t i min  d ij

• mij = durée dont la tâche Ej  Ei peut augmenter sans impact sur la suite du processus
→ sans décalage des tâches ultérieures (conservation des dates au plus tôt)
→ peut être nulle même si la tâche n’est pas sur le chemin critique

Marge totale
• La marge totale Mij de la tâche Ej  Ei vaut : M ij  t j max  t i min  d ij

• Mij = durée maximale dont la tâche Ej  Ei peut augmenter


→ nécessite de décaler les tâches ultérieures (à leur date au plus tard)
→ annule les marges libres des tâches ultérieures
802
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017

4.1.2 Marges
Exemple
2
• Problème à 4 évènements : A, B, C, D A (23) C (45)
2 1
• Chemin critique : T0  B  D  T
T0 (0) 1 T (6)
→ durée = 6
2 2
• Entre parenthèses : date au plus tôt / tard B (22) D (44)
2

Evènement T0 A B C D T
Date au plus tôt 0 2 2 4 4 6
Date au plus tard 0 52 = 3 42 = 2 61 = 5 62 = 4 6

Tâche T0  A T0  B AC BC BD C  T D  T


Marge libre 202 = 0 202 = 0 422 = 0 421 = 1 422 = 0 641 = 1 642 = 0
Marge totale 302 = 1 202 = 0 522 = 1 521 = 2 422 = 0 641 = 1 642 = 0

• Les tâches (T0  A) et (A  C) ont une marge libre de 0, bien que n’étant pas critiques.
803
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Problème de flot

 Réseau de transport

 Chaîne améliorante

 Algorithme de Ford – Fulkerson

 Coupe

 Graphe d’écart

 Flot de coût minimal

804
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Problème de flot


Réseau de transport
Un réseau de transport est représenté par un graphe G=(V,E,F,C,s,t).
• V est l’ensemble des nœuds  n nœuds (vi) i=1 à n
• E est l’ensemble des arcs  m arcs (ek) k=1 à m (fij , cij)
vi vj
• F donne les capacités des arcs  fij = capacité de l’arc [vivj]
• C donne les coûts des arcs  cij = coût de l’arc [vivj]
• Le nœud s est la source (point d’entrée).
• Le nœud t est le puits (point de sortie).

Représentation d’un flot


• La variable φ représente le flot total à transporter de la source s au puits t.
La variable xij représente le flot passant par l’arc [vivj]  coût xijcij

• Le flot sur chaque arc ne doit pas dépasser la capacité de l’arc : xij  fij

• Le flot arrivant au nœud vi  s,t est égal au flot partant :  x


v j  vi E
ji   x
vi  v j E
ij
(loi de conservation de Kirchhoff)

• Le flot partant de la source s vaut φ : 


 
x
s  v j E
sj  
 
x
v j  t E
jt
= flot arrivant au puits t
805
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Problème de flot


Enoncé du problème
Un flot  est défini par l’ensemble des valeurs xij des flots sur chaque arc.
 valeur :  
 
x sj
  ( x ij )i , j1 à n s  v j E

 coût : c  x c
vi  v j E
ij ij

• Il est assez simple de construire un flot initial vérifiant les lois de conservation.

• Problèmes à résoudre.
 Quelle est la valeur maximale φmax du flot pouvant traverser le réseau ?
 Parmi tous les flots de valeur maximale φmax , quel est celui de coût minimal cmin ?

Algorithmes
Les algorithmes consistent à améliorer itérativement un flot initial.
• Algorithme de Ford et Fulkerson  flot maximal
• Algorithme de Roy, Busacker et Gowen  flot maximal de coût minimal

 algorithmes basés sur la recherche de chaîne améliorante


ou sur le graphe d’écart
806
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Problème de flot


Exemple
Réseau de transport : source s en v0
puits t en v3
La capacité de chaque arc est indiquée entre parenthèses.
On cherche à faire passer un flot maximal de s à t.

v11 (10) v21

v22

v0 (25) v12 v3

v23

v13 (10) v24


807
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Problème de flot


Exemple
On construit un flot initial 0 respectant les lois de conservation.
• Le flot sur chaque arc est indiqué en bleu.
• Les arcs saturés sont indiqués en orange.
• La valeur du flot 0 est φ = 35 + 25 + 20 = 80  à maximiser

v11 (10) 10 v21

v22

v0 (25) 25 v12 v3

v23

v13 (10) 10 v24


808
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Chaîne améliorante


Définition
• Une chaîne élémentaire est une suite de nœuds distincts reliés par des arêtes (non orientées).

Exemple : chaîne (v1,v2,v3,v4) v1 v2 v3 v4

• Une chaîne élémentaire de s à t (s=v1,…,vi,vi+1,…,vp=t) est améliorante si


- les arcs directs [vivi+1] ne sont pas saturés  xij < fij , j = i + 1
- les arcs indirects [vi+1vi] sont de flot non nul  xji > 0 , j = i  1

• On peut modifier le flot de la quantité δφ le long de la chaîne améliorante


- en augmentant le flot des arcs directs (non saturés) : xij < fij  δφ  fij  xij
- en diminuant le flot des arcs indirects (flot non nul) : xji > 0  δφ  xji
 pour respecter les lois de conservation

Exemple : chaîne (…,v1,v2,v3,v4,…) 3 x34 +  4 + 


v3 v4

x23  

1 +  x12 +  2
v1 v2
809
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Algorithme de Ford - Fulkerson


Principe de l’algorithme
On peut augmenter le flot φ si l’on trouve une chaîne améliorante de la source au puits
La chaîne améliorante est construite par marquage des nœuds.

Procédure de marquage
• Initialisation : - La source est marquée +
- Les nœuds sont non marqués.

• Marquage des nœuds


Pour un arc [uv] - si u est marqué et [uv] non saturé  v est marqué + (direct)
- si v est marqué et [uv] de flot non nul  u est marqué  (indirect)
On stocke pour chaque nœud son prédécesseur dans l’ordre de marquage.

Chaîne améliorante
• Si le puits est marqué, le flot n’est pas maximal.
On trouve une chaîne améliorante en remontant les prédécesseurs à partir du puits.
 Le flot des arcs directs [vivj] est augmenté de δφ (avec δφ  fij  xij)
 Le flot des arcs indirects [vivj] est diminué de δφ (avec δφ  xji)

• Si le puits est non marqué, le flot est maximal.


810
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Algorithme de Ford - Fulkerson


Exemple
• Marquage des nœuds à partir de la source pour le flot initial 0

Arc [v0v11] [v11v22] [v12v22] [v12v21] [v12v23] [v21v3] [v13v23]


Marquage v11 (+) v22 (+) v12 () v21 (+) v23 (+) v3 (+) v13 ()
Prédécesseur v0 v11 v22 v12 v12 v21 v23

v11 (10) 10 v21

v22

v0 (25) 25 v12 v3

v23

v13 (10) 10 v24


811
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Algorithme de Ford - Fulkerson


Exemple
• Marquage des nœuds à partir de la source pour le flot initial 0

Arc [v0v11] [v11v22] [v12v22] [v12v21] [v12v23] [v21v3] [v13v23]


Marquage v11 (+) v22 (+) v12 () v21 (+) v23 (+) v3 (+) v13 ()
Prédécesseur v0 v11 v22 v12 v12 v21 v23

• Le puits v3 est marqué  il existe une chaîne améliorante


Prédécesseurs : v3  v21  v12  v22  v11  v0

Nœud v3 (+) v21 (+) v12 () v22 (+) v11 (+)
Prédécesseur v21 v12 v22 v11 v0
Borne (+ ) 30 20 0 15 45
Flot sur l’arc 20 10 5 5 35
Variation  +10 +10 5 +10 +10

812
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Algorithme de Ford - Fulkerson


Exemple
• Chaîne améliorante (v0 , v11 , v22 , v12 , v21 , v3)

Arc [v0v11] [v11v22] [v12v22] [v12v21] [v21v3]


Variation  +10 +10 5 +10 +10  δφmax = 5

v11 (10) 10 v21

v22

v0 (25) 25 v12 v3

v23

v13 (10) 10 v24


813
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Algorithme de Ford - Fulkerson


Exemple
• Augmentation du flot de δφ = 5 le long de la chaîne améliorante (v0 , v11 , v22 , v12 , v21 , v3)
 arcs directs en vert (+5)
 arcs indirects en rouge (5)

v11 (10) 10 v21

v22

v0 (25) 25 v12 v3

v23

v13 (10) 10 v24


814
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Algorithme de Ford - Fulkerson


Exemple
Nouveau flot 1
• Le flot sur chaque arc est indiqué en bleu.
• Les arcs saturés sont indiqués en orange.
• La valeur du flot 1 est φ = 40 + 25 + 20 = 85  maximale ?

v11 (10) 10 v21

v22

v0 (25) 25 v12 v3

v23

v13 (10) 10 v24


815
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Algorithme de Ford - Fulkerson


Exemple
• Marquage des nœuds à partir de la source pour le flot 1

Arc [v0v11] [v11v22]


Marquage v11 (+) v22 (+)  Le puits n’est pas marqué.
Prédécesseur v0 v11  Le flot 1 est maximal de valeur φmax = 85

v11 (10) 10 v21

v22

v0 (25) 25 v12 v3

v23

v13 (10) 10 v24


816
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Coupe
Solution
Le flot obtenu à la fin de l’algorithme de Ford-Fulkerson est le flot maximal.
Pour le vérifier, on considère la coupe associée au flot .

Coupe
La coupe W associée au flot  est l’ensemble des nœuds marqués.
Chaque nœud de V appartient soit à W, soit au complémentaire W .

W W VW
• Un arc [vivj] sortant de la coupe est saturé.
Sinon vj serait marqué (+) et appartiendrait à W. xij= fij
vi vj
s t
• Un arc [vkvl] entrant dans la coupe est de flot nul. vl
xkl= 0
vk
Sinon vk serait marqué () et appartiendrait à W.

• On ne peut ni augmenter le flot total sortant de la coupe, ni diminuer le flot total entrant.
Si le puits est non marqué, on ne peut pas augmenter le flot arrivant au puits.
 Le flot est maximal.
817
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Coupe
Exemple
Coupe associé au flot 1 : W = {v0 , v11 , v22} (en bleu)
• Arcs sortants : [v0v12] , [v0v13] , [v11v21] , [v11v24] , [v22v3]  saturés (en vert)
• Arcs entrants : [v12v22]  flot nul (en rouge)

v11 (10) 10 v21


W

v22

v0 (25) 25 v12 v3

v23

v13 (10) 10 v24


818
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Graphe d’écart


Définition
On suppose le graphe G antisymétrique : si l’arc [vivj] existe, l’arc [vjvi] n’existe pas.
Le graphe d’écart Ge() associé au flot  est un graphe obtenu à partir de G.

• Tous les nœuds de G sont conservés dans Ge.


xij= fij
• Si l’arc [vivj] de G est saturé : xij = fij vi vj
Ge ne comporte pas l’arc [vivj] fij
comporte l’arc [vjvi] avec la capacité fij vi vj

xij= 0
• Si l’arc [vivj] de G est de flot nul : xij = 0 vi vj
Ge comporte l’arc [vivj] avec la capacité fij fij
ne comporte pas l’arc [vjvi] vi vj

0 < xij < fij


• Si l’arc [vivj] de G est de flot intermédiaire : 0 < xij < fij vi vj
Ge comporte l’arc [vivj] avec la capacité fij  xij fij  xij
comporte l’arc [vjvi] avec la capacité xij vi vj
xij
819
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Graphe d’écart


Exemple
Graphe G à 4 nœuds, flot 0

v2 v2

v1 (1) 0 v4 v1 (1) v4

v3 v3

Graphe G avec flot 0 Graphe d’écart Ge(0)

Arc de G [v1v2] (4) [v1v3] (3) [v2v3] (1) [v2v4] (3) [v3v4] (2)
Flot sur l’arc non saturé (3) non saturé (1) flot nul (0) saturé (3) non saturé (1)
Arc direct de Ge [v1v2] (1) [v1v3] (2) [v2v3] (1) [v3v4] (1)
Arc indirect de Ge [v2v1] (3) [v3v1] (1) [v4v2] (3) [v4v3] (1)

820
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Graphe d’écart


Flot maximal
• Un chemin de la source au puits dans le graphe d’écart Ge(0) est une chaîne améliorante.

v2 v2

v1 (1) 0 v4 v1 (1) v4

v3 v3

Graphe G avec flot 0 Graphe d’écart Ge(0)

• La chaîne améliorante est : (v1 , v2 , v3 , v4)


Le flot peut être augmenté de δφ = 1 (minimum des capacités le long du chemin dans Ge).

• On met à jour le graphe d’écart après augmentation du flot.


Le flot est maximal s’il n’y a pas de chemin de la source au puits dans Ge.

821
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Graphe d’écart


Exemple
Nouveau flot 1  maximal (pas de chemin de la source au puits dans Ge)

v2 v2

v1 (1) 1 v4 v1 (1) v4

v3 v3

Graphe G avec flot 1 Graphe d’écart Ge(1)

Arc de G [v1v2] (4) [v1v3] (3) [v2v3] (1) [v2v4] (3) [v3v4] (2)
Flot sur l’arc saturé (4) non saturé (1) saturé (1) saturé (3) saturé (2)
Arc direct de Ge [v1v3] (2)
Arc indirect de Ge [v2v1] (4) [v3v1] (1) [v3v2] (1) [v4v2] (3) [v4v3] (2)

822
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Flot de coût minimal


Flot maximal de coût minimal
• Il y a généralement plusieurs flots possibles de valeur φmax.
Lorsque les coûts cij des arcs sont donnés, on cherche le flot de valeur φmax de coût minimal.

• La variable xij est le flot passant par l’arc [vivj] de capacité fij (fij , cij)
vi xij vj
et de coût cij
Le coût du flot xij passant par l’arc [vivj]est xijcij.

• Le coût du flot  est la somme des coûts sur chaque arc : c  x ijcij
vi  v j E

Théorème de Roy
• Le flot  de valeur φmax est de coût minimal
s’il n’existe aucun circuit de coût négatif dans Ge.

• Le graphe d’écart Ge associé au flot  permet de savoir


- si le flot  est de valeur maximale  aucun chemin de la source au puits dans Ge
- si le flot  est de coût minimal  aucun circuit de coût négatif dans Ge

823
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Flot de coût minimal


Exemple
Flot 1 avec coûts des arcs

v2 v2

v1 (1,4) 1 v4 v1 (1,4) v4

v3 v3

Graphe G avec flot 1 Graphe d’écart Ge(1)

• On indique pour chaque arc de G la capacité et le coût : (fij , cij).


Le flot 1 est de valeur φ = 5 et de coût c = 42 + 11 + 14 + 31 + 22 = 20

• Les arcs directs de Ge ont le coût +cij.


Les arcs indirects de Ge ont le coût cij.

824
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Flot de coût minimal


Exemple
Flot 1 avec coûts des arcs

v2 v2

v1 (1,4) 1 v4 v1 (1,4) v4

v3 v3

Graphe G avec flot 1 Graphe d’écart Ge(1)

• Il n’existe pas de chemin de la source au puits dans Ge.


 Le flot 1 est de valeur maximale φmax = 5 .

• Il existe un circuit de coût négatif dans Ge  (v2 , v1 , v3 , v2) de coût  2 + 1  4 =  5


 Le flot 1 n’est pas de coût minimal.
 On peut trouver un flot de même valeur φmax = 5 et de coût inférieur à 20.
825
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Flot de coût minimal


Algorithme de Roy  Busacker et Gowen
• On cherche parmi les flots de valeur maximale celui de coût minimal.

• L’algorithme de Roy  Busacker et Gowen est identique à celui de Ford – Fulkerson.


 Construction d’une chaîne améliorante
 Augmentation du flot le long de la chaîne améliorante

• Il existe en général plusieurs chaînes améliorantes.


 On choisit la chaîne améliorante de coût minimal.
 On peut la trouver en appliquant l’algorithme de Ford dans le graphe d’écart G e.
(ou un autre algorithme de chemin)

• On augmente le flot le long de la chaîne améliorante et on met à jour le graphe d’écart.


Le choix de la chaîne améliorante conduit à un graphe d’écart sans circuit négatif.

• L’algorithme se termine lorsqu’il n’y a plus de chemin de la source au puits dans G e.


 Le flot obtenu est alors de valeur maximale et de coût minimal

826
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Flot de coût minimal


Exemple
Initialisation avec flot nul 0  Le graphe d’écart Ge(0) est identique au graphe G.

v2 v2

v1 (1,4) 0 v4 v1 (1,4) v4

v3 v3

Graphe G avec flot 0 Graphe d’écart Ge(0)

• Chemins de la source au puits dans Ge : (v1 , v2 , v4) de coût + 2 + 1 =+3


(v1 , v2 , v3 , v4) de coût + 2 + 4 + 2 = + 8
(v1 , v3 , v4) de coût + 1 + 2 =+3

• On choisit la chaîne améliorante (v1 , v2 , v4)  augmentation du flot de δφ = min(4,3) = 3

827
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Flot de coût minimal


Exemple
Nouveau flot 1  valeur φ = 3 , coût c = 9

v2 v2

v1 (1,4) 0 v4 v1 (1,4) v4

v3 v3

Graphe G avec flot 1 Graphe d’écart Ge(1)

• Chemins de la source au puits dans Ge : (v1 , v2 , v3 , v4) de coût + 2 + 4 + 2 = + 8


(v1 , v3 , v4) de coût + 1 + 2 =+3

• On choisit la chaîne améliorante (v1 , v3 , v4)  augmentation du flot de δφ = min(3,2) = 2

828
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017

4.1.3 Flot de coût minimal


Exemple
Nouveau flot 2  valeur φ = 5 , coût c = 15

v2 v2

v1 (1,4) 0 v4 v1 (1,4) v4

v3 v3

Graphe G avec flot 2 Graphe d’écart Ge(2)

• Il n’y a plus de chemin de la source au puits dans Ge.


 Le flot 2 est maximal de valeur φ = 5.

• Il n’y a pas de circuit de coût négatif dans Ge.


 Le flot 2 est de coût minimal c = 15.

829
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Problème d’affectation

 Problème de flot équivalent

 Méthode hongroise

 Justification théorique

830
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Problème d’affectation


Enoncé du problème
Il faut affecter n ressources à n taches en minimisant le coût total.
Le coût d’affectation de la ressource i à la tache j est noté cij , i,j =1 à n .
 problème d’affectation noté (PA)
 généralisable à : - un nombre de ressources m différent du nombre de taches p.
- un problème de maximisation.

Algorithmes
• Le problème d’affectation est équivalent à un problème de flot maximal de coût minimal.
Les ressources et les taches forment un graphe biparti avec des arcs de capacités égales à 1.
Le flot maximal est égal à n (affectation de toutes les ressources et toutes les taches).
 résolution par l’algorithme de Roy  Busacker et Gowen

• La méthode hongroise permet une résolution directe sur le tableau des coûts.
On sélectionne en priorité les affectations ayant les coûts le plus faibles.
On modifie la solution jusqu’à couvrir toutes les ressources et toutes les taches.
 méthode développée par Egervary  König et Kuhn

• Le problème d’affectation se formule comme un problème linéaire en variables binaires.


On peut le résoudre par les méthodes générales de programmation linéaire.
831
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Problème de flot équivalent


Réseau équivalent
Le problème d’affectation est représenté par un réseau.

• Les nœuds du graphe sont les ressources (ri)i=1 à n et les taches (tj)j=1 à n.
Les ressources forment un sous-ensemble de nœuds disjoints.
Les taches forment un sous-ensemble de nœuds disjoints. → graphe biparti

• Chaque ressource ri est reliée à une tache tj par un arc de capacité 1 et de coût cij.
Les ressources sont reliées à une source r0 par des arcs de capacité 1 et de coût 0.
Les taches sont reliées à un puits t0 par des arcs de capacité 1 et de coût 0.

• Il faut trouver le flot maximal (= n) de coût minimal traversant le réseau de r 0 à t0.

r1 t1

r0 (1 , 0) ri (1 , cij) tj (1 , 0) t0

rn tn 832
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Problème de flot équivalent


Exemple
Problème à 4 ressources et 4 taches
24 10 21 11

• Matrice des coûts 14 22 10 15


15 17 20 19
11 19 14 13

• Réseau équivalent
→ Arcs de capacité 1 r1 (24) t1
avec leur coût

r2 (22) t2

r0 t0

r3 (20) t3

r4 (13) t4
833
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Problème de flot équivalent


Exemple
• On initialise le flot par une méthode gloutonne (coût minimal disponible dans le tableau).

24 10 21 11 24 10 21 11 24 10 21 11 24 10 21 11
14 22 10 15 14 22 10 15 14 22 10 15 14 22 10 15
15 17 20 19 15 17 20 19 15 17 20 19 15 17 20 19
11 19 14 13 11 19 14 13 11 19 14 13 11 19 14 13

(r1 – t2) (r2 – t3) (r4 – t1) (r3 – t4)

• L’affectation initiale correspond à un flot maximal Φ1 = 4 de coût C1 = 50.

r1 t1
• Graphe associé au flot initial
On ne représente que les arcs saturés
r2 t2
avec leur coût.
r0 t0
r3 t3

r4 t4
834
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Problème de flot équivalent


Exemple 24 10 21 11
La solution est optimale si dans le graphe d’écart : 14 22 10 15
• Il n’existe pas de chemin de r0 à t0 → flot maximal 15 17 20 19
• Il n’existe pas de circuit de coût négatif → coût minimal 11 19 14 13

r1 t1 r1 t1

r2 t2 r2 t2
r0 t0 r0 t0
r3 t3 r3 t3

(13)
r4 t4 r4 t4

Graphe G avec flot 1 Graphe d’écart Ge(1)

• Pas de chemin de r0 à t0 dans Ge(1) → Le flot est maximal (= 4).


• Circuit (r3–t1–r4–t4–r3) de coût négatif = –2 → On peut réduire le coût de 50 à 48.
(détecté par l’algorithme de Ford qui ne se termine pas).
835
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Problème de flot équivalent


Exemple 24 10 21 11
On échange les affectations (r3 – t4) et (r4 – t1). 14 22 10 15
• Il n’existe pas de chemin de r0 à t0 → flot maximal 15 17 20 19
• Il n’existe pas de circuit de coût négatif → coût minimal 11 19 14 13

r1 t1 r1 t1

r2 t2 r2 t2
r0 t0 r0 t0
r3 t3 r3 t3

(13) (-13)
r4 t4 r4 t4

Graphe G avec flot 2 Graphe d’écart Ge(2)

• L’algorithme de Ford se termine → pas de circuit de coût négatif dans Ge(2)


• On obtient le flot maximal 2 = 4 de coût minimal C2 = 48.
836
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Algorithme
La méthode hongroise utilise directement la matrice des coûts cij , i,j =1 à n .

• Etape 1 : réduction des lignes


On soustrait à chaque ligne son plus petit élément → un zéro par ligne

• Etape 2 : réduction des colonnes


On soustrait à chaque colonne son plus petit élément → un zéro par colonne

• Etape 3 : couverture des zéros


On cherche le nombre minimal p de lignes et de colonnes pour couvrir tous les zéros.
Si p < n, la solution n’est pas optimale. → Etape 4
Si p = n, la solution est optimale. → Etape 5

• Etape 4 : augmentation du coût


On cherche parmi les lignes ou colonnes non couvertes le plus petit coût.
On le soustrait aux éléments non couverts.
→ Etape 3
On l’ajoute aux éléments couverts 2 fois.

• Etape 5 : solution optimale


On affecte un zéro par ligne et par colonne. 837
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Exemple
Problème à 4 ressources et 4 taches
24 10 21 11

• Matrice des coûts 14 22 10 15


15 17 20 19
11 19 14 13

24 10 21 11 → 10 14 0 11 1
• Etape 1 : réduction des lignes 14 22 10 15 → 10 4 12 0 5
15 17 20 19 → 15 0 2 5 4
→ C = 10 + 10 + 15 + 11 = 46 11 19 14 13 → 11 0 8 3 2

14 0 11 1 14 0 11 0
• Etape 2 : réduction des colonnes 4 12 0 5 4 12 0 4
0 2 5 4 0 2 5 3
→ C = 46 + 0 + 0 + 0 + 1 = 47 0 8 3 2 0 8 3 1
↓ ↓ ↓ ↓
0 0 0 1 838
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Exemple
14 0 11 0
• Etape 3 : couverture des zéros 4 12 0 4 → 1 ligne , 2 colonnes
0 2 5 3 → p=3<n=4
→ algorithme de Ford – Fulkerson 0 8 3 1 solution non optimale

14 0 11 0
• Etape 4 : plus petit coût non couvert 4 12 0 4 → cmin = 1
0 2 5 3
→ C = 47 + 1 = 48 0 8 3 1

14 0 11 0
On soustrait 1 aux éléments non couverts. 4 11 0 3
0 1 5 2
0 7 3 0

15 0 12 0
On ajoute 1 aux éléments couverts 2 fois. 4 11 0 3
0 1 5 2
0 7 3 0 839
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Exemple
15 0 12 0
• Etape 3 : couverture des zéros 4 11 0 3 → 2 lignes , 2 colonnes
0 1 5 2 → p=4=n
0 7 3 0 solution optimale

15 0 12 0
• Etape 5 : choix d’un zéro par ligne 4 11 0 3
et par colonne 0 1 5 2
0 7 3 0

24 10 21 11
• On obtient l’affectation optimale. 14 22 10 15
15 17 20 19
(r1 – t2) ; (r2 – t3) ; (r3 – t1) ; (r4 – t4)
11 19 14 13

Coût total : C = 10 + 10 + 15 + 13 = 48

840
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Couverture des zéros
La matrice des coûts à l’étape 3 comprend au moins un zéro par ligne et par colonne.
On cherche le nombre minimal de zéros pour couvrir les ressources ri et les taches tj.

• On définit un graphe associé aux zéros de la matrice des coûts.


- Un zéro en ligne i et colonne j donne un arc entre ri et tj de capacité 1.
- Les n arcs partant de la source r0 et les n arcs arrivant au puits t0 sont de capacité 1.

(étape 3 – 1ère itération) r1 t1

14 0 11 0 r2 t2
4 12 0 4 r0 t0
0 2 5 3 r3 t3
0 8 3 1
r4 t4

• On détermine le flot maximal partant de r0 et arrivant en t0 (valeur maximale possible = n)


en appliquant l’algorithme de Ford ̶ Fulkerson à partir du flot nul.

• Si le flot maximal est de valeur n, toutes les ressources et les taches sont affectées.
Les affectations optimales correspondent aux arcs (ri – tj) de flot 1 (= zéros sélectionnés).
841
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Exemple (étape 3 – 1ère itération)
• Marquage des nœuds à partir de la source pour le flot initial nul 0
r0(+) → r1(+) → t2(+) → t0(+) Le puits t0 est marqué.
→ t4(+) δφ=1 sur la chaîne améliorante (r0–r1–t2–t0)
r0(+) → r2(+) → t3(+) (en vert)
r0(+) → r3(+) → t1(+) On obtient le flot 1 de valeur 1.
r0(+) → r4(+)

r1 t1

r2 t2

r0 t0

r3 t3

r4 t4
842
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Exemple (étape 3 – 1ère itération)
• Marquage des nœuds à partir de la source pour le flot 1 de valeur 1
r0(+) → r2(+) → t3(+) → t0(+) Le puits t0 est marqué.
r0(+) → r3(+) → t1(+) δφ=1 sur la chaîne améliorante (r0–r2–t3–t0)
r0(+) → r4(+) (en vert)
(arcs saturés en orange) On obtient le flot 2 de valeur 2.

r1 t1

r2 t2

r0 t0

r3 t3

r4 t4
843
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Exemple (étape 3 – 1ère itération)
• Marquage des nœuds à partir de la source pour le flot 2 de valeur 2
r0(+) → r3(+) → t1(+) → t0(+) Le puits t0 est marqué.
r0(+) → r4(+) δφ=1 sur la chaîne améliorante (r0–r3–t1–t0)
(en vert)
(arcs saturés en orange) On obtient le flot 3 de valeur 3.

r1 t1

r2 t2

r0 t0

r3 t3

r4 t4
844
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Exemple (étape 3 – 1ère itération)
• Marquage des nœuds à partir de la source pour le flot 3 de valeur 3
r0(+) → r4(+) → t1(+) Le puits t0 n’est pas marqué.
Le flot 3 est maximal de valeur 3 < 4.

• On ne peut pas trouver 4 zéros couvrant toutes les lignes et les colonnes (étape 3)
→ passage à l’étape 4.

r1 t1

r2 t2

r0 t0

r3 t3

r4 t4
845
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Exemple (étape 3 – 2ème itération)
• La matrice des coûts à la 2ème itération comporte un zéro supplémentaire (ligne 4 , colonne 4).
14 0 11 0 15 0 12 0 L’arc (r4 ̶ t4) permet de marquer le puits t0
4 12 0 4 4 11 0 3 → On obtient un flot maximal de valeur 4.
0 2 5 3 0 1 5 2 L’affectation optimale correspond aux arcs saturés
0 8 3 1 0 7 3 0 → (r1 – t2) ; (r2 – t3) ; (r3 – t1) ; (r4 – t4)

r1 t1

r2 t2

r0 t0

r3 t3

r4 1
t4
(1)
846
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Extensions
La méthode hongroise peut s’appliquer à des variantes du problème d’affectation.

• Problème de maximisation
On se ramène à un problème de minimisation :
- en trouvant le plus grand élément cmax de la matrice des coûts C
- en remplaçant chaque coût cij par la différence cmax − cij ≥ 0
On applique la méthode hongroise sur la matrice Cmax − C pour trouver l’affectation optimale.

Exemple : Maximiser la satisfaction totale sur une matrice des préférences

• Nombre m de ressources différent du nombre p de taches


La matrice des coûts comporte m lignes (ressources) et p colonnes (taches).
On applique la méthode hongroise de la même façon que lorsque m=p.

La couverture des zéros à l’étape 3 est réalisée par l’algorithme de Roy  Busacker et Gowen
pour trouver le flot maximal de coût minimal.
- La solution est optimale si le flot maximal vaut  = min(m,p).
- Sinon on augmente le flot le long de la chaîne améliorante de coût minimal.

847
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Exemple
Problème à 2 ressources et 3 taches
1 2 3
• Matrice des coûts Solution : (r1 – t2) ; (r2 – t1)
1 3 3
→ Coût : C=2+1=3
0 1 2 0 0 0
• Réduction des lignes et des colonnes
0 2 2 0 1 0

Il existe 4 couvertures possibles des zéros : (r1 – t1) ; (r2 – t3) → C=1+3=4
(r1 – t2) ; (r2 – t1) → C=2+1=3
1 2 3
(r1 – t2) ; (r2 – t3) → C=2+3=5
1 3 3 (r1 – t3) ; (r2 – t1) → C=3+1=4

(1,1)
• On construit le graphe des zéros : r1 t1
- capacité des arcs : fij = 1 (1)
- coûts des arcs : cij = coûts initiaux r0 t2 t0

(1,3)
r2 t3
848
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Exemple : couverture des zéros à coût minimal
• Marquage des nœuds à partir de la source pour le flot initial nul 0
r0(+) → r1(+) → t1(+) → t0(+) Le puits t0 est marqué.
→ t2(+) Chaîne améliorante de coût minimal
→ t3(+) (r0–r1–t1–t0) de coût +1 (en vert)
r0(+) → r2(+) (r0–r2–t1–t0) de coût +1
Les autres chaînes sont de coût supérieur à +1.
• δφ = +1 sur (r0–r1–t1–t0) On obtient le flot 1 de valeur 1 et de coût 1.

(1 , 1) 0
r1 t1

(1) 0
r0 t2 t0

(1 , 3) 0
r2 t3

849
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Exemple : couverture des zéros à coût minimal
• Marquage des nœuds à partir de la source pour le flot 1 de valeur 1
r0(+) → r2(+) → t3(+) → t0(+) Le puits t0 est marqué.
→ t1(+) → r1(−) → t2(+) Chaîne améliorante de coût minimal
(r0–r2–t3–t0) de coût +3
(arcs saturés en orange) (r0–r2–t1–r1–t2–t0) de coût +1–1+2 = +2 (en vert)
(r0–r2–t1–r1–t3–t0) de coût +1–1+3 = +3
• δφ = 1 sur (r0–r2–t1–r1–t2–t0) On obtient le flot 2 de valeur 2 et de coût 3.

(1 , 1) 1
r1 t1

(1) 0
r0 t2 t0

(1 , 3) 0
r2 t3

850
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Exemple : couverture des zéros à coût minimal
• Le flot 2 est maximal de valeur 2 (= nombre de ressources).

Toutes les ressources sont affectées : (r1 – t2) → coût = 2 1 2 3


(r2 – t1) → coût = 1 1 3 3

On obtient l’affectation de coût minimal : C=2+1=3

(1 , 1) 0
r1 t1

(1) 1
r0 t2 t0

(1 , 3) 0
r2 t3

851
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Justification théorique
Le problème d’affectation se formule comme un problème linéaire en variables binaires.

• La variable binaire xij vaut 1 si la ressource i est affectée à la tache j  nn variables
0 sinon
n n
• Le coût total à minimiser est : z   cij x ij
i 1 j1

n
• La tache j est effectuée une seule fois : x
i 1
ij 1 , j 1 à n  n contraintes

n
• La ressource i est affectée une fois au plus : x
j1
ij 1 , i 1 à n  n contraintes

n
n n  x ij  1 , j  1 à n  multiplicateurs u
• Formulation : min z   cij x ij sous  i n1
 x ij  1 , i  1 à n  multiplicateurs v
x ij
i 1 j1
 j1

852
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Problème primal
Ax  b
min z  c T x sous 
x  0 ;1
On écrit le problème primal sous forme matricielle : nn
x

x1 j x2j x nj
1 1   1 1 0 0   0 0 0 0   0 0 u1 1
   
0 0   0 0 1 1   1 1 0 0   0 0 u2 1
  
            
 
             
0 0   0 0 1
0 0   0 0 1 1   1 1 
b  
un
A 1
1 0   0 0 1 0   0 0 1 0   0 0 v1
   
0 1   0 0 0 1   0 0 0 1   0 0 v2 1
             
   
             
0 0   0 1 1
 0 0   0 1 0 0   0 1  vn  

x T  x11 x12  x1n x 21 x 22  x 2n x n1 x n 2  x nn 

c T  c11 c12  c1n c 21 c 22  c2n c n1 c n 2  c nn 


853
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Problème primal
• Le problème primal porte sur les variables binaires x.
Ax  b
min z  c T x sous 
x  0 ;1
nn
x

• La solution x est naturellement binaire car la matrice A est unimodulaire.


Les contraintes d’intégrité sont naturellement respectées et peuvent être supprimées.

min z  c T x sous Ax  b → n + n contraintes de multiplicateurs respectifs u et v


x

Problème dual u  n


• Le problème dual porte sur les multiplicateurs u et v des contraintes :    
 v  n
max z'  b T  sous A T   c
x
n n
• Formulation explicite : max z'   u i   v j sous u i  v j  cij , i , j  1 à n
ui ,v j
i 1 j1

2n variables n2 contraintes

854
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Problème dual
• La méthode hongroise s’interprète comme une résolution itérative du problème dual.
n n
max z'   u i   v j sous u i  v j  cij , i , j  1 à n
ui ,v j
i 1 j1

• Le coût dual z’ est la somme des variables duales u et v.


Pour maximiser le coût dual, on cherche à saturer les contraintes inégalités.
v1  vj  vn
u1  c11  c1 j  c1n 
 
     
• On représente les contraintes inégalités directement
u i  ci1  cij  cin 
à partir de la matrice des coûts.  
     
  c nj  c nn 
u n  c n1

• La variable ui est bornée par le coût minimal sur la ligne : u i  min cij  u i max , i  1 à n
j noté

• La variable vj est bornée par le coût minimal sur la colonne : v j  min cij  v j max , j  1 à n
i noté

855
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Réduction
• On soustrait sur chaque ligne de la matrice (cij) son plus petit élément noté ui max .
u 'i  u i  u i max
→ Equivaut au changement de variable : c'  c  u
 ij ij i max

→ Fait apparaître au moins un zéro sur chaque ligne de la matrice (cij)

• On soustrait sur chaque colonne de la matrice (cij) son plus petit élément noté vj max .
v' j  v j  v j max
→ Equivaut au changement de variable : c' '  c'  v
 ij ij j max

→ Fait apparaître au moins un zéro sur chaque colonne de la matrice (cij)

n n
• Le problème dual réduit s’écrit : max z'   u 'i   v' j  z max sous u 'i  v' j  c' 'ij , i , j  1 à n
u 'i , v ' j
i 1 j1
n n
La valeur z max   u i max   v j max donne une borne inférieure sur le coût.
i 1 j1

La matrice c' 'ij  cij  u i max  v j max comporte au moins un zéro par ligne et par colonne.

856
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Solution
• Les contraintes du problème dual sont : u 'i  v' j  c' 'ij , i , j  1 à n

• On suppose que l’on peut choisir n cij nuls de façon à couvrir chaque ligne et chaque colonne.

• Pour chaque cij nul, on groupe les variables duales correspondantes ui et vj .

On obtient n groupes (ui , vj) vérifiant les contraintes : u 'i  v' j  0

• On fait apparaître les n groupes (ui , vj) dans l’expression du coût dual.
n n n
z'   u 'i   v' j  z max   (u 'i k  v' jk )  z max en notant (ik , jk)k=1 à n les groupes (ui , vj)
i 1 j1 k 1
n n
avec u 'i k  v' jk  0 et z max   u i max   v j max
i 1 j1

Le coût dual z ne peut pas être augmenté : z  zmax

• La solution nulle (ui=0 , vj=0) est optimale de coût zmax.


Les affectations optimales (ik , jk)k=1 à n correspondent aux n éléments cij nuls
choisis pour couvrir toutes les lignes et toutes les colonnes.
857
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Amélioration
• La matrice réduite (notée cij) comporte au moins un zéro sur chaque ligne et chaque colonne.
On suppose que l’on ne peut pas couvrir toutes les lignes et les colonnes avec n cij nuls
(sinon la solution nulle ui=0 , vj=0 est optimale de coût zmax).
v j0 v jm
 
• On choisit le plus petit cij non nul sur les lignes ayant un seul zéro.  
u i0  0    cm
Cet élément noté cm est en ligne im et en colonne jm : c m  ci m jm  0 0 
La ligne im n’a qu’un seul zéro situé en colonne j0 : ci m j0  0  
u im  0 cm    cm
 
 
• On considère la solution nulle (ui=0 , vj=0) sauf pour : 
- la variable vj0 : vj0 = −cm  cm
- les variables ui0 : ui0 = +cm → pour les lignes i0 ayant un seul zéro en colonne j0

u i 0  v j  c m  0  c m  ci 0 j si j  j0 → par choix de cm

• Cette solution est admissible : u i 0  v j0  c m  c m  0  ci 0 j0 si j  j0
u i  v j0  0  c m  c m  0  cij0 si i  i 0

• Le coût est supérieur à zmax : z u


i 0 i m
i  u i m  v j0  z max  c
i 0 i m
m  z max  z max

+cm +cm cm 858


4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017

4.1.4 Méthode hongroise


Nouvelle réduction
• La nouvelle réduction est un changement de variables pour se ramener à la solution nulle.
u 'i 0  u i 0  c m v j0 v jm
c'  c  c → sur les lignes i0 ayant un seul zéro
 i0 j i0 j m  
en colonne j0  
u i0  0    cm
v' j0  v j0  c m  0 0 
c'  c  c → sur la colonne j0  
 ij0 ij0 m u im  0 cm    cm
 
 

• La matrice des coûts après réduction devient (cij).  cm
v ' j0 v' jm
  → fait apparaître un zéro en ligne im et colonne jm
 
u 'i 0  0  à la place de cm (plus petit élément non nul des lignes à un seul zéro)
 cm 0 
 
u 'im  0 0  → conserve les zéros en colonne j0 sur les lignes à un seul zéro
 
  conserve au moins un zéro par ligne et par colonne.

• La solution nulle (ui=0 , vj=0) est admissible pour le nouveau problème réduit.
Cette solution est optimale si l’on peut couvrir toutes les lignes et colonnes avec n cij nuls.

859
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Heuristiques

 Principes

 Empilement

 Emboîtement

 Recouvrement

 Coloration

 Voyageur de commerce

860
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Heuristiques
Principes
• Il n’est généralement pas possible d’obtenir des solutions exactes en temps raisonnable
pour des problèmes NP-complets de grande taille. Il faut se satisfaire de solutions approchées.

• Une heuristique est une méthode de résolution approchée adaptée à un problème particulier.
La solution approchée est construite en suivant des règles empiriques définies librement.
« heuristique » = méthode de recherche empirique

• Une heuristique est spécifique à un problème particulier.


Une métaheuristique est une heuristique transposable à différents problèmes.

Performance
• La performance d’une heuristique se mesure par l’écart à la solution optimale.
La solution optimale est généralement inconnue.
→ On ne peut pas garantir la performance d’une heuristique (sauf cas particuliers).

• On évalue la performance de façon statistique sur des cas tests de solution connue.
→ performance moyenne
→ performance cas pire

861
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Empilement
Enoncé du problème
On dispose d’un ensemble de n objets et d’une boîte de taille b.
L’objet numéro i est de taille ai et de valeur ci.
Il faut choisir les objets à empiler dans la boîte pour maximiser la valeur totale.
 problème d’empilement ou de sac à dos en 0-1 (NP-complet)

Heuristique
Principe : On choisit en priorité les objets ayant le meilleur rapport valeur/taille.
c1 c 2 c
• On trie les objets par valeur moyenne (ou utilité) décroissante :   n
a1 a 2 an
• On empile les objets 1, 2, …, p dans la boîte tant que la taille b n’est pas dépassée.
a1  a 2    a p b  Les objets 1 à p rentrent dans la boîte.

a 1  a 2    a p  a p 1  b  L’ objet p+1 ne rentre pas.

• Variante : on peut choisir plusieurs exemplaires de chaque objet


→ sac à dos en variables entières

• Performance de l’heuristique : pas de garantie (cf exemple)


862
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Empilement
Exemple 1
Problème avec n = 2 objets

• Taille de la boîte : b>2 Boîte de taille b

a1=1
• Valeurs des objets : c = (1 , b1) c c b 1
 Utilités : 1  1  2 
Tailles des objets : a = (1 , b) a1 a2 b a2=b

 On prend d’abord l’objet 1.

• L’objet 1 occupe une taille de a1=1 dans la boîte.


L’objet 2 de taille a2=b ne rentre plus car 1 + b > b. a1=1
On obtient un empilement de valeur c1=1.

• La solution optimale est de prendre l’objet 2 (taille a2=b , valeur b1 > 1).
La solution gloutonne est mauvaise lorsque b est grand, car la boîte est peu remplie (1 << b).

• La solution gloutonne est bonne lorsque les objets sont petits par rapport à la boîte : a i << b
On peut alors s’approcher d’un remplissage maximal de la boîte.

863
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Empilement
Exemple 2
Problème de découpe

• Un vendeur dispose d’un câble de longueur b = 6790.


10 clients passent des commandes pour des longueurs respectives
a = (2597 , 2463 , 2292 , 1625 , 1283 , 1089 , 759 , 599 , 315 ,211)

• Une solution gloutonne consiste à satisfaire en premier les commandes les plus importantes.
Longueur vendue = 2597 + 2463 + 1625 = 6685  reste = 105

• La solution optimale est de satisfaire en premier les commandes 1 , 4 , 5 , 7 , 9 , 10


Longueur vendue = 2597 + 1625 + 1283 + 759 + 315 + 211 = 6790  reste = 0

• La solution optimale permet de vendre toute la longueur disponible.


Elle nécessite l’énumération complète de tous les sous-ensembles des 10 commandes .

• Le nombre de sous-ensembles d’un ensemble à n éléments est 2n .


(se démontre par récurrence sur n).
 énumération irréalisable au-delà de quelques dizaines d’éléments.

864
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Emboîtement
Enoncé du problème
On dispose d’un ensemble de n objets et de boîtes de tailles identiques b.
L’objet numéro i est de taille ai.
Il faut ranger tous les objets en utilisant le moins de boîtes possibles.
 problème d’emboîtement ou de remplissage ou de bin packing (NP-complet)

Heuristique
Principe : On place en priorité les objets les plus grands
en essayant de remplir au maximum les boîtes utilisées.

• On trie les objets par taille décroissante : a1 ≥ a2 ≥ … ≥ an

• Chaque objet est placé : si possible dans une boîte déjà utilisée
sinon dans une nouvelle boîte
Si l’objet peut rentrer dans plusieurs boîtes, on choisit celle que l’objet remplit le plus.

• Performance de l’heuristique : existence de garanties théoriques


La solution gloutonne est bonne lorsque les objets sont petits par rapport aux boîtes : a i << b
Le cas pire est atteint sur des problèmes avec peu d’objets (cf exemple).

865
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Emboîtement
Exemple
Problème avec n = 6 objets

• Tailles des objets : a = (4 , 3 , 3 , 2 , 2 , 2)


• Taille des boîtes : b = 8

• On place les objets par taille décroissante en ajoutant une nouvelle boîte lorsque nécessaire.
Objet a1=4 a2=3 a3=3 a4=2 a5=2 a6=2 Remplissage
Boîte 1 4 7 7
Boîte 2 3 5 7 7
Boîte 3 2 2

• La solution gloutonne utilise 3 boîtes.

• La solution optimale utilise seulement 2 boîtes.

• La performance relative de l’heuristique sur ce cas est de 50% par rapport à l’optimum.
→ cas pire
866
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Recouvrement
Enoncé du problème
• On dispose d’un ensemble de n ressources pour réaliser m taches.
La ressource numéro j a un coût cj et ne peut effectuer qu’une partie des taches.
Il faut choisir les ressources pour réaliser toutes les taches en minimisant le coût total.
 problème de recouvrement (NP-complet)

Heuristique
Principe : On choisit en priorité les ressources ayant le meilleur rapport coût/taches effectuées.
r1  rj  rn
• On définit la matrice A de compatibilités entre ressources et taches.
aij = 1 si la ressource j peut effectuer la tache i t1   
 
0 sinon    
t i   1  

 
   
• La ressource j couvre Nj taches (= nombre de 1 en colonne j).  
tm   
Le coût moyen de la ressource j est cj /Nj. m
N j   a ij
i 1
• A chaque itération on choisit la ressource de coût moyen minimal.
On supprime de la matrice A la colonne correspondante
et les lignes correspondant aux taches couvertes.
→ Itérations jusqu’à ce que toutes les taches soient couvertes.
867
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Recouvrement
Exemple r1 r2 r3 r4 r5

4 taches à réaliser avec 5 ressources 1 t1 0 1 1 0


 
t2  0 1 0 1 0
Coûts des ressources : c  (7 3 7 12 6) Compatibilités : A  
t3 1 0 0 0 1
 

t4  0 0 1 0 1 
Itération 1 Itération 2 Itération 3

r1 r2 r3 r4 r5 r1 r3 r4 r5 r1 r3 r4

Matrice A t1 1 0 1 1 0 t1 1 1 1 0 t1 1 1 1
   
t2  0 1 0 1 0 t3  1 0 0 1

t3 1 0 0 0 1 
t4  0 1 0 1 
 

t4  0 0 1 0 1 
r1 r2 r3 r4 r5 r1 r3 r4 r5 r1 r3 r4

 2 1 2 2 2  2 2 1 2 N 1 1 1  Solution (r1, r2, r5)


 
N N
   
c 7 3 7 12 6  c 7 7 12 6  c 7 7 12  Coût = 16 (optimal)
 3 3.5 6 3    7 12 
Coût moyen c  3.5 c  3.5 3.5 12 3  c 7

→ On choisit r2. → On choisit r5. → On choisit r1.


Couvre : t2 Couvre : t3, t4 Couvre : t1
868
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Coloration
Enoncé du problème
On doit colorier les nœuds d’un graphe.
Les nœuds adjacents (ou voisins) doivent être de couleurs différentes.
Il faut utiliser le moins de couleurs possibles.
 problème de coloration (NP-complet)

Heuristique
L’algorithme DSATUR de Brelaz (1979) consiste à colorier progressivement les nœuds.
On choisit à chaque itération le nœud le plus « difficile » à colorier
→ nœud ayant le maximum de voisins déjà coloriés

• Le degré du nœud vi est le nombre de voisins → δi


La saturation du nœud vi est le nombre de couleurs des voisins → σi

• A chaque itération on choisit le nœud de saturation maximale


et de degré maximal (si plusieurs nœuds candidats).

• On colorie le nœud sélectionné avec une couleur existante si possible


une nouvelle couleur sinon.

869
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Coloration
Exemple
Graphe à 8 nœuds.
v1 v2 v3 v4 v5 v6 v7 v8
v1 v2 v3 v4
δ  3 4 4 3 3 4 4 3
 
σ 0 0 0 0 0 0 0 0 → On colorie v2
v5 v6 v7 v8 C  0 0 0 0 0 0 0 0  avec la couleur 1.

v1 v2 v3 v4 v5 v6 v7 v8
v1 v2 v3 v4
δ  3 4 4 3 3 4 4 3
  → On colorie v3
σ 0  1 0 1 0 1 1
avec la couleur 2.
v5 v6 v7 v8 C  0 1 0 0 0 0 0 0 

v1 v2 v3 v4 v5 v6 v7 v8
v1 v2 v3 v4
δ  3 4 4 3 3 4 4 3
 
σ 0   0 2 1 1 2 → On colorie v5
v5 v6 v7 v8 C  0 1 2 0 0 0 0 0  avec la couleur 3.

870
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Coloration
Exemple
Graphe à 8 nœuds.
v1 v2 v3 v4 v5 v6 v7 v8
v1 v2 v3 v4
δ  3 4 4 3 3 4 4 3
 
σ 0   1  1 1 2 → On colorie v8
avec la couleur 3.
v5 v6 v7 v8 C  0 1 2 0 3 0 0 0 

v1 v2 v3 v4 v5 v6 v7 v8
v1 v2 v3 v4
δ 3 4 4 3 3 4 4 3
  → On colorie v6
σ 1   1  1 1 
avec la couleur 1.
v5 v6 v7 v8 C  0 1 2 0 3 0 0 3 

v1 v2 v3 v4 v5 v6 v7 v8
v1 v2 v3 v4
δ 3 4 4 3 3 4 4 3
 
σ 2   2   2  → On colorie v7
v5 v6 v7 v8 C  0 1 2 0 3 1 0 3  avec la couleur 2.

871
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Coloration
Exemple
Graphe à 8 nœuds.
v1 v2 v3 v4 v5 v6 v7 v8
v1 v2 v3 v4
δ 3 4 4 3 3 4 4 3
 
σ 3   3     → On colorie v1
avec la couleur 4.
v5 v6 v7 v8 C  0 1 2 0 3 1 2 3 

v1 v2 v3 v4 v5 v6 v7 v8
v1 v2 v3 v4
δ  3 4 4 3 3 4 4 3
  → On colorie v4
σ    3    
avec la couleur 4.
v5 v6 v7 v8 C  4 1 2 0 3 1 2 3 

→ On obtient une coloration avec 4 couleurs.


v1 v2 v3 v4
Couleur 1 : v2 , v6
Couleur 2 : v3 , v7
Couleur 3 : v5 , v8
v5 v6 v7 v8 Couleur 4 : v1 , v4

872
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Coloration
Application : dérivation numérique
On considère un simulateur à n entrées et m sorties.
 x1   y1 
  n entrées x m sorties y  
   Simulateur   
x  y 
 n  m
y
• On cherche à calculer la matrice jacobienne (dérivées partielles) par différences finies.
x
→ nécessite n appels du simulateur en faisant varier successivement x1, x2, …, xn
→ opération coûteuse en temps de calcul dans un algorithme d’optimisation

• Si les sorties yj ne dépendent pas de toutes les entrées xi (matrice jacobienne creuse),
on peut regrouper plusieurs entrées pour les faire varier simultanément.
La structure de la matrice jacobienne doit être connue (de façon théorique ou expérimentale).

• On construit le graphe d’incompatibilité des entrées (entrées ne pouvant varier simultanément).


On applique un algorithme de coloration pour regrouper les entrées compatibles.
Les entrées de même couleur sont celles que l’on peut faire varier simultanément.

873
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Coloration
Exemple
Simulateur à 5 entrées : x = (x1, x2, x3, x4, x5)  y1 x1x 4
et 3 sorties : y = (y1, y2, y3) 
 y 2  x1x 2 x 5
y x x
 3 3 5

 0 0  0
y  
• La structure de la matrice jacobienne est :    0 0 
x  
 0 0  0 

• On construit le graphe d’incompatibilité des entrées.


Les nœuds du graphe sont les entrées x1, x2, x3, x4, x5.
Si une sortie dépend de plusieurs entrées, ces entrées sont reliées par une arête.

Sortie y1 → (x1,x4) x1 x2 x3
Sortie y2 → (x1,x2) , (x1,x5) , (x2,x5)
Sortie y3 → (x3,x5)
x4 x5

874
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Coloration
Exemple
On applique l’algorithme de coloration au graphe des relations entre (x 1, x2, x3, x4, x5).
x1 x2 x3 x4 x5

x2 x3
x1
δ  3 2 1 1 3
 
σ 0 0 0 0 0 → On colorie x2
x4 x5
C  0 0 0 0 0  avec la couleur 1.

x1 x2 x3 x4 x5

x2 x3
x1
δ  3 2 1 1 3
 
σ   1 0 1 1 → On colorie x5
x4 x5
C  1 0 0 0 0  avec la couleur 2.

x1 x2 x3 x4 x5

x1 x2 x3
δ  3 2 1 1 3
 
σ  2 1 1  → On colorie x2
x4 x5
C  1 0 0 0 2  avec la couleur 3.

875
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Coloration
Exemple
On applique l’algorithme de coloration au graphe des relations entre (x 1, x2, x3, x4, x5).
x1 x2 x3 x4 x5

x2 x3
x1
δ  3 2 1 1 3
 
σ    1  → On colorie x3
x4 x5
C  1 3 1 0 2  avec la couleur 1.

x1 x2 x3 x4 x5

x2 x3
x1
δ  3 2 1 1 3
 
σ    1  → On colorie x4
x4 x5
C  1 3 1 0 2  avec la couleur 2.

→ On obtient une coloration avec 3 couleurs.


x1 x2 x3 Couleur 1 : x1 , x3
Couleur 2 : x4 , x5
x4 x5 Couleur 3 : x2
→ La matrice jacobienne peut être calculée en 3 appels
au lieu de 5.
876
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Voyageur de commerce


Enoncé du problème
Le voyageur de commerce doit visiter n villes en parcourant la distance la plus faible possible.
Chaque ville doit être visitée une fois et une seule.
Le voyageur de commerce doit revenir à sa ville de départ.
 problème du voyageur de commerce (NP-complet)

Heuristiques
• Heuristique 1 : arc de coût minimal
A chaque itération on prolonge le chemin par l’arc de coût minimal.

• Heuristique 2 : arc de regret maximal


A chaque itération on sélectionne l’arc de regret maximal (= coût de non sélection).

• Heuristique 3 : insertion de coût minimal


A chaque itération on insère un nouveau nœud à la position minimisant le coût.

• Nombreuses heuristiques possibles adaptées aux variantes du PVC


Pas de garantie de performance en général
PVC euclidien → les distances vérifient l’inégalité triangulaire
→ existence de garanties pour certaines heuristiques
877
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Voyageur de commerce


Exemple
Problème avec n = 4 villes
1
A B C D A B
• Matrice des coûts : A 1 1 2
(ou distancier)   1 1
B1  2 1 2 2
C1 2  10  C
  D
D  2 1 10  
10

1
A B
• Solution optimale
Chemin (ADBCA) de longueur 2 + 1 + 2 + 1 = 6 1 1
2 2

C D
10

• On compare les performances des 3 heuristiques : - Arc de coût minimal


- Arc de regret maximal
- Insertion de coût minimal
878
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Voyageur de commerce


Arc de coût minimal
A chaque itération on prolonge le chemin par l’arc de coût minimal.
1
• Initialisation A B
On choisit un arc de coût minimal  (AB) = 1 1 1
2 2

C D
10
• Prolongement du chemin

à partir de B à partir de D à partir de C


 (BD) = 1  (DC) = 10  (CA) = 1

1 1 1
A B A B A B

1 2 2 1 1 2 2 1 1 2 2 1

C D C D C D
10 10 10

Chemin (ABD) Chemin (ABDC) Chemin (ABDCA)


Longueur = 2 Longueur = 12 Longueur = 13
879
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Voyageur de commerce


Méthode de regret (ou pénalité)
• Le voyageur de commerce doit passer par tous les nœuds.
On examine les conséquences d’une non-sélection d’un arc allant du nœud v au nœud w.

• Si l’arc (v,w) n’est pas sélectionné, il faudra sélectionner : v w

- un autre arc partant de v v w


 engendre un coût au moins égal à rv

- un autre arc arrivant en w


v w
 engendre un coût au moins égal à rw

• Le regret associé à l’arc (v,w) est le coût minimal engendré par la non-sélection de l’arc (v,w).
 rvw = max (rv , rw)  matrice des regrets associés à chaque arc disponible

• On sélectionne à chaque itération l’arc de regret maximal.

880
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Voyageur de commerce


Exemple
Problème avec n = 4 villes
A B C D 1
A 1 1 2 A B
• Matrice des coûts :  
B1  2 1
(ou distancier) 1 1
C1 2  10 
2 2
 
D  2 1 10   C D
10

A B C D
1
A 1 2 1 A B
• Matrice des regrets :  
(ou pénalités)
B1  1 2
1
C2 1
1
1  2 2
 
D  1 2 1   C D
10

• Arc de regret maximal : (AC) de regret = 2  Il faudra utiliser (CB) ou (CD).


ou (BD)
881
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Voyageur de commerce


Arc de regret maximal

Coûts des arcs disponibles Matrice des regrets Arc de regret maximal
A B C D A B C D 1
A 1 1 2 A 1 2 1 A B
   
• Itération 1 : B1  2 1 B1  1 2 1 1
2 2
C1 2  10  C2 1  1
   
D  2 1 10   D  1  
C D
2 1 10

A B C D A B C D 1
A 1 1 2 A 2  1 A B
• Itération 2 :    
B1  2 1 B  1 2 1 1
2 2
C1 2  10  C   
   
D  2 1 10   D    
C D
10 1 10

A B C D 1
A 1 1 2 A B
• Itération 3 :    Arcs (BC) et (AD)
B1  2 1 1 1
Chemin (CADBC) 2 2
C1 2  10 
  Longueur = 6
D  2 1 10  
C D
10
882
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017

4.1.5 Voyageur de commerce


Insertion de coût minimal
A chaque itération on insère un nouveau nœud à la position minimisant le coût.
1
• Initialisation A B
On choisit un arc de coût minimal  (AB) = 1 1 1
2 2

C D
10

• Insertion d’un nouveau nœud sur (AB) A


1
B
Nœud C : meilleure insertion  (CAB) = 2
Nœud D : meilleure insertion  (ABD) = 2 1 2 2 1

On choisit le chemin (CAB) de longueur = 2. C D


10

1
• Insertion d’un nouveau nœud sur (CAB) A B

Nœud D : meilleure insertion  (CADBC) = 6 1 1


2 2
prise en compte du retour au nœud initial
On obtient le chemin (CADBC) de longueur = 6. C D
10

883
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
Techniques d’optimisation Mai 2017

Sommaire
1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes

4. Optimisation discrète
4.1 Problème combinatoire
4.2 Programmation linéaire
4.2.1 Formulation
4.2.2 Méthode de coupe
4.2.3 Méthode arborescente
4.2.4 Applications
4.2.5 Problème quadratique
4.3 Métaheuristiques

5. Optimisation fonctionnelle

884
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017

4.2.1 Formulation

 Variables binaires

 Variables entières

 Variables mixtes

 Linéarisation

 Réduction

 Méthodes de résolution

885
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017

4.2.1 Variables binaires


Problème linéaire en variables binaires
Ax  b
min z  c T x sous   problème noté (PLB)
x  U , U  0 ; 1
n
x

• La solution x* est cherchée dans l’ensemble Un des vecteurs de Rn à composantes 0 ou 1.


• Les contraintes xU sont les contraintes d’intégrité.

Problème relaxé (ou continu)


Le problème (PLR) est obtenu à partir de (PLB) en supprimant les contraintes d’intégrité.
Ax  b
min z  c T x sous   problème noté (PLR)
x  R , x  0
n
x
 problème linéaire sous forme standard

• La solution xr est cherchée dans l’ensemble des vecteurs de Rn à composantes positives.


 ensemble contenant Un

• Le coût zr du problème relaxé (PLR) est un minorant du coût z* du problème binaire (PLB),
car le problème (PLR) est moins contraint que le problème (PLB).
z r  c T x r  z*  c T x *
886
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017

4.2.1 Variables entières


Problème linéaire en variables entières
Ax  b
min z  c T x sous   problème noté (PLE)
x  N
n
x

• La solution x* est cherchée dans l’ensemble Nn des vecteurs de Rn à composantes entières.

Passage en variables binaires


On peut ramener le problème (PLE) à un problème en variables binaires (PLB) en 2 étapes.

• Bornes sur les variables



Le polytope P  x  R / Ax  b, x  0 est borné.
n

Chaque variable xi admet une borne supérieure mi solution de max x i sous  Ax  b

x x  0
• Changement de variables
Une variable entière x comprise entre 0 et m peut s’écrire en binaire

x  y p y p 1...y1 y 0  y p 2 p  y p 1 2 p 1  ...  y1 21  y 0 20 avec m  2 p 1


base 2

On remplace la variable entière x par p+1 variables binaires y0,…yp.

887
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017

4.2.1 Variables mixtes


Problème linéaire en variables mixtes
Un problème en variables mixtes comporte des variables réelles et des variables entières.
Ax  b

min z  c x sous x j  N , j  J E
T
 problème noté (PLM)
x j  0 , j  J C
x

• Les indices JE correspondent aux variables entières.


Les indices JC correspondent aux variables réelles positives.

• Le problème (PLM) est une extension du problème (PLE).


Les contraintes d’intégrité ne portent que sur une partie des variables.

Complexité
• Pour un problème linéaire continu, la solution est un sommet du polytope ( C m
n
bases)
 caractérisation simple de la solution
 existence d’algorithme polynomial (le simplexe est exponentiel dans le cas pire)

• Pour un problème linéaire entier ou mixte, la solution est un point intérieur au polytope.
 pas de caractérisation simple de la solution
 problème NP complet (pas d’algorithme polynomial)

888
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017

4.2.1 Linéarisation
Techniques de linéarisation
On peut reformuler de nombreux problèmes comme problèmes linéaires en variables mixtes.

Les techniques de base de linéarisation s’appliquent aux formulations suivantes.

• Produit de deux variables binaires


• Produit d’une variable binaire et d’une variable réelle bornée
• Approximation d’une variable réelle
• Fonction d’une variable discrète
• Variable nulle ou supérieure à un seuil
• Variables entières prenant des valeurs différentes
• Variable dans l’union d’intervalles
• Vérification de p contraintes parmi m
• Implication entre contraintes
• Maximum de plusieurs fonctions bornées
• Minimum de plusieurs fonctions bornées

Ces techniques permettent d’appliquer les méthodes de programmation linéaire


à un grand nombre de problèmes pratiques.

889
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017

4.2.1 Linéarisation
Produit de 2 variables binaires
• Formulation linéaire équivalente

f  s  2 variables binaires s, t
f  t
f  s.t avec s  U  s  t  f  1 1 variable réelle f
t  U f  0 4 contraintes linéaires

Preuve
On vérifie toutes les combinaisons possibles de s et t.
f 0

Cas s  0   f  t  0  f  0   f  0
t f 1 0  t  1 t  U libre
f 0

Cas t  0  id
f 1

Cas s  1   f  1  1 f 1  f 1
t  1 2 f 1
f 0

On obtient bien f=0 ou 1 suivant les valeurs de s et t.

890
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017

4.2.1 Linéarisation
Produit d’une variable binaire et d’une variable réelle bornée
• Formulation linéaire équivalente

f  s.x U  1 variable binaire s


s  U 
f  s.x avec x  R  f  x  (1  s).x L 2 variables réelles x, f
x L  x  x U f  x  (1  s).x U
f  s.x 4 contraintes linéaires
 L

Preuve
On vérifie toutes les valeurs possibles de s.
f 0
f  x  xL
Cas s  0    0  f  0   f  0
f
f  x  xU  x  xU  f  x  xL  xL  x  xU libre
 0

f  xU

Cas s  1   f x   x  f  x   f  x
f
f x  xL  f  xU  xL  x  xU libre
  xL
On obtient bien f=0 ou 1 suivant la valeur de s.

891
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017

4.2.1 Linéarisation
Approximation linéaire d’une variable réelle bornée
• On écrit la variable x , 0  x  xU , sous la forme

s i  U, i  1 à m  x 
m
 m variables binaires si , m  E log 2 U   1
x   2 s i  r avec , r  R
i 1
  
i 1 0  r   2 variables réelles , r

 > 0 est la précision demandée sur l’approximation discrète de x.


x
Les variables binaires si s’obtiennent à partir de l’écriture en binaire de E  .
m

• La variable y   2i 1 s i est une approximation linéaire discrète de x avec une précision .
i 1

Preuve
La variable y est linéaire en fonction des m variables binaires s i
et prend un nombre fini de valeurs (« approximation discrète »).
y m
 x  x
On a :   2 i 1 si  E   par définition des si  écriture binaire de E  
 i 1    
x y x  x x y
L’écart entre x et y vérifie :   E   0  1  0 x y 
    
892
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017

4.2.1 Linéarisation
Fonction d’une variable discrète
• On considère une variable réelle x prenant un nombre fini de valeurs.
x  X  x1 , x 2 ,..., x m   variable discrète

On peut représenter linéairement la variable réelle x par


 m

x   x is i  m variables binaires si , i=1 à m


m i 1
 1 variable réelle x
 s i  1 , s i  U  2 contraintes linéaires
 i 1
• Une fonction quelconque f de x ne prend également qu’un nombre fini de valeurs.
f(x)  f(x1 ), f(x 2 ),..., f(x m )

On peut représenter linéairement la fonction f par


 m

 y   f ( x i )s i  m variables binaires si , i=1 à m


 m i 1  1 variable réelle y
 s i  1 , s i  U  2 contraintes linéaires
 i 1

893
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017

4.2.1 Linéarisation
Variable nulle ou supérieure à un seuil
• Formulation linéaire équivalente
x  0 x  s.x L  1 variable binaire s
ou  x  s.x U 1 variable réelle x
0  x L  x  x U s  U 2 contraintes linéaires
Preuve : Cas s  0  x  0
Cas s  1  xL  x  xU
Variables entières prenant des valeurs différentes
• Formulation linéaire équivalente
x  y x  y  1  y U  1.s  1 variable binaire s
x , y  N   y  x  1  x U  1.(1  s) 2 variables réelles x, y
x  x U , y  y U x  x U , y  y U , s  U 4 contraintes linéaires

 x  y  1  x  y ( entiers )
Preuve : Cas s  0   y  x  xU  toujours vérifié
 x  xU , y  yU
 x  y  yU  toujours vérifié
Cas s  1   y  x  1  y  x ( entiers )
 x  xU , y  yU
894
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017

4.2.1 Linéarisation
Variable dans l’union d’intervalles
• On considère une variable réelle x appartenant à une réunion d’intervalles
x  a1 , b1   a 2 , b 2   ...  a m , b m  avec a1  b1  a 2  b 2  ...  a m  b m
• Formulation linéaire équivalente
x  a is i  a1 (1  s i )
x  b is i  b n (1  s i )  m variables binaires si , i=1 à m
m
m
x   a i , b i     1 variable réelle x

i 1
si  1  2m+1 contraintes linéaires
i 1
s i  U , i  1à m

Preuve
La contrainte de somme implique que tous les si valent 0 sauf un seul (sj) qui vaut 1.
x  a j
sj  1    a j  x  bj
 x  b j

x  a1
si  0 , i  j    a1  x  bn  toujours vérifié
 x  bn
On obtient bien x[aj,bj] pour un seul intervalle sélectionné par sj=1.

895
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017

4.2.1 Linéarisation
Vérification de p contraintes parmi m
• On considère m contraintes linéaires inégalités : g i (x)  0 pour i  1 à m
dont au moins p doivent être vérifiées.
Les fonctions gi sont définies et bornées sur X  Rn : g i (x)  g Ui , x  X  R n

• Formulation linéaire équivalente


g i (x)  s i .g Ui
m  m variables binaires si , i=1 à m
 s i  m  p  m+1 contraintes linéaires
 i 1
s i  U , i  1à m
Preuve
La contrainte de somme implique que au moins p variables si valent 0.

s j  0  g i (x)  0  pour au moins p contraintes

si  0  g i (x)  gUi  pour les mp contraintes restantes

896
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017

4.2.1 Linéarisation
Implication entre contraintes
• On considère 2 contraintes inégalités portant sur des fonctions de variables réelles.

f(x)  a avec f fonction définie et bornée sur X  Rn : fL  f(x)


g(y)  b avec g fonction définie et bornée sur Y  Rn : g(x)  gU

• Les contraintes doivent satisfaire : f(x) < a  g(y)  b

• Formulation linéaire équivalente


 1 variable binaire s
f(x)  a  (f L  a ).s
g(y)  b  (g U  b).(1  s)  2 contraintes linéaires
s  U

Preuve
s 0  f(x) a  La contrainte f(x) < a n’est vérifiée que si s= 1.

f ( x )  a  s  1  g(y)  b  La contrainte g(y)  b est alors vérifiée.

897
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017

4.2.1 Linéarisation
Maximum de fonctions bornées
• Formulation linéaire équivalente

f  g i (x)  s i (g U  g Li )  m variables binaires si


f ( x )  max g i (x) f  g i (x)
i 1,..., m
 1 variable réelle f
   m

n
avec  x R si  m  1 2m+1 contraintes linéaires
g Li  g i (x)  g U i 1
s i  U , i  1à m

Preuve
La contrainte de somme implique que tous les si valent 1 sauf un seul (sj) qui vaut 0.
 f  g j( x )
sj  0    f  g j( x )
 f  g j( x )
f  g i ( x )  ( gU  g Li )
si  1 , i  j    g i ( x )  f  g i ( x )  ( gU  g Li )  gU
 f  gi ( x )

On obtient bien f  gi(x), i=1 à m avec égalité f = gj(x) pour une seule des fonctions gi.

898
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017

4.2.1 Linéarisation
Minimum de fonctions bornées
• Formulation linéaire équivalente

f  g i (x)  s i (g Ui  g L )  m variables binaires si


f ( x )  min g i (x) f  g i (x)
i 1,..., m
 1 variable réelle f
   m

n
avec  x R si  m  1 2m+1 contraintes linéaires
g L  g i (x)  g Ui i 1
s i  U , i  1à m

Preuve
La contrainte de somme implique que tous les si valent 1 sauf un seul (sj) qui vaut 0.
 f  g j( x )
sj  0    f  g j( x )
 f  g j( x )
f  g i ( x )  ( gUi  g L )
si  1 , i  j    g L  g i ( x )  ( gUi  g L )  f  g i ( x )
 f  gi ( x )

On obtient bien f  gi(x), i=1 à m avec égalité f = gj(x) pour une seule des fonctions gi.

899
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017

4.2.1 Réduction
Techniques de réduction
Avant de chercher la solution du problème en variables mixtes on peut souvent :
- éliminer des contraintes ou détecter des infaisabilités
- fixer des variables binaires ou améliorer leurs bornes

Bornes sur les contraintes

• Contrainte linéaire g : g( x )  a T x avec x L  x  x U

On détermine la valeur minimale gL et la valeur maximale gU que peut prendre la fonction g.


xj est pris égal soit à xL soit à xU selon le signe du coefficient aj.

g L  min g( x )   a j x Uj   a j x Lj
 x L xx U
g( x )   a j x j   a j 0 a j 0
g  max g( x )   a j x Lj   a j x Uj
j  U x L xx U
 a j 0 a j 0

• Une contrainte linéaire égalité g(x) = aTx = b est faisable si gL  b  gU


• Une contrainte linéaire inégalité g(x) = aTx  b est faisable si gL  b
• Une contrainte linéaire inégalité g(x) = aTx  b est redondante si gU  b

900
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017

4.2.1 Réduction
Fixation de variables
On détermine les valeurs minimales et maximales que peuvent prendre les contraintes
lorsque l’on fixe une variable binaire soit à 0, soit à 1.
 permet de détecter des infaisabilités et de fixer des variables binaires

Bornes sur les variables

• Contrainte inégalité g : g( x )   a j x j  a i x i  b avec x L  x  x U


j i

On détermine le minimum gL de la somme sur les variables xj : g L  min


x L xx U
a x
j i
j j

• On peut en déduire des bornes sur la variable xi : a i x i  b   a jx j  b  g L


j i
b  gL
Si a i  0  x i   diminution de la borne supérieure xUi
ai
b  gL
Si a i  0  x i   augmentation de la borne inférieure xLi
ai
• On applique l’évaluation des bornes pour tous les couples variable – contrainte
 permet de réduire le domaine de recherche et de détecter des infaisabilités

901
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017

4.2.1 Méthodes de résolution


Problème relaxé
La solution du problème relaxé ne fournit aucune indication sur la solution entière.
• La solution arrondie peut être non admissible et/ou très éloignée de la solution entière.
• Le coût du problème relaxé peut être très inférieur au coût du problème entier.

Exemple 5

min z  10x1  11x 2 sous 10x1  12x 2  59 Contrainte


x x1 , x 2  N 4
E
x  5.9
• Solution continue C : x1  0  z  59 3
 2 Ligne de niveau

• Solution arrondie : x1  6  non admissible


x  0 2
 2
• Solution entière E : x1  1  z  54
x  4
1
 2 C
Méthodes de résolution 0
0 1 2 3 4 5 6
• Méthode de coupe (ou troncature)
On ajoute des contraintes au problème relaxé, pour rendre les variables entières.
• Méthode arborescente
On fixe progressivement les variables, en éliminant les combinaisons sous-optimales.
902
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Méthode de coupe

 Solution relaxée

 Coupe sur les variables

 Coupe sur le coût

 Coupe ajoutée

 Algorithme

 Convergence

 Coupes intégrales

 Coupes mixtes

903
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Solution relaxée


Problème linéaire en variables entières
Ax  b
min z  c T x sous   problème noté (PLE)
x  N
n
x

• Les contraintes xN sont les contraintes d’intégrité.

Problème relaxé (ou continu)


Le problème (PLR) est obtenu à partir de (PLE) en supprimant les contraintes d’intégrité.
Ax  b
min z  c T x sous   problème noté (PLR)
x  R , x  0
n
x

• La forme canonique de (PLR) dans la base optimale B est donnée par le tableau du simplexe.
xB xN
B1 N b  x B  B1 Nx N  b
 solution x B  b
I
T
cN  z  cN x N  z  z x N  0
T T
0

• On suppose que la solution xr de (PLR) comprend au moins une variable xi non entière
sinon xr est la solution de (PLE).

904
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Coupe sur les variables


Variables entières
On note : E(y) le plus grand entier inférieur ou égal à y  E(y)  y < E(y)+1
F(y) la partie fractionnaire de y  F(y) = y  E(y)

• Les contraintes s’écrivent sous forme canonique : x i   a ij x j  bi , i  B


jN

• Les variables x sont toutes positives. On en déduit l’inégalité : x i   E(a ij ) x j  bi


jN

• Les variables x doivent être entières.


Le premier membre est entier, donc inférieur à E( bi ) : x i   E(a ij ) x j  E( bi )
jN

• En remplaçant xi par son expression canonique, on obtient :  F(a ij ) x j  F( bi )


 inégalité valide, ou coupe, ou troncature jN

• L’inégalité n’est pas vérifiée si la variable xi n’est pas entière (variables hors-base nulles).
  F(a ij )  0
• L’inégalité supplémentaire est de la forme :   TN x N   avec  j
  F( bi )  0
 avec une variable d’écart positive y :   TN x N  y  
905
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Coupe sur le coût


Coût entier
On peut également introduire une coupe sur la valeur du coût s’il doit être entier.
On suppose que le coût de la solution relaxée n’est pas entier : E( z )  z

• Le coût s’écrit sous forme canonique : z   c jx j  z


jN

• Les variables x sont toutes positives. On en déduit l’inégalité : z   E c j x j  z  


jN

• Les variables x et le coût z doivent être entiers.


Le premier membre est entier, donc supérieur à E( z )  1 : z   Ec j x j  Ez   1 si z  N
jN

• En remplaçant z par son expression canonique, on obtient :  F(c )x j j  1  F( z )


 inégalité valide, ou coupe, ou troncature jN

• L’inégalité n’est pas vérifiée si le coût z n’est pas entier (variables hors-base nulles).
  F( c j )  0
• L’inégalité supplémentaire est de la forme :   TN x N   avec  j
  1  F( z )  0
 avec une variable d’écart positive y :   TN x N  y  
906
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Coupe ajoutée


Nouvelle variable entière
• On complète le problème relaxé avec l’inégalité non vérifiée.

 x
jN
j j       j x j  y  
jN
avec une variable d’écart y  0

• La nouvelle variable y est également entière.

Preuve
  F ( aij )  0
• Pour une coupe sur une variable de base xi :  j
  F ( bi )  0
  
 y   F ( bi )   F ( aij )x j   bi  E( bi )   aij  E( aij ) x j  avec xi   aij x j  bi
jN jN jN

 y   xi  E( bi )   E( aij )x j  somme de variables entières xj et xi


jN

• Pour une coupe sur le coût z :  j  F ( c j )  0


  1  F ( z )  0

 y  F ( z )  1   F ( c j )x j  z  E( z )  1   c j  E( c j )x j avec z   c j x j  z
jN jN jN

 y  z  E( z )  1   E( c j ) x j  somme de variables entières xj et z


jN
907
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Coupe ajoutée


Nouveau problème relaxé
• Le problème relaxé initial a été résolu par la méthode du simplexe.
x B  b  0 , x N  0
On a obtenu sa forme canonique dans la base optimale B : c  0
 N
xB xN
1
forme canonique I B N b
min z  c x sous Ax  b
T
x x  0 0 c NT  z

xB y xN
• On ajoute la variable y et la contrainte   TN x N  y   I 0 B1 N b
0 1   TN  
Le problème est sous forme canonique dans la base (xB, y).
0 0 c NT z

Base duale
• Les variables de base sont xB et y :  x  b 0
 y B    0  La base n’est pas primal admissible.

• Les coûts réduits sont positifs : cN  0  La base est dual admissible.

908
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Algorithme
Méthode de Gomory (1958)
• On résout le problème relaxé initial par la méthode du simplexe primal.

• Si la solution relaxée n’est pas entière, on génère une contrainte de coupe (ou troncature).
On résout le nouveau problème par la méthode du simplexe dual (base initiale dual admissible).

Problème Simplexe Solution Simplexe Nouveau


initial primal relaxée dual problème

Solution Variable Contrainte


entière non entière supplémentaire

Extensions
• On peut générer des coupes plus fortes  coupes intégrales, coupes mixtes.
• On peut utiliser le principe des contraintes supplémentaires dans une méthode arborescente.

909
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Exemple
Exemple
• Problème linéaire à 2 variables entières x1, x2
 3x1  2x 2  6
min z   x 2 sous  3x1  2x 2  0
x1 , x 2
x1 , x 2  N

• On introduit 2 variables d’écart x3, x4  variables entières


 3x1  2x 2  x 3  6
min z   x 2 sous  3x1  2x 2  x 4  0
x1 , x 2
x3 ,x 4 x1 , x 2  N , x 3 , x 4  N

• On écrit le tableau du simplexe pour le problème relaxé : variables réelles x1, x2, x3, x4  0
x1 x2 x3 x4
3 2 1 0 6 x3 Base initiale (x3, x4)
 primal admissible
-3 2 0 1 0 x4  non optimale
0 -1 0 0 0 -z

910
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Exemple
Problème initial
• On résout le problème relaxé initial par la méthode du simplexe primal.
x1 x2 x3 x4
3 2 1 0 6 x3  s23=3
-3 2 0 1 0 x4  s24=0
0 -1 0 0 0 z

x1 x2 x3 x4
6 0 1 -1 6 x3  s13=1
-3/2 1 0 1/2 0 x2
-3/2 0 0 1/2 0 z

x1 x2 x3 x4
1 0 1/6 -1/6 1 x1 Base optimale (x1, x2)
0 1 1/4 1/4 3/2 x2 x1 = 1 , x2 = 3/2 , z = 3/2
0 0 1/4 1/4 3/2 z  solution non entière

911
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Exemple
Première coupe
1 1 3 1 1 3
• On génère une coupe sur x2 : x 2  x 3  x 4   x 2  E  x 3  E  x 4  E   x 2  1
4 4 2 4 4 2
1 1 3 1 1 1
• En soustrayant l’égalité initiale :  x 3  x 4  1    x3  x4  x5  
4 4 2 4 4 2
• On ajoute la nouvelle variable x5 et la nouvelle contrainte au tableau du simplexe.
x1 x2 x3 x4 x5
1 0 1/6 -1/6 0 1 x1
Base initiale (x1, x2, x5)
 non primal admissible
0 1 1/4 1/4 0 3/2 x2  dual admissible
0 0 -1/4 -1/4 1 -1/2 x5  non optimale
0 0 1/4 1/4 0 3/2 z

• On peut réaliser les itérations du simplexe dual à partir de la base (x1, x2, x5).

Choisir la 1ère variable de base négative xe : be  0 , e  B  ligne e


 variable sortante
cNj
Déterminer la 1ère variable hors base xs à s’annuler : s  max  colonne s
jN a ej
a ej  0  variable entrante
912
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Exemple
Problème relaxé avec 1 coupe
• On résout le nouveau problème relaxé par la méthode du simplexe dual.
x1 x2 x3 x4 x5
1 0 1/6 -1/6 0 1 x1
0 1 1/4 1/4 0 3/2 x2
0 0 -1/4 -1/4 1 -1/2 x5  s=-1/2
0 0 1/4 1/4 0 3/2 z

x1 x2 x3 x4 x5
1 0 0 -1/3 2/3 2/3 x1 Base optimale (x1, x2, x3)
0 1 0 0 1 1 x2 x1 = 2/3 , x2 = 1 , x3 = 2 , z = 1
0 0 1 1 -4 2 x3
 solution non entière
0 0 0 0 1 1 z

913
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Exemple
Deuxième coupe
1 2 2  1 2 2
• On génère une coupe sur x1 : x 1  x 4  x 5   x 1  E   x 4  E  x 5  E 
3 3 3  3 3 3
 x1  x 4  0
2 2 2 2 2 2
• En soustrayant l’égalité initiale :  x 4  x 5  0    x4  x5  x6  
3 3 3 3 3 3
• On ajoute la nouvelle variable x5 et la nouvelle contrainte au tableau du simplexe.

x1 x2 x3 x4 x5 x6
1 0 0 -1/3 2/3 0 2/3 x1 Base initiale (x1, x2, x3, x6)
0 1 0 0 1 0 1 x2  non primal admissible
 dual admissible
0 0 1 1 -4 0 2 x3
 non optimale
0 0 0 -2/3 -2/3 1 -2/3 x6
0 0 0 0 1 1 1 z

• On peut réaliser les itérations du simplexe dual à partir de la base (x1, x2, x3, x6).

914
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Exemple
Problème relaxé avec 2 coupes
• On résout le nouveau problème relaxé par la méthode du simplexe dual.
x1 x2 x3 x4 x5 x6
1 0 0 -1/3 2/3 0 2/3 x1
0 1 0 0 1 0 1 x2
0 0 1 1 -4 0 2 x3
0 0 0 -2/3 -2/3 1 -2/3 x6  s=0
0 0 0 0 1 0 1 z

x1 x2 x3 x4 x5 x6
1 0 0 0 1 -1/2 1 x1 Base optimale (x1, x2, x3, x4)
0 1 0 0 1 0 1 x2 x1 = 1 , x2 = 1 , x3 = 1 , x4 = 1
0 0 1 0 -5 3/2 1 x3  solution entière de coût z = 1
0 0 0 1 1 -3/2 1 x4
0 0 0 0 1 0 1 z

915
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Exemple
Représentation graphique
 3x1  2x 2  6
• Problème initial : min z   x 2 sous  3x1  2x 2  0
x1 , x 2
x1 , x 2  N
3
• Variables d’écart :  x  6  3x  2x Contraintes
x 3  0  3x1  2x 2
 4 1 2
2,5

• x 2  1
Coupes : x  x  0  x  3x  2x   0 2
 1 4 1 1 2

  x2  1 S0

 x 1  x 2  0
1,5

S1 Coupe 1
1
• Solutions successives S2

0,5
Point x1 x2 z
S0 1 3/2 3/2
0
S1 2/3 1 1 0 0,5 1 1,5 2 2,5 3
S2 1 1 1

916
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Convergence
Convergence
• Le nombre de coupes nécessaires est fini si les coupes induisent une croissance strict du coût.
• On peut choisir la coupe de façon à maximiser le coût lors du premier pivotage dual.
xB y xN
• La coupe   N x N  y   est ajouté au tableau du simplexe.
T
I 0 B1 N b
0 1   TN 
La base (xB,y) est dual admissible.
0 0 c NT z
• Le 1er pivotage dual est entre y (base) :  < 0 cj
 max
et xj (hors base) : j < 0 jN  
 0j
j

cj cj
Le coût devient :  z   z     z    0 si c j  0
 j j
• Le coût croît strictement lors du 1er pivotage si la variable hors-base est de coût réduit non nul.
 vérifié pour une coupe sur le coût (passage à l’entier supérieur) car  j  F( c j )  0

Limitations
• Le nombre de coupes nécessaires peut être exponentiel.
• Des problèmes de précision numérique (lorsque F(x)  0) peuvent bloquer l’algorithme.

917
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Autres coupes


Problème linéaire en variables mixtes
Un problème en variables mixtes comporte des variables réelles et des variables entières.
Ax  b

min z  c x sous x j  N , j  J E
T
 problème noté (PLM)
x j  0 , j  J C
x

• Les contraintes d’intégrité ne portent que sur les variables d’indice JE.

• La solution du problème relaxé sous forme canonique est : x i   a ijx j  bi , i  B


jN

Variables purement entières (JC = )


• Si les coefficients A, b, c sont réels, la solution entière doit vérifier :  F(a ij )x j  F( bi )
 coupes simples jN

• Si les coefficients A, b, c sont entiers, on peut générer un ensemble d ’inégalités plus fortes.
 coupes intégrales

Variables mixtes (JC  )


• On peut générer des inégalités portant sur les variables devant être entières (JE).
 coupes mixtes

918
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Coupe intégrale


Problème linéaire en variables entières
Ax  b
min z  c T x sous   problème noté (PLE)
x  N
n
x

On suppose que les coefficients A, b, c sont entiers.


• La solution du problème relaxé est sous forme fractionnaire.
i  ij
x i  bi   a ij x j    x j , i  B avec  ij , i , D entiers , D  det(B)
jN D jN D
Coupe intégrale
• On note [y]D l’entier compris entre 0 et D1 congru à y modulo D.
[ y]D  y [D]  y  [ y]D  kD avec 0  [ y]D  D  1 , k  N

• La solution de (PLE) doit vérifier les inégalités (coupes intégrales de Gomory)

 [p
jN
] x j  [pi ]D , i  B
ij D pour tout entier p premier avec D

• L’inégalité n’est pas vérifiée si la variable xi n’est pas entière : bi  N  [i ]D  0


(car les variables hors-base xj sont nulles)

919
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Coupe intégrale


Inégalité valide
i  ij
x i  bi   a ij x j   xj   [p ] x j  [pi ]D , i  B
ij D
jN D jN D jN

pour tout entier p premier avec D

Preuve
Les variables doivent être entières : xi  N   i    ij x j  kD , k  N
jN

On multiplie par un entier p premier avec D : p i   p ij x j  pkD


jN

On prend chaque terme modulo D.


 p i  [ p i ] D
 p  [ p ]  [ p i ] D   [ p ij ] D x j  KD , K  N
 ij ij D jN

Les termes [ ] D sont compris entre 0 et D1, les variables xj sont positives.
[ p i ] D  D  1
[ p ] x  0  K  0  [ p i ] D   [ p ij ] D x j  inégalité valide
 ij D j jN

920
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Coupe mixte


Problème linéaire en variables mixtes
Ax  b
  problème noté (PLM)
min z  c x sous x j  N , j  J E
T

x j  0 , j  J C
x

Les variables d’indice JE doivent être entières.


• La solution du problème relaxé est sous forme canonique : x i   a ijx j  bi , i  B
jN

Coupe mixte
• On répartit les variables hors-base (d’indices jN) en 4 sous-ensembles

J E  j  N  J E , F(a ij )  F( bi ) 
 variables hors-base entières (d’indices jJE)

J E  j  N  J E , F(a ij )  F( bi ) 
J C  j  N  J , a ij  0  variables hors-base continues (d’indices jJC)
 j  N  J , a ij  0
C
J C C

• La solution doit vérifier les inégalités (coupes mixtes de Gomory)


F( bi )1  F(a ij )  F( bi )
 F(a ij )x j   1  F( bi )
x j   a ij x j  
 1  F( b )
x j  F( bi ) , i  B  J E
jJ E jJ E jJ C jJ C i

• L’inégalité n’est pas vérifiée si la variable xi n’est pas entière : bi  N  F( bi )  0


921
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Coupe mixte


Inégalité valide
F( bi )1  F(a ij )  F( bi )
x i  bi   a ij x j   F(a ij )x j   1  F( bi )
x j   a ij x j  
 1  F( b )
x j  F( bi )
jN jJ E jJ E jJ C jJ C i

Preuve
On suppose qu’il y a une seule variable hors-base par sous-ensemble JE-, JE+, JC-, JC+ .
La variable de base x0 qui doit être entière s’exprime sous forme canonique :
x ,x ,x  N
x0  a1 x1  a2 x2  y1  y2  b0 avec  0 1 2 et F ( a2 )  F ( b0 )  F ( a1 )
J E J E J C J C  y1 , y2  0
 x0  a1 x1  a2 x2  y2  b0 car y1  0
 x0  E( a1 )  F ( a1 )x1  E( a2 )  1  1  F ( a2 )x2  b0  y2

 x0  E( a1 )x1  E( a2 )  1x2  b0  y2  1  F ( a2 )x2 car F ( a1 )x1  0

Le premier membre est un entier noté z : z  x0  E( a1 )x1  E( a2 )  1x2  N

z vérifie l’inégalité : z  b0  y2  1  F ( a2 )x2


avec x2 , y2  0  y2  1  F ( a2 )x2  0
922
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Coupe mixte

Preuve (suite)
z est un entier vérifiant l’inégalité z  b0  y2  1  F ( a2 )x2

• Si z  E(b0), l’inégalité est bien vérifiée (1er membre négatif, 2nd membre positif)
• Si z  E(b0)+1, on réécrit l’inégalité sous la forme
z  E( b0 )  1  1  F ( b0 )  y2  1  F ( a2 )x2 avec 0  F ( b0 )  1  0  1  F ( b0 )  1
et x2 , y2  0  y2  1  F ( a2 )x2
Le second membre est positif. En divisant par 1 F(b0) > 0, on obtient l’inégalité
z  E( b0 )  1 y  1  F ( a2 )x2
1 2
1  F ( b0 ) 1  F ( b0 )
 z  E( b )  1 z  E( b0 )  1
Le premier terme peut être minoré : 1  F ( b 0 )  1   z  E( b0 )  1
 0 1  F ( b0 )
y  1  F ( a2 )x2 y  1  F ( a2 )x2
On en déduit : z  E( b0 )  2  z  E( b0 )  2
1  F ( b0 ) 1  F ( b0 )
Cette inégalité est vérifiée pour toutes les valeurs de z : z  E(b0)
ou z  E(b0)+1

923
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Coupe mixte

Preuve (suite)
y2  1  F ( a2 )x2
L’entier z vérifie : z  E( b0 ) 
1  F ( b0 )
En revenant aux variables initiales : z  x0  E( a1 )x1  E( a2 )  1x2
y2  1  F ( a2 )x2
on obtient : x0  E( a1 )x1  E( a2 )  1x2  E( b0 ) 
1  F ( b0 )
 F ( a2 )  F ( b0 )  1
 x0  E( a1 )x1   E( a2 )   x2  y2  E( b0 )
 1  F ( b0 )  1  F ( b0 )

En remplaçant la variable de base x0 en fonction des variables hors-base x1 ,x2 ,y1, y2


x0  b0  a1 x1  a2 x2  y1  y2
puis en sommant sur l’ensemble des variables hors-base (sous-ensembles JE-, JE+, JC-, JC+)
on obtient l’inégalité de coupe mixte que doit vérifier la solution.
 
F ( bi ) 1  F ( aij ) F ( bi )
 ij j  1  F ( b )
F ( a )x  x j   ij j  1  F ( b ) x j  F ( bi ) , i  B  J E
a x 
jJ E jJ E i jJ C jJ C i

924
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Exemple
Exemple
• Problème linéaire à 2 variables entières x1, x2
 6 x 1  4 x 2  1

min z   x1  x 2 sous  6x1  8x 2  9
2x  4x  13
x , x 1  N 2
x1 , x 2

 1 2
• On introduit 3 variables d’écart x3, x4, x5  variables entières
 6 x 1  4 x 2  x 3  1
 6 x 1  8x 2  x 4  9
min z   x1  x 2 sous 
2x  4x  x  13
x , x1  N, 2x , x5 , x  N
x1 , x 2
x3 ,x 4 ,x5
 1 2 3 4 5
• On écrit le tableau du simplexe pour le problème relaxé : variables réelles x1, x2, x3, x4, x5  0
x1 x2 x3 x4 x5
-6 4 1 0 0 1 x3 Base initiale (x3, x4, x5)
6 -8 0 1 0 9 x4  primal admissible
2 4 0 0 1 13 x5
 non optimale

-1 -1 0 0 0 0 -z

925
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Exemple
Problème initial
• On résout le problème relaxé initial par la méthode du simplexe primal.
x1 x2 x3 x4 x5 x1 x2 x3 x4 x5
-6 4 1 0 0 1 x3 -3/2 1 1/4 0 0 1/4 x2
6 -8 0 1 0 9 x4 -6 0 2 1 0 11 x4
2 4 0 0 1 13 x5 8 0 -1 0 1 12 x5
-1 -1 0 0 0 0 -z -5/2 0 1/4 0 0 1/4 -z

x1 x2 x3 x4 x5 x1 x2 x3 x4 x5
0 1 1/16 0 3/16 5/2 x2 0 1 0 -1/20 3/20 3/2 x2
0 0 5/4 1 3/4 20 x4 0 0 1 4/5 3/5 16 x3
1 0 -1/8 0 1/8 3/2 x1 1 0 0 1/10 1/5 7/2 x1
0 0 -1/16 0 5/16 4 -z 0 0 0 1/20 7/20 5 -z

• La base optimale du problème relaxé est (x1, x2, x3).


La solution n’est pas entière : x1 = 7/2 , x2 = 3/2

926
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Exemple
Solution relaxée 3
contraintes
2,5

Solution relaxée R :  x  3.5


• x1  1.5  z  5
 2 2
E

Solution entière E : 
x 2
• x1  2  z  4 1,5 R
 2
1

• Points admissibles : coordonnées entières


0,5

0
• Forme canonique des variables x1 et x2. 0 0,5 1 1,5 2 2,5 3 3,5 4

 1 1 7
 x 1  x 4  x 5  x 4  6x1  8x 2  9
 10 5 2  
1 3 3 x 5  2x1  4x 2  13
x 2  x 4  x 5 
 20 20 2
• Toutes les variables (base et hors-base) doivent être entières.
On peut générer des coupes simples, intégrales ou mixtes sur x1 et x2
927
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Exemple
Coupes simples 3

 1 1 7 x1=3
x 
 1 10 4 x  x 5  2,5
 5 2
1 3 3
x 2  x 4  x 5  2
 20 20 2 E

 F(a
jN
ij )x j  F( bi ) 1,5 R

• Coupe sur x1 1

1 1 1
x4  x5   x1  3 0,5
10 5 2
 x1  3
0
 z  4.75
 x 2  1.75 0 0,5 1 1,5 2 2,5 3 3,5 4

Coupes simples
• Coupe sur x2
19 3 1
x4  x5   6x1  7 x 2  10
20 20 2
 x1  3.45  z  4.98  efficacité très faible
 2
x  1.53
928
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Exemple
Coupes intégrales 3

 1 1 7
x 
 1 10 4 x  x 5  2,5
 5 2
1 3 3
x 2  x 4  x 5  2
 20 20 2 E

 [p
jN
] x j  [pi ]D
ij D p premier avec D 1,5 R

• Coupe sur x1 : x 4  2x 5  5 D  10 1

p  1  x 4  2 x 5  5  x1  3 0,5

 Identique coupe simple 0


0 0,5 1 1,5 2 2,5 3 3,5 4

Coupe sur x2 : x 4  17 x 5  10 D  20


Coupes intégrales

p  1  x 4  17 x 5  10  2x1  3x 2  11  x1  3.38  z  4.79


x 2  1.41
 efficacité faible
x  3.17
p  3  3x 4  11x 5  10  2x1  x 2  8  x1  1.67  z  4.83
 2
929
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017

4.2.2 Exemple
Coupes mixtes 3

 1 1 7
x 
 1 10 4 x  x 5  2,5

 5 2
1 3 3
x 2  x 4  x 5  2
 20 20 2 E
F( bi )1  F(a ij ) 
 ij j  1  F( b ) x j  F( bi )
1,5 R
F( a )x 
jJ E jJ E i

avec J E  4 , 5 , J C  
1

• Coupe sur x1 : Fa14 , Fa15   F b1   1


2
0,5

 J E  4 , 5 , J E   0
0 0,5 1 1,5 2 2,5 3 3,5 4
1 1 1
x4  x5   x1  3
10 5 2 Coupes mixtes
• Coupe sur x2 : Fa 25   F b2 
1
2
 
 Fa 24 
 J E  5 , J E  4
3 1 1 x1  2.5  z  4.5  efficacité meilleure
x5  x4   6x1  2x 2  19  x  2
20 20 2  2
930
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Méthode arborescente

 Enumération des combinaisons

 Séparation
- Partition en sous-ensembles
- Arborescence

 Evaluation
- Solution admissible
- Fonction d’évaluation
- Base duale

 Stratégie d’exploration
- Algorithme
- Choix de séparation
- Efficacité

931
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Enumération
Problème linéaire en variables binaires
Ax  b
min z  c T x sous   problème noté (PLB)
x x  U
n
U  0 ; 1
On note X l’ensemble des combinaisons possibles.
 
X  U n  x  R n , x j  0 ou 1  vecteurs de Rn à composantes 0 ou 1

Enumération explicite
• L’ensemble X est fini de cardinal : Card X = 2n
On peut chercher la solution de (PLB) par évaluation des 2n éléments de X.

• Temps de calcul en évaluant 109 combinaisons par seconde : n = 60  30 ans


 L’énumération explicite n’est pas envisageable en pratique.

Enumération implicite
• Séparation : on partitionne X en sous-ensembles successifs dans une arborescence.
• Evaluation : on élimine les sous-ensembles ne pouvant pas contenir la solution.
 Les solutions ne sont pas toutes explicitement évaluées.
 Méthode d’énumération implicite, ou arborescente, ou de séparation et évaluation
(branch and bound)
932
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Séparation
Sous-ensembles de combinaisons

• 
X  x  R n , x j  0 ou 1  ensemble des combinaisons possibles
parmi lesquelles se trouve la solution de PLB.

• On partitionne X en 2 sous-ensembles X0 et X1 en fixant x1 à 0 ou 1


X 0  x  X, x1  0
 21 sous-ensembles de cardinal 2n-1
X1  x  X, x1  1 = partition de X de premier niveau

• On partitionne X0 en 2 sous-ensembles X00 et X01 en fixant x2 à 0 ou 1


et X1 en 2 sous-ensembles X10 et X11 en fixant x2 à 0 ou 1
X 00  x  X, x1  0, x 2  0
 22 sous-ensembles de cardinal 2n-2
X 01  x  X, x1  0, x 2  1 = partition de X de deuxième niveau
X10  x  X, x1  1, x 2  0
X11  x  X, x1  1, x 2  1

• On continue jusqu’à xn  2n sous-ensembles contenant chacun 1 élément de X


= partition de X de niveau n
933
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Séparation
Arborescence
• Les sous-ensembles successifs forment les sommets (ou nœuds) d’une arborescence.
Les sommets de niveaux successifs sont reliés par des flèches indiquant l’inclusion.

Niveau 0 X
x1=0 x1=1

Niveau 1 X0 X1

X0  X X1  X

• L’arborescence est composée de n+1 niveaux.


Le niveau k contient 2k sommets. Le nombre total de sommets est 2n+1  1.

Vocabulaire
• Le sommet X de niveau 0 est la racine de l’arborescence.
• X est séparé en X0 et X1  X est le prédécesseur ou parent de X0 et X1.
 X0 et X1 sont les successeurs ou enfants de X.
• Les sommets de niveau n sont les sommets terminaux (contiennent 1 seul élément).

934
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Séparation
Arborescence
• Exemple à 3 variables binaires : x1, x2, x3  {0;1}
 8 combinaisons : X000, X001, X010, X011, X100, X101, X110, X111  sommets terminaux

Niveau 0 X
(racine) x1=0 x1=1

Niveau 1 X0 X1

x2=0 x2=1 x2=0 x2=1

Niveau 2 X00 X01 X10 X11

x3=0 x3=1 x3=0 x3=1 x3=0 x3=1 x3=0 x3=1

Niveau 3 X000 X001 X010 X011 X100 X101 X110 X111

Ensemble des combinaisons possibles


935
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Evaluation
Problème linéaire en variables binaires
Ax  b
min z  c T x sous   problème noté (PLB)
x  U , U  0 ; 1
n
x

La solution x* de (PLB) a pour coût z*.

Solution admissible
• Une solution admissible xa est une combinaison : xa  Un
vérifiant les contraintes : Axa = b
• Son coût za est un majorant de z* : z*  za

Evaluation d’un sommet


• Un sommet S de l’arborescence contient une partie des combinaisons possibles.
On cherche un minorant zm de la meilleure combinaison admissible contenue dans S.
 Fonction d’évaluation de S : f (S)  z m  z S *  min z
xS

• On compare ce minorant zm à une combinaison admissible connue de coût za.


Si zm > za , S ne contient pas la solution de (PLB) : z*  za < zm  zS*
 On peut éliminer l’ensemble des combinaisons contenues dans S.

936
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Evaluation
Fonction d’évaluation
• Un sommet S de niveau k de l’arborescence correspond à un sous-problème de la forme
Ax  b
  problème noté (PLB)s
min z  c x sous x  U n
T

x 1 , x 2 ,..., x k fixés


x

Les k premières variables sont fixées à 0 ou 1.

• On peut obtenir un minorant de la solution de (PLB)s en relaxant les contraintes d’intégrité.


Ax  b
min z  c x sous x  R n , x  0
T  problème noté (PLR)s
x1 , x 2 ,..., x k fixés
x

Le coût du problème relaxé (PLR)s est inférieur au coût du problème (PLB)s plus contraint.
 On utilise généralement la solution relaxée comme fonction d’évaluation.

• Le sommet S a été obtenu par séparation d’un sommet parent P.


Le problème relaxé (PLR)s diffère très peu du problème parent (PLR)p.
 On peut initialiser la résolution de (PLR)s à partir de la solution de (PLR)p.
 Procédure d’évaluation avec un « warm start »
937
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Evaluation
Problème parent
• Le problème relaxé (PLR)p du sommet P parent de S a été résolu par la méthode du simplexe.
x B  b  0 , x N  0
On a obtenu sa forme canonique dans la base optimale B : c  0
 N
xB xN
1
forme canonique I B N b
min z  c x sous Ax  b
T
x x  0 0 c NT  z

• Le sommet parent est séparé :


- soit en fixant une variable binaire xi  xi = 0 ou xi = 1
- soit en ajoutant une contrainte sur une variable entière xi  xi   ou xi  

• Le problème (PLR)s se déduit du problème parent (PLR)p avec une contrainte supplémentaire :
- égalité de la forme : xi =  avec  =0 ou 1 (cas d’une variable binaire)
- inégalité de la forme : xi   ou xi   avec  entier (cas d’une variable entière)

• On construit une base dual admissible de (PLR)s à partir de la base optimale de (PLR)p.
puis on résout le problème relaxé (PLR)s par la méthode du simplexe dual.

938
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Evaluation
Fixation de variable binaire
xB xN
1
On part de la forme canonique de la solution du problème parent. I B N b
On considère une contrainte égalité supplémentaire xe = . 0 c NT  z
• Si la variable à fixer xe est en base, on réalise un pivotage dual avec une variable hors-base xs.
c Nj
Choix de xs : s  max xB xe x N xs
jN a ej
a ej  0 I 0 B1 N a is b
a ej 0 1 a ej a es be
Coûts réduits : c j  c j  cs  positifs
a es 0 0 c NT cs z
a is
Variables de base : bi  bi  be  signe quelconque
a es

• La nouvelle base B  {xe} + {xs} est dual admissible : cN  0


La variable xe à fixer est passée hors-base.

 On se ramène au cas d’une base dual admissible avec une variable hors-base à fixer.

939
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Evaluation
Fixation de variable binaire
xB xN xe
• La variable hors-base xe doit être fixée à . 1
I B N a ie b
On effectue le changement de variable : xe = xe + . 0 c NT ce  z
• On écrit les contraintes et le coût sous forme canonique en fonction de la nouvelle variable xe.

Contraintes : x i   a ij x j  bi  x i   a ij x j  a ie x e  bi  x i   a ij x j  a ie x'e  bi  a ie 
jN jN jN
j e j e

Coût : z   c j x j  z  z   c j x j  ce x e  z  z   c j x j  ce x'e  z  ce 
jN jN jN
j e j e

x B x N x 'e
• La variable hors-base xe fixée à 0 est éliminée du problème.
I B1 N a ie b  a ie 
On supprime la colonne correspondante du tableau.
La base B dual admissible est conservée : cN  0 0 c NT ce  z  ce 

• Le problème (PLR)s est sous forme canonique dans la base B dual admissible.
 On peut résoudre le problème (PLR)s par la méthode du simplexe dual.

940
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Evaluation
Contrainte sur variable entière
xB xN
1
On part de la forme canonique de la solution du problème parent. I B N b
On suppose que la variable de base xe prend une valeur non entière. 0 cNT  z
x e   a ej x j  be avec be  N
jN

Le sommet est séparé en considérant les inégalités :  x 


x e    1 avec   E( be )
 e
• Inégalité xe    xe + y =   variable d’écart y  0
x e   a ej x j  be
 y   a ej x j  F( be )  contrainte y   N x N   avec   0
T
 jN
x e  y  E( be ) jN

• Inégalité xe   +1  xe  y =  +1  variable d’écart y  0


x e   a ej x j  be
 y   a ej x j  F( be )  1  contrainte y   N x N   avec   0
T
 jN
x e  y  E( be )  1 jN

941
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Evaluation
Contrainte sur variable entière
• On ajoute au tableau simplexe du problème parent :
- la variable d’écart y  0
  a ej   a ej
- la contrainte égalité y   N x N  
T
avec  j ou  j
  F( be )   F( be )  1
xB xN xB y xN
I B1 N b I 0 B1 N b
0 cNT z 0 1  TN 
0 0 c NT z
• Le problème est sous forme canonique dans la base (xB, y).
x B  b  0
y    0  La base n’est pas primal admissible

• Les coûts réduits sont ceux obtenus à la solution du problème parent (PLR)p .
cN  0  La base est dual admissible

• Le problème (PLR)s est sous forme canonique dans la base B dual admissible.
 On peut résoudre le problème (PLR)s par la méthode du simplexe dual.

942
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Exemple 1 : variables binaires
• Problème linéaire à 6 variables binaires x1, x2, x3, x4, x5, x6
min z  20x1  16x 2  11x 3  9x 4  7 x 5  x 6
x1 , x 2 , x 3
 z   c jx j
x 4 ,x5 ,x 6 j
9x  8x  6x  5x  4x 5  x 6  12
sous  x 1 0 ou21 , j  31 à 6 4
 a x j j b
 j j

• Le nombre de combinaisons est égal à 26 = 64.


• L’arborescence comporte 7 niveaux et 27  1 = 127 sommets.

Stratégie d’exploration
• Le problème est de type « sac à dos ».
Les variables sont triées suivant l’ordre d’utilité  rapports cj/aj croissants

• On construit une solution admissible initiale par une méthode gloutonne.

• On explore l’arborescence en largeur.


- Le sommet à séparer est celui ayant la meilleure évaluation (= la plus négative).
- La variable de séparation est celle ayant la meilleure utilité (= la plus négative).

943
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Solution admissible initiale
• On construit une solution admissible initiale par méthode gloutonne.
Les variables sont prises dans l’ordre des cj/aj croissants et fixées à 1 lorsque cela est possible.
x1  1 , x 2  x 3  x 4  x 5  0 , x 6  1  z a  21
• Le coût de la solution initiale (21) est un majorant du coût du problème binaire : z*  21

Sommet X de niveau 0
• On évalue le sommet X (racine de l’arborescence) en résolvant le problème relaxé.
min z  20x1  16x 2  11x 3  9x 4  7 x 5  x 6  3
x1 , x 2 , x 3   x 1  1 , x 2   z  26
x 4 ,x5 ,x 6 8
9x  8x  6x  5x 4  4x 5  x 6  12 x 3  x 4  x 5  x 6  0
sous  x 1 0 , 2j  1 à 63
 j
• L’évaluation relaxée de X (26) est un minorant du coût du problème binaire : 26  z*

Séparation de niveau 1
• On sépare X en fixant la variable x1 : x1 = 0  sommet X0
x1 = 1  sommet X1

944
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Sommet X0 de niveau 1
• On évalue le sommet X0 (x1 = 0) en résolvant le problème relaxé.
min z  16x 2  11x 3  9x 4  7 x 5  x 6  2
x 2 ,x3 ,x 4   x 2  1 , x 3   z  
70
 23.3
x5 ,x 6 3
8x  6x  5x  4x  x 6  12 x 4  x 5  x 6  0 3
sous  x 2 0 , j3  2 à4 6 5
 j  solution non admissible (x3U)
• L’évaluation de X0 (23.3) est inférieure à la meilleure solution admissible (21).
X0 peut contenir une solution meilleure  séparation en X00 et X01

Sommet X1 de niveau 1
• On évalue le sommet X1 (x1 = 1) en résolvant le problème relaxé.
min z  16x 2  11x 3  9x 4  7 x 5  x 6  20  3
x 2 
x 2 ,x3 ,x 4   8  z  26
x 3  x 4  x 5  x 6  0
x5 ,x 6
 8x 2  6 x 3  5x 4  4 x 5  x 6  3
sous  x  0 , j  2 à 6
 j  solution non admissible (x2U)
• L’évaluation de X0 (26) est inférieure à la meilleure solution admissible (21).
X1 peut contenir une solution meilleure  séparation en X10 et X11

945
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Arborescence au niveau 1
• Problème linéaire à 6 variables binaires x1, x2, x3, x4, x5, x6
9x  8x  6x  5x  4x 5  x 6  12
min z  20x1  16x 2  11x 3  9x 4  7 x 5  x 6 sous  x 1 0 ou21 , j  31 à 6 4
x1 , x 2 , x 3
x ,x ,x
4 5 6
 j
• Meilleure solution admissible : x1 = 1 , x2 = x3 = x4 = x5 = 0 , x6 = 1  za = 21

• Sommets évalués : X , X0 , X1

Niveau 0 X (-26)
x1=0 x1=1

Niveau 1 X0 (-23.3) X1 (-26)

• Il reste 2 sommets à séparer : X0 , X1


On choisit le sommet ayant la meilleure évaluation  sommet X1
On sépare X1 suivant la variable x2  X10 et X11

946
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Sommet X10 de niveau 2
• On évalue le sommet X10 (x1 = 1, x2 = 0) en résolvant le problème relaxé.

min z  11x 3  9x 4  7 x 5  x 6  20  1
  x 3   z  
51
 25.5
x3 ,x 4 ,x5 ,x 6 2
 6 x 3  5x 4  4 x 5  x 6  3 x 4  x 5  x 6  0 2
sous  x 0 , j3 à 6
 j  solution non admissible (x3U)
• L’évaluation de X10 (25.5) est inférieure à la meilleure solution admissible (21).
X10 peut contenir une solution meilleure  séparation en X100 et X101

Sommet X11 de niveau 2


• On évalue le sommet X11 (x1 = 1, x2 = 1) en résolvant le problème relaxé.
min z  11x 3  9x 4  7 x 5  x 6  36
x3 ,x 4 ,x5 ,x 6
 6x 3  5x 4  4x 5  x 6  5  la contrainte ne peut pas être satisfaite
sous  x 0 , j3 à 6
 j

• Le sommet X11 ne contient aucune solution admissible.


On attribue une évaluation + et on ne poursuit pas la séparation de X11.

947
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Arborescence au niveau 2
• Meilleure solution admissible : x1 = 1 , x2 = x3 = x4 = x5 = 0 , x6 = 1  za = 21

• Sommets évalués : X , X0 , X1 , X10 , X11

Niveau 0 X (-26)
x1=0 x1=1

Niveau 1 X0 (-23.3) X1 (-26)

x2=0 x1=1

Niveau 2 X10 (-25.5) X11 (+)

• Il reste 2 sommets à séparer : X0 , X10


On choisit le sommet ayant la meilleure évaluation  sommet X10
On sépare X10 suivant la variable x3  X100 et X101

948
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Sommet X100 de niveau 3
• On évalue le sommet X100 (x1 = 1, x2 = 0, x3 = 0) en résolvant le problème relaxé.
min z  9x 4  7 x 5  x 6  20  3
x 4 ,x5 ,x 6   x 4   z  
127
 25.4
 5x 4  4 x 5  x 6  3 5
sous  x 0 , j 4 à 6 x 5  x 6  0 5
 j
 solution non admissible (x4U)
• L’évaluation de X100 (25.4) est inférieure à la meilleure solution admissible (21).
X100 peut contenir une solution meilleure  séparation en X1000 et X1001

Sommet X101 de niveau 3


• On évalue le sommet X11 (x1 = 1, x2 = 0, x3 = 1) en résolvant le problème relaxé.
min z  9x 4  7 x 5  x 6  31
x 4 ,x5 ,x 6
 5x 4  4x 5  x 6  3  la contrainte ne peut pas être satisfaite
sous  x 0 , j 4 à 6
 j

• Le sommet X101 ne contient aucune solution admissible.


On attribue une évaluation + et on ne poursuit pas la séparation de X101.

949
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Ordre d’examen des sommets
Sommet séparé Sommet évalué Solution Evaluation Meilleure solution Branche supprimée Sommets restants
X non entière 26 21
X0 non entière 23.3 21
X X1 non entière 26 21 X0,X1
X10 non entière 25,5 21
X1 X11 non admissible + 21 X11 X0,X10
X100 non entière 25,4 21
X10 X101 non admissible + 21 X101 X0,X100
X1000 non entière 25,2 21
X100 X1001 non admissible + 21 X1001 X0,X1000
X10000 non entière 23 21
X1000 X10001 non admissible + 21 X10001 X0,X10000
X00 non entière 21.7 21
X0 X01 non entière 23.3 21 X00,X01,X10000
X010 non entière 23.2 21
X01 X011 non admissible + 21 X011 X00,X010,X10000
X0100 entière 23 23 X0100,X00
X010 X0101 non admissible + 23 X0101 X10000
X100000 entière 20 23 X100000 Solution
X10000 X100001 entière 21 23 X100001 X0100

Nombre de sommets évalués : 19 sur 127 Solution : x2 = x5 = 1 , x1 = x3 = x4 = x6 = 0,  z* = 23


950
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Arborescence au niveau 6

Niveau 0 x1=0
X (-26)
x1=1

Niveau 1 X0 (-23.3) X1 (-26)


x2=0 x2=1 x2=0 x2=1

Niveau 2 X00 (-27.1) X01 (23.3) X10 (-25.5) X11 (+)


x3=0 x3=1 x3=0 x3=1

Niveau 3 X010 (-23.2) X011 (+) X100 (-25.4) X101 (+)


x4=0 x4=1 x4=0 x4=1

Niveau 4 X0100 (-23) X0101 (+) X1000 (-25.2) X1001 (+)


x5=0 x5=1

Niveau 5 X10000 (-23) X11 (+)


x6=0 x6=1

Niveau 6 X100000 (-20) X100001 (-21)

Nombre de sommets évalués : 19 sur 127


Solution : x2 = x5 = 1 , x1 = x3 = x4 = x6 = 0,  z* = 23
951
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Exemple 2 : variables entières
• Problème linéaire à 2 variables entières x1, x2
7 x1  2x 2  14
min z  4x1  x 2 sous  x2  3  Le coût z est aussi entier.
x1 , x 2 N
2x1  2x 2  3

• Forme standard : 3 variables d’écart x3, x4, x5  0


7 x1  2x 2  x 3  14
min z  4x1  x 2 sous  x2  x4  3
x1 , x 2 N
x 3 , x 4 , x 5 0 2x1  2x 2  x 5  3

• Tableau du simplexe
x1 x2 x3 x4 x5
7 -2 1 0 0 14 x3
Base initiale (x3 , x4 , x5)
0 1 0 1 0 3 x4  primal admissible
2 -2 0 0 1 3 x5  non optimale
-4 1 0 0 0 0 z

952
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Sommet X de niveau 0
• On résout le problème relaxé initial par la méthode du simplexe primal.
x1 x2 x3 x4 x5 x1 x2 x3 x4 x5
7 -2 1 0 0 14 x3 0 5 1 0 -7/2 7/2 x3
0 1 0 1 0 3 x4 0 1 0 1 0 3 x4
2 -2 0 0 1 3 x5 1 -1 0 0 1/2 3/2 x1
-4 1 0 0 0 0 z 0 -3 0 0 2 6 z

x1 x2 x3 x4 x5 x1 x2 x3 x4 x5
0 1 1/5 0 -7/10 7/10 x2 0 1 0 1 0 3 x2
0 0 -1/5 1 7/10 23/10 x4 0 0 -2/7 10/7 1 23/7 x5
1 0 1/5 0 -1/5 11/5 x1 1 0 1/7 2/7 0 20/7 x1
0 0 3/5 0 -1/10 81/10 z 0 0 4/7 1/7 0 59/7 z

953
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Sommet X de niveau 0
20 59
• Le problème relaxé du sommet racine a pour solution : x1  , x2  3  z  
7 7
59
• L’évaluation de X (59/7) donne un minorant du coût : z*  N    z*  8
7
20
• La solution n’est pas entière : x1 
7
Séparation de niveau 1
• On sépare X par une contrainte sur la variable x1 : x1  2  sommet X0
x1  3  sommet X1
1 2 20
• La solution du problème relaxé est sous forme canonique : x1  x 3  x 4 
(expression de x1 en fonction des variables hors-base x3, x4) 7 7 7
La contrainte inégalité sur x1 est mise sous forme canonique avec une variable d’écart x6  0.
1 2 6
• Contrainte x1  2  x 1 + x6 = 2  x6  x3  x4  
7 7 7
1 2 1
• Contrainte x1  3  x1  x6 = 3  x6  x3  x4  
7 7 7

954
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Sommet X0 de niveau 1
• On ajoute au tableau simplexe la variable x6
1 2 6
et la contrainte x1  2 sous la forme  x 3  x 4  x 6  
7 7 7
x1 x2 x3 x4 x5
0 1 0 1 0 3 x2
0 0 -2/7 10/7 1 23/7 x5 Base optimale de X (x1, x2, x5)
1 0 1/7 2/7 0 20/7 x1
0 0 4/7 1/7 0 59/7 z

x1 x2 x3 x4 x5 x6
0 1 0 1 0 0 3 x2
0 0 -2/7 10/7 1 0 23/7 x5
Base initiale de X0 (x1, x2, x5, x6)
 non primal admissible
1 0 1/7 2/7 0 0 20/7 x1  dual admissible
0 0 -1/7 -2/7 0 1 -6/7 x6 (« warm start »)
0 0 4/7 1/7 0 0 59/7 z

955
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Sommet X0 de niveau 1
• On résout le problème relaxé X0 par la méthode du simplexe dual.
x1 x2 x3 x4 x5 x6 x1 x2 x3 x4 x5 x6
0 1 0 1 0 0 3 x2 0 1 -1/2 0 0 7/2 0 x2
0 0 -2/7 10/7 1 0 23/7 x5 0 0 -1 0 1 5 -1 x5
1 0 1/7 2/7 0 0 20/7 x1 1 0 0 0 0 1 2 x1
0 0 -1/7 -2/7 0 1 -6/7 x6 0 0 1/2 1 0 -7/2 3 x4
0 0 4/7 1/7 0 0 59/7 z 0 0 1/2 0 0 1/2 8 z

x1 x2 x3 x4 x5 x6
0 1 0 0 -1/2 1 1/2 x2 1
Solution non entière : x 2 
0 0 1 0 -1 -5 1 x3 2
15
1 0 0 0 0 1 2 x1 Evaluation de X0 : z
2
0 0 0 1 1/2 -1 5/2 x4 15
Minorant du coût : z*  N    z*  7
0 0 0 0 1/2 3 15/2 z 2
956
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Sommet X1 de niveau 1
• On ajoute au tableau simplexe la variable x6
1 2 1
et la contrainte x1  3 sous la forme x3  x4  x6  
7 7 7
x1 x2 x3 x4 x5
0 1 0 1 0 3 x2
0 0 -2/7 10/7 1 23/7 x5 Base optimale de X (x1, x2, x5)
1 0 1/7 2/7 0 20/7 x1
0 0 4/7 1/7 0 59/7 z

x1 x2 x3 x4 x5 x6
0 1 0 1 0 0 3 x2
0 0 -2/7 10/7 1 0 23/7 x5
Base initiale de X1 (x1, x2, x5, x6)
 non primal admissible
1 0 1/7 2/7 0 0 20/7 x1  dual admissible
0 0 1/7 2/7 0 1 -1/7 x6 (« warm start »)
0 0 4/7 1/7 0 0 59/7 z

957
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Sommet X1 de niveau 1
• On résout le problème relaxé X1 par la méthode du simplexe dual.
x1 x2 x3 x4 x5 x6
0 1 0 1 0 0 3 x2

0 0 -2/7 10/7 1 0 23/7 x5

1 0 1/7 2/7 0 0 20/7 x1  Pas de pivotage possible


x6
(aucun coefficient aej < 0)
0 0 1/7 2/7 0 1 -1/7
0 0 4/7 1/7 0 0 59/7 z

1 2 1
• Le sommet X1 n’a pas de solution admissible : x 3  x 4  x 6   car x3, x4, x6  0
7 7 7
• On supprime la branche à partir de X1.
L’exploration est poursuivie à partir de X0. Niveau 0 X (-8)
x12 x13
• Le meilleur minorant du coût est 7.
On ne connaît pas encore de solution admissible. Niveau 1 X0 (-7) X1 ()

958
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Séparation du sommet X0 (niveau 2)
On part de la solution du problème relaxé en X0.
x1 x2 x3 x4 x5 x6
0 1 0 0 -1/2 1 1/2 x2 1
 solution non entière : x2 
0 0 1 0 -1 -5 1 x3 2
1 0 0 0 0 1 2 x1
0 0 0 1 1/2 -1 5/2 x4
0 0 0 0 1/2 3 15/2 z

• On sépare X0 par une contrainte sur la variable x2 : x2  0  sommet X00


x2  1  sommet X01
1 1
• La variable x2 s’exprime sous forme canonique : x2  x5  x6 
2 2
La contrainte inégalité sur x2 est mise sous forme canonique avec une variable d’écart x7  0
1 1
• Contrainte x2  0  x 2 + x7 = 0  x7  x5  x6  
2 2
1 1
• Contrainte x2  1  x2  x7 = 1  x7  x5  x6  
2 2 959
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Sommet X00 de niveau 2
• On ajoute au tableau simplexe la variable x7
1 1
et la contrainte x2  0 sous la forme x5  x6  x7  
x1 x2 x3 x4 x5 x6 2 2
0 1 0 0 -1/2 1 1/2 x2
0 0 1 0 -1 -5 1 x3
Base optimale de X0 (x1,x2,x3,x4)
1 0 0 0 0 1 2 x1
0 0 0 1 1/2 -1 5/2 x4
0 0 0 0 1/2 3 15/2 z

x1 x2 x3 x4 x5 x6 x7
0 1 0 0 -1/2 1 0 1/2 x2
Base initiale de X00 (x1,x2,x3,x4,x7)
0 0 1 0 -1 -5 0 1 x3
 non primal admissible
1 0 0 0 0 1 0 2 x1  dual admissible
0 0 0 1 1/2 -1 0 5/2 x4 (« warm start »)
0 0 0 0 1/2 -1 1 -1/2 x7
0 0 0 0 1/2 3 0 15/2 z
960
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Sommet X00 de niveau 2
• On résout le problème relaxé X00 par la méthode du simplexe dual.
x1 x2 x3 x4 x5 x6 x7
0 1 0 0 -1/2 1 0 1/2 x2
0 0 1 0 -1 -5 0 1 x3
1 0 0 0 0 1 0 2 x1
0 0 0 1 1/2 -1 0 5/2 x4
0 0 0 0 1/2 -1 1 -1/2 x7
0 0 0 0 1/2 3 0 15/2 z

x1 x2 x3 x4 x5 x6 x7
0 1 0 0 0 0 1 0 x2
3
0 0 1 0 -7/2 0 -5 7/2 x3 Solution non entière : x1 
1 0 0 0 1/2 0 1 3/2 x1 2
0 0 0 1 0 0 -1 3 x4 Evaluation de X00 : z  6
0 0 0 0 -1/2 1 -1 1/2 x6
Minorant du coût : z*  6
0 0 0 0 2 0 3 6 z
961
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Sommet X01 de niveau 2
• On ajoute au tableau simplexe la variable x7
1 1
et la contrainte x2  1 sous la forme  x 5  x 6  x 7  
x1 x2 x3 x4 x5 x6 2 2
0 1 0 0 -1/2 1 1/2 x2
0 0 1 0 -1 -5 1 x3
Base optimale de X0 (x1,x2,x3,x4)
1 0 0 0 0 1 2 x1
0 0 0 1 1/2 -1 5/2 x4
0 0 0 0 1/2 3 15/2 z

x1 x2 x3 x4 x5 x6 x7
0 1 0 0 -1/2 1 0 1/2 x2
Base initiale de X01 (x1,x2,x3,x4,x7)
0 0 1 0 -1 -5 0 1 x3
 non primal admissible
1 0 0 0 0 1 0 2 x1  dual admissible
0 0 0 1 1/2 -1 0 5/2 x4 (« warm start »)
0 0 0 0 -1/2 1 1 -1/2 x7
0 0 0 0 1/2 3 0 15/2 z
962
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Sommet X01 de niveau 2
• On résout le problème relaxé X01 par la méthode du simplexe dual.
x1 x2 x3 x4 x5 x6 x7
0 1 0 0 -1/2 1 0 1/2 x2
0 0 1 0 -1 -5 0 1 x3
1 0 0 0 0 1 0 2 x1
0 0 0 1 1/2 -1 0 5/2 x4
0 0 0 0 -1/2 1 1 -1/2 x7
0 0 0 0 1/2 3 0 15/2 z

x1 x2 x3 x4 x5 x6 x7
0 1 0 0 0 0 -1 1 x2 Solution entière : x1 = 2 , x2 = 1
0 0 1 0 0 -7 -2 2 x3  Meilleure solution contenue dans X01
1 0 0 0 0 1 0 2 x1  On ne sépare plus X01
0 0 0 1 0 0 1 2 x4
Solution admissible de coût : za = 7
0 0 0 0 1 -2 -2 1 x5  Majorant du coût : z*  7
0 0 0 0 0 4 1 7 z
963
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Exemple
Arborescence de niveau 2
Bilan des sommets déjà évalués

Sommet Solution Coût Niveau 0 X (-8)


X non entière 8  z* x12 x13
X0 non entière 7  z*
Niveau 1 X0 (-7) X1 ()
X1 non admissible
x20 x21
X00 non entière 6  z*
X01 Entière  za = 7 z*  7 Niveau 2 X00 (-6) X01 (-7)

• Le sommet X01 donne une solution entière (= admissible) de coût égal à 7.
 La solution du problème a donc un coût inférieur ou égal 7.

• Le sommet X00 donne une solution non entière, avec une évaluation de 6 > 7
 On ne peut pas trouver de solution de coût inférieur 6 en poursuivant la séparation de X00.
 Il ne reste plus de sommet à séparer.

• Solution du problème : x1 = 2 , x2 = 1  z* = 7
964
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Stratégie
Algorithme de Branch and Bound
On note : L ={Xi} la liste des sommets actifs  sommets à séparer
za le coût de la meilleure solution admissible connue  solution entière
Chaque sommet de L est stocké avec sa solution relaxée et son évaluation.

• Initialisation : L = {X} sommet racine, za = +

• Choisir un sommet Xi de L
Choisir une variable non entière xj de Xi

• Séparer le sommet Xi suivant la variable xj  2 sommets Xi0 et Xi1


Supprimer le sommet Xi de la liste L

• Evaluer le sommet Xi0  z0


Si la solution est admissible, mettre à jour za = min(za , z0)  abandonner Xi0
Sinon
Si z0 > za il n’est pas nécessaire de séparer Xi0  abandonner Xi0
Sinon ajouter le sommet Xi0 à la liste L

• Evaluer de même le sommet Xi1


965
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Stratégie
Algorithme de Branch and Bound

Liste L des sommets actifs


Meilleure solution
za X1 X2 Xi Xm

Solution de Xi x1, x2,…, xjN,…, xn

Séparation de Xi Xi0 Xi1

Solution entière Solution non entière Solution non entière


za  min (z0,za)
Coût z0 Coût z0  za Coût z0 > za

Meilleure solution Liste L des sommets actifs


za X1 X2 Xi0 Xm

966
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Stratégie
Exploration de l’arborescence
• L’objectif est de trouver la solution le plus rapidement possible.
 Minimiser le nombre de sommets évalués
 Minimiser le temps d’évaluation de chaque sommet

• L’efficacité de la méthode dépend : - des choix de séparation (branch)


- de la fonction d’évaluation (bound)
- du stockage mémoire

Choix de séparation
• Choix du sommet à séparer  exploration en profondeur ou en largeur.
• Choix de la variable de séparation  critères heuristiques

Stockage mémoire
• La liste des sommets actifs est stockée dans une liste chaînée  limitation place mémoire
• On peut résoudre en un temps raisonnable des problèmes linéaires discrets avec
- quelques dizaines de variables entières
- quelques centaines de variables binaires
Pour un problème continu, on peut aller jusqu’à 100 000 variables réelles.

967
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Choix du sommet


Exploration en profondeur (depth search)
• On sépare le sommet de niveau le plus bas.
= sommet le plus susceptible de donner une solution admissible
L’objectif est une descente rapide dans l’arborescence pour trouver une solution admissible.

• La méthode est économique en mémoire, mais peut nécessiter d’évaluer beaucoup de sommets.
La liste de sommets ne contient qu’une seule branche de l’arborescence dans une pile.
 au plus n sommets stockés pour un problème à n variables binaires.

Arborescence à 5 niveaux X0 Evolution de la liste

X1 X0 X0 X0 X0 X0 X0 X0 X0 … …

X1 X1 X1 X1 X1 X1 X1 … …
X2 X7
X2 X2 X2 X2 X2 X7

X3 X4 X4 X4
X3 X4
X5 X6
Solution admissible X5 X6

968
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Choix du sommet


Exploration en largeur (breadth search)
• On sépare le sommet d’évaluation la plus basse.
= sommet le plus susceptible de donner une bonne solution.
L’objectif est une élimination rapide des sommets de niveau élevé dans l’arborescence.

• La méthode est généralement plus efficace que la recherche en profondeur


(moins de sommets évalués), mais nécessite de stocker beaucoup plus de sommets dans la liste.
 peut conduire à des problèmes de place mémoire

Liste des sommets actifs classés par évaluation décroissante


za  z1  ….… zi  zi+1  …...  zk
Xa Solution admissible za : zi  za  zi+1
X1 … Xi Xi+1 … Xk

z1 … zi zi+1 … zk Evaluation zb : zj  zb  zj+1


Xb

za  z1+1  …... zj  zb  zj+1  ...…  zk-1


X1 … Xi Xi+1 … Xj Xb Xj+1 … Xk-1

z1 … zi zi+1 … zj zb zj+1 … zk-1

969
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Choix de la variable


Critère de choix
Le choix de la variable non entière pour séparer le sommet est arbitraire.
Plusieurs heuristiques sont possibles et peuvent avoir des efficacités très différentes.
 Le critère de choix est à tester et à adapter au cas par cas

Exemples
• Choix basé sur la fonction coût
On choisit la variable ayant le plus fort coefficient dans la fonction coût.
 On espère améliorer la solution admissible.

• Choix basé sur les contraintes


On choisit la variable présente dans le plus grand nombre de contraintes.
 On espère faire apparaître des infaisabilités pour éliminer le sommet.

• Choix basé sur une évaluation approchée


On essaie de retrouver une solution duale admissible.
On choisit la variable donnant la plus grande valeur à la fonction duale.
 On espère obtenir un minorant permettant d’éliminer le sommet.

970
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Efficacité
Place mémoire
La place mémoire requise peut être importante suivant la taille du problème
Il faut limiter la quantité d’information stockée pour chaque sommet.

Stockage de la liste
Les sommets actifs sont stockés dans une liste chaînée.
• La liste est mise à jour par allocation / désallocation dynamique des sommets.
• Les liens entre sommets successifs sont définis par des pointeurs.
• Pour une exploration en profondeur avec n variables binaires  n sommets au maximum.
• La meilleure solution admissible est stockée à part.

Stockage d’un sommet


Chaque sommet est représenté par une structure de données comprenant au minimum
• Un booléen indiquant si la variable est déjà fixée
• Un booléen donnant la valeur de la variable (si fixée)
• Un booléen indiquant si la variable est dans la base optimale 3n booléens
 permet de reconstruire une base duale admissible 1 réel
• La valeur de la fonction d’évaluation 1 pointeur
• Le pointeur vers le sommet suivant dans la liste

971
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Efficacité
Temps de calcul
L’efficacité en temps de calcul de la méthode arborescente dépend de
- la rapidité d’évaluation d’un sommet
- la qualité du minorant obtenu

Rapidité d’évaluation
• Réductions préliminaires du problème relaxé
 Détection d’infaisabilité, fixation de variables
• Initialisation à partir de la solution du nœud parent (« warm start »)
 Construction directe d’une base dual admissible
• Disponibilité d’une solution admissible initiale (utilisateur ou méthode gloutonne)
 Elimination rapide de sommets dans l’arborescence
• Arrêt anticipé sur fonction duale supérieure au coût de la meilleure solution connue
 La fonction coût croît à chaque itération du simplexe dual.

Qualité du minorant
• Résolution partielle ou complète du problème dual
• Génération de variables supplémentaires (pour séparation)
• Génération de contraintes supplémentaires (pour réduction)  méthode de Branch and Cut

972
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Améliorations
Variable supplémentaire
L’addition de variable peut rendre la séparation des sommets plus sélective.
La variable supplémentaire est définie à partir des variables du problème.

Exemple 2 n 2n
max z   3x i sous  2x i  2n  1  Problème à 2n variables binaires
x i U
i 1 i 1

• Solution entière : n variables à 1  z* = 3n


n variables à 0  C n2 n solutions entières équivalentes

• Solution relaxée : n variables à 1  z = 3n+1.5


n1 variables à 0
1 variable à 0.5

La solution relaxée garde un coût z = 3n+1.5 tant que moins de n variables sont fixées à 0
 L’évaluation ne permet pas d’éliminer les sommets avant le niveau n de l’arborescence.
 Il est nécessaire de faire apparaître les C n2 n solutions équivalentes pour garantir l’optimalité.

• On peut rendre la séparation plus sélective avec une variable entière supplémentaire y.

973
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Améliorations
Exemple 2n
On ajoute au problème la variable y   x i
i 1
 2n
2n  2x i  2n  1
max z   3x i sous  i2n1  Problème à 2n variables binaires
 x i  y
x i U , yN
i 1
 i 1 et 1 variable entière

• On résout le problème relaxé à la racine : n variables à 1  z = 3n+1.5


n1 variables à 0
1 variable à 0.5  y = n+0.5 non entière
On sépare la racine sur la variable y qui doit être entière.

• La condition y  n donne une solution entière : n variables à 1  z = 3n


 On ne poursuit pas la séparation. n variables à 0  y=n

• La condition y  n+1 donne une infaisabilité : au plus n variables à 1 (1ère contrainte)


 On ne poursuit pas la séparation. au moins n+1 variables à 1 (2ème contrainte)

• La solution entière a été obtenue en explorant 3 sommets au lieu de C n2 n .

974
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017

4.2.3 Améliorations
Contraintes supplémentaires
L’addition de contrainte peut renforcer l’évaluation des sommets.
La contrainte supplémentaire réduit le domaine admissible du problème relaxé.
On peut ainsi obtenir une solution relaxée plus proche de la solution entière.
 méthodes de Branch and Cut

Les contraintes supplémentaires peuvent être générées par


- des coupes intégrales ou mixtes
- des combinaisons linéaires des contraintes du problèmes
- des relations de congruence : x  y  z  [ x ]p  [ y ]p  [ z ]p

Exemple
5x 1  2 x 2  6 x 3  x 4  4 x 5  7  contrainte sur x1, x2, x3, x4, x5 entiers

En prenant chaque membre modulo p, on peut générer des inégalités valides.


p  2  x1  x 4  1  x1, x4 non nuls simultanément
p  4  x1  2 x 2  2 x 3  x 4  3
Les contraintes supplémentaires peuvent permettre de fixer des variables
ou faire apparaître des infaisabilités.
975
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Applications

 Voyageur de commerce

 Affectation

 Coloration

 Flot

 Sac à dos

976
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Voyageur de commerce


Enoncé du problème
Le voyageur de commerce doit visiter n villes en parcourant la distance la plus faible possible.
Chaque ville doit être visitée une fois et une seule.
Le voyageur de commerce doit revenir à sa ville de départ.
 problème du voyageur de commerce noté (PVC)

Notations
• Les n villes sont notées S1,…,Sn.
La distance entre la ville Si et la ville Sj est notée dij, i =1 à n , j = 1 à n

• La matrice des distances de ville à ville est le distancier : D = (dij)i,j=1 à n


L’ensemble des villes (S) et des distances (D) forme un graphe G=(S,D).
(S = nœuds) (D = valuations)

• La matrice D peut être symétrique  PVC symétrique (graphe G non orienté)


ou asymétrique  PVC asymétrique (graphe G orienté)

• Le PVC est un problème de circuit hamiltonien de coût minimal dans le graphe G.

977
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Voyageur de commerce


Illustration
5 villes à visiter
 0 d12 d13 d14 d15 
S1 S2  
 d 21 0 d 23 d 24 d 25 
 Distancier D   d 31 d 32 0 d 34 d 35 
S3  
 d 41 d 42 d 43 0 d 45 
S4 S5 d 0 
 51 d 52 d 53 d 54

S1 S2 S1 S2 S1 S2

S3 S3 S3

S4 S5 S4 S5 S4 S5

Chemin non admissible Chemin non optimal Chemin optimal


(sous circuits) d = d31+ d14+ d45+ d52+ d23 d = d31+ d12+ d25+ d54+ d43

978
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Voyageur de commerce


Formulation
• Variables
La variable binaire sij vaut 1 si le trajet de Si à Sj est sélectionné  n(n1) variables
0 sinon avec sii=0 fixés
• Coût n n
Le coût du chemin est : z   s ijd ij  arêtes sélectionnées
i 1 j1

• Contraintes n
Il y a un seul départ de chaque ville Si : s
j1
ij 1 , i 1 à n  n contraintes

n
Il y a une seule arrivée à chaque ville Sj : s
i 1
ij 1 , j 1 à n  n contraintes

• Il faut ajouter des contraintes pour interdire les sous-circuits. S1 S2

Méthodes possibles : - contrainte explicite sur les sous-circuits S3


- contrainte d’ordre de visite S4 S5

979
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Voyageur de commerce


Contrainte explicite
On peut éliminer un sous-circuit par une contrainte explicite.

• Pour interdire le sous-circuit passant par les p nœuds Sk1,Sk2,…,Skp, on ajoute la contrainte
s k1k 2  s k 2 k 3  ...  s k p1k p  s k p k1  p  1

Le nombre de contraintes est exponentiel ( 2n) = nombre des sous-circuits possibles

• Méthode itérative
n
n n  s ij  1 , i  1 à n
On résout le problème initial : min z   s ijd ij sous  jn1
 s ij  1 , j  1 à n
s ij
i 1 j1
 i 1
Si la solution comporte un sous-circuit, on ajoute la contrainte correspondante
et on résout le nouveau problème.
On poursuit jusqu’à ce que la solution ne comporte plus de sous-circuit.

• Le nombre d’itérations (= nombre de PVB à résoudre) peut être exponentiel dans le cas pire.
 convergence non garantie en un temps raisonnable + encombrement mémoire

980
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Voyageur de commerce


Contrainte d’ordre
On peut éliminer les sous-circuits par des contraintes d’ordre de visite.
S1 S2
• On associe à chaque nœud Sk une variable réelle tk entre 1 et n.
La variable tk représente la « date de passage » au nœud Sk. S3
On attribue la date t1=1 un nœud de départ S1 (choix arbitraire). S4 S5

• On ajoute les n(n 1) contraintes : t i  t j  ns ij  n  1 , i  1 à n , j  2 à n

Si le trajet de Si à Sj est sélectionné : s ij  1  t i  t j  1


 passage en Si avant passage en Sj

Si le trajet de Si à Sj n’est pas sélectionné : s ij  0  t i  t j  n  1


 toujours vérifié (dates entre 1 et n)

• Les dates sont croissantes (= numéros des nœuds de 1 à n) le long du trajet,


sauf pour le retour en S1 (pas de contrainte pour j = 1).

• S’il y a des sous-circuits, au moins l’un d’eux ne comporte pas S1


et il ne vérifie pas les contraintes de dates croissantes.
981
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Voyageur de commerce


Exemple
Visiter les 532 plus grandes villes des USA.

982
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Voyageur de commerce


Exemple
Visiter les 532 plus grandes villes des USA.

983
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Voyageur de commerce


Exemple
Visiter les 532 plus grandes villes des USA.

984
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Voyageur de commerce


Extensions
La programmation linéaire permet de résoudre exactement des PVC jusqu’à n=10000 villes.
On peut modifier la formulation pour traiter des problèmes de
- tournée de véhicules
- plus court chemin

• La fonction coût peut représenter la consommation ou le temps de trajet.


n n
 min z   s ijcij avec cij = coût du trajet de Si à Sj
s ij
i 1 j1

• On peut ajouter des contraintes sur le trajet


- ordre de visite : certains nœuds doivent être visités dans un ordre donné
- contrainte temporelle : le trajet doit être réalisé dans une durée limitée
n n
  s T
i 1 j1
ij ij  Tm avec Tij = durée du trajet de Si à Sj
Tm = durée maximale

• On peut ajouter des contraintes pour une séparation plus efficace (méthode arborescente).
n n
  s
i 1 j1
ij n nombre d’arêtes sélectionnées
985
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Affectation
Enoncé du problème
Il faut affecter m ressources à p taches (p  m) en minimisant le coût total.
 problème d’affectation noté (PA)

Formulation
• Le coût d’affectation de la ressource i à la tache j est noté cij , i =1 à m , j = 1 à p

• La variable binaire sij vaut 1 si la ressource i est affectée à la tache j  mp variables
0 sinon
m p
• Le coût total à minimiser est : z   s ijcij
i 1 j1

• Contraintes m
La tache j est effectuée une seule fois : s
i 1
ij 1 , j 1 à p  p contraintes

p
La ressource i est affectée une fois au plus : s
j1
ij 1 , i 1 à m  m contraintes

986
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Affectation
Résolution m
m p  s ij  1 , j  1 à p
Le problème (PA) s’écrit : min z   s ijcij sous  i p1
 s ij  1 , i  1 à m
s ij
i 1 j1
 j1
Les contraintes sont de la forme : Ax = b

• Le vecteur x est composé des mp variables binaires (sij)i=1 à m , j=1 à p


et de m variables d’écart (yi )i=1 à m également binaires

• Le vecteur b comporte (m+p) composantes toutes égales à 1.

• La matrice A est composée de 0 et de 1 sur m+p lignes (contraintes)


et mp + m colonnes (variables)

On peut montrer que la matrice A du problème d’affectation est unimodulaire.

La solution du problème relaxé min z  c T x sous  Ax  b est alors entière.



x x  0

987
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Affectation
Matrice unimodulaire
• Définition
Une matrice est unimodulaire si toute sous matrice carrée a un déterminant égal à 1, 0 ou 1.

• Condition suffisante
Une matrice dont les éléments sont 1, 0 ou 1
et dont chaque colonne contient au plus 2 éléments non nuls est unimodulaire.

• Propriété
Si B est une matrice carrée unimodulaire et b est entier, la solution de Bx=b est entière.

Problème linéaire
On considère le problème relaxé : minn z  c T x sous  Ax  b avec b entier.

xR x  0
Si A est unimodulaire, alors toute sous-matrice de base B est aussi unimodulaire
et la solution de base xB qui vérifie BxB = b est entière.

La résolution du problème relaxé est alors entière.


On obtient directement la solution du problème en variables binaires : xUn.

988
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Affectation
Extensions
Le problème d’affectation le plus simple associe une ressource à une tache.
Il n’y a pas de partage des ressources, ni de dépendance entre les taches.
On peut modifier la formulation pour traiter des problèmes plus complexes.

• Problème de localisation
 On cherche à minimiser le coût de la tache la plus coûteuse (au lieu du coût total).
 Les taches sont partagées entre plusieurs ressources selon les capacités (recouvrement).

Applications : Implantation de sites


Livraison de clients

• Problème d’ordonnancement
 Les taches ont une durée et doivent être réalisées dans un certain ordre.
 Les ressources ne peuvent effectuer qu’une tache à la fois (compatibilité).
 Les affectations doivent tenir compte au mieux de préférences (non strictes).

Applications : Planification de production, emploi du temps


Réseaux, télécommunications

989
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Affectation
Problème de localisation (avec coût maximal)
On cherche à minimiser le coût de la tache la plus coûteuse (au lieu du coût total).
m
• Le coût de la tache j vaut : z j   s ijcij , j  1 à p
i 1
m
• Le coût de la tache la plus coûteuse est : z  max z j  max  s ijcij  non linéaire
j1 à p j1 à p
i 1

Formulation linéaire
Pour obtenir une formulation linéaire, on introduit :
- la variable réelle z
- les contraintes zj  z , j = 1 à p  z est supérieur au coût de la tache la plus coûteuse
m
 s ij  1 , j 1 à p  réalisation tache j
pi 1

Le problème s’écrit : min z sous  s ij  1 , i 1 à m  affectation ressource i
 jm1
z ,s ij

 s c  z , j 1 à p
 ij ij  coût tache j
i 1
Le problème est en variables mixtes (z réel, sij binaires).

990
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Affectation
Problème de localisation (avec capacités)
Les taches sont partagées entre plusieurs ressources selon leurs capacités.

• La variable sij est la capacité de la ressource i affectée à la tache j  variable entière ou réelle
m p
• Le coût total à minimiser est : z   s ijc ij
m i 1 j1

• La tache j requiert une capacité tj : s


i 1
ij  tj , j 1 à p
p
• La ressource i a une capacité ri : s
j1
ij  ri , i  1 à m

Formulation linéaire
m
 s ij  t j , j  1 à p  réalisation tache j
Le problème s’écrit : min z sous  i p1
 s ij  ri , i  1 à m  affectation ressource i
s ij

 j1

0  s ij  ri
Le problème est en variables sij entières ou réelles : 
0  s ij  t j
991
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Affectation
Problème d’ordonnancement
Les taches nécessitent une certaine durée et ne doivent pas se chevaucher.

• La tache j débute à la date tj et requiert une durée dj  p variables réelles tj

• La variable ujk vaut 1 si la tache j est réalisée avant la tache k  pp variables binaires
0 sinon

• Les variables tj et ujk doivent vérifier les contraintes d’ordre :  u jk  u kj  1


u ( t  d )  t , j, k  1 à p
 jk j j k

On doit linéariser les produits ujktj (variable binaire  variable réelle).

• On peut prendre en compte des contraintes plus complexes :


- taches indépendantes ou non, avec durée minimale de séparation
- contraintes temporelles similaires sur les ressources

• Exemples d’applications : atterrissage d’avions


transport avec correspondances
télécommunications
emploi du temps
992
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Coloration
Enoncé du problème
Un graphe G=(V,E) est défini par : - un ensemble de nœuds V=(vi) i = 1 à n
- un ensemble d’arêtes E=(ejk) j,k = 1 à n
La variable binaire ejk vaut 1 si les nœuds vj et vk (jk) sont reliés par une arête, 0 sinon.

On cherche s’il est possible de colorer les nœuds avec m couleurs.


Les nœuds adjacents (reliés par une arête) doivent être de couleurs différentes.
 problème de m-coloration du graphe G

Formulation
• La variable binaire sij vaut 1 si la couleur i est attribué au noeud j  mn variables
0 sinon

• Contraintes m
Le nœud j reçoit une seule couleur : s
i 1
ij 1 , j 1 à n

Les nœuds j et k ont des couleurs différentes : s ij  s ik  1 , i  1 à m , j, k  1 à n


s’ils sont adjacents si e jk  1 , j  k
 arête [vjvk]  E

993
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Coloration
Problème de m-coloration
• Le problème de m-coloration du graphe G consiste à chercher une solution admissible.

m
 s ij  1 , j  1 à n
Trouver (sjk)  Umn vérifiant 
i 1

s ij  s ik  1 , i  1 à m , j, k  1 à n
 si e jk  1 , j  k  arête [vjvk]  E

• Le nombre chromatique mc du graphe G est le nombre minimal de couleurs pour colorer G.
On peut trouver un minorant de mc en résolvant un problème préliminaire de clique.

Clique
• Une clique C du graphe G est un sous-graphe complet
= sous-graphe dont tous les nœuds sont reliés par des arêtes.

• Si G admet une clique C à p nœuds, alors il faut au moins p couleurs pour colorer G.

• Pour trouver un minorant de mc, on peut chercher la clique de plus grande taille G
 clique de cardinal maximal
994
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Coloration
Illustration
Un graphe planaire est un graphe que l’on peut tracer dans le plan sans croisement d’arêtes.

Coloriage de carte Clique maximale


(4 couleurs) (cardinal 4)

Problèmes voisins
• Clique  Tous les nœuds sont reliés entre eux
• Ensemble stable  Aucun nœud n’est relié (problème « inverse » de la clique)
• Planification  Contraintes d’incompatibilité

995
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Coloration
Clique de cardinal maximal
Si on connaît une clique C de cardinal p, alors il faut au moins p couleurs pour colorer G.
On attribue des couleurs différentes aux nœuds de la clique.
 réduction du problème de m-coloration

• Variables
La variable binaire si vaut 1 si le nœud i appartient à la clique C  n variables
0 sinon

• Contraintes
Si les nœuds j et k sont non adjacents, s j  s k  1 , j, k  1 à n
ils ne peuvent pas appartenir simultanément à C. si e jk  0 , j  k
 arête [vjvk]  E

• Coût n
Le nombre de nœuds de la clique C à maximiser est : z   si
i 1

s  s  1 , j, k  1 à n
• Problème de la clique de cardinal maximal : max z sous  j k
si
 si e jk  0 , j  k
996
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Coloration
Ensemble stable de cardinal maximal
Les nœuds de l’ensemble stable S ne doivent pas être reliés.
Les contraintes portent sur les nœuds adjacents (au lieu de non adjacents).
 formulation quasiment identique au problème de la clique.

• Variables
La variable binaire si vaut 1 si le nœud i appartient à l’ensemble S  n variables
0 sinon

• Contraintes
Si les nœuds j et k sont adjacents, s j  s k  1 , j, k  1 à n
ils ne peuvent pas appartenir simultanément à S. si e jk  1 , j  k
 arête [vjvk]  E

• Coût n
Le nombre de nœuds de l’ensemble S à maximiser est : z   s i
i 1

s  s  1 , j, k  1 à n
• Problème de l’ensemble stable de cardinal maximal : max z sous  j k
si
 si e jk  1 , j  k
997
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Flot
Réseau
Un réseau est représenté par un graphe G=(V,E,F,C,s,t).
• V est l’ensemble des nœuds  n nœuds (vi) i=1 à n
• E est l’ensemble des arcs  m arcs (ek) k=1 à m
• F donne les capacités des arcs  fij = capacité de l’arc [vivj]
• C donne les coûts des arcs  cij = coût de l’arc [vivj]
• Le nœud s est la source (point d’entrée).
• Le nœud t est le puits (point de sortie).

Matrice d’incidence
On représente l’ensemble des arcs par une matrice à n lignes et m colonnes.
• Les lignes correspondent aux nœuds.  matrice d’incidence noeudsarcs
• Les colonnes correspondent aux arcs.

Si l’arc k va du nœud i au nœud j, les valeurs en colonne k sont : a ik  1 (départ)


a  1 (arrivée)
Les autres valeurs de la colonne k sont nulles.  jk

La matrice d’incidence est unimodulaire : - éléments égaux à 1, 0 ou 1


- 2 éléments non nuls au plus par colonne

998
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Flot
Exemple 9
3
v2 v4
3 2 5
Réseau à 6 nœuds et 9 arcs.
• Source : s = v1 v1 v6
• Puits : t = v6 1 5
2
v3 3
v5

1 2 1 3 2 4 2 5 26 3 4 3 5 46 5 6

Vecteur des coûts C C  3 1 3 5 9 2 3 5 2


• 9 colonnes  arcs
arcs
1 2 13 2 4 2 5 26 3 4 3 5 46 56 noeuds
 1 1 0 0 0 0 0 0 0 v1
 
 1 0 1 1 1 0 0 0 0 v2
 0 1 0 0 0 1 1 0 0 v3
Matrice d’incidence A A 
 0 0 1 0 0 1 0 1 0  v4
• 6 lignes  noeuds 
• 9 colonnes  arcs  0 0 0 1 0 0 1 0  1 v5
 1 
 0 0 0 0 1 0 0 1 v6

999
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Flot
Problème de flot
On doit faire passer un flot φ de la source s au puits t en minimisant le coût.

• Variables
La variable φ représente la quantité totale de produit à transporter.
La variable xij est le flot passant par l’arc [vivj]  1 variable par arc [vivj]  E

• Contraintes
Le flot sur chaque arc ne doit pas dépasser la capacité de l’arc : xij  fij

Le flot arrivant au nœud i  s,t est égal au flot partant :  x


v j  vi E
ji   x
vi  v j E
ij
(loi de conservation de Kirchhoff)

Le flot partant de la source s vaut φ :  x


vs  v j E
sj 

• Coût
Le coût du flot xij passant sur l’arc [vivj] vaut : cij xij

Le coût total à minimiser est : z  c x


vi  v j E
ij ij

1000
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Flot
Flot de coût minimal   x sj  
vs  v j E

Le problème s’écrit : min z   c x ij
vi  v j E
ij sous   x ji   x ij
v j  vi E vi  v j E
x ij

 
x ij  f ij pour v i  v j  E
    source s
 
 0   noeud v1
Formulation linéaire : min z  C T x sous Ax  b avec b    
x x  F  
 0   noeud v n
    puits t
 

• x est le vecteur des flots passant par chaque arc.


• A est la matrice d’incidence noeudsarcs.
Les contraintes Ax = b expriment : - la conservation du flot en chaque nœud
- la valeur du flot partant de s (φ) et arrivant en t (+φ)
• C est le vecteur des coûts des arcs de E.
• F est le vecteur des capacités des arcs de E.

1001
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Flot
Extensions
On peut modifier la formulation pour traiter des problèmes similaires.

• Problème du chemin de coût minimal


Le flot φ est fixé à 1.  min z  C T x sous Ax  b
On supprime les contraintes de capacité x  F x

La matrice A des contraintes est unimodulaire  La solution x est entière.

• Problème du flot maximal


Le flot φ est une variable, à maximiser.  max z   sous Ax  b
Les coûts C des arcs sont inutilisés. x , x  F

• Problème à sources et puits multiples


Le flot partant de la source si est φi.
 On définit une super-source σ reliée à chaque source si par un arc de capacité φi.
Le flot φ partant de la super-source σ est la somme des flots φi.
Le flot arrivant au puits tj est φj.
 On définit un super-puits τ relié à chaque puits tj par un arc de capacité φj.
Le flot φ arrivant au super-puits τ est la somme des flots φj.

1002
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Sac à dos


Enoncé du problème
On dispose d’un ensemble d’objets avec leurs volumes et leurs prix.
Il faut choisir les objets à emporter dans un sac à dos de volume donné en maximisant le prix.

Notations
• Le nombre d’objets est n.
• L’objet numéro i a pour prix ci et pour volume ai.
• Le volume du sac à dos est b.

Formulation
• Variables
La variable binaire xi vaut 1 si l’objet i est sélectionné  n variables
0 sinon

• Contraintes n
Les objets choisis doivent entrer dans le sac à dos : a x
i 1
i i b  aTx  b

• Coût n
Il faut maximiser le prix total des objets choisis : z   ci x i  cT x
i 1
1003
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Sac à dos


Sac à dos monodimensionnel

Le problème s’écrit : max z  c x sous  x  nb
Ta T

x x  U
ci
• L’utilité ui de l’objet i est le rapport prix / volume : ui 
ai
On peut construire une bonne solution initiale en prenant les objets par utilité décroissante.
Méthode gloutonne  solution admissible pour méthode arborescente.

• Exemple : max z  14x1  13x 2  15x 3  10x 4  4x 5  13x 6  10x 7  10x 8


x
sous 7 x1  7 x 2  10x 3  7 x 4  3x 5  10x 6  8x 7  9x 8  30

 8 objets classés par utilité décroissante

Solution gloutonne : x = (1 , 1 , 1 , 0 , 1 , 0 , 0 , 0)  prix = 46 , volume = 27  30

Solution exacte : x = (1 , 1 , 0 , 1 , 0 , 0 , 1 , 0)  prix = 47 , volume = 29  30

1004
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Sac à dos


Sac à dos multidimensionnel
On étend la formulation au cas de m sacs à dos dans lesquels les n objets sont à repartir.
On cherche la répartition maximisant le coût et compatible des volumes des sacs à dos.

Formulation
• Variables
La variable binaire xij vaut 1 si l’objet i est placé dans le sac à dos j  nm variables
0 sinon

• Contraintes n

Le volume du sac à dos numéro j est bj : a x


i 1
i ij  bj , j 1 à m

m
L’objet numéro i est dans un sac à dos au plus : x
j1
ij 1 , i 1 à n

• Coût n  m 
Il faut maximiser le prix total des objets choisis : z   ci   x ij 
 
i 1  j1 

1005
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017

4.2.4 Sac à dos


Sac à dos multidimensionnel
m
• On ajoute les variables si : s i   x ij , i  1 à n
j1

La variable si vaut 1 si l’objet i est sélectionné  n variables binaires


0 sinon
n
 a i x ij  b j , j  1 à m
n  im1
• Le problème s’écrit : max z   cis i sous  x ij  s i , i  1 à n
 j1
x ,s
i 1

x  U nm , s  U n

Extensions
On peut modifier la formulation pour traiter des problèmes similaires.
• Problèmes de placement  sauvegarde de fichiers sur disques
• Problèmes de chargement  remplissage de véhicules
• Problèmes de découpe  minimisation des chutes

1006
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017

4.2.5 Problème quadratique

 Formulation

 Problème relaxé

 Problème convexe

 Séparation et évaluation

 Convexification

 Affectation quadratique

1007
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017

4.2.5 Problème quadratique


Problème quadratique en variables binaires
1 T Ax  b
min z  x Qx  c T x sous   problème noté (PQB)
x  U , U  0 ; 1
n
x 2
• La solution x* est cherchée dans l’ensemble Un des vecteurs de Rn à composantes 0 ou 1.
• Les contraintes xU sont les contraintes d’intégrité.

Problème relaxé (ou continu)


Le problème (PQR) est obtenu à partir de (PQB) en supprimant les contraintes d’intégrité.
1 T Ax  b
min z  x Qx  c T x sous   problème noté (PQR)
x  R , x  0
n
x 2  problème sous forme standard

• La solution xr est cherchée dans l’ensemble des vecteurs de Rn à composantes positives.


 ensemble contenant Un

• Le coût zr du problème relaxé (PQR) est un minorant du coût z* du problème binaire (PQB),
car le problème (PQR) est moins contraint que le problème (PQB).
1 1
z r  (x r ) T Q(x r )  c T x r  z*  (x * ) T Q(x * )  c T x *
2 2
1008
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017

4.2.5 Problème quadratique


Exemple

x1  x 2  5
x  2 7
 1
min z  2x12  4x 22 sous x 2  1 6
2x  x  10.5
x

 1 2
5
x1 , x 2 entiers
4
• Solution relaxée
10 5 100 3 z = 100/3
x1  , x2   zr 
3 3 3 z = 20
2
z = 10
• Solution entière 1

x1  3 , x 2  2  z b  34 0
0 1 2 3 4 5 6 7

1009
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017

4.2.5 Problème convexe


Conditions d’optimalité
On considère un problème de minimisation (PO) pour une fonction coût f(x).
Ax  b
min f ( x ) sous   problème noté (PO)
x  R , x  0
x n

 x L( x, , )  f ( x )  A T   
• Lagrangien : L( x, , )  f ( x )   (b  Ax)   x
T T
 2
 xx L( x, , )   2 f ( x )
f ( x )  A T     0

Ax  b → conditions KKT (ordre 1)
• Conditions suffisantes d’optimalité : 
x ,   0
 2 f ( x )  0 → condition de minimum (ordre 2)

Une solution (x*,*,*) vérifiant les conditions suffisantes est un minimum local.

• Si la fonction coût f est convexe, la solution KKT est le minimum global.


1 T
→ application au problème quadratique (PQR) avec f (x)  x Qx  c T x
2
1010
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017

4.2.5 Problème convexe


Résolution du problème relaxé
La solution du problème relaxé (PQR) vérifie les conditions KKT.
1 T Ax  b
min z  x Qx  c T x sous 
x  R , x  0
n
x 2
1 T  x L( x, , )  Qx  c  A T   
• Lagrangien : L( x, , )  x Qx  c x   (b  Ax)   x   2
T T T

2  xx L( x, , )  Q
Qx  c  A T     0

Conditions suffisantes d’optimalité : Ax  b
→ conditions KKT (ordre 1)

x ,   0
Q  0 → condition de minimum (ordre 2)

• Pour un problème quadratique convexe (Q  0), la solution KKT est le minimum global.
On sait résoudre efficacement le problème relaxé par un algorithme polynomial.

• Lorsque le problème quadratique est indéfini, on ne peut plus utiliser les conditions KKT.
On ne sait pas trouver le minimum global en un temps raisonnable.

1011
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017

4.2.5 Séparation et évaluation


Résolution du problème binaire
1 T Ax  b
min z  x Qx  c T x sous   problème noté (PQB)
x  U , U  0 ; 1
n
x 2

• La résolution par séparation et évaluation est similaire au cas linéaire :


- on construit une arborescence en fixant progressivement les variables à 0 ou 1.
- la solution du problème relaxé en chaque nœud donne un minorant du coût de la branche.
- on élimine une branche lorsque son évaluation est supérieure à la meilleure solution connue.

• On peut appliquer les méthodes de séparation et évaluation au problème (PQB) :


- par transformation en problème linéaire (PLB) → techniques de linéarisation
ou
- par évaluation directe du problème relaxé (PQR) → techniques de convexification

• Pour appliquer la méthode directe, il faut résoudre efficacement le problème relaxé (PQR).
→ applicable dans le cas convexe (matrice Q semi-définie positive)
→ inapplicable dans le cas indéfini (matrice Q indéfinie)
La convexification consiste à transformer le problème non convexe (PQB)
en un problème convexe équivalent (PQB)’ ayant les mêmes solutions binaires.
1012
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017

4.2.5 Convexification
Problème équivalent
1 T Ax  b
min z  x Qx  c T x sous   problème noté (PQB)
x  U , U  0 ; 1
n
x 2

• La fonction coût comporte une partie quadratique q de matrice QRnn.


n
q  x Qx   q ij x i x j
T

i , j1

• La forme quadratique q peut se représenter (de manière unique) par une matrice symétrique.

q  R  q  qT  q 
1
2
 1
  1

q  q T  x T Qx  x T Q T x  x T Q  Q T x
2 2
 
 q  x T Q' x
1
avec Q'  Q  Q T
2
 
matrice symétrique

• Exemple
1 4
T
x   1 4  x1 
q  x12  4x1x 2  3x 22   1     avec Q   
 x2   0 3  x 2  0 3 
1 2
T
x   1 2  x1  avec Q'    symétrique
  1    
 x2   2 3  x 2  2 3  1013
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017

4.2.5 Convexification
Problème équivalent
1 T Ax  b
min z  x Qx  c T x sous   problème noté (PQB)
x  U , U  0 ; 1
n
x 2

• On cherche à formuler un problème équivalent (PQB)’.

1 T Ax  b  problème noté (PQB)’


min z'  x Q' x  c'T x sous 
x  U , U  0 ; 1
n
x 2

• Le problème modifié (PQB)’ doit :


- être convexe pour pouvoir résoudre efficacement le problème relaxé (PQR)’
- avoir les mêmes solutions binaires que (PQB)

• Pour accélérer la résolution par séparation et évaluation, il faut que la solution relaxée
donne un coût le plus grand possible (→ proche de la solution binaire).

Les techniques de convexification sont basées sur la propriété : x  0 ; 1  x  x


2

- transformation des produits de variables binaires
- ajout d’une matrice positive « suffisamment grande »
1014
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017

4.2.5 Convexification
Transformation des produits
• La partie quadratique q de la fonction coût est une somme de produits de variables binaires.
n
q  x Qx   q ij x i x j
T

i , j1

Un terme de la forme t(x,y)=xy n’est pas convexe (valeurs propres 1).



x  x
2
On le remplace par un terme tc(x,y) convexe et égal à t(x,y) lorsque x,y {0;1}   2

y  y
1 1
• Cas  positif : t c ( x , y)    ( x  y) 2   ( x  y) → convexe (valeurs propres 0 et 2)
2 2
x, y  0 ; 1  t c ( x, y)   ( x 2  2xy  y 2 )  ( x  y)  xy  t c ( x, y)  t ( x, y)
1 1
2 2
=x =y

1 1
• Cas  négatif : t c ( x, y)   ( x  y) 2  ( x  y) → convexe (valeurs propres 0 et 2)
2 2
x, y  0 ; 1  t c ( x, y)   ( x 2  2xy  y 2 )  ( x  y)  xy  t c ( x, y)  t ( x, y)
1 1
2 2
=x =y
1015
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017

4.2.5 Convexification
Transformation des produits
1 T Ax  b
min z  x Qx  c T x sous   problème noté (PQB)
x  U , U  0 ; 1
n
x 2
n
• La partie quadratique de la fonction coût z est de la forme : q  x Qx   q ij x i x j T

i , j1

• On remplace les produits qijxixj par des termes convexes selon le signe de qij.
n

q x x
i , j1
ij i j  q x x
q ij  0
ij i j  q x x
q ij  0
ij i j

remplacé par  ij
1
q  x i  x j 2
x i  x j     1 2

q ij  x i  x j   x i  x j  
q ij  0 2 q ij  0 2

 
1
   
q ij  x i2  x 2j  x i  x j    q ij  x i2  x 2j  x i  x j 
1
 
q ij  0 2 q ij  0 2
1
  q ij 2x i x j
2
  1
  q ij 2x i x j
2
  en développant
q ij  0 q ij  0

     
q ij  x i2  x 2j  x i  x j   
n
1 1
 
2 q ij 0
q ij  x 2
i  x 2
j  x i  x j  
2 q ij 0
q x x
i , j1
ij i j

1016
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017

4.2.5 Convexification
Transformation des produits
n
1
• La fonction coût du problème initial (PQB) est : z  q  c x avec q  x Qx   q ij x i x j
T T

2 i , j1

• On remplace la partie quadratique q par la fonction convexe équivalente sur U.

  
q ij  x i2  x 2j  x i  x j     
q ij  x i2  x 2j  x i  x j  
n n
1 1
q x x
i , j1
ij i j  
2 q ij 0

2 q ij 0
q x x
i , j1
ij i j

= 0 pour xi,xj  U = 0 pour xi,xj  U

• On obtient un problème (PQB)’ convexe équivalent au problème (PQB).


1 T Ax  b
min z'  x Q' x  c'T x sous   problème noté (PQB)’
x  U , U  0 ; 1
n
x 2

• Exemple : z  3x1  2x 2  x 3  2x 4  4x1x 3  2x1x 4  4x 2 x 3  6x 3 x 4

 z'   4x 2  6x 3  2x 4  3x12  2x 22  7 x 32  4x 24  4x1x 3  2x1x 4  4x 2 x 3  6x 3 x 4

1017
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017

4.2.5 Convexification
Ajout d’une matrice positive
n
1
• La fonction coût du problème initial (PQB) est : z  q  c x avec q  x Qx   q ij x i x j
T T

2 i , j1

• On note min la plus petite valeur propre de la matrice symétrique Q.


Si min > 0, Q est définie positive.
Si min < 0, Q’ = Q + aI est définie positive pour a  min .

On modifie la fonction coût en ajoutant le terme a  x i2  x i  à la partie quadratique q.


n

i 1

   
n n
1 1
q'  q  a  x i2  x i  x T Qx  a  x i2  x i  z'  q'  c T x  x T Q' x  c'T x
i 1 i 1 2 2
• La fonction coût modifiée z’ est convexe (matrice Q’ = Q + aI définie positive)
et prend les mêmes valeurs que z sur U (car xU  x2  x = 0).
On obtient un problème (PQB)’ convexe équivalent au problème (PQB).

• Exemple : z 
1 2
 
x1  x 22  Q  
1 0 
 → valeurs propres 1 et 1
2  0  1 
 z'  x12  x 22   a x12  x1   a x 22  x 2 
1
avec a  1
2
1018
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017

4.2.5 Convexification
Choix de la méthode
• Le coût de la solution relaxée dépend de la méthode de convexification choisie.

• Dans une méthode arborescente, le coût de la solution relaxé donne l’évaluation du nœud.
La méthode est d’autant plus efficace que le coût relaxé est grand (proche du coût binaire).
→ Il faut essayer de convexifier le problème en maximisant le coût de la solution relaxé.
→ Il est utile de reconvexifier la fonction coût même si celle-ci est déjà convexe,
de façon à augmenter le coût de la solution relaxée.

• Méthode de reconvexification
On utilise les contraintes pour ajoutant des termes à la fonction coût.

n
 a ij x j  b i , i  1 à m  n  n
 
n m

 j1  z'  z    ki x i   a kj x j  b k    u i x i2  x i
x  0 ;1n i 1 k 1  j1  i 1

Contraintes Termes nuls

Les coefficients ki et ui peuvent être choisis pour maximiser le coût relaxé.

1019
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017

4.2.5 Convexification
Exemple
x  x 2  b
min z  x12  x 22 sous  1 avec b  1
x
 1 2
x , x  0 ; 1
2 0 
• La fonction n’est pas convexe : Q    → valeurs propres 2 et 2
 0  2 

x  0
• Solution binaire x1,x2 {0;1} :  1  z b  1
 2
x  1

x1  0
• Solution relaxée x1,x2  0 :   z r  b 2
x 2  b

• On compare les 2 méthodes de convexification :


- transformation des produits de variables binaires
- ajout d’une matrice positive « suffisamment grande »

Chaque méthode conduit à un problème convexe différent et à un coût relaxé différent.

1020
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017

4.2.5 Convexification
Exemple : Transformation des produits
x  x 2  b
min z  x12  x 22 sous  1 avec b  1
x
 1 2
x , x  0 ; 1

• On remplace chaque produit par une expression convexe.

x12 
1
2

2x1 2  2x1  

  z'  2 x1  x1  x 2
2
→ valeurs propres 4 et 0
  2x 2 
1
x 2


2
2
x  x 2  b
• Problème convexifié relaxé : min z c1  2x12  x1  x 2 sous  1
x
x1 , x 2  0
• Lagrangien : L( x1 , x 2 , )  2x12  x1  x 2  ( x1  x 2  b) avec x1,x2,  0

 4 x1  1    0  x1  0
•  
Conditions KKT :   1    0     1  z c1  b
 ( x  x  b)  0 x  b
 1 2  2
• Le coût relaxé par cette méthode de convexification vaut : zc1 = b
1021
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017

4.2.5 Convexification
Exemple : Ajout d’une matrice positive
x  x 2  b
min z  x12  x 22 sous  1 avec b  1
x
 1 2
x , x  0 ; 1

• La plus petite valeur propre de la forme quadratique est 2.


On ajoute à la fonction coût les termes a ( x12  x1 )  a ( x 22  x 2 ) avec a  2.
x  x 2  b
• Problème convexifié relaxé : min z c2  (a  1) x12  (a  1) x 22  ax1  ax 2 sous  1
x
x1 , x 2  0

• Lagrangien : L( x1 , x 2 , )  (a  1) x12  (a  1) x 22  ax1  ax 2  ( x1  x 2  b) avec x1, x2,   0


 a 
 2(a  1) x1  a    0  1
x 
  2(a  1)
  a 
• Conditions KKT : 2(a  1) x 2  a    0  x 2  avec x1, x2,   0
  2(a  1)
   a (a   ) 
 ( x 1  x 2  b)  0  
  a 1  b 0

2

1022
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017

4.2.5 Convexification
Exemple : Ajout d’une matrice positive
 a (a   )  a 2 (1  b)  b
• Condition de complémentarité :  2  b   0    0 ou  
 a 1  a
a a
• Cas   0  x1  , x2  → x1, x2,   0
2(a  1) 2(a  1)
Le coût relaxé vaut : z c2  (a  1) x12  (a  1) x 22  ax1  ax 2 avec a  2
a3 4
 z c2    z c2   maximal pour a = 2.
2(a 2  1) 3

a 2 (1  b)  b b(a  1) b(a  1)
• Cas    x1  , x2 
a 2a 2a
b 4
On doit vérifier :   0  a  avec a  2  b 
2

b 1 3
Le coût relaxé vaut : z c2  (a  1) x12  (a  1) x 22  ax1  ax 2
1  1 4
 z c2  b 2  a    ab si b 
2  a 3

1023
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017

4.2.5 Convexification
Exemple : Comparaison des coûts relaxés
x  x 2  b
min z  x12  x 22 sous  1 avec b  1
x
 1 2
x , x  0 ; 1

• Solution binaire x1,x2 {0;1} : x1=0 , x2=1  z b  1

• Solution relaxée x1,x2  0 : x1=0 , x2=b  z r  b 2

• Convexification par transformation des produits  z c1  b

 a3 1 2 1 
• Convexification par ajout d’une matrice positive  z c2  min  , b  a    ab 
 2(a  1) 2  a
2

4
si b 
• Application numérique : b = 1.5 3
 1.33 si a  2 → Convexification 2 meilleure
zc1 = 1.5 à comparer à zc2  
 2.13 si a  4 → Convexification 1 meilleure
1024
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017

4.2.5 Affectation quadratique


Enoncé du problème
Le problème d’affectation quadratique (« Quadratic Assignment Problem » ou QAP)
consiste à affecter n objets sur n sites.
flot fij
Objet i Objet j

Objet i placé au site p(i)=u Objet j placé au site p(j)=v

Site u Site v
distance duv

• Le flot entre les objets i et j est : fij → matrice F des flots


• La distance entre les sites u et v est : duv → matrice D des distances
• Le coût est le produit flot  distance : fijduv = coût du flot entre l’objet i placé au site u
et l’objet j placé au site v

• Une solution est représentée par une permutation P donnant les affectations des n objets.
P = ( p(1) ,…, p(i) ,…, p(j) ,…, p(n) ) avec p(i) = numéro du site où est placé l’objet i

• On cherche la permutation P minimisant le coût total : CP  f d ij p ( i ) p ( j)


i , j1 à n 1025
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017

4.2.5 Affectation quadratique


Applications
Le problème d’affectation quadratique (QAP) a de nombreuses applications.

• Répartition de bâtiments ou de services


flot = nombre de personnes circulant entre les bâtiments ou services

• Implantation d’usines de production, de centres de livraison


flot = quantité de produit échangée entre les usines

• Affectation de portes d’embarquement dans un aéroport


flot = nombre de personnes allant d’une porte d’embarquement à une autre

• Placement de composants électroniques


flot = nombre de connexions entre modules

• Stockage de fichiers dans une base de données


flot = probabilité d’accès consécutif entre 2 fichiers

• Clavier d’ordinateur ou de machine à écrire


flot = fréquence entre 2 lettres successives dans une langue donnée
1026
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017

4.2.5 Affectation quadratique


Formulation
• Le QAP peut se formuler comme un problème quadratique en variables binaires.

• Variables
La variable binaire siu vaut 1 si l’objet i est placé au site u  nn variables
0 sinon
• Coût n
Le coût total des affectations est : z   s iu s jv f ijd uv  objet i placé en u
i , j, u , v 1 objet j placé en v
• Contraintes n
Chaque objet i est affecté à un seul site : s
u 1
iu 1 , i 1 à n  n contraintes
n
Chaque site u reçoit un seul objet : s
i 1
iu 1 , u 1 à n  n contraintes

• Le problème du voyageur de commerce (PVC) peut se formuler comme un QAP.


→ problème NP-difficile

• On peut appliquer une méthode de séparation et évaluation :


- soit au problème linéarisé (après transformation des produits siusjv)
- soit au problème quadratique (après convexification)
1027
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
Techniques d’optimisation Mai 2017

Sommaire
1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes

4. Optimisation discrète
4.1 Problème combinatoire
4.2 Programmation linéaire
4.3 Métaheuristiques
4.3.1 Principes
4.3.2 Recuit simulé
4.3.3 Recherche tabou
4.3.4 Essaims
4.3.5 Fourmis
4.3.6 Algorithme évolutionnaire
4.3.7 Adaptation de covariance
4.3.8 Affine shaker
4.3.9 Reformulations

5. Optimisation fonctionnelle
1028
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.1 Principes
Techniques d’optimisation Mai 2017

4.3.1 Métaheuristiques
Problème d’optimisation difficile

min f(x)
x
 problème d’optimisation (PO)

• On distingue 2 types de problèmes difficiles.


Problème discret → nombre exponentiel de combinaisons à explorer
Problème continu → minima locaux, aucune caractérisation du minimum global

• On ne peut pas trouver la solution exacte en un temps de calcul raisonnable.


Il faut se satisfaire d’une solution approchée « suffisamment bonne ».

• Une métaheuristique est une méthode de résolution approchée mimant un processus physique.
Recuit simulé → thermodynamique
Algorithme évolutionnaire → sélection naturelle
Essaim particulaire → mouvement collectif d’essaims
Colonie de fourmis → mouvement organisé de fourmis

• Heuristique = méthode empirique spécialisée à un problème particulier


Métaheuristique = principe général applicable à différents problèmes
→ nécessite un travail d’adaptation pour chaque problème
1029
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.1 Principes
Techniques d’optimisation Mai 2017

4.3.1 Métaheuristiques
Principales métaheuristiques

• Algorithmes

Algorithme Acronyme Type de problème Extensions


Recuit simulé SA Discret (chemin) Continu
Recherche tabou TS Discret (affectation)
Essaims particulaires PSO Continu Discret
Colonies de fourmis ACO Discret (chemin)
Algorithme évolutionnaire GA Discret  Continu
Adaptation de covariance CMA Continu
Affine shaker AS Continu Discret
Réseaux de neurones NN Identification

• Applications
Optimisation difficile → minima locaux, minimum global
Optimisation multi-objectifs → front de Pareto
Identification de modèles → apprentissage + optimisation
1030
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.1 Principes
Techniques d’optimisation Mai 2017

4.3.1 Métaheuristiques
Principes généraux

min f(x)  trouver le minimum global


x Population initiale
ou des minima locaux
k=0
• Population de p individus : Xi , f(Xi)
Ordre de grandeur : p = 1 à 100 (selon algorithme) Population k : (X1 , … , Xp)k

• Exploration du voisinage : q candidats Yj , f(Yj)


Perturbations aléatoires
Candidats : Y1 , … , Yq
→ intensification pour affiner les minima trouvés Evaluations : f(Y1), … , f(Yq)
→ diversification pour trouver d’autres minima
k+1
• Règles de sélection
Acceptation aléatoire de dégradations Sélection : (X1 , … , Xp)k+1
→ échappement de minima locaux
k=N
• Arrêt sur nombre d’essais N
→ généralement très grand Meilleure(s) solution(s)

1031
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.2 Recuit simulé
Techniques d’optimisation Mai 2017

4.3.2 Recuit simulé


Principe
La méthode du recuit simulé (« Simulated Annealing », Kirkpatrick et co 1983) s’inspire
de la thermodynamique d’un système de particules.

• Le recuit est un processus utilisé en métallurgie pour obtenir un alliage sans défaut.
A très haute température, le métal est à l’état liquide et les atomes se déplacent librement.
On procède à un refroidissement pour revenir à l’état solide.

• Si le refroidissement est rapide (trempe), les atomes se figent dans un état désordonné.
L’alliage obtenu a une structure irrégulière et présente des défauts (énergie élevée).

• Si le refroidissement est lent (recuit), les atomes se réorganisent de façon régulière.


L’alliage obtenu a une structure cristalline sans défaut (énergie minimale).

Température basse Température élevée Température basse

trempe recuit

1032
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.2 Recuit simulé
Techniques d’optimisation Mai 2017

4.3.2 Recuit simulé


Niveau d’énergie
• Le niveau d’énergie E du système dépend de la disposition des atomes.

• A la température T, la probabilité PT(E) que l’énergie du système soit égale à E est


E

PT (E )  e kT → loi de Gibbs (k = constante de Boltzmann) 
E

(= constante de normalisation :    e dE )


kT

• A température élevée, tous les états d’énergie ont quasiment la même probabilité.
A température basse, les états d’énergie élevée ont une probabilité quasiment nulle.

Energie Température élevée Energie Etats inaccessibles

Température basse

Etat du système Etat du système 1033


4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.2 Recuit simulé
Techniques d’optimisation Mai 2017

4.3.2 Recuit simulé


Algorithme de Metropolis
L’algorithme de Metropolis (1953) simule l’évolution du système vers l’équilibre.
L’équilibre thermodynamique correspond à l’état d’énergie minimale  min E(x)
x

• On part d’un état initial du système noté x0 (= disposition des atomes) d’énergie E0 = E(x0).

• On perturbe de façon aléatoire l’état du système : x0 → x = x0 + δx


E0 → E = E0 + δE

 
E

Le nouvel état x est accepté avec la probabilité P  e si E  0 (augmentation d’énergie)


T

P  1 si E  0 (diminution d’énergie)

• Le paramètre de température T règle le niveau d’acceptation des remontées d’énergie.

• A température élevée, un état d’énergie supérieure peut être accepté avec une probabilité forte.
→ Le système peut explorer l’ensemble des états possibles.
A température basse, un état d’énergie supérieure est rejeté de façon quasi-systématique.
→ Le système se stabilise dans un état de basse énergie.

1034
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.2 Recuit simulé
Techniques d’optimisation Mai 2017

4.3.2 Recuit simulé


Convergence
• L’acceptation de solutions moins bonnes permet d’explorer l’espace des solutions.
Le système peut s’extraire d’un minimum local si le nombre d’essais est suffisant.

• La convergence vers un minimum global nécessite :


- une température initiale élevée → pour autoriser l’accès à tous les états
- une décroissance de température lente → pour échapper au minima locaux
- un nombre d’essais élevé

E Température élevée

Température basse

x 1035
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.2 Recuit simulé
Techniques d’optimisation Mai 2017

4.3.2 Recuit simulé


Algorithme
On applique l’algorithme de Metropolis à un problème de minimisation.
 variables x = « état du système »
min f(x)  
x
 fonction f = « énergie du système »

Solution initiale : x 0 , f0 Température initiale T0

k=0

Solution courante : x k , fk Température palier Ti

Mouvement aléatoire : x , f

k+1 f f k M mouvements Baisse de température



Probabilité d’acceptation P  e Ti+1 = Ti (0<<1)
Ti
sans acceptation

k=N (nombre maximal d’essais)

Arrêt solution : x* , f*
1036
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.2 Recuit simulé
Techniques d’optimisation Mai 2017

4.3.2 Recuit simulé


Réglages
• La température initiale T0 doit être élevée pour accepter quasiment tous les mouvements.
On choisit par exemple T0 de façon à accepter 90% des mouvements aléatoires à partir de x0.

• La décroissance de température doit être lente pour éviter le blocage dans un minimum local.
On choisit par exemple une décroissance géométrique avec =0.999 et M assez grand.

• L’algorithme s’arrête sur le nombre d’essais N ou sur un nombre de paliers sans amélioration.
La qualité de la solution et le temps de calcul dépendent des réglages T0, , M, N.
→ à adapter expérimentalement au cas par cas

Mouvements aléatoires
• Les perturbations doivent générer une solution « localement proche » de la solution courante.
Le choix des perturbations aléatoires dépend de la nature du problème (discret, continu).
→ Il faut définir le « voisinage » de la solution courante.

• Application au PVC : les variables sont les numéros des nœuds le long du chemin.
On définit 3 types de perturbations élémentaires : insertion, échange, permutation.
→ Tirage aléatoire : - de la nature de la perturbation
- des nœuds auxquels la perturbation est appliquée
1037
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.2 Recuit simulé
Techniques d’optimisation Mai 2017

4.3.2 Recuit simulé


Voyageur de commerce
Le voisinage d’une solution est défini par 3 mouvements élémentaires.

• Insertion
2 est inséré après 4.

• Echange
2 et 3 sont échangés.

• Permutation
Le chemin de 2 à 5 est inversé.

1038
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.2 Recuit simulé
Techniques d’optimisation Mai 2017

4.3.2 Recuit simulé


Voyageur de commerce

Defi250 Pcb442 Att532


250 villes fictives Circuit imprimé à 442 trous 532 villes des USA

Coût = 11,809 Coût = 50778 Coût = 27686


Essais : 5.108 Essais : 8.108 Essais : 2.109
Acceptés : 1.104 Acceptés : 2.104 Acceptés : 2.104
1039
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.2 Recuit simulé
Techniques d’optimisation Mai 2017

4.3.2 Recuit simulé


Voyageur de commerce 100%
Taux d'acceptation
• Indicateurs de convergence 90%

- taux d’acceptation 80%


70%
- moyenne mobile (par palier de température) 60%
- variance mobile 50%
40%
• Température de stabilisation 30%
20%
→ Variance maximale
10%
Log (Temperature)
0%
• Exemple : problème Défi250 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6

40 140
Variance mobile Moyenne mobile
35 120
30
100
25
80
20
60
15
40
10

5 20
Log (Temperature) Log (Temperature)
0 0
-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6
1040
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017

4.3.3 Recherche tabou


Principe
La méthode de recherche avec tabou (« Tabu Search », Glover 1986) est
une méthode locale avec une mémoire des solutions visitées.

• La liste tabou mémorise les p dernières solutions visitées (= liste des solutions « taboues »)
ou les p derniers mouvements pour limiter l’encombrement en mémoire.
La taille de la liste est généralement de l’ordre de p=10 → mémoire à court terme

• On cherche une amélioration dans un voisinage (à définir) de la solution courante


en excluant les solutions précédentes pour forcer la sortie d’un minimum local.
Solution courante (itération k) : xk
Solution précédentes (itérations kp à k1) : xkp, … , xk2, xk1

minimum minimum minimum


local local local
minimum minimum minimum
global global global
1041
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017

4.3.3 Recherche tabou


Liste tabou
• La liste tabou interdit temporairement le retour à des solutions visitées.

• La taille de la liste tabou et la durée des interdictions sont à définir.


Une liste trop grande peut déconnecter la solution courante de la solution optimale.

optimum blocages

La solution optimale (en vert) ne peut plus être atteinte à partir des points en orange
si les interdictions ne sont pas levées → blocage de la recherche.
1042
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017

4.3.3 Recherche tabou


Voisinage
• Le voisinage Vk de la solution courante xk est l’ensemble des solutions accessibles
à partir de xk par des modifications (ou mouvements) élémentaires.
La définition du voisinage est à adapter selon le problème.

• De nombreux problèmes se ramènent à la recherche d’une permutation optimale.


Pour ce type de problème, on peut définir le voisinage par 2 mouvements élémentaires.

• Echange

1234 2134 2134 3214 4231 Voisinage de taille


3214 1324 1324 1432 n (n  1)
4231 1432 1243 1243 2

• Insertion

1234 2134 2134 3124 4123 Voisinage de taille


2314 1324 1324 1423 n (n  2)  1
2341 1342 1243 1243

1043
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017

4.3.3 Recherche tabou


Affectation quadratique
Le problème d’affectation quadratique (« Quadratic Assignment Problem » ou QAP)
consiste à affecter n objets sur n sites.
flot fij
Objet i Objet j

Objet i placé au site p(i)=u Objet j placé au site p(j)=v

Site u Site v
distance duv

• Le flot entre les objets i et j est : fij → matrice F des flots


• La distance entre les sites u et v est : duv → matrice D des distances
• Le coût est le produit flot  distance : fijduv = coût du flot entre l’objet i placé au site u
et l’objet j placé au site v

• Une solution est représentée par une permutation P donnant les affectations des n objets.
P = ( p(1) ,…, p(i) ,…, p(j) ,…, p(n) ) avec p(i) = numéro du site où est placé l’objet i

• On cherche la permutation P minimisant le coût total : CP  f d ij p ( i ) p ( j)


i , j1 à n 1044
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017

4.3.3 Recherche tabou


Affectation quadratique
• Le voisinage de la solution courante consiste à échanger les positions de 2 objets.
Solution courante : P = ( p(1) ,…, p(u) ,…, p(v) ,…, p(n) )
Solution voisine : P’ = ( p(1) ,…, p(v) ,…, p(u) ,…, p(n) )
obtenue en échangeant les positions des objets u et v → taille  n2

• La variation de coût associée à l’échange des objets en u et en v est :

C P   f
j1 à n , j u
d
uj p ( v ) p ( j)  f ujd p ( u ) p ( j)  → arcs partant de u : départ de p(v) au lieu de p(u)

  f
j1 à n , j v
d
vj p ( u ) p ( j)  f vjd p ( v ) p ( j)  → arcs partant de v : départ de p(u) au lieu de p(v)

  f
i 1 à n ,i  u
iu d p (i ) p ( v )  f iu d p (i ) p ( u )  → arcs arrivant en u : arrivée en p(v) au lieu de p(u)

  f
i 1 à n ,i  v
iv d p (i ) p ( u )  f iv d p (i ) p ( v )  → arcs arrivant en v : arrivée en p(u) au lieu de p(v)

• La liste tabou contient les solutions précédentes Pk avec leur durée d’interdiction tk.
La durée tk est le nombre d’itérations pendant lesquelles la solution Pk est taboue.
La durée peut être fixée ou tirée aléatoirement pour chaque solution.
1045
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017

4.3.3 Recherche tabou


Affectation quadratique
L’évaluation d’une solution est la partie la plus coûteuse en temps de calcul.
On peut réduire le temps de calcul en évaluant les variations entre 2 solutions voisines.
r s
(r,s) r
• solution p solution q déjà calculés
s
→ C(q) = FD(q)

r s u v
(r,s)
(u,v) r
• solution p solution q’ s
→ C(q’) = FD(q’) à recalculer
u
v
u v

(u,v)
• solution p solution p’
→ C(p’) = FD(p’) u déjà calculés
v
1046
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017

4.3.3 Recherche tabou


Exemple
Problème d’affectation quadratique NUG5

Matrice des flots Matrice des distances


1 2 3 4 5 1 2 3 4 5

0 1 5 2 4 1 0
1 1 1 2 3
   
25 0 3 0 2 21 0 2 1 2
F  32 3 0 0 0 D  31 2 0 1 2
   
44 0 0 0 5 42 1 1 0 1
 0  
51 2 0 5 53 2 2 1 0 

On cherche la permutation des objets (1 , 2 , 3 , 4 , 5) minimisant le coût C = FD(p).

• Le nombre total de permutations est : 5! = 120

• Il existe 2 permutations optimales : (2 , 4 , 5 , 1 , 3) → C = 50


(3 , 4 , 5 , 1 , 2) → C = 50

1047
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017

4.3.3 Recherche tabou


Exemple : itération 0
On initialise la méthode tabou avec la solution : p0 = (5 , 4 , 3 , 2 , 1) de coût C0 = 64.

• Le voisinage est défini comme l’ensemble des solutions accessibles en échangeant 2 objets.
Tous les mouvements sont autorisés.
Mouvement
Solution 1-2 1-3 1-4 1-5 2-3 2-4 2-5 3-4 3-5 4-5
(5,4,3,2,1) (4,5,3,2,1) (3,4,5,2,1) (2,4,3,5,1) (1,4,3,2,5) (5,3,4,2,1) (5,2,3,4,1) (5,1,3,2,4) (5,4,2,3,1) (5,4,1,2,3) (5,4,3,1,2)
64 Coût 60 60 80 68 66 78 80 64 78 66
Variation -4 -4 16 4 2 14 16 0 14 2

• La meilleure solution dans le voisinage est : p1 = (4 , 5 , 3 , 2 , 1) de coût C1 = 60.


→ amélioration C = 4

• La solution p0 entre dans la liste tabou pendant un nombre d’itérations t0 = 3.

Liste tabou : T1 Solutions taboues Durée d’interdiction


p0 = (5 , 4 , 3 , 2 , 1) t0 = 3

1048
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017

4.3.3 Recherche tabou


Exemple : itération 1
On cherche une amélioration locale de la solution : p1 = (4 , 5 , 3 , 2 , 1) de coût C1 = 60.

• Le voisinage est défini comme l’ensemble des solutions accessibles en échangeant 2 objets.
Le mouvement (12) n’est pas autorisé, car il redonnerait p0.
Mouvement
Solution 1-2 1-3 1-4 1-5 2-3 2-4 2-5 3-4 3-5 4-5
(4,5,3,2,1) (5,4,3,2,1) (3,5,4,2,1) (2,5,3,4,1) (1,5,3,2,4) (4,3,5,2,1) (4,2,3,5,1) (4,1,3,2,5) (4,5,2,3,1) (4,5,1,2,3) (4,5,3,1,2)
60 Coût 64 70 82 72 52 72 72 60 74 62
Variation 4 10 22 12 -8 12 12 0 14 2

• La meilleure solution dans le voisinage est : p2 = (4 , 3 , 5 , 2 , 1) de coût C2 = 52.


→ amélioration C = 8

• La solution p1 entre dans la liste tabou pendant un nombre d’itération t1 = 3.

Liste tabou : T2 Solutions taboues Durée d’interdiction


p0 = (5 , 4 , 3 , 2 , 1) t0 = 2
p1 = (4 , 5 , 3 , 2 , 1) t1 = 3

1049
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017

4.3.3 Recherche tabou


Exemple : itération 2
On cherche une amélioration locale de la solution : p2 = (4 , 3 , 5 , 2 , 1) de coût C2 = 52.

• Le voisinage est défini comme l’ensemble des solutions accessibles en échangeant 2 objets.
Le mouvement (23) n’est pas autorisé, car il redonnerait p1.
Mouvement
Solution 1-2 1-3 1-4 1-5 2-3 2-4 2-5 3-4 3-5 4-5
(4,3,5,2,1) (3,4,5,2,1) (5,3,4,2,1) (2,3,5,4,1) (1,3,5,2,4) (4,5,3,2,1) (4,2,5,3,1) (4,1,5,2,3) (4,3,2,5,1) (4,3,1,2,5) (4,3,5,1,2)
52 Coût 60 66 74 60 60 52 76 72 62 62
Variation 8 14 22 8 8 0 24 20 10 10

• La meilleure solution dans le voisinage est : p3 = (4 , 2 , 5 , 3 , 1) de coût C3 = 52.


→ coût identique C = 0

• La solution p2 entre dans la liste tabou pendant un nombre d’itération t2 = 3.

Liste tabou : T3 Solutions taboues Durée d’interdiction


p0 = (5 , 4 , 3 , 2 , 1) t0 = 1
p1 = (4 , 5 , 3 , 2 , 1) t1 = 2
p2 = (4 , 3 , 5 , 2 , 1) t2 = 3
1050
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017

4.3.3 Recherche tabou


Exemple : itération 3
On cherche une amélioration locale de la solution : p3 = (4 , 2 , 5 , 3 , 1) de coût C3 = 52.

• Le voisinage est défini comme l’ensemble des solutions accessibles en échangeant 2 objets.
Le mouvement (24) n’est pas autorisé, car il redonnerait p2.
Mouvement
Solution 1-2 1-3 1-4 1-5 2-3 2-4 2-5 3-4 3-5 4-5
(4,2,5,3,1) (2,4,5,3,1) (5,2,4,3,1) (3,2,5,4,1) (1,2,5,3,4) (4,5,2,3,1) (4,3,5,2,1) (4,1,5,3,2) (4,2,3,5,1) (4,2,1,3,5) (4,2,5,1,3)
52 Coût 60 66 74 60 60 52 76 72 62 62
Variation 8 14 22 8 8 0 24 20 10 10

• La meilleure solution dans le voisinage est : p4 = (2 , 4 , 5 , 3 , 1) de coût C4 = 60.


→ dégradation C = +8

• La solution p3 entre dans la liste tabou pendant un nombre d’itération t3 = 3.

Liste tabou : T4 Solutions taboues Durée d’interdiction


p1 = (4 , 5 , 3 , 2 , 1) t1 = 1 → p0 sort de la liste.
p2 = (4 , 3 , 5 , 2 , 1) t2 = 2 p0 est à nouveau autorisée.
p3 = (4 , 2 , 5 , 3 , 1) t3 = 3
1051
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017

4.3.3 Recherche tabou


Exemple : itération 4
On cherche une amélioration locale de la solution : p4 = (2 , 4 , 5 , 3 , 1) de coût C4 = 60.

• Le voisinage est défini comme l’ensemble des solutions accessibles en échangeant 2 objets.
Le mouvement (12) n’est pas autorisé, car il redonnerait p3.
Mouvement
Solution 1-2 1-3 1-4 1-5 2-3 2-4 2-5 3-4 3-5 4-5
(2,4,5,3,1) (4,2,5,3,1) (5,4,2,3,1) (3,4,5,2,1) (1,4,5,3,2) (2,5,4,3,1) (2,3,5,4,1) (2,1,5,3,4) (2,4,3,5,1) (2,4,1,3,5) (2,4,5,1,3)
60 Coût 52 64 60 72 70 74 72 80 70 50
Variation -8 4 0 12 10 14 12 20 10 -10

• La meilleure solution dans le voisinage est : p5 = (2 , 4 , 5 , 1 , 3) de coût C5 = 50.


→ amélioration C = 10

• La solution p4 entre dans la liste tabou pendant un nombre d’itération t4 = 3.

Liste tabou : T5 Solutions taboues Durée d’interdiction


p2 = (4 , 3 , 5 , 2 , 1) t2 = 1 → p1 sort de la liste.
p3 = (4 , 2 , 5 , 3 , 1) t3 = 2 p1 est à nouveau autorisée.
p4 = (2 , 4 , 5 , 3 , 1) t4 = 3
1052
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017

4.3.3 Recherche tabou


Exemple : itération 5
On cherche une amélioration locale de la solution : p5 = (2 , 4 , 5 , 1 , 3) de coût C5 = 50.

• Le voisinage est défini comme l’ensemble des solutions accessibles en échangeant 2 objets.
Le mouvement (45) n’est pas autorisé, car il redonnerait p4.
Mouvement
Solution 1-2 1-3 1-4 1-5 2-3 2-4 2-5 3-4 3-5 4-5
(2,4,5,1,3) (4,2,5,1,3) (5,4,2,1,3) (1,4,5,2,3) (3,4,5,1,2) (2,5,4,1,3) (2,1,5,4,3) (2,3,5,1,4) (2,4,1,5,3) (2,4,3,1,5) (2,4,5,3,1)
50 Coût 62 66 72 50 60 62 74 70 70 60
Variation 12 16 22 0 10 12 24 20 20 10

• La meilleure solution dans le voisinage est : p6 = (3 , 4 , 5 , 1 , 2) de coût C5 = 50.


→ coût identique C = 0
On obtient les 2 permutations optimales : p5 = (2 , 4 , 5 , 1 , 3) de coût C = 50.
p6 = (3 , 4 , 5 , 1 , 2)
Les itérations suivantes ne donnent plus d’améliorations.

• La liste tabou a produit une dégradation à l’itération 3 : C = +8.


Ceci a permis de sortir d’un minimum local : p3 = (4 , 2 , 5 , 3 , 1) de coût C3 = 52
puis d’obtenir à l’itération suivante la solution optimale de coût C = 50.
1053
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017

4.3.3 Recherche tabou


Exemple
• Problème NUG5 : récapitulatif des itérations
Mouvement
Itération Solution 1-2 1-3 1-4 1-5 2-3 2-4 2-5 3-4 3-5 4-5
(5,4,3,2,1) (4,5,3,2,1) (3,4,5,2,1) (2,4,3,5,1) (1,4,3,2,5) (5,3,4,2,1) (5,2,3,4,1) (5,1,3,2,4) (5,4,2,3,1) (5,4,1,2,3) (5,4,3,1,2)
0 64 Coût 60 60 80 68 66 78 80 64 78 66
Variation -4 -4 16 4 2 14 16 0 14 2
(4,5,3,2,1) (5,4,3,2,1) (3,5,4,2,1) (2,5,3,4,1) (1,5,3,2,4) (4,3,5,2,1) (4,2,3,5,1) (4,1,3,2,5) (4,5,2,3,1) (4,5,1,2,3) (4,5,3,1,2)
1 60 Coût 64 70 82 72 52 72 72 60 74 62
Variation 4 10 22 12 -8 12 12 0 14 2
(4,3,5,2,1) (3,4,5,2,1) (5,3,4,2,1) (2,3,5,4,1) (1,3,5,2,4) (4,5,3,2,1) (4,2,5,3,1) (4,1,5,2,3) (4,3,2,5,1) (4,3,1,2,5) (4,3,5,1,2)
2 52 Coût 60 66 74 60 60 52 76 72 62 62
Variation 8 14 22 8 8 0 24 20 10 10
(4,2,5,3,1) (2,4,5,3,1) (5,2,4,3,1) (3,2,5,4,1) (1,2,5,3,4) (4,5,2,3,1) (4,3,5,2,1) (4,1,5,3,2) (4,2,3,5,1) (4,2,1,3,5) (4,2,5,1,3)
3 52 Coût 60 66 74 60 60 52 76 72 62 62
Variation 8 14 22 8 8 0 24 20 10 10
(2,4,5,3,1) (4,2,5,3,1) (5,4,2,3,1) (3,4,5,2,1) (1,4,5,3,2) (2,5,4,3,1) (2,3,5,4,1) (2,1,5,3,4) (2,4,3,5,1) (2,4,1,3,5) (2,4,5,1,3)
4 60 Coût 52 64 60 72 70 74 72 80 70 50
Variation -8 4 0 12 10 14 12 20 10 -10
(2,4,5,1,3) (4,2,5,1,3) (5,4,2,1,3) (1,4,5,2,3) (3,4,5,1,2) (2,5,4,1,3) (2,1,5,4,3) (2,3,5,1,4) (2,4,1,5,3) (2,4,3,1,5) (2,4,5,3,1)
5 50 Coût 62 66 72 50 60 62 74 70 70 60
Variation 12 16 22 0 10 12 24 20 20 10

1054
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.4 Essaims
Techniques d’optimisation Mai 2017

4.3.4 Essaims
Principe
La méthode des essaims particulaires (« Particle Swarm », Eberhart et Kennedy 1995) s’inspire
du comportement social des animaux (nuée d’oiseaux, banc de poissons, essaim d’abeilles).

• Un essaim est composé d’individus ou particules en mouvement.

• Le mouvement de chaque particule est influencé par :


- sa vitesse actuelle → tendance « aventureuse »
- son expérience personnelle → tendance « conservatrice » à revenir à sa meilleure position
- l’expérience sociale → tendance « panurgienne » à suivre un groupe de voisins

groupe de particules en relation

voisinage social
 voisinage géographique

1055
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.4 Essaims
Techniques d’optimisation Mai 2017

4.3.4 Essaims
Mouvement individuel
• Chaque particule est repérée par sa position x et sa vitesse v.
La particule se déplace au cours du temps. x2 x5
xk = position de la particule à la date tk
vk = vitesse de la particule à la date tk x1

• La meilleure position rencontrée est gardée en mémoire. x6


pk = meilleure position connue de la particule à la date tk x3 x4
(« p » = personnelle)

Date t1 t2 t3 t4 … tk x7
Position x1 x2 x3 x4 … xk

pk = x3 = meilleure position connue à tk

• La particule est attirée vers sa meilleure position. vp pk


La vitesse est déviée par une composante vp orientée vers pk.
vk → vk + vp avec vp = cp.(pk  xk).
xk
1056
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.4 Essaims
Techniques d’optimisation Mai 2017

4.3.4 Essaims
Voisinage
• Chaque particule communique avec un groupe d’autres particules ou voisins.
V = ensemble des voisins de la particule
gk = meilleure position connue des particules de V à la date tk (« g » = groupe)

• Plusieurs topologies de voisinage sont possibles.

Anneau Étoile Rayon


V = 2 à m particules V = toutes les particules V = une particule centrale

• La particule est attirée vers la meilleure position de son groupe. vg


La vitesse est déviée par une composante vg orientée vers gk. gk
vk → vk + vg avec vg = cg.(gk  xk).
xk
1057
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.4 Essaims
Techniques d’optimisation Mai 2017

4.3.4 Essaims
Mouvement des particules
• L’essaim est composé de N particules dont on simule le mouvement.
La vitesse et la position de chaque particule sont mises à jour à chaque date.
pk
Date tk Date tk+1 gk
vk vp vg
Vitesse : vk Vitesse : vk+1 = vk + vp + vg
Position : xk Position : xk+1 = xk + vk+1
xk vk+1
xk+1

• La nouvelle vitesse est une pondération des 3 composantes. vk+1


xk
- composante aventureuse : vk xk+1
- composante conservatrice : vp = cp.(pk  xk) avec cp = c1rp vk vg
- composante panurgienne : vg = cg.(gk  xk) avec cg = c2rg vp

• Les coefficients de pondération cp et cg comportent


- une part fixe (c1, c2) → à régler expérimentalement selon le problème
- une part aléatoire (rp , rg) → permet une exploration large de l’espace de recherche

1058
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.4 Essaims
Techniques d’optimisation Mai 2017

4.3.4 Essaims
Algorithme
• On simule le mouvement d’un essaim de N particules cherchant le minimum d’une fonction.

 positions x(1), x(2), … , x(N)


min f(x) → N particules  vitesses v(1), v(2), … , v(N)
x

• La convergence vers le minimum global dépend :


- du nombre de particules N → selon problème (N=10 à 100)
- de la topologie du voisinage V → m particules (m=2 à 10), voisinage fixé ou aléatoire
- des réglages de la vitesse → nombreuses variantes, réglage expérimental

• Mise à jour de la vitesse :  = facteur d’inertie  [0 , 1]



 c1,c2,c3 = constantes  [0 , 1]
vk+1 = vk + rpc1.(pk  xk) + rgc2.(gk  xk) + c3va  rp,rg = nombres aléatoires  [0 , 1]

 va = perturbation aléatoire
• On peut favoriser la convergence vers un optimum global
- en imposant une borne vmax sur la vitesse
- en réduisant progressivement le facteur d’inertie 
- en réinitialisant aléatoirement les particules de vitesse faible
1059
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.4 Essaims
Techniques d’optimisation Mai 2017

4.3.4 Essaims
Exemple
x2
Fonction de Griewank à une variable f(x)   cos( x )  1
4000
x
Minima locaux : sin(x)   0 → proche de k.2 lorsque  x  << 2000
2000

2,5
Fonction de Griewank
2

1,5

0,5

0
-30 -25 -20 -15 -10 -5 0 5 10 15 20 25 30
Valeur de x
-0,5
1060
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.4 Essaims
Techniques d’optimisation Mai 2017

4.3.4 Essaims
Exemple
x2
Fonction de Griewank à une variable f(x)   cos( x )  1
4000
15 1,E-06
8,E-07
10
6,E-07
5 4,E-07

Valeur de x
Valeur de x

2,E-07
0
0,E+00
0 100 200 300 400 500 600 700 800 900 1000
-5 -2,E-07 750 800 850 900 950 1000
Itérations -4,E-07 Itérations
-10
-6,E-07
-15 -8,E-07
-1,E-06
-20

0,10

0,08
• Nombre de particules : 100
Valeur de f

0,06
• Nombre d’itérations : 1000
0,04 • Nombre d’évaluations : 3.106
0,02
→ Solution : x = 1.804 10-7
0,00
0 100 200 300 400 500 600 700 800 900 1000
Itérations 1061
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.4 Essaims
Techniques d’optimisation Mai 2017

4.3.4 Essaims
Exemple
Fonction de Rosenbrock à deux variables : f ( x 1 , x 2 )  100 x 2  x 12    1  x 
2
1
2

5,0 1,00004
valeur x1 valeur x1
4,0
1,00002
valeur x2 valeur x2
3,0
1,00000
2,0

1,0 0,99998

0,0
0 10 20 30 40 50 60 70 80 90 100 0,99996
-1,0
Itérations Itérations
0,99994
-2,0
100 200 300 400 500 600 700 800 900 1000

12
10 • Nombre de particules : 100
8 • Nombre d’itérations : 1000
6 • Nombre d’évaluations : 3.106
4
2
→ Solution : x1 = 1.0000025
0
x2 = 1.0000048
-2 -1
-2
0 1 2 3 4
1062
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.5 Fourmis
Techniques d’optimisation Mai 2017

4.3.5 Fourmis
Principe
La méthode des colonies de fourmis (« Ant Colony », Dorigo et co 1990) est inspirée
du comportement des fourmis à la recherche de nourriture.

• Les fourmis déposent sur leur passage des substances volatiles appelées phéromones.
Plus un chemin est concentré en phéromones, plus il est attractif.
Ce mode de communication indirecte par modification de l’environnement est la stigmergie.

• Le chemin le plus court entre la fourmilière et la nourriture est parcouru plus rapidement.
Il reçoit davantage de phéromones au cours du temps et devient le chemin le plus emprunté.

1063
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.5 Fourmis
Techniques d’optimisation Mai 2017

4.3.5 Fourmis
Mouvement individuel
• Chaque fourmi se déplace de manière aléatoire indépendamment des autres fourmis.
Le choix de la direction dépend de la concentration locale en phéromones.

• Le trajet d’une fourmi est composé d’une succession de segments.


A partir de sa position courante, une fourmi a le choix entre plusieurs segments.

• L’intensité i du segment i représente sa concentration en phéromones. 1


La probabilité pi de choisir le segment i dépend de son intensité i. fourmi 2
2 < 1 < 3  p2 < p1 < p3
→ Le segment 3 a une probabilité plus forte d’être sélectionné. 3

Evaporation
chemin initial
• Si un seul chemin est marqué, toutes les fourmis le suivent.
Les autres solutions ne seront pas suffisamment explorées.
→ Le chemin sélectionné n’est pas forcément le plus court. chemin non exploré

• L’évaporation des phéromones permet d’affaiblir le chemin initial.


La probabilité d’explorer d’autres solutions est plus forte.
chemin optimal

1064
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.5 Fourmis
Techniques d’optimisation Mai 2017

4.3.5 Fourmis
Voyageur de commerce
Les algorithmes de colonies de fourmis s’appliquent de façon naturelle au PVC.

• Une fourmi « éclaireuse » crée un chemin initial peu marqué en phéromones.

• Les fourmis suivantes explorent aléatoirement l’ensemble des chemins.

• Le chemin le plus court se renforce plus rapidement en phéromones et devient plus attractif.
L’évaporation fait oublier les autres chemins.

Initialisation Exploration Evaporation Solution


1065
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.5 Fourmis
Techniques d’optimisation Mai 2017

4.3.5 Fourmis
Voyageur de commerce
• Lorsqu’une fourmi se trouve à la ville i, il reste un ensemble de villes non visitées J.

• La probabilité pij de choisir la ville jJ dépend des distances dij et des concentrations.

pij = (ij).(ij ) → normalisée à 1 sur jJ


1
ij = visibilité entre les villes i et j → ij  privilégie les villes proches
d ij
ij = intensité de l’arête i-j → concentration en phéromones

• Les paramètres de réglage  et  et contrôlent l’influence de la visibilité et de l’intensité.

• A la fin de son tour, la fourmi a parcouru une distance : D   d ij .

Elle dépose sur les arêtes i-j sélectionnées une quantité de phéromones ij.
D0
ij  si i-j est sur le trajet → privilégie les chemins les plus courts
D
D0 = distance de référence fixée

1066
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.5 Fourmis
Techniques d’optimisation Mai 2017

4.3.5 Fourmis
Voyageur de commerce
• A chaque itération, un ensemble de m fourmis parcourt les n villes.
Chaque fourmi augmente les intensités ij sur son trajet.
ij → ij + ij(k) après passage de la fourmi k (=1 à m) sur les arêtes i-j sélectionnées

• Lorsque les m fourmis sont passées, on réduit toutes les intensités par évaporation.
L’évaporation permet d’affaiblir l’attractivité des « mauvaises » solutions.
ij → (1  ) ij sur toutes les arêtes i-j ( = paramètre d’évaporation, 0 <  < 1)

Fourmi 1 Fourmi 2 Fourmi m Fin itération

Intensités ij(1) Intensités ij(2) Intensités ij(m) Intensités ij

Trajet T1 Trajet T2 Trajet Tm

Distance D1 Distance D2 Distance Dm Evaporation

Dépôt (1) sur T1 Dépôt (2) sur T2 Dépôt (m) sur Intensités (1)ij
Tm

Itération suivante
1067
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.6 Algorithme évolutionnaire
Techniques d’optimisation Mai 2017

4.3.6 Algorithme évolutionnaire


Principe
Les algorithmes évolutionnaires ou génétiques (Holland 1975) sont inspirés
des principes de l’évolution et de la sélection naturelle (Darwin 1859)

• Une population d’individus évolue de génération en génération.


Chaque individu est plus ou moins « performant » selon ses caractéristiques.
L’évolution naturelle favorise les caractéristiques qui rendent un individu performant.

• Le renouvellement d’une génération (parents) se déroule en 4 étapes :


- sélection d’une partie des parents pour la reproduction
- croisement des parents sélectionnés pour engendrer des enfants
- mutation (variation) éventuelle d’une partie des enfants
- sélection entre parents et enfants pour constituer la génération suivante.

• L’évolution fait apparaître des individus de plus en plus performants.


La rapidité et l’efficacité du processus dépend :
- de la taille de la population
- de la représentation (codage) des individus → variables binaires, entières, réelles
- des opérateurs de sélection et de variation → nombreuses variantes possibles

1068
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.6 Algorithme évolutionnaire
Techniques d’optimisation Mai 2017

4.3.6 Algorithme évolutionnaire


Problème de minimisation
On applique un algorithme évolutionnaire à un problème de minimisation.
 variables x = « phénotype » d’un individu
min f(x)  
x
 fonction f = « performance (fitness) » de l’individu
• La population est constitué de p individus (p  100 à 1000 selon la nature du problème).
Les mécanismes d’évolution ont pour objectif :
- de conserver les meilleures solutions (sélection)  intensification
- d’explorer de nouvelles solutions (variation)  diversification

• Les opérateurs de sélection sont basés sur la fonction de performance.


→ sélection déterministe, proportionnelle, par tournois, …
→ sélection pour la reproduction, pour le remplacement

• Les opérateurs de variation génèrent des solutions aléatoires.


→ modification d’une partie des variables
→ variation par croisement, par mutation

• Un algorithme « génétique » utilise une représentation binaire des individus (« génotype »).
Le génotype binaire est transcrit en phénotype (variables x) avant évaluation.
1069
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.6 Algorithme évolutionnaire
Techniques d’optimisation Mai 2017

4.3.6 Algorithme évolutionnaire


Algorithme

Eléments de l’algorithme Population initiale

k=0
• Paramètres
p = taille population Génération k : p parents Sélection de q parents
q = nombre d’enfants
N = nombre de générations
Croisement → q enfants
• Opérateurs
Sélection k+1
Mutation des q enfants
Croisement
Mutation
p + q individus candidats Evaluation des q enfants
• Codage des solutions
Binaire (génotype)
Réel (phénotype) Sélection de p individus

• Fonction d’évaluation k=N


Fitness
Population finale
1070
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.6 Algorithme évolutionnaire
Techniques d’optimisation Mai 2017

4.3.6 Algorithme évolutionnaire


Exemple
Minimisation de f(x) = x²

• On considère une population de 10 individus, représentés chacun par :


- une valeur xi, i=1 à 10 comprise entre 16 et +16
- son évaluation f(xi)

• L’étape de reproduction comprend 4 étapes :


- sélection des 8 meilleurs parents parmi les 10 → 8 parents
- appariement des parents sélectionnés par paires → 4 paires de parents
- croisement de chaque paire de parents pour engendrer 2 enfants → 8 enfants
- mutation de 2 enfants parmi les 8

• Les 8 enfants yj, j=1 à 8 sont ensuite évalués → f(yj)


On dispose de 18 candidats pour la génération suivante :
- 10 parents → xi , f(xi) pour i = 1 à 10
- 8 enfants → yj , f(xj) pour j = 1 à 8

• L’étape de remplacement consiste à sélectionner les 10 meilleurs individus parmi les 18


pour constituer la génération suivante.
1071
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.6 Algorithme évolutionnaire
Techniques d’optimisation Mai 2017

4.3.6 Algorithme évolutionnaire


Exemple
Minimisation de f(x) = x²
Population initiale
10 parents Population initiale (génération k).

La population initiale comporte 10 individus (parents).


+1 (1)

+5 (25) Chaque individu est représenté par


- une valeur xi, i=1 à 10 comprise entre 16 et +16
performance décroissante

5 (25)
- son évaluation ou performance f(xi)
8 (64)
Les individus sont triés par performance décroissante
10 (100) (valeur de f croissante car f est à minimiser).
+11 (121)

11 (121)

+12 (144)

12 (144)

+13 (169)

1072
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.6 Algorithme évolutionnaire
Techniques d’optimisation Mai 2017

4.3.6 Algorithme évolutionnaire


Exemple
Minimisation de f(x) = x²
Population initiale Sélection - Appariements
10 parents 8 meilleurs parents

+1 (1)
+1 (1) Sélection pour la reproduction
+5 (25)
8 (64)
5 (25) Les 8 meilleurs parents sont sélectionnés,
puis appariés aléatoirement 2 à 2.
8 (64) 10 (100)
→ sélection déterministe
+11 (121)
10 (100)
Méthodes de sélection possibles
+11 (121) - Proportionnelle
+5 (25)
Un parent peut être sélectionné plusieurs fois
11 (121) 11 (121) proportionnellement à sa performance.
+12 (144)
- Tournois
Plusieurs parents sont tirés pour le tournoi.
5 (25)
12 (144) Le meilleur parent du tournoi est sélectionné.
+12 (144)
+13 (169)

1073
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.6 Algorithme évolutionnaire
Techniques d’optimisation Mai 2017

4.3.6 Algorithme évolutionnaire


Exemple
Minimisation de f(x) = x²
Population initiale Sélection - Appariements Croisements
10 parents 8 meilleurs parents 8 enfants

+1 (1)
+1 (1) 1
+5 (25) Croisement
8 (64) 7
5 (25)
2 parents engendrent 2 enfants par croisement.
8 (64) 10 (100) 5 Pour chaque enfant, la valeur de x est tirée
+11 (121) +2 aléatoirement entre celles des parents.
10 (100)

+11 (121)
L’opérateur de croisement doit être adapté
+5 (25) 10 au problème :
11 (121) 11 (121) 3 - variables entières ou réelles
- fonction continue , minima locaux
+12 (144)
- proximité parents / enfants
5 (25) +6
12 (144)
+12 (144) +8
+13 (169)

1074
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.6 Algorithme évolutionnaire
Techniques d’optimisation Mai 2017

4.3.6 Algorithme évolutionnaire


Exemple
Minimisation de f(x) = x²
Population initiale Sélection - Appariements Croisements Mutations
10 parents 8 meilleurs parents 8 enfants Evaluations

+1 (1)
+1 (1) 1 1 (1)
+5 (25) Mutation
8 (64) 7 7 (49)
5 (25)
2 enfants sont modifiés aléatoirement.
8 (64) 10 (100) 5 5 (25) Les 8 enfants sont ensuite évalués.
+11 (121) +2 +2 (4)
10 (100) L’opérateur de mutation peut être
uniforme ou gaussien.
+11 (121)
+5 (25) 10 +12 (144)

11 (121) 3
Pour une mutation gaussienne,
11 (121) 3 (9)
l’écart-type  évolue selon
+12 (144) le taux  de mutations favorables.
5 (25) +6 +6 (36)
12 (144)
+12 (144) +8 14 (196) Règle des 1/5
+13 (169) -  > 1/5 → augmenter 
-  < 1/5 → diminuer 
1075
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.6 Algorithme évolutionnaire
Techniques d’optimisation Mai 2017

4.3.6 Algorithme évolutionnaire


Exemple
Minimisation de f(x) = x²
Population initiale Sélection - Appariements Croisements Mutations Candidats génération suivante
10 parents 8 meilleurs parents 8 enfants Evaluations 10 parents + 8 enfants

+1 (1) +1 (1)
+1 (1) 1 1 (1) 1 (1)
+5 (25) +5 (25)
8 (64) 7 7 (49) 7 (49)
5 (25) 5 (25)

8 (64) 10 (100) 5 5 (25) 8 (64) 5 (25)

+11 (121) +2 +2 (4) +2 (4)


10 (100) 10 (100)

+11 (121) +11 (121)


+5 (25) 10 +12 (144) +12 (144)

11 (121) 11 (121) 3 3 (9) 11 (121) 3 (9)

+12 (144) +12 (144)


5 (25) +6 +6 (36) +6 (36)
12 (144) 12 (144)
+12 (144) +8 14 (196) 14 (196)
+13 (169) +13 (169)

1076
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.6 Algorithme évolutionnaire
Techniques d’optimisation Mai 2017

4.3.6 Algorithme évolutionnaire


Exemple
Minimisation de f(x) = x²
Population initiale Sélection - Appariements Croisements Mutations Sélection nouvelle population
10 parents 8 meilleurs parents 8 enfants Evaluations 10 meilleurs individus

+1 (1) +1 (1)
+1 (1) 1 1 (1) 1 (1)
+5 (25) +5 (25)
8 (64) 7 7 (49) 7 (49)
5 (25) 5 (25)

8 (64) 10 (100) 5 5 (25) 8 (64) 5 (25)

+11 (121) +2 +2 (4) +2 (4)


10 (100) 10 (100)

+11 (121) +11 (121)


+5 (25) 10 +12 (144) +12 (144)

11 (121) 11 (121) 3 3 (9) 11 (121) 3 (9)

+12 (144) +12 (144)


5 (25) +6 +6 (36) +6 (36)
12 (144) 12 (144)
+12 (144) +8 14 (196) 14 (196)
+13 (169) +13 (169)

1077
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.6 Algorithme évolutionnaire
Techniques d’optimisation Mai 2017

4.3.6 Algorithme évolutionnaire


Exemple
Minimisation de f(x) = x²
Population initiale Sélection - Appariements Croisements Mutations Nouvelle population
10 parents 8 meilleurs parents 8 enfants Evaluations 10 individus

+1 (1) +1 (1)
+1 (1) 1 1 (1)
+5 (25) 1 (1) Remplacement
8 (64) 7 7 (49)
5 (25) +2 (4) 4 parents conservés
8 (64) 10 (100) 5 5 (25) 3 (9)
6 enfants sélectionnés
+11 (121) +2 +2 (4)
10 (100) +5 (25)

+11 (121) 5 (25)


+5 (25) 10 +12 (144)

11 (121) 11 (121) 3 3 (9) +6 (36)

+12 (144) 7 (49)


5 (25) +6 +6 (36)
12 (144) 8 (64)
+12 (144) +8 14 (196)
+13 (169) 10 (100)

Moyenne f = 91.4 Moyenne f = 31.4


1078
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.7 Adaptation de covariance
Techniques d’optimisation Mai 2017

4.3.7 Adaptation de covariance


Principe
La méthode d’adaptation de covariance (« CMAES », Hansen et Ostermeier 2001) combine
un algorithme évolutionnaire avec une méthode de descente.

• CMAES = « Covariance Matrix Adaptation Evolution Strategy »


L’aspect évolutionnaire (ES) permet une diversification par génération aléatoire de candidats.
L’aspect descente (CMA) permet une intensification vers le minimum local.

• Une itération se déroule en 3 étapes :


- tirage de candidats suivant une loi normale
- sélection des meilleurs candidats (minimisation de f(x))
- mise à jour (adaptation) de la moyenne et la covariance

Tirage Sélection Adaptation


1079
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.7 Adaptation de covariance
Techniques d’optimisation Mai 2017

4.3.7 Adaptation de covariance


Echantillon de candidats
• Les paramètres de la distribution au début de l’itération sont :
- la moyenne : m
- la covariance : C
- le pas d’exploration : 

• On génère un échantillon de p candidats : xi = m + yi , i = 1 à p


Les variables y suivent une loi normale : yi ← N(0,C)

• Les q meilleurs candidats sont sélectionnés : xj = m + yj , j = 1 à q


f(x1) ≤ f(x2) ≤  ≤ f(xq) ≤  ≤ f(xp)

• Les variables de déplacement yj associées aux q meilleurs candidats permettent de :


- construire une direction de descente
- adapter la matrice de covariance

• Les paramètres m, C,  de la distribution sont mis à jour à partir :


- des valeurs précédentes de m, C, 
- de la moyenne et de la covariance des yj , j= 1 à q
- du taux de réussite de l’échantillon → f(xi) < f(m)
1080
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.7 Adaptation de covariance
Techniques d’optimisation Mai 2017

4.3.7 Adaptation de covariance


Moyenne et pas
• La direction de descente d est la moyenne pondérée des q meilleurs déplacements.
q
d w y
j1
j j → poids w1, w2, … , wq associés aux déplacements y1, y2, … , yq
(y1 = meilleur candidat)

• Mise à jour de la moyenne m

m  m  d d

• Mise à jour du pas 


 = taux de réussite de l’échantillon
= part de candidats xi tels que f(xi) < f(m) m + d

Règle des 1/5


- Si  > 1/5 , on augmente . m
- Si  < 1/5 , on diminue .
1   s
.
3 1 s
     avec    e , s  1 / 5

1081
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.7 Adaptation de covariance
Techniques d’optimisation Mai 2017

4.3.7 Adaptation de covariance


Covariance
• La covariance pondérée des q meilleurs déplacements est Cq.

 w y .y 
q
Cq  j j
T
j → matrice de rang q
j1
Cq Cd
• La direction d définit une matrice Cd.

Cd  d.d T → matrice de rang 1


dd
C
( mise à jour hessien par méthode SR1)
m + d
• Mise à jour de la covariance C

C  (1   q   d )C   q Cq   d Cd
m
avec des pondérations q , d

1082
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.7 Adaptation de covariance
Techniques d’optimisation Mai 2017

4.3.7 Adaptation de covariance


Itération CMAES
• Mise à jour de m, C, 
q
m  m  d avec d  w y
j1
j j
(1 q d) C + qCq + dCd
1   s
.
3 1 s
    avec    e , s  1 / 5

C  (1   q   d )C   q Cq   d Cd d
C

 w y .y 
q
Cq  j j
T
j → rang q
j1
m + d
Cd  d.d T → rang 1

• Direction moyenne m
On peut remplacer d par (1p)dp + cd
→ pondération entre direction précédente dp
et direction courante dc
→ moyenne des directions successives
1083
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.7 Adaptation de covariance
Techniques d’optimisation Mai 2017

4.3.7 Adaptation de covariance


Algorithme Initialisation : m0 , C0 , 0
k=0
Paramètres de l’algorithme
Itération k : mk , Ck , k
• Tailles
p = taille échantillon
Tirage de p candidats → N(mk , kCk)
q = taille sélection

• Poids Sélection des q meilleurs candidats


wj = poids sur yj , j=1 à q
k+1
Direction d Covariance Cq
• Pondérations
 → pas  Correction Cd
q → correction covariance Cq
d → correction covariance Cd
Mise à jour m,  Mise à jour C
p → direction précédente dp

Réglages standards expérimentaux Itération k+1 : mk+1 , Ck+1 , k+1


en fonction de la taille du problème
k=N
Stabilisation : C  H-1
1084
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.7 Adaptation de covariance
Techniques d’optimisation Mai 2017

4.3.7 Adaptation de covariance


Relation covariance - hessien
• Au voisinage du minimum m de f : f ( x )  f ( m) 
1
x  m T  2f (m)x  m  avec f (m)  0
2
Les lignes de niveau de f vérifient : x  m T Hx  m   C te avec H   2 f (m)

1 
1
 x  m T C 1  x  m 
• La densité de la loi normale N(m , C) à n variables est : p( x )  1
e 2

2
n
2 C 2

Les lignes d’iso-densité vérifient : x  m T


C 1
x  m   C te

• La direction de déplacement d est définie à partir d’un échantillon de loi N(m , C).
Au voisinage du minimum, si la covariance C est proche de H-1 (à un facteur près),
l’échantillon xi, i = 1 à p suit les lignes de niveau de f.
→ pas de direction privilégiée (d  0)
→ stabilisation de m et C

• Lorsque les itérations CMAES se stabilisent, on observe en pratique que : C  H-1


→ résultat expérimental, pas de preuve théorique de convergence

1085
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.7 Adaptation de covariance
Techniques d’optimisation Mai 2017

4.3.7 Adaptation de covariance


Relation covariance - hessien
Convergence de la covariance vers un multiple du hessien : C  H-1

1086
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.7 Adaptation de covariance
Techniques d’optimisation Mai 2017

4.3.7 Adaptation de covariance


Exemple
Fonction de Rosenbrock à deux variables : f ( x 1 , x 2 )  100 x 2  x 12    1  x 
2
1
2

25 1,25

20 1

15 0,75

10 0,5

5 0,25

0 0
-4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 -1,5 -1 -0,5 0 0,5 1 1,5
-5 -0,25

 240.5  119.4  9 • Nombre d’itérations : 140


• Covariance : C 1   .10
  119.4 59.5  • Nombre d’évaluations : 800
 802  400 
• Hessien : H    → Solution : x1 = 0.99999936
  400 200  x2 = 0.99999938
1087
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.8 Affine shaker
Techniques d’optimisation Mai 2017

4.3.8 Affine shaker


Principe
La méthode Affine Shaker (Battiti et Tecchiolli 1994) est une recherche aléatoire locale.
La région de recherche est modifiée en fonction de l’amélioration constatée sur la fonction.
« shaker »  mouvement aléatoire
« affine »  transformation affine de la région de recherche

• La région de recherche B est centrée sur le point courant x0 → f0 = f(x0)


Un déplacement aléatoire d est tiré dans la région de recherche.

• La fonction est évaluée en x1 = x0 + d → f1 = f(x1)


Si f1 < f0 , le point x1 est sélectionné.
La région B est dilatée suivant la direction d.

• Sinon on évalue le point x2 = x0  d → f2 = f(x2)


Si f2 < f0, le point x2 est sélectionné.
La région B est dilatée suivant la direction d.

• Sinon la région B est contractée suivant la direction d.


Le point x0 est conservé.

1088
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.8 Affine shaker
Techniques d’optimisation Mai 2017

4.3.8 Affine shaker


Région de recherche
• La région de recherche B est définie dans Rn par n vecteurs indépendants b1, … , bn.
B  (b1 ,, b n ) avec b i  R n
• Le déplacement d est une combinaison linéaire des bi avec des coefficients aléatoires i.
Les coefficients i sont tirés uniformément dans [1,+1].
n
d  b
i 1
i i avec  1  i  1

• La région B est dilatée ou contractée avec un coefficient  suivant la direction d.


On ajoute à chaque vecteur b une composante proportionnelle au produit scalaire dTb .
d
b  b'  b  ( T b) avec   → vecteur unitaire suivant d
d
dTb
 b'  b   2
d
d d b
• Dilatation :  = d > 0 (d = +0.5) (Tb)
Contraction :  = c < 0 (c = 0.5)
b
1089
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.8 Affine shaker
Techniques d’optimisation Mai 2017

4.3.8 Affine shaker


Région de recherche
• On applique la transformation à chacun des vecteurs b1, … , bn définissant la région B.

b'i  b i  ( T b i ) , i  1 à n

• Sous forme matricielle, en notant B la matrice nn des vecteurs colonnes b1, … , bn
b1 b2 bn
 b11 b 21   b n1   1 
   
 b12 b 22   b n 2   2 
B  b1 b2   bn        et     
   
       
   
 b1n b 2 n   b nn   n 

b'1  b1  ( T b1 )  B'  B  ( T B)  B  (T )B  (I  T )B


b'  b  ( T b )
 2 2 2 dd T
   B'  PB avec P  I    I  
T
2
  d
b'n  b n  ( T b n )
 → matrice de transformation P 1090
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.8 Affine shaker
Techniques d’optimisation Mai 2017

4.3.8 Affine shaker


Illustration en 2D
• La région initiale B est un carré défini par (b1 , b2).

• Le déplacement aléatoire d donne un point x = x + d.


b'1  b1  ( T b1 )  dd T 
• Les vecteurs b1 et b2 deviennent b1 et b2 :  
 B'  I   2 B
b'2  b 2  ( b 2 )
T
 d 
 
• La nouvelle région B est un parallélogramme dilaté suivant la direction d.

b2
b2 b1
d d
déplacement d x
x b1 x
B
B
1091
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.8 Affine shaker
Techniques d’optimisation Mai 2017

4.3.8 Affine shaker


Algorithme
L’algorithme s’applique à un problème de minimisation sans contrainte : minn f ( x )
xR
Il s’arrête sur un minimum local qui dépend de l’initialisation x0 , B0.

Solution initiale : x0
Région initiale : B0
k=0
k → k+1  dd T 
Solution courante : xk
Région k 1
B   I   B
Mouvement dans Bk : d  d
2  k
 

Evaluation en xk + d accepté
rejeté Dilatation suivant d Contraction suivant d
(=d > 0) (=c < 0)
Evaluation en xk  d accepté
rejeté

N rejets consécutifs
Arrêt sur minimum local
ou Taille B insuffisante
1092
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.8 Affine shaker
Techniques d’optimisation Mai 2017

4.3.8 Affine shaker


Exemple

Fonction de Rosenbrock à deux variables : f ( x 1 , x 2 )  100 x 2  x 12   1  x 
2
1
2

6
Nf f x1 x2
5 1 40036,0 -5,0000 5,0000
3 4842,0 -2,5123 -0,6379
4 6 1517,8 -1,0533 5,0000
9 971,7 2,5591 3,4356
3 15 932,0 1,6944 -0,1809
24 51,5 1,4993 1,5322
2 39 1,2779 1,3401 1,9036
48 1,0386 0,6511 0,3282
1
402 0,1641 0,5952 0,3527
1206 0,000097 0,9903 0,9806
0
-5 -4 -3 -2 -1 0 1 2 3 28944 0,000023 1,0040 1,0082
-1 95676 0,000021 0,9978 0,9960

• Initialisation : x1 = 5
x2 = 5
• Progression initiale rapide : x1 = 0.99 après 1200 appels fonctions
x2 = 0.98
• Convergence précise lente → nécessite plusieurs milliers d’appels fonction
1093
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017

4.3.9 Reformulations
Problème d’optimisation difficile

min f(x)
x
 problème d’optimisation (PO)

• Le problème est considéré comme « difficile » dans 2 cas.


- Les variables sont discrètes → contrainte d’intégrité de la solution
- La fonction admet des minima locaux → difficulté de garantir le minimum global

Des techniques de reformulation permettent de favoriser la résolution.

• Les contraintes d’intégrité peuvent être prises en compte par pénalisation.


→ transforme le problème mixte en problème continu
→ permet d’appliquer des algorithmes sans contrainte (classiques ou métaheuristiques)

• Le minimum global peut être isolé par transformations successives.


→ dilatation de la fonction pour éliminer les minima locaux supérieurs à un seuil
→ poursuite de l’algorithme sur la fonction dilatée

• Les reformulations améliorent l’efficacité des métaheuristiques


et/ou élargissent leur champ d’application.
1094
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017

4.3.9 Variables discrètes


Méthode de pénalisation

min f(x)
x
 problème à une variable x

• On suppose que la variable x est astreinte à un ensemble discret de valeurs.


x  D  d1 , d 2 ,..., d p 
• On définit une fonction de pénalisation  : (x) = 0 si x  D
(x) > 0 sinon

Exemples de pénalisation : (x)   (x  d j )(x  d j1 ) avec j tel que d j  x  d j1

 x dj 
(x)  sin   
 d d 
 j1 j 

• La pénalisation crée des minima locaux pour les valeurs admissibles x  D.


On peut ensuite appliquer une méthode d’optimisation continue à la fonction pénalisée.

min F( x )  f(x)  (x)  minimisation sur la variable x continue


xR
pénalisation  à régler pour forcer x  D
1095
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017

4.3.9 Variables discrètes


Exemple

min f(x)  x 4  x 3  2x 2  8x avec x   1, 0 ,1, 2


8
x 3
• Fonction pénalisée avec (x)   (x  d j )(x  d j1 ) et  = 30

15

10
F( x )  f(x)  (x)

5 f(x)

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

-5

-10
1096
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017

4.3.9 Variables discrètes


Exemple

min f(x)  x 4  x 3  2x 2  8x avec x   1, 0 ,1, 2


8
x 3
 x dj 
• Fonction pénalisée avec (x)  sin    et  = 10
 d d 
 j1 j 

15

10
F( x )  f(x)  (x)

5 f(x)

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

-5

-10
1097
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017

4.3.9 Minima locaux


Méthode de dilatation

min f(x)
x
 problème à plusieurs minima locaux

• On suppose qu’un premier minimum local a été trouvé en x=xm → f(xm) = fm

 c2
f(x)  c1 x  x m  si f ( x )  f m
• On définit la fonction dilatée F : F(x)   f (x)  f m
f(x) si f ( x )  f m

Le terme en c1 remonte les minima locaux supérieurs à fm sans modifier le voisinage de xm.
Le terme en c2 remonte la fonction au voisinage de xm.
Les minima inférieurs à fm ne sont pas modifiés.

• Le réglage des coefficients c1 et c2 permet de pénaliser les régions où f(x) > fm


et de favoriser l’exploration des minima restants.

• L’algorithme est redémarré sur la fonction dilatée F.


Les dilatations successives éliminent les minima locaux et isolent le minimum global.

1098
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017

4.3.9 Minima locaux


Exemple
x2
Fonction de Griewank à une variable f(x)   cos( x )  1
4000
x
Minima locaux : sin(x)   0 → proche de k.2 lorsque  x  << 2000
2000

xm -25,12 -18,84 -12,56 -6,28 0,00 6,28 12,56 18,84 25,12


fm 1,578 0,887 0,394 0,098 0,0000 0,0986 0,3946 0,8878 1,578

2,5

1,5

0,5

0
-30 -25 -20 -15 -10 -5 0 5 10 15 20 25 30

-0,5
1099
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017

4.3.9 Minima locaux


Exemple
Fonction dilatée autour du minimum local xm = 6.28 , fm =0.098

Effet du terme c1
100
- Remonter les minima locaux supérieurs à 0.098
- Conserver le minimum xm et le minimum global
90 0

80

70

60

50
Ajout du terme c1
40

30
Fonction initiale
20

10

0
-25 -20 -15 -10 -5 0 5 10 15 20 25

1100
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017

4.3.9 Minima locaux


Exemple
Fonction dilatée autour du minimum local xm = 6.28 , fm =0.098

Effet du terme c2
- Remonter le minimum local xm 100
- Conserver le minimum global 0
90

80
Ajout du terme c2
70

60

50

40

30
Fonction initiale
20

10

0
-25 -20 -15 -10 -5 0 5 10 15 20 25

1101
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017

4.3.9 Minima locaux


Exemple
Fonction dilatée autour du minimum local xm = 6.28 , fm =0.098
Il ne reste que le minimum global en 0 (= seul minimum inférieur à fm).

100

90

80

70

60
Fonction dilatée
50

40

30

20

Fonction initiale 10

0
-5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10

1102
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017

4.3.9 Minima locaux


Fonction signe
f(x)  g( x ) si c( x )  0
• La fonction dilatée F est de la forme : F(x)  f(x)
 sin on
F(x)  f ( x )  sgnc( x )  1g( x )
1
En utilisant la fonction signe :
2
• La condition sur le signe de c(x) crée des discontinuités.
Selon l’algorithme utilisé, il peut être préférable de garder une fonction continue.

• On peut approcher la fonction signe par une fonction continue. (fonction sigmoïde).
1,2
2
sgn(y)   y
1 1,0
1 e 0,8
=1
0,6
ou 0,4
=2

ey  e  y 0,2
sgn(y)  tanh(y)  y y 0,0
e e -5 -4 -3 -2 -1 -0,2 0 1 2 3 4 5
-0,4
avec  ,  positifs assez grands -0,6
-0,8
-1,0
-1,2
1103
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017

4.3.9 Fonctions tests


Exemples

• Fonction de Griewank

Minimum global unique


x=0

• Fonction de Michalewicz

Minimum global unique


x = (2.20 , 1.57) en dimension d=2

1104
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017

4.3.9 Fonctions tests


Exemples

• Fonction de Rastrigin

Minimum global unique


x=0

• Fonction de Schubert

18 minima globaux
f(x*) = 186.7309

1105
Max CERF
Techniques d’optimisation Mai 2017

Résumé : optimisation discrète


Méthodes exactes
• Algorithmes spécifiques : chemin (§4.1.2)
flot (§4.1.3)
affectation (§4.1.4)

• Programmation linéaire : techniques de formulation (§4.2.1)


séparation et évaluation (§4.2.3)

Méthodes approchées
• Métaheuristiques : recuit simulé (§4.3.2)
essaims (§4.3.4)
algorithmes évolutionnaires (§4.3.6)

• Applications : minima locaux , minimum global


front de Pareto (optimisation multi-objectifs)

Difficultés pratiques
• Combinatoire exponentielle
• Minima locaux
• Pas de conditions d’optimalité
1106
Max CERF
Techniques d’optimisation Mai 2017

Bibliographie : optimisation discrète


Livres en français

• Programmation mathématique (M. Minoux)


• Métaheuristiques pour l’optimisation difficile (J. Dréo, A. Pétrowski, P. Siarry, E. Taillard)
• Optimisation discrète (A. Billionnet)
• Algorithmes de graphes (P. Lacomme, C. Prins, M. Sevaux)
• Programmation linéaire (C. Guéret, C. Prins, M. Sevaux)
• Précis de recherche opérationnelle (R. Faure, B. Lemaire, C. Picouleau)

Livres en anglais

• Stochastic optimization (J.J. Schneider, S. Kirkpatrick)


• Integer and combinatorial optimization (L.A. Wolsey, G.L. Nemhauser)
• Heuristic search (S. Edelkamp, S. Schrödl)

1107
5 Optimisation fonctionnelle Max CERF
Techniques d’optimisation Mai 2017

Sommaire
1. Bases théoriques

2. Optimisation sans contraintes

3. Optimisation avec contraintes

4. Optimisation discrète

5. Optimisation fonctionnelle
5.1 Fonctionnelle
5.2 Calcul des variations
5.3 Commande optimale
5.4 Filtrage

« Un bon contrôle, c’est la moitié d’un but. » (Michel Platini) 1108


5 Optimisation fonctionnelle Max CERF
5.1 Fonctionnelle
Techniques d’optimisation Mai 2017

Sommaire
1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes
4. Optimisation discrète

5. Optimisation fonctionnelle
5.1 Fonctionnelle
5.1.1 Définition
5.1.2 Norme
5.1.3 Voisinage
5.1.4 Variation
5.1.5 Minimum
5.2 Calcul des variations
5.3 Commande optimale
5.4 Filtrage

1109
5 Optimisation fonctionnelle Max CERF
5.1 Fonctionnelle
5.1.1 Définition
Techniques d’optimisation Mai 2017

5.1.1 Fonctionnelle
Espace de fonctions
• On considère des fonctions y de [a,b] dans Rn : x  [a , b]  y(x)  R n
On note Y l’espace des fonctions considérées.

• Exemples : espace des fonctions continues (classe C0) de [a,b] dans Rn


espace des fonctions dérivables (classe C1) de [a,b] dans Rn
espace des fonctions continues par morceaux de [a,b] dans Rn
espace des fonctions dérivables par morceaux de [a,b] dans Rn

Fonctionnelle
• Une fonctionnelle J est une fonction de Y dans R = « fonction de fonctions »
La fonctionnelle J associe à toute fonction y de Y une valeur réelle J(y).
J : y  Y  J ( y)  R
b
• En pratique la fonctionnelle J est souvent de la forme : J ( y)  Lx , y, y'dx

a

• Pour étudier le comportement d’une fonctionnelle (variations, extrema), il faut définir


une norme sur l’espace de fonctions Y et la notion de « dérivée » d’une fonctionnelle.

1110
5 Optimisation fonctionnelle Max CERF
5.1 Fonctionnelle
5.1.2 Norme
Techniques d’optimisation Mai 2017

5.1.2 Norme
Norme d’une fonction

• Une norme . associe à une fonction y un réel positif noté y .


 y   . y homogène
• La norme vérifie les propriétés :  yz  y  z
 inégalité triangulaire

Exemples de normes usuelles pour des fonctions

• Norme 0 (pour une fonction continue) : y  max y( x )


0 xa , b 

• Norme 1 (pour une fonction dérivable) : y 1  max y( x )  max y' ( x )


xa , b  xa , b 

1/ p
b 
  y( x ) dx 

p
• Norme Lp (pour une fonction intégrable) : y Lp  
a 

• La norme L est identique à la norme 0 : y 


 y 0

1111
5 Optimisation fonctionnelle Max CERF
5.1 Fonctionnelle
5.1.3 Voisinage
Techniques d’optimisation Mai 2017

5.1.3 Voisinage
Voisinage d’une fonction
• Le voisinage d’une fonction y* est l’ensemble des fonctions y de Y telles que

y  y *   pour  positif donné → dépend de la norme considérée

• Le voisinage en norme 0 est l’ensemble des fonctions proches de y* en valeur.

y( x )  y * ( x )   sur [a , b]

• Le voisinage en norme 1 est l’ensemble des fonctions proches de y* en valeur et dérivée.

y( x )  y * ( x )  y' ( x )  y*' ( x )   sur [a , b]

• Le voisinage en norme 1 est plus restreint (→ contient moins de fonctions).


y1
y y1 est voisine de y en norme 0 et en norme 1.

y0
y y0 est voisine de y en norme 0 seulement.

1112
5 Optimisation fonctionnelle Max CERF
5.1 Fonctionnelle
5.1.4 Variation
Techniques d’optimisation Mai 2017

5.1.4 Variation
Variation première
• La variation première de J en y est la fonctionnelle linéaire notée Jy vérifiant

J ( y  )  J ( y)  J y ()  o() pour toute fonction  et tout réel 

• La variation première Jy se calcule pour toute fonction  par


J ( y  )  J ( y)
J y ()  lim  g' (0) avec g()  J ( y  )
 0 

Variation seconde
• La variation seconde de J en y est la fonctionnelle quadratique notée 2Jy vérifiant

J ( y  )  J ( y)  J y ()   2 J y () 2  o( 2 ) pour toute fonction  et tout réel 

• Une fonctionnelle bilinéaire est de la forme B(y,z), linéaire par rapport à y et z.


Une fonctionnelle quadratique est de la forme B(y,y), avec B fonctionnelle bilinéaire.
1
• La variation seconde 2Jy se calcule pour toute fonction  par  2 J y ()  g' ' (0)
2
1113
5 Optimisation fonctionnelle Max CERF
5.1 Fonctionnelle
5.1.5 Minimum
Techniques d’optimisation Mai 2017

5.1.5 Minimum
Minimum d’une fonctionnelle
• La fonction y* est un minimum local de la fonctionnelle J si

  0 , y  Y , y  y *    J ( y*)  J ( y)

• J(y*)  J(y) pour toute fonction y dans un voisinage de y* → dépend de la norme considérée
- Avec la norme 0, le minimum y* est un minimum fort.
- Avec la norme 1, le minimum y* est un minimum faible (voisinage restreint).

Conditions nécessaires de minimum local


• Toute fonction y de la forme y = y*+  appartient au voisinage de y* si  est assez petit.
 est une perturbation admissible (= fonction telle que y  Y).

J ( y)  J ( y * )  J ( y*)  J y* ()   2 J y* () 2  o( 2 )

• y* minimum local  J y* ()   2 J y* () 2  0 ,  admissible,  petit

J ()  0 → condition nécessaire d’ordre 1


  2 y* , 
 J y* ( )  0 → condition nécessaire d’ordre 2
1114
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
Techniques d’optimisation Mai 2017

Sommaire
1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes
4. Optimisation discrète

5. Optimisation fonctionnelle
5.1 Fonctionnelle
5.2 Calcul des variations
5.2.1 Problème type
5.2.2 Conditions de minimum
5.2.3 Extensions
5.2.4 Contraintes
5.2.5 Minimum fort
5.3 Commande optimale
5.4 Filtrage

1115
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.1 Problème type
Techniques d’optimisation Mai 2017

5.2.1 Problème type

 Formulation

 Conditions de minimum

 Variation première et seconde

1116
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.1 Problème type
Techniques d’optimisation Mai 2017

5.2.1 Problème type


Formulation
b
min J ( y)  Lx , y, y'dx
 → formulation intégrale adaptée à de nombreux problèmes
yY
a

y (a )  
• Y est l’espace des fonctions C1 de [a,b] dans R, à valeurs fixées en a et b :  y(b)  

• L (lagrangien ou coût instantané) est une fonction C1 de R3 dans R : ( x , y, z)  L( x , y, z)

y
y2

 Illustration : y1 , y 2 , y *  Y

y* J ( y*)  J ( y1 )
J ( y*)  min J ( y) 

yY J ( y*)  J ( y 2 )
y1

0 a b x
1117
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.1 Problème type
Techniques d’optimisation Mai 2017

5.2.1 Conditions de minimum


Voisinage
• On considère une fonction y* de Y et des fonctions de la forme y = y* + .
 est une perturbation admissible :  de classe C1 sur [a,b]
(a )  0   y(a )  y * (a )    yY
(b)  0  y( b)  y * ( b)  
 
• Les fonctions y forment un voisinage de y* en norme 1 (y proche de y* en valeur et dérivée).

Minimum
• Les conditions nécessaires pour que y* soit un minimum de J sont

J y* ()  0 → condition nécessaire d’ordre 1


 2 J ()  0 , 
 y* → condition nécessaire d’ordre 2

• On évalue J en y = y* +  pour obtenir l’expression des variations première et seconde,


puis écrire les conditions nécessaires de minimum

Les conditions nécessaires sont exprimées pour un voisinage de y* en norme 1.


→ conditions nécessaires pour un minimum faible
→ conditions nécessaires également valables pour un minimum fort
1118
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.1 Problème type
Techniques d’optimisation Mai 2017

5.2.1 Variations
Evaluation de J(y* + )
•  est une perturbation admissible de classe C1,  est un réel quelconque.
b
J ( y * )  Lx , y * , ( y * )'dx  J ( y*)  J y* ()   2 J y* () 2  o( 2 )

a

• On développe L à l’ordre 2 en  au point (x,y*,y*’).

Lx , y * , ( y * )'  L  L y  ' L z   2 2 L yy   2 ' L yz   2 '2 L zz  o( 2 )


1 1
2 2
L L
• Notations : Ly  ( x , y*, y*' ) , Lz  ( x , y*, y*' )  L y ' , L yy , L yz , L zz
y z noté

→ dérivées partielles de L(x,y,z) évaluées au point (x,y*(x),y*’(x))

b
• Variation première de J (terme en ) : J y* () 
 L
a
y 
 ' L z dx

 
b
1
• Variation seconde de J (terme en 2) :  J y* ()  2
2 L yy  2' L yz  '2 L zz dx
2a
1119
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.1 Problème type
Techniques d’optimisation Mai 2017

5.2.1 Variations
Variation première
• On intègre par parties le terme en ’ dans la variation première.
b b b
J y* ()   L 
 ' L z dx  L y dx  
 L z a    L z ' dx
b
y
a a a
b

   d  L 
 J y* ()   L y  L z ' dx car (a) = (b) = 0 et en notant Lz '   ( x , y*, y*' ) 
a (perturbation admissible) dx  z 

Variation seconde
• On intègre par parties le terme en ’ dans la variation seconde.

 
b
1
 J y* () 
2
2 L yy  2' L yz  '2 L zz dx
2a

  
b b b b

 2' L  
b
avec yz dx  (2 )' L yz dx  2 L yz a  2 L yz ' dx   2 L yz ' dx
a a a a

 
b
1
  J y* () 
2
2 (L yy  L yz ' )  '2 L zz dx
2a
1120
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Conditions de minimum

 Condition nécessaire d’ordre 1 (Euler-Lagrange)

 Condition nécessaire d’ordre 2 (Legendre)

 Conditions suffisantes de minimum faible (Jacobi)

 Problème auxiliaire

 Point conjugué

1121
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Equation d’Euler-Lagrange


Condition nécessaire d’ordre 1
b
• y* minimum local de J  
a

 J y* ()   L y  L z ' dx  0 ,  admissible

 Ly  Lz '  0 → équation d’Euler-Lagrange (notée EL)


(1740 , 1755)
b
Preuve : J y* (  )  Pdx avec P( x )  L y  Lz '
a

On suppose par l’absurde qu’il existe c[a,b] tel que P(c) = 2 > 0. (x)
P est continue  P(c) >  sur un intervalle [c1 , c2].
2
P(x)
On définit la perturbation  :  ( x )  ( x  c1 ) ( c2  x ) si x  [ c1 ,c2 ]
2 2 
0 sinon → C1 0
b c2 c2 c1 c c2 x
Pdx   P( x  c ) ( c2  x ) dx   ( x  c ) ( c2  x ) dx
2 2 2 2
1 1
a c1 c1

avec   0 et ( x  c1 )2 ( c2  x )2  0 sur [ c1 ,c2 ]

 J y* (  )  0 (contredit la CN d’ordre 1 de minimum local)


1122
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Equation d’Euler-Lagrange


Condition nécessaire d’ordre 1
• L’équation d’Euler-Lagrange (EL) est une équation différentielle d’ordre 2 vérifiée par y*.
Les 2 conditions y(a) =  et y(b) =  déterminent les 2 constantes d’intégration de EL.
L d  L 
•   
y dx  y' 
Ecriture détaillée :

d  L  dL z
avec    x, y(x ), y' (x )   L z  y' L z  y' ' L z 
x , y( x ), y' ( x ) 
dx  y'  dx  x y z 


L
x, y( x ), y' ( x )    L z  y' L z  y' ' L z 
x , y( x ), y' ( x ) 
y  x y z 
• Ecriture compacte : Ly  Lz '  L y  L zx  y' L zy  y' ' L zz

• Une fonction y vérifiant l’équation d’Euler-Lagrange est une extrémale de la fonctionnelle J.


Une extrémale vérifie la condition nécessaire d’ordre 1, mais n’est pas forcément un minimum.

• Une intégrale première est une fonction (x,y) restant constante le long des extrémales y*(x).
x , y * ( x )   C te
1123
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Equation d’Euler-Lagrange


Cas particuliers
• Si la fonction L ne dépend pas explicitement de y : L(x, y’) → Ly = 0
d  L 
L’équation EL devient :    0  L y '  C te
dx  y' 

Ly’ est une intégrale première (impulsion ou quantité de mouvement en mécanique).

• Si la fonction L ne dépend pas explicitement de x : L(y, y’) → Lzx = 0


L’équation EL devient : L y  y' L zy  y' ' L zz

On observe que :
d
dx
  
L z y'L   L zx  L zy y' L zz y' ' y' L z y' ' L x  L y y' L z y' ' 


x
 
L z y'L   L zy y' L zz y' 'L y y'  0

= 0 car L , Lz non explicites en x = 0 d’après l’équation EL

 L z y'L  C te

H  L y ' y'L est une intégrale première (hamiltonien ou énergie en mécanique).


1124
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Exemple 1 : distance


Distance dans le plan
• Trouver dans le plan la courbe de longueur minimale entre 2 points A et B.

y
B
B

y*(x)
L AB  ds 
 
A
A avec ds 2  dx 2  dy 2  dx 2 1  y' ( x ) 2

0 a b x

b
• Formulation : min
y 
a
1  y' ( x ) 2 dx  L ( x , y, z )  1  z 2

Solution
L d  L  L y'
•       C te
y dx  y' 
Equation EL : (intégrale première)
y' 1  y' 2

• Solution : y'  C te → La courbe de longueur minimale est le segment AB.


1125
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Exemple 2 : brachistochrone


Brachistochrone
• Problème énoncé par Johann Bernoulli en 1696 ( = le plus court ,  = temps)
Solution trouvée par les grands scientifiques de l’époque (Leibniz, Newton, Bernoulli(s), …)

• Trouver dans le plan vertical la forme de la courbe AB qui minimise le temps de parcours
d’une particule glissant sous l’effet de la gravité (pas de frottement).
→ trouver la forme du toboggan optimal de A à B

0 a b x
A
 
g g = gravité constante
 
v v = vitesse de la particule
B

1126
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Exemple 2 : brachistochrone


Formulation
• La courbe AB a pour équation y(x).
La particule part de A(a, yA=0) avec une vitesse nulle et arrive en B(b, yB).

• L’énergie mécanique totale de la particule est constante (champ de gravité conservatif).


1
E  mv 2  mgy  0  v  2gy
2
 
B
ds
• Le temps de parcours de A à B est : TAB 
A
v 
avec ds 2  dx 2  dy 2  dx 2 1  y' ( x ) 2

1  z2
b
1  y' ( x ) 2
Le problème s’écrit : min
y 
a
y( x )
dx  L ( x , y, z ) 
y

• L ne dépend pas explicitement de x. L’équation EL admet pour intégrale première :


y' 2 1  y' 2
L y ' y'L  H  C te
  H
y(1  y' )
2 y
1
 y(1  y'2 )  2c en posant c
2H 2
1127
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Exemple 2 : brachistochrone


Solution
• La fonction y(x) vérifie l’équation différentielle : y(1  y'2 )  2c
 1
• On définit la fonction (x) par : y'   tan  1  y' 2 
2 
cos 2
2

• On remplace dans l’équation différentielle : y  2c cos 2  y  c(1  cos )
2

  
• On dérive l’expression de y par rapport à x : y  2c cos 2  y'  2c' sin cos
2 2 2

  
• On identifie les 2 expressions de y’ : y'   tan  2c' sin cos
2 2 2


• On obtient une équation différentielle en (x) : 2c' cos 2 1
2

• On intègre pour obtenir x en fonction de  : c(1  cos )d  dx  x  c(  0  sin )

1128
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Exemple 2 : brachistochrone


Solution
• Les équations paramétrées de la courbe solution sont
x ()  c(  0  sin )  x c  c sin  → cycloïde de centre (xc, yc) et de rayon c
 y()  c(1  cos )  y c  c cos 

• Les conditions en a et b donnent les 2 constantes d’intégration c et 0.
En supposant que A est à l’origine : A(0 , 0) → 0 =  (référence =0 suivant y)
B(b , ) → b , c

0 xc b x
A

0
centre du cercle
c
C vitesse x c  c

y
1129
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Condition de Legendre


Condition nécessaire d’ordre 2

 
b
1
• y* minimum local de J   J y* () 2
2 (L yy  L yz ' )  '2 L zz dx  0 ,  admissible
2a
 L zz  0 → condition nécessaire de Legendre (1786)

 
b
P( x )  Lzz
avec Q
1 c c c+
Preuve :  J y* (  ) 
2
' 2 P   2 Q dx 0
x
2a  ( x )  L yy  L yz '

On suppose par l’absurde qu’il existe c[a,b] tel que P(c) = 2 < 0. P(x)
P est continue  P(c) <  sur un intervalle [c , c+]. 2

( x  c )
On définit la perturbation  :  ( x )  sin 2 si x  [ c   ,c   ]
 0 sinon → C1 1
c  c  (x)
  2 2 2 ( x  c ) 4 ( x  c )
b

a ' P   Q dx  c  2 P sin  dx  c Q sin  dx


2 2 x
0
2
 2 max P  2 max Q P(x)
2 c   x  c   c   x  c  

 2
  J y* (  )  
2
 Qmax < 0 pour  petit (contredit la CN d’ordre 2 de minimum local)
 1130
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Condition de Jacobi


Conditions suffisantes de minimum faible
• On reprend le développement de J(y*+) à l’ordre 2 en .

J ( y * )  J ( y*)  J y* ()   2 J y* () 2  o( 2 )

• Des conditions suffisantes pour que y* soit un minimum local de J sont


J y* ()  0
 2 J ()  0  admissible
 y* (→ le terme en 2 l’emporte au voisinage de y*)
On se restreint aux perturbations  de classe C1 (→ minimum faible).
b
• Pour une fonctionnelle J de la forme J ( y)  Lx , y, y'dx

b a

 
J y* ()   L y  L z ' dx
a

 
b
 J y* () 
2 1
'2 P  2 Q dx P ( x )  L
avec Q( x )  Lzz  L '
2a  yy yz

• On cherche des conditions suffisantes sur P , Q pour que  2 J y* ()  0 ,  admissible

1131
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Condition de Jacobi


Approche variationnelle
• On considère 2 extrémales voisines y* et y*+v (= solutions de l’équation d’Euler-Lagrange).
L y x , y*, y*'  L z ' x , y*, y*'  0 → EL pour y*
L y x , y, y'  L z ' x , y, y'  0 → EL pour y
• On développe au premier ordre en v l’équation d’Euler-Lagrange en y=y*+v.
L y x , y, y'  L y x , y *  v, ( y *  v)'  L y x , y*, y*'  L yy x , y*, y*'v  L yz x , y*, y*'v'
 L y  L yy v  L yz v'
noté

L z x , y, y'  L z  L zy v  L zz v'
noté

L z ' x , y, y'  (L z  L zy v  L zz v' )'  L z ' L zy ' v  L zy v'(L zz v' )'

• On reporte dans l’équation d’EL pour y.

L y  L yy v  L yz v'  L z ' L zy ' v  L zy v'(L zz v' )' avec L y  L z ' (EL pour y*)

 (L yy  L yz ' ) v  (L zz v' )' → équation de Jacobi vérifiée par v


(v = écart entre 2 extrémales voisines y et y*)
P  L
 Qv  (Pv' )' avec Q  Lzz  L '
 yy yz 1132
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Condition de Jacobi


Equation de Jacobi
b
J ( y)  Lx , y, y'dx

a

• Equation d’Euler-Lagrange associée à J : Ly  Lz '

Les extrémales de J sont les solutions de l’équation d’Euler-Lagrange.


Une extrémale ne vérifie pas forcément les conditions aux extrémités y(a)= et y(b)=.
P  L
• Equation de Jacobi associée à J : Qv  (Pv' )' avec Q  Lzz  L '
 yy yz

L’écart v entre 2 extrémales voisines vérifie au premier ordre l’équation de Jacobi.


L’équation de Jacobi est l’équation variationnelle de l’équation d’Euler-Lagrange.

Points conjugués
• Les points x=a et x=c sont des points conjugués de la fonctionnelle J si
l’équation de Jacobi associée à J admet une solution non nulle v telle que v(a) = v(c) = 0.

• Les conditions suffisantes de minimum sont basées sur l’absence de points conjugués.

1133
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Condition de Jacobi


Conditions suffisantes de minimum faible
b
min J ( y)  Lx , y, y'dx
 avec  y(a )  
yY
a
 y( b)  

• On suppose que la fonction y* vérifie les 3 conditions suivantes.


Ly  Lz ' → équation d’Euler-Lagrange (y* extrémale)

P  L zz  0 → condition forte de Legendre (inégalité stricte)

x=a n’a pas de point conjugué dans [a,b] → condition de Jacobi (1837)

• Alors la fonction y* est un minimum local faible de J.

Condition nécessaire liée aux points conjugués


• On peut également montrer que si y* est un minimum de J tel que P > 0 sur [a,b],
alors il n’existe pas de point conjugué à x=a sur l’intervalle [a,b].
L’absence de point conjugué est une condition nécessaire de minimum.

1134
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Condition de Jacobi


Preuve (1)
• Il faut montrer que pour toute perturbation  admissible non nulle

 
b
1
 J y* (  ) 
2
' 2 P   2 Q dx  0 avec (a) = (b) = 0
2a b
• 
Pour former un carré sous l’intégrale, on ajoute un terme de la forme I  d ( w 2 )
w est une fonction quelconque de classe C1. a

 
b


b
I  d ( w 2 )  w 2 a  0 car  ( a )   ( b )  0
a

 
b
1
 J y* (  )   J y* (  )  I 
2 2
' 2 P  2' w   2 ( Q  w' ) dx
2a
• Par hypothèse : P > 0.
Si on peut choisir la fonction w telle que : P( Q  w' )  w 2 , alors on aura
1  2 2 w 
b b 2
w 2
1  w 
 J y* (  )  P' 2'   2 dx  
P'    dx  0
2
2 a  P P  2a  P 
w
2Jy*() ne s’annule que si '    0    0 car (a)=0, donc 2Jy*() > 0 si  ≠ 0.
P
• Il reste à montrer qu’il existe une fonction w de classe C1 telle que : P( Q  w' )  w 2
1135
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Condition de Jacobi


Preuve (2)
• Il reste à montrer qu’il existe une fonction w de classe C1 telle que : P( Q  w' )  w 2
d
• On considère une solution v de l’équation de Jacobi : Qv  ( Pv' )  0
dx
L’équation de Jacobi est une équation différentielle d’ordre 2.
La solution v : - est complètement définie par les conditions initiales v(a) et v’(a).
- dépend de façon continue de la valeur v(a).

• Par hypothèse, il n’existe pas sur l’intervalle [a,b] de point conjugué au point x=a.
→ Si v(a) = 0, alors v ne s’annule pas sur l’intervalle ]a,b].
Par continuité de la solution par rapport à la condition initiale v(a), pour  assez petit,
→ Si v(a) = , alors v ne s’annule pas sur l’intervalle ]a,b].
Il existe donc une solution v ne s’annulant pas sur tout l’intervalle [a,b].
v'
• On définit la fonction w de classe C1 : w   P
v
Cette fonction vérifie : vw   Pv'  v' w  vw'  ( Pv' )'  Qv car v solution de Jacobi.
v' w2
 Q  w'   w  qui est la propriété souhaitée
v P 1136
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Exemple 1 : distance


Distance dans le plan
b
• Formulation : min
y 
a
1  y' ( x ) 2 dx  L ( x , y, z )  1  z 2

• Condition nécessaire d’ordre 1 : L y  L z ' (Euler-Lagrange)


L y'
  C te  y'  C te → extrémales = droites (fonctions linéaires)
y' 1  y' 2
• Condition nécessaire d’ordre 2 : L zz  0 (Legendre)
 2L
 
3
P  2  1  y' 2 2 0 → condition vérifiée par les extrémales
y'
• Conditions suffisantes : L zz  0 , pas de points conjugués (Jacobi)
P( x )  L zz  C te  P0 car y*'  C te
Equation de Jacobi : (Pv' )'  Qv avec 
Q( x )  L yy  L yz '  0 car L y  0
Solution v : P0 v'  C te  v( x )  v' (a ).( x  a )  v(a )
(écart entre 2 extrémales linéaires = fonction linéaire)
Si v non identiquement nulle, v(a) ≠ 0.
Si v(a) = 0, alors v ne s’annule en aucun autre point → pas de points conjugués
1137
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Condition de Jacobi


Problème auxiliaire
• L’équation de Jacobi peut aussi s’établir à partir de la variation seconde de J.

 
b
 J y* () 
2 1
'2 P  2 Q dx  0 P ( x )  L
avec Q( x )  Lzz  L '
2a  yy yz

• On considère pour P et Q fixées la fonctionnelle K définie par

 
b b
1 1 2 1 2
K ( v) 
2a 
v'2 P  v 2 Q dx  M ( x , v, v' )dx
a
 M ( x , v, v ' ) 
2
Pv'  Qv
2

Le problème auxiliaire du problème de minimisation (« accessory minimum problem »)


est la recherche des extrémales de cette fonctionnelle quadratique.

• L’équation d’Euler-Lagrange pour la fonctionnelle K est

M v  M v ' '  Qv  (Pv' )' → équation de Jacobi associée à la fonctionnelle J

L’équation de Jacobi est donc l’équation d’Euler-Lagrange du problème auxiliaire.


(= équation d’Euler-Lagrange associée à la variation seconde de J).
1138
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Condition de Jacobi


Points conjugués
• Les extrémales sont les solutions de l’équation EL (équation différentielle d’ordre 2).
Une extrémale est complètement définies par les 2 constantes d’intégration.

• Par un point A fixé, il passe une famille d’extrémales paramétrées par la dérivée en A.
Un point conjugué C est un point d’intersection de 2 extrémales différentes issues de A.

• Exemples : Les géodésiques de la sphère sont des arcs de grand cercles.


Des points diamétralement opposés sont conjugués (infinité d’extrémales entre A et B).

extrémales issues de A
A

B
1139
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Condition de Jacobi


Cas particulier
b
min J ( y)  Lx , y, y'dx

yY
a
• On suppose que la fonction L ne dépend pas explicitement de y  Lx , y'

• Matrices P et Q : P( x )  L y ' y '


Q( x )  L yy  L yz '  0 car L y  0

• Equation de Jacobi : (Pv' )'  Qv  0  Pv'  C te

• On suppose que la condition forte de Legendre est vérifiée le long de l’extrémale : P > 0

→ La dérivée v est alors de signe constant et la fonction v est monotone.

→ Si v s’annule en x=0, v ne s’annule plus le long de l’extrémale.


Il n’existe pas de point conjugué.

• La condition forte de Legendre est dans ce cas une condition suffisante de minimum local.

1140
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Exemple 3 : sphère


Géodésiques sur la sphère
• On cherche les courbes de distance minimale entre 2 points A et B sur la sphère.

• Coordonnées sphériques :  = latitude (méridiens)


 = longitude (équateur) B C

   
A  A  , B  B  → choix des axes de référence 

 A  0  
 B  0  facilitant la résolution

• Distance en coordonnées sphériques
A
x  cos  cos 
 y  cos  sin   ds 2  dx 2  dy 2  dz 2  d 2  d2 cos 2 
z  sin 

• Formulation
On choisit comme  variable et on cherche la fonction () qui minimise la distance de A à B.
B
d
min
 
A
1  ' () 2 cos 2  d  L(, , ' )  1  '2 cos 2  avec ' 
d

1141
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Exemple 3 : sphère


Condition d’ordre 1
B
• Formulation : min
 
A
1  ' () 2 cos 2  d  L(, , ' )  1  '2 cos 2 

• Condition nécessaire d’ordre 1 : L  L' ' (Euler-Lagrange)

L L ' cos 2  d c
0   C te  c  c  
 ' 1  '2 cos 2  d cos  cos 2   c 2

c sin 
• Une primitive () est (solution non évidente) : tan (   0 ) 
cos 2   c 2
On peut vérifier cette solution en dérivant chaque membre.
d  c 2 sin 2   d (1  c 2 ) cos 2  d
d
d

tan (   0 )   1  tan (   0 )  1  2
2

d  cos   c  d

2 

cos 2   c 2 d

d  c sin   c(1  c 2 ) cos 


 c d
 cos 
d  cos 2   c 2 
  d
3
  cos 2   c 2 2 cos 2   c 2
1142
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Exemple 3 : sphère


Condition d’ordre 1
c sin 
• Les extrémales ont pour équation () : tan (   0 ) 
cos 2   c 2

Les 2 constantes d’intégration 0 et c sont déterminées par les conditions en A et B.

    c sin  A c sin  B
A  A  , B  B    tan  0  

 A  0  
 B  0  cos 2  A  c 2 cos 2  B  c 2

A et B sont quelconques   0  0 ou  , c  0 pour que l’égalité soit vérifiée

• On obtient pour l’extrémale AB : tan   0    0

L’extrémale est un arc de grand cercle suivant le méridien AB.


Cette solution vérifie la condition nécessaire d’ordre 1.

• On examine si cette extrémale vérifie les conditions suffisantes (Legendre, Jacobi).

1143
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Exemple 3 : sphère


Conditions suffisantes
• Les conditions suffisantes de minimum sur l’extrémale sont
- la condition de Legendre : Lzz > 0
- la condition de Jacobi : aucun point conjugué entre A et B

• Matrices P et Q
' cos 2 
' cos 2 
L(, , ' )  1  ' cos   L   0 , L  ' 
2 2

1  ' cos 
2 2 L
cos  ' cos  L  '
2 2
P()  L  ' '   2
 cos 2  (car =0 , L=1 le long de l’extrémale)
L L
Q()  L   L  ' '  0 (car L=0)

• Condition de Legendre : P  cos 2   0 vérifiée si l’extrémale ne passe pas par un pôle

• Equation de Jacobi : (Pv' )'  Qv  0  v' cos 2   k  v  v 0  k tan 

Point conjugué de A : Si v(A) = 0, alors v s’annule à nouveau pour C = A + 


Le point A admet comme point conjugué le point C diamétralement opposé.

1144
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.2.2 Exemple 3 : sphère


Conditions suffisantes
• L’extrémale AB est un arc de grand cercle méridien :   0  L  1  J AB   B   A

Cette extrémale peut ou non vérifier les conditions suffisantes de minimum.

• La condition de Legendre est vérifiée si l’extrémale ne passe pas par un pôle : P  cos 2   0

• La condition de Jacobi est vérifiée si l’arc AB est inférieur au demi-cercle.


Le point conjugué de A est le point C diamétralement opposé. C
Si l’extrémale AB passe par C, elle n’est pas minimale.
L’extrémale en sens opposé est plus courte et ne passe pas par C.
B
Remarques
• La formulation en () suppose la variable  croissante.
  A
Si on choisit le repère pour avoir :   A  B  A   
2 2
alors l’extrémale obtenue vérifie les conditions suffisantes de minimum.

• Si A et B sont diamétralement opposés, tous les arcs de grands cercles AB sont solutions.
1145
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Extensions

 Extrémités libres

 Plusieurs variables

 Plusieurs fonctions

 Courbe paramétrée

 Invariance

 Forme canonique

 Mécanique

1146
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Extrémités libres


Perturbations en a et b
b
min J ( y)  Lx , y, y'dx
 avec  y(a )  
yY
a
 y( b)  
• On exprime la variation de J en supposant que les extrémités (a,) et (b,) peuvent varier.

• Les perturbations appliquées sont  , a , b ,  ,  : y( x )  y * ( x )  ( x ) sur a , b


x (a )  a y(a )  
x (b)  b y(b)  
y  
y*+
+ Variation de y en b
y
y* y = variation due à 
 yb = variation due à b
yb
+


y(b)  y   y b
 (b)  y' (b)b
0 a a+a b b+b x
1147
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Extrémités libres


Evaluation de J
• On exprime la variation de J en fonction des perturbations  , a , b.
b  b b b  b b
J   Lx, y * , ( y * )'dx   Lx, y*, y*'dx   L  L x  ' L dx   Ldx
a  a a a  a
y y'
a
b  b b b  b a  a
  L x  ' L dx   L
a  a
y y'
a
y 
 L y ' ' dx  [L y ' ]ab   L dx   L dx
b a

en intégrant par parties à l’ordre 1

• La variation y en a (ou b) résulte de la perturbation  et du déplacement x en a (ou b).


y(a )  (a )  y' (a )a  (a )  y(a )  y' (a )x (a )
y(b)  (b)  y' (b)b (b)  y(b)  y' (b)x (b)
 
• On obtient la variation première de J en fonction de  , x(a) , x(b) , y(a) , y(b).
b

  
J   L y  L y ' ' dx  [L y 'y]ab  [(L  L y ' y' )x ]ab
a

1148
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Plusieurs variables


Formulation

min J (z) 
z  Lx, y, z, z
( x , y )D
x ,zy dxdy → fonction z de 2 variables x,y sur une région D de R2

• L est une fonction C1 de R5 dans R : ( x , y, z, p, q)  L( x , y, z, p, q)

• On cherche la fonction z*(x,y) qui minimise J.

Conditions de minimum
L   L    L 
z* minimum de J     
z x  z x  y  z y 

• La fonction z* vérifie l’équation d’Euler-Lagrange étendue à 2 variables x et y.


→ équation aux dérivées partielles du second ordre
La démonstration est analogue au cas d’une variable en exprimant la variation première.

• La condition se généralise au cas d’une fonction de n variables.

1149
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Plusieurs fonctions


Formulation
b
min J ( y)  Lx , y1 ,..., y n , y1 ' ,..., y n 'dx
 → n fonctions inconnues y1, … , yn
yY
a
• L est une fonction C1 de R2n+1 dans R : ( x , y, z)  L( x , y, z)

• Y est l’espace des fonctions C1 de [a,b] dans Rn, à valeurs fixées en a et b.


 y (a )   j
y( x )  y1 ( x ) , ..., y n ( x )  avec  y(a )     j , j  1,..., n
 y( b)    y j ( b)   j
Conditions de minimum
L d  L 
y* minimum de J   , j  1,..., n
y j dx  y j ' 
• Chaque fonction yj vérifie l’équation d’Euler-Lagrange : L y j  L z j ' , j  1,..., n

La preuve est similaire au cas à une fonction (en utilisant n perturbations indépendantes j).

• Les conditions de Legendre et Jacobi se généralisent également au cas de plusieurs fonctions.

1150
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Courbe paramétrée


Formulation
b
min J ( y)  Lx , y, y'dx
 → 1 fonction inconnue y(x) avec  yy((ab)) 


y
a

• On recherche la solution sous forme d’une courbe paramétrée.


x  x ( t ) x(t )  a y( t )  
 y  y( t ) avec  a et  a
 x ( t b )  b  y( t b )  
dx dy dy y
• Les dérivées par rapport à t et x sont notées :  x ,  y ,  y'  y' 
dt noté dt noté dx noté x
tb
 y ( t ) 
b
  Lx , y, y'dx  L x ( t ), y( t ),
  x ( t )dt
a ta 
x ( t ) 

• Formulation paramétrée
tb
 y ( t ) 
min K ( x , y)  Mt , x , y, x , y dt
 avec Mt , x , y, x , y   L x ( t ), y( t ),  x ( t )
x,y
ta  x ( t ) 

→ problème à 2 fonctions inconnues x(t) et y(t) avec des conditions en ta , tb


1151
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Courbe paramétrée


Condition nécessaire d’ordre 1
tb
 y ( t ) 
min K ( x , y)  Mt , x , y, x , y dt
 avec Mt , x , y, x , y   L x ( t ), y( t ),  x ( t )
x,y
ta  x ( t ) 

• Chaque fonction x(t) et y(t) vérifie l’ équation d’Euler-Lagrange.

   M  d  M 
Mx  M
x dt  x 
x
→ système différentiel de dimension 2 et d’ordre 2
avec 4 conditions aux extrémités
   M  d  M 
My  M
y dt  y 
y

• Les 2 équations différentielles ne sont pas indépendantes.


Chacune est équivalente à l’équation d’Euler-Lagrange du problème initial.

L d  L 
L y  L y' '     → système différentiel de dimension 1 et d’ordre 2
y dx  y'  avec 2 conditions aux extrémités

1152
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Courbe paramétrée


Preuve
  x y
 y  M
 x  L 
x , M  L 
y  L  L  L  L  Lz y'
M t , x , y , x , y   L x , y ,  x
x x z z
 x 2
x
 x  1
M y  L y x , M y  Lz x  Lz
 x

• Equation d’Euler-Lagrange pour x(t)

M x  M x  Lx x  L  Lz y'   L  Lz y' x


d d
dt dx
d d
 d
 
 Lx  L   Lz y'   Lx  L y y'  Lz y' '   Lz  y'  Lz y' ' 
dx dx  dx 
 d   L y  Lz '  0
  L y  Lz  y'  0
 dx 
équation d’Euler-Lagrange
• Equation d’Euler-Lagrange pour y(t) du problème initial pour y(x)

M y  M y  L y x  Lz   Lz x


d d
 L y  Lz '  0
dt dx

1153
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Courbe paramétrée


Géodésiques
• Les géodésiques sont les courbes de longueur minimale sur une surface donnée.
  
La surface est définie par un vecteur position r fonction de 2 variables u et v : r  r (u , v)

• On cherche la géodésique sous forme d’une courbe paramétrée r ( t ) .
 
r ( t )  r (u ( t ), v( t )) → 2 fonctions u(t) , v(t)

• Elément de longueur sur la surface


2   2  
ds 2  d r  ru du  rv dv  ru2 du 2  2 ru .rv dudv  rv2 dv 2
 
 ds  Eu '2 2Fu ' v'Gv'2 dt avec E  ru2 , F  ru .rv , G  rv2

• Les géodésiques de la surface sont les extrémales de la fonctionnelle J.


B tb

u ,v 
min J (u , v)  ds 
A

ta
Eu '2 2Fu ' v'Gv'2 dt

→ problème à 2 fonctions inconnues u(t) et v(t) avec des conditions en ta , tb

1154
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Courbe paramétrée


Géodésiques
• Formulation
tb

min J (u , v) 
u ,v 
ta
Eu '2 2Fu ' v'Gv'2 dt

• Equations d’Euler-Lagrange pour les fonctions u et v.

 E u '2 2F u ' v'G v'2 d  2(Eu ' Fv' ) 


 u u u
   → pour u
 Eu '2 2Fu ' v'Gv'2 dt  Eu '2 2Fu ' v'Gv'2 


 E v u '2 2Fv u ' v'G v v'2 d  2(Fu 'Gv' ) 
    → pour v
 Eu '2 2Fu ' v'Gv'2 dt  Eu '2 2Fu ' v'Gv'2 

 
avec E  ru2 , F  ru .rv , G  rv2
(coefficients de la forme quadratique fondamentale de la surface)

• Les géodésiques sont solutions d’un système différentiel de dimension 2 et d’ordre 2.

1155
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Exemple 4 : cylindre


Géodésiques sur le cylindre
• On cherche les courbes de distance minimale entre 2 points A et B sur le cylindre.

• Le vecteur position est défini en coordonnées cylindriques u= , v=z.


 
r  (a cos  , a sin  , z)  r  (a sin  , a cos  , 0)
  
r z  ( 0 , 0, 1)
• Equations d’Euler-Lagrange z
 
E  r2  a 2 , F  r .rz  0 , G  rz2  1

d  a 2
'   a 2 '
  0
  2 2 2  c1
 dt  a 2 '2  z'2   a '  z'
    c1z'  c 2 a 2 ' a
d    z'
 2 2 2  c2
z'
  0
 
 dt  a 2 '2  z'2   a '  z'

• Les géodésiques du cylindre sont des hélices d’équation : z  z 0  c(  0 )

1156
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Invariance
Changement de variable
b
min J ( y)  Lx , y, y'dx
 → fonction inconnue y(x)
y
a
• On effectue le changement de fonction y = f(x,Y). La nouvelle fonction inconnue est Y(x).
f f dY
f x , Y( x )  
d d
y'  y   f x  f Y Y'
dx dx x Y dx noté
b b
• Le problème en variable Y devient : min J ( y)  Lx , y, y'dx  min K (Y)  Mx , Y, Y'dx
 
y Y
a a
avec L( x , y, y' )  Lx , f ( x , Y), f x  f Y Y'  M( x , Y, Y' )
noté

• L’équation d’Euler-Lagrange est invariante : L y  L y' '  M Y  M Y' '

Preuve : M Y  L y f Y  L y' ( f xY  f YY Y ' ) → dérivée composée de L par rapport à Y


M Y '  L y' f Y → dérivée composée de L par rapport à Y’
d d  d 
M Y '   L y'  fY  L y'  fY   L y fY  L y' ( fYx  fYY Y ' )   M Y
dx  dx   dx 
 Ly
1157
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Invariance
Fonctionnelles équivalentes
• Les fonctionnelles J et K sont dites équivalentes si elles ont les mêmes extrémales.
b b
min J ( y)  Lx , y, y'dx  min K ( y)  Mx , y, y'dx
 
y y
a a

si L y  L y' '  M y  M y' '

• Si les lagrangiens L et M diffèrent d’une dérivée totale (condition suffisante) :


d ( x , y)
M  L  F avec F( x , y, y' )    x   y y' avec (x,y) fonction quelconque
dx
alors les fonctionnelles sont équivalentes et diffèrent d’une constante.

Preuve :  , x , y sont fonctions de x et y.


d ( x , y )  F   xy   yy y'
F ( x , y , y' )    x   y y'   y
dx  Fy'   y  Fy' '   y '   yx   yy y'
M y  L y  Fy  L y   xy   yy y'
avec L y  L y' '  M y  M y' '
M y'  L y'  Fy'  L y'   yx   yy y'
d
b b b
 
a
 a

et K ( y )  Mdx  ( L  F )dx   L 
a

dx
dx  J ( y )   ( b )   ( a )
 1158
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Transformation de Legendre


Définition
• On considère une fonction quelconque f de Rn dans R : z  R n  f (z)  R
La transformation de Legendre définit une nouvelle fonction h : p  R n  h (p)  R

La fonction h est définie pour tout p par : h (p)  maxpz  f (z) 


def z

• On note zp la valeur de z qui maximise pz f(z) : h (p)  pz p  f (z p )

Propriétés
• Si f est dérivable :
d
dz

pz  f (z)   0 en z p  p  f ' (z p )  h ' (p)  z p et h ' ' (p)  f ' ' (z p ) 
1

• La fonction h est convexe.

• Si f est convexe, la transformée de Legendre de h redonne f (involution).

• On applique la transformation de Legendre à une fonctionnelle J de lagrangien L


en considérant L(x,y,z) comme fonction de z.
 h ( x , y, p)  pz p  L( x , y, z p )  H( x , y, p) → variables canoniques associées à J
noté
avec p  L z ( x , y, z p )
1159
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Forme canonique


Variables canoniques
b
min J ( y)  Lx , y, y'dx
 avec n fonctions inconnues y = (y1, … , yn)
y
a

• On définit de nouvelles fonctions p et H : p  L y ' → n fonctions p(x)


H  py'L
(= transformation de Legendre sur L(.,.,y))  → 1 fonction H(x,y,p)
n
La fonction H dépend de 2n+1 variables : H ( x , y, p )   p y '  L(x, y ,..., y
i 1
i i 1 n , y1 ' ,..., y n ' )

• Différentielle totale de H( x , y, p)  py'L( x , y, y' )

 
dH  y' dp  pdy' L x dx  L y dy  L y 'dy'  L x dx  L y dy  y' dp car p  L y '
 H x dx  H y dy  H p dp
H x   L x

Par identification : H y  L y
H p  y'

• En remplaçant dans l’équation d’Euler-Lagrange : L y  L y ' '   H y  p'


avec p  L y '
1160
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Forme canonique


Variables canoniques
b
min J ( y)  Lx , y, y'dx
 avec n fonctions inconnues y = (y1, … , yn)
y
a
• Les variables canoniques associées à la fonctionnelle J et au lagrangien L sont
- les n fonctions y(x) appelées coordonnées
- les n fonctions p(x) appelées impulsions (« momentum ») : p  L y '
ou quantités de mouvement

• La fonction H(x,y,p) est appelée hamiltonien (ou énergie) : H( x , y, p)  py'L( x , y, y' )

Equations canoniques

• L’équation d’Euler-Lagrange : L y  L y' ' → n EDO d’ordre 2 en variables y

est équivalente à :  y'  H p → 2n EDO d’ordre 1 en variables y , p


p '   H
 y
(équations canoniques)
 y'  H p
• Le système  est appelé forme canonique associée à la fonctionnelle J.
p '   H y (ou forme hamiltonienne)
1161
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Forme canonique


Intégrale première
• Les extrémales de J sont les solutions y* de l’équation E.L. : L y  L y' '
 y*'  H p
Les variables canoniques y* , p* associées à J vérifient : p*'  H
 y

• La dérivée totale d’une fonction quelconque (y,p) le long d’une extrémale est

d    H  H
 y' p'     , H → crochet de Poisson de  et H
dx y p y p p y noté

La fonction  est une intégrale première (i.e. (y*,p*) = Cte) si et seulement si  , H   0 .

• La dérivée totale de l’hamiltonien H(x,y,p) le long d’une extrémale est


dH H H H H dH H
  y' p'   H , H    car H , H   0
dx x y p x dx x

Si H ne dépend pas explicitement de x, alors H est une intégrale première.

1162
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Forme canonique


Transformation canonique
• On considère la forme canonique associée à une fonctionnelle J.
b b
p  L y'
min J ( y)  Lx , y, y'dx
  min J ( y, p)   py'H(x, y, p)dx avec 
y
a
y,p
a
H  py'L

 y'  H
n fonctions y vérifiant L y  L y ' ' 2n fonctions y et p vérifiant p'   H p
 y

• Une transformation canonique est un changement de variables : ( y, p)  (Y, P)


qui préserve la forme canonique.

 y'  H p Y'  H *P
p '   H avec la fonction H ( x , y , p )  
*
* avec une nouvelle fonction H ( x , Y, P )
 y P   H Y

 PY'H (x, Y, P)dx


b
La fonctionnelle associée au nouveau système canonique est : J (Y, P)  * *

• Condition suffisante pour qu’un changement de variables soit une transformation canonique.
Si les fonctionnelles J et J* sont équivalentes (i.e. ont les mêmes extrémales),
alors les formes canoniques en (y,p) et (Y,P) sont équivalentes (i.e. ont les mêmes solutions).
1163
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Forme canonique


Transformation canonique
• Une condition suffisante pour que les fonctionnelles J et J* soient équivalentes
est que leurs lagrangiens L et L* diffèrent d’une dérivée totale.

 PY'H (x, Y, P)dx


b b
J ( y, p )   py'H(x, y, p)dx J ( Y, P ) 
* *
équivalente à
a a

d
si py'H( x , y, p)  PY 'H * ( x , Y, P)  avec  fonction quelconque
dx


 d  pdy  PdY  H * ( x , Y, P)  H( x , y, p) dx 
• d est une différentielle totale par rapport aux variables x , y , Y.
On en déduit l’expression de p , P et H* en fonction des dérivées de (x,y,Y).

d   y dy   y dY   x dx avec  fonction quelconque de (x,y,Y).


  
 p , P , H*  H 
y Y x

(x,y,Y) est la fonction génératrice de la transformation canonique.


1164
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Forme canonique


Fonction génératrice
• Une fonction génératrice de la forme 1(x,y,Y) définit une transformation canonique
à partir des variables y (anciennes coordonnées) et Y (nouvelles coordonnées).
  
p , P , H*  H  → impulsions p, P associées à la forme canonique
y Y x
• La fonction génératrice peut s’exprimer en variables (y,Y) , (y,P) , (y,p) ou (p,P).
→ 4 formes possibles 1(x,y,Y) , 2(x,y,P) , 3(x,p,Y) , 4(x,p,P)
1 
 1 ( x , y, Y )  d1  pdy  PdY  (H  H) dx  p 
* ,P 1
y Y
 2  2
 2 ( x , y, P)  1 ( x , y, Y)  PY  d 2  pdy  YdP  (H *  H) dx  p  ,Y
y P
 3  3
 3 ( x , p, Y)  1 ( x , y, Y)  py  d 3   ydp  PdY  (H *  H) dx  y   ,P
p Y
 4  4
 4 ( x , p, P)  1 ( x , y, Y)  py  PY  d 4   ydp  YdP  (H *  H) dx  y   ,Y
p P
• Si la fonction  ne dépend pas explicitement de x, l’hamiltonien reste identique : H*=H.
La transformation canonique ne modifie que les variables y , p , Y , P.
1165
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Forme canonique


Changement de variables paramétré
b
min J ( y)  Lx , y, y'dx
 → variable x , n fonctions y(x) = (y1, … , yn)
y
a
• On considère un changement de variables dépendant d’un paramètre .

( x , y)  ( x*, y*) avec x*  X( x , y, y' , ) et x  X( x , y, y' ,0) → identité pour =0
 y*  Y( x , y, y' , )  y  Y( x , y, y' ,0)
• La fonctionnelle J est invariante par le changement de variables ( x, y)  ( x*, y*) si
x * b* x b
J ( y*)  J ( y)   Lx*, y*, y*'dx *   Lx, y, y'dx
x * a * x a

Théorème de Noether

Si J est invariante par le changement de variables quelles que soient les bornes a et b,
Y X
alors la fonction L y '
  0
 L  L y ' y' 
  0
 est une intégrale première.

 L y ' Y  0
 
 L  L y ' y' X   0
 p Y  0
 H X  0
 C te
1166
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Forme canonique


Théorème de Noether

Preuve :
On exprime la variation de J en fonction de perturbations , x(a), x(b), y(a), y(b).
b
J   L y  L y' ' dx  [ L y' y ]ab  [( L  L y' y' )x ]ab
a

La fonction y(x) est une extrémale  L y  L y' '  0

 x*  X ( x , y , y' , )  X ( x , y , y' ,0 )   X   x   X  x   X 
  0  0  0
A l’ordre 1 en  : 
 y*  Y ( x , y , y' , )  Y ( x , y , y' ,0 )   Y  0
 y   Y  0
 y   Y  0

La variation première de J se réduit à : J   L y' Y   0


 
 L  L y' y' X   0 a

b

J est invariante par le changement de variables quelles que soient les bornes a et b.


J  0  L y' Y  0
 
 L  L y' y' X  
 0 a
b
0

 L y' Y  0
 
 L  L y' y' X   0
 C te car a et b sont quelconques.
1167
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Forme canonique


Fonction valeur
b
min J ( y)  Lx , y, y'dx
 avec  y(a )  
y
a
 y( b)  
• On considère les extrémales y*(x) partant de A(a,) et d’extrémité B(b,) variable.
La fonction valeur V(b,) est la valeur de J(y*) en fonction du point final B(b,).
b
V(b, )  Lt , y*, y*'dt

a
• Pour exprimer la différentielle de V, on repart de la variation première de J
en fonction de perturbations  , x(a) , x(b) , y(a) , y(b).
b

  
J   L y  L y ' ' dx  [L y 'y]ab  [(L  L y ' y' )x ]ab
a
b

  
  L y  L y ' ' dx  [py  Hx ]ab
a
car p  L y ' , H  py'L  L y ' y'L

 [py  Hx ]ab car y* est une extrémale  L y  L y' '  0

 py(b)  Hx (b) car le point (a,) est fixé  x (a )  0 , y(a )  0


1168
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Forme canonique


Equation de Hamilton-Jacobi-Bellman
• La différentielle de V(b,) est la variation de J pour des perturbations x(b) , y(b).

J  py(b)  Hx (b)  dV  pd  Hdb

 dV  pdy  Hdx en notant le point final (x,y) au lieu de (b,)


V V
• Les dérivées partielles de V(x,y) sont :  H , p
x y

V
L’hamiltonien H est fonction de x,y,p : H ( x , y, p )  H ( x , y, )
y

V V
• La fonction valeur V(x,y) vérifie l’EDP :  H( x , y, )  0  Vx  H( x , y, Vy )  0
x y
→ équation de HamiltonJacobiBellman (HJB)

• La résolution de l’équation HJB donne la valeur de J sur tout le champ d’extrémales


→ pour tous les points initiaux et finaux.

1169
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Forme canonique


Intégrale première
• On suppose que V(x,y,) est une solution de HJB paramétrée par m constantes  = (1, … , m).
V
Alors les fonctions sont des intégrales premières (= constantes le long des extrémales).


Preuve
d  V   2V  2V dy
Il faut montrer que    0   0 le long d’une extrémale
dx    x  y  dx

V V
V(x,y,) vérifie l’équation HJB :  H ( x, y , )0
x y

  V V   2V H  2V
En dérivant par rapport à  :   H ( x, y , )    0
  x y  x p y

dy H  2V dy  2V
Le long d’une extrémale y(x) :    0
dx p x dx y

d  V 
On obtient le résultat cherché :    0
dx    1170
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Exemple 1 : distance


Equation HJB
On cherche les extrémales d’une fonctionnelle par résolution de l’équation HJB.
b
• Fonctionnelle : 
J ( y)  f ( y) 1  y'2 dx
a
 L ( x , y, y ' )  f ( y ) 1  y ' 2
f ( y) y' p
• Hamiltonien : H  py'L  py'f ( y) 1  y'2 avec p  L y '   y' 
1  y' 2 f ( y) 2  p 2
 H ( x , y, p )   f ( y ) 2  p 2

• Equation HJB : Vx  H( x , y, Vy )  0  Vx2  Vy2  f ( y) 2


y
• Fonction valeur : V ( x , y)   ( x  a )  

f (u ) 2   2 du (par séparation des variables)

avec V(a,) = 0 (point initial)


y
V du
• Intégrale première :

 C te  x   
 f (u )  
2 2
a (extrémale passant par A(a, ))

Le champ des extrémales issues du point initial A(a, ) est paramétré par .

1171
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Exemple 1 : distance


Equation HJB
Dans le cas particulier où f(y)=1, la fonctionnelle J est la distance dans le plan.
b
• Fonctionnelle : J ( y)  
a
1  y'2 dx → distance de A(a,) à B(b,)

• Fonction valeur : V ( x , y)   ( x  a )  

f (u ) 2   2 du

 V ( x , y)   ( x  a )  1   2 ( y   )


• Extrémales : x ( y  )  a → droites passant par A(a, )
1  2

(x  a )
  pour l’extrémale passant par M(x,y)
( x  a )  ( y  )
2 2

 V ( x , y)  ( x  a ) 2  ( y   ) 2 → distance de A(a,) à M(x,y)

• La fonction valeur donne bien la distance AM pour tout point M(x,y).


1172
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Mécanique
Formulation hamiltonienne
• Les lois de la mécanique classique peuvent se formuler à partir du calcul des variations.
→ formulation hamiltonienne, mécanique analytique

• On considère un système de n particules.

Masses : m  (m1 ,..., m n )


  
Coordonnées : r ( t )  r1 ,..., rn   q
noté

 dr  
Vitesses : v( t )   v1 ,..., v n   q
dt noté

 dv  
Accélérations : a (t)   a1 ,..., a n   q
dt noté
n


1 1
Energie cinétique totale : T  mq  T  2
m i q i
2
2 i 1 2

Energie potentielle totale : U( t , q)


 U
Force appliquée à la particule i : Fi   → dérive du potentiel U
q i
1173
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Mécanique
Postulat de moindre action
• On définit l’intégrale d’action (ou action) du système, notée S.
tf

S  Lt , q, q dt
1

t0
avec L  T  U  L( t , q, q ) 
2
mq 2  U( t , q)

L est le lagrangien du système de particules = différence énergie cinétique – potentielle

• Postulat de moindre action : Les trajectoires des particules minimisent l’action S.

• On peut donc trouver les trajectoires en recherchant les extrémales de la fonctionnelle S.


U d
Equation d’Euler-Lagrange : L q  L q    mq 
q dt

 F  mq

On retrouve la deuxième loi de Newton (ou principe fondamental de la dynamique).


Le postulat de moindre action « contient » la deuxième loi de Newton.
Il permet également de retrouver les lois de conservation.
1174
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Mécanique
Lois de conservation
• Les variables canoniques se déduisent du lagrangien.

L( t , q, q ) 
1
mq 2  U( t , q) p  L q  mq
 
H  pq  L  mq  L  2T  (T  U)  T  U
2
2
Les variables p sont les quantités de mouvement (ou impulsions) des particules.
L’hamiltonien est l’énergie totale du système.

• Cas d’un système conservatif (i.e. U ne dépend pas explicitement du temps)


dH H 
  (T  U)  0  H  T  U  C te → conservation de l’énergie
dt t t

• Cas d’un système invariant par translation


t*  X( t , q, q , )  t
On applique le théorème de Noether pour la transformation : q*  Y( t , q, q , )  q  

p Y  0
 H X  0
 C te  p  C te → conservation de la quantité de mouvement

1175
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Mécanique
Lois de conservation
• Cas d’un système invariant par rotation
  
Une rotation infinitésimale d’angle  autour de l’axe n transforme le vecteur q en q * .
        
dq  n  q  q*  q  n  q n q*


q
On applique le théorème de Noether pour la transformation
t*  X( t , q, q , )  t
q*  Y( t , q, q , )  q  n  q

  
p Y  0
 H X  0
 C te  p . (n  q)  C te en notation vectorielle
  
 n . (q  p)  C te

La relation doit être vérifiée pour un vecteur n quelconque.
  
 h  q  p  C te → conservation du moment cinétique
def 
(= moment de la quantité de mouvement p)

1176
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017

5.2.3 Mécanique
Problème de Kepler
• Le problème de Kepler est le mouvement d’une particule dans un potentiel en 1/r.
d             
Le mouvement est plan : r  v   r  v  r  v  v  v  r  a  0 car a // r (force centrale)
dt
On se place en coordonnées sphériques (r , )  v    
 r
 r  
v
 r
• Energie potentielle : U   (par unité de masse)
r
1 2 1 2 2 r
• Energie cinétique : T  v  (r  r ) 
2 2 r
1  
• Lagrangien : L( t , r, , r,  )  T  U  (r 2  r 2 ) 
2 r

• Equation EL : L r  L r  r 2  2  r     r   r   0 
r h  r  v   0   r  0
L   L   r   h  C
2  te  0  0   2  
     r 
• L ne dépend pas explicitement de t → système conservatif
→ conservation de l’énergie H = T + U

• L ne dépend pas explicitement de  → système invariant par rotation   


→ conservation du moment cinétique h  r  v 1177
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Contraintes

 Extrémité libre

 Contrainte finale

 Contrainte intégrale

 Contrainte courante

1178
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Extrémité libre


Formulation
b
min J ( y)  Lx , y, y'dx  y (a )  
yY 
a
avec  y( b)  

→ problème à valeurs fixées en a et b

• On reprend le problème sans la contrainte sur y(b) → valeur libre.

• Y est l’espace des fonctions C1 de [a,b] dans R, à valeur fixée en a : y(a) = 

y
y2 Illustration : y1 , y 2 , y *  Y
2 y1(b) = 1
y*
* y2(b) = 2

1 y*(b) = *
J ( y*)  J ( y1 )
 J ( y*)  min J ( y) 
y1 yY J ( y*)  J ( y 2 )

0 a b x
1179
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Extrémité libre


Condition nécessaire d’ordre 1
b
min J ( y)  Lx , y, y'dx
 avec y(a) = 
yY
a
• On calcule J en y = y* +  pour exprimer la variation première.
 est une perturbation admissible si (a) = 0 → y(a) = y*(a) = 
b
• On obtient :  
a

J ( y)  J ( y*)    L y  L z ' dx  (b)L z (b)  o() avec (b) libre
b

  
 J y* ()   L y  L z ' dx  (b)L z (b)
a

• Condition nécessaire de minimum local : Jy*() = 0 pour toute perturbation admissible 

L y  L z '  0 → équation d’Euler-Lagrange (EDO d’ordre 2)



 
L z (b)  0 → condition de transversalité en x=b

• La condition de transversalité en x = b remplace la contrainte finale y(b) = .


Les 2 conditions y(a) =  et Ly’(b) = 0 déterminent les 2 constantes d’intégration de EL.
1180
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Exemple 1 : distance


Distance dans le plan
• Trouver la courbe de longueur minimale entre A et B, avec B d’ordonnée libre

y
B b
min
y 
a
1  y' ( x ) 2 dx

A B*
 L ( x , y, z )  1  z 2

0 a b x

Solution
L d  L  L y'
• Equation EL :       C te
y dx  y'  y' 1  y' 2
 y'  0
L
• Condition de transversalité : ( b)  0
y'
La courbe solution est le segment horizontal AB* de longueur ba.
1181
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Contrainte finale


Formulation
b
min J ( y, b)  Lx , y, y'dx
 avec  y(a )   → a fixé, b libre
yY
bR a
 y( b)   ( b)
• On reprend le problème avec b variable et le point final sur la courbe d’équation y = (x).

• Le problème de minimisation porte sur la fonction y et la valeur de b.

y
y2
y=(x)
2
y*
*
1


y1

0 a b1 b* b2 x
1182
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Contrainte finale


Evaluation de J(y* + )
• On applique une perturbation à (y* , b*) pour exprimer la variation première de J.
b  b * b  y(b)  y(b*)  y' (b*)b  o(b)
 y(b)  y * (b*)  (b*)  y*' (b*)b
y  y *    y (b*)  y * (b*)   (b*)  y * (b*)  y   y b
 y' (b*)  y*' (b*)  ' (b*)
à l’ordre 1 en  et b
y
y y=(x)

y Variation de y en b
y*
* y = variation due à 
yb yb = variation due à b


y(b)  y   y b
 (b)  y' (b)b
0 a b* b x
1183
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Contrainte finale


Evaluation de J(y* + )
• On calcule J en y = y* +  , b = b* + b.
b* b
J ( y, b)  J ( y * , b * b)   Lx, y * , ( y * )'dx
a
b* b* b
 Lx , y * , ( y * )'dx 
  Lx, y * , ( y * )'dx
a b*

• On évalue chaque intégrale à l’ordre 1 en  et b.


b* b*

 Lx, y * , ( y * )'dx   (L  L


a a
y  ' L z )dx à l’ordre 1 en 
b* b*
 b*

 Ldx   L y dx   L z a  L z ' dx 
  

b*
 
a a  a 
b* b*

   
 Ldx    L y  L z ' dx  (b*)L z (b*)
a a
car (a) = 0

b* b

 Lx, y * , ( y * )'dx  Lb*, y * (b*), y'*(b*)b


b*
à l’ordre 1 en b
1184
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Contrainte finale


Evaluation de J(y* + )
• On obtient pour J(y,b) :
b* b*

   
J ( y, b)  Ldx    L y  L z ' dx  (b*)L z (b*)  L(b*)b
a a
b*
J ( y*, b*)  Lx*, y*, y*'dx

avec a
y(b * b)  y * (b*)  (b*)  y*' (b*)b variation de y en b due à  et b

• La valeur de (b) n’est pas libre car le point final doit rester sur la courbe d’équation y = (x).
 y * (b*)  (b*)
 y(b * b)  (b * b)  (b*)  ' (b*)b  y * (b*)  ' (b*)b à l’ordre 1 en b

En identifiant les 2 expressions de y(b*+b), on obtient la relation entre (b), y(b), (b) et b.

(b*)  y*' (b*)b  ' (b*)b

• On remplace (b*) dans l’expression de J(y,b).


b*

  
J ( y, b)  J ( y*, b*)    L y  L z ' dx  bL  L z (' y*' ) (b*)
a 1185
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Contrainte finale


Condition nécessaire d’ordre 1
• Condition nécessaire de minimum local

J ( y*, b*)  J ( y, b) pour toute perturbation admissible  , b ((a) = 0)


b*

  
   L y  L z ' dx  bL  L z (' y*' ) (b*)  0 , , , b
a
(perturbations indépendantes)

L y  L z '  0 → équation d’Euler-Lagrange (EDO d’ordre 2)



 
L  L z (' y*' )  0 en b * → condition de transversalité en x=b*

• Les 2 constantes d’intégration de l’équation EL et la valeur de b sont déterminées


par les 2 conditions y(a) = , y(b)=(b) et la condition de transversalité.
→ système de 3 équations à 3 inconnues.

• La condition de transversalité est similaire pour une contrainte initiale en x=a variable.
→ système de 4 équations à 4 inconnues si le point initial et le point final sont variables.

1186
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Contrainte finale


Condition de transversalité b


• On considère une fonctionnelle de la forme : J ( y, b)  w ( x , y) 1  y' ( x ) 2 dx
a
• Le point final x=b est contraint sur la courbe d’équation y = (x).
b

y,b 
min w ( x , y) 1  y' ( x ) 2 dx sous y(b)  (b)
a
 L ( x , y, z )  w ( x , y ) 1  z 2

y
y=(x)

y*
*

0 a b* x
1187
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Contrainte finale


Condition de transversalité
• Condition nécessaire de minimum local
L y  L z '  0
 avec L( x , y, z)  w ( x , y) 1  z 2

L  L z (' y*' )  0 en b *

w d  wy' 
 y=(x)
• Equation d’Euler-Lagrange : 1  y' 
2
y dx  1  y'2 
 

• Condition de transversalité : w 1  y' 2 


wy'
' y'  0 en x=b y* B*
1  y' 2

 y' (b).' (b)  1 → tangentes orthogonales

L’extrémale solution y = y*(x) est orthogonale à la courbe y = (x) en x=b.

• Applications
Problème de chemin le plus court avec pondération w(x,y) fonction de la position
Problème de chemin le plus rapide avec vitesse = 1/w(x,y) fonction de la position
1188
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Contrainte intégrale


Formulation
b b
min J ( y)  Lx , y, y'dx
 sous C( y)  Mx , y, y'dx  0
 et  y(a )  
yY
a a
 y( b)  
La contrainte intégrale (ou isopérimétrique) C(y) = 0 restreint l’espace des fonctions Y.

Condition nécessaire d’ordre 1 b


• On définit le critère augmenté : K ( y)   0 J ( y)  C( y)   0 L  M ( x , y, y' )dx

a
La fonction N = 0L + M est le lagrangien augmenté.
Les réels 0 et  sont les multiplicateurs de Lagrange (0 est le multiplicateur anormal).

• Condition nécessaire de minimum local en y*.

Il existe (0 , )  (0 , 0) tels que N y  N z '  0 (équation EL appliquée à N = 0L + M)

• Les valeurs de 0 ,  sont déterminées à un facteur multiplicatif près.


- Cas anormal : 0 = 0 → Il existe une seule fonction y* vérifiant la contrainte intégrale.
- Cas normal : 0  0 → La contrainte C(y*) = 0 détermine la valeur de /0 .
On peut fixer 0 = 1.
1189
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Contrainte intégrale


Preuve (1)

On suppose que y* est un minimum local de J sous la contrainte C=0.


On considère des perturbations de la forme y = y* + 11 + 22 avec 1, 2 quelconques.

La fonction F  1 , 2   J ( y ),C( y ) est de classe C1 de R2 dans R2.

F 0 ,0   J ( y*) ,C( y*)  0  2 C

 J C  F
 
  1 
F ( 0 ,0 )   1
 J C  0 1 y y* J
   2 
 2

Théorème des fonctions implicites


Si F(0 , 0) est inversible, alors F est une bijection d’un voisinage de (0 , 0)
dans un voisinage de (J(y*) , C(y*)).
On peut trouver des valeurs (1, 2) non nulles telles que C(y) = 0 (admissible) et J(y) < J(y*),
ce qui contredit l’hypothèse y* minimum.
La matrice F(0 , 0) est donc singulière et ses colonnes sont linéairement dépendantes.
1190
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Contrainte intégrale


Preuve (2)

On exprime la matrice F(0 , 0).  J C 


 
  1 
F  1 , 2   J ( y ),C( y ) avec y = y* + 11 + 22  F ( 0 ,0 )   1
 J C 
   2 
 2
b b
J
Pour une perturbation  : J ( y )  Lx , y , y' dx

a

  
   L y  Lz ' dx
a

b b
C
C( y )  M x , y , y' dx 
a
   
   M y  M z ' dx
a

La matrice F(0 , 0) est singulière et ses colonnes sont linéairement dépendantes.
b
Il existe (0 , )  (0 , 0) tels que   ( L
a
0 y 
 Lz ' )  ( M y  M z ' ) dx  0

La perturbation  est quelconque  0 ( L y  Lz ' )  ( M y  M z ' )  0

 N y  N z '  0 avec N  0 L  M
1191
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Exemple 5 : Didon


Problème de Didon (reine de Carthage 814 av J.C.)
• Trouver la surface maximale entourée par une courbe de longueur donnée.

y
B
y(x)

L S  ydx → surface
A
S B

A B L 
A
1  y'2 dx → longueur
0 a b x

b b
• Formulation :
y 
min J ( y)   ydx sous C( y) 
a
a
1  y' ( x ) 2 dx  L 0  0

• Lagrangien augmenté : N ( x , y, y ' )   y   1  y ' 2 → multiplicateur , 0=1

N d  N  d  y' 
  1
• Equation EL :    
y dx  y'  dx  1  y'2 
 
1192
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Exemple 5 : Didon


Solution
• L’équation EL est une EDO d’ordre 2 → 2 constantes d’intégration
d  y'  y ' x  x0
 1   ( x  x 0 )  y ' 
dx  1  y'2  1  y' 2 2  ( x  x 0 ) 2 y
 
 y  y 0  2  ( x  x 0 ) 2
A B
 (x  x 0 )  ( y  y0 )  
2 2 2
x

• La courbe entourant la surface maximale est un arc de cercle


de centre (x0 , y0) , rayon .

• Les problèmes « Maximiser la surface entourée par une courbe de longueur donnée »
et « Minimiser la longueur de la courbe entourant une surface donnée »
sont équivalents (même lagrangien augmenté).
max S( y) sous L( y)  L 0  0  N( x , y, y' )   y   L 1  y'
2
1
y  S  
min L( y) sous S( y)  S0  0  N ( x , y, y ' )  1  y ' 2   S y L
y 1193
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Exemple 5 : Didon


Coordonnées polaires
• On peut également résoudre le problème de Didon en coordonnées polaires.
→ méthode transposable en 3 dimensions

• On se place en coordonnées polaires r ,  → fonction r() dL


 
Un élément de longueur dL de normale n à la position r génère : dLr  
  n
- une longueur apparente dLr : dL r  dL cos  avec   ( r , n )
dL r 
- un angle au sommet d : d  r
r
1 
- un triangle de surface dS : dS  hdL avec h  r .n  r cos 
2
h
(triangle de base dL et de sommet O → hauteur h) O

r
• On exprime dL et dS en fonction de l’angle d : dL  d
cos 
1
dS  r 2 d
2 1194
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Exemple 5 : Didon


Solution
1 2 r
max S(r, ) 
r , 

2
r d sous L(r, ) 

cos  
d  L 0 → fonctions inconnues r(,) , (,)

1 2 r
• Lagrangien augmenté : N r  → ne dépend pas de r , 
2 cos 

sin   
• Equation EL : N   ( N ' )'  r 0  0 ( n // r )
cos 2 
1 
N r  ( N r ' )'  r 0  r    C te
cos  cos 

La courbe entourant la surface maximale est un cercle de rayon : r0   .


2
d  L 0 avec r  r0  r0  0
r L
• Valeur du rayon r0 : L  cos    0 2
(contrainte) 0

2
 L S  L 
• Sensibilité à la contrainte : S  r   
2
     r  
(multiplicateur)  2  L  2 
1195
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Exemple 6 : volume


Formulation
• Trouver le volume maximal entouré par une surface d’aire donnée.
→ problème de Didon dans l’espace
dS
• On se place en coordonnées sphériques r ,  ,  → fonction r(,)
 
Un élément de surface dS de normale n à la position r génère : dSr  
  n
- une surface apparente dSr : dSr  dS cos  avec   ( r , n )
dSr 
- un angle solide d : d  r
r2
1 
- un cône de volume dV : dV  hdS avec h  r .n  r cos 
3
h
(cône de base dS et de sommet O → hauteur h) O

r2
• On exprime dS et dV en fonction de l’angle solide d : dS  d
cos 
1
dV  r 3d
3 1196
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Exemple 6 : volume


Formulation
• Le volume total et la surface totale s’obtiennent en intégrant sur l’angle solide d.
L’espace entier correspond à un angle solide  = 4.
1 3 r2 dS
Volume : V 

3
r d  Surface : S 


cos 
d

dSr 
• Les fonctions inconnues sont r(,) , (,). 
n
1 3 r2
max V(r, ) 
r ,

3 
r d sous S(r, )  

cos 
d  S0 
r

• Remarque
L’orientation de l’élément de surface dS nécessite 2 angles : h
 
- l’angle  entre les vecteurs r et n O

- l’angle  correspondant à une rotation autour de r

L’angle solide d ne dépend pas de .


→ La fonction (,) n’intervient pas dans la formulation du problème.

1197
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Exemple 6 : volume


Solution
1 3 r2
max V(r, ) 
r ,

3 
r d sous S(r, ) 

cos  
d  S0 → fonctions inconnues r(,) , (,)

1 3 r2
• Lagrangien augmenté : N r  → ne dépend pas de r , 
3 cos 

sin   
• Equation EL : N   ( N ' )'  r 2 0  0 ( n // r )
cos 2 
r 2
N r  ( N r ' )'  r 2  2 0  r  2  C te
cos  cos 

La surface entourant le volume maximal est une sphère de rayon : r0  2 .


4
r2
d  S0 avec r  r0  r0 
S0
• Valeur du rayon r0 : S 
cos    0 4
(contrainte) 0
3 1
4 4  S 2 V 1  S  2 1
• Sensibilité à la contrainte : V  r 3         r  
(multiplicateur) 3 3  4  S 2  4  2
1198
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Contrainte courante


Formulation
b
y (a )  
min J ( y)  Lx , y, y'dx
 sous Mx , y, y'  0 , x  [a , b] et  y(b)  
yY
a

La contrainte courante M(x,y,y) = 0 restreint l’espace des fonctions Y.

Condition nécessaire d’ordre 1 b b


• On définit le critère augmenté : K ( y)  J ( y)  ( x )M( x , y, y' )dx  L  ( x )M ( x , y, y' )dx
 
a a
La fonction N = L + (x)M est le lagrangien augmenté.
Le multiplicateur  est une fonction de x (  associé à la contrainte M(x,y,y)=0 en tout x)

• Condition nécessaire de minimum local en y*.

Il existe une fonction (x) telle que N y  N z '  0 (équation EL appliquée à N = L + (x)M)

• La valeur de (x) en chaque point est déterminée par la contrainte M(x,y,y) = 0.

• Une contrainte de la forme M(x,y)=0 est une contrainte holonome.


On peut dans ce cas exprimer y en fonction de x pour réduire la dimension du problème.
1199
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Exemple 7 : pendule


Pendule simple
• On écrit les équations du mouvement en coordonnées cartésiennes (x , y).

Energie potentielle : U  gy (par unité de masse) 0 x

1
Energie cinétique : T  ( x 2  y 2 ) d
2

Contrainte (longueur d) : M  x 2  y2  d2  0

Lagrangien augmenté : N  L  M avec  fonction de t 


g
1
 N  ( x 2  y 2 )  gy  ( x 2  y 2  d 2 )
2 y
Equation EL :    2x  x
Nx  N x
   2y  g  y
Ny  N y

x  2x
• Equations du mouvement : y  2y  g avec 3 fonctions inconnues x(t) , y(t) , (t)
x 2  y 2  d 2 → résolution peu évidente sous cette forme

1200
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017

5.2.4 Exemple 7 : pendule


Pendule simple
• On utilise la contrainte holonome pour réduire la dimension du problème.

M  x 2  y 2  d 2  0  x  d sin  0 x
 y  d cos 
→ passage à une seule fonction inconnue  en coordonnées polaires d
→ la contrainte M = r  d = 0 est directement prise en compte

Energie potentielle : U  gd cos 

1 g
Energie cinétique : T  d 2  2
2
1 y
Lagrangien : L  T  U  d 2  2  gd cos 
2
Equation EL : L  L    gd sin   d 2
 

• Equations du mouvement :    g sin  avec 1 fonction inconnue (t)


d
→ résolution plus simple sous cette forme

1201
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Minimum fort

 Conditions nécessaires de coin (Weierstrass-Erdmann)

 Condition nécessaire de minimum fort (Weierstrass)

 Variables canoniques

1202
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Conditions de coin


Formulation
b
min J ( y)  Lx , y, y'dx  y (a )  
yY 
a
avec  y( b)  

• L’espace Y est étendu aux fonctions C1 par morceaux sur [a,b] et à valeurs fixées en a et b.

• Une fonction y* minimisant J sur l’espace Y doit vérifier des conditions supplémentaires
aux points où la dérivée est discontinue.

 Illustration : y, y *  Y
y - dérivée de y* discontinue en c*
 - dérivée de y discontinue en c
y*
 J ( y*)  min J ( y)  J ( y*)  J ( y)
yY

0 a c* c b x
1203
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Conditions de coin


Coin ou arête
• On considère des fonctions y de Y ayant une dérivée discontinue en un point c de [a,b].
Le point x=c est appelé coin ou arête de la fonction y (« corner »).

• On suppose que c est le seul coin de y sur [a,b].


 y ( x ) si x  [a , c] y1 (c)  y 2 (c)  y(c) → fonction continue en c
y( x )   1 avec y1 ' (c)  y' (c  )
 y 2 ( x ) si x  [c, b] → dérivée discontinue en c
y 2 ' (c)  y ' (c  )

y y2

 y2*
y1

y1*

0 a c* c b x
1204
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Conditions de coin


Perturbation
• La fonctionnelle J dépend de la fonction y* et de la position du point c*.
b c* b
J ( y*, c*)  Lx , y*, y*'dx  Lx , y1*, y1*'dx  Lx , y 2 *, y 2 *'dx  J1 ( y1*, c*)  J 2 ( y 2 *, c*)
  
a a c*

• On applique des perturbations 1 et 2 de classe C1 aux fonctions y1* et y2* et c au point c*.
y1 = y1* + 1 sur [a,c] avec 1(a) = 0 (si c>0, on prolonge y1* par une droite pour x > c*)
y2 = y2* + 2 sur [c,b] avec 2(b) = 0 (si c<0, on prolonge y2* par une droite pour x < c*)
c = c* + c
y y2*+ 2

 y2* Prolongement y1p* de y1* sur [c*,c]


y1*+ 1
y1p * ( x )  y * (c*)  y*' (c * ).(x  c*)

y1p*
y1* → prolongement de classe C1

0 a c* c*+c b x
1205
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Conditions de coin


Perturbation
• La fonction perturbée doit rester continue en c = c* + c.
 y (c)  y1 * (c*)  y1  y1c
y1 (c)  y 2 (c) avec  1 et y1 * (c*)  y 2 * (c*)  y * (c*)
 y 2 ( c )  y 2 * ( c*)  y 2   y 2 c

y1 = variation en c* de y1* due à 1 → y1 = 1(c*)


y2 = variation en c* de y2* due à 2 → y2 = 2(c*)
y1c = variation en c* de y1* due à c → y1c = y*(c*)c (prolongement linéaire de y1*)
y2c = variation en c* de y2* due à c → y2c = y*(c*+)c (prolongement linéaire de y2*)

y
y2
*+ y1 (c*)  y 2 (c*)  

y1 y1c  y1  y1c  y 2  y 2c  


*
y2c    1 (c*)  y*' (c * )c
y1*  2 (c*)  y*' (c * )c
y2* → relation entre 1(c*) et 2(c*)
pour que y reste continue
0 c* c*+c x 1206
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Conditions de coin


Variation première
• On évalue la variation de J = J1 + J2 à l’ordre 1 en .
c* b
J ( y*, c*)  J1 ( y1*, c*)  J 2 ( y 2 *, c*)  Lx , y1*, y1*'dx  Lx , y 2 *, y 2 *'dx
 
c* c a c*

J1 ( y1 * 1 , c * c)   Lx, y *  , ( y *  )'dx


a
1 1 1 1

c* c* c
  L   L
a
1 y 
 1 ' L z x , y1*, y1*'dx   Lx, y *, y *'dx
c*
1 1

• Le premier terme s’intègre par parties, avec 1(a) = 0 et 1(c*) libre.

Le deuxième terme vaut : 


Lc*, y1 * (c*), y1*' (c*)c  L c*, y * (c*), y*' (c * ) c 
 L(c * )c
noté
c*
• On obtient pour J1 :  
a

J1y* (1 , c)  1 L y  L z ' dx  1 (c*)L z (c * )  L(c * )c

b
• De même pour J2 :  
c*

J 2 y* (2 , c)  2 L y  L z ' dx  2 (c*)L z (c * )  L(c * )c

1207
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Conditions de coin


Variation première
• La variation première de J = J1 + J2 pour des perturbations 1 , 2 , c vaut
J y* (1 , 2 , c)  J1y* (1 , c)  J 2 y* (2 , c)
c* b
   L
a
1 y    
 L z ' dx  2 L y  L z ' dx
c*


 1 (c*)L z (c * )  2 (c*)L z (c * )  L(c * )  L(c * ) c
• Les valeurs de 1(c*) et 2(c*) ne sont pas indépendantes, car y doit rester continue en c*.
On les exprime en fonction des variations c et  qui sont indépendantes.

 1 (c*)    y*' (c * )c



1 (c*)  y*' (c * )c  2 (c*)  y*' (c * )c     
2 (c*)    y*' (c * )c

• On obtient la variation première de J pour les perturbations indépendantes 1 , 2 , c , .


c* b

     
1 L y  L z ' dx  2 L y  L z ' dx  L z c*   L z y'Lc* c
c* c*
J y* (1 , 2 , c,  ) 
a c*

1208
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Conditions de coin


Condition nécessaire de minimum
• La condition nécessaire de minimum d’ordre 1 est
J y* (1 , 2 , c,  )  0 , 1, 2 admissibles , c, 
c* b

     
1 L y  L z ' dx  2 L y  L z ' dx  L z c*   L z y'Lc* c
c* c*
J y* (1 , 2 , c,  ) 
a c*

• Les termes en 1,  2, c,  doivent être chacun nul (perturbations indépendantes).

Sur [a,b] : L y  L z ' → équation d’Euler-Lagrange

En c* : L z (c * )  L z (c * )
L z (c * ) y*' (c * )  L(c * )  L z (c * ) y*' (c * )  L(c * )
Les fonctions (Lz) et (Lzy’L) sont continues en c* → conditions de Weierstrass-Erdmann
(1865 , 1877)

• Les conditions de coin de Weierstrass-Erdmann sont des conditions nécessaires


supplémentaires vérifiées en chaque point où la dérivée de y est discontinue.
→ conditions de continuité des variables canoniques
1209
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Exemple 8 : surface


Surface de révolution d’aire minimale
• Trouver la courbe entre 2 points A et B engendrant la surface minimale par rotation d’axe Ox

y ds
B
y*(x)
L’élément de courbe d’ordonnée y et
y de longueur ds engendre par rotation
A autour de Ox la surface dS.
dS  2yds
0 a b x B B

 
S  2 yds  2 y( x ) 1  y' ( x ) 2 dx
A A

b
• Formulation :
y 
min y( x ) 1  y' ( x ) 2 dx
a
 L ( x , y, z )  y 1  z 2

1210
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Exemple 8 : surface


Surface de révolution d’aire minimale
• Le problème a la même formulation que le problème de la caténaire.
Trouver dans le plan vertical la forme prise par un fil pesant homogène attaché en A et B

y
L’élément du fil d’ordonnée y et
a b x de longueur ds a pour
0
A B énergie potentielle dEP.

dE P  gyds
ds
b

 
E P  gy( x ) 1  y' ( x ) 2 dx
g a

La forme prise par le fil pesant minimise l’énergie potentielle totale.

b
• Formulation :
y 
min y( x ) 1  y' ( x ) 2 dx
a
 L ( x , y, z )  y 1  z 2

1211
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Exemple 8 : surface


Surface de révolution d’aire minimale / Caténaire
b

y 
min y( x ) 1  y' ( x ) 2 dx
a
 L ( x , y, z )  y 1  z 2

• L ne dépend pas explicitement de x. L’équation EL admet pour intégrale première L y ' y'L .

yy'2 y2  H2
L y ' y'L  H  C te
  y 1  y'  H
2
 y   H 1  y' 2
 y'  
1  y' 2 H

• On intègre par séparation des variables.


 Hdy y  y2  H2 y
dx   x  x 0  H ln  x 0  [Link] 
y2  H2 H H
 x  x0 
• On obtient l’expression de y(x) : y  [Link] 
 H 
La courbe minimisant l’aire / l’énergie potentielle est une chaînette.
La surface de révolution est une caténoïde (« catena » = chaîne).

La solution obtenue ne considère que les courbes de classe C1 (minimum faible).


1212
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Exemple 8 : surface


Surface de révolution d’aire minimale
• On reprend la résolution en cherchant des solutions C1 par morceaux.
x  x ( t )
Les solutions sont cherchées sous forme de courbes paramétrées :  y  y( t )

b

• Formulation :
x,y 
min y( t ) x ( t ) 2  y ( t ) 2 dt
a
 L( t , x , y, x , y )  y x 2  y 2

Chacune des fonctions x(t) et y(t) doit vérifier l’équation d’Euler-Lagrange.


L x  L x
L  L → système différentiel de dimension 2 et d’ordre 2
 y y

• Le problème à 2 fonctions inconnues x(t) et y(t) en variable t est équivalent


au problème à 1 fonction inconnue y(x) en variable x.
Les 2 équations E.L. ne sont donc pas indépendantes. On garde l’équation en Lx plus simple.

L x  0  L x  K  C te  yx  K x 2  y 2

• On obtient différentes formes d’extrémales suivant la valeur de la constante K.

1213
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Exemple 8 : surface


Surface de révolution d’aire minimale
Les extrémales sont solutions de l’équation : yx  K x  y
2 2

• 1er cas : K ≠ 0
On retrouve les solutions continues de type chaînette en posant : x  t  x  1
Les constantes d’intégration sont déterminées par les conditions en a et b.

• 2ème cas : K = 0
On obtient deux types d’extrémales : yx  0  y  0 ou x  c

On peut former une solution continue en raccordant ces extrémales au point C (xC=c , yC=0).
Pour être un minimum, cette solution doit vérifier les conditions de coin en C.

1ère condition : p  L x  K  0  p  p  0 → p est continue en C


L   K  0
2ème condition : H  L x x  L avec  x
L  y x  y  0
2 2
car y est continue et yC=0
 H  H  0 → H est continue en C

Les conditions de coin sont bien vérifiées en raccordant les extrémales y=0 et x=c.
1214
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Exemple 8 : surface


Surface de révolution d’aire minimale
y (a )  
La solution est complètement définie par les conditions aux extrémités :  y(b)  

• Solution de forme chaînette
→ si A et B ne sont pas trop proches de l’axe Ox y
 x  x0 
y  [Link]  A B
 H 

a
Cas symétrique  x 0  0 ,   [Link] 
H
Solution possible pour H si  assez grand
Si  petit → pas de solution chaînette A B

• Solutions de forme polygone A B


→ si A et B sont proches de l’axe Ox a 0 +a x

x = a → AA Illustration : A(a , ) → cas symétrique


y= 0 → AB B(+a , )
x = +a → BB
1215
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Condition de Weierstrass


Condition nécessaire de minimum fort
b
min J ( y)  Lx , y, y'dx
 avec  y(a )  
yY
a
 y( b)  
• Y est l’espace des fonctions C1 par morceaux de [a,b] dans R, à valeurs fixées en a et b.

• On définit la fonction de Weierstrass E : R4 → R


E( x , y, z, w )  L( x , y, w )  L( x , y, z)  ( w  z)L z ( x , y, z)

• Si y* est un minimum fort de J, alors en tout point x qui n’est pas un coin, et pour tout réel w

E( x , y*, y*' , w )  0 , w  R , x  coin → condition de Weierstrass (1879)

 L( x , y*, w )  L( x , y*, y*' )  ( w  y*' )L z ( x , y, y*' )

• Interprétation : la fonction L(x,y,z) est localement convexe par rapport à la variable z.

• La condition de Weierstrass est directement liée au principe du maximum.


→ formulation utilisant l’hamiltonien
1216
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Condition de Weierstrass


Preuve (1)
• On suppose que la fonction y* est un minimum local fort de J.
On considère un point x0 qui ne soit pas un coin de y*
et un point x1 > x0 tel que l’intervalle [x0 , x1] ne contienne pas de coin de y*.

• On définit une famille de fonctions y paramétrée par   0, avec w un réel quelconque.


 y* ( x ) si a  x  x0
 y * ( x0 )  w( x  x0 ) si x0  x  x0  
 x1  x
y( x , )   y * ( x )   y * ( x0 )  w  y * ( x0   ) si x0    x  x1
 x1  ( x0   )
 y * ( x ) si x1  x  b
y

y*(x)
y(x,)
y*(x0)

a x0 x0+ x1 b x
1217
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Condition de Weierstrass


Preuve (2)
• Les fonctions y(x,) sont C1 par morceaux, avec des dérivées discontinues en x0, x0+ et x1.
Pour   0 petit, les fonctions y(x,) sont voisines de y* en norme 0.
Pour  = 0, la fonction y(x,0) coïncide avec y*.

• y* est un minimum fort de J  J ( y*)  J ( y(.,0 ))  J ( y(., )) ,   0

La fonction F :   F (  )  J ( y(., )) définie pour   0 admet un minimum en  = 0.

Sa dérivée à droite en 0 est donc positive : F' ( 0  )  0

• On calcule cette dérivée F(0+) pour montrer qu’elle est égale à E( x0 , y * ( x0 ), y*' ( x0 ), w )
= fonction de Weierstrass au point x0 pour la fonction y*.

• Le point x0 ( coin de y*) et le réel w sont quelconques.


On aura donc montré que la fonction y* vérifie en tout point x qui n’est pas un coin
E( x , y * ( x ), y*' ( x ), w )  0 , x  coin , w  R

• Il reste à établir que : F' ( 0  )  E( x0 , y * ( x0 ), y*' ( x0 ), w )


1218
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Condition de Weierstrass


Preuve (3)
• On calcule la dérivée de la fonction F( ).
b x0 x0  x1 b
  0  F (  )  J ( y(., ))   Lx , y( x , ), y x ( x , )dx       
a a x0 x0  x1

• La fonction y(.,) ne dépend de  que sur l’intervalle [x0 , x1].

On calcule les dérivées des intégrales sur [x0 , x0+ ] et sur [x0+ , x1] :

x0 

• Dérivée par rapport à  de l’intégrale I 0   Lx , y( x , ), y ( x , )dx


x0
x .

Sur [x0 , x0+ ] : y( x , )  y * ( x0 )  w( x  x0 )  y x ( x , )  w

 Lx , y( x , ), y x ( x , )  Lx , y * ( x0 )  w( x  x0 ), w
termes à grouper
en fin de calcul
d  0 
x 
d
I 0     Lx , y * ( x0 )  w( x  x0 ), wdx   Lx0   , y * ( x0 )  w , w
d d  x0 
1219
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Condition de Weierstrass


Preuve (4) x1

• Dérivée par rapport à  de l’intégrale I 1   Lx , y( x , ), y ( x , )dx


x0 
x .

d  1 
x
d
I 1     
L x , y( x , ), y x ( x , ) dx 
d d  x0  
 x1

  Lx0   , y( x0   , ), y x ( x0   , )  Lx , y( x , ), y x ( x , )dx


d

x0 
d

dérivée par rapport à la borne inférieure dérivée sous l’intégrale

Lx , y( x , ), y x ( x , )  Ly x , y( x , ), y x ( x , ) y ( x , )
d
• Dérivée sous l’intégrale :
d
 Lz x , y( x , ), y x ( x , ) y x ( x , )
• On obtient
1 x
d
I 1    Lx0   , y( x0   , ), y x ( x0   , )   Ly x , y( x , ), y x ( x , ) y ( x , )dx
d x0 
x1

  L x , y( x , ), y ( x , )y  ( x , )dx
x0 
z x x

intégration par parties


1220
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Condition de Weierstrass


Preuve (5) x1

• Intégration par parties de I 2   L x , y( x , ), y ( x , )y  ( x , )dx


x0 
z x x

x1

I 2  Lz x , y( x , ), y x ( x , ) y ( x , ) Lz x , y( x , ), y x ( x , ) y ( x , )dx
d
 
x1
x0 
x0 
dx
x1  x
• Sur [x0+ , x1] : y( x , )  y * ( x )   y * ( x0 )  w  y * ( x0   )
x1  ( x0   )
Valeur en x1 : y( x1 , )  y * ( x1 )  y ( x1 , )  0
dérivée / 
Valeur en x0+ : y( x0   , )  y * ( x0 )  w  y x ( x0   , )  y ( x0   , )  w
 y ( x0   , )  w  y x ( x0   , )
• En remplaçant dans le terme entre crochet de I2 ,il reste

Lz x , y( x , ), y x ( x , )y ( x , )xx 


1
0
  Lz x0   , y( x0   , ), y x ( x0   , )w  y x ( x0   , )

• On regroupe ensuite l’ensemble des termes surlignés pour obtenir la dérivée de F().

1221
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Condition de Weierstrass


Preuve (6)
• On obtient pour la dérivée de la fonction F().

Lx0   , y * ( x0 )  w , w  Lx0   , y( x0   , ), y x ( x0   , )
dF

d
 Lz x0   , y( x0   , ), y x ( x0   , )w  y x ( x0   , )
x1
 
   L y  x , y( x , ), y x ( x , ) 
d
Lz  x , y( x , ), y x ( x , )  y ( x , )dx
x0   
dx

• Valeur en  = 0+ : y( x ,0 )  y * ( x )  y x ( x ,0 )  y*' ( x )

y* est une extrémale  Ly  x , y*, y*'   Lz x , y*, y*'   0 (équation d’Euler-Lagrange)


d
dx
• La dérivée de F en  = 0+ vaut

 Lx0 , y * ( x0 ), w  Lx0 , y * ( x0 ), y*' ( x0 )  Lz x0 , y * ( x0 ), y*' ( x0 )w  y*' ( x0 )


dF
d 0 

 E x0 , y * ( x0 ), y*' ( x0 ), w → résultat permettant de conclure E  0

1222
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Variables canoniques


Conditions de minimum fort
• On peut exprimer les conditions de minimum fort avec les variables canoniques.
b
J ( y)  Lx , y, y'dx
  p  L z
a
H  L z y'L
  
• Les conditions de Weierstrass-Erdmann portent sur la continuité de p et H : p(c )  p(c )
H ( c )  H ( c )
La courbe (« indicatrice ») de L(. , . , z) en fonction de z a une tangente en z=c d’équation

Z  L z (c)(z  c)  L(c)  p(c)z  H(c) → même tangente à gauche et à droite

• La condition de Weierstrass est liée au principe du maximum.


On réécrit la fonction de Weierstrass en utilisant l’hamiltonien : H( x , y, z, p)  pz  L( x , y, z)
E( x , y*, y*' , w )  L( x , y*, w )  L( x , y*, y*' )  ( w  y*' )L z ( x , y*, y*' )
 L( x , y*, w )  L( x , y*, y*' )  ( w  y*' )p car p  L z
 py*'L( x , y*, y*' )   pw  L( x , y*, w ) 
 H( x , y*, y*' , p)  H( x , y*, w , p)
E( x , y*, y*' , w )  0 , w  H( x , y*, y*' , p)  H( x , y*, w , p) , w
→ maximisation de l’hamiltonien par rapport à la variable y
1223
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017

5.2.5 Récapitulatif
Conditions de minimum faible (fonctions C1)

• CN d’ordre 1 : Ly  Lz ' Euler-Lagrange (1740 , 1755)

• CN d’ordre 2 : L zz  0 Legendre (1786)

• CS d’ordre 2 : L zz  0 et pas de point conjugué Jacobi (1837)

Conditions de minimum fort (fonctions C1 par morceaux)

• CN de coin : L z et L z y'L continues Weierstrass-Erdmann (1865 , 1877)

• CN de Weierstrass : E( x , y*, y*' , w )  0 Weierstrass (1879)


w  R , x  coin

Problème historique

• Brachistochrone (Johann Bernoulli, 1696)

1224
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
Techniques d’optimisation Mai 2017

Sommaire
1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes
4. Optimisation discrète

5. Optimisation fonctionnelle
5.1 Fonctionnelle
5.2 Calcul des variations
5.3 Commande optimale
5.3.1 Système dynamique
5.3.2 Conditions de minimum
5.3.3 Problème linéaire quadratique
5.3.4 Extrémales
5.3.5 Méthodes numériques
5.4 Filtrage

1225
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Système dynamique

 Equation d’état

 Système linéaire  Linéarisation  Stabilité

 Matrice de transition  Matrice de covariance

 Commandabilité  Observabilité

 Problème aux deux bouts

 Coût intégral  Coût final

 Problème de contrôle

 Contraintes

1226
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Système dynamique


Représentation d’état
• Un système dynamique est décrit par un vecteur d’état à chaque instant.
- Le vecteur d’état définit complètement le système à un instant donné.
- L’évolution du système à partir d’un instant donné ne dépend pas des états antérieurs.
- La trajectoire du système est la succession des états au cours du temps.

• Notations
x(t)  Rn : état du système à la date t → de dimension n
u(t)  Rm : commande appliquée à la date t → de dimension m

x  f ( x, u, t ) : équation d’état (ou dynamique ou d’évolution) = équation différentielle

x ( t ) , t  [ t 0 , t f ] : trajectoire du système de t0 à tf = solution de l’équation différentielle

• Conditions suffisantes d’existence d’une solution de l’équation différentielle.


- f de classe C1 en x
- f continue en u et t
assure l’existence de la solution x(t)
- fx continue en u et t
- u continue par morceaux

1227
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Système dynamique


Cas particuliers
• L’équation d’état d’un système dynamique a pour forme générale : x  f ( x, u, t )

• Le système est autonome si f ne dépend pas explicitement du temps : x  f ( x, u )

→ La solution est fonction de la durée t  t0.

• Le système est non contrôlé si f ne dépend pas de la commande : x  f ( x, t )

→ La solution ne dépend que de l’état initial x(t0).

• Le système est linéaire si f est linéaire par rapport à x et u.

x ( t )  F( t ) x ( t )  G ( t )u ( t ) x(t) = vecteur n 1 , F(t) = matrice nn


avec
u(t) = vecteur m1, G(t) = matrice nm

→ La solution s’exprime comme une fonction linéaire de l’état initial et de la commande.


On peut écrire la solution générale en utilisant la matrice de transition.

1228
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Système dynamique


Linéarisation
• L’étude d’un système passe par sa linéarisation au voisinage d’une trajectoire de référence.

Equation d’état du système : x  f ( x, u, t )

Trajectoire de référence : x*(t) , tt0 , tf associée à la commande de référence u*(t)


(ou nominale) (ou nominale)
Trajectoire perturbée : x*(t) + x(t) associée à la commande perturbée u*(t) + u(t)
d
• La trajectoire perturbée suit l’équation d’état ( x * x )  f ( x * x, u * u, t )
dt
d
avec ( x*)  f ( x*, u*, t ) sur la trajectoire nominale
dt
En développant à l’ordre 1 en x et u : x  f xT x  f uT u

Les écarts à la trajectoire de référence suivent une équation d’état linéaire.


f
F ( x*, u*, t ) T → matrices F et G calculées
x  Fx  Gu avec x sur la trajectoire nominale (x*,u*,t)
f
G ( x*, u*, t ) T
u 1229
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Système dynamique


Plan de phase
• Un système non linéaire autonome de dimension 2 a une équation d’état de la forme

 x 1  f1 ( x1 , x 2 )  formulation adaptée à de nombreux systèmes physiques


 x  f ( x , x )
 2 2 1 2 suivant une équation différentielle d’ordre 2 (mécanique, électricité)

• La trajectoire du système peut être représentée dans le plan de phase (x1 , x2).
L’ensemble des trajectoires possibles forme le portrait de phase du système.

Les composantes (x1 , x2) sont liées par une équation différentielle.

 x 1  f1 ( x1 , x 2 ) dx 2 f 2 ( x1 , x 2 )
 x  f ( x , x )    donne la pente au point (x1 , x2)
 2 2 1 2 dx1 f1 ( x1 , x 2 )

• Pour tracer le portrait de phase, on peut


- soit intégrer le système différentiel en x1(t) et x2(t) puis éliminer t,
- soit intégrer l’équation différentielle entre x1 et x2,
- soit utiliser le champ des tangentes de pentes données par f 2/f1  méthode des isoclines

1230
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Exemple : portrait de phase


Système d’ordre 2
• Système non commandé :   a  0  
x1  
x  
 2
 x 1  x 2  dx 2   ax1  ax dx  x dx  0  ax 2  x 2  c
x  ax 1 1 2 2 1 2
 2 1 dx1 x2

Le portrait de phase est formé de coniques de centre O (ellipses si a > 0, hyperboles si a < 0).

• Système commandé :   u avec u   1 si   0


u   1 si   0
x2
 x 1  x 2  dx 2  u  x dx  udx  x 2  2ux  c
x  u 2 2 1 2 1
 2 dx1 x 2 u = 1

Le portrait de phase est formé de 2 familles de paraboles.


- u = 1 pour  = x1 > 0 x1
- u = +1 pour  = x1 < 0
u = +1

1231
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Stabilité
Point singulier
• La pente d’une trajectoire passant par le point (x1 , x2) est donnée par

dx 2 f 2 ( x1 , x 2 )

dx1 f1 ( x1 , x 2 )

Si (f1 , f2)  (0 , 0), la pente est bien définie  une seule trajectoire passe en (x1 , x2)
Si (f1 , f2) = (0 , 0), la pente n’est pas définie  une infinité de trajectoires passent en (x1 , x2)

Les points singuliers du système sont les points (x1 , x2) tels que f1 ( x 1 , x 2 )  0
f ( x , x )  0
 2 1 2

• Les points singuliers sont des points d’équilibre du système.

 x 1  f1 ( x1 , x 2 )  0  x1  C te
 x  f ( x , x )  0  
 2 x2  C
te
2 1 2

La stabilité du système dépend de son comportement au voisinage des points singuliers.


 analyse dans le cas linéaire, puis dans le cas non linéaire

1232
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Stabilité
Système linéaire
• Un système linéaire de dimension 2 est représenté par une équation différentielle d’ordre 2.
 x 1  c11x1  c12 x 2  x1  x
 x  c x  c x  x  ax  b x  0 avec  x  x
 2 21 1 22 2  2

Equation caractéristique : s 2  as  b  0 de racines s1 et s2  x ( t )  k1e s1t  k 2 e s1t si s1  s 2
s1t s2t

x ( t )  k1e  k 2 t e si s1  s 2
• Le seul point singulier est l’origine O. Le comportement au voisinage de O dépend de s 1 et s2.
Im Im Im Im Im Im
s2 s2 s2
s1 s2 Re s1 s2 Re s1 s2 Re s1 Re s1 Re s1 Re

noeud stable noeud instable point d’inflexion foyer stable foyer instable centre

x2 x2 x2 x2 x2 x2

x1 x1 x1 x1 x1 x1

1233
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Stabilité
Système non linéaire
• Pour un système linéaire, le seul point singulier est l’origine.
Le comportement du système est complètement déterminé par la nature du point singulier.

• Un système non linéaire peut présenter : - plusieurs points singuliers


- un comportement chaotique
- des cycles limites

• Un comportement chaotique signifie une forte sensibilité aux conditions initiales.


L’état du système devient imprédictible après un certain temps.

• Un cycle limite correspond à une courbe fermée isolée dans le plan de phase.
- courbe fermée  mouvement périodique
- courbe isolée  convergence ou divergence des trajectoires voisines

Le cycle limite peut être


- stable si toutes les trajectoires voisines convergent vers le cycle limite
- instable si toutes les trajectoires voisines divergent du cycle limite
- semi-stable si certaines trajectoires convergent et d’autres divergent

1234
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Exemple : système chaotique


Système non linéaire perturbé
• Equation différentielle du système : x  0.1x  x 5  6 sin t
x  2 x 0  2.01
• Conditions initiales à t=0 :  0  courbe noire x  3.01  courbe rouge
x 0  3  0

1,5

0,5

0
0 5 10 15 20 25 30 35 40 45 50

-0,5

-1

-1,5

-2
1235
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Exemple : cycle limite


Système d’ordre 2
 x 1  x 2  ax1 ( x12  x 22  1) n
• Système d’équation : 
x 2   x1  ax 2 ( x1  x 2  1)
2 2 n

r  x 1 cos   x 2 sin  


x  r cos   r  ar (r  1)
2 n
Coordonnées polaires : 
x 1  r sin    
 2 r   x 1 sin   x 2 cos    1
• Le cercle de centre O et de rayon 1 est un cycle limite : r ( t 0 )  1  r  0  r ( t )  1
La stabilité du cycle limite dépend de n et a.

stable si n impair et a < 0 instable si n impair et a < 0 semi-stable si n pair

x2 x2 x2

x1 x1 x1

1236
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Stabilité
Points singuliers
• Un système non linéaire x  f ( x ) peut admettre plusieurs points singuliers (= d’équilibre).
Les points singuliers xe sont les solutions de f(xe) = 0 .

On note x l’écart au point singulier : x = x  xe

• Un point d’équilibre est localement stable (ou stable au sens de Lyapunov) si


 x(t)  , t>t0 peut être rendu arbitrairement petit en choisissant  x(t0)  suffisamment petit.

• Un point d’équilibre est asymptotiquement stable si lim x  0


t 

• Un point d’équilibre est exponentiellement stable si x ( t )   x ( t 0 ) e  t , ,   0

• Un système peut rester borné au voisinage d’un point d’équilibre sans être stable.
Exemple : cycle limite stable

• La stabilité d’un système non linéaire au voisinage d’un point d’équilibre s’analyse
- soit par linéarisation
- soit par la méthode directe (méthode de Lyapunov)

1237
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Stabilité
Linéarisation
• On écrit le système linéarisé au voisinage du point d’équilibre xe .
x  x e  x  x e  x  f ( x e  x )  f ( x e )  f x ( x e ) T x  o x  x  Fx  o x

0 0
• Si toutes les valeurs propres de F sont à partie réelle < 0, le système est stable.
Si une valeur propre de F est à partie réelle > 0, le système est instable.
Sinon, on ne peut rien dire de la stabilité du système non linéaire.

Méthode directe
• Une fonction de Lyapunov du système x  f ( x ) est une fonction V(x) de classe C1
- définie positive : V(x) > 0 si x  0 , V(0)=0
- décroissante :  (x )  0
V

• Si le système admet une fonction de Lyapunov V , le point xe est localement stable.


Si la fonction V est strictement décroissante, le point xe est asymptotiquement stable.
Si la fonction V est non bornée, le point xe est globalement asymptotiquement stable.

 conditions suffisantes reposant sur l’existence de V (exemple : V = énergie du système)


1238
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Système linéaire


Système linéaire non contrôlé
• Un système linéaire non contrôlé a une équation d’état de la forme

x ( t )  F( t ) x ( t ) avec F(t) = matrice nn dépendant du temps

• Les solutions sont superposables ne dépendent que de l’état initial. Elles sont de la forme

x ( t )  ( t, t 0 ) x ( t 0 ) avec (t,t0) = matrice nn = matrice de transition de t0 à t

• La matrice de transition (t,t0) permet d’exprimer l’état à t en fonction de l’état à t0.

 x1 ( t 0 )   x1 ( t )  ij(t,t0) est la valeur prise par xi(t)


   
      lorsque toutes les composantes de x(t0) sont nulles
    x (t)  i sauf la composante xj(t0) qui vaut 1 (impulsion).
   i 
j  x j (t 0 )    
   
     
 x (t )   x (t)   = matrice des réponses impulsionnelles
 n 0   n 
1239
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Système linéaire


Matrice de transition
• La matrice de transition (t,t0) est associée au système linéaire non contrôlé.

x ( t )  F( t ) x ( t )  x ( t )  ( t, t 0 ) x ( t 0 )

• Propriétés
 ( t , t )  I
 ( t 0 , t1 ) ( t1 , t 0 )  I
 ( t 2 , t1 ) ( t1 , t 0 )   ( t 2 , t 0 )

• Equation vérifiée par (t,t0) → pour une date initiale donnée t0

x ( t )   ( t , t 0 ) x ( t 0 )  d
( t , t 0 )  F( t )( t , t 0 )
x ( t )  F( t ) x ( t )
 dt

• Equation vérifiée par (t1,t) → pour une date finale donnée t1

x ( t 1 )   ( t 1 , t ) x ( t ) 
d
( t1 , t )  ( t1 , t )F( t )
x ( t )  F( t ) x ( t ) (équation adjointe)
 dt

1240
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Système linéaire


Matrice symplectique
• Une matrice  est symplectique si elle vérifie la relation

 0 I
 T J  J avec J   
  I 0 

• L’inverse d’une matrice symplectique s’obtient directement par :  1  J T J

•   F .
Pour établir qu’une matrice de transition  est symplectique, on dérive en utilisant 
d  T J   T J
  0   T (F T J  JF)  0
 T J  J  ( T J)  0  
dt
La dérivée est nulle si F J  JF  0
T

  F22 
Si F est partitionnée sous la forme F   F11 F12  , on a : F T J  JF   F21  F21
T T
• F11
 F21 F22    F11  F22
T T
F12  F12 

F et F21 symétriques
La matrice  est symplectique si F vérifie  12
F11  F22
T

1241
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Exemple 1
Mouvement dans le champ de gravité
• Equations du mouvement d’un point matériel dans le champ de gravité
 
r  v r  position   r
    avec  et g( r )   3  gravité
v  g ( r ) v  vitesse r

• Equations linéarisées au voisinage d’une trajectoire de référence


  3x 2  r 2 3xy 
r  v g    T 2 
3xz 
   avec G    (3 r r  r I )   3 yx 3 y 2
 r 2
3 yz 
v  G r r r 5 r 5  3zx 3zy 3z  r
2 2
 
matrice gradient de gravité

F  I et F21  G symétriques
• La matrice F du système linéarisé est F   0 I    12
F11  F22  0
T
 G 0
La matrice de transition  du système perturbé est symplectique.
 
 r    ( t , t ) r  avec ( t 0 , t1 )  ( t1 , t 0 ) 1  J( t1 , t 0 ) T J
 v  1 0  v 
  t1  t0

1242
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Système linéaire


Matrice de covariance
• On suppose que l’état initial x(t0) du système est une variable aléatoire

- de moyenne nulle : x ( t 0 )  E[ x ( t 0 )]  0

- de covariance P(t0) : P( t 0 )  E[ x ( t 0 ) x ( t 0 ) T ]

• L’état x(t) dépend de x(t0) : x ( t )  ( t, t 0 ) x ( t 0 )

- moyenne de x(t) : x ( t )  E[( t , t 0 ) x ( t 0 )]  ( t , t 0 )E[ x ( t 0 )]  0

- covariance de x(t) : P( t )  E[ x ( t ) x ( t ) T ]  ( t , t 0 )E[ x ( t 0 ) x ( t 0 ) T ]( t , t 0 ) T

 P ( t )   ( t , t 0 ) P ( t 0 ) ( t , t 0 ) T

• La matrice de covariance vérifie une équation différentielle établie à partir de x ( t )  F( t ) x ( t )


d
P ( t )  E[ x ( t ) x ( t ) T ]  E[ x ( t ) x ( t ) T  x ( t ) x ( t ) T ]  E[F( t ) x ( t ) x ( t ) T  x ( t ) x ( t ) T F( t ) T ]
dt
 P ( t )  F( t )P( t )  P( t )F( t ) T
1243
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Système linéaire


Etat adjoint
• La solution d’un système linéaire non contrôlé peut s’exprimer :
d
- en fonction de l’état initial x(t0) : x ( t )  ( t , t 0 ) x ( t 0 ) avec ( t , t 0 )  F( t )( t , t 0 )
ou dt
d
- en fonction de l’état final x(tf) : x ( t f )  ( t f , t ) x ( t ) avec ( t f , t )  ( t f , t )F( t )
dt

• On considère une fonction linéaire de l’état : ( x )  c T x , c  R n


x ( t f )
A l’instant final tf : x ( t f )  c T x ( t f )  c T ( t f , t ) x ( t )   ( t f , t ) T c
x ( t )
L’adjoint p(t) est défini par : p( t )   ( t f , t ) c
T
• → état adjoint de même dimension que x(t)
def


 p ( t )  F( t ) p( t )
T
→ équation adjointe à l’équation d’état
p ( t f )  c
x ( t f )
• L’adjoint p(t) donne la sensibilité de [x(tf)] par rapport à l’état x(t) :  p( t )
→ appelé aussi fonction d’influence x ( t )
Il s’obtient par intégration à rebours à partir de la valeur finale p(tf) = c.
1244
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Système linéaire


Changement de variable
• L’adjoint est défini à partir de la matrice de transition  et de la fonction de coût final .
x ( t )  ( t , t 0 ) x ( t 0 )
  p( t )   ( t f , t ) T c
( x )  c x
T
 def

On considère le changement de variable linéaire : y( t )  G ( t ) x ( t )


On cherche la transformation correspondante sur l’adjoint.

• Matrice de transition  : x ( t )  ( t , t 0 ) x ( t 0 )  G ( t ) 1 y( t )  ( t , t 0 )G ( t 0 ) 1 y( t 0 )
associée à y
 y( t )   ( t , t 0 ) y( t 0 ) avec  ( t , t 0 )  G ( t )( t , t 0 )G ( t 0 ) 1

• Fonction coût final  : [ x ( t f )]  c T x ( t f )  [ x ( t f )]  c T G ( t f ) 1 y( t f )


associée à y
 [ y( t f )]  d T y( t f ) avec d  G ( t f ) T c

• Adjoint q associé à y : q( t )   ( t f , t ) T d  G ( t ) T ( t f , t ) T c
def

y( t )  G ( t ) x ( t )  q ( t )  G ( t )  T p( t ) → transformation linéaire sur l’adjoint

1245
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Système linéaire


Système linéaire contrôlé
• Un système linéaire contrôlé a une équation d’état de la forme : x ( t )  F( t ) x ( t )  G ( t )u ( t )

La solution s’exprime avec la matrice de transition associée au système non contrôlé.


tf
x ( t f )  ( t f , t 0 ) x ( t 0 )   (t , t)G(t)u(t)dt
t0
f

Preuve : x( t )  F ( t )x( t )  G( t )u( t )

  ( t f ,t )x( t )   ( t f ,t )F ( t )x( t )   ( t f ,t )G( t )x( t ) en multipliant par (tf,t)


d d
  ( t f ,t )x( t )    ( t f ,t )x( t )   ( t f ,t )G( t )x( t ) en utilisant  ( t f ,t )   ( t f ,t )F ( t )
dt dt

d
dt
 
 ( t f ,t )x( t )   ( t f ,t )G( t )x( t )
tf

  
  ( t f ,t )x( t ) tt f   ( t f ,t )G( t )x( t )dt
0
en intégrant de t0 à tf
t0 tf


 x( t f )   ( t f ,t0 )x( t0 )   ( t f ,t )G( t )x( t )dt
t0
car (tf,tf) = I
1246
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Système linéaire


Système linéaire contrôlé
• L’état final x(tf) dépend de l’état initial x(t0) et de la commande u(t) , tt0 , tf.
tf
x ( t f )  ( t f , t 0 ) x ( t 0 )   (t , t)G(t)u(t)dt
t0
f

→ superposition des contributions de l’état initial x(t0) et de la commande u(t)

• La contribution de l’état initial x(t0) est : ( t f , t 0 ) x ( t 0 )

→ identique au cas non contrôlé (u=0)

• La commande u(t) appliquée à t pendant dt produit une variation d’état dx(t).

x ( t )  F( t ) x ( t )  G ( t )u ( t )  dx ( t )  G ( t )u ( t )dt

La variation d’état dx(t) à t produit une variation dx(tf) à tf : dx ( t f )  ( t f , t )dx ( t )


tf tf
La contribution de la commande u(t) sur t0 , tf est :
 (t , t)dx(t)   (t , t)G(t)u(t)dt
t0
f
t0
f

1247
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Système linéaire


Commandabilité
• Un système est commandable si tout état final est accessible à partir de tout état initial.

Si on se donne des conditions initiales t0 , x(t0) et des conditions initiales tf , x(tf),


on peut trouver une commande u(t) , tt0 , tf amenant le système de t0 , x(t0) à tf , x(tf).

• Pour le système linéaire (S) d’équation : x ( t )  F( t ) x ( t )  G ( t )u ( t )


tf

et de matrice de transition  : x ( t f )  ( t f , t 0 ) x ( t 0 )   (t , t)G(t)u(t)dt


t0
f

tf

on définit la matrice de commandabilité : C( t 0 , t f )  


t0
( t f , t )G ( t )G ( t ) T ( t f , t ) T dt

Condition de commandabilité

• Une condition nécessaire et suffisante de commandabilité est que C(t0,tf) soit inversible.

(S) commandable  C(t0,tf) inversible  C(t0,tf) positive (matrice symétrique)

1248
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Système linéaire


Commandabilité
Preuve : tf

La solution générale du système linéaire est : 


x( t f )   ( t f ,t0 )x( t0 )   ( t f ,t )G( t )u( t )dt
t0
On considère la commande définie par : u( t )  G( t )T  ( t f ,t )T c avec c  R n

Cette commande donne l’état final : x( t f )   ( t f ,t0 )x( t0 )  C( t0 ,t f )c

• Si C(t0,tf ) est inversible, on peut passer de t0 , x(t0) à tf , x(tf) en prenant pour c

 
c  C( t0 ,t f )1 x( t f )   ( t f ,t0 )x( t0 )

• Si C(t0,tf ) n’est pas inversible, il existe cRn non nul tel que cTC(t0,tf )c = 0 .
tf tf

 
2
c  ( t f ,t )G( t )G( t )  ( t f ,t ) c dt 
T T T
c  ( t f ,t )G( t ) dt  0  c T  ( t f ,t )G( t )  0 , t pp
T

t0 t0


Pour toute commande u(t),t[t0,tf], l’état initial et final vérifient : c x( t f )   ( t f ,t0 )x( t0 )  0
T

L’état final ne peut pas être quelconque.  c
1249
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Système linéaire


Observabilité
• Un système est observable si son état initial peut être reconstitué à partir d’une série de mesures.

La mesure y(t)Rm est définie par : y( t )  H ( t ) x ( t ) avec H matrice mn

• Pour le système linéaire (S) : x ( t )  F( t ) x ( t )  x ( t )  ( t, t 0 ) x ( t 0 )


tf

on définit la matrice d’observabilité : M( t 0 , t f )  


t0
 ( t , t 0 ) T H( t ) T H( t ) ( t , t 0 )dt

• On écrit la relation entre x(t0) et les mesures y(t) , tt0 , tf.


tf

y ( t )  H ( t ) x ( t )  H ( t ) ( t , t 0 ) x ( t 0 )   ( t, t H( t ) T y( t )dt  M( t 0 , t f ) x ( t 0 )
T
0)
t0

Condition d’observabilité

• Une condition nécessaire et suffisante d’observabilité est que M(t0,tf) soit inversible.

(S) observable  M(t0,tf) inversible  M(t0,tf) positive (matrice symétrique)

1250
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Système linéaire


Problème aux deux bouts
• On considère un système linéaire avec des conditions à l’instant initial et à l’instant final.
Ax( t 0 )  a
avec 
→ m conditions à t0
x ( t )  F( t ) x ( t )  g( t )
Bx ( t f )  b → nm conditions à tf
Les dimensions sont : vecteur d’état x(t) → n
matrice F(t) → nn
matrice A → mn
matrice B → (nm)n

Le problème est de trouver l’état initial x(t0) permettant de respecter les conditions à t0 et tf.

• La méthode « de transport » permet de résoudre le problème aux deux bouts de manière directe.

Le principe est de « transporter » les conditions initiales Ax(t0)=a jusqu’à l’instant final,
puis de résoudre un système linéaire à l’instant final pour obtenir x(tf).

On peut inversement transporter les conditions finales Bx(tf)=b jusqu’à l’instant initial,
puis résoudre un système linéaire à l’instant initial pour obtenir x(t0).

1251
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Système linéaire


Méthode de transport
• On définit les vecteurs y(t) et z(t) qui vont permettre le transport des conditions aux deux bouts.
 y( t )  Ax( t ) → dimension m, A matrice mn
z( t )  Bx ( t ) → dimension nm,
 B matrice (nm)n

• Le vecteur d’état x(t) s’exprime en fonction de y(t) et z(t).


1
 y    A x  x   A   y  avec  A  matrice nn supposée inversible
z  B  B  z 
        B 

• Les vecteurs y(t) et z(t) suivent un système linéaire.


1
y  Ax  AFx  Ag  AF A   y   Ag en utilisant x  Fx  g
B  z 
1 1
z  Bx  BFx  Bg  BF   y   Bg
 A  puis x   A   y 
B  z  B  z 
1
 y   A   A   y A
      F        g
 z   B   B   z  B
1252
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Système linéaire


Méthode de transport
• La solution du système linéaire en (y , z) s’écrit avec sa matrice de transition .
1
 y    yy  yz   y 0    yy  yz  A 
t
 y   A   A   y A
     F  
 z   B   B 
     g
 z  B
    
 z    zy
  
 zz   z 0   
  zy
t0 
 gdt
 zz  B 

 y   yy y 0   yz z 0  g y
La solution générale est de la forme : 
 z   zy y 0   zz z 0  g z

• On exprime y en fonction de z en éliminant z0 à partir de la deuxième équation.

z 0   zz1 (z   zy y 0  g z )  y   yz  zz1 z  ( yy   yz  zz1 zy ) y 0  g y   yz  zz1g z

S(t) matrice m(nm)


 y ( t )  S( t )z( t )  s( t ) avec
s(t) vecteur m

• Les vecteurs y(t) et z(t) sont liées par une relation linéaire.
On cherche à déterminer la matrice S(t) et le vecteur s(t) de t0 à tf.
1253
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Système linéaire


Méthode de transport
• Les vecteurs y et z suivent les équations différentielles
1
 y   A   A   y A C C 2  y   A 
     F        g   1      g
 z   B   B   z  B  C3 C 4  z   B 

1
A A C C2 
en notant   F     1  → matrice nn connue à partir de A, B , F(t)
 B  B def  C 3 C4 

 y  C1 y  C 2 z  Ag  S z  Sz  s  C1Sz  C1s  C 2 z  Ag


    en utilisant y  Sz  s
z  C 3 y  C 4 z  Bg z  C 3Sz  C 3s  C 4 z  Bg
 (S  SC 3S  SC 4  C1S  C 2 )z  s  (SC 3  C1 )s  (SB  A)g  0 en remplaçant z

• Pour vérifier cette égalité à toute date indépendamment de z(t), on choisit S(t) et s(t) tels que
S  SC 3S  SC 4  C1S  C 2

 → équations différentielles imposées à S et s
s  (C1  SC 3 )s  (A  SB)g
1254
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Système linéaire


Solution du problème aux deux bouts
• On cherche les vecteurs y et z respectant les conditions initiales et finales.

y( t )  Ax( t 0 )  a
y ( t )  S( t )z( t )  s( t ) avec  y( t )  Ax( t )   0
z( t )  Bx ( t ) z( t f )  Bx ( t f )  b

• Les conditions initiales sont vérifiées en imposant : S( t )  0


s( t 0)  a
 0

S  SC 3S  SC 4  C1S  C 2  S( t f )


• On intègre les équations différentielles en S et s : s  (C  SC )s  (A  SB)g  s( t )
 1 3 f

• On obtient les valeurs finales des vecteurs y et z :  y( t f )  S( t f )z( t f )  s( t f )  S( t f )b  s( t f )


z ( t )  b
 f
1 1
• La valeur finale du vecteur d’état x est donnée par : x ( t f )   A   y( t f )    A   Sf b  s f 
 B   z( t f )   B   b 

• La solution x(t) est obtenue en intégrant à rebours : x ( t )  F( t ) x ( t )  g( t )

1255
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Exemple 2
Problème aux deux bouts
x 1  x 2 x ( t )  a → condition initiale
• Système à résoudre : x  u avec  1 0
 2 x 2 ( t f )  b → condition finale

S  SC 3S  SC 4  C1S  C 2 S( t )  0


• Equations en S et s : s  (C  SC )s  (A  SB)g avec  0
 1 3 s( t 0 )  a
0 1 0 A  1 0 C C2   0 1 
avec F    , g    ,   1    
 0 0 u B  0 1  C3 C 4   0 0 
t
• Intégration de S et s :

S( t )  t  t 0 , s( t )  a  (  t 0 )u ()d
t0
tf

• Valeur de l’état final :


1
x ( t f )   A   Sf b  s f 

x1 ( t f )  a  b( t f  t 0 )  (  t 0 )u ()d
B  b 
t0
x 2 (t f )  b

• Solution x(t) à rebours : x ( t )  F( t ) x ( t )  g( t ) de tf à t0

1256
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Coût
Fonctionnelle de coût
• Le coût (ou critère) à minimiser est une fonctionnelle est de la forme
tf tf
J(u )   Lx(t), u(t), t dt  x(t
t0
f ), t f  ou en plus compact J(u )   L(x, u, t)dt  (x , t
t0
f f )

On cherche la commande u(t) et la trajectoire associée x(t) qui minimisent le coût J(u).

• Le terme ( x f , t f ) est le coût final → ne dépend pas du chemin x(t) de t0 à tf


tf
• Le terme
 L(x, u, t)dt est le coût intégral
t0
→ dépend du chemin x(t) de t0 à tf

La fonction L( x, u, t ) est le coût instantané ou lagrangien.

L dépend de u de façon directe


et de façon indirecte par l’intermédiaire de x solution de x  f ( x, u, t )

• Le problème est sous la forme de Lagrange si  = 0


de Mayer si L = 0 formes équivalentes
de Bolza si L et  non nuls
1257
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Coût
Passage de la forme de Mayer à la forme de Lagrange
• On transforme le coût final en coût intégral.
tf
d
x ( t f ), t f   x ( t 0 ), t 0    x (t ), t dt
dt
t0
tf
  
 x ( t 0 ), t 0    x ( t ), t T x ( t ) 
 x (t ), t dt
t
 x t 
0
tf
  
 x ( t 0 ), t 0    x ( t ), t T f x ( t ), u ( t ), t  
 x (t ), t dt
t
 x t 
0
tf
 0  Lx ( t ), u ( t ), t dt

t0


en posant Lx ( t ), u ( t ), t   x (t ), t T f x (t ), u (t ), t    x (t ), t 
def x t

• On obtient un coût intégral égal au coût final à une constante 0 près.

1258
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Coût
Passage de la forme de Lagrange à la forme de Mayer
• On définit une variable d’état supplémentaire  vérifiant l’équation différentielle

  Lx ( t ), u ( t ), t  avec ( t 0 )  0

• Le coût intégral s’écrit


tf tf
d
 Lx ( t ), u ( t ), t dt   ( t )dt  ( t f )  ( t 0 )
dt
t0 t0
 ( t f )

en posant ( t f )  ( t f )
def

• On obtient un coût final égal au coût intégral.


x
Le problème avec coût final a pour vecteur d’état    de dimension n+1
 
x  f ( x, u, t )
et pour équation d’état   L( x, u, t )

1259
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Problème de contrôle


Lien avec le calcul des variations
• L’inconnue d’un problème de contrôle est la commande u(t) , t[t0 , tf].
tf
min J (u ) 
u  L(x, u, t)dt  (x , t
t0
f f ) avec x  f ( x, u, t )

Cette formulation est plus générale que celle du calcul des variations.

• L’inconnue d’un problème de variations est la fonction y(x) , x[a , b].


b

y 
min J ( y)  L( x, y, y' )dx
a
On peut considérer qu’il s’agit d’un problème de contrôle particulier avec
- la variable x → au lieu de t
- l’état y(x) → au lieu de x(t)
- la commande y’(x) → au lieu de u(t)

• Le problème de variations suppose que la courbe solution est une fonction simple y(x).
Le problème de contrôle autorise des trajectoires quelconques paramétrées par le temps.
Il permet de traiter diverses formes de systèmes dynamiques contrôlés
et d’appliquer des contraintes de façon beaucoup plus simple.
1260
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Exemple 3 : brachistochrone


Enoncé
• On cherche la courbe y(x) de A à B qui minimise le temps de parcours sous l’effet de la gravité.
v2 ds 1  y' ( x ) 2 dx
• Conservation de l’énergie :  gy  0  v  2gy avec v  
2 dt dt
Formulation en calcul des variations
tf 0 A x
1  y' ( x ) 2


ds
• Coût : J  t f  t 0  dt avec dt  
v 2gy( x )
t0
xB 
1  y' ( x )
2

 min J ( y) 
y 
xA
y( x )
dx

v
y g B
Formulation en problème de contrôle

• Etat : position (x , y) x  v cos   2gy cos 


 
Commande : angle  entre la vitesse et l’axe x  y  v sin   2gy sin 
tf

• Coût : J  t f  t 0  dt 
t0
x ( t )  x A , y( t 0 )  y A
avec  0
 x ( t f )  x B , y( t f )  y B
1261
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017

5.3.1 Contraintes
Extensions
• Le problème de contrôle le plus simple est à temps final fixé et état final libre.
tf
min J (u ) 
u  L(x, u, t)dt  (x , t
t0
f f ) avec x  f ( x, u, t ) , tf fixé , x(tf) libre

• Les conditions initiales et finales peuvent être libres → t0 , tf , x(t0) à optimiser

• L’état initial peut être soumis à des contraintes   0 x ( t 0 ), t 0   0

• L’état final peut être soumis à des contraintes   f x ( t f ), t f   0

• Le problème peut comporter des contraintes ponctuelles  1 x ( t1 ), t1   0 , t 0  t1  t f

 x  f1 ( x, u, t ) si t  t1

• La dynamique peut subir des discontinuités
x  f 2 ( x, u, t ) si t  t1
• L’état peut subir des discontinuités  x ( t1 )  x ( t1 )  x

• Le problème peut comporter des contraintes courantes   c ( x, u, t )  0


→ sur la commande et/ou sur l’état ou  c ( x, u, t )  0
1262
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Conditions de minimum

 Méthode variationnelle

 Conditions nécessaires de minimum  Principe du maximum

 Adjoint

 Temps final libre  Fonctions d’influence

 Contraintes finales  Contraintes ponctuelles

 Discontinuité de dynamique  Discontinuité d’état

 Contraintes courantes  Contraintes d’état

 Système discret  Paramètres

1263
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Problème de contrôle


Formulation
tf
min J (u )   Lx(t), u(t), t dt  x(t f ), t f  avec x ( t )  f x ( t ), u ( t ), t  , x  R n , u  R m
u
t0 x ( t 0 )  x 0 fixé, t 0 fixé, t f fixé
On cherche la loi de commande u(t) , tt0 , tf] qui minimise le coût J(u).

Méthode variationnelle
• La méthode variationnelle consiste à évaluer la variation J due à u(t) , tt0 , tf]
puis à appliquer la condition de minimum : J(u) ≥ 0 ,  u

• L’état x(t) dépend de la commande par l’équation différentielle x  f ( x, u, t ) .


Pour en tenir compte dans le calcul de J, on utilise la méthode de Lagrange.

L’équation f ( x, u, t )  x  0 représente une contrainte appliquée à chaque instant t.


On ajoute au coût J cette contrainte avec des multiplicateurs p(t)Rn appelés adjoints.
tf

• Le coût augmenté Ja est défini par : J a (u )  J (u )   p( t ) T f ( x ( t ), u ( t ), t )  x ( t )dt


t0
1264
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Méthode variationnelle


Coût augmenté
• Le coût augmenté s’écrit (en notant x et u au lieu de x(t) et u(t) dans L et f)

 L(x, u, t)  p(t) f (x, u, t )  x (t )dt  x (t f ), t f 


tf
J a (u )  T

t0

 H(x, u, p, t)  p(t) 
tf
 T
x ( t ) dt  x ( t f ), t f  avec H( x, u, p, t )  L( x, u, t )  p T f ( x, u, t )
def
t0

 H(x, u, p, t)  p (t)   
tf
x ( t ) dt  p( t ) T x ( t ) t 0  x ( t f ), t f 
tf
 T

t0
en intégrant par parties le terme p T x

 H(x, u, p, t)  p x dt  p(t )


tf
 J a (u )  T
0
T
x ( t 0 )  p( t f ) T x ( t f )  x ( t f ), t f 
t0

L’hamiltonien H( x, u, p, t )  L( x, u, t )  p f ( x, u, t ) est une fonction de RnRmRnR dans R.


T

(x , u , p , t) → H
• p(t) est le vecteur adjoint au vecteur d’état x(t) → de même dimension n
1265
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Méthode variationnelle


Variation première
• On exprime la variation du coût augmenté due à des variations u(t) et x(t).

 H(x, u, p, t)  p x dt  p(t )


tf
J a (u )  T
0
T
x ( t 0 )  p( t f ) T x ( t f )  x ( t f ), t f 
t0

A l’ordre 1 en u et x, et en notant  x ( t f )  x (t f ), t f 
x
tf
J a (u )  
t0
(H Tx x  H Tu u  p T x )dt  p( t 0 ) T x ( t 0 )  p( t f ) T x ( t f )   x ( t f ) T x ( t f )

tf tf
  (H x  p ) xdt 
T
 H Tu udt  p( t 0 ) T x ( t 0 )   x ( t f )  p( t f )T x ( t f )
t0 t0

• Les variations d’état x(t) dépendent des variations de commande u(t).

A l’ordre 1 : x  f ( x, u, t )  x  f xT x  f uT u → solution x(t) associée à u(t) , tt0 , tf]

On ne connaît pas explicitement x en fonction de u.


1266
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Méthode variationnelle


Variation première
• Pour éviter le calcul explicite de x(t), on impose à l’adjoint p(t) de vérifier 2 conditions.

p   Hx → équation différentielle (dimension n) dite équation d’Euler-Lagrange


p( t f )   x ( t f ) → condition finale (dimension n) dite condition de transversalité

• Ces conditions sur l’adjoint éliminent les termes en x(t) et x(tf) dans l’expression de Ja .
Le terme en x(t0) est également nul, car l’état final x(t0) est fixé.
tf tf
J a (u )   (H x  p ) xdt 
T
 H Tu udt  p( t 0 ) T x ( t 0 )   x ( t f )  p( t f )T x ( t f )
t0 t0

0 0 0

• On obtient l’expression de la variation première Ja en fonction des variations u(t) , tt0 , tf].
tf
J a (u )  
t0
H Tu udt

• Une condition nécessaire de minimum est : J a (u )  0 , u admissible


1267
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Méthode variationnelle


Variation seconde
• On reprend l’expression de Ja pour la développer à l’ordre 2 en u et x.

 H(x, u, p, t)  p x dt  p(t )


tf
J a (u )  T
0
T
x ( t 0 )  p( t f ) T x ( t f )  x ( t f ), t f 
t0

T T
 H x   x   1  x   H xx H ux  x  1
 Tx x  x T  xx x
 H   u      
 u    2  u   H xu H uu  u  2

• Les conditions sur l’adjoint éliminent les termes d’ordre 1 en x(t).


La condition de stationnarité sur Ja annule le terme d’ordre 1 en u(t).
On obtient l’expression de la variation seconde 2Ja en fonction de u(t) et x(t) , tt0 , tf].
tf
1  x  T  H xx H ux  x 

1 T
 J a (u ) 
2
 u   H H  u dt  x  xx x
2    xu uu   2
t0

Les variations d’état x(t) dépendent des variations de commande u(t) : x  f x x  f u u
T T

• Une condition nécessaire de minimum est :  2 J a (u )  0 , u admissible


1268
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Méthode variationnelle


Conditions nécessaires de minimum
• Toutes les variations u(t) sont admissibles (pas de contrainte sur le problème de contrôle).
J a (u )  0
Les conditions nécessaires de minimum sont :  2 , u admissible

 a J ( u )  0
tf
• Ordre 1 : J a (u ) 

t0
H Tu udt  0 , u  H u  0 , t

tf
1  x  T  H xx H ux  x 

1 T
• Ordre 2 :  J a (u ) 
2
 u   H H  u dt  x  xx x  0 , u  H uu  0 , t
2    xu uu   2
t0
La condition nécessaire Huu  0 se démontre en analysant les extrémales voisines (§5.3.4)
avec l’hypothèse de variations faibles u .

• La méthode variationnelle considérant des variations faibles permet d’établir


u minimise H localement → appelé principe du maximum faible

• En considérant des variations fortes (dites « en aiguille ») on peut établir


u minimise H globalement → appelé principe du maximum fort

1269
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Principe du maximum


Variation en aiguille (needle-shaped)
• Pour établir la condition globale, on considère des variations u(t) dites « en aiguille ».
Une variation en aiguille modifie la commande sur un intervalle [t1 , t1] avec t0 < t1  tf.

• On note : u*(t) , x*(t) , tt0 , tf] la commande initiale et la trajectoire associée


u(t) , x(t) , tt0 , tf] la commande perturbée et la trajectoire associée

u
u * ( t ) si t 0  t  t1  

u ( t )  v si t1    t  t1 v
u * ( t ) si t1  t  tf
u*
La valeur de v est quelconque.
La valeur de t1t0 , tf] est quelconque. u*
La valeur de  > 0 est supposée petite.
t0 t1 t1 tf t

• La perturbation agit seulement sur l’intervalle [t1 , t1].


La trajectoire x(t) , tt0 , tf] est modifiée à partir de t1.

1270
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Principe du maximum


Trajectoire perturbée
• La variation en aiguille sur [t1 , t1] modifie la trajectoire à partir de t1.

 t  t1  
x ( t )  
x * (t) si t 0
x * ( t )  x si t1    t  t f

• On calcule la perturbation x(t1) résultant de la variation de commande sur [t1 , t1].


t1
Trajectoire initiale : x *  f ( x*, u*, t )  x * ( t1 )  x * ( t1  )   f (x*, u*, t)dt
t1  
t1

Trajectoire perturbée : x  f ( x , u , t )  x ( t1 )  x ( t 1  )   f (x , u , t)dt


t1  

• L’état en t1 est identique : x(t1) = x*(t1)


La commande perturbée sur [t1 , t1] est : u=v

t1
On obtient en t1 : x ( t1 )  x ( t1 )  x * ( t1 )   f (x , v , t)  f (x*, u*, t)dt
t1  
1271
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Principe du maximum


Trajectoire perturbée
• L’intervalle [t1 , t1] étant petit, la variation x sur [t1 , t1] est également petite.
t1
A l’ordre 1 en  : x ( t1 )   f (x , v , t)  f (x*, u*, t)dt  f (x , v , t)  f (x*, u*, t)  o()
t1  

avec f ( x , v , t )  f ( x * x , v , t )  f ( x * , v , t )  f xT x  o(x )

 x ( t1 )  f ( x * , v , t )  f ( x*, u*, t )t1  o() (x est d’ordre 2)

• On propage ensuite la perturbation x(t1) jusqu’à l’instant final tf.


La commande sur ]t1 , tf] est la commande initiale u*.
x  f ( x , u * , t )  f ( x * x , u * , t )  f ( x * , u * , t )  f xT x  o(x )
x *  f ( x*, u*, t )  x  f xT x

• L’équation variationnelle est linéaire et admet une matrice de transition notée .
On obtient pour la perturbation x(tf)

x ( t f )  ( t f , t1 )x ( t1 )  x ( t f )  ( t f , t1 )f ( x * , v , t )  f ( x*, u*, t )t1

1272
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Principe du maximum


Variation du coût
• On suppose que le problème de contrôle est sous forme de Mayer (coût final).
Tout problème peut être mis sous cette forme en ajoutant une composante d’état (  L) .

min J (u )  [ x ( t f )] avec x ( t )  f x ( t ), u ( t ), t  , x ( t 0 )  x 0 fixé, t 0 fixé, t f fixé


u

• On suppose que la commande optimale est u*(t) , t [t0 , tf]


et que la trajectoire optimale est x*(t) , t [t0 , tf]
→ obtenue en intégrant : x  f ( x, u*, t )

• L’adjoint est défini à partir du système linéarisé au voisinage de la trajectoire x*.

- Equations variationnelles : x  f xT x   f T


→ matrice de transition  vérifiant  x

- Variation du coût final : J  c T x ( t f ) → gradient c   x [ x * ( t f )]

- Définition de l’adjoint : p( t )   ( t f , t ) T c  p ( t f )   x [ x ( t f )]


def p   f x p   H x
- Définition de l’hamiltonien : H( x, u, p, t )  p( t ) T f ( x, u, t )
def
1273
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Principe du maximum


Variation du coût
• La variation en aiguille sur [t1 , t1] produit une variation x(tf) de l’état final
et une variation J du coût.
x ( t f )   ( t f , t1 )f ( x * , v , t )  f ( x*, u*, t )t1

J  c T x ( t f )
  c T  ( t f , t1 )f ( x * , v , t )  f ( x*, u*, t )t1 en utilisant l’expression de x(tf)
  p( t1 ) T f ( x * , v , t )  f ( x*, u*, t )t1 en utilisant la définition de l’adjoint
  H( x * , v , p, t )  H( x*, u*, p, t )t en utilisant la définition de l’hamiltonien
1

• La commande optimale u* minimise le coût.


Une variation en aiguille quelconque définie par t1 ,  et v doit produire une variation J  0.

J   H( x * , v , p, t )  H( x*, u*, p, t )t1  0 , t1  [ t 0 , t f ] ,   0 , v

 H[ x * ( t1 ), u * ( t1 ), p( t1 ), t1 ]  H[ x * ( t1 ), v , p( t1 ), t1 ] , t1  [ t 0 , t f ] , v

La commande optimale u* réalise à chaque date le minimum de H.


Il s’agit d’un minimum global car v est quelconque (variation forte).
1274
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Principe du maximum


Condition de minimum
• Principe du Maximum de Pontryagin (PMP , 1962)

La commande optimale u* minimise l’hamiltonien à chaque date sur la trajectoire optimale.

u *  min H( x, u, p, t ) (minimum global)


u

avec l’hamiltonien H( x, u, p, t )  p( t ) T f ( x, u, t )
p( t f )   x [ x ( t f )]
et l’adjoint p  f p  H obtenu par intégration à rebours à partir de tf
 x x

• Remarques
- La définition de H = pTf conduit à une minimisation de l’hamiltonien.
Le principe du « maximum » de Pontryagin considère un signe opposé.

- Le minimum est global et considère des variations fortes → principe dit du maximum fort.
Le résultat étend celui de la méthode variationnelle restreint à des variations faibles.

- La minimisation de l’hamiltonien est une condition nécessaire d’optimalité.


1275
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Principe du maximum


Condition de minimum
• Dans le cas général, le problème est formulé avec un coût intégral.
tf
min J (u ) 
u  L(x, u, t)dt  x(t
t0
f ), t f  avec x  f ( x, u, t )

• On reformule le problème avec une variable d’état supplémentaire  et son adjoint .


  L( x, u, t ) , ( t 0 )  0  J  ( t f )  x ( t f ), t f   x ( t f ), t f 
def

 f p   
Etat : y   x   y   f  q   p   q    Lx   0  et q( t f )    x  1
Adjoint :
  L        
L’adjoint supplémentaire  est constant égal à 1 : (t) = 1
T
L’hamiltonien du problème sous forme Mayer est : H   p   f   p T f   T L
   L
• On retrouve la définition de l’hamiltonien H = L + pTf pour un problème de Bolza.

Le principe du maximum de Pontryagin reste : u *  min H( x, u, p, t )


u
1276
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Conditions de minimum


Lien avec le calcul des variations
b
• Pour un problème de variations :
y 
min J ( y)  L( x, y, z  y' )dx
p L
a
on définit les variables canoniques : 
H  L z y'L  H( x, y, z, p)  pz  L( x, y, z)
 z

Les conditions de minimum sont : Ly  Lz ' → EulerLagrange


max H( x, y, z, p) → Weierstrass
z
tf

• Problème de contrôle équivalent : min J (u ) 


u  L(t, x, u)dt
t0
avec x  u

avec les notations : x → t , y(x) → x(t) , z=y’(x) → u(t)

p   L u
Variables canoniques associées : H  L  L u  H( t , x, u, p)  L( t , x, u )  pu
(en changeant les signes)  u

Conditions de minimum : Lx  Lu '  H x  p


max  H( t , x, u, p)  min H( x, u, p, t )
u u
1277
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Conditions de minimum


Système hamiltonien
• On peut écrire les conditions nécessaires sous la forme d’un système hamiltonien.
x  H p avec H( x, u, p, t )  L( x, u, t )  p T f ( x, u, t )  H p  f  x
p   H
 x

• Les conditions aux limites sont données pour l’état initial (à t0) et l’adjoint final (à tf).
x ( t 0 )  x 0
p( t )   ( t ) → problème aux 2 bouts
 f x f

• La commande u(t) s’obtient en fonction de x, p, t en minimisant l’hamiltonien.


H u  0 , t
H  0  u  arg min H( x, u, p, t )
 uu u

Convention de signe
• Si l’hamiltonien est défini par H = +L + pTf , la commande optimale u minimise H.
Si l’hamiltonien est défini par H = L + pTf , la commande optimale u maximise H.

• Les 2 conventions sont équivalentes.


Le Principe du Maximum de Pontryagin considère la convention H = L + pTf .
1278
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Conditions de minimum


Problème aux 2 bouts
• Les conditions nécessaires conduisent à un problème aux 2 bouts.
x  H p avec 
x(t )  x
p   H p ( t 0 )   0 ( t ) et u(t) obtenue par min H( x, u, p, t )
 x  f x f u

• On ne dispose pas des conditions aux limites complètes en t0 ou tf.


Il faut résoudre un problème aux 2 bouts, en cherchant soit p(t0), soit x(tf).

• On prend généralement le vecteur adjoint initial p(t0)Rn comme inconnue.


Le problème se ramène à trouver n inconnues → composantes de p(t0)
pour satisfaire n équations → conditions finales sur p(tf)

x(t 0 )  x 0 x  H p x(t f )  ? libre


p( t 0 )  ? p   H x p( t f )   x ( t f )

à trouver min H  u ( x, p, t ) à satisfaire


u
1279
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 4 : portée balistique


Formulation
• On considère une trajectoire à accélération constante dans le plan vertical (x , z) en terre plate.
 x z
Position : r  
z  
 vf
Vitesse : v   v x  
a
 vz 

Gravité : g   0 
 g  
a   a cos   , a = Cte
 g
Accélération :
 a sin   
g
u   cos  

Commande :
 sin  
tf , x f R x
 
r  v  r ( t 0 )  0
Equation d’état :     avec  
v  g  au  v( t 0 )  0

• L’accélération a est constante de t0 (décollage) à tf (injection), puis nulle jusqu’à l’impact.


On cherche la commande (t) de t0 à tf maximisant la portée balistique R.

1280
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 4 : portée balistique


Formulation
• La portée est fonction de la position (xf , zf) et de la vitesse (vxf , vzf) à l’injection.

v xf  v  v 2  2gz  z
R  xf 
g  zf zf f 
 
 vf
a
• Le problème est sous forme de Mayer (coût final).

min J   R ( x f , z f , v xf , v zf )  
 g
x  v x 

avec z  v z
g
v  a cos 
v x  a sin   g
 z tf , x f R x

• Hamiltonien : H  p x v x  p z v z  p vx a cos   p vz (a sin   g)

p vz
• Commande : min H  tan  
 p vx
1281
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 4 : portée balistique


Conditions d’optimalité
Pour obtenir la commande , on écrit les équations adjointes et les conditions de transversalité.

• Hamiltonien : H  p x v x  p z v z  p vx a cos   p vz (a sin   g)


v xf 
• Coût final : ( x f , z f , v xf , v zf )  R   x f  v zf  v 2zf  2gz f 
g  
p x  H x  0  px A
p  H z  0  pz B
• Equations adjointes :  z
p  H   p  p vx  C  A( t f  t )
p vx  H vx   p x  p vz  D  B( t f  t )
 vz vz z

p x ( t f )   x  A  1
 v xf
p z ( t f )   z  B  
 v 2zf  2gz f

• Transversalité : v zf  v 2zf  2gz f
p vx ( t f )   vx  C  
 g
  
p ( t )   v  v zf 
 D   xf  1    D   BC
 vz f vz
g
  v 2zf  2gz f  1282
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 4 : portée balistique


Commande
• On obtient la commande en remplaçant A = 1 et D = BC

p vx  C  (t f  t) p vz v xf
p   B[C  ( t  t )]  tan    B 
 vz f p vx v 2zf  2gz f

La direction de poussée optimale (t) est constante de t0 à tf  commande portée maximale

Ce résultat en Terre plate - gravité constante reste valable pour une loi d’accélération a(t) fixée.

• Pour trouver la valeur de , il faut intégrer les équations du mouvement de t0 à tf.


x  v x x f  (a cos ) t f2 / 2
avec a ,  constants 
z  v z
 z f  (a sin   g) t f / 2
2
v  a cos  et x0 = z0 = 0
v x  a sin   g vx0 = vz0 = 0 v xf  (a cos ) t f
 z v zf  (a sin   g) t f
En reportant zf , vxf , vzf dans l’expression de , on obtient l’équation

tan  (a sin   g) 2  g(a sin   g)  a cos 


1283
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 4 : portée balistique


Commande
• L’équation vérifiée par  se simplifie. 1

0,8

a a 0,6
sin 3   2 sin 2    0 0,4
g g
0,2

0
L’angle  est compris entre 0 et 90 deg. -0,2
0 10 20 30 40 50 60 70 80 90
n=1
-0,4
n=2
Tracé de la fonction -0,6
n=3
a -0,8 n=0.8
f ()  sin 3   2n sin 2   n avec n  -1
g

• L’équation n’admet pas de solution si a < g (poussée < poids).


L’équation admet une solution unique si a  g (poussée  poids).

La solution est une direction de poussée comprise entre 45 et 90 deg.


La direction optimale est =45 deg si n= (correspond à une impulsion instantanée  z0 = 0)
=90 deg si n=1 (poussée verticale nécessaire pour décoller)

1284
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Définition de l’adjoint


Rôle de l’adjoint
• L’adjoint sert à exprimer la variation du coût d’un système linéaire.
Il est défini pour un système linéaire avec coût final fonction linéaire de l’état.

x ( t )  F( t ) x ( t )  G ( t )u ( t )  p ( t )  F( t ) T p( t )
x ( t f )
x ( t f )  c T x ( t f )  p( t f )  c 
x ( t f )
• Dans le cas non linéaire, l’adjoint a été défini à partir de la variation première du coût.
H L f
x  f ( x, u, t )  p     p
x x x
x ( t f )
tf
J(u )  
t0
L( x, u, t )dt  [ x ( t f ), t f ]  p( t f ) 
x ( t f )

avec l’hamiltonien défini par : H( x, u, p, t )  L( x, u, t )  p T f ( x, u, t )

• Ces formules avec l’hamiltonien se retrouvent en partant de la définition dans le cas linéaire.
Le passage du cas linéaire au cas non linéaire est détaillé pages suivantes.

1285
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Définition de l’adjoint


Cas d’un système linéaire
• On considère un système linéaire contrôlé : x ( t )  F( t ) x ( t )  G ( t )u ( t )
La matrice de transition  et l’adjoint p sont associés au système non contrôlé (état noté xl).
x ( t )  F( t ) x ( t ) p ( t )  F( t ) T p( t )
Etat xl :  → Adjoint p : 
x l ( t )   ( t , t l ) x ( t )
 l p ( t )   ( t f , t ) p ( t f )
T
0 l 0

• La solution du système contrôlé (état noté x) s’exprime avec la matrice de transition.


tf
x ( t f )  ( t f , t 0 ) x ( t 0 )   (t , t)G(t)u(t)dt
t0
f

On considère un coût  fonction linéaire de l’état final : x ( t f )  c x ( t f )


T

x ( t f )
et on impose comme valeur de l’adjoint final : p( t f )  c 
x ( t f )
• En remplaçant c et x(tf), on obtient l’expression du coût en fonction de l’adjoint.
tf
x ( t f )  c T x ( t f )  p( t f ) T ( t f , t 0 ) x ( t 0 )   p( t f ) T ( t f , t )G ( t )u ( t )dt
t0
tf
 p( t 0 ) T x ( t 0 )  
t0
p( t ) T G ( t )u ( t )dt
1286
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Définition de l’adjoint


Cas d’un système non linéaire (forme Mayer)
• On considère un problème de contrôle sous forme de Mayer, avec un coût final  et un état y.

min J (u )  [ y( t f ), t f ] avec y  g( y, u, t )
u

• On associe la matrice de transition  et l’adjoint q au système linéarisé (x, u, J).

y  g Ty y  g Tu u  q  g y q

J  [ y( t f ), t f ]T y( t f )  q( t f )   y [ y( t f ), t f ]
tf


y( t f )  ( t f , t 0 )y( t 0 )  ( t f , t )g Tu ( t )u ( t )dt
t0
q( t )  ( t f , t ) T q( t f )

• On applique au système linéarisé la formule donnant la variation du coût dans le cas linéaire.
tf
Système linéaire : x ( t f )  p( t 0 ) T x ( t 0 )   p( t )
T
G ( t )u ( t )dt
(avec , x, u, p page précédente) t0
tf
Système linéarisé :
(avec , x, u, q)
J  [ y( t f )]  q( t 0 ) T y( t 0 )  
t0
q( t ) T g Tu ( t )u ( t )dt

1287
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Définition de l’adjoint


Cas d’un système non linéaire (forme Bolza)
• On considère un problème de contrôle sous forme de Bolza avec un état x et un adjoint p.
tf
min J (u ) 
u  L(x, u, t)dt  [x(t
t0
f ), t f ] avec x  f ( x, u, t )

• Le problème est mis sous forme de Mayer en ajoutant une variable d’état  et son adjoint .

y   x   x 
  L( x, u, t ) avec ( t 0 )  0 → état  y       f ( x, u, t ) 
def        L( x , u , t ) 

→ adjoint q   p  → associé à x
def    → associé à 

• En posant : [ y( t f ), t f ]  ( t f )  [ x ( t f ), t f ] et g( y, u, t )   f ( x, u, t ) 
def def  L( x , u , t ) 

le problème s’écrit : min J (u )  [ y( t f ), t f ] avec y  g( y, u, t )


u tf
et a pour variation :
(formule page précédente)
J  [ y( t f )]  q( t 0 ) T y( t 0 )  
t0
q( t ) T g Tu ( t )u ( t )dt

1288
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Définition de l’adjoint


Cas d’un système non linéaire (forme Bolza)
• La forme de Mayer permet d’écrire la variation première du coût avec l’adjoint q.
tf
min J (u )  [ y( t f ), t f ] avec y  g( y, u, t )
u 
 J  q( t 0 ) T y( t 0 )  q( t ) T g Tu ( t )u ( t )dt
t0
• Il faut ensuite remplacer y, q et g en fonction de x, p, f et L associés à la forme de Bolza.

g  f L 
g( y, u, t )   f ( x, u, t )  avec y   x   g y   g x    f x Lx    f x L x  et g u  f u L u 
 L( x , u , t )           0 0 

• Equation adjointe : y  g( y, u, t )  y  g Ty y  g Tu u  q  g y q avec q   p 


 
  p   g y  p    f x L x  p   p  f x p  L x 
 
     0 0      0    Cte

• Adjoint final : q( t f )   y [ y( t f ), t f ] avec [ y( t f ), t f ]  ( t f )  [ x ( t f ), t f ]

  (t ) 
  p( t f )     x ( t f )     x ( t f )   p( t f )   x ( t f )
 ( t f )    f   1  ( t )  1  Cte

1289
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Définition de l’adjoint


Cas d’un système non linéaire (forme Bolza)
• Les adjoints p (associé à x) et  (associé à ) vérifient
p  f x p  L x   p  H x en définissant H( x, u, p, t )  L( x, u, t )  p T f ( x, u, t )
  1

• On exprime la variation J du coût en fonction de x, p, f et L.
tf
J  q( t 0 ) T y( t 0 ) 
 q( t ) T g Tu ( t )u ( t )dt
t0

T tf T
x ( t 0 ) 
  0   
 p  f L T u ( t )dt
p( t )
   u u avec ( t 0 )  1 et ( t 0 )  0 fixé
 ( t 0 )   ( t 0 )   
t0
tf
J  p( t 0 ) T x ( t 0 ) 
 H Tu u ( t )dt
t0
 J
• On retrouve la formule établie par la méthode variationnelle.  p ( t 0 ) 
x ( t 0 )
p(t0) et Hu(t) donnent les sensibilités aux variations de x(t0) et de u(t) :  J
H u ( t ) 
 u ( t )
1290
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Changement de variable


Système non linéaire (forme Mayer)
• On considère un problème sous forme de Mayer avec l’état x et l’adjoint p.

min J (u )  [ x ( t f ), t f ] avec x  f ( x, u, t )  H( x, u, p, t )  p T f ( x, u, t )  p T x
u
g  g i 
• On applique le changement de vecteur d’état : y  g( x )  y  Gx avec G  
→ changement d’adjoint associé : p → q x  x j 

L’hamiltonien en variables (y , q) est noté H’ : H' ( y, u, q, t )  q T y

• L’hamiltonien est une grandeur intrinsèque qui ne dépend pas du système de coordonnées.
H ≡ H’ est une condition suffisante pour obtenir la même solution en variables (x, p) ou (y , q).

H  H'  p T x  q T y  q T Gx vérifié si q  G T p

• Le changement d’adjoint associé à y  g( x ) est : q  g x T p

Ces formules généralisent les formules établies pour un système linéaire.


y  Gx  q  G T p
1291
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 5
Changement de coordonnées polaires  cartésiennes
y
• Coordonnées polaires : r, → adjoint pr , p
Coordonnées cartésiennes : x , y → adjoint px , py

x  r cos   g(r, )  (r cos  , r sin ) r


 y  r sin  

x
 cos   r sin  
• Matrice jacobienne de g : G (r, )   
 sin  r cos  

 px   p  1  r cos   sin   p r 
   G (r, ) T  r   
 p  r  r sin  cos   p 
• Changement d’adjoint :
 py 
       

 1
p
 x  p r cos   p  sin 
  r
1
p x  p r sin   p  cos 
 r
1292
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Intégrale première


Dérivée de l’hamiltonien
• On évalue la dérivée totale de l’hamiltonien le long d’une trajectoire définie par x(t), u(t), p(t).

dH H dx H du H dp H  ( x, u, p, t )  H x  H u  H p  H
( x, u, p, t )      H
dt x dt u dt p dt t x u p t

• Si la trajectoire est optimale, les relations suivantes sont vérifiées.

H H 
x  , p   
p x dH H
  
H t
min H( x, u, p, t )   0 dt
u u 

• Si les fonctions f(x,u,t) et L(x,u,t) ne dépendent pas explicitement du temps, on obtient

dH
0  H  C te
dt

L’hamiltonien est constant le long d’une trajectoire optimale (intégrale première du système).

1293
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 6 : mécanique


Système conservatif
• Un système conservatif est décrit par : q = vecteur d’état (coordonnées généralisées)
V = énergie potentielle → V(q)
T = énergie cinétique → T(q, q )

• On définit le lagrangien du système : L(q, q )  T(q, q )  V(q)

l’hamiltonien du système : H(q, q )  T(q, q )  V(q)


tf
l’action entre t0 et tf :

S  L(q, q )dt
t0

Principe de moindre action


tf
• La trajectoire q(t) du système vérifie :
q(t ) 
min S  L(q, q )dt
t0
→ principe de moindre action

tf
xq
• Problème de contrôle équivalent :
u 
min S  L( x, u )dt sous x  u
t0
avec def
u  q
def
1294
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 6 : mécanique


Conditions d’optimalité
tf


min S  L( x, u )dt sous x  u
u
t0
avec L( x, u )  T( x, u )  V( x )

• Hamiltonien : H  L  p T f  L( x, u )  p T u (→ hamiltonien de contrôle)

H L
• Adjoint : p   
x x d  L  L
   avec x  q , u  q
L dt  q  q
• Commande : min H  p 0
u u équations de Lagrange (système conservatif)

T
• L’énergie cinétique est une forme quadratique par rapport à la vitesse q  q T  2T
q
L T
H  L  uTp  L  uT  (T  V )  u T  (T  V)  2T  H  (T  V )
u u
L’hamiltonien « de contrôle » est identique au signe près à l’hamiltonien « mécanique ».
(= énergie mécanique)
1295
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 6 : mécanique


Système non conservatif
• Pour un système non conservatif, les forces ne dérivent pas d’un potentiel.
Le système est soumis à des forces généralisées notées Q(q).
qf
Le travail W des forces entre q0 et qf dépend du chemin suivi : W 

q0
Q(q) T dq

• La trajectoire q(t) du système vérifie le principe des travaux virtuels.


Pour un déplacement virtuel (non physique) q par rapport à la trajectoire réelle :
variation d’énergie cinétique due à q et q
 tf  tf
 
 
  T(q, q )dt   Q(q) T qdt  0
t  t
0  0
travail virtuel = du au déplacement virtuel

• Le principe des travaux virtuels s’exprime par une équation de stationnarité sur q et q .
x  q
On peut appliquer la technique de l’adjoint en définissant :  def
 q
u def
1296
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 6 : mécanique


Condition de stationnarité
• Le principe des travaux virtuels en variables (x,u) s’écrit
tf

 T x x  Tu u  Q x dt  0 sous x  u


T T T

t0
• On ajoute la contrainte dynamique avec un adjoint p.
tf

 T x x  Tu u  Q x  p (u  x dt  0
T T T T
)
t0

 T 
tf

u  p T u  Tx  Q  p T x dt  (px ) t 0  (px ) t f  0 en intégrant par parties


t0

• Pour annuler le terme en x, on impose à l’adjoint de vérifier : Tx  Q  p  0


L’intégrale doit s’annuler pour une variation u quelconque : Tu  p  0
d  T  T
    Q avec x  q , u  q
dt  q  q
On obtient les équations de Lagrange pour un système non conservatif.
(pour un système conservatif : Q = Vq)
1297
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Temps final libre


Formulation
tf
min J   Lx(t), u(t), t dt  x(t f ), t f  avec x ( t )  f x ( t ), u ( t ), t  , x  R n , u  R m
u,t f
t0 x ( t 0 )  x 0 fixé, t 0 fixé, t f libre
On cherche la loi de commande u(t) , tt0 , tf] et le temps final tf qui minimisent le coût J.

• On définit comme précédemment le coût augmenté Ja avec l’adjoint p(t)Rn.


tf
Ja  J   p( t )
T
f (x (t ), u (t ), t )  x (t )dt
t0

En intégrant par parties et avec l’hamiltonien défini par : H( x, u, p, t )  L( x, u, t )  p f ( x, u, t )


T
def

 H(x, u, p, t)  p x dt  p(t


tf
Ja  T
0)
T
x ( t 0 )  p( t f ) T x ( t f )  x ( t f ), t f 
t0

• On exprime ensuite la variation du coût augmenté en fonction des variations u(t), x(t) et tf.

1298
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Temps final libre


Variation première
• On exprime la variation du coût augmenté en fonction des variations u(t), x(t) et tf.

 H(x, u, p, t)  p x dt  p(t )


tf
Ja  T
0
T
x ( t 0 )  p( t f ) T x ( t f )  x ( t f ), t f 
t0

tf x(t) u(t) x(t) x(tf) tf x(tf) tf

La variation totale dx(tf) de l’état final est due directement à x(tf) et indirectement à tf.

x ( t f  t f )  x ( t f )  x ( t f )  x ( t f )t f  dx ( t f )  x ( t f )  x ( t f )t f

• On obtient la variation première Ja.

 
tf


J a  (H Tx x  H Tu u  p T x )dt  H  p T x tf t f  p ( t f )t f T x ( t f )  p( t f ) T x ( t f )  x ( t f )t f 
t0

  x ( t f ) T x ( t f )  x ( t f )t f    t ( t f )t f

1299
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Temps final libre


Conditions de minimum
• On regroupe les termes en u(t), x(t), x(tf) et tf.

 
tf tf
J a   H Tu udt   (H x  p ) T xdt   x  pTtf x ( t f )  H  p T x   Tx x   t tf t f
t0 t0

• Pour éliminer les termes en x(t) et x(tf), on impose à l’adjoint p(t) de vérifier 2 conditions.
p   Hx → équation adjointe (dimension n)
p( t f )   x ( t f ) → condition finale (dimension n) dite de transversalité
tf

• Il ne reste que les termes en u(t) et tf : J a  H Tu udt  H   t t t f


 f
t0

H u  0 , t
• Les conditions nécessaires de minimum sont : H( t )   ( t ) → condition de transversalité
 f t f

La condition de transversalité sur H(tf) détermine le temps final optimal.


H  C te
• Pour un système autonome à temps final libre :   H  0 , t
→ L’hamiltonien est constant et nul. H ( t f )  0
1300
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Temps final libre


Problème aux 2 bouts
• Le problème à temps final libre conduit à un problème aux 2 bouts avec
- une inconnue supplémentaire → tf
- une équation supplémentaire → H(tf)

• Il faut trouver n+1 inconnues → p(t0) et tf


pour satisfaire n+1 équations → conditions de transversalité sur p(tf) et H(tf)

à trouver tf = ?
x(t 0 )  x 0 x  H p x(t f )  ? libre
p( t 0 )  ? p   H x p( t f )   x ( t f )
H( t f )   t ( t f )

à trouver min H  u ( x, p, t ) à satisfaire


u

• Cas particulier : problème de temps minimal


→ formulation possible soit avec coût intégral (L=1 , =0)
soit avec coût final (L=0 , =tf)
1301
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Problème de temps minimal


Formulation avec coût intégral
tf
min J  1dt avec x ( t )  f x ( t ), u ( t ), t   L 1 ,   0
u,t f
t0

H( x, u, p, t )  1  p T f ( x, u, t )
• Hamiltonien : H ( t )    ( t )  0
 f t f

• Système autonome : H( t )  0  p T f  1

Formulation avec coût final

min J  t f avec x ( t )  f x ( t ), u ( t ), t   L  0 ,   t f
u,t f

H( x, u, p, t )  p T f ( x, u, t )
• Hamiltonien : H( t )   ( t )  1
 f t f

• Système autonome : H( t )  1  p T f  1
1302
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 7 : navigation


Formulation
• On considère une trajectoire plane dans un fluide.
La vitesse du véhicule par rapport au fluide est constante  vitesse relative
La vitesse du fluide est fonction de la position  vitesse d’entrainement

Application : avion (vent), bateau (courant) y



  e
• Vitesse du fluide en fonction de la position : e   u ( x, y)  va
 v( x , y)  
w

w  w  cos  

Vitesse du véhicule par rapport au fluide :
 sin  

x  w cos   u ( x, y)
Equations du mouvement : 
 y  w sin   v( x, y)
O x

Le module w de la vitesse relative est constant.
La commande est la direction  de la vitesse relative

• On cherche la trajectoire revenant à l’origine O en temps minimum.

1303
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 7 : navigation


Conditions d’optimalité
• Problème en temps minimum
tf

 avec x  w cos   u et x ( t f )  0



min J  1 dt
, t f  y  w sin   v  y( t f )  0
t0

• Hamiltonien : H  1  p( w cos   u )  q( w sin   v) en notant  p  l’adjoint associé à  x 


q  y
• Commande : min H  H   p sin   q cos   0

• Le système est autonome : H(t) = H(tf) = 0

On peut exprimer l’adjoint (p , q) en fonction de la commande .

H  0 p( w cos   u )  q( w sin   v)  1


H  0  p sin   q cos   0
  

 pW   cos  avec W  w  u cos   v sin 


qW   sin 

1304
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 7 : navigation


Conditions d’optimalité
• Les équations adjointes sont obtenues en dérivant l’hamiltonien.
p   H  pu  qv
H  1  p( w cos   u )  q( w sin   v)  q   H x  pu x  qv x
 y y y

En multipliant par W et avec  pW   cos  p W  u cos   v sin 


qW   sin   q W  u x cos   v x sin 
  y y

    sin 
• En dérivant par rapport à t : pW   cos 
qW   sin   pW  pW  
 q W  qW   cos 

On remplace p W, q W à partir des équations adjointes et p ,q en fonction de ,


puis on combine les 2 équations pour éliminer W.

 
W
u x cos   v x sin   cos    sin 
 W
    v x sin 2   (u x  v y ) sin  cos   u y cos 2 
u y cos   v y sin   sin  W
  cos 
 W

On obtient une équation différentielle vérifiée par la commande .


1305
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 7 : navigation


Solution
• La trajectoire optimale s’obtient en intégrant le système
x  w cos   u ( x, y)

 y  w sin   v( x, y)
  v x sin 2   (u x  v y ) sin  cos   u y cos 2 

• Les conditions initiales x0, y0 sont données.


Il faut trouver la commande initiale 0 telle que la trajectoire passe par l’origine 0.
 problème à une inconnue

• Cas d’un courant constant (u et v constants)   constant (trajectoire = ligne droite)

• Cas d’un courant parallèle à Ox, variant linéairement en fonction de y :  u  cy


v  0

d
  u y cos 2   c cos 2    cdt  tan   tan  f  c( t f  t )
cos 2 
La commande  suit une loi tangente linéaire en fonction du temps.

1306
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 7 : navigation


Solution avec courant linéaire
• On peut intégrer les équations du mouvement en passant en variable .
d d
 c cos 2   dt  
dt c cos 2 
dy dy w sin  w 1 1 
 w sin     y  
dt d c cos 2  c  cos  f cos  
dx dx w w  1 1 
 w cos   cy      
dt d c cos  c cos   cos  f cos  
2

• On obtient après intégration (long).

w  tan   tan  f  1 1   1   1 
x   tan     ln tan     ln tan  f  
2c  cos  f  cos  f cos    cos    cos  f 
w 1 1 
y   
c  cos  f cos  

Les conditions initiales (x0 , y0) permettent de déterminer les inconnues 0 et f .


1307
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 7 : navigation


Application
• Vitesse du courant : u = y Solution : 0 = 98.8 deg
• Conditions initiales : x0 = 4.5 , y0 =  4.5 f = 240 deg , tf = 8.2 s

1 Direction vitesse relative

0
-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6

-1

-2

Courant
-3

-4

-5
1308
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Fonctions d’influence


Variations des conditions initiales et finales
tf
min J   Lx(t), u(t), t dt  x(t 0 ), t 0 , x ( t f ), t f  avec x ( t )  f x ( t ), u ( t ), t  , x  R n , u  R m
u,t 0 ,t f
t0

On suppose que le coût dépend des conditions initiales et finales


et que les conditions initiales t0, x(t0) et les conditions finales tf, x(tf) sont libres.

• Le calcul de la variation première est analogue en ajoutant les variations en t0 et x(t0).
Les termes en t0 et x(t0) sont identiques aux termes en tf et x(tf) au signe de p et H près.
tf tf
J a  H Tu udt  (H x  p ) T xdt   x  pTtf x ( t f )   t  H t t f
  f
t0 t0
  x  pTt0 x ( t 0 )   t  H t t 0
0

• L’adjoint est choisi pour éliminer les termes en x(t) : p   H x


p ( t )   ( t )
Les conditions de transversalité éliminent x(tf), tf : H( tf )  x ( t f ) en tf
 f t f
p ( t )    ( t )
et x(t0), t0 : H( t0 )   x ( t 0 ) en t0
 0 t 0 1309
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Fonctions d’influence


Variations des conditions initiales et finales
• La variation de coût due aux variations de conditions initiales et finales vaut

J a   x  pTtf x ( t f )   t  H t t f   x  pTt0 x ( t 0 )   t  H t t 0
f 0

• Pour un problème sans coût final ( = 0).

J a  p T ( t f )x ( t f )  H( t f )t f  p T ( t 0 )x ( t 0 )  H( t 0 )t 0

• Les fonctions p et H représentent les sensibilités du coût aux conditions initiales et finales.
 J  J
 0p ( t )   fp ( t )  
x ( t 0 ) x ( t f )
 J et  J
H ( t 0 )   H ( t f ) 
 t 0  t f
p(t0), p(tf), H(t0), H(tf) sont appelés fonctions d’influence aux conditions initiales et finales.
tf
• Hu est appelée réponse impulsionnelle : J  H Tu udt
= variation de J due à une impulsion u(t) t0

1310
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Contraintes finales


Formulation
tf
min J   Lx(t), u(t), t dt  x(t f ), t f  avec x ( t )  f x ( t ), u ( t ), t  , x  R n , u  R m
u
t0 x ( t 0 )  x 0 fixé, t 0 fixé, t f fixé
La loi de commande doit respecter les contraintes : x ( t f ), t f   0 → q contraintes

→ loi de commande admissible

Méthode variationnelle
• La méthode variationnelle doit tenir compte de la variation des contraintes.
Une variation de commande u est admissible si la variation des contraintes  est nulle.

• La variation de commande u produit une variation d’état final x(tf).


La variation  dépend indirectement de u par x(tf), qui n’est pas connu explicitement.
Pour exprimer  en fonction de u, on utilise la technique de l’adjoint comme pour le coût J.

• On associe à chaque contrainte j un adjoint noté p j → q adjoints pjRn


L’adjoint associé au coût J est noté p0 → 1 adjoint p0Rn

1311
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Contraintes finales


Variation première
• La variation du coût J s’exprime en fonction de son adjoint p0 et son hamiltonien H0.
tf
  H 0x
avec  0
p
J  
t0
H T0 u udt
p 0 ( t f )   x ( t f )
et H 0 ( x, u, p 0 , t )  L( x, u, t )  p T0 f ( x, u, t )

• La variation de la contrainte j s’exprime en fonction de son adjoint pj et son hamiltonien Hj.


tf
p   H jx
 j  
t0
H Tju udt avec  j
p j ( t f )   jx ( t f )
et H j ( x, u, p j , t )  p Tj f ( x, u, t )

• Les formules pour les contraintes sont analogues à celles pour le coût en remplaçant
- le coût intégral L(x,u,t) par 0
- le coût final [x(tf),tf] par la contrainte [x(tf),tf]

• On ajoute les variations j à la variation J avec des multiplicateurs j.


tf tf
J a  J       H
j
j j 0 u udt 
T
  H
j
j ju udt
T

t0 t0

1312
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Contraintes finales


Conditions de minimum
• On écrit les variations sous forme matricielle.

 1   1   H1  H1u H qu
          
      Rq       Rq G      Rq G u     R mq
          
 q   q   Hq 
tf
Variation des contraintes :

  G Tu udt
t0
tf
J a  J    j j  J      H 
 T G Tu udt
T T
Variation du coût augmenté : 0u
j t0

• Une condition nécessaire de minimum est : J a (u )  0 , u admissible


 (u )  0

→ Aucune variation de commande admissible ne doit diminuer le coût.

1313
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Contraintes finales


Variations admissibles
• On considère la variation de commande : u  (H 0 u  G u ) ,   0

• Cette variation fait décroître le coût augmenté.


tf tf tf

 udt    H  G u   H 0 u  G u  dt   
2
J a  H T0 u 
T
G Tu 0u
T
H 0 u  G u  dt  0
t0 t0 t0

• Cette variation est admissible si  =0.


tf tf  tf tf 
 
   G Tu udt   G Tu H 0 u
  G u  dt   G u H 0 u dt  G u G u dt 
T

T

t 
t0 t0 0 t0 
tf
  0  Q  g avec Q  G Tu G u dt 
t0
 matrice q  q    Q 1g

tf si Q inversible

et g  G Tu H 0 u dt  vecteur q  1
t0

• La matrice Q est la matrice de commandabilité du système.


1314
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Contraintes finales


Variations admissibles
• Si le système est commandable, la matrice Q est inversible.

On peut alors trouver les multiplicateurs Rq tels que la variation u  (H 0 u  G u ) ,   0

- est admissible →  = 0
tf


2
- fait décroître le coût → J a  J  T   J   H 0 u  G u  dt  0
t0

• La condition nécessaire pour que le coût ne puisse pas décroître est : H 0 u  G u   0 , t

• On peut reformuler les conditions de minimum avec l’hamiltonien H et l’adjoint p définis par

H  H0 
def
  jH j  H  H 0  T G  H u  0 , t


j
 L  p T0 f   j p Tj f identique au cas sans contraintes
j
p  H
p  p0 
def
 j
 jp j  Lp fT
 p( t )   x( t )   ( t )
 f x f x f
par sommation sur p0, pj 1315
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Contraintes finales


Problème à temps final libre avec contraintes finales
tf
min J   Lx ( t ), u ( t ), t dt  x ( t f ), t f  avec x ( t )  f x ( t ), u ( t ), t  , x  R n , u  R m
u,t f
x ( t f ), t f   0
t0

• Coût augmenté avec hamiltonien H = L + pTf et variations u(t), x(t) et tf

 H(x, u, p, t)  p x dt  p(t )


tf
Ja  T
0
T
x ( t 0 )  p( t f ) T x ( t f )  x ( t f ), t f   T x ( t f ), t f 
t0

tf x(t) u(t) x(t) x(tf) tf x(tf) tf x(tf) tf

• Variation première Ja

 
tf


J a  (H Tx x  H Tu u  p T x )dt  H  p T x tf t f  p ( t f )t f T x ( t f )  p( t f ) T x ( t f )  x ( t f )t f 
t0

  x ( t f ) T x ( t f )  x ( t f )t f    t ( t f )t f  T  x ( t f ) T x ( t f )  x ( t f )t f   T  t ( t f ) T t f

1316
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Contraintes finales


Problème à temps final libre avec contraintes finales
• Variation première Ja en regroupant les termes en u(t), x(t), x(tf) et tf

 
tf


J a  (H Tx x  H Tu u  p T x )dt  H  p T x tf t f  p ( t f ) t f T
x ( t f )  p( t f ) T x ( t f )  x ( t f )t f 
t0

  x ( t f ) T x ( t f )  x ( t f )t f    t ( t f )t f  T  x ( t f ) T x ( t f )  x ( t f )t f   T  t ( t f ) T t f

 H u  (H   
tf
J a  T
u x  p ) T x dt   x   x   pTtf x ( t f )  H   t   t   ( x   x   p) T x t t f
f
t0

• Annulation des coefficients des termes en u(t), x(t), x(tf) et tf

Hu  0 , t → annule les termes en u (identique cas sans contraintes,  u)


p   Hx → annule les termes en x

p( t f )   x ( t f )   x ( t f ) → annule les termes en x(tf) (terme supplémentaire avec )

H ( t f )    t ( t f )   t ( t f ) → annule les termes en tf (terme supplémentaire avec )


1317
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Résumé 1
Problème à temps final libre avec contraintes finales
tf
min J   Lx ( t ), u ( t ), t dt  x ( t f ), t f  avec x ( t )  f x ( t ), u ( t ), t  , x  R n , u  R m
u,t f
x ( t f ), t f   0
t0

• On associe q multiplicateurs  (à déterminer) aux q contraintes .

• L’adjoint p et l’hamiltonien H sont définis comme dans le cas sans contraintes.


Les conditions de transversalité sont modifiées sur p (contraintes) et H (temps final).
H( x, u, p, t )  L( x, u, t )  p T f ( x, u, t )

p  H
p( t )   x( t )   ( t ) → n équations à tf pour n inconnues p(t0)
 f x f x f

H u  0 , t → m équations à t pour m inconnues u(t)  min H( x, u, p, t )


H ( t )    ( t )   ( t )  → 1 équation à tf pour 1 inconnue tf u
 f t f t f

x ( t f ), t f   0 → q équations à tf pour q inconnues 


1318
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Résumé 2
Problème avec contraintes initiales et finales
tf
min J   Lx ( t ), u ( t ), t dt  x ( t 0 ), t 0 , x ( t f ), t f  avec x ( t )  f x ( t ), u ( t ), t  , x  R n , u  R m
u,t 0 ,t f
x ( t 0 ), t 0 , x ( t f ), t f   0
t0

• Les conditions initiales et finales sont à optimiser et sont soumises à des contraintes.
→ q multiplicateurs  associés aux q contraintes 
→ conditions de transversalité supplémentaires au point initial

• Conditions nécessaires de minimum

p   Hx avec H( x, u, p, t )  L( x, u, t )  p T f ( x, u, t )
p ( t 0 )    x ( t 0 )   x ( t 0 )  → n équations à t0 pour n inconnues x(t0)
p( t f )   x ( t f )   x ( t f ) → n équations à tf pour n inconnues x(tf)
H u  0 , t → m équations à t pour m inconnues u(t)  min H( x, u, p, t )
H ( t 0 )   t ( t 0 )   t ( t 0 ) 
u
→ 1 équation à t0 pour 1 inconnue t0
H( t f )    t ( t f )   t ( t f ) → 1 équation à tf pour 1 inconnue tf
x ( t 0 ), t 0 , x ( t f ), t f   0 → q équations à t0 , tf pour q inconnues 
1319
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 8 : mise en orbite


Formulation
• On considère une trajectoire à accélération constante dans le plan vertical (x , z) en terre plate.
 x
Position : r   z
z  vc

v   v x  zc orbite à atteindre
Vitesse : 
 vz  a

Gravité : g   0 
 g 
a   a cos   , a = Cte

Accélération :
 a sin   
u   cos  
 g
Commande :
 sin  
x
r  v
Equation d’état :    
v  g  au
x ( t f ) libre
z( t f )  z c → altitude zc
• On cherche la mise en orbite en temps minimum : v ( t )  v
v x ( t f )  0 c → vitesse horizontale vc
 z f
1320
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 8 : mise en orbite


Conditions d’optimalité
• Problème en temps minimum z 
au
x ( t f ) libre
r  v
tf
z ( t )  z c 
min

u,t f 
J  1 dt avec    
v  g  au
et  f
v (t )  v
v x ( t f )  0 c
 z f
t0

g
    
• Hamiltonien : H  1  p r .v  p v .(g  au ) x
     
p r  H r  0  p  B
• Adjoint :     r   ( A , B vecteurs constants)
 v
p   H   p 
v r  p v   ( A  B t )
Transversalité : x(tf) libre  p x (t f )  Bx  0
  
 pv A  Bt 
• Commande : min H  u       ( u unitaire = direction de poussée)
u p v A  Bt
u z A z  Bz t
 tan    (loi tangente bilinéaire)
u x A x  Bx t
A z  Bz t
B x  0  tan    tan  0  ct (loi tangente linéaire)
Ax
1321
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 8 : mise en orbite


Trajectoire
d
• Passage en variable  : tan   tan  0  ct  dt 
c cos 2 
 
dv dv  
• Vitesse :  c cos 2   g  au
dt d
dv x a a  1  a  1 
  v x  ln tan  0    ln tan  
 c  
d c cos  c  cos  0  cos  
dv z a sin  dt a 1 1 
  g  vz      gt
d c cos 2  d c  cos  0 cos  

 
dr d r 
• Position :  c cos 2  v
dt d
a  1 1  1   1 
 x    tan  ln  tan     tan  ln  tan   
c 2  cos  0 cos   cos    0
cos  0 
 
a  tan  0 tan  2 tan   1   1  gt 2
 z 2     ln tan     ln tan  0   

2c  cos  0 cos  cos  0  cos    cos  0  2
1322
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 8 : mise en orbite


Conditions finales
• Temps final tf : tan  f  tan  0  ct f
a  1  a  1 
v x (t f )  v c  ln tan  0    ln tan  f 
 c 

c  cos  0   cos  f 
a 1 1 
v z (t f )  0      gt f
c  cos  0 cos  f 

a  tan  0 tan  f 2 tan  f  1   1  gt f2


z( t f )  z c  2     ln tan  f    ln tan  0   
2c  cos  0 cos  f cos  0 cos  f  cos  0 
    2

→ système de 4 équations à 4 inconnues 0 , f , tf , c.

• On peut réduire le système à 2 équations en 0 , f en éliminant tf et c.

tan  f  tan  0  ct f  ct f  tan  0  tan  f

a 1 1  a 1 1 
    gt f  0      tan  0  tan  f
c  cos  0 cos  f 
 g  cos  0 cos  f 

1323
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 8 : mise en orbite


Solution
• Système à 2 équations en 0 , f
a 1 1 
    tan  0  tan  f
g  cos  0 cos  f 

 1   1 
 tan    2az  tan   
tan  0 tan  f cos  0 cos  0
0 0
  ln   c
ln 2
 0
cos  f cos  0  tan   1  v c2  tan   1 
 f
cos  f   f
cos  f 
   

• La première équation permet d’exprimer 0 en fonction de f (équation du 2nd degré en cos 0).
Il reste une équation avec f comme inconnue (résolution par dichotomie ou Newton).
On obtient les valeurs de 0 , f .
 1 
 tan    v
cos  0
0
• Le temps final est donné par : t f ln    c (tan  0  tan  f )
 tan   1  a
 f
cos  f 
 
Le V fourni vaut : V  at f
1324
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 8 : mise en orbite


Application numérique
• Altitude finale : zc = 200 km Accélération a = 2g a = 3g a = 5g
Vitesse finale : vc = 7784 m/s 0 (deg) 45,64 43,90 49,24
Gravité : g = 9 m/s² f (deg) 11,46 -9,20 -31,75
tf (s) 509,5 319,1 195,4
V (m/s) 9171 8616 8792

Altitude z (km) Mise en orbite à 200 km


200

150 a/g=2
a/g=3
100 a/g=5

50

Distance x (km)
0
0 500 1000 1500 1325
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 8 : mise en orbite


Evolution du V fourni
• Accélération : a = 1.5 à 6 g (gravité g = 9 m/s²)
Altitude finale : zc = 200 à 400 km → vitesse finale v c  gr

V (m/s) V en fonction de l'accélération et de l’altitude


11000

Zc = 200 km
10500
Zc = 300 km
Zc = 400 km
10000

9500

9000

a/g
8500
1,0 1,5 2,0 2,5 3,0 3,5 4,0 4,5 5,0 5,5 6,0 6,5
1326
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 9 : rendez vous 2D


Formulation
• On considère une trajectoire plane à accélération constante.
 y
Position : r 
 v
Vitesse : v
 
Accélération : a  au , a = Cte

u   cos  

Commande :
 sin  
   
 r  v a
Equation d’état :   
v  au
  O x
 r ( t f )  0
• Conditions finales :    rendez vous en O
 v( t f )  0

• On cherche la trajectoire de rendez vous avec l’origine en temps minimum.

r  v 
tf
 r( t f )  0
min
 J  1 dt
u,t f  avec  
 v  au
 et 
 v( t f )  0
t0 1327
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 9 : rendez vous 2D


Conditions d’optimalité
• Problème en temps minimum y 
au
r  v 
tf
 r( t f )  0 
min

u,t f 
J  1 dt
t0
avec  
v  au
 et 
 v( t f )  0

   
• Hamiltonien : H  1  p r .v  ap v .u O x
   
p r  H r  0  p  B  
• Adjoint :      r   ( A , B vecteurs constants)
 v
p   H    p   p   B( t  t )  A
v r v f
  
 p v A  B( t f  t ) 
• Commande : min
 H  u        ( u unitaire = direction de poussée)
u p v A  B( t f  t )

uy A y  B y (t f  t)
 tan   
ux A x  Bx (t f  t)

La commande est obtenue sous forme tangente bilinéaire.

1328
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 9 : rendez vous 2D


Commande tangente linéaire
• On passe de la forme tangente bilinéaire à une forme tangente linéaire équivalente.

A y  B y (t f  t)
tan    tan(  )  tan( f  )  e( t f  t )
A x  Bx (t f  t)
avec des constantes  , e , f , t f à définir

• En développant tan() et en identifiant

A x  1  tan( f  ) tan 
tan( f  )  tan   e( t f  t ) A  tan( f  )  tan 
tan     y
1  tan( f  ) tan   e( t f  t ) tan  B   e tan 
B x  e
 y

• On passe en variable  au lieu de t pour intégrer la trajectoire.

d
tan(  )  tan( f  )  e( t f  t )  dt  
e cos 2 (  )

1329
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 9 : rendez vous 2D


Trajectoire
• Les équations de la trajectoire sont projetées en coordonnées cartésiennes.

• On note : (x , y) les composantes de la position


(u , v) les composantes de la vitesse
x u
 y v d
u avec dt  
 a cos  e cos 2 (  )
v  a sin 

• Equations en variable  (dérivées par rapport à  notées x , y , u , v)

 u v
 x '  , y ' 
 e cos 2 (  ) e cos 2 (  )
  a cos   a sin 
u '  , v ' 

 e cos 2 (  ) e cos 2 (  )

• Ces équations en variable  s’intègrent analytiquement (long).


On obtient les expressions de x() , y() , u() , v().

1330
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 9 : rendez vous 2D


Trajectoire
• Après intégration la solution se met sous la forme
 a
x  x f  2
(f x cos   f y sin )  u f ( t f  t )
 e
a
y  y f  (f x sin   f y cos )  v f ( t f  t )
 e 2
 a
u  u f  (f u cos   f v sin ) x , y , u , v ,  = valeurs courantes à t
 e avec
v  v 
a
(f u sin   f v cos ) xf , yf , uf , vf , f = valeurs finales à tf


f
e

• Les fonctions fx , fy , fu , fv dépendent de  , f , .

f x   f u tan(  )  f v
 1 1 1 tan( f  )  tan(  )
f y   f u  f v tan(  ) 
 2 2 2 cos( f  )

 1 1
f u  ln tan( f  )   ln tan(  ) 
cos( f  ) cos(  )

f 
1

1
 v cos( f  ) cos(  )
 1331
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 9 : rendez vous 2D


Conditions initiales
• On cherche la trajectoire de rendez vous avec l’origine à partir des conditions initiales (x,y,u,v).
 a
x  (f x cos   f y sin )
 e2
a
y  (f x sin   f y cos )
 2
 e
a
 système de 4 équations à 4 inconnues :  , e , f , 
u  (f u cos   f v sin )
 e
v 
a
(f u sin   f v cos )

 e

• La position initiale (x , y) et la vitesse initiale (u , v) sont données à la date t.


La résolution du système donne la commande  en fonction de (x,y,u,v).
 commande feedback (en retour d’état)

• Le temps final s’obtient à partir de : tan(  )  tan( f  )  e( t f  t )


tan(  )  tan( f  )
 tf  t  (« time to go »)
e

1332
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 9 : rendez vous 2D


Réduction du système
• On peut réduire la dimension du système à résoudre en passant en coordonnées polaires.
y 
x  r cos  v
y  r sin 
u  w cos (   )
v 
  w sin (   )  
a

r = module position 
w = module vitesse r
 = angle de visée
 = angle vitesse / ligne de visée 
O x

• Les conditions initiales (x , y , u , v) sont données et dépendent des 4 inconnues ( , e , f , ).


w2
A partir de (x , y , u , v), on peut calculer les grandeurs adimensionnées et  .
ar
Ces 2 grandeurs ne dépendent que de 2 inconnues (f   ,   ).
1333
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 9 : rendez vous 2D


Réduction du système
• On exprime w2/ar et  en fonction de fx , fy , fu , fv.

w2 u 2  v2  a w2 f u2  f v2
 x  (f x cos   f y sin ) 
ar a x 2  y2  e2 ar f x2  f y2
a
y  (f x sin   f y cos )
xu  yv  e 2
a 2 f x f u  f yf v
cos   avec  cos   3
a
rw u  (f u cos   f v sin ) e rw
 e
xv  yu v a a 2 f x f v  f yf u
sin    (f u sin   f v cos ) sin   3
rw 
 e e rw

• Les fonctions fx , fy , fu , fv ne dépendent que des 2 inconnues (f   ,   ).


On obtient un système de 2 équations à 2 inconnues à résoudre numériquement.

w2 f u2  f v2

ar f x2  f y2 solution (f   ,   ).
  atan2 ( f x f v  f y f u , f x f u  f y f v )

1334
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 9 : rendez vous 2D


Solution
• Processus de résolution

Conditions initiales (x,y,u,v)  (r,w,)

Système en w2/ar et 

a f u2  f v2 tan(  )  tan( f  )
Solution (f   ,   ) e , tf  t 
w e
 s’obtient à partir de la condition de transversalité H = 0

Trajectoire complète de t à tf ne dépend pas directement de 

• On peut visualiser l’ensemble des trajectoires optimales dans le plan ( , w2/ar).


 champ d’extrémales

1335
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 9 : rendez vous 2D


Application numérique
 250
• Position initiale : x = 10 m Commande 
y=4 m 200

• Vitesse initiale : u = 0 m/s 150


v = 0.5 m/s
100

• Accélération : a = 0.1 m/s2 50

• Temps final : tf = 24,13 s 0


0 5 10 15 20 25
t
v
y6 Vitesse (u , v)
0,6
Position (x , y)
5 0,4

4 0,2

3 0
-1 -0,8 -0,6 -0,4 -0,2 0
2 -0,2
u
1 -0,4

0 -0,6
-1 0 1 2 3 4 5 6 7 8 9 10 x
11
-1 -0,8
1336
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 9 : rendez vous 2D


Champ d’extrémales
a (t f  t)
• Trajectoires optimales dans le plan ( , v2/ar) – Lignes de niveau de v= et de
v
v=30 deg 60 deg 90 deg 120 deg 150 deg
0.01

0,8
0.2

2ar 0.4
0,6
a(tf-t)/v=2
2
v 0.6
0,4

0.8
0,2

1.00
a(tf-t)/v=3  (deg)
0 30 60 90 120 150 180
-0,2
0.8

0.6
-0,4
2
v
0.4
-0,6
2ar a(tf-t)/v=4
0.2
-0,8

0.0-1
1337
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Contraintes ponctuelles


Formulation
tf
min J   Lx(t), u(t), t dt  x(t f ), t f  avec x ( t )  f x ( t ), u ( t ), t  , x  R n , u  R m
u , t1
t0 x ( t 0 )  x 0 fixé, t 0 fixé, t f fixé
Il faut respecter les contraintes x ( t1 ), t1   0 en t1  [t0 , tf] → q contraintes

La date t1 peut être fixée ou optimisée.


Les contraintes  sont des contraintes ponctuelles (ou contraintes de point intérieur).

Méthode variationnelle
• On applique la même approche que pour des contraintes finales à temps final fixé ou optimisé.

• Les variations u sont admissibles si elles produisent des variations  nulles.


→ On suppose le système commandable (pour déduire la condition Hu = 0).
→ L’adjoint p et l’hamiltonien H = L +pTf sont définis comme dans le cas sans contrainte.

• L’état x et la dynamique f sont supposés continus en t1.


L’adjoint et l’hamiltonien ne sont pas nécessairement continus en t1.

1338
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Contraintes ponctuelles


Coût augmenté
• On ajoute au coût : - les contraintes ponctuelles  avec des multiplicateurs 
- la dynamique avec l’adjoint p

 L(x, u, t)  p 
tf
Ja  T
(f  x ) dt  x ( t f ), t f   T x ( t1 ), t1 
t0

• L’intégrale de t0 à tf est : - décomposée en somme de t0 à t1 et de t1+ à tf.


- intégrée par parties en introduisant l’hamiltonien H = L + pTf
t1
Ja   H(x, u, p, t)  p x dt  p(t ) x ( t 0 )  p( t1 ) T x ( t1 )  x ( t f ), t f 
T T
0
t0

 H(x, u, p, t)  p x dt  p(t


tf
 T  T 
1 ) x ( t 1 )  p( t f ) x ( t f
T
)  T x ( t1 ), t1 
t1

• On considère des variations t1 et x(t1) du point intérieur.


Les autres variations u(t), x(t), tf sont traitées comme précédemment → non réécrites.
On ne conserve que les termes dépendant de t1 et x(t1) pour écrire la variation première.

1339
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Contraintes ponctuelles


Variation première
• L’état x, la dynamique f et le coût intégral L sont des fonctions continues en t 1 : x ( t1 )  x ( t1 )
On n’impose pas a priori la continuité de l’adjoint et de l’hamiltonien en t1.
On applique au coût augmenté des variations t1 et x(t1).
t1

 H(x, u, p, t)  p x dt   H(x, u, p, t)  p x dt  p(t 


tf
Ja  T T 
1 )  p ( t  T
1 ) x ( t1 )   
T
x (t1 ), t1 
t0 t1

t1 t1 t1 x(t1) x(t1) t1

• La variation première Ja en fonction des variations t1 et x(t1) s’écrit

J a  [H  p T x ]t  t1  p ( t1 ) T x ( t1 )t1  p( t1 ) T x ( t1 )  x ( t1 )t1 


1

 [H  p T x ]t  t1  p ( t1 ) T x ( t1 )t1  p( t1 ) T x ( t1 )  x ( t1 )t1 


1

 T  x ( t1 ) T x ( t1 )  x ( t1 )t1   T  t ( t1 ) T t1

Les termes en p s’éliminent.


1340
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Contraintes ponctuelles


Conditions de minimum
• En regroupant les termes en t1 et x(t1), on obtient

J a  H(t  
1 )  H ( t 1 )   t ( t 1 ) t  p(t
1

1 )  p ( t 
1 )   (
x 1t ) 
T
x ( t1 )t1

 p( t ( t )  x ( t )
  T
1 )  p( t 1 )   x 1 1

Une condition nécessaire de minimum est : J a  0 , t1 , x ( t1 ) admissibles

• La contrainte ponctuelle en t1 génère des discontinuités de l’adjoint et de l’hamiltonien.


p( t1 )  p( t1 )   x ( t1 )  0 → annule le terme en x(t1)
H( t1 )  H( t1 )   t ( t1 )  0 → annule le terme en t1 (si la date t1 est optimisée, sinon t=0)

La date t1 (si optimisée) est déterminée par la condition de discontinuité sur H.

• Les q multiplicateurs  sont déterminés par les q contraintes .

x ( t1 ), t1   0 → q équations à t1 pour q inconnues 

1341
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Contraintes ponctuelles


Interprétation
• On peut considérer que la trajectoire se compose de 2 branches, de t0 à t1 , puis de t1 à tf .

• La 1ère branche de t0 à t1 arrive aux conditions t1, x(t1) vérifiant x ( t1 ), t1   0 .


Les contraintes ponctuelles sont des contraintes finales en t1 avec des multiplicateurs .

 p( t1 )   x ( t1 )


Les conditions de transversalité en t1 sont   
H ( t 1 )    t ( t 1 ) 

• La 2ème branche de t1 à tf part des conditions t1, x(t1) vérifiant x ( t1 ), t1   0 .


Les contraintes ponctuelles sont des contraintes initiales en t1+ avec des multiplicateurs +.
p( t1 )    x ( t1 )
Les conditions de transversalité en t1 sont 
+
 
H ( t 1 )   t ( t 1 ) 

• En définissant les multiplicateurs  =  + + on retrouve les discontinuités sur p et H en t1.

p( t1 )  p( t1 )   x ( t1 )
H( t1 )  H( t1 )   t ( t1 )
1342
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Discontinuité de dynamique


Formulation
tf
min J 
u , t1  Lx(t), u(t), t dt  x(t
t0
f ), t f 

x ( t )  f  x ( t ), u ( t ), t  si t  t1
• On suppose que la dynamique est discontinue en t1 : 

x ( t )  f  x ( t ), u ( t ), t  si t  t1

• La date t1 peut être fixée ou libre ou soumise à des contraintes ponctuelles x ( t1 ), t1   0
→ q contraintes ponctuelles

Méthode variationnelle
• La variation première se calcule de la même façon que pour des contraintes ponctuelles.

• La seule différence vient de la dynamique définie par f en t1 et f+ en t1+.

H  ( x, u, p, t )  L( x, u, t )  p T f  ( x, u, t ) si t  t1
• L’hamiltonien est défini par 

H  ( x, u, p, t )  L( x, u, t )  p T f  ( x, u, t ) si t  t1
1343
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Discontinuité de dynamique


Conditions de minimum
• La variation première dépend des termes en t1 et x(t1), avec H en t1, H+ en t1+.
J a  H 
  
T
( t1 )  H  ( t1 )   t ( t1 ) t1  p( t1 )  p( t1 )   x ( t1 ) x ( t1 )t1

 p( t ( t )  x ( t )
  T
1 )  p( t 1 )   x 1 1

• Les conditions nécessaires de minimum sont


p( t1 )  p( t1 )   x ( t1 )  0 → annule le terme en x(t1)
H  ( t1 )  H  ( t1 )   t ( t1 )  0 → annule le terme en t1 (si la date t1 est optimisée)

x ( t1 ), t1   0 → q équations à t1 pour q inconnues 

• Cas particulier : date t1 fixée, pas de contrainte sur l’état en t1.


La contrainte ponctuelle est de la forme : x ( t1 ), t1   t1  a  0

→ L’adjoint est continu : p( t1 )  p( t1 )


→ L’hamiltonien est discontinu :  
H  ( t1 )  H  ( t1 )  p( t1 ) T f  ( t1 )  f  ( t1 ) (  )

→ La commande subit une discontinuité déterminée par Hu = 0 .


1344
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Discontinuité d’état


Formulation

 Lx(t), u(t), t dt  x(t 


tf
 
min J  1 ), x ( t 1 ), t 1 , x ( t f ), t f
u , t1
t0

• On suppose que l’état est discontinu en t1 et passe de x ( t1 ) à x ( t1 ) .

• La discontinuité est soumise à des contraintes ponctuelles  


 x ( t1 ), x ( t1 ), t1  0
→ q contraintes ponctuelles

• Le coût dépend de la date t1 et de l’état avant et après la discontinuité.

Méthode variationnelle
• La variation première se calcule de la même façon que pour des contraintes ponctuelles.

• Il faut considérer des variations x(t1) différentes en t1 et en t1+ → x ( t1 ) , x ( t1 )

• On considère également que la dynamique est discontinue en t1 → f , f+

→ système hybride comportant des arcs continus et un nombre fini de discontinuités


1345
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Discontinuité d’état


Coût augmenté
• On ajoute au coût : - les contraintes ponctuelles  avec des multiplicateurs 
- la dynamique avec l’adjoint p

 L(x, u, t)  p     
tf
Ja  T
(f  x ) dt   x ( t1 ), x ( t1 ), t1 , x ( t f ), t f  T  x ( t1 ), x ( t1 ), t1
t0

• L’intégrale de t0 à tf est : - décomposée en somme de t0 à t1 et de t1+ à tf.


- intégrée par parties en introduisant l’hamiltonien H = L + pTf 
t1

 H   

Ja  ( x, u, p, t )  p T x dt  p( t 0 ) T x ( t 0 )  p( t1 ) T x ( t1 )   x ( t1 ), x ( t1 ), t1 , x ( t f ), t f
t0

 H   
tf

 ( x, u, p, t )  p T x dt  p( t1 ) T x ( t1 )  p( t f ) T x ( t f )  T  x ( t1 ), x ( t1 ), t1
t1

• On considère des variations t1 , x(t1) , x(t1+) du point intérieur.


Les autres variations u(t), x(t), tf sont traitées comme précédemment → non réécrites.
On ne conserve que les termes dépendant de t1 , x(t1) , x(t1+) pour écrire la variation première.

1346
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Discontinuité d’état


Variation première
• La variation première Ja en fonction des variations t1 , x(t1) , x(t1+) s’écrit

 
J a  [H  p T x ]t  t1  p ( t1 ) T x ( t1 )t1  p( t1 ) T x ( t1 )  x ( t1 )t1
1

 [H  p x ] t  p ( t ) x ( t )t  p( t ) x ( t )  x ( t )t 


T
t1 1
 T
1

1 1
 T
1

1

1 1

  ( t ) x ( t )  x ( t )t     ( t ) x ( t )  x ( t )t 


x
 T
1

1

1 1
T
x
 T
1

1

1 1 → avec la notation

  ( t ) x ( t )  x ( t )t     ( t ) x ( t )  x ( t )t 


 T    T   
T
 x ( t1 ) 
x ( t1 )
x 1 1 1 1 x 1 1 1 1

  t ( t1 ) T t1  T  t ( t1 ) T t1

• Les termes en p s’éliminent. On regroupe les termes en t1 , x(t1) , x(t1+).


Les termes en x ( t1 )t1 ont le même coefficient que les termes en x ( t1 ) → coefficient nul
Il reste après simplification

  
   
J a  H  ( t1 )  H  ( t1 )   t ( t1 )   t ( t1 ) t1   p( t1 )   x ( t1 )   x ( t1 ) x ( t1 ) T

  p( t1 )   x ( t1 )   x ( t1 )  x ( t


T 
1)

1347
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Discontinuité d’état


Conditions de minimum
• Variation du coût augmenté en fonction de t1 , x(t1) , x(t1+).
     
T
J a  H  ( t1 )  H  ( t1 )   t ( t1 )   t ( t1 ) t1   p( t1 )   x ( t1 )   x ( t1 ) x ( t1 )

  p( t1 )   x ( t1 )   x ( t1 )  x ( t


T 
1)

• Les conditions nécessaires de minimum sont


p( t1 )   x ( t1 )   x ( t1 ) → annule le terme en x(t1)
p( t1 )   x ( t1 )   x ( t1 ) → annule le terme en x(t1+)
H  ( t1 )  H  ( t1 )   t ( t1 )   t ( t1 ) → annule le terme en t1 (si la date t1 est optimisée)

 
 x ( t1 ), x ( t1 ), t1  0 → q équations à t1 pour q inconnues 

• Cas particulier : discontinuité fixée, coût  indépendant de l’état en t1.


La contrainte ponctuelle est de la forme : x ( t1 ), t1   x ( t1 )  x ( t1 )  a  0

→ L’adjoint est continu : p( t1 )  p( t1 ) (  )


→ L’hamiltonien est continu : H  ( t1 )  H  ( t1 )
1348
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Résumé 3
Système hybride avec discontinuités et contraintes ponctuelles
t1
 
tf
min J   L x ( t ), u ( t ), t dt  L x ( t ), u ( t ), t dt   x ( t1 ), x ( t1 ), t1 , x ( t f ), t f

u , t1
t0 t1

x ( t )  f  x ( t ), u ( t ), t  si t  t1
avec

 et  
 x ( t1 ), x ( t1 ), t1  0 (q contraintes)
x ( t )  f  x ( t ), u ( t ), t  si t  t1

Conditions nécessaires de minimum


H u  0

t 0  t  t1  p  H x
p( t1 )   x ( t1 )   x ( t1 ) → valable en t1 = tf (contraintes finales)

H u  0

t1  t  t f  p  H x
p( t1 )   x ( t1 )   x ( t1 ) → valable en t1+ = t0 (contraintes initiales)

   
H ( t 1 )  H ( t 1 )   t ( t 1 )   t ( t 1 ) → date t1 si optimisée

 
 x ( t1 ), x ( t1 ), t1  0 → q multiplicateurs  1349
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Contraintes courantes


Formulation
tf
min J   Lx(t), u(t), t dt  x(t f ), t f  avec x ( t )  f x ( t ), u ( t ), t  , x  R n , u  R m
u
t0 x ( t 0 )  x 0 fixé, t 0 fixé, t f fixé
• Il faut respecter sur toute la trajectoire qe contraintes égalité :  e [ x ( t ), u ( t ), t ]  0 , t  [ t 0 , t f ]
et qi contraintes inégalité :  i [ x ( t ), u ( t ), t ]  0 , t  [ t 0 , t f ]

• Les contraintes e et i sont des contraintes courantes (ou contraintes de chemin).

Méthode variationnelle tf

• La variation du critère augmenté vaut : J a (u )   H(u)dt


t0
• Une condition nécessaire de minimum est : H(u )  0 , u admissible

La commande optimale minimise l’hamiltonien tout en vérifiant les contraintes courantes.

 [ x ( t ), u ( t ), t ]  0
 min H[ x ( t ), u ( t ), p( t ), t ] sous  e [ x ( t ), u ( t ), t ]  0 , t  [ t 0 , t f ]
u  i
1350
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Contraintes courantes


Minimisation de l’hamiltonien
• On cherche à chaque date t le minimum de H par rapport à u sous les contraintes e et i .
 ( x, u, t )  0
min H( x, u, p, t ) sous  e ( x, u, t )  0
u  i
→ problème de minimisation sous contraintes en dimension finie (= m) à chaque date

• On associe aux contraintes e = 0 des multiplicateurs e


aux contraintes i  0 des multiplicateurs i  0

→ multiplicateurs e(t) et i(t) pour le problème de minimisation à la date t

→ hamiltonien augmenté Ha (= lagrangien du problème de minimisation à la date t).


H a ( x, u, p,  e ,  i , t )  H( x, u, p, t )  Te  e ( x, u, t )  Ti  i ( x, u, t )
 L( x, u, t )  p T f ( x, u, t )  Te  e ( x, u, t )  Ti  i ( x, u, t )

 e ( x, u, t )  0 → qe multiplicateurs e
H a  ( x, u, t )  0
• Les conditions KKT sont :  0 avec  i
u   0 si   0 → qi multiplicateurs i
 i  0 si  i  0
 i i 1351
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Résumé 4
Système avec contraintes courantes
tf
min J   Lx(t), u(t), t dt  x(t f ), t f  avec x ( t )  f x ( t ), u ( t ), t  , x  R n , u  R m
u
t0

 e [ x ( t ), u ( t ), t ]  0 , t  [ t 0 , t f ] → qe contraintes avec multiplicateurs e(t)


 → qi contraintes avec multiplicateurs i(t)
 i [ x ( t ), u ( t ), t ]  0 , t  [ t 0 , t f ]
Conditions nécessaires de minimum

• Hamiltonien : H a ( x, u, p,  e ,  i , t )  H( x, u, p, t )  Te  e ( x, u, t )  Ti  i ( x, u, t )


(augmenté)  L( x, u, t )  p T f ( x, u, t )  Te  e ( x, u, t )  Ti  i ( x, u, t )
p  H
• Vecteur adjoint : p( t )   ax( t )
 f x f → n équations à tf pour n inconnues p(t0)

H au  0 → m équations à t pour m inconnues u(t)


 e ( x, u, t )  0 → qe équations à t pour qe inconnues e(t)

• Commande :  i ( x, u, t )  0
 i  0 si  i  0 → qi équations à t pour qi inconnues i(t)
 i  0 si  i  0
1352
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Contraintes d’état


Formulation
 e [ x ( t ), t ]  0 , t  [ t 0 , t f ] → égalités
• Les contraintes d’état sont de la forme : 
 i [ x ( t ), t ]  0 , t  [ t 0 , t f ] → inégalités
→ contraintes courantes dans lesquelles la commande u n’apparaît pas explicitement

• Une contrainte égalité réduit à chaque date le nombre de composantes libres de l’état.

[ x ( t ), t ]  0 → n1 composantes libres de x(t) à la date t

• On ne peut pas appliquer la méthode de Lagrange pour minimiser l’hamiltonien,


car la contrainte  ne dépend pas explicitement de u.

• La contrainte dépend indirectement de u par l’intermédiaire x qui vérifie : x  f ( x, u, t )


Pour faire apparaître la dépendance en u, on dérive la contrainte par rapport au temps.
d
[ x ( t ), t ]  0 , t   0 , t
dt
  T dx
    t   Tx f ( x, u, t )  0 , t
t x dt
1353
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Contraintes d’état


Dérivée de la contrainte
• La dérivée première de la contrainte  doit être identiquement nulle sur [t0 , tf].
d
  (1) ( x, u, t )   t   Tx f ( x, u, t )  0 , t
dt noté
La contrainte   0 équivaut à la contrainte  (1)  0, en imposant que  s’annule en t0 ou tf.

 (1) ( x, u, t )  0 , t → contrainte courante


( x, t )  0 , t  
( t 0 )  0 ou ( t f )  0 → contrainte initiale ou finale

• Si la dérivée (1) est explicite en u, la contrainte sur (1) devient une contrainte courante.
On peut appliquer la méthode de Lagrange pour obtenir la commande à la date t.

min H( x, u, p, t ) sous  (1) ( x, u, t )  0 → multiplicateur (1) associé à (1)


u

La contrainte initiale (ou finale) [x(t0),t0] = 0 ajoute une condition de transversalité.

[ x ( t 0 ), t 0 ]  0  p( t 0 )   x ( t 0 )   x ( t 0 ) → multiplicateur  associé à (t0)


ou
[ x ( t f ), t f ]  0  p( t f )   x ( t f )   x ( t f )
1354
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Contraintes d’état


Contrainte d’ordre k
• Si la dérivée (1) n’est pas explicite en u, on dérive à nouveau jusqu’à faire apparaître u.
Les dérivées successives de  par rapport au temps sont toutes identiquement nulles.

• On suppose que la dérivée kème notée  (k) est la première dérivée explicite en u.
La contrainte d’état est dite d’ordre k.

La contrainte   0 équivaut à la contrainte  (k)  0,


en imposant de plus que les fonctions ,  (1) ,  (2) , … ,  (k-1) s’annulent en t0 ou tf.

 ( k ) ( x, u, t )  0 , t → contrainte courante
 ( t ) 0
 (1)0

( x, t )  0 , t   ( 2)( t 0 )  0 → k contraintes initiales ou finales
 ( t 0 )  0

 ( k 1) ( t 0 )  0

• La contrainte courante  (k)  0 est prise en compte dans min H pour déterminer u sur [t0 , tf].
Les k contraintes initiales (ou finales) sur (j<k) ajoutent des conditions de transversalité.

1355
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Contraintes d’état


Contrainte inégalité
• Une contrainte inégalité sur l’état peut être active ou inactive en fonction du temps.
- Si la contrainte est inactive à la date t, elle n’intervient pas dans le calcul de la commande.
- Si la contrainte est active sur un intervalle [t1 , t2], on la traite comme une contrainte égalité.

• Cas d’une contrainte inégalité active sur [t1 , t2], inactive avant t1 et après t2.
On dérive la contrainte jusqu’à faire apparaître explicitement u.

Si la contrainte est d’ordre k, on la remplace sur [t1 , t2] par les contraintes équivalentes

 ( k ) ( x, u, t )  0 , t  [ t1 , t 2 ] → contrainte courante
( t ) 0
 (1)1

( x, t )  0 , t  [ t1 , t 2 ]   ( 2)( t1 )  0 → k contraintes ponctuelles
 ( t1 )  0

 ( k 1) ( t1 )  0

• La contrainte courante  (k)  0 est prise en compte dans min H pour déterminer u sur [t1 , t2].
Les contraintes ponctuelles appliquées en t1 ou t2 ajoutent des conditions de transversalité.
L’adjoint et la commande subissent des discontinuités aux jonctions en t1 et t2 .
1356
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 10 : jonction


Enoncé
• Trouver le chemin le plus court entre deux positions données sans entrer dans le cercle (O , a).


 r2
r1


rf

 a
r0 O

• On se ramène à un problème de temps minimal en supposant une vitesse constante (= 1).

1357
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 10 : jonction


Formulation

• Vecteur d’état = position : r
 
• Commande = direction vitesse : u avec u  u  1
noté
 
• Equation d’état : r u

• Contrainte d’état : ( r )  a 2  r 2  0
 
Dérivée :    (1)  2 r .r  2 r .u explicite en u → ordre 1
noté tf
• Coût (temps minimal) :
u,t f 
min J  [Link]
t0

Conditions de minimum

• Hamiltonien : H  1  p.u

 u 1
• Commande :  H sous 
min 
 r)  a  r  0
 2 2
u (

1358
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 10 : jonction


Commande
• On détermine la commande lorsque la contrainte est inactive ou active,
puis on exprime les conditions de jonction sur l’hamiltonien et l’adjoint.

• Arc non saturé (contrainte inactive) : ( r )  0

  p
La commande est déterminée par : min
  H  1  p.u  u    te
u , u 1 p  uC
   te
Equation adjointe : p  H r  pC

Un arc non saturé est un segment de droite.



( r )  0    ( r ) 0 → à l’ordre 1
• Arc saturé (contrainte active) :
( r1 ) 0 → condition initiale
   
La commande vérifie à l’ordre 1 :  ( r )  2 r .u  0  ur
 
Un arc saturé suit le cercle (O , a) → La vitesse (= commande u ) est normale à r .

1359
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 10 : jonction


Jonction
• Les conditions de jonction à la date t1 entre un arc non saturé et un arc saturé sont
p( t1 )  p( t1 )   r ( t1 ) 
  r  2 r
   avec ( r )  a  r  
2 2
 1
H ( t )  H ( t 1 )   (
t 1t )   t  0
     
p   p   2 r  u   C te //  p  → arc non saturé (droite)
    avec H  1  p.u et    
 H  H u  r → arc saturé (cercle)
    
 (p   2 r ).u   p  .u 
 
  p    p  u 
 u .u  1 en utilisant   
u . r  0 
   u
 u u car u  1

 
• La commande est continue à la jonction. u r1
L’arc non saturé est tangent au cercle au point de jonction.
O a
Remarque : si la vitesse est supérieure sur le cercle, on obtient
    v
u .u   → angle de réfraction à la jonction
v 1360
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Contrainte intégrale


Formulation
tf
min J   Lx(t), u(t), t dt  x(t f ), t f  avec x ( t )  f x ( t ), u ( t ), t  , x  R n , u  R m
u,t f
t0 x ( t 0 )  x 0 fixé, t 0 fixé, t f fixé
tf

• Une contrainte intégrale (ou isopérimétrique) est de la forme  gx(t), u(t), t dt  c fixé
t0
x n 1 ( t )  gx ( t ), u ( t ), t 
• On ajoute une variable d’état notée xn+1 : x n 1 ( t 0 )  0
avec son adjoint noté pn+1 x n 1 ( t f )  c → contrainte finale

Hamiltonien : H( x, u, p, t )  L( x, u, t )  p1T:n f ( x1:n , u, t )  p n 1g( x1:n , u, t )

p 1:n  H x (1:n )


Equations adjointes : p  H x  
 n 1  H x ( n 1)  0  p n 1  C te
p

tf
• L’adjoint constant pn+1 est déterminé par la contrainte finale x n 1 ( t f )  gx ( t ), u ( t ), t dt  c

t0
1361
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Coin
Discontinuité de commande
• Un coin ou arête (« corner ») est un point anguleux sur la trajectoire.
= discontinuité de la dérivée de l’état
due à une discontinuité de commande → x  f ( x, u, t )

• La commande est obtenue en résolvant à chaque date : min H( x, u, p, t )  L( x, u, t )  p T f ( x, u, t )


u

• Une discontinuité de commande peut provenir de L , f ou p à une date


- de discontinuité d’un système hybride → passage de L à L+ et/ou de f à f+
- soumise à une contrainte ponctuelle → saut d’adjoint de p à p+
- d’(in)activation d’une contrainte inégalité → saut d’adjoint de p à p+

• Une discontinuité de commande peut également provenir d’un saut du minimum global de H.

H fonction H(u) à t H fonction H(u) à t H fonction H(u) à t+

u u+ u u u+ u u u+ u
1362
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 11 : coin


Système avec saut du minimum de H

 u 
tf
min J  4
( t )  u ( t )  a ( t ) 2 dt avec x ( t )  u ( t ) et a(t) fonction donnée
u
t0

• Hamiltonien : H( x, u, p, t )  u 4  (u  a ) 2  pu

• Adjoint : p  H x  0  p  C te

• Commande : min H( x, u, p, t )  4u 3  2u  2a  p  0
→ 3 racines u1 , u2 , u3
u
(2 minima , 1 maximum)
Selon l’évolution de la fonction a(t), le minimum global de H peut sauter de u 1 à u3.

H fonction H(u) à t H fonction H(u) à t H fonction H(u) à t+

u1 u2 u3 u u1 u2 u3 u u1 u2 u3 u
1363
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Système bangbang


Temps minimal avec commande bornée
• On considère un problème linéaire de temps minimal, avec commande bornée.
tf

t0

min J  t f  dt avec x  F( t ) x  G ( t )u , x  R n , u  R
u,t f
x(t f )  0 u min  u  u max

• Hamiltonien : H  1  p T F( t ) x  G ( t )u 
u  u min si p T G  0
• Commande : min H avec u min  u  u max  
u  u max si p G  0
T
u

La commande est alternativement umin ou umax en fonction du signe de la fonction   p T G .


 est la fonction de commutation, le système est appelé bangbang.

Si   0 sur un intervalle, la commande n’est pas déterminée par min H → arc singulier

• Adjoint : p  H x  F T p → détermine  → détermine u

• Transversalité : H( t f )  0 → détermine tf

1364
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 12 : rendez vous 1D


Problème de rendez vous en 1D
• Le système est un point matériel se déplaçant sur une droite.
La commande est l’accélération u comprise entre 1 et +1.
v0
 r  → position Dynamique :  r  v
Etat :  v  → vitesse v  u
   O r0
• La position initiale r0 et la vitesse initiale v0 sont données.
On cherche à revenir à l’origine et s’y arrêter en temps minimal.
r  v , r ( t 0 )  r0 , r ( t f )  0
min J  t f avec  
1 u  1  v  u , v( t 0 )  v 0 , v( t f )  0
• Hamiltonien : H  1 pr v  pvu


p r  H r  0  p  b
Adjoint : p  H  p  pr  a  b( t  t ) avec a , b constants
 v v r v f
u  1 si p v  0
• Commande : min H   → commande bang-bang
1 u  1  u  1 si p v  0
Le sens de la commande dépend du signe de pv = fonction de commutation du système.
La fonction de commutation est linéaire : p v  a  b( t f  t ) → 1 commutation au plus

1365
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 12 : rendez vous 1D


Problème de rendez vous en 1D
• La solution se compose d’un arc partant de l’état initial (t0 , r0 , v0) avec u = u0 =  1
et d’un arc arrivant à l’état final (tf , rf , vf ) avec u = uf =  u0

• Equation de l’arc initial à u = u0


v  u 0  v  v 0  u 0 ( t  t 0 )  v 2  2u 0 r  v 02  2u 0 r0
r  v r  r  v ( t  t )  u ( t  t ) 2 / 2
  0 0 0 0 0

• Equation de l’arc final à u = uf =  u0


v  u f  v  v f  u f ( t  t f )
r  r  v ( t  t )  u ( t  t ) 2 / 2  v  2u f r  v f  2u f rf  0
2 2
r  v
  f f f f f

• L’arc initial et l’arc final sont représentés par des paraboles dans le plan (r , v) = plan de phase.
Si uf = 1, l’arc final est dans le quadrant (r  0 , v  0) sur la demi-parabole  : v2 = 2r
Si uf = +1, l’arc final est dans le quadrant (r  0 , v  0) sur la demi-parabole + : v2 = +2r
La courbe  =   + est la courbe de commutation d’équation : v2sgn(v) = 2r

• La commande dépend de la position du point (r , v) par rapport à la courbe .


u = 1 au dessus de  → fait décroître v pour rejoindre +
u = +1 au dessous de  → fait croître v pour rejoindre 
1366
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 12 : rendez vous 1D


Problème de rendez vous en 1D
• Portrait de phase dans le plan (r , v) avec tracé : de la courbe de commutation
des trajectoires
des lignes de niveau de tf
15
v

 10
u = 1

0
-50 -40 -30 -20 -10 0 10 20 30 40 50
r
-5

u = +1 -10 +

-15 1367
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Exemple 12 : rendez vous 1D


Problème de rendez vous en 1D
• On peut exprimer le temps final tf en fonction des conditions initiales (r0 , v0).

L’arc initial a pour équation : v 2  2u 0 r  v 02  2u 0 r0

L’arc initial a pour équation : v 2  2u 0 r  0 car u f  u 0 , rf  0 , v f  0


v c2  2u 0 rc  v 02  2u 0 r0 1
Les 2 arcs se croisent en (rc , vc) :  2  v c2  v 02  u 0 r0
v c  2u 0 rc  0 2

vc  v0
• Le temps passé sur l’arc initial est tc  t0 : v c  v 0  u 0 ( t c  t 0 )  t c  t 0 
u0
vf  vc vc
Le temps passé sur l’arc final est tf  tc : v f  v c  u f (t f  t c )  t f  t c  
uf u0
2v  v 0
Le temps total est la somme : t  t f  t 0  c  2v c  v 0  u 0 t
u0

• En remplaçant vc fonction de (r0 , v0), on obtient : 2t 2  4u 0 r0  ( v 0  u 0 t ) 2  0

u0 dépend du signe de v 02 sgn( v 0 )  2r0 (position initiale par rapport à ).


1368
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Système discret


Formulation
• L’équation d’état d’un système discret est de la forme : x i 1  f i ( x i , u i )
xi = état à l’étape i → dimension n ui
ui = commande à l’étape i → dimension m xi xi+1

• Le système évolue en N étapes de i = 0 à N1 à partir de l’état initial x0.


N 1
On cherche la suite de commandes (ui)i=0 à N1 qui minimise le coût : J   L (x , u )  (x
i 0
i i i N)

• Il s’agit d’un problème d’optimisation sous contraintes en dimension finie.


N 1
min J 
x i ,u i
 L (x , u )  (x
i 0
i i i N) sous f i ( x i , u i )  x i 1  0 , i  0 à N  1

Le nombre de variables est Nm → N vecteurs (ui)i=0 à N1 de dimension m


+ Nn → N vecteurs (xi)i=1 à N de dimension m
Le nombre de contraintes est Nn → N équations (fi)i=0 à N1 de dimension n

• On applique la méthode de Lagrange → N multiplicateurs (pi)i=1 à N de dimension n


associés à (fi)i=0 à N1
1369
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Système discret


Conditions de minimum
N 1
min J 
x i ,u i
 L (x , u )  (x
i 0
i i i N) sous f i ( x i , u i )  x i 1  0 , i  0 à N  1

• Lagrangien noté Ja avec les multiplicateurs (pi)i=1 à N associés aux contraintes (fi)i=0 à N1
N 1 N 1
Ja   L (x , u )  (x
i 0
i i i N) p
i 0

i 1 f i ( x i , u i )  x i 1
T

 H (x , u )  p  (x
N 1
 i i i
T
i 1 x i 1 N) avec H i ( x i , u i )  L i ( x i , u i )  p iT1f i ( x i , u i )
def
i 0
• Conditions KKT
J a H i
 0 , i  0 à N 1   0 , i  0 à N 1 → Nm équations
u i u i
 H i
J a  x  p i  0 , i  1 à N  1 → (N1)n équations
 0 , i 1 à N   i
x i 
  pN  0 → n équations
 x N
1370
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Système discret


Problème aux 2 bouts
• Les conditions de minimum forment un problème aux 2 bouts.

Hamiltonien : H i ( x i , u i )  L i ( x i , u i )  p iT1f i ( x i , u i )
H i L i f
Commande :  ( x i , u i )  i ( x i , u i )p i 1  0
u i u i u i

H i
Equations d’état : x i 1   f i (x i , u i ) avec x 0 fixé
p i 1

H i L f 
Equations adjointes : p i   i  i p i 1 avec p N 
x i x i x i x N

• Le système à résoudre est de dimension N(2n+m) avec comme inconnues (xi, pi, ui).
La difficulté de résolution vient du sens de propagation des équations aux différences
- vers l’avant pour xi
- vers l’arrière pour pi
L i f
et du couplage entre xi et pi+1 pour trouver la commande ui : ( x i , u i )  i ( x i , u i )p i 1  0
u i u i
1371
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Système discret


Discrétisation
• On peut retrouver les équations discrètes par discrétisation des équations continues.

• Equation d’état discrétisée vers l’avant pour xi → en (xi, ui)


x  xi
x  H p  f ( x, u, t )  i 1  f (x i , u i , t i )
t i
 x i 1  x i  f ( x i , u i , t i )t i  f i ( x i , u i )
def

• Equation adjointe discrétisée vers l’arrière pour pi → en (xi, ui, pi+1)


p i 1  p i
p  H x  L x  f x p   L x ( x i , u i , t i )  f x ( x i , u i , t i )p i 1
t i
 p i  L x ( x i , u i , t i )t i  I  f x ( x i , u i , t i )t i p i 1

En définissant : L i ( x i , u i )  L( x i , u i , t i )t i
def
f i f
et avec : f i ( x i , u i )  x i  f ( x i , u i , t i )t i  (x i , u i )  I  ( x i , u i , t i )t i
def x i x
L i f
on retrouve : pi  ( x i , u i )  i ( x i , u i )p i 1
x i x i 1372
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Paramètres
Problème avec paramètres
• On considère un problème de contrôle à temps final libre avec contraintes finales.
La fonction coût, la dynamique et les contraintes dépendent de k paramètres réels .
tf
min J   Lx ( t ), u ( t ), t ,  dt  x ( t f ), t f ,   avec x ( t )  f x ( t ), u ( t ), t ,   ,   R k
u , t f ,

x ( t f ), t f ,    0
t0

Les conditions de minimum s’obtiennent en tenant compte de variations  des paramètres.

• Coût augmenté avec hamiltonien H = L + pTf et variations u(t), x(t), tf et 

 H(x, u, p, t, )  p x dt  p(t )


tf
Ja  T
0
T
x ( t 0 )  p( t f ) T x ( t f )  x ( t f ), t f ,    T x ( t f ), t f ,  
t0

tf x(t) u(t) x(t) x(tf) tf x(tf) tf x(tf) tf

  

1373
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Paramètres
Variation première
• La variation première du coût augmenté comporte des termes supplémentaires en .
tf tf
H
Terme intégral : 
t0
H( x, u, p, t , ) dt  
t0

 dt

   
Terme final : x ( t f ), t f ,    T x ( t f ), t f ,        
   

• Le coût augmenté doit être stationnaire par rapport aux variations .
On obtient les conditions de minimum associées aux paramètres .
tf
H  

t0

dt  
 
0 → k conditions pour les k paramètres 

• Les paramètres peuvent être traités comme des états supplémentaires d’équation :   0
La condition de minimisation de l’hamiltonien par rapport à u reste ainsi valable.

min H( x, u, p, t , )  u ( x, p, t , )
u

1374
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Paramètres
Temps final libre
• On peut traiter un problème à temps final libre en faisant le changement de variable
t  t0 t  t0
   dt  d avec   t f  t 0
tf  t0  def

La variable  est le temps normalisé allant de 0 = 0 à f = 1.


La variable  est un paramètre à optimiser.

• Le problème devient à temps final fixé (f = 1) avec un paramètre .


f


dx
min J  L( x, u, t 0  ) d  ( x f , t 0   f ) avec   f ( x, u, t 0  )
u , d
0
( x f , t 0   f )  0

• Hamiltonien : H( x, u, p, t , )  L( x, u, t 0  )  p T  f ( x, u, t 0  )

f
H  
• Condition sur  : 
0

d  
 
0

1375
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017

5.3.2 Paramètres
Temps final libre
• On développe la condition de minimum associée au paramètre .
f
H      

0

d  
 
0 avec   t f  t 0  
 t
(t f ) , 
 t
(t f )

• Intégrale en H : H( x, u, p, t , )  L( x, u, t 0  )  p T  f ( x, u, t 0  )


H L f H dH
  L  p T f    p T   H    H  (t  t 0 )
 t t t dt
H d dH H
  ( t  t 0 )H  car 
 dt dt t
f tf
H H dt 1
  d    ( t  t 0 )H tt f  H( t f )
    0
0 t0

 
• On retrouve la condition de transversalité sur le temps final : H( t f )   (t f )  ( t f )
t t

1376
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Problème linéaire quadratique

 Formulation problème LQ

 Conditions de minimum

 Problème d’interception

 Navigation proportionnelle

 Résolution matricielle

 Régulateur

 Contrôleur LQ

 Contrôle robuste

1377
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Problème LQ
Formulation
• On considère un système linéaire.

x ( t )  F( t ) x ( t )  G ( t )u ( t ) x(t) = vecteur n 1 , F(t) = matrice nn


avec
u(t) = vecteur m1, G(t) = matrice nm
• L’état initial est fixé : t0 , x(t0) = x0
L’état final visé est : tf , x(tf ) = 0
L’objectif est d’approcher l’état final visé x(tf)=0 en limitant les valeurs de x(t) et u(t).

• On choisit un coût quadratique prenant en compte l’écart final et les niveaux de x(t) et u(t).
tf


1 1
J  ( x T Sx ) t f  ( x T Qx  u T Ru )dt
2 2
t0

Les matrices de pondérations S(tf) , Q(t) , R(t) permettent de contrôler respectivement


- l’écart final x(tf) → S(tf) matrice nn semi-définie positive
- le niveau de x(t) → Q(t) matrice nn semi-définie positive
- le niveau de u(t) → R(t) matrice mm définie positive
Le problème de contrôle LQ ne comporte pas de contraintes finales.

1378
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Problème LQ
Matrices de pondérations
• On peut choisir des matrices de pondérations diagonales fonctions des niveaux acceptables.

• S(tf) = diag(s1 , s2 , … , si , … , sn)


1
avec s i  2
xi max(tf) = niveau maximal acceptable pour xi(tf)
x i max ( t f )

• Q(t) = diag(q1 , q2 , … , qi , … , qn)


1
avec q i  xi max(t) = niveau maximal acceptable pour xi(t)
( t f  t 0 ) x i max ( t ) 2

• R(t) = diag(r1 , r2 , … , ri , … , rm)


1
avec ri  uf max(t) = niveau maximal acceptable pour ui(t)
( t f  t 0 )u i max ( t ) 2

• Le réglage des matrices doit être ajusté par essais-erreurs en fonction des résultats obtenus.

1379
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Problème LQ
Conditions de minimum
tf


1 1
min J (u )  ( x T Sx ) t f  ( x T Qx  u T Ru )dt avec x  Fx  Gu
u 2 2 x ( t 0 )  x 0 fixé, t 0 fixé, t f fixé
t0

x Qx  u T Ru  p T Fx  Gu 
1 T 1
• Hamiltonien : H
2 2

p  H x  Qx  F T p
• Adjoint : p( t )  S( t ) x ( t )
 f f f

• Commande : min H  Ru  G T p  0  u  R 1G T p (R définie-positive)


u

• En remplaçant la commande dans l’équation d’état, on obtient un problème aux 2 bouts.


 x   F  GR 1G T  x  x ( t 0 ) fixé
      avec
  Q F T  p  p( t f )  S( t f ) x ( t f )
  
p  

1380
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Exemple 13 : interception


Problème d’interception
  
• On considère un mobile de position r , de vitesse v , d’accélération commandée u .
r  v
Equations d’état :   
v  u
   
La position et la vitesse initiales à t0 sont données : r ( t 0 )  r0 , v( t 0 )  v 0
   
La position et la vitesse finales visées à tf sont : r ( t f )  0 , v( t f )  0
tf
• L’énergie consommée par le système vaut : 
t0
u 2 dt

• La fonction coût réalise une pondération entre la précision finale et l’énergie consommée.

r  v
tf


1 1 1
min J (u )  K r r ( t f ) 2  K v v( t f ) 2  u 2 dt avec   
u 2 2 2
t0
v  u

→ problème LQ avec coefficients de pondération Kr et Kv sur la position et la vitesse finale

1381
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Exemple 13 : interception


Problème d’interception
r  v
tf


1 1 1
• Formulation min J (u )  K r r ( t f ) 2  K v v( t f ) 2  u 2 dt avec   
u 2 2 2
t0
v  u
1 2    
• Hamiltonien : H u  p r .v  p v .u
2
    
p r  0 p r ( t f )  K r r ( t f ) p r  K r r ( t f )  C te
• Adjoint :    avec       
 v
p   p r  v f
p ( t )  K v (t f )
v  v
p  ( t f  t ) K r r ( t f )  K v (t f )
v

   
• Commande : min H  u  p v  ( t  t f )K r r ( t f )  K v v( t f )
u
   
• Vitesse : v  u  ( t  t f )K r r ( t f )  K v v( t f )
 1   
 v  ( t  t f ) 2 K r r ( t f )  ( t  t f ) K v v( t f )  v( t f )
2
  1   
• Position : r  v  ( t  t f ) 2 K r r ( t f )  ( t  t f ) K v v( t f )  v( t f )
2
 1  1   
 r  ( t  t f ) 3 K r r ( t f )  ( t  t f ) 2 K v v( t f )  ( t  t f ) v( t f )  r ( t f )
6 2 1382
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Exemple 13 : interception


Problème d’interception
• On cherche à exprimer la commande en fonction de l’état courant.

 1 2  
    v   K r r ( t f )  (1  K v (t f )
) v
u  K r r ( t f )  K v v( t f ) avec  2
 
1 1
 r  (1   3 K r ) r ( t f )  (   2 K v ) v( t f )
 6 2
en notant  = tf  t le temps restant (« time-to-go »).

• Il faut exprimer l’état final en fonction de l’état courant.


1 2 1 2 1 3  1 2  
2  K r (    K v )  (1   K r )(1  K )
v  r ( t f )  (    K v ) v  (1  K v r
)
 2 6  2
 1 3 1 2 1 2  1 3  1 2 
 (1   K r )(1  K v )   K r (    K )
v  v ( t f )  (1   K r ) v   Kr r
 6 2 2  6 2

  1 2  
 D r ( t f )  (    K v ) v  (1  K v ) r 1 1
  2 avec D  1  K v   3 K r   4 K r K v
1  1 2  3 12
Dv( t f )  (1   3 K r ) v   Kr r
 6 2
1383
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Exemple 13 : interception


Problème d’interception
• La commande est fonction linéaire de l’état courant (commande proportionnelle).
1  1 
K r (1  K v ) r  (K v   2 K r   3 K r K v ) v
 2 3
u avec   t f  t
1 3 1 4
1  K v   K r   K r K v
3 12
   
La position et la vitesse finales visées à tf sont : r ( t f )  0 , v( t f )  0
 
• Les formules sont analogues pour une cible mobile de position rC ( t ) et de vitesse
v C (t) .
  
 r  rM  rC → position relative mobile / cible
On définit :    
v  v M  v C → vitesse relative mobile / cible
r  v
      → équations d’état identiques au cas d’une cible fixe
 v  u M  u C  u

La commande u représente la différence d’accélération entre le mobile et la cible.

Les coefficients Kr et Kv sont à régler en fonction des conditions d’interception souhaitées.


→ commande en vitesse à gagner, navigation proportionnelle
1384
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Exemple 13 : interception


Cas particuliers
• Vitesse à gagner : on souhaite uniquement atteindre la vitesse finale.
K r  0  u   1 v → commande en « vitesse à gagner »
K  
 v 
• Interception parfaite : on souhaite uniquement atteindre la position finale.
K r    u   3 ( r  v ) → commande en navigation proportionnelle
K  0
 v 2
• Rendez-vous parfait : on souhaite atteindre parfaitement la position et la vitesse finales.
K r    u   1 (6r  4v ) → commande en navigation proportionnelle
K  
 v 2
• Interprétation géométrique I(tf)
L’interception est prévue au point I à la date tf. 
 r
La commande dépend de l’écart de position r 
 v
de l’écart de vitesse v M(t)
du temps restant   tf  t

On peut définir la commande par rapport à une trajectoire de référence.


1385
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Exemple 13 : interception


Navigation proportionnelle
• La trajectoire de référence est la droite D. 
D Ms rs I
I = position d’interception visée à tf
M = position courante 

 = angle de visée rn
 
r  IM
• On projette suivant D et la normale à D. 
u
   
Position : r  rs  rn v
   M
Vitesse : v  v s  v n
 
 rs r
• Le mouvement suivant D n’est pas commandé → Vitesse constante v s    s
tf  t 
r  v
La commande agit sur la composante normale → vn  u n
 n n

rn r rn  v n
• L’angle de visée  est supposé petit :    n    avec   t f  t
rs v s  vs
2
(vs = Cte)
r  v s 
n
rn  v n   v s 
2
1386
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Exemple 13 : interception


Navigation proportionnelle
On exprime la commande en fonction de  et  
D Ms rs I
rn  v s  
en utilisant les relations r  v   2 v  
n n s rn
 
r  IM
• Interception parfaite 
u

3 v
un   (rn  v n )  u n  3v s  M
 2

• Rendez-vous parfait
1 1  2 
un   (6rn  4v n )   [2rn  4(rn  v n )]  u n  vs   4 
2  2
  

• La commande en navigation proportionnelle un contrôle l’écart transverse (normal à D).


Il faut ajouter une correction us suivant D pour contrôler la date de passage en I
par rapport au mouvement de la cible.

1387
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Problème LQ
Résolution matricielle
• Les équations de l’état et de l’adjoint forment un système linéaire.
  xx  xp 
La matrice de transition est     → symplectique si Q et R sont symétriques
  px  pp 
  (cf 5.3.1)
La solution du système en (x , p) s’exprime en fonction de l’état et l’adjoint final.

 x   F  GR 1G T  x   x ( t )    xx ( t , t f )  xp ( t , t f )  x ( t f ) 
       
      
 p( t ) 
    T    ( t , t )  ( t , t ) 
  
p Q F  
p  p ( t )   px f pp f  f 

• On remplace l’adjoint final en utilisant la condition de transversalité : p( t f )  S( t f ) x ( t f )

x   xx x f   xp p f x  ( xx   xpSf ) x f x f  ( xx   xpSf ) 1 x


p   x   p  p  (    S ) x   1
 px f pp f  px pp f f p  ( px   ppSf )( xx   xpSf ) x

• L’adjoint p(t) s’exprime en fonction linéaire de l’état x(t) avec une matrice notée S(t).

p( t )  S( t ) x ( t )   
avec S( t )   px ( t , t f )   pp ( t , t f )S( t f )  xx ( t , t f )   xp ( t , t f )S( t f ) 1
def

On cherche à calculer la matrice S(t), ce qui permettra d’obtenir l’adjoint initial p(t0).
1388
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Problème LQ
Equation de Riccati
• L’adjoint est fonction linéaire de l’état avec la matrice notée S(t) → méthode de transport

p( t )  S( t ) x ( t ) , t  [ t 0 , t f ] → avec la condition de transversalité p( t f )  S( t f ) x ( t f )

• On remplace p(t) dans les équations de l’état et de l’adjoint, puis on élimine x(t).

x  Fx  GR 1G T p x  ( F  GR 1 T


G S) x
  
p  Qx  F p Sx  Sx  (Q  F S) x
T T

 S  SF  F T S  SGR 1G T S  Q en supposant x≠0

• La matrice S vérifie une équation différentielle de Riccati (terme quadratique en S).


La condition finale S(tf) est donnée par la condition de transversalité (terme de coût final).
Si les matrices Q(t), R(t) et S(tf) sont symétriques, alors S(t) est symétrique de t0 à tf.

• En intégrant l’équation de Riccati à rebours, on obtient la matrice S(t) de t0 à tf ,


puis on intègre l’état et l’adjoint avec l’adjoint initial donné par : p( t 0 )  S( t 0 ) x ( t 0 )

• On obtient également une expression de la commande en retour d’état (en remplaçant t0 par t).
1389
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Résumé 5
Solution problème LQ
tf


1 1
min J (u )  ( x T Sx ) t f  ( x T Qx  u T Ru )dt avec x  Fx  Gu
u 2 2 x ( t 0 )  x 0 fixé, t 0 fixé, t f fixé
t0

Equation de Riccati  S  SF  F T S  SGR 1G T S  Q avec S(tf) donnée

Intégration à rebours  S( t ) , t  [ t 0 , t f ] Commande feedback

Adjoint initial  p( t 0 )  S( t 0 ) x ( t 0 ) u  R 1G T Sx


(matrice de gain C  R 1G T S )
x  Fx  GR 1G T p
Intégration directe  
p  Qx  F p ou p( t )  S( t ) x ( t )
T

Solution état et adjoint  x ( t ) , t  [ t 0 , t f ]


p ( t )
1390
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Problème LQ
Valeur du coût
• La fonction coût entre t0 et tf peut s’exprimer à partir de la matrice S(t0).
tf


1 1 1 T
J  ( x T Sx ) t f  ( x T Qx  u T Ru )dt  ( x Sx ) t 0
2 2 2
t0
1 T
L’expression est vraie à toute date t > t0 le long de la trajectoire optimale : J  x Sx
2
• Vérification : on dérive par rapport au temps.
dJ 1 T 1 1
 x Sx  x T S x  x T Sx avec S  SF  F T S  SGR 1G T S  Q
dt 2 2 2 et x  Fx  Gu
1 1 1
 J  (u T G T  x T F T )Sx  x T (SF  F T S  SGR 1G T S  Q) x  x T S(Fx  Gu )
2 2 2
1 1 1 1
 J  u T G T Sx  x T SGR 1G T Sx  x T Qx  x T SGu avec u  R 1G T Sx
2 2 2 2
Ru u
1 1
 J   x T Qx  u T Ru → dérivée de J par rapport à la date initiale t0
2 2
1391
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Problème LQ
Régulateur
• Pour un système stationnaire (F, G, Q, R constantes), il peut exister une solution S constante.

S  C te  S  0  SF  F T S  SGR 1G T S  Q  0 → solution notée S

Ceci peut se produire lorsque tf → .

• La matrice de gain pour la commande en retour d’état tend alors vers une constante.

u  Cx avec C  C   R 1G T S


t 

La commande u  C  x est un régulateur asymptotiquement stable.


→ permet de borner les variations de x(t) et u(t) sur un temps infini

• Pour trouver une matrice définie positive S (si elle existe), on peut

- résoudre l’équation : SF  F T S  SGR 1G T S  Q  0

- intégrer à rebours : S  SF  F T S  SGR 1G T S  Q à partir de S(tf)=0


jusqu’à obtenir S  0
1392
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Exemple 14 : régulateur


Régulateur d’un système d’ordre 1
• On cherche un régulateur pour un système stationnaire du premier ordre.
1 1
x   x  u  F , G 1
 
• L’objectif est de maintenir x et u entre les bornes  x m  x   x m
 u  u   u
 m m
tf
 x2 u2 

1  dt 1 1
J   Q ,R
2  x2 u2  x 2m u 2m
t0  m m 

• La matrice S (de taille 11) doit être une solution stationnaire de l’équation de Riccati.
2 1
S  SF  F T S  SGR 1G T S  Q  0  S  u 2mS2  2  0
 xm

1  2 
La seule solution définie positive est : S  2 1   2  1
2 um
u m  xm 
 
1  2 
• La commande du régulateur est : 1
u ( t )   R G S x ( t )  
T
1   2  1 x ( t )
2 um
 xm 
 
1393
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Contrôleur LQ
Formulation
• Un contrôleur LQ est un système LQ avec des contraintes finales linéaires.
tf


1
min J (u )  ( x T Qx  u T Ru )dt avec x  Fx  Gu
u 2
t0 x ( t 0 )  x 0 fixé, t 0 fixé, t f fixé
x ( t f )  M( t f ) x ( t f )   c → q contraintes

Les q contraintes finales sont à respecter exactement.


1 T
Elles remplacent le terme de coût final ( x Sx ) t f qui vise à approcher x(tf)  0.
2
• Les équations de l’état, de l’adjoint et l’expression de la commande sont inchangées.
La condition de transversalité sur p(tf) est modifiée.

 x   F  GR 1G T  x  x ( t 0 ) fixé
      avec
  p  p( t f )  M( t f ) T  au lieu de p( t f )  S( t f ) x ( t f )
p  Q
 F T
 
→ q multiplicateurs  associés aux contraintes

1394
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Contrôleur LQ
Résolution matricielle
• On écrit la solution du système linéaire (x , p) en utilisant sa matrice de transition.

 x   F  GR 1G T  x   x ( t )    xx ( t , t f )  xp ( t , t f )  x ( t f ) 
       
      
 
  Q F T    ( t , t )  ( t , t ) 
  
p  
p  p ( t )   px f pp f  p ( t f 
)

• On remplace l’adjoint final en utilisant la condition de transversalité : p( t f )  M( t f ) T 

x   xx x f   xp p f x   xx x f   xp M Tf  x f   xx1 ( x   xp M Tf )


p   x   p   T   1 1
 px f pp f  p   x
px f   pp f 
M p   px  xx x  ( pp   px  xx  xp )M f 
T

• L’adjoint p(t) et la contrainte (tf) sont fonctions linéaires de l’état x(t) et des multiplicateurs .

S( t )   px ( t , t f ) xx ( t , t f ) 1
p( t )  S( t ) x ( t )  T( t )
 
avec def
T( t )   pp ( t , t f )   px ( t , t f ) xx ( t , t f ) 1  xp ( t , t f ) M Tf
def

M( t )   xx ( t , t f ) 1
x ( t f )  M( t f ) x ( t f ) avec def
 M ( t ) x ( t )  N ( t ) N( t )    xx ( t , t f ) 1  xp ( t , t f )M Tf
def
1395
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Contrôleur LQ
Résolution matricielle
• L’adjoint p(t) et la contrainte (tf) sont fonctions linéaires de l’état x(t) et des multiplicateurs 
avec des matrices S(t) , T(t) , M(t) et N(t) → méthode de transport

p( t )  S( t ) x ( t )  T( t ) avec p( t f )  M( t f ) T  → n conditions de transversalité

x ( t f )  M( t ) x ( t )  N( t ) avec x ( t f )   c → q contraintes finales

• On cherche à calculer les matrices S(t), T(t), M(t), N(t), ce qui permettra d’obtenir  et p(t0).
x  Fx  GR 1G T p
p  Sx  T  p  S x  Sx  T  avec  et p  Sx  T
p  Qx  F p
T

  Qx  F T (Sx  T)  S x  S(Fx  GR 1G T (Sx  T))  T 

 (S  SF  F T S  Q  SGR 1G T S) x  (T  F T T  SGR 1G T T)  0

 x  Mx  N
 c  Mx  N  0  M  avec x  Fx  GR 1G T p et p  Sx  T
  MF  MGR 1G T S) x  ( N
 (M   MGR 1G T T)  0
1396
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Contrôleur LQ
Résolution matricielle
• Les matrices S(t), T(t), M(t), N(t) vérifient un système différentiel.
(S  SF  F T S  Q  SGR 1G T S) x  (T  F T T  SGR 1G T T)  0
  1 T   MGR 1G T T)  0 , x, 
( M  MF  MGR G S) x  ( N

S  SF  F T S  Q  SGR 1G T S


T  F T T  SGR 1G T T
 1 T si x  0 ,   0
M  MF  MGR G S

 N  MGR G T 1 T

• La matrice M(tf) est donnée par l’expression des contraintes finales : x ( t f )  M( t f ) x ( t f )   c
Les contraintes finales permettent d’obtenir les matrices S(tf), T(tf), N(tf).

 S( t ) x ( t )  T( t ) avec p( t f )  M( t f ) T  S( t )  0
p( t )   f
T( t f )  M( t f )
T

x ( t f )  M( t ) x ( t )  N( t ) avec x ( t f )  M( t f ) x ( t f )  N( t f )  0

• On observe que les matrices T et MT vérifient les mêmes équations : T = MT


1397
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Contrôleur LQ
Résolution matricielle
• En intégrant à rebours, on obtient les matrices S(t), T(t), M(t), N(t) de t0 à tf.

S  SF  F T S  Q  SGR 1G T S S( t f )  0


 1 T
M  MF  MGR G S avec M( t f ) donnée et T = MT
N  MGR 1G T M T  N( t f )  0

• La contrainte finale permet de calculer les multiplicateurs .
 c  M ( t 0 ) x ( t 0 )  N ( t 0 )   0  N ( t 0 ) avec  0  M( t 0 ) x ( t 0 )
def def

   N( t 0 ) 1 ( c   0 ) si N(t0) inversible

0 est la valeur que prendrait la fonction [x(tf)] = M(tf)x(tf) en l’absence de contraintes.

Les multiplicateurs  sont fonctions de l’écart entre c (valeur visée) et 0 (valeur libre).
La solution du problème sans contraintes correspond à des multiplicateurs nuls :  = 0
N  MGR 1G T M T  0
• La matrice N est négative :  N( t )  0  N( t )  0 pour t  t f
 f

Le système est contrôlable si N est non singulière.


1398
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Contrôleur LQ
Résolution matricielle
• L’adjoint initial p(t0) s’exprime en fonction de l’état et de l’écart sur les contraintes finales.

p( t 0 )  S( t 0 ) x ( t 0 )  M( t 0 ) T   S( t 0 ) x ( t 0 )  M( t 0 ) T N( t 0 ) 1 ( c   0 )

On obtient finalement la trajectoire en intégrant les équations de l’état et de l’adjoint.

x  Fx  GR 1G T p

p  Qx  F p
T
ou p( t )  S( t ) x ( t )  M( t ) T 

• On obtient également une expression de la commande en retour d’état (en remplaçant t0 par t).
p  Sx  M T 

u  R 1G T p avec   N 1 ( c  )  u  R 1G T Sx  R 1G T M T N 1 ( c  )
  Mx

Les multiplicateurs  sont calculés à la date t et varient le long de la trajectoire.
 est la valeur que prend la fonction [x(tf)] = M(tf)x(tf) si on résout le problème LQ
sans contraintes à partir de la date t et de l’état x(t) → équivaut à prendre  = 0

• La solution du problème LQ sans contraintes est retrouvée en prenant  = 0.


1399
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Résumé 6
Solution contrôleur LQ
tf


1
min J (u )  ( x T Qx  u T Ru )dt avec x  Fx  Gu x ( t 0 )  x 0 fixé, t 0 fixé, t f fixé
u 2
x ( t f )  M( t f ) x ( t f )   c → q contraintes
t0

S  SF  F T S  Q  SGR 1G T S S( t f )  0


 1 T
Système matriciel  M  MF  MGR G S avec M( t f ) donnée
N  MGR G M1 T T  N( t f )  0

Intégration à rebours  S( t ), M( t ), N( t ) , t  [ t 0 , t f ] Commande feedback

p  Sx  M T 

Adjoint, multiplicateurs    N 1 ( c  )
u   R 1G T Sx
  Mx
  R 1G T M T N 1 ( c  )
Intégration directe  x  Fx  GR 1G T p
généralise la solution LQ
Solution état et adjoint  x ( t ) , t  [ t 0 , t f ] au cas avec contraintes
p ( t ) 1400
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Contrôleur LQ
Cas particulier tf


1
• Si la matrice Q est nulle : J u T Rudt → énergie (norme L2)
2
t0
x ( t f )  M( t f ) x ( t f )   c → q contraintes

Les équations matricielles se simplifient.

S  SF  F T S  Q  SGR 1G T S avec Q  0 → solution S = 0


  MF  MGR 1G T S avec S  0
M   MF
 M avec M( t f ) donnée
tf
  MGR 1G T M T
N 
 N   MGR 1G T M T dt
t
Les matrices M et N sont obtenues en intégrant à rebours à partir de tf.

• La commande feedback est définie par : u  R 1G T M T N 1 ( c  ) avec   Mx

 est la valeur prédite des contraintes si aucun contrôle n’est appliqué de t à tf.

1401
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Contrôle robuste


Système perturbé
• Un système linéaire d’état x et de sortie z est soumis à une perturbation w.
x  Ax  Dw
z  Cx avec A , C , D matrices constantes

• On cherche la perturbation pire (= qui fait diverger la sortie).
 2
 maximise z  zTz

1
min J  ( w T w   z T z) dt avec   0 2
w   minimise w  wTw
t0

• Solution

S’il existe une matrice P symétrique définie positive (P = PT > 0) telle que
PA  A T P   C T C   PDD T P  0  équation de Riccati
A   DD T P = matrice de Hurwitz  valeurs propres à parties réelles négatives

alors la perturbation pire est : w*   D T Px *

et le coût minimal vaut : J*   x T0 Px 0


1402
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Contrôle robuste


Solution
• On vérifie la solution énoncée en dérivant la fonction V(x) = xTPx .
  x T Px  x T Px  (Ax  Dw ) T Px  x T P(Ax  Dw )  x T (PA  A T P) x  2x T PDw
V
  x T ( C T C  PDD T P) x  2x T PDw en utilisant PA  A T P   C T C   PDD T P
  z T z   x T PDD T Px  2x T PDw en utilisant z  Cx
1 1
 w T w   z T z  ( w   D T Px ) T ( w   D T Px ) en factorisant
 
t1 t1

 
1 2 2 1 2
• En intégrant de t0 à t1 : V( x1 )  V( x 0 )  ( w   z ) dt  w   D T Px dt
 
t0 t0
  t1 
 
1 1 2
  z ) dt  lim  x1T Px1  w   D Px dt   x T0 Px 0
2 2
• Pour t1   : J ( w T
 t1    
t0  t0 

Le minimum est obtenu pour : w   D T Px  x  Ax  Dw  (A  DD T P) x


 J   x T0 Px 0
A + DDTP Hurwitz  système exponentiellement stable  lim x ( t1 )  0
t1  1403
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Contrôle robuste


Gain L2
• La solution s’interprète en fonction des normes L2 de la perturbation et de la sortie.

 
2 2
La norme L2 est définie par : w 2
 w dt z 2
 z dt


1 2 2 1 2 2
 J ( w   z ) dt  w  z
  2 2
t0
1 2 2
Le coût minimal vaut : J*   x T0 Px 0  w  z pour toute perturbation w
 2 2

  z 2
 w 2
pour un état initial nul
z
• Le gain L2 du système est : k  sup 2
 mesure l’amplification sortie / perturbation
def w  0 w 2
1
Si la matrice P existe (solution de l’équation de Riccati), alors le gain L2 est borné : k   

• Le gain L2 s’obtient comme la norme H de la matrice de transfert du système.
x  Ax  Dw  z  C(sI  A) 1 Dw  Gw  k  G  sup  G ( j) 
z  Cx
 def 

1404
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Contrôle robuste


Gain L2
• On établit l’équivalence entre l’existence de la matrice P et la borne sur le gain L2 du système.
 1 T 1
 PA  A T
P  C C  PDD T
P0
Existence de P symétrique définie positive telle que   
1
A  DD T P Hurwitz
 
 Le gain L2 est borné par  .

• Une condition suffisante s’obtient en relaxant l’équation sur P en une inégalité de Riccati.
 1 T 1
 PA  A T
P  C C  PDD T P  0
 
Existence de P symétrique définie positive telle que  1
A  DD T P Hurwitz
 
 Le gain L2 est borné par  .

(démonstration similaire en utilisant l’inégalité : PA  A P   C C   PDD P )


T T T
1405
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Contrôle robuste


Stabilisation
• L’objectif du contrôle u est de stabiliser la sortie z en présence de la perturbation w.
x  Ax  Bu  Dw
z  Cx avec A , B , C , D matrices constantes

• On cherche le contrôle sous la forme u = Kx (contrôle en retour d’état ou feedback).

x  (A  BK) x  Dw
z  Cx

La matrice du système en boucle fermée (feedback) est : A f  A  BK
def

Il faut trouver une matrice de gain K telle que le gain L2 soit inférieur à une borne donnée 
et le système en boucle fermée soit stable.

Une condition suffisante est de trouver une matrice P symétrique définie positive telle que
1 1
PA f  A Tf P  C T C  PDD T P  0
 
Cette condition implique PA f  A Tf P  0 qui est la condition de Lyapunov
pour que Af soit stable (matrice de Hurwitz)
1406
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017

5.3.3 Contrôle robuste


Stabilisation
• On cherche une matrice de gain K telle que l’inégalité de Riccati ait une solution P.
1 1
Trouver K et P = PT > 0 vérifiant PA f  A Tf P  C T C  PDD T P  0 avec A f  A  BK
 
• On introduit des matrices Q , R symétriques définies positives et un paramètre  > 0.
1 1
L’inégalité est transformée en égalité : PA f  A Tf P  C T C  PDD T P  Q  0
 

1 1 T
Le gain K est cherché sous la forme : K R B P
2

1 1 1
• On se ramène à l’équation de Riccati : PA  A T P  C T C  PDD T P  PBR 1BT P  Q  0
  
Il faut trouver des paramètres de réglages Q , R ,  pour que l’équation admette une solution P.

• Dans le cas général, l’état complet n’est pas nécessairement observable pour le feedback.
La commande est de la forme u = Ky avec y = Ex .
 méthode de résolution similaire basée sur des conditions suffisantes
1407
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Extrémales

 Extrémale normale / anormale, régulière / singulière

 Extrémale voisine

 Commande feedback

 Variation seconde

 Problème auxiliaire

 Conditions suffisantes de minimum

 Arc singulier

 Equation de Hamilton-Jacobi-Bellman

 Commande affine
1408
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Extrémales
Champ d’extrémales tf
• Problème de contrôle : min J 
u  L(x, u, t)dt
t0
avec x  f ( x, u, t )

• L’hamiltonien est défini par : H  p0L  pTf

Le vecteur adjoint p est associé au vecteur d’état x  fonctions p(t)


Le multiplicateur p0 est associé au coût intégral L  multiplicateur dit anormal p0  0
(p0 , p) ne peut être identiquement nul (sauf en des points isolés).

• Une extrémale est un quadruplet (x, p0, p, u) vérifiant


x  H p  système hamiltonien
p   H
 x

min H  commande optimale (minimisation si p0  0 , maximisation si p0  0)


u

• Le champ d’extrémales du problème est l’ensemble des trajectoires obtenues


- en fixant les conditions initiales (état et adjoint)  flot du système hamiltonien
- en intégrant les équations des extrémales

1409
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Extrémales
Conditions d’optimalité
• La trajectoire optimale est une extrémale particulière associée à des conditions aux 2 bouts
 conditions initiales + conditions de transversalité
 conditions nécessaires d’ordre 1 données par le PMP

• Une trajectoire vérifiant les conditions nécessaires du PMP n’est pas forcément optimale.
Il faut vérifier des conditions d’optimalité d’ordre 2
 conditions associées à l’examen des extrémales voisines

Types d’extrémales
• Une extrémale est normale si p0 > 0 , anormale si p0 = 0 .
Une extrémale anormale apparaît lorsque la solution est imposée par les contraintes.
Pour une extrémale normale, on fixe généralement p0 = 1 .

• Une extrémale est régulière si Hu est explicite en u , singulière sinon.


Une extrémale singulière nécessite l’examen des conditions d’ordre supérieur (PMP = ordre 1).

• Une trajectoire optimale peut comporter des arcs réguliers et des arcs singuliers.
Exemple : problème de Goddard

1410
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple : extrémale anormale


Formulation
• Problème en dimension 1
tf
x ( t )  0
min J 
u,t f 
t0
L( x, u, t ) dt avec x  u et  0
x ( t f )  0

La commande est bornée entre 0 et 1.


On observe que la seule solution admissible est u = 0 (sinon x(tf) > 0)

• Hamiltonien : H  p 0 L( x, u, t )  pu avec u  0  H  p 0 L( x , u , t )

Le système est autonome et à temps final libre : H=0

• La seule valeur possible du multiplicateur p0 est : p0 = 0.


Toutes les extrémales du problème sont anormales.
La solution est complètement définie par les contraintes, le coût ne peut être minimisé.

• Un problème peut admettre simultanément des extrémales anormales et normales.


Exemple : oscillateur (pages suivantes)

1411
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 15 : oscillateur


Formulation
• On cherche à ramener un oscillateur harmonique au repos en temps minimal.
tf
 x  x 2 Etat initial fixé : x1(t0) , x2(t0)
u,t f 
min J  1dt avec  1
 x 2   x1  u Etat final contraint : x1(tf)=0 , x2(tf)=0
t 0 Commande bornée : 1  u  +1

• Hamiltonien : H  p 0  p1x 2  p 2 ( x1  u ) avec p0  0

• Commande : min H  u  1 si p 2  0


u u  1 si p 2  0

• Adjoint :  p 1  p 2  p2  p 2  p 2  a cos(t  )  période 2


 p  p
 2 1

Les commutations (changement de signe de p2) sont espacées d’une durée égale à .
 x 1  x 2
• Trajectoire : x   x  u  x 2   x 2  x 2  b cos(t  )  période 2
 2 1

Chaque arc de trajectoire à u constant correspond à une demi-période (durée égale à ).

1412
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 15 : oscillateur


Portrait de phase
• On peut représenter les arcs de trajectoire à u = 1 dans le plan de phase.
 x 1  x 2 dx 2  x1  u
x   x  u    ( x1  u )dx1  x 2 dx 2  0  ( x1  u ) 2  x 22  c 2
 2 1 dx1 x2
Les arcs de trajectoire sont des demi-cercles (période=) centrés en A(1 , 0) lorsque u = 1
et en A+(+1 , 0) lorsque u = +1

• Le dernier arc doit arriver à l’origine  demi-cercle C de centre A(1 , 0) et de rayon 1


ou demi-cercle C+ de centre A+(+1 , 0) et de rayon 1
2
• On construit les extrémales à rebours en partant de O.
1,5
u = 1
La dernière commutation se produit sur C ou C+ 1
C
- sur un point de C : passage de u = +1 à u = 1 0,5

- sur un point de C+ : passage de u = 1 à u = +1 A 0 O A+


-3 -2 -1 0 1 2 3
-0,5
L’arc précédent est un demi-cercle C+
-1
- de centre A+ si l’on part à rebours de C u = +1
- de centre A si l’on part à rebours de C+
-1,5

-2 1413
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 15 : oscillateur


Portrait de phase
• L’extrémité de l’avant-dernier arc est sur un demi-cercle symétrique de C+ par rapport à A
ou symétrique de C par rapport à A+

Ensemble des avant-derniers arcs arrivant en C+ 4


Commande u = 1
3

C 1

A O A+
0
-4 -3 -2 -1 0 1 2 3 4

-1
C+
-2

-3

Ensemble des avant-derniers arcs arrivant en C


-4
Commande u = +1

1414
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 15 : oscillateur


Courbe de commutation
• Les arcs précédents sont des demi-cercles croissants de centre alternativement A et A+ .
Les commutations se produisent sur des demi-cercles translatés de C et C+ suivant x1
 définit la courbe de commutation dans le plan de phase
2

Courbe de commutation 1,5


Commande u = 1
1

0,5

0
-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7
-0,5

-1
Commande u = +1 -1,5

-2

• La commande est : u = 1 au dessus de la courbe de commutation


u = +1 au dessous de la courbe de commutation

• En faisant varier la position de la dernière commutation sur les demi-cercles C et C+ ,


on génère à rebours l’ensemble des extrémales possibles  portrait de phase
1415
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 15 : oscillateur


Extrémales
• Il passe une seule extrémale par chaque point du plan de phase (= conditions initiales données).
Exemple : x1(t0)=1.77 , x2(t0) =3.36

0
-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7

-1

-2

-3

-4
1416
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 15 : oscillateur


Extrémale anormale
• L’hamiltonien est constant (système autonome) : H(t ) = Cte
et nul (temps final libre) : H(tf) = 0
H  p 0  p1x 2  p 2 ( x1  u )  0


x ( t )  0
A l’instant final : x1 ( tf )  0  H  p 0  p 2 u  0 avec u(tf) = 1
 2 f

• Si p2(tf)  0, le multiplicateur p0 est non nul : l’extrémale correspondante est normale.


Si p2(tf) = 0, le multiplicateur p0 est nul : l’extrémale correspondante est anormale.

• Les commutations sont espacées d’une durée  et se produisent lorsque p2 s’annule.

Pour une extrémale anormale : - le dernier demi-cercle C ou C+ est entièrement parcouru.


- les commutations se produisent sur l’axe x1.

Le problème admet une infinité d’extrémales anormales.


Ces extrémales sont celles passant par les points de coordonnées x1=2k , x2=0, avec k entier.

1417
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 16 : Goddard


Formulation
• On cherche à maximiser l’altitude atteinte par une fusée tirée verticalement du sol.
Les forces agissant sur la fusée sont le poids W, la poussée T, la trainée D. 
T
 h   altitude h  v
  
• Vecteur d’état :  v   vitesse  v  (T  D  W ) / m
m
 m   masse    T / ve


• Poids : W = mg avec g = accélération de gravité (constante) W 
D
• Poussée : T = qve avec ve = vitesse d’éjection (constante)
q = débit massique
1 2
• Trainée : D v SC D avec S = surface de référence
2 CD = coefficient de trainée (constant)
 = densité atmosphérique
h

• Densité :   0e H avec 0 = densité au sol
H = facteur d’échelle (modèle exponentiel)

1418
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 16 : Goddard


Formulation
• La commande est le niveau de poussée compris entre 0 et Tmax.
La masse me d’ergols est fixée. Lorsque tous les ergols sont consommés, la poussée s’annule.

• Le problème est sous forme de Mayer (coût final).


h  v h ( t 0 )  0
 
min J   h ( t f ) avec v  (T  D  W ) / m et v( t 0 )  0
m m( t 0 )  m 0 , m( t f )  m 0  m e
   T / ve
T,t f

TDW T D  
• Hamiltonien : H  ph v  pv  pm  ph v  pv   g   T
m ve m  mv e
avec   v e p v  mp m  fonction de commutation

et H = Cte = 0 (système autonome et à temps final libre)

T  0 si   0

• Commande : min H  T  Tmax si   0
0 T  Tmax
T  ? si   0  arc singulier

1419
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 16 : Goddard


Arc singulier
• On cherche les conditions (h , v , m) pour lesquelles un arc singulier peut exister.

Un arc singulier est possible si la fonction de commutation s’annule sur un intervalle de temps.
Les dérivées successives de  sont alors toutes nulles sur I.

  0 sur I  [ t1 , t 2 ]  v e p v  mp m  0
  0 sur I  [ t , t ]
  v e p v  m
 p m  mp m  0
1 2

TD  T
• Equations adjointes : H  ph v  pv   g   pm avec D fonction de h et v
 m  ve et g constant

 pvDh  1 2 1 
h

 
p h  D  v SC D   0 e H v 2SC D

m  2 2
 p D  D 1 2  D
 p v  p h  v v avec D h   v SC D 
 m  h 2 h H
p  p T  D D  D  vSC  2D
 m v
m2  v v D
v

1420
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 16 : Goddard


Arc singulier
 .
• On remplace les dérivées de m, pv et pm dans l’expression de 

  v p  m  pvDv  T TD
 e v  p m  mp m  v e   p h    p m  p v 0
 m  v e m

La relation   v e p v  mp m  0 permet de remplacer pm en fonction de pv.

  p v v D  D   v p  0  D
 e v e h  p v  D v    mp h  0 sur I  [ t1 , t 2 ]
m  ve 

• On obtient un système de 3 équations devant être vérifiées pour qu’un arc singulier existe.
 TDW T
H  0  ph v  pv  pm 0
 m ve
  0  p v ve  pm m  0  système linéaire en (ph , pv , pm)
  D
  0  p v  D v    p h m  0
  ve 

1421
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 16 : Goddard


Arc singulier
• Le vecteur adjoint (ph , pv , pm) ne peut être identiquement nul (condition nécessaire du PMP).

 TDW T
p h v  p v  pm 0
 m v e
 p v ve  pmm  0 avec (p h , p v , p m )  (0 , 0 , 0)
  D
p h m  p v  D v   0
  ve 

• Pour que le système linéaire en (ph , pv , pm) admette une solution non nulle,
son déterminant doit être nul (sinon la solution nulle est unique).

 TDW T 
v  
 m ve

det 0 ve m   D1  v 
  vD v  W  0 avec D v 
2D
   v 
  D   e  v
m   Dv   0 
  v e 
  
1422
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 16 : Goddard


Surface singulière
• La surface singulière a pour équation
 v 
  W  D1    0  conditions (h , v , m) pour lesquelles un arc singulier peut exister
 ve 

• Au début de la trajectoire : W décroît en partant m0g  >0


v, D croissent en partant de 0

A la fin de la trajectoire : W décroît jusqu’à mfg  >0


v, D décroissent jusqu’à 0 (apogée)

• La surface singulière peut être atteinte ou non en cours de vol,


puis peut être quittée ou non avant l’épuisement des ergols.
Si D = 0, il ne peut pas exister d’arc singulier car  = W > 0

• Les structures de solution possibles sont : Tmax  0


Tmax  Tsing  0
Tmax  Tsing  Tmax  0

1423
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 16 : Goddard


Solution singulière
• Pour trouver l’expression de la poussée le long de l’arc singulier, il faut continuer à dériver
la fonction de commutation  jusqu’à faire apparaître explicitement T.

 D
 0
  p v  D v    mp h  0  non explicite en T
 ve 
D
 p v G  mp h  0 avec G  D v   G fonction de h et v
def ve

• En dérivant une seconde fois :  m


p v G  p v G   G h  G v
 p h  mp h  0 avec G h v

h  v  pvDh
 h
p 
 m
On développe en utilisant : v  (T  D  W ) / m et 
p D
m p v  p h  v v
   T / ve

 m

et en remplaçant ph à partir de : p v G  mp h  0

1424
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 16 : Goddard


Solution singulière
• On obtient après calculs l’expression de la poussée le long de l’arc singulier.

 G D D
Tsin g  G v    G  (D  W )G v  mvG h  mD h avec G  D v 
 ve  ve ve
D 2D 2D 2D
• En remplaçant G et avec les dérivées D h   , D v  , D vh   , D vv  2
H v vH v

   2 
mv ve
Tsin g 1  4  2 2
 D(1  2)   2D  2W  (1  ) en notant  
 H  v
 def

• La trajectoire débute avec un arc à Tmax.


Si la fonction de commutation s’annule, la poussée devient variable Tsing(h , v , m).
 v 
et la trajectoire reste sur la surface singulière   W  D1    0
 ve 
La poussée peut revenir à Tmax si la fonction de commutation redevient négative
et finit par s’annuler lorsque la masse d’ergols est consommée.

1425
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 16 : Goddard


Application numérique
m0 me Tmax ve SCD 0 H g
• Données :
100 kg 90 kg 2000 N 2000 m/s 0.1 m2 1.2 kg/m3 5000 m 10 m/s2

t0=0 s Tmax t1=16.1 s Tsing t2=116.3 s Tmax tc=125.0 s T=0 tf=350.4 s


• Solution :
m0=100 kg m1=83.9 kg m2=18.7 kg mc=10 kg mf=10 kg
Altitude maximale : rf=300.6 km

Poussée (N) Poussée


2250
2000
1750
1500
1250
1000
750
500
250
Temps (s)
0
0 10 20 30 40 50 60 70 80 90 100 110 120 130
1426
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 16 : Goddard


Application numérique
• Forme de la solution : Tmax  Tsing  Tmax  0 si me > 81.3 kg
Tmax  Tsing  0 si 16.1 kg < me < 81.3 kg
Tmax  0 si me < 16.1 kg

• Comparaison à la solution à poussée maximale constante : Poussée Optimale Maximale


Arrêt 125.0 s 90.0 s
Apogée 300.6 km 236.8 km

Masse (kg) Masse


110
350
Apogée (km) Apogée
100
90
arc singulier 300
80
250
70
60 200
50
40 150
30 100
20
10 50
Temps (s)
0 Temps (s)
0
0 10 20 30 40 50 60 70 80 90 100 110 120 130
0 10 20 30 40 50 60 70 80 90 100 110 120 130
1427
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Extrémale voisine


Extrémale
• On considère un problème de contrôle non linéaire à temps final libre et contraintes finales.
tf
min J 
u,t f  L(x, u, t)dt  x(t f ), t f  avec x  f ( x, u, t ) , x ( t 0 ) fixé
t0 x ( t f ), t f   0 → q contraintes
• Une extrémale est un triplet (x, p, u) vérifiant les conditions nécessaires d’optimalité.

H  L  pTf et H( t f )   t [ x ( t f ), t f , ]
x  H p et x ( t f ), t f   0 avec [ x ( t f ), t f , ]  [ x ( t f ), t f ]  T [ x ( t f ), t f ]
def
p   H x et p( t f )   x [ x ( t f ), t f , ]
Hu  0 (sans bornes sur la commande)

• L’extrémale (x, p, u) est associée aux conditions initiales x(t0) et finales [x(tf),tf].
Les extrémales voisines (x+x , p+p , u+u) sont associées à des perturbations x(t0) et .

• Les écarts (x , p , u) suivent les équations variationnelles (= équations des écarts)
obtenues en développant à l’ordre 1 les conditions d’optimalité.

1428
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Extrémale voisine


Extrémale
tf
min J 
u,t f  L(x, u, t)dt  x(t f ), t f  avec x  f ( x, u, t ) , x ( t 0 ) fixé
t0 x ( t f ), t f   0 → q contraintes

xf
 = 
xf 
x  df
=0
x  f
x0
x0
tf

t0 tf t
1429
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Extrémale voisine


Notation des dérivées
• Fonction vectorielle  : Rn → Rq → q fonctions de n variables
 1 ( x1 ,..., x n ) 
 
( x1 ,..., x n )     → vecteur à q lignes
 
  q ( x 1 ,..., x n ) 
• Matrice gradient
 1  q 
  
  1  q   x1 x1 
x        → matrice à q colonnes
x  x x    q  (= gradients des q fonctions j)
 1  
 x x n 
 n
• Dérivée totale par rapport au temps
 1
d   T  

  x
  x x  t    
T
 → vecteur à q lignes
dt x t   
 q 
1430
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Extrémale voisine


Equations variationnelles
• On développe les équations en Hx , Hp , Hu à l’ordre 1 en (x , p , u).
Les dérivées partielles d’ordre 2 de l’hamiltonien sont

H xx  L xx  f xx
T
p H px  f x H xp  H Tpx
  
H( x, u, p, t )  L( x, u, t )  p T f ( x, u, t )  H uu  L uu  f uu
T
p , H pu  f u , H up  H Tpu
H xu  L xu  f xu
T
p H  0 H  H T
  pp  ux xu

• Equations suivies par (x , p , u).

x  H p  x  H Tpx x  H Tpu u  H Tpp p  x  f xT x  f uT u

p   H x  p  H Txx x  H Txu u  H Txp p  p  H xx x  H ux u  f x p

0  Hu  0  H Tux x  H Tuu u  H Tup p  0  H xu x  H uu u  f u p

• La dernière équation permet d’exprimer u en fonction de x et p.


 x  (f xT  f uT H uu1 H xu )x  f uT H uu1 f u p
u  H uu1 (H xu x  f u p)  
p  (H ux H uu1 H xu  H xx )x  (H ux H uu1 f u  f x )p
1431
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Extrémale voisine


Conditions finales
• Les conditions finales portent sur l’adjoint final, le temps final et les multiplicateurs.
x ( t f ), t f   0   avec [ x ( t f ), t f , ]  [ x ( t f ), t f ]  T [ x ( t f ), t f ]

 x [ x ( t f ), t f , ]  p( t f )  0  p( t f ) et H( x, u, p, t )  L( x, u, t )  p T f ( x, u, t )
 t [ x ( t f ), t f , ]  H( t f )  0  t f

• La dérivée totale de  est :      T x    p T f       ( H  L)


t x t t

 L 0
La troisième condition s’écrit :    t  H  

• Les conditions finales en fonction de x(tf) , tf et  se mettent sous la forme


  0

 x  p avec     T 
  0  L
avec    t  H  
• Les perturbations x(t0) et  modifient : l’état final → x(tf)
l’adjoint final → p(tf)
le temps final → tf
les multiplicateurs → 
On développe les conditions finales à l’ordre 1 en (x(tf), p(tf), tf , ).
1432
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Extrémale voisine


Conditions finales
• Condition sur  : x ( t f ), t f   0

A l’ordre 1 : x ( t f )  x ( t f ), t f  t f    fixé

  Tx x ( t f )   Tx x ( t f )t f   Tt t f  

• Condition sur p :  x [ x ( t f ), t f , ]  p( t f ) avec [ x ( t f ), t f , ]  [ x ( t f ), t f ]  T [ x ( t f ), t f ]

A l’ordre 1 :  x [ x ( t f )  x ( t f ), t f  t f ,   ]  p( t f )  p( t f )  p ( t f )t f

  xx x ( t f )   xx x ( t f )t f   xt t f   x   p( t f )  p( t f )  p ( t f )t f

• Condition sur  :  L 0
  t  H   fonction de x , u , tf , 

A l’ordre 1 : [ x ( t f )  x ( t f ), u ( t f )  u ( t f ), t f  t f ,   ]  0

 xT x ( t f )  xT x ( t f )t f  tT t f   T   0 car u  H u  0


  
   

1433
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Extrémale voisine


Conditions finales
• On regroupe les termes en x(tf), tf , .

 Tx x   t f      Tx x   Tt
  
 xx x  ( x  p )t f   x   p avec les dérivées totales  x   xx x   xt
xT x    t   T  0    T x   T
 f  x t

•   p peut s’exprimer en utilisant p( t )   [ x ( t ), t , ]


Le terme  x f x f f

   p   (  L   f )   (  H)  
     x   xt   xx f
 x xt xx  
 p  H x  L x  f x p  L x  f x  x
x t x t
x x x
T T

• On obtient les conditions finales à l’ordre 1 sous forme matricielle.

  xx x x   x ( t f )   p( t f ) 
 T    
 x 0          → système linéaire vérifié par x(tf), tf , 
 T  T    t   0 
 x  f   
Si le temps final est fixé (tf = 0), il ne reste que les équations en p(tf) et .

1434
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Extrémale voisine


Problème aux deux bouts
• L’extrémale voisine associée aux perturbations x(t0) et  vérifie
 x  (f xT  f uT H uu1 H xu )x  f uT H uu1 f u p
- le système différentiel : 
p  (H ux H uu1 H xu  H xx )x  (H ux H uu1 f u  f x )p

  xx x x   x ( t f )   p( t f ) 
 T         T 
- les conditions finales :  x 0          avec  
 T          t  H    L
 x  T    t f   0 

Il s’agit d’un problème linéaire aux deux bouts en x et p.

• Ces équations sont aussi les conditions d’optimalité du problème LQ obtenu en développant
- le coût augmenté à l’ordre 2
- les équations d’état et les contraintes à l’ordre 1
→ appelé « problème de minimum auxiliaire »

• Le problème aux deux bouts peut être résolu matriciellement par la méthode de transport.
On obtient une expression de la commande en retour d’état.

1435
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Extrémale voisine


Méthode de transport
• Le problème aux deux bouts est de la forme
 A  f xT  f uT H uu1 H xu
 x  Ax  Bp 
 avec  B  f uT H uu1 f u
p  Cx  A p
T
C  H  H H 1 H
 xx ux uu xu
 p( t f )    xx x x   x ( t f ) 
   T       T 
      x 0      avec   L
 0   T       t  H  
 T 
   x   t f 

Les perturbations x(t0) et  sont fixées, on cherche p(t0), tf et .

• On cherche une solution linéaire sous la même forme que les conditions finales.
→ « transport » des conditions finales vers la date initiale

 p( t )   S M  T   x ( t ) 
T
   
    M N  T     → forme symétrique semblable aux conditions finales
      
   t f 
   
1436
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Extrémale voisine


Méthode de transport
• On dérive par rapport au temps ( ,  , tf et  sont des constantes)

 p( t )   S M  T   x ( t )   p   S M
T  T   x   S M T  T   x 
T
         
    M N  T       0    M  N
  T       M N T   0 
      
   t f   0      
   t f    

   0 
         

 x  Ax  Bp


• En remplaçant x et p par  et p par p( t )  Sx ( t )  M T    T t f
p  Cx  A p
T

on obtient le système différentiel vérifié par les matrices S , M , N ,  ,  , .

S  SA  A T S  SBS  C avec S( t f )   xx ( t f )


M  M(BS  A) avec M( t f )   Tx ( t f )
  MBM T
N avec N( t f )  0 → à intégrer à rebours
à partir des conditions finales à tf
  (BT S  A) avec ( t f )  xT ( t f )
  BT M avec ( t f )   T ( t f )
  BT  T avec  ( t )    (t )
f f 1437
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Extrémale voisine


Méthode de transport
• L’intégration à rebours donne les matrices S , M , N ,  ,  ,  à la date initiale t0.
On obtient p(t0), tf et  en résolvant le système linéaire à la date initiale.

 p( t 0 )   S M  T   x ( t 0 ) 
T
   
     M N  T
 ( t 0 
)   avec x(t0) ,  fixés et  = 0
      
  t f 
    
• La solution en fonction de x(t0) ,  est

  N 1
  Mx(t 0 ) M  M
T 

x ( t 0 )   T


t f   avec N  N
 

1 1 T
p( t 0 )  ( S  M N M )x ( t 0 )  M N 
T T
S  S

• On obtient l’extrémale voisine en intégrant x et p à partir de x(t0) et p(t0).

1438
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Extrémale voisine


Méthode de transport réduite
• On peut éliminer l’inconnue tf à partir des conditions finales.
 p( t f )    xx x x   x ( t f ) 
   T  
     x 0     
 0   T
   x  T    t 
 f   t f   x 
 1  T x ( t )   T 
f 
• Les conditions finales se réduisent à
 p( t f )    xx  x 
 1 T  1 T   x ( t f ) 
 x  x   S ( t f ) M ( t f ) T   x ( t f ) 
    T x x 
1 T     def 
   
 
  
     x      
       M ( t f ) N( t f )    
1 T
x 

• La méthode de transport s’applique sous la forme réduite.


S   S A  A T
S  SBS  C
 p( t )   S M T   x ( t )  
    
  
 avec M  M (B S  A) à intégrer à rebours
   M N      à partir des conditions à tf
N  M BM T

• Si le temps final est fixé :  =  =  = 0 et S  S , M  M , N  N


1439
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Résumé 7
Calcul d’une extrémale voisine
tf
min J   L(x, u, t)dt  x(t f ), t f  avec x  f ( x, u, t ) , x ( t 0 ) fixé
x ( t f ), t f   0 → q contraintes
u,t f
t0

Solution nominale  x 0 ( t ), u 0 ( t ), p 0 ( t ), t 0f A  f xT  f uT H uu1 H xu



Stockage des matrices  A( t ), B( t ), C( t ) avec B  f uT H uu1 f u
C  H xx  H ux H uu1 H xu

Intégration à rebours  S ( t ), M ( t ), N( t ), ( t ), ( t ),  ( t )

Adjoint, multiplicateurs  p 0  ( S0  M 0T N 01M 0 )x 0  M 0T N 01 Perturbations


  N 01 (  M 0 x 0 ) x(t0) , 
x  Ax  Bp
Intégration directe  
p  Cx  A p ou p( t )  S ( t )x ( t )  M ( t ) T 
T

x ( t 0 )  
Solution état et adjoint  x ( t ) , t  [ t 0 , t f  t f ] avec t f  
p( t ) 
1440
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Extrémale voisine


Commande feedback
• Les matrices S ( t ), M ( t ), N( t ), ( t ), ( t ),  ( t ) sont calculées le long de la trajectoire nominale.
Elles permettent d’exprimer la correction de commande et de temps final en retour d’état.

u  H uu1 (H xu x  f u p) avec p  ( S  M T N 1M )x  M T N 1


  N 1 (  Mx )


u  H uu1 (H xu  f u ( S  M T N 1M ))x  f u M T N 1
 
 

t f    1 (  N 1M )x  N 1 
u  K x ( t )x ( t )  K  ( t ) x = écart observé avec la trajectoire nominale

  avec
t f  k x ( t ) x ( t )  k  ( t )   = écart demandé sur les contraintes

• Les corrections u et tf sont exprimées avec des gains sur les écarts x et .
Les gains sont calculés sur la trajectoire nominale et stockés en fonction du temps
(ou pour plus de robustesse en fonction du temps restant tf  t = « time to go »).
→ méthode de guidage implicite
1441
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Extrémale voisine


Commande feedback
• Les corrections u et tf dépendent de : - l’écart observé x(t) à la trajectoire nominale
- l’écart demandé  sur les contraintes finales
• L’état réel x(t) est estimé en utilisant des mesures de senseurs et des modèles dynamiques
L’écart  est actualisé si la cible est estimée par des mesures (=0 si la cible est fixée).

t0 t trajectoire nominale tf nom

stocké en mémoire xnom(t) unom(t) nom=0 tf

mesures xréel(t) x(t) u(t) mesures 

kx(t) Kx(t) K(t) k(t)


u(t)
correction
tf

1442
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 17 : mise en orbite


Formulation
• On considère une trajectoire à accélération constante dans le plan vertical (x , z) en terre plate.
 x
Position : r   z
z  vx(tf)

Vitesse : v   v x  zc 
 vz  a

Gravité : g   0 
 g 
a   a cos   , a = Cte

Accélération :
 a sin   
u   cos  
 g
Commande :
 sin  

Equation d’état :  r  v  x
v  g  au

• On cherche la trajectoire atteignant à tf fixé : z ( t f )  z c → altitude zc


v ( t )  0 → vitesse verticale nulle
 z f
tf

en maximisant la vitesse horizontale finale : 


v x ( t f )  a cos  dt
t0 1443
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 17 : mise en orbite


Conditions d’optimalité
• Problème en temps fixé
tf
avec z  v z( t )  z c
et  f

 
min J  a cos  dt
t0
v  a sin   g  v( t f )  0
(notation vz = v)

• Hamiltonien : H  a cos   p z v  p v (a sin   g)

• p z  H z  0  pz   ( et  constantes)
Adjoint : p  H  p  p v  (   t )
 v v z

• Commande : min H  tan   p v


• Dérivées f : f   v   f   0 0  , f  0 , a cos 
 1 0 
 a sin   g   
x u

H xx   0 0  , H ux   0  , H uu  a cos   p v a sin  
a
• Dérivées H :
 0 0  0 cos 

z( t )  z c 
• Dérivées  :    f    x  1 0 
 v( t f )   0 1 1444
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 17 : mise en orbite


Trajectoire
• Le problème de vitesse horizontale maximale à temps fixé se résout comme
le problème de temps minimum à vitesse fixée par passage en variable  : tan   tan  0  ct
a  1  a  1 
• Vitesse : vx  ln tan  0    ln tan  
 c  
c  cos  0  cos  
a 1 1 
vz    
c  cos  0 cos  

a  1 1  1   1 
x             
2 
• Position : tan ln tan tan ln  tan 0 
c  cos  0 cos   cos    cos  0  
a  tan  0 tan  2 tan   1   1 
z 2     ln tan     ln  tan   
2c  cos  0 cos  cos  0  cos    0
cos  0 

1 1   1   1   4z c
         0
• Solution 0 :
sin  0 2 tan 2  0
 
ln

tan 0 ln  cos  tan   at 2
  cos 0   0  f

Valeur de c : ct f  2 tan  0
1445
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 17 : mise en orbite


Méthode de transport
• Matrices A , B , C
A  f xT  f uT H uu1 H xu
 T 1
B  f u H uu f u  A   0 1  , B  a cos 3   0 0  , C   0 0 
C  H xx  H ux H uu1 H xu  0 0 0 1   0 0

• Matrices S , M , N
S  SA  A T S  SBS  C avec C   0 0  → Solution S   0 0 
S( t )   ( t )  0 0  0 0
 f xx f

M  0,
11 M11 ( t f ) 1  M11  1
   0, M  0
M  M(BS  A) M M 21 ( t f )  0  1 tf  t 
  
21
  21  M   
M ( t f )   x ( t f )  
M12  t f  t
T
 M12   M11 , M12 ( t f )  0  0 1 
M   M 22  1
 22   M 21 , M 22 ( t f ) 1

N 3  t f  t 
N  MBM T   
N ( t  t ) 2
 N( t )  0   11 12 
  a cos   f
 f

 N 21

N 22   tf  t 1 
1446
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 17 : mise en orbite


Méthode de transport
• On passe en variable  pour intégrer les composantes de la matrice N.

d tan  f  tan 
tan   p v    t  dt  et t f  t 
 cos 2  
dN11 dN11 a
• Terme N11 :  a ( t f  t ) 2 cos 3    3 (tan  f  tan ) 2 cos 
dt d 
a  sin   sin  f  1   1 
Solution : N11  3   ln  tan     ln  tan  f   , N11 ( t f )  0
  cos  f 2
 cos    cos  f 
dN12 dN12 a
• Terme N12 :  a ( t f  t ) cos 3    2 (tan  f  tan ) cos 
dt d 
a cos(   f )  1
Solution : N12  2 , N12 ( t f )  0
 cos  f
dN 22 dN 22 a
• Terme N22 :  a cos 3    cos 
dt d 
a
Solution : N 22  (sin   sin  f ) , N 22 ( t f )  0

1447
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 17 : mise en orbite

 
Matrices de gains
• Commande feedback : u  H uu1 (H xu  f u (S  M T N 1M))x ( t )  f u M T N 1

f u  0 , a cos  , H ux   0  , H uu 
a
• Matrices utiles :
 0 cos 
1  N 22  N12 
S   0 0  , M  1 t f  t  , N 1  
 0 0 0 1  det N   N12 N11 

 u  H uu1 f u M T N 1 (Mx  ) det N  N11 N 22  N12


2

• Ecart observé sur l’état : x   z  Ecart demandé sur les contraintes :    z f 


 v   v f 

 Mx     z  ( t f  t )v  z f  → écarts prédits sur z(tf) et v(tf)


 v  v f 

cos 2  N 22  N12 
avec H uu1 f u M T N 1  0 11t  t 10   N N11 
det N  f  12

cos 2 
 N 22 (t f  t )  N12 , N11  N12 (t f  t )
det N
1448
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 17 : mise en orbite


Matrices de gains
• On obtient la correction :   K z z  ( t f  t )v  z f   K v v  v f 
cos 2 
avec les gains : Kz  ( N 22 ( t f  t )  N12 ) → fonctions de nom(t) et tf  t
det N
cos 2 
Kv  ( N11  N12 ( t f  t ))
det N
a  sin   sin  f  1   1 
et les fonctions : N11    ln  tan     ln  tan  f  
3  cos 2  f  cos    cos  f 
a cos(   f )  1
N12  2
 cos  f
a tan  f  tan  0
N 22  (sin   sin  f ) avec  
 tf

• Si les contraintes finales sont fixées (zf=0 et vf=0), la correction se met sous la forme
K  K z / K1
  K1 (v  K 2 z) avec  2
K 1  K v  K z ( t f  t )
1449
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 17 : mise en orbite


Application numérique
• Altitude finale : zc = 200 km → Vitesse finale : vf = 7758 m/s
Date finale : tf = 300 s 0 = 28,08 deg
Accélération : a = 3 g (g = 9 m/s² )  = 0,0035

• Gains K1 et K2 à conditions finales fixées (zf=0 et vf=0) :   K1 (v  K 2 z)


K1 , K2 < 0 → tracé de log(K)

log (-gain) Gains


Altitude Trajectoire 256
200
(km)
128
Gain K1
150 64
Gain K2
32

100 16

50 4

2
Distance (km) Temps (s)
0 1
0 200 400 600 800 1000 1200 0 50 100 150 200 250 300

1450
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Extrémale voisine


Méthode de guidage
• Un guidage explicite consiste à calculer l’extrémale vraie à partir de l’état courant x(t).
Un guidage implicite consiste à calculer l’extrémale voisine à partir de l’écart x(t).
→ approximation de la solution optimale

• Comparaison

Guidage explicite Guidage implicite


Problème résolu Problème complet non linéaire Problème auxiliaire LQ
Extrémale Vraie à partir de x(t)+x Voisine (linéarisée autour de xnom)
Robustesse Variable selon le problème Domaine linéaire autour du nominal
Besoin calcul Elevé (itérations sur u) Réduit (correction en u)
Besoin mémoire Réduit Elevé (matrices de gains)

• On peut aussi appliquer un guidage explicite en réduisant le problème non linéaire


(commande simplifiée, fonction coût ou contraintes relaxées) → guidage pseudo-explicite

1451
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Variation seconde


Coût augmenté
• On considère un problème de contrôle non linéaire à temps final libre et contraintes finales.
tf
min J 
u,t f  L(x, u, t)dt  x(t f ), t f  avec x  f ( x, u, t ) , x ( t 0 ) fixé
t0 x ( t f ), t f   0 → q contraintes
• Le coût augmenté Ja est formé en ajoutant au coût
- les contraintes dynamiques avec un vecteur adjoint p(t)
- les contraintes finales avec des multiplicateurs 
tf tf
 H  L  p T f

J a  [L  p (f  x )]dt        (H  p x )dt  
T T T
avec 
    T 
t0 t0

• Les conditions de minimum s’obtiennent à partir des variations première et seconde de Ja.
La variation première donne les conditions vérifiées par les extrémales.
La variation seconde donne les conditions vérifiées par les extrémales voisines.

• On calcule les variations première et seconde du coût augmenté pour des variations de
- x(t) , u(t) , p(t) → sur la trajectoire de t0 à tf
- x(t0) , x(tf) , tf ,  → sur les conditions initiales et finales (→ contraintes =0)
1452
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Variation seconde


Variation première de Ja
tf
 H  L  p T f
Ja   (H  p x )dt  
T
avec 
    T 
t0

• Variations à appliquer : x(t) , u(t) , p(t) , x(t0) , x(tf) , tf ,  → contraintes =0
tf


J a  (H Tx x  H Tu u  f T p  p T x  x T p)dt  (H  p T x ) f   Tx (x f  x f t f )   t t f  T 
t0

Lf   d   T x  
 x t
dt

    p x dt
tf tf


tf
• Intégration par parties : p T x dt  p T x t0
T

tf t0 t0


t0
  L) t  T   p T x
 J a  [(H x  p ) T x  H Tu u  (f  x ) T p] dt  ( x  p) Tf x f  ( f f 0 0

 L
On définit :    
def
1453
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Variation seconde


Variation première de Ja
tf


J a  [(H x  p ) T x  H Tu u  (f  x ) T p] dt  ( x  p) Tf x f  f t f  T   p T0 x 0
t0

• La stationnarité de Ja donne des conditions nécessaires d’ordre 1 pour un minimum.

x  f  f  0 H  L  p T f

J a  0  p   H x , f  0 avec     T 
H u  0 p f   x     L    H  à t car p  
 t f f x
→ conditions vérifiées par les extrémales pour x0=0 , =0

• Le signe de la variation seconde donne des conditions d’ordre 2.

2Ja  0  pour toute variation admissible

Pour calculer la variation seconde de Ja , on applique sur Ja des variations de


- x(t) , u(t) , p(t) → sur la trajectoire de t0 à tf
- x(t0) , x(tf) , p(t0) , p(tf) , tf ,  ,  → sur les conditions initiales et finales

1454
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Variation seconde


Variation seconde de Ja
tf


J a  [(H x  p ) T x  H Tu u  (f  x ) T p] dt  ( x  p) Tf x f  f t f  T   p T0 x 0
t0

• Variations à appliquer : x(t) , u(t) , p(t) , x(t0) , x(tf) , p(tf) , tf ,  , 


tf
2Ja  
t0
[x T (H xx x  H ux u  H px p  p )  u T (H xu x  H uu u  H pu p)

 p T (f xT x  f uT u  x )] dt

 x Tf ( xx (x  x t )   xt t   x   p  p t ) f

 t f (xT (x  x t )  t t  uT u  T ) f  T ( Tx x   t ) f  T   x T0 p 0

    x
tf tf


tf
• Intégration par parties : x T p dt  x T p t0
T
p dt
t0 t0

1455
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Variation seconde


Variation seconde de Ja
• En utilisant les relations : H p  f ,       ,   
 , u  H u  0

et les dérivées totales :    T x  


 x t

   x x   t   Tx f   t
T


 ( )     T f   T f       Tf
x xx x x tx x x x
x
  d x   T f  
avec  x xx tx
dt
la variation seconde devient
tf
2Ja  
t0
[x T H xx x  x T H ux u  u T H xu x  u T H uu u  2p T (f xT x  f uT u  x )] dt

 t   T f t  p t )  t ( T x  
 x Tf ( xx x    t )  2T ( T x  
 t  ) f
x x x f f x f x

avec   L
 pf   x p  H x  L x  p T f x

→ Il reste : x t f
1456
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Variation seconde


Variation seconde de Ja
• On obtient après simplification
tf
2Ja  
t0
[x T H xx x  x T H ux u  u T H xu x  u T H uu u  2p T (f xT x  f uT u  x )] dt

 t )  2T ( T x   t  )
 x Tf ( xx x  x t ) f  t f (xT x   f x f 0
x  f ( x, u, t ) x  f T x  f uT u
avec    T x à l’ordre 1 0
( x f , t f )    x x f   t f  
tf
  xx x  x 
T T
 J a   x   xx
H ux  x 
 dt   x 
• 2 H
Sous forme matricielle :    T   t 
 u   H xu H uu  u   t  f  x    f
t0

x  f xT x  f uT u
avec les contraintes :  T
 x x f   t f  

• Cette formulation correspond au problème de « minimum auxiliaire ».


Elle permet : - de retrouver les équations des extrémales voisines
- d’exprimer des conditions suffisantes de minimum
1457
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème auxiliaire


Définition
• Le problème de minimum auxiliaire (« accessory minimum problem ») est le problème LQ
obtenu en développant le coût à l’ordre 2, la dynamique et les contraintes à l’ordre 1.
tf
 2 J a 1  x  T  H xx H ux  x  1  x  T   xx x  x  x  f xT x  f uT u
min
u ,t f 2
 
    
2  u   H xu H uu  u 
t0
dt     T   t  sous 
2  t  f  x   f    Tx x f   t f

Le temps final est fixé (tf est un paramètre). Les perturbations x(t0) et  sont données,
On résout ce problème LQ en lui appliquant les conditions nécessaires d’optimalité.
1  x  T  H xx H ux  x  T T
• Hamiltonien noté Hq : Hq        p q (f x x  f uT u )
2  u   H xu H uu  u 

H q
• Adjoint noté pq : p q    H xx x  H ux u  f x p q → associé à x
x
• Commande : min H q  H uu u  H xu x  f u p q  0  u  H uu1 (H xu x  f u p q )
u

• Transversalité : p q ( t f )   xx x f  x t f   x  q → multiplicateurs q
tf
H q H q
• Paramètre tf :  t  
xT x f   f  q 
 t
t0 f
dt  0 avec
t f
0
1458
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème auxiliaire


Solution
• En notant le vecteur adjoint p (au lieu de pq) et les multiplicateurs  (au lieu de q)
les conditions d’optimalité du problème auxiliaire sont

x  f xT x  f uT u    Tx x f   t f
  
p  H xx x  H ux u  f x p avec p( t f )   xx x f  x t f   x 
u  H uu1 (H xu x  f u p) 0  xT x f    t   
 f

  xx x x   x ( t f )   p( t f ) 
    
→ sous forme matricielle :   Tx 0         
 T  T    t   0 
 x  f   

• On retrouve les équations des extrémales voisines


(obtenues précédemment de façon directe par perturbation des conditions d’ordre 1).

Les extrémales voisines sont les extrémales du problème de minimum auxiliaire.

→ justifie l’utilisation d’une fonction coût en écart quadratique pour du guidage


(intérêt du coût quadratique = existence de solution explicite).
1459
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème auxiliaire


Solution
• La solution du problème de minimum auxiliaire correspond aux extrémales voisines.
La méthode de transport fournit la solution pour des perturbations x(t0) et  données.


  N 1   Mx ( t 0 )  M  M  T  / 

t f  x ( t 0 )    /  avec N  N  T / 


u  H uu1 (H xu  f u ( S  M T N 1M ))x  f u M T N 1  S  S  T / 

• Les matrices de transport S , M , N ,  ,  ,  sont obtenues par intégration à rebours.

S  SA  A T S  SBS  C avec S( t f )   xx ( t f )  A  f xT  f uT H uu1 H xu



M  M(BS  A) avec M( t f )   Tx ( t f ) et  B  f uT H uu1 f u
  MBM T C  H  H H 1 H
N avec N( t f )  0  xx ux uu xu

  (BT S  A) avec ( t f )  xT ( t f )


  BT M avec ( t f )   T ( t f )
  B T  T avec  ( t )    (t )
f f
1460
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème auxiliaire


Valeur du coût
• La solution du problème de minimum auxiliaire correspond aux extrémales voisines.
La méthode de transport fournit la solution pour des perturbations x(t0) et  données.
On cherche à calculer le coût 2Ja sur l’extrémale voisine associée à x(t0) et .
tf
 x  x 
T T
    H xx H ux  x    

x
 Ja    
2 x
dt     xx

 u   H xu H uu  u 
   t 
 t  f  x 
T
t
 f
0

• On utilise la relation suivante.


 x 
T
 S M T  T  x 
T
 x   H xx H ux  x  d    T  
 u   H    v T H uu v      M N    
   xu H uu  u  dt  t f
       t f 
   

avec v  u  H uu1 (H xu  f u S)x  f u M T   f u  T t f
def

• Démonstration
Cette relation se vérifie en remplaçant v dans le second membre, en dérivant la parenthèse
et en utilisant les équations différentielles liant les matrices de transport (calcul long).

1461
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème auxiliaire


Valeur du coût
• La formule précédente permet de mettre le terme intégral de 2Ja sous la forme
t
tf tf  x 
T
 S M T  T  x 
f
T
 x   H xx H ux  x     T  
  u   H
   xu
 
H uu  u  
dt  v T H uu v dt   
 t f
  M N    
     t f 
t0 t0
     t0
• Le terme final de 2Ja s’exprime en fonction des matrices de transport.

S( t f )   xx ( t f )
  xx x  x  
T T
 x   x   S  T  x 
 t   T   t    t      t  car ( t f )  xT ( t f )
 f  x    f  f    f  (t )
 ( t f )   f

Ce terme final s’élimine avec les termes en x(tf) et tf venant de l’intégrale.
On obtient après simplification
t
tf  x 
T
 0 M T 0  x   f
T
     T  
 2 J a  v T H uu v dt   x   S   x  ( t 0 )   

T
  M N    
 t f      t f 
 t f   0  0  t f
  

t0
t0

1462
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème auxiliaire


Valeur du coût
• On développe le dernier terme en utilisant la relation de transport :   Mx  N   T t f

 x 
T
 0 M T 0  x 
   T  
             N
T T T
  M N  2 ( M x t f )
t
 f   0  0  t f   2T (  N)  T N
 
 2T   T N

• Le terme T ne dépend pas du temps → même valeur en t0 et tf


La condition finale sur N est N(tf) = 0 → le dernier terme se réduit à T N(t0)  .

tf T
 T
Il reste :  Ja 
2
 v H uu v dt   x   S   x  ( t 0 )  T N( t 0 )
T
 t f      t f 
t0

• On utilise ensuite les relations de transport pour exprimer tf et  en fonction de x(t0) et .
  x     t f  0
  Mx  N   T t
 f
1463
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème auxiliaire


Valeur du coût
x  
• On remplace d’abord tf : t f  

T
 x   S  T  x   T N  x T Sx  2x T  T t  t t  T N
 t      t  f f f
 f   f 
x   (x   ) T (x   )
 x Sx  2x 
T T T
  T N
 
T
T   T 
  x    N   

 x  S  T
     
  S  S   T  / 

 x T S x  T N M  M    / 
T
avec les matrices réduites
N  N  T / 

• On remplace ensuite  :   Mx  N   T t f  Mx  N    N 1 (  Mx )

 x T S x  (  Mx ) T N 1 (  Mx )

 x T ( S  M T N 1 M )x   T N 1   T N 1 M x  x T M T N 1

1464
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème auxiliaire


Valeur du coût
• On obtient l’expression de 2Ja en fonction des perturbations x(t0),  et de la commande u.
tf T
 S  M T N 1M M T N 1  x  ( t )
 Ja 
2
 v H uu v dt   x 
T
  
    N 1M  N 1    0
t0


avec v  u  H uu1 (H xu  f u S)x  f u M T   f u  T t f 
• La valeur minimale est obtenue pour v = 0 car Huu  0 (condition nécessaire de minimum).
p  Sx  M T    T t f

v  0  u  H uu1 (H xu x  f u p) avec t f   (x   ) / 
  N 1 (  Mx )


 u  H uu1 (H xu  f u ( S  M T N 1 M ))x  f u M T N 1 
On retrouve la commande associée à l’extrémale voisine (= solution du problème auxiliaire).

• Cette solution permet : - d’obtenir les dérivées du coût par rapport aux perturbations
- d’exprimer des conditions suffisantes de minimum

1465
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème auxiliaire


Dérivées du coût
• Les variations première et seconde de Ja dues aux perturbations x(t0),  sont

Variation première : J a  p( t 0 ) T x ( t 0 )  T 
T
 S  M T N 1M M T N 1  x  ( t )
Variation seconde :  J a   x 
2
  
    N 1M  N 1    0

• On obtient le développement à l’ordre 2 du coût augmenté.

1  x  T  S  M T N 1M M T N 1  x  ( t )
J a  p( t 0 ) x ( t 0 )       
T T
 
2     N 1M  N 1    0

• Cette expression fait apparaître les dérivées premières et secondes du coût minimum
par rapport aux perturbations de l’état initial x(t0) et des contraintes .

J J  2J 1  2J 1  2J 1
( t 0 )  p( t 0 ) ,   , 2 ( t 0 )  S  M N M ,
T
  N ,  N M
x  x  2
x 

1466
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Résumé 8
Problème de minimum auxiliaire
• Formulation
tf
 2 J a 1  x  T  H xx H ux  x  1  x  T   xx x  x  x  f xT x  f uT u
min
u ,t f 2
 
    
2  u   H xu H uu  u 
t0
dt     T   t 
2  t  f  x   f
sous 
   Tx x f   t f

pour des perturbations données de l’état initial x(t0) et des contraintes 

• Solution = extrémale voisine → matrices de transport S , M , N

• Variation du coût à l’ordre 2


1  x  T  S  M T N 1M M T N 1  x  ( t )
J a  p( t 0 ) x ( t 0 )       
T T
 
2     N 1M  N 1    0
• Dérivées du coût

J J  2J 1  2J 1  2J
( t 0 )  p( t 0 ) ,   , 2 ( t 0 )  S  M N M ,
T
 N ,  N 1 M
x  x  2
x

1467
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Conditions de minimum


Extrémale de référence
• L’extrémale de référence (ou nominale) correspond à des perturbations x(t0) et  nulles.
La variation du coût se réduit à

 
tf
2Ja   v H uu v dt avec v  u  H uu1 (H xu  f u ( S  M T N 1 M ))x  f u M T N 1
T

t0

• Si Huu > 0 , 2Ja est positif et ne peut s’annuler que si v = 0.


v  0  u  H uu1 (H xu  f u ( S  M T N 1 M ))x  f u M T N 1 
• Si les matrices H uu et N sont inversibles et si la matrice S  M T N 1 M reste finie,
alors u = 0 pour des perturbations x(t0) et  nulles.
La seule solution donnant 2Ja = 0 est donc l’extrémale de référence (u = 0).
Ces conditions sont suffisantes pour que l’extrémale soit un minimum.

• La condition Huu inversible est réalisée si on impose Huu > 0 .


La condition N inversible est réalisée si on impose N  0 .

1468
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Conditions de minimum


Conditions suffisantes de minimum
• On peut exprimer les conditions suffisantes de minimum sous la forme

H uu  0 sur [ t0 , tf [ → condition de convexité (ou de LegendreClebsch)

N  0 sur [ t0 , tf [ → condition de normalité

S  M T N 1 M finie sur [ t0 , tf [ → condition d’absence de point conjugué (ou de Jacobi)

• La condition de convexité renforce la condition nécessaire (Huu  0) → Huu inversible.


• La condition de normalité renforce la propriété N  0.

 N  N   T  /  avec N( t f )  0
N vérifie   T 1
 N  0 si  ( t f )  0
 N  M B M T
 0 car B  f u H f
uu u  0

• La condition de point conjugué assure que u = 0 est la seule solution.


Sinon une extrémale différente et meilleure peut exister à partir du point conjugué
pour rejoindre les conditions finales.

1469
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Conditions de minimum


Point conjugué
• L’extrémale admet un point conjugué C à la date tc si ( S  M T N 1 M )( t c )  

• 
La commande u obtenue par u  H uu1 (H xu  f u ( S  M T N 1 M ))x  f u M T N 1 
n’est plus nécessairement nulle à partir de tc .
Elle permet d’atteindre les conditions finales (=0) en un point F’F
à partir de C sans variation du coût (2Ja=0 sur CF’ car v=0) → JOCF’ = JOCF

• On peut alors chercher un chemin OF’ direct sans passer par C. → JOF’  JOCF
Le coût de OF’ sera inférieur ou égal au coût de OCF’ → JOF’  JOCF’
L’extrémale OCF n’est pas nécessairement la meilleure.

F’
tf'

O C F
x(t0) t0 u=0 , Ja=0 tc u=0 , Ja=0 tf 1470
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 18 : point conjugué


Distance minimale sur la sphère
• On cherche les courbes de distance minimale entre 2 points O et F sur la sphère.

• Coordonnées sphériques :  = latitude (méridiens)


 = longitude (équateur)
  0
O  0 , F   f 
 → choix des axes de référence 
 0  0   f  0  facilitant la résolution
O  F
• Distance en coordonnées sphériques
x  cos  cos 
 y  cos  sin   ds  dx  dy  dz  d  d cos 
2 2 2 2 2 2 2

z  sin 

• On considère  et  comme des fonctions du temps, avec la commande égale à leurs dérivées.

Etat (noté x) : x   1     
x Commande : u   1 
u    u1
 x 2    u2    u 2
 ds 2  d 2  d2 cos 2   (u 22  u12 cos 2 x 2 )dt 2
1471
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 18 : point conjugué


Extrémales
• Formulation
tf
x(t )  x O
avec x 1  u1 et  0

min J 
u,t f 
t0
u 22  u12 cos 2 x 2 dt
x 2  u 2 x ( t f )  x F

On cherche les extrémales en écrivant les conditions nécessaires d’ordre 1.

• Hamiltonien : H  u 22  u12 cos 2 x 2  p1u1  p 2 u 2 avec L  u 22  u12 cos 2 x 2


 u1 cos 2 x 2
H u1   p1  0 u12 cos 2 x 2 (cos 2 x 2  p12 )  u 22 p12 0
• Commande :  L   2
H u  u 2  p 2
2 2
u1 cos x 2 (p 2 )  u 2 (1  p 2 )  0
2 2
0
 2 L

• Solution : u2 = 0  x2 = 0 , p1 = 1 , p2 = 0
(u1 = 0 ne permet de respecter la contrainte sur f)

L’extrémale est un arc de grand cercle suivant l’équateur d’équation x2 =  = 0.


On cherche si l’extrémale vérifie les conditions suffisantes de minimum.
1472
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 18 : point conjugué


Conditions d’ordre 2
• La solution étant suivant l’équateur, on reformule le problème en variable  au lieu de t.
L’état se réduit à une seule composante (), ce qui simplifie l’étude des conditions d’ordre 2.

• Formulation en variable 
f
d ( 0 )   0  0
min J   u 2  cos 2  d avec    u et 
u d ( f )   f  0
0

• Extrémale : u = 0 ,  = 0 → vérifie les conditions nécessaires d’ordre 1

• Pour exprimer les conditions d’ordre 2, il faut les matrices S , M , N.

S  SA  A T S  SBS  C avec S( t f )   xx ( t f )  A  f xT  f uT H uu1 H xu



M  M(BS  A) avec M( t f )   Tx ( t f ) et  B  f uT H uu1 f u
  MBM T C  H  H H 1 H
N avec N( t f )  0  xx ux uu xu

• On calcule les dérivées de f et H le long de l’extrémale u = 0 ,  = 0.


1473
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 18 : point conjugué


Matrices A , B , C
• Dérivées de f : f  u  f  0 , fu  1

Dérivées de H : H  u 2  cos 2   pu  L  pu avec L  u 2  cos 2 


 sin 2 u
 H  L , H u  Lu  p avec L   , Lu 
2L L
1 2L cos 2  L  sin 2
 H   L   
2 L2
L
H u  L u  u 2u
L
L  uL u
H uu  L uu 
L2

L  1 H   1
 u  0  L  0  H   0
• Valeurs sur l’extrémale :     u
  0 L u  0 H uu  1

• Matrices A , B , C : A = 0 , B = 1 , C = 1

1474
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 18 : point conjugué


Matrices S , M , N
• Equations différentielles vérifiées par les matrices (de taille 1).
S  S2  1 avec S( f )   xx ( t f )  0  S()   tan( f  )
1
  MS
M avec M( f )   Tx ( t f )  1  M ( ) 
cos( f  )
  M2
N avec N( f )  0  N()   tan( f  )

1
• Commande feedback : S  M T N 1M 
tan( f  )   f
 u   
1 tan( f  ) sin( f  )
M T N 1 
sin( f  )

1
• Point conjugué : S  M T N 1M    si  f    
tan( f  )
L’extrémale passe par un point conjugué si l’angle OF est supérieur à  (distance > ½ tour).
Elle n’est pas optimale dans ce cas (il existe un chemin plus court en partant en sens inverse).

1475
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Arc singulier


Conditions de minimum
• Un arc singulier apparaît lorsque Hu ne dépend pas explicitement de la commande u.
La condition nécessaire de minimum Huu  0 est bien vérifiée car Huu = 0,
mais elle n’apporte aucune information sur l’optimalité de l’arc singulier.

• Pour établir des conditions nécessaires plus fortes, on part de la variation du coût augmenté
et des équations des extrémales voisines.
tf T
 J a   x   xx ux  x  dt  (x T  xx x ) f

2 H H (pour un problème à temps final fixé)
 u   H xu H uu  u 
t0

x  f xT x  f uT u    Tx x f
p  H x  H u  f p avec  et     T 
 xx ux x p f   xx x f

• La fonction  = Hu est identiquement nulle le long de l’arc singulier.


 0
[ x ( t ), p( t ), u ( t ), t ]  0 , t  I  
 , t  I
  0
•  ,
On cherche à exprimer ²Ja en fonction des dérivées de  ,   par rapport à u.

1476
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Arc singulier


Variation seconde tf


• On exprime d’abord ²Ja en fonction de  :  J a  (x T  x  p T  p  u T  u )u dt
2

t0
• Vérification par différence
tf tf T

 (x  x  p  p  u  u )u dt   x   xx ux  x  dt



T T T H H
 u   H xu H uu  u 
t0 t0
tf
 
t0
(x T H ux u  p T H up u  u T H uu u  x T H xx x  x T H ux u  u T H xu x  u T H uu u )dt

tf


 [p T H up u  (p T  p T H xp )x ]dt
t0
en utilisant p  H xx x  H ux u  H px p

tf
  (p x  p T x )dt x  H xp x  H up u
T
en utilisant
t0

 tf
 p T x t 0  p Tf x f  p T0 x 0  (x T  xx x ) f avec p f   xx x f
et x 0  0
1477
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Arc singulier


Intégrale première
• Pour exprimer ²Ja en fonction des dérivées de , on utilise la relation suivante.
d  TF  0
Si la fonction F(X) est une intégrale première du système d’état X, i.e. [F(X)]  X X
dt
d
alors F vérifie la relation : [X T FX ]  X T F X
dt
• Vérification : on calcule la dérivée totale de F(X+X) de 2 manières.
d d d
[F(X  X)]  [F(X)  X T FX ]  [X T FX ] car F(X)  C te
dt dt dt
d d 
[F(X  X)]  [X  X]T [F(X  X)] (dérivée totale)
dt dt X
 (X  ) T  [F(X)  X T F ]  (X
  X   X
 ) T (F  F X)
X X XX
X
 T F  X T F X
 X   TF  0
à l’ordre 1 avec X
X XX X

 
T
  dF    X 
 X T F X car F X     TF  
X X 
 FX  FXX X


X  dt  X  X 
1478
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Arc singulier


Intégrale première
 sont constantes et nulles le long de l’arc singulier.
• Les fonctions  et 

[ x ( t ), p( t ), u ( t )]  0  intégrales premières




 [ x ( t ), p( t ), u ( t )]  0
d
• On applique la relation (X T Fx )  X T F x pour les fonctions  et  
dt et le vecteur X = (x,p,u)

• Pour la fonction  : X T  X  x T  x  p T  p  u T  u
d   p T 
  u T 

 (x T  x  p T  p  u T  u )  x T  x p u
dt

•  :
Pour la fonction    x T 
X T    p T 
  u T 

X x p u

d   p T 
  u T 
 )  x T 
  p T 
  u T 

 (x T  x p u x p u
dt
d2   p T 
  u T 

 (x T  x  p T  p  u T  u )  x T  x p u
dt 2 1479
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Arc singulier


Variation seconde tf


• On intègre ensuite par parties  2 J a  (x T  x  p T  p  u T  u )u dt
t0

d   p T 
  u T 

- une première fois en utilisant : (x T  x  p T  p  u T  u )  x T  x p u
dt

    (x
tf
tf
 2 J a  (x T  x  p T  p  u T  u )u1 T   p T 
   u T 
 )u ( t ) dt
t0 x p u 1
t0
t


avec u1 ( t )  u () d
t0
d   p T 
  u T 
 )  x T 
  p T 
  u T 

- une deuxième fois en utilisant : (x T  x p u x p u
dt

 2 J a  (x T  x  p T  p  u T  u )u1   (x
tf
t0
T   p T 
 x
  u T 
p
 )u
u 2 tf
t0
tf


t0
  p T 
 (x T  x
  u T 
p
 )u ( t ) dt
u 2
t


avec u 2 ( t )  u1 () d
t0
1480
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Arc singulier


Conditions de minimum
• Une condition nécessaire de minimum est : ²Ja  0 , u admissible

• On considère une variation de commande formée de 2 impulsions successives opposées.

t  t1   u
 0 si
 a si t1    t  t1
u ( t )   a  t  t1  
 0
si t1 t1 t1 t1+
t
 si t  t1  

t
u1


u1 ( t )  u () d
t0
t1 t1 t1+ t

t
u2


u 2 ( t )  u1 () d
t0
t1 t1 t1+ t
1481
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Arc singulier


Conditions de minimum
x  f xT x  f uT u
• La variation seconde ²Ja dépend de u, x, p avec  
p  H xx x  H ux u  f x p
• Pour la variation impulsionnelle considérée u = a
- les variations x et p deviennent nulles lorsque   0
- les termes prépondérants dans l’expression de ²Ja sont les termes en u , u1 , u2.

Les expressions obtenues pour ²Ja le long de l’arc singulier permettent de formuler
des conditions nécessaires d’optimalité dans le cas d’un système à commande affine.

• Un système à commande affine est de la forme : x  f ( x )  g( x )u

Hamiltonien :   p T g  p T g
H  p T (f  gu )    H u  p T g  
g  g x  g (f  gu ) (dérivée totale)
avec  T x T x
p  p (f x  g x u )
  p T (f  g u )g  p T g (f  gu )  p T ( g f  f g)
  x x x x x

 ne dépendent pas explicitement de u.


Le long de l’arc singulier les fonctions   H u et 

1482
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Arc singulier


Conditions de minimum
• On examine le signe des termes prépondérants dans ²Ja le long de l’arc singulier
pour un système affine et pour la variation impulsionnelle considérée u = a  u1 , u2 .
tf
2Ja  
t0
u T  u u dt = 0 car  = Hu n’est pas explicite en u sur l’arc singulier

tf
2Ja   u  u dt
  n’est pas explicite en u sur l’arc singulier
T
u 1 = 0 car 
t0 pour un système à commande affine
tf

 u
T 
2Ja   u u 2 dt  donne une condition nécessaire d’optimalité
t0
tf
• Pour la variation considérée, u2(t) est positif croissant et on a :

t0
u T u 2 dt  0

Pour vérifier la condition nécessaire ²Ja  0 , u , il faut que :   0 , t  I


 u

(sinon on peut construire une variation impulsionnelle locale donnant ²Ja < 0).

1483
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Arc singulier


Condition de Kelley
• On obtient une condition nécessaire d’optimalité de l’arc singulier pour une commande affine.

  0
 sur l’arc singulier avec  = Hu
u

•  n’est pas explicite en u, on continue l’intégration par parties de ²J .


Si la fonction  u a
tf

Le terme prépondérant donnant le signe de ²Ja est de la forme 


t0
u T (1) k ( ( 2 k ) ) u u 2 k dt

La première dérivée de  = Hu explicite en u est nécessairement paire


(dans le cas d’un système à commande affine).
Le premier entier k donnant une dérivée explicite en u est l’ordre de l’arc singulier.

• On établit la condition de Kelley (ou condition généralisée de Legendre-Clebsch).

  d 2 k H 
(1) (
k (2k )
) u  0 avec   H u  (1)k
0
u  dt 2 k u 

 condition nécessaire d’optimalité d’un arc singulier pour un système à commande affine

1484
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Résumé 9
Conditions de minimum
• Problème à temps final libre et contraintes finales
tf
avec x ( t )  f x ( t ), u ( t ), t  , x ( t f ), t f   0
min J 
u,t f  Lx(t), u(t), t dt  x(t
t0
f ), t f 

• Conditions nécessaires
x  H p    0 H  L  p T f
  f 
Ordre 1 :  p   H x , f  0 avec      
T

H u  0 p f   x   
  L    H  à t car p  
 t f f x

Ordre 2 : Huu  0
Pas de point conjugué sur ] t0 , tf [

• Conditions suffisantes

Ordre 1 : Identique
Ordre 2 : Huu > 0
Pas de point conjugué sur [ t0 , tf [

1485
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Equation HJB


Fonction valeur
• On considère le problème à temps final libre et contraintes finales
tf
avec x ( t )  f x ( t ), u ( t ), t  , x ( t f ), t f   0
min J 
u,t f  Lx(t), u(t), t dt  x(t f ), t f 
t0 et x ( t 0 )  x 0 fixé

• La solution dépend du point initial (x0,t0). En faisant varier le point initial, on obtient :
- le champ d’extrémales défini comme l’ensemble des trajectoires optimales
- la fonction valeur V(x0,t0) définie comme le coût minimal J à partir du point (x0,t0)

x
V(x1,t0)
V(x1,t1)
x1
V(x0,t1)
V(x0,t0)
x0 (xf,tf)=0

t0 t1 t 1486
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Equation HJB


Fonction valeur
• A partir d’un point initial (x0,t0), on applique
- entre t0 et t1 une commande quelconque u amenant au point (x1,t1)
- entre t1 et tf la commande optimale notée u1 à partir du point (x1,t1) qui dépend de u
t1
• Le coût associé à cette commande est J( x 0 , t 0 , u )   L(x, u, t)dt  V(x (u), t )
t0
1 1

• Le coût minimal à partir de (x0,t0) est : V( x 0 , t 0 ) → associé à la commande u0


 V( x 0 , t 0 )  J ( x 0 , t 0 , u )

u u1 V(x1,t1)
x1

V(x0,t0)
u0
x0 (xf,tf)=0

t0 t1 t 1487
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Equation HJB


Equation de Hamilton  Jacobi  Bellman
• Le coût à partir du point initial est la somme des coûts sur [t0,t1] et sur [t1,tf].

t f   t1 tf 
  
V( x 0 , t 0 )  min  L( x, u, t )dt  ( x f , t f )  min  L( x, u, t )dt  L( x, u, t )dt  ( x f , t f )
u,t f   u,t f  
0t  0t t 1 

• On applique le principe d’optimalité de Bellman : chaque sous-arc est optimal.

 t1  t f 

V( x 0 , t 0 )  min  L( x, u, t )dt 
u[ t 0 , t1 ]  
 
min  L( x, u, t )dt  ( x f , t f )
u[ t1 , t f ], t f  
t 0   t1 

Arc optimal sur [t0,t1] Arc optimal sur [t1,tf]


- partant de x0 fixé - partant de x1 fixé
- arrivant en x1 libre - arrivant en xf vérifiant (xf,tf)=0

x1 fonction de u coût = V(x1(u), t1)


1488
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Equation HJB


Equation de Hamilton  Jacobi  Bellman
• La fonction valeur vérifie l’équation (dite de programmation dynamique)
t1  t1 

u[ t 0 , t1 ] u[ t1 , t f ] u[ t 0 , t f ]  
V( x 0 , t 0 )  min L( x, u, t )dt  min V( x1 (u ), t1 )  min  L( x, u, t )dt  V( x1 (u ), t1 )

t0 t 0 
• On développe à l’ordre 1 pour une variation de temps t petite en supposant V de classe C1.
t1
t1  t 0  t   L(x, u, t)dt  L(x
t0
0 , u , t 0 )t

t1

x1  x 0  x 
avec x1  x 0  f ( x, u, t )dt  x 0  f ( x 0 , u, t 0 )t
t0
 x  f ( x 0 , u, t 0 )t

 
V( x1 (u ), t1 )  V( x 0  x, t 0  t )  V( x 0 , t 0 )  VxT x  Vt t  V( x 0 , t 0 )  VxT f ( x 0 , u, t 0 )  Vt t

• En reportant dans l’équation donnant V(x0,t0), on obtient à l’ordre 1


min L( x 0 , u, t 0 )  VxT f ( x 0 , u, t 0 )  Vt
u
 0

1489
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Equation HJB


Equation de Hamilton  Jacobi  Bellman
• L’équation vérifiée par V au point initial (x0,t0) se met sous la forme

min H( x 0 , u, Vx , t 0 )  Vt  0 avec H( x, u, p, t )  L( x, u, t )  p( t ) T f ( x, u, t )
u def

• L’équation est valable en tout point (x,t) de la trajectoire optimale car


- la portion de trajectoire de (x,t) à (xf,tf) est optimale (principe de Bellman)
- le point (x,t) représente le point initial de cette portion de trajectoire

min H( x, u, Vx , t )  Vt  0 → équation de Hamilton  Jacobi  Bellman (HJB)


u

Remarques
• L’équation HJB est une équation aux dérivées partielles vérifiée par la fonction valeur V(x,t)
en tout point de la trajectoire optimale.
Elle suppose que V est de classe C1 (hypothèse forte, non nécessairement vérifiée en pratique).

• La commande optimale au point (x,t) est le minimum global de H(x,u,Vx,t).


La solution de l’équation HJB donne la commande sous forme feedback en fonction de (x,t).

1490
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Equation HJB


Principe du Maximum de Pontryagin
• On peut établir le principe du maximum à partir de l’équation HJB.

min H( x, u, Vx , t )  Vt  0 → commande optimale u*(x,t)


u

L’équation HJB donne la commande optimale comme le minimum global de H(x,u,Vx,t).


Pour retrouver le PMP, il suffit de montrer que l’adjoint défini par p = Vx vérifie
les équations adjointes et les conditions de transversalité.

• Equations adjointes

Dérivée de p : p( t )  Vx ( x, t )  p  Vxx x  Vxt  Vxx f  Vxt

Dérivée Vtx : Vt ( x, t )   min H( x, u, Vx ( x, t ), t )  H( x, u*, Vx ( x, t ), t )


u
 Vt ( x, t )   L( x, u*, t )  Vx ( x, t ) T f ( x, u*, t )
 Vtx   L x  Vxx f  f xT Vx

On obtient : p  L x  f xT Vx  L x  f xT p  H x → équation adjointe

1491
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Equation HJB


Principe du Maximum de Pontryagin
• Condition de transversalité sur tf

Si le temps final est optimal, on a : Vt ( x f , t f )  0  H( t f )  0 en appliquant HJB à tf

• Condition de transversalité sur xf

La fonction valeur au point final est : V( x f , t f )  ( x f , t f )


Le point final vérifie les contraintes : ( x f , t f )  0 → m contraintes
L’adjoint final est défini par : p( t f )  Vx , 0 → gradient projeté sur =0

x
L’hyperplan T tangent aux contraintes est normal à x. T
x
Le gradient de  est projeté sur T suivant x  x,T
Vx
Il existe des multiplicateurs Rm tels que :  x ,T   x   x 

On retrouve la condition de transversalité : p( t f )   x   x  =0


1492
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Résumé 10
Equation de Hamilton  Jacobi  Bellman
• Problème à temps final libre et contraintes finales
tf
avec x ( t )  f x ( t ), u ( t ), t  , x ( t f ), t f   0
min J 
u,t f  Lx(t), u(t), t dt  x(t f ), t f 
t0 et x ( t 0 )  x 0 fixé

• Fonction valeur : V( x 0 , t 0 )  min J ( x 0 , t 0 , u, t f ) → à partir du point initial (x0,t0)


u,t f

• Equation HJB : min H( x, u, Vx , t )  Vt  0 → en tout point (x,t) d’une extrémale


u

avec H( x, u, p, t )  L( x, u, t )  p( t ) T f ( x, u, t )

• Adjoint : p  Vx
def

V V
• Dérivées du coût : p ,  H
x t
• L’équation HJB permet de retrouver le PMP si la fonction valeur V(x,t) est de classe C1.
La démonstration du PMP est plus générale et ne nécessite pas cette hypothèse sur V.
1493
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Solution HJB


Différentiabilité
• L’équation HJB suppose que la fonction valeur V(x,t) est de classe C1.
Cette hypothèse forte n’est généralement pas satisfaite en pratique.

• Exemple : min J  x ( t f ) avec x  xu , x ( t 0 )  x 0 fixé , t f fixé


1 u  1

On peut trouver la solution par examen de toutes les possibilités.


Si x0 < 0, u = +1 pour minimiser x(tf)  x   x  x ( t f )  x 0 e  ( t f  t 0 )
Si x0 > 0, u = 1 pour minimiser x(tf)  x   x  x ( t f )  x 0 e  ( t f  t 0 )
Si x0 = 0, x(tf) = 0 , u
xe  ( t f  t ) si x  0  Vx x  V  0 , Vt  V

• La fonction valeur est V( x, t )   0 si x  0  non différentiable en x = 0
 xe ( t f  t ) si x  0  Vx x  V  0 , Vt   V

• L’équation HJB du système est : min (Vx xu )  Vt  0   Vx x  Vt  0
1 u  1

La fonction V(x,t) vérifie bien l’équation HJB pour x0, mais n’est pas différentiable en x=0.
Cette équation HJB n’admet pas de solution différentiable sur R.

1494
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Solution HJB


Sous-gradient et sur-gradient
• Il est nécessaire de généraliser l’équation HJB en considérant des solutions non différentiables.
On définit pour cela le sous-gradient et le sur-gradient d’une fonction.

• Pour une fonction f : Rn  R au point x0


- un sous-gradient est un vecteur gRn vérifiant localement f ( x )  f ( x 0 )  g ( x  x 0 )
T

- un sur-gradient est un vecteur gRn vérifiant localement f ( x )  f ( x 0 )  g T ( x  x 0 )


- le sous-différentiel Df(x0) est l’ensemble des sous-gradients de f en x0
- le sur-différentiel D+f(x0) est l’ensemble des sur-gradients de f en x0

f f(x) f sur-différentiel

g (sur-gradient)
g (sous-gradient)

sous-différentiel f(x)

x0 x x0 x
1495
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Solution HJB


Sous-gradient et sur-gradient
• Lien avec la différentielle d’une fonction
f est différentiable en x0  D  f ( x 0 )  D  f ( x 0 )  f ( x 0 )
 f ( x 0 ) est l’unique sous-gradient et sur-gradient de f en x0
 
• Pour une fonction continue, on a presque partout D  f ( x )  
D f ( x )  
 existence simultanée d’un sous-gradient et d’un sur-gradient presque partout

• La démonstration de ces propriétés se base sur les fonctions tests.


Une fonction test  associée à un sous-gradient g en x0 est une fonction de classe C1 telle que

( x 0 )  g f f(x)
( x 0 )  f ( x 0 )
( x )  f ( x ) localement g

 f a un maximum local nul en x0


(x)
Définition similaire pour un sur-gradient
x0 x
1496
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Solution HJB


Sous-gradient et sur-gradient
• Exemple f

sur-différentiel
 0 si x  0

f ( x )   x si 0  x  1 f(x)
 1 si 1  x

0 1 x
• f est dérivable partout sauf en 0 et en 1.
D  f (0)  [0 ,  [
En x = 0 :   Pour x < 0 : D  f ( x )  D  f ( x )  0
D f (0)  
D  f (1)  
En x = 1 :   Pour x > 1 : D  f ( x )  D  f ( x )  0
D f (1)  [0 ,1 / 2]
 1 
Pour x]0 , 1[ : D  f ( x )  D  f ( x )   
 2 x 
1497
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Solution HJB


Solution de viscosité
• On considère une équation aux dérivées partielles (EDP) de la forme
F( x, f ( x ), f ( x ))  0 avec f : R n  R
F : Rn R Rn  R
• Une fonction continue f est
- une sous-solution de viscosité de l’EDP si F( x, f ( x ), g)  0 , x , g  D  f ( x )
- une sur-solution de viscosité de l’EDP si F( x, f ( x ), g)  0 , x , g  D  f ( x )
- une solution de viscosité si elle est à la fois sous- et sur-solution de viscosité

• Exemple : f : R  R , 1  f ( x )  0  F( x, f , g)  1  g

Solution classique : f (x)   x  c  solution de classe C1 sur R

Solution de viscosité : f (x)  x  solution de classe C0 sur R

Vérification : x  0  D  f ( x )  D  f ( x )  f ( x )  1  vérifie l’EDP


 
x  0  D  f ( x )  [1,  1]  F( x, f , g)  1  g  0  sur-solution
D f ( x )    sous-solution
1498
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Solution HJB


Solution de viscosité
• On cherche les solutions de l’équation HJB : Vt  min (L  VxT f )  0
u

avec la condition finale : V( x, t f )  ( x )

L’équation HJB se met sous la forme : F( x, V, V)  0


- en prenant la valeur u=u* minimisant l’hamiltonien  V=V* fonction de x et t
- en considérant le temps comme un état supplémentaire  xn+1 = t

Les solutions V(x,t) cherchées ne sont pas nécessairement différentiables.

• Théorème
(avec des hypothèses sur la régularité des fonctions f, L,  et de leurs dérivées)

La fonction valeur V(x,t) est l’unique solution de viscosité de l’équation HJB


vérifiant la condition finale V( x, t f )  ( x )

Cette solution est de plus localement lipschitzienne.

1499
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Solution HJB


Eléments de démonstration
• Il faut montrer que la fonction valeur V est sous- et sur-solution de viscosité de l’équation HJB.

On écrit l’équation HJB sous la forme : F( x, V, V)   Vt  min (L  VxT f )  0


u
(en incluant t dans le vecteur d’état)

Pour montrer que V(x,t) est une sous-solution de viscosité, on se place en un point (x0,t0)
et on considère des fonctions tests (x,t) de classe C1 telles que V est minimale en (x0,t0).
  associée à un sur-gradient g de V en (x0,t0)

Si V est sous-solution de viscosité, alors on a en (x0,t0) : F( x 0 , V, )  0 , 


Si V n’est pas sous-solution de viscosité, il existe  telle que : F( x 0 , V, )  0

En notant u0 la commande réalisant min (L   x f ) en (x0,t0), l’inégalité s’écrit


T
u

 t ( x 0 , t 0 )  L( x 0 , u 0 , t 0 )   x ( x 0 , t 0 ) T f ( x 0 , u 0 , t 0 )  0

Par continuité, l’inégalité stricte reste valable au voisinage de (x0,t0).


 t ( x , t )   x ( x , t ) T f ( x , u 0 , t )   L( x , u 0 , t ) au voisinage de (x0,t0)
1500
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Solution HJB


Eléments de démonstration (suite)
• On utilise la propriété de la fonction test : V est minimale en (x0,t0).

(x,t) au voisinage de (x0,t0) , ( x, t )  V( x, t )  ( x 0 , t 0 )  V( x 0 , t 0 )


 V( x 0 , t 0 )  V( x, t )  ( x 0 , t 0 )  ( x, t )
• On applique la commande constante u=u0 de t0 à t1 à partir de (x0,t0)  (x1, t1)
t1


( x1 , t1 )  ( x 0 , t 0 )   ( x, t )dt
t0
avec    t   Tx x   t   Tx f

  (x, t)   
t1 t1
 ( x1 , t1 )  ( x 0 , t 0 )  
f ( x, u 0 , t ) dt   L( x, u 0 , t )dt
T
t x ( x, t )
t0 t0
t1


 V( x 0 , t 0 )  V( x1 , t1 )  L( x, u 0 , t )dt en remplaçant dans l’inégalité sur V
t0

Cette inégalité stricte contredit le principe d’optimalité de Bellman.


V est donc nécessairement une sous-solution de viscosité de l’équation HJB.
De façon analogue, on démontre que V est aussi une sur-solution de viscosité.
1501
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Commande affine


Formulation
• On considère un problème de temps minimal : min J  t f
u,t f

avec une dynamique affine sur la commande : x  f ( x )  ug( x ) , x Rn

La commande est de dimension 1 et bornée : u  R , 1  u  1

• Hamiltonien : H  p 0  p T (f  ug)

u  1 si p T g  0
 arc bang
• Commande : min H  u  1 si p T g  0
u
u  ? si p T g  0 arc singulier

• La commande dépend du signe de la fonction de commutation définie par :  = pTg
Sur un arc singulier, la fonction de commutation est identiquement nulle :   0 sur I=[t1, t2]

• Les dérivées successives de  par rapport au temps sont également toutes nulles sur I.
Pour déterminer la commande il faut dériver  jusqu’à faire apparaître explicitement u.
Les dérivées et crochets de Lie simplifient l’analyse des arcs singuliers.

1502
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Commande affine


Dérivée de Lie
• La dérivée de Lie est un opérateur sur des fonctions, associé à un champ de vecteurs.

• Un champ de vecteurs X est une fonction de Rn dans Rn


(ou de manière plus générale d’une variété M dans une variété N).
 X1 
Les composantes de X sont les n fonctions X1,…,Xn de dans R : X    
Rn
X 
 n
 X1 X n 
  
 x1 x1 
Le gradient du champ de vecteurs X est : X  X1 ,  , X n      
 X1 X n 
  

 nx x n 
• La dérivée de Lie de la fonction  : Rn  R suivant le champ de vecteurs X est la fonction

L X   X  X T   dérivée directionnelle de  suivant X , en tout point xRn


noté def

L’opérateur LX est associé au champ de vecteurs X.

1503
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Commande affine


Crochet de Lie
• Le crochet de Lie des champs de vecteurs X et Y est l’opérateur défini par X, Y   XY  YX
def

Pour une fonction  de Rn dans R : X, Y  XY  YX  L X (L Y )  L Y (L X )


En développant : X, Y  L X (Y T )  L Y (X T )  X T (Y T )  Y T (X T )
 X T (Y    2  Y)  Y T (X    2  X)
 ( X T Y  Y T X )  car le hessien 2 est symétrique
 (Y T X  X T Y) T 

[X,Y] est l’opérateur associé au champ de vecteurs Z défini par : Z  Y T X  X T Y

• Propriétés du crochet de Lie : X, X  0


X, Y   Y, X
Identité de Jacobi : X, Y, Z  Y, Z, X  Z, X, Y  0

1504
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Commande affine


Dérivée suivant une extrémale
• On peut exprimer les dérivées de la fonction de commutation en utilisant les crochets de Lie.

L’équation dynamique est de la forme : x  f ( x )  ug( x )


On associe aux fonctions f et g les champs de vecteurs F et G sur Rn .
x  F  uG
Les équations des extrémales sont : p   (F  uG )p

• On considère un champ de vecteurs Z sur Rn et une fonction  de la forme :  ( t )  p( t ) T Z[ x ( t )]

Dérivée de  le long d’une extrémale :   p T Z  p T Z


 avec p   (F  uG )p
et Z  Z T x  Z T (F  uG )
   p T (F  uG ) T Z  p T Z T (F  uG )
 

(en utilisant le crochet de Lie)   p T F  uG, Z  p T f  ug, Z


 
noté

• On applique cette formule pour dériver la fonction de commutation  = pTg .

1505
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Commande affine


Fonction de commutation
• On applique la formule :   p T Z     p T f  ug, Z
pour dériver la fonction de commutation  = pTg = pTG
jusqu’à faire apparaître explicitement la commande u.

• Dérivée première de  :   pTg   p T [f  ug, g]  p T [f , g]


 

• Dérivée seconde de  :   p T [f , g ]  
   p T [f  ug, [f , g]]

  p T [f , [f , g]]  up T [g, [f , g]]


 

• Le long d’un arc singulier, toutes les dérivées de  sont nulles.


p T [f , [f , g]]
Si pT[g,[f,g]]  0 , l’arc singulier est d’ordre 1. La commande est : u  
p T [g, [f , g]]

• Si pT[g,[f,g]] = 0 , l’arc singulier est d’ordre supérieur.


Il faut continuer à dériver  pour exprimer u.

1506
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Commande affine


Arc singulier d’ordre 1
• Un arc singulier est d’ordre 1 si p T [g, [f , g]]  0 .
p T [f , [f , g]]
La commande singulière est : u sin g  
p T [g, [f , g]]
Cette commande peut être optimale ou non.
Il faut d’abord vérifier qu’elle est admissible : 1  using  +1 .

• Une condition nécessaire d’optimalité est la condition de Legendre-Clebsch.

p T [g, [f , g]]  0 le long de l’arc singulier

• Si un arc singulier d’ordre 1 vérifie la condition stricte de Legendre-Clebsch : p T [g, [f , g]]  0


alors il peut se raccorder à un arc bang (ubang = 1) à toute date  telle que 1 < using() < +1 .

Ce type de jonction vérifie les conditions nécessaires du PMP (preuve page suivante).

• La trajectoire optimale se compose d’une succession d’arcs bangs et d’arcs singuliers.


Il faut envisager les différentes solutions possibles et comparer leur coût.

1507
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Commande affine


Jonction arc bang et arc singulier d’ordre 1
• On suppose que l’arc singulier vérifie la condition stricte de Legendre-Clebsch : pT[g,[f,g]] < 0
et qu’il se raccorde à un arc bang (ubang = 1) à une date  telle que 1 < using() < +1 .

• Il faut montrer que la jonction à  satisfait le PMP : min H  p 0  p T (f  ug)  p 0  p T f  u


u

•   p T [f , g] sont continues (ne dépendent que de p et x), nulles à .


Les fonctions   p T g et 

La dérivée seconde de  est :   p T [f , [f , g]]  up T [g, [f , g]]


Sur l’arc singulier à la date  :  ()  p T [f , [f , g]]  u p T [g, [f , g]]  0


 sin g

Sur l’arc bang à la date  :  (  )  p T [f , [f , g]]  u


 T
bang p [g, [f , g ]]

 (  )  
Si u bang  1  u sin g    () car p T [g, [f , g]]  0 , avec  ()  0

  a un minimum nul en  car ()  0 et   ()  0

 () > 0 et ubang() < 0 minimise H

Si u bang  1  u sin g  vérification similaire


1508
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Commande affine


Arc singulier d’ordre supérieur
• Un arc singulier est d’ordre supérieur à 1 si : p T [g, [f , g]].  0

La dérivée seconde de  étant nulle, on a aussi : p [f , [f , g]]  0


T

Ces conditions sont très restrictives et ont peu de chances d’être vérifiées en pratique.

• Il existe cependant des systèmes pour lesquels : [g, [f , g]]  0


Il faut calculer les dérivées suivantes de  pour trouver le contrôle singulier.

  p T f  ug, Z
On applique la formule :   p T Z  

en utilisant [g, [f , g]]  0 et [g, [f , [f , g]]]  [f , [g, [f , g]]] (obtenu par l’identité de Jacobi)

et en notant X, Y   ad X (Y) avec l’opérateur adX (adjoint) associé au champ de vecteurs X.

  p T [f , [f , g]]  up T [g, [f , g]]


   (3)  p T ad 3f (g)
  ( 4)  p T ad f4 (g)  up T [g, ad 3f (g)]

1509
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Commande affine


Arc singulier d’ordre supérieur
• La commande u n’apparaît explicitement que dans les dérivées paires de .
L’arc singulier est d’ordre k si la dérivée d’ordre 2k de  est la première à dépendre de u.

 (i )  p T ad if (g)  0 pour i  1, ... , 2k  1


et p T [g, ad f2 k 1 (g)]  0

• Une condition nécessaire d’optimalité est la condition généralisée de Legendre-Clebsch


ou condition de Kelley
  d 2 k H 
(1) k
 (1) k p T [g, ad f2 k 1 (g)]  0
u  dt u 
2 k

Si un arc singulier d’ordre 2 vérifie la condition stricte de Legendre-Clebsch : p [g, ad f (g)]  0


T 3

alors il ne peut pas se raccorder à un arc bang à une date  telle que 1 < using() < +1 .

Ce type de jonction ne vérifie pas les conditions nécessaires du PMP (preuve page suivante).

• Une telle jonction fait apparaître le phénomène de chattering (infinité de commutations u=1).
Exemple : problème de Fuller
1510
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Commande affine


Jonction arc bang et arc singulier d’ordre 2
• On suppose que l’arc singulier vérifie la condition stricte de Legendre-Clebsch : p T [g, ad 3f (g)]  0
et qu’il se raccorde à un arc bang (ubang = 1) à une date  telle que 1 < using() < +1 .

• Il faut montrer que la jonction à  contredit le PMP : min H  p 0  p T (f  ug)  p 0  p T f  u


u

• Les fonctions  (i )  p T ad if (g) i  0 ,1, 2 , 3 sont continues (ne dépendent que de p et x), nulles à .

La dérivée quatrième de  est :  ( 4)  p T ad f4 (g)  up T [g, ad 3f (g)]

Sur l’arc singulier à la date  :  ( 4) ()  p T ad f4 (g)  u sin g p T [g, ad 3f (g)]  0

Sur l’arc bang à la date  :  ( 4) (  )  p T ad f4 (g)  u bang p T [g, ad 3f (g)]


Si u bang  1  u sin g   ( 4) (  )   ( 4) () car p T [g, ad 3f (g)]  0 , avec  ( 4) ()  0
  a un maximum nul en  car  ()  0 , i  0 à 3
(i )

 () < 0 et ubang() > 0 ne minimise pas H

Si u bang  1  u sin g  vérification similaire


1511
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Commande affine


Contrôle de dimension supérieure
• L’analyse des arcs singuliers se généralise à une commande de dimension supérieure à 1.
La commande est de dimension m et bornée : u  Rm , 1  ui  1
m
Dynamique : x  f ( x )  u g( x )  f ( x ) 
T

m
 u g (x)
i 1
i i
m
Hamiltonien : H  p0  p f 
T
u p
i 1
i
T
g i (x)  p 0  p f 
T
u 
i 1
i i

• La composante ui est associée à la fonction de commutation i et peut être singulière ou non.


 
 
m
La dérivée de i dépend des uj,ji :  i  p f 
 T
 j1

g j u j , g i   p T f , g i  
 j i

u jp T g j , g i

Si une seule composante est singulière, l’analyse est identique au cas de dimension 1.
Si plusieurs composantes sont simultanément singulières, l’analyse est plus complexe.

• La condition de Goh est une condition nécessaire d’optimalité si ui et uj sont singuliers.

ui et uj optimaux et singuliers sur I  p T [g j , g i ]  0 sur I

1512
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 19 : solution composite


Formulation
• Le problème est un double intégrateur en dimension 2.
Le temps final tf est fixé. La commande u n’est pas bornée.
Le système est à ramener à l’origine en minimisant un coût quadratique.
tf
x  x 2  u x ( t )  0

1
min J  x12 dt avec  1 et  1 f
u 2
t 0 0
x 2   u x 2 ( t f )  0
1 2 1 p   x
• Hamiltonien : H  x1  p1 ( x 2  u )  p 2 u  x12  p1x 2  u  p 1  p1
2 2  2 1

avec   p1  p 2 fonction de commutation

   x  p  0
• Arc singulier :   p1  p 2  0    1 1   p1  x 1
   x 2  u  x1  0 u   ( x 1  x 2 )
L’arc singulier est d’ordre 1 ((2) explicite en u). Il peut donc se raccorder à un arc régulier.
La condition nécessaire de Kelley est vérifiée pour k=1. L’arc singulier peut donc être optimal.

  d 2 k H   
(1) k
   1  0
u  dt 2 k u  u
1513
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 19 : solution composite


Solution composite
• Il faut examiner des solutions composites raccordant des arcs réguliers et singuliers.

L’état initial est fixé à t0 = 0 : x1 ( t 0  0)  x10


x ( t  0)  x
 2 0 20

L’état final est contraint à tf fixé :  x (t )  0


x1 ( t f )  0
 2 f
tf


1
• La commande n’est pas bornée et n’intervient pas directement dans le coût J : J x12 dt
2
t 0 0

x  x 2  u
• Une impulsion u déplace « gratuitement » l’état de (x1 , x2) à (x1+u , x2u) :   1
x 2   u
 déplacement suivant les lignes d’équation x1 + x2 = Cte .

• On peut construire une solution en 3 arcs de type impulsion  arc singulier  impulsion
- une impulsion à t0 fait passer l’état de (x10 , x20) à (x10+x0 , x20x0)
- l’arc singulier est suivi de t0 à tf avec la commande singulière donnée par u =  (x1+x2)
- une impulsion à tf fait passer l’état de (x1f , x2f) à (x1f+xf , x2fxf) = (0 , 0)

1514
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 19 : solution composite


Arc singulier
• L’équation de l’arc singulier s’obtient à partir de l’hamiltonien constant (problème autonome).

x1  p1x 2  u avec   0


1 2
H sur l’arc singulier
2 p1  x1
L’arc singulier est un arc d’hyperbole d’équation : x1(x1 + 2x2) = 2H
ayant pour asymptotes : x1 = 0 et x1 + 2x2 = 0
p   x
• Evolution de x1 sur l’arc singulier : p1  x 1  x 1   x1  x1 ( t )  ae  t
 1 1
H 1 H 1
• Evolution de x2 sur l’arc singulier : x 2   x1  x 2 ( t )  e t  ae  t
x1 2 a 2
• L’arc singulier est parcouru de t0+ à tf.
On note (y10 , y20) et (y1f , y2f) l’état au début et à la fin de l’arc singulier.

 y10  a a  y10  y1f  y10 e  t f


y  H  1 a   1 2  
H  y10  y10 y 20  y 2f  y 20 e  y10 sh t f
tf
 20 a 2  2

On écrit ensuite les conditions de raccordement au point initial et au point final.


1515
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 19 : solution composite


Raccordement
• Les raccordements au point initial (x10 , x20) et au point final (x1f , x2f) = (0 , 0)
s’effectuent par des impulsions suivant des lignes d’équation x 1 + x2 = Cte .
 y10  y 20  x10  x 20  c à t0  y1f  y10 e  t f
 y  y  x  x def avec 
2f  0  y 2f  y 20 e  y10 sh t f
tf
 1f 2f 1f à tf

e 2t f 1  e 2t f c  x10  x 20 fixé
• On obtient : y10  2c , y 20  c avec 
e 2t f  1 1  e 2t f t f fixé
1 2 e 2t f
H  y10  y10 y 20  2c 2
0
2 (e 2 t f  1) 2
tf tf
c2
 
1 1 2 2t
avec le coût J x12 dt  y10 e dt 
2
t 0 0
2
t 0 0
1  e 2t f

• Il faut comparer à d’autres solutions possibles (combinaisons d’arcs réguliers et singuliers)


pour établir l’optimalité de cette solution composite.
On observe qu’une solution du même type arrivant plus tôt au point final est moins bonne
(J est une fonction décroissante de tf).
1516
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Exemple 19 : solution composite


Application numérique 10
• Etat initial : x10 = 1 9
x2
x20 = 3.28 8

• Temps final : tf = 1.5 6

4 Point initial
• Hamiltonien 3

2
2t f
e
H  2c 2  2
1
Point final x1
(e 2 t f  1) 2 -10 -9 -8 -7 -6 -5 -4 -3 -2
0
-1 0 1 2 3 4 5 6 7 8 9 10
-1

• Arc singulier -2

-3

-4
Initial : y10 = 9
y20 = 4.72
-5

-6

-7
Final : y1f = 2
-8
y2f = 2 -9

-10
1517
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème de Fuller


Formulation
• Le problème de Fuller est un double intégrateur en dimension 2.
Le temps final tf est libre. La commande u est bornée entre 1 et +1.
Le système est à ramener à l’origine en minimisant un coût quadratique.
tf
x  x 2 x ( t )  0

1
min J  x12 dt avec  1 et  1 f
u,t f 2
t0
x 2  u x 2 ( t f )  0

H
1
p 0 x12  p1x 2  p 2 u p  p x
• Hamiltonien :  p 1  p0 1
2  2 1

u  1 si p 2  0 arc bang


• Commande : min H  u  1 si p 2  0
u u  ? si p 2  0 arc singulier

• La fonction de commutation est :   p2


Les dérivées successives de  sont :   p , 
   p x ,  (3)  p x ,  ( 4)  p u
1 0 1 0 2 0

On peut reformuler le problème en un problème équivalent de temps minimal


 permet d’analyser la structure des extrémales en utilisant les méthodes géométriques

1518
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème de Fuller


Problème de temps minimal
• On considère le problème de temps minimal en dimension 3.
tf x 1  x 2 x1 ( t f )  0
 
min K  1dt
u,t f 
t0
avec x 2  u
x 3  x12 / 2
et x 2 ( t f )  0
x 3 ( t f )  0  composante d’état supplémentaire x3

• Il faut vérifier que ce problème admet les mêmes extrémales que le problème de Fuller.

Pour un point initial donné x1(t0) , x2(t0) , on note u*, tf*, J* la solution du problème de Fuller.
On applique la commande u* au problème de temps minimal, en posant x 3(t0) = J* < 0 .

- Cette commande ramène bien le système à l’origine à la date tf*.


tf


1
- Elle minimise x 3 ( t f )  x 3 ( t 0 )  x12 dt qui est une fonction croissante de tf.
2
t0
 La date tf* est la date minimale permettant d’atteindre la condition finale x 3(tf) = 0
en partant de la condition initiale x3(t0) < 0 .
La solution u*, tf* du problème de Fuller est bien la solution du problème de temps minimal.

1519
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème de Fuller


Extrémales
• On note q l’adjoint du problème de temps minimal et Hq l’hamiltonien associé.
tf x 1  x 2 x1 ( t f )  0
 
min K  1dt
u,t f 
t0
avec x 2  u
x 3  x12 / 2
et x 2 ( t f )  0
x 3 ( t f )  0

q 1  q 3 x1
1 
H q  q 0  q1x 2  q 2 u  q 3 x1  q 2  q1
2
2 q 3  0

• Le problème de temps minimal a les mêmes extrémales que le problème de Fuller.


Les hamiltoniens Hq et H doivent être identiques et nuls (tf libre).

1 1 q  p
q 0  q1 x 2  q 2 u  q 3 x12  p1x 2  p 2 u  p 0 x12  0  q 3  0 0
2 2  0

Les extrémales du problème de Fuller correspondent donc à


des extrémales anormales du problème de temps minimal (q0 = 0).

1520
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème de Fuller


Arcs singuliers
• On cherche les arcs singuliers du problème de temps minimal en utilisant les crochets de Lie.
x 1  x 2  x2  0 
 

x 2  u  x  f ( x )  ug( x ) avec f   0  et g   1 

x 3  x12 / 2  x 2 / 2 0
 1   
 0 0 x1   0 0 0
• Gradients des champs de vecteurs f et g : f x  1 0 0  , gx   0 0 0
0 0 0   0 0 0
   
  1 0  0
•   
Crochets d’ordre 1 : [f , g]  g x f  f x g  0 , [f , [f , g]]  0
T T  , [g, [f , g]]   0 
 0 x  0
   1  
Le crochet [g,[f,g]] est nul  Les arcs singuliers sont d’ordre supérieur à 1 .

0  0
• Crochets d’ordre 2 : ad 3f (g) 
 [f , [f , [f , g]]]  0  et [g, ad f (g)]  [g, [f , [f , [f , g]]]]   0 
3
x  1 
 2  
Le crochet [g, ad f (g)] ne s’annule pas
3
 Les arcs singuliers sont d’ordre 2 .
La condition de Kelley [g, ad f (g)]  0 est vérifiée  Ces arcs peuvent être optimaux.
3

1521
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème de Fuller


Arcs singuliers
• La fonction  et toutes ses dérivées sont nulles le long d’un arc singulier.
  p , 
  p2 ,    p x ,  (3)  p x ,  ( 4)  p u
1 0 1 0 2 0

• On obtient les équations de l’arc singulier.


p1 = p2 = 0  p0  0  L’arc singulier est normal (sinon contradiction avec le PMP).
x1 = x2 = 0 et using = 0  L’arc singulier se réduit à l’origine qui est le point final visé.

• L’origine est un arc singulier d’ordre 2 qui ne peut pas se raccorder directement à un arc bang.
Le point final ne peut être atteint qu’avec du chattering ( = infinité de commutations u=1).

Arcs bangs
• La solution du problème de Fuller est une suite d’arcs bangs convergeant vers O.
p  p 0 x1
p 0 x12  p1x 2  p 2 u    1
1
• Les équations adjointes sont : H
2 p 2  p1
Si on suppose p0 = 0 (cas anormal), alors p1 est constant et p2 est linéaire en fonction du temps.
Il n’y a qu’une commutation et le raccordement avec le point final ne peut être optimal.
 Les arcs bangs sont nécessairement normaux et on peut poser p0 = 1.
1522
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème de Fuller


Propriétés des arcs bangs
x  x p   x 1
• Un arc bang à u = 1 suit les équations : x 1  u 2 , p 1  p1 , H  x12  p1x 2  p 2 u  0
 2  2 1 2
• Les fonctions I1 et I2 sont des intégrales premières.
1
I1  x1  ux 22  I1  x 1  ux 2 x 2  x 2  u 2 x 2  0 car u  1
2
1
I 2  p1  ux1x 2  x 32  I 2  p 1  ux 1x 2  ux1x 2  x 22 x 2  x1  ux 22  u 2 x1  ux 22  0
3
• Les commutations de u = 1 à u = +1 ont lieu pour x2 < 0 .
Les commutations de u = +1 à u = 1 ont lieu pour x2 > 0 .

  p , 
Vérification en utilisant les dérivées de  :   p 2 ,    x ,  (3)  x
1 1 2
et en sachant que O singulier ne peut être sur un arc bang

Si  est une date de commutation : ()  p 2 ()  0  H()  x12 () / 2  p1 () x 2 ()  0

Si p1() = 0  x1() = 0 (en utilisant H)  (3)() = x2()  0 (car O singulier)


 détermine le sens de commutation
Si p1()  0  x1()  0 (car O singulier)  (1)()x2() = p1()x2() > 0
 détermine le sens de commutation 1523
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème de Fuller


Extrémales invariantes
• On considère la transformation (u, x1, x2, p1, p2)  (v, y1, y2, q1, q2) définie par
t t t t t
v( t )  u  , y1 ( t )   2 x1   , y 2 ( t )  x 2   , q1 ( t )   3 p1   , q 2 ( t )   4 p 2  
    
x 1  x 2 p   x 1 2
Si (u, x1, x2, p1, p2) est une extrémale : x  u , p 1  p1 , H  x1  p1x 2  p 2 u  0
 2  2 1 2
(v, y1, y2, q1, q2) est aussi une extrémale :  y 1  y 2 q   y 1 2
 y  v , q 1  q1 , H  y1  q1 y 2  q 2 v  0
 2  2 1 2
 vérification directe

• L’extrémale est invariante si (v, y1, y2, q1, q2)(t) = (u, x1, x2, p1, p2)(t) à toute date t.

 invariance point par point (condition plus forte que l’invariance globale de la courbe)

• Pour construire la synthèse optimale du problème de Fuller (= commande feedback)


- on cherche les valeurs de  générant des extrémales invariantes
- on montre que ces extrémales sont les seules et que leur raccordement est optimal.

1524
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème de Fuller


Extrémales invariantes
• On cherche les extrémales (u, x1, x2, p1, p2) invariantes par la transformation
t t t t t
v( t )  u  , y1 ( t )   2 x1   , y 2 ( t )  x 2   , q1 ( t )   3 p1   , q 2 ( t )   4 p 2  
    

• L’extrémale est composée d’une suite d’arcs bangs.


On considère un arc bang de t0 à t1 avec u = +1
suivi d’ un arc bang de t1 à t2 avec u = 1

La fonction de commutation  = p2 s’annule aux dates de commutation.


Si  est une date de commutation : p 2 ()  q 2 ()   4 p 2  /    0
car l’extrémale est invariante
• On cherche la plus petite valeur de  pour laquelle il existe des extrémales invariantes.
Les dates de commutations  et / sont alors consécutives.
En fixant le temps final tf à 0, les dates de commutations forment une suite géométrique.
t0 t
t 0  t1   t2  1    tf  0
 
1525
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème de Fuller


Extrémales invariantes
1 2
• On utilise l’intégrale première I1  x1  ux 2
2
1 2 1
• Sur l’arc de t0 à t1 avec u = +1 : x1 ( t1 )  x 2 ( t1 )  x1 ( t 0 )  x 22 ( t 0 )
2 2

x1 ( t 0 )  y1 ( t 0 )   2 x1 t 0 /     2 x1 ( t1 )
Par invariance de l’extrémale : 
x 2 ( t 0 )  y 2 ( t 0 )   x 2 t 0 /     x 2 ( t1 )
1 2 1
En remplaçant x1(t0) et x2(t0) : x1 ( t1 )  x 22 ( t1 ) avec 
2 2 1

1 2 1
• Sur l’arc de t1 à t2 avec u = 1 : x1 ( t 2 )  x 2 ( t 2 )  x1 ( t1 )  x 22 ( t1 )
2 2

x1 ( t1 )  y1 ( t1 )   2 x1 t1 /     2 x1 ( t 2 )
Par invariance de l’extrémale : 
x 2 ( t1 )  y 2 ( t1 )   x 2 t1 /     x 2 ( t 2 )
1 2 1
En remplaçant x1(t1) et x2(t1) : x1 ( t 2 )  x 22 ( t 2 ) avec 
2 2 1
1526
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème de Fuller


Extrémales invariantes
• On obtient les conditions de commutations en t1 et t2.
x1 ( t1 )  x 22 ( t1 ) avec x2(t1) > 0 pour la commutation de u = +1 à u = 1 à t1

x1 ( t 2 )  x 2 ( t 2 ) avec x2(t2) < 0 pour la commutation de u = 1 à u = +1 à t2
2

C  : x1   x 22 , x 2  0
Les courbes de commutation sont  
C : x1   x 2 , x 2  0
2

1
• Pour trouver les valeurs de  et , on utilise l’intégrale première I 2  p1  ux1x 2  x 32
3

 1   1 
Sur l’arc de t1 à t2 avec u = 1 :  p1  x1x 2  x 32  ( t1 )   p1  x1x 2  x 32  ( t 2 )
 3   3 

• L’hamiltonien permet d’exprimer p1 en fonction de x1 et x2 .

1 2 x12
H  x1  p1x 2  p 2 u  0 avec p2=0 à chaque date de commutation tk  p1  
2 2x 2

1527
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème de Fuller


Extrémales invariantes
• On remplace p1 et x1 en fonction de x2 dans l’intégrale première I2 .

 1 3  1 3 x1 ( t1 )  x 22 ( t1 ) x12


 p1  x1x 2  3 x 2  ( t1 )   p1  x1x 2  3 x 2  ( t 2 ) avec x ( t )  x 2 ( t ) et p1   2x
     1 2 2 2 2

1 1 1 1 x ( t )  0
   2     x 32 ( t1 )    2     x 32 ( t 2 ) avec  2 1
2 3 2 3 x 2 ( t 2 )  0

• Par invariance de l’extrémale : x 2 ( t1 )  y 2 ( t1 )  x 2 t1 /    x 2 ( t 2 )

3 1 1 1 1 1 2 1 1  2
           2    
2
avec     2

2 3  2 3 2 2 1 1  2
1 2 1
• On obtient une équation bicarrée vérifiée par  : 4    0
12 18

33  1 1  2
La solution positive est :   0.44462    4.13016
24 1  2
1528
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème de Fuller


Synthèse
• Les extrémales invariantes permettent de construire une commande feedback.

Dates de commutation : tk = tk+1  convergent vers tf = 0


C  : x1   x 22 , x 2  0  passage de u = 1 à u = +1
Courbes de commutation :  
C : x1   x 2 , x 2  0  passage de u = +1 à u = 1
2

u  1 si x1  x 22 sgn( x 2 )
Commande feedback : 
u  1 si x1  x 2 sgn( x 2 )
2

33  1 1  2
avec les constantes :   0.44462 ,    4.13016
24 1  2

• Cette synthèse est obtenue en raccordant les arcs bangs associés aux extrémales invariantes.
On peut montrer que cette synthèse est la synthèse optimale du problème de Fuller, i.e.
- ces extrémales invariantes sont les seules
- leur raccordement est optimal.

• On peut également obtenir explicitement la fonction valeur en résolvant l’équation HJB.


1529
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème de Fuller


Synthèse

25
x2
C
20
x1  x 22 sgn( x 2 )
15
u = 1
10

0
x1
-120 -100 -80 -60 -40 -20 0 20 40 60 80 100 120

-5

-10

u = +1
-15
x1  x 22 sgn( x 2 )
-20

C+
-25
1530
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème de Fuller


Application numérique
• Conditions initiales sur la courbe de commutation C+ : x1 = 88.92
x2 = 20
• Premier arc : u=+1 de t0 à t1
x ( t )   x 2 ( t 1 )  1
x 2 ( t1 )  x 2 ( t 0 )  u.( t1  t 0 ) avec  2 0  t0  x 2 ( t 0 )  32.779
 t 0   t 1  1

1
u = +1

Temps (échelle non respectée)


0
-35 -30 -25 -20 -15 -10 -5 0

tk
Dates de commutations : t k 1 

u = 1
-1

1531
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017

5.3.4 Problème de Fuller


Fonction valeur
 V  V
• La fonction valeur V(x,t) est solution de l’équation HJB : min H x, u, ,t  0
u  x  t
• Le problème est autonome : V ne dépend que de de x1 et x2 .
1 2  V  1 2 V V
H x1  p1x 2  p 2 u  0  H x , u , , t   x1  x 2 u
2  x  2 x1 x 2
 V 
et min H  u   sgn 
1 u  1 
 2
x

V V 1 2
• L’équation HJB devient : x2   x1  0
x1 x 2 2
5
1 5 1 1 1 2
• On montre que la solution est : V ( x1 , x 2 )   x 2  x1x 32  x12 x 2  A x 22  x1 
15 3 2 2 
3

V  V si x1  x 22 sgn( x 2 ) 12  1 2
 avec A    2   2      0.382
V  V si x1  x 2 sgn( x 2 )
2
53  2

1532
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.5 Méthodes numériques
Techniques d’optimisation Mai 2017

5.3.5 Méthodes numériques

 Méthodes indirectes

 Méthodes directes

1533
5 Optimisation fonctionnelle Max CERF
5.4 Filtrage
Techniques d’optimisation Mai 2017

Sommaire
1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes
4. Optimisation discrète

5. Optimisation fonctionnelle
5.1 Fonctionnelle
5.2 Calcul des variations
5.3 Commande optimale
5.4 Filtrage

1534
Max CERF
Techniques d’optimisation Mai 2017

Bibliographie : optimisation fonctionnelle


Livres en français

• Contrôle optimal – Théorie et applications (E. Trélat)


• Les mathématiques du mieux faire – Volume 2 (J.B. Hiriart-Urruty)

Livres en anglais

• Calculus of variations (I.M. Gelfand, S.V. Fomin)


• Calculus of variations and optimal control theory (D. Liberzon)
• Applied optimal control (A.E. Bryson, Y.C. Ho)
• Optimal control theory for applications (D.G. Hull)
• Geometric optimal control (H. Schättler, U. Ledzewicz)
• A primer on Pontryagin’s principle in optimal control (I.M. Ross)
• Optimal control and estimation (R.F. Stengel)
• Optimal control theory (S.P. Sethi, G.L. Thompson)
• Applied nonlinear control (J.J. Slotine, W. Li)

« L’éternité c’est long, surtout vers la fin. » (Pierre Dac) 1535

Vous aimerez peut-être aussi