Max CERF
1
Techniques d’optimisation
Sommaire
1. Bases théoriques
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é
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é
4
1 Bases théoriques
1.1 Définitions
1.1.1 Problème d’optimisation
Techniques d’optimisation
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
Programmation mathématique
• Inconnues = entiers → Optimisation combinatoire
Programmation en nombres entiers
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
7
1 Bases théoriques
1.1 Définitions
1.1.1 Problème d’optimisation
Techniques d’optimisation
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, …}
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
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
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 *
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
Théorème de Weierstrass
• f atteint son infimum si f continue, Y compact : ∃x* ∈ Y / f(x*) = inf Y f
14
1 Bases théoriques
1.1 Définitions
1.1.2 Solution
Techniques d’optimisation
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
Une contrainte du problème (PO) est active (ou saturée) en x si elle s’annule en x.
• 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
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[
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
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
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
• Ordre 1
f continument différentiable 1 fois au voisinage de x
• Ordre 2
f continument différentiable 2 fois au voisinage de x
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
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 )
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
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
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
27
1 Bases théoriques
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation
(
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
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
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
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.
34
1 Bases théoriques
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation
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 :
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
1.1.4 Convexité
Ensemble convexe
Fonction convexe
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
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
x y
Convexité et hessien
f fonction deux fois différentiable de X ⊆ Rn dans R, X ensemble convexe ouvert
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
Préconditionnement
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
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
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
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
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
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
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
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
x0 ϕd2(s)
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
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
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
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é
54
1 Bases théoriques
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation
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
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
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
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
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 α
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 × × × ×
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 × × × ×
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
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 × × × ×
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
AE = QR ⇒ E T A T AE = R T Q T QR = R T R car Q orthogonale
R = L
→ −1
Q = AER
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
σ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
• 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
{
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
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
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
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
71
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
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
B N
1 m m +1 k −1 k k +1 n
× × × × × × ×
1
m
n −m
AE = B N =
m × × × × × × ×
75
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation
→ « solutions de base »
76
1 Bases théoriques
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation
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
• { }
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*
• 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
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
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
d
d∈Rn direction de déplacement : E T d = B
dN
Direction admissible
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
• 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
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 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
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
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
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
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
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é
• 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)
95
1 Bases théoriques
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation
• 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é
96
1 Bases théoriques
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation
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
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
• 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
99
1 Bases théoriques
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation
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
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
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
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é
103
1 Bases théoriques
1.3 Contraintes non linéaires
1.3.1 Direction admissible
Techniques d’optimisation
Indépendance linéaire
104
1 Bases théoriques
1.3 Contraintes non linéaires
1.3.1 Direction admissible
Techniques d’optimisation
On se ramène au cas de contraintes linéaires avec A = ∇c(x0)T (gradient des contraintes actives)
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
Applicabilité
• Applicable aux contraintes inégalité et aux contraintes égalité linéaires
d
d
107
1 Bases théoriques
1.3 Contraintes non linéaires
1.3.1 Direction admissible
Techniques d’optimisation
x
d
108
1 Bases théoriques
1.3 Contraintes non linéaires
1.3.1 Direction admissible
Techniques d’optimisation
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
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
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
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
n −m
Les contraintes sont de la forme : c( x ) = c( x lié , x libre ), x lié ∈ R , x libre ∈ R
m
•
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
Difficultés
• Il faut faire attention au domaine de définition des variables (contraintes implicites)
→ voir exemples
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
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
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
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)
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
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
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
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
122
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation
1.4.1 Dualité
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
124
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation
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
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.4.1 Lagrangien
Problème avec contraintes égalité et inégalité
Multiplicateurs de Lagrange
1 multiplicateur par contrainte
• λ∈Rp → multiplicateurs des contraintes d’égalité
• µ∈Rq → multiplicateurs des contraintes d’inégalité
j=1 j=1
127
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation
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é
ρ=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
Concavité - Convexité
• Domaine de w : {
X w = λ ∈ R p , μ ∈ R q / w(λ , μ) > −∞ } → w bornée
∇ L(x, λ , μ) = 0 → x(λ , μ)
⇔ max L(x, λ , μ) sous x → dual de Wolfe
x∈R n , λ∈R p , μ∈R q (λ , μ) ∈ X w , μ ≥ 0
1.4.1 Exemple
Fonction duale
• 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
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.
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
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.
136
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation
L(x,λ)
(x*,λ*)
137
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation
(λ, μ) ∈ 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
140
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation
• 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
141
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation
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
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
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 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
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
146
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.2 Problème sans contraintes
Techniques d’optimisation
Méthode pratique
Exemples
147
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.2 Problème sans contraintes
Techniques d’optimisation
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
= f(x*) +
1 T 2
2
d ∇ f(x*)d + o d ( )
2
car ∇f(x*) = 0
Conditions suffisantes
∇ f(x*) = 0 → ordre 1 : point critique ou stationnaire
∇ 2 f(x*) > 0 ⇒ x* minimum local
→ ordre 2 : hessien défini positif
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
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
• 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
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
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
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
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
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 :
• 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 )
( )
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
160
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation
( )
⇒ kc( xk ) = − ∇c( xk )T ∇c( xk ) ∇c( 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
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
⇒ ∇f ( x*) + ∇c E ( x*)λ * +∇c I ( x*)µ* = 0 car µ*=0 pour les inégalités inactives
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 1d2
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
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
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
x∈R 2 2
Lρ(x,λ) = lagrangien augmenté
ρ>0 = pénalisation de la violation des contraintes
• 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
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
0
x* = , µ* = 0 vérifie les conditions suffisantes d’ordre 1 et 2
0 sauf la condition de complémentarité
168
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation
• 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)
169
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation
x2
min f(x1 , x 2 ) sous c E (x 1 , x 2 ) = 0
f décroissante x1 , x 2
x*
−∇f
cE = 0
x1
170
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation
x2
min f(x1 , x 2 ) sous c I (x 1 , x 2 ) ≤ 0
f décroissante x1 , x 2
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
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
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
x2
min f(x1 , x 2 ) sous c I (x 1 , x 2 ) ≤ 0
cI = 0 x1 , x 2
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
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
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
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
⇒ 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
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
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
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
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
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
184
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation
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
185
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation
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
186
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation
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
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
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πr1 − 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
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
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
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
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
Problème initial
minn f(x) sous c(x) = 0
x∈R
197
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation
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
x2 f = f* f = f*+ δf
min f(x1 , x 2 ) sous c(x1 , x 2 ) = 0
f décroissante x1 , x 2
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
dV0 V0
200
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation
Problème initial
min f(x, p) sous c(x, p) = 0
x∈R n
Problème perturbé
min f(x, p + δp) sous c(x, p + δp) = 0
x∈R n
201
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation
∇ 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
• 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
Forme standard
Coûts réduits
204
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.4 Problème linéaire
Techniques d’optimisation
∇ 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
205
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.4 Problème linéaire
Techniques d’optimisation
• 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
= 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
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
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
Forme standard
Projection
Directions conjuguées
209
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.5 Problème quadratique
Techniques d’optimisation
• Hessien : H(x) = Q
210
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.5 Problème quadratique
Techniques d’optimisation
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
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
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
213
1 Bases théoriques
1.4 Conditions d’optimalité
1.4.5 Problème quadratique
Techniques d’optimisation
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
215
2 Optimisation sans contraintes
Techniques d’optimisation
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
217
2 Optimisation sans contraintes
2.1 Méthodes de descente
2.1.1 Principes
Techniques d’optimisation
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
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
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
221
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation
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
223
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation
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
224
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation
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
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 )
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
Divergence
229
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques 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
230
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation
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 )
231
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation
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
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
( 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.
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
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
237
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation
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
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
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
• 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
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
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
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
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
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
244
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation
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
A k x = y k −1
245
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation
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
α 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 )
• 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
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
• 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
250
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation
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
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
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
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
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
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
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
1x 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
259
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation
2.2.3 Globalisation
Méthodes de globalisation
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
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.
261
2 Optimisation sans contraintes
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation
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.
Point de Cauchy
Le point de Cauchy xC de f en xk minimise le modèle quadratique en xk dans la direction −gk.
Sommaire
1. Bases théoriques
263
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.1 Principes
Techniques d’optimisation
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
264
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.1 Principes
Techniques d’optimisation
Direction de descente
dk est une direction de descente en xk si ∇f(xk)Tdk < 0
Pas de déplacement
Le pas de déplacement sk suivant dk doit vérifier f(xk+skdk) < f(xk)
265
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation
Préconditionnement
266
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation
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
• 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
• 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
270
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation
• On peut prendre pour Hk l’approximation du hessien donné par une méthode quasi-Newton.
• (
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 01 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 23 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
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
• 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
f(x) f(x)
a b c d x a b c d x
f(x) ∆2 = d − b = c − a
a+d b+c
⇒ a +d=b+c ⇒ =
∆1 2 2
∆2
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
f(x) ⇒ ∆1 = ∆ 2 + ∆ 3
∆1
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
Δ N −1 = F1Δ N −1 pour k = N − 1 ⇒ F1 = 1
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
279
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation
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
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
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
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
284
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation
⇒ 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 )
285
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
287
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation
Notations
• xk = point courant → f(xk)
• dk = direction de descente → ∇f(xk)Tdk < 0
288
2 Optimisation sans contraintes
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation
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
f(x)=ϕ(s) f(x)=ϕ(s)
pas acceptables pas acceptables
(Goldstein) (Wolfe)
s s
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
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
ϕ(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
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
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
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.
• 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
298
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.1 Principes
Techniques d’optimisation
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
299
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.1 Principes
Techniques d’optimisation
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
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
302
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation
x0
dN
-g0
xN
• 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
304
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation
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
x0
x(r)
xN
−g0
x0
dN
dC
xC xN
• 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]
308
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation
• |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
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
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
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
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*)
314
2 Optimisation sans contraintes
2.4 Région de confiance
2.4.3 Rayon de confiance
Techniques d’optimisation
• ρ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
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
Rapport de réduction → ρ
Réglage du rayon → rk+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.
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.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
322
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.2 Méthode de Gauss-Newton
Techniques d’optimisation
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
323
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.2 Méthode de Gauss-Newton
Techniques d’optimisation
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 )
• Hessien : ∇ 2f (x) = A T A
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.
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
Problème initial
2
• On appelle problème initial le problème restreint au 1er bloc : minn A1 x − b1
x∈R
328
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.4 Filtre de Kalman
Techniques d’optimisation
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
Mise en œuvre
• Les matrices AkTAk doivent être inversibles → en prenant un nombre suffisant de mesures
330
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.4 Filtre de Kalman
Techniques d’optimisation
• 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.
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
333
2 Optimisation sans contraintes
2.5 Moindres carrés
2.5.5 Gradient conjugué
Techniques d’optimisation
• 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
• 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 )
• 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
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
•
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
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
340
2 Optimisation sans contraintes
2.6 Méthode de Nelder-Mead
2.6.1 Principes
Techniques d’optimisation
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)
• 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
• 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
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
348
3 Optimisation avec contraintes
Techniques d’optimisation
Catégories de problèmes
• Programmation linéaire → Fonctions f, cE, cI linéaires
• Programmation non linéaire → Fonctions f, cE, cI quelconques
349
3 Optimisation avec contraintes
Techniques d’optimisation
350
3 Optimisation avec contraintes
3.1 Simplexe
Techniques d’optimisation
Sommaire
1. Bases théoriques
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
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
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*.
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
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
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
357
3 Optimisation avec contraintes
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation
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
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
360
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation
• 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
= 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
• 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
Variable entrante
• La variable hors base entrant dans la base doit avoir un coût réduit négatif.
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
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
• 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
b = B -1b
B -1 N = (a )
noté
ij i ∈B, j∈N
367
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation
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
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
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
369
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation
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
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
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
• 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
372
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation
373
3 Optimisation avec contraintes
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation
( )
B −1A = I B −1 N E T en plaçant les variables de base en premier
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
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
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
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)
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
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
• 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
384
3 Optimisation avec contraintes
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation
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
• 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
• On peut supposer b≥0 (au besoin en multipliant les contraintes égalité par -1).
386
3 Optimisation avec contraintes
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation
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é.
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
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
• 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
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
→ coût nul
→ point admissible du problème initial
394
3 Optimisation avec contraintes
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation
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
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
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
• 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
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
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
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
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
406
3 Optimisation avec contraintes
3.1 Simplexe
3.1.4 Simplexe révisé
Techniques d’optimisation
Bx B = b → xB
Bλ = c B → λ → cN → x e
Bd = −A → d eB → xs
eB e
407
3 Optimisation avec contraintes
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation
T B −1 Nx N ≤ b → m contraintes
(P' ) min c x N sous
xN
N
x N ≥ 0 → n−m variables
B −1 Nx N ≤ b → m contraintes
(P' ) max − c x N T
sous
xN
N
x N ≥ 0 → n−m variables
409
3 Optimisation avec contraintes
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation
( 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
410
3 Optimisation avec contraintes
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation
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
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
xB xN
I B −1 N b → m contraintes
TP =
0 c NT −z → m variables de base xB
413
3 Optimisation avec contraintes
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation
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.
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
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
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
• 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
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
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
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)
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
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
• { }
Ensemble des point admissibles : X adm = x ∈ R n / Ax = b, x ≥ 0 = polytope des contraintes
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
Conditions d’optimalité
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
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)
430
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation
• 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
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
• Condition d’ordre 1 : ∇ x L( x , λ, s ) = 0 ⇒ c − hX −1 − A T λ − s = 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)
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
• Les conditions d’optimalité du problème barrière (PBh) deviennent celles du problème initial
(PL) lorsque h tend vers 0.
• 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.
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
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
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
λ 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
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.
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
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.
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
441
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation
σ = 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
σ 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
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
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
450
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation
3.2.3 Algorithmes
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
• 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
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
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
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
Réglages
• δm pred = 0.5 → largeur du voisinage
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
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
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
Représentation
463
3 Optimisation avec contraintes
3.2 Point intérieur
3.2.4 Extensions
Techniques d’optimisation
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
XSe − he
S 0
X d s
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
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
468
3 Optimisation avec contraintes
3.3 Gradient projeté
3.3.1 Principes
Techniques d’optimisation
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
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
• 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
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 λ
• 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
Le gradient réduit est le gradient de la fonction réduite sur une base de l’espace nul tangent.
• 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
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
d = Pg avec P = I − A T AA T ( )
−1
A (P = matrice de projection sur l’hyperplan tangent)
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,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
• 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
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
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
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
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)
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
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
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
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
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 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
490
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
3.4.1 Principes
Techniques d’optimisation
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
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
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
493
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation
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 ρ.
• 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 →∞
Convergence
• Si xk est le minimum global exact, alors lim x k = x *
k →∞
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
2
• Critère d’arrêt sur xk : ∇f ρk (xk ) ≤ ε k
ε k + ∇f ( x k )
⇒ ρ k ∇c( xk )c( xk ) ≤ ε k + ∇f ( xk ) ⇒ ∇c( xk )c( xk ) ≤ k→ 0
ρk →∞
496
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation
Méthode de résolution
• On résout une suite de problèmes pénalisés avec des valeurs croissantes de la pénalisation ρ.
Convergence
• Si ρ > ρ* = λ * ∞ = max λ i alors x* est un minimum local de fρ avec la pénalisation l1.
497
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation
• 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
498
3 Optimisation avec contraintes
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation
λ*
• 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
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
⇒ lim λ k + ρ k c(x k ) = λ *
k →∞
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
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
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
• Mise à jour des réglages à l’itération k+1 en fonction du respect des contraintes
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
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
507
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.1 Equations KKT
Techniques d’optimisation
Méthode de Newton
508
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.1 Equations KKT
Techniques d’optimisation
• Lagrangien : L( x , λ) = f ( x ) + λT c( x )
∇ L ( x , λ ) ∇f ( x ) + ∇c ( x ) λ
• Gradient : ∇L( x , λ) = x =
∇ λ L ( x , λ ) c( x )
∇ 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
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
510
3 Optimisation avec contraintes
3.5 Quadratique séquentiel
3.5.2 Modèle quadratique
Techniques d’optimisation
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
• 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
• 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
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
~
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
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
→ 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
( )(
λ = 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
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)
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
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
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
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
• 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
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
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
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
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 θ
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
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 :
2d 2 2 cos θ
2
sin θ cos θ
→ d k = sin θ − sin 2 θ → correction d’ordre 2
− cos θ sin θ
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
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
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
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
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
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
→ 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
-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
→ 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
→ 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
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
-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
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
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
→ 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
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é
545
3 Optimisation avec contraintes
3.6 Convergence
Techniques d’optimisation
Sommaire
1. Bases théoriques
546
3 Optimisation avec contraintes
3.6 Convergence
3.6.1 Convergence globale
Techniques d’optimisation
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 →∞
547
3 Optimisation avec contraintes
3.6 Convergence
3.6.1 Convergence globale
Techniques d’optimisation
• 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
cos 2 θ k → 0
⇒ ou
∇f k → 0
549
3 Optimisation avec contraintes
3.6 Convergence
3.6.2 Comparaison des algorithmes
Techniques d’optimisation
550
3 Optimisation avec contraintes
3.6 Convergence
3.6.2 Comparaison des algorithmes
Techniques d’optimisation
• 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
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)
Difficultés pratiques
• Minima locaux
• Précision numérique
553
Techniques d’optimisation
Bibliographie
Livres en français
Livres en anglais
554