Techniques Optimisation 2018 PDF [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Techniques d’optimisation Optimisation continue – discrète – fonctionnelle Théorie – Algorithmes – Exemples

Max CERF 2018

1

Techniques d’optimisation

Max CERF 2018

Sommaire 1.

Bases théoriques

2.

Optimisation sans contraintes

3.

Optimisation avec contraintes

4.

Optimisation discrète

5.

Optimisation fonctionnelle

« Je suis capable du meilleur et du pire. Mais dans le pire, c’est moi le meilleur. » (Coluche)

2

1

Bases théoriques

Techniques d’optimisation

Max CERF 2018

Sommaire 1.

Bases théoriques 1.1 Définitions 1.2 Contraintes linéaires 1.3 Contraintes non linéaires 1.4 Conditions d’optimalité

2.

Optimisation sans contraintes

3.

Optimisation avec contraintes

4.

Optimisation discrète

5.

Optimisation fonctionnelle

3

1 Bases théoriques 1.1 Définitions

Techniques d’optimisation

Max CERF 2018

Sommaire 1.

Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation 1.1.2 Solution 1.1.3 Différentiabilité 1.1.4 Convexité 1.1.5 Conditionnement 1.1.6 Direction de déplacement 1.2 Contraintes linéaires 1.3 Contraintes non linéaires 1.4 Conditions d’optimalité

2. 3. 4. 5.

Optimisation sans contraintes Optimisation avec contraintes Optimisation discrète Optimisation fonctionnelle

4

1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation

Techniques d’optimisation

Max CERF 2018

1.1.1 Problème d’optimisation  Classification des problèmes d’optimisation - Optimisation continue dans Rn  Formulation mathématique et notations - Variables - Critère - Contraintes  Norme sur Rn - Norme vectorielle - Norme matricielle  Suite dans Rn - Limite - Vitesse de convergence

5

1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation

Techniques d’optimisation

Max CERF 2018

1.1.1 Classification Optimisation fonctionnelle / paramétrique • Inconnues = fonctions  Optimisation fonctionnelle Optimisation en dimension infinie Commande optimale



Inconnues = entiers ou réels



Programmation mathématique • Inconnues = entiers 

Optimisation paramétrique Optimisation en dimension finie Programmation mathématique

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 1.1 Définitions 1.1.1 Problème d’optimisation

Techniques d’optimisation

Max CERF 2018

1.1.1 Formulation Formulation mathématique

c E (x)  0 minn f(x) sous c I (x)  0 xR x  X Notations • x : n variables ou paramètres ou inconnues

 formulation standard problème noté (PO)  vecteur de Rn



f : critère ou fonction coût ou fonction objectif

 fonction de Rn dans R 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 1.1 Définitions 1.1.1 Problème d’optimisation

Techniques d’optimisation

Max CERF 2018

1.1.1 Optimisation continue Hypothèses • Continuité :

Fonctions continues de variables réelles  Optimisation continue  Optimisation combinatoire, Programmation en nombres entiers



Différentiabilité :



Déterminisme :

• • •

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)

Fonctions différentiables  Méthodes à base de gradient  Méthodes sans dérivées Les données du problème sont parfaitement connues  Optimisation stochastique

Rappels d’analyse • Norme • Suite - Convergence

8

1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation

Max CERF 2018

Techniques d’optimisation 1.1.1 Norme

Norme vectorielle sur Rn •

Fonction



Norme p :

. : Rn R

x p

n

p

xi  i 1

vérifiant p



Norme  : x



Norme 2 = norme euclidienne



 x 0  x 0  x 0   xy  x  y   αx  α x x2

 max x i

x

i 1,..., n



x

x

2

Norme matricielle

x1



Norme induite sur Rmn par la norme vectorielle



Fonction

.

m n

: R mn  R définie par

A

x

.

 max m n

xR n , x  0

1

Ax x

9

1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation

Techniques d’optimisation

Max CERF 2018

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

Limite :

lim x k  x *  lim x k  x *

k 

k 

Vitesse de convergence • Convergence linéaire :  lent

x k 1  x *  c x k  x *

avec 0  c  1 à partir d’un certain rang k0



Convergence superlinéaire :  bonne

x k 1  x *  c k x k  x *

avec lim c k  0 k  à partir d’un certain rang k0



Convergence d’ordre p :

x k 1  x *  c x k  x *



Convergence quadratique si p=2  rapide

p

avec 0  c  1 à partir d’un certain rang k0

10

1 Bases théoriques 1.1 Définitions 1.1.2 Solution

Techniques d’optimisation

Max CERF 2018

1.1.2 Solution  Solution admissible  Minimum - Minimum local - Minimum global - Infimum  Problèmes équivalents - Transformations simples  Contrainte active  Point intérieur

11

1 Bases théoriques 1.1 Définitions 1.1.2 Solution

Max CERF 2018

Techniques d’optimisation 1.1.2 Solution admissible

Solution admissible x solution admissible de (PO)  x satisfait les contraintes (ou point admissible)

Ensemble admissible X adm  x  R n / c E (x)  0 , c I (x)  0 , x  X





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 •

aTx = 0

 hypersurface (dimension n-1)  hyperplan  aRn (linéaire)

12

1 Bases théoriques 1.1 Définitions 1.1.2 Solution

Max CERF 2018

Techniques d’optimisation 1.1.2 Minimum

Minimum global (= meilleure solution dans l’absolu) x  X adm , f(x*)  f(x) • x* minimum global de (PO)  • x* minimum global strict  x  X adm , f(x*)  f(x) si x  x * Minimum local (= meilleure solution dans un voisinage) ε  0 / x  X adm , x  x *  ε , f(x*)  f(x) • x* minimum local de (PO)  • 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 local strict

minimum global strict

minima locaux

Non admissible

minimum global strict x

Admissible Xadm

13

x

1 Bases théoriques 1.1 Définitions 1.1.2 Solution

Techniques d’optimisation

Max CERF 2018

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

inf Y f  inf f(y) , y  Y



Notation :



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 1.1 Définitions 1.1.2 Solution

Techniques d’optimisation

Max CERF 2018

1.1.2 Problèmes équivalents Problèmes équivalents (PO1) et (PO2) sont deux problèmes équivalents si on peut associer à tout point admissible x1 de (PO1) un point admissible x2 de (PO2) avec la même valeur pour le critère. x1 X1adm f1(x1)

x2 X2adm f2(x2)

f1(x1)=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)



Contrainte inférieur / supérieur :

c(x)  0   c(x)  0



Variables positives :



Variables d’écart :

x

x

x   0 x  x   x  avec   x  0 c(x)  y  0 c(x)  0    c(x)  z 2  0 y  0

15

1 Bases théoriques 1.1 Définitions 1.1.2 Solution

Max CERF 2018

Techniques d’optimisation 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 • •

Contrainte égalité cE : Contrainte inégalité cI :

Ij



(x)  0

x admissible  cE(x) = 0  cE active en x 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*) xR xR c I (x)  0 n

n

noté min f(x) sous c(x)  0 xR n

16

1 Bases théoriques 1.1 Définitions 1.1.2 Solution

Max CERF 2018

Techniques d’optimisation 1.1.2 Exemple

Contrainte active

x 1 min x 2  1 sous   x*  1 xR x  2

f(x)

f(x)=x2

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

2. Minimum avec contrainte active x = 1

admissible

0

1

x

2

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

• •

Respecte la contrainte Respecte la contrainte  Solution du problème

3. Bilan :

x2 x1

1 contrainte active x  1 1 contrainte inactive x  2

Minimum sans contrainte Minimum avec contrainte

 transformée en égalité  ignorée

17

1 Bases théoriques 1.1 Définitions 1.1.2 Solution

Max CERF 2018

Techniques d’optimisation 1.1.2 Point intérieur

Point intérieur y point intérieur à Y ε  0 / z, z - y  ε , z  Y  Il existe un voisinage de y contenu dans Y : Un problème avec contraintes égalité n’admet pas de point intérieur

Solution intérieure aux contraintes • x* minimum local du problème avec contraintes inégalité • Si x* est un point intérieur, alors x* minimum local du problème sans contraintes

Point intérieur - Contrainte inactive

min f(x) sous c I (x)  0 xR n

min f(x) xR n

 plus simple

Contrainte active

x* x*

18

1 Bases théoriques 1.1 Définitions 1.1.2 Solution

Max CERF 2018

Techniques d’optimisation 1.1.2 Exemple

Point intérieur

min x 2  1 sous x  1  x*  0

f(x)

f(x)=x2

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 xXint

 voisinage de x inclus dans Xint  intervalle ouvert

admissible

0

1

x

Minimum avec contrainte

3. Solution : x*=0 x*Xint intérieur à la contrainte  contrainte inactive

19

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

Techniques d’optimisation

Max CERF 2018

1.1.3 Différentiabilité  Définitions - Dérivée partielle - Dérivée directionnelle - Gradient – Hessien – Jacobien  Théorème de Taylor - Ordre 1 et 2 - Modèle quadratique-linéaire - Ligne de niveau  Dérivées numériques - Différences finies - Erreurs numériques - Incrément - Dérivée complexe - Méthode d’extrapolation

20

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

Max CERF 2018

Techniques d’optimisation 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 )  lim 1 Dérivée partielle de f en x par rapport à xi : f x i (x)  x i s0 s si la limite existe Gradient Gradient de f en x : g(x)  f(x) g(x) : R n  R n si toutes les dérivées partielles existent

 f(x)   g(x)    x i  i 1,..., n

Dérivée directionnelle Dérivée directionnelle de f en x dans la direction dRn : si la limite existe (dérivée directionnelle = produit scalaire avec le gradient)

 f(x)     x  1    ...   f(x)     x  n 

f(x  sd) - f(x) s 0 s

f d (x)  lim

 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 1.1 Définitions 1.1.3 Différentiabilité

Max CERF 2018

Techniques d’optimisation 1.1.3 Hessien

Différentiabilité ordre 2 f fonction deux fois différentiable de Rn dans R Hessien Hessien de f en x : H(x)   2 f(x) H(x) : R n  R nn

  2 f(x)   H(x)    x i x j    i, j1,..., n

  2 f(x)  2   x1  ...   2 f(x)   x n x 1 

 2 f(x) ... x 1x n ... ... 2  f(x) ... 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 • •

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

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 1.1 Définitions 1.1.3 Différentiabilité

Max CERF 2018

Techniques d’optimisation 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

 c j (x)   c(x)  c1 (x) ,..., c m (x)      x i  i 1,..., n  j1,..., m Matrice jacobienne (« jacobien » = déterminant de Jc)

 c1 (x)     c (x)  J c (x)  c(x) T   ...    i   x j  i 1,..., n  T   j1,..., m   c (x)  m  T

c m (x)   c1 (x) ...   x 1   x 1   ... ... ...   c1 (x) c m (x)  ...  x x n  n  

c1 (x)   c1 (x) ...    x  x   1 n   ... ... ...   c m (x) c m (x)  ...  x x n  1  

Contraintes du problème (PO) Matrice jacobienne regroupant les contraintes égalité cE et les contraintes inégalité cI

J(x) : R  R n

( p  q) n

J E (x)   c E (x) T   J(x)    T   J I (x)   c I (x) 

23

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

Techniques d’optimisation

Max CERF 2018

1.1.3 Théorème de Taylor Théorème de Taylor n f fonction de Rn dans R : x  R  f(x)  R 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 d  f(x)d  o d 2

2

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

1 T 2 d  f(x  sd)d 2

24

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

Techniques d’optimisation

Max CERF 2018

1.1.3 Modèle quadratique-linéaire Problème avec contraintes égalité minn f(x) sous c(x)  0  contrainte actives xR

Fonction modèle • Application du théorème de Taylor au point x0Rn •

1 T T 2 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 ) 2



Modèle linéaire des contraintes : cˆ 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)  cˆ 0 (x)

min fˆ0 (x) sous cˆ 0 (x)  0  Problème quadratique-linéaire xR - localement « proche » du problème initial - plus simple à résoudre n

25

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

Techniques d’optimisation

Max CERF 2018

1.1.3 Exemple Modèle quadratique : fonction de 1 variable •

Fonction :

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



Gradient :

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



Hessien :

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



Modèle quadratique en x0 = 3 :

f ( x 0 )  0 , f ( x 0 )  6 ,  2 f ( x 0 )  14

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



Modèle quadratique en x0 = 4 :

f ( x 0 )  0 , f ( x 0 )  4 ,  2 f ( x 0 )  2

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



Modèle quadratique en x0 = 5 :

f ( x 0 )  0 , f ( x 0 )  10 ,  2 f ( x 0 )  34

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

26

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

Techniques d’optimisation

Max CERF 2018

1.1.3 Exemple Modèle quadratique : fonction de 2 variables



  1  x  2

 fonction de Rosenbrock

Fonction :

f ( x 1 , x 2 )  100 x 2  x 12

Gradient :

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



Hessien :

  400 x 2  3x12  2  400x1    f ( x )     400 x 200 1  



 0  802  400   Modèle quadratique en x0 = (1,1) : f ( x 0 )  0 , f ( x 0 )    ,  2 f ( x 0 )   0  400 200    





 



2

1  x 1 fˆ0 ( x 1 , x 2 )   1  2  x 2  1

T

2

1

 



 802  400  x 1  1     x  1  400 200   2 

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

27

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

Max CERF 2018

Techniques d’optimisation 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 1 1 T f(x  d)  (x  d)T Q(x  d)  cT (x  d)  b  f(x)  Qx  c  d  d T Qd 2 2  f(x)  Qx  c Gradient d’une fonction vectorielle • Le gradient de f : Rn  Rp en x est la matrice GRnp telle que

2f(x)  Q

f(x  d)  f(x)  GT d  o d , d  R n



f(x)  h g(x) 

Fonction composée :



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)  •

T Fonction linéaire : g(x)  Ax  g(x  d)  Ax  Ad  g(x)  A

f(x)  h Ax  f(x)  A T h Ax

28

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

Max CERF 2018

Techniques d’optimisation 1.1.3 Ligne de niveau

Définition • Ligne (ou surface) de niveau l0 de la fonction f  hypersurface dans Rn (sous-espace de dimension n-1) L 0  x  R n / f(x)  l 0







Ligne de niveau passant par x0 T 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







à 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 1.1 Définitions 1.1.3 Différentiabilité

Max CERF 2018

Techniques d’optimisation 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

x1

1

30

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

Max CERF 2018

Techniques d’optimisation 1.1.3 Exemple

Ligne de niveau : fonction de Rosenbrock



f ( x1 , x 2 )  100 x 2  x12

  1  x  2

2

1

5,0

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

4,0

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

-1,0

0,5

1,0

1,5

2,0

2,5

31

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

Techniques d’optimisation

Max CERF 2018

1.1.3 Dérivées numériques Différences finies Les expressions analytiques de f(x) et 2f(x) ne sont généralement pas disponibles.  Evaluation par différences finies avec incrément h appliqué successivement sur chaque variable x  x  he i

1

i 1 i i 1

n

avec e i  (0, , 0 ,1, 0 , , 0) T , i  1 à n

Gradient •



f(x  he i )  f(x) f (x)   o( h ) Différence finie simple :  x h i amont si h0  n appels fonction pour évaluer f(x) f(x  he i )  f(x  he i ) f (x)   o( h 2 ) Différence finie centrée : x i 2h plus précis  2n appels fonction pour évaluer f(x)

Hessien •

f(x  he i  he j )  f(x  he i )  f(x  he j )  f(x)  2f (x)   o( h ) Différence finie simple : x i x j h2

 n(n+1)/2+n appels fonction pour évaluer 2f(x)

32

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

Techniques d’optimisation

Max CERF 2018

1.1.3 Dérivées numériques Sources d’erreurs L’ évaluation d’une dérivée par différence finie génère 2 types d’erreurs : • Erreur d’arrondi (ou de conditionnement) • Erreur de troncature

Erreur d’arrondi Les réels sont représentés en mémoire machine calcul avec une précision finie. La précision machine m est le plus petit réel tel que : 1 + m  1  erreur relative m=10-16 sur la valeur d’un réel x en double précision  erreur relative r sur la valeur évaluée de f(x) r >> m par cumul des erreurs au cours des opérations pour passer de x à f(x) f eval (x)  f exact (x)(1  ε r )  f exact (x)  ε f  f = erreur absolue sur f Erreur de troncature L’ évaluation d’une dérivée par différence finie tronque le développement de Taylor à l’ordre 1. •



1 2 h f' ' (x 0  sh) avec s  0,1 2 1 avec ε t  M majorant de f ' ' ( x ) sur x 0 , x 0  d  f(x 0  h)  f(x 0 )  hf' (x 0 )  h 2 ε t 2 f(x 0  h)  f(x 0 )  hf' (x 0 ) 

33

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

Techniques d’optimisation

Max CERF 2018

1.1.3 Dérivées numériques Erreur sur la dérivée ' f eval (x 0 ) 

f eval (x 0  h)  f eval (x 0 ) h

avec

• •

f eval (x 0 )  f exact (x 0 ) f eval (x 0  h)  f exact (x 0  h)

 εf  εf



' f exact (x 0  h)  f exact (x 0 )  hf exact (x 0 ) 

 arrondi sur feval(x0)  arrondi sur feval(x0+h)

1 2 h εt 2

En remplaçant dans l’expression de f’eval(x0) : f exact (x 0  h)  f exact (x 0 )  2ε f  h hε 2ε ' '  f eval (x 0 )  f exact (x 0 )  t  f 2 h

'  f eval (x 0 ) 

 troncature sur fexact(x0+h) 1 2 h ε t  2ε f 2 h

' hf exact (x 0 ) 

L’erreur maximale sur la dérivée numérique est :

f ' 

hε t 2ε f  2 h

34

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

Techniques d’optimisation

Max CERF 2018

1.1.3 Dérivées numériques Incrément optimal •

On choisit l’incrément pour minimiser l’erreur : min  f '  h

d f ' ε t 2ε f   2 0 dh 2 h

 h opt  2

εf εt

hε t 2ε f  2 h

 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 1.1 Définitions 1.1.3 Différentiabilité

Max CERF 2018

Techniques d’optimisation 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)  f ' (x) Dérivée numérique avec incrément h  erreur e(h )  h h 1E-01 1E-02 1E-03 1E-04 1E-05 1E-06 1E-07 1E-08 1E-09 1E-10 1E-11 1E-12 1E-13 1E-14 1E-15

(f(x+h)-f(x))/h 6,7410000000 6,0704010000 6,0070040010 6,0007000400 6,0000700004 6,0000069997 6,0000007007 6,0000000079 6,0000004964 6,0000004964 6,0000004964 6,0005334035 5,9952043330 5,9952043330 6,6613381478

Erreur 7,410E-01 7,040E-02 7,004E-03 7,000E-04 7,000E-05 7,000E-06 7,007E-07 7,944E-09 4,964E-07 4,964E-07 4,964E-07 5,334E-04 -4,796E-03 -4,796E-03 6,613E-01

1

log(h) -16

-14

0 -12

-10

-8

-6

-4

-2

-1 -2 -3 -4 -5 -6

log(e)

-7 -8 -9

incrément adapté

36

0

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

Max CERF 2018

Techniques d’optimisation 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 h2  f ' (x 0 )  f ' ' (x 0 )  f ' ' ' (x 0 )  o h 2 h 2 6

 

 précision de l’ordre de h  h  εf

L’incrément h ne peut pas être choisi trop petit à 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 h2  if ' ( x 0 )  f ' ' ( x 0 )  i f ' ' ' ( x 0 )  o h 2 h 2 6 h2  f ( x 0  ih )  f ( x 0 )  2  Im   f ' (x 0 )  f ' ' ' (x 0 )  o h h 6  

 

 

L’incrément h peut être choisi à la précision machine car il ne porte que sur la partie imaginaire de f



précision de l’ordre de h2

 h  εf

37

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

Techniques d’optimisation

Max CERF 2018

1.1.3 Dérivées numériques Dérivée complexe • La dérivée numérique est évaluée par différence finie complexe.



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

Exemple f ( x )  x 2  f ' ( x )  2x • •

f (x 0  h)  f (x 0 ) (x 0  h)2  (x 0 )2 Différence finie réelle :   2x 0  h  erreur = h h h f ( x 0  ih )  f ( x 0 ) ( x 0  ih ) 2  ( x 0 ) 2 Différence finie imaginaire :   2ix 0  h 2 h h  f ( x 0  ih )  f ( x 0 )   valeur exacte  Im   2x 0 h  

38

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

Techniques d’optimisation

Max CERF 2018

1.1.3 Dérivées numériques Méthode d’extrapolation • La dérivée de f en x0 est par définition :

f(x 0  h )  f(x 0 ) h 0 h

f' (x 0 )  lim

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 h 0

→ à évaluer

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 1.1 Définitions 1.1.3 Différentiabilité

Max CERF 2018

Techniques d’optimisation 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 Pour r  •

1 2

(valeur usuelle) :

h 0  h , h1 

h h h , h2  , h3  ,  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 : on obtient à l’ordre n : A 0,0 A  1,0 A  2, 0     A m ,0



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

 A ( r 0 h )  a 0  a 1h  a 2 h 2  A(r1h )  a 0  a1rh  a 2 r 2 h 2  A ( r 2 h )  a 0  a 1r 2 h  a 2 r 4 h 2

   anhn  o( h n )    a n r n h n  o( h n )    a n r 2 n h n  o( h n )

 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 1.1 Définitions 1.1.3 Différentiabilité

Techniques d’optimisation

Max CERF 2018

1.1.3 Extrapolation Elimination des termes en h • On définit les m valeurs Ak,1 de rang 1 à partir des m+1 valeurs Ak,0 de rang 0. A k ,1 

A k ,0  rA k 1,0

def



1 r

pour k = 1 à m

Ces combinaisons gardent le terme a0 et éliminent les termes en h du développement de Taylor.

A1,1 A  2,1 A  3,1     A m ,1

 a 0  b2h 2    bn h n  o( h n )  a 0  b 2 r 2 h 2    b n r n h n  o( h n )  a 0  b 2 r 4 h 2    b n r 2 n h n  o( h n )  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 1.1 Définitions 1.1.3 Différentiabilité

Techniques d’optimisation

Max CERF 2018

1.1.3 Extrapolation Elimination des termes jusqu’à hm • On applique la formule de récurrence entre le rang j1 et le rang j.

A k, j 

def



A k , j1  r jA k 1, j1 1 r j

pour k = j à m , et j = 1 à m

En pratique on dispose les calculs en colonnes. A0,0

A1,1

A2,2

A1,0

A2,1

A3,2

A2,0

A3,1

A3,3

Am,m

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 h  Le dernier terme Am,m est une approximation de a0 à l’ordre hm : A m ,m  a 0  r

42

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

Techniques d’optimisation

Max CERF 2018

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

f ( x 0  rh )  f ( x 0  h ) (r  1)h

B(h )  2



f ( x 0  rh )  rf ( x 0  h )  (r  1)f ( x 0 ) 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 1.1 Définitions 1.1.3 Différentiabilité

Max CERF 2018

Techniques d’optimisation 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.

A k ,0  A(h k ) 

f k 1  f k (r  1)h k

B k ,0  B(h k )  2

f k 1  rf k  (r  1)f ( x 0 ) 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  2 log r

Exemple : r=0.5 , =1016 , h=104 h=108

→ m 0 si A est définie positive

 sinon on modifie dj en cours de factorisation dj = max( , dj) ,  > 0

75

1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire

Techniques d’optimisation

Max CERF 2018

1.2.1 Exemple Factorisation LDLT d’une matrice 22

A



L

D

 a 11 a 21   1 0  d1      a a l 1 22   21  21  0 •

LT 0  1 l 21    d 2  0 1 



d1  a 11  a 21 l 21  d1  d 2  a 22  d1l 221

Exemple

 802  400   A    400 200  

1 0 0    802  , D     L    0 . 4988 1 0 0 . 4988    

Les éléments de la matrice diagonale D sont positifs

Valeurs propres de A :

 A est définie positive

1  1001.60   2  0.39936

76

1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire

Techniques d’optimisation

Max CERF 2018

1.2.1 Factorisation LDLT Méthode de Cholesky modifiée A matrice nn symétrique  matrice A’ définie positive « proche » de A (A’ = A si A est définie positive) A’ = LDLT avec L triangulaire inférieure, D diagonale positive • Notations : A=(aij) , L=(lij) , D=(dij) , i,j=1,…,n •

Algorithme Pour j = 1,2,…,n

Modification pour rendre dj > 0 (si A n’est pas définie positive)

j1

c jj  a jj   d s l 2js d j  c jj

s 1

Pour i = j+1,…,n j1

c ij  a ij   d s l is l js s 1

l ij 

c ij dj

Si dj  

2      j  d j  max c jj ,   ,   avec  j  max c ij  j i  n     

d j     m ij  l ij d j   , i  j  1,..., n Paramètres :  > 0 petit ( = 10-3) >0 ( = 1)

Fin boucle i Fin boucle j

77

1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire

Techniques d’optimisation

Max CERF 2018

1.2.1 Système linéaire Système linéaire

Ax  b

avec

A  R m  n  m b  R x  R n 

 matrice de rang r : rang(A) = r  m équations  n inconnues

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



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> 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 1.2 Contraintes linéaires 1.2.4 Projection

Techniques d’optimisation

Max CERF 2018

1.2.4 Projection  Projection orthogonale sur un hyperplan  Projection sur le noyau

112

1 Bases théoriques 1.2 Contraintes linéaires 1.2.4 Projection

Max CERF 2018

Techniques d’optimisation 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 1 1 2 T min x  x 0  x  x 0  x  x 0  sous Ax  b xR 2 2 1 T T Lagrangien : L( x, )  x  x 0  x  x 0    b  Ax  2

xP

n

• •

Condition d’ordre 1 x  x 0  A T   0  Ax  b 





x0



  AA T 1 b  Ax  Ax  AA T   Ax 0 0  Ax  b T T 1  x  x 0  A AA b  Ax 0 



x P  I  A T AA T



1





A x 0  A T AA T



Solution :



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



1

b







  A x AA  A

 x P  I  A T AA T

 matrice de projection : P  I  A T

1

0

T 1

113

1 Bases théoriques 1.3 Contraintes non linéaires

Techniques d’optimisation

Max CERF 2018

Sommaire 1.

Bases théoriques 1.1 Définitions 1.2 Contraintes linéaires 1.3 Contraintes non linéaires 1.3.1 Direction admissible 1.3.2 Déplacement admissible 1.4 Conditions d’optimalité

2. 3. 4. 5.

Optimisation sans contraintes Optimisation avec contraintes Optimisation discrète Optimisation fonctionnelle

114

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible

Techniques d’optimisation

Max CERF 2018

1.3.1 Direction admissible  Indépendance linéaire  Direction admissible à la limite

 Cône des directions  Qualification des contraintes

115

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible

Techniques d’optimisation

Max CERF 2018

1.3.1 Indépendance linéaire Contraintes linéaires Pour des contraintes linéaires Ax=b, ARmn, si A est de rang déficient : rang(A) = r < m, on peut toujours extraire de A une sous-matrice ÃRrn de rang plein : rang(Ã) = r, telle que ~ ~ Ax  b  Ax  b  élimination des contraintes redondantes (cf §1.2.1) Contraintes non linéaires Pour des contraintes non linéaires, on considère un modèle linéaire local. • •

x0 point admissible : c E (x 0 )  0  c(x 0 )  0 (contraintes actives en x0) c (x )  0  I 0 Contraintes actives linéarisées : cˆ 0 (x)  c(x 0 )  c(x 0 ) T (x  x 0 ) avec c(x0)=0 cˆ 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 1.3 Contraintes non linéaires 1.3.1 Direction admissible

Max CERF 2018

Techniques d’optimisation 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 2 x     R  2 2   c ( x )  x  x  1 1  0 x 2 1 2 2    •

1   x  En 1   2 c1     1 

2,0

1,5

 2 c 2     0

1,0

 linéairement indépendants •

En

 0 x     0  0 c1    1

0,5

0,0

 0  c 2      2

 linéairement dépendants

-2,0

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

-0,5

-1,0

117

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible

Techniques d’optimisation

Max CERF 2018

1.3.1 Direction admissible Définition générale • •

c (x )  0 x point admissible : c E(x 0)  0  c(x 0 )  0  I 0

(contraintes actives en x0)

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 1.3 Contraintes non linéaires 1.3.1 Direction admissible

Max CERF 2018

Techniques d’optimisation 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 k  0

Direction admissible à la limite •

On considère la suite des directions dk reliant xk à x : d k 

xk  x xk  x



Définition d direction admissible à la limite en x pour la suite (xk)k  N d ki  d  Il existe une sous-suite d k i iN telle que : lim i 

 

x1



Direction admissible à la limite = direction tangente

x2

d1

xk x

d

d2 dk

119

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible

Max CERF 2018

Techniques d’optimisation 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

d  D( x )

 direction tangente aux contraintes égalité  direction intérieure aux contraintes inégalité actives

Propriété Toute direction admissible à la limite en x appartient au cône des directions en x Preuve : (xk) suite admissible de limite x

c (x )  0  directions d  xk  x  E k k xk  x c I (xk )  0 c(xk )  c(x)  c(x)T (xk  x)  o xk  x 

c contrainte active en x : c(x)=0 c(xk )  c(x) o xk  x  c(xk )  0 (égalité) c(x)T d k    c(x)T d  lim   k  x  x xk  x xk  x  0 (inégalité) k

120

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible

Techniques d’optimisation

Max CERF 2018

1.3.1 Qualification Caractérisation des directions admissibles • Le cône des directions D(x) au point x admissible est simple à manipuler en pratique. c E (x) T d  0  pour toutes les contraintes égalité d  D( x )   T  pour les contraintes inégalité actives en x c I (x) d  0 •

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 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

Techniques d’optimisation

Max CERF 2018

1.3.2 Déplacement admissible  Principes  Elimination directe

 Réduction généralisée  Restauration

122

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

Techniques d’optimisation

Max CERF 2018

1.3.2 Déplacement admissible Problème sous contraintes non linéaires

c (x)  0 min f(x) sous  E xR c I ( x )  0 n



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 xR n



 m contraintes actives en x0

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 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

Techniques d’optimisation

Max CERF 2018

1.3.2 Elimination directe Principe

min f(x) sous c( x )  0 xR n

 m contraintes actives



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



Si l’on sait résoudre : le problème devient :

c( x lié , x libre )  0  x lié  ( x libre )

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 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

Max CERF 2018

Techniques d’optimisation 1.3.2 Exemples 3,0

Elimination directe • 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

 min 1  2x x2

2 1

2 2

2 2

Exemple 2 :

 x2  0

-3,0

-2,0

-1,0

0,0

1,0

2,0

3,0

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

min x 12  x 22 sous x 12  4x 22  1 x1 , x 2

Elimination de x1 : x  4x  1  x  1  4x 2 1

x*

0,0

x  1 Solution correcte : x 1  0  2 •

contrainte

lignes de f2,0

2 2

2 1

lignes de f

contrainte

1,0

2 2

x* 0,5

 min 1  3x 22  x 2   x2

Solution incorrecte 2 2 Contrainte implicite : x 1  0  1  4x 2  0 1 1    x2  2 2  à prendre en compte explicitement dans la résolution

0,0 -1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

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

125

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

Max CERF 2018

Techniques d’optimisation 1.3.2 Réduction généralisée

Principe min f(x) sous c( x )  0 xR n

 m contraintes actives

On construit le déplacement p à partir du point initial x0 en 2 étapes : p = p1 + p2 •





Etape de linéarisation + réduction Le déplacement p1 améliore le critère en supposant un modèle linéaire des contraintes en x0.  linéarisation des contraintes en x0  application de la méthode de réduction de contraintes linéaires x2 p 2 On obtient un nouveau point : x1 = x0 + p1 Etape de restauration Les contraintes actives (non linéaires) ne sont pas respectées en x1. Le déplacement p2 restaure un point admissible à partir du point x1.  linéarisation des contraintes en x1  résolution d’un système sous-déterminé c(x)=0 On obtient un nouveau point : x2 = x1 + p2 c(x)=c1

x1 p1 x0

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 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

Max CERF 2018

Techniques d’optimisation 1.3.2 Réduction généralisée

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



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



Le déplacement p est admissible pour les contraintes linéaires si cˆ 0 (x 0  p)  0  c(x 0 )  c(x 0 ) T p  0





A0p  b0

A 0  c(x 0 ) T 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



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 pR

n

p Z R

n -m

1



c(x)=0

 problème à nm variables sans contraintes  déplacement p1 •

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

c(x)=c1 x0

p1

x1

127

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

Techniques d’optimisation

Max CERF 2018

1.3.2 Réduction généralisée Etape de restauration • Les contraintes actives ne sont pas vérifiées en x1 : c(x1) = c1  0 On cherche un déplacement p2 à partir de x1 tel que : c(x1+p2) = 0  système non linéaire sous-déterminé de m équations à n inconnues •

On linéarise les contraintes au point x1 : cˆ 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. cˆ 1 (x1  p)  0  c(x1 )  c(x1 ) T p  0



T  A1p  b1 avec A1  c(x1 ) 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 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

Max CERF 2018

Techniques d’optimisation 1.3.2 Restauration

Résolution du système Le déplacement p2 doit vérifier : A1p  b1 •

A1  c(x1 ) T  c(x 0 ) T  A 0 avec  b1  c(x1 )  c1

Solution de norme minimale  projection sur l’hyperplan tangent aux contraintes actives 1 (cf §1.2.4) minn p sous A1p  b1  p 2  A1T A1A1T b1



pR





 pour ne pas dégrader la minimisation réalisée par pZ (cf §1.2.3) 1 1 A1 (Yp Y  Zp Z )  b1  p Y  A1Y  b1  p 2  YA1Y  b1

Solution de base

p2

c(x)=0 x0

p1

x1

c(x)=c1 c(x0)

c(x1)

129

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

Techniques d’optimisation

Max CERF 2018

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

• •

T T   déplacement p2 A1p  b1 avec A1  c(x1 )  c(x 0 )  A 0 b   c(x )   c 1 1  1 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 T T  A 2 p  b 2 avec A 2  c(x 2 )  c(x 0 )  A 0 b 2  c(x 2 )  c 2

 déplacement p3



Si l’on n’obtient pas de point admissible après un nombre donné d’itérations, il faut réduire le déplacement p1 pour rendre l’approximation linéaire suffisamment correcte.



Si l’on obtient un point admissible x2, il faut encore vérifier que - les contraintes qui étaient inactives en x0 sont respectées en x2 - le point x2 est meilleur que le point initial x0 (car la restauration peut dégrader le critère). Sinon il faut réduire le déplacement p1.

130

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

Max CERF 2018

Techniques d’optimisation 1.3.2 Restauration

Illustrations Restauration en plusieurs itérations : p2 , p3 c(x)=0 c(x)=c1

Restauration infructueuse (non linéarité) c(x)=0

p3 x0

p2

p1

c(x)=c1

p2 x0 p1

x1

x1

Restauration avec dégradation du critère p2

c(x)=0 x0

p1

lignes de f

x1

131

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

Max CERF 2018

Techniques d’optimisation 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) 1 A1  c(x 0 ) T A1p 2  b1 avec   p 2  A1T A1A1T b1 b1  c(x 0  p1 )







Pas total : pt = p1 + p2  direction de recherche. pt c(x)=0 x0

p1

p2 x1

c(x)=c1 c(x0)

132

1 Bases théoriques 1.4 Conditions d’optimalité

Techniques d’optimisation

Max CERF 2018

Sommaire 1.

Bases théoriques 1.1 Définitions 1.2 Contraintes linéaires 1.3 Contraintes non linéaires 1.4 Conditions d’optimalité 1.4.1 Dualité 1.4.2 Problème sans contraintes 1.4.3 Problème avec contraintes 1.4.4 Problème linéaire 1.4.5 Problème quadratique

2. 3. 4. 5.

Optimisation sans contraintes Optimisation avec contraintes Optimisation discrète Optimisation fonctionnelle

133

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Techniques d’optimisation

Max CERF 2018

1.4.1 Dualité  Dualité critère  contraintes - Critère augmenté - Lagrangien - Lagrangien augmenté - Fonction duale  Problème dual - Dualité faible - Saut de dualité - Point col - Dualité forte  Programmation linéaire - Problème primal - Problème dual

134

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Techniques d’optimisation

Max CERF 2018

1.4.1 Dualité Problème avec contraintes égalité  m contraintes d’égalité (= contraintes actives) minn f(x) sous c(x)  0 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  Dualité critère-contraintes

 min c(x) x

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 1.4 Conditions d’optimalité 1.4.1 Dualité

Techniques d’optimisation

Max CERF 2018

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

Critère augmenté 1 f ρ (x)  f(x)  ρ c(x) 2

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) xR

Problème pénalisé avec contraintes minn f ρ (x) sous c(x)  0 xR

 Problème équivalent au problème avec contraintes si la pénalisation  est assez grande  Problème équivalent au problème avec contraintes Renforce le poids des contraintes dans le critère

136

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Max CERF 2018

Techniques d’optimisation 1.4.1 Exemple

Critère augmenté





1 2 x 2  x 12 sous x 1  1 x ,x 2 1  x*  1 0 f ( x )  x 22  x 12 2 c( x )  x 1  1 min 1

f  x 1 , x 2  

2



2,0



2,0

=0 -1,0

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

-0,5 0,0 -0,5

0,5

1,0

1,5

2,0

2,5

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



=1

    x * ()   0    1  2,0

1,5

1,5

1,0

1,0

0,5

0,5

0,0 -0,5 -0,5 0,0

0,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

-2,0

-2,0

2,0

-1,0



1 2 1 2 x 2  x 12  x 1  1 2 2

=2

2,0

1,5

1,5

1,0

1,0

0,5

0,5

0,0 -0,5 -0,5 0,0

0,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

-2,0

-2,0

=10

0,5

1,0

1,5

2,0

2,5

2,0

2,5

=100

0,5

1,0

1,5

137

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Max CERF 2018

Techniques d’optimisation 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 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 h ,r

r

avec V0  2 v 0

Solution exacte



La contrainte permet d’éliminer h : h 

2v 0 r2

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



2

Valeur optimale du coût :

f  6v 0 3

138

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Max CERF 2018

Techniques d’optimisation 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

Conditions de minimum :

 f   0  2r  r 2 (r 2 h  2v 0 )  0  h  f    0  4r  2h  2rh (r 2 h  2v )  0 0  r

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 1.4 Conditions d’optimalité 1.4.1 Dualité

Max CERF 2018

Techniques d’optimisation 1.4.1 Exemple

Application numérique • Volume : v0 = 1000

r



Solution exacte :



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

r = 10 , h = 20 , f = 600

Résolution numérique de :

h

r (r 3  v 0 )  1  0  r , h  2r



r

h

f

c

0.001 0.01 0.1 1 10 100

9.641582 9.966442 9.996664 9.999667 9.999967 9.999997

19.28316 19.93288 19.99333 19.99933 19.99993 19.99999

557.761 595.980 599.600 599.960 599.996 600.000

792.565 979.933 997.999 999.800 999.980 999.998

 Pénalisation faible Contrainte mal respectée Écart important à la solution exacte

 Pénalisation forte Contrainte bien respectée Écart faible à la solution exacte

140

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Max CERF 2018

Techniques d’optimisation 1.4.1 Lagrangien

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

c (x)  0 min f(x) sous  E xR c I (x)  0 n

(PO)

 p contraintes d’égalité  q contraintes d’inégalité

Multiplicateurs de Lagrange 1 multiplicateur par contrainte • Rp  multiplicateurs des contraintes d’égalité • Rq  multiplicateurs des contraintes d’inégalité Fonction de Lagrange (ou lagrangien) Le lagrangien du problème (PO) est la fonction L de Rn+p+q dans R x  R n , λ  R p , μ  R q  L(x, λ, μ)  R

L(x, λ, μ)  f(x)  λ c E (x)  μ c I (x) T

T

p

q

j1

j1

 L(x, λ, μ)  f(x)   λ jc Ej (x)   μ jc Ij (x)

 multiplicateurs  coefficients de pénalisation des contraintes  interprétation comme des sensibilités aux niveaux des contraintes

141

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Techniques d’optimisation

Max CERF 2018

1.4.1 Lagrangien augmenté Problème pénalisé avec contraintes égalité • Critère augmenté : coefficient de pénalisation  > 0

minn f ρ (x) sous c(x)  0 xR



1 avec f ρ (x)  f(x)  ρ c(x) 2

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 1.4 Conditions d’optimalité 1.4.1 Dualité

Max CERF 2018

Techniques d’optimisation 1.4.1 Exemple

Lagrangien augmenté • Fonction de 2 variables 1  minimum en x* = (1 0) min x 22  x12 sous x1  1 x1 , x 2 2 * = 1 • Critère augmenté   1 1 2  minimum en x * ()    0  f  x 1 , x 2   x 22  x 12  x 1  1   1  2 2 • Lagrangien augmenté   1 1 2 0  L  x1 , x 2 ,    x 22  x12  x1  1  x1  1  minimum en x * (, )     1  2 2 Pour  = * = 1, le minimum sans contrainte du lagrangien augmenté   1  x * (, *)   0   1 0 est la solution x* du problème initial.













  1

x1

2,0

=1

=2

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 1.4 Conditions d’optimalité 1.4.1 Dualité

Max CERF 2018

Techniques d’optimisation 1.4.1 Exemple

Lagrangien augmenté





1 2 x 2  x 12 sous x 1  1 x ,x 2 1  x*  1 0 f ( x )  x 22  x 12 2 c( x )  x 1  1 *  1

L  x 1 , x 2 ,   

=0

min 1

2



2,0



2,0

-1,0

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

0,5

1,0

1,5

2,0

2,5

-1,5 -2,0

-1,0

=1 , =1

2,0 1,5

1,0

1,0

0,5

0,5

0,0 -0,5 -0,5 0,0

0,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

-2,0

-2,0

2,0

-1,0



1,5

0,0 -1,0



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

=2 , =1

2,0

1,5

1,5

1,0

1,0

0,5

0,5

0,0 -0,5 -0,5 0,0

0,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

-2,0

-2,0

=10 , =1

0,5

1,0

1,5

2,0

2,5

=100 , =1

0,5

1,0

1,5

2,0

144

2,5

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Max CERF 2018

Techniques d’optimisation 1.4.1 Exemple

Lagrangien augmenté lignes de niveau pour  = 0 2,0

lignes de niveau pour  = 1

=2

2,0

lignes de niveau pour  = 10

=2

2,0

1,5

1,5

1,5

1,0

1,0

1,0

0,5

0,5

0,5

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

0,5

1,0

1,5

2,0

2,5

-1,0

0,0 -0,5 -0,5 0,0

0,5

1,0

1,5

2,0

2,5

-1,0

0,0 -0,5 -0,5 0,0

-1,0

-1,0

-1,0

-1,5

-1,5

-1,5

-2,0

-2,0

-2,0

2,0

=10

2,0

=10

2,0

1,5

1,5

1,5

1,0

1,0

1,0

0,5

0,5

0,5

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

0,5

1,0

1,5

2,0

2,5

-1,0

0,0 -0,5 -0,5 0,0

0,5

1,0

1,5

2,0

2,5

-1,0

0,0 -0,5 -0,5 0,0

-1,0

-1,0

-1,0

-1,5

-1,5

-1,5

-2,0

-2,0

-2,0

=2

0,5

1,0

1,5

2,0

2,5

1,5

2,0

2,5

=10

0,5

1,0

145

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Techniques d’optimisation

Max CERF 2018

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

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

 Minimisation du lagrangien à  et  fixés x = variables primales  et  = variables duales p Domaine de w : X w  λ  R , μ  R q / w(λ , μ)    w bornée xR n







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 1.4 Conditions d’optimalité 1.4.1 Dualité

Techniques d’optimisation

Max CERF 2018

1.4.1 Problème dual Problème dual •

Problème primal :



Fonction duale :

c (x)  0 min f(x) sous  E xR c I (x)  0 w(λ , μ)  minn L(x, λ, μ)



Domaine de w :

X w  λ  R p , μ  R q / w(λ , μ)  



Problème dual :



n

 x(λ , μ) /  x L(x, λ , μ)  0

xR





 w bornée

max w(λ , μ) sous (λ , μ)  X w , μ  0

λR p ,μR q

max

xR n , λR p ,μR q

 L(x, λ , μ)  0  x(λ , μ) L(x, λ , μ) sous  x (λ , μ)  X w , μ  0

 dual de Wolfe

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 1.4 Conditions d’optimalité 1.4.1 Dualité

Techniques d’optimisation

Max CERF 2018

1.4.1 Exemple Fonction duale





1 2 x 2  x12 sous x1  1 1 2 2 1 L( x, )  x 22  x 12  x 1  1 2 1 x*    , *  1  0



Problème primal : min x ,x



Lagrangien :



Solution :



Fonction duale :





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

 w ( ) 

1 2   2



Problème dual :

max w ()



Solution :

1 *  1 , x*     0





avec 

L x   0 x   0   1   1 x x 2  0 x 2  0 x 1   x  0  2

w  0   1 

148

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Techniques d’optimisation

Max CERF 2018

1.4.1 Dualité faible Théorème de la dualité faible • x* solution du problème primal • *,* solution du problème dual

 w(λ * , μ*)  f(x*)

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 1.4 Conditions d’optimalité 1.4.1 Dualité

Techniques d’optimisation

Max CERF 2018

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

L(x*, λ , μ)  L(x*, λ*, μ*) (x, λ , μ  0),  L(x*, λ*, μ*)  L(x, λ*, μ*)

 maximisationde L par rapport à (,)  minimisation de L par rapport à (x)

Caractérisation

L(x*, λ*, μ*)  min L(x, λ*, μ*) x c (x*)  0 (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 1.4 Conditions d’optimalité 1.4.1 Dualité

Max CERF 2018

Techniques d’optimisation 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 1.4 Conditions d’optimalité 1.4.1 Dualité

Techniques d’optimisation

Max CERF 2018

1.4.1 Dualité forte Optimum global

x*  min L(x, λ*, μ*) x  c (x*)  0 , c I (x*)  0 Si (x*,*,*0) est un point col du lagrangien :  E μ * c I (x*)  0  c E (x)  0 alors x* est un optimum global du problème primal : min f(x) sous   xR c I (x)  0 n

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 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 x   0  x  1 x  1 si   0.5     x0 Point col : 2x  1  0 Il n’existe pas de point col.  μ(2x  1)  0    0  0.5  x  1  μ  0 

Exemple

152

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Max CERF 2018

Techniques d’optimisation 1.4.1 Programmation linéaire

Problème primal

Ax  b min c T x sous  x x  0 b  Ax  0  min c T x sous  x  x  0 • •

Fonction de Lagrange :

Fonction duale :

 problème linéaire sous forme standard  multiplicateur   multiplicateur 

L(x, λ, μ)  c T x  λ T (b  Ax)  μ T ( x) T  c  A T λ  μ x  T b





 linéaire en x

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

X w  (λ, μ ) / w(λ , μ)  



Domaine de définition :



La fonction duale n’est définie que si L(x, , ) est borné inférieurement. L(x, , ) est linéaire en x  Le coefficient de x doit être nul.

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

 w(λ , μ)  λ T b

153

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Max CERF 2018

Techniques d’optimisation 1.4.1 Programmation linéaire

Problème dual

(λ , μ)  X w max w(λ , μ) sous  λ,μ μ  0 c  A T λ  μ  0 T  max λ b sous  λ,μ μ  0

 max b T λ λ



sous c  A T λ  0

 ne dépend pas de   nouveau problème linéaire en 

Le problème dual est également un problème linéaire dont la variable est . On met le problème dual sous forme standard en notant la variable y au lieu de 

min  b T y sous A T y  c  0 y

 multiplicateur 

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)  bornée si A  b  0  (A  b) T y   T c



Fonction duale notée wd() :

w d ()  min L d (y, )    T c y

si A  b  0

154

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Techniques d’optimisation

Max CERF 2018

1.4.1 Programmation linéaire Problème dual du problème dual Le problème dual admet lui-même pour dual :   X w d max w d () sous     0 A  b Ax  b  max   T c sous   min c T x sous  x    0 x  0

 identique au problème primal



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 Optimum fini

Optimum infini

Sans solution

dualité forte

impossible

impossible

Optimum infini

impossible

impossible

dualité faible

Sans solution

impossible

dualité faible

contraintes incompatibles

Optimum fini Primal

Dual

155

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Max CERF 2018

Techniques d’optimisation 1.4.1 Programmation linéaire

Correspondances primal  dual •

Problème primal (P) sous forme standard :

(P)

Ax  b 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

• • •

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



y

Une variable xj  0 de coût cj donne une contrainte  de niveau cj :

c j x j x  0   j n



Une contrainte = de niveau bi donne une variable yj R de coût bi :

a ij x j  b i  j1

m

a ij y i  c j  i 1 by   i i y i  R

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

156

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Max CERF 2018

Techniques d’optimisation 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 A x  B x  C x  b , b  R m  m inégalités inférieur 2 2 2 2 3 2 2  2 1 m   m3 inégalités supérieur sous A 3 x 1  B3 x 2  C 3 x 3  b 3 , b 3  R  n1 variables positives x 1  0  n2 variables négatives x 2  0 n x 3  R  n3 variables libres 1

2

min c1T x 1  c T2 x 2  c 3T x 3

x 1 R n1 x 2 R n 2 x 3 R n3

3

3



Problème dual (D)

A1T y1  A T2 y 2  A 3T y 3  c1 , c1  R n  n1 inégalités inférieur B T y  B T y  B T y  c , c  R n  n inégalités supérieur 2 2 3 3 2 2 2  1T 1 n T T   n3 égalités sous C1 y1 mC 2 y 2  C 3 y 3  c 3 , c 3  R  m1 variables libres  y1  R  m2 variables négatives y 2  0  y 3  0  m3 variables positives 1

2

max b1T y1  b T2 y 2  b 3T y 3

y1 R m1 y 2 R m 2 y 3 R m3

3

1

157

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Max CERF 2018

Techniques d’optimisation 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   T2  A2 x1  B2 x2  C 2 x3  b2   T3 b3  A3 x1  B3 x2  C3 x3    1T x1   2T x2 •

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 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, λ, μ) x

 

m1 multiplicateurs 1 m2 multiplicateurs 2  0 m3 multiplicateurs 3  0 n1 multiplicateurs 1  0 n2 multiplicateurs 2  0

 linéaire en x

 bornée si les coefficients de x1,x2,x3 sont nuls

158

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Techniques d’optimisation

Max CERF 2018

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

  



L bornée



 

c1  A1T 1  A2T 2  A3T 3   1  0  ,   0   c2  B1T 1  B2T 2  B3T 3   2  0 avec  1 , 2  0  2 3 c3  C1T 1  C 2T 2  C3T 3  0 

 y1  1  y 2   2  0  y3  3  0

 A1T y1  A2T y 2  A3T y3  c1   1  c1    B1T y1  B2T y 2  B3T y3  c2   2  c2 C1T y1  C 2T y 2  C3T y3  c3 

car 1  0 car 2  0



En posant :



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



Problème dual :

max w y1 , y 2 , y3   b1T y1  b2T y 2  b3T y3

y1 , y 2 , y 3

 A1T y1  A2T y 2  A3T y3  c1  sous  B1T y1  B2T y 2  B3T y3  c2 C1T y1  C 2T y 2  C3T y3  c3 

159

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Techniques d’optimisation

Max CERF 2018

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

(P)



Problème dual (D)

( D)





min x 1  2x 2  3x 3

x1 , x 2 , x 3

5  x 1  3x 2  2x  x 2  3x 3  6 sous  1 x3  4  x 1  0, x 2  0, x 3  R

max 5y1  6y 2  4y 3

1  y1  2y 2  3y  y 2 2 sous  1 3y 2  y 3  3   y1  R , y 2  0, y 3  0

min  5y1  6y 2  4y 3

 1  y1  2y 2  3y1  y 2  2 sous   3y 2  y 3  3   y1  R , y 2  0, y 3  0

y1 , y 2 , y 3

y1 , y 2 , y 3

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

160

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes

Techniques d’optimisation

Max CERF 2018

1.4.2 Problème sans contraintes  Conditions nécessaires d’optimalité locale  Conditions suffisantes d’optimalité locale

 Méthode pratique  Exemples

161

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes

Techniques d’optimisation

Max CERF 2018

1.4.2 Conditions nécessaires Problème sans contraintes minn f(x) xR

Conditions nécessaires x* minimum local

 f(x*)  0   2  f(x*)  0

 ordre 1 : point critique ou stationnaire  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 •

Ordre 2 :

 f(x*+d) < f(x*)

 

1 T 2 2 d  f(x*)d  o d 2 1 T 2 2  f(x*)  d  f(x*)d  o d car f(x*)  0 2

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

 

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 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes

Techniques d’optimisation

Max CERF 2018

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

Conditions suffisantes

 f(x*)  0  2 f(x*)  0 

 ordre 1 : point critique ou stationnaire  ordre 2 : hessien défini positif

 x* minimum local

Preuve : par l’absurde Si x* n’est pas un minimum local, on peut trouver d petit tel que f(x*+d) < f(x*) Théorème de Taylor à l’ordre 2 : 1 2 f(x* d)  f(x*) f(x*)T d  d T  2 f(x*)d  o d 2 1 T 2 2  f(x*)  d  f(x*)d  o d car f(x*)  0 2 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 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes

Techniques d’optimisation

Max CERF 2018

1.4.2 Méthode pratique Problème sans contraintes minn f(x) xR

• •

Condition nécessaire du 1er ordre :  f(x*)  0 2 Condition nécessaire du 2eme ordre :  f(x*)  0 suffisante  2 f(x*)  0

 point critique ou stationnaire  plus difficile à vérifier

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 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes

Max CERF 2018

Techniques d’optimisation 1.4.2 Exemples 5,0

Exemple 1 Fonction de Rosenbrock



f ( x1 , x 2 )  100 x 2  x

• •

• • •



  1  x 

2 2 1

4,0

2

1

Gradient :

3,0 2,0

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

0,5

1,0

1,5

2,0

2,5

1 x 1  1    x *  x  x 2 1  2 1

 802  400  1  1001.60 Valeurs propres du hessien :  2 f ( x*)       0.39936   400 200   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 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes

Techniques d’optimisation

Max CERF 2018

1.4.2 Exemples Exemple 2 Fonction :

f ( x 1 , x 2 )   x 14  x 42

Gradient :

  4x 13    f ( x 1 , x 2 )   3  4 x 2 



Hessien :

  12x 12  f ( x 1 , x 2 )    0



 0 x 0 Point stationnaire : f ( x 1 , x 2 )  0   1    x *  x 2  0  0



2

0   2  12x 2 

 0 0   2 f ( x*)    0 0

 0   1  2  0



Valeurs propres du hessien : 2f(x*) est semi-défini positif



x* vérifie les conditions nécessaires de minimum local x* ne vérifie pas les conditions suffisantes de minimum local

x* est en fait un maximum local de f :

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 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes

Max CERF 2018

Techniques d’optimisation 1.4.2 Exemples 1,0

Exemple 3 Fonction :

f ( x1 , x 2 )  x  x



 2x1    f ( x 1 , x 2 )   2  3 x 2 

Gradient :

2 1

3 2

0  2   2 f ( x 1 , x 2 )   0  6 x 2 

0,5

0,0 -1,0



Hessien :



 0 x 0 Point stationnaire : f ( x 1 , x 2 )  0   1    x *  x 2  0  0

 2 0   2 f ( x*)    0 0

-0,5

0,0

0,5

1,0

-0,5

-1,0

 2   1  2  0



Valeurs propres du hessien : 2f(x*) est semi-défini positif



x* vérifie les conditions nécessaires de minimum local x* ne vérifie pas les conditions suffisantes de minimum local

x* n’est ni un minimum ni un maximum local de f : f ( 0, x 2 )   x

3 2

 0 si x 2  0   0 si x 2  0

167

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Techniques d’optimisation

Max CERF 2018

1.4.3 Problème avec contraintes  Conditions nécessaires d’optimalité locale - Multiplicateurs de Lagrange - Conditions KKT

 Conditions suffisantes d’optimalité locale  Interprétation géométrique  Méthode pratique  Exemples  Sensibilité - Sensibilité aux niveaux de contrainte - Sensibilité aux paramètres de modèle

168

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Techniques d’optimisation

Max CERF 2018

1.4.3 Conditions nécessaires Problème avec contraintes c (x)  0 minn f(x) sous  E xR c I (x)  0

 p contraintes d’égalité  q contraintes d’inégalité

Conditions nécessaires x* minimum local  f(x*)Td  0 pour toute direction d admissible à la limite en x* Méthode directe Nécessite de connaître l’ensemble des directions admissibles en x* • Cas de contraintes linéaires  Définition des directions admissibles à partir des directions de base (§1.2.2) • Cas de contraintes non linéaires  Définition des directions admissibles à la limite  Pas de caractérisation des directions admissibles dans le cas général sauf hypothèse de qualification des contraintes : cône des directions (§1.3.1) Méthode indirecte A partir des multiplicateurs de Lagrange  Conditions d’optimalité dans le cas général

169

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Techniques d’optimisation

Max CERF 2018

1.4.3 Conditions nécessaires Problème avec contraintes c (x)  0 minn f(x) sous  E xR c I (x)  0

 p contraintes d’égalité  q contraintes d’inégalité

Conditions nécessaires Hypothèse : Contraintes linéairement indépendantes en x* x* minimum local  Il existe un unique *Rp et un unique *Rq tels que : •



Ordre 1 :  x L(x*, λ*, μ*)  0  λ L(x*, λ*, μ*)  0   μ L(x*, λ*, μ*)  0 μ *  0 μ * c (x*)  0 I 

 conditions nécessaires d’ordre 1  contraintes égalité cE(x*) = 0  contraintes inégalité cI(x*)  0  conditions complémentaires

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 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Techniques d’optimisation

Max CERF 2018

1.4.3 Conditions nécessaires Eléments de la démonstration 1) Cas de contraintes linéaires : cE(x) = Ax  b = 0  cE(x) = AT •

On choisit une base

BRmn

:

m AE   B 

 N 

n m

Ax  b  Bx B  Nx N  b  x B  B 1 b  Nx N 

x  E T x   B   xN 

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



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



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



Conditions nécessaires d’optimalité du problème réduit xN* minimum local de g(xN)

 g(x N *)  0  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 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Techniques d’optimisation

Max CERF 2018

1.4.3 Conditions nécessaires Eléments de la démonstration 1) Cas de contraintes linéaires



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





Problème réduit :



Condition nécessaire d’ordre 1 du problème réduit : g(x N *)  0   f ( x )  avec f(x)   B g(x N )  f B 1 b  Nx N , x N   N f ( x )

x N R









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 avec  B f ( x*)  B T *  0 •

  f(x*)  AT *  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 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 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 )  2 1  avec  f(x)   2 g(x N )  f B b  Nx N , x N 2    NB f ( x )  NN f ( x ) 











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  d N , d N  R n  m Pour dR vérifiant Ad  0  d       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 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Conditions nécessaires

Eléments de la démonstration 2) Cas de contraintes non linéaires : cE(x)=0 cI(x)0 On suppose que x* est un minimum local de

c (x)0 min f ( x ) sous  E xR 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

min f k ( x )  f ( x )  xR n

n

2 1 1 1 2 k c E ( x )  k c I ( x )   x *  x 2 2 2

2

 minimum local xk

kN  pénalisation de la violation des contraintes >0  pénalisation de la distance au minimum •

xk minimum local de fk  fk(xk)  fk(x*) = f(x*)

 La suite fk(xk) est bornée supérieurement par f(x*)

174

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Techniques d’optimisation

Max CERF 2018

1.4.3 Conditions nécessaires Eléments de la démonstration 2) Cas de contraintes non linéaires : cE(x)=0 cI(x)0 •

• •

La suite fk(xk) est bornée supérieurement par f(x*) 2 1 1 1 2 f k ( xk )  f ( xk )  k c E ( xk )  k c I ( xk )   2 2 2 2 k c ( x ) borné  lim kc E ( xk )   * E k def  k   2   k c I ( xk ) borné   lim kc I ( xk )   * def k  2   lim x  x* k  k  x *  xk borné

x *  xk

2

 f ( x*)

 définit les multiplicateurs   définit les multiplicateurs   la suite (xk) converge vers x*

  *  0 Multiplicateurs des contraintes inégalité : c I ( x )  max0 ,c I ( x )  0 c I ( x )  0  c I ( xk )  0 , k  k0  *  0 Contrainte inégalité inactive :

On regroupe les contraintes en un seul vecteur pour simplifier l’écriture 1 1 2 2  c ( x )   x* x c( x )   E   f k ( x )  f ( x )  k c( x ) 2 2  cI ( x )  f k ( x )  f ( x )  kc( x )c( x )   ( x  x*)

175

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Techniques d’optimisation

Max CERF 2018

1.4.3 Conditions nécessaires Eléments de la démonstration 2) Cas de contraintes non linéaires : cE(x)=0 cI(x)0 •

Condition nécessaire d’optimalité pour le problème sans contrainte xk minimum local de fk(x)  f k ( xk )  0  f ( xk )  kc( xk )c( xk )   ( xk  x*)  0



En prémultipliant par c( xk )T

 c( xk )T f ( xk )  kc( xk )T c( xk )c( xk )  c( xk )T ( xk  x*)  0 •

Les contraintes sont supposées linéairement indépendantes  c( xk )T c( xk ) inversible



En prémultipliant par

c( x

k



)T c( xk )



1



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

1

En distinguant les contraintes égalité et inégalité kc ( x )  c ( x )T c ( x )1 c ( x )T f ( x )   ( x  x*) E k E k E k E k k k  1 kcI ( xk )  cI ( xk )T cI ( xk ) cI ( xk )T f ( xk )   ( xk  x*)

176

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Techniques d’optimisation

Max CERF 2018

1.4.3 Conditions nécessaires Eléments de la démonstration 2) Cas de contraintes non linéaires : cE(x)=0 cI(x)0 kc ( x )   c ( x )T c ( x ) 1 c ( x )T f ( x )   ( x  x*) E k E k E k k k • On obtient :  E k 1  T   T kc I ( xk )   c I ( xk ) c I ( xk ) c I ( xk ) f ( xk )   ( xk  x*) • Lorsque k tend vers l’infini

 

 

 



 

 lim kc ( x )  *   c ( x*)T c ( x*) 1 c ( x*)T f ( x*) E E E k  E k def  1 kc I ( xk )  *   c I ( x*)T c I ( x*) c I ( x*)T f ( x*) klim 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 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Exemple

Conditions nécessaires 1 min x 22  x 12 sous x 1  1 x1 , x 2 2



2,0



1,5 1,0





1 Lagrangien : Lx 1 , x 2 ,    x 22  x 12  x 1  1 2 •



0,5 -1,0

0,0 -0,5 0,0 -0,5

0,5

1,0

1,5

2,0

2,5

Conditions nécessaires d’ordre 1 -1,0 -1,5  x 1  μ  0 1 x 2  0 -2,0  vérifiées en x*    , *  1  0   x 1  1 μ  0 μ x 1  1  0 T Conditions nécessaires d’ordre 2  d1   1  T d direction tangente aux contraintes actives : d c(x*)  0       0  d1  0  d2   0 T  d    1 0   d1      d12  d 22  d 22  0 qui est vérifié pour tout d d T  2xx L(x*, μ*)d   1   d2   0 1d2 

1 x*    , *  1 vérifie les conditions nécessaires d’ordre 1 et 2.  0

178

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Exemple

Conditions nécessaires 1 min x 22  x 12 sous x 1  1 x1 , x 2 2



2,0



1,5 1,0





1 Lagrangien : Lx 1 , x 2 ,    x 22  x 12  x 1  1 2 •



0,5 -1,0

0,0 -0,5 0,0 -0,5

0,5

1,0

1,5

2,0

2,5

Conditions nécessaires d’ordre 1 -1,0 -1,5  x 1  μ  0 0  x 2  0 -2,0  vérifiées en x*    , *  0  0   x 1  1 μ  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 :

d  d T  2xx L(x*, μ*)d   1   d2 

T

  1 0   d1       d12  d 22  0  0 1  d2 

1 qui n’est pas vérifié pour d    0

0 x*    , *  0 vérifie les conditions nécessaires d’ordre 1, mais pas d’ordre 2. 0

179

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Techniques d’optimisation

Max CERF 2018

1.4.3 Conditions nécessaires Multiplicateur du critère

minn f(x) sous c(x)  0 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 ) •

 m contraintes d’égalité (= contraintes actives)

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 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Techniques d’optimisation

Max CERF 2018

1.4.3 Exemple Multiplicateur du critère

min x1 sous x12  x 22  0

→ solution unique vérifiant la contrainte

x1 , x 2

Lagrangien :



Lx1 , x 2 , ,  0    0 x1   x12  x 22



avec 0  0



Conditions nécessaires d’ordre 1  0  2x1  0   système de 3 équations à 4 inconnues 2x 2  0  x12  x 22  0



Solution :



Si l’on écrit le lagrangien sans le multiplicateur 0, les conditions KKT sont

→ cas anormal x1  0   0  0 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).

1  2x1  0   2x 2  0 x12  x 22  0

x 0  solution  x1  0      2

( critère indifférent)

181

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Techniques d’optimisation

Max CERF 2018

1.4.3 Conditions suffisantes Problème avec contraintes c (x)  0 minn f(x) sous  E xR c I (x)  0

 p contraintes d’égalité  q contraintes d’inégalité

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   conditions complémentaires μ * c I (x*)  0 μ 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 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Techniques d’optimisation

Max CERF 2018

1.4.3 Conditions suffisantes Eléments de la démonstration Cas de contraintes égalité : c(x)=0 On suppose que (x*,*) vérifie les conditions suffisantes. •

On considère le problème sans contrainte 1 1 2 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  par hypothèse sur x*,*   x L(x*, λ*)  0 2 2 T  xx L ρ (x*, λ*)   xx L(x*, λ*)  ρc(x*)c(x*)  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 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Exemple

Conditions suffisantes 1 min x 22  x 12 sous x 1  1 x1 , x 2 2 1 x*    , *  1 vérifie les conditions nécessaires  0



2,0



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

0,0 -0,5 0,0 -0,5

0,5

1,0

1,5

2,0

2,5

-1,0



Conditions suffisantes d’ordre 1 Contrainte active  multiplicateur > 0

x * 1  0 •

-1,5 -2,0

*  1  0

T Conditions suffisantes d’ordre 2 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 T 2     d12  d 22  d 22  0 car d     0  d 2  0 d  xx L(x*, μ*)d     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 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Exemple

Remarque sur la condition d’ordre 2 1 1 min x 22  x 12 sous x 1  1  x*    , *  1 x1 , x 2 2  0   1 1 d    est une direction admissible en x*    0  0



2,0



mais la condition d’ordre 2 ne porte que sur les directions tangentes aux contraintes actives.

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

0,0 -0,5 0,0 -0,5

0,5

1,0

1,5

2,0

2,5

-1,0 -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 vérifie les conditions suffisantes d’ordre 1 et 2 x*    , *  0 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 (  2)

f cI = 0 cI x1

188

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Interprétation géométrique

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

c (x , x )  0 min f(x1 , x 2 ) sous  E 1 2 x ,x c I (x1 , x 2 )  0

x2 f décroissante

1

f

cE

2

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

cI < 0 Sur le schéma : • f(x1, x2) = x1 à minimiser •  < 0 (  1.5) •  > 0 (  1.5)

x*

f cI = 0 cE = 0

cI

cE x1

189

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Interprétation géométrique

Fonction de 2 variables – 2 contraintes inégalité

c (x , x )  0 min f(x1 , x 2 ) sous  I1 1 2 x ,x c I2 (x1 , x 2 )  0

x2 f décroissante

1

cI2

f ( x*)  1c I1 ( x*)   2 c I 2 ( x*)  0 1  0 2  0

f cI1 < 0

2

cI2 < 0

cI2

Sur le schéma : • f(x1, x2) = x1 à minimiser • 1 > 0 (1  1.5) • 2 > 0 (2  1.5)

x*

f

cI1 = 0 cI2 = 0

cI1 x1

190

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 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

f

cI < 0

Sur le schéma : • f(x1, x2) quadratique • x0 = minimum sans contrainte •  > 0 (  2)

x* x0

cI f x1

191

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Interprétation géométrique

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

c (x , x )  0 min f(x1 , x 2 ) sous  E 1 2 x ,x c I (x1 , x 2 )  0

x2

1

2

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

cE = 0 x* cI < 0

x0

cI

Sur le schéma : • f(x1, x2) quadratique • x0 = minimum sans contrainte •  > 0 (  1.0) •  > 0 (  1.0)

cE f

cI = 0

x1

192

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Techniques d’optimisation

Max CERF 2018

1.4.3 Méthode pratique Problème avec contraintes c (x)  0 minn f(x) sous  E xR c I (x)  0

 p contraintes d’égalité  q contraintes d’inégalité

La résolution analytique ou numérique nécessite d’identifier les contraintes actives. On se ramène à un problème avec contraintes égalité plus simple.  résolution des conditions KKT d’ordre 1  vérification des conditions réduites d’ordre 2 Identification des contraintes actives • Résolution analytique  problème combinatoire (conditions complémentaires) • Résolution numérique  mise à jour itérative de l’ensemble des contraintes actives Stratégie itérative d’identification • On cherche un déplacement à partir du point courant sans tenir compte des contraintes inégalité • Le déplacement peut rendre actives certaines contraintes inégalité. • On reprend la recherche en ajoutant la première contrainte inégalité activée.  résolution d’une succession de problèmes avec contraintes égalité  m contraintes actives minn f(x) sous c(x)  0 xR

193

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Exemple

Problème avec 2 contraintes inégalité

min f ( x )  x 1  x 2 x1 , x 2

• •

2 2  sous c1 ( x )  x 1  x 2  1  1  0 c 2 ( x )  1  x 2  0

2,5 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 -2

-1,5

-1

0 -0,5 0 -0,5

1  21 x 1  0 1  21 x 2  1   2  0 x 2  x  12  1  0 2  1 1  x 2  0 1 c1 ( x )  0  conditions complémentaires : 4 combinaisons possibles  2 c 2 ( x )  0  ,   0  1 2

0,5

1

1,5

-1

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

2

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Exemple

Problème avec 2 contraintes inégalité

min f ( x )  x 1  x 2 x1 , x 2



Si 1  0

2 2  sous c1 ( x )  x 1  x 2  1  1  0 c 2 ( x )  1  x 2  0

 incompatible équation

2,5 2 1,5

1  21 x 1  0

1

 c1 ( x )  0  c1 contrainte active •

Si  2  0

 1  21 x 2  1  0 1 x2  0  incompatible équations  1  0

0,5

-2

-1,5

-1

0 -0,5 0 -0,5

0,5

1

1,5

-1

 c 2 ( x )  0  c2 contrainte active •

Combinaison retenue



x 1  1  Solution : x 2  1   0.5  1  2  1

c1 ( x )  0 x  1   0.5 et 1  0  x 1  1 c ( x )  0  x 1  1  1  1  2  2  2 Vérification condition d’ordre 2 : cône admissible vide (2 contraintes actives)  minimum local

195

2

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Exemple

Changement de sens contrainte 2

min f ( x )  x 1  x 2 x1 , x 2

• •

2 2  sous c1 ( x )  x 1  x 2  1  1  0 c 2 ( x )  x 2  1  0

2,5 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 -2

-1,5

-1

0 -0,5 0 -0,5

1  21 x 1  0 1  21 x 2  1   2  0 x 2  x  12  1  0 2  1 x 2  1  0 1 c1 ( x )  0  conditions complémentaires : 4 combinaisons possibles  2 c 2 ( x )  0  ,   0  1 2

0,5

1

1,5

-1

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

2

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Exemple

Changement de sens contrainte 2

min f ( x )  x 1  x 2 x1 , x 2



Si 1  0

2 2  sous c1 ( x )  x 1  x 2  1  1  0 c 2 ( x )  x 2  1  0

 incompatible équation

2,5 2 1,5

1  21 x 1  0

1

 c1 ( x )  0  c1 contrainte active •

0,5

-2

x  1   0.5 Si c 2 ( x )  0     1 x 1  1  2  2  1

-1,5

-1

0 -0,5 0 -0,5

0,5

1

1,5

-1

 incompatible condition  2  0

1  21 x 1  0   1  21 x 2  1  0 x 12  x 2  12  1  0



Si  2  0



Vérification condition d’ordre 2 : (1 contrainte active)

x 1  1 /(21 )   x 2  1  1 /(21 ) 1  1 / 2  0   2  2xx L( x, )   1  0

x 1  1 / 2   x 2  1  1 / 2 1  1 / 2 

0  0 21 

 minimum local

197

2

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Exemple

Passage contrainte 1 en égalité

min f ( x )  x 1  x 2 x1 , x 2

• •

2 2  sous c1 ( x )  x 1  x 2  1  1  0 c 2 ( x )  1  x 2  0

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 





2,5 2 1,5 1 0,5

0 Conditions KKT d’ordre 1 -2 -1,5 -1 -0,5 -0,5 1  21 x 1  0 1  21 x 2  1   2  0 -1 x 2  x  12  1  0 1 1 x 2 0 2   conditions complémentaires : 2 combinaisons possibles  2 c 2 ( x )  0  2  0

0

0,5

1

1,5

Identification des contraintes actives Problème combinatoire : il faut essayer les 2 possibilités  2  0 ou c 2 ( x )  0

198

2

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Exemple

Passage contrainte 1 en égalité

min f ( x )  x 1  x 2 x1 , x 2



Si  2  0

2 2  sous c1 ( x )  x 1  x 2  1  1  0 c 2 ( x )  1  x 2  0

2,5 2 1,5

1  21 x 1  0  1  0   1  21 x 2  1  0 x 12  x 2  12  1  0

x 1  1 /(21 )   x 2  1  1 /(21 ) 1  1 / 2 

1 0,5

-2

-1,5

-1

0 -0,5 0 -0,5

0,5

1

1,5

-1

x 1  1 / 2  1  x 2  0  x 2  1  1 / 2 1  1 / 2  •

Vérification condition d’ordre 2 : (1 contrainte active)

 2  2xx L( x, )   1  0

0    0  maximum local 21   solution rejetée

199

2

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Exemple

Passage contrainte 1 en égalité

min f ( x )  x 1  x 2 x1 , x 2

2 2  sous c1 ( x )  x 1  x 2  1  1  0 c 2 ( x )  1  x 2  0

2,5 2 1,5

• •

x  1 Si c 2 ( x )  0   1 x 2  1

  0.5   1  2  1

1 0,5

Vérification condition d’ordre 2

 2  2xx L( x, )   1  0

-2

0   21 

-1

0 -0,5 0 -0,5

0,5

1

1,5

-1

 2x1   2x1  0 Cône admissible vide : c1       , c 2      1  2( x 2  1)   0 

x 1  1 x  1  2 minima locaux :  2  f (x)  0 1  0.5   2  1

-1,5

et

 2 contraintes actives

x 1  1 x 2  1   0.5  f ( x )  2  1  2  1

200

2

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Techniques d’optimisation

Max CERF 2018

1.4.3 Méthode pratique Problème avec contraintes actives  m contraintes actives minn f(x) sous c(x)  0 xR

Résolution des conditions KKT On cherche x*Rn et *Rm vérifiant les conditions KKT. •

Condition nécessaire du 1er ordre  n équations  x L(x*, λ*)  0  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  T d / d c(x*)  0

 hessien du lagrangien semi-défini positif sur le cône admissible

Condition difficile à vérifier sous cette forme  passage au hessien réduit

201

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Techniques d’optimisation

Max CERF 2018

1.4.3 Méthode pratique Problème avec contraintes actives  m contraintes actives minn f(x) sous c(x)  0 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 xR



 minn L(x, *) sous c(x)  0 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 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Techniques d’optimisation

Max CERF 2018

1.4.3 Méthode pratique Problème équivalent minn L(x, *) sous c(x)  0 xR

Modèle quadratique-linéaire •



1 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 2  hessien du lagrangien par rapport à x H L (x*)   xx L(x*, *) 1  Lˆ (x *  p)  L(x*, *)  p T g L (x*)  p T H L (x*)p 2 Modèle linéaire des contraintes : cˆ (x *  p)  c(x*)  c(x*) T p avec c(x*)  0

Modèle quadratique du critère :

A  c(x*) T En notant :  p  Yp  Zp Y Z 

avec

AY inversible 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 cˆ (x *  p)  0  pR

min Lˆ (x *  Zp Z )

p Z R n m

203

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Méthode pratique

Problème réduit minn m Lˆ (x *  Zp Z ) p Z R

 problème sans contrainte à nm variables pZ

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 T 1 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 2 Z H L (x*)Z  0 •





T T T T Condition réduite d’ordre 1 : Z g L (x*)  0  Z  x L( x*, *)  Z f ( x*)  c( x*) *  0

 Z T f ( x*)  0 car c( x*) T Z  0



T Condition réduite d’ordre 2 : Z H L (x*)Z  0

g(x)  f (x) g Z  Z T g  gradient réduit du critère 2 •  T H Z  Z H L Z  hessien réduit du lagrangien H L (x)   xx L(x, *)



x* minimum local

g ( x*)  0  gradient réduit du critère nul   Z H Z ( x*)  0  hessien réduit du lagrangien semi-défini positif

204

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 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 h ,r • Volume : V  r 2 h Résolution On note : V0 = 2v0 • Lagrangien : L(h, r, )  2r 2  2rh   r 2 h  2v 0 • Conditions KKT





h

2r  r 2 r  2 r  2 0 0    4r  2h  2rh  0  2r  h  rh  0  h  2r r 2 h  2v 0 r 2 h  2v 0  0 r 3  v 0 0 •

r  v 13 0 Solution :  1 h  2v 0 3

 S  6v 0 3  32 3 V0 3 2

1

2

205

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 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  T 2 H Z ( x*)  Z  xx L(x, *)Z  0  hessien réduit du lagrangien semi-défini positif  r   g(h, r )   h , r f (h, r )  2 • Gradient du critère :  2r  h  • Hessien du lagrangien : L(h, r, )  2r 2  2rh   r 2 h  2v 0





 2r  r 2  1  r   0  , H L (h, r )   2h , r L(h, r, )  2   g L (h, r )   h , r L(h, r, )    1   r 2   h 4 r  2 h  2  rh     Choix d’une base de réduction • Contrainte : c(h, r )  r 2 h  2v 0  0  c T  r 2 •



  r

  2rh    B 2rh

h

r  N 

Choix de la base avec la variable h :

A  c T

Base de l’espace nul :

  B 1 N    2rh / r 2    2h / r       Z      1 I 1      

2



206

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Exemple

Vérification des conditions réduites •



  2h / r   g Z (h, r )  Z g(h, r )  2 Gradient réduit du critère : 1   On vérifie que le gradient réduit est nul : h  2r  g Z (h, r )  0 T

T

 r     22r  h  2 r  h  

  2h / r   Hessien réduit du lagrangien : H Z (h, r )  Z T H(h, r ) Z  2 1   h    H Z (h, r )  2 2  4  3h  r  

T

1  r   2h / r   0    1   r 2   r 1   

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 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Exemple

Résolution par élimination • Contrainte : •

c(h, r )  r 2 h  2v 0  0  h 

2v 0 r2

Elimination de la variable h : S(h, r )  2r 2  2rh  S(r )  2r 2 

4v 0 r

4v dS  v  (r )  4r  2 0  4r1  30  dr r  r  2 8v 0 v0  d S  • Hessien : ( r )  4    4  1  2   3 dr 2 r3 r    dS 3 r  v 0  dr (r )  0  • Minimum de S(r) :  2   d 2S  d S (r )  0  dr 2 (r )  12  0 2  dr Lien avec les conditions réduites • Gradient réduit 2v 2v    v  dS g Z (h, r )  22r  h  avec h  20  g Z (h, r )  2 2r  20   4r1  20   (r ) dr r r r     • Hessien réduit d 2S  pas de relation directe entre H Z et 2 (contrainte non linéaire) dr •

Gradient :

208

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Techniques d’optimisation

Max CERF 2018

1.4.3 Exemples Problème du skieur • Descendre du départ à l’arrivée le plus vite possible • 2 zones de pentes différentes : vitesse v1, puis v2 Départ

Vitesse v1

Vitesse v2

Arrivée

209

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 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 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Exemples

Problème du sauveteur • Données du problème : l0, l1, l2, v1, v2

l1 cos 1 d t1  1 Durée de course : v1 l2 Distance dans l’eau : d 2  cos  2 d t2  2 Durée de nage : v2

y

Arrivée

Distance sur terre : d1 

l2

2 d2 v2 v1

l1

1

Distance suivant x : L  d1 sin 1  d 2 sin  2 •

Formulation du problème Variables : 1 , 2 Contrainte : L = l0 Critère : T = t1 + t2

Départ

d1 x

l0

 atteindre le point visé  durée totale à minimiser

211

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Techniques d’optimisation

Max CERF 2018

1.4.3 Exemples Problème du sauveteur • Formulation du problème

min T1 ,  2  sous L1 ,  2   l 0 1 ,  2

 min T  1 ,  2



l1 l2  sous L  l1 tan 1  l 2 tan  2  l 0 v1 cos 1 v 2 cos  2

Résolution du problème Lagrangien : L1 ,  2 ,   

Conditions KKT :

l1 l2   l1 tan 1  l 2 tan  2  l 0  v1 cos 1 v 2 cos  2

1  l1 sin 1   l 0 1  v cos 2  2 cos  1 1  1  l 2 sin  2 1  l 2 0  2 2 v cos  cos   2 2 2  l1 tan 1  l 2 tan  2  l 0

sin 1  v1  0  sin  2  v 2  0 l1 tan 1  l 2 tan  2  l 0

212

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Exemples

Problème du sauveteur sin 1  v1  0 • Conditions KKT : sin  2  v 2  0 l1 tan 1  l 2 tan  2  l 0

2 v2

• •

1,2 vérifient :

sin 1 v1  sin  2 v 2

v1

 loi de la réfraction de Descartes 1

Pour résoudre complètement sin   v  cos   1  2 v 2 1 1 1 1 On exprime 1,2 en fonction de  :  2 2 sin  2   v 2  cos  2  1   v 2

On remplace dans la contrainte : On obtient une équation en  :  équation de degré 4  solution *  1* ,2*

l1 tan 1  l 2 tan  2  l 0 

l1 v1 1  v 2

2 1



l 2 v 2 1  v 2

2 2

 l 0

l1 v1 1  2 v 22  l 2 v 2 1  2 v12  l 0 1  2 v 22 1  2 v12

213

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Techniques d’optimisation

Max CERF 2018

1.4.3 Sensibilité aux contraintes Problème avec contraintes c (x)  0 minn f(x) sous  E xR c I (x)  0

 p contraintes d’égalité  q contraintes d’inégalité

 min f(x) sous

c(x)  0

 m contraintes d’égalité (= contraintes actives)

Problème initial minn f(x) sous

c(x)  0

xR n

xR

• •

Multiplicateurs : Solution :

*, x*,

xL(x*,*)= 0 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 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Techniques d’optimisation

Max CERF 2018

1.4.3 Sensibilité aux contraintes Variation du coût optimal • Variation du coût et des contraintes à l’ordre 1

f ( x * x )  f ( x*)  f ( x*) T x  f ( x*)  f f  f ( x*) T x    T T c ( x *   x )  c ( x *)   c ( x *)  x  c ( x *)   c  c  c( x*) x •

Condition d’optimalité d’ordre 1 du problème initial

 x L( x*, *)  0  f ( x*)  c( x*)*  0 •

Relation entre f et c T f   *T c  f ( x*) T   *T c( x*) T x  f ( x*)  c( x*) *  x  0





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 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Sensibilité aux contraintes

Fonction de 2 variables – 1 contrainte égalité

f = f*+ f

f = f*

x2

min f(x1 , x 2 ) sous c(x1 , x 2 )  0

f décroissante

x1 , x 2

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

x*

Variations : • c = c.x • f = f.x = c

x*+x

f

c

c = c

Sur le schéma : • f(x1, x2) = x1 à minimiser •  < 0 (  2) • c > 0  x > 0  f < 0

c=0 x x1

216

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Exemple

Problème de la boîte

min S(h, r ) sous V(h, r )  V0 h ,r

S  2r 2  2rh avec  2 V  r h r

 contrainte en volume de niveau V0 1 Solution  r   V0  3   2   1   V0  3 h  2    2   1  3   2  2  V    0 

 S  32 3 V0 3

Sensibilité au niveau de contrainte

1

2

h

1 3

1  2  1 dS  22 3 V0 3  2    dV0  V0 

217

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Techniques d’optimisation

Max CERF 2018

1.4.3 Sensibilité aux paramètres Problème avec paramètres de modèle

min f(x, p) sous c(x, p)  0 xR n

 m contraintes d’égalité (= contraintes actives) 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 : Solution :

*, x*,

xL(x*,*,p) = 0 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 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 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  T T c( x * x, p  p)  c( x*, p)   x c( x*, p) x   p c( x*, p) p  c( x*, p)  0  x f ( x*, p) T x   p f ( x*, p) T p  f   T T  x c( x*, p) x   p c( x*, p) p  0 •

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

p

p

p



T

p 

Une variation pj du paramètre j entraîne une variation

df ( x*, p)   p L( x*, *, p) dp

L( x*, *, p) p j du coût optimal p j

 sensibilité du coût aux paramètres de modèle

219

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Max CERF 2018

Techniques d’optimisation 1.4.3 Exemple

Problème de la boîte

min S(h, r ) sous M(h, r )  M 0  V0 h ,r

S  2r 2  2rh avec  2 M  V  r h r

 contrainte en masse M0 au lieu de volume V0, avec densité  1 Solution  r   M 0  3  2      1   M0  3  h  2  2     1  3    2  2     M 0  

 S  32 3 M 0 3  2

1

2

3

L  S  (M  M 0 )

h

L M   r 2 h   2 L 4  M 0  3        2  

Sensibilité au paramètre  5 2 1 dS 4  M  3 3   22 M 0  3    0  d   2 

2

3



L 

220

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.4 Problème linéaire

Techniques d’optimisation

Max CERF 2018

1.4.4 Problème linéaire  Forme standard  Conditions nécessaires d’optimalité

 Coûts réduits

221

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.4 Problème linéaire

Techniques d’optimisation

Max CERF 2018

1.4.4 Problème linéaire Problème linéaire

Ax  b min c T x sous  xR x  0

A  R m n , b  R m , c  R n

n

 problème linéaire sous forme standard (PL) Conditions nécessaires d’optimalité à partir du lagrangien Lagrangien :

 x L( x, , s)  c  A T   s L( x, , s)  c x   (b  Ax)  s x   2  xx L( x, , s)  0 T

T

T



(x,,s) minimum local de (PL)  Condition nécessaire d’ordre 1 :



Condition nécessaire d’ordre 2 :

 2xx L( x, , s)  0



Condition complémentaire :

s i x i  0, i  1,...n

c  A T   s  0 s  0 

 contraintes du problème dual  vérifiée

222

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.4 Problème linéaire

Techniques d’optimisation

Max CERF 2018

1.4.4 Problème linéaire Problème linéaire

Ax  b min c T x sous  xR x  0 n

A  R m n , b  R m , c  R n

 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  c T d j  c TBd jB  c TN d jN  c TB B1A j  c j 0    d jN  E e j   d jN 



Il suffit de vérifier : c T d j  0

223

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.4 Problème linéaire

Max CERF 2018

Techniques d’optimisation 1.4.4 Problème linéaire

Coûts réduits

xB   B 1b   m  x solution de base admissible : x  E x   E  0  N  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 1.4 Conditions d’optimalité 1.4.4 Problème linéaire

Techniques d’optimisation

Max CERF 2018

1.4.4 Problème linéaire Lien entre multiplicateurs et coûts réduits Ax  b T • Problème linéaire sous forme standard : minn c x sous  xR x  0

L( x, , s)  c T x  T (b  Ax)  s T x   x L( x, , s)  c  A T   s



Lagrangien :



T Conditions d’ordre 1 : A   s  c s  0 , s i x i  0 , i  1,, n

xB  cB   sB  • Base B : AE  B N   c    , s    , x   cN  sN  xN  BT   s B   c B  T A s  c   T         N  sN  cN  s  0 , si x i  0 , i  B s  0 , s i x i  0 , i  1,, n   B s N  0 , s i x i  0 , i  N

 B 1b    0 

 vérifié en prenant sB=0  vérifié car xN=0

  B  T c B B T   c B  sB   0        c  0    s   T T 1 N   s N  c N s  c  B N c  c  0  s N   cN  N B N  N s N  0 







Les coûts réduits sont les multiplicateurs des variables  s  c  0

225

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.4 Problème linéaire

Techniques d’optimisation

Max CERF 2018

1.4.5 Problème quadratique  Forme standard  Conditions nécessaires d’optimalité

 Projection  Directions conjuguées

226

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.5 Problème quadratique

Techniques d’optimisation

Max CERF 2018

1.4.5 Problème quadratique Problème quadratique •

1 T T Forme standard : minn x Qx  c x sous Ax  b xR 2



Gradient : g(x)  Qx  c



Hessien :

Q  R n  n , A  R m n , b  R m , c  R n

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 2 i 1 j1 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 1.4 Conditions d’optimalité 1.4.5 Problème quadratique

Max CERF 2018

Techniques d’optimisation 1.4.5 Problème quadratique

Conditions nécessaires d’optimalité

1 L( x, )  x T Qx  c T x  T (b  Ax) 2



Lagrangien :



Conditions d’ordre 2 : Q définie positive



Qx  A T   c  Conditions d’ordre 1 :  Ax  b 

Solution Par soustraction membre à membre :

 x L( x, )  Qx  c  A T   2  xx L( x, )  Q

 Q inversible

x  Q 1A T   Q 1c Ax  AQ 1A T   AQ 1c  Ax  b  Ax  b



AQ 1A T   AQ 1c  b    AQ 1A T



 

 

  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

 AQ 1

1

1

cb





c  b  Q 1c

Application Projection d’un vecteur sur un hyperplan

228

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.5 Problème quadratique

Max CERF 2018

Techniques d’optimisation 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 x0 1 T  minn x  x 0  x  x 0  sous Ax  b xR 2 1 T • Lagrangien : L( x, )  x  x 0  x  x 0   T b  Ax  2 x  x 0  A T   0 Ax  AA T   Ax 0   • Condition d’ordre 1 :  Ax  b Ax  b   n

Solution





x P  I  A T AA T



1





A x 0  A T AA T



1

b





  AA T 1 b  Ax  0  T T 1 x  x 0  A AA b  Ax 0 







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



1

A

229

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.5 Problème quadratique

Techniques d’optimisation

Max CERF 2018

1.4.5 Directions conjuguées Forme quadratique définie positive On considère une forme quadratique définie positive

1 T 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 f (x) 

Preuve n On cherche (i)i=1,…,n tels que :   i d i  0 n

 d k Q   i d i  0 , k  i 1

i 1

n

  d Qd i 1

i

k

i

 0 , k   k d k Qd k  0 , k car d k Qd i si i  k

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

Tout vecteur x de

Rn

peut s’écrire : x    i d i avec  i  i 1

d i Qx d i Qd i

230

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.5 Problème quadratique

Max CERF 2018

Techniques d’optimisation 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 2 en n itérations à pas optimal suivant des directions conjuguées. n

Preuve : On part du point initial x0 : x0   i 1

d i Qx0 di d i Qd i

dans la base (di)i=1,…,n k

Après k itérations à pas optimal k suivant d1,…, dk , on obtient : xk  x0    i d i  xk 1   k d k i 1 A l’itération k, le pas optimal k suivant la direction dk vérifie : d 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 k  T T  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 i 1   T   d Qx  c d kT f xk   0   k   k T 0 d k Qd k On obtient pour xn : n n n n d iT Qx0  c  d iT Qx0 d iT Q Q 1c xn  x0    i d i  x0   d i  x0   T di   di T T d i Qd i d i Qd i i 1 i 1 i 1 d i Qd i i 1  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

Techniques d’optimisation

Max CERF 2018

Sommaire 1.

Bases théoriques

2.

Optimisation sans contraintes 2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthodes sans gradient

3.

Optimisation avec contraintes

4.

Optimisation discrète

5.

Optimisation fonctionnelle

232

2

Optimisation sans contraintes

Techniques d’optimisation

Max CERF 2018

2 Optimisation sans contraintes Problème non linéaire sans contraintes

min f(x) xR n

 problème noté (PO)

Méthodes globales • Capacité à localiser plusieurs minima locaux (éventuellement le minimum global) • Algorithmes non déterministes (déplacements aléatoires « organisés ») • Métaheuristiques : algorithmes génétiques, recuit simulé, essaims, colonies de fourmis, recherche tabou,… • Convergence généralement lente, peu précise Méthodes locales • Recherche d’un minimum local à partir d’un point initial fourni par l’utilisateur • Méthodes d’ordre 0 : sans dérivées  Nelder-Mead, 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 2.1 Méthodes de descente

Techniques d’optimisation

Max CERF 2018

Sommaire 1.

Bases théoriques

2.

Optimisation sans contraintes 2.1 Méthodes de descente 2.1.1 Principes 2.1.2 Itérations 2.1.3 Initialisation et arrêt 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthodes sans gradient

3. 4. 5.

Optimisation avec contraintes Optimisation discrète Optimisation fonctionnelle

234

2 Optimisation sans contraintes 2.1 Méthodes de descente 2.1.1 Principes

Max CERF 2018

Techniques d’optimisation 2.1.1 Méthodes de descente

Problème sans contrainte

 f(x*)  0 x* minimum local    2 xR  f(x*)  0 On ne sait pas trouver le minimum global dans le cas général (f quelconque). min f(x) n

Méthode locale • Initialisation x0 • Itérations • Arrêt

 recherche d’un minimum local au voisinage de x0  passage du point xk au point xk+1 meilleur  solution x* ou blocage

Initialisation x0

Point initial xk

Modèle local fˆk (x)

Solution x*

Nouveau point xk+1

Amélioration f(xk+p) < f(xk)

235

2 Optimisation sans contraintes 2.1 Méthodes de descente 2.1.2 Itérations

Max CERF 2018

Techniques d’optimisation 2.1.2 Itérations

Modèle local : prédiction • Point courant xk ,fk = f(xk) • Evaluation de gk = f(xk) ou approximation (différences finies) Hk = 2f(xk) ou approximation (quasi Newton) •

Modèle quadratique :

min fˆk ( x k  p)  f k  p t g k  p

1 t p Hkp 2

 Méthodes de Newton ou quasi-Newton Amélioration : correction • Nouveau point xk+1 = xk + p



 xˆ k 1  x k  pˆ (prédiction)

tel que f(xk+p) < f(xk)

Déplacement p à partir de xk par recherche linéaire suivant par région de confiance dans

d k  xˆ k 1  x k 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 2.1 Méthodes de descente 2.1.3 Initialisation et arrêt

Techniques d’optimisation

Max CERF 2018

2.1.3 Initialisation et arrêt Initialisation • Les méthodes locales recherchent le minimum au voisinage du point de départ. •

Objectifs :



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

rapidité de convergence précision de convergence  méthodes à base de dérivées

Conditions d’arrêt • Déplacement insuffisant : • Amélioration insuffisante : • Condition d’ordre 1 vérifiée : • Nombre maximal d’itérations ou d’appels fonction :

x k 1  x k   x f k  f k 1   f g k  g Niter , Nfonc

237

2 Optimisation sans contraintes 2.2 Méthode de Newton

Techniques d’optimisation

Max CERF 2018

Sommaire 1.

Bases théoriques

2.

Optimisation sans contraintes 2.1 Méthodes de descente 2.2 Méthode de Newton 2.2.1 Résolution d’équations 2.2.2 Minimisation 2.2.3 Globalisation 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthodes sans gradient

3. 4. 5.

Optimisation avec contraintes Optimisation discrète Optimisation fonctionnelle

238

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Techniques d’optimisation

Max CERF 2018

2.2.1 Résolution d’équations  Principes  Méthode de Newton

 Méthode de quasi-Newton

239

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Max CERF 2018

Techniques d’optimisation 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 x0

Point initial xk

Fonction modèle gˆ k (x)

Solution x*

Nouveau point

Résolution gˆ k (x)  0

xk+1

240

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Techniques d’optimisation

Max CERF 2018

2.2.1 Méthode de Newton Fonction modèle • Développement de Taylor à l’ordre 1 de g en xk

g(x)  g(x k )  g(x k ) T (x  x k )  o x  x k





Modèle linéaire de g en xk :

gˆ 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 :

gˆ k (x)  0  g(x k )  G k (x  x k )  0



Itération :

x k 1  x k  G k1g(x k )



Condition d’arrêt :

g(x k )  ε

si Gk inversible

241

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Max CERF 2018

Techniques d’optimisation 2.2.1 Méthode de Newton

Illustration à une variable • Equation non linéaire : g(x) = 0 • Point initial : x0, y0 = g(x0)  Tangente en x0 : y = y0 +g’(x0)(x - x0 ) •

Intersection axe x :

y  0  x1  x 0 



Nouveau point :

x1, y1 = g(x1)

y0 g' (x 0 )

x* x2

x1

x0

242

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Max CERF 2018

Techniques d’optimisation 2.2.1 Méthode de Newton

Modèle linéaire de g en xk

avec G k  g(x k ) T

gˆ k (x)  g(x k )  G k ( x  x k )

Erreur de linéarisation M = constante de Lipschitz sur le gradient  majorant de la courbure

g(x)  gˆ k (x) 

1 M x  xk 2

2

 erreur quadratique

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 *



La convergence est quadratique

k 

 x k 1  x *  Mη x k  x *

2

243

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Max CERF 2018

Techniques d’optimisation 2.2.1 Exemples

Exemple 1 • Fonction : g(x)  x 2  1 • Dérivée : g' (x)  2x • Solution : x = 1  g’(1) = 2

Iteration

g(x)

1

x

x(k)

g(x)=x**2-1 g'(x)=2x

Erreur

0

4,00000000

1,5E+01

8,0000

3,0E+00

1

2,12500000

3,5E+00

4,2500

1,1E+00

2

1,29779412

6,8E-01

2,5956

3,0E-01

3

1,03416618

6,9E-02

2,0683

3,4E-02

4

1,00056438

1,1E-03

2,0011

5,6E-04

5

1,00000016

3,2E-07

2,0000

1,6E-07

6

1,00000000

2,5E-14

2,0000

1,3E-14

Convergence quadratique g’(x*) inversible

244

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Techniques d’optimisation

Max CERF 2018

2.2.1 Exemples Exemple 2 • Fonction : g(x)  ( x  1) 2 • Dérivée : g' (x)  2(x  1) • Solution : x = 1  g’(1) = 0

Iteration 0 1 2 3 4 5 6 7 8 9 10 15 20

g(x)

1

x

x(k) g(x)=(x-1)**2 g'(x)=2(x-1) 4,00000000 9,0E+00 6,0000 2,50000000 2,3E+00 3,0000 1,75000000 5,6E-01 1,5000 1,37500000 1,4E-01 0,7500 1,18750000 3,5E-02 0,3750 1,09375000 8,8E-03 0,1875 1,04687500 2,2E-03 0,0938 1,02343750 5,5E-04 0,0469 1,01171875 1,4E-04 0,0234 1,00585938 3,4E-05 0,0117 1,00292969 8,6E-06 0,0059 1,00009155 8,4E-09 0,0002 1,00000286 8,2E-12 0,0000

Erreur 3,0E+00 1,5E+00 7,5E-01 3,8E-01 1,9E-01 9,4E-02 4,7E-02 2,3E-02 1,2E-02 5,9E-03 2,9E-03 9,2E-05 2,9E-06

Convergence lente g’(x*) non inversible

245

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Techniques d’optimisation

Max CERF 2018

2.2.1 Exemples Exemple 3 • Fonction : g(x)  Arc tan(x )

Iteration 0 1 2 3 4 5 6

1 1 x2



Dérivée : g' (x) 



Solution : x = 0  g’’(1) = 0

x(k) g(x)=Arctan(x) g'(x)=1/(1+x**2) 1,300 0,915 0,372 -1,162 -0,860 0,426 0,859 0,710 0,575 -0,374 -0,358 0,877 0,034 0,034 0,999 0,000 0,000 1,000 0,000 0,000 1,000

Erreur 1,3E+00 -1,2E+00 8,6E-01 -3,7E-01 3,4E-02 -2,6E-05 1,2E-14

g(x)

Convergence

x1

0

x0

x2 x

Iteration 0 1 2 3 4 5 6

x(k) g(x)=Arctan(x) g'(x)=1/(1+x**2) 1,500 0,983 0,308 -1,694 -1,038 0,258 2,321 1,164 0,157 -5,114 -1,378 0,037 32,296 1,540 0,001 -1575,317 -1,570 0,000 3894976,008 1,571 0,000

Divergence

Erreur 1,5E+00 -1,7E+00 2,3E+00 -5,1E+00 3,2E+01 -1,6E+03 3,9E+06

246

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Techniques d’optimisation

Max CERF 2018

2.2.1 Méthode de Newton Intérêt de la méthode de Newton • Convergence quadratique au voisinage de la solution  très rapide et précise • Méthode à privilégier dans les algorithmes d’optimisation Difficultés • Calcul explicite du gradient g(xk) à chaque itération  coûteux (n appels fonctions) • Convergence non garantie  même près de la solution Adaptations • Méthodes de quasi-Newton



Techniques de globalisation

 Gk = approximation du gradient g(xk) construite à partir des itérations précédentes sans calcul explicite du gradient  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 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Techniques d’optimisation

Max CERF 2018

2.2.1 Méthode de quasi-Newton Méthode de Broyden On cherche à définir la matrice Gk à partir de la matrice Gk-1 de l’itération précédente. Les matrices Gk-1 et Gk doivent être « proches » au sens de la norme matricielle. Variation de modèle • Modèle linéaire de g en xk-1 :

gˆ k -1 (x)  g(x k -1 )  G k -1 ( x  x k -1 )



Modèle linéaire de g en xk:

gˆ k (x)  g(x k )  G k ( x  x k )



Différence entre les modèles en xk-1 et xk

gˆ k (x)  g(x k )  G k (x  x 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 )  gˆ k -1 (x)  G k -1 ( x  x k -1 )  G k ( x  x k -1 )  gˆ k -1 (x)  (G k  G k -1 )( x  x k -1 )

car g(x k )  g(x k -1 )  G k (x k  x k -1 ) par définition de G k car gˆ k -1 (x)  g(x k -1 )  G k -1 ( x  x k -1 ) par définition de gˆ k -1

 gˆ k (x)  gˆ k -1 (x)  (G k  G k -1 )(x  x k -1 )

248

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Techniques d’optimisation

Max CERF 2018

2.2.1 Méthode de quasi-Newton Objectif Conserver un modèle linéaire de g en xk gˆ 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 :

g(x k )  g(x k -1 )  G k ( x k  x k -1 )  y k -1  G k d k -1

d  x k  x 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 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Max CERF 2018

Techniques d’optimisation 2.2.1 Méthode de quasi-Newton

Illustration à une variable • Equation non linéaire : g(x) = 0 • Points initiaux : x0, y0 = g(x0) x1, y1 = g(x1)

 Sécante en x1 : y  y 0 



Intersection axe x :

y  0  x2  x0 



Nouveau point :

x2, y2 = g(x2)

x1  x 0 y0 y1  y 0

y1  y 0 (x  x 0 ) x1  x 0

x* x2

x1

x0

250

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Techniques d’optimisation

Max CERF 2018

2.2.1 Méthode de quasi-Newton Mise à jour de Broyden L’écart entre les modèles gˆ k -1 (x) et gˆ k (x) est minimal en choisissant Gk solution de

minnn G  G k -1 sous y k 1  G d k 1

GR

Formule de Broyden : G k  G k -1

avec

d k -1  x k  x k -1  y  g(x )  g(x ) k k -1  k -1

 y k 1  G k -1d k 1 d Tk 1  d Tk 1d k 1

Convergence • La matrice G ne converge pas forcément vers g

 solution optimale

 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 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Max CERF 2018

Techniques d’optimisation 2.2.1 Exemple

Comparaison Newton  Quasi-Newton • Fonction : g(x)  x 2  1 • Dérivée : g' (x)  2x • Solution : x = 1

Newton

Quasi - Newton Iteration

x(k)

g(x)=x**2-1

5,00000000

2,4E+01

0

4,00000000

1,5E+01

1

2,33333333

2

dg/dx

Erreur

Iteration

x(k)

g(x)=x**2-1 g'(x)=2x

Erreur

4,0E+00

0

4,00000000

1,5E+01

8,0000

3,0E+00

9,0000

3,0E+00

1

2,12500000

3,5E+00

4,2500

1,1E+00

4,4E+00

6,3333

1,3E+00

2

1,29779412

6,8E-01

2,5956

3,0E-01

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 2.2 Méthode de Newton 2.2.2 Minimisation

Techniques d’optimisation

Max CERF 2018

2.2.2 Minimisation  Principes  Méthode de Newton

 Méthode de quasi-Newton  Méthode BFGS  Méthode DFP  Méthode SR1  Comparaison  Extensions BFGS

253

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

Techniques d’optimisation

Max CERF 2018

2.2.2 Problème de minimisation Problème sans contrainte  gradient : g(x) =  f(x) minn 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

Modèle linéaire de g en xk : • •

Méthode de Newton : Méthode de quasi-Newton :

g(x )  f(x k ) gˆ k (x)  g(x k )  G k ( x  x k ) avec  k T 2 G k  g(x k )   f(x k )  H k G = H  calcul explicite du hessien à chaque itération G = approximation de H construite à partir des itérations précédentes sans calcul explicite du hessien

254

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

Techniques d’optimisation

Max CERF 2018

2.2.2 Méthode de Newton Modèle linéaire de g=f en xk

gˆ k (x)  g(x k )  G k ( x  x k ) • •

Itération : Condition d’arrêt :

g(x )  f(x k ) avec  k T 2 G k  g(x k )   f(x k )  H k

x k 1  x k   2 f(x k ) 1 f(x k ) f(x k )  ε

 équations de Newton

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 • Techniques de globalisation

 Gk = approximation du hessien 2f(xk)  Contrôle de la décroissance de f

255

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

Max CERF 2018

Techniques d’optimisation 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 • 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ˆ (x)  g  H (x  x )  gˆ (x)



k

k

k

k

2



k

Minimisation du modèle de f en xk



 fˆk (x*)  gˆ k (x*)  0 ˆ Conditions suffisantes de minimum local : min f k (x)   2 ˆ xR  f k (x*)  H k  0 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



n

256

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

Max CERF 2018

Techniques d’optimisation 2.2.2 Exemple

Méthode de Newton 4 3 2 • Fonction : f ( x )   x  12 x  47 x  60 x •

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 2.2 Méthode de Newton 2.2.2 Minimisation

Max CERF 2018

Techniques d’optimisation 2.2.2 Exemple

Méthode de Newton 2 • Modèle quadratique en x0 = 3 : fˆ0 ( x )  7 x  48x  81 •

Itération de Newton en x0 = 3 : min fˆ0 ( x )  x 1  24 x 7

 Meilleur que x0 f(x1) = 1.32 < 0 = f(x0)

1,50 1,25 1,00 0,75 0,50 0,25

-0,25

x1

x0

0,00 2,50

2,75

3,00

3,25

3,50

3,75

4,00

4,25

4,50

-0,50 -0,75 -1,00

-1,25 -1,50

258

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

Max CERF 2018

Techniques d’optimisation 2.2.2 Exemple

Méthode de Newton 2 • Modèle quadratique en x0 = 4 : fˆ0 ( x )  x  4x •

Itération de Newton en x0 = 4 : min fˆ0 ( x ) x

 Moins bon que x0 f(x1) = 12 > 0 = f(x0)

 x1  2

5,00 4,00 3,00 2,00 1,00

x1

0,00 1,00

1,50

2,00

x0 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 2.2 Méthode de Newton 2.2.2 Minimisation

Max CERF 2018

Techniques d’optimisation 2.2.2 Exemple

Méthode de Newton • Modèle quadratique en x0 = 5 : fˆ0 ( x )  17 x 2  160x  375 •

Itération de Newton en x0 = 5 : min fˆ0 ( x ) x

 x1 

80 17

 Moins bon que x0 (maximise f) f(x1) = 1.513 > 0 = f(x0)

2,00 1,50 1,00 0,50

x1

0,00 4,00

4,25

4,50

x0 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 2.2 Méthode de Newton 2.2.2 Minimisation

Techniques d’optimisation

Max CERF 2018

2.2.2 Méthode de quasi-Newton Objectif Conserver un modèle quadratique de f en xk 1 fˆk (x)  f k (x k )  g Tk (x  x k )  (x  x k ) T H k (x  x k ) 2 sans calculer explicitement Hk

avec H k   2 f(x k )

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 Tk 1d k 1

avec

d k -1  x k  x k -1  y  g(x )  g(x ) k k -1  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 2.2 Méthode de Newton 2.2.2 Minimisation

Techniques d’optimisation

Max CERF 2018

2.2.2 Méthode BFGS Equation sécante Pour la résolution d’équations, on cherche la matrice Hk • vérifiant l’équation sécante H k d k 1  y k 1  formule de Broyden • la plus « proche » possible de Hk-1 • sans condition particulière sur la forme de la matrice • •

Pour une minimisation, on impose de plus à la matrice Hk d’être symétrique  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. H k -1  L k -1LTk -1 • On part de la factorisation de Cholesky de Hk-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. T  H k d k 1  y k 1  A k A Tk d k 1  y k 1  x  A k d k 1 A k x  y k 1

262

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

Techniques d’optimisation

Max CERF 2018

2.2.2 Méthode BFGS Méthode de résolution de l’équation sécante

H k d k 1  y k 1  A k A d k 1  y k 1 T k

x  A Tk d k 1   A k x  y k 1

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 T T T d L d x 2. En reportant : x  A d  L d  xTx xTx

( y  Lx) T d x pour trouver x. Il faut résoudre x  L d  xTx T

263

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

Max CERF 2018

Techniques d’optimisation 2.2.2 Méthode BFGS

Résolution de l’équation sécante On cherche • • •

xRn

vérifiant :

( y  Lx) T d x L d x xTx T

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 T T 2 T L d   L d  T En reportant dans l’équation : L d  L d  2 T  d Hd d Hd   1 yTd T T Pour qu’une solution existe, on doit avoir y d > 0  A  L  T  yd L  T Hdd T L  y d d Hd  On obtient H : H  A A T k

k

k

k

Formule BFGS

y k 1 y Tk -1 H k -1d k 1d Tk 1H k -1 H k  H k -1  T  y k -1d k 1 d Tk 1H k -1d k 1



Mise à jour de Hk :

• • •

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

d  x k  x k -1 avec  k -1  y k -1  g(x k )  g(x k -1 )

264

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

Max CERF 2018

Techniques d’optimisation 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 H k -1  I  T  H   I  T   d y   dT y d y k -1 k 1  k -1 k 1  k -1 k 1   -1 k



si y Tk -1d k 1  0

d  x k  x k -1 avec  k -1 y k -1  g(x k )  g(x 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 2.2 Méthode de Newton 2.2.2 Minimisation

Techniques d’optimisation

Max CERF 2018

2.2.2 Méthode BFGS Algorithme BFGS • Direction de descente à l’itération k : u k 1  H -1k -1g( x k 1 ) •

Minimisation dans la direction uk-1 :



Mise à jour de l’inverse du hessien

x k  x k 1  su k 1

u k 1  H -1k -1g( x k 1 ) avec s  min f x  su  k 1 k 1 s 

 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 T H k -1  I  T  T avec H   I  T si y d  0 y  g(x )  g(x ) k -1 k 1   d y  d y k k -1  k -1 d y k -1 k 1  k -1 k 1  k -1 k 1   Propriété 1 T La mise à jour BFGS donne une matrice définie positive si d k -1 y k 1  0 Cette condition est réalisée si xk est obtenu par minimisation exacte dans la direction  H -1k -1g( x k 1 ) -1 k

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 2.2 Méthode de Newton 2.2.2 Minimisation

Max CERF 2018

Techniques d’optimisation 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 • •

Mise à jour de l’inverse : H  H -1 k

Mise à jour du hessien :

-1 k -1

d k 1d Tk -1 H -1k -1 y k 1 y Tk 1H -1k -1  T  d k -1 y k 1 y Tk 1H -k1-1 y k 1

d  x k  x k -1 avec  k -1 y k -1  g(x k )  g(x k -1 )

 y k 1d Tk -1   d k 1 y Tk -1  y k 1 y Tk -1 H k -1  I  T  H k   I  T   y d   yT d y d k -1 k 1  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 2.2 Méthode de Newton 2.2.2 Minimisation

Max CERF 2018

Techniques d’optimisation 2.2.2 Méthode DFP

Algorithme DFP • Direction de descente à l’itération k : u k 1  H -1k -1g( x k 1 ) •

Minimisation dans la direction uk-1 :



Mise à jour de l’inverse du hessien

H H -1 k

-1 k -1

x k  x k 1  su k 1

d k 1d Tk -1 H -1k -1 y k 1 y Tk 1H -1k -1  T  d k -1 y k 1 y Tk 1H -k1-1 y k 1

u k 1  H -1k -1g( x k 1 ) avec s  min f x  su  k 1 k 1 s 

d  x k  x k -1 avec  k -1 y k -1  g(x k )  g(x k -1 )

Propriété 1 T La mise à jour DFP donne une matrice définie positive si d k -1 y k 1  0 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 l’algorithme DFP donne des directions successives vérifiant :

u i Qu j  0 , 0  i  j  k  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 2.2 Méthode de Newton 2.2.2 Minimisation

Techniques d’optimisation

Max CERF 2018

2.2.2 Méthode SR1 Equation sécante La méthode SR1 construit une solution Hk de l’équation sécante H k d k 1  y k 1 • Symétrique, de rang 1 (i.e. dépendante d’un seul vecteur u de Rn) • Non nécessairement définie positive. Méthode de résolution • On cherche la matrice Hk à partir de Hk-1 sous la forme

H k  H k -1  uu T

 addition d’une matrice symétrique de rang 1

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



Equation sécante :



On pose :



On reporte u pour obtenir  :



On exprime uuT en fonction de dk-1, yk-1, Hk-1

1  u T d k 1 

 y k 1  H k -1d k 1 

u   y k 1  H k -1d k 1  1   d T (y  H d ) k -1 k 1 k -1 k 1   2

1 u  u   y k 1  H k -1d k 1  

1 1   ( y k 1  H k -1d k 1 ) T d k 1  d Tk -1 ( y k 1  H k -1d k 1 )  2    uu T   2 ( y k 1  H k -1d k 1 )( y k 1  H k -1d k 1 ) T ( y k 1  H k -1d k 1 )( y k 1  H k -1d k 1 ) T T  uu  d Tk -1 ( y k 1  H k -1d k 1 )

269

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

Max CERF 2018

Techniques d’optimisation 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 Mise à jour de Hk : H k  H k -1  d Tk -1 ( y k 1  H k -1d k 1 )

d  x k  x k -1 avec  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 T Pour une fonction f quadratique : f ( x )  x Qx  c x 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 2.2 Méthode de Newton 2.2.2 Minimisation

Max CERF 2018

Techniques d’optimisation 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 Rang 2 Définie positive

Symétrique AAT Rang 2 Définie positive

Symétrique uuT Rang 1 Indéfinie

Minimisation dk

Précision moyenne

Précision forte

Précision faible

Fonction quadratique

Hessien exact : Hn=Q Directions conjuguées Q-1

Hessien exact : Hn=Q Directions conjuguées Q

Hessien exact : Hn=Q

Limitations

Hessien de f indéfini

Hessien de f indéfini Précision minimisation

Matrices Hk non définies positives

Méthode BFGS réputée la plus efficace

271

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

Techniques d’optimisation

Max CERF 2018

2.2.2 Exemple Méthode de quasi-Newton à une variable Les formules BFGS et SR1 se simplifient pour une fonction à une variable. • Fonction f(x) , xR •



y k 1 y Tk -1 H k -1d k 1d Tk 1H k -1 Mise à jour BFGS : H k  H k -1  T  y k -1d k 1 d Tk 1H k -1d k 1 y  H k -1  k 1  H k -1 d k 1 y g(x k )  g(x k -1 )  H k  k 1  d k 1 x k  x k -1 ( y k 1  H k -1d k 1 )( y k 1  H k -1d k 1 ) T Mise à jour SR1 : H k  H k -1  d Tk -1 ( y k 1  H k -1d k 1 ) y  H k -1d k 1  H k -1  k 1 d k 1 y g(x k )  g(x k -1 )  H k  k 1  d k 1 x k  x k -1  On retrouve la formule de la sécante appliquée au gradient de f.

272

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

Max CERF 2018

Techniques d’optimisation 2.2.2 Exemple

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

0,25 0,00



Dérivée : f ' ( x )  4x 3  36 x 2  94 x  60

-0,50



f ' ( x k )  f ' ( x k -1 ) Quasi-Newton : h k  x k  x k -1

Point initial : x0 = 3  convergence Autres points  divergence ou maximum de f

-1,00



-0,25

2,75

3,00

x(k) 3,00000000 2,99900000 3,42857155 3,45230465 3,45554876 3,45558934 3,45558940 3,45558940

f(x) 0,00000000 0,00600700 -1,31945027 -1,32362420 -1,32368634 -1,32368635 -1,32368635 -1,32368635

f'(x) -6,00E+00 -6,01E+00 -3,15E-01 -3,79E-02 -4,68E-04 -7,27E-07 -1,40E-11 -5,68E-14

3,50

3,75

4,00

4,25

-0,75

-1,25 -1,50

Quasi - Newton Itération 0 1 2 3 4 5 6 7

3,25

Newton h(k) Erreur 1,000 -4,56E-01 14,000 -4,57E-01 13,267 -2,70E-02 11,672 -3,28E-03 11,527 -4,06E-05 11,509 -6,32E-08 11,509 -1,22E-12 11,462 -4,44E-15

Itération 0 1 2 3 4

x 3,00000000 3,42857143 3,45526446 3,45558935 3,45558940

f(x) 0,00000000 -1,31945023 -1,32368574 -1,32368635 -1,32368635

f'(x) -6,00E+00 -3,15E-01 -3,74E-03 -5,77E-07 -5,68E-14

f''(x) Erreur 14,000 -4,56E-01 11,796 -2,70E-02 11,513 -3,25E-04 11,509 -5,01E-08 11,509 -4,88E-15

273

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

Techniques d’optimisation

Max CERF 2018

2.2.2 Exemple Méthode DFP à 2 variables • Minimisation de f ( x )  x 1  x 2  2x 12  2x 1 x 2  x 22 •

Point initial : x0 = (0 0)



 0 Itération 1 : x 0     0

1 0  H 01   0 1

 1 g 0      1

 1  4x1  2x 2    g( x )    1  2 x  2 x 1 2 

  1  u 1  H 01g 0     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

  1   2 d 0  x 1  x 0    d  , y   y  g(x )  g(x ) 0  1 0  0  1 0  0     T -1  1 0  1  1  1 1  4 0  1  1  1 d 0 d T0 H -1 0 y0 y0 H0            H H  T   0 1  1 1 0 0  1 3 2 4 2 d0 y0 y T0 H -01 y 0         -1 1



-1 0

Comparaison au vrai hessien :

 4 2 1  1  1   H 1    H( x )   2 2  1 2 2    

274

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

Techniques d’optimisation

Max CERF 2018

2.2.2 Exemple Méthode DFP à 2 variables •

  1 Itération 2 : x 1     1

H1-1 

1  1  1    1 3 2 

  1  0 g1     u 2  H11g1      1 1

 1    1  0 1   min F(s)  1  3(1  s)  (1  s) 2  s  x 2  x 1  su 2    x 2     g 2    s 2 1  s  1.5   0 • •

  1 On obtient le minimum en 2 itérations (fonction quadratique) : x*    1.5  Mise à jour DFP de H-1

 0  1 d1  x 2  x 1    d  , y   y  g(x )  g(x ) 1  0.5  1 1 2 1  1     d1d1T H1-1 y1 y1T H1-1 1  1  1 1  0 0   0 0  1  1  1       H H  T    2   1 3  2  0 1   0 1  2   1 2  d 1 y1 y1T H1-1 y1 -1 2



-1 1

Comparaison au vrai hessien :

 4 2 1  1  1   H 1    H( x )   2 2  1 2 2    

275

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

Max CERF 2018

Techniques d’optimisation 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.

1x  f ( x )  x 1  x 2  2x  2x 1 x 2  x   1  2 x2  2 1

2 2

T

 4 2   x1   1         2 2    x 2    1

T

 x1   4 2    Q    x  2  2 2



Le minimum est obtenu en 2 itérations.



Les directions successives u1 et u2 sont conjuguées par rapport à Q



 0   4 2   1  0       u T2 Qu1      1   2 2  1  1  On vérifie également :

T

1  1  1 4   2   1 3  2 1  1  1 4  H 21Qu 2   2   1 2  2 H11Qu1 

T

  2    0  0

2   1 1  2 0   1   1           u 1 2  1 2  2 4  1  1 2  0   1 0  0   0            u 2 2  1   0 1  1   1 

avec H 21  Q 1

276

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

Max CERF 2018

Techniques d’optimisation 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 H 0  I avec   T y d



1  H -01  I 

pour initialiser H -10

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  y d  m m  y  Hd    i  i v i   m  m v m

→ approximation de m

277

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

Max CERF 2018

Techniques d’optimisation 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) •

Hdd T H yyT BFGS standard : H'  H  T  d Hd d T y

avec H  H k 1 et d  x k  x k 1 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 - du hessien de L pour un problème avec contrainte

→ →

y   x f (x k )   x f ( x k 1 ) 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 2.2 Méthode de Newton 2.2.2 Minimisation

Max CERF 2018

Techniques d’optimisation 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. z  y

On remplace la variation y par z :

 (1  )Hd

avec 0 ≤  ≤ 1

 d T z  d T y  (1  )d T Hd

terme positif La mise à jour BFGS « amortie » est :

H'  H 

T

T

Hdd H zz  d T Hd d T z

→ avec z au lieu de y

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 : Si

dTy

0

 H0 =I par défaut

Direction de descente : d k  H k1f(x k ) 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 Gradient : f(xk+1) Approximation du hessien : Hk+1>0

Mise à jour du hessien par BFGS ou SR1 Modification du hessien : Hk+1>0 Factorisation de Cholesky modifiée

347

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.4 Algorithme

Techniques d’optimisation

Max CERF 2018

2.3.4 Algorithme Principaux résultats de convergence • Si d est une direction de descente, et f est bornée inférieurement suivant d, alors il existe un pas s suivant d vérifiant les conditions de Wolfe •

Si les directions de descente ne deviennent pas « trop » orthogonales au gradient, l’algorithme de recherche linéaire avec les conditions de Wolfe est globalement convergent. lim f ( x k )  0  convergence vers un point stationnaire

k 

En pratique • Les directions de descente peuvent être construites avec BFGS ou SR1 (si matrices Hk > 0)



La valeur des coefficients de Goldstein ou Wolfe c1 et c2 n’est pas critique pour la convergence.



Le pas de Newton (s=1) est systématiquement testé, car il donne la solution si la fonction est proche de son modèle quadratique.



La méthode de plus forte pente a la propriété de convergence globale, mais peut être très lente. On peut assurer la convergence globale d’un algorithme de recherche linéaire utilisant d’autres directions en effectuant périodiquement une itération de plus forte pente.

348

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.4 Algorithme

Max CERF 2018

Techniques d’optimisation 2.3.4 Exemple 5

Fonction de Rosenbrock





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

2

2

f

4 3

 1.2  Point initial :   1   

BFGS SR1

2 1

Recherche linéaire avec BFGS ou SR1

Itération

0 0

10

20

1,25

-1

SR1

1

1

0,75

0,75

0,5

0,5

0,25

0,25

0

0

-0,5

0 -0,25

40

1,25

BFGS

-1,5

30

0,5

1

1,5

-1,5

-1

-0,5

0 -0,25

0,5

1

1,5

349

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.4 Algorithme

Max CERF 2018

Techniques d’optimisation 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 2.3 Recherche linéaire 2.3.4 Algorithme

Max CERF 2018

Techniques d’optimisation 2.3.4 Descente non monotone

Exemple Fonction de Rosenbrock à deux variables : f ( x1 , x 2 )  100 x 2  x12



  1  x  2

2

1

3,0

f 14

2,0

12 1,0

monotone

10 0,0 -2,0

-1,5

-1,0

-0,5

non monotone

8 0,0

0,5

1,0

1,5

2,0 6

-1,0

4 -2,0

-3,0

• •

Méthode de Newton avec pas s Descente monotone (s → s/2) : Descente non monotone (s=1) :

2

Itération

0 0

5

10

15

20

convergence en 21 itérations convergence en 6 itérations (2 itérations avec dégradation)

351

2 Optimisation sans contraintes 2.4 Région de confiance

Techniques d’optimisation

Max CERF 2018

Sommaire 1.

Bases théoriques

2.

Optimisation sans contraintes 2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.4.1 Principes 2.4.2 Modèle quadratique 2.4.3 Rayon de confiance 2.4.4 Algorithme 2.5 Moindres carrés 2.6 Méthodes sans gradient

3. 4. 5.

Optimisation avec contraintes Optimisation discrète Optimisation fonctionnelle

352

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.1 Principes

Max CERF 2018

Techniques d’optimisation 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 x0

Point initial xk

Modèle quadratique dk

Solution x*

Nouveau point

Rayon de confiance rk

xk+1=xk+dk

353

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.1 Principes

Max CERF 2018

Techniques d’optimisation 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 2.4 Région de confiance 2.4.2 Modèle quadratique

Techniques d’optimisation

Max CERF 2018

2.4.2 Modèle quadratique  Problème de région de confiance  Conditions d’optimalité

 Résolution approchée  Méthode dogleg

355

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

Techniques d’optimisation

Max CERF 2018

2.4.2 Problème de région de confiance Modèle quadratique • Au point courant xk on approxime la fonction par son modèle quadratique. dRn = déplacement à partir du point xk 1 fˆk ( x k  d)  f ( x k )  d T f ( x k )  d T  2 f ( x k )d 2 • Le modèle quadratique représente correctement la fonction au voisinage de xk dans un rayon rk La région de confiance est le voisinage dans lequel l’approximation est « bonne » (à définir). Région de confiance de rayon rk : rk = rayon de confiance en xk

d  rk

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 dR n



 Problème de région de confiance

On peut choisir différentes normes pour définir la région de confiance - Norme 2 : région de confiance circulaire - Norme  : région de confiance rectangulaire

356

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

Techniques d’optimisation

Max CERF 2018

2.4.2 Problème de région de confiance Notations • Point courant : xk noté x0 • Fonction : f(xk) noté f0 • Gradient : f(xk) noté g0 • Hessien : 2f(xk) noté H0 • Déplacement à partir de x0 :dRn • • •

1 fˆ (d)  f 0  d T g 0  d T H 0 d Fonction modèle : 2 Région de confiance : d  r 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 -g0

dN xN

lignes de niveau du modèle quadratique

357

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

Max CERF 2018

Techniques d’optimisation 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 1 2 2 minn fˆ (d)  f 0  d T g 0  d T H 0 d sous d r  0 dR 2 2



1 1 2 L(d ,  )  f 0  d T g 0  d T H 0 d   d  r 2 2 2





Lagrangien :



 L(d*, μ*)  g  H d * μ * d*  0  H  μ * I d*  g d 0 0 0 0 Conditions d’ordre 1 :  d *  r , μ*  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 2.4 Région de confiance 2.4.2 Modèle quadratique

Techniques d’optimisation

Max CERF 2018

2.4.2 Résolution approchée Résolution du problème quadratique • •

1 T 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 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R 2 n

 d N  H 01g 0  x N  x 0  d N

Point de Cauchy Le point de Cauchy xC minimise le critère quadratique suivant le gradient : d C  sg 0 , s  0

1 min fˆ (sg 0 )  f 0  sg T0 g 0  s 2 g T0 H 0 g 0 sR 2

g T0 g 0  sC  T g 0 H 0g 0

 d C  s C g 0  x C  x 0  d C

359

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

Techniques d’optimisation

Max CERF 2018

2.4.2 Résolution approchée Résolution du problème quadratique

1 min fˆ (d)  f 0  d T g 0  d T H 0 d sous d  r dR 2 n

 solution d(r)Rn, x(r) = x0 + d(r)

Lorsque le rayon de confiance r varie, la solution suit une courbe x(r) allant de x 0 à xN. • r=0  x(0) = x0 (tangente = g0) • r > dN  x(r) = xN r x0 x(r)

g0

xN

lignes de niveau du modèle quadratique

360

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

Techniques d’optimisation

Max CERF 2018

2.4.2 Méthode dogleg Chemin dogleg Le chemin dogleg est composé de 2 segments : • Le segment 1 joignant le point initial x0 au point de Cauchy xC = x0 + dC • Le segment 2 joignant le point de Cauchy x0 au point de Newton xN = x0 + dN On restreint la recherche de la solution au chemin dogleg. Paramétrage du chemin dogleg Le chemin dogleg est paramétré par s : x(s) = x0 + d(s) , pour s[0,2] • Segment 1  d(s) = sdC pour s[0,1[ • Segment 2  d(s) = dC + (s1)(dN  dC) pour s[1,2] x0 dN

dC

xC

xN

lignes de niveau du modèle quadratique

361

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

Techniques d’optimisation

Max CERF 2018

2.4.2 Méthode dogleg Résolution du problème quadratique On cherche la solution du problème quadratique sous contrainte de région de confiance. 1 minn fˆ (d)  f 0  d T g 0  d T H 0 d sous d  r dR 2 Le point de Newton est la solution du problème quadratique sans contrainte  2 cas possibles •

Si le point de Newton est à l’intérieur de la région de confiance, la contrainte est inactive.  La solution est dN.



Sinon, la contrainte est active et peut être formulée comme une contrainte égalité. 1 minn fˆ (d)  f 0  d T g 0  d T H 0 d sous d  r dR 2 On restreint la recherche de la solution au chemin dogleg paramétré par s[0,2]. Segment 1  d(s) = sdC pour s[0,1[ Segment 2  d(s) = dC + (s1)(dN  dC) pour s[1,2]  Il suffit de trouver l’intersection du chemin dogleg avec la région de confiance en résolvant d(s) = r.

362

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

Max CERF 2018

Techniques d’optimisation 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 dN

dC xC

x0 dN

dC

xN

xC

dN

dC

xN

xC

xN

363

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

Techniques d’optimisation

Max CERF 2018

2.4.2 Méthode dogleg Solution du problème dogleg La fonction d(s) est croissante. La solution s* de d(s) = r est : • Sur le segment 1 si dC  r • Sur le segment 2 si dC < r Solution sur le segment 1 d(s) = sdC avec s[0,1[

s * d C  r  s* 

r dC

 d*  r

dC g  r 0 dC g0

car 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  2 2 c  d C  r

364

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

Max CERF 2018

Techniques d’optimisation 2.4.2 Exemple

Méthode dogleg 1 9 f ( x 1 , x 2 )  x 12  x 22 • Fonction 2 2 9 1 0 9   2 f ( x 0 )   • Point initial : x 0    f ( x 0 )    1 0 9 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 •

fˆ x 0  sf ( x 0 )   min 45  18(9s)  5(9s) 2  s  Point de Cauchy : min s s



 9   1 0  9  1   Point de Newton : x N  x 0   2 f ( x 0 ) f ( x 0 )      1 0 1 / 9     9 



Région de confiance de rayon r :



Chemin dogleg :





 cos    9  r cos       x r  x 0  r sin  1  r sin     

1 5

 7.2    x C    0 . 8   0  x N    0

 paramétrée par 

segment 1 

 9  1.8s   x d1 (s)  x 0  s( x C  x 0 )   1  1 . 8 s  

segment 2 

 7.2  7.2s   , 0  s  1 x d 2 (s)  x C  s( x N  x C )     0,8  0.8s  365

, 0s1

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

Max CERF 2018

Techniques d’optimisation 2.4.2 Exemple

Méthode dogleg 1 9 f ( x 1 , x 2 )  x 12  x 22 2 2 • •

9  7.2   0  , x N    x 0     x C   1   0.8   0  8,293  Région de confiance de rayon r=1 :  x d    sur le segment 1 0 . 293   Région de confiance de rayon r=4 :

 5,331   sur le segment 2  x d     0.592 

4,00

r=4

3,50 3,00 2,50

r=1

2,00 1,50

x0

1,00 0,50

xN

0,00 -1

-0,50 -1,00 -1,50

0

1

2

3

4

5

6

7

8

9

10

11

  chemin dogleg

xC

366

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance

Techniques d’optimisation

Max CERF 2018

2.4.3 Rayon de confiance  Rapport de réduction  Réglage du rayon

 Approche directe  Réglage du multiplicateur  Approche équation différentielle  Réglage du pas de temps

367

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance

Techniques d’optimisation

Max CERF 2018

2.4.3 Rapport de réduction Validité du modèle quadratique Le modèle quadratique est une approximation de la fonction valide dans un voisinage de x 0.  Si le rayon de confiance est trop grand, le modèle quadratique n’est plus représentatif.  Il faut vérifier que la solution d* du modèle quadratique donne l’amélioration attendue. Rapport de réduction • On définit le rapport de réduction  entre la variation prévue : fˆ ( x 0 )  fˆ ( x 0  d*) et la variation réalisée : f ( x 0 )  f ( x 0  d*) Rapport de réduction :



f ( x 0 )  f ( x 0  d*) fˆ ( x )  fˆ ( x  d*) 0

0



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   0 ou < 0 : amélioration réelle < amélioration prévue

 modèle bon  modèle mauvais

Le rayon est réglé de façon itérative en fonction de la valeur de .

368

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance

Max CERF 2018

Techniques d’optimisation 2.4.3 Réglage du rayon

Réglage du rayon On modifie le rayon de confiance en fonction du rapport de réduction  

f ( x 0 )  f ( x 0  d*) fˆ ( x )  fˆ ( x  d*) 0



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

0

369

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance

Techniques d’optimisation

Max CERF 2018

2.4.3 Approche directe Solution du problème quadratique Le déplacement s’obtient en résolvant le problème de région de confiance.

1 minn fˆ (d)  f 0  d T g 0  d T H 0 d sous d  r dR 2

(norme 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. d  H 0  I 1 g 0 H 0  I d  g 0   d r  d r

avec  > 0 (multiplicateur de la contrainte)

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. 1 On cherche  > 0 et d  H 0  I  g 0 pour obtenir une décroissance suffisante de f.

370

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance

Techniques d’optimisation

Max CERF 2018

2.4.3 Approche directe Réglage de  1 Le déplacement d dépend du multiplicateur  : d()  H 0  I  g 0 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 2.4 Région de confiance 2.4.3 Rayon de confiance

Max CERF 2018

Techniques d’optimisation

2.4.3 Approche équation différentielle Equation différentielle On associe au problème de minimisation :

minn f(x)

minimum x*

x  f ( x )

trajectoire x(t)

xR

l’équation différentielle : •

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 g( x )  g( x 0  x )  g( x 0 )  H( x 0 )x  g 0  H 0 x et t x    g 0  H 0 x t

A l’ordre 1 : x 

1



On obtient pour le déplacement x :

1   x   H 0  I  g 0 t  

372

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance

Techniques d’optimisation

Max CERF 2018

2.4.3 Approche équation différentielle Réglage du pas de temps t La formule donnant le déplacement une formule est similaire à celle de la région de confiance. 1

Equation différentielle : Région de confiance :

1   x   H 0  I  g 0 t  

x  H 0  I  g 0 1

→ même formule en posant

→ pas de temps t > 0 → multiplicateur  > 0 

1 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 2.4 Région de confiance 2.4.4 Algorithme

Techniques d’optimisation

Max CERF 2018

2.4.4 Algorithme  Algorithme de région de confiance  Convergence

 Exemple - Région de confiance norme 2 - Région de confiance norme 

374

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme

Techniques d’optimisation

Max CERF 2018

2.4.4 Algorithme Algorithme de région de confiance Initialisation : x0  Rayon r0 Gradient : f(x0) Approximation du hessien : H0

Itération k : xk  Rayon rk Gradient : f(xk) Approximation du hessien : Hk>0

 H0 =I par défaut

Résolution problème quadratique  pas dk Méthode dogleg 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 Gradient : f(xk+1) Approximation du hessien : Hk+1>0

Mise à jour du hessien par BFGS ou SR1 Modification du hessien : Hk+1>0 Factorisation de Cholesky modifiée

375

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme

Techniques d’optimisation

Max CERF 2018

2.4.4 Algorithme Principaux résultats de convergence • Lorsque le rayon de confiance est petit, la solution dogleg est suivant le gradient. L’itération est équivalente à la méthode de plus forte pente  convergence lente •

Lorsque le rayon de confiance est grand, la solution dogleg est le point de Newton. L’itération est équivalente à la méthode de Newton  convergence rapide

En pratique • On peut combiner l’algorithme de région de confiance avec BFGS ou SR1. Il n’est pas nécessaire que le hessien soit défini positif. Si le hessien n’est pas défini positif, la méthode SR1 est plus efficace.



La valeur des seuils 1 et 2 pour régler le rayon n’est pas critique pour la convergence.



Le point de Newton xN est systématiquement testé, car il donne la solution s’il est à l’intérieur de la région de confiance. Sinon, on cherche une solution approchée sur le chemin dogleg.



On peut utiliser directement la solution du problème quadratique avec le multiplicateur . Le réglage porte sur le multiplicateur au lieu du rayon de confiance.

376

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme

Max CERF 2018

Techniques d’optimisation 2.4.4 Exemple 5

Fonction de Rosenbrock



f ( x1 , x 2 )  100 x 2  x • • •

f

  1  x 

2 2 1

2

4

1

3

 1.2  Point initial :   1   

BFGS SR1

2 1

Région de confiance avec BFGS ou SR1 Norme 2 : région de confiance circulaire

Itération

0 0

10

20

1,25

SR1

1

1

0,75

0,75

0,5

0,5

0,25

0,25

0 -1

-0,5

0 0

-0,25

40

1,25

BFGS

-1,5

30

0,5

1

1,5

-1,5

-1

-0,5

0 -0,25

0,5

1

1,5

377

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme

Max CERF 2018

Techniques d’optimisation 2.4.4 Exemple 5

Fonction de Rosenbrock





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

2

2

f

4 3

 1.2  Point initial :   1   

BFGS SR1

2 1

Région de confiance avec BFGS ou SR1 Norme  : région de confiance rectangulaire 0

Itération

0

10

20

1,25

SR1

1

1

0,75

0,75

0,5

0,5

0,25

0,25

0 -1

-0,5

0 0

-0,25

40

1,25

BFGS

-1,5

30

0,5

1

1,5

-1,5

-1

-0,5

0 -0,25

0,5

1

1,5

378

2 Optimisation sans contraintes 2.5 Moindres carrés

Techniques d’optimisation

Max CERF 2018

Sommaire 1.

Bases théoriques

2.

Optimisation sans contraintes 2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.5.1 Formulation 2.5.2 Méthode de Gauss-Newton 2.5.3 Moindres carrés linéaires 2.5.4 Filtre de Kalman 2.5.5 Méthode du gradient conjugué 2.6 Méthodes sans gradient

3. 4. 5.

Optimisation avec contraintes Optimisation discrète Optimisation fonctionnelle

379

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.1 Formulation

Techniques d’optimisation

Max CERF 2018

2.5.1 Formulation Problème de moindres carrés

min xR n

• • •

1 r(x) 2

2

 problème (MC)

Variables xRn : n paramètres d’ajustement d’un modèle Résidus r(x)Rm : m écarts entre modèle et mesures Critère f(x)R :

1 1 1 m 2 T f ( x )  r ( x )  r ( x ) r ( x )   ri ( x ) 2 2 2 2 i 1  minimisation d’écart quadratique m



Gradient :

f ( x )  r ( x )r ( x )   ri ( x )ri ( x ) i 1

m



Hessien :

r ( x )  R nm avec  n 1 ri ( x )  R



 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 2.5 Moindres carrés 2.5.2 Méthode de Gauss-Newton

Max CERF 2018

Techniques d’optimisation

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 )

Avec

 déplacement dk

m   f ( x )  r ( x )r ( x )   ri ( x )ri ( x ) i 1  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 •

2 T Pour accélérer les calculs, on ignore le second terme :  f ( x )  r ( x )r ( x ) 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 2.5 Moindres carrés 2.5.2 Méthode de Gauss-Newton

Max CERF 2018

Techniques d’optimisation

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 Le problème devient : minn xR

1 rˆ ( x ) 2

 rˆ ( x )  r ( x k )  r ( x k ) T ( x  x k )

2



2 1 1 fˆ ( x )  rˆ ( x )  rˆ ( x ) T rˆ ( x ) 2 2 T 1  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 fˆ ( x )  r ( x k )r ( x k ) T ( x  x k )  r ( x k )r ( x k ) Gradient :



T Condition d’ordre 1 : fˆ ( x )  0  r ( x k )r ( x k ) ( x  x k )  r ( x k )r ( x k )



Critère :





 On retrouve l’itération de Gauss-Newton obtenue en ignorant les dérivées secondes dans le hessien



382

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.3 Moindres carrés linéaires

Max CERF 2018

Techniques d’optimisation

2.5.3 Moindres carrés linéaires Cas linéaire

min xR

n

1 r(x) 2

2

avec r ( x )  Ax  b, A  R mn , b  R m

 problème (MC)



Critère :



Gradient :

1 1 1 1 2 T r ( x )  Ax  b  Ax  b   x T A T Ax  b T Ax  b T b 2 2 2 2 f ( x )  r ( x )r ( x )  A T Ax  b 



Hessien :

 2f (x)  A T A

f (x) 

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  système d’équations normales du problème (MC) : minn xR



1 Ax  b 2

Si A est de rang plein, x* est l’unique solution du problème (MC).

2

383

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.3 Moindres carrés linéaires

Max CERF 2018

Techniques d’optimisation

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) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Hauteur (m) 0,90 5,40 20,81 45,73 78,56 124,10 175,75 241,41 315,08 397,36 488,25 595,35 707,26 829,98 961,20 1103,14 1252,89 1415,55 1586,62 1770,20 1964,29

g

1  h  gt 2 2

h Hauteur h (m) 2000

1500

1000

500

0 0

5

10

Temps t (s)

15

20

384

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.3 Moindres carrés linéaires

Max CERF 2018

Techniques d’optimisation

2.5.3 Exemple  t i2   h i  g   2 i 1  2

Moindres carrés linéaires 1 On résout le problème de moindres carrés linéaires : min f (g )  gR

Temps (s) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

H mesure (m) 0,90 5,40 20,81 45,73 78,56 124,10 175,75 241,41 315,08 397,36 488,25 595,35 707,26 829,98 961,20 1103,14 1252,89 1415,55 1586,62 1770,20 1964,29

H modèle Résidu (m) (m) 0,00 0,90 4,90 0,49 19,61 1,19 44,13 1,60 78,46 0,10 122,59 1,51 176,53 -0,78 240,27 1,13 313,82 1,25 397,18 0,17 490,35 -2,10 593,32 2,02 706,10 1,15 828,69 1,28 961,09 0,12 1103,29 -0,14 1255,30 -2,40 1417,11 -1,56 1588,73 -2,11 1770,16 0,04 1961,40 2,89

Modèle : Résidu :

t i2 h mod èle  g 2 r  h mesure  h mod èle

m

1 m  f (g)   ri (g) 2 2 i 1

Solution moindres carrés : g* = 9,8070 m/s2  f(g*) = 21,668 h (m) 2000

1500

1000

500

0

0

50

100

t2/2 (s2)

150

200 385

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman

Max CERF 2018

Techniques d’optimisation

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.

minn A1x  b1  A 2 x  b 2 2

xR



A 1  R m 1  n , b1  R m 1 avec  m 2 n , b 2  R m2 A 2  R

Les 2 blocs correspondent à 2 séries de mesures donnant chacune des résidus respectifs. r1 ( x )  A1x  b1  r2 ( x )  A 2 x  b 2



2

 m1 mesures  m2 mesures

Les matrices A1 et A2 sont supposées de rang plein  A1T A1 et A2T A2 inversibles

Problème initial • On appelle problème initial le problème restreint au 1er bloc : minn A1 x  b1

2

xR



On note x1 la solution du problème initial. T T La solution x1 vérifie les équations normales du problème initial : A1 A1 x 1  A1 b1



On cherche ensuite à exprimer la solution x2 du problème complet en fonction de x1.

386

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman

Max CERF 2018

Techniques d’optimisation

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  2 2 minn A1 x  b1  A 2 x  b 2  minn   x     minn Ax  b xR xR xR  A2   b2 

A  avec A   1   R ( m  m  A2  1

2 ) n

2

b  , b   1   R m  m  b2  1

2



La solution x2 vérifie les équations normales du problème complet.



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 Ax 2  A T b  A1T

A

T 1











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  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 2.5 Moindres carrés 2.5.4 Filtre de Kalman

Max CERF 2018

Techniques d’optimisation

2.5.4 Filtre de Kalman Filtre de Kalman La solution des moindres carrés est mise à jour à chaque nouvelle mesure disponible.  traitement incrémental en temps réel



Initialisation :

filtre H0 (=0 par défaut) solution x0 (=0 par défaut)



Itération :

filtre Hk solution xk

k

H k  H k 1  A Tk A k  minn  A i x  b i x k  x k 1  H k1A Tk b k  A k x k 1  xR i 1

2

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



Itération :

filtre Hk solution xk

H k  H k 1  A Tk A k x k  x k 1  H k1A Tk b k  A k x k 1 

k

 min   k i A i x  b i xR n

i 1

388

2

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman

Max CERF 2018

Techniques d’optimisation

2.5.4 Filtre de Kalman Exemple On applique la mise à jour de Kalman à chaque nouvelle mesure. Mesure : h mesure  b

 bk  h k t 2k t , xk  gk Modèle : h mod èle  Ax  g  A k  2 2 T Filtre : H 0  0  H k  H k 1  A1k ATk x 0  0 x k  x k 1  H k A k b k  A k x k 1  2



Estimation g (m/s2) 11,00 10,75 10,50

g20 = 9.8070 m/s2

10,25 10,00 9,75 9,50 0

5

10

Temps t (s)

15

20

Temps Matrice H (s) 0 0,0 1 0,3 2 4,3 3 24,5 4 88,5 5 244,8 6 568,8 7 1169,0 8 2193,0 9 3833,3 10 6333,3 11 9993,5 12 15177,5 13 22317,8 14 31921,8 15 44578,0 16 60962,0 17 81842,3 18 108086,3 19 140666,5 20 180666,5

Estimation g (m/s2) 0,0000 10,7937 10,4263 10,2074 9,9269 9,9274 9,8341 9,8440 9,8450 9,8305 9,8046 9,8177 9,8195 9,8204 9,8167 9,8136 9,8068 9,8041 9,8016 9,8029 9,8070

389

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman

Techniques d’optimisation

Max CERF 2018

2.5.4 Filtre de Kalman Comparaison moindres carrés  filtre de Kalman • Les moindres carrés sont adaptés à l’estimation de paramètres de modèle a posteriori (= lorsque toutes les mesures sont disponibles).



Le filtre de Kalman est adapté à des applications en temps réel (= lorsque les mesures arrivent une à une)



Les moindres carrés et le filtre de Kalman sont équivalents pour l’estimation de paramètres d’un modèle linéaire. Le filtre de Kalman peut être appliqué à différents problèmes d’estimation.

Applications du filtre de Kalman • Estimation de l’état d’un système dynamique linéaire, discret ou continu.  état fonction du temps, mesures en temps réel •

Estimation de l’état d’un système dynamique non linéaire  par linéarisation autour d’une trajectoire de référence estimée au préalable



Méthode de filtrage largement utilisée dans les systèmes temps réels  nombreuses variantes

390

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué

Techniques d’optimisation

Max CERF 2018

2.5.5 Gradient conjugué Problème quadratique On considère un problème de moindres carrés linéaires. 1 2 minn r ( x ) avec r ( x )  Ax  b, A  R mn , b  R m xR 2 1 1 1 1 2 T  r ( x )  Ax  b  Ax  b   x T A T Ax  b T Ax  b T b 2 2 2 2 Le problème de moindres carrés revient à minimiser une forme quadratique définie positive.

f (x) 

1 T x Qx  c T x 2

avec QRnn symétrique définie positive

Méthode de directions conjuguées • 2 directions di et dj sont conjuguées par rapport à Q si 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 2.5 Moindres carrés 2.5.5 Gradient conjugué

Max CERF 2018

Techniques d’optimisation

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 x0

Point courant xk-1

Direction conjuguée dk

Solution x*=xn

Nouveau point xk

Minimisation suivant dk

392

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué

Techniques d’optimisation

Max CERF 2018

2.5.5 Gradient conjugué Méthode du gradient conjugué • La direction de descente à l’itération k est cherchée sous la forme d k 1  f ( x k )   k d k avec xk obtenu par minimisation suivant dk : min f ( x k 1  sd k )  x k  x k 1  s k d k s



La nouvelle direction dk+1 doit être conjuguée à toutes les directions précédentes d1,…, dk.

d Tk 1Qd i  0 , i  1,, k Il existe plusieurs méthodes de construction des directions conjuguées successives (d i)i=1,…,n. •

Directions de Fletcher-Reeves d k 1  f ( x k )   k d k avec  k 



2

f ( x k ) f ( x k 1 )

2

Directions de Polak-Ribière d k 1  f ( x k )   k d k avec  k

T  f ( x k )  f ( x k 1 )  f ( x k ) 

f ( x k 1 )

2

 formules équivalentes dans le cas d’une fonction f quadratique

393

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué

Techniques d’optimisation

Max CERF 2018

2.5.5 Gradient conjugué Directions de Fletcher-Reeves d k 1  f ( x k )   k d k avec  k 

f ( x k ) f ( x k 1 )

Preuve : On note gk = f(xk) = Qxk + c •

2 2

 directions conjuguées pour 1 f ( x )  x T Qx  c T x 2

Propriété préliminaire T Si les n directions d1,…,dn sont conjuguées, alors d i g k  0 , i  1, , k pour k=1 à n. 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   T k d i g i  0 T T T  d i g k  d i g i   s j d i Qd j  0 car  T d i Qd j  0 si i  j j i 1  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 2.5 Moindres carrés 2.5.5 Gradient conjugué

Techniques d’optimisation

Max CERF 2018

2.5.5 Gradient conjugué Directions de Fletcher-Reeves Preuve : on montre par récurrenceque dk+1 est conjuguée à d1,…,dk. • Pour d1 et d2 : d 1   g 0 x1  x0 T T d 2 Qd 1  g 1   1 g 0  Q car d 2  g 1   1 d 1  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

 d Qd 1  0 car  1  T 2



 car g T

f ( x1 )

2

f ( x0 )

2

T 1



g 0  g 1T d 1  0 g1 g0

(propriété préliminaire)

2

(par définition de )

2

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

 d iT Qd k 1

 d iT Qd k 1

 x  xi  1  T  g k car xi  xi 1  si d i  Qd i  g k   Q i  s T i    g i  g i 1   g k car g  Qx  c    si  

395

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué

Max CERF 2018

Techniques d’optimisation

2.5.5 Gradient conjugué Directions de Fletcher-Reeves Preuve • •





1 T g i g k  g iT1 g k  0 pour i  1, , k  1 si car g iT g k  0 , i  1, , k  1 T Il faut encore montrer pour i=k : d k Qd k 1  0

On obtient : d iT Qd k 1 

(propriété préliminaire)

d kT Qg k d Qd k 1  0  d Q g k   k d k   0   k  T d k Qd k T  x  x k 1  1 1 2  g k  g k  g k 1 T g k  d kT Qg k   Q k g k  sk sk sk     x  x k 1 1 1   d kT g k  g k 1    d kT g k 1 car d kT g k  0 (propriété préliminaire) d kT Qd k  d kT  Q k  s sk sk k   T k

 d kT Qd k  

T k

1 T 1 1 T d k g k 1    g k 1   k 1 d k 1  g k 1  g k 1 sk sk sk

On obtient bien :  k 

gk g k 1

2

car d kT1 g k 1

2 2

 valeur de k telle que d kT Qd k 1  0

396

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué

Techniques d’optimisation

Max CERF 2018

2.5.5 Exemple Gradient conjugué 1 2  x  x2  2  • Fonction quadratique f ( x 1 , x 2 )  x 1  x 1 x 2  x 2  f ( x 1 , x 2 )   1 2 x  2 x 2  1  10  0 • Point initial x      5   5 10  5s   2  s  1 0 1 0 1   5  • Itération 1 : d  f ( x )     x  x  sd   0  5  1       25  5   0  2  min f ( x 0  sd1 )  2  s   252  s   25  s1  1  x 1    , f ( x 1 )    s 2   5   5





Itération 2 : d 2  f ( x 1 )  1d1 avec 1 

f ( x 1 )

2

f ( x 0 )

2



25 1 25

  5  5  5s  1   5(1  s)  d 2     x 2  x1  sd 2    5    5  5s    1  0  0 25 2 2 2  min f ( x1  sd 2 )  1  s   251  s   251  s   s 2  1  x 2    , f ( x 2 )    s 2  0  0  0  0     x *  ,  f ( x *)  Solution :  0    0

397

2 Optimisation sans contraintes 2.6 Méthodes sans gradient

Techniques d’optimisation

Max CERF 2018

Sommaire 1.

Bases théoriques

2.

Optimisation sans contraintes 2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthodes sans gradient 2.6.1 Principes 2.6.2 Nelder-Mead 2.6.3 Direct

3. 4. 5.

Optimisation avec contraintes Optimisation discrète Optimisation fonctionnelle

398

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.1 Principes

Techniques d’optimisation

Max CERF 2018

2.6.1 Principes Problème sans contrainte

min f(x) xR n



Les méthodes sans gradient (ou d’ordre 0) n’utilisent que des évaluations de la fonction.  méthodes applicables à toute fonction (non dérivable, bruit numérique)



Capacité à localiser plusieurs minima locaux (et éventuellement le minimum global)



Convergence généralement lente, peu précise  méthodes utilisées pour initialiser un algorithme local plus précis

Principales méthodes • Méthodes déterministes Nelder-Mead → méthode locale (polytope convergeant vers un minimum local) Direct → méthode globale (partition de l’espace de recherche) •

Méthodes stochastiques Métaheuristiques → exploration avec un aspect aléatoire application aux problèmes combinatoires (variables entières)

399

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead

Techniques d’optimisation

Max CERF 2018

2.6.2 Nelder-Mead  Polytope  Algorithme

 Améliorations - Coefficients de déplacement - Approximation du gradient  Exemples

400

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead

Max CERF 2018

Techniques d’optimisation 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 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead

Max CERF 2018

Techniques d’optimisation 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 )

x2

x*

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 • Expansion : x(t=+2) = xe • Contraction externe : x(t=+0.5) = xce • Contraction interne : x(t=0.5) = xci

x2

x* xr xe x(t)

xc

xci

xce

x1

402

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead

Max CERF 2018

Techniques d’optimisation 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 on remplace xn par xe ou xr.

x0

f ( x 0 )  f ( x r )  f ( x n 1 ) Résultat bon :  on remplace xn par xr. Résultat moyen : f ( x n 1 )  f ( x r )  f ( x n )  on essaie xce on remplace xn par xce ou xr.

x2

x* xr xe

x(t)

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

xc

xci

xce x1

403

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead

Max CERF 2018

Techniques d’optimisation 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 x c   x i  d  x c  x kn n i 0

1.

Barycentre :

2. 3.

Réflexion : xr = xc + d  Si f(xr) < f(x0) Expansion : xe = xc + 2d  Si f(xe) < f(xr)  x’ = xe Sinon  x’ = xr Si f(x0) < f(xr) < f(xn-1)  x’ = xr Si f(xn-1) < f(xr) < f(xn) Contraction externe : xce = xc + d/2  Si f(xce) < f(xr)  x’ = xce Sinon  x’ = xr Si f(xn) < f(xr) Contraction interne : xci = xc  d/2  Si f(xci) < f(xn)  x’ = xci k 1 Sinon réduction de P vers x0  x i 

4. 5.

6.

7.

f(xr)

d

f(xe) 2d

f(xce) d/2

f(xci)





d/2 1 x 0  x ik 2 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 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead

Techniques d’optimisation

Max CERF 2018

2.6.2 Nelder-Mead Initialisation Polytope initial P 0  x 00 , x10 ,, x 0n 1 , x 0n  avec  points suffisamment distants, non alignés Itération k



P k  x 0k , x1k ,, x kn 1 , x kn



avec

f ( x 00 )  f ( x10 )    f ( x 0n 1 )  f ( x 0n )

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



Arrêt • Taille du polytope • Valeur de la fonction • Dégénérescence du polytope •

Améliorations possibles :

avec

f ( x 0k 1 )  f ( x1k 1 )    f ( x kn 11 )  f ( x kn 1 )

→ diamètre → non décroissante, constante sur le polytope → alignement des points

- réglage adaptatif des coefficients - correction de direction avec approximation du gradient - réinitialisation (ou reconditionnement) du polytope

405

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead

Techniques d’optimisation

Max CERF 2018

2.6.2 Nelder-Mead Réglage standard des coefficients Les coefficients standards sont indépendants de la dimension n du problème. • Réflexion : =1 • Expansion :  = 2 • Contraction :  = 0.5 → externe (+0.5) , interne (0.5) • Réduction :  = 0.5 Ces coefficients conduisent fréquemment à une dégénérescence du polytope. Réglage adaptatif des coefficients Les coefficients adaptatifs prennent en compte la dimension n du problème. • Réflexion : =1 → indépendant de n

• • •

2 n 3 1 Contraction :    4 2n 1 Réduction :   1 n

Expansion :

  1

→ évite une distorsion trop forte dans la direction de recherche → évite une réduction trop rapide du diamètre du polytope → évite une réduction trop rapide du diamètre du polytope

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 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead

Max CERF 2018

Techniques d’optimisation 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 )  T  f i  x i  g avec x i  x i  x 0 g  f ( x ) 0 



Sous forme matricielle : F  X T g  f1       avec F      vecteur n 1 ,       f   n

x1

x i

x n

 (x1 )1  (x i )1  (x n )1          X       matrice n  n         (x )  (x )  (x )  i n n n  1 n

407

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead

Max CERF 2018

Techniques d’optimisation 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

x1

xc

→ d’ = (1)d  g

x0

d

g x*

avec un coefficient  à adapter (0 ≤  ≤ 1)

x1

(1-)d

g x2

x2

direction d

x0

d’

x*

g

direction d’

408

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead

Max CERF 2018

Techniques d’optimisation 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

1,0

4

0,5

6

8

5

2

0,0 -0,5

9 -0,5

0,0

7

0,5

3

1,0

1,5

2,0

2,5

409

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead

Max CERF 2018

Techniques d’optimisation 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,25

0,50

1,00

1,50

410

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Techniques d’optimisation

Max CERF 2018

2.6.3 Direct  Principe  Fonction lipschitzienne

 Division d’intervalles  Algorithme à une variable  Algorithme à n variables  Exemple

411

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Techniques d’optimisation

Max CERF 2018

2.6.3 Direct Principe

min f(x) xR n

→ problème sans contrainte



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 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 2.6.3 Direct

Fonction lipschitzienne

min f(x) xR n



→ problème sans contrainte

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

avec c = point quelconque de D d = majorant de la dimension de D → x c  d •

f(c)

f(c)  Kd est un minorant de f sur D. c

x

413

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 2.6.3 Direct

Exemple   1  f ( x )  sin 4 x    6x 2  2 2   

sur D  0 ;1

  1  f ' ( x )  4 cos 4 x    12x 2   



8 7

La dérivée de f est bornée sur [0 ; 1]

6

f ' ( x )  4  12 sur D  0 ;1

5 4

→ f est lipschitzienne sur [0 ; 1] •

Si on prend : K = 25  4 + 12 c = 0,5 → f(c) = 3,5 d = 0,5

f(c) 3 2 1

d

c

0 0,0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

→ f(x)  3,5  250,5 = 9

414

1,0

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 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 de demi-longueur dj

D3 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 2.6 Méthodes sans gradient 2.6.3 Direct

Techniques d’optimisation

Max CERF 2018

2.6.3 Direct Division d’intervalles •

Première itération : 3 intervalles. Potentiellement optimal : numéro 1



Deuxième itération : 5 intervalles. Potentiellement optimal : numéro 4



Troisième itération : 7 intervalles.

Potentiellement optimal : numéro 4

416

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 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. f

Minorant de f sur chaque intervalle

(dj,fj)

fb,j

« Meilleur » intervalle (minorant le plus bas) → potentiellement optimal

d

417

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 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. K  0 , i , f b , j  f b ,i

Dj potentiellement optimal si •

 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 2.6 Méthodes sans gradient 2.6.3 Direct

Techniques d’optimisation

Max CERF 2018

2.6.3 Direct Intervalle potentiellement optimal • L’intervalle Dj (dj , fj) est potentiellement optimal si

K  0 , i , f j  Kd j  f i  Kd i

 K  0 , i , f j  f i  K (d j  d i )

La condition s’exprime différemment selon le signe de (di  dj). •

Pour les intervalles Di tels que di = dj

f

f j  fi



Pour les intervalles Di tels que di < dj K



f j  fi d j  di

 K  K1  max

i / d i d j

f j  fi d j  di

Pour les intervalles Di tels que di > dj

K

f j  fi d j  di

 K  K 2  min

i / d i d j

f j  fi d j  di

d

419

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 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 j min min  j 

avec f min  min f i 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 K i  K1  K 2  min K i - imax i / d d / d d i



j

i

avec K i 

j

f j  fi d j  di

→ existence de K compris entre K1 et K2.

La deuxième condition exprime que l’intervalle Dj ne doit pas être trop petit. f j  Kd j  f min   f min



dj 

f min   f min  f j K

avec  10 3

→ évite que la recherche devienne trop locale.

420

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 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).

Intervalle initial D0 Demi-longueur d0

Itération k m intervalles de dimensions dj= d0/3j , j=1 à k

Sélection de p intervalles potentiellement optimaux (p entre 1 et k)

Arrêt sur Nombre d’itérations Nombre d’évaluations

Itération k+1 m → m + 2p

Division et évaluation des p intervalles sélectionnés

421

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 2.6.3 Direct

Exemple à une variable Minimum

  1  f ( x )  sin 4 x    6x 2  2 sur D   1;1 2   

local

global

local

local

x

-0,57843 -0,11615 0,34804 0,80520

f(x)

3,17389 1,08712 1,78363 5,25072

8

7

6

5

4

3

2

1

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 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 2.6.3 Exemple

Itération 1 : 3 intervalles x inf -1,000 -0,333 0,333

x sup -0,333 0,333 1,000

x mid -0,667 0,000 0,667

longueur 0,667 0,667 0,667

fmid 3,801 2,000 5,533

fb 3,801 2,000 5,533

K 0

6

5

L’intervalle [1;1] est divisé en 3. Les 3 intervalles ont même longueur. Le meilleur intervalle est sélectionné pour être divisé à l’itération suivante.

4

3

2

Passage de 3 à 5 intervalles 1

0 0,0

0,1

0,2

0,3

0,4

longueur

0,5

0,6

0,7

423

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 2.6.3 Exemple

Itération 2 : 5 intervalles x inf -1,000 0,333 -0,333 -0,111 0,111

x sup -0,333 1,000 -0,111 0,111 0,333

x mid -0,667 0,667 -0,222 0,000 0,222

longueur 0,667 0,667 0,222 0,222 0,222

fmid 3,801 5,533 1,954 2,000 2,638

fb 1,031 2,763 1,031 1,077 1,715

K 4,155

6

5

Les intervalles sont rangés par longueur décroissante.

4

En gris : nouveaux intervalles issus de l’itération précédente

3

En jaune : meilleur intervalle parmi ceux de même longueur En vert : 2 intervalles sélectionnés donnant le minorant le plus bas → potentiellement optimaux

2

1

0 0,0

0,1

0,2

0,3

0,4

longueur

0,5

0,6

0,7

424

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 2.6.3 Exemple

Itération 3 : 9 intervalles x inf 0,333 -0,111 0,111 -1,000 -0,778 -0,556 -0,333 -0,259 -0,185

x sup 1,000 0,111 0,333 -0,778 -0,556 -0,333 -0,259 -0,185 -0,111

x mid 0,667 0,000 0,222 -0,889 -0,667 -0,444 -0,296 -0,222 -0,148

longueur 0,667 0,222 0,222 0,222 0,222 0,222 0,074 0,074 0,074

fmid 5,533 2,000 2,638 7,726 3,801 3,828 3,076 1,954 1,174

fb 0,234 0,234 1,399 6,486 2,561 2,589 2,663 1,541 0,761

K 7,949 5,578

6

5

4

3

2

1

0 0,0

0,1

0,2

0,3

0,4

longueur

0,5

0,6

0,7

425

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 2.6.3 Exemple

Itération 4 : 13 intervalles x inf 0,111 -1,000 -0,778 -0,556 0,333 0,556 0,778 -0,333 -0,259 -0,185 -0,111 -0,037 0,037

x sup 0,333 -0,778 -0,556 -0,333 0,556 0,778 1,000 -0,259 -0,185 -0,111 -0,037 0,037 0,111

x mid 0,222 -0,889 -0,667 -0,444 0,444 0,667 0,889 -0,296 -0,222 -0,148 -0,074 0,000 0,074

longueur 0,222 0,222 0,222 0,222 0,222 0,222 0,222 0,074 0,074 0,074 0,074 0,074 0,074

fmid 2,638 7,726 3,801 3,828 2,542 5,533 5,756 3,076 1,954 1,174 1,231 2,000 2,835

fb 0,585 5,672 1,748 1,775 0,489 3,480 3,703 2,392 1,270 0,489 0,546 1,316 2,151

K

6

5

9,239

4

3

2

1

0 0,00

0,05

0,10

0,15

longueur

0,20

0,25

426

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 2.6.3 Exemple

Itération 5 : 17 intervalles x inf 0,111 -1,000 -0,778 -0,556 0,556 0,778 -0,333 -0,259 -0,111 -0,037 0,037 0,333 0,407 0,481 -0,185 -0,160 -0,136

x sup 0,333 -0,778 -0,556 -0,333 0,778 1,000 -0,259 -0,185 -0,037 0,037 0,111 0,407 0,481 0,556 -0,160 -0,136 -0,111

x mid 0,222 -0,889 -0,667 -0,444 0,667 0,889 -0,296 -0,222 -0,074 0,000 0,074 0,370 0,444 0,519 -0,173 -0,148 -0,123

longueur 0,222 0,222 0,222 0,222 0,222 0,222 0,074 0,074 0,074 0,074 0,074 0,074 0,074 0,074 0,025 0,025 0,025

fmid 2,638 7,726 3,801 3,828 5,533 5,756 3,076 1,954 1,231 2,000 2,835 1,825 2,542 3,844 1,355 1,174 1,092

fb 0,527 5,614 1,689 1,717 3,421 3,645 2,372 1,251 0,527 1,791 2,626 1,616 2,334 3,635 1,285 1,104 1,022

K 9,501

6

5

4

2,818

3

2

1

0 0,00

0,05

0,10

0,15

longueur

0,20

0,25

427

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 2.6.3 Exemple

Itération 6 : 21 intervalles x inf -1,000 -0,778 -0,556 0,556 0,778 -0,333 -0,259 -0,037 0,037 0,333 0,407 0,481 0,111 0,185 0,259 -0,185 -0,160 -0,136 -0,111 -0,086 -0,062

x sup -0,778 -0,556 -0,333 0,778 1,000 -0,259 -0,185 0,037 0,111 0,407 0,481 0,556 0,185 0,259 0,333 -0,160 -0,136 -0,111 -0,086 -0,062 -0,037

x mid -0,889 -0,667 -0,444 0,667 0,889 -0,296 -0,222 0,000 0,074 0,370 0,444 0,519 0,148 0,222 0,296 -0,173 -0,148 -0,123 -0,099 -0,074 -0,049

longueur 0,222 0,222 0,222 0,222 0,222 0,074 0,074 0,074 0,074 0,074 0,074 0,074 0,074 0,074 0,074 0,025 0,025 0,025 0,025 0,025 0,025

fmid 7,726 3,801 3,828 5,533 5,756 3,076 1,954 2,000 2,835 1,825 2,542 3,844 3,090 2,638 1,977 1,355 1,174 1,092 1,112 1,231 1,433

fb 4,762 0,837 0,864 2,569 2,792 2,088 0,966 1,012 1,847 0,725 1,443 2,744 1,990 1,539 0,878 0,988 0,807 0,725 0,746 0,864 1,067

K

6

13,338 5

4

14,846 3

2

1

0 0,00

0,05

0,10

0,15

longueur

0,20

0,25

428

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 2.6.3 Exemple

Itération 7 : 25 intervalles x inf -1,000 -0,778 -0,556 0,556 0,778 -0,333 -0,259 -0,037 0,037 0,407 0,481 0,111 0,185 0,259 -0,185 -0,160 -0,111 -0,086 -0,062 0,333 0,358 0,383 -0,136 -0,128 -0,119

x sup -0,778 -0,556 -0,333 0,778 1,000 -0,259 -0,185 0,037 0,111 0,481 0,556 0,185 0,259 0,333 -0,160 -0,136 -0,086 -0,062 -0,037 0,358 0,383 0,407 -0,128 -0,119 -0,111

x mid -0,889 -0,667 -0,444 0,667 0,889 -0,296 -0,222 0,000 0,074 0,444 0,519 0,148 0,222 0,296 -0,173 -0,148 -0,099 -0,074 -0,049 0,346 0,370 0,395 -0,132 -0,123 -0,115

longueur 0,222 0,222 0,222 0,222 0,222 0,074 0,074 0,074 0,074 0,074 0,074 0,074 0,074 0,074 0,025 0,025 0,025 0,025 0,025 0,025 0,025 0,025 0,008 0,008 0,008

fmid 7,726 3,801 3,828 5,533 5,756 3,076 1,954 2,000 2,835 2,542 3,844 3,090 2,638 1,977 1,355 1,174 1,112 1,231 1,433 1,784 1,825 1,968 1,108 1,092 1,087

fb 4,956 1,031 1,058 2,763 2,986 2,153 0,691 0,737 1,572 1,280 2,581 1,827 1,375 0,714 0,934 0,753 0,691 1,193 1,395 1,746 1,787 1,930 1,095 1,079 1,075

K

6

12,463 5

17,049 4

3

1,530

2

1

0

0,00

0,05

0,10

0,15

longueur

0,20

0,25

429

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 2.6.3 Exemple

Exemple à une variable On obtient après 25 évaluations une approximation du minimum global : Evolution du meilleur point à chaque itération →

x  0,115 f  1,087

2,00 1,50

8

1,00 -0,25-0,20-0,15-0,10-0,05 0,00 0,05

7

6

5

4

3

2

1

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 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 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.

Hypercube initial D0 Demi-dimension d0

Itération k Hyperrectangles de dimensions dj= d0/3j

Sélection hyperrectangles potentiellement optimaux (minorant fonction de dj)

Arrêt sur Nombre d’itérations Nombre d’évaluations

Evaluation des nouveaux hyperrectangles

Division des hyperrectangles sélectionnés

431

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 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   c  c  ei  i  f (ci ) 0  i 3 → 2n points  1    ci  c 0  ei  i  f (ci ) 3 



c3 c 2

c1

On retient la valeur minimale i suivant chaque direction ei.

Les i sont rangés dans l’ordre croissant. i1 ≤ i2 ≤ … ≤ in

c1

c 2

i  min(i , i ) , i  1 à n



c0 c3

x3

→ détermine les meilleures directions et l’ordre de division des côtés de l’hypercube

x2 x1

432

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 2.6.3 Direct /3



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 et de côté /3.

/3

Division d’un hypercube • L’hypercube initial a pour centre c0 et pour côté .

433

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 2.6.3 Direct

Division d’un hypercube • Chaque division génère 2 hyperrectangles supplémentaires. Les hyperrectangles ont des côtés de longueur /3 ou .



Le meilleur point (ci1 ou ci1+) est au centre de l’un des 2 hyperrectangles les plus grands (première division).

Division d’un hyperrectangle • Les côtés d’un hyperrectangle sont soit de longueur /3 soit de longueur  •

/3

On obtient après les divisions suivant les n directions : - 2n hyperrectangles de centres ci , ci+ pour i=1 à n. - 1 hypercube central de centre c0 et de côté /3

/3

ou Meilleur point (valeur i1 minimale)

→ p côtés → 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 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 2.6.3 Direct

Division des hyperrectangles •

Première itération Hypercube initial Evaluation au centre = 9

Evaluations suivant e1,e2 Meilleure évaluation = 2 → suivant e2

Division suivant e2 puis suivant e1 → 5 hyperrectangles

6

6

e2 9

5

9

2

e1

8

5

9

8

2

435

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 2.6.3 Direct

Division des hyperrectangles •

Deuxième itération 1 hyperrectangle sélectionné (potentiellement optimal)

Evaluations suivant e1 (plus grand côté)

6

Division suivant e1 → 7 hyperrectangles

6

6

e2 5

8

9

2

e1

5

9

8

5

9

8

3

2

6

3

2

6

436

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 2.6.3 Direct

Division des hyperrectangles •

Troisième itération 1 hyperrectangle sélectionné et 1 hypercube sélectionné (potentiellement optimaux)

6

Evaluations suivant e1 (plus grand côté) Evaluations suivant e1,e2 Meilleure évaluation = 1 → suivant e1

Division suivant e1 Division suivant e1 puis suivant e2 → 13 hyperrectangles

7

6

9

7

6

9

5

9

8

5

9

8

3

3 2 1 4

3

3 2 1 4

6

e2 5

3

8

9

6

2

e1

5

6

5

437

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Techniques d’optimisation

Max CERF 2018

2.6.3 Direct Dimension des hyperrectangles • On suppose que le domaine de recherche initial D0 est un hypercube de côté 0. On peut toujours se ramener à cette situation par une mise à l’échelle sur les variables. a i  x i  bi  0  x i '  0

avec x i '   0

xi  ai 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 .

- norme 2 :

Dj

 Dj

- norme  : D j

2



n

 ( ) i 1

i

2



p

 ( i 1

/3

) 

n

 (

i  p 1

0

/ 3k ) 2  p( 0 / 3k 1 ) 2  (n  p)( 0 / 3k ) 2

p 8  ( n  p )   0 / 3k n  p 9 9

2

  0 / 3k



 max i   0 / 3k i 1à n

0

k 1 2

→ longueur du plus grand côté

438

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Max CERF 2018

Techniques d’optimisation 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

- dj est la demi-dimension de l’hyperrectangle

→ dj 

1 Dj 2

f j  Kd j  f i  Kd i , i f j  Kd j  f min   f min

Dj est potentiellement optimal si K  0 

norme 2 ou 

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 2.6 Méthodes sans gradient 2.6.3 Direct

Techniques d’optimisation

Max CERF 2018

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,367 0,100 -0,167 -0,370 y/x

0,883 1,346 0,413 1,346 0,883 -0,419

1,190 1,654 0,720 1,654 1,190 -0,161

0,470 0,933 0,000 0,933 0,470 0,200

1,190 1,654 0,720 1,654 1,190 0,561

0,883 1,346 0,413 1,346 0,883 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 2.6 Méthodes sans gradient 2.6.3 Direct

Techniques d’optimisation

Max CERF 2018

2.6.3 Exemple Itération 1 : Division de l’hypercube initial x -0,667 0,667 0,000 0,000 0,000

y 0,000 0,000 -0,667 0,667 0,000

f 1,440 0,907 2,400 1,207 0,729

La fonction est évaluée : 2 3 2 - suivant y en : y  0  3

- suivant x en : x  0 

La meilleure valeur est suivant x. → en orange L’hypercube est divisé suivant x, puis suivant y. → 5 hyperectangles.

441

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Techniques d’optimisation

Max CERF 2018

2.6.3 Exemple Itération 1 : 5 hyperrectangles x mid y mid -0,667 0,000 0,667 0,000 0,000 -0,667 0,000 0,667 0,000 0,000

dx 0,333 0,333 0,333 0,333 0,333

dy 1,000 1,000 0,333 0,333 0,333

d max 1,000 1,000 0,333 0,333 0,333

fmid 1,440 0,907 2,400 1,207 0,729

fb K 1,174 0,640 0,267 2,311 1,118 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 :

Vert :

meilleur hyperrectangle parmi ceux de même dimension 2 hyperrectangles sélectionnés donnant le minorant le plus bas → potentiellement optimaux

442

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Techniques d’optimisation

Max CERF 2018

2.6.3 Exemple Itération 2 : 11 hyperrectangles x mid y mid -0,667 0,000 0,000 -0,667 0,000 0,667 0,667 -0,667 0,667 0,667 0,667 0,000 -0,222 0,000 0,222 0,000 0,000 -0,222 0,000 0,222 0,000 0,000

dx 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111

dy 1,000 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111

d max 1,000 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111

fmid 1,440 2,400 1,207 2,577 1,385 0,907 0,975 0,303 1,287 0,849 0,729

fb K -0,265 1,705 1,831 0,639 2,009 0,817 0,338 0,407 -0,265 -1,915 1,499 1,061 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 2.6 Méthodes sans gradient 2.6.3 Direct

Techniques d’optimisation

Max CERF 2018

2.6.3 Exemple Itération 3 : 15 hyperrectangles x mid y mid 0,000 -0,667 0,000 0,667 0,667 -0,667 0,667 0,667 0,667 0,000 -0,222 0,000 -0,667 -0,667 -0,667 0,667 -0,667 0,000 0,000 -0,222 0,000 0,222 0,222 -0,222 0,222 0,222 0,222 0,000 0,000 0,000

dx 0,333 0,333 0,333 0,333 0,333 0,111 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111

dy 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111

d max 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111

fmid 2,400 1,207 2,577 1,385 0,907 0,975 3,111 1,918 1,440 1,287 0,849 0,861 0,423 0,303 0,729

fb K 1,494 0,302 1,672 0,480 0,002 2,715 0,070 2,205 1,013 0,535 0,985 0,547 0,559 0,121 0,002 0,942

444

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Techniques d’optimisation

Max CERF 2018

2.6.3 Exemple Itération 4 : 23 hyperrectangles x mid 0,000 0,000 0,667 0,667 -0,222 -0,667 -0,667 -0,667 0,444 0,889 0,667 0,667 0,667 0,000 0,000 0,222 0,222 0,000 0,222 0,222 0,148 0,296 0,222

y mid -0,667 0,667 -0,667 0,667 0,000 -0,667 0,667 0,000 0,000 0,000 -0,222 0,222 0,000 -0,222 0,222 -0,222 0,222 0,000 -0,074 0,074 0,000 0,000 0,000

dx 0,333 0,333 0,333 0,333 0,111 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,037 0,037 0,037

dy 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,037 0,037 0,037 0,037 0,037

d max 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,037 0,037 0,037

fmid 2,400 1,207 2,577 1,385 0,975 3,111 1,918 1,440 0,857 0,778 1,464 1,026 0,907 1,287 0,849 0,861 0,423 0,729 0,699 0,029 0,334 0,421 0,303

fb K 1,277 0,085 1,455 0,263 -0,147 1,989 0,796 0,318 -0,265 -0,345 3,366 1,090 0,652 0,533 0,913 0,475 0,487 0,049 0,355 0,325 -0,345 -3,699 0,471 0,558 0,440

445

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Techniques d’optimisation

Max CERF 2018

2.6.3 Exemple Itération 5 : 27 hyperrectangles x mid 0,000 0,000 0,667 0,667 -0,222 -0,667 -0,667 -0,667 0,444 0,667 0,667 0,667 0,000 0,000 0,222 0,222 0,000 0,222 0,889 0,889 0,889 0,148 0,296 0,148 0,296 0,222 0,222

y mid -0,667 0,667 -0,667 0,667 0,000 -0,667 0,667 0,000 0,000 -0,222 0,222 0,000 -0,222 0,222 -0,222 0,222 0,000 -0,074 -0,222 0,222 0,000 0,000 0,000 0,074 0,074 0,074 0,000

dx 0,333 0,333 0,333 0,333 0,111 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,037 0,037 0,037 0,037 0,037 0,037

dy 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,037 0,111 0,111 0,111 0,037 0,037 0,037 0,037 0,037 0,037

d max 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,037 0,037 0,037 0,037 0,037 0,037

fmid 2,400 1,207 2,577 1,385 0,975 3,111 1,918 1,440 0,857 1,464 1,026 0,907 1,287 0,849 0,861 0,423 0,729 0,699 1,335 0,897 0,778 0,334 0,421 0,060 0,147 0,029 0,303

fb K 1,749 0,556 1,926 0,734 0,325 2,460 1,268 0,789 0,206 1,953 1,247 0,809 0,690 1,070 0,632 0,644 -0,167 5,313 0,512 0,109 0,745 0,307 0,187 0,471 0,558 -0,137 -0,050 K -0,167 0,107

446

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Techniques d’optimisation

Max CERF 2018

2.6.3 Exemple Itération 6 : 35 hyperrectangles x mid 0,000 0,000 0,667 0,667 -0,222 -0,667 -0,667 -0,667 0,444 0,667 0,667 0,667 0,000 0,000 0,222 0,000 0,222 0,889 0,889 0,889 0,222 0,222 0,148 0,296 0,222 0,148 0,296 0,148 0,296 0,222 0,222 0,222 0,198 0,247 0,222

y mid -0,667 0,667 -0,667 0,667 0,000 -0,667 0,667 0,000 0,000 -0,222 0,222 0,000 -0,222 0,222 -0,222 0,000 -0,074 -0,222 0,222 0,000 0,148 0,296 0,222 0,222 0,222 0,000 0,000 0,074 0,074 0,000 0,049 0,099 0,074 0,074 0,074

dx 0,333 0,333 0,333 0,333 0,111 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,012 0,012 0,012

dy 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,037 0,111 0,111 0,111 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,012 0,012 0,012 0,012 0,012

d max 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,012 0,012 0,012

fmid 2,400 1,207 2,577 1,385 0,975 3,111 1,918 1,440 0,857 1,464 1,026 0,907 1,287 0,849 0,861 0,729 0,699 1,335 0,897 0,778 0,083 0,796 0,454 0,540 0,423 0,334 0,421 0,060 0,147 0,303 0,090 0,007 0,022 0,053 0,029

fb 1,238 0,046 1,416 0,224 -0,186 1,949 0,757 0,279 -0,304 1,077 0,639 0,520 0,900 0,462 0,474 0,342 0,312 0,948 0,510 0,390 -0,304 0,409 0,416 0,503 0,385 0,137 0,224 0,197 0,284 0,107 0,053 -0,031 0,030 0,061 0,037

3,484

1,021

-0,623

447

2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct

Techniques d’optimisation

Max CERF 2018

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 1 2 3 4 5 6

x 0,000 0,222 0,222 0,222 0,222 0,222

y 0,000 0,000 0,000 0,074 0,074 0,099

f 0,729 0,303 0,303 0,029 0,029 0,007

448

3

Optimisation avec contraintes

Techniques d’optimisation

Max CERF 2018

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

Techniques d’optimisation

Max CERF 2018

3 Optimisation avec contraintes Problème non linéaire sous contraintes

c (x)  0 min f(x) sous  E xR c I (x)  0 n

Catégories de problèmes • Programmation linéaire • Programmation non linéaire Traitement des contraintes • Méthodes de contraintes actives

 Problème noté (PO)

 Fonctions f, cE, cI linéaires  Fonctions f, cE, cI quelconques  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 2018

Techniques d’optimisation 3 Optimisation avec contraintes

Problème non linéaire sous contraintes

c E (x)  0 minn f(x) sous   xR c I (x)  0

 Problème noté (PO)

Classification des méthodes

Problème traité Objectif

Méthode primale

Méthode primale-duale

Méthode duale

problème primal

problème primal

problème dual

min f

solution KKT

max w

- méthode directe - point stationnaire

- méthode indirecte - point stationnaire

- méthode indirecte - point col

Itérations

admissibles

admissibles ou non

non admissibles

Variables

primales x

primales x , duales 

primales x , duales 

Algorithmes

- simplexe (LP) - gradient projeté - pénalisation

- point intérieur (LP, NLP) - séquentiel quadratique

- simplexe dual (LP) - lagrangien augmenté - Uzawa

451

3 Optimisation avec contraintes 3.1 Simplexe

Techniques d’optimisation

Max CERF 2018

Sommaire 1. 2.

Bases théoriques 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. 5.

Optimisation discrète Optimisation fonctionnelle

452

3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire

Techniques d’optimisation

Max CERF 2018

3.1.1 Problème linéaire  Forme standard  Solution

 Recherche systématique  Recherche optimisée  Forme canonique

453

3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire

Techniques d’optimisation

Max CERF 2018

3.1.1 Problème linéaire Problème linéaire sous forme standard

Ax  b min c T x sous   x x  0

A  R m n , b  R m , c  R n rang(A)  m

 problème noté (PL)

Rappels • Base B = (Aj1 , … , Ajm) = m colonnes indépendantes de A  B inversible AE = (B N) avec E = matrice de permutation de colonnes (EET = I)

xB  m  B -1b  Ax  b   x  E  avec   x  E  0 x N  0 xN  n  m   admissible (ou réalisable) si x B  B 1b  0



Solution de base :



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  composantes nulles sauf =1 sur la composante j E e  d  jN j    jN    T 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 Coût réduit négatif  direction de descente

454

3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire

Max CERF 2018

Techniques d’optimisation 3.1.1 Solution

Problème linéaire sous forme standard

Ax  b min c T x sous  x x  0

A  R m n , b  R m , c  R n 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* T On considère un sommet x* du polytope Q inclus dans P : Q  x  P / c x  f * 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 La fonction linéaire est minimale en * : 0    1

 ( *)  c T x*  f * 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 3.1 Simplexe 3.1.1 Problème linéaire

Techniques d’optimisation

Max CERF 2018

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 :  Solution de base admissible :

B inversible et B-1b0

x  1  x  E B   E B b   0 xN  0  f  c T x  c TB x B  c TN x N  c TB x B



Valeur du coût associé à la base B :



Sélection de la meilleure solution (f minimal)

Inconvénient

C mn 

n! combinaisons possibles  inapplicable en pratique m!(n  m)!

456

3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire

Max CERF 2018

Techniques d’optimisation 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 x1 , x 2 , x 3 , x 4 x 1 , x 2 , x 3 , x 4  0 •

1

C

x1+x2=1

Représentation graphique dans R2

 x P'   1   x 2 

x  x 2  1 x 1  0  /  1 ,   x  x  1 2  1  x 2  0



Solution graphique : point C (f = 2)



Solution par énumération des sommets Base

x

x1,x2

(1 0 0 0)  B (1 0 0 0)  B

x1,x3

P

0

1

1

x2,x4

Non admissible 2

x3,x4

(0 0 1 1)  A

0

x2,x3

B x1

f 1

(1 0 0 0)  B (0 1 2 0)  D (0 1 0 2)  C

x1,x4

A

x1x2=1

1

D

457

3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire

Techniques d’optimisation

Max CERF 2018

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 3.1 Simplexe 3.1.1 Problème linéaire

Techniques d’optimisation

Max CERF 2018

3.1.1 Forme canonique Réduction dans la base B •

Forme standard :

Ax  b min c T x sous   x x  0



Base B :

x m AE  B N , x  E B  xN  n  m



Réduction aux variables hors base

A  R m n , b  R m , c  R n rang(A)  m

Ax  Bx B  Nx N  T T T c x  c B x B  c N x N

1 1 Ax  b  min c T x  c T x sous Bx B  Nx N  b  x B  B b  B Nx N  min c x sous  B B N N x B R m x x B  0 , x N  0 x  0 n -m x N R x B  B 1b  B 1 Nx N  0 T 1 T T 1  minnm c B B b  c N  c B B N x N sous  x N R x N  0 T







Forme canonique dans la base B

min z  c NT x N sous x B  b  B 1 Nx N  0

x N R n m x N 0

b  B 1b  avec z  c TB b c NT  c TN  c TB B 1 N 

 Réduction à n-m variables = variables hors-base xN

459

3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire

Max CERF 2018

Techniques d’optimisation 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

minnm z  c NT x N sous x B  b  B1 Nx N  0



Forme canonique dans B :



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



Variation du coût :

x N R x N 0

z( x N )  z  c NT x N  z   c j x j  jN

z  cj 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 3.1 Simplexe 3.1.2 Déplacement

Techniques d’optimisation

Max CERF 2018

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 3.1 Simplexe 3.1.2 Déplacement

Techniques d’optimisation

Max CERF 2018

3.1.2 Règles de déplacement Notations • Matrices : • Par extension : •

B, N = matrice de base et hors base AE = (B N) B, N = numéros des variables de base xB et hors base xN

x  Solution de base associée à B : E T x   B  xN 

Ax  b  Bx B  b avec  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    limite le déplacement x B  d eB  0 •

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

462

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

Max CERF 2018

Techniques d’optimisation 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   



Si la composante d eBi est négative, le pas est borné par :

i 

xi  d eBi

(annulation de xi)

Déplacement maximal On note s le numéro de la 1ère variable de base xi qui s’annule suivant la direction de.  Le pas maximal admissible suivant la direction de est :  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 3.1 Simplexe 3.1.2 Déplacement

Max CERF 2018

Techniques d’optimisation 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  d  E T d e   eB  avec  T 0  E e  d   d eN  e   eN 

 pour vérifier Ax=b  composantes nulles sauf =1 sur la composante e



Le nouveau point x’ = x + sde est admissible car : - la direction de est admissible - le pas s respecte les contraintes x’0



Variables



si j  e  0 si j  e  0 car d eB  j  Variables hors base xj, jN : x j '  x j   s d eB  j    s  0 si j  e  1 si j  e

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

 car s   par construction du pas s

Nouvelle base •

Nouvelles variables hors base :

x j '  0 pour j  N  e  N'  N  e  s x '  0 pour i  s  s



Nouvelles variables

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

de base :

464

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

Techniques d’optimisation

Max CERF 2018

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

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 3.1 Simplexe 3.1.2 Déplacement

Techniques d’optimisation

Max CERF 2018

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 3.1 Simplexe 3.1.2 Déplacement

Max CERF 2018

Techniques d’optimisation 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 3.1 Simplexe 3.1.2 Déplacement

Techniques d’optimisation

Max CERF 2018

3.1.2 Formules de pivotage Forme canonique On écrit le problème sous forme canonique dans la base B. •

Formulation matricielle

minnm z  c NT x N sous x B  b  B1 Nx N  0

x N R x N 0



b  B 1b  avec z  c TB b c NT  c TN  c TB B 1 N 

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

min z   c j x j sous x i  bi   a ij x j  0 , i  B x N 0

jN

jN

b  B -1b B -1 N  (a ) ij i B, jN  noté avec z   c i bi  iB c j  c j   c i a ij , j  N  iB

468

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

Max CERF 2018

Techniques d’optimisation 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 jN

x i  bi   a ij x j , i  B jN

 Expression en fonction des variables xj, jN •

Forme canonique dans la base B’ :

z  z '  c j ' x j jN'

x i  bi '  a ij ' x j , i  B' 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 3.1 Simplexe 3.1.2 Déplacement

Techniques d’optimisation

Max CERF 2018

3.1.2 Formules de pivotage Expression de xe en fonction de xs •

xs est dans l’ancienne base B :

x s  bs   a sj x j  bs  a se x e  jN



xe est dans la nouvelle base B’ :

i=sB

 x s  bs   a sj x j jN

 a sj x j

jN e

i=eB’

 xe 

a sj bs 1  xs   xj a se a se a jN e se

 x e  b e '  a ej ' x j jN '

En identifiant les coefficients :

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

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

470

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

Techniques d’optimisation

Max CERF 2018

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 a sj  1  x i  bi  a ie x e   a ij x j  bi  a ie  bs  xs   x j    a ij x j a se jN e jN e a se  a se  jN e

 x i  bi 



  a ie a a bs  ie bs x s    a ij  ie a sj  x j a se a se a se  jN e 

xi reste dans la nouvelle base B’ : iB’

En identifiant les coefficients :



x i  bi '  a ij ' x j jN '

 a ie b '  b  bs  i i a se  a  ie  js a is '   a se  a '  a  a ie a  j  N  e ij sj  ij a se 

471

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

Techniques d’optimisation

Max CERF 2018

3.1.2 Formules de pivotage Expression du coût •

Dans l’ancienne base B :

z  z   c jx j jN

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

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

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

En identifiant les coefficients :

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

472

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

Techniques d’optimisation

Max CERF 2018

3.1.2 Formules de pivotage Récapitulatif • Nouvelles variables de base : iB’=Bs+e

 b be '  s a se  1  i  e  a es '   js a se  a sj  a '   j  N  e  ej a se  •

Nouveau coût

 a ie bs bi '  bi  a se  a  i  B  s  a is '   ie  js a se  a '  a  a ie a  j  N  e ij sj  ij a se 

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

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

473

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

Max CERF 2018

Techniques d’optimisation 3.1.2 Méthode des tableaux

Tableau du simplexe • On écrit le problème sous 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  La solution de base associée à B est : x N  0 z  z

b  B 1b  avec z  c TB b c NT  c TN  c TB B 1 N 

x1





B 1A b Le tableau du simplexe est : T  cT z

x

j

xn

B 1A1  B 1A j  B 1A n  c1  cj  cn

Aj = jème colonne de A AE = (B N) avec E = matrice de permutation de colonnes  B1A = (I 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

xB  c TB x B

B1N) ET

474

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

Max CERF 2018

Techniques d’optimisation 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

x1

 1n

c BT  0 T T 1 c  c  cBB A   T T T 1 c N  c N  c B B N •

T(1:m,n+1) : Solution de base  m1

 x  b x   B     xN  0 •

T(m+1,n+1) : Opposé du coût  11

 z   z   c BT b





xj 



B 1A1  B 1A j    c1  cj 

xB I T 0

xN B1 N b c NT  z

xn  B 1A n  cn

b1  bm z

 x B  B1 Nx N  b  c NT x N  z  z

475

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

Techniques d’optimisation

Max CERF 2018

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 x i  bi  a ie x e , i  B

s’annule pour :

xe 

bi a ie  ligne s



La première variable de base à s’annuler sort de la base



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 3.1 Simplexe 3.1.2 Déplacement

Max CERF 2018

Techniques d’optimisation 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      c1

 x e  a 1e   a se   a me  ce

 x n   b1     bs     b m  c n  z

x1      c1 '

 x e  0   1   0  0

 x n          c n '

b1 '  bs '  bm '  z'

477

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

Techniques d’optimisation

Max CERF 2018

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) , i  B, si T(i, e)  0 • Pas maximal admissible pour chaque variable de base :  i  T(i, e) •

 s  min  i

Variable de base sortante xs :

iB T (i,e) 0

2. Réalisation du pivotage • Pivot = T(s,e)



Lignes i=1,…,m+1, is

T(i, k )  T(i, k ) 



Ligne s du pivot

T(s, k ) 

T(i, e) T(s, k ) , k  1,, n  1 T(s, e)

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 3.1 Simplexe 3.1.2 Déplacement

Techniques d’optimisation

Max CERF 2018

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 x1 , x 2 , x 3  1 x 1 , x 2 , x 3  0 •

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

min

x1 , x 2 , x 3 , x 4 , x 5 , x 6

 x 1  2x 2  2x 3  x 4  20 2x  x 2  2x 3  x 5  20  10x 1  12x 2  12x 3 sous  1 2x  2x 2  x 3  x 6  20  1 x 1 , x 2 , x 3 , x 4 , x 5 , x 6  0

479

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

Techniques d’optimisation

Max CERF 2018

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

2

1

2

0

1

0

20

x5

2

2

1

0

0

1

20

x6

-10

-12

-12

0

0

0

0

-z

Base initiale admissible (x4 , x5 , x6)



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



Variable entrante :

1er coût réduit négatif

 x1



Variable sortante :

1ère variable de base à s’annuler

 x5



Pivot : a 51  2

480

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

Max CERF 2018

Techniques d’optimisation 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

1

0.5

1

0

0.5

0

10

x1

0

1

-1

0

-1

1

0

x6

0

-7

-2

0

5

0

100

z

Nouvelle base (x1 , x4 , x6)

481

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

Max CERF 2018

Techniques d’optimisation 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

1

0

1.5

0

1

-0.5

10

x1

0

1

-1

0

-1

1

0

x2

0

0

-9

0

-2

7

100

z

Nouvelle base (x1 , x2 , x4)

482

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

Max CERF 2018

Techniques d’optimisation 3.1.2 Exemple

Méthode des tableaux • 3ème pivotage : entrée x3, sortie x4



x1

x2

x3

x4

x5

x6

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

1

0

0

-0.6

0.4

0.4

4

x1

0

1

0

0.4

-0.6

0.4

4

x2

0

0

0

3.6

1.6

1.6

136

z

Solution optimale :

c0

Pas

Nouvelle base (x1 , x2 , x3)

x*  4 4 4 0 0 0T  z*  136

483

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

Max CERF 2018

Techniques d’optimisation 3.1.2 Exemple

Méthode des tableaux Récapitulatif des itérations k

B

c

x1

x2

x3

x4

x5

x6

0

4 5 6

-10

-12

1

1 4 6

-7

2

1 2 4

3

1 2 3

dB

smax

e

s

z

-12

0

0

0

20

20

20

-1

-2

-2

10

1

5

0

-2

5

10

0

0

10

0

0

-1.5

-0.5

-1

0

2

6

-100

-9

-2

7

10

0

0

10

0

0

-2.5

-1.5

1

4

3

4

-100

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 3.1 Simplexe 3.1.3 Initialisation

Techniques d’optimisation

Max CERF 2018

3.1.3 Initialisation  Problème auxiliaire  Tableau initial

 Méthode des 2 phases

485

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

Techniques d’optimisation

Max CERF 2018

3.1.3 Problème auxiliaire Base initiale Le problème (PL) sous forme standard est :

Ax  b min c T x sous  xR x  0 n

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 m yR



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 3.1 Simplexe 3.1.3 Initialisation

Max CERF 2018

Techniques d’optimisation 3.1.3 Problème auxiliaire

Problème auxiliaire Le problème auxiliaire (PLa) est sous forme standard :

Ax  y  b min 0 T x  e T y sous  xR x , y  0 n

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 3.1 Simplexe 3.1.3 Initialisation

Techniques d’optimisation

Max CERF 2018

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  Ax 0  y 0  b  x 0 , y 0  0

 y 0  0 Ax 0  b x 0  0

 contraintes du problème (PL)

Par contraposée, si le coût optimal de (PLa) n’est pas nul, (PL) n’a pas de point admissible. Variables auxiliaires • Les variables y sont nulles à l’optimum. Elles sont : - soit hors base - soit en base (solution dégénérée) •

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



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

488

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

Techniques d’optimisation

Max CERF 2018

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

min

x1 , x 2 , x 3 , x 4



3  x 1  2x 2  3x 3  x 1  2 x 2  6 x 3 2  x 1  x 2  x 3 sous  4x 2  9x 3 5  3x 3  x 4  1 x 1 , x 2 , x 3 , x 4  0

Problème auxiliaire  Variables auxiliaires y1, y2, y3 ,y4 positives

min

x1 , x 2 , x 3 , x 4 y1 , y 2 , y 3 , y 4

 y1 3  x 1  2x 2  3x 3  x 1  2 x 2  6 x 3  y2 2  y1  y 2  y 3  y 4 sous  4x 2  9x 3  y3 5  3x 3  x 4  y4  1 x 1 , x 2 , x 3 , x 4 , y1 , y 2 , y 3 , y 4  0

489

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

Techniques d’optimisation

Max CERF 2018

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 3.1 Simplexe 3.1.3 Initialisation

Techniques d’optimisation

Max CERF 2018

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 3.1 Simplexe 3.1.3 Initialisation

Techniques d’optimisation

Max CERF 2018

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 3.1 Simplexe 3.1.3 Initialisation

Techniques d’optimisation

Max CERF 2018

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 3.1 Simplexe 3.1.3 Initialisation

Techniques d’optimisation

Max CERF 2018

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 3.1 Simplexe 3.1.3 Initialisation

Techniques d’optimisation

Max CERF 2018

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 3.1 Simplexe 3.1.3 Initialisation

Max CERF 2018

Techniques d’optimisation 3.1.3 Tableau initial

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

Le tableau correspondant à la solution de (PLa) est :   valeurs à modifier pour passer au problème (PL)

Tableau initial du problème (PL) Pour construire le tableau du simplexe du problème (PL) • On supprime les colonnes correspondant aux variables y : •

xB

xN

y

I

B-1N



B-1b

xB

0







-z

xB

xN

I

B-1N

B-1b

xB

0





-z

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

1

z  c TB B 1b

On calcule le coût dans la base B :

Pour faciliter les calculs, on rappelle les coûts sur la 1ère ligne. cB

cN

I

B-1N

B-1b

0

cNcBTB-1N

cBTB-1b

xB

xN

xB

I

B-1N

B-1b

xB

-z

0

cN

-z

-z

496

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

Max CERF 2018

Techniques d’optimisation 3.1.3 Méthode des 2 phases

Prétraitement • Mettre le problème sous forme standard • Prémultiplier les contraintes (2nd membre positif) Phase 1 : Problème auxiliaire • Introduire une variable auxiliaire y par contrainte

Ax  b, b  0 min c T x sous  xR x  0 n

Ax  y  b minn 0 T x  e T y sous  xR x , y  0 m yR

x

y

A

I

b

y

-eTA

0

-eTb

-z



Construire le tableau initial du problème auxiliaire

• • • •

Résoudre le problème auxiliaire Faire sortir les variables auxiliaires de la base Supprimer les contraintes redondantes (pivots tous nuls sur une ligne) Supprimer les colonnes correspondant aux variables auxiliaires y  Base ne contenant que des variables x

Phase 2 : Problème initial • Calculer la dernière ligne du tableau (coûts réduits, coût) • Résoudre le problème initial

xB

xN

I

B-1N

B-1b

y

0

cNcBTB-1N

cBTB-1b

-z

497

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

Techniques d’optimisation

Max CERF 2018

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

min

x1 , x 2 , x 3 , x 4 , x 5



 4x 4  x 5  2  x 1  3x 2  x  2x 2  3x 4  x 5  2 2x 1  3x 2  3x 3  x 4  2x 5 sous  1  x  4x 2  3x 3 1  1 x 1 , x 2 , x 3 , x 4 , x 5  0

Problème auxiliaire  Variables auxiliaires y1, y2, y3 positives

min

x1 , x 2 , x 3 , x 4 , x 5 y1 , y 2 , y 3

y1  y 2  y 3

 4 x 4  x 5  y1 2  x 1  3x 2  x  2x 2  3x 4  x 5  y2 2 sous  1  x  4x 2  3x 3  y3  1  1  x 1 , x 2 , x 3 , x 4 , x 5 , y1 , y 2 , y 3  0

498

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

Techniques d’optimisation

Max CERF 2018

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 3.1 Simplexe 3.1.3 Initialisation

Techniques d’optimisation

Max CERF 2018

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 3.1 Simplexe 3.1.3 Initialisation

Techniques d’optimisation

Max CERF 2018

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 3.1 Simplexe 3.1.3 Initialisation

Techniques d’optimisation

Max CERF 2018

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 3.1 Simplexe 3.1.3 Initialisation

Techniques d’optimisation

Max CERF 2018

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). c=

x1

x2

x3

x4

x5

2

3

3

1

-2

1

0

0

-17

1

2

x1

0

1

0

7

0

0

x2

0

0

1

3.67

1/3

1

x3

0

0

0

3

-5

-7

-z

coûts réduits = cNcBTB-1N coût =cBTB-1b

503

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

Techniques d’optimisation

Max CERF 2018

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 3.1 Simplexe 3.1.3 Initialisation

Techniques d’optimisation

Max CERF 2018

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

Solution optimale : c  0

T   x*  0 0 1 / 3 0 2 z*  3

505

3 Optimisation avec contraintes 3.1 Simplexe 3.1.4 Simplexe révisé

Techniques d’optimisation

Max CERF 2018

3.1.4 Simplexe révisé  Itération du simplexe  Réduction des calculs

506

3 Optimisation avec contraintes 3.1 Simplexe 3.1.4 Simplexe révisé

Techniques d’optimisation

Max CERF 2018

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

Multiplicateurs :



Forme canonique dans la base B :



Solution de base associée à B :

Ax  b   min c T x sous  xR x  0  s n

  B  T c B T  1 s  c  B N cB  cN N  N





min z  z  c NT x N sous x B  b  B 1 Nx N  0 x N 0

x B  b  x N  0 z  z

b  B 1b  avec z  c TB b c NT  c TN  c TB B 1 N 

507

3 Optimisation avec contraintes 3.1 Simplexe 3.1.4 Simplexe révisé

Max CERF 2018

Techniques d’optimisation 3.1.4 Simplexe révisé

Itération du simplexe • On connaît les colonnes de A correspondant à la base courante admissible  matrice B Pour réaliser une itération du simplexe, on doit déterminer : - la solution de base courante - les coûts réduits des variables hors base pour choisir la variable entrante - les pas maximaux sur les variables de base pour choisir la variable sortante •

Solution de base :



Coûts réduits :

x B  b  B 1b x  0  N c NT  c TN  c TB B 1 N  c TN  T N

 Bx B  b  B  c B

On choisit la variable hors base entrante xe (coût réduit négatif)  colonne Ae de la matrice A •

 Bd eB  A e d eB  B 1A e  d eB  avec  Direction de base de : d e     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 3.1 Simplexe 3.1.4 Simplexe révisé

Techniques d’optimisation

Max CERF 2018

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   B  c B Bd  A e  eB

 xB    d eB

 cN  x e  xs

 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 3.1 Simplexe 3.1.5 Simplexe dual

Techniques d’optimisation

Max CERF 2018

3.1.5 Simplexe dual  Problème dual  Forme canonique

 Tableau dual  Pivotage  Comparaison simplexe primal  dual  Exemple

510

3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual

Max CERF 2018

Techniques d’optimisation 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 )



Correspondances primal (P)  dual (D) :

min c T x

1

max b T y

Ax  b Ax  b x0 x R

m m n n

yR y0 AT y  c AT y  c

xR

Le tableau est utilisable dans les 2 sens : de (P) vers (D) ou de (D) vers (P) car le dual de (D) est (P).



Dual (D)

n

y

Forme canonique de (P) dans la base B 1  min z  z  c NT x N sous x B  B Nx N  b x N 0 x  0

b  B 1b  avec z  c TB b 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 3.1 Simplexe 3.1.5 Simplexe dual

Techniques d’optimisation

Max CERF 2018

3.1.5 Simplexe dual Forme canonique du dual • On part de la forme canonique du problème primal (P) dans la base B.

(P) •

 m contraintes  n variables

T N

min c x N xN

B 1 Nx N  b sous  x N  0

 m contraintes  nm variables

On écrit (P’) comme un problème de maximisation, pour obtenir un problème de minimisation en passant au dual.

(P' ) •

x B ,x N

x B  B 1 Nx N  b sous  x B , x N  0

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.

(P' ) •

min z  c x N T N

max  c x N xN

T N

B 1 Nx N  b sous  x N  0

 m contraintes  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 3.1 Simplexe 3.1.5 Simplexe dual

Techniques d’optimisation

Max CERF 2018

3.1.5 Simplexe dual Forme canonique du dual • Le dual (D’) de (P’) s’écrit :

(P' )

( D' ) •

xN

T

min b y B yB

B 1 Nx N  b sous  x N  0





 B 1 N T y   c B N sous  y B  0

 m contraintes  nm variables  nm contraintes  m variables

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

( D) •

max  c x N T N

T

min b y B

yB ,yN





 y  B 1 N T y  c  nm contraintes B N sous  N  n variables y B , y N  0

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 3.1 Simplexe 3.1.5 Simplexe dual

Max CERF 2018

Techniques d’optimisation 3.1.5 Simplexe dual

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

B







 y  B 1 N T y  c  nm contraintes B N (D) min b y B sous  N y ,y  n variables y B , y N  0 yN yB I  (B 1 N) T Tableau TD du simplexe de (D) dans la base B : TD  0 b T

N

c NT z

cN Variables de base : yN  valeurs Variables hors base : yB  coûts réduits b T Matrice des contraintes : A  (B1N)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 3.1 Simplexe 3.1.5 Simplexe dual

Max CERF 2018

Techniques d’optimisation 3.1.5 Simplexe dual

Pivotage sur le tableau dual Les notations sont inversées par rapport au problème primal - indices B  variables hors base - indices N  variables de base

TD 

1. Choix du pivot • Variable hors base entrante ye = 1er coût réduit négatif

be  0 , e  B



Pas maximal admissible pour chaque variable de base :

i 



Variable de base sortante ys :

 s  min  i

Ligne s de la variable sortante :

yN I 0

yB  (B 1 N) T b

c NT z

c Ni , i  N, si  a ie  0  a ie iN a ie  0

s  N  min iN a ie  0

c Ni c  max Ni iN a  a ie ie a 0 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 3.1 Simplexe 3.1.5 Simplexe dual

Max CERF 2018

Techniques d’optimisation 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.

TD 

TP 

• •

yN I 0

yB  (B 1 N) T b

xB I 0

xN B 1 N c NT

c NT z

 nm contraintes  nm variables de base yN

b z

 m contraintes  m variables de base xB

Choisir la 1ère variable de base négative xe :

Déterminer la

1ère

be  0 , e  B

variable hors base xs à s’annuler : s  max jN a ej  0



c Nj a ej

 ligne e  variable sortante  colonne s  variable entrante

Effectuer le pivotage es de façon usuelle.

516

3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual

Max CERF 2018

Techniques d’optimisation 3.1.5 Simplexe dual

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

b0 cN  0

cN  0 L’algorithme du simplexe dual maintient une base dualadmissible : 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 3.1 Simplexe 3.1.5 Simplexe dual

Max CERF 2018

Techniques d’optimisation 3.1.5 Exemple

Simplexe dual • Problème linéaire à 5 variables x1,x2,x3,x4,x5

min

x1 , x 2 , x 3 , x 4 , x 5



x 1  x 2  1  x  x 3  x 5  0 x 1  2x 2  2x 3  3x 4  x 5 sous  2  x  x3  x4  0  1 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 x 5  0 x 4  1 • •

 1 1 0 0 0   La matrice des contraintes est : A   0  1  1 0 1   1 0 1 1 0  

 base non primal admissible

1   b  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 3.1 Simplexe 3.1.5 Simplexe dual

Techniques d’optimisation

Max CERF 2018

3.1.5 Exemple Simplexe dual • Problème linéaire à 5 variables x1,x2,x3,x4,x5

min

x1 , x 2 , x 3 , x 4 , x 5





x 1  x 2  1  x  x 3  x 5  0 x 1  2x 2  2x 3  3x 4  x 5 sous  2  x  x3  x4  0  1 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

-1

0

1

1

0

0

1

2

2

3

1

0

 contraintes

 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 3.1 Simplexe 3.1.5 Simplexe dual

Max CERF 2018

Techniques d’optimisation 3.1.5 Exemple

Simplexe dual x1

x2

x3

x4

x5

1

1

0

0

0

1

0

-1

-1

0

1

0

-1

0

1

1

0

1

2

2

3

1

x1

x2

x3

x4

x5

1

1

0

0

0

1

1

0

-1

0

1

1

-1

0

1

1

0

-1

0

2

3

1

x1

x2

x3

x4

x5

1

1

0

0

0

1

-1

0

1

0

-1

-1

0

0

0

1

1

1

0

0

3

3

x1

x2

x3

x4

x5

1

1

0

0

0

1

1

0

-1

0

1

1

0

-1

0

1

1

0

0

0

-1

0

2

3

1

-2

x1

x2

x3

x4

x5

1

1

0

0

0

1

-1

0

1

0

-1

-1

0

0

0

0

1

1

1

-2

1

0

0

3

3

0

x1

x2

x3

x4

x5

1

1

0

0

0

1

-1

0

1

0

-1

-1

1

0

0

0

1

1

1

0

1

0

0

0

0

-3

Elimination x2

Elimination x3

Elimination x4

520

3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual

Max CERF 2018

Techniques d’optimisation 3.1.5 Exemple

Simplexe dual • Tableau du simplexe dans la base (x2,x3,x4).

c=

x1

x2

x3

x4

x5

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  T 1  z   c B B b



On vérifie bien que la dernière ligne correspond à



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 3.1 Simplexe 3.1.5 Simplexe dual

Max CERF 2018

Techniques d’optimisation 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

-1

0

1

0

-1

-1

x3

0

0

0

1

1

1

x4

1

0

0

0

0

-3

-z

Base dualadmissible (x2,x3,x4)



Solution de base non optimale : variables de base négatives



Variable sortante : 1ère variable de base négative

 x3

be  0 , e  B



Variable entrante : 1er coût réduit à s’annuler

 x5

s  max



Pivot : a 35   1

jN a ej  0

c Nj a ej

522

3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual

Techniques d’optimisation

Max CERF 2018

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

1

0

-1

0

1

1

x5

-1

0

1

1

0

0

x4

1

0

0

0

0

-3

-z

Nouvelle base (x2,x4,x5) - primaladmissible - dualadmissible  optimale

b0 cN  0

Solution : x*  0 1 0 0 1 z*  3

523

3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique

Techniques d’optimisation

Max CERF 2018

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 3.1 Simplexe 3.1.6 Problème quadratique

Max CERF 2018

Techniques d’optimisation 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. •

Ax  b  0 1 Formulation du problème : minn x T Qx  c T x sous  xR 2 x  0



Lagrangien : L( x, , ) 

avec

Q  R nn , c  R n A  R m n , b  R m

1 T 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é





Ordre 1 :

Ordre 2 :

Qx  c  A T     0 Ax  b  0  x  0 ,   0  i 1 à n i x i  0 ,  j (Ax  b) j  0 , j  1 à m Q définie positive (problème convexe)

→ conditions de complémentarité

→ condition suffisante

525

3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique

Techniques d’optimisation

Max CERF 2018

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 Ax  b  0  x  0 ,   0  i 1 à n i x i  0 ,  j (Ax  b) j  0 , j  1 à m



On regroupe les variables en y=(x,) d’une part, et =(,r) d’autre part.  Q  AT  x  y    , G    0    A   c      ,     r  b





Qx  c  A T     0 Ax  b  r  x , r  0 ,   0  i x i  0 , i  1 à n  jrj  0 , j  1 à m

I  Gy     y,   0  y ii  0 , i  1 à n  m → conditions de complémentarité

 = 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). Le système en variables (y,) est sous forme canonique avec :

526

3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique

Techniques d’optimisation

Max CERF 2018

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    y,   0 



→ problème sous forme canonique dans la base formée des variables 

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 3.1 Simplexe 3.1.6 Problème quadratique

Techniques d’optimisation

Max CERF 2018

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 3.1 Simplexe 3.1.6 Problème quadratique

Techniques d’optimisation

Max CERF 2018

3.1.6 Exemple Exemple • Problème quadratique à 2 variables x1, x2 x  x 2  2 min  6x1  2x12  2x1x 2  2x 22 sous  1 x1 , x 2 x1 , x 2  0



→ multiplicateur  → 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  2 x 1  4 x 2     2  0 x  x  2 2 avec r  2  x1  x 2  0  1 1x1  0  2 x 2  0 ( x  x  2)  0 2  1 x1 , x 2 , , 1 ,  2  0  4  2   0 Ordre 2 :  2xx L    2 4  

 4x1  2x 2    1  6  2 x1  4 x 2     2  0  x  x r  2 1 2  1x1  0  2 x 2  0  r  0  x1 , x 2 , , 1 ,  2 , r  0

→ vérifié (valeurs propres = 2 et 6) → problème convexe

529

3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique

Max CERF 2018

Techniques d’optimisation 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

2

-4

-1

0

1

0

0

2

1

1

0

0

0

1

2

r1

Base initiale (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 (parmi 1 , 2 , r1)



Pivot : a  2 x1  2

→ pivotage standard

 2

complémentaire

avec x i  bi  a ie x e , i  B

530

3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique

Techniques d’optimisation

Max CERF 2018

3.1.6 Exemple Méthode du simplexe complémentaire • Pivotage standard : entrée x1, sortie 2



x1

x2

1

1

2

r1

-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

0

-6

-3

1

2

0

-6

1

1

-2

-1/2

0

1/2

0

0

x1

0

3

1/2

0

-1/2

1

2

r1

Pas

Base avant pivotage (1 , 2 , r1) complémentaire Base après pivotage (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 3.1 Simplexe 3.1.6 Problème quadratique

Techniques d’optimisation

Max CERF 2018

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

1

-2

-1/2

0

1/2

0

0

x1

0

3

1/2

0

-1/2

1

2

r1

Base avant pivotage (1 , x1 , r1) non complémentaire



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 (parmi 1 , x1 , r1)



Pivot :

a r1x 2  3

 r1

avec x i  bi  a ie x e , i  B

→ pivotage complémentaire

532

3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique

Techniques d’optimisation

Max CERF 2018

3.1.6 Exemple Méthode du simplexe complémentaire • Pivotage complémentaire : entrée x2, sortie r1



x1

x2

1

1

2

r1

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

0

0

-2

1

1

2

-2

1

1

0

-1/6

0

1/6

2/3

4/3

x1

0

1

1/6

0

-1/6

1/3

2/3

x2

Pas

Il faut restaurer la complémentarité sur (1 , r1) :

Base avant pivotage (1 , x1 , r1) non complémentaire Base après pivotage (1 , x1 , x2) non complémentaire

la variable r1 est sortie de la base. → la variable 1 doit entrer en base.

533

3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique

Techniques d’optimisation

Max CERF 2018

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

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 avant pivotage (1 , x1 , x2) non complémentaire



Base non complémentaire : variables 1 et r1 hors base



Variable entrante :

variable complémentaire de r1 (car r1 vient de sortir de la base)

 1



Variable sortante :

1ère variable de base à s’annuler (parmi 1 , x1 , x2)

 1



Pivot : a 11  2

→ pivotage complémentaire

avec x i  bi  a ie x e , i  B

534

3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique

Techniques d’optimisation

Max CERF 2018

3.1.6 Exemple Méthode du simplexe complémentaire • Pivotage complémentaire : entrée 1, sortie 1



x1

x2

1

1

2

r1

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

0

0

1

-1/2

-1/2

-1

1

1

1

0

0

-1/12 1/12

1/2

3/2

x1

0

1

0

1/12 -1/12

1/2

1/2

x2

Pas

La base (1 , x1 , x2) est complémentaire et positive

Base avant pivotage (1 , x1 , x2) non complémentaire Base après pivotage (1 , x1 , x2) complémentaire → base optimale

535

3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique

Techniques d’optimisation

Max CERF 2018

3.1.6 Exemple Solution • Problème quadratique à 2 variables x1, x2 x  x 2  2 min  6x1  2x12  2x1x 2  2x 22 sous  1 x1 , x 2 x1 , x 2  0



→ multiplicateur  → multiplicateurs 1 , 2

La base (1 , x1 , x2) est optimale (complémentaire et positive). 3 1 La solution de base associée est :  x1  , x 2  ,   1 2 2  

1  0



,  2  0 , r  0

Les conditions d’ordre 1 sont bien vérifiées :

→ variables de base → variables hors base

 6  4x1  2x 2    1  0  2 x 1  4 x 2     2  0 x  x  2 2  1 1x1  0  2 x 2  0 ( x  x  2)  0 2  1 x1 , x 2 , , 1 ,  2  0

536

3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique

Max CERF 2018

Techniques d’optimisation 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 3.2 Point intérieur

Techniques d’optimisation

Max CERF 2018

Sommaire 1. 2.

Bases théoriques 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. 5.

Optimisation discrète Optimisation fonctionnelle

538

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière

Techniques d’optimisation

Max CERF 2018

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 3.2 Point intérieur 3.2.1 Barrière

Max CERF 2018

Techniques d’optimisation 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 n • Ensemble des points admissibles : X adm  x  R / x  X, c E ( x )  0, c I ( x )  0 •

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, ~ xX / ~ x  x  adm

int

 hypothèses vérifiées dans le cas convexe (ensemble Xint et contraintes cE, cI)).

540

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière

Max CERF 2018

Techniques d’optimisation 3.2.1 Fonction barrière

Fonction barrière Une fonction B : Xint dans R est une fonction barrière si

lim

xX int , c I ( x )  0

B( x )  

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



Barrière inverse :

1 k 1 c Ik ( x )

B( x )   

a

x

541

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière

Techniques d’optimisation

Max CERF 2018

3.2.1 Méthode barrière Méthode barrière La méthode barrière consiste à combiner la fonction coût avec une fonction barrière. La fonction barrière est pénalisée par un paramètre h > 0  hauteur de la barrière • •

Problème avec contraintes inégalités :

c E ( x )  0 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 542 application sur problème linéaire, puis non linéaire

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière

Techniques d’optimisation

Max CERF 2018

3.2.1 Problème linéaire Problème linéaire

Ax  b avec A  R mn , b  R m , c  R n T Forme standard : minn c x sous   problème (PL) xR x  0

  x  R

 / Ax  b, x  0



Ensemble des points admissibles : X adm  x  R n / Ax  b, x  0 = polytope des contraintes



Ensemble des points intérieurs :

Problème barrière • Barrière logarithmique :

X int n

B( x )    lnx i  i 1



n

Ax  b Problème barrière associé : minn f h (x)  c x  h  ln(x i ) sous   problème (PBh) x  0 xR  i 1

Solution • h>0 • h=0 • h 

n

T

 solution xh  solution x* du problème initial  solution x = centre analytique du polytope P

543

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière

Max CERF 2018

Techniques d’optimisation 3.2.1 Exemple

Problème linéaire •

x  x 2  x 3  1 min x 1  2x 2  3x 3 sous  1 x ,x ,x x 1 , x 2 , x 3  0

Forme standard :

1

2

3

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

• •

Barrière logarithmique : Centre analytique x :

x  x 2  x 3  1 min x 1  2x 2  3x 3  h ln x 1  ln x 2  ln x 3  sous  1 x ,x ,x x 1 , x 2 , x 3  0 x  x 2  x 3  1 min Bx 1 , x 2 , x 3    ln x 1  ln x 2  ln x 3  sous  1 x ,x ,x x 1 , x 2 , x 3  0 1

2

3

1

2

3

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

1 1  B    0  x x1 1  x1  x 2  B1 1 1    0  x 2 x 2 1  x1  x 2

1  x   1 3 1    x3  1 3 x 2  3 

1  x   3

1 3

1  3

544

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière

Max CERF 2018

Techniques d’optimisation 3.2.1 Exemple

Représentation graphique

 Polytope des contraintes : P  x 1  1 Centre analytique x : x   3

• •

x2

1 3

x  x 2  x 3  1 x 3  R 3 /  1  x 1 , x 2 , x 3  0  1  3

x3

C

O

1

x

B 1

A x1

C

Tracé dans le plan (A,B,C)

x x2

A 1

B

545

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

Techniques d’optimisation

Max CERF 2018

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 3.2 Point intérieur 3.2.2 Chemin central

Techniques d’optimisation

Max CERF 2018

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 : Fin :

x = centre analytique du polytope 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  xR x  0 i 1 n

T

n

 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 3.2 Point intérieur 3.2.2 Chemin central

Max CERF 2018

Techniques d’optimisation 3.2.2 Conditions d’optimalité

Problème barrière

Ax  b min f h (x)  c x  h  ln(x i ) sous  xR x  0 i 1 n

T

n



 multiplicateurs   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 X    0  0

0 x2  0 0

 0  0    x n 1  0

0  0    0  xn 

 s1 0   0 s2 S    0 0  0 0

 0 0   0 0      s n 1 0    0 sn 

1   1 e     1   1

548

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

Techniques d’optimisation

Max CERF 2018

3.2.2 Conditions d’optimalité Conditions d’optimalité

 x L( x , , s )  0



Condition d’ordre 1 :



Condition complémentaire : s i x i  0

s  s  hX 1 On définit :  h 1 Sh  S  hX •

 c  hX 1  A T   s  0

 XSe  0

A T   s h  c  0   XSh e  he

Comparaison des conditions d’ordre 1 du problème barrière (PBh) et du problème initial (PL)

Problème barrière (PBh)

Ax h  b  0  T A   s  c  0 h h  X  h S h  he  x h ,  h , s h  xh  0   sh  0 

Problème linéaire (PL)

Ax  b  0  T A   s  c  0  XS  0  x * ,  * , s *  x 0   s 0 

549

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

Max CERF 2018

Techniques d’optimisation 3.2.2 Chemin central primal-dual

Chemin central primal-dual •

Les conditions d’optimalité du problème barrière (PBh) deviennent celles du problème initial (PL) lorsque h tend vers 0.



On cherche à résoudre le problème linéaire en considérant l’ensemble des variables primales et duales (x,,s) dans Rn+m+n .



Ensemble admissible :



Ensemble des points intérieurs : X int



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 :

   ( x, , s) / Ax  b  0, A   s  c  0, x  0, s  0 

X adm  ( x, , s) / Ax  b  0, A T   s  c  0, x  0, s  0 T

(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 3.2 Point intérieur 3.2.2 Chemin central

Max CERF 2018

Techniques d’optimisation 3.2.2 Exemple

Problème linéaire •

Forme standard :

x  x 2  x 3  1 min x 1  2x 2  3x 3 sous  1 x ,x ,x x 1 , x 2 , x 3  0 1



2

3

A  1 1 1 , b 1 c T  1 2 3

Conditions d’ordre 1 du problème linéaire (PL)

XS  0

x 1s1  0  x 2 s 2  0 x 3s 3  0

x 1  0 ou s1  0  x 2  0 ou s 2  0 x 3  0 ou s 3  0

 6 combinaisons possibles

s1  1     s1  1 s  s  1 A   s  c    s 2  2  s 2  2    s1  s2  1 3  2 s 3  3     s 3  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 T



Solution :

x 1  1 s1  0 x 2  0 , s 2  1 ,   1 x 3  0 s 3  2

551

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

Max CERF 2018

Techniques d’optimisation 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   x , x , x  0 3 3 3    1 2 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

O

1

x

B 1

x1

x x2 x*

x*

A

C

Tracé dans le plan (A,B,C)

A 1

B

552

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

Max CERF 2018

Techniques d’optimisation 3.2.2 Exemple

Problème barrière •

x  x  x  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



Conditions d’ordre 1 du problème barrière (PBh)

  s1  1 A   s  c    s 2  2   s 3  3 T



A  1 1 1 , b 1 c T  1 2 3

s1  1    s 2  2   s 3  3  

 h h x    1 1    1  h h   x 2   avec   2   2     x  h  h  3 3    1 

XS  he

x 1s1  h  x 2 s 2  h x 3s 3  h

Ax  b  0

 x1  x 2  x 3  1 

h h h 3 2    1    3h    h  0  1   1

On obtient une équation en   1, 2 ou 3 racines

553

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

Techniques d’optimisation

Max CERF 2018

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  h X h Sh  he  0 •

En résolvant les conditions d’ordre 1 du problème barrière, on obtient

avec  3  3h 2    h  0  h  2    s  1   2  h 3  h  h  h  1 1 1     x  h h  1   2  h 3  h  h   •

Il faut vérifier x h  0 s h  0



On résout le problème pour des valeurs décroissantes de la hauteur de barrière h.

 choix parmi les racines possibles pour 

554

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

Max CERF 2018

Techniques d’optimisation 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 O

x

B 1

x1

x2

A 1

u1

x*

D

x*

A

x

D

B

555

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

Max CERF 2018

Techniques d’optimisation 3.2.2 Exemple

Chemin central • •

h 10000 1000 100 10 1 0,1000 0,0100 0,0010 0,0001 0,0000



1 1 1 x    3 3 3 Points du chemin central pour une barrière de hauteur h de 10000 à 0. Centre analytique du polytope (h  ) :

x1 0,33335 0,33342 0,33444 0,34457 0,45162 0,86308 0,98507 0,99863 0,99970

x2 0,33334 0,33331 0,33332 0,33309 0,31112 0,08962 0,00990 0,00100 0,00010

x3 s1 s2 s3  0,33333 29998,5 29999,5 30000,5 -29997,5 0,33320 2999,2 3000,2 3001,2 -2998,2 0,33222 299,0 300,0 301,0 -298,0 0,32236 29,0 30,0 31,0 -28,0 0,23729 2,2142 3,2142 4,2142 -1,2142 0,04726 0,1159 1,1159 2,1159 0,8841 0,00497 0,0102 1,0102 2,0102 0,9898 0,00050 0,0010 1,0010 2,0010 0,9990 0,00005 0,0001 1,0001 2,0001 0,9999

1,00000 0,00000 0,00000

0,0000

1,0000

2,0000

1,0000

Tracé dans le plan (A,B,C) C

1,0 0,9 0,8 0,7 0,6 0,5 0,4

x

0,3 0,2 0,1

x*

0,0

A 0,0

Solution du problème linéaire (h  0) : x*  1 0 0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1,0

556

B

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

Max CERF 2018

Techniques d’optimisation 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  s  0 XS  he  0



 Ax  b   T  On définit la fonction : F( x, , s)   A   s  c   XS  he   



On applique la méthode de Newton au système d’équations : F(x,,s) = 0



Itération de Newton :

A 0  T 0 A S 0 

A 0   F( x, , s) T   0 A T S 0 

0  I X 

0  d x    I  d    F( x, , s) X  d s 

0     avec F( x, , s)   0   XSe  he     direction de déplacement (dx,d,ds)

Ax  b  0 si (x,,s) est intérieur :  T A   s  c  0

557

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

Techniques d’optimisation

Max CERF 2018

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 3.2 Point intérieur 3.2.2 Chemin central

Techniques d’optimisation

Max CERF 2018

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 3.2 Point intérieur 3.2.2 Chemin central

Max CERF 2018

Techniques d’optimisation 3.2.2 Exemple

Problème linéaire •



x  x  x  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

A  1 1 1 , b 1 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 et  On choisit un point intérieur initial ( x, , s) X int   T s  0 A   s  c  0

x 1 , x 2 , x 3   0 tel que x 1  x 2  x 3  1 On peut prendre   0 s  c  s T  1 2 3  0 •

x T s x 1  2x 2  3x 3    n 3

La hauteur de barrière h est réglée par le paramètre de centrage  : h   

 T x s n

560

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

Techniques d’optimisation

Max CERF 2018

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  T 0 A S 0  1 1  0 0 0 0   0 0   s1 0  0 s2  0 0

0  d x  0       I  d    F( x, , s)   0    XS  he  X  d s    1 0 0 0 0 0 s3

0 0 1 1 1 0 1 0 0 x1 0 0 0 0

0 0 1 0 0 x2 0

Ax  b  0 car  T A   s  c  0

0  d x1   0      0  d x 2   0   0  d x 3   0      1  d     0     0  d s1    x 1s1  h  0  d s 2    x 2 s 2  h      x 3  d s 3    x 3s 3  h 

avec h   

 x1s1  x 2s 2  x 3s 3  n

561

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

Techniques d’optimisation

Max CERF 2018

3.2.2 Exemple Direction de déplacement

d x1  d x 2  d x 3  0 d s1  d   0 d  d  0   s2 d  d  s3  0 s1d x1  x 1d s1  h  x 1s1 s 2 d x 2  x 2 d s 2  h  x 2 s 2 s d  x d  h  x s 3 s3 3 3  3 x3

• •

  x1 x 2 x 3  1 1 1    x 1  x 2  x 3  h    d     s1 s 2 s 3    s1 s 2 s 3   d s1  d s 2  d s 3  d   h  x 1d   x1  d x1  s 1  x 1  2x 2  3x 3  s1  1  h  x d   d  2  avec s 2  2 et   x2 3  x2 s2  s  3   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 3.2 Point intérieur 3.2.2 Chemin central

Max CERF 2018

Techniques d’optimisation 3.2.2 Exemple

Illustration 1 : x = (0.6 , 0.2 , 0.2)  0 1 Chemin central

 0,53333 h 0,00000 0,53333 0,53333

x1 0,6 dx1 0,18261 -0,04928 0,54971

x2 0,2 dx2 -0,06957 0,06957 0,27070

x3 0,2 dx3 -0,11304 -0,02029 0,17956

s1 1,0 ds1 -1,30435 -0,02899 0,97020

s2 2,0 ds2 -1,30435 -0,02899 1,97020

 0,0 d 1,30435 0,02899 0,02980

s3 3,0 ds3 -1,30435 -0,02899 2,97020

u  x  x 3 / 2 Tracé dans le plan (A,B,C)  u 1  x2 3  2 1,0 C 0,9

x 0,3

0,8 0,7 0,6

=1

0,2

0,5 0,4

x

=0

0,3

0,1

0,2 0,1

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

0,0

A 0,0

0,1

0,2

0,3

0,4

0,5

0,6

563

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

Max CERF 2018

Techniques d’optimisation 3.2.2 Exemple

Illustration 2 : x = (0.2 , 0.6 , 0.2)  0 1 Chemin central

 0,66667 h 0,00000 0,66667 0,66667

x1 0,2 dx1 0,15294 0,38824 0,50965

x2 0,6 dx2 -0,07059 -0,38431 0,28884

x3 0,2 dx3 -0,08235 -0,00392 0,20153

s1 1,0 ds1 -1,76471 0,39216 1,30808

s2 2,0 ds2 -1,76471 0,39216 2,30808

u  x  x 3 / 2 Tracé dans le plan (A,B,C)  u 1  x2 3  2 1,0 C 0,9

 0,0 d 1,76471 -0,39216 -0,30808

s3 3,0 ds3 -1,76471 0,39216 3,30808

x 0,3

0,8 0,7 0,6

=1

0,2

0,5

x

0,4 0,3

=0

0,1

0,2 0,1

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

0,0

A 0,0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

564

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

Max CERF 2018

Techniques d’optimisation 3.2.2 Exemple

Illustration 3 : x = (0.2 , 0.2 , 0.6)  0 1 Chemin central

 0,80000 h 0,00000 0,80000 0,80000

x1 0,2 dx1 0,20000 0,41333 0,48130

x2 0,2 dx2 0,00000 0,10667 0,30051

u  x  x 3 / 2 Tracé dans le plan (A,B,C)  u 1  x2 3  2 1,0 C 0,9 0,8

x3 0,6 dx3 -0,20000 -0,52000 0,21845

s1 1,0 ds1 -2,00000 0,93333 1,66217

s2 2,0 ds2 -2,00000 0,93333 2,66217

s3 3,0 ds3 -2,00000 0,93333 3,66217

 0,0 d 2,00000 -0,93333 -0,66217

0,6 0,5

=0

0,7 0,4

0,6 0,5

x

0,3

0,4

=1

x 0,2

0,3 0,2

0,1

0,1

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

0,0

A 0,0

0,1

0,2

0,3

0,4

0,5

565

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

Techniques d’optimisation

Max CERF 2018

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          x nsn 

   1      XSe  e    



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 3.2 Point intérieur 3.2.2 Chemin central

Techniques d’optimisation

Max CERF 2018

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 3.2 Point intérieur 3.2.3 Algorithmes

Techniques d’optimisation

Max CERF 2018

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 3.2 Point intérieur 3.2.3 Algorithmes

Techniques d’optimisation

Max CERF 2018

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 S  k

0 AT 0

0  d x  0       I  d     0   X S e  he  X k  d s   k k 

 x k 1   x k  dx          k 1     k    d   , 0    1 s  s  d   k 1   k   s •

h   k avec  1  k  x Tk s k  n  x k 1     avec  choisi tel que  k 1   V2 ( m ) ou V  ( m ) 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 3.2 Point intérieur 3.2.3 Algorithmes

Techniques d’optimisation

Max CERF 2018

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 S  k

0  d x  0       I  d     0       X k  d s   X k Sk e   k e 

0 AT 0

Réglages • m =0.4



  1

 x k 1    avec  tel que :   k 1   V2 ( m ) s   k 1 

 largeur du voisinage

m

 garantit que l’itération de Newton reste dans le voisinage restreint

n

570

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes

Techniques d’optimisation

Max CERF 2018

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  X k 1  X k  D x , D x  diag(d x ) , d x  D x e 1  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 k 



à l’ordre 1 en dx , ds

1  k e   k e 2   m k

   1 e 2   m avec

e2 n

   1

m n

571

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes

Techniques d’optimisation

Max CERF 2018

3.2.3 Algorithme à pas long Algorithme à pas long •

On fixe le paramètre de centrage .

A  0 S  k •

0 AT 0

0  d x  0       I  d     0   X S e   e  X k  d s  k   k k

On règle le pas  pour rester dans le voisinage large du chemin central.

 x k 1   x k  dx              k 1   k   d  , 0    1 s  s  d   k 1   k   s

 x k 1    avec  tel que :   k 1   V  ( m ) 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 3.2 Point intérieur 3.2.3 Algorithmes

Techniques d’optimisation

Max CERF 2018

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). ~ 0  d x  A 0  0      ~ T   0 A 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  ~  ~    ~   k 1     k    d   , 0    1 ~   ~s   s   ds   k 1   k   

x  ~  ~ k 1  avec  tel que :   k 1   V2 ( m pred )  ~s   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 3.2 Point intérieur 3.2.3 Algorithmes

Techniques d’optimisation

Max CERF 2018

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 S  k •

0 AT 0

0  d x  0       I  d     0   X S e   e X k  d s  k   k k

On applique un recentrage avec un pas =1 pour revenir vers le chemin central.

x  d   x k 1   ~    ~ 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 3.2 Point intérieur 3.2.3 Algorithmes

Max CERF 2018

Techniques d’optimisation 3.2.3 Exemple

Algorithme à pas restreint • Point initial : x = (0.6 , 0.2 , 0.2) ,  = 0 , s = (1 , 2 , 3) x = (0.2 , 0.6 , 0.2) x = (0.2 , 0.2 , 0.6)

x1

0,6

0,2

0,2

x2

0,2

0,6

0,2

x3

0,2

0,2

0,6

Iteration







0

0,53333

0,66667

0,80000

1

0,41017

0,51271

0,61525

2

0,31544

0,39430

0,47316

3

0,24259

0,30324

0,36389

4

0,18657

0,23321

0,27985

5

0,14348

0,17935

0,21522

6

0,11035

0,13793

0,16552

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

10

0,03860

0,04825

0,05790

20

0,00279

0,00349

0,00419

30

0,00020

0,00025

0,00030

40

0,00001

0,00002

0,00002

45

0,00000

0,00000

0,00001

m

Paramètre de centrage :   1  n  x, , s   V2 ( m )

• 

avec m = 0,4

0,8 0,7 0,6

0,3 0,2 0,1 0,0 0

5

10

15

20

25

30

35

40

45

Itération

575

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes

Max CERF 2018

Techniques d’optimisation 3.2.3 Exemple

Algorithme à pas restreint • Tracé dans le plan (A,B,C) 1,0

u  x 2  x 3 / 2   1 u 2  x 3 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

A 0,0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1,0

B

576

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes

Max CERF 2018

Techniques d’optimisation 3.2.3 Exemple

Algorithme à pas long • Point initial : x = (0.6 , 0.2 , 0.2) ,  = 0 , s = (1 , 2 , 3) x = (0.2 , 0.6 , 0.2) x = (0.2 , 0.2 , 0.6) • Paramètre de centrage :  = 0.1 avec m = 0,4 • Pas : =1  /2 tant que x  d x i s  d s i   m  x, , s   V  ( m ) 

0,8

0,7 0,6 0,5

x1 x2

0,6 0,2

0,2 0,6

0,2 0,2

x3

0,2

0,2

0,6

Iteration 0 1 2 3 4 5 6 7

 0,53333 0,29333 0,16133 0,08873 0,00887 0,00089 0,00009 0,00001

 0,66667 0,36667 0,20167 0,02017 0,00202 0,00020 0,00002 0,00000

 0,80000 0,44000 0,24200 0,02420 0,00242 0,00024 0,00002 0,00000

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 3.2 Point intérieur 3.2.3 Algorithmes

Max CERF 2018

Techniques d’optimisation 3.2.3 Exemple

Algorithme à pas long • Tracé dans le plan (A,B,C)

u  x 2  x 3 / 2   1 u 2  x 3 C

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

A 0,0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1,0

B

578

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes

Max CERF 2018

Techniques d’optimisation 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 3.2 Point intérieur 3.2.4 Extensions

Techniques d’optimisation

Max CERF 2018

3.2.4 Extensions  Problème linéaire  Problème quadratique

 Problème non linéaire  Représentation

580

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.4 Extensions

Techniques d’optimisation

Max CERF 2018

3.2.4 Problème linéaire Problème linéaire

Ax  b min c T x sous  xR x  0 n

• •



Lagrangien :

L( x, , s)  c T x  T (Ax  b)  s T x

Ax  b  0  Ax  b   x L( x, , s)  0  0 Conditions KKT :   F ( x ,  , s )   L ( x ,  , s ) x XS  0     barrière h XSe  he   x, s  0 dx  dx       F ( x ,  , s ) d   F ( x ,  , s ) Méthode de Newton :  direction  d     d  d   s  s

A 0    0 AT S 0  •

0  d x   Ax  b     T  I  d     A   s  c   XSe  he  X  d s   

=0 si admissible =0

On peut appliquer le même algorithme à des problèmes non linéaires.

581

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.4 Extensions

Techniques d’optimisation

Max CERF 2018

3.2.4 Problème quadratique Problème quadratique 1 Ax  b minn x T Qx  c T x sous  xR 2 x  0 1 L( x, , s)  x T Qx  c T x  T (Ax  b)  s T x • Lagrangien : 2 Ax  b  0  Ax  b   x L( x, , s)  0  0 • Conditions KKT :   F ( x ,  , s )   L ( x ,  , s ) x XS  0     barrière h XSe  he   x, s  0 dx  dx       F ( x ,  , s ) d   F ( x ,  , s ) • Méthode de Newton :  direction  d     d  d   s  s

A 0    Q AT S 0  •

0  d x   Ax  b      T I  d     Qx  A   s  c   XSe  he  X  d s   

Différence avec le cas linéaire : matrice Q   2xx L( x, , s)

582

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.4 Extensions

Techniques d’optimisation

Max CERF 2018

3.2.4 Problème non linéaire Problème non linéaire c( x )  0 minn f ( x ) sous  xR x  0 • •



Lagrangien :

 contraintes actives

L( x, , s)  f ( x)  T c( x )  s T x

c( x )  0  c( x )   x L( x, , s)  0  0 Conditions KKT :   F ( x ,  , s )   L ( x ,  , s ) x XS  0     barrière h XSe  he   x, s  0 dx  dx       F ( x ,  , s ) d   F ( x ,  , s ) Méthode de Newton :  direction  d     d  d   s  s  c ( x ) T 0 0  d x   c( x )   2       xx L( x, , s) c( x ) I  d      x L( x, , s)       XSe  he   S 0 X  d s  



 2xx L( x, , s) Différence avec le cas linéaire : matrices  c( x )

583

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.4 Extensions

Max CERF 2018

Techniques d’optimisation 3.2.4 Représentation

Tracé des itérations

Espace primal : variables x

Espace primal-dual : produits xs x 2 s2

x2

borne voisinage

chemin central

chemin central itérations

itérations

x1

x 1 s1

584

3 Optimisation avec contraintes 3.3 Gradient projeté

Techniques d’optimisation

Max CERF 2018

Sommaire 1. 2.

Bases théoriques 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. 5.

Optimisation discrète Optimisation fonctionnelle

585

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.1 Principes

Techniques d’optimisation

Max CERF 2018

3.3.1 Gradient projeté Problème avec contraintes égalité

c (x)  0 minn f(x) sous  E  xR c I ( x )  0

minn f ( x ) sous c( x )  0  m contraintes actives 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 3.3 Gradient projeté 3.3.2 Direction de déplacement

Techniques d’optimisation

Max CERF 2018

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 3.3 Gradient projeté 3.3.2 Direction de déplacement

Max CERF 2018

Techniques d’optimisation 3.3.2 Hyperplan tangent

Problème avec contraintes linéaires

min f ( x ) sous Ax  b xR n

 Ax0 = b  A(x0 + d) = b

• •

x0 point admissible d déplacement admissible à partir de x0



Ad = 0 définit l’espace nul des contraintes = hyperplan des contraintes



Le déplacement dRn est admissible si d est dans l’hyperplan des contraintes.

  Ad  0   c(x0) c(x)=0

x0 d

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 3.3 Gradient projeté 3.3.2 Direction de déplacement

Max CERF 2018

Techniques d’optimisation 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é • Hyperplan tangent aux contraintes en x0 admissible Ad = 0 avec A = c(x0)T •

Matrice de projection sur l’hyperplan tangent 1 P  I  A T AA T A



Notations g(x0) gradient de f en x0 gp(x0) gradient projeté





c(x)=0

x0





 g p  I  A T AA T •

c(x0)



1







 g(x0) = f(x0)  gp(x0) = Pg(x0)

A g avec A  c( x 0 ) T

Ag  0 gp vérifie :  T p g p g  g p  0

gp

 gp  hyperplan tangent  ggp  hyperplan tangent

g

P T  P car  2 P  P

589

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement

Max CERF 2018

Techniques d’optimisation 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  T d R  d  1  d d  1  norme = 1





t T T m Lagrangien : Ld , ,    g d   Ad   d d  1 avec   R ,   R  g  AT   2 d  0  d   g  AT  / 2   Conditions KKT :  Ad  0  Ag  AAT   0     AAT  d  1  2    g  AT 

d est bien un vecteur normé colinéaire à •









1

Ag

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 3.3 Gradient projeté 3.3.2 Direction de déplacement

Max CERF 2018

Techniques d’optimisation 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 Ap  0   Y Déplacement admissible : p  Zp Z minn f(x 0  p) sous A(x 0  p)  b 



Fonction réduite fr :



Notations g(x0) gradient de f en x0 gr(x0) gradient réduit

pR

 g(x0) = f(x0)  gr(x0) = fr(pZ=0)

min f r (p Z )  f x 0  Zp Z 

p Z R n -m

 g Rn  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 3.3 Gradient projeté 3.3.2 Direction de déplacement

Max CERF 2018

Techniques d’optimisation 3.3.2 Gradient réduit

Direction de descente • Le déplacement à partir du point x0 admissible est décomposé en

AZ  0 p  Yp Y  Zp Z avec  AY inversible

p 0 Ap  0   Y 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 - à partir d’une base de A

Gradient réduit sur une base B de A  gB   m n m     g  • AE   B N  gN   

 factorisation QR de A  BRmm (= m colonnes indépendantes de A) m 1

B Y    0 (E = matrice de permutation de colonnes de A)



m  nm 

n m 1

 B N m  Z     I nm





T

T 1 Le gradient réduit par rapport à la base B est : g r  Z g  g N  B N g B

592

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement

Techniques d’optimisation

Max CERF 2018

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 3.3 Gradient projeté 3.3.2 Direction de déplacement

Max CERF 2018

Techniques d’optimisation 3.3.2 Exemple

Exemple 2 • Minimisation de f ( x )  x1  x 2 sous c( x )  x12  x 2  1  1  0  2x 1   cx    2 ( x  1 ) 2   Changement de variables (coordonnées polaires) 1 f x     1



x 1  r cos  x  r sin   1  2



2,5 2 1,5 1

f (r, )  r (cos   sin )  1   2 c(r, )  r  1

Elimination variable r

0,5

-2

-1,5

-1

r  1  f ()  cos   sin   1



0 -0,5 0 -0,5

0,5

1

1,5

2

-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 3.3 Gradient projeté 3.3.2 Direction de déplacement

Max CERF 2018

Techniques d’optimisation 3.3.2 Exemple

Gradient projeté 2 • Minimisation de f ( x )  x1  x 2 sous c( x )  x12  x 2  1  1  0



 cos  0   2x1  1    2r0  Point admissible x0 (r0=1, 0)  f x 0     , cx 0    sin  2 ( x  1 ) 1 0  2      Gradient projeté au point x0

 A  c ( x 0 ) T , g  f ( x 0 ) g p  Pg avec  T T 1 P  I  A AA A 



A  2r0 cos  0

x2



gp

sin  0 

 sin 2 0 P     sin 0 cos 0

g=f

 sin 0 cos 0   2  cos 0 

r

c x0



1

  sin  0    g p  cos  0  sin  0  cos  0 



Direction de descente au point x0

d

gp gp

  sin 0     cos  0 

x*

 tangente au cercle en x0

c(x)=0 x1

595

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement

Max CERF 2018

Techniques d’optimisation 3.3.2 Exemple

Gradient réduit 2 • Minimisation de f ( x )  x1  x 2 sous c( x )  x12  x 2  1  1  0



 cos  0   2x1  1    2r0  Point admissible x0 (r0=1, 0)  f x 0     , cx 0    sin  2 ( x  1 ) 1 0  2      Gradient réduit au point x0

 A  c ( x 0 ) T , g  f ( x 0 )    B 1 N  g r  Z T g avec    AE  B N  , Z   I       tan  0  A  2r0 cos  0 sin  0   Z    1   g r  1  tan  0  Zg r 



cos  0  sin  0 cos  0

x2

c r

x0



1

  sin  0    cos  0 

Direction de descente au point x0

Zgr

x*

  sin 0  Zg r   tangente au cercle en x0 d   Zg r  cos 0 

c(x)=0 x1

596

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.3 Restauration

Techniques d’optimisation

Max CERF 2018

3.3.3 Restauration  Point initial  Itérations admissibles

 Méthode de restauration

597

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.3 Restauration

Max CERF 2018

Techniques d’optimisation 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) xR

2

 max0, c I (x)

2

La solution x0 de ce problème préliminaire est admissible si le coût est nul.

c E (x 0 )

 max0, c I (x 0 )  2

2

c (x )  0 c (x )  0 0   E 0   E 0 max0, c I (x 0 )   0 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 3.3 Gradient projeté 3.3.3 Restauration

Max CERF 2018

Techniques d’optimisation 3.3.3 Restauration

Déplacement admissible min f(x) sous c( x )  0 xR n

 m contraintes actives

On construit le déplacement p à partir du point initial x0 en 2 étapes : p = p1 + p2 •

Le déplacement p1 est suivant la direction de descente d dans l’hyperplan tangent : p1 = –sd dRn = direction construite à partir du gradient projeté ou du gradient réduit s > 0 = pas de déplacement suivant –d (pour minimisation) x2 p 2 On obtient un point x1 = x0 + p1 dans l’hyperplan tangent x1  non admissible si contraintes non linéaires



Le déplacement p2 restaure un point admissible à partir du point x1.  linéarisation des contraintes en x1  résolution d’un système sous-déterminé c(x)=0 On obtient un point x2 = x1 + p2 admissible.

p1 x0

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 3.3 Gradient projeté 3.3.3 Restauration

Max CERF 2018

Techniques d’optimisation 3.3.3 Restauration

Méthode de restauration Le déplacement p2 doit vérifier : A1p  b1 •

A1  c(x1 ) T  c(x 0 ) T  A 0 avec  b1  c(x1 )  c1

Solution de norme minimale  projection sur l’hyperplan tangent aux contraintes actives 1 (cf §1.2.4) minn p sous A1p  b1  p 2  A1T A1A1T b1



pR



 pour ne pas dégrader la minimisation apportée par p1 (cf §1.2.3) 1 1 A1 (Yp Y  Zp Z )  b1  p Y  A1Y  b1  p 2  YA1Y  b1



Solution de base



Plusieurs pas de restauration peuvent être nécessaires. p2

c(x)=0 x0

p1

x1

c(x)=c1 c(x0)

c(x1)

600

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.3 Restauration

Max CERF 2018

Techniques d’optimisation 3.3.3 Restauration

Illustrations Restauration en plusieurs itérations : p2 , p3 c(x)=0 c(x)=c1

Restauration infructueuse (non linéarité) c(x)=0

p3 x0

p2

p1

c(x)=c1

p2 x0 p1

x1

x1

Restauration avec dégradation du critère p2

c(x)=0 x0

p1

lignes de f

x1

601

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.4 Algorithme

Techniques d’optimisation

Max CERF 2018

3.3.4 Algorithme  Algorithme de gradient projeté / réduit  Exemple

602

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.4 Algorithme

Max CERF 2018

Techniques d’optimisation 3.3.4 Algorithme

Algorithme de gradient projeté/réduit Les principales étapes d’une itération de gradient projeté/réduit sont • construire la direction de descente au point courant • effectuer une recherche linéaire avec restauration Direction de descente • Sélection des contraintes actives • Projection ou réduction dans l’hyperplan tangent • Mise à jour du hessien (quasi-Newton)

Mise à jour xk , Hk

Recherche linéaire • Méthode de dichotomie sur le pas de déplacement • Restauration avant évaluation du pas • Règles d’acceptation (Armijo,…)

Projection ou réduction Direction dk

Principales difficultés • Amélioration critère  grands pas • Restauration contraintes  petits pas  difficultés sur problèmes très non-linéaires  réglages à adapter au cas par cas

Recherche linéaire avec restauration Pas sk

603

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.4 Algorithme

Max CERF 2018

Techniques d’optimisation 3.3.4 Exemple

Exemple 2 • Minimisation de f ( x )  x1  x 2 sous c( x )  x12  x 2  1  1  0 •

2,5 2

x *   1 / 2  0.70711 Solution :  1 x 2 *  1  1 / 2  0.29289

1,5 1 0,5

Itérations • Point courant : •

Descente :

 x   r cos    x   1     x 2   r sin   1 

x’ = x  s1d1

-2

-1,5

-1

0 -0,5 0 -0,5

0,5

1

1,5

-1

  sin    cos   

avec d1  

  sin     g p  cos   sin  cos   

 pas s1 suivant le gradient projeté •

Restauration :



Réglage des pas :

 2x1   cos     cx     avec d 2   2 ( x  1 ) 2    sin    pas s2 suivant le gradient des contraintes

x’’ = x’  s2d2

s2 est calculé pour restaurer c(x’’) = 0 s1 est choisi pour vérifier une décroissance suffisante f(x’’) < f(x)

604

2

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.4 Algorithme

Max CERF 2018

Techniques d’optimisation 3.3.4 Exemple

Exemple 2 • Minimisation de f ( x )  x1  x 2 sous c( x )  x12  x 2  1  1  0 •

 x 1   0.1 Point initial :      x2   1 

 Restauration initiale :

 x 1  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 3.3 Gradient projeté 3.3.4 Algorithme

Max CERF 2018

Techniques d’optimisation 3.3.4 Exemple

Exemple 2 Minimisation de f ( x )  x1  x 2 sous c( x )  x12  x 2  1  1  0 Point initial Point initial admissible Solution  x 1   0.1      x2   1 

restauration initiale

 x 1  1       x 2  1

itérations

 x 1 *    1 / 2  0.70711         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

0,5

1,0

1,5

2,0

0,0 -0,8

-0,7

-0,6

-0,5

-0,4 -0,1

606

3 Optimisation avec contraintes 3.4 Lagrangien augmenté

Techniques d’optimisation

Max CERF 2018

Sommaire 1. 2.

Bases théoriques 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. 5.

Optimisation discrète Optimisation fonctionnelle

607

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.1 Principes

Techniques d’optimisation

Max CERF 2018

3.4.1 Lagrangien augmenté Problème avec contraintes égalité

c (x)  0 minn f(x) sous  E  xR c I ( x )  0 • •

minn f ( x ) sous c( x )  0 xR

 contraintes actives

La difficulté de résolution vient des 2 objectifs antagonistes : Minimiser le critère f(x) Satisfaire les contraintes c(x)=0

Méthodes de pénalisation Les contraintes sont ajoutées à la fonction coût avec une pondération : • Critère augmenté  pondération = pénalisation des contraintes • Lagrangien  pondération = multiplicateurs de Lagrange • Lagrangien augmenté  pondération = pénalisation + multiplicateurs  On se ramène à un problème sans contraintes plus simple • •

Les difficultés viennent du réglage de la pondération : Le problème pénalisé sans contraintes doit être équivalent au problème avec contraintes. Le problème pénalisé est mal conditionné lorsque la pénalisation est grande.

608

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation

Techniques d’optimisation

Max CERF 2018

3.4.2 Pénalisation  Critère augmenté  Pénalisation quadratique

 Pénalisation exacte  Mise en œuvre  Lagrangien augmenté

609

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation

Techniques d’optimisation

Max CERF 2018

3.4.2 Critère augmenté Problème avec contraintes égalité

c (x)  0 minn f(x) sous  E  xR c I ( x )  0

minn f ( x ) sous c( x )  0 xR

 contraintes actives

On note x* la solution du problème avec contraintes. Critère augmenté On ajoute au critère un terme positif fonction de la violation des contraintes avec un coefficient de pénalisation  > 0  2 méthodes usuelles de pénalisation • Pénalisation en norme 2 (pénalisation quadratique) 1 1 2 2 2 f ρ (x)  f(x)  ρ c E (x) 2  max0, c I (x)  2  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) xR n

 solution x

610

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation

Techniques d’optimisation

Max CERF 2018

3.4.2 Pénalisation quadratique Problème pénalisé l2

min f ρ (x) xR n





1 2 2 avec f ρ (x)  f(x)  ρ c E (x) 2  max0, c I (x)  2 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)



Il faut vérifier que la suite des solutions xk converge vers la solution x* du problème initial

xR

 solution xk

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 3.4 Lagrangien augmenté 3.4.2 Pénalisation

Max CERF 2018

Techniques d’optimisation 3.4.2 Pénalisation quadratique

Problème pénalisé l2 minn f ( x ) sous c( x )  0



Problème avec contraintes :



Problème k avec pénalisation k : minn f ρ k (x) xR lim  k   

xR

 solution xk lim x k  x  k 

k 

Convergence • Si xk est le minimum global exact, alors •

Si xk est un minimum local approché :  précision de résolution k décroissante

 solution x*

lim x k  x *

k 

f ρ (x k )   k avec lim  k  0 k

k 

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 On a dans ce

2ème

cas :

 lim x k  x *  klim k   k c(x k )   *

 minimum local  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 3.4 Lagrangien augmenté 3.4.2 Pénalisation

Max CERF 2018

Techniques d’optimisation 3.4.2 Pénalisation quadratique

Eléments de la démonstration 1 2 f  ( x )  f ( x )   c( x ) 2 •

Critère d’arrêt sur xk :

 f  ( x )  f ( x )  c( x )c( x )

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 c( xk )c( xk )   k  f ( xk )

c( x*)  0  min c( x )    ou c( x*)  0  admissible  •

 c( xk )c( xk ) 

 k  f ( x k ) k

k  0 

si les gradients sont linéairement indépendants

Multiplicateurs de Lagrange

f ρ (xk )  f ( xk )   k c( xk )c( xk )   k k  0  k

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

avec *  lim  k c(xk ) k 

613

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation

Techniques d’optimisation

Max CERF 2018

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) xR

Convergence • Si   *   *   max  i •

 solution xk

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 3.4 Lagrangien augmenté 3.4.2 Pénalisation

Techniques d’optimisation

Max CERF 2018

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 3.4 Lagrangien augmenté 3.4.2 Pénalisation

Max CERF 2018

Techniques d’optimisation 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   k c(x k )   *  multiplicateurs des contraintes actives klim  * 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 xR n

xR n

1 1 2  min L ρ (x, *)  L(x, *)  ρ c(x) 2  f(x)  λ *T c(x)  ρ c(x) xR 2 2

 si l’on connait * 2

n

616

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation

Max CERF 2018

Techniques d’optimisation 3.4.2 Lagrangien augmenté

Lagrangien augmenté • La méthode de lagrangien augmenté consiste à résoudre une suite de problèmes : 1 1 2 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 xR

 minn L  (x, *) xR

 minn f(x) sous c(x)  0 xR

 minn f  (x) xR

 xk  x *   klim  

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 3.4 Lagrangien augmenté 3.4.2 Pénalisation

Max CERF 2018

Techniques d’optimisation 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 )

k 



pour k assez grand

 λ 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 3.4 Lagrangien augmenté 3.4.3 Méthode duale

Techniques d’optimisation

Max CERF 2018

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 3.4 Lagrangien augmenté 3.4.3 Méthode duale

Techniques d’optimisation

Max CERF 2018

3.4.3 Problème dual Problème avec contraintes égalité •

Problème primal :

minn f(x) sous c(x)  0

 m contraintes actives



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

maxm w()

 maximisation par rapport à 

xR

xR



Problème dual :

R

Méthode duale (ou lagrangienne) Une méthode duale consiste à résoudre le problème dual :

max w() m R



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 3.4 Lagrangien augmenté 3.4.3 Méthode duale

Techniques d’optimisation

Max CERF 2018

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 (λ)



Fonction w :

w (λ)  minn L(x, λ)  Lx L (λ), λ 



Gradient de w :



Hessien de w :

xR



xR

 x Lx L (λ), λ   0  fonction composée

w (λ)  x L (λ). x Lx L (λ), λ     Lx L (λ), λ  =0 = c(xL())  w (λ)  cx L (λ) 

 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 1 avec   L  c  xL  cT  2xx L





621

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Méthode duale

Techniques d’optimisation

Max CERF 2018

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R





x k 1  x L λ k 

 minimisation exacte ou approchée

Le déplacement sur  est construit à partir du gradient et éventuellement du hessien de w.

 w (λ k )  cx k 1  1  2 T 2      w ( λ )   c x  L x , λ cx k 1  k k 1 xx k 1 k 







 minimisation approchée (pas fixé)

Méthodes de déplacement sur  : Uzawa, lagrangien augmenté, Newton

622

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Méthode duale

Techniques d’optimisation

Max CERF 2018

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 3.4 Lagrangien augmenté 3.4.3 Méthode duale

Max CERF 2018

Techniques d’optimisation 3.4.3 Méthode de Newton

Principe L’itération de Newton sur le problème dual est définie par :





1

λ k 1  λ k   w (λ k ) w (λ k ) •

2

avec

 w (λ k )  cx k 1  1  2 T 2      w ( λ )   c x  L x , λ cx k 1  k k 1 xx k 1 k 



On applique une méthode de quasi-Newton au problème primal : minn L(x, λ k ) xR

pour obtenir une approximation de l’inverse du hessien de L : •



H k   2xx Lx k 1 , λ k 

1

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 3.4 Lagrangien augmenté 3.4.3 Méthode duale

Max CERF 2018

Techniques d’optimisation 3.4.3 Exemple

Exemple • Minimisation de

f ( x )  x1  x 2 sous c( x )  x12  x 2  1  2  0



L( x, )  x1  x 2   x12  x 2  1  2

2



Lagrangien :

2



 1     1 2   w (λ)  min2 L(x, λ)  1  2  pour x L (λ)   1 xR 2    1  2    1 1 max w ()  *   x*     point col R 0 2  



Fonction duale :



Problème dual :



Gradient :

w ()  cx L ()  



Hessien :

 2 w (λ)  cx L (λ)   2xx Lx L (λ), λ  cx L (λ)   

1 2 22 T





1

1 λ3

1 0 1 1  avec cx L (λ)      ,  2xx Lx L (λ), λ   2λ 0 1 λ 1  

625

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Méthode duale

Max CERF 2018

Techniques d’optimisation 3.4.3 Exemple

Méthode d’Uzawa • Minimisation de • •

f ( x )  x1  x 2 sous c( x )  x12  x 2  1  2  0  1     1  2  k  x k 1         s  2 Itération à pas s fixé : k 1 k  22   1  1  k   2  k   2

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

1 2 3 4 5 6 7 8 9 10 11 12

-0,10000 -0,50000 -0,58824 -0,69521 -0,81186 -0,91292 -0,97205 -0,99334 -0,99861 -0,99972 -0,99994 -0,99999

1,00000 0,50000 0,41176 0,30479 0,18814 0,08708 0,02795 0,00666 0,00139 0,00028 5,63E-05 1,13E-05

1,00000 0,85000 0,71920 0,61587 0,54769 0,51438 0,50335 0,50070 0,50014 0,50003 0,50001 0,50000

0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1

1 2 3 4 5 6 7 8 9 10 11 12

x1

x2

-0,10000 1,00000 -0,50000 0,50000 -0,71429 0,28571 -0,99190 0,00810 -1,00476 -0,00476 -0,99711 0,00289 -1,00172 -0,00172 -0,99896 0,00104 -1,00062 -0,00062 -0,99963 0,00037 -1,00022 -2,24E-04 -0,99987 1,34E-04



s

1,00000 0,70000 0,50408 0,49763 0,50145 0,49914 0,50052 0,49969 0,50019 0,49989 0,50007 0,49996

0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2

626

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Méthode duale

Max CERF 2018

Techniques d’optimisation 3.4.3 Exemple

Comparaison Uzawa / Newton 2 f ( x )  x1  x 2 sous c( x )  x12  x 2  1  2  0 • Minimisation de



Itération k :

 1    2  k  x k 1   1    2  1 k  

 1   k 1   k  s  2  2   2 k 

 Uzawa

 1   k 1   k  s3k  2  2   2 k 

 Newton

Uzawa pas s = 0,1

Globalisation  pas s

Newton pas s = 1

Itération

x1

x2



s

Itération

1 2 3 4 5 6 7 8 9 10 11 12

-0,10000 -0,50000 -0,58824 -0,69521 -0,81186 -0,91292 -0,97205 -0,99334 -0,99861 -0,99972 -0,99994 -0,99999

1,00000 0,50000 0,41176 0,30479 0,18814 0,08708 0,02795 0,00666 0,00139 0,00028 5,63E-05 1,13E-05

1,00000 0,85000 0,71920 0,61587 0,54769 0,51438 0,50335 0,50070 0,50014 0,50003 0,50001 0,50000

0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1

1 2 3 4 5 6 7 8

x1

x2

-0,10000 1,00000 -0,50000 0,50000 -0,80000 0,20000 -0,93091 0,06909 -1,00854 -0,00854 -1,00011 -0,00011 -1,00000 -1,72E-08 -1,00000 0,00E+00



s

1,00000 0,62500 0,53711 0,49577 0,49995 0,50000 0,50000 0,50000

0,25 0,50 1,00 1,00 1,00 1,00 1,00 1,00

627

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Méthode duale

Max CERF 2018

Techniques d’optimisation

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

Critère augmenté f :

1 2 f ρ (x)  f(x)  ρ c(x) 2 2



Lagrangien augmenté L :

1 2 L ρ (x, )  f ( x )  T c( x )  ρ c(x) 2 2



Fonction duale augmentée w :

w  ()  minn L  (x, λ)

Le problème dual devient :

maxm w  ()

xR

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 (λ)  avec 1  2 T 2        w ( λ)   c x ( λ)  L x ( λ), λ  c x ( λ)  L xx  L L 





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

minn L  (x, λ) en x  x L (λ) xR

628

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Méthode duale

Max CERF 2018

Techniques d’optimisation

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

s k  k

 λ k 1  λ k   k cx k 1 

k 

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). T  2xx L    2xx L  c.c T      c .  c 



• •



 mal conditionné si  grand

1

 bien conditionné si  grand  2 w   c T  2xx L  c     1I  1 2 On peut appliquer une méthode de Newton au dual avec H k   xx L  (quasi-Newton primal)  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 3.4 Lagrangien augmenté 3.4.3 Méthode duale

Max CERF 2018

Techniques d’optimisation 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



Solution KKT :

* 



Fonction duale :

w (λ)  min2 L(x, λ)  

1 1 , x1*  x 2 *  2 2

xR

 L( x*, *)  

en prenant

1 4

 x 1   x   (signe de  )  2

La fonction duale vaut  pour toute valeur de .

max w ()  

 

1 4



Problème dual :



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é).

R

630

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Méthode duale

Max CERF 2018

Techniques d’optimisation 3.4.3 Exemple

Point col • Problème pénalisé : •

1 2 f  ( x )   x1x 2  x1  x 2  1 sous c( x )  x1  x 2  1  0 2 1 2 L ( x ,  )   x x  x1  x 2  1  x1  x 2  1 Lagrangien augmenté :  1 2 2 w  (λ)  min2 L  (x, λ)



Fonction duale :



Minimisation de L par rapport à x



xR

Ordre 1 :

     x L   0   x 2   x1  x 2  1    0  x1 ()  x 2 ()   x1  x1  x 2  1    0 1  2

Ordre 2 :

    1   0  2xx L   0     1   

Valeurs propres :

  2    12  0

1 On obtient si   : 2

2

 1  1  2  2  1

 L convexe si  

1 2

2

     1  2  1  2  1       w  ()   1  2  1  2  2  1  2 

631

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Méthode duale

Max CERF 2018

Techniques d’optimisation 3.4.3 Exemple

Point col •

Fonction duale : w  () 



Problème dual :

1 1  22





1   2 2 2             2   1  1  2  2      2

max w  (λ) λR

w   0   2    22  1  1  24  1  0

1 1 1  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 Solution :



* 

La pénalisation permet de créer un point col pour  

1 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 3.4 Lagrangien augmenté 3.4.4 Algorithme

Techniques d’optimisation

Max CERF 2018

3.4.4 Algorithme  Algorithme de lagrangien augmenté  Exemple

633

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.4 Algorithme

Max CERF 2018

Techniques d’optimisation 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 • Recherche linéaire ou région de confiance • Précision d’arrêt sur gradient

Minimisation de L Précision k

Paramètres de réglage • Multiplicateurs • Pénalisation • Précisions (gradient, contraintes)

Solution xk+1 Contraintes c(xk+1)

Principales difficultés • Précision contraintes  pénalisation forte • Conditionnement  pénalisation faible  convergence précise difficile  réglages à adapter au cas par cas

Mise à jour xk+1 , k+1 , k+1 , k+1

634

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.4 Algorithme

Techniques d’optimisation

Max CERF 2018

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R n

k

 x L  x k 1 ,  k    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

 mise à jour des multiplicateurs λ k 1  λ k  ρ k c(x k ) cx k 1   k  k 1   k , k 1  k (contraintes bien respectées)  résolution plus précise

- Si

cx k 1   k  augmentation de la pénalisation  k 1   k   10  k 1   k , k 1  k (contraintes mal respectées)  résolution moins précise

635

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.4 Algorithme

Max CERF 2018

Techniques d’optimisation 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 , ) 





2



min c( x 0 )  f ( x 0 )

2



Il s’agit d’un problème de moindres carrés de la forme : min A  b 

2

A  c ( x 0 ) avec   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 3.4 Lagrangien augmenté 3.4.4 Algorithme

Max CERF 2018

Techniques d’optimisation 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  Point initial : x    ,   0  1.3 

1 3 Solution : x*    ,    2  0

1,5

0,7

Suivi de la contrainte

0,6 1 0,5

0,5 0,4 0 -1,5

-1

-0,5

0,3 0

-0,5

0,5

1

1,5 0,2 0,1

-1 0 0,7 -1,5

0,8

0,9

1

-0,1

637

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.4 Algorithme

Max CERF 2018

Techniques d’optimisation 3.4.4 Exemple

Exemple • Minimisation de f ( x )  2( x12  x 22  1)  x1 sous c( x )  x12  x 22  1  0 •

1 3 Solution : x*    , *   2  0

 0.5  Point initial : x    ,   0  1.3  Itération

x1

x2





c(x)

L  ( x ,  )

Newton

1 2 3 4 5 6 7 8

0,50000 0,40707 0,73467 0,91556 0,98869 0,99953 0,99905 0,99995

1,30000 0,34917 0,63433 0,39077 0,16985 0,04158 -0,00320 0,00171

0,00000 -0,71238 -1,29122 -1,38175 -1,38175 -1,30283 -1,49103 -1,50003

1 10 10 10 100 100 100 100

-0,71238 -0,05788 -0,00905 0,00635 0,00188 -0,00188 -0,00009 2,06E-06

0,90050 0,90016 0,50091 0,41807 0,62061 0,01728 0,00172 0,00057

1 1 2 2 2 2 1 3

9

1,00000

0,00045

-1,50003

100

1,85E-06

0,00031

pénalisation précision contrainte

précision résolution

itérations Newton

638

3 Optimisation avec contraintes 3.5 Quadratique séquentiel

Techniques d’optimisation

Max CERF 2018

Sommaire 1. 2.

Bases théoriques 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. 5.

Optimisation discrète Optimisation fonctionnelle

639

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.1 Principes

Techniques d’optimisation

Max CERF 2018

3.5.1 Méthode SQP Problème avec contraintes égalité

c (x)  0 min f(x) sous  E  xR c I ( x )  0 n

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

Conditions nécessaires de minimum local •

Lagrangien :

L( x, )  f ( x )  T c( x )



Gradient :

 L ( x ,  )   f ( x )  c ( x )   L( x, )   x       L ( x ,  )   c( x )



Hessien :

  2xx L( x, )  2x L( x, )    2xx L( x, ) c( x )     L( x, )   2 2 T   0    x L( x, )   L( x, )   c( x )



Conditions d’ordre 1 :

 L( x ,  )  L( x, )   x 0  L ( x ,  )   

2

 équations KKT

Méthode SQP On cherche à résoudre les équations KKT par la méthode de Newton.

640

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique

Techniques d’optimisation

Max CERF 2018

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 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique

Techniques d’optimisation

Max CERF 2018

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

 2 L( x k ,  k )d  L( x k ,  k )

d avec d   x   R n  m d 

  2xx L( x k ,  k ) c( x k )  d x   f ( x k )  c ( x k )  k           T    d c( x k ) 0       c ( x k )

 2xx L( x k ,  k )d x  c( x k )d    x L( x k ,  k )   T   c( x k ) c( x k ) d x

 équations de Newton

On peut écrire un problème quadratique-linéaire en variables (dx,d) dont les conditions d’optimalité sont les équations de Newton au point (xk, k).

642

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique

Max CERF 2018

Techniques d’optimisation 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 2 n

QP

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

Conditions d’ordre 1 :



  L (d ,  )  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   T c( x k ) d QP  c( x k )  0  système linéaire sur les variables primales dQPRn et les variables duales QPRm

643

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique

Techniques d’optimisation

Max CERF 2018

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 )  T   c( x k ) c( x k ) d x •

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  T c( x k ) d QP  c( x k )  0 •

d QP  d x  R n Les 2 systèmes linéaires sont identiques en posant :  m  QP  d   R

644

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique

Max CERF 2018

Techniques d’optimisation 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 ~ 2  L ( d )  L ( x  d ,  )  o d QP k QP k QP ~  minn L(d QP ) sous ~c (d QP )  0 avec  ~ d QP R  o d QP  c (d QP )  c( x k  d QP )

   

 L à l’ordre 2 en x  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 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique

Max CERF 2018

Techniques d’optimisation 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  T   c( x k ) c( x k ) d x •

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 )  T   c( x k ) c( x k ) d x •

L’itération de Newton en variables (dx,dl) équivaut au problème quadratique local

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 R 2  multiplicateur QP n

QP

 même formulation avec f ( x k ) au lieu de  x L( x k ,  k )

d  d QP   x d l   QP d  d QP   x d    QP   k

646

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique

Max CERF 2018

Techniques d’optimisation 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 T  min d QP Qd QP  c d QP sous Ad QP  b avec  et  c   f ( x ) d R 2 k  b   c ( x k ) n

QP

• •

• •







   AQ1A T 1 AQ1c  b Si Q est définie positive, la solution est :  QP 1 T d QP  Q A  QP  c 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 3.5 Quadratique séquentiel 3.5.3 Globalisation

Techniques d’optimisation

Max CERF 2018

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 3.5 Quadratique séquentiel 3.5.3 Globalisation

Techniques d’optimisation

Max CERF 2018

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 3.5 Quadratique séquentiel 3.5.3 Globalisation

Techniques d’optimisation

Max CERF 2018

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 xR c I ( x )  0 n

 problème (PO)

F est une fonction de mérite exacte si tout minimum local x* de (PO) est aussi un minimum local sans contrainte de F x* minimum local de  x* minimum local de

c (x)  0 minn f ( x ) sous  E xR c I ( x )  0 minn F( x ) xR

650

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation

Max CERF 2018

Techniques d’optimisation 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 3.5 Quadratique séquentiel 3.5.3 Globalisation

Max CERF 2018

Techniques d’optimisation 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 R 2

 d x  d QP

n

QP



F1, n’est pas dérivable  évaluation de la dérivée directionnelle suivant la direction dx

 dF1, ( x k  sd x )  '   f ( x k ) T d x   c( x k ) 1 F1, ( x )  f ( x )   c( x ) 1  F1, d   ds  s 0 x



F  vérifie ' 1, d x

F 

' 1, d x



 d Tx  2xx L( x k ,  k )d x    d l

Valeur minimale de  • dx est une direction de descente pour F1, si   d l



 c( x )

1

avec dl = k + d

d Tx  2xx L( x k ,  k )d x   c( x ) 1



Condition suffisante

  dl



F1, est une fonction de mérite exacte si

  max  i *



i 1,, m

si  2xx L( x k ,  k )  0  conditions cohérentes car dl = k + d avec d*=0

652

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation

Techniques d’optimisation

Max CERF 2018

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 )     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

F  '

F1, ( x0  sd )  f ( x0  sd )   c( x0  sd ) 1

 F ( x )  f ( x0 )   c( x0 ) 1 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

 f ( x0 )  sf ( x0 )T d   c( x0 )  sc( x0 )T d

 F1, ( x0 )  sf ( x0 )T d  s c( x0 ) 1  F1, d  lim '

s 0

F1, ( x0  sd )  F1, ( x0 ) s

pour s  1

 f ( x0 )T d   c( x0 ) 1

653

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation

Max CERF 2018

Techniques d’optimisation 3.5.3 SQP avec région de confiance

Principe • On ajoute au problème quadratique local une contrainte de région de confiance. c( x k ) T d QP  c( x k )  0 1 T 2 T min f ( x k ) d QP  d QP  xx L( x k ,  k )d QP sous  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

F2, ( x )  f ( x )   c( x ) •



2

avec c( x ) 2 

m

ci (x) 2  i 1

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 F2, ( x k )  F2, ( x k  d PQ ) Le rapport de réduction est défini par Fˆ ( x )  Fˆ ( x  d ) 2,

k

2,

k

2

PQ

654

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation

Techniques d’optimisation

Max CERF 2018

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  c(xk + dQP) = c



On évalue la valeur des contraintes au point xk + dQP



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 d R 2 n

 correction d’ordre 2

QP



On obtient une direction de déplacement qui tient compte de la non-linéarité des contraintes.

655

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation

Techniques d’optimisation

Max CERF 2018

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 •





Solution :

1 3 x*    , *   2  0

Point courant :

 cos    4 cos   1   2 cos     f    , c    x k   sin  4 sin  2 sin       

Problème QP :

min4 cos   1d1  4d 2 sin  

en prenant

 2xx L  I

Solution QP :

1 0    2xx Lx*,  *  I   0 1  

d1 , d 2





1 2 d1  d 22 sous d1 cos   d 2 sin   0 2

1 d 22  d 2   sin  cos  2 d 2 cos   sin 2    sin     sin    d k     cos      sin  cos   d1  d 2 tan   min d 2 tan   2



Nouveau point : x k 1

 cos   sin 2        sin   sin  cos  

656

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation

Max CERF 2018

Techniques d’optimisation 3.5.3 Exemple

Effet Maratos • Minimisation de f ( x )  2( x12  x 22  1)  x1 sous c( x )  x12  x 22  1  0 On évalue en

 cos    x k   sin   

et

x k 1

 cos   sin 2       sin   sin  cos   



c( x k )  cos 2   sin 2  1 c( x k )  0  La contrainte :  2 c( x )  sin 2  2 2   c ( x )  cos   sin   sin   sin  cos   1  k 1 k  1 



Le critère :



 2  cos   1    x k  x *  21  cos  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  





f ( x k )  2c( x k )  cos  f ( x )  2c( x )  cos   sin 2  k 1  k 1





f ( x )   cos    k 2 f ( x k 1 )  sin   cos 

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)  déplacement rejeté - la valeur de la contrainte est dégradée : c(xk+1)  0

657

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation

Techniques d’optimisation

Max CERF 2018

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     c( x k 1 )  sin 2   c On évalue la contrainte au point x k 1     sin   sin  cos   Le problème QP est résolu une 2ème fois en corrigeant la valeur de la contrainte : 1 min4 cos   1d1  4d 2 sin   d12  d 22 sous d1 cos   d 2 sin    sin 2  d ,d 2



1





2

Solution QP :

1 1 2  d1  d 2  sin  tan   min d 2 tan   d 22  d 2  sin   d 2   sin  cos   sin 3  2 d 2 2 cos   sin    cos     sin 2    d k  sin   correction d’ordre 2  cos  sin      2



Déplacement d’ordre 1 : tangent de norme sin



Déplacement d’ordre 2 : radial

de norme sin2

 suppose la contrainte linéaire

 corrige la non-linéarité

658

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation

Techniques d’optimisation

Max CERF 2018

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



0 -1,5

-1

-0,5

0

0,5

1

1,5

2  cos    Ordre 2  d   sin  sin   

-0,5

-1

-1,5

659

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

Techniques d’optimisation

Max CERF 2018

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 3.5 Quadratique séquentiel 3.5.4 Algorithme

Max CERF 2018

Techniques d’optimisation 3.5.4 Algorithme

Algorithme SQP Les principales étapes d’une itération SQP sont • construire le modèle quadratique local au point courant • résoudre le problème quadratique-linéaire • appliquer une technique de globalisation Modèle quadratique local • Sélection des contraintes actives • Mise à jour du hessien (quasi-Newton) Résolution du problème quadratique-linéaire • Modification pour avoir un hessien défini positif • Algorithme spécialisé problème quadratique Globalisation • Mise à jour de la pénalisation de la fonction mérite • Recherche linéaire ou région de confiance  grand nombre de variantes possibles  stratégies et réglages à adapter au cas par cas

Mise à jour xk , HLk , k

Solution problème quadratique dQP

Globalisation dk

661

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

Max CERF 2018

Techniques d’optimisation 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 , ) 





2



min c( x 0 )  f ( x 0 )

2



Il s’agit d’un problème de moindres carrés de la forme : min A  b 

2

A  c ( x 0 ) avec   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 3.5 Quadratique séquentiel 3.5.4 Algorithme

Max CERF 2018

Techniques d’optimisation 3.5.4 Exemples

Exemple 1 : Comparaison Newton  SQP f ( x )  2x 12  2x 22  2x 1 x 2  4x 1  6x 2 sous c( x )  2x 12  x 2  0 • Minimisation de •

Comparaison de 3 méthodes :

Résolution exacte • Lagrangien : •

résolution exacte , méthode de Newton , algorithme SQP



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 Conditions KKT : 4x 2  2x 1  6    0 2x 2  x  0 2  1

Matrices utiles •

 4x 1  2x 2  4  4x 1    Newton : Fx 1 , x 2 ,     4x 2  2x 1  6      2x 12  x 2  



SQP :

 4x  2x 2  4   f x    1 4 x  2 x  6 1  2 



 x 1 *  1.06902  solution x 2 *  2.28563   *  1.00446   4  4  2 4x 1     Fx 1 , x 2 ,      2 4 1   4x  1 0  1 

 4x  cx    1   1 

 4  4  2    2xx Lx,      2 4  

663

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

Techniques d’optimisation

Max CERF 2018

3.5.4 Exemples Exemple 1 : Méthode de Newton •

Itération de Newton :

 d x1    Fx 1 , x 2 ,   d x 2   Fx 1 , x 2 ,   d   

Point initial :

  6  x1   0           F x , x ,   x  1   2  2   1 2  1     0      



Itération 1 :

 4  2 0  d x1   6        2 4  1 d   x 2    2   0  1 0  d   1       



 x1   x 1  d x1      Nouveau point :  x 2    x 2  d x 2    d      



La méthode de Newton converge en 7 itérations, sans globalisation.



 4 2 0    Fx 1 , x 2 ,      2 4  1  0 1 0   

 d x1   1        d x2    1  d    8      x1   1       x2    0       8    

664

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

Max CERF 2018

Techniques d’optimisation 3.5.4 Exemples

Exemple 1 : Méthode de Newton Itération

x1

x2



f(x1,x2)

c(x1,x2)

1

0,00000

1,00000

0,00000

-4,00000

-1,00000

2

1,00000

0,00000

-8,00000

-2,00000

2,00000

3

1,20000

2,80000

2,80000

-9,76000

0,08000

4

1,08639

2,33466

1,16588

-10,16445

0,02582

5

1,06933

2,28636

1,00676

-10,14342

0,00058

6

1,06902

2,28563

1,00446

-10,14283

1,88E-07

7

1,06902

2,28563

1,00446

-10,14283

1,60E-14

F(x1,x2,) -6,000 -2,000 -1,000 -32,000 0,000 2,000 8,640 0,000 0,080 7,4E-01 0,0E+00 2,6E-02 1,1E-02 0,0E+00 5,8E-04 2,8E-06 0,0E+00 1,9E-07 2,1E-13 0,0E+00 1,6E-14

dF(x1,x2,) 4,000 -2,000 0,000 -28,000 -2,000 4,000 15,200 -2,000 4,800 8,664 -2,000 4,346 8,027 -2,000 4,277 8,018 -2,000 4,276 8,018 -2,000 4,276

-2,000 4,000 -1,000 -2,000 4,000 -1,000 -2,000 4,000 -1,000 -2,000 4,000 -1,000 -2,000 4,000 -1,000 -2,000 4,000 -1,000 -2,000 4,000 -1,000

0,000 -1,000 0,000 4,000 -1,000 0,000 4,800 -1,000 0,000 4,346 -1,000 0,000 4,277 -1,000 0,000 4,276 -1,000 0,000 4,276 -1,000 0,000

665

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

Max CERF 2018

Techniques d’optimisation 3.5.4 Exemples

Exemple 1 : Algorithme SQP • •







Problème quadratique linéaire :

Point initial :

 x1   0       x2   1    0    

Itération 1 :

  6 min   d x1 ,d x 2  2  

T

1 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

  6  f x       2

 d x1  1  d x1       d d 2  x2   x2 

T

0 cx       1

 4  2  d x1   sous   d  2 4   x 2 

 4  2   2xx Lx,      2 4  

 0  d x1    1  0   d  1   x 2  x

min 2d 2x1  4d x1 d  1   d x1 avec  QP  8   x1 d x 2  1 d x 2  1  x 1  d x1   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 3.5 Quadratique séquentiel 3.5.4 Algorithme

Max CERF 2018

Techniques d’optimisation 3.5.4 Exemples

Exemple 1 : Algorithme SQP Itération

x1

x2



f(x1,x2)

c(x1,x2)

f

c

L

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

0,000

4,000

-32,000 -28,000

-2,000

-8,000

-1,000

0,000

-2,000

4,000

-4,800

4,800

8,640

15,200

-2,000

2,800

-1,000

0,000

-2,000

4,000

-4,324

4,346

0,74262

8,664

-2,000

1,166

-1,000

0,00000

-2,000

4,000

-4,295

4,277

1,1E-02

8,027

-2,000

1,007

-1,000

0,0E+00

-2,000

4,000

-4,295

4,276

2,8E-06

8,018

-2,000

1,004

-1,000

0,0E+00

-2,000

4,000

-4,295

4,276

2,1E-13

8,018

-2,000

1,004

-1,000 0,0E+00

-2,000

4,000

2

3

4

5

6

7

1,00000

1,20000

1,08639

1,06933

1,06902

1,06902

0,00000

2,80000

2,33466

2,28636

2,28563

2,28563

-8,00000

2,80000

1,16588

1,00676

1,00446

1,00446

-2,00000

-9,76000

-10,16445

-10,14342

-10,14283

-10,14283

2,00000

0,08000

0,02582

0,00058

1,9E-07

1,6E-14

2L(x1,x2,)

667

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

Techniques d’optimisation

Max CERF 2018

3.5.4 Exemples Exemple 2 : SQP sans  avec globalisation 2 • Minimisation de f ( x )  x 1  x 2 sous c( x )  x 12  x 2  1  1  0 •

Différents points initiaux  globalisation nécessaire pour assurer la convergence

Résolution exacte • Lagrangien : •

Conditions KKT :





L( x, )  x 1  x 2   x 12  ( x 2  1) 2  1

1  2x 1  0  1  2( x 2  1)  0  x 2  x  12  1  0 2  1

x 1 *   1 / 2  0.70711  solution x 2 *  1  1 / 2  0.29289  *  1 / 2  0.70711 

Matrices utiles • • •

Gradient :

1 f x     1

 2x1   cx     2( x 2  1) 

 2 0    2xx Lx,      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 3.5 Quadratique séquentiel 3.5.4 Algorithme

Max CERF 2018

Techniques d’optimisation 3.5.4 Exemples

Exemple 2 : SQP sans globalisation 2 • Minimisation de f ( x )  x 1  x 2 sous c( x )  x 12  x 2  1  1  0 • •

 x1   1      Point initial :  x 2     1  1    

2,5

Algorithme SQP sans globalisation  convergence rapide

1,5

Itération 1 2 3 4 5 6 7

x1 1,00000 0,00000 -1,00000 -0,77401 -0,70743 -0,70714 -0,70711

x2 -1,00000 -0,50000 -0,08333 0,24973 0,28900 0,29291 0,29289

 1,00000 0,50000 0,47222 0,60672 0,69818 0,70707 0,70711

2

1

0,5

0 -2

-1,5

-1

-0,5

0

0,5

1

1,5

2

-0,5

-1

669

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

Max CERF 2018

Techniques d’optimisation 3.5.4 Exemples

Exemple 2 : SQP sans globalisation 2 • Minimisation de f ( x )  x 1  x 2 sous c( x )  x 12  x 2  1  1  0 • •

 x 1    1.5      x  2  Point initial :  2     1     

2,5

2

Algorithme SQP sans globalisation  convergence rapide Itération 1 2 3 4 5 6 7

x1 -1,50000 -1,36538 -1,11784 -0,80352 -0,70990 -0,70718 -0,70711

x2 2,00000 1,07692 -0,18542 0,21615 0,28607 0,29293 0,29289

 1,00000 0,42308 0,44290 0,57183 0,68889 0,70697 0,70711

1,5

1

0,5

0 -2

-1,5

-1

-0,5

0

0,5

1

1,5

2

-0,5

-1

670

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

Max CERF 2018

Techniques d’optimisation 3.5.4 Exemples

Exemple 2 : SQP sans globalisation 2 • Minimisation de f ( x )  x 1  x 2 sous c( x )  x 12  x 2  1  1  0 • •

 x 1    0.1     x  1  Point initial :  2     1     

2,5

2

Algorithme SQP sans globalisation  convergence lente Itération 1 2 3 4 5 6 7 8 9 10 11 12

x1 -0,10000 -5,05000 -2,62404 -1,50286 -1,08612 -1,01047 -1,33383 -0,96379 -0,72273 -0,70890 -0,70710 -0,70711

x2  1,00000 1,00000 0,50000 -44,50000 0,75032 -21,27825 0,87826 -8,90106 0,96364 -2,13558 1,19247 0,31161 -0,65614 0,39510 0,10912 0,48447 0,25387 0,63996 0,29344 0,70407 0,29289 0,70710 0,29289 0,70711

1,5

1

0,5

0 -2

-1,5

-1

-0,5

0

0,5

1

1,5

2

-0,5

-1

671

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

Max CERF 2018

Techniques d’optimisation 3.5.4 Exemples

Exemple 2 : SQP avec globalisation 2 • Minimisation de f ( x )  x 1  x 2 sous c( x )  x 12  x 2  1  1  0 • •

 x 1    0.1     x  1  Point initial :  2     1     

2,5

2

Algorithme SQP avec globalisation  convergence plus rapide Itération 1 2 3 4 5 6 7 8

x1 -0,10000 -1,33750 -1,03171 -0,94371 -0,74975 -0,71035 -0,70710 -0,70711

x2  1,00000 1,00000 0,87500 -44,50000 0,82117 1,63129 0,58304 0,62377 0,22132 0,65803 0,29156 0,70147 0,29288 0,70708 0,29289 0,70711

1,5

1

0,5

0 -2

-1,5

-1

-0,5

0

0,5

1

1,5

2

-0,5

-1

672

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

Max CERF 2018

Techniques d’optimisation 3.5.4 Exemples

Exemple 2 : SQP avec globalisation Itération

x1

x2



L

1

-0,10000

1,00000

1,00000

9,90000

2,00000

1,00000 2 3 4 5 6 7 8

-1,33750 -1,03171 -0,94371 -0,74975 -0,71035 -0,70710 -0,70711

0,87500 0,82117 0,58304 0,22132 0,29156 0,29288 0,29289

-44,50000 1,63129 0,62377 0,65803 0,70147 0,70708 0,70711

2L(x1,x2,)



dx

Pas s

0,00000

0,0

-4,95000

0,25

0,00000

2,00000

0,0

-0,50000

0,25

-3,36370

-89,00000

0,00000

100,0

0,30579

1,00

0,59218

0,00000

-89,00000

100,0

-0,05383

1,00

-0,28710

3,26258

0,00000

0,0

0,08800

1,00

0,77690

0,00000

3,26258

0,0

-0,23812

1,00

-0,24198

1,24754

0,00000

0,0

0,19396

1,00

0,45126

0,00000

1,24754

0,0

-0,36172

1,00

-0,05185

1,31605

0,00000

0,0

0,03940

1,00

-0,09244

0,00000

1,31605

0,0

0,07024

1,00

-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

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

-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 3.5 Quadratique séquentiel 3.5.4 Algorithme

Max CERF 2018

Techniques d’optimisation 3.5.4 Exemples

Exemple 2 : SQP sans globalisation 2 • Minimisation de f ( x )  x 1  x 2 sous c( x )  x 12  x 2  1  1  0 • •

 x 1   0.1     Point initial :  x 2    1    1     

2,5

Algorithme SQP sans globalisation  solution = maximum local

1,5

Itération 1 2 3 4 5 6 7 8 9 10

x1 0,10000 5,05000 2,62404 1,50282 1,08576 1,00831 0,92650 0,70291 0,70870 0,70711

x2  1,00000 1,00000 0,50000 -54,50000 0,75028 -26,28019 0,87782 -11,41974 0,95907 -3,50192 1,11015 -0,71030 1,72824 -0,55351 1,74580 -0,67324 1,70662 -0,70579 1,70711 -0,70710

2

1

0,5

0 -2

-1,5

-1

-0,5

0

0,5

1

1,5

2

-0,5

-1

674

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

Max CERF 2018

Techniques d’optimisation 3.5.4 Exemples

Exemple 2 : SQP avec globalisation 2 • Minimisation de f ( x )  x 1  x 2 sous c( x )  x 12  x 2  1  1  0 • •

 x 1   0.1     Point initial :  x 2    1    1     

2,5

Algorithme SQP avec globalisation  convergence

1,5

Itération 1 2 3 4 5 6 7 8 9 10 11 12

x1 0,10000 1,33750 1,03687 0,97837 0,94133 0,50173 -0,82925 -1,05655 -0,80511 -0,70800 -0,70721 -0,70711

x2  1,00000 1,00000 0,87500 -54,50000 0,87643 4,23389 0,75123 -0,24333 0,60794 -0,35556 -0,43482 -0,26135 -0,67191 0,26961 -0,18790 0,45516 0,23137 0,58156 0,28512 0,69118 0,29295 0,70699 0,29289 0,70711

2

1

0,5

0 -2

-1,5

-1

-0,5

0

0,5

1

1,5

2

-0,5

-1

675

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

Max CERF 2018

Techniques d’optimisation 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

2

1,33750

0,87500

-54,50000

3

1,03687

0,87643

4,23389

4

0,97837

0,75123

-0,24333

5

0,94133

0,60794

-0,35556

6

0,50173

-0,43482

-0,26135

7

-0,82925

-0,67191

0,26961

8

-1,05655

-0,18790

0,45516

9

-0,80511

0,23137

0,58156

10

-0,70800

0,28512

0,69118

11

-0,70721

0,29295

0,70699

12

-0,70711

0,29289

0,70711

-9,90000 1,00000 12,32567 -0,05847 0,49539 1,06014 0,30426 1,17691 0,50796 1,20493 1,27054 0,22632 0,24512 -0,52197 -0,22888 -0,38167 -0,11295 -0,06252 -1,1E-03 -1,1E-02 -1,4E-04 8,0E-05 1,2E-08 -2,5E-08

2,00000 0,00000 0,00000 2,00000 -109,00000 0,00000 0,00000 -109,00000 8,46779 0,00000 0,00000 8,46779 -0,48667 0,00000 0,00000 -0,48667 -0,71112 0,00000 0,00000 -0,71112 -0,52271 0,00000 0,00000 -0,52271 0,53921 0,00000 0,00000 0,53921 0,91032 0,00000 0,00000 0,91032 1,16311 0,00000 0,00000 1,16311 1,38235 0,00000 0,00000 1,38235 1,41398 0,00000 0,00000 1,41398 1,41421 0,00000 0,00000 1,41421

0,0 0,0 150,0 150,0 0,0 0,0 1,0 1,0 1,0 1,0 1,0 1,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0

4,95000 -0,50000 -0,30063 0,00143 -0,05850 -0,12520 -0,59272 -2,29267 -1,75838 -4,17104 -2,66197 -0,47418 -0,45458 0,96802 0,25143 0,41927 0,09711 0,05376 8,0E-04 7,8E-03 1,0E-04 -5,7E-05 -8,4E-09 1,8E-08

0,25 0,25 1,00 1,00 1,00 1,00 0,06 0,06 0,25 0,25 0,50 0,50 0,50 0,50 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00

676

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

Max CERF 2018

Techniques d’optimisation 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  Point initial : x    ,   0  1.3 

1 3 Solution : x*    ,    2  0

1,5

1,5

SQP

Lagrangien augmenté 1

1

0,5

0,5

0

-1,5

-1

-0,5

0

0

0,5

1

1,5

-1,5

-1

-0,5

0

-0,5

-0,5

-1

-1

-1,5

-1,5

0,5

1

1,5

677

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

Max CERF 2018

Techniques d’optimisation 3.5.4 Exemples

Exemple 3 : Comparaison SQP  Lagrangien augmenté SQP Itération 1 2 3 4 5 6 7 8 9

x1 0,50000 0,59665 1,12042 1,18366 1,03482 1,00084 1,00000

x2 1,30000 0,90129 0,46118 -0,19988 0,02190 -0,00103 0,00000

Lagrangien augmenté  0,00000 -1,38660 -1,70047 -1,57065 -1,52359 -1,50118 -1,50000

Convergence rapide, très précise

x1 0,50000 0,40707 0,73467 0,91556 0,98869 0,99953 0,99905 0,99995 1,00000

x2 1,30000 0,34917 0,63433 0,39077 0,16985 0,04158 -0,00320 0,00171 0,00045

 0,00000 -0,71238 -1,29122 -1,38175 -1,38175 -1,30283 -1,49103 -1,50003 -1,50003

Convergence plus lente, moins précise  suivi de la contrainte  conditionnement

678

3 Optimisation avec contraintes 3.6 Convergence

Techniques d’optimisation

Max CERF 2018

Sommaire 1. 2.

Bases théoriques 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. 5.

Optimisation discrète Optimisation fonctionnelle

679

3 Optimisation avec contraintes 3.6 Convergence 3.6.1 Convergence globale

Techniques d’optimisation

Max CERF 2018

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



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

= convergence vers un point stationnaire  convergence vers le minimum global

680

3 Optimisation avec contraintes 3.6 Convergence 3.6.1 Convergence globale

Max CERF 2018

Techniques d’optimisation 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  - les pas sk vérifient les conditions de Wolfe

f ( x k ) T d k  0

f ( x k  sd k )  f ( x k )  c1sf ( x k ) T d k   T T f ( x k  sd k ) d k  c 2 f ( x k ) d k

- 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 3.6 Convergence 3.6.1 Convergence globale

Max CERF 2018

Techniques d’optimisation 3.6.1 Convergence globale

Eléments de la démonstration k = angle entre le gradient f(xk) et la direction de descente dk •

Théorème de Zoutendijk :  cos  k f k 2

k

2

f kT d k   avec cos  k   f k d k

Démontré à partir de : f ( y )  f ( x )  L y  x , x , y

 f ( xk  sd k )  f ( xk )  c1 sf ( xk )T d k et  T T f ( xk  sd k ) d k  c2 f ( xk ) d k

(condition de Lipschitz) (conditions de Wolfe)

cos 2  k  0  ou f k  0 •

Méthode de plus forte pente : d k  f k



Méthode de Newton :

 cos  k  1  lim f ( xk )  0 k 

d k   H k f k avec H k H k1  M

(conditionnement borné)

x T Ax x T Ax , σ n  min T En utilisant le théorème de Rayleigh-Ritz : σ 1  max x 0 x 0 x x xT x (valeurs propres 1…  n)  cos  k  1 / M  lim f ( xk )  0 k 

682

3 Optimisation avec contraintes 3.6 Convergence 3.6.2 Comparaison des algorithmes

Max CERF 2018

Techniques d’optimisation 3.6.2 Comparaison des algorithmes

Classification • Méthodes primales • Méthodes primales-duales • Méthodes duales

Problème traité Objectif

Méthode primale

Méthode primale-duale

Méthode duale

problème primal

problème primal

problème dual

min f

solution KKT

max w

- méthode directe - point stationnaire

- méthode indirecte - point stationnaire

- méthode indirecte - point col

Itérations

admissibles

admissibles ou non

non admissibles

Variables

primales x

primales x , duales 

primales x , duales 

Algorithmes

- simplexe (LP) - gradient projeté - pénalisation

- point intérieur (LP, NLP) - séquentiel quadratique

- simplexe dual (LP) - lagrangien augmenté - Uzawa

683

3 Optimisation avec contraintes 3.6 Convergence 3.6.2 Comparaison des algorithmes

Max CERF 2018

Techniques d’optimisation 3.6.2 Comparaison des algorithmes

Méthode (auteurs, date)

Type

Convergence

Avantages

Difficultés

Plus forte pente (Cauchy 1847)

sans contraintes

linéaire

convergence globale

convergence lente si mauvais conditionnement

Quasi-Newton (DFP 1959, BFGS 1970)

sans contraintes

superlinéaire quadratique

1 minimisation par itération

hessien défini positif stockage mémoire (n2)

Gradient conjugué (Hestenes 1951, Stiefel 1952) (Fletcher-Reeves 1964)

sans contraintes

superlinéaire quadratique

stockage mémoire réduit

hessien défini positif n minimisations par itération

Simplexe (Dantzig 1950)

problème linéaire

exponentiel

vitesse de convergence itérations admissibles

algorithme exponentiel dégénérescence

Gradient projeté, réduit (Rosen 1960, Wolfe 1962) (Abadie-Carpentier 1969)

primale

itérations admissibles

convergence lente si - mauvais conditionnement - non linéarités fortes

Séquentiel quadratique

primale-duale

quadratique (Newton)

vitesse de convergence

globalisation nécessaire itérations non admissibles

Pénalisation extérieure (Fiacco-Mc Cormick 1968)

primale

quadratique (Newton)

sans contraintes

précision contraintes conditionnement

Pénalisation intérieure Point intérieur (Karmarkar 1984)

primale-duale problème linéaire

quadratique (Newton)

algorithme polynomial (LP)

précision contraintes

Lagrangien augmenté (Hestenes 1969, Powell 1969)

duale

quadratique (Newton)

sans contraintes

précision contraintes

Uzawa (1958)

duale

linéaire

sans contraintes

précision contraintes 684

3 Optimisation avec contraintes 3.6 Convergence 3.6.3 Difficultés pratiques

Techniques d’optimisation

Max CERF 2018

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 3.6 Convergence 3.6.3 Difficultés pratiques

Techniques d’optimisation

Max CERF 2018

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)  p p

par différences finies

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 3.6 Convergence 3.6.3 Difficultés pratiques

Max CERF 2018

Techniques d’optimisation 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) : •

L équation différentielle est intégrée de t0 à tf par la méthode d’Euler sur 2 pas de temps. t0



x  f ( x, p, t )

pas 

pas 

t1

x0

x1

f0 = f(x0,p,t0)

f1 = f(x1,p,t1)

Pour évaluer le gradient par différences finies

tf xf (p)

x f x f (p  p)  x f (p)  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). t0

pas +

t1

pas 

x0

x'1

f0p = f(x0,p+p,t0)

f 1p = f(x1,p+p,t1)

tf xf (p+p)

687

3 Optimisation avec contraintes 3.6 Convergence 3.6.3 Difficultés pratiques

Max CERF 2018

Techniques d’optimisation 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)

x1  x 0  f 0  x  x  f  1 1  f •



 , .

f  f ( x 0 , p, t 0 ) avec  0 f1  f ( x1 , p, t1 )

La solution perturbée (p+p)

x1'  x 0  f 0 p (  )  x '  x '  f ' (   ) 1 1p  f

est intégrée en 2 pas de temps identiques :

est intégrée en 2 pas de temps différents :

f  f ( x 0 , p  p, t 0 ) avec  0' p ' ' f  f ( x , p   p , t ) 1 p 1 1 

+ , .

effet de la variation  ' 1p

f

effet de la variation p

On développe x1 et xf à l’ordre 1 par rapport à p.

  f   x1'  x 0  f 0    p (  )   p  0 

 f   x1'  x1  f 0     p(  )  p  0

  f   f   f   x  x  f1    x1    p    t1  (  )  x 1  t 1    p 1

x1  x1'  x1 avec  ' t1  t1  t1  

' f

' 1

688

3 Optimisation avec contraintes 3.6 Convergence 3.6.3 Difficultés pratiques

Max CERF 2018

Techniques d’optimisation 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  x 1   t 1   p  0  p  0   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      t 1    x 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 3.6 Convergence 3.6.3 Difficultés pratiques

Techniques d’optimisation

Max CERF 2018

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 :

  f   f   2  f   f    f   f       f  x f  f                           f 0  f1     f 0       p  p  x 1  p  0   p  0  p 1  p   t 1    x 1    0  p 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             f  f   f     p  p  0 1   x  0  t    p 1 1       0  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 3.6 Convergence 3.6.3 Difficultés pratiques

Max CERF 2018

Techniques d’optimisation 3.6.3 Equation différentielle

Exemple On considère l’équation différentielle : • Application numérique : •



x ( t )  x ( t 0 )e  p ( t  t 0 )  x ( t f )  ( t f  t 0 ) x ( t f ) p

Solution Euler valeur p

t1 = 0.100

Solution Euler valeur p+p avec pas variable p +p = 1.0001



t1 = 0.100

Solution Euler valeur p+p avec pas fixé p +p = 1.0001



t0 = 0 tf = 0.2

x0 = 1 p=1 pas  = 0.1

p = 0.0001  = 0.001

Solution exacte

p = 1.0000



x  px

t1 = 0.101

t

0,000

x(p)

0,200



x ( t f )  0.1637 p



x ( t f )  0.1799 p



x ' ( t f )  0.1800 p

1,000000 0,904837 0,818731

t

0,000

x(p)

0,100

0,200

1,000000 0,900000 0,810000

t

0,000

x(p+p) t'

0,100

0,100

0,200

1,000000 0,899000 0,808201 0,000

0,101

0,200

x'(p+p) 1,000000 0,897990 0,808200

  f 

 f  

Erreur sur le gradient due au changement de pas  :         ( x 0  x1 )  0.0001   p  0  p 1 

691

Max CERF 2018

Techniques d’optimisation Résumé : optimisation continue Bases théoriques • Différentiabilité : • Contraintes linéaires : • Conditions d’optimalité :

gradient, hessien, jacobien, lignes de niveau (§1.1.3) base, solution de base, direction de base (§1.2.2) lagrangien, conditions KKT (§1.4.3)

Optimisation sans contraintes • Méthode de Newton : • Moindres carrés linéaires :

principe, quasi-Newton, globalisation équations normales

(§2.2) (§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

Techniques d’optimisation

Max CERF 2018

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

Techniques d’optimisation

Max CERF 2018

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

Techniques d’optimisation

Max CERF 2018

4 Optimisation discrète Optimisation difficile • Variables entières



Combinatoire exponentielle Impossibilité de parcourir l’ensemble des possibilités



Fonctions non dérivables non continues



Pas de gradient 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 4.1 Problème combinatoire

Techniques d’optimisation

Max CERF 2018

Sommaire 1. 2. 3.

Bases théoriques Optimisation sans contraintes 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 4.1 Problème combinatoire 4.1.1 Graphes

Techniques d’optimisation

Max CERF 2018

4.1.1 Graphes  Définitions  Parcours

 Problèmes types  Complexité  Algorithmes

697

4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes

Max CERF 2018

Techniques d’optimisation 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é :  graphe orienté

e = (v,w)

v



e = [v,w]

v



Une arête est un couple de nœuds non ordonné :  graphe non orienté

Une boucle relie un nœud à lui-même.

Nombre d’arcs entre nœuds • Multigraphe ou p-graphe  Il peut y avoir p arcs entre 2 nœuds. • Graphe simple ou 1-graphe  Il y a au plus un arc entre 2 nœuds.



e

e

w

w

e v e1 v

e2

w

e3

La densité d’un graphe simple est le rapport m/n² = nombre d’arcs / nombre maximal théorique

698

4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes

Max CERF 2018

Techniques d’optimisation 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. 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)

v

e

w

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 4.1 Problème combinatoire 4.1.1 Graphes

Techniques d’optimisation

Max CERF 2018

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 vj La matrice d’adjacence A est une matrice booléenne à n lignes et n colonnes.    Les lignes correspondent aux nœuds de départ.   v i    1  Les colonnes correspondent aux nœuds d’arrivée.   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 v j     1  et l’élément ajk vaut 1 (sinon aik = ajk =0).      Pour une boucle sur le nœud vi, l’élément aii vaut +1.  

700

4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes

Max CERF 2018

Techniques d’optimisation 4.1.1 Définitions

Exemple • Graphe à 5 nœuds et 10 arcs. •



Liste des successeurs : v1 v2 v3 v4 v5

    

v2 , v3 , v5 v2 , v3 v4 v1 , v5 v1 , v3

Matrices d’adjacence et d’incidence

v1 v1  0  v2  0 v3  0  v4  1 v 5  1

v2 1 1 0 0 0

v3 1 1 0 0 1

v4 0 0 1 0 0

v5 1  0 0  1 0 

Matrice d’adjacence 55

v2

e1

v5

e3

e4

v1 e5 e10

e2

e9

v3 e7

e8

e6 v4

e1 e 2 e3 e 4 e5 e 6 e 7 e8 e9 e10 v1   1 0 0  1  1 0  1 0 0  1   v2  1  1  1 0 0 0 0 0 0 0  v3  0 0  1  1 0  1 0 0  1 0    v4  0 0 0 0 0 1  1  1 0 0  v 5  0 0 0 0  1 0 0  1  1  1 Matrice d’incidence 510

701

4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes

Techniques d’optimisation

Max CERF 2018

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 4.1 Problème combinatoire 4.1.1 Graphes

Max CERF 2018

Techniques d’optimisation 4.1.1 Parcours

Parcours particuliers • Un parcours eulérien passe une fois exactement par chaque arc (arête). •

Un parcours hamiltonien passe une fois exactement par chaque nœud.  Il passe donc au plus une fois par chaque arc (arête). Exemple : jeu de la maison  parcours eulérien

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

2

3 6

1

7

5

4

8



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 4.1 Problème combinatoire 4.1.1 Graphes

Max CERF 2018

Techniques d’optimisation 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.

0  0 A  0  1  1 1  1 A3   1  1  2

1 1 0 0 0 2 1 1 2 1

1 1 0 0 1 2 1 2 3 2

0 0 1 0 0 2 1 0 2 1

1  0 0  1  0 2  1 1  1  1

1  0 A2  1  1  0 4  2 A4  1  3  2

1 1 0 1 1 3 2 2 3 3

2 1 0 2 1 5 3 3 4 4

1 1 0 0 1 2 1 2 3 2

0  0 1  1  1 3  2 1  3  3

e1

v5

e3

e4

v1 e5 e10

v2

e2

e9

v3 e7

e8

e6 v4

704

4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes

Max CERF 2018

Techniques d’optimisation 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 A



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 4.1 Problème combinatoire 4.1.1 Graphes

Max CERF 2018

Techniques d’optimisation 4.1.1 Parcours

Exemple • Graphe à 6 nœuds  n = 6 0  0 0 A 0  0 0 

1 0 0 0 1 0

0 1 0 0 1 0

0 0 1 0 0 0

1 0 0 0 0 0

0  0 0  1  1 0 

1  0 0 IA  0  0 0 

1 1 0 0 1 0

0 1 1 0 1 0

0 0 1 1 0 0

1 0 0 0 1 0

0  0 0  1  1 1 

1  0 0 2 (I  A)   0  0 0 

1 1 0 0 1 0

1 1 1 0 1 0

0 1 1 1 1 0

1 0 0 0 1 0

1  0 1  1  1 1 

1  0 0 3 (I  A)   0  0 0 

1 1 0 0 1 0

1 1 1 0 1 0

1 1 1 1 1 0

1 0 0 0 1 0

1  1 1  1  1 1



(I + A)4 = (I + A)3  On peut arrêter le calcul à k=4.

v2

v3 v4

v1 v5 1  0 0 4 (I  A)   0  0 0 

1 1 0 0 1 0

1 1 1 0 1 0

1 1 1 1 1 0

1 0 0 0 1 0

1  1 1  1  1 1

1  0  ˆ  (I  A) 5   0 A 0  0 0 

1 1 0 0 1 0

1 1 1 0 1 0

1 1 1 1 1 0

1 0 0 0 1 0

1  1 1  1  1 1

v6

706

4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes

Max CERF 2018

Techniques d’optimisation 4.1.1 Parcours

Exemple • Graphe à 6 nœuds  n = 6 1  0 0 5 ˆ A  (I  A)   0  0 0 

1 1 0 0 1 0

1 1 1 0 1 0

1 1 1 1 1 0

1 0 0 0 1 0

1  1 1  1  1 1

v2

v3 v4

v1 v5



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.

v6

707

4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes

Techniques d’optimisation

Max CERF 2018

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 4.1 Problème combinatoire 4.1.1 Graphes

Max CERF 2018

Techniques d’optimisation 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 Matrice carrée nn

 taille mesurée par (n,m)  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) k 1

pour i , j = 1 à n

 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(n.log n) , O(n2) , O(2n) , O(n!) , O(nn) , …

709

4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes

Max CERF 2018

Techniques d’optimisation 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(n.log n) , O(n2) , … •

n Un algorithme non polynomial est exponentiel. 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

n.log 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 4.1 Problème combinatoire 4.1.1 Graphes

Techniques d’optimisation

Max CERF 2018

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 4.1 Problème combinatoire 4.1.1 Graphes

Max CERF 2018

Techniques d’optimisation 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  contient quasiment tous les problèmes rencontrés en pratique



Classe P (P = Déterministe Polynomial)  on connaît un algorithme polynomial de résolution  problèmes faciles de NP

NP P 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 4.1 Problème combinatoire 4.1.1 Graphes

Techniques d’optimisation

Max CERF 2018

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 4.1 Problème combinatoire 4.1.1 Graphes

Techniques d’optimisation

Max CERF 2018

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 4.1 Problème combinatoire 4.1.1 Graphes

Techniques d’optimisation

Max CERF 2018

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 4.1 Problème combinatoire 4.1.1 Graphes

Techniques d’optimisation

Max CERF 2018

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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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 • Algorithme de Dijkstra • Algorithme de Bellman



 graphe quelconque  graphe à valuations positives  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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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). Si zi + cij < zj , on a trouvé un meilleur chemin arrivant en vj. (= chemin venant de vi)  on met à jour la valeur de vj  zj = zi + cij L’ordre de traitement des arcs est libre.



zi

vi cij

s 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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Algorithme de Ford

Exemple •

4

Graphe valué à 6 nœuds

3

v2

2

5 Source en v1

2

v1

1 3



v3

4

Source v1 : z1 = 0 Autres nœuds : zi = +

1

 2



2 1 3

v6

3 5

0

2

v5

3



Initialisation des coûts

v4



2 1

3



720

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Algorithme de Ford

Exemple •

4

3

4

Première mise à jour 2

5 On effectue un passage par nœud.  Attribution d’une valeur à chaque nœud

2

0

4

On vérifie les arcs non utilisés.  Amélioration des valeurs en 2 nœuds

1

1

3

2

3

1 2

5 0

2

3

4

Deuxième mise à jour

2

2

3

3



4

2

2 1 2

1 3

2

721

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Algorithme de Ford

Exemple •

4

3

4

Troisième mise à jour 2

5 On vérifie les successeurs des nœuds modifiés.  Amélioration des valeurs en 2 nœuds

2

0

4 On vérifie les successeurs des nœuds modifiés.  Amélioration de la valeur en 1 nœud

1

1

3

2

3

1 2

5 0

-1

3

4

Quatrième mise à jour

2

-1

2

3



1

2

0 1 2

1 3

-1

722

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Algorithme de Ford

Exemple •

4

3

4

Fin de l’algorithme 2

5 Il n’y a plus d’amélioration possible. Les marques donnent le coût minimal de la source à chaque nœud.

2

0

1

2 1 -1

3

Coûts minimaux v1v2

v1v3

v1v4

v1v5

v1v6

4

2

1

0

1

4

2

Arcs optimaux Ce sont les arcs dont le coût est égal à la différence des marques.

3

v2

3

v3

1

v4 2

5 v1



0

2

3 •

1

2

v5 1

3

v6

723

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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.  Le graphe peut comporter des circuits.  Le graphe ne doit pas comporter de circuit absorbant. L’algorithme est fini en l’absence de circuit absorbant.

1

vj 1

vi 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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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 vi vj Le coût de vi à vj en passant par vk est : dik + dkj dij Si dik + dkj < dij , on a trouvé un meilleur chemin de vi à vj. (= chemin passant par vk) dkj dik  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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Algorithme de Demoucron et Floyd

Exemple •

3

v2

Graphe valué à 6 nœuds

2

v1

6

6 7

v4

v6

2 v3

8



Matrice initiale D0 dij = cij si les nœuds vi et vj sont reliés dij = + sinon

v1 v1

2 1

v2

v3

v4

3

8

6

v2

2

v3 v4 v5

v5 v5

v6

6 1

2

7 2

v6

726

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Algorithme de Demoucron et Floyd

Exemple •



3

Itération 1 On examine le passage par le nœud v1. La colonne v1 est vide dans la matrice.  Le nœud v1 ne reçoit aucun arc.  v1 ne peut être un nœud intermédiaire.  D1 = D0 Itération 2 On examine le passage par le nœud v2. La colonne v2 a une valeur venant de v1.

 Il faut comparer les coûts d1j et d12 + d2j. d12 + d21 = + d12 + d22 = + d12 + d23 = + d12 + d24 = 5 < 6  amélioration d12 + d25 = 9 < +  amélioration d12 + d26 = +

v2 2

v1

6

6 7

v4

v6

2 v3

8 v1 v1

2 1

v2

v3

v4

3

8

6

v2

2

v3 v4 v5

v5 v5

v6

6 1

2

7 2

v6

727

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Algorithme de Demoucron et Floyd

Exemple •

v1

Itération 3 On examine le passage par le nœud v3. La colonne v3 a une valeur venant de v1 et une valeur venant de v4.

 Il faut comparer les coûts d1j et d13 + d3j. d13 + d31 = + d13 + d32 = + d13 + d33 = + d13 + d34 = + d13 + d35 = 9 = d15  identique d13 + d36 = +  Il faut comparer les coûts d4j et d43 + d3j. d43 + d31 = + d43 + d32 = + d43 + d33 = + d43 + d34 = + d43 + d35 = 3 < +  amélioration d43 + d36 = +

v1

v2

v3

v4

v5

3

8

5

9

2

6

v2 v3

v6

1

v4

7

2

v5

2

v6 v1 v1

v2

v3

v4

v5

3

8

5

9

2

6

v2 v3 v4 v5

v6

1 2

3

7 2

v6

728

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Algorithme de Demoucron et Floyd

Exemple •

v1

Itération 4 On examine le passage par le nœud v4. La colonne v4 a une valeur venant de v1 et une valeur venant de v2.

 Il faut comparer les coûts d1j et d14 + d4j. d14 + d41 = + d14 + d42 = + d14 + d43 = 7 < 8  amélioration d14 + d44 = + d14 + d45 = 8 < 9  amélioration d14 + d46 = 12 < +  amélioration  Il faut comparer les coûts d2j et d24 + d4j. d24 + d41 = + d24 + d42 = + d24 + d43 = 4 < +  amélioration d24 + d44 = + d24 + d45 = 5 < 6  amélioration d24 + d46 = 9 < +  amélioration

v1

v2

v3

v4

v5

3

8

5

9

2

6

v2 v3

v6

1

v4

2

3

v5

7 2

v6 v1 v1 v2

v2

v3

v4

v5

v6

3

7

5

8

12

4

2

5

9

v3 v4 v5

1 2

3

7 2

v6

729

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Algorithme de Demoucron et Floyd

Exemple •

v1

Itération 5 On examine le passage par le nœud v5. La colonne v5 a une valeur venant de v1 une valeur venant de v2 une valeur venant de v3 une valeur venant de v4.

v1

 Il faut comparer les coûts d1j et d15 + d5j. d15 + d56 = 10 < 12  amélioration

v6

 Il faut comparer les coûts d2j et d25 + d5j. d25 + d56 = 7 < 9  amélioration

v1

 Il faut comparer les coûts d3j et d35 + d5j. d35 + d56 = 3 < +  amélioration

 Il faut comparer les coûts d4j et d45 + d5j. d45 + d56 = 5 < 7  amélioration

v2

v3

v4

v5

v6

3

7

5

8

12

4

2

5

9

v2 v3

1

v4

2

3

v5

2

v1 v2

v2

v3

v4

v5

v6

3

7

5

8

10

4

2

5

7

1

3

3

5

v3 v4 v5

7

2

2

v6

730

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Algorithme de Demoucron et Floyd

Exemple •



3

Itération 6 On examine le passage par le nœud v6. La ligne v6 est vide dans la matrice.  Aucun arc ne part du nœud v6.  v6 ne peut être un nœud intermédiaire.  D6 = D5 Fin de l’algorithme Les 6 nœuds intermédiaires ont été examinés. On obtient la matrice finale D6 .

2

v1

La matrice D6 est le distancier du graphe. dij est le coût du meilleur chemin de de vi à vj.

6

6 7

v4

v6

2

v1 v1

2

v3

8

v2



v2

1

v2

v3

v4

v5

v6

3

7

5

8

10

4

2

5

7

1

3

3

5

v3 v4 v5

v5

2

2

v6

731

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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

De j = 1 à n (j = numéro du nœud d’arrivée)

dkj

dik Remplacer dij par Min (dij , dik + dkj)

vj

dij

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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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 zi = + aux autres nœuds

 Les nœuds sont non traités.

Traitement d’un nœud On choisit parmi les nœuds non traités le nœud vi de valeur minimale zi.

On met à jour les valeurs des nœuds vj successeurs du nœud vi. Si zi + cij < zj , on met à jour la valeur de vj  zj = zi + cij Le nœud vi est traité. •

zi

vi cij

s 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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Algorithme de Dijkstra

Exemple •

Graphe valué à 5 nœuds Valuations positives Source en v1



6

v1

Initialisation des coûts Source v1 : z1 = 0 Autres nœuds : zi = + Les nœuds sont non traités.

v2

1

2

2

v3

6



0

2



1



2

1

4

v5

1

2

2

v4

4



734

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Algorithme de Dijkstra

Exemple •

6

1



Traitement du premier nœud Les nœuds non traités sont : v1,v2,v3,v4,v5. Le nœud de valeur minimale est v1.



6

0

2

On met à jour les valeurs des successeurs de v1. Le nœud v1 est traité.

2

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

6

2

On met à jour les valeurs des successeurs de v3. Le nœud v3 est traité.

2

2



1 1

2

4



2

1

4

3

735

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Algorithme de Dijkstra

Exemple •

5

1

7

Traitement du troisième nœud Les nœuds non traités sont : v2,v4,v5. Le nœud de valeur minimale est v5.



6

0

2

On met à jour les valeurs des successeurs de v5. Le nœud v5 est traité.

2

Traitement du quatrième nœud

6

Les nœuds non traités sont : v2,v4. Le nœud de valeur minimale est v2.

0

2

5

2

On met à jour les valeurs des successeurs de v2. Le nœud v2 est traité.

2

2

3

1 1

2

4

6

2

1

4

3

736

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Algorithme de Dijkstra

Exemple •

6





1

6

Traitement du cinquième nœud Le dernier nœud non traité est v4 qui n’a pas de successeur.



5

0

2

Fin de l’algorithme Les marques donnent le coût minimal de la source à chaque nœud.

2

Coûts minimaux

6

v1v2

v1v3

v1v4

v1v5

5

2

6

3

Arcs optimaux Ce sont les arcs dont le coût est égal à la différence des marques.

v1

2

v2

2

2

v3

3

1 1

2

v4

2

1

4

4

v5

737

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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(m.log n)



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

(n = nombre de nœuds) (m = nombre d’arcs) L’algorithme est polynomial et plus efficace sur les graphes peu denses (rapport m/n2).

738

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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 zi Traitement du nœud vi. 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 zj Le nœud vi est traité. 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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Algorithme de Bellman

Exemple •

Graphe valué à 5 nœuds Graphe sans circuit Source en v1



6

v1

Numérotation des nœuds

1

v2

2

2

v3

6



5

4

2

Ordre topologique : arc [vi , vj]  i < j



v5

1

v4



Initialisation des coûts Source v1 : z1 = 0 Autres nœuds : zi = + Les nœuds sont traités dans l’ordre topologique.

0

2

2



5

4

1



740

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Algorithme de Bellman

Exemple •

6



Traitement du premier nœud Le 1er nœud dans l’ordre topologique est v1.

0

On met à jour les valeurs des successeurs de v1. Le nœud v1 est traité.



1

6

2

2

2

6

Traitement du deuxième nœud

5

4

2 1

6



7

Le 2ème nœud dans l’ordre topologique est v2. On met à jour les valeurs des successeurs de v2. Le nœud v2 est traité.

0

2

2

2

5

4

2



741

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Algorithme de Bellman

Exemple •

6

3

Traitement du troisième nœud Le 3ème nœud dans l’ordre topologique est v3.

0

On met à jour les valeurs des successeurs de v3. Le nœud v3 est traité.



1

6

2

2

2

6

Traitement du quatrième nœud

5

4

2 1

6

0

3

Le 4ème nœud dans l’ordre topologique est v4. On met à jour les valeurs des successeurs de v4. Le nœud v4 est traité.

0

2

2

2

5

4

2

0

742

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Algorithme de Bellman

Exemple •

6





3

Traitement du cinquième nœud Le dernier nœud non traité est v5 qui n’a pas de successeur.



1

6

0

Fin de l’algorithme Les marques donnent le coût minimal de la source à chaque nœud.

2

2 6

Coûts minimaux v1v2

v1v3

v1v4

v1v5

6

2

0

3

Arcs optimaux Ce sont les arcs dont le coût est égal à la différence des marques.

v1

2

v3

4

2 1

v2

2

2

5

5

0

v5

4

2

v4

743

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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. v1 vi Sinon on pourrait améliorer le chemin de v1 à vn.

vn

vj

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. v1 Niveau 0 : V0 = {nœuds sans prédécesseurs}  source(s) Niveau 1 : V1 = {nœuds successeurs de V0} v0 Niveau k : Vk = {nœuds successeurs de Vk1} Un nœud peut appartenir à plusieurs niveaux.

v2 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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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

Niveau 1 :

vj  V1

 z( v j )  min z( v i )  cij

Niveau k :

vj  Vk

v i V0









 z( v j )  min z( v i )  cij v i Vk 1

vi1

vi2

z(vi2) + ci2j

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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Programmation dynamique

Exemple Graphe sans circuit à 5 niveaux

v21 4 v11

3 4

5

8 v0

5

v12

7

4 v13

Niveau 0 V0 = {v0}

5 4 6 4

v22

4 v4

3

2

Niveau 1 V1 = {v11,v12,v13}

5

4 v23

3

v31

v24

7

2 4

Niveau 2 V2 = {v21,v22,v23,v24}

v32

Niveau 3 V3 = {v31,v32}

Niveau 4 V4 = {v4}

746

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Programmation dynamique

Exemple : résolution vers l’avant Traitement du niveau 1

v21 4 8

3 4

5

8 0

5

5

7

4 7

Niveau 0 V0 = {v0}

5 4 6 4

v22

4 v4

3

2

Niveau 1 V1 = {v11,v12,v13}

5

4 v23

3

v31

v24

7

2 4

Niveau 2 V2 = {v21,v22,v23,v24}

v32

Niveau 3 V3 = {v31,v32}

Niveau 4 V4 = {v4}

747

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Programmation dynamique

Exemple : résolution vers l’avant Traitement du niveau 2

10 8

3 4

5

8 0

5

5

7 7

Niveau 0 V0 = {v0}

5 4 6 4 4

4

9

4 v4

3

2

Niveau 1 V1 = {v11,v12,v13}

5

4 9

3

v31

9

7

2 4

Niveau 2 V2 = {v21,v22,v23,v24}

v32

Niveau 3 V3 = {v31,v32}

Niveau 4 V4 = {v4}

748

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Programmation dynamique

Exemple : résolution vers l’avant Traitement du niveau 3

10 8

3 4

5

8 0

5

5

7 7

Niveau 0 V0 = {v0}

5 4 6 4 4

4

9

4 v4

3

2

Niveau 1 V1 = {v11,v12,v13}

5

4 9

3

12

7

2 11

9

4

Niveau 2 V2 = {v21,v22,v23,v24}

Niveau 3 V3 = {v31,v32}

Niveau 4 V4 = {v4}

749

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Programmation dynamique

Exemple : résolution vers l’avant Traitement du niveau 4

10 8

3 4

5

8 0

5

5

7 7

Niveau 0 V0 = {v0}

5 4 6 4 4

4

9

4 17

3

2

Niveau 1 V1 = {v11,v12,v13}

5

4 9

3

12

7

2 11

9

4

Niveau 2 V2 = {v21,v22,v23,v24}

Niveau 3 V3 = {v31,v32}

Niveau 4 V4 = {v4}

750

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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 v11

3 4

5

8 v0

5

v12

7

4 v13

v0

5 4 6 4

v0v11 v0v12 v0v13

3

v22

v31

5

4 4

v4

3 v23

2 v24

7

2 4

v0v12v21 v0v12v22 v0v13v23 v0v12v24

v32

v0v13v23v31 v0v13v23v32

v0v13v23v31v4

751

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Programmation dynamique

Exemple : résolution vers l’arrière Traitement du niveau 3

v21 4 v11

3 4

5

8 v0

5

v12

7

4 v13

Niveau 0 V0 = {v0}

5 4 6 4

v22

4 0

3

2

Niveau 1 V1 = {v11,v12,v13}

5

4 v23

3

5

7

2 7

v24

4

Niveau 2 V2 = {v21,v22,v23,v24}

Niveau 3 V3 = {v31,v32}

Niveau 4 V4 = {v4}

752

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Programmation dynamique

Exemple : résolution vers l’arrière Traitement du niveau 2

9 v11

3 4

5

8 v0

5

v12

7 v13

Niveau 0 V0 = {v0}

5 4 6 4 4

4

9

Niveau 1 V1 = {v11,v12,v13}

5

4 4

8

2

3

5

0

3 7

2 7

11

4

Niveau 2 V2 = {v21,v22,v23,v24}

Niveau 3 V3 = {v31,v32}

Niveau 4 V4 = {v4}

753

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Programmation dynamique

Exemple : résolution vers l’arrière Traitement du niveau 1

9 12

3 4

5

8 v0

5

5 4 13 6 4

7

4 10

Niveau 0 V0 = {v0}

4

9

Niveau 1 V1 = {v11,v12,v13}

5

4 4

8

2

3

5

0

3 7

2 7

11

4

Niveau 2 V2 = {v21,v22,v23,v24}

Niveau 3 V3 = {v31,v32}

Niveau 4 V4 = {v4}

754

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Programmation dynamique

Exemple : résolution vers l’arrière Traitement du niveau 0

9 12

3 4

5

8 17

5

5 4 13 6 4

7

4 10

Niveau 0 V0 = {v0}

4

9

Niveau 1 V1 = {v11,v12,v13}

5

4 4

8

2

3

5

0

3 7

2 7

11

4

Niveau 2 V2 = {v21,v22,v23,v24}

Niveau 3 V3 = {v31,v32}

Niveau 4 V4 = {v4}

755

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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 v11

3 4

5

8 v0

5

v12

7

4 v13

v0v13v23v31v4

5 4 6 4

3

v11v21v31v4 v12v22v31v4 v13v23v31v4

v22

v31

5

4 4

v4

3 v23

2 v24

7

2 4

v21v31v4 v22v31v4 v23v31v4 v24v32v4

v32

v31v4 v32v4

v4

756

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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

 x k  Xk , k  0 à n

zx k 1   min zx k   cx k , x k 1 

(résolution vers l’avant)

zx k 1   maxzx k   cx k 1 , x k 

(résolution vers l’arrière)

x k X k

x k X k

757

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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 Nombre de chemins évalués

 2n  n

(avec 2 arcs partant de chaque nœud) (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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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



vj

hj

L’algorithme A* traite à chaque étape le nœud d’évaluation minimale (= le plus prometteur ).

759

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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 zsi et le nœud vj est ouvert. - Le nœud vi est fermé. s •

Fin de l’algorithme On s’arrête lorsque le meilleur nœud ouvert est l’objectif t.

zsj

vi cij vj

760

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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 zsj

vj

t hj



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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

4.1.2 Heuristique A* Propriétés de l’heuristique • Les propriétés de consistance, monotonie, admissibilité sont liées. Consistance Consistance

 

Monotonie 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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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)

v14

1

v24

v13

2

v23

(5)

2

v33

(6)

1

v21

2

v43 1

v32

(2) 2

2 1

v31

1

(3) 1

estimation = 2

v42

(4)

(5) 1

(1)

(3)

2

1.1

1

1

v22

v44

(2)

(4) 1.5

1

1

2

1.1 v12

v34

(3)

(4)

v11

4

2

1.1

(0)

(1)

(2)

(3)

abscisse = 4 ordonnée = 2

v41

763

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

4.1.2 Heuristique A* Exemple 1 : étape 0 • Nœuds ouverts :

v11 (6)



Nœud à traiter :

v11 (6) = meilleure évaluation



Meilleur chemin :

v11

(3)

(4) 2

(2)

2 (5)

1

1 (3)

(4)

2 (6)

2

1

(3)

(4)

(5) 0

(2) 2

1

1.5 1.1

(1) 2

2

1.1

1

1

1

2

1.1

1

Nœuds évalués : 1 Nœuds traités : 0

1

4

1

(0)

(1)

(2)

(3)

0 (6)

→ C=0

1

764

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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

(3)

(4) 2

1

2 (6)

2 1

Nœud fermé : en gris Nœud ouvert : en jaune

1

(3)

(4)

(5) 1 (6)

(2) 2

1

1.5

1

1 (3)

(4)

1.1

(1) 2

2

(5)

0 (6)

(2)

2

1.1

1

1

2

1.1

Nœuds évalués : 3 Nœuds traités : 1

1

4

1

(0)

(1)

(2)

(3)

1.1 (6.1)

→ C=1

1

Nœud à traiter : en vert

765

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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

(3)

(4) 2

1.1 (6.1)

1

3 (7)

(6)

2

1 (6)

1

2 (6)

Nœud fermé : en gris Nœud ouvert : en jaune

1

(3)

(4)

(5) 1

(2) 2

1

2

1.1

1 (3)

(4) 1.5

(1) 2

2

(5)

0 (6)

(2)

2

1.1

1

1

2

1.1

Nœuds évalués : 5 Nœuds traités : 2

1

4

1

(0)

(1)

(2)

(3)

→ C=2

1

Nœud à traiter : en vert

766

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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

(3)

(4) 2

1.1 (6.1)

1

3 (7)

1

2

1.1 (6)

4 (7)

1 (6)

(2) 2

2 1

2 (6)

Nœud fermé : en gris Nœud ouvert : en jaune

1

(3)

(4)

(5) 1

1 (3)

(4) 1.5

(1) 2

2

(5)

0 (6)

(2)

2

1.1

1

1

2

1.1

Nœuds évalués : 7 Nœuds traités : 3

1

4

1

(0)

(1)

(2)

(3)

→ C=3

1

3 (6)

Nœud à traiter : en vert

767

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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

(3)

(4) 2

1.1 (6.1)

1

3 (7)

1

2

1.1 (6)

4 (7)

1 (6)

(2) 2

2

4 (6)

1

2 (6)

Nœud fermé : en gris Nœud ouvert : en jaune

1

(3)

(4)

(5) 1

1 (3)

(4) 1.5

(1) 2

2

(5)

0 (6)

(2)

2

1.1

1

1

2

1.1

Nœuds évalués : 8 Nœuds traités : 4

1

4

1

(0)

(1)

(2)

(3)

→ C=4

1

3 (6)

Nœud à traiter : en vert

768

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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

(3)

(4) 2

1.1 (6.1)

1

3 (7)

1

2

1.1 (6)

1 (6)

1

4 (7)

(2) 2

2

4 (6)

1

2 (6)

Nœud fermé : en gris Nœud ouvert : en jaune

1

(3)

(4)

(5) 1

5 (6)

(3)

(4) 1.5

(1) 2

2

(5)

0 (6)

(2)

2

1.1

1

1

2

1.1

Nœuds évalués : 9 Nœuds traités : 5

1

4

1

(0)

(1)

(2)

(3)

→ C=5

1

3 (6)

Nœud à traiter : en vert

769

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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

(3)

(4) 2

1.1 (6.1)

1

3 (7)

1

2

1.1 (6)

1 (6)

1

4 (7)

(2) 2

2

4 (6)

1

2 (6)

Nœud fermé : en gris Nœud ouvert : en jaune

1

(3)

(4)

(5) 1

5 (6)

(3)

(4) 1.5

(1) 2

2

(5)

0 (6)

(2)

2

1.1

Nœuds évalués : 10 Nœuds traités : 6

6 (6)

1

1

2

1.1

1

4

1

(0)

(1)

(2)

(3)

→ C=6

1

3 (6)

Nœud à traiter : en vert

770

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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



Meilleur chemin :

v11  v21  v31  v41  v42  v43  v44

1

4.3

(0)

(0) 2.2

2

4.2

(0)

2

(0)

1

1

5 1

3.6

(0) 2

2

4 1

(0)

(0)

(0) 1

2 (0)

2

1.1

(0)

1

2.6

1

2

Nœuds évalués : 23 (A* : 10) Nœuds traités : 14 (A* : 6)

6

1

4.6

(0) 1.5

1 (0)

2

1.1 1.1

5.6 1

2

1.1

0

4

→ C=6

(0)

(0)

(0)

(0) 3.3

→ traité une seule fois.

1

3

Suite des nœuds traités v11 (0) → v21 (1) → v31 (2) → v22 (2.6) → v14 (3.3) → v42 (4) → v24 (4.3) → v43 (5)

→ v12 (1.1) → v13 (2.2) → v41 (3) → v32 (3.6) → v23 (4.2) → v33 (4.6) → v44 (6)

771

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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 )



Exemple : les nouvelles valuations des arcs sont en bleu. (3) v14

0 1

v24

3 4

(4) v13

1 2

(3) v23

1 2

2 1

1.1 0.1 (5) v12

0.5 1.5

(6)

0 1

v22

0 1

0 1

(2) v33

Algorithme de Dijkstra Nœuds traités : 6

v44

1 2

(1) v43 1 0

(3) v32

1 2

(2) v42 1 0

(4) v31

(0)

1 0

2 1 (5)

v21

v34

0 1

1 0

(4)

2 1

1.1 0.1

(1)

1 0

2 1

1.1 0.1

v11

(2)

0 1

0 si h est consistante

(3) v41

Suite des nœuds traités v11 (0) → v21 (0) → v31 (0) → v41 (0) → v42 (0) → v43 (0) → v44 (0)

772

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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

1

2

1.1

(3)

(4) 2

1.1 (6.1)

1

1.5

3 (7)

1

2 (6) 1

1 (6)

(2) 2

2

4 (6)

2 (6)

Nœud fermé : en gris Nœud ouvert : en jaune

1

(3)

(4) 1

Arc modifié

1

4 (7)

(5)

(1)

5 (6)

(3)

(4)

1.1 0 (6)

2

2

(5)

4

(2)

2

1.1

Nœuds évalués : 9 Nœuds traités : 5

1

4

1

(0)

(1)

(2)

(3)

1

3 (6)

Nœud à traiter : en vert

773

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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)

(4) 2

1.1 (6.1)

1

3 (7)

1

2

1.1 (6)

1 (6)

1

4 (7)

(2) 2

2

4 (6)

1

2 (6)

Nœud fermé : en gris Nœud ouvert : en jaune

1

(3)

(4)

(5) 1

5 (6)

(3)

(4) 1.5

(1) 2

2

(5)

0 (6)

(2)

2

1.1

Nœuds évalués : 10 Nœuds traités : 6

9 (9)

4

1

2

1.1

1

4

1

(0)

(1)

(2)

(3)

1

3 (6)

Nœud à traiter : en vert

774

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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

(3)

(4) 2.2 (6.2)

2

1.1 (6.1)

1

2.6 (6.6)

1

2

1.1 (6)

1 (6)

1

4 (7)

(2) 2

2

4 (6)

1

2 (6)

Nœud fermé : en gris Nœud ouvert : en jaune

1

(3)

(4)

(5) 1

5 (6)

(3)

(4) 1.5

(1) 2

2

(5)

0 (6)

(2)

2

1.1

Nœuds évalués : 12 Nœuds traités : 7

9 (9)

4

1

2

1.1

1

4

1

(0)

(1)

(2)

(3)

→ C = 2.2

1

3 (6)

Nœud à traiter : en vert

775

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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

3.3 (6.3)

(3)

(4) 2.2 (6.2)

2

4.2 (7.2)

(5) 1.1 (6.1)

1.5

1

2.6 (6.6)

1

1 (6)

1

4 (7)

(2) 2

2

4 (6)

1

2 (6)

Nœud fermé : en gris Nœud ouvert : en jaune

1

(3)

(4)

(5) 1

5 (6)

(3)

2 (6)

(1) 2

2

(4)

1.1 0 (6)

(2)

2

1.1

Nœuds évalués : 14 Nœuds traités : 8

9 (9)

4

1

2

1.1

1

4

1

(0)

(1)

(2)

(3)

→ C = 3.3

1

3 (6)

Nœud à traiter : en vert

776

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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

3.3 (6.3)

1

4.3 (6.3)

2

4.2 (7.2)

(5) 1.1 (6.1)

1.5

1

2.6 (6.6)

1

1 (6)

1

4 (7)

(2) 2

2

4 (6)

1

2 (6)

Nœud fermé : en gris Nœud ouvert : en jaune

1

(3)

(4)

(5) 1

5 (6)

(3)

2 (6)

(1) 2

2

(4)

1.1 0 (6)

(2)

2

1.1

Nœuds évalués : 15 Nœuds traités : 9

9 (9)

4

1 (3)

(4) 2.2 (6.2)

1

4

2

1.1

(0)

(1)

(2)

(3)

→ C = 4.3

1

3 (6)

Nœud à traiter : en vert

777

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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

3.3 (6.3)

1

4.3 (6.3)

2.2 (6.2)

2

4.2 (7.2)

(5)

(6)

2

1 (6)

5 (6) 1

(3) 1

4 (7)

(2) 2

2

4 (6)

1

2 (6)

Nœud fermé : en gris Nœud ouvert : en jaune

1

(3)

(4)

(5) 1

(1)

1

2

1.1

4

2

2.6 (6.6)

Nœuds évalués : 16 Nœuds traités : 10

9 (9)

(2)

(4) 1.5

1

1

2

1.1 1.1 (6.1)

8.3 (9.3)

(3)

(4)

0 (6)

4

2

1.1

(0)

(1)

(2)

(3)

→ C = 2.6

1

3 (6)

Nœud à traiter : en vert

778

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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

3.3 (6.3)

1

4.3 (6.3)

2.2 (6.2)

2

4.2 (7.2)

(5)

(6)

2

1 (6)

5 (6) 1

(3) 1

3.6 (6.6)

(2) 2

2

4 (6)

1

2 (6)

Nœud fermé : en gris Nœud ouvert : en jaune

1

(3)

(4)

(5) 1

(1)

1

2

1.1

4

2

2.6 (6.6)

Nœuds évalués : 18 Nœuds traités : 11

9 (9)

(2)

(4) 1.5

1

1

2

1.1 1.1 (6.1)

8.3 (9.3)

(3)

(4)

0 (6)

4

2

1.1

(0)

(1)

(2)

(3)

→ C = 3.6

1

3 (6)

Nœud à traiter : en vert

779

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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

3.3 (6.3)

1

4.3 (6.3)

2.2 (6.2)

2

4.2 (7.2)

(5)

2

4.6 (6.6)

(6)

1

1 (6)

2

5 (6) 1

3.6 (6.6)

(2) 2

2

4 (6)

1

2 (6)

Nœud fermé : en gris Nœud ouvert : en jaune

1

(3)

(4)

(5) 1

(1)

(3)

2

1.1

4

1

2.6 (6.6)

Nœuds évalués : 20 Nœuds traités : 12

9 (9)

(2)

(4) 1.5

1

1

2

1.1 1.1 (6.1)

8.3 (9.3)

(3)

(4)

0 (6)

4

2

1.1

(0)

(1)

(2)

(3)

→ C = 4.6

1

3 (6)

Nœud à traiter : en vert

780

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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

3.3 (6.3)

1

4.3 (6.3)

2.2 (6.2)

2

4.2 (7.2)

(5)

2

4.6 (6.6)

(6)

1

1 (6)

2

5 (6) 1

3.6 (6.6)

(2) 2

2

4 (6)

1

2 (6)

Nœud fermé : en gris Nœud ouvert : en jaune

1

(3)

(4)

(5) 1

(1)

(3)

2

1.1

4

1

2.6 (6.6)

Nœuds évalués : 22 Nœuds traités : 13

9 (9)

(2)

(4) 1.5

1

1

2

1.1 1.1 (6.1)

5.6 (6.6)

(3)

(4)

0 (6)

4

2

1.1

(0)

(1)

(2)

(3)

→ C = 5.6

1

3 (6)

Nœud à traiter : en vert

781

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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



Meilleur chemin :

v11  v12  v22  v32  v33  v34  v44

3.3 (6.3)

1

4.3 (6.3)

(3)

(4) 2.2 (6.2)

2

4.2 (7.2)

(5)

2

(6)

1

1 (6)

5 (6)

(2) 2

2

4 (6)

2 (6)

Nœud fermé : en gris Nœud ouvert : en jaune

1

(3)

(4) 1

Performance identique à Dijkstra

1

3.6 (6.6)

(5) 1

2 (3)

2

1.1

(1)

1

2.6 (6.6)

Nœuds évalués : 23 Nœuds traités : 14

6.6 (6.6)

4

4.6 (6.6)

(4) 1.5

1 (2)

2

1.1 1.1 (6.1)

5.6 (6.6) 1

2

1.1

0 (6)

4

→ C = 6.6

(0)

(1)

(2)

(3)

→ Fin de l’algorithme

1

3 (6)

Nœud à traiter : en vert

782

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

4.1.2 Heuristique A* Heuristique non admissible • Une heuristique non admissible peut aboutir à une solution sous-optimale. •

Exemple (1) (2)

1

v1

2

s

t (3)

1

Coût minimal de v2 à t : z2t = 1 Estimation de v2 à t : h2 = 3 h2 > z2t → heuristique non admissible

1

v2

Solution obtenue par A* : s  v1  t : C = 3 Solution optimale : s  v2  t : C = 2

(1) (2)

1

1 (2)

2

0 (2)

3 (3) (3)

1 1 (4)

1

Evaluation de v2 : e2 = 4 Evaluation de t : et = 3 → v2 reste ouvert (à cause de h2) → la solution optimale n’est pas trouvée

783

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

4.1.2 Heuristique A* Heuristique non consistante • Une heuristique non consistante peut ouvrir des nœuds plusieurs fois. •

Exemple (1) (3)

1

(0.5) 1

v1

v3 2

0

s (2)

1 v2

(1.5) 1

(1) (3)

1

2

v4

(0.5) 1

3

t

Coût minimal de chaque nœud à t

2 2

0

3 (2)

1 2

0 (1.5)

1

Coût de v2 à v3 : c23 = 0 Estimation de v2 et v3 : h2 = 2 , h3 = 0.5 h2 > h3 + c23 → heuristique non consistante

2

2

z4t = 2 z3t = 2 z2t = 2 z1t = 3 zst = 3

    

h4 = 1.5 h3 = 0.5 h2 = 2 h1 = 1 hs = 3

→ heuristique admissible

784

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Heuristique A*

Heuristique non consistante • Déroulement de A* (1)

1 (2)

(0.5) 1

2

(3) 1 0

0 (3) 1

(2) 1 (3)

(1.5)

1 (2)

2

1

(1)

(0.5) 1

fermé

s

v1 (2) , v2 (3)

s , v3 , v4 , t

v1

v2 (3) , v3 (2.5)

s , v1 , v4 , t

v3

v2 (3) , t (4)

s , v1 , v3 , v4

v2

v3 (1.5) , v4 (3.5) , t (4)

s , v1 , v2

v3

v4 (3.5) , t (3)

s , v1 , v2 , v3

2 0

0 (3) 1

ouvert (évaluation)

1 (1.5)

(3) 1 (2) 1 (3)

• •

traité

2 (2.5)

4 (4) (1.5)

1

2

Solution optimale : s  v2  v3  t : C = 3

2 (3.5)

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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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 (signe)

Circuit

Ford

quelconques

non absorbant

Bellman

quelconques

Dijkstra A*

Traitement (nœuds, arcs)

Choix du nœud à traiter

Complexité

plusieurs fois

libre

2n

non

une fois par arc

ordre topologique

m

positives

oui

une fois par nœud

coût minimal

m.log(n)

positives

oui

une fois par nœud si h consistante

évaluation minimale

 Dijkstra

786

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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 Préalable Durée



A

B

C

D

E

F

G

H

I

T0+5

T0

T0+3

A,B

B

B,C

D,E,F

D,E,F

E,Cm

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 Préalable Durée

A

B

Cm

C

D

E

F

G

H

I

T0+5

T0

T0+3

Cm

A,B

B

B,C

D,E,F

D,E,F

E,Cm

16

14

10

10

8

18

25

15

10

17

790

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Méthode PERT

Graphe PERT • Les nœuds sont les évènements • Les arcs sont les tâches Af

Dd

8

Df

Gd

Bf

Ed

18

Ef

Hd

Cd

Cf

Fd

Ff

Id

10

10

Ad

5

T0

16

→ début (Td) et fin (Tf) de chaque tâche → durée de la tâche (pointillé = durée nulle)

Bd

14

3

25

15

10

17

Gf Hf

T

If

Cm Tâche Préalable Durée

A

B

Cm

C

D

E

F

G

H

I

T0+5

T0

T0+3

Cm

A,B

B

B,C

D,E,F

D,E,F

E,Cm

16

14

10

10

8

18

25

15

10

17

791

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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

21

21

8

29

48

14

14

18

32

48

3

23

23

48

32

10

10

5

15

63

5

0

0

14

3

25

10

17

58

63

49

13 Tâche

A

B

Cm

C

D

E

F

G

H

I

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

Préalable

792

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Méthode MPM

Graphe MPM • Les nœuds sont les tâches • Les arcs sont les contraintes

→ début (Td) de chaque tâche → durée de la tâche (arcs sortants de même valuation)

Ad 16

Dd

8

Gd

15

Bd

Ed

18

Hd

10

Fd

25

Id

17

5

T0

0

14

T

3

Cd 10

Cm Tâche Préalable Durée

10

A

B

Cm

C

D

E

F

G

H

I

T0+5

T0

T0+3

Cm

A,B

B

B,C

D,E,F

D,E,F

E,Cm

16

14

10

10

8

18

25

15

10

17

793

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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

0

14

14

18

48

10

23

25

32

17

5

0

0

63

3

3 10

13 Tâche

10

A

B

Cm

C

D

E

F

G

H

I

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

Préalable

794

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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 Préalable

A T0

Tâche Préalable

B 5

T0

E B

0

T0

F 14

C

Cm 3

Cm

G

D 10

A

16

B

14

H

T

I

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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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

Préalable

0

A T0

Tâche Préalable

B

0 5

0

T0

E B

3 0

0

T0

F 14

C

Cm 3

Cm

G

D 10

A

16

B

14

H

T

I

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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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

Préalable

0

Tâche

14

Préalable

0

A T0

B

0 5

0

T0

E B

3 0

0

Cm T0

F 14

0

C

13 3

3

Cm

G

D

21 10

5

A

16

0

B

14

H

T

I

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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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

Préalable

0

Tâche

14

Préalable

0

A T0

5

E B

B

0 0

T0

0

0

Cm T0

F

23 14

3

C

13 3

3

Cm

G

D

21 10

H

5

A

16

0

B

14

T

I

32

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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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

Préalable

0

Tâche

14

Préalable

0

A T0

5

E B

B

0 0

T0

0

F

23 14

3 0

Cm T0

3

G

48

C

13 3

Cm

10

H

48

D

21 5

A

16

0

B

14

T

I

32

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

I

17

32

799

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 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

Tâche

5

Préalable

0

Tâche

14

Préalable

0

48 = 23 + 25

A T0

B

0 5

E B

23 = 13 + 10

0

T0

0

F

23 14

3 0

13 = 3 + 10

Cm T0

G

48

C

13 3

3

3= 0+3

Cm

10

H

48

D

21 5

A

16

0

B

14

I

32

T

63

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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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 :



Dates au plus tard : t i max  min ( t j max  d ij ) 



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

t j min  max ( t i min  d ij )  i ( j)

j ( i )

→ Ej doit attendre tous ses prédécesseurs Ei → Ei ne doit retarder aucun successeur Ej

→ marge libre, marge totale

801

4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin

Techniques d’optimisation

Max CERF 2018

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 4.1 Problème combinatoire 4.1.2 Problème de chemin

Max CERF 2018

Techniques d’optimisation 4.1.2 Marges

Exemple • Problème à 4 évènements : A, B, C, D •

2

A (23)

C (45) 1

2

Chemin critique : T0  B  D  T → durée = 6

T (6)

1

T0 (0) 2



2

Entre parenthèses : date au plus tôt / tard

B (2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

2

D (44)

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

Tâche



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 4.1 Problème combinatoire 4.1.3 Problème de flot

Techniques d’optimisation

Max CERF 2018

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 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 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 • 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).

(fij , cij)

vi

vj

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 : (loi de conservation de Kirchhoff)

 x

v j  vi E



Le flot partant de la source s vaut φ : = flot arrivant au puits t

x    s  v j E

ji

sj



 x

vi  v j E



ij

x    v j  t E

jt

805

4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot

Techniques d’optimisation

Max CERF 2018

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.

  ( x ij )i , j1 à n

 valeur :



x    s  v j E

 coût :

c

sj

 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 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 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)

v3

v12 v23

v13

(10)

v24

807

4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 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

v3

v12 v23

v13

(10)

10

v24

808

4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 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

v3

x34 + 

v4

4 + 

x23   1 + 

v1

x12 + 

v2

2

809

4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot

Techniques d’optimisation

Max CERF 2018

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 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 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 ()

v0

v11

v22

v12

v12

v21

v23

Prédécesseur

v11

(10)

10

v21

v22 v0

(25)

25

v3

v12 v23

v13

(10)

10

v24

811

4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 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 ()

v0

v11

v22

v12

v12

v21

v23

Prédécesseur



Le puits v3 est marqué  il existe une chaîne améliorante Prédécesseurs : v3  v21  v12  v22  v11 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

 v0

812

4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 4.1.3 Algorithme de Ford - Fulkerson

Exemple • Chaîne améliorante (v0 , v11 , v22 , v12 , v21 , v3) Arc Variation 

[v0v11]

[v11v22]

[v12v22]

[v12v21]

[v21v3]

+10

+10

5

+10

+10

v11

(10)

10



δφmax = 5

v21

v22 v0

(25)

25

v3

v12 v23

v13

(10)

10

v24

813

4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 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

v3

v12 v23

v13

(10)

10

v24

814

4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 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

v11

(10)

10

 maximale ?

v21

v22 v0

(25)

25

v3

v12 v23

v13

(10)

10

v24

815

4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 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 (+)

v0

v11

Prédécesseur

v11

(10)

 Le puits n’est pas marqué.  Le flot 1 est maximal de valeur φmax = 85

10

v21

v22 v0

(25)

25

v3

v12 v23

v13

(10)

10

v24

816

4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 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 VW

W •

Un arc [vivj] sortant de la coupe est saturé. Sinon vj serait marqué (+) et appartiendrait à W.

vi

xij= fij

vj

s

t



Un arc [vkvl] entrant dans la coupe est de flot nul. 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.

vl

xkl= 0

vk

817

4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 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

W

(10)

10

v21

v22 v0

(25)

25

v3

v12 v23

v13

(10)

10

v24

818

4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 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.



Si l’arc [vivj] de G est saturé : xij = fij Ge ne comporte pas l’arc [vivj] comporte l’arc [vjvi] avec la capacité fij

vi

Si l’arc [vivj] de G est de flot nul : xij = 0 Ge comporte l’arc [vivj] avec la capacité fij ne comporte pas l’arc [vjvi]

vi

Si l’arc [vivj] de G est de flot intermédiaire : 0 < xij < fij Ge comporte l’arc [vivj] avec la capacité fij  xij comporte l’arc [vjvi] avec la capacité xij

vi





vi

vi

vi

xij= fij fij

xij= 0 fij

0 < xij < fij fij  xij xij

vj vj

vj vj

vj vj

819

4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 4.1.3 Graphe d’écart

Exemple Graphe G à 4 nœuds, flot 0 v2

v2

v4

(1) 0

v1

v3

v3

Graphe G avec flot 0 Arc de G

[v1v2]

Flot sur l’arc

v4

(1)

v1

Graphe d’écart Ge(0) (3)

[v2v3]

(1)

[v2v4]

(3)

[v3v4]

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)

Arc indirect de Ge

[v2v1]

(3)

[v3v1]

(1)

(4)

[v1v3]

[v4v2]

(3)

(2)

[v3v4]

(1)

[v4v3]

(1)

820

4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 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

v1

(1) 0

v3 Graphe G avec flot 0

v2

v4

v1

(1)

v4

v3 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 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 4.1.3 Graphe d’écart

Exemple Nouveau flot 1

 maximal (pas de chemin de la source au puits dans Ge) v2

v2

v4

(1) 1

v1

v3

v3

Graphe G avec flot 1

Graphe d’écart Ge(1)

Arc de G

[v1v2]

(4)

[v1v3]

Flot sur l’arc

saturé

(4)

non saturé (1)

Arc direct de Ge Arc indirect de Ge

[v2v1]

v4

(1)

v1

(4)

(3)

[v1v3]

(2)

[v3v1]

(1)

[v2v3]

(1)

[v2v4]

(3)

[v3v4]

(2)

saturé

(1)

saturé

(3)

saturé

(2)

[v3v2]

(1)

[v4v2]

(3)

[v4v3]

(2)

822

4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 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 et de coût cij Le coût du flot xij passant par l’arc [vivj]est xijcij.

vi



Le coût du flot  est la somme des coûts sur chaque arc :

c

 x ijcij vi  v j E

(fij , cij) xij

vj

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 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 4.1.3 Flot de coût minimal

Exemple Flot 1 avec coûts des arcs v2

v1

(1,4) 1

v2

v4

v3 Graphe G avec flot 1

v1

(1,4)

v4

v3 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 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 4.1.3 Flot de coût minimal

Exemple Flot 1 avec coûts des arcs v2

v1

(1,4) 1

v2

v4

(1,4)

v1

v3 Graphe G avec flot 1

v4

v3 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 4.1 Problème combinatoire 4.1.3 Problème de flot

Techniques d’optimisation

Max CERF 2018

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 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 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

v1

(1,4) 0

v3 Graphe G avec flot 0

v2

v4

v1

(1,4)

v4

v3 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 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 4.1.3 Flot de coût minimal

Exemple Nouveau flot 1

 valeur φ = 3 , coût c = 9 v2

v1

(1,4) 0

v3 Graphe G avec flot 1

v2

v4

v1

(1,4)

v4

v3 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 4.1 Problème combinatoire 4.1.3 Problème de flot

Max CERF 2018

Techniques d’optimisation 4.1.3 Flot de coût minimal

Exemple Nouveau flot 2

 valeur φ = 5 , coût c = 15 v2

v1

(1,4) 0

v2

v4

v1

v3 Graphe G avec flot 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.

(1,4)

v4

v3 Graphe d’écart Ge(2)

829

4 Optimisation discrète 4.1 Problème combinatoire 4.1.4 Problème d’affectation

Techniques d’optimisation

Max CERF 2018

4.1.4 Problème d’affectation  Problème de flot équivalent  Méthode hongroise

 Justification théorique

830

4 Optimisation discrète 4.1 Problème combinatoire 4.1.4 Problème d’affectation

Techniques d’optimisation

Max CERF 2018

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 4.1 Problème combinatoire 4.1.4 Problème d’affectation

Max CERF 2018

Techniques d’optimisation 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

r0

(1 , 0)

ri

rn

t1

(1 , cij)

tj

tn

(1 , 0)

t0

832

4 Optimisation discrète 4.1 Problème combinatoire 4.1.4 Problème d’affectation

Max CERF 2018

Techniques d’optimisation 4.1.4 Problème de flot équivalent

Exemple Problème à 4 ressources et 4 taches •



Matrice des coûts

Réseau équivalent → Arcs de capacité 1 avec leur coût

24

10

21

11

14

22

10

15

15

17

20

19

11

19

14

13

r1

(24)

t1

r2

(22)

t2

r0

t0 r3

(20)

t3

r4

(13)

t4

833

4 Optimisation discrète 4.1 Problème combinatoire 4.1.4 Problème d’affectation

Max CERF 2018

Techniques d’optimisation 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.

Graphe associé au flot initial On ne représente que les arcs saturés avec leur coût.

r1

t1

r2

t2

r0

t0 r3

t3

r4

t4

834

4 Optimisation discrète 4.1 Problème combinatoire 4.1.4 Problème d’affectation

Max CERF 2018

Techniques d’optimisation 4.1.4 Problème de flot équivalent

Exemple La solution est optimale si dans le graphe d’écart : • Il n’existe pas de chemin de r0 à t0 → flot maximal • Il n’existe pas de circuit de coût négatif → coût minimal

10

21

11

14

22

10

15

15

17

20

19

11

19

14

13

r1

t1

r1

t1

r2

t2

r2

t2

r0

t0

r0

t0

r3

t3

r3

r4

t4

r4

Graphe G avec flot 1

• •

24

t3 (13)

t4

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 4.1 Problème combinatoire 4.1.4 Problème d’affectation

Max CERF 2018

Techniques d’optimisation 4.1.4 Problème de flot équivalent

Exemple On échange les affectations (r3 – t4) et (r4 – t1). • Il n’existe pas de chemin de r0 à t0 → flot maximal • Il n’existe pas de circuit de coût négatif → coût minimal

10

21

11

14

22

10

15

15

17

20

19

11

19

14

13

r1

t1

r1

t1

r2

t2

r2

t2

r0

t0 r3 r4

(13)

r0

t0

t3

r3

t4

r4

Graphe G avec flot 2

• •

24

t3 (-13)

t4

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 4.1 Problème combinatoire 4.1.4 Problème d’affectation

Techniques d’optimisation

Max CERF 2018

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 4.1 Problème combinatoire 4.1.4 Problème d’affectation

Max CERF 2018

Techniques d’optimisation 4.1.4 Méthode hongroise

Exemple Problème à 4 ressources et 4 taches •



Matrice des coûts

Etape 1 : réduction des lignes → C = 10 + 10 + 15 + 11 = 46



Etape 2 : réduction des colonnes → C = 46 + 0 + 0 + 0 + 1 = 47

24

10

21

11

14

22

10

15

15

17

20

19

11

19

14

13

24

10

21

11

→ 10

14

0

11

1

14

22

10

15

→ 10

4

12

0

5

15

17

20

19

→ 15

0

2

5

4

11

19

14

13

→ 11

0

8

3

2

14

0

11

1

14

0

11

0

4

12

0

5

4

12

0

4

0

2

5

4

0

2

5

3

0

8

3

2

0

8

3

1









0

0

0

1

838

4 Optimisation discrète 4.1 Problème combinatoire 4.1.4 Problème d’affectation

Max CERF 2018

Techniques d’optimisation 4.1.4 Méthode hongroise

Exemple •

Etape 3 : couverture des zéros → algorithme de Ford – Fulkerson



Etape 4 : plus petit coût non couvert → C = 47 + 1 = 48

On soustrait 1 aux éléments non couverts.

On ajoute 1 aux éléments couverts 2 fois.

14

0

11

0

4

12

0

4

0

2

5

3

0

8

3

1

14

0

11

0

4

12

0

4

0

2

5

3

0

8

3

1

14

0

11

0

4

11

0

3

0

1

5

2

0

7

3

0

15

0

12

0

4

11

0

3

0

1

5

2

0

7

3

0

→ 1 ligne , 2 colonnes → p=3 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 4.2 Programmation linéaire 4.2.3 Méthode arborescente

Techniques d’optimisation

Max CERF 2018

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 4.2 Programmation linéaire 4.2.3 Méthode arborescente

Max CERF 2018

Techniques d’optimisation 4.2.3 Stratégie

Algorithme de Branch and Bound Meilleure solution za

Liste L des sommets actifs X1

X2

Solution de Xi

Séparation de Xi

za  min (z0,za)

Meilleure solution za

Solution entière Coût z0

Xi

Xm

x1, x2,…, xjN,…, xn

Xi0

Xi1

Solution non entière Coût z0  za

Solution non entière Coût z0 > za

Liste L des sommets actifs X1

X2

Xi0

Xm

966

4 Optimisation discrète 4.2 Programmation linéaire 4.2.3 Méthode arborescente

Max CERF 2018

Techniques d’optimisation 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 :

Choix de séparation • Choix du sommet à séparer • Choix de la variable de séparation

- des choix de séparation - de la fonction d’évaluation - du stockage mémoire

(branch) (bound)

 exploration en profondeur ou en largeur.  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 4.2 Programmation linéaire 4.2.3 Méthode arborescente

Max CERF 2018

Techniques d’optimisation 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.

X1 X2 X3

Solution admissible

Evolution de la liste

X0

Arborescence à 5 niveaux

X0 X7

X4 X5

X0

X0

X0

X0

X0

X0

X0





X1

X1

X1

X1

X1

X1

X1





X2

X2

X2

X2

X2

X7

X3

X4

X4

X4

X5

X6

X6

968

4 Optimisation discrète 4.2 Programmation linéaire 4.2.3 Méthode arborescente

Techniques d’optimisation

Max CERF 2018

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 X1



Xi

Xi+1



Xk

z1



zi

zi+1



zk

Xa

Solution admissible za : zi  za  zi+1

Xb

Evaluation zb : zj  zb  zj+1

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 4.2 Programmation linéaire 4.2.3 Méthode arborescente

Techniques d’optimisation

Max CERF 2018

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 4.2 Programmation linéaire 4.2.3 Méthode arborescente

Techniques d’optimisation

Max CERF 2018

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) 3n booléens • Un booléen indiquant si la variable est dans la base optimale 1 réel  permet de reconstruire une base duale admissible 1 pointeur • La valeur de la fonction d’évaluation • Le pointeur vers le sommet suivant dans la liste

971

4 Optimisation discrète 4.2 Programmation linéaire 4.2.3 Méthode arborescente

Techniques d’optimisation

Max CERF 2018

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 4.2 Programmation linéaire 4.2.3 Méthode arborescente

Techniques d’optimisation

Max CERF 2018

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 max z   3x i sous x i U

i 1

2n

 2x i 1

i

 2n  1

 Problème à 2n variables binaires  z* = 3n  C n2 n solutions entières équivalentes



Solution entière :

n n



Solution relaxée :

n variables à 1  z = 3n+1.5 n1 variables à 0 1 variable à 0.5

variables à 1 variables à 0

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 4.2 Programmation linéaire 4.2.3 Méthode arborescente

Max CERF 2018

Techniques d’optimisation 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 U , yN i 1  x i  y et 1 variable entière  i 1 •

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  On ne poursuit pas la séparation. n



La condition y  n+1 donne une infaisabilité :  On ne poursuit pas la séparation.



La solution entière a été obtenue en explorant 3 sommets au lieu de C n2 n .

On résout le problème relaxé à la racine :

variables à 1 variables à 0

 z = 3n  y=n

au plus n variables à 1 (1ère contrainte) au moins n+1 variables à 1 (2ème contrainte)

974

4 Optimisation discrète 4.2 Programmation linéaire 4.2.3 Méthode arborescente

Techniques d’optimisation

Max CERF 2018

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 4.2 Programmation linéaire 4.2.4 Applications

Techniques d’optimisation

Max CERF 2018

4.2.4 Applications  Voyageur de commerce  Affectation

 Coloration  Flot  Sac à dos

976

4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications

Max CERF 2018

Techniques d’optimisation 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 ou asymétrique



Le PVC est un problème de circuit hamiltonien de coût minimal dans le graphe G.

 PVC symétrique  PVC asymétrique

(graphe G non orienté) (graphe G orienté)

977

4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications

Max CERF 2018

Techniques d’optimisation 4.2.4 Voyageur de commerce

Illustration 5 villes à visiter S1

 0 d12   d 21 0  Distancier D   d 31 d 32   d 41 d 42 d  51 d 52

S2

S3 S4

S1

S5

S2

S3

S1

S2

S3 S4

S5

Chemin non admissible (sous circuits)

d13 d 23 0 d 43 d 53

d14 d 24 d 34 0 d 54

d15   d 25  d 35   d 45  0 

S1

S2

S3 S4

S5

S4

S5

Chemin non optimal

Chemin optimal

d = d31+ d14+ d45+ d52+ d23

d = d31+ d12+ d25+ d54+ d43

978

4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications

Max CERF 2018

Techniques d’optimisation 4.2.4 Voyageur de commerce

Formulation • Variables La variable binaire sij vaut 1 si le trajet de Si à Sj est sélectionné 0 sinon • Coût n n Le coût du chemin est : z   s ijd ij

 n(n1) variables avec sii=0 fixés

 arêtes sélectionnées

i 1 j1



Contraintes Il y a un seul départ de chaque ville Si :

n

s j1

ij

1 , i 1 à n

 n contraintes

ij

1 , j 1 à n

 n contraintes

n

Il y a une seule arrivée à chaque ville Sj : •

s i 1

S1

Il faut ajouter des contraintes pour interdire les sous-circuits. Méthodes possibles :

- contrainte explicite sur les sous-circuits - contrainte d’ordre de visite

S2

S3 S4

S5

979

4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications

Techniques d’optimisation

Max CERF 2018

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 •

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 i 1 j1  s ij  1 , j  1 à n  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

Méthode itérative

980

4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications

Max CERF 2018

Techniques d’optimisation 4.2.4 Voyageur de commerce

Contrainte d’ordre On peut éliminer les sous-circuits par des contraintes d’ordre de visite. •



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. On attribue la date t1=1 un nœud de départ S1 (choix arbitraire). On ajoute les n(n 1) contraintes : Si le trajet de Si à Sj est sélectionné :

S1

S2

S3 S4

S5

t i  t j  ns ij  n  1 , i  1 à n , j  2 à n 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 4.2 Programmation linéaire 4.2.4 Applications

Techniques d’optimisation

Max CERF 2018

4.2.4 Voyageur de commerce Exemple Visiter les 532 plus grandes villes des USA.

982

4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications

Techniques d’optimisation

Max CERF 2018

4.2.4 Voyageur de commerce Exemple Visiter les 532 plus grandes villes des USA.

983

4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications

Techniques d’optimisation

Max CERF 2018

4.2.4 Voyageur de commerce Exemple Visiter les 532 plus grandes villes des USA.

984

4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications

Techniques d’optimisation

Max CERF 2018

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



avec cij = coût du trajet de Si à Sj

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 4.2 Programmation linéaire 4.2.4 Applications

Max CERF 2018

Techniques d’optimisation 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 0 sinon m



Le coût total à minimiser est :

 mp variables

p

z   s ijcij i 1 j1



Contraintes La tache j est effectuée une seule fois :

m

s i 1

ij

1 , j 1 à p

 p contraintes

ij

1 , i 1 à m

 m contraintes

p

La ressource i est affectée une fois au plus :

s j1

986

4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications

Techniques d’optimisation

Max CERF 2018

4.2.4 Affectation Résolution m

Le problème (PA) s’écrit :

p

min z   s ijcij s ij

i 1 j1

m  s ij  1 , j  1 à p sous  i p1  s ij  1 , i  1 à m  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.

Ax  b est alors entière. La solution du problème relaxé min z  c T x sous   x x  0

987

4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications

Techniques d’optimisation

Max CERF 2018

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 Ax  b avec b entier. On considère le problème relaxé : minn z  c T x sous   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 4.2 Programmation linéaire 4.2.4 Applications

Techniques d’optimisation

Max CERF 2018

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 4.2 Programmation linéaire 4.2.4 Applications

Max CERF 2018

Techniques d’optimisation 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 j1 à p

j1 à p

 non linéaire

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 j 1 à p  s ij  1 , i  1 p  Le problème s’écrit : min z sous  s ij  1 , i 1 à m z ,s ij  jm1  s c  z , j 1 à p ij ij  i 1 Le problème est en variables mixtes (z réel, sij binaires).

 réalisation tache j  affectation ressource i  coût tache j

990

4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications

Max CERF 2018

Techniques d’optimisation 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



Le coût total à minimiser est :

p

z   s ijc ij m

i 1 j1



La tache j requiert une capacité tj :

s

ij

 tj , j 1 à p



La ressource i a une capacité ri :

s

ij

 ri , i  1 à m

i 1 p

j1

Formulation linéaire

m  s ij  t j , j  1 à p Le problème s’écrit : min z sous  i p1 s ij  s ij  ri , i  1 à m  j1

 réalisation tache j

 affectation ressource i

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 4.2 Programmation linéaire 4.2.4 Applications

Max CERF 2018

Techniques d’optimisation 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 0 sinon

 pp variables binaires



u jk  u kj  1 Les variables tj et ujk doivent vérifier les contraintes d’ordre :  u ( t  d )  t , j, k  1 à p j k  jk j 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 4.2 Programmation linéaire 4.2.4 Applications

Max CERF 2018

Techniques d’optimisation 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 0 sinon •

Contraintes Le nœud j reçoit une seule couleur :

m

s i 1

Les nœuds j et k ont des couleurs différentes : s’ils sont adjacents

ij

 mn variables

1 , j 1 à n

s ij  s ik  1 , i  1 à m , j, k  1 à n si e jk  1 , j  k  arête [vjvk]  E

993

4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications

Max CERF 2018

Techniques d’optimisation 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 i 1 Trouver (sjk)  Umn vérifiant   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 4.2 Programmation linéaire 4.2.4 Applications

Max CERF 2018

Techniques d’optimisation 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 (4 couleurs)

Problèmes voisins • Clique • Ensemble stable • Planification

Clique maximale (cardinal 4)

 Tous les nœuds sont reliés entre eux  Aucun nœud n’est relié (problème « inverse » de la clique)  Contraintes d’incompatibilité

995

4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications

Max CERF 2018

Techniques d’optimisation 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 0 sinon



Contraintes Si les nœuds j et k sont non adjacents, ils ne peuvent pas appartenir simultanément à C.



Coût Le nombre de nœuds de la clique C à maximiser est :

 n variables

s j  s k  1 , j, k  1 à n si e jk  0 , j  k  arête [vjvk]  E n

z   si i 1



Problème de la clique de cardinal maximal :

s  s  1 , j, k  1 à n max z sous  j k si  si e jk  0 , j  k

996

4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications

Techniques d’optimisation

Max CERF 2018

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, ils ne peuvent pas appartenir simultanément à S.



Coût n Le nombre de nœuds de l’ensemble S à maximiser est : z   s i

s j  s k  1 , j, k  1 à n si e jk  1 , j  k  arête [vjvk]  E

i 1



Problème de l’ensemble stable de cardinal maximal :

s  s  1 , j, k  1 à n max z sous  j k si  si e jk  1 , j  k

997

4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications

Max CERF 2018

Techniques d’optimisation 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 : Les autres valeurs de la colonne k sont nulles. La matrice d’incidence est unimodulaire :

a ik  1 (départ) a  1 (arrivée)  jk

- éléments égaux à 1, 0 ou 1 - 2 éléments non nuls au plus par colonne

998

4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications

Max CERF 2018

Techniques d’optimisation 4.2.4 Flot

Exemple

5

2

v6 5

1

v3

C  3

v5

3

1 3

2 4

2 5

26

1

3

5

9

2

3 4

3 5

46

5 6

2

3

5

2

arcs 1 2

Matrice d’incidence A • 6 lignes  noeuds • 9 colonnes  arcs

v4

v1

1 2

Vecteur des coûts C • 9 colonnes  arcs

v2

3

Réseau à 6 nœuds et 9 arcs. • Source : s = v1 • Puits : t = v6

9

3

    A     

13

2 4

2 5

26

3 4

3 5

46

56

1 1 0 0 0 0 0 0 0  1 0 1 1 1 0 0 0 0 0 1 0 0 0 1 1 0 0  0 0 1 0 0 1 0 1 0  0 0 0 1 0 0 1 0  1 0 0 0 0 1 0 0 1 1 

noeuds v1 v2 v3 v4 v5 v6

999

4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications

Max CERF 2018

Techniques d’optimisation 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 : (loi de conservation de Kirchhoff)

 x

ji



 x

sj



Le flot partant de la source s vaut φ : •

v j  vi E

vs  v j E

Coût Le coût du flot xij passant sur l’arc [vivj] vaut :

cij xij

Le coût total à minimiser est :

z

 x

vi  v j E

 c x ij

vi  v j E

ij

ij

1000

4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications

Max CERF 2018

Techniques d’optimisation 4.2.4 Flot

Flot de coût minimal Le problème s’écrit :

Formulation linéaire :

• • • •

min z  x ij

 c x

min z  C T x x

ij

vi  v j E

ij

  x sj   vs  v j E  sous   x ji   x ij vi  v j E v j  vi E x ij  f ij pour v i  v j  E

sous Ax  b x  F



      0  avec b        0      



 source s  noeud v1  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 4.2 Programmation linéaire 4.2.4 Applications

Max CERF 2018

Techniques d’optimisation 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. On supprime les contraintes de capacité x  F La matrice A des contraintes est unimodulaire Problème du flot maximal Le flot φ est une variable, à maximiser. Les coûts C des arcs sont inutilisés.

 min z  C T x x

sous Ax  b

 La solution x est entière.

 max z   x ,

sous Ax  b 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 4.2 Programmation linéaire 4.2.4 Applications

Max CERF 2018

Techniques d’optimisation 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é 0 sinon •

Contraintes Les objets choisis doivent entrer dans le sac à dos :

 n variables

n

a x i 1



Coût Il faut maximiser le prix total des objets choisis :

i

i

b



aTx  b

n

z   ci x i  cT x i 1

1003

4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications

Techniques d’optimisation

Max CERF 2018

4.2.4 Sac à dos Sac à dos monodimensionnel T  a Le problème s’écrit : max z  c x sous  x  nb x x  U T



L’utilité ui de l’objet i est le rapport prix / volume :

ui 

ci 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 4.2 Programmation linéaire 4.2.4 Applications

Techniques d’optimisation

Max CERF 2018

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 Le volume du sac à dos numéro j est bj :

n

a x i 1

i

m

L’objet numéro i est dans un sac à dos au plus :

x j1



ij

ij

 bj , j 1 à m

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 4.2 Programmation linéaire 4.2.4 Applications

Techniques d’optimisation

Max CERF 2018

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



Le problème s’écrit :

1 si l’objet i est sélectionné 0 sinon

 n variables binaires

n  a i x ij  b j , j  1 à m  im1 n max z   cis i sous  x ij  s i , i  1 à n x ,s i 1  j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 4.2 Programmation linéaire 4.2.5 Problème quadratique

Techniques d’optimisation

Max CERF 2018

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 4.2 Programmation linéaire 4.2.5 Problème quadratique

Techniques d’optimisation

Max CERF 2018

4.2.5 Problème quadratique Problème quadratique en variables binaires

Ax  b 1 T  problème noté (PQB) x Qx  c T x sous  n x 2 x  U , U  0 ; 1 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é. min z 

• •

Problème relaxé (ou continu) Le problème (PQR) est obtenu à partir de (PQB) en supprimant les contraintes d’intégrité.

min z  x

Ax  b 1 T x Qx  c T x sous  n 2 x  R , x  0

 problème noté (PQR)  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 4.2 Programmation linéaire 4.2.5 Problème quadratique

Max CERF 2018

Techniques d’optimisation 4.2.5 Problème quadratique

Exemple

x1  x 2  5 x  2  1 min z  2x12  4x 22 sous x 2  1 x 2x  x  10.5 2  1 x1 , x 2 entiers •

Solution relaxée

x1 

10 5 100 , x2   zr  3 3 3

7

6

5

4

3

z = 100/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 4.2 Programmation linéaire 4.2.5 Problème quadratique

Techniques d’optimisation

Max CERF 2018

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  n x x  R , x  0

 problème noté (PO)

L( x, , )  f ( x )   (b  Ax)   x T

T

 x L( x, , )  f ( x )  A T     2  xx L( x, , )   2 f ( x )



Lagrangien :



f ( x )  A T     0  → conditions KKT (ordre 1) Ax  b 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.

→ application au problème quadratique (PQR) avec

f (x) 

1 T x Qx  c T x 2

1010

4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique

Techniques d’optimisation

Max CERF 2018

4.2.5 Problème convexe Résolution du problème relaxé La solution du problème relaxé (PQR) vérifie les conditions KKT.

min z  x

Ax  b 1 T x Qx  c T x sous  n 2 x  R , x  0



 x L( x, , )  Qx  c  A T    1 T T T T Lagrangien : L( x, , )  x Qx  c x   (b  Ax)   x   2 2  xx L( x, , )  Q



Qx  c  A T     0  → conditions KKT (ordre 1) Conditions suffisantes d’optimalité : Ax  b 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 4.2 Programmation linéaire 4.2.5 Problème quadratique

Techniques d’optimisation

Max CERF 2018

4.2.5 Séparation et évaluation Résolution du problème binaire

min z  x

Ax  b 1 T x Qx  c T x sous  n 2 x  U , U  0 ; 1

 problème noté (PQB)



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 4.2 Programmation linéaire 4.2.5 Problème quadratique

Max CERF 2018

Techniques d’optimisation 4.2.5 Convexification

Problème équivalent

min z  x



Ax  b 1 T x Qx  c T x sous  n 2 x  U , U  0 ; 1

 problème noté (PQB)

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.













1 1 1 q  q T  x T Qx  x T Q T x  x T Q  Q T x 2 2 2 1  q  x T Q' x avec Q'  Q  Q T matrice symétrique 2

q  R  q  qT  q 





Exemple

x  q  x12  4x1x 2  3x 22   1   x2 

T

 1 4  x1      0 3  x 2 

x    1   x2 

T

 1 2  x1     2 3   x 2 

1 avec Q   0 1 avec Q'   2



4  3  2  symétrique 3 

1013

4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique

Techniques d’optimisation

Max CERF 2018

4.2.5 Convexification Problème équivalent

min z  x



Ax  b 1 T x Qx  c T x sous  n 2 x  U , U  0 ; 1

 problème noté (PQB)

On cherche à formuler un problème équivalent (PQB)’.

min z'  x

Ax  b 1 T x Q' x  c'T x sous  n 2 x  U , U  0 ; 1

 problème noté (PQB)’



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



2 Les techniques de convexification sont basées sur la propriété : x  0 ; 1  x  x - transformation des produits de variables binaires - ajout d’une matrice positive « suffisamment grande »

1014

4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique

Techniques d’optimisation

Max CERF 2018

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). 2  x  x 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 → convexe (valeurs propres 0 et 2) t c ( x , y)    ( x  y) 2   ( x  y) 2 2 1 1 x, y  0 ; 1  t c ( x, y)   ( x 2  2xy  y 2 )  ( x  y)  xy  t c ( x, y)  t ( x, y) 2 2 =x =y



Cas  positif :



1 1 Cas  négatif : t c ( x, y)   ( x  y) 2  ( x  y) → convexe (valeurs propres 0 et 2) 2 2 1 1 x, y  0 ; 1  t c ( x, y)   ( x 2  2xy  y 2 )  ( x  y)  xy  t c ( x, y)  t ( x, y) 2 2 =x =y

1015

4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique

Max CERF 2018

Techniques d’optimisation 4.2.5 Convexification

Transformation des produits

min z  x



Ax  b 1 T x Qx  c T x sous  n 2 x  U , U  0 ; 1

 problème noté (PQB) 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





1 1 2 2     q  x  x  x  x  q ij  x i  x j   x i  x j  remplacé par  ij  i j i j q ij  0 2 q ij  0 2 1 1  q ij  x i2  x 2j  x i  x j    q ij  x i2  x 2j  x i  x j   q ij  0 2 q ij  0 2 1 1   q ij 2x i x j   q ij 2x i x j en développant 2 2 q ij  0 q ij  0



































1 1 2 2   q  x  x  x  x  q ij  x i2  x 2j  x i  x j     ij i j i j 2 q ij 0 2 q ij 0

n

q x x

i , j1

ij

i

j

1016

4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique

Max CERF 2018

Techniques d’optimisation 4.2.5 Convexification

Transformation des produits •

n 1 T T La fonction coût du problème initial (PQB) est : z  q  c x avec q  x Qx   q ij x i x j 2 i , j1



On remplace la partie quadratique q par la fonction convexe équivalente sur U. n

q x x

i , j1

ij

i

j







= 0 pour xi,xj  U •





n

q x x

i , j1

ij

i

j

= 0 pour xi,xj  U

On obtient un problème (PQB)’ convexe équivalent au problème (PQB).

min z'  x





1 1  q ij  x i2  x 2j  x i  x j   q ij  x i2  x 2j  x i  x j     2 q ij 0 2 q ij 0

Ax  b 1 T x Q' x  c'T x sous  n 2 x  U , U  0 ; 1

Exemple :

 problème noté (PQB)’

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 4.2 Programmation linéaire 4.2.5 Problème quadratique

Techniques d’optimisation

Max CERF 2018

4.2.5 Convexification Ajout d’une matrice positive • •



n 1 T T La fonction coût du problème initial (PQB) est : z  q  c x avec q  x Qx   q ij x i x j 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

n





n



q'  q  a  x i2  x i  x T Qx  a  x i2  x i i 1

i 1



i 1

1 1  z'  q'  c T x  x T Q' x  c'T x 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 1 0  x1  x 22  Q   → valeurs propres 1 et 1  2 0  1   1 avec a  1  z'  x12  x 22   a x12  x1   a x 22  x 2  2

1018

4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique

Max CERF 2018

Techniques d’optimisation 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  j1 x  0 ;1n 

Contraintes

 n  n  z'  z    ki x i   a kj x j  b k    u i x i2  x i i 1 k 1  j1  i 1 n



m



Termes nuls

Les coefficients ki et ui peuvent être choisis pour maximiser le coût relaxé.

1019

4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique

Techniques d’optimisation

Max CERF 2018

4.2.5 Convexification Exemple x  x 2  b min z  x12  x 22 sous  1 avec b  1 x   x , x  0 ; 1  1 2



2 0   La fonction n’est pas convexe : Q   0  2  



x  0 Solution binaire x1,x2 {0;1} :  1  z b  1 x  1  2



Solution relaxée x1,x2  0 :



On compare les 2 méthodes de convexification : - transformation des produits de variables binaires - ajout d’une matrice positive « suffisamment grande »

→ valeurs propres 2 et 2

x1  0  z r  b 2  x 2  b

Chaque méthode conduit à un problème convexe différent et à un coût relaxé différent.

1020

4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique

Max CERF 2018

Techniques d’optimisation 4.2.5 Convexification

Exemple : Transformation des produits x  x 2  b min z  x12  x 22 sous  1 avec b  1 x   x , x  0 ; 1  1 2



On remplace chaque produit par une expression convexe. x12 x

• •

2 2



1 2x1 2  2x1 2 1   2x 2  2 



  2   z'  2 x1  x1  x 2  

→ valeurs propres 4 et 0

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    1    0     1  z c1  b   ( x  x  b)  0 x  b 1 2   2



Conditions KKT :



Le coût relaxé par cette méthode de convexification vaut :

zc1 = b

1021

4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique

Techniques d’optimisation

Max CERF 2018

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   x , x  0 ; 1  1 2



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



Conditions KKT :

 2(a  1) x1  a    0   2(a  1) x 2  a    0    ( x 1  x 2  b)  0



 a  x   1 2(a  1)  a   avec x1, x2,   0 x 2  2(a  1)     a (a   )   b  0 2   a 1  

1022

4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique

Techniques d’optimisation

Max CERF 2018

4.2.5 Convexification Exemple : Ajout d’une matrice positive • •

a 2 (1  b)  b  a (a   )   b   0    0 ou   Condition de complémentarité :  2 a  a 1  a a Cas   0  x1  → x1, x2,   0 , x2  2(a  1) 2(a  1)

Le coût relaxé vaut : z c2  (a  1) x12  (a  1) x 22  ax1  ax 2 a3  z c2   2(a 2  1)



 z c2  

4 3

avec a  2 maximal pour a = 2.

a 2 (1  b)  b b(a  1) b(a  1)  x1  , x2  Cas   a 2a 2a b 4 2 avec a  2  b  On doit vérifier :   0  a  b 1 3

Le coût relaxé vaut :

z c2  (a  1) x12  (a  1) x 22  ax1  ax 2

1  1  z c2  b 2  a    ab 2  a

si b 

4 3

1023

4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique

Techniques d’optimisation

Max CERF 2018

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   x , x  0 ; 1  1 2



Solution binaire x1,x2 {0;1} : x1=0 , x2=1

 z b  1



Solution relaxée x1,x2  0 :

 z r  b 2



Convexification par transformation des produits  z c1  b

• •

x1=0 , x2=b

  a3 1 2 1  , b a   ab Convexification par ajout d’une matrice positive  z c2  min    2 2  a  2(a  1)  4 si b  Application numérique : b = 1.5 3

zc1 = 1.5

à comparer à

 1.33 si a  2 zc2    2.13 si a  4

→ Convexification 2 meilleure → Convexification 1 meilleure

1024

4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique

Max CERF 2018

Techniques d’optimisation 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. Objet i

flot fij

Objet j

Objet i placé au site p(i)=u Site u

Objet j placé au site p(j)=v distance duv

Site v

• • •

Le flot entre les objets i et j est : La distance entre les sites u et v est : Le coût est le produit flot  distance :



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 :

fij → matrice F des flots duv → matrice D des distances fijduv = coût du flot entre l’objet i placé au site u et l’objet j placé au site v

CP 

f d

i , j1 à n

ij p ( i ) p ( j)

1025

4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique

Techniques d’optimisation

Max CERF 2018

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 4.2 Programmation linéaire 4.2.5 Problème quadratique

Max CERF 2018

Techniques d’optimisation 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 0 sinon Coût n Le coût total des affectations est : z   s iu s jv f ijd uv i , j, u , v 1



Contraintes Chaque objet i est affecté à un seul site :

n

s u 1 n

Chaque site u reçoit un seul objet :

s i 1

 nn variables  objet i placé en u objet j placé en v

iu

1 , i 1 à n

 n contraintes

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 4.3 Métaheuristiques

Techniques d’optimisation

Max CERF 2018

Sommaire 1. 2. 3.

Bases théoriques Optimisation sans contraintes 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 4.3 Métaheuristiques 4.3.1 Principes

Techniques d’optimisation

Max CERF 2018

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étaheuristique

= méthode empirique spécialisée à un problème particulier = principe général applicable à différents problèmes → nécessite un travail d’adaptation pour chaque problème

1029

4 Optimisation discrète 4.3 Métaheuristiques 4.3.1 Principes

Max CERF 2018

Techniques d’optimisation 4.3.1 Métaheuristiques

Principales métaheuristiques •

Algorithmes Algorithme



Acronyme

Type de problème

Recuit simulé

SA

Discret (chemin)

Recherche tabou

TS

Discret (affectation)

Essaims particulaires

PSO

Continu

Colonies de fourmis

ACO

Discret (chemin)

Algorithme évolutionnaire

GA

Discret  Continu

Adaptation de covariance

CMA

Continu

Affine shaker

AS

Continu

Réseaux de neurones

NN

Identification

Extensions Continu

Discret

Discret

Applications Optimisation difficile → minima locaux, minimum global Optimisation multi-objectifs → front de Pareto Identification de modèles → apprentissage + optimisation

1030

4 Optimisation discrète 4.3 Métaheuristiques 4.3.1 Principes

Max CERF 2018

Techniques d’optimisation 4.3.1 Métaheuristiques

Principes généraux

min f(x) x

 trouver le minimum global ou des minima locaux

Population initiale 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 → intensification pour affiner les minima trouvés → diversification pour trouver d’autres minima

Candidats : Y1 , … , Yq Evaluations : f(Y1), … , f(Yq) k+1



Règles de sélection Acceptation aléatoire de dégradations → échappement de minima locaux

Sélection :

(X1 , … , Xp)k+1

k=N



Arrêt sur nombre d’essais N → généralement très grand

Meilleure(s) solution(s)

1031

4 Optimisation discrète 4.3 Métaheuristiques 4.3.2 Recuit simulé

Max CERF 2018

Techniques d’optimisation 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

trempe

Température basse

recuit

1032

4 Optimisation discrète 4.3 Métaheuristiques 4.3.2 Recuit simulé

Max CERF 2018

Techniques d’optimisation 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 PT (E )  e



E kT

E → loi de Gibbs (k = constante de Boltzmann)  kT (= constante de normalisation :    e dE ) E



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 4.3 Métaheuristiques 4.3.2 Recuit simulé

Max CERF 2018

Techniques d’optimisation 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 :



E   T si E  0 Le nouvel état x est accepté avec la probabilité P  e P  1 si E  0



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.

x0 → x = x0 + δx E0 → E = E0 + δE (augmentation d’énergie) (diminution d’énergie)

1034

4 Optimisation discrète 4.3 Métaheuristiques 4.3.2 Recuit simulé

Max CERF 2018

Techniques d’optimisation 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 4.3 Métaheuristiques 4.3.2 Recuit simulé

Max CERF 2018

Techniques d’optimisation 4.3.2 Recuit simulé

Algorithme On applique l’algorithme de Metropolis à un problème de minimisation. min f(x) x

 variables x = « état du système »    fonction f = « énergie du système » Solution initiale :

x 0 , f0

Température initiale T0

x k , fk

Température palier Ti

k=0 Solution courante :

Mouvement aléatoire : x , f

k+1

Probabilité d’acceptation P  e



f f k Ti

M mouvements sans acceptation

Baisse de température Ti+1 = Ti (0 0)

rejeté Evaluation en xk  d

 dd T  B  I   Région k 1 2  d 

Contraction suivant d (=c < 0)

accepté

rejeté

N rejets consécutifs ou Taille B insuffisante

Arrêt sur minimum local

1092

4 Optimisation discrète 4.3 Métaheuristiques 4.3.8 Affine shaker

Max CERF 2018

Techniques d’optimisation 4.3.8 Affine shaker

Exemple Fonction de Rosenbrock à deux variables : f ( x 1 , x 2 )  100 x 2  x 12



6

Nf

5 4 3 2 1 0 -5

-4

-3

-2

-1

0 -1

• • •

1

2

3

1 3 6 9 15 24 39 48 402 1206 28944 95676

  1  x  2

2

1

f 40036,0 4842,0 1517,8 971,7 932,0 51,5 1,2779 1,0386 0,1641 0,000097 0,000023 0,000021

x1 -5,0000 -2,5123 -1,0533 2,5591 1,6944 1,4993 1,3401 0,6511 0,5952 0,9903 1,0040 0,9978

x2 5,0000 -0,6379 5,0000 3,4356 -0,1809 1,5322 1,9036 0,3282 0,3527 0,9806 1,0082 0,9960

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 Initialisation :

1093

4 Optimisation discrète 4.3 Métaheuristiques 4.3.9 Reformulations

Techniques d’optimisation

Max CERF 2018

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 4.3 Métaheuristiques 4.3.9 Reformulations

Max CERF 2018

Techniques d’optimisation 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.



On définit une fonction de pénalisation  :

x  D  d1 , d 2 ,..., d p 

(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   j1 •

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) xR

 minimisation sur la variable x continue pénalisation  à régler pour forcer x  D

1095

4 Optimisation discrète 4.3 Métaheuristiques 4.3.9 Reformulations

Max CERF 2018

Techniques d’optimisation 4.3.9 Variables discrètes

Exemple 8 min f(x)  x 4  x 3  2x 2  8x avec x   1, 0 ,1, 2 x 3



(x)   (x  d j )(x  d j1 )

Fonction pénalisée avec

et  = 30

15

F( x )  f(x)  (x)

10

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 4.3 Métaheuristiques 4.3.9 Reformulations

Max CERF 2018

Techniques d’optimisation 4.3.9 Variables discrètes

Exemple



8 min f(x)  x 4  x 3  2x 2  8x avec x   1, 0 ,1, 2 x 3  x dj   Fonction pénalisée avec (x)  sin    d d  j   j1

et  = 10

15

F( x )  f(x)  (x)

10

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 4.3 Métaheuristiques 4.3.9 Reformulations

Max CERF 2018

Techniques d’optimisation 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

On définit la fonction dilatée F :

→ f(xm) = fm

c2  f(x)  c1 x  x m  F(x)   f (x)  f m f(x)

si f ( x )  f m 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 4.3 Métaheuristiques 4.3.9 Reformulations

Max CERF 2018

Techniques d’optimisation 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  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 5.2 Calcul des variations 5.2.2 Conditions de minimum

Max CERF 2018

Techniques d’optimisation 5.2.2 Condition de Jacobi

Preuve (1) • Il faut montrer que pour toute perturbation  admissible non nulle





b

1  J y* (  )  ' 2 P   2 Q dx  0 2a 2



avec (a) = (b) = 0 b



Pour former un carré sous l’intégrale, on ajoute un terme de la forme I  d ( w 2 ) a w est une fonction quelconque de classe C1.

 

b



I  d ( w 2 )  w 2 a

b a

 0 car  ( a )   ( b )  0





b

1  J y* (  )   J y* (  )  I  ' 2 P  2' w   2 ( Q  w' ) dx 2a 2



2

Par hypothèse : P > 0. Si on peut choisir la fonction w telle que : P( Q  w' )  w 2 , alors on aura 2 b b 2 1  2 w 1  w  2 2 w   J y* (  )  P' 2'   2 dx  P'    dx  0 2 a  P 2a  P  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 5.2 Calcul des variations 5.2.2 Conditions de minimum

Max CERF 2018

Techniques d’optimisation 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 •

On considère une solution v de l’équation de Jacobi : Qv 

d ( 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].



On définit la fonction w de classe C1 : w  

v' P v

Cette fonction vérifie : vw   Pv'  v' w  vw'  ( Pv' )'  Qv v' w2  Q  w'   w  v P

car v solution de Jacobi.

qui est la propriété souhaitée

1136

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.2 Conditions de minimum

Techniques d’optimisation

Max CERF 2018

5.2.2 Exemple 1 : distance Distance dans le plan b

• •

Formulation :

min y



1  y' ( x ) 2 dx

 L ( x , y, z )  1  z 2

a

Condition nécessaire d’ordre 1 : L y  L z ' L y'   C te  y'  C te y' 1  y' 2



Condition nécessaire d’ordre 2 :



 2L P  2  1  y' 2 y'





3 2

0

Conditions suffisantes : Equation de Jacobi : (Pv' )'  Qv

(Euler-Lagrange) → extrémales = droites (fonctions linéaires)

L zz  0

(Legendre) → condition vérifiée par les extrémales

L zz  0 , pas de points conjugués (Jacobi) P( x )  L zz  C te  P0 car y*'  C te avec  Q( x )  L yy  L yz '  0 car L y  0

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

Solution v :

1137

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.2 Conditions de minimum

Techniques d’optimisation

Max CERF 2018

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

1  J y* ()  '2 P  2 Q dx  0 2a 2



P ( x )  L avec Q( x )  Lzz  L ' yy yz 

On considère pour P et Q fixées la fonctionnelle K définie par

 b



b

1 K ( v)  v'2 P  v 2 Q dx  M ( x , v, v' )dx 2a a



 M ( x , v, v ' ) 

1 2 1 2 Pv'  Qv 2 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 5.2 Calcul des variations 5.2.2 Conditions de minimum

Max CERF 2018

Techniques d’optimisation 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). A

B C

A

extrémales issues de A

B

1139

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.2 Conditions de minimum

Max CERF 2018

Techniques d’optimisation 5.2.2 Condition de Jacobi

Cas particulier b

min J ( y)  Lx , y, y'dx yY

 a

 Lx , y'



On suppose que la fonction L ne dépend pas explicitement de 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 5.2 Calcul des variations 5.2.2 Conditions de minimum

Max CERF 2018

Techniques d’optimisation 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  = longitude      , B  B  A  A   0   0  A   B 



C

B 

→ choix des axes de référence facilitant la résolution



Distance en coordonnées sphériques x  cos  cos   y  cos  sin  z  sin 



(méridiens) (équateur)

A

 ds 2  dx 2  dy 2  dz 2  d 2  d2 cos 2 

Formulation On choisit comme  variable et on cherche la fonction () qui minimise la distance de A à B. B

min 



A

1  ' () 2 cos 2  d  L(, , ' )  1  '2 cos 2 

avec ' 

d d

1141

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.2 Conditions de minimum

Max CERF 2018

Techniques d’optimisation 5.2.2 Exemple 3 : sphère

Condition d’ordre 1 B

• •



Formulation : min 



1  ' () 2 cos 2  d

 L(, , ' )  1  '2 cos 2 

A

Condition nécessaire d’ordre 1 :

L  L' '

L L 0   C te  c  '

' cos 2 



1  '2 cos 2 

(Euler-Lagrange) c 

Une primitive () est (solution non évidente) :

d c  d cos  cos 2   c 2 tan (   0 ) 

c sin  cos 2   c 2

On peut vérifier cette solution en dérivant chaque membre. d d  c 2 sin 2   d (1  c 2 ) cos 2  d 2  tan (   0 )   1  tan (   0 )  1  2  2  d d  cos   c  d cos 2   c 2 d



d  c sin  d  cos 2   c 2 



 c(1  c 2 ) cos   3   cos 2   c 2 2





c cos 2   c 2

 cos 

d d

1142

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.2 Conditions de minimum

Max CERF 2018

Techniques d’optimisation 5.2.2 Exemple 3 : sphère

Condition d’ordre 1 •

Les extrémales ont pour équation () : tan (   0 ) 

c sin  cos 2   c 2

Les 2 constantes d’intégration 0 et c sont déterminées par les conditions en A et B.



     , B  B  A  A   0   0  A   B 

  tan  0 

A et B sont quelconques

  0  0 ou  , c  0

On obtient pour l’extrémale AB :

c sin  A cos 2  A  c 2



c sin  B cos 2  B  c 2

pour que l’égalité soit vérifiée

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 5.2 Calcul des variations 5.2.2 Conditions de minimum

Techniques d’optimisation

Max CERF 2018

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  L(, , ' )  1  ' cos   L   0 , L  '   2 2 L 1  ' cos  2 2 cos  ' cos  L  ' P()  L  ' '    cos 2  (car =0 , L=1 le long de l’extrémale) 2 L L 2

' cos 2 

2

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 5.2 Calcul des variations 5.2.2 Conditions de minimum

Max CERF 2018

Techniques d’optimisation 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é. 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.

C B

Remarques • La formulation en () suppose la variable  croissante. Si on choisit le repère pour avoir : 

   A  B  A    2 2

A

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 5.2 Calcul des variations 5.2.3 Extensions

Techniques d’optimisation

Max CERF 2018

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 5.2 Calcul des variations 5.2.3 Extensions

Max CERF 2018

Techniques d’optimisation 5.2.3 Extrémités libres

Perturbations en a et b b

min J ( y)  Lx , y, y'dx yY

 a

avec  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

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 = variation due à  yb = variation due à b

y yb

+  0

y(b)  y   y b  (b)  y' (b)b

a a+a

b

b+b

x

1147

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions

Max CERF 2018

Techniques d’optimisation 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

 Lx, y * , ( y * )'dx   Lx, y*, y*'dx   L  L x  ' L dx   Ldx

J 

y

a  a

b

 L x  ' L dx   L



y

y'

a  a

y

y'

a  a

a

b  b



 L y ' ' dx 

[L y ' ]ab



a

en intégrant par parties •

b

a

b  b

a  a

b

a

 L dx   L dx à 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 5.2 Calcul des variations 5.2.3 Extensions

Techniques d’optimisation

Max CERF 2018

5.2.3 Plusieurs variables Formulation min J (z)  z

 Lx, y, z, z

x ,zy

dxdy

→ fonction z de 2 variables x,y sur une région D de R2

( x , y )D



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 z* minimum de J



L   L   z x  z x

   L     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 5.2 Calcul des variations 5.2.3 Extensions

Techniques d’optimisation

Max CERF 2018

5.2.3 Plusieurs fonctions Formulation b

min J ( y)  Lx , y1 ,..., y n , y1 ' ,..., y n 'dx yY



→ n fonctions inconnues y1, … , yn

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( x )  y1 ( x ) , ..., y n ( x ) 

 y (a )   j avec  y(a )     j , j  1,..., n  y( b)    y j ( b)   j

Conditions de minimum



L d  L   , j  1,..., n y* minimum de J  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 5.2 Calcul des variations 5.2.3 Extensions

Techniques d’optimisation

Max CERF 2018

5.2.3 Courbe paramétrée Formulation b

min J ( y)  Lx , y, y'dx



y



a

On recherche la solution sous forme d’une courbe paramétrée. x  x ( t )  y  y( t ) 



x(t )  a y( t )   avec  a et  a x ( t b )  b  y( t b )  

Les dérivées par rapport à t et x sont notées : 

dx dy dy y  x ,  y ,  y'  y'  dt noté dt noté dx noté x

tb

 y ( t )   x ( t )dt Lx , y, y'dx  L x ( t ), y( t ),  x ( t )  a ta  b



 → 1 fonction inconnue y(x) avec  yy((ab))   





Formulation paramétrée tb

min K ( x , y)  Mt , x , y, x , y dt x,y



ta

 y ( t )   x ( t ) avec Mt , x , y, x , y   L x ( t ), y( t ),  x ( t )  

→ problème à 2 fonctions inconnues x(t) et y(t) avec des conditions en t a , tb

1151

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions

Techniques d’optimisation

Max CERF 2018

5.2.3 Courbe paramétrée Condition nécessaire d’ordre 1 tb

min K ( x , y)  Mt , x , y, x , y dt x,y





ta

Chaque fonction x(t) et y(t) vérifie l’ équation d’Euler-Lagrange.    M  d  M  Mx  M x x dt  x 

   M  d  M  My  M y y dt  y 



 y ( t )   x ( t ) avec Mt , x , y, x , y   L x ( t ), y( t ),  x ( t )  

→ système différentiel de dimension 2 et d’ordre 2 avec 4 conditions aux extrémités

Les 2 équations différentielles ne sont pas indépendantes. Chacune est équivalente à l’équation d’Euler-Lagrange du problème initial. L y  L y' ' 

L d  L     y dx  y' 

→ système différentiel de dimension 1 et d’ordre 2 avec 2 conditions aux extrémités

1152

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions

Max CERF 2018

Techniques d’optimisation 5.2.3 Courbe paramétrée

Preuve y   M t , x , y , x , y   L x , y ,  x x  



 x y    M  L x , M  L y  L  L  L  L  Lz y' x x z z 2  x   x x  1 M y  L y x , M y  Lz x  Lz x 

Equation d’Euler-Lagrange pour x(t) d d M x  M x  Lx x  L  Lz y'   L  Lz y' x 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 du problème initial pour y(x)

Equation d’Euler-Lagrange pour y(t) d d M y  M y  L y x  Lz   Lz x dt dx

 L y  Lz '  0

1153

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions

Techniques d’optimisation

Max CERF 2018

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 ) .   → 2 fonctions u(t) , v(t) r ( t )  r (u ( t ), v( t ))



Elément de longueur sur la surface 2   ds 2  d r  ru du  rv dv

2

 ds  Eu '2 2Fu ' v'Gv'2 dt



   ru2 du 2  2 ru .rv dudv  rv2 dv 2   avec E  ru2 , F  ru .rv , G  rv2

Les géodésiques de la surface sont les extrémales de la fonctionnelle J. B



min J (u , v)  ds  u ,v

A

tb



Eu '2 2Fu ' v'Gv'2 dt

ta

→ problème à 2 fonctions inconnues u(t) et v(t) avec des conditions en ta , tb

1154

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions

Techniques d’optimisation

Max CERF 2018

5.2.3 Courbe paramétrée Géodésiques • Formulation tb

min J (u , v)  u ,v





Eu '2 2Fu ' v'Gv'2 dt

ta

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 dt  Eu '2 2Fu ' v'Gv'2  Eu '2 2Fu ' v'Gv'2   E v u '2 2Fv u ' v'G v v'2 d  2(Fu 'Gv' )    dt  Eu '2 2Fu ' v'Gv'2  Eu '2 2Fu ' v'Gv'2

   

→ pour u

   

→ pour v

  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 5.2 Calcul des variations 5.2.3 Extensions

Max CERF 2018

Techniques d’optimisation 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 sin  , a cos  , 0)  r  (a cos  , a sin  , z)    0, 1) r z  ( 0 ,



Equations d’Euler-Lagrange   E  r2  a 2 , F  r .rz  0 , G  rz2  1 2 d  a '    dt  a 2 '2  z'2  d  z'    dt  a 2 '2  z'2



z

 0  

 a 2 '  2 2 2  c1  a '  z'    c1z'  c 2 a 2 ' z'   0  2 2 2  c2   a '  z' 

a 

Les géodésiques du cylindre sont des hélices d’équation : z  z 0  c(  0 )

1156

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions

Max CERF 2018

Techniques d’optimisation 5.2.3 Invariance

Changement de variable b

min J ( y)  Lx , y, y'dx y





→ fonction inconnue y(x)

a

On effectue le changement de fonction y = f(x,Y). La nouvelle fonction inconnue est Y(x). d d f f dY y'  y f x , Y( x )     f x  f Y Y' dx dx x Y dx noté b



Le problème en variable Y devient : avec



b

min J ( y)  Lx , y, y'dx  min K (Y)  Mx , Y, Y'dx y

 a



Y

a

L( x , y, y' )  Lx , f ( x , Y), f x  f Y Y'  M( x , Y, Y' )

L’équation d’Euler-Lagrange est invariante :

noté

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 5.2 Calcul des variations 5.2.3 Extensions

Techniques d’optimisation

Max CERF 2018

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

si •



y

a

a

L y  L y' '  M y  M y' '

Si les lagrangiens L et M diffèrent d’une dérivée totale (condition suffisante) : M  L  F avec F( x , y, y' ) 

d ( x , y)   x   y y' dx

avec (x,y) fonction quelconque

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  Fy' '   y '   yx   yy y' dx  Fy'   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  et K ( y )  Mdx  ( L  F )dx   L  dx a a a b



b



b



 dx  J ( y )   ( b )   ( a ) 

1158

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions

Techniques d’optimisation

Max CERF 2018

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 pz  f (z)   0 en z p  p  f ' (z p )  h ' (p)  z p et h ' ' (p)  f ' ' (z p ) dz



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) noté

avec p  L z ( x , y, z p )



→ variables canoniques associées à J

1159

1

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions

Max CERF 2018

Techniques d’optimisation 5.2.3 Forme canonique

Variables canoniques b

min J ( y)  Lx , y, y'dx y





avec n fonctions inconnues y = (y1, … , yn)

a

On définit de nouvelles fonctions p et H : (= transformation de Legendre sur L(.,.,y)) La fonction H dépend de 2n+1 variables :

p  L y ' H  py'L  H ( x , y, p ) 

→ n fonctions p(x) → 1 fonction H(x,y,p) n

 p y '  L(x, y ,..., y i

i

1

n , y1 ' ,..., y n ' )

i 1



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  H x dx  H y dy  H p dp H x   L x  Par identification : H y  L y H p  y'



car p  L 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 5.2 Calcul des variations 5.2.3 Extensions

Max CERF 2018

Techniques d’optimisation 5.2.3 Forme canonique

Variables canoniques b

min J ( y)  Lx , y, y'dx y



avec n fonctions inconnues y = (y1, … , yn)

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' '



est équivalente à :

 y'  H p p '   H y 

→ 2n EDO d’ordre 1 en variables y , p (équations canoniques)

n EDO d’ordre 2 en variables y

 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 5.2 Calcul des variations 5.2.3 Extensions

Techniques d’optimisation

Max CERF 2018

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 p*'  H y  La dérivée totale d’une fonction quelconque (y,p) le long d’une extrémale est

Les variables canoniques y* , p* associées à J vérifient :



d    H  H  y' p'   dx y p y p p y



noté

 , H

→ crochet de Poisson de  et H

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   y' p'   H , H   dx x y p x

dH H  dx x

car H , H   0

Si H ne dépend pas explicitement de x, alors H est une intégrale première.

1162

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions

Max CERF 2018

Techniques d’optimisation 5.2.3 Forme canonique

Transformation canonique • On considère la forme canonique associée à une fonctionnelle J. b

min J ( y)  Lx , y, y'dx y

 a

n fonctions y vérifiant L y  L y ' ' •

b



min J ( y, p)  y,p

 py'H(x, y, p)dx a

p  L y' avec  H  py'L

 y'  H 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 * avec la fonction H ( x , y , p )  p '   H  * 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)  *

*

a



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 5.2 Calcul des variations 5.2.3 Extensions

Max CERF 2018

Techniques d’optimisation 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. b

J ( y, p ) 

 py'H(x, y, p)dx

 PY'H (x, Y, P)dx b

J ( Y, P )  *

équivalente à

a

*

a

si py'H( x , y, p)  PY 'H * ( x , Y, P) 

d dx



avec  fonction quelconque



 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  p

avec  fonction quelconque de (x,y,Y).

   , P , H*  H  y Y x

(x,y,Y) est la fonction génératrice de la transformation canonique.

1164

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions

Techniques d’optimisation

Max CERF 2018

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  y Y x

→ impulsions p, P associées à la forme canonique

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 ( x , y, Y )  2 ( x , y, P)  1 ( x , y, Y)  PY

1  ,P 1 y Y  2  2 ,Y  d 2  pdy  YdP  (H *  H) dx  p  y P

 d1  pdy  PdY  (H  H) dx  p  *

 3  3 ,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

 3 ( x , p, Y)  1 ( x , y, Y)  py



 d 3   ydp  PdY  (H *  H) dx  y  

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 5.2 Calcul des variations 5.2.3 Extensions

Max CERF 2018

Techniques d’optimisation 5.2.3 Forme canonique

Changement de variables paramétré b

min J ( y)  Lx , y, y'dx y





→ variable x , n fonctions y(x) = (y1, … , yn)

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)  y*  Y( x , y, y' , )  y  Y( x , y, y' ,0)



→ identité pour =0

La fonctionnelle J est invariante par le changement de variables ( x, y)  ( x*, y*) si J ( y*)  J ( y)

x * b*

x b

x * a *

x a



 Lx*, y*, y*'dx *   Lx, y, y'dx

Théorème de Noether Si J est invariante par le changement de variables quelles que soient les bornes a et b, alors la fonction L y '

Y X  L  L y ' y'   0   0

 L y ' Y



 0







 L  L y ' y' X 

 0

est une intégrale première.  p Y

 0

 H X

 0

 C te

1166

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions

Max CERF 2018

Techniques d’optimisation 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   A l’ordre 1 en  :   y*  Y ( x , y , y' , )  Y ( x , y , y' ,0 )   Y



J   L y' Y

La variation première de J se réduit à :

 0

 0

 x   X

 0

 x   X 

 0

 0

 y   Y

 0

 y   Y

 0





 L  L y' y' X 



b

 0 a

J est invariante par le changement de variables quelles que soient les bornes a et b.



J  0  L y' Y  L y' Y

 0

 0









 L  L y' y' X 

 L  L y' y' X 



b

 0 a

 0

0

 C te

car a et b sont quelconques.

1167

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions

Max CERF 2018

Techniques d’optimisation 5.2.3 Forme canonique

Fonction valeur b

min J ( y)  Lx , y, y'dx



y



a

avec  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

car p  L y ' , H  py'L  L y ' y'L

a

 [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 5.2 Calcul des variations 5.2.3 Extensions

Techniques d’optimisation

Max CERF 2018

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,)





Les dérivées partielles de V(x,y) sont :

V V  H , p x y

L’hamiltonien H est fonction de x,y,p :

H ( x , y, p )  H ( x , y,

La fonction valeur V(x,y) vérifie l’EDP :

V V  H( x , y, )  0  Vx  H( x , y, Vy )  0 x y

V ) 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 5.2 Calcul des variations 5.2.3 Extensions

Techniques d’optimisation

Max CERF 2018

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). Alors les fonctions

Preuve Il faut montrer que

V sont des intégrales premières  d  V  dx  

(= constantes le long des extrémales).

  2V  2V dy   0   0  x    y   dx 

V(x,y,) vérifie l’équation HJB :

V V  H ( x, y , )0 x y

En dérivant par rapport à  :

 

Le long d’une extrémale y(x) :

dy H  dx p

On obtient le résultat cherché :

d  V  dx  

 V V   H ( x, y , y  x

   0 

le long d’une extrémale

  2V H  2V )    0    x  p    y   2V dy  2V   0 x dx y

1170

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions

Max CERF 2018

Techniques d’optimisation 5.2.3 Exemple 1 : distance

Equation HJB On cherche les extrémales d’une fonctionnelle par résolution de l’équation HJB. b





J ( y)  f ( y) 1  y'2 dx

Fonctionnelle :

 L ( x , y, y ' )  f ( y ) 1  y ' 2

a



H  py'L  py'f ( y) 1  y'2 avec p  L y ' 

Hamiltonien :

f ( y) y' 1  y' 2

 y' 

p f ( y) 2  p 2

 H ( x , y, p )   f ( y ) 2  p 2



 Vx2  Vy2  f ( y) 2

Vx  H( x , y, Vy )  0

Equation HJB :

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



Intégrale première :

V du  C te  x   a 2 2   f (u )  



(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 5.2 Calcul des variations 5.2.3 Extensions

Techniques d’optimisation

Max CERF 2018

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



J ( y) 

Fonctionnelle :



1  y'2 dx

→ distance de A(a,) à B(b,)

a

y



Fonction valeur :

V ( x , y)   ( x  a ) 



f (u ) 2   2 du



 V ( x , y)   ( x  a )  1   2 ( y   )



Extrémales :

x  

 1 

2

( y  )  a

→ droites passant par A(a, )

(x  a ) ( x  a )  ( y  ) 2

2

 V ( x , y)  ( x  a ) 2  ( y   ) 2



pour l’extrémale passant par M(x,y)

→ 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 5.2 Calcul des variations 5.2.3 Extensions

Techniques d’optimisation

Max CERF 2018

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 : Coordonnées : Vitesses :

Accélérations : Energie cinétique totale :

m  (m1 ,..., m n )    r ( t )  r1 ,..., rn   q noté    dr  v( t )   v1 ,..., v n   q noté dt    dv  a (t)   a1 ,..., a n   q noté dt n 1 1 2 2  T  mq  T  m i q i 2 i 1 2



Energie potentielle totale :

U( t , q)

Force appliquée à la particule i :

 U Fi   q i

→ dérive du potentiel U

1173

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions

Techniques d’optimisation

Max CERF 2018

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



avec L  T  U  L( t , q, q ) 

t0

1 mq 2  U( t , q) 2

L est le lagrangien du système de particules = différence énergie cinétique – potentielle •

Postulat de moindre action :



On peut donc trouver les trajectoires en recherchant les extrémales de la fonctionnelle S. Equation d’Euler-Lagrange :

Les trajectoires des particules minimisent l’action S.

U d 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 5.2 Calcul des variations 5.2.3 Extensions

Techniques d’optimisation

Max CERF 2018

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

p  L q  mq   2 H  pq  L  mq  L  2T  (T  U)  T  U

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 dt t t



→ conservation de l’énergie

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

 H X  0

 0

 C te

 p  C te

→ conservation de la quantité de mouvement

1175

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions

Max CERF 2018

Techniques d’optimisation 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

 n

     q*  q  n  q

 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

 H X  0

 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 def

→ conservation du moment cinétique  (= moment de la quantité de mouvement p)

1176

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions

Techniques d’optimisation

Max CERF 2018

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  r On se place en coordonnées sphériques (r , )  v       r  v  r Energie potentielle : U   (par unité de masse) r r 1 2 1 2 2 Energie cinétique : T  v  (r  r )  r 2 2 1   L( t , r, , r,  )  T  U  (r 2  r 2 )  Lagrangien : 2 r  L r  L r  r 2  2  r Equation EL :     r   r   0  r h  r  v   0   r  0 2 te   0  0   2   L   L   r   h  C      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 5.2 Calcul des variations 5.2.4 Contraintes

Techniques d’optimisation

Max CERF 2018

5.2.4 Contraintes  Extrémité libre  Contrainte finale

 Contrainte intégrale  Contrainte courante

1178

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes

Max CERF 2018

Techniques d’optimisation 5.2.4 Extrémité libre

Formulation b

min J ( y)  Lx , y, y'dx yY



avec

a

 y (a )    y( b)   

→ problème à valeurs fixées en a et b



On reprend le problème sans la contrainte sur y(b)



Y est l’espace des fonctions C1 de [a,b] dans R, à valeur fixée en a : y(a) = 

→ valeur libre.

y y2

Illustration : y1 , y 2 , y *  Y

2

y1(b) = 1

y*

*

y2(b) = 2

1

y*(b) = *



J ( y*)  min J ( y)

0

y1 a

yY

b

x



J ( y*)  J ( y1 ) J ( y*)  J ( y 2 )

1179

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes

Max CERF 2018

Techniques d’optimisation 5.2.4 Extrémité libre

Condition nécessaire d’ordre 1 b

min J ( y)  Lx , y, y'dx yY





avec y(a) = 

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 :

 



J ( y)  J ( y*)    L y  L z ' dx  (b)L z (b)  o() b

 

a

avec (b) libre



 J y* ()   L y  L z ' dx  (b)L z (b) a



Condition nécessaire de minimum local : L y  L z '  0    L z (b)  0



Jy*() = 0

pour toute perturbation admissible 

→ équation d’Euler-Lagrange (EDO d’ordre 2) → 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 5.2 Calcul des variations 5.2.4 Contraintes

Max CERF 2018

Techniques d’optimisation 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 0

B*

a

b



1  y' ( x ) 2 dx

a

 L ( x , y, z )  1  z 2

x

Solution • •

Equation EL :

L d  L     y dx  y' 

Condition de transversalité :



L y'   C te y' 1  y' 2 L ( b)  0 y'

La courbe solution est le segment horizontal AB* de longueur ba.

 y'  0

1181

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes

Max CERF 2018

Techniques d’optimisation 5.2.4 Contrainte finale

Formulation b

avec  y(a )   → a fixé, b libre  y( b)   ( b)

min J ( y, b)  Lx , y, y'dx



yY bR

a



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 

0

y1 a

b1 b*

b2

x

1182

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes

Max CERF 2018

Techniques d’optimisation 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 * (b*)  y   y b

y  y *    y (b*)  y * (b*)   (b*)  y' (b*)  y*' (b*)  ' (b*)

à l’ordre 1 en  et b y y

 y*

*

y=(x) y

Variation de y en b y = variation due à  yb = variation due à b

yb



0

y(b)  y   y b  (b)  y' (b)b

a

b*

b

x

1183

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes

Techniques d’optimisation

Max CERF 2018

5.2.4 Contrainte finale Evaluation de J(y* + ) • On calcule J en y = y* +  , b = b* + b. b* b

 Lx, y * , ( y * )'dx

J ( y, b)  J ( y * , b * b) 

a

b*

 Lx , y * , ( y * )'dx 



b* b

 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 b*

b*

b*

b*

y

à l’ordre 1 en 

 ' L z )dx

b*   b *   Ldx   L y dx   L z a  L z ' dx    a a a  

 



 





 Ldx    L y  L z ' dx  (b*)L z (b*) a

car (a) = 0

a

b* b

 Lx, y * , ( y * )'dx  Lb*, y * (b*), y'*(b*)b

b*

à l’ordre 1 en b

1184

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes

Max CERF 2018

Techniques d’optimisation 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

avec •

a

b*

J ( y*, b*)  Lx*, y*, y*'dx

 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 5.2 Calcul des variations 5.2.4 Contraintes

Max CERF 2018

Techniques d’optimisation 5.2.4 Contrainte finale

Condition nécessaire d’ordre 1 • Condition nécessaire de minimum local J ( y*, b*)  J ( y, b) b*

 

pour toute perturbation admissible  , b



   L y  L z ' dx  bL  L z (' y*' ) (b*)  0 , , , b

((a) = 0)

(perturbations indépendantes)

a

L y  L z '  0    L  L z (' y*' )  0 en b *

→ équation d’Euler-Lagrange (EDO d’ordre 2)

→ 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 5.2 Calcul des variations 5.2.4 Contraintes

Max CERF 2018

Techniques d’optimisation 5.2.4 Contrainte finale

b Condition de transversalité • 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



min w ( x , y) 1  y' ( x ) 2 dx sous y(b)  (b) y,b

 L ( x , y, z )  w ( x , y ) 1  z 2

a

y y=(x)

y*

*



0

a

b*

x

1187

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes

Max CERF 2018

Techniques d’optimisation 5.2.4 Contrainte finale

Condition de transversalité • Condition nécessaire de minimum local L y  L z '  0   L  L z (' y*' )  0 en b *

avec L( x , y, z)  w ( x , y) 1  z 2



Equation d’Euler-Lagrange :

w d  wy' 2 1  y'  y dx  1  y'2 



Condition de transversalité :

w 1  y' 2 

wy' 1  y'

 y' (b).' (b)  1

2

   

' y'  0

y=(x)

en x=b

y*

B*

→ 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 5.2 Calcul des variations 5.2.4 Contraintes

Techniques d’optimisation

Max CERF 2018

5.2.4 Contrainte intégrale Formulation b

min J ( y)  Lx , y, y'dx yY

 a

b

sous C( y)  Mx , y, y'dx  0

 a

et  y(a )    y( b)  

La contrainte intégrale (ou isopérimétrique) C(y) = 0 restreint l’espace des fonctions Y. b Condition nécessaire d’ordre 1 • 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 5.2 Calcul des variations 5.2.4 Contraintes

Max CERF 2018

Techniques d’optimisation 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 

 J   F ( 0 ,0 )   1  J    2

C    1  C   2 

2

C F 0

1

y y*

J

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 5.2 Calcul des variations 5.2.4 Contraintes

Max CERF 2018

Techniques d’optimisation 5.2.4 Contrainte intégrale

Preuve (2) On exprime la matrice F(0 , 0). F  1 , 2   J ( y ),C( y )

Pour une perturbation  :

avec y = y* + 11 + 22

b

J ( y )  Lx , y , y' dx



a b

 J    F ( 0 ,0 )   1  J    2 b

C    1  C   2 

J     L y  Lz ' dx  a

 



b

C C( y )  M x , y , y' dx     M y  M z ' dx   a a

 





La matrice F(0 , 0) est singulière et ses colonnes sont linéairement dépendantes. Il existe (0 , )  (0 , 0) tels que La perturbation  est quelconque

b

  ( L 0

y



 Lz ' )  ( M y  M z ' ) dx  0

a

 0 ( L y  Lz ' )  ( M y  M z ' )  0  N y  N z '  0 avec N  0 L  M

1191

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes

Max CERF 2018

Techniques d’optimisation 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

B

A 0

L

a

b





Formulation :

b



min J ( y)   ydx sous C( y)  y

→ longueur

A

x

b





1  y'2 dx

a



1  y' ( x ) 2 dx  L 0  0

a

Lagrangien augmenté :

N ( x , y, y ' )   y   1  y ' 2

Equation EL :

N d  N     y dx  y' 

→ multiplicateur , 0=1

d  y'  dx  1  y'2 

   1  

1192

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes

Max CERF 2018

Techniques d’optimisation 5.2.4 Exemple 5 : Didon

Solution • L’équation EL est une EDO d’ordre 2 → 2 constantes d’intégration x  x0 y ' d  y'   ( x  x 0 )  y '   1  dx  1  y'2  2  ( x  x 0 ) 2 1  y' 2  

y

 y  y 0  2  ( x  x 0 ) 2

B

A  (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é). 2 max S( y) sous L( y)  L 0  0  N( x , y, y' )   y   L 1  y'

y

min L( y) sous S( y)  S0  0 y

 N ( x , y, y ' )  1  y ' 2   S y

 S  

1 L

1193

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes

Max CERF 2018

Techniques d’optimisation 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

  - une longueur apparente dLr : dL r  dL cos  avec   ( r , n )

- un angle au sommet d :

- un triangle de surface dS :

dL r r  1 dS  hdL avec h  r .n  r cos  2



On exprime dL et dS en fonction de l’angle d :

 n

 r

d 

(triangle de base dL et de sommet O → hauteur h)



h

O r d cos  1 dS  r 2 d 2

dL 

1194

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes

Max CERF 2018

Techniques d’optimisation 5.2.4 Exemple 5 : Didon

Solution max S(r, )  r ,

1 2 r r d sous L(r, )  d  L 0 2 cos   





1 2 r r  2 cos 



Lagrangien augmenté :

N



Equation EL :

N   ( N ' )' N r  ( N r ' )'

→ fonctions inconnues r(,) , (,)

→ ne dépend pas de r , 

sin  0 cos 2  1  r 0 cos 

 r

  ( n // r )

 0

 r

La courbe entourant la surface maximale est un cercle de rayon :

    C te cos 

r0   .

2





Valeur du rayon r0 : (contrainte)

Sensibilité à la contrainte : (multiplicateur)

L

L r d  L 0 avec r  r0  r0  0   0 cos  2 0



 L S  r     2  2

2



S  L      r   L  2 

1195

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes

Max CERF 2018

Techniques d’optimisation 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 :

- une surface apparente dSr :

  dSr  dS cos  avec   ( r , n )

- un angle solide d :

d 

- un cône de volume dV :

dSr r2  1 dV  hdS avec h  r .n  r cos  3

(cône de base dS et de sommet O → hauteur h) •

dSr

On exprime dS et dV en fonction de l’angle solide d :



 n

 r

h

O r2 dS  d cos  1 dV  r 3d 3

1196

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes

Max CERF 2018

Techniques d’optimisation 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 r d Volume : V  3 





r2 d Surface : S  cos  

dS



dSr

Les fonctions inconnues sont r(,) , (,). 1 3 r2 max V(r, )  r d sous S(r, )  d  S0 r , 3 cos   







Remarque L’orientation de l’élément de surface dS nécessite 2 angles :   - l’angle  entre les vecteurs r et n  - l’angle  correspondant à une rotation autour de r



 n

 r

h

O

L’angle solide d ne dépend pas de . → La fonction (,) n’intervient pas dans la formulation du problème.

1197

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes

Max CERF 2018

Techniques d’optimisation 5.2.4 Exemple 6 : volume

Solution 1 3 r2 max V(r, )  r d sous S(r, )  d  S0 r , 3 cos   







Lagrangien augmenté :

1 3 r2 N r  3 cos 



Equation EL :

N   ( N ' )' N r  ( N r ' )'

→ fonctions inconnues r(,) , (,)

→ ne dépend pas de r , 

sin  0 cos 2  r  r 2  2 0 cos   r 2

 0

 r

  ( n // r )

2  2  C te cos 

La surface entourant le volume maximal est une sphère de rayon : r0  2 . 4



Valeur du rayon r0 : (contrainte)

S0 r2 S d  S0 avec r  r0  r0    0 cos  4 0

Sensibilité à la contrainte : (multiplicateur)

4 4  S 2 V 1  S  2 1 V  r 3         r   3 3  4  S 2  4  2



3



1

1198

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes

Max CERF 2018

Techniques d’optimisation 5.2.4 Contrainte courante

Formulation b

min J ( y)  Lx , y, y'dx yY

 a

y (a )   sous Mx , y, y'  0 , x  [a , b] et  y(b)   

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 5.2 Calcul des variations 5.2.4 Contraintes

Max CERF 2018

Techniques d’optimisation 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

Energie cinétique :

1 T  ( x 2  y 2 ) 2

Contrainte (longueur d) :

M  x 2  y2  d2  0

Lagrangien augmenté :

Equation EL :



(par unité de masse)

x

0 d

avec  fonction de t N  L  M 1  N  ( x 2  y 2 )  gy  ( x 2  y 2  d 2 ) 2

  g y

   2x  x Nx  N x    2y  g  y Ny  N y

x  2x Equations du mouvement : y  2y  g x 2  y 2  d 2

avec 3 fonctions inconnues x(t) , y(t) , (t) → résolution peu évidente sous cette forme

1200

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes

Max CERF 2018

Techniques d’optimisation 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   y  d cos 

→ passage à une seule fonction inconnue  en coordonnées polaires → la contrainte M = r  d = 0 est directement prise en compte Energie potentielle :

U  gd cos 

Energie cinétique :

1 T  d 2  2 2

Lagrangien : Equation EL : •

Equations du mouvement :

d   g

1 L  T  U  d 2  2  gd cos  2 L  L    gd sin   d 2 

x

0

y



   g sin  d

avec 1 fonction inconnue (t) → résolution plus simple sous cette forme

1201

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.5 Minimum fort

Techniques d’optimisation

Max CERF 2018

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 5.2 Calcul des variations 5.2.5 Minimum fort

Max CERF 2018

Techniques d’optimisation 5.2.5 Conditions de coin

Formulation b

min J ( y)  Lx , y, y'dx yY



avec

a

 y (a )    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. y

y, y *  Y Illustration : - dérivée de y* discontinue en c* - dérivée de y discontinue en c

 y



y*



J ( y*)  min J ( y)  J ( y*)  J ( y) yY

0

a

c* c

b

x

1203

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.5 Minimum fort

Techniques d’optimisation

Max CERF 2018

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] y( x )   1  y 2 ( x ) si x  [c, b]

avec

y2

y 

y2* y1



y1*



0

y1 (c)  y 2 (c)  y(c) → fonction continue en c y1 ' (c)  y' (c  ) → dérivée discontinue en c y 2 ' (c)  y ' (c  )

a

c* c

b

x

1204

5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.5 Minimum fort

Techniques d’optimisation

Max CERF 2018

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*

a

a

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









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 y2 = y2* + 2 sur [c,b] avec 2(b) = 0 c = c* + c

y2*+ 2

y 

y2*

y1*+ 1



y1*



0

(si c>0, on prolonge y1* par une droite pour x > c*) (si c 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 5.3 Commande optimale 5.3.3 Problème LQ

Max CERF 2018

Techniques d’optimisation 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

en utilisant z  Cx   z T z   x T PDD T Px  2x T PDw 1 1  w T w   z T z  ( w   D T Px ) T ( w   D T Px ) en factorisant   t1



En intégrant de t0 à t1 : V( x1 )  V( x 0 )  



Pour t1   :

J



t0



t0

1 ( w 

2

(

1 w 

t1

2

2

  z ) dt 

   z ) dt  lim  x1T Px1  t1    2



t0

2 1 w   D T Px dt 

 2 1 T w   D Px dt   x T0 Px 0   t0  t1



Le minimum est obtenu pour : w   D T Px  x  Ax  Dw  (A  DD T P) x A + DDTP Hurwitz  système exponentiellement stable 

lim x ( t1 )  0

t1 

 J   x T0 Px 0

1403

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.3 Problème LQ

Max CERF 2018

Techniques d’optimisation 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. La norme L2 est définie par :

w

2





 J



t0

1 w 

2

  z Le gain L2 du système est :

2

 w

k  sup

def w  0

w

2

2

1 w 

2 2





1 w 

 z

2 2

2

z dt 2 2

 z

2 2

pour toute perturbation w

pour un état initial nul

2

z

z

  z ) dt 

J*   x T0 Px 0 

Le coût minimal vaut :



(



2

w dt

2

 mesure l’amplification sortie / perturbation

2

Si la matrice P existe (solution de l’équation de Riccati), alors le gain L2 est borné : k    •

1 

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 z  Cx def 



 sup  G ( j)  

1404

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.3 Problème LQ

Techniques d’optimisation

Max CERF 2018

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  T T PA  A P  C C  PDD 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  T PA  A 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  .

T T T (démonstration similaire en utilisant l’inégalité : PA  A P   C C   PDD P )

1405

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.3 Problème LQ

Techniques d’optimisation

Max CERF 2018

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 5.3 Commande optimale 5.3.3 Problème LQ

Techniques d’optimisation

Max CERF 2018

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 R B P 2

Le gain K est cherché sous la forme :

K

On se ramène à l’équation de Riccati :

1 1 1 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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

5.3.4 Extrémales Champ d’extrémales • Problème de contrôle :

tf

min J  u

 L(x, u, t)dt

avec x  f ( x, u, t )

t0



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 p   H x  min H u



 système hamiltonien  commande optimale (minimisation si p0  0 , maximisation si p0  0)

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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

5.3.4 Exemple : extrémale anormale Formulation • Problème en dimension 1 tf

min J  u,t f



t0

L( x, u, t ) dt

x ( t )  0 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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

5.3.4 Exemple 15 : oscillateur Formulation • On cherche à ramener un oscillateur harmonique au repos en temps minimal. tf

 x  x 2 min J  1dt avec  1 x 2   x1  u u,t f  t

 0

Etat initial fixé : x1(t0) , x2(t0) Etat final contraint : x1(tf)=0 , x2(tf)=0 Commande bornée : 1  u  +1



Hamiltonien : H  p 0  p1x 2  p 2 ( x1  u )



Commande :



Adjoint :

avec p0  0

min H  u  1 si p 2  0 u u  1 si p 2  0  p 1  p 2  p  p 1  2

 p2  p 2  p 2  a cos(t  )  période 2

Les commutations (changement de signe de p2) sont espacées d’une durée égale à . •

Trajectoire :

 x 1  x 2 x   x  u  x 2   x 2  x 2  b cos(t  )  période 2 1  2

Chaque arc de trajectoire à u constant correspond à une demi-période (durée égale à ).

1412

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 5.3.4 Exemple 15 : oscillateur

Portrait de phase • On peut représenter les arcs de trajectoire à u = 1 dans le plan de phase.

dx 2  x1  u  x 1  x 2   ( x1  u )dx1  x 2 dx 2  0  ( x1  u ) 2  x 22  c 2 x   x  u  dx1 x2 1  2 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



On construit les extrémales à rebours en partant de O.

2 1,5

u = 1

La dernière commutation se produit sur C ou C+ - sur un point de C : passage de u = +1 à u = 1 - sur un point de C+ : passage de u = 1 à u = +1

C

L’arc précédent est un demi-cercle - de centre A+ si l’on part à rebours de C - de centre A si l’on part à rebours de C+

0,5

A -3

-2

1

O

0

-1

0

A+ 1

-0,5

-2

3

C+

-1 -1,5

2

u = +1

1413

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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+ Commande u = 1

4

3

2

C A -4

-3

-2

1

O

0

-1

0 -1

A+ 1

2

3

4

C+

-2

-3

-4

Ensemble des avant-derniers arcs arrivant en C Commande u = +1

1414

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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 1,5

Courbe de commutation

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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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 4

3

2

1

0 -7

-6

-5

-4

-3

-2

-1

0

1

2

3

4

5

6

7

-1

-2

-3

-4

1416

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

5.3.4 Exemple 15 : oscillateur Extrémale anormale • L’hamiltonien est constant (système autonome) : et nul (temps final libre) :

H(t ) = Cte 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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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.



Vecteur d’état :

 h   altitude    v   vitesse  m   masse

h  v   v  (T  D  W ) / m  m    T / ve



Poids :

W = mg

avec g = accélération de gravité (constante)



Poussée :

T = qve

avec ve = vitesse d’éjection (constante) q = débit massique



Trainée :

D



Densité :

1 2 v SC D 2

  0e



h H

 T

 W

 D

avec S = surface de référence CD = coefficient de trainée (constant)  = densité atmosphérique avec 0 = densité au sol H = facteur d’échelle (modèle exponentiel)

1418

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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

min J   h ( t f ) T,t f



Hamiltonien :

h  v  avec v  (T  D  W ) / m  m    T / ve

H  ph v  pv

h ( t 0 )  0  et v( t 0 )  0 m( t 0 )  m 0 , m( t f )  m 0  m e

TDW T D    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) •

Commande :

min H

0 T  Tmax

si   0 T  0   T  Tmax si   0 T  ? si   0

 arc singulier

1419

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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 ]  1 2

 p m  mp m  0  v e p v  m

Equations adjointes :

T TD  H  ph v  pv   g   pm ve  m 

pvDh   p  h  m  p D   p v  p h  v v m  p  p T  D v  m m2

avec

avec D fonction de h et v et g constant

h   1 2 1 D  v SC D   0 e H v 2SC D 2 2  D 1 2  D   v SC D  D h  h 2 h H  D  D  vSC  2D D  v v v 

1420

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 5.3.4 Exemple 16 : Goddard

Arc singulier  . • On remplace les dérivées de m, pv et pm dans l’expression de 

pvDv  T TD    v p  m    p  m p  v  p   p  p 0   e v m m e h m v m v m   e 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  e v e h m •

 D  p v  D v    mp h  0 ve  

sur I  [ t1 , t 2 ]

On obtient un système de 3 équations devant être vérifiées pour qu’un arc singulier existe.

 H  0    0   0  

TDW T  pm 0 m ve  p v ve  pm m  0  D  p v  D v    p h m  0 ve  

 ph v  pv

 système linéaire en (ph , pv , pm)

1421

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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  pm 0 p h v  p v m v  e p v ve  pmm  0    D p h m  p v  D v   0 ve    •

avec (p h , p v , p m )  (0 , 0 , 0)

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 v  m  det 0 ve   D   Dv   m    v e   

     D1  v  v  e   0  

T  ve m

   vD v  W  0  

avec D v 

2D v

1422

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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 v, D croissent en partant de 0 A la fin de la trajectoire :

 >0

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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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.

 0 

 D  p v  D v    mp h  0 ve    p v G  mp h  0



En dérivant une seconde fois :

On développe en utilisant :

et en remplaçant ph à partir de :

 non explicite en T

avec G  D v  def

D ve

 G fonction de h et v

 m   G h  G v  p h  mp h  0 avec G p v G  p v G h v h  v  v  (T  D  W ) / m  m    T / ve

pvDh   p   h m et  p D p v  p h  v v  m

p v G  mp h  0

1424

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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.



 D G 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 , D vh   , D vv  2 En remplaçant G et avec les dérivées D h   , D v  H v vH v



Tsin g 1  4  2 •

2



2   mv (1  )  D(1  2)   2D  2W   H  

en notant  

def

ve v

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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 5.3.4 Exemple 16 : Goddard

Application numérique •



Données :

m0

me

Tmax

ve

SCD

0

H

g

100 kg

90 kg

2000 N

2000 m/s

0.1 m2

1.2 kg/m3

5000 m

10 m/s2

Tmax

t0=0 s

Solution :

Tsing

t1=16.1 s

m0=100 kg

t2=116.3 s

m1=83.9 kg

Tmax

m2=18.7 kg

tc=125.0 s

T=0

mc=10 kg

tf=350.4 s mf=10 kg

Altitude maximale : rf=300.6 km

2250

Poussée

Poussée (N)

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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 5.3.4 Exemple 16 : Goddard

Application numérique • Forme de la solution :



Tmax  Tsing  Tmax  0 Tmax  Tsing  0 Tmax  0

si me > 81.3 kg si 16.1 kg < me < 81.3 kg si me < 16.1 kg

Comparaison à la solution à poussée maximale constante :

Masse (kg) 110 100 90 80 70 60 50 40 30 20 10 0

Masse

Apogée (km) 350

arc singulier

Poussée

Optimale

Maximale

Arrêt

125.0 s

90.0 s

Apogée

300.6 km

236.8 km

Apogée

300 250 200 150 100 50 Temps (s)

0

10 20 30 40 50 60 70 80 90 100 110 120 130

Temps (s)

0 0

10 20 30 40 50 60 70 80 90 100 110 120 130

1427

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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

p   H x

et p( t f )   x [ x ( t f ), t f , ]

Hu  0

avec [ x ( t f ), t f , ]  [ x ( t f ), t f ]  T [ x ( t f ), t f ] def

(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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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

x

xf

 = 

xf



x  df =0

x  f x0 x0

tf t0

tf

t

1429

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

5.3.4 Extrémale voisine Notation des dérivées • Fonction vectorielle  : Rn → Rq

 1 ( x1 ,..., x n )    ( x1 ,..., x n )        ( x ,..., x ) q 1 n   •

Matrice gradient

x 



  1  x  x

→ q fonctions de n variables

→ vecteur à q lignes

 1   q   x1    x    1  x  n

 q   x1     q    x n  

→ matrice à q colonnes (= gradients des q fonctions j)

Dérivée totale par rapport au temps

1    d   T      x  x x  t     dt x t     q  T

→ vecteur à q lignes

1430

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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 T H px  f x H xp  H Tpx H xx  L xx  f xx p    T H( x, u, p, t )  L( x, u, t )  p T f ( x, u, t )  H uu  L uu  f uu p , H pu  f u , H up  H Tpu T H xu  L xu  f xu H  0 H  H T p xu pp   ux 





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.

u 

H uu1 (H xu x  f u p)

 x  (f xT  f uT H uu1 H xu )x  f uT H uu1 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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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      T x    p T f       ( H  L)  La dérivée totale de  est : 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   0 •

avec     T   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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 5.3.4 Extrémale voisine

Conditions finales • Condition sur  :

x ( t f ), t f   0 x ( t f )  x ( t f ), t f  t f 

A l’ordre 1 :

  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 )

A l’ordre 1 :

 x [ x ( t f )  x ( t f ), t f  t f ,   ]

avec [ x ( t f ), t f , ]  [ x ( t f ), t f ]  T [ x ( 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  

A l’ordre 1 :

[ x ( t f )  x ( t f ), u ( t f )  u ( t f ), t f  t f ,   ]  0

fonction de x , u , tf , 

 xT x ( t f )  xT x ( t f )t f  tT t f   T   0 car u  H u  0       

1433

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

5.3.4 Extrémale voisine Conditions finales • On regroupe les termes en x(tf), tf , .

 Tx x   t f      xx x  ( x  p )t f   x   p  t   T  xT x   0 f  •

  p peut s’exprimer en utilisant p( t )   [ x ( t ), t , ] Le terme  x f x f f

     x    xt   xx f xt xx  x T T  p  H x  L x  f x p  L x  f x  x •

   Tx x   Tt     xt avec les dérivées totales  x   xx x    T x   T  x t 

  p   (  L   f )   (  H)     x t x t x x x

On obtient les conditions finales à l’ordre 1 sous forme matricielle.

  xx  T  x  T  x

x 0  T

x   x ( t f )   p( t f )                  t   0   f    

→ système linéaire vérifié par x(tf), tf , 

Si le temps final est fixé (tf = 0), il ne reste que les équations en p(tf) et .

1434

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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

- les conditions finales :

  xx  T  x  T  x

x 0  T

x   x ( t f )   p( t f )          T           avec      t  H    L          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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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  avec  B  f uT H uu1 f u C  H  H H 1 H xx ux uu xu 

 x  Ax  Bp  T p  Cx  A p  p( t f )    xx    T       x  0   T    x

x 0  T

x   x ( t f )        T       avec   L   t  H           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 T  p( t )   S M       M N         

 T   x ( t )     T         t f  

→ forme symétrique semblable aux conditions finales

1436

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

5.3.4 Extrémale voisine Méthode de transport • On dérive par rapport au temps ( ,  , tf et  sont des constantes) T  p( t )   S M       M N         



T  T   x ( t )   p   S M      N   T       0    M   0        t f     

 T   x   S M T    T       M N      t f      

 T   x    T   0      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 T p  Cx  A p on obtient le système différentiel vérifié par les matrices S , M , N ,  ,  , . S  SA  A T S  SBS  C   M(BS  A) M

avec S( t f )   xx ( t f )

  MBM T N

avec N( t f )  0

  (BT S  A)   BT M

avec ( t f )  xT ( t f )

  BT  T

avec M( t f )   Tx ( t f )

avec ( t f )   T ( t f )  (t ) avec  ( t )   f

f

→ à intégrer à rebours à partir des conditions finales à tf

1437

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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.



T  T   p( t 0 )   S M  x ( t 0 )      T     M N  ( t )     0           t f       La solution en fonction de x(t0) ,  est

  N

1

  Mx(t 0 )

T  M  M 

x ( t 0 )   t f    1

avec 1

p( t 0 )  ( S  M N M )x ( t 0 )  M N  T



avec x(t0) ,  fixés et  = 0

T

T N  N  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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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    T      x  0   T    x •

x 0  T

x   x ( t f )            t   f  

 1 T   x ( t f )   S ( t f ) M ( t f ) T   x ( t f )   x  x  x        1 T     def            M ( t f ) N( t f )    

La méthode de transport s’applique sous la forme réduite.

 p( t )       •



Les conditions finales se réduisent à

 1 T  p( t f )    xx  x  x     T  1 T         x    x •



 1  T x ( t )   T   t f   x f

 T S   S A  A S  SBS  C  S M T   x ( t )    avec M  M (B S  A)          M N   N  M BM T

Si le temps final est fixé :  =  =  = 0 et S  S , M  M , N  N

à intégrer à rebours à partir des conditions à tf

1439

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 5.3.4 Résumé 7

Calcul d’une extrémale voisine tf

min J  u,t f

 L(x, u, t)dt  x(t

t0

f

), t f 

avec x  f ( x, u, t ) , x ( t 0 ) fixé x ( t f ), t f   0 → q contraintes

A  f xT  f uT H uu1 H xu  avec B  f uT H uu1 f u C  H xx  H ux H uu1 H xu 

Solution nominale Stockage des matrices

 x 0 ( t ), u 0 ( t ), p 0 ( t ), t 0f  A( t ), B( t ), C( t )

Intégration à rebours

 S ( t ), M ( t ), N( t ), ( t ), ( t ),  ( t )

Adjoint, multiplicateurs

Intégration directe

Solution état et adjoint

 p 0  ( S0  M 0T N 01M 0 )x 0  M 0T N 01   N 01 (  M 0 x 0 )

x  Ax  Bp   T p  Cx  A p

Perturbations x(t0) , 

ou p( t )  S ( t )x ( t )  M ( t ) T 

x ( t 0 )    x ( t ) , t  [ t 0 , t f  t f ] avec t f   p( t ) 

1440

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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 )    t f  k x ( t ) x ( t )  k  ( t )  •





x = écart observé avec la trajectoire nominale

avec

 = é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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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

stocké en mémoire

mesures

xnom(t)

unom(t)

x(t)

u(t)

xréel(t) kx(t)

tf nom

trajectoire nominale

Kx(t)

nom=0

tf



mesures

k(t)

K(t)

u(t) correction

tf

1442

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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 r   z   Vitesse : v   v x   vz   Gravité : g   0   g  Accélération : a   a cos   , a = Cte  a sin    Commande : u   cos   sin     Equation d’état :  r  v  v  g  au Position :



On cherche la trajectoire atteignant à tf fixé :

z zc

vx(tf)

 a 

 g x

z ( t f )  z c v ( t )  0  z f

→ altitude zc → vitesse verticale nulle

tf

en maximisant la vitesse horizontale finale :



v x ( t f )  a cos  dt t0

1443

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 5.3.4 Exemple 17 : mise en orbite

Conditions d’optimalité • Problème en temps fixé tf



min J  a cos  dt 

t0

 avec z  v v  a sin   g

z( t )  z c et  f  v( t f )  0

(notation vz = v)



Hamiltonien :

H  a cos   p z v  p v (a sin   g)



Adjoint :

p z  H z  0 p  H  p v z  v



Commande :

min H  tan   p v



Dérivées f :

  f   0 0  , f  0 , a cos  f   v  1 0  x u  a sin   g   



Dérivées H :

a H xx   0 0  , H ux   0  , H uu  a cos   p v a sin    0 0  0 cos 



Dérivées  :

z( t )  z c     f   x  1 0    0 1  v( t f ) 

 pz    p v  (   t )

( et  constantes)



1444

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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 •

Vitesse :

vx 

a  1 ln tan  0  c  cos  0

vz 

a 1 1     c  cos  0 cos  

 a  1    ln tan     c  cos   

 a  1 1 1  1       tan  ln tan    tan  ln tan     0   2  cos  cos  cos  cos  c    0 0     a  tan  0 tan  2 tan  1  1     z 2     ln tan    ln tan    0  cos   cos  0  2c  cos  0 cos  cos  0   x



Position :



Solution 0 :

1 1  sin  0 2 tan 2  0

Valeur de c :

ct f  2 tan  0

  1   1   4z c    ln  tan   ln  tan    0 0  cos    at 2 cos    0 0    f

1445

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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  A   0 1  , B  a cos 3   0 0  , C   0 0  B  f u H uu f u  0 0 0 1   0 0 C  H xx  H ux H uu1 H xu  •

Matrices S , M , N

S  SA  A T S  SBS  C S( t )   ( t ) xx f  f

avec C   0 0   0 0

  0, M M11 ( t f ) 1 11    0,   M(BS  A) M 21 ( t f )  0 M M 21    T   M ( t f )   x ( t f )  M12   M11 , M12 ( t f )  0   M  22   M 21 , M 22 ( t f ) 1   MBM T N  N( t )  0 f 

 N   11   N 21



Solution

S   0 0   0 0

 M11  1 M  0    21 M12  t f  t  M 22  1

2   N ( t  t ) 3  12  f  a cos     N 22   tf  t

1 tf  t    M   0 1  

t f  t  1 

1446

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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.

tan   p v    t  dt  •

Terme N11 : Solution :



Terme N12 : Solution :



Terme N22 :

Solution :

d  cos 2 

et t f  t 

tan  f  tan  

dN11 a dN11   3 (tan  f  tan ) 2 cos   a ( t f  t ) 2 cos 3  d dt   a  sin   sin  f 1  1    tan  f   N11  3   ln tan    ln   2 cos  cos    cos  f   f    dN12 dN12 a  a ( t f  t ) cos 3    2 (tan  f  tan ) cos  dt d  a cos(   f )  1 N12  2 , N12 ( t f )  0 cos  f 

dN 22  a cos 3  dt a N 22  (sin   sin  f ) 



, N11 ( t f )  0

dN 22 a  cos  d 

, N 22 ( t f )  0

1447

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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

a f u  0 , a cos  , H ux   0  , H uu   0 cos  1  N 22  N12  S   0 0  , M  1 t f  t  , N 1   N11  1   0 0 0 det N   N12

Matrices utiles :

 u  H uu1 f u M T N 1 (Mx  ) •



Ecart observé sur l’état : x   z   v 

2 det N  N11 N 22  N12

Ecart demandé sur les contraintes :    z f   v f 

 Mx     z  ( t f  t )v  z f  → écarts prédits sur z(tf) et v(tf)  v f   v

avec

H uu1 f u M T N 1

cos 2  N 22  N12  0 11t  t 10   N  N11  12  f  det N cos 2  N 22 (t f  t )  N12 , N11  N12 (t f  t )  det N

1448

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 5.3.4 Exemple 17 : mise en orbite

Matrices de gains • On obtient la correction : avec les gains :

et les fonctions :

cos 2  Kz  ( N 22 ( t f  t )  N12 ) det N cos 2  Kv  ( N11  N12 ( t f  t )) det N

→ fonctions de nom(t) et tf  t

 a  sin   sin  f 1  1   tan  f   ln tan    ln    cos   cos  f 3  cos 2  f   a cos(   f )  1  2 cos  f 

N11 

N12

N 22  •

  K z z  ( t f  t )v  z f   K v v  v f 

a (sin   sin  f ) 

avec  

  

tan  f  tan  0 tf

Si les contraintes finales sont fixées (zf=0 et vf=0), la correction se met sous la forme

  K1 (v  K 2 z)

K  K z / K1 avec  2 K 1  K v  K z ( t f  t )

1449

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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)

200

Gains

log (-gain)

Trajectoire

Altitude (km)

256 128

Gain K1

64

150

Gain K2

32 16

100

8 4

50

2

Distance (km)

0 0

200

400

600

800

1000

1200

Temps (s)

1

0

50

100

150

200

250

300

1450

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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é

x ( t f ), t f   0 → q contraintes

t0

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

J a  [L  p (f  x )]dt       t0

T

T

 (H  p

t0

T

x )dt  

 H  L  p T f avec      T 



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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 5.3.4 Variation seconde

Variation première de Ja tf

Ja 

 (H  p

T

 H  L  p T f avec      T 

x )dt  

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 tf



Intégration par parties :



t0

tf





p T x dt  p T x

  d   T x    x t dt

   p x dt tf t0

tf

T

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 t0

 L On définit :    def



1453

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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.

J a  0



H  L  p T f  f  0 x  f   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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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 



[x T (H xx x  H ux u  H px p  p )  u T (H xu x  H uu u  H pu p)

t0

 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 tf



Intégration par parties :



t0



x T p dt  x T p

   x tf t0

tf

T

p dt

t0

1455

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

5.3.4 Variation seconde Variation seconde de Ja  , u  H u  0 • En utilisant les relations : H p  f ,       ,   

   T x    x t T     x x   t   Tx f   t   )     T f   T f       Tf  ( x xx x x tx x x x x   d x   T f   avec  x xx tx dt

et les dérivées totales :

la variation seconde devient tf

2Ja 



[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

t0

 t   T f t  p t )  t ( T x    t )  2T ( T x    t  ) f  x Tf ( xx x   x x x f f x f x avec

  L  → Il reste :

pf   x x t f

p  H x  L x  p T f x

1456

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 5.3.4 Variation seconde

Variation seconde de Ja • On obtient après simplification tf

2Ja 



[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

t0

 t )  2T ( T x   t  )  x Tf ( xx x  x t ) f  t f (xT x   f x f

x  f T x  f uT u x  f ( x, u, t ) avec    T x ( x f , t f )    x x f   t f   tf



Sous forme matricielle :

à l’ordre 1

T

0 T

H H ux  x   J a   x   xx dt   x      u   H xu H uu  u   t  f 2



t0

0

  xx x  x   T   t   x    f

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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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  dt        T   t  sous    u ,t f  f 2 2  u   H xu H uu  u  2  t  f  x     Tx x f   t f   t0



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

Hamiltonien noté Hq :

1  x  T  H xx H ux  x  T T Hq      p q (f x x  f uT u )    2  u   H xu H uu  u 



Adjoint noté pq :

p q  



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 )



Transversalité :

H q x

 H xx x  H ux u  f x p q

u

p q ( t f )   xx x f  x t f   x  q tf



→ associé à x

Paramètre tf :

 t    q  xT x f   f

H q

 t

t0

f

dt  0

→ multiplicateurs q

avec

H q t f

0

1458

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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   p  H xx x  H ux u  f x p u  H uu1 (H xu x  f u p)

   Tx x f   t f  avec p( t f )   xx x f  x t f   x   t    0  xT x f   f 

  xx  → sous forme matricielle :   Tx  T  x •

x 0  T

x   x ( t f )   p( t f )                  t   0   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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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



u  H uu1 (H xu  f u ( S  M T N 1M ))x  f u M T N 1 •



N  N  T / 

S  S  T / 

Les matrices de transport S , M , N ,  ,  ,  sont obtenues par intégration à rebours.

S  SA  A T S  SBS  C   M(BS  A) M

avec S( t f )   xx ( t f )

  MBM T N

avec N( t f )  0

  (BT S  A)   BT M

avec ( t f )  xT ( t f )

  B T  T

avec M( t f )   Tx ( t f )

avec ( t f )   T ( t f )  (t ) avec  ( t )   f

f

 A  f xT  f uT H uu1 H xu  et  B  f uT H uu1 f u C  H  H H 1 H xx ux uu xu 

1460

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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

T T x  x   H xx H ux  x   x  x       Ja     dt     xx    T   t   u   H xu H uu  u   t  f  x   f t



2

0



On utilise la relation suivante. T

 x   H xx  u   H    xu

 x d  H ux  x   v T H uu v        H uu  u  dt  t f  



   

T

 S M T  T  x    T  M N           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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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 tf



t0



T

 x   H xx  u   H    xu

 x  H ux  x  dt  v T H uu v dt       H uu  u   t f t0  tf



   

T

t

f  S M T  T  x    T  M N           t f     t0

Le terme final de 2Ja s’exprime en fonction des matrices de transport. T

 x   t   f

T   xx x  x   S  T  x   x     T   t   t      t   f    f  x    f

S( t f )   xx ( t f )  car ( t f )  xT ( t 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

 x T T     2 J a  v T H uu v dt   x   S   x  ( t 0 )     t f      t f   t f t0  tf



   

T

 0 M T 0  x  T  M N      0  0  t f  

t

f      t0

1462

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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  f

   

T

 0 M T 0  x  T  M N      0  0  t f  

  T T T  2  ( M  x    t )   N 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

Il reste :

 Ja  2



t0



T

T  v H uu v dt   x   S   x  ( t 0 )  T N( t 0 )  t f      t f  T

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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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 N   T  T      T T x    N     x  S          S  S   T  /   T avec les matrices réduites  x T S x  T N M  M    /  N  N  T /   T



T

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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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

 Ja  2



t0

v H uu v dt   x     T



T

 S  M T N 1M  N 1M 

M T N 1  x  ( t )    N 1    0

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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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 

Variation seconde :

 J a   x     2

T

 S  M T N 1M  N 1M 

On obtient le développement à l’ordre 2 du coût augmenté.

1  x  T  S  M T N 1M J a  p( t 0 ) x ( t 0 )        N 1M 2     T



M T N 1  x  ( t )    N 1    0

T

M T N 1  x  ( t )    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  2J  2J T 1 1 1 ( t 0 )  p( t 0 ) ,   , 2 ( t 0 )  S  M N M ,   N ,  N M 2 x   x   x 

1466

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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  dt  sous       T   t     u ,t f  f 2 2  u   H xu H uu  u  2  t  f  x     Tx x f   t f   t0



pour des perturbations données de l’état initial x(t0) et des contraintes  •

Solution = extrémale voisine



Variation du coût à l’ordre 2

→ matrices de transport S , M , N

1  x  T  S  M T N 1M J a  p( t 0 ) x ( t 0 )        N 1M 2     T



T

M T N 1  x  ( t )    N 1    0

Dérivées du coût

J J  2J  2J  2J T 1 1 ( t 0 )  p( t 0 ) ,   , 2 ( t 0 )  S  M N M ,  N ,  N 1 M 2 x  x x 

1467

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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

T

avec v  u  H uu1 (H xu  f u ( S  M T N 1 M ))x  f u M T N 1

H uu v dt



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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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  0 si  ( t f )  0 N vérifie   T T 1 N  M B M  0 car B  f H f  0 u uu u  •

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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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. Le coût de OF’ sera inférieur ou égal au coût de OCF’ L’extrémale OCF n’est pas nécessairement la meilleure.



→ JOF’  JOCF → JOF’  JOCF’

F’ tf'

O x(t0) t0

C u=0 , Ja=0

tc

F u=0 , Ja=0

tf

1470

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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  = longitude

  0 O  0 ,  0  0  •

 F   f   f  0 

(méridiens) (équateur) 

→ choix des axes de référence facilitant la résolution

O

Distance en coordonnées sphériques



F

x  cos  cos  2 2 2 2 2 2 2  y  cos  sin   ds  dx  dy  dz  d  d cos  z  sin  •

On considère  et  comme des fonctions du temps, avec la commande égale à leurs dérivées.

x Etat (noté x) : x   1       x 2   

u Commande : u   1  u2 

    u1   u 2

 ds 2  d 2  d2 cos 2   (u 22  u12 cos 2 x 2 )dt 2

1471

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

5.3.4 Exemple 18 : point conjugué Extrémales • Formulation tf

min J  u,t f



u 22  u12 cos 2 x 2 dt

t0

 x(t )  x O avec x 1  u1 et  0 x 2  u 2 x ( t f )  x F

On cherche les extrémales en écrivant les conditions nécessaires d’ordre 1. •

Hamiltonien :



Commande :



Solution :

H  u 22  u12 cos 2 x 2  p1u1  p 2 u 2  u1 cos 2 x 2  p1  0 H u1  L  H u  u 2  p 2 0  2 L

avec L  u 22  u12 cos 2 x 2

u12 cos 2 x 2 (cos 2 x 2  p12 )  u 22 p12 0   2 2 2 2 2  u 2 (1  p 2 )  0 u1 cos x 2 (p 2 )

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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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

min J  u



u 2  cos 2  d

0

avec  

d ( 0 )   0  0  u et  d ( f )   f  0



Extrémale : u = 0 ,  = 0



Pour exprimer les conditions d’ordre 2, il faut les matrices S , M , N.



→ vérifie les conditions nécessaires d’ordre 1

S  SA  A T S  SBS  C   M(BS  A) M

avec S( t f )   xx ( t f )

  MBM T N

avec N( t f )  0

avec M( t f )   Tx ( t f )

 A  f xT  f uT H uu1 H xu  et  B  f uT H uu1 f u C  H  H H 1 H 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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 5.3.4 Exemple 18 : point conjugué

Matrices A , B , C • Dérivées de f : Dérivées de H :

f  u  f  0 , fu  1 H  u 2  cos 2   pu  L  pu

 H  L , H u  Lu  p

avec L  u 2  cos 2 

avec L  

1 2L cos 2  L  sin 2 2 L2 L  L u  u 2u L L  uL u  L uu  L2

 sin 2 u , Lu  2L L

 H   L   

H u H uu



H   1 L  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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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  )

  MS M

avec M( f )   Tx ( t f )  1

 M ( ) 

  M2 N

avec N( f )  0

 N()   tan( f  )

Commande feedback : S  M T N 1M 

M T N 1 



Point conjugué :

1 tan( f  )

1 sin( f  )

S  M T N 1M 

1 cos( f  )

 u  

 f   tan( f  ) sin( f  )

1   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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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

H H  J a   x   xx ux  x  dt  (x T  xx x ) f  u   H xu H uu  u  2



(pour un problème à temps final fixé)

t0

x  f xT x  f uT u p  H x  H u  f p xx ux x  •

et     T 

La fonction  = Hu est identiquement nulle le long de l’arc singulier.

[ x ( t ), p( t ), u ( t ), t ]  0 , t  I •

   Tx x f avec  p f   xx x f

 0   , t  I    0

 ,  par rapport à u. On cherche à exprimer ²Ja en fonction des dérivées de  , 

1476

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

5.3.4 Arc singulier tf Variation seconde 2 • On exprime d’abord ²Ja en fonction de  :  J a  (x T  x  p T  p  u T  u )u dt



t0



Vérification par différence tf



t0

tf

T

H H (x  x  p  p  u  u )u dt   x   xx ux  x  dt  u   H xu H uu  u  T

T

T



t0

tf





(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

t0 tf



 [p T H up u  (p T  p T H xp )x ]dt

en utilisant

p  H xx x  H ux u  H px p

en utilisant

x  H xp x  H up u

t0 tf



 (p

T

x  p T x )dt

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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 5.3.4 Arc singulier

Intégrale première • Pour exprimer ²Ja en fonction des dérivées de , on utilise la relation suivante. Si la fonction F(X) est une intégrale première du système d’état X, i.e.

alors F vérifie la relation : •

d [X T FX ]  X T F X dt

d  TF  0 [F(X)]  X 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  ) T (F  F X)  (X X X XX X  T F  X T F X   X X XX  X T F X

 TF  0 à l’ordre 1 avec X X





T     dF   X    TF     FX  FXX X car F X  X   X   X  dt  X  X 

1478

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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    [ x ( t ), p( t ), u ( t )]  0

 intégrales premières



On applique la relation

d (X T Fx )  X T F x dt



Pour la fonction  :

X T  X  x T  x  p T  p  u T  u

 •

 : Pour la fonction 

 pour les fonctions  et  et le vecteur X = (x,p,u)

d   p T    u T   (x T  x  p T  p  u T  u )  x T  x p u dt

  x T    p T    u T   X 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 dt 2

  p T    u T   (x T  x  p T  p  u T  u )  x T  x p u

1479

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 5.3.4 Arc singulier

tf Variation seconde • On intègre ensuite par parties  2 J a  (x T  x  p T  p  u T  u )u dt



t0

- une première fois en utilisant :



d   p T    u T   (x T  x  p T  p  u T  u )  x T  x p u dt

 2 J a  (x T  x  p T  p  u T  u )u1

   (x tf

tf

t0

T

  p T    u T   )u ( t ) dt  x p u 1

t0

t



avec u1 ( t )  u () d t0

- une deuxième fois en utilisant :



d   p T    u T   )  x T    p T    u T   (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

tf

T

  p T    u T   )u  x p u 2



tf t0



  p T    u T   )u ( t ) dt  (x T  x p u 2 t



avec u 2 ( t )  u1 () d t0

t0

1480

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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.

 0  a u ( t )   a  0 

si t  t1   si t1    t  t1 si t1  t  t1   si t  t1  

t

u

t1

t1

t1+

t

u1



u1 ( t )  u () d t0

t



t1 t1 t1+

t

t1 t1 t1+

t

u2

u 2 ( t )  u1 () d t0

1481

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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 



u T  u u dt

= 0 car  = Hu n’est pas explicite en u sur l’arc singulier

t0

tf

2Ja 

 u

T

 u dt  u 1

t0

 n’est pas explicite en u sur l’arc singulier = 0 car  pour un système à commande affine

tf

2Ja 

 u

T 

 u u 2 dt

 donne une condition nécessaire d’optimalité

t0



Pour la variation considérée, u2(t) est positif croissant et on a : Pour vérifier la condition nécessaire ²Ja  0 , u , il faut que :

tf



t0

u T u 2 dt  0   0 , t  I  u

(sinon on peut construire une variation impulsionnelle locale donnant ²Ja < 0).

1483

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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  u •

sur l’arc singulier avec  = Hu

 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



u T (1) k ( ( 2 k ) ) u u 2 k dt

t0

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

(1) ( k

(2k )

) u  0 avec   H u



  d 2 k H  (1) 0 u  dt 2 k u  k

 condition nécessaire d’optimalité d’un arc singulier pour un système à commande affine

1484

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

5.3.4 Résumé 9 Conditions de minimum • Problème à temps final libre et contraintes finales tf

min J  u,t f



 Lx(t), u(t), t dt  x(t

), t f 

avec x ( t )  f x ( t ), u ( t ), t  , x ( t f ), t f   0

t0

Conditions nécessaires Ordre 1 : Ordre 2 :



f

H  L  p T f x  H p   0    f  T p   H ,  f  0 avec       x p f   x   L    H  à t car p   H u  0    t f f x  Huu  0 Pas de point conjugué sur ] t0 , tf [

Conditions suffisantes Ordre 1 : Ordre 2 :

Identique Huu > 0 Pas de point conjugué sur [ t0 , tf [

1485

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 5.3.4 Equation HJB

Fonction valeur • On considère le problème à temps final libre et contraintes finales tf

min J  u,t f



 Lx(t), u(t), t dt  x(t

t0

f

), t f 

avec x ( t )  f x ( t ), u ( t ), t  , x ( t f ), t f   0 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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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

• •

J( x 0 , t 0 , u ) 

Le coût associé à cette commande est Le coût minimal à partir de (x0,t0) est :

V( x 0 , t 0 )

 L(x, u, t)dt  V(x (u), t ) 1

1

t0

→ associé à la commande u0

 V( x 0 , t 0 )  J ( x 0 , t 0 , u ) x u1

u

V(x1,t1)

x1

u0

x0 t0

t1

V(x0,t0) (xf,tf)=0 t

1487

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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]. tf t f   t1  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  t t t 1 0  0 









On applique le principe d’optimalité de Bellman : chaque sous-arc est optimal.

 t1  V( x 0 , t 0 )  min  L( x, u, t )dt   u[ t 0 , t1 ]  t 0 



Arc optimal sur [t0,t1] - partant de x0 fixé - arrivant en x1 libre

x1 fonction de u



t f  min  L( x, u, t )dt  ( x f , t f )  u[ t1 , t f ], t f   t1 



Arc optimal sur [t1,tf] - partant de x1 fixé - arrivant en xf vérifiant (xf,tf)=0

coût = V(x1(u), t1)

1488

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 5.3.4 Equation HJB

Equation de Hamilton  Jacobi  Bellman • La fonction valeur vérifie l’équation (dite de programmation dynamique)

 t1  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 )  u[ t 0 , t1 ] u[ t1 , t f ] u[ t 0 , t f ]  t0 t 0  t1







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

x1  x 0  x

0 , u , t 0 )t

t1



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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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 u



avec H( x, u, p, t )  L( x, u, t )  p( t ) T f ( x, u, t ) 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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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 u

→ commande optimale u*(x,t)

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 = V x 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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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 : Le point final vérifie les contraintes : L’adjoint final est défini par :

V( x f , t f )  ( x f , t f ) → m contraintes ( x f , t f )  0 → gradient projeté sur =0 p( t f )  Vx , 0

L’hyperplan T tangent aux contraintes est normal à x.

x

T

x

Le gradient de  est projeté sur T suivant x  x,T Il existe des multiplicateurs Rm tels que :  x ,T   x   x 

On retrouve la condition de transversalité :

p( t f )   x   x 

Vx

=0

1492

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

5.3.4 Résumé 10 Equation de Hamilton  Jacobi  Bellman • Problème à temps final libre et contraintes finales tf

min J  u,t f

 Lx(t), u(t), t dt  x(t

f

), t f 

t0

avec x ( t )  f x ( t ), u ( t ), t  , x ( t f ), t f   0 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)



Equation HJB :

min H( x, u, Vx , t )  Vt  0

→ en tout point (x,t) d’une extrémale

u,t f

u

avec H( x, u, p, t )  L( x, u, t )  p( t ) T f ( x, u, t ) •

Adjoint :

p  Vx



Dérivées du coût :

V V 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.

def

1493

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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  si x  0 La fonction valeur est V( x, t )   0  xe ( t f  t ) si x  0 



L’équation HJB du système est :

 Vx x  V  0 , Vt  V  non différentiable en x = 0  Vx x  V  0 , Vt   V

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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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 T - un sous-gradient est un vecteur gRn vérifiant localement f ( x )  f ( x 0 )  g ( x  x 0 ) - 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

f(x)

sur-différentiel g (sur-gradient)

g (sous-gradient)

f(x)

sous-différentiel x0

x

x0

x

1495

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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 ( x 0 )  f ( x 0 ) ( x )  f ( x ) localement

f

f(x) g

 f a un maximum local nul en x0

(x)

Définition similaire pour un sur-gradient x0

x

1496

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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  1 si 1  x 

f(x)

0 •

1

x

f est dérivable partout sauf en 0 et en 1.

En x = 0 :

D  f (0)  [0 ,  [   D f (0)  

Pour x < 0 :

D  f ( x )  D  f ( x )  0

En x = 1 :

D  f (1)     D f (1)  [0 ,1 / 2]

Pour x > 1 :

D  f ( x )  D  f ( x )  0

 1  Pour x]0 , 1[ : D  f ( x )  D  f ( x )    2 x  

1497

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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

  x  0  D  f ( x )  [1,  1]  F( x, f , g)  1  g  0 D f ( x )  

 vérifie l’EDP  sur-solution  sous-solution

1498

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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 )

F( x, V, V)  0 L’équation HJB se met sous la forme : - 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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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 : (en incluant t dans le vecteur d’état)

F( x, V, V)   Vt  min (L  VxT f )  0 u

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 T En notant u0 la commande réalisant min (L   x f ) en (x0,t0), l’inégalité s’écrit 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 (x 0,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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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 )  V( x, t )  ( x 0 , t 0 )  V( x 0 , t 0 )

(x,t) au voisinage de (x0,t0) ,

 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

 ( x1 , t1 )  ( x 0 , t 0 ) 

avec    t   Tx x   t   Tx f

  (x, t)   t1

t

t0

x ( x, t )

T



t1



f ( x, u 0 , t ) dt   L( x, u 0 , t )dt 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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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)

Commande :

u  1 si p T g  0  min H  u  1 si p T g  0 u u  ? si p T g  0 

arc bang 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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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     X   n  X1    x1 Le gradient du champ de vecteurs X est : X  X1 ,  , X n      X1    x  n Rn



X n x1  X n 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  noté

def

 dérivée directionnelle de  suivant X , en tout point xRn

L’opérateur LX est associé au champ de vecteurs X.

1503

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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 :

En développant :

X, Y  XY  YX  L X (L Y )  L Y (L X )

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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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 p   (F  uG )p 

Les équations des extrémales sont : •

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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 5.3.4 Commande affine

Fonction de commutation   p T f  ug, Z • On applique la formule :   p T Z   pour dériver la fonction de commutation  = pTg = pTG jusqu’à faire apparaître explicitement la commande u.

  p T [f  ug, g]  p T [f , g]  



Dérivée première de  :

  pTg



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. Si pT[g,[f,g]]  0 , l’arc singulier est d’ordre 1. La commande est : u  



p T [f , [f , g]] 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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

5.3.4 Commande affine Arc singulier d’ordre 1 • Un arc singulier est d’ordre 1 si p T [g, [f , g]]  0 . La commande singulière est :

u sin g  

p T [f , [f , 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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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 .

min H  p 0  p T (f  ug)  p 0  p T f  u



Il faut montrer que la jonction à  satisfait le PMP :



  p T [f , g] sont continues (ne dépendent que de p et x), nulles à . Les fonctions   p T g et 

u

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  :

T  (  )  p T [f , [f , g]]  u  bang p [g, [f , g ]]

 (  )    () car p T [g, [f , g]]  0 , avec   ()  0 Si u bang  1  u sin g    ()  0   a un minimum nul en  car ()  0 et   () > 0 et ubang() < 0 minimise H

Si u bang  1  u sin g  vérification similaire

1508

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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

T La dérivée seconde de  étant nulle, on a aussi : p [f , [f , g]]  0

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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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)  (1) k p T [g, ad f2 k 1 (g)]  0 2 k u  dt u  k



T 3 Si un arc singulier d’ordre 2 vérifie la condition stricte de Legendre-Clebsch : p [g, ad f (g)]  0 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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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



Les fonctions  (i )  p T ad if (g)

u

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 (i )   a un maximum nul en  car  ()  0 , i  0 à 3

 () < 0 et ubang() > 0 ne minimise pas H

Si u bang  1  u sin g  vérification similaire

1511

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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

Hamiltonien :

H  p0  p f 

u p i

i i

i 1

m

T

 u g (x)

T

g i (x)  p 0  p f  T

i 1



m

u  i

i 1

La composante ui est associée à la fonction de commutation i et peut être singulière ou non. m   T  La dérivée de i dépend des uj,ji :  i  p f  g j u j , g i   p T f , g i   u jp T g j , g i   j1 j 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.





i







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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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.

1 min J  u 2 •

tf



t 0 0

Hamiltonien : H  avec



x12 dt

x  x 2  u x ( t )  0 avec  1 et  1 f x 2   u x 2 ( t f )  0 1 2 1 x1  p1 ( x 2  u )  p 2 u  x12  p1x 2  u 2 2

  p1  p 2

p   x  p 1  p1 1  2

fonction de commutation

  x  p  0  1 1   p1  x 1 Arc singulier :   p1  p 2  0    u   ( x 1  x 2 )    x 2  u  x1  0 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)    1  0 u  dt 2 k u  u k

1513

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 5.3.4 Exemple 19 : solution composite

Solution composite • Il faut examiner des solutions composites raccordant des arcs réguliers et singuliers.

x1 ( t 0  0)  x10 x ( t  0)  x 20  2 0 x (t )  0 L’état final est contraint à tf fixé :  x1 ( t f )  0  2 f L’état initial est fixé à t0 = 0 :

• •

La commande n’est pas bornée et n’intervient pas directement dans le coût J :

1 J 2

tf



x12 dt

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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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

H

1 2 x1  p1x 2  u avec   0 p1  x1 2

sur l’arc singulier

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  x1  x 2 ( t )  e t  ae  t Evolution de x2 sur l’arc singulier : x 2  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 y  H  1 a  20 a 2

a  y10 1 2   H  y10  y10 y 20  2

 y1f  y10 e  t f   tf  y 2f  y 20 e  y10 sh t f

On écrit ensuite les conditions de raccordement au point initial et au point final.

1515

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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  y  y  x  x def 2f 1f 2f  0  1f •

On obtient :

y10  2c

 y1f  y10 e  t f avec  tf  y 2f  y 20 e  y10 sh t f

à t0 à tf

e 2t f e 2t f  1

, y 20  c

1  e 2t f 1  e 2t f

c  x10  x 20 fixé avec  t f fixé

1 2 e 2t f 2 H  y10  y10 y 20  2c 0 2 (e 2 t f  1) 2 avec le coût •

1 J 2

tf



1 x12 dt  2

t 0 0

tf



2 2t y10 e dt

t 0 0



c2 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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 5.3.4 Exemple 19 : solution composite

Application numérique • Etat initial : x10 = 1 x20 = 3.28

10 9

x2

8 7



Temps final : tf = 1.5

6 5 4



Hamiltonien

H  2c 2 •

Point initial

3

e

2t f

(e 2 t f  1) 2

2

 2

1

x1

Point final 0 -10

-9

-8

-7

-6

-5

-4

-3

-2

-1 0 -1

1

2

3

4

5

6

7

8

9

10

-2

Arc singulier

-3

Initial :

Final :

y10 = 9 y20 = 4.72 y1f = 2 y2f = 2

-4 -5 -6 -7 -8 -9 -10

1517

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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



1 min J  x12 dt u,t f 2 t0

• • •

x  x 2 x ( t )  0 avec  1 et  1 f x 2  u x 2 ( t f )  0 1 p 0 x12  p1x 2  p 2 u 2

p  p x  p 1  p0 1 1  2

Hamiltonien :

H

Commande :

u  1 si p 2  0 min H  u  1 si p 2  0 u u  ? si p 2  0

La fonction de commutation est : Les dérivées successives de  sont :

arc bang

arc singulier

  p2   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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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



min K  1dt u,t f



t0

x1 ( t f )  0 x 1  x 2   avec x 2  u et x 2 ( t f )  0 x 3  x12 / 2 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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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



min K  1dt u,t f

t0

x1 ( t f )  0 x 1  x 2   avec x 2  u et x 2 ( t f )  0 x 3  x12 / 2 x 3 ( t f )  0

q 1  q 3 x1 1  2 H q  q 0  q1x 2  q 2 u  q 3 x1  q 2  q1 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).

q 0  q1 x 2  q 2 u 

1 1 q 3 x12  p1x 2  p 2 u  p 0 x12  0 2 2

q  p  q 3  0 0  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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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  x 2  u x 3  x12 / 2 • •



 x2  0    x  f ( x )  ug( x ) avec f   0  et g   1 0  x 2 / 2   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 T T     , [g, [f , g]]   0  Crochets d’ordre 1 : [f , g]  g x f  f x g  0 , [f , [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 3   Crochets d’ordre 2 :  [f , [f , [f , g]]]  0 et [g, ad f (g)]  [g, [f , [f , [f , g]]]]   0  x  1   2   3 Le crochet [g, ad f (g)] ne s’annule pas  Les arcs singuliers sont d’ordre 2 . 3 La condition de Kelley [g, ad f (g)]  0 est vérifiée  Ces arcs peuvent être optimaux. ad 3f (g)

1521

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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 ,    p x ,  (3)  p x ,  ( 4)  p u   p2 ,  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. •

1 p  p 0 x1 p 0 x12  p1x 2  p 2 u    1 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. Les équations adjointes sont :

H

1522

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

5.3.4 Problème de Fuller Propriétés des arcs bangs 1 x  x p   x • Un arc bang à u = 1 suit les équations : x 1  u 2 , p 1  p1 , H  x12  p1x 2  p 2 u  0 1 2  2  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 ,    x ,  (3)  x Vérification en utilisant les dérivées de  :   p 2 ,  1 1 2 et en sachant que O singulier ne peut être sur un arc bang Si  est une date de commutation : Si p1() = 0 Si p1()  0

()  p 2 ()  0  H()  x12 () / 2  p1 () x 2 ()  0

 x1() = 0 (en utilisant H)

   x1()  0 (car O singulier)  

(3)() = x2()  0 (car O singulier) détermine le sens de commutation (1)()x2() = p1()x2() > 0 détermine le sens de commutation 1523

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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 x  u  2 y 1  y 2 (v, y1, y2, q1, q2) est aussi une extrémale :   y  v  2

Si (u, x1, x2, p1, p2) est une extrémale :

p   x , p 1  p1 , H  1  2 q   y , q 1  q1 , H  1  2

1 2 x1  p1x 2  p 2 u  0 2 1 2 y1  q1 y 2  q 2 v  0 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 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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.

t 0  t1 

t0 t  t2  1    tf  0  

1525

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 5.3.4 Problème de Fuller

Extrémales invariantes • On utilise l’intégrale première

I1  x1 



x1 ( t1 ) 

Sur l’arc de t0 à t1 avec u = +1 :

1 2 ux 2 2

1 2 1 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  2 2 1

En remplaçant x1(t0) et x2(t0) :

x1 ( t1 ) 

x 22 ( t1 )

Sur l’arc de t1 à t2 avec u = 1 :

x1 ( t 2 ) 

1 2 1 x 2 ( t 2 )  x1 ( t1 )  x 22 ( t1 ) 2 2

avec

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 ) En remplaçant x1(t1) et x2(t1) :

x1 ( t 2 ) 

x 22 ( t 2 )

avec

1 2 1  2 2 1

1526

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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 )  2 x1 ( t 2 )  x 2 ( t 2 )

avec x2(t1) > 0 pour la commutation de u = +1 à u = 1 à t1 avec x2(t2) < 0 pour la commutation de u = 1 à u = +1 à t2

C  : x1   x 22 , x 2  0 Les courbes de commutation sont   2 C : x1   x 2 , x 2  0 •

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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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 .

x1 ( t1 )  x 22 ( t1 ) x12 1 3 1 3    p1  x1x 2  3 x 2  ( t1 )   p1  x1x 2  3 x 2  ( t 2 ) avec x ( t )  x 2 ( t ) et p1   2x     2 2 2  1 2

x ( t )  0 avec  2 1 x 2 ( t 2 )  0

1 1 1 1    2     x 32 ( t1 )    2     x 32 ( t 2 ) 3 3 2 2 •

Par invariance de l’extrémale : x 2 ( t1 )  y 2 ( t1 )  x 2 t1 /    x 2 ( t 2 ) 3 1

1 1 1            2     3  2 3 2 •

2

1 2 1 1  2 2 avec      2 2 1 1  2

On obtient une équation bicarrée vérifiée par  :

La solution positive est :



4 

33  1  0.44462 24

1 2 1   0 12 18

 

1  2  4.13016 1  2

1528

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Techniques d’optimisation

Max CERF 2018

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 :   2 C : x1   x 2 , x 2  0  passage de u = +1 à u = 1 Commande feedback :

u  1 si x1  x 22 sgn( x 2 )  2 u  1 si x1  x 2 sgn( x 2 )

avec les constantes :



33  1 1  2  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 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 5.3.4 Problème de Fuller

Synthèse 25

x2

C 20

x1  x 22 sgn( x 2 )

15

u = 1

10

5

x1

0

-120

-100

-80

-60

-40

-20

0

20

40

60

80

100

120

-5

-10

u = +1

x1 

x 22

-15

sgn( x 2 ) -20

C+ -25

1530

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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

 1 x ( t )   x 2 ( t 1 ) x 2 ( t1 )  x 2 ( t 0 )  u.( t1  t 0 ) avec  2 0  t0  x 2 ( t 0 )  32.779 t   t 0 1  1  1

u = +1

Temps (échelle non respectée) 0 -35

-30

Dates de commutations : t k 1 

-25

-20

-15

-10

-5

0

tk 

u = 1 -1

1531

5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales

Max CERF 2018

Techniques d’optimisation 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 .

H

• •

1 2 x1  p1x 2  p 2 u  0 2

V  1 2 V V   H x , u , , t   x1  x 2 u x  2 x1 x 2   V   et min H  u   sgn 1 u  1  x  2

L’équation HJB devient :

On montre que la solution est :

V  V si x1  x 22 sgn( x 2 )  2 V  V si x1  x 2 sgn( x 2 )

x2

V V 1 2   x1  0 x1 x 2 2

V ( x1 , x 2 )  

5 2

1 5 1 1 1 x 2  x1x 32  x12 x 2  A x 22  x1  15 3 2 2 

12 1  avec A    2   2     53 2 



3 2

 0.382

1532

5 Optimisation fonctionnelle 5.4 Méthodes numériques

Techniques d’optimisation

Max CERF 2018

Sommaire 1. 2. 3. 4.

Bases théoriques Optimisation sans contraintes Optimisation avec contraintes Optimisation discrète

5.

Optimisation fonctionnelle 5.1 Fonctionnelle 5.2 Calcul des variations 5.3 Commande optimale 5.4 Méthodes numériques 5.4.1 Transcription 5.4.2 Propagation 5.4.3 Collocation 5.4.4 Méthodes directes 5.4.5 Méthodes indirectes

1533

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.1 Transcription

Techniques d’optimisation

Max CERF 2018

5.4.1 Transcription Problème de contrôle à temps final libre avec contraintes finales tf

min J  u,t f



t0

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 x ( t f ), t f   0 ,   R q



Les inconnues sont des fonctions vérifiant des équations différentielles - commande u(t) , t[t0,tf] → m fonctions - état x(t) , t[t0,tf] → n fonctions vérifiant x  H p - adjoint p(t) , t[t0,tf] → n fonctions vérifiant p   H x (conditions d’optimalité)



Il est rarement possible de résoudre analytiquement le problème de contrôle. On doit utiliser des méthodes numériques donnant la solution en un nombre fini de dates.



La transcription consiste à : - formuler un problème approché de dimension finie - résoudre numériquement ce problème de dimension finie



Le problème en dimension finie peut être formulé de différentes manières selon - l’utilisation ou non des conditions d’optimalité → formulation indirecte ou directe - la méthode de résolution d’équation différentielle → propagation ou collocation

1534

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.1 Transcription

Techniques d’optimisation

Max CERF 2018

5.4.1 Transcription Processus de transcription

Problème de contrôle de dimension infinie

Problème discrétisé de dimension finie

Résolution numérique du problème discrétisé

Solution approchée du problème de contrôle

Choix de formulation (conditions d’optimalité)

Résolution numérique d'équations différentielles + Méthode numérique d’optimisation

1535

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.1 Transcription

Techniques d’optimisation

Max CERF 2018

5.4.1 Equations différentielles Méthode de propagation ou collocation • On doit résoudre une équation différentielle à condition initiale donnée.

x ( t )  f x ( t ), t  , t 0  t  t f x(t 0 )  x 0

 problème de Cauchy ou problème « à valeur initiale » (IVP)

L’inconnue est la fonction x(t), le problème est de dimension infinie. •

On se ramène à un problème en dimension finie en discrétisant l’intervalle [t0 , tf]. - L’intervalle [t0 , tf] est divisé en N segments : t0 < t1 < t2 < … < ti < ti+1 < … < tN = tf - On cherche les valeurs prises par x aux dates ti : x0 , x1 , x2 , … , xi , xi+1 , … , xN - La solution peut être construite par propagation ou par collocation.



Une méthode de propagation utilise une quadrature sur chaque segment [ti , ti+1]. - La solution xi+1 à ti+1 est obtenue à partir de la condition xi à ti. - La méthode est à pas simple ou multiple, explicite ou implicite.



Une méthode de collocation cherche une solution polynomiale sur chaque segment [ti , ti+1]. - Des conditions de dérivées à des dates intermédiaires sont imposées. - La solution est obtenue en résolvant un système non linéaire.

1536

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.1 Transcription

Techniques d’optimisation

Max CERF 2018

5.4.4 Formulation directe / indirecte Problème en dimension finie • Un problème d’optimisation peut être résolu - soit directement à partir de sa formulation - soit indirectement à partir des conditions d’optimalité



→ méthode directe → méthode indirecte

Pour un problème en dimension finie sans contrainte : minn f ( x ) xR

Formulation directe : Chercher une suite de solutions diminuant f(x) Formulation indirecte : Chercher une solution du système de n équations f(x) = 0 •

m Pour un problème en dimension finie avec contrainte : minn f ( x ) sous c( x )  0 , c( x )  R xR

Formulation directe : Chercher une suite de solutions diminuant f(x) et vérifiant c(x)=0 Formulation indirecte : Chercher une solution du système de n+m équations L(x,) = 0 Les m multiplicateurs  associées aux m contraintes sont des inconnues supplémentaires. •

Pour un problème de contrôle en dimension infinie, les conditions d’optimalité du PMP font intervenir l’adjoint p(t) , t[t0,tf] → n fonctions inconnues supplémentaires

1537

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.1 Transcription

Techniques d’optimisation

Max CERF 2018

5.4.4 Formulation directe / indirecte Problème en dimension infinie • Formulation directe du problème de contrôle tf

min J  u,t f



L( x, u, t )dt  ( x f , t f )

t0

x  f ( x, u, t ) , x(t0) donné avec  ( x f , t f )  0

 Problème de minimisation avec comme inconnues : x(t) , u(t) , tf •

Formulation indirecte du problème de contrôle (conditions d’optimalité d’ordre 1)

(EDx ) (EDp)

x  H p  f p   H x

(COu ) min H u

(CFx ) ( x f , t f )  0 (CFp) p f   xf   xf  (CFt ) H f    tf   tf 

→ n équations différentielles de l’état x , x(t0) donné → n équations différentielles de l’adjoint p , p(t0) inconnu → m équations sur la commande u → q conditions finales sur l’état x(tf) , avec multiplicateurs  → n conditions finales sur l’adjoint p(tf) → 1 condition finale sur l’hamiltonien H(tf)

 Système d’équations avec comme inconnues : x(t) , p(t) , u(t) ,  , tf

1538

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.1 Transcription

Max CERF 2018

Techniques d’optimisation 5.4.4 Méthodes de transcription

Catégories de méthodes Formulation directe

Formulation indirecte

« Méthode directe »

« Méthode de tir »

 Nm

Inconnues :

ui

Problème : NLP

min J sous   0

Propagation

ui

« Collocation directe »

Inconnues :

ui  Nm xi  Nn

Problème : NLP

min J sous   0

Collocation

ui ,xi

+ collocation sur x

Inconnues : Problème : NLS

p0  n   q =0 pf (transversalité)

« Collocation indirecte »

ui  Nm xi  Nn pi  Nn Problème : =0 NLS pf (transversalité) + collocation sur x et p Inconnues :

1539

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.1 Transcription

Max CERF 2018

Techniques d’optimisation 5.4.4 Méthodes de transcription

Comparaison des méthodes Méthode directe

Avantages

Inconvénients

Méthode indirecte

Inconnues « physiques » : u , x

Peu d’inconnues : n + q

Initialisation simple (robuste)

Convergence rapide

Si propagation : codage non intrusif

Solution très précise

Beaucoup d’inconnues : N(n+m)

Inconnues «non physiques» (adjoint)

Convergence lente et moins précise

Initialisation difficile (peu robuste)

Si collocation : codage intrusif

Codage intrusif (adjoint)

Si collocation : maillage à adapter

Si collocation : maillage à adapter

1540

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Propagation  Méthodes à pas simple (Runge-Kutta)  Analyse d’erreur

 Ordre de la méthode  Méthodes d’ordre 1, 2, 3, 4  Contrôle d’erreur  Conditionnement  Méthodes à pas multiples (Adams)

1541

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Max CERF 2018

Techniques d’optimisation 5.4.2 Propagation

Méthode à pas simple ou multiples • Une méthode de propagation construit la solution sur les segments successifs [t i , ti+1]. La solution est connue aux dates précédentes t0 , t1 ,, ti-1 , ti. On cherche la valeur xi+1 . •

Une méthode à pas simple construit xi+1 en utilisant uniquement la valeur précédente xi . → méthodes de Runge-Kutta



Une méthode à pas multiples construit xi+1 en utilisant plusieurs valeurs précédentes xi-k,, xi. → méthodes d’Adams x xi-k xi+1 ?

xi-2 xi-1

xi

ti-k

ti-2

ti-1

ti

ti+1

t

1542

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Runge-Kutta Principe • Les méthodes de Runge-Kutta s’appliquent aux équations différentielles du 1er ordre.

x ( t )  f x ( t ), t  , t 0  t  t f On suppose que la condition initiale est donnée :

x(t0) = x0



L’intervalle [t0 , tf] est divisé en N segments : t0 < t1 < t2 < … < ti < ti+1 < … < tN = tf - Les dates ti sont les nœuds. - Les segments [ti , ti+1] sont les pas d’intégration. - Les inconnues sont les valeurs x(ti) notées xi .



L’équation différentielle est intégrée sur chaque segment [ti , ti+1] . t i1

x  f ( x, t ) sur [ t i , t i 1 ]  x i 1  x i  •

 f (x, t)dt ti

L’intégrale est approchée par une formule de quadrature (page suivante). En partant de x0 , on calcule successivement x1 , puis x2 ,  , puis xN. On obtient ainsi une solution approchée aux N dates de discrétisation.

1543

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Max CERF 2018

Techniques d’optimisation 5.4.2 Runge-Kutta

Formule de quadrature • Une formule de quadrature consiste à approcher une intégrale par une somme. L’intervalle [ti , ti+1] est divisé en K segments : ti  1  2  …  k  k+1  …  K  ti+1 - La longueur de l’intervalle est notée hi : hi = ti+1  ti - Les dates k sont de la forme k = ti + hi k , 0  1  2  …  k  k+1  …  K  1 (dates non nécessairement toutes distinctes) - Les segments [k , k+1] sont les étapes d’intégration. t i1

L’intégrale est approchée par la formule :

x i 1  x i 

K

 f (x, t)dt  h   f ( i

Cette formule nécessite de calculer les valeurs k aux dates intermédiaires k , k=1 à K . k

On utilise une autre quadrature pour les k :

k  xi 

K

 f (x, t)dt  h   i

ti



k , k )

k 1

ti



k

kjf ( j ,  j )

j1

Une méthode de Runge-Kutta est une combinaison de deux méthodes de quadratures. Les quadratures sont définies par le choix des coefficients k , k , kj .

1544

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Runge-Kutta Méthode explicite / implicite • Les K valeurs intermédiaires k , k=1 à K vérifient un système non linéaire de K équations. K

k  xi  hi



kjf ( j ,  j )

, k 1à K

j1



Si les coefficients kj sont nuls pour j  k, k ne dépend que des valeurs précédentes j , j 0 constante de stabilité de la méthode

 Les erreurs d’arrondi produisent une erreur finale bornée.

1557

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Max CERF 2018

Techniques d’optimisation 5.4.2 Analyse d’erreur

Convergence • L’erreur globale est l’écart entre la solution numérique et la solution exacte y0 partant de x0. •

Convergence : La méthode est convergente si max y 0 ( t i )  x i 0i  N

h   0 0 max

 On peut approcher la solution avec la précision voulue en réduisant suffisamment le pas. •

Une méthode consistante et stable est convergente.

xi  y0 ( ti ) = solution exacte à ti , i=0 à N Preuve : On pose ~ L’erreur i représente alors l’écart entre solution exacte y0(ti) et approchée xi . xi est : xi 1  ~ xi  hi ( ti , ~ xi , hi ) La solution approchée à ti+1 en partant de ~ ~ L’erreur de consistance sur [ti , ti+1] est définie par : xi 1  xi 1  ei 1  ~ xi  hi ( ti , ~ xi , hi )  ei 1 Si la méthode est stable : (avec e0 = 0)

max ~ xi  xi  S

0 i  N

N

e

i

i 0

N

Si la méthode est consistante :

e

i

i 1

h   0 0 max

max ~ xi  xi  0

0 i  N

1558

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Analyse d’erreur Ordre • Une méthode est d’ordre p si l’erreur de consistance est majorée par Chp+1 , avec C > 0 . •

L’erreur de consistance est l’écart sur un pas de temps entre - la solution exacte y vérifiant y  f ( y, t ) avec y( t i )  x i  e  y( t )  x i 1 i 1 i 1 - la solution approchée obtenue par x i 1  x i  h i ( t i , x i , h i ) On développe ces solutions par rapport au pas de temps h en supposant f et  de classe Cp .  y de classe Cp+1



Développement de y à l’ordre p+1 en h=0 p 1

p 1

h ik d k y h ik d k 1f p 1 p 1 y( t i 1 )  y( t i  h i )  y( t i )  ( t )  o ( h )  x  ( x , t )  o ( h ) i i i i i i k k 1 k ! k ! dt dt k 1 k 1



y( t i )  x i •



dy  f ( y, t ) dt

Développement de x à l’ordre p en h=0

x i 1

 p hk k  p i  xi  hi  ( t i , x i ,0)  o(h i ) k k !  h  k 0 



1559

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Max CERF 2018

Techniques d’optimisation 5.4.2 Analyse d’erreur

Ordre • La méthode est d’ordre p si e i 1  y( t i 1 )  x i 1  Ch ip 1 (erreur en hp+1 ). Le terme en •

hk+1

du développement de ei+1 est :

La méthode est d’ordre p 

h k 1 k!

 1 dkf  k ( x , t )  ( t , x , 0 )   i i i i k h k  k  1 dt 

k

1 dkf ( t , x,0)  ( x, t ) , k  0 à p  1 k k k  1 h dt

Propriétés • Une méthode est consistante si elle est au moins d’ordre 1  ( t , x,0)  f ( x, t ) •

Si la fonction  est lipschitzienne en x, alors la méthode est stable. La constante de stabilité S peut être prise égale à eLT avec T=tft0 , L constante de Lipschitz



L’erreur globale d’une méthode stable d’ordre p est majorée :

max y 0 ( t i )  x i  SCTh pmax

0i  N

p 1 avec S constante de stabilité , T=tft0 , e i  Ch i (erreur en hp+1)

1560

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Exemple Méthodes explicites d’ordre  2 • L’ordre p est donné par la condition : •

Euler explicite : (ordre 1)

k

1 dkf ( t , x,0)  ( x, t ) , k  0 à p  1 k  1 dt k h k

x i 1  x i  h i f ( x i , t i )  ( t , x, h )  f ( x, t )

k  1   h ( t , x,0)  0 •

Point milieu : (ordre 2)

x i 1  x i  h i f x i  h i f ( x i , t i ) / 2 , t i  h i / 2

 ( t , x, h )  f x  hf ( x, t ) / 2 , t  h / 2 f x x  f t f fxf ft k  1   h ( t , x,0)     2 2 2 2



Heun : (ordre 2)

 condition non vérifiée pour p=2

 condition vérifiée pour p=2

x i 1  x i  h i f ( x i , t i ) / 2  h i f x i  h i f ( x i , t i ) , t i 1  / 2

 ( t , x, h )  f ( x, t ) / 2  f x  hf ( x, t ) , t  h  / 2 fxf  ft f x x  f t f  condition vérifiée pour p=2 k  1   h ( t , x,0)    2 2 2

1561

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Max CERF 2018

Techniques d’optimisation 5.4.2 Analyse d’erreur

Erreur totale • On considère une méthode stable d’ordre p appliquée sur N pas de temps de t0 à tf. •

L’erreur globale théorique est majorée en fonction du pas hmax = max(h1,…hN) .

x i 1  x i  h i ( t i , x i , h i ) •



0i  N

Les erreurs d’arrondi i , i=1 à N à chaque pas génèrent une erreur supplémentaire bornée.

~ x i 1  ~ x i  h i ( t i , ~ x i , h i )  i •



max ~ xi  xi  S

0i  N

T N

N



i

 SN max

i 0



max y 0 ( t i )  ~ x i  S CTh pmax  N max

L’erreur totale est majorée par : (théorique + arrondi) Avec pas équidistants : h 



max y 0 ( t i )  x i  SCTh pmax

0i  N

   E max  ST Ch p   h 

L’erreur est minimale pour le pas :

en notant



 noté

E max

h = hmax  = max

1  p 1

  h opt     pC 

1562

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Exemple Méthode du point milieu • Equation différentielle : x  x •

y ( t )  y ( t 0 )e t  t 0

→ solution exacte

L’erreur de consistance sur le pas de temps [ti , ti+1] avec la condition initiale xi est l’écart entre

- la solution exacte :

y( t i 1 )  y( t i )e

t i1  t i

 xie

hi

  h i2 h 3i 3  x i 1  h i    o( h i )  2 6  

 hi hi  h i2   - la solution approchée : x i 1  x i  h i f  x i  f ( x i , t i ) , t i    x i 1  h i   2 2 2    avec f ( x, t )  x x  e i 1  y( t i 1 )  x i 1  i h 3i  o(h 3i )  ordre p=2 6 •

L’intervalle est subdivisé en N pas équidistants : L’erreur de consistance est majorée sur [0,1] par :



Le pas optimal est donné par h opt   / pC

1 p 1

h

tf  t0 1  N N

e (car x i  e) 6 avec la précision de calcul  e i 1  Ch 3 avec C 

1563

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Max CERF 2018

Techniques d’optimisation 5.4.2 Exemple

Pas d’intégration optimal • Calcul sur 6 chiffres significatifs :  = 107 •

N = 101 à 106

Erreur totale pour N pas de temps sur [0,1] 1 p  2    p 1  C  e / 6  h   4.8 10 3  opt    pC    10 7   N opt  208 pas

N = 100 à 1000

Erreur totale 1,E+00 1,E-01 1,E-02 1,E-03

1,E-04 1,E-05 1

10

100

1000

Nombre de pas

10000

100000

1000000

Nombre de pas

Erreur totale

10 100 1000 10000 100000 1000000

4,20E-03 5,37E-05 8,35E-05 8,60E-04 8,58E-03 8,45E-02

Nombre de pas

Erreur totale

100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950 1000

5,37E-05 3,17E-05 2,84E-05 2,84E-05 2,87E-05 3,40E-05 3,63E-05 4,15E-05 4,40E-05 4,93E-05 5,01E-05 5,64E-05 6,15E-05 6,37E-05 7,10E-05 7,47E-05 7,67E-05 8,07E-05 8,35E-05

1564

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Max CERF 2018

Techniques d’optimisation 5.4.2 Conditions d’ordre

Méthodes explicites • Une méthode de Runge-Kutta est explicite si les coefficients (kj) j  k sont nuls. Chaque point intermédiaire k ne dépend que des points précédents (j) j=1 à k1 . k 1

k  t i  h i k , k  x i  h i



K

kjf j

, x i 1  x i  h i

j1



 f

k k

noté

k 1

On impose que la méthode de quadrature soit d’ordre 0 au moins, i.e. les points k donnent la solution exacte y(k) dans le cas d’une fonction f constante. - Solution exacte

en k et ti+1 :

- Solution approchée en k et ti+1 :

y(  k )  x i  h i  k f , y( t i 1 )  x i  h i f  k 1   K     k  xi  hi  kj f , x i 1  x i  h i  k f      k 1   j1 





k 1



avec f ( j ,  j )  f j

Les coefficients (k) , (k) , (kj) doivent vérifier :

 j1

K

kj

 k ,



k

1

k 1

 condition d’ordre 1 (= condition de consistance) Ces relations sont imposées systématiquement pour toutes les méthodes de Runge-Kutta.

1565

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Max CERF 2018

Techniques d’optimisation 5.4.2 Conditions d’ordre

Méthodes explicites • Une méthode explicite de Runge-Kutta est de la forme : x i 1  x i  h i ( t i , x i , h i ) K

La fonction  est définie par

( t i , x i , h ) 

  f ( k

k , k )

k 1

avec  k  t i  h k ,  k  x i  h

k 1



kjf ( j ,  j )

j1

k

1 dkf ( t , x,0)  ( x, t ) , k  0 à p  1 k k k  1 h dt



La méthode est d’ordre p si :



Pour construire une méthode d’ordre p, il faut - calculer les dérivées successives de  par rapport à h en h = 0 - écrire les p conditions sur les dérivées de k = 0 à p1 On obtient un système d’équations liant les coefficients k, k, kj .



Le calcul est simple jusqu’ à l’ordre p=3 (pages suivantes), et devient difficile à partir de l’ordre p=4.

1566

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Max CERF 2018

Techniques d’optimisation 5.4.2 Conditions d’ordre

Dérivée première • Dérivée première de  par rapport à h en h = 0 k 1

K

( t , x, h ) 

  f ( k

k , k )

avec  k  t  h k ,  k  x  h

k 1

  h



f ( k ,  k ) k   h k 1 K





 k h0   h

k 1

kjf ( j ,  j )

j1

K

 k 1



k f x



 k    ft k  h h 

k 1

 k avec  h



  kjf ( j ,  j )  h h j1

k 1



 kjf ( j ,  j )

et

j1

 k 1   kjf ( j ,  j )    kj f ( x, t )   k f ( x, t )   j1  j1 





 k  k h k 1

car



kj

 k

(ordre 1)

j1

On obtient pour la dérivée première

 ( t , x,0)  h

 K  df   k (f x f k  f t  k )   kk    dt k 1  k 1  K





1567

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Max CERF 2018

Techniques d’optimisation 5.4.2 Conditions d’ordre

Dérivée seconde • Dérivée seconde de  par rapport à h en h = 0 k 1

K

( t , x, h ) 

  f ( k

k , k )

avec  k  t  h k ,  k  x  h

k 1

 2 h

2





h 2

k 1

avec

h0  •

k

 2 k h 2  2 k h 2



kjf ( j ,  j )

j1

 2 f ( k ,  k )

K



en h  0

2     2  k  k  2 k    k  k    k f xx   f tt    2f xt   fx 2  h  h  h  h h       k 1

 2 h

K



k 1



 kjf ( j ,  j )

et

f ( j ,  j ) h

j1

 k 1  df  2  j  kj    dt  j1 



et

 fx

 j h

 ft

 j h



en h  0

j

df dt

 k   k f ( x, t ) h

On obtient pour la dérivée seconde

 K   K 2  2    ( t , x,0)   k  k (f xx f  2f xt f  f tt )  2  j k  kj  (f x2 f  f x f t ) 2     h  k 1   k 1, j k 

 2





1568

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Max CERF 2018

Techniques d’optimisation 5.4.2 Conditions d’ordre

Relations entre coefficients • Dérivée première : conditions d’ordre 2

 K  df   avec ( t , x,0)   kk    dt h  k 1 

 1 df ( t , x,0)  h 2 dt •



K



 k 1

 kk 

1 2

Dérivée seconde : conditions d’ordre 3

 2

1 d 2f ( t , x,0)  2 3 dt 2 h

avec

d 2f dt 2

 f xx f 2  2f xt f  f tt  f x (f x f  f t )

 K   K 2  2   (f 2 f  f f )   et ( t , x , 0 )    ( f f  2 f f  f )  2    k k xx xt tt j k kj x t   x   h 2  k 1   k 1, j k   2

K



 k 1



 2k  k



1  3



K

et



 j k  kj 

k 1, j k

1 6

Dérivée troisième : conditions d’ordre 4  calculs très longs

1569

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Max CERF 2018

Techniques d’optimisation 5.4.2 Conditions d’ordre

Relations entre coefficients • Méthode à K étapes : k=1 à K

1  K

Méthode explicite : (kj) j  k = 0 . k 1



Ordre  1 : (consistance)



K

kj

 k ,

j1

Ordre  2 :



 kk 

k 1 K



Ordre  3 :



 2k  k

k 1 K



Ordre  4 :

 k 1

 3k  k



k

1

k 1

K



11  1K    K1   KK 1   K

1 2

1  3 1  4

K

et



 j k  kj 

k 1, j k

K

et



 2j k  kj k 1, j k

1 6

1  , 12

K



 i k  kj  ji 

k 1, j k

K



 j k  k  kj 

k 1, j k

1 8

1 12

1570

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Max CERF 2018

Techniques d’optimisation 5.4.2 Méthodes d’ordre 1 et 2

Méthodes à 1 étape • Pour une méthode explicite à une étape (K=1), il n’existe qu’un choix de coefficients. Méthode explicite :

11  0  1  0 , 1  1

0 0 1

On obtient la méthode explicite d’Euler, d’ordre 1

Méthodes à 2 étapes • Pour une méthode explicite à deux étapes (K=2), il existe plusieurs choix possibles. Méthode explicite :

11  12   22  0



Ordre 1 :

11  12  1   21   22   2 1   2  1



Ordre 2 :

11   2 2 

1  0       2 noté  21

1 2

 2 

0 

0  1

1 2

0 0 1 2

1 1 , 1  1  2 2

On obtient des méthodes d’ordre 2, à un paramètre  :

=0.5  point milieu =1  Heun

1571

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Max CERF 2018

Techniques d’optimisation 5.4.2 Méthodes d’ordre 3

Méthodes à 3 étapes • Méthode de Heun  explicite, d’ordre 3



Méthode de Hermite Simpson  implicite, d’ordre 3

Méthodes à 4 étapes • Méthode de Runge  explicite, d’ordre 3

0 0 0 0 1/ 3 1/ 3 0 0 2/3 0 2/3 0 1/ 4 0 3 / 4 0 0 0 0 1 / 2 5 / 24 1 / 3  5 / 24 1 1/ 6 2 / 3 1/ 6 1/ 6 2 / 3 1/ 6

0 0 0 1/ 2 1/ 2 0 1 0 1 1 0 0 1/ 6 2 / 3

0 0 0 0 0 0 1 0 0 1/ 6

h 1 ( i   i 1 )  i (f i  f i 1 ) 2 2 f c  f ( c , t i  h i / 2) h x i 1  x i  i (f i  4f c  f i 1 ) 6 (équation en xi+1) c 

1572

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Méthodes d’ordre 4 Méthode à 4 étapes • Méthode « avec règle des 3/8 »

0 0 1/ 3 1/ 3 2 / 3 1/ 3 1 1 1/ 8 •

 explicite, d’ordre 4

0 0 0 0 0 0 1 0 0 1 1 0 3 / 8 3 / 8 1/ 8

Méthode « classique » de Runge-Kutta

0 0 0 0 0 1/ 2 1/ 2 0 0 0 1/ 2 0 1/ 2 0 0 1 0 0 1 0 1/ 6 2 / 6 2 / 6 1/ 6

 explicite, d’ordre 4

 Méthode très robuste pour la majorité des applications Constante de stabilité si f lipschitzienne de constante L

S = eLT avec T = tf  t0

1573

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Max CERF 2018

Techniques d’optimisation

5.4.2 Méthode classique de Runge-Kutta Méthode classique à 4 étapes • Formules détaillées (avec la notation usuelle)

k 1  k 2   k 3  k  4

 h i f (x i , t i ) 1 1    h i f  x i  k1 , t i  h i  2 2   1 1    hif  xi  k 2 , t i  hi  2 2    h i f ( x i  k 3 , t i 1 )



x i 1  x i 

1 ( k 1  2k 2  2k 3  k 4 ) 6

1/ 2



 f (t)dt  2 f (0)

Méthodes de quadratures associées

1

0

0 0 0 0 0 1/ 2 1/ 2 0 0 0 1/ 2 0 1/ 2 0 0 1 0 0 1 0 1/ 6 2 / 6 2 / 6 1/ 6

1/ 2



 rectangles à gauche

0

1

 rectangles à droite  point milieu  Simpson

f ( t )dt 

1 1 f  2 2 1

 f (t)dt  f  2  0

1

2 1

2 1 1

 f (t)dt  6 f 0  6 f  2   6 f  2   6 f (1) 1

0

1574

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Contrôle d’erreur Estimation d’erreur • On peut évaluer l’erreur en comparant : - la solution x1 obtenue en 1 seul pas 2h - la solution x2 obtenue en 2 pas moitié h Pour une méthode d’ordre p, l’erreur de consistance est en Chp+1 .

e1  y( t 0  2h )  x1  C(2h ) p 1  o(2h p 1 )  e 2  y( t 0  2h )  x 2  2C(h ) p 1  o(h p 1 ) •

 erreur associée à x2 avec 2 pas h

L’écart  entre la solution x2 en 2 pas et la solution x1 en 1 pas permet d’estimer l’erreur. On peut régler le pas hmax pour que l’erreur reste inférieur à une tolérance donnée max.

  x 2  x1  2Ch p 1 (2 p  1)  o(h p 1 ) •

 erreur associée à x1 avec 1 pas 2h



1   max  p 1

h max  h    

L’écart  permet également d’éliminer le terme en hp+1 dans l’expression de x2. x 2 d’ordre p+1 à partir de x2 (méthode d’extrapolation locale). On obtient une solution ~

~ x2  x2 

 2p 1



y( t 0  2h )  ~ x 2  o(h p 1 )

1575

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Contrôle d’erreur Méthodes emboîtées • Une méthode de Runge-Kutta réalise plusieurs évaluations de f pour construire la solution. •

Si les coefficients de la méthode sont bien choisis, il est possible de réutiliser ces évaluations pour construire une deuxième solution d’ordre inférieur (méthode « emboîtée ») L’écart entre ces 2 solutions donne une estimation d’erreur sans évaluation supplémentaire. Cet écart est utilisé pour régler le pas afin que l’erreur reste dans une tolérance donnée.



On utilise aussi les évaluations pour construire une sortie dense. La sortie dense est une interpolation à un ordre donné de la solution sur le pas de temps.  permet de générer une solution précise sans réduction du pas de temps



Il existe un très grand nombre de possibilités pour construire des méthodes emboîtées. On désigne la méthode sous la forme p(p’) avec : p = ordre de la solution p’ = ordre de la solution emboîtée Exemples - méthodes de Fehlberg  ordre 4(5) , 7(8) ,  - méthodes de Dormand – Prince  ordre 5(4) , 8(6) , 

1576

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Exemple Méthode d’Euler • L’erreur de consistance pour une méthode d’ordre p est donnée par

h ip 1 ei  p! •



 1 d pf   p ( x i , t i )  p ( t i , x i ,0)  p p  1 dt h  

Pour la méthode d’Euler :

x i 1  x i  h i f ( x i , t i )

La méthode est d’ordre 1 :

h i2 df ei  (x i , t i ) 2 dt



( x, t , h )  f ( x, t )

On peut estimer cette erreur avec les évaluations de f disponibles. x i 1  x i  h i f ( x i , t i ) - Au pas numéro i :  évaluation de fi = f(xi,ti) - Au pas numéro i+1 : x i  2  x i 1  h i 1f ( x i 1 , t i 1 )  évaluation de fi+1 = f(xi+1,ti+1) La valeur fi+1 nécessaire pour le pas suivant peut être utilisée pour estimer l’erreur au pas i.

f i 1  f i  f x i  h i f ( x i , t i ), t i  h i   f x i , t i   h i f x ( x i , t i )f ( x i , t i )  h i f t ( x i , t i )  h i On obtient l’estimation d’erreur :

ei 

df (x i , t i ) dt

hi (f i 1  f i ) 2

1577

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Exemple Méthodes d’ordre 4 ou 5 • Pour contrôler l’erreur d’une méthode d’ordre 4 ou 5, il faut au moins 6 étapes. On dispose ainsi de 6 évaluations de f pour construire la solution et la solution emboîtée.

k 1 k 2  k 3  k  6

 h i f (x i , t i )  h i f x i   21k1 , t i   2 h   h i f x i   31k1   32 k 2 , t i   3 h   h i f x i   61k1     65 k 5 , t i   6 h 



On peut trouver des coefficients (k, kj) permettant de construire - une solution d’ordre 5 avec (k) : x i 1  x i  1k1   2 k 2     6 k 6 - une solution d’ordre 4 avec (*k) : x *i 1  x i  1*k1  *2 k 2    *6 k 6



Exemples de méthodes à 6 étapes d’ordre 4 ou 5 - méthode 5(4) à 6 étapes de Cash-Karp - méthode 4(5) à 6 étapes de Fehlberg  méthodes complexes à élaborer - 

1578

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Exemple Méthode à 6 étapes • Méthode de Cash-Karp d’ordre 5(4) k

 kj

0

0

1 5 3 10 3 5

1 5 3 40 3 10 11  54 1631 55296

1 7 8

0

0

0

0

0

0

0

0

0

0

0

0

0

9 40 9  10 5 2 175 512

6 5 70  27 575 13824

35 27 44275 110592

0 253 4096

k 37 378

*k 2825 27648

0

0

250 621 125 694

18575 48384 13525 55296 277 0 14336 512 1 1771 4

solution d’ordre 5

solution emboîtée d’ordre 4

1579

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Exemple Méthode à 6 étapes • Méthode de Fehlberg d’ordre 4(5) k

 kj

0

0

1 4 3 8 12 13

1 4 3 32 1932 2197 439 216 8  27

1 1 2

0

0

0

0

0

0

0

0

0

0

0

0

0

9 32 7200  2197 8 2

7296 2197 3680 513 3544  2565

845 4104 1859 4104



0 

k 25 216

*k 16 135

0

0

1408 2565 2197 4104 1  5

6656 12825 28561 56430 9  50 2 55

11 40

solution d’ordre 4

0

solution emboîtée d’ordre 5

1580

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Méthodes d’ordre supérieur Méthodes explicites de Runge-Kutta • Méthode 5(4) à 7 étapes de Dormand-Prince • Méthode 8(6) à 16 étapes de Dormand-Prince • Méthode 8(5,3) à 17 étapes de Dormand-Prince

 code DOPRI5  code DOPR86  code DOP853

DOP853 inclut : - une estimation d’erreur à l’ordre 5 et à l’ordre 3 (améliore l’estimation) - une sortie dense à l’ordre 7 Méthodes d’extrapolation • Application d’une méthode d’ordre p sur l’intervalle [ti , ti+1] avec nj pas égaux à hi/nk - évaluation de xi+1 pour K différentes valeurs de nk (n1 < n2 <  < nK) - extrapolation de la limite h  0  solution extrapolée xi+1 d’ordre p + K  1  méthode très précise •

Méthodes de Gragg – Bulirsch – Stoer (GBS) - séquence de Romberg (nk = 2k) - séquence harmonique (nk = k)  code ODEX : ordre jusqu’à 18

Référence : Solving ordinary différential equations (E. Hairer, S.P. Norsett, G. Wanner)

1581

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Conditionnement Problème mathématiquement bien posé • On considère le problème de Cauchy : x  f ( x, t ) , t 0  t  t f x(t 0 )  x 0 •



Le problème est mathématiquement bien posé si la solution est unique et dépend de façon continue de x 0.

x  2 x Exemple :  x ( t 0 )   en t 0  0

pour 0  t   0 - Si  = 0, il existe une infinité de solutions : x ( t )   2 ( t  ) pour   t x(t)  (t   ) 2 - Si   0, il existe une seule solution : La solution n’est pas unique pour =0, et n’est pas continue lorsque 0 . Le problème est mathématiquement mal posé.

1582

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Conditionnement Problème numériquement bien posé • On considère le problème de Cauchy : x  f ( x, t ) , t 0  t  t f x(t 0 )  x 0 •



Le problème est numériquement bien posé si la solution est faiblement perturbée par des erreurs d’arrondi.

x  ax  b Exemple :  x ( t 0 )  x 0 en t 0  0 La solution générale est :

x(t) 



1 (ax 0  b)e at  b a



Une erreur d’arrondi  sur x(t0) produit une erreur eat sur x(t). Si a > 0, la solution devient fortement perturbée par l’erreur d’arrondi à partir de t 

 ln  a

Le problème est numériquement mal posé pour a > 0 si le temps final tf est trop grand.

1583

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Max CERF 2018

Techniques d’optimisation 5.4.2 Conditionnement

Problème bien conditionné • On considère le problème de Cauchy : x  f ( x, t ) , t 0  t  t f x(t 0 )  x 0 •



Le problème est bien conditionné si la solution peut être obtenue sans réduction excessive du pas de temps.



1 x  ax  b Exemple :   solution générale : x ( t )  (ax 0  b)e at  b a x ( t 0 )  x 0 en t 0  0 Méthode d’Euler :



x i 1  x i  hf ( x i , t i )  (1  ah ) x i  bh

b b b b    (1  ah ) x i    x n  (1  ah ) n  x 0    a a a a   b Si a < 0, la solution exacte converge vers lim x ( t )   t  a  x i 1 

Pour que la solution numérique converge, le pas h doit vérifier : 1  ah  1  h   Le problème est mal conditionné (problème raide).

2 a

1584

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Max CERF 2018

Techniques d’optimisation 5.4.2 Adams

Méthode d’Adams • On suppose connue la solution aux K+1 dates : ti-K < ti-K+1 < … < ti-1 < ti  valeurs de x : xi-K , xi-K+1 , … , xi-1 , xi  valeurs de f : fi-K , fi-K+1 , … , fi-1 , fi t i1

On cherche la solution xi+1 à la date ti+1 : •

x i 1  x i 

 f (x, t)dt ti

Pour calculer l’intégrale, on remplace f par son polynôme d’interpolation P ou P* . Le polynôme d’interpolation prend les valeurs connues f i-k aux dates ti-k (k = 0 à K)  P et optionnellement la valeur inconnue fi+1 à la date ti+1 (k = 1)  P* P(t)

f fi-j

fi-K

fi-j-1

fi

P*(t)

fi+1

fi-1 fi-K-1

ti-K ti-K-1

ti-j

ti-j+1

ti-1

ti

ti+1

t

1585

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Adams Méthode explicite ou implicite • La méthode d’Adams-Bashforth à K+1 pas construit le polynôme d’interpolation P(t) en utilisant seulement les K+1 valeurs précédentes aux dates ti-K < ti-K+1 < … < ti-1 < ti - Le polynôme P(t) de degré K ne dépend que de valeurs connues : f i-K , fi-K+1 , … , fi-1 , fi t i1

- La méthode est explicite :

x i 1  x i 

 On obtient directement xi+1 . •

 P(t)dt ti

La méthode d’Adams-Moulton à K+1 pas construit le polynôme d’interpolation P*(t) en utilisant les K+1 valeurs précédentes aux dates ti-K < ti-K+1 < … < ti-1 < ti et la valeur à la date ti+1  valeur inconnue - Le polynôme P*(t) de degré K+1 dépend de la valeur inconnue : f i+1 = f(xi+1 , ti+1) t i1

- La méthode est implicite :

x i 1  x i 

 P * (x

i 1 , t )dt

ti

 Il faut résoudre une équation non linéaire pour obtenir xi+1 .

1586

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Adams Polynôme d’interpolation • Le polynôme d’interpolation prend les valeurs fi-k aux dates ti-k avec : 0  k  K pour P(t) 1  k  K pour P*(t) •

Le polynôme P s’exprime avec les polynômes de Lagrange L sur K+1 points (ti-K à ti). K

Polynômes de Lagrange : L k ( t ) 

t

j 0 j k K

Polynôme P(t) :

P( t ) 

f

t  t i j ik

 t i j

ik L k (t)

0 si j  k  L k (t i j )    1 si j  k

 P( t i  j )  f i  j

k 0



Le polynôme P* s’exprime avec les polynômes de Lagrange L* sur K+2 points (ti-K à ti+1). K

Polynômes de Lagrange :

Polynôme P*(t) :

L*k ( t )



P * (t) 

t

t  t i j

j 1 i  k j k K

f

 t i j

* ik L k (t)

0 si j  k  L*k ( t i  j )    1 si j  k  P * (t i j )  f i j

k  1

1587

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Max CERF 2018

Techniques d’optimisation 5.4.2 Adams

Intégration du polynôme • On obtient la valeur de xi+1 à la date ti+1 en intégrant le polynôme d’interpolation P ou P*. •

Pour la méthode d’Adams-Bashforth à K+1 pas (notée ABK+1) t i1

x i 1  x i 

 P(t)dt

K

 xi  hi

ti



 f

k ik

k 0

1 avec les coefficients k :  k  hi

t i1

L

k ( t )dt

ti

Pour la méthode d’Adams-Moulton à K+1 pas (notée AMK+1) t i1

x i 1  x i 

 ti

P * ( t )dt  x i 

K



hi *k f i  k k  1

K

 xi  hi

On obtient une équation non linéaire en xi+1 : x i 1 

 f

* k ik

 h i*1f i 1

k 0

K

h i*1f ( x i 1 , t i 1 )

Les coefficients *k sont associés aux polynômes de Lagrange L* :

 xi  hi *k 

1 hi

 f

* k ik

k 0 t i1 L*k ( t )dt

 ti

1588

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Adams Ordre et stabilité • Méthode d’Adams-Bashforth ABK+1 - La méthode est explicite d’ordre K+1. - La méthode est stable pour une fonction f lipschitzienne de constante L. K

Constante de stabilité :

Se

bLT

avec b 



k

et T  t f  t 0

k 0

 stabilité faible si le nombre pas K augmente (car b et S deviennent grands) •

Méthode d’Adams-Moulton AMK+1 - La méthode est implicite d’ordre K+2. - La méthode est stable pour une fonction f lipschitzienne de constante L. K

Constante de stabilité : S *  e

b*LT

avec b * 



* k

et T  t f  t 0

k  1

 stabilité meilleure que la méthode ABK+1 (car b* < b)

1589

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Adams Implémentation • Initialisation Pour appliquer une méthode d’Adams à K+1 pas, il faut disposer des K+1 pas précédents. Une méthode à pas simple doit être utilisée pour les K+1 premiers pas. On choisit en général une méthode de Runge-Kutta de même ordre avec un pas petit. •

Itérations Une méthode d’Adams-Moulton nécessite de résoudre l’équation non linéaire en xi+1. K

x i 1 

h i*1f ( x i 1 , t i 1 )

 xi  hi

 f

* k ik

k 0

On peut résoudre cette équation par une méthode de Newton ou de point fixe. K

- Initialisation :



( 0)

 xi  hi

 f

* k ik

(ou (0) donné par la méthode ABK+1 avec k)

k 0

- Itérations :



( n 1)

K

 xi  hi

 f

* k ik

 h i*1f ( ( n ) , t i 1 )

k 0

Si le pas hi est suffisamment petit, la fonction est contractante et les itérations convergent.

1590

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Max CERF 2018

Techniques d’optimisation 5.4.2 Adams

Méthode PECE • Une méthode d’Adams-Moulton définit implicitement xi+1 comme solution de l’équation K

x i 1 

h i*1f ( x i 1 , t i 1 )

 xi  hi

 f

* k ik

k 0

Cette équation dépend des K+1 valeurs précédentes de f. •

Une méthode PECE consiste à résoudre cette équation en 4 étapes. -

Prédiction de xi+1 par une méthode explicite Evaluation de f(i+1,ti+1) Correction de i+1 par la formule d’Adams Evaluation de f(xi+1,ti+1)

   

i+1 K i+1 x i 1  x i  h i *k f i  k  h i*1i 1 k 0 fi+1





Avec un prédicteur d’ordre K+1 (par exemple ABK+1), les propriétés de AMK+1 sont conservées. La méthode PECE est d’ordre K+2 et stable pour une fonction f lipschitzienne.



La méthode PEC consiste à utiliser i+1 sans réévaluer fi+1 pour gagner en temps de calcul. L’ordre reste K+2, la stabilité est légèrement inférieure à la méthode PECE.

1591

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Méthodes à 1 et 2 pas Méthode d’Adams-Bashforth • Méthode AB1 à 1 pas



Le polynôme d’interpolation est constant :

P( t )  f i

On obtient la méthode d’Euler :

x i 1  x i  h i f i

Méthode AB2 à 2 pas Le polynôme d’interpolation est affine : Il passe par (ti-1,fi-1) et (ti,fi) .

P( t )  f i 

f i  f i 1 (t  t i ) t i  t i 1

t i1

L’intégrale sur [ti , ti+1] vaut : On obtient l’expression de xi+1 :

  h P( t )dt  h i f i  i (f i  f i 1 ) 2h i 1   ti



  h x i 1  x i  h i f i  i (f i  f i 1 ) 2h i 1   3f  f  x i 1  x i  h i i 1 si le pas h est constant 2

1592

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Méthodes à 1 et 2 pas Méthode d’Adams-Moulton • Méthode AM1 à 1 pas Le polynôme d’interpolation est affine : Il passe par (ti,fi) et (ti+1,fi+1) .

P * (t)  f i 

f i 1  f i (t  t i ) t i 1  t i

t i1



L’intégrale sur [ti , ti+1] vaut :

P * ( t )dt  h i

ti

On obtient la méthode de Crank-Nicolson : (ou méthode des trapèzes)



L’équation à résoudre pour obtenir xi+1 est :

f i  f i 1 2

x i 1  x i  h i

f i  f i 1 2

1 1 x i 1  h i f ( x i 1 , t i 1 )  x i  h i f i 2 2

On peut appliquer une méthode PECE avec comme prédicteur AB1 (= Euler) d’ordre 1. L’algorithme est alors identique à la méthode de Heun. - Prédiction (Euler) :  i 1  x i  h i f i - Correction :

x i 1  x i 

 Evaluation : i 1  f ( i 1 , t i 1 )

1 1 h i f i  h i i 1 2 2

1593

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Méthodes à 1 et 2 pas Méthode d’Adams-Moulton • Méthode AM2 à 2 pas Le polynôme d’interpolation est de degré 2 et passe par (ti-1,fi-1), (ti,fi) et (ti+1,fi+1) .

P * ( t )  f i 1

( t  t i 1 )( t  t i ) ( t  t i 1 )( t  t i 1 ) ( t  t i )( t  t i 1 )  fi  f i 1 h i (h i 1  h i ) h i1h i h i1 (h i 1  h i )

On obtient en intégrant P*(t) sur [ti , ti+1] :

x i 1

3h i 1  2h i 3h i 1  h i h i2  xi  hi f i 1  h i fi  h i f i 1 6(h i 1  h i ) 6h i 1 6h i 1 (h i 1  h i )

Si le pas h est constant : •

8 1  5  x i 1  x i  h i  f i 1  fi  f i 1  12 12  12 

1 Avec un pas constant, les coefficients  k  h

ti h

L

k ( t )dt

sont identiques à chaque pas.

ti

On peut écrire directement les formules donnant xi+1 en fonction du nombre de pas K.

1594

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Méthodes à pas constant Formules d’Adams à pas constant h • Méthodes d’Adams-Bashforth



 Euler explicite K  1  x i 1  x i  hf i 3f  f K  2  x i 1  x i  h i i 1 2 23f i 16 f i 1  5f i 2 K  3  x i 1  x i  h 12 55f i  59 f i 1  37 f i 2  9 f i 3 K  4  x i 1  x i  h 24 Méthodes d’Adams-Moulton  Euler implicite K  0  x i 1  x i  hf i 1 f f K  1  x i 1  x i  h i1 i  Crank-Nicolson (ou trapèzes) 2 5f  8f i  f i 1 K  2  x i 1  x i  h i1 12 9 f  19 f i  5f i 1  f i 2 K  3  x i 1  x i  h i1 24 251f i1  646f i  264f i 1  106f i 2  19 f i 3 K  4  x i 1  x i  h 720

1595

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation

Techniques d’optimisation

Max CERF 2018

5.4.2 Autres méthodes Méthodes de Nyström et Milne-Simpson • Ces méthodes à pas multiples appliquent le même principe que les méthodes d’Adams. On suppose connue la solution aux K+1 dates : ti-K < ti-K+1 < … < ti-1 < ti  valeurs de x : xi-K , xi-K+1 , … , xi-1 , xi  valeurs de f : fi-K , fi-K+1 , … , fi-1 , fi La solution xi+1 est calculée à partir de xi-1 (au lieu de xi pour les méthodes d’Adams). t i1

x i 1  x i 1 

 f (x, t)dt

en remplaçant f par son polynôme d’interpolation P ou P* .

t i1



Nyström (explicite) :

K  1, 2  x i 1  x i 1  2hf i  point milieu 7 f  2 f i 1  f i 2 K 3  x i 1  x i1  h i 3



Milne-Simpson (implicite) :

K0 K 1 K 2

 x i 1  x i 1  2hf i 1  x i 1  x i 1  2hf i f  4 f i 1  f i 2  x i 1  x i1  h i 3

1596

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation

Techniques d’optimisation

Max CERF 2018

5.4.3 Collocation  Principe  Points de collocation

 Collocation orthogonale  Collocation de degré 3  Collocation de degré 5  Lien avec Runge-Kutta  Collocation globale  Méthode pseudospectrale

1597

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation

Max CERF 2018

Techniques d’optimisation 5.4.3 Collocation

Principe • On cherche une solution approchée d’une équation différentielle du 1er ordre.

x ( t )  f x ( t ), t  , t 0  t  t f x(t 0 )  x 0 •

Les méthodes de collocation construisent une solution polynomiale par morceaux. - L’intervalle [t0 , tf] est divisé en N segments : t0 < t1 < t2 < … < ti < ti+1 < … < tN = tf - La solution sur chaque segment [ti , ti+1] est approchée par un polynôme de degré K.

( t )  a 0  a 1t  a 2 t 2    a K t K , t i  t  t i 1 •

Il faut déterminer les K+1 coefficients a0 , a1 ,  , aK sur le segment [ti , ti+1] pour que le polynôme soit « proche » de la solution exacte de l’équation différentielle. - On choisit K dates dans [ti , ti+1] : - On impose les K+1 conditions :

ti  1 < … < K  ti+1

 points de collocation

( t i )  x ( t i )  valeur initiale  ( k )  f ( k ,  k ) , k  1 à K  valeurs des dérivées

Le polynôme (t) vérifie ainsi la condition différentielle x  f ( x, t ) aux dates k.

1598

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation

Max CERF 2018

Techniques d’optimisation 5.4.3 Collocation

Principe • Solution approchée sur [ti , ti+1] : ( t )  a 0  a 1t  a 2 t 2    a K t K •

Conditions de collocation :

( t i )  x ( t i )  valeur initiale  ( k )  f ( k ,  k ) , k  1 à K  valeurs des dérivées

x (t)

x(ti) ti valeur initiale

1

k

k+1

points de collocation

K-1

ti+1

t

1599

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation

Techniques d’optimisation

Max CERF 2018

5.4.3 Collocation Points de collocation • La solution sur chaque segment [ti , ti+1] est approchée par un polynôme de degré K.

( t )  a 0  a 1 t  a 2 t 2    a K t K •

Les K dates de collocation sont choisies librement dans l’intervalle [ti , ti+1]. ti  1 < … < K  ti+1 Les conditions de collocation forment un système non linéaire de dimension K+1 dont les inconnues sont les K+1 coefficients a0 , a1 ,  , aK du polynôme de collocation

( t i )  x ( t i )  ( k )  f ( k ,  k ) , k  1 à K •

 conditions de collocation

Les dates ti et ti+1 peuvent être prises ou non comme dates de collocation. - méthode de Gauss  ne prend ni ti ni ti+1 : 1 > ti et K < ti+1 - méthode de Radau  prend ti ou ti+1 : 1 = ti ou K = ti+1 - méthode de Lobatto  prend ti et ti+1 : 1 = ti et K = ti+1

1600

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation

Techniques d’optimisation

Max CERF 2018

5.4.3 Collocation Points de collocation • Le polynôme de collocation (t) s’exprime avec les polynômes d’interpolation de Lagrange. K

Polynômes de Lagrange :

L j (t) 

t  k  j  k



k 0 k j K

Polynôme (t) :

( t ) 

  L (t) j

j

0 si k  j  L j ( k )    1 si k  j

 (  k )   k

j 0



Les inconnues sont les valeurs k = (k) prises par le polynôme aux dates de collocation k . Les conditions de collocation  ( k )  f ( k ,  k ) se mettent sous la forme K

  L ( j

j

k)

 f ( k ,  k ) , k  1 à K

 système non linéaire à K inconnues k

j 0



Les dates de collocation k peuvent être choisies de différentes façons. - collocation standard  dates équidistantes dans l’intervalle [ti , ti+1] - collocation orthogonale  dates = racines d’un polynôme d’une famille orthogonale

1601

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation

Max CERF 2018

Techniques d’optimisation 5.4.3 Collocation orthogonale

Points de collocation • Une collocation orthogonale consiste à prendre comme dates de collocation k les racines d’un polynôme d’une famille de polynômes orthogonaux (Legendre, Tchebychev). Le choix de points orthogonaux augmente la précision des formules de quadrature.



Exemples avec les polynômes de Legendre PN de degré N définis sur [1 , +1]. On peut choisir les points de - Legendre-Gauss - Legendre-Gauss-Radau - Legendre-Gauss-Lobatto

 k = racines de PN  k = racines de PN1 + PN  k = racines de P N en ajoutant 0 = 1 , N = +1

 N points  N points  N+1 points N

Le polynôme de collocation () sur l’intervalle [1 , +1] est :

() 

  L () j

j

j 0 ou 1

en utilisant les polynômes de Lagrange associés aux dates k .

On se ramène aux dates de l’intervalle d’intégration [ti , ti+1] par :

t  ti  1  t i 1  t i 2

1602

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation

Techniques d’optimisation

Max CERF 2018

5.4.3 Collocation de degré 3 Polynôme de degré 3 • On utilise fréquemment des polynômes de collocation de degré 3.

( t )  a 0  a 1t  a 2 t 2  a 3 t 3 sur [ t i , t i 1 ] •

On se ramène à l’intervalle [0 , 1] par changement de variable sur t.

(s)   0  1s   2s 2   3s 3 sur [0 , 1] •

t  ti t i 1  t i

La dérivée de  par rapport à s est notée ’ .

'  •

avec s 

d d dt  ds dt ds

d dt avec    f (, t ) et  t i 1  t i  T noté dt ds

Les conditions de collocation en variable s sur l’intervalle [0 , 1] sont de la forme

' (s)  1  2 2s  3 3s 2  T f (, t ) Les inconnues sont les 4 coefficients (0, 1, 2, 3) du polynôme de collocation. Pour déterminer ces 4 inconnues, on choisit 3 points de collocation (s1, s2, s3).

1603

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation

Techniques d’optimisation

Max CERF 2018

5.4.3 Collocation de degré 3 Points de collocation • Le choix standard est de prendre des points de collocation équidistants. - s1 = 0 (point initial du segment)  noté 0 associé à la date t0 - s2 = ½ (point milieu du segment)  noté c associé à la date tc - s3 = 1 (point final du segment)  noté 1 associé à la date t1 •



Les 4 conditions de collocation sont :

 0  x 0 '0  T f ( 0 , t 0 ) ()   0  1   2  2   3  3 '  T f ( , t ) avec  2 c c ' ()  1  2 2   3 3   c '1  T f (1 , t1 )

On obtient le système d’équations :

 0  x0   T f ( 0 , t 0 ) 1  3 1 1 1         T f        , t  2 3 0 1 2 3 c  1 4 2 4 8    1  2 2  3 3  T f  0  1   2   3 , t1 

En pratique, on ne résout pas directement ce système non linéaire en (0, 1, 2, 3). On formule un système réduit avec comme inconnues les valeurs 0 et 1.

1604

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation

Max CERF 2018

Techniques d’optimisation 5.4.3 Collocation de degré 3

Formulation réduite • Pour réduire le système on exprime les coefficients (0,1,2,3) en fonction de  0 , 1 , '0 , '1 .

 0   0 '0  1          0 1 2 3  1 '1  1  2 2  3 3 •

 0  ' 0   3 0  2'0  31  '1  2 0  '0  21  '1

Les conditions de collocation en 0 et 1 permettent d’exprimer '0 et '1 en fonction de 0 et 1 .

'0  T  0  T f ( 0 , t 0 )  '1  T  1  T f (1 , t1 ) •

 0 1     2  3

 0 1    2  3

 0  f0   3 0  31  2f 0  f1  2 0  21  f 0  f1

en notant

f 0  T f ( 0 , t 0 ) f  T f ( , t ) 1 1 1

Les coefficients (0, 1, 2, 3) ne dépendent que des valeurs 0 et 1 . - La valeur initiale est connue : 0 = x0 - La valeur finale inconnue 1 doit permettre de respecter la condition de collocation en c . On se ramène ainsi à une équation à une inconnue.

1605

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation

Techniques d’optimisation

Max CERF 2018

5.4.3 Collocation de degré 3 Formulation réduite • La condition de collocation au milieu du segment (c = ½) se met sous la forme

'c  T  c  T f ( c , t c )



On remplace les coefficients (0, 1, 2, 3) exprimés en fonction de 0 et 1 .

 0 1   2  3 •

avec

1 1 1          3 c 0 1 2  2 4 8  'c  1   2  3  3  4

 0  f0   3 0  31  2f 0  f1  2 0  21  f 0  f1

1 1    (    )  ( f 0  f1 ) 0 1  c 2 8   'c   3 ( 0  1 )  1 (f 0  f1 )  2 4

On obtient l’équation à résoudre pour trouver 1 (appelée équation d’écart).

1 1 1  3 T f  ( 0  1 )  (f 0  f1 ) , t c   ( 0  1 )  (f 0  f1 )  0 8 4 2  2

1606

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation

Max CERF 2018

Techniques d’optimisation 5.4.3 Collocation de degré 3

Formulation réduite

 0  x 0 ,  0  f ( 0 , t 0 )  1  x1 ,  1  f (1 , t1 )

(0,1,2,3) en fonction de x0,x1

 x0 connu  x1 inconnu

1 inconnue

 c  f ( c , t c )

1 équation d’écart

x x1

x0 t0

tc

t1

t

1607

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation

Techniques d’optimisation

Max CERF 2018

5.4.3 Exemple Collocation de degré 3 •

Equation différentielle : x  x  f ( x, t )  x Condition initiale : x(t0=0) = 1 On cherche la valeur : x(t1=1)  T = t 1  t0 = 1



Equation d’écart :

f ( x, t )  x

1 1 1  3 T f  ( 0  1 )  (f 0  f1 ) , t c   ( 0  1 )  (f 0  f1 )  0 8 4 2  2 1 1 3 1  ( 0  1 )  (f 0  f1 )  ( 0  1 )  (f 0  f1 )  0 2 8 2 4 f  T f ( 0 , t 0 )  T  0   0  16 0  81  3f 0  f1  0 avec  0 f1  T f (1 , t1 )  T 1  1  19 0  71  0

 1 

x(t1=1)  2,71429

19  0  2.71429 7

(valeur exacte = e1  2,71828)



On obtient la valeur approchée :



Le polynôme de collocation est : ( t )  1  t  0.42857 t 2  0.28571 t 3

1608

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation

Max CERF 2018

Techniques d’optimisation 5.4.3 Collocation de degré 5

Polynôme de degré 5 • Une solution plus précise peut être obtenue avec des polynômes de degré 5.

(s)   0  1s   2s 2   3s 3   4s 4   5s 5 sur [0 , 1] •

On utilise 5 points de collocation (s1, s2, s3, s4, s5). Pour minimiser l’erreur d’interpolation, on choisit les points orthogonaux de Gauss-Lobatto.

s1   0  0 noté

1  1 noté 2  1 s3  c  noté 2 1  s 4  g 2  1 noté 2  s 2   g1 

s 5  1  1 noté

 date t0

3   0.173 7 

 date tg1  date tc

3   0.827 7 

 date tg2

t0

tg1

tc

tg2 t1

 date t1

1609

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation

Techniques d’optimisation

Max CERF 2018

5.4.3 Collocation de degré 5 Formulation réduite • Les inconnues sont les 6 coefficients du polynôme (0, 1. 2 , 4 , 5). On réduit le système en considérant comme inconnues les valeurs 0 , c et 1.

(s)   0  1s   2s 2   3s 3   4s 4   5s 5 ' (s)  1  2 2s  3 3s 2  4 4s 3  5 5s 4

 0 '0   1 '   1   c  'c  •

 0  1 avec   0  1   2   3   4   5 avec  1  2 2  3 3  4 4  5 5 1 1 1 1 1   0  1   2   3   4   5 2 4 8 16 32 3 1 5 avec  1   2   3   4   5 4 2 16

'0  T  0  T f ( 0 , t 0 ) '1  T  1  T f (1 , t1 )

'c  T  c  T f ( c , t c )

Ce système linéaire permet d’exprimer (0, 1. 2 , 4 , 5) en fonction des valeurs 0 , c et 1. - La valeur initiale est connue : 0 = x0 - Les valeurs c et 1 doivent permettre de respecter les conditions de collocation en g1 en g2 . On se ramène ainsi à deux équations à deux inconnues.

1610

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation

Max CERF 2018

Techniques d’optimisation 5.4.3 Collocation de degré 5

Formulation réduite

 0  x 0 ,  0  f ( 0 , t 0 )  1  x1 ,  1  f (1 , t1 )   x ,   f ( , t ) c c c c  c

 x0 connu

(0,1,2,3,4,5) en fonction de x0,x1,xc x

 x1 inconnu  xc inconnu

2 inconnues

 g1  f ( g1 , t g1 )  g 2  f ( g 2 , t g 2 )

2 équations d’écart

xc x1

x0 t0

tg1

tc

tg2

t1

t

1611

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation

Techniques d’optimisation

Max CERF 2018

5.4.3 Lien avec Runge-Kutta Formule de collocation • Les conditions de collocation pour un polynôme (t) de degré K sur [ti , ti+1] sont



 valeur initiale ( t i )  x ( t i )  ( )  f ( ,  )  f  valeurs des dérivées aux dates k k k k , k 1 à K  k noté La dérivée  ( t ) est un polynôme de degré K1 prenant les valeurs fk aux dates k , k=1 à K . On peut l’exprimer avec les polynômes d’interpolation de Lagrange Lj(t). K

Polynômes de Lagrange : L j ( t ) 

 k 1 k j

Polynôme  ( t ) :

 ( t ) 

t  k  j  k

0 si k  j  L j ( k )    1 si k  j

K

 f L (t) j

  ( k )  f k

j

j1



En intégrant sur [ti , k] :

k

K

(  k )  ( t i ) 

 f  L (t)dt j

j1

j

avec ( t i )  x ( t i )

ti

On obtient les valeurs du polynôme (t) aux dates k , k=1 à K et à ti+1 (même formule).

1612

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation

Max CERF 2018

Techniques d’optimisation 5.4.3 Lien avec Runge-Kutta

Formule de Runge-Kutta • Une méthode de Runge-Kutta à K étapes est définie par les coefficients k , k , kj . K

K

x i 1  x i  h i

  f ( k

k , k )

avec  k  x i  h i

kjf ( j ,  j )

, k 1 à K

j1

k 1





1 k  En choisissant :  k  t 0   k h i hi (dates de collocation)

t i1

L

k ( t )dt

et  kj

ti

1  hi

k

 L (t)dt j

ti

on retrouve les valeurs du polynôme (t) aux dates k , k=1 à K et à la date ti+1 (page précédente). t i1

K

( t i 1 )  x i 

 f  L (t)dt j

j1



j

ti

k

K

et ( k )  x i 

 f  L (t)dt j

j1

j

avec f j  f ( j ,  j )

ti

Une méthode de collocation de degré K peut donc être considérée comme une méthode particulière de Runge-Kutta à K étapes (méthode implicite).

La réciproque est fausse : les méthodes de Runge-Kutta ne sont pas toutes équivalentes à des méthodes de collocation.

1613

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation

Techniques d’optimisation

Max CERF 2018

5.4.3 Collocation globale Collocation locale ou globale • Une méthode de collocation consiste à - découper l’intervalle [t0 , tf] en N intervalles [ti , ti+1] - construire sur chaque intervalle un polynôme de collocation de degré K - choisir les points k auxquels sont imposés les conditions de collocation La précision de la solution dépend :

- du nombre N d’intervalles - du degré K des polynômes - du positionnement des points de collocation



Méthode de collocation locale : Méthode de collocation globale :

degré fixé  nombre de points variable points fixés  degré du polynôme variable



Une méthode pseudospectrale est une méthode de collocation globale orthogonale.  différents choix possibles des points et du polynôme de collocation Le polynôme de collocation est défini sur l’intervalle [1 , +1].

On se ramène à l’intervalle d’intégration [t0 , tf] par :

t  t0  1  tf  t0 2

1614

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation

Techniques d’optimisation

Max CERF 2018

5.4.3 Méthode pseudospectrale Méthode de Legendre-Gauss-Lobatto (LGL) • Points de collocation = points de Gauss-Lobatto avec les extrémités 1 et +1 0 = 1 , 1 ,  , N1 , N = +1



avec (1 ,  , N1) = racines de P N

Polynôme de collocation : exprimé avec les polynômes de Lagrange Lj (associés à j , j=0 à N) N

() 

  L () j

j

 degré N

j 0



Conditions de collocation

 () 

N

  L () j

j

 degré N1

j 0

 ( k )  f ( k ),  k  , k  0 à N •

 N+1 conditions aux points (0 ,  , N)

On obtient un système de N+1 équations à N+1 inconnues (0 ,  , N) . L’état final associé à N = +1 s’obtient en résolvant le système.

1615

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation

Techniques d’optimisation

Max CERF 2018

5.4.3 Méthode pseudospectrale Méthode de Legendre-Gauss (LG) • Points de collocation = points de Legendre-Gauss avec l’extrémité initiale 1 0 = 1 , 1 ,  , N < +1



avec (1 ,  , N)

= racines de PN

Polynôme de collocation : exprimé avec les polynômes de Lagrange Lj (associés à j , j=0 à N) N

() 

  L () j

j

 degré N

j 0



Conditions de collocation

 () 

N

  L () j

j

 degré N1

j 0

 ( k )  f ( k ),  k  , k  1 à N •

 N conditions aux points (1 ,  , N)

On obtient un système de N équations à N inconnues (1 ,  , N) avec 0 = x(t0). L’état final (N+1 = +1) est calculé par la quadrature associée aux points de Legendre-Gauss.

1616

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation

Max CERF 2018

Techniques d’optimisation 5.4.3 Méthode pseudospectrale

Méthode de Legendre-Gauss-Radau (LGR) • Points de collocation = points de Legendre-Gauss-Radau avec l’extrémité initiale 1 0 = 1 , 1 ,  , N < +1



avec (1 ,  , N)

= racines de PN-1 + PN

L’extrémité finale (notée N+1 = +1) ne fait pas partie des points de collocation. Cette méthode s’applique à des problèmes en temps infini : tf  + Le polynôme de collocation est construit sur l’intervalle [1 , +1]. On se ramène à l’intervalle d’intégration [0 , + ] par : t 

1  1  N ou N 1



Le polynôme de collocation est de degré N ou N+1 :

() 

  L () j

j

j 0

avec N+1 conditions de collocation aux points (0 ,  , N).



Le coût final (associé à N+1 = +1) est calculé par quadrature sur les points (0 ,  , N).

1617

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes

Techniques d’optimisation

Max CERF 2018

5.4.4 Méthodes directes  Discrétisation  Conditions d’optimalité

 Collocation  Méthode variationnelle

1618

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes

Max CERF 2018

Techniques d’optimisation 5.4.4 Méthodes directes

Discrétisation • On considère un problème de contrôle à temps final fixé et coût final. (on peut toujours se ramener à cette formulation par changement de variables).

Problème OCP : •

x  f ( x, u, t ) , x(t0) donné min J  ( x f ) avec  u ( x f )  0

Une méthode directe consiste à passer à un problème d’optimisation de dimension finie en discrétisant l’état x et la commande u sur N intervalles : t0 < t1 < … < ti < … < tN Discrétisation de l’équation d’état :  N contraintes :

Problème NLP :

min F  ( x N ) ui ,xi

x i 

x i 1  x i  f (x i , u i , t i ) hi

(différence finie avant) avec hi = ti+1  ti

C i (u i , x i , x i 1 )  x i 1  x i  h i f ( x i , u i , t i )  0

C (u , x , x )  0 , i  0 à N  1 sous  i i i i 1 ( x N )  0

1619

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes

Techniques d’optimisation

Max CERF 2018

5.4.4 Méthodes directes Conditions d’optimalité • Les conditions d’optimalité du problème OCP sont les conditions du PMP. Les conditions d’optimalité du problème NLP sont les conditions KKT. La comparaison de ces conditions d’optimalité donne des relations adjoints – multiplicateurs. •

Problème OCP :

x  f ( x, u, t ) , x(t0) donné min J  ( x f ) avec  u ( x f )  0

Hamiltonien :

H( x, u, p, t )  p T f ( x, u, t )

Conditions PMP :

x  H p p   H x  H u  0 ( x f )  0 p      xf xf  f



avec adjoint p

x  f p   f T p x  T f u p  0 ( x f )  0 p      xf xf  f

Les multiplicateurs  sont associés aux contraintes finales  .

1620

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes

Max CERF 2018

Techniques d’optimisation 5.4.4 Méthodes directes

Conditions d’optimalité •

min F  ( x N )

Problème NLP :

ui ,xi

C (u , x , x )  0 , i  0 à N  1 sous  i i i i 1 ( x N )  0 N 1

L(u i , x i ,  i , )  ( x N ) 

Lagrangien :

  C (u , x , x T i

i

i

i

i 1 )  

T

( x N )

i 0

avec C i (u i , x i , x i 1 )  x i 1  x i  h i f ( x i , u i , t i ) , i  1 à N  1  multiplicateurs i associés aux contraintes Ci multiplicateurs  associés aux contraintes 

Conditions KKT :

f uT ( x i , u i , t i ) i  0  u L  0   i T  i 1   i  h i f x ( x i , u i , t i ) i  0  x i L  0   x N L  0   x ( x N )   x ( x N )   N 1  0  L  0 C (u , x , x )  0 i   i i i i 1   L  0 ( x N )  0

pour i = 1 à N-1

1621

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes

Techniques d’optimisation

Max CERF 2018

5.4.4 Méthodes directes Comparaison des conditions d’optimalité • On exprime la limite des conditions KKT lorsque le pas de discrétisation tend vers 0. Les multiplicateurs (i) i=1 à N-1 deviennent une fonction (t) .

f uT ( x i , u i , t i ) i  0  T  i 1   i  h i f x ( x i , u i , t i ) i  0   x ( x N )   x ( x N )   N 1  0 C (u , x , x )  0  i i i i 1  ( x N )  0



h0  i

On retrouve les conditions du PMP avec  = p : Conventions de signe : L = f + Tc H = L+ pTf

f uT ( x, u, t )  0  T    f x ( x, u, t )  ( t f )    x ( x f )   x ( x f ) x  f ( x, u, t )  ( x f )  0

x  f p   f T p x  T f u p  0 ( x f )  0 p      xf xf  f

Les multiplicateurs i sont des approximations discrètes de l’adjoint p aux dates ti.

1622

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes

Techniques d’optimisation

Max CERF 2018

5.4.4 Méthodes directes Collocation • Le problème de contrôle comporte l’équation différentielle : x  f ( x, u, t ) , t  [ t 0 , t f ] Une méthode de propagation est numériquement sensible pour des problèmes à temps long car une variation de commande en début de trajectoire a un effet important sur l’état final. •

Une méthode de collocation permet de découpler les variations de commande et d’état. - L’intervalle [t0 , tf] est divisé en N segments : t0 < t1 < … < ti < ti+1 < … < tN = tf - L’état est approché par un polynôme sur chaque segment avec des conditions de collocation



Le problème d’optimisation de dimension finie est de la forme

(u1 ,, u N , x1 ,, x N )  0 min (u1 ,, u N , x1 ,, x N ) sous  ui ,xi C i (u i , u i 1 , x i , x i 1 )  0 , i  0 à N  1 Les conditions de collocation Ci ne dépendent que des variables du segment [ti , ti+1]  matrice jacobienne creuse



La dimension du problème dépend du maillage (à adapter selon l’erreur de discrétisation). Cette formulation permet la prise en compte de discontinuités (état, dynamique).

1623

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes

Techniques d’optimisation

Max CERF 2018

5.4.4 Méthode variationnelle Problème de contrôle à temps final libre avec contraintes finales tf

min J  u,t f



t0

L( x, u, t )dt  x ( t f ), t f 

avec x  f ( x, u, t ) , x  R n , u  R m x ( t f ), t f   0 ,   R q

La méthode variationnelle est une méthode directe . On cherche à minimiser J sous les contraintes  en utilisant les variations premières J et . •

Etape 1 On part d’une solution initiale : temps final tf , commande u(t) , t[t0 , tf] Cette solution n’est pas optimale et ne respecte pas les contraintes finales.



Etape 2 On exprime les variations J et  en fonction des variations tf et u(t) , t[t0 , tf] . Ces variations s’expriment avec les fonctions d’influence (adjoints associés à J et ).



Etape 3 On calcule des corrections tf et u réduisant le coût et rapprochant d’une solution admissible. La solution est mise à jour et on reprend à l’étape 1.

1624

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes

Techniques d’optimisation

Max CERF 2018

5.4.4 Méthode variationnelle Variations de J et  • La variation du coût J s’exprime en fonction de son adjoint p0 et son hamiltonien H0. tf

J  [L   ]t f t f 



H T0 u udt

t0



p   H 0x avec  0 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

 j  [ j ]t f t f 



t0

H Tju udt

  H jx p avec  j p j ( t f )   jx ( t f )

et H j ( x, u, p j , t )  p Tj f ( x, u, t ) •

Le calcul de ces variations nécessite une intégration directe et une intégration rebours. - L’intégration directe de l’état x avec la commande u donne l’état final x(tf) . - Les adjoints p0 et (pj)j=1 à q sont évalués à l’instant final tf par les dérivées x et x . - L’intégration rebours des adjoints permet d’exprimer J et  en fonction de u et tf .

1625

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes

Max CERF 2018

Techniques d’optimisation 5.4.4 Méthode variationnelle

Forme matricielle • On note : P la matrice composée des adjoints (pj)j=1 à q associés aux contraintes G le vecteur des hamiltoniens (Hj)j=1 à q correspondants p1

  P  (p1 ,, p q )     •

pq

 

 

   R nq , 

 H1    G      Rq     Hq 

  G x    

H qx

 

 

   R nq 

Les équations des adjoints aux contraintes se mettent sous forme matricielle.

H j ( x, u, p j , t )  p Tj f ( x, u, t )  G  P t f   H jx  P   G x   f x P p j p ( t )   ( t )  P( t f )   x ( t f ) jx f  j f •

H1x

 f j avec f x    x i

f1x

         

f nx

 

 

   R nn 

On obtient l’expression matricielle de la variation des contraintes  tf

tf

0

0

H1u

   ]t t f  G Tu udt avec G u    j  [ j ]t f t f  H Tju udt    [ f   t t





H qu

 

 

   R mq 

1626

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes

Max CERF 2018

Techniques d’optimisation 5.4.4 Méthode variationnelle

Minimisation locale • La solution initiale (u,tf) n’est pas optimale et ne respecte pas les contraintes finales : f  0 On cherche des variations u(t) , tf réduisant le coût et rapprochant d’une solution admissible.

Le problème de minimisation locale à résoudre est : min J sous     f u ,t f



Ce problème n’a pas de solution, car J et  sont linéaires en fonction de u(t) et tf . Il faut : - soit exprimer la variation seconde de J (méthode variationnelle d’ordre 2) - soit convexifier le problème en ajoutant des termes quadratiques en u(t) et tf .



Le problème convexifié est :

min J c sous     f

u ,t f

avec J c

tf



1 1  J  b(t f ) 2  u T Wu dt def 2 2 t0

Le réel positif b et la matrice symétrique positive WRmm sont arbitraires. Les valeurs de b et W permettent de contrôler l’amplitude des variations u(t) et tf .

1627

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes

Max CERF 2018

Techniques d’optimisation 5.4.4 Méthode variationnelle

Minimisation locale • Le problème convexifié est un problème quadratique linéaire en u(t) et tf . tf

min J c 

u ,t f



1 1 b(t f ) 2  [L   ]t f t f  u T Wu dt  2 2 tf

sous   [ ]t f t f 



t0

G Tu udt    f

tf



t0

 pour annuler les contraintes 

t0



H T0 u udt

 1          Rq    q 

On associe un multiplicateur j à chaque contrainte j :

Le coût augmenté est défini par : J a  J c  T (   f ) tf



1 1  ]t t f   J a  b(t f ) 2  [L    T  u T Wudt  f 2 2 t0



Les conditions nécessaires de minimum sont :

Ja = 0 2Ja  0

tf

 H

T 0u



 T G Tu udt  T  f

t0

(variation première nulle) (variation seconde positive)

1628

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes

Max CERF 2018

Techniques d’optimisation 5.4.4 Méthode variationnelle

Minimisation locale • On exprime les variations première et seconde de Ja en fonction des variations de u(t) et tf . tf

1 1  ]t t f   u T W  H T0 u  T G Tu  udt  T  f J a  b(t f ) 2  [L    T  f 2 2  t

 0





 ]t (t f )  J a  bt f  [L    T  f

tf

 u

T



W  H T0 u  T G Tu (u )dt

t0 tf

 2 J a  b (t f ) 2 

 (u)

T

W (u )dt

t0



La variation première Ja s’annule pour : u   W 1 H 0 u  G u  

(W symétrique)

1  ]t t f   [L    T  f b •

La variation seconde 2Ja est positive car b et W sont choisis positifs.

1629

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes

Max CERF 2018

Techniques d’optimisation 5.4.4 Méthode variationnelle

Correction  • Les corrections u et tf produisent des variations  des contraintes. tf

  [ ]t f t f 



G Tu udt

t0

u   W 1 H 0 u  G u   1  ]t t f   [L    T  f b •

   

1     [L    T  ]t f [ ]t f  b

tf

G

T 1 uW

H 0u  G u  dt

t0

La variation des contraintes doit être égale à :     f

On en déduit les multiplicateurs  . tf   1   T T 1    []t f [ ]t f  G u W G u dt  b  t0  



en utilisant

1

 1    [L   ]t f [ ]t f  f  b  

tf



t0

G Tu W 1H 0 u

  dt   

 ] t [  ] t  [  ] t [  T  ] t  [  ] t [  ]Tt  [T  f f f f f f R

Rq

1630

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes

Max CERF 2018

Techniques d’optimisation 5.4.4 Méthode variationnelle

Corrections u et tf • La solution du problème de minimisation locale s’exprime avec les intégrales d’influence. tf

I  



G Tu W 1G u dt , I J 

t0

tf



G Tu W 1H 0 u dt  I TJ , I JJ 

t0

tf



H T0 u W 1H 0 u dt

t0

1

1 1       [ ]t f [ ]Ttf  I     f  [L   ]t f [ ]t f  I J  b b   



Multiplicateurs :



Corrections de u et tf :



Les variations attendues de  et J sont données par

u   W 1 H 0 u  G u   1 t f   [L    T  ]t f b

tf



  [ ]t f t f  G Tu udt t0

tf



1   [L    T  ]t f [ ]t f b



 I J  I  



1 J  [L   ]t f t f  H T0 u udt   [L    T  ]t f [L   ]t f  I JJ  I J  b t0





   f

1631

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes

Max CERF 2018

Techniques d’optimisation 5.4.4 Méthode variationnelle

Réglage des corrections • L’application des corrections u et tf produit des variations réelles Jr et r . Ces variations peuvent différer des variations attendues J et  (évaluées par linéarisation). L’amplitude des corrections u et tf doit être contrôlée pour rester dans le domaine linéaire - en modifiant les pondérations b et W - en visant un rattrapage partiel des contraintes :  = f , 0 <   1 - en appliquant progressivement la correction u : u ,  fonction croissante de t , 0    1 •

La solution optimale est obtenue lorsque : - les corrections u(t) et tf sont nulles. - les variations  et J sont nulles

u  0  H 0 u  G u   0

On retrouve les conditions d’optimalité en posant

 ]t  0 t f  0  [L    T  f

H  H 0  G  L  p T f et p  p 0  P def

def

  0 

1 [L    T  ]t f [ ]t f  (I J  I  )  0 b

J  0 

1  ]t [L   ]t  I JJ  I J   0 [L    T  f f b





1     I  I J 1  I JJ  I J I  I J  0

1632

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes

Max CERF 2018

Techniques d’optimisation 5.4.4 Méthode variationnelle

Algorithme Commande u , tf Intégration directe état x  f ( x, u, t )

Amélioration J ,  ? non Mise à jour W , b , 

Stockage dérivées x(tf) , x(tf) , fx , fu , Lx , Lu , L( t f ) ,  ( t f ) ,  ( t f ) oui

Intégration rebours adjoints

  f x p0 p 0 p ( t )   ( t ) x f  0 f

P   fxP  P ( t f )   x ( t f )

Matrices d’influence I , IJ , IJJ

Corrections u , tf Tests d’arrêt : u=0 , tf =0

1633

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes

Max CERF 2018

Techniques d’optimisation 5.4.4 Exemple

Formulation • On considère une trajectoire à accélération constante dans le plan vertical (x , z) en terre plate. On cherche la trajectoire maximisant la vitesse horizontale finale à altitude et temps fixés. tf

 min J   v x ( t f )  a cos  dt avec z  v  v  a sin   g



t0

0 L   cos 

v  f    a sin   g 

z( t )  z c et  f  v( t f )  0

(notation vz = v)

 z( t )  z c   f   v( t f ) 

La méthode variationnelle est basée sur les adjoints au coût (p0) et aux contraintes (pj). •

Adjoint au coût :



Adjoints aux contraintes :

  H 0x p 0 p ( t )   ( t ) x f  0 f

avec H 0 ( x, u, p 0 , t )  L( x, u, t )  p T0 f ( x, u, t )

  H jx p j T p ( t )   ( t ) avec H j ( x, u, p j , t )  p j f ( x, u, t ) jx f  j f P   Gx   fxP  avec G  P t f matrice P  P ( t f )   x ( t f )

1634

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes

Max CERF 2018

Techniques d’optimisation 5.4.4 Exemple

Adjoints • L’adjoint p0 est lié à l’hamiltonien H0 et au coût final .

H 0  L  p T0 f   cos   p 0 z v  p 0 v (a sin   g)

 0   0  x     0 •

p ( t )  0   0z f p 0 v ( t f )  0

p   0z p 0 v p   0z p 0 v

 0   p 0z

0 0



 0 p0     0

L’adjoint p1 est lié à l’hamiltonien H1 et à la contrainte 1 sur l’altitude. L’adjoint p2 est lié à l’hamiltonien H2 et à la contrainte 2 sur la vitesse.

H j  p Tj f  p jz v  p jv (a sin   g)

p jz  0    p jv   p jz

1  1  z( t f )  z c  1x    0

p  1   1z p1v  t f  t

 2  v( t f )  0

0   2x    1 

p  0   2z p 2 v  1



0  1  P   t  t 1  f 

1635

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes

Max CERF 2018

Techniques d’optimisation 5.4.4 Exemple

Matrices d’influence • Les matrices d’influence sont obtenues à partir des dérivées des hamiltoniens. tf

I   (qq)



G

T 1 u W Gu

tf

dt , I J 

t0

(q1)

G

T 1 u W H 0u

tf

dt  I TJ , I JJ 

t0

(11)

H

T 1 0u W H 0u

dt

t0

H 0  L  p T0 f   cos 

 H 0 u  sin 

v 1 tf  t       G  P t f   1   a sin   g  0

t  t   G Tu  a cos   f  1 

On suppose que la commande initiale (t) est choisie constante (première itération). Les intégrales se calculent explicitement (en prenant W = I).

I 

2 1 2 2 t 2  f  a t f cos   6  3t f

3t f 6

 t  1  , I J  at f sin  cos   f   2 2 

, I JJ  t f sin 2 

1636

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes

Max CERF 2018

Techniques d’optimisation 5.4.4 Exemple

Correction de commande • L’altitude et la vitesse finale pour une commande constante sont 1  v( t f )  (a sin   g) t f  z( t f )  z c   (a sin   g) t f2  z c    f     2 z( t )  1 (a sin   g) t 2  v( t f )    (a sin   g) t f  f   f 2 •

Pour une correction des contraintes  = f , les multiplicateurs sont (à temps final fixé)



1   I   f  I J





 

 12z c     3  2 3 2 a t f cos   6z c t f  [a sin (1  cos )  g]t f  1

On obtient la correction de commande pour la première itération.

u   W 1 H 0 u  G u  

  

6z g  a sin   3 c ( t f  2t ) a cos  at f cos  6z c

En particulier pour g = 0 et  = 0, la commande devient :

( t ) 

Cette commande se rapproche de la solution optimale :

tan ( t )  (1 

at 3f

( t f  2t ) 2t ) tan  0 tf

1637

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Techniques d’optimisation

Max CERF 2018

5.4.5 Méthodes indirectes  Méthode de tir  Dérivées

 Sensibilité  Tir multiple  Méthode de voisinage

1638

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Max CERF 2018

Techniques d’optimisation 5.4.5 Méthode de tir

Problème de contrôle à temps final libre avec 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  R n , u  R m x ( t f ), t f   0 ,   R q

t0

La méthode de tir est une méthode indirecte . On cherche à résoudre les conditions d’optimalité

x0 p0

x  H p ( x, u, p, t )  p   H x ( x, u, p, t ) avec min H  u ( x, p, t )

 système de dimension n + q + 1

xf pf

u

Inconnues p0  n   q tf  1

S(p0,,tf)

Equations ( x f , t f )  0 p f   xf   xf  H f    tf   tf 

 n  q  1

1639

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Max CERF 2018

Techniques d’optimisation 5.4.5 Méthode de tir

Problème aux 2 bouts • Le système non linéaire à résoudre est de la forme S(p0 ,  , tf) = 0

La fonction S est appelée fonction de tir (shooting function). - Les inconnues portent sur des valeurs initiales : p0  problème aux 2 bouts (TBVP) - Les équations portent sur des valeurs finales : xf , pf tf p0 Canon : réglage p0 , tf •

Cible

La méthode de tir (shooting method) consiste à appliquer une méthode de type Newton. Les points critiques sont : - le calcul numérique des dérivées - l’initialisation de l’inconnue p(t0)

1640

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Max CERF 2018

Techniques d’optimisation 5.4.5 Dérivées

Dérivées de la fonction de tir • L’évaluation de la fonction de tir comporte l’intégration d’équations différentielles.

x  z0   0   p0 

z  F(z, t )

contraintes finales

x  zf   f   pf 

 (z f )

p0



Les dérivées de S par rapport à p0 dépendent des dérivées

S(p0)

z f z 0

 matrice nn

Trois méthodes sont possibles pour évaluer la matrice de transition - dérivation externe - dérivation interne - équations variationnelles

z f z 0

1641

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Max CERF 2018

Techniques d’optimisation 5.4.5 Dérivées

Dérivation externe • La dérivation externe consiste à applique un incrément k sur la composante k de z0 . On obtient les dérivées partielles de zf par rapport à z0 en 1+n intégrations successives.

z0

z  F(z, t )

z f (z 0 )

z 0  1

z  F(z, t )

z f (z 0  1 )



z (z   )  z f (z 0 ) z f  f 0 1  (z 0 )1 1

z0  k

z  F(z, t )

z f (z 0   k )



z (z   k )  z f (z 0 ) z f  f 0  (z 0 ) k k

z0  n

z  F(z, t )

z f (z 0   n )



z (z   n )  z f (z 0 ) z f  f 0  (z 0 ) n n



L’équation différentielle est une boîte noire

 implémentation simple



Les 1+n intégrations sont indépendantes

 méthode non consistante si l’intégration est à pas variable

1642

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Max CERF 2018

Techniques d’optimisation 5.4.5 Dérivées

Dérivation interne • La dérivation interne consiste à réaliser simultanément les 1+n intégrations. On propage un vecteur Z de dimension n(1+n) contenant 1+n copies du vecteur z - la copie numéro 0 est la solution nominale initialisée avec z0 - la copie numéro k est la solution perturbée initialisée avec z0+k

 z0    z    0 1   Z0    z0  k        z0  n 

 F(z, t )    F ( z , t )      Z   F(z, t )        F(z, t ) 

 z f (z 0 )    z ( z   )  f 0 1    Zf    z f (z 0   k )        z f (z 0   n ) 



z f  (z 0 ) k

On obtient les dérivées partielles de zf par rapport à z0 en une seule intégration du vecteur Z. •

Le vecteur d’état Z est de dimension n(1+n)

 implémentation à modifier



Les 1+n intégrations sont simultanées

 méthode consistante (même pas de temps)

1643

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Max CERF 2018

Techniques d’optimisation 5.4.5 Dérivées

Equations variationnelles • Les équations variationnelles sont les équations différentielles des écarts.



Solution nominale :

z  F(z, t )

 znom(t)

Solution perturbée :

z  z  F(z  z, t )

 z 

z  Fz z

z f (z 0 )

avec la matrice Fz 

F (z nom , t ) z

k n 1 2 z f Pour z 0   0 , 0 ,  , 1 ,  , 0  , on obtient la dérivée partielle z f   (z 0 ) k  

Les n dérivées partielles sont obtenues en intégrant la matrice Z :



à l’ordre 1

L’intégration des équations variationnelles à partir d’un écart initial z0 donne l’écart final zf .

z 0



F z z

F Z  Z avec Z 0  I z

Cette méthode est plus précise que la dérivation externe ou interne, mais nécessite de calculer la matrice Fz et d’implémenter les équations variationnelles.

1644

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Max CERF 2018

Techniques d’optimisation 5.4.5 Exemple

Dérivation externe / équations variationnelles •



Equation différentielle :

x  x 2

Solution nominale :

x

Dérivation externe :

x  x 

, condition initiale x(t0=0) = x0

x0 x 0 t  1



x 0  x 0 ( x 0  x 0 ) t  1

x 1  x 0 (x 0 t  1) 2

 x 

x 0 (x 0  x 0 )t  1(x 0 t  1)

La dérivée externe donne la dérivée exacte lorsque l’incrément x0 tend vers 0. L’erreur par rapport à la dérivée exacte dépend de l’incrément x0 . •

Equation variationnelle : x  2x nom x

 x  

2x 0 x x 0 t  1

avec x nom 



x0 x 0 t  1

x 1  x 0 (x 0 t  1) 2

L’équation variationnelle donne la dérivée exacte par rapport à la condition initiale.

1645

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Max CERF 2018

Techniques d’optimisation 5.4.5 Dérivées

Paramètres • Le problème de contrôle peut dépendre de paramètres de modèle (notés ) à optimiser. L’équation différentielle est de la forme : z  F(z, , t )

Les dérivées

z f z f s’évaluent par les mêmes méthodes que les dérivées .  z 0

 dérivation externe, dérivation interne ou équations variationnelles Equations variationnelles : z  z  F(z  z,   , t )



Le temps final peut également être traité comme paramètre par changement de variable.



t  t0  ( t  t 0 ) tf  t0



dz 1 dz 1   F(z, , t ) d  dt 

 z 

F F z   z 



à intégrer de =0 à =1

On se ramène à un problème à temps final fixé (f=1) avec le paramètre  à optimiser.

1646

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Techniques d’optimisation

Max CERF 2018

5.4.5 Initialisation Sensibilité • La méthode de tir nécessite d’intégrer un système hamiltonien.

x  H p ( x, u, p, t )  p   H x ( x, u, p, t ) •

avec H( x, u, p, t )  L( x, u, t )  p t f ( x, u, t )

Les écarts x , p à la solution nominale suivent les équations variationnelles.

x  H Tpx x  H Tpp p  f xT x  T T T T p   H xx x  H xp p   f x p  H xx x

pour une commande donnée u(t) , t[t0 , tf]



La stabilité des équations en x et p est déterminée par le signe du terme en fx . - Si fx < 0, l’équation en x est stable, l’équation en p est instable (système dissipatif). - Si fx > 0, l’équation en p est stable, l’équation en x est instable.



Les évolutions de x et de p ne peuvent pas être stables simultanément. Le système hamiltonien est intrinsèquement très sensible à une erreur initiale p(t0).

La méthode de tir est très difficile à initialiser en particulier si le temps final est grand. La convergence peut être numériquement impossible.

1647

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Max CERF 2018

Techniques d’optimisation 5.4.5 Exemple

Problème à conditions initiales et finales fixées tf

1 x ( t )  x 0 , t 0  0 min J  u 2 dt sous x  ax  bu avec  0 u 2 x ( t f )  x f , t f fixé t

 0





1 2 u  p(ax  bu ) 2

Hamiltonien :

H

Commande :

H u  u  bp  0  u  bp

Adjoint :

p   H x   ap  p  p 0 e at

Etat :

x  ax  bu  ax  b p 0 e 2

Fonction de tir :

S(p 0 )  x ( t f )  x f  0

Sensibilité à p0 :

dS b 2 at f  (e  e at f ) dp 0 2a

 at

b 2 at  x  x 0e  p0 (e  e at ) 2a at

b 2 at f  S(p 0 )  p 0 (e  e at f )  x 0 e at f  x f 2a  fonction exponentielle de tf forte sensibilité quel que soit le signe de a

1648

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Max CERF 2018

Techniques d’optimisation 5.4.5 Tir multiple

Principe • La méthode de tir simple avec intégration de t0 à tf est très sensible à l’initialisation. Un écart petit sur l’adjoint initial p0 peut causer un écart exponentiel sur l’état final xf. Cette sensibilité peut rendre la résolution numérique impossible si le temps final est grand.



Le tir multiple consiste à découper la trajectoire en plusieurs phases : t0 < t1 < … < ti < … < tN Chaque phase [ti , ti+1] est intégrée indépendamment à partir d’un état xi et d’un adjoint pi . Les variables (xi , pi) i=1 à N-1 sont des inconnues supplémentaires du problème de tir.

Sur [ti , ti+1] : •

x  H p , x ( t i )  x i  p   H x , p ( t i )  p i

intégration de ti à ti+1

x ( t i 1 ) p ( t )  i 1

Les valeurs obtenues à ti+1 sont différentes des valeurs initiales de la phase suivantes. Des contraintes de continuité doivent être imposées sur l’état et l’adjoint aux dates ti.

Contraintes de continuité :

x ( t i )  x i   p ( t i )  p i

pour i = 1 à N1

1649

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Max CERF 2018

Techniques d’optimisation 5.4.5 Tir multiple

Formulation x • On note y le vecteur composé de l’état x et de l’adjoint p : y     dimension 2n p x  H p , x ( t i )  x i Sur [ti , ti+1] :   y  F( y, t ) , y( t i )  y i  p   H , p ( t )  p x i i  •

Les inconnues supplémentaires sont : y1, … , yN-1



Les contraintes de continuité sont :

y

 (N-1)2n inconnues

y i  y( t i )  y i  0

 (N-1)2n équations

y1 yN-1 y1 y0 t1

t2

yN

yi

y2 t0

yN-1

yi

y2

t3

ti

ti+1

tN-1

tN

t

1650

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Max CERF 2018

Techniques d’optimisation 5.4.5 Tir multiple

Formulation • On suppose que le problème de contrôle est à temps final fixé (par changement de variable). Le problème de tir multiple est le système d’équations :

SN(p0,,yi) est la fonction de tir multiple :

 S(p 0 , )   n + q   y1   2n  S N (p 0 , , y1 , , y N 1 )      y  N 1   2n 

S(p0,) est la fonction de tir simple :

 ( x f )  q S(p 0 , )     p f  ( xf   xf )   n

Les inconnues du tir multiple sont :  dimension n + q + (N-1)2n •

S N (p 0 , , y1 ,, y N 1 )  0

p0, , y1, … , yN-1

 n + q + (N-1)2n

Le découpage en plusieurs phases :

- réduit la sensibilité de la fonction de tir - augmente la dimension du système Le choix du nombre de phases N résulte d’un compromis sensibilité / dimension.

1651

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Techniques d’optimisation

Max CERF 2018

5.4.5 Méthode de voisinage Problème de contrôle à temps final libre avec contraintes finales tf

min J  u,t f



t0

L( x, u, t )dt  x ( t f ), t f 

avec x  f ( x, u, t ) , x  R n , u  R m x ( t f ), t f   0 ,   R q

La méthode de voisinage est une méthode indirecte . On cherche à résoudre les conditions d’optimalité en utilisant le voisinage des extrémales. •

Etape 1 On part d’une solution initiale : temps final tf , commande u(t) , t[t0 , tf] Cette solution ne respecte pas les conditions d’optimalité sur Hu ,  ,  .



Etape 2 On exprime les variations Hu ,  ,  en fonction de variations u , tf ,  . Ces variations s’expriment avec les équations de voisinage des extrémales.



Etape 3 On calcule des corrections u , tf ,  rapprochant des conditions d’optimalité. La solution est mise à jour et on reprend à l’étape 1.

1652

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Techniques d’optimisation

Max CERF 2018

5.4.5 Méthode de voisinage Conditions d’optimalité • La solution (x, p, u, tf , ) doit vérifier les conditions d’optimalité.

Commande :

x  H p avec H  L  p T f  p   H x H u  0 (pas de bornes sur u)

Conditions initiales :

x(t 0 )  x 0

Etat et adjoint :

Conditions finales :

 x  p    0   0 

(fixé)

avec     T   L avec    t  H  



La solution initiale est associée à (u, tf , ) donnés. - L’intégration directe de l’état x avec la commande u donne l’état final x(tf) . - L’adjoint final p(tf) est évalué à partir des dérivées x et x et des multiplicateurs . - L’intégration rebours de l’adjoint permet d’évaluer Hu(t) , t[t0 , tf] .



Cette solution ne vérifie pas les conditions : Hu = 0 ,  = 0 ,  = 0 . Les corrections (u , tf , ) sont déterminées à partir des équations de voisinage.

1653

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Max CERF 2018

Techniques d’optimisation 5.4.5 Méthode de voisinage

Equations de voisinage • Les équations de voisinage sont les équations vérifiées par les écarts (x , p , u , tf , ).



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

 H u  H Tux x  H Tuu u  H Tup p  H u  H xu x  H uu u  f u p

p  x

 p f   xx x f   xt t f   x 

avec  x   x

0

   xT x f  tT t f  T 

 avec   

 0

    x x f   t t f

à tf

Les dérivées partielles secondes de l’hamiltonien sont T H px  f x H xp  H Tpx H xx  L xx  f xx p    T H( x, u, p, t )  L( x, u, t )  p T f ( x, u, t )  H uu  L uu  f uu p , H pu  f u , H up  H Tpu T H xu  L xu  f xu H  0 H  H T p xu pp   ux 

1654

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Max CERF 2018

Techniques d’optimisation 5.4.5 Méthode de voisinage

Corrections u • Les valeurs de Hu ,  ,  ne sont pas nulles sur la solution initiale. On cherche des corrections (u , tf , ) pour satisfaire les conditions : Hu = 0 ,  = 0 ,  = 0 .

H u  H u Les corrections doivent produire des variations :       •

L’équation en Hu permet d’exprimer la correction de commande u en fonction de x et p .

H u  H xu x  H uu u  f u p •

pour annuler Hu ,  ,  .

 u  H uu1 (H u  H xu x  f u p)

Les écarts x et p suivent les équations variationnelles.

x  f xT x  f uT u  Ax  Bp  DH u   T p  H xx x  H ux u  f x p  Cx  A p  EH u

en remplaçant u

A  f xT  f uT H uu1 H D  f uT H uu1  T 1 avec B  f u H uu f u ,  1  1 E  H ux H uu C  H xx  H ux H uu H xu 

1655

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Max CERF 2018

Techniques d’optimisation 5.4.5 Méthode de voisinage

Solution x , p • Les écarts x et p suivent un système différentiel linéaire non homogène aux 2 bouts.

x  Ax  Bp  DH u p  Cx  A T p  EH u 

x  0 avec  0 p f   xx x f   xt t f   x 

car x(t0) fixé

- Les matrices A , B , C , D , E ont été stockées pendant les intégrations de l’état et de l’adjoint. - La correction Hu a été choisie pour obtenir Hu = 0 . •

On intègre ce système à rebours à partir de conditions finales xf , pf . - La correction xf devient une inconnue du problème. - La correction pf dépend des corrections xf , tf ,  . - La condition x0 = 0 est ajoutée aux conditions sur  et  .



La solution x , p est combinaison linéaire - des solutions unitaires (une composante finale = 1) du système homogène (avec Hu = 0) - d’une solution particulière (pour Hu donné = variation à réaliser pour obtenir Hu = 0) On obtient x0 sous la forme : x 0  X( t 0 )x ( t f )  P( t 0 )p( t f )  ( t 0 )

matrices des solutions unitaires

solution particulière

1656

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Techniques d’optimisation

Max CERF 2018

5.4.5 Méthode de voisinage Variations x0 ,  ,  • Les variations (x0 ,  , ) s’expriment en fonction des corrections (xf , tf , ). Pour x0 :

x 0  X 0 x f  P0 p f   0

avec p f   xx x f  x t f   x 

 x 0  (X 0  P0  xx )x f  P0 x t f  P0  x    0 Pour  :

  L avec     T  

 t   T     xT x f   f Pour  : •

   Tx x f   t f

On obtient un système linéaire reliant (xf , tf , ) et (x0 ,  , ) .

 x 0   X 0  P0  xx      xT        Tx    •

P0 x   

P0  x   x f   T   t f 0   

  0     0  0   

Une autre méthode (numériquement plus stable) consiste à intégrer à rebours les matrices de transport pour exprimer l’ensemble des conditions à l’instant initial.

1657

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Max CERF 2018

Techniques d’optimisation 5.4.5 Méthode de voisinage

Corrections xf , tf ,  • Les variations visées pour se rapprocher des conditions d’optimalité sont

 x 0  0        

 x 0   X 0  P0  xx    avec      xT      Tx   

P0 x   

P0  x   x f   T   t f 0   

  0     0  0   

On en déduit successivement : - les corrections xf , tf ,  - les variations x(t) et p(t) - les corrections u(t) •

L’application des corrections produit des variations réelles Hur , r , r . Ces variations peuvent différer des variations attendues (évaluées par linéarisation). L’amplitude des corrections doit être contrôlée pour rester dans le domaine linéaire - en visant un rattrapage partiel des écarts : (Hu,,) = (Hu,,) avec 0 <   1 - en appliquant progressivement la correction u : u ,  fonction croissante de t , 0    1



La solution optimale est obtenue lorsque Hu = 0 ,  = 0 ,  = 0 .

1658

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Techniques d’optimisation

Max CERF 2018

5.4.5 Méthode de voisinage Algorithme Commande u , tf ,  Stockage dérivées fx , fu , Lx , Lu , x , x

Intégration directe état x  f ( x, u, t ) Amélioration Hu ,  ,  ? non Mise à jour  , 

oui

Intégration rebours adjoint

p   L x  f x p , p( t f )   x ( t f )  T  x ( t f )

Matrices système variationnel A , B , C , D , E Solution système variationnel x , p

Corrections u , tf ,  Tests d’arrêt : Hu=0 , =0 , =0

1659

5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes

Techniques d’optimisation

Max CERF 2018

5.4.5 Méthode de voisinage Problème de minimum auxiliaire • Une itération de l’algorithme de voisinage revient à résoudre le problème LQ tf

 2 J a 1  x  T  H xx H ux  x  1  x  T   xx x  x  min         dt   t    T  u ,t f 2 2  u   H xu H uu  u  2   f  x   t  f t

 0

x  f xT x  f uT u  sous    Tx x f   t f    T x    t x f f 

, x 0 fixé ,  fixé ,  fixé

Ce 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. La méthode de voisinage est une résolution séquentielle indirecte du problème LQ. •

Différents algorithmes d’ordre 2 sont basés sur cette approche. - matrices de transport des conditions à l’instant initial  plus stable numériquement - programmation dynamique différentielle (DDP)  minimisation de H à l’ordre 2

1660

Techniques d’optimisation

Max CERF 2018

Bibliographie : optimisation fonctionnelle Livres en français • Contrôle optimal – Théorie et applications (E. Trélat) • Analyse numérique et équations différentielles (J.-P. Demailly) • 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) • Solving ordinary differential equations (E. Hairer, S.P. Norsett, G. Wanner) • Numerical recipes in Fortran (W.H. Press, S.A. Teukolsky, W.T. Vetterling, B.P. Flannery)

« L’éternité c’est long, surtout vers la fin. » (Pierre Dac)

1661