Anda di halaman 1dari 554

Techniques d’optimisation

Max CERF

1
Techniques d’optimisation

Sommaire
1. Bases théoriques

2. Optimisation sans contraintes

3. Optimisation avec contraintes

2
1 Bases théoriques
Techniques d’optimisation

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

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

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

2. Optimisation sans contraintes

3. Optimisation avec contraintes

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

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

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

• Inconnues = entiers ou réels → Optimisation paramétrique


Optimisation en dimension finie
Programmation mathématique

Programmation mathématique
• Inconnues = entiers → Optimisation combinatoire
Programmation en nombres entiers

• Inconnues = réels → Optimisation continue


Programmation linéaire (LP)
Programmation non linéaire (NLP)

• Inconnues = entiers et réels → Programmation mixte

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

1.1.1 Formulation
Formulation mathématique
c E (x) = 0
min f(x) sous c I (x) ≤ 0 → formulation standard
x∈Rn
x ∈ X problème noté (PO)

Notations
• x : n variables ou paramètres → vecteur de Rn
ou inconnues

• f : critère ou fonction coût → fonction de Rn dans R


ou fonction objectif x ∈ R n  f(x) ∈ R

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


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

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


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

• X : ensemble convexe X ⊆ Rn → valeurs admissibles des variables

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

1.1.1 Optimisation continue


Hypothèses
• Continuité : Fonctions continues de variables réelles
→ Optimisation continue
≠ Optimisation combinatoire, Programmation en nombres entiers

• Différentiabilité : Fonctions différentiables


→ Méthodes à base de gradient
≠ Méthodes sans dérivées

• Déterminisme : Les données du problème sont parfaitement connues


≠ Optimisation stochastique

• Programmation linéaire : coût linéaire et contraintes linéaires (LP)


• Programmation quadratique : coût quadratique et contraintes linéaires (QP)
• Programmation non linéaire : cas général, fonctions quelconques (NLP)

Rappels d’analyse
• Norme
• Suite - Convergence

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

1.1.1 Norme
Norme vectorielle sur Rn
 x ≥0
 x =0 ⇔ x =0
• Fonction . : Rn →R vérifiant 
 x+y ≤ x + y

n  αx = α x

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

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

Ax
• Fonction . : R m×n → R définie par A m× n
= max
m× n x∈R n , x ≠ 0 x

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

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

• Limite : lim x k = x * ⇔ lim x k − x *


k →∞ k →∞

Vitesse de convergence
• Convergence linéaire : x k +1 − x * ≤ c x k − x * avec 0 ≤ c < 1
→ lent à partir d’un certain rang k0

• Convergence superlinéaire : x k +1 − x * ≤ c k x k − x * avec lim c k = 0


k →∞
→ bonne à partir d’un certain rang k0
p
• Convergence d’ordre p : x k +1 − x * ≤ c x k − x * avec 0 ≤ c < 1
à partir d’un certain rang k0

• Convergence quadratique si p=2


→ rapide

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

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

1.1.2 Solution admissible


Solution admissible

x solution admissible de (PO) ⇔ x satisfait les contraintes c E (x) = 0


(ou point admissible) c I (x) ≤ 0
x ∈ X
Ensemble admissible
{ }
X adm = x ∈ R n / c E (x) = 0 , c I (x) ≤ 0 , x ∈ X
Non admissible

Illustration dans R2
• c1(x) = 0 → courbe
• c2(x) ≤ 0 → région du plan
• c3(x) ≤ 0 → région du plan

Dans Rn
• c(x) = 0 → hypersurface
(dimension n-1)
• aTx = 0 → hyperplan ⊥ a∈Rn
(linéaire)

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

1.1.2 Minimum
Minimum global (= meilleure solution dans l’absolu)
• x* minimum global de (PO) ⇔ ∀x ∈ X adm , f(x*) ≤ f(x)
• x* minimum global strict ⇔ ∀x ∈ X adm , f(x*) < f(x) si x ≠ x *

Minimum local (= meilleure solution dans un voisinage)


• x* minimum local de (PO) ⇔ ∃ε > 0 / ∀x ∈ X adm , x − x * < ε , f(x*) ≤ f(x)
• x* minimum local strict ⇔ ∃ε > 0 / ∀x ∈ X adm , x − x * < ε , f(x*) < f(x) si x ≠ x *

Sans contrainte Avec contrainte


f(x) f(x)

minimum global strict


minima locaux
minimum local strict

minimum global strict Non admissible Admissible

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

1.1.2 Infimum
Borne inférieure
f : Rn → R f bornée inférieurement sur Y ⊆ Rn
⇔ ∃M ∈ R / ∀x ∈ Y , M ≤ f(x)

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

• Notation : inf Y f = inf {f(y) , y ∈ Y}

∀x ∈ Y , inf Y f ≤ f(x)


• Propriété : et
∀M > inf Y f , ∃x ∈ Y / f(x) < M

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

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


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

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

1.1.2 Problèmes équivalents


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

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

(PO1) et (PO2) ont alors des solutions de même coût : f1(x1*) = f2(x2*)

Transformations simples
• Changement de variable : y= ϕ(x) avec ϕ strictement croissante sur X

• Maximisation / minimisation : max f(x) ⇔ min (− f(x) )


x x

• Contrainte inférieur / supérieur : c(x) ≥ 0 ⇔ − c(x) ≤ 0


x + ≥ 0
• Variables positives : x = x + − x − avec  −
x ≥ 0
c(x) + y = 0
• Variables d’écart : c(x) ≤ 0 ⇔  ⇔ c(x) + z 2 = 0
y ≥ 0
15
1 Bases théoriques
1.1 Définitions
1.1.2 Solution
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 Ij }
(x) = 0

• Contrainte égalité cE : x admissible ⇒ cE(x) = 0 ⇒ cE active en x


• Contrainte inégalité cI : x admissible ⇒ cI(x) ≤ 0 ⇒ cI active en x si cI(x) = 0
cI inactive en x si cI(x) < 0
Intérêt
• Les contraintes inégalité inactives n’ont pas d’influence sur la solution x* du problème (PO).
On peut les ignorer, si on identifie l’ensemble Cact(x*). Mais x* n’est pas connu au départ …

• Le problème (PO) est équivalent au problème (PO)act réduit aux contraintes actives
prises comme des contraintes égalité.
c (x) = 0
min f(x) sous  E ⇔ min f(x) sous c j (x) = 0, j ∈ C act (x*) noté min f(x) sous c(x) = 0
x∈R n
c I (x) ≤ 0 x∈R n
x∈R n

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

1.1.2 Exemple
Contrainte active
x ≥1
min x 2 + 1 sous 
f(x) f(x)=x2
→ x* = 1
x∈R x ≤ 2

1. Minimum sans contrainte


min x 2 + 1 → x* = 0
x∈R

• Respecte la contrainte x≤2


• Ne respecte pas la contrainte x ≥ 1
→ Activation de la contrainte x = 1
admissible
2. Minimum avec contrainte active x = 1 0 1 2 x
min x 2 + 1 sous x = 1 → x* = 1
x∈R

• Respecte la contrainte x≤2 Minimum sans contrainte


• Respecte la contrainte x≥1 Minimum avec contrainte
→ Solution du problème

3. Bilan : 1 contrainte active x ≥ 1 → transformée en égalité


1 contrainte inactive x ≤ 2 → ignorée
17
1 Bases théoriques
1.1 Définitions
1.1.2 Solution
Techniques d’optimisation

1.1.2 Point intérieur


Point intérieur
y point intérieur à Y
⇔ Il existe un voisinage de y contenu dans Y : ∃ε > 0 / ∀z, z - y ≤ ε , z ∈ Y
Un problème avec contraintes égalité n’admet pas de point intérieur

Solution intérieure aux contraintes


• x* minimum local du problème avec contraintes inégalité minn f(x) sous c I (x) ≤ 0
x∈R
• Si x* est un point intérieur, alors
x* minimum local du problème sans contraintes min f(x) → plus simple
x∈R n

Point intérieur - Contrainte inactive Contrainte active

x*
x*

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

1.1.2 Exemple
Point intérieur
f(x) f(x)=x2
min x 2 + 1 sous x ≤ 1 → x* = 0
x∈R

1. Ensemble admissible
X adm = {x ∈ R / x ≤ 1} = ] − ∞ ,1]
2. Ensemble intérieur à la contrainte
X int = {x ∈ R / x < 1} = ] − ∞ ,1[

X int = X adm − {1}


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

x*∈Xint intérieur à la contrainte → contrainte inactive

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

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
20
1 Bases théoriques
1.1 Définitions
1.1.3 Différentiabilité
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 )
Dérivée partielle de f en x par rapport à xi : f x i (x) = = lim 1
∂x i s→0 s
si la limite existe
 ∂f(x) 
Gradient  
 ∂f(x)   ∂x 1 
Gradient de f en x : g(x) = ∇f(x)
g(x) =   =  ... 
g(x) : R n → R n  ∂x i  i =1,..., n  ∂f(x) 
si toutes les dérivées partielles existent  
 ∂ x n 

Dérivée directionnelle f(x + sd) - f(x)


Dérivée directionnelle de f en x dans la direction d∈Rn : f d (x) = lim
s →0 s
si la limite existe
(dérivée directionnelle = produit scalaire avec le gradient) ⇒ f d (x) = g(x) T d

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

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

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

Hessien  ∂ 2 f(x) ∂ 2 f(x) 


 ... 
Hessien de f en x : H(x) = ∇ 2 f(x)  ∂ 2 f(x)   ∂ x1
2
∂x 1∂x n 
H(x) : R n → R n×n H(x) =   = ... ... ... 
 ∂x i ∂x j   ∂ 2 f(x) 
  i, j=1,..., n ∂ f(x)
2
 ... 
 ∂x n ∂x 1 ∂2xn 
 
Courbure
On définit pour une direction d ∈Rn au point x la fonction ϕ à une variable : ϕ(s) = f(x+sd)
→ variation de f dans la direction d

• Dérivée première : ϕ' (s) = d T ∇f(x + sd) → ϕ' (0) = d T g(x)


Dérivée seconde : ϕ' ' (s) = d T ∇ 2 f(x + sd)d → ϕ' ' (0) = d H(x)d
T

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

22
1 Bases théoriques
1.1 Définitions
1.1.3 Différentiabilité
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


 ∂c1 (x) ∂c m (x) 
 ... 
 ∂c j (x)   ∂x ∂ x 
∇c(x) = (∇c1 (x) ,..., ∇c m (x) ) = 
1 1
 =  ... ... ... 
∂ 
 x i  i =1,..., n
j=1,..., m
 ∂c1 (x) ∂c m (x) 
 ∂x ...
∂x n 
 n 
Matrice jacobienne (« jacobien » = déterminant de Jc)
 ∂c1 (x) ∂c1 (x) 
 ∇c1 (x)  T  ... 
   ∂c (x)   ∂ x 1 ∂ x n 
J c (x) = ∇c(x) T =  ...  =  i  =  ... ... ... 
  ∂x j  i =1,..., n  ∂c m (x) ∂c m (x) 
T
   j=1,..., m
∇ c (x)  ∂x ∂x n 
 m  ...
 1 
Contraintes du problème (PO)
Matrice jacobienne regroupant les contraintes égalité cE et les contraintes inégalité cI
 J E (x)   ∇c E (x) T 
J(x) : R → R
n ( p + q)× n
J(x) =  = T 
 J I (x)   ∇c I (x) 
23
1 Bases théoriques
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation

1.1.3 Théorème de Taylor


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

d∈Rn : déplacement à partir de x

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

f(x + d) = f(x) + ∇f(x) T d + o( d )


Il existe s∈[0,1] tel que : f(x + d) = f(x) + ∇f(x + sd) T d

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

f(x + d) = f(x) + ∇f(x) T d +


1 T 2
2
( )
d ∇ f(x)d + o d
2

1 T 2
Il existe s∈[0,1] tel que : f(x + d) = f(x) + ∇f(x) T d + d ∇ f(x + sd)d
2

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

1.1.3 Modèle quadratique-linéaire


Problème avec contraintes égalité
min f(x) sous c(x) = 0 → contrainte actives
x∈R n

Fonction modèle
• Application du théorème de Taylor au point x0∈Rn
1
Modèle quadratique du critère : f̂ 0 (x) = f(x 0 ) + ∇f(x 0 ) (x − x 0 ) + (x − x 0 ) ∇ f(x 0 )(x − x 0 )
T T 2

2
• Modèle linéaire des contraintes : ĉ 0 (x) = c(x 0 ) + ∇c(x 0 ) T (x − x 0 )

Problème quadratique-linéaire local



Au voisinage de x0 : f (x) ≈ f̂ 0 (x)
c(x) ≈ ĉ 0 (x)

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


x∈R n

- localement « proche » du problème initial


- plus simple à résoudre

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

1.1.3 Exemple
Modèle quadratique : fonction de 1 variable

• Fonction : f ( x ) = − x 4 + 12 x 3 − 47 x 2 + 60 x

• Gradient : ∇ f ( x ) = −4 x 3 + 36 x 2 − 94 x + 60

• Hessien : ∇ 2 f ( x ) = −12 x 2 + 72 x − 94

• Modèle quadratique en x0 = 3 : f ( x 0 ) = 0 , ∇f ( x 0 ) = −6 , ∇ 2 f ( x 0 ) = 14

f̂ 0 ( x ) = −6(x − 3) + 14(x − 3) = 7 x 2 − 48x + 81


1 2

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

f̂ 0 ( x ) = 4(x − 4 ) + 2(x − 4 ) = x 2 − 4 x
1 2

2
• Modèle quadratique en x0 = 5 : f ( x 0 ) = 0 , ∇f ( x 0 ) = −10 , ∇ 2 f ( x 0 ) = −34

f̂ 0 ( x ) = −10(x − 5) − 34(x − 5) = −17 x 2 + 160 x − 375


1 2

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

1.1.3 Exemple
Modèle quadratique : fonction de 2 variables

• Fonction : (
f ( x 1 , x 2 ) = 100 x 2 − x 12 ) + (1 − x )
2
1
2
→ fonction de Rosenbrock

( )
 − 400 x 2 − x 12 x 1 − 2(1 − x 1 )
∇ f ( x ) =  
• Gradient :
 200 x 2 − x 1 (
2
) 

 − 400(x 2 − 3x 1 ) + 2 − 400 x 1 
• Hessien : ∇ 2 f ( x ) =  
 − 400 x 1 200 
0  802 − 400 
• Modèle quadratique en x0 = (1,1) : f ( x 0 ) = 0 , ∇f ( x 0 ) =   , ∇ 2 f ( x 0 ) =  
 
0  − 400 200 
T
1  x −1  802 − 400  x 1 − 1 
f̂ 0 ( x 1 , x 2 ) =  1    
2  x 2 − 1  − 400 200  2 
x − 1

⇒ f̂ 0 ( x 1 , x 2 ) = 401(x 1 − 1) − 400(x 1 − 1)(x 2 − 1) + 100(x 2 − 1)


2 2

27
1 Bases théoriques
1.1 Définitions
1.1.3 Différentiabilité
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
f(x + d) = (x + d) T Q(x + d) + c T (x + d) + b = f(x) + (Qx + c ) d + d T Qd
1 T 1
2 2
→ ∇f(x) = Qx + c ∇ 2 f(x) = Q
Gradient d’une fonction vectorielle
• Le gradient de f : Rn → Rp en x est la matrice G∈Rn×p telle que
f(x + d) = f(x) + G T d + o( d ), ∀d ∈ R n

• Fonction composée : f(x) = h (g(x) ) avec f : R n → R p , g : R n → R m , h : R m → R p

(
f(x + d) = h (g(x + d) ) = h g(x) + ∇g ( x ) T d + o( d )) = h(g(x)) + ∇h(g(x)) ∇g(x)
T T
d + o( d )
→ ∇f(x) = ∇g( x )∇h (g(x) )
Fonction linéaire : g(x) = Ax ⇒ g(x + d) = Ax + Ad ⇒ ∇g(x) = A
T

f(x) = h (Ax ) → ∇f(x) = A T ∇h (Ax )
28
1 Bases théoriques
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation

1.1.3 Ligne de niveau


Définition
• Ligne (ou surface) de niveau l0 de la fonction f
{
L 0 = x ∈ R n / f(x) = l 0 }→ hypersurface dans Rn (sous-espace de dimension n-1)

• Ligne de niveau passant par x0


L 0 = x ∈ R n / f(x) = f(x 0 ) avec f(x) = f(x 0 ) + ∇f(x 0 ) (x − x 0 ) + o( x − x 0
{ } )
T
à l' ordre1

Gradient
x ∈ L 0 ⇒ f(x) = f(x 0 ) ⇒ ∇f(x 0 ) T (x − x 0 ) = 0 → hyperplan tangent à L0 en x0
Le gradient de f est orthogonal aux lignes de niveaux.

f(x1,x2)
x2
x2

x*
x*
∇f
∇f
x1 x1 29
1 Bases théoriques
1.1 Définitions
1.1.3 Différentiabilité
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 1 x1

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

1.1.3 Exemple
Ligne de niveau : fonction de Rosenbrock

(
f ( x 1 , x 2 ) = 100 x 2 − x 12 ) + (1 − x )
2
1
2

5,0

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

3,0

2,0

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

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

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

1.1.3 Dérivées numériques


Différences finies
Les expressions analytiques de ∇f(x) et ∇2f(x) ne sont généralement pas disponibles.
→ Evaluation par différences finies avec incrément h appliqué successivement sur chaque variable
1 i −1 i i +1 n
x → x + he i avec e i = (0,  , 0 ,1, 0 ,  , 0) T , i = 1 à n
Gradient
∂f f(x + he i ) − f(x)
• Différence finie simple : (x) = + o( h )
amont si h<0 ∂x i h
aval si h>0 → n appels fonction pour évaluer ∇f(x)
∂f f(x + he i ) − f(x − he i )
• Différence finie centrée : (x) = + o( h 2 )
plus précis ∂x i 2h
→ 2n appels fonction pour évaluer ∇f(x)

Hessien
∂ 2f f(x + he i + he j ) − f(x + he i ) − f(x + he j ) + f(x)
• Différence finie simple : (x) = + o( h )
∂x i ∂x j h2
→ n(n+1)/2+n appels fonction pour évaluer ∇2f(x)
32
1 Bases théoriques
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation

1.1.3 Dérivées numériques


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

Erreur d’arrondi
Les réels sont représentés en mémoire machine calcul avec une précision finie.
La précision machine εm est le plus petit réel tel que : 1 + εm ≠ 1
→ erreur relative εm=10-16 sur la valeur d’un réel x en double précision
→ erreur relative εr sur la valeur évaluée de f(x)
εr >> εm par cumul des erreurs au cours des opérations pour passer de x à f(x)
f eval (x) = f exact (x)(1 ± ε r ) = f exact (x) ± ε f → εf = erreur absolue sur f

Erreur de troncature
L’ évaluation d’une dérivée par différence finie tronque le développement de Taylor à l’ordre 1.

h f' ' (x 0 + sh) avec s ∈ [0,1]


1 2
• f(x 0 + h) = f(x 0 ) + hf' (x 0 ) +
2
avec ε t < M majorant de f ' ' ( x ) sur [x 0 , x 0 + d ]
1
• f(x 0 + h) = f(x 0 ) + hf' (x 0 ) ± h 2 ε t
2
33
1 Bases théoriques
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation

1.1.3 Dérivées numériques


Erreur sur la dérivée
f eval (x 0 + h) − f eval (x 0 )
'
f eval (x 0 ) = avec
h
• f eval (x 0 ) = f exact (x 0 ) ± εf → arrondi sur feval(x0)
• f eval (x 0 + h) = f exact (x 0 + h) ± εf → arrondi sur feval(x0+h)
1 2
• f exact (x 0 + h) = f exact (x 0 ) + hf exact
'
(x 0 ) ± h εt → troncature sur fexact(x0+h)
2
En remplaçant dans l’expression de f’eval(x0) :
1 2
'
hf exact (x 0 ) ± h ε t ± 2ε f
f exact (x 0 + h) − f exact (x 0 ) ± 2ε f 2
⇒ f eval
'
(x 0 ) = =
h h
hε 2ε
⇒ f eval
'
(x 0 ) = f exact
'
(x 0 ) ± t ± f
2 h
hε t 2ε f
L’erreur maximale sur la dérivée numérique est : εf ' = +
2 h

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

1.1.3 Dérivées numériques


Incrément optimal
hε t 2ε f
• On choisit l’incrément pour minimiser l’erreur : min ε f ' = +
h 2 h
dε f ' ε t 2ε f εf
= − 2 =0 ⇒ h opt = 2
dh 2 h εt
⇒ εf ' = 2 ε f ε t

hopt
• Règle empirique de réglage de l’incrément
En supposant que l’ordre de grandeur de la dérivée seconde est de l’ordre de 1 :

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

εf ' ≈ ε f → précision sur f’ de l’ordre de la racine de la précision d’évaluation de f


(2 fois moins de chiffres significatifs)

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

1.1.4 Convexité

 Ensemble convexe

 Fonction convexe

 Lien avec le gradient et le hessien

37
1 Bases théoriques
1.1 Définitions
1.1.4 Convexité
Techniques d’optimisation

1.1.4 Convexité
Ensemble convexe
X ⊆ Rn convexe ⇔ ∀x, y ∈ X , ∀λ ∈ [0,1] , λx + (1 − λ)y ∈ X
Interprétation géométrique : Segment inclus dans X

x x

y y
Non connexe Non convexe Convexe

Fonction convexe
f fonction de Rn dans R
• f convexe ⇔ ∀x, y ∈ R n , ∀λ ∈ [0,1] , f (λx + (1 − λ)y ) ≤ λf(x) + (1 − λ)f(y)
• f strictement convexe ⇔ ∀x, y ∈ R n , ∀λ ∈ ]0,1[ , f (λx + (1 − λ)y ) < λf(x) + (1 − λ)f(y)
• f concave ⇔ −f convexe

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


Concavité vers le haut

x y
λ
38
1 Bases théoriques
1.1 Définitions
1.1.4 Convexité
Techniques d’optimisation

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

• f convexe ⇔ ∀x, y ∈ X , f(y) − f(x) ≥ (y − x) T g(x)


• f strictement convexe ⇔ ∀x, y ∈ X , f(y) − f(x) > (y − x) T g(x)

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

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

• f convexe ⇔ ∀x ∈ R n , H(x) semi-définie positive


• f strictement convexe ⇔ ∀x ∈ R n , H(x) définie positive

Matrice définie positive


A∈Rn×n
• A définie positive ⇔ ∀d ∈ R n , d T Ad > 0
• A semi-définie positive ⇔ ∀d ∈ R n , d T Ad ≥ 0

39
1 Bases théoriques
1.1 Définitions
1.1.4 Convexité
Techniques d’optimisation

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

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

x2
Ensemble convexe

• { }
Ensemble : X = ( x 1 , x 2 ) / x 12 + x 22 ≤ 1
→ convexe

• { }
Ensemble : X = ( x 1 , x 2 ) / x 12 + x 22 ≥ 1 x1
→ non convexe

40
1 Bases théoriques
1.1 Définitions
1.1.5 Conditionnement
Techniques d’optimisation

1.1.5 Conditionnement

 Conditionnement d’une matrice

 Conditionnement d’une fonction

 Préconditionnement

 Système linéaire perturbé

 Mise à l’échelle

41
1 Bases théoriques
1.1 Définitions
1.1.5 Conditionnement
Techniques d’optimisation

1.1.5 Conditionnement
Conditionnement d’une matrice
A matrice symétrique semi-définie positive
Valeurs propres de A : σ1 ≥  ≥ σ n → A 2
= σ1
σ1
Nombre de conditionnement de A : κ(A) = A A -1 = ≥1
2 2 σn
Conditionnement d’une fonction
f fonction deux fois différentiable
Conditionnement de f en x = nombre de conditionnement de A=H(x)

Interprétation
Vecteur propre dk associé à la valeur propre σk : A k d k = σ k d k
d Tk H(x)d k
Courbure de f en x dans la direction dk : = σk
d Tk d k
Théorème de Rayleigh-Ritz
d1 = direction de plus forte courbure (courbure = σ1)
dn = direction de plus faible courbure (courbure = σn)

42
1 Bases théoriques
1.1 Définitions
1.1.5 Conditionnement
Techniques d’optimisation

1.1.5 Exemple
Matrice 2×2
a b 1  d − b
• Inverse : A =   → A −1 =   avec det(A) = ad − bc
c d det(A)  − c a 

• Valeurs propres : det(A − σI) = 0 ⇒ (a − σ )(d − σ ) − bc = 0 ⇒ σ 2 − (a + d )σ + det(A) = 0

Conditionnement
 0.1 1
• A =  
 0 . 20002 2 

σ = 2.10001
• Valeurs propres : σ 2 − 2.1σ − 0.00002 = 0 ⇒  1
σ 2 = −0.00001
 A = σ1 σ1
• Conditionnement :  -1 2 ⇒ κ( A ) = = 210001
 A = 1/ σ2 σ2
2

43
1 Bases théoriques
1.1 Définitions
1.1.5 Conditionnement
Techniques d’optimisation

1.1.5 Préconditionnement
Changement de variable
• Variable : ~
x = Mx
~ (M∈Rn×n inversible = matrice de préconditionnement)
~ -1~
• Fonction : f (x) = f(x) = f(M x)
~
• Gradient : ∇ f (~~
x) = M -T ∇f(M -1~ x) ⇒ ~g (~
x) = M -T g(x)
~
• Hessien : ∇ f (~ x) = M -T ∇ 2 f(M -1~x)M -1 ⇒ H(~ x) = M -T H(x)M -1
2

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

Sans conditionnement Avec conditionnement

x2 ~
x2

x* ~
∇f x*
~
∇f

x1 x 1 44
~
1 Bases théoriques
1.1 Définitions
1.1.5 Conditionnement
Techniques d’optimisation

1.1.5 Système linéaire perturbé


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

 Ax * =b Ax * =b b = Ax *

 A(x * +Δx b ) = b + Δb ⇒ A.Δ x b = Δb ⇒ Δx b = A −1Δb
(A + ΔA)(x * +Δx A ) = b A.Δ x A + ΔA.x* = 0 Δx A = −A −1 .∆A . x *

• Majoration de la perturbation
1 A
b = Ax * ⇒ b ≤ A . x * ⇒ ≤
x* b
 Δx b Δb
 Δx b ≤ A −1 . Δb  ≤ A . A −1 .
Δx b = A −1Δb  x* b
 ⇒  ⇒ 
Δx
 A = − A −1
.∆A . x * −1
 Δx A ≤ A . ΔA . x *  Δx A ΔA
≤ A . A −1 .
 x* A

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


-1

45
1 Bases théoriques
1.1 Définitions
1.1.5 Conditionnement
Techniques d’optimisation

1.1.5 Exemple
Système perturbé 2×2
• Système non perturbé
x = 10
⇒  1
0.1x 1 + x2 = 2  0.1 1  x 1   2 
0.20002 x + 2 x = 4.0002 ⇔  0.20002 2  x  =  4.0002 

x 2 = 1
 1 2   2   

 0.101 1  x = −0.101
• Perturbation δA : A =   ⇒  1
 0 . 20002 2  x 2 = 2.010

 2.01  x = −990
• Perturbation δb : b =   ⇒  1
 4 . 0002  x 2 = 101.01

x2
Conditionnement : κ(A) = 210001

10 x1
46
1 Bases théoriques
1.1 Définitions
1.1.5 Conditionnement
Techniques d’optimisation

1.1.5 Mise à l’échelle


Principe
• Des valeurs numériques trop différentes sont sources de blocage des algorithmes.
Exemple : (1 + 10-20) − 1 = 1 − 1 = 0 au lieu de 10-20 avec 16 chiffres significatifs
• Pour réduire les erreurs numériques, il faut que les différentes valeurs utilisées dans les calculs
aient des ordres de grandeur comparables.
• Méthode de mise à l’échelle : transformation affine X’ = αX + β

Quantités à mettre à l’échelle


• Variables : x → x’ ≈ 1 (→ déplacement sur toutes les composantes de x)
• Critère : f → f’ ≈ 1 (→ tests d’arrêt sur variation de f)
• Contraintes : c → c’ ≈ 1 (→ contraintes de poids équivalents)

• Jacobien : ∇c → ∇c ' ≈ 1 (→ directions admissibles)

• Hessien : ∇ 2 L → ∇ 2 L' ≈ 1 (→ courbure, conditionnement)

Difficultés
• On ne peut pas simultanément mettre toutes les quantités à l’échelle → choix expérimental
• Le facteur d’échelle dépend du point x → à adapter au cours des itérations
(mise à l’échelle dynamique)
47
1 Bases théoriques
1.1 Définitions
1.1.6 Direction de déplacement
Techniques d’optimisation

1.1.6 Direction de déplacement

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

 Direction admissible

 Contraintes linéaires

48
1 Bases théoriques
1.1 Définitions
1.1.6 Direction de déplacement
Techniques d’optimisation

1.1.6 Direction de descente


Direction de descente
• Gradient de f en x∈Rn : g(x) = ∇f(x)
• Dérivée directionnelle de f en x suivant d∈R : fd(x) = g(x)Td
n

d est une direction de descente en x si : fd(x) = g(x)Td < 0

• La direction de plus forte pente d+ est la direction du gradient : d+ = g(x)


• La direction de plus forte descente d− est opposée au gradient : d− = −g(x)
∀d ∈ R n / d = d − , g(x) T d ≥ g(x) T d − = − g(x)
2

x2 d1
−∇f(x)

x*
d2

x0

x1
49
1 Bases théoriques
1.1 Définitions
1.1.6 Direction de déplacement
Techniques d’optimisation

1.1.6 Direction de descente


Variation suivant une direction
• Déplacement d∈Rn à partir de x0∈Rn : d = sd0 avec d0∈Rn = direction de déplacement
s∈R = pas de déplacement suivant d0
• Modèle quadratique au voisinage de x0 : ϕ(s)=f(x0+sd0) fonction de R dans R
1 1
f̂(x 0 + sd 0 ) = f(x 0 ) + sg T0 d 0 + s 2 d T0 H 0 d 0 ⇒ ϕˆ (s) = ϕ(0) + sϕ' (0) + s 2 ϕ' ' (0)
2 2
g 0 = ∇ f(x 0 ) ϕ' (0) = g T0 d 0
avec  avec 
 0
H = ∇ 2
f(x 0 ) ϕ' ' (0) = d 0 H 0 d 0
T

Meilleure direction : d2 < d− < d1


−∇f(x0) d1
ϕ(s)
ϕd1(s)
ϕd-(s)
d2
x*

x0 ϕd2(s)

s=0 sd1 sd- sd2 s


x=x0 50
1 Bases théoriques
1.1 Définitions
1.1.6 Direction de déplacement
Techniques d’optimisation

1.1.6 Direction de descente


Minimisation locale
Deux points particuliers sont définis à partir du modèle quadratique de f en x0 :
• Point de Newton : minimisation de f par rapport à d∈Rn → xn = x0 + dn
• Point de Cauchy : minimisation de f suivant d0=−g0 → xc = x0 −scg0

Point de Newton
1 −g0
minn f̂(x 0 + d) = f(x 0 ) + g d + d T H 0 d
T
0
d∈R 2
⇒ d n = −H 0−1g 0 si H 0 > 0 xc

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


xn x0
Point de Cauchy
1
min ϕˆ (x 0 − sg 0 ) = ϕ(0) − sϕ' (0) + s 2 ϕ' ' (0)
s∈R 2
⇒ sc =
ϕ' (0) 2
(g g )
T 2

= T0 0 si ϕ' ' (0) = g T0 H 0 g 0 > 0


ϕ' ' (0) g 0 H 0 g 0

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

51
1 Bases théoriques
1.1 Définitions
1.1.6 Direction de déplacement
Techniques d’optimisation

1.1.6 Direction admissible


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

Définition : d direction admissible d


⇔ ∃ε > 0 / ∀s, 0 < s ≤ ε ⇒ x + sd ∈ X adm
On peut se déplacer d’au moins ε suivant d à partir de x
en restant admissible x
−∇c(x)
• Contrainte égalité : ∇cE(x)Td = 0 → tangent
• Contrainte inégalité : ∇cI(x)Td ≤ 0 → intérieur

Ensemble convexe
Xadm convexe, y≠x, x,y∈Xadm ⇒ [x,y]⊂ Xadm
⇒ d=y−x est une direction admissible à partir de x

Point intérieur
x point intérieur à Xadm x d
⇒ Toute direction d ∈Rn est admissible à partir de x

52
1 Bases théoriques
1.1 Définitions
1.1.6 Direction de déplacement
Techniques d’optimisation

1.1.6 Contraintes linéaires


Contraintes linéaires
Contraintes linéaires sous forme standard : Ax = b
x ≥ 0
{
X adm = x ∈ R / Ax = b, x ≥ 0
n
}
Direction admissible
Ad = 0
d ∈Rn direction admissible à partir de x point admissible ⇔ 
d i ≥ 0 si x i = 0
Preuve :
 A(x + sd) = b  Ad = 0 car Ax = b
Pour s>0 petit, on doit avoir :(x + sd) ∈ X adm ⇔  x + sd ≥ 0 ⇔  x + sd ≥ 0
 
Si xi > 0, alors xi + sd i > 0 pour s assez petit
Si xi = 0, alors xi + sd i ≥ 0 si d i ≥ 0

Combinaison de directions admissibles


Toute combinaison linéaire à coefficients positifs de directions admissibles
est une direction admissible.
 Ad = 0
Preuve : Une combinaison linéaire à coefficients positifs vérifie également d ≥ 0 si x = 0
 i i

53
1 Bases théoriques
1.2 Contraintes linéaires
Techniques d’optimisation

Sommaire
1. Bases théoriques
1.1 Définitions
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
1.2.2 Direction admissible
1.2.3 Réduction
1.2.4 Projection
1.3 Contraintes non linéaires
1.4 Conditions d’optimalité

2. Optimisation sans contraintes

3. Optimisation avec contraintes

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

1.2.1 Rappels d’algèbre linéaire

 Application linéaire
- Matrice d’une application linéaire
- Espace nul
- Espace image

 Matrice
- Valeurs et vecteurs propres
- Matrices particulières
- Factorisations

 Système linéaire
- Solutions
- Contraintes redondantes

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

1.2.1 Application linéaire


Application linéaire
Une matrice A∈Rm×n définit une application linéaire de Rn dans Rm : x ∈ R  y = Ax ∈ R
n m

Espace nul (ou noyau)


• L’espace nul de A est défini par : {
Ker(A) = x ∈ R n / Ax = 0 }
• Si A est non singulière : Ker(A) = {0}

Espace image
• L’espace image de A est défini par : {
Im(A) = y = Ax, x ∈ R n }
• Si A est non singulière : Im(A)= R n

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

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


Ker(A) et Im(AT) sont supplémentaires dans Rn : Ker(A) ⊕ Im(A T ) = R n
Tout x ∈Rn s’écrit de façon unique comme somme d’un élément xZ de Ker(A)
et d’un élément xY de Im(AT)
x ∈ Ker(A)
∀x ∈ R n , x = x Z + x Y avec  Z de façon unique
 Y
x ∈ Im(A T
)
56
1 Bases théoriques
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation

1.2.1 Matrice
Valeurs et vecteurs propres
Une matrice A∈Rn×n admet la valeur propre σ∈R
s’il existe un vecteur non nul v ∈Rn tel que : Av = σv
v est un vecteur propre associé à la valeur propre σ.

Matrices particulières
• A non singulière ⇔ Aucune valeur propre de A n’est nulle.

• A symétrique ⇔ AT = A
⇒ A admet n valeurs propres réelles (distinctes ou non)
⇒ A admet une base orthonormée de vecteurs propres

• A orthogonale ⇔ AAT = ATA = I

• A semi-définie positive ⇔ vTAv > 0 pour tout v ∈Rn


• A définie positive ⇔ vTAv ≥ 0 pour tout v ∈Rn

• A symétrique définie positive ⇒ A admet n valeurs propres réelles positives


(distinctes ou non)

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

1.2.1 Exemple
Valeurs propres d’une matrice 2×2
a a 12 
• Matrice A : A =  11 
 a 21 a 22 

a 11 − σ a 12
• Valeurs propres : det(A − σI) = 0 ⇒ = 0 ⇒ (a 11 − σ)(a 22 − σ) − a 12 a 21 = 0
a 21 a 22 − σ

⇒ σ 2 − (a 11 + a 22 )σ + a 11a 22 − a 12 a 21 = 0

1
⇒ σ=  a 11 + a 22 ± (a 11 + a 22 ) 2 − 4(a 11a 22 − a 12 a 21 ) 
2 

 802 − 400  σ1 = 1001.60


• Exemple : A =   ⇒
 − 400 200  σ 2 = 0.39936

Conditionnement : κ(A) = 2508

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

1.2.1 Exemple
Diagonalisation matrice symétrique 2×2
a b
• Matrice Q : Q =   avec b = c
 c d 
 cos α   − sin α 
• Base orthonormée de vecteurs propres : v1 =   , v 2 =  
 sin α   cos α 
 cos α − sin α 
• Matrice de passage orthogonale : P =  
 sin α cos α 

 a cos 2 α + 2b cos α sin α + d sin 2 α (d − a ) cos α sin α + b(cos 2 α − sin 2 α) 


P QP = 
T

 (d − a ) cos α sin α + b(cos α − sin α)
2 2
a sin α − 2b cos α sin α + d cos α 
2 2

→ diagonale si (d − a ) cos α sin α + b(cos 2 α − sin 2 α) = 0

avec b ≠ 0 sinon Q directement diagonale ⇒ cos α ≠ 0


a −d
• Direction des axes principaux (vecteurs propres) : tan 2 α + tan α − 1 = 0
→ 2 solutions α1 et α2 = α1 + π/2 b

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

1.2.1 Permutation
Permutation de colonnes
1  j  k  n
1 ×  ×  ×  ×
 
A∈Rm×n, matrice à m lignes, n colonnes A =     
 
m ×  ×  ×  ×

E∈Rn×n , matrice de permutation des colonnes j et k


ET = E
1  j  k  n

1
1  0  0  0
 
     1  j  k  n

  0  1  0 1 ×  ×  ×  ×
j 0
   
E =      AE =      
   
m ×  ×  ×  ×
k 0
  1  0  0
    
 
n 0  0  0  1 

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

1.2.1 Factorisation
Factorisation de matrice
A∈Rm×n, matrice à m lignes, n colonnes avec m < n
A de rang plein : rang(A) = m < n
1  j  k  n

×  ×  ×  ×
1
 
A =     
 
m ×  ×  ×  ×

3 types de factorisations sont utiles dans les algorithmes d’optimisation :

• Factorisation LU → Pour réduire le problème (variables dépendantes et indépendantes)


Pour construire une base de l’espace nul

• Factorisation QR → Pour réduire le problème (variables dépendantes et indépendantes)


Pour construire une base orthogonale de l’espace nul

• Factorisation LLT → Pour une matrice définie positive


ou LDLT Pour rendre le hessien défini positif

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

1.2.1 Factorisation LU
Factorisation LU 1  j  k  n
1 ×  ×  ×  ×
 
A∈Rm×n, matrice à m lignes, n colonnes A =     
 
m ×  ×  ×  ×
• Matrice carrée n×n
L n×n triangulaire inférieure
AE = LU
U n×n triangulaire supérieure

• Matrice rectangulaire m×n, m< n → Factorisation de AT


L1 m×m triangulaire inférieure
 L1 
EA = LU =   U
T
L2 (n−m)×m pleine
 2
L U m×m triangulaire supérieure

 L−1T LT2  − T
• Base de l’espace nul : Z = E 
T
U

 −I 

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

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

1.2.1 Factorisation QR
Factorisation QR 1  j  k  n
1×  ×  ×  ×
 
A∈Rm×n, matrice à m lignes, n colonnes A =     
 
m ×  ×  ×  ×

• Matrice rectangulaire m×n


Q m×m orthogonale → QQT = I
AE = QR
R m×n triangulaire supérieure

• Base de l’espace nul → Factorisation de AT


Q1 n×m orthogonale
EA T = QR = (Q1 Q 2 )R Q2 n×(n−m) orthogonale → Z = E T (Q 2 )
R n×m triangulaire supérieure

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

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

1.2.1 Factorisation LLT


Factorisation LLT

A∈Rn×n, matrice carrée n×n symétrique définie positive

ETAE = LLT avec L matrice n×n triangulaire inférieure

• Lien avec la factorisation QR

AE = QR ⇒ E T A T AE = R T Q T QR = R T R car Q orthogonale
R = L
→  −1
Q = AER

Méthode de factorisation LLT ou LDLT


• Méthode de Cholesky
→ Permet de vérifier que la matrice A est bien définie positive

• Méthode de Cholesky modifiée


→ Permet de rendre la matrice A définie positive en la modifiant au cours de la factorisation

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

1.2.1 Exemple
Factorisation LDLT d’une matrice 3×3
A = L D LT
 a 11 a 21 a 31   1 0 0  d1 0 0  1 l 21 l 31 
     
 a 21 a 22 a 32  =  l 21 1 0  0 d2 0  0 1 l 32 
a
 31 a 32 a 33   l 31 l 32 1  0 0 d 3  0 0 1 

• Résolution directe
d1 = a 11 → d1 , d2 , d3 > 0
a 11 = d1
  si A est définie positive
  a
a 21 = d1l 21 l 21 = 21
 d1 → sinon on modifie dj

a 31 = d1l 31  a 31 en cours de factorisation
l 31 = dj = max(δ , dj) , δ > 0
 ⇒  d1
a 22 = d1l 221 + d 2 d 2 = a 22 − d1l 221
 
a = d l l + d l 
 32 1 31 21 2 32 l 32 = a 32 − d1l 31l 21
  d2
a 33 = d1l 31
2
+ d 2 l 32
2
+ d3 d = a − d l 2 − d l 2
 3 33 1 31 2 32

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

1.2.1 Exemple
Factorisation LDLT d’une matrice 2×2

A = L D LT d1 = a 11
 a 21
 a 11 a 21   1 0  d1 0  1 l 21  ⇒
 =    l 21 =
 a 21 a 22   l 21 1  0 d 2  0 1   d1
d 2 = a 22 − d1l 221
• Exemple

 802 − 400   1 0  802 0 


A =   ⇒ L =   , D =  
 − 400 200   − 0 . 4988 1   0 0. 4988 

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

σ1 = 1001.60
Valeurs propres de A : 
σ 2 = 0.39936

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

1.2.1 Factorisation LDLT


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

• Algorithme
Pour j = 1,2,…,n Modification pour rendre dj > 0
j−1 (si A n’est pas définie positive)
c jj = a jj − ∑ d s l 2js
s =1 Si dj ≤ δ   θ 
2

d j = c jj d j = max c jj ,   , δ  avec θ j = max c ij
 j
 
 β  j< i ≤ n

Pour i = j+1,…,n
j−1
d j ≥ δ
c ij = a ij − ∑ d s l is l js ⇒ 
s =1 m ij = l ij d j ≤ β , i = j + 1,..., n
c ij
l ij = Paramètres : δ > 0 petit (δ = 10-3)
dj β>0 (β = 1)
Fin boucle i
Fin boucle j
67
1 Bases théoriques
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation

1.2.1 Système linéaire


Système linéaire

A ∈ R m × n → matrice de rang r : rang(A) = r



Ax = b avec b ∈ R
m
→ m équations
x ∈ R n → n inconnues

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

{
Im(A) = y = Ax, x ∈ R n } → r = dim(Im(A)) ≤ m,n

Solutions possibles
• Pas de solution : système incompatible (m>n : plus d’équations que d’inconnues)
• Solution unique : système non singulier (m=n : autant d’équations que d’inconnues)
• Infinité de solutions : système sous-déterminé (m<n : moins d’équations que d’inconnues)

Problème d’optimisation
Contraintes linéaires Ax=b → système sous-déterminé (m<n)
→ n-m inconnues «libres» permettant de minimiser le critère

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

1.2.1 Système linéaire


Contraintes redondantes
Pour un système sous-déterminé (m<n), si A est de rang déficient : rang(A) = r < m,
on peut extraire de A une sous-matrice à ∈Rr×n de rang plein, telle que :
~ ~
Ax = b ⇔ Ax = b
à est composée des lignes l1,…,lr de A
Les lignes lr+1,…,lm sont combinaisons linéaires des lignes l1,…,lr.
Elles correspondent à des contraintes redondantes et peuvent être éliminées de la résolution.

A Ã
1       n 1       n
1  × × × × × × × × × ×  l1  × × × × × × × × × × 
   
                         
             lr  × × × × × × × × × × 
   
             l r +1  × × × × × × × × × × 
   
                         
m  × × × × × × × × × ×  l m  × × × × × × × × × × 

69
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation

1.2.2 Direction admissible

 Polytope

 Forme standard

 Sommet

 Base

 Solution de base

 Direction de base

70
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation

1.2.2 Polytope
Définition
Polytope P dans Rn {
P = x ∈ R n / Ax ≤ b } A ∈ Rm×n , b ∈ Rm

Interprétation géométrique

A1,1 x 1 + A1,2 x 2 +  + A1, n x n = b1 → hyperplan 1


A x + A 2,2 x 2 +  + A 2, n x n = b 2 → hyperplan 2
Ax = b ⇔  2,1 1

A m,1 x 1 + A m,2 x 2 +  + A m, n x n = b m → hyperplan m

A x ≤ b j
Chaque hyperplan j sépare Rn en 2 sous-espaces :  j,.
A j,. x ≥ b j
P
P = ensemble de points de Rn délimité par m hyperplans

→ Polytope dans R2 = polygone


→ Polytope dans R3 = polyèdre

71
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation

1.2.2 Forme standard


Forme standard
Polytope P dans Rn sous forme standard
{
P = x ∈ R / Ax = b , x ≥ 0
n
}
A ∈ Rm×n , b ∈ Rm
A de rang plein (élimination contraintes redondantes → Ã)

Passage sous forme standard


• Contrainte inégalité : Transformation en contrainte égalité
Ajout d’une variable d’écart positive
c(x) + z = b c′(x) = b avec c′(x) = c(x) + z
c(x) ≤ b ⇔  ⇔ 
z ≥ 0 z ≥ 0
c(x) − z = b c′(x) = b avec c′(x) = c(x) − z
c(x) ≥ b ⇔  ⇔ 
z ≥ 0 z ≥ 0
• Contraintes de bornes : Changement de variable → borne inférieure
Ajout d’une variable d’écart positive → borne supérieure
x ′ = x − x l , x ′ ≥ 0 ⇔ x ′ = x − x l , x′ ≥ 0
xl ≤ x ≤ xu ⇔ 0 ≤ x − xl ≤ xu − xl ⇔  
x ′ ≤ x u − x l x ′ + z = x u − x l , z ≥ 0
• Variable libre : Différence de 2 variables positives
x ∈ R ⇔ x = z − y , y, z ≥ 0
72
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation

1.2.2 Exemple
Mise sous forme standard
• Problème linéaire (P)
− x 1 + 3x 2 =5
min x 1 + 2x 2 + 3x 3 sous  2x 1 − x 2 + 3x 3 ≥ 6
x 1 ∈ R, x 2 ≥ 1, x 3 ≤ 4
x1 , x 2 , x 3

• Changement de variables pour les bornes


x 1 ∈ R x 1 = z1 − y1 → y1 , z1 ≥ 0
x 2 ≥ 1 ⇔ x 2 ' = x 2 − 1 → x 2 ' ≥ 0
x 3 ≤ 4 x 3 ' = 4 − x 3 → x 3 ' ≥ 0

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


2x 1 − x 2 + 3x 3 ≥ 6 ⇔ 2x 1 − x 2 + 3x 3 − z 2 = 6 → z2 ≥ 0

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


 y − z + 3x 2 ' =2
min z1 − y1 + 2 x 2 '−3x 3 '+14 sous  1 1
y 1 , z 1 , z 2 , x 2 ', x 3 ' 2z1 − 2y1 − x 2 '−3x 3 '−z 2 = −5

73
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation

1.2.2 Sommet
Sommet
Polytope P dans Rn sous forme standard
{
P = x ∈ R / Ax = b , x ≥ 0
n
} A ∈ Rm×n, b ∈ Rm
A de rang plein : rang(A)=r=m≤n

Définition

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

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

74
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation

1.2.2 Base
Base
Polytope P dans Rn sous forme standard
{
P = x ∈ R n / Ax = b , x ≥ 0 }
A ∈ Rm×n, b ∈ Rm

• A est de rang plein r=m≤n ⇒ Il existe m colonnes indépendantes


• On choisit une sous-matrice B ∈ Rm×m de rang plein (parmi C mn combinaisons possibles)

B N
1  m m +1  k −1 k k +1  n

×  × ×  × × ×  ×
1
 
 m
          
n −m
AE =  B N =
  m ×  × ×  × × ×  ×
 

E matrice de permutation des colonnes de A : EET=I

A.,k = kème colonne de AE


• B = matrice de base → B ∈ Rm×m inversible
• N = matrice hors base → N ∈ Rm×(n-m)

75
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation

1.2.2 Solution de base


Identification des sommets
Polytope P dans Rn sous forme standard
{
P = x ∈ R n / Ax = b , x ≥ 0 } A ∈ Rm×n, b ∈ Rm

• Choix d’une base B ∈ Rm×m


m 
n −m x 
AE =  B N E T x =  B 
  xN 
• xB ∈ Rm = variables en base (ou liées ou dépendantes)
xN ∈ Rn-m = variables hors base (ou libres ou indépendantes)
 Ax = b  Bx B + Nx N = b x B = B −1 (b − Nx N )
• Point admissible : x ∈ P ⇔  ⇔  ⇔ 
x ≥ 0 x ≥ 0 x ≥ 0

• Identification des sommets


x B = B −1b ≥ 0  B −1b 
Tout point x tel que :  ⇒ E x = 
T

 est un sommet du polytope.
 N
x = 0  0 

→ « solutions de base »
76
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation

1.2.2 Solution de base


Identification des sommets
Preuve : par l’absurde
 xB   x B = B −1b ≥ 0
• On suppose le point x : E x =   avec 
T
n’est pas un sommet de P.
 N
x  N
x = 0
x peut alors s’écrire : x = λy + (1- λ)z avec 0<λ<1
y et z ∈P , y≠x, z≠x

• En décomposant suivant les composantes B et N :  x B = λy B + ( 1 − λ )z B avec  y ∈ P ⇒ y N ≥ 0


 x N = λy N + ( 1 − λ ) z N z ∈ P ⇒ z N ≥ 0
• A partir de xN=0
y ,z ≥ 0 y = 0
x N = λy N + ( 1 − λ )z N = 0 avec  N N ⇒ N
0 < λ < 1 z N = 0
y = xB
• A partir de y∈P : Ay = b ⇔ By B + Ny N = b ⇒ y B = B −1b ⇒  B
A partir de z∈P : Az = b ⇔ Bz B + Nz N = b ⇒ z B = B −1b z B = xB

 B −1b 
• On obtient y = z = x =   en contradiction avec l’hypothèse que x n’est pas un sommet de P

 0 
77
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation

1.2.2 Solution de base


Solution de base
Polytope P dans Rn sous forme standard
{
P = x ∈ R n / Ax = b , x ≥ 0 } A ∈ Rm×n, b ∈ Rm
A de rang plein : rang(A)=r=m≤n
Définition
x ∈ Rn est une solution de base de P

Il existe m indices i1,…,im tels que
• La matrice B ∈ Rm×m composée des colonnes i1,…,im de A est de rang plein
• Les n-m composantes xi, i≠ i1,…,im sont nulles → xN = 0  B −1b 
−1 ⇒ E x = 
T


• x vérifie Ax=b → x B = B b  0 

Solution de base admissible


Une solution de base x est admissible si toutes ses composantes sont positives (x ∈ P).
x vérifie également x ≥ 0 ⇒ x B = B −1b ≥ 0
→ Base admissible ou réalisable, solution de base admissible ou réalisable

Solution de base dégénérée


Une solution de base x est dégénérée si plus de n-m composantes de x sont nulles.
xN=0 par définition (n-m composantes) ⇒ xB comporte des composantes nulles
78
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation

1.2.2 Solution de base


Lien sommet – solution de base
Polytope P dans Rn sous forme standard
{
P = x ∈ R n / Ax = b , x ≥ 0 }A ∈ Rm×n, b ∈ Rm
A de rang plein : rang(A)=r=m≤n

• { }
I=indices des composantes nulles en x*∈P : I * = i / x *i = 0
(= contraintes inégalités actives)

• { }
S=variété linéaire définie par : S* = x ∈ R n / Ax = b , x i = 0, ∀i ∈ I*

x*∈Rn est un sommet de P ⇔ S* = {x } ⇔ x* est une solution de base admissible de P


*

Lien sommet – contraintes actives

x*∈P est un sommet de P ⇔ Au moins n contraintes sont actives en x*

• m contraintes égalité : Ax * = b
• n-m contraintes inégalité : x *N = 0
Les m contraintes inégalité sur xB peuvent être actives ou non :
x *B = B −1b ≥ 0 → dégénérescence
79
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation

1.2.2 Solution de base


Lien sommet – solution de base
Eléments de la démonstration : Le sens inverse est déjà démontré (identification des sommets)

Sens direct : x∈Rn est un sommet de P ⇒ x est une solution de base admissible de P
• On suppose par contraposée que x n’est pas une solution de base admissible.
 m n −m  E T x =  x B 
• En décomposant suivant les composantes B et N : AE = B N  x 
avec B,N choisies telles que xB > 0    N
• x n’est pas une solution de base admissible ⇒ Il existe au moins une composante xNk ≠ 0
 d Bk   − B −1 A.,k 
T
 1 m m +1 k −1 k k + 1 n
 
E d =  k =   
 + ek =  d 1  d m 0  0 1 0  0 
T k
On construit la direction dk
(dite kème direction de base)  N 
d 0   
( )
Ad k = Bd Bk + Nd Nk = − BB −1 A.,k + Nd Nk = − A.,k + A.,k = 0 car N d Nk = A.,k
( )
k
⇒ A x + αd k = Ax + αAd k = b
avec A.,k = kème colonne de AE, dk a toutes ses composantes hors base nulles sauf la kème = 1
x > 0  Ax = b
• Comme  B , on peut se déplacer suivant −dk et +dk d’un pas petit en conservant x ≥ 0
 x Nk > 0 
→ On obtient 2 points y et z de P tels que x = λy + (1- λ)z avec 0<λ<1
→ x n’est pas un sommet de P. 80
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation

1.2.2 Exemple
Recherche des solutions de base
Polytope P dans R4 sous forme standard
1 1 1 0   1
P= {(x1 , x 2 , x 3 , x 4 ) / Ax = b , x ≥ 0} avec A =   , b =  
1 − 1 0 1   1
• On utilise les contraintes pour réduire le problème à (x1,x2)
x + x 2 + x 3 = 1 ⇔ x 3 = 1 − x 1 − x 2
Ax = b ⇔  1 
x 1 − x 2 + x 4 = 1 x 4 = 1 − x 1 + x 2
x ≥0 x + x2 ≤ 1
x ≥ 0 ⇒  3 ⇒  1
x 4 ≥ 0 x 1 − x 2 ≤ 1

• Polytope P’ réduit dans R2

 x x + x 2 ≤ 1 x 1 ≥ 0 
P' =  1  /  1 ,  
 x 2   x 1 − x 2 ≤ 1  x 2 ≥ 0
 x1 
x  x 
• Les polytopes P dans R et P’ dans R sont équivalents :  x 2  ∈ P ⇔  x 1  ∈ P'
4 2
 3   2
x4 
Remarque : P = forme standard de P’
81
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation

1.2.2 Exemple
Recherche des solutions de base
• Représentation de P’ dans R2 x2
 x x + x 2 ≤ 1 x 1 ≥ 0 
P' =  1  /  1
1 C
,  
  x 2   x 1 − x 2 ≤ 1  x 2 ≥ 0
x1+x2=1
→ représentation des valeurs possibles de (x1,x2)
pour (x1,x2,x3,x4) ∈P
 x1  P
1 1 1 0  x 2  1
• Contraintes de P : Ax = b ⇔    =   B
 1 − 1 0 1  x 3  1
A
4 variables − 2 contraintes
 x4  0 1 x1
• Base de P
→ choisir 2 colonnes indépendantes de A
→ 6 combinaisons possibles
x1−x2=1
• Solution de base
→ fixer les 2 variables hors base xN à 0
→ calculer les 2 variables de base xB pour vérifier Ax=b D
→ base admissible si xB ≥ 0
82
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation

1.2.2 Exemple
Recherche des solutions de base
Examen des 6 bases possibles de P x2
1 1 1 0   1 1 C
A =   , b =   x B = B −1b
1 − 1 0 1   1
x1+x2=1
1 1   0,5 0,5  1
• Base (x1,x2) : B =  
1 − 1 , B -1
=  
 0,5 − 0,5  B  0 
, x =
     
x = (1 0 0 0) admissible → point B P
A B
1 1  0 1  1 x1
• Base (x1,x3) : B =  
1 0  , B -1
=   , x B =   0 1
   1 − 1  0
x = (1 0 0 0) admissible → point B

1 0   1 0 1 x1−x2=1
• Base (x1,x4) : B =   , B -1 =   , x B =  
 1 1   − 1 1  0
x = (1 0 0 0) admissible → point B D

83
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation

1.2.2 Exemple
Recherche des solutions de base
Examen des 6 bases possibles de P x2
1 1 1 0   1 1 C
A =   , b =   x B = B −1b
1 − 1 0 1   1
x1+x2=1
 1 1  0 − 1  − 1
• Base (x2,x3) : B =  
 −1 0 , B -1
=   , x B =  
   1 1  2
x = (0 −1 2 0) non admissible → point D P
A B
 1 0 1 0  1 x1
• Base (x2,x4) : B =  
 −1 1  , B -1
=   , x B =   0 1
   1 1   2
x = (0 1 0 2) admissible → point C

1 0 1 0  1 x1−x2=1
• Base (x3,x4) : B =   , B -1 =   , x B =  
 0 1   0 1   1
x = (0 0 1 1) admissible → point A D

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

1.2.2 Direction de base


Direction de déplacement à partir d’un sommet
Polytope P dans Rn sous forme standard
{
P = x ∈ R n / Ax = b , x ≥ 0 } A ∈ Rm×n de rang plein, b ∈ Rm
 x B   B −1b 
x∈Rn solution de base admissible de P : E x =   =  ≥0
T

 N  0 
x

d 
d∈Rn direction de déplacement : E T d =  B 
dN 
Direction admissible

d direction admissible en x ⇔ Ad = 0 (contraintes linéaires)


d i ≥ 0 si x i = 0
Ad = 0 ⇔ Bd B + Nd N = 0 ⇔ d B = −B −1 Nd N

d B = −B −1 Nd N

d direction admissible en x ⇔ d N ≥ 0 car x N = 0
d Bi ≥ 0 si x Bi = 0 (solution de base dégénérée)

→ « directions de base »
85
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation

1.2.2 Direction de base


Direction de base
 x B   B −1b 
solution de base admissible de P : E x =   =  ≥0
T
x∈Rn 
 N 
x 0 
k = indice d’une variable hors-base  d kB   dB 
k ème E T k
d =   noté  
d = k direction de base en x : dk 
 N dN 
• Les composantes dN sur les variables hors base sont toutes nulles, sauf sur la variable xk
T
 0  1 k −1 k k +1 n

E   = ek =  0 
T
0 1 0  0
dN   
• Les composantes dB sur les variables en base vérifient la 1ère condition de direction admissible
Ad = 0 ⇒ Bd B + Nd N = 0 ⇒ d B = −B −1 Nd N = −B −1 ∑ A ., jd j
j hors base
⇒ d B = −B −1A ., k (A.,k = kème colonne de AE)

• Définition  d kB   − B −1A ., k  n
T
 1 m m +1 k −1 k k +1
La kème direction de base en x est : E d =  k  =   + e k =  d1  d m 0  0 1 0  0 
T k

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

1.2.2 Direction de base


Direction de base admissible
x∈Rn solution de base admissible de P, k = indice d’une variable hors-base

La kème direction de base dk en x vérifie par définition : Ad = 0


d N ≥ 0
Pour que dk soit une direction admissible, il faut également vérifier : d Bi ≥ 0 si x Bi = 0

Cas d’une base non dégénérée

x solution de base admissible non dégénérée (xB > 0)



Toutes les directions de base en x sont admissibles

Combinaison de directions de base


x∈Rn solution de base admissible de P
Toute direction admissible d en x est combinaison linéaire des directions de base dk en x

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

87
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation

1.2.2 Direction de base


Cas d’une base non dégénérée
Preuve : on suppose que x est une solution de base non dégénérée.
• La kème direction de base dk vérifie
( )
Ad k = Bd Bk + Nd Nk = − BB −1 A.,k + Nd Nk = − A.,k + A.,k = 0 car N d Nk k = A.,k
• Comme  x B > 0 , on peut se déplacer suivant dk à partir de x en restant admissible
d N > 0 → dk est une direction admissible.

Combinaison de directions de base


Preuve : on suppose que d est une direction admissible.

• En décomposant suivant les composantes B et N : Ad = Bd B + Nd N = 0 ⇒ d B = − B −1 Nd N

• En notant dk les composantes de dN dans la base canonique de Rn : d N = ∑


k ∈N
d k ek
 dB   B −1 A.,k 
• On obtient pour d : d =   = ∑ d k  

 d N  k ∈ N  ek 
 B −1 A.,k 
avec d =   → d = combinaison linéaire des dk
k
 = kème direction de base
 ek 
88
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation

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

P= {(x1 , x 2 , x 3 , x 4 ) / Ax = b , x ≥ 0} 1 C

1 1 1 0   1 x1+x2=1
avec A =   , b =  
1 − 1 0 1   1
• Direction de base en une solution de base admissible
→ choisir une variable hors base (k) P
→ fixer la composante hors base correspondante dNk à 1 A B
→ fixer les autres composantes hors base dN à 0
→ calculer les composantes en base dB par −B−1A.,k 0 1 x1

• Si la base est non dégénérée, la direction est admissible.


Sinon, il faut vérifier dB ≥ 0 sur les composantes xB = 0
x1−x2=1
• Sommets de P
→ 2 variables hors base à chaque sommet
→ 2 directions de base (= arêtes du polytope) D

89
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation

1.2.2 Exemple
Recherche des directions de base
Examen de directions de base de P x2
1 1 1 0  1 C
A =  
 1 − 1 0 1 
x1+x2=1
• Base admissible (x2,x4) : x = (0 1 0 2) → point C
d3 d1
 1 0 1 0 
B =   , B -1 =  
 −1 1  1 1  P
• Direction de base d1 correspondant à la variable hors base x1 A B
1 0 1  − 1 
d B = −B -1A .,1 = −   =   0 1 x1
1 1 1  − 2 
d1 = (1 −1 0 −2) → admissible

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


1 0  1   − 1
d B = −B -1A .,3 = −   =  
 1 1  0   − 1 D
d3 = (0 −1 1 −1) → admissible
90
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation

1.2.2 Exemple
Recherche des directions de base
Examen de directions de base de P x2
1 1 1 0  1 C
A =  
 1 − 1 0 1 
x1+x2=1
• Base admissible (x1,x4) : x = (1 0 0 0) → point B
base dégénérée d2
1 0   1 0
B =   , B = 
-1

1 1   −1 1  P
• Direction de base d2 correspondant à la variable hors base x2 A B
 1 0  1   − 1
d B = −B -1A ., 2 = −   =   0 d3 1 x1
 − 1 1  − 1  2 
d2 = (−1 1 0 2) → admissible

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


 1 0  1   − 1
d B = −B -1A .,3 = −   =  
 − 1 1  0   1  D
d3 = (−1 0 1 1) → admissible
91
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation

1.2.2 Exemple
Recherche des directions de base
Examen de directions de base de P x2
1 1 1 0  1 C
A =  
 1 − 1 0 1 
x1+x2=1
• Base admissible (x1,x2) : x = (1 0 0 0) → point B
base dégénérée d4
1 1   0,5 0,5 
B =   , B = 
-1

1 − 1  0,5 − 0,5  P
• Direction de base d3 correspondant à la variable hors base x3 A B
 0,5 0,5  1   − 0,5 
d B = − B -1A .,3 = −   =   0 1 x1
 0,5 − 0,5  0   − 0,5 
d3 = (−0,5 −0,5 1 0) → non admissible (base dégénérée)
d3
• Direction de base d4 correspondant à la variable hors base x4 x1−x2=1
 0,5 0,5  0   − 0,5 
d B = − B -1A ., 4 = −   =  
 0,5 − 0,5   
1 0,5  D
d4 = (−0,5 0,5 0 1) → admissible
92
1 Bases théoriques
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation

1.2.3 Réduction

 Principe

 Méthode générale

 Réduction avec noyau

 Choix des matrices Y et Z

 Interprétation géométrique

93
1 Bases théoriques
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation

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

• On cherche un déplacement p à partir d’un point initial x0.


Le point initial x0 n’est pas forcément admissible : Ax0=b0.
• Le nouveau point x doit être admissible et meilleur que x0 (diminution du critère).
Ax = b
x 0 → x = x 0 + p avec  → admissible
f(x) < f(x 0 ) → amélioration

Principe de réduction
On utilise les m contraintes pour réduire le problème à n−m variables.
Le déplacement p est décomposé en 2 termes : p = plibre + plié , plibre∈Rn , plié ∈Rn
• plibre dépend de n−m variables libres (ou indépendantes) → pour minimiser le critère f
• plié dépend de m variables liées (ou dépendantes) → pour restaurer l’admissibilité

• plié est calculé à partir des contraintes


Ax = b ⇒ A(x 0 + p) = b ⇒ A(p libre + p lié ) = b − b 0 ⇒ Ap lié = b − b 0 − Ap libre

→ Système non singulier (A de rang plein)


→ Le problème d’optimisation est réduit à plibre (n−m variables)
94
1 Bases théoriques
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation

1.2.3 Méthode générale


Décomposition du déplacement
• On choisit une base de Rn formée de n vecteurs indépendants : (y1…,ym,z1 ,…,zn-m)
Le déplacement p s’écrit comme une combinaison linéaire des vecteurs yi et zi :
m n −m
p = ∑ a i y i + ∑ b i z i ⇔ p = Yp Y + Zp Z
i =1 i =1

avec matrice Y = (y1 ,…,ym ) ∈Rn×m = composantes des m vecteurs y1,…,ym


matrice Z = (z1 ,…,zn-m) ∈Rn×(n−m) = composantes des n−m vecteurs z1,…,zn-m
vecteur pY= (a1 ,…,am) ∈Rm = coefficients des m vecteurs y1,…,ym
vecteur pZ= (b1 ,…,bn-m) ∈Rn−m = coefficients des n−m vecteurs z1,…,zn-m

• Les composantes liées et libres du déplacement p = plié + plibre sont définies par :
plié = YpY ∈Rn → m variables liées (pY)
plibre = ZpZ ∈Rn → n−m variables libres (pZ)

• Le déplacement doit être admissible


A( x 0 + p) = b ⇒ Ap lié = b − b 0 − Ap libre
⇒ AYp Y = b − b 0 − AZp Z
⇒ p Y = (AY ) (b − b 0 − AZp Z )
−1
si la matrice AY est inversible

95
1 Bases théoriques
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation

1.2.3 Méthode générale


Problème équivalent sans contrainte
• Déplacement total
avec p Y = (AY ) (b − b 0 − AZp Z )
−1
p = Yp Y + Zp Z si la matrice AY est inversible
−1
(
⇒ p = Y(AY ) (b − b 0 ) + I − Y(AY ) A Zp Z
−1
) → réduction à n−m variables pZ

• Coût réduit
( (
f ( x ) = f ( x 0 + p) = f x 0 + Y(AY ) (b − b 0 ) + I − Y(AY ) A Zp Z
−1 −1
) )
= ϕ(p Z ) → coût réduit ϕ = fonction de n−m variables
noté

min f(x 0 + p) sous A(x 0 + p) = b n variables p / m contraintes


p∈R n

⇔ min ϕ(p Z ) n-m variables pZ / 0 contrainte


p Z ∈R n -m

Choix des matrices Y et Z


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

96
1 Bases théoriques
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation

1.2.3 Réduction avec noyau


Base du noyau
• On choisit pour les n−m vecteurs (z1 ,…,zn-m) une base de l’espace nul de A : Azi=0
+ m vecteurs (y1 ,…,ym ) pour former une base de Rn
⇒ AZ = 0

• La matrice (Y Z)∈Rn×n est de rang plein (base de Rn)


⇒ A(Y Z) = (AY 0) de rang plein
⇒ AY matrice inversible de Rm×m

• Le déplacement lié se simplifie


p lié = Yp Y = Y(AY ) (b − b 0 − AZp Z ) = Y(AY ) (b − b 0 )
−1 −1

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

p = Yp Y + Zp Z = Y(AY ) (b − b 0 ) + Zp Z
−1

Problème réduit
minn f(x 0 + p) sous A(x 0 + p) = b ⇔
p∈R p Z ∈R
(
minn-m ϕ(p Z ) = f x 0 + Y(AY ) (b − b 0 ) + Zp Z
−1
)
97
1 Bases théoriques
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation

1.2.3 Choix des matrices Y et Z


A partir d’une base de A
• On choisit une base B∈Rm×m de la matrice A (= m colonnes indépendantes de A)
m 
n −m p  → m
AE =  B E T p =  B 
N (E = matrice de permutation de colonnes de A)
   N
p → n − m
• Le déplacement p est décomposé en p = plibre + plié avec plié ∈Rn , plibre∈Rn , définis par :
p   0 
E T p lié =  B  E T p libre =   Ap lié = b − b 0 − Ap libre ⇒ p B = B −1 (b − b 0 ) − B −1 Np N
 0 pN 

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


m n −m
B m −1
− B N m
−1 p 
Y =   Z =   ⇒ p = Yp Y + Zp Z =  B 
  pN 
 0 n−m  I n−m
pY = b − b0 pZ = pN → décomposition directe selon les composantes de p

Problème réduit
min f(x 0 + p) sous A(x 0 + p) = b ⇔
p∈R n
p N ∈R n -m
(
min ϕ(p N ) = f x 0B + B −1 (b − b 0 − Np N ), x 0N + p N )
98
1 Bases théoriques
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation

1.2.3 Choix des matrices Y et Z


A partir de matrices orthogonales
• La matrice AY doit être inversée
p = Yp Y + Zp Z = Y(AY ) (b − b 0 ) + Zp Z
−1

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

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

 R  m
m
 m Y = Q1
→ 
n −m
A E = n  Q1
T
Q2 
  0  n − m Z = Q 2

• Conditionnement de AY
A T E = Q1R ⇒ A = ER T Q1T ⇒ AY = ER T Q1T Q1 = ER T

→ même conditionnement que R


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

99
1 Bases théoriques
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation

1.2.3 Interprétation géométrique


A partir d’une base de A
• pN = n−m composantes de x → minimisation de f
• pB = m composantes de x → restauration de Ax=b
pB ≠0 car pN ne tient pas compte les contraintes → mauvais conditionnement si pB >> pN

A partir de matrices orthogonales


• ZpZ = déplacement dans le noyau x → minimisation de f
• YpY = déplacement orthogonal à ZpZ → restauration de Ax=b
pY =0 si x0 est admissible car pZ conserve les contraintes → meilleur conditionnement

x2

pZ
pN
Ax=b
pB

x1
100
1 Bases théoriques
1.2 Contraintes linéaires
1.2.4 Projection
Techniques d’optimisation

1.2.4 Projection

 Projection orthogonale sur un hyperplan

 Projection sur le noyau

101
1 Bases théoriques
1.2 Contraintes linéaires
1.2.4 Projection
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

min x − x 0 sous Ax = b → point xP de l’hyperplan le plus proche de x0


x∈R n

• Problème quadratique équivalent xP


min x − x 0 = (x − x 0 ) (x − x 0 ) sous Ax = b
1 2 1 T
x∈R 2n
2

Lagrangien : L( x , λ) = (x − x 0 ) (x − x 0 ) + λ (b − Ax )
1 T T

2 x0
• Condition d’ordre 1
x − x 0 − A T λ = 0
Ax = b ⇒
Ax − AA T λ = Ax 0
Ax = b ⇒
(
λ = AA T −1 (b − Ax ) )
( )
0

  x = x 0 + A AA
T T −1
(b − Ax 0 )
• Solution : ( (
x P = I − A T AA T )
−1
) (
A x 0 + A T AA T )
−1
b

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


→ x P = I − A T AA T ( ) A )x
−1
0

→ matrice de projection : P = I − A T (AA ) A


T −1

102
1 Bases théoriques
1.3 Contraintes non linéaires
Techniques d’optimisation

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

2. Optimisation sans contraintes

3. Optimisation avec contraintes

103
1 Bases théoriques
1.3 Contraintes non linéaires
1.3.1 Direction admissible
Techniques d’optimisation

1.3.1 Direction admissible

 Indépendance linéaire

 Direction admissible à la limite

 Cône des directions

 Qualification des contraintes

104
1 Bases théoriques
1.3 Contraintes non linéaires
1.3.1 Direction admissible
Techniques d’optimisation

1.3.1 Indépendance linéaire


Contraintes linéaires
Pour des contraintes linéaires Ax=b, A∈Rm×n, si A est de rang déficient : rang(A) = r < m,
on peut toujours extraire de A une sous-matrice Ã∈Rr×n de rang plein : rang(Ã) = r, telle que :
~ ~
Ax = b ⇔ Ax = b → élimination des contraintes redondantes (cf §1.2.1)

Contraintes non linéaires


Pour des contraintes non linéaires, on considère un modèle linéaire local.

• x0 point admissible : c E (x 0 ) = 0 ⇔ c(x 0 ) = 0 (contraintes actives en x0)


 I 0
c (x ) ≤ 0
• Contraintes actives linéarisées : ĉ 0 (x) = c(x 0 ) + ∇c(x 0 ) T (x − x 0 ) avec c(x0)=0
ĉ 0 (x) = 0 ⇔ ∇c(x 0 ) T x = ∇c(x 0 ) T x 0 ⇔ Ax = b

On se ramène au cas de contraintes linéaires avec A = ∇c(x0)T (gradient des contraintes actives)

Condition d’indépendance linéaire


Les contraintes sont dites linéairement indépendantes en x0
si les gradients des contraintes actives sont linéairement indépendants en x0.
⇔ La matrice jacobienne des contraintes actives J(x0)=∇c(x0) est de rang plein.

105
1 Bases théoriques
1.3 Contraintes non linéaires
1.3.1 Direction admissible
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
x =   ∈ R 2

 2
x c 2 ( x ) = x 2
1 + (x 2 − 1)2
−1 ≤ 0
2,0
 1
• En x =  
 1 1,5
 − 2  2
∇c1 =   ∇c 2 =  
 1  0 1,0

→ linéairement indépendants
0,5
0
• En x =  
0 0,0
-2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0
0  0 
∇c1 =   ∇c 2 =  
 − 2
-0,5
1
→ linéairement dépendants -1,0

106
1 Bases théoriques
1.3 Contraintes non linéaires
1.3.1 Direction admissible
Techniques d’optimisation

1.3.1 Direction admissible


Définition générale
c (x ) = 0
• x point admissible : c E(x 0) ≤ 0 ⇔ c(x 0 ) = 0 (contraintes actives en x0)
 I 0
• d direction admissible à partir de x ⇔ ∃η > 0 / ∀s , 0 < s < η , x + sd admissible
On peut se déplacer sur un segment de longueur ε suivant d à partir de x en restant admissible.

Applicabilité
• Applicable aux contraintes inégalité et aux contraintes égalité linéaires

d
d

• Inapplicable aux contraintes égalité linéaires d

→ Définition à partir de suites de points admissibles

107
1 Bases théoriques
1.3 Contraintes non linéaires
1.3.1 Direction admissible
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 0 k

Direction admissible à la limite


xk − x
• On considère la suite des directions dk reliant xk à x : d k =
xk − x
• Définition
d1
d direction admissible à la limite en x pour la suite (xk)k ∈ N
( )
⇔ Il existe une sous-suite d k i i∈N telle que : lim
i →∞
d ki = d x1
d2
• Direction admissible à la limite = direction tangente x2
dk
xk

x
d
108
1 Bases théoriques
1.3 Contraintes non linéaires
1.3.1 Direction admissible
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
→ direction tangente aux contraintes égalité
d ∈ D( x )
→ direction intérieure aux contraintes inégalité actives

Propriété
Toute direction admissible à la limite en x appartient au cône des directions en x

Preuve :
c (x ) = 0 → directions d = xk − x
(xk) suite admissible de limite x ⇒ E k
c I (xk ) ≤ 0 xk − x
k

c contrainte active en x : c(x)=0 c(xk ) = c(x) + ∇c(x)T (xk − x) + o( xk − x )


c(xk ) − c(x) o( xk − x ) = 0 (égalité)
→ 
c(xk )
∇c(x)T d k = − ⇒ ∇c(x)T d = lim
xk − x xk − x k →∞ x − x
k ≤ 0 (inégalité)
109
1 Bases théoriques
1.3 Contraintes non linéaires
1.3.1 Direction admissible
Techniques d’optimisation

1.3.1 Qualification
Caractérisation des directions admissibles
• Le cône des directions D(x) au point x admissible est simple à manipuler en pratique :
∇c E (x) T d = 0 → pour toutes les contraintes égalité
d ∈ D( x ) ⇔ 
∇c I (x) d ≤ 0
T
→ pour les contraintes inégalité actives en x

• Toutes les directions admissibles à la limite en x appartiennent à D(x),


mais D(x) peut contenir également des directions non admissibles.
→ D(x) ne caractérise pas les directions admissibles.

Qualification des contraintes


Les contraintes vérifient la condition de qualification au point admissible x si
toute direction du cône D(x) est admissible à la limite.

→ Condition très importante dans les algorithmes

Conditions suffisantes de qualification des contraintes


• Contraintes linéaires : Ax=b
ou
• Contraintes linéairement indépendantes en x : ∇c(x) de rang plein
→ réalisable simplement en pratique par extraction d’une sous-matrice de rang plein
110
1 Bases théoriques
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation

1.3.2 Déplacement admissible

 Principes

 Elimination directe

 Réduction généralisée

 Restauration

111
1 Bases théoriques
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation

1.3.2 Déplacement admissible


Problème sous contraintes non linéaires
c (x) = 0
minn f(x) sous  E
x∈R c I ( x ) ≤ 0
• On cherche à construire un déplacement p admissible et améliorant à partir d’un point initial x0.
On se ramène à un problème avec contraintes égalité (contraintes actives en x0).

min f(x) sous c( x ) = 0 → m contraintes actives en x0


x∈R n

c( x + p) = 0
• Les n composantes du déplacement p doivent vérifier :  0
f ( x 0 + p) < f ( x 0 )
Méthodes possibles
• Elimination directe
On exprime m variables à partir des n−m autres à partir des contraintes.
On substitue dans l’expression de f → problème sans contraintes

• Réduction généralisée
On linéarise les contraintes en x0.
On applique la méthode de réduction des contraintes linéaires (matrices Y et Z).
On corrige le déplacement pour prendre en compte les non-linéarités.
112
1 Bases théoriques
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation

1.3.2 Elimination directe


Principe

min f(x) sous c( x ) = 0 → m contraintes actives


x∈R n

n −m
Les contraintes sont de la forme : c( x ) = c( x lié , x libre ), x lié ∈ R , x libre ∈ R
m

• Si l’on sait résoudre : c( x lié , x libre ) = 0 ⇔ x lié = ψ ( x libre )

le problème devient : min ϕ(x libre ) avec ϕ( x libre ) = f ( x lié , x libre ) = f (ψ ( x libre ), x libre )
x libre ∈R n −m def

→ problème de dimension n-m, sans contrainte

Difficultés
• Il faut faire attention au domaine de définition des variables (contraintes implicites)
→ voir exemples

• Il faut disposer de l’expression analytique des fonctions (rarement réalisé en pratique)

113
1 Bases théoriques
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation

1.3.2 Exemples
3,0
contrainte
Elimination directe lignes de f2,0
• Exemple 1 : min x 12 + x 22 sous x 12 − x 22 = 1
x1 , x 2
1,0
Elimination de x1 : x − x = 1 ⇒ x = 1 + x
2
1
2
2
2
1
2
2 x*
0,0
→ min 1 + 2 x 2
2 ⇒ x2 = 0 -3,0 -2,0 -1,0 0,0 1,0 2,0 3,0
x2 -1,0

x = 1 -2,0
Solution correcte :  1
x 2 = 0
-3,0

1,5
• Exemple 2 : min x 12 + x 22 sous x 12 + 4 x 22 = 1 contrainte
x1 , x 2
lignes de f 1,0
Elimination de x1 : x + 4 x = 1 ⇒ x = 1 − 4 x
2 2 2 2
1 2 1 2 x*
0,5
→ min 1 − 3x 22 ⇒ x 2 = ±∞
x2
0,0
Solution incorrecte -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5
Contrainte implicite : x 1 ≥ 0 ⇒ 1 − 4 x 2 ≥ 0
2 2
-0,5
1 1
⇒ − ≤ x2 ≤ -1,0
2 2
→ à prendre en compte explicitement dans la résolution -1,5
114
1 Bases théoriques
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation

1.3.2 Réduction généralisée


Principe
minn f(x) sous c( x ) = 0 → m contraintes actives
x∈R

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

• Etape de linéarisation + réduction


Le déplacement p1 améliore le critère en supposant un modèle linéaire des contraintes en x0.
→ linéarisation des contraintes en x0
→ application de la méthode de réduction de contraintes linéaires x2 p
On obtient un nouveau point : x1 = x0 + p1 2

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

1.3.2 Réduction généralisée


Etape de linéarisation + réduction
minn f(x) sous c( x ) = 0 → m contraintes actives
x∈R

• On linéarise les contraintes au point initial x0 : ĉ 0 (x) = c(x 0 ) + ∇c(x 0 ) T (x − x 0 )

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


A 0 = ∇c(x 0 ) T
ĉ 0 (x 0 + p) = 0 ⇔ c(x 0 ) + ∇c(x 0 ) p = 0
T
⇔ A0p = b0 avec 
b 0 = −c(x 0 )
• On applique la méthode de réduction de contraintes linéaires.
Le déplacement est décomposé en p = YpY + ZpZ avec Z base du noyau de A0

p∈R p Z ∈R
(
minn f(x 0 + p) sous A 0 p = b 0 ⇔ minn-m ϕ(p Z ) = f x 0 + Y(A 0 Y ) b 0 + Zp Z
−1
) c(x)=0
→ problème à n−m variables sans contraintes c(x)=c1
→ déplacement p1

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

116
1 Bases théoriques
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation

1.3.2 Réduction généralisée


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

• On linéarise les contraintes au point x1 : ĉ1 (x) = c(x1 ) + ∇c(x1 ) T (x − x 1 )


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

A1p = b1 avec A1 = ∇c(x1 )
T
ĉ1 (x 1 + p) = 0 ⇔ c(x1 ) + ∇c(x1 ) T p = 0 ⇔
b1 = −c(x1 )
Résolution du système
• Il faut recalculer les gradients des contraintes en x1 → très coûteux (m×n appels fonction)
On fait l’approximation que : ∇c(x1 ) ≈ ∇c(x 0 )
→ approximation correcte si le déplacement p1 est petit
ou si les contraintes sont peu non linéaires

• Le système sous-déterminé admet une infinité de solutions (n−m variables libres)


Choix possibles : - solution de norme minimale (projection sur les contraintes)
- solution de base (pour ne pas dégrader la minimisation due à p1)

117
1 Bases théoriques
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation

1.3.2 Restauration
Résolution du système
A1 = ∇c(x1 ) T ≈ ∇c(x 0 ) T = A 0
Le déplacement p2 doit vérifier : A1p = b1 avec 
b1 = −c(x1 ) = −c1
• Solution de norme minimale → projection sur l’hyperplan tangent aux contraintes actives
min p sous A1p = b1
p∈R n
(−1
→ p 2 = A1T A1A1T b1 ) (cf §1.2.4)

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


A1 (Yp Y + Zp Z ) = b1 ⇒ p Y = (A1Y ) b1 → p 2 = Y(A1Y ) b1
−1 −1 (cf §1.2.3)

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

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

A1p = b1 avec A1 = ∇c(x1 ) ≈ ∇c(x 0 ) = A 0
T T
→ déplacement p2
 1
b = − c(x 1 ) = − c1

• Le point x2 = x1 + p2 ne vérifie pas forcément les contraintes : c(x2) = c2 ≠ 0


Il faut alors réitérer la résolution à partir de x2.

• On cherche un déplacement p3 à partir de x2 tel que : c(x2+p3) = 0



A 2 p = b 2 avec A 2 = ∇c(x 2 ) ≈ ∇c(x 0 ) = A 0
T T
→ déplacement p3
b 2 = −c(x 2 ) = −c 2
• Si l’on n’obtient pas de point admissible après un nombre donné d’itérations,
il faut réduire le déplacement p1 pour rendre l’approximation linéaire suffisamment correcte.

• Si l’on obtient un point admissible x2, il faut encore vérifier que :


- les contraintes qui étaient inactives en x0 sont respectées en x2
- le point x2 est meilleur que le point initial x0 (car la restauration peut dégrader le critère).
Sinon il faut réduire le déplacement p1.

119
1 Bases théoriques
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation

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

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

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

Restauration avec dégradation du critère

p2
c(x)=0 lignes de f

x0 p1 x1

120
1 Bases théoriques
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
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 p1 (effet Maratos).

Correction d’ordre 2
• On corrige la direction de déplacement pour prendre en compte la non-linéarité des contraintes.
p1 = pas d’ordre 1 (en supposant des contraintes linéaires)
p2 = pas d’ordre 2 (correction des non linéarités constatées en x1 = x0 + p1)
A1 = ∇c(x 0 ) T
A1p 2 = b1 avec  (
→ p 2 = A1T A1A1T b1
−1
)
b1 = −c(x 0 + p1 )
• Pas total : pt = p1 + p2 → direction de recherche.
pt p2
c(x)=0
p1 x1
x0
c(x)=c1

∇c(x0) 121
1 Bases théoriques
1.4 Conditions d’optimalité
Techniques d’optimisation

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

2. Optimisation sans contraintes

3. Optimisation avec contraintes

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

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

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

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

Dualité
Difficulté de résolution due aux 2 objectifs antagonistes :
• Minimiser le critère f(x)
• Satisfaire les contraintes c(x)=0
→ Dualité critère-contraintes

Méthodes duales
Prise en compte des contraintes avec pondération dans la fonction coût
• Critère augmenté → pondération = pénalisation des contraintes
• Lagrangien → pondération = multiplicateurs de Lagrange
• Lagrangien augmenté → pondération = pénalisation + multiplicateurs

→ Problème sans contraintes plus simple


Réglages des pondérations / Equivalence au problème avec contraintes

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

1.4.1 Critère augmenté


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

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

Problème pénalisé sans contraintes


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

Problème pénalisé avec contraintes


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

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

1.4.1 Exemple
Critère augmenté

min
1 2
x ,x 2
1 2
( )
x 2 − x 12 sous x 1 = 1 f ρ (x 1 , x 2 ) =
2
( 2
)
x 2 − x 12 + ρ(x 1 − 1)
1 2 1 2  ρ
⇒ x * (ρ) = 
 ρ −1

0 

1
(
f ( x ) = x 22 − x 12
2
)
⇒ x* = (1 0 ) 2,0
ρ=1
2,0
ρ=10
1,5 1,5
c( x ) = x 1 − 1 1,0 1,0
0,5 0,5
ρ=0 0,0 0,0
2,0
-1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5 -1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5
1,5
-1,0 -1,0
1,0
-1,5 -1,5
0,5
-2,0 -2,0
0,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
ρ=2 ρ=100
-0,5 2,0 2,0

-1,0 1,5 1,5


1,0 1,0
-1,5
0,5 0,5
-2,0
0,0 0,0
-1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5 -1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5
-1,0 -1,0
-1,5 -1,5
-2,0 -2,0
126
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation

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

c (x) = 0 → p contraintes d’égalité


minn f(x) sous  E (PO)
x∈R c I (x) ≤ 0 → q contraintes d’inégalité

Multiplicateurs de Lagrange
1 multiplicateur par contrainte
• λ∈Rp → multiplicateurs des contraintes d’égalité
• µ∈Rq → multiplicateurs des contraintes d’inégalité

Fonction de Lagrange (ou lagrangien)


Le lagrangien du problème (PO) est la fonction L de Rn+p+q dans R
x ∈ R n , λ ∈ R p , μ ∈ R q  L(x, λ, μ) ∈ R
p q
L(x, λ, μ) = f(x) + λ c E (x) + μ c I (x) ⇔ L(x, λ, μ) = f(x) + ∑ λ jc Ej (x) + ∑ μ jc Ij (x)
T T

j=1 j=1

→ multiplicateurs ≈ coefficients de pénalisation des contraintes


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

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

1.4.1 Lagrangien augmenté


Problème pénalisé avec contraintes égalité
• Critère augmenté : coefficient de pénalisation ρ > 0
1 2
min f ρ (x) sous c(x) = 0 avec f ρ (x) = f(x) + ρ c(x)
x∈R n 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

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

1.4.1 Exemple
Lagrangien augmenté
• Fonction de 2 variables
1
( )
min x 22 − x 12 sous x 1 = 1 → minimum en x* = (1 0)
x1 , x 2 2
λ* = 1
• Critère augmenté
(
1
2
)
f ρ (x 1 , x 2 ) = x 22 − x 12 + ρ(x 1 − 1)
1
2
2 
→ minimum en x * (ρ) =  ρ 0 
 ρ −1


• Lagrangien augmenté

2
( ) 1
2
2 ρ−λ
L ρ (x 1 , x 2 , λ ) = x 22 − x 12 + λ(x 1 − 1) + ρ(x 1 − 1) → minimum en x * (ρ, λ) = 
1
 ρ −1

0 

Pour λ = λ* = 1, le minimum sans contrainte du lagrangien augmenté
 ρ −1 
est la solution x* du problème initial. x * (ρ, λ*) =  0  = (1 0 )
 ρ −1 
2,0
x1
λ=2 λ=1
1,5

1,0

0,5
λ=0
0,0
2,0 4,0 6,0 8,0 10,0 12,0 14,0 ρ 129
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation

1.4.1 Exemple
Lagrangien augmenté

min
1 2
( )
x 2 − x 12 sous x 1 = 1 L ρ (x 1 , x 2 , λ ) = (
1 2
2
) 1
2
2 
x 2 − x 12 + λ(x 1 − 1) + ρ(x 1 − 1) ⇒ x * (ρ) =  ρ − λ
 ρ −1

0 
x ,x 2
1 2  
1
(
f ( x ) = x 22 − x 12
2
)
⇒ x* = (1 0 ) 2,0
ρ=1 , λ=1
2,0
ρ=10 , λ=1
1,5 1,5
c( x ) = x 1 − 1 λ* = 1 1,0 1,0
0,5 0,5
ρ=0 0,0 0,0
2,0
-1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5 -1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5
1,5
-1,0 -1,0
1,0
-1,5 -1,5
0,5
-2,0 -2,0
0,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
ρ=2 , λ=1 ρ=100 , λ=1
-0,5 2,0 2,0
-1,0 1,5 1,5
1,0 1,0
-1,5
0,5 0,5
-2,0
0,0 0,0
-1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5 -1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5
-1,0 -1,0
-1,5 -1,5
-2,0 -2,0
130
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation

1.4.1 Exemple
Lagrangien augmenté

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


ρ=2 2,0
ρ=2 ρ=2
2,0 2,0
1,5 1,5 1,5
1,0 1,0 1,0
0,5 0,5 0,5
0,0 0,0 0,0
-1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5 -1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5 -1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5
-1,0 -1,0 -1,0
-1,5 -1,5 -1,5
-2,0 -2,0 -2,0

ρ=10 2,0
ρ=10 ρ=10
2,0 2,0
1,5 1,5 1,5
1,0 1,0 1,0
0,5 0,5 0,5
0,0 0,0 0,0
-1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5 -1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5 -1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5
-1,0 -1,0 -1,0
-1,5 -1,5 -1,5
-2,0 -2,0 -2,0
131
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation

1.4.1 Fonction duale


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

w(λ , μ) = minn L(x, λ, μ)


→ Minimisation du lagrangien à λ et µ fixés
x∈R
x = variables primales
λ et µ = variables duales
• { }
Domaine de w : X w = λ ∈ R , μ ∈ R q / w(λ , μ) > −∞
p
→ w bornée

Concavité - Convexité

• La fonction duale w est concave


• Le domaine Xw est convexe

Preuve : on note : γ=(λ,µ)


• L(x,αγ1+(1−α)γ2) = αL(x,γ1) + (1−α)L(x,γ2) car L linéaire en λ et µ
⇒ w(αγ1+(1−α)γ2) ≥ αw(γ1) + (1−α)w(γ2) pour le minimum/x de chaque membre
→ w concave
• Si γ1et γ2∈Xw, w(αγ1+(1−α)γ2) ≥ αw(γ1) + (1−α)w(γ2) > −∞
⇒ αγ1+(1−α)γ2 ∈Xw
→ Xw convexe
132
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation

1.4.1 Problème dual


Problème dual
c (x) = 0
• Problème primal : min f(x) sous  E
x∈R n
c I (x) ≤ 0
• Fonction duale : w(λ , μ) = minn L(x, λ, μ) → x(λ , μ) / ∇ x L(x, λ , μ) = 0
x∈R

• Domaine de w : {
X w = λ ∈ R p , μ ∈ R q / w(λ , μ) > −∞ } → w bornée

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


λ∈R p , μ∈R q

∇ L(x, λ , μ) = 0 → x(λ , μ)
⇔ max L(x, λ , μ) sous  x → dual de Wolfe
x∈R n , λ∈R p , μ∈R q (λ , μ) ∈ X w , μ ≥ 0

Borne sur la fonction duale


• x* solution du problème primal
• (λ ,µ)∈Xw, µ ≥ 0 ⇒ w(λ , μ) ≤ f(x*)
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
133
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation

1.4.1 Exemple
Fonction duale

• Problème primal : min


x ,x1
1 2
2 2
( )
x 2 − x 12 sous x 1 = 1

• Lagrangien :
1
2
( )
L( x , λ) = x 22 − x 12 + λ(x 1 − 1)
1
• Solution : x* =   , λ* = 1
0

∂L −x +λ = 0 x =λ
• Fonction duale : w(λ ) = min L(x, λ) ⇒ = 0 ⇒  1 ⇒  1
x ∂x x 2 = 0 x 2 = 0
⇒ w (λ ) =
1 2
λ −λ x 1 = λ
avec x = 0
2  2

max w (λ) ∂w
• Problème dual : ⇒ = 0 ⇒ λ =1
λ
∂λ
1
• Solution : λ* = 1 , x* =  
0

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

1.4.1 Dualité faible


Théorème de la dualité faible
• x* solution du problème primal ⇒ w(λ * , μ*) ≤ f(x*)
• λ*,µ* solution du problème dual

Preuve : ∀λ,∀μ ≥ 0, w(λ , μ) ≤ f(x*) ⇒ w(λ * , μ*) ≤ f(x*)

Dualité et admissibilité
• Si le problème primal est non borné, le problème dual est non admissible.
• Si le problème dual est non borné, le problème primal est non admissible.

Preuve : en utilisant w*(λ*,µ*) ≤ f(x*)


Existence de solutions x*, λ*, µ* ⇒ fonctions bornées

Saut de dualité
Le saut de dualité est la différence entre la solution du problème primal et du problème dual.
δ = f(x*) − w(λ * , μ*) ≥ 0
Dans le cas général δ n’est pas nul, il n’est pas équivalent de minimiser f ou maximiser w.

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

1.4.1 Dualité forte


Point col
(x*,λ*,µ*≥0) est un point col (ou point selle) du lagrangien si

L(x*, λ , μ) ≤ L(x*, λ*, μ*) → maximisation de L par rapport à (λ,µ)


∀(x, λ , μ ≥ 0), 
L(x*, λ*, μ*) ≤ L(x, λ*, μ*) → minimisation de L par rapport à (x)

Caractérisation
L(x*, λ*, μ*) = min L(x, λ*, μ*)
c (x*) = 0 x
(x*,λ*,µ*≥0) est un point col du lagrangien si et seulement si  E
c I (x*) ≤ 0
μ * c I (x*) = 0
Théorème de la dualité forte
Le lagrangien admet un point col (x*,λ*,µ*) si et seulement si le saut de dualité est nul.

(x*,λ*,µ*≥0) un point col ⇔ w(λ*,µ*) = f(x*)

Il est alors équivalent de minimiser f(x) ou maximiser w(λ,µ).

136
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.1 Dualité
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

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

1.4.1 Dualité forte


Optimum global
x* → min L(x, λ*, μ*)
 x
Si (x*,λ*,µ*≥0) est un point col du lagrangien :  E
c (x*) = 0 , c I (x*) ≤ 0
μ * c I (x*) = 0

c (x) = 0
alors x* est un optimum global du problème primal : min f(x) sous  E
x∈R n
c I (x) ≤ 0
En pratique
• Si le lagrangien admet un point col, on peut obtenir l’optimum global x*.
• Pour un problème non convexe, il n’existe en général pas de point col.
2x − 1 ≤ 0
Exemple min f ( x ) = − x 2 sous  → solution : x* = 0.5
x 0 ≤ x ≤ 1
0 ≤ x ≤1
L( x , µ) = − x 2 + µ(2 x − 1) avec 
µ ≥ 0
min L( x , µ)  x = 0 si µ > 0.5
0 ≤ x ≤ 1
x  →
 x = 1 si µ < 0.5
 →
Point col : 2 x − 1 ≤ 0 → x=0
 Il n’existe pas de point col.
μ(2 x − 1) = 0 → µ = 0 < 0.5 → x = 1 
μ ≥ 0

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

1.4.1 Programmation linéaire


Problème primal
Ax = b
min c T x sous  → problème linéaire sous forme standard
x x ≥ 0
b − Ax = 0 → multiplicateur λ
⇔ min c T x sous  → multiplicateur µ
x − x ≤ 0

• Fonction de Lagrange : L(x, λ, μ) = c T x + λ T (b − Ax) + μ T (− x)


( )T
= c − A T λ − μ x + λT b → linéaire en x

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


x

• Domaine de définition : X w = {(λ, μ ) / w(λ , μ) > −∞}

• La fonction duale n’est définie que si L(x, λ, µ) est borné inférieurement.


L(x, λ, µ) est linéaire en x → Le coefficient de x doit être nul.

(λ, μ) ∈ X w ⇒ c − A T λ − μ = 0
⇒ L(x, λ, μ) = λT b ⇒ w(λ , μ) = λ T b

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

1.4.1 Programmation linéaire


Problème dual
(λ , μ) ∈ X w
max w(λ , μ) sous 
λ, μ μ ≥ 0
c − A T λ − μ = 0 → ne dépend pas de µ
⇔ max λ b
T
sous 
λ, μ μ ≥ 0
⇔ max b T λ sous c − A T λ ≥ 0 → nouveau problème linéaire en λ
λ

• Le problème dual est également un problème linéaire dont la variable est λ.


On met le problème dual sous forme standard en notant la variable y au lieu de λ
min − b T y sous A T y − c ≤ 0 → multiplicateur ν
y

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

• Fonction de Lagrange notée Ld(y, ν) : L d (y, ν) = − b T y + ν T (A T y − c)


= (Aν − b) T y − ν T c → bornée si Aν − b = 0

• Fonction duale notée wd(ν) : w d (ν) = min L d (y, ν) = − ν T c si Aν − b = 0


y

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

1.4.1 Programmation linéaire


Problème dual du problème dual
Le problème dual admet lui-même pour dual :
ν ∈ X w d
max w d (ν) sous 
ν ν ≥ 0
Aν = b Ax = b
⇔ max − ν T c sous  ⇔ min c T x sous  → identique au problème primal
ν ν ≥ 0 x x ≥ 0
• Le problème dual du problème dual est le problème primal.

• Pour un problème linéaire, il est équivalent de résoudre le problème primal ou problème dual.
Les solutions du problème primal et du problème dual ont le même coût → dualité forte

Solutions possibles Dual


Optimum fini Optimum infini Sans solution
Optimum fini dualité forte impossible impossible
Primal Optimum infini impossible impossible dualité faible
Sans solution impossible dualité faible contraintes incompatibles

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

1.4.1 Programmation linéaire


Correspondances primal − dual
Ax = b
• Problème primal (P) sous forme standard : (P) min c T x sous 
x x ≥ 0

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


y

• Le nombre de variables de (P) est égal au nombre de contraintes de (D).


• Le nombre de contraintes de (P) est égal au nombre de variables de (D).
• La matrice des contraintes de (D) est la transposée de la matrice des contraintes de (P).
c j x j m
• Une variable xj ≥ 0 de coût cj donne une contrainte ≤ de niveau cj : x ≥ 0 →
 j
∑a
i =1
ij yi ≤ c j

b i y i
n
• Une contrainte = de niveau bi donne une variable yj ∈R de coût bi : ∑
j=1
a x
ij j = b i → y ∈ R
 i

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

142
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.1 Dualité
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 m1 → m1 égalités
A x + B x + C x ≤ b , b ∈ R m 2 → m inégalités inférieur
 2 1 2 2 2 3 2 2 2

sous A 3 x 1 + B3 x 2 + C 3 x 3 ≥ b 3 , b 3 ∈ R → m3 inégalités supérieur
m
minn1 c1T x 1 + c T2 x 2 + c 3T x 3
3

x 1 ∈R
x 2 ∈R n 2 x 1 ≥ 0 → n1 variables positives
x 3 ∈R n 3 x 2 ≤ 0 → n2 variables négatives
x 3 ∈ R n3
→ n3 variables libres

• Problème dual (D)

A1T y1 + A T2 y 2 + A 3T y 3 ≤ c1 , c1 ∈ R n1 → n1 inégalités inférieur


B T y + B T y + B T y ≥ c , c ∈ R n 2 → n inégalités supérieur
 1T 1 2 2 3 3 2 2 2

sous C1 y1 +mC 2 y 2 + C 3 y 3 = c 3 , c 3 ∈ R → n3 égalités
T T n
maxm1 b1T y1 + b T2 y 2 + b 3T y 3
3

y1 ∈R
 y1 ∈ R
1
→ m1 variables libres
y 2 ∈R m 2
y 3 ∈R m3 y 2 ≤ 0 → m2 variables négatives
 y 3 ≥ 0 → m3 variables positives

143
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.1 Dualité
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 ) → m1 multiplicateurs λ1
+ λT2 ( A2 x1 + B2 x2 + C 2 x3 − b2 ) → m2 multiplicateurs λ2 ≥ 0
+ λT3 (b3 − A3 x1 − B3 x2 − C3 x3 ) → m3 multiplicateurs λ3 ≥ 0
− µ 1T x1 + µ 2T x2 → n1 multiplicateurs µ1 ≥ 0
→ n2 multiplicateurs µ2 ≥ 0

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


L(x1 , x2 , x3 ,λ1 ,λ2 ,λ3 , µ 1 , µ 2 ) = b1T λ1 − b2T λ2 + b3T λ3
( T
+ c1 − A1T λ1 + A2T λ2 − A3T λ3 − µ 1 x1 ) → linéaire en x
( T
+ c2 − B1T λ1 + B2T λ2 − B3T λ3 + µ 2 x2 )
( T
+ c3 − C1T λ1 + C 2T λ2 − C3T λ3 x3 )
• La fonction duale est définie par : w(λ , μ) = min L(x, λ, μ) → bornée si les coefficients
x
de x1,x2,x3 sont nuls
144
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation

1.4.1 Programmation linéaire


Correspondance primal-dual
• L(x1 , x2 , x3 ,λ1 ,λ2 ,λ3 , µ 1 , µ 2 ) = b1T λ1 − b2T λ2 + b3T λ3
( T
+ c1 − A1T λ1 + A2T λ2 − A3T λ3 − µ 1 x1)
( T
+ c2 − B1T λ1 + B2T λ2 − B3T λ3 + µ 2 x2)
( T
+ c3 − C1T λ1 + C 2T λ2 − C3T λ3 x3)
c1 − A1T λ1 + A2T λ2 − A3T λ3 − µ 1 = 0
 µ , µ ≥ 0
• L bornée ⇒ c2 − B1T λ1 + B2T λ2 − B3T λ3 + µ 2 = 0 avec λ 1 , λ 2 ≥ 0
c3 − C1T λ1 + C 2T λ2 − C3T λ3  2 3
 = 0

 y1 = λ1  A1T y1 + A2T y 2 + A3T y3 = c1 + µ 1 ≤ c1 car µ1 ≥ 0


 car µ2 ≥ 0
• En posant :  y 2 = −λ 2 ≤ 0 ⇒  B1T y1 + B2T y 2 + B3T y 3 = c2 − µ 2 ≥ c2
 y 3 = λ3 ≥ 0 C1T y1 + C 2T y 2 + C3T y 3 = c3

• Fonction duale : w( y1 , y 2 , y3 ) = L (λ1 , λ2 , λ3 , µ 1 , µ 2 ) ⇒ w( y1 , y 2 , y3 ) = b1T y1 + b2T y 2 + b3T y 3

 A1T y1 + A2T y 2 + A3T y3 ≤ c1



• Problème dual : max w( y1 , y 2 , y3 ) = b1T y1 + b2T y 2 + b3T y 3 sous  B1T y1 + B2T y 2 + B3T y 3 ≥ c2
C1T y1 + C 2T y 2 + C3T y 3 = c3
y1 , y 2 , y 3

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

1.4.1 Exemple
Correspondance primal-dual
• Problème primal (P)
− x 1 + 3x 2 =5
 2x − x 2 + 3x 3 ≥ 6
(P) min x 1 + 2x 2 + 3x 3 sous  1
x3 ≤ 4

x1 , x 2 , x 3

x 1 ≥ 0, x 2 ≤ 0, x 3 ∈ R

• Problème dual (D)


− y1 + 2y 2 ≤1
 3y − y 2 ≥2
( D) max 5 y1 + 6y 2 + 4y 3 sous  1
3y 2 + y 3 = 3

y1 , y 2 , y 3

 y1 ∈ R , y 2 ≥ 0, y 3 ≤ 0
 y1 − 2y 2 ≥ −1
− 3y1 + y 2 ≤ −2
⇔ min − 5 y1 − 6y 2 − 4y 3 sous 
− 3y 2 − y 3 = −3

y1 , y 2 , y 3

 y1 ∈ R , y 2 ≥ 0, y 3 ≤ 0

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

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

1.4.2 Problème sans contraintes

 Conditions nécessaires d’optimalité locale

 Conditions suffisantes d’optimalité locale

 Méthode pratique

 Exemples

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

1.4.2 Conditions nécessaires


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

Conditions nécessaires
∇ f(x*) = 0 → ordre 1 : point critique ou stationnaire
x* minimum local ⇒  2
∇ f(x*) ≥ 0 → ordre 2 : hessien semi-défini positif

Preuve : avec le théorème de Taylor

• Ordre 1 : f(x * + d) = f(x*) + ∇f(x*)T d + o( d )


Si ∇f(x*)≠0, on peut trouver d petit tel que ∇f(x*)Td < 0 ⇒ f(x*+d) < f(x*)

• Ordre 2 : f(x * + d) = f(x*) + ∇f(x*)T d +


1 T 2
2
( )
d ∇ f(x*)d + o d
2

= f(x*) +
1 T 2
2
d ∇ f(x*)d + o d ( )
2
car ∇f(x*) = 0

Si ∇2f(x*) non semi-définie positive,


on peut trouver d petit tel que dT∇2f(x*) d < 0 ⇒ f(x*+d) < f(x*)
148
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.2 Problème sans contraintes
Techniques d’optimisation

1.4.2 Conditions suffisantes


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

Conditions suffisantes
∇ f(x*) = 0 → ordre 1 : point critique ou stationnaire
∇ 2 f(x*) > 0 ⇒ x* minimum local
 → ordre 2 : hessien défini positif

Preuve : par l’absurde

Si x* n’est pas un minimum local, on peut trouver d petit tel que f(x*+d) < f(x*)
Théorème de Taylor à l’ordre 2 :
1
f(x * + d) = f(x*) + ∇f(x*)T d + d T ∇ 2 f(x*)d + o d
2
( )
2

1 T 2
= f(x*) + d ∇ f(x*)d + o d
2
( )
2
car ∇f(x*) = 0
f(x * + d) < f(x*) ⇒ d T ∇ 2 f(x*)d < 0 → contredit l’hypothèse ∇2f(x*) définie positive

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

1.4.2 Méthode pratique


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

• Condition nécessaire du 1er ordre : ∇ f(x*) = 0 → point critique ou stationnaire


Condition nécessaire du 2eme ordre : ∇ f(x*) ≥ 0 → plus difficile à vérifier
2

suffisante ∇ 2 f(x*) > 0

Méthode pratique
• Recherche des points stationnaires en résolvant : ∇f(x*) = 0
Un point stationnaire peut être un minimum local, un maximum local ou un point selle.
• Vérification de la condition d’ordre 2 : calcul des dérivées secondes
valeurs propres du hessien ≥ 0
→ garantit l’obtention d’un minimum local x*

Minimum global
x* minimum local
• f convexe ⇒ x* minimum global
• f strictement convexe ⇒ x* unique minimum global
• f quelconque (cas général) ⇒ On ne peut pas vérifier que x* est un minimum global.

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

1.4.2 Exemples
Exemple 1 5,0

Fonction de Rosenbrock 4,0


(
f ( x 1 , x 2 ) = 100 x 2 − x 1) + (1 − x )
2 2
1
2
3,0

• Gradient : 2,0
 400 x 13 − 400 x 1 x 2 + 2 x 1 − 2 
∇ f ( x 1 , x 2 ) =  
 1,0
 200 x 2 − 200 x 12

• Hessien : 0,0
1200 x 1 − 400 x 2 + 2 − 400 x 1 
2 -2,5 -2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
∇ f ( x 1 , x 2 ) = 
2

 -1,0
 − 400 x 1 200 
400 x 13 − 400 x 1 x 2 + 2 x 1 − 2 = 0 x 1 = 1  1
• Point stationnaire : ∇f ( x 1 , x 2 ) = 0 ⇒  ⇒ x = x 2 ⇒ x * =  
 200 x 2 − 200 x 2
1 = 0  2 1  1

 802 − 400  σ1 = 1001.60


• Valeurs propres du hessien : ∇ 2 f ( x*) =  
 − 400 200  → σ = 0.39936
   2
• Condition d’ordre 2 : ∇2f(x*) est défini positif

• x* vérifie les conditions suffisantes de minimum local (strict)


x* est un minimum local de f
151
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.2 Problème sans contraintes
Techniques d’optimisation

1.4.2 Exemples
Exemple 2
Fonction : f ( x 1 , x 2 ) = − x 14 − x 42
 − 4 x 13 
• Gradient : ∇ f ( x 1 , x 2 ) =  3

 − 4 x 2

 − 12 x 12 0 
• Hessien : ∇ f ( x 1 , x 2 ) = 
2
2

 0 − 12 x 2 

x =0 0
• Point stationnaire : ∇f ( x 1 , x 2 ) = 0 ⇒  1 ⇒ x* =  
x 2 = 0 0
0 0 σ =0
• Valeurs propres du hessien : ∇ 2 f ( x*) =   →  1
∇2f(x*) est semi-défini positif 0 0 σ 2 = 0

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


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

x* est en fait un maximum local de f : f ( x 1 , x 2 ) = − x 14 − x 42 ≤ 0


⇒ ∀( x 1 , x 2 ), f ( x 1 , x 2 ) ≤ f (0,0)
152
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.2 Problème sans contraintes
Techniques d’optimisation

1.4.2 Exemples
Exemple 3 1,0

Fonction : f ( x1 , x 2 ) = x − x
2
1
3
2
0,5
 2x1 
• Gradient : ∇ f ( x 1 , x 2 ) =  
2
 − 3 x 2 0,0
-1,0 -0,5 0,0 0,5 1,0
2 0 
• Hessien : ∇ 2 f ( x 1 , x 2 ) =   -0,5
 0 − 6 x 2
-1,0
x =0 0
• Point stationnaire : ∇f ( x 1 , x 2 ) = 0 ⇒  1 ⇒ x* =  
x 2 = 0 0
 2 0 σ =2
• Valeurs propres du hessien : ∇ 2 f ( x*) =   →  1
∇2f(x*) est semi-défini positif  0 0 σ 2 = 0

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


x* ne vérifie pas les conditions suffisantes de minimum local
< 0 si x 2 > 0
x* n’est ni un minimum ni un maximum local de f : f ( 0, x 2 ) = − x 3
2 
> 0 si x 2 < 0
153
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation

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

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

1.4.3 Conditions nécessaires


Problème avec contraintes
c (x) = 0 → p contraintes d’égalité
minn f(x) sous  E
x∈R c I (x) ≤ 0 → 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

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

1.4.3 Conditions nécessaires


Problème avec contraintes
c (x) = 0 → p contraintes d’égalité
minn f(x) sous  E
x∈R c I (x) ≤ 0 → 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 → conditions nécessaires d’ordre 1


∇ λ L(x*, λ*, μ*) = 0 → contraintes égalité cE(x*) = 0
 → contraintes inégalité cI(x*) ≤ 0
∇ μ L(x*, λ*, μ*) ≤ 0
μ * ≥ 0
μ * c (x*) = 0 → conditions complémentaires
 I

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


d T ∇ 2xx L(x*, λ*, μ*)d ≥ 0 → conditions nécessaires d’ordre 2
∀d / d T ∇c(x*) = 0
→ Conditions nécessaires de Karush-Kuhn-Tucker (conditions KKT)
(1939) (1951)
156
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation

1.4.3 Conditions nécessaires


Eléments de la démonstration
1) Cas de contraintes linéaires : cE(x) = Ax − b = 0
→ ∇cE(x) = AT
m 
n −m x 
• On choisit une base B∈Rm×n : AE =  B N E T x =  B 
   xN 
Ax = b ⇔ Bx B + Nx N = b ⇔ x B = B −1 (b − Nx N )

min f(x) sous Ax = b ⇔ min f(x B , x N ) sous x B = B −1 (b − Nx N )


x∈R n x B ∈R m
x N ∈R n - m

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


(
min g(x N ) = f B −1 (b − Nx N ), x N
x N ∈R n - m
)
• Conditions nécessaires d’optimalité du problème réduit
∇ g(x N *) = 0
xN* minimum local de g(xN) ⇒ 2
∇ g(x N *) ≥ 0
→ Méthode de réduction : fonction réduite g(xN)
gradient réduit ∇ g(xN)
hessien réduit ∇2g(xN)
157
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation

1.4.3 Conditions nécessaires


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

• Problème réduit :
x N ∈R n - m
(
min g(x N ) = f B −1 (b − Nx N ), x N )
• Condition nécessaire d’ordre 1 du problème réduit : ∇g(x N *) = 0
 ∇ f ( x )
(
g(x N ) = f B −1 (b − Nx N ), x N )
avec ∇f(x) =  B 
 ∇ N f ( x )
( )T
⇒ ∇g(x N ) = − B −1 N ∇ B f ( x ) + ∇ N f ( x )

• On définit : λ = − B −T ∇ B f ( x ) ⇔ ∇ B f ( x ) + B T λ = 0
⇒ ∇g(x N ) = N T λ + ∇ N f ( x )

∇g(x N *) = 0 ⇒ ∇ N f(x*) + N T λ* = 0  ⇒ ∇f(x*) + AT λ* = 0



avec ∇ B f ( x*) + B T λ* = 0 

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


∇ x L(x*,λ* ) = ∇f(x*) + ∇c E (x*)λ* = 0 car ∇c E (x*)T = A
158
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
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 ) 
(
g(x N ) = f B (b − Nx N ), x N
−1
)
avec ∇ f(x) =  2
2


 ∇ NB f ( x ) ∇ NN f ( x ) 
2

( )
T
( ) ( )T
( )
⇒ ∇ 2 g(x N ) = B −1 N ∇ 2BB f ( x ) B −1 N − B −1 N ∇ 2BN f ( x ) − ∇ 2NB f ( x ) B −1 N + ∇ 2NN f ( x )
 d B   − B −1 N 
• Pour d∈R vérifiant Ad = 0 ⇒ d =   =  d N , d N ∈ R n − m

dN   I 
( T
) ( ) ( T
)
d NT ∇ 2 g(x N )d N = d NT B −1 N ∇ 2BB f ( x ) B −1 N d N − d NT B −1 N ∇ 2BN f ( x )d N
( )
− d NT ∇ 2NB f ( x ) B −1 N d N + d NT ∇ 2NN f ( x )d N
⇒ d NT ∇ 2 g(x N )d N = d BT ∇ 2BB f ( x )d B − d BT ∇ 2BN f ( x )d N − d NT ∇ 2NB f ( x )d B + d NT ∇ 2NN f ( x )d N

⇒ d NT ∇ 2 g(x N )d N = d T ∇ 2 f ( x )d = d T ∇ 2xx L( x , λ )d car ∇ x L(x*,λ* ) = ∇f(x*) + AT λ *


⇒ ∇ 2xx L(x*,λ* ) = ∇ 2 f(x*)
• On obtient la condition nécessaire d’ordre 2 sur le lagrangien
∀d ∈ R / Ad = 0 , d T ∇ 2xx L( x*, λ*)d = d NT ∇ 2 g(x N *)d N ≥ 0
159
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
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
c (x)=0
On suppose que x* est un minimum local de min f ( x ) sous  E
x∈R n
c I ( x ) ≤ 0
• On définit pour les contraintes inégalité : c I+ ( x ) = max(0 , c I ( x ))

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


1 1 2 1
k c E ( x ) + k c I+ ( x ) + α x * − x
2 2
min f k ( x ) = f ( x ) + → minimum local xk
x∈R n 2 2 2
k∈N → pénalisation de la violation des contraintes
α>0 → pénalisation de la distance au minimum

• xk minimum local de fk ⇒ fk(xk) ≤ fk(x*) = f(x*)

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

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

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


1 1 2 1
f k ( xk ) = f ( xk ) + k c E ( xk ) + k c I+ ( xk ) + α
2 2
x * − xk ≤ f ( x*)
2 2 2
k c ( x ) borné
2
 lim kc E ( xk ) = λ * → définit les multiplicateurs λ
 E k
2 k →∞ + def
+
⇒ k c I ( xk ) borné ⇒  lim kc I ( xk ) = µ * → définit les multiplicateurs µ
k →∞
  lim x
def

α x * − xk borné = x* → la suite (xk) converge vers x*


2
k →∞ k
Multiplicateurs des contraintes inégalité : c I ( x ) = max(0 , c I ( x )) ≥ 0 ⇒ µ* ≥ 0
+

Contrainte inégalité inactive : c I ( x ) = 0 ⇒ c I ( xk ) = 0 , k > k0 ⇒ µ* = 0

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


 c ( x ) 1 1
+ α x* −x
2 2
c( x ) =  E+  → f k ( x ) = f ( x ) + k c( x )
 cI ( x )  2 2
∇f k ( x ) = ∇f ( x ) + k∇c( x )c( x ) + α ( x − x*)
161
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
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

• Condition nécessaire d’optimalité pour le problème sans contrainte

xk minimum local de fk(x) ⇒ ∇f k ( xk ) = 0 ⇒ ∇f ( xk ) + k∇c( xk )c( xk ) + α ( xk − x*) = 0

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


⇒ ∇c( xk )T ∇f ( xk ) + k∇c( xk )T ∇c( xk )c( xk ) + α∇c( xk )T ( xk − x*) = 0
• Les contraintes sont supposées linéairement indépendantes → ∇c( xk )T ∇c( xk ) inversible

• En prémultipliant par (∇c( x k )T ∇c( xk ) )−1

( )
⇒ kc( xk ) = − ∇c( xk )T ∇c( xk ) ∇c( xk )T (∇f ( xk ) + α ( xk − x*))
−1

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


kc ( x ) = −(∇c ( x )T ∇c ( x ))−1 ∇c ( x )T (∇f ( x ) + α ( x − x*))
⇒
E k E k E k E k k k

kcI+ ( xk ) = −(∇cI+ ( xk )T ∇cI+ ( xk )) ∇cI+ ( xk )T (∇f ( xk ) + α ( xk − x*))


−1

162
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
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
( )
kc ( x ) = − ∇c ( x )T ∇c ( x ) −1 ∇c ( x )T (∇f ( x ) + α ( x − x*))
• On obtient :  E+ k
( )
E k E k E k k k

kc I ( xk ) = − ∇c I ( xk ) ∇c I ( xk ) ∇c I ( xk ) (∇f ( xk ) + α ( xk − x*))


+ T + −1 + T

• Lorsque k tend vers l’infini

k →∞ E k def E ( E E )
 lim kc ( x ) = λ* = − ∇c ( x*)T ∇c ( x*) −1 ∇c ( x*)T ∇f ( x*)

klim
 →∞
( −1
)
kc I+ ( xk ) = µ* = − ∇c I+ ( x*)T ∇c I+ ( x*) ∇c I+ ( x*)T ∇f ( x*)
def

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


∇f k ( xk ) = ∇f ( xk ) + k∇c E ( xk )c E ( xk ) + k∇c I+ ( xk )c I+ ( xk ) + α ( xk − x*) = 0

k→ ∇f ( x*) + ∇c E ( x*)λ * +∇c I+ ( x*)µ* = 0


→∞

⇒ ∇f ( x*) + ∇c E ( x*)λ * +∇c I ( x*)µ* = 0 car µ*=0 pour les inégalités inactives

• On obtient la condition nécessaire d’ordre 1 : ∇ x L( x*, λ*, µ*) = 0

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

1.4.3 Exemple
Conditions nécessaires
2,0
1
( )
min x 22 − x 12 sous x 1 ≤ 1
x1 , x 2 2
1,5
1,0

( )
0,5
Lagrangien : L(x 1 , x 2 , µ ) = x 22 − x 12 + µ(x 1 − 1)
1
0,0
2 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
-0,5
• Conditions nécessaires d’ordre 1 -1,0
− x 1 + μ = 0 1
-1,5
x 2 = 0 → vérifiées en x* =   , µ* = 1 -2,0

x 1 ≤ 1  
0
μ ≥ 0
μ (x 1 − 1) = 0
• Conditions nécessaires d’ordre 2  d 
T
1
d direction tangente aux contraintes actives : d ∇c(x*) = 0 ⇒     = 0 ⇒ d1 = 0
T 1

T  d2  0
 d   − 1 0   d1 
d T ∇ 2xx L(x*, μ*)d =  1      = −d12 + d 22 = d 22 ≥ 0
d2   0 1d2 
1
x* =   , µ* = 1 vérifie les conditions nécessaires d’ordre 1 et 2.
0
164
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation

1.4.3 Conditions suffisantes


Problème avec contraintes
c (x) = 0 → p contraintes d’égalité
minn f(x) sous  E
x∈R c I (x) ≤ 0 → 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

μ * c I (x*) = 0 → conditions complémentaires
μ k * > 0 si c Ik (x*) = 0 → contraintes actives : multiplicateur > 0

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


d T ∇ 2xx L(x*, λ*, μ*)d > 0 → conditions d’ordre 2
∀d / d T ∇c(x*) = 0
⇒ x* est un minimum local strict

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

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
minn L ρ (x, λ*) = L(x, λ*) + ρ c(x) = f(x) + λ * T c(x) + ρ c(x)
2 2

x∈R 2 2
Lρ(x,λ) = lagrangien augmenté
ρ>0 = pénalisation de la violation des contraintes

• ∇ x L ρ (x*, λ*) = ∇f(x*) + ∇c(x*)λ * + ρ∇c(x*)c(x*)


= ∇f(x*) + ∇c(x*)λ * → car x* admissible
= ∇ x L(x*, λ*) = 0 → par hypothèse sur x*,λ*
• ∇ xx L ρ (x*, λ*) = ∇ xx L(x*, λ*) + ρ∇c(x*)∇c(x*)
2 2 T
→ définie positive pour ρ assez grand

⇒ x* est un minimum local du lagrangien augmenté Lρ(x,λ*) pour λ=λ*.

• Au voisinage de x* : L ρ (x*, λ*) ≤ L ρ (x, λ*) ⇒ f(x*, λ*) ≤ f(x, λ*) ,∀x / c(x) = 0
⇒ x* est un minimum local de f

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

1.4.3 Exemple
Conditions suffisantes
2,0
1
( )
min x 22 − x 12 sous x 1 ≤ 1
x1 , x 2 2
1,5
1,0

1 0,5
x* =   , µ* = 1 vérifie les conditions nécessaires 0,0
0 -1,0 -0,5
-0,5
0,0 0,5 1,0 1,5 2,0 2,5

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

x * −1 = 0 µ* = 1 > 0

• Conditions suffisantes d’ordre 2 T


 d  1
d direction tangente aux contraintes actives : d T ∇c(x*) = 0 ⇒  1    = 0 ⇒ d1 = 0
 d2  0
T
 d1   − 1 0   d1  0
d ∇ xx L(x*, μ*)d =   
T 2
   = −d12 + d 22 = d 22 > 0 car d =   ≠ 0 ⇒ d 2 ≠ 0
d2   0 1d2  d2 

1
x* =   , µ* = 1 vérifie les conditions suffisantes d’ordre 1 et 2 → minimum local strict.
0
167
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation

1.4.3 Exemple
Remarque sur la condition d’ordre 2
2,0
1
( ) 1
min x 22 − x 12 sous x 1 ≤ 1 → x* =   , µ* = 1
x1 , x 2 2
1,5

0 1,0

 − 1 1 0,5
d =   est une direction admissible en x* =   0,0
0 0 -1,0 -0,5
-0,5
0,0 0,5 1,0 1,5 2,0 2,5

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


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

Importance de la condition de complémentarité


1
( )
min x 22 − x 12 sous x 1 ≤ 0
x1 , x 2 2

0
x* =   , µ* = 0 vérifie les conditions suffisantes d’ordre 1 et 2
 
0 sauf la condition de complémentarité

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


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

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

1.4.3 Interprétation géométrique


Interprétation

• Condition complémentaire
μ j = 0 → sensibilité nulle

μ jc Ij (x) = 0, j = 1,..., q ⇒ ou
c Ij (x) = 0 → contrainte active

• Condition d’ordre 1
∇ x L(x, λ, μ) = 0 ⇒ ∇f(x) + ∇c E (x).λ + ∇c I (x).μ = 0
⇒ − ∇f(x) = ∇c E (x).λ + ∇c I (x).μ
⇒ − ∇f(x) = ∇c(x).ν → contraintes actives c(x)

La direction −∇f(x) est la direction de plus forte descente en x.


Les directions ∇c(x) sont orthogonales à l’hyperplan tangent aux contraintes actives en x.
Equation de l’hyperplan tangent aux contraintes actives en x : dT∇c(x)=0

→ Les déplacements admissibles (dans l’hyperplan tangent) sont orthogonaux au gradient.


→ Déplacements suivant les lignes de niveau de f, sans diminution du critère.

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

1.4.3 Interprétation géométrique


Fonction de 2 variables – 1 contrainte égalité

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

∇f ( x*) + λ∇c E ( x*) = 0


−∇f

x*

−∇f ∇cE Sur le schéma :


• f(x1, x2) = x1 à minimiser
∇cE • λ < 0 (λ ≈ −2)

−∇f
cE = 0

x1
170
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
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 (x 1 , x 2 ) ≤ 0
f décroissante x1 , x 2

∇f ( x*) + µ∇c I ( x*) = 0


µ≥0
−∇f

x* cI < 0
−∇f ∇cI Sur le schéma :
• f(x1, x2) = x1 à minimiser
• µ > 0 (µ ≈ 2)

−∇f
cI = 0
∇cI
x1
171
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation

1.4.3 Interprétation géométrique


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

x2 c (x , x ) = 0
min f(x1 , x 2 ) sous  E 1 2
f décroissante x ,x
1 2 c I (x 1 , x 2 ) ≤ 0
∇f ( x*) + λ∇c E ( x*) + µ∇c I ( x*) = 0
µ≥0
−∇f ∇cE

cI < 0
Sur le schéma :
• f(x1, x2) = x1 à minimiser
• λ < 0 (λ ≈ −1.5)
x* • µ > 0 (µ ≈ 1.5)

−∇f
cI = 0
cE = 0 ∇cI ∇cE
x1
172
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation

1.4.3 Interprétation géométrique


Fonction de 2 variables – 2 contraintes inégalité

x2 c (x , x ) ≤ 0
min f(x1 , x 2 ) sous  I1 1 2
f décroissante x ,x
1 2 c I2 (x 1 , x 2 ) ≤ 0
∇cI2 ∇f ( x*) + µ1∇c I1 ( x*) + µ 2 ∇c I 2 ( x*) = 0
µ1 ≥ 0
−∇f µ2 ≥ 0

cI1 < 0
cI2 < 0
Sur le schéma :
• f(x1, x2) = x1 à minimiser
∇cI2
• µ1 > 0 (µ1 ≈ 1.5)
• µ2 > 0 (µ2 ≈ 1.5)
x*
−∇f
cI1 = 0
cI2 = 0 ∇cI1
x1
173
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
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 (x 1 , x 2 ) ≤ 0
cI = 0 x1 , x 2

∇f ( x*) + µ∇c I ( x*) = 0


µ≥0

cI < 0
Sur le schéma :
−∇f
• f(x1, x2) quadratique
x* • x0 = minimum sans contrainte
• µ > 0 (µ ≈ 2)
x0
∇cI

−∇f
x1
174
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation

1.4.3 Interprétation géométrique


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

x2 c (x , x ) = 0
min f(x1 , x 2 ) sous  E 1 2
x ,x
1 2 c I (x 1 , x 2 ) ≤ 0
∇f ( x*) + λ∇c E ( x*) + µ∇c I ( x*) = 0
µ≥0
cE = 0
x*
cI < 0
Sur le schéma :
• f(x1, x2) quadratique
∇cI • x0 = minimum sans contrainte
x0 ∇cE • λ > 0 (λ ≈ 1.5)
−∇f cI = 0 • µ > 0 (µ ≈ 1.5)

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

1.4.3 Méthode pratique


Problème avec contraintes
c (x) = 0 → p contraintes d’égalité
minn f(x) sous  E
x∈R c I (x) ≤ 0 → 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é
minn f(x) sous c(x) = 0 → m contraintes actives
x∈R

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

1.4.3 Exemple
Problème avec 2 contraintes inégalité

sous c1 ( x ) = x 1 + (x 2 − 1) − 1 ≤ 0
2,5
 2 2
min f ( x ) = x 1 + x 2
c 2 ( x ) = 1 − x 2 ≤ 0
x1 , x 2 2

1,5
• Lagrangien : L( x , µ) = f ( x ) + µ1c1 ( x ) + µ 2 c 2 ( x )
( )
= x 1 + x 2 + µ1 x 12 + (x 2 − 1) − 1 + µ 2 (1 − x 2 )
2 1

0,5

• Conditions KKT d’ordre 1 0


-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
1 + 2µ1 x 1 = 0 -0,5
1 + 2µ1 (x 2 − 1) − µ 2 = 0 -1
x 2 + (x − 1)2 − 1 ≤ 0
 1 2
1 − x 2 ≤ 0
µ1 c1 ( x ) = 0 → conditions complémentaires : 4 combinaisons possibles
µ 2 c 2 ( x ) = 0
µ , µ ≥ 0
 1 2
Identification des contraintes actives
µ = 0 ou c ( x ) = 0
Problème combinatoire : il faut essayer les 4 possibilités µ1 = 0 ou c1 ( x ) = 0
 2 2

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

1.4.3 Exemple
Problème avec 2 contraintes inégalité

sous c1 ( x ) = x 1 + (x 2 − 1) − 1 ≤ 0
2,5
 2 2
min f ( x ) = x 1 + x 2
c 2 ( x ) = 1 − x 2 ≤ 0
x1 , x 2 2

1,5
• Si µ1 = 0 → incompatible équation 1 + 2µ1 x 1 = 0
1

⇒ c1 ( x ) = 0 → c1 contrainte active 0,5

• Si µ 2 = 0 ⇒ 1 + 2µ1 (x 2 − 1) = 0 -2 -1,5 -1 -0,5 0


-0,5
0,5 1 1,5 2
1− x2 ≤ 0
→ incompatible équations 
µ1 ≥ 0 -1

⇒ c 2 ( x ) = 0 → c2 contrainte active

c1 ( x ) = 0 x = ±1 µ = 0.5 et µ1 ≥ 0 → x 1 = −1
• Combinaison retenue c ( x ) = 0 ⇒ x 1 = 1 ⇒ µ1 = 1
 2  2  2
x 1 = −1
• Solution : x 2 = 1 Vérification condition d’ordre 2 : cône admissible vide
µ = 0.5
 1 (2 contraintes actives)
µ 2 = 1 → minimum local

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

1.4.3 Exemple
Changement de sens contrainte 2

sous c1 ( x ) = x 1 + (x 2 − 1) − 1 ≤ 0
2,5
 2 2
min f ( x ) = x 1 + x 2
c 2 ( x ) = x 2 − 1 ≤ 0
x1 , x 2 2

1,5
• Lagrangien : L( x , µ) = f ( x ) + µ1c1 ( x ) + µ 2 c 2 ( x )
( )
= x 1 + x 2 + µ1 x 12 + (x 2 − 1) − 1 + µ 2 (x 2 − 1)
2 1

0,5

• Conditions KKT d’ordre 1 0


-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
1 + 2µ1 x 1 = 0 -0,5
1 + 2µ1 (x 2 − 1) + µ 2 = 0 -1
x 2 + (x − 1)2 − 1 ≤ 0
 1 2
x 2 − 1 ≤ 0
µ1 c1 ( x ) = 0 → conditions complémentaires : 4 combinaisons possibles
µ 2 c 2 ( x ) = 0
µ , µ ≥ 0
 1 2
Identification des contraintes actives
µ = 0 ou c ( x ) = 0
Problème combinatoire : il faut essayer les 4 possibilités µ1 = 0 ou c1 ( x ) = 0
 2 2

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

1.4.3 Exemple
Changement de sens contrainte 2

sous c1 ( x ) = x 1 + (x 2 − 1) − 1 ≤ 0
2,5
 2 2
min f ( x ) = x 1 + x 2
c 2 ( x ) = x 2 − 1 ≤ 0
x1 , x 2 2

1,5
• Si µ1 = 0 → incompatible équation 1 + 2µ1 x 1 = 0
1

⇒ c1 ( x ) = 0 → c1 contrainte active 0,5

0
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
x = ±1 µ = 0.5 -0,5
• Si c 2 ( x ) = 0 ⇒  1 ⇒  1
x 2 = 1 µ 2 = −1 -1

→ incompatible condition µ 2 ≥ 0

1 + 2µ1 x 1 = 0 x 1 = −1 /(2µ1 ) x 1 = −1 / 2
  
• Si µ 2 = 0 ⇒ 1 + 2µ1 (x 2 − 1) = 0 ⇒ x 2 = 1 − 1 /(2µ1 ) ⇒ x 2 = 1 − 1 / 2
x 12 + (x 2 − 1)2 − 1 = 0 µ1 = 1 / 2 > 0
 µ1 = 1 / 2

 2µ 0 
• Vérification condition d’ordre 2 : ∇ 2xx L( x , µ) =  1 >0 → minimum local
(1 contrainte active)  0 2µ1 
180
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation

1.4.3 Exemple
Passage contrainte 1 en égalité

sous c1 ( x ) = x 1 + (x 2 − 1) − 1 = 0
2,5
 2 2
min f ( x ) = x 1 + x 2
c 2 ( x ) = 1 − x 2 ≤ 0
x1 , x 2 2

1,5
• Lagrangien : L( x , µ) = f ( x ) + λ1c1 ( x ) + µ 2 c 2 ( x )
( )
= x 1 + x 2 + λ1 x 12 + (x 2 − 1) − 1 + µ 2 (1 − x 2 )
2 1

0,5

• Conditions KKT d’ordre 1 0


-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
1 + 2λ1 x 1 = 0 -0,5
1 + 2λ1 (x 2 − 1) − µ 2 = 0 -1
x 2 + (x − 1)2 − 1 = 0
1 −1 x ≤2 0
 2
µ 2 c 2 ( x ) = 0 → conditions complémentaires : 2 combinaisons possibles
µ 2 ≥ 0

Identification des contraintes actives

Problème combinatoire : il faut essayer les 2 possibilités µ 2 = 0 ou c 2 ( x ) = 0

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

1.4.3 Exemple
Passage contrainte 1 en égalité

sous c1 ( x ) = x 1 + (x 2 − 1) − 1 = 0
2,5
 2 2
min f ( x ) = x 1 + x 2
c 2 ( x ) = 1 − x 2 ≤ 0
x1 , x 2 2

1,5
1 + 2λ1 x 1 = 0
 → λ1 ≠ 0
• Si µ 2 = 0 ⇒ 1 + 2λ1 (x 2 − 1) = 0 1

x 12 + (x 2 − 1)2 − 1 = 0 0,5

0
x 1 = −1 /(2λ1 ) -2 -1,5 -1 -0,5 0 0,5 1 1,5 2
 -0,5
⇒ x 2 = 1 − 1 /(2λ1 )
λ1 = ±1 / 2 -1

x 1 = 1 / 2

1 − x 2 ≤ 0 ⇒ x 2 = 1 + 1 / 2
λ1 = −1 / 2

 2λ 0 
• Vérification condition d’ordre 2 : ∇ 2xx L( x , µ) =  1  < 0 → maximum local
(1 contrainte active)  0 2λ1  → solution rejetée

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

1.4.3 Exemple
Passage contrainte 1 en égalité

sous c1 ( x ) = x 1 + (x 2 − 1) − 1 = 0
2,5
 2 2
min f ( x ) = x 1 + x 2
c 2 ( x ) = 1 − x 2 ≤ 0
x1 , x 2 2

1,5
x = ±1
• Si c 2 ( x ) = 0 ⇒  1 λ = 0.5
⇒  1 1
x 2 = 1 µ 2 = 1 0,5

• Vérification condition d’ordre 2 0


-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
 2λ 0  -0,5
∇ 2xx L( x , µ) =  1 
 0 2λ1  -1

 2x1   2x1  0


Cône admissible vide : ∇c1 =   =   , ∇c 2 =   → 2 contraintes actives
 2( x 2 − 1)   0   − 1

x 1 = −1 x 1 = 1
x = 1 x 2 = 1
→ 2 minima locaux :  2 → f (x) = 0 et λ = −0.5 → f ( x ) = 2
λ1 = 0.5
  1
µ 2 = 1 µ 2 = 1

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

1.4.3 Méthode pratique


Problème avec contraintes actives
minn f(x) sous c(x) = 0 → m contraintes actives
x∈R

Résolution des conditions KKT


On cherche x*∈Rn et λ*∈Rm vérifiant les conditions KKT.

• Condition nécessaire du 1er ordre


∇ x L(x*, λ*) = 0 → n équations
∇ L(x*, λ*) = 0 → m équations
 λ

Les n équations ∇xL(x*,λ*) permettent d’exprimer x*∈Rn en fonction de λ*∈Rm


On remplace ensuite x*(λ*) dans les m équations ∇λL(x*,λ*).
→ système de m équations à m inconnues λ*∈Rm

• Condition nécessaire du 2ème ordre


Il faut vérifier que : d T ∇ 2xx L(x*, λ*)d ≥ 0 → hessien du lagrangien semi-défini positif

∀d / d ∇c(x*) = 0 sur le cône admissible
T

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

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

1.4.3 Méthode pratique


Problème avec contraintes actives
minn f(x) sous c(x) = 0 → m contraintes actives
x∈R

Problème équivalent
• Les conditions nécessaires de minimum de f sous contraintes sont :
∇ x L(x*, λ*) = 0

∇ λ L(x*, λ*) = 0
d T ∇ 2xx L(x*, λ*)d ≥ 0 , ∀d / d T ∇c(x*) = 0

• On observe qu’il s’agit également des conditions nécessaires du problème :

min L(x, λ*) sous c(x) = 0


x∈R n

• Il est équivalent de minimiser f(x) ou L(x,λ*), si l’on connaît λ*.


min f(x) sous c(x) = 0 ⇔ min L(x, λ*) sous c(x) = 0
x∈R n x∈R n

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

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

1.4.3 Méthode pratique


Problème équivalent
minn L(x, λ*) sous c(x) = 0
x∈R

Modèle quadratique-linéaire
1
• Modèle quadratique du critère : L̂(x * + p) = L(x*, λ*) + p T ∇ x L(x*, λ*) + p T ∇ 2xx L(x*, λ*)p
2
g (x*) = ∇ x L(x*, λ*)
En notant :  L → gradient du lagrangien par rapport à x
→ hessien du lagrangien par rapport à x
H L (x*) = ∇ xx L(x*, λ*)
2

1
→ L̂(x * + p) = L(x*, λ*) + p T g L (x*) + p T H L (x*)p
2
• Modèle linéaire des contraintes : ĉ(x * + p) = c(x*) + ∇c(x*)T p avec c(x*) = 0

En notant : A = ∇c(x*)


T
avec AY inversible
p = Yp Y + Zp Z AZ = 0 (espace nul)
AYp Y = 0 p = 0 car AY inversible
∇c(x*)T p = 0 ⇔  ⇔  Y
p Z libre p Z libre

• Problème réduit : minn L̂(x * + p) sous ĉ(x * + p) = 0 ⇔ min L̂(x * + Zp Z )


p∈R p Z ∈R n −m

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

1.4.3 Méthode pratique


Problème réduit
minn −m L̂(x * + Zp Z ) → problème sans contrainte à n−m variables pZ
p Z ∈R
1
avec L̂(x * + Zp Z ) = L(x*, λ*) + p TZ Z T g L (x*) + p TZ Z T H L (x*)Zp Z
2
Conditions nécessaires de minimum du problème réduit

L̂(x * + Zp Z ) ≥ L̂(x*) , ∀p Z ⇒ p TZ Z T g L (x*) + p TZ Z T H L (x*)Zp Z ≥ 0 , ∀p Z ⇒ Z T g L (x*) = 0


T
1
2 Z H L (x*)Z ≥ 0
• (
Condition réduite d’ordre 1 : Z T g L (x*) = 0 ⇔ Z T ∇ x L( x*, λ*) = Z T ∇f ( x*) + ∇c( x*)λ *T = 0 )
⇔ Z T ∇f ( x*) = 0 car ∇c( x*) T Z = 0
Condition réduite d’ordre 2 : Z H L (x*)Z ≥ 0
T

g Z = Z T g → gradient réduit du critère g(x) = ∇f (x)
• 
H Z = Z H L Z → hessien réduit du lagrangien H L (x) = ∇ 2xx L(x, λ*)
T

g ( x*) = 0 → gradient réduit du critère nul


• x* minimum local ⇒  Z
H Z ( x*) ≥ 0 → hessien réduit du lagrangien semi-défini positif

187
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
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
• Volume : V = πr 2 h h ,r

Résolution
On note : V0 = 2πv0
(
• Lagrangien : L(h , r, λ) = 2πr 2 + 2πrh + λ πr 2 h − 2πv 0 ) h
• Conditions KKT
2πr + λπr 2 =0 λr + 2 =0 λr = −2
  
4πr + 2πh + 2λπrh = 0 ⇒ 2r + h + λrh = 0 ⇒ h = 2r
πr 2 h − 2πv 0 =0 r 2 h − 2 v 0 = 0 r 3 = v 0

r = v 13
⇒ S = 6πv 0 3 = 3(2π) 3 V0 3
2 1 2
• Solution :  0
1
h = 2 v 0 3

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

H Z ( x*) = Z ∇ xx L(x, λ*)Z ≥ 0 → hessien réduit du lagrangien semi-défini positif
T 2

 r 
• Gradient du critère : g (h , r ) = ∇ h , r f (h , r ) = 2π 
 2r + h 
• Hessien du lagrangien : L(h , r, λ) = 2πr 2 + 2πrh + λ πr 2 h − 2πv 0 ( )
 2r + λr 2   0 1 + λr 
⇒ g L (h , r ) = ∇ h , r L(h , r, λ) = π  , H L (h , r ) = ∇ 2h , r L(h , r, λ) = 2π
 
 4 r + 2 h + 2 λ rh   1 + λ r 2 + λ h 

Choix d’une base de réduction


• Contrainte : c(h , r ) = πr 2 h − 2πv 0 = 0 ⇒ ∇c T = πr 2 ( 2πrh )
= (πr 2πrh ) =  B
 h r

• Choix de la base avec la variable h : A = ∇c T 2
N
 
 − B −1 N   − 2πrh / πr 2   − 2h / r 
• Base de l’espace nul : Z =  =
 
 = 
 
 I   1   1 
189
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation

1.4.3 Exemple
Vérification des conditions réduites
T
 − 2h / r   r 
• Gradient réduit du critère : g Z (h , r ) = Z g (h , r ) = 2π
T
   = 2π(2r − h )
 1   2 r + h 
On vérifie que le gradient réduit est nul : h = 2r ⇒ g Z (h , r ) = 0

T
 − 2h / r   0 1 + λr  − 2h / r 
• Hessien réduit du lagrangien : H Z (h , r ) = Z T H(h , r ) Z = 2π    
 1   1 + λ r 2 + λ r  1 
 h 
⇒ H Z (h , r ) = 2π 2 − 4 − 3λh 
 r 

On vérifie que le hessien réduit est semi-défini positif

λr = −2 ⇒ H (h , r ) = 2π 2 − h (4 + 3λr )  = 12π > 0


h = 2 r  

Z
 r 

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

1.4.3 Exemple
Résolution par élimination
2v
• Contrainte : c(h , r ) = πr 2 h − 2πv 0 = 0 ⇒ h = 2 0
r
4πv 0
• Elimination de la variable h : S(h , r ) = 2πr 2 + 2πrh ⇒ S(r ) = 2πr 2 +
r
dS 4πv  v 
• Gradient : (r ) = 4πr − 2 0 = 4πr1 − 30 
dr r  r 
2
d S 8πv 0  v0 
• Hessien : ( r ) = 4 π + = 4 π 1 + 2 
dr 2 r3  
3
r
 dS
 dr (r ) = 0 r = v 0
3

• Minimum de S(r) :  2 ⇒  d 2S
 d S (r ) ≥ 0  dr 2 (r ) = 12π > 0
 dr 2

Lien avec les conditions réduites


• Gradient réduit
 2v   v  dS
g Z (h , r ) = 2π(2r − h ) avec h = 2 0 ⇒ g Z (h , r ) = 2π 2r − 2 0  = 4πr1 − 20  =
2v
(r )
r  r   r  dr
• Hessien réduit
d 2S
→ pas de relation directe entre H Z et 2 (contrainte non linéaire)
dr
191
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation

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

192
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
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
193
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation

1.4.3 Exemples
Problème du sauveteur
• Données du problème : l0, l1, l2, v1, v2
y Arrivée
l1
Distance sur terre : d1 =
cos θ1
d l2
Durée de course : t1 = 1 θ2
v1 d2
l2 v2
Distance dans l’eau : d 2 =
cos θ 2
d v1
Durée de nage : t2 = 2
v2 l1 θ1 d1
Distance suivant x : L = d1 sin θ1 + d 2 sin θ 2

x
Départ l0
• Formulation du problème

Variables : θ1 , θ2
Contrainte : L = l0 → atteindre le point visé
Critère : T = t1 + t2 → durée totale à minimiser

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

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

min T(θ1 , θ 2 ) sous L(θ1 , θ 2 ) = l 0


θ1 , θ 2

l1 l2
⇔ min T = + sous L = l1 tan θ1 + l 2 tan θ 2 = l 0
θ1 , θ 2 v1 cos θ1 v 2 cos θ 2

• Résolution du problème

Lagrangien : L(θ1 , θ 2 , λ ) = + λ(l1 tan θ1 + l 2 tan θ 2 − l 0 )


l1 l2
+
v1 cos θ1 v 2 cos θ 2

 l1 sin θ1 1
 v cos 2 θ + λ l =0
θ
1 2
 1 cos
 l 2 sin θ 2
1
1
1
sin θ1 + λv1 = 0
Conditions KKT :  + λl 2 =0 ⇒ sin θ 2 + λv 2 = 0
 2
v cos 2
θ 2 cos 2
θ 2 l1 tan θ1 + l 2 tan θ 2 = l 0

l1 tan θ1 + l 2 tan θ 2 = l 0

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

1.4.3 Exemples
Problème du sauveteur
sin θ1 + λv1 = 0
• Conditions KKT : sin θ 2 + λv 2 = 0 θ2
l1 tan θ1 + l 2 tan θ 2 = l 0
v2
sin θ1 v1 v1
• θ1,θ2 vérifient : = → loi de la réfraction de Descartes
sin θ 2 v 2
θ1

• Pour résoudre complètement


sin θ = −λv ⇒ cos θ = 1 − λ2 v 2
On exprime θ1,θ2 en fonction de λ : 
1 1 1 1

sin θ 2 = − λv 2 ⇒ cos θ 2 = 1 − λ v 2
2 2

λl1 v1 λl 2 v 2
On remplace dans la contrainte : l1 tan θ1 + l 2 tan θ 2 = l 0 ⇒ + = −l 0
1− λ v
2 2
1 1− λ v
2 2
2

On obtient une équation en λ : λl1 v1 1 − λ2 v 22 + λl 2 v 2 1 − λ2 v12 = −l 0 1 − λ2 v 22 1 − λ2 v12


→ équation de degré 4
→ solution λ* → θ1* ,θ2*
196
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation

1.4.3 Sensibilité aux contraintes


Problème avec contraintes
c (x) = 0 → p contraintes d’égalité
minn f(x) sous  E
x∈R c I (x) ≤ 0 → q contraintes d’inégalité

⇔ min f(x) sous c(x) = 0 → m contraintes d’égalité (= contraintes actives)


x∈R n

Problème initial
minn f(x) sous c(x) = 0
x∈R

• Multiplicateurs : λ*, ∇xL(x*,λ*)= 0


• Solution : x*, f(x*) = f*
c(x*) =0
Problème perturbé
minn f(x) sous c(x) = δc
x∈R

• Variation des niveaux de contrainte δc → Variation de la solution δx , du coût optimal δf


• Solution : x*+δx, f(x*+δx) = f* + δf, δf∈R
c(x*+δx) = 0 + δc , δc∈Rm

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

1.4.3 Sensibilité aux contraintes


Variation du coût optimal
• Variation du coût et des contraintes à l’ordre 1
f ( x * +δx ) = f ( x*) + ∇f ( x*) T δx = f ( x*) + δf δf = ∇f ( x*) T δx
 ⇒ 
c ( x * + δx ) = c ( x *) + ∇ c ( x *) T
δx = c ( x *) + δc δc = ∇c( x*) δx
T

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


∇ x L( x*, λ*) = 0 ⇒ ∇f ( x*) + ∇c( x*)λ* = 0
• Relation entre δf et δc
( )
δf + λ *T δc = ∇f ( x*) T + λ *T ∇c( x*) T δx = (∇f ( x*) + ∇c( x*)λ * ) δx = 0
T

m
⇒ δf = −λ * δc = −∑ λ*jδc j
T

j=1

• Une variation δcj du niveau de la contrainte j entraîne une variation –λj*δcj du coût optimal.

Interprétation
Le multiplicateur donne la sensibilité du coût optimal au niveau de la contrainte (au signe près)
→ Convention possible de définition du lagrangien : L = f + λTc
ou L = f − λTc

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

1.4.3 Sensibilité aux contraintes


Fonction de 2 variables – 1 contrainte égalité

x2 f = f* f = f*+ δf
min f(x1 , x 2 ) sous c(x1 , x 2 ) = 0
f décroissante x1 , x 2

∇f ( x*) + λ∇c( x*) = 0

Variations :
• δc = ∇c.δx
x* x*+δx • δf = ∇f.δx = −λδc
−∇f ∇c
Sur le schéma :
• f(x1, x2) = x1 à minimiser
• λ < 0 (λ ≈ −2)
• δc > 0 → δx > 0
c = δc → δf < 0
c=0
δx
x1
199
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation

1.4.3 Exemple
Problème de la boîte
S = 2πr 2 + 2πrh
min S(h , r ) sous V(h , r ) = V0 avec 
V = πr h
2
h ,r

r
→ contrainte en volume de niveau V0

Solution  1

r =  V0  3
  2π 
 1
  V0  3 h
⇒ S = 3(2π) 3 V0 3
2
h = 2  
1

  2π 
 1

λ = −2  2π 
3

 V 
  0

Sensibilité au niveau de contrainte


1
−1  2π 
= 2(2π) 3 V0 3 = 2  = −λ
dS 1 3

dV0  V0 
200
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation

1.4.3 Sensibilité aux paramètres


Problème avec paramètres de modèle

min f(x, p) sous c(x, p) = 0 → m contraintes d’égalité (= contraintes actives)


x∈R n
r paramètres de modèle p∈Rr (valeurs fixées)

Problème initial
min f(x, p) sous c(x, p) = 0
x∈R n

• Multiplicateurs : λ*, ∇xL(x*,λ*,p) = 0


• Solution : x*, f(x*, p) = f*
c(x*, p) =0

Problème perturbé
min f(x, p + δp) sous c(x, p + δp) = 0
x∈R n

• Variation des paramètres δp → Variation de la solution δx , du coût optimal δf


• Solution : x*+δx, f(x*+δx, p+δp) = f* + δf, δf∈R
c(x*+δx, p+δp) = 0 (même niveau de contrainte = 0)

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

c( x * +δx , p + δp) = c( x*, p) + ∇ x c( x*, p) δx + ∇ p c( x*, p) δp = c( x*, p) = 0
T T

∇ x f ( x*, p) T δx + ∇ p f ( x*, p) T δp = δf
⇒ 
∇ x c( x*, p) δx + ∇ p c( x*, p) δp = 0
T T

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


∇ x L( x*, λ*, p) = 0 ⇒ ∇ x f ( x*, p) + ∇ x c( x*, p)λ* = 0

• Relation entre δf et δp
( ) (
δf = ∇ x f ( x*, p) T + λ *T ∇ x c( x*, p) T δx + ∇ p f ( x*, p) T + λ *T ∇ p c( x*, p) T δp )
δf = (∇ f ( x*, p) + ∇ c( x*, p)λ * ) δp = ∇ L( x*, λ*, p)
df ( x*, p)
⇒ δp ⇒ = ∇ p L( x*, λ*, p)
T T
p p p
dp
∂L( x*, λ*, p)
• Une variation δpj du paramètre j entraîne une variation δp j du coût optimal
∂p j
→ sensibilité du coût aux paramètres de modèle
202
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation

1.4.3 Exemple
Problème de la boîte
S = 2πr 2 + 2πrh
min S(h , r ) sous M (h , r ) = M 0 = ρV0 avec 
M = ρV = πr hρ
2
h ,r

r
→ contrainte en masse M0 au lieu de volume V0, avec densité ρ

Solution  1

r =  M 0  3 ⇒ S = 3(2π) 3 M 0 3 ρ
1 2 −2
3
  2πρ 
  
L = S + λ(M − M 0 )
1
  M0 3 h
h = 2  
 2 πρ  ∂L ∂M
 ⇒ =λ = λπr 2 h
 1
∂ρ ∂ρ
λ = − 2  2πρ 
3 2
∂L 4π  M 0  3
 ρ  M 0  ⇒ =−  
 ∂ρ ρ  2πρ 

Sensibilité au paramètre ρ
2
−5 4π  M  3
∂L
= − 2(2π) M 0 ρ 3 = −  0 
dS 1 2
3 3
=
dρ ρ  2πρ  ∂ρ
203
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.4 Problème linéaire
Techniques d’optimisation

1.4.4 Problème linéaire

 Forme standard

 Conditions nécessaires d’optimalité

 Coûts réduits

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

1.4.4 Problème linéaire


Problème linéaire
Ax = b
minn c T x sous  A ∈ R m× n , b ∈ R m , c ∈ R n
x∈R x ≥ 0
→ problème linéaire sous forme standard (PL)

Conditions nécessaires d’optimalité à partir du lagrangien


∇ x L( x , λ, s) = c − A T λ − s
Lagrangien : L( x , λ, s) = c x + λ (b − Ax) − s x ⇒  2
T T T

∇ xx L( x , λ, s) = 0
(x,λ,s) minimum local de (PL)

c − A T λ − s = 0
• Condition nécessaire d’ordre 1 : s ≥ 0 → contraintes du problème dual

• Condition nécessaire d’ordre 2 : ∇ 2xx L( x , λ, s) ≥ 0 → vérifiée

• Condition complémentaire : s i x i = 0, i = 1,...n

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

1.4.4 Problème linéaire


Problème linéaire
Ax = b
minn c T x sous  A ∈ R m× n , b ∈ R m , c ∈ R n
x∈R x ≥ 0
→ problème linéaire sous forme standard (PL)

Conditions nécessaires d’optimalité à partir des dérivées directionnelles

x minimum local de (PL)



Pour toute direction admissible d : ∇f ( x ) T d ≥ 0 ⇒ c T d ≥ 0

• Toute direction admissible d est combinaison linéaire des directions de base dj.
(contraintes linéaires)
d jB = −B −1A j
d  
d j = E jB  avec  T  0  ⇒ c T d j = c TB d jB + c TN d jN = −c TB B −1A j + c j
 d jN  E e j =  d jN 

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

206
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.4 Problème linéaire
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 
 N  0 →n − m
Le coût réduit associé à la variable hors base xj est défini par : c j = c T d j = c j − c TB B−1A j

= dérivée directionnelle de f suivant la jème direction de base pour une variable hors base
= 0 par extension pour une variable de base
( ) (
AE = (B N ) ⇒ B −1AE = I B −1 N ⇒ c TB B −1AE = c TB c TB B −1 N ) (
⇒ c = 0 c NT )
Conditions nécessaires d’optimalité
x* solution de base non dégénérée

x* solution de PL ⇒ c≥0

Conditions suffisantes d’optimalité


x* solution de base admissible

c≥0 ⇒ x* solution de PL

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

1.4.4 Problème linéaire


Lien entre multiplicateurs et coûts réduits
Ax = b
• Problème linéaire sous forme standard : minn c T x sous 
x∈R x ≥ 0
• Lagrangien : L( x , λ, s) = c T x + λT (b − Ax) − s T x ⇒ ∇ x L( x , λ, s) = c − A T λ − s

Conditions d’ordre 1 : A λ + s = c


T

s ≥ 0 , s i x i = 0 , i = 1,  , n
 cB   sB  xB = B −1b 
• Base B : AE = (B N ) ⇒ c =   , s =   , x =  
cN  sN  xN = 0 
 BT   s B   c B 
A λ+s = c
T
⇔  T λ +   =  
 N  sN  cN 
s ≥ 0 , si x i = 0 , i ∈ B → vérifié en prenant sB=0
s ≥ 0 , s i x i = 0 , i = 1,  , n ⇔  B
s N ≥ 0 , s i x i = 0 , i ∈ N → vérifié car xN=0

B T λ = c B λ = B − T c B  sB   0 
 T ⇒  ⇒ =   =   = c ≥ 0
N λ + s N = c N  N
s = c N − B (
−1
N
T
c)B = c N ≥ 0
s
 s N   cN 
s N ≥ 0

• Les coûts réduits sont les multiplicateurs des variables → s = c ≥ 0
208
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.5 Problème quadratique
Techniques d’optimisation

1.4.5 Problème quadratique

 Forme standard

 Conditions nécessaires d’optimalité

 Projection

 Directions conjuguées

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

1.4.5 Problème quadratique


Problème quadratique
1 T
• Forme standard minn x Qx + c T x sous Ax = b Q ∈ R n × n , A ∈ R m× n , b ∈ R m , c ∈ R n
x∈R 2
• Gradient : g(x) = Qx + c

• Hessien : H(x) = Q

Cas d’une matrice Q non symétrique


1
On se peut toujours se ramener à une matrice Q’ symétrique : Q ij' = Q 'ji = (Q ij + Q ji )
2
n n n n n n
1
⇒ x T Qx = ∑∑ Q ij x i x j = ∑∑ (Q ij + Q ji )x i x j = ∑∑ Q ij' x i x j = x T Q ' x
i =1 j=1 2 i =1 j=1 i =1 j=1

Cas d’une matrice Q symétrique


• Q admet n valeurs propres réelles (distinctes ou non)
• Q admet une base orthonormée de vecteurs propres
• Si Q est définie positive, elle admet une factorisation LDLT (factorisation de Cholesky)

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

1.4.5 Problème quadratique


Conditions nécessaires d’optimalité
1 ∇ x L( x , λ) = Qx + c − A T λ
• Lagrangien : L( x , λ) = x T Qx + c T x + λT (b − Ax) ⇒ 2
2 ∇ xx L( x , λ) = Q

• Conditions d’ordre 2 : Q définie positive → Q inversible


Qx − A T λ = −c x − Q −1A T λ = −Q −1c Ax − AQ −1A T λ = −AQ −1c
• Conditions d’ordre 1 :  ⇒ Ax = b ⇒
 Ax = b  Ax = b

Solution
Par soustraction membre à membre : (
AQ −1A T λ = AQ −1c + b ⇒ λ = AQ −1A T ) (AQ
−1 −1
c+b )
( )(
λ = AQ −1A T −1 AQ −1c + b
En reportant dans l’expression de x : 
)
( ) (
x = Q −1 A T λ − c = Q −1A T AQ −1A T ) (AQ
−1 −1
)
c + b − Q −1c

Application
Projection d’un vecteur sur un hyperplan

211
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.5 Problème quadratique
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
min x − x 0 sous Ax = b
x∈R n

→ point xP de l’hyperplan le plus proche de x0 xP

• Problème quadratique équivalent


1 2
min x − x 0 sous Ax = b
x∈R 2 n

x0
⇔ min (x − x 0 ) (x − x 0 ) sous Ax = b
1 T
x∈R 2 n

• Lagrangien : L( x , λ) = (x − x 0 ) (x − x 0 ) + λT (b − Ax )
1 T

2
• Condition d’ordre 1 : 
x − x 0 − A T λ = 0
⇒
Ax − AA T λ = Ax 0
⇒ 
( )
λ = AA T −1 (b − Ax )
( )
0

 Ax = b  Ax = b x = x 0 + A AA
T T −1
(b − Ax 0 )
Solution

( (
x P = I − A T AA T )
−1
) (
A x 0 + A T AA T )
−1
b → matrice de projection : P = I − A T AA T( )
−1
A

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

1.4.5 Directions conjuguées


Forme quadratique définie positive
On considère une forme quadratique définie positive
1 T
f (x) =x Qx + c T x avec Q∈Rn×n symétrique définie positive
2
Relation de conjugaison
• 2 vecteurs u et v de Rn sont conjugués par rapport à Q si : uTQv=0
• n vecteurs (di)i=1,…,n conjugués 2 à 2 forment une base de Rn

Preuve n
On cherche (αi)i=1,…,n tels que : ∑ α i d i = 0
n n i =1
⇒ d k Q ∑ α i d i = 0 , ∀k ⇒ ∑ α d Qd
i k i = 0 , ∀k ⇒ α k d k Qd k = 0 , ∀k car d k Qd i si i ≠ k
i =1 i =1

Q définie positive : d k Qd k > 0 si d k ≠ 0 ⇒ α k = 0


Les n vecteurs (ui)i=1,…,n sont indépendants → base de Rn
n
d i Qx
• Tout vecteur x de Rn peut s’écrire : x = ∑ α i d i avec α i =
i =1 d i Qd i

213
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.5 Problème quadratique
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
en n itérations à pas optimal suivant des directions conjuguées. 2
n
d i Qx0
Preuve : On part du point initial x0 : x0 = ∑ di dans la base (di)i=1,…,n
i =1 d i Qd i
k
Après k itérations à pas optimal αk suivant d1,…, dk , on obtient : xk = x0 + ∑ α i d i = xk −1 + α k d k
A l’itération k, le pas optimal αk suivant la direction dk vérifie : i =1

min f (xk −1 + αd k ) ⇒ f (xk −1 + αd k ) = 0 ⇒ d kT ∇f (xk −1 + αd k ) = 0 ⇒ d kT ∇f (xk ) = 0


d
α dα
T  
k
∇f ( x ) = Qx + c ⇒ d k ∇f (xk ) = d k Q x0 + ∑ α i d i  + d kT c = d kT (Qx0 + c ) + α k d kT Qd k
T

 i =1 
d kT ∇f (xk ) = 0 ⇒ α k = − k T 0
d T
(Qx + c )
d k Qd k
On obtient pour xn :
n
xn = x0 + ∑ α i d i = x0 − ∑
n
d iT (Qx0 + c ) n
d i = x0 − ∑ T
d iT Qx0
di − ∑
n
( )
d iT Q Q −1c
di
T T
i =1 i =1 d i Qd i i = 1 d i Qd i i =1 d i Qd i
= x0 − x0 − Q −1c dans la base (di)

⇒ xn = − Q −1c ⇒ ∇f ( xn ) = Q −1 xn + c = 0 → xn = x* minimum de f
214
2 Optimisation sans contraintes
Techniques d’optimisation

Sommaire
1. Bases théoriques

2. Optimisation sans contraintes


2.1 Méthodes de descente
2.2 Méthode de Newton
2.3 Recherche linéaire
2.4 Région de confiance
2.5 Moindres carrés
2.6 Méthode de Nelder-Mead

3. Optimisation avec contraintes

215
2 Optimisation sans contraintes
Techniques d’optimisation

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

216
2 Optimisation sans contraintes
2.1 Méthodes de descente
Techniques d’optimisation

Sommaire
1. Bases théoriques

2. Optimisation sans contraintes


2.1 Méthodes de descente
2.1.1 Principes
2.1.2 Itérations
2.1.3 Initialisation et arrêt
2.2 Méthode de Newton
2.3 Recherche linéaire
2.4 Région de confiance
2.5 Moindres carrés
2.6 Méthode de Nelder-Mead

3. Optimisation avec contraintes

217
2 Optimisation sans contraintes
2.1 Méthodes de descente
2.1.1 Principes
Techniques d’optimisation

2.1.1 Méthodes de descente


Problème sans contrainte
∇ f(x*) = 0
minn f(x) 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).

Méthode locale
• Initialisation x0 → recherche d’un minimum local au voisinage de x0
• Itérations → passage du point xk au point xk+1 meilleur
• Arrêt → solution x* ou blocage

Initialisation Point initial Modèle local


x0 xk f̂ k (x)

Solution Nouveau point Amélioration


x* xk+1 f(xk+p) < f(xk)

218
2 Optimisation sans contraintes
2.1 Méthodes de descente
2.1.2 Itérations
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)
1 t
• Modèle quadratique : min f̂ k ( x k + p) = f k + p t g k + p Hkp → x̂ k +1 = x k + p̂
p 2 (prédiction)
→ Méthodes de Newton ou quasi-Newton

Amélioration : correction
• Nouveau point xk+1 = xk + p tel que f(xk+p) < f(xk)

• Déplacement p à partir de xk
par recherche linéaire suivant d k = x̂ k +1 − x k
par région de confiance dans x − xk < r

→ Méthodes de globalisation

• La méthode de Newton appliquée directement ne converge pas systématiquement.


La globalisation est nécessaire pour contrôler la convergence.
219
2 Optimisation sans contraintes
2.1 Méthodes de descente
2.1.3 Initialisation et arrêt
Techniques d’optimisation

2.1.3 Initialisation et arrêt


Initialisation
• Les méthodes locales recherchent le minimum au voisinage du point de départ.

• Objectifs : rapidité de convergence


précision de convergence
→ méthodes à base de dérivées

• Le minimum local trouvé est le plus proche du point initial x0.


→ initialisation à modifier pour trouver un autre minimum local

• Les méthodes « globales » explorent « aléatoirement » les solutions


→ localisation possible de plusieurs minima locaux

Conditions d’arrêt
• Déplacement insuffisant : x k +1 − x k < ε x
• Amélioration insuffisante : f k − f k +1 < ε f
• Condition d’ordre 1 vérifiée : g k < εg
• Nombre maximal d’itérations ou d’appels fonction : Niter , Nfonc

220
2 Optimisation sans contraintes
2.2 Méthode de Newton
Techniques d’optimisation

Sommaire
1. Bases théoriques

2. Optimisation sans contraintes


2.1 Méthodes de descente
2.2 Méthode de Newton
2.2.1 Résolution d’équations
2.2.2 Minimisation
2.2.3 Globalisation
2.3 Recherche linéaire
2.4 Région de confiance
2.5 Moindres carrés
2.6 Méthode de Nelder-Mead

3. Optimisation avec contraintes

221
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation

2.2.1 Résolution d’équations

 Principes

 Méthode de Newton

 Méthode de quasi-Newton

222
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.1 Résolution d’équations
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 Point initial Fonction modèle


x0 xk ĝ k (x)

Solution Nouveau point Résolution


x* xk+1 ĝ k (x) = 0

223
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation

2.2.1 Méthode de Newton


Fonction modèle
• Développement de Taylor à l’ordre 1 de g en xk
g(x) = g(x k ) + ∇g(x k ) T (x − x k ) + o( x − x k )
• Modèle linéaire de g en xk :
ĝ k (x) = g(x k ) + G k (x − x k ) avec G k ∈ R n×n

Choix de la matrice Gk
• Méthode de Newton → Gk = ∇g(xk)T = matrice jacobienne de g en xk
• Méthode de quasi-Newton → Gk = approximation de ∇g(xk)T

Résolution

• Système linéaire : ĝ k (x) = 0 ⇒ g(x k ) + G k (x − x k ) = 0

• Itération : x k +1 = x k − G −k1g(x k ) si Gk inversible

• Condition d’arrêt : g(x k ) < ε

224
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.1 Résolution d’équations
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 )
y0
• Intersection axe x : y = 0 ⇒ x1 = x 0 −
g' (x 0 )
• Nouveau point : x1, y1 = g(x1)

x*
x2 x1 x0
225
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation

2.2.1 Méthode de Newton


Modèle linéaire de g en xk

ĝ k (x) = g(x k ) + G k ( x − x k ) avec G k = ∇g(x k ) T

Erreur de linéarisation
M = constante de Lipschitz sur le gradient ≈ majorant de la courbure
1 2
g(x) − ĝ k (x) ≤ M x − xk → erreur quadratique
2
Vitesse de convergence
Hypothèses sur la solution x* : ∇g(x * ) inversible
∇g(x * ) −1 ≤ η
−1
Suite (xk) : x k +1 = x k − G k g(x k )

• (xk) converge vers x* si x0 est « assez proche » de x* : ∃r > 0 / x 0 − x * < r ⇒ lim x k = x *


k →∞
2
• La convergence est quadratique → x k +1 − x * ≤ Mη x k − x *

226
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation

2.2.1 Exemples
Exemple 1
• Fonction : g(x) = x 2 − 1
Iteration x(k) g(x)=x**2-1 g'(x)=2x Erreur
• Dérivée : g' (x) = 2x
0 4,00000000 1,5E+01 8,0000 3,0E+00
• Solution : x = 1 → g’(1) = 2
1 2,12500000 3,5E+00 4,2500 1,1E+00
2 1,29779412 6,8E-01 2,5956 3,0E-01
g(x) 3 1,03416618 6,9E-02 2,0683 3,4E-02
4 1,00056438 1,1E-03 2,0011 5,6E-04
5 1,00000016 3,2E-07 2,0000 1,6E-07
6 1,00000000 2,5E-14 2,0000 1,3E-14

1 x Convergence quadratique
g’(x*) inversible

227
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation

2.2.1 Exemples
Exemple 2
• Fonction : g(x) = ( x − 1) 2 Iteration x(k) g(x)=(x-1)**2 g'(x)=2(x-1) Erreur
• Dérivée : g' (x) = 2(x − 1) 0 4,00000000 9,0E+00 6,0000 3,0E+00
• Solution : x = 1 → g’(1) = 0 1 2,50000000 2,3E+00 3,0000 1,5E+00
2 1,75000000 5,6E-01 1,5000 7,5E-01
3 1,37500000 1,4E-01 0,7500 3,8E-01
g(x) 4 1,18750000 3,5E-02 0,3750 1,9E-01
5 1,09375000 8,8E-03 0,1875 9,4E-02
6 1,04687500 2,2E-03 0,0938 4,7E-02
7 1,02343750 5,5E-04 0,0469 2,3E-02
8 1,01171875 1,4E-04 0,0234 1,2E-02
9 1,00585938 3,4E-05 0,0117 5,9E-03
10 1,00292969 8,6E-06 0,0059 2,9E-03
15 1,00009155 8,4E-09 0,0002 9,2E-05
20 1,00000286 8,2E-12 0,0000 2,9E-06

1 x Convergence lente
g’(x*) non inversible
228
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation

2.2.1 Exemples
Exemple 3
• Fonction : g(x) = Arc tan( x ) Iteration x(k) g(x)=Arctan(x) g'(x)=1/(1+x**2) Erreur
0 1,300 0,915 0,372 1,3E+00
1
Dérivée : g' (x) =
1 -1,162 -0,860 0,426 -1,2E+00

1+ x2 2 0,859 0,710 0,575 8,6E-01
3 -0,374 -0,358 0,877 -3,7E-01
• Solution : x = 0 → g’’(1) = 0 4 0,034 0,034 0,999 3,4E-02
5 0,000 0,000 1,000 -2,6E-05
6 0,000 0,000 1,000 1,2E-14

g(x)
Convergence

Iteration x(k) g(x)=Arctan(x) g'(x)=1/(1+x**2) Erreur


0 1,500 0,983 0,308 1,5E+00
1 -1,694 -1,038 0,258 -1,7E+00
2 2,321 1,164 0,157 2,3E+00
x1 x0 x2 x 3 -5,114 -1,378 0,037 -5,1E+00
0 4 32,296 1,540 0,001 3,2E+01
5 -1575,317 -1,570 0,000 -1,6E+03
6 3894976,008 1,571 0,000 3,9E+06

Divergence
229
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation

2.2.1 Méthode de Newton


Intérêt de la méthode de Newton
• Convergence quadratique au voisinage de la solution → très rapide et précise
• Méthode à privilégier dans les algorithmes d’optimisation

Difficultés
• Calcul explicite du gradient ∇g(xk) à chaque itération → coûteux (n appels fonctions)
• Convergence non garantie → même près de la solution

Adaptations
• Méthodes de quasi-Newton → Gk = approximation du gradient ∇g(xk)
construite à partir des itérations précédentes
sans calcul explicite du gradient

• Techniques de globalisation → Contrôle du point xk+1 (meilleur que xk ?)


g(x k +1 ) < g(x k )

Si le point xk+1 n’est pas satisfaisant → Méthodes de recherche linéaire


ou région de confiance
2
pour minimiser g(x)

230
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation

2.2.1 Méthode de quasi-Newton


Méthode de Broyden
On cherche à définir la matrice Gk à partir de la matrice Gk-1 de l’itération précédente.
Les matrices Gk-1 et Gk doivent être « proches » au sens de la norme matricielle.

Variation de modèle
• Modèle linéaire de g en xk-1 : ĝ k -1 (x) = g(x k -1 ) + G k -1 ( x − x k -1 )

• Modèle linéaire de g en xk: ĝ k (x) = g(x k ) + G k ( x − x k )

• Différence entre les modèles en xk-1 et xk


car g(x k ) = g(x k -1 ) + G k (x k − x k -1 )
ĝ k (x) = g(x k ) + G k (x − x k ) par définition de G k
= g(x k -1 ) + G k ( x k − x k -1 ) + G k ( x − x k )
= g(x k -1 ) + G k ( x − x k -1 )
= ĝ k -1 (x) − G k -1 ( x − x k -1 ) + G k ( x − x k -1 ) car ĝ k -1 (x) = g(x k -1 ) + G k -1 ( x − x k -1 )
= ĝ k -1 (x) + (G k − G k -1 )( x − x k -1 ) par définition de ĝ k -1

⇒ ĝ k (x) − ĝ k -1 (x) = (G k − G k -1 )(x − x k -1 )

231
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation

2.2.1 Méthode de quasi-Newton


Objectif
Conserver un modèle linéaire de g en xk
ĝ k (x) = g(x k ) + G k ( x − x k ) avec G k ≈ ∇g(x k ) T
sans calculer explicitement Gk

Equation de la sécante
On choisit une matrice Gk ∈Rn×n vérifiant :
d = x k − x k -1
g(x k ) − g(x k -1 ) = G k ( x k − x k -1 ) ⇔ y k -1 = G k d k -1 avec  k -1
 y k -1 = g(x k ) − g(x k -1 )
→ équation de la sécante entre xk-1 et xk

Choix de G
Il existe une infinité de matrices G vérifiant l’équation de la sécante :
n2 inconnues (composantes de G ∈Rn×n )
n équations
Chaque ligne de G définit un hyperplan de Rn passant par xk-1 et xk
→ infinité d’ hyperplans possibles

232
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.1 Résolution d’équations
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)
y1 − y 0
x1, y1 = g(x1) → Sécante en x1 : y = y 0 − (x − x 0 )
x1 − x 0
x1 − x 0
• Intersection axe x : y = 0 ⇒ x2 = x0 − y0
y1 − y 0
• Nouveau point : x2, y2 = g(x2)

x*
x2 x1 x0
233
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation

2.2.1 Méthode de quasi-Newton


Mise à jour de Broyden
L’écart entre les modèles ĝ k -1 (x) et ĝ k (x) est minimal en choisissant Gk solution de :
d k -1 = x k − x k -1
minn×n G − G k -1 sous y k −1 = G d k −1 avec  y = g(x ) − g(x )
G∈R  k -1 k k -1

( y k −1 − G k -1d k −1 )d Tk −1
Formule de Broyden : G k = G k -1 + → solution optimale
d Tk −1d k −1

Convergence
• La matrice G ne converge pas forcément vers ∇g → ne compromet pas la convergence

• Les méthodes de quasi-Newton et de Newton peuvent converger vers des solutions différentes.

• La méthode de quasi-Newton converge généralement moins vite que la méthode de Newton,


mais nécessite beaucoup moins d’appels de la fonction g (pas de calcul de gradient).

→ Peu de résultats théoriques


→ Méthode efficace en pratique, comportement à vérifier et adapter au cas par cas

234
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.1 Résolution d’équations
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

Quasi - Newton Newton

Iteration x(k) g(x)=x**2-1 dg/dx Erreur Iteration x(k) g(x)=x**2-1 g'(x)=2x Erreur
5,00000000 2,4E+01 4,0E+00 0 4,00000000 1,5E+01 8,0000 3,0E+00
0 4,00000000 1,5E+01 9,0000 3,0E+00 1 2,12500000 3,5E+00 4,2500 1,1E+00
1 2,33333333 4,4E+00 6,3333 1,3E+00 2 1,29779412 6,8E-01 2,5956 3,0E-01
2 1,63157895 1,7E+00 3,9649 6,3E-01 3 1,03416618 6,9E-02 2,0683 3,4E-02
3 1,21238938 4,7E-01 2,8440 2,1E-01 4 1,00056438 1,1E-03 2,0011 5,6E-04
4 1,04716672 9,7E-02 2,2596 4,7E-02 5 1,00000016 3,2E-07 2,0000 1,6E-07
5 1,00443349 8,9E-03 2,0516 4,4E-03 6 1,00000000 2,5E-14 2,0000 1,3E-14
6 1,00010193 2,0E-04 2,0045 1,0E-04
7 1,00000023 4,5E-07 2,0001 2,3E-07
8 1,00000000 2,3E-11 2,0000 1,1E-11

235
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation

2.2.2 Minimisation

 Principes

 Méthode de Newton

 Méthode de quasi-Newton

 Méthode BFGS

 Méthode DFP

 Méthode SR1

236
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation

2.2.2 Problème de minimisation


Problème sans contrainte
minn f(x) → gradient : g(x) = ∇ f(x)
x∈R
hessien : H(x) = ∇2f(x)

Condition nécessaire de minimum local


g(x*) = 0
x* minimum local ⇒ 
H(x*) ≥ 0 (hessien semi-défini positif)

Recherche des points stationnaires


Application de la méthode de Newton au système d’équations non linéaires : g(x) = 0
g(x ) = ∇f(x k )
Modèle linéaire de g en xk : ĝ k (x) = g(x k ) + G k ( x − x k ) avec  k
G k = ∇g(x k ) = ∇ f(x k ) = H k
T 2

• Méthode de Newton : G = H → calcul explicite du hessien à chaque itération


• Méthode de quasi-Newton : G = approximation de H
construite à partir des itérations précédentes
sans calcul explicite du hessien

237
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation

2.2.2 Méthode de Newton


Modèle linéaire de g=∇f en xk
g(x ) = ∇f(x k )
ĝ k (x) = g(x k ) + G k ( x − x k ) avec  k
G k = ∇g(x k ) = ∇ f(x k ) = H k
T 2

• Itération : x k +1 = x k − ∇ 2 f(x k ) −1 ∇f(x k ) → équations de Newton


• Condition d’arrêt : ∇f(x k ) ≤ ε

Difficultés
• Calcul explicite et inversion du hessien ∇2f(xk) à chaque itération → coûteux
• Convergence non garantie même près de la solution
→ mêmes difficultés que pour la résolution d’équations

• 1ère condition nécessaire de minimum : ∇f(x*)=0


→ point stationnaire x* = minimum local, maximum local ou point selle
→ 2ème condition nécessaire de minimum à vérifier : ∇2f(x*)≥0

Adaptations
• Méthodes de quasi-Newton → Gk = approximation du hessien ∇2f(xk)
• Techniques de globalisation → Contrôle de la décroissance de f

238
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
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
2
)
• Modèle quadratique en xk
1
f̂ k (x) = f k (x k ) + g Tk (x − x k ) + (x − x k ) T H k (x − x k )
2
• Lien entre le modèle de f et le modèle de g =∇f
∇f̂ k (x) = g k + H k (x − x k ) = ĝ k (x)

Minimisation du modèle de f en xk
∇ f̂ (x*) = ĝ k (x*) = 0
• Conditions suffisantes de minimum local : min f̂ k (x) ⇐  2 k
x∈R
∇ f̂ k (x*) = H k > 0
n

• Si le hessien de f en xk est défini positif : ∇2f(xk) > 0


Minimisation du modèle quadratique de f en xk
⇔ Méthode de Newton en xk pour résoudre ∇f(x)=0

• Sinon la méthode de Newton n’est pas directement applicable pour une minimisation
239
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation

2.2.2 Exemple
Méthode de Newton
• Fonction : f ( x ) = − x + 12 x − 47 x + 60 x
4 3 2

• Dérivée : f ' ( x ) = −4 x 3 + 36 x 2 − 94 x + 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

240
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation

2.2.2 Exemple
Méthode de Newton
• Modèle quadratique en x0 = 3 : f̂ 0 ( x ) = 7 x − 48x + 81
2

• Itération de Newton en x0 = 3 : min f̂ 0 ( x ) → x 1 = 24 → Meilleur que x0


x 7 f(x1) = −1.32 < 0 = f(x0)
1,50

1,25

1,00

0,75

0,50

0,25
x0 x1
0,00
2,50 2,75 3,00 3,25 3,50 3,75 4,00 4,25 4,50
-0,25

-0,50

-0,75

-1,00

-1,25

-1,50

241
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation

2.2.2 Exemple
Méthode de Newton
• Modèle quadratique en x0 = 4 : f̂ 0 ( x ) = x − 4 x
2

• Itération de Newton en x0 = 4 : min f̂ 0 ( x ) → x1 = 2 → Moins bon que x0


x
f(x1) = 12 > 0 = f(x0)
5,00

4,00

3,00

2,00

1,00

0,00
x1 x0
1,00 1,50 2,00 2,50 3,00 3,50 4,00 4,50 5,00
-1,00

-2,00

-3,00

-4,00

-5,00
242
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation

2.2.2 Exemple
Méthode de Newton
• Modèle quadratique en x0 = 5 : f̂ 0 ( x ) = −17 x 2 + 160 x − 375

• Itération de Newton en x0 = 5 : min f̂ 0 ( x ) → x 1 = 81 → Moins bon que x0 (maximise f)


x 17 f(x1) = 1.513 > 0 = f(x0)
2,00

1,50

1,00

0,50
x1 x0
0,00
4,00 4,25 4,50 4,75 5,00 5,25 5,50
-0,50

-1,00

-1,50

-2,00

-2,50

-3,00
243
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation

2.2.2 Méthode de quasi-Newton


Objectif
Conserver un modèle quadratique de f en xk
1
f̂ k (x) = f k (x k ) + g Tk (x − x k ) + (x − x k ) T H k (x − x k ) avec H k ≈ ∇ 2 f(x k )
2
sans calculer explicitement Hk

Mise à jour de Broyden


On peut appliquer la méthode de Broyden à la résolution de g(x)=∇f(x)=0.

H k = H k -1 +
( y k −1 − H k -1d k −1 )d Tk −1 d k -1 = x k − x k -1
avec  y = g(x ) − g(x )
d Tk −1d k −1  k -1 k k -1

Inconvénients
• Hk n’est pas forcément symétrique
• Hk n’est pas forcément positive

→ Modifications de la méthode si l’on souhaite avoir H k ≈ ∇ 2 f(x k )


→ Formules BFGS, DFP ou SR1

244
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation

2.2.2 Méthode BFGS


Equation sécante
Pour la résolution d’équations, on cherche la matrice Hk :
• vérifiant l’équation sécante H k d k −1 = y k −1
• la plus « proche » possible de Hk-1 → formule de Broyden
• sans condition particulière sur la forme de la matrice

Pour une minimisation, on impose de plus à la matrice Hk d’être :


• symétrique
→ formule BFGS
• définie positive

Méthode de résolution
La matrice Hk-1 issue de l’itération précédente est symétrique, définie positive.
• On part de la factorisation de Cholesky de Hk-1 : H k -1 = L k -1LTk -1
• On cherche la matrice Hk à partir de Hk-1 sous la forme : H k = A k A Tk

Il faut exprimer la matrice Ak en fonction de Lk-1.


→ On décompose l’équation sécante en 2 équations :
x = A Tk d k −1
H k d k −1 = y k −1 ⇔ A k A k d k −1 = y k −1 ⇔ 
T

A k x = y k −1
245
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation

2.2.2 Méthode BFGS


Méthode de résolution de l’équation sécante
x = A Tk d k −1
H k d k −1 = y k −1 ⇔ A k A d k −1 = y k −1
T
⇔ 
A k x = y k −1
k

1. Pour x donné, on cherche Ak la plus « proche » possible de Lk-1 vérifiant : A k x = y k −1


2. On détermine ensuite x en reportant l’expression de Ak dans : x = A Tk d k −1
3. On obtient H k = A k A Tk que l’on exprime en fonction de Hk-1.

Résolution
Notations sans indices : L = Lk-1, A = Ak
y = yk-1 , d = dk-1
( y − Lx ) x T
1. En appliquant la formule de Broyden à L on obtient A en fonction de x : A = L +
xTx
x ( y − Lx) T ( y − Lx) T d
2. En reportant : x = A d = L d +
T T
d =L d+
T
x
xTx xTx

( y − Lx) T d
Il faut résoudre x = L d +
T
x pour trouver x.
xTx
246
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation

2.2.2 Méthode BFGS


Résolution de l’équation sécante
( y − Lx) T d
On cherche x∈Rn vérifiant : x =L d+ T
x
xTx
• Pour qu’une solution existe, le vecteur LTd doit être colinéaire à x :
x = αLT d ⇒ x T x = α 2 d T Hd
( y − Lx) T d T yTd
• En reportant dans l’équation : αL d = L d + 2 T
T T
αL d ⇒ α L d = T
2 T

α d Hd d Hd
1  yTd T 
• Pour qu’une solution existe, on doit avoir y d > 0 → A = L + T  αyd L − T
T T
Hdd L 

y d
On obtient H : H = A A
k k
T
k k
d Hd 

Formule BFGS
y k −1 y Tk -1 H k -1d k −1d Tk −1H k -1 d = x k − x k -1
• Mise à jour de Hk : H k = H k -1 + T − avec  k -1
y k -1d k −1 d Tk −1H k -1d k −1  y k -1 = g(x k ) − g(x k -1 )

• Mise à jour symétrique, de rang 2


• Mise à jour définie positive si y Tk -1d k −1 > 0
247
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
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 d = x k − x k -1
H =  I − T H k -1  I − T 
 d y  + dT y si y Tk -1d k −1 > 0 avec  y k -1 = g(x
-1
k   k -1 k ) − g(x k -1 )
 d k -1 k −1 
y  k -1 k −1  k -1 k −1

• Méthode élaborée par Broyden, Fletcher, Goldfarb, Shanno à la fin des années 1960
→ reconnue comme l’une des plus efficaces en pratique

Limitations
• Si la condition yTd > 0 n’est pas vérifiée, on ne fait pas de mise à jour.
• Si le hessien n’est pas défini positif, la méthode BFGS ne converge pas vers le hessien
→ cas d’un hessien indéfini
→ optimisation avec contraintes (hessien réduit positif ≠ hessien complet)

248
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation

2.2.2 Méthode BFGS


Algorithme BFGS
• Direction de descente à l’itération k : u k −1 = −H -1k -1g ( x k −1 )
u k −1 = − H -1k -1g ( x k −1 )
• Minimisation dans la direction uk-1 : x k = x k −1 + su k −1 avec s → min f (x + su )
 s
k −1 k −1

• Mise à jour de l’inverse du hessien


 d k −1 y Tk -1  -1  y k −1d Tk -1  d k −1d Tk -1 d k -1 = x k − x k -1
H =  I − T
-1
H k -1  I − T + T si y T
d > 0 avec  y = g(x ) − g(x )
k   d y  d y k -1 k −1
 k -1
 d k -1 k −1 
y  k -1 k −1  k -1 k −1
k k -1

Propriété 1
La mise à jour BFGS donne une matrice définie positive si d k -1 y k −1 > 0
T

Cette condition est réalisée si xk est obtenu par minimisation exacte dans la direction − H -1k -1g ( x k −1 )

Propriété 2
1
Pour une fonction f quadratique : f ( x ) = x T Qx + c T x
2
u i Q −1u j = 0 , 0 ≤ i ≠ j ≤ k
l’algorithme BFGS donne des directions successives vérifiant :  −1 −1
H k Q u i = u i , 0 ≤ i ≤ k
→ directions conjuguées par rapport à Q−1
→ convergence en n itérations avec à l’itération n : H n = Q
249
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
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
d k −1d Tk -1 H -1k -1 y k −1 y Tk −1H -1k -1 d = x k − x k -1
Mise à jour de l’inverse : H = H + T − avec  k -1
-1 -1

 y k -1 = g(x k ) − g(x k -1 )
k k -1 T -1
d k -1 y k −1 y k −1H k -1 y k −1

 y k −1d Tk -1   d k −1 y Tk -1  y k −1 y Tk -1
H k =  I − T H k -1  I − T 
• Mise à jour du hessien :   y d  + yT d
 y k -1 k −1 
d  k -1 k −1  k -1 k −1

Comparaison DFP − BFGS


• Formules identiques en permutant dk−1 et yk−1 pour mettre à jour le hessien ou l’inverse
• Mise à jour symétrique, de rang 2
• Mise à jour définie positive si d Tk -1 y k −1 > 0 → condition similaire à BFGS
• Méthode DFP en général moins efficace que BFGS

250
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
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 )
u k −1 = − H -1k -1g ( x k −1 )
• Minimisation dans la direction uk-1 : x k = x k −1 + su k −1 avec s → min f (x + su )
 s
k −1 k −1

• Mise à jour de l’inverse du hessien


d k −1d Tk -1 H -1k -1 y k −1 y Tk −1H -1k -1 d = x k − x k -1
H =H + T − avec  k -1
-1 -1

 y k -1 = g(x k ) − g(x k -1 )
k k -1
d k -1 y k −1 y Tk −1H -k1-1 y k −1
Propriété 1
La mise à jour DFP donne une matrice définie positive si d k -1 y k −1 > 0
T

Cette condition est réalisée si xk est obtenu par minimisation exacte dans la direction − H -1k -1g ( x k −1 )

Propriété 2
1
Pour une fonction f quadratique : f ( x ) = x T Qx + c T x
2
u i Qu j = 0 , 0 ≤ i ≠ j ≤ k
l’algorithme DFP donne des directions successives vérifiant :  −1
H k Qu i = u i , 0 ≤ i ≤ k
→ directions conjuguées par rapport à Q
→ convergence en n itérations avec à l’itération n : H n = Q
251
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation

2.2.2 Méthode SR1


Equation sécante
La méthode SR1 construit une solution Hk de l’équation sécante H k d k −1 = y k −1
• Symétrique, de rang 1 (i.e. dépendante d’un seul vecteur u de Rn)
• Non nécessairement définie positive.

Méthode de résolution
• On cherche la matrice Hk à partir de Hk-1 sous la forme
H k = H k -1 + uu T → addition d’une matrice symétrique de rang 1
• Equation sécante : y k −1 = H k d k −1 = H k -1d k −1 + uu T d k −1 ⇒ y k −1 − H k -1d k −1 = u T d k −1u

u ⇒ u = γ (y k −1 − H k -1d k −1 )
1 1
• On pose : = u T d k −1 ⇒ y k −1 − H k -1d k −1 =
γ γ
1 1
• On reporte u pour obtenir γ : = γ ( y k −1 − H k -1d k −1 ) T d k −1 ⇒ d Tk -1 ( y k −1 − H k -1d k −1 ) = 2
γ γ
• On exprime uuT en fonction de dk-1, yk-1, Hk-1
u = γ (y k −1 − H k -1d k −1 ) ⇒ uu T = γ 2 ( y k −1 − H k -1d k −1 )( y k −1 − H k -1d k −1 ) T
1
 = d T (y − H d ) ( y k −1 − H k -1d k −1 )( y k −1 − H k -1d k −1 ) T
 γ 2 k -1 k −1 k -1 k −1 ⇒ uu =
T

d Tk -1 ( y k −1 − H k -1d k −1 )
252
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
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 d = x k − x k -1
• Mise à jour de Hk : H k = H k -1 + avec  k -1
d Tk -1 ( y k −1 − H k -1d k −1 )  y k -1 = g(x k ) − g(x k -1 )

• Mise à jour symétrique, de rang 1


• Mise à jour non nécessairement définie positive
→ Méthode alternative à la méthode BFGS (cas d’un hessien indéfini)

Limitations
• La formule SR1 peut donner des matrices Hk non définies positives, même si le hessien de la
fonction est défini positif.
• Le dénominateur peut devenir petit → empêche la mise à jour et la convergence

Propriété 1 T
Pour une fonction f quadratique : f ( x ) = x Qx + c x
T

2
la formule SR1 donne après n déplacements suivant des directions indépendantes dk : H n = Q
→ ne nécessite pas de minimisation suivant dk

253
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
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 Symétrique AAT Symétrique uuT


Rang 2 Rang 2 Rang 1
Définie positive Définie positive Indéfinie
Minimisation dk Précision moyenne Précision forte Précision faible

Fonction quadratique Hessien exact : Hn=Q Hessien exact : Hn=Q Hessien exact : Hn=Q
Directions conjuguées Q-1 Directions conjuguées Q
Limitations Hessien de f indéfini Hessien de f indéfini Matrices Hk
Précision minimisation non définies positives

Méthode BFGS réputée la plus efficace


254
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation

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.


255
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation

2.2.2 Exemple
Comparaison Newton − Quasi-Newton
0,25
• Fonction : f ( x ) = − x + 12 x − 47 x + 60 x
4 3 2

0,00
2,75 3,00 3,25 3,50 3,75 4,00 4,25
• Dérivée : f ' ( x ) = −4 x 3 + 36 x 2 − 94 x + 60 -0,25

-0,50
f ' ( x k ) − f ' ( x k -1 )
• Quasi-Newton : h k = -0,75
x k − x k -1
-1,00
• Point initial : x0 = 3 → convergence
-1,25
Autres points → divergence
ou maximum de f -1,50

Quasi - Newton Newton


Itération x(k) f(x) f'(x) h(k) Erreur Itération x f(x) f'(x) f''(x) Erreur
0 3,00000000 0,00000000 -6,00E+00 1,000 -4,56E-01 0 3,00000000 0,00000000 -6,00E+00 14,000 -4,56E-01
1 2,99900000 0,00600700 -6,01E+00 14,000 -4,57E-01 1 3,42857143 -1,31945023 -3,15E-01 11,796 -2,70E-02
2 3,42857155 -1,31945027 -3,15E-01 13,267 -2,70E-02 2 3,45526446 -1,32368574 -3,74E-03 11,513 -3,25E-04
3 3,45230465 -1,32362420 -3,79E-02 11,672 -3,28E-03 3 3,45558935 -1,32368635 -5,77E-07 11,509 -5,01E-08
4 3,45554876 -1,32368634 -4,68E-04 11,527 -4,06E-05 4 3,45558940 -1,32368635 -5,68E-14 11,509 -4,88E-15
5 3,45558934 -1,32368635 -7,27E-07 11,509 -6,32E-08
6 3,45558940 -1,32368635 -1,40E-11 11,509 -1,22E-12
7 3,45558940 -1,32368635 -5,68E-14 11,462 -4,44E-15
256
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation

2.2.2 Exemple
Méthode DFP à 2 variables  1 + 4x1 + 2x 2 
• Minimisation de f ( x ) = x 1 − x 2 + 2 x 12 + 2 x 1 x 2 + x 22 ⇒ g ( x ) =  
 − 1 + 2 x 1 + 2 x 2

• Point initial : x0 = (0 0)
0 1 0  1  − 1
• Itération 1 : x 0 =   H 0−1 =   g 0 =   → u 1 = −H 0−1g 0 =  
0 0 1  − 1  1
− s  − 1  − 1
x 1 = x 0 + su 1 =   → min F(s) = s 2 − 2s → s = 1 → x 1 =   → g1 =  
 s s
 1  − 1
• Mise à jour DFP de H-1

d 0 = x 1 − x 0  − 1  − 2
 y = g(x ) − g(x ) → d =  
 1 0  0 
, y =
 0
0
1 0    
d 0 d T0 H -10 y 0 y T0 H -10  1 0  1  1 − 1 1  4 0  1  1 − 1
H =H + T −
-1 -1
=   +   −   =  
− −
1 0
d0 y0 y T0 H -01 y 0  0 1  2  1 1  4  0 0  2  1 3 
 4 2 1  1 − 1
• Comparaison au vrai hessien : H( x ) =   ⇒ H −1 =  
 2 2  2  − 1 2 
257
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation

2.2.2 Exemple
Méthode DFP à 2 variables
 − 1 1  1 − 1  − 1 0
• Itération 2 : x 1 =   H1-1 =   g1 =   → u 2 = −H1−1g1 =  
 1 2 − 1 3   − 1 1
 −1  1  − 1 0
x 2 = x 1 + su 2 =   → min F(s) = 1 − 3(1 + s) + (1 + s) 2 → s = → x 2 =   → g 2 =  
1 + s  s 2 1.5  0
 − 1
• On obtient le minimum en 2 itérations (fonction quadratique) : x* =  
1.5 
• Mise à jour DFP de H-1

d1 = x 2 − x 1  0   1
 y = g(x ) − g(x ) → d =  
 0.5  1 1
, y =
 1
1
2 1    
d1d1T H1-1 y1 y1T H1-1 1  1 − 1 1  0 0   0 0  1  1 − 1
H =H + T −
-1 -1
=  +  − =  
2  − 1 3  2  0 1   0 1  2  − 1 2 
2 1
d 1 y1 y1T H1-1 y1

 4 2 1  1 − 1
• Comparaison au vrai hessien : H( x ) =   ⇒ H −1 =  
 2 2  2  − 1 2 
258
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
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.
T T
1x   4 2   x1   1   x1   4 2
f ( x ) = x 1 − x 2 + 2 x + 2 x 1 x 2 + x =  1 
2 2
    +     → Q =  
  x 2   − 1
1 2
2 x2   2 2  2
x  2 2

• Le minimum est obtenu en 2 itérations.

• Les directions successives u1 et u2 sont conjuguées par rapport à Q


T T
 0   4 2  − 1  0   − 2
u T2 Qu 1 =      =     = 0
 1   2 2  1  1   0
• On vérifie également :
1  1 − 1 4 2  − 1 1  2 0  − 1  − 1
H1−1Qu 1 =     =    =   = u 1
2  − 1 3  2 2  1 2  2 4  1  1
1  1 − 1 4 2  0   1 0  0   0 
H 2−1Qu 2 =     =    =   = u 2 avec H 2−1 = Q −1
2  − 1 2  2 2  1   0 1  1   1 

259
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation

2.2.3 Globalisation

 Difficultés de la méthode de Newton

 Méthodes de globalisation

 Point de Newton et de Cauchy

260
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation

2.2.3 Globalisation
Difficultés de la méthode de Newton
La convergence n’est pas garantie même près de la solution.
On ne peut appliquer directement l’itération de Newton.
→ techniques de globalisation pour vérifier et améliorer le point de Newton

Vérification du point de Newton


Le point xk+1 doit être meilleur que xk pour être accepté.

• Pour une résolution d’équation : g( x ) = 0 ⇒ g(x k +1 ) < g(x k )

• Pour une minimisation : min f ( x ) = 0 ⇒ f(x k +1 ) < f(x k )


x

Techniques de globalisation
Si le point xN obtenu par l’itération de Newton ne vérifie pas les conditions d’amélioration,
on procède à une recherche locale au voisinage de xk.

• Méthode de recherche linéaire : suivant la direction du point de Newton xN

• Méthode de région de confiance : à l’intérieur d’une sphère de centre xk

261
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation

2.2.3 Point de Newton et de Cauchy


Points particuliers
Deux points particuliers sont définis à partir du modèle quadratique de f en xk :
1 g = ∇ f k (x k )
f̂ k (x) = f k (x k ) + g Tk (x − x k ) + (x − x k ) T H k (x − x k ) avec  k
H k = ∇ f k (x k )
2
2
• Point de Newton
→ points utiles dans les algorithmes de globalisation
• Point de Cauchy

Point de Newton
Le point de Newton xN de f en xk minimise le modèle quadratique en xk.
xN n’existe que si ∇2f(xk) est définie positive.

x N = x k + d N avec ∇ 2 f(x k )d N = −∇f(x k ) → dN solution des équations de Newton

Point de Cauchy
Le point de Cauchy xC de f en xk minimise le modèle quadratique en xk dans la direction −gk.

x C = x k − α C g k solution de min f(x k − αg k ) → minimum suivant la plus forte descente


α≥0
g Tk g k
Si f est convexe suivant –gk : α C = T
gk Hkgk
262
2 Optimisation sans contraintes
2.3 Recherche linéaire
Techniques d’optimisation

Sommaire
1. Bases théoriques

2. Optimisation sans contraintes


2.1 Méthodes de descente
2.2 Méthode de Newton
2.3 Recherche linéaire
2.3.1 Principes
2.3.2 Direction de descente
2.3.3 Pas de déplacement
2.3.4 Algorithme
2.4 Région de confiance
2.5 Moindres carrés
2.6 Méthode de Nelder-Mead

3. Optimisation avec contraintes

263
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.1 Principes
Techniques d’optimisation

2.3.1 Recherche linéaire


Problème sans contrainte
minn f(x)
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

Initialisation Point initial Direction de descente


x0 xk dk

Solution Nouveau point Pas de déplacement


x* xk+1=xk+skdk sk

264
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.1 Principes
Techniques d’optimisation

2.3.1 Recherche linéaire


Etapes principales
A chaque itération
• Construction d’une direction de descente dk à partir du point xk
• Réglage du pas de déplacement sk suivant dk

Direction de descente
dk est une direction de descente en xk si ∇f(xk)Tdk < 0

La direction de descente est construite à partir du gradient et du hessien.


• Plus forte pente → gradient (méthode d’ordre 1)
• Préconditionnement → hessien (méthode d’ordre 2)

Pas de déplacement
Le pas de déplacement sk suivant dk doit vérifier f(xk+skdk) < f(xk)

L’algorithme de recherche linéaire résout un problème de minimisation à une variable s


• Minimisation exacte → dichotomie (Fibonacci, nombre d’or, interpolation)
• Minimisation approchée → règles de pas acceptable (Armijo, Goldstein, Wolfe)

265
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation

2.3.2 Direction de descente

 Plus forte pente

 Préconditionnement

266
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation

2.3.2 Direction de descente


Plus forte pente
La direction de descente « naturelle » est celle du gradient = plus forte dérivée directionnelle
d k = −∇f(x k )
• Comportement caractéristique en zigzag
• Convergence très lente → méthode inefficace en général

Illustration

lignes de niveau de f

x*

267
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation

2.3.2 Direction de descente


Plus forte pente
Les directions successives de plus forte pente avec pas optimal sont orthogonales.

• Itération k
On cherche le minimum de f à partir de xk suivant la direction dk = −∇f(xk)
Le nouveau point est xk+1 = xk + sdk avec le pas s>0 solution de :

min f (x k + sd k ) ⇒ f (x k + sd k ) = 0 ⇒ d Tk ∇f (x k + sd k ) = 0 ⇒ d Tk ∇f (x k +1 ) = 0
d
s∈R ds

• Itération k+1
La direction de plus forte pente en xk+1 est dk+1 = −∇f(xk+1) ⇒ d Tk d k +1 = 0

Illustration
xk+1 lignes de niveau de f

dk+1=−∇f(xk+1)
dk=−∇f(xk)

xk
268
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation

2.3.2 Exemple
Iteration x1 x2 f(x) d1 d2 s Erreur
Plus forte pente 0 9,000 1,000 45,000 -9,000 -9,000 0,2 9,055
1 7,200 -0,800 28,800 -7,200 7,200 0,2 7,244
• Fonction 2 5,760 0,640 18,432 -5,760 -5,760 0,2 5,795
3 4,608 -0,512 11,796 -4,608 4,608 0,2 4,636
1 9 4 3,686 0,410 7,550 -3,686 -3,686 0,2 3,709
f ( x ) = x 12 + x 22 5 2,949 -0,328 4,832 -2,949 2,949 0,2 2,967
2 2 10 0,966 0,107 0,519 -0,966 -0,966 0,2 0,972
20 0,104 0,012 0,006 -0,104 -0,104 0,2 0,104
• Direction 30 1,11E-02 1,24E-03 6,90E-05 -1,11E-02 -1,11E-02 0,2 1,12E-02
 − x1  40 1,20E-03 1,33E-04 7,95E-07 -1,20E-03 -1,20E-03 0,2 1,20E-03
d = −∇f ( x ) =   50 1,28E-04 1,43E-05 9,17E-09 -1,28E-04 -1,28E-04 0,2 1,29E-04
 − 9 x 2
1,00

• Pas 0,75
min f ( x + sd ) 0,50
s

x 12 + 81x 22 0,25
→s= 2
x 1 + 729 x 22 0,00
-1 0 1 2 3 4 5 6 7 8 9 10
• Itération -0,25

-0,50
x k +1 = x k + s k d k
-0,75

-1,00 269
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation

2.3.2 Direction de descente


Préconditionnement
• On se donne une matrice Hk matrice symétrique définie positive.
→ factorisation de Cholesky de Hk : Hk = LkLkT

• Changement de variable : ~
x k = LTk x k
~
• Direction de plus forte pente pour : f (~ x k ) = f(x k ) = f(L−kT ~
xk )
~ ~
d k = −∇ f (~
x k ) = −∇f(L−kT ~
x k ) = −L−k1∇f(L−kT ~
x k ) = −L−k1∇f(x k ) = −L−k1d k
~
• Itération en ~ x : ~
k
x =~
k +1 x − s ∇ f (~
k k x ) k

• Itération en xk : x k +1 = L−kT ~
x k +1 = L−kT ~ ( ~
x k − s k ∇ f (~ ) (
x k ) = L−kT LTk x k − s k L−k1d k )
⇒ x k +1 = x k − s k L−kT L−k1d k = x k − s k H k−1d k

• Le préconditionnement par la matrice Hk consiste à prendre comme direction de descente


d k = −H −k1∇f(x k )
• On vérifie que dk est une direction de descente
d Tk ∇f(x k ) = −∇f(x k ) T H −k1∇f(x k ) < 0 car Hk est définie positive

270
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation

2.3.2 Direction de descente


Choix du préconditionnement
Toute matrice Hk symétrique définie positive convient.

Cas d’un hessien défini positif


• Si le hessien ∇2f(xk) est défini positif, on peut prendre H k = ∇ 2 f(x k ) −1.
d k = −H −k1∇f(x k ) = −∇ 2 f(x k ) −1 ∇f(x k ) ⇒ x k +1 = x k − s k ∇ 2 f(x k ) −1 ∇f(x k )
On obtient l’itération de Newton si le pas sk vaut 1.

• On peut prendre pour Hk l’approximation du hessien donné par une méthode quasi-Newton.

Cas d’un hessien non défini positif


• On peut effectuer la factorisation de Cholesky modifiée du hessien ∇2f(xk) (ou son
approximation quasi Newton) pour obtenir une matrice définie positive.

• (
On peut ajouter un multiple de l’identité : H k = ∇ 2 f(x k ) + τI )−1
avec τ > 0 assez grand
  ∂ 2f 
−1

• On peut également prendre Hk diagonale : (H k )i = max ε,  2 (x k )   , ε > 0

 ∂x 
à partir des dérivées secondes de f   i  

271
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation

2.3.2 Exemple
Préconditionnement
 x 
T
1 9
f ( x ) = x 12 + x 22 1 0 1 01 0
• Fonction : ⇒ ∇f ( x ) =  1  ⇒ ∇ 2 f ( x ) =   =    
2 2  9 x 2   0 9   0 3  0 3 
~ 2
1 0  x1 = x1 ~ ~ 1 ~2 9  1  1 2 1 ~2
• Préconditionnement : L =   ⇒ ~ ⇒ f ( x ) = x1 +  x 2  = ~ x1 + x 2
 0 3 x 2 = 3x 2 2 23  2 2

~ ~ ~ −~ x  2,00
• Direction : d = −∇ f ( x ) =  ~ 1 
− x2 
1,50

~ ~
• Pas : min f (~
x + sd ) → s = 1 1,00
s

0,50
~
• Itération : ~
x k +1 = ~
x k + sk dk = 0
0,00
→ convergence en 1 itération -1 0 1 2 3 4

-0,50

-1,00
272
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation

2.3.3 Pas de déplacement

 Minimisation unidimensionnelle

 Minimisation exacte
- Méthode de dichotomie
- Méthode de Fibonacci
- Méthode du nombre d’or
- Interpolation quadratique

 Minimisation approchée
- Règle d’Armijo
- Règle de Goldstein
- Règle de Wolfe

273
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation

2.3.3 Minimisation unidimensionnelle


Problème à une variable

min f(x) f(x)


x∈R

minimum local minimum global x


Méthodes
• Minimisation exacte
On cherche à trouver un minimum local x* avec une précision donnée
→ réduction itérative de l’intervalle de recherche : dichotomie
→ réduction optimale : Fibonacci, nombre d’or

• Minimisation approchée
On cherche une réduction suffisante de la fonction sans déterminer précisément le minimum x*
→ règles d’acceptation (Armijo, Goldstein, Wolfe)
→ limitation du nombre d’évaluations de la fonction
274
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation

2.3.3 Minimisation exacte


Recherche par dichotomie
L’allure de la fonction f n’est pas connue.
On suppose qu’il existe un minimum unique dans l’intervalle de recherche [a,d]
• On évalue la fonction aux extrémités a et d : → f(a) , f(d)
• On évalue la fonction en 2 points b et c : a < b < c < d → f(b) , f(c)
• On conserve soit l’intervalle [a,c], soit l’intervalle [b,d]

f(x) f(x)

a b c d x a b c d x

On conserve [a,c] On conserve [b,d]


275
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation

2.3.3 Minimisation exacte


Réduction optimale de l’intervalle
• On cherche b et c pour que l’intervalle restant soit le plus petit possible.
La taille de l’intervalle restant ne doit pas dépendre du choix de [a,c] ou [b,d].
• On note : ∆1 la longueur de l’intervalle initial → ∆1 = d − a
∆2 la longueur de l’intervalle restant → ∆2 = c − a si on garde [a,c]
ou ∆2 = d − b si on garde [b,d]

f(x) ∆2 = d − b = c − a
a+d b+c
⇒ a +d=b+c ⇒ =
∆1 2 2

∆2

∆2 Les points b et c doivent être symétriques


par rapport au milieu de l’intervalle [a,d].

a b c d x
276
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation

2.3.3 Minimisation exacte


Réduction optimale de l’intervalle
• On suppose que l’intervalle restant est [a,c].
• Pour réutiliser le point b à l’itération suivante, on choisit le nouveau point e
symétrique de b par rapport au milieu de l’intervalle [a,c].
→ ∆1 = d − a
→ ∆2 = c − a = d − b
→ ∆3 = b − a = c − e d − a = (d − b ) + (b − a )

f(x) ⇒ ∆1 = ∆ 2 + ∆ 3

∆1

∆2 Les longueurs ∆k des intervalles successifs


vérifient :
∆3 ∆2
∆ k = ∆ k +1 + ∆ k + 2
∆3

a e b c d x
277
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation

2.3.3 Minimisation exacte


Réduction optimale de l’intervalle
• Les intervalles successifs sont de longueur ∆k vérifiant : ∆k = ∆k+1 + ∆k+2

• Après un nombre N d’itérations, on obtient un intervalle de longueur ∆N−1 .

• On définit la suite de nombres Fk par : ∆k = FN−k ∆N−1 pour k = 1,…,N−1

• La suite (Fn)n=1,…,N−1 vérifie


Δk Δ Δ
Δ k = Δ k +1 + Δ k + 2 ⇒ = k +1 + k + 2 ⇒ FN − k = FN − k −1 + FN − k − 2
Δ N −1 Δ N −1 Δ N −1
⇒ Fn = Fn −1 + Fn − 2 pour n = N − k, n = 3,4,..., N − 1

Δ N −1 = F1Δ N −1 pour k = N − 1 ⇒ F1 = 1

• La suite est complètement déterminée par la valeur de F2


F1 = 1
F2 à choisir
Fn = Fn -1 + Fn - 2 pour n = 3,4,..., N − 1
278
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation

2.3.3 Minimisation exacte


Méthode de Fibonacci
• Pour un nombre N d’itérations fixé, on choisit F2 pour que ∆N-1 soit minimal.
Δ
Δ N -1 = 1 minimal ⇒ FN -1 maximal ⇒ F2 maximal
FN -1
1  1  1
• Valeur maximale de F2 : Δ N -1 ≥ Δ N -2  car Δ k ≥ Δ k -1  ⇒ F1 ≥ F2 ⇒ F2 max = 2
2  2  2
• On obtient la suite de Fibonacci : 1, 2, 3, 5, 8, 13, 21, …

Nombre d’itérations
La méthode de Fibonacci est optimale si l’on fixe à l’avance la précision requise sur la solution.
• Précision requise : ∆N-1 = p Δ b-a
⇒ Δ N -1 = 1 ⇒ FN -1 = → valeur de N
• Intervalle initial [a,b] : ∆ 1 = b-a FN -1 p

La méthode de Fibonacci donne le nombre minimal d’itérations N pour obtenir la solution


avec une précision donnée.
Δ1 FN -1
• La disposition des premiers points b et c dépend de N : = → ∆2
Δ 2 FN - 2

279
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation

2.3.3 Minimisation exacte


Méthode du nombre d’or
La méthode de Fibonacci nécessite de changer la disposition des points à chaque itération.
La disposition des points n’est optimale que pour une précision donnée.
La méthode du nombre d’or est plus générale et plus simple à mettre en oeuvre.

• On impose un rapport de réduction fixe de l’intervalle à chaque itération.


Δ1 Δ 2 Δ Δ
= = ... k = k +1 = ... = γ avec Δ k = Δ k +1 + Δ k + 2
Δ2 Δ3 Δ k +1 Δ k + 2
Δk Δ 1
⇒ = 1 + k+2 ⇒ γ = 1 + ⇒ γ 2 − γ −1 = 0
Δ k +1 Δ k +1 γ
1+ 5
• On obtient pour le rapport γ le nombre d’or : γ= ≈ 1.618034
→ Méthode du nombre d’or (ou de la section dorée) 2

Optimalité
• La méthode du nombre d’or n’est pas optimale pour un nombre d’itérations donné N.
FN
• Pour un nombre d’itérations grand : Nlim =γ
→∞ FN -1
→ La disposition des points de Fibonacci tend vers celle du nombre d’or.
280
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation

2.3.3 Minimisation exacte


Comparaison Fibonacci - Nombre d’or
Le rapport de réduction de l’intervalle après n itérations vaut :
Δ1
• Pour la méthode de Fibonacci : = Fn
Δn
Δ1
• Pour la méthode du nombre d’or : = γ n −1
Δn

Nombre d’itérations
Une itération de la méthode de Fibonacci ou du nombre d’or correspond à une évaluation de f.

Nombre d’évaluations
Rapport de réduction Fibonacci Nombre d’or
10-2 11 13
10-3 15 18
10-4 20 22
10-5 25 27
10-6 30 31
281
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation

2.3.3 Minimisation exacte


Méthode du nombre d’or
• Positionnement des points
Δ1 Δ 2 1+ 5 f(x)
= =γ= ≈ 1.618034
Δ2 Δ3 2
∆1
 1
 Δ = Δ1 = rΔ1
2
γ 1 5 −1
⇒  avec r = = ≈ 0.618034 ∆2
1
Δ 3 = 2 Δ1 = r Δ1
2 γ 2
 γ
∆3 ∆2
b = a + r 2 Δ 1

⇒ c = a + rΔ1
d = a + Δ1
a b c d x
• Itération
d ← c a ← b
c ← b b ← c
Si f (b) < f (c) → Δ ← Δ Si f (b) > f (c) → 
Δ ← Δ2
 1 2
 1
b = a + r Δ 1 c = a + rΔ1
2

282
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation

2.3.3 Exemple
Méthode du nombre d’or
π
• Minimisation de f ( x ) = − x cos( x ) , 0 ≤ x ≤
2
f 0 -0.4952 -0.5482 0
• Itération 1
x 0 0.6000 0.9708 1.5708

f -0.4952 -0.5482 -0.4350 0


• Itération 2
x 0.6000 0.9708 1.2000 1.5708

f -0.4952 -0.5601 -0.5482 -0.4350


• Itération 3
x 0.6000 0.8292 0.9708 1.2000

f -0.4952 -0.5468 -0.5601 -0.5482


• Itération 4
x 0.6000 0.7416 0.8292 0.9708

f -0.5468 -0.5601 -0.5606 -0.5482


• Itération 5
x 0.7416 0.8292 0.8832 0.9708

• Solution : x* ≈ 0.8832 → f(x*) ≈ −0.5606


au lieu de x* ≈ 0.8603 → f(x*) ≈ −0.5611
283
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation

2.3.3 Minimisation exacte


Interpolation quadratique

• On connaît la valeur de la fonction f en 3 points x1, x2, x3. y1


 y1 = f ( x 1 ) y3
y 2 = f (x 2 )
 y 3 = f ( x 3 ) y2

x1 x2 x3
• On construit le polynome q de degré 2 passant par les 3 points.
( x − x 2 )( x − x 3 ) ( x − x 3 )( x − x 1 ) ( x − x 1 )( x − x 2 ) q ( x 1 ) = y1
q ( x ) = y1 + y2 + y3 → q ( x 2 ) = y 2
( x 1 − x 2 )( x 1 − x 3 ) ( x 2 − x 3 )( x 2 − x 1 ) ( x 3 − x 1 )( x 3 − x 2 ) q ( x 3 ) = y 3

• Dérivée du polynome q

(2x − x 2 − x 3 ) (2x − x 3 − x 1 ) (2x − x 1 − x 2 )


q ' ( x ) = y1 + y2 + y3
( x 1 − x 2 )( x 1 − x 3 ) ( x 2 − x 3 )( x 2 − x 1 ) ( x 3 − x 1 )( x 3 − x 2 )

On obtient une approximation du minimum de f en minimisant q.

284
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation

2.3.3 Minimisation exacte


Interpolation quadratique

• La dérivée du polynome q s’écrit :


(2x − x 2 − x 3 ) (2x − x 3 − x 1 ) (2x − x 1 − x 2 )
q ' ( x ) = y1 + y2 + y3
( x 1 − x 2 )( x 1 − x 3 ) ( x 2 − x 3 )( x 2 − x 1 ) ( x 3 − x 1 )( x 3 − x 2 )

⇒ q' ( x ) =
[
− 2 x[y1 ( x 2 − x 3 ) + y 2 ( x 3 − x 1 ) + y 3 ( x 1 − x 2 )] + y1 ( x 22 − x 32 ) + y 2 ( x 32 − x 12 ) + y 3 ( x 12 − x 22 ) ]
( x 1 − x 2 )( x 2 − x 3 )( x 3 − x 1 )

− 2 x (y1s 23 + y 2 s 31 + y 3s12 ) + (y1r23 + y 2 r31 + y 3 r12 ) s ij = x i − x j


⇒ q' ( x ) = avec 
rij = x i − x j
2 2
( x 1 − x 2 )( x 2 − x 3 )( x 3 − x 1 )

• On cherche la valeur xm qui annule la dérivée du polynome q.


q ' ( x m ) = 0 ⇒ 2 x m [y1s 23 + y 2 s 31 + y 3s12 ] + [y1r23 + y 2 r31 + y 3 r12 ] = 0

1 y1r23 + y 2 r31 + y 3 r12 s ij = x i − x j


⇒ xm = avec 
2 y1s 23 + y 2 s 31 + y 3s12  rij = x 2
i − x 2
j

285
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation

2.3.3 Minimisation exacte


Interpolation quadratique
• On évalue la valeur de la fonction en xm → ym = f(xm)
→ On dispose de 4 points x1, x2, x3, xm avec les valeurs respectives de f : y1, y2, y3, ym
→ On conserve 3 points choisis parmi x1, x2, x3, xm selon :
- la position de xm par rapport à x1, x2, x3
- le minimum parmi ym, y1, y2, y3

Points retenus xm < x1 x1 < xm < x2 x2 < xm < x3 x3 < xm


Minimum = ym (xm,x1,x2) (x1,xm,x2) (x2,xm,x3) (x2,x3,xm)
Minimum = y1 (xm,x1,x2) (x1,xm,x2) (x1,x2,xm) divergence
Minimum = y2 divergence (xm,x2,x3) (x1,x2,xm) divergence
Minimum = y3 divergence (xm,x2,x3) (x2,xm,x3) (x2,x3,xm)

Cas de divergence : Le polynome est trop éloigné de la fonction


Il faut un balayage plus fin avant l’interpolation quadratique.

• On réitère l’interpolation quadratique avec les 3 nouveaux points


jusqu’à réduire la taille de l’intervalle à la précision souhaitée.
286
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation

2.3.3 Exemple
Interpolation quadratique
• Minimisation de f ( x ) = ( x − 1)( x + 1) 2 , 0 ≤ x ≤ 2
f -1.0000 -1.1816 0.0000 9.0000
• Itération 1
x 0 0.3750 1.0000 2.0000

f -1.0000 -1.1814 -1.1816 0.0000


• Itération 2
x 0 0.2895 0.3750 1.0000

f -1.1814 -1.1852 -1.1816 0.0000


• Itération 3
x 0.2895 0.3327 0.3750 1.0000

f -1.1814 -1.1852 -1.1852 -1.1816


• Itération 4
x 0.2895 0.3327 0.3329 0.3750

f -1.1852 -1.1852 -1.1852 -1.1816


• Itération 5
x 0.3327 0.3329 0.3333 0.3750

• Solution : x* ≈ 0.3333 → f(x*) ≈ −1.1852

287
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation

2.3.3 Minimisation approchée


Principes
• Il n’est pas utile de réaliser une minimisation exacte suivant la direction de descente :
→ nécessite un grand nombre d’évaluations de la fonction
→ n’apporte pas une amélioration significative loin de la solution
• On peut se contenter d’une minimisation approchée
→ 2 règles d’acceptation d’un pas de déplacement

Notations
• xk = point courant → f(xk)
• dk = direction de descente → ∇f(xk)Tdk < 0

• Variation de la fonction f dans la direction dk : ϕ(s) = f ( x k + sd k ), s ≥ 0

Règles d’acceptation du pas


• Diminution suffisante de la valeur de la fonction → condition d’Armijo
1ère condition de Wolfe

• Déplacement suffisant par rapport au point initial → condition de Goldstein


2ème condition de Wolfe

288
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation

2.3.3 Minimisation approchée


Diminution suffisante
La fonction f doit décroître suffisamment pour accepter le pas.
• Dérivée directionnelle de f suivant la direction dk
ϕ(s) = f ( x k + sd k ), s ≥ 0 ⇒ ϕ' (0) = ∇f ( x k ) T d k < 0
• On impose une diminution proportionnelle à la dérivée directionnelle, avec 0 < ε < c1 < 0.5
ϕ(s) < ϕ(0) + c1sϕ' (0) ⇔ f ( x k + sd k ) < f ( x k ) + c1s∇f ( x k ) T d k → valeur typique c1=0.1
→ Condition d’Armijo ou 1ère condition de Wolfe ou 1ère condition de Goldstein

f(x)=ϕ(s)
pas acceptables s → x = xk+sdk

c1ϕ’(0)

ϕ’(0)
289
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation

2.3.3 Minimisation approchée


Déplacement suffisant
Le déplacement à partir du point initial doit être suffisant pour accepter le pas.
• Condition de Goldstein
ϕ(s) > ϕ(0) + c 2 sϕ' (0) ⇔ f ( x k + sd k ) > f ( x k ) + c 2 s∇f ( x k ) T d k → valeur typique c2=0.9

• Condition de Wolfe : réduction de la dérivée


ϕ' (s) > c 2 ϕ' (0) ⇔ ∇f ( x k + sd k ) T d k > c 2 ∇f ( x k ) T d k → valeur typique c2=0.9

f(x)=ϕ(s) f(x)=ϕ(s)
pas acceptables pas acceptables
(Goldstein) (Wolfe)

s s

ϕ’(0) c2ϕ’(0) ϕ’(0) c2ϕ’(0)


290
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation

2.3.3 Minimisation approchée


Récapitulatif
• Conditions de Goldstein ϕ(s) < ϕ(0) + c1sϕ' (0) → c1 ≈ 0.1
ϕ(s) > ϕ(0) + c sϕ' (0) → c ≈ 0.9
(si la dérivée de f est coûteuse)  2 2

• Conditions de Wolfe ϕ(s) < ϕ(0) + c1sϕ' (0) → c1 ≈ 0.1


ϕ' (s) > c ϕ' (0) → c 2 ≈ 0.9
(si la dérivée de f est disponible)  2

ou ϕ' (s) < c 2 ϕ' (0) → assure théoriquement la convergence

pas acceptables
f(x)=ϕ(s) (Goldstein)

s → x = xk+sdk

c1ϕ’(0)

ϕ’(0) c2ϕ’(0)
291
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation

2.3.3 Réglage du pas


Méthode de dichotomie
ϕ(s) < ϕ(0) + c sϕ' (0)
On cherche un pas s vérifiant les conditions de Goldstein : ϕ(s) > ϕ(0) + c1 sϕ' (0)
 2

Initialisation
• Intervalle initial : [smin , smax] avec smin = 0
smax assez grand
• Valeur initiale : s=1 (pas de Newton)

Itérations
Evaluation de ϕ(s) et comparaison aux droites de Goldstein
• Si s ne respecte pas la condition 1 → amélioration insuffisante, pas trop grand : smax=s
• Si s ne respecte pas la condition 2 → déplacement insuffisant, pas trop petit: smin=s
→ Réduction de l’intervalle [smin , smax]
1
→ Essai suivant : s = ( s min + s max )
2
Arrêt
• Si s respecte les 2 conditions → pas acceptable
• Si l’intervalle [smin , smax] devient inférieur à un seuil donné
292
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation

2.3.3 Réglage du pas


Illustration

ϕ(s)

smin s2 s3 s1 smax s

c1ϕ’(0)

c2ϕ’(0)
293
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.4 Algorithme
Techniques d’optimisation

2.3.4 Algorithme

 Algorithme de recherche linéaire

 Convergence

 Exemple

294
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.4 Algorithme
Techniques d’optimisation

2.3.4 Algorithme
Algorithme de recherche linéaire

Initialisation : x0
Gradient : ∇f(x0)
Approximation du hessien : H0 → H0 =I par défaut

Itération k : xk
Gradient : ∇f(xk) Direction de descente : d k = −H k−1∇f(x k )
Approximation du hessien : Hk>0

Recherche linéaire suivant dk → pas sk


Règle de Goldstein ou Wolfe

Arrêt si : ∇f(x k +1 ) < ε


Nouveau point : xk+1 = xk + sk dk
Gradient : ∇f(xk+1)

Itération k+1 : xk+1 Mise à jour du hessien par BFGS ou SR1


Gradient : ∇f(xk+1) Modification du hessien : Hk+1>0
Approximation du hessien : Hk+1>0 Factorisation de Cholesky modifiée

295
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.4 Algorithme
Techniques d’optimisation

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.
296
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.4 Algorithme
Techniques d’optimisation

2.3.4 Exemple
Fonction de Rosenbrock 5
f

( )
f ( x1 , x 2 ) = 100 x 2 − x12 + (1 − x1 )
2 2 4

3
− 1.2 
Point initial : 
BFGS
 1 
• SR1
2
 
1
• Recherche linéaire avec BFGS ou SR1 Itération
0
0 10 20 30 40

1,25 1,25
BFGS SR1
1 1

0,75 0,75

0,5 0,5

0,25 0,25

0 0
-1,5 -1 -0,5 0 0,5 1 1,5 -1,5 -1 -0,5 0 0,5 1 1,5
-0,25 -0,25
297
2 Optimisation sans contraintes
2.4 Région de confiance
Techniques d’optimisation

Sommaire
1. Bases théoriques

2. Optimisation sans contraintes


2.1 Méthodes de descente
2.2 Méthode de Newton
2.3 Recherche linéaire
2.4 Région de confiance
2.4.1 Principes
2.4.2 Modèle quadratique
2.4.3 Rayon de confiance
2.4.4 Algorithme
2.5 Moindres carrés
2.6 Méthode de Nelder-Mead

3. Optimisation avec contraintes

298
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.1 Principes
Techniques d’optimisation

2.4.1 Région de confiance


Problème sans contrainte
minn f(x)
x∈R

Etapes principales
A chaque itération
• Résolution d’un modèle quadratique dans un rayon rk autour du point xk → déplacement dk
• Réglage du rayon de confiance rk pour obtenir une amélioration de f

Initialisation Point initial Modèle quadratique


x0 xk dk

Solution Nouveau point Rayon de confiance


x* xk+1=xk+dk rk

299
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.1 Principes
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*

300
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation

2.4.2 Modèle quadratique

 Problème de région de confiance

 Conditions d’optimalité

 Résolution approchée

 Méthode dogleg

301
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation

2.4.2 Problème de région de confiance


Modèle quadratique
• Au point courant xk on approxime la fonction par son modèle quadratique.
d∈Rn = déplacement à partir du point xk
1
f̂ k ( x k + d ) = f ( x k ) + d T ∇f ( x k ) + d T ∇ 2 f ( x k )d
2
• Le modèle quadratique représente correctement la fonction au voisinage de xk dans un rayon rk
La région de confiance est le voisinage dans lequel l’approximation est « bonne » (à définir).

Région de confiance de rayon rk : d ≤ rk


rk = rayon de confiance en xk

Problème de région de confiance


• On cherche le minimum du modèle quadratique à l’intérieur de la région de confiance

min f̂ k ( x k + d ) sous d ≤ rk → Problème de région de confiance


d∈R n

• On peut choisir différentes normes pour définir la région de confiance


- Norme 2 : région de confiance circulaire
- Norme ∞ : région de confiance rectangulaire

302
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation

2.4.2 Problème de région de confiance


Notations
• Point courant : xk noté x0
• Fonction : f(xk) noté f0
• Gradient : ∇f(xk) noté g0
• Hessien : ∇2f(xk) noté H0
• Déplacement à partir de x0 :d∈Rn
1
• Fonction modèle : f̂ (d ) = f 0 + d T g 0 + d T H 0 d
• Région de confiance : d ≤ r 2
1
• Problème de région de confiance : minn f̂ (d ) = f 0 + d T g 0 + d T H 0 d sous d ≤ r
d∈R 2

x0
dN
-g0

xN

lignes de niveau du modèle quadratique


303
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.2 Modèle quadratique
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
min f̂ (d ) = f 0 + d T g 0 + d T H 0 d sous
d∈R n
2
(1
2
)
2
d − r2 ≤ 0

• Lagrangien :
1
(
1 2
L(d , µ ) = f 0 + d T g 0 + d T H 0 d + µ d − r 2
2 2
)
∇ L(d*, μ*) = g + H d * +μ * d* = 0
 d 0 0

• Conditions d’ordre 1 :  d * ≤ r , μ* ≥ 0

( )
μ * d * − r = 0 ⇔ μ * ( d * − r )= 0
2 2

Contrainte de région de confiance


• Si la contrainte de région de confiance est inactive, la contrainte peut être ignorée.
La solution du problème quadratique sans contrainte est le point de Newton.

• Si la contrainte de région de confiance est active, la solution est au bord de la région de


confiance : d * = r ⇒ (H 0 + µ * I )d* = −g 0
On peut alors montrer que H 0 + µ * I est semi-définie positive.
Le problème quadratique est résolu avec la méthode de Newton et la matrice H 0 + µ * I ≥ 0

304
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation

2.4.2 Résolution approchée


Résolution du problème quadratique
1 T
On doit résoudre à chaque itération le problème : minn f̂ (d ) = f 0 + d g 0 + d H 0 d sous d ≤ r
T

d∈R 2
• Le problème doit éventuellement être résolu pour plusieurs valeurs du rayon.
→ résolution coûteuse si la contrainte est active
→ solution approximative par une méthode simplifiée (méthode dogleg)

Point de Newton
Le point de Newton xN est la solution du problème quadratique sans contrainte.
1
min f̂ (d ) = f 0 + d T g 0 + d T H 0 d ⇒ d N = −H 0−1g 0 ⇒ x N = x 0 + d N
d∈R n
2
Point de Cauchy
Le point de Cauchy xC minimise le critère quadratique suivant le gradient : d C = −sg 0 , s ≥ 0
1 g T0 g 0
min f̂ (−sg 0 ) = f 0 − sg g 0 + s 2 g T0 H 0 g 0
T
0 ⇒ sC = T
s∈R 2 g 0 H 0g 0
⇒ d C = −s C g 0 ⇒ x C = x 0 + d C

305
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation

2.4.2 Résolution approchée


Résolution du problème quadratique
1
min f̂ (d ) = f 0 + d T g 0 + d T H 0 d sous d ≤ r → solution d(r)∈Rn, x(r) = x0 + d(r)
d∈R n
2
Lorsque le rayon de confiance r varie, la solution suit une courbe x(r) allant de x0 à xN.
• r=0 → x(0) = x0 (tangente = −g0)
• r > |dN| → x(r) = xN

x0

x(r)

xN
−g0

lignes de niveau du modèle quadratique


306
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation

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


307
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation

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.

308
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.2 Modèle quadratique
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 x0
dN dN dN
dC dC dC
xC xN xC xN xC xN

309
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation

2.4.2 Méthode dogleg


Solution du problème dogleg
La fonction |d(s)| est croissante. La solution s* de |d(s)| = r est :
• Sur le segment 1 si |dC| ≥ r
• Sur le segment 2 si |dC| < r

Solution sur le segment 1


d(s) = sdC avec s∈[0,1[
r dC g
s * d C = r ⇒ s* = ⇒ d* = r = −r 0 car dC // −g0
dC dC g0

Solution sur le segment 2


d(s) = dC + (s−1)(dN − dC) avec s∈[1,2]
d C + (s * −1)(d N − d C ) = r ⇒ (d C + (s * −1)(d N − d C ) ) (d C + (s * −1)(d N − d C ) ) = r 2
T

L’équation du second degré en s* admet une racine positive.


a = d N − d C 2
− b + b 2 − 4ac 
⇒ s* = 1 + avec b = 2d TC (d N − d C )
2a 
c = d C − r
2 2

310
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation

2.4.2 Exemple
Méthode dogleg
1 9
• Fonction f ( x 1 , x 2 ) = x 12 + x 22
2 2
9 9 1 0
• Point initial : x 0 =   ∇f ( x 0 ) =   ∇ 2 f ( x 0 ) =  
1 9  0 9 
1 1 9
• Modèle quadratique : f̂ ( x 0 + p) = f ( x 0 ) + ∇f ( x 0 ) T p + p T ∇ 2 f ( x 0 )p = 45 + 9p1 + 9p 2 + p12 + p 22
2 2 2

 7.2 
f̂ (x 0 − s∇f ( x 0 ) ) → min 45 − 18(9s) + 5(9s) 2 → s =
1
• Point de Cauchy : min ⇒ x C =  
s s 5  − 0 . 8 
• ( −1
)  9   1 0  9 
Point de Newton : x N = x 0 − ∇ 2 f ( x 0 ) ∇f ( x 0 ) =   −   
0
⇒ x N =  
  
1 0 1 / 9  9  0
 cos θ   9 + r cos θ 
• Région de confiance de rayon r : x r = x 0 + r  =   → paramétrée par θ
 sin θ   1 + r sin θ 
 9 − 1.8s 
• Chemin dogleg : segment 1 → x d1 (s) = x 0 + s( x C − x 0 ) =   , 0≤s≤1
 1 − 1 .8s 
 7.2 − 7.2s 
segment 2 → x d 2 (s) = x C + s( x N − x C ) =   , 0 ≤ s ≤ 1
 − 0,8 + 0.8s  311
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation

2.4.2 Exemple
Méthode dogleg
1 9 9  7.2  0
f ( x 1 , x 2 ) = x 12 + x 22x 0 =   ⇒ x C =   , x N =  
2 2 1  − 0.8  0
 8,293 
• Région de confiance de rayon r=1 : ⇒ x d ≈   sur le segment 1
 0 . 293 
 5,331 
• Région de confiance de rayon r=4 : ⇒ x d ≈   sur le segment 2
 − 0.592 
4,00
3,50 r=4
3,00
2,50
r=1
2,00
1,50
x0
1,00
0,50
xN
0,00
-1 0 1 2 3 4 5 6 7 8 9 10 11
-0,50
  chemin dogleg
-1,00
xC
-1,50
312
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.3 Rayon de confiance
Techniques d’optimisation

2.4.3 Rayon de confiance

 Rapport de réduction

 Réglage du rayon

313
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.3 Rayon de confiance
Techniques d’optimisation

2.4.3 Rapport de réduction


Validité du modèle quadratique
Le modèle quadratique est une approximation de la fonction valide dans un voisinage de x0.
→ Si le rayon de confiance est trop grand, le modèle quadratique n’est plus représentatif.
→ Il faut vérifier que la solution d* du modèle quadratique donne l’amélioration attendue.

Rapport de réduction
• On définit le rapport de réduction ρ entre la variation prévue : f̂ ( x 0 ) − f̂ ( x 0 + d*)
et la variation réalisée : f ( x 0 ) − f ( x 0 + d*)
f ( x 0 ) − f ( x 0 + d*)
Rapport de réduction : ρ=
f̂ ( x 0 ) − f̂ ( x 0 + d*)

• La valeur de ρ permet de vérifier si le modèle quadratique représente correctement la fonction,


et d’adapter le rayon de confiance.

• ρ ≈ 1 ou > 1 : amélioration réelle > amélioration prévue → modèle bon


• ρ ≈ 0 ou < 0 : amélioration réelle < amélioration prévue → modèle mauvais

Le rayon est réglé de façon itérative en fonction de la valeur de ρ.

314
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.3 Rayon de confiance
Techniques d’optimisation

2.4.3 Réglage du rayon


Réglage du rayon
f ( x 0 ) − f ( x 0 + d*)
On modifie le rayon de confiance en fonction du rapport de réduction ρ =
f̂ ( x 0 ) − f̂ ( x 0 + d*)
• ρ > ρ2 avec ρ2 = 0.9
La fonction f décroît au moins comme prévu : le modèle est bon.
→ On accepte le nouveau point.
→ On passe à l’itération suivante en multipliant par 2 le rayon de confiance.

• ρ < ρ1 avec ρ1 = 0.01


La fonction f augmente au lieu de diminuer comme prévu : le modèle est mauvais.
→ On rejette le nouveau point.
→ On reprend l’itération en divisant par 2 le rayon de confiance.

• ρ1 < ρ < ρ2
La fonction décroît, mais moins que prévu : le modèle est correct.
→ On accepte le nouveau point.
→ On passe à l’itération suivante sans changer le rayon de confiance.

315
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.4 Algorithme
Techniques d’optimisation

2.4.4 Algorithme

 Algorithme de région de confiance

 Convergence

 Exemple
- Région de confiance norme 2
- Région de confiance norme ∞

316
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.4 Algorithme
Techniques d’optimisation

2.4.4 Algorithme
Algorithme de région de confiance

Initialisation : x0 − Rayon r0
Gradient : ∇f(x0)
Approximation du hessien : H0 → H0 =I par défaut

Itération k : xk − Rayon rk Résolution problème quadratique → pas dk


Gradient : ∇f(xk) Méthode dogleg
Approximation du hessien : Hk>0

Rapport de réduction → ρ
Réglage du rayon → rk+1

Arrêt si : ∇f(x k +1 ) < ε


Nouveau point : xk+1 = xk + dk
Gradient : ∇f(xk+1)

Itération k+1 : xk+1 − Rayon rk+1 Mise à jour du hessien par BFGS ou SR1
Gradient : ∇f(xk+1) Modification du hessien : Hk+1>0
Approximation du hessien : Hk+1>0 Factorisation de Cholesky modifiée

317
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.4 Algorithme
Techniques d’optimisation

2.4.4 Algorithme
Principaux résultats de convergence
• Lorsque le rayon de confiance est petit, la solution dogleg est suivant le gradient.
L’itération est équivalente à la méthode de plus forte pente → convergence lente

• Lorsque le rayon de confiance est grand, la solution dogleg est le point de Newton.
L’itération est équivalente à la méthode de Newton → convergence rapide

En pratique
• On peut combiner l’algorithme de région de confiance avec BFGS ou SR1.
Il n’est pas nécessaire que le hessien soit défini positif.
Si le hessien n’est pas défini positif, la méthode SR1 est plus efficace.

• La valeur des seuils de réduction ρ1 et ρ2 pour régler le rayon n’est pas critique pour la
convergence.

• Le point de Newton xN est systématiquement testé,


car il donne la solution s’il est à l’intérieur de la région de confiance.
Sinon, on cherche une solution approchée sur le chemin dogleg.

• D’autres méthodes de résolution approchée du problème quadratique existent.


318
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.4 Algorithme
Techniques d’optimisation

2.4.4 Exemple
Fonction de Rosenbrock 5
f

(
f ( x1 , x 2 ) = 100 x 2 − x 1) + (1 − x )
2 2
1
2 4

3
− 1.2 
Point initial : 
BFGS

 1 
• SR1
2
 
1
Itération
• Région de confiance avec BFGS ou SR1
• Norme 2 : région de confiance circulaire 0
0 10 20 30 40

1,25 1,25
BFGS SR1
1 1

0,75 0,75

0,5 0,5

0,25 0,25

0 0
-1,5 -1 -0,5 0 0,5 1 1,5 -1,5 -1 -0,5 0 0,5 1 1,5
-0,25 -0,25
319
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.4 Algorithme
Techniques d’optimisation

2.4.4 Exemple
Fonction de Rosenbrock 5
f

( )
f ( x1 , x 2 ) = 100 x 2 − x12 + (1 − x1 )
2 2 4

3
− 1.2 
Point initial : 
BFGS

 1 
• SR1
2
 
1
Itération
• Région de confiance avec BFGS ou SR1
• Norme ∞ : région de confiance rectangulaire 0
0 10 20 30 40

1,25 1,25
BFGS SR1
1 1

0,75 0,75

0,5 0,5

0,25 0,25

0 0
-1,5 -1 -0,5 0 0,5 1 1,5 -1,5 -1 -0,5 0 0,5 1 1,5
-0,25 -0,25
320
2 Optimisation sans contraintes
2.5 Moindres carrés
Techniques d’optimisation

Sommaire
1. Bases théoriques

2. Optimisation sans contraintes


2.1 Méthodes de descente
2.2 Méthode de Newton
2.3 Recherche linéaire
2.4 Région de confiance
2.5 Moindres carrés
2.5.1 Formulation
2.5.2 Méthode de Gauss-Newton
2.5.3 Moindres carrés linéaires
2.5.4 Filtre de Kalman
2.5.5 Méthode du gradient conjugué
2.6 Méthode de Nelder-Mead

3. Optimisation avec contraintes


321
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.1 Formulation
Techniques d’optimisation

2.5.1 Formulation
Problème de moindres carrés
1 2
min
x∈R n
r(x) → problème (MC)
2
• Variables x∈Rn : n paramètres d’ajustement d’un modèle
• Résidus r(x)∈Rm : m écarts entre modèle et mesures
1 1 1 m
= r ( x ) r ( x ) = ∑ ri ( x ) 2
2
• Critère f(x)∈R : f (x) = r(x) T

2 2 2 i =1
→ minimisation d’écart quadratique
m ∇r ( x ) ∈ R n×m
• Gradient : ∇f ( x ) = ∇r ( x )r ( x ) = ∑ ∇ri ( x )ri ( x ) avec  n ×1
i =1 ∇ri ( x ) ∈ R

( )
m
• Hessien : ∇ f ( x ) = ∑ ∇ri ( x )∇ri ( x ) T + ∇ 2 ri ( x )ri ( x )
2

i =1
m
= ∇r ( x )∇r ( x ) + ∑ ∇ 2 ri ( x )ri ( x )
T

i =1

• Résolution : en appliquant la méthode de Newton

322
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.2 Méthode de Gauss-Newton
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 ) → déplacement dk


 m

∇ f ( x ) = ∇r ( x )r ( x ) = ∑ ∇ri ( x )ri ( x )


i =1
Avec  m
∇ 2 f ( x ) = ∇r ( x )∇r ( x ) T + ∑ ∇ 2 ri ( x )ri ( x )
 i =1

Méthode de Gauss-Newton
• L’évaluation du hessien nécessite les dérivées secondes des fonctions ri(x)
→ calcul très coûteux si m est grand

Pour accélérer les calculs, on ignore le second terme : ∇ f ( x ) ≈ ∇r ( x )∇r ( x )


2 T

Cette approximation du hessien n’utilise que les dérivées premières.
La matrice obtenue est de plus toujours semi-définie positive
→ nécessaire pour la convergence de la méthode de Newton

• L’itération de Gauss-Newton au point xk est : ∇r ( x k )∇r ( x k ) T d k = −∇r ( x k )r ( x k )

323
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.2 Méthode de Gauss-Newton
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 ⇔ r̂ ( x ) = r ( x k ) + ∇r ( x k ) T ( x − x k )
1 2
Le problème devient : minn r̂ ( x )
x∈R 2

1 2 1
• Critère : f̂ ( x ) =
r̂ ( x ) = r̂ ( x ) T r̂ ( x )
2 2
1
( T
)(
⇒ f̂ ( x ) = r ( x k ) + ∇r ( x k ) T ( x − x k ) r ( x k ) + ∇r ( x k ) T ( x − x k )
2
)
1 1
= r ( x k ) T r ( x k ) + ( x − x k ) T ∇r ( x k )r ( x k ) + ( x − x k ) T ∇r ( x k )∇r ( x k ) T ( x − x k )
2 2
• Gradient : ∇f̂ ( x ) = ∇r ( x k )∇r ( x k ) T ( x − x k ) + ∇r ( x k )r ( x k )

Condition d’ordre 1 : ∇f̂ ( x ) = 0 ⇒ ∇r ( x k )∇r ( x k ) ( x − x k ) = −∇r ( x k )r ( x k )


T

→ On retrouve l’itération de Gauss-Newton


obtenue en ignorant les dérivées secondes dans le hessien
324
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.3 Moindres carrés linéaires
Techniques d’optimisation

2.5.3 Moindres carrés linéaires


Cas linéaire
1
avec r ( x ) = Ax − b, A ∈ R m×n , b ∈ R m
2
minn r(x) → problème (MC)
x∈R 2
r ( x ) = (Ax − b ) (Ax − b ) = x T A T Ax − b T Ax + b T b
1 2 1 1 1
f (x) =
T
• Critère :
2 2 2 2
• Gradient : ∇f ( x ) = ∇r ( x )r ( x ) = A T (Ax − b )

• Hessien : ∇ 2f (x) = A T A

Dans le cas linéaire, la méthode de Gauss-Newton est identique à la méthode de Newton.


→ La convergence est obtenue en une itération.

Equations normales
• La solution x* du problème (MC) vérifie
∇f ( x*) = 0 ⇒ A T (Ax − b ) = 0 ⇒ A T Ax = A T b
1 2
→ système d’équations normales du problème (MC) : minn Ax − b
x∈R 2
• Si A est de rang plein, x* est l’unique solution du problème (MC).
325
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.3 Moindres carrés linéaires
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) Hauteur (m)


0 0,90
1 5,40
1
2 20,81 g → h = gt 2
3 45,73 2
4 78,56
5 124,10
6 175,75 h
7 241,41
8 315,08 Hauteur h (m)
2000
9 397,36
10 488,25
11 595,35 1500
12 707,26
13 829,98
1000
14 961,20
15 1103,14
16 1252,89 500
17 1415,55
18 1586,62
0
19 1770,20
0 5 10 15 20
20 1964,29 Temps t (s) 326
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.3 Moindres carrés linéaires
Techniques d’optimisation

2.5.3 Exemple
Moindres carrés linéaires 1 m
 t i2 
On résout le problème de moindres carrés linéaires : min f (g ) =
g∈R
∑  h i − g 
2 i =1  2
Temps H mesure H modèle Résidu t i2
(s) (m) (m) (m) Modèle : h mod èle = g
0 0,90 0,00 0,90 2
1 m
1 5,40 4,90 0,49 Résidu : r = h mesure − h mod èle → f (g ) = ∑ ri (g ) 2
2 20,81 19,61 1,19 2 i =1
3
4
45,73
78,56
44,13
78,46
1,60
0,10
Solution moindres carrés : g* = 9,8070 m/s2 → f(g*) = 21,668
5 124,10 122,59 1,51 h (m)
6 175,75 176,53 -0,78 2000
7 241,41 240,27 1,13
8 315,08 313,82 1,25
9 397,36 397,18 0,17 1500
10 488,25 490,35 -2,10
11 595,35 593,32 2,02
12 707,26 706,10 1,15 1000
13 829,98 828,69 1,28
14 961,20 961,09 0,12
15 1103,14 1103,29 -0,14
500
16 1252,89 1255,30 -2,40
17 1415,55 1417,11 -1,56
18 1586,62 1588,73 -2,11
19 1770,20 1770,16 0,04 0
20 1964,29 1961,40 2,89 0 50 100
t2/2 (s2)
150
327
200
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.4 Filtre de Kalman
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
2
min A1 x − b1 + A 2 x − b 2
2 A 1 ∈ R m 1 × n , b 1 ∈ R m 1
avec  m 2 ×n
x∈R n
A 2 ∈ R , b 2 ∈ R m2
• Les 2 blocs correspondent à 2 séries de mesures donnant chacune des résidus respectifs.

r1 ( x ) = A1x − b1 → m1 mesures



r2 ( x ) = A 2 x − b 2 → m2 mesures

• Les matrices A1 et A2 sont supposées de rang plein → A1T A1 et A2T A2 inversibles

Problème initial
2
• On appelle problème initial le problème restreint au 1er bloc : minn A1 x − b1
x∈R

• On note x1 la solution du problème initial.


La solution x1 vérifie les équations normales du problème initial : A1 A1 x 1 = A1 b1
T T

• On cherche ensuite à exprimer la solution x2 du problème complet en fonction de x1.

328
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.4 Filtre de Kalman
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 
minn A1 x − b1 + A 2 x − b 2 ⇔ minn   x −   ⇔ minn Ax − b
2 2 2

x∈R x∈R
 A2   b2  x∈R

A  b 
avec A =  1  ∈ R ( m1 + m 2 )×n , b =  1  ∈ R m1 + m 2
 A2   b2 
• La solution x2 vérifie les équations normales du problème complet.
A  b 
A T Ax 2 = A T b ⇒ A1T ( ) (
A T2  1  x 2 = A1T A T2  1  ) (
⇒ A1T A1 + A T2 A 2 x 2 = A1T b1 + A T2 b 2 )
 A2   b2 
• La solution x1 vérifie les équations normales du problème initial : A1T A1 x 1 = A1T b1

• On exprime x2 en fonction de x1 et des données du 2ème bloc de mesures


(A T
)
A1 + A T2 A 2 x 2 = A1T b1 + A T2 b 2 = A1T A1 x 1 + A T2 b 2 = A1T A1 x 1 + A T2 A 2 x 1 − A T2 A 2 x 1 + A T2 b 2
( )
1
= A1T A1 + A T2 A 2 x 1 + A T2 (b 2 − A 2 x 1 )
(
⇒ x 2 = x 1 + A1T A1 + A T2 A 2 )−1
A T2 (b 2 − A 2 x 1 )
329
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.4 Filtre de Kalman
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)
k
• Itération : filtre Hk H k = H k −1 + A Tk A k ⇔ minn ∑ A i x − b i
2

solution xk x k = x k −1 + H k−1A Tk (b k − A k x k −1 ) x∈R


i =1

Mise en œuvre
• Les matrices AkTAk doivent être inversibles → en prenant un nombre suffisant de mesures

• On peut introduire une pondération ρ pour privilégier les mesures récentes.


→ ρ = 1 pour donner le même poids à toutes les mesures
→ ρ < 1 pour privilégier la dernière mesure
k
H k = ρH k −1 + A Tk A k ⇔ minn ∑ ρ k −i A i x − b i
2
• Itération : filtre Hk
solution xk x k = x k −1 + H k−1A Tk (b k − A k x k −1 ) x∈R
i =1

330
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.4 Filtre de Kalman
Techniques d’optimisation

2.5.4 Filtre de Kalman


Exemple
On applique la mise à jour de Kalman à chaque nouvelle mesure. Temps Matrice H Estimation g
Mesure : h mesure = b → bk = h k (s) (m/s2)
0 0,0 0,0000
t 2
t 2k
Modèle : h mod èle = Ax = g → A k = , xk = gk 1
2
0,3
4,3
10,7937
10,4263
2 2
Filtre : H 0 = 0 → H k = H k −1 + A−1k ATk
T 3 24,5 10,2074

x k = x k −1 + H k A k (b k − A k x k −1 )
4 88,5 9,9269
x 0 = 0 5 244,8 9,9274
6 568,8 9,8341
Estimation g (m/s2) 7 1169,0 9,8440
11,00
8 2193,0 9,8450
9 3833,3 9,8305
10,75 10 6333,3 9,8046
11 9993,5 9,8177
10,50 12 15177,5 9,8195
13 22317,8 9,8204
10,25
g20 = 9.8070 m/s2 14 31921,8 9,8167
15 44578,0 9,8136
10,00 16 60962,0 9,8068
17 81842,3 9,8041
9,75 18 108086,3 9,8016
19 140666,5 9,8029
9,50 20 180666,5 9,8070
0 5 10
Temps t (s)
15 20
331
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.4 Filtre de Kalman
Techniques d’optimisation

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
332
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.5 Gradient conjugué
Techniques d’optimisation

2.5.5 Gradient conjugué


Problème quadratique
On considère un problème de moindres carrés linéaires.
1
minn r ( x ) avec r ( x ) = Ax − b, A ∈ R m×n , b ∈ R m
2

x∈R 2

r ( x ) = (Ax − b ) (Ax − b ) = x T A T Ax − b T Ax + b T b
1 2 1 1 1

T

2 2 2 2
Le problème de moindres carrés revient à minimiser une forme quadratique définie positive.
1 T
f (x) = x Qx + c T x avec Q∈Rn×n symétrique définie positive
2
Méthode de directions conjuguées
• 2 directions di et dj sont conjuguées par rapport à Q si diTQdj = 0

• On obtient le minimum de la forme quadratique définie positive


en n itérations à pas optimal suivant des directions conjuguées (di)i=1,…,n.

• La méthode du gradient conjugué consiste à construire une suite de directions conjuguées


et à minimiser suivant ces directions successives pour obtenir le minimum de f.
→ extension à une fonction f quelconque (méthode de Fletcher-Reeves)

333
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.5 Gradient conjugué
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 Point courant Direction conjuguée


x0 xk-1 dk

Solution Nouveau point Minimisation


x*=xn xk suivant dk
334
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.5 Gradient conjugué
Techniques d’optimisation

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 (di)i=1,…,n.

• Directions de Fletcher-Reeves
2
∇f ( x k )
d k +1 = −∇f ( x k ) + β k d k avec β k = 2
∇f ( x k −1 )

• Directions de Polak-Ribière

(∇f ( x k ) − ∇f ( x k −1 ) ) ∇f ( x k )
T

d k +1 = −∇f ( x k ) + β k d k avec β k = 2
∇f ( x k −1 )

→ formules équivalentes dans le cas d’une fonction f quadratique


335
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.5 Gradient conjugué
Techniques d’optimisation

2.5.5 Gradient conjugué


Directions de Fletcher-Reeves
2
∇f ( x k )
d k +1 = −∇f ( x k ) + β k d k avec β k = 2
→ directions conjuguées pour
∇f ( x k −1 ) 1
f ( x ) = x T Qx + c T x
2
Preuve : On note gk = ∇f(xk) = Qxk + c

• Propriété préliminaire
Si les n directions d1,…,dn sont conjuguées, alors d i g k = 0 , i = 1, , k pour k=1 à n.
T

et g iT g k = 0 , i = 1, , k − 1

A l’itération i, xi est obtenu par minimisation suivant di


d
min f ( xi −1 + sd i ) ⇒ f ( xi −1 + sd i ) = d iT ∇f ( xi −1 + sd i ) = 0 ⇒ d iT g i = 0 , i = 1, , n
s ds
k  k  k
xk = xi + ∑ s j d j ⇒ g k = Qxk + c = Q xi + ∑ s j d j  + c = ∇f ( xi ) + ∑ s j Qd j
j =i +1  j =i +1  j =i +1
k
d g = 0
T
⇒ d iT g k = d iT g i + ∑ s j d iT Qd j = 0 car  iT i
j =i +1 d i Qd j = 0 si i ≠ j
⇒ g iT g k = g iT g k − β i d iT g k car d iT g k = 0 , i = 1, , k
= −d iT+1 g k = 0 car i < k 336
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.5 Gradient conjugué
Techniques d’optimisation

2.5.5 Gradient conjugué


Directions de Fletcher-Reeves
Preuve : on montre par récurrence que dk+1 est conjuguée à d1,…,dk.
• Pour d1 et d2 :
x1 − x0 d 1 = − g 0
d 2 Qd 1 = −(g 1 + β 1 g 0 ) Q car d 2 = −(g 1 + β 1 d 1 )
T T

s1  x1 = x0 + s1 d 1
T g − g0
⇒ d 2T Qd 1 = −(g 1 + β 1 g 0 ) 1 car g = Qx + c
s1
⇒ d Qd 1 = − g 1
T
2 ( 2
− β1 g0 ) car g
T

2
T
1 g 0 = g 1T d 1 = 0
2
(propriété préliminaire)
∇f ( x1 ) g1
⇒ d Qd 1 = 0 car β 1 =
T
2 2
= 2
(par définition de β)
∇f ( x0 ) g0

• On suppose d1,…,dk conjuguées : d iT Qd j = 0 , i ≠ j , i , j ≤ k


Il faut montrer que d iT Qd k +1 = 0 , i = 1, , k
d iT Qd k +1 = − d iT Q(g k − β k d k ) = − d iT Qg k car d iT Qd k = 0 (par hypothèse de récurrence)
T
 x − xi − 1 
⇒ d iT Qd k +1 = −(Qd i ) g k = − Q i  g k car xi = xi −1 + si d i
T

T  s i 
 g i − g i −1 
⇒ d iT Qd k +1 =   g k car g = Qx + c

 si 
337
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.5 Gradient conjugué
Techniques d’optimisation

2.5.5 Gradient conjugué


Directions de Fletcher-Reeves
Preuve


1 T
On obtient : d iT Qd k +1 =
si
( )
g i g k − g iT−1 g k = 0 pour i = 1, , k − 1

car g iT g k = 0 , i = 1, , k − 1 (propriété préliminaire)


Il faut encore montrer pour i=k : d k Qd k +1 = 0
T

d kT Qg k
d Qd k +1 = 0 ⇒ d Q(− g k + β k d k ) = 0 ⇒ β k = T
T
k
T
k
d k Qd k
T
 x − xk −1 
 g k = (g k − g k −1 )T g k =
1 1
d kT Qg k =  Q k
2
 g k
 sk  sk sk
 x − x k −1 
 = d kT (g k − g k −1 ) = − d kT g k −1 car d kT g k = 0 (propriété préliminaire)
1 1
d kT Qd k = d kT  Q k  s
 sk  k sk

d k g k −1 = − (− g k −1 + β k −1 d k −1 ) g k −1 =
1 T 1 1 2
⇒ d kT Qd k = −
T
g k −1 car d kT−1 g k −1
sk sk sk
2
gk
On obtient bien : β k = 2
→ valeur de βk telle que d kT Qd k +1 = 0
g k −1
338
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.5 Gradient conjugué
Techniques d’optimisation

2.5.5 Exemple
Gradient conjugué
1 2  x + x2 
• Fonction quadratique f ( x 1 , x 2 ) = x 1 + x 1 x 2 + x 2 → ∇f ( x 1 , x 2 ) =  1 
2

2  1
x + 2 x 2
 10 
• Point initial x =  
0

 − 5
 − 5 10 − 5s   2 − s 
• Itération 1 : d = −∇f ( x ) =   → x = x + sd =   = 5 
1 0 1 0 1

 0  − 5   − 1 
 5   0 
min f ( x 0 + sd1 ) =
25
(2 − s ) − 25(2 − s ) + 25 ⇒ s1 = 1 → x 1 =   , ∇f ( x 1 ) =  
2

2  − 5  − 5
s
2
∇f ( x 1 ) 25
• Itération 2 : d 2 = −∇f ( x 1 ) + β1d1 avec β1 = 2
= =1
∇f ( x 0 ) 25
 − 5  5 − 5s  1
d 2 =   → x 2 = x1 + sd 2 =   = 5(1 − s) 
 5   − 5 + 5s   − 1
 0 0
min f ( x1 + sd 2 ) =
25
(1 − s ) − 25(1 − s ) + 25(1 − s ) ⇒ s 2 = 1 → x 2 =   , ∇f ( x 2 ) =  
2 2 2
s 2  0 0
0 0
• Solution : x * = 
0 , ∇ f ( x *) =  
  0
339
2 Optimisation sans contraintes
2.6 Méthode de Nelder-Mead
Techniques d’optimisation

Sommaire
1. Bases théoriques

2. Optimisation sans contraintes


2.1 Méthodes de descente
2.2 Méthode de Newton
2.3 Recherche linéaire
2.4 Région de confiance
2.5 Moindres carrés
2.6 Méthode de Nelder-Mead
2.6.1 Principes
2.6.2 Algorithme
2.6.3 Exemples

3. Optimisation avec contraintes

340
2 Optimisation sans contraintes
2.6 Méthode de Nelder-Mead
2.6.1 Principes
Techniques d’optimisation

2.6.1 Méthode de Nelder-Mead


Problème sans contrainte
minn f(x)
x∈R

Principes
La méthode de Nelder-Mead est une méthode d’ordre 0 (sans dérivées)
→ n’utilise que des évaluations de la fonction (aucune évaluation du gradient)

• On définit un ensemble P de n+1 points de Rn : P = {x 1 , x 2 ,  , x n , x n +1 }


P est un polytope ou « simplexe » de Rn.

• Les points de P sont rangés du meilleur au plus mauvais : f ( x 1 ) ≤ f ( x 2 ) ≤  ≤ f ( x n ) ≤ f ( x n +1 )

• A chaque itération, on cherche à remplacer le plus mauvais point par un point meilleur.
P = {x 1 , x 2 , , x n , x n +1 } → P' = {x 1 , x 2 , , x n , x new }
→ P' = {x 1 ' , x 2 ' , , x n ' , x n +1 '} après reclassement

• {
On obtient une suite de polytopes (Pk)k∈N : P k = x 1k , x k2 ,  , x kn , x kn +1 }
• 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.
341
2 Optimisation sans contraintes
2.6 Méthode de Nelder-Mead
2.6.1 Principes
Techniques d’optimisation

2.6.1 Méthode de Nelder-Mead


Polytope
P = {x 1 , x 2 ,  , x n , x n +1 }
x1
f ( x 1 ) ≤ f ( x 2 ) ≤  ≤ f ( x n ) ≤ f ( x n +1 )
x* x3
Nouveau point
xc est le barycentre des n meilleurs points.
1 n
xc = ∑ xi
n i =1 x2
On cherche à ramener le plus mauvais point xn+1 vers le barycentre xc.
On teste des points x sur la demi-droite [xn+1,xc) paramétrée par t > 0.
x ( t ) = x c + t ( x c − x n +1 )
x1
Points testés successivement :
• Réflexion : x(t=+1) = xr x* x3
• Expansion : x(t=+2) = xe xc
xci
• Contraction externe : x(t=+0.5) = xce
xce
• Contraction externe : x(t=−0.5) = xci xr
xe
x2
x(t)
342
2 Optimisation sans contraintes
2.6 Méthode de Nelder-Mead
2.6.1 Principes
Techniques d’optimisation

2.6.1 Méthode de Nelder-Mead


Nouveau point
Le polytope initial est P = {x 1 , x 2 ,  , x n , x n +1 } avec f ( x 1 ) ≤ f ( x 2 ) ≤  ≤ f ( x n ) ≤ f ( x n +1 )

La demi-droite [xn+1,xc) est supposée être une direction de descente.


On teste d’abord xr (symétrique de xn+1 / xc).

• Résultat très bon : f ( x r ) < f ( x 1 )


→ on essaie xe
x1
on remplace xn+1 par xe ou xr.
x* x3
• Résultat bon : f (x1 ) ≤ f (x r ) < f (x n ) xc
xci
→ on remplace xn+1 par xr.
xce
xr
• Résultat moyen : f ( x n ) ≤ f ( x r ) < f ( x n +1 ) xe
→ on essaie xce x2
x(t)
on remplace xn+1 par xce ou xr.

• Résultat mauvais : f ( x n +1 ) ≤ f ( x r )
→ on essaie xci
on remplace xn+1 par xci , ou on contracte tout le polytope P vers x1
343
2 Optimisation sans contraintes
2.6 Méthode de Nelder-Mead
2.6.2 Algorithme
Techniques d’optimisation

2.6.2 Algorithme
Itération k
{
P k = x 1k , x k2 ,  , x kn , x kn +1 } avec f ( x 1k ) ≤ f ( x k2 ) ≤  ≤ f ( x kn ) ≤ f ( x kn +1 )
1 n k
1. Barycentre : x c = ∑ x i → d = x c − x kn +1
n i =1
2. Réflexion : xr = xc + d → f(xr) d
3. Si f(xr) < f(x1)
Expansion : xe = xc + 2d → f(xe)
Si f(xe) < f(xr) → x’ = xe
Sinon → x’ = xr
2d
4. Si f(x1) < f(xr) < f(xn) → x’ = xr
5. Si f(xn) < f(xr) < f(xn+1)
Contraction externe : xce = xc + d/2 → f(xce)
Si f(xce) < f(xr) → x’ = xce
d/2
Sinon → x’ = xr
6. Si f(xn+1) < f(xr)
Contraction interne : xci = xc − d/2 → f(xci)
Si f(xci) < f(xn+1) → x’ = xci
Sinon réduction de P vers x1 → x ik +1 =
1
x 1 + x ik
2
( ) d/2

7. Nouveau point x’ → polytope P


k +1
{ }
= x 1k , x k2 , , x kn , x ' à reclasser
{
P k +1 = x 1k +1 , x k2 +1 ,  , x kn +1 , x kn ++11 } avec f ( x 1k +1 ) ≤ f ( x k2 +1 ) ≤  ≤ f ( x kn +1 ) ≤ f ( x kn ++11 )
344
2 Optimisation sans contraintes
2.6 Méthode de Nelder-Mead
2.6.2 Algorithme
Techniques d’optimisation

2.6.2 Algorithme
Initialisation
0 0 0
{
Polytope initial P = x 1 , x 2 , , x n , x n +1 avec
0 0
} f ( x 10 ) ≤ f ( x 02 ) ≤  ≤ f ( x 0n ) ≤ f ( x 0n +1 )
→ points suffisamment distants, non alignés

Itération k
{
P k = x 1k , x k2 ,  , x kn , x kn +1 } avec f ( x 1k ) ≤ f ( x k2 ) ≤  ≤ f ( x kn ) ≤ f ( x kn +1 )
• Nouveau point x’ → reclassement des points x1, x2, … , xn, x’ par valeur de f croissante

• Nouveau polytope :

{
P k +1 = x 1k +1 , x k2 +1 ,  , x kn +1 , x kn ++11 } avec f ( x 1k +1 ) ≤ f ( x k2 +1 ) ≤  ≤ f ( x kn +1 ) ≤ f ( x kn ++11 )

Arrêt
• Taille du polytope
• Valeur de la fonction (non décroissante, identique sur tout le polytope)
• Dégénérescence du polytope (alignement des points).

345
2 Optimisation sans contraintes
2.6 Méthode de Nelder-Mead
2.6.3 Exemples
Techniques d’optimisation

2.6.3 Exemples
Exemple 1 : fonction quadratique
1 9
f ( x 1 , x 2 ) = x 12 + x 22
2 2
2,5

2,0

1,5

1,0

0,5

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

-0,5
346
2 Optimisation sans contraintes
2.6 Méthode de Nelder-Mead
2.6.3 Exemples
Techniques d’optimisation

2.6.3 Exemples
Exemple 2 : fonction de Rosenbrock
( )
f ( x1 , x 2 ) = 100 x 2 − x12 + (1 − x1 )
2 2
1,25

1,00

0,75

0,50

0,25

0,00
-1,50 -1,00 -0,50 0,00 0,50 1,00 1,50

-0,25
347
3 Optimisation avec contraintes
Techniques d’optimisation

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

348
3 Optimisation avec contraintes
Techniques d’optimisation

3 Optimisation avec contraintes


Problème non linéaire sous contraintes
c (x) = 0
min f(x) sous  E → Problème noté (PO)
x∈R n
c I (x) ≤ 0

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

Traitement des contraintes


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

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


Suivi d’un chemin central intérieur aux contraintes

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


Transformation en un problème sans contraintes

349
3 Optimisation avec contraintes
Techniques d’optimisation

3 Optimisation avec contraintes


Problème non linéaire sous contraintes
c (x) = 0
min f(x) sous  E → Problème noté (PO)
x∈R n
c I (x) ≤ 0

Classification des méthodes

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


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

Objectif min f solution KKT max w


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

Variables primales x primales x , duales λ primales x , duales λ

Algorithmes - simplexe (LP) - point intérieur (LP, NLP) - Uzawa


- gradient projeté - séquentiel quadratique
- pénalisation - lagrangien augmenté

350
3 Optimisation avec contraintes
3.1 Simplexe
Techniques d’optimisation

Sommaire
1. Bases théoriques

2. Optimisation sans contraintes

3. Optimisation avec contraintes


3.1 Simplexe
3.1.1 Problème linéaire
3.1.2 Déplacement
3.1.3 Initialisation
3.1.4 Simplexe révisé
3.1.5 Simplexe dual
3.2 Point intérieur
3.3 Gradient projeté
3.4 Lagrangien augmenté
3.5 Programmation quadratique séquentielle
3.6 Convergence
351
3 Optimisation avec contraintes
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation

3.1.1 Problème linéaire

 Forme standard

 Solution

 Recherche systématique

 Recherche optimisée

 Forme canonique

352
3 Optimisation avec contraintes
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation

3.1.1 Problème linéaire


Problème linéaire sous forme standard
Ax = b A ∈ R m× n , b ∈ R m , c ∈ R n
min c T x sous  → problème noté (PL)
x x ≥ 0 rang(A) = m

Rappels
• Base B = (Aj1 , … , Ajm) = m colonnes indépendantes de A ⇒ B inversible
AE = (B N) avec E = matrice de permutation de colonnes (EET = I)
 xB → m  Ax = b  B -1b 
• Solution de base : x = E  avec  ⇒ x = E 
xN  →n − m x N = 0  0 
admissible (ou réalisable) si x B = B −1b ≥ 0

• Direction de base dj , j∈N


d jB = −B −1A j → pour vérifier Ax=b
 d jB  
d j = E  avec  T 0 
 d jN  E e = d  → composantes nulles sauf =1 sur la composante j
 j
 
 jN
T −1
Coût réduit = dérivée directionnelle suivant la direction de base dj : c j = c d j = c j − c B B A j
T

Coût réduit négatif → direction de descente
353
3 Optimisation avec contraintes
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation

3.1.1 Solution
Problème linéaire sous forme standard
Ax = b A ∈ R m× n , b ∈ R m , c ∈ R n
min c T x sous 
x x ≥ 0 rang(A) = m
Solution
{
On note P le polytope associé aux contraintes : P = x ∈ R n / Ax = b, x ≥ 0 }
Si le problème (PL) admet une solution, alors il existe un sommet optimal x*.

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


{
On considère un sommet x* du polytope Q inclus dans P : Q = x ∈ P / c x = f *
T
}
On suppose par l’absurde que x* n’est pas un sommet de P.
x* = α * y + ( 1 − α*)z avec y , z ∈ P , y ≠ z ,0 < α* < 1
ϕ ( α ) = αc T y + ( 1 − α )c T z ϕ ( α*) = c T x* = f *
La fonction linéaire est minimale en α* :
0 < α * < 1
0 ≤ α ≤ 1 
La fonction ϕ est donc constante (sinon elle décroît d’un côté de α*) ⇒ c T y = c T z = f *
⇒ y, z ∈ Q
On a donc : x* = α * y + ( 1 − α*)z avec y , z ∈ Q , y ≠ z ,0 < α* < 1
en contradiction avec l’hypothèse que x est un sommet de Q.

354
3 Optimisation avec contraintes
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation

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

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

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


 −1 
x = E B  = E B b  ≥ 0
x
→ Solution de base admissible :
xN  0 
• Valeur du coût associé à la base B : f = c T x = c TB x B + c TN x N = c TB x B

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

Inconvénient
n!
C mn = combinaisons possibles → inapplicable en pratique
m!(n − m)!
355
3 Optimisation avec contraintes
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation

3.1.1 Exemple
Recherche systématique
x2
x 1 + x 2 + x 3 = 1
min − x 1 − 2 x 2 sous x 1 − x 2 + x 4 = 1 1 C
x 1 , x 2 , x 3 , x 4 ≥ 0
x1 , x 2 , x 3 , x 4

x1+x2=1
• Représentation graphique dans R2
 x x + x 2 ≤ 1 x 1 ≥ 0 
P' =  1  /  1 ,  
 x 2   1
x − x 2 ≤ 1  x 2 ≥ 0 P
• Solution graphique : point C (f = −2) A B

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

Base x f
x1,x2 (1 0 0 0) → B −1
x1,x3 (1 0 0 0) → B −1
x1−x2=1
x1,x4 (1 0 0 0) → B −1
x2,x3 (0 −1 2 0) → D Non admissible
D
x2,x4 (0 1 0 2) → C −2
x3,x4 (0 0 1 1) → A 0
356
3 Optimisation avec contraintes
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation

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

357
3 Optimisation avec contraintes
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation

3.1.1 Forme canonique


Réduction dans la base B
Ax = b A ∈ R m× n , b ∈ R m , c ∈ R n
• Forme standard : min c T x sous 
x x ≥ 0 rang(A) = m

Ax = Bx B + Nx N
AE = (B N ), x = E B 
x →m ⇒ T
• Base B :
c x = c B x B + c N x N
T T
xN  →n − m
• Réduction aux variables hors base
Ax = b ⇔ min c T x + c T x sous Bx B + Nx N = b ⇒ x B = B b − B Nx N
−1 −1
T
min c x sous 
x ≥ 0 x B ≥ 0 , x N ≥ 0
B B N N
x x B ∈R m
x N ∈R n -m

T −1
(
T −1
⇔ minn −m c B B b + c N − c B B N x N sous 
T
) x B = B −1b − B −1 Nx N ≥ 0
x N ∈R x N ≥ 0

• Forme canonique dans la base B


 b = B −1b

min z + c NT x N sous x B = b − B −1 Nx N ≥ 0 avec z = c TB b
x N ∈R n −m
x N ≥0 c NT = c TN − c TB B −1 N

→ Réduction à n-m variables = variables hors-base xN
358
3 Optimisation avec contraintes
3.1 Simplexe
3.1.1 Problème linéaire
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

• Forme canonique dans B : min z + c NT x N sous x B = b − B −1 Nx N ≥ 0


x N ∈R n −m
x N ≥0

z = z
• Solution de base associée à B : x N = 0 ⇒  si B est admissible (ou réalisable)
x B = b ≥ 0

∂z
• Variation du coût : z( x N ) = z + c NT x N = z + ∑ c j x j ⇒ = cj
j∈N ∂x j

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

359
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation

3.1.2 Déplacement

 Règles de déplacement

 Changement de base

 Formules de pivotage

 Méthode des tableaux

360
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation

3.1.2 Règles de déplacement


Notations
• Matrices : B, N = matrice de base et hors base AE = (B N)
• Par extension : B, N = numéros des variables de base xB et hors base xN
x  Ax = b
• Solution de base associée à B : E T x =  B  avec  ⇒ Bx B = b
xN  x N = 0
Direction de déplacement
• Si tous les coûts réduits sont positifs ou nuls, la solution courante est optimale.
• Sinon on choisit un indice hors base e∈N de coût réduit strictement négatif : ce < 0
→ La direction de base associée de est une direction de descente.

• On se déplace à partir de x d’un pas α≥0 suivant la direction de base de → x’ = x + αde


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

αAd = 0 car Ax = b → vérifié par définition de de


Ax' = b ⇔ A(x + αd e ) = b ⇒ x +eαd ≥ 0 → vérifié car xN=0 et deN ≥0
x' ≥ 0  x + αd ≥ 0  N

eN
 e
x B + αd eB ≥ 0 → limite le déplacement

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

361
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
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 = + ∞


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

→ Le pas maximal admissible suivant la direction de est : α s = min α i


i∈B

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


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

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


→ Changement de base ou pivotage
→ Echange des variables xs (variable de base sortant de la base courante)
et xe (variable hors base entrant dans la nouvelle base)
362
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
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 → pour vérifier Ax=b
d  
E T d e =  eB  avec  T 0 
 d eN  E e = d  → composantes nulles sauf =1 sur la composante e
 e
 eN 
• Le nouveau point x’ = x + αsde est admissible car : - la direction de est admissible
- le pas αs respecte les contraintes x’≥0

• Variables de base xi, i∈B : x i ' = x i + α s (d eB )i ≥ 0 si i ≠ s → car αs≤ α


= 0 si i = s → par construction du pas αs

= 0 si j ≠ e = 0 si j ≠ e
• Variables hors base xj, j∈N : x j ' = x j + α s (d eB ) j  car (d eB ) j 
= α s ≥ 0 si j = e = 1 si j = e
Nouvelle base
x j ' = 0 pour j ∈ N − {e}
• Nouvelles variables hors base : x ' = 0 pour i = s ⇒ N' = N − {e} + {s}
 s

x i ' ≥ 0 pour i ∈ B − {s} ⇒ B' = B − {s} + {e}


• Nouvelles variables de base : x ' ≥ 0 pour j = e
 e 363
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation

3.1.2 Changement de base


Variation du coût
• Le nouveau coût est : c x' = c (x + α s d e ) = c x + α s ce ⇒ z' = z + α s ce ≤ z
T T T

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

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

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

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

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


→ Etape préliminaire de détermination de la base initiale
364
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation

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
365
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
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
366
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation

3.1.2 Formules de pivotage


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

• Formulation matricielle
 b = B −1b

min z + c NT x N sous x B = b − B −1 Nx N ≥ 0 avec z = c TB b
x N ∈R n −m
x N ≥0 c NT = c TN − c TB B −1 N

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

 b = B -1b
B -1 N = (a )
 noté
ij i ∈B, j∈N

min z + ∑ c j x j sous x i = bi − ∑ a ij x j ≥ 0 , i ∈ B avec z = ∑ c i bi


x N ≥0
j∈N j∈N  i∈B
c j = c j − ∑ c i a ij , j ∈ N
 i∈B

367
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
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 x i = bi − ∑ a ij x j , i ∈ B


j∈N j∈N

→ Expression en fonction des variables xj, j∈N

• Forme canonique dans la base B’ : z = z '+ ∑ c j ' x j x i = bi '− ∑ a ij ' x j , i ∈ B'


j∈N' j∈N '

→ Expression en fonction des variables xj, j∈N’=N−{e}+{s}

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

368
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation

3.1.2 Formules de pivotage


Expression de xe en fonction de xs

• xs est dans l’ancienne base B : i=s∈B → x s = bs − ∑ a sj x j


j∈N

bs 1 a sj
x s = bs − ∑ a sj x j = bs − a se x e − ∑ a sj x j ⇒ xe = − xs − ∑ xj
j∈N j∈N −{e} a se a se a
j∈N −{e} se

• xe est dans la nouvelle base B’ : i=e∈B’ → x e = b e '− ∑ a ej ' x j


j∈N '

 b
b e ' = s
 a se
 1
En identifiant les coefficients : a es ' = → j=s
 a se
 a sj
a
 ej a' = → j ∈ N − {e}
 se

On exprime ensuite les autres variables de base xi , i∈B-{s} en remplaçant xe.

369
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation

3.1.2 Formules de pivotage


Expression des autres variables de base

• xi est dans l’ancienne base B : i∈B-{s} → x i = bi − ∑ a ij x j


j∈N

 1 1 a sj 
x i = bi − a ie x e − ∑ a ij x j = bi − a ie 
 bs − xs − ∑ x j  − ∑ a ij x j
j∈N −{e}  a se a se j∈N −{e} a se  j∈N −{e}
a ie a  a 
⇒ x i = bi − bs + ie bs x s − ∑  a ij − ie a sj  x j
a se a se j∈N −{e}  a se 

• xi reste dans la nouvelle base B’ : i∈B’ → x i = bi '− ∑ a ij ' x j


j∈N '

 a ie
 i
b ' = b i − bs
 a se
 a
a is ' = − → j=s
ie
En identifiant les coefficients :
 a se
a ' = a − a ie a → j ∈ N − {e}
 ij ij sj
 a se
370
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation

3.1.2 Formules de pivotage


Expression du coût

• Dans l’ancienne base B : z = z + ∑ c jx j


j∈N
 1 1 a sj 
z = z + ce x e + ∑ c j x j = z + ce  bs − xs − ∑ x j  + ∑ c j x j
j∈N −{e}  a se a se j∈N −{e} a se  j∈N −{e}
bs ce  a sj 
⇒ z = z + ce − x s + ∑  c j − ce x j
a se a se j∈N −{e}  a se 

• Dans la nouvelle base B’ : z = z '+ ∑ c j ' x j


j∈N'

 bs
z ' = z + ce
 a se
 ce
En identifiant les coefficients :  cs ' = − → j=s
 a se
 a sj
c
 j ' = c j − c e → j ∈ N − {e}
 a se

371
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation

3.1.2 Formules de pivotage


Récapitulatif
• Nouvelles variables de base : i∈B’=B−{s}+{e}
 b  a ie
b e ' = s  i
b ' = b i − bs
 a se  a se
 
i ∈ B − {s} → a is ' = − ie
1 a
i = e → a es ' = → j=s → j=s
 a se  a se
 a sj a ' = a − a ie a → j ∈ N − {e}
a
 ej a' = → j ∈ N − {e}  ij ij sj
 se  a se

• Nouveau coût  bs
 z ' = z + c e
 a se
 ce
 cs ' = − → j=s
 a se
 a sj
c
 j ' = c j − c e → j ∈ N − {e}
 a se

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

372
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
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 :
 b = B −1b

min z = z + c NT x N sous x B = b − B −1 Nx N ≥ 0 avec z = c TB b
x N ≥0
c NT = c TN − c TB B −1 N

x B = b

• La solution de base associée à B est : x N = 0
z = z
x1 x xn
j
B −1A b B −1A1  B −1A j  B −1A n xB
• Le tableau du simplexe est : T = =
cT −z c1  cj  cn − c TB x B
Aj = jème colonne de A
AE = (B N) avec E = matrice de permutation de colonnes ⇒ B−1A = (I B−1N) ET
xB xN
I B −1 N b → x B + B −1 Nx N = b
• En permutant les colonnes : T =
0 c NT − z → c NT x N = z − z

373
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
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 → 1×n x1  xj  xn


   b1
T −1 c BT = 0
c = c − cBB A ⇒  T
T
T −1 B −1A1  B −1A j  B −1A n 
c N = c N − c B B N
T
   bm
c1  cj  cn −z
• T(1:m,n+1) : Solution de base → m×1

 x  b
x =  B  =  
xN  0
xB xN
• T(m+1,n+1) : Opposé du coût → 1×1 I B −1 N b → x B + B −1 Nx N = b
T=
− z = − z = − c BT b 0 c NT − z → c NT x N = z − z
374
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation

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 bi
s’annule pour : xe =
a ie
• La première variable de base à s’annuler sort de la base → ligne s

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

375
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
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  x e  x n x1  x e  xn
  a 1e   b1   0   b1 '
       
  a se   bs   1   bs '
       
  a me   b m   0   bm '
c1  ce  c n − z c1 '  0  cn ' − z'

376
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation

3.1.2 Méthode des tableaux


Algorithme de pivotage

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

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

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

377
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation

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

 x 1 + 2 x 2 + 2 x 3 ≤ 20
2 x + x 2 + 2 x 3 ≤ 20
min − 10 x 1 − 12 x 2 − 12 x 3 sous  1
2 x + 2 x 2 + x 3 ≤ 20
 1
x1 , x 2 , x 3

x 1 , x 2 , x 3 ≥ 0

• Forme standard

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

 x 1 + 2 x 2 + 2 x 3 + x 4 = 20
2 x + x 2 + 2 x 3 + x 5 = 20
min − 10 x 1 − 12 x 2 − 12 x 3 sous  1
2 x + 2 x 2 + x 3 + x 6 = 20
 1
x1 , x 2 , x 3 , x 4 , x 5 , x 6

x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ≥ 0

378
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation

3.1.2 Exemple
Méthode des tableaux
• Tableau du simplexe

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

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

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

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

• Pivot : a 51 = 2

379
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
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 Nouvelle base
1 0.5 1 0 0.5 0 10 x1 (x1 , x4 , x6)

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

380
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
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 Nouvelle base
1 0 1.5 0 1 -0.5 10 x1 (x1 , x2 , x4)
0 1 -1 0 -1 1 0 x2
0 0 -9 0 -2 7 100 z

381
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
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 Pas
0 0 2.5 1 1 -1.5 10 x4 → s34=4
1 0 1.5 0 1 -0.5 10 x1 → s31=20/3
0 1 -1 0 -1 1 0 x2 → s32=+∞
0 0 -9 0 -2 7 100 z

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

x* = (4 4 4 0 0 0 )T
• Solution optimale : c≥0 →
z* = −136
382
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
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 dB smax e s z
0 4 5 6 -10 -12 -12 0 0 0 20 20 20 -1 -2 -2 10 1 5 0
1 1 4 6 -7 -2 5 10 0 0 10 0 0 -1.5 -0.5 -1 0 2 6 -100
2 1 2 4 -9 -2 7 10 0 0 10 0 0 -2.5 -1.5 1 4 3 4 -100
3 1 2 3 3.6 31.6 1.6 4 4 4 0 0 0 -136

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

3.1.3 Initialisation

 Problème auxiliaire

 Tableau initial

 Méthode des 2 phases

384
3 Optimisation avec contraintes
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation

3.1.3 Problème auxiliaire


Base initiale
Ax = b
Le problème (PL) sous forme standard est : min c T x sous 
x∈R n
x ≥ 0
L’algorithme du simplexe nécessite une base initiale admissible.
Pour trouver une solution admissible, on considère un problème auxiliaire.

Problème auxiliaire

Le problème auxiliaire (PLa) sous forme standard est : minn 0 T x + e T y sous Ax + y = b
x∈R x , y ≥ 0
y∈Rm

• Les variables du problème auxiliaire sont :


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

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

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

3.1.3 Problème auxiliaire


Problème auxiliaire
Ax + y = b
Le problème auxiliaire (PLa) est sous forme standard : minn 0 T x + e T y sous 
x∈R x , y ≥ 0
y∈R m

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

Tableau initial du problème auxiliaire


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

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

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


x y

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


0T eT 0 -z

386
3 Optimisation avec contraintes
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation

3.1.3 Problème auxiliaire


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

Ax 0 + y 0 = b ⇒ Ax 0 = b → contraintes du problème (PL)
x 0 , y 0 ≥ 0 x 0 ≥ 0
Par contraposée, si le coût optimal de (PLa) n’est pas nul, (PL) n’a pas de point admissible.

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

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

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

387
3 Optimisation avec contraintes
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation

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

 x 1 + 2 x 2 + 3x 3 =3
− x 1 + 2 x 2 + 6 x 3 =2

min x 1 + x 2 + x 3 sous  4x 2 + 9x 3 =5
 3x 3 + x 4 = 1
x1 , x 2 , x 3 , x 4

x 1 , x 2 , x 3 , x 4 ≥ 0

• Problème auxiliaire

→ Variables auxiliaires y1, y2, y3 ,y4 positives


 x 1 + 2 x 2 + 3x 3 + y1 =3
− x 1 + 2 x 2 + 6 x 3 + y2 =2

min y1 + y 2 + y 3 + y 4 sous  4x 2 + 9x 3 + y3 =5
 3x 3 + x 4 + y4 = 1
x1 , x 2 , x 3 , x 4
y1 , y 2 , y 3 , y 4
x 1 , x 2 , x 3 , x 4 , y1 , y 2 , y 3 , y 4 ≥ 0

388
3 Optimisation avec contraintes
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation

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

389
3 Optimisation avec contraintes
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation

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

390
3 Optimisation avec contraintes
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation

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

391
3 Optimisation avec contraintes
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation

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

392
3 Optimisation avec contraintes
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation

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

393
3 Optimisation avec contraintes
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation

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
394
3 Optimisation avec contraintes
3.1 Simplexe
3.1.3 Initialisation
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).
xB xN y

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

× → valeurs à modifier pour passer au problème (PL) 0 × × × -z

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

c j − c TB B −1A j si j ∈ N
−1
• On calcule les coûts réduits dans la base B : c = c − c B A = 
T
B
0 si j ∈ B
On calcule le coût dans la base B : z = c TB B −1b

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

395
3 Optimisation avec contraintes
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation

3.1.3 Méthode des 2 phases


Prétraitement
• Mettre le problème sous forme standard Ax = b, b ≥ 0
• Prémultiplier les contraintes (2nd membre positif) min c T x sous 
x∈R n
x ≥ 0
Phase 1 : Problème auxiliaire
Ax + y = b
• Introduire une variable auxiliaire y par contrainte minn 0 T x + e T y sous 
x∈R x , y ≥ 0
y∈R m

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

396
3 Optimisation avec contraintes
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation

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

 x 1 + 3x 2 + 4x 4 + x 5 = 2
 x + 2x 2 − 3x 4 + x 5 = 2
min 2 x 1 + 3x 2 + 3x 3 + x 4 − 2 x 5 sous  1
− x − 4 x 2 + 3x 3 =1
 1
x1 , x 2 , x 3 , x 4 , x 5

x 1 , x 2 , x 3 , x 4 , x 5 ≥ 0

• Problème auxiliaire

→ Variables auxiliaires y1, y2, y3 positives

 x 1 + 3x 2 + 4 x 4 + x 5 + y1 =2
 x + 2x 2 − 3x 4 + x 5 + y2 =2
min y1 + y 2 + y 3 sous  1
− x − 4 x 2 + 3x 3 + y3 = 1
 1
x1 , x 2 , x 3 , x 4 , x 5

 x 1 , x 2 , x 3 , x 4 , x 5 , y1 , y 2 , y 3 ≥ 0
y1 , y 2 , y 3

397
3 Optimisation avec contraintes
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation

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

398
3 Optimisation avec contraintes
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation

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

399
3 Optimisation avec contraintes
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation

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)

400
3 Optimisation avec contraintes
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation

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

401
3 Optimisation avec contraintes
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation

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

• Calcul de la dernière ligne du tableau


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

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

403
3 Optimisation avec contraintes
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation

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

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

→ x* = (0 0 1 / 3 0 2 )
 T
• Solution optimale : c ≥ 0
z* = −3
404
3 Optimisation avec contraintes
3.1 Simplexe
3.1.4 Simplexe révisé
Techniques d’optimisation

3.1.4 Simplexe révisé


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

Rappels
Ax = b → λ
• Forme standard : minn c T x sous 
x∈R x ≥ 0 → s

λ = B − T c B
• Multiplicateurs : 
 N
s = c N − ( B −1
)
N
T
cB = cN

• Forme canonique dans la base B : min z = z + c NT x N sous x B = b − B −1 Nx N ≥ 0


x N ≥0

x B = b  b = B −1b
 
• Solution de base associée à B : x N = 0 avec z = c TB b
z = z c NT = c TN − c TB B −1 N

405
3 Optimisation avec contraintes
3.1 Simplexe
3.1.4 Simplexe révisé
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
x B = b = B −1b
• Solution de base : x = 0 → Bx B = b
 N
• Coûts réduits : c NT = c TN − c TB B −1 N = c TN − λT N → Bλ = c B

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


→ colonne Ae de la matrice A
 d eB  d eB = −B −1A e → Bd eB = −A e
Direction de base de : d e =   avec 
d eN = (0  1  0 )

 d eN 
Le pas maximal suivant de correspond au rapport xB / deB positif, minimal
La variable de base sortante xs est la première à s’annuler.

406
3 Optimisation avec contraintes
3.1 Simplexe
3.1.4 Simplexe révisé
Techniques d’optimisation

3.1.4 Simplexe révisé


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

 Bx B = b → xB

 Bλ = c B → λ → cN → x e
Bd = −A → d eB → xs
 eB e

→ réduction des calculs nécessaires


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

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


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

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


utilisant l’algorithme du simplexe.

407
3 Optimisation avec contraintes
3.1 Simplexe
3.1.5 Simplexe dual
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 ) Dual (D)

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


x∈R y

Le tableau est utilisable dans les 2 sens :


Ax = b m y∈R
de (P) vers (D)
ou de (D) vers (P) car le dual de (D) est (P). Ax ≤ b m y≥0
x≥0 n AT y ≤ c
x ∈R n AT y = c

• Forme canonique de (P) dans la base B


 b = B −1b
 −1 
min z = z + c NT x N sous x B + B Nx N = b avec z = c TB b
x ≥0
N x ≥ 0 c NT = c TN − c TB B −1 N

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


la forme canonique du problème dual dans la base B.
408
3 Optimisation avec contraintes
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation

3.1.5 Simplexe dual


Forme canonique du dual
• On part de la forme canonique du problème primal (P) dans la base B.
x B + B −1 Nx N = b → m contraintes
(P) min z + c x N T
sous 
x B ,x N
N
x B , x N ≥ 0 → n variables
• On peut considérer les variables de base xB comme des variables d’écart positives.
On obtient un problème (P’) ne portant que sur les variables hors base xN.

T B −1 Nx N ≤ b → m contraintes
(P' ) min c x N sous 
xN
N
x N ≥ 0 → n−m variables

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


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

B −1 Nx N ≤ b → m contraintes
(P' ) max − c x N T
sous 
xN
N
x N ≥ 0 → n−m variables

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


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

409
3 Optimisation avec contraintes
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation

3.1.5 Simplexe dual


Forme canonique du dual
• Le dual (D’) de (P’) s’écrit :
B −1 Nx N ≤ b → m contraintes
(P' ) max − c x N T
sous 
xN
N
x N ≥ 0 → n−m variables

( D' ) min b y BT
sous  ( )
 B −1 N T y ≤ − c
B N → n−m contraintes
yB
y B ≥ 0 → m variables

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

( D) min b y BT
sous  N ( )
 y − B −1 N T y = c → n−m contraintes
B N
yB ,yN
y B , y N ≥ 0 → n variables

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


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

410
3 Optimisation avec contraintes
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation

3.1.5 Simplexe dual


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

T
(D) min b y B sous  N ( )
 y − B −1 N T y = c → n−m contraintes
B N
yB ,yN
y B , y N ≥ 0 → n variables
yN yB
I − (B −1 N) T c NT
• Tableau TD du simplexe de (D) dans la base B : TD =
0 b −z
Variables de base : yN → valeurs cN
Variables hors base : yB → coûts réduits b
Matrice des contraintes : −A → −(B−1N)T
T

• La solution de base associée à la base B est :  y N = c N


y B = 0
• La base B est admissible si y N = c N ≥ 0 → base dual-admissible

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


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

3.1.5 Simplexe dual


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

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

c Ni c
Ligne s de la variable sortante : s ∈ N → min ⇔ max Ni
i∈N
a ie < 0
− a ie i∈N a
a <0 ie
ie

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

412
3 Optimisation avec contraintes
3.1 Simplexe
3.1.5 Simplexe dual
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.
yN yB
I − (B −1 N) T c NT → n−m contraintes
TD = → n−m variables de base yN
0 b −z

xB xN
I B −1 N b → m contraintes
TP =
0 c NT −z → m variables de base xB

• Choisir la 1ère variable de base négative xe : be < 0 , e ∈ B → ligne e


→ variable sortante
c Ni
• Déterminer la 1ère variable hors base xs à s’annuler : s → max → colonne s
i∈N a ie
a ie < 0 → variable entrante
• Effectuer le pivotage e−s de façon usuelle.

413
3 Optimisation avec contraintes
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation

3.1.5 Simplexe dual


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

• L’algorithme du simplexe dual maintient une base dual−admissible : cN ≥ 0


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

Intérêt du simplexe dual


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

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

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

414
3 Optimisation avec contraintes
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation

3.1.5 Exemple
Simplexe dual
• Problème linéaire à 5 variables x1,x2,x3,x4,x5
x 1 + x 2 = 1
− x − x 3 + x 5 = 0
min x 1 + 2 x 2 + 2 x 3 + 3x 4 + x 5 sous  2
− x + x3 + x4 = 0
 1
x1 , x 2 , x 3 , x 4 , x 5

x 1 , x 2 , x 3 , x 4 , x 5 ≥ 0
• On choisit comme base initiale (x2,x3,x4).

x 2 = 1
 x1 = 0
La solution de base associée est :  ⇒ x 3 = −1 → base non primal admissible
x 5 = 0 x 4 = 1

 1 1 0 0 0 1
   
• La matrice des contraintes est : A =  0 − 1 − 1 0 1  b = 0
 −1 0 1 1 0 0
   
• Pour construire le tableau du simplexe, il faut mettre le problème sous forme canonique dans
la base (x2,x3,x4) en faisant apparaître des zéros par élimination dans les colonnes 2, 3 et 4.

415
3 Optimisation avec contraintes
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation

3.1.5 Exemple
Simplexe dual
• Problème linéaire à 5 variables x1,x2,x3,x4,x5
x 1 + x 2 = 1
− x − x 3 + x 5 = 0
min x 1 + 2 x 2 + 2 x 3 + 3x 4 + x 5 sous  2
− x + x3 + x4 = 0
 1
x1 , x 2 , x 3 , x 4 , x 5

x 1 , x 2 , x 3 , x 4 , x 5 ≥ 0
• Tableau de départ
x1 x2 x3 x4 x5
1 1 0 0 0 1
0 -1 -1 0 1 0 → contraintes
-1 0 1 1 0 0
1 2 2 3 1 0 → coût

• On fait apparaître : - une matrice identité sur les colonnes de x2 , x3 , x4


- des zéros sur les coûts de x2 , x3 , x4

416
3 Optimisation avec contraintes
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation

3.1.5 Exemple
Simplexe dual
x1 x2 x3 x4 x5 x1 x2 x3 x4 x5
1 1 0 0 0 1 1 1 0 0 0 1
Elimination x2
0 -1 -1 0 1 0 1 0 -1 0 1 1
-1 0 1 1 0 0 -1 0 1 1 0 0
1 2 2 3 1 0 -1 0 2 3 1 -2

x1 x2 x3 x4 x5 x1 x2 x3 x4 x5
1 1 0 0 0 1 1 1 0 0 0 1
Elimination x3
1 0 -1 0 1 1 -1 0 1 0 -1 -1
-1 0 1 1 0 0 0 0 0 1 1 1
-1 0 2 3 1 -2 1 0 0 3 3 0

x1 x2 x3 x4 x5 x1 x2 x3 x4 x5
1 1 0 0 0 1 1 1 0 0 0 1
Elimination x4
-1 0 1 0 -1 -1 -1 0 1 0 -1 -1
0 0 0 1 1 1 0 0 0 1 1 1
1 0 0 3 3 0 1 0 0 0 0 -3

417
3 Optimisation avec contraintes
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation

3.1.5 Exemple
Simplexe dual
• Tableau du simplexe dans la base (x2,x3,x4).

x1 x2 x3 x4 x5
c= 1 2 2 3 1
1 1 0 0 0 1 x2 cB cN
-1 0 1 0 -1 -1 x3 I B-1N B-1b xB
0 0 0 1 1 1 x4 0 cN−cBTB-1N −cBTB-1b -z
1 0 0 0 0 -3 -z

c N = c N − c TB B −1 N
• On vérifie bien que la dernière ligne correspond à  T −1
− z = − c B B b

• La base est : - non admissible pour le primal (x3 < 0)


- admissible pour le dual (c N ≥ 0 )
On peut appliquer l’algorithme dual du simplexe pour résoudre le problème.

418
3 Optimisation avec contraintes
3.1 Simplexe
3.1.5 Simplexe dual
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 Base dual−admissible (x2,x3,x4)
-1 0 1 0 -1 -1 x3
0 0 0 1 1 1 x4
1 0 0 0 0 -3 -z

• Solution de base non optimale : variables de base négatives

• Variable sortante : 1ère variable de base négative → x3 be < 0 , e ∈ B


c Ni
• Variable entrante : 1er coût réduit à s’annuler → x5 s → max
i∈N a ie
a ie < 0

• Pivot : a 25 = −1

419
3 Optimisation avec contraintes
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation

3.1.5 Exemple
Simplexe dual
• 1er pivotage : entrée x5, sortie x3
x1 x2 x3 x4 x5
1 1 0 0 0 1 x2
-1 0 1 0 -1 -1 x3
0 0 0 1 1 1 x4
1 0 0 0 0 -3 -z

x1 x2 x3 x4 x5
1 1 0 0 0 1 x2 Nouvelle base (x2,x4,x5)
- primal−admissible b≥0
1 0 -1 0 1 1 x5 - dual−admissible cN ≥ 0
-1 0 1 1 0 0 x4 → optimale

1 0 0 0 0 -3 -z Solution : x* = (0 1 0 0 1)
z* = 3

420
3 Optimisation avec contraintes
3.2 Point intérieur
Techniques d’optimisation

Sommaire
1. Bases théoriques

2. Optimisation sans contraintes

3. Optimisation avec contraintes


3.1 Simplexe
3.2 Point intérieur
3.2.1 Barrière
3.2.2 Chemin central
3.2.3 Algorithmes
3.2.4 Extensions
3.3 Gradient projeté
3.4 Lagrangien augmenté
3.5 Programmation quadratique séquentielle
3.6 Convergence

421
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.1 Barrière
Techniques d’optimisation

3.2.1 Barrière

 Points intérieurs

 Fonction barrière

 Méthode barrière

 Problème linéaire

 Exemple

422
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.1 Barrière
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
{
• Ensemble des points admissibles : X adm = x ∈ R / x ∈ X, c E ( x ) = 0, c I ( x ) ≤ 0
n
}
• Ensemble des point intérieurs : X int = {x ∈ R n
/ x ∈ X, c E ( x ) = 0, c ( x ) < 0}
I

→ contraintes égalité conservées (définition élargie d’un point intérieur par voisinage)
→ contraintes inégalité strictes

Hypothèses
• Xint n’est pas vide
• Tout point admissible peut être approché arbitrairement par un point intérieur
∀x ∈ X , ∀ε > 0, ∃~
adm x∈X / ~ x − x ≤ε
int

→ hypothèses vérifiées dans le cas convexe (ensemble Xint et contraintes cE, cI)).

423
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.1 Barrière
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 B( x ) = +∞


x∈X int , c I ( x ) → 0

La fonction barrière tend vers l’infini lorsque l’on s’approche du bord de Xadm
i.e. lorsque les contraintes inégalité cI(x) deviennent actives.

Exemple
Contrainte de borne x < a B(x)

Fonctions barrières usuelles


m
• Barrière logarithmique : B( x ) = − ∑ ln (c Ik ( x ) )
k =1

m
1
• Barrière inverse : B( x ) = − ∑
k =1 c Ik ( x )
a x

424
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.1 Barrière
Techniques d’optimisation

3.2.1 Méthode barrière


Méthode barrière
La méthode barrière consiste à combiner la fonction coût avec une fonction barrière.
La fonction barrière est pénalisée par un paramètre h > 0 → hauteur de la barrière

c E ( x ) = 0
• Problème avec contraintes inégalités : minn f(x) sous c I ( x ) ≤ 0 → solution x*
x∈R
x ∈ X

• Problème barrière associé : min f h (x) = f(x) + hB(x) sous c E ( x ) = 0 → solution x(h)
x∈R n
x ∈ X
→ Problème avec contraintes égalité plus simple (contraintes actives)
Pour h=0, on retrouve le problème initial

Hauteur de la barrière
• La barrière empêche la solution x(h) de s’approcher du bord du domaine admissible.
(contraintes inégalités actives)
• On résout une suite de problèmes avec des hauteurs de barrières décroissantes
(h k ), h k +1 < h k , lim h k = 0 → solutions x(hk)
k →∞

• Méthodes peu utilisées sous cette forme → approche des méthodes de points intérieurs
application sur problème linéaire, puis non linéaire 425
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.1 Barrière
Techniques d’optimisation

3.2.1 Problème linéaire


Problème linéaire
Ax = b avec A ∈ R m×n , b ∈ R m , c ∈ R n
Forme standard : minn c T x sous  → problème (PL)
x∈R x ≥ 0

• { }
Ensemble des point admissibles : X adm = x ∈ R n / Ax = b, x ≥ 0 = polytope des contraintes

• Ensemble des point intérieurs : X int = {x ∈ R n


/ Ax = b, x > 0}

Problème barrière n
• Barrière logarithmique : B( x ) = − ∑ ln (x i )
i =1
Ax = b
n
• Problème barrière associé : minn f h (x) = c x − h ∑ ln(x i ) sous 
T
→ problème (PBh)
x∈R
i =1  x > 0
Solution
• h>0 → solution xh
• h=0 → solution x* du problème initial
• h →∞ → solution x∞ = centre analytique du polytope P

426
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.1 Barrière
Techniques d’optimisation

3.2.1 Exemple
Problème linéaire
x + x 2 + x 3 = 1
• Forme standard : min x 1 + 2 x 2 + 3x 3 sous  1
x ,x ,x
1 2 3 x 1 , x 2 , x 3 ≥ 0

 x + x 2 + x 3 = 1
• Polytope des contraintes : P = (x 1 , x 2 , x 3 ) ∈ R 3 /  1 
 x 1 , x 2 , x 3 ≥ 0 
Problème barrière
x + x 2 + x 3 = 1
• Barrière logarithmique : min x 1 + 2 x 2 + 3x 3 − h (ln x 1 + ln x 2 + ln x 3 ) sous  1
x ,x ,x
1 2 3 x 1 , x 2 , x 3 ≥ 0
x + x 2 + x 3 = 1
• Centre analytique x∞ : min B(x 1 , x 2 , x 3 ) = − (ln x 1 + ln x 2 + ln x 3 ) sous  1
x ,x ,x
1 2 3 x 1 , x 2 , x 3 ≥ 0
x 3 = 1 − x 1 − x 2 → min B(x 1 , x 2 ) = −(ln x 1 + ln x 2 + ln (1 − x 1 − x 2 ))
x1 , x 2

 ∂B 1 1  1
 ∂x = − + =0 x =
x1 1 − x1 − x 2  1 3 1 1 1 1
 ∂B1 ⇒  ⇒ x3 = → x∞ =  
1 1 1 3
 =− + =0 x 2 = 3 3 3
 ∂x 2 x 2 1 − x1 − x 2  3
427
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.1 Barrière
Techniques d’optimisation

3.2.1 Exemple
Représentation graphique
 x + x 2 + x 3 = 1
• Polytope des contraintes : P = (x 1 x2 x 3 )∈ R 3 /  1 
 x 1 , x 2 , x 3 ≥ 0 
1 1 1
• Centre analytique x∞ : x∞ =  
3 3 3
x3

C 1
Tracé dans le plan (A,B,C) C

x∞
O B x∞
1 x2

A B
A 1
x1 428
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation

3.2.2 Chemin central

 Chemin central primal

 Conditions d’optimalité

 Chemin central primal-dual

 Déplacement

 Mesure de dualité

 Voisinage

 Exemple

429
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation

3.2.2 Chemin central primal


Chemin central primal
Le chemin central primal est l’ensemble des solutions xh
lorsque la hauteur de barrière h décroît de l’infini à 0 → {x h , h ≥ 0}

• Début : x∞ = centre analytique du polytope


• Fin : x* = solution du problème linéaire

Pour construire précisément le chemin central, il faudrait résoudre l’ensemble des problèmes
successifs (PBh) sous contraintes égalité pour h≥0
Ax = b
min f h (x) = c x − h ∑ ln(x i ) sous 
n
T
x∈R n
i =1 x > 0
→ non réalisable en pratique (trop coûteux)

Algorithme de point intérieur


On utilise le chemin central pour définir la direction du déplacement.
On cherche à rester au voisinage du chemin central sans le suivre précisément.

430
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation

3.2.2 Conditions d’optimalité


Problème barrière
Ax = b → multiplicateurs λ
min f h (x) = c x − h ∑ ln(x i ) sous 
n
T
x∈R n
i =1 x > 0 → multiplicateurs s

• Lagrangien : L( x , λ, s) = f h ( x ) + λT (b − Ax) − s T x
n
= c x − h ∑ ln( x i ) + λT (b − Ax) − s T x
T

i =1

• On définit les matrices diagonales X et S à partir de x et s

 x1 0  0 0  s1 0  0 0  1
     
0 x2  0 0  0 s2  0 0  1
X=        S=      e = 
     
0 0  x n −1 0 0 0  s n −1 0  1
     
0 0  0 xn  0 0  0 sn   1

431
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation

3.2.2 Conditions d’optimalité


Conditions d’optimalité

• Condition d’ordre 1 : ∇ x L( x , λ, s ) = 0 ⇒ c − hX −1 − A T λ − s = 0

• Condition complémentaire : s i x i = 0 ⇒ XSe = 0

s = s + hX −1 A T λ + s h − c = 0
On définit :  h ⇒ 
XSh e = he
−1
S h = S + hX

• Comparaison des conditions d’ordre 1 du problème barrière (PBh) et du problème initial (PL)

Problème barrière (PBh) Problème linéaire (PL)

 Ax h − b = 0  Ax − b = 0
A λ + s − c = 0
T A λ + s − c = 0
T
 
h S h = he → (x h , λ h , s h ) XS = 0 → (x * , λ * , s *)
h h
 X 
 xh ≥ 0  x ≥0
 sh ≥ 0  s ≥0
 

432
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
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 : {
X adm = ( x , λ, s) / Ax − b = 0, A T λ + s − c = 0, x ≥ 0, s ≥ 0 }
• Ensemble des points intérieurs : X int = {( x , λ, s) / Ax − b = 0, A T
λ + s − c = 0, x > 0, s > 0 }

• Le chemin central primal-dual est l’ensemble des solutions (xh,λh,sh) lorsque la hauteur de
barrière h décroît de l’infini à 0.

• Fin : (x0,λ0,s0) = (x*,λ*,s*) = solution du problème linéaire

Algorithme de point intérieur


On utilise le chemin central primal-dual pour définir la direction du déplacement.
Le déplacement est limité pour rester dans l’ensemble des points intérieurs
433
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation

3.2.2 Exemple
Problème linéaire
x + x 2 + x 3 = 1 A = (1 1 1) , b = 1
min x 1 + 2 x 2 + 3x 3 sous  1
c T = (1 2 3)
• Forme standard :
x ,x ,x
1 2 3 x 1 , x 2 , x 3 ≥ 0
• Conditions d’ordre 1 du problème linéaire (PL)
x 1s1 = 0 x 1 = 0 ou s1 = 0
XS = 0 ⇒ x 2 s 2 = 0 ⇒ x 2 = 0 ou s 2 = 0 → 6 combinaisons possibles
x 3s 3 = 0 x 3 = 0 ou s 3 = 0

λ + s1 = 1 s1 = 1 − λ
s = s − 1
A λ + s = c ⇒ λ + s 2 = 2 ⇒ s 2 = 2 − λ ⇒ s1 = s2 − 1
T

λ + s 3 = 3 s 3 = 3 − λ  2 3

s1 ≥ 0 x 1 = 0 ou s1 = 0 → 2 combinaisons possibles


S≥0 ⇒ s 2 ≥ 1 ⇒ x 2 = 0
s 3 ≥ 2 x 3 = 0
Ax − b = 0 ⇒ x 1 + x 2 + x 3 = 1 ⇒ x 1 = 1

x 1 = 1 s1 = 0
• Solution : x 2 = 0 , s 2 = 1 , λ = 1
x 3 = 0 s 3 = 2
434
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
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  ∞  
  1 2 3
x , x , x ≥ 0   3 3 3 
x + x 2 + x 3 = 1 → x* = (1 0 0 )
• Solution du problème (PL) : min x 1 + 2 x 2 + 3x 3 sous  1
x ,x ,x
1 2 3 x 1 , x 2 , x 3 ≥ 0 → point A
x3

C 1
Tracé dans le plan (A,B,C) C

x∞
O B x∞
1 x2

x*
x*
A B
A 1
x1 435
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation

3.2.2 Exemple
Problème barrière
x + x + x = 1 A = (1 1 1) , b = 1
Problème linéaire : min x 1 + 2 x 2 + 3x 3 sous x 1 , x ,2x ≥3 0
c T = (1 2 3)

x ,x ,x
1 2 3  1 2 3
• Conditions d’ordre 1 du problème barrière (PBh)
λ + s1 = 1 s1 = 1 − λ
A λ + s = c ⇒ λ + s 2 = 2
T
⇒ s 2 = 2 − λ
λ + s 3 = 3 s 3 = 3 − λ
 h h
 1
x = =
 1 − λ µ −1
x 1s1 = h  h h
XS = he ⇒ x 2 s 2 = h ⇒ x 2 = = avec µ = 2 − λ
x 3s 3 = h  2 − λ µ
x = h = h
 3 3 − λ µ +1

h h h
Ax − b = 0 ⇒ x1 + x 2 + x 3 = 1 ⇒ + + = 1 ⇒ µ − 3hµ − µ + h = 0
3 2

µ −1 µ µ +1

• On obtient une équation en µ → 1, 2 ou 3 racines


436
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation

3.2.2 Exemple
Chemin central
• Le point du chemin central (xh,λh,sh) pour une barrière de hauteur h vérifie

Ax h − b = 0
 T x ≥ 0
A λ h + s h − c = 0 avec s h ≥ 0
X h S h − he = 0  h

• En résolvant les conditions d’ordre 1 du problème barrière, on obtient

λ h = 2 − µ avec µ 3 − 3hµ 2 − µ + h = 0

s = (1 − λ 2 − λh 3 − λh )
 h h
  1 1 1 
 x = h 
1 − λ 
2 − λh 3 − λh 
h
  h

• Il faut vérifier x h ≥ 0 → choix parmi les racines possibles pour µ


s h ≥ 0
• On résout le problème pour des valeurs décroissantes de la hauteur de barrière h.

437
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
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
x∞
O B x∞
1 x2

x* u1
x* D
A D B
A 1
x1 438
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation

3.2.2 Exemple
Chemin central
1 1 1
• Centre analytique du polytope (h → ∞) : x∞ =  
3 3 3
• Points du chemin central pour une barrière de hauteur h de 10000 à 0.

Tracé dans le plan (A,B,C)


h x1 x2 x3 s1 s2 s3 λ C
1,0
10000 0,33335 0,33334 0,33333 29998,5 29999,5 30000,5 -29997,5
0,9
1000 0,33342 0,33331 0,33320 2999,2 3000,2 3001,2 -2998,2
0,8
100 0,33444 0,33332 0,33222 299,0 300,0 301,0 -298,0 0,7
10 0,34457 0,33309 0,32236 29,0 30,0 31,0 -28,0 0,6
1 0,45162 0,31112 0,23729 2,2142 3,2142 4,2142 -1,2142 0,5
0,1000 0,86308 0,08962 0,04726 0,1159 1,1159 2,1159 0,8841 0,4 x∞
0,0100 0,98507 0,00990 0,00497 0,0102 1,0102 2,0102 0,9898 0,3
0,0010 0,99863 0,00100 0,00050 0,0010 1,0010 2,0010 0,9990 0,2
0,0001 0,99970 0,00010 0,00005 0,0001 1,0001 2,0001 0,9999 0,1
x*
0,0000 1,00000 0,00000 0,00000 0,0000 1,0000 2,0000 1,0000 0,0 B
A 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0

• Solution du problème linéaire (h → 0) : x* = (1 0 0 )


439
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
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 
XS − he = 0 s ≥ 0

 Ax − b  A 0 0
 T   
• On définit la fonction : F( x , λ, s) =  A λ + s − c  ⇒ ∇F( x , λ, s) T =  0 A T I
 XS − he 
 
S 0
 X 

• On applique la méthode de Newton au système d’équations : F(x,λ,s) = 0

A 0 0  d x 
  
• Itération de Newton : 0 A
T
I  d λ  = −F( x , λ, s)
S 0
 X  d s 
 0 
  Ax − b = 0
avec F( x , λ, s) =  0  si (x,λ,s) est intérieur :  T
 XSe − he  A λ + s − c = 0
 
→ direction de déplacement (dx,dλ,ds)
440
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation

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

441
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation

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

442
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation

3.2.2 Exemple
Problème linéaire
x + x + x = 1 A = (1 1 1) , b =1
Problème linéaire : min x 1 + 2 x 2 + 3x 3 sous x 1 , x ,2x ≥3 0
c T = (1 2 3)

x ,x ,x
1 2 3  1 2 3

 Ax − b 
 T 
• On cherche à résoudre : F( x , λ, s) =  A λ + s − c  = 0 pour h fixé avec x ≥ 0
 XS − he  s ≥ 0
 
→ méthode de Newton à partir d’un point intérieur initial

Point initial
Ax − b = 0 x>0
• On choisit un point intérieur initial ( x , λ, s)∈ X int ⇒  T et 
A λ + s − c = 0 s > 0

(x 1 , x 2 , x 3 ) > 0 tel que x 1 + x 2 + x 3 = 1 x T s x 1 + 2 x 2 + 3x 3


On peut prendre λ = 0 ⇒ ν= =
s = c ⇒ s T = (1 2 3) > 0 n 3

σ T
• La hauteur de barrière h est réglée par le paramètre de centrage σ : h = σν = x s
n 443
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation

3.2.2 Exemple
Direction de déplacement
La direction de déplacement (dx,dλ,ds) à partir du point initial (x,λ,s)
est obtenue en résolvant les équations de Newton.

A 0 0  d x   0  Ax − b = 0
     car  T
0 A
T
I  d λ  = −F( x , λ, s) =  0  A λ + s − c = 0
S 0 X  d s   − XS + he 
  

1 1 1 0 0 0 0  d x1   0 
    
0 0 0 1 1 0 0  x 2  
d 0 
0 0 0 1 0 1 0  d   0 
  x 3   
⇔ 0 0 0 1 0 0 1  d λ  =  0 
    
 s1 0 0 0 x1 0 0  d s1   − x 1s1 + h 
σ
 0 s2 0 0 0 x2 0  d s 2   − x 2 s 2 + h  avec h = σν = (x1s1 + x 2s 2 + x 3s 3 )
     n
0 0 s3 0 0 0 x 3  d s 3   − x 3s 3 + h 

444
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation

3.2.2 Exemple
Direction de déplacement
  x1 x 2 x 3  1 1 1
d λ  + +  = x 1 + x 2 + x 3 − h  + + 
  s1 s 2 s 3   s1 s 2 s 3 
d x1 + d x 2 + d x 3 = 0 
d s1 + d λ = 0 d s1 = d s 2 = d s 3 = −d λ
d + d = 0 
 s2 λ h + x 1d λ
 s3
d + d λ =0 ⇔ d x1 = − x1
s1d x1 + x 1d s1 = h − x 1s1  s 1
s1 = 1  x 1 + 2 x 2 + 3x 3
s 2 d x 2 + x 2 d s 2 = h − x 2 s 2 d = h + x d ν =
2 λ
− x2 avec s 2 = 2 et 
s d + x d = h − x s  x2 3
 3 x3 3 s3 3 3

s2 
 3
s = 3 
h = σν
h + x 3d λ
d x 3 = − x3
 s3

• Le point initial (x1,x2,x3) doit vérifier x 1 , x 2 , x 3 > 0


x 1 + x 2 + x 3 = 1
• Illustrations pour 3 points initiaux : x = (0.6 , 0.2 , 0.2)
x = (0.2 , 0.6 , 0.2)
x = (0.2 , 0.2 , 0.6)
et pour 2 valeurs de σ : σ = 0 → vers la solution du problème initial (Newton)
σ = 1 → vers le chemin central (xh,λh,sh)
445
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation

3.2.2 Exemple
Illustration 1 : x = (0.6 , 0.2 , 0.2)
ν x1 x2 x3 s1 s2 s3 λ
0,53333 0,6 0,2 0,2 1,0 2,0 3,0 0,0
σ h dx1 dx2 dx3 ds1 ds2 ds3 dλ
0 0,00000 0,18261 -0,06957 -0,11304 -1,30435 -1,30435 -1,30435 1,30435
1 0,53333 -0,04928 0,06957 -0,02029 -0,02899 -0,02899 -0,02899 0,02899
Chemin central 0,53333 0,54971 0,27070 0,17956 0,97020 1,97020 2,97020 0,02980

u = x + x 3 / 2
Tracé dans le plan (A,B,C) → u 1 = x2
 2 3
1,0 C x∞
0,9
0,3
0,8
0,7
0,6 0,2
σ=1
0,5
0,4 x∞ σ=0
0,3 0,1
0,2
0,1
0,0 B 0,0
A 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 A 0,0 0,1 0,2 0,3 0,4 0,5 0,6
446
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation

3.2.2 Exemple
Illustration 2 : x = (0.2 , 0.6 , 0.2)
ν x1 x2 x3 s1 s2 s3 λ
0,66667 0,2 0,6 0,2 1,0 2,0 3,0 0,0
σ h dx1 dx2 dx3 ds1 ds2 ds3 dλ
0 0,00000 0,15294 -0,07059 -0,08235 -1,76471 -1,76471 -1,76471 1,76471
1 0,66667 0,38824 -0,38431 -0,00392 0,39216 0,39216 0,39216 -0,39216
Chemin central 0,66667 0,50965 0,28884 0,20153 1,30808 2,30808 3,30808 -0,30808

u = x + x 3 / 2
Tracé dans le plan (A,B,C) → u 1 = x2
 2 3
1,0 C x∞
0,9
0,3
0,8
0,7
0,6
0,2
σ=1
0,5
0,4 x∞
0,3
σ=0
0,1
0,2
0,1
0,0 B 0,0
A 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 A 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7
447
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation

3.2.2 Exemple
Illustration 3 : x = (0.2 , 0.2 , 0.6)
ν x1 x2 x3 s1 s2 s3 λ
0,80000 0,2 0,2 0,6 1,0 2,0 3,0 0,0
σ h dx1 dx2 dx3 ds1 ds2 ds3 dλ
0 0,00000 0,20000 0,00000 -0,20000 -2,00000 -2,00000 -2,00000 2,00000
1 0,80000 0,41333 0,10667 -0,52000 0,93333 0,93333 0,93333 -0,93333
Chemin central 0,80000 0,48130 0,30051 0,21845 1,66217 2,66217 3,66217 -0,66217

u = x + x 3 / 2
Tracé dans le plan (A,B,C) → u 1 = x2
 2 3
1,0
C
0,9 0,6

0,8
0,5
0,7 σ=0
0,6 0,4

0,5
x∞
0,3
0,4 x∞ σ=1
0,3 0,2

0,2
0,1
0,1
0,0 B 0,0
A 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 A 0,0 0,1 0,2 0,3 0,4 0,5
448
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation

3.2.2 Mesure de dualité


Distance au chemin central
• Pour une hauteur de barrière h, le point du chemin central est tel que tous les produits xisi sont
égaux à h : XS = he ⇔ x i s i = h , i = 1,..., n
1 T 1 n
• Au point courant la moyenne des produits xisi est la mesure de dualité ν : ν = x s = ∑ x i s i
n n i =1
• On quantifie la distance δ du point courant au chemin central par la moyenne des écarts
(xisi - ν)
 x 1s1  ν
1     1
δ=    −    = XSe − νe
ν   ν ν
 x nsn   
• Pour que l’algorithme de point intérieur converge, il faut que les produits xisi tendent
simultanément vers 0, et éviter que certains s’annulent prématurément.

• On impose de suivre approximativement le chemin central en interdisant de trop s’en écarter


→ contrainte de distance maximale au chemin central : δ ≤ δ m
→ définition du voisinage du chemin central

449
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation

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

450
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation

3.2.3 Algorithmes

 Suivi du chemin central

 Algorithme à pas restreint

 Algorithme à pas long

 Algorithme de prédiction-correction

 Exemple

451
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation

3.2.3 Algorithmes
Suivi du chemin central
On peut envisager 3 algorithmes de suivi du chemin central
• Algorithme à pas restreint
• Algorithme à pas long
• Algorithme de prédiction-correction

Principes
• Les 3 algorithmes sont basés sur l’itération de Newton

A 0 0  d x   0 
     h = σν k
0 AT I  d λ  = − 0  avec  1
 X S e − he  ν k = x Tk s k
S
 k 0 X k  d s   k k   n
 x k +1   x k  dx   x k +1 
       
 λ k +1  =  λ k  + α d λ  , 0 < α ≤ 1 avec α choisi tel que  k +1  ∈ V2 (δ m ) ou V− ∞ (δ m )
λ
s  s  d  s 
 k +1   k   s  k +1 
• Les différences résident dans la stratégie de réglage du paramètre de centrage σ et du pas α.

452
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation

3.2.3 Algorithme à pas restreint


Algorithme à pas restreint

• On applique systématiquement l’itération de Newton avec α =1.


 x k +1   x k   d x 
     
 λ k +1  =  λ k  +  d λ 
s  s  d 
 k +1   k   s 

• On règle le paramètre de centrage σ pour rester dans le voisinage restreint du chemin central.

A 0 0  d x   0   x k +1 
      
0 AT I  d λ  = − 0  avec σ tel que :  λ k +1  ∈ V2 (δ m )
S     s 
 k 0 X k  d s   X k S k e − σν k e   k +1 

Réglages
• δm =0.4 → largeur du voisinage
δm
• σ = 1− → garantit que l’itération de Newton reste dans le voisinage restreint
n
453
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation

3.2.3 Algorithme à pas restreint


Réglage du paramètre de centrage

 x k +1   x k   d x 
     
Le nouveau point doit rester dans le voisinage restreint :  λ k +1  =  λ k  +  d λ  ∈ V2 (δ m )
s  s  d 
 k +1   k   s 
1 X k +1 = X k + D x , D x = diag(d x ) , d x = D x e
⇒ X k +1S k +1e − ν k e 2 ≤ δ m avec S k +1 = S k + D s , D s = diag(d s ) , d s = D s e
νk S k d x + X k d s = −X k S k e + σν k e


1
(X k + D x )(Sk + D s )e − ν k e 2 ≤ δ m
νk
1
⇒ X k Sk e + X k d s + Sk d x − ν k e 2 ≤ δ m à l’ordre 1 en dx , ds
νk
1
⇒ σν k e − ν k e 2 ≤ δ m
νk
δm
⇒ σ − 1 e 2 ≤ δ m avec e 2
= n ⇒ σ ≥ 1−
n

454
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation

3.2.3 Algorithme à pas long


Algorithme à pas long

• On fixe le paramètre de centrage σ

A 0 0  d x   0 
    
0 AT I  d λ  = − 0 
S X k  d s   X S e − σν e 
 k 0  k k k 

• On règle le pas α pour rester dans le voisinage large du chemin central.

 x k +1   x k  dx   x k +1 
       
λ = λ
 k +1   k  + α dλ , 0 < α ≤ 1 avec α tel que :  λ k +1  ∈ V− ∞ (δ m )
s  s  d  s 
 k +1   k   s  k +1 

Réglages
• δm = 0.001 → largeur du voisinage
• σ = 0.1
• Initialisation avec α=1
Division de α par 2 tant que le nouveau point n’est pas dans le voisinage large
455
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation

3.2.3 Algorithme de prédiction-correction


Algorithme de prédiction-correction
Etape de prédiction
• On prédit la direction de l’optimum avec un paramètre de centrage σ=0 (pas de barrière).
~
A 0 0  d x   0 
  ~  
 0 A T
I 
 λ d  = − 0 
S   ~   X S e
 k 0 X k  d s   k k 
• On règle le pas α pour rester dans le voisinage restreint du chemin central.

~x k +1   x k  ~d x  ~x 


~     ~  ~ k +1 
 λ k +1  =  λ k  + α d λ  , 0 < α ≤ 1 avec α tel que :  λ k +1  ∈ V2 (δ m pred )
 ~s   s  ~   ~s 
 k +1   k   ds   k +1 
 

Réglages
• δm pred = 0.5 → largeur du voisinage

• Initialisation avec α=1


Division de α par 2 tant que le nouveau point n’est pas dans le voisinage restreint
456
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation

3.2.3 Algorithme de prédiction-correction


Algorithme de prédiction-correction
Etape de correction
• On calcule la direction du chemin central avec un paramètre de centrage σ=1

A 0 0  d x   0 
    
0 AT I  d λ  = − 0 
S X k  d s   X S e − ν e
 k 0  k k k 

• On applique un recentrage avec un pas α=1 pour revenir vers le chemin central.

 x k +1   ~ x  d 
   ~ k +1   x 
 λ k +1  =  λ k +1  +  d λ 
 s   ~s   d 
 k +1   k +1   s 

Mise en œuvre pratique


• Différentes stratégies possibles → contrôle de la distance au chemin central
→ réglages (σ,δ,α) à adapter au cours des itérations
• Choix du point initial → suffisamment loin des bords (xTs >> 0) sinon blocage
• Extension à des problèmes non linéaires
457
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation

3.2.3 Exemple
Algorithme à pas restreint
• Point initial : x = (0.6 , 0.2 , 0.2) , λ = 0 , s = (1 , 2 , 3) x1 0,6 0,2 0,2
x = (0.2 , 0.6 , 0.2) x2 0,2 0,6 0,2
x = (0.2 , 0.2 , 0.6) x3 0,2 0,2 0,6
Iteration ν ν ν
δm
• Paramètre de centrage : σ = 1 − avec δm = 0,4 0 0,53333 0,66667 0,80000
→ (x , λ, s ) ∈ V2 (δ m ) n 1 0,41017 0,51271 0,61525
2 0,31544 0,39430 0,47316
ν 0,8
3 0,24259 0,30324 0,36389
0,7 4 0,18657 0,23321 0,27985
5 0,14348 0,17935 0,21522
0,6
6 0,11035 0,13793 0,16552
0,5 7 0,08486 0,10608 0,12729
0,4 8 0,06526 0,08158 0,09790
9 0,05019 0,06274 0,07529
0,3
10 0,03860 0,04825 0,05790
0,2 20 0,00279 0,00349 0,00419
30 0,00020 0,00025 0,00030
0,1
40 0,00001 0,00002 0,00002
0,0 45 0,00000 0,00000 0,00001
0 5 10 15 20 25 30 35 40 45

Itération 458
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation

3.2.3 Exemple
Algorithme à pas restreint
u = x 2 + x 3 / 2
• Tracé dans le plan (A,B,C) →  1
u 2 = x 3
1,0
C

0,9

0,8

0,7
(0.2 0.2 0.6)
0,6

0,5

0,4

x∞
0,3
(0.6 0.2 0.2)
0,2
(0.2 0.6 0.2)
0,1

0,0
B
A 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0
459
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation

3.2.3 Exemple
Algorithme à pas long
• Point initial : x = (0.6 , 0.2 , 0.2) , λ = 0 , s = (1 , 2 , 3) x1 0,6 0,2 0,2
x = (0.2 , 0.6 , 0.2) x2 0,2 0,6 0,2
x = (0.2 , 0.2 , 0.6) x3 0,2 0,2 0,6
• Paramètre de centrage : σ = 0.1 avec δm = 0,4 Iteration ν ν ν
• Pas : α=1 → α/2 tant que (x + αd x )i (s + αd s )i < νδ m 0 0,53333 0,66667 0,80000

→ (x , λ, s ) ∈ V− ∞ (δ m ) 1 0,29333 0,36667 0,44000


2 0,16133 0,20167 0,24200
ν 0,8 3 0,08873 0,02017 0,02420
4 0,00887 0,00202 0,00242
0,7
5 0,00089 0,00020 0,00024
0,6 6 0,00009 0,00002 0,00002
7 0,00001 0,00000 0,00000
0,5
8 0,00000 0,00000 0,00000
0,4

0,3

0,2

0,1

0,0
0 1 2 3 4 5 6 7 8
Itération 460
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation

3.2.3 Exemple
Algorithme à pas long
u = x 2 + x 3 / 2
• Tracé dans le plan (A,B,C) →  1
u 2 = x 3
1,0
C

0,9

0,8

0,7
(0.2 0.2 0.6)
0,6

0,5

0,4

x∞
0,3
(0.6 0.2 0.2)
0,2
(0.2 0.6 0.2)
0,1

0,0
B
A 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0
461
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.3 Algorithmes
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
462
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.4 Extensions
Techniques d’optimisation

3.2.4 Extensions

 Problème linéaire

 Problème quadratique

 Problème non linéaire

 Représentation

463
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.4 Extensions
Techniques d’optimisation

3.2.4 Problème linéaire


Problème linéaire
Ax = b
min c T x sous 
x∈R n
x ≥ 0
• Lagrangien : L( x , λ, s) = c T x + λT (Ax − b) + s T x

Ax − b = 0
∇ x L( x , λ, s) = 0  Ax − b 
• Conditions KKT :  → F( x , λ , s ) =  ∇ L ( x , λ , s ) =0
XS = 0  x 
  XSe − he  → barrière h
x, s ≥ 0
dx  dx 
   
• Méthode de Newton : ∇ F ( x , λ , s ) λ
d = − F( x , λ , s ) → direction  d λ 
d  d 
 s  s
A 0 0  d x   Ax − b 
    T 
=0
si admissible
⇒  0 AT I  d λ  = − A λ + s + c  =0
 XSe − he 
S 0
 X  d s   

• On peut appliquer le même algorithme à des problèmes non linéaires.


464
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.4 Extensions
Techniques d’optimisation

3.2.4 Problème quadratique


Problème quadratique
Ax = b
minn x T Qx + c T x sous 
1
x∈R 2 x ≥ 0
1
• Lagrangien : L( x , λ, s) = x T Qx + c T x + λT (Ax − b) + s T x
2
Ax − b = 0
∇ x L( x , λ, s) = 0  Ax − b 
• Conditions KKT :  → F( x , λ , s ) =  ∇ L ( x , λ , s ) =0
XS = 0  x 
  XSe − he  → barrière h
x, s ≥ 0
dx  dx 
   
• Méthode de Newton : ∇ F ( x , λ , s ) λ
d = − F( x , λ , s ) → direction  d λ 
d  d 
 s  s
A 0 0  d x   Ax − b 
    
⇒  Q AT I  d λ  = − Qx + A λ + s + c 
T

 XSe − he 
S 0
 X  d s   

• Différence avec le cas linéaire : matrice Q = ∇ 2xx L( x , λ, s)


465
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.4 Extensions
Techniques d’optimisation

3.2.4 Problème non linéaire


Problème non linéaire
c( x ) = 0 → contraintes actives
minn f ( x ) sous 
x∈R x ≥ 0
• Lagrangien : L( x , λ, s) = f ( x) + λT c( x ) + s T x

c( x ) = 0
∇ x L( x , λ, s) = 0  c( x ) 
• Conditions KKT :  → F( x , λ , s ) =  ∇ L ( x , λ , s ) =0
XS = 0  x 
  XSe − he  → barrière h
x, s ≥ 0
dx  dx 
   
• Méthode de Newton : ∇ F( x , λ , s ) λ
d = − F( x , λ , s ) → direction  d λ 
d  d 
 s  s
 ∇c ( x ) T 0 0  d x 
 2    c( x ) 
⇒  ∇ xx L( x , λ, s) ∇c( x ) I  d λ  = − ∇ x L( x , λ, s) 

    
S 0 X  d s   XSe − he 

∇ 2xx L( x , λ, s)
• Différence avec le cas linéaire : matrices 
∇c( x ) 466
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.4 Extensions
Techniques d’optimisation

3.2.4 Représentation
Tracé des itérations

Espace primal : variables x Espace primal-dual : produits xs

x2 x 2 s2 borne voisinage
chemin central chemin central

itérations
itérations

x1 x 1 s1
467
3 Optimisation avec contraintes
3.3 Gradient projeté
Techniques d’optimisation

Sommaire
1. Bases théoriques

2. Optimisation sans contraintes

3. Optimisation avec contraintes


3.1 Simplexe
3.2 Point intérieur
3.3 Gradient projeté
3.3.1 Principes
3.3.2 Direction de déplacement
3.3.3 Restauration
3.3.4 Algorithme
3.4 Lagrangien augmenté
3.5 Programmation quadratique séquentielle
3.6 Convergence

468
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.1 Principes
Techniques d’optimisation

3.3.1 Gradient projeté


Problème avec contraintes égalité
c (x) = 0
min f(x) sous  E ⇔ min f ( x ) sous c( x ) = 0 → m contraintes actives
x∈R n
c I ( x ) ≤ 0 x∈R n

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

469
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation

3.3.2 Direction de déplacement

 Hyperplan tangent aux contraintes

 Gradient projeté

 Gradient réduit

 Exemple

470
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation

3.3.2 Hyperplan tangent


Problème avec contraintes linéaires
min f ( x ) sous Ax = b
x∈R n

• x0 point admissible → Ax0 = b  → Ad = 0



• d déplacement admissible à partir de x0 → A(x0 + d) = b 
∇c(x0)
• Ad = 0 définit l’espace nul des contraintes
= hyperplan des contraintes
c(x)=0
x0
• Le déplacement d∈Rn est admissible si
d
d est dans l’hyperplan des contraintes.

Problème avec contraintes non linéaires


minn f ( x ) sous c( x ) = 0
x∈R

• On définit l’espace nul tangent ou hyperplan tangent en x0 avec A = ∇c(x0)T → Ad = 0

• On cherche un déplacement d∈Rn dans l’hyperplan tangent : ∇c(x0)Td = 0


Un déplacement complémentaire est ensuite nécessaire pour restaurer l’admissibilité.
471
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.2 Direction de déplacement
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é


∇c(x0)
• Hyperplan tangent aux contraintes en x0 admissible
Ad = 0 avec A = ∇c(x0)T
c(x)=0
x0
• Matrice de projection sur l’hyperplan tangent
( )
−1 gp
P = I − A T AA T A

• Notations
g(x0) gradient de f en x0 → g(x0) = ∇f(x0)
gp(x0) gradient projeté → gp(x0) = Pg(x0)

(
→ g p = I − A T AA T ( )
−1
)
A g avec A = ∇c( x 0 ) T
g

Ag = 0 → gp ∈ hyperplan tangent


• gp vérifie :  T p
(
g p g − g p = 0 ) → g−gp ⊥ hyperplan tangent
P T = P
car  2
P = P
472
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.2 Direction de déplacement
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 
 d = 1 ⇔ d d = 1 → norme = 1
T
d ∈R

t T
( T
)
Lagrangien : L(d , λ , µ ) = g d + λ Ad + µ d d − 1 avec λ ∈ R m , µ ∈ R
( )
 g + AT λ + 2 µd = 0 → d = − g + AT λ / (2 µ )
Conditions KKT :  Ad = 0 → Ag + AAT λ = 0 → λ = − AAT ( )−1
Ag
 d = 1 → 2 µ = ± g + AT λ

d est bien un vecteur normé colinéaire à (I − A (AA ) A)g


T T −1

• La méthode du gradient projeté équivaut à la méthode de plus forte pente appliquée dans
l’espace nul des contraintes → méthode d’ordre 1 peu efficace
→ amélioration par méthode de quasi-Newton
473
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.2 Direction de déplacement
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
• Déplacement admissible : Ap = 0 ⇒  Y
p = Zp Z
• Fonction réduite fr : min f(x 0 + p) sous A(x 0 + p) = b ⇔ min f r (p Z ) = f (x 0 + Zp Z )
p∈R n p Z ∈R n -m

• Notations
g(x0) gradient de f en x0 → g(x0) = ∇f(x0) → g ∈Rn
gr(x0) gradient réduit → gr(x0) = ∇fr(pZ=0) → gr ∈Rn−m (m = nombre de contraintes)
f r (p Z ) = f (x 0 + Zp Z ) ⇒ ∇f r (p Z ) = Z T ∇f (x 0 + Zp Z ) → g r = ZT g en pZ = 0
→ gr est le gradient de la fonction réduite fr (= fonction de n−m variables pZ)
474
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.2 Direction de déplacement
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 =0
p = Yp Y + Zp Z avec  Ap = 0 ⇒  Y
AY inversible p = Zp Z
• Le gradient réduit gr donne la direction de plus forte pente suivant les variables pZ.
La direction de déplacement dans Rn est : d = Zgr .

• On peut choisir les matrices Y et Z


- à partir de matrices orthogonales → factorisation QR de A
- à partir d’une base de A → B∈Rm×m (= m colonnes indépendantes de A)

Gradient réduit sur une base B de A m n −m

 m n −m   gB  B −1
m − B N m
−1

• AE =  B N  ⇒ g =   Y =  
n−m Z =  
n−m
  gN   0   I 
(E = matrice de permutation de colonnes de A)


T
( −1
)
Le gradient réduit par rapport à la base B est : g r = Z g = g N − B N g B
T

475
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation

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é.
476
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation

3.3.2 Exemple
Exemple
• Minimisation de f ( x ) = x 1 + x 2 sous c( x ) = x 12 + (x 2 − 1) − 1 = 0
2

1  2x1  2,5


∇f (x ) =   ∇c(x ) =  
 
1  2 ( x 2 − 1) 
2

1,5
• Changement de variables (coordonnées polaires)
1
x 1 = r cos θ f (r, θ) = r (cos θ + sin θ) + 1
x = r sin θ + 1 →  0,5
c(r, θ) = r − 1
2
 2
0
• Elimination variable r -2 -1,5 -1 -0,5 0 0,5 1 1,5 2
-0,5

r = 1 → f (θ) = cos θ + sin θ + 1 -1

• Minimum
 π π  π
f ' (θ) = − sin θ + cos θ = 0 → tan θ = 1 → θ = ou + π
 4 4  → θ* = + π
f ' ' (θ) = − cos θ − sin θ ≥ 0 → − cos θ(1 + tan θ) ≥ 0 → − cos θ ≥ 0  4

x * = − 1 / 2 ≈ −0.70711
→  1
x 2 * = 1 − 1 / 2 ≈ 0.29289
477
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation

3.3.2 Exemple
Gradient projeté
• Minimisation de f ( x ) = x 1 + x 2 sous c( x ) = x 12 + (x 2 − 1) − 1 = 0
2

 1  2x1   cos θ 0 
Point admissible x0 (r0=1, θ0) → ∇f (x 0 ) =   , ∇c(x 0 ) =   = 2r0  
 
1  2 ( x 2 − 1)   sin θ 0 
g=∇f
• Gradient projeté au point x0
A = ∇c ( x 0 ) T , g = ∇f ( x 0 ) x2
g p = Pg avec 
 P = I − A T
AA T −1
(A ) gp
A = 2r0 (cos θ 0 sin θ 0 ) ∇c

 sin 2 θ 0 sin θ 0 cos θ 0  x0 θ


P =   r
 sin θ 0 cos θ 0 cos 2 θ 0 
1
 − sin θ 0 
→ g p = (cos θ 0 − sin θ 0 ) 
 cos θ 0
x* c(x)=0
• Direction de descente au point x0
gp  − sin θ 0  x1
d= =   → tangente au cercle en x0
 cos θ 0
gp 478
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation

3.3.2 Exemple
Gradient réduit
• Minimisation de f ( x ) = x 1 + x 2 sous c( x ) = x 12 + (x 2 − 1) − 1 = 0
2

 1  2x1   cos θ 0 
Point admissible x0 (r0=1, θ0) → ∇f (x 0 ) =   , ∇c(x 0 ) =   = 2r0  
 
1  2 ( x 2 − 1)   sin θ 0 

• Gradient réduit au point x0


A = ∇c ( x 0 ) T , g = ∇f ( x 0 ) x2
  − B −1 N 
Zgr
g r = Z T g avec 
AE = (B N ) , Z =  I 
 
   ∇c
 − tan θ 0 
A = 2r0 (cos θ 0 sin θ 0 ) Z =  
 1  r x0 θ
→ g r = 1 − tan θ 0
1
cos θ 0 − sin θ 0  − sin θ 0 
→ Zg r =  
cos θ 0  cos θ 0

x* c(x)=0
• Direction de descente au point x0
Zg r  − sin θ 0  x1
d= =   → tangente au cercle en x0
Zg r  cos θ 0 479
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.3 Restauration
Techniques d’optimisation

3.3.3 Restauration

 Point initial

 Itérations admissibles

 Méthode de restauration

480
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.3 Restauration
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) 2
+ max(0, c I (x) ) 2
x∈R

• La solution x0 de ce problème préliminaire est admissible si le coût est nul


c (x ) = 0 c (x ) = 0
+ max(0, c I (x 0 ) ) =0 ⇒  E 0 ⇒  E 0
max(0, c I (x 0 ) ) = 0
c E (x 0 ) 2 2
c I (x 0 ) ≤ 0
Restauration de la faisabilité
• La direction de descente d est dans l’hyperplan tangent aux contraintes au point courant.
• Si les contraintes ne sont pas linéaires, un pas s suivant d donne un point non admissible
→ Il faut restaurer la faisabilité avant d’évaluer si le pas s est acceptable.

481
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.3 Restauration
Techniques d’optimisation

3.3.3 Restauration
Déplacement admissible
minn f(x) sous c( x ) = 0 → m contraintes actives
x∈R

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

• Le déplacement p1 est suivant la direction de descente d dans l’hyperplan tangent : p1 = –sd


d∈Rn = direction construite à partir du gradient projeté ou du gradient réduit
s > 0 = pas de déplacement suivant –d (pour minimisation) x2 p
2
On obtient un point x1 = x0 + p1 dans l’hyperplan tangent
→ non admissible si contraintes non linéaires x1

• Le déplacement p2 restaure un point admissible à partir du point x1. p1


→ linéarisation des contraintes en x1
x0
→ résolution d’un système sous-déterminé
On obtient un point x2 = x1 + p2 admissible. c(x)=0
c(x)=c1
Recherche linéaire
• On évalue le point x2 correspondant au pas s de recherche linéaire suivant d.
• Le pas s est modifié par dichotomie jusqu’à trouver un point x2(s) acceptable
→ règles d’Armijo, Goldstein, Wolfe,…
482
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.3 Restauration
Techniques d’optimisation

3.3.3 Restauration
Méthode de restauration
A1 = ∇c(x1 ) T ≈ ∇c(x 0 ) T = A 0
Le déplacement p2 doit vérifier : A1p = b1 avec 
b1 = −c(x1 ) = −c1
• Solution de norme minimale → projection sur l’hyperplan tangent aux contraintes actives
min p sous A1p = b1
p∈R n
(
−1
→ p 2 = A1T A1A1T b1 ) (cf §1.2.4)

• Solution de base → pour ne pas dégrader la minimisation apportée par p1


(cf §1.2.3)
A1 (Yp Y + Zp Z ) = b1 ⇒ p Y = (A1Y ) b1 → p 2 = Y(A1Y ) b1
−1 −1

• Plusieurs pas de restauration peuvent être nécessaires.

p2
c(x)=0
p1 x1
x0
c(x)=c1
∇c(x1)
∇c(x0) 483
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.3 Restauration
Techniques d’optimisation

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

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

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

Restauration avec dégradation du critère

p2
c(x)=0 lignes de f

x0 p1 x1

484
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.4 Algorithme
Techniques d’optimisation

3.3.4 Algorithme

 Algorithme de gradient projeté / réduit

 Exemple

485
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.4 Algorithme
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 Mise à jour
• Projection ou réduction dans l’hyperplan tangent xk , Hk
• Mise à jour du hessien (quasi-Newton)

Recherche linéaire
• Méthode de dichotomie sur le pas de déplacement Projection ou réduction
• Restauration avant évaluation du pas Direction dk
• Règles d’acceptation (Armijo,…)

Principales difficultés
• Amélioration critère → grands pas Recherche linéaire
• Restauration contraintes → petits pas avec restauration
→ difficultés sur problèmes très non-linéaires Pas sk
→ réglages à adapter au cas par cas
486
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.4 Algorithme
Techniques d’optimisation

3.3.4 Exemple
Exemple
• Minimisation de f ( x ) = x 1 + x 2 sous c( x ) = x 12 + (x 2 − 1) − 1 = 0
2 2,5

2
x * = − 1 / 2 ≈ −0.70711 1,5
• Solution :  1
x 2 * = 1 − 1 / 2 ≈ 0.29289 1

0,5

Itérations 0
 x   r cos θ 
• Point courant : x =  1  =   -2 -1,5 -1 -0,5 0
-0,5
0,5 1 1,5 2

 x 2   r sin θ + 1 
-1

 − sin θ   − sin θ 
• Descente : x’ = x − s1d1 avec d1 =   ← g p = (cos θ − sin θ) 
 cos θ   cos θ 
→ pas s1 suivant le gradient projeté
 cos θ   2x1 
• Restauration : x’’ = x’ − s2d2avec d 2 =   ← ∇c(x ) =  
 sin θ   2 ( x 2 − 1) 
→ pas s2 suivant le gradient des contraintes

• Réglage des pas : s2 est calculé pour restaurer c(x’’) = 0


s1 est choisi pour vérifier une décroissance suffisante f(x’’) < f(x)
487
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.4 Algorithme
Techniques d’optimisation

3.3.4 Exemple
Exemple
• Minimisation de f ( x ) = x 1 + x 2 sous c( x ) = x 12 + (x 2 − 1) − 1 = 0
2

 x 1   0.1  x 1  1
• Point initial :   =   → Restauration initiale :   =  
x2   1   x 2  1

Itération x1 x2 f(x) c(x) Descente s1 x 1' x2' c(x') Restauration s2


1 0,10000 1,00000 1,10000 -0,99000 0,00000 0,10000 1,00000 -0,99000 4,50000
2 1,00000 1,00000 2,00000 0,00000 1,00000 1,00000 0,00000 1,00000 -0,50000
3 0,00000 0,00000 0,00000 0,00000 0,50000 -0,50000 0,00000 0,25000 -0,06699
4 -0,50000 0,13397 -0,36603 0,00000 0,18301 -0,65849 0,22548 0,03349 -0,00844
5 -0,65005 0,24011 -0,40994 0,00000 5,492E-02 -0,69178 0,27581 3,016E-03 -7,547E-04
6 -0,69080 0,27696 -0,41385 0,00000 1,612E-02 -0,70246 0,28809 2,599E-04 -6,497E-05
7 -0,70237 0,28819 -0,41418 0,00000 4,722E-03 -0,70573 0,29150 2,230E-05 -5,576E-06
8 -0,70572 0,29151 -0,41421 0,00000 1,383E-03 -0,70670 0,29249 1,913E-06 -4,783E-07
9 -0,70670 0,29249 -0,41421 0,00000 4,051E-04 -0,70699 0,29277 1,641E-07 -4,103E-08
10 -0,70699 0,29277 -0,41421 0,00000 1,187E-04 -0,70707 0,29286 1,408E-08 -3,520E-09
11 -0,70707 0,29286 -0,41421 0,00000 3,475E-05 -0,70710 0,29288 1,208E-09 -3,020E-10
12 -0,70710 0,29288 -0,41421 0,00000
488
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.4 Algorithme
Techniques d’optimisation

3.3.4 Exemple
Exemple
Minimisation de f ( x ) = x 1 + x 2 sous c( x ) = x 12 + (x 2 − 1) − 1 = 0
2

Point initial Point initial admissible Solution


 x 1   0.1  x 1   1  x 1 *   − 1 / 2 ≈ −0.70711
  =   restauration initiale
  =  
itérations   =  
 
x2   1   x 2   1  x 2 *  1 − 1 / 2 ≈ 0.29289 

2,5 0,4

2,0
0,3

1,5

0,2
1,0

0,5
0,1

0,0
-2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0
0,0
-0,5 -0,8 -0,7 -0,6 -0,5 -0,4

-1,0 -0,1

489
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
Techniques d’optimisation

Sommaire
1. Bases théoriques

2. Optimisation sans contraintes

3. Optimisation avec contraintes


3.1 Simplexe
3.2 Point intérieur
3.3 Gradient projeté
3.4 Lagrangien augmenté
3.4.1 Principes
3.4.2 Pénalisation
3.4.3 Algorithme
3.5 Programmation quadratique séquentielle
3.6 Convergence

490
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
3.4.1 Principes
Techniques d’optimisation

3.4.1 Lagrangien augmenté


Problème avec contraintes égalité
c (x) = 0
min f(x) sous  E ⇔ min f ( x ) sous c( x ) = 0 → contraintes actives
x∈R n
c I ( x ) ≤ 0 x∈R n

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.

491
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation

3.4.2 Pénalisation

 Critère augmenté

 Pénalisation quadratique

 Pénalisation exacte

 Mise en œuvre

 Lagrangien augmenté

492
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation

3.4.2 Critère augmenté


Problème avec contraintes égalité
c (x) = 0
min f(x) sous  E ⇔ min f ( x ) sous c( x ) = 0 → contraintes actives
x∈R n
c I ( x ) ≤ 0 x∈R n

On note x* la solution du problème avec contraintes.

Critère augmenté
On ajoute au critère un terme positif fonction de la violation des contraintes
avec un coefficient de pénalisation ρ > 0 → 2 méthodes usuelles de pénalisation
• Pénalisation en norme 2 (pénalisation quadratique)

2
(
f ρ (x) = f(x) + ρ c E (x) 2 + max(0, c I (x) ) 2
1 2 2
) 1
⇔ f ρ (x) = f(x) + ρ c(x) 2
2
2

• Pénalisation en norme 1
(
f ρ (x) = f(x) + ρ c E (x) 1 + max(0, c I (x) ) 1 ) ⇔ f ρ (x) = f(x) + ρ c(x) 1

Problème sans contraintes


min f ρ (x) → solution xρ
x∈R n

493
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation

3.4.2 Pénalisation quadratique


Problème pénalisé l2

min f ρ (x)
x∈R n 2
( 2
)
avec f ρ (x) = f(x) + ρ c E (x) 2 + max(0, c I (x) ) 2
1 2

1 2
⇔ f ρ (x) = f(x) + ρ c(x) 2 → contraintes actives
2
Le critère l2 est différentiable deux fois pour un problème avec contraintes égalité
On peut appliquer les algorithmes d’optimisation sans contraintes à base de gradient.

Méthode de résolution
• On résout une suite de problèmes pénalisés avec des valeurs croissantes de la pénalisation ρ.

• Chaque problème k+1 est initialisé avec la solution précédente xk.

• Problème k avec pénalisation ρk : minn f ρ k (x) → solution xk


x∈R

• Il faut vérifier que la suite des solutions xk converge vers la solution x* du problème initial
lim x k = x * si lim ρ k = + ∞
k →∞ k →∞

→ 2 résultats de convergence selon que xk est une solution exacte ou approchée


494
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation

3.4.2 Pénalisation quadratique


Problème pénalisé l2

• Problème avec contraintes : min f ( x ) sous c( x ) = 0 → solution x*


x∈R n

• Problème k avec pénalisation ρk : minn f ρ k (x) → solution xk


x∈R
lim ρ k = + ∞ lim x k = x ∞
k →∞ k →∞

Convergence
• Si xk est le minimum global exact, alors lim x k = x *
k →∞

• Si xk est un minimum local approché : ∇f ρ (x k ) ≤ ε k avec lim ε k = 0


k
k →∞
→ précision de résolution εk décroissante
2
alors la limite x∞ est : - soit un point non admissible qui minimise c(x) 2
- soit un point x* vérifiant les conditions KKT du problème initial
 lim x k = x * → minimum local
→∞
On a dans ce 2ème cas : klim
k →∞ ρ k c(x k ) = λ * → multiplicateurs des contraintes actives

La solution exacte x* n’est obtenue qu’à la limite lorsque la pénalisation ρ tend vers l’infini.
495
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation

3.4.2 Pénalisation quadratique


Eléments de la démonstration
1
f ρ ( x ) = f ( x ) + ρ c( x ) ⇒ ∇f ρ ( x ) = ∇f ( x ) + ρ∇c( x )c( x )
2

2
• Critère d’arrêt sur xk : ∇f ρk (xk ) ≤ ε k

∇f ρk (xk ) = ∇f ( xk ) + ρ k ∇c( xk )c( xk ) ≥ ρ k ∇c( xk )c( xk ) − ∇f ( xk ) car a + b ≥ a − b

ε k + ∇f ( x k )
⇒ ρ k ∇c( xk )c( xk ) ≤ ε k + ∇f ( xk ) ⇒ ∇c( xk )c( xk ) ≤ k→ 0
ρk →∞

∇c( x*) = 0 → min c( x )



⇒  ou si les gradients sont linéairement indépendants
c( x*) = 0 → admissible

• Multiplicateurs de Lagrange
∇f ρk (xk ) = ∇f ( xk ) + ρ k ∇c( xk )c( xk ) ≤ ε k k→ 0
→∞

→ ∇f ( x*) + ∇c( x*)λ* = 0 avec λ* = lim ρ k c(xk )


k →∞

496
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation

3.4.2 Pénalisation exacte


Problème pénalisé l1
min f ρ (x)
x∈R n
(
avec f ρ (x) = f(x) + ρ c E (x) 1 + max(0, c I (x) ) 1 )
⇔ f ρ (x) = f(x) + ρ c(x) 1 → contraintes actives

Le critère l1 n’est pas différentiable.

Méthode de résolution
• On résout une suite de problèmes pénalisés avec des valeurs croissantes de la pénalisation ρ.

• Chaque problème k+1 est initialisé avec la solution précédente xk.

• Problème k avec pénalisation ρk : minn f ρ k (x) → solution xk


x∈R

Convergence
• Si ρ > ρ* = λ * ∞ = max λ i alors x* est un minimum local de fρ avec la pénalisation l1.

• La pénalisation l1 est exacte si est ρ est supérieur au plus grand multiplicateur.


→ ne nécessite pas d’augmenter indéfiniment ρ pour obtenir la solution exacte x*

497
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation

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

498
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
3.4.2 Pénalisation
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 →∞
klim ρ k c(x k ) = λ * → multiplicateurs des contraintes actives
→∞

λ*
• La solution xk ne respecte qu’approximativement les contraintes : c(x k ) ≈
ρk
• Pour respecter précisément les contraintes, il faut augmenter fortement la pénalisation
→ cause de mauvais conditionnement et de difficultés numériques

• On peut appliquer la méthode de pénalisation au problème équivalent


min L(x, λ*) sous c(x) = 0 ⇔ min f(x) sous c(x) = 0 → si l’on connait λ*
x∈R n x∈R n

1 2 1 2
→ minn L ρ (x, λ*) = L(x, λ*) + ρ c(x) 2 = f(x) + λ *T c(x) + ρ c(x)
x∈R 2 2
499
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
3.4.2 Pénalisation
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 2 1 2
minn L ρ k (x, λ k ) = L(x, λ k ) + ρ k c(x) 2 = f(x) + λ Tk c(x) + ρ k c(x)
x∈R 2 2
avec ρk = valeur de pénalisation du problème k
λk = estimation des multiplicateurs pour le problème k

• Si lim λ k = λ * et lim ρ k = + ∞ les problèmes deviennent équivalents.


k →∞ k →∞

min L(x, λ*) sous c(x) = 0 ⇔ min f(x) sous c(x) = 0 


 → klim xk = x *
x∈R n x∈R n
⇔ min L ρ (x, λ*) ⇔ min f ρ (x)  →∞
x∈R n x∈R n

La solution xk du problème min L ρ (x, λ k ) converge vers la solution x* du problème initial.


x∈R n k

• La solution xk vérifie également : ∇ x L ρ (x k , λ k ) = ∇f(x k ) + ∇c(x k )(λ k + ρ k c(x k ) ) = 0


k

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


500
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
3.4.2 Pénalisation
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 ) pour ρk assez grand


k →∞

→ λ k +1 = λ k + ρ k c(x k ) pour l’itération k+1


λ * −λ k
• La valeur des contraintes à l’itération k est : c(x k ) ≈ λ→ →0
ρk λ*
k

On peut parvenir à respecter les contraintes sans augmenter indéfiniment la pénalisation


si λk est une bonne estimation des multiplicateurs.
→ 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*
501
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
3.4.3 Algorithme
Techniques d’optimisation

3.4.3 Algorithme

 Algorithme de lagrangien augmenté

 Exemple

502
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
3.4.3 Algorithme
Techniques d’optimisation

3.4.3 Algorithme
Méthode de lagrangien augmenté (ou méthode des multiplicateurs)
Les principales étapes d’une itération de lagrangien augmenté sont
• minimiser le lagrangien augmenté
• mettre à jour les paramètres de réglage

Minimisation du lagrangien augmenté


• Méthode de quasi-Newton Minimisation de Lρ
• Recherche linéaire ou région de confiance Précision εk
• Précision d’arrêt sur gradient

Paramètres de réglage
• Multiplicateurs Solution xk+1
• Pénalisation Contraintes c(xk+1)
• Précisions (gradient, contraintes)

Principales difficultés
• Précision contraintes → pénalisation forte Mise à jour
• Conditionnement → pénalisation faible xk+1 , λk+1 , ρk+1 , εk+1
→ convergence précise difficile
→ réglages à adapter au cas par cas
503
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
3.4.3 Algorithme
Techniques d’optimisation

3.4.3 Algorithme
Méthode de lagrangien augmenté (ou méthode des multiplicateurs)
• Réglages à l’itération k : - multiplicateurs λk
- pénalisation ρk
- précision de résolution εk
- précision sur les contraintes ηk

• Minimisation : min L ρ (x, λ k ) → critère d’arrêt ∇ x L ρ k (x k +1 , λ k ) ≤ ε k


x∈R n k

initialisation xk → solution xk+1 → valeurs des contraintes = c(xk+1)

• Mise à jour des réglages à l’itération k+1 en fonction du respect des contraintes

- Si c(x k +1 ) < η k → mise à jour des multiplicateurs λ k +1 = λ k + ρ k c(x k )


(contraintes bien respectées) → résolution plus précise ε k +1 < ε k , η k +1 < η k

- Si c(x k +1 ) > η k → augmentation de la pénalisation ρ k +1 > ρ k → × 10


(contraintes mal respectées) → résolution moins précise ε k +1 > ε k , η k +1 > η k

504
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
3.4.3 Algorithme
Techniques d’optimisation

3.4.3 Exemple
Exemple
• Minimisation de f ( x ) = 2( x 12 + x 22 − 1) − x 1 sous c( x ) = x 12 + x 22 − 1 = 0
 0.5  1 3
• Point initial : x =   , λ = 0 Solution : x* =   , λ = −
 1.3  0 2
1,5 0,7

Suivi de la contrainte
0,6
1

0,5

0,5
0,4

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

0,2
-0,5

0,1

-1
0
0,7 0,8 0,9 1
-1,5 -0,1

505
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
3.4.3 Algorithme
Techniques d’optimisation

3.4.3 Exemple
Exemple
• Minimisation de f ( x ) = 2( x 12 + x 22 − 1) − x 1 sous c( x ) = x 12 + x 22 − 1 = 0
 0.5  1 3
• Point initial : x =   , λ = 0 Solution : x* =   , λ = −
 1.3  0 2
Itération x1 x2 λ ρ c(x) ∇L ρ ( x , λ ) Newton

1 0,50000 1,30000 0,00000 1 -0,71238 0,90050 1


2 0,40707 0,34917 -0,71238 10 -0,05788 0,90016 1
3 0,73467 0,63433 -1,29122 10 -0,00905 0,50091 2
4 0,91556 0,39077 -1,38175 10 0,00635 0,41807 2
5 0,98869 0,16985 -1,38175 100 0,00188 0,62061 2
6 0,99953 0,04158 -1,30283 100 -0,00188 0,01728 2
7 0,99905 -0,00320 -1,49103 100 -0,00009 0,00172 1
8 0,99995 0,00171 -1,50003 100 2,06E-06 0,00057 3
9 1,00000 0,00045 -1,50003 100 1,85E-06 0,00031

pénalisation itérations
Newton
précision précision
contrainte résolution
506
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
Techniques d’optimisation

Sommaire
1. Bases théoriques

2. Optimisation sans contraintes

3. Optimisation avec contraintes


3.1 Simplexe
3.2 Point intérieur
3.3 Gradient projeté
3.4 Lagrangien augmenté
3.5 Programmation quadratique séquentielle
3.5.1 Equations KKT
3.5.2 Modèle quadratique
3.5.3 Globalisation
3.5.4 Algorithme
3.6 Convergence

507
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.1 Equations KKT
Techniques d’optimisation

3.5.1 Equations KKT

 Problème non linéaire


- Conditions de minimum local
- Equations KKT

 Méthode de Newton

508
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.1 Equations KKT
Techniques d’optimisation

3.5.1 Equations KKT


Problème avec contraintes égalité
c (x) = 0
min f(x) sous  E ⇔ min f ( x ) sous c( x ) = 0 → m contraintes actives
x∈R n
c I ( x ) ≤ 0 x∈R n

Conditions nécessaires de minimum local

• Lagrangien : L( x , λ) = f ( x ) + λT c( x )

∇ L ( x , λ )   ∇f ( x ) + ∇c ( x ) λ 
• Gradient : ∇L( x , λ) =  x = 
 ∇ λ L ( x , λ )   c( x ) 

 ∇ 2xx L( x , λ) ∇ 2xλ L( x , λ)   ∇ 2xx L( x , λ) ∇c( x ) 


• Hessien : ∇ L( x , λ) =  2
2
=



 ∇ λx L( x , λ) ∇ λλ L( x , λ)   ∇c( x )
2 T
0 

∇ L( x , λ ) 
• Conditions d’ordre 1 : ∇L( x , λ) =  x =0 → équations KKT

 λ L ( x , λ ) 
On cherche à résoudre les équations KKT par la méthode de Newton.

509
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.1 Equations KKT
Techniques d’optimisation

3.5.1 Equations KKT


Equations KKT
Les conditions KKT donnent un système d’équations non linéaire en variables (x,λ)
∇ L( x , λ ) 
∇L( x , λ) =  x =0

 λ L ( x , λ ) 
Méthode de Newton
Au point (xk, λk), l’itération de Newton donne un déplacement d vérifiant

avec d =  x  ∈ R n + m
∇ 2 L( x k , λ k )d = −∇L( x k , λ k ) d
dλ 
 ∇ 2xx L( x k , λ k ) ∇c( x k )  d x   ∇f ( x k ) + ∇c ( x k ) λ k 
⇔    = −
   
 ∇c ( x k )
T
0  λ  d  c( x k ) 

∇ 2xx L( x k , λ k )d x + ∇c( x k )d λ = −∇ x L( x k , λ k )
⇔  → équations de Newton
∇c( x k ) d x = − c( x k )
T

On peut écrire un problème quadratique-linéaire en variables (dx,dλ)


dont les conditions d’optimalité sont les équations de Newton au point (xk, λk).

510
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.2 Modèle quadratique
Techniques d’optimisation

3.5.2 Modèle quadratique

 Problème quadratique local

 Equivalence avec la méthode de Newton

 Interprétation

 Formulation simplifiée

 Résolution

511
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.2 Modèle quadratique
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
QP
n
2
→ problème quadratique-linéaire noté (QP)

• Lagrangien LQP avec des multiplicateurs λQP sur les contraintes : ∇c( x k ) T d QP + c( x k ) = 0
1
(
L QP (d QP , λ QP ) = ∇ x L( x k , λ k ) T d QP + d TQP ∇ 2xx L( x k , λ k )d QP + λTQP ∇c( x k ) T d QP + c( x k )
2
)
 ∇ L (d , λ ) 
• Conditions d’ordre 1 : ∇L QP (d QP , λ QP ) =  d QP QP QP  = 0
 ∇ λ L QP (d QP , λ QP ) 
∇ x L( x k , λ k ) + ∇ 2xx L( x k , λ k )d QP + ∇c( x k )λ QP = 0
⇔ 
∇c( x k ) d QP + c( x k ) = 0
T

→ système linéaire sur les variables primales dQP∈Rn et les variables duales λQP∈Rm

512
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.2 Modèle quadratique
Techniques d’optimisation

3.5.2 Modèle quadratique


Equivalence avec la méthode de Newton
On se place au point (xk, λk).

• L’itération de Newton pour résoudre les conditions KKT donne le système en variables (dx,dλ)
∇ 2xx L( x k , λ k )d x + ∇c( x k )d λ = −∇ x L( x k , λ k )

∇c( x k ) d x = − c( x k )
T

• Le problème quadratique-linéaire (QP) en variables dQP∈Rn


1
minn ∇ x L( x k , λ k ) T d QP + d TQP ∇ 2xx L( x k , λ k )d QP sous ∇c( x k ) T d QP + c( x k ) = 0
d QP ∈R 2

a pour conditions d’ordre 1 le système en variables (dQP,λQP)


∇ x L( x k , λ k ) + ∇ 2xx L( x k , λ k )d QP + ∇c( x k )λ QP = 0

∇c( x k ) d QP + c( x k ) = 0
T

d QP = d x ∈ R n
• Les 2 systèmes linéaires sont identiques en posant : 
λ QP = d λ ∈ R
m

513
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.2 Modèle quadratique
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 ∇ 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 ∈R 2 d λ = λ QP
n
QP
→ multiplicateur λQP

• On peut formuler le problème quadratique local (QP) en

~ 
 L
~
( d ) = L ( x + d , λ ) + (
o d 2
) → L à l’ordre 2 en x
minn L(d QP ) sous ~c (d QP ) = 0 avec ~
( )
QP k QP k QP

d QP ∈R  c (d QP ) = c( x k + d QP ) + o d QP → c à l’ordre 1 en x

→ minimisation d’un modèle quadratique du lagrangien


sous un modèle linéaire des contraintes

Récapitulatif
• Optimisation sans contrainte
Newton ⇔ Minimiser un modèle quadratique de la fonction
• Optimisation avec contrainte
Newton ⇔ Minimiser un modèle quadratique du lagrangien
sous un modèle linéaire des contraintes
514
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.2 Modèle quadratique
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



∇c( x k ) d x = − c( x k )
T

• En faisant le changement de variable dl = λk + dλ , on obtient

∇ 2xx L( x k , λ k )d x + ∇c( x k )d l = −∇f ( x k )



∇c( x k ) d x = − c( x k )
T

• L’itération de Newton en variables (dx,dl) équivaut au problème quadratique local


1 d = d QP
min ∇f ( x k ) T d QP + d TQP ∇ 2xx L( x k , λ k )d QP sous ∇c( x k ) T d QP + c( x k ) = 0 →  x
d ∈R 2 d l = λ QP
n
QP

→ multiplicateur λQP
d = d QP
→  x
d λ = λ QP − λ k
→ même formulation avec ∇f ( x k ) au lieu de ∇ x L( x k , λ k )

515
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.2 Modèle quadratique
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
⇔ min d QP Qd QP + c d QP sous Ad QP = b avec 
T
et 
d ∈R 2
QP
n
c = ∇ f ( x k ) b = − c ( x k )

( )(
λ = AQ −1A T −1 AQ −1c + b )
( )
• Si Q est définie positive, la solution est :  QP −1
d QP = Q A λ QP − c
T

• Si Q n’est pas définie positive, on remplace Q par une matrice H définie positive « proche »
→ factorisation de Cholesky modifiée
→ ou H = Q + τI avec τ suffisamment grand
d = d QP x = x k + d QP
• Le déplacement à partir du point courant (xk, λk) est :  x →  k +1
d λ = λ QP − λ k λ k +1 = λ QP

• La résolution explicite est généralement trop coûteuse à cause des inversions de matrices.
On résout le problème quadratique-linéaire par un algorithme itératif dédié.

516
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation

3.5.3 Globalisation

 Méthode de Newton

 SQP avec recherche linéaire

 SQP avec région de confiance

 Correction d’ordre 2

517
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation

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
518
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation

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
minn f ( x ) sous  E → problème (PO)
x∈R c I ( x ) ≤ 0
F est une fonction de mérite exacte si tout minimum local x* de (PO)
est aussi un minimum local sans contrainte de F
c (x) = 0
x* minimum local de minn f ( x ) sous  E
x∈R c I ( x ) ≤ 0
⇒ x* minimum local de minn F( x )
x∈R
519
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.3 Globalisation
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)
520
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.3 Globalisation
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 x = d QP
d ∈R
QP
n
2
• F1,ρ n’est pas dérivable → évaluation de la dérivée directionnelle suivant la direction dx

 dF1,ρ ( x k + sd x ) 
F1,ρ ( x ) = f ( x ) + ρ c( x ) 1 → (F1,ρ )d =   = ∇f ( x k ) T d x − ρ c( x k ) 1
'
x
 ds s=0

• (F ) vérifie
'
1, ρ d
x
(F ) '
1, ρ d (
≤ −d Tx ∇ 2xx L( x k , λ k )d x − ρ − d l ∞
) c( x ) 1
avec dl = λk + dλ
x

Valeur minimale de ρ d Tx ∇ 2xx L( x k , λ k )d x


• dx est une direction de descente pour F1,ρ si ρ > d l ∞

c( x ) 1

• Condition suffisante ρ > dl ∞


si ∇ 2xx L( x k , λ k ) > 0

• F1,ρ est une fonction de mérite exacte si ρ > max λ i * → conditions cohérentes
i =1,, m
car dl = λk + dλ avec dλ*=0
521
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.3 Globalisation
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.
1 T 2 ∇c( x k ) T d QP + c( x k ) = 0
min ∇f ( x k ) d QP + d QP ∇ xx L( x k , λ k )d QP sous 
T
d QP ∈R n 2  d QP ≤ r
• On peut exprimer la contrainte de région de confiance en norme 2 ou en norme ∞.
• L’amélioration est mesurée par une fonction mérite F.
Le rayon de confiance est réglé en fonction du rapport de réduction de la fonction mérite.

Fonction de mérite l2
• On peut prendre une fonction mérite avec pénalisation quadratique
m
F2,ρ ( x ) = f ( x ) + ρ c( x ) 2
avec c( x ) 2 = ∑ c (x)
i =1
i
2

• La fonction modèle quadratique correspondante est


1
F̂2,ρ (d QP ) = ∇f ( x k ) T d QP + d TQP ∇ 2xx L( x k , λ k )d QP + ρ ∇c( x k ) T d QP + c( x k )
2 2

F2,ρ ( x k ) − F2,ρ ( x k + d PQ )
• Le rapport de réduction est défini par
F̂2,ρ ( x k ) − F̂2,ρ ( x k + d PQ )
522
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation

3.5.3 Correction d’ordre 2


Effet Maratos
• La direction de déplacement obtenue en résolvant le problème QP peut simultanément :
- rapprocher de l’optimum
- dégrader la fonction mérite basée sur l’amélioration du critère et des contraintes
• Ceci peut conduire à bloquer un algorithme SQP en rejetant des déplacements favorables.

Correction d’ordre 2
• On résout une 1ère fois le problème QP au point xk → solution dQP
1
minn ∇f kT d QP + d TQP ∇ 2xx L k d QP sous ∇c Tk d QP + c k = 0
d QP ∈R 2
• On évalue la valeur des contraintes au point xk + dQP → c(xk + dQP) = δc

• Si la valeur de c(xk + dQP) est trop différente de 0 (non-linéarité des contraintes),


on résout une 2ère fois le problème QP au point xk en corrigeant la valeur des contraintes
1
min ∇f kT d QP + d TQP ∇ 2xx L k d QP sous ∇c Tk d QP + c k = −δc → correction d’ordre 2
d ∈R
QP
n
2
• On obtient une direction de déplacement qui tient compte de la non-linéarité des contraintes.

523
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation

3.5.3 Exemple
Effet Maratos
• Minimisation de f ( x ) = 2( x 12 + x 22 − 1) − x 1 sous c( x ) = x 12 + x 22 − 1 = 0
1 1 0
→ ∇ 2xx L(x*, λ *) = I = 
3
• Solution : x* =   , λ* = − 
0 2  0 1 
 cos θ   4 cos θ − 1   2 cos θ 
Point courant : x k =   → ∇f =   , ∇c =  
 sin θ   4 sin θ   2 sin θ 

• Problème QP : min (4 cos θ − 1)d1 + 4d 2 sin θ +


d1 , d 2 2
(
1 2
)
d1 + d 22 sous d1 cos θ + d 2 sin θ = 0

en prenant ∇ 2xx L = I
1
• Solution QP : d1 = −d 2 tan θ → min d 2 tan θ + d 22 → d 2 = − sin θ cos θ
d2 2 cos θ
2

 sin 2 θ   sin θ 
→ d k =   = sin θ
 
 − sin θ cos θ   − cos θ 
 cos θ + sin 2 θ 
• Nouveau point : x k +1 =  

 sin θ − sin θ cos θ 
524
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation

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
 cos θ   cos θ + sin 2 θ 
On évalue en x k =   et x k +1 =  

 sin θ   sin θ − sin θ cos θ 
c( x k ) = cos 2 θ + sin 2 θ −1 c( x k ) = 0

• La contrainte : 
c ( x k +1 ) = (
cos θ + sin 2
θ
2
)
+ (sin θ − sin θ cos θ )2
− 1
c( x ) = sin 2 θ
 k +1

f ( x k ) = 2c( x k ) − cos θ f ( x ) = − cos θ


• Le critère :
 k +1 k +1 (
f ( x ) = 2c( x ) − cos θ + sin 2 θ ) ⇒  k
f ( x k +1 ) = sin θ − cos θ
2

  cos θ − 1 
⇒ x k − x * = 2(1 − cos θ)
2
x k − x* =  
1   sin θ 
• L’écart à l’optimum x* =   : 
0 x − x* = (1 − cos θ) cos θ  ⇒ x − x * 2 = 1 − cos θ
 k +1  sin θ  k +1
 

Le point xk+1 est plus proche de l’optimum que le point xk, alors que :
- la valeur du critère est dégradée : f(xk+1) > f(xk)
- la valeur de la contrainte est dégradée : c(xk+1) ≠ 0 → déplacement rejeté
525
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation

3.5.3 Exemple
Correction d’ordre 2
• Minimisation de f ( x ) = 2( x 12 + x 22 − 1) − x 1 sous c( x ) = x 12 + x 22 − 1 = 0
 cos θ + sin 2 θ 
On évalue la contrainte au point x k +1 =   → c( x k +1 ) = sin 2 θ = δc

 sin θ − sin θ cos θ 
• Le problème QP est résolu une 2ème fois en corrigeant la valeur de la contrainte :

d ,d
1 2 2
( )
min (4 cos θ − 1)d1 + 4d 2 sin θ + d12 + d 22 sous d1 cos θ + d 2 sin θ = − sin 2 θ
1

• Solution QP :

d1 = −(d 2 + sin θ) tan θ → min d 2 tan θ + d 22 + (d 2 + sin θ) → d 2 = − sin θ cos θ − sin 3 θ


1 1 2

2d 2 2 cos θ
2

 sin θ   cos θ 
→ d k = sin θ  − sin 2 θ  → correction d’ordre 2
 − cos θ   sin θ 

• Déplacement d’ordre 1 : tangent de norme sinθ → suppose la contrainte linéaire

• Déplacement d’ordre 2 : radial de norme sin2θ → corrige la non-linéarité

526
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation

3.5.3 Exemple
Correction d’ordre 2
• Minimisation de f ( x ) = 2( x 12 + x 22 − 1) − x 1 sous c( x ) = x 12 + x 22 − 1 = 0

1,5

 sin θ 
Ordre 1 → d = sin θ 
 − cos θ 
1

0,5
θ
2  cos θ 
Ordre 2 → d = − sin θ 
0  sin θ 
-1,5 -1 -0,5 0 0,5 1 1,5

-0,5

-1

-1,5

527
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation

3.5.4 Algorithme

 Algorithme SQP

 Exemples
- Exemple 1 : comparaison Newton − SQP
- Exemple 2 : SQP sans − avec globalisation
- Exemple 3 : comparaison SQP − Lagrangien augmenté

528
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.4 Algorithme
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 Mise à jour


• Sélection des contraintes actives xk , HLk , ρk
• Mise à jour du hessien (quasi-Newton)

Résolution du problème quadratique-linéaire


• Modification pour avoir un hessien défini positif Solution problème quadratique
• Algorithme spécialisé problème quadratique dQP

Globalisation
• Mise à jour de la pénalisation de la fonction mérite
• Recherche linéaire ou région de confiance Globalisation
→ grand nombre de variantes possibles dk
→ stratégies et réglages à adapter au cas par cas

529
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation

3.5.4 Exemples
Exemple 1 : Comparaison Newton − SQP
• Minimisation de f ( x ) = 2 x 12 + 2 x 22 − 2 x 1 x 2 − 4 x 1 − 6 x 2 sous c( x ) = 2 x 12 − x 2 = 0

• Comparaison de 3 méthodes : résolution exacte , méthode de Newton , algorithme SQP

Résolution exacte
• Lagrangien : (
L( x , λ) = 2 x 12 + 2 x 22 − 2 x 1 x 2 − 4 x 1 − 6 x 2 + λ 2 x 12 − x 2 )
 4 x 1 − 2 x 2 − 4 + 4λ x 1 = 0  x 1 * ≈ 1.06902
• Conditions KKT : 4 x 2 − 2 x 1 − 6 − λ = 0 → solution x 2 * ≈ 2.28563
2x 2 − x = 0  λ * ≈ 1.00446
 1 2 
Matrices utiles
 4 x 1 − 2 x 2 − 4 + 4λ x 1   4 + 4λ − 2 4 x 1 
   
• Newton : F(x 1 , x 2 , λ ) =  4 x 2 − 2 x 1 − 6 − λ  ⇒ ∇F(x 1 , x 2 , λ ) =  − 2 4 −1 
 2 x 12 − x 2   4x − 1 0 
   1

 4x − 2x 2 − 4   4x   4 + 4λ − 2 
• SQP : ∇f (x ) =  1  ∇c(x ) =  1  ∇ 2xx L(x , λ ) =  
 2
4 x − 2 x 1 − 6   −1   − 2 4 
530
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation

3.5.4 Exemples
Exemple 1 : Méthode de Newton
 d x1 
 
• Itération de Newton : ∇F(x 1 , x 2 , λ ) d x 2  = −F(x 1 , x 2 , λ )
d 
 λ
 x1   0   − 6  4 −2 0 
       
• Point initial : x =
 2   1 → F(x 1 , x 2 , λ ) =  − 2 ∇F(x 1 , x 2 , λ ) =  − 2 4 − 1
 λ  0  −1   0 −1 0 
       

 4 − 2 0  d x1   6   d x1   1 
        
• Itération 1 :  − 2 4 − 1  x 2  =  2 
d ⇒  d x2  =  −1
 0 − 1 0  d   1   d   − 8
  λ     λ  
 x1   x 1 + d x1   x1   1 
       
• Nouveau point :  x 2  →  x 2 + d x 2  ⇒ x2  =  0 
λ  λ+d   λ   − 8
   λ     
• La méthode de Newton converge en 7 itérations, sans globalisation.

531
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation

3.5.4 Exemples
Exemple 1 : Méthode de Newton

Itération x1 x2 λ f(x1,x2) c(x1,x2) F(x1,x2,λ) dF(x1,x2,λ)


-6,000 4,000 -2,000 0,000
1 0,00000 1,00000 0,00000 -4,00000 -1,00000 -2,000 -2,000 4,000 -1,000
-1,000 0,000 -1,000 0,000
-32,000 -28,000 -2,000 4,000
2 1,00000 0,00000 -8,00000 -2,00000 2,00000 0,000 -2,000 4,000 -1,000
2,000 4,000 -1,000 0,000
8,640 15,200 -2,000 4,800
3 1,20000 2,80000 2,80000 -9,76000 0,08000 0,000 -2,000 4,000 -1,000
0,080 4,800 -1,000 0,000
7,4E-01 8,664 -2,000 4,346
4 1,08639 2,33466 1,16588 -10,16445 0,02582 0,0E+00 -2,000 4,000 -1,000
2,6E-02 4,346 -1,000 0,000
1,1E-02 8,027 -2,000 4,277
5 1,06933 2,28636 1,00676 -10,14342 0,00058 0,0E+00 -2,000 4,000 -1,000
5,8E-04 4,277 -1,000 0,000
2,8E-06 8,018 -2,000 4,276
6 1,06902 2,28563 1,00446 -10,14283 1,88E-07 0,0E+00 -2,000 4,000 -1,000
1,9E-07 4,276 -1,000 0,000
2,1E-13 8,018 -2,000 4,276
7 1,06902 2,28563 1,00446 -10,14283 1,60E-14 0,0E+00 -2,000 4,000 -1,000
1,6E-14 4,276 -1,000 0,000
532
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation

3.5.4 Exemples
Exemple 1 : Algorithme SQP
1
• Problème quadratique linéaire : min ∇f ( x ) T d x + d Tx ∇ 2xx L( x , λ)d x sous ∇c( x ) T d x + c( x ) = 0
d ∈R
x
2
2
 x1   0 
     − 6 0  4 − 2
• Point initial :  x2  = 1 → ∇f (x ) =   ∇c(x ) =   ∇ 2xx L(x , λ ) =  
 λ  0  − 2  − 1  − 2 4 
   
T T
 − 6  d x1  1  d x1   4 − 2  d x1   0  d 
• Itération 1 : min     +      sous   x1  − 1 = 0
d x1 ,d x 2 − 2
   x2 
d 2  x2 
d  − 2 4  d x 2   − 1 d x 2  x
min 2d 2x1 − 4d x1 d = 1
⇒ d ⇒  x1 avec λ QP = −8
d x 2 = −1
x1

d x 2 = −1
 x1   x 1 + d x1   x1   1 
       
• Nouveau point :  x 2  →  x 2 + d x 2  ⇒ x2  =  0 
λ  λ   λ   − 8
   QP     
• On retrouve les itérations de la méthode de Newton sans globalisation.
Le multiplicateur λ est directement le multiplicateur λQP du problème quadratique.
533
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation

3.5.4 Exemples
Exemple 1 : Algorithme SQP

Itération x1 x2 λ f(x1,x2) c(x1,x2) ∇f ∇c ∇L ∇2L(x1,x2,λ)


1 0,00000 1,00000 0,00000 -4,00000 -1,00000 -6,000 0,000 -6,000 4,000 -2,000
-2,000 -1,000 -2,000 -2,000 4,000
2 1,00000 0,00000 -8,00000 -2,00000 2,00000 0,000 4,000 -32,000 -28,000 -2,000
-8,000 -1,000 0,000 -2,000 4,000
3 1,20000 2,80000 2,80000 -9,76000 0,08000 -4,800 4,800 8,640 15,200 -2,000
2,800 -1,000 0,000 -2,000 4,000
4 1,08639 2,33466 1,16588 -10,16445 0,02582 -4,324 4,346 0,74262 8,664 -2,000
1,166 -1,000 0,00000 -2,000 4,000
5 1,06933 2,28636 1,00676 -10,14342 0,00058 -4,295 4,277 1,1E-02 8,027 -2,000
1,007 -1,000 0,0E+00 -2,000 4,000
6 1,06902 2,28563 1,00446 -10,14283 1,9E-07 -4,295 4,276 2,8E-06 8,018 -2,000
1,004 -1,000 0,0E+00 -2,000 4,000
7 1,06902 2,28563 1,00446 -10,14283 1,6E-14 -4,295 4,276 2,1E-13 8,018 -2,000
1,004 -1,000 0,0E+00 -2,000 4,000
534
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation

3.5.4 Exemples
Exemple 2 : SQP sans − avec globalisation
• Minimisation de f ( x ) = x 1 + x 2 sous c( x ) = x 12 + (x 2 − 1) − 1 = 0
2

• Différents points initiaux → globalisation nécessaire pour assurer la convergence

Résolution exacte
• Lagrangien : ( )
L( x , λ) = x 1 + x 2 + λ x 12 + ( x 2 − 1) 2 − 1

1 + 2λx 1 = 0 x 1 * = − 1 / 2 ≈ −0.70711
• Conditions KKT : 
1 + 2λ( x 2 − 1) = 0 → solution x 2 * = 1 − 1 / 2 ≈ 0.29289
 x 2 + (x − 1)2 − 1 = 0 λ * = 1 / 2 ≈ 0.70711
 1 2 
Matrices utiles
1  2x1   2λ 0 
• Gradient : ∇f (x ) =   ∇c(x ) =   ∇ 2xx L(x , λ ) =  
1  2( x 2 − 1)   0 2λ 
1 0
• Modification du hessien : H = ∇ 2xx L(x , λ ) + τI = (2λ + τ)  avec 2λ + τ > 0
 0 1 
• Recherche linéaire : pas s suivant la direction dx (= solution du problème QP)
535
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation

3.5.4 Exemples
Exemple 2 : SQP sans globalisation
• Minimisation de f ( x ) = x 1 + x 2 sous c( x ) = x 12 + (x 2 − 1) − 1 = 0
2

 x1   1  2,5
   
• Point initial :  x 2  =  − 1
λ 1 2
   

• Algorithme SQP sans globalisation 1,5

→ convergence rapide
1
Itération x1 x2 λ
1 1,00000 -1,00000 1,00000
2 0,00000 -0,50000 0,50000 0,5
3 -1,00000 -0,08333 0,47222
4 -0,77401 0,24973 0,60672
5 -0,70743 0,28900 0,69818 0
6 -0,70714 0,29291 0,70707 -2 -1,5 -1 -0,5 0 0,5 1 1,5 2

7 -0,70711 0,29289 0,70711


-0,5

-1

536
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation

3.5.4 Exemples
Exemple 2 : SQP sans globalisation
• Minimisation de f ( x ) = x 1 + x 2 sous c( x ) = x 12 + (x 2 − 1) − 1 = 0
2

 x 1   − 1.5  2,5
   
• Point initial :  2  
x = 2 
λ  1  2
   

• Algorithme SQP sans globalisation 1,5

→ convergence rapide
1
Itération x1 x2 λ
1 -1,50000 2,00000 1,00000
2 -1,36538 1,07692 0,42308 0,5
3 -1,11784 -0,18542 0,44290
4 -0,80352 0,21615 0,57183
5 -0,70990 0,28607 0,68889 0
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
6 -0,70718 0,29293 0,70697
7 -0,70711 0,29289 0,70711
-0,5

-1

537
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation

3.5.4 Exemples
Exemple 2 : SQP sans globalisation
• Minimisation de f ( x ) = x 1 + x 2 sous c( x ) = x 12 + (x 2 − 1) − 1 = 0
2

 x 1   − 0.1 2,5
   
• Point initial :  2  
x = 1 
λ  1  2
   

• Algorithme SQP sans globalisation 1,5

→ convergence lente
1
Itération x1 x2 λ
1 -0,10000 1,00000 1,00000
2 -5,05000 0,50000 -44,50000 0,5
3 -2,62404 0,75032 -21,27825
4 -1,50286 0,87826 -8,90106
5 -1,08612 0,96364 -2,13558 0
6 -1,01047 1,19247 0,31161 -2 -1,5 -1 -0,5 0 0,5 1 1,5 2

7 -1,33383 -0,65614 0,39510


-0,5
8 -0,96379 0,10912 0,48447
9 -0,72273 0,25387 0,63996
10 -0,70890 0,29344 0,70407 -1
11 -0,70710 0,29289 0,70710
12 -0,70711 0,29289 0,70711
538
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation

3.5.4 Exemples
Exemple 2 : SQP avec globalisation
• Minimisation de f ( x ) = x 1 + x 2 sous c( x ) = x 12 + (x 2 − 1) − 1 = 0
2

 x 1   − 0.1 2,5
   
• Point initial :  2  
x = 1 
λ  1  2
   

• Algorithme SQP avec globalisation 1,5

→ convergence plus rapide


1
Itération x1 x2 λ
1 -0,10000 1,00000 1,00000
2 -1,33750 0,87500 -44,50000 0,5
3 -1,03171 0,82117 1,63129
4 -0,94371 0,58304 0,62377
5 -0,74975 0,22132 0,65803 0
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
6 -0,71035 0,29156 0,70147
7 -0,70710 0,29288 0,70708
-0,5
8 -0,70711 0,29289 0,70711

-1

539
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.4 Algorithme
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 9,90000 2,00000 0,00000 0,0 -4,95000 0,25
1,00000 0,00000 2,00000 0,0 -0,50000 0,25
2 -1,33750 0,87500 -44,50000 -3,36370 -89,00000 0,00000 100,0 0,30579 1,00
0,59218 0,00000 -89,00000 100,0 -0,05383 1,00
3 -1,03171 0,82117 1,63129 -0,28710 3,26258 0,00000 0,0 0,08800 1,00
0,77690 0,00000 3,26258 0,0 -0,23812 1,00
4 -0,94371 0,58304 0,62377 -0,24198 1,24754 0,00000 0,0 0,19396 1,00
0,45126 0,00000 1,24754 0,0 -0,36172 1,00
5 -0,74975 0,22132 0,65803 -0,05185 1,31605 0,00000 0,0 0,03940 1,00
-0,09244 0,00000 1,31605 0,0 0,07024 1,00
6 -0,71035 0,29156 0,70147 -4,6E-03 1,40294 0,00000 0,0 3,2E-03 1,00
-1,9E-03 0,00000 1,40294 0,0 1,3E-03 1,00
7 -0,70710 0,29288 0,70708 4,7E-06 1,41417 0,00000 0,0 -3,3E-06 1,00
-1,7E-05 0,00000 1,41417 0,0 1,2E-05 1,00
8 -0,70711 0,29289 0,70711 -4,2E-10 1,41421 0,00000 0,0 3,0E-10 1,00
2,7E-10 0,00000 1,41421 0,0 -1,9E-10 1,00
540
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation

3.5.4 Exemples
Exemple 2 : SQP sans globalisation
• Minimisation de f ( x ) = x 1 + x 2 sous c( x ) = x 12 + (x 2 − 1) − 1 = 0
2

 x 1   0.1 2,5
   
• Point initial :  x 2  =  1 
λ  1  2
   

• Algorithme SQP sans globalisation 1,5

→ solution = maximum local


1
Itération x1 x2 λ
1 0,10000 1,00000 1,00000
2 5,05000 0,50000 -54,50000 0,5
3 2,62404 0,75028 -26,28019
4 1,50282 0,87782 -11,41974
5 1,08576 0,95907 -3,50192 0
6 1,00831 1,11015 -0,71030 -2 -1,5 -1 -0,5 0 0,5 1 1,5 2
7 0,92650 1,72824 -0,55351
8 0,70291 1,74580 -0,67324 -0,5

9 0,70870 1,70662 -0,70579


10 0,70711 1,70711 -0,70710 -1

541
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation

3.5.4 Exemples
Exemple 2 : SQP avec globalisation
• Minimisation de f ( x ) = x 1 + x 2 sous c( x ) = x 12 + (x 2 − 1) − 1 = 0
2

 x 1   0.1 2,5
   
• Point initial :  x 2  =  1 
λ  1  2
   

• Algorithme SQP avec globalisation 1,5

→ convergence
1
Itération x1 x2 λ
1 0,10000 1,00000 1,00000
2 1,33750 0,87500 -54,50000 0,5
3 1,03687 0,87643 4,23389
4 0,97837 0,75123 -0,24333
5 0,94133 0,60794 -0,35556 0
6 0,50173 -0,43482 -0,26135 -2 -1,5 -1 -0,5 0 0,5 1 1,5 2

7 -0,82925 -0,67191 0,26961


-0,5
8 -1,05655 -0,18790 0,45516
9 -0,80511 0,23137 0,58156
10 -0,70800 0,28512 0,69118 -1
11 -0,70721 0,29295 0,70699
12 -0,70711 0,29289 0,70711
542
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.4 Algorithme
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 -9,90000 2,00000 0,00000 0,0 4,95000 0,25
1,00000 0,00000 2,00000 0,0 -0,50000 0,25
2 1,33750 0,87500 -54,50000 12,32567 -109,00000 0,00000 150,0 -0,30063 1,00
-0,05847 0,00000 -109,00000 150,0 0,00143 1,00
3 1,03687 0,87643 4,23389 0,49539 8,46779 0,00000 0,0 -0,05850 1,00
1,06014 0,00000 8,46779 0,0 -0,12520 1,00
4 0,97837 0,75123 -0,24333 0,30426 -0,48667 0,00000 1,0 -0,59272 0,06
1,17691 0,00000 -0,48667 1,0 -2,29267 0,06
5 0,94133 0,60794 -0,35556 0,50796 -0,71112 0,00000 1,0 -1,75838 0,25
1,20493 0,00000 -0,71112 1,0 -4,17104 0,25
6 0,50173 -0,43482 -0,26135 1,27054 -0,52271 0,00000 1,0 -2,66197 0,50
0,22632 0,00000 -0,52271 1,0 -0,47418 0,50
7 -0,82925 -0,67191 0,26961 0,24512 0,53921 0,00000 0,0 -0,45458 0,50
-0,52197 0,00000 0,53921 0,0 0,96802 0,50
8 -1,05655 -0,18790 0,45516 -0,22888 0,91032 0,00000 0,0 0,25143 1,00
-0,38167 0,00000 0,91032 0,0 0,41927 1,00
9 -0,80511 0,23137 0,58156 -0,11295 1,16311 0,00000 0,0 0,09711 1,00
-0,06252 0,00000 1,16311 0,0 0,05376 1,00
10 -0,70800 0,28512 0,69118 -1,1E-03 1,38235 0,00000 0,0 8,0E-04 1,00
-1,1E-02 0,00000 1,38235 0,0 7,8E-03 1,00
11 -0,70721 0,29295 0,70699 -1,4E-04 1,41398 0,00000 0,0 1,0E-04 1,00
8,0E-05 0,00000 1,41398 0,0 -5,7E-05 1,00
12 -0,70711 0,29289 0,70711 1,2E-08 1,41421 0,00000 0,0 -8,4E-09 1,00
-2,5E-08 0,00000 1,41421 0,0 1,8E-08 1,00 543
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation

3.5.4 Exemples
Exemple 3 : Comparaison SQP − Lagrangien augmenté
• Minimisation de f ( x ) = 2( x 12 + x 22 − 1) − x 1 sous c( x ) = x 12 + x 22 − 1 = 0
 0.5  1 3
• Point initial : x =   , λ = 0 Solution : x* =   , λ = −
 1.3  0 2

1,5 1,5
SQP Lagrangien augmenté
1 1

0,5 0,5

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

-0,5 -0,5

-1 -1

-1,5 -1,5
544
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation

3.5.4 Exemples
Exemple 3 : Comparaison SQP − Lagrangien augmenté

SQP Lagrangien augmenté


Itération x1 x2 λ x1 x2 λ
1 0,50000 1,30000 0,00000 0,50000 1,30000 0,00000
2 0,59665 0,90129 -1,38660 0,40707 0,34917 -0,71238
3 1,12042 0,46118 -1,70047 0,73467 0,63433 -1,29122
4 1,18366 -0,19988 -1,57065 0,91556 0,39077 -1,38175
5 1,03482 0,02190 -1,52359 0,98869 0,16985 -1,38175
6 1,00084 -0,00103 -1,50118 0,99953 0,04158 -1,30283
7 1,00000 0,00000 -1,50000 0,99905 -0,00320 -1,49103
8 0,99995 0,00171 -1,50003
9 1,00000 0,00045 -1,50003

Convergence rapide, très précise Convergence plus lente, moins précise


→ suivi de la contrainte
→ conditionnement

545
3 Optimisation avec contraintes
3.6 Convergence
Techniques d’optimisation

Sommaire
1. Bases théoriques

2. Optimisation sans contraintes

3. Optimisation avec contraintes


3.1 Simplexe
3.2 Point intérieur
3.3 Gradient projeté
3.4 Lagrangien augmenté
3.5 Programmation quadratique séquentielle
3.6 Convergence
3.6.1 Convergence globale
3.6.2 Comparaison des algorithmes
3.6.3 Difficultés pratiques

546
3 Optimisation avec contraintes
3.6 Convergence
3.6.1 Convergence globale
Techniques d’optimisation

3.6.1 Convergence globale


Problème sans contraintes
min f ( x )
x∈R n

Convergence globale
• Un algorithme générant une suite (xk)k∈N à partir du point x0 est globalement convergent si

lim ∇f ( x k ) = 0
k →∞

• Convergence globale = convergence vers un point stationnaire


≠ convergence vers le minimum global

• Le domaine de convergence est l’ensemble des points initiaux x0 à partir desquels


on a la convergence globale.

• Le domaine de convergence peut être très réduit lorsque :


- la fonction est très non linéaire
- la fonction est mal conditionnée
→ difficulté principale de la méthode de Newton

547
3 Optimisation avec contraintes
3.6 Convergence
3.6.1 Convergence globale
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 → ∇f ( x k ) T d k < 0
f ( x k + sd k ) < f ( x k ) + c1s∇f ( x k ) T d k
- les pas sk vérifient les conditions de Wolfe → 
∇f ( x k + sd k ) d k > c 2 ∇f ( x k ) d k
T T

- le gradient de la fonction est continu au sens de Lipschitz


∇f ( x k ) T d k
• Si les directions ne deviennent pas « trop » orthogonales au gradient : − ≥ ε , ∀k
∇f ( x k ) d k
alors l’algorithme est globalement convergent pour tout x0∈Rn : lim ∇f ( x k ) = 0
k →∞

→ condition vérifiée par : - la méthode de plus forte pente


- la méthode de Newton si le conditionnement du hessien est borné
- les méthodes incluant des itérations périodiques de plus forte pente
→ méthodes globalement convergentes
548
3 Optimisation avec contraintes
3.6 Convergence
3.6.1 Convergence globale
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
∇f kT d k
Théorème de Zoutendijk : ∑ cos θ k ∇f k < ∞ avec cos θ k = −
2 2

k ∇f k d k
Démontré à partir de : ∇f ( y ) − ∇f ( x ) ≤ L y − x , ∀x , y (condition de Lipschitz)
 f ( xk + sd k ) < f ( xk ) + c1 s∇f ( xk )T d k
et  (conditions de Wolfe)
∇f ( xk + sd k ) d k > c2 ∇f ( xk ) d k
T T

cos 2 θ k → 0
⇒ ou
∇f k → 0

• Méthode de plus forte pente : d k = −∇f k ⇒ cos θ k = 1 ⇒ lim ∇f ( xk ) = 0


k →∞

• Méthode de Newton : d k = − H k ∇f k avec H k H k−1 < M (conditionnement borné)


x T Ax x T Ax
En utilisant le théorème de Rayleigh-Ritz : σ 1 = max , σ n = min T
x ≠0 xT x x ≠0 x x
(valeurs propres σ1≥… ≥ σn)
⇒ cos θ k > 1 / M ⇒ lim ∇f ( xk ) = 0
k →∞

549
3 Optimisation avec contraintes
3.6 Convergence
3.6.2 Comparaison des algorithmes
Techniques d’optimisation

3.6.2 Comparaison des algorithmes


Classification
• Méthodes primales
• Méthodes primales-duales
• Méthodes duales

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


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

Objectif min f solution KKT max w


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

Variables primales x primales x , duales λ primales x , duales λ

Algorithmes - simplexe (LP) - point intérieur (LP, NLP) - Uzawa


- gradient projeté - séquentiel quadratique
- pénalisation - lagrangien augmenté

550
3 Optimisation avec contraintes
3.6 Convergence
3.6.2 Comparaison des algorithmes
Techniques d’optimisation

3.6.2 Comparaison des algorithmes


Méthode (auteurs, date) Type Convergence Avantages Difficultés
Plus forte pente sans contraintes linéaire convergence globale convergence lente si
(Cauchy 1847) mauvais conditionnement
Quasi-Newton sans contraintes superlinéaire 1 minimisation par itération hessien défini positif
(DFP 1959, BFGS 1970) quadratique stockage mémoire (n2)
Gradient conjugué sans contraintes superlinéaire stockage mémoire réduit hessien défini positif
(Hestenes 1951, Stiefel 1952) quadratique n minimisations par itération
(Fletcher-Reeves 1964)
Simplexe problème linéaire exponentiel vitesse de convergence algorithme exponentiel
(Dantzig 1950) itérations admissibles dégénérescence
Gradient projeté, réduit primale itérations admissibles convergence lente si
(Rosen 1960, Wolfe 1962) - mauvais conditionnement
(Abadie-Carpentier 1969) - non linéarités fortes
Séquentiel quadratique primale-duale quadratique vitesse de convergence globalisation nécessaire
(Newton) itérations non admissibles
Pénalisation extérieure primale quadratique sans contraintes précision contraintes
(Fiacco-Mc Cormick 1968) (Newton) conditionnement
Pénalisation intérieure primale-duale quadratique algorithme polynomial (LP) précision contraintes
Point intérieur (Karmarkar 1984) problème linéaire (Newton)
Lagrangien augmenté primale-duale quadratique sans contraintes précision contraintes
(Hestenes 1969, Powell 1969) (Newton)
Uzawa (1958) duale linéaire sans contraintes précision contraintes 551
3 Optimisation avec contraintes
3.6 Convergence
3.6.3 Difficultés pratiques
Techniques d’optimisation

3.6.3 Difficultés pratiques


Qualité du minimum recherché
• Minimum global approché → méthodes aléatoires (heuristiques), dites « globales »
• Minimum local précis → méthodes déterministes (gradient), dites « locales »

Principales difficultés des méthodes locales


• Initialisation : le minimum est recherché au voisinage du point initial.
→ Essayer plusieurs points initiaux
→ Evaluer la qualité de la solution obtenue (connaissance expérimentale du problème)

• Contraintes actives : il faut identifier à chaque itération les contraintes actives (→ égalité)
→ Stratégie d’activation / désactivation des contraintes en fonction du déplacement

• Précision numérique : l’évaluation du critère et des contraintes est bruitée.


→ Adapter les incréments pour les gradients
→ Adapter les seuils de précision et les tests d’arrêts

• Conditionnement : les valeurs numériques doivent être du même ordre de grandeur


→ Mise à l’échelle des variables et des fonctions (critère, contraintes)
→ Mise à l’échelle des dérivées premières (jacobien) et secondes (hessien)
On ne peut pas tout mettre à l’échelle simultanément → essais
552
Techniques d’optimisation

Résumé
Bases théoriques
• Différentiabilité : gradient, hessien, jacobien, lignes de niveau (§1.1.3)
• Contraintes linéaires : base, solution de base, direction de base (§1.2.2)
• Conditions d’optimalité : lagrangien, conditions KKT (§1.4.3)

Optimisation sans contraintes


• Méthode de Newton : principe, quasi-Newton, globalisation (§2.2)
• Moindres carrés linéaires : équations normales (§2.5.3)

Optimisation avec contraintes


• Programmation linéaire : simplexe (§3.1.3)
→ méthode des tableaux, méthode des 2 phases
• Programmation non linéaire : gradient projeté/réduit (§3.3)
lagrangien augmenté (§3.4)
SQP (§3.5)
→ principes de chaque algorithme

Difficultés pratiques
• Minima locaux
• Précision numérique
553
Techniques d’optimisation

Bibliographie
Livres en français

• Programmation mathématique (M. Minoux)


• Introduction à l’optimisation différentiable (M. Bierlaire)
• Optimisation continue (F. Bonnans)
• Optimisation discrète (A. Billionnet)

Livres en anglais

• Practical optimization (P. E. Gill, W. Murray, M. H. Wright)


• Numerical optimization (J. Nocedal, S. J. Wright)
• Practical methods of optimization (R. Fletcher)
• Practical mathematical optimization (J. A. Snyman)
• Numerical optimization (J. F. Bonnans, J. C. Gilbert, C. Lemaréchal, C. A. Sagastizabal)
• Numerical recipes in Fortran (W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery)
• Numerical methods for unconstrained optimization and nonlinear equations (J. E. Dennis, R. B.
Schnabel)

554

Anda mungkin juga menyukai