Techniques d'Optimisation Continue
Techniques d'Optimisation Continue
Max CERF
Mai 2017
1
Max CERF
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
4. Optimisation discrète
5. Optimisation fonctionnelle
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é
4. Optimisation discrète
5. Optimisation fonctionnelle
3
1 Bases théoriques Max CERF
1.1 Définitions
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
1.1 Définitions
1.1.1 Problème d’optimisation
1.1.2 Solution
1.1.3 Différentiabilité
1.1.4 Convexité
1.1.5 Conditionnement
1.1.6 Direction de déplacement
1.2 Contraintes linéaires
1.3 Contraintes non linéaires
1.4 Conditions d’optimalité
4
1 Bases théoriques Max CERF
1.1 Définitions
1.1.1 Problème d’optimisation
Techniques d’optimisation Mai 2017
Norme sur Rn
- Norme vectorielle
- Norme matricielle
Suite dans Rn
- Limite
- Vitesse de convergence
5
1 Bases théoriques Max CERF
1.1 Définitions
1.1.1 Problème d’optimisation
Techniques d’optimisation Mai 2017
1.1.1 Classification
Optimisation fonctionnelle / paramétrique
• Inconnues = fonctions Optimisation fonctionnelle
Optimisation en dimension infinie
Commande optimale
Programmation mathématique
• Inconnues = entiers Optimisation combinatoire
Programmation en nombres entiers
6
1 Bases théoriques Max CERF
1.1 Définitions
1.1.1 Problème d’optimisation
Techniques d’optimisation Mai 2017
1.1.1 Formulation
Formulation mathématique
c E (x) 0
minn f(x) sous c I (x) 0 formulation standard
xR
x X problème noté (PO)
Notations
• x : n variables ou paramètres vecteur de Rn
ou inconnues
7
1 Bases théoriques Max CERF
1.1 Définitions
1.1.1 Problème d’optimisation
Techniques d’optimisation Mai 2017
Rappels d’analyse
• Norme
• Suite - Convergence
8
1 Bases théoriques Max CERF
1.1 Définitions
1.1.1 Problème d’optimisation
Techniques d’optimisation Mai 2017
1.1.1 Norme
Norme vectorielle sur Rn
x 0
x 0 x 0
• Fonction . : Rn R vérifiant
xy 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 Rmn par la norme vectorielle . 1
Ax
• Fonction . : R mn R définie par A m n
max
m n xR n , x 0 x
9
1 Bases théoriques Max CERF
1.1 Définitions
1.1.1 Problème d’optimisation
Techniques d’optimisation Mai 2017
1.1.1 Suite
Suite dans Rn
• Suite : xk , k=0,1,2,… = x0 , x1 , x2 ,…, xn, …
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 Max CERF
1.1 Définitions
1.1.2 Solution
Techniques d’optimisation Mai 2017
1.1.2 Solution
Solution admissible
Minimum
- Minimum local
- Minimum global
- Infimum
Problèmes équivalents
- Transformations simples
Contrainte active
Point intérieur
11
1 Bases théoriques Max CERF
1.1 Définitions
1.1.2 Solution
Techniques d’optimisation Mai 2017
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 aRn
(linéaire)
12
1 Bases théoriques Max CERF
1.1 Définitions
1.1.2 Solution
Techniques d’optimisation Mai 2017
1.1.2 Minimum
Minimum global (= meilleure solution dans l’absolu)
• x* minimum global de (PO) x X adm , f(x*) f(x)
• x* minimum global strict x X adm , f(x*) f(x) si x x *
x Xadm x
13
1 Bases théoriques Max CERF
1.1 Définitions
1.1.2 Solution
Techniques d’optimisation Mai 2017
1.1.2 Infimum
Borne inférieure
f : Rn R f bornée inférieurement sur Y Rn
M R / x Y , M f(x)
Infimum
• Infimum de f sur Y = plus grande borne inférieure
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 Max CERF
1.1 Définitions
1.1.2 Solution
Techniques d’optimisation Mai 2017
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
xR n
c I (x) 0 xR n
xR n
16
1 Bases théoriques Max CERF
1.1 Définitions
1.1.2 Solution
Techniques d’optimisation Mai 2017
1.1.2 Exemple
Contrainte active
x 1
min x 2 1 sous
f(x) f(x)=x2
x* 1
xR x 2
x*
x*
18
1 Bases théoriques Max CERF
1.1 Définitions
1.1.2 Solution
Techniques d’optimisation Mai 2017
1.1.2 Exemple
Point intérieur
f(x) f(x)=x2
min x 2 1 sous x 1 x* 0
xR
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 Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation Mai 2017
1.1.3 Différentiabilité
Définitions
- Dérivée partielle
- Dérivée directionnelle
- Gradient – Hessien – Jacobien
Théorème de Taylor
- Ordre 1 et 2
- Modèle quadratique-linéaire
- Ligne de niveau
Dérivées numériques
- Différences finies
- Erreurs numériques
- Incrément
- Dérivée complexe
- Méthode d’extrapolation
20
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation Mai 2017
1.1.3 Gradient
Différentiabilité ordre 1
f fonction continue de Rn dans R
Fonction différentiable
f différentiable en x f admet une dérivée directionnelle pour tout dRn
21
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation Mai 2017
1.1.3 Hessien
Différentiabilité ordre 2
f fonction deux fois différentiable de Rn dans R
22
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation Mai 2017
1.1.3 Jacobien
Matrice gradient
c fonction continue de Rn dans Rm
• 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 Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation Mai 2017
Fonction modèle
• Application du théorème de Taylor au point x0Rn
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 Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation Mai 2017
1.1.3 Exemple
Modèle quadratique : fonction de 1 variable
• 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 ) 4x 4 2x 4 x 2 4x
1 2
2
• Modèle quadratique en x0 = 5 : f ( x 0 ) 0 , f ( x 0 ) 10 , 2 f ( x 0 ) 34
2
26
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation Mai 2017
1.1.3 Exemple
Modèle quadratique : fonction de 2 variables
• Fonction :
f ( x 1 , x 2 ) 100 x 2 x 12 1 x
2
1
2
fonction de Rosenbrock
400 x 2 x 12 x 1 21 x 1
f ( x )
• Gradient :
200 x 2 x 1
2
• Hessien : 2
400 x 2 3x12 2 400x1
f ( x )
400 x 1 200
0 802 400
• Modèle quadratique en x0 = (1,1) : f ( x 0 ) 0 , f ( x 0 ) , 2 f ( x 0 )
0 400 200
T
1 x 1 802 400 x 1 1
f̂ 0 ( x 1 , x 2 ) 1
2 x 2 1 400 200 2
x 1
27
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation Mai 2017
f(x d) hg(x d) h g(x) g(x) T d o d hg(x) hg(x) g(x) T d o d
T
f(x) g(x)hg(x)
Fonction linéaire : g(x) Ax g(x d) Ax Ad g(x) A
T
•
f(x) h Ax f(x) A T h Ax
28
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation Mai 2017
Gradient
x L 0 f(x) f(x 0 ) f(x 0 ) T (x x 0 ) 0 hyperplan tangent à L0 en x0
Le gradient de f est orthogonal aux lignes de niveaux.
f(x1,x2)
x2
x2
x*
x*
f
f
x1 x1 29
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation Mai 2017
1.1.3 Exemple
Ligne de niveau : fonction quadratique
f ( x 1 , x 2 ) x 12 25x 22
x2
0.2
f=0 0,5 1 x1
30
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation Mai 2017
1.1.3 Exemple
Ligne de niveau : fonction de Rosenbrock
f ( x1 , x 2 ) 100 x 2 x12 1 x
2
1
2
5,0
4,0
Lignes de niveau
f=0.5 , 1 , 4 , 7 , 10
3,0
2,0
1,0
Minimum en x*=(1,1)
0,0
-2,5 -2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
-1,0
31
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation Mai 2017
Hessien
2f f(x he i he j ) f(x he i ) f(x he j ) f(x)
• Différence finie simple : (x) o( h )
x i x j h2
n(n+1)/2+n appels fonction pour évaluer 2f(x)
32
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation Mai 2017
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 Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation Mai 2017
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 Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation Mai 2017
1.1.3 Exemple
Dérivée numérique
f ( x ) x 4 x 2 f ' ( x ) 4x 3 2x
•
h2 h3
Développement de f en x0 : f ( x 0 h ) f ( x 0 ) hf ' ( x 0 ) f ' ' ( x 0 ) f ' ' ' ( x 0 ) o h 3
2 6
• Estimation de la dérivée avec un incrément réel h
f (x 0 h) f (x 0 )
h
h
2
h2
f ' (x 0 ) f ' ' (x 0 ) f ' ' ' (x 0 ) o h 2
6
précision de l’ordre de h
Exemple
f ( x ) x 2 f ' ( x ) 2x
f (x 0 h) f (x 0 ) (x 0 h)2 (x 0 )2
• Différence finie réelle : 2x 0 h erreur = h
h h
f ( x 0 ih ) f ( x 0 ) ( x 0 ih ) 2 ( x 0 ) 2
• Différence finie imaginaire : 2ix 0 h 2
h h
f ( x 0 ih ) f ( x 0 )
Im 2x 0 valeur exacte
h
38
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation Mai 2017
A ( h ) a 0 a 1h a 2 h 2 a n h n o ( h n )
39
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation Mai 2017
1.1.3 Extrapolation
Développement de Taylor
• On choisit un incrément h > 0 et un rapport r : 0 < r < 1.
La fonction A est évaluée en m+1 points h0 , h1 , … , hm définis par : h k r k h
1 h h h
Pour r (valeur usuelle) : h 0 h , h1 , h2 , h3 ,
2 2 4 8
• Les m+1 valeurs Ak,0 de rang 0 sont ensuite combinées pour éliminer les termes en h.
→ m valeurs Ak,1 de rang 1
40
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation Mai 2017
1.1.3 Extrapolation
Elimination des termes en h
• On définit les m valeurs Ak,1 de rang 1 à partir des m+1 valeurs Ak,0 de rang 0.
A k ,0 rA k 1,0
A k ,1 pour k = 1 à m
def 1 r
• Ces combinaisons gardent le terme a0 et éliminent les termes en h du développement de Taylor.
A1,1 a 0 b2h 2 bn h n o( h n )
A a 0 b 2 r 2 h 2 b n r n h n o( h n )
2,1
A a 0 b 2 r 4 h 2 b n r 2 n h n o( h n )
3,1
A m ,1 a 0 b 2 r 2 m h 2 b n r mn h n o(h n )
Les termes d’ordre supérieur en h2, … , hn ont les mêmes coefficients b2, … , bn.
1.1.3 Extrapolation
Elimination des termes jusqu’à hm
• On applique la formule de récurrence entre le rang j1 et le rang j.
A k , j1 r jA k 1, j1
A k, j pour k = j à m , et j = 1 à m
def 1 r j
• En pratique on dispose les calculs en colonnes.
Am1,0 Am,1
Am,0
1.1.3 Extrapolation
Dérivée première et seconde
• Pour évaluer les dérivées premières et secondes de f en x0, on définit 2 fonctions A(h) et B(h).
f ( x 0 rh ) f ( x 0 h )
A(h )
(r 1)h
f ( x 0 rh ) rf ( x 0 h ) (r 1)f ( x 0 )
B(h ) 2
r (r 1)h 2
1 r2 1 1 r n 1 n 1 ( n )
A(h ) f ' ( x 0 ) hf ' ' ( x 0 ) h f (x 0 )
2 r 1 n! r 1
1 r2 1 2 r n 1 1 n 2 ( n )
B(h ) f ' ' ( x 0 ) hf ' ' ' ( x 0 ) h f (x 0 )
3 r 1 n! r 1
43
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation Mai 2017
1.1.3 Extrapolation
Dérivée première et seconde
• On choisit un incrément initial h, un rapport r entre 0 et 1 et un ordre d’extrapolation m.
• Les termes de rang 0 des fonctions A(h) et B(h) sont calculés à partir des valeurs fk.
f k 1 f k f k 1 rf k (r 1)f ( x 0 )
A k ,0 A(h k ) B k ,0 B(h k ) 2
(r 1)h k r (r 1)h 2k
• Les termes Am,m et Bm,m de rang m sont des approximations de f(x0) et f (x0).
1.1.3 Exemple
Dérivée par extrapolation
1 1 2
f (x) x 2 f ' ( x ) 2x f ' ' ( x ) 2
x x2 x3
• Dérivée première et seconde en x=1 : f(1) = 1 , f (1) = 4
• Incrément initial : h = 0.1 → ordre d’extrapolation m = 6
hk x+hk f(x+hk)
0,10000000 1,10000000 2,11909091
0,05000000 1,05000000 2,05488095
0,02500000 1,02500000 2,02623476
0,01250000 1,01250000 2,01281057
0,00625000 1,00625000 2,00632788
0,00312500 1,00312500 2,00314450
0,00156250 1,00156250 2,00156738
A0 A1 A2 A3 A4 A5
1,2841991342 1,0074965685 1,0001968322 1,0000025180 1,0000000159 1,0000000000 → f(1) = 1
1,1458478513 1,0020217662 1,0000268073 1,0000001723 1,0000000005
1,0739348088 1,0005255470 1,0000035017 1,0000000113
1,0372301779 1,0001340130 1,0000004476
1,0186820955 1,0000338389
1,0093579672 approximations de f(1)
45
1 Bases théoriques Max CERF
1.1 Définitions
1.1.3 Différentiabilité
Techniques d’optimisation Mai 2017
1.1.3 Exemple
Dérivée par extrapolation
1 1 2
f (x) x 2 f ' ( x ) 2x f ' ' ( x ) 2
x x2 x3
• Dérivée première et seconde en x=1 : f(1) = 1 , f (1) = 4
• Incrément initial : h = 0.1 → ordre d’extrapolation m = 6
hk x+hk f(x+hk)
0,10000000 1,10000000 2,11909091
0,05000000 1,05000000 2,05488095
0,02500000 1,02500000 2,02623476
0,01250000 1,01250000 2,01281057
0,00625000 1,00625000 2,00632788
0,00312500 1,00312500 2,00314450
0,00156250 1,00156250 2,00156738
B0 B1 B2 B3 B4 B5
3,7316017316 3,9850068631 3,9996063356 3,9999949640 3,9999999683 4,0000000000 → f (1) = 4
3,8583042973 3,9959564675 3,9999463855 3,9999996555 3,9999999990
3,9271303824 3,9989489060 3,9999929968 3,9999999775
3,9630396442 3,9997319741 3,9999991049
3,9813858091 3,9999323222
3,9906590657 approximations de f(1)
46
1 Bases théoriques Max CERF
1.1 Définitions
1.1.4 Convexité
Techniques d’optimisation Mai 2017
1.1.4 Convexité
Ensemble convexe
Fonction convexe
47
1 Bases théoriques Max CERF
1.1 Définitions
1.1.4 Convexité
Techniques d’optimisation Mai 2017
1.1.4 Convexité
Ensemble convexe
X Rn convexe x, y X , λ 0,1 , λx (1 λ)y X
Interprétation géométrique : Segment inclus dans X
x x
y y
Non connexe Non convexe Convexe
Fonction convexe
f fonction de Rn dans R
• f convexe x, y R n , λ 0,1 , f λx (1 λ)y λf(x) (1 λ)f(y)
• f strictement convexe x, y R n , λ 0,1 , f λx (1 λ)y λf(x) (1 λ)f(y)
• f concave f convexe
x y
48
1 Bases théoriques Max CERF
1.1 Définitions
1.1.4 Convexité
Techniques d’optimisation Mai 2017
1.1.4 Convexité
Convexité et gradient
f fonction différentiable de XRn 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
49
1 Bases théoriques Max CERF
1.1 Définitions
1.1.4 Convexité
Techniques d’optimisation Mai 2017
1.1.4 Exemple
Fonction convexe f(x)=x3
f(x)
• Fonction : f(x) = x2 f(x)=x2
f’’(x) = 2 convexe sur R
• Fonction : f(x) = x3 x
f’’(x) = 6x convexe sur R+
non convexe sur R
x2
Ensemble convexe
•
Ensemble : X ( x 1, x 2 ) / x 12 x 22 1
convexe
•
Ensemble : X ( x 1, x 2 ) / x 12 x 22 1 x1
non convexe
50
1 Bases théoriques Max CERF
1.1 Définitions
1.1.5 Conditionnement
Techniques d’optimisation Mai 2017
1.1.5 Conditionnement
Préconditionnement
Mise à l’échelle
51
1 Bases théoriques Max CERF
1.1 Définitions
1.1.5 Conditionnement
Techniques d’optimisation Mai 2017
1.1.5 Conditionnement
Conditionnement d’une matrice
A matrice symétrique semi-définie positive
Valeurs propres de A : σ1 σ n A 2
σ1
σ1
Nombre de conditionnement de A : κ(A) A A -1 1
2 2 σn
Conditionnement d’une fonction
f fonction deux fois différentiable
Conditionnement de f en x = nombre de conditionnement de A=H(x)
Interprétation
Vecteur propre dk associé à la valeur propre k : A k d k σ k d k
d Tk H(x)d k
Courbure de f en x dans la direction dk : σk
d Tk d k
Théorème de Rayleigh-Ritz
d1 = direction de plus forte courbure (courbure = 1)
dn = direction de plus faible courbure (courbure = n)
52
1 Bases théoriques Max CERF
1.1 Définitions
1.1.5 Conditionnement
Techniques d’optimisation Mai 2017
1.1.5 Exemple
Matrice 22
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
53
1 Bases théoriques Max CERF
1.1 Définitions
1.1.5 Conditionnement
Techniques d’optimisation Mai 2017
1.1.5 Préconditionnement
Changement de variable
~
x Mx
• Variable : ~ (MRnn 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 x1 54
~
1 Bases théoriques Max CERF
1.1 Définitions
1.1.5 Conditionnement
Techniques d’optimisation Mai 2017
Ax * b Ax * b b Ax *
A(x * Δx b ) b Δb A.Δ x b Δb Δx b A 1Δb
(A ΔA)(x * Δx A ) b A.Δ x A ΔA.x* 0 Δx A A 1 .A . x *
• Majoration de la perturbation
1 A
b Ax * b A . x *
x* b
Δx b Δb
Δx b A 1 . Δb A . A 1 .
Δx b A 1Δb x* b
1
Δx
A A .A . x * 1
Δx A A . ΔA . x * Δx A ΔA
A . A 1 .
x* A
55
1 Bases théoriques Max CERF
1.1 Définitions
1.1.5 Conditionnement
Techniques d’optimisation Mai 2017
1.1.5 Exemple
Système perturbé 22
• Système non perturbé
x 10
1
0.1x 1 x2 2 0.1 1 x 1 2
0.20002x 2x 4.0002 0.20002 2 x 4.0002
x 2 1
1 2 2
0.101 1 x 0.101
• Perturbation A : A 1
0.20002 2 x 2 2.010
2.01 x 990
• Perturbation b : b 1
4.0002 x 2 101.01
x2
Conditionnement : (A) 210001
10 x1
56
1 Bases théoriques Max CERF
1.1 Définitions
1.1.5 Conditionnement
Techniques d’optimisation Mai 2017
Difficultés
• On ne peut pas simultanément mettre toutes les quantités à l’échelle choix expérimental
• Le facteur d’échelle dépend du point x à adapter au cours des itérations
(mise à l’échelle dynamique)
57
1 Bases théoriques Max CERF
1.1 Définitions
1.1.6 Direction de déplacement
Techniques d’optimisation Mai 2017
Direction de descente
- Définition
- Point de Newton
- Point de Cauchy
Direction admissible
Contraintes linéaires
58
1 Bases théoriques Max CERF
1.1 Définitions
1.1.6 Direction de déplacement
Techniques d’optimisation Mai 2017
x2 d1
f(x)
x*
d2
x0
x1
59
1 Bases théoriques Max CERF
1.1 Définitions
1.1.6 Direction de déplacement
Techniques d’optimisation Mai 2017
x0 d2(s)
Point de Newton
1 g0
min f̂(x 0 d) f(x 0 ) g d d T H 0 d
T
0
dR n
2
d n H 01g 0 si H 0 0 xc
xc existe si f est convexe suivant g0 (condition moins forte que H0 définie positive).
61
1 Bases théoriques Max CERF
1.1 Définitions
1.1.6 Direction de déplacement
Techniques d’optimisation Mai 2017
Ensemble convexe
Xadm convexe, yx, x,yXadm [x,y] Xadm
d=yx est une direction admissible à partir de x
Point intérieur
x point intérieur à Xadm x d
Toute direction d Rn est admissible à partir de x
62
1 Bases théoriques Max CERF
1.1 Définitions
1.1.6 Direction de déplacement
Techniques d’optimisation Mai 2017
63
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
1.1 Définitions
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
1.2.2 Direction admissible
1.2.3 Réduction
1.2.4 Projection
1.3 Contraintes non linéaires
1.4 Conditions d’optimalité
64
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation Mai 2017
Application linéaire
- Matrice d’une application linéaire
- Espace nul
- Espace image
Matrice
- Valeurs et vecteurs propres
- Matrices particulières
- Factorisations
Système linéaire
- Solutions
- Contraintes redondantes
Inversion matricielle
- Formule de Sherman-Morrison-Woodbury
65
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation Mai 2017
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 ARnn 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
67
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation Mai 2017
1.2.1 Exemple
Valeurs propres d’une matrice 22
a a 12
• Matrice A : A 11
21
a a 22
a 11 a 12
• Valeurs propres : det(A I) 0 0 (a 11 )(a 22 ) a 12 a 21 0
a 21 a 22
2 (a 11 a 22 ) a 11a 22 a 12 a 21 0
1
a 11 a 22 (a 11 a 22 ) 2 4(a 11a 22 a 12 a 21 )
2
68
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation Mai 2017
1.2.1 Exemple
Diagonalisation matrice symétrique 22
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
69
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation Mai 2017
1.2.1 Permutation
Permutation de colonnes
1 j k n
1
ARmn, matrice à m lignes, n colonnes A
m
1
1 0 0 0
1 j k n
0 0 1
j 0
1
E AE
m
k 0
1 0 0
n 0 0 0 1
70
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation Mai 2017
1.2.1 Factorisation
Factorisation de matrice
ARmn, matrice à m lignes, n colonnes avec m < n
A de rang plein : rang(A) = m < n
1 j k n
1
A
m
71
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation Mai 2017
1.2.1 Factorisation LU
Factorisation LU 1 j k n
1
ARmn, matrice à m lignes, n colonnes A
m
• Matrice carrée nn
L nn triangulaire inférieure
AE LU
U nn triangulaire supérieure
L1T LT2 T
• Base de l’espace nul : Z E
T
U
I
Méthode de factorisation LU
Méthode d’élimination de Gauss (ou méthode du pivot de Gauss)
72
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation Mai 2017
1.2.1 Factorisation QR
Factorisation QR 1 j k n
1
ARmn, matrice à m lignes, n colonnes A
m
Méthode de factorisation QR
Méthode de Householder ou méthode de Givens
73
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation Mai 2017
AE QR E T A T AE R T Q T QR R T R car Q orthogonale
R L
1
Q AER
74
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation Mai 2017
1.2.1 Exemple
Factorisation LDLT d’une matrice 33
A L D LT
a 11 a 21 a 31 1 0 0 d1 0 0 1 l 21 l 31
a 21 a 22 a 32 l 21 1 0 0 d2 0 0 1 l 32
a a 33 l 31 1 0 d 3 0 0 1
31 a 32 l 32 0
• Résolution directe
d1 a 11 d1 , d2 , d3 > 0
a 11 d1
si A est définie positive
a
a 21 d1l 21 l 21 21
d1 sinon on modifie dj
a 31 d1l 31 a 31 en cours de factorisation
l 31 dj = max( , dj) , > 0
d1
a 22 d1l 221 d 2 d 2 a 22 d1l 221
a d l l d l
32 1 31 21 2 32 l 32 a 32 d1l 31l 21
d2
a 33 d1l 31
2
d 2 l 32
2
d3 d a d l 2 d l 2
3 33 1 31 2 32
75
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation Mai 2017
1.2.1 Exemple
Factorisation LDLT d’une matrice 22
A L D LT d1 a 11
a 21
a 11 a 21 1 0 d1 0 1 l 21 l 21
21
a a 22 21
l 1 0 d 2 0 1 d1
d 2 a 22 d1l 221
• Exemple
1 1001.60
Valeurs propres de A :
2 0.39936
76
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation Mai 2017
• Algorithme
Pour j = 1,2,…,n Modification pour rendre dj > 0
j1 (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
j1
d j
c ij a ij d s l is l js
s 1 m ij l ij d j , i j 1,..., n
c ij
l ij Paramètres : > 0 petit ( = 10-3)
dj >0 ( = 1)
Fin boucle i
Fin boucle j
77
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation Mai 2017
Im(A) y Ax, x R n r = dim(Im(A)) m,n
Solutions possibles
• Pas de solution : système incompatible (m>n : plus d’équations que d’inconnues)
• Solution unique : système non singulier (m=n : autant d’équations que d’inconnues)
• Infinité de solutions : système sous-déterminé (m<n : moins d’équations que d’inconnues)
Problème d’optimisation
Contraintes linéaires Ax=b système sous-déterminé (m<n)
n-m inconnues «libres» permettant de minimiser le critère
78
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation Mai 2017
A Ã
1 n 1 n
1 l1
lr
l r 1
m
l m
79
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation Mai 2017
B A UV T
B1 A 1 A 1U I V T A 1U
1
V T A 1
I UV T A1 UV T A1 I
80
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation Mai 2017
Polytope
Forme standard
Sommet
Base
Solution de base
Direction de base
81
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation Mai 2017
1.2.2 Polytope
Définition
Polytope P dans Rn
P x R n / Ax b A Rmn , 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
82
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation Mai 2017
1.2.2 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
84
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation Mai 2017
1.2.2 Sommet
Sommet
Polytope P dans Rn sous forme standard
P x R / Ax b , x 0
n
A Rmn, b Rm
A de rang plein : rang(A)=r=mn
Définition
x P est un sommet de P
sommets
On ne peut pas trouver y,zP, différents de x
tels que x soit combinaison convexe de y et z non sommets
i.e. x = y + (1- )z avec 0<<1
Existence
Tout polytope non vide possède au moins un sommet.
85
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation Mai 2017
1.2.2 Base
Base
Polytope P dans Rn sous forme standard
P x R n / Ax b , x 0
A Rmn, b Rm
B N
1 m m 1 k 1 k k 1 n
1
m
n m
AE B N
m
86
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation Mai 2017
« solutions de base »
87
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation Mai 2017
B 1b
• On obtient y z x en contradiction avec l’hypothèse que x n’est pas un sommet de P
0
88
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation Mai 2017
•
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
90
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation Mai 2017
Sens direct : xRn est un sommet de P x est une solution de base admissible de P
• On suppose par contraposée que x n’est pas une solution de base admissible.
m n m E T x x B
• En décomposant suivant les composantes B et N : AE B N x
avec B,N choisies telles que xB > 0 N
• x n’est pas une solution de base admissible Il existe au moins une composante xNk 0
d Bk B 1 A.,k
T
1 m m 1 k 1 k k 1 n
E d k
ek d 1 d m 0 0 1 0 0
T k
On construit la direction dk
(dite kème direction de base) N
d 0
Ad k Bd Bk Nd Nk BB 1 A.,k Nd Nk A.,k A.,k 0 car N d Nk A.,k
k
A x d k Ax Ad k b
avec A.,k = kème colonne de AE, dk a toutes ses composantes hors base nulles sauf la kème = 1
xB 0 Ax b
• Comme , on peut se déplacer suivant dk et +dk d’un pas petit en conservant x 0
x Nk 0
On obtient 2 points y et z de P tels que x = y + (1- )z avec 0<<1
x n’est pas un sommet de P. 91
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation Mai 2017
1.2.2 Exemple
Recherche des solutions de base
Polytope P dans R4 sous forme standard
1 1 1 0 1
P x1 , x 2 , x 3 , x 4 / Ax b , x 0 avec A , b
1 1 0 1 1
• On utilise les contraintes pour réduire le problème à (x1,x2)
x x 2 x 3 1 x 3 1 x 1 x 2
Ax b 1
1
x x 2 x 4 1 x 4 1 x 1 x 2
x 0 x x2 1
x 0 3 1
x 4 0 x 1 x 2 1
x x x 2 1 x 1 0
P' 1 / 1 ,
x 2 x 1 x 2 1 x 2 0
x1
x x
• Les polytopes P dans R et P’ dans R sont équivalents : x 2 P x 1 P'
4 2
3 2
x4
Remarque : P = forme standard de P’
92
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation Mai 2017
1.2.2 Exemple
Recherche des solutions de base
• Représentation de P’ dans R2 x2
x x x 2 1 x 1 0
P' 1 / 1
1 C
,
x 2 x 1 x 2 1 x 2 0
x1+x2=1
représentation des valeurs possibles de (x1,x2)
pour (x1,x2,x3,x4) P
x1 P
1 1 1 0 x 2 1
• Contraintes de P : Ax b B
1 1 0 1 x 3 1
A
4 variables 2 contraintes
x4 0 1 x1
• Base de P
choisir 2 colonnes indépendantes de A
6 combinaisons possibles
x1x2=1
• Solution de base
fixer les 2 variables hors base xN à 0
calculer les 2 variables de base xB pour vérifier Ax=b D
base admissible si xB 0
93
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation Mai 2017
1.2.2 Exemple
Recherche des solutions de base
Examen des 6 bases possibles de P x2
1 1 1 0 1 1 C
A , b x B B 1b
1 1 0 1 1
x1+x2=1
1 1 0,5 0,5 1
• Base (x1,x2) : B
1 1 , B -1
0,5 0,5 B 0
, x
x = (1 0 0 0) admissible point B P
A B
1 1 0 1 1 x1
• Base (x1,x3) : B
1 0 , B -1
, x B 0 1
1 1 0
x = (1 0 0 0) admissible point B
1 0 1 0 1 x1x2=1
• Base (x1,x4) : B , B -1 , x B
1 1 1 1 0
x = (1 0 0 0) admissible point B D
94
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation Mai 2017
1.2.2 Exemple
Recherche des solutions de base
Examen des 6 bases possibles de P x2
1 1 1 0 1 1 C
A , b x B B 1b
1 1 0 1 1
x1+x2=1
1 1 0 1 1
• Base (x2,x3) : B
1 0 , B -1
, x B
1 1 2
x = (0 1 2 0) non admissible point D P
A B
1 0 1 0 1 x1
• Base (x2,x4) : B
1 1 , B -1
, x B 0 1
1 1 2
x = (0 1 0 2) admissible point C
1 0 1 0 1 x1x2=1
• Base (x3,x4) : B , B -1 , x B
0 1 0 1 1
x = (0 0 1 1) admissible point A D
95
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation Mai 2017
d
dRn direction de déplacement : E T d B
dN
Direction admissible
Ad 0
d direction admissible en x (contraintes linéaires)
d i 0 si x i 0
Ad 0 Bd B Nd N 0 d B B1 Nd N
d B B 1 Nd N
d direction admissible en x d N 0 car x N 0
d Bi 0 si x Bi 0 (solution de base dégénérée)
« directions de base »
96
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation Mai 2017
• Définition d kB B 1A ., k
T
1 m m 1 k 1 k k 1 n
La kème direction de base en x est : E d k e k d1 d m 0 0 1 0 0
T k
N
d 0
• Interprétation géométrique : directions de base = arêtes du polytope en x
97
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation Mai 2017
d α
k hors base
k dk avec dk = kème direction de base en x
98
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation Mai 2017
dB B 1 A.,k
• On obtient pour d : d d k
d N k N ek
B 1 A.,k
avec d d = combinaison linéaire des dk
k
= kème direction de base
ek
99
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation Mai 2017
1.2.2 Exemple
Recherche des directions de base
Polytope P dans R4 sous forme standard x2
P x1 , x 2 , x 3 , x 4 / Ax b , x 0 1 C
1 1 1 0 1 x1+x2=1
avec A , b
1 1 0 1 1
• Direction de base en une solution de base admissible
choisir une variable hors base (k) P
fixer la composante hors base correspondante dNk à 1 A B
fixer les autres composantes hors base dN à 0
calculer les composantes en base dB par B1A.,k 0 1 x1
100
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.2 Direction admissible
Techniques d’optimisation Mai 2017
1.2.2 Exemple
Recherche des directions de base
Examen de directions de base de P x2
1 1 1 0 1 C
A
1 1 0 1
x1+x2=1
• Base admissible (x2,x4) : x = (0 1 0 2) point C
d 3
1 0 1 0 d1
B , B
-1
1 1 1 1 P
• Direction de base d1 correspondant à la variable hors base x1 A B
1 0 1 1
d B B -1A .,1 0 1 x1
1 1 1 2
d1 = (1 1 0 2) admissible
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 x1x2=1
0,5 0,5 0 0,5
d B B -1A ., 4
0,5 0,5
1 0,5 D
d4 = (0,5 0,5 0 1) admissible
103
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation Mai 2017
1.2.3 Réduction
Principe
Méthode générale
Interprétation géométrique
104
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation Mai 2017
1.2.3 Réduction
Problème sous contraintes linéaires
minn f(x) sous Ax b , A Rmn, b Rm, A de rang plein r=mn
xR
Principe de réduction
On utilise les m contraintes pour réduire le problème à nm variables.
Le déplacement p est décomposé en 2 termes : p = plibre + plié , plibreRn , plié Rn
• plibre dépend de nm 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 nm variables libres (pZ)
106
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation Mai 2017
• Coût réduit
f ( x ) f ( x 0 p) f x 0 YAY b b 0 I YAY A Zp Z
1 1
(p Z ) coût réduit = fonction de nm variables
noté
107
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation Mai 2017
p Yp Y Zp Z YAY b b 0 Zp Z
1
Problème réduit
min f(x 0 p) sous A(x 0 p) b
pR n
p Z R n -m
min (p Z ) f x 0 YAY b b 0 Zp Z
1
108
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation Mai 2017
Problème réduit
minn f(x 0 p) sous A(x 0 p) b
pR p N R
minn-m (p N ) f x 0B B 1 b b 0 Np N , x 0N p N
109
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation Mai 2017
• 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
110
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.3 Réduction
Techniques d’optimisation Mai 2017
x2
pZ
pN
Ax=b
pB
x1
111
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.4 Projection
Techniques d’optimisation Mai 2017
1.2.4 Projection
112
1 Bases théoriques Max CERF
1.2 Contraintes linéaires
1.2.4 Projection
Techniques d’optimisation Mai 2017
1.2.4 Projection
Projection orthogonale sur un hyperplan
La projection orthogonale de x0Rn 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
113
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
1.1 Définitions
1.2 Contraintes linéaires
1.3 Contraintes non linéaires
1.3.1 Direction admissible
1.3.2 Déplacement admissible
1.4 Conditions d’optimalité
114
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.1 Direction admissible
Techniques d’optimisation Mai 2017
Indépendance linéaire
115
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.1 Direction admissible
Techniques d’optimisation Mai 2017
On se ramène au cas de contraintes linéaires avec A = c(x0)T (gradient des contraintes actives)
116
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.1 Direction admissible
Techniques d’optimisation Mai 2017
1.3.1 Exemple
Indépendance linéaire
• 1 contrainte égalité + 1 contrainte inégalité dans R2
x1 c1 ( x ) x 2 x 12 0
x R 2
x 2 c 2 ( x ) x 2
1 x 2 12
1 0
2,0
1
• En x
1 1,5
2 2
c1 c 2
1 0 1,0
linéairement indépendants
0,5
0
• En x
0 0,0
-2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0
0 0
c1 c 2
1 2
-0,5
117
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.1 Direction admissible
Techniques d’optimisation Mai 2017
Applicabilité
• Applicable aux contraintes inégalité et aux contraintes égalité linéaires
d
d
118
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.1 Direction admissible
Techniques d’optimisation Mai 2017
x
d
119
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.1 Direction admissible
Techniques d’optimisation Mai 2017
Le cône des directions D(x) en x est l’ensemble des directions dRn 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
122
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation Mai 2017
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 nm autres à partir des contraintes.
On substitue dans l’expression de f problème sans contraintes
• Réduction généralisée
On linéarise les contraintes en x0.
On applique la méthode de réduction des contraintes linéaires (matrices Y et Z).
On corrige le déplacement pour prendre en compte les non-linéarités.
123
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation Mai 2017
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
124
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation Mai 2017
1.3.2 Exemples
3,0
contrainte
Elimination directe lignes de f2,0
• Exemple 1 : min x 12 x 22 sous x 12 x 22 1
x1 , x 2
1,0
Elimination de x1 : x x 1 x 1 x
2
1
2
2
2
1
2
2 x*
0,0
min 1 2x 2
2 x2 0 -3,0 -2,0 -1,0 0,0 1,0 2,0 3,0
x2 -1,0
x 1
Solution correcte : x 1 0 -2,0
2
-3,0
1,5
• Exemple 2 : min x 12 x 22 sous x 12 4x 22 1 contrainte
x1 , x 2
lignes de f 1,0
Elimination de x1 : x 4x 1 x 1 4x
2 2 2 2
1 2 1 2 x*
0,5
min 1 3x 22 x 2
x2
0,0
Solution incorrecte -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5
Contrainte implicite : x 1 0 1 4x 2 0
2 2
-0,5
1 1
x2 -1,0
2 2
à prendre en compte explicitement dans la résolution -1,5
125
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation Mai 2017
x1
• Etape de restauration
Les contraintes actives (non linéaires) ne sont pas respectées en x1. p1
Le déplacement p2 restaure un point admissible à partir du point x1.
linéarisation des contraintes en x1 x0
résolution d’un système sous-déterminé c(x)=0
On obtient un nouveau point : x2 = x1 + p2
c(x)=c1
• Le point x2 doit être : - admissible pour l’ensemble des contraintes (actives et inactives en x0)
- meilleur que x0 (f(x2) < f(x0))
126
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation Mai 2017
pR n
p Z R n -m
min f(x 0 p) sous A 0 p b 0 min (p Z ) f x 0 YA 0 Y b 0 Zp Z
1
c(x)=0
problème à nm variables sans contraintes c(x)=c1
déplacement p1
• Le nouveau point x1 = x0 + p1 x0 p1 x1
- est meilleur que x0 : f(x1) < f(x0)
- ne vérifie pas les contraintes : c(x1) = c1 0
127
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation Mai 2017
128
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation Mai 2017
1.3.2 Restauration
Résolution du système
A1 c(x1 ) T c(x 0 ) T A 0
Le déplacement p2 doit vérifier : A1p b1 avec
b1 c(x1 ) c1
• Solution de norme minimale projection sur l’hyperplan tangent aux contraintes actives
minn p sous A1p b1
pR
1
p 2 A1T A1A1T b1 (cf §1.2.4)
p2
c(x)=0
p1 x1
x0
c(x)=c1
c(x1)
c(x0) 129
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation Mai 2017
1.3.2 Restauration
Itérations
• La résolution est basée sur une linéarisation du système en x 1.
A1p b1 avec A1 c(x1 ) c(x 0 ) A 0
T T
déplacement p2
1
b c(x 1 ) c1
130
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation Mai 2017
1.3.2 Restauration
Illustrations
Restauration en plusieurs itérations : p2 , p3 Restauration infructueuse (non linéarité)
c(x)=0 p3 c(x)=0 p2
c(x)=c1 x0 p2 c(x)=c1 x0
p1 p1
x1 x1
p2
c(x)=0 lignes de f
x0 p1 x1
131
1 Bases théoriques Max CERF
1.3 Contraintes non linéaires
1.3.2 Déplacement admissible
Techniques d’optimisation Mai 2017
Correction d’ordre 2
• On corrige la direction de déplacement pour prendre en compte la non-linéarité des contraintes.
p1 = pas d’ordre 1 (en supposant des contraintes linéaires)
p2 = pas d’ordre 2 (correction des non linéarités constatées en x1 = x0 + p1)
A1 c(x 0 ) T
A1p 2 b1 avec
p 2 A1T A1A1T b1
1
b1 c(x 0 p1 )
• Pas total : pt = p1 + p2 direction de recherche.
pt p2
c(x)=0
p1 x1
x0
c(x)=c1
c(x0) 132
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
1.1 Définitions
1.2 Contraintes linéaires
1.3 Contraintes non linéaires
1.4 Conditions d’optimalité
1.4.1 Dualité
1.4.2 Problème sans contraintes
1.4.3 Problème avec contraintes
1.4.4 Problème linéaire
1.4.5 Problème quadratique
133
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
1.4.1 Dualité
Problème dual
- Dualité faible
- Saut de dualité
- Point col
- Dualité forte
Programmation linéaire
- Problème primal
- Problème dual
134
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
1.4.1 Dualité
Problème avec contraintes égalité
minn f(x) sous c(x) 0 m contraintes d’égalité (= contraintes actives)
xR
Dualité
Difficulté de résolution due aux 2 objectifs antagonistes :
• Minimiser le critère f(x) min f ( x )
x
Méthodes duales
Prise en compte des contraintes avec pondération dans la fonction coût
• Critère augmenté pondération = pénalisation des contraintes
• Lagrangien pondération = multiplicateurs de Lagrange
• Lagrangien augmenté pondération = pénalisation + multiplicateurs
135
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
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
136
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
1.4.1 Exemple
Critère augmenté
min
1 2
x ,x 2
1 2
x 2 x 12 sous x 1 1 f x 1 , x 2
2
2
x 2 x 12 x 1 1
1 2 1 2
x * ()
0
1
1
f ( x ) x 22 x 12
2
x* 1 0 2,0
=1
2,0
=10
1,5 1,5
c( x ) x 1 1 1,0 1,0
0,5 0,5
=0 0,0 0,0
2,0
-1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5 -1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5
1,5
-1,0 -1,0
1,0
-1,5 -1,5
0,5
-2,0 -2,0
-1,0 -0,5
0,0
0,0 0,5 1,0 1,5 2,0 2,5
=2 =100
-0,5 2,0 2,0
1.4.1 Exemple
Problème de la boîte
• Réaliser une boîte cylindrique de volume donné V0 et de surface S minimale
r
Dimensions : hauteur = h , rayon = r
Surface : S 2r 2 2rh
Volume : V r 2 h
h
• Formulation avec contrainte (en divisant S et V par )
min f (h, r ) 2r 2 2rh sous c(h, r ) r 2 h 2v 0 0 avec V0 2 v 0
h ,r
Solution exacte
2v 0
• La contrainte permet d’éliminer h : h
r2
2 4v 0 1 1
En reportant dans la fonction coût : min 2r r v 0 h 2v 0 3
3
r r
2
• Valeur optimale du coût : f 6v 0 3
138
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
1.4.1 Exemple
Solution par pénalisation
• Formulation avec contrainte
r
min f (h, r ) 2r 2 2rh sous c(h, r ) r 2 h 2v 0 0
h ,r
• Formulation pénalisée h
1
min f (h, r ) 2r 2 2rh (r 2 h 2v 0 ) 2
h ,r 2
f
0 2r r 2 (r 2 h 2v 0 ) 0
Conditions de minimum : h
f
0 4r 2h 2rh (r 2 h 2v ) 0
r 0
139
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
1.4.1 Exemple
Application numérique
• Volume : v0 = 1000
r
Résolution numérique de : r (r 3 v 0 ) 1 0 r , h 2r
r h f c
0.001 9.641582 19.28316 557.761 792.565 Pénalisation faible
0.01 9.966442 19.93288 595.980 979.933 Contrainte mal respectée
0.1 9.996664 19.99333 599.600 997.999 Écart important à la solution exacte
1 9.999667 19.99933 599.960 999.800
10 9.999967 19.99993 599.996 999.980
100 9.999997 19.99999 600.000 999.998 Pénalisation forte
Contrainte bien respectée
Écart faible à la solution exacte
140
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
1.4.1 Lagrangien
Problème avec contraintes égalité et inégalité
Multiplicateurs de Lagrange
1 multiplicateur par contrainte
• Rp multiplicateurs des contraintes d’égalité
• Rq multiplicateurs des contraintes d’inégalité
j1 j1
141
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
142
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
1.4.1 Exemple
Lagrangien augmenté
• Fonction de 2 variables
1
min x 22 x12 sous x1 1 minimum en x* = (1 0)
x1 , x 2 2
* = 1
• Critère augmenté
1
2
1
2
f x 1 , x 2 x 22 x 12 x 1 1
2
minimum en x * () 0
1
• Lagrangien augmenté
2
L x1 , x 2 , x 22 x12 x1 1 x1 1 minimum en x * (, )
1 1
2
2
1
0
Pour = * = 1, le minimum sans contrainte du lagrangien augmenté
1
est la solution x* du problème initial. x * (, *) 0 1 0
1
2,0
x1
=2 =1
1,5
1,0
=0
0,5
0,0
2,0 4,0 6,0 8,0 10,0 12,0 14,0 143
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
1.4.1 Exemple
Lagrangien augmenté
min
1 2
x 2 x 12 sous x 1 1 L x 1 , x 2 ,
1 2
1 2
x 2 x 12 x 1 1 x 1 1 x * () 0
x ,x 2
1 2 2 2 1
1
f ( x ) x 22 x 12
2
x* 1 0 2,0
=1 , =1
2,0
=10 , =1
1,5 1,5
c( x ) x 1 1 * 1 1,0 1,0
0,5 0,5
=0 0,0 0,0
2,0
-1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5 -1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5
1,5
-1,0 -1,0
1,0
-1,5 -1,5
0,5
-2,0 -2,0
-1,0 -0,5
0,0
0,0 0,5 1,0 1,5 2,0 2,5
=2 , =1 =100 , =1
-0,5 2,0 2,0
-1,0 1,5 1,5
1,0 1,0
-1,5
0,5 0,5
-2,0
0,0 0,0
-1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5 -1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5
-1,0 -1,0
-1,5 -1,5
-2,0 -2,0
144
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
1.4.1 Exemple
Lagrangien augmenté
=10 2,0
=10 =10
2,0 2,0
1,5 1,5 1,5
1,0 1,0 1,0
0,5 0,5 0,5
0,0 0,0 0,0
-1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5 -1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5 -1,0 -0,5
-0,5 0,0 0,5 1,0 1,5 2,0 2,5
-1,0 -1,0 -1,0
-1,5 -1,5 -1,5
-2,0 -2,0 -2,0
145
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
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
xR 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
148
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
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.
149
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
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.
150
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
L(x,)
(x*,*)
151
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
(λ, μ) X w c A T λ μ 0
L(x, λ, μ) T b w(λ , μ) λ T b
153
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
154
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
• 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
155
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
i i
n
by
• Une contrainte = de niveau bi donne une variable yj R de coût bi : a ij x j b i
j1 y i R
généralisation à un problème linéaire quelconque (signe des variables, sens des contraintes)
156
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
A1 x 1 B1 x 2 C1 x 3 b1 , b1 R m m1 égalités
1
A x B x C x b , b R m m inégalités inférieur
2
2 1 2 2 2 3 2 2 2
sous A 3 x 1 B3 x 2 C 3 x 3 b 3 , b 3 R m3 inégalités supérieur
m
min c1T x 1 c T2 x 2 c 3T x 3
3
x 1 R n1
x 2 R n 2 x 1 0 n1 variables positives
x 3 R n3 x 2 0 n2 variables négatives
x 3 R n
3
n3 variables libres
B T y B T y B T y c , c R n n inégalités supérieur
2
1T 1 2 2 3 3 2 2 2
sous C1 y1 mC 2 y 2 C 3 y 3 c 3 , c 3 R n3 égalités
T T n
max b1T y1 b T2 y 2 b 3T y 3
3
y1 R m1
y1 R
1
m1 variables libres
y 2 R m 2
y 3 R m3 y 2 0 m2 variables négatives
y 3 0 m3 variables positives
157
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
• La fonction duale est définie par : w(λ , μ) min L(x, λ, μ) bornée si les coefficients
x
de x1,x2,x3 sont nuls
158
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.1 Dualité
Techniques d’optimisation Mai 2017
1.4.1 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 5y1 6y 2 4y 3 sous
3y 2 y 3 3
y1 , y 2 , y 3
y1 R , y 2 0, y 3 0
160
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.2 Problème sans contraintes
Techniques d’optimisation Mai 2017
Méthode pratique
Exemples
161
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.2 Problème sans contraintes
Techniques d’optimisation Mai 2017
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
• Ordre 2 :
1 T 2
f(x * d) f(x*) f(x*)T d
2
d f(x*)d o d
2
1 T 2
f(x*) d f(x*)d o d
2
2
car f(x*) 0
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
163
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.2 Problème sans contraintes
Techniques d’optimisation Mai 2017
Méthode pratique
• Recherche des points stationnaires en résolvant : f(x*) = 0
Un point stationnaire peut être un minimum local, un maximum local ou un point selle.
• Vérification de la condition d’ordre 2 : calcul des dérivées secondes
valeurs propres du hessien 0
garantit l’obtention d’un minimum local x*
Minimum global
x* minimum local
• f convexe x* minimum global
• f strictement convexe x* unique minimum global
• f quelconque (cas général) On ne peut pas vérifier que x* est un minimum global.
164
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.2 Problème sans contraintes
Techniques d’optimisation Mai 2017
1.4.2 Exemples
Exemple 1 5,0
• Gradient : 2,0
400x 13 400x 1 x 2 2x 1 2
f ( x 1 , x 2 )
200x 2 200x 1 2
1,0
• Hessien : 0,0
1200x 1 400x 2 2 400x 1
2 -2,5 -2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
f ( x 1 , x 2 )
2
-1,0
400 x 1 200
400x 13 400x 1 x 2 2x 1 2 0 x 1 1 1
• Point stationnaire : f ( x 1 , x 2 ) 0 x x 2 x*
200 x 2 200 x 2
1 0 2 1 1
1.4.2 Exemples
Exemple 2
Fonction : f ( x 1 , x 2 ) x 14 x 42
4x 13
• Gradient : f ( x 1 , x 2 ) 3
4 x 2
12x 12 0
• Hessien : f ( x 1 , x 2 )
2
2
0 12x 2
x 0 0
• Point stationnaire : f ( x 1 , x 2 ) 0 1 x*
x 2 0 0
0 0 0
• Valeurs propres du hessien : 2 f ( x*) 1
2f(x*) est semi-défini positif 0 0 2 0
1.4.2 Exemples
Exemple 3 1,0
Fonction : f ( x1 , x 2 ) x x
2
1
3
2
0,5
2x1
• Gradient : f ( x 1 , x 2 )
2
3x 2 0,0
-1,0 -0,5 0,0 0,5 1,0
2 0
• Hessien : 2 f ( x 1 , x 2 ) -0,5
0 6 x 2
-1,0
x 0 0
• Point stationnaire : f ( x 1 , x 2 ) 0 1 x*
x 2 0 0
2 0 2
• Valeurs propres du hessien : 2 f ( x*) 1
2f(x*) est semi-défini positif 0 0 2 0
Interprétation géométrique
Méthode pratique
Exemples
Sensibilité
- Sensibilité aux niveaux de contrainte
- Sensibilité aux paramètres de modèle
168
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
Conditions nécessaires
x* minimum local f(x*)Td 0 pour toute direction d admissible à la limite en x*
Méthode directe
Nécessite de connaître l’ensemble des directions admissibles en x*
• Cas de contraintes linéaires
Définition des directions admissibles à partir des directions de base (§1.2.2)
• Cas de contraintes non linéaires
Définition des directions admissibles à la limite
Pas de caractérisation des directions admissibles dans le cas général
sauf hypothèse de qualification des contraintes : cône des directions (§1.3.1)
Méthode indirecte
A partir des multiplicateurs de Lagrange
Conditions d’optimalité dans le cas général
169
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
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
minn-m g(xN ) f B 1 b Nx N , x N
• Condition nécessaire d’ordre 1 du problème réduit : g(x N *) 0
f ( x )
g(x N ) f B 1 b Nx N , x N
avec f(x) B
N f ( x )
T
g(x N ) B 1 N B f ( x ) N f ( x )
• On définit : B T B f ( x ) B f ( x ) B T 0
g(xN ) N T N f ( x )
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 dR 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
174
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
kc( xk ) c( xk )T c( xk ) c( xk )T f ( xk ) ( xk x*)
1
176
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
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
177
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
1.4.3 Exemple
Conditions nécessaires
2,0
1
min x 22 x 12 sous x 1 1
x1 , x 2 2
1,5
1,0
Lagrangien : Lx 1 , x 2 , x 22 x 12 x 1 1
1 0,5
0,0
2 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
-0,5
• Conditions nécessaires d’ordre 1 -1,0
x 1 μ 0 1
-1,5
x 2 0 vérifiées en x* , * 1
-2,0
x 1 1
0
μ 0
μ x 1 1 0
• Conditions nécessaires d’ordre 2 T
d1 1
d direction tangente aux contraintes actives : d c(x*) 0 0 d1 0
T
T d2 0
d 1 0 d1
d T 2xx L(x*, μ*)d 1 d12 d 22 d 22 0 qui est vérifié pour tout d
d2 0 1d2
1
x* , * 1 vérifie les conditions nécessaires d’ordre 1 et 2.
0
178
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
1.4.3 Exemple
Conditions nécessaires
2,0
1
min x 22 x 12 sous x 1 1
x1 , x 2 2
1,5
1,0
Lagrangien : Lx 1 , x 2 , x 22 x 12 x 1 1
1 0,5
0,0
2 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5
-0,5
• Conditions nécessaires d’ordre 1 -1,0
x 1 μ 0 0 -1,5
x 2 0 vérifiées en x* , * 0
-2,0
x 1 1
0
μ 0
μ x 1 1 0
• Conditions nécessaires d’ordre 2
Aucune contrainte n’est active en x1=0. Pour toute direction d on doit avoir :
T
d 1 0 d1 1
d T 2xx L(x*, μ*)d 1 d12 d 22 0 qui n’est pas vérifié pour d
d2 0 1 d2 0
0
x* , * 0 vérifie les conditions nécessaires d’ordre 1, mais pas d’ordre 2.
0
179
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
• Dans le cas général, il faut définir le lagrangien avec un multiplicateur 0 sur le critère.
1.4.3 Exemple
Multiplicateur du critère
Lagrangien :
Lx1 , x 2 , , 0 0 x1 x12 x 22 avec 0 0
• Si l’on écrit le lagrangien sans le multiplicateur 0, les conditions KKT sont
1 2x1 0 x 0
solution
x1 0 ( critère indifférent)
2x 2 0 2
x12 x 22 0
181
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
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
182
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
• Au voisinage de x* : L ρ (x*, λ*) L ρ (x, λ*) f(x*, λ*) f(x, λ*) ,x / c(x) 0
x* est un minimum local de f
183
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
1.4.3 Exemple
Conditions suffisantes
2,0
1
min x 22 x 12 sous x 1 1
x1 , x 2 2
1,5
1,0
1 0,5
x* , * 1 vérifie les conditions nécessaires 0,0
0 -1,0 -0,5
-0,5
0,0 0,5 1,0 1,5 2,0 2,5
-1,0
• Conditions suffisantes d’ordre 1 -1,5
Contrainte active multiplicateur > 0 -2,0
x * 1 0 * 1 0
1
x* , * 1 vérifie les conditions suffisantes d’ordre 1 et 2 minimum local strict.
0
184
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
1.4.3 Exemple
Remarque sur la condition d’ordre 2
2,0
1
1
min x 22 x 12 sous x 1 1 x* , * 1
x1 , x 2 2
1,5
0 1,0
1 1 0,5
d est une direction admissible en x* 0,0
0 0 -1,0 -0,5
-0,5
0,0 0,5 1,0 1,5 2,0 2,5
0
x* , * 0 vérifie les conditions suffisantes d’ordre 1 et 2
0 sauf la condition de complémentarité
185
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
• 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)
186
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
x2
min f(x1 , x 2 ) sous c E (x1 , x 2 ) 0
f décroissante x1 , x 2
x*
f
cE = 0
x1
187
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
x2
min f(x1 , x 2 ) sous c I (x1 , 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
188
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
x2 c (x , x ) 0
min f(x1 , x 2 ) sous E 1 2
f décroissante x ,x
1 2 c I (x1 , x 2 ) 0
f ( x*) c E ( x*) c I ( x*) 0
0
f cE
cI < 0
Sur le schéma :
• f(x1, x2) = x1 à minimiser
• < 0 ( 1.5)
x* • > 0 ( 1.5)
f
cI = 0
cE = 0 cI cE
x1
189
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
x2 c (x , x ) 0
min f(x1 , x 2 ) sous I1 1 2
f décroissante x ,x
1 2 c I2 (x1 , x 2 ) 0
cI2 f ( x*) 1c I1 ( x*) 2 c I 2 ( x*) 0
1 0
f 2 0
cI1 < 0
cI2 < 0
Sur le schéma :
• f(x1, x2) = x1 à minimiser
cI2
• 1 > 0 (1 1.5)
• 2 > 0 (2 1.5)
x*
f
cI1 = 0
cI2 = 0 cI1
x1
190
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
x2
min f(x1 , x 2 ) sous c I (x1 , 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
191
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
x2 c (x , x ) 0
min f(x1 , x 2 ) sous E 1 2
x ,x
1 2 c I (x1 , x 2 ) 0
f ( x*) c E ( x*) c I ( x*) 0
0
cE = 0
x*
cI < 0
Sur le schéma :
• f(x1, x2) quadratique
cI • x0 = minimum sans contrainte
x0 cE • > 0 ( 1.0)
f cI = 0 • > 0 ( 1.0)
x1
192
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
193
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
1.4.3 Exemple
Problème avec 2 contraintes inégalité
sous c1 ( x ) x 1 x 2 1 1 0
2 2 2,5
min f ( x ) x 1 x 2
c 2 ( x ) 1 x 2 0
x1 , x 2 2
1,5
• Lagrangien : L( x, ) f ( x ) 1c1 ( x ) 2 c 2 ( x )
2
x 1 x 2 1 x 12 x 2 1 1 2 1 x 2
1
0,5
194
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
1.4.3 Exemple
Problème avec 2 contraintes inégalité
sous c1 ( x ) x 1 x 2 1 1 0
2 2 2,5
min f ( x ) x 1 x 2
c 2 ( x ) 1 x 2 0
x1 , x 2 2
1,5
• Si 1 0 incompatible équation 1 21 x 1 0
1
1 0 -1
c 2 ( x ) 0 c2 contrainte active
• c1 ( x ) 0 x 1 0.5 et 1 0 x 1 1
Combinaison retenue c ( x ) 0 x 1 1 1 1
2 2 2
x 1 1
• Solution : x 2 1 Vérification condition d’ordre 2 : cône admissible vide
0.5
1 (2 contraintes actives)
2 1 minimum local
195
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
1.4.3 Exemple
Changement de sens contrainte 2
sous c1 ( x ) x 1 x 2 1 1 0
2 2 2,5
min f ( x ) x 1 x 2
c 2 ( x ) x 2 1 0
x1 , x 2 2
1,5
• Lagrangien : L( x, ) f ( x ) 1c1 ( x ) 2 c 2 ( x )
2
x 1 x 2 1 x 12 x 2 1 1 2 x 2 1
1
0,5
196
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
1.4.3 Exemple
Changement de sens contrainte 2
sous c1 ( x ) x 1 x 2 1 1 0
2 2 2,5
min f ( x ) x 1 x 2
c 2 ( x ) x 2 1 0
x1 , x 2 2
1,5
• Si 1 0 incompatible équation 1 21 x 1 0
1
0
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
x 1 0.5
Si c 2 ( x ) 0 1
-0,5
• x 1 1
2 2 1 -1
incompatible condition 2 0
1 21 x 1 0 x 1 1 /(21 ) x 1 1 / 2
• Si 2 0 1 21 x 2 1 0 x 2 1 1 /(21 ) x 2 1 1 / 2
x 12 x 2 12 1 0 1 1 / 2 0
1 1 / 2
2 0
• Vérification condition d’ordre 2 : 2xx L( x, ) 1 0 minimum local
0 21
(1 contrainte active)
197
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
1.4.3 Exemple
Passage contrainte 1 en égalité
sous c1 ( x ) x 1 x 2 1 1 0
2 2 2,5
min f ( x ) x 1 x 2
c 2 ( x ) 1 x 2 0
x1 , x 2 2
1,5
• Lagrangien : L( x, ) f ( x ) 1c1 ( x ) 2 c 2 ( x )
2
x 1 x 2 1 x 12 x 2 1 1 2 1 x 2
1
0,5
198
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
1.4.3 Exemple
Passage contrainte 1 en égalité
sous c1 ( x ) x 1 x 2 1 1 0
2 2 2,5
min f ( x ) x 1 x 2
c 2 ( x ) 1 x 2 0
x1 , x 2 2
1,5
1 21 x 1 0
1 0
• Si 2 0 1 21 x 2 1 0 1
0
x 1 1 /(21 ) -2 -1,5 -1 -0,5 0 0,5 1 1,5 2
x 2 1 1 /(21 )
-0,5
1 1 / 2 -1
x 1 1 / 2
1 x 2 0 x 2 1 1 / 2
1 1 / 2
2 0
• Vérification condition d’ordre 2 : 2xx L( x, ) 1 0 maximum local
(1 contrainte active) 0 21 solution rejetée
199
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
1.4.3 Exemple
Passage contrainte 1 en égalité
sous c1 ( x ) x 1 x 2 1 1 0
2 2 2,5
min f ( x ) x 1 x 2
c 2 ( x ) 1 x 2 0
x1 , x 2 2
1,5
x 1
• Si c 2 ( x ) 0 1 0.5
1 1
x 2 1 2 1 0,5
x 1 1 x 1 1
x 1 x 2 1
2 minima locaux : 2 f (x) 0 et 0.5 f ( x ) 2
1 0.5
1
2 1 2 1
200
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
201
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
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
202
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
Modèle quadratique-linéaire
1
• Modèle quadratique du critère : L̂(x * p) L(x*, *) p T x L(x*, *) p T 2xx L(x*, *)p
2
g (x*) x L(x*, *) gradient du lagrangien par rapport à x
En notant : L
hessien du lagrangien par rapport à x
H L (x*) xx L(x*, *)
2
1
L̂(x * p) L(x*, *) p T g L (x*) p T H L (x*)p
2
• Modèle linéaire des contraintes : ĉ(x * p) c(x*) c(x*) T p avec c(x*) 0
En notant : A c(x*) T
p Yp Zp avec AY inversible
Y Z AZ = 0 (espace nul)
AYp Y 0 p 0 car AY inversible
c(x*)T p 0 Y
p Z libre p Z libre
203
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
2 Z H L (x*)Z 0
•
T T
Condition réduite d’ordre 1 : Z g L (x*) 0 Z x L( x*, *) Z f ( x*) c( x*) * 0
T T
Z T f ( x*) 0 car c( x*) T Z 0
Condition réduite d’ordre 2 : Z H L (x*)Z 0
T
•
g Z Z T g gradient réduit du critère g(x) f (x)
•
H Z Z H L Z hessien réduit du lagrangien H L (x) xx L(x, *)
T 2
204
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
1.4.3 Exemple
Problème de la boîte
• Réaliser une boîte cylindrique de volume donné V0 et de surface minimale
• Dimensions : hauteur = h , rayon = r
r
Formulation du problème
• Surface : S 2r 2 2rh
min S(h, r ) sous V(h, r ) V0
• Volume : V r 2 h h ,r
Résolution
On note : V0 = 2v0
• Lagrangien : L(h, r, ) 2r 2 2rh r 2 h 2v 0 h
• Conditions KKT
2r r 2 0 r 2 0 r 2
4r 2h 2rh 0 2r h rh 0 h 2r
r 2 h 2v 0 0 r 2 h 2v 0 0 r 3 v 0
r v 13
S 6v 0 3 32 3 V0 3
2 1 2
• Solution : 0
1
h 2v 0 3
205
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
1.4.3 Exemple
Vérification des conditions réduites
Il faut choisir une base de réduction, puis vérifier les conditions réduites de minimum local.
g Z ( x*) Z T f (x*) 0 gradient réduit du critère nul
H Z ( x*) Z xx L(x, *)Z 0 hessien réduit du lagrangien semi-défini positif
T 2
r
• Gradient du critère : g(h, r ) h , r f (h, r ) 2
2r h
• Hessien du lagrangien : L(h, r, ) 2r 2 2rh r 2 h 2v 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
22r 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 3h
r
207
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
1.4.3 Exemple
Résolution par élimination 2v 0
• Contrainte : c(h, r ) r 2 h 2v 0 0 h
r2
4v 0
• Elimination de la variable h : S(h, r ) 2r 2 2rh S(r ) 2r 2
r
dS 4v v
• Gradient : (r ) 4r 2 0 4r1 30
dr r r
2
d S 8v 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
209
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
1.4.3 Exemples
Problème du sauveteur
• Aller secourir le baigneur qui se noie le plus vite possible
• Course sur terre, puis nage dans l’eau : vitesse v1, puis v2
Baigneur
Vitesse v2
eau
terre
Vitesse v1
Sauveteur
210
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
1.4.3 Exemples
Problème du sauveteur
• Données du problème : l0, l1, l2, v1, v2
y Arrivée
l1
Distance sur terre : d1
cos 1
d l2
Durée de course : t1 1 2
v1 d2
l2 v2
Distance dans l’eau : d 2
cos 2
d v1
Durée de nage : t2 2
v2 l1 1 d1
Distance suivant x : L d1 sin 1 d 2 sin 2
x
Départ l0
• Formulation du problème
Variables : 1 , 2
Contrainte : L = l0 atteindre le point visé
Critère : T = t1 + t2 durée totale à minimiser
211
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
1.4.3 Exemples
Problème du sauveteur
• Formulation du problème
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
212
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
1.4.3 Exemples
Problème du sauveteur
sin 1 v1 0
• Conditions KKT : sin 2 v 2 0 2
l1 tan 1 l 2 tan 2 l 0
v2
sin 1 v1 v1
• 1,2 vérifient : loi de la réfraction de Descartes
sin 2 v 2
1
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
xR
214
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
m
f * c *jc j
T
j1
• Une variation cj du niveau de la contrainte j entraîne une variation –j*cj du coût optimal.
Interprétation
Le multiplicateur donne la sensibilité du coût optimal au niveau de la contrainte (au signe près)
Convention possible de définition du lagrangien : L = f + Tc
ou L = f Tc
215
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
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
216
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
1.4.3 Exemple
Problème de la boîte
S 2r 2 2rh
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 32 3 V0 3
2
h 2
1
2
1
2 2
3
V
0
dV0 V0
217
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
Problème initial
minn f(x, p) sous c(x, p) 0
xR
Problème perturbé
min f(x, p p) sous c(x, p p) 0
xR n
218
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
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
219
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.3 Problème avec contraintes
Techniques d’optimisation Mai 2017
1.4.3 Exemple
Problème de la boîte
S 2r 2 2rh
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 32 3 M 0 3
1 2 2
3
2
L S (M M 0 )
1
M0 3 h
h 2
L M
2 r 2 h
1
2 2
3 2
L 4 M 0 3
M 0
2
Sensibilité au paramètre
2
5 4 M 3
L
22 M 0 3 0
dS 1 2
3 3
d 2
220
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.4 Problème linéaire
Techniques d’optimisation Mai 2017
Forme standard
Coûts réduits
221
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.4 Problème linéaire
Techniques d’optimisation Mai 2017
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
222
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.4 Problème linéaire
Techniques d’optimisation Mai 2017
• Toute direction admissible d est combinaison linéaire des directions de base dj.
(contraintes linéaires)
d jB B1A j
d
d j E jB avec T 0 c T d j c TBd jB c TN d jN c TB B1A j c j
d jN E e j d jN
• Il suffit de vérifier : c T d j 0
223
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.4 Problème linéaire
Techniques d’optimisation Mai 2017
= 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 c0
c0 x* solution de PL
224
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.4 Problème linéaire
Techniques d’optimisation Mai 2017
B T c B B T c B sB 0
T c 0
N s N c N N
s c N B
1
N
T
c B c N 0
s
s N cN
s N 0
• Les coûts réduits sont les multiplicateurs des variables s c 0
225
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.5 Problème quadratique
Techniques d’optimisation Mai 2017
Forme standard
Projection
Directions conjuguées
226
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.5 Problème quadratique
Techniques d’optimisation Mai 2017
• Gradient : g(x) Qx c
• Hessien : H(x) Q
227
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.5 Problème quadratique
Techniques d’optimisation Mai 2017
Solution
Par soustraction membre à membre :
AQ 1A T AQ 1c b AQ 1A T AQ
1 1
cb
AQ 1A T 1 AQ 1c b
En reportant dans l’expression de x :
x Q 1 A T c Q 1A T AQ 1A T AQ
1 1
c b Q 1c
Application
Projection d’un vecteur sur un hyperplan
228
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.5 Problème quadratique
Techniques d’optimisation Mai 2017
1.4.5 Projection
Projection d’un vecteur sur un hyperplan
La projection de x0Rn sur l’hyperplan d’équation Ax=b est le point x solution de
minn x x 0 sous Ax b
xR
x0
minn x x 0 x x 0 sous Ax b
1 T
xR 2
• Lagrangien : L( x, ) x x 0 x x 0 T b Ax
1 T
2
• Condition d’ordre 1 :
x x 0 A T 0 Ax AA T Ax 0
AA T 1 b Ax
0
Ax b Ax b x x 0 A AA
T T 1
b Ax 0
Solution
x P I A T AA T
1
A x 0 A T AA T
1
b matrice de projection : P I A T AA T
1
A
229
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.5 Problème quadratique
Techniques d’optimisation Mai 2017
Preuve n
On cherche (i)i=1,…,n tels que : i d i 0
n n i 1
d k Q i d i 0 , k d Qd
i k i 0 , k k d k Qd k 0 , k car d k Qd i si i k
i 1 i 1
Q définie positive : d k Qd k 0 si d k 0 k 0
Les n vecteurs (ui)i=1,…,n sont indépendants base de Rn
n
d i Qx
• Tout vecteur x de Rn peut s’écrire : x i d i avec i
i 1 d i Qd i
230
1 Bases théoriques Max CERF
1.4 Conditions d’optimalité
1.4.5 Problème quadratique
Techniques d’optimisation Mai 2017
i 1
d kT f xk 0 k k T 0
d T
Qx c
d k Qd k
On obtient pour xn :
n
xn x0 i d i x0
n
d iT Qx0 c n
d i x0 T
d iT Qx0
di
n
d iT Q Q 1c
di
T T
i 1 i 1 d i Qd i i 1 d i Qd i i 1 d i Qd i
x0 x0 Q 1c dans la base (di)
xn Q 1c f ( xn ) Q 1 xn c 0 xn = x* minimum de f
231
2 Optimisation sans contraintes Max CERF
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
4. Optimisation discrète
5. Optimisation fonctionnelle
232
2 Optimisation sans contraintes Max CERF
Techniques d’optimisation Mai 2017
Méthodes globales
• Capacité à localiser plusieurs minima locaux (éventuellement le minimum global)
• Algorithmes non déterministes (déplacements aléatoires « organisés »)
• Métaheuristiques : algorithmes génétiques, recuit simulé,
essaims, colonies de fourmis, recherche tabou,…
• Convergence généralement lente, peu précise
Méthodes locales
• Recherche d’un minimum local à partir d’un point initial fourni par l’utilisateur
• Méthodes d’ordre 0 : sans dérivées Nelder-Mead, Direct
d’ordre 1 : avec dérivées premières plus forte pente
d’ordre 2 : avec dérivées premières et secondes Newton
• Critères d’efficacité : rapidité de convergence (nombre d’appels de la fonction)
précision de convergence
robustesse à l’initialisation
233
2 Optimisation sans contraintes Max CERF
2.1 Méthodes de descente
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
234
2 Optimisation sans contraintes Max CERF
2.1 Méthodes de descente
2.1.1 Principes
Techniques d’optimisation Mai 2017
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
235
2 Optimisation sans contraintes Max CERF
2.1 Méthodes de descente
2.1.2 Itérations
Techniques d’optimisation Mai 2017
2.1.2 Itérations
Modèle local : prédiction
• Point courant xk ,fk = f(xk)
• Evaluation de gk = f(xk) ou approximation (différences finies)
Hk = 2f(xk) ou approximation (quasi Newton)
1 t
• Modèle quadratique : min f̂ k ( x k p) f k p t g k p Hkp x̂ k 1 x k p̂
p 2 (prédiction)
Méthodes de Newton ou quasi-Newton
Amélioration : correction
• Nouveau point xk+1 = xk + p tel que f(xk+p) < f(xk)
• Déplacement p à partir de xk
par recherche linéaire suivant d k x̂ k 1 x k
par région de confiance dans x xk r
Méthodes de globalisation
Conditions d’arrêt
• Déplacement insuffisant : x k 1 x k x
• Amélioration insuffisante : f k f k 1 f
• Condition d’ordre 1 vérifiée : g k g
• Nombre maximal d’itérations ou d’appels fonction : Niter , Nfonc
237
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
238
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation Mai 2017
Principes
Méthode de Newton
Méthode de quasi-Newton
239
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation Mai 2017
240
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation Mai 2017
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
241
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation Mai 2017
x*
x2 x1 x0
242
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation Mai 2017
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 )
243
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation Mai 2017
2.2.1 Exemples
Exemple 1
• Fonction : g(x) x 2 1
Iteration x(k) g(x)=x**2-1 g'(x)=2x Erreur
• Dérivée : g' (x) 2x
0 4,00000000 1,5E+01 8,0000 3,0E+00
• Solution : x = 1 g’(1) = 2
1 2,12500000 3,5E+00 4,2500 1,1E+00
2 1,29779412 6,8E-01 2,5956 3,0E-01
g(x) 3 1,03416618 6,9E-02 2,0683 3,4E-02
4 1,00056438 1,1E-03 2,0011 5,6E-04
5 1,00000016 3,2E-07 2,0000 1,6E-07
6 1,00000000 2,5E-14 2,0000 1,3E-14
1 x Convergence quadratique
g’(x*) inversible
244
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation Mai 2017
2.2.1 Exemples
Exemple 2
• Fonction : g(x) ( x 1) 2 Iteration x(k) g(x)=(x-1)**2 g'(x)=2(x-1) Erreur
• Dérivée : g' (x) 2(x 1) 0 4,00000000 9,0E+00 6,0000 3,0E+00
• Solution : x = 1 g’(1) = 0 1 2,50000000 2,3E+00 3,0000 1,5E+00
2 1,75000000 5,6E-01 1,5000 7,5E-01
3 1,37500000 1,4E-01 0,7500 3,8E-01
g(x) 4 1,18750000 3,5E-02 0,3750 1,9E-01
5 1,09375000 8,8E-03 0,1875 9,4E-02
6 1,04687500 2,2E-03 0,0938 4,7E-02
7 1,02343750 5,5E-04 0,0469 2,3E-02
8 1,01171875 1,4E-04 0,0234 1,2E-02
9 1,00585938 3,4E-05 0,0117 5,9E-03
10 1,00292969 8,6E-06 0,0059 2,9E-03
15 1,00009155 8,4E-09 0,0002 9,2E-05
20 1,00000286 8,2E-12 0,0000 2,9E-06
1 x Convergence lente
g’(x*) non inversible
245
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation Mai 2017
2.2.1 Exemples
Exemple 3
• Fonction : g(x) Arc tan(x ) Iteration x(k) g(x)=Arctan(x) g'(x)=1/(1+x**2) Erreur
0 1,300 0,915 0,372 1,3E+00
1
Dérivée : g' (x)
1 -1,162 -0,860 0,426 -1,2E+00
•
1 x2 2 0,859 0,710 0,575 8,6E-01
3 -0,374 -0,358 0,877 -3,7E-01
• Solution : x = 0 g’’(1) = 0 4 0,034 0,034 0,999 3,4E-02
5 0,000 0,000 1,000 -2,6E-05
6 0,000 0,000 1,000 1,2E-14
g(x)
Convergence
Divergence
246
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation Mai 2017
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
247
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation Mai 2017
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 )
248
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation Mai 2017
Equation de la sécante
On choisit une matrice Gk Rnn 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 Rnn )
n équations
Chaque ligne de G définit un hyperplan de Rn passant par xk-1 et xk
infinité d’ hyperplans possibles
249
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation Mai 2017
x*
x2 x1 x0
250
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation Mai 2017
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.
251
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.1 Résolution d’équations
Techniques d’optimisation Mai 2017
2.2.1 Exemple
Comparaison Newton Quasi-Newton
• Fonction : g(x) x 2 1
• Dérivée : g' (x) 2x
• Solution : x = 1
Iteration x(k) g(x)=x**2-1 dg/dx Erreur Iteration x(k) g(x)=x**2-1 g'(x)=2x Erreur
5,00000000 2,4E+01 4,0E+00 0 4,00000000 1,5E+01 8,0000 3,0E+00
0 4,00000000 1,5E+01 9,0000 3,0E+00 1 2,12500000 3,5E+00 4,2500 1,1E+00
1 2,33333333 4,4E+00 6,3333 1,3E+00 2 1,29779412 6,8E-01 2,5956 3,0E-01
2 1,63157895 1,7E+00 3,9649 6,3E-01 3 1,03416618 6,9E-02 2,0683 3,4E-02
3 1,21238938 4,7E-01 2,8440 2,1E-01 4 1,00056438 1,1E-03 2,0011 5,6E-04
4 1,04716672 9,7E-02 2,2596 4,7E-02 5 1,00000016 3,2E-07 2,0000 1,6E-07
5 1,00443349 8,9E-03 2,0516 4,4E-03 6 1,00000000 2,5E-14 2,0000 1,3E-14
6 1,00010193 2,0E-04 2,0045 1,0E-04
7 1,00000023 4,5E-07 2,0001 2,3E-07
8 1,00000000 2,3E-11 2,0000 1,1E-11
252
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
2.2.2 Minimisation
Principes
Méthode de Newton
Méthode de quasi-Newton
Méthode BFGS
Méthode DFP
Méthode SR1
Comparaison
Extensions BFGS
253
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
254
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
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
255
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
Minimisation du modèle de f en xk
f̂ (x*) ĝ k (x*) 0
• Conditions suffisantes de minimum local : min f̂ k (x) 2 k
xR
f̂ k (x*) H k 0
n
• Sinon la méthode de Newton n’est pas directement applicable pour une minimisation
256
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
2.2.2 Exemple
Méthode de Newton
• Fonction : f ( x ) x 12 x 47 x 60 x
4 3 2
20,0
15,0
10,0
5,0
0,0
0,0 1,0 2,0 3,0 4,0 5,0 6,0
-5,0
-10,0
-15,0
-20,0
257
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
2.2.2 Exemple
Méthode de Newton
• Modèle quadratique en x0 = 3 : f̂ 0 ( x ) 7 x 48x 81
2
1,25
1,00
0,75
0,50
0,25
x0 x1
0,00
2,50 2,75 3,00 3,25 3,50 3,75 4,00 4,25 4,50
-0,25
-0,50
-0,75
-1,00
-1,25
-1,50
258
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
2.2.2 Exemple
Méthode de Newton
• Modèle quadratique en x0 = 4 : f̂ 0 ( x ) x 4x
2
4,00
3,00
2,00
1,00
0,00
x1 x0
1,00 1,50 2,00 2,50 3,00 3,50 4,00 4,50 5,00
-1,00
-2,00
-3,00
-4,00
-5,00
259
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
2.2.2 Exemple
Méthode de Newton
• Modèle quadratique en x0 = 5 : f̂ 0 ( x ) 17 x 2 160x 375
80
• Itération de Newton en x0 = 5 : min f̂ 0 ( x ) x1 Moins bon que x0 (maximise f)
x 17 f(x1) = 1.513 > 0 = f(x0)
2,00
1,50
1,00
0,50
x1 x0
0,00
4,00 4,25 4,50 4,75 5,00 5,25 5,50
-0,50
-1,00
-1,50
-2,00
-2,50
-3,00
260
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
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
261
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
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
262
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
Résolution
Notations sans indices : L = Lk-1, A = Ak
y = yk-1 , d = dk-1
( y Lx) x T
1. En appliquant la formule de Broyden à L on obtient A en fonction de x : A L
xTx
x ( y Lx) T ( y Lx) T d
2. En reportant : x A d L d d L d
T T T
x
xTx xTx
( y Lx) T d
Il faut résoudre x L d
T
x pour trouver x.
xTx
263
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
d Hd d Hd
1 yTd
• Pour qu’une solution existe, on doit avoir y d > 0 A L T yd L T
T T
Hdd T L
On obtient H : H A A T y d d Hd
k k k k
Formule BFGS
y k 1 y Tk -1 H k -1d k 1d Tk 1H k -1 d x k x k -1
• Mise à jour de Hk : H k H k -1 T avec k -1
y k -1d k 1 d Tk 1H k -1d k 1 y k -1 g(x k ) g(x k -1 )
• On inverse les 2 membres de la formule BFGS pour obtenir Hk-1 en fonction de Hk-1-1.
d k 1 y Tk -1 -1 y k 1d Tk -1 d k 1d Tk -1 d x k x k -1
H I T
-1
H k -1 I T
d y dT y
si y Tk -1d k 1 0 avec k -1
y k -1 g(x k ) g(x k -1 )
k
d k -1 k 1
y k -1 k 1 k -1 k 1
• Méthode élaborée par Broyden, Fletcher, Goldfarb, Shanno à la fin des années 1960
reconnue comme l’une des plus efficaces en pratique
Limitations
• Si la condition yTd > 0 n’est pas vérifiée, on ne fait pas de mise à jour.
• Si le hessien n’est pas défini positif, la méthode BFGS ne converge pas vers le hessien.
cas d’un hessien indéfini à l’optimum, ou non défini positif loin de l’optimum
cas d’optimisation avec contraintes (hessien réduit du lagrangien positif hessien complet)
265
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
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 à Q1
convergence en n itérations avec à l’itération n : H n Q
266
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
• Mêmes principes que BFGS appliqués à l’équation sécante inverse pour obtenir Hk-1
• Première méthode quasi-Newton élaborée par Davidon dans les années 1950
Formule DFP
d k 1d Tk -1 H -1k -1 y k 1 y Tk 1H -1k -1 d x k x k -1
• Mise à jour de l’inverse : H H
-1 -1
T avec k -1
y k -1 g(x k ) g(x k -1 )
k k -1
d k -1 y k 1 y Tk 1H -k1-1 y k 1
y k 1d Tk -1 d k 1 y Tk -1 y k 1 y Tk -1
• Mise à jour du hessien : H k I T H k -1 I T
y d yT d
y k -1 k 1
d k -1 k 1 k -1 k 1
267
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
y k -1 g(x k ) g(x k -1 )
k k -1
d k -1 y k 1 y Tk 1H -k1-1 y k 1
Propriété 1
La mise à jour DFP donne une matrice définie positive si d k -1 y k 1 0
T
Cette condition est réalisée si xk est obtenu par minimisation exacte dans la direction H -1k -1g( x k 1 )
Propriété 2
1
Pour une fonction f quadratique : f ( x ) x T Qx c T x
2
u i Qu j 0 , 0 i j k
l’algorithme DFP donne des directions successives vérifiant : 1
H k Qu i u i , 0 i k
directions conjuguées par rapport à Q
convergence en n itérations avec à l’itération n : H n Q
268
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
Méthode de résolution
• On cherche la matrice Hk à partir de Hk-1 sous la forme
H k H k -1 uu T addition d’une matrice symétrique de rang 1
• Equation sécante : y k 1 H k d k 1 H k -1d k 1 uu T d k 1 y k 1 H k -1d k 1 u T d k 1u
u u y k 1 H k -1d k 1
1 1
• On pose : u T d k 1 y k 1 H k -1d k 1
1 1
• On reporte u pour obtenir : ( y k 1 H k -1d k 1 ) T d k 1 d Tk -1 ( y k 1 H k -1d k 1 ) 2
• On exprime uuT en fonction de dk-1, yk-1, Hk-1
u y k 1 H k -1d k 1 uu T 2 ( y k 1 H k -1d k 1 )( y k 1 H k -1d k 1 ) T
1
d T (y H d ) ( y k 1 H k -1d k 1 )( y k 1 H k -1d k 1 ) T
2 k -1 k 1 k -1 k 1 uu
T
d Tk -1 ( y k 1 H k -1d k 1 )
269
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
Limitations
• La formule SR1 peut donner des matrices Hk non définies positives,
même si le hessien de la fonction est défini positif.
• Le dénominateur peut devenir petit empêche la mise à jour et la convergence
Propriété 1 T
Pour une fonction f quadratique : f ( x ) x Qx c x
T
2
la formule SR1 donne après n déplacements suivant des directions indépendantes dk : H n Q
ne nécessite pas de minimisation suivant dk
270
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
2.2.2 Comparaison
Méthodes de quasi-Newton BFGS DFP SR1
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) , xR
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 4 12 x 3 47 x 2 60 x
0,00
2,75 3,00 3,25 3,50 3,75 4,00 4,25
• Dérivée : f ' ( x ) 4x 3 36 x 2 94 x 60 -0,25
-1,00
• Point initial : x0 = 3 convergence
divergence
-1,25
Autres points
ou maximum de f -1,50
Itération x(k) f(x) f'(x) h(k) Erreur Itération x f(x) f'(x) f''(x) Erreur
0 3,00000000 0,00000000 -6,00E+00 1,000 -4,56E-01 0 3,00000000 0,00000000 -6,00E+00 14,000 -4,56E-01
1 2,99900000 0,00600700 -6,01E+00 14,000 -4,57E-01 1 3,42857143 -1,31945023 -3,15E-01 11,796 -2,70E-02
2 3,42857155 -1,31945027 -3,15E-01 13,267 -2,70E-02 2 3,45526446 -1,32368574 -3,74E-03 11,513 -3,25E-04
3 3,45230465 -1,32362420 -3,79E-02 11,672 -3,28E-03 3 3,45558935 -1,32368635 -5,77E-07 11,509 -5,01E-08
4 3,45554876 -1,32368634 -4,68E-04 11,527 -4,06E-05 4 3,45558940 -1,32368635 -5,68E-14 11,509 -4,88E-15
5 3,45558934 -1,32368635 -7,27E-07 11,509 -6,32E-08
6 3,45558940 -1,32368635 -1,40E-11 11,509 -1,22E-12
7 3,45558940 -1,32368635 -5,68E-14 11,462 -4,44E-15
273
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
2.2.2 Exemple
Méthode DFP à 2 variables 1 4x1 2x 2
• Minimisation de f ( x ) x 1 x 2 2x 12 2x 1 x 2 x 22 g( x )
1 2 x 1 2 x 2
• Point initial : x0 = (0 0)
0 1 0 1 1
• Itération 1 : x 0 H 01 g 0 u 1 H 01g 0
0 0 1 1 1
s 1 1
x 1 x 0 su 1 min F(s) s 2 2s s 1 x 1 g1
s s
1 1
• Mise à jour DFP de H-1
d 0 x 1 x 0 1 2
y g(x ) g(x ) d
1 0 0
, y
0
0
1 0
d 0 d T0 H -1 T -1
0 y0 y0 H0 1 0 1 1 1 1 4 0 1 1 1
H H T
-1 -1
1 0
d0 y0 y T0 H -01 y 0 0 1 2 1 1 4 0 0 2 1 3
4 2 1 1 1
• Comparaison au vrai hessien : H( x ) H 1
2 2 2 1 2
274
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
2.2.2 Exemple
Méthode DFP à 2 variables
1 1 1 1 1 0
• Itération 2 : x 1 H1-1 g1 u 2 H11g1
1 2 1 3 1 1
1 1 1 0
x 2 x 1 su 2 min F(s) 1 3(1 s) (1 s) 2 s x 2 g 2
1 s s 2 1.5 0
1
• On obtient le minimum en 2 itérations (fonction quadratique) : x*
1.5
• Mise à jour DFP de H-1
d1 x 2 x 1 0 1
y g(x ) g(x ) d
0.5 1 1
, y
1
1
2 1
d1d1T H1-1 y1 y1T H1-1 1 1 1 1 0 0 0 0 1 1 1
H H T
-1 -1
2 1 3 2 0 1 0 1 2 1 2
2 1
d 1 y1 y1T H1-1 y1
4 2 1 1 1
• Comparaison au vrai hessien : H( x ) H 1
2 2 2 1 2
275
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
2.2.2 Exemple
Méthode DFP à 2 variables
On vérifie les propriétés de la méthode DFP appliquée à une fonction quadratique.
T T
1x 4 2 x1 1 x1 4 2
f ( x ) x 1 x 2 2x 2x 1 x 2 x 1
2 2
Q
x 2 1
1 2
2 x2 2 2 2
x 2 2
276
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
• Justification
On note H le hessien en xk1 g( x k ) g( x k 1 ) H( x k x k 1 )
y H( x k x k 1 ) Hd
H défini positif → admet une base orthonormée de vecteurs propres (vi)i=1à n avec H = ivi
En notant m la plus grande valeur propre, on a approximativement :
d i v i m v m y T y 2m 2m
T 2 m → approximation de m
y Hd i i v i m m v m y d m m
277
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
278
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
Si dTy dTHd , on prend : z = y (BFGS standard) 1
(1 )d T Hd
< , on impose : d z d y (1 )d Hd d Hd T
T T T T
Si dTy dTHd
d Hd d T y
• La matrice H’ est une interpolation entre : la matrice H initiale (obtenue pour = 0)
la matrice BFGS standard (obtenue pour = 1).
279
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
1
• On note pour simplifier : j T et Vj I j y jd Tj H -1j1 VjT H -1jVj jd jd Tj
d yj
j
H -12 V1T H1-1V1 1d1d1T V1T V0T H -10 V0 V1 0 V1T d 0 d T0 V1 1d1d1T
H -1m VmT-1H -1m-1Vm-1 m 1d m-1d Tm-1 VmT-1 V1T V0T H -10 V0 V1 Vm-1 0 VmT-1 V1T d 0 d T0 V1 Vm-1
V
1
T
m -1 V2T d d V V
T
1 1 2 m -1
m 1d m-1d Tm-1
280
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
H -1mg m V
T
m -1
V1T V0T H -10 V0 V1 Vm-1 g m avec Vj I j y jd Tj
V V d d V V g
0
T
m -1 1
T
0
T
0 1 m -1 m
V V d d V V g
1
T
m -1
T
2
T
1 1 2 m -1 m
m 1d m-1d Tm-1g m
281
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
VmT-1 VjT1 d j jd Tj Vj1 Vm-1 g m → j = 0 à m1
d m-1 m 1d Tm-1g m
282
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.2 Minimisation
Techniques d’optimisation Mai 2017
V T
m -1
V1T d 0 0 j jd Tj Vj1 Vm-1 g m
VmT-1 VjT1 d j j → j = 0 à m1
d m-1 m 1
• Remarque
Pendant les m1 premières itérations, la méthode LBFGS est équivalente à BFGS
si l’on conserve la même matrice initiale H 0,k H 0 .
-1 -1
284
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation Mai 2017
2.2.3 Globalisation
Méthodes de globalisation
Fonction mérite
Filtre
Méthode d’homotopie
285
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation Mai 2017
2.2.3 Convergence
Sensibilité au point initial
La méthode de Newton est très sensible au point initial.
Une modification du point initial peut conduire à une solution différente ou à une divergence.
instabilité numérique (comportement chaotique)
bassins d’attraction en présence de plusieurs solutions
Exemple
• On cherche à résoudre l’équation complexe : z3 = 1
z 1
3
re
i 3
1 r e 3 i.3 r 3 sin (3) 0 3 k
1 3
r cos(3) 1 r 1
• Les solutions sont les 3 racines complexes de l’unité : u2
1 3 1 3
u1 1 , u 2 , u3
2 2 u1
• On applique la méthode de Newton à partir d’un point initial z0.
z 3k 1 2z 3k 1 u3
z k 1 z k
3z 2k 3z 2k
286
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation Mai 2017
2.2.3 Convergence
Bassin d’attraction
• Le bassin d’attraction d’une racine u est l’ensemble des points initiaux z0
pour lesquels la méthode de Newton converge vers u.
287
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation Mai 2017
2.2.3 Globalisation
Techniques de globalisation
• La convergence d’une méthode de (quasi) Newton n’est pas garantie même près de la solution.
Il faut évaluer et si besoin modifier le point xN issu de l’itération de (quasi) Newton.
Objectifs simultanés
Le nouveau point doit minimiser simultanément plusieurs objectifs.
288
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation Mai 2017
• La fonction mérite agrège les différents objectifs avec des pondérations (ou pénalisations).
Le choix des coefficients permet de privilégier certains objectifs.
- critère augmenté F( x ) f ( x ) c( x )
- lagrangien augmenté F( x ) L( x, ) c( x )
f ( x ) T c( x ) c( x )
289
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation Mai 2017
2.2.3 Filtre
Principe
• On cherche à minimiser simultanément plusieurs fonctions : min c1 ( x ) , , c m ( x )
x
c2(x) c2
front de Pareto
solutions non dominées solutions dominées
par x par x
x
x
c1(x) c1
290
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation Mai 2017
2.2.3 Filtre
Filtre
• Le filtre est la liste des solutions non dominées obtenues au cours des itérations.
→ approximation du front de Pareto
c2
x2
x3
x4
Région de solutions non dominées
→ acceptées par le filtre
c1 291
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation Mai 2017
2.2.3 Exemple
Exemple
On cherche à résoudre par la méthode de Newton le système d’équations :
1 x1
c( x1 , x 2 ) 2 0 → solution x * 11
10( x 2 x1 )
• Le déplacement de Newton est : d N c T c
T
1 20x1 1 x1 1 10 0 1 x1 1 x1
d N 2
20x 110( x x 2 ) x (2 x ) x
0 10 10( x 2 x 1
) 10 1 2 1 1 1 2
x '1 x1 1 x1
s
2 2 1
x ' x x ( 2 x 1 ) x 2
• On compare l’évaluation par fonction mérite et par filtre à partir du point initial x 0 0
0
La fonction mérite est : F( x1 , x 2 ) c( x1 , x 2 ) 1 1 x1 10( x 2 x12 )
292
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation Mai 2017
2.2.3 Exemple
Fonction mérite
• Le déplacement est accepté si la fonction mérite décroît.
2.2.3 Exemple
Filtre
• Le déplacement est accepté si au moins l’une des composantes de c décroît.
1 x1
c( x1 , x 2 ) 2 0
10( x 2 x1 )
Itération Pas s x1 x2 F(x1,x2) c1 c2 x2
0 0 0,0000 0,0000 1,0000 1,0000 0,0000 1,0
0,6
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.
2.2.3 Homotopie
Principe
• On cherche à résoudre le système d’équations dans Rn : g1(x) = 0 problème P1
On sait résoudre un autre système d’équations dans Rn : g0(x) = 0 problème P0
Problème paramétré
On définit une famille de problèmes P paramétrés par un réel entre 0 et 1.
• Le problème P est défini par : g(x) = 0 avec g(x) = (1 ).g0(x) + .g1(x)
La solution de P est notée x.
Pour = 0, on a le problème P0 de solution connue x0.
Pour = 1, on a le problème P1 dont on cherche la solution x1.
2.2.3 Homotopie
Algorithme
• On suppose que l’on a résolu le problème P solution x
297
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation Mai 2017
2.2.3 Homotopie
Convergence
• La méthode d’homotopie élargit le domaine de convergence de la méthode de Newton.
On peut partir d’une initialisation x0 assez éloignée de la solution x1.
• Le problème de départ P0 doit pouvoir être relié continument au problème à résoudre P1.
problème d’existence du chemin de zéros
Non monotone Bifurcation Retournement Point d’arrêt Discontinuité Divergence
1
0 x
2.2.3 Exemples
Exemple 1
• On cherche à résoudre le problème P1 : g1 (x) Arc tan( x ) 0 solution x1 = 0
g0(x)
Iteration x(k)
0 1,500
1 -1,694
2 2,321
3 -5,114
4 32,296
x1 0 x0 x2 x 5 -1575,317
6 3894976,008
299
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation Mai 2017
2.2.3 Exemples
Exemple 1
• On part du problème P0 : g 0 (x) x 10 0 solution x0 = 10
• La variation de entre Pk et Pk+1 doit être suffisamment faible pour permettre la convergence.
On choisit : = 0.1 de = 0 à = 0.8
= 0.05 de = 0.8 à = 1
300
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation Mai 2017
2.2.3 Exemples
Exemple 1
• On obtient la suite discrète des problèmes Pk avec leurs solutions.
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,85 0,9 0,95 1
x0 100,0 10,0000 9,8367 9,6332 9,3724 9,0264 8,5457 7,8342 6,6815 4,5772 2,9505 1,4112 0,5433
x1 10,0 9,8367 9,6331 9,3723 9,0263 8,5454 7,8330 6,6744 4,5021 2,7813 0,7989 0,1131 -0,1013
x2 10,0 9,8367 9,6332 9,3724 9,0264 8,5457 7,8342 6,6815 4,5770 2,9471 1,2816 0,5052 0,0007
x3 10,0 9,8367 9,6332 9,3724 9,0264 8,5457 7,8342 6,6815 4,5772 2,9505 1,4052 0,5428 0,0000
x4 10,0 9,8367 9,6332 9,3724 9,0264 8,5457 7,8342 6,6815 4,5772 2,9505 1,4112 0,5433 0,0000
x5 10,0 9,8367 9,6332 9,3724 9,0264 8,5457 7,8342 6,6815 4,5772 2,9505 1,4112 0,5433 0,0000
1,1
1
• Suivi du chemin de zéros. 0,9
0,8
0,7
• L’initialisation de P0 est quelconque. 0,6
x0 = 100 (initialisation) 0,5
2.2.3 Exemples
Exemple 2
• On cherche à résoudre le problème P1 : g1 (x) x 2 1 0 solution x1 = 1
(1 ) (1 ) 2 4(2 3)
• La solution du problème P est : x
2
52 3
13
Cette solution n’existe que si : (1 ) 2
4 ( 2 3 ) 0 ou
5 2 3
13
2.2.3 Exemples
Exemple 2
Le chemin de zéros est composé de 2 branches disjointes.
1
• Branche 1 : 0 0,11814 0,9
0,8
point initial : x0 = 2 0,7
retournement 0,6
divergence : x 0,5
0,4
0,3
extrémités : x = 1 0
-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2
retournement
Solution x
303
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation Mai 2017
2.2.3 Homotopie
Suivi du chemin de zéros
• Une homotopie discrète avec des valeurs croissante (k)k=0,1,… 1
est bloquée si n’est pas monotone le long du chemin de zéros.
Cg : g(,x)=0
• Un suivi basé sur le vecteur tangent est plus efficace.
u
g T u 0 Gu 0 g
u
304
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation Mai 2017
2.2.3 Homotopie
Méthode de prédiction-correction
• Prédiction : On se déplace d’un pas pR suivant le vecteur tangent uRn+1.
0 p 0 pu
g( p , x p ) g p 0
0 p
x x x 0 pu x
GZ 0 Z base de l’espace nul de G
On peut prendre u de la forme : u Zu Z avec
u Z R
Le sens de u est choisi en fonction du déplacement précédent : u Tk 1u k 0
• Correction : On effectue un déplacement vRn+1
Cg
pour revenir sur la courbe Cg (restauration de g=0)
p c p v g
g( c , x c ) 0
x x x v
p c p x
n équations (g)
Le système est sous-déterminé : n+1 inconnues (v) x
On peut fixer une variable au choix et appliquer une méthode de Newton
ou chercher le déplacement de norme minimale (cf §1.3.2 Restauration).
305
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation Mai 2017
2.2.3 Exemples
Exemple 3
1
• On cherche à résoudre le problème P1 : g1 (x) 3x 3 x 0 solution x1 = +0.7461
2
1
• On part du problème P0 : g 0 (x) 3x 3 x 0 solution x0 = 0.7461
2
• On définit la famille de problèmes P paramétrés par , 0 1.
1 0,4
g(, x) 0 3x 3 x 0,3
2 0,2
d
9x 2 1 0,1
dx 0,0
-0,8 -0,7 -0,6 -0,5 -0,4 -0,3 -0,2 -0,1 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8
Solution x
1 1
Changement de sens en et
3 3
306
2 Optimisation sans contraintes Max CERF
2.2 Méthode de Newton
2.2.3 Globalisation
Techniques d’optimisation Mai 2017
2.2.3 Exemples
Exemple 3
• Prédiction : pas p suivant le vecteur tangent u
1 1 1 9 x 2 1
g(, x) 3x x
3
g(, x) 2 u
1
2 9 x 1 (9 x 1) 1
2 2
Le vecteur u est orienté par le sens du pas précédent ( suivant x > 0).
Le pas p est fixé : p = 0.1
0 p 0 pu
1,0
g( p , x p ) 0
0,9
0 p
x x x 0 pu x 0,8
0,7
0,6
• Correction : méthode de Newton
0,5
0,4
On fixe x= xp et on résout : g(,xp) = 0 0,3
0,2
Sommaire
1. Bases théoriques
308
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.1 Principes
Techniques d’optimisation Mai 2017
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
309
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.1 Principes
Techniques d’optimisation Mai 2017
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)
310
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation Mai 2017
Gradient accéléré
Méthode de Nesterov
Préconditionnement
311
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation Mai 2017
Illustration en dimension 2
lignes de niveau de f
x*
312
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation Mai 2017
• 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
sR ds
• Itération k+1
La direction de plus forte pente en xk+1 est dk+1 = f(xk+1) d Tk d k 1 0
Illustration
xk+1 lignes de niveau de f
dk+1=f(xk+1)
dk=f(xk)
xk
313
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation Mai 2017
2.3.2 Exemple
Iteration x1 x2 f(x) d1 d2 s Erreur
Plus forte pente 0 9,000 1,000 45,000 -9,000 -9,000 0,2 9,055
1 7,200 -0,800 28,800 -7,200 7,200 0,2 7,244
• Fonction 2 5,760 0,640 18,432 -5,760 -5,760 0,2 5,795
3 4,608 -0,512 11,796 -4,608 4,608 0,2 4,636
1 9 4 3,686 0,410 7,550 -3,686 -3,686 0,2 3,709
f ( x ) x 12 x 22 5 2,949 -0,328 4,832 -2,949 2,949 0,2 2,967
2 2 10 0,966 0,107 0,519 -0,966 -0,966 0,2 0,972
20 0,104 0,012 0,006 -0,104 -0,104 0,2 0,104
• Direction 30 1,11E-02 1,24E-03 6,90E-05 -1,11E-02 -1,11E-02 0,2 1,12E-02
x1 40 1,20E-03 1,33E-04 7,95E-07 -1,20E-03 -1,20E-03 0,2 1,20E-03
d f ( x ) 50 1,28E-04 1,43E-05 9,17E-09 -1,28E-04 -1,28E-04 0,2 1,29E-04
9 x 2
1,00
• Pas 0,75
min f ( x sd) 0,50
s
x 12 81x 22 0,25
s 2
x 1 729x 22 0,00
-1 0 1 2 3 4 5 6 7 8 9 10
• Itération -0,25
x k 1 x k s k d k -0,50
-0,75
-1,00 314
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation Mai 2017
lignes de niveau de f
x1
x*
x3
x0 x2
315
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation Mai 2017
0 Qx * c x * x 2 d * Q 1g 2
noté
2.3.2 Exemple
Gradient accéléré
1 9 x 1 0
• Fonction f ( x ) x12 x 22 g( x ) f ( x ) 1 H( x ) 2 f ( x )
2 2 9x 2 0 9
d 1
• Minimisation suivant d 1 : min f ( x sd) f ( x ) sd T g( x ) sd T H( x )d
d2 s 2
T
d g d x 9d 2 x 2
s T 1 12
d Hg d1 9d 22
• Déplacements 1 et 2
Direction de plus forte pente : d ( 0 ) g ( x ( 0 ) )
x (1)
d (1) g( x (1) )
x ( 2 )
• Déplacement 3 suivant : d x ( 2) x (0)
x (3) x *
→ convergence en 3 itérations
317
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation Mai 2017
yk
xk g(yk)
xk+1
xk1
319
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation Mai 2017
2.3.2 Exemple
Méthode de Nesterov
1 9
• Fonction : f ( x ) x 12 x 22
2 2
k 1
• Itération : y k x k k ( x k x k 1 ) avec k
k2
x k 1 y k s k d k avec d k f ( y k ) y1
9y2
d y 9d 2 y 2
et min f ( y k sd k ) s 1 12
s d1 9d 22
• Comparaison à la méthode de plus forte pente
2.3.2 Exemple
Méthode de Nesterov
1 9
• Fonction : f ( x ) x 12 x 22
2 2
1,00
0,75
Nesterov
0,50
0,25
0,00
-1 0 1 2 3 4 5 6 7 8 9 10
-0,25
-0,50
Plus forte pente
-0,75
-1,00
321
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation Mai 2017
2.3.2 Préconditionnement
Préconditionnement
• On se donne une matrice Hk symétrique définie positive.
factorisation de Cholesky de Hk : Hk = LkLkT
• Changement de variable : ~
x k LTk x k
~
• Direction de plus forte pente pour : f (~ x k ) f(x k ) f(LkT ~
xk )
~ ~
d k f (~
x k ) f(LkT ~
x k ) Lk1f(LkT ~
x k ) Lk1f(x k ) Lk1d k
~
• Itération en ~ x : ~
k x ~ x s f (~
k 1 k x )
k k
• Itération en xk : x k 1 L k ~
T
x k 1 LkT ~
~
x k s k f (~
x k ) LkT LTk x k s k Lk1d k
x k 1 x k s k LkT Lk1d k x k s k H k1d k
• Le préconditionnement par la matrice Hk revient à prendre comme direction de descente
d k H k1f(x k )
• On vérifie que dk est une direction de descente
d Tk f(x k ) f(x k ) T H k1f(x k ) 0 car Hk est définie positive
322
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation Mai 2017
2.3.2 Préconditionnement
Choix du préconditionnement
Toute matrice Hk symétrique définie positive convient.
• On peut prendre pour Hk l’approximation du hessien donnée par une méthode quasi-Newton.
323
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.2 Direction de descente
Techniques d’optimisation Mai 2017
2.3.2 Exemple
Préconditionnement
x
T
1 9
f ( x ) x 12 x 22 1 0 1 0 1 0
• Fonction : f ( x ) 1 2 f ( x )
2 2 9 x 2 0 9 0 3 0 3
~ 2
1 0 x1 x1 ~ ~ 1 ~2 9 1 1 2 1 ~2
• Préconditionnement : L ~ f ( x ) x1 x 2 ~ x1 x 2
0 3 x 2 3x 2 2 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 s k dk 0
0,00
convergence en 1 itération -1 0 1 2 3 4
-0,50
-1,00
324
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation Mai 2017
Minimisation unidimensionnelle
Minimisation exacte
- Méthode de dichotomie
- Méthode de Fibonacci
- Méthode du nombre d’or
- Interpolation quadratique
Minimisation approchée
- Règle d’Armijo
- Règle de Goldstein
- Règle de Wolfe
325
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation Mai 2017
• Minimisation approchée
On cherche une réduction suffisante de la fonction sans déterminer précisément le minimum x*
règles d’acceptation (Armijo, Goldstein, Wolfe)
limitation du nombre d’évaluations de la fonction
326
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation Mai 2017
f(x) f(x)
a b c d x a b c d x
f(x) 2 d b c a
ad bc
a dbc
1 2 2
2
a b c d x
328
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation Mai 2017
f(x) 1 2 3
1
a e b c d x
329
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation Mai 2017
Δ 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
331
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation Mai 2017
Optimalité
• La méthode du nombre d’or n’est pas optimale pour un nombre d’itérations donné N.
FN
• Pour un nombre d’itérations grand : Nlim γ
FN -1
La disposition des points de Fibonacci tend vers celle du nombre d’or.
332
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation Mai 2017
Nombre d’itérations
Une itération de la méthode de Fibonacci ou du nombre d’or correspond à une évaluation de f.
Nombre d’évaluations
Rapport de réduction Fibonacci Nombre d’or
10-2 11 13
10-3 15 18
10-4 20 22
10-5 25 27
10-6 30 31
333
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation Mai 2017
γ
3 2
b a r 2 Δ 1
c a rΔ1
d a Δ1
a b c d x
• Itération
d c a b
c b b c
Si f (b) f (c) Δ Δ Si f (b) f (c)
Δ Δ2
1 2
1
b a r Δ 1 c a rΔ1
2
334
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation Mai 2017
2.3.3 Exemple
Méthode du nombre d’or
• Minimisation de f ( x ) x cos(x ) , 0 x
2
f 0 -0.4952 -0.5482 0
• Itération 1
x 0 0.6000 0.9708 1.5708
x1 x2 x3
• On construit le polynôme q de degré 2 passant par les 3 points.
( x x 2 )( x x 3 ) ( x x 3 )( x x 1 ) ( x x 1 )( x x 2 ) q( x 1 ) y1
q ( x ) y1 y2 y3 q( x 2 ) y 2
( x 1 x 2 )( x 1 x 3 ) ( x 2 x 3 )( x 2 x 1 ) ( x 3 x 1 )( x 3 x 2 ) q( x 3 ) y 3
• Dérivée du polynôme q
336
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation Mai 2017
q' ( x )
2xy1 ( 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 )
337
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation Mai 2017
2.3.3 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
339
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation Mai 2017
Notations
• xk = point courant f(xk)
• dk = direction de descente f(xk)Tdk < 0
340
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation Mai 2017
f(x)=(s)
pas acceptables s x = xk+sdk
c1’(0)
’(0)
341
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation Mai 2017
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)
343
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation Mai 2017
Initialisation
• Intervalle initial : [smin , smax] avec smin = 0
smax assez grand
• Valeur initiale : s=1 (pas de Newton)
Itérations
Evaluation de (s) et comparaison aux droites de Goldstein
• Si s ne respecte pas la condition 1 amélioration insuffisante, pas trop grand : smax=s
• Si s ne respecte pas la condition 2 déplacement insuffisant, pas trop petit: smin=s
Réduction de l’intervalle [smin , smax]
1
Essai suivant : s ( s min s max )
2
Arrêt
• Si s respecte les 2 conditions pas acceptable
• Si l’intervalle [smin , smax] devient inférieur à un seuil donné
344
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.3 Pas de déplacement
Techniques d’optimisation Mai 2017
(s)
smin s2 s3 s1 smax s
c1’(0)
c2’(0)
345
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.4 Algorithme
Techniques d’optimisation Mai 2017
2.3.4 Algorithme
Convergence
Exemple
346
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.4 Algorithme
Techniques d’optimisation Mai 2017
2.3.4 Algorithme
Algorithme de recherche linéaire
Initialisation : x0
Gradient : f(x0)
Approximation du hessien : H0 H0 =I par défaut
Itération k : xk
Gradient : f(xk) Direction de descente : d k H k1f(x k )
Approximation du hessien : Hk>0
Arrêt si : f(x k 1 ) ε
Nouveau point : xk+1 = xk + sk dk
Gradient : f(xk+1)
347
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.4 Algorithme
Techniques d’optimisation Mai 2017
2.3.4 Algorithme
Principaux résultats de convergence
• Si d est une direction de descente, et f est bornée inférieurement suivant d,
alors il existe un pas s suivant d vérifiant les conditions de Wolfe
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.
348
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.4 Algorithme
Techniques d’optimisation Mai 2017
2.3.4 Exemple
Fonction de Rosenbrock 5
f
f ( x1 , x 2 ) 100 x 2 x12 1 x1
2 2 4
3
1.2
Point initial :
BFGS
•
1 SR1
2
1
• Recherche linéaire avec BFGS ou SR1 Itération
0
0 10 20 30 40
1,25 1,25
BFGS SR1
1 1
0,75 0,75
0,5 0,5
0,25 0,25
0 0
-1,5 -1 -0,5 0 0,5 1 1,5 -1,5 -1 -0,5 0 0,5 1 1,5
-0,25 -0,25
349
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.4 Algorithme
Techniques d’optimisation Mai 2017
350
2 Optimisation sans contraintes Max CERF
2.3 Recherche linéaire
2.3.4 Algorithme
Techniques d’optimisation Mai 2017
3,0
f
14
2,0
12
1,0 monotone
10
non monotone
0,0 8
-2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0
6
-1,0
4
-2,0
2
Itération
0
-3,0
0 5 10 15 20
Sommaire
1. Bases théoriques
352
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.1 Principes
Techniques d’optimisation Mai 2017
353
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.1 Principes
Techniques d’optimisation Mai 2017
x0
modèle quadratique en x0
x1 modèle quadratique en x1
modèle quadratique en x2
x2
x*
354
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation Mai 2017
Conditions d’optimalité
Résolution approchée
Méthode dogleg
355
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation Mai 2017
356
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation Mai 2017
x0
dN
-g0
xN
• Si la contrainte de région de confiance est active (* > 0), on peut montrer que la matrice
H 0 * I est semi-définie positive.
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 01g 0 x N x 0 d N
dR 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
sR 2 g 0 H 0g 0
d C s C g 0 x C x 0 d C
359
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation Mai 2017
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
dR 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 + (s1)(dN dC) pour s[1,2]
362
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation Mai 2017
• 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
363
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation Mai 2017
364
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation Mai 2017
2.4.2 Exemple
Méthode dogleg
1 9
• Fonction f ( x 1 , x 2 ) x 12 x 22
2 2
9 9 1 0
• Point initial : x 0 f ( x 0 ) 2 f ( x 0 )
1 9 0 9
1 1 9
• Modèle quadratique : f̂ ( x 0 p) f ( x 0 ) f ( x 0 ) T p p T 2 f ( x 0 )p 45 9p1 9p 2 p12 p 22
2 2 2
7.2
f̂ x 0 sf ( 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 ) , 0s1
1 1.8s
7.2 7.2s
segment 2 x d 2 (s) x C s( x N x C ) , 0 s 1
0,8 0.8s 365
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.2 Modèle quadratique
Techniques d’optimisation Mai 2017
2.4.2 Exemple
Méthode dogleg
1 9 9 7.2 0
f ( x 1 , x 2 ) x 12 x 22x 0 x C , x N
2 2 1 0.8 0
8,293
• Région de confiance de rayon r=1 : x d sur le segment 1
0 .293
5,331
• Région de confiance de rayon r=4 : x d sur le segment 2
0.592
4,00
3,50 r=4
3,00
2,50
r=1
2,00
1,50
x0
1,00
0,50
xN
0,00
-1 0 1 2 3 4 5 6 7 8 9 10 11
-0,50
chemin dogleg
-1,00
xC
-1,50
366
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.3 Rayon de confiance
Techniques d’optimisation Mai 2017
Rapport de réduction
Réglage du rayon
Approche directe
Réglage du multiplicateur
367
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.3 Rayon de confiance
Techniques d’optimisation Mai 2017
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*)
368
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.3 Rayon de confiance
Techniques d’optimisation Mai 2017
• 1 < < 2
La fonction décroît, mais moins que prévu : le modèle est correct.
On accepte le nouveau point.
On passe à l’itération suivante sans changer le rayon de confiance.
369
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.3 Rayon de confiance
Techniques d’optimisation Mai 2017
• Sinon la contrainte est active, le déplacement d est solution des conditions KKT.
H 0 I d g 0 d H 0 I 1 g 0
d r avec > 0 (multiplicateur de la contrainte)
d r
Une méthode itérative est nécessaire pour vérifier d r .
370
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.3 Rayon de confiance
Techniques d’optimisation Mai 2017
• Interprétation
Augmenter le pas de temps t (cas favorable) équivaut à diminuer le multiplicateur
et à augmenter le rayon de confiance.
La direction de déplacement se rapproche de la direction de Newton.
2.4.4 Algorithme
Convergence
Exemple
- Région de confiance norme 2
- Région de confiance norme
374
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.4 Algorithme
Techniques d’optimisation Mai 2017
2.4.4 Algorithme
Algorithme de région de confiance
Initialisation : x0 Rayon r0
Gradient : f(x0)
Approximation du hessien : H0 H0 =I par défaut
Rapport de réduction
Réglage du rayon rk+1
Arrêt si : f(x k 1 ) ε
Nouveau point : xk+1 = xk + dk
Gradient : f(xk+1)
Itération k+1 : xk+1 Rayon rk+1 Mise à jour du hessien par BFGS ou SR1
Gradient : f(xk+1) Modification du hessien : Hk+1>0
Approximation du hessien : Hk+1>0 Factorisation de Cholesky modifiée
375
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.4 Algorithme
Techniques d’optimisation Mai 2017
2.4.4 Algorithme
Principaux résultats de convergence
• Lorsque le rayon de confiance est petit, la solution dogleg est suivant le gradient.
L’itération est équivalente à la méthode de plus forte pente convergence lente
• Lorsque le rayon de confiance est grand, la solution dogleg est le point de Newton.
L’itération est équivalente à la méthode de Newton convergence rapide
En pratique
• On peut combiner l’algorithme de région de confiance avec BFGS ou SR1.
Il n’est pas nécessaire que le hessien soit défini positif.
Si le hessien n’est pas défini positif, la méthode SR1 est plus efficace.
• La valeur des seuils 1 et 2 pour régler le rayon n’est pas critique pour la convergence.
2.4.4 Exemple
Fonction de Rosenbrock 5
f
f ( x1 , x 2 ) 100 x 2 x 1 1 x
2 2
1
2 4
3
1.2
Point initial :
BFGS
•
1 SR1
2
1
• Région de confiance avec BFGS ou SR1 Itération
1,25 1,25
BFGS SR1
1 1
0,75 0,75
0,5 0,5
0,25 0,25
0 0
-1,5 -1 -0,5 0 0,5 1 1,5 -1,5 -1 -0,5 0 0,5 1 1,5
-0,25 -0,25
377
2 Optimisation sans contraintes Max CERF
2.4 Région de confiance
2.4.4 Algorithme
Techniques d’optimisation Mai 2017
2.4.4 Exemple
Fonction de Rosenbrock 5
f
f ( x1 , x 2 ) 100 x 2 x12 1 x1
2 2 4
3
1.2
Point initial :
BFGS
•
1 SR1
2
1
• Région de confiance avec BFGS ou SR1 Itération
1,25 1,25
BFGS SR1
1 1
0,75 0,75
0,5 0,5
0,25 0,25
0 0
-1,5 -1 -0,5 0 0,5 1 1,5 -1,5 -1 -0,5 0 0,5 1 1,5
-0,25 -0,25
378
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
2.5.1 Formulation
Problème de moindres carrés
1 2
min
xR n
r(x) problème (MC)
2
• Variables xRn : n paramètres d’ajustement d’un modèle
• Résidus r(x)Rm : m écarts entre modèle et mesures
1 1 1 m
f ( x ) r ( x ) r ( x ) r ( x ) ri ( x ) 2
2 T
• Critère f(x)R :
2 2 2 i 1
minimisation d’écart quadratique
m r ( x ) R nm
• 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
380
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.2 Méthode de Gauss-Newton
Techniques d’optimisation Mai 2017
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
381
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.2 Méthode de Gauss-Newton
Techniques d’optimisation Mai 2017
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
xR 2
• Si A est de rang plein, x* est l’unique solution du problème (MC).
383
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.3 Moindres carrés linéaires
Techniques d’optimisation Mai 2017
2.5.3 Exemple
Moindres carrés linéaires
On cherche à estimer l’accélération de la gravité à partir de mesures de hauteur en chute libre.
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 )
gR
h i g
2 i 1 2
Temps H mesure H modèle Résidu t i2
(s) (m) (m) (m) Modèle : h mod èle g
0 0,90 0,00 0,90 2
1 m
1 5,40 4,90 0,49 Résidu : r h mesure h mod èle f (g) ri (g) 2
2 20,81 19,61 1,19 2 i 1
3
4
45,73
78,56
44,13
78,46
1,60
0,10
Solution moindres carrés : g* = 9,8070 m/s2 f(g*) = 21,668
5 124,10 122,59 1,51 h (m)
6 175,75 176,53 -0,78 2000
7 241,41 240,27 1,13
8 315,08 313,82 1,25
9 397,36 397,18 0,17 1500
10 488,25 490,35 -2,10
11 595,35 593,32 2,02
12 707,26 706,10 1,15 1000
13 829,98 828,69 1,28
14 961,20 961,09 0,12
15 1103,14 1103,29 -0,14
500
16 1252,89 1255,30 -2,40
17 1415,55 1417,11 -1,56
18 1586,62 1588,73 -2,11
19 1770,20 1770,16 0,04 0
0 50 100 150 200
20 1964,29 1961,40 2,89
t2/2 (s2) 385
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.4 Filtre de Kalman
Techniques d’optimisation Mai 2017
Problème initial
2
• On appelle problème initial le problème restreint au 1er bloc : minn A1 x b1
xR
386
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.4 Filtre de Kalman
Techniques d’optimisation Mai 2017
xR xR
A2 b2 xR
A b
avec A 1 R ( m m
1 2 ) n
, b 1 R m m
1 2
A2 b2
• La solution x2 vérifie les équations normales du problème complet.
A T Ax 2 A T b A1T A
b
A T2 1 x 2 A1T A T2 1
A1T A1 A T2 A 2 x 2 A1T b1 A T2 b 2
A2 b2
• La solution x1 vérifie les équations normales du problème initial : A1T A1 x 1 A1T b1
Mise en œuvre
• Les matrices AkTAk doivent être inversibles en prenant un nombre suffisant de mesures
388
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.4 Filtre de Kalman
Techniques d’optimisation Mai 2017
• 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.
xR 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 QRnn 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
391
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.5 Gradient conjugué
Techniques d’optimisation Mai 2017
• 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
d i g k d i g i s j d i Qd j 0 car T
T T T
j i 1 d i Qd j 0 si i j
g iT g k g iT g k i d iT g k car d iT g k 0 , i 1, , k
d iT1 g k 0 car i k 394
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.5 Gradient conjugué
Techniques d’optimisation Mai 2017
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 iT1 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 kT1 g k 1
sk sk sk
2
gk
On obtient bien : k 2
valeur de k telle que d kT Qd k 1 0
g k 1
396
2 Optimisation sans contraintes Max CERF
2.5 Moindres carrés
2.5.5 Gradient conjugué
Techniques d’optimisation Mai 2017
2.5.5 Exemple
Gradient conjugué
1 2 x x2
• Fonction quadratique f ( x 1 , x 2 ) x 1 x 1 x 2 x 2 f ( x 1 , x 2 ) 1
2
2 1
x 2 x 2
10
• Point initial x
0
5
5 10 5s 2 s
• Itération 1 : d f ( x ) x x sd 5
1 0 1 0 1
0 5 1
5 0
min f ( x 0 sd1 )
25
2 s 252 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 251 s 251 s s 2 1 x 2 , f ( x 2 )
2 2 2
s 2 0 0
0 0
• Solution : x*
0 , f ( x*)
0
397
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
398
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.1 Principes
Techniques d’optimisation Mai 2017
2.6.1 Principes
Problème sans contrainte
min f(x)
xR n
• Les méthodes sans gradient (ou d’ordre 0) n’utilisent que des évaluations de la fonction.
méthodes applicables à toute fonction (non dérivable, bruit numérique)
Principales méthodes
• Méthodes déterministes
Nelder-Mead → méthode locale (polytope convergeant vers un minimum local)
Direct → méthode globale (partition de l’espace de recherche)
• Méthodes stochastiques
Métaheuristiques → exploration avec un aspect aléatoire
application aux problèmes combinatoires (variables entières)
399
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.2 Nelder-Mead
Techniques d’optimisation Mai 2017
2.6.2 Nelder-Mead
Polytope
Algorithme
Améliorations
- Coefficients de déplacement
- Approximation du gradient
Exemples
400
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.2 Nelder-Mead
Techniques d’optimisation Mai 2017
2.6.2 Nelder-Mead
Problème sans contrainte
min f(x)
xR n
Principes
La méthode de Nelder-Mead (1965) est une méthode d’ordre 0 (sans dérivées).
n’utilise que des évaluations de la fonction (aucune évaluation du gradient)
• A chaque itération, on cherche à remplacer le plus mauvais point par un point meilleur.
P x 0 , x1 ,, x n 1 , x n P' x 0 , x1 ,, x n 1 , x new
P' x '0 , x '1 ,, x 'n 1 , x 'n après reclassement
•
On obtient une suite de polytopes (Pk)kN : P k x 0k , x1k , , x kn 1 , x kn
• Si la méthode converge, les polytopes Pk sont de taille décroissante
et les points du polytope convergent vers un minimum local de f.
401
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.2 Nelder-Mead
Techniques d’optimisation Mai 2017
2.6.2 Nelder-Mead
Polytope
P x 0 , x1 ,, x n 1 , x n x0
f ( x 0 ) f ( x1 ) f ( x n 1 ) f ( x n )
x* x2
Nouveau point
xc est le barycentre des n meilleurs points.
1 n 1
xc xi
n i 0 x1
On cherche à ramener le plus mauvais point xn vers le barycentre xc.
On teste des points x sur la demi-droite [xn,xc) paramétrée par t > 0.
x(t) x c t(x c x n )
x0
Points testés successivement :
• Réflexion : x(t=+1) = xr x* x2
• Expansion : x(t=+2) = xe xc
xci
• Contraction externe : x(t=+0.5) = xce
xce
• Contraction interne : x(t=0.5) = xci xr
xe
x1
x(t)
402
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.2 Nelder-Mead
Techniques d’optimisation Mai 2017
2.6.2 Nelder-Mead
Nouveau point
Le polytope initial est P x 0 , x1 , , x n 1 , x n avec f ( x 0 ) f ( x1 ) f ( x n 1 ) f ( x n )
• Résultat mauvais : f ( x n ) f ( x r )
on essaie xci
on remplace xn par xci , ou on contracte tout le polytope P vers x0
403
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.2 Nelder-Mead
Techniques d’optimisation Mai 2017
2.6.2 Nelder-Mead
Itération k
P k x 0k , x1k ,, x kn 1 , x kn avec f ( x 0k ) f ( x1k ) f ( x kn 1 ) f ( x kn )
1 n 1 k
1. Barycentre : x c x i d x c x kn
n i 0
2. Réflexion : xr = xc + d f(xr) d
3. Si f(xr) < f(x0)
Expansion : xe = xc + 2d f(xe)
Si f(xe) < f(xr) x’ = xe
Sinon x’ = xr
2d
4. Si f(x0) < f(xr) < f(xn-1) x’ = xr
5. Si f(xn-1) < f(xr) < f(xn)
Contraction externe : xce = xc + d/2 f(xce)
Si f(xce) < f(xr) x’ = xce
d/2
Sinon x’ = xr
6. Si f(xn) < f(xr)
Contraction interne : xci = xc d/2 f(xci)
Si f(xci) < f(xn) x’ = xci
Sinon réduction de P vers x0 x i
k 1 1
2
x 0 x ik d/2
7. Nouveau point x’ polytope P k 1 x 0k , x1k , , x kn 1 , x ' à reclasser
P k 1 x 0k 1 , x1k 1 ,, x kn 11 , x kn 1 avec f ( x 0k 1 ) f ( x1k 1 ) f ( x kn 11 ) f ( x kn 1 )
404
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.2 Nelder-Mead
Techniques d’optimisation Mai 2017
2.6.2 Nelder-Mead
Initialisation
Polytope initial P 0 x 00 , x10 ,, x 0n 1 , x 0n avec f ( x 00 ) f ( x10 ) f ( x 0n 1 ) f ( x 0n )
points suffisamment distants, non alignés
Itération k
P k x 0k , x1k ,, x kn 1 , x kn avec f ( x 0k ) f ( x1k ) f ( x kn 1 ) f ( x kn )
• Nouveau point x’ reclassement des points x0, x1, … , xn-1, x’ par valeur de f croissante
• Nouveau polytope :
P k 1 x 0k 1 , x1k 1 ,, x kn 11 , x kn 1 avec f ( x 0k 1 ) f ( x1k 1 ) f ( x kn 11 ) f ( x kn 1 )
Arrêt
• Taille du polytope → diamètre
• Valeur de la fonction → non décroissante, constante sur le polytope
• Dégénérescence du polytope → alignement des points
2.6.2 Nelder-Mead
Réglage standard des coefficients
Les coefficients standards sont indépendants de la dimension n du problème.
• Réflexion : =1
• Expansion : = 2
• Contraction : = 0.5 → externe (+0.5) , interne (0.5)
• Réduction : = 0.5
Ces coefficients conduisent fréquemment à une dégénérescence du polytope.
2.6.2 Nelder-Mead
Approximation du gradient
Le polytope P donne la valeur de la fonction en n+1 points de Rn.
P x 0 , x1 ,, x n 1 , x n avec f ( x 0 ) f ( x1 ) f ( x n 1 ) f ( x n )
f i f ( x i ) f ( x 0 )
f i x i g avec x i x i x 0
T
g f ( x )
0
2.6.2 Nelder-Mead
Correction de direction
• Si le polytope P n’est pas dégénéré, les n arêtes (xi)i=1à n forment une base de Rn.
La matrice X = (x1 , … , xn) est inversible.
On obtient une approximation du gradient g de f en x0 : F X T g g X T F
x1 x1
xc x0 x0
g
d (1-)d
x* x*
d’
g g
x2 x2
direction d direction d’
408
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.2 Nelder-Mead
Techniques d’optimisation Mai 2017
2.6.2 Nelder-Mead
Exemple 1 : fonction quadratique
1 9
f ( x 1 , x 2 ) x 12 x 22
2 2
2,5
Position du meilleur point au cours des itérations
2,0
1,5
1,0 1
4
0,5
6
8 5
2
0,0
-0,5 9 0,0 7 0,5 3 1,0 1,5 2,0 2,5
-0,5
409
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.2 Nelder-Mead
Techniques d’optimisation Mai 2017
2.6.2 Nelder-Mead
Exemple 2 : fonction de Rosenbrock
f ( x1 , x 2 ) 100 x 2 x12 1 x1
2 2
1,25
1,00
0,75
0,50
0,25
0,00
-1,50 -1,00 -0,50 0,00 0,50 1,00 1,50
-0,25
410
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Direct
Principe
Fonction lipschitzienne
Division d’intervalles
Algorithme à n variables
Exemple
411
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Direct
Principe
min f(x) → problème sans contrainte
xR n
• L’algorithme est développé dans le cas à une variable, puis étendue au cas à n variables.
412
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Direct
Fonction lipschitzienne
min f(x) → problème sans contrainte
xR n
• La fonction f est supposée lipschitzienne (ou continue au sens de Lipschitz) sur le domaine D.
K 0 , x, y D , f ( y) f ( x ) K y x
x D , f (c) Kd f ( x ) f (c) Kd
f(c)
avec c = point quelconque de D
d = majorant de la dimension de D
→ x c d
c x
413
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Direct
Exemple
1
f ( x ) sin 4 x 6x 2 2 sur D 0 ;1
2
1 8
f ' ( x ) 4 cos 4 x 12x
2 7
5
f ' ( x ) 4 12 sur D 0 ;1
4
f(c)
→ f est lipschitzienne sur [0 ; 1] 3
2
• Si on prend : K = 25 4 + 12
c = 0,5 → f(c) = 3,5 1
d
d = 0,5 c
0
0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0
414
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Direct
Division d’intervalles
• On considère une fonction f d’une variable x définie sur un intervalle D.
La fonction est supposée lipschitzienne de constante K (non connue) sur D.
2.6.3 Direct
Division d’intervalles
416
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Direct
Graphe associé
• On représente les intervalles Dj sur un graphe avec : en abscisse la demi-longueur dj de Dj
en ordonnée la valeur fj au centre de Dj
L’intervalle Dj est représenté par le point de coordonnées : (dj , fj)
La droite de pente K passant par ce point a pour équation : y K ( x d j ) f j
Minorant de f
sur chaque intervalle (dj,fj)
fb,j
« Meilleur » intervalle
(minorant le plus bas)
→ potentiellement optimal d
417
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Direct
Intervalle potentiellement optimal
• Un intervalle est potentiellement optimal s’il existe une constante K positive
telle que cet intervalle donne le minorant le plus bas.
Dj potentiellement optimal si K 0 , i , f b , j f b ,i f j Kd j f i Kd i
• Si l’on fait passer une droite de pente K par chaque point représentatif d’un intervalle,
la droite associée à l’intervalle Dj a l’ordonnée à l’origine la plus petite.
f f
potentiellement optimal
pour K = K1
potentiellement optimal
pour K = K2
d d
418
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Direct
Intervalle potentiellement optimal
• L’intervalle Dj (dj , fj) est potentiellement optimal si K 0 , i , f j Kd j f i Kd i
K 0 , i , f j f i K (d j d i )
419
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Direct
Intervalle potentiellement optimal
• On ajoute une condition de décroissance suffisante.
f j Kd j f i Kd i , i
Dj potentiellement optimal si K 0 f Kd f f avec f min min f i
j j min
min
i
• La première condition exprime que Dj (dj , fj) est un point de l’enveloppe convexe inférieure
dans le graphe (d , f). Cette condition est satisfaite si :
420
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Direct
Algorithme à une variable
• Une itération consiste à : - sélectionner p intervalles parmi ceux potentiellement optimaux
- les diviser en 3 intervalles égaux.
Le nombre d’intervalles augmente de 2p à chaque itération (p=2 pour l’exemple).
421
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Direct
Exemple à une variable
Minimum local global local local
1
f ( x ) sin 4 x 6x 2 2 sur D 1;1 x -0,57843 -0,11615 0,34804 0,80520
2
f(x) 3,17389 1,08712 1,78363 5,25072
8
0
-1,0 -0,9 -0,8 -0,7 -0,6 -0,5 -0,4 -0,3 -0,2 -0,1 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0
422
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Exemple
Itération 1 : 3 intervalles
Passage de 3 à 5 intervalles
1
0
0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7
longueur 423
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Exemple
Itération 2 : 5 intervalles
2.6.3 Exemple
Itération 3 : 9 intervalles
0
0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7
longueur 425
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Exemple
Itération 4 : 13 intervalles
0
0,00 0,05 0,10 0,15 0,20 0,25
longueur 426
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Exemple
Itération 5 : 17 intervalles
0
0,00 0,05 0,10 0,15 0,20 0,25
longueur 427
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Exemple
Itération 6 : 21 intervalles
0
0,00 0,05 0,10 0,15 0,20 0,25
longueur 428
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Exemple
Itération 7 : 25 intervalles
2.6.3 Exemple
Exemple à une variable
On obtient après 25 évaluations une approximation du minimum global : x 0,115
f 1,087
Evolution du meilleur point à chaque itération → 2,00
1,50
8
1,00
7 -0,25-0,20-0,15-0,10-0,05 0,00 0,05
0
-1,0 -0,9 -0,8 -0,7 -0,6 -0,5 -0,4 -0,3 -0,2 -0,1 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0
430
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Direct
Algorithme à n variables
• On peut appliquer la méthode de partitionnement de façon similaire dans le cas à n variables.
Les intervalles sont remplacés par des hyperrectangles dans Rn.
431
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Direct
Division d’un hypercube
• L’hypercube a pour centre c0 et pour côté .
• On évalue 2 points à distance /3 de c0
suivant chaque direction ei pour i=1 à n.
1 c3
c
i c 0 ei i f (ci )
3 → 2n points
1
ci c 0 ei i f (ci )
c 2
3
• On retient la valeur minimale i c1 c0 c1
suivant chaque direction ei. c 2
i min(i , i ) , i 1 à n
c3
x3
• Les i sont rangés dans l’ordre croissant. x2
i1 ≤ i2 ≤ … ≤ in
x1
→ détermine les meilleures directions
et l’ordre de division des côtés de l’hypercube
432
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Direct
/3
Division d’un hypercube
• L’hypercube initial a pour centre c0 et pour côté .
/3
et de côté /3.
433
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Direct
Division d’un hypercube /3
• Chaque division génère 2 hyperrectangles supplémentaires.
Les hyperrectangles ont des côtés de longueur /3 ou .
/3
- 2n hyperrectangles de centres ci , ci+ pour i=1 à n.
- 1 hypercube central de centre c0 et de côté /3
434
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Direct
Division des hyperrectangles
• Première itération
6 6
e2
9 5 9 8 5 9 8
2 2
e1 435
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Direct
Division des hyperrectangles
• Deuxième itération
6 6 6
e2
5 9 8 5 9 8 5 9 8
2 3 2 6 3 2 6
e1 436
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Direct
Division des hyperrectangles
• Troisième itération
6 7 6 9 7 6 9
e2
5 9 8 5 9 8 5 9 8
3 3
3 2 6 3 5 2 1 6 3 5 2 1 6
4 4
e1 437
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Direct
Dimension des hyperrectangles
• On suppose que le domaine de recherche initial D0 est un hypercube de côté 0.
On peut toujours se ramener à cette situation par une mise à l’échelle sur les variables.
xi ai
a i x i bi 0 x i ' 0 avec x i ' 0
bi a i
• Les divisions génèrent des hyperrectangles Dj dont les côtés ont 2 longueurs différentes.
- p côtés sont de longueur i = 0/3k+1 , i = 1 à p
- np côtés sont de longueur i = 0/3k , i = p+1 à n
p 8
Dj 0 / 3k ( n p ) 0 / 3k n p
2 9 9
438
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Direct
Hyperrectangle potentiellement optimal
• A l’itération k, le domaine de recherche D est partitionné en hyperrectangles Dj.
La procédure pour choisir l’hyperrectangle à diviser est identique au cas à une variable.
f j Kd j f i Kd i , i
• Dj est potentiellement optimal si K 0
f j Kd j f min f min avec f min min f i
i
On peut représenter l’ensemble des hyperrectangles sur le graphe associé (dj , fj).
La constante K est calculée de la même façon que dans le cas à une variable.
439
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Exemple
Exemple à deux variables
f ( x, y) ( x 0.2) 2 2( y 0.1) 2 0.3 cos3( x 0.2) 0.4 cos4( y 0.1) 0.7
• Hypercube initial : 1 ≤ x ≤ 1
1 ≤ y ≤ 1
• Extrema locaux
0,570 0,883 1,190 0,470 1,190 0,883
0,367 1,346 1,654 0,933 1,654 1,346
0,100 0,413 0,720 0,000 0,720 0,413
-0,167 1,346 1,654 0,933 1,654 1,346
-0,370 0,883 1,190 0,470 1,190 0,883
y/x -0,419 -0,161 0,200 0,561 0,819
En vert : minimum
En orange : maximum
En blanc : point-selle
2.6.3 Exemple
Itération 1 : Division de l’hypercube initial
x y f
-0,667 0,000 1,440
0,667 0,000 0,907
0,000 -0,667 2,400
0,000 0,667 1,207
0,000 0,000 0,729
2.6.3 Exemple
Itération 1 : 5 hyperrectangles
2.6.3 Exemple
Itération 2 : 11 hyperrectangles
2.6.3 Exemple
Itération 3 : 15 hyperrectangles
444
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Exemple
Itération 4 : 23 hyperrectangles
445
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Exemple
Itération 5 : 27 hyperrectangles
2.6.3 Exemple
Itération 6 : 35 hyperrectangles
x mid y mid dx dy d max fmid fb
0,000 -0,667 0,333 0,333 0,333 2,400 1,238
0,000 0,667 0,333 0,333 0,333 1,207 0,046
0,667 -0,667 0,333 0,333 0,333 2,577 1,416
0,667 0,667 0,333 0,333 0,333 1,385 0,224
-0,222 0,000 0,111 0,333 0,333 0,975 -0,186
-0,667 -0,667 0,333 0,333 0,333 3,111 1,949
-0,667 0,667 0,333 0,333 0,333 1,918 0,757
-0,667 0,000 0,333 0,333 0,333 1,440 0,279
0,444 0,000 0,111 0,333 0,333 0,857 -0,304 3,484
0,667 -0,222 0,111 0,111 0,111 1,464 1,077
0,667 0,222 0,111 0,111 0,111 1,026 0,639
0,667 0,000 0,111 0,111 0,111 0,907 0,520
0,000 -0,222 0,111 0,111 0,111 1,287 0,900
0,000 0,222 0,111 0,111 0,111 0,849 0,462
0,222 -0,222 0,111 0,111 0,111 0,861 0,474
0,000 0,000 0,111 0,111 0,111 0,729 0,342
0,222 -0,074 0,111 0,037 0,111 0,699 0,312
0,889 -0,222 0,111 0,111 0,111 1,335 0,948
0,889 0,222 0,111 0,111 0,111 0,897 0,510
0,889 0,000 0,111 0,111 0,111 0,778 0,390
0,222 0,148 0,111 0,037 0,111 0,083 -0,304 1,021
0,222 0,296 0,111 0,037 0,111 0,796 0,409
0,148 0,222 0,037 0,037 0,037 0,454 0,416
0,296 0,222 0,037 0,037 0,037 0,540 0,503
0,222 0,222 0,037 0,037 0,037 0,423 0,385
0,148 0,000 0,037 0,037 0,037 0,334 0,137
0,296 0,000 0,037 0,037 0,037 0,421 0,224
0,148 0,074 0,037 0,037 0,037 0,060 0,197
0,296 0,074 0,037 0,037 0,037 0,147 0,284
0,222 0,000 0,037 0,037 0,037 0,303 0,107
0,222 0,049 0,037 0,012 0,037 0,090 0,053
0,222 0,099 0,037 0,012 0,037 0,007 -0,031 -0,623
0,198 0,074 0,012 0,012 0,012 0,022 0,030
0,247
0,222
0,074
0,074
0,012
0,012
0,012
0,012
0,012
0,012
0,053
0,029
0,061
0,037
447
2 Optimisation sans contraintes Max CERF
2.6 Méthodes sans gradient
2.6.3 Direct
Techniques d’optimisation Mai 2017
2.6.3 Direct
Exemple à deux variables
f ( x, y) ( x 0.2) 2 2( y 0.1) 2 0.3 cos3( x 0.2) 0.4 cos4( y 0.1) 0.7
• On obtient après 35 évaluations une approximation du minimum global.
Itération x y f
1 0,000 0,000 0,729
2 0,222 0,000 0,303
3 0,222 0,000 0,303
4 0,222 0,074 0,029
5 0,222 0,074 0,029
6 0,222 0,099 0,007
448
3 Optimisation avec contraintes Max CERF
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
4. Optimisation discrète
5. Optimisation fonctionnelle
449
3 Optimisation avec contraintes Max CERF
Techniques d’optimisation Mai 2017
Catégories de problèmes
• Programmation linéaire Fonctions f, cE, cI linéaires
• Programmation non linéaire Fonctions f, cE, cI quelconques
450
3 Optimisation avec contraintes Max CERF
Techniques d’optimisation Mai 2017
Algorithmes - simplexe (LP) - point intérieur (LP, NLP) - simplexe dual (LP)
- gradient projeté - séquentiel quadratique - lagrangien augmenté
- pénalisation - Uzawa
451
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
2. Optimisation sans contraintes
4. Optimisation discrète
5. Optimisation fonctionnelle
452
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation Mai 2017
Forme standard
Solution
Recherche systématique
Recherche optimisée
Forme canonique
453
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation Mai 2017
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*.
455
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation Mai 2017
3.1.1 Solution
Recherche systématique
Si (PL) admet une solution x*, x* est un sommet du polytope P associé aux contraintes.
On peut donc trouver la solution : en parcourant tous les sommets de P (= bases)
en calculant les solutions de base associées
en conservant la meilleure solution de base réalisable
Inconvénient
n!
C mn combinaisons possibles inapplicable en pratique
m!(n m)!
456
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation Mai 2017
3.1.1 Exemple
Recherche systématique
x2
x 1 x 2 x 3 1
min x 1 2x 2 sous x 1 x 2 x 4 1 1 C
x 1 , x 2 , x 3 , x 4 0
x1 , x 2 , x 3 , x 4
x1+x2=1
• Représentation graphique dans R2
x x x 2 1 x 1 0
P' 1 / 1 ,
x 2 1
x x 2 1 x 2 0 P
• Solution graphique : point C (f = 2) A B
Base x f
x1,x2 (1 0 0 0) B 1
x1,x3 (1 0 0 0) B 1
x1x2=1
x1,x4 (1 0 0 0) B 1
x2,x3 (0 1 2 0) D Non admissible
D
x2,x4 (0 1 0 2) C 2
x3,x4 (0 0 1 1) A 0
457
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation Mai 2017
3.1.1 Solution
Recherche optimisée
On évite l’énumération systématique en parcourant les sommets de façon ordonnée
Méthode du simplexe = méthode de contraintes actives
Principes
• On se déplace d’une solution de base admissible à une autre solution de base admissible.
Les solutions non admissibles ne sont pas examinées.
• Les bases successives ne diffèrent que par l’une des variables (bases adjacentes)
• Le déplacement d’un sommet à un autre est choisi à partir des directions de base
Déplacement suivant les arêtes du polytope
458
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.1 Problème linéaire
Techniques d’optimisation Mai 2017
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
minnm 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
jN x j
Optimalité
• Coût réduit c j = dérivée directionnelle suivant la direction de base dj associée à xj, jN
• Si tous les coûts réduits sont positifs ou nuls, la solution est optimale.
• Sinon le coût décroît suivant une direction de base dj de coût réduit négatif
= direction de descente
460
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017
3.1.2 Déplacement
Règles de déplacement
Changement de base
Formules de pivotage
461
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017
• Le déplacement est limité par le fait que les variables de base doivent rester positives.
462
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017
0 si j e 0 si j e
• Variables hors base xj, jN : 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 eN 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
466
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017
x2 Sommet initial
Min f=x2
1er déplacement
2 pivotages
12 pivotages
Solution Dégénérescence
x1
467
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017
• Formulation matricielle
b B 1b
minnm z c NT x N sous x B b B1 Nx N 0 avec z c TB b
x N R
x N 0 c NT c TN c TB B 1 N
b B -1b
B -1 N (a )
ij i B, jN
min z c j x j sous x i bi a ij x j 0 , i B
noté
avec z c i bi
x N 0
jN jN iB
c j c j c i a ij , j N
iB
468
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017
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, iB’=Bs+e
On obtient les formules de pivotage.
469
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017
bs 1 a sj
x s bs a sj x j bs a se x e a sj x j xe xs xj
jN jN e a se a se a
jN e se
b
be ' s
a se
1
En identifiant les coefficients : a es ' js
a se
a sj
a '
ej a j N e
se
470
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017
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
jN e a se a se jN e a se jN e
a ie a a
x i bi bs ie bs x s a ij ie a sj x j
a se a se jN e a se
a ie
i
b ' b i bs
a se
a
a is ' js
ie
En identifiant les coefficients :
a se
a ' a a ie a j N e
ij ij sj
a se
471
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017
bs
z ' z ce
a se
ce
En identifiant les coefficients : cs ' js
a se
a sj
c
j ' c j c e j N e
a se
472
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017
• Nouveau coût bs
z ' z c e
a se
ce
cs ' js
a se
a sj
c
j ' c j c e j N e
a se
473
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017
474
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017
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 11 I B1 N b x B B1 Nx N b
T
z z c BT b 0 c NT z c NT x N z z
475
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017
Méthode de pivotage
• On choisit une variable hors base de coût réduit négatif colonne e
• On examine la variation des variables de base suivant la direction de
bi
x i bi a ie x e , i B s’annule pour : xe
a ie
• La première variable de base à s’annuler sort de la base ligne s
• Le pivotage e-s consiste à faire apparaître une colonne de la matrice identité en colonne e.
forme canonique dans la nouvelle base
par combinaison linéaire des lignes du tableau
476
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017
x1 x e x n x1 x e x n
a 1e b1 0 b1 '
a se bs 1 bs '
a me b m 0 bm '
c1 ce c n z c1 ' 0 c n ' z'
477
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017
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
iB
T (i,e) 0
2. Réalisation du pivotage
• Pivot = T(s,e)
T(i, e)
• Lignes i=1,…,m+1, is 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)
478
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017
3.1.2 Exemple
Méthode des tableaux
• Problème linéaire à 3 variables x1, x2, x3
x 1 2x 2 2x 3 20
2x x 2 2x 3 20
min 10x 1 12x 2 12x 3 sous 1
2x 2x 2 x 3 20
1
x1 , x 2 , x 3
x 1 , x 2 , x 3 0
• Forme standard
x 1 2x 2 2x 3 x 4 20
2x x 2 2x 3 x 5 20
min 10x 1 12x 2 12x 3 sous 1
2x 2x 2 x 3 x 6 20
1
x1 , x 2 , x 3 , x 4 , x 5 , x 6
x 1 , x 2 , x 3 , x 4 , x 5 , x 6 0
479
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017
3.1.2 Exemple
Méthode des tableaux
• Tableau du simplexe
x1 x2 x3 x4 x5 x6
1 2 2 1 0 0 20 x4 Base initiale admissible
(x4 , x5 , x6)
2 1 2 0 1 0 20 x5
2 2 1 0 0 1 20 x6
-10 -12 -12 0 0 0 0 -z
• Pivot : a 51 2
480
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017
3.1.2 Exemple
Méthode des tableaux
• 1er pivotage : entrée x1, sortie x5
x1 x2 x3 x4 x5 x6 Pas
1 2 2 1 0 0 20 x4 s14=20
2 1 2 0 1 0 20 x5 s15=10
2 2 1 0 0 1 20 x6 s16=10
-10 -12 -12 0 0 0 0 z
x1 x2 x3 x4 x5 x6
0 1.5 1 1 -0.5 0 10 x4 Nouvelle base
1 0.5 1 0 0.5 0 10 x1 (x1 , x4 , x6)
0 1 -1 0 -1 1 0 x6
0 -7 -2 0 5 0 100 z
481
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017
3.1.2 Exemple
Méthode des tableaux
• 2ème pivotage : entrée x2, sortie x6
x1 x2 x3 x4 x5 x6 Pas
0 1.5 1 1 -0.5 0 10 x4 s24=20/3
1 0.5 1 0 0.5 0 10 x1 s21=20
0 1 -1 0 -1 1 0 x6 s26=0
0 -7 -2 0 5 0 100 z
x1 x2 x3 x4 x5 x6
0 0 2.5 1 1 -1.5 10 x4 Nouvelle base
1 0 1.5 0 1 -0.5 10 x1 (x1 , x2 , x4)
0 1 -1 0 -1 1 0 x2
0 0 -9 0 -2 7 100 z
482
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017
3.1.2 Exemple
Méthode des tableaux
• 3ème pivotage : entrée x3, sortie x4
x1 x2 x3 x4 x5 x6 Pas
0 0 2.5 1 1 -1.5 10 x4 s34=4
1 0 1.5 0 1 -0.5 10 x1 s31=20/3
0 1 -1 0 -1 1 0 x2 s32=+
0 0 -9 0 -2 7 100 z
x1 x2 x3 x4 x5 x6
0 0 1 0.4 0.4 -0.6 4 x3 Nouvelle base
1 0 0 -0.6 0.4 0.4 4 x1 (x1 , x2 , x3)
0 1 0 0.4 -0.6 0.4 4 x2
0 0 0 3.6 1.6 1.6 136 z
x* 4 4 4 0 0 0T
• Solution optimale : c0
z* 136
483
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.2 Déplacement
Techniques d’optimisation Mai 2017
3.1.2 Exemple
Méthode des tableaux
Récapitulatif des itérations
k B c x1 x2 x3 x4 x5 x6 dB smax e s z
0 4 5 6 -10 -12 -12 0 0 0 20 20 20 -1 -2 -2 10 1 5 0
1 1 4 6 -7 -2 5 10 0 0 10 0 0 -1.5 -0.5 -1 0 2 6 -100
2 1 2 4 -9 -2 7 10 0 0 10 0 0 -2.5 -1.5 1 4 3 4 -100
3 1 2 3 3.6 31.6 1.6 4 4 4 0 0 0 -136
Commentaires
• La mise sous forme standard nécessite d’introduire des variables supplémentaires.
Variables d’écart positives
• On dispose directement d’une base initiale admissible formée des variables d’écart.
Ce n’est pas toujours le cas.
Phase préliminaire pour construire une base initiale
• Certains pivotages ne réduisent pas le coût (exemple : pivotage numéro 2).
Base dégénérée + risque de cyclage ( = retrouver une base précédente)
• La solution optimale ne comporte que les variables initiales.
Ce n’est pas toujours le cas.
Des pivotages supplémentaires peuvent être nécessaires.
484
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017
3.1.3 Initialisation
Problème auxiliaire
Tableau initial
485
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017
Problème auxiliaire
Le problème auxiliaire (PLa) sous forme standard est : minn 0 T x e T y sous Ax y b
xR x , y 0
yRm
• La fonction coût du problème auxiliaire est positive, bornée inférieurement par 0 (car y0).
• Si x0 est un point admissible de (PL), alors (x=x0, y=0) est une solution de (PLa) à coût nul
donc une solution optimale de (PLa)
On peut donc trouver un point admissible en résolvant le problème auxiliaire (PLa).
486
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017
• On peut supposer b0 (au besoin en multipliant les contraintes égalité par -1).
487
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017
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é.
488
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017
3.1.3 Exemple
Problème auxiliaire
• Problème linéaire à 4 variables x1, x2, x3 ,x4
x 1 2x 2 3x 3 3
x 1 2 x 2 6 x 3 2
min x 1 x 2 x 3 sous 4x 2 9x 3 5
3x 3 x 4 1
x1 , x 2 , x 3 , x 4
x 1 , x 2 , x 3 , x 4 0
• Problème auxiliaire
489
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017
3.1.3 Exemple
Problème auxiliaire
• Tableau initial du simplexe pour le problème auxiliaire
x1 x2 x3 x4 y1 y2 y3 y4
1 2 3 0 1 0 0 0 3 y1
-1 2 6 0 0 1 0 0 2 y2
0 4 9 0 0 0 1 0 5 y3
0 0 3 1 0 0 0 1 1 y4
0 -8 -21 -1 0 0 0 0 -11 -z
• Variable entrante
1er coût réduit négatif x2
• Variable sortante
1ère variable de base à s’annuler y2
490
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017
3.1.3 Exemple
Problème auxiliaire
• Itérations du simplexe pour le problème auxiliaire
x1 x2 x3 x4 y1 y2 y3 y4
1 2 3 0 1 0 0 0 3 y1
-1 2 6 0 0 1 0 0 2 y2
0 4 9 0 0 0 1 0 5 y3
0 0 3 1 0 0 0 1 1 y4
0 -8 -21 -1 0 0 0 0 -11 -z
x1 x2 x3 x4 y1 y2 y3 y4
2 0 -3 0 1 -1 0 0 1 y1
-1/2 1 3 0 0 1/2 0 0 1 x2
2 0 -3 0 0 -2 1 0 1 y3
0 0 3 1 0 0 0 1 1 y4
-4 0 3 -1 0 4 0 0 -3 -z
491
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017
3.1.3 Exemple
Problème auxiliaire
• Itérations du simplexe pour le problème auxiliaire
x1 x2 x3 x4 y1 y2 y3 y4
2 0 -3 0 1 -1 0 0 1 y1
-1/2 1 3 0 0 1/2 0 0 1 x2
2 0 -3 0 0 -2 1 0 1 y3
0 0 3 1 0 0 0 1 1 y4
-4 0 3 -1 0 4 0 0 -3 -z
x1 x2 x3 x4 y1 y2 y3 y4
1 0 -3/2 0 1/2 -1/2 0 0 1/2 x1
0 1 9/4 0 1/4 1/4 0 0 5/4 x2
0 0 0 0 -1 -1 1 0 0 y3
0 0 3 1 0 0 0 1 1 y4
0 0 -3 -1 2 2 0 0 -1 -z
492
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017
3.1.3 Exemple
Problème auxiliaire
• Itérations du simplexe pour le problème auxiliaire
x1 x2 x3 x4 y1 y2 y3 y4
1 0 -3/2 0 1/2 -1/2 0 0 1/2 x1
0 1 9/4 0 1/4 1/4 0 0 5/4 x2
0 0 0 0 -1 -1 1 0 0 y3
0 0 3 1 0 0 0 1 1 y4
0 0 -3 -1 2 2 0 0 -1 -z
x1 x2 x3 x4 y1 y2 y3 y4
1 0 0 1/2 1/2 -1/2 0 1/2 1 x1
0 1 0 -3/4 1/4 1/4 0 -3/4 1/2 x2
0 0 0 0 -1 -1 1 0 0 y3
0 0 1 1/3 0 0 0 1/3 1/3 x3
0 0 0 0 2 2 0 1 0 -z
493
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017
3.1.3 Exemple
Problème auxiliaire
• Echange des variables auxiliaires y en base avec des variables x
x1 x2 x3 x4 y1 y2 y3 y4
1 0 0 1/2 1/2 -1/2 0 1/2 1 x1
0 1 0 -3/4 1/4 1/4 0 -3/4 1/2 x2
0 0 0 0 -1 -1 1 0 0 y3
0 0 1 1/3 0 0 0 1/3 1/3 x3
0 0 0 0 2 2 0 1 0 -z
494
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017
3.1.3 Exemple
Problème auxiliaire
• Tableau solution du problème auxiliaire
x1 x2 x3 x4 y1 y2 y3 y4
1 0 0 1/2 1/2 -1/2 0 1/2 1 x1
0 1 0 -3/4 1/4 1/4 0 -3/4 1/2 x2
0 0 0 0 -1 -1 1 0 0 y3
0 0 1 1/3 0 0 0 1/3 1/3 x3
0 0 0 0 2 2 0 1 0 -z
coût nul
point admissible du problème initial
495
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017
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 cNcBTB-1N cBTB-1b -z 0 cN -z -z
496
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017
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 cNcBTB-1N cBTB-1b -z
497
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017
3.1.3 Exemple
Méthode des 2 phases
• Problème linéaire à 5 variables x1, x2, x3 ,x4 ,x5
x 1 3x 2 4x 4 x 5 2
x 2x 2 3x 4 x 5 2
min 2x 1 3x 2 3x 3 x 4 2x 5 sous 1
x 4x 2 3x 3 1
1
x1 , x 2 , x 3 , x 4 , x 5
x 1 , x 2 , x 3 , x 4 , x 5 0
• Problème auxiliaire
x 1 3x 2 4 x 4 x 5 y1 2
x 2x 2 3x 4 x 5 y2 2
min y1 y 2 y 3 sous 1
x 4x 2 3x 3 y3 1
1
x1 , x 2 , x 3 , x 4 , x 5
x 1 , x 2 , x 3 , x 4 , x 5 , y1 , y 2 , y 3 0
y1 , y 2 , y 3
498
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017
3.1.3 Exemple
Méthode des 2 phases
• Tableau initial du problème auxiliaire
x1 x2 x3 x4 x5 y1 y2 y3
1 3 0 4 1 1 0 0 2 y1
1 2 0 -3 1 0 1 0 2 y2
-1 -4 3 0 0 0 0 1 1 y3
-1 -1 -3 -1 -2 0 0 0 -5 -z
• Variable entrante
1er coût réduit négatif x1
• Variable sortante
1ère variable de base à s’annuler y1
499
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017
3.1.3 Exemple
Méthode des 2 phases
• Itérations du problème auxiliaire
x1 x2 x3 x4 x5 y1 y2 y3
1 3 0 4 1 1 0 0 2 y1
1 2 0 -3 1 0 1 0 2 y2
-1 -4 3 0 0 0 0 1 1 y3
-1 -1 -3 -1 -2 0 0 0 -5 -z
x1 x2 x3 x4 x5 y1 y2 y3
1 3 0 4 1 1 0 0 2 x1
0 -1 0 -7 0 -1 1 0 0 y2
0 -1 3 4 1 1 0 1 3 y3
0 2 -3 3 -1 1 0 0 -3 -z
500
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017
3.1.3 Exemple
Méthode des 2 phases
• Itérations du problème auxiliaire
x1 x2 x3 x4 x5 y1 y2 y3
1 3 0 4 1 1 0 0 2 x1
0 -1 0 -7 0 -1 1 0 0 y2
0 -1 3 4 1 1 0 1 3 y3
0 2 -3 3 -1 1 0 0 -3 -z
x1 x2 x3 x4 x5 y1 y2 y3
1 3 0 4 1 1 0 0 2 x1
0 -1 0 -7 0 -1 1 0 0 y2
0 -1/3 1 4/3 1/3 1/3 0 1/3 1 x3
0 1 0 7 0 2 0 1 0 -z
501
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017
3.1.3 Exemple
Méthode des 2 phases
• Base initiale : échange y2 – x2
x1 x2 x3 x4 x5 y1 y2 y3
1 3 0 4 1 1 0 0 2 x1
0 -1 0 -7 0 -1 1 0 0 y2
0 -1/3 1 4/3 1/3 1/3 0 1/3 1 x3
0 1 0 7 0 2 0 1 0 -z
x1 x2 x3 x4 x5 y1 y2 y3
1 0 0 -17 1 2 3 0 2 x1
0 1 0 7 0 -1 -1 0 0 x2
0 0 1 3.67 1/3 2/3 -1/3 1/3 1 x3
0 0 0 0 0 1 1 1 0 -z
502
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017
3.1.3 Exemple
Méthode des 2 phases
• Base initiale : suppression variables auxiliaires
x1 x2 x3 x4 x5
1 0 0 -17 1 2 x1
0 1 0 7 0 0 x2
0 0 1 3.67 1/3 1 x3
0 0 0 0 0 0 -z
3.1.3 Exemple
Méthode des 2 phases
• Itérations du problème initial
x1 x2 x3 x4 x5
1 0 0 -17 1 2 x1
0 1 0 7 0 0 x2
0 0 1 3.67 1/3 1 x3
0 0 0 3 -5 -7 -z
x1 x2 x3 x4 x5
1 0 0 -17 1 2 x5
0 1 0 7 0 0 x2
-1/3 0 1 9.33 0 1/3 x3
5 0 0 -82 0 3 -z
504
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.3 Initialisation
Techniques d’optimisation Mai 2017
3.1.3 Exemple
Méthode des 2 phases
• Itérations du problème initial
x1 x2 x3 x4 x5
1 0 0 -17 1 2 x5
0 1 0 7 0 0 x2
-1/3 0 1 9.33 0 1/3 x3
5 0 0 -82 0 3 -z
x1 x2 x3 x4 x5
1 2.43 0 0 1 2 x5
0 0.14 0 1 0 0 x4
-1/3 -1.33 1 0 0 1/3 x3
5 11.71 0 0 0 3 -z
x* 0 0 1 / 3 0 2
T
• Solution optimale : c 0
z* 3
505
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.4 Simplexe révisé
Techniques d’optimisation Mai 2017
Itération du simplexe
506
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.4 Simplexe révisé
Techniques d’optimisation Mai 2017
Rappels
Ax b
• Forme standard : min c T x sous
xR n
x 0 s
B T c B
•
Multiplicateurs : T
1
N
s c N B N 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
507
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.4 Simplexe révisé
Techniques d’optimisation Mai 2017
508
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.4 Simplexe révisé
Techniques d’optimisation Mai 2017
Bx B b xB
B c B cN x e
Bd A d eB xs
eB e
509
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017
Problème dual
Forme canonique
Tableau dual
Pivotage
Exemple
510
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017
T B 1 Nx N b m contraintes
(P' ) min c x N sous
xN
N
x N 0 nm variables
B 1 Nx N b m contraintes
(P' ) max c x N T
sous
xN
N
x N 0 nm variables
512
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017
( D' ) min b y BT
sous
B 1 N T y c
B N nm 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 nm contraintes
B N
yB ,yN
y B , y N 0 n variables
513
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017
T
(D) min b y B sous N
y B 1 N T y c nm contraintes
B N
y ,yB N
y B , y N 0 n variables
yN yB
I (B 1 N) T c NT
• Tableau TD du simplexe de (D) dans la base B : TD
0 b z
Variables de base : yN valeurs cN
Variables hors base : yB coûts réduits b
Matrice des contraintes : A (B1N)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
iN
a ie 0
c Ni c
Ligne s de la variable sortante : s N min max Ni
iN
a ie 0
a ie iN a
a 0 ie
ie
2. Réalisation du pivotage
• Pivot = a se 0
• Elimination pour faire apparaître des zéros sur la colonne e du pivot
515
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017
xB xN
I B 1 N b m contraintes
TP
0 c NT z m variables de base xB
516
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017
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 primaladmissible, mais reste dualadmissible.
517
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017
3.1.5 Exemple
Simplexe dual
• Problème linéaire à 5 variables x1,x2,x3,x4,x5
x 1 x 2 1
x x 3 x 5 0
min x 1 2x 2 2x 3 3x 4 x 5 sous 2
x x3 x4 0
1
x1 , x 2 , x 3 , x 4 , x 5
x 1 , x 2 , x 3 , x 4 , x 5 0
• On choisit comme base initiale (x2,x3,x4).
x 2 1
x1 0
La solution de base associée est : x 3 1 base non primal admissible
x 5 0 x 4 1
1 1 0 0 0 1
• La matrice des contraintes est : A 0 1 1 0 1 b 0
1 0 1 1 0 0
• Pour construire le tableau du simplexe, il faut mettre le problème sous forme canonique dans
la base (x2,x3,x4) en faisant apparaître des zéros par élimination dans les colonnes 2, 3 et 4.
518
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017
3.1.5 Exemple
Simplexe dual
• Problème linéaire à 5 variables x1,x2,x3,x4,x5
x 1 x 2 1
x x 3 x 5 0
min x 1 2x 2 2x 3 3x 4 x 5 sous 2
x x3 x4 0
1
x1 , x 2 , x 3 , x 4 , x 5
x 1 , x 2 , x 3 , x 4 , x 5 0
• Tableau de départ
x1 x2 x3 x4 x5
1 1 0 0 0 1
0 -1 -1 0 1 0 contraintes
-1 0 1 1 0 0
1 2 2 3 1 0 coût
519
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017
3.1.5 Exemple
Simplexe dual
x1 x2 x3 x4 x5 x1 x2 x3 x4 x5
1 1 0 0 0 1 1 1 0 0 0 1
Elimination x2
0 -1 -1 0 1 0 1 0 -1 0 1 1
-1 0 1 1 0 0 -1 0 1 1 0 0
1 2 2 3 1 0 -1 0 2 3 1 -2
x1 x2 x3 x4 x5 x1 x2 x3 x4 x5
1 1 0 0 0 1 1 1 0 0 0 1
Elimination x3
1 0 -1 0 1 1 -1 0 1 0 -1 -1
-1 0 1 1 0 0 0 0 0 1 1 1
-1 0 2 3 1 -2 1 0 0 3 3 0
x1 x2 x3 x4 x5 x1 x2 x3 x4 x5
1 1 0 0 0 1 1 1 0 0 0 1
Elimination x4
-1 0 1 0 -1 -1 -1 0 1 0 -1 -1
0 0 0 1 1 1 0 0 0 1 1 1
1 0 0 3 3 0 1 0 0 0 0 -3
520
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017
3.1.5 Exemple
Simplexe dual
• Tableau du simplexe dans la base (x2,x3,x4).
x1 x2 x3 x4 x5
c= 1 2 2 3 1
1 1 0 0 0 1 x2 cB cN
-1 0 1 0 -1 -1 x3 I B-1N B-1b xB
0 0 0 1 1 1 x4 0 cNcBTB-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
521
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017
3.1.5 Exemple
Simplexe dual
• Tableau du simplexe dans la base (x2,x3,x4).
x1 x2 x3 x4 x5
1 1 0 0 0 1 x2 Base dualadmissible (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 35 1
522
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.5 Simplexe dual
Techniques d’optimisation Mai 2017
3.1.5 Exemple
Simplexe dual
• 1er pivotage : entrée x5, sortie x3
x1 x2 x3 x4 x5
1 1 0 0 0 1 x2
-1 0 1 0 -1 -1 x3
0 0 0 1 1 1 x4
1 0 0 0 0 -3 -z
x1 x2 x3 x4 x5
1 1 0 0 0 1 x2 Nouvelle base (x2,x4,x5)
- primaladmissible b0
1 0 -1 0 1 1 x5 - dualadmissible cN 0
-1 0 1 1 0 0 x4 optimale
1 0 0 0 0 -3 -z Solution : x* 0 1 0 0 1
z* 3
523
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017
Conditions d’optimalité
Forme canonique
Conditions de complémentarité
Règles de pivotage
Exemple
524
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017
1 T
• Lagrangien : L( x, , ) x Qx c T x T (Ax b) T x
2
avec des multiplicateurs positifs et pour les contraintes inégalité
• Le système en variables (y,) est sous forme canonique avec : = variables de base
y = variables hors base
On peut le résoudre en adaptant la méthode du simplexe de façon à vérifier
les conditions de complémentarité (qui n’existent pas dans la méthode standard).
526
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017
Ces conditions sont vérifiées par la base initiale : variables en base, variables y hors base.
527
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017
• Pivotage standard
- On choisit la variable de base la plus négative : variable ye ou e
- La variable entrante (notée xe) est la variable complémentaire de cette variable de base.
- La variable sortante (notée xs) est la 1ère variable de base à s’annuler lorsque xe augmente.
3.1.6 Exemple
Exemple
• Problème quadratique à 2 variables x1, x2
x x 2 2 → multiplicateur
min 6x1 2x12 2x1x 2 2x 22 sous 1
x1 , x 2 x1 , x 2 0 → multiplicateurs 1 , 2
• Lagrangien : L( x1 , x 2 , , 1 , 2 ) 6x1 2x12 2x1x 2 2x 22 (2 x1 x 2 ) 1x1 2 x 2
4 2
• Ordre 2 : 2xx L 0 → vérifié (valeurs propres = 2 et 6)
2 4 → problème convexe
529
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017
3.1.6 Exemple
Méthode du simplexe complémentaire
• Tableau initial : le problème est sous forme canonique dans la base (1 , 2 , r1).
x1 x2 1 1 2 r1
-4 2 -1 1 0 0 -6 1 Base initiale
(1 , 2 , r1) complémentaire
2 -4 -1 0 1 0 0 2
1 1 0 0 0 1 2 r1
530
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017
3.1.6 Exemple
Méthode du simplexe complémentaire
• Pivotage standard : entrée x1, sortie 2
x1 x2 1 1 2 r1 Pas
-4 2 -1 1 0 0 -6 1 s = 3/2
2 -4 -1 0 1 0 0 2 s=0
1 1 0 0 0 1 2 r1 s=2
• Il faut restaurer la complémentarité sur (x2 , 2) : la variable 2 est sortie de la base.
→ la variable x2 doit entrer en base.
531
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017
3.1.6 Exemple
Méthode du simplexe complémentaire
• Tableau non complémentaire
x1 x2 1 1 2 r1
0 -6 -3 1 2 0 -6 1 Base avant pivotage
(1 , x1 , r1) non complémentaire
1 -2 -1/2 0 1/2 0 0 x1
0 3 1/2 0 -1/2 1 2 r1
532
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017
3.1.6 Exemple
Méthode du simplexe complémentaire
• Pivotage complémentaire : entrée x2, sortie r1
x1 x2 1 1 2 r1 Pas
0 -6 -3 1 2 0 -6 1 s=1
1 -2 -1/2 0 1/2 0 0 x1 non borné
0 3 1/2 0 -1/2 1 2 r1 s = 2/3
• Il faut restaurer la complémentarité sur (1 , r1) : la variable r1 est sortie de la base.
→ la variable 1 doit entrer en base.
533
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017
3.1.6 Exemple
Méthode du simplexe complémentaire
• Tableau non complémentaire
x1 x2 1 1 2 r1
0 0 -2 1 1 2 -2 1 Base avant pivotage
(1 , x1 , x2) non complémentaire
1 0 -1/6 0 1/6 2/3 4/3 x1
0 1 1/6 0 -1/6 1/3 2/3 x2
534
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017
3.1.6 Exemple
Méthode du simplexe complémentaire
• Pivotage complémentaire : entrée 1, sortie 1
x1 x2 1 1 2 r1 Pas
0 0 -2 1 1 2 -2 1 s=1
1 0 -1/6 0 1/6 2/3 4/3 x1 non borné
0 1 1/6 0 -1/6 1/3 2/3 x2 s=4
535
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017
3.1.6 Exemple
Solution
• Problème quadratique à 2 variables x1, x2
x x 2 2 → multiplicateur
min 6x1 2x12 2x1x 2 2x 22 sous 1
x1 , x 2 x1 , x 2 0 → multiplicateurs 1 , 2
6 4x1 2x 2 1 0
2 x 1 4 x 2 2 0
x x 2
1 2
• Les conditions d’ordre 1 sont bien vérifiées : 1x1 0
2 x 2 0
( x x 2) 0
1 2
x1 , x 2 , , 1 , 2 0
536
3 Optimisation avec contraintes Max CERF
3.1 Simplexe
3.1.6 Problème quadratique
Techniques d’optimisation Mai 2017
3.1.6 Exemple
Méthode du simplexe complémentaire
Récapitulatif des pivotages
Convergence
• La méthode du simplexe complémentaire est applicable à un problème quadratique convexe.
On peut montrer que la convergence est obtenue en un nombre fini d’itérations.
• Si l’on peut augmenter indéfiniment une variable entrante, la solution n’est pas bornée.
• Pour éviter le cyclage en cas de dégénérescence, on choisit les variables par ordre croissant.
537
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
2. Optimisation sans contraintes
4. Optimisation discrète
5. Optimisation fonctionnelle
538
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.1 Barrière
Techniques d’optimisation Mai 2017
3.2.1 Barrière
Points intérieurs
Fonction barrière
Méthode barrière
Problème linéaire
Exemple
539
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.1 Barrière
Techniques d’optimisation Mai 2017
Points intérieurs
• Ensemble des points admissibles : X adm x R / x X, c E ( x ) 0, c I ( x ) 0
n
• Ensemble des points intérieurs : X int x R n
/ x X, c E ( x ) 0, c ( x ) 0
I
contraintes égalité conservées (définition élargie d’un point intérieur par voisinage)
contraintes inégalité strictes
Hypothèses
• Xint n’est pas vide
• Tout point admissible peut être approché arbitrairement par un point intérieur
x X , 0, ~
adm xX / ~ x x
int
hypothèses vérifiées dans le cas convexe (ensemble Xint et contraintes cE, cI)).
540
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.1 Barrière
Techniques d’optimisation Mai 2017
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
541
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.1 Barrière
Techniques d’optimisation Mai 2017
c E ( x ) 0
• Problème avec contraintes inégalités : minn f(x) sous c I ( x ) 0 solution x*
xR
x X
• Problème barrière associé : minn f h (x) f(x) hB(x) sous c E ( x ) 0 solution x(h)
xR x X
Problème avec contraintes égalité plus simple (contraintes actives)
Pour h=0, on retrouve le problème initial
Hauteur de la barrière
• La barrière empêche la solution x(h) de s’approcher du bord du domaine admissible.
(contraintes inégalités actives)
• On résout une suite de problèmes avec des hauteurs de barrières décroissantes
(h k ), h k 1 h k , lim h k 0 solutions x(hk)
k
• Méthodes peu utilisées sous cette forme approche des méthodes de points intérieurs
application sur problème linéaire, puis non linéaire 542
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.1 Barrière
Techniques d’optimisation Mai 2017
•
Ensemble des points admissibles : X adm x R n / Ax b, x 0 = polytope des contraintes
Problème barrière n
• Barrière logarithmique : B( x ) lnx 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)
xR
i 1 x 0
Solution
• h>0 solution xh
• h=0 solution x* du problème initial
• h solution x = centre analytique du polytope P
543
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.1 Barrière
Techniques d’optimisation Mai 2017
3.2.1 Exemple
Problème linéaire
x x 2 x 3 1
• Forme standard : min x 1 2x 2 3x 3 sous 1
x ,x ,x
1 2 3 x 1 , x 2 , x 3 0
x x 2 x 3 1
• Polytope des contraintes : P x 1 , x 2 , x 3 R 3 / 1
x 1 , x 2 , x 3 0
Problème barrière
x x 2 x 3 1
• Barrière logarithmique : min x 1 2x 2 3x 3 h ln x 1 ln x 2 ln x 3 sous 1
x ,x ,x
1 2 3 x 1 , x 2 , x 3 0
x x 2 x 3 1
• Centre analytique x : min Bx 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 Bx 1 , x 2 ln x 1 ln x 2 ln1 x 1 x 2
x1 , x 2
B 1 1 1
x 0 x
x1 1 x1 x 2 1 3 1 1 1 1
B1 x3 x
1 1 1
0 x 2 3 3 3 3
x 2 x 2 1 x1 x 2 3
544
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.1 Barrière
Techniques d’optimisation Mai 2017
3.2.1 Exemple
Représentation graphique
x x 2 x 3 1
• Polytope des contraintes : P x 1 x2 x 3 R 3 / 1
x 1 , x 2 , x 3 0
1 1 1
• Centre analytique x : x
3 3 3
x3
C 1
Tracé dans le plan (A,B,C) C
x
O B x
1 x2
A B
A 1
x1 545
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017
Conditions d’optimalité
Déplacement
Mesure de dualité
Voisinage
546
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017
Pour construire précisément le chemin central, il faudrait résoudre l’ensemble des problèmes
successifs (PBh) sous contraintes égalité pour h0 .
Ax b
min f h (x) c x h ln(x i ) sous
n
T
xR n
i 1 x 0
non réalisable en pratique (trop coûteux)
547
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017
• 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
548
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017
• 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
Sh 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
549
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017
• 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 s c 0, x 0, s 0
T
• Le chemin central primal-dual est l’ensemble des solutions (xh,h,sh) lorsque la hauteur de
barrière h décroît de l’infini à 0.
3.2.2 Exemple
Problème linéaire
x x 2 x 3 1 A 1 1 1 , b 1
• min x 1 2x 2 3x 3 sous 1
c T 1 2 3
Forme standard :
x ,x ,x
1 2 3 x 1 , x 2 , x 3 0
• Conditions d’ordre 1 du problème linéaire (PL)
x 1s1 0 x 1 0 ou s1 0
XS 0 x 2 s 2 0 x 2 0 ou s 2 0 6 combinaisons possibles
x 3s 3 0 x 3 0 ou s 3 0
s1 1 s1 1
s s 1
A s c s 2 2 s 2 2 s1 s2 1
T
s 3 3 s 3 3 2 3
x 1 1 s1 0
• Solution : x 2 0 , s 2 1 , 1
x 3 0 s 3 2
551
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017
3.2.2 Exemple
Représentation graphique
x x 2 x 3 1 x 1 1 1
• Centre analytique du polytope : P x 1 , x 2 , x 3 R 3 / 1
1 2 3
x , x , x 0 3 3 3
x x 2 x 3 1 x* 1 0 0
• Solution du problème (PL) : min x 1 2x 2 3x 3 sous 1
x1 , x 2 , x 3 x 1 , x 2 , x 3 0 point A
x3
C 1
Tracé dans le plan (A,B,C) C
x
O B x
1 x2
x*
x*
A B
A 1
x1 552
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017
3.2.2 Exemple
Problème barrière
x x x 1 A 1 1 1 , b 1
• Problème linéaire : min x 1 2x 2 3x 3 sous x 1 , x ,2x 30
x1 , x 2 , x 3 1 2 3 c T 1 2 3
• Conditions d’ordre 1 du problème barrière (PBh)
s1 1 s1 1
A s c s 2 2
T
s 2 2
s 3 3 s 3 3
h h
1
x
1 1
x 1s1 h h h
XS he x 2 s 2 h x 2 avec 2
x 3s 3 h 2
x h h
3 3 1
h h h
Ax b 0 x1 x 2 x 3 1 1 3h h 0
3 2
1 1
3.2.2 Exemple
Chemin central
• Le point du chemin central (xh,h,sh) pour une barrière de hauteur h vérifie
Ax h b 0
T x 0
A h s h c 0 avec s h 0
X h Sh he 0 h
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
554
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017
3.2.2 Exemple
Représentation graphique
• Système de coordonnées (u1,u2) dans le plan (A,B,C)
x 1 1 1 1/ 2 1
u 1 x 2 x 3
AM u 1 AB u 2 DC x 2 u 1 1 u 2 1 / 2 2
x 0 1 u 2 x 3
3
x3
C 1 u2
Tracé dans le plan (A,B,C) C
M
x
O B x
1 x2
x* u1
x* D
A D B
A 1
x1 555
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017
3.2.2 Exemple
Chemin central
1 1 1
• Centre analytique du polytope (h ) : x
3 3 3
• Points du chemin central pour une barrière de hauteur h de 10000 à 0.
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)
557
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017
3.2.2 Déplacement
Méthode de Newton
• On utilise la solution de Newton comme direction de recherche.
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
558
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017
= 1 : barrière h=
La direction donnée par l’itération de Newton vise à revenir
sur le point du chemin central correspondant à h=.
Permet de rester à l’intérieur du polytope
559
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017
3.2.2 Exemple
Problème linéaire
x x x 1 A 1 1 1 , b 1
• Problème linéaire : min x 1 2x 2 3x 3 sous x 1 , x ,2x 30
x1 , x 2 , x 3 1 2 3 c T 1 2 3
Ax b
T
• On cherche à résoudre : F( x, , s) A s c 0 pour h fixé avec x 0
XS he s 0
méthode de Newton à partir d’un point intérieur initial
Point initial
Ax b 0 x0
• 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 560
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017
3.2.2 Exemple
Direction de déplacement
La direction de déplacement (dx,d,ds) à partir du point initial (x,,s)
est obtenue en résolvant les équations de Newton.
A 0 0 d x 0 Ax b 0
car T
0 A
T
I d F( x, , s) 0 A s c 0
S 0 X d s XS he
1 1 1 0 0 0 0 d x1 0
0 0 0 1 1 0 0 d x 2 0
0 0 0 1 0 1 0 d x 3 0
0 0 0 1 0 0 1 d 0
s1 0 0 0 x1 0 0 d s1 x 1s1 h
0 s2 0 0 0 x2 0 d s 2 x 2 s 2 h avec h x1s1 x 2s 2 x 3s 3
n
0 0 s3 0 0 0 x 3 d s 3 x 3s 3 h
561
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017
3.2.2 Exemple
Direction de déplacement
x1 x 2 x 3 1 1 1
d x 1 x 2 x 3 h
s1 s 2 s 3 s1 s 2 s 3
d x1 d x 2 d x 3 0
d s1 d 0 d s1 d s 2 d s 3 d
d d 0
s2 h x 1d
s3
d d 0 d x1 x1
s1d x1 x 1d s1 h x 1s1 s 1
s1 1 x 1 2x 2 3x 3
s 2 d x 2 x 2 d s 2 h x 2 s 2 d h x d
2
x2 avec s 2 2 et
s d x d h x s x2 3
3 x3 3 s3 3 3
s2
3
s 3
h
h x 3d
d x 3 x3
s3
3.2.2 Exemple
Illustration 1 : x = (0.6 , 0.2 , 0.2)
x1 x2 x3 s1 s2 s3
0,53333 0,6 0,2 0,2 1,0 2,0 3,0 0,0
h dx1 dx2 dx3 ds1 ds2 ds3 d
0 0,00000 0,18261 -0,06957 -0,11304 -1,30435 -1,30435 -1,30435 1,30435
1 0,53333 -0,04928 0,06957 -0,02029 -0,02899 -0,02899 -0,02899 0,02899
Chemin central 0,53333 0,54971 0,27070 0,17956 0,97020 1,97020 2,97020 0,02980
u x x 3 / 2
Tracé dans le plan (A,B,C) u 1 x2
2 3
1,0 C x
0,9
0,3
0,8
0,7
0,6 0,2
=1
0,5
0,4 x =0
0,3 0,1
0,2
0,1
0,0 B 0,0
A 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 A 0,0 0,1 0,2 0,3 0,4 0,5 0,6
563
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017
3.2.2 Exemple
Illustration 2 : x = (0.2 , 0.6 , 0.2)
x1 x2 x3 s1 s2 s3
0,66667 0,2 0,6 0,2 1,0 2,0 3,0 0,0
h dx1 dx2 dx3 ds1 ds2 ds3 d
0 0,00000 0,15294 -0,07059 -0,08235 -1,76471 -1,76471 -1,76471 1,76471
1 0,66667 0,38824 -0,38431 -0,00392 0,39216 0,39216 0,39216 -0,39216
Chemin central 0,66667 0,50965 0,28884 0,20153 1,30808 2,30808 3,30808 -0,30808
u x x 3 / 2
Tracé dans le plan (A,B,C) u 1 x2
2 3
1,0 C x
0,9
0,3
0,8
0,7
0,6
0,2
=1
0,5
0,4 x
0,3
=0
0,1
0,2
0,1
0,0 B 0,0
A 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 A 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7
564
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017
3.2.2 Exemple
Illustration 3 : x = (0.2 , 0.2 , 0.6)
x1 x2 x3 s1 s2 s3
0,80000 0,2 0,2 0,6 1,0 2,0 3,0 0,0
h dx1 dx2 dx3 ds1 ds2 ds3 d
0 0,00000 0,20000 0,00000 -0,20000 -2,00000 -2,00000 -2,00000 2,00000
1 0,80000 0,41333 0,10667 -0,52000 0,93333 0,93333 0,93333 -0,93333
Chemin central 0,80000 0,48130 0,30051 0,21845 1,66217 2,66217 3,66217 -0,66217
u x x 3 / 2
Tracé dans le plan (A,B,C) u 1 x2
2 3
1,0
C
0,9 0,6
0,8
0,5
0,7 =0
0,6 0,4
0,5
x
0,3
0,4 x =1
0,3 0,2
0,2
0,1
0,1
0,0 B 0,0
A 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 A 0,0 0,1 0,2 0,3 0,4 0,5
565
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017
566
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.2 Chemin central
Techniques d’optimisation Mai 2017
3.2.2 Voisinage
Voisinage du chemin central
Le voisinage du chemin central est défini par une borne m sur la distance : m
567
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017
3.2.3 Algorithmes
Algorithme de prédiction-correction
Exemple
568
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017
3.2.3 Algorithmes
Suivi du chemin central
On peut envisager 3 algorithmes de suivi du chemin central :
• Algorithme à pas restreint
• Algorithme à pas long
• Algorithme de prédiction-correction
Principes
• Les 3 algorithmes sont basés sur l’itération de Newton.
A 0 0 d x 0
h k
0 AT I d 0 avec 1
S k x Tk s k
k 0 X k d s X S e he
k k n
x k 1 x k dx x k 1
k 1 k d , 0 1 avec choisi tel que k 1 V2 ( m ) ou V ( m )
s s d s
k 1 k s k 1
• Les différences résident dans la stratégie de réglage du paramètre de centrage et du pas .
569
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017
• On règle le paramètre de centrage pour rester dans le voisinage restreint du chemin central.
A 0 0 d x 0 x k 1
0 AT I d 0 avec tel que : k 1 V2 ( m )
S s
k 0 X k d s X k Sk e k e k 1
Réglages
• m =0.4 largeur du voisinage
m
• 1 garantit que l’itération de Newton reste dans le voisinage restreint
n
570
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017
x k 1 x k d x
Le nouveau point doit rester dans le voisinage restreint : k 1 k d V2 ( m )
s s d
k 1 k s
1 X k 1 X k D x , D x diag(d x ) , d x D x e
X k 1Sk 1e k e 2 m avec Sk 1 Sk D s , D s diag(d s ) , d s D s e
k Sk d x X k d s X k Sk e k e
1
X k D x Sk D s e k e 2 m
k
1
X k Sk e X k d s Sk d x k e 2 m à l’ordre 1 en dx , ds
k
1
k e k e 2 m
k
m
1 e 2 m avec e2 n 1
n
571
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017
x k 1 x k dx x k 1
k 1 k d , 0 1 avec tel que : k 1 V ( m )
s s d s
k 1 k s k 1
Réglages
• m = 0.001 largeur du voisinage
• = 0.1
• Initialisation avec =1
Division de par 2 tant que le nouveau point n’est pas dans le voisinage large
572
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017
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 575
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017
3.2.3 Exemple
Algorithme à pas restreint
u x 2 x 3 / 2
• Tracé dans le plan (A,B,C) 1
u 2 x 3
1,0
C
0,9
0,8
0,7
(0.2 0.2 0.6)
0,6
0,5
0,4
x
0,3
(0.6 0.2 0.2)
0,2
(0.2 0.6 0.2)
0,1
0,0
B
A 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0
576
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017
3.2.3 Exemple
Algorithme à pas long
• Point initial : x = (0.6 , 0.2 , 0.2) , = 0 , s = (1 , 2 , 3) x1 0,6 0,2 0,2
x = (0.2 , 0.6 , 0.2) x2 0,2 0,6 0,2
x = (0.2 , 0.2 , 0.6) x3 0,2 0,2 0,6
• Paramètre de centrage : = 0.1 avec m = 0,4 Iteration
• Pas : =1 /2 tant que x d x i s d s i m 0 0,53333 0,66667 0,80000
0,3
0,2
0,1
0,0
0 1 2 3 4 5 6 7 8
Itération 577
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017
3.2.3 Exemple
Algorithme à pas long
u x 2 x 3 / 2
• Tracé dans le plan (A,B,C) 1
u 2 x 3
1,0
C
0,9
0,8
0,7
(0.2 0.2 0.6)
0,6
0,5
0,4
x
0,3
(0.6 0.2 0.2)
0,2
(0.2 0.6 0.2)
0,1
0,0
B
A 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0
578
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.3 Algorithmes
Techniques d’optimisation Mai 2017
3.2.3 Exemple
Comparaison
• Algorithme à pas long convergence beaucoup plus rapide (8 itérations au lieu de 45)
• Influence des réglages à adapter au cas par cas (valeurs de , , )
1,0
0,9
0,8
0,7
(0.2 0.2 0.6)
0,6
0,5
0,4
x
0,3
(0.6 0.2 0.2)
0,2
(0.2 0.6 0.2)
0,1
0,0
0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0
579
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.4 Extensions
Techniques d’optimisation Mai 2017
3.2.4 Extensions
Problème linéaire
Problème quadratique
Représentation
580
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.4 Extensions
Techniques d’optimisation Mai 2017
Ax b 0
x L( x, , s) 0 Ax b
• Conditions KKT : F( x , , s ) L ( x , , s ) 0
XS 0 x
XSe he barrière h
x, s 0
dx dx
• Méthode de Newton : F ( x , , s )
d F( x , , s ) direction d
d d
s s
A 0 0 d x Ax b
T =0
si admissible
0 AT I d A s c =0
S 0 XSe he
X d s
S 0 XSe he
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 ) 583
3 Optimisation avec contraintes Max CERF
3.2 Point intérieur
3.2.4 Extensions
Techniques d’optimisation Mai 2017
3.2.4 Représentation
Tracé des itérations
x2 x 2 s2 borne voisinage
chemin central chemin central
itérations
itérations
x1 x 1 s1
584
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
2. Optimisation sans contraintes
4. Optimisation discrète
5. Optimisation fonctionnelle
585
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.1 Principes
Techniques d’optimisation Mai 2017
Etapes principales
A chaque itération :
• Construction d’une direction de descente dk à partir du point xk
• Réglage du pas de déplacement sk suivant dk
Direction de descente
On construit la direction dk dans l’hyperplan tangent aux contraintes (= espace nul) en xk
• Gradient projeté projection du gradient sur l’hyperplan tangent
• Gradient réduit réduction du gradient sur une base de l’espace nul
Pas de déplacement
• Recherche linéaire suivant dk pas sk
• Restauration de l’admissibilité méthode de Newton
• Règles d’acceptation du pas Armijo, Goldstein, Wolfe
586
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation Mai 2017
Gradient projeté
Gradient réduit
Direction de déplacement
Exemple
587
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation Mai 2017
• 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 : Ld , , g d Ad d d 1 avec R , R
m
g AT 2 d 0 d g AT / 2
Conditions KKT : Ad 0 Ag AAT 0 AAT 1
Ag
d 1 2 g AT
• La méthode du gradient projeté équivaut à la méthode de plus forte pente appliquée dans
l’espace nul des contraintes méthode d’ordre 1 peu efficace
amélioration par méthode de quasi-Newton
590
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation Mai 2017
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 Rnm (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 nm variables pZ)
591
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation Mai 2017
m n m gB B 1
m B N m
1
• AE B N g Y
nm Z
gN 0 I nm
(E = matrice de permutation de colonnes de A)
•
T
1
Le gradient réduit par rapport à la base B est : g r Z g g N B N g B
T
592
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation Mai 2017
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 ) x1 x 2 sous c( x ) x12 x 2 1 1 0
2
1 2x 1 2,5
f x
cx
1 2( x 2 1)
2
1,5
• Changement de variables (coordonnées polaires)
1
x 1 r cos f (r, ) r (cos sin ) 1
x r sin 1 0,5
c(r, ) r 1
2
2
0
• Elimination variable r -2 -1,5 -1 -0,5 0
-0,5
0,5 1 1,5 2
• Minimum
f ' () sin cos 0 tan 1 ou
4 4 *
f ' ' () cos sin 0 cos (1 tan ) 0 cos 0 4
x * 1 / 2 0.70711
1
x 2 * 1 1 / 2 0.29289
594
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.2 Direction de déplacement
Techniques d’optimisation Mai 2017
3.3.2 Exemple
Gradient projeté
• Minimisation de f ( x ) x1 x 2 sous c( x ) x12 x 2 1 1 0
2
3.3.2 Exemple
Gradient réduit
• Minimisation de f ( x ) x1 x 2 sous c( x ) x12 x 2 1 1 0
2
x* c(x)=0
• Direction de descente au point x0
Zg r sin 0 x1
d tangente au cercle en x0
Zg r cos 0 596
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.3 Restauration
Techniques d’optimisation Mai 2017
3.3.3 Restauration
Point initial
Itérations admissibles
Méthode de restauration
597
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.3 Restauration
Techniques d’optimisation Mai 2017
3.3.3 Restauration
Itérations admissibles
La méthode du gradient projeté ou réduit construit une suite de solutions admissibles
point initial admissible
restauration de la faisabilité à chaque itération
Point initial
c ( x ) 0
• On peut construire un point initial admissible du problème minn f(x) sous c E( x ) 0
xR I
en résolvant le problème préliminaire sans contrainte minn c E (x) 2
max0, c I (x) 2
xR
598
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.3 Restauration
Techniques d’optimisation Mai 2017
3.3.3 Restauration
Déplacement admissible
min f(x) sous c( x ) 0 m contraintes actives
xR n
3.3.3 Restauration
Méthode de restauration
A1 c(x1 ) T c(x 0 ) T A 0
Le déplacement p2 doit vérifier : A1p b1 avec
b1 c(x1 ) c1
• Solution de norme minimale projection sur l’hyperplan tangent aux contraintes actives
minn p sous A1p b1
pR
1
p 2 A1T A1A1T b1 (cf §1.2.4)
p2
c(x)=0
p1 x1
x0
c(x)=c1
c(x1)
c(x0) 600
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.3 Restauration
Techniques d’optimisation Mai 2017
3.3.3 Restauration
Illustrations
Restauration en plusieurs itérations : p2 , p3 Restauration infructueuse (non linéarité)
c(x)=0 p3 c(x)=0 p2
c(x)=c1 x0 p2 c(x)=c1 x0
p1 p1
x1 x1
p2
c(x)=0 lignes de f
x0 p1 x1
601
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.4 Algorithme
Techniques d’optimisation Mai 2017
3.3.4 Algorithme
Exemple
602
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.4 Algorithme
Techniques d’optimisation Mai 2017
3.3.4 Algorithme
Algorithme de gradient projeté/réduit
Les principales étapes d’une itération de gradient projeté/réduit sont
• construire la direction de descente au point courant
• effectuer une recherche linéaire avec restauration
Direction de descente
• Sélection des contraintes actives Mise à jour
• Projection ou réduction dans l’hyperplan tangent xk , Hk
• Mise à jour du hessien (quasi-Newton)
Recherche linéaire
• Méthode de dichotomie sur le pas de déplacement Projection ou réduction
• Restauration avant évaluation du pas Direction dk
• Règles d’acceptation (Armijo,…)
Principales difficultés
• Amélioration critère grands pas Recherche linéaire
• Restauration contraintes petits pas avec restauration
difficultés sur problèmes très non-linéaires Pas sk
réglages à adapter au cas par cas
603
3 Optimisation avec contraintes Max CERF
3.3 Gradient projeté
3.3.4 Algorithme
Techniques d’optimisation Mai 2017
3.3.4 Exemple
Exemple
• Minimisation de f ( x ) x1 x 2 sous c( x ) x12 x 2 1 1 0
2 2,5
2
x * 1 / 2 0.70711
• Solution : 1 1,5
x 2 * 1 1 / 2 0.29289 1
0,5
Itérations
x r cos 0
• Point courant : x 1 -2 -1,5 -1 -0,5 0
-0,5
0,5 1 1,5 2
x 2 r sin 1
-1
sin sin
• Descente : x’ = x s1d1 avec d1 g p cos sin
cos cos
pas s1 suivant le gradient projeté
cos 2x1
• Restauration : x’’ = x’ s2d2avec d 2 cx
sin 2( x 2 1)
pas s2 suivant le gradient des contraintes
3.3.4 Exemple
Exemple
• Minimisation de f ( x ) x1 x 2 sous c( x ) x12 x 2 1 1 0
2
x 1 0.1 x 1 1
• Point initial : Restauration initiale :
x2 1 x 2 1
3.3.4 Exemple
Exemple
Minimisation de f ( x ) x1 x 2 sous c( x ) x12 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
606
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
2. Optimisation sans contraintes
4. Optimisation discrète
5. Optimisation fonctionnelle
607
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.1 Principes
Techniques d’optimisation Mai 2017
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
608
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation Mai 2017
3.4.2 Pénalisation
Critère augmenté
Pénalisation quadratique
Pénalisation exacte
Mise en œuvre
Lagrangien augmenté
609
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation Mai 2017
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 max0, 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 max0, c I (x) 1 f ρ (x) f(x) ρ c(x) 1
610
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation Mai 2017
min f ρ (x)
xR n 2
2
avec f ρ (x) f(x) ρ c E (x) 2 max0, 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.
612
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation Mai 2017
2
• Critère d’arrêt sur xk : f ρ (xk ) k
k
k f ( x k )
k c( xk )c( xk ) k f ( xk ) c( xk )c( xk ) k 0
k
613
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation Mai 2017
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.
614
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.2 Pénalisation
Techniques d’optimisation Mai 2017
• 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
*
• 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
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 *
xR 2
ne nécessite pas d’augmenter indéfiniment pour obtenir la solution exacte x*
618
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017
Problème dual
Maximisation duale
Méthode d’Uzawa
Méthode de Newton
Exemple
619
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017
• Le problème est sans contraintes, mais la fonction w() est coûteuse à évaluer.
• La solution (x*,*) est un point col du lagrangien : x, , L( x*, ) L( x*, *) L( x, *)
existence non garantie (saut de dualité)
620
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017
2 w (λ) cx L (λ) 2xx Lx L (λ), λ cx L (λ)
T 1
Déplacement
• Le déplacement sur x est construit en minimisant L(x,k).
2 w (λ*) cx * 2xx Lx*, λ * cx *
T 1
Améliorations
• On peut régler le pas à chaque itération par une recherche linéaire suivant w(k).
• On peut appliquer une méthode de Newton au problème dual en utilisant 2w(k).
méthodes nécessitant une globalisation pour contrôler la convergence
évaluations coûteuses de w()
623
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017
H k 2xx Lx k 1 , λ k
1
pour obtenir une approximation de l’inverse du hessien de L :
λ k 1 λ k 2 w (λ k ) w (λ k ) λ k 1 λ k cx k 1 H k cx k 1 cx k 1
1 T 1
Convergence
• La convergence est superlinéaire (quasi-Newton) ou quadratique (Newton).
• Une globalisation est nécessaire pour vérifier la solution de Newton.
évaluations supplémentaires de w() pouvant être coûteuses
• Le point col n’existe pas nécessairement si le problème n’est pas convexe (saut de dualité)
création d’un point col par pénalisation
624
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017
3.4.3 Exemple
Exemple
f ( x ) x1 x 2 sous c( x ) x12 x 2 1 2 0
2
• Minimisation de
• Lagrangien :
L( x, ) x1 x 2 x12 x 2 1 2
2
1
1
• Fonction duale : w (λ) min2 L(x, λ) 1 2 pour x L (λ) 2
xR 2 1
1
2
1 1
• Problème dual : max w () * x* point col
R 2
0
• Hessien :
T
2 w (λ) cx L (λ) 2xx Lx L (λ), λ cx L (λ)
1 1
λ3
1 1 1 0
avec cx L (λ) , 2xx Lx L (λ), λ 2λ
λ 1 0 1
625
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017
3.4.3 Exemple
Méthode d’Uzawa
f ( x ) x1 x 2 sous c( x ) x12 x 2 1 2 0
2
• Minimisation de
1
1
• x k 1 2 k s 2
Itération à pas s fixé :
1 1 k 1 k 22
2 k
k
• Influence du pas : s=0,1 ou s=0,2 oscillations autour de la solution
3.4.3 Exemple
Comparaison Uzawa / Newton
f ( x ) x1 x 2 sous c( x ) x12 x 2 1 2 0
2
• Minimisation de
1
1 k 1 k s 2 2 Uzawa
2 k
x k 1 2 Globalisation pas s
• Itération k : k
1 1
2 1 k 1 k s3k 2 2 Newton
k 2 k
Uzawa pas s = 0,1 Newton pas s = 1
Itération x1 x2 s Itération x1 x2 s
1 -0,10000 1,00000 1,00000 0,1 1 -0,10000 1,00000 1,00000 0,25
2 -0,50000 0,50000 0,85000 0,1 2 -0,50000 0,50000 0,62500 0,50
3 -0,58824 0,41176 0,71920 0,1 3 -0,80000 0,20000 0,53711 1,00
4 -0,69521 0,30479 0,61587 0,1 4 -0,93091 0,06909 0,49577 1,00
5 -0,81186 0,18814 0,54769 0,1 5 -1,00854 -0,00854 0,49995 1,00
6 -0,91292 0,08708 0,51438 0,1 6 -1,00011 -0,00011 0,50000 1,00
7 -0,97205 0,02795 0,50335 0,1 7 -1,00000 -1,72E-08 0,50000 1,00
8 -0,99334 0,00666 0,50070 0,1 8 -1,00000 0,00E+00 0,50000 1,00
9 -0,99861 0,00139 0,50014 0,1
10 -0,99972 0,00028 0,50003 0,1
11 -0,99994 5,63E-05 0,50001 0,1
12 -0,99999 1,13E-05 0,50000 0,1 627
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017
• Le déplacement sur est construit par une méthode de plus forte pente.
λ k 1 λ k s k w (λ k ) λ k 1 λ k s k cx k 1
Le pas sk est choisi à partir de la propriété de convergence : lim λ k ρ k c(x k ) λ *
k
s k k λ k 1 λ k k cx k 1
Convergence
• La convergence est linéaire (méthode de plus forte pente).
• La vitesse de convergence dépend du conditionnement des hessiens de L (primal) et w (dual).
2xx L 2xx L c.c T
c. c T
mal conditionné si grand
1
1I
2 w c T 2xx L c
bien conditionné si grand
•
1
On peut appliquer une méthode de Newton au dual avec H k xx L (quasi-Newton primal)
2
3.4.3 Exemple
Exemple
• Minimisation de f ( x ) x1x 2 sous c( x ) x1 x 2 1 0
1 1 1
• Solution KKT : * , x1* x 2 * L( x*, *)
2 2 4
630
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.3 Méthode duale
Techniques d’optimisation Mai 2017
3.4.3 Exemple
Point col
f ( x ) x1x 2 x1 x 2 1 sous c( x ) x1 x 2 1 0
1 2
• Problème pénalisé :
2
x1 x 2 1 x1 x 2 1
1
2
• Lagrangien augmenté : L ( x , ) x x
1 2
2
• Fonction duale : w (λ) min2 L (x, λ)
xR
3.4.3 Exemple
Point col
632
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.4 Algorithme
Techniques d’optimisation Mai 2017
3.4.4 Algorithme
Exemple
633
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.4 Algorithme
Techniques d’optimisation Mai 2017
3.4.4 Algorithme
Méthode de lagrangien augmenté (ou méthode des multiplicateurs)
Les principales étapes d’une itération de lagrangien augmenté sont
• minimiser le lagrangien augmenté
• mettre à jour les paramètres de réglage
Paramètres de réglage
• Multiplicateurs Solution xk+1
• Pénalisation Contraintes c(xk+1)
• Précisions (gradient, contraintes)
Principales difficultés
• Précision contraintes pénalisation forte Mise à jour
• Conditionnement pénalisation faible xk+1 , k+1 , k+1 , k+1
convergence précise difficile
réglages à adapter au cas par cas
634
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.4 Algorithme
Techniques d’optimisation Mai 2017
3.4.4 Algorithme
Méthode de lagrangien augmenté (ou méthode des multiplicateurs)
• Réglages à l’itération k : - multiplicateurs k
- pénalisation k
- précision de résolution k
- précision sur les contraintes k
• Mise à jour des réglages à l’itération k+1 en fonction du respect des contraintes
635
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.4 Algorithme
Techniques d’optimisation Mai 2017
3.4.4 Algorithme
Estimation des multiplicateurs
• La solution (x*,*) doit vérifier la condition KKT d’ordre 1.
A c ( x 0 )
Il s’agit d’un problème de moindres carrés de la forme : min A b avec
2
•
b f ( x 0 )
La solution MC vérifie les équations normales : A T A MC A T b
1
MC c( x 0 ) T c( x 0 ) c( x 0 ) T f ( x 0 ) multiplicateurs « des moindres carrés »
636
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.4 Algorithme
Techniques d’optimisation Mai 2017
3.4.4 Exemple
Exemple
• Minimisation de f ( x ) 2( x12 x 22 1) x1 sous c( x ) x12 x 22 1 0
0.5 1 3
• Point initial : x , 0 Solution : x* ,
1.3 0 2
1,5 0,7
Suivi de la contrainte
0,6
1
0,5
0,5
0,4
0 0,3
-1,5 -1 -0,5 0 0,5 1 1,5
0,2
-0,5
0,1
-1
0
0,7 0,8 0,9 1
-1,5 -0,1
637
3 Optimisation avec contraintes Max CERF
3.4 Lagrangien augmenté
3.4.4 Algorithme
Techniques d’optimisation Mai 2017
3.4.4 Exemple
Exemple
• Minimisation de f ( x ) 2( x12 x 22 1) x1 sous c( x ) x12 x 22 1 0
0.5 1 3
• Point initial : x , 0 Solution : x* , *
1.3 0 2
Itération x1 x2 c(x) L ( x , ) Newton
pénalisation itérations
Newton
précision précision
contrainte résolution
638
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
2. Optimisation sans contraintes
4. Optimisation discrète
5. Optimisation fonctionnelle
639
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.1 Principes
Techniques d’optimisation Mai 2017
• 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 , )
Méthode SQP
On cherche à résoudre les équations KKT par la méthode de Newton.
640
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.2 Modèle quadratique
Techniques d’optimisation Mai 2017
Méthode de Newton
Interprétation
Formulation simplifiée
Résolution
641
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.2 Modèle quadratique
Techniques d’optimisation Mai 2017
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
642
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.2 Modèle quadratique
Techniques d’optimisation Mai 2017
• 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 dQPRn et les variables duales QPRm
643
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.2 Modèle quadratique
Techniques d’optimisation Mai 2017
• 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
644
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.2 Modèle quadratique
Techniques d’optimisation Mai 2017
~
~
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
645
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.2 Modèle quadratique
Techniques d’optimisation Mai 2017
multiplicateur QP
d d QP
x
d QP k
même formulation avec f ( x k ) au lieu de x L( x k , k )
646
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.2 Modèle quadratique
Techniques d’optimisation Mai 2017
AQ1A T 1 AQ1c b
• Si Q est définie positive, la solution est : QP 1
d QP Q A QP c
T
• Si Q n’est pas définie positive, on remplace Q par une matrice H définie positive « proche »
factorisation de Cholesky modifiée
ou H Q I avec suffisamment grand
d d QP x x k d QP
• Le déplacement à partir du point courant (xk, k) est : x k 1
d QP k k 1 QP
• La résolution explicite est généralement trop coûteuse à cause des inversions de matrices.
On résout le problème quadratique-linéaire par un algorithme itératif dédié.
647
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation Mai 2017
3.5.3 Globalisation
Méthode de Newton
Correction d’ordre 2
Exemple
648
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation Mai 2017
3.5.3 Globalisation
Méthode de Newton
• La résolution des équations KKT par la méthode de Newton équivaut à
la résolution d’une suite de problèmes quadratiques
programmation quadratique séquentielle (SQP)
Globalisation
Deux grandes méthodes de globalisation
• Recherche linéaire
La solution du problème QP sert de direction de descente pour une recherche linéaire.
réglage du pas de déplacement pour améliorer la fonction mérite
• Région de confiance
On ajoute au problème QP une contrainte de région de confiance.
réglage du rayon de confiance en fonction du rapport de réduction de la fonction mérite
649
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation Mai 2017
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)
651
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation Mai 2017
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
• Condition suffisante dl
si 2xx L( x k , k ) 0
Fonction de mérite l2
• On peut prendre une fonction mérite avec pénalisation quadratique
m
F2, ( x ) f ( x ) c( x ) 2
avec c( x ) 2
i 1
ci (x) 2
F2, ( x k ) F2, ( x k d PQ )
• Le rapport de réduction est défini par
F̂2, ( x k ) F̂2, ( x k d PQ )
654
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation Mai 2017
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
655
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation Mai 2017
3.5.3 Exemple
Effet Maratos
• Minimisation de f ( x ) 2( x 12 x 22 1) x 1 sous c( x ) x 12 x 22 1 0
1 1 0
2xx Lx*, * 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
d 2 2 cos
2
sin 2 sin
d k sin
sin cos cos
cos sin 2
• Nouveau point : x k 1
sin sin cos
656
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation Mai 2017
3.5.3 Exemple
Effet Maratos
• Minimisation de f ( x ) 2( x12 x 22 1) x1 sous c( x ) x12 x 22 1 0
cos cos sin 2
On évalue en x k et x k 1
sin sin sin cos
c( x k ) cos 2 sin 2 1 c( x k ) 0
• La contrainte :
c ( x k 1 )
cos sin 2
2
sin sin cos 2
1
c( x ) sin 2
k 1
cos 1
x k x * 21 cos
2
x k x*
1 sin
• L’écart à l’optimum x* :
0 x x* 1 cos cos x x * 2 1 cos
k 1 sin k 1
Le point xk+1 est plus proche de l’optimum que le point xk, alors que :
- la valeur du critère est dégradée : f(xk+1) > f(xk)
- la valeur de la contrainte est dégradée : c(xk+1) 0 déplacement rejeté
657
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation Mai 2017
3.5.3 Exemple
Correction d’ordre 2
• Minimisation de f ( x ) 2( x12 x 22 1) x1 sous c( x ) x12 x 22 1 0
cos sin 2
On évalue la contrainte au point x k 1 c( x k 1 ) sin 2 c
sin sin cos
• Le problème QP est résolu une 2ème fois en corrigeant la valeur de la contrainte :
d ,d
1 2 2
min4 cos 1d1 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
658
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.3 Globalisation
Techniques d’optimisation Mai 2017
3.5.3 Exemple
Correction d’ordre 2
• Minimisation de f ( x ) 2( x12 x 22 1) x1 sous c( x ) x12 x 22 1 0
1,5
sin
Ordre 1 d sin
cos
1
0,5
2 cos
Ordre 2 d sin
0 sin
-1,5 -1 -0,5 0 0,5 1 1,5
-0,5
-1
-1,5
659
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017
3.5.4 Algorithme
Algorithme SQP
Exemples
- Exemple 1 : comparaison Newton SQP
- Exemple 2 : SQP sans avec globalisation
- Exemple 3 : comparaison SQP Lagrangien augmenté
660
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017
3.5.4 Algorithme
Algorithme SQP
Les principales étapes d’une itération SQP sont
• construire le modèle quadratique local au point courant
• résoudre le problème quadratique-linéaire
• appliquer une technique de globalisation
Globalisation
• Mise à jour de la pénalisation de la fonction mérite
• Recherche linéaire ou région de confiance Globalisation
grand nombre de variantes possibles dk
stratégies et réglages à adapter au cas par cas
661
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017
3.5.4 Algorithme
Estimation des multiplicateurs
• La solution (x*,*) doit vérifier la condition KKT d’ordre 1.
A c ( x 0 )
Il s’agit d’un problème de moindres carrés de la forme : min A b avec
2
•
b f ( x 0 )
La solution MC vérifie les équations normales : A T A MC A T b
1
MC c( x 0 ) T c( x 0 ) c( x 0 ) T f ( x 0 ) multiplicateurs « des moindres carrés »
662
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017
3.5.4 Exemples
Exemple 1 : Comparaison Newton SQP
• Minimisation de f ( x ) 2x 12 2x 22 2x 1 x 2 4x 1 6x 2 sous c( x ) 2x 12 x 2 0
Résolution exacte
• Lagrangien :
L( x, ) 2x 12 2x 22 2x 1 x 2 4x 1 6x 2 2x 12 x 2
4x 1 2x 2 4 4x 1 0 x 1 * 1.06902
• Conditions KKT : 4x 2 2x 1 6 0 solution x 2 * 2.28563
2x 2 x 0 * 1.00446
1 2
Matrices utiles
4x 1 2x 2 4 4x 1 4 4 2 4x 1
• Newton : Fx 1 , x 2 , 4x 2 2x 1 6 Fx 1 , x 2 , 2 4 1
2x 12 x 2 4x 1 0
1
4x 2x 2 4 4x 4 4 2
• SQP : f x 1 cx 1 2xx Lx,
2
4 x 2 x 1 6 1 2 4
663
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017
3.5.4 Exemples
Exemple 1 : Méthode de Newton
d x1
• Itération de Newton : Fx 1 , x 2 , d x 2 Fx 1 , x 2 ,
d
x1 0 6 4 2 0
• Point initial : x
2 1 Fx 1 , x 2 , 2 Fx 1 , x 2 , 2 4 1
0 1 0 1 0
4 2 0 d x1 6 d x1 1
• Itération 1 : 2 4 1 x 2 2
d d x2 1
0 1 0 d 1 d 8
x1 x 1 d x1 x1 1
• Nouveau point : x 2 x 2 d x 2 x2 0
d 8
• La méthode de Newton converge en 7 itérations, sans globalisation.
664
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017
3.5.4 Exemples
Exemple 1 : Méthode de Newton
3.5.4 Exemples
Exemple 1 : Algorithme SQP
1
• Problème quadratique linéaire : min2 f ( x ) T d x d Tx 2xx L( x, )d x sous c( x ) T d x c( x ) 0
d x R 2
x1 0
6 0 4 2
• Point initial : x2 1 f x cx 2xx Lx,
0 2 1 2 4
T T
6 d x1 1 d x1 4 2 d x1 0 d x1
• Itération 1 : min sous 1 0
d x1 ,d x 2 2
x2
d 2 x2
d 2 4 x 2
d x 2 x
1 d
min 2d 2x1 4d x1 d 1
d x1 x1 avec QP 8
d x 2 1 d x 2 1
x1 x 1 d x1 x1 1
• Nouveau point : x 2 x 2 d x 2 x2 0
8
QP
• On retrouve les itérations de la méthode de Newton sans globalisation.
Le multiplicateur est directement le multiplicateur QP du problème quadratique.
666
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017
3.5.4 Exemples
Exemple 1 : Algorithme SQP
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 2x 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 12 1 0 * 1 / 2 0.70711
1 2
Matrices utiles
1 2x1 2 0
• Gradient : f x cx 2xx Lx,
1 2( x 2 1) 0 2
1 0
• Modification du hessien : H 2xx Lx, I 2 avec 2 0
0 1
• Recherche linéaire : pas s suivant la direction dx (= solution du problème QP)
668
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017
3.5.4 Exemples
Exemple 2 : SQP sans globalisation
• Minimisation de f ( x ) x 1 x 2 sous c( x ) x 12 x 2 1 1 0
2
x1 1 2,5
• Point initial : x 2 1
1 2
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
669
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017
3.5.4 Exemples
Exemple 2 : SQP sans globalisation
• Minimisation de f ( x ) x 1 x 2 sous c( x ) x 12 x 2 1 1 0
2
x 1 1.5 2,5
• Point initial : 2
x 2
1 2
convergence rapide
1
Itération x1 x2
1 -1,50000 2,00000 1,00000
2 -1,36538 1,07692 0,42308 0,5
3 -1,11784 -0,18542 0,44290
4 -0,80352 0,21615 0,57183
5 -0,70990 0,28607 0,68889 0
-2 -1,5 -1 -0,5 0 0,5 1 1,5 2
6 -0,70718 0,29293 0,70697
7 -0,70711 0,29289 0,70711
-0,5
-1
670
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017
3.5.4 Exemples
Exemple 2 : SQP sans globalisation
• Minimisation de f ( x ) x 1 x 2 sous c( x ) x 12 x 2 1 1 0
2
x 1 0.1 2,5
• Point initial : 2
x 1
1 2
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
672
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017
3.5.4 Exemples
Exemple 2 : SQP avec globalisation
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
674
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017
3.5.4 Exemples
Exemple 2 : SQP avec globalisation
• Minimisation de f ( x ) x 1 x 2 sous c( x ) x 12 x 2 1 1 0
2
x 1 0.1 2,5
• Point initial : x 2 1
1 2
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 676
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017
3.5.4 Exemples
Exemple 3 : Comparaison SQP Lagrangien augmenté
• Minimisation de f ( x ) 2( x12 x 22 1) x1 sous c( x ) x12 x 22 1 0
0.5 1 3
• Point initial : x , 0 Solution : x* ,
1.3 0 2
1,5 1,5
SQP Lagrangien augmenté
1 1
0,5 0,5
0 0
-1,5 -1 -0,5 0 0,5 1 1,5 -1,5 -1 -0,5 0 0,5 1 1,5
-0,5 -0,5
-1 -1
-1,5 -1,5
677
3 Optimisation avec contraintes Max CERF
3.5 Quadratique séquentiel
3.5.4 Algorithme
Techniques d’optimisation Mai 2017
3.5.4 Exemples
Exemple 3 : Comparaison SQP Lagrangien augmenté
678
3 Optimisation avec contraintes Max CERF
3.6 Convergence
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
2. Optimisation sans contraintes
4. Optimisation discrète
5. Optimisation fonctionnelle
679
3 Optimisation avec contraintes Max CERF
3.6 Convergence
3.6.1 Convergence globale
Techniques d’optimisation Mai 2017
Convergence globale
• Un algorithme générant une suite (xk)kN à partir du point x0 est globalement convergent si
lim f ( x k ) 0
k
680
3 Optimisation avec contraintes Max CERF
3.6 Convergence
3.6.1 Convergence globale
Techniques d’optimisation Mai 2017
• 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 ) c1sf ( 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
682
3 Optimisation avec contraintes Max CERF
3.6 Convergence
3.6.2 Comparaison des algorithmes
Techniques d’optimisation Mai 2017
Algorithmes - simplexe (LP) - point intérieur (LP, NLP) - simplexe dual (LP)
- gradient projeté - séquentiel quadratique - lagrangien augmenté
- pénalisation - Uzawa
683
3 Optimisation avec contraintes Max CERF
3.6 Convergence
3.6.2 Comparaison des algorithmes
Techniques d’optimisation Mai 2017
• 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
• On cherche les paramètres p minimisant une fonction coût qui dépend de l’état final xf.
Pour appliquer une méthode de gradient, il faut évaluer les dérivées de xf par rapport à p.
x f x f (p p) x f (p)
par différences finies
p p
L’équation différentielle doit être intégrée successivement pour p, puis pour p+p.
• L équation différentielle est intégrée de t0 à tf par la méthode d’Euler sur 2 pas de temps.
pas pas
t0 t1 tf
x0 x1 xf (p)
f0 = f(x0,p,t0) f1 = f(x1,p,t1)
x f x f (p p) x f (p)
• Pour évaluer le gradient par différences finies ,
p p
on applique un incrément p sur p et on intègre à nouveau l’équation différentielle de t0 à tf .
On suppose que la date intermédiaire t1 change (cas d’une méthode d’intégration à pas variable).
pas + pas
t0 t1 tf
x0 x'1 xf (p+p)
f0p = f(x0,p+p,t0) f 1p = f(x1,p+p,t1)
687
3 Optimisation avec contraintes Max CERF
3.6 Convergence
3.6.3 Difficultés pratiques
Techniques d’optimisation Mai 2017
688
3 Optimisation avec contraintes Max CERF
3.6 Convergence
3.6.3 Difficultés pratiques
Techniques d’optimisation Mai 2017
f f f f f
x 'f x1 f 0 p( ) f1 f 0 p( ) p ( )
p 0 x 1 p 0
p
1 t 1
f f f f f f
x 'f x f p 2
x 1 p 0 p 0 p 1
p 0 p 1
f f
f 0 f1 f 0
x 1 t 1
x f x 'f x f
• Le gradient de l’état final xf par rapport au paramètre p est évalué par :
p p
689
3 Optimisation avec contraintes Max CERF
3.6 Convergence
3.6.3 Difficultés pratiques
Techniques d’optimisation Mai 2017
x f f f 2 f f f f f f
f 0 f1 f 0
p p x 1 p 0 p 0 p 1 p
0 p 1 x 1 t 1
f f f f
p 0 1 x 0 t
f f f
p
0 1
p 1 1
→ Il est préférable d’utiliser un intégrateur à pas fixe, au moins pour l’évaluation du gradient.
690
3 Optimisation avec contraintes Max CERF
3.6 Convergence
3.6.3 Difficultés pratiques
Techniques d’optimisation Mai 2017
• Solution exacte
x ( t ) x ( t 0 )e p ( t t 0 ) x ( t f ) ( t f t 0 ) x ( t f ) t 0,000 0,100 0,200 x ( t f )
0.1637
p x(p) 1,000000 0,904837 0,818731 p
• Solution Euler valeur p+p avec pas fixé t 0,000 0,100 0,200 x ( t f )
0.1799
p +p = 1.0001 t1 = 0.100 x(p+p) 1,000000 0,899000 0,808201 p
• Solution Euler valeur p+p avec pas variable t' 0,000 0,101 0,200
x ' ( t f )
0.1800
p +p = 1.0001 t1 = 0.101 x'(p+p) 1,000000 0,897990 0,808200 p
f f
• Erreur sur le gradient due au changement de pas : ( x 0 x1 ) 0.0001
p 0 p 1
691
Max CERF
Techniques d’optimisation Mai 2017
Difficultés pratiques
• Minima locaux
• Précision numérique
692
Max CERF
Techniques d’optimisation Mai 2017
Livres en anglais
693
4 Optimisation discrète Max CERF
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
4. Optimisation discrète
4.1 Problème combinatoire
4.2 Programmation linéaire
4.3 Métaheuristiques
5. Optimisation fonctionnelle
4 Optimisation discrète
Optimisation difficile
• Variables entières Combinatoire exponentielle
Impossibilité de parcourir l’ensemble des possibilités
Méthodes de résolution
• Problèmes de graphes Algorithmes spécifiques à certains problèmes
Solution exact (minimum global)
Sommaire
1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes
4. Optimisation discrète
4.1 Problème combinatoire
4.1.1 Graphes
4.1.2 Problème de chemin
4.1.3 Problème de flot
4.1.4 Problème d’affectation
4.1.5 Heuristiques
4.2 Programmation linéaire
4.3 Métaheuristiques
5. Optimisation fonctionnelle
696
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017
4.1.1 Graphes
Définitions
Parcours
Problèmes types
Complexité
Algorithmes
697
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017
4.1.1 Définitions
Graphe
Un graphe G est un couple de 2 ensembles G=(V,E).
• V est l’ensemble des nœuds (node) ou sommets (vertex) n nœuds (vi) i=1 à n
• E est l’ensemble des arcs (arc) ou arêtes (edge) m arcs (ek) k=1 à m
Orientation
• Un arc est un couple de nœuds ordonné : e = (v,w) e
v w
graphe orienté
4.1.1 Définitions
Vocabulaire
Pour un arc e (orienté) allant du nœud v au nœud w :
Degré
• Le demi-degré extérieur du nœud v est le nombre d’arcs partant de v.
Le demi-degré intérieur du nœud v est le nombre d’arcs arrivant en v.
Le degré du nœud v est le nombre d’arcs partant et arrivant en v.
Le degré moyen d’un graphe est la moyenne des degrés des nœuds ( 3 en pratique).
4.1.1 Définitions
Représentation d’un graphe
On peut représenter un graphe G=(V,E) par
• les successeurs des nœuds liste chaînée avec pointeurs (gestion dynamique de la mémoire)
• des matrices matrice d’adjacence, matrice d’incidence
Matrice d’adjacence
La matrice d’adjacence A est une matrice booléenne à n lignes et n colonnes. vj
correspondent aux nœuds de départ.
Les lignes
Les colonnes correspondent aux nœuds d’arrivée. v i 1
S’il existe un arc de vi à vj, l’élément aij vaut 1 (sinon aij = 0).
Matrice d’incidence
• La matrice d’incidence I est une matrice booléenne à n lignes et m colonnes. ek
Les lignes correspondent aux nœuds.
Les colonnes correspondent aux arcs.
v i 1
S’il existe un arc ek de vi à vj, l’élément aik vaut +1
et l’élément ajk vaut 1 (sinon aik = ajk =0). v j 1
Pour une boucle sur le nœud vi, l’élément aii vaut +1.
700
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017
4.1.1 Définitions
Exemple
• Graphe à 5 nœuds et 10 arcs. e2
v2 e3
e1
• Liste des successeurs : v1 v2 , v3 , v5
e4
v2 v2 , v3 v1 v3
v3 v4
v4 v1 , v5 e5 e10 e6
e9 e7
v5 v1 , v3
e8
v5 v4
• Matrices d’adjacence et d’incidence
v1 v2 v3 v4 v5 e1 e 2 e3 e 4 e5 e 6 e 7 e8 e9 e10
v1 0 1 1 0 1 v1 1 0 0 1 1 0 1 0 0 1
v2 0 1 1 0 0 v2 1 1 1 0 0 0 0 0 0 0
v3 0 0 0 1 0 v3 0 0 1 1 0 1 0 0 1 0
v4 1 0 0 0 1 v4 0 0 0 0 0 1 1 1 0 0
v 5 1 0 1 0 0 v 5 0 0 0 0 1 0 0 1 1 1
Matrice d’adjacence 55 Matrice d’incidence 510
701
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017
4.1.1 Parcours
Parcours d’un graphe
• Parcours orienté
Un chemin de longueur p est une suite de p arcs consécutifs.
Un circuit est un chemin fermé.
• Un graphe est connexe s’il existe une chaîne entre toute paire de nœuds.
• Un graphe est complet s’il existe un arc (arête) entre toute paire de nœuds.
702
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017
4.1.1 Parcours
Parcours particuliers
• Un parcours eulérien passe une fois exactement par chaque arc (arête). 2 3
6
• Un parcours hamiltonien passe une fois exactement par chaque nœud.
Il passe donc au plus une fois par chaque arc (arête). 1 4
Exemple : jeu de la maison parcours eulérien 7 5
Graphes particuliers 8
• Un arbre est un graphe non orienté connexe et sans cycle.
Le nombre d’arêtes est égal au nombre de nœuds – 1 : m = n – 1
Un graphe connexe comporte au moins n – 1 arêtes.
• Un graphe est planaire si on peut le représenter dans le plan sans croisement d’arcs.
problème de placement de composants électroniques
problème de coloration de carte
Le nombre d’arêtes d’un graphe planaire vérifie : m 3n 6.
703
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017
4.1.1 Parcours
Nombre de chemins
La matrice d’adjacence A indique s’il existe un arc entre 2 nœuds.
La matrice Ak (A puissance k) indique le nombre de chemins de longueur k entre 2 nœuds.
Exemple
• Graphe à 5 nœuds et 10 arcs.
e2
0 1 1 0 1 1 1 2 1 0 v2
e1 e3
0 1 1 0 0 0 1 1 1 0
A 0 0 0 1 0 A2 1 0 0 0 1 e4
v1 v3
1 0 0 0 1 1 1 2 0 1
e5 e10 e6
1 0 1 0 0 0 1 1 1 1 e9 e7
e8
1 2 2 2 2 4 3 5 2 3 v5 v4
1 1 1 1 1 2 2 3 1 2
A3 1 1 2 0 1 A4 1 2 3 2 1
1 2 3 2 1 3 3 4 3 3
2 1 2 1 1 2 3 4 2 3
704
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017
4.1.1 Parcours
Liste des successeurs
On détermine (V) ensemble des successeurs des nœuds V par la matrice booléenne
 I A A 2 ... A n 1 (I A) n 1
• La matrice (I + A)k indique pour chaque nœud (ligne) les nœuds atteignables (colonnes)
par un chemin de longueur k au plus.
705
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017
4.1.1 Parcours
Exemple
• Graphe à 6 nœuds n = 6
0 1 0 0 1 0 1 1 0 0 1 0 v2 v3
0 0 1 0 0 0 0 1 1 0 0 0
0 0 0
0 0 1 0 0 0 1 1 0
A IA v1 v4
0 0 0 0 0 1 0 0 0 1 0 1
0 1 1 0 0 1 0 1 1 0 1 1
0 0 1
v5 v6
0 0 0 0 0 0 0 0 0
1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 1 1 1 0 0 0 1 1 1 0 1 0 1 1 1 0 1
0 0 1 1 0 1 0 0 1 1 0 1 0 0 1 1 0 1
(I A)
2 (I A)
3 (I A)
4
0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 0 1
0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1
0 1 0 1 0 1
0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1
0 1 1 1 0 1
0 0 1 1 0 1
• (I + A)4 = (I + A)3 Â (I A) 5
0 0 0 1 0 1
On peut arrêter le calcul à k=4.
0 1 1 1 1 1
0 1
0 0 0 0
706
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017
4.1.1 Parcours
Exemple
• Graphe à 6 nœuds n = 6
1 1 1 1 1 1 v2 v3
0 1 1 1 0 1
0 0 1 1 0 1 v1 v4
 (I A)
5
0 0 0 1 0 1
v5 v6
0 1 1 1 1 1
0 1
0 0 0 0
• Le nœud v1 admet tous les autres nœuds comme successeurs (ligne 1).
Le nœud v1 n’admet aucun prédécesseur (colonne 1) v1 est une source.
Le graphe est une arborescence de racine v1.
• Le nœud v6 admet tous les autres nœuds comme prédécesseurs (colonne 6).
Le nœud v6 n’admet aucun successeur (ligne 6) v6 est un puits.
707
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017
Problèmes types
• Problème de connexité : Existe-t-il un chemin entre 2 nœuds d’un graphe ?
• Problème de chemin : Quel est le chemin de coût minimal entre 2 nœuds ?
Quel est le circuit hamiltonien de coût minimal ?
(problème du voyageur de commerce)
• Problème de flot : Quel est le flot maximal pouvant passer de la source au puits ?
Quel est le coût minimal du flot maximal ?
• Problème d’affectation, de coloration, d’empilement, …
708
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017
4.1.1 Complexité
Taille d’une donnée
• La taille d’une donnée est la place mémoire nécessaire au stockage.
On mesure généralement la taille d’une donnée par des paramètres caractéristiques.
709
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017
4.1.1 Complexité
Algorithme polynomial
• Un algorithme est polynomial si sa complexité est un polynôme en fonction de la taille.
Exemples : O(n) , O([Link] n) , O(n2) , …
Temps de calcul
• Avec un ordinateur effectuant un milliard d’opérations par seconde.
n [Link] n n2 n3 n5 2n 3n n!
10 10-8 s 10-8 s 10-7 s 10-6 s 10-4 s 10-6 s 6.10-5 s 3.10-3 s
50 5.10-8 s 8.10-8 s 2.10-6 s 10-4 s 0,3 s 13 jours 107 ans 1048 ans
100 10-7 s 2.10-7 s 10-5 s 10-3 s 10 s 1013 ans 1031 ans
1000 10-6 s 3.10-6 s 10-3 s 1s 11 jours
10000 10-5 s 4.10-5 s 0,1 s 1000 s 3100 ans
710
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017
4.1.1 Complexité
Problème combinatoire
On distingue les problèmes d’optimisation (PO) et les problèmes d’existence (PE).
• Un problème d’existence (PE) a pour but de trouver une solution x vérifiant une propriété P.
problème de décision à réponse « oui » ou « non »
711
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017
4.1.1 Complexité
Classes P, NP, NPC
La classification des problèmes dépend de la difficulté de vérification d’une solution.
On souhaite vérifier que x0 est une solution du problème (PE) : f(x0) c ?
On ne se préoccupe pas de la façon dont x0 a été obtenu.
• Conjecture P NP
Si l’on trouvait un algorithme polynomial de résolution pour un problème de NPC,
alors tous les problèmes de NPC seraient dans P.
712
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017
4.1.1 Complexité
Problèmes de NP
NP = Problèmes pour lesquels on connaît un algorithme polynomial de vérification
Le problème peut être facile (P), difficile (NPC) ou indéterminé.
4.1.1 Complexité
Problèmes faciles
P = Problèmes pour lesquels on connaît un algorithme polynomial de résolution
• Affectation (couplage)
Quelle est l’affectation de coût minimal entre n ressources et n taches ?
• Tri de n nombres
714
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017
4.1.1 Complexité
Problèmes difficiles
NPC = Problèmes pour lesquels on ne connaît pas d’algorithme polynomial de résolution
→ problèmes NP-complets ou NP-difficiles
• Coloration
Trouver le nombre minimal de couleurs pour colorer un graphe.
→ Théorème des 4 couleurs pour un graphe planaire : conjecturé en 1880, démontré en 1977
(démonstration assistée par ordinateur)
• Voyageur de commerce
Trouver le circuit hamiltonien de coût minimal dans un graphe valué.
→ Problème test pour les algorithmes d’optimisation combinatoire
715
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.1 Graphes
Techniques d’optimisation Mai 2017
4.1.1 Algorithmes
Méthodes approchées
Les méthodes approchées sont les seules utilisables pour des problèmes de grande taille.
L’objectif est d’obtenir des solutions de bonne qualité en des temps de calcul raisonnables.
Méthodes exactes
Les méthodes exactes sont applicables aux problèmes de taille limitée.
Elles donnent la solution optimale au prix d’un temps de calcul qui peut être élevé.
716
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
Algorithme de Ford
Algorithme de Dijkstra
Algorithme de Bellman
Programmation dynamique
Heuristique A*
Ordonnancement
- Méthode PERT
- Méthode MPM
717
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
• Problèmes types
- Trouver le chemin de coût minimal entre 2 nœuds donnés
- Trouver le chemin de coût minimal entre 1 nœud et tous les autres nœuds
- Trouver le chemin de coût minimal entre tous les couples de nœuds
Algorithmes
• Algorithme de Ford, de Demoucron et Floyd graphe quelconque
• Algorithme de Dijkstra graphe à valuations positives
• Algorithme de Bellman graphe sans circuit
719
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
v3 v6
3 3
4 3
• Initialisation des coûts
5 2
Source v1 : z1 = 0
Autres nœuds : zi = + 0 2 2
1 1
3 3
720
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
3 2
3 3
4 3
4 1
• Deuxième mise à jour
5 2
On vérifie les arcs non utilisés.
Amélioration des valeurs en 2 nœuds 0 2 2 2
1 1
2 2
3 3
721
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
2 -1
3 3
4 3
4 1
• Quatrième mise à jour
5 2
On vérifie les successeurs des nœuds modifiés.
Amélioration de la valeur en 1 nœud 0 2 0 2
1 1
2 -1
3 3
722
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4 2 1 0 1 5 2
v1 2 v5 2
• Arcs optimaux 1 1
723
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
724
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
• Initialisation
On crée la matrice D0 : dij = cij coût de l’arc du nœud vi au nœud vj si les nœuds sont reliés
dij = + si les nœuds ne sont pas reliés
• Itération k (1 k n)
Pour tout couple de nœuds (vi , vj), on considère le passage par le nœud intermédiaire vk.
Le meilleur coût actuel de vi à vj est : dij
Le coût de vi à vj en passant par vk est : dik + dkj vi vj
dij
Si dik + dkj < dij , on a trouvé un meilleur chemin de vi à vj.
(= chemin passant par vk) dik dkj
on met à jour la valeur de dij dij = dik + dkj
vk
• Fin de l’algorithme
On s’arrête lorsque les n nœuds ont été considérés comme nœuds intermédiaires.
La matrice Dn contient les coûts des meilleurs chemins entre nœuds.
725
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
v1 v2 v3 v4 v5 v6
• Matrice initiale D0
v1 3 8 6
dij = cij si les nœuds vi et vj sont reliés
dij = + sinon v2 2 6
v3 1
v4 2 7
v5 2
v6
726
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
728
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
• Fin de l’algorithme
v1 v2 v3 v4 v5 v6
Les 6 nœuds intermédiaires ont été examinés.
On obtient la matrice finale D6 . v1 3 7 5 8 10
v2 4 2 5 7
v3 1 3
• La matrice D6 est le distancier du graphe.
v4 2 3 5
dij est le coût du meilleur chemin de de vi à vj.
v5 2
v6
731
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
732
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
733
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
Valuations positives v1 2 2 4
Source en v1
v3 v5
2 1
• 6 1
Initialisation des coûts
Source v1 : z1 = 0
Autres nœuds : zi = + 0 2 2 4
Les nœuds sont non traités.
2 1
734
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
• 6 1
Traitement du deuxième nœud 6
735
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
736
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
• Fin de l’algorithme
2 3
Les marques donnent le coût minimal 2 1
de la source à chaque nœud.
• Coûts minimaux 6 1
v2 v4
737
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
• L’algorithme de Dijkstra est très efficace pour trouver un chemin dans un réseau routier.
Un réseau routier est proche d’un graphe planaire (= sans croisement d’arêtes).
Pour un graphe planaire : m 3n 6
Pour un réseau routier : m 4n en pratique densité faible
738
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
• Ordre topologique
Dans un graphe sans circuit (arbre), on peut numéroter les nœuds dans un ordre topologique.
Chaque nœud porte un numéro différent (le nœud vi porte le numéro i).
Pour tout arc [vi , vj], les numéros des nœuds sont croissants : i < j.
Les nœuds sont traités dans ordre topologique.
vi
• Traitement du nœud vi. zi
On met à jour les valeurs des nœuds vj successeurs du nœud vi. cij
s
Si zi + cij < zj , on met à jour la valeur de vj zj = zi + cij
Le nœud vi est traité. zj
vj
• Fin de l’algorithme
On s’arrête lorsque tous les nœuds sont traités.
Chaque nœud est alors marqué par la valeur du meilleur chemin depuis la source.
739
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
Source v1 : z1 = 0 0 2 5 4
Autres nœuds : zi = +
Les nœuds sont traités dans l’ordre topologique.
2 1
740
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
741
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
742
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
• Fin de l’algorithme
2 0
Les marques donnent le coût minimal 2 2
de la source à chaque nœud.
• Coûts minimaux 6 1
v2 v5
743
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
• Si le chemin optimal entre les nœuds v1 et vn passe par les nœuds vi et vj,
alors le sous-chemin de vi à vj est optimal.
Sinon on pourrait améliorer le chemin de v1 à vn. v1 vi vj vn
744
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
• Le coût optimal d’un nœud s’obtient à partir des coûts de ses prédécesseurs.
On évalue successivement les coûts optimaux des nœuds de V0, V1, …, Vk, …
Niveau 0 : vj V0 z( v j ) 0 vi1
Niveau 1 : vj V1
v i V0
z( v j ) min z( v i ) cij
z(vi2) + ci2j
Niveau k : vj Vk
z( v j ) min z( v i ) cij
v i Vk 1
vi2 vj
v21 4
3
v11 5 v31
4 5
8 4
v22
5 4
5 4
v0 v12 6 v4
4 3
7 v23 7
4 2
2
v13 v32
3 4
v24
746
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
v21 4
3
8 5 v31
4 5
8 4
v22
5 4
5 4
0 5 6 v4
4 3
7 v23 7
4 2
2
7 v32
3 4
v24
747
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
10 4
3
8 5 v31
4 5
8 4
9
5 4
5 4
0 5 6 v4
4 3
7 9 7
4 2
2
7 v32
3 4
9
748
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
10 4
3
8 5 12
4 5
8 4
9
5 4
5 4
0 5 6 v4
4 3
7 9 7
4 2
2
7 11
3 4
9
749
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
10 4
3
8 5 12
4 5
8 4
9
5 4
5 4
0 5 6 17
4 3
7 9 7
4 2
2
7 11
3 4
9
750
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
v21 4
3
v11 5 v31
4 5
8 4
v22
5 4
5 4
v0 v12 6 v4
4 3
7 v23 7
4 2
2
v13 v32
3 4
v24
v21 4
3
v11 5 5
4 5
8 4
v22
5 4
5 4
v0 v12 6 0
4 3
7 v23 7
4 2
2
v13 7
3 4
v24
752
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
9 4
3
v11 5 5
4 5
4
8 9
5 4
5 4
v0 v12 6 0
4 3
7 8 7
4 2
2
v13 7
3 4
11
753
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
9 4
3
12 5 5
4 5
4
8 9
5 4
5 4
v0 13 6 0
4 3
7 8 7
4 2
2
10 7
3 4
11
754
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
9 4
3
12 5 5
4 5
4
8 9
5 4
5 4
17 13 6 0
4 3
7 8 7
4 2
2
10 7
3 4
11
755
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
v21 4
3
v11 5 v31
4 5
8 4
v22
5 4
5 4
v0 v12 6 v4
4 3
7 v23 7
4 2
2
v13 v32
3 4
v24
• La programmation dynamique est applicable lorsque la dimension de l’état reste petite ( 3).
Pour une dimension d’état supérieur, la combinatoire est exponentielle.
758
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Principe
L’algorithme de Dijkstra traite à chaque étape le nœud de valeur minimale.
Ce choix ne tient pas compte du chemin restant à parcourir (qui est inconnu).
L’heuristique A* se base sur une estimation du coût restant pour choisir le nœud à traiter.
zsi vi
hi
s t
zsj hj
vj
759
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Déroulement de l’algorithme
L’algorithme A* diffère de l’algorithme de Dijkstra par le choix du nœud à traiter.
4.1.2 Heuristique A*
Propriétés de l’heuristique
• Le comportement de l’algorithme dépend des propriétés de l’heuristique.
On note : zij le coût du meilleur chemin de vi à vj
hi le coût estimé de vi à t
ei l’évaluation du nœud vi → ei = zsi + hi
cij le coût de l’arc vivj
zsi vi
hi
cij
s t
zsj hj
vj
4.1.2 Heuristique A*
Propriétés de l’heuristique
• Les propriétés de consistance, monotonie, admissibilité sont liées.
Consistance Monotonie
Consistance Admissibilité
• Une heuristique non consistante peut rouvrir des nœuds de façon exponentielle.
Même si l’heuristique est admissible, la performance peut être très dégradée.
Cas particuliers
• Avec l’heuristique nulle (hi = 0), le nœud choisi est le nœud de coût minimal.
On retrouve l’algorithme de Dijkstra : tous les nœuds sont traités une fois.
• Avec l’heuristique parfaite (hi = zit), le nœud choisi est sur le chemin optimal.
On trouve le chemin optimal directement, car l’évaluation donne la solution exacte.
762
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Exemple 1
• Nœuds numérotés par abscisse-ordonnée : vij = nœud en position (i , j)
• Nœud de départ : v11 → Nœud d’arrivée : v44
1.1 2 1 1
(4) (3) (2) (1)
v13 2 v23 2 v33 2 v43
1.1 2 1 1 estimation = 2
(5) (4) (3) (2)
v12 v22 1 v32 2 v42
1.5
1.1 2 2 1 abscisse = 4
(6) (5) (4) (3) ordonnée = 2
v11 v21 1 v31 1 v41
1
763
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Exemple 1 : étape 0
• Nœuds ouverts : v11 (6)
1.1 2 1 1
(5) (4) (3) (2)
1.5 1 2
1.1 2 2 1
(6) (5) (4) (3)
0 (6) 1 0 1 1
764
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Exemple 1 : étape 1
• Nœuds ouverts : v12 (6.1) , v21 (6)
1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) Nœud fermé : en gris
1.5 1 2
765
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Exemple 1 : étape 2
• Nœuds ouverts : v12 (6.1) , v22 (7) , v31 (6)
1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 3 (7) Nœud fermé : en gris
1.5 1 2
766
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Exemple 1 : étape 3
• Nœuds ouverts : v12 (6.1) , v22 (7) , v32 (7) , v41 (6)
1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 3 (7) 4 (7) Nœud fermé : en gris
1.5 1 2
767
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Exemple 1 : étape 4
• Nœuds ouverts : v12 (6.1) , v22 (7) , v32 (7) , v42 (6)
1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 3 (7) 4 (7) 4 (6) Nœud fermé : en gris
1.5 1 2
768
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Exemple 1 : étape 5
• Nœuds ouverts : v12 (6.1) , v22 (7) , v32 (7) , v43 (6)
1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 3 (7) 4 (7) 4 (6) Nœud fermé : en gris
1.5 1 2
769
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Exemple 1 : étape 6
• Nœuds ouverts : v12 (6.1) , v22 (7) , v32 (7) , v44 (6)
• Meilleur chemin : v11 v21 v31 v41 v42 v43 v44 → C=6
1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 3 (7) 4 (7) 4 (6) Nœud fermé : en gris
1.5 1 2
770
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Comparaison à l’algorithme de Dijkstra
• L’algorithme A* avec une estimation nulle est équivalent à l’algorithme de Dijkstra.
• Le nœud à traiter est le nœud de coût minimal → traité une seule fois.
• Meilleur chemin : v11 v21 v31 v41 v42 v43 v44 → C=6
771
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Graphe revalué
• L’algorithme A* est équivalent à l’algorithme de Dijkstra appliqué dans un graphe revalué.
772
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Exemple 2 : coût modifié
• On reprend le même exemple en changeant le coût de l’arc v43 v44 .
Le coût de l’arc passe de 1 à 4 (en rouge).
1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 3 (7) 4 (7) 4 (6) Nœud fermé : en gris
1.5 1 2
773
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Exemple 2 : étape 6
• Nœuds ouverts : v12 (6.1) , v22 (7) , v32 (7) , v44 (9)
1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 3 (7) 4 (7) 4 (6) Nœud fermé : en gris
1.5 1 2
774
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Exemple 2 : étape 7
• Nœuds ouverts : v13 (6.2) , v22 (6.6) , v32 (7) , v44 (9)
1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 2.6 (6.6) 4 (7) 4 (6) Nœud fermé : en gris
1.5 1 2
775
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Exemple 2 : étape 8
• Nœuds ouverts : v14 (6.3) , v22 (6.6) , v23 (7.2) , v32 (7) , v44 (9)
1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 2.6 (6.6) 4 (7) 4 (6) Nœud fermé : en gris
1.5 1 2
776
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Exemple 2 : étape 9
• Nœuds ouverts : v22 (6.6) , v23 (7.2) , v24 (6.3) , v32 (7) , v44 (9)
1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 2.6 (6.6) 4 (7) 4 (6) Nœud fermé : en gris
1.5 1 2
777
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Exemple 2 : étape 10
• Nœuds ouverts : v22 (6.6) , v23 (7.2) , v32 (7) , v34 (9.3) , v44 (9)
1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 2.6 (6.6) 4 (7) 4 (6) Nœud fermé : en gris
1.5 1 2
778
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Exemple 2 : étape 11
• Nœuds ouverts : v23 (7.2) , v32 (6.6) , v34 (9.3) , v44 (9)
1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 2.6 (6.6) 3.6 (6.6) 4 (6) Nœud fermé : en gris
1.5 1 2
779
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Exemple 2 : étape 12
• Nœuds ouverts : v23 (7.2) , v33 (6.6) , v34 (9.3) , v44 (9)
1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 2.6 (6.6) 3.6 (6.6) 4 (6) Nœud fermé : en gris
1.5 1 2
780
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Exemple 2 : étape 13
• Nœuds ouverts : v23 (7.2) , v34 (6.6) , v44 (9)
1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 2.6 (6.6) 3.6 (6.6) 4 (6) Nœud fermé : en gris
1.5 1 2
781
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Exemple 2 : étape 14
• Nœuds ouverts : v23 (7.2) , v44 (6.6)
• Meilleur chemin : v11 v12 v22 v32 v33 v34 v44 → C = 6.6
1.1 2 1 1
(5) (4) (3) (2)
1.1 (6.1) 2.6 (6.6) 3.6 (6.6) 4 (6) Nœud fermé : en gris
1.5 1 2
782
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Heuristique non admissible
• Une heuristique non admissible peut aboutir à une solution sous-optimale.
• Exemple
(1)
v1 Coût minimal de v2 à t : z2t = 1
1 2
(2) Estimation de v2 à t : h2 = 3
s t h2 > z2t → heuristique non admissible
1 (3) 1
v2
(1)
Solution obtenue par A* : s v1 t : C = 3
1 (2)
1 2 Solution optimale : s v2 t : C = 2
(2)
0 (2) 3 (3)
Evaluation de v2 : e2 = 4
1 (3) 1 Evaluation de t : et = 3
1 (4)
→ v2 reste ouvert (à cause de h2)
→ la solution optimale n’est pas trouvée
783
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Heuristique non consistante
• Une heuristique non consistante peut ouvrir des nœuds plusieurs fois.
• Exemple
(1) (0.5)
1
v1 v3 Coût de v2 à v3 : c23 = 0
1 2
(3) Estimation de v2 et v3 : h2 = 2 , h3 = 0.5
0
s t h2 > h3 + c23 → heuristique non consistante
(2) (1.5)
1 2
v2 v4
1
(1) (0.5)
1 Coût minimal de chaque nœud à t
3 2 z4t = 2 h4 = 1.5
1 2
(3) z3t = 2 h3 = 0.5
0
3 0 z2t = 2 h2 = 2
(2) (1.5) z1t = 3 h1 = 1
1 2
2 2 zst = 3 hs = 3
1
→ heuristique admissible
784
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Heuristique A*
Heuristique non consistante
• Déroulement de A*
(1) (0.5)
1
1 (2) 2 (2.5) traité ouvert (évaluation) fermé
(3) 1 2
s v1 (2) , v2 (3) s , v3 , v4 , t
0 (3) 0
v1 v2 (3) , v3 (2.5) s , v1 , v4 , t
1 (2) (1.5)
2
1 (3) v3 v2 (3) , t (4) s , v1 , v3 , v4
1
v2 v3 (1.5) , v4 (3.5) , t (4) s , v1 , v2
(1) (0.5) v3 v4 (3.5) , t (3) s , v1 , v2 , v3
1
1 (2) 1 (1.5)
(3) 1 2
0 (3) 0 4 (4)
1 (2) (1.5) Solution optimale : s v2 v3 t : C = 3
2
1 (3) 2 (3.5)
1
4.1.2 Heuristique A*
Propriétés de A*
• L’heuristique A* est équivalente à l’algorithme de Dijkstra appliqué dans un graphe revalué.
• Une heuristique non consistante est détectée par des valuations cij négatives.
Pour une heuristique consistante, A* et Dijkstra ont les mêmes propriétés.
786
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Ordonnancement
Enoncé du problème
Une liste de n tâches T1 , … , Tn est à réaliser le plus rapidement possible.
Les durées des tâches d1 , … , dn sont connues.
Les dates de début et fin de la tâche Ti sont notées ti,d et ti,f → valeurs à optimiser
La réalisation des tâches est soumise à plusieurs types de contraintes.
Contraintes
• Contraintes de type potentiel
- La tâche Ti ne peut commencer avant une date donnée → ti,d ti,min
- La tâche Ti doit être terminée avant une date donnée → ti,f ti,max
- La tâche Ti ne peut commencer avant que la tâche Tj soit terminée → ti,d tj,f + dj
787
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Ordonnancement
Durée minimale
• Les tâches et contraintes sont représentées sous forme d’un graphe.
Plusieurs représentations sont possibles (méthode PERT , méthode MPM)
• On cherche à minimiser la durée totale nécessaire pour réaliser toutes les tâches T1 , … , Tn.
- Les tâches T0 et T représentent le début et la fin du processus.
- La durée totale minimale est celle du chemin de durée maximale entre T0 et T.
→ algorithme de Bellman transposé à une maximisation (graphe sans circuit)
Chemin critique
• Un chemin critique est un chemin de durée maximale entre T0 et T.
• Une tâche située sur un chemin critique est une tâche critique.
Une tâche critique ne peut être retardée sans augmenter la durée totale.
• Une tâche non critique peut être retardée sans affecter la durée totale → marge
788
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Ordonnancement
Algorithmes
• Méthode GANTT (ou planning à barres)
- Représentation des tâches par des barres de longueur égale à leur durée di
- Développée par K. Adamiecki 1896, puis H. Gantt 1910
- Méthode approchée non systématique (seule méthode connue jusqu’en 1958)
- Utilisée pour visualiser la solution obtenue par une autre méthode
• Méthode MPM
- Représentation par un graphe : nœuds = opérations (ou tâches)
arcs = contraintes
- MPM = Méthode des Potentiels Métra
- Méthode développée par B. Roy (société Métra) en 1958 pour planifier le paquebot France
- Ne nécessite pas le tracé du graphe → plus simple que la méthode PERT
789
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Ordonnancement
Exemple
• Processus comportant 9 tâches notées A , B , C , D , E , F , G , H , I
Les tâches T0 et T représentent le début et la fin du processus.
Tâche A B C D E F G H I
Préalable T0+5 T0 T0+3 A,B B B,C D,E,F D,E,F E,Cm
Durée 16 14 20 8 18 25 15 10 17
Tâche A B Cm C D E F G H I
Préalable T0+5 T0 T0+3 Cm A,B B B,C D,E,F D,E,F E,Cm
Durée 16 14 10 10 8 18 25 15 10 17
790
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
16 8 15
Ad Af Dd Df Gd Gf
5
14 18 10
T0 Bd Bf Ed Ef Hd Hf T
3 25 17
Cd Cf Fd Ff Id If
10 10
Cm
Tâche A B Cm C D E F G H I
Préalable T0+5 T0 T0+3 Cm A,B B B,C D,E,F D,E,F E,Cm
Durée 16 14 10 10 8 18 25 15 10 17
791
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
16 8 15
5 21 21 29 48 63
5
14 18 10
0 0 14 14 32 48 58 63
3 25 17
3 23 23 48 32 49
10 10
13
Tâche A B Cm C D E F G H I
Préalable T0+5 T0 T0+3 Cm A,B B B,C D,E,F D,E,F E,Cm
Durée 16 14 10 10 8 18 25 15 10 17
Début min 5 0 3 13 21 14 23 48 48 32
Fin min 21 14 13 23 29 32 48 63 58 49
792
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
Ad 16 Dd 8 Gd 15
5
T0 0 Bd 14 Ed 18 Hd 10 T
3
Cd Fd 25 Id 17
10
Cm 10
Tâche A B Cm C D E F G H I
Préalable T0+5 T0 T0+3 Cm A,B B B,C D,E,F D,E,F E,Cm
Durée 16 14 10 10 8 18 25 15 10 17
793
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
5 16 21 8 48 15
5
0 0 0 14 14 18 48 10 63
3
3 23 25 32 17
10
13 10
Tâche A B Cm C D E F G H I
Préalable T0+5 T0 T0+3 Cm A,B B B,C D,E,F D,E,F E,Cm
Durée 16 14 10 10 8 18 25 15 10 17
Début min 5 0 3 13 21 14 23 48 48 32
Fin min 21 14 13 23 29 32 48 63 58 49
794
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
• Exemple : La tâche G a pour prédécesseurs D (durée 8), E (durée 18), F (durée 25).
• Les sous-colonnes de gauche vont ensuite être complétées avec les dates au plus tôt.
Tâche A B Cm C D
Préalable T0 5 T0 0 T0 3 Cm 10 A 16
B 14
Tâche E F G H I T
Préalable B 14 B 14 D 8 D 8 E 18 G 15
C 10 E 18 E 18 Cm 10 H 10
F 25 F 25 I 17
795
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
• Les colonnes A, B, Cm sont complètes. On peut calculer la date au plus tôt des tâches A, B, Cm.
La date au plus tôt de A vaut : 0 (date au plus tôt de T0) + 5 (durée T0 A)
On inscrit cette date au plus tôt en haut à gauche de la colonne A (id pour B et C).
Tâche 5 A 0 B 3 Cm C D
Préalable 0 T0 5 0 T0 0 0 T0 3 Cm 10 A 16
B 14
Tâche E F G H I T
Préalable B 14 B 14 D 8 D 8 E 18 G 15
C 10 E 18 E 18 Cm 10 H 10
F 25 F 25 I 17
796
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
• Les colonnes C, D, E sont complètes. On peut calculer la date au plus tôt des tâches C, D, E.
La date au plus tôt de D est le maximum entre : 5 (date au plus tôt de A) + 16 (durée A D)
0 (date au plus tôt de B) + 14 (durée B D)
On inscrit les nouvelles dates au plus tôt en haut à gauche des colonnes C, D, E.
Tâche 5 A 0 B 3 Cm 13 C 21 D
Préalable 0 T0 5 0 T0 0 0 T0 3 3 Cm 10 5 A 16
0 B 14
Tâche 14 E F G H I T
Préalable 0 B 14 0 B 14 D 8 D 8 E 18 G 15
C 10 E 18 E 18 Cm 10 H 10
F 25 F 25 I 17
797
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
• Les colonnes F, I sont complètes. On peut calculer la date au plus tôt des tâches F, I.
La date au plus tôt de F est le maximum entre : 0 (date au plus tôt de B) + 14 (durée B F)
13 (date au plus tôt de C) + 10 (durée C F)
On inscrit les nouvelles dates au plus tôt en haut à gauche des colonnes F, I.
Tâche 5 A 0 B 3 Cm 13 C 21 D
Préalable 0 T0 5 0 T0 0 0 T0 3 3 Cm 10 5 A 16
0 B 14
Tâche 14 E 23 F G H 32 I T
Préalable 0 B 14 0 B 14 21 D 8 21 D 8 14 E 18 G 15
13 C 10 14 E 18 14 E 18 3 Cm 10 H 10
F 25 F 25 I 17
798
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
• Les colonnes G, H sont complètes. On peut calculer la date au plus tôt des tâches G, H.
• On peut ensuite compléter le tableau en calculant la date finale au plus tôt (colonne T).
Tâche 5 A 0 B 3 Cm 13 C 21 D
Préalable 0 T0 5 0 T0 0 0 T0 3 3 Cm 10 5 A 16
0 B 14
Tâche 14 E 23 F 48 G 48 H 32 I T
Préalable 0 B 14 0 B 14 21 D 8 21 D 8 14 E 18 G 15
13 C 10 14 E 18 14 E 18 3 Cm 10 H 10
23 F 25 23 F 25 32 I 17
799
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
Tâche 5 A 0 B 3 Cm 13 C 21 D
Préalable 0 T0 5 0 T0 0 0 T0 3 3 Cm 10 5 A 16
0 B 14
Tâche 14 E 23 F 48 G 48 H 32 I 63 T
Préalable 0 B 14 0 B 14 21 D 8 21 D 8 14 E 18 48 G 15
13 C 10 14 E 18 14 E 18 3 Cm 10 48 H 10
23 F 25 23 F 25 32 I 17
800
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Marges
Dates au plus tôt, au plus tard
• Le processus est une suite d’évènements Ei avec les durées des tâches entre les évènements.
L’algorithme de Bellman donne la date au plus tôt de chaque évènement et le chemin critique.
• Notations
- ti min = date au plus tôt de l’évènement Ei (obtenue par l’algorithme de Bellman)
- ti max = date au plus tard de l’évènement Ei (sans retarder la suite du processus)
- dij = durée de la tâche entre l’évènement Ei et l’évènement Ej
- +(i) = ensemble des successeurs de l’évènement Ei
- (i) = ensemble des prédécesseurs de l’évènement Ei
• Les évènements et tâches sur le chemin critique ne peuvent être retardés : t i max t i min
• Une tâche non critique dispose d’une marge → marge libre, marge totale
801
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.2 Problème de chemin
Techniques d’optimisation Mai 2017
4.1.2 Marges
Chemin critique
Les évènements et tâches sur le chemin critique ne peuvent être retardés.
Marge libre
• La marge libre mij de la tâche Ej Ei vaut : m ij t j min t i min d ij
• mij = durée dont la tâche Ej Ei peut augmenter sans impact sur la suite du processus
→ sans décalage des tâches ultérieures (conservation des dates au plus tôt)
→ peut être nulle même si la tâche n’est pas sur le chemin critique
Marge totale
• La marge totale Mij de la tâche Ej Ei vaut : M ij t j max t i min d ij
4.1.2 Marges
Exemple
2
• Problème à 4 évènements : A, B, C, D A (23) C (45)
2 1
• Chemin critique : T0 B D T
T0 (0) 1 T (6)
→ durée = 6
2 2
• Entre parenthèses : date au plus tôt / tard B (22) D (44)
2
Evènement T0 A B C D T
Date au plus tôt 0 2 2 4 4 6
Date au plus tard 0 52 = 3 42 = 2 61 = 5 62 = 4 6
• Les tâches (T0 A) et (A C) ont une marge libre de 0, bien que n’étant pas critiques.
803
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017
Réseau de transport
Chaîne améliorante
Coupe
Graphe d’écart
804
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017
• Le flot sur chaque arc ne doit pas dépasser la capacité de l’arc : xij fij
coût : c x c
vi v j E
ij ij
• Il est assez simple de construire un flot initial vérifiant les lois de conservation.
• Problèmes à résoudre.
Quelle est la valeur maximale φmax du flot pouvant traverser le réseau ?
Parmi tous les flots de valeur maximale φmax , quel est celui de coût minimal cmin ?
Algorithmes
Les algorithmes consistent à améliorer itérativement un flot initial.
• Algorithme de Ford et Fulkerson flot maximal
• Algorithme de Roy, Busacker et Gowen flot maximal de coût minimal
v22
v0 (25) v12 v3
v23
v22
v0 (25) 25 v12 v3
v23
x23
1 + x12 + 2
v1 v2
809
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017
Procédure de marquage
• Initialisation : - La source est marquée +
- Les nœuds sont non marqués.
Chaîne améliorante
• Si le puits est marqué, le flot n’est pas maximal.
On trouve une chaîne améliorante en remontant les prédécesseurs à partir du puits.
Le flot des arcs directs [vivj] est augmenté de δφ (avec δφ fij xij)
Le flot des arcs indirects [vivj] est diminué de δφ (avec δφ xji)
v22
v0 (25) 25 v12 v3
v23
Nœud v3 (+) v21 (+) v12 () v22 (+) v11 (+)
Prédécesseur v21 v12 v22 v11 v0
Borne (+ ) 30 20 0 15 45
Flot sur l’arc 20 10 5 5 35
Variation +10 +10 5 +10 +10
812
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017
v22
v0 (25) 25 v12 v3
v23
v22
v0 (25) 25 v12 v3
v23
v22
v0 (25) 25 v12 v3
v23
v22
v0 (25) 25 v12 v3
v23
4.1.3 Coupe
Solution
Le flot obtenu à la fin de l’algorithme de Ford-Fulkerson est le flot maximal.
Pour le vérifier, on considère la coupe associée au flot .
Coupe
La coupe W associée au flot est l’ensemble des nœuds marqués.
Chaque nœud de V appartient soit à W, soit au complémentaire W .
W W VW
• Un arc [vivj] sortant de la coupe est saturé.
Sinon vj serait marqué (+) et appartiendrait à W. xij= fij
vi vj
s t
• Un arc [vkvl] entrant dans la coupe est de flot nul. vl
xkl= 0
vk
Sinon vk serait marqué () et appartiendrait à W.
• On ne peut ni augmenter le flot total sortant de la coupe, ni diminuer le flot total entrant.
Si le puits est non marqué, on ne peut pas augmenter le flot arrivant au puits.
Le flot est maximal.
817
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017
4.1.3 Coupe
Exemple
Coupe associé au flot 1 : W = {v0 , v11 , v22} (en bleu)
• Arcs sortants : [v0v12] , [v0v13] , [v11v21] , [v11v24] , [v22v3] saturés (en vert)
• Arcs entrants : [v12v22] flot nul (en rouge)
v22
v0 (25) 25 v12 v3
v23
xij= 0
• Si l’arc [vivj] de G est de flot nul : xij = 0 vi vj
Ge comporte l’arc [vivj] avec la capacité fij fij
ne comporte pas l’arc [vjvi] vi vj
v2 v2
v1 (1) 0 v4 v1 (1) v4
v3 v3
Arc de G [v1v2] (4) [v1v3] (3) [v2v3] (1) [v2v4] (3) [v3v4] (2)
Flot sur l’arc non saturé (3) non saturé (1) flot nul (0) saturé (3) non saturé (1)
Arc direct de Ge [v1v2] (1) [v1v3] (2) [v2v3] (1) [v3v4] (1)
Arc indirect de Ge [v2v1] (3) [v3v1] (1) [v4v2] (3) [v4v3] (1)
820
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017
v2 v2
v1 (1) 0 v4 v1 (1) v4
v3 v3
821
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017
v2 v2
v1 (1) 1 v4 v1 (1) v4
v3 v3
Arc de G [v1v2] (4) [v1v3] (3) [v2v3] (1) [v2v4] (3) [v3v4] (2)
Flot sur l’arc saturé (4) non saturé (1) saturé (1) saturé (3) saturé (2)
Arc direct de Ge [v1v3] (2)
Arc indirect de Ge [v2v1] (4) [v3v1] (1) [v3v2] (1) [v4v2] (3) [v4v3] (2)
822
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017
• La variable xij est le flot passant par l’arc [vivj] de capacité fij (fij , cij)
vi xij vj
et de coût cij
Le coût du flot xij passant par l’arc [vivj]est xijcij.
• Le coût du flot est la somme des coûts sur chaque arc : c x ijcij
vi v j E
Théorème de Roy
• Le flot de valeur φmax est de coût minimal
s’il n’existe aucun circuit de coût négatif dans Ge.
823
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017
v2 v2
v1 (1,4) 1 v4 v1 (1,4) v4
v3 v3
824
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017
v2 v2
v1 (1,4) 1 v4 v1 (1,4) v4
v3 v3
826
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017
v2 v2
v1 (1,4) 0 v4 v1 (1,4) v4
v3 v3
827
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017
v2 v2
v1 (1,4) 0 v4 v1 (1,4) v4
v3 v3
828
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.3 Problème de flot
Techniques d’optimisation Mai 2017
v2 v2
v1 (1,4) 0 v4 v1 (1,4) v4
v3 v3
829
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
Méthode hongroise
Justification théorique
830
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
Algorithmes
• Le problème d’affectation est équivalent à un problème de flot maximal de coût minimal.
Les ressources et les taches forment un graphe biparti avec des arcs de capacités égales à 1.
Le flot maximal est égal à n (affectation de toutes les ressources et toutes les taches).
résolution par l’algorithme de Roy Busacker et Gowen
• La méthode hongroise permet une résolution directe sur le tableau des coûts.
On sélectionne en priorité les affectations ayant les coûts le plus faibles.
On modifie la solution jusqu’à couvrir toutes les ressources et toutes les taches.
méthode développée par Egervary König et Kuhn
• Les nœuds du graphe sont les ressources (ri)i=1 à n et les taches (tj)j=1 à n.
Les ressources forment un sous-ensemble de nœuds disjoints.
Les taches forment un sous-ensemble de nœuds disjoints. → graphe biparti
• Chaque ressource ri est reliée à une tache tj par un arc de capacité 1 et de coût cij.
Les ressources sont reliées à une source r0 par des arcs de capacité 1 et de coût 0.
Les taches sont reliées à un puits t0 par des arcs de capacité 1 et de coût 0.
r1 t1
r0 (1 , 0) ri (1 , cij) tj (1 , 0) t0
rn tn 832
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
• Réseau équivalent
→ Arcs de capacité 1 r1 (24) t1
avec leur coût
r2 (22) t2
r0 t0
r3 (20) t3
r4 (13) t4
833
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
24 10 21 11 24 10 21 11 24 10 21 11 24 10 21 11
14 22 10 15 14 22 10 15 14 22 10 15 14 22 10 15
15 17 20 19 15 17 20 19 15 17 20 19 15 17 20 19
11 19 14 13 11 19 14 13 11 19 14 13 11 19 14 13
r1 t1
• Graphe associé au flot initial
On ne représente que les arcs saturés
r2 t2
avec leur coût.
r0 t0
r3 t3
r4 t4
834
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
r1 t1 r1 t1
r2 t2 r2 t2
r0 t0 r0 t0
r3 t3 r3 t3
(13)
r4 t4 r4 t4
r1 t1 r1 t1
r2 t2 r2 t2
r0 t0 r0 t0
r3 t3 r3 t3
(13) (-13)
r4 t4 r4 t4
24 10 21 11 → 10 14 0 11 1
• Etape 1 : réduction des lignes 14 22 10 15 → 10 4 12 0 5
15 17 20 19 → 15 0 2 5 4
→ C = 10 + 10 + 15 + 11 = 46 11 19 14 13 → 11 0 8 3 2
14 0 11 1 14 0 11 0
• Etape 2 : réduction des colonnes 4 12 0 5 4 12 0 4
0 2 5 4 0 2 5 3
→ C = 46 + 0 + 0 + 0 + 1 = 47 0 8 3 2 0 8 3 1
↓ ↓ ↓ ↓
0 0 0 1 838
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
14 0 11 0
• Etape 4 : plus petit coût non couvert 4 12 0 4 → cmin = 1
0 2 5 3
→ C = 47 + 1 = 48 0 8 3 1
14 0 11 0
On soustrait 1 aux éléments non couverts. 4 11 0 3
0 1 5 2
0 7 3 0
15 0 12 0
On ajoute 1 aux éléments couverts 2 fois. 4 11 0 3
0 1 5 2
0 7 3 0 839
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
15 0 12 0
• Etape 5 : choix d’un zéro par ligne 4 11 0 3
et par colonne 0 1 5 2
0 7 3 0
24 10 21 11
• On obtient l’affectation optimale. 14 22 10 15
15 17 20 19
(r1 – t2) ; (r2 – t3) ; (r3 – t1) ; (r4 – t4)
11 19 14 13
Coût total : C = 10 + 10 + 15 + 13 = 48
840
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
14 0 11 0 r2 t2
4 12 0 4 r0 t0
0 2 5 3 r3 t3
0 8 3 1
r4 t4
• Si le flot maximal est de valeur n, toutes les ressources et les taches sont affectées.
Les affectations optimales correspondent aux arcs (ri – tj) de flot 1 (= zéros sélectionnés).
841
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
r1 t1
r2 t2
r0 t0
r3 t3
r4 t4
842
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
r1 t1
r2 t2
r0 t0
r3 t3
r4 t4
843
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
r1 t1
r2 t2
r0 t0
r3 t3
r4 t4
844
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
• On ne peut pas trouver 4 zéros couvrant toutes les lignes et les colonnes (étape 3)
→ passage à l’étape 4.
r1 t1
r2 t2
r0 t0
r3 t3
r4 t4
845
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
r1 t1
r2 t2
r0 t0
r3 t3
r4 1
t4
(1)
846
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
• Problème de maximisation
On se ramène à un problème de minimisation :
- en trouvant le plus grand élément cmax de la matrice des coûts C
- en remplaçant chaque coût cij par la différence cmax − cij ≥ 0
On applique la méthode hongroise sur la matrice Cmax − C pour trouver l’affectation optimale.
La couverture des zéros à l’étape 3 est réalisée par l’algorithme de Roy Busacker et Gowen
pour trouver le flot maximal de coût minimal.
- La solution est optimale si le flot maximal vaut = min(m,p).
- Sinon on augmente le flot le long de la chaîne améliorante de coût minimal.
847
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
Il existe 4 couvertures possibles des zéros : (r1 – t1) ; (r2 – t3) → C=1+3=4
(r1 – t2) ; (r2 – t1) → C=2+1=3
1 2 3
(r1 – t2) ; (r2 – t3) → C=2+3=5
1 3 3 (r1 – t3) ; (r2 – t1) → C=3+1=4
(1,1)
• On construit le graphe des zéros : r1 t1
- capacité des arcs : fij = 1 (1)
- coûts des arcs : cij = coûts initiaux r0 t2 t0
(1,3)
r2 t3
848
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
(1 , 1) 0
r1 t1
(1) 0
r0 t2 t0
(1 , 3) 0
r2 t3
849
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
(1 , 1) 1
r1 t1
(1) 0
r0 t2 t0
(1 , 3) 0
r2 t3
850
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
(1 , 1) 0
r1 t1
(1) 1
r0 t2 t0
(1 , 3) 0
r2 t3
851
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
• La variable binaire xij vaut 1 si la ressource i est affectée à la tache j nn variables
0 sinon
n n
• Le coût total à minimiser est : z cij x ij
i 1 j1
n
• La tache j est effectuée une seule fois : x
i 1
ij 1 , j 1 à n n contraintes
n
• La ressource i est affectée une fois au plus : x
j1
ij 1 , i 1 à n n contraintes
n
n n x ij 1 , j 1 à n multiplicateurs u
• Formulation : min z cij x ij sous i n1
x ij 1 , i 1 à n multiplicateurs v
x ij
i 1 j1
j1
852
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
x1 j x2j x nj
1 1 1 1 0 0 0 0 0 0 0 0 u1 1
0 0 0 0 1 1 1 1 0 0 0 0 u2 1
0 0 0 0 1
0 0 0 0 1 1 1 1
b
un
A 1
1 0 0 0 1 0 0 0 1 0 0 0 v1
0 1 0 0 0 1 0 0 0 1 0 0 v2 1
0 0 0 1 1
0 0 0 1 0 0 0 1 vn
2n variables n2 contraintes
854
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
• La variable ui est bornée par le coût minimal sur la ligne : u i min cij u i max , i 1 à n
j noté
• La variable vj est bornée par le coût minimal sur la colonne : v j min cij v j max , j 1 à n
i noté
855
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
• On soustrait sur chaque colonne de la matrice (cij) son plus petit élément noté vj max .
v' j v j v j max
→ Equivaut au changement de variable : c' ' c' v
ij ij j max
n n
• Le problème dual réduit s’écrit : max z' u 'i v' j z max sous u 'i v' j c' 'ij , i , j 1 à n
u 'i , v ' j
i 1 j1
n n
La valeur z max u i max v j max donne une borne inférieure sur le coût.
i 1 j1
La matrice c' 'ij cij u i max v j max comporte au moins un zéro par ligne et par colonne.
856
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.4 Problème d’affectation
Techniques d’optimisation Mai 2017
• On suppose que l’on peut choisir n cij nuls de façon à couvrir chaque ligne et chaque colonne.
• Pour chaque cij nul, on groupe les variables duales correspondantes ui et vj .
• On fait apparaître les n groupes (ui , vj) dans l’expression du coût dual.
n n n
z' u 'i v' j z max (u 'i k v' jk ) z max en notant (ik , jk)k=1 à n les groupes (ui , vj)
i 1 j1 k 1
n n
avec u 'i k v' jk 0 et z max u i max v j max
i 1 j1
u i 0 v j c m 0 c m ci 0 j si j j0 → par choix de cm
• Cette solution est admissible : u i 0 v j0 c m c m 0 ci 0 j0 si j j0
u i v j0 0 c m c m 0 cij0 si i i 0
• La solution nulle (ui=0 , vj=0) est admissible pour le nouveau problème réduit.
Cette solution est optimale si l’on peut couvrir toutes les lignes et colonnes avec n cij nuls.
859
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017
4.1.5 Heuristiques
Principes
Empilement
Emboîtement
Recouvrement
Coloration
Voyageur de commerce
860
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017
4.1.5 Heuristiques
Principes
• Il n’est généralement pas possible d’obtenir des solutions exactes en temps raisonnable
pour des problèmes NP-complets de grande taille. Il faut se satisfaire de solutions approchées.
• Une heuristique est une méthode de résolution approchée adaptée à un problème particulier.
La solution approchée est construite en suivant des règles empiriques définies librement.
« heuristique » = méthode de recherche empirique
Performance
• La performance d’une heuristique se mesure par l’écart à la solution optimale.
La solution optimale est généralement inconnue.
→ On ne peut pas garantir la performance d’une heuristique (sauf cas particuliers).
• On évalue la performance de façon statistique sur des cas tests de solution connue.
→ performance moyenne
→ performance cas pire
861
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017
4.1.5 Empilement
Enoncé du problème
On dispose d’un ensemble de n objets et d’une boîte de taille b.
L’objet numéro i est de taille ai et de valeur ci.
Il faut choisir les objets à empiler dans la boîte pour maximiser la valeur totale.
problème d’empilement ou de sac à dos en 0-1 (NP-complet)
Heuristique
Principe : On choisit en priorité les objets ayant le meilleur rapport valeur/taille.
c1 c 2 c
• On trie les objets par valeur moyenne (ou utilité) décroissante : n
a1 a 2 an
• On empile les objets 1, 2, …, p dans la boîte tant que la taille b n’est pas dépassée.
a1 a 2 a p b Les objets 1 à p rentrent dans la boîte.
a 1 a 2 a p a p 1 b L’ objet p+1 ne rentre pas.
4.1.5 Empilement
Exemple 1
Problème avec n = 2 objets
a1=1
• Valeurs des objets : c = (1 , b1) c c b 1
Utilités : 1 1 2
Tailles des objets : a = (1 , b) a1 a2 b a2=b
• La solution optimale est de prendre l’objet 2 (taille a2=b , valeur b1 > 1).
La solution gloutonne est mauvaise lorsque b est grand, car la boîte est peu remplie (1 << b).
• La solution gloutonne est bonne lorsque les objets sont petits par rapport à la boîte : a i << b
On peut alors s’approcher d’un remplissage maximal de la boîte.
863
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017
4.1.5 Empilement
Exemple 2
Problème de découpe
• Une solution gloutonne consiste à satisfaire en premier les commandes les plus importantes.
Longueur vendue = 2597 + 2463 + 1625 = 6685 reste = 105
864
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017
4.1.5 Emboîtement
Enoncé du problème
On dispose d’un ensemble de n objets et de boîtes de tailles identiques b.
L’objet numéro i est de taille ai.
Il faut ranger tous les objets en utilisant le moins de boîtes possibles.
problème d’emboîtement ou de remplissage ou de bin packing (NP-complet)
Heuristique
Principe : On place en priorité les objets les plus grands
en essayant de remplir au maximum les boîtes utilisées.
• Chaque objet est placé : si possible dans une boîte déjà utilisée
sinon dans une nouvelle boîte
Si l’objet peut rentrer dans plusieurs boîtes, on choisit celle que l’objet remplit le plus.
865
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017
4.1.5 Emboîtement
Exemple
Problème avec n = 6 objets
• On place les objets par taille décroissante en ajoutant une nouvelle boîte lorsque nécessaire.
Objet a1=4 a2=3 a3=3 a4=2 a5=2 a6=2 Remplissage
Boîte 1 4 7 7
Boîte 2 3 5 7 7
Boîte 3 2 2
• La performance relative de l’heuristique sur ce cas est de 50% par rapport à l’optimum.
→ cas pire
866
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017
4.1.5 Recouvrement
Enoncé du problème
• On dispose d’un ensemble de n ressources pour réaliser m taches.
La ressource numéro j a un coût cj et ne peut effectuer qu’une partie des taches.
Il faut choisir les ressources pour réaliser toutes les taches en minimisant le coût total.
problème de recouvrement (NP-complet)
Heuristique
Principe : On choisit en priorité les ressources ayant le meilleur rapport coût/taches effectuées.
r1 rj rn
• On définit la matrice A de compatibilités entre ressources et taches.
aij = 1 si la ressource j peut effectuer la tache i t1
0 sinon
t i 1
• La ressource j couvre Nj taches (= nombre de 1 en colonne j).
tm
Le coût moyen de la ressource j est cj /Nj. m
N j a ij
i 1
• A chaque itération on choisit la ressource de coût moyen minimal.
On supprime de la matrice A la colonne correspondante
et les lignes correspondant aux taches couvertes.
→ Itérations jusqu’à ce que toutes les taches soient couvertes.
867
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017
4.1.5 Recouvrement
Exemple r1 r2 r3 r4 r5
r1 r2 r3 r4 r5 r1 r3 r4 r5 r1 r3 r4
Matrice A t1 1 0 1 1 0 t1 1 1 1 0 t1 1 1 1
t2 0 1 0 1 0 t3 1 0 0 1
t3 1 0 0 0 1
t4 0 1 0 1
t4 0 0 1 0 1
r1 r2 r3 r4 r5 r1 r3 r4 r5 r1 r3 r4
4.1.5 Coloration
Enoncé du problème
On doit colorier les nœuds d’un graphe.
Les nœuds adjacents (ou voisins) doivent être de couleurs différentes.
Il faut utiliser le moins de couleurs possibles.
problème de coloration (NP-complet)
Heuristique
L’algorithme DSATUR de Brelaz (1979) consiste à colorier progressivement les nœuds.
On choisit à chaque itération le nœud le plus « difficile » à colorier
→ nœud ayant le maximum de voisins déjà coloriés
869
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017
4.1.5 Coloration
Exemple
Graphe à 8 nœuds.
v1 v2 v3 v4 v5 v6 v7 v8
v1 v2 v3 v4
δ 3 4 4 3 3 4 4 3
σ 0 0 0 0 0 0 0 0 → On colorie v2
v5 v6 v7 v8 C 0 0 0 0 0 0 0 0 avec la couleur 1.
v1 v2 v3 v4 v5 v6 v7 v8
v1 v2 v3 v4
δ 3 4 4 3 3 4 4 3
→ On colorie v3
σ 0 1 0 1 0 1 1
avec la couleur 2.
v5 v6 v7 v8 C 0 1 0 0 0 0 0 0
v1 v2 v3 v4 v5 v6 v7 v8
v1 v2 v3 v4
δ 3 4 4 3 3 4 4 3
σ 0 0 2 1 1 2 → On colorie v5
v5 v6 v7 v8 C 0 1 2 0 0 0 0 0 avec la couleur 3.
870
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017
4.1.5 Coloration
Exemple
Graphe à 8 nœuds.
v1 v2 v3 v4 v5 v6 v7 v8
v1 v2 v3 v4
δ 3 4 4 3 3 4 4 3
σ 0 1 1 1 2 → On colorie v8
avec la couleur 3.
v5 v6 v7 v8 C 0 1 2 0 3 0 0 0
v1 v2 v3 v4 v5 v6 v7 v8
v1 v2 v3 v4
δ 3 4 4 3 3 4 4 3
→ On colorie v6
σ 1 1 1 1
avec la couleur 1.
v5 v6 v7 v8 C 0 1 2 0 3 0 0 3
v1 v2 v3 v4 v5 v6 v7 v8
v1 v2 v3 v4
δ 3 4 4 3 3 4 4 3
σ 2 2 2 → On colorie v7
v5 v6 v7 v8 C 0 1 2 0 3 1 0 3 avec la couleur 2.
871
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017
4.1.5 Coloration
Exemple
Graphe à 8 nœuds.
v1 v2 v3 v4 v5 v6 v7 v8
v1 v2 v3 v4
δ 3 4 4 3 3 4 4 3
σ 3 3 → On colorie v1
avec la couleur 4.
v5 v6 v7 v8 C 0 1 2 0 3 1 2 3
v1 v2 v3 v4 v5 v6 v7 v8
v1 v2 v3 v4
δ 3 4 4 3 3 4 4 3
→ On colorie v4
σ 3
avec la couleur 4.
v5 v6 v7 v8 C 4 1 2 0 3 1 2 3
872
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017
4.1.5 Coloration
Application : dérivation numérique
On considère un simulateur à n entrées et m sorties.
x1 y1
n entrées x m sorties y
Simulateur
x y
n m
y
• On cherche à calculer la matrice jacobienne (dérivées partielles) par différences finies.
x
→ nécessite n appels du simulateur en faisant varier successivement x1, x2, …, xn
→ opération coûteuse en temps de calcul dans un algorithme d’optimisation
• Si les sorties yj ne dépendent pas de toutes les entrées xi (matrice jacobienne creuse),
on peut regrouper plusieurs entrées pour les faire varier simultanément.
La structure de la matrice jacobienne doit être connue (de façon théorique ou expérimentale).
873
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017
4.1.5 Coloration
Exemple
Simulateur à 5 entrées : x = (x1, x2, x3, x4, x5) y1 x1x 4
et 3 sorties : y = (y1, y2, y3)
y 2 x1x 2 x 5
y x x
3 3 5
0 0 0
y
• La structure de la matrice jacobienne est : 0 0
x
0 0 0
Sortie y1 → (x1,x4) x1 x2 x3
Sortie y2 → (x1,x2) , (x1,x5) , (x2,x5)
Sortie y3 → (x3,x5)
x4 x5
874
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017
4.1.5 Coloration
Exemple
On applique l’algorithme de coloration au graphe des relations entre (x 1, x2, x3, x4, x5).
x1 x2 x3 x4 x5
x2 x3
x1
δ 3 2 1 1 3
σ 0 0 0 0 0 → On colorie x2
x4 x5
C 0 0 0 0 0 avec la couleur 1.
x1 x2 x3 x4 x5
x2 x3
x1
δ 3 2 1 1 3
σ 1 0 1 1 → On colorie x5
x4 x5
C 1 0 0 0 0 avec la couleur 2.
x1 x2 x3 x4 x5
x1 x2 x3
δ 3 2 1 1 3
σ 2 1 1 → On colorie x2
x4 x5
C 1 0 0 0 2 avec la couleur 3.
875
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017
4.1.5 Coloration
Exemple
On applique l’algorithme de coloration au graphe des relations entre (x 1, x2, x3, x4, x5).
x1 x2 x3 x4 x5
x2 x3
x1
δ 3 2 1 1 3
σ 1 → On colorie x3
x4 x5
C 1 3 1 0 2 avec la couleur 1.
x1 x2 x3 x4 x5
x2 x3
x1
δ 3 2 1 1 3
σ 1 → On colorie x4
x4 x5
C 1 3 1 0 2 avec la couleur 2.
Heuristiques
• Heuristique 1 : arc de coût minimal
A chaque itération on prolonge le chemin par l’arc de coût minimal.
1
A B
• Solution optimale
Chemin (ADBCA) de longueur 2 + 1 + 2 + 1 = 6 1 1
2 2
C D
10
C D
10
• Prolongement du chemin
1 1 1
A B A B A B
1 2 2 1 1 2 2 1 1 2 2 1
C D C D C D
10 10 10
• Le regret associé à l’arc (v,w) est le coût minimal engendré par la non-sélection de l’arc (v,w).
rvw = max (rv , rw) matrice des regrets associés à chaque arc disponible
880
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017
A B C D
1
A 1 2 1 A B
• Matrice des regrets :
(ou pénalités)
B1 1 2
1
C2 1
1
1 2 2
D 1 2 1 C D
10
Coûts des arcs disponibles Matrice des regrets Arc de regret maximal
A B C D A B C D 1
A 1 1 2 A 1 2 1 A B
• Itération 1 : B1 2 1 B1 1 2 1 1
2 2
C1 2 10 C2 1 1
D 2 1 10 D 1
C D
2 1 10
A B C D A B C D 1
A 1 1 2 A 2 1 A B
• Itération 2 :
B1 2 1 B 1 2 1 1
2 2
C1 2 10 C
D 2 1 10 D
C D
10 1 10
A B C D 1
A 1 1 2 A B
• Itération 3 : Arcs (BC) et (AD)
B1 2 1 1 1
Chemin (CADBC) 2 2
C1 2 10
Longueur = 6
D 2 1 10
C D
10
882
4 Optimisation discrète Max CERF
4.1 Problème combinatoire
4.1.5 Heuristiques
Techniques d’optimisation Mai 2017
C D
10
1
• Insertion d’un nouveau nœud sur (CAB) A B
883
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes
4. Optimisation discrète
4.1 Problème combinatoire
4.2 Programmation linéaire
4.2.1 Formulation
4.2.2 Méthode de coupe
4.2.3 Méthode arborescente
4.2.4 Applications
4.2.5 Problème quadratique
4.3 Métaheuristiques
5. Optimisation fonctionnelle
884
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017
4.2.1 Formulation
Variables binaires
Variables entières
Variables mixtes
Linéarisation
Réduction
Méthodes de résolution
885
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017
• Le coût zr du problème relaxé (PLR) est un minorant du coût z* du problème binaire (PLB),
car le problème (PLR) est moins contraint que le problème (PLB).
z r c T x r z* c T x *
886
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017
887
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017
Complexité
• Pour un problème linéaire continu, la solution est un sommet du polytope ( C m
n
bases)
caractérisation simple de la solution
existence d’algorithme polynomial (le simplexe est exponentiel dans le cas pire)
• Pour un problème linéaire entier ou mixte, la solution est un point intérieur au polytope.
pas de caractérisation simple de la solution
problème NP complet (pas d’algorithme polynomial)
888
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017
4.2.1 Linéarisation
Techniques de linéarisation
On peut reformuler de nombreux problèmes comme problèmes linéaires en variables mixtes.
889
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017
4.2.1 Linéarisation
Produit de 2 variables binaires
• Formulation linéaire équivalente
f s 2 variables binaires s, t
f t
f s.t avec s U s t f 1 1 variable réelle f
t U f 0 4 contraintes linéaires
Preuve
On vérifie toutes les combinaisons possibles de s et t.
f 0
Cas s 0 f t 0 f 0 f 0
t f 1 0 t 1 t U libre
f 0
Cas t 0 id
f 1
Cas s 1 f 1 1 f 1 f 1
t 1 2 f 1
f 0
On obtient bien f=0 ou 1 suivant les valeurs de s et t.
890
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017
4.2.1 Linéarisation
Produit d’une variable binaire et d’une variable réelle bornée
• Formulation linéaire équivalente
Preuve
On vérifie toutes les valeurs possibles de s.
f 0
f x xL
Cas s 0 0 f 0 f 0
f
f x xU x xU f x xL xL x xU libre
0
f xU
Cas s 1 f x x f x f x
f
f x xL f xU xL x xU libre
xL
On obtient bien f=0 ou 1 suivant la valeur de s.
891
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017
4.2.1 Linéarisation
Approximation linéaire d’une variable réelle bornée
• On écrit la variable x , 0 x xU , sous la forme
s i U, i 1 à m x
m
m variables binaires si , m E log 2 U 1
x 2 s i r avec , r R
i 1
i 1 0 r 2 variables réelles , r
Preuve
La variable y est linéaire en fonction des m variables binaires s i
et prend un nombre fini de valeurs (« approximation discrète »).
y m
x x
On a : 2 i 1 si E par définition des si écriture binaire de E
i 1
x y x x x y
L’écart entre x et y vérifie : E 0 1 0 x y
892
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017
4.2.1 Linéarisation
Fonction d’une variable discrète
• On considère une variable réelle x prenant un nombre fini de valeurs.
x X x1 , x 2 ,..., x m variable discrète
893
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017
4.2.1 Linéarisation
Variable nulle ou supérieure à un seuil
• Formulation linéaire équivalente
x 0 x s.x L 1 variable binaire s
ou x s.x U 1 variable réelle x
0 x L x x U s U 2 contraintes linéaires
Preuve : Cas s 0 x 0
Cas s 1 xL x xU
Variables entières prenant des valeurs différentes
• Formulation linéaire équivalente
x y x y 1 y U 1.s 1 variable binaire s
x , y N y x 1 x U 1.(1 s) 2 variables réelles x, y
x x U , y y U x x U , y y U , s U 4 contraintes linéaires
x y 1 x y ( entiers )
Preuve : Cas s 0 y x xU toujours vérifié
x xU , y yU
x y yU toujours vérifié
Cas s 1 y x 1 y x ( entiers )
x xU , y yU
894
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017
4.2.1 Linéarisation
Variable dans l’union d’intervalles
• On considère une variable réelle x appartenant à une réunion d’intervalles
x a1 , b1 a 2 , b 2 ... a m , b m avec a1 b1 a 2 b 2 ... a m b m
• Formulation linéaire équivalente
x a is i a1 (1 s i )
x b is i b n (1 s i ) m variables binaires si , i=1 à m
m
m
x a i , b i 1 variable réelle x
i 1
si 1 2m+1 contraintes linéaires
i 1
s i U , i 1à m
Preuve
La contrainte de somme implique que tous les si valent 0 sauf un seul (sj) qui vaut 1.
x a j
sj 1 a j x bj
x b j
x a1
si 0 , i j a1 x bn toujours vérifié
x bn
On obtient bien x[aj,bj] pour un seul intervalle sélectionné par sj=1.
895
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017
4.2.1 Linéarisation
Vérification de p contraintes parmi m
• On considère m contraintes linéaires inégalités : g i (x) 0 pour i 1 à m
dont au moins p doivent être vérifiées.
Les fonctions gi sont définies et bornées sur X Rn : g i (x) g Ui , x X R n
896
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017
4.2.1 Linéarisation
Implication entre contraintes
• On considère 2 contraintes inégalités portant sur des fonctions de variables réelles.
Preuve
s 0 f(x) a La contrainte f(x) < a n’est vérifiée que si s= 1.
897
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017
4.2.1 Linéarisation
Maximum de fonctions bornées
• Formulation linéaire équivalente
Preuve
La contrainte de somme implique que tous les si valent 1 sauf un seul (sj) qui vaut 0.
f g j( x )
sj 0 f g j( x )
f g j( x )
f g i ( x ) ( gU g Li )
si 1 , i j g i ( x ) f g i ( x ) ( gU g Li ) gU
f gi ( x )
On obtient bien f gi(x), i=1 à m avec égalité f = gj(x) pour une seule des fonctions gi.
898
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017
4.2.1 Linéarisation
Minimum de fonctions bornées
• Formulation linéaire équivalente
Preuve
La contrainte de somme implique que tous les si valent 1 sauf un seul (sj) qui vaut 0.
f g j( x )
sj 0 f g j( x )
f g j( x )
f g i ( x ) ( gUi g L )
si 1 , i j g L g i ( x ) ( gUi g L ) f g i ( x )
f gi ( x )
On obtient bien f gi(x), i=1 à m avec égalité f = gj(x) pour une seule des fonctions gi.
899
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017
4.2.1 Réduction
Techniques de réduction
Avant de chercher la solution du problème en variables mixtes on peut souvent :
- éliminer des contraintes ou détecter des infaisabilités
- fixer des variables binaires ou améliorer leurs bornes
g L min g( x ) a j x Uj a j x Lj
x L xx U
g( x ) a j x j a j 0 a j 0
g max g( x ) a j x Lj a j x Uj
j U x L xx U
a j 0 a j 0
900
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017
4.2.1 Réduction
Fixation de variables
On détermine les valeurs minimales et maximales que peuvent prendre les contraintes
lorsque l’on fixe une variable binaire soit à 0, soit à 1.
permet de détecter des infaisabilités et de fixer des variables binaires
901
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.1 Formulation
Techniques d’optimisation Mai 2017
Exemple 5
Solution relaxée
Coupe ajoutée
Algorithme
Convergence
Coupes intégrales
Coupes mixtes
903
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
• La forme canonique de (PLR) dans la base optimale B est donnée par le tableau du simplexe.
xB xN
B1 N b x B B1 Nx N b
solution x B b
I
T
cN z cN x N z z x N 0
T T
0
• On suppose que la solution xr de (PLR) comprend au moins une variable xi non entière
sinon xr est la solution de (PLE).
904
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
• L’inégalité n’est pas vérifiée si la variable xi n’est pas entière (variables hors-base nulles).
F(a ij ) 0
• L’inégalité supplémentaire est de la forme : TN x N avec j
F( bi ) 0
avec une variable d’écart positive y : TN x N y
905
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
• L’inégalité n’est pas vérifiée si le coût z n’est pas entier (variables hors-base nulles).
F( c j ) 0
• L’inégalité supplémentaire est de la forme : TN x N avec j
1 F( z ) 0
avec une variable d’écart positive y : TN x N y
906
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
x
jN
j j j x j y
jN
avec une variable d’écart y 0
Preuve
F ( aij ) 0
• Pour une coupe sur une variable de base xi : j
F ( bi ) 0
y F ( bi ) F ( aij )x j bi E( bi ) aij E( aij ) x j avec xi aij x j bi
jN jN jN
xB y xN
• On ajoute la variable y et la contrainte TN x N y I 0 B1 N b
0 1 TN
Le problème est sous forme canonique dans la base (xB, y).
0 0 c NT z
Base duale
• Les variables de base sont xB et y : x b 0
y B 0 La base n’est pas primal admissible.
• Les coûts réduits sont positifs : cN 0 La base est dual admissible.
908
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
4.2.2 Algorithme
Méthode de Gomory (1958)
• On résout le problème relaxé initial par la méthode du simplexe primal.
• Si la solution relaxée n’est pas entière, on génère une contrainte de coupe (ou troncature).
On résout le nouveau problème par la méthode du simplexe dual (base initiale dual admissible).
Extensions
• On peut générer des coupes plus fortes coupes intégrales, coupes mixtes.
• On peut utiliser le principe des contraintes supplémentaires dans une méthode arborescente.
909
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
4.2.2 Exemple
Exemple
• Problème linéaire à 2 variables entières x1, x2
3x1 2x 2 6
min z x 2 sous 3x1 2x 2 0
x1 , x 2
x1 , x 2 N
• On écrit le tableau du simplexe pour le problème relaxé : variables réelles x1, x2, x3, x4 0
x1 x2 x3 x4
3 2 1 0 6 x3 Base initiale (x3, x4)
primal admissible
-3 2 0 1 0 x4 non optimale
0 -1 0 0 0 -z
910
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
4.2.2 Exemple
Problème initial
• On résout le problème relaxé initial par la méthode du simplexe primal.
x1 x2 x3 x4
3 2 1 0 6 x3 s23=3
-3 2 0 1 0 x4 s24=0
0 -1 0 0 0 z
x1 x2 x3 x4
6 0 1 -1 6 x3 s13=1
-3/2 1 0 1/2 0 x2
-3/2 0 0 1/2 0 z
x1 x2 x3 x4
1 0 1/6 -1/6 1 x1 Base optimale (x1, x2)
0 1 1/4 1/4 3/2 x2 x1 = 1 , x2 = 3/2 , z = 3/2
0 0 1/4 1/4 3/2 z solution non entière
911
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
4.2.2 Exemple
Première coupe
1 1 3 1 1 3
• On génère une coupe sur x2 : x 2 x 3 x 4 x 2 E x 3 E x 4 E x 2 1
4 4 2 4 4 2
1 1 3 1 1 1
• En soustrayant l’égalité initiale : x 3 x 4 1 x3 x4 x5
4 4 2 4 4 2
• On ajoute la nouvelle variable x5 et la nouvelle contrainte au tableau du simplexe.
x1 x2 x3 x4 x5
1 0 1/6 -1/6 0 1 x1
Base initiale (x1, x2, x5)
non primal admissible
0 1 1/4 1/4 0 3/2 x2 dual admissible
0 0 -1/4 -1/4 1 -1/2 x5 non optimale
0 0 1/4 1/4 0 3/2 z
• On peut réaliser les itérations du simplexe dual à partir de la base (x1, x2, x5).
4.2.2 Exemple
Problème relaxé avec 1 coupe
• On résout le nouveau problème relaxé par la méthode du simplexe dual.
x1 x2 x3 x4 x5
1 0 1/6 -1/6 0 1 x1
0 1 1/4 1/4 0 3/2 x2
0 0 -1/4 -1/4 1 -1/2 x5 s=-1/2
0 0 1/4 1/4 0 3/2 z
x1 x2 x3 x4 x5
1 0 0 -1/3 2/3 2/3 x1 Base optimale (x1, x2, x3)
0 1 0 0 1 1 x2 x1 = 2/3 , x2 = 1 , x3 = 2 , z = 1
0 0 1 1 -4 2 x3
solution non entière
0 0 0 0 1 1 z
913
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
4.2.2 Exemple
Deuxième coupe
1 2 2 1 2 2
• On génère une coupe sur x1 : x 1 x 4 x 5 x 1 E x 4 E x 5 E
3 3 3 3 3 3
x1 x 4 0
2 2 2 2 2 2
• En soustrayant l’égalité initiale : x 4 x 5 0 x4 x5 x6
3 3 3 3 3 3
• On ajoute la nouvelle variable x5 et la nouvelle contrainte au tableau du simplexe.
x1 x2 x3 x4 x5 x6
1 0 0 -1/3 2/3 0 2/3 x1 Base initiale (x1, x2, x3, x6)
0 1 0 0 1 0 1 x2 non primal admissible
dual admissible
0 0 1 1 -4 0 2 x3
non optimale
0 0 0 -2/3 -2/3 1 -2/3 x6
0 0 0 0 1 1 1 z
• On peut réaliser les itérations du simplexe dual à partir de la base (x1, x2, x3, x6).
914
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
4.2.2 Exemple
Problème relaxé avec 2 coupes
• On résout le nouveau problème relaxé par la méthode du simplexe dual.
x1 x2 x3 x4 x5 x6
1 0 0 -1/3 2/3 0 2/3 x1
0 1 0 0 1 0 1 x2
0 0 1 1 -4 0 2 x3
0 0 0 -2/3 -2/3 1 -2/3 x6 s=0
0 0 0 0 1 0 1 z
x1 x2 x3 x4 x5 x6
1 0 0 0 1 -1/2 1 x1 Base optimale (x1, x2, x3, x4)
0 1 0 0 1 0 1 x2 x1 = 1 , x2 = 1 , x3 = 1 , x4 = 1
0 0 1 0 -5 3/2 1 x3 solution entière de coût z = 1
0 0 0 1 1 -3/2 1 x4
0 0 0 0 1 0 1 z
915
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
4.2.2 Exemple
Représentation graphique
3x1 2x 2 6
• Problème initial : min z x 2 sous 3x1 2x 2 0
x1 , x 2
x1 , x 2 N
3
• Variables d’écart : x 6 3x 2x Contraintes
x 3 0 3x1 2x 2
4 1 2
2,5
• x 2 1
Coupes : x x 0 x 3x 2x 0 2
1 4 1 1 2
x2 1 S0
x 1 x 2 0
1,5
S1 Coupe 1
1
• Solutions successives S2
0,5
Point x1 x2 z
S0 1 3/2 3/2
0
S1 2/3 1 1 0 0,5 1 1,5 2 2,5 3
S2 1 1 1
916
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
4.2.2 Convergence
Convergence
• Le nombre de coupes nécessaires est fini si les coupes induisent une croissance strict du coût.
• On peut choisir la coupe de façon à maximiser le coût lors du premier pivotage dual.
xB y xN
• La coupe N x N y est ajouté au tableau du simplexe.
T
I 0 B1 N b
0 1 TN
La base (xB,y) est dual admissible.
0 0 c NT z
• Le 1er pivotage dual est entre y (base) : < 0 cj
max
et xj (hors base) : j < 0 jN
0j
j
cj cj
Le coût devient : z z z 0 si c j 0
j j
• Le coût croît strictement lors du 1er pivotage si la variable hors-base est de coût réduit non nul.
vérifié pour une coupe sur le coût (passage à l’entier supérieur) car j F( c j ) 0
Limitations
• Le nombre de coupes nécessaires peut être exponentiel.
• Des problèmes de précision numérique (lorsque F(x) 0) peuvent bloquer l’algorithme.
917
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
• Les contraintes d’intégrité ne portent que sur les variables d’indice JE.
• Si les coefficients A, b, c sont entiers, on peut générer un ensemble d ’inégalités plus fortes.
coupes intégrales
918
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
[p
jN
] x j [pi ]D , i B
ij D pour tout entier p premier avec D
919
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
Preuve
Les variables doivent être entières : xi N i ij x j kD , k N
jN
Les termes [ ] D sont compris entre 0 et D1, les variables xj sont positives.
[ p i ] D D 1
[ p ] x 0 K 0 [ p i ] D [ p ij ] D x j inégalité valide
ij D j jN
920
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
x j 0 , j J C
x
Coupe mixte
• On répartit les variables hors-base (d’indices jN) en 4 sous-ensembles
J E j N J E , F(a ij ) F( bi )
variables hors-base entières (d’indices jJE)
J E j N J E , F(a ij ) F( bi )
J C j N J , a ij 0 variables hors-base continues (d’indices jJC)
j N J , a ij 0
C
J C C
Preuve
On suppose qu’il y a une seule variable hors-base par sous-ensemble JE-, JE+, JC-, JC+ .
La variable de base x0 qui doit être entière s’exprime sous forme canonique :
x ,x ,x N
x0 a1 x1 a2 x2 y1 y2 b0 avec 0 1 2 et F ( a2 ) F ( b0 ) F ( a1 )
J E J E J C J C y1 , y2 0
x0 a1 x1 a2 x2 y2 b0 car y1 0
x0 E( a1 ) F ( a1 )x1 E( a2 ) 1 1 F ( a2 )x2 b0 y2
Preuve (suite)
z est un entier vérifiant l’inégalité z b0 y2 1 F ( a2 )x2
• Si z E(b0), l’inégalité est bien vérifiée (1er membre négatif, 2nd membre positif)
• Si z E(b0)+1, on réécrit l’inégalité sous la forme
z E( b0 ) 1 1 F ( b0 ) y2 1 F ( a2 )x2 avec 0 F ( b0 ) 1 0 1 F ( b0 ) 1
et x2 , y2 0 y2 1 F ( a2 )x2
Le second membre est positif. En divisant par 1 F(b0) > 0, on obtient l’inégalité
z E( b0 ) 1 y 1 F ( a2 )x2
1 2
1 F ( b0 ) 1 F ( b0 )
z E( b ) 1 z E( b0 ) 1
Le premier terme peut être minoré : 1 F ( b 0 ) 1 z E( b0 ) 1
0 1 F ( b0 )
y 1 F ( a2 )x2 y 1 F ( a2 )x2
On en déduit : z E( b0 ) 2 z E( b0 ) 2
1 F ( b0 ) 1 F ( b0 )
Cette inégalité est vérifiée pour toutes les valeurs de z : z E(b0)
ou z E(b0)+1
923
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
Preuve (suite)
y2 1 F ( a2 )x2
L’entier z vérifie : z E( b0 )
1 F ( b0 )
En revenant aux variables initiales : z x0 E( a1 )x1 E( a2 ) 1x2
y2 1 F ( a2 )x2
on obtient : x0 E( a1 )x1 E( a2 ) 1x2 E( b0 )
1 F ( b0 )
F ( a2 ) F ( b0 ) 1
x0 E( a1 )x1 E( a2 ) x2 y2 E( b0 )
1 F ( b0 ) 1 F ( b0 )
924
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
4.2.2 Exemple
Exemple
• Problème linéaire à 2 variables entières x1, x2
6 x 1 4 x 2 1
min z x1 x 2 sous 6x1 8x 2 9
2x 4x 13
x , x 1 N 2
x1 , x 2
1 2
• On introduit 3 variables d’écart x3, x4, x5 variables entières
6 x 1 4 x 2 x 3 1
6 x 1 8x 2 x 4 9
min z x1 x 2 sous
2x 4x x 13
x , x1 N, 2x , x5 , x N
x1 , x 2
x3 ,x 4 ,x5
1 2 3 4 5
• On écrit le tableau du simplexe pour le problème relaxé : variables réelles x1, x2, x3, x4, x5 0
x1 x2 x3 x4 x5
-6 4 1 0 0 1 x3 Base initiale (x3, x4, x5)
6 -8 0 1 0 9 x4 primal admissible
2 4 0 0 1 13 x5
non optimale
-1 -1 0 0 0 0 -z
925
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
4.2.2 Exemple
Problème initial
• On résout le problème relaxé initial par la méthode du simplexe primal.
x1 x2 x3 x4 x5 x1 x2 x3 x4 x5
-6 4 1 0 0 1 x3 -3/2 1 1/4 0 0 1/4 x2
6 -8 0 1 0 9 x4 -6 0 2 1 0 11 x4
2 4 0 0 1 13 x5 8 0 -1 0 1 12 x5
-1 -1 0 0 0 0 -z -5/2 0 1/4 0 0 1/4 -z
x1 x2 x3 x4 x5 x1 x2 x3 x4 x5
0 1 1/16 0 3/16 5/2 x2 0 1 0 -1/20 3/20 3/2 x2
0 0 5/4 1 3/4 20 x4 0 0 1 4/5 3/5 16 x3
1 0 -1/8 0 1/8 3/2 x1 1 0 0 1/10 1/5 7/2 x1
0 0 -1/16 0 5/16 4 -z 0 0 0 1/20 7/20 5 -z
926
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
4.2.2 Exemple
Solution relaxée 3
contraintes
2,5
Solution entière E :
x 2
• x1 2 z 4 1,5 R
2
1
0
• Forme canonique des variables x1 et x2. 0 0,5 1 1,5 2 2,5 3 3,5 4
1 1 7
x 1 x 4 x 5 x 4 6x1 8x 2 9
10 5 2
1 3 3 x 5 2x1 4x 2 13
x 2 x 4 x 5
20 20 2
• Toutes les variables (base et hors-base) doivent être entières.
On peut générer des coupes simples, intégrales ou mixtes sur x1 et x2
927
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
4.2.2 Exemple
Coupes simples 3
1 1 7 x1=3
x
1 10 4 x x 5 2,5
5 2
1 3 3
x 2 x 4 x 5 2
20 20 2 E
F(a
jN
ij )x j F( bi ) 1,5 R
• Coupe sur x1 1
1 1 1
x4 x5 x1 3 0,5
10 5 2
x1 3
0
z 4.75
x 2 1.75 0 0,5 1 1,5 2 2,5 3 3,5 4
Coupes simples
• Coupe sur x2
19 3 1
x4 x5 6x1 7 x 2 10
20 20 2
x1 3.45 z 4.98 efficacité très faible
2
x 1.53
928
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.2 Méthode de coupe
Techniques d’optimisation Mai 2017
4.2.2 Exemple
Coupes intégrales 3
1 1 7
x
1 10 4 x x 5 2,5
5 2
1 3 3
x 2 x 4 x 5 2
20 20 2 E
[p
jN
] x j [pi ]D
ij D p premier avec D 1,5 R
p 1 x 4 2 x 5 5 x1 3 0,5
4.2.2 Exemple
Coupes mixtes 3
1 1 7
x
1 10 4 x x 5 2,5
5 2
1 3 3
x 2 x 4 x 5 2
20 20 2 E
F( bi )1 F(a ij )
ij j 1 F( b ) x j F( bi )
1,5 R
F( a )x
jJ E jJ E i
avec J E 4 , 5 , J C
1
J E 4 , 5 , J E 0
0 0,5 1 1,5 2 2,5 3 3,5 4
1 1 1
x4 x5 x1 3
10 5 2 Coupes mixtes
• Coupe sur x2 : Fa 25 F b2
1
2
Fa 24
J E 5 , J E 4
3 1 1 x1 2.5 z 4.5 efficacité meilleure
x5 x4 6x1 2x 2 19 x 2
20 20 2 2
930
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
Séparation
- Partition en sous-ensembles
- Arborescence
Evaluation
- Solution admissible
- Fonction d’évaluation
- Base duale
Stratégie d’exploration
- Algorithme
- Choix de séparation
- Efficacité
931
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Enumération
Problème linéaire en variables binaires
Ax b
min z c T x sous problème noté (PLB)
x x U
n
U 0 ; 1
On note X l’ensemble des combinaisons possibles.
X U n x R n , x j 0 ou 1 vecteurs de Rn à composantes 0 ou 1
Enumération explicite
• L’ensemble X est fini de cardinal : Card X = 2n
On peut chercher la solution de (PLB) par évaluation des 2n éléments de X.
Enumération implicite
• Séparation : on partitionne X en sous-ensembles successifs dans une arborescence.
• Evaluation : on élimine les sous-ensembles ne pouvant pas contenir la solution.
Les solutions ne sont pas toutes explicitement évaluées.
Méthode d’énumération implicite, ou arborescente, ou de séparation et évaluation
(branch and bound)
932
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Séparation
Sous-ensembles de combinaisons
•
X x R n , x j 0 ou 1 ensemble des combinaisons possibles
parmi lesquelles se trouve la solution de PLB.
4.2.3 Séparation
Arborescence
• Les sous-ensembles successifs forment les sommets (ou nœuds) d’une arborescence.
Les sommets de niveaux successifs sont reliés par des flèches indiquant l’inclusion.
Niveau 0 X
x1=0 x1=1
Niveau 1 X0 X1
X0 X X1 X
Vocabulaire
• Le sommet X de niveau 0 est la racine de l’arborescence.
• X est séparé en X0 et X1 X est le prédécesseur ou parent de X0 et X1.
X0 et X1 sont les successeurs ou enfants de X.
• Les sommets de niveau n sont les sommets terminaux (contiennent 1 seul élément).
934
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Séparation
Arborescence
• Exemple à 3 variables binaires : x1, x2, x3 {0;1}
8 combinaisons : X000, X001, X010, X011, X100, X101, X110, X111 sommets terminaux
Niveau 0 X
(racine) x1=0 x1=1
Niveau 1 X0 X1
4.2.3 Evaluation
Problème linéaire en variables binaires
Ax b
min z c T x sous problème noté (PLB)
x U , U 0 ; 1
n
x
Solution admissible
• Une solution admissible xa est une combinaison : xa Un
vérifiant les contraintes : Axa = b
• Son coût za est un majorant de z* : z* za
936
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Evaluation
Fonction d’évaluation
• Un sommet S de niveau k de l’arborescence correspond à un sous-problème de la forme
Ax b
problème noté (PLB)s
min z c x sous x U n
T
Le coût du problème relaxé (PLR)s est inférieur au coût du problème (PLB)s plus contraint.
On utilise généralement la solution relaxée comme fonction d’évaluation.
4.2.3 Evaluation
Problème parent
• Le problème relaxé (PLR)p du sommet P parent de S a été résolu par la méthode du simplexe.
x B b 0 , x N 0
On a obtenu sa forme canonique dans la base optimale B : c 0
N
xB xN
1
forme canonique I B N b
min z c x sous Ax b
T
x x 0 0 c NT z
• Le problème (PLR)s se déduit du problème parent (PLR)p avec une contrainte supplémentaire :
- égalité de la forme : xi = avec =0 ou 1 (cas d’une variable binaire)
- inégalité de la forme : xi ou xi avec entier (cas d’une variable entière)
• On construit une base dual admissible de (PLR)s à partir de la base optimale de (PLR)p.
puis on résout le problème relaxé (PLR)s par la méthode du simplexe dual.
938
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Evaluation
Fixation de variable binaire
xB xN
1
On part de la forme canonique de la solution du problème parent. I B N b
On considère une contrainte égalité supplémentaire xe = . 0 c NT z
• Si la variable à fixer xe est en base, on réalise un pivotage dual avec une variable hors-base xs.
c Nj
Choix de xs : s max xB xe x N xs
jN a ej
a ej 0 I 0 B1 N a is b
a ej 0 1 a ej a es be
Coûts réduits : c j c j cs positifs
a es 0 0 c NT cs z
a is
Variables de base : bi bi be signe quelconque
a es
On se ramène au cas d’une base dual admissible avec une variable hors-base à fixer.
939
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Evaluation
Fixation de variable binaire
xB xN xe
• La variable hors-base xe doit être fixée à . 1
I B N a ie b
On effectue le changement de variable : xe = xe + . 0 c NT ce z
• On écrit les contraintes et le coût sous forme canonique en fonction de la nouvelle variable xe.
Contraintes : x i a ij x j bi x i a ij x j a ie x e bi x i a ij x j a ie x'e bi a ie
jN jN jN
j e j e
Coût : z c j x j z z c j x j ce x e z z c j x j ce x'e z ce
jN jN jN
j e j e
x B x N x 'e
• La variable hors-base xe fixée à 0 est éliminée du problème.
I B1 N a ie b a ie
On supprime la colonne correspondante du tableau.
La base B dual admissible est conservée : cN 0 0 c NT ce z ce
• Le problème (PLR)s est sous forme canonique dans la base B dual admissible.
On peut résoudre le problème (PLR)s par la méthode du simplexe dual.
940
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Evaluation
Contrainte sur variable entière
xB xN
1
On part de la forme canonique de la solution du problème parent. I B N b
On suppose que la variable de base xe prend une valeur non entière. 0 cNT z
x e a ej x j be avec be N
jN
941
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Evaluation
Contrainte sur variable entière
• On ajoute au tableau simplexe du problème parent :
- la variable d’écart y 0
a ej a ej
- la contrainte égalité y N x N
T
avec j ou j
F( be ) F( be ) 1
xB xN xB y xN
I B1 N b I 0 B1 N b
0 cNT z 0 1 TN
0 0 c NT z
• Le problème est sous forme canonique dans la base (xB, y).
x B b 0
y 0 La base n’est pas primal admissible
• Les coûts réduits sont ceux obtenus à la solution du problème parent (PLR)p .
cN 0 La base est dual admissible
• Le problème (PLR)s est sous forme canonique dans la base B dual admissible.
On peut résoudre le problème (PLR)s par la méthode du simplexe dual.
942
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Exemple
Exemple 1 : variables binaires
• Problème linéaire à 6 variables binaires x1, x2, x3, x4, x5, x6
min z 20x1 16x 2 11x 3 9x 4 7 x 5 x 6
x1 , x 2 , x 3
z c jx j
x 4 ,x5 ,x 6 j
9x 8x 6x 5x 4x 5 x 6 12
sous x 1 0 ou21 , j 31 à 6 4
a x j j b
j j
Stratégie d’exploration
• Le problème est de type « sac à dos ».
Les variables sont triées suivant l’ordre d’utilité rapports cj/aj croissants
943
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Exemple
Solution admissible initiale
• On construit une solution admissible initiale par méthode gloutonne.
Les variables sont prises dans l’ordre des cj/aj croissants et fixées à 1 lorsque cela est possible.
x1 1 , x 2 x 3 x 4 x 5 0 , x 6 1 z a 21
• Le coût de la solution initiale (21) est un majorant du coût du problème binaire : z* 21
Sommet X de niveau 0
• On évalue le sommet X (racine de l’arborescence) en résolvant le problème relaxé.
min z 20x1 16x 2 11x 3 9x 4 7 x 5 x 6 3
x1 , x 2 , x 3 x 1 1 , x 2 z 26
x 4 ,x5 ,x 6 8
9x 8x 6x 5x 4 4x 5 x 6 12 x 3 x 4 x 5 x 6 0
sous x 1 0 , 2j 1 à 63
j
• L’évaluation relaxée de X (26) est un minorant du coût du problème binaire : 26 z*
Séparation de niveau 1
• On sépare X en fixant la variable x1 : x1 = 0 sommet X0
x1 = 1 sommet X1
944
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Exemple
Sommet X0 de niveau 1
• On évalue le sommet X0 (x1 = 0) en résolvant le problème relaxé.
min z 16x 2 11x 3 9x 4 7 x 5 x 6 2
x 2 ,x3 ,x 4 x 2 1 , x 3 z
70
23.3
x5 ,x 6 3
8x 6x 5x 4x x 6 12 x 4 x 5 x 6 0 3
sous x 2 0 , j3 2 à4 6 5
j solution non admissible (x3U)
• L’évaluation de X0 (23.3) est inférieure à la meilleure solution admissible (21).
X0 peut contenir une solution meilleure séparation en X00 et X01
Sommet X1 de niveau 1
• On évalue le sommet X1 (x1 = 1) en résolvant le problème relaxé.
min z 16x 2 11x 3 9x 4 7 x 5 x 6 20 3
x 2
x 2 ,x3 ,x 4 8 z 26
x 3 x 4 x 5 x 6 0
x5 ,x 6
8x 2 6 x 3 5x 4 4 x 5 x 6 3
sous x 0 , j 2 à 6
j solution non admissible (x2U)
• L’évaluation de X0 (26) est inférieure à la meilleure solution admissible (21).
X1 peut contenir une solution meilleure séparation en X10 et X11
945
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Exemple
Arborescence au niveau 1
• Problème linéaire à 6 variables binaires x1, x2, x3, x4, x5, x6
9x 8x 6x 5x 4x 5 x 6 12
min z 20x1 16x 2 11x 3 9x 4 7 x 5 x 6 sous x 1 0 ou21 , j 31 à 6 4
x1 , x 2 , x 3
x ,x ,x
4 5 6
j
• Meilleure solution admissible : x1 = 1 , x2 = x3 = x4 = x5 = 0 , x6 = 1 za = 21
• Sommets évalués : X , X0 , X1
Niveau 0 X (-26)
x1=0 x1=1
946
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Exemple
Sommet X10 de niveau 2
• On évalue le sommet X10 (x1 = 1, x2 = 0) en résolvant le problème relaxé.
min z 11x 3 9x 4 7 x 5 x 6 20 1
x 3 z
51
25.5
x3 ,x 4 ,x5 ,x 6 2
6 x 3 5x 4 4 x 5 x 6 3 x 4 x 5 x 6 0 2
sous x 0 , j3 à 6
j solution non admissible (x3U)
• L’évaluation de X10 (25.5) est inférieure à la meilleure solution admissible (21).
X10 peut contenir une solution meilleure séparation en X100 et X101
947
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Exemple
Arborescence au niveau 2
• Meilleure solution admissible : x1 = 1 , x2 = x3 = x4 = x5 = 0 , x6 = 1 za = 21
Niveau 0 X (-26)
x1=0 x1=1
x2=0 x1=1
948
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Exemple
Sommet X100 de niveau 3
• On évalue le sommet X100 (x1 = 1, x2 = 0, x3 = 0) en résolvant le problème relaxé.
min z 9x 4 7 x 5 x 6 20 3
x 4 ,x5 ,x 6 x 4 z
127
25.4
5x 4 4 x 5 x 6 3 5
sous x 0 , j 4 à 6 x 5 x 6 0 5
j
solution non admissible (x4U)
• L’évaluation de X100 (25.4) est inférieure à la meilleure solution admissible (21).
X100 peut contenir une solution meilleure séparation en X1000 et X1001
949
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Exemple
Ordre d’examen des sommets
Sommet séparé Sommet évalué Solution Evaluation Meilleure solution Branche supprimée Sommets restants
X non entière 26 21
X0 non entière 23.3 21
X X1 non entière 26 21 X0,X1
X10 non entière 25,5 21
X1 X11 non admissible + 21 X11 X0,X10
X100 non entière 25,4 21
X10 X101 non admissible + 21 X101 X0,X100
X1000 non entière 25,2 21
X100 X1001 non admissible + 21 X1001 X0,X1000
X10000 non entière 23 21
X1000 X10001 non admissible + 21 X10001 X0,X10000
X00 non entière 21.7 21
X0 X01 non entière 23.3 21 X00,X01,X10000
X010 non entière 23.2 21
X01 X011 non admissible + 21 X011 X00,X010,X10000
X0100 entière 23 23 X0100,X00
X010 X0101 non admissible + 23 X0101 X10000
X100000 entière 20 23 X100000 Solution
X10000 X100001 entière 21 23 X100001 X0100
4.2.3 Exemple
Arborescence au niveau 6
Niveau 0 x1=0
X (-26)
x1=1
4.2.3 Exemple
Exemple 2 : variables entières
• Problème linéaire à 2 variables entières x1, x2
7 x1 2x 2 14
min z 4x1 x 2 sous x2 3 Le coût z est aussi entier.
x1 , x 2 N
2x1 2x 2 3
• Tableau du simplexe
x1 x2 x3 x4 x5
7 -2 1 0 0 14 x3
Base initiale (x3 , x4 , x5)
0 1 0 1 0 3 x4 primal admissible
2 -2 0 0 1 3 x5 non optimale
-4 1 0 0 0 0 z
952
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Exemple
Sommet X de niveau 0
• On résout le problème relaxé initial par la méthode du simplexe primal.
x1 x2 x3 x4 x5 x1 x2 x3 x4 x5
7 -2 1 0 0 14 x3 0 5 1 0 -7/2 7/2 x3
0 1 0 1 0 3 x4 0 1 0 1 0 3 x4
2 -2 0 0 1 3 x5 1 -1 0 0 1/2 3/2 x1
-4 1 0 0 0 0 z 0 -3 0 0 2 6 z
x1 x2 x3 x4 x5 x1 x2 x3 x4 x5
0 1 1/5 0 -7/10 7/10 x2 0 1 0 1 0 3 x2
0 0 -1/5 1 7/10 23/10 x4 0 0 -2/7 10/7 1 23/7 x5
1 0 1/5 0 -1/5 11/5 x1 1 0 1/7 2/7 0 20/7 x1
0 0 3/5 0 -1/10 81/10 z 0 0 4/7 1/7 0 59/7 z
953
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Exemple
Sommet X de niveau 0
20 59
• Le problème relaxé du sommet racine a pour solution : x1 , x2 3 z
7 7
59
• L’évaluation de X (59/7) donne un minorant du coût : z* N z* 8
7
20
• La solution n’est pas entière : x1
7
Séparation de niveau 1
• On sépare X par une contrainte sur la variable x1 : x1 2 sommet X0
x1 3 sommet X1
1 2 20
• La solution du problème relaxé est sous forme canonique : x1 x 3 x 4
(expression de x1 en fonction des variables hors-base x3, x4) 7 7 7
La contrainte inégalité sur x1 est mise sous forme canonique avec une variable d’écart x6 0.
1 2 6
• Contrainte x1 2 x 1 + x6 = 2 x6 x3 x4
7 7 7
1 2 1
• Contrainte x1 3 x1 x6 = 3 x6 x3 x4
7 7 7
954
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Exemple
Sommet X0 de niveau 1
• On ajoute au tableau simplexe la variable x6
1 2 6
et la contrainte x1 2 sous la forme x 3 x 4 x 6
7 7 7
x1 x2 x3 x4 x5
0 1 0 1 0 3 x2
0 0 -2/7 10/7 1 23/7 x5 Base optimale de X (x1, x2, x5)
1 0 1/7 2/7 0 20/7 x1
0 0 4/7 1/7 0 59/7 z
x1 x2 x3 x4 x5 x6
0 1 0 1 0 0 3 x2
0 0 -2/7 10/7 1 0 23/7 x5
Base initiale de X0 (x1, x2, x5, x6)
non primal admissible
1 0 1/7 2/7 0 0 20/7 x1 dual admissible
0 0 -1/7 -2/7 0 1 -6/7 x6 (« warm start »)
0 0 4/7 1/7 0 0 59/7 z
955
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Exemple
Sommet X0 de niveau 1
• On résout le problème relaxé X0 par la méthode du simplexe dual.
x1 x2 x3 x4 x5 x6 x1 x2 x3 x4 x5 x6
0 1 0 1 0 0 3 x2 0 1 -1/2 0 0 7/2 0 x2
0 0 -2/7 10/7 1 0 23/7 x5 0 0 -1 0 1 5 -1 x5
1 0 1/7 2/7 0 0 20/7 x1 1 0 0 0 0 1 2 x1
0 0 -1/7 -2/7 0 1 -6/7 x6 0 0 1/2 1 0 -7/2 3 x4
0 0 4/7 1/7 0 0 59/7 z 0 0 1/2 0 0 1/2 8 z
x1 x2 x3 x4 x5 x6
0 1 0 0 -1/2 1 1/2 x2 1
Solution non entière : x 2
0 0 1 0 -1 -5 1 x3 2
15
1 0 0 0 0 1 2 x1 Evaluation de X0 : z
2
0 0 0 1 1/2 -1 5/2 x4 15
Minorant du coût : z* N z* 7
0 0 0 0 1/2 3 15/2 z 2
956
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Exemple
Sommet X1 de niveau 1
• On ajoute au tableau simplexe la variable x6
1 2 1
et la contrainte x1 3 sous la forme x3 x4 x6
7 7 7
x1 x2 x3 x4 x5
0 1 0 1 0 3 x2
0 0 -2/7 10/7 1 23/7 x5 Base optimale de X (x1, x2, x5)
1 0 1/7 2/7 0 20/7 x1
0 0 4/7 1/7 0 59/7 z
x1 x2 x3 x4 x5 x6
0 1 0 1 0 0 3 x2
0 0 -2/7 10/7 1 0 23/7 x5
Base initiale de X1 (x1, x2, x5, x6)
non primal admissible
1 0 1/7 2/7 0 0 20/7 x1 dual admissible
0 0 1/7 2/7 0 1 -1/7 x6 (« warm start »)
0 0 4/7 1/7 0 0 59/7 z
957
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Exemple
Sommet X1 de niveau 1
• On résout le problème relaxé X1 par la méthode du simplexe dual.
x1 x2 x3 x4 x5 x6
0 1 0 1 0 0 3 x2
1 2 1
• Le sommet X1 n’a pas de solution admissible : x 3 x 4 x 6 car x3, x4, x6 0
7 7 7
• On supprime la branche à partir de X1.
L’exploration est poursuivie à partir de X0. Niveau 0 X (-8)
x12 x13
• Le meilleur minorant du coût est 7.
On ne connaît pas encore de solution admissible. Niveau 1 X0 (-7) X1 ()
958
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Exemple
Séparation du sommet X0 (niveau 2)
On part de la solution du problème relaxé en X0.
x1 x2 x3 x4 x5 x6
0 1 0 0 -1/2 1 1/2 x2 1
solution non entière : x2
0 0 1 0 -1 -5 1 x3 2
1 0 0 0 0 1 2 x1
0 0 0 1 1/2 -1 5/2 x4
0 0 0 0 1/2 3 15/2 z
4.2.3 Exemple
Sommet X00 de niveau 2
• On ajoute au tableau simplexe la variable x7
1 1
et la contrainte x2 0 sous la forme x5 x6 x7
x1 x2 x3 x4 x5 x6 2 2
0 1 0 0 -1/2 1 1/2 x2
0 0 1 0 -1 -5 1 x3
Base optimale de X0 (x1,x2,x3,x4)
1 0 0 0 0 1 2 x1
0 0 0 1 1/2 -1 5/2 x4
0 0 0 0 1/2 3 15/2 z
x1 x2 x3 x4 x5 x6 x7
0 1 0 0 -1/2 1 0 1/2 x2
Base initiale de X00 (x1,x2,x3,x4,x7)
0 0 1 0 -1 -5 0 1 x3
non primal admissible
1 0 0 0 0 1 0 2 x1 dual admissible
0 0 0 1 1/2 -1 0 5/2 x4 (« warm start »)
0 0 0 0 1/2 -1 1 -1/2 x7
0 0 0 0 1/2 3 0 15/2 z
960
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Exemple
Sommet X00 de niveau 2
• On résout le problème relaxé X00 par la méthode du simplexe dual.
x1 x2 x3 x4 x5 x6 x7
0 1 0 0 -1/2 1 0 1/2 x2
0 0 1 0 -1 -5 0 1 x3
1 0 0 0 0 1 0 2 x1
0 0 0 1 1/2 -1 0 5/2 x4
0 0 0 0 1/2 -1 1 -1/2 x7
0 0 0 0 1/2 3 0 15/2 z
x1 x2 x3 x4 x5 x6 x7
0 1 0 0 0 0 1 0 x2
3
0 0 1 0 -7/2 0 -5 7/2 x3 Solution non entière : x1
1 0 0 0 1/2 0 1 3/2 x1 2
0 0 0 1 0 0 -1 3 x4 Evaluation de X00 : z 6
0 0 0 0 -1/2 1 -1 1/2 x6
Minorant du coût : z* 6
0 0 0 0 2 0 3 6 z
961
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Exemple
Sommet X01 de niveau 2
• On ajoute au tableau simplexe la variable x7
1 1
et la contrainte x2 1 sous la forme x 5 x 6 x 7
x1 x2 x3 x4 x5 x6 2 2
0 1 0 0 -1/2 1 1/2 x2
0 0 1 0 -1 -5 1 x3
Base optimale de X0 (x1,x2,x3,x4)
1 0 0 0 0 1 2 x1
0 0 0 1 1/2 -1 5/2 x4
0 0 0 0 1/2 3 15/2 z
x1 x2 x3 x4 x5 x6 x7
0 1 0 0 -1/2 1 0 1/2 x2
Base initiale de X01 (x1,x2,x3,x4,x7)
0 0 1 0 -1 -5 0 1 x3
non primal admissible
1 0 0 0 0 1 0 2 x1 dual admissible
0 0 0 1 1/2 -1 0 5/2 x4 (« warm start »)
0 0 0 0 -1/2 1 1 -1/2 x7
0 0 0 0 1/2 3 0 15/2 z
962
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Exemple
Sommet X01 de niveau 2
• On résout le problème relaxé X01 par la méthode du simplexe dual.
x1 x2 x3 x4 x5 x6 x7
0 1 0 0 -1/2 1 0 1/2 x2
0 0 1 0 -1 -5 0 1 x3
1 0 0 0 0 1 0 2 x1
0 0 0 1 1/2 -1 0 5/2 x4
0 0 0 0 -1/2 1 1 -1/2 x7
0 0 0 0 1/2 3 0 15/2 z
x1 x2 x3 x4 x5 x6 x7
0 1 0 0 0 0 -1 1 x2 Solution entière : x1 = 2 , x2 = 1
0 0 1 0 0 -7 -2 2 x3 Meilleure solution contenue dans X01
1 0 0 0 0 1 0 2 x1 On ne sépare plus X01
0 0 0 1 0 0 1 2 x4
Solution admissible de coût : za = 7
0 0 0 0 1 -2 -2 1 x5 Majorant du coût : z* 7
0 0 0 0 0 4 1 7 z
963
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Exemple
Arborescence de niveau 2
Bilan des sommets déjà évalués
• Le sommet X01 donne une solution entière (= admissible) de coût égal à 7.
La solution du problème a donc un coût inférieur ou égal 7.
• Le sommet X00 donne une solution non entière, avec une évaluation de 6 > 7
On ne peut pas trouver de solution de coût inférieur 6 en poursuivant la séparation de X00.
Il ne reste plus de sommet à séparer.
• Solution du problème : x1 = 2 , x2 = 1 z* = 7
964
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Stratégie
Algorithme de Branch and Bound
On note : L ={Xi} la liste des sommets actifs sommets à séparer
za le coût de la meilleure solution admissible connue solution entière
Chaque sommet de L est stocké avec sa solution relaxée et son évaluation.
• Choisir un sommet Xi de L
Choisir une variable non entière xj de Xi
4.2.3 Stratégie
Algorithme de Branch and Bound
966
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Stratégie
Exploration de l’arborescence
• L’objectif est de trouver la solution le plus rapidement possible.
Minimiser le nombre de sommets évalués
Minimiser le temps d’évaluation de chaque sommet
Choix de séparation
• Choix du sommet à séparer exploration en profondeur ou en largeur.
• Choix de la variable de séparation critères heuristiques
Stockage mémoire
• La liste des sommets actifs est stockée dans une liste chaînée limitation place mémoire
• On peut résoudre en un temps raisonnable des problèmes linéaires discrets avec
- quelques dizaines de variables entières
- quelques centaines de variables binaires
Pour un problème continu, on peut aller jusqu’à 100 000 variables réelles.
967
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
• La méthode est économique en mémoire, mais peut nécessiter d’évaluer beaucoup de sommets.
La liste de sommets ne contient qu’une seule branche de l’arborescence dans une pile.
au plus n sommets stockés pour un problème à n variables binaires.
X1 X0 X0 X0 X0 X0 X0 X0 X0 … …
X1 X1 X1 X1 X1 X1 X1 … …
X2 X7
X2 X2 X2 X2 X2 X7
X3 X4 X4 X4
X3 X4
X5 X6
Solution admissible X5 X6
968
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
969
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
Exemples
• Choix basé sur la fonction coût
On choisit la variable ayant le plus fort coefficient dans la fonction coût.
On espère améliorer la solution admissible.
970
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Efficacité
Place mémoire
La place mémoire requise peut être importante suivant la taille du problème
Il faut limiter la quantité d’information stockée pour chaque sommet.
Stockage de la liste
Les sommets actifs sont stockés dans une liste chaînée.
• La liste est mise à jour par allocation / désallocation dynamique des sommets.
• Les liens entre sommets successifs sont définis par des pointeurs.
• Pour une exploration en profondeur avec n variables binaires n sommets au maximum.
• La meilleure solution admissible est stockée à part.
971
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Efficacité
Temps de calcul
L’efficacité en temps de calcul de la méthode arborescente dépend de
- la rapidité d’évaluation d’un sommet
- la qualité du minorant obtenu
Rapidité d’évaluation
• Réductions préliminaires du problème relaxé
Détection d’infaisabilité, fixation de variables
• Initialisation à partir de la solution du nœud parent (« warm start »)
Construction directe d’une base dual admissible
• Disponibilité d’une solution admissible initiale (utilisateur ou méthode gloutonne)
Elimination rapide de sommets dans l’arborescence
• Arrêt anticipé sur fonction duale supérieure au coût de la meilleure solution connue
La fonction coût croît à chaque itération du simplexe dual.
Qualité du minorant
• Résolution partielle ou complète du problème dual
• Génération de variables supplémentaires (pour séparation)
• Génération de contraintes supplémentaires (pour réduction) méthode de Branch and Cut
972
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Améliorations
Variable supplémentaire
L’addition de variable peut rendre la séparation des sommets plus sélective.
La variable supplémentaire est définie à partir des variables du problème.
Exemple 2 n 2n
max z 3x i sous 2x i 2n 1 Problème à 2n variables binaires
x i U
i 1 i 1
La solution relaxée garde un coût z = 3n+1.5 tant que moins de n variables sont fixées à 0
L’évaluation ne permet pas d’éliminer les sommets avant le niveau n de l’arborescence.
Il est nécessaire de faire apparaître les C n2 n solutions équivalentes pour garantir l’optimalité.
• On peut rendre la séparation plus sélective avec une variable entière supplémentaire y.
973
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Améliorations
Exemple 2n
On ajoute au problème la variable y x i
i 1
2n
2n 2x i 2n 1
max z 3x i sous i2n1 Problème à 2n variables binaires
x i y
x i U , yN
i 1
i 1 et 1 variable entière
974
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.3 Méthode arborescente
Techniques d’optimisation Mai 2017
4.2.3 Améliorations
Contraintes supplémentaires
L’addition de contrainte peut renforcer l’évaluation des sommets.
La contrainte supplémentaire réduit le domaine admissible du problème relaxé.
On peut ainsi obtenir une solution relaxée plus proche de la solution entière.
méthodes de Branch and Cut
Exemple
5x 1 2 x 2 6 x 3 x 4 4 x 5 7 contrainte sur x1, x2, x3, x4, x5 entiers
4.2.4 Applications
Voyageur de commerce
Affectation
Coloration
Flot
Sac à dos
976
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
Notations
• Les n villes sont notées S1,…,Sn.
La distance entre la ville Si et la ville Sj est notée dij, i =1 à n , j = 1 à n
977
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
S1 S2 S1 S2 S1 S2
S3 S3 S3
S4 S5 S4 S5 S4 S5
978
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
• Contraintes n
Il y a un seul départ de chaque ville Si : s
j1
ij 1 , i 1 à n n contraintes
n
Il y a une seule arrivée à chaque ville Sj : s
i 1
ij 1 , j 1 à n n contraintes
979
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
• Pour interdire le sous-circuit passant par les p nœuds Sk1,Sk2,…,Skp, on ajoute la contrainte
s k1k 2 s k 2 k 3 ... s k p1k p s k p k1 p 1
• Méthode itérative
n
n n s ij 1 , i 1 à n
On résout le problème initial : min z s ijd ij sous jn1
s ij 1 , j 1 à n
s ij
i 1 j1
i 1
Si la solution comporte un sous-circuit, on ajoute la contrainte correspondante
et on résout le nouveau problème.
On poursuit jusqu’à ce que la solution ne comporte plus de sous-circuit.
• Le nombre d’itérations (= nombre de PVB à résoudre) peut être exponentiel dans le cas pire.
convergence non garantie en un temps raisonnable + encombrement mémoire
980
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
982
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
983
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
984
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
• On peut ajouter des contraintes pour une séparation plus efficace (méthode arborescente).
n n
s
i 1 j1
ij n nombre d’arêtes sélectionnées
985
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
4.2.4 Affectation
Enoncé du problème
Il faut affecter m ressources à p taches (p m) en minimisant le coût total.
problème d’affectation noté (PA)
Formulation
• Le coût d’affectation de la ressource i à la tache j est noté cij , i =1 à m , j = 1 à p
• La variable binaire sij vaut 1 si la ressource i est affectée à la tache j mp variables
0 sinon
m p
• Le coût total à minimiser est : z s ijcij
i 1 j1
• Contraintes m
La tache j est effectuée une seule fois : s
i 1
ij 1 , j 1 à p p contraintes
p
La ressource i est affectée une fois au plus : s
j1
ij 1 , i 1 à m m contraintes
986
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
4.2.4 Affectation
Résolution m
m p s ij 1 , j 1 à p
Le problème (PA) s’écrit : min z s ijcij sous i p1
s ij 1 , i 1 à m
s ij
i 1 j1
j1
Les contraintes sont de la forme : Ax = b
987
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
4.2.4 Affectation
Matrice unimodulaire
• Définition
Une matrice est unimodulaire si toute sous matrice carrée a un déterminant égal à 1, 0 ou 1.
• Condition suffisante
Une matrice dont les éléments sont 1, 0 ou 1
et dont chaque colonne contient au plus 2 éléments non nuls est unimodulaire.
• Propriété
Si B est une matrice carrée unimodulaire et b est entier, la solution de Bx=b est entière.
Problème linéaire
On considère le problème relaxé : minn z c T x sous Ax b avec b entier.
xR x 0
Si A est unimodulaire, alors toute sous-matrice de base B est aussi unimodulaire
et la solution de base xB qui vérifie BxB = b est entière.
988
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
4.2.4 Affectation
Extensions
Le problème d’affectation le plus simple associe une ressource à une tache.
Il n’y a pas de partage des ressources, ni de dépendance entre les taches.
On peut modifier la formulation pour traiter des problèmes plus complexes.
• Problème de localisation
On cherche à minimiser le coût de la tache la plus coûteuse (au lieu du coût total).
Les taches sont partagées entre plusieurs ressources selon les capacités (recouvrement).
• Problème d’ordonnancement
Les taches ont une durée et doivent être réalisées dans un certain ordre.
Les ressources ne peuvent effectuer qu’une tache à la fois (compatibilité).
Les affectations doivent tenir compte au mieux de préférences (non strictes).
989
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
4.2.4 Affectation
Problème de localisation (avec coût maximal)
On cherche à minimiser le coût de la tache la plus coûteuse (au lieu du coût total).
m
• Le coût de la tache j vaut : z j s ijcij , j 1 à p
i 1
m
• Le coût de la tache la plus coûteuse est : z max z j max s ijcij non linéaire
j1 à p j1 à p
i 1
Formulation linéaire
Pour obtenir une formulation linéaire, on introduit :
- la variable réelle z
- les contraintes zj z , j = 1 à p z est supérieur au coût de la tache la plus coûteuse
m
s ij 1 , j 1 à p réalisation tache j
pi 1
Le problème s’écrit : min z sous s ij 1 , i 1 à m affectation ressource i
jm1
z ,s ij
s c z , j 1 à p
ij ij coût tache j
i 1
Le problème est en variables mixtes (z réel, sij binaires).
990
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
4.2.4 Affectation
Problème de localisation (avec capacités)
Les taches sont partagées entre plusieurs ressources selon leurs capacités.
• La variable sij est la capacité de la ressource i affectée à la tache j variable entière ou réelle
m p
• Le coût total à minimiser est : z s ijc ij
m i 1 j1
Formulation linéaire
m
s ij t j , j 1 à p réalisation tache j
Le problème s’écrit : min z sous i p1
s ij ri , i 1 à m affectation ressource i
s ij
j1
0 s ij ri
Le problème est en variables sij entières ou réelles :
0 s ij t j
991
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
4.2.4 Affectation
Problème d’ordonnancement
Les taches nécessitent une certaine durée et ne doivent pas se chevaucher.
• La variable ujk vaut 1 si la tache j est réalisée avant la tache k pp variables binaires
0 sinon
4.2.4 Coloration
Enoncé du problème
Un graphe G=(V,E) est défini par : - un ensemble de nœuds V=(vi) i = 1 à n
- un ensemble d’arêtes E=(ejk) j,k = 1 à n
La variable binaire ejk vaut 1 si les nœuds vj et vk (jk) sont reliés par une arête, 0 sinon.
Formulation
• La variable binaire sij vaut 1 si la couleur i est attribué au noeud j mn variables
0 sinon
• Contraintes m
Le nœud j reçoit une seule couleur : s
i 1
ij 1 , j 1 à n
993
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
4.2.4 Coloration
Problème de m-coloration
• Le problème de m-coloration du graphe G consiste à chercher une solution admissible.
m
s ij 1 , j 1 à n
Trouver (sjk) Umn vérifiant
i 1
s ij s ik 1 , i 1 à m , j, k 1 à n
si e jk 1 , j k arête [vjvk] E
• Le nombre chromatique mc du graphe G est le nombre minimal de couleurs pour colorer G.
On peut trouver un minorant de mc en résolvant un problème préliminaire de clique.
Clique
• Une clique C du graphe G est un sous-graphe complet
= sous-graphe dont tous les nœuds sont reliés par des arêtes.
• Si G admet une clique C à p nœuds, alors il faut au moins p couleurs pour colorer G.
• Pour trouver un minorant de mc, on peut chercher la clique de plus grande taille G
clique de cardinal maximal
994
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
4.2.4 Coloration
Illustration
Un graphe planaire est un graphe que l’on peut tracer dans le plan sans croisement d’arêtes.
Problèmes voisins
• Clique Tous les nœuds sont reliés entre eux
• Ensemble stable Aucun nœud n’est relié (problème « inverse » de la clique)
• Planification Contraintes d’incompatibilité
995
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
4.2.4 Coloration
Clique de cardinal maximal
Si on connaît une clique C de cardinal p, alors il faut au moins p couleurs pour colorer G.
On attribue des couleurs différentes aux nœuds de la clique.
réduction du problème de m-coloration
• Variables
La variable binaire si vaut 1 si le nœud i appartient à la clique C n variables
0 sinon
• Contraintes
Si les nœuds j et k sont non adjacents, s j s k 1 , j, k 1 à n
ils ne peuvent pas appartenir simultanément à C. si e jk 0 , j k
arête [vjvk] E
• Coût n
Le nombre de nœuds de la clique C à maximiser est : z si
i 1
s s 1 , j, k 1 à n
• Problème de la clique de cardinal maximal : max z sous j k
si
si e jk 0 , j k
996
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
4.2.4 Coloration
Ensemble stable de cardinal maximal
Les nœuds de l’ensemble stable S ne doivent pas être reliés.
Les contraintes portent sur les nœuds adjacents (au lieu de non adjacents).
formulation quasiment identique au problème de la clique.
• Variables
La variable binaire si vaut 1 si le nœud i appartient à l’ensemble S n variables
0 sinon
• Contraintes
Si les nœuds j et k sont adjacents, s j s k 1 , j, k 1 à n
ils ne peuvent pas appartenir simultanément à S. si e jk 1 , j k
arête [vjvk] E
• Coût n
Le nombre de nœuds de l’ensemble S à maximiser est : z s i
i 1
s s 1 , j, k 1 à n
• Problème de l’ensemble stable de cardinal maximal : max z sous j k
si
si e jk 1 , j k
997
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
4.2.4 Flot
Réseau
Un réseau est représenté par un graphe G=(V,E,F,C,s,t).
• V est l’ensemble des nœuds n nœuds (vi) i=1 à n
• E est l’ensemble des arcs m arcs (ek) k=1 à m
• F donne les capacités des arcs fij = capacité de l’arc [vivj]
• C donne les coûts des arcs cij = coût de l’arc [vivj]
• Le nœud s est la source (point d’entrée).
• Le nœud t est le puits (point de sortie).
Matrice d’incidence
On représente l’ensemble des arcs par une matrice à n lignes et m colonnes.
• Les lignes correspondent aux nœuds. matrice d’incidence noeudsarcs
• Les colonnes correspondent aux arcs.
998
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
4.2.4 Flot
Exemple 9
3
v2 v4
3 2 5
Réseau à 6 nœuds et 9 arcs.
• Source : s = v1 v1 v6
• Puits : t = v6 1 5
2
v3 3
v5
1 2 1 3 2 4 2 5 26 3 4 3 5 46 5 6
999
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
4.2.4 Flot
Problème de flot
On doit faire passer un flot φ de la source s au puits t en minimisant le coût.
• Variables
La variable φ représente la quantité totale de produit à transporter.
La variable xij est le flot passant par l’arc [vivj] 1 variable par arc [vivj] E
• Contraintes
Le flot sur chaque arc ne doit pas dépasser la capacité de l’arc : xij fij
• Coût
Le coût du flot xij passant sur l’arc [vivj] vaut : cij xij
1000
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
4.2.4 Flot
Flot de coût minimal x sj
vs v j E
Le problème s’écrit : min z c x ij
vi v j E
ij sous x ji x ij
v j vi E vi v j E
x ij
x ij f ij pour v i v j E
source s
0 noeud v1
Formulation linéaire : min z C T x sous Ax b avec b
x x F
0 noeud v n
puits t
1001
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
4.2.4 Flot
Extensions
On peut modifier la formulation pour traiter des problèmes similaires.
1002
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
Notations
• Le nombre d’objets est n.
• L’objet numéro i a pour prix ci et pour volume ai.
• Le volume du sac à dos est b.
Formulation
• Variables
La variable binaire xi vaut 1 si l’objet i est sélectionné n variables
0 sinon
• Contraintes n
Les objets choisis doivent entrer dans le sac à dos : a x
i 1
i i b aTx b
• Coût n
Il faut maximiser le prix total des objets choisis : z ci x i cT x
i 1
1003
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
x x U
ci
• L’utilité ui de l’objet i est le rapport prix / volume : ui
ai
On peut construire une bonne solution initiale en prenant les objets par utilité décroissante.
Méthode gloutonne solution admissible pour méthode arborescente.
1004
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
Formulation
• Variables
La variable binaire xij vaut 1 si l’objet i est placé dans le sac à dos j nm variables
0 sinon
• Contraintes n
m
L’objet numéro i est dans un sac à dos au plus : x
j1
ij 1 , i 1 à n
• Coût n m
Il faut maximiser le prix total des objets choisis : z ci x ij
i 1 j1
1005
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.4 Applications
Techniques d’optimisation Mai 2017
Extensions
On peut modifier la formulation pour traiter des problèmes similaires.
• Problèmes de placement sauvegarde de fichiers sur disques
• Problèmes de chargement remplissage de véhicules
• Problèmes de découpe minimisation des chutes
1006
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017
Formulation
Problème relaxé
Problème convexe
Séparation et évaluation
Convexification
Affectation quadratique
1007
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017
• Le coût zr du problème relaxé (PQR) est un minorant du coût z* du problème binaire (PQB),
car le problème (PQR) est moins contraint que le problème (PQB).
1 1
z r (x r ) T Q(x r ) c T x r z* (x * ) T Q(x * ) c T x *
2 2
1008
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017
x1 x 2 5
x 2 7
1
min z 2x12 4x 22 sous x 2 1 6
2x x 10.5
x
1 2
5
x1 , x 2 entiers
4
• Solution relaxée
10 5 100 3 z = 100/3
x1 , x2 zr
3 3 3 z = 20
2
z = 10
• Solution entière 1
x1 3 , x 2 2 z b 34 0
0 1 2 3 4 5 6 7
1009
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017
x L( x, , ) f ( x ) A T
• Lagrangien : L( x, , ) f ( x ) (b Ax) x
T T
2
xx L( x, , ) 2 f ( x )
f ( x ) A T 0
Ax b → conditions KKT (ordre 1)
• Conditions suffisantes d’optimalité :
x , 0
2 f ( x ) 0 → condition de minimum (ordre 2)
Une solution (x*,*,*) vérifiant les conditions suffisantes est un minimum local.
2 xx L( x, , ) Q
Qx c A T 0
Conditions suffisantes d’optimalité : Ax b
→ conditions KKT (ordre 1)
•
x , 0
Q 0 → condition de minimum (ordre 2)
• Pour un problème quadratique convexe (Q 0), la solution KKT est le minimum global.
On sait résoudre efficacement le problème relaxé par un algorithme polynomial.
• Lorsque le problème quadratique est indéfini, on ne peut plus utiliser les conditions KKT.
On ne sait pas trouver le minimum global en un temps raisonnable.
1011
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017
• Pour appliquer la méthode directe, il faut résoudre efficacement le problème relaxé (PQR).
→ applicable dans le cas convexe (matrice Q semi-définie positive)
→ inapplicable dans le cas indéfini (matrice Q indéfinie)
La convexification consiste à transformer le problème non convexe (PQB)
en un problème convexe équivalent (PQB)’ ayant les mêmes solutions binaires.
1012
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017
4.2.5 Convexification
Problème équivalent
1 T Ax b
min z x Qx c T x sous problème noté (PQB)
x U , U 0 ; 1
n
x 2
i , j1
• La forme quadratique q peut se représenter (de manière unique) par une matrice symétrique.
q R q qT q
1
2
1
1
q q T x T Qx x T Q T x x T Q Q T x
2 2
q x T Q' x
1
avec Q' Q Q T
2
matrice symétrique
• Exemple
1 4
T
x 1 4 x1
q x12 4x1x 2 3x 22 1 avec Q
x2 0 3 x 2 0 3
1 2
T
x 1 2 x1 avec Q' symétrique
1
x2 2 3 x 2 2 3 1013
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017
4.2.5 Convexification
Problème équivalent
1 T Ax b
min z x Qx c T x sous problème noté (PQB)
x U , U 0 ; 1
n
x 2
• Pour accélérer la résolution par séparation et évaluation, il faut que la solution relaxée
donne un coût le plus grand possible (→ proche de la solution binaire).
4.2.5 Convexification
Transformation des produits
• La partie quadratique q de la fonction coût est une somme de produits de variables binaires.
n
q x Qx q ij x i x j
T
i , j1
1 1
• Cas négatif : t c ( x, y) ( x y) 2 ( x y) → convexe (valeurs propres 0 et 2)
2 2
x, y 0 ; 1 t c ( x, y) ( x 2 2xy y 2 ) ( x y) xy t c ( x, y) t ( x, y)
1 1
2 2
=x =y
1015
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017
4.2.5 Convexification
Transformation des produits
1 T Ax b
min z x Qx c T x sous problème noté (PQB)
x U , U 0 ; 1
n
x 2
n
• La partie quadratique de la fonction coût z est de la forme : q x Qx q ij x i x j T
i , j1
• On remplace les produits qijxixj par des termes convexes selon le signe de qij.
n
q x x
i , j1
ij i j q x x
q ij 0
ij i j q x x
q ij 0
ij i j
remplacé par ij
1
q x i x j 2
x i x j 1 2
q ij x i x j x i x j
q ij 0 2 q ij 0 2
1
q ij x i2 x 2j x i x j q ij x i2 x 2j x i x j
1
q ij 0 2 q ij 0 2
1
q ij 2x i x j
2
1
q ij 2x i x j
2
en développant
q ij 0 q ij 0
q ij x i2 x 2j x i x j
n
1 1
2 q ij 0
q ij x 2
i x 2
j x i x j
2 q ij 0
q x x
i , j1
ij i j
1016
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017
4.2.5 Convexification
Transformation des produits
n
1
• La fonction coût du problème initial (PQB) est : z q c x avec q x Qx q ij x i x j
T T
2 i , j1
q ij x i2 x 2j x i x j
q ij x i2 x 2j x i x j
n n
1 1
q x x
i , j1
ij i j
2 q ij 0
2 q ij 0
q x x
i , j1
ij i j
1017
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017
4.2.5 Convexification
Ajout d’une matrice positive
n
1
• La fonction coût du problème initial (PQB) est : z q c x avec q x Qx q ij x i x j
T T
2 i , j1
n n
1 1
q' q a x i2 x i x T Qx a x i2 x i z' q' c T x x T Q' x c'T x
i 1 i 1 2 2
• La fonction coût modifiée z’ est convexe (matrice Q’ = Q + aI définie positive)
et prend les mêmes valeurs que z sur U (car xU x2 x = 0).
On obtient un problème (PQB)’ convexe équivalent au problème (PQB).
• Exemple : z
1 2
x1 x 22 Q
1 0
→ valeurs propres 1 et 1
2 0 1
z' x12 x 22 a x12 x1 a x 22 x 2
1
avec a 1
2
1018
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017
4.2.5 Convexification
Choix de la méthode
• Le coût de la solution relaxée dépend de la méthode de convexification choisie.
• Dans une méthode arborescente, le coût de la solution relaxé donne l’évaluation du nœud.
La méthode est d’autant plus efficace que le coût relaxé est grand (proche du coût binaire).
→ Il faut essayer de convexifier le problème en maximisant le coût de la solution relaxé.
→ Il est utile de reconvexifier la fonction coût même si celle-ci est déjà convexe,
de façon à augmenter le coût de la solution relaxée.
• Méthode de reconvexification
On utilise les contraintes pour ajoutant des termes à la fonction coût.
n
a ij x j b i , i 1 à m n n
n m
j1 z' z ki x i a kj x j b k u i x i2 x i
x 0 ;1n i 1 k 1 j1 i 1
Contraintes Termes nuls
Les coefficients ki et ui peuvent être choisis pour maximiser le coût relaxé.
1019
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017
4.2.5 Convexification
Exemple
x x 2 b
min z x12 x 22 sous 1 avec b 1
x
1 2
x , x 0 ; 1
2 0
• La fonction n’est pas convexe : Q → valeurs propres 2 et 2
0 2
x 0
• Solution binaire x1,x2 {0;1} : 1 z b 1
2
x 1
x1 0
• Solution relaxée x1,x2 0 : z r b 2
x 2 b
1020
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017
4.2.5 Convexification
Exemple : Transformation des produits
x x 2 b
min z x12 x 22 sous 1 avec b 1
x
1 2
x , x 0 ; 1
x12
1
2
2x1 2 2x1
z' 2 x1 x1 x 2
2
→ valeurs propres 4 et 0
2x 2
1
x 2
2
2
x x 2 b
• Problème convexifié relaxé : min z c1 2x12 x1 x 2 sous 1
x
x1 , x 2 0
• Lagrangien : L( x1 , x 2 , ) 2x12 x1 x 2 ( x1 x 2 b) avec x1,x2, 0
4 x1 1 0 x1 0
•
Conditions KKT : 1 0 1 z c1 b
( x x b) 0 x b
1 2 2
• Le coût relaxé par cette méthode de convexification vaut : zc1 = b
1021
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017
4.2.5 Convexification
Exemple : Ajout d’une matrice positive
x x 2 b
min z x12 x 22 sous 1 avec b 1
x
1 2
x , x 0 ; 1
1022
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017
4.2.5 Convexification
Exemple : Ajout d’une matrice positive
a (a ) a 2 (1 b) b
• Condition de complémentarité : 2 b 0 0 ou
a 1 a
a a
• Cas 0 x1 , x2 → x1, x2, 0
2(a 1) 2(a 1)
Le coût relaxé vaut : z c2 (a 1) x12 (a 1) x 22 ax1 ax 2 avec a 2
a3 4
z c2 z c2 maximal pour a = 2.
2(a 2 1) 3
a 2 (1 b) b b(a 1) b(a 1)
• Cas x1 , x2
a 2a 2a
b 4
On doit vérifier : 0 a avec a 2 b
2
b 1 3
Le coût relaxé vaut : z c2 (a 1) x12 (a 1) x 22 ax1 ax 2
1 1 4
z c2 b 2 a ab si b
2 a 3
1023
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017
4.2.5 Convexification
Exemple : Comparaison des coûts relaxés
x x 2 b
min z x12 x 22 sous 1 avec b 1
x
1 2
x , x 0 ; 1
a3 1 2 1
• Convexification par ajout d’une matrice positive z c2 min , b a ab
2(a 1) 2 a
2
4
si b
• Application numérique : b = 1.5 3
1.33 si a 2 → Convexification 2 meilleure
zc1 = 1.5 à comparer à zc2
2.13 si a 4 → Convexification 1 meilleure
1024
4 Optimisation discrète Max CERF
4.2 Programmation linéaire
4.2.5 Problème quadratique
Techniques d’optimisation Mai 2017
Site u Site v
distance duv
• Une solution est représentée par une permutation P donnant les affectations des n objets.
P = ( p(1) ,…, p(i) ,…, p(j) ,…, p(n) ) avec p(i) = numéro du site où est placé l’objet i
• Variables
La variable binaire siu vaut 1 si l’objet i est placé au site u nn variables
0 sinon
• Coût n
Le coût total des affectations est : z s iu s jv f ijd uv objet i placé en u
i , j, u , v 1 objet j placé en v
• Contraintes n
Chaque objet i est affecté à un seul site : s
u 1
iu 1 , i 1 à n n contraintes
n
Chaque site u reçoit un seul objet : s
i 1
iu 1 , u 1 à n n contraintes
Sommaire
1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes
4. Optimisation discrète
4.1 Problème combinatoire
4.2 Programmation linéaire
4.3 Métaheuristiques
4.3.1 Principes
4.3.2 Recuit simulé
4.3.3 Recherche tabou
4.3.4 Essaims
4.3.5 Fourmis
4.3.6 Algorithme évolutionnaire
4.3.7 Adaptation de covariance
4.3.8 Affine shaker
4.3.9 Reformulations
5. Optimisation fonctionnelle
1028
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.1 Principes
Techniques d’optimisation Mai 2017
4.3.1 Métaheuristiques
Problème d’optimisation difficile
min f(x)
x
problème d’optimisation (PO)
• Une métaheuristique est une méthode de résolution approchée mimant un processus physique.
Recuit simulé → thermodynamique
Algorithme évolutionnaire → sélection naturelle
Essaim particulaire → mouvement collectif d’essaims
Colonie de fourmis → mouvement organisé de fourmis
4.3.1 Métaheuristiques
Principales métaheuristiques
• Algorithmes
• Applications
Optimisation difficile → minima locaux, minimum global
Optimisation multi-objectifs → front de Pareto
Identification de modèles → apprentissage + optimisation
1030
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.1 Principes
Techniques d’optimisation Mai 2017
4.3.1 Métaheuristiques
Principes généraux
1031
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.2 Recuit simulé
Techniques d’optimisation Mai 2017
• Le recuit est un processus utilisé en métallurgie pour obtenir un alliage sans défaut.
A très haute température, le métal est à l’état liquide et les atomes se déplacent librement.
On procède à un refroidissement pour revenir à l’état solide.
• Si le refroidissement est rapide (trempe), les atomes se figent dans un état désordonné.
L’alliage obtenu a une structure irrégulière et présente des défauts (énergie élevée).
trempe recuit
1032
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.2 Recuit simulé
Techniques d’optimisation Mai 2017
• A température élevée, tous les états d’énergie ont quasiment la même probabilité.
A température basse, les états d’énergie élevée ont une probabilité quasiment nulle.
Température basse
• On part d’un état initial du système noté x0 (= disposition des atomes) d’énergie E0 = E(x0).
E
• A température élevée, un état d’énergie supérieure peut être accepté avec une probabilité forte.
→ Le système peut explorer l’ensemble des états possibles.
A température basse, un état d’énergie supérieure est rejeté de façon quasi-systématique.
→ Le système se stabilise dans un état de basse énergie.
1034
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.2 Recuit simulé
Techniques d’optimisation Mai 2017
E Température élevée
Température basse
x 1035
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.2 Recuit simulé
Techniques d’optimisation Mai 2017
k=0
Mouvement aléatoire : x , f
Arrêt solution : x* , f*
1036
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.2 Recuit simulé
Techniques d’optimisation Mai 2017
• La décroissance de température doit être lente pour éviter le blocage dans un minimum local.
On choisit par exemple une décroissance géométrique avec =0.999 et M assez grand.
• L’algorithme s’arrête sur le nombre d’essais N ou sur un nombre de paliers sans amélioration.
La qualité de la solution et le temps de calcul dépendent des réglages T0, , M, N.
→ à adapter expérimentalement au cas par cas
Mouvements aléatoires
• Les perturbations doivent générer une solution « localement proche » de la solution courante.
Le choix des perturbations aléatoires dépend de la nature du problème (discret, continu).
→ Il faut définir le « voisinage » de la solution courante.
• Application au PVC : les variables sont les numéros des nœuds le long du chemin.
On définit 3 types de perturbations élémentaires : insertion, échange, permutation.
→ Tirage aléatoire : - de la nature de la perturbation
- des nœuds auxquels la perturbation est appliquée
1037
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.2 Recuit simulé
Techniques d’optimisation Mai 2017
• Insertion
2 est inséré après 4.
• Echange
2 et 3 sont échangés.
• Permutation
Le chemin de 2 à 5 est inversé.
1038
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.2 Recuit simulé
Techniques d’optimisation Mai 2017
40 140
Variance mobile Moyenne mobile
35 120
30
100
25
80
20
60
15
40
10
5 20
Log (Temperature) Log (Temperature)
0 0
-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6
1040
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017
• La liste tabou mémorise les p dernières solutions visitées (= liste des solutions « taboues »)
ou les p derniers mouvements pour limiter l’encombrement en mémoire.
La taille de la liste est généralement de l’ordre de p=10 → mémoire à court terme
optimum blocages
La solution optimale (en vert) ne peut plus être atteinte à partir des points en orange
si les interdictions ne sont pas levées → blocage de la recherche.
1042
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017
• Echange
• Insertion
1043
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017
Site u Site v
distance duv
• Une solution est représentée par une permutation P donnant les affectations des n objets.
P = ( p(1) ,…, p(i) ,…, p(j) ,…, p(n) ) avec p(i) = numéro du site où est placé l’objet i
C P f
j1 à n , j u
d
uj p ( v ) p ( j) f ujd p ( u ) p ( j) → arcs partant de u : départ de p(v) au lieu de p(u)
f
j1 à n , j v
d
vj p ( u ) p ( j) f vjd p ( v ) p ( j) → arcs partant de v : départ de p(u) au lieu de p(v)
f
i 1 à n ,i u
iu d p (i ) p ( v ) f iu d p (i ) p ( u ) → arcs arrivant en u : arrivée en p(v) au lieu de p(u)
f
i 1 à n ,i v
iv d p (i ) p ( u ) f iv d p (i ) p ( v ) → arcs arrivant en v : arrivée en p(u) au lieu de p(v)
• La liste tabou contient les solutions précédentes Pk avec leur durée d’interdiction tk.
La durée tk est le nombre d’itérations pendant lesquelles la solution Pk est taboue.
La durée peut être fixée ou tirée aléatoirement pour chaque solution.
1045
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017
r s u v
(r,s)
(u,v) r
• solution p solution q’ s
→ C(q’) = FD(q’) à recalculer
u
v
u v
(u,v)
• solution p solution p’
→ C(p’) = FD(p’) u déjà calculés
v
1046
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017
0 1 5 2 4 1 0
1 1 1 2 3
25 0 3 0 2 21 0 2 1 2
F 32 3 0 0 0 D 31 2 0 1 2
44 0 0 0 5 42 1 1 0 1
0
51 2 0 5 53 2 2 1 0
1047
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017
• Le voisinage est défini comme l’ensemble des solutions accessibles en échangeant 2 objets.
Tous les mouvements sont autorisés.
Mouvement
Solution 1-2 1-3 1-4 1-5 2-3 2-4 2-5 3-4 3-5 4-5
(5,4,3,2,1) (4,5,3,2,1) (3,4,5,2,1) (2,4,3,5,1) (1,4,3,2,5) (5,3,4,2,1) (5,2,3,4,1) (5,1,3,2,4) (5,4,2,3,1) (5,4,1,2,3) (5,4,3,1,2)
64 Coût 60 60 80 68 66 78 80 64 78 66
Variation -4 -4 16 4 2 14 16 0 14 2
1048
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017
• Le voisinage est défini comme l’ensemble des solutions accessibles en échangeant 2 objets.
Le mouvement (12) n’est pas autorisé, car il redonnerait p0.
Mouvement
Solution 1-2 1-3 1-4 1-5 2-3 2-4 2-5 3-4 3-5 4-5
(4,5,3,2,1) (5,4,3,2,1) (3,5,4,2,1) (2,5,3,4,1) (1,5,3,2,4) (4,3,5,2,1) (4,2,3,5,1) (4,1,3,2,5) (4,5,2,3,1) (4,5,1,2,3) (4,5,3,1,2)
60 Coût 64 70 82 72 52 72 72 60 74 62
Variation 4 10 22 12 -8 12 12 0 14 2
1049
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.3 Recherche tabou
Techniques d’optimisation Mai 2017
• Le voisinage est défini comme l’ensemble des solutions accessibles en échangeant 2 objets.
Le mouvement (23) n’est pas autorisé, car il redonnerait p1.
Mouvement
Solution 1-2 1-3 1-4 1-5 2-3 2-4 2-5 3-4 3-5 4-5
(4,3,5,2,1) (3,4,5,2,1) (5,3,4,2,1) (2,3,5,4,1) (1,3,5,2,4) (4,5,3,2,1) (4,2,5,3,1) (4,1,5,2,3) (4,3,2,5,1) (4,3,1,2,5) (4,3,5,1,2)
52 Coût 60 66 74 60 60 52 76 72 62 62
Variation 8 14 22 8 8 0 24 20 10 10
• Le voisinage est défini comme l’ensemble des solutions accessibles en échangeant 2 objets.
Le mouvement (24) n’est pas autorisé, car il redonnerait p2.
Mouvement
Solution 1-2 1-3 1-4 1-5 2-3 2-4 2-5 3-4 3-5 4-5
(4,2,5,3,1) (2,4,5,3,1) (5,2,4,3,1) (3,2,5,4,1) (1,2,5,3,4) (4,5,2,3,1) (4,3,5,2,1) (4,1,5,3,2) (4,2,3,5,1) (4,2,1,3,5) (4,2,5,1,3)
52 Coût 60 66 74 60 60 52 76 72 62 62
Variation 8 14 22 8 8 0 24 20 10 10
• Le voisinage est défini comme l’ensemble des solutions accessibles en échangeant 2 objets.
Le mouvement (12) n’est pas autorisé, car il redonnerait p3.
Mouvement
Solution 1-2 1-3 1-4 1-5 2-3 2-4 2-5 3-4 3-5 4-5
(2,4,5,3,1) (4,2,5,3,1) (5,4,2,3,1) (3,4,5,2,1) (1,4,5,3,2) (2,5,4,3,1) (2,3,5,4,1) (2,1,5,3,4) (2,4,3,5,1) (2,4,1,3,5) (2,4,5,1,3)
60 Coût 52 64 60 72 70 74 72 80 70 50
Variation -8 4 0 12 10 14 12 20 10 -10
• Le voisinage est défini comme l’ensemble des solutions accessibles en échangeant 2 objets.
Le mouvement (45) n’est pas autorisé, car il redonnerait p4.
Mouvement
Solution 1-2 1-3 1-4 1-5 2-3 2-4 2-5 3-4 3-5 4-5
(2,4,5,1,3) (4,2,5,1,3) (5,4,2,1,3) (1,4,5,2,3) (3,4,5,1,2) (2,5,4,1,3) (2,1,5,4,3) (2,3,5,1,4) (2,4,1,5,3) (2,4,3,1,5) (2,4,5,3,1)
50 Coût 62 66 72 50 60 62 74 70 70 60
Variation 12 16 22 0 10 12 24 20 20 10
1054
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.4 Essaims
Techniques d’optimisation Mai 2017
4.3.4 Essaims
Principe
La méthode des essaims particulaires (« Particle Swarm », Eberhart et Kennedy 1995) s’inspire
du comportement social des animaux (nuée d’oiseaux, banc de poissons, essaim d’abeilles).
voisinage social
voisinage géographique
1055
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.4 Essaims
Techniques d’optimisation Mai 2017
4.3.4 Essaims
Mouvement individuel
• Chaque particule est repérée par sa position x et sa vitesse v.
La particule se déplace au cours du temps. x2 x5
xk = position de la particule à la date tk
vk = vitesse de la particule à la date tk x1
Date t1 t2 t3 t4 … tk x7
Position x1 x2 x3 x4 … xk
4.3.4 Essaims
Voisinage
• Chaque particule communique avec un groupe d’autres particules ou voisins.
V = ensemble des voisins de la particule
gk = meilleure position connue des particules de V à la date tk (« g » = groupe)
4.3.4 Essaims
Mouvement des particules
• L’essaim est composé de N particules dont on simule le mouvement.
La vitesse et la position de chaque particule sont mises à jour à chaque date.
pk
Date tk Date tk+1 gk
vk vp vg
Vitesse : vk Vitesse : vk+1 = vk + vp + vg
Position : xk Position : xk+1 = xk + vk+1
xk vk+1
xk+1
1058
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.4 Essaims
Techniques d’optimisation Mai 2017
4.3.4 Essaims
Algorithme
• On simule le mouvement d’un essaim de N particules cherchant le minimum d’une fonction.
4.3.4 Essaims
Exemple
x2
Fonction de Griewank à une variable f(x) cos( x ) 1
4000
x
Minima locaux : sin(x) 0 → proche de k.2 lorsque x << 2000
2000
2,5
Fonction de Griewank
2
1,5
0,5
0
-30 -25 -20 -15 -10 -5 0 5 10 15 20 25 30
Valeur de x
-0,5
1060
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.4 Essaims
Techniques d’optimisation Mai 2017
4.3.4 Essaims
Exemple
x2
Fonction de Griewank à une variable f(x) cos( x ) 1
4000
15 1,E-06
8,E-07
10
6,E-07
5 4,E-07
Valeur de x
Valeur de x
2,E-07
0
0,E+00
0 100 200 300 400 500 600 700 800 900 1000
-5 -2,E-07 750 800 850 900 950 1000
Itérations -4,E-07 Itérations
-10
-6,E-07
-15 -8,E-07
-1,E-06
-20
0,10
0,08
• Nombre de particules : 100
Valeur de f
0,06
• Nombre d’itérations : 1000
0,04 • Nombre d’évaluations : 3.106
0,02
→ Solution : x = 1.804 10-7
0,00
0 100 200 300 400 500 600 700 800 900 1000
Itérations 1061
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.4 Essaims
Techniques d’optimisation Mai 2017
4.3.4 Essaims
Exemple
Fonction de Rosenbrock à deux variables : f ( x 1 , x 2 ) 100 x 2 x 12 1 x
2
1
2
5,0 1,00004
valeur x1 valeur x1
4,0
1,00002
valeur x2 valeur x2
3,0
1,00000
2,0
1,0 0,99998
0,0
0 10 20 30 40 50 60 70 80 90 100 0,99996
-1,0
Itérations Itérations
0,99994
-2,0
100 200 300 400 500 600 700 800 900 1000
12
10 • Nombre de particules : 100
8 • Nombre d’itérations : 1000
6 • Nombre d’évaluations : 3.106
4
2
→ Solution : x1 = 1.0000025
0
x2 = 1.0000048
-2 -1
-2
0 1 2 3 4
1062
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.5 Fourmis
Techniques d’optimisation Mai 2017
4.3.5 Fourmis
Principe
La méthode des colonies de fourmis (« Ant Colony », Dorigo et co 1990) est inspirée
du comportement des fourmis à la recherche de nourriture.
• Les fourmis déposent sur leur passage des substances volatiles appelées phéromones.
Plus un chemin est concentré en phéromones, plus il est attractif.
Ce mode de communication indirecte par modification de l’environnement est la stigmergie.
• Le chemin le plus court entre la fourmilière et la nourriture est parcouru plus rapidement.
Il reçoit davantage de phéromones au cours du temps et devient le chemin le plus emprunté.
1063
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.5 Fourmis
Techniques d’optimisation Mai 2017
4.3.5 Fourmis
Mouvement individuel
• Chaque fourmi se déplace de manière aléatoire indépendamment des autres fourmis.
Le choix de la direction dépend de la concentration locale en phéromones.
Evaporation
chemin initial
• Si un seul chemin est marqué, toutes les fourmis le suivent.
Les autres solutions ne seront pas suffisamment explorées.
→ Le chemin sélectionné n’est pas forcément le plus court. chemin non exploré
1064
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.5 Fourmis
Techniques d’optimisation Mai 2017
4.3.5 Fourmis
Voyageur de commerce
Les algorithmes de colonies de fourmis s’appliquent de façon naturelle au PVC.
• Le chemin le plus court se renforce plus rapidement en phéromones et devient plus attractif.
L’évaporation fait oublier les autres chemins.
4.3.5 Fourmis
Voyageur de commerce
• Lorsqu’une fourmi se trouve à la ville i, il reste un ensemble de villes non visitées J.
• La probabilité pij de choisir la ville jJ dépend des distances dij et des concentrations.
Elle dépose sur les arêtes i-j sélectionnées une quantité de phéromones ij.
D0
ij si i-j est sur le trajet → privilégie les chemins les plus courts
D
D0 = distance de référence fixée
1066
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.5 Fourmis
Techniques d’optimisation Mai 2017
4.3.5 Fourmis
Voyageur de commerce
• A chaque itération, un ensemble de m fourmis parcourt les n villes.
Chaque fourmi augmente les intensités ij sur son trajet.
ij → ij + ij(k) après passage de la fourmi k (=1 à m) sur les arêtes i-j sélectionnées
• Lorsque les m fourmis sont passées, on réduit toutes les intensités par évaporation.
L’évaporation permet d’affaiblir l’attractivité des « mauvaises » solutions.
ij → (1 ) ij sur toutes les arêtes i-j ( = paramètre d’évaporation, 0 < < 1)
Dépôt (1) sur T1 Dépôt (2) sur T2 Dépôt (m) sur Intensités (1)ij
Tm
Itération suivante
1067
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.6 Algorithme évolutionnaire
Techniques d’optimisation Mai 2017
1068
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.6 Algorithme évolutionnaire
Techniques d’optimisation Mai 2017
• Un algorithme « génétique » utilise une représentation binaire des individus (« génotype »).
Le génotype binaire est transcrit en phénotype (variables x) avant évaluation.
1069
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.6 Algorithme évolutionnaire
Techniques d’optimisation Mai 2017
k=0
• Paramètres
p = taille population Génération k : p parents Sélection de q parents
q = nombre d’enfants
N = nombre de générations
Croisement → q enfants
• Opérateurs
Sélection k+1
Mutation des q enfants
Croisement
Mutation
p + q individus candidats Evaluation des q enfants
• Codage des solutions
Binaire (génotype)
Réel (phénotype) Sélection de p individus
5 (25)
- son évaluation ou performance f(xi)
8 (64)
Les individus sont triés par performance décroissante
10 (100) (valeur de f croissante car f est à minimiser).
+11 (121)
11 (121)
+12 (144)
12 (144)
+13 (169)
1072
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.6 Algorithme évolutionnaire
Techniques d’optimisation Mai 2017
+1 (1)
+1 (1) Sélection pour la reproduction
+5 (25)
8 (64)
5 (25) Les 8 meilleurs parents sont sélectionnés,
puis appariés aléatoirement 2 à 2.
8 (64) 10 (100)
→ sélection déterministe
+11 (121)
10 (100)
Méthodes de sélection possibles
+11 (121) - Proportionnelle
+5 (25)
Un parent peut être sélectionné plusieurs fois
11 (121) 11 (121) proportionnellement à sa performance.
+12 (144)
- Tournois
Plusieurs parents sont tirés pour le tournoi.
5 (25)
12 (144) Le meilleur parent du tournoi est sélectionné.
+12 (144)
+13 (169)
1073
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.6 Algorithme évolutionnaire
Techniques d’optimisation Mai 2017
+1 (1)
+1 (1) 1
+5 (25) Croisement
8 (64) 7
5 (25)
2 parents engendrent 2 enfants par croisement.
8 (64) 10 (100) 5 Pour chaque enfant, la valeur de x est tirée
+11 (121) +2 aléatoirement entre celles des parents.
10 (100)
+11 (121)
L’opérateur de croisement doit être adapté
+5 (25) 10 au problème :
11 (121) 11 (121) 3 - variables entières ou réelles
- fonction continue , minima locaux
+12 (144)
- proximité parents / enfants
5 (25) +6
12 (144)
+12 (144) +8
+13 (169)
1074
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.6 Algorithme évolutionnaire
Techniques d’optimisation Mai 2017
+1 (1)
+1 (1) 1 1 (1)
+5 (25) Mutation
8 (64) 7 7 (49)
5 (25)
2 enfants sont modifiés aléatoirement.
8 (64) 10 (100) 5 5 (25) Les 8 enfants sont ensuite évalués.
+11 (121) +2 +2 (4)
10 (100) L’opérateur de mutation peut être
uniforme ou gaussien.
+11 (121)
+5 (25) 10 +12 (144)
11 (121) 3
Pour une mutation gaussienne,
11 (121) 3 (9)
l’écart-type évolue selon
+12 (144) le taux de mutations favorables.
5 (25) +6 +6 (36)
12 (144)
+12 (144) +8 14 (196) Règle des 1/5
+13 (169) - > 1/5 → augmenter
- < 1/5 → diminuer
1075
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.6 Algorithme évolutionnaire
Techniques d’optimisation Mai 2017
+1 (1) +1 (1)
+1 (1) 1 1 (1) 1 (1)
+5 (25) +5 (25)
8 (64) 7 7 (49) 7 (49)
5 (25) 5 (25)
1076
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.6 Algorithme évolutionnaire
Techniques d’optimisation Mai 2017
+1 (1) +1 (1)
+1 (1) 1 1 (1) 1 (1)
+5 (25) +5 (25)
8 (64) 7 7 (49) 7 (49)
5 (25) 5 (25)
1077
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.6 Algorithme évolutionnaire
Techniques d’optimisation Mai 2017
+1 (1) +1 (1)
+1 (1) 1 1 (1)
+5 (25) 1 (1) Remplacement
8 (64) 7 7 (49)
5 (25) +2 (4) 4 parents conservés
8 (64) 10 (100) 5 5 (25) 3 (9)
6 enfants sélectionnés
+11 (121) +2 +2 (4)
10 (100) +5 (25)
m m d d
1081
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.7 Adaptation de covariance
Techniques d’optimisation Mai 2017
w y .y
q
Cq j j
T
j → matrice de rang q
j1
Cq Cd
• La direction d définit une matrice Cd.
C (1 q d )C q Cq d Cd
m
avec des pondérations q , d
1082
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.7 Adaptation de covariance
Techniques d’optimisation Mai 2017
C (1 q d )C q Cq d Cd d
C
w y .y
q
Cq j j
T
j → rang q
j1
m + d
Cd d.d T → rang 1
• Direction moyenne m
On peut remplacer d par (1p)dp + cd
→ pondération entre direction précédente dp
et direction courante dc
→ moyenne des directions successives
1083
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.7 Adaptation de covariance
Techniques d’optimisation Mai 2017
1
1
x m T C 1 x m
• La densité de la loi normale N(m , C) à n variables est : p( x ) 1
e 2
2
n
2 C 2
• La direction de déplacement d est définie à partir d’un échantillon de loi N(m , C).
Au voisinage du minimum, si la covariance C est proche de H-1 (à un facteur près),
l’échantillon xi, i = 1 à p suit les lignes de niveau de f.
→ pas de direction privilégiée (d 0)
→ stabilisation de m et C
1085
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.7 Adaptation de covariance
Techniques d’optimisation Mai 2017
1086
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.7 Adaptation de covariance
Techniques d’optimisation Mai 2017
25 1,25
20 1
15 0,75
10 0,5
5 0,25
0 0
-4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 -1,5 -1 -0,5 0 0,5 1 1,5
-5 -0,25
1088
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.8 Affine shaker
Techniques d’optimisation Mai 2017
b'i b i ( T b i ) , i 1 à n
• Sous forme matricielle, en notant B la matrice nn des vecteurs colonnes b1, … , bn
b1 b2 bn
b11 b 21 b n1 1
b12 b 22 b n 2 2
B b1 b2 bn et
b1n b 2 n b nn n
b2
b2 b1
d d
déplacement d x
x b1 x
B
B
1091
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.8 Affine shaker
Techniques d’optimisation Mai 2017
Solution initiale : x0
Région initiale : B0
k=0
k → k+1 dd T
Solution courante : xk
Région k 1
B I B
Mouvement dans Bk : d d
2 k
Evaluation en xk + d accepté
rejeté Dilatation suivant d Contraction suivant d
(=d > 0) (=c < 0)
Evaluation en xk d accepté
rejeté
N rejets consécutifs
Arrêt sur minimum local
ou Taille B insuffisante
1092
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.8 Affine shaker
Techniques d’optimisation Mai 2017
6
Nf f x1 x2
5 1 40036,0 -5,0000 5,0000
3 4842,0 -2,5123 -0,6379
4 6 1517,8 -1,0533 5,0000
9 971,7 2,5591 3,4356
3 15 932,0 1,6944 -0,1809
24 51,5 1,4993 1,5322
2 39 1,2779 1,3401 1,9036
48 1,0386 0,6511 0,3282
1
402 0,1641 0,5952 0,3527
1206 0,000097 0,9903 0,9806
0
-5 -4 -3 -2 -1 0 1 2 3 28944 0,000023 1,0040 1,0082
-1 95676 0,000021 0,9978 0,9960
• Initialisation : x1 = 5
x2 = 5
• Progression initiale rapide : x1 = 0.99 après 1200 appels fonctions
x2 = 0.98
• Convergence précise lente → nécessite plusieurs milliers d’appels fonction
1093
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017
4.3.9 Reformulations
Problème d’optimisation difficile
min f(x)
x
problème d’optimisation (PO)
min f(x)
x
problème à une variable x
x dj
(x) sin
d d
j1 j
15
10
F( x ) f(x) (x)
5 f(x)
0
-2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5 3,0
-5
-10
1096
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017
15
10
F( x ) f(x) (x)
5 f(x)
0
-2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5 3,0
-5
-10
1097
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017
min f(x)
x
problème à plusieurs minima locaux
c2
f(x) c1 x x m si f ( x ) f m
• On définit la fonction dilatée F : F(x) f (x) f m
f(x) si f ( x ) f m
Le terme en c1 remonte les minima locaux supérieurs à fm sans modifier le voisinage de xm.
Le terme en c2 remonte la fonction au voisinage de xm.
Les minima inférieurs à fm ne sont pas modifiés.
1098
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017
2,5
1,5
0,5
0
-30 -25 -20 -15 -10 -5 0 5 10 15 20 25 30
-0,5
1099
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017
Effet du terme c1
100
- Remonter les minima locaux supérieurs à 0.098
- Conserver le minimum xm et le minimum global
90 0
80
70
60
50
Ajout du terme c1
40
30
Fonction initiale
20
10
0
-25 -20 -15 -10 -5 0 5 10 15 20 25
1100
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017
Effet du terme c2
- Remonter le minimum local xm 100
- Conserver le minimum global 0
90
80
Ajout du terme c2
70
60
50
40
30
Fonction initiale
20
10
0
-25 -20 -15 -10 -5 0 5 10 15 20 25
1101
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017
100
90
80
70
60
Fonction dilatée
50
40
30
20
Fonction initiale 10
0
-5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10
1102
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017
• On peut approcher la fonction signe par une fonction continue. (fonction sigmoïde).
1,2
2
sgn(y) y
1 1,0
1 e 0,8
=1
0,6
ou 0,4
=2
ey e y 0,2
sgn(y) tanh(y) y y 0,0
e e -5 -4 -3 -2 -1 -0,2 0 1 2 3 4 5
-0,4
avec , positifs assez grands -0,6
-0,8
-1,0
-1,2
1103
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017
• Fonction de Griewank
• Fonction de Michalewicz
1104
4 Optimisation discrète Max CERF
4.3 Métaheuristiques
4.3.9 Reformulations
Techniques d’optimisation Mai 2017
• Fonction de Rastrigin
• Fonction de Schubert
18 minima globaux
f(x*) = 186.7309
1105
Max CERF
Techniques d’optimisation Mai 2017
Méthodes approchées
• Métaheuristiques : recuit simulé (§4.3.2)
essaims (§4.3.4)
algorithmes évolutionnaires (§4.3.6)
Difficultés pratiques
• Combinatoire exponentielle
• Minima locaux
• Pas de conditions d’optimalité
1106
Max CERF
Techniques d’optimisation Mai 2017
Livres en anglais
1107
5 Optimisation fonctionnelle Max CERF
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
4. Optimisation discrète
5. Optimisation fonctionnelle
5.1 Fonctionnelle
5.2 Calcul des variations
5.3 Commande optimale
5.4 Filtrage
Sommaire
1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes
4. Optimisation discrète
5. Optimisation fonctionnelle
5.1 Fonctionnelle
5.1.1 Définition
5.1.2 Norme
5.1.3 Voisinage
5.1.4 Variation
5.1.5 Minimum
5.2 Calcul des variations
5.3 Commande optimale
5.4 Filtrage
1109
5 Optimisation fonctionnelle Max CERF
5.1 Fonctionnelle
5.1.1 Définition
Techniques d’optimisation Mai 2017
5.1.1 Fonctionnelle
Espace de fonctions
• On considère des fonctions y de [a,b] dans Rn : x [a , b] y(x) R n
On note Y l’espace des fonctions considérées.
Fonctionnelle
• Une fonctionnelle J est une fonction de Y dans R = « fonction de fonctions »
La fonctionnelle J associe à toute fonction y de Y une valeur réelle J(y).
J : y Y J ( y) R
b
• En pratique la fonctionnelle J est souvent de la forme : J ( y) Lx , y, y'dx
a
1110
5 Optimisation fonctionnelle Max CERF
5.1 Fonctionnelle
5.1.2 Norme
Techniques d’optimisation Mai 2017
5.1.2 Norme
Norme d’une fonction
1/ p
b
y( x ) dx
p
• Norme Lp (pour une fonction intégrable) : y Lp
a
1111
5 Optimisation fonctionnelle Max CERF
5.1 Fonctionnelle
5.1.3 Voisinage
Techniques d’optimisation Mai 2017
5.1.3 Voisinage
Voisinage d’une fonction
• Le voisinage d’une fonction y* est l’ensemble des fonctions y de Y telles que
y( x ) y * ( x ) sur [a , b]
y0
y y0 est voisine de y en norme 0 seulement.
1112
5 Optimisation fonctionnelle Max CERF
5.1 Fonctionnelle
5.1.4 Variation
Techniques d’optimisation Mai 2017
5.1.4 Variation
Variation première
• La variation première de J en y est la fonctionnelle linéaire notée Jy vérifiant
Variation seconde
• La variation seconde de J en y est la fonctionnelle quadratique notée 2Jy vérifiant
5.1.5 Minimum
Minimum d’une fonctionnelle
• La fonction y* est un minimum local de la fonctionnelle J si
0 , y Y , y y * J ( y*) J ( y)
• J(y*) J(y) pour toute fonction y dans un voisinage de y* → dépend de la norme considérée
- Avec la norme 0, le minimum y* est un minimum fort.
- Avec la norme 1, le minimum y* est un minimum faible (voisinage restreint).
Sommaire
1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes
4. Optimisation discrète
5. Optimisation fonctionnelle
5.1 Fonctionnelle
5.2 Calcul des variations
5.2.1 Problème type
5.2.2 Conditions de minimum
5.2.3 Extensions
5.2.4 Contraintes
5.2.5 Minimum fort
5.3 Commande optimale
5.4 Filtrage
1115
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.1 Problème type
Techniques d’optimisation Mai 2017
Formulation
Conditions de minimum
1116
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.1 Problème type
Techniques d’optimisation Mai 2017
y (a )
• Y est l’espace des fonctions C1 de [a,b] dans R, à valeurs fixées en a et b : y(b)
• L (lagrangien ou coût instantané) est une fonction C1 de R3 dans R : ( x , y, z) L( x , y, z)
y
y2
Illustration : y1 , y 2 , y * Y
y* J ( y*) J ( y1 )
J ( y*) min J ( y)
yY J ( y*) J ( y 2 )
y1
0 a b x
1117
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.1 Problème type
Techniques d’optimisation Mai 2017
Minimum
• Les conditions nécessaires pour que y* soit un minimum de J sont
5.2.1 Variations
Evaluation de J(y* + )
• est une perturbation admissible de classe C1, est un réel quelconque.
b
J ( y * ) Lx , y * , ( y * )'dx J ( y*) J y* () 2 J y* () 2 o( 2 )
a
b
• Variation première de J (terme en ) : J y* ()
L
a
y
' L z dx
b
1
• Variation seconde de J (terme en 2) : J y* () 2
2 L yy 2' L yz '2 L zz dx
2a
1119
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.1 Problème type
Techniques d’optimisation Mai 2017
5.2.1 Variations
Variation première
• On intègre par parties le terme en ’ dans la variation première.
b b b
J y* () L
' L z dx L y dx
L z a L z ' dx
b
y
a a a
b
d L
J y* () L y L z ' dx car (a) = (b) = 0 et en notant Lz ' ( x , y*, y*' )
a (perturbation admissible) dx z
Variation seconde
• On intègre par parties le terme en ’ dans la variation seconde.
b
1
J y* ()
2
2 L yy 2' L yz '2 L zz dx
2a
b b b b
2' L
b
avec yz dx (2 )' L yz dx 2 L yz a 2 L yz ' dx 2 L yz ' dx
a a a a
b
1
J y* ()
2
2 (L yy L yz ' ) '2 L zz dx
2a
1120
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017
Problème auxiliaire
Point conjugué
1121
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017
On suppose par l’absurde qu’il existe c[a,b] tel que P(c) = 2 > 0. (x)
P est continue P(c) > sur un intervalle [c1 , c2].
2
P(x)
On définit la perturbation : ( x ) ( x c1 ) ( c2 x ) si x [ c1 ,c2 ]
2 2
0 sinon → C1 0
b c2 c2 c1 c c2 x
Pdx P( x c ) ( c2 x ) dx ( x c ) ( c2 x ) dx
2 2 2 2
1 1
a c1 c1
d L dL z
avec x, y(x ), y' (x ) L z y' L z y' ' L z
x , y( x ), y' ( x )
dx y' dx x y z
L
x, y( x ), y' ( x ) L z y' L z y' ' L z
x , y( x ), y' ( x )
y x y z
• Ecriture compacte : Ly Lz ' L y L zx y' L zy y' ' L zz
• Une intégrale première est une fonction (x,y) restant constante le long des extrémales y*(x).
x , y * ( x ) C te
1123
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017
On observe que :
d
dx
L z y'L L zx L zy y' L zz y' ' y' L z y' ' L x L y y' L z y' '
x
L z y'L L zy y' L zz y' 'L y y' 0
L z y'L C te
y
B
B
y*(x)
L AB ds
A
A avec ds 2 dx 2 dy 2 dx 2 1 y' ( x ) 2
0 a b x
b
• Formulation : min
y
a
1 y' ( x ) 2 dx L ( x , y, z ) 1 z 2
Solution
L d L L y'
• C te
y dx y'
Equation EL : (intégrale première)
y' 1 y' 2
• Trouver dans le plan vertical la forme de la courbe AB qui minimise le temps de parcours
d’une particule glissant sous l’effet de la gravité (pas de frottement).
→ trouver la forme du toboggan optimal de A à B
0 a b x
A
g g = gravité constante
v v = vitesse de la particule
B
1126
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017
1 z2
b
1 y' ( x ) 2
Le problème s’écrit : min
y
a
y( x )
dx L ( x , y, z )
y
• On dérive l’expression de y par rapport à x : y 2c cos 2 y' 2c' sin cos
2 2 2
• On identifie les 2 expressions de y’ : y' tan 2c' sin cos
2 2 2
• On obtient une équation différentielle en (x) : 2c' cos 2 1
2
1128
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017
0 xc b x
A
0
centre du cercle
c
C vitesse x c c
y
1129
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017
b
1
• y* minimum local de J J y* () 2
2 (L yy L yz ' ) '2 L zz dx 0 , admissible
2a
L zz 0 → condition nécessaire de Legendre (1786)
b
P( x ) Lzz
avec Q
1 c c c+
Preuve : J y* ( )
2
' 2 P 2 Q dx 0
x
2a ( x ) L yy L yz '
On suppose par l’absurde qu’il existe c[a,b] tel que P(c) = 2 < 0. P(x)
P est continue P(c) < sur un intervalle [c , c+]. 2
( x c )
On définit la perturbation : ( x ) sin 2 si x [ c ,c ]
0 sinon → C1 1
c c (x)
2 2 2 ( x c ) 4 ( x c )
b
2
J y* ( )
2
Qmax < 0 pour petit (contredit la CN d’ordre 2 de minimum local)
1130
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017
J y* () L y L z ' dx
a
b
J y* ()
2 1
'2 P 2 Q dx P ( x ) L
avec Q( x ) Lzz L '
2a yy yz
1131
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017
L z x , y, y' L z L zy v L zz v'
noté
L y L yy v L yz v' L z ' L zy ' v L zy v'(L zz v' )' avec L y L z ' (EL pour y*)
Points conjugués
• Les points x=a et x=c sont des points conjugués de la fonctionnelle J si
l’équation de Jacobi associée à J admet une solution non nulle v telle que v(a) = v(c) = 0.
• Les conditions suffisantes de minimum sont basées sur l’absence de points conjugués.
1133
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017
x=a n’a pas de point conjugué dans [a,b] → condition de Jacobi (1837)
1134
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017
b
1
J y* ( )
2
' 2 P 2 Q dx 0 avec (a) = (b) = 0
2a b
•
Pour former un carré sous l’intégrale, on ajoute un terme de la forme I d ( w 2 )
w est une fonction quelconque de classe C1. a
b
b
I d ( w 2 ) w 2 a 0 car ( a ) ( b ) 0
a
b
1
J y* ( ) J y* ( ) I
2 2
' 2 P 2' w 2 ( Q w' ) dx
2a
• Par hypothèse : P > 0.
Si on peut choisir la fonction w telle que : P( Q w' ) w 2 , alors on aura
1 2 2 w
b b 2
w 2
1 w
J y* ( ) P' 2' 2 dx
P' dx 0
2
2 a P P 2a P
w
2Jy*() ne s’annule que si ' 0 0 car (a)=0, donc 2Jy*() > 0 si ≠ 0.
P
• Il reste à montrer qu’il existe une fonction w de classe C1 telle que : P( Q w' ) w 2
1135
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017
• Par hypothèse, il n’existe pas sur l’intervalle [a,b] de point conjugué au point x=a.
→ Si v(a) = 0, alors v ne s’annule pas sur l’intervalle ]a,b].
Par continuité de la solution par rapport à la condition initiale v(a), pour assez petit,
→ Si v(a) = , alors v ne s’annule pas sur l’intervalle ]a,b].
Il existe donc une solution v ne s’annulant pas sur tout l’intervalle [a,b].
v'
• On définit la fonction w de classe C1 : w P
v
Cette fonction vérifie : vw Pv' v' w vw' ( Pv' )' Qv car v solution de Jacobi.
v' w2
Q w' w qui est la propriété souhaitée
v P 1136
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017
b
J y* ()
2 1
'2 P 2 Q dx 0 P ( x ) L
avec Q( x ) Lzz L '
2a yy yz
b b
1 1 2 1 2
K ( v)
2a
v'2 P v 2 Q dx M ( x , v, v' )dx
a
M ( x , v, v ' )
2
Pv' Qv
2
• Par un point A fixé, il passe une famille d’extrémales paramétrées par la dérivée en A.
Un point conjugué C est un point d’intersection de 2 extrémales différentes issues de A.
extrémales issues de A
A
B
1139
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017
• On suppose que la condition forte de Legendre est vérifiée le long de l’extrémale : P > 0
• La condition forte de Legendre est dans ce cas une condition suffisante de minimum local.
1140
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017
A A , B B → choix des axes de référence
A 0
B 0 facilitant la résolution
• Distance en coordonnées sphériques
A
x cos cos
y cos sin ds 2 dx 2 dy 2 dz 2 d 2 d2 cos 2
z sin
• Formulation
On choisit comme variable et on cherche la fonction () qui minimise la distance de A à B.
B
d
min
A
1 ' () 2 cos 2 d L(, , ' ) 1 '2 cos 2 avec '
d
1141
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017
L L ' cos 2 d c
0 C te c c
' 1 '2 cos 2 d cos cos 2 c 2
c sin
• Une primitive () est (solution non évidente) : tan ( 0 )
cos 2 c 2
On peut vérifier cette solution en dérivant chaque membre.
d c 2 sin 2 d (1 c 2 ) cos 2 d
d
d
tan ( 0 ) 1 tan ( 0 ) 1 2
2
d cos c d
2
cos 2 c 2 d
c sin A c sin B
A A , B B tan 0
A 0
B 0 cos 2 A c 2 cos 2 B c 2
1143
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017
• Matrices P et Q
' cos 2
' cos 2
L(, , ' ) 1 ' cos L 0 , L '
2 2
1 ' cos
2 2 L
cos ' cos L '
2 2
P() L ' ' 2
cos 2 (car =0 , L=1 le long de l’extrémale)
L L
Q() L L ' ' 0 (car L=0)
1144
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.2 Conditions de minimum
Techniques d’optimisation Mai 2017
• La condition de Legendre est vérifiée si l’extrémale ne passe pas par un pôle : P cos 2 0
• Si A et B sont diamétralement opposés, tous les arcs de grands cercles AB sont solutions.
1145
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017
5.2.3 Extensions
Extrémités libres
Plusieurs variables
Plusieurs fonctions
Courbe paramétrée
Invariance
Forme canonique
Mécanique
1146
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017
y(b) y y b
(b) y' (b)b
0 a a+a b b+b x
1147
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017
J L y L y ' ' dx [L y 'y]ab [(L L y ' y' )x ]ab
a
1148
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017
min J (z)
z Lx, y, z, z
( x , y )D
x ,zy dxdy → fonction z de 2 variables x,y sur une région D de R2
Conditions de minimum
L L L
z* minimum de J
z x z x y z y
1149
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017
La preuve est similaire au cas à une fonction (en utilisant n perturbations indépendantes j).
1150
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017
• Formulation paramétrée
tb
y ( t )
min K ( x , y) Mt , x , y, x , y dt
avec Mt , x , y, x , y L x ( t ), y( t ), x ( t )
x,y
ta x ( t )
M d M
Mx M
x dt x
x
→ système différentiel de dimension 2 et d’ordre 2
avec 4 conditions aux extrémités
M d M
My M
y dt y
y
L d L
L y L y' ' → système différentiel de dimension 1 et d’ordre 2
y dx y' avec 2 conditions aux extrémités
1152
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017
1153
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017
u ,v
min J (u , v) ds
A
ta
Eu '2 2Fu ' v'Gv'2 dt
1154
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017
min J (u , v)
u ,v
ta
Eu '2 2Fu ' v'Gv'2 dt
1155
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017
d a 2
' a 2 '
0
2 2 2 c1
dt a 2 '2 z'2 a ' z'
c1z' c 2 a 2 ' a
d z'
2 2 2 c2
z'
0
dt a 2 '2 z'2 a ' z'
1156
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017
5.2.3 Invariance
Changement de variable
b
min J ( y) Lx , y, y'dx
→ fonction inconnue y(x)
y
a
• On effectue le changement de fonction y = f(x,Y). La nouvelle fonction inconnue est Y(x).
f f dY
f x , Y( x )
d d
y' y f x f Y Y'
dx dx x Y dx noté
b b
• Le problème en variable Y devient : min J ( y) Lx , y, y'dx min K (Y) Mx , Y, Y'dx
y Y
a a
avec L( x , y, y' ) Lx , f ( x , Y), f x f Y Y' M( x , Y, Y' )
noté
5.2.3 Invariance
Fonctionnelles équivalentes
• Les fonctionnelles J et K sont dites équivalentes si elles ont les mêmes extrémales.
b b
min J ( y) Lx , y, y'dx min K ( y) Mx , y, y'dx
y y
a a
Propriétés
• Si f est dérivable :
d
dz
pz f (z) 0 en z p p f ' (z p ) h ' (p) z p et h ' ' (p) f ' ' (z p )
1
dH y' dp pdy' L x dx L y dy L y 'dy' L x dx L y dy y' dp car p L y '
H x dx H y dy H p dp
H x L x
Par identification : H y L y
H p y'
Equations canoniques
• La dérivée totale d’une fonction quelconque (y,p) le long d’une extrémale est
d H H
y' p' , H → crochet de Poisson de et H
dx y p y p p y noté
1162
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017
y' H
n fonctions y vérifiant L y L y ' ' 2n fonctions y et p vérifiant p' H p
y
y' H p Y' H *P
p ' H avec la fonction H ( x , y , p )
*
* avec une nouvelle fonction H ( x , Y, P )
y P H Y
• Condition suffisante pour qu’un changement de variables soit une transformation canonique.
Si les fonctionnelles J et J* sont équivalentes (i.e. ont les mêmes extrémales),
alors les formes canoniques en (y,p) et (Y,P) sont équivalentes (i.e. ont les mêmes solutions).
1163
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017
d
si py'H( x , y, p) PY 'H * ( x , Y, P) avec fonction quelconque
dx
d pdy PdY H * ( x , Y, P) H( x , y, p) dx
• d est une différentielle totale par rapport aux variables x , y , Y.
On en déduit l’expression de p , P et H* en fonction des dérivées de (x,y,Y).
( x , y) ( x*, y*) avec x* X( x , y, y' , ) et x X( x , y, y' ,0) → identité pour =0
y* Y( x , y, y' , ) y Y( x , y, y' ,0)
• La fonctionnelle J est invariante par le changement de variables ( x, y) ( x*, y*) si
x * b* x b
J ( y*) J ( y) Lx*, y*, y*'dx * Lx, y, y'dx
x * a * x a
Théorème de Noether
Si J est invariante par le changement de variables quelles que soient les bornes a et b,
Y X
alors la fonction L y '
0
L L y ' y'
0
est une intégrale première.
L y ' Y 0
L L y ' y' X 0
p Y 0
H X 0
C te
1166
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017
Preuve :
On exprime la variation de J en fonction de perturbations , x(a), x(b), y(a), y(b).
b
J L y L y' ' dx [ L y' y ]ab [( L L y' y' )x ]ab
a
x* X ( x , y , y' , ) X ( x , y , y' ,0 ) X x X x X
0 0 0
A l’ordre 1 en :
y* Y ( x , y , y' , ) Y ( x , y , y' ,0 ) Y 0
y Y 0
y Y 0
J est invariante par le changement de variables quelles que soient les bornes a et b.
J 0 L y' Y 0
L L y' y' X
0 a
b
0
L y' Y 0
L L y' y' X 0
C te car a et b sont quelconques.
1167
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017
J L y L y ' ' dx [L y 'y]ab [(L L y ' y' )x ]ab
a
b
L y L y ' ' dx [py Hx ]ab
a
car p L y ' , H py'L L y ' y'L
V
L’hamiltonien H est fonction de x,y,p : H ( x , y, p ) H ( x , y, )
y
V V
• La fonction valeur V(x,y) vérifie l’EDP : H( x , y, ) 0 Vx H( x , y, Vy ) 0
x y
→ équation de HamiltonJacobiBellman (HJB)
1169
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017
Preuve
d V 2V 2V dy
Il faut montrer que 0 0 le long d’une extrémale
dx x y dx
V V
V(x,y,) vérifie l’équation HJB : H ( x, y , )0
x y
V V 2V H 2V
En dérivant par rapport à : H ( x, y , ) 0
x y x p y
dy H 2V dy 2V
Le long d’une extrémale y(x) : 0
dx p x dx y
d V
On obtient le résultat cherché : 0
dx 1170
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017
Le champ des extrémales issues du point initial A(a, ) est paramétré par .
1171
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017
• Fonction valeur : V ( x , y) ( x a )
f (u ) 2 2 du
V ( x , y) ( x a ) 1 2 ( y )
• Extrémales : x ( y ) a → droites passant par A(a, )
1 2
(x a )
pour l’extrémale passant par M(x,y)
( x a ) ( y )
2 2
5.2.3 Mécanique
Formulation hamiltonienne
• Les lois de la mécanique classique peuvent se formuler à partir du calcul des variations.
→ formulation hamiltonienne, mécanique analytique
1 1
Energie cinétique totale : T mq T 2
m i q i
2
2 i 1 2
5.2.3 Mécanique
Postulat de moindre action
• On définit l’intégrale d’action (ou action) du système, notée S.
tf
S Lt , q, q dt
1
t0
avec L T U L( t , q, q )
2
mq 2 U( t , q)
5.2.3 Mécanique
Lois de conservation
• Les variables canoniques se déduisent du lagrangien.
L( t , q, q )
1
mq 2 U( t , q) p L q mq
H pq L mq L 2T (T U) T U
2
2
Les variables p sont les quantités de mouvement (ou impulsions) des particules.
L’hamiltonien est l’énergie totale du système.
1175
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017
5.2.3 Mécanique
Lois de conservation
• Cas d’un système invariant par rotation
Une rotation infinitésimale d’angle autour de l’axe n transforme le vecteur q en q * .
dq n q q* q n q n q*
q
On applique le théorème de Noether pour la transformation
t* X( t , q, q , ) t
q* Y( t , q, q , ) q n q
p Y 0
H X 0
C te p . (n q) C te en notation vectorielle
n . (q p) C te
La relation doit être vérifiée pour un vecteur n quelconque.
h q p C te → conservation du moment cinétique
def
(= moment de la quantité de mouvement p)
1176
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.3 Extensions
Techniques d’optimisation Mai 2017
5.2.3 Mécanique
Problème de Kepler
• Le problème de Kepler est le mouvement d’une particule dans un potentiel en 1/r.
d
Le mouvement est plan : r v r v r v v v r a 0 car a // r (force centrale)
dt
On se place en coordonnées sphériques (r , ) v
r
r
v
r
• Energie potentielle : U (par unité de masse)
r
1 2 1 2 2 r
• Energie cinétique : T v (r r )
2 2 r
1
• Lagrangien : L( t , r, , r, ) T U (r 2 r 2 )
2 r
• Equation EL : L r L r r 2 2 r r r 0
r h r v 0 r 0
L L r h C
2 te 0 0 2
r
• L ne dépend pas explicitement de t → système conservatif
→ conservation de l’énergie H = T + U
5.2.4 Contraintes
Extrémité libre
Contrainte finale
Contrainte intégrale
Contrainte courante
1178
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017
y
y2 Illustration : y1 , y 2 , y * Y
2 y1(b) = 1
y*
* y2(b) = 2
1 y*(b) = *
J ( y*) J ( y1 )
J ( y*) min J ( y)
y1 yY J ( y*) J ( y 2 )
0 a b x
1179
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017
J y* () L y L z ' dx (b)L z (b)
a
y
B b
min
y
a
1 y' ( x ) 2 dx
A B*
L ( x , y, z ) 1 z 2
0 a b x
Solution
L d L L y'
• Equation EL : C te
y dx y' y' 1 y' 2
y' 0
L
• Condition de transversalité : ( b) 0
y'
La courbe solution est le segment horizontal AB* de longueur ba.
1181
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017
y
y2
y=(x)
2
y*
*
1
y1
0 a b1 b* b2 x
1182
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017
y(b) y y b
(b) y' (b)b
0 a b* b x
1183
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017
Ldx L y L z ' dx (b*)L z (b*)
a a
car (a) = 0
b* b
J ( y, b) Ldx L y L z ' dx (b*)L z (b*) L(b*)b
a a
b*
J ( y*, b*) Lx*, y*, y*'dx
avec a
y(b * b) y * (b*) (b*) y*' (b*)b variation de y en b due à et b
• La valeur de (b) n’est pas libre car le point final doit rester sur la courbe d’équation y = (x).
y * (b*) (b*)
y(b * b) (b * b) (b*) ' (b*)b y * (b*) ' (b*)b à l’ordre 1 en b
En identifiant les 2 expressions de y(b*+b), on obtient la relation entre (b), y(b), (b) et b.
J ( y, b) J ( y*, b*) L y L z ' dx bL L z (' y*' ) (b*)
a 1185
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017
L y L z ' dx bL L z (' y*' ) (b*) 0 , , , b
a
(perturbations indépendantes)
• La condition de transversalité est similaire pour une contrainte initiale en x=a variable.
→ système de 4 équations à 4 inconnues si le point initial et le point final sont variables.
1186
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017
• On considère une fonctionnelle de la forme : J ( y, b) w ( x , y) 1 y' ( x ) 2 dx
a
• Le point final x=b est contraint sur la courbe d’équation y = (x).
b
y,b
min w ( x , y) 1 y' ( x ) 2 dx sous y(b) (b)
a
L ( x , y, z ) w ( x , y ) 1 z 2
y
y=(x)
y*
*
0 a b* x
1187
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017
w d wy'
y=(x)
• Equation d’Euler-Lagrange : 1 y'
2
y dx 1 y'2
• Applications
Problème de chemin le plus court avec pondération w(x,y) fonction de la position
Problème de chemin le plus rapide avec vitesse = 1/w(x,y) fonction de la position
1188
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017
J C F
1
F ( 0 ,0 ) 1
J C 0 1 y y* J
2
2
N y N z ' 0 avec N 0 L M
1191
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017
y
B
y(x)
L S ydx → surface
A
S B
A B L
A
1 y'2 dx → longueur
0 a b x
b b
• Formulation :
y
min J ( y) ydx sous C( y)
a
a
1 y' ( x ) 2 dx L 0 0
N d N d y'
1
• Equation EL :
y dx y' dx 1 y'2
1192
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017
• Les problèmes « Maximiser la surface entourée par une courbe de longueur donnée »
et « Minimiser la longueur de la courbe entourant une surface donnée »
sont équivalents (même lagrangien augmenté).
max S( y) sous L( y) L 0 0 N( x , y, y' ) y L 1 y'
2
1
y S
min L( y) sous S( y) S0 0 N ( x , y, y ' ) 1 y ' 2 S y L
y 1193
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017
r
• On exprime dL et dS en fonction de l’angle d : dL d
cos
1
dS r 2 d
2 1194
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017
1 2 r
• Lagrangien augmenté : N r → ne dépend pas de r ,
2 cos
sin
• Equation EL : N ( N ' )' r 0 0 ( n // r )
cos 2
1
N r ( N r ' )' r 0 r C te
cos cos
2
L S L
• Sensibilité à la contrainte : S r
2
r
(multiplicateur) 2 L 2
1195
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017
r2
• On exprime dS et dV en fonction de l’angle solide d : dS d
cos
1
dV r 3d
3 1196
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017
dSr
• Les fonctions inconnues sont r(,) , (,).
n
1 3 r2
max V(r, )
r ,
3
r d sous S(r, )
cos
d S0
r
• Remarque
L’orientation de l’élément de surface dS nécessite 2 angles : h
- l’angle entre les vecteurs r et n O
- l’angle correspondant à une rotation autour de r
1197
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017
1 3 r2
• Lagrangien augmenté : N r → ne dépend pas de r ,
3 cos
sin
• Equation EL : N ( N ' )' r 2 0 0 ( n // r )
cos 2
r 2
N r ( N r ' )' r 2 2 0 r 2 C te
cos cos
Il existe une fonction (x) telle que N y N z ' 0 (équation EL appliquée à N = L + (x)M)
1
Energie cinétique : T ( x 2 y 2 ) d
2
Contrainte (longueur d) : M x 2 y2 d2 0
x 2x
• Equations du mouvement : y 2y g avec 3 fonctions inconnues x(t) , y(t) , (t)
x 2 y 2 d 2 → résolution peu évidente sous cette forme
1200
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.4 Contraintes
Techniques d’optimisation Mai 2017
M x 2 y 2 d 2 0 x d sin 0 x
y d cos
→ passage à une seule fonction inconnue en coordonnées polaires d
→ la contrainte M = r d = 0 est directement prise en compte
Energie potentielle : U gd cos
1 g
Energie cinétique : T d 2 2
2
1 y
Lagrangien : L T U d 2 2 gd cos
2
Equation EL : L L gd sin d 2
1201
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017
Variables canoniques
1202
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017
• L’espace Y est étendu aux fonctions C1 par morceaux sur [a,b] et à valeurs fixées en a et b.
• Une fonction y* minimisant J sur l’espace Y doit vérifier des conditions supplémentaires
aux points où la dérivée est discontinue.
Illustration : y, y * Y
y - dérivée de y* discontinue en c*
- dérivée de y discontinue en c
y*
J ( y*) min J ( y) J ( y*) J ( y)
yY
0 a c* c b x
1203
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017
y y2
y2*
y1
y1*
0 a c* c b x
1204
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017
• On applique des perturbations 1 et 2 de classe C1 aux fonctions y1* et y2* et c au point c*.
y1 = y1* + 1 sur [a,c] avec 1(a) = 0 (si c>0, on prolonge y1* par une droite pour x > c*)
y2 = y2* + 2 sur [c,b] avec 2(b) = 0 (si c<0, on prolonge y2* par une droite pour x < c*)
c = c* + c
y y2*+ 2
0 a c* c*+c b x
1205
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017
y
y2
*+ y1 (c*) y 2 (c*)
c* c* c
L L
a
1 y
1 ' L z x , y1*, y1*'dx Lx, y *, y *'dx
c*
1 1
b
• De même pour J2 :
c*
J 2 y* (2 , c) 2 L y L z ' dx 2 (c*)L z (c * ) L(c * )c
1207
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017
1 (c*)L z (c * ) 2 (c*)L z (c * ) L(c * ) L(c * ) c
• Les valeurs de 1(c*) et 2(c*) ne sont pas indépendantes, car y doit rester continue en c*.
On les exprime en fonction des variations c et qui sont indépendantes.
1 L y L z ' dx 2 L y L z ' dx L z c* L z y'Lc* c
c* c*
J y* (1 , 2 , c, )
a c*
1208
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017
1 L y L z ' dx 2 L y L z ' dx L z c* L z y'Lc* c
c* c*
J y* (1 , 2 , c, )
a c*
• Les termes en 1, 2, c, doivent être chacun nul (perturbations indépendantes).
En c* : L z (c * ) L z (c * )
L z (c * ) y*' (c * ) L(c * ) L z (c * ) y*' (c * ) L(c * )
Les fonctions (Lz) et (Lzy’L) sont continues en c* → conditions de Weierstrass-Erdmann
(1865 , 1877)
y ds
B
y*(x)
L’élément de courbe d’ordonnée y et
y de longueur ds engendre par rotation
A autour de Ox la surface dS.
dS 2yds
0 a b x B B
S 2 yds 2 y( x ) 1 y' ( x ) 2 dx
A A
b
• Formulation :
y
min y( x ) 1 y' ( x ) 2 dx
a
L ( x , y, z ) y 1 z 2
1210
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017
y
L’élément du fil d’ordonnée y et
a b x de longueur ds a pour
0
A B énergie potentielle dEP.
dE P gyds
ds
b
E P gy( x ) 1 y' ( x ) 2 dx
g a
b
• Formulation :
y
min y( x ) 1 y' ( x ) 2 dx
a
L ( x , y, z ) y 1 z 2
1211
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017
y
min y( x ) 1 y' ( x ) 2 dx
a
L ( x , y, z ) y 1 z 2
• L ne dépend pas explicitement de x. L’équation EL admet pour intégrale première L y ' y'L .
yy'2 y2 H2
L y ' y'L H C te
y 1 y' H
2
y H 1 y' 2
y'
1 y' 2 H
• Formulation :
x,y
min y( t ) x ( t ) 2 y ( t ) 2 dt
a
L( t , x , y, x , y ) y x 2 y 2
L x 0 L x K C te yx K x 2 y 2
1213
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017
• 1er cas : K ≠ 0
On retrouve les solutions continues de type chaînette en posant : x t x 1
Les constantes d’intégration sont déterminées par les conditions en a et b.
• 2ème cas : K = 0
On obtient deux types d’extrémales : yx 0 y 0 ou x c
On peut former une solution continue en raccordant ces extrémales au point C (xC=c , yC=0).
Pour être un minimum, cette solution doit vérifier les conditions de coin en C.
Les conditions de coin sont bien vérifiées en raccordant les extrémales y=0 et x=c.
1214
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017
a
Cas symétrique x 0 0 , [Link]
H
Solution possible pour H si assez grand
Si petit → pas de solution chaînette A B
• Si y* est un minimum fort de J, alors en tout point x qui n’est pas un coin, et pour tout réel w
y*(x)
y(x,)
y*(x0)
a x0 x0+ x1 b x
1217
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017
• On calcule cette dérivée F(0+) pour montrer qu’elle est égale à E( x0 , y * ( x0 ), y*' ( x0 ), w )
= fonction de Weierstrass au point x0 pour la fonction y*.
On calcule les dérivées des intégrales sur [x0 , x0+ ] et sur [x0+ , x1] :
x0
Lx , y( x , ), y x ( x , ) Lx , y * ( x0 ) w( x x0 ), w
termes à grouper
en fin de calcul
d 0
x
d
I 0 Lx , y * ( x0 ) w( x x0 ), wdx Lx0 , y * ( x0 ) w , w
d d x0
1219
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017
d 1
x
d
I 1
L x , y( x , ), y x ( x , ) dx
d d x0
x1
Lx , y( x , ), y x ( x , ) Ly x , y( x , ), y x ( x , ) y ( x , )
d
• Dérivée sous l’intégrale :
d
Lz x , y( x , ), y x ( x , ) y x ( x , )
• On obtient
1 x
d
I 1 Lx0 , y( x0 , ), y x ( x0 , ) Ly x , y( x , ), y x ( x , ) y ( x , )dx
d x0
x1
L x , y( x , ), y ( x , )y ( x , )dx
x0
z x x
x1
I 2 Lz x , y( x , ), y x ( x , ) y ( x , ) Lz x , y( x , ), y x ( x , ) y ( x , )dx
d
x1
x0
x0
dx
x1 x
• Sur [x0+ , x1] : y( x , ) y * ( x ) y * ( x0 ) w y * ( x0 )
x1 ( x0 )
Valeur en x1 : y( x1 , ) y * ( x1 ) y ( x1 , ) 0
dérivée /
Valeur en x0+ : y( x0 , ) y * ( x0 ) w y x ( x0 , ) y ( x0 , ) w
y ( x0 , ) w y x ( x0 , )
• En remplaçant dans le terme entre crochet de I2 ,il reste
• On regroupe ensuite l’ensemble des termes surlignés pour obtenir la dérivée de F().
1221
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017
Lx0 , y * ( x0 ) w , w Lx0 , y( x0 , ), y x ( x0 , )
dF
d
Lz x0 , y( x0 , ), y x ( x0 , )w y x ( x0 , )
x1
L y x , y( x , ), y x ( x , )
d
Lz x , y( x , ), y x ( x , ) y ( x , )dx
x0
dx
• Valeur en = 0+ : y( x ,0 ) y * ( x ) y x ( x ,0 ) y*' ( x )
1222
5 Optimisation fonctionnelle Max CERF
5.2 Calcul des variations
5.2.5 Minimum fort
Techniques d’optimisation Mai 2017
5.2.5 Récapitulatif
Conditions de minimum faible (fonctions C1)
Problème historique
1224
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes
4. Optimisation discrète
5. Optimisation fonctionnelle
5.1 Fonctionnelle
5.2 Calcul des variations
5.3 Commande optimale
5.3.1 Système dynamique
5.3.2 Conditions de minimum
5.3.3 Problème linéaire quadratique
5.3.4 Extrémales
5.3.5 Méthodes numériques
5.4 Filtrage
1225
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
Equation d’état
Commandabilité Observabilité
Problème de contrôle
Contraintes
1226
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
• Notations
x(t) Rn : état du système à la date t → de dimension n
u(t) Rm : commande appliquée à la date t → de dimension m
1227
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
1228
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
• La trajectoire du système peut être représentée dans le plan de phase (x1 , x2).
L’ensemble des trajectoires possibles forme le portrait de phase du système.
Les composantes (x1 , x2) sont liées par une équation différentielle.
x 1 f1 ( x1 , x 2 ) dx 2 f 2 ( x1 , x 2 )
x f ( x , x ) donne la pente au point (x1 , x2)
2 2 1 2 dx1 f1 ( x1 , x 2 )
1230
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
Le portrait de phase est formé de coniques de centre O (ellipses si a > 0, hyperboles si a < 0).
1231
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
5.3.1 Stabilité
Point singulier
• La pente d’une trajectoire passant par le point (x1 , x2) est donnée par
dx 2 f 2 ( x1 , x 2 )
dx1 f1 ( x1 , x 2 )
Si (f1 , f2) (0 , 0), la pente est bien définie une seule trajectoire passe en (x1 , x2)
Si (f1 , f2) = (0 , 0), la pente n’est pas définie une infinité de trajectoires passent en (x1 , x2)
Les points singuliers du système sont les points (x1 , x2) tels que f1 ( x 1 , x 2 ) 0
f ( x , x ) 0
2 1 2
x 1 f1 ( x1 , x 2 ) 0 x1 C te
x f ( x , x ) 0
2 x2 C
te
2 1 2
1232
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
5.3.1 Stabilité
Système linéaire
• Un système linéaire de dimension 2 est représenté par une équation différentielle d’ordre 2.
x 1 c11x1 c12 x 2 x1 x
x c x c x x ax b x 0 avec x x
2 21 1 22 2 2
Equation caractéristique : s 2 as b 0 de racines s1 et s2 x ( t ) k1e s1t k 2 e s1t si s1 s 2
s1t s2t
x ( t ) k1e k 2 t e si s1 s 2
• Le seul point singulier est l’origine O. Le comportement au voisinage de O dépend de s 1 et s2.
Im Im Im Im Im Im
s2 s2 s2
s1 s2 Re s1 s2 Re s1 s2 Re s1 Re s1 Re s1 Re
noeud stable noeud instable point d’inflexion foyer stable foyer instable centre
x2 x2 x2 x2 x2 x2
x1 x1 x1 x1 x1 x1
1233
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
5.3.1 Stabilité
Système non linéaire
• Pour un système linéaire, le seul point singulier est l’origine.
Le comportement du système est complètement déterminé par la nature du point singulier.
• Un cycle limite correspond à une courbe fermée isolée dans le plan de phase.
- courbe fermée mouvement périodique
- courbe isolée convergence ou divergence des trajectoires voisines
1234
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
1,5
0,5
0
0 5 10 15 20 25 30 35 40 45 50
-0,5
-1
-1,5
-2
1235
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
x2 x2 x2
x1 x1 x1
1236
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
5.3.1 Stabilité
Points singuliers
• Un système non linéaire x f ( x ) peut admettre plusieurs points singuliers (= d’équilibre).
Les points singuliers xe sont les solutions de f(xe) = 0 .
• Un système peut rester borné au voisinage d’un point d’équilibre sans être stable.
Exemple : cycle limite stable
• La stabilité d’un système non linéaire au voisinage d’un point d’équilibre s’analyse
- soit par linéarisation
- soit par la méthode directe (méthode de Lyapunov)
1237
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
5.3.1 Stabilité
Linéarisation
• On écrit le système linéarisé au voisinage du point d’équilibre xe .
x x e x x e x f ( x e x ) f ( x e ) f x ( x e ) T x o x x Fx o x
0 0
• Si toutes les valeurs propres de F sont à partie réelle < 0, le système est stable.
Si une valeur propre de F est à partie réelle > 0, le système est instable.
Sinon, on ne peut rien dire de la stabilité du système non linéaire.
Méthode directe
• Une fonction de Lyapunov du système x f ( x ) est une fonction V(x) de classe C1
- définie positive : V(x) > 0 si x 0 , V(0)=0
- décroissante : (x ) 0
V
• Les solutions sont superposables ne dépendent que de l’état initial. Elles sont de la forme
x ( t ) F( t ) x ( t ) x ( t ) ( t, t 0 ) x ( t 0 )
• Propriétés
( t , t ) I
( t 0 , t1 ) ( t1 , t 0 ) I
( t 2 , t1 ) ( t1 , t 0 ) ( t 2 , t 0 )
x ( t ) ( t , t 0 ) x ( t 0 ) d
( t , t 0 ) F( t )( t , t 0 )
x ( t ) F( t ) x ( t )
dt
x ( t 1 ) ( t 1 , t ) x ( t )
d
( t1 , t ) ( t1 , t )F( t )
x ( t ) F( t ) x ( t ) (équation adjointe)
dt
1240
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
0 I
T J J avec J
I 0
• F .
Pour établir qu’une matrice de transition est symplectique, on dérive en utilisant
d T J T J
0 T (F T J JF) 0
T J J ( T J) 0
dt
La dérivée est nulle si F J JF 0
T
F22
Si F est partitionnée sous la forme F F11 F12 , on a : F T J JF F21 F21
T T
• F11
F21 F22 F11 F22
T T
F12 F12
F et F21 symétriques
La matrice est symplectique si F vérifie 12
F11 F22
T
1241
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
5.3.1 Exemple 1
Mouvement dans le champ de gravité
• Equations du mouvement d’un point matériel dans le champ de gravité
r v r position r
avec et g( r ) 3 gravité
v g ( r ) v vitesse r
F I et F21 G symétriques
• La matrice F du système linéarisé est F 0 I 12
F11 F22 0
T
G 0
La matrice de transition du système perturbé est symplectique.
r ( t , t ) r avec ( t 0 , t1 ) ( t1 , t 0 ) 1 J( t1 , t 0 ) T J
v 1 0 v
t1 t0
1242
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
- de moyenne nulle : x ( t 0 ) E[ x ( t 0 )] 0
- de covariance P(t0) : P( t 0 ) E[ x ( t 0 ) x ( t 0 ) T ]
P ( t ) ( t , t 0 ) P ( t 0 ) ( t , t 0 ) T
p ( t ) F( t ) p( t )
T
→ équation adjointe à l’équation d’état
p ( t f ) c
x ( t f )
• L’adjoint p(t) donne la sensibilité de [x(tf)] par rapport à l’état x(t) : p( t )
→ appelé aussi fonction d’influence x ( t )
Il s’obtient par intégration à rebours à partir de la valeur finale p(tf) = c.
1244
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
• Matrice de transition : x ( t ) ( t , t 0 ) x ( t 0 ) G ( t ) 1 y( t ) ( t , t 0 )G ( t 0 ) 1 y( t 0 )
associée à y
y( t ) ( t , t 0 ) y( t 0 ) avec ( t , t 0 ) G ( t )( t , t 0 )G ( t 0 ) 1
• Adjoint q associé à y : q( t ) ( t f , t ) T d G ( t ) T ( t f , t ) T c
def
1245
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
( t f ,t )x( t ) tt f ( t f ,t )G( t )x( t )dt
0
en intégrant de t0 à tf
t0 tf
x( t f ) ( t f ,t0 )x( t0 ) ( t f ,t )G( t )x( t )dt
t0
car (tf,tf) = I
1246
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
x ( t ) F( t ) x ( t ) G ( t )u ( t ) dx ( t ) G ( t )u ( t )dt
1247
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
tf
Condition de commandabilité
• Une condition nécessaire et suffisante de commandabilité est que C(t0,tf) soit inversible.
1248
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
c C( t0 ,t f )1 x( t f ) ( t f ,t0 )x( t0 )
• Si C(t0,tf ) n’est pas inversible, il existe cRn non nul tel que cTC(t0,tf )c = 0 .
tf tf
2
c ( t f ,t )G( t )G( t ) ( t f ,t ) c dt
T T T
c ( t f ,t )G( t ) dt 0 c T ( t f ,t )G( t ) 0 , t pp
T
t0 t0
Pour toute commande u(t),t[t0,tf], l’état initial et final vérifient : c x( t f ) ( t f ,t0 )x( t0 ) 0
T
L’état final ne peut pas être quelconque. c
1249
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
y ( t ) H ( t ) x ( t ) H ( t ) ( t , t 0 ) x ( t 0 ) ( t, t H( t ) T y( t )dt M( t 0 , t f ) x ( t 0 )
T
0)
t0
Condition d’observabilité
• Une condition nécessaire et suffisante d’observabilité est que M(t0,tf) soit inversible.
1250
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
Le problème est de trouver l’état initial x(t0) permettant de respecter les conditions à t0 et tf.
• La méthode « de transport » permet de résoudre le problème aux deux bouts de manière directe.
Le principe est de « transporter » les conditions initiales Ax(t0)=a jusqu’à l’instant final,
puis de résoudre un système linéaire à l’instant final pour obtenir x(tf).
On peut inversement transporter les conditions finales Bx(tf)=b jusqu’à l’instant initial,
puis résoudre un système linéaire à l’instant initial pour obtenir x(t0).
1251
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
y yy y 0 yz z 0 g y
La solution générale est de la forme :
z zy y 0 zz z 0 g z
• Les vecteurs y(t) et z(t) sont liées par une relation linéaire.
On cherche à déterminer la matrice S(t) et le vecteur s(t) de t0 à tf.
1253
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
1
A A C C2
en notant F 1 → matrice nn connue à partir de A, B , F(t)
B B def C 3 C4
• Pour vérifier cette égalité à toute date indépendamment de z(t), on choisit S(t) et s(t) tels que
S SC 3S SC 4 C1S C 2
→ équations différentielles imposées à S et s
s (C1 SC 3 )s (A SB)g
1254
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
y( t ) Ax( t 0 ) a
y ( t ) S( t )z( t ) s( t ) avec y( t ) Ax( t ) 0
z( t ) Bx ( t ) z( t f ) Bx ( t f ) b
1255
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
5.3.1 Exemple 2
Problème aux deux bouts
x 1 x 2 x ( t ) a → condition initiale
• Système à résoudre : x u avec 1 0
2 x 2 ( t f ) b → condition finale
1256
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
5.3.1 Coût
Fonctionnelle de coût
• Le coût (ou critère) à minimiser est une fonctionnelle est de la forme
tf tf
J(u ) Lx(t), u(t), t dt x(t
t0
f ), t f ou en plus compact J(u ) L(x, u, t)dt (x , t
t0
f f )
On cherche la commande u(t) et la trajectoire associée x(t) qui minimisent le coût J(u).
5.3.1 Coût
Passage de la forme de Mayer à la forme de Lagrange
• On transforme le coût final en coût intégral.
tf
d
x ( t f ), t f x ( t 0 ), t 0 x (t ), t dt
dt
t0
tf
x ( t 0 ), t 0 x ( t ), t T x ( t )
x (t ), t dt
t
x t
0
tf
x ( t 0 ), t 0 x ( t ), t T f x ( t ), u ( t ), t
x (t ), t dt
t
x t
0
tf
0 Lx ( t ), u ( t ), t dt
t0
en posant Lx ( t ), u ( t ), t x (t ), t T f x (t ), u (t ), t x (t ), t
def x t
1258
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
5.3.1 Coût
Passage de la forme de Lagrange à la forme de Mayer
• On définit une variable d’état supplémentaire vérifiant l’équation différentielle
Lx ( t ), u ( t ), t avec ( t 0 ) 0
en posant ( t f ) ( t f )
def
Cette formulation est plus générale que celle du calcul des variations.
y
min J ( y) L( x, y, y' )dx
a
On peut considérer qu’il s’agit d’un problème de contrôle particulier avec
- la variable x → au lieu de t
- l’état y(x) → au lieu de x(t)
- la commande y’(x) → au lieu de u(t)
• Le problème de variations suppose que la courbe solution est une fonction simple y(x).
Le problème de contrôle autorise des trajectoires quelconques paramétrées par le temps.
Il permet de traiter diverses formes de systèmes dynamiques contrôlés
et d’appliquer des contraintes de façon beaucoup plus simple.
1260
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
ds
• Coût : J t f t 0 dt avec dt
v 2gy( x )
t0
xB
1 y' ( x )
2
min J ( y)
y
xA
y( x )
dx
v
y g B
Formulation en problème de contrôle
• Coût : J t f t 0 dt
t0
x ( t ) x A , y( t 0 ) y A
avec 0
x ( t f ) x B , y( t f ) y B
1261
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.1 Système dynamique
Techniques d’optimisation Mai 2017
5.3.1 Contraintes
Extensions
• Le problème de contrôle le plus simple est à temps final fixé et état final libre.
tf
min J (u )
u L(x, u, t)dt (x , t
t0
f f ) avec x f ( x, u, t ) , tf fixé , x(tf) libre
x f1 ( x, u, t ) si t t1
• La dynamique peut subir des discontinuités
x f 2 ( x, u, t ) si t t1
• L’état peut subir des discontinuités x ( t1 ) x ( t1 ) x
Méthode variationnelle
Adjoint
1263
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
Méthode variationnelle
• La méthode variationnelle consiste à évaluer la variation J due à u(t) , tt0 , tf]
puis à appliquer la condition de minimum : J(u) ≥ 0 , u
t0
H(x, u, p, t) p(t)
tf
T
x ( t ) dt x ( t f ), t f avec H( x, u, p, t ) L( x, u, t ) p T f ( x, u, t )
def
t0
H(x, u, p, t) p (t)
tf
x ( t ) dt p( t ) T x ( t ) t 0 x ( t f ), t f
tf
T
t0
en intégrant par parties le terme p T x
tf tf
(H x p ) xdt
T
H Tu udt p( t 0 ) T x ( t 0 ) x ( t f ) p( t f )T x ( t f )
t0 t0
• Ces conditions sur l’adjoint éliminent les termes en x(t) et x(tf) dans l’expression de Ja .
Le terme en x(t0) est également nul, car l’état final x(t0) est fixé.
tf tf
J a (u ) (H x p ) xdt
T
H Tu udt p( t 0 ) T x ( t 0 ) x ( t f ) p( t f )T x ( t f )
t0 t0
0 0 0
• On obtient l’expression de la variation première Ja en fonction des variations u(t) , tt0 , tf].
tf
J a (u )
t0
H Tu udt
T T
H x x 1 x H xx H ux x 1
Tx x x T xx x
H u
u 2 u H xu H uu u 2
Les variations d’état x(t) dépendent des variations de commande u(t) : x f x x f u u
T T
•
tf
1 x T H xx H ux x
1 T
• Ordre 2 : J a (u )
2
u H H u dt x xx x 0 , u H uu 0 , t
2 xu uu 2
t0
La condition nécessaire Huu 0 se démontre en analysant les extrémales voisines (§5.3.4)
avec l’hypothèse de variations faibles u .
1269
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
u
u * ( t ) si t 0 t t1
u ( t ) v si t1 t t1 v
u * ( t ) si t1 t tf
u*
La valeur de v est quelconque.
La valeur de t1t0 , tf] est quelconque. u*
La valeur de > 0 est supposée petite.
t0 t1 t1 tf t
1270
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
t t1
x ( t )
x * (t) si t 0
x * ( t ) x si t1 t t f
t1
On obtient en t1 : x ( t1 ) x ( t1 ) x * ( t1 ) f (x , v , t) f (x*, u*, t)dt
t1
1271
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
1272
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
J c T x ( t f )
c T ( t f , t1 )f ( x * , v , t ) f ( x*, u*, t )t1 en utilisant l’expression de x(tf)
p( t1 ) T f ( x * , v , t ) f ( x*, u*, t )t1 en utilisant la définition de l’adjoint
H( x * , v , p, t ) H( x*, u*, p, t )t en utilisant la définition de l’hamiltonien
1
H[ x * ( t1 ), u * ( t1 ), p( t1 ), t1 ] H[ x * ( t1 ), v , p( t1 ), t1 ] , t1 [ t 0 , t f ] , v
avec l’hamiltonien H( x, u, p, t ) p( t ) T f ( x, u, t )
p( t f ) x [ x ( t f )]
et l’adjoint p f p H obtenu par intégration à rebours à partir de tf
x x
• Remarques
- La définition de H = pTf conduit à une minimisation de l’hamiltonien.
Le principe du « maximum » de Pontryagin considère un signe opposé.
- Le minimum est global et considère des variations fortes → principe dit du maximum fort.
Le résultat étend celui de la méthode variationnelle restreint à des variations faibles.
f p
Etat : y x y f q p q Lx 0 et q( t f ) x 1
Adjoint :
L
L’adjoint supplémentaire est constant égal à 1 : (t) = 1
T
L’hamiltonien du problème sous forme Mayer est : H p f p T f T L
L
• On retrouve la définition de l’hamiltonien H = L + pTf pour un problème de Bolza.
p L u
Variables canoniques associées : H L L u H( t , x, u, p) L( t , x, u ) pu
(en changeant les signes) u
• Les conditions aux limites sont données pour l’état initial (à t0) et l’adjoint final (à tf).
x ( t 0 ) x 0
p( t ) ( t ) → problème aux 2 bouts
f x f
Convention de signe
• Si l’hamiltonien est défini par H = +L + pTf , la commande optimale u minimise H.
Si l’hamiltonien est défini par H = L + pTf , la commande optimale u maximise H.
1280
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
v xf v v 2 2gz z
R xf
g zf zf f
vf
a
• Le problème est sous forme de Mayer (coût final).
min J R ( x f , z f , v xf , v zf )
g
x v x
avec z v z
g
v a cos
v x a sin g
z tf , x f R x
p vz
• Commande : min H tan
p vx
1281
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
p x ( t f ) x A 1
v xf
p z ( t f ) z B
v 2zf 2gz f
• Transversalité : v zf v 2zf 2gz f
p vx ( t f ) vx C
g
p ( t ) v v zf
D xf 1 D BC
vz f vz
g
v 2zf 2gz f 1282
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
p vx C (t f t) p vz v xf
p B[C ( t t )] tan B
vz f p vx v 2zf 2gz f
Ce résultat en Terre plate - gravité constante reste valable pour une loi d’accélération a(t) fixée.
0,8
a a 0,6
sin 3 2 sin 2 0 0,4
g g
0,2
0
L’angle est compris entre 0 et 90 deg. -0,2
0 10 20 30 40 50 60 70 80 90
n=1
-0,4
n=2
Tracé de la fonction -0,6
n=3
a -0,8 n=0.8
f () sin 3 2n sin 2 n avec n -1
g
1284
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
x ( t ) F( t ) x ( t ) G ( t )u ( t ) p ( t ) F( t ) T p( t )
x ( t f )
x ( t f ) c T x ( t f ) p( t f ) c
x ( t f )
• Dans le cas non linéaire, l’adjoint a été défini à partir de la variation première du coût.
H L f
x f ( x, u, t ) p p
x x x
x ( t f )
tf
J(u )
t0
L( x, u, t )dt [ x ( t f ), t f ] p( t f )
x ( t f )
• Ces formules avec l’hamiltonien se retrouvent en partant de la définition dans le cas linéaire.
Le passage du cas linéaire au cas non linéaire est détaillé pages suivantes.
1285
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
min J (u ) [ y( t f ), t f ] avec y g( y, u, t )
u
y g Ty y g Tu u q g y q
J [ y( t f ), t f ]T y( t f ) q( t f ) y [ y( t f ), t f ]
tf
y( t f ) ( t f , t 0 )y( t 0 ) ( t f , t )g Tu ( t )u ( t )dt
t0
q( t ) ( t f , t ) T q( t f )
• On applique au système linéarisé la formule donnant la variation du coût dans le cas linéaire.
tf
Système linéaire : x ( t f ) p( t 0 ) T x ( t 0 ) p( t )
T
G ( t )u ( t )dt
(avec , x, u, p page précédente) t0
tf
Système linéarisé :
(avec , x, u, q)
J [ y( t f )] q( t 0 ) T y( t 0 )
t0
q( t ) T g Tu ( t )u ( t )dt
1287
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
• Le problème est mis sous forme de Mayer en ajoutant une variable d’état et son adjoint .
y x x
L( x, u, t ) avec ( t 0 ) 0 → état y f ( x, u, t )
def L( x , u , t )
→ adjoint q p → associé à x
def → associé à
• En posant : [ y( t f ), t f ] ( t f ) [ x ( t f ), t f ] et g( y, u, t ) f ( x, u, t )
def def L( x , u , t )
1288
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
g f L
g( y, u, t ) f ( x, u, t ) avec y x g y g x f x Lx f x L x et g u f u L u
L( x , u , t ) 0 0
(t )
p( t f ) x ( t f ) x ( t f ) p( t f ) x ( t f )
( t f ) f 1 ( t ) 1 Cte
1289
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
T tf T
x ( t 0 )
0
p f L T u ( t )dt
p( t )
u u avec ( t 0 ) 1 et ( t 0 ) 0 fixé
( t 0 ) ( t 0 )
t0
tf
J p( t 0 ) T x ( t 0 )
H Tu u ( t )dt
t0
J
• On retrouve la formule établie par la méthode variationnelle. p ( t 0 )
x ( t 0 )
p(t0) et Hu(t) donnent les sensibilités aux variations de x(t0) et de u(t) : J
H u ( t )
u ( t )
1290
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
min J (u ) [ x ( t f ), t f ] avec x f ( x, u, t ) H( x, u, p, t ) p T f ( x, u, t ) p T x
u
g g i
• On applique le changement de vecteur d’état : y g( x ) y Gx avec G
→ changement d’adjoint associé : p → q x x j
• L’hamiltonien est une grandeur intrinsèque qui ne dépend pas du système de coordonnées.
H ≡ H’ est une condition suffisante pour obtenir la même solution en variables (x, p) ou (y , q).
5.3.2 Exemple 5
Changement de coordonnées polaires cartésiennes
y
• Coordonnées polaires : r, → adjoint pr , p
Coordonnées cartésiennes : x , y → adjoint px , py
x
cos r sin
• Matrice jacobienne de g : G (r, )
sin r cos
px p 1 r cos sin p r
G (r, ) T r
p r r sin cos p
• Changement d’adjoint :
py
1
p
x p r cos p sin
r
1
p x p r sin p cos
r
1292
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
dH H dx H du H dp H ( x, u, p, t ) H x H u H p H
( x, u, p, t ) H
dt x dt u dt p dt t x u p t
H H
x , p
p x dH H
H t
min H( x, u, p, t ) 0 dt
u u
dH
0 H C te
dt
L’hamiltonien est constant le long d’une trajectoire optimale (intégrale première du système).
1293
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
tf
xq
• Problème de contrôle équivalent :
u
min S L( x, u )dt sous x u
t0
avec def
u q
def
1294
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
min S L( x, u )dt sous x u
u
t0
avec L( x, u ) T( x, u ) V( x )
H L
• Adjoint : p
x x d L L
avec x q , u q
L dt q q
• Commande : min H p 0
u u équations de Lagrange (système conservatif)
T
• L’énergie cinétique est une forme quadratique par rapport à la vitesse q q T 2T
q
L T
H L uTp L uT (T V ) u T (T V) 2T H (T V )
u u
L’hamiltonien « de contrôle » est identique au signe près à l’hamiltonien « mécanique ».
(= énergie mécanique)
1295
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
• Le principe des travaux virtuels s’exprime par une équation de stationnarité sur q et q .
x q
On peut appliquer la technique de l’adjoint en définissant : def
q
u def
1296
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
t0
• On ajoute la contrainte dynamique avec un adjoint p.
tf
T x x Tu u Q x p (u x dt 0
T T T T
)
t0
T
tf
• On exprime ensuite la variation du coût augmenté en fonction des variations u(t), x(t) et tf.
1298
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
La variation totale dx(tf) de l’état final est due directement à x(tf) et indirectement à tf.
x ( t f t f ) x ( t f ) x ( t f ) x ( t f )t f dx ( t f ) x ( t f ) x ( t f )t f
tf
J a (H Tx x H Tu u p T x )dt H p T x tf t f p ( t f )t f T x ( t f ) p( t f ) T x ( t f ) x ( t f )t f
t0
1299
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
tf tf
J a H Tu udt (H x p ) T xdt x pTtf x ( t f ) H p T x Tx x t tf t f
t0 t0
• Pour éliminer les termes en x(t) et x(tf), on impose à l’adjoint p(t) de vérifier 2 conditions.
p Hx → équation adjointe (dimension n)
p( t f ) x ( t f ) → condition finale (dimension n) dite de transversalité
tf
H u 0 , t
• Les conditions nécessaires de minimum sont : H( t ) ( t ) → condition de transversalité
f t f
à trouver tf = ?
x(t 0 ) x 0 x H p x(t f ) ? libre
p( t 0 ) ? p H x p( t f ) x ( t f )
H( t f ) t ( t f )
H( x, u, p, t ) 1 p T f ( x, u, t )
• Hamiltonien : H ( t ) ( t ) 0
f t f
• Système autonome : H( t ) 0 p T f 1
min J t f avec x ( t ) f x ( t ), u ( t ), t L 0 , t f
u,t f
H( x, u, p, t ) p T f ( x, u, t )
• Hamiltonien : H( t ) ( t ) 1
f t f
• Système autonome : H( t ) 1 p T f 1
1302
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
x w cos u ( x, y)
Equations du mouvement :
y w sin v( x, y)
O x
Le module w de la vitesse relative est constant.
La commande est la direction de la vitesse relative
1303
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
1304
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
sin
• En dérivant par rapport à t : pW cos
qW sin pW pW
q W qW cos
W
u x cos v x sin cos sin
W
v x sin 2 (u x v y ) sin cos u y cos 2
u y cos v y sin sin W
cos
W
1306
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
w tan tan f 1 1 1 1
x tan ln tan ln tan f
2c cos f cos f cos cos cos f
w 1 1
y
c cos f cos
0
-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6
-1
-2
Courant
-3
-4
-5
1308
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
• Le calcul de la variation première est analogue en ajoutant les variations en t0 et x(t0).
Les termes en t0 et x(t0) sont identiques aux termes en tf et x(tf) au signe de p et H près.
tf tf
J a H Tu udt (H x p ) T xdt x pTtf x ( t f ) t H t t f
f
t0 t0
x pTt0 x ( t 0 ) t H t t 0
0
J a x pTtf x ( t f ) t H t t f x pTt0 x ( t 0 ) t H t t 0
f 0
• Les fonctions p et H représentent les sensibilités du coût aux conditions initiales et finales.
J J
0p ( t ) fp ( t )
x ( t 0 ) x ( t f )
J et J
H ( t 0 ) H ( t f )
t 0 t f
p(t0), p(tf), H(t0), H(tf) sont appelés fonctions d’influence aux conditions initiales et finales.
tf
• Hu est appelée réponse impulsionnelle : J H Tu udt
= variation de J due à une impulsion u(t) t0
1310
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
Méthode variationnelle
• La méthode variationnelle doit tenir compte de la variation des contraintes.
Une variation de commande u est admissible si la variation des contraintes est nulle.
1311
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
• Les formules pour les contraintes sont analogues à celles pour le coût en remplaçant
- le coût intégral L(x,u,t) par 0
- le coût final [x(tf),tf] par la contrainte [x(tf),tf]
t0 t0
1312
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
1 1 H1 H1u H qu
Rq Rq G Rq G u R mq
q q Hq
tf
Variation des contraintes :
G Tu udt
t0
tf
J a J j j J H
T G Tu udt
T T
Variation du coût augmenté : 0u
j t0
1313
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
udt H G u H 0 u G u dt
2
J a H T0 u
T
G Tu 0u
T
H 0 u G u dt 0
t0 t0 t0
tf si Q inversible
et g G Tu H 0 u dt vecteur q 1
t0
On peut alors trouver les multiplicateurs Rq tels que la variation u (H 0 u G u ) , 0
- est admissible → = 0
tf
2
- fait décroître le coût → J a J T J H 0 u G u dt 0
t0
• On peut reformuler les conditions de minimum avec l’hamiltonien H et l’adjoint p définis par
H H0
def
jH j H H 0 T G H u 0 , t
j
L p T0 f j p Tj f identique au cas sans contraintes
j
p H
p p0
def
j
jp j Lp fT
p( t ) x( t ) ( t )
f x f x f
par sommation sur p0, pj 1315
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
tf x(t) u(t) x(t) x(tf) tf x(tf) tf x(tf) tf
tf
J a (H Tx x H Tu u p T x )dt H p T x tf t f p ( t f )t f T x ( t f ) p( t f ) T x ( t f ) x ( t f )t f
t0
1316
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
tf
J a (H Tx x H Tu u p T x )dt H p T x tf t f p ( t f ) t f T
x ( t f ) p( t f ) T x ( t f ) x ( t f )t f
t0
H u (H
tf
J a T
u x p ) T x dt x x pTtf x ( t f ) H t t ( x x p) T x t t f
f
t0
5.3.2 Résumé 1
Problème à temps final libre avec contraintes finales
tf
min J Lx ( t ), u ( t ), t dt x ( t f ), t f avec x ( t ) f x ( t ), u ( t ), t , x R n , u R m
u,t f
x ( t f ), t f 0
t0
p H
p( t ) x( t ) ( t ) → n équations à tf pour n inconnues p(t0)
f x f x f
5.3.2 Résumé 2
Problème avec contraintes initiales et finales
tf
min J Lx ( t ), u ( t ), t dt x ( t 0 ), t 0 , x ( t f ), t f avec x ( t ) f x ( t ), u ( t ), t , x R n , u R m
u,t 0 ,t f
x ( t 0 ), t 0 , x ( t f ), t f 0
t0
• Les conditions initiales et finales sont à optimiser et sont soumises à des contraintes.
→ q multiplicateurs associés aux q contraintes
→ conditions de transversalité supplémentaires au point initial
p Hx avec H( x, u, p, t ) L( x, u, t ) p T f ( x, u, t )
p ( t 0 ) x ( t 0 ) x ( t 0 ) → n équations à t0 pour n inconnues x(t0)
p( t f ) x ( t f ) x ( t f ) → n équations à tf pour n inconnues x(tf)
H u 0 , t → m équations à t pour m inconnues u(t) min H( x, u, p, t )
H ( t 0 ) t ( t 0 ) t ( t 0 )
u
→ 1 équation à t0 pour 1 inconnue t0
H( t f ) t ( t f ) t ( t f ) → 1 équation à tf pour 1 inconnue tf
x ( t 0 ), t 0 , x ( t f ), t f 0 → q équations à t0 , tf pour q inconnues
1319
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
a 1 1 a 1 1
gt f 0 tan 0 tan f
c cos 0 cos f
g cos 0 cos f
1323
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
• La première équation permet d’exprimer 0 en fonction de f (équation du 2nd degré en cos 0).
Il reste une équation avec f comme inconnue (résolution par dichotomie ou Newton).
On obtient les valeurs de 0 , f .
1
tan v
cos 0
0
• Le temps final est donné par : t f ln c (tan 0 tan f )
tan 1 a
f
cos f
Le V fourni vaut : V at f
1324
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
150 a/g=2
a/g=3
100 a/g=5
50
Distance x (km)
0
0 500 1000 1500 1325
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
Zc = 200 km
10500
Zc = 300 km
Zc = 400 km
10000
9500
9000
a/g
8500
1,0 1,5 2,0 2,5 3,0 3,5 4,0 4,5 5,0 5,5 6,0 6,5
1326
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
u cos
Commande :
sin
r v a
Equation d’état :
v au
O x
r ( t f ) 0
• Conditions finales : rendez vous en O
v( t f ) 0
r v
tf
r( t f ) 0
min
J 1 dt
u,t f avec
v au
et
v( t f ) 0
t0 1327
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
• Hamiltonien : H 1 p r .v ap v .u O x
p r H r 0 p B
• Adjoint : r ( A , B vecteurs constants)
v
p H p p B( t t ) A
v r v f
p v A B( t f t )
• Commande : min
H u ( u unitaire = direction de poussée)
u p v A B( t f t )
uy A y B y (t f t)
tan
ux A x Bx (t f t)
1328
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
A y B y (t f t)
tan tan( ) tan( f ) e( t f t )
A x Bx (t f t)
avec des constantes , e , f , t f à définir
A x 1 tan( f ) tan
tan( f ) tan e( t f t ) A tan( f ) tan
tan y
1 tan( f ) tan e( t f t ) tan B e tan
B x e
y
d
tan( ) tan( f ) e( t f t ) dt
e cos 2 ( )
1329
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
u v
x ' , y '
e cos 2 ( ) e cos 2 ( )
a cos a sin
u ' , v '
e cos 2 ( ) e cos 2 ( )
1330
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
f x f u tan( ) f v
1 1 1 tan( f ) tan( )
f y f u f v tan( )
2 2 2 cos( f )
1 1
f u ln tan( f ) ln tan( )
cos( f ) cos( )
f
1
1
v cos( f ) cos( )
1331
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
1332
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
r = module position
w = module vitesse r
= angle de visée
= angle vitesse / ligne de visée
O x
w2 u 2 v2 a w2 f u2 f v2
x (f x cos f y sin )
ar a x 2 y2 e2 ar f x2 f y2
a
y (f x sin f y cos )
xu yv e 2
a 2 f x f u f yf v
cos avec cos 3
a
rw u (f u cos f v sin ) e rw
e
xv yu v a a 2 f x f v f yf u
sin (f u sin f v cos ) sin 3
rw
e e rw
w2 f u2 f v2
ar f x2 f y2 solution (f , ).
atan2 ( f x f v f y f u , f x f u f y f v )
1334
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
Système en w2/ar et
a f u2 f v2 tan( ) tan( f )
Solution (f , ) e , tf t
w e
s’obtient à partir de la condition de transversalité H = 0
1335
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
4 0,2
3 0
-1 -0,8 -0,6 -0,4 -0,2 0
2 -0,2
u
1 -0,4
0 -0,6
-1 0 1 2 3 4 5 6 7 8 9 10 x
11
-1 -0,8
1336
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
0,8
0.2
2ar 0.4
0,6
a(tf-t)/v=2
2
v 0.6
0,4
0.8
0,2
1.00
a(tf-t)/v=3 (deg)
0 30 60 90 120 150 180
-0,2
0.8
0.6
-0,4
2
v
0.4
-0,6
2ar a(tf-t)/v=4
0.2
-0,8
0.0-1
1337
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
Méthode variationnelle
• On applique la même approche que pour des contraintes finales à temps final fixé ou optimisé.
1338
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
L(x, u, t) p
tf
Ja T
(f x ) dt x ( t f ), t f T x ( t1 ), t1
t0
1339
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
J a H(t
1 ) H ( t 1 ) t ( t 1 ) t p(t
1
1 ) p ( t
1 ) (
x 1t )
T
x ( t1 )t1
p( t ( t ) x ( t )
T
1 ) p( t 1 ) x 1 1
1341
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
p( t1 ) p( t1 ) x ( t1 )
H( t1 ) H( t1 ) t ( t1 )
1342
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
x ( t ) f x ( t ), u ( t ), t si t t1
• On suppose que la dynamique est discontinue en t1 :
x ( t ) f x ( t ), u ( t ), t si t t1
• La date t1 peut être fixée ou libre ou soumise à des contraintes ponctuelles x ( t1 ), t1 0
→ q contraintes ponctuelles
Méthode variationnelle
• La variation première se calcule de la même façon que pour des contraintes ponctuelles.
H ( x, u, p, t ) L( x, u, t ) p T f ( x, u, t ) si t t1
• L’hamiltonien est défini par
H ( x, u, p, t ) L( x, u, t ) p T f ( x, u, t ) si t t1
1343
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
p( t ( t ) x ( t )
T
1 ) p( t 1 ) x 1 1
Méthode variationnelle
• La variation première se calcule de la même façon que pour des contraintes ponctuelles.
• Il faut considérer des variations x(t1) différentes en t1 et en t1+ → x ( t1 ) , x ( t1 )
L(x, u, t) p
tf
Ja T
(f x ) dt x ( t1 ), x ( t1 ), t1 , x ( t f ), t f T x ( t1 ), x ( t1 ), t1
t0
H
Ja ( x, u, p, t ) p T x dt p( t 0 ) T x ( t 0 ) p( t1 ) T x ( t1 ) x ( t1 ), x ( t1 ), t1 , x ( t f ), t f
t0
H
tf
( x, u, p, t ) p T x dt p( t1 ) T x ( t1 ) p( t f ) T x ( t f ) T x ( t1 ), x ( t1 ), t1
t1
1346
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
J a [H p T x ]t t1 p ( t1 ) T x ( t1 )t1 p( t1 ) T x ( t1 ) x ( t1 )t1
1
t ( t1 ) T t1 T t ( t1 ) T t1
J a H ( t1 ) H ( t1 ) t ( t1 ) t ( t1 ) t1 p( t1 ) x ( t1 ) x ( t1 ) x ( t1 ) T
1347
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
x ( t1 ), x ( t1 ), t1 0 → q équations à t1 pour q inconnues
5.3.2 Résumé 3
Système hybride avec discontinuités et contraintes ponctuelles
t1
tf
min J L x ( t ), u ( t ), t dt L x ( t ), u ( t ), t dt x ( t1 ), x ( t1 ), t1 , x ( t f ), t f
u , t1
t0 t1
x ( t ) f x ( t ), u ( t ), t si t t1
avec
et
x ( t1 ), x ( t1 ), t1 0 (q contraintes)
x ( t ) f x ( t ), u ( t ), t si t t1
x ( t1 ), x ( t1 ), t1 0 → q multiplicateurs 1349
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
Méthode variationnelle tf
[ x ( t ), u ( t ), t ] 0
min H[ x ( t ), u ( t ), p( t ), t ] sous e [ x ( t ), u ( t ), t ] 0 , t [ t 0 , t f ]
u i
1350
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
e ( x, u, t ) 0 → qe multiplicateurs e
H a ( x, u, t ) 0
• Les conditions KKT sont : 0 avec i
u 0 si 0 → qi multiplicateurs i
i 0 si i 0
i i 1351
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
5.3.2 Résumé 4
Système avec contraintes courantes
tf
min J Lx(t), u(t), t dt x(t f ), t f avec x ( t ) f x ( t ), u ( t ), t , x R n , u R m
u
t0
• Une contrainte égalité réduit à chaque date le nombre de composantes libres de l’état.
• Si la dérivée (1) est explicite en u, la contrainte sur (1) devient une contrainte courante.
On peut appliquer la méthode de Lagrange pour obtenir la commande à la date t.
• On suppose que la dérivée kème notée (k) est la première dérivée explicite en u.
La contrainte d’état est dite d’ordre k.
( k ) ( x, u, t ) 0 , t → contrainte courante
( t ) 0
(1)0
( x, t ) 0 , t ( 2)( t 0 ) 0 → k contraintes initiales ou finales
( t 0 ) 0
( k 1) ( t 0 ) 0
• La contrainte courante (k) 0 est prise en compte dans min H pour déterminer u sur [t0 , tf].
Les k contraintes initiales (ou finales) sur (j<k) ajoutent des conditions de transversalité.
1355
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
• Cas d’une contrainte inégalité active sur [t1 , t2], inactive avant t1 et après t2.
On dérive la contrainte jusqu’à faire apparaître explicitement u.
Si la contrainte est d’ordre k, on la remplace sur [t1 , t2] par les contraintes équivalentes
( k ) ( x, u, t ) 0 , t [ t1 , t 2 ] → contrainte courante
( t ) 0
(1)1
( x, t ) 0 , t [ t1 , t 2 ] ( 2)( t1 ) 0 → k contraintes ponctuelles
( t1 ) 0
( k 1) ( t1 ) 0
• La contrainte courante (k) 0 est prise en compte dans min H pour déterminer u sur [t1 , t2].
Les contraintes ponctuelles appliquées en t1 ou t2 ajoutent des conditions de transversalité.
L’adjoint et la commande subissent des discontinuités aux jonctions en t1 et t2 .
1356
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
r2
r1
rf
a
r0 O
1357
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
Conditions de minimum
• Hamiltonien : H 1 p.u
u 1
• Commande : H sous
min
r) a r 0
2 2
u (
1358
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
( r ) 0 ( r ) 0 → à l’ordre 1
• Arc saturé (contrainte active) :
( r1 ) 0 → condition initiale
La commande vérifie à l’ordre 1 : ( r ) 2 r .u 0 ur
Un arc saturé suit le cercle (O , a) → La vitesse (= commande u ) est normale à r .
1359
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
• La commande est continue à la jonction. u r1
L’arc non saturé est tangent au cercle au point de jonction.
O a
Remarque : si la vitesse est supérieure sur le cercle, on obtient
v
u .u → angle de réfraction à la jonction
v 1360
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
• Une contrainte intégrale (ou isopérimétrique) est de la forme gx(t), u(t), t dt c fixé
t0
x n 1 ( t ) gx ( t ), u ( t ), t
• On ajoute une variable d’état notée xn+1 : x n 1 ( t 0 ) 0
avec son adjoint noté pn+1 x n 1 ( t f ) c → contrainte finale
5.3.2 Coin
Discontinuité de commande
• Un coin ou arête (« corner ») est un point anguleux sur la trajectoire.
= discontinuité de la dérivée de l’état
due à une discontinuité de commande → x f ( x, u, t )
• Une discontinuité de commande peut également provenir d’un saut du minimum global de H.
u u+ u u u+ u u u+ u
1362
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
u
tf
min J 4
( t ) u ( t ) a ( t ) 2 dt avec x ( t ) u ( t ) et a(t) fonction donnée
u
t0
• Hamiltonien : H( x, u, p, t ) u 4 (u a ) 2 pu
• Adjoint : p H x 0 p C te
• Commande : min H( x, u, p, t ) 4u 3 2u 2a p 0
→ 3 racines u1 , u2 , u3
u
(2 minima , 1 maximum)
Selon l’évolution de la fonction a(t), le minimum global de H peut sauter de u 1 à u3.
u1 u2 u3 u u1 u2 u3 u u1 u2 u3 u
1363
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
t0
min J t f dt avec x F( t ) x G ( t )u , x R n , u R
u,t f
x(t f ) 0 u min u u max
• Hamiltonien : H 1 p T F( t ) x G ( t )u
u u min si p T G 0
• Commande : min H avec u min u u max
u u max si p G 0
T
u
Si 0 sur un intervalle, la commande n’est pas déterminée par min H → arc singulier
• Transversalité : H( t f ) 0 → détermine tf
1364
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
•
p r H r 0 p b
Adjoint : p H p pr a b( t t ) avec a , b constants
v v r v f
u 1 si p v 0
• Commande : min H → commande bang-bang
1 u 1 u 1 si p v 0
Le sens de la commande dépend du signe de pv = fonction de commutation du système.
La fonction de commutation est linéaire : p v a b( t f t ) → 1 commutation au plus
1365
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
• L’arc initial et l’arc final sont représentés par des paraboles dans le plan (r , v) = plan de phase.
Si uf = 1, l’arc final est dans le quadrant (r 0 , v 0) sur la demi-parabole : v2 = 2r
Si uf = +1, l’arc final est dans le quadrant (r 0 , v 0) sur la demi-parabole + : v2 = +2r
La courbe = + est la courbe de commutation d’équation : v2sgn(v) = 2r
10
u = 1
0
-50 -40 -30 -20 -10 0 10 20 30 40 50
r
-5
u = +1 -10 +
-15 1367
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
vc v0
• Le temps passé sur l’arc initial est tc t0 : v c v 0 u 0 ( t c t 0 ) t c t 0
u0
vf vc vc
Le temps passé sur l’arc final est tf tc : v f v c u f (t f t c ) t f t c
uf u0
2v v 0
Le temps total est la somme : t t f t 0 c 2v c v 0 u 0 t
u0
• Lagrangien noté Ja avec les multiplicateurs (pi)i=1 à N associés aux contraintes (fi)i=0 à N1
N 1 N 1
Ja L (x , u ) (x
i 0
i i i N) p
i 0
i 1 f i ( x i , u i ) x i 1
T
H (x , u ) p (x
N 1
i i i
T
i 1 x i 1 N) avec H i ( x i , u i ) L i ( x i , u i ) p iT1f i ( x i , u i )
def
i 0
• Conditions KKT
J a H i
0 , i 0 à N 1 0 , i 0 à N 1 → Nm équations
u i u i
H i
J a x p i 0 , i 1 à N 1 → (N1)n équations
0 , i 1 à N i
x i
pN 0 → n équations
x N
1370
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
Hamiltonien : H i ( x i , u i ) L i ( x i , u i ) p iT1f i ( x i , u i )
H i L i f
Commande : ( x i , u i ) i ( x i , u i )p i 1 0
u i u i u i
H i
Equations d’état : x i 1 f i (x i , u i ) avec x 0 fixé
p i 1
H i L f
Equations adjointes : p i i i p i 1 avec p N
x i x i x i x N
• Le système à résoudre est de dimension N(2n+m) avec comme inconnues (xi, pi, ui).
La difficulté de résolution vient du sens de propagation des équations aux différences
- vers l’avant pour xi
- vers l’arrière pour pi
L i f
et du couplage entre xi et pi+1 pour trouver la commande ui : ( x i , u i ) i ( x i , u i )p i 1 0
u i u i
1371
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
En définissant : L i ( x i , u i ) L( x i , u i , t i )t i
def
f i f
et avec : f i ( x i , u i ) x i f ( x i , u i , t i )t i (x i , u i ) I ( x i , u i , t i )t i
def x i x
L i f
on retrouve : pi ( x i , u i ) i ( x i , u i )p i 1
x i x i 1372
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
5.3.2 Paramètres
Problème avec paramètres
• On considère un problème de contrôle à temps final libre avec contraintes finales.
La fonction coût, la dynamique et les contraintes dépendent de k paramètres réels .
tf
min J Lx ( t ), u ( t ), t , dt x ( t f ), t f , avec x ( t ) f x ( t ), u ( t ), t , , R k
u , t f ,
x ( t f ), t f , 0
t0
tf x(t) u(t) x(t) x(tf) tf x(tf) tf x(tf) tf
1373
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
5.3.2 Paramètres
Variation première
• La variation première du coût augmenté comporte des termes supplémentaires en .
tf tf
H
Terme intégral :
t0
H( x, u, p, t , ) dt
t0
dt
Terme final : x ( t f ), t f , T x ( t f ), t f ,
• Le coût augmenté doit être stationnaire par rapport aux variations .
On obtient les conditions de minimum associées aux paramètres .
tf
H
t0
dt
0 → k conditions pour les k paramètres
• Les paramètres peuvent être traités comme des états supplémentaires d’équation : 0
La condition de minimisation de l’hamiltonien par rapport à u reste ainsi valable.
min H( x, u, p, t , ) u ( x, p, t , )
u
1374
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
5.3.2 Paramètres
Temps final libre
• On peut traiter un problème à temps final libre en faisant le changement de variable
t t0 t t0
dt d avec t f t 0
tf t0 def
dx
min J L( x, u, t 0 ) d ( x f , t 0 f ) avec f ( x, u, t 0 )
u , d
0
( x f , t 0 f ) 0
f
H
• Condition sur :
0
d
0
1375
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.2 Conditions de minimum
Techniques d’optimisation Mai 2017
5.3.2 Paramètres
Temps final libre
• On développe la condition de minimum associée au paramètre .
f
H
0
d
0 avec t f t 0
t
(t f ) ,
t
(t f )
• On retrouve la condition de transversalité sur le temps final : H( t f ) (t f ) ( t f )
t t
1376
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017
Formulation problème LQ
Conditions de minimum
Problème d’interception
Navigation proportionnelle
Résolution matricielle
Régulateur
Contrôleur LQ
Contrôle robuste
1377
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017
5.3.3 Problème LQ
Formulation
• On considère un système linéaire.
• On choisit un coût quadratique prenant en compte l’écart final et les niveaux de x(t) et u(t).
tf
1 1
J ( x T Sx ) t f ( x T Qx u T Ru )dt
2 2
t0
1378
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017
5.3.3 Problème LQ
Matrices de pondérations
• On peut choisir des matrices de pondérations diagonales fonctions des niveaux acceptables.
• Le réglage des matrices doit être ajusté par essais-erreurs en fonction des résultats obtenus.
1379
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017
5.3.3 Problème LQ
Conditions de minimum
tf
1 1
min J (u ) ( x T Sx ) t f ( x T Qx u T Ru )dt avec x Fx Gu
u 2 2 x ( t 0 ) x 0 fixé, t 0 fixé, t f fixé
t0
x Qx u T Ru p T Fx Gu
1 T 1
• Hamiltonien : H
2 2
p H x Qx F T p
• Adjoint : p( t ) S( t ) x ( t )
f f f
1380
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017
• La fonction coût réalise une pondération entre la précision finale et l’énergie consommée.
r v
tf
1 1 1
min J (u ) K r r ( t f ) 2 K v v( t f ) 2 u 2 dt avec
u 2 2 2
t0
v u
1381
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017
1 1 1
• Formulation min J (u ) K r r ( t f ) 2 K v v( t f ) 2 u 2 dt avec
u 2 2 2
t0
v u
1 2
• Hamiltonien : H u p r .v p v .u
2
p r 0 p r ( t f ) K r r ( t f ) p r K r r ( t f ) C te
• Adjoint : avec
v
p p r v f
p ( t ) K v (t f )
v v
p ( t f t ) K r r ( t f ) K v (t f )
v
• Commande : min H u p v ( t t f )K r r ( t f ) K v v( t f )
u
• Vitesse : v u ( t t f )K r r ( t f ) K v v( t f )
1
v ( t t f ) 2 K r r ( t f ) ( t t f ) K v v( t f ) v( t f )
2
1
• Position : r v ( t t f ) 2 K r r ( t f ) ( t t f ) K v v( t f ) v( t f )
2
1 1
r ( t t f ) 3 K r r ( t f ) ( t t f ) 2 K v v( t f ) ( t t f ) v( t f ) r ( t f )
6 2 1382
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017
1 2
v K r r ( t f ) (1 K v (t f )
) v
u K r r ( t f ) K v v( t f ) avec 2
1 1
r (1 3 K r ) r ( t f ) ( 2 K v ) v( t f )
6 2
en notant = tf t le temps restant (« time-to-go »).
1 2
D r ( t f ) ( K v ) v (1 K v ) r 1 1
2 avec D 1 K v 3 K r 4 K r K v
1 1 2 3 12
Dv( t f ) (1 3 K r ) v Kr r
6 2
1383
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017
rn r rn v n
• L’angle de visée est supposé petit : n avec t f t
rs v s vs
2
(vs = Cte)
r v s
n
rn v n v s
2
1386
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017
• Rendez-vous parfait
1 1 2
un (6rn 4v n ) [2rn 4(rn v n )] u n vs 4
2 2
1387
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017
5.3.3 Problème LQ
Résolution matricielle
• Les équations de l’état et de l’adjoint forment un système linéaire.
xx xp
La matrice de transition est → symplectique si Q et R sont symétriques
px pp
(cf 5.3.1)
La solution du système en (x , p) s’exprime en fonction de l’état et l’adjoint final.
x F GR 1G T x x ( t ) xx ( t , t f ) xp ( t , t f ) x ( t f )
p( t )
T ( t , t ) ( t , t )
p Q F
p p ( t ) px f pp f f
• L’adjoint p(t) s’exprime en fonction linéaire de l’état x(t) avec une matrice notée S(t).
p( t ) S( t ) x ( t )
avec S( t ) px ( t , t f ) pp ( t , t f )S( t f ) xx ( t , t f ) xp ( t , t f )S( t f ) 1
def
On cherche à calculer la matrice S(t), ce qui permettra d’obtenir l’adjoint initial p(t0).
1388
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017
5.3.3 Problème LQ
Equation de Riccati
• L’adjoint est fonction linéaire de l’état avec la matrice notée S(t) → méthode de transport
• On remplace p(t) dans les équations de l’état et de l’adjoint, puis on élimine x(t).
• On obtient également une expression de la commande en retour d’état (en remplaçant t0 par t).
1389
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017
5.3.3 Résumé 5
Solution problème LQ
tf
1 1
min J (u ) ( x T Sx ) t f ( x T Qx u T Ru )dt avec x Fx Gu
u 2 2 x ( t 0 ) x 0 fixé, t 0 fixé, t f fixé
t0
5.3.3 Problème LQ
Valeur du coût
• La fonction coût entre t0 et tf peut s’exprimer à partir de la matrice S(t0).
tf
1 1 1 T
J ( x T Sx ) t f ( x T Qx u T Ru )dt ( x Sx ) t 0
2 2 2
t0
1 T
L’expression est vraie à toute date t > t0 le long de la trajectoire optimale : J x Sx
2
• Vérification : on dérive par rapport au temps.
dJ 1 T 1 1
x Sx x T S x x T Sx avec S SF F T S SGR 1G T S Q
dt 2 2 2 et x Fx Gu
1 1 1
J (u T G T x T F T )Sx x T (SF F T S SGR 1G T S Q) x x T S(Fx Gu )
2 2 2
1 1 1 1
J u T G T Sx x T SGR 1G T Sx x T Qx x T SGu avec u R 1G T Sx
2 2 2 2
Ru u
1 1
J x T Qx u T Ru → dérivée de J par rapport à la date initiale t0
2 2
1391
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017
5.3.3 Problème LQ
Régulateur
• Pour un système stationnaire (F, G, Q, R constantes), il peut exister une solution S constante.
• La matrice de gain pour la commande en retour d’état tend alors vers une constante.
• Pour trouver une matrice définie positive S (si elle existe), on peut
• La matrice S (de taille 11) doit être une solution stationnaire de l’équation de Riccati.
2 1
S SF F T S SGR 1G T S Q 0 S u 2mS2 2 0
xm
1 2
La seule solution définie positive est : S 2 1 2 1
2 um
u m xm
1 2
• La commande du régulateur est : 1
u ( t ) R G S x ( t )
T
1 2 1 x ( t )
2 um
xm
1393
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017
5.3.3 Contrôleur LQ
Formulation
• Un contrôleur LQ est un système LQ avec des contraintes finales linéaires.
tf
1
min J (u ) ( x T Qx u T Ru )dt avec x Fx Gu
u 2
t0 x ( t 0 ) x 0 fixé, t 0 fixé, t f fixé
x ( t f ) M( t f ) x ( t f ) c → q contraintes
x F GR 1G T x x ( t 0 ) fixé
avec
p p( t f ) M( t f ) T au lieu de p( t f ) S( t f ) x ( t f )
p Q
F T
→ q multiplicateurs associés aux contraintes
1394
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017
5.3.3 Contrôleur LQ
Résolution matricielle
• On écrit la solution du système linéaire (x , p) en utilisant sa matrice de transition.
x F GR 1G T x x ( t ) xx ( t , t f ) xp ( t , t f ) x ( t f )
Q F T ( t , t ) ( t , t )
p
p p ( t ) px f pp f p ( t f
)
• L’adjoint p(t) et la contrainte (tf) sont fonctions linéaires de l’état x(t) et des multiplicateurs .
S( t ) px ( t , t f ) xx ( t , t f ) 1
p( t ) S( t ) x ( t ) T( t )
avec def
T( t ) pp ( t , t f ) px ( t , t f ) xx ( t , t f ) 1 xp ( t , t f ) M Tf
def
M( t ) xx ( t , t f ) 1
x ( t f ) M( t f ) x ( t f ) avec def
M ( t ) x ( t ) N ( t ) N( t ) xx ( t , t f ) 1 xp ( t , t f )M Tf
def
1395
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017
5.3.3 Contrôleur LQ
Résolution matricielle
• L’adjoint p(t) et la contrainte (tf) sont fonctions linéaires de l’état x(t) et des multiplicateurs
avec des matrices S(t) , T(t) , M(t) et N(t) → méthode de transport
• On cherche à calculer les matrices S(t), T(t), M(t), N(t), ce qui permettra d’obtenir et p(t0).
x Fx GR 1G T p
p Sx T p S x Sx T avec et p Sx T
p Qx F p
T
x Mx N
c Mx N 0 M avec x Fx GR 1G T p et p Sx T
MF MGR 1G T S) x ( N
(M MGR 1G T T) 0
1396
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017
5.3.3 Contrôleur LQ
Résolution matricielle
• Les matrices S(t), T(t), M(t), N(t) vérifient un système différentiel.
(S SF F T S Q SGR 1G T S) x (T F T T SGR 1G T T) 0
1 T MGR 1G T T) 0 , x,
( M MF MGR G S) x ( N
• La matrice M(tf) est donnée par l’expression des contraintes finales : x ( t f ) M( t f ) x ( t f ) c
Les contraintes finales permettent d’obtenir les matrices S(tf), T(tf), N(tf).
S( t ) x ( t ) T( t ) avec p( t f ) M( t f ) T S( t ) 0
p( t ) f
T( t f ) M( t f )
T
5.3.3 Contrôleur LQ
Résolution matricielle
• En intégrant à rebours, on obtient les matrices S(t), T(t), M(t), N(t) de t0 à tf.
N( t 0 ) 1 ( c 0 ) si N(t0) inversible
Les multiplicateurs sont fonctions de l’écart entre c (valeur visée) et 0 (valeur libre).
La solution du problème sans contraintes correspond à des multiplicateurs nuls : = 0
N MGR 1G T M T 0
• La matrice N est négative : N( t ) 0 N( t ) 0 pour t t f
f
5.3.3 Contrôleur LQ
Résolution matricielle
• L’adjoint initial p(t0) s’exprime en fonction de l’état et de l’écart sur les contraintes finales.
p( t 0 ) S( t 0 ) x ( t 0 ) M( t 0 ) T S( t 0 ) x ( t 0 ) M( t 0 ) T N( t 0 ) 1 ( c 0 )
x Fx GR 1G T p
p Qx F p
T
ou p( t ) S( t ) x ( t ) M( t ) T
• On obtient également une expression de la commande en retour d’état (en remplaçant t0 par t).
p Sx M T
u R 1G T p avec N 1 ( c ) u R 1G T Sx R 1G T M T N 1 ( c )
Mx
Les multiplicateurs sont calculés à la date t et varient le long de la trajectoire.
est la valeur que prend la fonction [x(tf)] = M(tf)x(tf) si on résout le problème LQ
sans contraintes à partir de la date t et de l’état x(t) → équivaut à prendre = 0
5.3.3 Résumé 6
Solution contrôleur LQ
tf
1
min J (u ) ( x T Qx u T Ru )dt avec x Fx Gu x ( t 0 ) x 0 fixé, t 0 fixé, t f fixé
u 2
x ( t f ) M( t f ) x ( t f ) c → q contraintes
t0
p Sx M T
Adjoint, multiplicateurs N 1 ( c )
u R 1G T Sx
Mx
R 1G T M T N 1 ( c )
Intégration directe x Fx GR 1G T p
généralise la solution LQ
Solution état et adjoint x ( t ) , t [ t 0 , t f ] au cas avec contraintes
p ( t ) 1400
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017
5.3.3 Contrôleur LQ
Cas particulier tf
1
• Si la matrice Q est nulle : J u T Rudt → énergie (norme L2)
2
t0
x ( t f ) M( t f ) x ( t f ) c → q contraintes
est la valeur prédite des contraintes si aucun contrôle n’est appliqué de t à tf.
1401
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017
• Solution
S’il existe une matrice P symétrique définie positive (P = PT > 0) telle que
PA A T P C T C PDD T P 0 équation de Riccati
A DD T P = matrice de Hurwitz valeurs propres à parties réelles négatives
1 2 2 1 2
• En intégrant de t0 à t1 : V( x1 ) V( x 0 ) ( w z ) dt w D T Px dt
t0 t0
t1
1 1 2
z ) dt lim x1T Px1 w D Px dt x T0 Px 0
2 2
• Pour t1 : J ( w T
t1
t0 t0
2 2
La norme L2 est définie par : w 2
w dt z 2
z dt
1 2 2 1 2 2
J ( w z ) dt w z
2 2
t0
1 2 2
Le coût minimal vaut : J* x T0 Px 0 w z pour toute perturbation w
2 2
z 2
w 2
pour un état initial nul
z
• Le gain L2 du système est : k sup 2
mesure l’amplification sortie / perturbation
def w 0 w 2
1
Si la matrice P existe (solution de l’équation de Riccati), alors le gain L2 est borné : k
• Le gain L2 s’obtient comme la norme H de la matrice de transfert du système.
x Ax Dw z C(sI A) 1 Dw Gw k G sup G ( j)
z Cx
def
1404
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017
• Une condition suffisante s’obtient en relaxant l’équation sur P en une inégalité de Riccati.
1 T 1
PA A T
P C C PDD T P 0
Existence de P symétrique définie positive telle que 1
A DD T P Hurwitz
Le gain L2 est borné par .
x (A BK) x Dw
z Cx
La matrice du système en boucle fermée (feedback) est : A f A BK
def
Il faut trouver une matrice de gain K telle que le gain L2 soit inférieur à une borne donnée
et le système en boucle fermée soit stable.
Une condition suffisante est de trouver une matrice P symétrique définie positive telle que
1 1
PA f A Tf P C T C PDD T P 0
Cette condition implique PA f A Tf P 0 qui est la condition de Lyapunov
pour que Af soit stable (matrice de Hurwitz)
1406
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.3 Problème LQ
Techniques d’optimisation Mai 2017
1 1 T
Le gain K est cherché sous la forme : K R B P
2
1 1 1
• On se ramène à l’équation de Riccati : PA A T P C T C PDD T P PBR 1BT P Q 0
Il faut trouver des paramètres de réglages Q , R , pour que l’équation admette une solution P.
• Dans le cas général, l’état complet n’est pas nécessairement observable pour le feedback.
La commande est de la forme u = Ky avec y = Ex .
méthode de résolution similaire basée sur des conditions suffisantes
1407
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
5.3.4 Extrémales
Extrémale voisine
Commande feedback
Variation seconde
Problème auxiliaire
Arc singulier
Equation de Hamilton-Jacobi-Bellman
Commande affine
1408
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
5.3.4 Extrémales
Champ d’extrémales tf
• Problème de contrôle : min J
u L(x, u, t)dt
t0
avec x f ( x, u, t )
1409
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
5.3.4 Extrémales
Conditions d’optimalité
• La trajectoire optimale est une extrémale particulière associée à des conditions aux 2 bouts
conditions initiales + conditions de transversalité
conditions nécessaires d’ordre 1 données par le PMP
• Une trajectoire vérifiant les conditions nécessaires du PMP n’est pas forcément optimale.
Il faut vérifier des conditions d’optimalité d’ordre 2
conditions associées à l’examen des extrémales voisines
Types d’extrémales
• Une extrémale est normale si p0 > 0 , anormale si p0 = 0 .
Une extrémale anormale apparaît lorsque la solution est imposée par les contraintes.
Pour une extrémale normale, on fixe généralement p0 = 1 .
• Une trajectoire optimale peut comporter des arcs réguliers et des arcs singuliers.
Exemple : problème de Goddard
1410
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
• Hamiltonien : H p 0 L( x, u, t ) pu avec u 0 H p 0 L( x , u , t )
1411
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
Les commutations (changement de signe de p2) sont espacées d’une durée égale à .
x 1 x 2
• Trajectoire : x x u x 2 x 2 x 2 b cos(t ) période 2
2 1
Chaque arc de trajectoire à u constant correspond à une demi-période (durée égale à ).
1412
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
-2 1413
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
C 1
A O A+
0
-4 -3 -2 -1 0 1 2 3 4
-1
C+
-2
-3
1414
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
0,5
0
-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7
-0,5
-1
Commande u = +1 -1,5
-2
0
-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7
-1
-2
-3
-4
1416
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
•
x ( t ) 0
A l’instant final : x1 ( tf ) 0 H p 0 p 2 u 0 avec u(tf) = 1
2 f
1417
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
1418
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
TDW T D
• Hamiltonien : H ph v pv pm ph v pv g T
m ve m mv e
avec v e p v mp m fonction de commutation
T 0 si 0
• Commande : min H T Tmax si 0
0 T Tmax
T ? si 0 arc singulier
1419
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
Un arc singulier est possible si la fonction de commutation s’annule sur un intervalle de temps.
Les dérivées successives de sont alors toutes nulles sur I.
0 sur I [ t1 , t 2 ] v e p v mp m 0
0 sur I [ t , t ]
v e p v m
p m mp m 0
1 2
TD T
• Equations adjointes : H ph v pv g pm avec D fonction de h et v
m ve et g constant
pvDh 1 2 1
h
p h D v SC D 0 e H v 2SC D
m 2 2
p D D 1 2 D
p v p h v v avec D h v SC D
m h 2 h H
p p T D D D vSC 2D
m v
m2 v v D
v
1420
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
v p m pvDv T TD
e v p m mp m v e p h p m p v 0
m v e m
p v v D D v p 0 D
e v e h p v D v mp h 0 sur I [ t1 , t 2 ]
m ve
• On obtient un système de 3 équations devant être vérifiées pour qu’un arc singulier existe.
TDW T
H 0 ph v pv pm 0
m ve
0 p v ve pm m 0 système linéaire en (ph , pv , pm)
D
0 p v D v p h m 0
ve
1421
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
TDW T
p h v p v pm 0
m v e
p v ve pmm 0 avec (p h , p v , p m ) (0 , 0 , 0)
D
p h m p v D v 0
ve
• Pour que le système linéaire en (ph , pv , pm) admette une solution non nulle,
son déterminant doit être nul (sinon la solution nulle est unique).
TDW T
v
m ve
det 0 ve m D1 v
vD v W 0 avec D v
2D
v
D e v
m Dv 0
v e
1422
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
1423
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
D
0
p v D v mp h 0 non explicite en T
ve
D
p v G mp h 0 avec G D v G fonction de h et v
def ve
h v pvDh
h
p
m
On développe en utilisant : v (T D W ) / m et
p D
m p v p h v v
T / ve
m
et en remplaçant ph à partir de : p v G mp h 0
1424
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
G D D
Tsin g G v G (D W )G v mvG h mD h avec G D v
ve ve ve
D 2D 2D 2D
• En remplaçant G et avec les dérivées D h , D v , D vh , D vv 2
H v vH v
2
mv ve
Tsin g 1 4 2 2
D(1 2) 2D 2W (1 ) en notant
H v
def
1425
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
H L pTf et H( t f ) t [ x ( t f ), t f , ]
x H p et x ( t f ), t f 0 avec [ x ( t f ), t f , ] [ x ( t f ), t f ] T [ x ( t f ), t f ]
def
p H x et p( t f ) x [ x ( t f ), t f , ]
Hu 0 (sans bornes sur la commande)
• L’extrémale (x, p, u) est associée aux conditions initiales x(t0) et finales [x(tf),tf].
Les extrémales voisines (x+x , p+p , u+u) sont associées à des perturbations x(t0) et .
• Les écarts (x , p , u) suivent les équations variationnelles (= équations des écarts)
obtenues en développant à l’ordre 1 les conditions d’optimalité.
1428
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
xf
=
xf
x df
=0
x f
x0
x0
tf
t0 tf t
1429
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
H xx L xx f xx
T
p H px f x H xp H Tpx
H( x, u, p, t ) L( x, u, t ) p T f ( x, u, t ) H uu L uu f uu
T
p , H pu f u , H up H Tpu
H xu L xu f xu
T
p H 0 H H T
pp ux xu
L 0
La troisième condition s’écrit : t H
Tx x ( t f ) Tx x ( t f )t f Tt t f
• Condition sur : L 0
t H fonction de x , u , tf ,
A l’ordre 1 : [ x ( t f ) x ( t f ), u ( t f ) u ( t f ), t f t f , ] 0
1433
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
Tx x t f Tx x Tt
xx x ( x p )t f x p avec les dérivées totales x xx x xt
xT x t T 0 T x T
f x t
p ( L f ) ( H)
x xt xx f
x xt xx
p H x L x f x p L x f x x
x t x t
x x x
T T
xx x x x ( t f ) p( t f )
T
x 0 → système linéaire vérifié par x(tf), tf ,
T T t 0
x f
Si le temps final est fixé (tf = 0), il ne reste que les équations en p(tf) et .
1434
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
xx x x x ( t f ) p( t f )
T T
- les conditions finales : x 0 avec
T t H L
x T t f 0
• Ces équations sont aussi les conditions d’optimalité du problème LQ obtenu en développant
- le coût augmenté à l’ordre 2
- les équations d’état et les contraintes à l’ordre 1
→ appelé « problème de minimum auxiliaire »
• Le problème aux deux bouts peut être résolu matriciellement par la méthode de transport.
On obtient une expression de la commande en retour d’état.
1435
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
• On cherche une solution linéaire sous la même forme que les conditions finales.
→ « transport » des conditions finales vers la date initiale
p( t ) S M T x ( t )
T
M N T → forme symétrique semblable aux conditions finales
t f
1436
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
p( t ) S M T x ( t ) p S M
T T x S M T T x
T
M N T 0 M N
T M N T 0
t f 0
t f
0
p( t 0 ) S M T x ( t 0 )
T
M N T
( t 0
) avec x(t0) , fixés et = 0
t f
• La solution en fonction de x(t0) , est
N 1
Mx(t 0 ) M M
T
1 1 T
p( t 0 ) ( S M N M )x ( t 0 ) M N
T T
S S
• On obtient l’extrémale voisine en intégrant x et p à partir de x(t0) et p(t0).
1438
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
S S A A T
S SBS C
p( t ) S M T x ( t )
avec M M (B S A) à intégrer à rebours
M N à partir des conditions à tf
N M BM T
5.3.4 Résumé 7
Calcul d’une extrémale voisine
tf
min J L(x, u, t)dt x(t f ), t f avec x f ( x, u, t ) , x ( t 0 ) fixé
x ( t f ), t f 0 → q contraintes
u,t f
t0
x ( t 0 )
Solution état et adjoint x ( t ) , t [ t 0 , t f t f ] avec t f
p( t )
1440
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
u H uu1 (H xu f u ( S M T N 1M ))x f u M T N 1
t f 1 ( N 1M )x N 1
u K x ( t )x ( t ) K ( t ) x = écart observé avec la trajectoire nominale
avec
t f k x ( t ) x ( t ) k ( t ) = écart demandé sur les contraintes
• Les corrections u et tf sont exprimées avec des gains sur les écarts x et .
Les gains sont calculés sur la trajectoire nominale et stockés en fonction du temps
(ou pour plus de robustesse en fonction du temps restant tf t = « time to go »).
→ méthode de guidage implicite
1441
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
1442
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
• p z H z 0 pz ( et constantes)
Adjoint : p H p p v ( t )
v v z
• Dérivées f : f v f 0 0 , f 0 , a cos
1 0
a sin g
x u
H xx 0 0 , H ux 0 , H uu a cos p v a sin
a
• Dérivées H :
0 0 0 cos
z( t ) z c
• Dérivées : f x 1 0
v( t f ) 0 1 1444
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
a 1 1 1 1
x
2
• Position : tan ln tan tan ln tan 0
c cos 0 cos cos cos 0
a tan 0 tan 2 tan 1 1
z 2 ln tan ln tan
2c cos 0 cos cos 0 cos 0
cos 0
1 1 1 1 4z c
0
• Solution 0 :
sin 0 2 tan 2 0
ln
tan 0 ln cos tan at 2
cos 0 0 f
Valeur de c : ct f 2 tan 0
1445
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
• Matrices S , M , N
S SA A T S SBS C avec C 0 0 → Solution S 0 0
S( t ) ( t ) 0 0 0 0
f xx f
M 0,
11 M11 ( t f ) 1 M11 1
0, M 0
M M(BS A) M M 21 ( t f ) 0 1 tf t
21
21 M
M ( t f ) x ( t f )
M12 t f t
T
M12 M11 , M12 ( t f ) 0 0 1
M M 22 1
22 M 21 , M 22 ( t f ) 1
N 3 t f t
N MBM T
N ( t t ) 2
N( t ) 0 11 12
a cos f
f
N 21
N 22 tf t 1
1446
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
d tan f tan
tan p v t dt et t f t
cos 2
dN11 dN11 a
• Terme N11 : a ( t f t ) 2 cos 3 3 (tan f tan ) 2 cos
dt d
a sin sin f 1 1
Solution : N11 3 ln tan ln tan f , N11 ( t f ) 0
cos f 2
cos cos f
dN12 dN12 a
• Terme N12 : a ( t f t ) cos 3 2 (tan f tan ) cos
dt d
a cos( f ) 1
Solution : N12 2 , N12 ( t f ) 0
cos f
dN 22 dN 22 a
• Terme N22 : a cos 3 cos
dt d
a
Solution : N 22 (sin sin f ) , N 22 ( t f ) 0
1447
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
Matrices de gains
• Commande feedback : u H uu1 (H xu f u (S M T N 1M))x ( t ) f u M T N 1
f u 0 , a cos , H ux 0 , H uu
a
• Matrices utiles :
0 cos
1 N 22 N12
S 0 0 , M 1 t f t , N 1
0 0 0 1 det N N12 N11
cos 2 N 22 N12
avec H uu1 f u M T N 1 0 11t t 10 N N11
det N f 12
cos 2
N 22 (t f t ) N12 , N11 N12 (t f t )
det N
1448
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
• Si les contraintes finales sont fixées (zf=0 et vf=0), la correction se met sous la forme
K K z / K1
K1 (v K 2 z) avec 2
K 1 K v K z ( t f t )
1449
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
100 16
50 4
2
Distance (km) Temps (s)
0 1
0 200 400 600 800 1000 1200 0 50 100 150 200 250 300
1450
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
• Comparaison
1451
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
• Les conditions de minimum s’obtiennent à partir des variations première et seconde de Ja.
La variation première donne les conditions vérifiées par les extrémales.
La variation seconde donne les conditions vérifiées par les extrémales voisines.
• On calcule les variations première et seconde du coût augmenté pour des variations de
- x(t) , u(t) , p(t) → sur la trajectoire de t0 à tf
- x(t0) , x(tf) , tf , → sur les conditions initiales et finales (→ contraintes =0)
1452
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
• Variations à appliquer : x(t) , u(t) , p(t) , x(t0) , x(tf) , tf , → contraintes =0
tf
J a (H Tx x H Tu u f T p p T x x T p)dt (H p T x ) f Tx (x f x f t f ) t t f T
t0
Lf d T x
x t
dt
p x dt
tf tf
tf
• Intégration par parties : p T x dt p T x t0
T
tf t0 t0
t0
L) t T p T x
J a [(H x p ) T x H Tu u (f x ) T p] dt ( x p) Tf x f ( f f 0 0
L
On définit :
def
1453
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
J a [(H x p ) T x H Tu u (f x ) T p] dt ( x p) Tf x f f t f T p T0 x 0
t0
x f f 0 H L p T f
J a 0 p H x , f 0 avec T
H u 0 p f x L H à t car p
t f f x
→ conditions vérifiées par les extrémales pour x0=0 , =0
1454
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
J a [(H x p ) T x H Tu u (f x ) T p] dt ( x p) Tf x f f t f T p T0 x 0
t0
p T (f xT x f uT u x )] dt
x Tf ( xx (x x t ) xt t x p p t ) f
x
tf tf
tf
• Intégration par parties : x T p dt x T p t0
T
p dt
t0 t0
1455
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
( ) T f T f Tf
x xx x x tx x x x
x
d x T f
avec x xx tx
dt
la variation seconde devient
tf
2Ja
t0
[x T H xx x x T H ux u u T H xu x u T H uu u 2p T (f xT x f uT u x )] dt
t T f t p t ) t ( T x
x Tf ( xx x t ) 2T ( T x
t ) f
x x x f f x f x
avec L
pf x p H x L x p T f x
→ Il reste : x t f
1456
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
t ) 2T ( T x t )
x Tf ( xx x x t ) f t f (xT x f x f 0
x f ( x, u, t ) x f T x f uT u
avec T x à l’ordre 1 0
( x f , t f ) x x f t f
tf
xx x x
T T
J a x xx
H ux x
dt x
• 2 H
Sous forme matricielle : T t
u H xu H uu u t f x f
t0
x f xT x f uT u
avec les contraintes : T
x x f t f
Le temps final est fixé (tf est un paramètre). Les perturbations x(t0) et sont données,
On résout ce problème LQ en lui appliquant les conditions nécessaires d’optimalité.
1 x T H xx H ux x T T
• Hamiltonien noté Hq : Hq p q (f x x f uT u )
2 u H xu H uu u
H q
• Adjoint noté pq : p q H xx x H ux u f x p q → associé à x
x
• Commande : min H q H uu u H xu x f u p q 0 u H uu1 (H xu x f u p q )
u
• Transversalité : p q ( t f ) xx x f x t f x q → multiplicateurs q
tf
H q H q
• Paramètre tf : t
xT x f f q
t
t0 f
dt 0 avec
t f
0
1458
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
x f xT x f uT u Tx x f t f
p H xx x H ux u f x p avec p( t f ) xx x f x t f x
u H uu1 (H xu x f u p) 0 xT x f t
f
xx x x x ( t f ) p( t f )
→ sous forme matricielle : Tx 0
T T t 0
x f
N 1 Mx ( t 0 ) M M T /
u H uu1 (H xu f u ( S M T N 1M ))x f u M T N 1 S S T /
1461
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
S( t f ) xx ( t f )
xx x x
T T
x x S T x
t T t t t car ( t f ) xT ( t f )
f x f f f (t )
( t f ) f
Ce terme final s’élimine avec les termes en x(tf) et tf venant de l’intégrale.
On obtient après simplification
t
tf x
T
0 M T 0 x f
T
T
2 J a v T H uu v dt x S x ( t 0 )
T
M N
t f t f
t f 0 0 t f
t0
t0
1462
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
x
T
0 M T 0 x
T
N
T T T
M N 2 ( M x t f )
t
f 0 0 t f 2T ( N) T N
2T T N
tf T
T
Il reste : Ja
2
v H uu v dt x S x ( t 0 ) T N( t 0 )
T
t f t f
t0
• On utilise ensuite les relations de transport pour exprimer tf et en fonction de x(t0) et .
x t f 0
Mx N T t
f
1463
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
1464
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
avec v u H uu1 (H xu f u S)x f u M T f u T t f
• La valeur minimale est obtenue pour v = 0 car Huu 0 (condition nécessaire de minimum).
p Sx M T T t f
v 0 u H uu1 (H xu x f u p) avec t f (x ) /
N 1 ( Mx )
u H uu1 (H xu f u ( S M T N 1 M ))x f u M T N 1
On retrouve la commande associée à l’extrémale voisine (= solution du problème auxiliaire).
• Cette solution permet : - d’obtenir les dérivées du coût par rapport aux perturbations
- d’exprimer des conditions suffisantes de minimum
1465
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
Variation première : J a p( t 0 ) T x ( t 0 ) T
T
S M T N 1M M T N 1 x ( t )
Variation seconde : J a x
2
N 1M N 1 0
1 x T S M T N 1M M T N 1 x ( t )
J a p( t 0 ) x ( t 0 )
T T
2 N 1M N 1 0
• Cette expression fait apparaître les dérivées premières et secondes du coût minimum
par rapport aux perturbations de l’état initial x(t0) et des contraintes .
J J 2J 1 2J 1 2J 1
( t 0 ) p( t 0 ) , , 2 ( t 0 ) S M N M ,
T
N , N M
x x 2
x
1466
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
5.3.4 Résumé 8
Problème de minimum auxiliaire
• Formulation
tf
2 J a 1 x T H xx H ux x 1 x T xx x x x f xT x f uT u
min
u ,t f 2
2 u H xu H uu u
t0
dt T t
2 t f x f
sous
Tx x f t f
J J 2J 1 2J 1 2J
( t 0 ) p( t 0 ) , , 2 ( t 0 ) S M N M ,
T
N , N 1 M
x x 2
x
1467
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
tf
2Ja v H uu v dt avec v u H uu1 (H xu f u ( S M T N 1 M ))x f u M T N 1
T
t0
v 0 u H uu1 (H xu f u ( S M T N 1 M ))x f u M T N 1
• Si les matrices H uu et N sont inversibles et si la matrice S M T N 1 M reste finie,
alors u = 0 pour des perturbations x(t0) et nulles.
La seule solution donnant 2Ja = 0 est donc l’extrémale de référence (u = 0).
Ces conditions sont suffisantes pour que l’extrémale soit un minimum.
1468
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
N N T / avec N( t f ) 0
N vérifie T 1
N 0 si ( t f ) 0
N M B M T
0 car B f u H f
uu u 0
1469
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
•
La commande u obtenue par u H uu1 (H xu f u ( S M T N 1 M ))x f u M T N 1
n’est plus nécessairement nulle à partir de tc .
Elle permet d’atteindre les conditions finales (=0) en un point F’F
à partir de C sans variation du coût (2Ja=0 sur CF’ car v=0) → JOCF’ = JOCF
• On peut alors chercher un chemin OF’ direct sans passer par C. → JOF’ JOCF
Le coût de OF’ sera inférieur ou égal au coût de OCF’ → JOF’ JOCF’
L’extrémale OCF n’est pas nécessairement la meilleure.
F’
tf'
O C F
x(t0) t0 u=0 , Ja=0 tc u=0 , Ja=0 tf 1470
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
z sin
• On considère et comme des fonctions du temps, avec la commande égale à leurs dérivées.
Etat (noté x) : x 1
x Commande : u 1
u u1
x 2 u2 u 2
ds 2 d 2 d2 cos 2 (u 22 u12 cos 2 x 2 )dt 2
1471
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
• Solution : u2 = 0 x2 = 0 , p1 = 1 , p2 = 0
(u1 = 0 ne permet de respecter la contrainte sur f)
• Formulation en variable
f
d ( 0 ) 0 0
min J u 2 cos 2 d avec u et
u d ( f ) f 0
0
L 1 H 1
u 0 L 0 H 0
• Valeurs sur l’extrémale : u
0 L u 0 H uu 1
• Matrices A , B , C : A = 0 , B = 1 , C = 1
1474
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
1
• Commande feedback : S M T N 1M
tan( f ) f
u
1 tan( f ) sin( f )
M T N 1
sin( f )
1
• Point conjugué : S M T N 1M si f
tan( f )
L’extrémale passe par un point conjugué si l’angle OF est supérieur à (distance > ½ tour).
Elle n’est pas optimale dans ce cas (il existe un chemin plus court en partant en sens inverse).
1475
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
• Pour établir des conditions nécessaires plus fortes, on part de la variation du coût augmenté
et des équations des extrémales voisines.
tf T
J a x xx ux x dt (x T xx x ) f
2 H H (pour un problème à temps final fixé)
u H xu H uu u
t0
x f xT x f uT u Tx x f
p H x H u f p avec et T
xx ux x p f xx x f
1476
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
• On exprime d’abord ²Ja en fonction de : J a (x T x p T p u T u )u dt
2
t0
• Vérification par différence
tf tf T
tf
[p T H up u (p T p T H xp )x ]dt
t0
en utilisant p H xx x H ux u H px p
tf
(p x p T x )dt x H xp x H up u
T
en utilisant
t0
tf
p T x t 0 p Tf x f p T0 x 0 (x T xx x ) f avec p f xx x f
et x 0 0
1477
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
T
dF X
X T F X car F X TF
X X
FX FXX X
X dt X X
1478
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
• Pour la fonction : X T X x T x p T p u T u
d p T
u T
(x T x p T p u T u ) x T x p u
dt
• :
Pour la fonction x T
X T p T
u T
X x p u
d p T
u T
) x T
p T
u T
(x T x p u x p u
dt
d2 p T
u T
(x T x p T p u T u ) x T x p u
dt 2 1479
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
• On intègre ensuite par parties 2 J a (x T x p T p u T u )u dt
t0
d p T
u T
- une première fois en utilisant : (x T x p T p u T u ) x T x p u
dt
(x
tf
tf
2 J a (x T x p T p u T u )u1 T p T
u T
)u ( t ) dt
t0 x p u 1
t0
t
avec u1 ( t ) u () d
t0
d p T
u T
) x T
p T
u T
- une deuxième fois en utilisant : (x T x p u x p u
dt
2 J a (x T x p T p u T u )u1 (x
tf
t0
T p T
x
u T
p
)u
u 2 tf
t0
tf
t0
p T
(x T x
u T
p
)u ( t ) dt
u 2
t
avec u 2 ( t ) u1 () d
t0
1480
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
t t1 u
0 si
a si t1 t t1
u ( t ) a t t1
0
si t1 t1 t1 t1+
t
si t t1
t
u1
u1 ( t ) u () d
t0
t1 t1 t1+ t
t
u2
u 2 ( t ) u1 () d
t0
t1 t1 t1+ t
1481
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
Les expressions obtenues pour ²Ja le long de l’arc singulier permettent de formuler
des conditions nécessaires d’optimalité dans le cas d’un système à commande affine.
Hamiltonien : p T g p T g
H p T (f gu ) H u p T g
g g x g (f gu ) (dérivée totale)
avec T x T x
p p (f x g x u )
p T (f g u )g p T g (f gu ) p T ( g f f g)
x x x x x
1482
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
tf
2Ja u u dt
n’est pas explicite en u sur l’arc singulier
T
u 1 = 0 car
t0 pour un système à commande affine
tf
u
T
2Ja u u 2 dt donne une condition nécessaire d’optimalité
t0
tf
• Pour la variation considérée, u2(t) est positif croissant et on a :
t0
u T u 2 dt 0
(sinon on peut construire une variation impulsionnelle locale donnant ²Ja < 0).
1483
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
0
sur l’arc singulier avec = Hu
u
d 2 k H
(1) (
k (2k )
) u 0 avec H u (1)k
0
u dt 2 k u
condition nécessaire d’optimalité d’un arc singulier pour un système à commande affine
1484
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
5.3.4 Résumé 9
Conditions de minimum
• Problème à temps final libre et contraintes finales
tf
avec x ( t ) f x ( t ), u ( t ), t , x ( t f ), t f 0
min J
u,t f Lx(t), u(t), t dt x(t
t0
f ), t f
• Conditions nécessaires
x H p 0 H L p T f
f
Ordre 1 : p H x , f 0 avec
T
H u 0 p f x
L H à t car p
t f f x
Ordre 2 : Huu 0
Pas de point conjugué sur ] t0 , tf [
• Conditions suffisantes
Ordre 1 : Identique
Ordre 2 : Huu > 0
Pas de point conjugué sur [ t0 , tf [
1485
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
• La solution dépend du point initial (x0,t0). En faisant varier le point initial, on obtient :
- le champ d’extrémales défini comme l’ensemble des trajectoires optimales
- la fonction valeur V(x0,t0) définie comme le coût minimal J à partir du point (x0,t0)
x
V(x1,t0)
V(x1,t1)
x1
V(x0,t1)
V(x0,t0)
x0 (xf,tf)=0
t0 t1 t 1486
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
u u1 V(x1,t1)
x1
V(x0,t0)
u0
x0 (xf,tf)=0
t0 t1 t 1487
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
t f t1 tf
V( x 0 , t 0 ) min L( x, u, t )dt ( x f , t f ) min L( x, u, t )dt L( x, u, t )dt ( x f , t f )
u,t f u,t f
0t 0t t 1
t1 t f
V( x 0 , t 0 ) min L( x, u, t )dt
u[ t 0 , t1 ]
min L( x, u, t )dt ( x f , t f )
u[ t1 , t f ], t f
t 0 t1
t1
x1 x 0 x
avec x1 x 0 f ( x, u, t )dt x 0 f ( x 0 , u, t 0 )t
t0
x f ( x 0 , u, t 0 )t
V( x1 (u ), t1 ) V( x 0 x, t 0 t ) V( x 0 , t 0 ) VxT x Vt t V( x 0 , t 0 ) VxT f ( x 0 , u, t 0 ) Vt t
min L( x 0 , u, t 0 ) VxT f ( x 0 , u, t 0 ) Vt
u
0
1489
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
min H( x 0 , u, Vx , t 0 ) Vt 0 avec H( x, u, p, t ) L( x, u, t ) p( t ) T f ( x, u, t )
u def
Remarques
• L’équation HJB est une équation aux dérivées partielles vérifiée par la fonction valeur V(x,t)
en tout point de la trajectoire optimale.
Elle suppose que V est de classe C1 (hypothèse forte, non nécessairement vérifiée en pratique).
1490
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
• Equations adjointes
1491
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
x
L’hyperplan T tangent aux contraintes est normal à x. T
x
Le gradient de est projeté sur T suivant x x,T
Vx
Il existe des multiplicateurs Rm tels que : x ,T x x
5.3.4 Résumé 10
Equation de Hamilton Jacobi Bellman
• Problème à temps final libre et contraintes finales
tf
avec x ( t ) f x ( t ), u ( t ), t , x ( t f ), t f 0
min J
u,t f Lx(t), u(t), t dt x(t f ), t f
t0 et x ( t 0 ) x 0 fixé
avec H( x, u, p, t ) L( x, u, t ) p( t ) T f ( x, u, t )
• Adjoint : p Vx
def
V V
• Dérivées du coût : p , H
x t
• L’équation HJB permet de retrouver le PMP si la fonction valeur V(x,t) est de classe C1.
La démonstration du PMP est plus générale et ne nécessite pas cette hypothèse sur V.
1493
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
La fonction V(x,t) vérifie bien l’équation HJB pour x0, mais n’est pas différentiable en x=0.
Cette équation HJB n’admet pas de solution différentiable sur R.
1494
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
f f(x) f sur-différentiel
g (sur-gradient)
g (sous-gradient)
sous-différentiel f(x)
x0 x x0 x
1495
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
( x 0 ) g f f(x)
( x 0 ) f ( x 0 )
( x ) f ( x ) localement g
sur-différentiel
0 si x 0
f ( x ) x si 0 x 1 f(x)
1 si 1 x
0 1 x
• f est dérivable partout sauf en 0 et en 1.
D f (0) [0 , [
En x = 0 : Pour x < 0 : D f ( x ) D f ( x ) 0
D f (0)
D f (1)
En x = 1 : Pour x > 1 : D f ( x ) D f ( x ) 0
D f (1) [0 ,1 / 2]
1
Pour x]0 , 1[ : D f ( x ) D f ( x )
2 x
1497
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
• Exemple : f : R R , 1 f ( x ) 0 F( x, f , g) 1 g
• Théorème
(avec des hypothèses sur la régularité des fonctions f, L, et de leurs dérivées)
1499
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
Pour montrer que V(x,t) est une sous-solution de viscosité, on se place en un point (x0,t0)
et on considère des fonctions tests (x,t) de classe C1 telles que V est minimale en (x0,t0).
associée à un sur-gradient g de V en (x0,t0)
t ( x 0 , t 0 ) L( x 0 , u 0 , t 0 ) x ( x 0 , t 0 ) T f ( x 0 , u 0 , t 0 ) 0
( x1 , t1 ) ( x 0 , t 0 ) ( x, t )dt
t0
avec t Tx x t Tx f
(x, t)
t1 t1
( x1 , t1 ) ( x 0 , t 0 )
f ( x, u 0 , t ) dt L( x, u 0 , t )dt
T
t x ( x, t )
t0 t0
t1
V( x 0 , t 0 ) V( x1 , t1 ) L( x, u 0 , t )dt en remplaçant dans l’inégalité sur V
t0
• Hamiltonien : H p 0 p T (f ug)
u 1 si p T g 0
arc bang
• Commande : min H u 1 si p T g 0
u
u ? si p T g 0 arc singulier
• La commande dépend du signe de la fonction de commutation définie par : = pTg
Sur un arc singulier, la fonction de commutation est identiquement nulle : 0 sur I=[t1, t2]
• Les dérivées successives de par rapport au temps sont également toutes nulles sur I.
Pour déterminer la commande il faut dériver jusqu’à faire apparaître explicitement u.
Les dérivées et crochets de Lie simplifient l’analyse des arcs singuliers.
1502
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
1503
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
1504
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
1505
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
• Dérivée seconde de : p T [f , g ]
p T [f ug, [f , g]]
1506
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
Ce type de jonction vérifie les conditions nécessaires du PMP (preuve page suivante).
1507
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
( )
Si u bang 1 u sin g () car p T [g, [f , g]] 0 , avec () 0
Ces conditions sont très restrictives et ont peu de chances d’être vérifiées en pratique.
p T f ug, Z
On applique la formule : p T Z
en utilisant [g, [f , g]] 0 et [g, [f , [f , g]]] [f , [g, [f , g]]] (obtenu par l’identité de Jacobi)
et en notant X, Y ad X (Y) avec l’opérateur adX (adjoint) associé au champ de vecteurs X.
1509
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
Ce type de jonction ne vérifie pas les conditions nécessaires du PMP (preuve page suivante).
• Une telle jonction fait apparaître le phénomène de chattering (infinité de commutations u=1).
Exemple : problème de Fuller
1510
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
• Les fonctions (i ) p T ad if (g) i 0 ,1, 2 , 3 sont continues (ne dépendent que de p et x), nulles à .
m
u g (x)
i 1
i i
m
Hamiltonien : H p0 p f
T
u p
i 1
i
T
g i (x) p 0 p f
T
u
i 1
i i
Si une seule composante est singulière, l’analyse est identique au cas de dimension 1.
Si plusieurs composantes sont simultanément singulières, l’analyse est plus complexe.
1512
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
x p 0
• Arc singulier : p1 p 2 0 1 1 p1 x 1
x 2 u x1 0 u ( x 1 x 2 )
L’arc singulier est d’ordre 1 ((2) explicite en u). Il peut donc se raccorder à un arc régulier.
La condition nécessaire de Kelley est vérifiée pour k=1. L’arc singulier peut donc être optimal.
d 2 k H
(1) k
1 0
u dt 2 k u u
1513
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
1
• La commande n’est pas bornée et n’intervient pas directement dans le coût J : J x12 dt
2
t 0 0
x x 2 u
• Une impulsion u déplace « gratuitement » l’état de (x1 , x2) à (x1+u , x2u) : 1
x 2 u
déplacement suivant les lignes d’équation x1 + x2 = Cte .
• On peut construire une solution en 3 arcs de type impulsion arc singulier impulsion
- une impulsion à t0 fait passer l’état de (x10 , x20) à (x10+x0 , x20x0)
- l’arc singulier est suivi de t0 à tf avec la commande singulière donnée par u = (x1+x2)
- une impulsion à tf fait passer l’état de (x1f , x2f) à (x1f+xf , x2fxf) = (0 , 0)
1514
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
e 2t f 1 e 2t f c x10 x 20 fixé
• On obtient : y10 2c , y 20 c avec
e 2t f 1 1 e 2t f t f fixé
1 2 e 2t f
H y10 y10 y 20 2c 2
0
2 (e 2 t f 1) 2
tf tf
c2
1 1 2 2t
avec le coût J x12 dt y10 e dt
2
t 0 0
2
t 0 0
1 e 2t f
4 Point initial
• Hamiltonien 3
2
2t f
e
H 2c 2 2
1
Point final x1
(e 2 t f 1) 2 -10 -9 -8 -7 -6 -5 -4 -3 -2
0
-1 0 1 2 3 4 5 6 7 8 9 10
-1
• Arc singulier -2
-3
-4
Initial : y10 = 9
y20 = 4.72
-5
-6
-7
Final : y1f = 2
-8
y2f = 2 -9
-10
1517
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
H
1
p 0 x12 p1x 2 p 2 u p p x
• Hamiltonien : p 1 p0 1
2 2 1
1518
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
• Il faut vérifier que ce problème admet les mêmes extrémales que le problème de Fuller.
Pour un point initial donné x1(t0) , x2(t0) , on note u*, tf*, J* la solution du problème de Fuller.
On applique la commande u* au problème de temps minimal, en posant x 3(t0) = J* < 0 .
1
- Elle minimise x 3 ( t f ) x 3 ( t 0 ) x12 dt qui est une fonction croissante de tf.
2
t0
La date tf* est la date minimale permettant d’atteindre la condition finale x 3(tf) = 0
en partant de la condition initiale x3(t0) < 0 .
La solution u*, tf* du problème de Fuller est bien la solution du problème de temps minimal.
1519
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
q 1 q 3 x1
1
H q q 0 q1x 2 q 2 u q 3 x1 q 2 q1
2
2 q 3 0
1 1 q p
q 0 q1 x 2 q 2 u q 3 x12 p1x 2 p 2 u p 0 x12 0 q 3 0 0
2 2 0
1520
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
0 0
• Crochets d’ordre 2 : ad 3f (g)
[f , [f , [f , g]]] 0 et [g, ad f (g)] [g, [f , [f , [f , g]]]] 0
3
x 1
2
Le crochet [g, ad f (g)] ne s’annule pas
3
Les arcs singuliers sont d’ordre 2 .
La condition de Kelley [g, ad f (g)] 0 est vérifiée Ces arcs peuvent être optimaux.
3
1521
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
• L’origine est un arc singulier d’ordre 2 qui ne peut pas se raccorder directement à un arc bang.
Le point final ne peut être atteint qu’avec du chattering ( = infinité de commutations u=1).
Arcs bangs
• La solution du problème de Fuller est une suite d’arcs bangs convergeant vers O.
p p 0 x1
p 0 x12 p1x 2 p 2 u 1
1
• Les équations adjointes sont : H
2 p 2 p1
Si on suppose p0 = 0 (cas anormal), alors p1 est constant et p2 est linéaire en fonction du temps.
Il n’y a qu’une commutation et le raccordement avec le point final ne peut être optimal.
Les arcs bangs sont nécessairement normaux et on peut poser p0 = 1.
1522
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
p ,
Vérification en utilisant les dérivées de : p 2 , x , (3) x
1 1 2
et en sachant que O singulier ne peut être sur un arc bang
Si est une date de commutation : () p 2 () 0 H() x12 () / 2 p1 () x 2 () 0
• L’extrémale est invariante si (v, y1, y2, q1, q2)(t) = (u, x1, x2, p1, p2)(t) à toute date t.
invariance point par point (condition plus forte que l’invariance globale de la courbe)
1524
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
x1 ( t 0 ) y1 ( t 0 ) 2 x1 t 0 / 2 x1 ( t1 )
Par invariance de l’extrémale :
x 2 ( t 0 ) y 2 ( t 0 ) x 2 t 0 / x 2 ( t1 )
1 2 1
En remplaçant x1(t0) et x2(t0) : x1 ( t1 ) x 22 ( t1 ) avec
2 2 1
1 2 1
• Sur l’arc de t1 à t2 avec u = 1 : x1 ( t 2 ) x 2 ( t 2 ) x1 ( t1 ) x 22 ( t1 )
2 2
x1 ( t1 ) y1 ( t1 ) 2 x1 t1 / 2 x1 ( t 2 )
Par invariance de l’extrémale :
x 2 ( t1 ) y 2 ( t1 ) x 2 t1 / x 2 ( t 2 )
1 2 1
En remplaçant x1(t1) et x2(t1) : x1 ( t 2 ) x 22 ( t 2 ) avec
2 2 1
1526
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
C : x1 x 22 , x 2 0
Les courbes de commutation sont
C : x1 x 2 , x 2 0
2
1
• Pour trouver les valeurs de et , on utilise l’intégrale première I 2 p1 ux1x 2 x 32
3
1 1
Sur l’arc de t1 à t2 avec u = 1 : p1 x1x 2 x 32 ( t1 ) p1 x1x 2 x 32 ( t 2 )
3 3
1 2 x12
H x1 p1x 2 p 2 u 0 avec p2=0 à chaque date de commutation tk p1
2 2x 2
1527
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
1 1 1 1 x ( t ) 0
2 x 32 ( t1 ) 2 x 32 ( t 2 ) avec 2 1
2 3 2 3 x 2 ( t 2 ) 0
3 1 1 1 1 1 2 1 1 2
2
2
avec 2
2 3 2 3 2 2 1 1 2
1 2 1
• On obtient une équation bicarrée vérifiée par : 4 0
12 18
33 1 1 2
La solution positive est : 0.44462 4.13016
24 1 2
1528
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
u 1 si x1 x 22 sgn( x 2 )
Commande feedback :
u 1 si x1 x 2 sgn( x 2 )
2
33 1 1 2
avec les constantes : 0.44462 , 4.13016
24 1 2
• Cette synthèse est obtenue en raccordant les arcs bangs associés aux extrémales invariantes.
On peut montrer que cette synthèse est la synthèse optimale du problème de Fuller, i.e.
- ces extrémales invariantes sont les seules
- leur raccordement est optimal.
25
x2
C
20
x1 x 22 sgn( x 2 )
15
u = 1
10
0
x1
-120 -100 -80 -60 -40 -20 0 20 40 60 80 100 120
-5
-10
u = +1
-15
x1 x 22 sgn( x 2 )
-20
C+
-25
1530
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
1
u = +1
tk
Dates de commutations : t k 1
u = 1
-1
1531
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.4 Extrémales
Techniques d’optimisation Mai 2017
V V 1 2
• L’équation HJB devient : x2 x1 0
x1 x 2 2
5
1 5 1 1 1 2
• On montre que la solution est : V ( x1 , x 2 ) x 2 x1x 32 x12 x 2 A x 22 x1
15 3 2 2
3
V V si x1 x 22 sgn( x 2 ) 12 1 2
avec A 2 2 0.382
V V si x1 x 2 sgn( x 2 )
2
53 2
1532
5 Optimisation fonctionnelle Max CERF
5.3 Commande optimale
5.3.5 Méthodes numériques
Techniques d’optimisation Mai 2017
Méthodes indirectes
Méthodes directes
1533
5 Optimisation fonctionnelle Max CERF
5.4 Filtrage
Techniques d’optimisation Mai 2017
Sommaire
1. Bases théoriques
2. Optimisation sans contraintes
3. Optimisation avec contraintes
4. Optimisation discrète
5. Optimisation fonctionnelle
5.1 Fonctionnelle
5.2 Calcul des variations
5.3 Commande optimale
5.4 Filtrage
1534
Max CERF
Techniques d’optimisation Mai 2017
Livres en anglais