76 0 22MB
Techniques d’optimisation Optimisation continue – discrète – fonctionnelle Théorie – Algorithmes – Exemples
Max CERF 2018
1
Techniques d’optimisation
Max CERF 2018
Sommaire 1.
Bases théoriques
2.
Optimisation sans contraintes
3.
Optimisation avec contraintes
4.
Optimisation discrète
5.
Optimisation fonctionnelle
« Je suis capable du meilleur et du pire. Mais dans le pire, c’est moi le meilleur. » (Coluche)
2
1
Bases théoriques
Techniques d’optimisation
Max CERF 2018
Sommaire 1.
Bases théoriques 1.1 Définitions 1.2 Contraintes linéaires 1.3 Contraintes non linéaires 1.4 Conditions d’optimalité
2.
Optimisation sans contraintes
3.
Optimisation avec contraintes
4.
Optimisation discrète
5.
Optimisation fonctionnelle
3
1 Bases théoriques 1.1 Définitions
Techniques d’optimisation
Max CERF 2018
Sommaire 1.
Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation 1.1.2 Solution 1.1.3 Différentiabilité 1.1.4 Convexité 1.1.5 Conditionnement 1.1.6 Direction de déplacement 1.2 Contraintes linéaires 1.3 Contraintes non linéaires 1.4 Conditions d’optimalité
2. 3. 4. 5.
Optimisation sans contraintes Optimisation avec contraintes Optimisation discrète Optimisation fonctionnelle
4
1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation
Techniques d’optimisation
Max CERF 2018
1.1.1 Problème d’optimisation Classification des problèmes d’optimisation - Optimisation continue dans Rn Formulation mathématique et notations - Variables - Critère - Contraintes Norme sur Rn - Norme vectorielle - Norme matricielle Suite dans Rn - Limite - Vitesse de convergence
5
1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation
Techniques d’optimisation
Max CERF 2018
1.1.1 Classification Optimisation fonctionnelle / paramétrique • Inconnues = fonctions Optimisation fonctionnelle Optimisation en dimension infinie Commande optimale
•
Inconnues = entiers ou réels
Programmation mathématique • Inconnues = entiers
Optimisation paramétrique Optimisation en dimension finie Programmation mathématique
Optimisation combinatoire Programmation en nombres entiers
•
Inconnues = réels
Optimisation continue Programmation linéaire (LP) Programmation non linéaire (NLP)
•
Inconnues = entiers et réels
Programmation mixte
6
1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation
Techniques d’optimisation
Max CERF 2018
1.1.1 Formulation Formulation mathématique
c E (x) 0 minn f(x) sous c I (x) 0 xR x X Notations • x : n variables ou paramètres ou inconnues
formulation standard problème noté (PO) vecteur de Rn
•
f : critère ou fonction coût ou fonction objectif
fonction de Rn dans R x R n f(x) R
•
cE : p contraintes d’égalité
fonction de Rn dans Rp x R n c E (x) R p
•
cI : q contraintes d’inégalité
fonction de Rn dans Rq x R n c I (x) R q
•
X : ensemble convexe X Rn
valeurs admissibles des variables
7
1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation
Techniques d’optimisation
Max CERF 2018
1.1.1 Optimisation continue Hypothèses • Continuité :
Fonctions continues de variables réelles Optimisation continue Optimisation combinatoire, Programmation en nombres entiers
•
Différentiabilité :
•
Déterminisme :
• • •
Programmation linéaire : coût linéaire et contraintes linéaires (LP) Programmation quadratique : coût quadratique et contraintes linéaires (QP) Programmation non linéaire : cas général, fonctions quelconques (NLP)
Fonctions différentiables Méthodes à base de gradient Méthodes sans dérivées Les données du problème sont parfaitement connues Optimisation stochastique
Rappels d’analyse • Norme • Suite - Convergence
8
1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation
Max CERF 2018
Techniques d’optimisation 1.1.1 Norme
Norme vectorielle sur Rn •
Fonction
•
Norme p :
. : Rn R
x p
n
p
xi i 1
vérifiant p
•
Norme : x
•
Norme 2 = norme euclidienne
x 0 x 0 x 0 xy x y αx α x x2
max x i
x
i 1,..., n
x
x
2
Norme matricielle
x1
•
Norme induite sur Rmn par la norme vectorielle
•
Fonction
.
m n
: R mn R définie par
A
x
.
max m n
xR n , x 0
1
Ax x
9
1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation
Techniques d’optimisation
Max CERF 2018
1.1.1 Suite Suite dans Rn • Suite : xk , k=0,1,2,… = x0 , x1 , x2 ,…, xn, … •
Limite :
lim x k x * lim x k x *
k
k
Vitesse de convergence • Convergence linéaire : lent
x k 1 x * c x k x *
avec 0 c 1 à partir d’un certain rang k0
•
Convergence superlinéaire : bonne
x k 1 x * c k x k x *
avec lim c k 0 k à partir d’un certain rang k0
•
Convergence d’ordre p :
x k 1 x * c x k x *
•
Convergence quadratique si p=2 rapide
p
avec 0 c 1 à partir d’un certain rang k0
10
1 Bases théoriques 1.1 Définitions 1.1.2 Solution
Techniques d’optimisation
Max CERF 2018
1.1.2 Solution Solution admissible Minimum - Minimum local - Minimum global - Infimum Problèmes équivalents - Transformations simples Contrainte active Point intérieur
11
1 Bases théoriques 1.1 Définitions 1.1.2 Solution
Max CERF 2018
Techniques d’optimisation 1.1.2 Solution admissible
Solution admissible x solution admissible de (PO) x satisfait les contraintes (ou point admissible)
Ensemble admissible X adm x R n / c E (x) 0 , c I (x) 0 , x X
c E (x) 0 c I (x) 0 x X Non admissible
Illustration dans R2 • c1(x) = 0 courbe • c2(x) 0 région du plan • c3(x) 0 région du plan Dans Rn • c(x) = 0 •
aTx = 0
hypersurface (dimension n-1) hyperplan aRn (linéaire)
12
1 Bases théoriques 1.1 Définitions 1.1.2 Solution
Max CERF 2018
Techniques d’optimisation 1.1.2 Minimum
Minimum global (= meilleure solution dans l’absolu) x X adm , f(x*) f(x) • x* minimum global de (PO) • x* minimum global strict x X adm , f(x*) f(x) si x x * Minimum local (= meilleure solution dans un voisinage) ε 0 / x X adm , x x * ε , f(x*) f(x) • x* minimum local de (PO) • x* minimum local strict ε 0 / x X adm , x x * ε , f(x*) f(x) si x x * Sans contrainte
Avec contrainte f(x)
f(x)
minimum local strict
minimum global strict
minima locaux
Non admissible
minimum global strict x
Admissible Xadm
13
x
1 Bases théoriques 1.1 Définitions 1.1.2 Solution
Techniques d’optimisation
Max CERF 2018
1.1.2 Infimum Borne inférieure f : Rn R f bornée inférieurement sur Y Rn M R / x Y , M f(x) Infimum • Infimum de f sur Y = plus grande borne inférieure
inf Y f inf f(y) , y Y
•
Notation :
•
x Y , inf Y f f(x) Propriété : et M inf Y f , x Y / f(x) M
Théorème de Weierstrass • f atteint son infimum si f continue, Y compact : x* Y / f(x*) inf Y f •
Conditions réalisées en pratique : fonctions continues, intervalles fermés Le problème (PO) admet une solution x*.
14
1 Bases théoriques 1.1 Définitions 1.1.2 Solution
Techniques d’optimisation
Max CERF 2018
1.1.2 Problèmes équivalents Problèmes équivalents (PO1) et (PO2) sont deux problèmes équivalents si on peut associer à tout point admissible x1 de (PO1) un point admissible x2 de (PO2) avec la même valeur pour le critère. x1 X1adm f1(x1)
x2 X2adm f2(x2)
f1(x1)=f2(x2)
(PO1) et (PO2) ont alors des solutions de même coût : f1(x1*) = f2(x2*) Transformations simples • Changement de variable :
y= (x) avec strictement croissante sur X
•
Maximisation / minimisation :
max f(x) min f(x)
•
Contrainte inférieur / supérieur :
c(x) 0 c(x) 0
•
Variables positives :
•
Variables d’écart :
x
x
x 0 x x x avec x 0 c(x) y 0 c(x) 0 c(x) z 2 0 y 0
15
1 Bases théoriques 1.1 Définitions 1.1.2 Solution
Max CERF 2018
Techniques d’optimisation 1.1.2 Contrainte active
Contrainte active Une contrainte du problème (PO) est active (ou saturée) en x si elle s’annule en x. Ensemble des contraintes actives
j / c
C act (x) j / c Ej (x) 0 • •
Contrainte égalité cE : Contrainte inégalité cI :
Ij
(x) 0
x admissible cE(x) = 0 cE active en x x admissible cI(x) 0 cI active en x si cI(x) = 0 cI inactive en x si cI(x) < 0
Intérêt • Les contraintes inégalité inactives n’ont pas d’influence sur la solution x* du problème (PO). On peut les ignorer, si on identifie l’ensemble Cact(x*). Mais x* n’est pas connu au départ … •
Le problème (PO) est équivalent au problème (PO)act réduit aux contraintes actives prises comme des contraintes égalité.
c (x) 0 min f(x) sous E min f(x) sous c j (x) 0, j C act (x*) xR xR c I (x) 0 n
n
noté min f(x) sous c(x) 0 xR n
16
1 Bases théoriques 1.1 Définitions 1.1.2 Solution
Max CERF 2018
Techniques d’optimisation 1.1.2 Exemple
Contrainte active
x 1 min x 2 1 sous x* 1 xR x 2
f(x)
f(x)=x2
1. Minimum sans contrainte min x 2 1 x* 0 xR
• •
Respecte la contrainte x2 Ne respecte pas la contrainte x 1 Activation de la contrainte x = 1
2. Minimum avec contrainte active x = 1
admissible
0
1
x
2
min x 2 1 sous x 1 x* 1 xR
• •
Respecte la contrainte Respecte la contrainte Solution du problème
3. Bilan :
x2 x1
1 contrainte active x 1 1 contrainte inactive x 2
Minimum sans contrainte Minimum avec contrainte
transformée en égalité ignorée
17
1 Bases théoriques 1.1 Définitions 1.1.2 Solution
Max CERF 2018
Techniques d’optimisation 1.1.2 Point intérieur
Point intérieur y point intérieur à Y ε 0 / z, z - y ε , z Y Il existe un voisinage de y contenu dans Y : Un problème avec contraintes égalité n’admet pas de point intérieur
Solution intérieure aux contraintes • x* minimum local du problème avec contraintes inégalité • Si x* est un point intérieur, alors x* minimum local du problème sans contraintes
Point intérieur - Contrainte inactive
min f(x) sous c I (x) 0 xR n
min f(x) xR n
plus simple
Contrainte active
x* x*
18
1 Bases théoriques 1.1 Définitions 1.1.2 Solution
Max CERF 2018
Techniques d’optimisation 1.1.2 Exemple
Point intérieur
min x 2 1 sous x 1 x* 0
f(x)
f(x)=x2
xR
1. Ensemble admissible
X adm x R / x 1 ] ,1] 2. Ensemble intérieur à la contrainte
X int x R / x 1 ] ,1[ X int X adm 1 xXint
voisinage de x inclus dans Xint intervalle ouvert
admissible
0
1
x
Minimum avec contrainte
3. Solution : x*=0 x*Xint intérieur à la contrainte contrainte inactive
19
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Techniques d’optimisation
Max CERF 2018
1.1.3 Différentiabilité Définitions - Dérivée partielle - Dérivée directionnelle - Gradient – Hessien – Jacobien Théorème de Taylor - Ordre 1 et 2 - Modèle quadratique-linéaire - Ligne de niveau Dérivées numériques - Différences finies - Erreurs numériques - Incrément - Dérivée complexe - Méthode d’extrapolation
20
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Max CERF 2018
Techniques d’optimisation 1.1.3 Gradient
Différentiabilité ordre 1 f fonction continue de Rn dans R Dérivée partielle f(x) f(x ,.., x i s,.., x n ) f(x1 ,.., x i ,.., x n ) lim 1 Dérivée partielle de f en x par rapport à xi : f x i (x) x i s0 s si la limite existe Gradient Gradient de f en x : g(x) f(x) g(x) : R n R n si toutes les dérivées partielles existent
f(x) g(x) x i i 1,..., n
Dérivée directionnelle Dérivée directionnelle de f en x dans la direction dRn : si la limite existe (dérivée directionnelle = produit scalaire avec le gradient)
f(x) x 1 ... f(x) x n
f(x sd) - f(x) s 0 s
f d (x) lim
f d (x) g(x) T d
Fonction différentiable f différentiable en x f admet une dérivée directionnelle pour tout dRn
21
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Max CERF 2018
Techniques d’optimisation 1.1.3 Hessien
Différentiabilité ordre 2 f fonction deux fois différentiable de Rn dans R Hessien Hessien de f en x : H(x) 2 f(x) H(x) : R n R nn
2 f(x) H(x) x i x j i, j1,..., n
2 f(x) 2 x1 ... 2 f(x) x n x 1
2 f(x) ... x 1x n ... ... 2 f(x) ... 2xn
Courbure On définit pour une direction d Rn au point x la fonction à une variable : (s) = f(x+sd) variation de f dans la direction d • •
' (0) d T g(x) Dérivée première : ' (s) d T f(x sd) T Dérivée seconde : ' ' (s) d T 2 f(x sd)d ' ' (0) d H(x)d
d T H(x)d La courbure de f en x dans la direction d est définie par : dTd normalisation de ’’ en s=0 = quotient de Rayleigh de H(x) dans la direction d
22
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Max CERF 2018
Techniques d’optimisation 1.1.3 Jacobien
Matrice gradient c fonction continue de Rn dans Rm Gradient de c en x : c(x) : R n R nm
c j (x) c(x) c1 (x) ,..., c m (x) x i i 1,..., n j1,..., m Matrice jacobienne (« jacobien » = déterminant de Jc)
c1 (x) c (x) J c (x) c(x) T ... i x j i 1,..., n T j1,..., m c (x) m T
c m (x) c1 (x) ... x 1 x 1 ... ... ... c1 (x) c m (x) ... x x n n
c1 (x) c1 (x) ... x x 1 n ... ... ... c m (x) c m (x) ... x x n 1
Contraintes du problème (PO) Matrice jacobienne regroupant les contraintes égalité cE et les contraintes inégalité cI
J(x) : R R n
( p q) n
J E (x) c E (x) T J(x) T J I (x) c I (x)
23
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Techniques d’optimisation
Max CERF 2018
1.1.3 Théorème de Taylor Théorème de Taylor n f fonction de Rn dans R : x R f(x) R dRn : déplacement à partir de x •
Ordre 1 f continument différentiable 1 fois au voisinage de x
f(x d) f(x) f(x) T d o d Il existe s[0,1] tel que : •
f(x d) f(x) f(x sd) T d
Ordre 2 f continument différentiable 2 fois au voisinage de x f(x d) f(x) f(x) T d
1 T 2 d f(x)d o d 2
2
Il existe s[0,1] tel que : f(x d) f(x) f(x) T d
1 T 2 d f(x sd)d 2
24
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Techniques d’optimisation
Max CERF 2018
1.1.3 Modèle quadratique-linéaire Problème avec contraintes égalité minn f(x) sous c(x) 0 contrainte actives xR
Fonction modèle • Application du théorème de Taylor au point x0Rn •
1 T T 2 Modèle quadratique du critère : fˆ0 (x) f(x 0 ) f(x 0 ) (x x 0 ) (x x 0 ) f(x 0 )(x x 0 ) 2
•
Modèle linéaire des contraintes : cˆ 0 (x) c(x 0 ) c(x 0 ) T (x x 0 )
Problème quadratique-linéaire local ˆ Au voisinage de x0 : f (x) f 0 (x) c(x) cˆ 0 (x)
min fˆ0 (x) sous cˆ 0 (x) 0 Problème quadratique-linéaire xR - localement « proche » du problème initial - plus simple à résoudre n
25
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Techniques d’optimisation
Max CERF 2018
1.1.3 Exemple Modèle quadratique : fonction de 1 variable •
Fonction :
f ( x ) x 4 12x 3 47 x 2 60x
•
Gradient :
f ( x ) 4x 3 36x 2 94x 60
•
Hessien :
2 f ( x ) 12x 2 72x 94
•
Modèle quadratique en x0 = 3 :
f ( x 0 ) 0 , f ( x 0 ) 6 , 2 f ( x 0 ) 14
1 2 fˆ0 ( x ) 6x 3 14x 3 7 x 2 48x 81 2
•
Modèle quadratique en x0 = 4 :
f ( x 0 ) 0 , f ( x 0 ) 4 , 2 f ( x 0 ) 2
1 2 fˆ0 ( x ) 4x 4 2x 4 x 2 4x 2
•
Modèle quadratique en x0 = 5 :
f ( x 0 ) 0 , f ( x 0 ) 10 , 2 f ( x 0 ) 34
1 2 fˆ0 ( x ) 10x 5 34x 5 17 x 2 160x 375 2
26
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Techniques d’optimisation
Max CERF 2018
1.1.3 Exemple Modèle quadratique : fonction de 2 variables
1 x 2
fonction de Rosenbrock
Fonction :
f ( x 1 , x 2 ) 100 x 2 x 12
Gradient :
400 x 2 x 12 x 1 21 x 1 f ( x ) 2 200 x 2 x 1
•
Hessien :
400 x 2 3x12 2 400x1 f ( x ) 400 x 200 1
•
0 802 400 Modèle quadratique en x0 = (1,1) : f ( x 0 ) 0 , f ( x 0 ) , 2 f ( x 0 ) 0 400 200
•
•
2
1 x 1 fˆ0 ( x 1 , x 2 ) 1 2 x 2 1
T
2
1
802 400 x 1 1 x 1 400 200 2
2 2 fˆ0 ( x 1 , x 2 ) 401x 1 1 400x 1 1x 2 1 100x 2 1
27
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Max CERF 2018
Techniques d’optimisation 1.1.3 Résultats utiles
Gradient d’une fonction scalaire • Le gradient de f : Rn R en x est le vecteur g Rn tel que
f(x d) f (x) g T d o d , d R n 1 • Fonction quadratique : f(x) x T Qx c T x b Q matrice symétrique 2 1 1 T f(x d) (x d)T Q(x d) cT (x d) b f(x) Qx c d d T Qd 2 2 f(x) Qx c Gradient d’une fonction vectorielle • Le gradient de f : Rn Rp en x est la matrice GRnp telle que
2f(x) Q
f(x d) f(x) GT d o d , d R n
•
f(x) h g(x)
Fonction composée :
avec f : R n R p , g : R n R m , h : R m R p
f(x d) 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) •
T Fonction linéaire : g(x) Ax g(x d) Ax Ad g(x) A
f(x) h Ax f(x) A T h Ax
28
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Max CERF 2018
Techniques d’optimisation 1.1.3 Ligne de niveau
Définition • Ligne (ou surface) de niveau l0 de la fonction f hypersurface dans Rn (sous-espace de dimension n-1) L 0 x R n / f(x) l 0
•
Ligne de niveau passant par x0 T L 0 x R n / f(x) f(x 0 ) avec f(x) f(x 0 ) f(x 0 ) (x x 0 ) o x x 0
à l' ordre1
Gradient x L 0 f(x) f(x 0 ) f(x 0 ) T (x x 0 ) 0 hyperplan tangent à L0 en x0 Le gradient de f est orthogonal aux lignes de niveaux. f(x1,x2)
x2
x2 x* x*
f
f
x1
x1
29
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Max CERF 2018
Techniques d’optimisation 1.1.3 Exemple
Ligne de niveau : fonction quadratique
f ( x 1 , x 2 ) x 12 25x 22 x2
0.2
f=0
0,5
x1
1
30
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Max CERF 2018
Techniques d’optimisation 1.1.3 Exemple
Ligne de niveau : fonction de Rosenbrock
f ( x1 , x 2 ) 100 x 2 x12
1 x 2
2
1
5,0
Lignes de niveau f=0.5 , 1 , 4 , 7 , 10
4,0
3,0
2,0
1,0
Minimum en x*=(1,1) 0,0 -2,5
-2,0
-1,5
-1,0
-0,5
0,0
-1,0
0,5
1,0
1,5
2,0
2,5
31
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Techniques d’optimisation
Max CERF 2018
1.1.3 Dérivées numériques Différences finies Les expressions analytiques de f(x) et 2f(x) ne sont généralement pas disponibles. Evaluation par différences finies avec incrément h appliqué successivement sur chaque variable x x he i
1
i 1 i i 1
n
avec e i (0, , 0 ,1, 0 , , 0) T , i 1 à n
Gradient •
•
f(x he i ) f(x) f (x) o( h ) Différence finie simple : x h i amont si h0 n appels fonction pour évaluer f(x) f(x he i ) f(x he i ) f (x) o( h 2 ) Différence finie centrée : x i 2h plus précis 2n appels fonction pour évaluer f(x)
Hessien •
f(x he i he j ) f(x he i ) f(x he j ) f(x) 2f (x) o( h ) Différence finie simple : x i x j h2
n(n+1)/2+n appels fonction pour évaluer 2f(x)
32
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Techniques d’optimisation
Max CERF 2018
1.1.3 Dérivées numériques Sources d’erreurs L’ évaluation d’une dérivée par différence finie génère 2 types d’erreurs : • Erreur d’arrondi (ou de conditionnement) • Erreur de troncature
Erreur d’arrondi Les réels sont représentés en mémoire machine calcul avec une précision finie. La précision machine m est le plus petit réel tel que : 1 + m 1 erreur relative m=10-16 sur la valeur d’un réel x en double précision erreur relative r sur la valeur évaluée de f(x) r >> m par cumul des erreurs au cours des opérations pour passer de x à f(x) f eval (x) f exact (x)(1 ε r ) f exact (x) ε f f = erreur absolue sur f Erreur de troncature L’ évaluation d’une dérivée par différence finie tronque le développement de Taylor à l’ordre 1. •
•
1 2 h f' ' (x 0 sh) avec s 0,1 2 1 avec ε t M majorant de f ' ' ( x ) sur x 0 , x 0 d f(x 0 h) f(x 0 ) hf' (x 0 ) h 2 ε t 2 f(x 0 h) f(x 0 ) hf' (x 0 )
33
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Techniques d’optimisation
Max CERF 2018
1.1.3 Dérivées numériques Erreur sur la dérivée ' f eval (x 0 )
f eval (x 0 h) f eval (x 0 ) h
avec
• •
f eval (x 0 ) f exact (x 0 ) f eval (x 0 h) f exact (x 0 h)
εf εf
•
' f exact (x 0 h) f exact (x 0 ) hf exact (x 0 )
arrondi sur feval(x0) arrondi sur feval(x0+h)
1 2 h εt 2
En remplaçant dans l’expression de f’eval(x0) : f exact (x 0 h) f exact (x 0 ) 2ε f h hε 2ε ' ' f eval (x 0 ) f exact (x 0 ) t f 2 h
' f eval (x 0 )
troncature sur fexact(x0+h) 1 2 h ε t 2ε f 2 h
' hf exact (x 0 )
L’erreur maximale sur la dérivée numérique est :
f '
hε t 2ε f 2 h
34
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Techniques d’optimisation
Max CERF 2018
1.1.3 Dérivées numériques Incrément optimal •
On choisit l’incrément pour minimiser l’erreur : min f ' h
d f ' ε t 2ε f 2 0 dh 2 h
h opt 2
εf εt
hε t 2ε f 2 h
f ' 2 ε f ε t
•
hopt Règle empirique de réglage de l’incrément En supposant que l’ordre de grandeur de la dérivée seconde est de l’ordre de 1 : h opt ε f
incrément de l’ordre de la racine de la précision d’évaluation de f
f ' ε f
précision sur f’ de l’ordre de la racine de la précision d’évaluation de f (2 fois moins de chiffres significatifs)
35
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Max CERF 2018
Techniques d’optimisation 1.1.3 Exemple
Dérivée numérique f ( x ) x 4 x 2 f ' ( x ) 4x 3 2x • •
Dérivée en x=1 : f(1) = 6 f (x h) f (x) f ' (x) Dérivée numérique avec incrément h erreur e(h ) h h 1E-01 1E-02 1E-03 1E-04 1E-05 1E-06 1E-07 1E-08 1E-09 1E-10 1E-11 1E-12 1E-13 1E-14 1E-15
(f(x+h)-f(x))/h 6,7410000000 6,0704010000 6,0070040010 6,0007000400 6,0000700004 6,0000069997 6,0000007007 6,0000000079 6,0000004964 6,0000004964 6,0000004964 6,0005334035 5,9952043330 5,9952043330 6,6613381478
Erreur 7,410E-01 7,040E-02 7,004E-03 7,000E-04 7,000E-05 7,000E-06 7,007E-07 7,944E-09 4,964E-07 4,964E-07 4,964E-07 5,334E-04 -4,796E-03 -4,796E-03 6,613E-01
1
log(h) -16
-14
0 -12
-10
-8
-6
-4
-2
-1 -2 -3 -4 -5 -6
log(e)
-7 -8 -9
incrément adapté
36
0
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Max CERF 2018
Techniques d’optimisation 1.1.3 Dérivées numériques
Dérivée complexe On peut améliorer la précision sur la dérivée par différence finie en nombres complexes. •
•
h2 h3 Développement de f en x0 : f ( x 0 h ) f ( x 0 ) hf ' ( x 0 ) f ' ' ( x 0 ) f ' ' ' ( x 0 ) o h 3 2 6 Estimation de la dérivée avec un incrément réel h f (x 0 h) f (x 0 ) h h2 f ' (x 0 ) f ' ' (x 0 ) f ' ' ' (x 0 ) o h 2 h 2 6
précision de l’ordre de h h εf
L’incrément h ne peut pas être choisi trop petit à cause de l’erreur d’arrondi
•
Estimation de la dérivée avec un incrément imaginaire ih f ( x 0 ih ) f ( x 0 ) h h2 if ' ( x 0 ) f ' ' ( x 0 ) i f ' ' ' ( x 0 ) o h 2 h 2 6 h2 f ( x 0 ih ) f ( x 0 ) 2 Im f ' (x 0 ) f ' ' ' (x 0 ) o h h 6
L’incrément h peut être choisi à la précision machine car il ne porte que sur la partie imaginaire de f
précision de l’ordre de h2
h εf
37
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Techniques d’optimisation
Max CERF 2018
1.1.3 Dérivées numériques Dérivée complexe • La dérivée numérique est évaluée par différence finie complexe.
•
f ( x 0 ih ) f ( x 0 ) f ' ( x 0 ) Im h Il faut que l’ensemble du logiciel soit écrit en variables complexes pour propager l’incrément imaginaire ih de x0+ih à f(x0+ih). Programmation directe en déclarant des variables complexes ou Surcharge d’opérateurs pour effectuer toutes les opérations en complexes
Exemple f ( x ) x 2 f ' ( x ) 2x • •
f (x 0 h) f (x 0 ) (x 0 h)2 (x 0 )2 Différence finie réelle : 2x 0 h erreur = h h h f ( x 0 ih ) f ( x 0 ) ( x 0 ih ) 2 ( x 0 ) 2 Différence finie imaginaire : 2ix 0 h 2 h h f ( x 0 ih ) f ( x 0 ) valeur exacte Im 2x 0 h
38
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Techniques d’optimisation
Max CERF 2018
1.1.3 Dérivées numériques Méthode d’extrapolation • La dérivée de f en x0 est par définition :
f(x 0 h ) f(x 0 ) h 0 h
f' (x 0 ) lim
L’approximation par différence finie comporte une erreur de troncature en o(h). La réduction de l’incrément h introduit une erreur d’arrondi liée à la précision machine. Pour améliorer la précision, on peut appliquer la méthode d’extrapolation de Richardson. •
On cherche la limite a0 d’une fonction A(h) non définie en h = 0.
lim A(h ) a 0 h 0
→ à évaluer
Le développement de Taylor à l’ordre n de A en 0 est A ( h ) a 0 a 1h a 2 h 2 a n h n o ( h n ) •
La méthode d’extrapolation de Richardson consiste à : - évaluer la fonction A en plusieurs points h0 , h1 , … , hm - combiner les valeurs Ak = A(hk) pour éliminer les termes du développement de Taylor
39
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Max CERF 2018
Techniques d’optimisation 1.1.3 Extrapolation
Développement de Taylor • On choisit un incrément h > 0 et un rapport r : 0 < r < 1. La fonction A est évaluée en m+1 points h0 , h1 , … , hm définis par : h k r k h Pour r •
1 2
(valeur usuelle) :
h 0 h , h1
h h h , h2 , h3 , 2 4 8
On calcule les valeurs de A aux points hk : A k ,0 A(h k )
→ m+1 valeurs de rang 0
def
En utilisant le développement de Taylor : on obtient à l’ordre n : A 0,0 A 1,0 A 2, 0 A m ,0
•
A ( h ) a 0 a 1h a 2 h 2 a n h n o ( h n )
A ( r 0 h ) a 0 a 1h a 2 h 2 A(r1h ) a 0 a1rh a 2 r 2 h 2 A ( r 2 h ) a 0 a 1r 2 h a 2 r 4 h 2
anhn o( h n ) a n r n h n o( h n ) a n r 2 n h n o( h n )
A(r m h ) a 0 a1r m h a 2 r 2 m h 2 a n r mn h n o(h n )
Les m+1 valeurs Ak,0 de rang 0 sont ensuite combinées pour éliminer les termes en h. → m valeurs Ak,1 de rang 1
40
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Techniques d’optimisation
Max CERF 2018
1.1.3 Extrapolation Elimination des termes en h • On définit les m valeurs Ak,1 de rang 1 à partir des m+1 valeurs Ak,0 de rang 0. A k ,1
A k ,0 rA k 1,0
def
•
1 r
pour k = 1 à m
Ces combinaisons gardent le terme a0 et éliminent les termes en h du développement de Taylor.
A1,1 A 2,1 A 3,1 A m ,1
a 0 b2h 2 bn h n o( h n ) a 0 b 2 r 2 h 2 b n r n h n o( h n ) a 0 b 2 r 4 h 2 b n r 2 n h n o( h n ) a 0 b 2 r 2 m h 2 b n r mn h n o(h n )
Les termes d’ordre supérieur en h2, … , hn ont les mêmes coefficients b2, … , bn. •
On élimine de la même façon les termes en h2 → m1 valeurs Ak,2 de rang 2 puis les termes en h3 → m2 valeurs Ak,3 de rang 3 ………………… jusqu’aux termes en hm → 1 valeur Am,m de rang m
41
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Techniques d’optimisation
Max CERF 2018
1.1.3 Extrapolation Elimination des termes jusqu’à hm • On applique la formule de récurrence entre le rang j1 et le rang j.
A k, j
def
•
A k , j1 r jA k 1, j1 1 r j
pour k = j à m , et j = 1 à m
En pratique on dispose les calculs en colonnes. A0,0
A1,1
A2,2
A1,0
A2,1
A3,2
A2,0
A3,1
A3,3
Am,m
A3,0
Am1,0
Am,1
Am,0
•
Les termes de rang j sont des approximations de a0 à l’ordre hj. m ( m 1) m 1 h Le dernier terme Am,m est une approximation de a0 à l’ordre hm : A m ,m a 0 r
42
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Techniques d’optimisation
Max CERF 2018
1.1.3 Extrapolation Dérivée première et seconde • Pour évaluer les dérivées premières et secondes de f en x0, on définit 2 fonctions A(h) et B(h). A(h )
f ( x 0 rh ) f ( x 0 h ) (r 1)h
B(h ) 2
•
f ( x 0 rh ) rf ( x 0 h ) (r 1)f ( x 0 ) r (r 1)h 2
Les développements de Taylor de A et B en h=0 sont
1 r2 1 1 r n 1 n 1 ( n ) A(h ) f ' ( x 0 ) hf ' ' ( x 0 ) h f (x 0 ) 2 r 1 n! r 1 1 r2 1 2 r n 1 1 n 2 ( n ) B(h ) f ' ' ( x 0 ) hf ' ' ' ( x 0 ) h f (x 0 ) 3 r 1 n! r 1 •
La méthode d’extrapolation de Richardson appliquée aux fonctions A(h) et B(h) permet d’évaluer les dérivées premières et secondes de f en x0.
43
1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité
Max CERF 2018
Techniques d’optimisation 1.1.3 Extrapolation
Dérivée première et seconde • On choisit un incrément initial h, un rapport r entre 0 et 1 et un ordre d’extrapolation m. La fonction f est évaluée en x0+h0 , x0+h1 , … , x0+hm avec h k r k h f k f ( x 0 h k )
•
Les termes de rang 0 des fonctions A(h) et B(h) sont calculés à partir des valeurs fk.
A k ,0 A(h k )
f k 1 f k (r 1)h k
B k ,0 B(h k ) 2
f k 1 rf k (r 1)f ( x 0 ) r (r 1)h 2k
•
Les termes Am,m et Bm,m de rang m sont des approximations de f(x0) et f (x0).
•
En pratique l’ordre d’extrapolation m est limité par la précision machine . A m ,m a 0 r m ( m 1) h m 1 r m h m 2
(en supposant a0 ≈ 1)
log h (log h ) 2 4 log r log m 2 log r
Exemple : r=0.5 , =1016 , h=104 h=108
→ m 0 si A est définie positive
sinon on modifie dj en cours de factorisation dj = max( , dj) , > 0
75
1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation
Max CERF 2018
1.2.1 Exemple Factorisation LDLT d’une matrice 22
A
L
D
a 11 a 21 1 0 d1 a a l 1 22 21 21 0 •
LT 0 1 l 21 d 2 0 1
d1 a 11 a 21 l 21 d1 d 2 a 22 d1l 221
Exemple
802 400 A 400 200
1 0 0 802 , D L 0 . 4988 1 0 0 . 4988
Les éléments de la matrice diagonale D sont positifs
Valeurs propres de A :
A est définie positive
1 1001.60 2 0.39936
76
1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation
Max CERF 2018
1.2.1 Factorisation LDLT Méthode de Cholesky modifiée A matrice nn symétrique matrice A’ définie positive « proche » de A (A’ = A si A est définie positive) A’ = LDLT avec L triangulaire inférieure, D diagonale positive • Notations : A=(aij) , L=(lij) , D=(dij) , i,j=1,…,n •
Algorithme Pour j = 1,2,…,n
Modification pour rendre dj > 0 (si A n’est pas définie positive)
j1
c jj a jj d s l 2js d j c jj
s 1
Pour i = j+1,…,n j1
c ij a ij d s l is l js s 1
l ij
c ij dj
Si dj
2 j d j max c jj , , avec j max c ij j i n
d j m ij l ij d j , i j 1,..., n Paramètres : > 0 petit ( = 10-3) >0 ( = 1)
Fin boucle i Fin boucle j
77
1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire
Techniques d’optimisation
Max CERF 2018
1.2.1 Système linéaire Système linéaire
Ax b
avec
A R m n m b R x R n
matrice de rang r : rang(A) = r m équations n inconnues
Le rang de A est la dimension du sous-espace engendré par A (image de A).
Im(A) y Ax, x R n
r = dim(Im(A)) m,n
Solutions possibles • Pas de solution : système incompatible (m>n : plus d’équations que d’inconnues) • Solution unique : système non singulier (m=n : autant d’équations que d’inconnues) • Infinité de solutions : système sous-déterminé (m> pN A partir de matrices orthogonales • ZpZ = déplacement dans le noyau x minimisation de f • YpY = déplacement orthogonal à ZpZ restauration de Ax=b pY =0 si x0 est admissible car pZ conserve les contraintes meilleur conditionnement x2 pZ pN Ax=b pB x1
111
1 Bases théoriques 1.2 Contraintes linéaires 1.2.4 Projection
Techniques d’optimisation
Max CERF 2018
1.2.4 Projection Projection orthogonale sur un hyperplan Projection sur le noyau
112
1 Bases théoriques 1.2 Contraintes linéaires 1.2.4 Projection
Max CERF 2018
Techniques d’optimisation 1.2.4 Projection
Projection orthogonale sur un hyperplan La projection orthogonale de x0Rn sur l’hyperplan d’équation Ax=b est le point x solution de
minn x x 0 sous Ax b point xP de l’hyperplan le plus proche de x0 xR
•
Problème quadratique équivalent 1 1 2 T min x x 0 x x 0 x x 0 sous Ax b xR 2 2 1 T T Lagrangien : L( x, ) x x 0 x x 0 b Ax 2
xP
n
• •
Condition d’ordre 1 x x 0 A T 0 Ax b
x0
AA T 1 b Ax Ax AA T Ax 0 0 Ax b T T 1 x x 0 A AA b Ax 0
x P I A T AA T
1
A x 0 A T AA T
•
Solution :
•
Projection de x0 sur le noyau de A : Ax=0
1
b
A x AA A
x P I A T AA T
matrice de projection : P I A T
1
0
T 1
113
1 Bases théoriques 1.3 Contraintes non linéaires
Techniques d’optimisation
Max CERF 2018
Sommaire 1.
Bases théoriques 1.1 Définitions 1.2 Contraintes linéaires 1.3 Contraintes non linéaires 1.3.1 Direction admissible 1.3.2 Déplacement admissible 1.4 Conditions d’optimalité
2. 3. 4. 5.
Optimisation sans contraintes Optimisation avec contraintes Optimisation discrète Optimisation fonctionnelle
114
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible
Techniques d’optimisation
Max CERF 2018
1.3.1 Direction admissible Indépendance linéaire Direction admissible à la limite
Cône des directions Qualification des contraintes
115
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible
Techniques d’optimisation
Max CERF 2018
1.3.1 Indépendance linéaire Contraintes linéaires Pour des contraintes linéaires Ax=b, ARmn, si A est de rang déficient : rang(A) = r < m, on peut toujours extraire de A une sous-matrice ÃRrn de rang plein : rang(Ã) = r, telle que ~ ~ Ax b Ax b élimination des contraintes redondantes (cf §1.2.1) Contraintes non linéaires Pour des contraintes non linéaires, on considère un modèle linéaire local. • •
x0 point admissible : c E (x 0 ) 0 c(x 0 ) 0 (contraintes actives en x0) c (x ) 0 I 0 Contraintes actives linéarisées : cˆ 0 (x) c(x 0 ) c(x 0 ) T (x x 0 ) avec c(x0)=0 cˆ 0 (x) 0 c(x 0 ) T x c(x 0 ) T x 0 Ax b On se ramène au cas de contraintes linéaires avec A = c(x0)T (gradient des contraintes actives)
Condition d’indépendance linéaire Les contraintes sont dites linéairement indépendantes en x0 si les gradients des contraintes actives sont linéairement indépendants en x0. La matrice jacobienne des contraintes actives J(x0)=c(x0) est de rang plein.
116
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible
Max CERF 2018
Techniques d’optimisation 1.3.1 Exemple
Indépendance linéaire • 1 contrainte égalité + 1 contrainte inégalité dans R2 x1 c1 ( x ) x 2 x 12 0 2 x R 2 2 c ( x ) x x 1 1 0 x 2 1 2 2 •
1 x En 1 2 c1 1
2,0
1,5
2 c 2 0
1,0
linéairement indépendants •
En
0 x 0 0 c1 1
0,5
0,0
0 c 2 2
linéairement dépendants
-2,0
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
-0,5
-1,0
117
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible
Techniques d’optimisation
Max CERF 2018
1.3.1 Direction admissible Définition générale • •
c (x ) 0 x point admissible : c E(x 0) 0 c(x 0 ) 0 I 0
(contraintes actives en x0)
d direction admissible à partir de x η 0 / s , 0 s η , x sd admissible On peut se déplacer sur un segment de longueur suivant d à partir de x en restant admissible.
Applicabilité • Applicable aux contraintes inégalité et aux contraintes égalité linéaires
d
d
•
Inapplicable aux contraintes égalité non linéaires
d
Définition à partir de suites de points admissibles
118
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible
Max CERF 2018
Techniques d’optimisation 1.3.1 Direction admissible à la limite
Suite de points admissibles x point admissible
k , x x k Définition : (xk)kN suite admissible en x lim x k x k k / k k , x admissible 0 k 0
Direction admissible à la limite •
On considère la suite des directions dk reliant xk à x : d k
xk x xk x
•
Définition d direction admissible à la limite en x pour la suite (xk)k N d ki d Il existe une sous-suite d k i iN telle que : lim i
x1
•
Direction admissible à la limite = direction tangente
x2
d1
xk x
d
d2 dk
119
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible
Max CERF 2018
Techniques d’optimisation 1.3.1 Cône des directions
Définition x point admissible • •
Le cône des directions D(x) en x est l’ensemble des directions 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
d D( x )
direction tangente aux contraintes égalité direction intérieure aux contraintes inégalité actives
Propriété Toute direction admissible à la limite en x appartient au cône des directions en x Preuve : (xk) suite admissible de limite x
c (x ) 0 directions d xk x E k k xk x c I (xk ) 0 c(xk ) c(x) c(x)T (xk x) o xk x
c contrainte active en x : c(x)=0 c(xk ) c(x) o xk x c(xk ) 0 (égalité) c(x)T d k c(x)T d lim k x x xk x xk x 0 (inégalité) k
120
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible
Techniques d’optimisation
Max CERF 2018
1.3.1 Qualification Caractérisation des directions admissibles • Le cône des directions D(x) au point x admissible est simple à manipuler en pratique. c E (x) T d 0 pour toutes les contraintes égalité d D( x ) T pour les contraintes inégalité actives en x c I (x) d 0 •
Toutes les directions admissibles à la limite en x appartiennent à D(x), mais D(x) peut contenir également des directions non admissibles. D(x) ne caractérise pas les directions admissibles.
Qualification des contraintes Les contraintes vérifient la condition de qualification au point admissible x si toute direction du cône D(x) est admissible à la limite. Condition très importante dans les algorithmes Conditions suffisantes de qualification des contraintes • Contraintes linéaires : Ax=b ou • Contraintes linéairement indépendantes en x : c(x) de rang plein réalisable simplement en pratique par extraction d’une sous-matrice de rang plein
121
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
Techniques d’optimisation
Max CERF 2018
1.3.2 Déplacement admissible Principes Elimination directe
Réduction généralisée Restauration
122
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
Techniques d’optimisation
Max CERF 2018
1.3.2 Déplacement admissible Problème sous contraintes non linéaires
c (x) 0 min f(x) sous E xR c I ( x ) 0 n
•
On cherche à construire un déplacement p admissible et améliorant à partir d’un point initial x 0. On se ramène à un problème avec contraintes égalité (contraintes actives en x 0).
min f(x) sous c( x ) 0 xR n
•
m contraintes actives en x0
c( x p) 0 Les n composantes du déplacement p doivent vérifier : 0 f ( x 0 p) f ( x 0 )
Méthodes possibles • Elimination directe On exprime m variables à partir des 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 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
Techniques d’optimisation
Max CERF 2018
1.3.2 Elimination directe Principe
min f(x) sous c( x ) 0 xR n
m contraintes actives
•
m n m Les contraintes sont de la forme : c( x ) c( x lié , x libre ), x lié R , x libre R
•
Si l’on sait résoudre : le problème devient :
c( x lié , x libre ) 0 x lié ( x libre )
min (x libre ) avec ( x libre ) f ( x lié , x libre ) f (( x libre ), x libre )
x libre R n m
def
problème de dimension n-m, sans contrainte
Difficultés • Il faut faire attention au domaine de définition des variables (contraintes implicites) voir exemples •
Il faut disposer de l’expression analytique des fonctions (rarement réalisé en pratique)
124
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
Max CERF 2018
Techniques d’optimisation 1.3.2 Exemples 3,0
Elimination directe • Exemple 1 :
min x 12 x 22 sous x 12 x 22 1 x1 , x 2
1,0
Elimination de x1 : x x 1 x 1 x 2 1
2 2
min 1 2x x2
2 1
2 2
2 2
Exemple 2 :
x2 0
-3,0
-2,0
-1,0
0,0
1,0
2,0
3,0
-1,0 -2,0 -3,0 1,5
min x 12 x 22 sous x 12 4x 22 1 x1 , x 2
Elimination de x1 : x 4x 1 x 1 4x 2 1
x*
0,0
x 1 Solution correcte : x 1 0 2 •
contrainte
lignes de f2,0
2 2
2 1
lignes de f
contrainte
1,0
2 2
x* 0,5
min 1 3x 22 x 2 x2
Solution incorrecte 2 2 Contrainte implicite : x 1 0 1 4x 2 0 1 1 x2 2 2 à prendre en compte explicitement dans la résolution
0,0 -1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
-0,5 -1,0 -1,5
125
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
Max CERF 2018
Techniques d’optimisation 1.3.2 Réduction généralisée
Principe min f(x) sous c( x ) 0 xR n
m contraintes actives
On construit le déplacement p à partir du point initial x0 en 2 étapes : p = p1 + p2 •
•
•
Etape de linéarisation + réduction Le déplacement p1 améliore le critère en supposant un modèle linéaire des contraintes en x0. linéarisation des contraintes en x0 application de la méthode de réduction de contraintes linéaires x2 p 2 On obtient un nouveau point : x1 = x0 + p1 Etape de restauration Les contraintes actives (non linéaires) ne sont pas respectées en x1. Le déplacement p2 restaure un point admissible à partir du point x1. linéarisation des contraintes en x1 résolution d’un système sous-déterminé c(x)=0 On obtient un nouveau point : x2 = x1 + p2 c(x)=c1
x1 p1 x0
Le point x2 doit être : - admissible pour l’ensemble des contraintes (actives et inactives en x0) - meilleur que x0 (f(x2) < f(x0))
126
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
Max CERF 2018
Techniques d’optimisation 1.3.2 Réduction généralisée
Etape de linéarisation + réduction m contraintes actives min f(x) sous c( x ) 0 xR n
•
On linéarise les contraintes au point initial x0 : cˆ 0 (x) c(x 0 ) c(x 0 ) T (x x 0 )
•
Le déplacement p est admissible pour les contraintes linéaires si cˆ 0 (x 0 p) 0 c(x 0 ) c(x 0 ) T p 0
•
A0p b0
A 0 c(x 0 ) T avec b 0 c(x 0 )
On applique la méthode de réduction de contraintes linéaires. Le déplacement est décomposé en p = YpY + ZpZ avec Z base du noyau de A0
min f(x 0 p) sous A 0 p b 0 min (p Z ) f x 0 YA 0 Y b 0 Zp Z pR
n
p Z R
n -m
1
c(x)=0
problème à nm variables sans contraintes déplacement p1 •
Le nouveau point x1 = x0 + p1 - est meilleur que x0 : f(x1) < f(x0) - ne vérifie pas les contraintes : c(x1) = c1 0
c(x)=c1 x0
p1
x1
127
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
Techniques d’optimisation
Max CERF 2018
1.3.2 Réduction généralisée Etape de restauration • Les contraintes actives ne sont pas vérifiées en x1 : c(x1) = c1 0 On cherche un déplacement p2 à partir de x1 tel que : c(x1+p2) = 0 système non linéaire sous-déterminé de m équations à n inconnues •
On linéarise les contraintes au point x1 : cˆ 1 (x) c(x1 ) c(x1 ) T (x x 1 ) On obtient un système linéaire sous-déterminé de m équations à n inconnues. cˆ 1 (x1 p) 0 c(x1 ) c(x1 ) T p 0
T A1p b1 avec A1 c(x1 ) b1 c(x1 )
Résolution du système • Il faut recalculer les gradients des contraintes en x1 très coûteux (mn appels fonction) On fait l’approximation que : c(x1 ) c(x 0 ) approximation correcte si le déplacement p1 est petit ou si les contraintes sont peu non linéaires •
Le système sous-déterminé admet une infinité de solutions (nm variables libres). Choix possibles : - solution de norme minimale (projection sur les contraintes) - solution de base (pour ne pas dégrader la minimisation due à p 1)
128
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
Max CERF 2018
Techniques d’optimisation 1.3.2 Restauration
Résolution du système Le déplacement p2 doit vérifier : A1p b1 •
A1 c(x1 ) T c(x 0 ) T A 0 avec b1 c(x1 ) c1
Solution de norme minimale projection sur l’hyperplan tangent aux contraintes actives 1 (cf §1.2.4) minn p sous A1p b1 p 2 A1T A1A1T b1
pR
•
pour ne pas dégrader la minimisation réalisée par pZ (cf §1.2.3) 1 1 A1 (Yp Y Zp Z ) b1 p Y A1Y b1 p 2 YA1Y b1
Solution de base
p2
c(x)=0 x0
p1
x1
c(x)=c1 c(x0)
c(x1)
129
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
Techniques d’optimisation
Max CERF 2018
1.3.2 Restauration Itérations • La résolution est basée sur une linéarisation du système en x 1.
• •
T T déplacement p2 A1p b1 avec A1 c(x1 ) c(x 0 ) A 0 b c(x ) c 1 1 1 Le point x2 = x1 + p2 ne vérifie pas forcément les contraintes : c(x2) = c2 0 Il faut alors réitérer la résolution à partir de x2.
On cherche un déplacement p3 à partir de x2 tel que : c(x2+p3) = 0 T T A 2 p b 2 avec A 2 c(x 2 ) c(x 0 ) A 0 b 2 c(x 2 ) c 2
déplacement p3
•
Si l’on n’obtient pas de point admissible après un nombre donné d’itérations, il faut réduire le déplacement p1 pour rendre l’approximation linéaire suffisamment correcte.
•
Si l’on obtient un point admissible x2, il faut encore vérifier que - les contraintes qui étaient inactives en x0 sont respectées en x2 - le point x2 est meilleur que le point initial x0 (car la restauration peut dégrader le critère). Sinon il faut réduire le déplacement p1.
130
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
Max CERF 2018
Techniques d’optimisation 1.3.2 Restauration
Illustrations Restauration en plusieurs itérations : p2 , p3 c(x)=0 c(x)=c1
Restauration infructueuse (non linéarité) c(x)=0
p3 x0
p2
p1
c(x)=c1
p2 x0 p1
x1
x1
Restauration avec dégradation du critère p2
c(x)=0 x0
p1
lignes de f
x1
131
1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible
Max CERF 2018
Techniques d’optimisation 1.3.2 Direction d’ordre 2
Effet Maratos La restauration après le déplacement p1 peut dégrader systématiquement le critère. Il faut alors réduire fortement le pas p1 pour progresser. Ceci peut bloquer un algorithme basé sur une recherche linéaire suivant p 1 (effet Maratos). Correction d’ordre 2 • On corrige la direction de déplacement pour prendre en compte la non-linéarité des contraintes. p1 = pas d’ordre 1 (en supposant des contraintes linéaires) p2 = pas d’ordre 2 (correction des non linéarités constatées en x1 = x0 + p1) 1 A1 c(x 0 ) T A1p 2 b1 avec p 2 A1T A1A1T b1 b1 c(x 0 p1 )
•
Pas total : pt = p1 + p2 direction de recherche. pt c(x)=0 x0
p1
p2 x1
c(x)=c1 c(x0)
132
1 Bases théoriques 1.4 Conditions d’optimalité
Techniques d’optimisation
Max CERF 2018
Sommaire 1.
Bases théoriques 1.1 Définitions 1.2 Contraintes linéaires 1.3 Contraintes non linéaires 1.4 Conditions d’optimalité 1.4.1 Dualité 1.4.2 Problème sans contraintes 1.4.3 Problème avec contraintes 1.4.4 Problème linéaire 1.4.5 Problème quadratique
2. 3. 4. 5.
Optimisation sans contraintes Optimisation avec contraintes Optimisation discrète Optimisation fonctionnelle
133
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Techniques d’optimisation
Max CERF 2018
1.4.1 Dualité Dualité critère contraintes - Critère augmenté - Lagrangien - Lagrangien augmenté - Fonction duale Problème dual - Dualité faible - Saut de dualité - Point col - Dualité forte Programmation linéaire - Problème primal - Problème dual
134
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Techniques d’optimisation
Max CERF 2018
1.4.1 Dualité Problème avec contraintes égalité m contraintes d’égalité (= contraintes actives) minn f(x) sous c(x) 0 xR
Dualité Difficulté de résolution due aux 2 objectifs antagonistes : • Minimiser le critère f(x) min f ( x ) x
•
Satisfaire les contraintes c(x)=0 Dualité critère-contraintes
min c(x) x
Méthodes duales Prise en compte des contraintes avec pondération dans la fonction coût • Critère augmenté pondération = pénalisation des contraintes • Lagrangien pondération = multiplicateurs de Lagrange • Lagrangien augmenté pondération = pénalisation + multiplicateurs Problème sans contraintes plus simple Réglages des pondérations / Equivalence au problème avec contraintes
135
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Techniques d’optimisation
Max CERF 2018
1.4.1 Critère augmenté Problème avec contraintes égalité m contraintes d’égalité (= contraintes actives) minn f(x) sous c(x) 0 xR
Critère augmenté 1 f ρ (x) f(x) ρ c(x) 2
2
= coefficient de pénalisation > 0 Pénalise la violation des contraintes Pondération critère-contraintes Problème pénalisé sans contraintes minn f ρ (x) xR
Problème pénalisé avec contraintes minn f ρ (x) sous c(x) 0 xR
Problème équivalent au problème avec contraintes si la pénalisation est assez grande Problème équivalent au problème avec contraintes Renforce le poids des contraintes dans le critère
136
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Max CERF 2018
Techniques d’optimisation 1.4.1 Exemple
Critère augmenté
1 2 x 2 x 12 sous x 1 1 x ,x 2 1 x* 1 0 f ( x ) x 22 x 12 2 c( x ) x 1 1 min 1
f x 1 , x 2
2
2,0
2,0
=0 -1,0
1,5 1,0 0,5 0,0 -1,0
-0,5 0,0 -0,5
0,5
1,0
1,5
2,0
2,5
-1,5 -2,0 -1,0
=1
x * () 0 1 2,0
1,5
1,5
1,0
1,0
0,5
0,5
0,0 -0,5 -0,5 0,0
0,0 -0,5 -0,5 0,0
0,5
1,0
1,5
2,0
2,5
-1,0
-1,0
-1,0
-1,5
-1,5
-2,0
-2,0
2,0
-1,0
1 2 1 2 x 2 x 12 x 1 1 2 2
=2
2,0
1,5
1,5
1,0
1,0
0,5
0,5
0,0 -0,5 -0,5 0,0
0,0 -0,5 -0,5 0,0
0,5
1,0
1,5
2,0
2,5
-1,0
-1,0
-1,0
-1,5
-1,5
-2,0
-2,0
=10
0,5
1,0
1,5
2,0
2,5
2,0
2,5
=100
0,5
1,0
1,5
137
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Max CERF 2018
Techniques d’optimisation 1.4.1 Exemple
Problème de la boîte • Réaliser une boîte cylindrique de volume donné V0 et de surface S minimale Dimensions : hauteur = h , rayon = r Surface : S 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 h ,r
r
avec V0 2 v 0
Solution exacte
•
La contrainte permet d’éliminer h : h
2v 0 r2
1 1 2 4v 0 3 En reportant dans la fonction coût : min 2r r v 0 h 2v 0 3 r r
•
2
Valeur optimale du coût :
f 6v 0 3
138
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Max CERF 2018
Techniques d’optimisation 1.4.1 Exemple
Solution par pénalisation • Formulation avec contrainte
r
min f (h, r ) 2r 2 2rh sous c(h, r ) r 2 h 2v 0 0 h ,r
•
Formulation pénalisée
h
1 min f (h, r ) 2r 2 2rh (r 2 h 2v 0 ) 2 h ,r 2
Conditions de minimum :
f 0 2r r 2 (r 2 h 2v 0 ) 0 h f 0 4r 2h 2rh (r 2 h 2v ) 0 0 r
La 1ère équation donne :
r (r 2 h 2v 0 ) 2
En remplaçant dans la 2ème équation :
h 2r
On obtient une équation en r :
r (r 3 v 0 ) 1 0
à résoudre numériquement
139
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Max CERF 2018
Techniques d’optimisation 1.4.1 Exemple
Application numérique • Volume : v0 = 1000
r
•
Solution exacte :
•
Solution pénalisée pour allant de 103 à 102.
r = 10 , h = 20 , f = 600
Résolution numérique de :
h
r (r 3 v 0 ) 1 0 r , h 2r
r
h
f
c
0.001 0.01 0.1 1 10 100
9.641582 9.966442 9.996664 9.999667 9.999967 9.999997
19.28316 19.93288 19.99333 19.99933 19.99993 19.99999
557.761 595.980 599.600 599.960 599.996 600.000
792.565 979.933 997.999 999.800 999.980 999.998
Pénalisation faible Contrainte mal respectée Écart important à la solution exacte
Pénalisation forte Contrainte bien respectée Écart faible à la solution exacte
140
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Max CERF 2018
Techniques d’optimisation 1.4.1 Lagrangien
Problème avec contraintes égalité et inégalité
c (x) 0 min f(x) sous E xR c I (x) 0 n
(PO)
p contraintes d’égalité q contraintes d’inégalité
Multiplicateurs de Lagrange 1 multiplicateur par contrainte • Rp multiplicateurs des contraintes d’égalité • Rq multiplicateurs des contraintes d’inégalité Fonction de Lagrange (ou lagrangien) Le lagrangien du problème (PO) est la fonction L de Rn+p+q dans R x R n , λ R p , μ R q L(x, λ, μ) R
L(x, λ, μ) f(x) λ c E (x) μ c I (x) T
T
p
q
j1
j1
L(x, λ, μ) f(x) λ jc Ej (x) μ jc Ij (x)
multiplicateurs coefficients de pénalisation des contraintes interprétation comme des sensibilités aux niveaux des contraintes
141
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Techniques d’optimisation
Max CERF 2018
1.4.1 Lagrangien augmenté Problème pénalisé avec contraintes égalité • Critère augmenté : coefficient de pénalisation > 0
minn f ρ (x) sous c(x) 0 xR
•
1 avec f ρ (x) f(x) ρ c(x) 2
2
Lagrangien du problème pénalisé avec contraintes
L ρ (x, λ) f ρ (x) λ T c(x) 1 2 f(x) λ T c(x) ρ c(x) 2 1 2 L(x, λ) ρ c(x) 2 L = lagrangien augmenté = lagrangien initial + pénalisation des contraintes •
Utilisation du lagrangien augmenté - Démonstration des conditions suffisantes d’optimalité - Algorithme de lagrangien augmenté = suite de minimisations sans contraintes
142
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Max CERF 2018
Techniques d’optimisation 1.4.1 Exemple
Lagrangien augmenté • Fonction de 2 variables 1 minimum en x* = (1 0) min x 22 x12 sous x1 1 x1 , x 2 2 * = 1 • Critère augmenté 1 1 2 minimum en x * () 0 f x 1 , x 2 x 22 x 12 x 1 1 1 2 2 • Lagrangien augmenté 1 1 2 0 L x1 , x 2 , x 22 x12 x1 1 x1 1 minimum en x * (, ) 1 2 2 Pour = * = 1, le minimum sans contrainte du lagrangien augmenté 1 x * (, *) 0 1 0 est la solution x* du problème initial.
1
x1
2,0
=1
=2
1,5
1,0
=0
0,5 0,0 2,0
4,0
6,0
8,0
10,0
12,0
14,0
143
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Max CERF 2018
Techniques d’optimisation 1.4.1 Exemple
Lagrangien augmenté
1 2 x 2 x 12 sous x 1 1 x ,x 2 1 x* 1 0 f ( x ) x 22 x 12 2 c( x ) x 1 1 * 1
L x 1 , x 2 ,
=0
min 1
2
2,0
2,0
-1,0
1,5 1,0 0,5 -0,5 0,0 -0,5
0,5
1,0
1,5
2,0
2,5
-1,5 -2,0
-1,0
=1 , =1
2,0 1,5
1,0
1,0
0,5
0,5
0,0 -0,5 -0,5 0,0
0,0 -0,5 -0,5 0,0
0,5
1,0
1,5
2,0
2,5
-1,0
-1,0
-1,0
-1,5
-1,5
-2,0
-2,0
2,0
-1,0
1,5
0,0 -1,0
1 2 1 2 x 2 x 12 x 1 1 x 1 1 x * () 0 2 2 1
=2 , =1
2,0
1,5
1,5
1,0
1,0
0,5
0,5
0,0 -0,5 -0,5 0,0
0,0 -0,5 -0,5 0,0
0,5
1,0
1,5
2,0
2,5
-1,0
-1,0
-1,0
-1,5
-1,5
-2,0
-2,0
=10 , =1
0,5
1,0
1,5
2,0
2,5
=100 , =1
0,5
1,0
1,5
2,0
144
2,5
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Max CERF 2018
Techniques d’optimisation 1.4.1 Exemple
Lagrangien augmenté lignes de niveau pour = 0 2,0
lignes de niveau pour = 1
=2
2,0
lignes de niveau pour = 10
=2
2,0
1,5
1,5
1,5
1,0
1,0
1,0
0,5
0,5
0,5
0,0 -1,0 -0,5 -0,5 0,0
0,5
1,0
1,5
2,0
2,5
-1,0
0,0 -0,5 -0,5 0,0
0,5
1,0
1,5
2,0
2,5
-1,0
0,0 -0,5 -0,5 0,0
-1,0
-1,0
-1,0
-1,5
-1,5
-1,5
-2,0
-2,0
-2,0
2,0
=10
2,0
=10
2,0
1,5
1,5
1,5
1,0
1,0
1,0
0,5
0,5
0,5
0,0 -1,0 -0,5 -0,5 0,0
0,5
1,0
1,5
2,0
2,5
-1,0
0,0 -0,5 -0,5 0,0
0,5
1,0
1,5
2,0
2,5
-1,0
0,0 -0,5 -0,5 0,0
-1,0
-1,0
-1,0
-1,5
-1,5
-1,5
-2,0
-2,0
-2,0
=2
0,5
1,0
1,5
2,0
2,5
1,5
2,0
2,5
=10
0,5
1,0
145
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Techniques d’optimisation
Max CERF 2018
1.4.1 Fonction duale Fonction duale La fonction duale du problème (PO) est la fonction w de Rp+q dans R
w(λ , μ) min L(x, λ, μ)
Minimisation du lagrangien à et fixés x = variables primales et = variables duales p Domaine de w : X w λ R , μ R q / w(λ , μ) w bornée xR n
•
Concavité - Convexité • •
La fonction duale w est concave Le domaine Xw est convexe Preuve : on note : =(,) • L(x,1+(1)2) = L(x,1) + (1)L(x,2) car L linéaire en et w(1+(1)2) w(1) + (1)w(2) pour le minimum/x de chaque membre w concave • Si 1et 2Xw, w(1+(1)2) w(1) + (1)w(2) > 1+(1)2 Xw Xw convexe
146
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Techniques d’optimisation
Max CERF 2018
1.4.1 Problème dual Problème dual •
Problème primal :
•
Fonction duale :
c (x) 0 min f(x) sous E xR c I (x) 0 w(λ , μ) minn L(x, λ, μ)
•
Domaine de w :
X w λ R p , μ R q / w(λ , μ)
•
Problème dual :
n
x(λ , μ) / x L(x, λ , μ) 0
xR
w bornée
max w(λ , μ) sous (λ , μ) X w , μ 0
λR p ,μR q
max
xR n , λR p ,μR q
L(x, λ , μ) 0 x(λ , μ) L(x, λ , μ) sous x (λ , μ) X w , μ 0
dual de Wolfe
Borne sur la fonction duale • x* solution du problème primal w(λ , μ) f(x*) • ( ,)Xw, 0 Preuve : w(λ , μ) minn L(x, λ, μ) L(x*, λ, μ) f(x*) λ T c E (x*) μ T c I (x*) xR
f(x*) μ T c I (x*) car x * admissible c E (x*) 0 f(x*) car x * admissible c I (x*) 0 et μ 0
147
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Techniques d’optimisation
Max CERF 2018
1.4.1 Exemple Fonction duale
1 2 x 2 x12 sous x1 1 1 2 2 1 L( x, ) x 22 x 12 x 1 1 2 1 x* , * 1 0
•
Problème primal : min x ,x
•
Lagrangien :
•
Solution :
•
Fonction duale :
w(λ ) min L(x, λ) x
w ( )
1 2 2
•
Problème dual :
max w ()
•
Solution :
1 * 1 , x* 0
avec
L x 0 x 0 1 1 x x 2 0 x 2 0 x 1 x 0 2
w 0 1
148
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Techniques d’optimisation
Max CERF 2018
1.4.1 Dualité faible Théorème de la dualité faible • x* solution du problème primal • *,* solution du problème dual
w(λ * , μ*) f(x*)
Preuve : λ,μ 0, w(λ , μ) f(x*) w(λ * , μ*) f(x*) Dualité et admissibilité • Si le problème primal est non borné, le problème dual est non admissible. • Si le problème dual est non borné, le problème primal est non admissible. Preuve : en utilisant w*(*,*) f(x*) Existence de solutions x*, *, * fonctions bornées Saut de dualité Le saut de dualité est la différence entre la solution du problème primal et du problème dual. f(x*) w(λ * , μ*) 0
Dans le cas général n’est pas nul, il n’est pas équivalent de minimiser f ou maximiser w.
149
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Techniques d’optimisation
Max CERF 2018
1.4.1 Dualité forte Point col (x*,*,*0) est un point col (ou point selle) du lagrangien si
L(x*, λ , μ) L(x*, λ*, μ*) (x, λ , μ 0), L(x*, λ*, μ*) L(x, λ*, μ*)
maximisationde L par rapport à (,) minimisation de L par rapport à (x)
Caractérisation
L(x*, λ*, μ*) min L(x, λ*, μ*) x c (x*) 0 (x*,*,*0) est un point col du lagrangien si et seulement si E c I (x*) 0 μ * c I (x*) 0 Théorème de la dualité forte Le lagrangien admet un point col (x*,*,*) si et seulement si le saut de dualité est nul. (x*,*,*0) un point col
w(*,*) = f(x*)
Il est alors équivalent de minimiser f(x) ou maximiser w(,).
150
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Max CERF 2018
Techniques d’optimisation 1.4.1 Dualité forte
Point col (ou point selle)
L(x,)
(x*,*)
L maximal par rapport à
L minimal par rapport à (x)
x
151
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Techniques d’optimisation
Max CERF 2018
1.4.1 Dualité forte Optimum global
x* min L(x, λ*, μ*) x c (x*) 0 , c I (x*) 0 Si (x*,*,*0) est un point col du lagrangien : E μ * c I (x*) 0 c E (x) 0 alors x* est un optimum global du problème primal : min f(x) sous xR c I (x) 0 n
En pratique • Si le lagrangien admet un point col, on peut obtenir l’optimum global x*. • Pour un problème non convexe, il n’existe en général pas de point col.
2x 1 0 min f ( x ) x 2 sous solution : x* = 0.5 x 0 x 1 0 x 1 L( x, ) x 2 (2x 1) avec 0 min L( x, ) x 0 si 0.5 x 0 x 1 x 1 si 0.5 x0 Point col : 2x 1 0 Il n’existe pas de point col. μ(2x 1) 0 0 0.5 x 1 μ 0
Exemple
152
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Max CERF 2018
Techniques d’optimisation 1.4.1 Programmation linéaire
Problème primal
Ax b min c T x sous x x 0 b Ax 0 min c T x sous x x 0 • •
Fonction de Lagrange :
Fonction duale :
problème linéaire sous forme standard multiplicateur multiplicateur
L(x, λ, μ) c T x λ T (b Ax) μ T ( x) T c A T λ μ x T b
linéaire en x
w(λ , μ) min L(x, λ, μ) x
X w (λ, μ ) / w(λ , μ)
•
Domaine de définition :
•
La fonction duale n’est définie que si L(x, , ) est borné inférieurement. L(x, , ) est linéaire en x Le coefficient de x doit être nul.
(λ, μ) X w c A T λ μ 0 L(x, λ, μ) T b
w(λ , μ) λ T b
153
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Max CERF 2018
Techniques d’optimisation 1.4.1 Programmation linéaire
Problème dual
(λ , μ) X w max w(λ , μ) sous λ,μ μ 0 c A T λ μ 0 T max λ b sous λ,μ μ 0
max b T λ λ
•
sous c A T λ 0
ne dépend pas de nouveau problème linéaire en
Le problème dual est également un problème linéaire dont la variable est . On met le problème dual sous forme standard en notant la variable y au lieu de
min b T y sous A T y c 0 y
multiplicateur
On peut ensuite définir les fonctions associées à ce problème linéaire. •
Fonction de Lagrange notée Ld(y, ) : L d (y, ) b T y T (A T y c) bornée si A b 0 (A b) T y T c
•
Fonction duale notée wd() :
w d () min L d (y, ) T c y
si A b 0
154
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Techniques d’optimisation
Max CERF 2018
1.4.1 Programmation linéaire Problème dual du problème dual Le problème dual admet lui-même pour dual : X w d max w d () sous 0 A b Ax b max T c sous min c T x sous x 0 x 0
identique au problème primal
•
Le problème dual du problème dual est le problème primal.
•
Pour un problème linéaire, il est équivalent de résoudre le problème primal ou problème dual. Les solutions du problème primal et du problème dual ont le même coût dualité forte
Solutions possibles Optimum fini
Optimum infini
Sans solution
dualité forte
impossible
impossible
Optimum infini
impossible
impossible
dualité faible
Sans solution
impossible
dualité faible
contraintes incompatibles
Optimum fini Primal
Dual
155
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Max CERF 2018
Techniques d’optimisation 1.4.1 Programmation linéaire
Correspondances primal dual •
Problème primal (P) sous forme standard :
(P)
Ax b min c T x sous x x 0
•
Problème dual (D) du problème (P) :
( D)
max b T y sous A T y c
• • •
Le nombre de variables de (P) est égal au nombre de contraintes de (D). Le nombre de contraintes de (P) est égal au nombre de variables de (D). La matrice des contraintes de (D) est la transposée de la matrice des contraintes de (P).
•
y
Une variable xj 0 de coût cj donne une contrainte de niveau cj :
c j x j x 0 j n
•
Une contrainte = de niveau bi donne une variable yj R de coût bi :
a ij x j b i j1
m
a ij y i c j i 1 by i i y i R
généralisation à un problème linéaire quelconque (signe des variables, sens des contraintes)
156
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Max CERF 2018
Techniques d’optimisation 1.4.1 Programmation linéaire
Correspondance primal-dual • Problème primal (P)
A1 x 1 B1 x 2 C1 x 3 b1 , b1 R m m1 égalités A x B x C x b , b R m m inégalités inférieur 2 2 2 2 3 2 2 2 1 m m3 inégalités supérieur sous A 3 x 1 B3 x 2 C 3 x 3 b 3 , b 3 R n1 variables positives x 1 0 n2 variables négatives x 2 0 n x 3 R n3 variables libres 1
2
min c1T x 1 c T2 x 2 c 3T x 3
x 1 R n1 x 2 R n 2 x 3 R n3
3
3
•
Problème dual (D)
A1T y1 A T2 y 2 A 3T y 3 c1 , c1 R n n1 inégalités inférieur B T y B T y B T y c , c R n n inégalités supérieur 2 2 3 3 2 2 2 1T 1 n T T n3 égalités sous C1 y1 mC 2 y 2 C 3 y 3 c 3 , c 3 R m1 variables libres y1 R m2 variables négatives y 2 0 y 3 0 m3 variables positives 1
2
max b1T y1 b T2 y 2 b 3T y 3
y1 R m1 y 2 R m 2 y 3 R m3
3
1
157
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Max CERF 2018
Techniques d’optimisation 1.4.1 Programmation linéaire
Correspondance primal-dual Preuve • Lagrangien du problème primal (P)
Lx1 , x2 , x3 ,1 ,2 ,3 , 1 , 2 c1T x1 c2T x2 c3T x3 T1 b1 A1 x1 B1 x2 C1 x3 T2 A2 x1 B2 x2 C 2 x3 b2 T3 b3 A3 x1 B3 x2 C3 x3 1T x1 2T x2 •
On regroupe les termes en x1,x2,x3 : Lx1 , x2 , x3 ,1 ,2 ,3 , 1 , 2 b1T 1 b2T 2 b3T 3 T c1 A1T 1 A2T 2 A3T 3 1 x1 T c2 B1T 1 B2T 2 B3T 3 2 x2 T c3 C1T 1 C 2T 2 C3T 3 x3
•
La fonction duale est définie par : w(λ , μ) min L(x, λ, μ) x
m1 multiplicateurs 1 m2 multiplicateurs 2 0 m3 multiplicateurs 3 0 n1 multiplicateurs 1 0 n2 multiplicateurs 2 0
linéaire en x
bornée si les coefficients de x1,x2,x3 sont nuls
158
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Techniques d’optimisation
Max CERF 2018
1.4.1 Programmation linéaire Correspondance primal-dual • Lx1 , x2 , x3 , 1 ,2 , 3 , 1 , 2 b1T 1 b2T 2 b3T 3 T c1 A1T 1 A2T 2 A3T 3 1 x1 T c2 B1T 1 B2T 2 B3T 3 2 x2 T c3 C1T 1 C 2T 2 C3T 3 x3
•
L bornée
c1 A1T 1 A2T 2 A3T 3 1 0 , 0 c2 B1T 1 B2T 2 B3T 3 2 0 avec 1 , 2 0 2 3 c3 C1T 1 C 2T 2 C3T 3 0
y1 1 y 2 2 0 y3 3 0
A1T y1 A2T y 2 A3T y3 c1 1 c1 B1T y1 B2T y 2 B3T y3 c2 2 c2 C1T y1 C 2T y 2 C3T y3 c3
car 1 0 car 2 0
•
En posant :
•
Fonction duale : w y1 , y 2 , y3 L 1 ,2 ,3 , 1 , 2 w y1 , y 2 , y3 b1T y1 b2T y 2 b3T y3
•
Problème dual :
max w y1 , y 2 , y3 b1T y1 b2T y 2 b3T y3
y1 , y 2 , y 3
A1T y1 A2T y 2 A3T y3 c1 sous B1T y1 B2T y 2 B3T y3 c2 C1T y1 C 2T y 2 C3T y3 c3
159
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité
Techniques d’optimisation
Max CERF 2018
1.4.1 Exemple Correspondance primal-dual • Problème primal (P)
(P)
•
Problème dual (D)
( D)
•
min x 1 2x 2 3x 3
x1 , x 2 , x 3
5 x 1 3x 2 2x x 2 3x 3 6 sous 1 x3 4 x 1 0, x 2 0, x 3 R
max 5y1 6y 2 4y 3
1 y1 2y 2 3y y 2 2 sous 1 3y 2 y 3 3 y1 R , y 2 0, y 3 0
min 5y1 6y 2 4y 3
1 y1 2y 2 3y1 y 2 2 sous 3y 2 y 3 3 y1 R , y 2 0, y 3 0
y1 , y 2 , y 3
y1 , y 2 , y 3
Problème dual du dual : on retrouve le problème primal (P)
160
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes
Techniques d’optimisation
Max CERF 2018
1.4.2 Problème sans contraintes Conditions nécessaires d’optimalité locale Conditions suffisantes d’optimalité locale
Méthode pratique Exemples
161
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes
Techniques d’optimisation
Max CERF 2018
1.4.2 Conditions nécessaires Problème sans contraintes minn f(x) xR
Conditions nécessaires x* minimum local
f(x*) 0 2 f(x*) 0
ordre 1 : point critique ou stationnaire ordre 2 : hessien semi-défini positif
Preuve : avec le théorème de Taylor •
Ordre 1 :
f(x * d) f(x*) f(x*)T d o d
Si f(x*)0, on peut trouver d petit tel que f(x*)Td < 0 •
Ordre 2 :
f(x*+d) < f(x*)
1 T 2 2 d f(x*)d o d 2 1 T 2 2 f(x*) d f(x*)d o d car f(x*) 0 2
f(x * d) f(x*) f(x*)T d
Si 2f(x*) non semi-définie positive, on peut trouver d petit tel que dT2f(x*) d < 0
f(x*+d) < f(x*)
162
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes
Techniques d’optimisation
Max CERF 2018
1.4.2 Conditions suffisantes Problème sans contraintes minn f(x) xR
Conditions suffisantes
f(x*) 0 2 f(x*) 0
ordre 1 : point critique ou stationnaire ordre 2 : hessien défini positif
x* minimum local
Preuve : par l’absurde Si x* n’est pas un minimum local, on peut trouver d petit tel que f(x*+d) < f(x*) Théorème de Taylor à l’ordre 2 : 1 2 f(x* d) f(x*) f(x*)T d d T 2 f(x*)d o d 2 1 T 2 2 f(x*) d f(x*)d o d car f(x*) 0 2 f(x * d) f(x*) d T 2 f(x*)d 0 contredit l’hypothèse 2f(x*) définie positive
163
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes
Techniques d’optimisation
Max CERF 2018
1.4.2 Méthode pratique Problème sans contraintes minn f(x) xR
• •
Condition nécessaire du 1er ordre : f(x*) 0 2 Condition nécessaire du 2eme ordre : f(x*) 0 suffisante 2 f(x*) 0
point critique ou stationnaire plus difficile à vérifier
Méthode pratique • Recherche des points stationnaires en résolvant : f(x*) = 0 Un point stationnaire peut être un minimum local, un maximum local ou un point selle. • Vérification de la condition d’ordre 2 : calcul des dérivées secondes valeurs propres du hessien 0 garantit l’obtention d’un minimum local x* Minimum global x* minimum local • f convexe x* minimum global • f strictement convexe x* unique minimum global • f quelconque (cas général) On ne peut pas vérifier que x* est un minimum global.
164
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes
Max CERF 2018
Techniques d’optimisation 1.4.2 Exemples 5,0
Exemple 1 Fonction de Rosenbrock
f ( x1 , x 2 ) 100 x 2 x
• •
• • •
•
1 x
2 2 1
4,0
2
1
Gradient :
3,0 2,0
400x 13 400x 1 x 2 2x 1 2 f ( x 1 , x 2 ) 2 1,0 200x 2 200x 1 Hessien : 0,0 2 -2,5 -2,0 -1,5 -1,0 -0,5 0,0 1200x 1 400x 2 2 400x 1 2 f ( x 1 , x 2 ) -1,0 400 x 200 1 400x 13 400x 1 x 2 2x 1 2 0 Point stationnaire : f ( x 1 , x 2 ) 0 2 200 x 200 x 0 2 1
0,5
1,0
1,5
2,0
2,5
1 x 1 1 x * x x 2 1 2 1
802 400 1 1001.60 Valeurs propres du hessien : 2 f ( x*) 0.39936 400 200 2 Condition d’ordre 2 : 2f(x*) est défini positif x* vérifie les conditions suffisantes de minimum local (strict) x* est un minimum local de f
165
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes
Techniques d’optimisation
Max CERF 2018
1.4.2 Exemples Exemple 2 Fonction :
f ( x 1 , x 2 ) x 14 x 42
Gradient :
4x 13 f ( x 1 , x 2 ) 3 4 x 2
•
Hessien :
12x 12 f ( x 1 , x 2 ) 0
•
0 x 0 Point stationnaire : f ( x 1 , x 2 ) 0 1 x * x 2 0 0
•
2
0 2 12x 2
0 0 2 f ( x*) 0 0
0 1 2 0
•
Valeurs propres du hessien : 2f(x*) est semi-défini positif
•
x* vérifie les conditions nécessaires de minimum local x* ne vérifie pas les conditions suffisantes de minimum local
x* est en fait un maximum local de f :
f ( x 1 , x 2 ) x 14 x 42 0 ( x 1 , x 2 ), f ( x 1 , x 2 ) f (0,0)
166
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes
Max CERF 2018
Techniques d’optimisation 1.4.2 Exemples 1,0
Exemple 3 Fonction :
f ( x1 , x 2 ) x x
•
2x1 f ( x 1 , x 2 ) 2 3 x 2
Gradient :
2 1
3 2
0 2 2 f ( x 1 , x 2 ) 0 6 x 2
0,5
0,0 -1,0
•
Hessien :
•
0 x 0 Point stationnaire : f ( x 1 , x 2 ) 0 1 x * x 2 0 0
2 0 2 f ( x*) 0 0
-0,5
0,0
0,5
1,0
-0,5
-1,0
2 1 2 0
•
Valeurs propres du hessien : 2f(x*) est semi-défini positif
•
x* vérifie les conditions nécessaires de minimum local x* ne vérifie pas les conditions suffisantes de minimum local
x* n’est ni un minimum ni un maximum local de f : f ( 0, x 2 ) x
3 2
0 si x 2 0 0 si x 2 0
167
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
Max CERF 2018
1.4.3 Problème avec contraintes Conditions nécessaires d’optimalité locale - Multiplicateurs de Lagrange - Conditions KKT
Conditions suffisantes d’optimalité locale Interprétation géométrique Méthode pratique Exemples Sensibilité - Sensibilité aux niveaux de contrainte - Sensibilité aux paramètres de modèle
168
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
Max CERF 2018
1.4.3 Conditions nécessaires Problème avec contraintes c (x) 0 minn f(x) sous E xR c I (x) 0
p contraintes d’égalité q contraintes d’inégalité
Conditions nécessaires x* minimum local f(x*)Td 0 pour toute direction d admissible à la limite en x* Méthode directe Nécessite de connaître l’ensemble des directions admissibles en x* • Cas de contraintes linéaires Définition des directions admissibles à partir des directions de base (§1.2.2) • Cas de contraintes non linéaires Définition des directions admissibles à la limite Pas de caractérisation des directions admissibles dans le cas général sauf hypothèse de qualification des contraintes : cône des directions (§1.3.1) Méthode indirecte A partir des multiplicateurs de Lagrange Conditions d’optimalité dans le cas général
169
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
Max CERF 2018
1.4.3 Conditions nécessaires Problème avec contraintes c (x) 0 minn f(x) sous E xR c I (x) 0
p contraintes d’égalité q contraintes d’inégalité
Conditions nécessaires Hypothèse : Contraintes linéairement indépendantes en x* x* minimum local Il existe un unique *Rp et un unique *Rq tels que : •
•
Ordre 1 : x L(x*, λ*, μ*) 0 λ L(x*, λ*, μ*) 0 μ L(x*, λ*, μ*) 0 μ * 0 μ * c (x*) 0 I
conditions nécessaires d’ordre 1 contraintes égalité cE(x*) = 0 contraintes inégalité cI(x*) 0 conditions complémentaires
Ordre 2 : Pour toute direction d tangente aux contraintes actives (c(x*)=0) : d T 2xx L(x*, λ*, μ*)d 0 conditions nécessaires d’ordre 2 d / d T c(x*) 0
Conditions nécessaires de Karush-Kuhn-Tucker (conditions KKT) (1939) (1951)
170
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
Max CERF 2018
1.4.3 Conditions nécessaires Eléments de la démonstration 1) Cas de contraintes linéaires : cE(x) = Ax b = 0 cE(x) = AT •
On choisit une base
BRmn
:
m AE B
N
n m
Ax b Bx B Nx N b x B B 1 b Nx N
x E T x B xN
min f(x) sous Ax b min f(x B , x N ) sous x B B 1 b Nx N xR n
•
On se ramène à un problème sans contrainte (= problème réduit)
minn-m g(x N ) f B 1 b Nx N , x N
x N R
•
x B R m x N R n - m
Conditions nécessaires d’optimalité du problème réduit xN* minimum local de g(xN)
g(x N *) 0 2 g(x N *) 0
Méthode de réduction : fonction réduite g(xN) gradient réduit g(xN) hessien réduit 2g(xN)
171
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
Max CERF 2018
1.4.3 Conditions nécessaires Eléments de la démonstration 1) Cas de contraintes linéaires
minn-m g(xN ) f B 1 b Nx N , x N
•
Problème réduit :
•
Condition nécessaire d’ordre 1 du problème réduit : g(x N *) 0 f ( x ) avec f(x) B g(x N ) f B 1 b Nx N , x N N f ( x )
x N R
T
g(x N ) B 1 N B f ( x ) N f ( x ) •
On définit :
B T B f ( x ) B f ( x ) B T 0 g(xN ) N T N f ( x )
g(x N *) 0 N f(x*) N T * 0 avec B f ( x*) B T * 0 •
f(x*) AT * 0
On obtient la condition nécessaire d’ordre 1 sur le lagrangien
x L(x*,* ) f(x*) c E (x*)* 0
car c E (x*)T A
172
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Conditions nécessaires
Eléments de la démonstration 1) Cas de contraintes linéaires •
Condition nécessaire d’ordre 2 du problème réduit : 2 g(x N *) 0 2BB f ( x ) 2BN f ( x ) 2 1 avec f(x) 2 g(x N ) f B b Nx N , x N 2 NB f ( x ) NN f ( x )
T
T
2 g(x N ) B 1 N 2BB f ( x ) B 1 N B 1 N 2BN f ( x ) 2NB f ( x ) B 1 N 2NN f ( x ) •
d B B 1 N d N , d N R n m Pour dR vérifiant Ad 0 d dN I T T d NT 2 g(x N )d N d NT B 1 N 2BB f ( x ) B 1 N d N d NT B 1 N 2BN f ( x )d N d NT 2NB f ( x ) B 1 N d N d NT 2NN f ( x )d N
d NT 2 g(x N )d N d BT 2BB f ( x )d B d BT 2BN f ( x )d N d NT 2NB f ( x )d B d NT 2NN f ( x )d N d NT 2 g(x N )d N d T 2 f ( x )d d T 2xx L( x , )d •
car x L(x*,* ) f(x*) AT * 2xx L(x*,* ) 2 f(x*)
On obtient la condition nécessaire d’ordre 2 sur le lagrangien d R / Ad 0 , d T 2xx L( x*,*)d d NT 2 g(x N *)d N 0
173
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Conditions nécessaires
Eléments de la démonstration 2) Cas de contraintes non linéaires : cE(x)=0 cI(x)0 On suppose que x* est un minimum local de
c (x)0 min f ( x ) sous E xR c I ( x ) 0
•
On définit pour les contraintes inégalité :
c I ( x ) max0 ,c I ( x )
•
On considère une suite de problèmes pénalisés sans contrainte
min f k ( x ) f ( x ) xR n
n
2 1 1 1 2 k c E ( x ) k c I ( x ) x * x 2 2 2
2
minimum local xk
kN pénalisation de la violation des contraintes >0 pénalisation de la distance au minimum •
xk minimum local de fk fk(xk) fk(x*) = f(x*)
La suite fk(xk) est bornée supérieurement par f(x*)
174
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
Max CERF 2018
1.4.3 Conditions nécessaires Eléments de la démonstration 2) Cas de contraintes non linéaires : cE(x)=0 cI(x)0 •
• •
La suite fk(xk) est bornée supérieurement par f(x*) 2 1 1 1 2 f k ( xk ) f ( xk ) k c E ( xk ) k c I ( xk ) 2 2 2 2 k c ( x ) borné lim kc E ( xk ) * E k def k 2 k c I ( xk ) borné lim kc I ( xk ) * def k 2 lim x x* k k x * xk borné
x * xk
2
f ( x*)
définit les multiplicateurs définit les multiplicateurs la suite (xk) converge vers x*
* 0 Multiplicateurs des contraintes inégalité : c I ( x ) max0 ,c I ( x ) 0 c I ( x ) 0 c I ( xk ) 0 , k k0 * 0 Contrainte inégalité inactive :
On regroupe les contraintes en un seul vecteur pour simplifier l’écriture 1 1 2 2 c ( x ) x* x c( x ) E f k ( x ) f ( x ) k c( x ) 2 2 cI ( x ) f k ( x ) f ( x ) kc( x )c( x ) ( x x*)
175
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
Max CERF 2018
1.4.3 Conditions nécessaires Eléments de la démonstration 2) Cas de contraintes non linéaires : cE(x)=0 cI(x)0 •
Condition nécessaire d’optimalité pour le problème sans contrainte xk minimum local de fk(x) f k ( xk ) 0 f ( xk ) kc( xk )c( xk ) ( xk x*) 0
•
En prémultipliant par c( xk )T
c( xk )T f ( xk ) kc( xk )T c( xk )c( xk ) c( xk )T ( xk x*) 0 •
Les contraintes sont supposées linéairement indépendantes c( xk )T c( xk ) inversible
•
En prémultipliant par
c( x
k
)T c( xk )
1
kc( xk ) c( xk )T c( xk ) c( xk )T f ( xk ) ( xk x*) •
1
En distinguant les contraintes égalité et inégalité kc ( x ) c ( x )T c ( x )1 c ( x )T f ( x ) ( x x*) E k E k E k E k k k 1 kcI ( xk ) cI ( xk )T cI ( xk ) cI ( xk )T f ( xk ) ( xk x*)
176
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
Max CERF 2018
1.4.3 Conditions nécessaires Eléments de la démonstration 2) Cas de contraintes non linéaires : cE(x)=0 cI(x)0 kc ( x ) c ( x )T c ( x ) 1 c ( x )T f ( x ) ( x x*) E k E k E k k k • On obtient : E k 1 T T kc I ( xk ) c I ( xk ) c I ( xk ) c I ( xk ) f ( xk ) ( xk x*) • Lorsque k tend vers l’infini
•
lim kc ( x ) * c ( x*)T c ( x*) 1 c ( x*)T f ( x*) E E E k E k def 1 kc I ( xk ) * c I ( x*)T c I ( x*) c I ( x*)T f ( x*) klim def En reportant dans l’expression du gradient de fk en xk
f k ( xk ) f ( xk ) kc E ( xk )c E ( xk ) kc I ( xk )c I ( xk ) ( xk x*) 0
k f ( x*) c E ( x*) * c I ( x*)* 0 f ( x*) c E ( x*) * c I ( x*)* 0 •
car *=0 pour les inégalités inactives
On obtient la condition nécessaire d’ordre 1 : x L( x*,*, *) 0
177
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Exemple
Conditions nécessaires 1 min x 22 x 12 sous x 1 1 x1 , x 2 2
2,0
1,5 1,0
1 Lagrangien : Lx 1 , x 2 , x 22 x 12 x 1 1 2 •
•
0,5 -1,0
0,0 -0,5 0,0 -0,5
0,5
1,0
1,5
2,0
2,5
Conditions nécessaires d’ordre 1 -1,0 -1,5 x 1 μ 0 1 x 2 0 -2,0 vérifiées en x* , * 1 0 x 1 1 μ 0 μ x 1 1 0 T Conditions nécessaires d’ordre 2 d1 1 T d direction tangente aux contraintes actives : d c(x*) 0 0 d1 0 d2 0 T d 1 0 d1 d12 d 22 d 22 0 qui est vérifié pour tout d d T 2xx L(x*, μ*)d 1 d2 0 1d2
1 x* , * 1 vérifie les conditions nécessaires d’ordre 1 et 2. 0
178
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Exemple
Conditions nécessaires 1 min x 22 x 12 sous x 1 1 x1 , x 2 2
2,0
1,5 1,0
1 Lagrangien : Lx 1 , x 2 , x 22 x 12 x 1 1 2 •
•
0,5 -1,0
0,0 -0,5 0,0 -0,5
0,5
1,0
1,5
2,0
2,5
Conditions nécessaires d’ordre 1 -1,0 -1,5 x 1 μ 0 0 x 2 0 -2,0 vérifiées en x* , * 0 0 x 1 1 μ 0 μ x 1 1 0 Conditions nécessaires d’ordre 2 Aucune contrainte n’est active en x1=0. Pour toute direction d on doit avoir :
d d T 2xx L(x*, μ*)d 1 d2
T
1 0 d1 d12 d 22 0 0 1 d2
1 qui n’est pas vérifié pour d 0
0 x* , * 0 vérifie les conditions nécessaires d’ordre 1, mais pas d’ordre 2. 0
179
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
Max CERF 2018
1.4.3 Conditions nécessaires Multiplicateur du critère
minn f(x) sous c(x) 0 xR
•
Dans le cas général, il faut définir le lagrangien avec un multiplicateur 0 sur le critère.
L( x , , 0 ) 0 f ( x ) T c( x ) •
m contraintes d’égalité (= contraintes actives)
avec Rm : multiplicateurs des contraintes 0R : multiplicateur du critère → 0 0
Les conditions KKT donnent un système de n+m équations à n+m+1 inconnues.
x L( x , , 0 ) 0 n L( x , , 0 ) 0 m •
Dans le cas normal, le système admet une solution pour toute valeur 0 > 0. Les multiplicateurs sont définis à une constante multiplicative près on choisit 0 = 1.
•
Dans le cas anormal, le système n’admet une solution que si 0 = 0. Ce cas correspond à un ensemble admissible réduit à des points isolés. La solution satisfait les contraintes, mais la valeur du critère n’est pas « minimisable ». équivaut à une valeur infinie des multiplicateurs
180
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
Max CERF 2018
1.4.3 Exemple Multiplicateur du critère
min x1 sous x12 x 22 0
→ solution unique vérifiant la contrainte
x1 , x 2
Lagrangien :
Lx1 , x 2 , , 0 0 x1 x12 x 22
avec 0 0
•
Conditions nécessaires d’ordre 1 0 2x1 0 système de 3 équations à 4 inconnues 2x 2 0 x12 x 22 0
•
Solution :
•
Si l’on écrit le lagrangien sans le multiplicateur 0, les conditions KKT sont
→ cas anormal x1 0 0 0 x 0 quelconque 2 La contrainte n’est satisfaite qu’en un point isolé (0 , 0). Le multiplicateur 0 du critère est nul ( critère indifférent, pas de minimisation possible).
1 2x1 0 2x 2 0 x12 x 22 0
x 0 solution x1 0 2
( critère indifférent)
181
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
Max CERF 2018
1.4.3 Conditions suffisantes Problème avec contraintes c (x) 0 minn f(x) sous E xR c I (x) 0
p contraintes d’égalité q contraintes d’inégalité
Conditions suffisantes S’il existe x*Rn , *Rp , *Rq tels que : • Ordre 1 : x L(x*, λ*, μ*) 0 conditions d’ordre 1 λ L(x*, λ*, μ*) 0 contraintes égalité cE(x*) = 0 L(x*, λ*, μ*) 0 contraintes inégalité cI(x*) 0 μ μ * 0 conditions complémentaires μ * c I (x*) 0 μ k * 0 si c Ik (x*) 0 contraintes actives : multiplicateur > 0 •
Ordre 2 : Pour toute direction d tangente aux contraintes actives (c(x*)=0) : d T 2xx L(x*, λ*, μ*)d 0 conditions d’ordre 2 d / d T c(x*) 0 x* est un minimum local strict
Remarque : Pas d’hypothèse de qualification des contraintes dans les conditions suffisantes
182
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
Max CERF 2018
1.4.3 Conditions suffisantes Eléments de la démonstration Cas de contraintes égalité : c(x)=0 On suppose que (x*,*) vérifie les conditions suffisantes. •
On considère le problème sans contrainte 1 1 2 2 minn L ρ (x, λ*) L(x, λ*) ρ c(x) f(x) λ * T c(x) ρ c(x) xR 2 2 L(x,) = lagrangien augmenté >0 = pénalisation de la violation des contraintes
•
x L ρ (x*, λ*) f(x*) c(x*)λ * ρc(x*)c(x*) f(x*) c(x*)λ * car x* admissible par hypothèse sur x*,* x L(x*, λ*) 0 2 2 T xx L ρ (x*, λ*) xx L(x*, λ*) ρc(x*)c(x*) définie positive pour assez grand
•
x* est un minimum local du lagrangien augmenté L(x,*) pour =*. •
Au voisinage de x* : L ρ (x*, λ*) L ρ (x, λ*) f(x*, λ*) f(x, λ*) ,x / c(x) 0 x* est un minimum local de f
183
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Exemple
Conditions suffisantes 1 min x 22 x 12 sous x 1 1 x1 , x 2 2 1 x* , * 1 vérifie les conditions nécessaires 0
2,0
1,5 1,0 0,5 -1,0
0,0 -0,5 0,0 -0,5
0,5
1,0
1,5
2,0
2,5
-1,0
•
Conditions suffisantes d’ordre 1 Contrainte active multiplicateur > 0
x * 1 0 •
-1,5 -2,0
* 1 0
T Conditions suffisantes d’ordre 2 d 1 d direction tangente aux contraintes actives : d T c(x*) 0 1 0 d1 0 d2 0 T d1 1 0 d1 0 T 2 d12 d 22 d 22 0 car d 0 d 2 0 d xx L(x*, μ*)d d2 0 1d2 d2
1 x* , * 1 vérifie les conditions suffisantes d’ordre 1 et 2 minimum local strict. 0
184
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Exemple
Remarque sur la condition d’ordre 2 1 1 min x 22 x 12 sous x 1 1 x* , * 1 x1 , x 2 2 0 1 1 d est une direction admissible en x* 0 0
2,0
mais la condition d’ordre 2 ne porte que sur les directions tangentes aux contraintes actives.
1,5 1,0 0,5 -1,0
0,0 -0,5 0,0 -0,5
0,5
1,0
1,5
2,0
2,5
-1,0 -1,5 -2,0
Importance de la condition de complémentarité 1 min x 22 x 12 sous x 1 0 x1 , x 2 2 0 vérifie les conditions suffisantes d’ordre 1 et 2 x* , * 0 0 sauf la condition de complémentarité
Si la contrainte inégalité est active, le multiplicateur doit être strictement positif. x1* = 0 est active et * = 0 n’est pas strictement positif x* n’est pas un minimum local (f décroit suivant x1 0 ( 2)
f cI = 0 cI x1
188
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Interprétation géométrique
Fonction de 2 variables – 1 contrainte égalité – 1 contrainte inégalité
c (x , x ) 0 min f(x1 , x 2 ) sous E 1 2 x ,x c I (x1 , x 2 ) 0
x2 f décroissante
1
f
cE
2
f ( x*) c E ( x*) c I ( x*) 0 0
cI < 0 Sur le schéma : • f(x1, x2) = x1 à minimiser • < 0 ( 1.5) • > 0 ( 1.5)
x*
f cI = 0 cE = 0
cI
cE x1
189
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Interprétation géométrique
Fonction de 2 variables – 2 contraintes inégalité
c (x , x ) 0 min f(x1 , x 2 ) sous I1 1 2 x ,x c I2 (x1 , x 2 ) 0
x2 f décroissante
1
cI2
f ( x*) 1c I1 ( x*) 2 c I 2 ( x*) 0 1 0 2 0
f cI1 < 0
2
cI2 < 0
cI2
Sur le schéma : • f(x1, x2) = x1 à minimiser • 1 > 0 (1 1.5) • 2 > 0 (2 1.5)
x*
f
cI1 = 0 cI2 = 0
cI1 x1
190
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Interprétation géométrique
Fonction de 2 variables – 1 contrainte inégalité
x2
min f(x1 , x 2 ) sous c I (x1 , x 2 ) 0
cI = 0
x1 , x 2
f ( x*) c I ( x*) 0 0
f
cI < 0
Sur le schéma : • f(x1, x2) quadratique • x0 = minimum sans contrainte • > 0 ( 2)
x* x0
cI f x1
191
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Interprétation géométrique
Fonction de 2 variables – 1 contrainte égalité – 1 contrainte inégalité
c (x , x ) 0 min f(x1 , x 2 ) sous E 1 2 x ,x c I (x1 , x 2 ) 0
x2
1
2
f ( x*) c E ( x*) c I ( x*) 0 0
cE = 0 x* cI < 0
x0
cI
Sur le schéma : • f(x1, x2) quadratique • x0 = minimum sans contrainte • > 0 ( 1.0) • > 0 ( 1.0)
cE f
cI = 0
x1
192
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
Max CERF 2018
1.4.3 Méthode pratique Problème avec contraintes c (x) 0 minn f(x) sous E xR c I (x) 0
p contraintes d’égalité q contraintes d’inégalité
La résolution analytique ou numérique nécessite d’identifier les contraintes actives. On se ramène à un problème avec contraintes égalité plus simple. résolution des conditions KKT d’ordre 1 vérification des conditions réduites d’ordre 2 Identification des contraintes actives • Résolution analytique problème combinatoire (conditions complémentaires) • Résolution numérique mise à jour itérative de l’ensemble des contraintes actives Stratégie itérative d’identification • On cherche un déplacement à partir du point courant sans tenir compte des contraintes inégalité • Le déplacement peut rendre actives certaines contraintes inégalité. • On reprend la recherche en ajoutant la première contrainte inégalité activée. résolution d’une succession de problèmes avec contraintes égalité m contraintes actives minn f(x) sous c(x) 0 xR
193
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Exemple
Problème avec 2 contraintes inégalité
min f ( x ) x 1 x 2 x1 , x 2
• •
2 2 sous c1 ( x ) x 1 x 2 1 1 0 c 2 ( x ) 1 x 2 0
2,5 2 1,5
Lagrangien : L( x, ) f ( x ) 1c1 ( x ) 2 c 2 ( x ) 2 x 1 x 2 1 x 12 x 2 1 1 2 1 x 2
1 0,5
Conditions KKT d’ordre 1 -2
-1,5
-1
0 -0,5 0 -0,5
1 21 x 1 0 1 21 x 2 1 2 0 x 2 x 12 1 0 2 1 1 x 2 0 1 c1 ( x ) 0 conditions complémentaires : 4 combinaisons possibles 2 c 2 ( x ) 0 , 0 1 2
0,5
1
1,5
-1
Identification des contraintes actives
0 ou c ( x ) 0 Problème combinatoire : il faut essayer les 4 possibilités 1 0 ou c1 ( x ) 0 2 2
194
2
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Exemple
Problème avec 2 contraintes inégalité
min f ( x ) x 1 x 2 x1 , x 2
•
Si 1 0
2 2 sous c1 ( x ) x 1 x 2 1 1 0 c 2 ( x ) 1 x 2 0
incompatible équation
2,5 2 1,5
1 21 x 1 0
1
c1 ( x ) 0 c1 contrainte active •
Si 2 0
1 21 x 2 1 0 1 x2 0 incompatible équations 1 0
0,5
-2
-1,5
-1
0 -0,5 0 -0,5
0,5
1
1,5
-1
c 2 ( x ) 0 c2 contrainte active •
Combinaison retenue
•
x 1 1 Solution : x 2 1 0.5 1 2 1
c1 ( x ) 0 x 1 0.5 et 1 0 x 1 1 c ( x ) 0 x 1 1 1 1 2 2 2 Vérification condition d’ordre 2 : cône admissible vide (2 contraintes actives) minimum local
195
2
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Exemple
Changement de sens contrainte 2
min f ( x ) x 1 x 2 x1 , x 2
• •
2 2 sous c1 ( x ) x 1 x 2 1 1 0 c 2 ( x ) x 2 1 0
2,5 2 1,5
Lagrangien : L( x, ) f ( x ) 1c1 ( x ) 2 c 2 ( x ) 2 x 1 x 2 1 x 12 x 2 1 1 2 x 2 1
1 0,5
Conditions KKT d’ordre 1 -2
-1,5
-1
0 -0,5 0 -0,5
1 21 x 1 0 1 21 x 2 1 2 0 x 2 x 12 1 0 2 1 x 2 1 0 1 c1 ( x ) 0 conditions complémentaires : 4 combinaisons possibles 2 c 2 ( x ) 0 , 0 1 2
0,5
1
1,5
-1
Identification des contraintes actives
0 ou c ( x ) 0 Problème combinatoire : il faut essayer les 4 possibilités 1 0 ou c1 ( x ) 0 2 2
196
2
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Exemple
Changement de sens contrainte 2
min f ( x ) x 1 x 2 x1 , x 2
•
Si 1 0
2 2 sous c1 ( x ) x 1 x 2 1 1 0 c 2 ( x ) x 2 1 0
incompatible équation
2,5 2 1,5
1 21 x 1 0
1
c1 ( x ) 0 c1 contrainte active •
0,5
-2
x 1 0.5 Si c 2 ( x ) 0 1 x 1 1 2 2 1
-1,5
-1
0 -0,5 0 -0,5
0,5
1
1,5
-1
incompatible condition 2 0
1 21 x 1 0 1 21 x 2 1 0 x 12 x 2 12 1 0
•
Si 2 0
•
Vérification condition d’ordre 2 : (1 contrainte active)
x 1 1 /(21 ) x 2 1 1 /(21 ) 1 1 / 2 0 2 2xx L( x, ) 1 0
x 1 1 / 2 x 2 1 1 / 2 1 1 / 2
0 0 21
minimum local
197
2
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Exemple
Passage contrainte 1 en égalité
min f ( x ) x 1 x 2 x1 , x 2
• •
2 2 sous c1 ( x ) x 1 x 2 1 1 0 c 2 ( x ) 1 x 2 0
Lagrangien : L( x, ) f ( x ) 1c1 ( x ) 2 c 2 ( x ) 2 x 1 x 2 1 x 12 x 2 1 1 2 1 x 2
2,5 2 1,5 1 0,5
0 Conditions KKT d’ordre 1 -2 -1,5 -1 -0,5 -0,5 1 21 x 1 0 1 21 x 2 1 2 0 -1 x 2 x 12 1 0 1 1 x 2 0 2 conditions complémentaires : 2 combinaisons possibles 2 c 2 ( x ) 0 2 0
0
0,5
1
1,5
Identification des contraintes actives Problème combinatoire : il faut essayer les 2 possibilités 2 0 ou c 2 ( x ) 0
198
2
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Exemple
Passage contrainte 1 en égalité
min f ( x ) x 1 x 2 x1 , x 2
•
Si 2 0
2 2 sous c1 ( x ) x 1 x 2 1 1 0 c 2 ( x ) 1 x 2 0
2,5 2 1,5
1 21 x 1 0 1 0 1 21 x 2 1 0 x 12 x 2 12 1 0
x 1 1 /(21 ) x 2 1 1 /(21 ) 1 1 / 2
1 0,5
-2
-1,5
-1
0 -0,5 0 -0,5
0,5
1
1,5
-1
x 1 1 / 2 1 x 2 0 x 2 1 1 / 2 1 1 / 2 •
Vérification condition d’ordre 2 : (1 contrainte active)
2 2xx L( x, ) 1 0
0 0 maximum local 21 solution rejetée
199
2
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Exemple
Passage contrainte 1 en égalité
min f ( x ) x 1 x 2 x1 , x 2
2 2 sous c1 ( x ) x 1 x 2 1 1 0 c 2 ( x ) 1 x 2 0
2,5 2 1,5
• •
x 1 Si c 2 ( x ) 0 1 x 2 1
0.5 1 2 1
1 0,5
Vérification condition d’ordre 2
2 2xx L( x, ) 1 0
-2
0 21
-1
0 -0,5 0 -0,5
0,5
1
1,5
-1
2x1 2x1 0 Cône admissible vide : c1 , c 2 1 2( x 2 1) 0
x 1 1 x 1 2 minima locaux : 2 f (x) 0 1 0.5 2 1
-1,5
et
2 contraintes actives
x 1 1 x 2 1 0.5 f ( x ) 2 1 2 1
200
2
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
Max CERF 2018
1.4.3 Méthode pratique Problème avec contraintes actives m contraintes actives minn f(x) sous c(x) 0 xR
Résolution des conditions KKT On cherche x*Rn et *Rm vérifiant les conditions KKT. •
Condition nécessaire du 1er ordre n équations x L(x*, λ*) 0 L(x*, λ*) 0 m équations λ Les n équations xL(x*,*) permettent d’exprimer x*Rn en fonction de *Rm On remplace ensuite x*(*) dans les m équations L(x*,*). système de m équations à m inconnues *Rm
•
Condition nécessaire du 2ème ordre Il faut vérifier que : d T 2xx L(x*, λ*)d 0 T d / d c(x*) 0
hessien du lagrangien semi-défini positif sur le cône admissible
Condition difficile à vérifier sous cette forme passage au hessien réduit
201
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
Max CERF 2018
1.4.3 Méthode pratique Problème avec contraintes actives m contraintes actives minn f(x) sous c(x) 0 xR
Problème équivalent • Les conditions nécessaires de minimum de f sous contraintes sont :
x L(x*, λ*) 0 λ L(x*, λ*) 0 d T 2xx L(x*, λ*)d 0 , d / d T c(x*) 0 •
On observe qu’il s’agit également des conditions nécessaires du problème :
min L(x, *) sous c(x) 0 xR n
•
Il est équivalent de minimiser f(x) ou L(x,*), si l’on connaît *. minn f(x) sous c(x) 0 xR
•
minn L(x, *) sous c(x) 0 xR
On écrit les conditions nécessaires sur le modèle quadratique-linéaire local, puis on applique la technique de réduction des contraintes linéaires.
202
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
Max CERF 2018
1.4.3 Méthode pratique Problème équivalent minn L(x, *) sous c(x) 0 xR
Modèle quadratique-linéaire •
•
1 Lˆ (x * p) L(x*, *) p T x L(x*, *) p T 2xx L(x*, *)p 2 g (x*) x L(x*, *) gradient du lagrangien par rapport à x En notant : L 2 hessien du lagrangien par rapport à x H L (x*) xx L(x*, *) 1 Lˆ (x * p) L(x*, *) p T g L (x*) p T H L (x*)p 2 Modèle linéaire des contraintes : cˆ (x * p) c(x*) c(x*) T p avec c(x*) 0
Modèle quadratique du critère :
A c(x*) T En notant : p Yp Zp Y Z
avec
AY inversible AZ = 0 (espace nul)
AYp Y 0 p 0 car AY inversible c(x*)T p 0 Y p Z libre p Z libre •
Problème réduit : minn Lˆ (x * p) sous cˆ (x * p) 0 pR
min Lˆ (x * Zp Z )
p Z R n m
203
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Méthode pratique
Problème réduit minn m Lˆ (x * Zp Z ) p Z R
problème sans contrainte à nm variables pZ
1 avec Lˆ (x * Zp Z ) L(x*, *) p TZ Z T g L (x*) p TZ Z T H L (x*)ZpZ 2 Conditions nécessaires de minimum du problème réduit T 1 Lˆ (x * Zp Z ) Lˆ (x*) , p Z p TZ Z T g L (x*) p TZ Z T H L (x*)ZpZ 0 , p Z Z T g L (x*) 0 2 Z H L (x*)Z 0 •
T T T T Condition réduite d’ordre 1 : Z g L (x*) 0 Z x L( x*, *) Z f ( x*) c( x*) * 0
Z T f ( x*) 0 car c( x*) T Z 0
•
T Condition réduite d’ordre 2 : Z H L (x*)Z 0
g(x) f (x) g Z Z T g gradient réduit du critère 2 • T H Z Z H L Z hessien réduit du lagrangien H L (x) xx L(x, *)
•
x* minimum local
g ( x*) 0 gradient réduit du critère nul Z H Z ( x*) 0 hessien réduit du lagrangien semi-défini positif
204
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Exemple
Problème de la boîte • Réaliser une boîte cylindrique de volume donné V0 et de surface minimale • Dimensions : hauteur = h , rayon = r
r Formulation du problème • Surface : S 2r 2 2rh min S(h, r ) sous V(h, r ) V0 h ,r • Volume : V r 2 h Résolution On note : V0 = 2v0 • Lagrangien : L(h, r, ) 2r 2 2rh r 2 h 2v 0 • Conditions KKT
h
2r r 2 r 2 r 2 0 0 4r 2h 2rh 0 2r h rh 0 h 2r r 2 h 2v 0 r 2 h 2v 0 0 r 3 v 0 0 •
r v 13 0 Solution : 1 h 2v 0 3
S 6v 0 3 32 3 V0 3 2
1
2
205
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Exemple
Vérification des conditions réduites Il faut choisir une base de réduction, puis vérifier les conditions réduites de minimum local. g Z ( x*) Z T f (x*) 0 gradient réduit du critère nul T 2 H Z ( x*) Z xx L(x, *)Z 0 hessien réduit du lagrangien semi-défini positif r g(h, r ) h , r f (h, r ) 2 • Gradient du critère : 2r h • Hessien du lagrangien : L(h, r, ) 2r 2 2rh r 2 h 2v 0
2r r 2 1 r 0 , H L (h, r ) 2h , r L(h, r, ) 2 g L (h, r ) h , r L(h, r, ) 1 r 2 h 4 r 2 h 2 rh Choix d’une base de réduction • Contrainte : c(h, r ) r 2 h 2v 0 0 c T r 2 •
•
r
2rh B 2rh
h
r N
Choix de la base avec la variable h :
A c T
Base de l’espace nul :
B 1 N 2rh / r 2 2h / r Z 1 I 1
2
206
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Exemple
Vérification des conditions réduites •
•
2h / r g Z (h, r ) Z g(h, r ) 2 Gradient réduit du critère : 1 On vérifie que le gradient réduit est nul : h 2r g Z (h, r ) 0 T
T
r 22r h 2 r h
2h / r Hessien réduit du lagrangien : H Z (h, r ) Z T H(h, r ) Z 2 1 h H Z (h, r ) 2 2 4 3h r
T
1 r 2h / r 0 1 r 2 r 1
On vérifie que le hessien réduit est semi-défini positif
r 2 H (h, r ) 2 2 h (4 3r ) 12 0 h 2 r Z r
207
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Exemple
Résolution par élimination • Contrainte : •
c(h, r ) r 2 h 2v 0 0 h
2v 0 r2
Elimination de la variable h : S(h, r ) 2r 2 2rh S(r ) 2r 2
4v 0 r
4v dS v (r ) 4r 2 0 4r1 30 dr r r 2 8v 0 v0 d S • Hessien : ( r ) 4 4 1 2 3 dr 2 r3 r dS 3 r v 0 dr (r ) 0 • Minimum de S(r) : 2 d 2S d S (r ) 0 dr 2 (r ) 12 0 2 dr Lien avec les conditions réduites • Gradient réduit 2v 2v v dS g Z (h, r ) 22r h avec h 20 g Z (h, r ) 2 2r 20 4r1 20 (r ) dr r r r • Hessien réduit d 2S pas de relation directe entre H Z et 2 (contrainte non linéaire) dr •
Gradient :
208
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
Max CERF 2018
1.4.3 Exemples Problème du skieur • Descendre du départ à l’arrivée le plus vite possible • 2 zones de pentes différentes : vitesse v1, puis v2 Départ
Vitesse v1
Vitesse v2
Arrivée
209
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Exemples
Problème du sauveteur • Aller secourir le baigneur qui se noie le plus vite possible • Course sur terre, puis nage dans l’eau : vitesse v1, puis v2
Baigneur
Vitesse v2 eau
terre Vitesse v1
Sauveteur
210
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Exemples
Problème du sauveteur • Données du problème : l0, l1, l2, v1, v2
l1 cos 1 d t1 1 Durée de course : v1 l2 Distance dans l’eau : d 2 cos 2 d t2 2 Durée de nage : v2
y
Arrivée
Distance sur terre : d1
l2
2 d2 v2 v1
l1
1
Distance suivant x : L d1 sin 1 d 2 sin 2 •
Formulation du problème Variables : 1 , 2 Contrainte : L = l0 Critère : T = t1 + t2
Départ
d1 x
l0
atteindre le point visé durée totale à minimiser
211
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
Max CERF 2018
1.4.3 Exemples Problème du sauveteur • Formulation du problème
min T1 , 2 sous L1 , 2 l 0 1 , 2
min T 1 , 2
•
l1 l2 sous L l1 tan 1 l 2 tan 2 l 0 v1 cos 1 v 2 cos 2
Résolution du problème Lagrangien : L1 , 2 ,
Conditions KKT :
l1 l2 l1 tan 1 l 2 tan 2 l 0 v1 cos 1 v 2 cos 2
1 l1 sin 1 l 0 1 v cos 2 2 cos 1 1 1 l 2 sin 2 1 l 2 0 2 2 v cos cos 2 2 2 l1 tan 1 l 2 tan 2 l 0
sin 1 v1 0 sin 2 v 2 0 l1 tan 1 l 2 tan 2 l 0
212
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Exemples
Problème du sauveteur sin 1 v1 0 • Conditions KKT : sin 2 v 2 0 l1 tan 1 l 2 tan 2 l 0
2 v2
• •
1,2 vérifient :
sin 1 v1 sin 2 v 2
v1
loi de la réfraction de Descartes 1
Pour résoudre complètement sin v cos 1 2 v 2 1 1 1 1 On exprime 1,2 en fonction de : 2 2 sin 2 v 2 cos 2 1 v 2
On remplace dans la contrainte : On obtient une équation en : équation de degré 4 solution * 1* ,2*
l1 tan 1 l 2 tan 2 l 0
l1 v1 1 v 2
2 1
l 2 v 2 1 v 2
2 2
l 0
l1 v1 1 2 v 22 l 2 v 2 1 2 v12 l 0 1 2 v 22 1 2 v12
213
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
Max CERF 2018
1.4.3 Sensibilité aux contraintes Problème avec contraintes c (x) 0 minn f(x) sous E xR c I (x) 0
p contraintes d’égalité q contraintes d’inégalité
min f(x) sous
c(x) 0
m contraintes d’égalité (= contraintes actives)
Problème initial minn f(x) sous
c(x) 0
xR n
xR
• •
Multiplicateurs : Solution :
*, x*,
xL(x*,*)= 0 f(x*) = f* c(x*) =0
Problème perturbé minn f(x) sous c(x) c xR
• •
Variation des niveaux de contrainte c Variation de la solution x , du coût optimal f Solution : x*+x, f(x*+x) = f* + f, fR c(x*+x) = 0 + c , cRm
214
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
Max CERF 2018
1.4.3 Sensibilité aux contraintes Variation du coût optimal • Variation du coût et des contraintes à l’ordre 1
f ( x * x ) f ( x*) f ( x*) T x f ( x*) f f f ( x*) T x T T c ( x * x ) c ( x *) c ( x *) x c ( x *) c c c( x*) x •
Condition d’optimalité d’ordre 1 du problème initial
x L( x*, *) 0 f ( x*) c( x*)* 0 •
Relation entre f et c T f *T c f ( x*) T *T c( x*) T x f ( x*) c( x*) * x 0
m
f * c *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 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Sensibilité aux contraintes
Fonction de 2 variables – 1 contrainte égalité
f = f*+ f
f = f*
x2
min f(x1 , x 2 ) sous c(x1 , x 2 ) 0
f décroissante
x1 , x 2
f ( x*) c( x*) 0
x*
Variations : • c = c.x • f = f.x = c
x*+x
f
c
c = c
Sur le schéma : • f(x1, x2) = x1 à minimiser • < 0 ( 2) • c > 0 x > 0 f < 0
c=0 x x1
216
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Exemple
Problème de la boîte
min S(h, r ) sous V(h, r ) V0 h ,r
S 2r 2 2rh avec 2 V r h r
contrainte en volume de niveau V0 1 Solution r V0 3 2 1 V0 3 h 2 2 1 3 2 2 V 0
S 32 3 V0 3
Sensibilité au niveau de contrainte
1
2
h
1 3
1 2 1 dS 22 3 V0 3 2 dV0 V0
217
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Techniques d’optimisation
Max CERF 2018
1.4.3 Sensibilité aux paramètres Problème avec paramètres de modèle
min f(x, p) sous c(x, p) 0 xR n
m contraintes d’égalité (= contraintes actives) r paramètres de modèle pRr (valeurs fixées)
Problème initial minn f(x, p) sous c(x, p) 0 xR
• •
Multiplicateurs : Solution :
*, x*,
xL(x*,*,p) = 0 f(x*, p) = f* c(x*, p) =0
Problème perturbé
min f(x, p p) sous c(x, p p) 0 xR n
• •
Variation des paramètres p Variation de la solution x , du coût optimal f Solution : x*+x, f(x*+x, p+p) = f* + f, fR c(x*+x, p+p) = 0 (même niveau de contrainte = 0)
218
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Sensibilité aux paramètres
Variation du coût optimal • Variation du coût et des contraintes à l’ordre 1
f ( x * x, p p) f ( x*, p) x f ( x*, p) T x p f ( x*, p) T p f ( x*, p) f T T c( x * x, p p) c( x*, p) x c( x*, p) x p c( x*, p) p c( x*, p) 0 x f ( x*, p) T x p f ( x*, p) T p f T T x c( x*, p) x p c( x*, p) p 0 •
Condition d’optimalité d’ordre 1 du problème initial
x L( x*, *, p) 0 x f ( x*, p) x c( x*, p)* 0 Relation entre f et p f x f ( x*, p) T *T x c( x*, p) T x p f ( x*, p) T *T p c( x*, p) T p
•
•
f f ( x*, p) c( x*, p) * p L( x*, *, p) T
p
p
p
T
p
Une variation pj du paramètre j entraîne une variation
df ( x*, p) p L( x*, *, p) dp
L( x*, *, p) p j du coût optimal p j
sensibilité du coût aux paramètres de modèle
219
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes
Max CERF 2018
Techniques d’optimisation 1.4.3 Exemple
Problème de la boîte
min S(h, r ) sous M(h, r ) M 0 V0 h ,r
S 2r 2 2rh avec 2 M V r h r
contrainte en masse M0 au lieu de volume V0, avec densité 1 Solution r M 0 3 2 1 M0 3 h 2 2 1 3 2 2 M 0
S 32 3 M 0 3 2
1
2
3
L S (M M 0 )
h
L M r 2 h 2 L 4 M 0 3 2
Sensibilité au paramètre 5 2 1 dS 4 M 3 3 22 M 0 3 0 d 2
2
3
L
220
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.4 Problème linéaire
Techniques d’optimisation
Max CERF 2018
1.4.4 Problème linéaire Forme standard Conditions nécessaires d’optimalité
Coûts réduits
221
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.4 Problème linéaire
Techniques d’optimisation
Max CERF 2018
1.4.4 Problème linéaire Problème linéaire
Ax b min c T x sous xR x 0
A R m n , b R m , c R n
n
problème linéaire sous forme standard (PL) Conditions nécessaires d’optimalité à partir du lagrangien Lagrangien :
x L( x, , s) c A T s L( x, , s) c x (b Ax) s x 2 xx L( x, , s) 0 T
T
T
•
(x,,s) minimum local de (PL) Condition nécessaire d’ordre 1 :
•
Condition nécessaire d’ordre 2 :
2xx L( x, , s) 0
•
Condition complémentaire :
s i x i 0, i 1,...n
c A T s 0 s 0
contraintes du problème dual vérifiée
222
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.4 Problème linéaire
Techniques d’optimisation
Max CERF 2018
1.4.4 Problème linéaire Problème linéaire
Ax b min c T x sous xR x 0 n
A R m n , b R m , c R n
problème linéaire sous forme standard (PL) Conditions nécessaires d’optimalité à partir des dérivées directionnelles x minimum local de (PL) Pour toute direction admissible d : f ( x ) T d 0 c T d 0
•
Toute direction admissible d est combinaison linéaire des directions de base dj. (contraintes linéaires) d jB B1A j d d j E jB avec T c T d j c TBd jB c TN d jN c TB B1A j c j 0 d jN E e j d jN
•
Il suffit de vérifier : c T d j 0
223
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.4 Problème linéaire
Max CERF 2018
Techniques d’optimisation 1.4.4 Problème linéaire
Coûts réduits
xB B 1b m x solution de base admissible : x E x E 0 N n m Le coût réduit associé à la variable hors base xj est défini par :
c j c T d j c j c TB B1A j
= dérivée directionnelle de f suivant la jème direction de base pour une variable hors base = 0 par extension pour une variable de base
AE B N B 1AE I B 1 N c TB B 1AE c TB c TB B 1 N
c 0 c NT
Conditions nécessaires d’optimalité x* solution de base non dégénérée x* solution de PL
c0
Conditions suffisantes d’optimalité x* solution de base admissible
c0
x* solution de PL
224
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.4 Problème linéaire
Techniques d’optimisation
Max CERF 2018
1.4.4 Problème linéaire Lien entre multiplicateurs et coûts réduits Ax b T • Problème linéaire sous forme standard : minn c x sous xR x 0
L( x, , s) c T x T (b Ax) s T x x L( x, , s) c A T s
•
Lagrangien :
•
T Conditions d’ordre 1 : A s c s 0 , s i x i 0 , i 1,, n
xB cB sB • Base B : AE B N c , s , x cN sN xN BT s B c B T A s c T N sN cN s 0 , si x i 0 , i B s 0 , s i x i 0 , i 1,, n B s N 0 , s i x i 0 , i N
B 1b 0
vérifié en prenant sB=0 vérifié car xN=0
B T c B B T c B sB 0 c 0 s T T 1 N s N c N s c B N c c 0 s N cN N B N N s N 0
•
Les coûts réduits sont les multiplicateurs des variables s c 0
225
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.4 Problème linéaire
Techniques d’optimisation
Max CERF 2018
1.4.5 Problème quadratique Forme standard Conditions nécessaires d’optimalité
Projection Directions conjuguées
226
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.5 Problème quadratique
Techniques d’optimisation
Max CERF 2018
1.4.5 Problème quadratique Problème quadratique •
1 T T Forme standard : minn x Qx c x sous Ax b xR 2
•
Gradient : g(x) Qx c
•
Hessien :
Q R n n , A R m n , b R m , c R n
H(x) Q
Cas d’une matrice Q non symétrique 1 On se peut toujours se ramener à une matrice Q’ symétrique : Q ij' Q 'ji (Qij Q ji ) 2 n n n n n n 1 x T Qx Q ij x i x j (Q ij Q ji )x i x j Q ij' x i x j x T Q ' x 2 i 1 j1 i 1 j1 i 1 j1 Cas d’une matrice Q symétrique • Q admet n valeurs propres réelles (distinctes ou non) • Q admet une base orthonormée de vecteurs propres • Si Q est définie positive, elle admet une factorisation LDLT (factorisation de Cholesky)
227
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.5 Problème quadratique
Max CERF 2018
Techniques d’optimisation 1.4.5 Problème quadratique
Conditions nécessaires d’optimalité
1 L( x, ) x T Qx c T x T (b Ax) 2
•
Lagrangien :
•
Conditions d’ordre 2 : Q définie positive
•
Qx A T c Conditions d’ordre 1 : Ax b
Solution Par soustraction membre à membre :
x L( x, ) Qx c A T 2 xx L( x, ) Q
Q inversible
x Q 1A T Q 1c Ax AQ 1A T AQ 1c Ax b Ax b
AQ 1A T AQ 1c b AQ 1A T
AQ 1A T 1 AQ 1c b En reportant dans l’expression de x : x Q 1 A T c Q 1A T AQ 1A T
AQ 1
AQ 1
1
1
cb
c b Q 1c
Application Projection d’un vecteur sur un hyperplan
228
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.5 Problème quadratique
Max CERF 2018
Techniques d’optimisation 1.4.5 Projection
Projection d’un vecteur sur un hyperplan La projection de x0Rn sur l’hyperplan d’équation Ax=b est le point x solution de minn x x 0 sous Ax b xR
point xP de l’hyperplan le plus proche de x0
xP
•
Problème quadratique équivalent 1 2 min x x 0 sous Ax b xR 2 x0 1 T minn x x 0 x x 0 sous Ax b xR 2 1 T • Lagrangien : L( x, ) x x 0 x x 0 T b Ax 2 x x 0 A T 0 Ax AA T Ax 0 • Condition d’ordre 1 : Ax b Ax b n
Solution
x P I A T AA T
1
A x 0 A T AA T
1
b
AA T 1 b Ax 0 T T 1 x x 0 A AA b Ax 0
matrice de projection : P I A T AA T
1
A
229
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.5 Problème quadratique
Techniques d’optimisation
Max CERF 2018
1.4.5 Directions conjuguées Forme quadratique définie positive On considère une forme quadratique définie positive
1 T x Qx c T x avec QRnn symétrique définie positive 2 Relation de conjugaison • 2 vecteurs u et v de Rn sont conjugués par rapport à Q si : uTQv=0 • n vecteurs (di)i=1,…,n conjugués 2 à 2 forment une base de Rn f (x)
Preuve n On cherche (i)i=1,…,n tels que : i d i 0 n
d k Q i d i 0 , k i 1
i 1
n
d Qd i 1
i
k
i
0 , k k d k Qd k 0 , k car d k Qd i si i k
Q définie positive : d k Qd k 0 si d k 0 k 0 Les n vecteurs (ui)i=1,…,n sont indépendants base de Rn •
n
Tout vecteur x de
Rn
peut s’écrire : x i d i avec i i 1
d i Qx d i Qd i
230
1 Bases théoriques 1.4 Conditions d’optimalité 1.4.5 Problème quadratique
Max CERF 2018
Techniques d’optimisation 1.4.5 Directions conjuguées
Méthode de directions conjuguées 1 On obtient le minimum de la forme quadratique définie positive f ( x ) x T Qx c T x 2 en n itérations à pas optimal suivant des directions conjuguées. n
Preuve : On part du point initial x0 : x0 i 1
d i Qx0 di d i Qd i
dans la base (di)i=1,…,n k
Après k itérations à pas optimal k suivant d1,…, dk , on obtient : xk x0 i d i xk 1 k d k i 1 A l’itération k, le pas optimal k suivant la direction dk vérifie : d min f xk 1 d k f xk 1 d k 0 d kT f xk 1 d k 0 d kT f xk 0 d k T T f ( x ) Qx c d k f xk d k Q x0 i d i d kT c d kT Qx0 c k d kT Qd k i 1 T d Qx c d kT f xk 0 k k T 0 d k Qd k On obtient pour xn : n n n n d iT Qx0 c d iT Qx0 d iT Q Q 1c xn x0 i d i x0 d i x0 T di di T T d i Qd i d i Qd i i 1 i 1 i 1 d i Qd i i 1 x0 x0 Q 1c dans la base (di)
xn Q 1c f ( xn ) Q 1 xn c 0
xn = x* minimum de f
231
2
Optimisation sans contraintes
Techniques d’optimisation
Max CERF 2018
Sommaire 1.
Bases théoriques
2.
Optimisation sans contraintes 2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthodes sans gradient
3.
Optimisation avec contraintes
4.
Optimisation discrète
5.
Optimisation fonctionnelle
232
2
Optimisation sans contraintes
Techniques d’optimisation
Max CERF 2018
2 Optimisation sans contraintes Problème non linéaire sans contraintes
min f(x) xR n
problème noté (PO)
Méthodes globales • Capacité à localiser plusieurs minima locaux (éventuellement le minimum global) • Algorithmes non déterministes (déplacements aléatoires « organisés ») • Métaheuristiques : algorithmes génétiques, recuit simulé, essaims, colonies de fourmis, recherche tabou,… • Convergence généralement lente, peu précise Méthodes locales • Recherche d’un minimum local à partir d’un point initial fourni par l’utilisateur • Méthodes d’ordre 0 : sans dérivées Nelder-Mead, Direct d’ordre 1 : avec dérivées premières plus forte pente d’ordre 2 : avec dérivées premières et secondes Newton • Critères d’efficacité : rapidité de convergence (nombre d’appels de la fonction) précision de convergence robustesse à l’initialisation
233
2 Optimisation sans contraintes 2.1 Méthodes de descente
Techniques d’optimisation
Max CERF 2018
Sommaire 1.
Bases théoriques
2.
Optimisation sans contraintes 2.1 Méthodes de descente 2.1.1 Principes 2.1.2 Itérations 2.1.3 Initialisation et arrêt 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthodes sans gradient
3. 4. 5.
Optimisation avec contraintes Optimisation discrète Optimisation fonctionnelle
234
2 Optimisation sans contraintes 2.1 Méthodes de descente 2.1.1 Principes
Max CERF 2018
Techniques d’optimisation 2.1.1 Méthodes de descente
Problème sans contrainte
f(x*) 0 x* minimum local 2 xR f(x*) 0 On ne sait pas trouver le minimum global dans le cas général (f quelconque). min f(x) n
Méthode locale • Initialisation x0 • Itérations • Arrêt
recherche d’un minimum local au voisinage de x0 passage du point xk au point xk+1 meilleur solution x* ou blocage
Initialisation x0
Point initial xk
Modèle local fˆk (x)
Solution x*
Nouveau point xk+1
Amélioration f(xk+p) < f(xk)
235
2 Optimisation sans contraintes 2.1 Méthodes de descente 2.1.2 Itérations
Max CERF 2018
Techniques d’optimisation 2.1.2 Itérations
Modèle local : prédiction • Point courant xk ,fk = f(xk) • Evaluation de gk = f(xk) ou approximation (différences finies) Hk = 2f(xk) ou approximation (quasi Newton) •
Modèle quadratique :
min fˆk ( x k p) f k p t g k p
1 t p Hkp 2
Méthodes de Newton ou quasi-Newton Amélioration : correction • Nouveau point xk+1 = xk + p
•
xˆ k 1 x k pˆ (prédiction)
tel que f(xk+p) < f(xk)
Déplacement p à partir de xk par recherche linéaire suivant par région de confiance dans
d k xˆ k 1 x k x xk r
Méthodes de globalisation
•
La méthode de Newton appliquée directement ne converge pas systématiquement. La globalisation est nécessaire pour contrôler la convergence.
236
2 Optimisation sans contraintes 2.1 Méthodes de descente 2.1.3 Initialisation et arrêt
Techniques d’optimisation
Max CERF 2018
2.1.3 Initialisation et arrêt Initialisation • Les méthodes locales recherchent le minimum au voisinage du point de départ. •
Objectifs :
•
Le minimum local trouvé est le plus proche du point initial x0. initialisation à modifier pour trouver un autre minimum local
•
Les méthodes « globales » explorent « aléatoirement » les solutions localisation possible de plusieurs minima locaux
rapidité de convergence précision de convergence méthodes à base de dérivées
Conditions d’arrêt • Déplacement insuffisant : • Amélioration insuffisante : • Condition d’ordre 1 vérifiée : • Nombre maximal d’itérations ou d’appels fonction :
x k 1 x k x f k f k 1 f g k g Niter , Nfonc
237
2 Optimisation sans contraintes 2.2 Méthode de Newton
Techniques d’optimisation
Max CERF 2018
Sommaire 1.
Bases théoriques
2.
Optimisation sans contraintes 2.1 Méthodes de descente 2.2 Méthode de Newton 2.2.1 Résolution d’équations 2.2.2 Minimisation 2.2.3 Globalisation 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthodes sans gradient
3. 4. 5.
Optimisation avec contraintes Optimisation discrète Optimisation fonctionnelle
238
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation
Max CERF 2018
2.2.1 Résolution d’équations Principes Méthode de Newton
Méthode de quasi-Newton
239
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Max CERF 2018
Techniques d’optimisation 2.2.1 Résolution d’équations
Système d’équations non linéaires
g(x) 0
avec g : Rn Rn
système de n équations à n inconnues
Principe de la méthode de Newton • Linéariser g au point initial x0 fonction modèle linéaire ĝ « proche » de g • Résoudre le système linéaire ĝ(x)=0 nouveau point x1 • Itérer jusqu’à vérifier g(x)=0 solution x*
Initialisation x0
Point initial xk
Fonction modèle gˆ k (x)
Solution x*
Nouveau point
Résolution gˆ k (x) 0
xk+1
240
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation
Max CERF 2018
2.2.1 Méthode de Newton Fonction modèle • Développement de Taylor à l’ordre 1 de g en xk
g(x) g(x k ) g(x k ) T (x x k ) o x x k
•
Modèle linéaire de g en xk :
gˆ k (x) g(x k )
G k (x x k )
avec G k R nn
Choix de la matrice Gk • Méthode de Newton Gk = g(xk)T = matrice jacobienne de g en xk • Méthode de quasi-Newton Gk = approximation de g(xk)T
Résolution •
Système linéaire :
gˆ k (x) 0 g(x k ) G k (x x k ) 0
•
Itération :
x k 1 x k G k1g(x k )
•
Condition d’arrêt :
g(x k ) ε
si Gk inversible
241
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Max CERF 2018
Techniques d’optimisation 2.2.1 Méthode de Newton
Illustration à une variable • Equation non linéaire : g(x) = 0 • Point initial : x0, y0 = g(x0) Tangente en x0 : y = y0 +g’(x0)(x - x0 ) •
Intersection axe x :
y 0 x1 x 0
•
Nouveau point :
x1, y1 = g(x1)
y0 g' (x 0 )
x* x2
x1
x0
242
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Max CERF 2018
Techniques d’optimisation 2.2.1 Méthode de Newton
Modèle linéaire de g en xk
avec G k g(x k ) T
gˆ k (x) g(x k ) G k ( x x k )
Erreur de linéarisation M = constante de Lipschitz sur le gradient majorant de la courbure
g(x) gˆ k (x)
1 M x xk 2
2
erreur quadratique
Vitesse de convergence Hypothèses sur la solution x* : g(x * ) inversible
g(x * ) 1 η 1
Suite (xk) : x k 1 x k G k g(x k ) •
(xk) converge vers x* si x0 est « assez proche » de x* : r 0 / x 0 x * r lim x k x *
•
La convergence est quadratique
k
x k 1 x * Mη x k x *
2
243
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Max CERF 2018
Techniques d’optimisation 2.2.1 Exemples
Exemple 1 • Fonction : g(x) x 2 1 • Dérivée : g' (x) 2x • Solution : x = 1 g’(1) = 2
Iteration
g(x)
1
x
x(k)
g(x)=x**2-1 g'(x)=2x
Erreur
0
4,00000000
1,5E+01
8,0000
3,0E+00
1
2,12500000
3,5E+00
4,2500
1,1E+00
2
1,29779412
6,8E-01
2,5956
3,0E-01
3
1,03416618
6,9E-02
2,0683
3,4E-02
4
1,00056438
1,1E-03
2,0011
5,6E-04
5
1,00000016
3,2E-07
2,0000
1,6E-07
6
1,00000000
2,5E-14
2,0000
1,3E-14
Convergence quadratique g’(x*) inversible
244
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation
Max CERF 2018
2.2.1 Exemples Exemple 2 • Fonction : g(x) ( x 1) 2 • Dérivée : g' (x) 2(x 1) • Solution : x = 1 g’(1) = 0
Iteration 0 1 2 3 4 5 6 7 8 9 10 15 20
g(x)
1
x
x(k) g(x)=(x-1)**2 g'(x)=2(x-1) 4,00000000 9,0E+00 6,0000 2,50000000 2,3E+00 3,0000 1,75000000 5,6E-01 1,5000 1,37500000 1,4E-01 0,7500 1,18750000 3,5E-02 0,3750 1,09375000 8,8E-03 0,1875 1,04687500 2,2E-03 0,0938 1,02343750 5,5E-04 0,0469 1,01171875 1,4E-04 0,0234 1,00585938 3,4E-05 0,0117 1,00292969 8,6E-06 0,0059 1,00009155 8,4E-09 0,0002 1,00000286 8,2E-12 0,0000
Erreur 3,0E+00 1,5E+00 7,5E-01 3,8E-01 1,9E-01 9,4E-02 4,7E-02 2,3E-02 1,2E-02 5,9E-03 2,9E-03 9,2E-05 2,9E-06
Convergence lente g’(x*) non inversible
245
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation
Max CERF 2018
2.2.1 Exemples Exemple 3 • Fonction : g(x) Arc tan(x )
Iteration 0 1 2 3 4 5 6
1 1 x2
•
Dérivée : g' (x)
•
Solution : x = 0 g’’(1) = 0
x(k) g(x)=Arctan(x) g'(x)=1/(1+x**2) 1,300 0,915 0,372 -1,162 -0,860 0,426 0,859 0,710 0,575 -0,374 -0,358 0,877 0,034 0,034 0,999 0,000 0,000 1,000 0,000 0,000 1,000
Erreur 1,3E+00 -1,2E+00 8,6E-01 -3,7E-01 3,4E-02 -2,6E-05 1,2E-14
g(x)
Convergence
x1
0
x0
x2 x
Iteration 0 1 2 3 4 5 6
x(k) g(x)=Arctan(x) g'(x)=1/(1+x**2) 1,500 0,983 0,308 -1,694 -1,038 0,258 2,321 1,164 0,157 -5,114 -1,378 0,037 32,296 1,540 0,001 -1575,317 -1,570 0,000 3894976,008 1,571 0,000
Divergence
Erreur 1,5E+00 -1,7E+00 2,3E+00 -5,1E+00 3,2E+01 -1,6E+03 3,9E+06
246
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation
Max CERF 2018
2.2.1 Méthode de Newton Intérêt de la méthode de Newton • Convergence quadratique au voisinage de la solution très rapide et précise • Méthode à privilégier dans les algorithmes d’optimisation Difficultés • Calcul explicite du gradient g(xk) à chaque itération coûteux (n appels fonctions) • Convergence non garantie même près de la solution Adaptations • Méthodes de quasi-Newton
•
Techniques de globalisation
Gk = approximation du gradient g(xk) construite à partir des itérations précédentes sans calcul explicite du gradient Contrôle du point xk+1 (meilleur que xk ?) g(x k 1 ) g(x k )
Si le point xk+1 n’est pas satisfaisant Méthodes de recherche linéaire ou région de confiance 2 pour minimiser g(x)
247
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation
Max CERF 2018
2.2.1 Méthode de quasi-Newton Méthode de Broyden On cherche à définir la matrice Gk à partir de la matrice Gk-1 de l’itération précédente. Les matrices Gk-1 et Gk doivent être « proches » au sens de la norme matricielle. Variation de modèle • Modèle linéaire de g en xk-1 :
gˆ k -1 (x) g(x k -1 ) G k -1 ( x x k -1 )
•
Modèle linéaire de g en xk:
gˆ k (x) g(x k ) G k ( x x k )
•
Différence entre les modèles en xk-1 et xk
gˆ k (x) g(x k ) G k (x x k ) g(x k -1 ) G k ( x k x k -1 ) G k ( x x k ) g(x k -1 ) G k ( x x k -1 ) gˆ k -1 (x) G k -1 ( x x k -1 ) G k ( x x k -1 ) gˆ k -1 (x) (G k G k -1 )( x x k -1 )
car g(x k ) g(x k -1 ) G k (x k x k -1 ) par définition de G k car gˆ k -1 (x) g(x k -1 ) G k -1 ( x x k -1 ) par définition de gˆ k -1
gˆ k (x) gˆ k -1 (x) (G k G k -1 )(x x k -1 )
248
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation
Max CERF 2018
2.2.1 Méthode de quasi-Newton Objectif Conserver un modèle linéaire de g en xk gˆ k (x) g(x k ) G k ( x x k )
avec G k g(x k ) T
sans calculer explicitement Gk Equation de la sécante On choisit une matrice Gk Rnn vérifiant :
g(x k ) g(x k -1 ) G k ( x k x k -1 ) y k -1 G k d k -1
d x k x k -1 avec k -1 y k -1 g(x k ) g(x k -1 )
équation de la sécante entre xk-1 et xk Choix de G Il existe une infinité de matrices G vérifiant l’équation de la sécante : n2 inconnues (composantes de G 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 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Max CERF 2018
Techniques d’optimisation 2.2.1 Méthode de quasi-Newton
Illustration à une variable • Equation non linéaire : g(x) = 0 • Points initiaux : x0, y0 = g(x0) x1, y1 = g(x1)
Sécante en x1 : y y 0
•
Intersection axe x :
y 0 x2 x0
•
Nouveau point :
x2, y2 = g(x2)
x1 x 0 y0 y1 y 0
y1 y 0 (x x 0 ) x1 x 0
x* x2
x1
x0
250
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation
Max CERF 2018
2.2.1 Méthode de quasi-Newton Mise à jour de Broyden L’écart entre les modèles gˆ k -1 (x) et gˆ k (x) est minimal en choisissant Gk solution de
minnn G G k -1 sous y k 1 G d k 1
GR
Formule de Broyden : G k G k -1
avec
d k -1 x k x k -1 y g(x ) g(x ) k k -1 k -1
y k 1 G k -1d k 1 d Tk 1 d Tk 1d k 1
Convergence • La matrice G ne converge pas forcément vers g
solution optimale
ne compromet pas la convergence
•
Les méthodes de quasi-Newton et de Newton peuvent converger vers des solutions différentes.
•
La méthode de quasi-Newton converge généralement moins vite que la méthode de Newton, mais nécessite beaucoup moins d’appels de la fonction g (pas de calcul de gradient). Peu de résultats théoriques Méthode efficace en pratique, comportement à vérifier et adapter au cas par cas
251
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Max CERF 2018
Techniques d’optimisation 2.2.1 Exemple
Comparaison Newton Quasi-Newton • Fonction : g(x) x 2 1 • Dérivée : g' (x) 2x • Solution : x = 1
Newton
Quasi - Newton Iteration
x(k)
g(x)=x**2-1
5,00000000
2,4E+01
0
4,00000000
1,5E+01
1
2,33333333
2
dg/dx
Erreur
Iteration
x(k)
g(x)=x**2-1 g'(x)=2x
Erreur
4,0E+00
0
4,00000000
1,5E+01
8,0000
3,0E+00
9,0000
3,0E+00
1
2,12500000
3,5E+00
4,2500
1,1E+00
4,4E+00
6,3333
1,3E+00
2
1,29779412
6,8E-01
2,5956
3,0E-01
1,63157895
1,7E+00
3,9649
6,3E-01
3
1,03416618
6,9E-02
2,0683
3,4E-02
3
1,21238938
4,7E-01
2,8440
2,1E-01
4
1,00056438
1,1E-03
2,0011
5,6E-04
4
1,04716672
9,7E-02
2,2596
4,7E-02
5
1,00000016
3,2E-07
2,0000
1,6E-07
5
1,00443349
8,9E-03
2,0516
4,4E-03
6
1,00000000
2,5E-14
2,0000
1,3E-14
6
1,00010193
2,0E-04
2,0045
1,0E-04
7
1,00000023
4,5E-07
2,0001
2,3E-07
8
1,00000000
2,3E-11
2,0000
1,1E-11
252
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation
Max CERF 2018
2.2.2 Minimisation Principes Méthode de Newton
Méthode de quasi-Newton Méthode BFGS Méthode DFP Méthode SR1 Comparaison Extensions BFGS
253
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation
Max CERF 2018
2.2.2 Problème de minimisation Problème sans contrainte gradient : g(x) = f(x) minn f(x) xR hessien : H(x) = 2f(x) Condition nécessaire de minimum local
g(x*) 0 x* minimum local H(x*) 0
(hessien semi-défini positif)
Recherche des points stationnaires Application de la méthode de Newton au système d’équations non linéaires : g(x) = 0
Modèle linéaire de g en xk : • •
Méthode de Newton : Méthode de quasi-Newton :
g(x ) f(x k ) gˆ k (x) g(x k ) G k ( x x k ) avec k T 2 G k g(x k ) f(x k ) H k G = H calcul explicite du hessien à chaque itération G = approximation de H construite à partir des itérations précédentes sans calcul explicite du hessien
254
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation
Max CERF 2018
2.2.2 Méthode de Newton Modèle linéaire de g=f en xk
gˆ k (x) g(x k ) G k ( x x k ) • •
Itération : Condition d’arrêt :
g(x ) f(x k ) avec k T 2 G k g(x k ) f(x k ) H k
x k 1 x k 2 f(x k ) 1 f(x k ) f(x k ) ε
équations de Newton
Difficultés • Calcul explicite et inversion du hessien 2f(xk) à chaque itération coûteux • Convergence non garantie même près de la solution mêmes difficultés que pour la résolution d’équations
•
1ère condition nécessaire de minimum : f(x*)=0 point stationnaire x* = minimum local, maximum local ou point selle 2ème condition nécessaire de minimum à vérifier : 2f(x*)0
Adaptations • Méthodes de quasi-Newton • Techniques de globalisation
Gk = approximation du hessien 2f(xk) Contrôle de la décroissance de f
255
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Max CERF 2018
Techniques d’optimisation 2.2.2 Méthode de Newton
Modèle quadratique de f en xk • Développement de Taylor à l’ordre 2 de f en xk 1 f(x) f(x k ) f(x k ) T (x x k ) (x x k ) T 2 f(x k )(x x k ) o x x k 2 • Modèle quadratique en xk 1 fˆk (x) f k (x k ) g Tk (x x k ) (x x k ) T H k (x x k ) 2 • Lien entre le modèle de f et le modèle de g =f fˆ (x) g H (x x ) gˆ (x)
k
k
k
k
2
k
Minimisation du modèle de f en xk
•
fˆk (x*) gˆ k (x*) 0 ˆ Conditions suffisantes de minimum local : min f k (x) 2 ˆ xR f k (x*) H k 0 Si le hessien de f en xk est défini positif : 2f(xk) > 0 Minimisation du modèle quadratique de f en xk Méthode de Newton en xk pour résoudre f(x)=0
•
Sinon la méthode de Newton n’est pas directement applicable pour une minimisation
•
n
256
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Max CERF 2018
Techniques d’optimisation 2.2.2 Exemple
Méthode de Newton 4 3 2 • Fonction : f ( x ) x 12 x 47 x 60 x •
Dérivée : f ' ( x ) 4x 3 36x 2 94x 60 3 zéros 1 minimum local, 2 maxima locaux
20,0 15,0 10,0 5,0 0,0 0,0
1,0
2,0
3,0
4,0
5,0
6,0
-5,0
-10,0 -15,0 -20,0
257
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Max CERF 2018
Techniques d’optimisation 2.2.2 Exemple
Méthode de Newton 2 • Modèle quadratique en x0 = 3 : fˆ0 ( x ) 7 x 48x 81 •
Itération de Newton en x0 = 3 : min fˆ0 ( x ) x 1 24 x 7
Meilleur que x0 f(x1) = 1.32 < 0 = f(x0)
1,50 1,25 1,00 0,75 0,50 0,25
-0,25
x1
x0
0,00 2,50
2,75
3,00
3,25
3,50
3,75
4,00
4,25
4,50
-0,50 -0,75 -1,00
-1,25 -1,50
258
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Max CERF 2018
Techniques d’optimisation 2.2.2 Exemple
Méthode de Newton 2 • Modèle quadratique en x0 = 4 : fˆ0 ( x ) x 4x •
Itération de Newton en x0 = 4 : min fˆ0 ( x ) x
Moins bon que x0 f(x1) = 12 > 0 = f(x0)
x1 2
5,00 4,00 3,00 2,00 1,00
x1
0,00 1,00
1,50
2,00
x0 2,50
3,00
3,50
4,00
4,50
5,00
-1,00 -2,00 -3,00
-4,00 -5,00
259
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Max CERF 2018
Techniques d’optimisation 2.2.2 Exemple
Méthode de Newton • Modèle quadratique en x0 = 5 : fˆ0 ( x ) 17 x 2 160x 375 •
Itération de Newton en x0 = 5 : min fˆ0 ( x ) x
x1
80 17
Moins bon que x0 (maximise f) f(x1) = 1.513 > 0 = f(x0)
2,00 1,50 1,00 0,50
x1
0,00 4,00
4,25
4,50
x0 4,75
5,00
5,25
5,50
-0,50 -1,00 -1,50 -2,00 -2,50 -3,00
260
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation
Max CERF 2018
2.2.2 Méthode de quasi-Newton Objectif Conserver un modèle quadratique de f en xk 1 fˆk (x) f k (x k ) g Tk (x x k ) (x x k ) T H k (x x k ) 2 sans calculer explicitement Hk
avec H k 2 f(x k )
Mise à jour de Broyden On peut appliquer la méthode de Broyden à la résolution de g(x)=f(x)=0.
H k H k -1
y k 1 H k -1d k 1 d Tk 1 d Tk 1d k 1
avec
d k -1 x k x k -1 y g(x ) g(x ) k k -1 k -1
Inconvénients • Hk n’est pas forcément symétrique • Hk n’est pas forcément positive Modifications de la méthode si l’on souhaite avoir H k 2 f(x k ) Formules BFGS, DFP ou SR1
261
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation
Max CERF 2018
2.2.2 Méthode BFGS Equation sécante Pour la résolution d’équations, on cherche la matrice Hk • vérifiant l’équation sécante H k d k 1 y k 1 formule de Broyden • la plus « proche » possible de Hk-1 • sans condition particulière sur la forme de la matrice • •
Pour une minimisation, on impose de plus à la matrice Hk d’être symétrique formule BFGS définie positive
Méthode de résolution La matrice Hk-1 issue de l’itération précédente est symétrique, définie positive. H k -1 L k -1LTk -1 • On part de la factorisation de Cholesky de Hk-1 : • On cherche la matrice Hk à partir de Hk-1 sous la forme : H k A k A Tk Il faut exprimer la matrice Ak en fonction de Lk-1. On décompose l’équation sécante en 2 équations. T H k d k 1 y k 1 A k A Tk d k 1 y k 1 x A k d k 1 A k x y k 1
262
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation
Max CERF 2018
2.2.2 Méthode BFGS Méthode de résolution de l’équation sécante
H k d k 1 y k 1 A k A d k 1 y k 1 T k
x A Tk d k 1 A k x y k 1
1. Pour x donné, on cherche Ak la plus « proche » possible de Lk-1 vérifiant : A k x y k 1 2. On détermine ensuite x en reportant l’expression de Ak dans : x A Tk d k 1 3. On obtient H k A k A Tk que l’on exprime en fonction de Hk-1.
Résolution Notations sans indices :
L = Lk-1, A = Ak y = yk-1 , d = dk-1
( y Lx) x T 1. En appliquant la formule de Broyden à L on obtient A en fonction de x : A L xTx x ( y Lx) T ( y Lx) T d T T T d L d x 2. En reportant : x A d L d xTx xTx
( y Lx) T d x pour trouver x. Il faut résoudre x L d xTx T
263
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Max CERF 2018
Techniques d’optimisation 2.2.2 Méthode BFGS
Résolution de l’équation sécante On cherche • • •
xRn
vérifiant :
( y Lx) T d x L d x xTx T
Pour qu’une solution existe, le vecteur LTd doit être colinéaire à x.
x LT d x T x 2 d T Hd ( y Lx) T d T yTd T T 2 T L d L d T En reportant dans l’équation : L d L d 2 T d Hd d Hd 1 yTd T T Pour qu’une solution existe, on doit avoir y d > 0 A L T yd L T Hdd T L y d d Hd On obtient H : H A A T k
k
k
k
Formule BFGS
y k 1 y Tk -1 H k -1d k 1d Tk 1H k -1 H k H k -1 T y k -1d k 1 d Tk 1H k -1d k 1
•
Mise à jour de Hk :
• • •
Mise à jour symétrique, de rang 2 Mise à jour définie positive si y Tk -1d k 1 0 Initialisation : H0 = I ou H0 = I avec > 0
d x k x k -1 avec k -1 y k -1 g(x k ) g(x k -1 )
264
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Max CERF 2018
Techniques d’optimisation 2.2.2 Méthode BFGS
Méthode de quasi Newton BFGS • Le déplacement correspondant à une itération de la méthode de Newton est solution de
H k d k f ( x k ) d k H -1kf ( x k ) La matrice utile pour l’itération de Newton est l’inverse de Hk. •
On inverse les 2 membres de la formule BFGS pour obtenir Hk-1 en fonction de Hk-1-1. d k 1 y Tk -1 -1 y k 1d Tk -1 d k 1d Tk -1 H k -1 I T H I T d y dT y d y k -1 k 1 k -1 k 1 k -1 k 1 -1 k
•
si y Tk -1d k 1 0
d x k x k -1 avec k -1 y k -1 g(x k ) g(x k -1 )
Méthode élaborée par Broyden, Fletcher, Goldfarb, Shanno à la fin des années 1960 reconnue comme l’une des plus efficaces en pratique
Limitations • Si la condition yTd > 0 n’est pas vérifiée, on ne fait pas de mise à jour. • Si le hessien n’est pas défini positif, la méthode BFGS ne converge pas vers le hessien. cas d’un hessien indéfini à l’optimum, ou non défini positif loin de l’optimum cas d’optimisation avec contraintes (hessien réduit du lagrangien positif hessien complet)
265
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation
Max CERF 2018
2.2.2 Méthode BFGS Algorithme BFGS • Direction de descente à l’itération k : u k 1 H -1k -1g( x k 1 ) •
Minimisation dans la direction uk-1 :
•
Mise à jour de l’inverse du hessien
x k x k 1 su k 1
u k 1 H -1k -1g( x k 1 ) avec s min f x su k 1 k 1 s
d k 1 y Tk -1 -1 y k 1d Tk -1 d k 1d Tk -1 d k -1 x k x k -1 T H k -1 I T T avec H I T si y d 0 y g(x ) g(x ) k -1 k 1 d y d y k k -1 k -1 d y k -1 k 1 k -1 k 1 k -1 k 1 Propriété 1 T La mise à jour BFGS donne une matrice définie positive si d k -1 y k 1 0 Cette condition est réalisée si xk est obtenu par minimisation exacte dans la direction H -1k -1g( x k 1 ) -1 k
Propriété 2 1 Pour une fonction f quadratique : f ( x ) x T Qx c T x 2
u i Q 1u j 0 , 0 i j k l’algorithme BFGS donne des directions successives vérifiant : 1 1 H k Q u i u i , 0 i k directions conjuguées par rapport à Q1 convergence en n itérations avec à l’itération n : H n Q
266
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Max CERF 2018
Techniques d’optimisation 2.2.2 Méthode DFP
Méthode de résolution • Résolution de l’équation sécante sous la forme « inverse » : H k d k 1 y k 1 H -1k y k 1 d k 1 • •
Mêmes principes que BFGS appliqués à l’équation sécante inverse pour obtenir Hk-1 Première méthode quasi-Newton élaborée par Davidon dans les années 1950
Formule DFP • •
Mise à jour de l’inverse : H H -1 k
Mise à jour du hessien :
-1 k -1
d k 1d Tk -1 H -1k -1 y k 1 y Tk 1H -1k -1 T d k -1 y k 1 y Tk 1H -k1-1 y k 1
d x k x k -1 avec k -1 y k -1 g(x k ) g(x k -1 )
y k 1d Tk -1 d k 1 y Tk -1 y k 1 y Tk -1 H k -1 I T H k I T y d yT d y d k -1 k 1 k -1 k 1 k -1 k 1
Comparaison DFP BFGS • Formules identiques en permutant dk1 et yk1 pour mettre à jour le hessien ou l’inverse • Mise à jour symétrique, de rang 2 • Mise à jour définie positive si d Tk -1 y k 1 0 condition similaire à BFGS • Méthode DFP en général moins efficace que BFGS
267
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Max CERF 2018
Techniques d’optimisation 2.2.2 Méthode DFP
Algorithme DFP • Direction de descente à l’itération k : u k 1 H -1k -1g( x k 1 ) •
Minimisation dans la direction uk-1 :
•
Mise à jour de l’inverse du hessien
H H -1 k
-1 k -1
x k x k 1 su k 1
d k 1d Tk -1 H -1k -1 y k 1 y Tk 1H -1k -1 T d k -1 y k 1 y Tk 1H -k1-1 y k 1
u k 1 H -1k -1g( x k 1 ) avec s min f x su k 1 k 1 s
d x k x k -1 avec k -1 y k -1 g(x k ) g(x k -1 )
Propriété 1 T La mise à jour DFP donne une matrice définie positive si d k -1 y k 1 0 Cette condition est réalisée si xk est obtenu par minimisation exacte dans la direction H -1k -1g( x k 1 ) Propriété 2 1 Pour une fonction f quadratique : f ( x ) x T Qx c T x 2 l’algorithme DFP donne des directions successives vérifiant :
u i Qu j 0 , 0 i j k 1 H k Qu i u i , 0 i k
directions conjuguées par rapport à Q convergence en n itérations avec à l’itération n : H n Q
268
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation
Max CERF 2018
2.2.2 Méthode SR1 Equation sécante La méthode SR1 construit une solution Hk de l’équation sécante H k d k 1 y k 1 • Symétrique, de rang 1 (i.e. dépendante d’un seul vecteur u de Rn) • Non nécessairement définie positive. Méthode de résolution • On cherche la matrice Hk à partir de Hk-1 sous la forme
H k H k -1 uu T
addition d’une matrice symétrique de rang 1
y k 1 H k d k 1 H k -1d k 1 uu T d k 1 y k 1 H k -1d k 1 u T d k 1u
•
Equation sécante :
•
On pose :
•
On reporte u pour obtenir :
•
On exprime uuT en fonction de dk-1, yk-1, Hk-1
1 u T d k 1
y k 1 H k -1d k 1
u y k 1 H k -1d k 1 1 d T (y H d ) k -1 k 1 k -1 k 1 2
1 u u y k 1 H k -1d k 1
1 1 ( y k 1 H k -1d k 1 ) T d k 1 d Tk -1 ( y k 1 H k -1d k 1 ) 2 uu T 2 ( y k 1 H k -1d k 1 )( y k 1 H k -1d k 1 ) T ( y k 1 H k -1d k 1 )( y k 1 H k -1d k 1 ) T T uu d Tk -1 ( y k 1 H k -1d k 1 )
269
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Max CERF 2018
Techniques d’optimisation 2.2.2 Méthode SR1
Formule SR1 • • •
( y k 1 H k -1d k 1 )( y k 1 H k -1d k 1 ) T Mise à jour de Hk : H k H k -1 d Tk -1 ( y k 1 H k -1d k 1 )
d x k x k -1 avec k -1 y k -1 g(x k ) g(x k -1 )
Mise à jour symétrique, de rang 1 Mise à jour non nécessairement définie positive Méthode alternative à la méthode BFGS (cas d’un hessien indéfini)
Limitations • La formule SR1 peut donner des matrices Hk non définies positives, même si le hessien de la fonction est défini positif. • Le dénominateur peut devenir petit empêche la mise à jour et la convergence Propriété 1 T T Pour une fonction f quadratique : f ( x ) x Qx c x 2 la formule SR1 donne après n déplacements suivant des directions indépendantes dk : H n Q ne nécessite pas de minimisation suivant dk
270
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Max CERF 2018
Techniques d’optimisation 2.2.2 Comparaison
Méthodes de quasi-Newton BFGS DFP SR1 BFGS
DFP
SR1
Matrice mise à jour
Hessien Hk
Inverse hessien Hk-1
Hessien Hk
Equation résolue
Sécante
Inverse sécante
Sécante
Méthode
Broyden
Broyden
Résolution directe
Forme solution
Symétrique AAT Rang 2 Définie positive
Symétrique AAT Rang 2 Définie positive
Symétrique uuT Rang 1 Indéfinie
Minimisation dk
Précision moyenne
Précision forte
Précision faible
Fonction quadratique
Hessien exact : Hn=Q Directions conjuguées Q-1
Hessien exact : Hn=Q Directions conjuguées Q
Hessien exact : Hn=Q
Limitations
Hessien de f indéfini
Hessien de f indéfini Précision minimisation
Matrices Hk non définies positives
Méthode BFGS réputée la plus efficace
271
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation
Max CERF 2018
2.2.2 Exemple Méthode de quasi-Newton à une variable Les formules BFGS et SR1 se simplifient pour une fonction à une variable. • Fonction f(x) , 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 On retrouve la formule de la sécante appliquée au gradient de f.
272
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Max CERF 2018
Techniques d’optimisation 2.2.2 Exemple
Comparaison Newton Quasi-Newton • Fonction : f ( x ) x 4 12 x 3 47 x 2 60 x
0,25 0,00
•
Dérivée : f ' ( x ) 4x 3 36 x 2 94 x 60
-0,50
•
f ' ( x k ) f ' ( x k -1 ) Quasi-Newton : h k x k x k -1
Point initial : x0 = 3 convergence Autres points divergence ou maximum de f
-1,00
•
-0,25
2,75
3,00
x(k) 3,00000000 2,99900000 3,42857155 3,45230465 3,45554876 3,45558934 3,45558940 3,45558940
f(x) 0,00000000 0,00600700 -1,31945027 -1,32362420 -1,32368634 -1,32368635 -1,32368635 -1,32368635
f'(x) -6,00E+00 -6,01E+00 -3,15E-01 -3,79E-02 -4,68E-04 -7,27E-07 -1,40E-11 -5,68E-14
3,50
3,75
4,00
4,25
-0,75
-1,25 -1,50
Quasi - Newton Itération 0 1 2 3 4 5 6 7
3,25
Newton h(k) Erreur 1,000 -4,56E-01 14,000 -4,57E-01 13,267 -2,70E-02 11,672 -3,28E-03 11,527 -4,06E-05 11,509 -6,32E-08 11,509 -1,22E-12 11,462 -4,44E-15
Itération 0 1 2 3 4
x 3,00000000 3,42857143 3,45526446 3,45558935 3,45558940
f(x) 0,00000000 -1,31945023 -1,32368574 -1,32368635 -1,32368635
f'(x) -6,00E+00 -3,15E-01 -3,74E-03 -5,77E-07 -5,68E-14
f''(x) Erreur 14,000 -4,56E-01 11,796 -2,70E-02 11,513 -3,25E-04 11,509 -5,01E-08 11,509 -4,88E-15
273
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation
Max CERF 2018
2.2.2 Exemple Méthode DFP à 2 variables • Minimisation de f ( x ) x 1 x 2 2x 12 2x 1 x 2 x 22 •
Point initial : x0 = (0 0)
•
0 Itération 1 : x 0 0
1 0 H 01 0 1
1 g 0 1
1 4x1 2x 2 g( x ) 1 2 x 2 x 1 2
1 u 1 H 01g 0 1
s 1 1 x 1 x 0 su 1 min F(s) s 2 2s s 1 x 1 g1 s s 1 1 •
Mise à jour DFP de H-1
1 2 d 0 x 1 x 0 d , y y g(x ) g(x ) 0 1 0 0 1 0 0 T -1 1 0 1 1 1 1 4 0 1 1 1 d 0 d T0 H -1 0 y0 y0 H0 H H T 0 1 1 1 0 0 1 3 2 4 2 d0 y0 y T0 H -01 y 0 -1 1
•
-1 0
Comparaison au vrai hessien :
4 2 1 1 1 H 1 H( x ) 2 2 1 2 2
274
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation
Max CERF 2018
2.2.2 Exemple Méthode DFP à 2 variables •
1 Itération 2 : x 1 1
H1-1
1 1 1 1 3 2
1 0 g1 u 2 H11g1 1 1
1 1 0 1 min F(s) 1 3(1 s) (1 s) 2 s x 2 x 1 su 2 x 2 g 2 s 2 1 s 1.5 0 • •
1 On obtient le minimum en 2 itérations (fonction quadratique) : x* 1.5 Mise à jour DFP de H-1
0 1 d1 x 2 x 1 d , y y g(x ) g(x ) 1 0.5 1 1 2 1 1 d1d1T H1-1 y1 y1T H1-1 1 1 1 1 0 0 0 0 1 1 1 H H T 2 1 3 2 0 1 0 1 2 1 2 d 1 y1 y1T H1-1 y1 -1 2
•
-1 1
Comparaison au vrai hessien :
4 2 1 1 1 H 1 H( x ) 2 2 1 2 2
275
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Max CERF 2018
Techniques d’optimisation 2.2.2 Exemple
Méthode DFP à 2 variables On vérifie les propriétés de la méthode DFP appliquée à une fonction quadratique.
1x f ( x ) x 1 x 2 2x 2x 1 x 2 x 1 2 x2 2 1
2 2
T
4 2 x1 1 2 2 x 2 1
T
x1 4 2 Q x 2 2 2
•
Le minimum est obtenu en 2 itérations.
•
Les directions successives u1 et u2 sont conjuguées par rapport à Q
•
0 4 2 1 0 u T2 Qu1 1 2 2 1 1 On vérifie également :
T
1 1 1 4 2 1 3 2 1 1 1 4 H 21Qu 2 2 1 2 2 H11Qu1
T
2 0 0
2 1 1 2 0 1 1 u 1 2 1 2 2 4 1 1 2 0 1 0 0 0 u 2 2 1 0 1 1 1
avec H 21 Q 1
276
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Max CERF 2018
Techniques d’optimisation 2.2.2 Extensions BFGS
Initialisation BFGS • En pratique, le hessien n’est pas nécessairement défini positif partout. Pour assurer la convergence, il est nécessaire de réinitialiser périodiquement H0 : - par évaluation du hessien (différences finies) → coûteux - par un multiple positif de l’identité → H0 = I avec > 0 •
On peut réinitialiser H0 à partir du dernier déplacement de xk1 à xk : d x k x k 1
y g( x k ) g( x k 1 )
yT y H 0 I avec T y d
•
1 H -01 I
pour initialiser H -10
Justification On note H le hessien en 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 y d m m y Hd i i v i m m v m
→ approximation de m
277
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Max CERF 2018
Techniques d’optimisation 2.2.2 Extensions BFGS
Méthode damped BFGS • La méthode BFGS supposent que les matrices Hk restent définies positives. Cette condition n’est pas nécessairement réalisée - pour une optimisation sans contrainte loin de l’optimum - pour une optimisation avec contrainte (hessien du lagrangien non nécessairement positif) •
Hdd T H yyT BFGS standard : H' H T d Hd d T y
avec H H k 1 et d x k x k 1 H ' H k y g( x k ) g( x k 1 )
La matrice H représente une approximation - du hessien de f pour un problème sans contrainte - du hessien de L pour un problème avec contrainte
→ →
y x f (x k ) x f ( x k 1 ) y x L( x k , k ) x L( x k 1 , k )
•
La matrice courante H est par hypothèse définie positive. La nouvelle matrice H’ doit rester définie positive.
•
La mise à jour prend en compte la courbure suivant la direction de déplacement d. - le terme dTHd vient de la matrice courante H → par hypothèse > 0 T - le terme d y vient de la variation du gradient → non nécessairement > 0 à modifier
278
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Max CERF 2018
Techniques d’optimisation 2.2.2 Extensions BFGS
Méthode damped BFGS • La méthode damped BFGS (BFGS « amorti ») consiste à pondérer la mise à jour si dTy < 0. z y
On remplace la variation y par z :
(1 )Hd
avec 0 ≤ ≤ 1
d T z d T y (1 )d T Hd
terme positif La mise à jour BFGS « amortie » est :
H' H
T
T
Hdd H zz d T Hd d T z
→ avec z au lieu de y
Pour que la nouvelle matrice H’ soit définie positive, il suffit que dTz soit positif. •
On choisit la pondération pour vérifier la condition : d T z d T Hd avec 0.2
•
Si dTy dTHd , on prend : Si
dTy
0
H0 =I par défaut
Direction de descente : d k H k1f(x k ) Recherche linéaire suivant dk pas sk Règle de Goldstein ou Wolfe
Arrêt si : f(x k 1 ) ε Nouveau point : xk+1 = xk + sk dk Gradient : f(xk+1) Itération k+1 : xk+1 Gradient : f(xk+1) Approximation du hessien : Hk+1>0
Mise à jour du hessien par BFGS ou SR1 Modification du hessien : Hk+1>0 Factorisation de Cholesky modifiée
347
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.4 Algorithme
Techniques d’optimisation
Max CERF 2018
2.3.4 Algorithme Principaux résultats de convergence • Si d est une direction de descente, et f est bornée inférieurement suivant d, alors il existe un pas s suivant d vérifiant les conditions de Wolfe •
Si les directions de descente ne deviennent pas « trop » orthogonales au gradient, l’algorithme de recherche linéaire avec les conditions de Wolfe est globalement convergent. lim f ( x k ) 0 convergence vers un point stationnaire
k
En pratique • Les directions de descente peuvent être construites avec BFGS ou SR1 (si matrices Hk > 0)
•
La valeur des coefficients de Goldstein ou Wolfe c1 et c2 n’est pas critique pour la convergence.
•
Le pas de Newton (s=1) est systématiquement testé, car il donne la solution si la fonction est proche de son modèle quadratique.
•
La méthode de plus forte pente a la propriété de convergence globale, mais peut être très lente. On peut assurer la convergence globale d’un algorithme de recherche linéaire utilisant d’autres directions en effectuant périodiquement une itération de plus forte pente.
348
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.4 Algorithme
Max CERF 2018
Techniques d’optimisation 2.3.4 Exemple 5
Fonction de Rosenbrock
f ( x1 , x 2 ) 100 x 2 x12 1 x1 • •
2
2
f
4 3
1.2 Point initial : 1
BFGS SR1
2 1
Recherche linéaire avec BFGS ou SR1
Itération
0 0
10
20
1,25
-1
SR1
1
1
0,75
0,75
0,5
0,5
0,25
0,25
0
0
-0,5
0 -0,25
40
1,25
BFGS
-1,5
30
0,5
1
1,5
-1,5
-1
-0,5
0 -0,25
0,5
1
1,5
349
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.4 Algorithme
Max CERF 2018
Techniques d’optimisation 2.3.4 Descente non monotone
Condition de décroissance • La condition d’Armijo impose une décroissance de la fonction à chaque itération.
f ( x k sd k ) f ( x k ) c1sf ( x k ) T d k Le pas de déplacement s est réduit jusqu’à vérifier la condition de décroissance. → décroissance monotone
f ( x 0 ) f ( x1 ) f ( x 2 ) f ( x k ) f ( x k 1 ) La convergence peut devenir très lente sur une fonction mal conditionnée (« vallée étroite »). •
On peut accélérer la convergence en acceptant une croissance temporaire de la fonction. La condition de décroissance est imposée entre le point xk-m et le point xk+1.
f ( x k sd k ) f ( x k m ) c1sf ( x k ) T d k La fonction peut croître sur m itérations, mais les sous-suites xj+k(m+1) restent décroissantes. → décroissance non monotone (méthode « watchdog »)
f ( x 0 ) f ( x m 1 ) f ( x 2( m 1) ) f ( x k ( m 1) ) f ( x1 ) f ( x1 m 1 ) f ( x1 2( m 1) ) f ( x1 k ( m 1) )
sans imposer
f ( x1 ) f ( x 0 )
350
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.4 Algorithme
Max CERF 2018
Techniques d’optimisation 2.3.4 Descente non monotone
Exemple Fonction de Rosenbrock à deux variables : f ( x1 , x 2 ) 100 x 2 x12
1 x 2
2
1
3,0
f 14
2,0
12 1,0
monotone
10 0,0 -2,0
-1,5
-1,0
-0,5
non monotone
8 0,0
0,5
1,0
1,5
2,0 6
-1,0
4 -2,0
-3,0
• •
Méthode de Newton avec pas s Descente monotone (s → s/2) : Descente non monotone (s=1) :
2
Itération
0 0
5
10
15
20
convergence en 21 itérations convergence en 6 itérations (2 itérations avec dégradation)
351
2 Optimisation sans contraintes 2.4 Région de confiance
Techniques d’optimisation
Max CERF 2018
Sommaire 1.
Bases théoriques
2.
Optimisation sans contraintes 2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.4.1 Principes 2.4.2 Modèle quadratique 2.4.3 Rayon de confiance 2.4.4 Algorithme 2.5 Moindres carrés 2.6 Méthodes sans gradient
3. 4. 5.
Optimisation avec contraintes Optimisation discrète Optimisation fonctionnelle
352
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.1 Principes
Max CERF 2018
Techniques d’optimisation 2.4.1 Région de confiance
Problème sans contrainte
min f(x) xR n
Etapes principales A chaque itération • Résolution d’un modèle quadratique dans un rayon rk autour du point xk déplacement dk • Réglage du rayon de confiance rk pour obtenir une amélioration de f
Initialisation x0
Point initial xk
Modèle quadratique dk
Solution x*
Nouveau point
Rayon de confiance rk
xk+1=xk+dk
353
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.1 Principes
Max CERF 2018
Techniques d’optimisation 2.4.1 Région de confiance
Illustration
x0
modèle quadratique en x0
x1
modèle quadratique en x1
modèle quadratique en x2 x2 x*
354
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Techniques d’optimisation
Max CERF 2018
2.4.2 Modèle quadratique Problème de région de confiance Conditions d’optimalité
Résolution approchée Méthode dogleg
355
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Techniques d’optimisation
Max CERF 2018
2.4.2 Problème de région de confiance Modèle quadratique • Au point courant xk on approxime la fonction par son modèle quadratique. dRn = déplacement à partir du point xk 1 fˆk ( x k d) f ( x k ) d T f ( x k ) d T 2 f ( x k )d 2 • Le modèle quadratique représente correctement la fonction au voisinage de xk dans un rayon rk La région de confiance est le voisinage dans lequel l’approximation est « bonne » (à définir). Région de confiance de rayon rk : rk = rayon de confiance en xk
d rk
Problème de région de confiance • On cherche le minimum du modèle quadratique à l’intérieur de la région de confiance
min fˆk ( x k d) sous d rk dR n
•
Problème de région de confiance
On peut choisir différentes normes pour définir la région de confiance - Norme 2 : région de confiance circulaire - Norme : région de confiance rectangulaire
356
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Techniques d’optimisation
Max CERF 2018
2.4.2 Problème de région de confiance Notations • Point courant : xk noté x0 • Fonction : f(xk) noté f0 • Gradient : f(xk) noté g0 • Hessien : 2f(xk) noté H0 • Déplacement à partir de x0 :dRn • • •
1 fˆ (d) f 0 d T g 0 d T H 0 d Fonction modèle : 2 Région de confiance : d r 1 Problème de région de confiance : minn fˆ (d) f 0 d T g 0 d T H 0 d sous d r dR 2 x0 -g0
dN xN
lignes de niveau du modèle quadratique
357
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Max CERF 2018
Techniques d’optimisation 2.4.2 Conditions d’optimalité
Région de confiance en norme 2 Le problème de région de confiance s’écrit avec la norme 2
1 1 2 2 minn fˆ (d) f 0 d T g 0 d T H 0 d sous d r 0 dR 2 2
1 1 2 L(d , ) f 0 d T g 0 d T H 0 d d r 2 2 2
•
Lagrangien :
•
L(d*, μ*) g H d * μ * d* 0 H μ * I d* g d 0 0 0 0 Conditions d’ordre 1 : d * r , μ* 0 μ * d * 2 r 2 0 μ * d * r 0
Contrainte de région de confiance • Si la contrainte de région de confiance est inactive (* = 0), la contrainte peut être ignorée. La solution du problème quadratique est directement le point de Newton : d* H 01g 0 •
Si la contrainte de région de confiance est active (* > 0), on peut montrer que la matrice H 0 * I est semi-définie positive.
Il faut résoudre le système :
H 0 * I d* g 0 d* r
358
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Techniques d’optimisation
Max CERF 2018
2.4.2 Résolution approchée Résolution du problème quadratique • •
1 T T On doit résoudre à chaque itération le problème : minn fˆ (d) f 0 d g 0 d H 0 d sous d r dR 2 Le problème doit éventuellement être résolu pour plusieurs valeurs du rayon. résolution coûteuse si la contrainte est active solution approximative par une méthode simplifiée (méthode dogleg)
Point de Newton Le point de Newton xN est la solution du problème quadratique sans contrainte.
1 min fˆ (d) f 0 d T g 0 d T H 0 d dR 2 n
d N H 01g 0 x N x 0 d N
Point de Cauchy Le point de Cauchy xC minimise le critère quadratique suivant le gradient : d C sg 0 , s 0
1 min fˆ (sg 0 ) f 0 sg T0 g 0 s 2 g T0 H 0 g 0 sR 2
g T0 g 0 sC T g 0 H 0g 0
d C s C g 0 x C x 0 d C
359
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Techniques d’optimisation
Max CERF 2018
2.4.2 Résolution approchée Résolution du problème quadratique
1 min fˆ (d) f 0 d T g 0 d T H 0 d sous d r dR 2 n
solution d(r)Rn, x(r) = x0 + d(r)
Lorsque le rayon de confiance r varie, la solution suit une courbe x(r) allant de x 0 à xN. • r=0 x(0) = x0 (tangente = g0) • r > dN x(r) = xN r x0 x(r)
g0
xN
lignes de niveau du modèle quadratique
360
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Techniques d’optimisation
Max CERF 2018
2.4.2 Méthode dogleg Chemin dogleg Le chemin dogleg est composé de 2 segments : • Le segment 1 joignant le point initial x0 au point de Cauchy xC = x0 + dC • Le segment 2 joignant le point de Cauchy x0 au point de Newton xN = x0 + dN On restreint la recherche de la solution au chemin dogleg. Paramétrage du chemin dogleg Le chemin dogleg est paramétré par s : x(s) = x0 + d(s) , pour s[0,2] • Segment 1 d(s) = sdC pour s[0,1[ • Segment 2 d(s) = dC + (s1)(dN dC) pour s[1,2] x0 dN
dC
xC
xN
lignes de niveau du modèle quadratique
361
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Techniques d’optimisation
Max CERF 2018
2.4.2 Méthode dogleg Résolution du problème quadratique On cherche la solution du problème quadratique sous contrainte de région de confiance. 1 minn fˆ (d) f 0 d T g 0 d T H 0 d sous d r dR 2 Le point de Newton est la solution du problème quadratique sans contrainte 2 cas possibles •
Si le point de Newton est à l’intérieur de la région de confiance, la contrainte est inactive. La solution est dN.
•
Sinon, la contrainte est active et peut être formulée comme une contrainte égalité. 1 minn fˆ (d) f 0 d T g 0 d T H 0 d sous d r 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] Il suffit de trouver l’intersection du chemin dogleg avec la région de confiance en résolvant d(s) = r.
362
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Max CERF 2018
Techniques d’optimisation 2.4.2 Méthode dogleg
Position des points dogleg Trois situations sont possibles par rapport au rayon de confiance. • dC r le point de Cauchy est à l’extérieur de la région de confiance •
dC < r < dN
le point de Cauchy est à l’intérieur de la région de confiance le point de Newton est à l’extérieur de la région de confiance
•
dN r
le point de Newton est à l’intérieur de la région de confiance r r
r
x0
x0 dN
dC xC
x0 dN
dC
xN
xC
dN
dC
xN
xC
xN
363
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Techniques d’optimisation
Max CERF 2018
2.4.2 Méthode dogleg Solution du problème dogleg La fonction d(s) est croissante. La solution s* de d(s) = r est : • Sur le segment 1 si dC r • Sur le segment 2 si dC < r Solution sur le segment 1 d(s) = sdC avec s[0,1[
s * d C r s*
r dC
d* r
dC g r 0 dC g0
car dC // g0
Solution sur le segment 2 d(s) = dC + (s1)(dN dC) avec s[1,2]
d C (s * 1)(d N d C ) r d C (s * 1)(d N d C ) d C (s * 1)(d N d C ) r 2 T
L’équation du second degré en s* admet une racine positive.
a d N d C 2 b b 2 4ac s* 1 avec b 2d TC d N d C 2a 2 2 c d C r
364
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Max CERF 2018
Techniques d’optimisation 2.4.2 Exemple
Méthode dogleg 1 9 f ( x 1 , x 2 ) x 12 x 22 • Fonction 2 2 9 1 0 9 2 f ( x 0 ) • Point initial : x 0 f ( x 0 ) 1 0 9 9 1 1 9 • Modèle quadratique : fˆ ( x 0 p) f ( x 0 ) f ( x 0 ) T p p T 2 f ( x 0 )p 45 9p1 9p 2 p12 p 22 2 2 2 •
fˆ x 0 sf ( x 0 ) min 45 18(9s) 5(9s) 2 s Point de Cauchy : min s s
•
9 1 0 9 1 Point de Newton : x N x 0 2 f ( x 0 ) f ( x 0 ) 1 0 1 / 9 9
•
Région de confiance de rayon r :
•
Chemin dogleg :
cos 9 r cos x r x 0 r sin 1 r sin
1 5
7.2 x C 0 . 8 0 x N 0
paramétrée par
segment 1
9 1.8s x d1 (s) x 0 s( x C x 0 ) 1 1 . 8 s
segment 2
7.2 7.2s , 0 s 1 x d 2 (s) x C s( x N x C ) 0,8 0.8s 365
, 0s1
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Max CERF 2018
Techniques d’optimisation 2.4.2 Exemple
Méthode dogleg 1 9 f ( x 1 , x 2 ) x 12 x 22 2 2 • •
9 7.2 0 , x N x 0 x C 1 0.8 0 8,293 Région de confiance de rayon r=1 : x d sur le segment 1 0 . 293 Région de confiance de rayon r=4 :
5,331 sur le segment 2 x d 0.592
4,00
r=4
3,50 3,00 2,50
r=1
2,00 1,50
x0
1,00 0,50
xN
0,00 -1
-0,50 -1,00 -1,50
0
1
2
3
4
5
6
7
8
9
10
11
chemin dogleg
xC
366
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance
Techniques d’optimisation
Max CERF 2018
2.4.3 Rayon de confiance Rapport de réduction Réglage du rayon
Approche directe Réglage du multiplicateur Approche équation différentielle Réglage du pas de temps
367
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance
Techniques d’optimisation
Max CERF 2018
2.4.3 Rapport de réduction Validité du modèle quadratique Le modèle quadratique est une approximation de la fonction valide dans un voisinage de x 0. Si le rayon de confiance est trop grand, le modèle quadratique n’est plus représentatif. Il faut vérifier que la solution d* du modèle quadratique donne l’amélioration attendue. Rapport de réduction • On définit le rapport de réduction entre la variation prévue : fˆ ( x 0 ) fˆ ( x 0 d*) et la variation réalisée : f ( x 0 ) f ( x 0 d*) Rapport de réduction :
f ( x 0 ) f ( x 0 d*) fˆ ( x ) fˆ ( x d*) 0
0
•
La valeur de permet de vérifier si le modèle quadratique représente correctement la fonction, et d’adapter le rayon de confiance.
• •
1 ou > 1 : amélioration réelle > amélioration prévue 0 ou < 0 : amélioration réelle < amélioration prévue
modèle bon modèle mauvais
Le rayon est réglé de façon itérative en fonction de la valeur de .
368
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance
Max CERF 2018
Techniques d’optimisation 2.4.3 Réglage du rayon
Réglage du rayon On modifie le rayon de confiance en fonction du rapport de réduction
f ( x 0 ) f ( x 0 d*) fˆ ( x ) fˆ ( x d*) 0
•
> 2 avec 2 = 0.9 La fonction f décroît au moins comme prévu : le modèle est bon. On accepte le nouveau point. On passe à l’itération suivante en multipliant par 2 le rayon de confiance.
•
< 1 avec 1 = 0.01 La fonction f augmente au lieu de diminuer comme prévu : le modèle est mauvais. On rejette le nouveau point. On reprend l’itération en divisant par 2 le rayon de confiance.
•
1 < < 2 La fonction décroît, mais moins que prévu : le modèle est correct. On accepte le nouveau point. On passe à l’itération suivante sans changer le rayon de confiance.
0
369
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance
Techniques d’optimisation
Max CERF 2018
2.4.3 Approche directe Solution du problème quadratique Le déplacement s’obtient en résolvant le problème de région de confiance.
1 minn fˆ (d) f 0 d T g 0 d T H 0 d sous d r dR 2
(norme 2)
•
1 Si le point de Newton d N H 0 g 0 vérifie la contrainte d N r , la solution est directe.
•
Sinon la contrainte est active, le déplacement d est solution des conditions KKT. d H 0 I 1 g 0 H 0 I d g 0 d r d r
avec > 0 (multiplicateur de la contrainte)
Une méthode itérative est nécessaire pour vérifier d r . •
La méthode dogleg évite la résolution du système en construisant une solution approchée. On vérifie ensuite la décroissance de la fonction et le rayon est modifié si nécessaire.
•
L’approche directe consiste à ignorer la condition de région de confiance d r en réglant le multiplicateur au lieu du rayon. 1 On cherche > 0 et d H 0 I g 0 pour obtenir une décroissance suffisante de f.
370
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance
Techniques d’optimisation
Max CERF 2018
2.4.3 Approche directe Réglage de 1 Le déplacement d dépend du multiplicateur : d() H 0 I g 0 On cherche une valeur de pour obtenir une décroissance suffisante de f. •
Si f augmente, le déplacement d() n’est pas acceptable. On reprend l’itération en augmentant : → 2 La direction de déplacement se rapproche de la direction de Cauchy (g 0 ) .
•
Si f diminue modérément, le déplacement d() est acceptable. On conserve la même valeur de pour l’itération suivante.
•
Si f diminue fortement, le déplacement d() est très favorable. On diminue pour l’itération suivante : → /2 1 La direction de déplacement se rapproche de la direction de Newton (H 0 g 0 ) .
•
Le multiplicateur agit comme une pondération entre la direction de Cauchy (I g 0 ) 1 et la direction de Newton (H 0 g 0 )
•
La méthode peut s’interpréter comme le réglage du pas d’une équation différentielle avec une condition de décroissance de la fonction f.
371
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance
Max CERF 2018
Techniques d’optimisation
2.4.3 Approche équation différentielle Equation différentielle On associe au problème de minimisation :
minn f(x)
minimum x*
x f ( x )
trajectoire x(t)
xR
l’équation différentielle : •
Un minimum x* de f est un point stationnaire de l’équation différentielle car f ( x*) 0 . On cherche x* en intégrant l’équation différentielle à partir d’un point initial x(t0) = x0.
•
La méthode d’Euler permet de limiter le nombre d’évaluations de f et de f. On note : t le pas de temps et g(x) = f x la variation de x à partir de x0 H(x) = ²f x g( x ) g( x 0 x ) g( x 0 ) H( x 0 )x g 0 H 0 x et t x g 0 H 0 x t
A l’ordre 1 : x
1
•
On obtient pour le déplacement x :
1 x H 0 I g 0 t
372
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance
Techniques d’optimisation
Max CERF 2018
2.4.3 Approche équation différentielle Réglage du pas de temps t La formule donnant le déplacement une formule est similaire à celle de la région de confiance. 1
Equation différentielle : Région de confiance :
1 x H 0 I g 0 t
x H 0 I g 0 1
→ même formule en posant
→ pas de temps t > 0 → multiplicateur > 0
1 t
•
On règle le pas de temps pour obtenir une décroissance suffisante de f. - si f augmente : t → t/2 et reprise de l’itération - si f décroît peu : t inchangé et passage à l’itération suivante - si f décroît beaucoup : t → t2 et passage à l’itération suivante
•
Interprétation Augmenter le pas de temps t (cas favorable) équivaut à diminuer le multiplicateur et à augmenter le rayon de confiance. La direction de déplacement se rapproche de la direction de Newton.
•
Il existe d’autres approches basées sur l’intégration d’une équation différentielle.
373
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme
Techniques d’optimisation
Max CERF 2018
2.4.4 Algorithme Algorithme de région de confiance Convergence
Exemple - Région de confiance norme 2 - Région de confiance norme
374
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme
Techniques d’optimisation
Max CERF 2018
2.4.4 Algorithme Algorithme de région de confiance Initialisation : x0 Rayon r0 Gradient : f(x0) Approximation du hessien : H0
Itération k : xk Rayon rk Gradient : f(xk) Approximation du hessien : Hk>0
H0 =I par défaut
Résolution problème quadratique pas dk Méthode dogleg Rapport de réduction Réglage du rayon rk+1
Arrêt si : f(x k 1 ) ε Nouveau point : xk+1 = xk + dk Gradient : f(xk+1) Itération k+1 : xk+1 Rayon rk+1 Gradient : f(xk+1) Approximation du hessien : Hk+1>0
Mise à jour du hessien par BFGS ou SR1 Modification du hessien : Hk+1>0 Factorisation de Cholesky modifiée
375
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme
Techniques d’optimisation
Max CERF 2018
2.4.4 Algorithme Principaux résultats de convergence • Lorsque le rayon de confiance est petit, la solution dogleg est suivant le gradient. L’itération est équivalente à la méthode de plus forte pente convergence lente •
Lorsque le rayon de confiance est grand, la solution dogleg est le point de Newton. L’itération est équivalente à la méthode de Newton convergence rapide
En pratique • On peut combiner l’algorithme de région de confiance avec BFGS ou SR1. Il n’est pas nécessaire que le hessien soit défini positif. Si le hessien n’est pas défini positif, la méthode SR1 est plus efficace.
•
La valeur des seuils 1 et 2 pour régler le rayon n’est pas critique pour la convergence.
•
Le point de Newton xN est systématiquement testé, car il donne la solution s’il est à l’intérieur de la région de confiance. Sinon, on cherche une solution approchée sur le chemin dogleg.
•
On peut utiliser directement la solution du problème quadratique avec le multiplicateur . Le réglage porte sur le multiplicateur au lieu du rayon de confiance.
376
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme
Max CERF 2018
Techniques d’optimisation 2.4.4 Exemple 5
Fonction de Rosenbrock
f ( x1 , x 2 ) 100 x 2 x • • •
f
1 x
2 2 1
2
4
1
3
1.2 Point initial : 1
BFGS SR1
2 1
Région de confiance avec BFGS ou SR1 Norme 2 : région de confiance circulaire
Itération
0 0
10
20
1,25
SR1
1
1
0,75
0,75
0,5
0,5
0,25
0,25
0 -1
-0,5
0 0
-0,25
40
1,25
BFGS
-1,5
30
0,5
1
1,5
-1,5
-1
-0,5
0 -0,25
0,5
1
1,5
377
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme
Max CERF 2018
Techniques d’optimisation 2.4.4 Exemple 5
Fonction de Rosenbrock
f ( x1 , x 2 ) 100 x 2 x12 1 x1 • • •
2
2
f
4 3
1.2 Point initial : 1
BFGS SR1
2 1
Région de confiance avec BFGS ou SR1 Norme : région de confiance rectangulaire 0
Itération
0
10
20
1,25
SR1
1
1
0,75
0,75
0,5
0,5
0,25
0,25
0 -1
-0,5
0 0
-0,25
40
1,25
BFGS
-1,5
30
0,5
1
1,5
-1,5
-1
-0,5
0 -0,25
0,5
1
1,5
378
2 Optimisation sans contraintes 2.5 Moindres carrés
Techniques d’optimisation
Max CERF 2018
Sommaire 1.
Bases théoriques
2.
Optimisation sans contraintes 2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.5.1 Formulation 2.5.2 Méthode de Gauss-Newton 2.5.3 Moindres carrés linéaires 2.5.4 Filtre de Kalman 2.5.5 Méthode du gradient conjugué 2.6 Méthodes sans gradient
3. 4. 5.
Optimisation avec contraintes Optimisation discrète Optimisation fonctionnelle
379
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.1 Formulation
Techniques d’optimisation
Max CERF 2018
2.5.1 Formulation Problème de moindres carrés
min xR n
• • •
1 r(x) 2
2
problème (MC)
Variables xRn : n paramètres d’ajustement d’un modèle Résidus r(x)Rm : m écarts entre modèle et mesures Critère f(x)R :
1 1 1 m 2 T f ( x ) r ( x ) r ( x ) r ( x ) ri ( x ) 2 2 2 2 i 1 minimisation d’écart quadratique m
•
Gradient :
f ( x ) r ( x )r ( x ) ri ( x )ri ( x ) i 1
m
•
Hessien :
r ( x ) R nm avec n 1 ri ( x ) R
f ( x ) ri ( x )ri ( x ) T 2 ri ( x )ri ( x ) 2
i 1
m
r ( x )r ( x ) 2 ri ( x )ri ( x ) T
i 1
•
Résolution : en appliquant la méthode de Newton
380
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.2 Méthode de Gauss-Newton
Max CERF 2018
Techniques d’optimisation
2.5.2 Méthode de Gauss-Newton Méthode de Newton L’itération de Newton au point xk est : 2 f ( x k )d k f ( x k )
Avec
déplacement dk
m f ( x ) r ( x )r ( x ) ri ( x )ri ( x ) i 1 m 2 f ( x ) r ( x )r ( x ) T 2 ri ( x )ri ( x ) i 1
Méthode de Gauss-Newton • L’évaluation du hessien nécessite les dérivées secondes des fonctions ri(x) calcul très coûteux si m est grand •
2 T Pour accélérer les calculs, on ignore le second terme : f ( x ) r ( x )r ( x ) Cette approximation du hessien n’utilise que les dérivées premières. La matrice obtenue est de plus toujours semi-définie positive nécessaire pour la convergence de la méthode de Newton
•
L’itération de Gauss-Newton au point xk est : r ( x k )r ( x k ) T d k r ( x k )r ( x k )
381
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.2 Méthode de Gauss-Newton
Max CERF 2018
Techniques d’optimisation
2.5.2 Méthode de Gauss-Newton Méthode de Gauss-Newton La méthode de Gauss-Newton équivaut à considérer un modèle linéaire des fonctions ri(x) en xk
rˆi ( x ) ri ( x k ) ri ( x k ) T ( x x k ) , i 1,, m Le problème devient : minn xR
1 rˆ ( x ) 2
rˆ ( x ) r ( x k ) r ( x k ) T ( x x k )
2
•
2 1 1 fˆ ( x ) rˆ ( x ) rˆ ( x ) T rˆ ( x ) 2 2 T 1 fˆ ( x ) r ( x k ) r ( x k ) T ( x x k ) r ( x k ) r ( x k ) T ( x x k ) 2 1 1 r ( x k ) T r ( x k ) ( x x k ) T r ( x k )r ( x k ) ( x x k ) T r ( x k )r ( x k ) T ( x x k ) 2 2 fˆ ( x ) r ( x k )r ( x k ) T ( x x k ) r ( x k )r ( x k ) Gradient :
•
T Condition d’ordre 1 : fˆ ( x ) 0 r ( x k )r ( x k ) ( x x k ) r ( x k )r ( x k )
•
Critère :
On retrouve l’itération de Gauss-Newton obtenue en ignorant les dérivées secondes dans le hessien
382
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.3 Moindres carrés linéaires
Max CERF 2018
Techniques d’optimisation
2.5.3 Moindres carrés linéaires Cas linéaire
min xR
n
1 r(x) 2
2
avec r ( x ) Ax b, A R mn , b R m
problème (MC)
•
Critère :
•
Gradient :
1 1 1 1 2 T r ( x ) Ax b Ax b x T A T Ax b T Ax b T b 2 2 2 2 f ( x ) r ( x )r ( x ) A T Ax b
•
Hessien :
2f (x) A T A
f (x)
Dans le cas linéaire, la méthode de Gauss-Newton est identique à la méthode de Newton. La convergence est obtenue en une itération. Equations normales • La solution x* du problème (MC) vérifie
f ( x*) 0 A T Ax b 0 A T Ax A T b système d’équations normales du problème (MC) : minn xR
•
1 Ax b 2
Si A est de rang plein, x* est l’unique solution du problème (MC).
2
383
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.3 Moindres carrés linéaires
Max CERF 2018
Techniques d’optimisation
2.5.3 Exemple Moindres carrés linéaires On cherche à estimer l’accélération de la gravité à partir de mesures de hauteur en chute libre. Temps (s) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Hauteur (m) 0,90 5,40 20,81 45,73 78,56 124,10 175,75 241,41 315,08 397,36 488,25 595,35 707,26 829,98 961,20 1103,14 1252,89 1415,55 1586,62 1770,20 1964,29
g
1 h gt 2 2
h Hauteur h (m) 2000
1500
1000
500
0 0
5
10
Temps t (s)
15
20
384
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.3 Moindres carrés linéaires
Max CERF 2018
Techniques d’optimisation
2.5.3 Exemple t i2 h i g 2 i 1 2
Moindres carrés linéaires 1 On résout le problème de moindres carrés linéaires : min f (g ) gR
Temps (s) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
H mesure (m) 0,90 5,40 20,81 45,73 78,56 124,10 175,75 241,41 315,08 397,36 488,25 595,35 707,26 829,98 961,20 1103,14 1252,89 1415,55 1586,62 1770,20 1964,29
H modèle Résidu (m) (m) 0,00 0,90 4,90 0,49 19,61 1,19 44,13 1,60 78,46 0,10 122,59 1,51 176,53 -0,78 240,27 1,13 313,82 1,25 397,18 0,17 490,35 -2,10 593,32 2,02 706,10 1,15 828,69 1,28 961,09 0,12 1103,29 -0,14 1255,30 -2,40 1417,11 -1,56 1588,73 -2,11 1770,16 0,04 1961,40 2,89
Modèle : Résidu :
t i2 h mod èle g 2 r h mesure h mod èle
m
1 m f (g) ri (g) 2 2 i 1
Solution moindres carrés : g* = 9,8070 m/s2 f(g*) = 21,668 h (m) 2000
1500
1000
500
0
0
50
100
t2/2 (s2)
150
200 385
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman
Max CERF 2018
Techniques d’optimisation
2.5.4 Filtre de Kalman Moindres carrés récursifs • On considère un problème de moindres carrés linéaires composé de 2 blocs.
minn A1x b1 A 2 x b 2 2
xR
•
A 1 R m 1 n , b1 R m 1 avec m 2 n , b 2 R m2 A 2 R
Les 2 blocs correspondent à 2 séries de mesures donnant chacune des résidus respectifs. r1 ( x ) A1x b1 r2 ( x ) A 2 x b 2
•
2
m1 mesures m2 mesures
Les matrices A1 et A2 sont supposées de rang plein A1T A1 et A2T A2 inversibles
Problème initial • On appelle problème initial le problème restreint au 1er bloc : minn A1 x b1
2
xR
•
On note x1 la solution du problème initial. T T La solution x1 vérifie les équations normales du problème initial : A1 A1 x 1 A1 b1
•
On cherche ensuite à exprimer la solution x2 du problème complet en fonction de x1.
386
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman
Max CERF 2018
Techniques d’optimisation
2.5.4 Filtre de Kalman Problème complet • On réécrit le problème complet en regroupant les 2 blocs. 2 A 1 b1 2 2 minn A1 x b1 A 2 x b 2 minn x minn Ax b xR xR xR A2 b2
A avec A 1 R ( m m A2 1
2 ) n
2
b , b 1 R m m b2 1
2
•
La solution x2 vérifie les équations normales du problème complet.
•
A b A T2 1 x 2 A1T A T2 1 A1T A1 A T2 A 2 x 2 A1T b1 A T2 b 2 A2 b2 La solution x1 vérifie les équations normales du problème initial : A1T A1 x 1 A1T b1
•
On exprime x2 en fonction de x1 et des données du 2ème bloc de mesures
A T Ax 2 A T b A1T
A
T 1
A1 A T2 A 2 x 2 A1T b1 A T2 b 2 A1T A1 x 1 A T2 b 2 A1T A1 x 1 A T2 A 2 x 1 A T2 A 2 x 1 A T2 b 2 A1T A1 A T2 A 2 x 1 A T2 b 2 A 2 x 1
x 2 x 1 A1T A1 A T2 A 2
1
A T2 b 2 A 2 x 1
387
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman
Max CERF 2018
Techniques d’optimisation
2.5.4 Filtre de Kalman Filtre de Kalman La solution des moindres carrés est mise à jour à chaque nouvelle mesure disponible. traitement incrémental en temps réel
•
Initialisation :
filtre H0 (=0 par défaut) solution x0 (=0 par défaut)
•
Itération :
filtre Hk solution xk
k
H k H k 1 A Tk A k minn A i x b i x k x k 1 H k1A Tk b k A k x k 1 xR i 1
2
Mise en œuvre • Les matrices AkTAk doivent être inversibles en prenant un nombre suffisant de mesures •
On peut introduire une pondération pour privilégier les mesures récentes. = 1 pour donner le même poids à toutes les mesures < 1 pour privilégier la dernière mesure
•
Itération :
filtre Hk solution xk
H k H k 1 A Tk A k x k x k 1 H k1A Tk b k A k x k 1
k
min k i A i x b i xR n
i 1
388
2
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman
Max CERF 2018
Techniques d’optimisation
2.5.4 Filtre de Kalman Exemple On applique la mise à jour de Kalman à chaque nouvelle mesure. Mesure : h mesure b
bk h k t 2k t , xk gk Modèle : h mod èle Ax g A k 2 2 T Filtre : H 0 0 H k H k 1 A1k ATk x 0 0 x k x k 1 H k A k b k A k x k 1 2
•
Estimation g (m/s2) 11,00 10,75 10,50
g20 = 9.8070 m/s2
10,25 10,00 9,75 9,50 0
5
10
Temps t (s)
15
20
Temps Matrice H (s) 0 0,0 1 0,3 2 4,3 3 24,5 4 88,5 5 244,8 6 568,8 7 1169,0 8 2193,0 9 3833,3 10 6333,3 11 9993,5 12 15177,5 13 22317,8 14 31921,8 15 44578,0 16 60962,0 17 81842,3 18 108086,3 19 140666,5 20 180666,5
Estimation g (m/s2) 0,0000 10,7937 10,4263 10,2074 9,9269 9,9274 9,8341 9,8440 9,8450 9,8305 9,8046 9,8177 9,8195 9,8204 9,8167 9,8136 9,8068 9,8041 9,8016 9,8029 9,8070
389
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman
Techniques d’optimisation
Max CERF 2018
2.5.4 Filtre de Kalman Comparaison moindres carrés filtre de Kalman • Les moindres carrés sont adaptés à l’estimation de paramètres de modèle a posteriori (= lorsque toutes les mesures sont disponibles).
•
Le filtre de Kalman est adapté à des applications en temps réel (= lorsque les mesures arrivent une à une)
•
Les moindres carrés et le filtre de Kalman sont équivalents pour l’estimation de paramètres d’un modèle linéaire. Le filtre de Kalman peut être appliqué à différents problèmes d’estimation.
Applications du filtre de Kalman • Estimation de l’état d’un système dynamique linéaire, discret ou continu. état fonction du temps, mesures en temps réel •
Estimation de l’état d’un système dynamique non linéaire par linéarisation autour d’une trajectoire de référence estimée au préalable
•
Méthode de filtrage largement utilisée dans les systèmes temps réels nombreuses variantes
390
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué
Techniques d’optimisation
Max CERF 2018
2.5.5 Gradient conjugué Problème quadratique On considère un problème de moindres carrés linéaires. 1 2 minn r ( x ) avec r ( x ) Ax b, A R mn , b R m xR 2 1 1 1 1 2 T r ( x ) Ax b Ax b x T A T Ax b T Ax b T b 2 2 2 2 Le problème de moindres carrés revient à minimiser une forme quadratique définie positive.
f (x)
1 T x Qx c T x 2
avec QRnn symétrique définie positive
Méthode de directions conjuguées • 2 directions di et dj sont conjuguées par rapport à Q si diTQdj = 0 •
On obtient le minimum de la forme quadratique définie positive en n itérations à pas optimal suivant des directions conjuguées (di)i=1,…,n.
•
La méthode du gradient conjugué consiste à construire une suite de directions conjuguées et à minimiser suivant ces directions successives pour obtenir le minimum de f. extension à une fonction f quelconque (méthode de Fletcher-Reeves)
391
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué
Max CERF 2018
Techniques d’optimisation
2.5.5 Gradient conjugué Méthode du gradient conjugué • On part d’un point initial x0 quelconque. La direction initiale est le gradient : d1 = f(x0) • A chaque itération, le nouveau point xk est obtenu par minimisation suivant dk.
min f ( x k 1 sd k ) x k x k 1 s k d k s
•
La nouvelle direction dk+1 est définie à partir de la précédente dk et du gradient en xk. d k 1 f ( x k ) k d k plusieurs méthodes possibles
•
La méthode converge en n itérations pour une fonction quadratique définie positive. Pour une fonction f quelconque, la convergence est généralement rapide car f est proche d’une fonction quadratique définie positive au voisinage de l’optimum.
Initialisation x0
Point courant xk-1
Direction conjuguée dk
Solution x*=xn
Nouveau point xk
Minimisation suivant dk
392
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué
Techniques d’optimisation
Max CERF 2018
2.5.5 Gradient conjugué Méthode du gradient conjugué • La direction de descente à l’itération k est cherchée sous la forme d k 1 f ( x k ) k d k avec xk obtenu par minimisation suivant dk : min f ( x k 1 sd k ) x k x k 1 s k d k s
•
La nouvelle direction dk+1 doit être conjuguée à toutes les directions précédentes d1,…, dk.
d Tk 1Qd i 0 , i 1,, k Il existe plusieurs méthodes de construction des directions conjuguées successives (d i)i=1,…,n. •
Directions de Fletcher-Reeves d k 1 f ( x k ) k d k avec k
•
2
f ( x k ) f ( x k 1 )
2
Directions de Polak-Ribière d k 1 f ( x k ) k d k avec k
T f ( x k ) f ( x k 1 ) f ( x k )
f ( x k 1 )
2
formules équivalentes dans le cas d’une fonction f quadratique
393
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué
Techniques d’optimisation
Max CERF 2018
2.5.5 Gradient conjugué Directions de Fletcher-Reeves d k 1 f ( x k ) k d k avec k
f ( x k ) f ( x k 1 )
Preuve : On note gk = f(xk) = Qxk + c •
2 2
directions conjuguées pour 1 f ( x ) x T Qx c T x 2
Propriété préliminaire T Si les n directions d1,…,dn sont conjuguées, alors d i g k 0 , i 1, , k pour k=1 à n. et g iT g k 0 , i 1, , k 1
A l’itération i, xi est obtenu par minimisation suivant di d min f ( xi 1 sd i ) f ( xi 1 sd i ) d iT f ( xi 1 sd i ) 0 d iT g i 0 , i 1, , n s ds k k k xk xi s j d j g k Qxk c Q xi s j d j c f ( xi ) s j Qd j j i 1 j i 1 j i 1 T k d i g i 0 T T T d i g k d i g i s j d i Qd j 0 car T d i Qd j 0 si i j j i 1 g iT g k g iT g k i d iT g k car d iT g k 0 , i 1, , k d iT1 g k 0 car i k
394
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué
Techniques d’optimisation
Max CERF 2018
2.5.5 Gradient conjugué Directions de Fletcher-Reeves Preuve : on montre par récurrenceque dk+1 est conjuguée à d1,…,dk. • Pour d1 et d2 : d 1 g 0 x1 x0 T T d 2 Qd 1 g 1 1 g 0 Q car d 2 g 1 1 d 1 s1 x1 x0 s1 d 1 T g g0 d 2T Qd 1 g 1 1 g 0 1 car g Qx c s1
d Qd 1 g 1 T 2
2
1 g0
d Qd 1 0 car 1 T 2
•
car g T
f ( x1 )
2
f ( x0 )
2
T 1
g 0 g 1T d 1 0 g1 g0
(propriété préliminaire)
2
(par définition de )
2
On suppose d1,…,dk conjuguées : d iT Qd j 0 , i j , i , j k Il faut montrer que d iT Qd k 1 0 , i 1, , k d iT Qd k 1 d iT Qg k k d k d iT Qg k car d iT Qd k 0
(par hypothèse de récurrence)
T
d iT Qd k 1
d iT Qd k 1
x xi 1 T g k car xi xi 1 si d i Qd i g k Q i s T i g i g i 1 g k car g Qx c si
395
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué
Max CERF 2018
Techniques d’optimisation
2.5.5 Gradient conjugué Directions de Fletcher-Reeves Preuve • •
1 T g i g k g iT1 g k 0 pour i 1, , k 1 si car g iT g k 0 , i 1, , k 1 T Il faut encore montrer pour i=k : d k Qd k 1 0
On obtient : d iT Qd k 1
(propriété préliminaire)
d kT Qg k d Qd k 1 0 d Q g k k d k 0 k T d k Qd k T x x k 1 1 1 2 g k g k g k 1 T g k d kT Qg k Q k g k sk sk sk x x k 1 1 1 d kT g k g k 1 d kT g k 1 car d kT g k 0 (propriété préliminaire) d kT Qd k d kT Q k s sk sk k T k
d kT Qd k
T k
1 T 1 1 T d k g k 1 g k 1 k 1 d k 1 g k 1 g k 1 sk sk sk
On obtient bien : k
gk g k 1
2
car d kT1 g k 1
2 2
valeur de k telle que d kT Qd k 1 0
396
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué
Techniques d’optimisation
Max CERF 2018
2.5.5 Exemple Gradient conjugué 1 2 x x2 2 • Fonction quadratique f ( x 1 , x 2 ) x 1 x 1 x 2 x 2 f ( x 1 , x 2 ) 1 2 x 2 x 2 1 10 0 • Point initial x 5 5 10 5s 2 s 1 0 1 0 1 5 • Itération 1 : d f ( x ) x x sd 0 5 1 25 5 0 2 min f ( x 0 sd1 ) 2 s 252 s 25 s1 1 x 1 , f ( x 1 ) s 2 5 5
•
•
Itération 2 : d 2 f ( x 1 ) 1d1 avec 1
f ( x 1 )
2
f ( x 0 )
2
25 1 25
5 5 5s 1 5(1 s) d 2 x 2 x1 sd 2 5 5 5s 1 0 0 25 2 2 2 min f ( x1 sd 2 ) 1 s 251 s 251 s s 2 1 x 2 , f ( x 2 ) s 2 0 0 0 0 x * , f ( x *) Solution : 0 0
397
2 Optimisation sans contraintes 2.6 Méthodes sans gradient
Techniques d’optimisation
Max CERF 2018
Sommaire 1.
Bases théoriques
2.
Optimisation sans contraintes 2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthodes sans gradient 2.6.1 Principes 2.6.2 Nelder-Mead 2.6.3 Direct
3. 4. 5.
Optimisation avec contraintes Optimisation discrète Optimisation fonctionnelle
398
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.1 Principes
Techniques d’optimisation
Max CERF 2018
2.6.1 Principes Problème sans contrainte
min f(x) 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)
•
Capacité à localiser plusieurs minima locaux (et éventuellement le minimum global)
•
Convergence généralement lente, peu précise méthodes utilisées pour initialiser un algorithme local plus précis
Principales méthodes • Méthodes déterministes Nelder-Mead → méthode locale (polytope convergeant vers un minimum local) Direct → méthode globale (partition de l’espace de recherche) •
Méthodes stochastiques Métaheuristiques → exploration avec un aspect aléatoire application aux problèmes combinatoires (variables entières)
399
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead
Techniques d’optimisation
Max CERF 2018
2.6.2 Nelder-Mead Polytope Algorithme
Améliorations - Coefficients de déplacement - Approximation du gradient Exemples
400
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead
Max CERF 2018
Techniques d’optimisation 2.6.2 Nelder-Mead
Problème sans contrainte min f(x) 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) •
On définit un ensemble P de n+1 points de Rn : P x 0 , x1 , , x n 1 , x n P est un polytope ou « simplexe » de Rn.
•
Les points de P sont rangés du meilleur au plus mauvais : f ( x 0 ) f ( x1 ) f ( x n 1 ) f ( x n )
•
A chaque itération, on cherche à remplacer le plus mauvais point par un point meilleur. P x 0 , x1 ,, x n 1 , x n P' x 0 , x1 ,, x n 1 , x new
P' x '0 , x '1 ,, x 'n 1 , x 'n
après reclassement
•
On obtient une suite de polytopes (Pk)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 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead
Max CERF 2018
Techniques d’optimisation 2.6.2 Nelder-Mead
Polytope
P x 0 , x1 ,, x n 1 , x n
x0
f ( x 0 ) f ( x1 ) f ( x n 1 ) f ( x n )
x2
x*
Nouveau point xc est le barycentre des n meilleurs points. 1 n 1 xc xi n i 0
x1
On cherche à ramener le plus mauvais point xn vers le barycentre xc. On teste des points x sur la demi-droite [xn,xc) paramétrée par t > 0. x(t) x c t(x c x n )
x0
Points testés successivement : • Réflexion : x(t=+1) = xr • Expansion : x(t=+2) = xe • Contraction externe : x(t=+0.5) = xce • Contraction interne : x(t=0.5) = xci
x2
x* xr xe x(t)
xc
xci
xce
x1
402
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead
Max CERF 2018
Techniques d’optimisation 2.6.2 Nelder-Mead
Nouveau point Le polytope initial est P x 0 , x1 , , x n 1 , x n avec f ( x 0 ) f ( x1 ) f ( x n 1 ) f ( x n ) La demi-droite [xn,xc) est supposée être une direction de descente. On teste d’abord xr (symétrique de xn / xc). •
• •
•
Résultat très bon : f ( x r ) f ( x 0 ) on essaie xe on remplace xn par xe ou xr.
x0
f ( x 0 ) f ( x r ) f ( x n 1 ) Résultat bon : on remplace xn par xr. Résultat moyen : f ( x n 1 ) f ( x r ) f ( x n ) on essaie xce on remplace xn par xce ou xr.
x2
x* xr xe
x(t)
Résultat mauvais : f ( x n ) f ( x r ) on essaie xci on remplace xn par xci , ou on contracte tout le polytope P vers x0
xc
xci
xce x1
403
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead
Max CERF 2018
Techniques d’optimisation 2.6.2 Nelder-Mead
Itération k
P k x 0k , x1k ,, x kn 1 , x kn
avec f ( x 0k ) f ( x1k ) f ( x kn 1 ) f ( x kn ) 1 n 1 k x c x i d x c x kn n i 0
1.
Barycentre :
2. 3.
Réflexion : xr = xc + d Si f(xr) < f(x0) Expansion : xe = xc + 2d Si f(xe) < f(xr) x’ = xe Sinon x’ = xr Si f(x0) < f(xr) < f(xn-1) x’ = xr Si f(xn-1) < f(xr) < f(xn) Contraction externe : xce = xc + d/2 Si f(xce) < f(xr) x’ = xce Sinon x’ = xr Si f(xn) < f(xr) Contraction interne : xci = xc d/2 Si f(xci) < f(xn) x’ = xci k 1 Sinon réduction de P vers x0 x i
4. 5.
6.
7.
f(xr)
d
f(xe) 2d
f(xce) d/2
f(xci)
d/2 1 x 0 x ik 2 Nouveau point x’ polytope P k 1 x 0k , x1k , , x kn 1 , x ' à reclasser
P k 1 x 0k 1 , x1k 1 ,, x kn 11 , x kn 1
avec
f ( x 0k 1 ) f ( x1k 1 ) f ( x kn 11 ) f ( x kn 1 )
404
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead
Techniques d’optimisation
Max CERF 2018
2.6.2 Nelder-Mead Initialisation Polytope initial P 0 x 00 , x10 ,, x 0n 1 , x 0n avec points suffisamment distants, non alignés Itération k
P k x 0k , x1k ,, x kn 1 , x kn
avec
f ( x 00 ) f ( x10 ) f ( x 0n 1 ) f ( x 0n )
f ( x 0k ) f ( x1k ) f ( x kn 1 ) f ( x kn )
•
Nouveau point x’ reclassement des points x0, x1, … , xn-1, x’ par valeur de f croissante
•
Nouveau polytope :
P k 1 x 0k 1 , x1k 1 ,, x kn 11 , x kn 1
Arrêt • Taille du polytope • Valeur de la fonction • Dégénérescence du polytope •
Améliorations possibles :
avec
f ( x 0k 1 ) f ( x1k 1 ) f ( x kn 11 ) f ( x kn 1 )
→ diamètre → non décroissante, constante sur le polytope → alignement des points
- réglage adaptatif des coefficients - correction de direction avec approximation du gradient - réinitialisation (ou reconditionnement) du polytope
405
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead
Techniques d’optimisation
Max CERF 2018
2.6.2 Nelder-Mead Réglage standard des coefficients Les coefficients standards sont indépendants de la dimension n du problème. • Réflexion : =1 • Expansion : = 2 • Contraction : = 0.5 → externe (+0.5) , interne (0.5) • Réduction : = 0.5 Ces coefficients conduisent fréquemment à une dégénérescence du polytope. Réglage adaptatif des coefficients Les coefficients adaptatifs prennent en compte la dimension n du problème. • Réflexion : =1 → indépendant de n
• • •
2 n 3 1 Contraction : 4 2n 1 Réduction : 1 n
Expansion :
1
→ évite une distorsion trop forte dans la direction de recherche → évite une réduction trop rapide du diamètre du polytope → évite une réduction trop rapide du diamètre du polytope
Ces coefficients adaptatifs sont égaux aux coefficients standards pour n = 2 et donnent de meilleurs résultats pour n grand.
406
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead
Max CERF 2018
Techniques d’optimisation 2.6.2 Nelder-Mead
Approximation du gradient Le polytope P donne la valeur de la fonction en n+1 points de Rn. P x 0 , x1 ,, x n 1 , x n avec
f ( x 0 ) f ( x1 ) f ( x n 1 ) f ( x n )
On construit une approximation du gradient de f en x0 à partir des n arêtes du polytope. •
Au premier ordre en x0 : f ( x i ) f ( x 0 ) f ( x 0 ) T ( x i x 0 )
pour i = 1 à n
f i f ( x i ) f ( x 0 ) T f i x i g avec x i x i x 0 g f ( x ) 0
•
Sous forme matricielle : F X T g f1 avec F vecteur n 1 , f n
x1
x i
x n
(x1 )1 (x i )1 (x n )1 X matrice n n (x ) (x ) (x ) i n n n 1 n
407
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead
Max CERF 2018
Techniques d’optimisation 2.6.2 Nelder-Mead
Correction de direction • Si le polytope P n’est pas dégénéré, les n arêtes (xi)i=1à n forment une base de Rn. La matrice X = (x1 , … , xn) est inversible. On obtient une approximation du gradient g de f en x0 : F X T g g X T F •
L’approximation du gradient g permet de corriger la direction de recherche d. d = x c – xn
x1
xc
→ d’ = (1)d g
x0
d
g x*
avec un coefficient à adapter (0 ≤ ≤ 1)
x1
(1-)d
g x2
x2
direction d
x0
d’
x*
g
direction d’
408
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead
Max CERF 2018
Techniques d’optimisation 2.6.2 Nelder-Mead
Exemple 1 : fonction quadratique 1 9 f ( x 1 , x 2 ) x 12 x 22 2 2 2,5
Position du meilleur point au cours des itérations 2,0
1,5
1
1,0
4
0,5
6
8
5
2
0,0 -0,5
9 -0,5
0,0
7
0,5
3
1,0
1,5
2,0
2,5
409
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.2 Nelder-Mead
Max CERF 2018
Techniques d’optimisation 2.6.2 Nelder-Mead
Exemple 2 : fonction de Rosenbrock
f ( x1 , x 2 ) 100 x 2 x12 1 x1 2
2
1,25
1,00
0,75
0,50
0,25
0,00 -1,50
-1,00
-0,50
0,00
-0,25
0,50
1,00
1,50
410
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Techniques d’optimisation
Max CERF 2018
2.6.3 Direct Principe Fonction lipschitzienne
Division d’intervalles Algorithme à une variable Algorithme à n variables Exemple
411
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Techniques d’optimisation
Max CERF 2018
2.6.3 Direct Principe
min f(x) xR n
→ problème sans contrainte
•
On cherche un minimum global de la fonction f sur un domaine D de Rn. La fonction est supposée lipschitzienne sur D bornée inférieurement.
•
La méthode Direct consiste à partitionner progressivement le domaine de recherche D. Direct = « DIviding RECTangles » (1993) - Le domaine D est partitionné en sous-domaines Dj. - Sur chaque sous-domaine, un minorant de f est estimé sur une condition de type Lipschitz. - Le sous-domaine de plus bas minorant est « potentiellement optimal ». = sous-domaine ayant le plus de chance de contenir le minimum de f - Ce sous-domaine « potentiellement optimal » est sélectionné pour être divisé à son tour.
•
La méthode permet de localiser les zones potentielles où se trouve le minimum global. On peut l’utiliser pour initialiser un algorithme local de descente.
•
L’algorithme est développé dans le cas à une variable, puis étendue au cas à n variables.
412
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Direct
Fonction lipschitzienne
min f(x) xR n
•
→ problème sans contrainte
La fonction f est supposée lipschitzienne (ou continue au sens de Lipschitz) sur le domaine D. K 0 , x, y D , f ( y) f ( x ) K y x
K est la constante de Lipschitz de la fonction f sur D •
→ non connue a priori
Une fonction f lipschitzienne sur un hyperrectangle D de Rn est bornée. x D , f (c) Kd f ( x ) f (c) Kd
avec c = point quelconque de D d = majorant de la dimension de D → x c d •
f(c)
f(c) Kd est un minorant de f sur D. c
x
413
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Direct
Exemple 1 f ( x ) sin 4 x 6x 2 2 2
sur D 0 ;1
1 f ' ( x ) 4 cos 4 x 12x 2
•
8 7
La dérivée de f est bornée sur [0 ; 1]
6
f ' ( x ) 4 12 sur D 0 ;1
5 4
→ f est lipschitzienne sur [0 ; 1] •
Si on prend : K = 25 4 + 12 c = 0,5 → f(c) = 3,5 d = 0,5
f(c) 3 2 1
d
c
0 0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
→ f(x) 3,5 250,5 = 9
414
1,0
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Direct
Division d’intervalles • On considère une fonction f d’une variable x définie sur un intervalle D. La fonction est supposée lipschitzienne de constante K (non connue) sur D. •
L’intervalle D est divisé en 3 intervalles égaux D1, D2, D3. L’intervalle Dj est de centre cj de demi-longueur dj
D3 D2 D1
•
Pour chaque intervalle Dj, on calcule - la valeur de f au centre → fj = f(cj) - un minorant de f sur Dj → fb,j = fj Kdj La valeur de la constante K est arbitraire. (→ déterminée à partir des points connus)
•
Le sous-intervalle « potentiellement optimal » est celui de plus bas minorant = intervalle qui a le plus de chance de contenir le minimum de f → D1 sur le schéma Cet intervalle est sélectionné pour être divisé à son tour en 3 intervalles égaux.
415
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Techniques d’optimisation
Max CERF 2018
2.6.3 Direct Division d’intervalles •
Première itération : 3 intervalles. Potentiellement optimal : numéro 1
•
Deuxième itération : 5 intervalles. Potentiellement optimal : numéro 4
•
Troisième itération : 7 intervalles.
Potentiellement optimal : numéro 4
416
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Direct
Graphe associé • On représente les intervalles Dj sur un graphe avec : en abscisse la demi-longueur dj de Dj en ordonnée la valeur fj au centre de Dj L’intervalle Dj est représenté par le point de coordonnées : (dj , fj) La droite de pente K passant par ce point a pour équation : y K ( x d j ) f j •
Elle coupe l’axe des ordonnées au point de coordonnées : (0 , fb,j) f b , j f j Kd j est un minorant de f sur l’intervalle Dj. f
Minorant de f sur chaque intervalle
(dj,fj)
fb,j
« Meilleur » intervalle (minorant le plus bas) → potentiellement optimal
d
417
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Direct
Intervalle potentiellement optimal • Un intervalle est potentiellement optimal s’il existe une constante K positive telle que cet intervalle donne le minorant le plus bas. K 0 , i , f b , j f b ,i
Dj potentiellement optimal si •
f j Kd j f i Kd i
Si l’on fait passer une droite de pente K par chaque point représentatif d’un intervalle, la droite associée à l’intervalle Dj a l’ordonnée à l’origine la plus petite. f
f
potentiellement optimal pour K = K1 potentiellement optimal pour K = K2
d
d
418
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Techniques d’optimisation
Max CERF 2018
2.6.3 Direct Intervalle potentiellement optimal • L’intervalle Dj (dj , fj) est potentiellement optimal si
K 0 , i , f j Kd j f i Kd i
K 0 , i , f j f i K (d j d i )
La condition s’exprime différemment selon le signe de (di dj). •
Pour les intervalles Di tels que di = dj
f
f j fi
•
Pour les intervalles Di tels que di < dj K
•
f j fi d j di
K K1 max
i / d i d j
f j fi d j di
Pour les intervalles Di tels que di > dj
K
f j fi d j di
K K 2 min
i / d i d j
f j fi d j di
d
419
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Direct
Intervalle potentiellement optimal • On ajoute une condition de décroissance suffisante. f j Kd j f i Kd i , i
Dj potentiellement optimal si K 0 f Kd f f j min min j
avec f min min f i i
fmin est le minimum parmi les évaluations disponibles fi. •
La première condition exprime que Dj (dj , fj) est un point de l’enveloppe convexe inférieure dans le graphe (d , f). Cette condition est satisfaite si : - Dj est le meilleur intervalle (fj ≤ fi) de longueur dj K i K1 K 2 min K i - imax i / d d / d d i
•
j
i
avec K i
j
f j fi d j di
→ existence de K compris entre K1 et K2.
La deuxième condition exprime que l’intervalle Dj ne doit pas être trop petit. f j Kd j f min f min
dj
f min f min f j K
avec 10 3
→ évite que la recherche devienne trop locale.
420
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Direct
Algorithme à une variable • Une itération consiste à : - sélectionner p intervalles parmi ceux potentiellement optimaux - les diviser en 3 intervalles égaux. Le nombre d’intervalles augmente de 2p à chaque itération (p=2 pour l’exemple). •
L’intervalle initial est de demi-longueur d0. A l’itération k, la partition est composée d’intervalles de demi-longueur dj = d0/3j , 1 ≤ j ≤ k. Il y a au plus k intervalles potentiellement optimaux (un par dimension d j).
Intervalle initial D0 Demi-longueur d0
Itération k m intervalles de dimensions dj= d0/3j , j=1 à k
Sélection de p intervalles potentiellement optimaux (p entre 1 et k)
Arrêt sur Nombre d’itérations Nombre d’évaluations
Itération k+1 m → m + 2p
Division et évaluation des p intervalles sélectionnés
421
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Direct
Exemple à une variable Minimum
1 f ( x ) sin 4 x 6x 2 2 sur D 1;1 2
local
global
local
local
x
-0,57843 -0,11615 0,34804 0,80520
f(x)
3,17389 1,08712 1,78363 5,25072
8
7
6
5
4
3
2
1
0 -1,0
-0,9
-0,8
-0,7
-0,6
-0,5
-0,4
-0,3
-0,2
-0,1
0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1,0
422
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Exemple
Itération 1 : 3 intervalles x inf -1,000 -0,333 0,333
x sup -0,333 0,333 1,000
x mid -0,667 0,000 0,667
longueur 0,667 0,667 0,667
fmid 3,801 2,000 5,533
fb 3,801 2,000 5,533
K 0
6
5
L’intervalle [1;1] est divisé en 3. Les 3 intervalles ont même longueur. Le meilleur intervalle est sélectionné pour être divisé à l’itération suivante.
4
3
2
Passage de 3 à 5 intervalles 1
0 0,0
0,1
0,2
0,3
0,4
longueur
0,5
0,6
0,7
423
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Exemple
Itération 2 : 5 intervalles x inf -1,000 0,333 -0,333 -0,111 0,111
x sup -0,333 1,000 -0,111 0,111 0,333
x mid -0,667 0,667 -0,222 0,000 0,222
longueur 0,667 0,667 0,222 0,222 0,222
fmid 3,801 5,533 1,954 2,000 2,638
fb 1,031 2,763 1,031 1,077 1,715
K 4,155
6
5
Les intervalles sont rangés par longueur décroissante.
4
En gris : nouveaux intervalles issus de l’itération précédente
3
En jaune : meilleur intervalle parmi ceux de même longueur En vert : 2 intervalles sélectionnés donnant le minorant le plus bas → potentiellement optimaux
2
1
0 0,0
0,1
0,2
0,3
0,4
longueur
0,5
0,6
0,7
424
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Exemple
Itération 3 : 9 intervalles x inf 0,333 -0,111 0,111 -1,000 -0,778 -0,556 -0,333 -0,259 -0,185
x sup 1,000 0,111 0,333 -0,778 -0,556 -0,333 -0,259 -0,185 -0,111
x mid 0,667 0,000 0,222 -0,889 -0,667 -0,444 -0,296 -0,222 -0,148
longueur 0,667 0,222 0,222 0,222 0,222 0,222 0,074 0,074 0,074
fmid 5,533 2,000 2,638 7,726 3,801 3,828 3,076 1,954 1,174
fb 0,234 0,234 1,399 6,486 2,561 2,589 2,663 1,541 0,761
K 7,949 5,578
6
5
4
3
2
1
0 0,0
0,1
0,2
0,3
0,4
longueur
0,5
0,6
0,7
425
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Exemple
Itération 4 : 13 intervalles x inf 0,111 -1,000 -0,778 -0,556 0,333 0,556 0,778 -0,333 -0,259 -0,185 -0,111 -0,037 0,037
x sup 0,333 -0,778 -0,556 -0,333 0,556 0,778 1,000 -0,259 -0,185 -0,111 -0,037 0,037 0,111
x mid 0,222 -0,889 -0,667 -0,444 0,444 0,667 0,889 -0,296 -0,222 -0,148 -0,074 0,000 0,074
longueur 0,222 0,222 0,222 0,222 0,222 0,222 0,222 0,074 0,074 0,074 0,074 0,074 0,074
fmid 2,638 7,726 3,801 3,828 2,542 5,533 5,756 3,076 1,954 1,174 1,231 2,000 2,835
fb 0,585 5,672 1,748 1,775 0,489 3,480 3,703 2,392 1,270 0,489 0,546 1,316 2,151
K
6
5
9,239
4
3
2
1
0 0,00
0,05
0,10
0,15
longueur
0,20
0,25
426
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Exemple
Itération 5 : 17 intervalles x inf 0,111 -1,000 -0,778 -0,556 0,556 0,778 -0,333 -0,259 -0,111 -0,037 0,037 0,333 0,407 0,481 -0,185 -0,160 -0,136
x sup 0,333 -0,778 -0,556 -0,333 0,778 1,000 -0,259 -0,185 -0,037 0,037 0,111 0,407 0,481 0,556 -0,160 -0,136 -0,111
x mid 0,222 -0,889 -0,667 -0,444 0,667 0,889 -0,296 -0,222 -0,074 0,000 0,074 0,370 0,444 0,519 -0,173 -0,148 -0,123
longueur 0,222 0,222 0,222 0,222 0,222 0,222 0,074 0,074 0,074 0,074 0,074 0,074 0,074 0,074 0,025 0,025 0,025
fmid 2,638 7,726 3,801 3,828 5,533 5,756 3,076 1,954 1,231 2,000 2,835 1,825 2,542 3,844 1,355 1,174 1,092
fb 0,527 5,614 1,689 1,717 3,421 3,645 2,372 1,251 0,527 1,791 2,626 1,616 2,334 3,635 1,285 1,104 1,022
K 9,501
6
5
4
2,818
3
2
1
0 0,00
0,05
0,10
0,15
longueur
0,20
0,25
427
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Exemple
Itération 6 : 21 intervalles x inf -1,000 -0,778 -0,556 0,556 0,778 -0,333 -0,259 -0,037 0,037 0,333 0,407 0,481 0,111 0,185 0,259 -0,185 -0,160 -0,136 -0,111 -0,086 -0,062
x sup -0,778 -0,556 -0,333 0,778 1,000 -0,259 -0,185 0,037 0,111 0,407 0,481 0,556 0,185 0,259 0,333 -0,160 -0,136 -0,111 -0,086 -0,062 -0,037
x mid -0,889 -0,667 -0,444 0,667 0,889 -0,296 -0,222 0,000 0,074 0,370 0,444 0,519 0,148 0,222 0,296 -0,173 -0,148 -0,123 -0,099 -0,074 -0,049
longueur 0,222 0,222 0,222 0,222 0,222 0,074 0,074 0,074 0,074 0,074 0,074 0,074 0,074 0,074 0,074 0,025 0,025 0,025 0,025 0,025 0,025
fmid 7,726 3,801 3,828 5,533 5,756 3,076 1,954 2,000 2,835 1,825 2,542 3,844 3,090 2,638 1,977 1,355 1,174 1,092 1,112 1,231 1,433
fb 4,762 0,837 0,864 2,569 2,792 2,088 0,966 1,012 1,847 0,725 1,443 2,744 1,990 1,539 0,878 0,988 0,807 0,725 0,746 0,864 1,067
K
6
13,338 5
4
14,846 3
2
1
0 0,00
0,05
0,10
0,15
longueur
0,20
0,25
428
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Exemple
Itération 7 : 25 intervalles x inf -1,000 -0,778 -0,556 0,556 0,778 -0,333 -0,259 -0,037 0,037 0,407 0,481 0,111 0,185 0,259 -0,185 -0,160 -0,111 -0,086 -0,062 0,333 0,358 0,383 -0,136 -0,128 -0,119
x sup -0,778 -0,556 -0,333 0,778 1,000 -0,259 -0,185 0,037 0,111 0,481 0,556 0,185 0,259 0,333 -0,160 -0,136 -0,086 -0,062 -0,037 0,358 0,383 0,407 -0,128 -0,119 -0,111
x mid -0,889 -0,667 -0,444 0,667 0,889 -0,296 -0,222 0,000 0,074 0,444 0,519 0,148 0,222 0,296 -0,173 -0,148 -0,099 -0,074 -0,049 0,346 0,370 0,395 -0,132 -0,123 -0,115
longueur 0,222 0,222 0,222 0,222 0,222 0,074 0,074 0,074 0,074 0,074 0,074 0,074 0,074 0,074 0,025 0,025 0,025 0,025 0,025 0,025 0,025 0,025 0,008 0,008 0,008
fmid 7,726 3,801 3,828 5,533 5,756 3,076 1,954 2,000 2,835 2,542 3,844 3,090 2,638 1,977 1,355 1,174 1,112 1,231 1,433 1,784 1,825 1,968 1,108 1,092 1,087
fb 4,956 1,031 1,058 2,763 2,986 2,153 0,691 0,737 1,572 1,280 2,581 1,827 1,375 0,714 0,934 0,753 0,691 1,193 1,395 1,746 1,787 1,930 1,095 1,079 1,075
K
6
12,463 5
17,049 4
3
1,530
2
1
0
0,00
0,05
0,10
0,15
longueur
0,20
0,25
429
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Exemple
Exemple à une variable On obtient après 25 évaluations une approximation du minimum global : Evolution du meilleur point à chaque itération →
x 0,115 f 1,087
2,00 1,50
8
1,00 -0,25-0,20-0,15-0,10-0,05 0,00 0,05
7
6
5
4
3
2
1
0 -1,0
-0,9
-0,8
-0,7
-0,6
-0,5
-0,4
-0,3
-0,2
-0,1
0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1,0
430
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Direct
Algorithme à n variables • On peut appliquer la méthode de partitionnement de façon similaire dans le cas à n variables. Les intervalles sont remplacés par des hyperrectangles dans Rn. •
La méthode de division est définie dans le cas d’un hypercube, puis adaptée au cas d’un hyperrectangle.
•
La sélection d’un hyperrectangle potentiellement optimal est basée sur l’évaluation d’un minorant dépendant de la dimension de l’hyperrectangle.
Hypercube initial D0 Demi-dimension d0
Itération k Hyperrectangles de dimensions dj= d0/3j
Sélection hyperrectangles potentiellement optimaux (minorant fonction de dj)
Arrêt sur Nombre d’itérations Nombre d’évaluations
Evaluation des nouveaux hyperrectangles
Division des hyperrectangles sélectionnés
431
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Direct
Division d’un hypercube • L’hypercube a pour centre c0 et pour côté . •
On évalue 2 points à distance /3 de c0 suivant chaque direction ei pour i=1 à n. 1 c c ei i f (ci ) 0 i 3 → 2n points 1 ci c 0 ei i f (ci ) 3
•
c3 c 2
c1
On retient la valeur minimale i suivant chaque direction ei.
Les i sont rangés dans l’ordre croissant. i1 ≤ i2 ≤ … ≤ in
c1
c 2
i min(i , i ) , i 1 à n
•
c0 c3
x3
→ détermine les meilleures directions et l’ordre de division des côtés de l’hypercube
x2 x1
432
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Direct /3
•
On divise l’hypercube en 3 suivant la meilleure direction (i1). → 3 hyperrectangles : centres ci1 , c0 et ci1+ avec 1 côté de longueur /3 et n1 côtés de longueur
•
On sélectionne l’hyperrectangle central (contenant c0) et on le divise en 3 suivant la 2ème meilleure direction (i2). → 3 hyperrectangles : centres ci2 , c0 et ci2+ avec 2 côtés de longueur /3 et n2 côtés de longueur
•
On poursuit en divisant à chaque étape l’hyperrectangle central suivant la direction suivante : i3, … , in.
•
La dernière division donne un hypercube de centre c0 et de côté /3.
/3
Division d’un hypercube • L’hypercube initial a pour centre c0 et pour côté .
433
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Direct
Division d’un hypercube • Chaque division génère 2 hyperrectangles supplémentaires. Les hyperrectangles ont des côtés de longueur /3 ou .
•
Le meilleur point (ci1 ou ci1+) est au centre de l’un des 2 hyperrectangles les plus grands (première division).
Division d’un hyperrectangle • Les côtés d’un hyperrectangle sont soit de longueur /3 soit de longueur •
/3
On obtient après les divisions suivant les n directions : - 2n hyperrectangles de centres ci , ci+ pour i=1 à n. - 1 hypercube central de centre c0 et de côté /3
/3
ou Meilleur point (valeur i1 minimale)
→ p côtés → np côtés
On applique la même procédure de division que pour un hypercube mais en se restreignant aux p plus grands côtés de longueur . La division génère 2p hyperrectangles supplémentaires avec des côtés de longueur /3 ou .
434
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Direct
Division des hyperrectangles •
Première itération Hypercube initial Evaluation au centre = 9
Evaluations suivant e1,e2 Meilleure évaluation = 2 → suivant e2
Division suivant e2 puis suivant e1 → 5 hyperrectangles
6
6
e2 9
5
9
2
e1
8
5
9
8
2
435
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Direct
Division des hyperrectangles •
Deuxième itération 1 hyperrectangle sélectionné (potentiellement optimal)
Evaluations suivant e1 (plus grand côté)
6
Division suivant e1 → 7 hyperrectangles
6
6
e2 5
8
9
2
e1
5
9
8
5
9
8
3
2
6
3
2
6
436
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Direct
Division des hyperrectangles •
Troisième itération 1 hyperrectangle sélectionné et 1 hypercube sélectionné (potentiellement optimaux)
6
Evaluations suivant e1 (plus grand côté) Evaluations suivant e1,e2 Meilleure évaluation = 1 → suivant e1
Division suivant e1 Division suivant e1 puis suivant e2 → 13 hyperrectangles
7
6
9
7
6
9
5
9
8
5
9
8
3
3 2 1 4
3
3 2 1 4
6
e2 5
3
8
9
6
2
e1
5
6
5
437
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Techniques d’optimisation
Max CERF 2018
2.6.3 Direct Dimension des hyperrectangles • On suppose que le domaine de recherche initial D0 est un hypercube de côté 0. On peut toujours se ramener à cette situation par une mise à l’échelle sur les variables. a i x i bi 0 x i ' 0
avec x i ' 0
xi ai bi a i
•
Les divisions génèrent des hyperrectangles Dj dont les côtés ont 2 longueurs différentes. - p côtés sont de longueur i = 0/3k+1 , i = 1 à p - np côtés sont de longueur i = 0/3k , i = p+1 à n
•
La dimension d’un hyperrectangle Dj est mesurée par sa norme 2 ou sa norme .
- norme 2 :
Dj
Dj
- norme : D j
2
n
( ) i 1
i
2
p
( i 1
/3
)
n
(
i p 1
0
/ 3k ) 2 p( 0 / 3k 1 ) 2 (n p)( 0 / 3k ) 2
p 8 ( n p ) 0 / 3k n p 9 9
2
0 / 3k
max i 0 / 3k i 1à n
0
k 1 2
→ longueur du plus grand côté
438
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Max CERF 2018
Techniques d’optimisation 2.6.3 Direct
Hyperrectangle potentiellement optimal • A l’itération k, le domaine de recherche D est partitionné en hyperrectangles Dj. La procédure pour choisir l’hyperrectangle à diviser est identique au cas à une variable. •
Pour chaque hyperrectangle Dj, on calcule un minorant fb,j de f sur Dj. L’ hyperrectangle « potentiellement optimal » est celui de plus bas minorant = hyperrectangle qui a le plus de chance de contenir le minimum de f
•
Le minorant pour l’hyperrectangle Dj est calculé par : fb,j = fj Kdj
•
- fj est la valeur au centre de l’hyperrectangle
→ fj = f(cj) valeur déjà calculée
- dj est la demi-dimension de l’hyperrectangle
→ dj
1 Dj 2
f j Kd j f i Kd i , i f j Kd j f min f min
Dj est potentiellement optimal si K 0
norme 2 ou
avec f min min f i i
On peut représenter l’ensemble des hyperrectangles sur le graphe associé (dj , fj). La constante K est calculée de la même façon que dans le cas à une variable.
439
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Techniques d’optimisation
Max CERF 2018
2.6.3 Exemple Exemple à deux variables f ( x, y) ( x 0.2) 2 2( y 0.1) 2 0.3 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,367 0,100 -0,167 -0,370 y/x
0,883 1,346 0,413 1,346 0,883 -0,419
1,190 1,654 0,720 1,654 1,190 -0,161
0,470 0,933 0,000 0,933 0,470 0,200
1,190 1,654 0,720 1,654 1,190 0,561
0,883 1,346 0,413 1,346 0,883 0,819
En vert : minimum En orange : maximum En blanc : point-selle •
Minimum global :
x = 0,2 y = 0,1 f =0
440
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Techniques d’optimisation
Max CERF 2018
2.6.3 Exemple Itération 1 : Division de l’hypercube initial x -0,667 0,667 0,000 0,000 0,000
y 0,000 0,000 -0,667 0,667 0,000
f 1,440 0,907 2,400 1,207 0,729
La fonction est évaluée : 2 3 2 - suivant y en : y 0 3
- suivant x en : x 0
La meilleure valeur est suivant x. → en orange L’hypercube est divisé suivant x, puis suivant y. → 5 hyperectangles.
441
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Techniques d’optimisation
Max CERF 2018
2.6.3 Exemple Itération 1 : 5 hyperrectangles x mid y mid -0,667 0,000 0,667 0,000 0,000 -0,667 0,000 0,667 0,000 0,000
dx 0,333 0,333 0,333 0,333 0,333
dy 1,000 1,000 0,333 0,333 0,333
d max 1,000 1,000 0,333 0,333 0,333
fmid 1,440 0,907 2,400 1,207 0,729
fb K 1,174 0,640 0,267 2,311 1,118 0,640
Les hyperrectangles sont rangés par dimension décroissante. Gris :
nouveaux hyperrectangles issus de l’itération précédente
Orange : meilleure direction → divisée en premier Jaune :
Vert :
meilleur hyperrectangle parmi ceux de même dimension 2 hyperrectangles sélectionnés donnant le minorant le plus bas → potentiellement optimaux
442
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Techniques d’optimisation
Max CERF 2018
2.6.3 Exemple Itération 2 : 11 hyperrectangles x mid y mid -0,667 0,000 0,000 -0,667 0,000 0,667 0,667 -0,667 0,667 0,667 0,667 0,000 -0,222 0,000 0,222 0,000 0,000 -0,222 0,000 0,222 0,000 0,000
dx 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111
dy 1,000 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111
d max 1,000 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111
fmid 1,440 2,400 1,207 2,577 1,385 0,907 0,975 0,303 1,287 0,849 0,729
fb K -0,265 1,705 1,831 0,639 2,009 0,817 0,338 0,407 -0,265 -1,915 1,499 1,061 0,942
L’hyperrectangle est divisé suivant sa plus grande dimension. → 2 hyperrectangles suivant y L’hypercube est divisé suivant ses deux dimensions en commençant par la meilleure direction → 2 hyperrectangles suivant x puis 2 hyperrectangles suivant y
443
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Techniques d’optimisation
Max CERF 2018
2.6.3 Exemple Itération 3 : 15 hyperrectangles x mid y mid 0,000 -0,667 0,000 0,667 0,667 -0,667 0,667 0,667 0,667 0,000 -0,222 0,000 -0,667 -0,667 -0,667 0,667 -0,667 0,000 0,000 -0,222 0,000 0,222 0,222 -0,222 0,222 0,222 0,222 0,000 0,000 0,000
dx 0,333 0,333 0,333 0,333 0,333 0,111 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111
dy 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111
d max 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111
fmid 2,400 1,207 2,577 1,385 0,907 0,975 3,111 1,918 1,440 1,287 0,849 0,861 0,423 0,303 0,729
fb K 1,494 0,302 1,672 0,480 0,002 2,715 0,070 2,205 1,013 0,535 0,985 0,547 0,559 0,121 0,002 0,942
444
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Techniques d’optimisation
Max CERF 2018
2.6.3 Exemple Itération 4 : 23 hyperrectangles x mid 0,000 0,000 0,667 0,667 -0,222 -0,667 -0,667 -0,667 0,444 0,889 0,667 0,667 0,667 0,000 0,000 0,222 0,222 0,000 0,222 0,222 0,148 0,296 0,222
y mid -0,667 0,667 -0,667 0,667 0,000 -0,667 0,667 0,000 0,000 0,000 -0,222 0,222 0,000 -0,222 0,222 -0,222 0,222 0,000 -0,074 0,074 0,000 0,000 0,000
dx 0,333 0,333 0,333 0,333 0,111 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,037 0,037 0,037
dy 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,037 0,037 0,037 0,037 0,037
d max 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,037 0,037 0,037
fmid 2,400 1,207 2,577 1,385 0,975 3,111 1,918 1,440 0,857 0,778 1,464 1,026 0,907 1,287 0,849 0,861 0,423 0,729 0,699 0,029 0,334 0,421 0,303
fb K 1,277 0,085 1,455 0,263 -0,147 1,989 0,796 0,318 -0,265 -0,345 3,366 1,090 0,652 0,533 0,913 0,475 0,487 0,049 0,355 0,325 -0,345 -3,699 0,471 0,558 0,440
445
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Techniques d’optimisation
Max CERF 2018
2.6.3 Exemple Itération 5 : 27 hyperrectangles x mid 0,000 0,000 0,667 0,667 -0,222 -0,667 -0,667 -0,667 0,444 0,667 0,667 0,667 0,000 0,000 0,222 0,222 0,000 0,222 0,889 0,889 0,889 0,148 0,296 0,148 0,296 0,222 0,222
y mid -0,667 0,667 -0,667 0,667 0,000 -0,667 0,667 0,000 0,000 -0,222 0,222 0,000 -0,222 0,222 -0,222 0,222 0,000 -0,074 -0,222 0,222 0,000 0,000 0,000 0,074 0,074 0,074 0,000
dx 0,333 0,333 0,333 0,333 0,111 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,037 0,037 0,037 0,037 0,037 0,037
dy 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,037 0,111 0,111 0,111 0,037 0,037 0,037 0,037 0,037 0,037
d max 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,037 0,037 0,037 0,037 0,037 0,037
fmid 2,400 1,207 2,577 1,385 0,975 3,111 1,918 1,440 0,857 1,464 1,026 0,907 1,287 0,849 0,861 0,423 0,729 0,699 1,335 0,897 0,778 0,334 0,421 0,060 0,147 0,029 0,303
fb K 1,749 0,556 1,926 0,734 0,325 2,460 1,268 0,789 0,206 1,953 1,247 0,809 0,690 1,070 0,632 0,644 -0,167 5,313 0,512 0,109 0,745 0,307 0,187 0,471 0,558 -0,137 -0,050 K -0,167 0,107
446
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Techniques d’optimisation
Max CERF 2018
2.6.3 Exemple Itération 6 : 35 hyperrectangles x mid 0,000 0,000 0,667 0,667 -0,222 -0,667 -0,667 -0,667 0,444 0,667 0,667 0,667 0,000 0,000 0,222 0,000 0,222 0,889 0,889 0,889 0,222 0,222 0,148 0,296 0,222 0,148 0,296 0,148 0,296 0,222 0,222 0,222 0,198 0,247 0,222
y mid -0,667 0,667 -0,667 0,667 0,000 -0,667 0,667 0,000 0,000 -0,222 0,222 0,000 -0,222 0,222 -0,222 0,000 -0,074 -0,222 0,222 0,000 0,148 0,296 0,222 0,222 0,222 0,000 0,000 0,074 0,074 0,000 0,049 0,099 0,074 0,074 0,074
dx 0,333 0,333 0,333 0,333 0,111 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,012 0,012 0,012
dy 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,037 0,111 0,111 0,111 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,012 0,012 0,012 0,012 0,012
d max 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,333 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,111 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,037 0,012 0,012 0,012
fmid 2,400 1,207 2,577 1,385 0,975 3,111 1,918 1,440 0,857 1,464 1,026 0,907 1,287 0,849 0,861 0,729 0,699 1,335 0,897 0,778 0,083 0,796 0,454 0,540 0,423 0,334 0,421 0,060 0,147 0,303 0,090 0,007 0,022 0,053 0,029
fb 1,238 0,046 1,416 0,224 -0,186 1,949 0,757 0,279 -0,304 1,077 0,639 0,520 0,900 0,462 0,474 0,342 0,312 0,948 0,510 0,390 -0,304 0,409 0,416 0,503 0,385 0,137 0,224 0,197 0,284 0,107 0,053 -0,031 0,030 0,061 0,037
3,484
1,021
-0,623
447
2 Optimisation sans contraintes 2.6 Méthodes sans gradient 2.6.3 Direct
Techniques d’optimisation
Max CERF 2018
2.6.3 Direct Exemple à deux variables f ( x, y) ( x 0.2) 2 2( y 0.1) 2 0.3 cos3( x 0.2) 0.4 cos4( y 0.1) 0.7
•
On obtient après 35 évaluations une approximation du minimum global. x 0,222 (au lieu de 0,2) y = 0,099 (au lieu de 0,1) f 0,007 (au lieu de 0,0)
•
Evolution du meilleur point au cours des itérations Itération 1 2 3 4 5 6
x 0,000 0,222 0,222 0,222 0,222 0,222
y 0,000 0,000 0,000 0,074 0,074 0,099
f 0,729 0,303 0,303 0,029 0,029 0,007
448
3
Optimisation avec contraintes
Techniques d’optimisation
Max CERF 2018
Sommaire 1.
Bases théoriques
2.
Optimisation sans contraintes
3.
Optimisation avec contraintes 3.1 Simplexe 3.2 Point intérieur 3.3 Gradient projeté 3.4 Lagrangien augmenté 3.5 Programmation quadratique séquentielle 3.6 Convergence
4.
Optimisation discrète
5.
Optimisation fonctionnelle
449
3
Optimisation avec contraintes
Techniques d’optimisation
Max CERF 2018
3 Optimisation avec contraintes Problème non linéaire sous contraintes
c (x) 0 min f(x) sous E xR c I (x) 0 n
Catégories de problèmes • Programmation linéaire • Programmation non linéaire Traitement des contraintes • Méthodes de contraintes actives
Problème noté (PO)
Fonctions f, cE, cI linéaires Fonctions f, cE, cI quelconques Identification des inégalités actives Transformation en un problème avec contraintes égalité Respect des contraintes à chaque itération
•
Méthodes de point intérieur
Fonction barrière (pénalisation intérieure) Suivi d’un chemin central intérieur aux contraintes
•
Méthodes de pénalisation
Critère augmenté (pénalisation extérieure) Transformation en un problème sans contraintes
450
3
Optimisation avec contraintes
Max CERF 2018
Techniques d’optimisation 3 Optimisation avec contraintes
Problème non linéaire sous contraintes
c E (x) 0 minn f(x) sous xR c I (x) 0
Problème noté (PO)
Classification des méthodes
Problème traité Objectif
Méthode primale
Méthode primale-duale
Méthode duale
problème primal
problème primal
problème dual
min f
solution KKT
max w
- méthode directe - point stationnaire
- méthode indirecte - point stationnaire
- méthode indirecte - point col
Itérations
admissibles
admissibles ou non
non admissibles
Variables
primales x
primales x , duales
primales x , duales
Algorithmes
- simplexe (LP) - gradient projeté - pénalisation
- point intérieur (LP, NLP) - séquentiel quadratique
- simplexe dual (LP) - lagrangien augmenté - Uzawa
451
3 Optimisation avec contraintes 3.1 Simplexe
Techniques d’optimisation
Max CERF 2018
Sommaire 1. 2.
Bases théoriques Optimisation sans contraintes
3.
Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire 3.1.2 Déplacement 3.1.3 Initialisation 3.1.4 Simplexe révisé 3.1.5 Simplexe dual 3.1.6 Problème quadratique 3.2 Point intérieur 3.3 Gradient projeté 3.4 Lagrangien augmenté 3.5 Programmation quadratique séquentielle 3.6 Convergence
4. 5.
Optimisation discrète Optimisation fonctionnelle
452
3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire
Techniques d’optimisation
Max CERF 2018
3.1.1 Problème linéaire Forme standard Solution
Recherche systématique Recherche optimisée Forme canonique
453
3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire
Techniques d’optimisation
Max CERF 2018
3.1.1 Problème linéaire Problème linéaire sous forme standard
Ax b min c T x sous x x 0
A R m n , b R m , c R n rang(A) m
problème noté (PL)
Rappels • Base B = (Aj1 , … , Ajm) = m colonnes indépendantes de A B inversible AE = (B N) avec E = matrice de permutation de colonnes (EET = I)
xB m B -1b Ax b x E avec x E 0 x N 0 xN n m admissible (ou réalisable) si x B B 1b 0
•
Solution de base :
•
Direction de base dj , jN
•
d jB B 1A j pour vérifier Ax=b d jB d j E avec T 0 d composantes nulles sauf =1 sur la composante j E e d jN j jN T T 1 Coût réduit = dérivée directionnelle suivant la direction de base dj : c j c d j c j c B B A j Coût réduit négatif direction de descente
454
3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire
Max CERF 2018
Techniques d’optimisation 3.1.1 Solution
Problème linéaire sous forme standard
Ax b min c T x sous x x 0
A R m n , b R m , c R n rang(A) m
Solution On note P le polytope associé aux contraintes : P x R n / Ax b, x 0 Si le problème (PL) admet une solution, alors il existe un sommet optimal x*.
Preuve : On suppose que PL admet une solution de coût f* T On considère un sommet x* du polytope Q inclus dans P : Q x P / c x f * On suppose par l’absurde que x* n’est pas un sommet de P.
x* * y ( 1 *)z avec y , z P , y z ,0 * 1 ( ) c T y ( 1 )c T z La fonction linéaire est minimale en * : 0 1
( *) c T x* f * 0 * 1 La fonction est donc constante (sinon elle décroît d’un côté de *) c T y c T z f * y, z Q On a donc : x* * y ( 1 *)z avec y , z Q , y z ,0 * 1 en contradiction avec l’hypothèse que x est un sommet de Q.
455
3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire
Techniques d’optimisation
Max CERF 2018
3.1.1 Solution Recherche systématique Si (PL) admet une solution x*, x* est un sommet du polytope P associé aux contraintes. On peut donc trouver la solution : en parcourant tous les sommets de P (= bases) en calculant les solutions de base associées en conservant la meilleure solution de base réalisable •
Choix de m colonnes parmi les n colonnes de A base B possible
•
Vérification que la base est réalisable : Solution de base admissible :
B inversible et B-1b0
x 1 x E B E B b 0 xN 0 f c T x c TB x B c TN x N c TB x B
•
Valeur du coût associé à la base B :
•
Sélection de la meilleure solution (f minimal)
Inconvénient
C mn
n! combinaisons possibles inapplicable en pratique m!(n m)!
456
3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire
Max CERF 2018
Techniques d’optimisation 3.1.1 Exemple
Recherche systématique x2
x 1 x 2 x 3 1 min x 1 2x 2 sous x 1 x 2 x 4 1 x1 , x 2 , x 3 , x 4 x 1 , x 2 , x 3 , x 4 0 •
1
C
x1+x2=1
Représentation graphique dans R2
x P' 1 x 2
x x 2 1 x 1 0 / 1 , x x 1 2 1 x 2 0
•
Solution graphique : point C (f = 2)
•
Solution par énumération des sommets Base
x
x1,x2
(1 0 0 0) B (1 0 0 0) B
x1,x3
P
0
1
1
x2,x4
Non admissible 2
x3,x4
(0 0 1 1) A
0
x2,x3
B x1
f 1
(1 0 0 0) B (0 1 2 0) D (0 1 0 2) C
x1,x4
A
x1x2=1
1
D
457
3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire
Techniques d’optimisation
Max CERF 2018
3.1.1 Solution Recherche optimisée On évite l’énumération systématique en parcourant les sommets de façon ordonnée Méthode du simplexe = méthode de contraintes actives Principes • On se déplace d’une solution de base admissible à une autre solution de base admissible. Les solutions non admissibles ne sont pas examinées. •
Les bases successives ne diffèrent que par l’une des variables (bases adjacentes)
•
Le déplacement d’un sommet à un autre est choisi à partir des directions de base Déplacement suivant les arêtes du polytope
•
Les coûts réduits déterminent les directions de descente possibles. Sélection d’une direction de déplacement (plusieurs règles de sélection possibles)
•
Le problème est mis sous forme canonique dans la base B Permet de vérifier l’optimalité de la base B Permet de construire le déplacement vers une base adjacente
458
3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire
Techniques d’optimisation
Max CERF 2018
3.1.1 Forme canonique Réduction dans la base B •
Forme standard :
Ax b min c T x sous x x 0
•
Base B :
x m AE B N , x E B xN n m
•
Réduction aux variables hors base
A R m n , b R m , c R n rang(A) m
Ax Bx B Nx N T T T c x c B x B c N x N
1 1 Ax b min c T x c T x sous Bx B Nx N b x B B b B Nx N min c x sous B B N N x B R m x x B 0 , x N 0 x 0 n -m x N R x B B 1b B 1 Nx N 0 T 1 T T 1 minnm c B B b c N c B B N x N sous x N R x N 0 T
•
Forme canonique dans la base B
min z c NT x N sous x B b B 1 Nx N 0
x N R n m x N 0
b B 1b avec z c TB b c NT c TN c TB B 1 N
Réduction à n-m variables = variables hors-base xN
459
3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire
Max CERF 2018
Techniques d’optimisation 3.1.1 Forme canonique
Evaluation de la base B La solution x* du problème linéaire correspond à un sommet = solution de base admissible Evaluer l’optimalité de la solution de base associée à la base B Construire le déplacement vers une nouvelle base B’ meilleure que B
minnm z c NT x N sous x B b B1 Nx N 0
•
Forme canonique dans B :
•
z z Solution de base associée à B : x N 0 si B est admissible (ou réalisable) x B b 0
•
Variation du coût :
x N R x N 0
z( x N ) z c NT x N z c j x j jN
z cj 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 3.1 Simplexe 3.1.2 Déplacement
Techniques d’optimisation
Max CERF 2018
3.1.2 Déplacement Règles de déplacement Changement de base
Formules de pivotage Méthode des tableaux
461
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Techniques d’optimisation
Max CERF 2018
3.1.2 Règles de déplacement Notations • Matrices : • Par extension : •
B, N = matrice de base et hors base AE = (B N) B, N = numéros des variables de base xB et hors base xN
x Solution de base associée à B : E T x B xN
Ax b Bx B b avec x N 0
Direction de déplacement • Si tous les coûts réduits sont positifs ou nuls, la solution courante est optimale. • Sinon on choisit un indice hors base eN de coût réduit strictement négatif : ce 0 La direction de base associée de est une direction de descente. • •
On se déplace à partir de x d’un pas 0 suivant la direction de base de x’ = x + de Le nouveau point x’=x + de doit rester admissible :
Ad 0 car Ax b vérifié par définition de de Ax' b A(x d e ) b x ed 0 vérifié car xN=0 et deN 0 x' 0 x d 0 N eN e limite le déplacement x B d eB 0 •
Le déplacement est limité par le fait que les variables de base doivent rester positives.
462
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Max CERF 2018
Techniques d’optimisation 3.1.2 Règles de déplacement
Pas de déplacement Le déplacement suivant la direction de base de est limité par les contraintes xB0 x B d eB 0 Borne i pour chacune des m variables de base xi, iB •
Si la composante d eBi est positive, le pas n’est pas borné : i
•
Si la composante d eBi est négative, le pas est borné par :
i
xi d eBi
(annulation de xi)
Déplacement maximal On note s le numéro de la 1ère variable de base xi qui s’annule suivant la direction de. Le pas maximal admissible suivant la direction de est : s min i iB
•
Si deB 0, le pas n’est pas borné suivant de Le problème PL n’a pas de solution (problème non borné).
•
Sinon on réalise le pas maximal s suivant la direction de : x’ = x + sde Changement de base ou pivotage Echange des variables xs (variable de base sortant de la base courante) et xe (variable hors base entrant dans la nouvelle base)
463
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Max CERF 2018
Techniques d’optimisation 3.1.2 Changement de base
Pivotage La direction de base de associé à la variable hors base xe est définie par
d eB B 1A e d E T d e eB avec T 0 E e d d eN e eN
pour vérifier Ax=b composantes nulles sauf =1 sur la composante e
•
Le nouveau point x’ = x + sde est admissible car : - la direction de est admissible - le pas s respecte les contraintes x’0
•
Variables
•
si j e 0 si j e 0 car d eB j Variables hors base xj, jN : x j ' x j s d eB j s 0 si j e 1 si j e
de base xi, iB : x i ' x i s d eB i 0 si i s 0 si i s
car s par construction du pas s
Nouvelle base •
Nouvelles variables hors base :
x j ' 0 pour j N e N' N e s x ' 0 pour i s s
•
Nouvelles variables
x i ' 0 pour i B s B' B s e x ' 0 pour j e e
de base :
464
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Techniques d’optimisation
Max CERF 2018
3.1.2 Changement de base Variation du coût T T T • Le nouveau coût est : c x' c (x s d e ) c x s ce z' z s ce z •
Si la base n’est pas dégénérée (xB > 0), toutes les directions de base sont admissibles Déplacement non nul possible : s > 0 Le coût décroît strictement : z’ < z car on a choisi 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
•
L’algorithme nécessite une base initiale admissible. Etape préliminaire de détermination de la base initiale
465
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Techniques d’optimisation
Max CERF 2018
3.1.2 Changement de base Règles de pivotage • Choix de la variable entrante différents choix possibles • Détermination de la variable sortante imposé Variable entrante • La variable hors base entrant dans la base doit avoir un coût réduit négatif. •
Choix de la variable de plus petit indice Règle de Bland (évite le cyclage pouvant se produire lorsque une base est dégénérée)
•
Choix de la variable de coût réduit le plus négatif (plus forte descente) 1ère règle de Dantzig
•
Choix de la variable conduisant à la plus forte diminution de la fonction coût
•
Choix aléatoire avec une probabilité proportionnelle au coût réduit
Variable sortante • La variable de base sortant de la base est la 1ère à s’annuler suivant la direction de base choisie 2ème règle de Dantzig
466
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Max CERF 2018
Techniques d’optimisation 3.1.2 Changement de base
Illustration x2
Sommet initial Min f=x2
1er déplacement
2 pivotages
12 pivotages
Solution
Dégénérescence x1
467
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Techniques d’optimisation
Max CERF 2018
3.1.2 Formules de pivotage Forme canonique On écrit le problème sous forme canonique dans la base B. •
Formulation matricielle
minnm z c NT x N sous x B b B1 Nx N 0
x N R x N 0
•
b B 1b avec z c TB b c NT c TN c TB B 1 N
Formulation explicite en fonction des variables hors base xj , jN
min z c j x j sous x i bi a ij x j 0 , i B x N 0
jN
jN
b B -1b B -1 N (a ) ij i B, jN noté avec z c i bi iB c j c j c i a ij , j N iB
468
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Max CERF 2018
Techniques d’optimisation 3.1.2 Formules de pivotage
Changement de base • Le pivotage consiste à remplacer la variable hors base xe (entrante) : B' B s e par la variable de base xs (sortante) : N' N e s •
Forme canonique dans la base B :
z z c jx j jN
x i bi a ij x j , i B jN
Expression en fonction des variables xj, jN •
Forme canonique dans la base B’ :
z z ' c j ' x j jN'
x i bi ' a ij ' x j , i B' jN '
Expression en fonction des variables xj, jN’=Ne+s Pour passer de la forme canonique dans la base B à la forme canonique dans la base B’, il faut : • exprimer xe en fonction de xs, • remplacer xe dans les expressions du coût z et des variables de base xi, iB’=Bs+e On obtient les formules de pivotage.
469
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Techniques d’optimisation
Max CERF 2018
3.1.2 Formules de pivotage Expression de xe en fonction de xs •
xs est dans l’ancienne base B :
x s bs a sj x j bs a se x e jN
•
xe est dans la nouvelle base B’ :
i=sB
x s bs a sj x j jN
a sj x j
jN e
i=eB’
xe
a sj bs 1 xs xj a se a se a jN e se
x e b e ' a ej ' x j jN '
En identifiant les coefficients :
b be ' s a se 1 js a es ' a se a sj a ' j N e ej a se
On exprime ensuite les autres variables de base xi , iB-s en remplaçant xe.
470
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Techniques d’optimisation
Max CERF 2018
3.1.2 Formules de pivotage Expression des autres variables de base •
xi est dans l’ancienne base B :
iB-s
x i bi a ij x j jN
1 a sj 1 x i bi a ie x e a ij x j bi a ie bs xs x j a ij x j a se jN e jN e a se a se jN e
x i bi
•
a ie a a bs ie bs x s a ij ie a sj x j a se a se a se jN e
xi reste dans la nouvelle base B’ : iB’
En identifiant les coefficients :
x i bi ' a ij ' x j jN '
a ie b ' b bs i i a se a ie js a is ' a se a ' a a ie a j N e ij sj ij a se
471
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Techniques d’optimisation
Max CERF 2018
3.1.2 Formules de pivotage Expression du coût •
Dans l’ancienne base B :
z z c jx j jN
1 a sj 1 z z ce x e c j x j z ce bs xs x j c j x j a se jN e jN e a se a se jN e z z ce •
a sj bs ce x j x s c j ce a se a se a se jN e
Dans la nouvelle base B’ : z z ' c j ' x j jN'
En identifiant les coefficients :
bs z ' z ce a se ce js cs ' a se a sj c ' c c j N e j e j a se
472
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Techniques d’optimisation
Max CERF 2018
3.1.2 Formules de pivotage Récapitulatif • Nouvelles variables de base : iB’=Bs+e
b be ' s a se 1 i e a es ' js a se a sj a ' j N e ej a se •
Nouveau coût
a ie bs bi ' bi a se a i B s a is ' ie js a se a ' a a ie a j N e ij sj ij a se
bs z ' z c e a se ce js cs ' a se a sj c ' c c j N e j e j a se
On dispose dans un tableau les éléments nécessaires au pivotage tableau du simplexe.
473
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Max CERF 2018
Techniques d’optimisation 3.1.2 Méthode des tableaux
Tableau du simplexe • On écrit le problème sous forme canonique dans la base B.
min z z c NT x N sous x B b B 1 Nx N 0 x N 0
•
x B b La solution de base associée à B est : x N 0 z z
b B 1b avec z c TB b c NT c TN c TB B 1 N
x1
•
•
B 1A b Le tableau du simplexe est : T cT z
x
j
xn
B 1A1 B 1A j B 1A n c1 cj cn
Aj = jème colonne de A AE = (B N) avec E = matrice de permutation de colonnes B1A = (I xB xN I B 1 N b x B B 1 Nx N b En permutant les colonnes : T 0 c NT z c NT x N z z
xB c TB x B
B1N) ET
474
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Max CERF 2018
Techniques d’optimisation 3.1.2 Méthode des tableaux
Description du tableau Le tableau du simplexe est noté T(i,j) : i=1 à m+1 , j=1 à n+1 •
T(1:m,1:n) : Matrice B1A
mn
B 1A I B 1 N E T en plaçant les variables de base en premier •
T(m+1,1:n) : Coûts réduits
x1
1n
c BT 0 T T 1 c c cBB A T T T 1 c N c N c B B N •
T(1:m,n+1) : Solution de base m1
x b x B xN 0 •
T(m+1,n+1) : Opposé du coût 11
z z c BT b
xj
B 1A1 B 1A j c1 cj
xB I T 0
xN B1 N b c NT z
xn B 1A n cn
b1 bm z
x B B1 Nx N b c NT x N z z
475
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Techniques d’optimisation
Max CERF 2018
3.1.2 Méthode des tableaux Utilisation du tableau Le tableau du simplexe permet de : • Repérer les variables de base colonnes = matrice identité, coûts réduits nuls • Vérifier si la base est admissible valeurs positives ou nulles des variables de base • Vérifier si la base est optimale valeurs strictement positives des coûts réduits • Sélectionner un pivotage pour passer à une base adjacente meilleure • Mettre à jour la forme canonique dans la nouvelle base Méthode de pivotage • On choisit une variable hors base de coût réduit négatif colonne e • On examine la variation des variables de base suivant la direction de x i bi a ie x e , i B
s’annule pour :
xe
bi a ie ligne s
•
La première variable de base à s’annuler sort de la base
•
Le pivotage e-s consiste à faire apparaître une colonne de la matrice identité en colonne e. forme canonique dans la nouvelle base par combinaison linéaire des lignes du tableau
476
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Max CERF 2018
Techniques d’optimisation 3.1.2 Méthode des tableaux
Réalisation du pivotage La variable xe entre dans la nouvelle base B’=Bs+e Pour faire apparaître une colonne de la matrice identité en colonne e, on réalise des combinaisons linéaires des lignes du tableau, y compris la dernière colonne. • • •
Division de la ligne s par le pivot a se a se ' 1 Addition de la ligne s aux autres lignes pour annuler les coefficients dans la colonne e Annulation du coût réduit dans la colonne e
x1 c1
x e a 1e a se a me ce
x n b1 bs b m c n z
x1 c1 '
x e 0 1 0 0
x n c n '
b1 ' bs ' bm ' z'
477
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Techniques d’optimisation
Max CERF 2018
3.1.2 Méthode des tableaux Algorithme de pivotage 1. Choix du pivot • Variable hors base entrante xe = 1er coût réduit négatif T(i, n 1) , i B, si T(i, e) 0 • Pas maximal admissible pour chaque variable de base : i T(i, e) •
s min i
Variable de base sortante xs :
iB T (i,e) 0
2. Réalisation du pivotage • Pivot = T(s,e)
•
Lignes i=1,…,m+1, is
T(i, k ) T(i, k )
•
Ligne s du pivot
T(s, k )
T(i, e) T(s, k ) , k 1,, n 1 T(s, e)
T(s, k ) , k 1,, n 1 T(s, e)
méthode similaire à la méthode du pivot de Gauss
478
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Techniques d’optimisation
Max CERF 2018
3.1.2 Exemple Méthode des tableaux • Problème linéaire à 3 variables x1, x2, x3
x 1 2x 2 2x 3 20 2x x 2 2x 3 20 min 10x 1 12x 2 12x 3 sous 1 2x 2x 2 x 3 20 x1 , x 2 , x 3 1 x 1 , x 2 , x 3 0 •
Forme standard Variables d’écart x4, x5, x6 positives
min
x1 , x 2 , x 3 , x 4 , x 5 , x 6
x 1 2x 2 2x 3 x 4 20 2x x 2 2x 3 x 5 20 10x 1 12x 2 12x 3 sous 1 2x 2x 2 x 3 x 6 20 1 x 1 , x 2 , x 3 , x 4 , x 5 , x 6 0
479
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Techniques d’optimisation
Max CERF 2018
3.1.2 Exemple Méthode des tableaux • Tableau du simplexe x1
x2
x3
x4
x5
x6
1
2
2
1
0
0
20
x4
2
1
2
0
1
0
20
x5
2
2
1
0
0
1
20
x6
-10
-12
-12
0
0
0
0
-z
Base initiale admissible (x4 , x5 , x6)
•
Solution de base non optimale : coûts réduits négatifs (= directions de descente)
•
Variable entrante :
1er coût réduit négatif
x1
•
Variable sortante :
1ère variable de base à s’annuler
x5
•
Pivot : a 51 2
480
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Max CERF 2018
Techniques d’optimisation 3.1.2 Exemple
Méthode des tableaux • 1er pivotage : entrée x1, sortie x5 x1
x2
x3
x4
x5
x6
Pas
1
2
2
1
0
0
20
x4
s14=20
2
1
2
0
1
0
20
x5
s15=10
2
2
1
0
0
1
20
x6
s16=10
-10
-12
-12
0
0
0
0
z
x1
x2
x3
x4
x5
x6
0
1.5
1
1
-0.5
0
10
x4
1
0.5
1
0
0.5
0
10
x1
0
1
-1
0
-1
1
0
x6
0
-7
-2
0
5
0
100
z
Nouvelle base (x1 , x4 , x6)
481
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Max CERF 2018
Techniques d’optimisation 3.1.2 Exemple
Méthode des tableaux • 2ème pivotage : entrée x2, sortie x6 x1
x2
x3
x4
x5
x6
Pas
0
1.5
1
1
-0.5
0
10
x4
s24=20/3
1
0.5
1
0
0.5
0
10
x1
s21=20
0
1
-1
0
-1
1
0
x6
s26=0
0
-7
-2
0
5
0
100
z
x1
x2
x3
x4
x5
x6
0
0
2.5
1
1
-1.5
10
x4
1
0
1.5
0
1
-0.5
10
x1
0
1
-1
0
-1
1
0
x2
0
0
-9
0
-2
7
100
z
Nouvelle base (x1 , x2 , x4)
482
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Max CERF 2018
Techniques d’optimisation 3.1.2 Exemple
Méthode des tableaux • 3ème pivotage : entrée x3, sortie x4
•
x1
x2
x3
x4
x5
x6
0
0
2.5
1
1
-1.5
10
x4
s34=4
1
0
1.5
0
1
-0.5
10
x1
s31=20/3
0
1
-1
0
-1
1
0
x2
s32=+
0
0
-9
0
-2
7
100
z
x1
x2
x3
x4
x5
x6
0
0
1
0.4
0.4
-0.6
4
x3
1
0
0
-0.6
0.4
0.4
4
x1
0
1
0
0.4
-0.6
0.4
4
x2
0
0
0
3.6
1.6
1.6
136
z
Solution optimale :
c0
Pas
Nouvelle base (x1 , x2 , x3)
x* 4 4 4 0 0 0T z* 136
483
3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement
Max CERF 2018
Techniques d’optimisation 3.1.2 Exemple
Méthode des tableaux Récapitulatif des itérations k
B
c
x1
x2
x3
x4
x5
x6
0
4 5 6
-10
-12
1
1 4 6
-7
2
1 2 4
3
1 2 3
dB
smax
e
s
z
-12
0
0
0
20
20
20
-1
-2
-2
10
1
5
0
-2
5
10
0
0
10
0
0
-1.5
-0.5
-1
0
2
6
-100
-9
-2
7
10
0
0
10
0
0
-2.5
-1.5
1
4
3
4
-100
3.6
31.6
1.6
4
4
4
0
0
0
-136
Commentaires • La mise sous forme standard nécessite d’introduire des variables supplémentaires. Variables d’écart positives • On dispose directement d’une base initiale admissible formée des variables d’écart. Ce n’est pas toujours le cas. Phase préliminaire pour construire une base initiale • Certains pivotages ne réduisent pas le coût (exemple : pivotage numéro 2). Base dégénérée + risque de cyclage ( = retrouver une base précédente) • La solution optimale ne comporte que les variables initiales. Ce n’est pas toujours le cas. Des pivotages supplémentaires peuvent être nécessaires.
484
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
Techniques d’optimisation
Max CERF 2018
3.1.3 Initialisation Problème auxiliaire Tableau initial
Méthode des 2 phases
485
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
Techniques d’optimisation
Max CERF 2018
3.1.3 Problème auxiliaire Base initiale Le problème (PL) sous forme standard est :
Ax b min c T x sous xR x 0 n
L’algorithme du simplexe nécessite une base initiale admissible. Pour trouver une solution admissible, on considère un problème auxiliaire. Problème auxiliaire Le problème auxiliaire (PLa) sous forme standard est : minn 0 T x e T y sous Ax y b xR x , y 0 m yR
•
Les variables du problème auxiliaire sont : - les n variables x du problème initial (PL) - m variables auxiliaires y 1 variable par contrainte
•
La fonction coût du problème auxiliaire est positive, bornée inférieurement par 0 (car 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 3.1 Simplexe 3.1.3 Initialisation
Max CERF 2018
Techniques d’optimisation 3.1.3 Problème auxiliaire
Problème auxiliaire Le problème auxiliaire (PLa) est sous forme standard :
Ax y b min 0 T x e T y sous xR x , y 0 n
yR
•
m
On peut supposer b0 (au besoin en multipliant les contraintes égalité par -1).
Tableau initial du problème auxiliaire • Le problème (PLa) est sous forme canonique dans la base B associée aux variables y : - variables de base y matrice B=I , coûts réduits=1 - variables hors base x matrice N=A, coûts réduits=0 •
La solution de base associée à la base B (x=0, y=b) est admissible : y=b0
•
On peut appliquer l’algorithme du simplexe au problème (PLa) à partir de la base B. x y
•
Tableau initial du simplexe pour le problème (PLa) :
A
I
b
y
0T
eT
0
-z
487
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
Techniques d’optimisation
Max CERF 2018
3.1.3 Problème auxiliaire Solution du problème auxiliaire S’il existe un point admissible pour (PL), alors : • le coût optimal du problème auxiliaire (PLa) est nul, • la solution (x0,y0) de (Pla) donne un point x0 admissible du problème (PL)
0 T x 0 e T y 0 0 Ax 0 y 0 b x 0 , y 0 0
y 0 0 Ax 0 b x 0 0
contraintes du problème (PL)
Par contraposée, si le coût optimal de (PLa) n’est pas nul, (PL) n’a pas de point admissible. Variables auxiliaires • Les variables y sont nulles à l’optimum. Elles sont : - soit hors base - soit en base (solution dégénérée) •
Pour obtenir une base admissible du problème (PL) qui ne contienne que des variables x, il faut échanger les variables y en base par des pivotages avec des variables x. Ces pivotages sont de pas nul, le tableau n’est pas modifié.
•
On obtient une base B ne contenant que des variables x du problème (PL).
488
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
Techniques d’optimisation
Max CERF 2018
3.1.3 Exemple Problème auxiliaire • Problème linéaire à 4 variables x1, x2, x3 ,x4
min
x1 , x 2 , x 3 , x 4
•
3 x 1 2x 2 3x 3 x 1 2 x 2 6 x 3 2 x 1 x 2 x 3 sous 4x 2 9x 3 5 3x 3 x 4 1 x 1 , x 2 , x 3 , x 4 0
Problème auxiliaire Variables auxiliaires y1, y2, y3 ,y4 positives
min
x1 , x 2 , x 3 , x 4 y1 , y 2 , y 3 , y 4
y1 3 x 1 2x 2 3x 3 x 1 2 x 2 6 x 3 y2 2 y1 y 2 y 3 y 4 sous 4x 2 9x 3 y3 5 3x 3 x 4 y4 1 x 1 , x 2 , x 3 , x 4 , y1 , y 2 , y 3 , y 4 0
489
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
Techniques d’optimisation
Max CERF 2018
3.1.3 Exemple Problème auxiliaire • Tableau initial du simplexe pour le problème auxiliaire x1
x2
x3
x4
y1
y2
y3
y4
1
2
3
0
1
0
0
0
3
y1
-1
2
6
0
0
1
0
0
2
y2
0
4
9
0
0
0
1
0
5
y3
0
0
3
1
0
0
0
1
1
y4
0
-8
-21
-1
0
0
0
0
-11
-z
•
Solution de base non optimale : coûts réduits négatifs (= directions de descente)
•
Variable entrante 1er coût réduit négatif
x2
•
Variable sortante 1ère variable de base à s’annuler
y2
490
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
Techniques d’optimisation
Max CERF 2018
3.1.3 Exemple Problème auxiliaire • Itérations du simplexe pour le problème auxiliaire x1
x2
x3
x4
y1
y2
y3
y4
1
2
3
0
1
0
0
0
3
y1
-1
2
6
0
0
1
0
0
2
y2
0
4
9
0
0
0
1
0
5
y3
0
0
3
1
0
0
0
1
1
y4
0
-8
-21
-1
0
0
0
0
-11
-z
x1
x2
x3
x4
y1
y2
y3
y4
2
0
-3
0
1
-1
0
0
1
y1
-1/2
1
3
0
0
1/2
0
0
1
x2
2
0
-3
0
0
-2
1
0
1
y3
0
0
3
1
0
0
0
1
1
y4
-4
0
3
-1
0
4
0
0
-3
-z
491
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
Techniques d’optimisation
Max CERF 2018
3.1.3 Exemple Problème auxiliaire • Itérations du simplexe pour le problème auxiliaire x1
x2
x3
x4
y1
y2
y3
y4
2
0
-3
0
1
-1
0
0
1
y1
-1/2
1
3
0
0
1/2
0
0
1
x2
2
0
-3
0
0
-2
1
0
1
y3
0
0
3
1
0
0
0
1
1
y4
-4
0
3
-1
0
4
0
0
-3
-z
x1
x2
x3
x4
y1
y2
y3
y4
1
0
-3/2
0
1/2
-1/2
0
0
1/2
x1
0
1
9/4
0
1/4
1/4
0
0
5/4
x2
0
0
0
0
-1
-1
1
0
0
y3
0
0
3
1
0
0
0
1
1
y4
0
0
-3
-1
2
2
0
0
-1
-z
492
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
Techniques d’optimisation
Max CERF 2018
3.1.3 Exemple Problème auxiliaire • Itérations du simplexe pour le problème auxiliaire x1
x2
x3
x4
y1
y2
y3
y4
1
0
-3/2
0
1/2
-1/2
0
0
1/2
x1
0
1
9/4
0
1/4
1/4
0
0
5/4
x2
0
0
0
0
-1
-1
1
0
0
y3
0
0
3
1
0
0
0
1
1
y4
0
0
-3
-1
2
2
0
0
-1
-z
x1
x2
x3
x4
y1
y2
y3
y4
1
0
0
1/2
1/2
-1/2
0
1/2
1
x1
0
1
0
-3/4
1/4
1/4
0
-3/4
1/2
x2
0
0
0
0
-1
-1
1
0
0
y3
0
0
1
1/3
0
0
0
1/3
1/3
x3
0
0
0
0
2
2
0
1
0
-z
493
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
Techniques d’optimisation
Max CERF 2018
3.1.3 Exemple Problème auxiliaire • Echange des variables auxiliaires y en base avec des variables x x1
x2
x3
x4
y1
y2
y3
y4
1
0
0
1/2
1/2
-1/2
0
1/2
1
x1
0
1
0
-3/4
1/4
1/4
0
-3/4
1/2
x2
0
0
0
0
-1
-1
1
0
0
y3
0
0
1
1/3
0
0
0
1/3
1/3
x3
0
0
0
0
2
2
0
1
0
-z
•
Tous les pivots sont nuls sur la ligne 3. La contrainte 3 est redondante (= somme des 2 premières contraintes) La matrice A n’est pas de rang plein
•
La procédure permet d’identifier les contraintes redondantes. Suppression de la contrainte 3 Suppression de la variable auxiliaire y3
494
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
Techniques d’optimisation
Max CERF 2018
3.1.3 Exemple Problème auxiliaire • Tableau solution du problème auxiliaire
•
x1
x2
x3
x4
y1
y2
y3
y4
1
0
0
1/2
1/2
-1/2
0
1/2
1
x1
0
1
0
-3/4
1/4
1/4
0
-3/4
1/2
x2
0
0
0
0
-1
-1
1
0
0
y3
0
0
1
1/3
0
0
0
1/3
1/3
x3
0
0
0
0
2
2
0
1
0
-z
Base x1, x2, x3 x1
x2
x3
x4
y1
y2
y4
1
0
0
1/2
1/2
-1/2
1/2
1
x1
0
1
0
-3/4
1/4
1/4
-3/4
1/2
x2
0
0
1
1/3
0
0
1/3
1/3
x3
0
0
0
0
2
2
1
0
-z
coût nul point admissible du problème initial
495
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
Max CERF 2018
Techniques d’optimisation 3.1.3 Tableau initial
Tableau solution du problème (PLa) • La base B solution de (PLa) est composée uniquement de variables x du problème initial (PL). •
Le tableau correspondant à la solution de (PLa) est : valeurs à modifier pour passer au problème (PL)
Tableau initial du problème (PL) Pour construire le tableau du simplexe du problème (PL) • On supprime les colonnes correspondant aux variables y : •
xB
xN
y
I
B-1N
B-1b
xB
0
-z
xB
xN
I
B-1N
B-1b
xB
0
-z
c j c TB B 1A j si j N On calcule les coûts réduits dans la base B : c c c B A si j B 0 T B
1
z c TB B 1b
On calcule le coût dans la base B :
Pour faciliter les calculs, on rappelle les coûts sur la 1ère ligne. cB
cN
I
B-1N
B-1b
0
cNcBTB-1N
cBTB-1b
xB
xN
xB
I
B-1N
B-1b
xB
-z
0
cN
-z
-z
496
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
Max CERF 2018
Techniques d’optimisation 3.1.3 Méthode des 2 phases
Prétraitement • Mettre le problème sous forme standard • Prémultiplier les contraintes (2nd membre positif) Phase 1 : Problème auxiliaire • Introduire une variable auxiliaire y par contrainte
Ax b, b 0 min c T x sous xR x 0 n
Ax y b minn 0 T x e T y sous xR x , y 0 m yR
x
y
A
I
b
y
-eTA
0
-eTb
-z
•
Construire le tableau initial du problème auxiliaire
• • • •
Résoudre le problème auxiliaire Faire sortir les variables auxiliaires de la base Supprimer les contraintes redondantes (pivots tous nuls sur une ligne) Supprimer les colonnes correspondant aux variables auxiliaires y Base ne contenant que des variables x
Phase 2 : Problème initial • Calculer la dernière ligne du tableau (coûts réduits, coût) • Résoudre le problème initial
xB
xN
I
B-1N
B-1b
y
0
cNcBTB-1N
cBTB-1b
-z
497
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
Techniques d’optimisation
Max CERF 2018
3.1.3 Exemple Méthode des 2 phases • Problème linéaire à 5 variables x1, x2, x3 ,x4 ,x5
min
x1 , x 2 , x 3 , x 4 , x 5
•
4x 4 x 5 2 x 1 3x 2 x 2x 2 3x 4 x 5 2 2x 1 3x 2 3x 3 x 4 2x 5 sous 1 x 4x 2 3x 3 1 1 x 1 , x 2 , x 3 , x 4 , x 5 0
Problème auxiliaire Variables auxiliaires y1, y2, y3 positives
min
x1 , x 2 , x 3 , x 4 , x 5 y1 , y 2 , y 3
y1 y 2 y 3
4 x 4 x 5 y1 2 x 1 3x 2 x 2x 2 3x 4 x 5 y2 2 sous 1 x 4x 2 3x 3 y3 1 1 x 1 , x 2 , x 3 , x 4 , x 5 , y1 , y 2 , y 3 0
498
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
Techniques d’optimisation
Max CERF 2018
3.1.3 Exemple Méthode des 2 phases • Tableau initial du problème auxiliaire x1
x2
x3
x4
x5
y1
y2
y3
1
3
0
4
1
1
0
0
2
y1
1
2
0
-3
1
0
1
0
2
y2
-1
-4
3
0
0
0
0
1
1
y3
-1
-1
-3
-1
-2
0
0
0
-5
-z
•
Solution de base non optimale : coûts réduits négatifs (= directions de descente)
•
Variable entrante 1er coût réduit négatif
x1
•
Variable sortante 1ère variable de base à s’annuler
y1
499
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
Techniques d’optimisation
Max CERF 2018
3.1.3 Exemple Méthode des 2 phases • Itérations du problème auxiliaire x1
x2
x3
x4
x5
y1
y2
y3
1
3
0
4
1
1
0
0
2
y1
1
2
0
-3
1
0
1
0
2
y2
-1
-4
3
0
0
0
0
1
1
y3
-1
-1
-3
-1
-2
0
0
0
-5
-z
x1
x2
x3
x4
x5
y1
y2
y3
1
3
0
4
1
1
0
0
2
x1
0
-1
0
-7
0
-1
1
0
0
y2
0
-1
3
4
1
1
0
1
3
y3
0
2
-3
3
-1
1
0
0
-3
-z
500
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
Techniques d’optimisation
Max CERF 2018
3.1.3 Exemple Méthode des 2 phases • Itérations du problème auxiliaire
•
x1
x2
x3
x4
x5
y1
y2
y3
1
3
0
4
1
1
0
0
2
x1
0
-1
0
-7
0
-1
1
0
0
y2
0
-1
3
4
1
1
0
1
3
y3
0
2
-3
3
-1
1
0
0
-3
-z
x1
x2
x3
x4
x5
y1
y2
y3
1
3
0
4
1
1
0
0
2
x1
0
-1
0
-7
0
-1
1
0
0
y2
0
-1/3
1
4/3
1/3
1/3
0
1/3
1
x3
0
1
0
7
0
2
0
1
0
-z
Solution optimale du problème auxiliaire (coûts réduits positifs ou nuls)
501
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
Techniques d’optimisation
Max CERF 2018
3.1.3 Exemple Méthode des 2 phases • Base initiale : échange y2 – x2 x1
x2
x3
x4
x5
y1
y2
y3
1
3
0
4
1
1
0
0
2
x1
0
-1
0
-7
0
-1
1
0
0
y2
0
-1/3
1
4/3
1/3
1/3
0
1/3
1
x3
0
1
0
7
0
2
0
1
0
-z
x1
x2
x3
x4
x5
y1
y2
y3
1
0
0
-17
1
2
3
0
2
x1
0
1
0
7
0
-1
-1
0
0
x2
0
0
1
3.67
1/3
2/3
-1/3
1/3
1
x3
0
0
0
0
0
1
1
1
0
-z
502
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
Techniques d’optimisation
Max CERF 2018
3.1.3 Exemple Méthode des 2 phases • Base initiale : suppression variables auxiliaires
•
x1
x2
x3
x4
x5
1
0
0
-17
1
2
x1
0
1
0
7
0
0
x2
0
0
1
3.67
1/3
1
x3
0
0
0
0
0
0
-z
Calcul de la dernière ligne du tableau On rappelle les coûts en 1ère ligne pour faciliter le calcul (multiplication par les colonnes). c=
x1
x2
x3
x4
x5
2
3
3
1
-2
1
0
0
-17
1
2
x1
0
1
0
7
0
0
x2
0
0
1
3.67
1/3
1
x3
0
0
0
3
-5
-7
-z
coûts réduits = cNcBTB-1N coût =cBTB-1b
503
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
Techniques d’optimisation
Max CERF 2018
3.1.3 Exemple Méthode des 2 phases • Itérations du problème initial x1
x2
x3
x4
x5
1
0
0
-17
1
2
x1
0
1
0
7
0
0
x2
0
0
1
3.67
1/3
1
x3
0
0
0
3
-5
-7
-z
x1
x2
x3
x4
x5
1
0
0
-17
1
2
x5
0
1
0
7
0
0
x2
-1/3
0
1
9.33
0
1/3
x3
5
0
0
-82
0
3
-z
504
3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation
Techniques d’optimisation
Max CERF 2018
3.1.3 Exemple Méthode des 2 phases • Itérations du problème initial
•
x1
x2
x3
x4
x5
1
0
0
-17
1
2
x5
0
1
0
7
0
0
x2
-1/3
0
1
9.33
0
1/3
x3
5
0
0
-82
0
3
-z
x1
x2
x3
x4
x5
1
2.43
0
0
1
2
x5
0
0.14
0
1
0
0
x4
-1/3
-1.33
1
0
0
1/3
x3
5
11.71
0
0
0
3
-z
Solution optimale : c 0
T x* 0 0 1 / 3 0 2 z* 3
505
3 Optimisation avec contraintes 3.1 Simplexe 3.1.4 Simplexe révisé
Techniques d’optimisation
Max CERF 2018
3.1.4 Simplexe révisé Itération du simplexe Réduction des calculs
506
3 Optimisation avec contraintes 3.1 Simplexe 3.1.4 Simplexe révisé
Techniques d’optimisation
Max CERF 2018
3.1.4 Simplexe révisé Méthode révisée du simplexe • L’algorithme du simplexe nécessite un grand nombre d’opérations matricielles. problèmes de temps de calcul problèmes de place mémoire problèmes de précision numérique • La méthode révisée du simplexe permet de réduire le nombre d’opérations. Rappels • Forme standard : •
Multiplicateurs :
•
Forme canonique dans la base B :
•
Solution de base associée à B :
Ax b min c T x sous xR x 0 s n
B T c B T 1 s c B N cB cN N N
min z z c NT x N sous x B b B 1 Nx N 0 x N 0
x B b x N 0 z z
b B 1b avec z c TB b c NT c TN c TB B 1 N
507
3 Optimisation avec contraintes 3.1 Simplexe 3.1.4 Simplexe révisé
Max CERF 2018
Techniques d’optimisation 3.1.4 Simplexe révisé
Itération du simplexe • On connaît les colonnes de A correspondant à la base courante admissible matrice B Pour réaliser une itération du simplexe, on doit déterminer : - la solution de base courante - les coûts réduits des variables hors base pour choisir la variable entrante - les pas maximaux sur les variables de base pour choisir la variable sortante •
Solution de base :
•
Coûts réduits :
x B b B 1b x 0 N c NT c TN c TB B 1 N c TN T N
Bx B b B c B
On choisit la variable hors base entrante xe (coût réduit négatif) colonne Ae de la matrice A •
Bd eB A e d eB B 1A e d eB avec Direction de base de : d e d eN d eN 0 1 0 Le pas maximal suivant de correspond au rapport xB / deB positif, minimal. La variable de base sortante xs est la première à s’annuler.
508
3 Optimisation avec contraintes 3.1 Simplexe 3.1.4 Simplexe révisé
Techniques d’optimisation
Max CERF 2018
3.1.4 Simplexe révisé Méthode révisée du simplexe • Le pivotage peut être réalisé en résolvant 3 systèmes linéaires de même matrice B.
Bx B b B c B Bd A e eB
xB d eB
cN x e xs
réduction des calculs nécessaires différentes méthodes possibles d’inversion et de stockage de la matrice B •
Il suffit de stocker en mémoire :
- les matrices initiales A, b ,c - les numéros des colonnes de base.
limitation de la place mémoire réduction des erreurs numériques, car on repart systématiquement des matrices initiales. •
La méthode révisée est implémentée dans les logiciels de programmation linéaire utilisant l’algorithme du simplexe.
509
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
Techniques d’optimisation
Max CERF 2018
3.1.5 Simplexe dual Problème dual Forme canonique
Tableau dual Pivotage Comparaison simplexe primal dual Exemple
510
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
Max CERF 2018
Techniques d’optimisation 3.1.5 Simplexe dual
Méthode du simplexe dual L’algorithme du simplexe dual consiste à appliquer la méthode du simplexe au problème dual. Primal (P )
•
Correspondances primal (P) dual (D) :
min c T x
1
max b T y
Ax b Ax b x0 x R
m m n n
yR y0 AT y c AT y c
xR
Le tableau est utilisable dans les 2 sens : de (P) vers (D) ou de (D) vers (P) car le dual de (D) est (P).
•
Dual (D)
n
y
Forme canonique de (P) dans la base B 1 min z z c NT x N sous x B B Nx N b x N 0 x 0
b B 1b avec z c TB b c NT c TN c TB B 1 N
Pour appliquer la méthode du simplexe au problème dual, on doit écrire la forme canonique du problème dual dans la base B.
511
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
Techniques d’optimisation
Max CERF 2018
3.1.5 Simplexe dual Forme canonique du dual • On part de la forme canonique du problème primal (P) dans la base B.
(P) •
m contraintes n variables
T N
min c x N xN
B 1 Nx N b sous x N 0
m contraintes nm variables
On écrit (P’) comme un problème de maximisation, pour obtenir un problème de minimisation en passant au dual.
(P' ) •
x B ,x N
x B B 1 Nx N b sous x B , x N 0
On peut considérer les variables de base xB comme des variables d’écart positives. On obtient un problème (P’) ne portant que sur les variables hors base xN.
(P' ) •
min z c x N T N
max c x N xN
T N
B 1 Nx N b sous x N 0
m contraintes nm variables
On passe au dual (D’) de (P’) en utilisant le tableau de correspondances dans le sens de (D) vers (P)
512
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
Techniques d’optimisation
Max CERF 2018
3.1.5 Simplexe dual Forme canonique du dual • Le dual (D’) de (P’) s’écrit :
(P' )
( D' ) •
xN
T
min b y B yB
B 1 Nx N b sous x N 0
B 1 N T y c B N sous y B 0
m contraintes nm variables nm contraintes m variables
On met (D’) sous forme standard avec des variables d’écart yN positives. On obtient un problème (D) à n variables.
( D) •
max c x N T N
T
min b y B
yB ,yN
y B 1 N T y c nm contraintes B N sous N n variables y B , y N 0
Le problème (D) est sous forme canonique dans la base B : - variables de base yN notations inversées par rapport au problème primal - variables hors base yB On peut écrire le tableau simplexe pour le problème (D) et appliquer les règles de pivotage.
513
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
Max CERF 2018
Techniques d’optimisation 3.1.5 Simplexe dual
Tableau simplexe du dual • Forme canonique de (D) dans la base B.
B
•
y B 1 N T y c nm contraintes B N (D) min b y B sous N y ,y n variables y B , y N 0 yN yB I (B 1 N) T Tableau TD du simplexe de (D) dans la base B : TD 0 b T
N
c NT z
cN Variables de base : yN valeurs Variables hors base : yB coûts réduits b T Matrice des contraintes : A (B1N)T • • •
La solution de base associée à la base B est : y N c N y B 0 La base B est admissible si y N c N 0 base dual-admissible On applique les règles de pivotage du simplexe : - variable hors base entrante : coût réduit négatif - variable de base sortante : première variable à s’annuler
514
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
Max CERF 2018
Techniques d’optimisation 3.1.5 Simplexe dual
Pivotage sur le tableau dual Les notations sont inversées par rapport au problème primal - indices B variables hors base - indices N variables de base
TD
1. Choix du pivot • Variable hors base entrante ye = 1er coût réduit négatif
be 0 , e B
•
Pas maximal admissible pour chaque variable de base :
i
•
Variable de base sortante ys :
s min i
Ligne s de la variable sortante :
yN I 0
yB (B 1 N) T b
c NT z
c Ni , i N, si a ie 0 a ie iN a ie 0
s N min iN a ie 0
c Ni c max Ni iN a a ie ie a 0 ie
2. Réalisation du pivotage • Pivot = a se 0 • Elimination pour faire apparaître des zéros sur la colonne e du pivot
515
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
Max CERF 2018
Techniques d’optimisation 3.1.5 Simplexe dual
Pivotage sur le tableau primal • On observe que le pivotage dual peut être réalisé à partir du tableau primal sans écrire explicitement le tableau dual.
TD
TP
• •
yN I 0
yB (B 1 N) T b
xB I 0
xN B 1 N c NT
c NT z
nm contraintes nm variables de base yN
b z
m contraintes m variables de base xB
Choisir la 1ère variable de base négative xe :
Déterminer la
1ère
be 0 , e B
variable hors base xs à s’annuler : s max jN a ej 0
•
c Nj a ej
ligne e variable sortante colonne s variable entrante
Effectuer le pivotage es de façon usuelle.
516
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
Max CERF 2018
Techniques d’optimisation 3.1.5 Simplexe dual
Comparaison simplexe primal et dual • L’algorithme du simplexe primal maintient une base primaladmissible : L’optimum est atteint lorsque les coûts réduits sont positifs ou nuls : •
b0 cN 0
cN 0 L’algorithme du simplexe dual maintient une base dualadmissible : L’optimum est atteint lorsque les variables de base sont positives ou nulles : b 0
Intérêt du simplexe dual L’algorithme du simplexe dual est adapté si l’on dispose d’une base dualadmissible. • • •
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.
Application : problèmes de programmation linéaire mixte (entiers et réels)
517
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
Max CERF 2018
Techniques d’optimisation 3.1.5 Exemple
Simplexe dual • Problème linéaire à 5 variables x1,x2,x3,x4,x5
min
x1 , x 2 , x 3 , x 4 , x 5
•
x 1 x 2 1 x x 3 x 5 0 x 1 2x 2 2x 3 3x 4 x 5 sous 2 x x3 x4 0 1 x 1 , x 2 , x 3 , x 4 , x 5 0
On choisit comme base initiale (x2,x3,x4).
x 2 1 x1 0 La solution de base associée est : x 3 1 x 5 0 x 4 1 • •
1 1 0 0 0 La matrice des contraintes est : A 0 1 1 0 1 1 0 1 1 0
base non primal admissible
1 b 0 0
Pour construire le tableau du simplexe, il faut mettre le problème sous forme canonique dans la base (x2,x3,x4) en faisant apparaître des zéros par élimination dans les colonnes 2, 3 et 4.
518
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
Techniques d’optimisation
Max CERF 2018
3.1.5 Exemple Simplexe dual • Problème linéaire à 5 variables x1,x2,x3,x4,x5
min
x1 , x 2 , x 3 , x 4 , x 5
•
•
x 1 x 2 1 x x 3 x 5 0 x 1 2x 2 2x 3 3x 4 x 5 sous 2 x x3 x4 0 1 x 1 , x 2 , x 3 , x 4 , x 5 0
Tableau de départ x1
x2
x3
x4
x5
1
1
0
0
0
1
0
-1
-1
0
1
0
-1
0
1
1
0
0
1
2
2
3
1
0
contraintes
coût
On fait apparaître : - une matrice identité sur les colonnes de x2 , x3 , x4 - des zéros sur les coûts de x2 , x3 , x4
519
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
Max CERF 2018
Techniques d’optimisation 3.1.5 Exemple
Simplexe dual x1
x2
x3
x4
x5
1
1
0
0
0
1
0
-1
-1
0
1
0
-1
0
1
1
0
1
2
2
3
1
x1
x2
x3
x4
x5
1
1
0
0
0
1
1
0
-1
0
1
1
-1
0
1
1
0
-1
0
2
3
1
x1
x2
x3
x4
x5
1
1
0
0
0
1
-1
0
1
0
-1
-1
0
0
0
1
1
1
0
0
3
3
x1
x2
x3
x4
x5
1
1
0
0
0
1
1
0
-1
0
1
1
0
-1
0
1
1
0
0
0
-1
0
2
3
1
-2
x1
x2
x3
x4
x5
1
1
0
0
0
1
-1
0
1
0
-1
-1
0
0
0
0
1
1
1
-2
1
0
0
3
3
0
x1
x2
x3
x4
x5
1
1
0
0
0
1
-1
0
1
0
-1
-1
1
0
0
0
1
1
1
0
1
0
0
0
0
-3
Elimination x2
Elimination x3
Elimination x4
520
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
Max CERF 2018
Techniques d’optimisation 3.1.5 Exemple
Simplexe dual • Tableau du simplexe dans la base (x2,x3,x4).
c=
x1
x2
x3
x4
x5
1
2
2
3
1
1
1
0
0
0
1
x2
cB
cN
-1
0
1
0
-1
-1
x3
I
B-1N
B-1b
xB
0
0
0
1
1
1
x4
0
cNcBTB-1N
cBTB-1b
-z
1
0
0
0
0
-3
-z
c N c N c TB B 1 N T 1 z c B B b
•
On vérifie bien que la dernière ligne correspond à
•
La base est : - non admissible pour le primal (x3 < 0) - admissible pour le dual (c N 0 ) On peut appliquer l’algorithme dual du simplexe pour résoudre le problème.
521
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
Max CERF 2018
Techniques d’optimisation 3.1.5 Exemple
Simplexe dual • Tableau du simplexe dans la base (x2,x3,x4). x1
x2
x3
x4
x5
1
1
0
0
0
1
x2
-1
0
1
0
-1
-1
x3
0
0
0
1
1
1
x4
1
0
0
0
0
-3
-z
Base dualadmissible (x2,x3,x4)
•
Solution de base non optimale : variables de base négatives
•
Variable sortante : 1ère variable de base négative
x3
be 0 , e B
•
Variable entrante : 1er coût réduit à s’annuler
x5
s max
•
Pivot : a 35 1
jN a ej 0
c Nj a ej
522
3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual
Techniques d’optimisation
Max CERF 2018
3.1.5 Exemple Simplexe dual • 1er pivotage : entrée x5, sortie x3 x1
x2
x3
x4
x5
1
1
0
0
0
1
x2
-1
0
1
0
-1
-1
x3
0
0
0
1
1
1
x4
1
0
0
0
0
-3
-z
x1
x2
x3
x4
x5
1
1
0
0
0
1
x2
1
0
-1
0
1
1
x5
-1
0
1
1
0
0
x4
1
0
0
0
0
-3
-z
Nouvelle base (x2,x4,x5) - primaladmissible - dualadmissible optimale
b0 cN 0
Solution : x* 0 1 0 0 1 z* 3
523
3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique
Techniques d’optimisation
Max CERF 2018
3.1.6 Problème quadratique Conditions d’optimalité Forme canonique
Conditions de complémentarité Règles de pivotage Exemple
524
3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique
Max CERF 2018
Techniques d’optimisation 3.1.6 Problème quadratique
Problème quadratique La méthode du simplexe peut être adaptée pour résoudre un problème quadratique convexe. •
Ax b 0 1 Formulation du problème : minn x T Qx c T x sous xR 2 x 0
•
Lagrangien : L( x, , )
avec
Q R nn , c R n A R m n , b R m
1 T x Qx c T x T (Ax b) T x 2
avec des multiplicateurs positifs et pour les contraintes inégalité Conditions suffisantes d’optimalité
•
•
Ordre 1 :
Ordre 2 :
Qx c A T 0 Ax b 0 x 0 , 0 i 1 à n i x i 0 , j (Ax b) j 0 , j 1 à m Q définie positive (problème convexe)
→ conditions de complémentarité
→ condition suffisante
525
3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique
Techniques d’optimisation
Max CERF 2018
3.1.6 Problème quadratique Forme canonique • On réécrit les conditions d’ordre 1 avec des variables d’écart : r Ax b r 0 Qx c A T 0 Ax b 0 x 0 , 0 i 1 à n i x i 0 , j (Ax b) j 0 , j 1 à m
•
On regroupe les variables en y=(x,) d’une part, et =(,r) d’autre part. Q AT x y , G 0 A c , r b
•
Qx c A T 0 Ax b r x , r 0 , 0 i x i 0 , i 1 à n jrj 0 , j 1 à m
I Gy y, 0 y ii 0 , i 1 à n m → conditions de complémentarité
= variables de base y = variables hors base On peut le résoudre en adaptant la méthode du simplexe de façon à vérifier les conditions de complémentarité (qui n’existent pas dans la méthode standard). Le système en variables (y,) est sous forme canonique avec :
526
3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique
Techniques d’optimisation
Max CERF 2018
3.1.6 Problème quadratique Conditions de complémentarité • La méthode du simplexe minimise un coût linéaire avec des contraintes de la forme : I Gy y, 0
•
→ problème sous forme canonique dans la base formée des variables
Le problème à résoudre comporte des conditions supplémentaires de complémentarité : y i i 0 , i 1 à n m
Les couples (yi , i) sont formés de variables complémentaires : - si la variable yi est en base, la variable i doit être hors base → i = 0 - si la variable i est en base, la variable yi doit être hors base → yi = 0
Ces conditions sont vérifiées par la base initiale : variables en base, variables y hors base. •
La méthode du simplexe effectue des changement de base par pivotage sans prendre en compte les conditions de complémentarité. On peut se retrouver avec 2 variables complémentaires hors base (et 2 en base). On effectue alors des pivotages supplémentaires destinés à restaurer la complémentarité. → méthode du simplexe « complémentaire »
527
3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique
Techniques d’optimisation
Max CERF 2018
3.1.6 Problème quadratique Règles de pivotage • Lorsque la base est complémentaire et positive, on a la base optimale et la solution. Lorsque la base est complémentaire et non positive, on effectue un pivotage standard. Lorsque la base n’est pas complémentaire, on effectue un pivotage complémentaire. •
Pivotage standard - On choisit la variable de base la plus négative : variable ye ou e - La variable entrante (notée xe) est la variable complémentaire de cette variable de base. - La variable sortante (notée xs) est la 1ère variable de base à s’annuler lorsque xe augmente. L’évolution des variables de base lorsque xe augmente est donnée par : x i bi a ie x e , i B
•
Pivotage complémentaire (si nécessaire) - La variable entrante (notée x’e) est la variable complémentaire de xs. - La variable sortante (notée x’s) est la 1ère variable de base (sauf xe) à s’annuler lorsque x’e augmente.
•
On répète les pivotages complémentaires jusqu’à restaurer une base complémentaire. A chaque pivotage, il y a au maximum un couple de variables complémentaires hors base. (et un couple en base)
528
3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique
Techniques d’optimisation
Max CERF 2018
3.1.6 Exemple Exemple • Problème quadratique à 2 variables x1, x2 x x 2 2 min 6x1 2x12 2x1x 2 2x 22 sous 1 x1 , x 2 x1 , x 2 0
•
→ multiplicateur → multiplicateurs 1 , 2
Lagrangien : L( x1 , x 2 , , 1 , 2 ) 6x1 2x12 2x1x 2 2x 22 (2 x1 x 2 ) 1x1 2 x 2
Conditions suffisantes d’optimalité •
•
Ordre 1 : 6 4x1 2x 2 1 0 2 x 1 4 x 2 2 0 x x 2 2 avec r 2 x1 x 2 0 1 1x1 0 2 x 2 0 ( x x 2) 0 2 1 x1 , x 2 , , 1 , 2 0 4 2 0 Ordre 2 : 2xx L 2 4
4x1 2x 2 1 6 2 x1 4 x 2 2 0 x x r 2 1 2 1x1 0 2 x 2 0 r 0 x1 , x 2 , , 1 , 2 , r 0
→ vérifié (valeurs propres = 2 et 6) → problème convexe
529
3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique
Max CERF 2018
Techniques d’optimisation 3.1.6 Exemple
Méthode du simplexe complémentaire • Tableau initial : le problème est sous forme canonique dans la base (1 , 2 , r1). x1
x2
1
1
2
r1
-4
2
-1
1
0
0
-6
1
2
-4
-1
0
1
0
0
2
1
1
0
0
0
1
2
r1
Base initiale (1 , 2 , r1)
•
Solution de base non admissible : variable 1 négative (1 = 6)
•
Variable entrante :
variable complémentaire de 1 x1 (objectif : faire sortir 1 de la base pour l’annuler)
•
Variable sortante :
1ère variable de base à s’annuler (parmi 1 , 2 , r1)
•
Pivot : a 2 x1 2
→ pivotage standard
2
complémentaire
avec x i bi a ie x e , i B
530
3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique
Techniques d’optimisation
Max CERF 2018
3.1.6 Exemple Méthode du simplexe complémentaire • Pivotage standard : entrée x1, sortie 2
•
x1
x2
1
1
2
r1
-4
2
-1
1
0
0
-6
1
s = 3/2
2
-4
-1
0
1
0
0
2
s=0
1
1
0
0
0
1
2
r1
s=2
x1
x2
1
1
2
r1
0
-6
-3
1
2
0
-6
1
1
-2
-1/2
0
1/2
0
0
x1
0
3
1/2
0
-1/2
1
2
r1
Pas
Base avant pivotage (1 , 2 , r1) complémentaire Base après pivotage (1 , x1 , r1) non complémentaire
Il faut restaurer la complémentarité sur (x2 , 2) : la variable 2 est sortie de la base. → la variable x2 doit entrer en base.
531
3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique
Techniques d’optimisation
Max CERF 2018
3.1.6 Exemple Méthode du simplexe complémentaire • Tableau non complémentaire x1
x2
1
1
2
r1
0
-6
-3
1
2
0
-6
1
1
-2
-1/2
0
1/2
0
0
x1
0
3
1/2
0
-1/2
1
2
r1
Base avant pivotage (1 , x1 , r1) non complémentaire
•
Base non complémentaire : variables x2 et 2 hors base
•
Variable entrante :
variable complémentaire de 2 x2 (car 2 vient de sortir de la base)
•
Variable sortante :
1ère variable de base à s’annuler (parmi 1 , x1 , r1)
•
Pivot :
a r1x 2 3
r1
avec x i bi a ie x e , i B
→ pivotage complémentaire
532
3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique
Techniques d’optimisation
Max CERF 2018
3.1.6 Exemple Méthode du simplexe complémentaire • Pivotage complémentaire : entrée x2, sortie r1
•
x1
x2
1
1
2
r1
0
-6
-3
1
2
0
-6
1
s=1
1
-2
-1/2
0
1/2
0
0
x1
non borné
0
3
1/2
0
-1/2
1
2
r1
s = 2/3
x1
x2
1
1
2
r1
0
0
-2
1
1
2
-2
1
1
0
-1/6
0
1/6
2/3
4/3
x1
0
1
1/6
0
-1/6
1/3
2/3
x2
Pas
Il faut restaurer la complémentarité sur (1 , r1) :
Base avant pivotage (1 , x1 , r1) non complémentaire Base après pivotage (1 , x1 , x2) non complémentaire
la variable r1 est sortie de la base. → la variable 1 doit entrer en base.
533
3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique
Techniques d’optimisation
Max CERF 2018
3.1.6 Exemple Méthode du simplexe complémentaire • Tableau non complémentaire x1
x2
1
1
2
r1
0
0
-2
1
1
2
-2
1
1
0
-1/6
0
1/6
2/3
4/3
x1
0
1
1/6
0
-1/6
1/3
2/3
x2
Base avant pivotage (1 , x1 , x2) non complémentaire
•
Base non complémentaire : variables 1 et r1 hors base
•
Variable entrante :
variable complémentaire de r1 (car r1 vient de sortir de la base)
1
•
Variable sortante :
1ère variable de base à s’annuler (parmi 1 , x1 , x2)
1
•
Pivot : a 11 2
→ pivotage complémentaire
avec x i bi a ie x e , i B
534
3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique
Techniques d’optimisation
Max CERF 2018
3.1.6 Exemple Méthode du simplexe complémentaire • Pivotage complémentaire : entrée 1, sortie 1
•
x1
x2
1
1
2
r1
0
0
-2
1
1
2
-2
1
s=1
1
0
-1/6
0
1/6
2/3
4/3
x1
non borné
0
1
1/6
0
-1/6
1/3
2/3
x2
s=4
x1
x2
1
1
2
r1
0
0
1
-1/2
-1/2
-1
1
1
1
0
0
-1/12 1/12
1/2
3/2
x1
0
1
0
1/12 -1/12
1/2
1/2
x2
Pas
La base (1 , x1 , x2) est complémentaire et positive
Base avant pivotage (1 , x1 , x2) non complémentaire Base après pivotage (1 , x1 , x2) complémentaire → base optimale
535
3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique
Techniques d’optimisation
Max CERF 2018
3.1.6 Exemple Solution • Problème quadratique à 2 variables x1, x2 x x 2 2 min 6x1 2x12 2x1x 2 2x 22 sous 1 x1 , x 2 x1 , x 2 0
•
→ multiplicateur → multiplicateurs 1 , 2
La base (1 , x1 , x2) est optimale (complémentaire et positive). 3 1 La solution de base associée est : x1 , x 2 , 1 2 2
1 0
•
, 2 0 , r 0
Les conditions d’ordre 1 sont bien vérifiées :
→ variables de base → variables hors base
6 4x1 2x 2 1 0 2 x 1 4 x 2 2 0 x x 2 2 1 1x1 0 2 x 2 0 ( x x 2) 0 2 1 x1 , x 2 , , 1 , 2 0
536
3 Optimisation avec contraintes 3.1 Simplexe 3.1.6 Problème quadratique
Max CERF 2018
Techniques d’optimisation 3.1.6 Exemple
Méthode du simplexe complémentaire Récapitulatif des pivotages k
Base
x1
x2
1
1
2
r1
Pivotage
Pas
e
s
0
1
2
r1
0
0
0
-6
0
2
standard
0
x1
2
1
1
x1
r1
0
0
0
-6
0
2
complémentaire
2/3
x2
r1
2
1
x1
x2
4/3
2/3
0
-2
0
0
complémentaire
1
1
1
3
1
x1
x2
3/2
1/2
1
0
0
0
complémentaire
Convergence • La méthode du simplexe complémentaire est applicable à un problème quadratique convexe. On peut montrer que la convergence est obtenue en un nombre fini d’itérations. •
Il existe différentes manières de réaliser les pivotages standards et complémentaires.
•
Si l’on peut augmenter indéfiniment une variable entrante, la solution n’est pas bornée.
•
Pour éviter le cyclage en cas de dégénérescence, on choisit les variables par ordre croissant.
537
3 Optimisation avec contraintes 3.2 Point intérieur
Techniques d’optimisation
Max CERF 2018
Sommaire 1. 2.
Bases théoriques Optimisation sans contraintes
3.
Optimisation avec contraintes 3.1 Simplexe 3.2 Point intérieur 3.2.1 Barrière 3.2.2 Chemin central 3.2.3 Algorithmes 3.2.4 Extensions 3.3 Gradient projeté 3.4 Lagrangien augmenté 3.5 Programmation quadratique séquentielle 3.6 Convergence
4. 5.
Optimisation discrète Optimisation fonctionnelle
538
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière
Techniques d’optimisation
Max CERF 2018
3.2.1 Barrière Points intérieurs Fonction barrière
Méthode barrière Problème linéaire Exemple
539
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière
Max CERF 2018
Techniques d’optimisation 3.2.1 Points intérieurs
Problème avec contraintes
c E ( x ) 0 minn f(x) sous c I ( x ) 0 xR x X Points intérieurs n • Ensemble des points admissibles : X adm x R / x X, c E ( x ) 0, c I ( x ) 0 •
Ensemble des points intérieurs :
X int
x R
n
/ x X, c E
( x ) 0, c ( x ) 0 I
contraintes égalité conservées (définition élargie d’un point intérieur par voisinage) contraintes inégalité strictes Hypothèses • Xint n’est pas vide • Tout point admissible peut être approché arbitrairement par un point intérieur x X , 0, ~ xX / ~ x x adm
int
hypothèses vérifiées dans le cas convexe (ensemble Xint et contraintes cE, cI)).
540
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière
Max CERF 2018
Techniques d’optimisation 3.2.1 Fonction barrière
Fonction barrière Une fonction B : Xint dans R est une fonction barrière si
lim
xX int , c I ( x ) 0
B( x )
La fonction barrière tend vers l’infini lorsque l’on s’approche du bord de Xadm i.e. lorsque les contraintes inégalité cI(x) deviennent actives. Exemple Contrainte de borne x < a
B(x)
Fonctions barrières usuelles •
m
Barrière logarithmique :
B( x ) lnc Ik ( x ) k 1
m
•
Barrière inverse :
1 k 1 c Ik ( x )
B( x )
a
x
541
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière
Techniques d’optimisation
Max CERF 2018
3.2.1 Méthode barrière Méthode barrière La méthode barrière consiste à combiner la fonction coût avec une fonction barrière. La fonction barrière est pénalisée par un paramètre h > 0 hauteur de la barrière • •
Problème avec contraintes inégalités :
c E ( x ) 0 minn f(x) sous c I ( x ) 0 solution x* 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 542 application sur problème linéaire, puis non linéaire
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière
Techniques d’optimisation
Max CERF 2018
3.2.1 Problème linéaire Problème linéaire
Ax b avec A R mn , b R m , c R n T Forme standard : minn c x sous problème (PL) xR x 0
x R
/ Ax b, x 0
•
Ensemble des points admissibles : X adm x R n / Ax b, x 0 = polytope des contraintes
•
Ensemble des points intérieurs :
Problème barrière • Barrière logarithmique :
X int n
B( x ) lnx i i 1
•
n
Ax b Problème barrière associé : minn f h (x) c x h ln(x i ) sous problème (PBh) x 0 xR i 1
Solution • h>0 • h=0 • h
n
T
solution xh solution x* du problème initial solution x = centre analytique du polytope P
543
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière
Max CERF 2018
Techniques d’optimisation 3.2.1 Exemple
Problème linéaire •
x x 2 x 3 1 min x 1 2x 2 3x 3 sous 1 x ,x ,x x 1 , x 2 , x 3 0
Forme standard :
1
2
3
x x 2 x 3 1 Polytope des contraintes : P x 1 , x 2 , x 3 R 3 / 1 x 1 , x 2 , x 3 0 Problème barrière •
• •
Barrière logarithmique : Centre analytique x :
x x 2 x 3 1 min x 1 2x 2 3x 3 h ln x 1 ln x 2 ln x 3 sous 1 x ,x ,x x 1 , x 2 , x 3 0 x x 2 x 3 1 min Bx 1 , x 2 , x 3 ln x 1 ln x 2 ln x 3 sous 1 x ,x ,x x 1 , x 2 , x 3 0 1
2
3
1
2
3
x 3 1 x 1 x 2 min Bx 1 , x 2 ln x 1 ln x 2 ln1 x 1 x 2 x1 , x 2
1 1 B 0 x x1 1 x1 x 2 B1 1 1 0 x 2 x 2 1 x1 x 2
1 x 1 3 1 x3 1 3 x 2 3
1 x 3
1 3
1 3
544
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière
Max CERF 2018
Techniques d’optimisation 3.2.1 Exemple
Représentation graphique
Polytope des contraintes : P x 1 1 Centre analytique x : x 3
• •
x2
1 3
x x 2 x 3 1 x 3 R 3 / 1 x 1 , x 2 , x 3 0 1 3
x3
C
O
1
x
B 1
A x1
C
Tracé dans le plan (A,B,C)
x x2
A 1
B
545
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Techniques d’optimisation
Max CERF 2018
3.2.2 Chemin central Chemin central primal Conditions d’optimalité
Chemin central primal-dual Déplacement Mesure de dualité Voisinage
546
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Techniques d’optimisation
Max CERF 2018
3.2.2 Chemin central primal Chemin central primal Le chemin central primal est l’ensemble des solutions xh lorsque la hauteur de barrière h décroît de l’infini à 0 x h , h 0 • •
Début : Fin :
x = centre analytique du polytope x* = solution du problème linéaire
Pour construire précisément le chemin central, il faudrait résoudre l’ensemble des problèmes successifs (PBh) sous contraintes égalité pour h0 .
Ax b min f h (x) c x h ln(x i ) sous xR x 0 i 1 n
T
n
non réalisable en pratique (trop coûteux) Algorithme de point intérieur On utilise le chemin central pour définir la direction du déplacement. On cherche à rester au voisinage du chemin central sans le suivre précisément.
547
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Max CERF 2018
Techniques d’optimisation 3.2.2 Conditions d’optimalité
Problème barrière
Ax b min f h (x) c x h ln(x i ) sous xR x 0 i 1 n
T
n
•
multiplicateurs multiplicateurs s
Lagrangien : L( x, , s) f h ( x ) T (b Ax) s T x n
c x h ln(x i ) T (b Ax) s T x T
i 1
•
On définit les matrices diagonales X et S à partir de x et s
x1 0 X 0 0
0 x2 0 0
0 0 x n 1 0
0 0 0 xn
s1 0 0 s2 S 0 0 0 0
0 0 0 0 s n 1 0 0 sn
1 1 e 1 1
548
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Techniques d’optimisation
Max CERF 2018
3.2.2 Conditions d’optimalité Conditions d’optimalité
x L( x , , s ) 0
•
Condition d’ordre 1 :
•
Condition complémentaire : s i x i 0
s s hX 1 On définit : h 1 Sh S hX •
c hX 1 A T s 0
XSe 0
A T s h c 0 XSh e he
Comparaison des conditions d’ordre 1 du problème barrière (PBh) et du problème initial (PL)
Problème barrière (PBh)
Ax h b 0 T A s c 0 h h X h S h he x h , h , s h xh 0 sh 0
Problème linéaire (PL)
Ax b 0 T A s c 0 XS 0 x * , * , s * x 0 s 0
549
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Max CERF 2018
Techniques d’optimisation 3.2.2 Chemin central primal-dual
Chemin central primal-dual •
Les conditions d’optimalité du problème barrière (PBh) deviennent celles du problème initial (PL) lorsque h tend vers 0.
•
On cherche à résoudre le problème linéaire en considérant l’ensemble des variables primales et duales (x,,s) dans Rn+m+n .
•
Ensemble admissible :
•
Ensemble des points intérieurs : X int
•
Le chemin central primal-dual est l’ensemble des solutions (xh,h,sh) lorsque la hauteur de barrière h décroît de l’infini à 0.
•
Fin :
( x, , s) / Ax b 0, A s c 0, x 0, s 0
X adm ( x, , s) / Ax b 0, A T s c 0, x 0, s 0 T
(x0,0,s0) = (x*,*,s*) = solution du problème linéaire
Algorithme de point intérieur On utilise le chemin central primal-dual pour définir la direction du déplacement. Le déplacement est limité pour rester dans l’ensemble des points intérieurs
550
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Max CERF 2018
Techniques d’optimisation 3.2.2 Exemple
Problème linéaire •
Forme standard :
x x 2 x 3 1 min x 1 2x 2 3x 3 sous 1 x ,x ,x x 1 , x 2 , x 3 0 1
•
2
3
A 1 1 1 , b 1 c T 1 2 3
Conditions d’ordre 1 du problème linéaire (PL)
XS 0
x 1s1 0 x 2 s 2 0 x 3s 3 0
x 1 0 ou s1 0 x 2 0 ou s 2 0 x 3 0 ou s 3 0
6 combinaisons possibles
s1 1 s1 1 s s 1 A s c s 2 2 s 2 2 s1 s2 1 3 2 s 3 3 s 3 3 s1 0 x 1 0 ou s1 0 2 combinaisons possibles S0 s 2 1 x 2 0 s 3 2 x 3 0 Ax b 0 x 1 x 2 x 3 1 x 1 1 T
•
Solution :
x 1 1 s1 0 x 2 0 , s 2 1 , 1 x 3 0 s 3 2
551
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Max CERF 2018
Techniques d’optimisation 3.2.2 Exemple
Représentation graphique
x x 2 x 3 1 x 1 1 1 Centre analytique du polytope : P x 1 , x 2 , x 3 R 3 / 1 x , x , x 0 3 3 3 1 2 3 x x 2 x 3 1 x* 1 0 0 Solution du problème (PL) : min x 1 2x 2 3x 3 sous 1 x1 , x 2 , x 3 x 1 , x 2 , x 3 0 point A
• •
x3
C
O
1
x
B 1
x1
x x2 x*
x*
A
C
Tracé dans le plan (A,B,C)
A 1
B
552
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Max CERF 2018
Techniques d’optimisation 3.2.2 Exemple
Problème barrière •
x x x 1 Problème linéaire : min x 1 2x 2 3x 3 sous x 1 , x ,2x 30 x1 , x 2 , x 3 1 2 3
•
Conditions d’ordre 1 du problème barrière (PBh)
s1 1 A s c s 2 2 s 3 3 T
•
A 1 1 1 , b 1 c T 1 2 3
s1 1 s 2 2 s 3 3
h h x 1 1 1 h h x 2 avec 2 2 x h h 3 3 1
XS he
x 1s1 h x 2 s 2 h x 3s 3 h
Ax b 0
x1 x 2 x 3 1
h h h 3 2 1 3h h 0 1 1
On obtient une équation en 1, 2 ou 3 racines
553
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Techniques d’optimisation
Max CERF 2018
3.2.2 Exemple Chemin central • Le point du chemin central (xh,h,sh) pour une barrière de hauteur h vérifie
Ax h b 0 T x 0 A h s h c 0 avec s h 0 h X h Sh he 0 •
En résolvant les conditions d’ordre 1 du problème barrière, on obtient
avec 3 3h 2 h 0 h 2 s 1 2 h 3 h h h 1 1 1 x h h 1 2 h 3 h h •
Il faut vérifier x h 0 s h 0
•
On résout le problème pour des valeurs décroissantes de la hauteur de barrière h.
choix parmi les racines possibles pour
554
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Max CERF 2018
Techniques d’optimisation 3.2.2 Exemple
Représentation graphique • Système de coordonnées (u1,u2) dans le plan (A,B,C) x 1 1 1 1/ 2 1 u 1 x 2 x 3 AM u 1 AB u 2 DC x 2 u 1 1 u 2 1 / 2 2 x 0 1 u 2 x 3 3 x3
C
1
u2
Tracé dans le plan (A,B,C)
C
M O
x
B 1
x1
x2
A 1
u1
x*
D
x*
A
x
D
B
555
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Max CERF 2018
Techniques d’optimisation 3.2.2 Exemple
Chemin central • •
h 10000 1000 100 10 1 0,1000 0,0100 0,0010 0,0001 0,0000
•
1 1 1 x 3 3 3 Points du chemin central pour une barrière de hauteur h de 10000 à 0. Centre analytique du polytope (h ) :
x1 0,33335 0,33342 0,33444 0,34457 0,45162 0,86308 0,98507 0,99863 0,99970
x2 0,33334 0,33331 0,33332 0,33309 0,31112 0,08962 0,00990 0,00100 0,00010
x3 s1 s2 s3 0,33333 29998,5 29999,5 30000,5 -29997,5 0,33320 2999,2 3000,2 3001,2 -2998,2 0,33222 299,0 300,0 301,0 -298,0 0,32236 29,0 30,0 31,0 -28,0 0,23729 2,2142 3,2142 4,2142 -1,2142 0,04726 0,1159 1,1159 2,1159 0,8841 0,00497 0,0102 1,0102 2,0102 0,9898 0,00050 0,0010 1,0010 2,0010 0,9990 0,00005 0,0001 1,0001 2,0001 0,9999
1,00000 0,00000 0,00000
0,0000
1,0000
2,0000
1,0000
Tracé dans le plan (A,B,C) C
1,0 0,9 0,8 0,7 0,6 0,5 0,4
x
0,3 0,2 0,1
x*
0,0
A 0,0
Solution du problème linéaire (h 0) : x* 1 0 0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1,0
556
B
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Max CERF 2018
Techniques d’optimisation 3.2.2 Déplacement
Méthode de Newton •
Ax b 0 T x 0 On cherche à résoudre A s c 0 pour h fixé avec s 0 XS he 0
•
Ax b T On définit la fonction : F( x, , s) A s c XS he
•
On applique la méthode de Newton au système d’équations : F(x,,s) = 0
•
Itération de Newton :
A 0 T 0 A S 0
A 0 F( x, , s) T 0 A T S 0
0 I X
0 d x I d F( x, , s) X d s
0 avec F( x, , s) 0 XSe he direction de déplacement (dx,d,ds)
Ax b 0 si (x,,s) est intérieur : T A s c 0
557
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Techniques d’optimisation
Max CERF 2018
3.2.2 Déplacement Méthode de Newton • On utilise la solution de Newton comme direction de recherche.
xh x dx h d , 0 1 s s d h s •
Le pas de déplacement est choisi pour rester dans l’ensemble des points intérieurs Xint.
x h 0 s 0 h Convergence Pour que l’algorithme converge vers la solution du problème linéaire (PL), il faut : • régler le pas pour ne pas s’approcher trop rapidement du bord de l’ensemble admissible • abaisser progressivement la hauteur de la barrière h jusqu’à 0 La solution du problème linéaire PL est obtenue lorsque : XS 0 x i s i 0 , i 1,..., n
558
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Techniques d’optimisation
Max CERF 2018
3.2.2 Mesure de dualité Mesure de dualité •
1 T 1 n La mesure de dualité est définie par : x s x i s i n n i 1 distance moyenne à la condition d’optimalité
XS 0 x i s i 0 , i 1,..., n
•
La hauteur de barrière est réglée à partir de la mesure de dualité : h =
•
est le paramètre de centrage Le paramètre de centrage permet de corriger la direction de déplacement. = 0 : pas de barrière La direction donnée par l’itération de Newton vise à résoudre les conditions d’optimalité du problème initial (PL). Peu robuste loin de la solution, blocage au bord du polytope = 1 : barrière h= La direction donnée par l’itération de Newton vise à revenir sur le point du chemin central correspondant à h=. Permet de rester à l’intérieur du polytope
559
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Max CERF 2018
Techniques d’optimisation 3.2.2 Exemple
Problème linéaire •
•
x x x 1 Problème linéaire : min x 1 2x 2 3x 3 sous x 1 , x ,2x 30 x1 , x 2 , x 3 1 2 3
A 1 1 1 , b 1 c T 1 2 3
Ax b T On cherche à résoudre : F( x, , s) A s c 0 pour h fixé avec x 0 XS he s 0 méthode de Newton à partir d’un point intérieur initial
Point initial
•
Ax b 0 x0 et On choisit un point intérieur initial ( x, , s) X int T s 0 A s c 0
x 1 , x 2 , x 3 0 tel que x 1 x 2 x 3 1 On peut prendre 0 s c s T 1 2 3 0 •
x T s x 1 2x 2 3x 3 n 3
La hauteur de barrière h est réglée par le paramètre de centrage : h
T x s n
560
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Techniques d’optimisation
Max CERF 2018
3.2.2 Exemple Direction de déplacement La direction de déplacement (dx,d,ds) à partir du point initial (x,,s) est obtenue en résolvant les équations de Newton.
A 0 T 0 A S 0 1 1 0 0 0 0 0 0 s1 0 0 s2 0 0
0 d x 0 I d F( x, , s) 0 XS he X d s 1 0 0 0 0 0 s3
0 0 1 1 1 0 1 0 0 x1 0 0 0 0
0 0 1 0 0 x2 0
Ax b 0 car T A s c 0
0 d x1 0 0 d x 2 0 0 d x 3 0 1 d 0 0 d s1 x 1s1 h 0 d s 2 x 2 s 2 h x 3 d s 3 x 3s 3 h
avec h
x1s1 x 2s 2 x 3s 3 n
561
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Techniques d’optimisation
Max CERF 2018
3.2.2 Exemple Direction de déplacement
d x1 d x 2 d x 3 0 d s1 d 0 d d 0 s2 d d s3 0 s1d x1 x 1d s1 h x 1s1 s 2 d x 2 x 2 d s 2 h x 2 s 2 s d x d h x s 3 s3 3 3 3 x3
• •
x1 x 2 x 3 1 1 1 x 1 x 2 x 3 h d s1 s 2 s 3 s1 s 2 s 3 d s1 d s 2 d s 3 d h x 1d x1 d x1 s 1 x 1 2x 2 3x 3 s1 1 h x d d 2 avec s 2 2 et x2 3 x2 s2 s 3 3 h h x 3d d x 3 x3 s3
Le point initial (x1,x2,x3) doit vérifier x 1 , x 2 , x 3 0 x 1 x 2 x 3 1 Illustrations pour 3 points initiaux : x = (0.6 , 0.2 , 0.2) x = (0.2 , 0.6 , 0.2) x = (0.2 , 0.2 , 0.6) et pour 2 valeurs de : = 0 vers la solution du problème initial (Newton) = 1 vers le chemin central (xh,h,sh)
562
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Max CERF 2018
Techniques d’optimisation 3.2.2 Exemple
Illustration 1 : x = (0.6 , 0.2 , 0.2) 0 1 Chemin central
0,53333 h 0,00000 0,53333 0,53333
x1 0,6 dx1 0,18261 -0,04928 0,54971
x2 0,2 dx2 -0,06957 0,06957 0,27070
x3 0,2 dx3 -0,11304 -0,02029 0,17956
s1 1,0 ds1 -1,30435 -0,02899 0,97020
s2 2,0 ds2 -1,30435 -0,02899 1,97020
0,0 d 1,30435 0,02899 0,02980
s3 3,0 ds3 -1,30435 -0,02899 2,97020
u x x 3 / 2 Tracé dans le plan (A,B,C) u 1 x2 3 2 1,0 C 0,9
x 0,3
0,8 0,7 0,6
=1
0,2
0,5 0,4
x
=0
0,3
0,1
0,2 0,1
B
0,0
A
0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1,0
0,0
A 0,0
0,1
0,2
0,3
0,4
0,5
0,6
563
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Max CERF 2018
Techniques d’optimisation 3.2.2 Exemple
Illustration 2 : x = (0.2 , 0.6 , 0.2) 0 1 Chemin central
0,66667 h 0,00000 0,66667 0,66667
x1 0,2 dx1 0,15294 0,38824 0,50965
x2 0,6 dx2 -0,07059 -0,38431 0,28884
x3 0,2 dx3 -0,08235 -0,00392 0,20153
s1 1,0 ds1 -1,76471 0,39216 1,30808
s2 2,0 ds2 -1,76471 0,39216 2,30808
u x x 3 / 2 Tracé dans le plan (A,B,C) u 1 x2 3 2 1,0 C 0,9
0,0 d 1,76471 -0,39216 -0,30808
s3 3,0 ds3 -1,76471 0,39216 3,30808
x 0,3
0,8 0,7 0,6
=1
0,2
0,5
x
0,4 0,3
=0
0,1
0,2 0,1
B
0,0
A 0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1,0
0,0
A 0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
564
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Max CERF 2018
Techniques d’optimisation 3.2.2 Exemple
Illustration 3 : x = (0.2 , 0.2 , 0.6) 0 1 Chemin central
0,80000 h 0,00000 0,80000 0,80000
x1 0,2 dx1 0,20000 0,41333 0,48130
x2 0,2 dx2 0,00000 0,10667 0,30051
u x x 3 / 2 Tracé dans le plan (A,B,C) u 1 x2 3 2 1,0 C 0,9 0,8
x3 0,6 dx3 -0,20000 -0,52000 0,21845
s1 1,0 ds1 -2,00000 0,93333 1,66217
s2 2,0 ds2 -2,00000 0,93333 2,66217
s3 3,0 ds3 -2,00000 0,93333 3,66217
0,0 d 2,00000 -0,93333 -0,66217
0,6 0,5
=0
0,7 0,4
0,6 0,5
x
0,3
0,4
=1
x 0,2
0,3 0,2
0,1
0,1
B
0,0
A
0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1,0
0,0
A 0,0
0,1
0,2
0,3
0,4
0,5
565
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Techniques d’optimisation
Max CERF 2018
3.2.2 Mesure de dualité Distance au chemin central • Pour une hauteur de barrière h, le point du chemin central est tel que tous les produits xisi sont égaux à h : XS he x i s i h, i 1,..., n • •
1 T 1 n Au point courant la moyenne des produits xisi est la mesure de dualité : x s x i s i n n i 1 On quantifie la distance du point courant au chemin central par la moyenne des écarts (xisi - )
x 1s1 1 x nsn
1 XSe e
•
Pour que l’algorithme de point intérieur converge, il faut que les produits xisi tendent simultanément vers 0, et éviter que certains s’annulent prématurément.
•
On impose de suivre approximativement le chemin central en interdisant de trop s’en écarter contrainte de distance maximale au chemin central : m définition du voisinage du chemin central
566
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central
Techniques d’optimisation
Max CERF 2018
3.2.2 Voisinage Voisinage du chemin central Le voisinage du chemin central est défini par une borne m sur la distance : m •
Voisinage restreint avec la norme 2, noté V2(m )
1 V2 ( m ) ( x, , s) X int / XSe e 2 m avec 0 m 1 •
Voisinage large avec la norme , noté V (m )
1 V ( m ) ( x, , s) X int / XSe e m avec 0 m 1 1 XSe e m x i s i m , i 1,, n (1 m ) x i s i (1 m ) , i 1,, n •
On se contente de la borne inférieure, qui empêche les produits xisi de converger prématurément vers 0. En remplaçant m par 1-m
V ( m ) ( x, , s) X int / x i s i m , i 1,, n avec 0 m 1
567
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
Techniques d’optimisation
Max CERF 2018
3.2.3 Algorithmes Suivi du chemin central Algorithme à pas restreint
Algorithme à pas long Algorithme de prédiction-correction Exemple
568
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
Techniques d’optimisation
Max CERF 2018
3.2.3 Algorithmes Suivi du chemin central On peut envisager 3 algorithmes de suivi du chemin central : • Algorithme à pas restreint • Algorithme à pas long • Algorithme de prédiction-correction Principes • Les 3 algorithmes sont basés sur l’itération de Newton.
A 0 S k
0 AT 0
0 d x 0 I d 0 X S e he X k d s k k
x k 1 x k dx k 1 k d , 0 1 s s d k 1 k s •
h k avec 1 k x Tk s k n x k 1 avec choisi tel que k 1 V2 ( m ) ou V ( m ) s k 1
Les différences résident dans la stratégie de réglage du paramètre de centrage et du pas .
569
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
Techniques d’optimisation
Max CERF 2018
3.2.3 Algorithme à pas restreint Algorithme à pas restreint •
On applique systématiquement l’itération de Newton avec =1.
x k 1 x k d x k 1 k d s s d k 1 k s •
On règle le paramètre de centrage pour rester dans le voisinage restreint du chemin central.
A 0 S k
0 d x 0 I d 0 X k d s X k Sk e k e
0 AT 0
Réglages • m =0.4
•
1
x k 1 avec tel que : k 1 V2 ( m ) s k 1
largeur du voisinage
m
garantit que l’itération de Newton reste dans le voisinage restreint
n
570
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
Techniques d’optimisation
Max CERF 2018
3.2.3 Algorithme à pas restreint Réglage du paramètre de centrage
x k 1 x k d x Le nouveau point doit rester dans le voisinage restreint : k 1 k d V2 ( m ) s s d k 1 k s X k 1 X k D x , D x diag(d x ) , d x D x e 1 X k 1Sk 1e k e 2 m avec Sk 1 Sk D s , D s diag(d s ) , d s D s e k Sk d x X k d s X k Sk e k e 1 X k D x Sk D s e k e 2 m k 1 X k Sk e X k d s Sk d x k e 2 m k
à l’ordre 1 en dx , ds
1 k e k e 2 m k
1 e 2 m avec
e2 n
1
m n
571
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
Techniques d’optimisation
Max CERF 2018
3.2.3 Algorithme à pas long Algorithme à pas long •
On fixe le paramètre de centrage .
A 0 S k •
0 AT 0
0 d x 0 I d 0 X S e e X k d s k k k
On règle le pas pour rester dans le voisinage large du chemin central.
x k 1 x k dx k 1 k d , 0 1 s s d k 1 k s
x k 1 avec tel que : k 1 V ( m ) s k 1
Réglages • m = 0.001 largeur du voisinage • = 0.1 • Initialisation avec =1 Division de par 2 tant que le nouveau point n’est pas dans le voisinage large
572
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
Techniques d’optimisation
Max CERF 2018
3.2.3 Algorithme de prédiction-correction Algorithme de prédiction-correction Etape de prédiction • On prédit la direction de l’optimum avec un paramètre de centrage =0 (pas de barrière). ~ 0 d x A 0 0 ~ T 0 A I d 0 ~ S X S e k 0 X k d s k k •
On règle le pas pour rester dans le voisinage restreint du chemin central.
~ x k 1 x k d x ~ ~ ~ k 1 k d , 0 1 ~ ~s s ds k 1 k
x ~ ~ k 1 avec tel que : k 1 V2 ( m pred ) ~s k 1
Réglages • m pred = 0.5 largeur du voisinage
•
Initialisation avec =1 Division de par 2 tant que le nouveau point n’est pas dans le voisinage restreint
573
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
Techniques d’optimisation
Max CERF 2018
3.2.3 Algorithme de prédiction-correction Algorithme de prédiction-correction Etape de correction • On calcule la direction du chemin central avec un paramètre de centrage =1 .
A 0 S k •
0 AT 0
0 d x 0 I d 0 X S e e X k d s k k k
On applique un recentrage avec un pas =1 pour revenir vers le chemin central.
x d x k 1 ~ ~ k 1 x k 1 k 1 d s ~s d k 1 k 1 s Mise en œuvre pratique • Différentes stratégies possibles
• •
contrôle de la distance au chemin central réglages (,,) à adapter au cours des itérations Choix du point initial suffisamment loin des bords (xTs >> 0) sinon blocage Extension à des problèmes non linéaires
574
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
Max CERF 2018
Techniques d’optimisation 3.2.3 Exemple
Algorithme à pas restreint • Point initial : x = (0.6 , 0.2 , 0.2) , = 0 , s = (1 , 2 , 3) x = (0.2 , 0.6 , 0.2) x = (0.2 , 0.2 , 0.6)
x1
0,6
0,2
0,2
x2
0,2
0,6
0,2
x3
0,2
0,2
0,6
Iteration
0
0,53333
0,66667
0,80000
1
0,41017
0,51271
0,61525
2
0,31544
0,39430
0,47316
3
0,24259
0,30324
0,36389
4
0,18657
0,23321
0,27985
5
0,14348
0,17935
0,21522
6
0,11035
0,13793
0,16552
0,5
7
0,08486
0,10608
0,12729
0,4
8
0,06526
0,08158
0,09790
9
0,05019
0,06274
0,07529
10
0,03860
0,04825
0,05790
20
0,00279
0,00349
0,00419
30
0,00020
0,00025
0,00030
40
0,00001
0,00002
0,00002
45
0,00000
0,00000
0,00001
m
Paramètre de centrage : 1 n x, , s V2 ( m )
•
avec m = 0,4
0,8 0,7 0,6
0,3 0,2 0,1 0,0 0
5
10
15
20
25
30
35
40
45
Itération
575
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
Max CERF 2018
Techniques d’optimisation 3.2.3 Exemple
Algorithme à pas restreint • Tracé dans le plan (A,B,C) 1,0
u x 2 x 3 / 2 1 u 2 x 3 C
0,9 0,8 0,7
(0.2 0.2 0.6) 0,6 0,5 0,4
x
0,3
(0.6 0.2 0.2) 0,2
(0.2 0.6 0.2) 0,1 0,0
A 0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1,0
B
576
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
Max CERF 2018
Techniques d’optimisation 3.2.3 Exemple
Algorithme à pas long • Point initial : x = (0.6 , 0.2 , 0.2) , = 0 , s = (1 , 2 , 3) x = (0.2 , 0.6 , 0.2) x = (0.2 , 0.2 , 0.6) • Paramètre de centrage : = 0.1 avec m = 0,4 • Pas : =1 /2 tant que x d x i s d s i m x, , s V ( m )
0,8
0,7 0,6 0,5
x1 x2
0,6 0,2
0,2 0,6
0,2 0,2
x3
0,2
0,2
0,6
Iteration 0 1 2 3 4 5 6 7
0,53333 0,29333 0,16133 0,08873 0,00887 0,00089 0,00009 0,00001
0,66667 0,36667 0,20167 0,02017 0,00202 0,00020 0,00002 0,00000
0,80000 0,44000 0,24200 0,02420 0,00242 0,00024 0,00002 0,00000
8
0,00000
0,00000
0,00000
0,4 0,3 0,2 0,1 0,0 0
1
2
3
4
5
6
7
8
Itération
577
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
Max CERF 2018
Techniques d’optimisation 3.2.3 Exemple
Algorithme à pas long • Tracé dans le plan (A,B,C)
u x 2 x 3 / 2 1 u 2 x 3 C
1,0
0,9 0,8 0,7
(0.2 0.2 0.6) 0,6 0,5 0,4
x
0,3
(0.6 0.2 0.2) 0,2
(0.2 0.6 0.2) 0,1
0,0
A 0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1,0
B
578
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes
Max CERF 2018
Techniques d’optimisation 3.2.3 Exemple
Comparaison • Algorithme à pas long convergence beaucoup plus rapide (8 itérations au lieu de 45) • Influence des réglages à adapter au cas par cas (valeurs de , , ) 1,0 0,9 0,8 0,7
(0.2 0.2 0.6) 0,6 0,5 0,4
x
0,3
(0.6 0.2 0.2) 0,2
(0.2 0.6 0.2) 0,1 0,0 0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1,0
579
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.4 Extensions
Techniques d’optimisation
Max CERF 2018
3.2.4 Extensions Problème linéaire Problème quadratique
Problème non linéaire Représentation
580
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.4 Extensions
Techniques d’optimisation
Max CERF 2018
3.2.4 Problème linéaire Problème linéaire
Ax b min c T x sous xR x 0 n
• •
•
Lagrangien :
L( x, , s) c T x T (Ax b) s T x
Ax b 0 Ax b x L( x, , s) 0 0 Conditions KKT : F ( x , , s ) L ( x , , s ) x XS 0 barrière h XSe he x, s 0 dx dx F ( x , , s ) d F ( x , , s ) Méthode de Newton : direction d d d s s
A 0 0 AT S 0 •
0 d x Ax b T I d A s c XSe he X d s
=0 si admissible =0
On peut appliquer le même algorithme à des problèmes non linéaires.
581
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.4 Extensions
Techniques d’optimisation
Max CERF 2018
3.2.4 Problème quadratique Problème quadratique 1 Ax b minn x T Qx c T x sous xR 2 x 0 1 L( x, , s) x T Qx c T x T (Ax b) s T x • Lagrangien : 2 Ax b 0 Ax b x L( x, , s) 0 0 • Conditions KKT : F ( x , , s ) L ( x , , s ) x XS 0 barrière h XSe he x, s 0 dx dx F ( x , , s ) d F ( x , , s ) • Méthode de Newton : direction d d d s s
A 0 Q AT S 0 •
0 d x Ax b T I d Qx A s c XSe he X d s
Différence avec le cas linéaire : matrice Q 2xx L( x, , s)
582
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.4 Extensions
Techniques d’optimisation
Max CERF 2018
3.2.4 Problème non linéaire Problème non linéaire c( x ) 0 minn f ( x ) sous xR x 0 • •
•
Lagrangien :
contraintes actives
L( x, , s) f ( x) T c( x ) s T x
c( x ) 0 c( x ) x L( x, , s) 0 0 Conditions KKT : F ( x , , s ) L ( x , , s ) x XS 0 barrière h XSe he x, s 0 dx dx F ( x , , s ) d F ( x , , s ) Méthode de Newton : direction d d d s s c ( x ) T 0 0 d x c( x ) 2 xx L( x, , s) c( x ) I d x L( x, , s) XSe he S 0 X d s
•
2xx L( x, , s) Différence avec le cas linéaire : matrices c( x )
583
3 Optimisation avec contraintes 3.2 Point intérieur 3.2.4 Extensions
Max CERF 2018
Techniques d’optimisation 3.2.4 Représentation
Tracé des itérations
Espace primal : variables x
Espace primal-dual : produits xs x 2 s2
x2
borne voisinage
chemin central
chemin central itérations
itérations
x1
x 1 s1
584
3 Optimisation avec contraintes 3.3 Gradient projeté
Techniques d’optimisation
Max CERF 2018
Sommaire 1. 2.
Bases théoriques Optimisation sans contraintes
3.
Optimisation avec contraintes 3.1 Simplexe 3.2 Point intérieur 3.3 Gradient projeté 3.3.1 Principes 3.3.2 Direction de déplacement 3.3.3 Restauration 3.3.4 Algorithme 3.4 Lagrangien augmenté 3.5 Programmation quadratique séquentielle 3.6 Convergence
4. 5.
Optimisation discrète Optimisation fonctionnelle
585
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.1 Principes
Techniques d’optimisation
Max CERF 2018
3.3.1 Gradient projeté Problème avec contraintes égalité
c (x) 0 minn f(x) sous E xR c I ( x ) 0
minn f ( x ) sous c( x ) 0 m contraintes actives xR
Etapes principales A chaque itération : • Construction d’une direction de descente dk à partir du point xk • Réglage du pas de déplacement sk suivant dk Direction de descente On construit la direction dk dans l’hyperplan tangent aux contraintes (= espace nul) en xk • Gradient projeté projection du gradient sur l’hyperplan tangent • Gradient réduit réduction du gradient sur une base de l’espace nul Pas de déplacement • Recherche linéaire suivant dk pas sk • Restauration de l’admissibilité méthode de Newton • Règles d’acceptation du pas Armijo, Goldstein, Wolfe
586
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement
Techniques d’optimisation
Max CERF 2018
3.3.2 Direction de déplacement Hyperplan tangent aux contraintes Gradient projeté
Gradient réduit Direction de déplacement Exemple
587
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement
Max CERF 2018
Techniques d’optimisation 3.3.2 Hyperplan tangent
Problème avec contraintes linéaires
min f ( x ) sous Ax b xR n
Ax0 = b A(x0 + d) = b
• •
x0 point admissible d déplacement admissible à partir de x0
•
Ad = 0 définit l’espace nul des contraintes = hyperplan des contraintes
•
Le déplacement dRn est admissible si d est dans l’hyperplan des contraintes.
Ad 0 c(x0) c(x)=0
x0 d
Problème avec contraintes non linéaires minn f ( x ) sous c( x ) 0 xR
•
On définit l’espace nul tangent ou hyperplan tangent en x0 avec A = c(x0)T Ad = 0
•
On cherche un déplacement dRn dans l’hyperplan tangent : c(x0)Td = 0 Un déplacement complémentaire est ensuite nécessaire pour restaurer l’admissibilité.
588
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement
Max CERF 2018
Techniques d’optimisation 3.3.2 Gradient projeté
Définition minn f ( x ) sous c( x ) 0 xR
Le gradient projeté est la projection orthogonale du gradient de f sur l’hyperplan tangent. Expression du gradient projeté • Hyperplan tangent aux contraintes en x0 admissible Ad = 0 avec A = c(x0)T •
Matrice de projection sur l’hyperplan tangent 1 P I A T AA T A
•
Notations g(x0) gradient de f en x0 gp(x0) gradient projeté
c(x)=0
x0
g p I A T AA T •
c(x0)
1
g(x0) = f(x0) gp(x0) = Pg(x0)
A g avec A c( x 0 ) T
Ag 0 gp vérifie : T p g p g g p 0
gp
gp hyperplan tangent ggp hyperplan tangent
g
P T P car 2 P P
589
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement
Max CERF 2018
Techniques d’optimisation 3.3.2 Gradient projeté
Direction de descente • La direction du gradient projeté est la direction de plus forte pente dans l’hyperplan tangent = direction dans l’hyperplan qui maximise la dérivée directionnelle de f Preuve La direction d dans l’hyperplan maximisant la dérivée directionnelle de f est solution de Ad 0 d hyperplan tangent minn g t d sous T d R d 1 d d 1 norme = 1
t T T m Lagrangien : Ld , , g d Ad d d 1 avec R , R g AT 2 d 0 d g AT / 2 Conditions KKT : Ad 0 Ag AAT 0 AAT d 1 2 g AT
d est bien un vecteur normé colinéaire à •
1
Ag
I A AA Ag T
T 1
La méthode du gradient projeté équivaut à la méthode de plus forte pente appliquée dans l’espace nul des contraintes méthode d’ordre 1 peu efficace amélioration par méthode de quasi-Newton
590
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement
Max CERF 2018
Techniques d’optimisation 3.3.2 Gradient réduit
Définition minn f ( x ) sous c( x ) 0 xR
Le gradient réduit est le gradient de la fonction réduite sur une base de l’espace nul tangent. Expression du gradient réduit • Base Z de l’espace nul tangent aux contraintes : AZ = 0 avec A = c(x0)T • •
AZ 0 Décomposition du déplacement : p Yp Y Zp Z avec AY inversible p 0 Ap 0 Y Déplacement admissible : p Zp Z minn f(x 0 p) sous A(x 0 p) b
•
Fonction réduite fr :
•
Notations g(x0) gradient de f en x0 gr(x0) gradient réduit
pR
g(x0) = f(x0) gr(x0) = fr(pZ=0)
min f r (p Z ) f x 0 Zp Z
p Z R n -m
g Rn gr 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 3.3 Gradient projeté 3.3.2 Direction de déplacement
Max CERF 2018
Techniques d’optimisation 3.3.2 Gradient réduit
Direction de descente • Le déplacement à partir du point x0 admissible est décomposé en
AZ 0 p Yp Y Zp Z avec AY inversible
p 0 Ap 0 Y p Zp Z
•
Le gradient réduit gr donne la direction de plus forte pente suivant les variables pZ. La direction de déplacement dans Rn est : d = Zgr .
•
On peut choisir les matrices Y et Z - à partir de matrices orthogonales - à partir d’une base de A
Gradient réduit sur une base B de A gB m n m g • AE B N gN
factorisation QR de A BRmm (= m colonnes indépendantes de A) m 1
B Y 0 (E = matrice de permutation de colonnes de A)
•
m nm
n m 1
B N m Z I nm
T
T 1 Le gradient réduit par rapport à la base B est : g r Z g g N B N g B
592
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement
Techniques d’optimisation
Max CERF 2018
3.3.2 Direction de déplacement Problème avec contraintes égalité
min f ( x ) sous c( x ) 0
m contraintes actives
xR n
•
On construit la direction de déplacement dRn dans l’hyperplan tangent aux contraintes en x0 Ad = 0 avec A = c(x0)T 2 méthodes de construction de la direction d
•
Méthode du gradient projeté La direction d est celle du gradient projeté : d = gp
d Pg avec P I A T AA T •
1
A
(P = matrice de projection sur l’hyperplan tangent)
Méthode du gradient réduit La direction d est obtenue à partir du gradient de la fonction réduite : d = Zgr avec gr = ZTg
d ZZT g avec AZ 0 •
(Z = base de l’hyperplan tangent)
On cherche un pas de déplacement suivant –d pour minimiser f. Un déplacement complémentaire est nécessaire pour restaurer l’admissibilité.
593
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement
Max CERF 2018
Techniques d’optimisation 3.3.2 Exemple
Exemple 2 • Minimisation de f ( x ) x1 x 2 sous c( x ) x12 x 2 1 1 0 2x 1 cx 2 ( x 1 ) 2 Changement de variables (coordonnées polaires) 1 f x 1
•
x 1 r cos x r sin 1 2
•
2,5 2 1,5 1
f (r, ) r (cos sin ) 1 2 c(r, ) r 1
Elimination variable r
0,5
-2
-1,5
-1
r 1 f () cos sin 1
•
0 -0,5 0 -0,5
0,5
1
1,5
2
-1
Minimum f ' () sin cos 0 tan 1 ou 4 4 f ' ' () cos sin 0 cos (1 tan ) 0 cos 0
* 4
x * 1 / 2 0.70711 1 x 2 * 1 1 / 2 0.29289
594
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement
Max CERF 2018
Techniques d’optimisation 3.3.2 Exemple
Gradient projeté 2 • Minimisation de f ( x ) x1 x 2 sous c( x ) x12 x 2 1 1 0
•
cos 0 2x1 1 2r0 Point admissible x0 (r0=1, 0) f x 0 , cx 0 sin 2 ( x 1 ) 1 0 2 Gradient projeté au point x0
A c ( x 0 ) T , g f ( x 0 ) g p Pg avec T T 1 P I A AA A
A 2r0 cos 0
x2
gp
sin 0
sin 2 0 P sin 0 cos 0
g=f
sin 0 cos 0 2 cos 0
r
c x0
1
sin 0 g p cos 0 sin 0 cos 0
•
Direction de descente au point x0
d
gp gp
sin 0 cos 0
x*
tangente au cercle en x0
c(x)=0 x1
595
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement
Max CERF 2018
Techniques d’optimisation 3.3.2 Exemple
Gradient réduit 2 • Minimisation de f ( x ) x1 x 2 sous c( x ) x12 x 2 1 1 0
•
cos 0 2x1 1 2r0 Point admissible x0 (r0=1, 0) f x 0 , cx 0 sin 2 ( x 1 ) 1 0 2 Gradient réduit au point x0
A c ( x 0 ) T , g f ( x 0 ) B 1 N g r Z T g avec AE B N , Z I tan 0 A 2r0 cos 0 sin 0 Z 1 g r 1 tan 0 Zg r
•
cos 0 sin 0 cos 0
x2
c r
x0
1
sin 0 cos 0
Direction de descente au point x0
Zgr
x*
sin 0 Zg r tangente au cercle en x0 d Zg r cos 0
c(x)=0 x1
596
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.3 Restauration
Techniques d’optimisation
Max CERF 2018
3.3.3 Restauration Point initial Itérations admissibles
Méthode de restauration
597
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.3 Restauration
Max CERF 2018
Techniques d’optimisation 3.3.3 Restauration
Itérations admissibles La méthode du gradient projeté ou réduit construit une suite de solutions admissibles point initial admissible restauration de la faisabilité à chaque itération Point initial •
c ( x ) 0 On peut construire un point initial admissible du problème minn f(x) sous c E( x ) 0 xR I en résolvant le problème préliminaire sans contrainte
•
minn c E (x) xR
2
max0, c I (x)
2
La solution x0 de ce problème préliminaire est admissible si le coût est nul.
c E (x 0 )
max0, c I (x 0 ) 2
2
c (x ) 0 c (x ) 0 0 E 0 E 0 max0, c I (x 0 ) 0 c I (x 0 ) 0
Restauration de la faisabilité • La direction de descente d est dans l’hyperplan tangent aux contraintes au point courant. • Si les contraintes ne sont pas linéaires, un pas s suivant d donne un point non admissible. Il faut restaurer la faisabilité avant d’évaluer si le pas s est acceptable.
598
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.3 Restauration
Max CERF 2018
Techniques d’optimisation 3.3.3 Restauration
Déplacement admissible min f(x) sous c( x ) 0 xR n
m contraintes actives
On construit le déplacement p à partir du point initial x0 en 2 étapes : p = p1 + p2 •
Le déplacement p1 est suivant la direction de descente d dans l’hyperplan tangent : p1 = –sd dRn = direction construite à partir du gradient projeté ou du gradient réduit s > 0 = pas de déplacement suivant –d (pour minimisation) x2 p 2 On obtient un point x1 = x0 + p1 dans l’hyperplan tangent x1 non admissible si contraintes non linéaires
•
Le déplacement p2 restaure un point admissible à partir du point x1. linéarisation des contraintes en x1 résolution d’un système sous-déterminé c(x)=0 On obtient un point x2 = x1 + p2 admissible.
p1 x0
c(x)=c1
Recherche linéaire • On évalue le point x2 correspondant au pas s de recherche linéaire suivant d. • Le pas s est modifié par dichotomie jusqu’à trouver un point x 2(s) acceptable. règles d’Armijo, Goldstein, Wolfe,…
599
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.3 Restauration
Max CERF 2018
Techniques d’optimisation 3.3.3 Restauration
Méthode de restauration Le déplacement p2 doit vérifier : A1p b1 •
A1 c(x1 ) T c(x 0 ) T A 0 avec b1 c(x1 ) c1
Solution de norme minimale projection sur l’hyperplan tangent aux contraintes actives 1 (cf §1.2.4) minn p sous A1p b1 p 2 A1T A1A1T b1
pR
pour ne pas dégrader la minimisation apportée par p1 (cf §1.2.3) 1 1 A1 (Yp Y Zp Z ) b1 p Y A1Y b1 p 2 YA1Y b1
•
Solution de base
•
Plusieurs pas de restauration peuvent être nécessaires. p2
c(x)=0 x0
p1
x1
c(x)=c1 c(x0)
c(x1)
600
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.3 Restauration
Max CERF 2018
Techniques d’optimisation 3.3.3 Restauration
Illustrations Restauration en plusieurs itérations : p2 , p3 c(x)=0 c(x)=c1
Restauration infructueuse (non linéarité) c(x)=0
p3 x0
p2
p1
c(x)=c1
p2 x0 p1
x1
x1
Restauration avec dégradation du critère p2
c(x)=0 x0
p1
lignes de f
x1
601
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.4 Algorithme
Techniques d’optimisation
Max CERF 2018
3.3.4 Algorithme Algorithme de gradient projeté / réduit Exemple
602
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.3.4 Algorithme
Algorithme de gradient projeté/réduit Les principales étapes d’une itération de gradient projeté/réduit sont • construire la direction de descente au point courant • effectuer une recherche linéaire avec restauration Direction de descente • Sélection des contraintes actives • Projection ou réduction dans l’hyperplan tangent • Mise à jour du hessien (quasi-Newton)
Mise à jour xk , Hk
Recherche linéaire • Méthode de dichotomie sur le pas de déplacement • Restauration avant évaluation du pas • Règles d’acceptation (Armijo,…)
Projection ou réduction Direction dk
Principales difficultés • Amélioration critère grands pas • Restauration contraintes petits pas difficultés sur problèmes très non-linéaires réglages à adapter au cas par cas
Recherche linéaire avec restauration Pas sk
603
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.3.4 Exemple
Exemple 2 • Minimisation de f ( x ) x1 x 2 sous c( x ) x12 x 2 1 1 0 •
2,5 2
x * 1 / 2 0.70711 Solution : 1 x 2 * 1 1 / 2 0.29289
1,5 1 0,5
Itérations • Point courant : •
Descente :
x r cos x 1 x 2 r sin 1
x’ = x s1d1
-2
-1,5
-1
0 -0,5 0 -0,5
0,5
1
1,5
-1
sin cos
avec d1
sin g p cos sin cos
pas s1 suivant le gradient projeté •
Restauration :
•
Réglage des pas :
2x1 cos cx avec d 2 2 ( x 1 ) 2 sin pas s2 suivant le gradient des contraintes
x’’ = x’ s2d2
s2 est calculé pour restaurer c(x’’) = 0 s1 est choisi pour vérifier une décroissance suffisante f(x’’) < f(x)
604
2
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.3.4 Exemple
Exemple 2 • Minimisation de f ( x ) x1 x 2 sous c( x ) x12 x 2 1 1 0 •
x 1 0.1 Point initial : x2 1
Restauration initiale :
x 1 1 x 2 1
Itération
x1
x2
f(x)
c(x)
Descente s1
x1'
x 2'
c(x')
Restauration s2
1
0,10000
1,00000
1,10000
-0,99000
0,00000
0,10000
1,00000
-0,99000
4,50000
2
1,00000
1,00000
2,00000
0,00000
1,00000
1,00000
0,00000
1,00000
-0,50000
3
0,00000
0,00000
0,00000
0,00000
0,50000
-0,50000
0,00000
0,25000
-0,06699
4
-0,50000
0,13397
-0,36603
0,00000
0,18301
-0,65849
0,22548
0,03349
-0,00844
5
-0,65005
0,24011
-0,40994
0,00000
5,492E-02
-0,69178
0,27581
3,016E-03
-7,547E-04
6
-0,69080
0,27696
-0,41385
0,00000
1,612E-02
-0,70246
0,28809
2,599E-04
-6,497E-05
7
-0,70237
0,28819
-0,41418
0,00000
4,722E-03
-0,70573
0,29150
2,230E-05
-5,576E-06
8
-0,70572
0,29151
-0,41421
0,00000
1,383E-03
-0,70670
0,29249
1,913E-06
-4,783E-07
9
-0,70670
0,29249
-0,41421
0,00000
4,051E-04
-0,70699
0,29277
1,641E-07
-4,103E-08
10
-0,70699
0,29277
-0,41421
0,00000
1,187E-04
-0,70707
0,29286
1,408E-08
-3,520E-09
11
-0,70707
0,29286
-0,41421
0,00000
3,475E-05
-0,70710
0,29288
1,208E-09
-3,020E-10
12
-0,70710
0,29288
-0,41421
0,00000
605
3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.3.4 Exemple
Exemple 2 Minimisation de f ( x ) x1 x 2 sous c( x ) x12 x 2 1 1 0 Point initial Point initial admissible Solution x 1 0.1 x2 1
restauration initiale
x 1 1 x 2 1
itérations
x 1 * 1 / 2 0.70711 x 2 * 1 1 / 2 0.29289
2,5
0,4
2,0 0,3 1,5 0,2
1,0 0,5
0,1
0,0 -2,0
-1,5
-1,0
-0,5
0,0 -0,5 -1,0
0,5
1,0
1,5
2,0
0,0 -0,8
-0,7
-0,6
-0,5
-0,4 -0,1
606
3 Optimisation avec contraintes 3.4 Lagrangien augmenté
Techniques d’optimisation
Max CERF 2018
Sommaire 1. 2.
Bases théoriques Optimisation sans contraintes
3.
Optimisation avec contraintes 3.1 Simplexe 3.2 Point intérieur 3.3 Gradient projeté 3.4 Lagrangien augmenté 3.4.1 Principes 3.4.2 Pénalisation 3.4.3 Méthode duale 3.4.4 Algorithme 3.5 Programmation quadratique séquentielle 3.6 Convergence
4. 5.
Optimisation discrète Optimisation fonctionnelle
607
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.1 Principes
Techniques d’optimisation
Max CERF 2018
3.4.1 Lagrangien augmenté Problème avec contraintes égalité
c (x) 0 minn f(x) sous E xR c I ( x ) 0 • •
minn f ( x ) sous c( x ) 0 xR
contraintes actives
La difficulté de résolution vient des 2 objectifs antagonistes : Minimiser le critère f(x) Satisfaire les contraintes c(x)=0
Méthodes de pénalisation Les contraintes sont ajoutées à la fonction coût avec une pondération : • Critère augmenté pondération = pénalisation des contraintes • Lagrangien pondération = multiplicateurs de Lagrange • Lagrangien augmenté pondération = pénalisation + multiplicateurs On se ramène à un problème sans contraintes plus simple • •
Les difficultés viennent du réglage de la pondération : Le problème pénalisé sans contraintes doit être équivalent au problème avec contraintes. Le problème pénalisé est mal conditionné lorsque la pénalisation est grande.
608
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation
Techniques d’optimisation
Max CERF 2018
3.4.2 Pénalisation Critère augmenté Pénalisation quadratique
Pénalisation exacte Mise en œuvre Lagrangien augmenté
609
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation
Techniques d’optimisation
Max CERF 2018
3.4.2 Critère augmenté Problème avec contraintes égalité
c (x) 0 minn f(x) sous E xR c I ( x ) 0
minn f ( x ) sous c( x ) 0 xR
contraintes actives
On note x* la solution du problème avec contraintes. Critère augmenté On ajoute au critère un terme positif fonction de la violation des contraintes avec un coefficient de pénalisation > 0 2 méthodes usuelles de pénalisation • Pénalisation en norme 2 (pénalisation quadratique) 1 1 2 2 2 f ρ (x) f(x) ρ c E (x) 2 max0, c I (x) 2 f ρ (x) f(x) ρ c(x) 2 2 2 • Pénalisation en norme 1
f ρ (x) f(x) ρ c E (x) 1 max0, c I (x) 1
f ρ (x) f(x) ρ c(x) 1
Problème sans contraintes
min f ρ (x) xR n
solution x
610
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation
Techniques d’optimisation
Max CERF 2018
3.4.2 Pénalisation quadratique Problème pénalisé l2
min f ρ (x) xR n
1 2 2 avec f ρ (x) f(x) ρ c E (x) 2 max0, c I (x) 2 2 1 2 f ρ (x) f(x) ρ c(x) 2 contraintes actives 2
Le critère l2 est différentiable deux fois pour un problème avec contraintes égalité. On peut appliquer les algorithmes d’optimisation sans contraintes à base de gradient. Méthode de résolution • On résout une suite de problèmes pénalisés avec des valeurs croissantes de la pénalisation .
•
Chaque problème k+1 est initialisé avec la solution précédente xk.
•
Problème k avec pénalisation k : minn f ρ k (x)
•
Il faut vérifier que la suite des solutions xk converge vers la solution x* du problème initial
xR
solution xk
lim x k x * si lim k
k
k
2 résultats de convergence selon que xk est une solution exacte ou approchée
611
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation
Max CERF 2018
Techniques d’optimisation 3.4.2 Pénalisation quadratique
Problème pénalisé l2 minn f ( x ) sous c( x ) 0
•
Problème avec contraintes :
•
Problème k avec pénalisation k : minn f ρ k (x) xR lim k
xR
solution xk lim x k x k
k
Convergence • Si xk est le minimum global exact, alors •
Si xk est un minimum local approché : précision de résolution k décroissante
solution x*
lim x k x *
k
f ρ (x k ) k avec lim k 0 k
k
2
alors la limite x est : - soit un point non admissible qui minimise c(x) 2 - soit un point x* vérifiant les conditions KKT du problème initial On a dans ce
2ème
cas :
lim x k x * klim k k c(x k ) *
minimum local multiplicateurs des contraintes actives
La solution exacte x* n’est obtenue qu’à la limite lorsque la pénalisation tend vers l’infini.
612
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation
Max CERF 2018
Techniques d’optimisation 3.4.2 Pénalisation quadratique
Eléments de la démonstration 1 2 f ( x ) f ( x ) c( x ) 2 •
Critère d’arrêt sur xk :
f ( x ) f ( x ) c( x )c( x )
f ρ (xk ) k k
f ρ (xk ) f ( xk ) k c( xk )c( xk ) k c( xk )c( xk ) f ( xk )
car a b a b
k
k c( xk )c( xk ) k f ( xk )
c( x*) 0 min c( x ) ou c( x*) 0 admissible •
c( xk )c( xk )
k f ( x k ) k
k 0
si les gradients sont linéairement indépendants
Multiplicateurs de Lagrange
f ρ (xk ) f ( xk ) k c( xk )c( xk ) k k 0 k
f ( x*) c( x*)* 0
avec * lim k c(xk ) k
613
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation
Techniques d’optimisation
Max CERF 2018
3.4.2 Pénalisation exacte Problème pénalisé l1
min f ρ (x) xR n
avec f ρ (x) f(x) ρ c E (x) 1 max0, c I (x) 1 f ρ (x) f(x) ρ c(x) 1
contraintes actives
Le critère l1 n’est pas différentiable. Méthode de résolution • On résout une suite de problèmes pénalisés avec des valeurs croissantes de la pénalisation . •
Chaque problème k+1 est initialisé avec la solution précédente xk.
•
Problème k avec pénalisation k : minn f ρ k (x) xR
Convergence • Si * * max i •
solution xk
alors x* est un minimum local de f avec la pénalisation l1.
La pénalisation l1 est exacte si est est supérieur au plus grand multiplicateur. ne nécessite pas d’augmenter indéfiniment pour obtenir la solution exacte x*
614
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation
Techniques d’optimisation
Max CERF 2018
3.4.2 Mise en oeuvre Méthodes avec critère augmenté • Type de pénalisation - Pénalisation l2 différentiable, mais nécessite une pénalisation forte pour approcher x* - Pénalisation l1 exacte, mais non différentiable •
Réglage de la pénalisation - Trop faible risque de divergence (pas de minimum du problème pénalisé) - Trop forte mauvais conditionnement, difficultés numériques
•
Utilisation du critère augmenté - Difficultés pratiques si l’on veut obtenir une bonne précision sur la solution x* - Le critère augmenté peut servir de fonction mérite dans le cadre d’autres algorithmes pour évaluer la progression vers l’optimum.
Méthodes avec lagrangien augmenté On cherche à se ramener à une suite de problèmes sans contraintes - en conservant un critère différentiable - en évitant le mauvais conditionnement du à une pénalisation trop forte utilisation des multiplicateurs de Lagrange pour réduire la pénalisation méthode duale ou lagrangienne
615
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation
Max CERF 2018
Techniques d’optimisation 3.4.2 Lagrangien augmenté
Problème pénalisé l2 • La méthode de pénalisation consiste à minimiser le critère augmenté. 1 2 minn f ρ (x) f(x) ρ c(x) xR 2 • La convergence est obtenue pour des valeurs croissantes de pénalisation.
•
lim x k x * minimum local lim k k k k c(x k ) * multiplicateurs des contraintes actives klim * La solution xk ne respecte qu’approximativement les contraintes : c(x k ) k
•
Pour respecter précisément les contraintes, il faut augmenter fortement la pénalisation. cause de mauvais conditionnement et de difficultés numériques
•
On peut appliquer la méthode de pénalisation au problème équivalent
min L(x, *) sous c(x) 0 min f(x) sous c(x) 0 xR n
xR n
1 1 2 min L ρ (x, *) L(x, *) ρ c(x) 2 f(x) λ *T c(x) ρ c(x) xR 2 2
si l’on connait * 2
n
616
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation
Max CERF 2018
Techniques d’optimisation 3.4.2 Lagrangien augmenté
Lagrangien augmenté • La méthode de lagrangien augmenté consiste à résoudre une suite de problèmes : 1 1 2 2 minn L ρ k (x, k ) L(x, k ) ρ k c(x) 2 f(x) λ Tk c(x) ρ k c(x) xR 2 2 avec k = valeur de pénalisation du problème k k = estimation des multiplicateurs pour le problème k •
Si lim k * et lim k les problèmes deviennent équivalents. k
k
minn L(x, *) sous c(x) 0 xR
minn L (x, *) xR
minn f(x) sous c(x) 0 xR
minn f (x) xR
xk x * klim
La solution xk du problème minn L ρ k (x, k ) converge vers la solution x* du problème initial. xR
•
La solution xk vérifie également : x L ρ k (x k , k ) f(x k ) c(x k )λ k ρ k c(x k ) 0 à comparer à x* qui vérifie :
x L(x*, *)
f(x*) c(x*) *
0
lim λ k ρ k c(x k ) λ * k
(même démonstration que pour le critère augmenté avec pénalisation quadratique)
617
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation
Max CERF 2018
Techniques d’optimisation 3.4.2 Lagrangien augmenté
Lagrangien augmenté • On peut estimer les multiplicateurs à l’itération k.
lim λ k ρ k c(x k ) λ * λ* λ k ρ k c(x k )
k
•
pour k assez grand
λ k 1 λ k ρ k c(x k ) pour l’itération k+1 λ * λ k La valeur des contraintes à l’itération k est : c(x k ) λ 0 λ* ρk k
On peut parvenir à respecter les contraintes sans augmenter indéfiniment la pénalisation si k est une bonne estimation des multiplicateurs méthode duale meilleur conditionnement convergence plus rapide et précise que la méthode du critère augmenté méthode de lagrangien augmenté appelée aussi méthode des multiplicateurs Convergence Pour assez grand, la solution x* du problème initial est un minimum local du problème 1 2 minn L ρ (x, *) f(x) λ *T c(x) ρ c(x) pénalisation exacte si on connaît * xR 2 ne nécessite pas d’augmenter indéfiniment pour obtenir la solution exacte x*
618
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Méthode duale
Techniques d’optimisation
Max CERF 2018
3.4.3 Méthode duale Problème dual Maximisation duale
Méthode d’Uzawa Méthode de Newton Méthode de lagrangien augmenté Exemple
619
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Méthode duale
Techniques d’optimisation
Max CERF 2018
3.4.3 Problème dual Problème avec contraintes égalité •
Problème primal :
minn f(x) sous c(x) 0
m contraintes actives
•
Lagrangien :
L( x, ) f ( x ) T c( x )
x = n variables primales = m variables duales
•
Fonction duale :
w() minn L(x, λ)
minimisation par rapport à x
maxm w()
maximisation par rapport à
xR
xR
•
Problème dual :
R
Méthode duale (ou lagrangienne) Une méthode duale consiste à résoudre le problème dual :
max w() m R
•
Le problème est sans contraintes, mais la fonction w() est coûteuse à évaluer.
•
La solution (x*,*) est un point col du lagrangien : x, , L( x*, ) L( x*, *) L( x, *) existence non garantie (saut de dualité)
620
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Méthode duale
Techniques d’optimisation
Max CERF 2018
3.4.3 Maximisation duale Fonction duale On note xL() la valeur de x qui minimise L(x,) à fixé. Condition d’ordre 1 :
minn L(x, λ) en x x L (λ)
•
Fonction w :
w (λ) minn L(x, λ) Lx L (λ), λ
•
Gradient de w :
•
Hessien de w :
xR
xR
x Lx L (λ), λ 0 fonction composée
w (λ) x L (λ). x Lx L (λ), λ Lx L (λ), λ =0 = c(xL()) w (λ) cx L (λ)
2 w (λ) cx L (λ) x L (λ)cx L (λ)
2 w (λ) cx L (λ) 2xx Lx L (λ), λ cx L (λ) T
1
Preuve : on calcule xL() à partir de xL(xL(),)=0
x LxL ( λ), λ 0 ,λ x LxL ( λ), λ 0 xL ( λ) 2xx LxL ( λ), λ 2x LxL ( λ), λ 0 1 avec L c xL cT 2xx L
621
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Méthode duale
Techniques d’optimisation
Max CERF 2018
3.4.3 Maximisation duale Méthode de maximisation • La fonction duale est coûteuse à évaluer. w(λ) minn L(x, λ) Lx L (λ), λ minimisation en chaque valeur pour obtenir xL() xR on ne peut pas directement maximiser w •
On réalise à chaque itération : - une minimisation par rapport à x : (xk, k) (xk+1,k) - une maximisation par rapport à : (xk+1,k) (xk+1,k+1)
Déplacement • Le déplacement sur x est construit en minimisant L(x,k).
minn L(x, λ k ) xR
•
x k 1 x L λ k
minimisation exacte ou approchée
Le déplacement sur est construit à partir du gradient et éventuellement du hessien de w.
w (λ k ) cx k 1 1 2 T 2 w ( λ ) c x L x , λ cx k 1 k k 1 xx k 1 k
•
minimisation approchée (pas fixé)
Méthodes de déplacement sur : Uzawa, lagrangien augmenté, Newton
622
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Méthode duale
Techniques d’optimisation
Max CERF 2018
3.4.3 Méthode d’Uzawa Principe Le déplacement en est construit par une méthode de plus forte pente.
λ k 1 λ k s k w (λ k ) λ k 1 λ k s k cx k 1 L’efficacité de la méthode dépend du réglage du pas sk. Méthode d’Uzawa (1958) • On choisit un pas constant : s k = s0 . • Difficulté : - pas s0 trop grand oscillations autour de la solution - pas s0 trop petit convergence très lente • La convergence est linéaire (méthode de plus forte pente). • La vitesse de convergence dépend du conditionnement du hessien de la fonction duale.
2 w (λ*) 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 3.4 Lagrangien augmenté 3.4.3 Méthode duale
Max CERF 2018
Techniques d’optimisation 3.4.3 Méthode de Newton
Principe L’itération de Newton sur le problème dual est définie par :
1
λ k 1 λ k w (λ k ) w (λ k ) •
2
avec
w (λ k ) cx k 1 1 2 T 2 w ( λ ) c x L x , λ cx k 1 k k 1 xx k 1 k
On applique une méthode de quasi-Newton au problème primal : minn L(x, λ k ) xR
pour obtenir une approximation de l’inverse du hessien de L : •
H k 2xx Lx k 1 , λ k
1
On applique ensuite une méthode de Newton au problème dual.
λ k 1 λ k 2 w (λ k ) w (λ k ) λ k 1 λ k 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 3.4 Lagrangien augmenté 3.4.3 Méthode duale
Max CERF 2018
Techniques d’optimisation 3.4.3 Exemple
Exemple • Minimisation de
f ( x ) x1 x 2 sous c( x ) x12 x 2 1 2 0
•
L( x, ) x1 x 2 x12 x 2 1 2
2
Lagrangien :
2
1 1 2 w (λ) min2 L(x, λ) 1 2 pour x L (λ) 1 xR 2 1 2 1 1 max w () * x* point col R 0 2
•
Fonction duale :
•
Problème dual :
•
Gradient :
w () cx L ()
•
Hessien :
2 w (λ) cx L (λ) 2xx Lx L (λ), λ cx L (λ)
1 2 22 T
1
1 λ3
1 0 1 1 avec cx L (λ) , 2xx Lx L (λ), λ 2λ 0 1 λ 1
625
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Méthode duale
Max CERF 2018
Techniques d’optimisation 3.4.3 Exemple
Méthode d’Uzawa • Minimisation de • •
f ( x ) x1 x 2 sous c( x ) x12 x 2 1 2 0 1 1 2 k x k 1 s 2 Itération à pas s fixé : k 1 k 22 1 1 k 2 k 2
Influence du pas : s=0,1 ou s=0,2
oscillations autour de la solution
Uzawa pas s = 0,1
Uzawa pas s = 0,2
Itération
x1
x2
s
Itération
1 2 3 4 5 6 7 8 9 10 11 12
-0,10000 -0,50000 -0,58824 -0,69521 -0,81186 -0,91292 -0,97205 -0,99334 -0,99861 -0,99972 -0,99994 -0,99999
1,00000 0,50000 0,41176 0,30479 0,18814 0,08708 0,02795 0,00666 0,00139 0,00028 5,63E-05 1,13E-05
1,00000 0,85000 0,71920 0,61587 0,54769 0,51438 0,50335 0,50070 0,50014 0,50003 0,50001 0,50000
0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1
1 2 3 4 5 6 7 8 9 10 11 12
x1
x2
-0,10000 1,00000 -0,50000 0,50000 -0,71429 0,28571 -0,99190 0,00810 -1,00476 -0,00476 -0,99711 0,00289 -1,00172 -0,00172 -0,99896 0,00104 -1,00062 -0,00062 -0,99963 0,00037 -1,00022 -2,24E-04 -0,99987 1,34E-04
s
1,00000 0,70000 0,50408 0,49763 0,50145 0,49914 0,50052 0,49969 0,50019 0,49989 0,50007 0,49996
0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2
626
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Méthode duale
Max CERF 2018
Techniques d’optimisation 3.4.3 Exemple
Comparaison Uzawa / Newton 2 f ( x ) x1 x 2 sous c( x ) x12 x 2 1 2 0 • Minimisation de
•
Itération k :
1 2 k x k 1 1 2 1 k
1 k 1 k s 2 2 2 k
Uzawa
1 k 1 k s3k 2 2 2 k
Newton
Uzawa pas s = 0,1
Globalisation pas s
Newton pas s = 1
Itération
x1
x2
s
Itération
1 2 3 4 5 6 7 8 9 10 11 12
-0,10000 -0,50000 -0,58824 -0,69521 -0,81186 -0,91292 -0,97205 -0,99334 -0,99861 -0,99972 -0,99994 -0,99999
1,00000 0,50000 0,41176 0,30479 0,18814 0,08708 0,02795 0,00666 0,00139 0,00028 5,63E-05 1,13E-05
1,00000 0,85000 0,71920 0,61587 0,54769 0,51438 0,50335 0,50070 0,50014 0,50003 0,50001 0,50000
0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1
1 2 3 4 5 6 7 8
x1
x2
-0,10000 1,00000 -0,50000 0,50000 -0,80000 0,20000 -0,93091 0,06909 -1,00854 -0,00854 -1,00011 -0,00011 -1,00000 -1,72E-08 -1,00000 0,00E+00
s
1,00000 0,62500 0,53711 0,49577 0,49995 0,50000 0,50000 0,50000
0,25 0,50 1,00 1,00 1,00 1,00 1,00 1,00
627
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Méthode duale
Max CERF 2018
Techniques d’optimisation
3.4.3 Méthode de lagrangien augmenté Principe La méthode de lagrangien augmenté est une méthode duale appliquée au critère augmenté. •
Critère augmenté f :
1 2 f ρ (x) f(x) ρ c(x) 2 2
•
Lagrangien augmenté L :
1 2 L ρ (x, ) f ( x ) T c( x ) ρ c(x) 2 2
•
Fonction duale augmentée w :
w () minn L (x, λ)
Le problème dual devient :
maxm w ()
xR
R
Fonction duale augmentée Le gradient et le hessien de w sont identiques à ceux de w en remplaçant L par L.
w (λ) cx L (λ) avec 1 2 T 2 w ( λ) c x ( λ) L x ( λ), λ c x ( λ) L xx L L
On réalise à chaque itération : - une minimisation de L par rapport à x - un déplacement en à partir du gradient et du hessien de w
minn L (x, λ) en x x L (λ) xR
628
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Méthode duale
Max CERF 2018
Techniques d’optimisation
3.4.3 Méthode de lagrangien augmenté Déplacement • Le déplacement sur x est construit en minimisant L(x,k) avec une précision donnée.
minn L (x, λ k ) x k 1 x L λ k xR
•
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 ) λ *
s k k
λ k 1 λ k k cx k 1
k
Convergence • La convergence est linéaire (méthode de plus forte pente). • La vitesse de convergence dépend du conditionnement des hessiens de L (primal) et w (dual). T 2xx L 2xx L c.c T c . c
• •
mal conditionné si grand
1
bien conditionné si grand 2 w c T 2xx L c 1I 1 2 On peut appliquer une méthode de Newton au dual avec H k xx L (quasi-Newton primal) convergence superlinéaire + globalisation nécessaire La pénalisation peut créer un point col qui n’existe pas dans le problème initial.
629
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Méthode duale
Max CERF 2018
Techniques d’optimisation 3.4.3 Exemple
Exemple • Minimisation de
f ( x ) x1x 2 sous c( x ) x1 x 2 1 0
•
Lagrangien :
L( x, ) x1x 2 x1 x 2 1
•
Solution KKT :
*
•
Fonction duale :
w (λ) min2 L(x, λ)
1 1 , x1* x 2 * 2 2
xR
L( x*, *)
en prenant
1 4
x 1 x (signe de ) 2
La fonction duale vaut pour toute valeur de .
max w ()
1 4
•
Problème dual :
•
Le lagrangien n’admet pas de point col (problème non convexe). Le problème non pénalisé présente un saut de dualité. On ne peut pas appliquer une méthode duale (Uzawa) sur ce problème. On peut créer un point col par pénalisation (méthode de lagrangien augmenté).
R
630
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Méthode duale
Max CERF 2018
Techniques d’optimisation 3.4.3 Exemple
Point col • Problème pénalisé : •
1 2 f ( x ) x1x 2 x1 x 2 1 sous c( x ) x1 x 2 1 0 2 1 2 L ( x , ) x x x1 x 2 1 x1 x 2 1 Lagrangien augmenté : 1 2 2 w (λ) min2 L (x, λ)
•
Fonction duale :
•
Minimisation de L par rapport à x
•
xR
Ordre 1 :
x L 0 x 2 x1 x 2 1 0 x1 () x 2 () x1 x1 x 2 1 0 1 2
Ordre 2 :
1 0 2xx L 0 1
Valeurs propres :
2 12 0
1 On obtient si : 2
2
1 1 2 2 1
L convexe si
1 2
2
1 2 1 2 1 w () 1 2 1 2 2 1 2
631
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Méthode duale
Max CERF 2018
Techniques d’optimisation 3.4.3 Exemple
Point col •
Fonction duale : w ()
•
Problème dual :
1 1 22
1 2 2 2 2 1 1 2 2 2
max w (λ) λR
w 0 2 22 1 1 24 1 0
1 1 1 w (*) et x1 (*) x 2 (*) 2 4 2 1 w (*) L ( x*, *) 4 On retrouve la solution du problème primal sans saut de dualité point col Solution :
•
*
La pénalisation permet de créer un point col pour
1 en rendant le problème convexe. 2
On peut appliquer une méthode duale au problème pénalisé ( problème initial). La méthode de lagrangien augmenté élargit le domaine d’application des méthodes duales.
632
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.4 Algorithme
Techniques d’optimisation
Max CERF 2018
3.4.4 Algorithme Algorithme de lagrangien augmenté Exemple
633
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.4.4 Algorithme
Méthode de lagrangien augmenté (ou méthode des multiplicateurs) Les principales étapes d’une itération de lagrangien augmenté sont • minimiser le lagrangien augmenté • mettre à jour les paramètres de réglage Minimisation du lagrangien augmenté • Méthode de quasi-Newton • Recherche linéaire ou région de confiance • Précision d’arrêt sur gradient
Minimisation de L Précision k
Paramètres de réglage • Multiplicateurs • Pénalisation • Précisions (gradient, contraintes)
Solution xk+1 Contraintes c(xk+1)
Principales difficultés • Précision contraintes pénalisation forte • Conditionnement pénalisation faible convergence précise difficile réglages à adapter au cas par cas
Mise à jour xk+1 , k+1 , k+1 , k+1
634
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.4 Algorithme
Techniques d’optimisation
Max CERF 2018
3.4.4 Algorithme Méthode de lagrangien augmenté (ou méthode des multiplicateurs) • Réglages à l’itération k : - multiplicateurs k - pénalisation k - précision de résolution k - précision sur les contraintes k •
Minimisation :
min L ρ (x, k ) critère d’arrêt xR n
k
x L x k 1 , k k k
initialisation xk solution xk+1 valeurs des contraintes = c(xk+1) •
Mise à jour des réglages à l’itération k+1 en fonction du respect des contraintes - Si
mise à jour des multiplicateurs λ k 1 λ k ρ k c(x k ) cx k 1 k k 1 k , k 1 k (contraintes bien respectées) résolution plus précise
- Si
cx k 1 k augmentation de la pénalisation k 1 k 10 k 1 k , k 1 k (contraintes mal respectées) résolution moins précise
635
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.4.4 Algorithme
Estimation des multiplicateurs • La solution (x*,*) doit vérifier la condition KKT d’ordre 1.
x L( x*, *) 0 •
f ( x*) c( x*)* 0
On cherche au point x0 le multiplicateur qui approche « au mieux » la condition KKT.
min x L( x 0 , )
•
2
min c( x 0 ) f ( x 0 )
2
Il s’agit d’un problème de moindres carrés de la forme : min A b
2
A c ( x 0 ) avec b f ( x 0 )
La solution MC vérifie les équations normales : A T A MC A T b
1
MC c( x 0 ) T c( x 0 ) c( x 0 ) T f ( x 0 ) •
multiplicateurs « des moindres carrés »
L’estimation des multiplicateurs par moindres carrés est utile : - à la première itération pour initialiser 0 - au cours des itérations pour réinitialiser k (si nécessaire).
636
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.4.4 Exemple
Exemple • Minimisation de f ( x ) 2( x12 x 22 1) x1 sous c( x ) x12 x 22 1 0 •
0.5 Point initial : x , 0 1.3
1 3 Solution : x* , 2 0
1,5
0,7
Suivi de la contrainte
0,6 1 0,5
0,5 0,4 0 -1,5
-1
-0,5
0,3 0
-0,5
0,5
1
1,5 0,2 0,1
-1 0 0,7 -1,5
0,8
0,9
1
-0,1
637
3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.4.4 Exemple
Exemple • Minimisation de f ( x ) 2( x12 x 22 1) x1 sous c( x ) x12 x 22 1 0 •
1 3 Solution : x* , * 2 0
0.5 Point initial : x , 0 1.3 Itération
x1
x2
c(x)
L ( x , )
Newton
1 2 3 4 5 6 7 8
0,50000 0,40707 0,73467 0,91556 0,98869 0,99953 0,99905 0,99995
1,30000 0,34917 0,63433 0,39077 0,16985 0,04158 -0,00320 0,00171
0,00000 -0,71238 -1,29122 -1,38175 -1,38175 -1,30283 -1,49103 -1,50003
1 10 10 10 100 100 100 100
-0,71238 -0,05788 -0,00905 0,00635 0,00188 -0,00188 -0,00009 2,06E-06
0,90050 0,90016 0,50091 0,41807 0,62061 0,01728 0,00172 0,00057
1 1 2 2 2 2 1 3
9
1,00000
0,00045
-1,50003
100
1,85E-06
0,00031
pénalisation précision contrainte
précision résolution
itérations Newton
638
3 Optimisation avec contraintes 3.5 Quadratique séquentiel
Techniques d’optimisation
Max CERF 2018
Sommaire 1. 2.
Bases théoriques Optimisation sans contraintes
3.
Optimisation avec contraintes 3.1 Simplexe 3.2 Point intérieur 3.3 Gradient projeté 3.4 Lagrangien augmenté 3.5 Programmation quadratique séquentielle 3.5.1 Principes 3.5.2 Modèle quadratique 3.5.3 Globalisation 3.5.4 Algorithme 3.6 Convergence
4. 5.
Optimisation discrète Optimisation fonctionnelle
639
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.1 Principes
Techniques d’optimisation
Max CERF 2018
3.5.1 Méthode SQP Problème avec contraintes égalité
c (x) 0 min f(x) sous E xR c I ( x ) 0 n
min f ( x ) sous c( x ) 0 m contraintes actives xR n
Conditions nécessaires de minimum local •
Lagrangien :
L( x, ) f ( x ) T c( x )
•
Gradient :
L ( x , ) f ( x ) c ( x ) L( x, ) x L ( x , ) c( x )
•
Hessien :
2xx L( x, ) 2x L( x, ) 2xx L( x, ) c( x ) L( x, ) 2 2 T 0 x L( x, ) L( x, ) c( x )
•
Conditions d’ordre 1 :
L( x , ) L( x, ) x 0 L ( x , )
2
équations KKT
Méthode SQP On cherche à résoudre les équations KKT par la méthode de Newton.
640
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique
Techniques d’optimisation
Max CERF 2018
3.5.2 Modèle quadratique Méthode de Newton Problème quadratique local
Equivalence avec la méthode de Newton Interprétation Formulation simplifiée Résolution
641
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique
Techniques d’optimisation
Max CERF 2018
3.5.2 Méthode de Newton Equations KKT Les conditions KKT donnent un système d’équations non linéaire en variables (x,)
L( x, ) L( x, ) x 0 L ( x , ) Méthode de Newton Au point (xk, k), l’itération de Newton donne un déplacement d vérifiant
2 L( x k , k )d L( x k , k )
d avec d x R n m d
2xx L( x k , k ) c( x k ) d x f ( x k ) c ( x k ) k T d c( x k ) 0 c ( x k )
2xx L( x k , k )d x c( x k )d x L( x k , k ) T c( x k ) c( x k ) d x
équations de Newton
On peut écrire un problème quadratique-linéaire en variables (dx,d) dont les conditions d’optimalité sont les équations de Newton au point (xk, k).
642
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique
Max CERF 2018
Techniques d’optimisation 3.5.2 Modèle quadratique
Problème quadratique local Au point (xk, k), on considère le problème d’optimisation sur la variable dQPRn
1 min x L( x k , k ) T d QP d TQP 2xx L( x k , k )d QP sous c( x k ) T d QP c( x k ) 0 d R 2 n
QP
problème quadratique-linéaire noté (QP) •
Lagrangien LQP avec des multiplicateurs QP sur les contraintes : c( x k ) T d QP c( x k ) 0
1 L QP (d QP , QP ) x L( x k , k ) T d QP d TQP 2xx L( x k , k )d QP TQP c( x k ) T d QP c( x k ) 2 •
Conditions d’ordre 1 :
L (d , ) L QP (d QP , QP ) d QP QP QP 0 L QP (d QP , QP )
x L( x k , k ) 2xx L( x k , k )d QP c( x k ) QP 0 T c( x k ) d QP c( x k ) 0 système linéaire sur les variables primales dQPRn et les variables duales QPRm
643
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique
Techniques d’optimisation
Max CERF 2018
3.5.2 Modèle quadratique Equivalence avec la méthode de Newton On se place au point (xk, k). •
L’itération de Newton pour résoudre les conditions KKT donne le système en variables (dx,d)
2xx L( x k , k )d x c( x k )d x L( x k , k ) T c( x k ) c( x k ) d x •
Le problème quadratique-linéaire (QP) en variables dQPRn 1 min n x L(x k , k ) T d QP d TQP 2xx L(x k , k )d QP sous c(x k ) T d QP c(x k ) 0 d QP R 2
a pour conditions d’ordre 1 le système en variables (dQP,QP)
x L( x k , k ) 2xx L( x k , k )d QP c( x k ) QP 0 T c( x k ) d QP c( x k ) 0 •
d QP d x R n Les 2 systèmes linéaires sont identiques en posant : m QP d R
644
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique
Max CERF 2018
Techniques d’optimisation 3.5.2 Modèle quadratique
Interprétation • L’itération de Newton au point (xk, k) équivaut à la résolution du problème quadratique local
1 d d QP min n x L(x k , k ) T d QP d TQP 2xx L(x k , k )d QP sous c(x k ) T d QP c(x k ) 0 x d QP R 2 d QP multiplicateur QP •
On peut formuler le problème quadratique local (QP) en ~ 2 L ( d ) L ( x d , ) o d QP k QP k QP ~ minn L(d QP ) sous ~c (d QP ) 0 avec ~ d QP R o d QP c (d QP ) c( x k d QP )
L à l’ordre 2 en x c à l’ordre 1 en x
minimisation d’un modèle quadratique du lagrangien sous un modèle linéaire des contraintes Récapitulatif • Optimisation sans contrainte Newton Minimiser un modèle quadratique de la fonction • Optimisation avec contrainte Newton Minimiser un modèle quadratique du lagrangien sous un modèle linéaire des contraintes
645
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique
Max CERF 2018
Techniques d’optimisation 3.5.2 Modèle quadratique
Formulation simplifiée • L’itération de Newton au point (xk, k) s’écrit en variables (dx,d)
2xx L( x k , k )d x c( x k )d x L( x k , k ) f ( x k ) c( x k ) k T c( x k ) c( x k ) d x •
En faisant le changement de variable dl = k + d , on obtient
2xx L( x k , k )d x c( x k )d l f ( x k ) T c( x k ) c( x k ) d x •
L’itération de Newton en variables (dx,dl) équivaut au problème quadratique local
1 min f ( x k ) T d QP d TQP 2xx L( x k , k )d QP sous c( x k ) T d QP c( x k ) 0 d R 2 multiplicateur QP n
QP
même formulation avec f ( x k ) au lieu de x L( x k , k )
d d QP x d l QP d d QP x d QP k
646
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique
Max CERF 2018
Techniques d’optimisation 3.5.2 Modèle quadratique
Solution du problème quadratique • On peut calculer explicitement la solution du problème quadratique local 1 minn f ( x k ) T d QP d TQP 2xx L( x k , k )d QP sous c( x k ) T d QP c( x k ) 0 d QP R 2 1 T Q 2xx L( x k , k ) A c ( x k ) T T min d QP Qd QP c d QP sous Ad QP b avec et c f ( x ) d R 2 k b c ( x k ) n
QP
• •
• •
AQ1A T 1 AQ1c b Si Q est définie positive, la solution est : QP 1 T d QP Q A QP c Si Q n’est pas définie positive, on remplace Q par une matrice H définie positive « proche » factorisation de Cholesky modifiée ou H Q I avec suffisamment grand
d d QP x x k d QP Le déplacement à partir du point courant (xk, k) est : x k 1 d QP k k 1 QP La résolution explicite est généralement trop coûteuse à cause des inversions de matrices. On résout le problème quadratique-linéaire par un algorithme itératif dédié.
647
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
Techniques d’optimisation
Max CERF 2018
3.5.3 Globalisation Méthode de Newton SQP avec recherche linéaire
SQP avec région de confiance Correction d’ordre 2 Exemple
648
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
Techniques d’optimisation
Max CERF 2018
3.5.3 Globalisation Méthode de Newton • La résolution des équations KKT par la méthode de Newton équivaut à la résolution d’une suite de problèmes quadratiques programmation quadratique séquentielle (SQP) •
La méthode de Newton n’est pas globalement convergente. globalisation nécessaire par recherche linéaire ou région de confiance fonction mérite F mesurant la progression de l’algorithme vis-à-vis - de l’amélioration du critère - du respect des contraintes critère augmenté, lagrangien augmenté
Globalisation Deux grandes méthodes de globalisation • Recherche linéaire La solution du problème QP sert de direction de descente pour une recherche linéaire. réglage du pas de déplacement pour améliorer la fonction mérite •
Région de confiance On ajoute au problème QP une contrainte de région de confiance. réglage du rayon de confiance en fonction du rapport de réduction de la fonction mérite
649
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
Techniques d’optimisation
Max CERF 2018
3.5.3 SQP avec recherche linéaire Principe • On effectue une recherche linéaire suivant la direction dx de la solution du problème QP. •
L’amélioration est mesurée par une fonction mérite F. La fonction F doit prendre en compte l’amélioration du critère et le respect des contraintes. pénalisation de la violation des contraintes différents choix possibles
•
La fonction F doit permettre de converger vers l’optimum du problème initial.
Fonction de mérite exacte
c (x) 0 min f ( x ) sous E xR c I ( x ) 0 n
problème (PO)
F est une fonction de mérite exacte si tout minimum local x* de (PO) est aussi un minimum local sans contrainte de F x* minimum local de x* minimum local de
c (x) 0 minn f ( x ) sous E xR c I ( x ) 0 minn F( x ) xR
650
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
Max CERF 2018
Techniques d’optimisation 3.5.3 SQP avec recherche linéaire
Fonction mérite l1 • Problème avec contraintes égalité minn f ( x ) sous c( x ) 0 contraintes actives xR
•
m
Critère augmenté avec la norme 1 :
F1, ( x ) f ( x ) c( x ) 1 avec c( x ) 1 c i ( x ) i 1
F1, est une fonction de mérite exacte lorsque le coefficient de pénalisation est assez grand Théorème On suppose que (x*,*) vérifient les conditions suffisantes d’optimalité du problème (PO) L( x*, *) 0 d T 2 L( x*, *)d 0 , d D( x*) avec D(x*) = cône des directions en x* xx F1, est une fonction de mérite exacte si max i * i 1,, m
Réglage de • trop grand mauvais conditionnement de la fonction mérite F1, difficulté de convergence • trop petit respect insuffisant des contraintes optimum problème initial (fonction mérite F1, non exacte)
651
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
Max CERF 2018
Techniques d’optimisation 3.5.3 SQP avec recherche linéaire
Dérivée directionnelle de F1, • La direction de recherche linéaire est donnée par la solution dx du problème QP
1 min f ( x k ) T d QP d TQP 2xx L( x k , k )d QP sous c( x k ) T d QP c( x k ) 0 d R 2
d x d QP
n
QP
•
F1, n’est pas dérivable évaluation de la dérivée directionnelle suivant la direction dx
dF1, ( x k sd x ) ' f ( x k ) T d x c( x k ) 1 F1, ( x ) f ( x ) c( x ) 1 F1, d ds s 0 x
•
F vérifie ' 1, d x
F
' 1, d x
d Tx 2xx L( x k , k )d x d l
Valeur minimale de • dx est une direction de descente pour F1, si d l
c( x )
1
avec dl = k + d
d Tx 2xx L( x k , k )d x c( x ) 1
•
Condition suffisante
dl
•
F1, est une fonction de mérite exacte si
max i *
i 1,, m
si 2xx L( x k , k ) 0 conditions cohérentes car dl = k + d avec d*=0
652
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
Techniques d’optimisation
Max CERF 2018
3.5.3 SQP avec recherche linéaire Calcul de la dérivée directionnelle de F1, • On cherche la dérivée directionnelle de F1, en x0 suivant la direction d.
•
dF1, ( x0 sd ) 1 , d ds s 0 La direction d est solution du problème QP 1 minn f ( x0 )T d d T 2xx L( x0 ,0 )d sous c( x0 )T d c( x0 ) 0 d R 2
•
Développement à l’ordre 1 de F1, ( x ) f ( x ) c( x ) 1
F '
F1, ( x0 sd ) f ( x0 sd ) c( x0 sd ) 1
F ( x ) f ( x0 ) c( x0 ) 1 avec 1, 0 T 1 c( x0 ) d c( x0 ) F1, ( x0 ) c( x0 ) 1 sf ( x0 )T d ( 1 s )c( x0 ) 1
f ( x0 ) sf ( x0 )T d c( x0 ) sc( x0 )T d
F1, ( x0 ) sf ( x0 )T d s c( x0 ) 1 F1, d lim '
s 0
F1, ( x0 sd ) F1, ( x0 ) s
pour s 1
f ( x0 )T d c( x0 ) 1
653
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
Max CERF 2018
Techniques d’optimisation 3.5.3 SQP avec région de confiance
Principe • On ajoute au problème quadratique local une contrainte de région de confiance. c( x k ) T d QP c( x k ) 0 1 T 2 T min f ( x k ) d QP d QP xx L( x k , k )d QP sous d QP R n 2 d QP r • •
On peut exprimer la contrainte de région de confiance en norme 2 ou en norme . L’amélioration est mesurée par une fonction mérite F. Le rayon de confiance est réglé en fonction du rapport de réduction de la fonction mérite.
Fonction de mérite l2 • On peut prendre une fonction mérite avec pénalisation quadratique
F2, ( x ) f ( x ) c( x ) •
•
2
avec c( x ) 2
m
ci (x) 2 i 1
La fonction modèle quadratique correspondante est 1 Fˆ 2, (d QP ) f ( x k ) T d QP d TQP 2xx L( x k , k )d QP c( x k ) T d QP c( x k ) 2 F2, ( x k ) F2, ( x k d PQ ) Le rapport de réduction est défini par Fˆ ( x ) Fˆ ( x d ) 2,
k
2,
k
2
PQ
654
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
Techniques d’optimisation
Max CERF 2018
3.5.3 Correction d’ordre 2 Effet Maratos • La direction de déplacement obtenue en résolvant le problème QP peut simultanément : - rapprocher de l’optimum - dégrader la fonction mérite basée sur l’amélioration du critère et des contraintes • Ceci peut conduire à bloquer un algorithme SQP en rejetant des déplacements favorables. Correction d’ordre 2 • On résout une 1ère fois le problème QP au point xk solution dQP 1 minn f kT d QP d TQP 2xx L k d QP sous c Tk d QP c k 0 d QP R 2 c(xk + dQP) = c
•
On évalue la valeur des contraintes au point xk + dQP
•
Si la valeur de c(xk + dQP) est trop différente de 0 (non-linéarité des contraintes), on résout une 2ère fois le problème QP au point xk en corrigeant la valeur des contraintes
1 min f kT d QP d TQP 2xx L k d QP sous c Tk d QP c k c d R 2 n
correction d’ordre 2
QP
•
On obtient une direction de déplacement qui tient compte de la non-linéarité des contraintes.
655
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
Techniques d’optimisation
Max CERF 2018
3.5.3 Exemple Effet Maratos • Minimisation de f ( x ) 2( x 12 x 22 1) x 1 sous c( x ) x 12 x 22 1 0 •
•
•
Solution :
1 3 x* , * 2 0
Point courant :
cos 4 cos 1 2 cos f , c x k sin 4 sin 2 sin
Problème QP :
min4 cos 1d1 4d 2 sin
en prenant
2xx L I
Solution QP :
1 0 2xx Lx*, * I 0 1
d1 , d 2
1 2 d1 d 22 sous d1 cos d 2 sin 0 2
1 d 22 d 2 sin cos 2 d 2 cos sin 2 sin sin d k cos sin cos d1 d 2 tan min d 2 tan 2
•
Nouveau point : x k 1
cos sin 2 sin sin cos
656
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
Max CERF 2018
Techniques d’optimisation 3.5.3 Exemple
Effet Maratos • Minimisation de f ( x ) 2( x12 x 22 1) x1 sous c( x ) x12 x 22 1 0 On évalue en
cos x k sin
et
x k 1
cos sin 2 sin sin cos
•
c( x k ) cos 2 sin 2 1 c( x k ) 0 La contrainte : 2 c( x ) sin 2 2 2 c ( x ) cos sin sin sin cos 1 k 1 k 1
•
Le critère :
•
2 cos 1 x k x * 21 cos x k x* 1 sin L’écart à l’optimum x* : 0 x x* 1 cos cos x x * 2 1 cos k 1 sin k 1
f ( x k ) 2c( x k ) cos f ( x ) 2c( x ) cos sin 2 k 1 k 1
f ( x ) cos k 2 f ( x k 1 ) sin cos
Le point xk+1 est plus proche de l’optimum que le point xk, alors que : - la valeur du critère est dégradée : f(xk+1) > f(xk) déplacement rejeté - la valeur de la contrainte est dégradée : c(xk+1) 0
657
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
Techniques d’optimisation
Max CERF 2018
3.5.3 Exemple Correction d’ordre 2 • Minimisation de f ( x ) 2( x12 x 22 1) x1 sous c( x ) x12 x 22 1 0
•
cos sin 2 c( x k 1 ) sin 2 c On évalue la contrainte au point x k 1 sin sin cos Le problème QP est résolu une 2ème fois en corrigeant la valeur de la contrainte : 1 min4 cos 1d1 4d 2 sin d12 d 22 sous d1 cos d 2 sin sin 2 d ,d 2
1
•
2
Solution QP :
1 1 2 d1 d 2 sin tan min d 2 tan d 22 d 2 sin d 2 sin cos sin 3 2 d 2 2 cos sin cos sin 2 d k sin correction d’ordre 2 cos sin 2
•
Déplacement d’ordre 1 : tangent de norme sin
•
Déplacement d’ordre 2 : radial
de norme sin2
suppose la contrainte linéaire
corrige la non-linéarité
658
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation
Techniques d’optimisation
Max CERF 2018
3.5.3 Exemple Correction d’ordre 2 • Minimisation de f ( x ) 2( x12 x 22 1) x1 sous c( x ) x12 x 22 1 0 1,5
sin Ordre 1 d sin cos
1
0,5
0 -1,5
-1
-0,5
0
0,5
1
1,5
2 cos Ordre 2 d sin sin
-0,5
-1
-1,5
659
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Techniques d’optimisation
Max CERF 2018
3.5.4 Algorithme Algorithme SQP Exemples - Exemple 1 : comparaison Newton SQP - Exemple 2 : SQP sans avec globalisation - Exemple 3 : comparaison SQP Lagrangien augmenté
660
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.5.4 Algorithme
Algorithme SQP Les principales étapes d’une itération SQP sont • construire le modèle quadratique local au point courant • résoudre le problème quadratique-linéaire • appliquer une technique de globalisation Modèle quadratique local • Sélection des contraintes actives • Mise à jour du hessien (quasi-Newton) Résolution du problème quadratique-linéaire • Modification pour avoir un hessien défini positif • Algorithme spécialisé problème quadratique Globalisation • Mise à jour de la pénalisation de la fonction mérite • Recherche linéaire ou région de confiance grand nombre de variantes possibles stratégies et réglages à adapter au cas par cas
Mise à jour xk , HLk , k
Solution problème quadratique dQP
Globalisation dk
661
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.5.4 Algorithme
Estimation des multiplicateurs • La solution (x*,*) doit vérifier la condition KKT d’ordre 1.
x L( x*, *) 0 •
f ( x*) c( x*)* 0
On cherche au point x0 le multiplicateur qui approche « au mieux » la condition KKT.
min x L( x 0 , )
•
2
min c( x 0 ) f ( x 0 )
2
Il s’agit d’un problème de moindres carrés de la forme : min A b
2
A c ( x 0 ) avec b f ( x 0 )
La solution MC vérifie les équations normales : A T A MC A T b
1
MC c( x 0 ) T c( x 0 ) c( x 0 ) T f ( x 0 ) •
multiplicateurs « des moindres carrés »
L’estimation des multiplicateurs par moindres carrés est utile : - à la première itération pour initialiser 0 - au cours des itérations pour réinitialiser k (si nécessaire).
662
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.5.4 Exemples
Exemple 1 : Comparaison Newton SQP f ( x ) 2x 12 2x 22 2x 1 x 2 4x 1 6x 2 sous c( x ) 2x 12 x 2 0 • Minimisation de •
Comparaison de 3 méthodes :
Résolution exacte • Lagrangien : •
résolution exacte , méthode de Newton , algorithme SQP
L( x, ) 2x 12 2x 22 2x 1 x 2 4x 1 6x 2 2x 12 x 2
4x 1 2x 2 4 4x 1 0 Conditions KKT : 4x 2 2x 1 6 0 2x 2 x 0 2 1
Matrices utiles •
4x 1 2x 2 4 4x 1 Newton : Fx 1 , x 2 , 4x 2 2x 1 6 2x 12 x 2
•
SQP :
4x 2x 2 4 f x 1 4 x 2 x 6 1 2
x 1 * 1.06902 solution x 2 * 2.28563 * 1.00446 4 4 2 4x 1 Fx 1 , x 2 , 2 4 1 4x 1 0 1
4x cx 1 1
4 4 2 2xx Lx, 2 4
663
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Techniques d’optimisation
Max CERF 2018
3.5.4 Exemples Exemple 1 : Méthode de Newton •
Itération de Newton :
d x1 Fx 1 , x 2 , d x 2 Fx 1 , x 2 , d
Point initial :
6 x1 0 F x , x , x 1 2 2 1 2 1 0
•
Itération 1 :
4 2 0 d x1 6 2 4 1 d x 2 2 0 1 0 d 1
•
x1 x 1 d x1 Nouveau point : x 2 x 2 d x 2 d
•
La méthode de Newton converge en 7 itérations, sans globalisation.
•
4 2 0 Fx 1 , x 2 , 2 4 1 0 1 0
d x1 1 d x2 1 d 8 x1 1 x2 0 8
664
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.5.4 Exemples
Exemple 1 : Méthode de Newton Itération
x1
x2
f(x1,x2)
c(x1,x2)
1
0,00000
1,00000
0,00000
-4,00000
-1,00000
2
1,00000
0,00000
-8,00000
-2,00000
2,00000
3
1,20000
2,80000
2,80000
-9,76000
0,08000
4
1,08639
2,33466
1,16588
-10,16445
0,02582
5
1,06933
2,28636
1,00676
-10,14342
0,00058
6
1,06902
2,28563
1,00446
-10,14283
1,88E-07
7
1,06902
2,28563
1,00446
-10,14283
1,60E-14
F(x1,x2,) -6,000 -2,000 -1,000 -32,000 0,000 2,000 8,640 0,000 0,080 7,4E-01 0,0E+00 2,6E-02 1,1E-02 0,0E+00 5,8E-04 2,8E-06 0,0E+00 1,9E-07 2,1E-13 0,0E+00 1,6E-14
dF(x1,x2,) 4,000 -2,000 0,000 -28,000 -2,000 4,000 15,200 -2,000 4,800 8,664 -2,000 4,346 8,027 -2,000 4,277 8,018 -2,000 4,276 8,018 -2,000 4,276
-2,000 4,000 -1,000 -2,000 4,000 -1,000 -2,000 4,000 -1,000 -2,000 4,000 -1,000 -2,000 4,000 -1,000 -2,000 4,000 -1,000 -2,000 4,000 -1,000
0,000 -1,000 0,000 4,000 -1,000 0,000 4,800 -1,000 0,000 4,346 -1,000 0,000 4,277 -1,000 0,000 4,276 -1,000 0,000 4,276 -1,000 0,000
665
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.5.4 Exemples
Exemple 1 : Algorithme SQP • •
•
•
•
Problème quadratique linéaire :
Point initial :
x1 0 x2 1 0
Itération 1 :
6 min d x1 ,d x 2 2
T
1 min2 f ( x ) T d x d Tx 2xx L( x, )d x sous c( x ) T d x c( x ) 0 d x R 2
6 f x 2
d x1 1 d x1 d d 2 x2 x2
T
0 cx 1
4 2 d x1 sous d 2 4 x 2
4 2 2xx Lx, 2 4
0 d x1 1 0 d 1 x 2 x
min 2d 2x1 4d x1 d 1 d x1 avec QP 8 x1 d x 2 1 d x 2 1 x 1 d x1 x1 x1 1 Nouveau point : x 2 x 2 d x 2 x2 0 8 QP On retrouve les itérations de la méthode de Newton sans globalisation. Le multiplicateur est directement le multiplicateur QP du problème quadratique.
666
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.5.4 Exemples
Exemple 1 : Algorithme SQP Itération
x1
x2
f(x1,x2)
c(x1,x2)
f
c
L
1
0,00000
1,00000
0,00000
-4,00000
-1,00000
-6,000
0,000
-6,000
4,000
-2,000
-2,000
-1,000
-2,000
-2,000
4,000
0,000
4,000
-32,000 -28,000
-2,000
-8,000
-1,000
0,000
-2,000
4,000
-4,800
4,800
8,640
15,200
-2,000
2,800
-1,000
0,000
-2,000
4,000
-4,324
4,346
0,74262
8,664
-2,000
1,166
-1,000
0,00000
-2,000
4,000
-4,295
4,277
1,1E-02
8,027
-2,000
1,007
-1,000
0,0E+00
-2,000
4,000
-4,295
4,276
2,8E-06
8,018
-2,000
1,004
-1,000
0,0E+00
-2,000
4,000
-4,295
4,276
2,1E-13
8,018
-2,000
1,004
-1,000 0,0E+00
-2,000
4,000
2
3
4
5
6
7
1,00000
1,20000
1,08639
1,06933
1,06902
1,06902
0,00000
2,80000
2,33466
2,28636
2,28563
2,28563
-8,00000
2,80000
1,16588
1,00676
1,00446
1,00446
-2,00000
-9,76000
-10,16445
-10,14342
-10,14283
-10,14283
2,00000
0,08000
0,02582
0,00058
1,9E-07
1,6E-14
2L(x1,x2,)
667
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Techniques d’optimisation
Max CERF 2018
3.5.4 Exemples Exemple 2 : SQP sans avec globalisation 2 • Minimisation de f ( x ) x 1 x 2 sous c( x ) x 12 x 2 1 1 0 •
Différents points initiaux globalisation nécessaire pour assurer la convergence
Résolution exacte • Lagrangien : •
Conditions KKT :
L( x, ) x 1 x 2 x 12 ( x 2 1) 2 1
1 2x 1 0 1 2( x 2 1) 0 x 2 x 12 1 0 2 1
x 1 * 1 / 2 0.70711 solution x 2 * 1 1 / 2 0.29289 * 1 / 2 0.70711
Matrices utiles • • •
Gradient :
1 f x 1
2x1 cx 2( x 2 1)
2 0 2xx Lx, 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 3.5 Quadratique séquentiel 3.5.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.5.4 Exemples
Exemple 2 : SQP sans globalisation 2 • Minimisation de f ( x ) x 1 x 2 sous c( x ) x 12 x 2 1 1 0 • •
x1 1 Point initial : x 2 1 1
2,5
Algorithme SQP sans globalisation convergence rapide
1,5
Itération 1 2 3 4 5 6 7
x1 1,00000 0,00000 -1,00000 -0,77401 -0,70743 -0,70714 -0,70711
x2 -1,00000 -0,50000 -0,08333 0,24973 0,28900 0,29291 0,29289
1,00000 0,50000 0,47222 0,60672 0,69818 0,70707 0,70711
2
1
0,5
0 -2
-1,5
-1
-0,5
0
0,5
1
1,5
2
-0,5
-1
669
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.5.4 Exemples
Exemple 2 : SQP sans globalisation 2 • Minimisation de f ( x ) x 1 x 2 sous c( x ) x 12 x 2 1 1 0 • •
x 1 1.5 x 2 Point initial : 2 1
2,5
2
Algorithme SQP sans globalisation convergence rapide Itération 1 2 3 4 5 6 7
x1 -1,50000 -1,36538 -1,11784 -0,80352 -0,70990 -0,70718 -0,70711
x2 2,00000 1,07692 -0,18542 0,21615 0,28607 0,29293 0,29289
1,00000 0,42308 0,44290 0,57183 0,68889 0,70697 0,70711
1,5
1
0,5
0 -2
-1,5
-1
-0,5
0
0,5
1
1,5
2
-0,5
-1
670
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.5.4 Exemples
Exemple 2 : SQP sans globalisation 2 • Minimisation de f ( x ) x 1 x 2 sous c( x ) x 12 x 2 1 1 0 • •
x 1 0.1 x 1 Point initial : 2 1
2,5
2
Algorithme SQP sans globalisation convergence lente Itération 1 2 3 4 5 6 7 8 9 10 11 12
x1 -0,10000 -5,05000 -2,62404 -1,50286 -1,08612 -1,01047 -1,33383 -0,96379 -0,72273 -0,70890 -0,70710 -0,70711
x2 1,00000 1,00000 0,50000 -44,50000 0,75032 -21,27825 0,87826 -8,90106 0,96364 -2,13558 1,19247 0,31161 -0,65614 0,39510 0,10912 0,48447 0,25387 0,63996 0,29344 0,70407 0,29289 0,70710 0,29289 0,70711
1,5
1
0,5
0 -2
-1,5
-1
-0,5
0
0,5
1
1,5
2
-0,5
-1
671
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.5.4 Exemples
Exemple 2 : SQP avec globalisation 2 • Minimisation de f ( x ) x 1 x 2 sous c( x ) x 12 x 2 1 1 0 • •
x 1 0.1 x 1 Point initial : 2 1
2,5
2
Algorithme SQP avec globalisation convergence plus rapide Itération 1 2 3 4 5 6 7 8
x1 -0,10000 -1,33750 -1,03171 -0,94371 -0,74975 -0,71035 -0,70710 -0,70711
x2 1,00000 1,00000 0,87500 -44,50000 0,82117 1,63129 0,58304 0,62377 0,22132 0,65803 0,29156 0,70147 0,29288 0,70708 0,29289 0,70711
1,5
1
0,5
0 -2
-1,5
-1
-0,5
0
0,5
1
1,5
2
-0,5
-1
672
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.5.4 Exemples
Exemple 2 : SQP avec globalisation Itération
x1
x2
L
1
-0,10000
1,00000
1,00000
9,90000
2,00000
1,00000 2 3 4 5 6 7 8
-1,33750 -1,03171 -0,94371 -0,74975 -0,71035 -0,70710 -0,70711
0,87500 0,82117 0,58304 0,22132 0,29156 0,29288 0,29289
-44,50000 1,63129 0,62377 0,65803 0,70147 0,70708 0,70711
2L(x1,x2,)
dx
Pas s
0,00000
0,0
-4,95000
0,25
0,00000
2,00000
0,0
-0,50000
0,25
-3,36370
-89,00000
0,00000
100,0
0,30579
1,00
0,59218
0,00000
-89,00000
100,0
-0,05383
1,00
-0,28710
3,26258
0,00000
0,0
0,08800
1,00
0,77690
0,00000
3,26258
0,0
-0,23812
1,00
-0,24198
1,24754
0,00000
0,0
0,19396
1,00
0,45126
0,00000
1,24754
0,0
-0,36172
1,00
-0,05185
1,31605
0,00000
0,0
0,03940
1,00
-0,09244
0,00000
1,31605
0,0
0,07024
1,00
-4,6E-03
1,40294
0,00000
0,0
3,2E-03
1,00
-1,9E-03
0,00000
1,40294
0,0
1,3E-03
1,00
4,7E-06
1,41417
0,00000
0,0
-3,3E-06
1,00
-1,7E-05
0,00000
1,41417
0,0
1,2E-05
1,00
-4,2E-10
1,41421
0,00000
0,0
3,0E-10
1,00
2,7E-10
0,00000
1,41421
0,0
-1,9E-10
1,00
673
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.5.4 Exemples
Exemple 2 : SQP sans globalisation 2 • Minimisation de f ( x ) x 1 x 2 sous c( x ) x 12 x 2 1 1 0 • •
x 1 0.1 Point initial : x 2 1 1
2,5
Algorithme SQP sans globalisation solution = maximum local
1,5
Itération 1 2 3 4 5 6 7 8 9 10
x1 0,10000 5,05000 2,62404 1,50282 1,08576 1,00831 0,92650 0,70291 0,70870 0,70711
x2 1,00000 1,00000 0,50000 -54,50000 0,75028 -26,28019 0,87782 -11,41974 0,95907 -3,50192 1,11015 -0,71030 1,72824 -0,55351 1,74580 -0,67324 1,70662 -0,70579 1,70711 -0,70710
2
1
0,5
0 -2
-1,5
-1
-0,5
0
0,5
1
1,5
2
-0,5
-1
674
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.5.4 Exemples
Exemple 2 : SQP avec globalisation 2 • Minimisation de f ( x ) x 1 x 2 sous c( x ) x 12 x 2 1 1 0 • •
x 1 0.1 Point initial : x 2 1 1
2,5
Algorithme SQP avec globalisation convergence
1,5
Itération 1 2 3 4 5 6 7 8 9 10 11 12
x1 0,10000 1,33750 1,03687 0,97837 0,94133 0,50173 -0,82925 -1,05655 -0,80511 -0,70800 -0,70721 -0,70711
x2 1,00000 1,00000 0,87500 -54,50000 0,87643 4,23389 0,75123 -0,24333 0,60794 -0,35556 -0,43482 -0,26135 -0,67191 0,26961 -0,18790 0,45516 0,23137 0,58156 0,28512 0,69118 0,29295 0,70699 0,29289 0,70711
2
1
0,5
0 -2
-1,5
-1
-0,5
0
0,5
1
1,5
2
-0,5
-1
675
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.5.4 Exemples
Exemple 2 : SQP avec globalisation Itération
x1
x2
L
2L(x1,x2,)
dx
Pas s
1
0,10000
1,00000
1,00000
2
1,33750
0,87500
-54,50000
3
1,03687
0,87643
4,23389
4
0,97837
0,75123
-0,24333
5
0,94133
0,60794
-0,35556
6
0,50173
-0,43482
-0,26135
7
-0,82925
-0,67191
0,26961
8
-1,05655
-0,18790
0,45516
9
-0,80511
0,23137
0,58156
10
-0,70800
0,28512
0,69118
11
-0,70721
0,29295
0,70699
12
-0,70711
0,29289
0,70711
-9,90000 1,00000 12,32567 -0,05847 0,49539 1,06014 0,30426 1,17691 0,50796 1,20493 1,27054 0,22632 0,24512 -0,52197 -0,22888 -0,38167 -0,11295 -0,06252 -1,1E-03 -1,1E-02 -1,4E-04 8,0E-05 1,2E-08 -2,5E-08
2,00000 0,00000 0,00000 2,00000 -109,00000 0,00000 0,00000 -109,00000 8,46779 0,00000 0,00000 8,46779 -0,48667 0,00000 0,00000 -0,48667 -0,71112 0,00000 0,00000 -0,71112 -0,52271 0,00000 0,00000 -0,52271 0,53921 0,00000 0,00000 0,53921 0,91032 0,00000 0,00000 0,91032 1,16311 0,00000 0,00000 1,16311 1,38235 0,00000 0,00000 1,38235 1,41398 0,00000 0,00000 1,41398 1,41421 0,00000 0,00000 1,41421
0,0 0,0 150,0 150,0 0,0 0,0 1,0 1,0 1,0 1,0 1,0 1,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0
4,95000 -0,50000 -0,30063 0,00143 -0,05850 -0,12520 -0,59272 -2,29267 -1,75838 -4,17104 -2,66197 -0,47418 -0,45458 0,96802 0,25143 0,41927 0,09711 0,05376 8,0E-04 7,8E-03 1,0E-04 -5,7E-05 -8,4E-09 1,8E-08
0,25 0,25 1,00 1,00 1,00 1,00 0,06 0,06 0,25 0,25 0,50 0,50 0,50 0,50 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00
676
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.5.4 Exemples
Exemple 3 : Comparaison SQP Lagrangien augmenté • Minimisation de f ( x ) 2( x12 x 22 1) x1 sous c( x ) x12 x 22 1 0 •
0.5 Point initial : x , 0 1.3
1 3 Solution : x* , 2 0
1,5
1,5
SQP
Lagrangien augmenté 1
1
0,5
0,5
0
-1,5
-1
-0,5
0
0
0,5
1
1,5
-1,5
-1
-0,5
0
-0,5
-0,5
-1
-1
-1,5
-1,5
0,5
1
1,5
677
3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme
Max CERF 2018
Techniques d’optimisation 3.5.4 Exemples
Exemple 3 : Comparaison SQP Lagrangien augmenté SQP Itération 1 2 3 4 5 6 7 8 9
x1 0,50000 0,59665 1,12042 1,18366 1,03482 1,00084 1,00000
x2 1,30000 0,90129 0,46118 -0,19988 0,02190 -0,00103 0,00000
Lagrangien augmenté 0,00000 -1,38660 -1,70047 -1,57065 -1,52359 -1,50118 -1,50000
Convergence rapide, très précise
x1 0,50000 0,40707 0,73467 0,91556 0,98869 0,99953 0,99905 0,99995 1,00000
x2 1,30000 0,34917 0,63433 0,39077 0,16985 0,04158 -0,00320 0,00171 0,00045
0,00000 -0,71238 -1,29122 -1,38175 -1,38175 -1,30283 -1,49103 -1,50003 -1,50003
Convergence plus lente, moins précise suivi de la contrainte conditionnement
678
3 Optimisation avec contraintes 3.6 Convergence
Techniques d’optimisation
Max CERF 2018
Sommaire 1. 2.
Bases théoriques Optimisation sans contraintes
3.
Optimisation avec contraintes 3.1 Simplexe 3.2 Point intérieur 3.3 Gradient projeté 3.4 Lagrangien augmenté 3.5 Programmation quadratique séquentielle 3.6 Convergence 3.6.1 Convergence globale 3.6.2 Comparaison des algorithmes 3.6.3 Difficultés pratiques
4. 5.
Optimisation discrète Optimisation fonctionnelle
679
3 Optimisation avec contraintes 3.6 Convergence 3.6.1 Convergence globale
Techniques d’optimisation
Max CERF 2018
3.6.1 Convergence globale Problème sans contraintes
min f ( x ) xR n
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
•
Convergence globale
•
Le domaine de convergence est l’ensemble des points initiaux x0 à partir desquels on a la convergence globale.
•
Le domaine de convergence peut être très réduit lorsque : - la fonction est très non linéaire - la fonction est mal conditionnée difficulté principale de la méthode de Newton
= convergence vers un point stationnaire convergence vers le minimum global
680
3 Optimisation avec contraintes 3.6 Convergence 3.6.1 Convergence globale
Max CERF 2018
Techniques d’optimisation 3.6.1 Convergence globale
Descente avec recherche linéaire • Un algorithme à base de recherche linéaire génère une suite (xk)kN à partir du point x0 : - suivant des directions dk x k 1 x k s k d k - avec des pas sk •
On suppose que : - les directions dk sont des directions de descente - les pas sk vérifient les conditions de Wolfe
f ( x k ) T d k 0
f ( x k sd k ) f ( x k ) c1sf ( x k ) T d k T T f ( x k sd k ) d k c 2 f ( x k ) d k
- le gradient de la fonction est continu au sens de Lipschitz
•
f ( x k ) T d k Si les directions ne deviennent pas « trop » orthogonales au gradient : , k f ( x k ) d k alors l’algorithme est globalement convergent pour tout x0Rn : lim f (x k ) 0 k
condition vérifiée par : - la méthode de plus forte pente - la méthode de Newton si le conditionnement du hessien est borné - les méthodes avec des itérations périodiques de plus forte pente méthodes globalement convergentes
681
3 Optimisation avec contraintes 3.6 Convergence 3.6.1 Convergence globale
Max CERF 2018
Techniques d’optimisation 3.6.1 Convergence globale
Eléments de la démonstration k = angle entre le gradient f(xk) et la direction de descente dk •
Théorème de Zoutendijk : cos k f k 2
k
2
f kT d k avec cos k f k d k
Démontré à partir de : f ( y ) f ( x ) L y x , x , y
f ( xk sd k ) f ( xk ) c1 sf ( xk )T d k et T T f ( xk sd k ) d k c2 f ( xk ) d k
(condition de Lipschitz) (conditions de Wolfe)
cos 2 k 0 ou f k 0 •
Méthode de plus forte pente : d k f k
•
Méthode de Newton :
cos k 1 lim f ( xk ) 0 k
d k H k f k avec H k H k1 M
(conditionnement borné)
x T Ax x T Ax , σ n min T En utilisant le théorème de Rayleigh-Ritz : σ 1 max x 0 x 0 x x xT x (valeurs propres 1… n) cos k 1 / M lim f ( xk ) 0 k
682
3 Optimisation avec contraintes 3.6 Convergence 3.6.2 Comparaison des algorithmes
Max CERF 2018
Techniques d’optimisation 3.6.2 Comparaison des algorithmes
Classification • Méthodes primales • Méthodes primales-duales • Méthodes duales
Problème traité Objectif
Méthode primale
Méthode primale-duale
Méthode duale
problème primal
problème primal
problème dual
min f
solution KKT
max w
- méthode directe - point stationnaire
- méthode indirecte - point stationnaire
- méthode indirecte - point col
Itérations
admissibles
admissibles ou non
non admissibles
Variables
primales x
primales x , duales
primales x , duales
Algorithmes
- simplexe (LP) - gradient projeté - pénalisation
- point intérieur (LP, NLP) - séquentiel quadratique
- simplexe dual (LP) - lagrangien augmenté - Uzawa
683
3 Optimisation avec contraintes 3.6 Convergence 3.6.2 Comparaison des algorithmes
Max CERF 2018
Techniques d’optimisation 3.6.2 Comparaison des algorithmes
Méthode (auteurs, date)
Type
Convergence
Avantages
Difficultés
Plus forte pente (Cauchy 1847)
sans contraintes
linéaire
convergence globale
convergence lente si mauvais conditionnement
Quasi-Newton (DFP 1959, BFGS 1970)
sans contraintes
superlinéaire quadratique
1 minimisation par itération
hessien défini positif stockage mémoire (n2)
Gradient conjugué (Hestenes 1951, Stiefel 1952) (Fletcher-Reeves 1964)
sans contraintes
superlinéaire quadratique
stockage mémoire réduit
hessien défini positif n minimisations par itération
Simplexe (Dantzig 1950)
problème linéaire
exponentiel
vitesse de convergence itérations admissibles
algorithme exponentiel dégénérescence
Gradient projeté, réduit (Rosen 1960, Wolfe 1962) (Abadie-Carpentier 1969)
primale
itérations admissibles
convergence lente si - mauvais conditionnement - non linéarités fortes
Séquentiel quadratique
primale-duale
quadratique (Newton)
vitesse de convergence
globalisation nécessaire itérations non admissibles
Pénalisation extérieure (Fiacco-Mc Cormick 1968)
primale
quadratique (Newton)
sans contraintes
précision contraintes conditionnement
Pénalisation intérieure Point intérieur (Karmarkar 1984)
primale-duale problème linéaire
quadratique (Newton)
algorithme polynomial (LP)
précision contraintes
Lagrangien augmenté (Hestenes 1969, Powell 1969)
duale
quadratique (Newton)
sans contraintes
précision contraintes
Uzawa (1958)
duale
linéaire
sans contraintes
précision contraintes 684
3 Optimisation avec contraintes 3.6 Convergence 3.6.3 Difficultés pratiques
Techniques d’optimisation
Max CERF 2018
3.6.3 Difficultés pratiques Qualité du minimum recherché • Minimum global approché méthodes aléatoires (heuristiques), dites « globales » • Minimum local précis méthodes déterministes (gradient), dites « locales » Principales difficultés des méthodes locales • Initialisation : le minimum est recherché au voisinage du point initial. Essayer plusieurs points initiaux Evaluer la qualité de la solution obtenue (connaissance expérimentale du problème) •
Contraintes actives : il faut identifier à chaque itération les contraintes actives ( égalité) Stratégie d’activation / désactivation des contraintes en fonction du déplacement
•
Conditionnement : les valeurs numériques doivent être du même ordre de grandeur Mise à l’échelle des variables et des fonctions (critère, contraintes) Mise à l’échelle des dérivées premières (jacobien) et secondes (hessien) On ne peut pas tout mettre à l’échelle simultanément essais
•
Précision numérique : l’évaluation du critère et des contraintes est bruitée. Adapter les incréments pour les gradients (+ le pas pour une équation différentielle) Adapter les seuils de précision et les tests d’arrêts
685
3 Optimisation avec contraintes 3.6 Convergence 3.6.3 Difficultés pratiques
Techniques d’optimisation
Max CERF 2018
3.6.3 Equation différentielle Système dynamique De nombreuses applications concernent l’optimisation d’un système dynamique. •
Le système est représenté par - un vecteur d’état x(t) dépendant du temps → x Rn - des paramètres de commande p → p Rm
•
Le système évolue suivant l’équation différentielle : x f ( x, p, t ) - état initial x0 à t0 → donné - état final xf à tf → à calculer
•
On cherche les paramètres p minimisant une fonction coût qui dépend de l’état final xf. Pour appliquer une méthode de gradient, il faut évaluer les dérivées de xf par rapport à p.
x f x f (p p) x f (p) p p
par différences finies
L’équation différentielle doit être intégrée successivement pour p, puis pour p+p.
•
Les imprécisions viennent : - de l’évaluation du gradient par différence finie - de l’intégration par une méthode numérique
686
3 Optimisation avec contraintes 3.6 Convergence 3.6.3 Difficultés pratiques
Max CERF 2018
Techniques d’optimisation 3.6.3 Equation différentielle
Evaluation du gradient On considère un système de dimension 1 (xR) à 1 paramètre (pR) : •
L équation différentielle est intégrée de t0 à tf par la méthode d’Euler sur 2 pas de temps. t0
•
x f ( x, p, t )
pas
pas
t1
x0
x1
f0 = f(x0,p,t0)
f1 = f(x1,p,t1)
Pour évaluer le gradient par différences finies
tf xf (p)
x f x f (p p) x f (p) p p
,
on applique un incrément p sur p et on intègre à nouveau l’équation différentielle de t0 à tf . On suppose que la date intermédiaire t1 change (cas d’une méthode d’intégration à pas variable). t0
pas +
t1
pas
x0
x'1
f0p = f(x0,p+p,t0)
f 1p = f(x1,p+p,t1)
tf xf (p+p)
687
3 Optimisation avec contraintes 3.6 Convergence 3.6.3 Difficultés pratiques
Max CERF 2018
Techniques d’optimisation 3.6.3 Equation différentielle
Evaluation du gradient On cherche à estimer l’erreur sur le gradient due au changement du pas de temps. •
La solution nominale (p)
x1 x 0 f 0 x x f 1 1 f •
•
, .
f f ( x 0 , p, t 0 ) avec 0 f1 f ( x1 , p, t1 )
La solution perturbée (p+p)
x1' x 0 f 0 p ( ) x ' x ' f ' ( ) 1 1p f
est intégrée en 2 pas de temps identiques :
est intégrée en 2 pas de temps différents :
f f ( x 0 , p p, t 0 ) avec 0' p ' ' f f ( x , p p , t ) 1 p 1 1
+ , .
effet de la variation ' 1p
f
effet de la variation p
On développe x1 et xf à l’ordre 1 par rapport à p.
f x1' x 0 f 0 p ( ) p 0
f x1' x1 f 0 p( ) p 0
f f f x x f1 x1 p t1 ( ) x 1 t 1 p 1
x1 x1' x1 avec ' t1 t1 t1
' f
' 1
688
3 Optimisation avec contraintes 3.6 Convergence 3.6.3 Difficultés pratiques
Max CERF 2018
Techniques d’optimisation 3.6.3 Equation différentielle
Evaluation du gradient • On remplace x1 dans l’expression de l’état final xf .
f f f f f x 'f x1 f 0 p( ) f1 f 0 p( ) p ( ) p x 1 t 1 p 0 p 0 1 x1' •
x1 x1' x1
t1 t1' t1
En utilisant : x f x1 f1 , et en regroupant les termes en p et en , on obtient à l’ordre 1 :
f f f f f f x 'f x f p 2 x 1 p 0 p 0 p 1 p 0 p 1 f f f 0 f1 f 0 t 1 x 1 •
x f x 'f x f Le gradient de l’état final xf par rapport au paramètre p est évalué par : p p
689
3 Optimisation avec contraintes 3.6 Convergence 3.6.3 Difficultés pratiques
Techniques d’optimisation
Max CERF 2018
3.6.3 Equation différentielle Evaluation du gradient • Le gradient de l’état final xf par rapport au paramètre p est évalué par :
f f 2 f f f f f x f f f 0 f1 f 0 p p x 1 p 0 p 0 p 1 p t 1 x 1 0 p 1 •
La modification de la date intermédiaire t1 → t1 + crée une erreur dans l’évaluation du gradient. L’erreur est associée aux termes en .
f f f f f f f p p 0 1 x 0 t p 1 1 0 1 •
L’erreur sur le gradient due au changement des pas d’intégration : - se cumule sur les pas de temps successifs de dates différentes - apparaît pour toute méthode numérique d’intégration à pas variable - s’annule si l’on force l’intégrateur à repasser par les dates de la trajectoire nominale.
→ Il est préférable d’utiliser un intégrateur à pas fixe, au moins pour l’évaluation du gradient.
690
3 Optimisation avec contraintes 3.6 Convergence 3.6.3 Difficultés pratiques
Max CERF 2018
Techniques d’optimisation 3.6.3 Equation différentielle
Exemple On considère l’équation différentielle : • Application numérique : •
•
x ( t ) x ( t 0 )e p ( t t 0 ) x ( t f ) ( t f t 0 ) x ( t f ) p
Solution Euler valeur p
t1 = 0.100
Solution Euler valeur p+p avec pas variable p +p = 1.0001
•
t1 = 0.100
Solution Euler valeur p+p avec pas fixé p +p = 1.0001
•
t0 = 0 tf = 0.2
x0 = 1 p=1 pas = 0.1
p = 0.0001 = 0.001
Solution exacte
p = 1.0000
•
x px
t1 = 0.101
t
0,000
x(p)
0,200
x ( t f ) 0.1637 p
x ( t f ) 0.1799 p
x ' ( t f ) 0.1800 p
1,000000 0,904837 0,818731
t
0,000
x(p)
0,100
0,200
1,000000 0,900000 0,810000
t
0,000
x(p+p) t'
0,100
0,100
0,200
1,000000 0,899000 0,808201 0,000
0,101
0,200
x'(p+p) 1,000000 0,897990 0,808200
f
f
Erreur sur le gradient due au changement de pas : ( x 0 x1 ) 0.0001 p 0 p 1
691
Max CERF 2018
Techniques d’optimisation Résumé : optimisation continue Bases théoriques • Différentiabilité : • Contraintes linéaires : • Conditions d’optimalité :
gradient, hessien, jacobien, lignes de niveau (§1.1.3) base, solution de base, direction de base (§1.2.2) lagrangien, conditions KKT (§1.4.3)
Optimisation sans contraintes • Méthode de Newton : • Moindres carrés linéaires :
principe, quasi-Newton, globalisation équations normales
(§2.2) (§2.5.3)
Optimisation avec contraintes • Programmation linéaire : simplexe (§3.1.3) méthode des tableaux, méthode des 2 phases • Programmation non linéaire : gradient projeté/réduit (§3.3) lagrangien augmenté (§3.4) SQP (§3.5) principes de chaque algorithme Difficultés pratiques • Minima locaux • Précision numérique
692
Techniques d’optimisation
Max CERF 2018
Bibliographie : optimisation continue Livres en français • • • • •
Programmation mathématique (M. Minoux) Introduction à l’optimisation différentiable (M. Bierlaire) Optimisation continue (F. Bonnans) Optimisation discrète (A. Billionnet) Les mathématiques du mieux faire – Volume 1 (J.B. Hiriart-Urruty)
Livres en anglais • • • • • • •
Practical optimization (P. E. Gill, W. Murray, M. H. Wright) Numerical optimization (J. Nocedal, S. J. Wright) Practical methods of optimization (R. Fletcher) Practical mathematical optimization (J. A. Snyman) Numerical optimization (J. F. Bonnans, J. C. Gilbert, C. Lemaréchal, C. A. Sagastizabal) Numerical recipes in Fortran (W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery) Numerical methods for unconstrained optimization and nonlinear equations (J. E. Dennis, R. B. Schnabel)
693
4
Optimisation discrète
Techniques d’optimisation
Max CERF 2018
Sommaire 1.
Bases théoriques
2.
Optimisation sans contraintes
3.
Optimisation avec contraintes
4.
Optimisation discrète 4.1 Problème combinatoire 4.2 Programmation linéaire 4.3 Métaheuristiques
5.
Optimisation fonctionnelle
« Si tous ceux qui croient avoir raison n’avaient pas tort, la vérité ne serait pas loin. » (Pierre Dac)
694
4
Optimisation discrète
Techniques d’optimisation
Max CERF 2018
4 Optimisation discrète Optimisation difficile • Variables entières
Combinatoire exponentielle Impossibilité de parcourir l’ensemble des possibilités
•
Fonctions non dérivables non continues
Pas de gradient Absence de conditions d’optimalité locale
•
Nombreux minima locaux
Minimum global inconnu Absence de conditions d’optimalité globale
Méthodes de résolution • Problèmes de graphes
Algorithmes spécifiques à certains problèmes Solution exact (minimum global)
•
Problème linéaire
→
Programmation linéaire en nombres entiers Solution exact (minimum global)
•
Métaheuristiques
→
Aspect stochastique Solutions approchées (minima locaux) Il est impossible de résoudre exactement des problèmes de grande taille.
695
4 Optimisation discrète 4.1 Problème combinatoire
Techniques d’optimisation
Max CERF 2018
Sommaire 1. 2. 3.
Bases théoriques Optimisation sans contraintes Optimisation avec contraintes
4.
Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes 4.1.2 Problème de chemin 4.1.3 Problème de flot 4.1.4 Problème d’affectation 4.1.5 Heuristiques 4.2 Programmation linéaire 4.3 Métaheuristiques
5.
Optimisation fonctionnelle
696
4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes
Techniques d’optimisation
Max CERF 2018
4.1.1 Graphes Définitions Parcours
Problèmes types Complexité Algorithmes
697
4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes
Max CERF 2018
Techniques d’optimisation 4.1.1 Définitions
Graphe Un graphe G est un couple de 2 ensembles G=(V,E). • V est l’ensemble des nœuds (node) ou sommets (vertex) n nœuds (vi) i=1 à n • E est l’ensemble des arcs (arc) ou arêtes (edge) m arcs (ek) k=1 à m
Orientation • Un arc est un couple de nœuds ordonné : graphe orienté
e = (v,w)
v
•
e = [v,w]
v
•
Une arête est un couple de nœuds non ordonné : graphe non orienté
Une boucle relie un nœud à lui-même.
Nombre d’arcs entre nœuds • Multigraphe ou p-graphe Il peut y avoir p arcs entre 2 nœuds. • Graphe simple ou 1-graphe Il y a au plus un arc entre 2 nœuds.
•
e
e
w
w
e v e1 v
e2
w
e3
La densité d’un graphe simple est le rapport m/n² = nombre d’arcs / nombre maximal théorique
698
4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes
Max CERF 2018
Techniques d’optimisation 4.1.1 Définitions
Vocabulaire Pour un arc e (orienté) allant du nœud v au nœud w : •
v est l’extrémité initiale ou origine de l’arc e. w est l’extrémité terminale ou extrémité de l’arc e.
•
L’arc e part de v = est incident extérieurement à v. L’arc e arrive en w = est incident intérieurement à w.
•
Le nœud v est le prédécesseur du nœud w. Le nœud w est le successeur du nœud v. L’ensemble des successeurs de v est noté (v). Les nœuds v et w sont voisins ou adjacents. (= fermeture transitive du nœud v)
v
e
w
Degré • Le demi-degré extérieur du nœud v est le nombre d’arcs partant de v. Le demi-degré intérieur du nœud v est le nombre d’arcs arrivant en v. Le degré du nœud v est le nombre d’arcs partant et arrivant en v. Le degré moyen d’un graphe est la moyenne des degrés des nœuds ( 3 en pratique). •
Un nœud isolé est un nœud de degré nul.
699
4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes
Techniques d’optimisation
Max CERF 2018
4.1.1 Définitions Représentation d’un graphe On peut représenter un graphe G=(V,E) par • les successeurs des nœuds liste chaînée avec pointeurs (gestion dynamique de la mémoire) • des matrices matrice d’adjacence, matrice d’incidence
Matrice d’adjacence vj La matrice d’adjacence A est une matrice booléenne à n lignes et n colonnes. Les lignes correspondent aux nœuds de départ. v i 1 Les colonnes correspondent aux nœuds d’arrivée. S’il existe un arc de vi à vj, l’élément aij vaut 1 (sinon aij = 0). Matrice d’incidence • La matrice d’incidence I est une matrice booléenne à n lignes et m colonnes. ek Les lignes correspondent aux nœuds. Les colonnes correspondent aux arcs. v i 1 S’il existe un arc ek de vi à vj, l’élément aik vaut +1 v j 1 et l’élément ajk vaut 1 (sinon aik = ajk =0). Pour une boucle sur le nœud vi, l’élément aii vaut +1.
700
4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes
Max CERF 2018
Techniques d’optimisation 4.1.1 Définitions
Exemple • Graphe à 5 nœuds et 10 arcs. •
•
Liste des successeurs : v1 v2 v3 v4 v5
v2 , v3 , v5 v2 , v3 v4 v1 , v5 v1 , v3
Matrices d’adjacence et d’incidence
v1 v1 0 v2 0 v3 0 v4 1 v 5 1
v2 1 1 0 0 0
v3 1 1 0 0 1
v4 0 0 1 0 0
v5 1 0 0 1 0
Matrice d’adjacence 55
v2
e1
v5
e3
e4
v1 e5 e10
e2
e9
v3 e7
e8
e6 v4
e1 e 2 e3 e 4 e5 e 6 e 7 e8 e9 e10 v1 1 0 0 1 1 0 1 0 0 1 v2 1 1 1 0 0 0 0 0 0 0 v3 0 0 1 1 0 1 0 0 1 0 v4 0 0 0 0 0 1 1 1 0 0 v 5 0 0 0 0 1 0 0 1 1 1 Matrice d’incidence 510
701
4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes
Techniques d’optimisation
Max CERF 2018
4.1.1 Parcours Parcours d’un graphe • Parcours orienté Un chemin de longueur p est une suite de p arcs consécutifs. Un circuit est un chemin fermé.
•
Parcours non orienté Une chaîne de longueur p est une suite de p arêtes consécutives. Un cycle est une chaîne fermée.
•
Le nœud w est un descendant du nœud v si w est sur un chemin d’origine v Le nœud v est un ascendant du nœud w
•
Un parcours est selon le cas un chemin, un circuit, une chaîne ou un cycle. Le parcours d’un graphe simple est représenté par la suite de ses arcs (arêtes) ou par la suite de ses nœuds. Un parcours simple (élémentaire) ne passe qu’une fois (au plus) par ses nœuds.
• •
Un graphe est connexe s’il existe une chaîne entre toute paire de nœuds. Un graphe est complet s’il existe un arc (arête) entre toute paire de nœuds.
702
4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes
Max CERF 2018
Techniques d’optimisation 4.1.1 Parcours
Parcours particuliers • Un parcours eulérien passe une fois exactement par chaque arc (arête). •
Un parcours hamiltonien passe une fois exactement par chaque nœud. Il passe donc au plus une fois par chaque arc (arête). Exemple : jeu de la maison parcours eulérien
Graphes particuliers • Un arbre est un graphe non orienté connexe et sans cycle. Le nombre d’arêtes est égal au nombre de nœuds – 1 : m = n – 1 Un graphe connexe comporte au moins n – 1 arêtes.
2
3 6
1
7
5
4
8
•
Une arborescence est un graphe orienté connexe et sans cycle. arborescence = arbre orienté Tous les nœuds sont les descendants d’un nœud unique = racine de l’ arborescence
•
Un graphe est planaire si on peut le représenter dans le plan sans croisement d’arcs. problème de placement de composants électroniques problème de coloration de carte Le nombre d’arêtes d’un graphe planaire vérifie : m 3n 6.
703
4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes
Max CERF 2018
Techniques d’optimisation 4.1.1 Parcours
Nombre de chemins La matrice d’adjacence A indique s’il existe un arc entre 2 nœuds. La matrice Ak (A puissance k) indique le nombre de chemins de longueur k entre 2 nœuds. Exemple • Graphe à 5 nœuds et 10 arcs.
0 0 A 0 1 1 1 1 A3 1 1 2
1 1 0 0 0 2 1 1 2 1
1 1 0 0 1 2 1 2 3 2
0 0 1 0 0 2 1 0 2 1
1 0 0 1 0 2 1 1 1 1
1 0 A2 1 1 0 4 2 A4 1 3 2
1 1 0 1 1 3 2 2 3 3
2 1 0 2 1 5 3 3 4 4
1 1 0 0 1 2 1 2 3 2
0 0 1 1 1 3 2 1 3 3
e1
v5
e3
e4
v1 e5 e10
v2
e2
e9
v3 e7
e8
e6 v4
704
4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes
Max CERF 2018
Techniques d’optimisation 4.1.1 Parcours
Liste des successeurs On détermine (V) ensemble des successeurs des nœuds V par la matrice booléenne ˆ I A A 2 ... A n 1 (I A) n 1 A
•
Multiplication booléenne
= produit logique («et»)
0 1 0 0 0 1 0 1
•
Addition booléenne
= somme logique («ou»)
0 1 0 0 1 1 1 1
•
La matrice (I + A)k indique pour chaque nœud (ligne) les nœuds atteignables (colonnes) par un chemin de longueur k au plus.
•
Dans un graphe à n nœuds, un chemin élémentaire est de longueur n-1 au plus. On arrête le calcul à la puissance n-1 ou à la première puissance k telle que (I + A)k = (I + A)k-1
705
4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes
Max CERF 2018
Techniques d’optimisation 4.1.1 Parcours
Exemple • Graphe à 6 nœuds n = 6 0 0 0 A 0 0 0
1 0 0 0 1 0
0 1 0 0 1 0
0 0 1 0 0 0
1 0 0 0 0 0
0 0 0 1 1 0
1 0 0 IA 0 0 0
1 1 0 0 1 0
0 1 1 0 1 0
0 0 1 1 0 0
1 0 0 0 1 0
0 0 0 1 1 1
1 0 0 2 (I A) 0 0 0
1 1 0 0 1 0
1 1 1 0 1 0
0 1 1 1 1 0
1 0 0 0 1 0
1 0 1 1 1 1
1 0 0 3 (I A) 0 0 0
1 1 0 0 1 0
1 1 1 0 1 0
1 1 1 1 1 0
1 0 0 0 1 0
1 1 1 1 1 1
•
(I + A)4 = (I + A)3 On peut arrêter le calcul à k=4.
v2
v3 v4
v1 v5 1 0 0 4 (I A) 0 0 0
1 1 0 0 1 0
1 1 1 0 1 0
1 1 1 1 1 0
1 0 0 0 1 0
1 1 1 1 1 1
1 0 ˆ (I A) 5 0 A 0 0 0
1 1 0 0 1 0
1 1 1 0 1 0
1 1 1 1 1 0
1 0 0 0 1 0
1 1 1 1 1 1
v6
706
4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes
Max CERF 2018
Techniques d’optimisation 4.1.1 Parcours
Exemple • Graphe à 6 nœuds n = 6 1 0 0 5 ˆ A (I A) 0 0 0
1 1 0 0 1 0
1 1 1 0 1 0
1 1 1 1 1 0
1 0 0 0 1 0
1 1 1 1 1 1
v2
v3 v4
v1 v5
•
Les lignes indiquent les successeurs de chaque nœud. Les colonnes indiquent les prédécesseurs de chaque nœud.
•
Le nœud v1 admet tous les autres nœuds comme successeurs (ligne 1). Le nœud v1 n’admet aucun prédécesseur (colonne 1) v1 est une source. Le graphe est une arborescence de racine v1.
•
Le nœud v6 admet tous les autres nœuds comme prédécesseurs (colonne 6). Le nœud v6 n’admet aucun successeur (ligne 6) v6 est un puits.
v6
707
4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes
Techniques d’optimisation
Max CERF 2018
4.1.1 Problèmes types Réseau Un réseau est un graphe valué G=(V,E,F,C,s,t). • V est l’ensemble des nœuds n nœuds (vi) i=1 à n • E est l’ensemble des arcs m arcs (ek) k=1 à m • F donne les capacités des arcs fij = capacité de l’arc [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). Problèmes types • Problème de connexité : Existe-t-il un chemin entre 2 nœuds d’un graphe ? • Problème de chemin : Quel est le chemin de coût minimal entre 2 nœuds ? Quel est le circuit hamiltonien de coût minimal ? (problème du voyageur de commerce) • Problème de flot : Quel est le flot maximal pouvant passer de la source au puits ? Quel est le coût minimal du flot maximal ? • Problème d’affectation, de coloration, d’empilement, …
→ On classifie les problèmes selon leur complexité.
708
4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes
Max CERF 2018
Techniques d’optimisation 4.1.1 Complexité
Taille d’une donnée • La taille d’une donnée est la place mémoire nécessaire au stockage. On mesure généralement la taille d’une donnée par des paramètres caractéristiques. •
Exemples :
Graphe à n nœuds et m arcs Matrice carrée nn
taille mesurée par (n,m) taille mesurée par (n)
Complexité d’un algorithme • Un algorithme est une suite d’opérations élémentaires appliquées sur des données. La complexité d’un algorithme est le nombre d’opérations en fonction de la taille de la donnée. •
Exemple :
Multiplication de 2 matrices de taille nn n
C A.B c(i, j) a (i, k )b(k, j) k 1
pour i , j = 1 à n
n multiplications et n additions à réaliser nn fois •
3n3 opérations
On mesure la complexité par l’ordre de grandeur (= vitesse de croissance) du nombre d’opérations lorsque la taille du problème augmente. O(n) , O(n.log n) , O(n2) , O(2n) , O(n!) , O(nn) , …
709
4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes
Max CERF 2018
Techniques d’optimisation 4.1.1 Complexité
Algorithme polynomial • Un algorithme est polynomial si sa complexité est un polynôme en fonction de la taille. Exemples : O(n) , O(n.log n) , O(n2) , … •
n Un algorithme non polynomial est exponentiel. n Exemples : O(2n) , O(n!) , O(nn) , … (formule de Stirling : n! 2n ) e
•
Un algorithme performant est polynomial permet de traiter des données de grande taille Une composition d’algorithmes polynomiaux reste polynomiale.
Temps de calcul • Avec un ordinateur effectuant un milliard d’opérations par seconde. n
n.log n
n2
n3
n5
2n
3n
n!
10
10-8 s
10-8 s
10-7 s
10-6 s
10-4 s
10-6 s
6.10-5 s
3.10-3 s
50
5.10-8 s
8.10-8 s
2.10-6 s
10-4 s
0,3 s
13 jours
107 ans
1048 ans
100
10-7 s
2.10-7 s
10-5 s
10-3 s
10 s
1013 ans
1031 ans
1000
10-6 s
3.10-6 s
10-3 s
1s
11 jours
10000
10-5 s
4.10-5 s
0,1 s
1000 s 3100 ans
710
4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes
Techniques d’optimisation
Max CERF 2018
4.1.1 Complexité Problème combinatoire On distingue les problèmes d’optimisation (PO) et les problèmes d’existence (PE). •
Un problème d’optimisation (PO) a pour but de trouver la meilleure solution x*. fonction coût f à minimiser sur un ensemble fini X Formulation :
•
Trouver x* tel que f ( x*) min f ( x ) xX
Un problème d’existence (PE) a pour but de trouver une solution x vérifiant une propriété P. problème de décision à réponse « oui » ou « non » Formulation :
Trouver x vérifiant f(x) c
solution de coût inférieur à c
•
Un algorithme résolvant (PO) résout également (PE). Un algorithme résolvant (PE) peut résoudre (PO) par dichotomie sur la valeur de c. Les problèmes d’existence (PE) et d’optimisation (PO) sont de difficulté comparable.
•
Un problème combinatoire est dit « facile » ou « difficile » selon que l’on connaît ou non un algorithme polynomial de résolution pour (PE).
711
4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes
Max CERF 2018
Techniques d’optimisation 4.1.1 Complexité
Classes P, NP, NPC La classification des problèmes dépend de la difficulté de vérification d’une solution. On souhaite vérifier que x0 est une solution du problème (PE) : f(x0) c ? On ne se préoccupe pas de la façon dont x0 a été obtenu.
•
Classe NP (NP = Non Déterministe Polynomial) on connaît un algorithme polynomial de vérification contient quasiment tous les problèmes rencontrés en pratique
•
Classe P (P = Déterministe Polynomial) on connaît un algorithme polynomial de résolution problèmes faciles de NP
NP P Indéterminé
NPC
•
Classe NPC (problèmes NP–Complets ou NP–Difficiles) problèmes de NP de difficulté « équivalente » on peut passer d’un problème de NPC à un autre par une transformation polynomiale
•
Conjecture P NP Si l’on trouvait un algorithme polynomial de résolution pour un problème de NPC, alors tous les problèmes de NPC seraient dans P.
712
4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes
Techniques d’optimisation
Max CERF 2018
4.1.1 Complexité Problèmes de NP NP = Problèmes pour lesquels on connaît un algorithme polynomial de vérification Le problème peut être facile (P), difficile (NPC) ou indéterminé. •
Exemple de problème appartenant à NP : Problème d’empilement Existe-t-il p entiers parmi n dont la somme est égale à b ? Vérification d’une solution : on vérifie que les p entiers sont parmi les n et que leur somme vaut b → L’algorithme de vérification est polynomial.
•
Exemple de problème n’appartenant pas à NP : Partie d’échecs Existe-t-il à partir d’une position donnée une stratégie gagnante ? Vérification d’une solution : il faudrait examiner toutes les parties possibles à partir de la position donnée → L’algorithme de vérification n’est pas polynomial.
•
Exemple de problème indéterminé de NP : Isomorphisme de graphes Peut-on passer du graphe G1 au graphe G2 par renumérotation des nœuds ? → L’algorithme de vérification est polynomial. On ne sait pas s’il existe un algorithme de résolution polynomial → indéterminé
713
4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes
Techniques d’optimisation
Max CERF 2018
4.1.1 Complexité Problèmes faciles P = Problèmes pour lesquels on connaît un algorithme polynomial de résolution •
Connexité d’un graphe Existe-t-il un chemin entre 2 nœuds d’un graphe ?
•
Chemin de coût minimal dans un graphe valué Quel est le chemin de coût minimal entre 2 nœuds quelconques ?
•
Flot maximal dans un réseau Quel est le flot maximal entre la source et le puits ?
•
Parcours eulérien dans un graphe Existe-t-il un chemin passant une fois et une seule par chaque arête ?
•
Affectation (couplage) Quelle est l’affectation de coût minimal entre n ressources et n taches ?
•
Tri de n nombres
714
4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes
Techniques d’optimisation
Max CERF 2018
4.1.1 Complexité Problèmes difficiles NPC = Problèmes pour lesquels on ne connaît pas d’algorithme polynomial de résolution → problèmes NP-complets ou NP-difficiles •
Coloration Trouver le nombre minimal de couleurs pour colorer un graphe. → Théorème des 4 couleurs pour un graphe planaire : conjecturé en 1880, démontré en 1977 (démonstration assistée par ordinateur)
•
Voyageur de commerce Trouver le circuit hamiltonien de coût minimal dans un graphe valué. → Problème test pour les algorithmes d’optimisation combinatoire
•
Empilement (sac à dos) Choisir des objets pour remplir un sac à dos de taille donnée en maximisant la valeur totale.
•
Emboîtement (bin packing) Ranger des objets en utilisant le moins de boîtes possible.
715
4 Optimisation discrète 4.1 Problème combinatoire 4.1.1 Graphes
Techniques d’optimisation
Max CERF 2018
4.1.1 Algorithmes Méthodes approchées Les méthodes approchées sont les seules utilisables pour des problèmes de grande taille. L’objectif est d’obtenir des solutions de bonne qualité en des temps de calcul raisonnables. •
Une heuristique est une méthode spécifique à un problème particulier. Exemples : algorithme glouton (ou gourmand ou constructif) empilement, emboîtement, recouvrement, coloration
•
Une métaheuristique est une méthode générale transposable à différents problèmes. Exemples : recuit simulé, recherche tabou, algorithmes génétiques, essaims, fourmis … applicable à de nombreux problèmes combinatoires
Méthodes exactes Les méthodes exactes sont applicables aux problèmes de taille limitée. Elles donnent la solution optimale au prix d’un temps de calcul qui peut être élevé. •
Algorithme spécifique :
Applicable à un problème particulier (chemin, flot, affectation)
•
Programmation linéaire :
Applicable à de nombreux problèmes (formulation à adapter)
716
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Problème de chemin Algorithme de Ford Algorithme de Demoucron et Floyd
Algorithme de Dijkstra Algorithme de Bellman Programmation dynamique Heuristique A* Ordonnancement - Méthode PERT - Méthode MPM
717
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Problème de chemin Enoncé du problème Un graphe valué G=(V,E,C) est défini par :
- un ensemble de nœud V=(vi) i = 1 à n - un ensemble d’arêtes E=(ejk) j,k = 1 à n - les coûts des arêtes C=(cjk) j,k = 1 à n
•
Problèmes types - Trouver le chemin de coût minimal entre 2 nœuds donnés - Trouver le chemin de coût minimal entre 1 nœud et tous les autres nœuds - Trouver le chemin de coût minimal entre tous les couples de nœuds
•
Il peut y avoir plusieurs chemins optimaux de même coût. Il suffit en pratique de trouver l’un des chemins optimaux.
Algorithmes • Algorithme de Ford, de Demoucron et Floyd • Algorithme de Dijkstra • Algorithme de Bellman
•
graphe quelconque graphe à valuations positives graphe sans circuit
Les algorithmes de Ford et Bellman peuvent se transposer au cas de maximisation du coût. application aux problèmes d’ordonnancement
718
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Ford
Principe On construit itérativement les coûts minimaux de la source à chaque nœud. Chaque nœud vi est marqué par la valeur zi du meilleur coût trouvé. •
Initialisation des coûts On attribue la valeur : zs = 0 à la source zi = + aux autres nœuds
•
Mise à jour des coûts On considère l’arc de coût cij allant du nœud vi (valeur zi) au nœud vj (valeur zj). Si zi + cij < zj , on a trouvé un meilleur chemin arrivant en vj. (= chemin venant de vi) on met à jour la valeur de vj zj = zi + cij L’ordre de traitement des arcs est libre.
•
zi
vi cij
s zj
vj
Fin de l’algorithme On s’arrête lorsqu’aucun coût ne peut être amélioré. Chaque nœud est alors marqué par la valeur du meilleur chemin depuis la source.
719
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Ford
Exemple •
4
Graphe valué à 6 nœuds
3
v2
2
5 Source en v1
2
v1
1 3
•
v3
4
Source v1 : z1 = 0 Autres nœuds : zi = +
1
2
2 1 3
v6
3 5
0
2
v5
3
Initialisation des coûts
v4
2 1
3
720
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Ford
Exemple •
4
3
4
Première mise à jour 2
5 On effectue un passage par nœud. Attribution d’une valeur à chaque nœud
2
0
4
On vérifie les arcs non utilisés. Amélioration des valeurs en 2 nœuds
1
1
3
2
3
1 2
5 0
2
3
4
Deuxième mise à jour
2
2
3
3
•
4
2
2 1 2
1 3
2
721
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Ford
Exemple •
4
3
4
Troisième mise à jour 2
5 On vérifie les successeurs des nœuds modifiés. Amélioration des valeurs en 2 nœuds
2
0
4 On vérifie les successeurs des nœuds modifiés. Amélioration de la valeur en 1 nœud
1
1
3
2
3
1 2
5 0
-1
3
4
Quatrième mise à jour
2
-1
2
3
•
1
2
0 1 2
1 3
-1
722
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Ford
Exemple •
4
3
4
Fin de l’algorithme 2
5 Il n’y a plus d’amélioration possible. Les marques donnent le coût minimal de la source à chaque nœud.
2
0
1
2 1 -1
3
Coûts minimaux v1v2
v1v3
v1v4
v1v5
v1v6
4
2
1
0
1
4
2
Arcs optimaux Ce sont les arcs dont le coût est égal à la différence des marques.
3
v2
3
v3
1
v4 2
5 v1
•
0
2
3 •
1
2
v5 1
3
v6
723
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Ford
Application de l’algorithme • L’algorithme de Ford s’applique dans un graphe quelconque. Les valuations des arcs peuvent être positives ou négatives. Le graphe peut comporter des circuits. Le graphe ne doit pas comporter de circuit absorbant. L’algorithme est fini en l’absence de circuit absorbant.
1
vj 1
vi 3
vk
•
L’ordre de traitement des arcs est libre. Circuit absorbant L’efficacité dépend de l’ordre de traitement choisi. de valeur 1 La complexité est en O(2n) (n = nombre de nœuds) L’algorithme est non polynomial. On peut dériver des algorithmes polynomiaux avec des règles d’ordre de traitement des arcs.
•
L’algorithme permet d’obtenir le coût minimal entre la source et chaque nœud. On peut le généraliser pour obtenir le coût minimal entre 2 nœuds quelconques. Méthode matricielle de Demoucron et Floyd Distancier = matrice des coûts minimaux entre nœuds.
724
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Algorithme de Demoucron et Floyd Méthode matricielle On construit en n itérations les coûts minimaux entre nœuds. Une itération consiste à améliorer la matrice des coûts en considérant un nœud intermédiaire. La matrice Dk de taille nn contient les coûts entre nœuds à l’itération k.
•
Initialisation On crée la matrice D0 : dij = cij coût de l’arc du nœud vi au nœud vj si les nœuds sont reliés dij = + si les nœuds ne sont pas reliés
•
Itération k (1 k n) Pour tout couple de nœuds (vi , vj), on considère le passage par le nœud intermédiaire vk. Le meilleur coût actuel de vi à vj est : dij vi vj Le coût de vi à vj en passant par vk est : dik + dkj dij Si dik + dkj < dij , on a trouvé un meilleur chemin de vi à vj. (= chemin passant par vk) dkj dik on met à jour la valeur de dij dij = dik + dkj vk Fin de l’algorithme On s’arrête lorsque les n nœuds ont été considérés comme nœuds intermédiaires. La matrice Dn contient les coûts des meilleurs chemins entre nœuds.
•
725
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Demoucron et Floyd
Exemple •
3
v2
Graphe valué à 6 nœuds
2
v1
6
6 7
v4
v6
2 v3
8
•
Matrice initiale D0 dij = cij si les nœuds vi et vj sont reliés dij = + sinon
v1 v1
2 1
v2
v3
v4
3
8
6
v2
2
v3 v4 v5
v5 v5
v6
6 1
2
7 2
v6
726
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Demoucron et Floyd
Exemple •
•
3
Itération 1 On examine le passage par le nœud v1. La colonne v1 est vide dans la matrice. Le nœud v1 ne reçoit aucun arc. v1 ne peut être un nœud intermédiaire. D1 = D0 Itération 2 On examine le passage par le nœud v2. La colonne v2 a une valeur venant de v1.
Il faut comparer les coûts d1j et d12 + d2j. d12 + d21 = + d12 + d22 = + d12 + d23 = + d12 + d24 = 5 < 6 amélioration d12 + d25 = 9 < + amélioration d12 + d26 = +
v2 2
v1
6
6 7
v4
v6
2 v3
8 v1 v1
2 1
v2
v3
v4
3
8
6
v2
2
v3 v4 v5
v5 v5
v6
6 1
2
7 2
v6
727
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Demoucron et Floyd
Exemple •
v1
Itération 3 On examine le passage par le nœud v3. La colonne v3 a une valeur venant de v1 et une valeur venant de v4.
Il faut comparer les coûts d1j et d13 + d3j. d13 + d31 = + d13 + d32 = + d13 + d33 = + d13 + d34 = + d13 + d35 = 9 = d15 identique d13 + d36 = + Il faut comparer les coûts d4j et d43 + d3j. d43 + d31 = + d43 + d32 = + d43 + d33 = + d43 + d34 = + d43 + d35 = 3 < + amélioration d43 + d36 = +
v1
v2
v3
v4
v5
3
8
5
9
2
6
v2 v3
v6
1
v4
7
2
v5
2
v6 v1 v1
v2
v3
v4
v5
3
8
5
9
2
6
v2 v3 v4 v5
v6
1 2
3
7 2
v6
728
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Demoucron et Floyd
Exemple •
v1
Itération 4 On examine le passage par le nœud v4. La colonne v4 a une valeur venant de v1 et une valeur venant de v2.
Il faut comparer les coûts d1j et d14 + d4j. d14 + d41 = + d14 + d42 = + d14 + d43 = 7 < 8 amélioration d14 + d44 = + d14 + d45 = 8 < 9 amélioration d14 + d46 = 12 < + amélioration Il faut comparer les coûts d2j et d24 + d4j. d24 + d41 = + d24 + d42 = + d24 + d43 = 4 < + amélioration d24 + d44 = + d24 + d45 = 5 < 6 amélioration d24 + d46 = 9 < + amélioration
v1
v2
v3
v4
v5
3
8
5
9
2
6
v2 v3
v6
1
v4
2
3
v5
7 2
v6 v1 v1 v2
v2
v3
v4
v5
v6
3
7
5
8
12
4
2
5
9
v3 v4 v5
1 2
3
7 2
v6
729
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Demoucron et Floyd
Exemple •
v1
Itération 5 On examine le passage par le nœud v5. La colonne v5 a une valeur venant de v1 une valeur venant de v2 une valeur venant de v3 une valeur venant de v4.
v1
Il faut comparer les coûts d1j et d15 + d5j. d15 + d56 = 10 < 12 amélioration
v6
Il faut comparer les coûts d2j et d25 + d5j. d25 + d56 = 7 < 9 amélioration
v1
Il faut comparer les coûts d3j et d35 + d5j. d35 + d56 = 3 < + amélioration
Il faut comparer les coûts d4j et d45 + d5j. d45 + d56 = 5 < 7 amélioration
v2
v3
v4
v5
v6
3
7
5
8
12
4
2
5
9
v2 v3
1
v4
2
3
v5
2
v1 v2
v2
v3
v4
v5
v6
3
7
5
8
10
4
2
5
7
1
3
3
5
v3 v4 v5
7
2
2
v6
730
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Demoucron et Floyd
Exemple •
•
3
Itération 6 On examine le passage par le nœud v6. La ligne v6 est vide dans la matrice. Aucun arc ne part du nœud v6. v6 ne peut être un nœud intermédiaire. D6 = D5 Fin de l’algorithme Les 6 nœuds intermédiaires ont été examinés. On obtient la matrice finale D6 .
2
v1
La matrice D6 est le distancier du graphe. dij est le coût du meilleur chemin de de vi à vj.
6
6 7
v4
v6
2
v1 v1
2
v3
8
v2
•
v2
1
v2
v3
v4
v5
v6
3
7
5
8
10
4
2
5
7
1
3
3
5
v3 v4 v5
v5
2
2
v6
731
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Demoucron et Floyd
Application de l’algorithme • L’algorithme de Demoucron et Floyd consiste en 3 boucles : De k = 1 à n (itération k = numéro du nœud intermédiaire)
De i = 1 à n (i = numéro du nœud de départ)
vi
De j = 1 à n (j = numéro du nœud d’arrivée)
dkj
dik Remplacer dij par Min (dij , dik + dkj)
vj
dij
vk
•
L’algorithme se termine en n itérations en l’absence de circuit absorbant. La présence d’un circuit absorbant est détectée si l’un des coûts diagonaux devient négatif. dii < 0 Il existe un circuit absorbant passant par le nœud vi.
•
L’algorithme s’applique dans un graphe quelconque. Il permet d’obtenir le coût minimal entre 2 nœuds quelconques.
732
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Dijkstra
Principe L’algorithme de Dijkstra s’applique dans un graphe à valuations positives. Il est identique à l’algorithme de Ford avec un ordre de traitement des nœuds. Chaque nœud est traité une seule fois.
•
•
Initialisation des coûts On attribue la valeur : zs = 0 à la source zi = + aux autres nœuds
Les nœuds sont non traités.
Traitement d’un nœud On choisit parmi les nœuds non traités le nœud vi de valeur minimale zi.
On met à jour les valeurs des nœuds vj successeurs du nœud vi. Si zi + cij < zj , on met à jour la valeur de vj zj = zi + cij Le nœud vi est traité. •
zi
vi cij
s zj
vj
Fin de l’algorithme On s’arrête lorsque tous les nœuds sont traités. Chaque nœud est alors marqué par la valeur du meilleur chemin depuis la source.
733
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Dijkstra
Exemple •
Graphe valué à 5 nœuds Valuations positives Source en v1
•
6
v1
Initialisation des coûts Source v1 : z1 = 0 Autres nœuds : zi = + Les nœuds sont non traités.
v2
1
2
2
v3
6
0
2
1
2
1
4
v5
1
2
2
v4
4
734
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Dijkstra
Exemple •
6
1
Traitement du premier nœud Les nœuds non traités sont : v1,v2,v3,v4,v5. Le nœud de valeur minimale est v1.
•
6
0
2
On met à jour les valeurs des successeurs de v1. Le nœud v1 est traité.
2
Traitement du deuxième nœud
6
Les nœuds non traités sont : v2,v3,v4,v5. Le nœud de valeur minimale est v3.
0
2
6
2
On met à jour les valeurs des successeurs de v3. Le nœud v3 est traité.
2
2
1 1
2
4
2
1
4
3
735
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Dijkstra
Exemple •
5
1
7
Traitement du troisième nœud Les nœuds non traités sont : v2,v4,v5. Le nœud de valeur minimale est v5.
•
6
0
2
On met à jour les valeurs des successeurs de v5. Le nœud v5 est traité.
2
Traitement du quatrième nœud
6
Les nœuds non traités sont : v2,v4. Le nœud de valeur minimale est v2.
0
2
5
2
On met à jour les valeurs des successeurs de v2. Le nœud v2 est traité.
2
2
3
1 1
2
4
6
2
1
4
3
736
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Dijkstra
Exemple •
6
•
•
1
6
Traitement du cinquième nœud Le dernier nœud non traité est v4 qui n’a pas de successeur.
•
5
0
2
Fin de l’algorithme Les marques donnent le coût minimal de la source à chaque nœud.
2
Coûts minimaux
6
v1v2
v1v3
v1v4
v1v5
5
2
6
3
Arcs optimaux Ce sont les arcs dont le coût est égal à la différence des marques.
v1
2
v2
2
2
v3
3
1 1
2
v4
2
1
4
4
v5
737
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Algorithme de Dijkstra Application de l’algorithme • L’algorithme de Dijkstra s’applique dans un graphe à valuations positives. Il améliore l’algorithme de Ford en prescrivant l’ordre de traitement des nœuds. •
Chaque nœud est traité une seule fois n itérations L’algorithme se termine lorsque tous les nœuds ont été traités. On obtient alors les coûts des chemins de la source à chaque nœud.
•
Si l’on cherche le chemin entre la source et un nœud particulier, on peut arrêter l’algorithme lorsque ce nœud a été traité.
•
La complexité est en O(m.log n)
•
L’algorithme de Dijkstra est très efficace pour trouver un chemin dans un réseau routier. Un réseau routier est proche d’un graphe planaire (= sans croisement d’arêtes). Pour un graphe planaire : m 3n 6 Pour un réseau routier : m 4n en pratique densité faible
(n = nombre de nœuds) (m = nombre d’arcs) L’algorithme est polynomial et plus efficace sur les graphes peu denses (rapport m/n2).
738
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Algorithme de Bellman Principe L’algorithme de Bellman s’applique dans un graphe sans circuit. Il est identique à l’algorithme de Ford avec un ordre de traitement des nœuds. Chaque nœud est traité une seule fois.
•
•
•
Ordre topologique Dans un graphe sans circuit (arbre), on peut numéroter les nœuds dans un ordre topologique. Chaque nœud porte un numéro différent (le nœud vi porte le numéro i). Pour tout arc [vi , vj], les numéros des nœuds sont croissants : i < j. Les nœuds sont traités dans ordre topologique. vi zi Traitement du nœud vi. On met à jour les valeurs des nœuds vj successeurs du nœud vi. cij s Si zi + cij < zj , on met à jour la valeur de vj zj = zi + cij zj Le nœud vi est traité. vj Fin de l’algorithme On s’arrête lorsque tous les nœuds sont traités. Chaque nœud est alors marqué par la valeur du meilleur chemin depuis la source.
739
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Bellman
Exemple •
Graphe valué à 5 nœuds Graphe sans circuit Source en v1
•
6
v1
Numérotation des nœuds
1
v2
2
2
v3
6
5
4
2
Ordre topologique : arc [vi , vj] i < j
•
v5
1
v4
Initialisation des coûts Source v1 : z1 = 0 Autres nœuds : zi = + Les nœuds sont traités dans l’ordre topologique.
0
2
2
5
4
1
740
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Bellman
Exemple •
6
Traitement du premier nœud Le 1er nœud dans l’ordre topologique est v1.
0
On met à jour les valeurs des successeurs de v1. Le nœud v1 est traité.
•
1
6
2
2
2
6
Traitement du deuxième nœud
5
4
2 1
6
7
Le 2ème nœud dans l’ordre topologique est v2. On met à jour les valeurs des successeurs de v2. Le nœud v2 est traité.
0
2
2
2
5
4
2
741
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Bellman
Exemple •
6
3
Traitement du troisième nœud Le 3ème nœud dans l’ordre topologique est v3.
0
On met à jour les valeurs des successeurs de v3. Le nœud v3 est traité.
•
1
6
2
2
2
6
Traitement du quatrième nœud
5
4
2 1
6
0
3
Le 4ème nœud dans l’ordre topologique est v4. On met à jour les valeurs des successeurs de v4. Le nœud v4 est traité.
0
2
2
2
5
4
2
0
742
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Algorithme de Bellman
Exemple •
6
•
•
3
Traitement du cinquième nœud Le dernier nœud non traité est v5 qui n’a pas de successeur.
•
1
6
0
Fin de l’algorithme Les marques donnent le coût minimal de la source à chaque nœud.
2
2 6
Coûts minimaux v1v2
v1v3
v1v4
v1v5
6
2
0
3
Arcs optimaux Ce sont les arcs dont le coût est égal à la différence des marques.
v1
2
v3
4
2 1
v2
2
2
5
5
0
v5
4
2
v4
743
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Programmation dynamique
Principe d’optimalité de Bellman Un sous-chemin d’un chemin optimal est lui-même optimal. •
•
•
Si le chemin optimal entre les nœuds v1 et vn passe par les nœuds vi et vj, alors le sous-chemin de vi à vj est optimal. v1 vi Sinon on pourrait améliorer le chemin de v1 à vn.
vn
vj
On peut appliquer le principe d’optimalité dans un graphe orienté sans circuit. Les nœuds sont classés en niveaux successifs. Chaque niveau contient les successeurs du niveau précédent. v1 Niveau 0 : V0 = {nœuds sans prédécesseurs} source(s) Niveau 1 : V1 = {nœuds successeurs de V0} v0 Niveau k : Vk = {nœuds successeurs de Vk1} Un nœud peut appartenir à plusieurs niveaux.
v2 v2V1 v2V2
La programmation dynamique consiste à traiter les niveaux successifs. On part : du premier niveau pour calculer les coûts optimaux de la source à chaque nœud ou du dernier niveau pour calculer les coûts optimaux de chaque nœud au puits.
744
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Programmation dynamique
Equation fonctionnelle • Notations Le coût de l’arc allant du nœud vi au nœud vj est noté cij. Le coût optimal de la source v0 au nœud vi est noté zi.
•
Le coût optimal d’un nœud s’obtient à partir des coûts de ses prédécesseurs. On évalue successivement les coûts optimaux des nœuds de V0, V1, …, Vk, … Niveau 0 :
vj V0
z( v j ) 0
Niveau 1 :
vj V1
z( v j ) min z( v i ) cij
Niveau k :
vj Vk
v i V0
z( v j ) min z( v i ) cij v i Vk 1
vi1
vi2
z(vi2) + ci2j
vj
Equation fonctionnelle de la programmation dynamique vi3 •
On peut appliquer le principe de la programmation dynamique - vers l’avant en partant de la source minimisation avec addition des coûts des arcs - vers l’arrière en partant du puits maximisationavec soustraction des coûts des arcs
745
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Programmation dynamique
Exemple Graphe sans circuit à 5 niveaux
v21 4 v11
3 4
5
8 v0
5
v12
7
4 v13
Niveau 0 V0 = {v0}
5 4 6 4
v22
4 v4
3
2
Niveau 1 V1 = {v11,v12,v13}
5
4 v23
3
v31
v24
7
2 4
Niveau 2 V2 = {v21,v22,v23,v24}
v32
Niveau 3 V3 = {v31,v32}
Niveau 4 V4 = {v4}
746
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Programmation dynamique
Exemple : résolution vers l’avant Traitement du niveau 1
v21 4 8
3 4
5
8 0
5
5
7
4 7
Niveau 0 V0 = {v0}
5 4 6 4
v22
4 v4
3
2
Niveau 1 V1 = {v11,v12,v13}
5
4 v23
3
v31
v24
7
2 4
Niveau 2 V2 = {v21,v22,v23,v24}
v32
Niveau 3 V3 = {v31,v32}
Niveau 4 V4 = {v4}
747
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Programmation dynamique
Exemple : résolution vers l’avant Traitement du niveau 2
10 8
3 4
5
8 0
5
5
7 7
Niveau 0 V0 = {v0}
5 4 6 4 4
4
9
4 v4
3
2
Niveau 1 V1 = {v11,v12,v13}
5
4 9
3
v31
9
7
2 4
Niveau 2 V2 = {v21,v22,v23,v24}
v32
Niveau 3 V3 = {v31,v32}
Niveau 4 V4 = {v4}
748
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Programmation dynamique
Exemple : résolution vers l’avant Traitement du niveau 3
10 8
3 4
5
8 0
5
5
7 7
Niveau 0 V0 = {v0}
5 4 6 4 4
4
9
4 v4
3
2
Niveau 1 V1 = {v11,v12,v13}
5
4 9
3
12
7
2 11
9
4
Niveau 2 V2 = {v21,v22,v23,v24}
Niveau 3 V3 = {v31,v32}
Niveau 4 V4 = {v4}
749
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Programmation dynamique
Exemple : résolution vers l’avant Traitement du niveau 4
10 8
3 4
5
8 0
5
5
7 7
Niveau 0 V0 = {v0}
5 4 6 4 4
4
9
4 17
3
2
Niveau 1 V1 = {v11,v12,v13}
5
4 9
3
12
7
2 11
9
4
Niveau 2 V2 = {v21,v22,v23,v24}
Niveau 3 V3 = {v31,v32}
Niveau 4 V4 = {v4}
750
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Programmation dynamique
Exemple : résolution vers l’avant On obtient l’ensemble des chemins optimaux de v0 à chaque nœud. 10 chemins évalués sur 16 possibles
v21 4 v11
3 4
5
8 v0
5
v12
7
4 v13
v0
5 4 6 4
v0v11 v0v12 v0v13
3
v22
v31
5
4 4
v4
3 v23
2 v24
7
2 4
v0v12v21 v0v12v22 v0v13v23 v0v12v24
v32
v0v13v23v31 v0v13v23v32
v0v13v23v31v4
751
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Programmation dynamique
Exemple : résolution vers l’arrière Traitement du niveau 3
v21 4 v11
3 4
5
8 v0
5
v12
7
4 v13
Niveau 0 V0 = {v0}
5 4 6 4
v22
4 0
3
2
Niveau 1 V1 = {v11,v12,v13}
5
4 v23
3
5
7
2 7
v24
4
Niveau 2 V2 = {v21,v22,v23,v24}
Niveau 3 V3 = {v31,v32}
Niveau 4 V4 = {v4}
752
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Programmation dynamique
Exemple : résolution vers l’arrière Traitement du niveau 2
9 v11
3 4
5
8 v0
5
v12
7 v13
Niveau 0 V0 = {v0}
5 4 6 4 4
4
9
Niveau 1 V1 = {v11,v12,v13}
5
4 4
8
2
3
5
0
3 7
2 7
11
4
Niveau 2 V2 = {v21,v22,v23,v24}
Niveau 3 V3 = {v31,v32}
Niveau 4 V4 = {v4}
753
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Programmation dynamique
Exemple : résolution vers l’arrière Traitement du niveau 1
9 12
3 4
5
8 v0
5
5 4 13 6 4
7
4 10
Niveau 0 V0 = {v0}
4
9
Niveau 1 V1 = {v11,v12,v13}
5
4 4
8
2
3
5
0
3 7
2 7
11
4
Niveau 2 V2 = {v21,v22,v23,v24}
Niveau 3 V3 = {v31,v32}
Niveau 4 V4 = {v4}
754
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Programmation dynamique
Exemple : résolution vers l’arrière Traitement du niveau 0
9 12
3 4
5
8 17
5
5 4 13 6 4
7
4 10
Niveau 0 V0 = {v0}
4
9
Niveau 1 V1 = {v11,v12,v13}
5
4 4
8
2
3
5
0
3 7
2 7
11
4
Niveau 2 V2 = {v21,v22,v23,v24}
Niveau 3 V3 = {v31,v32}
Niveau 4 V4 = {v4}
755
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Programmation dynamique
Exemple : résolution vers l’arrière On obtient l’ensemble des chemins optimaux chaque nœud à v4. 10 chemins évalués sur 16 possibles
v21 4 v11
3 4
5
8 v0
5
v12
7
4 v13
v0v13v23v31v4
5 4 6 4
3
v11v21v31v4 v12v22v31v4 v13v23v31v4
v22
v31
5
4 4
v4
3 v23
2 v24
7
2 4
v21v31v4 v22v31v4 v23v31v4 v24v32v4
v32
v31v4 v32v4
v4
756
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Programmation dynamique Généralisation Le principe de la programmation dynamique s’applique à l’évolution d’un système. Le système passe par une succession d’états au cours du temps. •
L’état du système à l’instant tk est noté xk Xk est l’ensemble des états possibles à l’instant tk
•
L’état initial x0 et l’état final xn sont donnés. On cherche le coût optimal pour passer de x0 à xn.
•
Le coût z(xk) associé à l’état xk représente le coût optimal : - soit pour passer de x0 à xk (résolution vers l’avant) - soit pour passer de xk à xn (résolution vers l’arrière) Le coût du passage d’un état xk à un état xk+1 est noté c(xk , xk+1).
•
Le principe d’optimalité donne la relation de récurrence vérifiée par le coût optimal.
x k Xk , k 0 à n
zx k 1 min zx k cx k , x k 1
(résolution vers l’avant)
zx k 1 maxzx k cx k 1 , x k
(résolution vers l’arrière)
x k X k
x k X k
757
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Programmation dynamique Application • La programmation dynamique permet d’éviter l’énumération de tous les chemins possibles. Sur l’exemple : 10 chemins évalués sur 16 possibles
Nombre total de chemins Nombre de chemins évalués
2n n
(avec 2 arcs partant de chaque nœud) (nombre de nœuds)
On obtient l’ensemble des chemins optimaux ( « champ d’extrémales ») : - allant de la source vers chaque nœud (évaluation vers l’avant) - allant de chaque nœud vers le puits (évaluation vers l’avant)
•
La programmation dynamique est applicable lorsque la dimension de l’état reste petite ( 3). Pour une dimension d’état supérieur, la combinatoire est exponentielle.
•
Le principe d’optimalité peut s’appliquer à un système continu. L’équation fonctionnelle vérifiée par le coût optimal est une équation aux dérivées partielles. équation HJB (Hamilton – Jacobi – Bellman)
758
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Heuristique A*
Principe L’algorithme de Dijkstra traite à chaque étape le nœud de valeur minimale. Ce choix ne tient pas compte du chemin restant à parcourir (qui est inconnu). L’heuristique A* se base sur une estimation du coût restant pour choisir le nœud à traiter.
•
On cherche le chemin de coût minimal entre le nœud s et le nœud t. Une heuristique h associe à chaque nœud vi une estimation hi du coût restant de vi à t.
•
L’évaluation ei du nœud vi est la somme : du coût zsi (connu) entre s et vi → ei = zsi + hi du coût hi (estimé) entre vi et t zsi
vi
hi
s
t zsj
•
vj
hj
L’algorithme A* traite à chaque étape le nœud d’évaluation minimale (= le plus prometteur ).
759
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Heuristique A*
Déroulement de l’algorithme L’algorithme A* diffère de l’algorithme de Dijkstra par le choix du nœud à traiter. •
Initialisation des coûts On attribue le coût : zs = 0 à la source s zsi = + aux autres nœuds vi
•
Traitement des nœuds Tous les nœuds sont initialement fermés, sauf la source s. Un nœud est ouvert lorsque son coût est modifié à partir d’un prédécesseur. Un nœud est fermé lorsque les coûts de ses successeurs ont été mis à jour.
On choisit parmi les nœuds ouverts le nœud vi d’évaluation minimale ei. - Les successeurs de vi sont mis à jour. Si zsi + cij < zsj , on modifie zsj zsj = zsi + cij zsi et le nœud vj est ouvert. - Le nœud vi est fermé. s •
Fin de l’algorithme On s’arrête lorsque le meilleur nœud ouvert est l’objectif t.
zsj
vi cij vj
760
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Heuristique A*
Propriétés de l’heuristique • Le comportement de l’algorithme dépend des propriétés de l’heuristique. On note : zij le coût du meilleur chemin de vi à vj hi le coût estimé de vi à t ei l’évaluation du nœud vi → ei = zsi + hi cij le coût de l’arc vivj zsi
vi
hi cij
s zsj
vj
t hj
•
Une heuristique admissible sous-estime le coût du chemin restant :
hi zit
•
Une heuristique consistante sous-estime le coût de chaque arc :
hi hj + cij
•
Une heuristique monotone donne une évaluation décroissante entre un nœud et ses successeurs :
ei ej
761
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Heuristique A* Propriétés de l’heuristique • Les propriétés de consistance, monotonie, admissibilité sont liées. Consistance Consistance
Monotonie Admissibilité
•
Une heuristique admissible garantit de trouver le chemin optimal.
•
Une heuristique consistante ouvre chaque nœud une fois au plus. Une heuristique consistante traite moins (ou autant) de nœuds que Dijkstra.
•
Une heuristique non consistante peut rouvrir des nœuds de façon exponentielle. Même si l’heuristique est admissible, la performance peut être très dégradée.
Cas particuliers • Avec l’heuristique nulle (hi = 0), le nœud choisi est le nœud de coût minimal. On retrouve l’algorithme de Dijkstra : tous les nœuds sont traités une fois.
•
Avec l’heuristique parfaite (hi = zit), le nœud choisi est sur le chemin optimal. On trouve le chemin optimal directement, car l’évaluation donne la solution exacte.
762
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Heuristique A*
Exemple 1 • Nœuds numérotés par abscisse-ordonnée : vij = nœud en position (i , j) • Nœud de départ : v11 → Nœud d’arrivée : v44 •
Estimation du coût restant = nombre d’arcs à parcourir jusqu’à v 44 (entre parenthèses en haut à gauche de chaque nœud)
v14
1
v24
v13
2
v23
(5)
2
v33
(6)
1
v21
2
v43 1
v32
(2) 2
2 1
v31
1
(3) 1
estimation = 2
v42
(4)
(5) 1
(1)
(3)
2
1.1
1
1
v22
v44
(2)
(4) 1.5
1
1
2
1.1 v12
v34
(3)
(4)
v11
4
2
1.1
(0)
(1)
(2)
(3)
abscisse = 4 ordonnée = 2
v41
763
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Heuristique A* Exemple 1 : étape 0 • Nœuds ouverts :
v11 (6)
•
Nœud à traiter :
v11 (6) = meilleure évaluation
•
Meilleur chemin :
v11
(3)
(4) 2
(2)
2 (5)
1
1 (3)
(4)
2 (6)
2
1
(3)
(4)
(5) 0
(2) 2
1
1.5 1.1
(1) 2
2
1.1
1
1
1
2
1.1
1
Nœuds évalués : 1 Nœuds traités : 0
1
4
1
(0)
(1)
(2)
(3)
0 (6)
→ C=0
1
764
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Heuristique A* Exemple 1 : étape 1 • Nœuds ouverts :
v12 (6.1) , v21 (6)
•
Nœud à traiter :
v21 (6) = meilleure évaluation
•
Meilleur chemin :
v11 v21
(3)
(4) 2
1
2 (6)
2 1
Nœud fermé : en gris Nœud ouvert : en jaune
1
(3)
(4)
(5) 1 (6)
(2) 2
1
1.5
1
1 (3)
(4)
1.1
(1) 2
2
(5)
0 (6)
(2)
2
1.1
1
1
2
1.1
Nœuds évalués : 3 Nœuds traités : 1
1
4
1
(0)
(1)
(2)
(3)
1.1 (6.1)
→ C=1
1
Nœud à traiter : en vert
765
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Heuristique A* Exemple 1 : étape 2 • Nœuds ouverts :
v12 (6.1) , v22 (7) , v31 (6)
•
Nœud à traiter :
v31 (6) = meilleure évaluation
•
Meilleur chemin :
v11 v21 v31
(3)
(4) 2
1.1 (6.1)
1
3 (7)
(6)
2
1 (6)
1
2 (6)
Nœud fermé : en gris Nœud ouvert : en jaune
1
(3)
(4)
(5) 1
(2) 2
1
2
1.1
1 (3)
(4) 1.5
(1) 2
2
(5)
0 (6)
(2)
2
1.1
1
1
2
1.1
Nœuds évalués : 5 Nœuds traités : 2
1
4
1
(0)
(1)
(2)
(3)
→ C=2
1
Nœud à traiter : en vert
766
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Heuristique A* Exemple 1 : étape 3 • Nœuds ouverts :
v12 (6.1) , v22 (7) , v32 (7) , v41 (6)
•
Nœud à traiter :
v41 (6) = meilleure évaluation
•
Meilleur chemin :
v11 v21 v31 v41
(3)
(4) 2
1.1 (6.1)
1
3 (7)
1
2
1.1 (6)
4 (7)
1 (6)
(2) 2
2 1
2 (6)
Nœud fermé : en gris Nœud ouvert : en jaune
1
(3)
(4)
(5) 1
1 (3)
(4) 1.5
(1) 2
2
(5)
0 (6)
(2)
2
1.1
1
1
2
1.1
Nœuds évalués : 7 Nœuds traités : 3
1
4
1
(0)
(1)
(2)
(3)
→ C=3
1
3 (6)
Nœud à traiter : en vert
767
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Heuristique A* Exemple 1 : étape 4 • Nœuds ouverts :
v12 (6.1) , v22 (7) , v32 (7) , v42 (6)
•
Nœud à traiter :
v42 (6) = meilleure évaluation
•
Meilleur chemin :
v11 v21 v31 v41 v42
(3)
(4) 2
1.1 (6.1)
1
3 (7)
1
2
1.1 (6)
4 (7)
1 (6)
(2) 2
2
4 (6)
1
2 (6)
Nœud fermé : en gris Nœud ouvert : en jaune
1
(3)
(4)
(5) 1
1 (3)
(4) 1.5
(1) 2
2
(5)
0 (6)
(2)
2
1.1
1
1
2
1.1
Nœuds évalués : 8 Nœuds traités : 4
1
4
1
(0)
(1)
(2)
(3)
→ C=4
1
3 (6)
Nœud à traiter : en vert
768
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Heuristique A* Exemple 1 : étape 5 • Nœuds ouverts :
v12 (6.1) , v22 (7) , v32 (7) , v43 (6)
•
Nœud à traiter :
v43 (6) = meilleure évaluation
•
Meilleur chemin :
v11 v21 v31 v41 v42 v43
(3)
(4) 2
1.1 (6.1)
1
3 (7)
1
2
1.1 (6)
1 (6)
1
4 (7)
(2) 2
2
4 (6)
1
2 (6)
Nœud fermé : en gris Nœud ouvert : en jaune
1
(3)
(4)
(5) 1
5 (6)
(3)
(4) 1.5
(1) 2
2
(5)
0 (6)
(2)
2
1.1
1
1
2
1.1
Nœuds évalués : 9 Nœuds traités : 5
1
4
1
(0)
(1)
(2)
(3)
→ C=5
1
3 (6)
Nœud à traiter : en vert
769
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Heuristique A* Exemple 1 : étape 6 • Nœuds ouverts :
v12 (6.1) , v22 (7) , v32 (7) , v44 (6)
•
Nœud à traiter :
v44 (6) = meilleure évaluation = objectif → Fin de l’algorithme
•
Meilleur chemin :
v11 v21 v31 v41 v42 v43 v44
(3)
(4) 2
1.1 (6.1)
1
3 (7)
1
2
1.1 (6)
1 (6)
1
4 (7)
(2) 2
2
4 (6)
1
2 (6)
Nœud fermé : en gris Nœud ouvert : en jaune
1
(3)
(4)
(5) 1
5 (6)
(3)
(4) 1.5
(1) 2
2
(5)
0 (6)
(2)
2
1.1
Nœuds évalués : 10 Nœuds traités : 6
6 (6)
1
1
2
1.1
1
4
1
(0)
(1)
(2)
(3)
→ C=6
1
3 (6)
Nœud à traiter : en vert
770
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Heuristique A*
Comparaison à l’algorithme de Dijkstra • L’algorithme A* avec une estimation nulle est équivalent à l’algorithme de Dijkstra. •
Le nœud à traiter est le nœud de coût minimal
•
Meilleur chemin :
v11 v21 v31 v41 v42 v43 v44
1
4.3
(0)
(0) 2.2
2
4.2
(0)
2
(0)
1
1
5 1
3.6
(0) 2
2
4 1
(0)
(0)
(0) 1
2 (0)
2
1.1
(0)
1
2.6
1
2
Nœuds évalués : 23 (A* : 10) Nœuds traités : 14 (A* : 6)
6
1
4.6
(0) 1.5
1 (0)
2
1.1 1.1
5.6 1
2
1.1
0
4
→ C=6
(0)
(0)
(0)
(0) 3.3
→ traité une seule fois.
1
3
Suite des nœuds traités v11 (0) → v21 (1) → v31 (2) → v22 (2.6) → v14 (3.3) → v42 (4) → v24 (4.3) → v43 (5)
→ v12 (1.1) → v13 (2.2) → v41 (3) → v32 (3.6) → v23 (4.2) → v33 (4.6) → v44 (6)
771
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Heuristique A*
Graphe revalué • L’algorithme A* est équivalent à l’algorithme de Dijkstra appliqué dans un graphe revalué. •
La valuation cij de l’arc vi vj est remplacée par : c ij ' c ij (h i h j )
•
Exemple : les nouvelles valuations des arcs sont en bleu. (3) v14
0 1
v24
3 4
(4) v13
1 2
(3) v23
1 2
2 1
1.1 0.1 (5) v12
0.5 1.5
(6)
0 1
v22
0 1
0 1
(2) v33
Algorithme de Dijkstra Nœuds traités : 6
v44
1 2
(1) v43 1 0
(3) v32
1 2
(2) v42 1 0
(4) v31
(0)
1 0
2 1 (5)
v21
v34
0 1
1 0
(4)
2 1
1.1 0.1
(1)
1 0
2 1
1.1 0.1
v11
(2)
0 1
0 si h est consistante
(3) v41
Suite des nœuds traités v11 (0) → v21 (0) → v31 (0) → v41 (0) → v42 (0) → v43 (0) → v44 (0)
772
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Heuristique A*
Exemple 2 : coût modifié • On reprend le même exemple en changeant le coût de l’arc v43 v44 . Le coût de l’arc passe de 1 à 4 (en rouge). •
Le déroulement de l’algorithme A* reste identique jusqu’au nœud v43 (étape 5). Meilleur chemin : v11 v21 v31 v41 v42 v43 → C=5
1
2
1.1
(3)
(4) 2
1.1 (6.1)
1
1.5
3 (7)
1
2 (6) 1
1 (6)
(2) 2
2
4 (6)
2 (6)
Nœud fermé : en gris Nœud ouvert : en jaune
1
(3)
(4) 1
Arc modifié
1
4 (7)
(5)
(1)
5 (6)
(3)
(4)
1.1 0 (6)
2
2
(5)
4
(2)
2
1.1
Nœuds évalués : 9 Nœuds traités : 5
1
4
1
(0)
(1)
(2)
(3)
1
3 (6)
Nœud à traiter : en vert
773
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Heuristique A* Exemple 2 : étape 6 • Nœuds ouverts :
v12 (6.1) , v22 (7) , v32 (7) , v44 (9)
•
Nœud à traiter :
v12 (6.1) = meilleure évaluation
→ Poursuite de l’algorithme
•
Meilleur chemin :
v11 v12
→ C = 1.1
(3)
(4) 2
1.1 (6.1)
1
3 (7)
1
2
1.1 (6)
1 (6)
1
4 (7)
(2) 2
2
4 (6)
1
2 (6)
Nœud fermé : en gris Nœud ouvert : en jaune
1
(3)
(4)
(5) 1
5 (6)
(3)
(4) 1.5
(1) 2
2
(5)
0 (6)
(2)
2
1.1
Nœuds évalués : 10 Nœuds traités : 6
9 (9)
4
1
2
1.1
1
4
1
(0)
(1)
(2)
(3)
1
3 (6)
Nœud à traiter : en vert
774
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Heuristique A* Exemple 2 : étape 7 • Nœuds ouverts :
v13 (6.2) , v22 (6.6) , v32 (7) , v44 (9)
•
Nœud à traiter :
v13 (6.2) = meilleure évaluation
•
Meilleur chemin :
v11 v12 v13
(3)
(4) 2.2 (6.2)
2
1.1 (6.1)
1
2.6 (6.6)
1
2
1.1 (6)
1 (6)
1
4 (7)
(2) 2
2
4 (6)
1
2 (6)
Nœud fermé : en gris Nœud ouvert : en jaune
1
(3)
(4)
(5) 1
5 (6)
(3)
(4) 1.5
(1) 2
2
(5)
0 (6)
(2)
2
1.1
Nœuds évalués : 12 Nœuds traités : 7
9 (9)
4
1
2
1.1
1
4
1
(0)
(1)
(2)
(3)
→ C = 2.2
1
3 (6)
Nœud à traiter : en vert
775
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Heuristique A* Exemple 2 : étape 8 • Nœuds ouverts :
v14 (6.3) , v22 (6.6) , v23 (7.2) , v32 (7) , v44 (9)
•
Nœud à traiter :
v14 (6.3) = meilleure évaluation
•
Meilleur chemin :
v11 v12 v13 v14
3.3 (6.3)
(3)
(4) 2.2 (6.2)
2
4.2 (7.2)
(5) 1.1 (6.1)
1.5
1
2.6 (6.6)
1
1 (6)
1
4 (7)
(2) 2
2
4 (6)
1
2 (6)
Nœud fermé : en gris Nœud ouvert : en jaune
1
(3)
(4)
(5) 1
5 (6)
(3)
2 (6)
(1) 2
2
(4)
1.1 0 (6)
(2)
2
1.1
Nœuds évalués : 14 Nœuds traités : 8
9 (9)
4
1
2
1.1
1
4
1
(0)
(1)
(2)
(3)
→ C = 3.3
1
3 (6)
Nœud à traiter : en vert
776
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Heuristique A* Exemple 2 : étape 9 • Nœuds ouverts :
v22 (6.6) , v23 (7.2) , v24 (6.3) , v32 (7) , v44 (9)
•
Nœud à traiter :
v24 (6.3) = meilleure évaluation
•
Meilleur chemin :
v11 v12 v13 v14 v24
3.3 (6.3)
1
4.3 (6.3)
2
4.2 (7.2)
(5) 1.1 (6.1)
1.5
1
2.6 (6.6)
1
1 (6)
1
4 (7)
(2) 2
2
4 (6)
1
2 (6)
Nœud fermé : en gris Nœud ouvert : en jaune
1
(3)
(4)
(5) 1
5 (6)
(3)
2 (6)
(1) 2
2
(4)
1.1 0 (6)
(2)
2
1.1
Nœuds évalués : 15 Nœuds traités : 9
9 (9)
4
1 (3)
(4) 2.2 (6.2)
1
4
2
1.1
(0)
(1)
(2)
(3)
→ C = 4.3
1
3 (6)
Nœud à traiter : en vert
777
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Heuristique A* Exemple 2 : étape 10 • Nœuds ouverts : v22 (6.6) , v23 (7.2) , v32 (7) , v34 (9.3) , v44 (9) •
Nœud à traiter :
v22 (6.6) = meilleure évaluation
•
Meilleur chemin :
v11 v12 v22
3.3 (6.3)
1
4.3 (6.3)
2.2 (6.2)
2
4.2 (7.2)
(5)
(6)
2
1 (6)
5 (6) 1
(3) 1
4 (7)
(2) 2
2
4 (6)
1
2 (6)
Nœud fermé : en gris Nœud ouvert : en jaune
1
(3)
(4)
(5) 1
(1)
1
2
1.1
4
2
2.6 (6.6)
Nœuds évalués : 16 Nœuds traités : 10
9 (9)
(2)
(4) 1.5
1
1
2
1.1 1.1 (6.1)
8.3 (9.3)
(3)
(4)
0 (6)
4
2
1.1
(0)
(1)
(2)
(3)
→ C = 2.6
1
3 (6)
Nœud à traiter : en vert
778
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Heuristique A* Exemple 2 : étape 11 • Nœuds ouverts :
v23 (7.2) , v32 (6.6) , v34 (9.3) , v44 (9)
•
Nœud à traiter :
v32 (6.6) = meilleure évaluation
•
Meilleur chemin :
v11 v12 v22 v32
3.3 (6.3)
1
4.3 (6.3)
2.2 (6.2)
2
4.2 (7.2)
(5)
(6)
2
1 (6)
5 (6) 1
(3) 1
3.6 (6.6)
(2) 2
2
4 (6)
1
2 (6)
Nœud fermé : en gris Nœud ouvert : en jaune
1
(3)
(4)
(5) 1
(1)
1
2
1.1
4
2
2.6 (6.6)
Nœuds évalués : 18 Nœuds traités : 11
9 (9)
(2)
(4) 1.5
1
1
2
1.1 1.1 (6.1)
8.3 (9.3)
(3)
(4)
0 (6)
4
2
1.1
(0)
(1)
(2)
(3)
→ C = 3.6
1
3 (6)
Nœud à traiter : en vert
779
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Heuristique A* Exemple 2 : étape 12 • Nœuds ouverts : v23 (7.2) , v33 (6.6) , v34 (9.3) , v44 (9) •
Nœud à traiter :
v33 (6.6) = meilleure évaluation
•
Meilleur chemin :
v11 v12 v22 v32 v33
3.3 (6.3)
1
4.3 (6.3)
2.2 (6.2)
2
4.2 (7.2)
(5)
2
4.6 (6.6)
(6)
1
1 (6)
2
5 (6) 1
3.6 (6.6)
(2) 2
2
4 (6)
1
2 (6)
Nœud fermé : en gris Nœud ouvert : en jaune
1
(3)
(4)
(5) 1
(1)
(3)
2
1.1
4
1
2.6 (6.6)
Nœuds évalués : 20 Nœuds traités : 12
9 (9)
(2)
(4) 1.5
1
1
2
1.1 1.1 (6.1)
8.3 (9.3)
(3)
(4)
0 (6)
4
2
1.1
(0)
(1)
(2)
(3)
→ C = 4.6
1
3 (6)
Nœud à traiter : en vert
780
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Heuristique A* Exemple 2 : étape 13 • Nœuds ouverts : v23 (7.2) , v34 (6.6) , v44 (9) •
Nœud à traiter :
v34 (6.6) = meilleure évaluation
•
Meilleur chemin :
v11 v12 v22 v32 v33 v34
3.3 (6.3)
1
4.3 (6.3)
2.2 (6.2)
2
4.2 (7.2)
(5)
2
4.6 (6.6)
(6)
1
1 (6)
2
5 (6) 1
3.6 (6.6)
(2) 2
2
4 (6)
1
2 (6)
Nœud fermé : en gris Nœud ouvert : en jaune
1
(3)
(4)
(5) 1
(1)
(3)
2
1.1
4
1
2.6 (6.6)
Nœuds évalués : 22 Nœuds traités : 13
9 (9)
(2)
(4) 1.5
1
1
2
1.1 1.1 (6.1)
5.6 (6.6)
(3)
(4)
0 (6)
4
2
1.1
(0)
(1)
(2)
(3)
→ C = 5.6
1
3 (6)
Nœud à traiter : en vert
781
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Heuristique A*
Exemple 2 : étape 14 • Nœuds ouverts : v23 (7.2) , v44 (6.6) •
Nœud à traiter :
v34 (6.6) = meilleure évaluation = objectif
•
Meilleur chemin :
v11 v12 v22 v32 v33 v34 v44
3.3 (6.3)
1
4.3 (6.3)
(3)
(4) 2.2 (6.2)
2
4.2 (7.2)
(5)
2
(6)
1
1 (6)
5 (6)
(2) 2
2
4 (6)
2 (6)
Nœud fermé : en gris Nœud ouvert : en jaune
1
(3)
(4) 1
Performance identique à Dijkstra
1
3.6 (6.6)
(5) 1
2 (3)
2
1.1
(1)
1
2.6 (6.6)
Nœuds évalués : 23 Nœuds traités : 14
6.6 (6.6)
4
4.6 (6.6)
(4) 1.5
1 (2)
2
1.1 1.1 (6.1)
5.6 (6.6) 1
2
1.1
0 (6)
4
→ C = 6.6
(0)
(1)
(2)
(3)
→ Fin de l’algorithme
1
3 (6)
Nœud à traiter : en vert
782
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Heuristique A* Heuristique non admissible • Une heuristique non admissible peut aboutir à une solution sous-optimale. •
Exemple (1) (2)
1
v1
2
s
t (3)
1
Coût minimal de v2 à t : z2t = 1 Estimation de v2 à t : h2 = 3 h2 > z2t → heuristique non admissible
1
v2
Solution obtenue par A* : s v1 t : C = 3 Solution optimale : s v2 t : C = 2
(1) (2)
1
1 (2)
2
0 (2)
3 (3) (3)
1 1 (4)
1
Evaluation de v2 : e2 = 4 Evaluation de t : et = 3 → v2 reste ouvert (à cause de h2) → la solution optimale n’est pas trouvée
783
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Heuristique A* Heuristique non consistante • Une heuristique non consistante peut ouvrir des nœuds plusieurs fois. •
Exemple (1) (3)
1
(0.5) 1
v1
v3 2
0
s (2)
1 v2
(1.5) 1
(1) (3)
1
2
v4
(0.5) 1
3
t
Coût minimal de chaque nœud à t
2 2
0
3 (2)
1 2
0 (1.5)
1
Coût de v2 à v3 : c23 = 0 Estimation de v2 et v3 : h2 = 2 , h3 = 0.5 h2 > h3 + c23 → heuristique non consistante
2
2
z4t = 2 z3t = 2 z2t = 2 z1t = 3 zst = 3
h4 = 1.5 h3 = 0.5 h2 = 2 h1 = 1 hs = 3
→ heuristique admissible
784
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Heuristique A*
Heuristique non consistante • Déroulement de A* (1)
1 (2)
(0.5) 1
2
(3) 1 0
0 (3) 1
(2) 1 (3)
(1.5)
1 (2)
2
1
(1)
(0.5) 1
fermé
s
v1 (2) , v2 (3)
s , v3 , v4 , t
v1
v2 (3) , v3 (2.5)
s , v1 , v4 , t
v3
v2 (3) , t (4)
s , v1 , v3 , v4
v2
v3 (1.5) , v4 (3.5) , t (4)
s , v1 , v2
v3
v4 (3.5) , t (3)
s , v1 , v2 , v3
2 0
0 (3) 1
ouvert (évaluation)
1 (1.5)
(3) 1 (2) 1 (3)
• •
traité
2 (2.5)
4 (4) (1.5)
1
2
Solution optimale : s v2 v3 t : C = 3
2 (3.5)
La solution optimale est trouvée car l’heuristique est admissible. Le nœud v3 est traité deux fois car l’heuristique est non consistante (sur l’arc v 2 v3). Une heuristique non consistante donne des valuations négatives dans le graphe revalué.
785
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Heuristique A*
Propriétés de A* • L’heuristique A* est équivalente à l’algorithme de Dijkstra appliqué dans un graphe revalué. •
La valuation cij de chaque arc vi vj est remplacée par : c ij ' c ij (h i h j )
•
Une heuristique non consistante est détectée par des valuations cij négatives. Pour une heuristique consistante, A* et Dijkstra ont les mêmes propriétés.
Comparaison des algorithmes • Graphe à n sommets et m arcs Algorithme
Valuations (signe)
Circuit
Ford
quelconques
non absorbant
Bellman
quelconques
Dijkstra A*
Traitement (nœuds, arcs)
Choix du nœud à traiter
Complexité
plusieurs fois
libre
2n
non
une fois par arc
ordre topologique
m
positives
oui
une fois par nœud
coût minimal
m.log(n)
positives
oui
une fois par nœud si h consistante
évaluation minimale
Dijkstra
786
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Ordonnancement Enoncé du problème Une liste de n tâches T1 , … , Tn est à réaliser le plus rapidement possible. Les durées des tâches d1 , … , dn sont connues. Les dates de début et fin de la tâche Ti sont notées ti,d et ti,f → valeurs à optimiser La réalisation des tâches est soumise à plusieurs types de contraintes. Contraintes • Contraintes de type potentiel - La tâche Ti ne peut commencer avant une date donnée → ti,d ti,min - La tâche Ti doit être terminée avant une date donnée → ti,f ti,max - La tâche Ti ne peut commencer avant que la tâche Tj soit terminée → ti,d tj,f + dj
•
Contraintes de type disjonctif - Les tâches Ti et Tj ne peuvent être réalisées simultanément → [ti,d , ti,f] ∩ [tj,d , tj,f] =
•
Contraintes de type cumulatif - Liées à l’évolution des ressources disponibles pour exécuter les tâches - Prennent en compte d’autres aspects que l’ordre temporel (coûts, répartition des tâches) - Spécifiques à chaque problème → plus complexes à exprimer
787
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Ordonnancement Durée minimale • Les tâches et contraintes sont représentées sous forme d’un graphe. Plusieurs représentations sont possibles (méthode PERT , méthode MPM) •
Seules les contraintes de type potentiel sont prises en compte. Les autres types de contraintes doivent être traitées par des heuristiques. → pas de méthode systématique
•
On cherche à minimiser la durée totale nécessaire pour réaliser toutes les tâches T1 , … , Tn. - Les tâches T0 et T représentent le début et la fin du processus. - La durée totale minimale est celle du chemin de durée maximale entre T0 et T. → algorithme de Bellman transposé à une maximisation (graphe sans circuit)
Chemin critique • Un chemin critique est un chemin de durée maximale entre T0 et T. •
Une tâche située sur un chemin critique est une tâche critique. Une tâche critique ne peut être retardée sans augmenter la durée totale.
•
Une tâche non critique peut être retardée sans affecter la durée totale → marge
788
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Ordonnancement Algorithmes • Méthode GANTT (ou planning à barres) - Représentation des tâches par des barres de longueur égale à leur durée di - Développée par K. Adamiecki 1896, puis H. Gantt 1910 - Méthode approchée non systématique (seule méthode connue jusqu’en 1958) - Utilisée pour visualiser la solution obtenue par une autre méthode •
Méthode PERT (ou CPM) - Représentation par un graphe : nœuds = évènements (ou étapes) arcs = opérations (ou tâches) - PERT = Program Evaluation and Review Technique (ou Program Evaluation Research Task) CPM = Critical Task Method - Méthode développée aux USA en 1958 pour planifier le programme de sous marin nucléaire
•
Méthode MPM - Représentation par un graphe : nœuds = opérations (ou tâches) arcs = contraintes - MPM = Méthode des Potentiels Métra - Méthode développée par B. Roy (société Métra) en 1958 pour planifier le paquebot France - Ne nécessite pas le tracé du graphe → plus simple que la méthode PERT
789
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Ordonnancement
Exemple • Processus comportant 9 tâches notées A , B , C , D , E , F , G , H , I Les tâches T0 et T représentent le début et la fin du processus. •
On indique pour chaque tâche :
- les tâches préalables (contraintes) - sa durée
Tâche Préalable Durée
•
A
B
C
D
E
F
G
H
I
T0+5
T0
T0+3
A,B
B
B,C
D,E,F
D,E,F
E,Cm
16
14
20
8
18
25
15
10
17
La tâche I peut commencer lorsque la tâche C est finie à moitié. On ajoute une tâche fictive notée Cm correspondant à la moitié de la réalisation de C. Tâche Préalable Durée
A
B
Cm
C
D
E
F
G
H
I
T0+5
T0
T0+3
Cm
A,B
B
B,C
D,E,F
D,E,F
E,Cm
16
14
10
10
8
18
25
15
10
17
790
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Méthode PERT
Graphe PERT • Les nœuds sont les évènements • Les arcs sont les tâches Af
Dd
8
Df
Gd
Bf
Ed
18
Ef
Hd
Cd
Cf
Fd
Ff
Id
10
10
Ad
5
T0
16
→ début (Td) et fin (Tf) de chaque tâche → durée de la tâche (pointillé = durée nulle)
Bd
14
3
25
15
10
17
Gf Hf
T
If
Cm Tâche Préalable Durée
A
B
Cm
C
D
E
F
G
H
I
T0+5
T0
T0+3
Cm
A,B
B
B,C
D,E,F
D,E,F
E,Cm
16
14
10
10
8
18
25
15
10
17
791
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Méthode PERT
Graphe PERT • Algorithme de Bellman → chemin de durée maximale entre T0 et T. • Chemin critique : Cd Cm Cf Fd Ff Gd Gf → durée = 63 16
21
21
8
29
48
14
14
18
32
48
3
23
23
48
32
10
10
5
15
63
5
0
0
14
3
25
10
17
58
63
49
13 Tâche
A
B
Cm
C
D
E
F
G
H
I
T0+5
T0
T0+3
Cm
A,B
B
B,C
D,E,F
D,E,F
E,Cm
Durée
16
14
10
10
8
18
25
15
10
17
Début min
5
0
3
13
21
14
23
48
48
32
Fin min
21
14
13
23
29
32
48
63
58
49
Préalable
792
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Méthode MPM
Graphe MPM • Les nœuds sont les tâches • Les arcs sont les contraintes
→ début (Td) de chaque tâche → durée de la tâche (arcs sortants de même valuation)
Ad 16
Dd
8
Gd
15
Bd
Ed
18
Hd
10
Fd
25
Id
17
5
T0
0
14
T
3
Cd 10
Cm Tâche Préalable Durée
10
A
B
Cm
C
D
E
F
G
H
I
T0+5
T0
T0+3
Cm
A,B
B
B,C
D,E,F
D,E,F
E,Cm
16
14
10
10
8
18
25
15
10
17
793
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Méthode MPM
Graphe MPM • Algorithme de Bellman → chemin de durée maximale entre T0 et T. • Chemin critique : Cd Cm Fd Gd → durée = 63 5
16
21
8
48
15
0
14
14
18
48
10
23
25
32
17
5
0
0
63
3
3 10
13 Tâche
10
A
B
Cm
C
D
E
F
G
H
I
T0+5
T0
T0+3
Cm
A,B
B
B,C
D,E,F
D,E,F
E,Cm
Durée
16
14
10
10
8
18
25
15
10
17
Début min
5
0
3
13
21
14
23
48
48
32
Fin min
21
14
13
23
29
32
48
63
58
49
Préalable
794
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Méthode MPM
Tableau MPM • On peut appliquer la méthode MPM sous forme d’un tableau sans représenter le graphe. Chaque colonne correspond à une tâche avec ses prédécesseurs et leurs durées (à droite). •
Exemple : La tâche G a pour prédécesseurs D (durée 8), E (durée 18), F (durée 25).
•
Les sous-colonnes de gauche vont ensuite être complétées avec les dates au plus tôt.
Tâche Préalable
A T0
Tâche Préalable
B 5
T0
E B
0
T0
F 14
C
Cm 3
Cm
G
D 10
A
16
B
14
H
T
I
B
14
D
8
D
8
E
18
G
15
C
10
E
18
E
18
Cm
10
H
10
F
25
F
25
I
17
795
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Méthode MPM
Tableau MPM • On traite la première tâche T0 dont la date au plus tôt est connue (= 0). On inscrit cette date à gauche de T0 dans les sous-colonne où T0 apparaît → colonnes A, B, Cm •
Les colonnes A, B, Cm sont complètes. On peut calculer la date au plus tôt des tâches A, B, Cm. La date au plus tôt de A vaut : 0 (date au plus tôt de T0) + 5 (durée T0 A) On inscrit cette date au plus tôt en haut à gauche de la colonne A (id pour B et C).
Tâche
5
Préalable
0
A T0
Tâche Préalable
B
0 5
0
T0
E B
3 0
0
T0
F 14
C
Cm 3
Cm
G
D 10
A
16
B
14
H
T
I
B
14
D
8
D
8
E
18
G
15
C
10
E
18
E
18
Cm
10
H
10
F
25
F
25
I
17
796
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Méthode MPM
Tableau MPM • Les colonnes A, B, Cm sont complètes. Les dates au plus tôt des tâches A, B, Cm sont connues. On reporte ces dates dans les sous-colonne où A, B, Cm apparaissent → colonnes C, D, E, F •
Les colonnes C, D, E sont complètes. On peut calculer la date au plus tôt des tâches C, D, E. La date au plus tôt de D est le maximum entre : 5 (date au plus tôt de A) + 16 (durée A D) 0 (date au plus tôt de B) + 14 (durée B D) On inscrit les nouvelles dates au plus tôt en haut à gauche des colonnes C, D, E. Tâche
5
Préalable
0
Tâche
14
Préalable
0
A T0
B
0 5
0
T0
E B
3 0
0
Cm T0
F 14
0
C
13 3
3
Cm
G
D
21 10
5
A
16
0
B
14
H
T
I
B
14
D
8
D
8
E
18
G
15
C
10
E
18
E
18
Cm
10
H
10
F
25
F
25
I
17
797
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Méthode MPM
Tableau MPM • Les colonnes C, D, E sont complètes. Les dates au plus tôt des tâches C, D, E sont connues. On reporte ces dates dans les sous-colonne où C, D, E apparaissent → colonnes F, G, H, I •
Les colonnes F, I sont complètes. On peut calculer la date au plus tôt des tâches F, I. La date au plus tôt de F est le maximum entre : 0 (date au plus tôt de B) + 14 (durée B F) 13 (date au plus tôt de C) + 10 (durée C F) On inscrit les nouvelles dates au plus tôt en haut à gauche des colonnes F, I. Tâche
5
Préalable
0
Tâche
14
Préalable
0
A T0
5
E B
B
0 0
T0
0
0
Cm T0
F
23 14
3
C
13 3
3
Cm
G
D
21 10
H
5
A
16
0
B
14
T
I
32
0
B
14
21
D
8
21
D
8
14
E
18
G
15
13
C
10
14
E
18
14
E
18
3
Cm
10
H
10
F
25
F
25
I
17
798
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Méthode MPM
Tableau MPM • Les colonnes F, I sont complètes. Les dates au plus tôt des tâches F, I sont connues. On reporte ces dates dans les sous-colonne où F, I apparaissent → colonnes G, H, T •
Les colonnes G, H sont complètes. On peut calculer la date au plus tôt des tâches G, H.
•
On peut ensuite compléter le tableau en calculant la date finale au plus tôt (colonne T).
Tâche
5
Préalable
0
Tâche
14
Préalable
0
A T0
5
E B
B
0 0
T0
0
F
23 14
3 0
Cm T0
3
G
48
C
13 3
Cm
10
H
48
D
21 5
A
16
0
B
14
T
I
32
0
B
14
21
D
8
21
D
8
14
E
18
G
15
13
C
10
14
E
18
14
E
18
3
Cm
10
H
10
23
F
25
23
F
25
I
17
32
799
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Méthode MPM
Tableau MPM • Le tableau fournit les dates au plus tôt de chaque tâche en haut à gauche des colonnes. •
On reconstitue le chemin critique en partant de la fin. L’opération critique dans chaque colonne est celle qui a donné la date au plus tôt. T → G G → F F → C C → Cm Cm → T0 63 = 48 + 15
Tâche
5
Préalable
0
Tâche
14
Préalable
0
48 = 23 + 25
A T0
B
0 5
E B
23 = 13 + 10
0
T0
0
F
23 14
3 0
13 = 3 + 10
Cm T0
G
48
C
13 3
3
3= 0+3
Cm
10
H
48
D
21 5
A
16
0
B
14
I
32
T
63
0
B
14
21
D
8
21
D
8
14
E
18
48
G
15
13
C
10
14
E
18
14
E
18
3
Cm
10
48
H
10
23
F
25
23
F
25
32
I
17
800
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Marges Dates au plus tôt, au plus tard • Le processus est une suite d’évènements Ei avec les durées des tâches entre les évènements. L’algorithme de Bellman donne la date au plus tôt de chaque évènement et le chemin critique. •
Notations - ti min = date au plus tôt de l’évènement Ei (obtenue par l’algorithme de Bellman) - ti max = date au plus tard de l’évènement Ei (sans retarder la suite du processus) - dij = durée de la tâche entre l’évènement Ei et l’évènement Ej - +(i) = ensemble des successeurs de l’évènement Ei - (i) = ensemble des prédécesseurs de l’évènement Ei
•
Dates au plus tôt :
•
Dates au plus tard : t i max min ( t j max d ij )
•
Les évènements et tâches sur le chemin critique ne peuvent être retardés : t i max t i min
•
Une tâche non critique dispose d’une marge
t j min max ( t i min d ij ) i ( j)
j ( i )
→ Ej doit attendre tous ses prédécesseurs Ei → Ei ne doit retarder aucun successeur Ej
→ marge libre, marge totale
801
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Techniques d’optimisation
Max CERF 2018
4.1.2 Marges Chemin critique Les évènements et tâches sur le chemin critique ne peuvent être retardés. •
Si l’évènement Ei est sur le chemin critique :
t i max t i min
•
Si la tâche Ej Ei est sur le chemin critique :
t j min t i min d ij
Marge libre • La marge libre mij de la tâche Ej Ei vaut : •
m ij t j min t i min d ij
mij = durée dont la tâche Ej Ei peut augmenter sans impact sur la suite du processus → sans décalage des tâches ultérieures (conservation des dates au plus tôt) → peut être nulle même si la tâche n’est pas sur le chemin critique
Marge totale • La marge totale Mij de la tâche Ej Ei vaut : M ij t j max t i min d ij •
Mij = durée maximale dont la tâche Ej Ei peut augmenter → nécessite de décaler les tâches ultérieures (à leur date au plus tard) → annule les marges libres des tâches ultérieures
802
4 Optimisation discrète 4.1 Problème combinatoire 4.1.2 Problème de chemin
Max CERF 2018
Techniques d’optimisation 4.1.2 Marges
Exemple • Problème à 4 évènements : A, B, C, D •
2
A (23)
C (45) 1
2
Chemin critique : T0 B D T → durée = 6
T (6)
1
T0 (0) 2
•
2
Entre parenthèses : date au plus tôt / tard
B (22)
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
2
D (44)
T0 A
T0 B
AC
BC
BD
C T
D T
Marge libre
202 = 0
202 = 0
422 = 0
421 = 1
422 = 0
641 = 1
642 = 0
Marge totale
302 = 1
202 = 0
522 = 1
521 = 2
422 = 0
641 = 1
642 = 0
Tâche
•
Les tâches (T0 A) et (A C) ont une marge libre de 0, bien que n’étant pas critiques.
803
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Techniques d’optimisation
Max CERF 2018
4.1.3 Problème de flot Réseau de transport Chaîne améliorante
Algorithme de Ford – Fulkerson Coupe Graphe d’écart Flot de coût minimal
804
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Problème de flot
Réseau de transport Un réseau de transport est représenté par un graphe G=(V,E,F,C,s,t). • V est l’ensemble des nœuds n nœuds (vi) i=1 à n • E est l’ensemble des arcs m arcs (ek) k=1 à m • F donne les capacités des arcs fij = capacité de l’arc [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).
(fij , cij)
vi
vj
Représentation d’un flot • La variable φ représente le flot total à transporter de la source s au puits t. La variable xij représente le flot passant par l’arc [vivj] coût xijcij •
Le flot sur chaque arc ne doit pas dépasser la capacité de l’arc :
xij fij
•
Le flot arrivant au nœud vi s,t est égal au flot partant : (loi de conservation de Kirchhoff)
x
v j vi E
•
Le flot partant de la source s vaut φ : = flot arrivant au puits t
x s v j E
ji
sj
x
vi v j E
ij
x v j t E
jt
805
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Techniques d’optimisation
Max CERF 2018
4.1.3 Problème de flot Enoncé du problème Un flot est défini par l’ensemble des valeurs xij des flots sur chaque arc.
( x ij )i , j1 à n
valeur :
x s v j E
coût :
c
sj
x c
vi v j E
ij ij
•
Il est assez simple de construire un flot initial vérifiant les lois de conservation.
•
Problèmes à résoudre. Quelle est la valeur maximale φmax du flot pouvant traverser le réseau ? Parmi tous les flots de valeur maximale φmax , quel est celui de coût minimal cmin ?
Algorithmes Les algorithmes consistent à améliorer itérativement un flot initial. • Algorithme de Ford et Fulkerson flot maximal • Algorithme de Roy, Busacker et Gowen flot maximal de coût minimal
algorithmes basés sur la recherche de chaîne améliorante ou sur le graphe d’écart
806
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Problème de flot
Exemple Réseau de transport :
source s en v0 puits t en v3 La capacité de chaque arc est indiquée entre parenthèses. On cherche à faire passer un flot maximal de s à t.
v11
(10)
v21
v22 v0
(25)
v3
v12 v23
v13
(10)
v24
807
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Problème de flot
Exemple On construit un flot initial 0 respectant les lois de conservation. • Le flot sur chaque arc est indiqué en bleu. • Les arcs saturés sont indiqués en orange. • La valeur du flot 0 est φ = 35 + 25 + 20 = 80 à maximiser
v11
(10)
10
v21
v22 v0
(25)
25
v3
v12 v23
v13
(10)
10
v24
808
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Chaîne améliorante
Définition • Une chaîne élémentaire est une suite de nœuds distincts reliés par des arêtes (non orientées). Exemple : chaîne (v1,v2,v3,v4)
v1
v2
v3
v4
•
Une chaîne élémentaire de s à t (s=v1,…,vi,vi+1,…,vp=t) est améliorante si - les arcs directs [vivi+1] ne sont pas saturés xij < fij , j = i + 1 - les arcs indirects [vi+1vi] sont de flot non nul xji > 0 , j = i 1
•
On peut modifier le flot de la quantité δφ le long de la chaîne améliorante - en augmentant le flot des arcs directs (non saturés) : xij < fij δφ fij xij - en diminuant le flot des arcs indirects (flot non nul) : xji > 0 δφ xji pour respecter les lois de conservation Exemple : chaîne (…,v1,v2,v3,v4,…)
3
v3
x34 +
v4
4 +
x23 1 +
v1
x12 +
v2
2
809
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Techniques d’optimisation
Max CERF 2018
4.1.3 Algorithme de Ford - Fulkerson Principe de l’algorithme On peut augmenter le flot φ si l’on trouve une chaîne améliorante de la source au puits La chaîne améliorante est construite par marquage des nœuds. Procédure de marquage • Initialisation : - La source est marquée + - Les nœuds sont non marqués. •
Marquage des nœuds Pour un arc [uv] - si u est marqué et [uv] non saturé v est marqué + (direct) - si v est marqué et [uv] de flot non nul u est marqué (indirect) On stocke pour chaque nœud son prédécesseur dans l’ordre de marquage.
Chaîne améliorante • Si le puits est marqué, le flot n’est pas maximal. On trouve une chaîne améliorante en remontant les prédécesseurs à partir du puits. Le flot des arcs directs [vivj] est augmenté de δφ (avec δφ fij xij) Le flot des arcs indirects [vivj] est diminué de δφ (avec δφ xji) •
Si le puits est non marqué, le flot est maximal.
810
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Algorithme de Ford - Fulkerson
Exemple • Marquage des nœuds à partir de la source pour le flot initial 0 Arc
[v0v11]
[v11v22]
[v12v22]
[v12v21]
[v12v23]
[v21v3]
[v13v23]
Marquage
v11 (+)
v22 (+)
v12 ()
v21 (+)
v23 (+)
v3 (+)
v13 ()
v0
v11
v22
v12
v12
v21
v23
Prédécesseur
v11
(10)
10
v21
v22 v0
(25)
25
v3
v12 v23
v13
(10)
10
v24
811
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Algorithme de Ford - Fulkerson
Exemple • Marquage des nœuds à partir de la source pour le flot initial 0 Arc
[v0v11]
[v11v22]
[v12v22]
[v12v21]
[v12v23]
[v21v3]
[v13v23]
Marquage
v11 (+)
v22 (+)
v12 ()
v21 (+)
v23 (+)
v3 (+)
v13 ()
v0
v11
v22
v12
v12
v21
v23
Prédécesseur
•
Le puits v3 est marqué il existe une chaîne améliorante Prédécesseurs : v3 v21 v12 v22 v11 Nœud
v3 (+)
v21 (+)
v12 ()
v22 (+)
v11 (+)
Prédécesseur
v21
v12
v22
v11
v0
Borne (+ )
30
20
0
15
45
Flot sur l’arc
20
10
5
5
35
Variation
+10
+10
5
+10
+10
v0
812
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Algorithme de Ford - Fulkerson
Exemple • Chaîne améliorante (v0 , v11 , v22 , v12 , v21 , v3) Arc Variation
[v0v11]
[v11v22]
[v12v22]
[v12v21]
[v21v3]
+10
+10
5
+10
+10
v11
(10)
10
δφmax = 5
v21
v22 v0
(25)
25
v3
v12 v23
v13
(10)
10
v24
813
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Algorithme de Ford - Fulkerson
Exemple • Augmentation du flot de δφ = 5 le long de la chaîne améliorante (v0 , v11 , v22 , v12 , v21 , v3) arcs directs en vert (+5) arcs indirects en rouge (5)
v11
(10)
10
v21
v22 v0
(25)
25
v3
v12 v23
v13
(10)
10
v24
814
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Algorithme de Ford - Fulkerson
Exemple Nouveau flot 1 • Le flot sur chaque arc est indiqué en bleu. • Les arcs saturés sont indiqués en orange. • La valeur du flot 1 est φ = 40 + 25 + 20 = 85
v11
(10)
10
maximale ?
v21
v22 v0
(25)
25
v3
v12 v23
v13
(10)
10
v24
815
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Algorithme de Ford - Fulkerson
Exemple • Marquage des nœuds à partir de la source pour le flot 1 Arc
[v0v11]
[v11v22]
Marquage
v11 (+)
v22 (+)
v0
v11
Prédécesseur
v11
(10)
Le puits n’est pas marqué. Le flot 1 est maximal de valeur φmax = 85
10
v21
v22 v0
(25)
25
v3
v12 v23
v13
(10)
10
v24
816
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Coupe
Solution Le flot obtenu à la fin de l’algorithme de Ford-Fulkerson est le flot maximal. Pour le vérifier, on considère la coupe associée au flot . Coupe La coupe W associée au flot est l’ensemble des nœuds marqués. Chaque nœud de V appartient soit à W, soit au complémentaire W .
W VW
W •
Un arc [vivj] sortant de la coupe est saturé. Sinon vj serait marqué (+) et appartiendrait à W.
vi
xij= fij
vj
s
t
•
Un arc [vkvl] entrant dans la coupe est de flot nul. Sinon vk serait marqué () et appartiendrait à W.
•
On ne peut ni augmenter le flot total sortant de la coupe, ni diminuer le flot total entrant. Si le puits est non marqué, on ne peut pas augmenter le flot arrivant au puits. Le flot est maximal.
vl
xkl= 0
vk
817
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Coupe
Exemple Coupe associé au flot 1 : W = {v0 , v11 , v22} (en bleu) • Arcs sortants : [v0v12] , [v0v13] , [v11v21] , [v11v24] , [v22v3] saturés (en vert) • Arcs entrants : [v12v22] flot nul (en rouge)
v11
W
(10)
10
v21
v22 v0
(25)
25
v3
v12 v23
v13
(10)
10
v24
818
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Graphe d’écart
Définition On suppose le graphe G antisymétrique : si l’arc [vivj] existe, l’arc [vjvi] n’existe pas. Le graphe d’écart Ge() associé au flot est un graphe obtenu à partir de G. •
Tous les nœuds de G sont conservés dans Ge.
•
Si l’arc [vivj] de G est saturé : xij = fij Ge ne comporte pas l’arc [vivj] comporte l’arc [vjvi] avec la capacité fij
vi
Si l’arc [vivj] de G est de flot nul : xij = 0 Ge comporte l’arc [vivj] avec la capacité fij ne comporte pas l’arc [vjvi]
vi
Si l’arc [vivj] de G est de flot intermédiaire : 0 < xij < fij Ge comporte l’arc [vivj] avec la capacité fij xij comporte l’arc [vjvi] avec la capacité xij
vi
•
•
vi
vi
vi
xij= fij fij
xij= 0 fij
0 < xij < fij fij xij xij
vj vj
vj vj
vj vj
819
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Graphe d’écart
Exemple Graphe G à 4 nœuds, flot 0 v2
v2
v4
(1) 0
v1
v3
v3
Graphe G avec flot 0 Arc de G
[v1v2]
Flot sur l’arc
v4
(1)
v1
Graphe d’écart Ge(0) (3)
[v2v3]
(1)
[v2v4]
(3)
[v3v4]
non saturé (3)
non saturé (1)
flot nul
(0)
saturé
(3)
non saturé (1)
Arc direct de Ge
[v1v2]
(1)
[v1v3]
(2)
[v2v3]
(1)
Arc indirect de Ge
[v2v1]
(3)
[v3v1]
(1)
(4)
[v1v3]
[v4v2]
(3)
(2)
[v3v4]
(1)
[v4v3]
(1)
820
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Graphe d’écart
Flot maximal • Un chemin de la source au puits dans le graphe d’écart Ge(0) est une chaîne améliorante. v2
v1
(1) 0
v3 Graphe G avec flot 0
v2
v4
v1
(1)
v4
v3 Graphe d’écart Ge(0)
•
La chaîne améliorante est : (v1 , v2 , v3 , v4) Le flot peut être augmenté de δφ = 1 (minimum des capacités le long du chemin dans Ge).
•
On met à jour le graphe d’écart après augmentation du flot. Le flot est maximal s’il n’y a pas de chemin de la source au puits dans Ge.
821
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Graphe d’écart
Exemple Nouveau flot 1
maximal (pas de chemin de la source au puits dans Ge) v2
v2
v4
(1) 1
v1
v3
v3
Graphe G avec flot 1
Graphe d’écart Ge(1)
Arc de G
[v1v2]
(4)
[v1v3]
Flot sur l’arc
saturé
(4)
non saturé (1)
Arc direct de Ge Arc indirect de Ge
[v2v1]
v4
(1)
v1
(4)
(3)
[v1v3]
(2)
[v3v1]
(1)
[v2v3]
(1)
[v2v4]
(3)
[v3v4]
(2)
saturé
(1)
saturé
(3)
saturé
(2)
[v3v2]
(1)
[v4v2]
(3)
[v4v3]
(2)
822
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Flot de coût minimal
Flot maximal de coût minimal • Il y a généralement plusieurs flots possibles de valeur φmax. Lorsque les coûts cij des arcs sont donnés, on cherche le flot de valeur φmax de coût minimal.
•
La variable xij est le flot passant par l’arc [vivj] de capacité fij et de coût cij Le coût du flot xij passant par l’arc [vivj]est xijcij.
vi
•
Le coût du flot est la somme des coûts sur chaque arc :
c
x ijcij vi v j E
(fij , cij) xij
vj
Théorème de Roy • Le flot de valeur φmax est de coût minimal s’il n’existe aucun circuit de coût négatif dans Ge. •
Le graphe d’écart Ge associé au flot permet de savoir - si le flot est de valeur maximale aucun chemin de la source au puits dans Ge - si le flot est de coût minimal aucun circuit de coût négatif dans Ge
823
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Flot de coût minimal
Exemple Flot 1 avec coûts des arcs v2
v1
(1,4) 1
v2
v4
v3 Graphe G avec flot 1
v1
(1,4)
v4
v3 Graphe d’écart Ge(1)
•
On indique pour chaque arc de G la capacité et le coût : (fij , cij). Le flot 1 est de valeur φ = 5 et de coût c = 42 + 11 + 14 + 31 + 22 = 20
•
Les arcs directs de Ge ont le coût +cij. Les arcs indirects de Ge ont le coût cij.
824
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Flot de coût minimal
Exemple Flot 1 avec coûts des arcs v2
v1
(1,4) 1
v2
v4
(1,4)
v1
v3 Graphe G avec flot 1
v4
v3 Graphe d’écart Ge(1)
•
Il n’existe pas de chemin de la source au puits dans Ge. Le flot 1 est de valeur maximale φmax = 5 .
•
Il existe un circuit de coût négatif dans Ge (v2 , v1 , v3 , v2) de coût 2 + 1 4 = 5 Le flot 1 n’est pas de coût minimal. On peut trouver un flot de même valeur φmax = 5 et de coût inférieur à 20.
825
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Techniques d’optimisation
Max CERF 2018
4.1.3 Flot de coût minimal Algorithme de Roy Busacker et Gowen • On cherche parmi les flots de valeur maximale celui de coût minimal. •
L’algorithme de Roy Busacker et Gowen est identique à celui de Ford – Fulkerson. Construction d’une chaîne améliorante Augmentation du flot le long de la chaîne améliorante
•
Il existe en général plusieurs chaînes améliorantes. On choisit la chaîne améliorante de coût minimal. On peut la trouver en appliquant l’algorithme de Ford dans le graphe d’écart G e. (ou un autre algorithme de chemin)
•
On augmente le flot le long de la chaîne améliorante et on met à jour le graphe d’écart. Le choix de la chaîne améliorante conduit à un graphe d’écart sans circuit négatif.
•
L’algorithme se termine lorsqu’il n’y a plus de chemin de la source au puits dans G e. Le flot obtenu est alors de valeur maximale et de coût minimal
826
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Flot de coût minimal
Exemple Initialisation avec flot nul 0
Le graphe d’écart Ge(0) est identique au graphe G.
v2
v1
(1,4) 0
v3 Graphe G avec flot 0
v2
v4
v1
(1,4)
v4
v3 Graphe d’écart Ge(0)
•
Chemins de la source au puits dans Ge : (v1 , v2 , v4) de coût + 2 + 1 =+3 (v1 , v2 , v3 , v4) de coût + 2 + 4 + 2 = + 8 (v1 , v3 , v4) de coût + 1 + 2 =+3
•
On choisit la chaîne améliorante (v1 , v2 , v4) augmentation du flot de δφ = min(4,3) = 3
827
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Flot de coût minimal
Exemple Nouveau flot 1
valeur φ = 3 , coût c = 9 v2
v1
(1,4) 0
v3 Graphe G avec flot 1
v2
v4
v1
(1,4)
v4
v3 Graphe d’écart Ge(1)
•
Chemins de la source au puits dans Ge : (v1 , v2 , v3 , v4) de coût + 2 + 4 + 2 = + 8 (v1 , v3 , v4) de coût + 1 + 2 =+3
•
On choisit la chaîne améliorante (v1 , v3 , v4) augmentation du flot de δφ = min(3,2) = 2
828
4 Optimisation discrète 4.1 Problème combinatoire 4.1.3 Problème de flot
Max CERF 2018
Techniques d’optimisation 4.1.3 Flot de coût minimal
Exemple Nouveau flot 2
valeur φ = 5 , coût c = 15 v2
v1
(1,4) 0
v2
v4
v1
v3 Graphe G avec flot 2 •
Il n’y a plus de chemin de la source au puits dans Ge. Le flot 2 est maximal de valeur φ = 5.
•
Il n’y a pas de circuit de coût négatif dans Ge. Le flot 2 est de coût minimal c = 15.
(1,4)
v4
v3 Graphe d’écart Ge(2)
829
4 Optimisation discrète 4.1 Problème combinatoire 4.1.4 Problème d’affectation
Techniques d’optimisation
Max CERF 2018
4.1.4 Problème d’affectation Problème de flot équivalent Méthode hongroise
Justification théorique
830
4 Optimisation discrète 4.1 Problème combinatoire 4.1.4 Problème d’affectation
Techniques d’optimisation
Max CERF 2018
4.1.4 Problème d’affectation Enoncé du problème Il faut affecter n ressources à n taches en minimisant le coût total. Le coût d’affectation de la ressource i à la tache j est noté cij , i,j =1 à n . problème d’affectation noté (PA) généralisable à : - un nombre de ressources m différent du nombre de taches p. - un problème de maximisation. Algorithmes • Le problème d’affectation est équivalent à un problème de flot maximal de coût minimal. Les ressources et les taches forment un graphe biparti avec des arcs de capacités égales à 1. Le flot maximal est égal à n (affectation de toutes les ressources et toutes les taches). résolution par l’algorithme de Roy Busacker et Gowen •
La méthode hongroise permet une résolution directe sur le tableau des coûts. On sélectionne en priorité les affectations ayant les coûts le plus faibles. On modifie la solution jusqu’à couvrir toutes les ressources et toutes les taches. méthode développée par Egervary König et Kuhn
•
Le problème d’affectation se formule comme un problème linéaire en variables binaires. On peut le résoudre par les méthodes générales de programmation linéaire.
831
4 Optimisation discrète 4.1 Problème combinatoire 4.1.4 Problème d’affectation
Max CERF 2018
Techniques d’optimisation 4.1.4 Problème de flot équivalent
Réseau équivalent Le problème d’affectation est représenté par un réseau. •
Les nœuds du graphe sont les ressources (ri)i=1 à n et les taches (tj)j=1 à n. Les ressources forment un sous-ensemble de nœuds disjoints. Les taches forment un sous-ensemble de nœuds disjoints. → graphe biparti
•
Chaque ressource ri est reliée à une tache tj par un arc de capacité 1 et de coût cij. Les ressources sont reliées à une source r0 par des arcs de capacité 1 et de coût 0. Les taches sont reliées à un puits t0 par des arcs de capacité 1 et de coût 0.
•
Il faut trouver le flot maximal (= n) de coût minimal traversant le réseau de r 0 à t0. r1
r0
(1 , 0)
ri
rn
t1
(1 , cij)
tj
tn
(1 , 0)
t0
832
4 Optimisation discrète 4.1 Problème combinatoire 4.1.4 Problème d’affectation
Max CERF 2018
Techniques d’optimisation 4.1.4 Problème de flot équivalent
Exemple Problème à 4 ressources et 4 taches •
•
Matrice des coûts
Réseau équivalent → Arcs de capacité 1 avec leur coût
24
10
21
11
14
22
10
15
15
17
20
19
11
19
14
13
r1
(24)
t1
r2
(22)
t2
r0
t0 r3
(20)
t3
r4
(13)
t4
833
4 Optimisation discrète 4.1 Problème combinatoire 4.1.4 Problème d’affectation
Max CERF 2018
Techniques d’optimisation 4.1.4 Problème de flot équivalent
Exemple • On initialise le flot par une méthode gloutonne (coût minimal disponible dans le tableau). 24
10
21
11
24
10
21
11
24
10
21
11
24
10
21
11
14
22
10
15
14
22
10
15
14
22
10
15
14
22
10
15
15
17
20
19
15
17
20
19
15
17
20
19
15
17
20
19
11
19
14
13
11
19
14
13
11
19
14
13
11
19
14
13
(r1 – t2) • •
(r2 – t3)
(r4 – t1)
(r3 – t4)
L’affectation initiale correspond à un flot maximal Φ1 = 4 de coût C1 = 50.
Graphe associé au flot initial On ne représente que les arcs saturés avec leur coût.
r1
t1
r2
t2
r0
t0 r3
t3
r4
t4
834
4 Optimisation discrète 4.1 Problème combinatoire 4.1.4 Problème d’affectation
Max CERF 2018
Techniques d’optimisation 4.1.4 Problème de flot équivalent
Exemple La solution est optimale si dans le graphe d’écart : • Il n’existe pas de chemin de r0 à t0 → flot maximal • Il n’existe pas de circuit de coût négatif → coût minimal
10
21
11
14
22
10
15
15
17
20
19
11
19
14
13
r1
t1
r1
t1
r2
t2
r2
t2
r0
t0
r0
t0
r3
t3
r3
r4
t4
r4
Graphe G avec flot 1
• •
24
t3 (13)
t4
Graphe d’écart Ge(1)
Pas de chemin de r0 à t0 dans Ge(1) → Le flot est maximal (= 4). Circuit (r3–t1–r4–t4–r3) de coût négatif = –2 → On peut réduire le coût de 50 à 48. (détecté par l’algorithme de Ford qui ne se termine pas).
835
4 Optimisation discrète 4.1 Problème combinatoire 4.1.4 Problème d’affectation
Max CERF 2018
Techniques d’optimisation 4.1.4 Problème de flot équivalent
Exemple On échange les affectations (r3 – t4) et (r4 – t1). • Il n’existe pas de chemin de r0 à t0 → flot maximal • Il n’existe pas de circuit de coût négatif → coût minimal
10
21
11
14
22
10
15
15
17
20
19
11
19
14
13
r1
t1
r1
t1
r2
t2
r2
t2
r0
t0 r3 r4
(13)
r0
t0
t3
r3
t4
r4
Graphe G avec flot 2
• •
24
t3 (-13)
t4
Graphe d’écart Ge(2)
L’algorithme de Ford se termine → pas de circuit de coût négatif dans Ge(2) On obtient le flot maximal 2 = 4 de coût minimal C2 = 48.
836
4 Optimisation discrète 4.1 Problème combinatoire 4.1.4 Problème d’affectation
Techniques d’optimisation
Max CERF 2018
4.1.4 Méthode hongroise Algorithme La méthode hongroise utilise directement la matrice des coûts cij , i,j =1 à n . • •
Etape 1 : réduction des lignes On soustrait à chaque ligne son plus petit élément
→ un zéro par ligne
Etape 2 : réduction des colonnes On soustrait à chaque colonne son plus petit élément
→ un zéro par colonne
•
Etape 3 : couverture des zéros On cherche le nombre minimal p de lignes et de colonnes pour couvrir tous les zéros. Si p < n, la solution n’est pas optimale. → Etape 4 Si p = n, la solution est optimale. → Etape 5
•
Etape 4 : augmentation du coût On cherche parmi les lignes ou colonnes non couvertes le plus petit coût. On le soustrait aux éléments non couverts. → Etape 3 On l’ajoute aux éléments couverts 2 fois.
•
Etape 5 : solution optimale On affecte un zéro par ligne et par colonne.
837
4 Optimisation discrète 4.1 Problème combinatoire 4.1.4 Problème d’affectation
Max CERF 2018
Techniques d’optimisation 4.1.4 Méthode hongroise
Exemple Problème à 4 ressources et 4 taches •
•
Matrice des coûts
Etape 1 : réduction des lignes → C = 10 + 10 + 15 + 11 = 46
•
Etape 2 : réduction des colonnes → C = 46 + 0 + 0 + 0 + 1 = 47
24
10
21
11
14
22
10
15
15
17
20
19
11
19
14
13
24
10
21
11
→ 10
14
0
11
1
14
22
10
15
→ 10
4
12
0
5
15
17
20
19
→ 15
0
2
5
4
11
19
14
13
→ 11
0
8
3
2
14
0
11
1
14
0
11
0
4
12
0
5
4
12
0
4
0
2
5
4
0
2
5
3
0
8
3
2
0
8
3
1
↓
↓
↓
↓
0
0
0
1
838
4 Optimisation discrète 4.1 Problème combinatoire 4.1.4 Problème d’affectation
Max CERF 2018
Techniques d’optimisation 4.1.4 Méthode hongroise
Exemple •
Etape 3 : couverture des zéros → algorithme de Ford – Fulkerson
•
Etape 4 : plus petit coût non couvert → C = 47 + 1 = 48
On soustrait 1 aux éléments non couverts.
On ajoute 1 aux éléments couverts 2 fois.
14
0
11
0
4
12
0
4
0
2
5
3
0
8
3
1
14
0
11
0
4
12
0
4
0
2
5
3
0
8
3
1
14
0
11
0
4
11
0
3
0
1
5
2
0
7
3
0
15
0
12
0
4
11
0
3
0
1
5
2
0
7
3
0
→ 1 ligne , 2 colonnes → p=3 7 On ne peut pas trouver de solution de coût inférieur 6 en poursuivant la séparation de X00. Il ne reste plus de sommet à séparer.
•
Solution du problème :
x1 = 2 , x2 = 1 z* = 7
964
4 Optimisation discrète 4.2 Programmation linéaire 4.2.3 Méthode arborescente
Techniques d’optimisation
Max CERF 2018
4.2.3 Stratégie Algorithme de Branch and Bound On note : L ={Xi} la liste des sommets actifs sommets à séparer za le coût de la meilleure solution admissible connue solution entière Chaque sommet de L est stocké avec sa solution relaxée et son évaluation.
•
Initialisation : L = {X} sommet racine, za = +
•
Choisir un sommet Xi de L Choisir une variable non entière xj de Xi
•
Séparer le sommet Xi suivant la variable xj 2 sommets Xi0 et Xi1 Supprimer le sommet Xi de la liste L
•
Evaluer le sommet Xi0 z0 Si la solution est admissible, mettre à jour za = min(za , z0) abandonner Xi0 Sinon Si z0 > za il n’est pas nécessaire de séparer Xi0 abandonner Xi0 Sinon ajouter le sommet Xi0 à la liste L
•
Evaluer de même le sommet Xi1
965
4 Optimisation discrète 4.2 Programmation linéaire 4.2.3 Méthode arborescente
Max CERF 2018
Techniques d’optimisation 4.2.3 Stratégie
Algorithme de Branch and Bound Meilleure solution za
Liste L des sommets actifs X1
X2
Solution de Xi
Séparation de Xi
za min (z0,za)
Meilleure solution za
Solution entière Coût z0
Xi
Xm
x1, x2,…, xjN,…, xn
Xi0
Xi1
Solution non entière Coût z0 za
Solution non entière Coût z0 > za
Liste L des sommets actifs X1
X2
Xi0
Xm
966
4 Optimisation discrète 4.2 Programmation linéaire 4.2.3 Méthode arborescente
Max CERF 2018
Techniques d’optimisation 4.2.3 Stratégie
Exploration de l’arborescence • L’objectif est de trouver la solution le plus rapidement possible. Minimiser le nombre de sommets évalués Minimiser le temps d’évaluation de chaque sommet
•
L’efficacité de la méthode dépend :
Choix de séparation • Choix du sommet à séparer • Choix de la variable de séparation
- des choix de séparation - de la fonction d’évaluation - du stockage mémoire
(branch) (bound)
exploration en profondeur ou en largeur. critères heuristiques
Stockage mémoire • La liste des sommets actifs est stockée dans une liste chaînée limitation place mémoire • On peut résoudre en un temps raisonnable des problèmes linéaires discrets avec - quelques dizaines de variables entières - quelques centaines de variables binaires Pour un problème continu, on peut aller jusqu’à 100 000 variables réelles.
967
4 Optimisation discrète 4.2 Programmation linéaire 4.2.3 Méthode arborescente
Max CERF 2018
Techniques d’optimisation 4.2.3 Choix du sommet
Exploration en profondeur (depth search) • On sépare le sommet de niveau le plus bas. = sommet le plus susceptible de donner une solution admissible L’objectif est une descente rapide dans l’arborescence pour trouver une solution admissible.
•
La méthode est économique en mémoire, mais peut nécessiter d’évaluer beaucoup de sommets. La liste de sommets ne contient qu’une seule branche de l’arborescence dans une pile. au plus n sommets stockés pour un problème à n variables binaires.
X1 X2 X3
Solution admissible
Evolution de la liste
X0
Arborescence à 5 niveaux
X0 X7
X4 X5
X0
X0
X0
X0
X0
X0
X0
…
…
X1
X1
X1
X1
X1
X1
X1
…
…
X2
X2
X2
X2
X2
X7
X3
X4
X4
X4
X5
X6
X6
968
4 Optimisation discrète 4.2 Programmation linéaire 4.2.3 Méthode arborescente
Techniques d’optimisation
Max CERF 2018
4.2.3 Choix du sommet Exploration en largeur (breadth search) • On sépare le sommet d’évaluation la plus basse. = sommet le plus susceptible de donner une bonne solution. L’objectif est une élimination rapide des sommets de niveau élevé dans l’arborescence.
•
La méthode est généralement plus efficace que la recherche en profondeur (moins de sommets évalués), mais nécessite de stocker beaucoup plus de sommets dans la liste. peut conduire à des problèmes de place mémoire Liste des sommets actifs classés par évaluation décroissante za z1 ….… zi zi+1 …... zk X1
…
Xi
Xi+1
…
Xk
z1
…
zi
zi+1
…
zk
Xa
Solution admissible za : zi za zi+1
Xb
Evaluation zb : zj zb zj+1
za z1+1 …... zj zb zj+1 ...… zk-1 X1
…
Xi
Xi+1
…
Xj
Xb
Xj+1
…
Xk-1
z1
…
zi
zi+1
…
zj
zb
zj+1
…
zk-1
969
4 Optimisation discrète 4.2 Programmation linéaire 4.2.3 Méthode arborescente
Techniques d’optimisation
Max CERF 2018
4.2.3 Choix de la variable Critère de choix Le choix de la variable non entière pour séparer le sommet est arbitraire. Plusieurs heuristiques sont possibles et peuvent avoir des efficacités très différentes. Le critère de choix est à tester et à adapter au cas par cas
Exemples • Choix basé sur la fonction coût On choisit la variable ayant le plus fort coefficient dans la fonction coût. On espère améliorer la solution admissible. •
Choix basé sur les contraintes On choisit la variable présente dans le plus grand nombre de contraintes. On espère faire apparaître des infaisabilités pour éliminer le sommet.
•
Choix basé sur une évaluation approchée On essaie de retrouver une solution duale admissible. On choisit la variable donnant la plus grande valeur à la fonction duale. On espère obtenir un minorant permettant d’éliminer le sommet.
970
4 Optimisation discrète 4.2 Programmation linéaire 4.2.3 Méthode arborescente
Techniques d’optimisation
Max CERF 2018
4.2.3 Efficacité Place mémoire La place mémoire requise peut être importante suivant la taille du problème Il faut limiter la quantité d’information stockée pour chaque sommet. Stockage de la liste Les sommets actifs sont stockés dans une liste chaînée. • La liste est mise à jour par allocation / désallocation dynamique des sommets. • Les liens entre sommets successifs sont définis par des pointeurs. • Pour une exploration en profondeur avec n variables binaires n sommets au maximum. • La meilleure solution admissible est stockée à part. Stockage d’un sommet Chaque sommet est représenté par une structure de données comprenant au minimum • Un booléen indiquant si la variable est déjà fixée • Un booléen donnant la valeur de la variable (si fixée) 3n booléens • Un booléen indiquant si la variable est dans la base optimale 1 réel permet de reconstruire une base duale admissible 1 pointeur • La valeur de la fonction d’évaluation • Le pointeur vers le sommet suivant dans la liste
971
4 Optimisation discrète 4.2 Programmation linéaire 4.2.3 Méthode arborescente
Techniques d’optimisation
Max CERF 2018
4.2.3 Efficacité Temps de calcul L’efficacité en temps de calcul de la méthode arborescente dépend de - la rapidité d’évaluation d’un sommet - la qualité du minorant obtenu
Rapidité d’évaluation • Réductions préliminaires du problème relaxé Détection d’infaisabilité, fixation de variables • Initialisation à partir de la solution du nœud parent (« warm start ») Construction directe d’une base dual admissible • Disponibilité d’une solution admissible initiale (utilisateur ou méthode gloutonne) Elimination rapide de sommets dans l’arborescence • Arrêt anticipé sur fonction duale supérieure au coût de la meilleure solution connue La fonction coût croît à chaque itération du simplexe dual. Qualité du minorant • Résolution partielle ou complète du problème dual • Génération de variables supplémentaires (pour séparation) • Génération de contraintes supplémentaires (pour réduction) méthode de Branch and Cut
972
4 Optimisation discrète 4.2 Programmation linéaire 4.2.3 Méthode arborescente
Techniques d’optimisation
Max CERF 2018
4.2.3 Améliorations Variable supplémentaire L’addition de variable peut rendre la séparation des sommets plus sélective. La variable supplémentaire est définie à partir des variables du problème. Exemple 2 n max z 3x i sous x i U
i 1
2n
2x i 1
i
2n 1
Problème à 2n variables binaires z* = 3n C n2 n solutions entières équivalentes
•
Solution entière :
n n
•
Solution relaxée :
n variables à 1 z = 3n+1.5 n1 variables à 0 1 variable à 0.5
variables à 1 variables à 0
La solution relaxée garde un coût z = 3n+1.5 tant que moins de n variables sont fixées à 0 L’évaluation ne permet pas d’éliminer les sommets avant le niveau n de l’arborescence. Il est nécessaire de faire apparaître les C n2 n solutions équivalentes pour garantir l’optimalité.
•
On peut rendre la séparation plus sélective avec une variable entière supplémentaire y.
973
4 Optimisation discrète 4.2 Programmation linéaire 4.2.3 Méthode arborescente
Max CERF 2018
Techniques d’optimisation 4.2.3 Améliorations
Exemple 2n On ajoute au problème la variable y x i i 1 2n 2n 2x i 2n 1 max z 3x i sous i2n1 Problème à 2n variables binaires x i U , yN i 1 x i y et 1 variable entière i 1 •
n variables à 1 z = 3n+1.5 n1 variables à 0 1 variable à 0.5 y = n+0.5 non entière On sépare la racine sur la variable y qui doit être entière.
•
La condition y n donne une solution entière : n On ne poursuit pas la séparation. n
•
La condition y n+1 donne une infaisabilité : On ne poursuit pas la séparation.
•
La solution entière a été obtenue en explorant 3 sommets au lieu de C n2 n .
On résout le problème relaxé à la racine :
variables à 1 variables à 0
z = 3n y=n
au plus n variables à 1 (1ère contrainte) au moins n+1 variables à 1 (2ème contrainte)
974
4 Optimisation discrète 4.2 Programmation linéaire 4.2.3 Méthode arborescente
Techniques d’optimisation
Max CERF 2018
4.2.3 Améliorations Contraintes supplémentaires L’addition de contrainte peut renforcer l’évaluation des sommets. La contrainte supplémentaire réduit le domaine admissible du problème relaxé. On peut ainsi obtenir une solution relaxée plus proche de la solution entière. méthodes de Branch and Cut Les contraintes supplémentaires peuvent être générées par - des coupes intégrales ou mixtes - des combinaisons linéaires des contraintes du problèmes - des relations de congruence : x y z [ x ]p [ y ]p [ z ]p Exemple 5x 1 2 x 2 6 x 3 x 4 4 x 5 7
contrainte sur x1, x2, x3, x4, x5 entiers
En prenant chaque membre modulo p, on peut générer des inégalités valides.
p 2 x1 x 4 1 x1, x4 non nuls simultanément p 4 x1 2 x 2 2 x 3 x 4 3 Les contraintes supplémentaires peuvent permettre de fixer des variables ou faire apparaître des infaisabilités.
975
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Techniques d’optimisation
Max CERF 2018
4.2.4 Applications Voyageur de commerce Affectation
Coloration Flot Sac à dos
976
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Max CERF 2018
Techniques d’optimisation 4.2.4 Voyageur de commerce
Enoncé du problème Le voyageur de commerce doit visiter n villes en parcourant la distance la plus faible possible. Chaque ville doit être visitée une fois et une seule. Le voyageur de commerce doit revenir à sa ville de départ. problème du voyageur de commerce noté (PVC) Notations • Les n villes sont notées S1,…,Sn. La distance entre la ville Si et la ville Sj est notée dij, i =1 à n , j = 1 à n •
La matrice des distances de ville à ville est le distancier : D = (dij)i,j=1 à n L’ensemble des villes (S) et des distances (D) forme un graphe G=(S,D). (S = nœuds) (D = valuations)
•
La matrice D peut être symétrique ou asymétrique
•
Le PVC est un problème de circuit hamiltonien de coût minimal dans le graphe G.
PVC symétrique PVC asymétrique
(graphe G non orienté) (graphe G orienté)
977
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Max CERF 2018
Techniques d’optimisation 4.2.4 Voyageur de commerce
Illustration 5 villes à visiter S1
0 d12 d 21 0 Distancier D d 31 d 32 d 41 d 42 d 51 d 52
S2
S3 S4
S1
S5
S2
S3
S1
S2
S3 S4
S5
Chemin non admissible (sous circuits)
d13 d 23 0 d 43 d 53
d14 d 24 d 34 0 d 54
d15 d 25 d 35 d 45 0
S1
S2
S3 S4
S5
S4
S5
Chemin non optimal
Chemin optimal
d = d31+ d14+ d45+ d52+ d23
d = d31+ d12+ d25+ d54+ d43
978
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Max CERF 2018
Techniques d’optimisation 4.2.4 Voyageur de commerce
Formulation • Variables La variable binaire sij vaut 1 si le trajet de Si à Sj est sélectionné 0 sinon • Coût n n Le coût du chemin est : z s ijd ij
n(n1) variables avec sii=0 fixés
arêtes sélectionnées
i 1 j1
•
Contraintes Il y a un seul départ de chaque ville Si :
n
s j1
ij
1 , i 1 à n
n contraintes
ij
1 , j 1 à n
n contraintes
n
Il y a une seule arrivée à chaque ville Sj : •
s i 1
S1
Il faut ajouter des contraintes pour interdire les sous-circuits. Méthodes possibles :
- contrainte explicite sur les sous-circuits - contrainte d’ordre de visite
S2
S3 S4
S5
979
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Techniques d’optimisation
Max CERF 2018
4.2.4 Voyageur de commerce Contrainte explicite On peut éliminer un sous-circuit par une contrainte explicite. •
Pour interdire le sous-circuit passant par les p nœuds Sk1,Sk2,…,Skp, on ajoute la contrainte
s k1k 2 s k 2 k 3 ... s k p1k p s k p k1 p 1 Le nombre de contraintes est exponentiel ( 2n) = nombre des sous-circuits possibles •
n n n s ij 1 , i 1 à n On résout le problème initial : min z s ijd ij sous jn1 s ij i 1 j1 s ij 1 , j 1 à n i 1 Si la solution comporte un sous-circuit, on ajoute la contrainte correspondante et on résout le nouveau problème. On poursuit jusqu’à ce que la solution ne comporte plus de sous-circuit.
•
Le nombre d’itérations (= nombre de PVB à résoudre) peut être exponentiel dans le cas pire. convergence non garantie en un temps raisonnable + encombrement mémoire
Méthode itérative
980
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Max CERF 2018
Techniques d’optimisation 4.2.4 Voyageur de commerce
Contrainte d’ordre On peut éliminer les sous-circuits par des contraintes d’ordre de visite. •
•
On associe à chaque nœud Sk une variable réelle tk entre 1 et n. La variable tk représente la « date de passage » au nœud Sk. On attribue la date t1=1 un nœud de départ S1 (choix arbitraire). On ajoute les n(n 1) contraintes : Si le trajet de Si à Sj est sélectionné :
S1
S2
S3 S4
S5
t i t j ns ij n 1 , i 1 à n , j 2 à n s ij 1 t i t j 1 passage en Si avant passage en Sj
Si le trajet de Si à Sj n’est pas sélectionné : s ij 0 t i t j n 1 toujours vérifié (dates entre 1 et n) •
Les dates sont croissantes (= numéros des nœuds de 1 à n) le long du trajet, sauf pour le retour en S1 (pas de contrainte pour j = 1).
•
S’il y a des sous-circuits, au moins l’un d’eux ne comporte pas S1 et il ne vérifie pas les contraintes de dates croissantes.
981
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Techniques d’optimisation
Max CERF 2018
4.2.4 Voyageur de commerce Exemple Visiter les 532 plus grandes villes des USA.
982
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Techniques d’optimisation
Max CERF 2018
4.2.4 Voyageur de commerce Exemple Visiter les 532 plus grandes villes des USA.
983
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Techniques d’optimisation
Max CERF 2018
4.2.4 Voyageur de commerce Exemple Visiter les 532 plus grandes villes des USA.
984
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Techniques d’optimisation
Max CERF 2018
4.2.4 Voyageur de commerce Extensions La programmation linéaire permet de résoudre exactement des PVC jusqu’à n=10000 villes. On peut modifier la formulation pour traiter des problèmes de - tournée de véhicules - plus court chemin •
La fonction coût peut représenter la consommation ou le temps de trajet. n
n
min z s ijcij s ij
•
i 1 j1
On peut ajouter des contraintes sur le trajet - ordre de visite : certains nœuds doivent être visités dans un ordre donné - contrainte temporelle : le trajet doit être réalisé dans une durée limitée
n
n
s T i 1 j1
•
avec cij = coût du trajet de Si à Sj
ij ij
Tm
avec Tij = durée du trajet de Si à Sj Tm = durée maximale
On peut ajouter des contraintes pour une séparation plus efficace (méthode arborescente).
n
n
s i 1 j1
ij
n
nombre d’arêtes sélectionnées
985
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Max CERF 2018
Techniques d’optimisation 4.2.4 Affectation
Enoncé du problème Il faut affecter m ressources à p taches (p m) en minimisant le coût total. problème d’affectation noté (PA) Formulation • Le coût d’affectation de la ressource i à la tache j est noté cij , i =1 à m , j = 1 à p •
La variable binaire sij vaut 1 si la ressource i est affectée à la tache j 0 sinon m
•
Le coût total à minimiser est :
mp variables
p
z s ijcij i 1 j1
•
Contraintes La tache j est effectuée une seule fois :
m
s i 1
ij
1 , j 1 à p
p contraintes
ij
1 , i 1 à m
m contraintes
p
La ressource i est affectée une fois au plus :
s j1
986
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Techniques d’optimisation
Max CERF 2018
4.2.4 Affectation Résolution m
Le problème (PA) s’écrit :
p
min z s ijcij s ij
i 1 j1
m s ij 1 , j 1 à p sous i p1 s ij 1 , i 1 à m j1
Les contraintes sont de la forme : Ax = b •
Le vecteur x est composé des mp variables binaires (sij)i=1 à m , j=1 à p et de m variables d’écart (yi )i=1 à m également binaires
•
Le vecteur b comporte (m+p) composantes toutes égales à 1.
•
La matrice A est composée de 0 et de 1 sur m+p lignes (contraintes) et mp + m colonnes (variables) On peut montrer que la matrice A du problème d’affectation est unimodulaire.
Ax b est alors entière. La solution du problème relaxé min z c T x sous x x 0
987
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Techniques d’optimisation
Max CERF 2018
4.2.4 Affectation Matrice unimodulaire • Définition Une matrice est unimodulaire si toute sous matrice carrée a un déterminant égal à 1, 0 ou 1. •
Condition suffisante Une matrice dont les éléments sont 1, 0 ou 1 et dont chaque colonne contient au plus 2 éléments non nuls est unimodulaire.
•
Propriété Si B est une matrice carrée unimodulaire et b est entier, la solution de Bx=b est entière.
Problème linéaire Ax b avec b entier. On considère le problème relaxé : minn z c T x sous 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. La résolution du problème relaxé est alors entière. On obtient directement la solution du problème en variables binaires : xUn.
988
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Techniques d’optimisation
Max CERF 2018
4.2.4 Affectation Extensions Le problème d’affectation le plus simple associe une ressource à une tache. Il n’y a pas de partage des ressources, ni de dépendance entre les taches. On peut modifier la formulation pour traiter des problèmes plus complexes.
•
Problème de localisation On cherche à minimiser le coût de la tache la plus coûteuse (au lieu du coût total). Les taches sont partagées entre plusieurs ressources selon les capacités (recouvrement). Applications :
•
Implantation de sites Livraison de clients
Problème d’ordonnancement Les taches ont une durée et doivent être réalisées dans un certain ordre. Les ressources ne peuvent effectuer qu’une tache à la fois (compatibilité). Les affectations doivent tenir compte au mieux de préférences (non strictes). Applications :
Planification de production, emploi du temps Réseaux, télécommunications
989
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Max CERF 2018
Techniques d’optimisation 4.2.4 Affectation
Problème de localisation (avec coût maximal) On cherche à minimiser le coût de la tache la plus coûteuse (au lieu du coût total). m
•
Le coût de la tache j vaut :
z j s ijcij , j 1 à p i 1
•
m
Le coût de la tache la plus coûteuse est : z max z j max s ijcij j1 à p
j1 à p
non linéaire
i 1
Formulation linéaire Pour obtenir une formulation linéaire, on introduit : - la variable réelle z - les contraintes zj z , j = 1 à p z est supérieur au coût de la tache la plus coûteuse
m j 1 à p s ij 1 , i 1 p Le problème s’écrit : min z sous s ij 1 , i 1 à m z ,s ij jm1 s c z , j 1 à p ij ij i 1 Le problème est en variables mixtes (z réel, sij binaires).
réalisation tache j affectation ressource i coût tache j
990
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Max CERF 2018
Techniques d’optimisation 4.2.4 Affectation
Problème de localisation (avec capacités) Les taches sont partagées entre plusieurs ressources selon leurs capacités. •
La variable sij est la capacité de la ressource i affectée à la tache j variable entière ou réelle m
•
Le coût total à minimiser est :
p
z s ijc ij m
i 1 j1
•
La tache j requiert une capacité tj :
s
ij
tj , j 1 à p
•
La ressource i a une capacité ri :
s
ij
ri , i 1 à m
i 1 p
j1
Formulation linéaire
m s ij t j , j 1 à p Le problème s’écrit : min z sous i p1 s ij s ij ri , i 1 à m j1
réalisation tache j
affectation ressource i
0 s ij ri Le problème est en variables sij entières ou réelles : 0 s ij t j
991
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Max CERF 2018
Techniques d’optimisation 4.2.4 Affectation
Problème d’ordonnancement Les taches nécessitent une certaine durée et ne doivent pas se chevaucher. •
La tache j débute à la date tj et requiert une durée dj
p variables réelles tj
•
La variable ujk vaut 1 si la tache j est réalisée avant la tache k 0 sinon
pp variables binaires
•
u jk u kj 1 Les variables tj et ujk doivent vérifier les contraintes d’ordre : u ( t d ) t , j, k 1 à p j k jk j On doit linéariser les produits ujktj (variable binaire variable réelle).
•
On peut prendre en compte des contraintes plus complexes : - taches indépendantes ou non, avec durée minimale de séparation - contraintes temporelles similaires sur les ressources
•
Exemples d’applications : atterrissage d’avions transport avec correspondances télécommunications emploi du temps
992
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Max CERF 2018
Techniques d’optimisation 4.2.4 Coloration
Enoncé du problème Un graphe G=(V,E) est défini par :
- un ensemble de nœuds V=(vi) i = 1 à n - un ensemble d’arêtes E=(ejk) j,k = 1 à n La variable binaire ejk vaut 1 si les nœuds vj et vk (jk) sont reliés par une arête, 0 sinon.
On cherche s’il est possible de colorer les nœuds avec m couleurs. Les nœuds adjacents (reliés par une arête) doivent être de couleurs différentes. problème de m-coloration du graphe G Formulation • La variable binaire sij vaut 1 si la couleur i est attribué au noeud j 0 sinon •
Contraintes Le nœud j reçoit une seule couleur :
m
s i 1
Les nœuds j et k ont des couleurs différentes : s’ils sont adjacents
ij
mn variables
1 , j 1 à n
s ij s ik 1 , i 1 à m , j, k 1 à n si e jk 1 , j k arête [vjvk] E
993
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Max CERF 2018
Techniques d’optimisation 4.2.4 Coloration
Problème de m-coloration • Le problème de m-coloration du graphe G consiste à chercher une solution admissible.
m s ij 1 , j 1 à n i 1 Trouver (sjk) Umn vérifiant 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 4.2 Programmation linéaire 4.2.4 Applications
Max CERF 2018
Techniques d’optimisation 4.2.4 Coloration
Illustration Un graphe planaire est un graphe que l’on peut tracer dans le plan sans croisement d’arêtes.
Coloriage de carte (4 couleurs)
Problèmes voisins • Clique • Ensemble stable • Planification
Clique maximale (cardinal 4)
Tous les nœuds sont reliés entre eux Aucun nœud n’est relié (problème « inverse » de la clique) Contraintes d’incompatibilité
995
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Max CERF 2018
Techniques d’optimisation 4.2.4 Coloration
Clique de cardinal maximal Si on connaît une clique C de cardinal p, alors il faut au moins p couleurs pour colorer G. On attribue des couleurs différentes aux nœuds de la clique. réduction du problème de m-coloration
•
Variables La variable binaire si vaut 1 si le nœud i appartient à la clique C 0 sinon
•
Contraintes Si les nœuds j et k sont non adjacents, ils ne peuvent pas appartenir simultanément à C.
•
Coût Le nombre de nœuds de la clique C à maximiser est :
n variables
s j s k 1 , j, k 1 à n si e jk 0 , j k arête [vjvk] E n
z si i 1
•
Problème de la clique de cardinal maximal :
s s 1 , j, k 1 à n max z sous j k si si e jk 0 , j k
996
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Techniques d’optimisation
Max CERF 2018
4.2.4 Coloration Ensemble stable de cardinal maximal Les nœuds de l’ensemble stable S ne doivent pas être reliés. Les contraintes portent sur les nœuds adjacents (au lieu de non adjacents). formulation quasiment identique au problème de la clique.
•
Variables La variable binaire si vaut 1 si le nœud i appartient à l’ensemble S n variables 0 sinon
•
Contraintes Si les nœuds j et k sont adjacents, ils ne peuvent pas appartenir simultanément à S.
•
Coût n Le nombre de nœuds de l’ensemble S à maximiser est : z s i
s j s k 1 , j, k 1 à n si e jk 1 , j k arête [vjvk] E
i 1
•
Problème de l’ensemble stable de cardinal maximal :
s s 1 , j, k 1 à n max z sous j k si si e jk 1 , j k
997
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Max CERF 2018
Techniques d’optimisation 4.2.4 Flot
Réseau Un réseau est représenté par un graphe G=(V,E,F,C,s,t). • V est l’ensemble des nœuds n nœuds (vi) i=1 à n • E est l’ensemble des arcs m arcs (ek) k=1 à m • F donne les capacités des arcs fij = capacité de l’arc [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. Si l’arc k va du nœud i au nœud j, les valeurs en colonne k sont : Les autres valeurs de la colonne k sont nulles. La matrice d’incidence est unimodulaire :
a ik 1 (départ) a 1 (arrivée) jk
- éléments égaux à 1, 0 ou 1 - 2 éléments non nuls au plus par colonne
998
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Max CERF 2018
Techniques d’optimisation 4.2.4 Flot
Exemple
5
2
v6 5
1
v3
C 3
v5
3
1 3
2 4
2 5
26
1
3
5
9
2
3 4
3 5
46
5 6
2
3
5
2
arcs 1 2
Matrice d’incidence A • 6 lignes noeuds • 9 colonnes arcs
v4
v1
1 2
Vecteur des coûts C • 9 colonnes arcs
v2
3
Réseau à 6 nœuds et 9 arcs. • Source : s = v1 • Puits : t = v6
9
3
A
13
2 4
2 5
26
3 4
3 5
46
56
1 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 1
noeuds v1 v2 v3 v4 v5 v6
999
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Max CERF 2018
Techniques d’optimisation 4.2.4 Flot
Problème de flot On doit faire passer un flot φ de la source s au puits t en minimisant le coût. •
Variables La variable φ représente la quantité totale de produit à transporter. La variable xij est le flot passant par l’arc [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
Le flot arrivant au nœud i s,t est égal au flot partant : (loi de conservation de Kirchhoff)
x
ji
x
sj
Le flot partant de la source s vaut φ : •
v j vi E
vs v j E
Coût Le coût du flot xij passant sur l’arc [vivj] vaut :
cij xij
Le coût total à minimiser est :
z
x
vi v j E
c x ij
vi v j E
ij
ij
1000
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Max CERF 2018
Techniques d’optimisation 4.2.4 Flot
Flot de coût minimal Le problème s’écrit :
Formulation linéaire :
• • • •
min z x ij
c x
min z C T x x
ij
vi v j E
ij
x sj vs v j E sous x ji x ij vi v j E v j vi E x ij f ij pour v i v j E
sous Ax b x F
0 avec b 0
source s noeud v1 noeud v n puits t
x est le vecteur des flots passant par chaque arc. A est la matrice d’incidence noeudsarcs. Les contraintes Ax = b expriment : - la conservation du flot en chaque nœud - la valeur du flot partant de s (φ) et arrivant en t (+φ) C est le vecteur des coûts des arcs de E. F est le vecteur des capacités des arcs de E.
1001
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Max CERF 2018
Techniques d’optimisation 4.2.4 Flot
Extensions On peut modifier la formulation pour traiter des problèmes similaires. •
•
•
Problème du chemin de coût minimal Le flot φ est fixé à 1. On supprime les contraintes de capacité x F La matrice A des contraintes est unimodulaire Problème du flot maximal Le flot φ est une variable, à maximiser. Les coûts C des arcs sont inutilisés.
min z C T x x
sous Ax b
La solution x est entière.
max z x ,
sous Ax b x F
Problème à sources et puits multiples Le flot partant de la source si est φi. On définit une super-source σ reliée à chaque source si par un arc de capacité φi. Le flot φ partant de la super-source σ est la somme des flots φi. Le flot arrivant au puits tj est φj. On définit un super-puits τ relié à chaque puits tj par un arc de capacité φj. Le flot φ arrivant au super-puits τ est la somme des flots φj.
1002
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Max CERF 2018
Techniques d’optimisation 4.2.4 Sac à dos
Enoncé du problème On dispose d’un ensemble d’objets avec leurs volumes et leurs prix. Il faut choisir les objets à emporter dans un sac à dos de volume donné en maximisant le prix. Notations • Le nombre d’objets est n. • L’objet numéro i a pour prix ci et pour volume ai. • Le volume du sac à dos est b. Formulation • Variables La variable binaire xi vaut 1 si l’objet i est sélectionné 0 sinon •
Contraintes Les objets choisis doivent entrer dans le sac à dos :
n variables
n
a x i 1
•
Coût Il faut maximiser le prix total des objets choisis :
i
i
b
aTx b
n
z ci x i cT x i 1
1003
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Techniques d’optimisation
Max CERF 2018
4.2.4 Sac à dos Sac à dos monodimensionnel T a Le problème s’écrit : max z c x sous x nb x x U T
•
L’utilité ui de l’objet i est le rapport prix / volume :
ui
ci ai
On peut construire une bonne solution initiale en prenant les objets par utilité décroissante. Méthode gloutonne solution admissible pour méthode arborescente. •
Exemple :
max z 14x1 13x 2 15x 3 10x 4 4x 5 13x 6 10x 7 10x 8 x sous 7 x1 7 x 2 10x 3 7 x 4 3x 5 10x 6 8x 7 9x 8 30 8 objets classés par utilité décroissante
Solution gloutonne :
x = (1 , 1 , 1 , 0 , 1 , 0 , 0 , 0)
prix = 46 , volume = 27 30
Solution exacte :
x = (1 , 1 , 0 , 1 , 0 , 0 , 1 , 0)
prix = 47 , volume = 29 30
1004
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Techniques d’optimisation
Max CERF 2018
4.2.4 Sac à dos Sac à dos multidimensionnel On étend la formulation au cas de m sacs à dos dans lesquels les n objets sont à repartir. On cherche la répartition maximisant le coût et compatible des volumes des sacs à dos. Formulation • Variables La variable binaire xij vaut 1 si l’objet i est placé dans le sac à dos j nm variables 0 sinon •
Contraintes Le volume du sac à dos numéro j est bj :
n
a x i 1
i
m
L’objet numéro i est dans un sac à dos au plus :
x j1
•
ij
ij
bj , j 1 à m
1 , i 1 à n
Coût n m Il faut maximiser le prix total des objets choisis : z ci x ij i 1 j1
1005
4 Optimisation discrète 4.2 Programmation linéaire 4.2.4 Applications
Techniques d’optimisation
Max CERF 2018
4.2.4 Sac à dos Sac à dos multidimensionnel •
m
On ajoute les variables si :
s i x ij , i 1 à n j1
La variable si vaut
•
Le problème s’écrit :
1 si l’objet i est sélectionné 0 sinon
n variables binaires
n a i x ij b j , j 1 à m im1 n max z cis i sous x ij s i , i 1 à n x ,s i 1 j1 x U nm , s U n
Extensions On peut modifier la formulation pour traiter des problèmes similaires. • Problèmes de placement sauvegarde de fichiers sur disques • Problèmes de chargement remplissage de véhicules • Problèmes de découpe minimisation des chutes
1006
4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique
Techniques d’optimisation
Max CERF 2018
4.2.5 Problème quadratique Formulation Problème relaxé
Problème convexe Séparation et évaluation Convexification Affectation quadratique
1007
4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique
Techniques d’optimisation
Max CERF 2018
4.2.5 Problème quadratique Problème quadratique en variables binaires
Ax b 1 T problème noté (PQB) x Qx c T x sous n x 2 x U , U 0 ; 1 La solution x* est cherchée dans l’ensemble Un des vecteurs de Rn à composantes 0 ou 1. Les contraintes xU sont les contraintes d’intégrité. min z
• •
Problème relaxé (ou continu) Le problème (PQR) est obtenu à partir de (PQB) en supprimant les contraintes d’intégrité.
min z x
Ax b 1 T x Qx c T x sous n 2 x R , x 0
problème noté (PQR) problème sous forme standard
•
La solution xr est cherchée dans l’ensemble des vecteurs de Rn à composantes positives. ensemble contenant Un
•
Le coût zr du problème relaxé (PQR) est un minorant du coût z* du problème binaire (PQB), car le problème (PQR) est moins contraint que le problème (PQB). 1 1 z r (x r ) T Q(x r ) c T x r z* (x * ) T Q(x * ) c T x * 2 2
1008
4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique
Max CERF 2018
Techniques d’optimisation 4.2.5 Problème quadratique
Exemple
x1 x 2 5 x 2 1 min z 2x12 4x 22 sous x 2 1 x 2x x 10.5 2 1 x1 , x 2 entiers •
Solution relaxée
x1
10 5 100 , x2 zr 3 3 3
7
6
5
4
3
z = 100/3 z = 20
2
•
z = 10
Solution entière
1
x1 3 , x 2 2 z b 34
0 0
1
2
3
4
5
6
7
1009
4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique
Techniques d’optimisation
Max CERF 2018
4.2.5 Problème convexe Conditions d’optimalité On considère un problème de minimisation (PO) pour une fonction coût f(x).
Ax b min f ( x ) sous n x x R , x 0
problème noté (PO)
L( x, , ) f ( x ) (b Ax) x T
T
x L( x, , ) f ( x ) A T 2 xx L( x, , ) 2 f ( x )
•
Lagrangien :
•
f ( x ) A T 0 → conditions KKT (ordre 1) Ax b Conditions suffisantes d’optimalité : x , 0 2 f ( x ) 0 → condition de minimum (ordre 2)
Une solution (x*,*,*) vérifiant les conditions suffisantes est un minimum local. •
Si la fonction coût f est convexe, la solution KKT est le minimum global.
→ application au problème quadratique (PQR) avec
f (x)
1 T x Qx c T x 2
1010
4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique
Techniques d’optimisation
Max CERF 2018
4.2.5 Problème convexe Résolution du problème relaxé La solution du problème relaxé (PQR) vérifie les conditions KKT.
min z x
Ax b 1 T x Qx c T x sous n 2 x R , x 0
•
x L( x, , ) Qx c A T 1 T T T T Lagrangien : L( x, , ) x Qx c x (b Ax) x 2 2 xx L( x, , ) Q
•
Qx c A T 0 → conditions KKT (ordre 1) Conditions suffisantes d’optimalité : Ax b x , 0 Q 0 → condition de minimum (ordre 2)
•
Pour un problème quadratique convexe (Q 0), la solution KKT est le minimum global. On sait résoudre efficacement le problème relaxé par un algorithme polynomial.
•
Lorsque le problème quadratique est indéfini, on ne peut plus utiliser les conditions KKT. On ne sait pas trouver le minimum global en un temps raisonnable.
1011
4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique
Techniques d’optimisation
Max CERF 2018
4.2.5 Séparation et évaluation Résolution du problème binaire
min z x
Ax b 1 T x Qx c T x sous n 2 x U , U 0 ; 1
problème noté (PQB)
•
La résolution par séparation et évaluation est similaire au cas linéaire : - on construit une arborescence en fixant progressivement les variables à 0 ou 1. - la solution du problème relaxé en chaque nœud donne un minorant du coût de la branche. - on élimine une branche lorsque son évaluation est supérieure à la meilleure solution connue.
•
On peut appliquer les méthodes de séparation et évaluation au problème (PQB) : - par transformation en problème linéaire (PLB) → techniques de linéarisation ou - par évaluation directe du problème relaxé (PQR) → techniques de convexification
•
Pour appliquer la méthode directe, il faut résoudre efficacement le problème relaxé (PQR). → applicable dans le cas convexe (matrice Q semi-définie positive) → inapplicable dans le cas indéfini (matrice Q indéfinie) La convexification consiste à transformer le problème non convexe (PQB) en un problème convexe équivalent (PQB)’ ayant les mêmes solutions binaires.
1012
4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique
Max CERF 2018
Techniques d’optimisation 4.2.5 Convexification
Problème équivalent
min z x
•
Ax b 1 T x Qx c T x sous n 2 x U , U 0 ; 1
problème noté (PQB)
La fonction coût comporte une partie quadratique q de matrice QRnn. n
q x Qx q ij x i x j T
i , j1
•
La forme quadratique q peut se représenter (de manière unique) par une matrice symétrique.
1 1 1 q q T x T Qx x T Q T x x T Q Q T x 2 2 2 1 q x T Q' x avec Q' Q Q T matrice symétrique 2
q R q qT q
•
Exemple
x q x12 4x1x 2 3x 22 1 x2
T
1 4 x1 0 3 x 2
x 1 x2
T
1 2 x1 2 3 x 2
1 avec Q 0 1 avec Q' 2
4 3 2 symétrique 3
1013
4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique
Techniques d’optimisation
Max CERF 2018
4.2.5 Convexification Problème équivalent
min z x
•
Ax b 1 T x Qx c T x sous n 2 x U , U 0 ; 1
problème noté (PQB)
On cherche à formuler un problème équivalent (PQB)’.
min z' x
Ax b 1 T x Q' x c'T x sous n 2 x U , U 0 ; 1
problème noté (PQB)’
•
Le problème modifié (PQB)’ doit : - être convexe pour pouvoir résoudre efficacement le problème relaxé (PQR)’ - avoir les mêmes solutions binaires que (PQB)
•
Pour accélérer la résolution par séparation et évaluation, il faut que la solution relaxée donne un coût le plus grand possible (→ proche de la solution binaire).
•
2 Les techniques de convexification sont basées sur la propriété : x 0 ; 1 x x - transformation des produits de variables binaires - ajout d’une matrice positive « suffisamment grande »
1014
4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique
Techniques d’optimisation
Max CERF 2018
4.2.5 Convexification Transformation des produits • La partie quadratique q de la fonction coût est une somme de produits de variables binaires. n
q x Qx q ij x i x j T
i , j1
Un terme de la forme t(x,y)=xy n’est pas convexe (valeurs propres 1). 2 x x On le remplace par un terme tc(x,y) convexe et égal à t(x,y) lorsque x,y {0;1} 2 y y 1 1 → convexe (valeurs propres 0 et 2) t c ( x , y) ( x y) 2 ( x y) 2 2 1 1 x, y 0 ; 1 t c ( x, y) ( x 2 2xy y 2 ) ( x y) xy t c ( x, y) t ( x, y) 2 2 =x =y
•
Cas positif :
•
1 1 Cas négatif : t c ( x, y) ( x y) 2 ( x y) → convexe (valeurs propres 0 et 2) 2 2 1 1 x, y 0 ; 1 t c ( x, y) ( x 2 2xy y 2 ) ( x y) xy t c ( x, y) t ( x, y) 2 2 =x =y
1015
4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique
Max CERF 2018
Techniques d’optimisation 4.2.5 Convexification
Transformation des produits
min z x
•
Ax b 1 T x Qx c T x sous n 2 x U , U 0 ; 1
problème noté (PQB) n
La partie quadratique de la fonction coût z est de la forme : q x Qx q ij x i x j T
i , 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
1 1 2 2 q x x x x q ij x i x j x i x j remplacé par ij i j i j q ij 0 2 q ij 0 2 1 1 q ij x i2 x 2j x i x j q ij x i2 x 2j x i x j q ij 0 2 q ij 0 2 1 1 q ij 2x i x j q ij 2x i x j en développant 2 2 q ij 0 q ij 0
1 1 2 2 q x x x x q ij x i2 x 2j x i x j ij i j i j 2 q ij 0 2 q ij 0
n
q x x
i , j1
ij
i
j
1016
4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique
Max CERF 2018
Techniques d’optimisation 4.2.5 Convexification
Transformation des produits •
n 1 T T La fonction coût du problème initial (PQB) est : z q c x avec q x Qx q ij x i x j 2 i , j1
•
On remplace la partie quadratique q par la fonction convexe équivalente sur U. n
q x x
i , j1
ij
i
j
= 0 pour xi,xj U •
n
q x x
i , j1
ij
i
j
= 0 pour xi,xj U
On obtient un problème (PQB)’ convexe équivalent au problème (PQB).
min z' x
•
1 1 q ij x i2 x 2j x i x j q ij x i2 x 2j x i x j 2 q ij 0 2 q ij 0
Ax b 1 T x Q' x c'T x sous n 2 x U , U 0 ; 1
Exemple :
problème noté (PQB)’
z 3x1 2x 2 x 3 2x 4 4x1x 3 2x1x 4 4x 2 x 3 6x 3 x 4
z' 4x 2 6x 3 2x 4 3x12 2x 22 7 x 32 4x 24 4x1x 3 2x1x 4 4x 2 x 3 6x 3 x 4
1017
4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique
Techniques d’optimisation
Max CERF 2018
4.2.5 Convexification Ajout d’une matrice positive • •
•
n 1 T T La fonction coût du problème initial (PQB) est : z q c x avec q x Qx q ij x i x j 2 i , j1
On note min la plus petite valeur propre de la matrice symétrique Q. Si min > 0, Q est définie positive. Si min < 0, Q’ = Q + aI est définie positive pour a min . On modifie la fonction coût en ajoutant le terme a x i2 x i à la partie quadratique q. n
n
n
q' q a x i2 x i x T Qx a x i2 x i i 1
i 1
i 1
1 1 z' q' c T x x T Q' x c'T x 2 2
•
La fonction coût modifiée z’ est convexe (matrice Q’ = Q + aI définie positive) et prend les mêmes valeurs que z sur U (car xU x2 x = 0). On obtient un problème (PQB)’ convexe équivalent au problème (PQB).
•
Exemple : z
1 2 1 0 x1 x 22 Q → valeurs propres 1 et 1 2 0 1 1 avec a 1 z' x12 x 22 a x12 x1 a x 22 x 2 2
1018
4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique
Max CERF 2018
Techniques d’optimisation 4.2.5 Convexification
Choix de la méthode • Le coût de la solution relaxée dépend de la méthode de convexification choisie. •
Dans une méthode arborescente, le coût de la solution relaxé donne l’évaluation du nœud. La méthode est d’autant plus efficace que le coût relaxé est grand (proche du coût binaire). → Il faut essayer de convexifier le problème en maximisant le coût de la solution relaxé. → Il est utile de reconvexifier la fonction coût même si celle-ci est déjà convexe, de façon à augmenter le coût de la solution relaxée.
•
Méthode de reconvexification On utilise les contraintes pour ajoutant des termes à la fonction coût. n a ij x j b i , i 1 à m j1 x 0 ;1n
Contraintes
n n z' z ki x i a kj x j b k u i x i2 x i i 1 k 1 j1 i 1 n
m
Termes nuls
Les coefficients ki et ui peuvent être choisis pour maximiser le coût relaxé.
1019
4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique
Techniques d’optimisation
Max CERF 2018
4.2.5 Convexification Exemple x x 2 b min z x12 x 22 sous 1 avec b 1 x x , x 0 ; 1 1 2
•
2 0 La fonction n’est pas convexe : Q 0 2
•
x 0 Solution binaire x1,x2 {0;1} : 1 z b 1 x 1 2
•
Solution relaxée x1,x2 0 :
•
On compare les 2 méthodes de convexification : - transformation des produits de variables binaires - ajout d’une matrice positive « suffisamment grande »
→ valeurs propres 2 et 2
x1 0 z r b 2 x 2 b
Chaque méthode conduit à un problème convexe différent et à un coût relaxé différent.
1020
4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique
Max CERF 2018
Techniques d’optimisation 4.2.5 Convexification
Exemple : Transformation des produits x x 2 b min z x12 x 22 sous 1 avec b 1 x x , x 0 ; 1 1 2
•
On remplace chaque produit par une expression convexe. x12 x
• •
2 2
1 2x1 2 2x1 2 1 2x 2 2
2 z' 2 x1 x1 x 2
→ valeurs propres 4 et 0
x x 2 b Problème convexifié relaxé : min z c1 2x12 x1 x 2 sous 1 x x1 , x 2 0 Lagrangien : L( x1 , x 2 , ) 2x12 x1 x 2 ( x1 x 2 b)
avec x1,x2, 0
4 x1 1 0 x1 0 1 0 1 z c1 b ( x x b) 0 x b 1 2 2
•
Conditions KKT :
•
Le coût relaxé par cette méthode de convexification vaut :
zc1 = b
1021
4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique
Techniques d’optimisation
Max CERF 2018
4.2.5 Convexification Exemple : Ajout d’une matrice positive x x 2 b min z x12 x 22 sous 1 avec b 1 x x , x 0 ; 1 1 2
•
La plus petite valeur propre de la forme quadratique est 2. On ajoute à la fonction coût les termes a ( x12 x1 ) a ( x 22 x 2 ) avec a 2.
•
x x 2 b Problème convexifié relaxé : min z c2 (a 1) x12 (a 1) x 22 ax1 ax 2 sous 1 x x1 , x 2 0
•
Lagrangien : L( x1 , x 2 , ) (a 1) x12 (a 1) x 22 ax1 ax 2 ( x1 x 2 b) avec x1, x2, 0
•
Conditions KKT :
2(a 1) x1 a 0 2(a 1) x 2 a 0 ( x 1 x 2 b) 0
a x 1 2(a 1) a avec x1, x2, 0 x 2 2(a 1) a (a ) b 0 2 a 1
1022
4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique
Techniques d’optimisation
Max CERF 2018
4.2.5 Convexification Exemple : Ajout d’une matrice positive • •
a 2 (1 b) b a (a ) b 0 0 ou Condition de complémentarité : 2 a a 1 a a Cas 0 x1 → x1, x2, 0 , x2 2(a 1) 2(a 1)
Le coût relaxé vaut : z c2 (a 1) x12 (a 1) x 22 ax1 ax 2 a3 z c2 2(a 2 1)
•
z c2
4 3
avec a 2 maximal pour a = 2.
a 2 (1 b) b b(a 1) b(a 1) x1 , x2 Cas a 2a 2a b 4 2 avec a 2 b On doit vérifier : 0 a b 1 3
Le coût relaxé vaut :
z c2 (a 1) x12 (a 1) x 22 ax1 ax 2
1 1 z c2 b 2 a ab 2 a
si b
4 3
1023
4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique
Techniques d’optimisation
Max CERF 2018
4.2.5 Convexification Exemple : Comparaison des coûts relaxés x x 2 b min z x12 x 22 sous 1 avec b 1 x x , x 0 ; 1 1 2
•
Solution binaire x1,x2 {0;1} : x1=0 , x2=1
z b 1
•
Solution relaxée x1,x2 0 :
z r b 2
•
Convexification par transformation des produits z c1 b
• •
x1=0 , x2=b
a3 1 2 1 , b a ab Convexification par ajout d’une matrice positive z c2 min 2 2 a 2(a 1) 4 si b Application numérique : b = 1.5 3
zc1 = 1.5
à comparer à
1.33 si a 2 zc2 2.13 si a 4
→ Convexification 2 meilleure → Convexification 1 meilleure
1024
4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique
Max CERF 2018
Techniques d’optimisation 4.2.5 Affectation quadratique
Enoncé du problème Le problème d’affectation quadratique (« Quadratic Assignment Problem » ou QAP) consiste à affecter n objets sur n sites. Objet i
flot fij
Objet j
Objet i placé au site p(i)=u Site u
Objet j placé au site p(j)=v distance duv
Site v
• • •
Le flot entre les objets i et j est : La distance entre les sites u et v est : Le coût est le produit flot distance :
•
Une solution est représentée par une permutation P donnant les affectations des n objets. P = ( p(1) ,…, p(i) ,…, p(j) ,…, p(n) ) avec p(i) = numéro du site où est placé l’objet i
•
On cherche la permutation P minimisant le coût total :
fij → matrice F des flots duv → matrice D des distances fijduv = coût du flot entre l’objet i placé au site u et l’objet j placé au site v
CP
f d
i , j1 à n
ij p ( i ) p ( j)
1025
4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique
Techniques d’optimisation
Max CERF 2018
4.2.5 Affectation quadratique Applications Le problème d’affectation quadratique (QAP) a de nombreuses applications. •
Répartition de bâtiments ou de services flot = nombre de personnes circulant entre les bâtiments ou services
•
Implantation d’usines de production, de centres de livraison flot = quantité de produit échangée entre les usines
•
Affectation de portes d’embarquement dans un aéroport flot = nombre de personnes allant d’une porte d’embarquement à une autre
•
Placement de composants électroniques flot = nombre de connexions entre modules
•
Stockage de fichiers dans une base de données flot = probabilité d’accès consécutif entre 2 fichiers
•
Clavier d’ordinateur ou de machine à écrire flot = fréquence entre 2 lettres successives dans une langue donnée
1026
4 Optimisation discrète 4.2 Programmation linéaire 4.2.5 Problème quadratique
Max CERF 2018
Techniques d’optimisation 4.2.5 Affectation quadratique
Formulation • Le QAP peut se formuler comme un problème quadratique en variables binaires. • •
Variables La variable binaire siu vaut 1 si l’objet i est placé au site u 0 sinon Coût n Le coût total des affectations est : z s iu s jv f ijd uv i , j, u , v 1
•
Contraintes Chaque objet i est affecté à un seul site :
n
s u 1 n
Chaque site u reçoit un seul objet :
s i 1
nn variables objet i placé en u objet j placé en v
iu
1 , i 1 à n
n contraintes
iu
1 , u 1 à n
n contraintes
•
Le problème du voyageur de commerce (PVC) peut se formuler comme un QAP. → problème NP-difficile
•
On peut appliquer une méthode de séparation et évaluation : - soit au problème linéarisé (après transformation des produits siusjv) - soit au problème quadratique (après convexification)
1027
4 Optimisation discrète 4.3 Métaheuristiques
Techniques d’optimisation
Max CERF 2018
Sommaire 1. 2. 3.
Bases théoriques Optimisation sans contraintes Optimisation avec contraintes
4.
Optimisation discrète 4.1 Problème combinatoire 4.2 Programmation linéaire 4.3 Métaheuristiques 4.3.1 Principes 4.3.2 Recuit simulé 4.3.3 Recherche tabou 4.3.4 Essaims 4.3.5 Fourmis 4.3.6 Algorithme évolutionnaire 4.3.7 Adaptation de covariance 4.3.8 Affine shaker 4.3.9 Reformulations
5.
Optimisation fonctionnelle
1028
4 Optimisation discrète 4.3 Métaheuristiques 4.3.1 Principes
Techniques d’optimisation
Max CERF 2018
4.3.1 Métaheuristiques Problème d’optimisation difficile
min f(x) x
problème d’optimisation (PO)
•
On distingue 2 types de problèmes difficiles. Problème discret → nombre exponentiel de combinaisons à explorer Problème continu → minima locaux, aucune caractérisation du minimum global
•
On ne peut pas trouver la solution exacte en un temps de calcul raisonnable. Il faut se satisfaire d’une solution approchée « suffisamment bonne ».
•
Une métaheuristique est une méthode de résolution approchée mimant un processus physique. Recuit simulé → thermodynamique Algorithme évolutionnaire → sélection naturelle Essaim particulaire → mouvement collectif d’essaims Colonie de fourmis → mouvement organisé de fourmis
•
Heuristique Métaheuristique
= méthode empirique spécialisée à un problème particulier = principe général applicable à différents problèmes → nécessite un travail d’adaptation pour chaque problème
1029
4 Optimisation discrète 4.3 Métaheuristiques 4.3.1 Principes
Max CERF 2018
Techniques d’optimisation 4.3.1 Métaheuristiques
Principales métaheuristiques •
Algorithmes Algorithme
•
Acronyme
Type de problème
Recuit simulé
SA
Discret (chemin)
Recherche tabou
TS
Discret (affectation)
Essaims particulaires
PSO
Continu
Colonies de fourmis
ACO
Discret (chemin)
Algorithme évolutionnaire
GA
Discret Continu
Adaptation de covariance
CMA
Continu
Affine shaker
AS
Continu
Réseaux de neurones
NN
Identification
Extensions Continu
Discret
Discret
Applications Optimisation difficile → minima locaux, minimum global Optimisation multi-objectifs → front de Pareto Identification de modèles → apprentissage + optimisation
1030
4 Optimisation discrète 4.3 Métaheuristiques 4.3.1 Principes
Max CERF 2018
Techniques d’optimisation 4.3.1 Métaheuristiques
Principes généraux
min f(x) x
trouver le minimum global ou des minima locaux
Population initiale k=0
• •
Population de p individus : Xi , f(Xi) Ordre de grandeur : p = 1 à 100 (selon algorithme)
Population k : (X1 , … , Xp)k
Exploration du voisinage : q candidats Yj , f(Yj) Perturbations aléatoires → intensification pour affiner les minima trouvés → diversification pour trouver d’autres minima
Candidats : Y1 , … , Yq Evaluations : f(Y1), … , f(Yq) k+1
•
Règles de sélection Acceptation aléatoire de dégradations → échappement de minima locaux
Sélection :
(X1 , … , Xp)k+1
k=N
•
Arrêt sur nombre d’essais N → généralement très grand
Meilleure(s) solution(s)
1031
4 Optimisation discrète 4.3 Métaheuristiques 4.3.2 Recuit simulé
Max CERF 2018
Techniques d’optimisation 4.3.2 Recuit simulé
Principe La méthode du recuit simulé (« Simulated Annealing », Kirkpatrick et co 1983) s’inspire de la thermodynamique d’un système de particules. •
Le recuit est un processus utilisé en métallurgie pour obtenir un alliage sans défaut. A très haute température, le métal est à l’état liquide et les atomes se déplacent librement. On procède à un refroidissement pour revenir à l’état solide.
•
Si le refroidissement est rapide (trempe), les atomes se figent dans un état désordonné. L’alliage obtenu a une structure irrégulière et présente des défauts (énergie élevée).
•
Si le refroidissement est lent (recuit), les atomes se réorganisent de façon régulière. L’alliage obtenu a une structure cristalline sans défaut (énergie minimale). Température basse
Température élevée
trempe
Température basse
recuit
1032
4 Optimisation discrète 4.3 Métaheuristiques 4.3.2 Recuit simulé
Max CERF 2018
Techniques d’optimisation 4.3.2 Recuit simulé
Niveau d’énergie • Le niveau d’énergie E du système dépend de la disposition des atomes. •
A la température T, la probabilité PT(E) que l’énergie du système soit égale à E est PT (E ) e
E kT
E → loi de Gibbs (k = constante de Boltzmann) kT (= constante de normalisation : e dE ) E
•
A température élevée, tous les états d’énergie ont quasiment la même probabilité. A température basse, les états d’énergie élevée ont une probabilité quasiment nulle.
Energie
Température élevée
Energie
Etats inaccessibles
Température basse
Etat du système
Etat du système
1033
4 Optimisation discrète 4.3 Métaheuristiques 4.3.2 Recuit simulé
Max CERF 2018
Techniques d’optimisation 4.3.2 Recuit simulé
Algorithme de Metropolis L’algorithme de Metropolis (1953) simule l’évolution du système vers l’équilibre. L’équilibre thermodynamique correspond à l’état d’énergie minimale min E(x) x
•
On part d’un état initial du système noté x0 (= disposition des atomes) d’énergie E0 = E(x0).
•
On perturbe de façon aléatoire l’état du système :
•
E T si E 0 Le nouvel état x est accepté avec la probabilité P e P 1 si E 0
•
Le paramètre de température T règle le niveau d’acceptation des remontées d’énergie.
•
A température élevée, un état d’énergie supérieure peut être accepté avec une probabilité forte. → Le système peut explorer l’ensemble des états possibles. A température basse, un état d’énergie supérieure est rejeté de façon quasi-systématique. → Le système se stabilise dans un état de basse énergie.
x0 → x = x0 + δx E0 → E = E0 + δE (augmentation d’énergie) (diminution d’énergie)
1034
4 Optimisation discrète 4.3 Métaheuristiques 4.3.2 Recuit simulé
Max CERF 2018
Techniques d’optimisation 4.3.2 Recuit simulé
Convergence • L’acceptation de solutions moins bonnes permet d’explorer l’espace des solutions. Le système peut s’extraire d’un minimum local si le nombre d’essais est suffisant. •
La convergence vers un minimum global nécessite : - une température initiale élevée → pour autoriser l’accès à tous les états - une décroissance de température lente → pour échapper au minima locaux - un nombre d’essais élevé E
Température élevée
Température basse
x
1035
4 Optimisation discrète 4.3 Métaheuristiques 4.3.2 Recuit simulé
Max CERF 2018
Techniques d’optimisation 4.3.2 Recuit simulé
Algorithme On applique l’algorithme de Metropolis à un problème de minimisation. min f(x) x
variables x = « état du système » fonction f = « énergie du système » Solution initiale :
x 0 , f0
Température initiale T0
x k , fk
Température palier Ti
k=0 Solution courante :
Mouvement aléatoire : x , f
k+1
Probabilité d’acceptation P e
f f k Ti
M mouvements sans acceptation
Baisse de température Ti+1 = Ti (0 0)
rejeté Evaluation en xk d
dd T B I Région k 1 2 d
Contraction suivant d (=c < 0)
accepté
rejeté
N rejets consécutifs ou Taille B insuffisante
Arrêt sur minimum local
1092
4 Optimisation discrète 4.3 Métaheuristiques 4.3.8 Affine shaker
Max CERF 2018
Techniques d’optimisation 4.3.8 Affine shaker
Exemple Fonction de Rosenbrock à deux variables : f ( x 1 , x 2 ) 100 x 2 x 12
6
Nf
5 4 3 2 1 0 -5
-4
-3
-2
-1
0 -1
• • •
1
2
3
1 3 6 9 15 24 39 48 402 1206 28944 95676
1 x 2
2
1
f 40036,0 4842,0 1517,8 971,7 932,0 51,5 1,2779 1,0386 0,1641 0,000097 0,000023 0,000021
x1 -5,0000 -2,5123 -1,0533 2,5591 1,6944 1,4993 1,3401 0,6511 0,5952 0,9903 1,0040 0,9978
x2 5,0000 -0,6379 5,0000 3,4356 -0,1809 1,5322 1,9036 0,3282 0,3527 0,9806 1,0082 0,9960
x1 = 5 x2 = 5 Progression initiale rapide : x1 = 0.99 après 1200 appels fonctions x2 = 0.98 Convergence précise lente → nécessite plusieurs milliers d’appels fonction Initialisation :
1093
4 Optimisation discrète 4.3 Métaheuristiques 4.3.9 Reformulations
Techniques d’optimisation
Max CERF 2018
4.3.9 Reformulations Problème d’optimisation difficile
min f(x) x
•
problème d’optimisation (PO)
Le problème est considéré comme « difficile » dans 2 cas. - Les variables sont discrètes → contrainte d’intégrité de la solution - La fonction admet des minima locaux → difficulté de garantir le minimum global Des techniques de reformulation permettent de favoriser la résolution.
•
Les contraintes d’intégrité peuvent être prises en compte par pénalisation. → transforme le problème mixte en problème continu → permet d’appliquer des algorithmes sans contrainte (classiques ou métaheuristiques)
•
Le minimum global peut être isolé par transformations successives. → dilatation de la fonction pour éliminer les minima locaux supérieurs à un seuil → poursuite de l’algorithme sur la fonction dilatée
•
Les reformulations améliorent l’efficacité des métaheuristiques et/ou élargissent leur champ d’application.
1094
4 Optimisation discrète 4.3 Métaheuristiques 4.3.9 Reformulations
Max CERF 2018
Techniques d’optimisation 4.3.9 Variables discrètes
Méthode de pénalisation
min f(x) x
problème à une variable x
•
On suppose que la variable x est astreinte à un ensemble discret de valeurs.
•
On définit une fonction de pénalisation :
x D d1 , d 2 ,..., d p
(x) = 0 si x D (x) > 0 sinon
Exemples de pénalisation : (x) (x d j )(x d j1 )
avec j tel que
d j x d j1
x dj (x) sin d d j j1 •
La pénalisation crée des minima locaux pour les valeurs admissibles x D. On peut ensuite appliquer une méthode d’optimisation continue à la fonction pénalisée.
min F( x ) f(x) (x) xR
minimisation sur la variable x continue pénalisation à régler pour forcer x D
1095
4 Optimisation discrète 4.3 Métaheuristiques 4.3.9 Reformulations
Max CERF 2018
Techniques d’optimisation 4.3.9 Variables discrètes
Exemple 8 min f(x) x 4 x 3 2x 2 8x avec x 1, 0 ,1, 2 x 3
•
(x) (x d j )(x d j1 )
Fonction pénalisée avec
et = 30
15
F( x ) f(x) (x)
10
5
f(x)
0
-2,0
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
2,5
3,0
-5
-10
1096
4 Optimisation discrète 4.3 Métaheuristiques 4.3.9 Reformulations
Max CERF 2018
Techniques d’optimisation 4.3.9 Variables discrètes
Exemple
•
8 min f(x) x 4 x 3 2x 2 8x avec x 1, 0 ,1, 2 x 3 x dj Fonction pénalisée avec (x) sin d d j j1
et = 10
15
F( x ) f(x) (x)
10
5
f(x)
0 -2,0
-1,5
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
2,5
3,0
-5
-10
1097
4 Optimisation discrète 4.3 Métaheuristiques 4.3.9 Reformulations
Max CERF 2018
Techniques d’optimisation 4.3.9 Minima locaux
Méthode de dilatation
min f(x) x
• •
problème à plusieurs minima locaux
On suppose qu’un premier minimum local a été trouvé en x=xm
On définit la fonction dilatée F :
→ f(xm) = fm
c2 f(x) c1 x x m F(x) f (x) f m f(x)
si f ( x ) f m si f ( x ) f m
Le terme en c1 remonte les minima locaux supérieurs à fm sans modifier le voisinage de xm. Le terme en c2 remonte la fonction au voisinage de xm. Les minima inférieurs à fm ne sont pas modifiés. •
Le réglage des coefficients c1 et c2 permet de pénaliser les régions où f(x) > fm et de favoriser l’exploration des minima restants.
•
L’algorithme est redémarré sur la fonction dilatée F. Les dilatations successives éliminent les minima locaux et isolent le minimum global.
1098
4 Optimisation discrète 4.3 Métaheuristiques 4.3.9 Reformulations
Max CERF 2018
Techniques d’optimisation 4.3.9 Minima locaux
Exemple x2 Fonction de Griewank à une variable f(x) cos( x ) 1 4000 x Minima locaux : sin(x) 0 → proche de k.2 lorsque x 0 sur [a,b], alors il n’existe pas de point conjugué à x=a sur l’intervalle [a,b]. L’absence de point conjugué est une condition nécessaire de minimum.
1134
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.2 Conditions de minimum
Max CERF 2018
Techniques d’optimisation 5.2.2 Condition de Jacobi
Preuve (1) • Il faut montrer que pour toute perturbation admissible non nulle
b
1 J y* ( ) ' 2 P 2 Q dx 0 2a 2
•
avec (a) = (b) = 0 b
Pour former un carré sous l’intégrale, on ajoute un terme de la forme I d ( w 2 ) a w est une fonction quelconque de classe C1.
b
I d ( w 2 ) w 2 a
b a
0 car ( a ) ( b ) 0
b
1 J y* ( ) J y* ( ) I ' 2 P 2' w 2 ( Q w' ) dx 2a 2
•
2
Par hypothèse : P > 0. Si on peut choisir la fonction w telle que : P( Q w' ) w 2 , alors on aura 2 b b 2 1 2 w 1 w 2 2 w J y* ( ) P' 2' 2 dx P' dx 0 2 a P 2a P P w 2Jy*() ne s’annule que si ' 0 0 car (a)=0, donc 2Jy*() > 0 si ≠ 0. P
•
Il reste à montrer qu’il existe une fonction w de classe C1 telle que : P( Q w' ) w 2
1135
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.2 Conditions de minimum
Max CERF 2018
Techniques d’optimisation 5.2.2 Condition de Jacobi
Preuve (2) • Il reste à montrer qu’il existe une fonction w de classe C1 telle que : P( Q w' ) w 2 •
On considère une solution v de l’équation de Jacobi : Qv
d ( Pv' ) 0 dx
L’équation de Jacobi est une équation différentielle d’ordre 2. La solution v : - est complètement définie par les conditions initiales v(a) et v’(a). - dépend de façon continue de la valeur v(a). •
Par hypothèse, il n’existe pas sur l’intervalle [a,b] de point conjugué au point x=a. → Si v(a) = 0, alors v ne s’annule pas sur l’intervalle ]a,b]. Par continuité de la solution par rapport à la condition initiale v(a), pour assez petit, → Si v(a) = , alors v ne s’annule pas sur l’intervalle ]a,b]. Il existe donc une solution v ne s’annulant pas sur tout l’intervalle [a,b].
•
On définit la fonction w de classe C1 : w
v' P v
Cette fonction vérifie : vw Pv' v' w vw' ( Pv' )' Qv v' w2 Q w' w v P
car v solution de Jacobi.
qui est la propriété souhaitée
1136
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.2 Conditions de minimum
Techniques d’optimisation
Max CERF 2018
5.2.2 Exemple 1 : distance Distance dans le plan b
• •
Formulation :
min y
1 y' ( x ) 2 dx
L ( x , y, z ) 1 z 2
a
Condition nécessaire d’ordre 1 : L y L z ' L y' C te y' C te y' 1 y' 2
•
Condition nécessaire d’ordre 2 :
2L P 2 1 y' 2 y'
•
3 2
0
Conditions suffisantes : Equation de Jacobi : (Pv' )' Qv
(Euler-Lagrange) → extrémales = droites (fonctions linéaires)
L zz 0
(Legendre) → condition vérifiée par les extrémales
L zz 0 , pas de points conjugués (Jacobi) P( x ) L zz C te P0 car y*' C te avec Q( x ) L yy L yz ' 0 car L y 0
P0 v' C te v( x ) v' (a ).( x a ) v(a ) (écart entre 2 extrémales linéaires = fonction linéaire) Si v non identiquement nulle, v(a) ≠ 0. Si v(a) = 0, alors v ne s’annule en aucun autre point → pas de points conjugués
Solution v :
1137
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.2 Conditions de minimum
Techniques d’optimisation
Max CERF 2018
5.2.2 Condition de Jacobi Problème auxiliaire • L’équation de Jacobi peut aussi s’établir à partir de la variation seconde de J.
b
1 J y* () '2 P 2 Q dx 0 2a 2
•
P ( x ) L avec Q( x ) Lzz L ' yy yz
On considère pour P et Q fixées la fonctionnelle K définie par
b
b
1 K ( v) v'2 P v 2 Q dx M ( x , v, v' )dx 2a a
M ( x , v, v ' )
1 2 1 2 Pv' Qv 2 2
Le problème auxiliaire du problème de minimisation (« accessory minimum problem ») est la recherche des extrémales de cette fonctionnelle quadratique. •
L’équation d’Euler-Lagrange pour la fonctionnelle K est M v M v ' ' Qv (Pv' )'
→ équation de Jacobi associée à la fonctionnelle J
L’équation de Jacobi est donc l’équation d’Euler-Lagrange du problème auxiliaire. (= équation d’Euler-Lagrange associée à la variation seconde de J).
1138
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.2 Conditions de minimum
Max CERF 2018
Techniques d’optimisation 5.2.2 Condition de Jacobi
Points conjugués • Les extrémales sont les solutions de l’équation EL (équation différentielle d’ordre 2). Une extrémale est complètement définies par les 2 constantes d’intégration. •
Par un point A fixé, il passe une famille d’extrémales paramétrées par la dérivée en A. Un point conjugué C est un point d’intersection de 2 extrémales différentes issues de A.
•
Exemples : Les géodésiques de la sphère sont des arcs de grand cercles. Des points diamétralement opposés sont conjugués (infinité d’extrémales entre A et B). A
B C
A
extrémales issues de A
B
1139
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.2 Conditions de minimum
Max CERF 2018
Techniques d’optimisation 5.2.2 Condition de Jacobi
Cas particulier b
min J ( y) Lx , y, y'dx yY
a
Lx , y'
•
On suppose que la fonction L ne dépend pas explicitement de y
•
Matrices P et Q :
P( x ) L y ' y ' Q( x ) L yy L yz ' 0 car L y 0
•
Equation de Jacobi :
(Pv' )' Qv 0 Pv' C te
•
On suppose que la condition forte de Legendre est vérifiée le long de l’extrémale : P > 0 → La dérivée v est alors de signe constant et la fonction v est monotone. → Si v s’annule en x=0, v ne s’annule plus le long de l’extrémale. Il n’existe pas de point conjugué.
•
La condition forte de Legendre est dans ce cas une condition suffisante de minimum local.
1140
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.2 Conditions de minimum
Max CERF 2018
Techniques d’optimisation 5.2.2 Exemple 3 : sphère
Géodésiques sur la sphère • On cherche les courbes de distance minimale entre 2 points A et B sur la sphère. •
Coordonnées sphériques : = latitude = longitude , B B A A 0 0 A B
•
C
B
→ choix des axes de référence facilitant la résolution
Distance en coordonnées sphériques x cos cos y cos sin z sin
•
(méridiens) (équateur)
A
ds 2 dx 2 dy 2 dz 2 d 2 d2 cos 2
Formulation On choisit comme variable et on cherche la fonction () qui minimise la distance de A à B. B
min
A
1 ' () 2 cos 2 d L(, , ' ) 1 '2 cos 2
avec '
d d
1141
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.2 Conditions de minimum
Max CERF 2018
Techniques d’optimisation 5.2.2 Exemple 3 : sphère
Condition d’ordre 1 B
• •
•
Formulation : min
1 ' () 2 cos 2 d
L(, , ' ) 1 '2 cos 2
A
Condition nécessaire d’ordre 1 :
L L' '
L L 0 C te c '
' cos 2
1 '2 cos 2
(Euler-Lagrange) c
Une primitive () est (solution non évidente) :
d c d cos cos 2 c 2 tan ( 0 )
c sin cos 2 c 2
On peut vérifier cette solution en dérivant chaque membre. d d c 2 sin 2 d (1 c 2 ) cos 2 d 2 tan ( 0 ) 1 tan ( 0 ) 1 2 2 d d cos c d cos 2 c 2 d
d c sin d cos 2 c 2
c(1 c 2 ) cos 3 cos 2 c 2 2
c cos 2 c 2
cos
d d
1142
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.2 Conditions de minimum
Max CERF 2018
Techniques d’optimisation 5.2.2 Exemple 3 : sphère
Condition d’ordre 1 •
Les extrémales ont pour équation () : tan ( 0 )
c sin cos 2 c 2
Les 2 constantes d’intégration 0 et c sont déterminées par les conditions en A et B.
•
, B B A A 0 0 A B
tan 0
A et B sont quelconques
0 0 ou , c 0
On obtient pour l’extrémale AB :
c sin A cos 2 A c 2
c sin B cos 2 B c 2
pour que l’égalité soit vérifiée
tan 0 0
L’extrémale est un arc de grand cercle suivant le méridien AB. Cette solution vérifie la condition nécessaire d’ordre 1.
•
On examine si cette extrémale vérifie les conditions suffisantes (Legendre, Jacobi).
1143
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.2 Conditions de minimum
Techniques d’optimisation
Max CERF 2018
5.2.2 Exemple 3 : sphère Conditions suffisantes • Les conditions suffisantes de minimum sur l’extrémale sont - la condition de Legendre : Lzz > 0 - la condition de Jacobi : aucun point conjugué entre A et B
•
Matrices P et Q ' cos 2 L(, , ' ) 1 ' cos L 0 , L ' 2 2 L 1 ' cos 2 2 cos ' cos L ' P() L ' ' cos 2 (car =0 , L=1 le long de l’extrémale) 2 L L 2
' cos 2
2
Q() L L ' ' 0
(car L=0)
•
Condition de Legendre : P cos 2 0
vérifiée si l’extrémale ne passe pas par un pôle
•
Equation de Jacobi :
(Pv' )' Qv 0 v' cos 2 k v v 0 k tan
Point conjugué de A : Si v(A) = 0, alors v s’annule à nouveau pour C = A + Le point A admet comme point conjugué le point C diamétralement opposé.
1144
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.2 Conditions de minimum
Max CERF 2018
Techniques d’optimisation 5.2.2 Exemple 3 : sphère
Conditions suffisantes • L’extrémale AB est un arc de grand cercle méridien : 0 L 1 J AB B A Cette extrémale peut ou non vérifier les conditions suffisantes de minimum.
•
La condition de Legendre est vérifiée si l’extrémale ne passe pas par un pôle : P cos 2 0
•
La condition de Jacobi est vérifiée si l’arc AB est inférieur au demi-cercle. Le point conjugué de A est le point C diamétralement opposé. Si l’extrémale AB passe par C, elle n’est pas minimale. L’extrémale en sens opposé est plus courte et ne passe pas par C.
C B
Remarques • La formulation en () suppose la variable croissante. Si on choisit le repère pour avoir :
A B A 2 2
A
alors l’extrémale obtenue vérifie les conditions suffisantes de minimum. •
Si A et B sont diamétralement opposés, tous les arcs de grands cercles AB sont solutions.
1145
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Techniques d’optimisation
Max CERF 2018
5.2.3 Extensions Extrémités libres Plusieurs variables
Plusieurs fonctions Courbe paramétrée Invariance Forme canonique Mécanique
1146
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Max CERF 2018
Techniques d’optimisation 5.2.3 Extrémités libres
Perturbations en a et b b
min J ( y) Lx , y, y'dx yY
a
avec y(a ) y( b)
•
On exprime la variation de J en supposant que les extrémités (a,) et (b,) peuvent varier.
•
Les perturbations appliquées sont , a , b , , : y
y( x ) y * ( x ) ( x ) sur a , b x (a ) a y(a ) x (b) b y(b)
y*+ +
y*
Variation de y en b y = variation due à yb = variation due à b
y yb
+ 0
y(b) y y b (b) y' (b)b
a a+a
b
b+b
x
1147
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Max CERF 2018
Techniques d’optimisation 5.2.3 Extrémités libres
Evaluation de J • On exprime la variation de J en fonction des perturbations , a , b. b b
b b
b
Lx, y * , ( y * )'dx Lx, y*, y*'dx L L x ' L dx Ldx
J
y
a a
b
L x ' L dx L
y
y'
a a
y
y'
a a
a
b b
L y ' ' dx
[L y ' ]ab
a
en intégrant par parties •
b
a
b b
a a
b
a
L dx L dx à l’ordre 1
La variation y en a (ou b) résulte de la perturbation et du déplacement x en a (ou b). y(a ) (a ) y' (a )a (a ) y(a ) y' (a )x (a ) y(b) (b) y' (b)b (b) y(b) y' (b)x (b)
•
On obtient la variation première de J en fonction de , x(a) , x(b) , y(a) , y(b). b
J L y L y ' ' dx [L y 'y]ab [(L L y ' y' )x ]ab a
1148
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Techniques d’optimisation
Max CERF 2018
5.2.3 Plusieurs variables Formulation min J (z) z
Lx, y, z, z
x ,zy
dxdy
→ fonction z de 2 variables x,y sur une région D de R2
( x , y )D
•
L est une fonction C1 de R5 dans R : ( x , y, z, p, q) L( x , y, z, p, q)
•
On cherche la fonction z*(x,y) qui minimise J.
Conditions de minimum z* minimum de J
L L z x z x
L y z y
•
La fonction z* vérifie l’équation d’Euler-Lagrange étendue à 2 variables x et y. → équation aux dérivées partielles du second ordre La démonstration est analogue au cas d’une variable en exprimant la variation première.
•
La condition se généralise au cas d’une fonction de n variables.
1149
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Techniques d’optimisation
Max CERF 2018
5.2.3 Plusieurs fonctions Formulation b
min J ( y) Lx , y1 ,..., y n , y1 ' ,..., y n 'dx yY
→ n fonctions inconnues y1, … , yn
a
•
L est une fonction C1 de R2n+1 dans R : ( x , y, z) L( x , y, z)
•
Y est l’espace des fonctions C1 de [a,b] dans Rn, à valeurs fixées en a et b. y( x ) y1 ( x ) , ..., y n ( x )
y (a ) j avec y(a ) j , j 1,..., n y( b) y j ( b) j
Conditions de minimum
•
L d L , j 1,..., n y* minimum de J y j dx y j ' Chaque fonction yj vérifie l’équation d’Euler-Lagrange :
L y j L z j ' , j 1,..., n
La preuve est similaire au cas à une fonction (en utilisant n perturbations indépendantes j).
•
Les conditions de Legendre et Jacobi se généralisent également au cas de plusieurs fonctions.
1150
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Techniques d’optimisation
Max CERF 2018
5.2.3 Courbe paramétrée Formulation b
min J ( y) Lx , y, y'dx
y
•
a
On recherche la solution sous forme d’une courbe paramétrée. x x ( t ) y y( t )
•
x(t ) a y( t ) avec a et a x ( t b ) b y( t b )
Les dérivées par rapport à t et x sont notées :
dx dy dy y x , y , y' y' dt noté dt noté dx noté x
tb
y ( t ) x ( t )dt Lx , y, y'dx L x ( t ), y( t ), x ( t ) a ta b
•
→ 1 fonction inconnue y(x) avec yy((ab))
Formulation paramétrée tb
min K ( x , y) Mt , x , y, x , y dt x,y
ta
y ( t ) x ( t ) avec Mt , x , y, x , y L x ( t ), y( t ), x ( t )
→ problème à 2 fonctions inconnues x(t) et y(t) avec des conditions en t a , tb
1151
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Techniques d’optimisation
Max CERF 2018
5.2.3 Courbe paramétrée Condition nécessaire d’ordre 1 tb
min K ( x , y) Mt , x , y, x , y dt x,y
•
ta
Chaque fonction x(t) et y(t) vérifie l’ équation d’Euler-Lagrange. M d M Mx M x x dt x
M d M My M y y dt y
•
y ( t ) x ( t ) avec Mt , x , y, x , y L x ( t ), y( t ), x ( t )
→ système différentiel de dimension 2 et d’ordre 2 avec 4 conditions aux extrémités
Les 2 équations différentielles ne sont pas indépendantes. Chacune est équivalente à l’équation d’Euler-Lagrange du problème initial. L y L y' '
L d L y dx y'
→ système différentiel de dimension 1 et d’ordre 2 avec 2 conditions aux extrémités
1152
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Max CERF 2018
Techniques d’optimisation 5.2.3 Courbe paramétrée
Preuve y M t , x , y , x , y L x , y , x x
•
x y M L x , M L y L L L L Lz y' x x z z 2 x x x 1 M y L y x , M y Lz x Lz x
Equation d’Euler-Lagrange pour x(t) d d M x M x Lx x L Lz y' L Lz y' x dt dx d d d Lx L Lz y' Lx L y y' Lz y' ' Lz y' Lz y' ' dx dx dx d L y Lz ' 0 L y Lz y' 0 dx
•
équation d’Euler-Lagrange du problème initial pour y(x)
Equation d’Euler-Lagrange pour y(t) d d M y M y L y x Lz Lz x dt dx
L y Lz ' 0
1153
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Techniques d’optimisation
Max CERF 2018
5.2.3 Courbe paramétrée Géodésiques • Les géodésiques sont les courbes de longueur minimale sur une surface donnée. La surface est définie par un vecteur position r fonction de 2 variables u et v : r r (u , v) •
On cherche la géodésique sous forme d’une courbe paramétrée r ( t ) . → 2 fonctions u(t) , v(t) r ( t ) r (u ( t ), v( t ))
•
Elément de longueur sur la surface 2 ds 2 d r ru du rv dv
2
ds Eu '2 2Fu ' v'Gv'2 dt
•
ru2 du 2 2 ru .rv dudv rv2 dv 2 avec E ru2 , F ru .rv , G rv2
Les géodésiques de la surface sont les extrémales de la fonctionnelle J. B
min J (u , v) ds u ,v
A
tb
Eu '2 2Fu ' v'Gv'2 dt
ta
→ problème à 2 fonctions inconnues u(t) et v(t) avec des conditions en ta , tb
1154
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Techniques d’optimisation
Max CERF 2018
5.2.3 Courbe paramétrée Géodésiques • Formulation tb
min J (u , v) u ,v
•
Eu '2 2Fu ' v'Gv'2 dt
ta
Equations d’Euler-Lagrange pour les fonctions u et v. E u '2 2F u ' v'G v'2 d 2(Eu ' Fv' ) u u u dt Eu '2 2Fu ' v'Gv'2 Eu '2 2Fu ' v'Gv'2 E v u '2 2Fv u ' v'G v v'2 d 2(Fu 'Gv' ) dt Eu '2 2Fu ' v'Gv'2 Eu '2 2Fu ' v'Gv'2
→ pour u
→ pour v
avec E ru2 , F ru .rv , G rv2 (coefficients de la forme quadratique fondamentale de la surface)
•
Les géodésiques sont solutions d’un système différentiel de dimension 2 et d’ordre 2.
1155
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Max CERF 2018
Techniques d’optimisation 5.2.3 Exemple 4 : cylindre
Géodésiques sur le cylindre • On cherche les courbes de distance minimale entre 2 points A et B sur le cylindre. •
Le vecteur position est défini en coordonnées cylindriques u= , v=z. r (a sin , a cos , 0) r (a cos , a sin , z) 0, 1) r z ( 0 ,
•
Equations d’Euler-Lagrange E r2 a 2 , F r .rz 0 , G rz2 1 2 d a ' dt a 2 '2 z'2 d z' dt a 2 '2 z'2
•
z
0
a 2 ' 2 2 2 c1 a ' z' c1z' c 2 a 2 ' z' 0 2 2 2 c2 a ' z'
a
Les géodésiques du cylindre sont des hélices d’équation : z z 0 c( 0 )
1156
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Max CERF 2018
Techniques d’optimisation 5.2.3 Invariance
Changement de variable b
min J ( y) Lx , y, y'dx y
•
→ fonction inconnue y(x)
a
On effectue le changement de fonction y = f(x,Y). La nouvelle fonction inconnue est Y(x). d d f f dY y' y f x , Y( x ) f x f Y Y' dx dx x Y dx noté b
•
Le problème en variable Y devient : avec
•
b
min J ( y) Lx , y, y'dx min K (Y) Mx , Y, Y'dx y
a
Y
a
L( x , y, y' ) Lx , f ( x , Y), f x f Y Y' M( x , Y, Y' )
L’équation d’Euler-Lagrange est invariante :
noté
L y L y' ' M Y M Y' '
Preuve : M Y L y f Y L y' ( f xY f YY Y ' ) → dérivée composée de L par rapport à Y M Y ' L y' f Y → dérivée composée de L par rapport à Y’ d d d M Y ' L y' fY L y' fY L y fY L y' ( fYx fYY Y ' ) M Y dx dx dx Ly
1157
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Techniques d’optimisation
Max CERF 2018
5.2.3 Invariance Fonctionnelles équivalentes • Les fonctionnelles J et K sont dites équivalentes si elles ont les mêmes extrémales. b
b
min J ( y) Lx , y, y'dx min K ( y) Mx , y, y'dx
y
si •
y
a
a
L y L y' ' M y M y' '
Si les lagrangiens L et M diffèrent d’une dérivée totale (condition suffisante) : M L F avec F( x , y, y' )
d ( x , y) x y y' dx
avec (x,y) fonction quelconque
alors les fonctionnelles sont équivalentes et diffèrent d’une constante. Preuve : , x , y sont fonctions de x et y. d ( x , y ) F xy yy y' F ( x , y , y' ) x y y' y Fy' ' y ' yx yy y' dx Fy' y M y L y Fy L y xy yy y' avec L y L y' ' M y M y' ' M y' L y' Fy' L y' yx yy y' d et K ( y ) Mdx ( L F )dx L dx a a a b
b
b
dx J ( y ) ( b ) ( a )
1158
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Techniques d’optimisation
Max CERF 2018
5.2.3 Transformation de Legendre Définition • On considère une fonction quelconque f de Rn dans R : z R n f (z) R La transformation de Legendre définit une nouvelle fonction h : p R n h (p) R La fonction h est définie pour tout p par :
h (p) maxpz f (z) def
•
z
On note zp la valeur de z qui maximise pz f(z) : h (p) pz p f (z p )
Propriétés • Si f est dérivable :
d pz f (z) 0 en z p p f ' (z p ) h ' (p) z p et h ' ' (p) f ' ' (z p ) dz
•
La fonction h est convexe.
•
Si f est convexe, la transformée de Legendre de h redonne f (involution).
•
On applique la transformation de Legendre à une fonctionnelle J de lagrangien L en considérant L(x,y,z) comme fonction de z. h ( x , y, p) pz p L( x , y, z p ) H( x , y, p) noté
avec p L z ( x , y, z p )
→ variables canoniques associées à J
1159
1
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Max CERF 2018
Techniques d’optimisation 5.2.3 Forme canonique
Variables canoniques b
min J ( y) Lx , y, y'dx y
•
avec n fonctions inconnues y = (y1, … , yn)
a
On définit de nouvelles fonctions p et H : (= transformation de Legendre sur L(.,.,y)) La fonction H dépend de 2n+1 variables :
p L y ' H py'L H ( x , y, p )
→ n fonctions p(x) → 1 fonction H(x,y,p) n
p y ' L(x, y ,..., y i
i
1
n , y1 ' ,..., y n ' )
i 1
•
Différentielle totale de H( x , y, p) py'L( x , y, y' )
dH y' dp pdy' L x dx L y dy L y 'dy' L x dx L y dy y' dp H x dx H y dy H p dp H x L x Par identification : H y L y H p y'
•
car p L y '
En remplaçant dans l’équation d’Euler-Lagrange : L y L y ' ' H y p' avec p L y '
1160
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Max CERF 2018
Techniques d’optimisation 5.2.3 Forme canonique
Variables canoniques b
min J ( y) Lx , y, y'dx y
avec n fonctions inconnues y = (y1, … , yn)
a
•
Les variables canoniques associées à la fonctionnelle J et au lagrangien L sont - les n fonctions y(x) appelées coordonnées - les n fonctions p(x) appelées impulsions (« momentum ») : p L y ' ou quantités de mouvement
•
La fonction H(x,y,p) est appelée hamiltonien (ou énergie) :
H( x , y, p) py'L( x , y, y' )
Equations canoniques •
•
L’équation d’Euler-Lagrange :
L y L y' '
→
est équivalente à :
y' H p p ' H y
→ 2n EDO d’ordre 1 en variables y , p (équations canoniques)
n EDO d’ordre 2 en variables y
y' H p Le système est appelé forme canonique associée à la fonctionnelle J. p ' H y (ou forme hamiltonienne)
1161
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Techniques d’optimisation
Max CERF 2018
5.2.3 Forme canonique Intégrale première • Les extrémales de J sont les solutions y* de l’équation E.L. :
L y L y' '
y*' H p p*' H y La dérivée totale d’une fonction quelconque (y,p) le long d’une extrémale est
Les variables canoniques y* , p* associées à J vérifient :
•
d H H y' p' dx y p y p p y
noté
, H
→ crochet de Poisson de et H
La fonction est une intégrale première (i.e. (y*,p*) = Cte) si et seulement si , H 0 . •
La dérivée totale de l’hamiltonien H(x,y,p) le long d’une extrémale est dH H H H H y' p' H , H dx x y p x
dH H dx x
car H , H 0
Si H ne dépend pas explicitement de x, alors H est une intégrale première.
1162
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Max CERF 2018
Techniques d’optimisation 5.2.3 Forme canonique
Transformation canonique • On considère la forme canonique associée à une fonctionnelle J. b
min J ( y) Lx , y, y'dx y
a
n fonctions y vérifiant L y L y ' ' •
b
min J ( y, p) y,p
py'H(x, y, p)dx a
p L y' avec H py'L
y' H 2n fonctions y et p vérifiant p' H p y
Une transformation canonique est un changement de variables : ( y, p) (Y, P) qui préserve la forme canonique. Y' H *P y' H p * avec la fonction H ( x , y , p ) p ' H * avec une nouvelle fonction H ( x , Y, P ) y P H Y
PY'H (x, Y, P)dx b
La fonctionnelle associée au nouveau système canonique est : J (Y, P) *
*
a
•
Condition suffisante pour qu’un changement de variables soit une transformation canonique. Si les fonctionnelles J et J* sont équivalentes (i.e. ont les mêmes extrémales), alors les formes canoniques en (y,p) et (Y,P) sont équivalentes (i.e. ont les mêmes solutions).
1163
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Max CERF 2018
Techniques d’optimisation 5.2.3 Forme canonique
Transformation canonique • Une condition suffisante pour que les fonctionnelles J et J* soient équivalentes est que leurs lagrangiens L et L* diffèrent d’une dérivée totale. b
J ( y, p )
py'H(x, y, p)dx
PY'H (x, Y, P)dx b
J ( Y, P ) *
équivalente à
a
*
a
si py'H( x , y, p) PY 'H * ( x , Y, P)
d dx
avec fonction quelconque
d pdy PdY H * ( x , Y, P) H( x , y, p) dx
•
d est une différentielle totale par rapport aux variables x , y , Y. On en déduit l’expression de p , P et H* en fonction des dérivées de (x,y,Y). d y dy y dY x dx p
avec fonction quelconque de (x,y,Y).
, P , H* H y Y x
(x,y,Y) est la fonction génératrice de la transformation canonique.
1164
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Techniques d’optimisation
Max CERF 2018
5.2.3 Forme canonique Fonction génératrice • Une fonction génératrice de la forme 1(x,y,Y) définit une transformation canonique à partir des variables y (anciennes coordonnées) et Y (nouvelles coordonnées). p
•
, P , H* H y Y x
→ impulsions p, P associées à la forme canonique
La fonction génératrice peut s’exprimer en variables (y,Y) , (y,P) , (y,p) ou (p,P). → 4 formes possibles 1(x,y,Y) , 2(x,y,P) , 3(x,p,Y) , 4(x,p,P) 1 ( x , y, Y ) 2 ( x , y, P) 1 ( x , y, Y) PY
1 ,P 1 y Y 2 2 ,Y d 2 pdy YdP (H * H) dx p y P
d1 pdy PdY (H H) dx p *
3 3 ,P p Y 4 4 4 ( x , p, P) 1 ( x , y, Y) py PY d 4 ydp YdP (H * H) dx y ,Y p P
3 ( x , p, Y) 1 ( x , y, Y) py
•
d 3 ydp PdY (H * H) dx y
Si la fonction ne dépend pas explicitement de x, l’hamiltonien reste identique : H*=H. La transformation canonique ne modifie que les variables y , p , Y , P.
1165
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Max CERF 2018
Techniques d’optimisation 5.2.3 Forme canonique
Changement de variables paramétré b
min J ( y) Lx , y, y'dx y
•
→ variable x , n fonctions y(x) = (y1, … , yn)
a
On considère un changement de variables dépendant d’un paramètre . ( x , y) ( x*, y*) avec x* X( x , y, y' , ) et x X( x , y, y' ,0) y* Y( x , y, y' , ) y Y( x , y, y' ,0)
•
→ identité pour =0
La fonctionnelle J est invariante par le changement de variables ( x, y) ( x*, y*) si J ( y*) J ( y)
x * b*
x b
x * a *
x a
Lx*, y*, y*'dx * Lx, y, y'dx
Théorème de Noether Si J est invariante par le changement de variables quelles que soient les bornes a et b, alors la fonction L y '
Y X L L y ' y' 0 0
L y ' Y
0
L L y ' y' X
0
est une intégrale première. p Y
0
H X
0
C te
1166
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Max CERF 2018
Techniques d’optimisation 5.2.3 Forme canonique
Théorème de Noether Preuve : On exprime la variation de J en fonction de perturbations , x(a), x(b), y(a), y(b). b
J L y L y' ' dx [ L y' y ]ab [( L L y' y' )x ]ab a
La fonction y(x) est une extrémale
L y L y' ' 0
x* X ( x , y , y' , ) X ( x , y , y' ,0 ) X A l’ordre 1 en : y* Y ( x , y , y' , ) Y ( x , y , y' ,0 ) Y
J L y' Y
La variation première de J se réduit à :
0
0
x X
0
x X
0
0
y Y
0
y Y
0
L L y' y' X
b
0 a
J est invariante par le changement de variables quelles que soient les bornes a et b.
J 0 L y' Y L y' Y
0
0
L L y' y' X
L L y' y' X
b
0 a
0
0
C te
car a et b sont quelconques.
1167
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Max CERF 2018
Techniques d’optimisation 5.2.3 Forme canonique
Fonction valeur b
min J ( y) Lx , y, y'dx
y
•
a
avec y(a ) y( b)
On considère les extrémales y*(x) partant de A(a,) et d’extrémité B(b,) variable. La fonction valeur V(b,) est la valeur de J(y*) en fonction du point final B(b,). b
V(b, ) Lt , y*, y*'dt
a
•
Pour exprimer la différentielle de V, on repart de la variation première de J en fonction de perturbations , x(a) , x(b) , y(a) , y(b). b
J L y L y ' ' dx [L y 'y]ab [(L L y ' y' )x ]ab a b
L y L y ' ' dx [py Hx ]ab
car p L y ' , H py'L L y ' y'L
a
[py Hx ]ab
car y* est une extrémale
L y L y' ' 0
py(b) Hx (b)
car le point (a,) est fixé
x (a ) 0 , y(a ) 0
1168
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Techniques d’optimisation
Max CERF 2018
5.2.3 Forme canonique Equation de Hamilton-Jacobi-Bellman • La différentielle de V(b,) est la variation de J pour des perturbations x(b) , y(b). J py(b) Hx (b)
dV pd Hdb dV pdy Hdx en notant le point final (x,y) au lieu de (b,)
•
•
Les dérivées partielles de V(x,y) sont :
V V H , p x y
L’hamiltonien H est fonction de x,y,p :
H ( x , y, p ) H ( x , y,
La fonction valeur V(x,y) vérifie l’EDP :
V V H( x , y, ) 0 Vx H( x , y, Vy ) 0 x y
V ) y
→ équation de HamiltonJacobiBellman (HJB) •
La résolution de l’équation HJB donne la valeur de J sur tout le champ d’extrémales → pour tous les points initiaux et finaux.
1169
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Techniques d’optimisation
Max CERF 2018
5.2.3 Forme canonique Intégrale première • On suppose que V(x,y,) est une solution de HJB paramétrée par m constantes = (1, … , m). Alors les fonctions
Preuve Il faut montrer que
V sont des intégrales premières d V dx
(= constantes le long des extrémales).
2V 2V dy 0 0 x y dx
V(x,y,) vérifie l’équation HJB :
V V H ( x, y , )0 x y
En dérivant par rapport à :
Le long d’une extrémale y(x) :
dy H dx p
On obtient le résultat cherché :
d V dx
V V H ( x, y , y x
0
le long d’une extrémale
2V H 2V ) 0 x p y 2V dy 2V 0 x dx y
1170
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Max CERF 2018
Techniques d’optimisation 5.2.3 Exemple 1 : distance
Equation HJB On cherche les extrémales d’une fonctionnelle par résolution de l’équation HJB. b
•
J ( y) f ( y) 1 y'2 dx
Fonctionnelle :
L ( x , y, y ' ) f ( y ) 1 y ' 2
a
•
H py'L py'f ( y) 1 y'2 avec p L y '
Hamiltonien :
f ( y) y' 1 y' 2
y'
p f ( y) 2 p 2
H ( x , y, p ) f ( y ) 2 p 2
•
Vx2 Vy2 f ( y) 2
Vx H( x , y, Vy ) 0
Equation HJB :
y
•
Fonction valeur :
V ( x , y) ( x a )
f (u ) 2 2 du
(par séparation des variables)
avec V(a,) = 0 (point initial) y
•
Intégrale première :
V du C te x a 2 2 f (u )
(extrémale passant par A(a, ))
Le champ des extrémales issues du point initial A(a, ) est paramétré par .
1171
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Techniques d’optimisation
Max CERF 2018
5.2.3 Exemple 1 : distance Equation HJB Dans le cas particulier où f(y)=1, la fonctionnelle J est la distance dans le plan. b
•
J ( y)
Fonctionnelle :
1 y'2 dx
→ distance de A(a,) à B(b,)
a
y
•
Fonction valeur :
V ( x , y) ( x a )
f (u ) 2 2 du
V ( x , y) ( x a ) 1 2 ( y )
•
Extrémales :
x
1
2
( y ) a
→ droites passant par A(a, )
(x a ) ( x a ) ( y ) 2
2
V ( x , y) ( x a ) 2 ( y ) 2
•
pour l’extrémale passant par M(x,y)
→ distance de A(a,) à M(x,y)
La fonction valeur donne bien la distance AM pour tout point M(x,y).
1172
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Techniques d’optimisation
Max CERF 2018
5.2.3 Mécanique Formulation hamiltonienne • Les lois de la mécanique classique peuvent se formuler à partir du calcul des variations. → formulation hamiltonienne, mécanique analytique •
On considère un système de n particules. Masses : Coordonnées : Vitesses :
Accélérations : Energie cinétique totale :
m (m1 ,..., m n ) r ( t ) r1 ,..., rn q noté dr v( t ) v1 ,..., v n q noté dt dv a (t) a1 ,..., a n q noté dt n 1 1 2 2 T mq T m i q i 2 i 1 2
Energie potentielle totale :
U( t , q)
Force appliquée à la particule i :
U Fi q i
→ dérive du potentiel U
1173
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Techniques d’optimisation
Max CERF 2018
5.2.3 Mécanique Postulat de moindre action • On définit l’intégrale d’action (ou action) du système, notée S. tf
S Lt , q, q dt
avec L T U L( t , q, q )
t0
1 mq 2 U( t , q) 2
L est le lagrangien du système de particules = différence énergie cinétique – potentielle •
Postulat de moindre action :
•
On peut donc trouver les trajectoires en recherchant les extrémales de la fonctionnelle S. Equation d’Euler-Lagrange :
Les trajectoires des particules minimisent l’action S.
U d L q L q mq q dt F mq
On retrouve la deuxième loi de Newton (ou principe fondamental de la dynamique). Le postulat de moindre action « contient » la deuxième loi de Newton. Il permet également de retrouver les lois de conservation.
1174
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Techniques d’optimisation
Max CERF 2018
5.2.3 Mécanique Lois de conservation • Les variables canoniques se déduisent du lagrangien. L( t , q, q )
1 mq 2 U( t , q) 2
p L q mq 2 H pq L mq L 2T (T U) T U
Les variables p sont les quantités de mouvement (ou impulsions) des particules. L’hamiltonien est l’énergie totale du système. •
Cas d’un système conservatif (i.e. U ne dépend pas explicitement du temps) dH H (T U) 0 H T U C te dt t t
•
→ conservation de l’énergie
Cas d’un système invariant par translation t* X( t , q, q , ) t On applique le théorème de Noether pour la transformation : q* Y( t , q, q , ) q p Y
H X 0
0
C te
p C te
→ conservation de la quantité de mouvement
1175
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Max CERF 2018
Techniques d’optimisation 5.2.3 Mécanique
Lois de conservation • Cas d’un système invariant par rotation Une rotation infinitésimale d’angle autour de l’axe n transforme le vecteur q en q * . dq n q
n
q* q n q
q*
q
On applique le théorème de Noether pour la transformation t* X( t , q, q , ) t q* Y( t , q, q , ) q n q p Y
H X 0
0
C te p . (n q) C te
en notation vectorielle
n . (q p) C te La relation doit être vérifiée pour un vecteur n quelconque.
h q p C te def
→ conservation du moment cinétique (= moment de la quantité de mouvement p)
1176
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.3 Extensions
Techniques d’optimisation
Max CERF 2018
5.2.3 Mécanique Problème de Kepler • Le problème de Kepler est le mouvement d’une particule dans un potentiel en 1/r.
• • • • • •
d Le mouvement est plan : r v r v r v v v r a 0 car a // r (force centrale) dt r On se place en coordonnées sphériques (r , ) v r v r Energie potentielle : U (par unité de masse) r r 1 2 1 2 2 Energie cinétique : T v (r r ) r 2 2 1 L( t , r, , r, ) T U (r 2 r 2 ) Lagrangien : 2 r L r L r r 2 2 r Equation EL : r r 0 r h r v 0 r 0 2 te 0 0 2 L L r h C r L ne dépend pas explicitement de t → système conservatif → conservation de l’énergie H = T + U
L ne dépend pas explicitement de
→ système invariant par rotation → conservation du moment cinétique h r v 1177
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Techniques d’optimisation
Max CERF 2018
5.2.4 Contraintes Extrémité libre Contrainte finale
Contrainte intégrale Contrainte courante
1178
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Max CERF 2018
Techniques d’optimisation 5.2.4 Extrémité libre
Formulation b
min J ( y) Lx , y, y'dx yY
avec
a
y (a ) y( b)
→ problème à valeurs fixées en a et b
•
On reprend le problème sans la contrainte sur y(b)
•
Y est l’espace des fonctions C1 de [a,b] dans R, à valeur fixée en a : y(a) =
→ valeur libre.
y y2
Illustration : y1 , y 2 , y * Y
2
y1(b) = 1
y*
*
y2(b) = 2
1
y*(b) = *
J ( y*) min J ( y)
0
y1 a
yY
b
x
J ( y*) J ( y1 ) J ( y*) J ( y 2 )
1179
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Max CERF 2018
Techniques d’optimisation 5.2.4 Extrémité libre
Condition nécessaire d’ordre 1 b
min J ( y) Lx , y, y'dx yY
•
avec y(a) =
a
On calcule J en y = y* + pour exprimer la variation première. est une perturbation admissible si (a) = 0 → y(a) = y*(a) = b
•
On obtient :
J ( y) J ( y*) L y L z ' dx (b)L z (b) o() b
a
avec (b) libre
J y* () L y L z ' dx (b)L z (b) a
•
Condition nécessaire de minimum local : L y L z ' 0 L z (b) 0
•
Jy*() = 0
pour toute perturbation admissible
→ équation d’Euler-Lagrange (EDO d’ordre 2) → condition de transversalité en x=b
La condition de transversalité en x = b remplace la contrainte finale y(b) = . Les 2 conditions y(a) = et Ly’(b) = 0 déterminent les 2 constantes d’intégration de EL.
1180
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Max CERF 2018
Techniques d’optimisation 5.2.4 Exemple 1 : distance
Distance dans le plan • Trouver la courbe de longueur minimale entre A et B, avec B d’ordonnée libre y
B
b
min y
A 0
B*
a
b
1 y' ( x ) 2 dx
a
L ( x , y, z ) 1 z 2
x
Solution • •
Equation EL :
L d L y dx y'
Condition de transversalité :
L y' C te y' 1 y' 2 L ( b) 0 y'
La courbe solution est le segment horizontal AB* de longueur ba.
y' 0
1181
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Max CERF 2018
Techniques d’optimisation 5.2.4 Contrainte finale
Formulation b
avec y(a ) → a fixé, b libre y( b) ( b)
min J ( y, b) Lx , y, y'dx
yY bR
a
•
On reprend le problème avec b variable et le point final sur la courbe d’équation y = (x).
•
Le problème de minimisation porte sur la fonction y et la valeur de b. y y2
y=(x)
2 y*
* 1
0
y1 a
b1 b*
b2
x
1182
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Max CERF 2018
Techniques d’optimisation 5.2.4 Contrainte finale
Evaluation de J(y* + ) • On applique une perturbation à (y* , b*) pour exprimer la variation première de J. b b * b y(b) y(b*) y' (b*)b o(b)
y(b) y * (b*) (b*) y*' (b*)b y * (b*) y y b
y y * y (b*) y * (b*) (b*) y' (b*) y*' (b*) ' (b*)
à l’ordre 1 en et b y y
y*
*
y=(x) y
Variation de y en b y = variation due à yb = variation due à b
yb
0
y(b) y y b (b) y' (b)b
a
b*
b
x
1183
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Techniques d’optimisation
Max CERF 2018
5.2.4 Contrainte finale Evaluation de J(y* + ) • On calcule J en y = y* + , b = b* + b. b* b
Lx, y * , ( y * )'dx
J ( y, b) J ( y * , b * b)
a
b*
Lx , y * , ( y * )'dx
b* b
Lx, y * , ( y * )'dx
a
•
b*
On évalue chaque intégrale à l’ordre 1 en et b. b*
b*
Lx, y * , ( y * )'dx (L L a
a b*
b*
b*
b*
y
à l’ordre 1 en
' L z )dx
b* b * Ldx L y dx L z a L z ' dx a a a
Ldx L y L z ' dx (b*)L z (b*) a
car (a) = 0
a
b* b
Lx, y * , ( y * )'dx Lb*, y * (b*), y'*(b*)b
b*
à l’ordre 1 en b
1184
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Max CERF 2018
Techniques d’optimisation 5.2.4 Contrainte finale
Evaluation de J(y* + ) • On obtient pour J(y,b) : b*
b*
J ( y, b) Ldx L y L z ' dx (b*)L z (b*) L(b*)b a
avec •
a
b*
J ( y*, b*) Lx*, y*, y*'dx
a
y(b * b) y * (b*) (b*) y*' (b*)b
variation de y en b due à et b
La valeur de (b) n’est pas libre car le point final doit rester sur la courbe d’équation y = (x). y * (b*) (b*) y(b * b) (b * b) (b*) ' (b*)b y * (b*) ' (b*)b
à l’ordre 1 en b
En identifiant les 2 expressions de y(b*+b), on obtient la relation entre (b), y(b), (b) et b. (b*) y*' (b*)b ' (b*)b
•
On remplace (b*) dans l’expression de J(y,b). b*
J ( y, b) J ( y*, b*) L y L z ' dx bL L z (' y*' ) (b*) a
1185
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Max CERF 2018
Techniques d’optimisation 5.2.4 Contrainte finale
Condition nécessaire d’ordre 1 • Condition nécessaire de minimum local J ( y*, b*) J ( y, b) b*
pour toute perturbation admissible , b
L y L z ' dx bL L z (' y*' ) (b*) 0 , , , b
((a) = 0)
(perturbations indépendantes)
a
L y L z ' 0 L L z (' y*' ) 0 en b *
→ équation d’Euler-Lagrange (EDO d’ordre 2)
→ condition de transversalité en x=b*
•
Les 2 constantes d’intégration de l’équation EL et la valeur de b sont déterminées par les 2 conditions y(a) = , y(b)=(b) et la condition de transversalité. → système de 3 équations à 3 inconnues.
•
La condition de transversalité est similaire pour une contrainte initiale en x=a variable. → système de 4 équations à 4 inconnues si le point initial et le point final sont variables.
1186
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Max CERF 2018
Techniques d’optimisation 5.2.4 Contrainte finale
b Condition de transversalité • On considère une fonctionnelle de la forme : J ( y, b) w ( x , y) 1 y' ( x ) 2 dx
a
•
Le point final x=b est contraint sur la courbe d’équation y = (x). b
min w ( x , y) 1 y' ( x ) 2 dx sous y(b) (b) y,b
L ( x , y, z ) w ( x , y ) 1 z 2
a
y y=(x)
y*
*
0
a
b*
x
1187
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Max CERF 2018
Techniques d’optimisation 5.2.4 Contrainte finale
Condition de transversalité • Condition nécessaire de minimum local L y L z ' 0 L L z (' y*' ) 0 en b *
avec L( x , y, z) w ( x , y) 1 z 2
•
Equation d’Euler-Lagrange :
w d wy' 2 1 y' y dx 1 y'2
•
Condition de transversalité :
w 1 y' 2
wy' 1 y'
y' (b).' (b) 1
2
' y' 0
y=(x)
en x=b
y*
B*
→ tangentes orthogonales
L’extrémale solution y = y*(x) est orthogonale à la courbe y = (x) en x=b. •
Applications Problème de chemin le plus court avec pondération w(x,y) fonction de la position Problème de chemin le plus rapide avec vitesse = 1/w(x,y) fonction de la position
1188
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Techniques d’optimisation
Max CERF 2018
5.2.4 Contrainte intégrale Formulation b
min J ( y) Lx , y, y'dx yY
a
b
sous C( y) Mx , y, y'dx 0
a
et y(a ) y( b)
La contrainte intégrale (ou isopérimétrique) C(y) = 0 restreint l’espace des fonctions Y. b Condition nécessaire d’ordre 1 • On définit le critère augmenté : K ( y) 0 J ( y) C( y) 0 L M ( x , y, y' )dx
a
La fonction N = 0L + M est le lagrangien augmenté. Les réels 0 et sont les multiplicateurs de Lagrange (0 est le multiplicateur anormal).
•
Condition nécessaire de minimum local en y*. Il existe (0 , ) (0 , 0) tels que N y N z ' 0
•
(équation EL appliquée à N = 0L + M)
Les valeurs de 0 , sont déterminées à un facteur multiplicatif près. - Cas anormal : 0 = 0 → Il existe une seule fonction y* vérifiant la contrainte intégrale. - Cas normal : 0 0 → La contrainte C(y*) = 0 détermine la valeur de /0 . On peut fixer 0 = 1.
1189
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Max CERF 2018
Techniques d’optimisation 5.2.4 Contrainte intégrale
Preuve (1) On suppose que y* est un minimum local de J sous la contrainte C=0. On considère des perturbations de la forme y = y* + 11 + 22 avec 1, 2 quelconques. La fonction F 1 , 2 J ( y ),C( y ) est de classe C1 de R2 dans R2. F 0 ,0 J ( y*) ,C( y*) 0
J F ( 0 ,0 ) 1 J 2
C 1 C 2
2
C F 0
1
y y*
J
Théorème des fonctions implicites Si F(0 , 0) est inversible, alors F est une bijection d’un voisinage de (0 , 0) dans un voisinage de (J(y*) , C(y*)). On peut trouver des valeurs (1, 2) non nulles telles que C(y) = 0 (admissible) et J(y) < J(y*), ce qui contredit l’hypothèse y* minimum. La matrice F(0 , 0) est donc singulière et ses colonnes sont linéairement dépendantes.
1190
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Max CERF 2018
Techniques d’optimisation 5.2.4 Contrainte intégrale
Preuve (2) On exprime la matrice F(0 , 0). F 1 , 2 J ( y ),C( y )
Pour une perturbation :
avec y = y* + 11 + 22
b
J ( y ) Lx , y , y' dx
a b
J F ( 0 ,0 ) 1 J 2 b
C 1 C 2
J L y Lz ' dx a
b
C C( y ) M x , y , y' dx M y M z ' dx a a
La matrice F(0 , 0) est singulière et ses colonnes sont linéairement dépendantes. Il existe (0 , ) (0 , 0) tels que La perturbation est quelconque
b
( L 0
y
Lz ' ) ( M y M z ' ) dx 0
a
0 ( L y Lz ' ) ( M y M z ' ) 0 N y N z ' 0 avec N 0 L M
1191
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Max CERF 2018
Techniques d’optimisation 5.2.4 Exemple 5 : Didon
Problème de Didon (reine de Carthage 814 av J.C.) • Trouver la surface maximale entourée par une courbe de longueur donnée. y B
y(x)
L
S ydx
→ surface
A
S
B
B
A 0
L
a
b
•
•
Formulation :
b
min J ( y) ydx sous C( y) y
→ longueur
A
x
b
•
1 y'2 dx
a
1 y' ( x ) 2 dx L 0 0
a
Lagrangien augmenté :
N ( x , y, y ' ) y 1 y ' 2
Equation EL :
N d N y dx y'
→ multiplicateur , 0=1
d y' dx 1 y'2
1
1192
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Max CERF 2018
Techniques d’optimisation 5.2.4 Exemple 5 : Didon
Solution • L’équation EL est une EDO d’ordre 2 → 2 constantes d’intégration x x0 y ' d y' ( x x 0 ) y ' 1 dx 1 y'2 2 ( x x 0 ) 2 1 y' 2
y
y y 0 2 ( x x 0 ) 2
B
A (x x 0 ) ( y y0 ) 2
2
2
x
•
La courbe entourant la surface maximale est un arc de cercle de centre (x0 , y0) , rayon .
•
Les problèmes « Maximiser la surface entourée par une courbe de longueur donnée » et « Minimiser la longueur de la courbe entourant une surface donnée » sont équivalents (même lagrangien augmenté). 2 max S( y) sous L( y) L 0 0 N( x , y, y' ) y L 1 y'
y
min L( y) sous S( y) S0 0 y
N ( x , y, y ' ) 1 y ' 2 S y
S
1 L
1193
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Max CERF 2018
Techniques d’optimisation 5.2.4 Exemple 5 : Didon
Coordonnées polaires • On peut également résoudre le problème de Didon en coordonnées polaires. → méthode transposable en 3 dimensions •
On se place en coordonnées polaires r ,
→ fonction r()
dL
Un élément de longueur dL de normale n à la position r génère :
dLr
- une longueur apparente dLr : dL r dL cos avec ( r , n )
- un angle au sommet d :
- un triangle de surface dS :
dL r r 1 dS hdL avec h r .n r cos 2
•
On exprime dL et dS en fonction de l’angle d :
n
r
d
(triangle de base dL et de sommet O → hauteur h)
h
O r d cos 1 dS r 2 d 2
dL
1194
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Max CERF 2018
Techniques d’optimisation 5.2.4 Exemple 5 : Didon
Solution max S(r, ) r ,
1 2 r r d sous L(r, ) d L 0 2 cos
1 2 r r 2 cos
•
Lagrangien augmenté :
N
•
Equation EL :
N ( N ' )' N r ( N r ' )'
→ fonctions inconnues r(,) , (,)
→ ne dépend pas de r ,
sin 0 cos 2 1 r 0 cos
r
( n // r )
0
r
La courbe entourant la surface maximale est un cercle de rayon :
C te cos
r0 .
2
•
•
Valeur du rayon r0 : (contrainte)
Sensibilité à la contrainte : (multiplicateur)
L
L r d L 0 avec r r0 r0 0 0 cos 2 0
L S r 2 2
2
S L r L 2
1195
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Max CERF 2018
Techniques d’optimisation 5.2.4 Exemple 6 : volume
Formulation • Trouver le volume maximal entouré par une surface d’aire donnée. → problème de Didon dans l’espace •
dS
On se place en coordonnées sphériques r , , → fonction r(,) Un élément de surface dS de normale n à la position r génère :
- une surface apparente dSr :
dSr dS cos avec ( r , n )
- un angle solide d :
d
- un cône de volume dV :
dSr r2 1 dV hdS avec h r .n r cos 3
(cône de base dS et de sommet O → hauteur h) •
dSr
On exprime dS et dV en fonction de l’angle solide d :
n
r
h
O r2 dS d cos 1 dV r 3d 3
1196
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Max CERF 2018
Techniques d’optimisation 5.2.4 Exemple 6 : volume
Formulation • Le volume total et la surface totale s’obtiennent en intégrant sur l’angle solide d. L’espace entier correspond à un angle solide = 4. 1 3 r d Volume : V 3
•
r2 d Surface : S cos
dS
dSr
Les fonctions inconnues sont r(,) , (,). 1 3 r2 max V(r, ) r d sous S(r, ) d S0 r , 3 cos
•
Remarque L’orientation de l’élément de surface dS nécessite 2 angles : - l’angle entre les vecteurs r et n - l’angle correspondant à une rotation autour de r
n
r
h
O
L’angle solide d ne dépend pas de . → La fonction (,) n’intervient pas dans la formulation du problème.
1197
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Max CERF 2018
Techniques d’optimisation 5.2.4 Exemple 6 : volume
Solution 1 3 r2 max V(r, ) r d sous S(r, ) d S0 r , 3 cos
•
Lagrangien augmenté :
1 3 r2 N r 3 cos
•
Equation EL :
N ( N ' )' N r ( N r ' )'
→ fonctions inconnues r(,) , (,)
→ ne dépend pas de r ,
sin 0 cos 2 r r 2 2 0 cos r 2
0
r
( n // r )
2 2 C te cos
La surface entourant le volume maximal est une sphère de rayon : r0 2 . 4
•
Valeur du rayon r0 : (contrainte)
S0 r2 S d S0 avec r r0 r0 0 cos 4 0
Sensibilité à la contrainte : (multiplicateur)
4 4 S 2 V 1 S 2 1 V r 3 r 3 3 4 S 2 4 2
3
•
1
1198
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Max CERF 2018
Techniques d’optimisation 5.2.4 Contrainte courante
Formulation b
min J ( y) Lx , y, y'dx yY
a
y (a ) sous Mx , y, y' 0 , x [a , b] et y(b)
La contrainte courante M(x,y,y) = 0 restreint l’espace des fonctions Y. Condition nécessaire d’ordre 1 b b • On définit le critère augmenté : K ( y) J ( y) ( x )M( x , y, y' )dx L ( x )M ( x , y, y' )dx
a
a
La fonction N = L + (x)M est le lagrangien augmenté. Le multiplicateur est une fonction de x ( associé à la contrainte M(x,y,y)=0 en tout x)
•
Condition nécessaire de minimum local en y*. Il existe une fonction (x) telle que N y N z ' 0
(équation EL appliquée à N = L + (x)M)
•
La valeur de (x) en chaque point est déterminée par la contrainte M(x,y,y) = 0.
•
Une contrainte de la forme M(x,y)=0 est une contrainte holonome. On peut dans ce cas exprimer y en fonction de x pour réduire la dimension du problème.
1199
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Max CERF 2018
Techniques d’optimisation 5.2.4 Exemple 7 : pendule
Pendule simple • On écrit les équations du mouvement en coordonnées cartésiennes (x , y). Energie potentielle :
U gy
Energie cinétique :
1 T ( x 2 y 2 ) 2
Contrainte (longueur d) :
M x 2 y2 d2 0
Lagrangien augmenté :
Equation EL :
•
(par unité de masse)
x
0 d
avec fonction de t N L M 1 N ( x 2 y 2 ) gy ( x 2 y 2 d 2 ) 2
g y
2x x Nx N x 2y g y Ny N y
x 2x Equations du mouvement : y 2y g x 2 y 2 d 2
avec 3 fonctions inconnues x(t) , y(t) , (t) → résolution peu évidente sous cette forme
1200
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.4 Contraintes
Max CERF 2018
Techniques d’optimisation 5.2.4 Exemple 7 : pendule
Pendule simple • On utilise la contrainte holonome pour réduire la dimension du problème. M x 2 y 2 d 2 0 x d sin y d cos
→ passage à une seule fonction inconnue en coordonnées polaires → la contrainte M = r d = 0 est directement prise en compte Energie potentielle :
U gd cos
Energie cinétique :
1 T d 2 2 2
Lagrangien : Equation EL : •
Equations du mouvement :
d g
1 L T U d 2 2 gd cos 2 L L gd sin d 2
x
0
y
g sin d
avec 1 fonction inconnue (t) → résolution plus simple sous cette forme
1201
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.5 Minimum fort
Techniques d’optimisation
Max CERF 2018
5.2.5 Minimum fort Conditions nécessaires de coin (Weierstrass-Erdmann) Condition nécessaire de minimum fort (Weierstrass)
Variables canoniques
1202
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.5 Minimum fort
Max CERF 2018
Techniques d’optimisation 5.2.5 Conditions de coin
Formulation b
min J ( y) Lx , y, y'dx yY
avec
a
y (a ) y( b)
•
L’espace Y est étendu aux fonctions C1 par morceaux sur [a,b] et à valeurs fixées en a et b.
•
Une fonction y* minimisant J sur l’espace Y doit vérifier des conditions supplémentaires aux points où la dérivée est discontinue. y
y, y * Y Illustration : - dérivée de y* discontinue en c* - dérivée de y discontinue en c
y
y*
J ( y*) min J ( y) J ( y*) J ( y) yY
0
a
c* c
b
x
1203
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.5 Minimum fort
Techniques d’optimisation
Max CERF 2018
5.2.5 Conditions de coin Coin ou arête • On considère des fonctions y de Y ayant une dérivée discontinue en un point c de [a,b]. Le point x=c est appelé coin ou arête de la fonction y (« corner »). •
On suppose que c est le seul coin de y sur [a,b]. y ( x ) si x [a , c] y( x ) 1 y 2 ( x ) si x [c, b]
avec
y2
y
y2* y1
y1*
0
y1 (c) y 2 (c) y(c) → fonction continue en c y1 ' (c) y' (c ) → dérivée discontinue en c y 2 ' (c) y ' (c )
a
c* c
b
x
1204
5 Optimisation fonctionnelle 5.2 Calcul des variations 5.2.5 Minimum fort
Techniques d’optimisation
Max CERF 2018
5.2.5 Conditions de coin Perturbation • La fonctionnelle J dépend de la fonction y* et de la position du point c*. b
c*
a
a
b
J ( y*, c*) Lx , y*, y*'dx Lx , y1*, y1*'dx Lx , y 2 *, y 2 *'dx J1 ( y1*, c*) J 2 ( y 2 *, c*)
•
c*
On applique des perturbations 1 et 2 de classe C1 aux fonctions y1* et y2* et c au point c*. y1 = y1* + 1 sur [a,c] avec 1(a) = 0 y2 = y2* + 2 sur [c,b] avec 2(b) = 0 c = c* + c
y2*+ 2
y
y2*
y1*+ 1
y1*
0
(si c>0, on prolonge y1* par une droite pour x > c*) (si c 0) telle que
PA A T P C T C PDD T P 0
équation de Riccati
A DD T P = matrice de Hurwitz
valeurs propres à parties réelles négatives
alors la perturbation pire est :
w* D T Px *
et le coût minimal vaut : J* x T0 Px 0
1402
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.3 Problème LQ
Max CERF 2018
Techniques d’optimisation 5.3.3 Contrôle robuste
Solution • On vérifie la solution énoncée en dérivant la fonction V(x) = xTPx .
x T Px x T Px (Ax Dw ) T Px x T P(Ax Dw ) x T (PA A T P) x 2x T PDw V
x T ( C T C PDD T P) x 2x T PDw
en utilisant
PA A T P C T C PDD T P
en utilisant z Cx z T z x T PDD T Px 2x T PDw 1 1 w T w z T z ( w D T Px ) T ( w D T Px ) en factorisant t1
•
En intégrant de t0 à t1 : V( x1 ) V( x 0 )
•
Pour t1 :
J
t0
t0
1 ( w
2
(
1 w
t1
2
2
z ) dt
z ) dt lim x1T Px1 t1 2
t0
2 1 w D T Px dt
2 1 T w D Px dt x T0 Px 0 t0 t1
Le minimum est obtenu pour : w D T Px x Ax Dw (A DD T P) x A + DDTP Hurwitz système exponentiellement stable
lim x ( t1 ) 0
t1
J x T0 Px 0
1403
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.3 Problème LQ
Max CERF 2018
Techniques d’optimisation 5.3.3 Contrôle robuste
Gain L2 • La solution s’interprète en fonction des normes L2 de la perturbation et de la sortie. La norme L2 est définie par :
w
2
J
t0
1 w
2
z Le gain L2 du système est :
2
w
k sup
def w 0
w
2
2
1 w
2 2
1 w
z
2 2
2
z dt 2 2
z
2 2
pour toute perturbation w
pour un état initial nul
2
z
z
z ) dt
J* x T0 Px 0
Le coût minimal vaut :
•
(
2
w dt
2
mesure l’amplification sortie / perturbation
2
Si la matrice P existe (solution de l’équation de Riccati), alors le gain L2 est borné : k •
1
Le gain L2 s’obtient comme la norme H de la matrice de transfert du système.
x Ax Dw z C(sI A) 1 Dw Gw k G z Cx def
sup G ( j)
1404
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.3 Problème LQ
Techniques d’optimisation
Max CERF 2018
5.3.3 Contrôle robuste Gain L2 • On établit l’équivalence entre l’existence de la matrice P et la borne sur le gain L2 du système.
1 T 1 T T PA A P C C PDD P0 Existence de P symétrique définie positive telle que 1 A DD T P Hurwitz •
Le gain L2 est borné par .
Une condition suffisante s’obtient en relaxant l’équation sur P en une inégalité de Riccati.
1 T 1 T PA A P C C PDD T P 0 Existence de P symétrique définie positive telle que 1 A DD T P Hurwitz
Le gain L2 est borné par .
T T T (démonstration similaire en utilisant l’inégalité : PA A P C C PDD P )
1405
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.3 Problème LQ
Techniques d’optimisation
Max CERF 2018
5.3.3 Contrôle robuste Stabilisation • L’objectif du contrôle u est de stabiliser la sortie z en présence de la perturbation w.
x Ax Bu Dw z Cx •
avec A , B , C , D matrices constantes
On cherche le contrôle sous la forme u = Kx (contrôle en retour d’état ou feedback).
x (A BK) x Dw z Cx La matrice du système en boucle fermée (feedback) est : A f A BK def
Il faut trouver une matrice de gain K telle que le gain L2 soit inférieur à une borne donnée et le système en boucle fermée soit stable. Une condition suffisante est de trouver une matrice P symétrique définie positive telle que
1 1 PA f A Tf P C T C PDD T P 0 Cette condition implique PA f A Tf P 0 qui est la condition de Lyapunov pour que Af soit stable (matrice de Hurwitz)
1406
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.3 Problème LQ
Techniques d’optimisation
Max CERF 2018
5.3.3 Contrôle robuste Stabilisation • On cherche une matrice de gain K telle que l’inégalité de Riccati ait une solution P.
1 1 Trouver K et P = PT > 0 vérifiant PA f A Tf P C T C PDD T P 0 avec A f A BK •
On introduit des matrices Q , R symétriques définies positives et un paramètre > 0.
1 1 L’inégalité est transformée en égalité : PA f A Tf P C T C PDD T P Q 0
•
1 1 T R B P 2
Le gain K est cherché sous la forme :
K
On se ramène à l’équation de Riccati :
1 1 1 PA A T P C T C PDD T P PBR 1BT P Q 0
Il faut trouver des paramètres de réglages Q , R , pour que l’équation admette une solution P. •
Dans le cas général, l’état complet n’est pas nécessairement observable pour le feedback. La commande est de la forme u = Ky avec y = Ex . méthode de résolution similaire basée sur des conditions suffisantes
1407
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Extrémales Extrémale normale / anormale, régulière / singulière Extrémale voisine
Commande feedback Variation seconde Problème auxiliaire Conditions suffisantes de minimum Arc singulier Equation de Hamilton-Jacobi-Bellman Commande affine
1408
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Extrémales Champ d’extrémales • Problème de contrôle :
tf
min J u
L(x, u, t)dt
avec x f ( x, u, t )
t0
•
L’hamiltonien est défini par :
H p0L pTf
Le vecteur adjoint p est associé au vecteur d’état x fonctions p(t) Le multiplicateur p0 est associé au coût intégral L multiplicateur dit anormal p0 0 (p0 , p) ne peut être identiquement nul (sauf en des points isolés). •
Une extrémale est un quadruplet (x, p0, p, u) vérifiant
x H p p H x min H u
•
système hamiltonien commande optimale (minimisation si p0 0 , maximisation si p0 0)
Le champ d’extrémales du problème est l’ensemble des trajectoires obtenues - en fixant les conditions initiales (état et adjoint) flot du système hamiltonien - en intégrant les équations des extrémales
1409
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Extrémales Conditions d’optimalité • La trajectoire optimale est une extrémale particulière associée à des conditions aux 2 bouts conditions initiales + conditions de transversalité conditions nécessaires d’ordre 1 données par le PMP
•
Une trajectoire vérifiant les conditions nécessaires du PMP n’est pas forcément optimale. Il faut vérifier des conditions d’optimalité d’ordre 2 conditions associées à l’examen des extrémales voisines
Types d’extrémales • Une extrémale est normale si p0 > 0 , anormale si p0 = 0 . Une extrémale anormale apparaît lorsque la solution est imposée par les contraintes. Pour une extrémale normale, on fixe généralement p0 = 1 . •
Une extrémale est régulière si Hu est explicite en u , singulière sinon. Une extrémale singulière nécessite l’examen des conditions d’ordre supérieur (PMP = ordre 1).
•
Une trajectoire optimale peut comporter des arcs réguliers et des arcs singuliers. Exemple : problème de Goddard
1410
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Exemple : extrémale anormale Formulation • Problème en dimension 1 tf
min J u,t f
t0
L( x, u, t ) dt
x ( t ) 0 avec x u et 0 x ( t f ) 0
La commande est bornée entre 0 et 1. On observe que la seule solution admissible est u = 0 (sinon x(tf) > 0) •
Hamiltonien : H p 0 L( x, u, t ) pu avec u 0
H p 0 L( x , u , t )
Le système est autonome et à temps final libre :
H=0
•
La seule valeur possible du multiplicateur p0 est : p0 = 0. Toutes les extrémales du problème sont anormales. La solution est complètement définie par les contraintes, le coût ne peut être minimisé.
•
Un problème peut admettre simultanément des extrémales anormales et normales. Exemple : oscillateur (pages suivantes)
1411
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Exemple 15 : oscillateur Formulation • On cherche à ramener un oscillateur harmonique au repos en temps minimal. tf
x x 2 min J 1dt avec 1 x 2 x1 u u,t f t
0
Etat initial fixé : x1(t0) , x2(t0) Etat final contraint : x1(tf)=0 , x2(tf)=0 Commande bornée : 1 u +1
•
Hamiltonien : H p 0 p1x 2 p 2 ( x1 u )
•
Commande :
•
Adjoint :
avec p0 0
min H u 1 si p 2 0 u u 1 si p 2 0 p 1 p 2 p p 1 2
p2 p 2 p 2 a cos(t ) période 2
Les commutations (changement de signe de p2) sont espacées d’une durée égale à . •
Trajectoire :
x 1 x 2 x x u x 2 x 2 x 2 b cos(t ) période 2 1 2
Chaque arc de trajectoire à u constant correspond à une demi-période (durée égale à ).
1412
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Exemple 15 : oscillateur
Portrait de phase • On peut représenter les arcs de trajectoire à u = 1 dans le plan de phase.
dx 2 x1 u x 1 x 2 ( x1 u )dx1 x 2 dx 2 0 ( x1 u ) 2 x 22 c 2 x x u dx1 x2 1 2 Les arcs de trajectoire sont des demi-cercles (période=) centrés en A(1 , 0) lorsque u = 1 et en A+(+1 , 0) lorsque u = +1 •
Le dernier arc doit arriver à l’origine demi-cercle C de centre A(1 , 0) et de rayon 1 ou demi-cercle C+ de centre A+(+1 , 0) et de rayon 1
•
On construit les extrémales à rebours en partant de O.
2 1,5
u = 1
La dernière commutation se produit sur C ou C+ - sur un point de C : passage de u = +1 à u = 1 - sur un point de C+ : passage de u = 1 à u = +1
C
L’arc précédent est un demi-cercle - de centre A+ si l’on part à rebours de C - de centre A si l’on part à rebours de C+
0,5
A -3
-2
1
O
0
-1
0
A+ 1
-0,5
-2
3
C+
-1 -1,5
2
u = +1
1413
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Exemple 15 : oscillateur
Portrait de phase • L’extrémité de l’avant-dernier arc est sur un demi-cercle symétrique de C+ par rapport à A ou symétrique de C par rapport à A+ Ensemble des avant-derniers arcs arrivant en C+ Commande u = 1
4
3
2
C A -4
-3
-2
1
O
0
-1
0 -1
A+ 1
2
3
4
C+
-2
-3
-4
Ensemble des avant-derniers arcs arrivant en C Commande u = +1
1414
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Exemple 15 : oscillateur
Courbe de commutation • Les arcs précédents sont des demi-cercles croissants de centre alternativement A et A+ . Les commutations se produisent sur des demi-cercles translatés de C et C+ suivant x1 définit la courbe de commutation dans le plan de phase 2 1,5
Courbe de commutation
Commande u = 1
1 0,5 0 -7
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
7
-0,5 -1
Commande u = +1
-1,5 -2
•
La commande est : u = 1 au dessus de la courbe de commutation u = +1 au dessous de la courbe de commutation
•
En faisant varier la position de la dernière commutation sur les demi-cercles C et C+ , on génère à rebours l’ensemble des extrémales possibles portrait de phase
1415
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Exemple 15 : oscillateur
Extrémales • Il passe une seule extrémale par chaque point du plan de phase (= conditions initiales données). Exemple : x1(t0)=1.77 , x2(t0) =3.36 4
3
2
1
0 -7
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
7
-1
-2
-3
-4
1416
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Exemple 15 : oscillateur Extrémale anormale • L’hamiltonien est constant (système autonome) : et nul (temps final libre) :
H(t ) = Cte H(tf) = 0
H p 0 p1x 2 p 2 ( x1 u ) 0 •
x ( t ) 0 A l’instant final : x1 ( tf ) 0 H p 0 p 2 u 0 avec u(tf) = 1 2 f
•
Si p2(tf) 0, le multiplicateur p0 est non nul : l’extrémale correspondante est normale. Si p2(tf) = 0, le multiplicateur p0 est nul : l’extrémale correspondante est anormale.
•
Les commutations sont espacées d’une durée et se produisent lorsque p2 s’annule. Pour une extrémale anormale : - le dernier demi-cercle C ou C+ est entièrement parcouru. - les commutations se produisent sur l’axe x1. Le problème admet une infinité d’extrémales anormales. Ces extrémales sont celles passant par les points de coordonnées x1=2k , x2=0, avec k entier.
1417
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Exemple 16 : Goddard Formulation • On cherche à maximiser l’altitude atteinte par une fusée tirée verticalement du sol. Les forces agissant sur la fusée sont le poids W, la poussée T, la trainée D.
•
Vecteur d’état :
h altitude v vitesse m masse
h v v (T D W ) / m m T / ve
•
Poids :
W = mg
avec g = accélération de gravité (constante)
•
Poussée :
T = qve
avec ve = vitesse d’éjection (constante) q = débit massique
•
Trainée :
D
•
Densité :
1 2 v SC D 2
0e
h H
T
W
D
avec S = surface de référence CD = coefficient de trainée (constant) = densité atmosphérique avec 0 = densité au sol H = facteur d’échelle (modèle exponentiel)
1418
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Exemple 16 : Goddard Formulation • La commande est le niveau de poussée compris entre 0 et Tmax. La masse me d’ergols est fixée. Lorsque tous les ergols sont consommés, la poussée s’annule. •
Le problème est sous forme de Mayer (coût final).
min J h ( t f ) T,t f
•
Hamiltonien :
h v avec v (T D W ) / m m T / ve
H ph v pv
h ( t 0 ) 0 et v( t 0 ) 0 m( t 0 ) m 0 , m( t f ) m 0 m e
TDW T D pm ph v pv g T m ve m mv e
avec v e p v mp m
fonction de commutation
et H = Cte = 0 (système autonome et à temps final libre) •
Commande :
min H
0 T Tmax
si 0 T 0 T Tmax si 0 T ? si 0
arc singulier
1419
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Exemple 16 : Goddard
Arc singulier • On cherche les conditions (h , v , m) pour lesquelles un arc singulier peut exister. Un arc singulier est possible si la fonction de commutation s’annule sur un intervalle de temps. Les dérivées successives de sont alors toutes nulles sur I.
•
0 sur I [ t1 , t 2 ]
v e p v mp m 0
0 sur I [ t , t ] 1 2
p m mp m 0 v e p v m
Equations adjointes :
T TD H ph v pv g pm ve m
pvDh p h m p D p v p h v v m p p T D v m m2
avec
avec D fonction de h et v et g constant
h 1 2 1 D v SC D 0 e H v 2SC D 2 2 D 1 2 D v SC D D h h 2 h H D D vSC 2D D v v v
1420
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Exemple 16 : Goddard
Arc singulier . • On remplace les dérivées de m, pv et pm dans l’expression de
pvDv T TD v p m p m p v p p p 0 e v m m e h m v m v m e La relation v e p v mp m 0 permet de remplacer pm en fonction de pv.
p v v D D v p 0 e v e h m •
D p v D v mp h 0 ve
sur I [ t1 , t 2 ]
On obtient un système de 3 équations devant être vérifiées pour qu’un arc singulier existe.
H 0 0 0
TDW T pm 0 m ve p v ve pm m 0 D p v D v p h m 0 ve
ph v pv
système linéaire en (ph , pv , pm)
1421
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Exemple 16 : Goddard
Arc singulier • Le vecteur adjoint (ph , pv , pm) ne peut être identiquement nul (condition nécessaire du PMP).
TDW T pm 0 p h v p v m v e p v ve pmm 0 D p h m p v D v 0 ve •
avec (p h , p v , p m ) (0 , 0 , 0)
Pour que le système linéaire en (ph , pv , pm) admette une solution non nulle, son déterminant doit être nul (sinon la solution nulle est unique).
TDW v m det 0 ve D Dv m v e
D1 v v e 0
T ve m
vD v W 0
avec D v
2D v
1422
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Exemple 16 : Goddard Surface singulière • La surface singulière a pour équation
v W D1 0 conditions (h , v , m) pour lesquelles un arc singulier peut exister ve •
Au début de la trajectoire : W décroît en partant m0g v, D croissent en partant de 0 A la fin de la trajectoire :
>0
W décroît jusqu’à mfg >0 v, D décroissent jusqu’à 0 (apogée)
•
La surface singulière peut être atteinte ou non en cours de vol, puis peut être quittée ou non avant l’épuisement des ergols. Si D = 0, il ne peut pas exister d’arc singulier car = W > 0
•
Les structures de solution possibles sont :
Tmax 0 Tmax Tsing 0 Tmax Tsing Tmax 0
1423
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Exemple 16 : Goddard Solution singulière • Pour trouver l’expression de la poussée le long de l’arc singulier, il faut continuer à dériver la fonction de commutation jusqu’à faire apparaître explicitement T.
0
D p v D v mp h 0 ve p v G mp h 0
•
En dérivant une seconde fois :
On développe en utilisant :
et en remplaçant ph à partir de :
non explicite en T
avec G D v def
D ve
G fonction de h et v
m G h G v p h mp h 0 avec G p v G p v G h v h v v (T D W ) / m m T / ve
pvDh p h m et p D p v p h v v m
p v G mp h 0
1424
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Exemple 16 : Goddard
Solution singulière • On obtient après calculs l’expression de la poussée le long de l’arc singulier.
•
D G D Tsin g G v G (D W )G v mvG h mD h avec G D v ve ve ve D 2D 2D 2D , D vh , D vv 2 En remplaçant G et avec les dérivées D h , D v H v vH v
Tsin g 1 4 2 •
2
2 mv (1 ) D(1 2) 2D 2W H
en notant
def
ve v
La trajectoire débute avec un arc à Tmax. Si la fonction de commutation s’annule, la poussée devient variable Tsing(h , v , m).
v et la trajectoire reste sur la surface singulière W D1 0 ve La poussée peut revenir à Tmax si la fonction de commutation redevient négative et finit par s’annuler lorsque la masse d’ergols est consommée.
1425
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Exemple 16 : Goddard
Application numérique •
•
Données :
m0
me
Tmax
ve
SCD
0
H
g
100 kg
90 kg
2000 N
2000 m/s
0.1 m2
1.2 kg/m3
5000 m
10 m/s2
Tmax
t0=0 s
Solution :
Tsing
t1=16.1 s
m0=100 kg
t2=116.3 s
m1=83.9 kg
Tmax
m2=18.7 kg
tc=125.0 s
T=0
mc=10 kg
tf=350.4 s mf=10 kg
Altitude maximale : rf=300.6 km
2250
Poussée
Poussée (N)
2000 1750 1500 1250 1000 750
500 250 Temps (s)
0 0
10
20
30
40
50
60
70
80
90
100
110
120
130
1426
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Exemple 16 : Goddard
Application numérique • Forme de la solution :
•
Tmax Tsing Tmax 0 Tmax Tsing 0 Tmax 0
si me > 81.3 kg si 16.1 kg < me < 81.3 kg si me < 16.1 kg
Comparaison à la solution à poussée maximale constante :
Masse (kg) 110 100 90 80 70 60 50 40 30 20 10 0
Masse
Apogée (km) 350
arc singulier
Poussée
Optimale
Maximale
Arrêt
125.0 s
90.0 s
Apogée
300.6 km
236.8 km
Apogée
300 250 200 150 100 50 Temps (s)
0
10 20 30 40 50 60 70 80 90 100 110 120 130
Temps (s)
0 0
10 20 30 40 50 60 70 80 90 100 110 120 130
1427
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Extrémale voisine
Extrémale • On considère un problème de contrôle non linéaire à temps final libre et contraintes finales. tf
min J u,t f
•
L(x, u, t)dt x(t
f
), t f
avec x f ( x, u, t ) , x ( t 0 ) fixé
t0
x ( t f ), t f 0 → q contraintes
Une extrémale est un triplet (x, p, u) vérifiant les conditions nécessaires d’optimalité.
H L pTf
et H( t f ) t [ x ( t f ), t f , ]
x H p
et x ( t f ), t f 0
p H x
et p( t f ) x [ x ( t f ), t f , ]
Hu 0
avec [ x ( t f ), t f , ] [ x ( t f ), t f ] T [ x ( t f ), t f ] def
(sans bornes sur la commande)
•
L’extrémale (x, p, u) est associée aux conditions initiales x(t0) et finales [x(tf),tf]. Les extrémales voisines (x+x , p+p , u+u) sont associées à des perturbations x(t0) et .
•
Les écarts (x , p , u) suivent les équations variationnelles (= équations des écarts) obtenues en développant à l’ordre 1 les conditions d’optimalité.
1428
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Extrémale voisine
Extrémale tf
min J u,t f
L(x, u, t)dt x(t
f
), t f
avec x f ( x, u, t ) , x ( t 0 ) fixé
t0
x ( t f ), t f 0 → q contraintes
x
xf
=
xf
x df =0
x f x0 x0
tf t0
tf
t
1429
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Extrémale voisine Notation des dérivées • Fonction vectorielle : Rn → Rq
1 ( x1 ,..., x n ) ( x1 ,..., x n ) ( x ,..., x ) q 1 n •
Matrice gradient
x
•
1 x x
→ q fonctions de n variables
→ vecteur à q lignes
1 q x1 x 1 x n
q x1 q x n
→ matrice à q colonnes (= gradients des q fonctions j)
Dérivée totale par rapport au temps
1 d T x x x t dt x t q T
→ vecteur à q lignes
1430
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Extrémale voisine Equations variationnelles • On développe les équations en Hx , Hp , Hu à l’ordre 1 en (x , p , u). Les dérivées partielles d’ordre 2 de l’hamiltonien sont T H px f x H xp H Tpx H xx L xx f xx p T H( x, u, p, t ) L( x, u, t ) p T f ( x, u, t ) H uu L uu f uu p , H pu f u , H up H Tpu T H xu L xu f xu H 0 H H T p xu pp ux
•
•
Equations suivies par (x , p , u).
x H p
x H Tpx x H Tpu u H Tpp p
x f xT x f uT u
p H x
p H Txx x H Txu u H Txp p
p H xx x H ux u f x p
0 Hu
0 H Tux x H Tuu u H Tup p
0 H xu x H uu u f u p
La dernière équation permet d’exprimer u en fonction de x et p.
u
H uu1 (H xu x f u p)
x (f xT f uT H uu1 H xu )x f uT H uu1 f u p p (H ux H uu1 H xu H xx )x (H ux H uu1 f u f x )p
1431
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Extrémale voisine
Conditions finales • Les conditions finales portent sur l’adjoint final, le temps final et les multiplicateurs.
•
x ( t f ), t f 0 avec [ x ( t f ), t f , ] [ x ( t f ), t f ] T [ x ( t f ), t f ] x [ x ( t f ), t f , ] p( t f ) 0 p( t f ) et H( x, u, p, t ) L( x, u, t ) p T f ( x, u, t ) t [ x ( t f ), t f , ] H( t f ) 0 t f T x p T f ( H L) La dérivée totale de est : t
x
t
t
L 0 La troisième condition s’écrit : t H •
Les conditions finales en fonction de x(tf) , tf et se mettent sous la forme
0 x p 0 •
avec T L avec t H
Les perturbations x(t0) et modifient : l’état final → x(tf) l’adjoint final → p(tf) le temps final → tf les multiplicateurs → On développe les conditions finales à l’ordre 1 en (x(tf), p(tf), tf , ).
1432
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Extrémale voisine
Conditions finales • Condition sur :
x ( t f ), t f 0 x ( t f ) x ( t f ), t f t f
A l’ordre 1 :
fixé
Tx x ( t f ) Tx x ( t f )t f Tt t f •
Condition sur p :
x [ x ( t f ), t f , ] p( t f )
A l’ordre 1 :
x [ x ( t f ) x ( t f ), t f t f , ]
avec [ x ( t f ), t f , ] [ x ( t f ), t f ] T [ x ( t f ), t f ]
p( t f ) p( t f ) p ( t f )t f
xx x ( t f ) xx x ( t f )t f xt t f x p( t f ) p( t f ) p ( t f )t f •
Condition sur :
L 0 t H
A l’ordre 1 :
[ x ( t f ) x ( t f ), u ( t f ) u ( t f ), t f t f , ] 0
fonction de x , u , tf ,
xT x ( t f ) xT x ( t f )t f tT t f T 0 car u H u 0
1433
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Extrémale voisine Conditions finales • On regroupe les termes en x(tf), tf , .
Tx x t f xx x ( x p )t f x p t T xT x 0 f •
p peut s’exprimer en utilisant p( t ) [ x ( t ), t , ] Le terme x f x f f
x xt xx f xt xx x T T p H x L x f x p L x f x x •
Tx x Tt xt avec les dérivées totales x xx x T x T x t
p ( L f ) ( H) x t x t x x x
On obtient les conditions finales à l’ordre 1 sous forme matricielle.
xx T x T x
x 0 T
x x ( t f ) p( t f ) t 0 f
→ système linéaire vérifié par x(tf), tf ,
Si le temps final est fixé (tf = 0), il ne reste que les équations en p(tf) et .
1434
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Extrémale voisine Problème aux deux bouts • L’extrémale voisine associée aux perturbations x(t0) et vérifie
x (f xT f uT H uu1 H xu )x f uT H uu1 f u p - le système différentiel : p (H ux H uu1 H xu H xx )x (H ux H uu1 f u f x )p
- les conditions finales :
xx T x T x
x 0 T
x x ( t f ) p( t f ) T avec t H L t f 0
Il s’agit d’un problème linéaire aux deux bouts en x et p.
•
Ces équations sont aussi les conditions d’optimalité du problème LQ obtenu en développant - le coût augmenté à l’ordre 2 - les équations d’état et les contraintes à l’ordre 1 → appelé « problème de minimum auxiliaire »
•
Le problème aux deux bouts peut être résolu matriciellement par la méthode de transport. On obtient une expression de la commande en retour d’état.
1435
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Extrémale voisine Méthode de transport • Le problème aux deux bouts est de la forme
A f xT f uT H uu1 H xu avec B f uT H uu1 f u C H H H 1 H xx ux uu xu
x Ax Bp T p Cx A p p( t f ) xx T x 0 T x
x 0 T
x x ( t f ) T avec L t H t f
Les perturbations x(t0) et sont fixées, on cherche p(t0), tf et . •
On cherche une solution linéaire sous la même forme que les conditions finales. → « transport » des conditions finales vers la date initiale T p( t ) S M M N
T x ( t ) T t f
→ forme symétrique semblable aux conditions finales
1436
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Extrémale voisine Méthode de transport • On dérive par rapport au temps ( , , tf et sont des constantes) T p( t ) S M M N
•
T T x ( t ) p S M N T 0 M 0 t f
T x S M T T M N t f
T x T 0 0
x Ax Bp En remplaçant x et p par et p par p( t ) Sx ( t ) M T T t f T p Cx A p on obtient le système différentiel vérifié par les matrices S , M , N , , , . S SA A T S SBS C M(BS A) M
avec S( t f ) xx ( t f )
MBM T N
avec N( t f ) 0
(BT S A) BT M
avec ( t f ) xT ( t f )
BT T
avec M( t f ) Tx ( t f )
avec ( t f ) T ( t f ) (t ) avec ( t ) f
f
→ à intégrer à rebours à partir des conditions finales à tf
1437
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Extrémale voisine Méthode de transport • L’intégration à rebours donne les matrices S , M , N , , , à la date initiale t0. On obtient p(t0), tf et en résolvant le système linéaire à la date initiale.
•
T T p( t 0 ) S M x ( t 0 ) T M N ( t ) 0 t f La solution en fonction de x(t0) , est
N
1
Mx(t 0 )
T M M
x ( t 0 ) t f 1
avec 1
p( t 0 ) ( S M N M )x ( t 0 ) M N T
•
avec x(t0) , fixés et = 0
T
T N N T S S
On obtient l’extrémale voisine en intégrant x et p à partir de x(t0) et p(t0).
1438
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Extrémale voisine
Méthode de transport réduite • On peut éliminer l’inconnue tf à partir des conditions finales.
p( t f ) xx T x 0 T x •
x 0 T
x x ( t f ) t f
1 T x ( t f ) S ( t f ) M ( t f ) T x ( t f ) x x x 1 T def M ( t f ) N( t f )
La méthode de transport s’applique sous la forme réduite.
p( t ) •
Les conditions finales se réduisent à
1 T p( t f ) xx x x T 1 T x x •
1 T x ( t ) T t f x f
T S S A A S SBS C S M T x ( t ) avec M M (B S A) M N N M BM T
Si le temps final est fixé : = = = 0 et S S , M M , N N
à intégrer à rebours à partir des conditions à tf
1439
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Résumé 7
Calcul d’une extrémale voisine tf
min J u,t f
L(x, u, t)dt x(t
t0
f
), t f
avec x f ( x, u, t ) , x ( t 0 ) fixé x ( t f ), t f 0 → q contraintes
A f xT f uT H uu1 H xu avec B f uT H uu1 f u C H xx H ux H uu1 H xu
Solution nominale Stockage des matrices
x 0 ( t ), u 0 ( t ), p 0 ( t ), t 0f A( t ), B( t ), C( t )
Intégration à rebours
S ( t ), M ( t ), N( t ), ( t ), ( t ), ( t )
Adjoint, multiplicateurs
Intégration directe
Solution état et adjoint
p 0 ( S0 M 0T N 01M 0 )x 0 M 0T N 01 N 01 ( M 0 x 0 )
x Ax Bp T p Cx A p
Perturbations x(t0) ,
ou p( t ) S ( t )x ( t ) M ( t ) T
x ( t 0 ) x ( t ) , t [ t 0 , t f t f ] avec t f p( t )
1440
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Extrémale voisine Commande feedback • Les matrices S ( t ), M ( t ), N( t ), ( t ), ( t ), ( t ) sont calculées le long de la trajectoire nominale. Elles permettent d’exprimer la correction de commande et de temps final en retour d’état.
u H uu1 (H xu x f u p)
avec p ( S M T N 1M )x M T N 1 N 1 ( Mx )
u H uu1 (H xu f u ( S M T N 1M ))x f u M T N 1 t f 1 ( N 1M )x N 1 u K x ( t )x ( t ) K ( t ) t f k x ( t ) x ( t ) k ( t ) •
x = écart observé avec la trajectoire nominale
avec
= écart demandé sur les contraintes
Les corrections u et tf sont exprimées avec des gains sur les écarts x et . Les gains sont calculés sur la trajectoire nominale et stockés en fonction du temps (ou pour plus de robustesse en fonction du temps restant tf t = « time to go »). → méthode de guidage implicite
1441
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Extrémale voisine
Commande feedback • Les corrections u et tf dépendent de : - l’écart observé x(t) à la trajectoire nominale - l’écart demandé sur les contraintes finales • L’état réel x(t) est estimé en utilisant des mesures de senseurs et des modèles dynamiques L’écart est actualisé si la cible est estimée par des mesures (=0 si la cible est fixée). t0
t
stocké en mémoire
mesures
xnom(t)
unom(t)
x(t)
u(t)
xréel(t) kx(t)
tf nom
trajectoire nominale
Kx(t)
nom=0
tf
mesures
k(t)
K(t)
u(t) correction
tf
1442
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Exemple 17 : mise en orbite Formulation • On considère une trajectoire à accélération constante dans le plan vertical (x , z) en terre plate.
x r z Vitesse : v v x vz Gravité : g 0 g Accélération : a a cos , a = Cte a sin Commande : u cos sin Equation d’état : r v v g au Position :
•
On cherche la trajectoire atteignant à tf fixé :
z zc
vx(tf)
a
g x
z ( t f ) z c v ( t ) 0 z f
→ altitude zc → vitesse verticale nulle
tf
en maximisant la vitesse horizontale finale :
v x ( t f ) a cos dt t0
1443
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Exemple 17 : mise en orbite
Conditions d’optimalité • Problème en temps fixé tf
min J a cos dt
t0
avec z v v a sin g
z( t ) z c et f v( t f ) 0
(notation vz = v)
•
Hamiltonien :
H a cos p z v p v (a sin g)
•
Adjoint :
p z H z 0 p H p v z v
•
Commande :
min H tan p v
•
Dérivées f :
f 0 0 , f 0 , a cos f v 1 0 x u a sin g
•
Dérivées H :
a H xx 0 0 , H ux 0 , H uu a cos p v a sin 0 0 0 cos
•
Dérivées :
z( t ) z c f x 1 0 0 1 v( t f )
pz p v ( t )
( et constantes)
1444
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Exemple 17 : mise en orbite Trajectoire • Le problème de vitesse horizontale maximale à temps fixé se résout comme le problème de temps minimum à vitesse fixée par passage en variable : tan tan 0 ct •
Vitesse :
vx
a 1 ln tan 0 c cos 0
vz
a 1 1 c cos 0 cos
a 1 ln tan c cos
a 1 1 1 1 tan ln tan tan ln tan 0 2 cos cos cos cos c 0 0 a tan 0 tan 2 tan 1 1 z 2 ln tan ln tan 0 cos cos 0 2c cos 0 cos cos 0 x
•
Position :
•
Solution 0 :
1 1 sin 0 2 tan 2 0
Valeur de c :
ct f 2 tan 0
1 1 4z c ln tan ln tan 0 0 cos at 2 cos 0 0 f
1445
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Exemple 17 : mise en orbite
Méthode de transport • Matrices A , B , C
A f xT f uT H uu1 H xu T 1 A 0 1 , B a cos 3 0 0 , C 0 0 B f u H uu f u 0 0 0 1 0 0 C H xx H ux H uu1 H xu •
Matrices S , M , N
S SA A T S SBS C S( t ) ( t ) xx f f
avec C 0 0 0 0
0, M M11 ( t f ) 1 11 0, M(BS A) M 21 ( t f ) 0 M M 21 T M ( t f ) x ( t f ) M12 M11 , M12 ( t f ) 0 M 22 M 21 , M 22 ( t f ) 1 MBM T N N( t ) 0 f
N 11 N 21
→
Solution
S 0 0 0 0
M11 1 M 0 21 M12 t f t M 22 1
2 N ( t t ) 3 12 f a cos N 22 tf t
1 tf t M 0 1
t f t 1
1446
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Exemple 17 : mise en orbite Méthode de transport • On passe en variable pour intégrer les composantes de la matrice N.
tan p v t dt •
Terme N11 : Solution :
•
Terme N12 : Solution :
•
Terme N22 :
Solution :
d cos 2
et t f t
tan f tan
dN11 a dN11 3 (tan f tan ) 2 cos a ( t f t ) 2 cos 3 d dt a sin sin f 1 1 tan f N11 3 ln tan ln 2 cos cos cos f f dN12 dN12 a a ( t f t ) cos 3 2 (tan f tan ) cos dt d a cos( f ) 1 N12 2 , N12 ( t f ) 0 cos f
dN 22 a cos 3 dt a N 22 (sin sin f )
, N11 ( t f ) 0
dN 22 a cos d
, N 22 ( t f ) 0
1447
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Exemple 17 : mise en orbite
Matrices de gains • Commande feedback : •
u H uu1 (H xu f u (S M T N 1M))x ( t ) f u M T N 1
a f u 0 , a cos , H ux 0 , H uu 0 cos 1 N 22 N12 S 0 0 , M 1 t f t , N 1 N11 1 0 0 0 det N N12
Matrices utiles :
u H uu1 f u M T N 1 (Mx ) •
Ecart observé sur l’état : x z v
2 det N N11 N 22 N12
Ecart demandé sur les contraintes : z f v f
Mx z ( t f t )v z f → écarts prédits sur z(tf) et v(tf) v f v
avec
H uu1 f u M T N 1
cos 2 N 22 N12 0 11t t 10 N N11 12 f det N cos 2 N 22 (t f t ) N12 , N11 N12 (t f t ) det N
1448
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Exemple 17 : mise en orbite
Matrices de gains • On obtient la correction : avec les gains :
et les fonctions :
cos 2 Kz ( N 22 ( t f t ) N12 ) det N cos 2 Kv ( N11 N12 ( t f t )) det N
→ fonctions de nom(t) et tf t
a sin sin f 1 1 tan f ln tan ln cos cos f 3 cos 2 f a cos( f ) 1 2 cos f
N11
N12
N 22 •
K z z ( t f t )v z f K v v v f
a (sin sin f )
avec
tan f tan 0 tf
Si les contraintes finales sont fixées (zf=0 et vf=0), la correction se met sous la forme
K1 (v K 2 z)
K K z / K1 avec 2 K 1 K v K z ( t f t )
1449
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Exemple 17 : mise en orbite
Application numérique • Altitude finale : zc = 200 km → Vitesse finale : vf = 7758 m/s Date finale : tf = 300 s 0 = 28,08 deg Accélération : a = 3 g (g = 9 m/s² ) = 0,0035
•
Gains K1 et K2 à conditions finales fixées (zf=0 et vf=0) : K1 (v K 2 z) K1 , K2 < 0 → tracé de log(K)
200
Gains
log (-gain)
Trajectoire
Altitude (km)
256 128
Gain K1
64
150
Gain K2
32 16
100
8 4
50
2
Distance (km)
0 0
200
400
600
800
1000
1200
Temps (s)
1
0
50
100
150
200
250
300
1450
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Extrémale voisine
Méthode de guidage • Un guidage explicite consiste à calculer l’extrémale vraie à partir de l’état courant x(t). Un guidage implicite consiste à calculer l’extrémale voisine à partir de l’écart x(t). → approximation de la solution optimale
•
Comparaison Guidage explicite
•
Guidage implicite
Problème résolu
Problème complet non linéaire
Problème auxiliaire LQ
Extrémale
Vraie à partir de x(t)+x
Voisine (linéarisée autour de xnom)
Robustesse
Variable selon le problème
Domaine linéaire autour du nominal
Besoin calcul
Elevé (itérations sur u)
Réduit (correction en u)
Besoin mémoire
Réduit
Elevé (matrices de gains)
On peut aussi appliquer un guidage explicite en réduisant le problème non linéaire (commande simplifiée, fonction coût ou contraintes relaxées) → guidage pseudo-explicite
1451
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Variation seconde Coût augmenté • On considère un problème de contrôle non linéaire à temps final libre et contraintes finales. tf
min J u,t f
•
L(x, u, t)dt x(t
f
), t f
avec x f ( x, u, t ) , x ( t 0 ) fixé
x ( t f ), t f 0 → q contraintes
t0
Le coût augmenté Ja est formé en ajoutant au coût - les contraintes dynamiques avec un vecteur adjoint p(t) - les contraintes finales avec des multiplicateurs tf
tf
J a [L p (f x )]dt t0
T
T
(H p
t0
T
x )dt
H L p T f avec T
•
Les conditions de minimum s’obtiennent à partir des variations première et seconde de Ja. La variation première donne les conditions vérifiées par les extrémales. La variation seconde donne les conditions vérifiées par les extrémales voisines.
•
On calcule les variations première et seconde du coût augmenté pour des variations de - x(t) , u(t) , p(t) → sur la trajectoire de t0 à tf - x(t0) , x(tf) , tf , → sur les conditions initiales et finales (→ contraintes =0)
1452
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Variation seconde
Variation première de Ja tf
Ja
(H p
T
H L p T f avec T
x )dt
t0
•
Variations à appliquer : x(t) , u(t) , p(t) , x(t0) , x(tf) , tf ,
→ contraintes =0
tf
J a (H Tx x H Tu u f T p p T x x T p)dt (H p T x ) f Tx (x f x f t f ) t t f T t0
Lf tf
•
Intégration par parties :
t0
tf
p T x dt p T x
d T x x t dt
p x dt tf t0
tf
T
t0
L) t T p T x J a [(H x p ) T x H Tu u (f x ) T p] dt ( x p) Tf x f ( f f 0 0 t0
L On définit : def
1453
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Variation seconde Variation première de Ja tf
J a [(H x p ) T x H Tu u (f x ) T p] dt ( x p) Tf x f f t f T p T0 x 0 t0
•
La stationnarité de Ja donne des conditions nécessaires d’ordre 1 pour un minimum.
J a 0
•
H L p T f f 0 x f p H x , f 0 avec T H u 0 p f x L H à t car p t f f x → conditions vérifiées par les extrémales pour x0=0 , =0
Le signe de la variation seconde donne des conditions d’ordre 2.
2Ja 0
pour toute variation admissible
Pour calculer la variation seconde de Ja , on applique sur Ja des variations de - x(t) , u(t) , p(t) → sur la trajectoire de t0 à tf - x(t0) , x(tf) , p(t0) , p(tf) , tf , , → sur les conditions initiales et finales
1454
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Variation seconde Variation seconde de Ja tf
J a [(H x p ) T x H Tu u (f x ) T p] dt ( x p) Tf x f f t f T p T0 x 0 t0
•
Variations à appliquer : x(t) , u(t) , p(t) , x(t0) , x(tf) , p(tf) , tf , , tf
2Ja
[x T (H xx x H ux u H px p p ) u T (H xu x H uu u H pu p)
t0
p T (f xT x f uT u x )] dt
x Tf ( xx (x x t ) xt t x p p t ) f t f (xT (x x t ) t t uT u T ) f T ( Tx x t ) f T x T0 p 0 tf
•
Intégration par parties :
t0
x T p dt x T p
x tf t0
tf
T
p dt
t0
1455
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Variation seconde Variation seconde de Ja , u H u 0 • En utilisant les relations : H p f , ,
T x x t T x x t Tx f t ) T f T f Tf ( x xx x x tx x x x x d x T f avec x xx tx dt
et les dérivées totales :
la variation seconde devient tf
2Ja
[x T H xx x x T H ux u u T H xu x u T H uu u 2p T (f xT x f uT u x )] dt
t0
t T f t p t ) t ( T x t ) 2T ( T x t ) f x Tf ( xx x x x x f f x f x avec
L → Il reste :
pf x x t f
p H x L x p T f x
1456
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Variation seconde
Variation seconde de Ja • On obtient après simplification tf
2Ja
[x T H xx x x T H ux u u T H xu x u T H uu u 2p T (f xT x f uT u x )] dt
t0
t ) 2T ( T x t ) x Tf ( xx x x t ) f t f (xT x f x f
x f T x f uT u x f ( x, u, t ) avec T x ( x f , t f ) x x f t f tf
•
Sous forme matricielle :
à l’ordre 1
T
0 T
H H ux x J a x xx dt x u H xu H uu u t f 2
t0
0
xx x x T t x f
x f xT x f uT u avec les contraintes : T x x f t f •
Cette formulation correspond au problème de « minimum auxiliaire ». Elle permet : - de retrouver les équations des extrémales voisines - d’exprimer des conditions suffisantes de minimum
1457
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Problème auxiliaire
Définition • Le problème de minimum auxiliaire (« accessory minimum problem ») est le problème LQ obtenu en développant le coût à l’ordre 2, la dynamique et les contraintes à l’ordre 1. tf
2 J a 1 x T H xx H ux x 1 x T xx x x x f xT x f uT u min dt T t sous u ,t f f 2 2 u H xu H uu u 2 t f x Tx x f t f t0
Le temps final est fixé (tf est un paramètre). Les perturbations x(t0) et sont données, On résout ce problème LQ en lui appliquant les conditions nécessaires d’optimalité. •
Hamiltonien noté Hq :
1 x T H xx H ux x T T Hq p q (f x x f uT u ) 2 u H xu H uu u
•
Adjoint noté pq :
p q
•
Commande : min H q H uu u H xu x f u p q 0 u H uu1 (H xu x f u p q )
•
Transversalité :
H q x
H xx x H ux u f x p q
u
p q ( t f ) xx x f x t f x q tf
•
→ associé à x
Paramètre tf :
t q xT x f f
H q
t
t0
f
dt 0
→ multiplicateurs q
avec
H q t f
0
1458
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Problème auxiliaire Solution • En notant le vecteur adjoint p (au lieu de pq) et les multiplicateurs (au lieu de q) les conditions d’optimalité du problème auxiliaire sont
x f xT x f uT u p H xx x H ux u f x p u H uu1 (H xu x f u p)
Tx x f t f avec p( t f ) xx x f x t f x t 0 xT x f f
xx → sous forme matricielle : Tx T x •
x 0 T
x x ( t f ) p( t f ) t 0 f
On retrouve les équations des extrémales voisines (obtenues précédemment de façon directe par perturbation des conditions d’ordre 1). Les extrémales voisines sont les extrémales du problème de minimum auxiliaire.
→ justifie l’utilisation d’une fonction coût en écart quadratique pour du guidage (intérêt du coût quadratique = existence de solution explicite).
1459
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Problème auxiliaire
Solution • La solution du problème de minimum auxiliaire correspond aux extrémales voisines. La méthode de transport fournit la solution pour des perturbations x(t0) et données.
N 1 Mx ( t 0 )
M M T /
t f x ( t 0 ) /
avec
u H uu1 (H xu f u ( S M T N 1M ))x f u M T N 1 •
N N T /
S S T /
Les matrices de transport S , M , N , , , sont obtenues par intégration à rebours.
S SA A T S SBS C M(BS A) M
avec S( t f ) xx ( t f )
MBM T N
avec N( t f ) 0
(BT S A) BT M
avec ( t f ) xT ( t f )
B T T
avec M( t f ) Tx ( t f )
avec ( t f ) T ( t f ) (t ) avec ( t ) f
f
A f xT f uT H uu1 H xu et B f uT H uu1 f u C H H H 1 H xx ux uu xu
1460
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Problème auxiliaire Valeur du coût • La solution du problème de minimum auxiliaire correspond aux extrémales voisines. La méthode de transport fournit la solution pour des perturbations x(t0) et données. On cherche à calculer le coût 2Ja sur l’extrémale voisine associée à x(t0) et . tf
T T x x H xx H ux x x x Ja dt xx T t u H xu H uu u t f x f t
2
0
•
On utilise la relation suivante. T
x H xx u H xu
x d H ux x v T H uu v H uu u dt t f
T
S M T T x T M N t f
avec v u H uu1 (H xu f u S)x f u M T f u T t f def
•
Démonstration Cette relation se vérifie en remplaçant v dans le second membre, en dérivant la parenthèse et en utilisant les équations différentielles liant les matrices de transport (calcul long).
1461
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Problème auxiliaire
Valeur du coût • La formule précédente permet de mettre le terme intégral de 2Ja sous la forme tf
t0
•
T
x H xx u H xu
x H ux x dt v T H uu v dt H uu u t f t0 tf
T
t
f S M T T x T M N t f t0
Le terme final de 2Ja s’exprime en fonction des matrices de transport. T
x t f
T xx x x S T x x T t t t f f x f
S( t f ) xx ( t f ) car ( t f ) xT ( t f ) (t ) ( t f ) f
Ce terme final s’élimine avec les termes en x(tf) et tf venant de l’intégrale. On obtient après simplification
x T T 2 J a v T H uu v dt x S x ( t 0 ) t f t f t f t0 tf
T
0 M T 0 x T M N 0 0 t f
t
f t0
1462
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Problème auxiliaire Valeur du coût • On développe le dernier terme en utilisant la relation de transport : Mx N T t f
x t f
T
0 M T 0 x T M N 0 0 t f
T T T 2 ( M x t ) N f 2T ( N) T N
2T T N •
Le terme T ne dépend pas du temps → même valeur en t0 et tf La condition finale sur N est N(tf) = 0 → le dernier terme se réduit à T N(t0) . tf
Il reste :
Ja 2
t0
•
T
T v H uu v dt x S x ( t 0 ) T N( t 0 ) t f t f T
On utilise ensuite les relations de transport pour exprimer tf et en fonction de x(t0) et .
x t f 0 Mx N T t f
1463
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Problème auxiliaire Valeur du coût x • On remplace d’abord tf : t f T x S T x T N x T Sx 2x T T t t t T N t t f f f f f
x (x ) T (x ) x Sx 2x T N T T T T x N x S S S T / T avec les matrices réduites x T S x T N M M / N N T / T
•
T
T
On remplace ensuite : Mx N T t f Mx N N 1 ( Mx )
x T S x ( Mx ) T N 1 ( Mx )
x T ( S M T N 1 M )x T N 1 T N 1 M x x T M T N 1
1464
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Problème auxiliaire
Valeur du coût • On obtient l’expression de 2Ja en fonction des perturbations x(t0), et de la commande u. tf
Ja 2
t0
v H uu v dt x T
T
S M T N 1M N 1M
M T N 1 x ( t ) N 1 0
avec v u H uu1 (H xu f u S)x f u M T f u T t f •
La valeur minimale est obtenue pour v = 0 car Huu 0 (condition nécessaire de minimum).
p 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 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Problème auxiliaire Dérivées du coût • Les variations première et seconde de Ja dues aux perturbations x(t0), sont
•
Variation première :
J a p( t 0 ) T x ( t 0 ) T
Variation seconde :
J a x 2
T
S M T N 1M N 1M
On obtient le développement à l’ordre 2 du coût augmenté.
1 x T S M T N 1M J a p( t 0 ) x ( t 0 ) N 1M 2 T
•
M T N 1 x ( t ) N 1 0
T
M T N 1 x ( t ) N 1 0
Cette expression fait apparaître les dérivées premières et secondes du coût minimum par rapport aux perturbations de l’état initial x(t0) et des contraintes .
J J 2J 2J 2J T 1 1 1 ( t 0 ) p( t 0 ) , , 2 ( t 0 ) S M N M , N , N M 2 x x x
1466
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Résumé 8 Problème de minimum auxiliaire • Formulation tf
2 J a 1 x T H xx H ux x 1 x T xx x x x f xT x f uT u min dt sous T t u ,t f f 2 2 u H xu H uu u 2 t f x Tx x f t f t0
pour des perturbations données de l’état initial x(t0) et des contraintes •
Solution = extrémale voisine
•
Variation du coût à l’ordre 2
→ matrices de transport S , M , N
1 x T S M T N 1M J a p( t 0 ) x ( t 0 ) N 1M 2 T
•
T
M T N 1 x ( t ) N 1 0
Dérivées du coût
J J 2J 2J 2J T 1 1 ( t 0 ) p( t 0 ) , , 2 ( t 0 ) S M N M , N , N 1 M 2 x x x
1467
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Conditions de minimum
Extrémale de référence • L’extrémale de référence (ou nominale) correspond à des perturbations x(t0) et nulles. La variation du coût se réduit à
tf
2Ja
v
T
avec v u H uu1 (H xu f u ( S M T N 1 M ))x f u M T N 1
H uu v dt
t0
•
Si Huu > 0 , 2Ja est positif et ne peut s’annuler que si v = 0.
v 0 u H uu1 (H xu f u ( S M T N 1 M ))x f u M T N 1
•
Si les matrices H uu et N sont inversibles et si la matrice S M T N 1 M reste finie, alors u = 0 pour des perturbations x(t0) et nulles. La seule solution donnant 2Ja = 0 est donc l’extrémale de référence (u = 0). Ces conditions sont suffisantes pour que l’extrémale soit un minimum.
•
La condition Huu inversible est réalisée si on impose Huu > 0 . La condition N inversible est réalisée si on impose N 0 .
1468
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Conditions de minimum Conditions suffisantes de minimum • On peut exprimer les conditions suffisantes de minimum sous la forme
H uu 0
sur [ t0 , tf [
→ condition de convexité (ou de LegendreClebsch)
N 0
sur [ t0 , tf [
→ condition de normalité
S M T N 1 M finie sur [ t0 , tf [ • •
→ condition d’absence de point conjugué (ou de Jacobi)
La condition de convexité renforce la condition nécessaire (Huu 0) → Huu inversible. La condition de normalité renforce la propriété N 0.
N N T / avec N( t f ) 0 N 0 si ( t f ) 0 N vérifie T T 1 N M B M 0 car B f H f 0 u uu u •
La condition de point conjugué assure que u = 0 est la seule solution. Sinon une extrémale différente et meilleure peut exister à partir du point conjugué pour rejoindre les conditions finales.
1469
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Conditions de minimum
Point conjugué • L’extrémale admet un point conjugué C à la date tc si ( S M T N 1 M )( t c )
•
La commande u obtenue par u H uu1 (H xu f u ( S M T N 1 M ))x f u M T N 1 n’est plus nécessairement nulle à partir de tc . Elle permet d’atteindre les conditions finales (=0) en un point F’F à partir de C sans variation du coût (2Ja=0 sur CF’ car v=0) → JOCF’ = JOCF
•
On peut alors chercher un chemin OF’ direct sans passer par C. Le coût de OF’ sera inférieur ou égal au coût de OCF’ L’extrémale OCF n’est pas nécessairement la meilleure.
→ JOF’ JOCF → JOF’ JOCF’
F’ tf'
O x(t0) t0
C u=0 , Ja=0
tc
F u=0 , Ja=0
tf
1470
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Exemple 18 : point conjugué
Distance minimale sur la sphère • On cherche les courbes de distance minimale entre 2 points O et F sur la sphère. •
Coordonnées sphériques : = latitude = longitude
0 O 0 , 0 0 •
F f f 0
(méridiens) (équateur)
→ choix des axes de référence facilitant la résolution
O
Distance en coordonnées sphériques
F
x cos cos 2 2 2 2 2 2 2 y cos sin ds dx dy dz d d cos z sin •
On considère et comme des fonctions du temps, avec la commande égale à leurs dérivées.
x Etat (noté x) : x 1 x 2
u Commande : u 1 u2
u1 u 2
ds 2 d 2 d2 cos 2 (u 22 u12 cos 2 x 2 )dt 2
1471
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Exemple 18 : point conjugué Extrémales • Formulation tf
min J u,t f
u 22 u12 cos 2 x 2 dt
t0
x(t ) x O avec x 1 u1 et 0 x 2 u 2 x ( t f ) x F
On cherche les extrémales en écrivant les conditions nécessaires d’ordre 1. •
Hamiltonien :
•
Commande :
•
Solution :
H u 22 u12 cos 2 x 2 p1u1 p 2 u 2 u1 cos 2 x 2 p1 0 H u1 L H u u 2 p 2 0 2 L
avec L u 22 u12 cos 2 x 2
u12 cos 2 x 2 (cos 2 x 2 p12 ) u 22 p12 0 2 2 2 2 2 u 2 (1 p 2 ) 0 u1 cos x 2 (p 2 )
u2 = 0 x2 = 0 , p1 = 1 , p2 = 0 (u1 = 0 ne permet de respecter la contrainte sur f)
L’extrémale est un arc de grand cercle suivant l’équateur d’équation x2 = = 0. On cherche si l’extrémale vérifie les conditions suffisantes de minimum.
1472
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Exemple 18 : point conjugué Conditions d’ordre 2 • La solution étant suivant l’équateur, on reformule le problème en variable au lieu de t. L’état se réduit à une seule composante (), ce qui simplifie l’étude des conditions d’ordre 2. •
Formulation en variable f
min J u
u 2 cos 2 d
0
avec
d ( 0 ) 0 0 u et d ( f ) f 0
•
Extrémale : u = 0 , = 0
•
Pour exprimer les conditions d’ordre 2, il faut les matrices S , M , N.
•
→ vérifie les conditions nécessaires d’ordre 1
S SA A T S SBS C M(BS A) M
avec S( t f ) xx ( t f )
MBM T N
avec N( t f ) 0
avec M( t f ) Tx ( t f )
A f xT f uT H uu1 H xu et B f uT H uu1 f u C H H H 1 H xx ux uu xu
On calcule les dérivées de f et H le long de l’extrémale u = 0 , = 0.
1473
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Exemple 18 : point conjugué
Matrices A , B , C • Dérivées de f : Dérivées de H :
f u f 0 , fu 1 H u 2 cos 2 pu L pu
H L , H u Lu p
avec L u 2 cos 2
avec L
1 2L cos 2 L sin 2 2 L2 L L u u 2u L L uL u L uu L2
sin 2 u , Lu 2L L
H L
H u H uu
•
H 1 L 1 u 0 L 0 H 0 Valeurs sur l’extrémale : u 0 L u 0 H uu 1
•
Matrices A , B , C :
A = 0 , B = 1 , C = 1
1474
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Exemple 18 : point conjugué
Matrices S , M , N • Equations différentielles vérifiées par les matrices (de taille 1).
•
S S2 1
avec S( f ) xx ( t f ) 0
S() tan( f )
MS M
avec M( f ) Tx ( t f ) 1
M ( )
M2 N
avec N( f ) 0
N() tan( f )
Commande feedback : S M T N 1M
M T N 1
•
Point conjugué :
1 tan( f )
1 sin( f )
S M T N 1M
1 cos( f )
u
f tan( f ) sin( f )
1 si f tan( f )
L’extrémale passe par un point conjugué si l’angle OF est supérieur à (distance > ½ tour). Elle n’est pas optimale dans ce cas (il existe un chemin plus court en partant en sens inverse).
1475
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Arc singulier Conditions de minimum • Un arc singulier apparaît lorsque Hu ne dépend pas explicitement de la commande u. La condition nécessaire de minimum Huu 0 est bien vérifiée car Huu = 0, mais elle n’apporte aucune information sur l’optimalité de l’arc singulier.
•
Pour établir des conditions nécessaires plus fortes, on part de la variation du coût augmenté et des équations des extrémales voisines. tf
T
H H J a x xx ux x dt (x T xx x ) f u H xu H uu u 2
(pour un problème à temps final fixé)
t0
x f xT x f uT u p H x H u f p xx ux x •
et T
La fonction = Hu est identiquement nulle le long de l’arc singulier.
[ x ( t ), p( t ), u ( t ), t ] 0 , t I •
Tx x f avec p f xx x f
0 , t I 0
, par rapport à u. On cherche à exprimer ²Ja en fonction des dérivées de ,
1476
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Arc singulier tf Variation seconde 2 • On exprime d’abord ²Ja en fonction de : J a (x T x p T p u T u )u dt
t0
•
Vérification par différence tf
t0
tf
T
H H (x x p p u u )u dt x xx ux x dt u H xu H uu u T
T
T
t0
tf
(x T H ux u p T H up u u T H uu u x T H xx x x T H ux u u T H xu x u T H uu u )dt
t0 tf
[p T H up u (p T p T H xp )x ]dt
en utilisant
p H xx x H ux u H px p
en utilisant
x H xp x H up u
t0 tf
(p
T
x p T x )dt
t0
tf
p T x t 0 p Tf x f p T0 x 0 (x T xx x ) f
avec p f xx x f et x 0 0
1477
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Arc singulier
Intégrale première • Pour exprimer ²Ja en fonction des dérivées de , on utilise la relation suivante. Si la fonction F(X) est une intégrale première du système d’état X, i.e.
alors F vérifie la relation : •
d [X T FX ] X T F X dt
d TF 0 [F(X)] X X dt
Vérification : on calcule la dérivée totale de F(X+X) de 2 manières.
d d d [F(X X)] [F(X) X T FX ] [X T FX ] car F(X) C te dt dt dt d d [F(X X)] [X X]T [F(X X)] (dérivée totale) dt dt X X ) T [F(X) X T F ] (X X ) T (F F X) (X X X XX X T F X T F X X X XX X T F X
TF 0 à l’ordre 1 avec X X
T dF X TF FX FXX X car F X X X X dt X X
1478
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Arc singulier Intégrale première sont constantes et nulles le long de l’arc singulier. • Les fonctions et
[ x ( t ), p( t ), u ( t )] 0 [ x ( t ), p( t ), u ( t )] 0
intégrales premières
•
On applique la relation
d (X T Fx ) X T F x dt
•
Pour la fonction :
X T X x T x p T p u T u
•
: Pour la fonction
pour les fonctions et et le vecteur X = (x,p,u)
d p T u T (x T x p T p u T u ) x T x p u dt
x T p T u T X T X x p u
d p T u T ) x T p T u T (x T x p u x p u dt d2 dt 2
p T u T (x T x p T p u T u ) x T x p u
1479
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Arc singulier
tf Variation seconde • On intègre ensuite par parties 2 J a (x T x p T p u T u )u dt
t0
- une première fois en utilisant :
d p T u T (x T x p T p u T u ) x T x p u dt
2 J a (x T x p T p u T u )u1
(x tf
tf
t0
T
p T u T )u ( t ) dt x p u 1
t0
t
avec u1 ( t ) u () d t0
- une deuxième fois en utilisant :
d p T u T ) x T p T u T (x T x p u x p u dt
2 J a (x T x p T p u T u )u1
(x tf
t0
tf
T
p T u T )u x p u 2
tf t0
p T u T )u ( t ) dt (x T x p u 2 t
avec u 2 ( t ) u1 () d t0
t0
1480
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Arc singulier
Conditions de minimum • Une condition nécessaire de minimum est : ²Ja 0 , u admissible •
On considère une variation de commande formée de 2 impulsions successives opposées.
0 a u ( t ) a 0
si t t1 si t1 t t1 si t1 t t1 si t t1
t
u
t1
t1
t1+
t
u1
u1 ( t ) u () d t0
t
t1 t1 t1+
t
t1 t1 t1+
t
u2
u 2 ( t ) u1 () d t0
1481
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Arc singulier Conditions de minimum x f xT x f uT u • La variation seconde ²Ja dépend de u, x, p avec p H xx x H ux u f x p •
Pour la variation impulsionnelle considérée u = a - les variations x et p deviennent nulles lorsque 0 - les termes prépondérants dans l’expression de ²Ja sont les termes en u , u1 , u2. Les expressions obtenues pour ²Ja le long de l’arc singulier permettent de formuler des conditions nécessaires d’optimalité dans le cas d’un système à commande affine.
•
Un système à commande affine est de la forme : x f ( x ) g( x )u
Hamiltonien :
p T g p T g H p T (f gu ) H u p T g
g g x g (f gu ) (dérivée totale) avec T x T x p p (f x g x u ) p T (f g u )g p T g (f gu ) p T ( g f f g) x x x x x ne dépendent pas explicitement de u. Le long de l’arc singulier les fonctions H u et
1482
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Arc singulier
Conditions de minimum • On examine le signe des termes prépondérants dans ²Ja le long de l’arc singulier pour un système affine et pour la variation impulsionnelle considérée u = a u1 , u2 . tf
2Ja
u T u u dt
= 0 car = Hu n’est pas explicite en u sur l’arc singulier
t0
tf
2Ja
u
T
u dt u 1
t0
n’est pas explicite en u sur l’arc singulier = 0 car pour un système à commande affine
tf
2Ja
u
T
u u 2 dt
donne une condition nécessaire d’optimalité
t0
•
Pour la variation considérée, u2(t) est positif croissant et on a : Pour vérifier la condition nécessaire ²Ja 0 , u , il faut que :
tf
t0
u T u 2 dt 0 0 , t I u
(sinon on peut construire une variation impulsionnelle locale donnant ²Ja < 0).
1483
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Arc singulier
Condition de Kelley • On obtient une condition nécessaire d’optimalité de l’arc singulier pour une commande affine.
0 u •
sur l’arc singulier avec = Hu
n’est pas explicite en u, on continue l’intégration par parties de ²J . Si la fonction u a tf
Le terme prépondérant donnant le signe de ²Ja est de la forme
u T (1) k ( ( 2 k ) ) u u 2 k dt
t0
La première dérivée de = Hu explicite en u est nécessairement paire (dans le cas d’un système à commande affine). Le premier entier k donnant une dérivée explicite en u est l’ordre de l’arc singulier. •
On établit la condition de Kelley (ou condition généralisée de Legendre-Clebsch).
(1) ( k
(2k )
) u 0 avec H u
d 2 k H (1) 0 u dt 2 k u k
condition nécessaire d’optimalité d’un arc singulier pour un système à commande affine
1484
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Résumé 9 Conditions de minimum • Problème à temps final libre et contraintes finales tf
min J u,t f
•
Lx(t), u(t), t dt x(t
), t f
avec x ( t ) f x ( t ), u ( t ), t , x ( t f ), t f 0
t0
Conditions nécessaires Ordre 1 : Ordre 2 :
•
f
H L p T f x H p 0 f T p H , f 0 avec x p f x L H à t car p H u 0 t f f x Huu 0 Pas de point conjugué sur ] t0 , tf [
Conditions suffisantes Ordre 1 : Ordre 2 :
Identique Huu > 0 Pas de point conjugué sur [ t0 , tf [
1485
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Equation HJB
Fonction valeur • On considère le problème à temps final libre et contraintes finales tf
min J u,t f
•
Lx(t), u(t), t dt x(t
t0
f
), t f
avec x ( t ) f x ( t ), u ( t ), t , x ( t f ), t f 0 et x ( t 0 ) x 0 fixé
La solution dépend du point initial (x0,t0). En faisant varier le point initial, on obtient : - le champ d’extrémales défini comme l’ensemble des trajectoires optimales - la fonction valeur V(x0,t0) définie comme le coût minimal J à partir du point (x0,t0)
x
V(x1,t0) V(x1,t1)
x1 V(x0,t1) V(x0,t0) x0
(xf,tf)=0 t0
t1
t
1486
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Equation HJB
Fonction valeur • A partir d’un point initial (x0,t0), on applique - entre t0 et t1 une commande quelconque u amenant au point (x1,t1) - entre t1 et tf la commande optimale notée u1 à partir du point (x1,t1) qui dépend de u t1
• •
J( x 0 , t 0 , u )
Le coût associé à cette commande est Le coût minimal à partir de (x0,t0) est :
V( x 0 , t 0 )
L(x, u, t)dt V(x (u), t ) 1
1
t0
→ associé à la commande u0
V( x 0 , t 0 ) J ( x 0 , t 0 , u ) x u1
u
V(x1,t1)
x1
u0
x0 t0
t1
V(x0,t0) (xf,tf)=0 t
1487
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Equation HJB
Equation de Hamilton Jacobi Bellman • Le coût à partir du point initial est la somme des coûts sur [t0,t1] et sur [t1,tf]. tf t f t1 V( x 0 , t 0 ) min L( x, u, t )dt ( x f , t f ) min L( x, u, t )dt L( x, u, t )dt ( x f , t f ) u,t f u,t f t t t 1 0 0
•
On applique le principe d’optimalité de Bellman : chaque sous-arc est optimal.
t1 V( x 0 , t 0 ) min L( x, u, t )dt u[ t 0 , t1 ] t 0
Arc optimal sur [t0,t1] - partant de x0 fixé - arrivant en x1 libre
x1 fonction de u
t f min L( x, u, t )dt ( x f , t f ) u[ t1 , t f ], t f t1
Arc optimal sur [t1,tf] - partant de x1 fixé - arrivant en xf vérifiant (xf,tf)=0
coût = V(x1(u), t1)
1488
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Equation HJB
Equation de Hamilton Jacobi Bellman • La fonction valeur vérifie l’équation (dite de programmation dynamique)
t1 V( x 0 , t 0 ) min L( x, u, t )dt min V( x1 (u ), t1 ) min L( x, u, t )dt V( x1 (u ), t1 ) u[ t 0 , t1 ] u[ t1 , t f ] u[ t 0 , t f ] t0 t 0 t1
•
On développe à l’ordre 1 pour une variation de temps t petite en supposant V de classe C1. t1
t1 t 0 t
L(x, u, t)dt L(x
t0
x1 x 0 x
0 , u , t 0 )t
t1
avec x1 x 0 f ( x, u, t )dt x 0 f ( x 0 , u, t 0 )t t0
x f ( x 0 , u, t 0 )t
V( x1 (u ), t1 ) V( x 0 x, t 0 t ) V( x 0 , t 0 ) VxT x Vt t V( x 0 , t 0 ) VxT f ( x 0 , u, t 0 ) Vt t •
En reportant dans l’équation donnant V(x0,t0), on obtient à l’ordre 1
min L( x 0 , u, t 0 ) VxT f ( x 0 , u, t 0 ) Vt u
0
1489
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Equation HJB Equation de Hamilton Jacobi Bellman • L’équation vérifiée par V au point initial (x0,t0) se met sous la forme
min H( x 0 , u, Vx , t 0 ) Vt 0 u
•
avec H( x, u, p, t ) L( x, u, t ) p( t ) T f ( x, u, t ) def
L’équation est valable en tout point (x,t) de la trajectoire optimale car - la portion de trajectoire de (x,t) à (xf,tf) est optimale (principe de Bellman) - le point (x,t) représente le point initial de cette portion de trajectoire
min H( x, u, Vx , t ) Vt 0
→
équation de Hamilton Jacobi Bellman (HJB)
u
Remarques • L’équation HJB est une équation aux dérivées partielles vérifiée par la fonction valeur V(x,t) en tout point de la trajectoire optimale. Elle suppose que V est de classe C1 (hypothèse forte, non nécessairement vérifiée en pratique). •
La commande optimale au point (x,t) est le minimum global de H(x,u,Vx,t). La solution de l’équation HJB donne la commande sous forme feedback en fonction de (x,t).
1490
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Equation HJB Principe du Maximum de Pontryagin • On peut établir le principe du maximum à partir de l’équation HJB.
min H( x, u, Vx , t ) Vt 0 u
→ commande optimale u*(x,t)
L’équation HJB donne la commande optimale comme le minimum global de H(x,u,Vx,t). Pour retrouver le PMP, il suffit de montrer que l’adjoint défini par p = V x vérifie les équations adjointes et les conditions de transversalité. •
Equations adjointes Dérivée de p :
p( t ) Vx ( x, t ) p Vxx x Vxt Vxx f Vxt
Dérivée Vtx :
Vt ( x, t ) min H( x, u, Vx ( x, t ), t ) H( x, u*, Vx ( x, t ), t ) u
Vt ( x, t ) L( x, u*, t ) Vx ( x, t ) T f ( x, u*, t ) Vtx L x Vxx f f xT Vx On obtient :
p L x f xT Vx L x f xT p H x
→ équation adjointe
1491
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Equation HJB
Principe du Maximum de Pontryagin • Condition de transversalité sur tf Si le temps final est optimal, on a : Vt ( x f , t f ) 0 H( t f ) 0
•
en appliquant HJB à tf
Condition de transversalité sur xf La fonction valeur au point final est : Le point final vérifie les contraintes : L’adjoint final est défini par :
V( x f , t f ) ( x f , t f ) → m contraintes ( x f , t f ) 0 → gradient projeté sur =0 p( t f ) Vx , 0
L’hyperplan T tangent aux contraintes est normal à x.
x
T
x
Le gradient de est projeté sur T suivant x x,T Il existe des multiplicateurs Rm tels que : x ,T x x
On retrouve la condition de transversalité :
p( t f ) x x
Vx
=0
1492
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Résumé 10 Equation de Hamilton Jacobi Bellman • Problème à temps final libre et contraintes finales tf
min J u,t f
Lx(t), u(t), t dt x(t
f
), t f
t0
avec x ( t ) f x ( t ), u ( t ), t , x ( t f ), t f 0 et x ( t 0 ) x 0 fixé
•
Fonction valeur :
V( x 0 , t 0 ) min J ( x 0 , t 0 , u, t f )
→ à partir du point initial (x0,t0)
•
Equation HJB :
min H( x, u, Vx , t ) Vt 0
→ en tout point (x,t) d’une extrémale
u,t f
u
avec H( x, u, p, t ) L( x, u, t ) p( t ) T f ( x, u, t ) •
Adjoint :
p Vx
•
Dérivées du coût :
V V p , H x t
•
L’équation HJB permet de retrouver le PMP si la fonction valeur V(x,t) est de classe C1. La démonstration du PMP est plus générale et ne nécessite pas cette hypothèse sur V.
def
1493
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Solution HJB Différentiabilité • L’équation HJB suppose que la fonction valeur V(x,t) est de classe C1. Cette hypothèse forte n’est généralement pas satisfaite en pratique. •
Exemple : min J x ( t f ) avec x xu , x ( t 0 ) x 0 fixé , t f fixé 1 u 1
On peut trouver la solution par examen de toutes les possibilités. Si x0 < 0, u = +1 pour minimiser x(tf) x x x ( t f ) x 0 e ( t f t 0 ) Si x0 > 0, u = 1 pour minimiser x(tf) x x x ( t f ) x 0 e ( t f t 0 ) Si x0 = 0, x(tf) = 0 , u
•
xe ( t f t ) si x 0 si x 0 La fonction valeur est V( x, t ) 0 xe ( t f t ) si x 0
•
L’équation HJB du système est :
Vx x V 0 , Vt V non différentiable en x = 0 Vx x V 0 , Vt V
min (Vx xu ) Vt 0 Vx x Vt 0
1 u 1
La fonction V(x,t) vérifie bien l’équation HJB pour 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 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Solution HJB
Sous-gradient et sur-gradient • Il est nécessaire de généraliser l’équation HJB en considérant des solutions non différentiables. On définit pour cela le sous-gradient et le sur-gradient d’une fonction. •
Pour une fonction f : Rn R au point x0 T - un sous-gradient est un vecteur gRn vérifiant localement f ( x ) f ( x 0 ) g ( x x 0 ) - un sur-gradient est un vecteur gRn vérifiant localement f ( x ) f ( x 0 ) g T ( x x 0 ) - le sous-différentiel Df(x0) est l’ensemble des sous-gradients de f en x0 - le sur-différentiel D+f(x0) est l’ensemble des sur-gradients de f en x0
f
f
f(x)
sur-différentiel g (sur-gradient)
g (sous-gradient)
f(x)
sous-différentiel x0
x
x0
x
1495
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Solution HJB
Sous-gradient et sur-gradient • Lien avec la différentielle d’une fonction f est différentiable en x0
D f ( x 0 ) D f ( x 0 ) f ( x 0 )
f ( x 0 ) est l’unique sous-gradient et sur-gradient de f en x0 •
•
Pour une fonction continue, on a presque partout D f ( x ) D f ( x ) existence simultanée d’un sous-gradient et d’un sur-gradient presque partout La démonstration de ces propriétés se base sur les fonctions tests. Une fonction test associée à un sous-gradient g en x0 est une fonction de classe C1 telle que
( x 0 ) g ( x 0 ) f ( x 0 ) ( x ) f ( x ) localement
f
f(x) g
f a un maximum local nul en x0
(x)
Définition similaire pour un sur-gradient x0
x
1496
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Solution HJB
Sous-gradient et sur-gradient • Exemple
f sur-différentiel
0 si x 0 f ( x ) x si 0 x 1 1 si 1 x
f(x)
0 •
1
x
f est dérivable partout sauf en 0 et en 1.
En x = 0 :
D f (0) [0 , [ D f (0)
Pour x < 0 :
D f ( x ) D f ( x ) 0
En x = 1 :
D f (1) D f (1) [0 ,1 / 2]
Pour x > 1 :
D f ( x ) D f ( x ) 0
1 Pour x]0 , 1[ : D f ( x ) D f ( x ) 2 x
1497
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Solution HJB
Solution de viscosité • On considère une équation aux dérivées partielles (EDP) de la forme
F( x, f ( x ), f ( x )) 0
avec f : R n R F : Rn R Rn R
•
Une fonction continue f est - une sous-solution de viscosité de l’EDP si F( x, f ( x ), g) 0 , x , g D f ( x ) - une sur-solution de viscosité de l’EDP si F( x, f ( x ), g) 0 , x , g D f ( x ) - une solution de viscosité si elle est à la fois sous- et sur-solution de viscosité
•
Exemple : f : R R , 1 f ( x ) 0
F( x, f , g) 1 g
Solution classique :
f (x) x c
solution de classe C1 sur R
Solution de viscosité :
f (x) x
solution de classe C0 sur R
Vérification : x 0 D f ( x ) D f ( x ) f ( x ) 1
x 0 D f ( x ) [1, 1] F( x, f , g) 1 g 0 D f ( x )
vérifie l’EDP sur-solution sous-solution
1498
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Solution HJB Solution de viscosité • On cherche les solutions de l’équation HJB : Vt min (L VxT f ) 0 u
avec la condition finale : V( x, t f ) ( x )
F( x, V, V) 0 L’équation HJB se met sous la forme : - en prenant la valeur u=u* minimisant l’hamiltonien V=V* fonction de x et t - en considérant le temps comme un état supplémentaire xn+1 = t Les solutions V(x,t) cherchées ne sont pas nécessairement différentiables. •
Théorème (avec des hypothèses sur la régularité des fonctions f, L, et de leurs dérivées) La fonction valeur V(x,t) est l’unique solution de viscosité de l’équation HJB vérifiant la condition finale V( x, t f ) ( x ) Cette solution est de plus localement lipschitzienne.
1499
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Solution HJB
Eléments de démonstration • Il faut montrer que la fonction valeur V est sous- et sur-solution de viscosité de l’équation HJB. On écrit l’équation HJB sous la forme : (en incluant t dans le vecteur d’état)
F( x, V, V) Vt min (L VxT f ) 0 u
Pour montrer que V(x,t) est une sous-solution de viscosité, on se place en un point (x0,t0) et on considère des fonctions tests (x,t) de classe C1 telles que V est minimale en (x0,t0). associée à un sur-gradient g de V en (x0,t0) Si V est sous-solution de viscosité, alors on a en (x0,t0) : F( x 0 , V, ) 0 , Si V n’est pas sous-solution de viscosité, il existe telle que : F( x 0 , V, ) 0 T En notant u0 la commande réalisant min (L x f ) en (x0,t0), l’inégalité s’écrit u
t ( x 0 , t 0 ) L( x 0 , u 0 , t 0 ) x ( x 0 , t 0 ) T f ( x 0 , u 0 , t 0 ) 0 Par continuité, l’inégalité stricte reste valable au voisinage de (x 0,t0).
t ( x , t ) x ( x , t ) T f ( x , u 0 , t ) L( x , u 0 , t )
au voisinage de (x0,t0)
1500
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Solution HJB
Eléments de démonstration (suite) • On utilise la propriété de la fonction test : V est minimale en (x0,t0).
( x, t ) V( x, t ) ( x 0 , t 0 ) V( x 0 , t 0 )
(x,t) au voisinage de (x0,t0) ,
V( x 0 , t 0 ) V( x, t ) ( x 0 , t 0 ) ( x, t ) •
On applique la commande constante u=u0 de t0 à t1 à partir de (x0,t0) (x1, t1) t1
( x1 , t1 ) ( x 0 , t 0 ) ( x, t )dt t0
( x1 , t1 ) ( x 0 , t 0 )
avec t Tx x t Tx f
(x, t) t1
t
t0
x ( x, t )
T
t1
f ( x, u 0 , t ) dt L( x, u 0 , t )dt t0
t1
V( x 0 , t 0 ) V( x1 , t1 ) L( x, u 0 , t )dt en remplaçant dans l’inégalité sur V t0
Cette inégalité stricte contredit le principe d’optimalité de Bellman. V est donc nécessairement une sous-solution de viscosité de l’équation HJB. De façon analogue, on démontre que V est aussi une sur-solution de viscosité.
1501
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Commande affine
Formulation • On considère un problème de temps minimal :
min J t f u,t f
• •
avec une dynamique affine sur la commande :
x f ( x ) ug( x ) , x Rn
La commande est de dimension 1 et bornée :
u R , 1 u 1
Hamiltonien :
H p 0 p T (f ug)
Commande :
u 1 si p T g 0 min H u 1 si p T g 0 u u ? si p T g 0
arc bang arc singulier
•
La commande dépend du signe de la fonction de commutation définie par : = pTg Sur un arc singulier, la fonction de commutation est identiquement nulle : 0 sur I=[t1, t2]
•
Les dérivées successives de par rapport au temps sont également toutes nulles sur I. Pour déterminer la commande il faut dériver jusqu’à faire apparaître explicitement u. Les dérivées et crochets de Lie simplifient l’analyse des arcs singuliers.
1502
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Commande affine
Dérivée de Lie • La dérivée de Lie est un opérateur sur des fonctions, associé à un champ de vecteurs. •
Un champ de vecteurs X est une fonction de Rn dans Rn (ou de manière plus générale d’une variété M dans une variété N).
X1 Les composantes de X sont les n fonctions X1,…,Xn de dans R : X X n X1 x1 Le gradient du champ de vecteurs X est : X X1 , , X n X1 x n Rn
•
X n x1 X n x n
La dérivée de Lie de la fonction : Rn R suivant le champ de vecteurs X est la fonction
L X X X T noté
def
dérivée directionnelle de suivant X , en tout point xRn
L’opérateur LX est associé au champ de vecteurs X.
1503
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Commande affine
Crochet de Lie • Le crochet de Lie des champs de vecteurs X et Y est l’opérateur défini par X, Y XY YX def
Pour une fonction de Rn dans R :
En développant :
X, Y XY YX L X (L Y ) L Y (L X )
X, Y L X (Y T ) L Y (X T ) X T (Y T ) Y T (X T )
X T (Y 2 Y) Y T (X 2 X) ( X T Y Y T X ) car le hessien 2 est symétrique (Y T X X T Y) T
[X,Y] est l’opérateur associé au champ de vecteurs Z défini par : Z Y T X X T Y •
Propriétés du crochet de Lie :
X, X 0 X, Y Y, X
Identité de Jacobi :
X, Y, Z Y, Z, X Z, X, Y 0 1504
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Commande affine Dérivée suivant une extrémale • On peut exprimer les dérivées de la fonction de commutation en utilisant les crochets de Lie. L’équation dynamique est de la forme : x f ( x ) ug( x ) On associe aux fonctions f et g les champs de vecteurs F et G sur Rn .
x F uG p (F uG )p
Les équations des extrémales sont : •
On considère un champ de vecteurs Z sur Rn et une fonction de la forme : ( t ) p( t ) T Z[ x ( t )] Dérivée de le long d’une extrémale :
p T Z p T Z
avec p (F uG )p et Z Z T x Z T (F uG )
p T (F uG ) T Z p T Z T (F uG ) (en utilisant le crochet de Lie)
p T F uG, Z p T f ug, Z noté
•
On applique cette formule pour dériver la fonction de commutation = pTg .
1505
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Commande affine
Fonction de commutation p T f ug, Z • On applique la formule : p T Z pour dériver la fonction de commutation = pTg = pTG jusqu’à faire apparaître explicitement la commande u.
p T [f ug, g] p T [f , g]
•
Dérivée première de :
pTg
•
Dérivée seconde de :
p T [f , g ] p T [f ug, [f , g]] p T [f , [f , g]] up T [g, [f , g]]
•
Le long d’un arc singulier, toutes les dérivées de sont nulles. Si pT[g,[f,g]] 0 , l’arc singulier est d’ordre 1. La commande est : u
•
p T [f , [f , g]] p T [g, [f , g]]
Si pT[g,[f,g]] = 0 , l’arc singulier est d’ordre supérieur. Il faut continuer à dériver pour exprimer u.
1506
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Commande affine Arc singulier d’ordre 1 • Un arc singulier est d’ordre 1 si p T [g, [f , g]] 0 . La commande singulière est :
u sin g
p T [f , [f , g]] p T [g, [f , g]]
Cette commande peut être optimale ou non. Il faut d’abord vérifier qu’elle est admissible : •
1 using +1 .
Une condition nécessaire d’optimalité est la condition de Legendre-Clebsch.
p T [g, [f , g]] 0 le long de l’arc singulier •
Si un arc singulier d’ordre 1 vérifie la condition stricte de Legendre-Clebsch : p T [g, [f , g]] 0 alors il peut se raccorder à un arc bang (ubang = 1) à toute date telle que 1 < using() < +1 . Ce type de jonction vérifie les conditions nécessaires du PMP (preuve page suivante).
•
La trajectoire optimale se compose d’une succession d’arcs bangs et d’arcs singuliers. Il faut envisager les différentes solutions possibles et comparer leur coût.
1507
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Commande affine Jonction arc bang et arc singulier d’ordre 1 • On suppose que l’arc singulier vérifie la condition stricte de Legendre-Clebsch : pT[g,[f,g]] < 0 et qu’il se raccorde à un arc bang (ubang = 1) à une date telle que 1 < using() < +1 .
min H p 0 p T (f ug) p 0 p T f u
•
Il faut montrer que la jonction à satisfait le PMP :
•
p T [f , g] sont continues (ne dépendent que de p et x), nulles à . Les fonctions p T g et
u
La dérivée seconde de est :
p T [f , [f , g]] up T [g, [f , g]]
Sur l’arc singulier à la date :
() p T [f , [f , g]] u p T [g, [f , g]] 0 sin g
Sur l’arc bang à la date :
T ( ) p T [f , [f , g]] u bang p [g, [f , g ]]
( ) () car p T [g, [f , g]] 0 , avec () 0 Si u bang 1 u sin g () 0 a un minimum nul en car () 0 et () > 0 et ubang() < 0 minimise H
Si u bang 1 u sin g vérification similaire
1508
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Commande affine Arc singulier d’ordre supérieur • Un arc singulier est d’ordre supérieur à 1 si :
p T [g, [f , g]]. 0
T La dérivée seconde de étant nulle, on a aussi : p [f , [f , g]] 0
Ces conditions sont très restrictives et ont peu de chances d’être vérifiées en pratique. •
Il existe cependant des systèmes pour lesquels : [g, [f , g]] 0 Il faut calculer les dérivées suivantes de pour trouver le contrôle singulier.
p T f ug, Z On applique la formule : p T Z en utilisant [g, [f , g]] 0 et
[g, [f , [f , g]]] [f , [g, [f , g]]]
(obtenu par l’identité de Jacobi)
et en notant X, Y ad X (Y) avec l’opérateur adX (adjoint) associé au champ de vecteurs X.
p T [f , [f , g]] up T [g, [f , g]]
(3) p T ad 3f (g) ( 4) p T ad f4 (g) up T [g, ad 3f (g)]
1509
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Commande affine Arc singulier d’ordre supérieur • La commande u n’apparaît explicitement que dans les dérivées paires de . L’arc singulier est d’ordre k si la dérivée d’ordre 2k de est la première à dépendre de u.
(i ) p T ad if (g) 0 pour i 1, ... , 2k 1 et p T [g, ad f2 k 1 (g)] 0 •
Une condition nécessaire d’optimalité est la condition généralisée de Legendre-Clebsch ou condition de Kelley
d 2 k H (1) (1) k p T [g, ad f2 k 1 (g)] 0 2 k u dt u k
•
T 3 Si un arc singulier d’ordre 2 vérifie la condition stricte de Legendre-Clebsch : p [g, ad f (g)] 0 alors il ne peut pas se raccorder à un arc bang à une date telle que 1 < using() < +1 .
Ce type de jonction ne vérifie pas les conditions nécessaires du PMP (preuve page suivante).
•
Une telle jonction fait apparaître le phénomène de chattering (infinité de commutations u=1). Exemple : problème de Fuller
1510
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Commande affine Jonction arc bang et arc singulier d’ordre 2 • On suppose que l’arc singulier vérifie la condition stricte de Legendre-Clebsch : p T [g, ad 3f (g)] 0 et qu’il se raccorde à un arc bang (ubang = 1) à une date telle que 1 < using() < +1 . •
Il faut montrer que la jonction à contredit le PMP : min H p 0 p T (f ug) p 0 p T f u
•
Les fonctions (i ) p T ad if (g)
u
i 0 ,1, 2 , 3
sont continues (ne dépendent que de p et x), nulles à .
La dérivée quatrième de est : ( 4) p T ad f4 (g) up T [g, ad 3f (g)] Sur l’arc singulier à la date :
( 4) () p T ad f4 (g) u sin g p T [g, ad 3f (g)] 0
Sur l’arc bang à la date :
( 4) ( ) p T ad f4 (g) u bang p T [g, ad 3f (g)]
Si u bang 1 u sin g ( 4) ( ) ( 4) () car p T [g, ad 3f (g)] 0 , avec ( 4) () 0 (i ) a un maximum nul en car () 0 , i 0 à 3
() < 0 et ubang() > 0 ne minimise pas H
Si u bang 1 u sin g vérification similaire
1511
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Commande affine
Contrôle de dimension supérieure • L’analyse des arcs singuliers se généralise à une commande de dimension supérieure à 1. La commande est de dimension m et bornée : u Rm , 1 ui 1 m
Dynamique :
x f ( x ) u g( x ) f ( x ) T
Hamiltonien :
H p0 p f
u p i
i i
i 1
m
T
u g (x)
T
g i (x) p 0 p f T
i 1
•
m
u i
i 1
La composante ui est associée à la fonction de commutation i et peut être singulière ou non. m T La dérivée de i dépend des uj,ji : i p f g j u j , g i p T f , g i u jp T g j , g i j1 j i Si une seule composante est singulière, l’analyse est identique au cas de dimension 1. Si plusieurs composantes sont simultanément singulières, l’analyse est plus complexe.
•
i
La condition de Goh est une condition nécessaire d’optimalité si ui et uj sont singuliers.
ui et uj optimaux et singuliers sur I
p T [g j , g i ] 0 sur I
1512
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Exemple 19 : solution composite
Formulation • Le problème est un double intégrateur en dimension 2. Le temps final tf est fixé. La commande u n’est pas bornée. Le système est à ramener à l’origine en minimisant un coût quadratique.
1 min J u 2 •
tf
t 0 0
Hamiltonien : H avec
•
x12 dt
x x 2 u x ( t ) 0 avec 1 et 1 f x 2 u x 2 ( t f ) 0 1 2 1 x1 p1 ( x 2 u ) p 2 u x12 p1x 2 u 2 2
p1 p 2
p x p 1 p1 1 2
fonction de commutation
x p 0 1 1 p1 x 1 Arc singulier : p1 p 2 0 u ( x 1 x 2 ) x 2 u x1 0 L’arc singulier est d’ordre 1 ((2) explicite en u). Il peut donc se raccorder à un arc régulier. La condition nécessaire de Kelley est vérifiée pour k=1. L’arc singulier peut donc être optimal.
d 2 k H (1) 1 0 u dt 2 k u u k
1513
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Exemple 19 : solution composite
Solution composite • Il faut examiner des solutions composites raccordant des arcs réguliers et singuliers.
x1 ( t 0 0) x10 x ( t 0) x 20 2 0 x (t ) 0 L’état final est contraint à tf fixé : x1 ( t f ) 0 2 f L’état initial est fixé à t0 = 0 :
• •
La commande n’est pas bornée et n’intervient pas directement dans le coût J :
1 J 2
tf
x12 dt
t 0 0
x x 2 u Une impulsion u déplace « gratuitement » l’état de (x1 , x2) à (x1+u , 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 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Exemple 19 : solution composite Arc singulier • L’équation de l’arc singulier s’obtient à partir de l’hamiltonien constant (problème autonome).
H
1 2 x1 p1x 2 u avec 0 p1 x1 2
sur l’arc singulier
L’arc singulier est un arc d’hyperbole d’équation : x1(x1 + 2x2) = 2H ayant pour asymptotes : x1 = 0 et x1 + 2x2 = 0 • •
•
p x Evolution de x1 sur l’arc singulier : p1 x 1 x 1 x1 x1 ( t ) ae t 1 1 H 1 H 1 x1 x 2 ( t ) e t ae t Evolution de x2 sur l’arc singulier : x 2 x1 2 a 2 L’arc singulier est parcouru de t0+ à tf. On note (y10 , y20) et (y1f , y2f) l’état au début et à la fin de l’arc singulier.
y10 a y H 1 a 20 a 2
a y10 1 2 H y10 y10 y 20 2
y1f y10 e t f tf y 2f y 20 e y10 sh t f
On écrit ensuite les conditions de raccordement au point initial et au point final.
1515
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Exemple 19 : solution composite Raccordement • Les raccordements au point initial (x10 , x20) et au point final (x1f , x2f) = (0 , 0) s’effectuent par des impulsions suivant des lignes d’équation x 1 + x2 = Cte .
y10 y 20 x10 x 20 c y y x x def 2f 1f 2f 0 1f •
On obtient :
y10 2c
y1f y10 e t f avec tf y 2f y 20 e y10 sh t f
à t0 à tf
e 2t f e 2t f 1
, y 20 c
1 e 2t f 1 e 2t f
c x10 x 20 fixé avec t f fixé
1 2 e 2t f 2 H y10 y10 y 20 2c 0 2 (e 2 t f 1) 2 avec le coût •
1 J 2
tf
1 x12 dt 2
t 0 0
tf
2 2t y10 e dt
t 0 0
c2 1 e 2t f
Il faut comparer à d’autres solutions possibles (combinaisons d’arcs réguliers et singuliers) pour établir l’optimalité de cette solution composite. On observe qu’une solution du même type arrivant plus tôt au point final est moins bonne (J est une fonction décroissante de tf).
1516
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Exemple 19 : solution composite
Application numérique • Etat initial : x10 = 1 x20 = 3.28
10 9
x2
8 7
•
Temps final : tf = 1.5
6 5 4
•
Hamiltonien
H 2c 2 •
Point initial
3
e
2t f
(e 2 t f 1) 2
2
2
1
x1
Point final 0 -10
-9
-8
-7
-6
-5
-4
-3
-2
-1 0 -1
1
2
3
4
5
6
7
8
9
10
-2
Arc singulier
-3
Initial :
Final :
y10 = 9 y20 = 4.72 y1f = 2 y2f = 2
-4 -5 -6 -7 -8 -9 -10
1517
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Problème de Fuller
Formulation • Le problème de Fuller est un double intégrateur en dimension 2. Le temps final tf est libre. La commande u est bornée entre 1 et +1. Le système est à ramener à l’origine en minimisant un coût quadratique. tf
1 min J x12 dt u,t f 2 t0
• • •
x x 2 x ( t ) 0 avec 1 et 1 f x 2 u x 2 ( t f ) 0 1 p 0 x12 p1x 2 p 2 u 2
p p x p 1 p0 1 1 2
Hamiltonien :
H
Commande :
u 1 si p 2 0 min H u 1 si p 2 0 u u ? si p 2 0
La fonction de commutation est : Les dérivées successives de sont :
arc bang
arc singulier
p2 p , p x , (3) p x , ( 4) p u 1 0 1 0 2 0
On peut reformuler le problème en un problème équivalent de temps minimal permet d’analyser la structure des extrémales en utilisant les méthodes géométriques
1518
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Problème de Fuller Problème de temps minimal • On considère le problème de temps minimal en dimension 3. tf
min K 1dt u,t f
•
t0
x1 ( t f ) 0 x 1 x 2 avec x 2 u et x 2 ( t f ) 0 x 3 x12 / 2 x 3 ( t f ) 0
composante d’état supplémentaire x3
Il faut vérifier que ce problème admet les mêmes extrémales que le problème de Fuller. Pour un point initial donné x1(t0) , x2(t0) , on note u*, tf*, J* la solution du problème de Fuller. On applique la commande u* au problème de temps minimal, en posant x 3(t0) = J* < 0 .
- Cette commande ramène bien le système à l’origine à la date tf*. tf
1 - Elle minimise x 3 ( t f ) x 3 ( t 0 ) x12 dt qui est une fonction croissante de tf. 2 t0
La date tf* est la date minimale permettant d’atteindre la condition finale x 3(tf) = 0 en partant de la condition initiale x3(t0) < 0 . La solution u*, tf* du problème de Fuller est bien la solution du problème de temps minimal.
1519
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Problème de Fuller Extrémales • On note q l’adjoint du problème de temps minimal et Hq l’hamiltonien associé. tf
min K 1dt u,t f
t0
x1 ( t f ) 0 x 1 x 2 avec x 2 u et x 2 ( t f ) 0 x 3 x12 / 2 x 3 ( t f ) 0
q 1 q 3 x1 1 2 H q q 0 q1x 2 q 2 u q 3 x1 q 2 q1 2 q 3 0 •
Le problème de temps minimal a les mêmes extrémales que le problème de Fuller. Les hamiltoniens Hq et H doivent être identiques et nuls (tf libre).
q 0 q1 x 2 q 2 u
1 1 q 3 x12 p1x 2 p 2 u p 0 x12 0 2 2
q p q 3 0 0 0
Les extrémales du problème de Fuller correspondent donc à des extrémales anormales du problème de temps minimal (q0 = 0).
1520
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Problème de Fuller
Arcs singuliers • On cherche les arcs singuliers du problème de temps minimal en utilisant les crochets de Lie.
x 1 x 2 x 2 u x 3 x12 / 2 • •
•
x2 0 x f ( x ) ug( x ) avec f 0 et g 1 0 x 2 / 2 1
0 0 x1 0 0 0 Gradients des champs de vecteurs f et g : f x 1 0 0 , gx 0 0 0 0 0 0 0 0 0 1 0 0 T T , [g, [f , g]] 0 Crochets d’ordre 1 : [f , g] g x f f x g 0 , [f , [f , g]] 0 0 x 0 1 Le crochet [g,[f,g]] est nul Les arcs singuliers sont d’ordre supérieur à 1 .
0 0 3 Crochets d’ordre 2 : [f , [f , [f , g]]] 0 et [g, ad f (g)] [g, [f , [f , [f , g]]]] 0 x 1 2 3 Le crochet [g, ad f (g)] ne s’annule pas Les arcs singuliers sont d’ordre 2 . 3 La condition de Kelley [g, ad f (g)] 0 est vérifiée Ces arcs peuvent être optimaux. ad 3f (g)
1521
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Problème de Fuller Arcs singuliers • La fonction et toutes ses dérivées sont nulles le long d’un arc singulier.
p , p x , (3) p x , ( 4) p u p2 , 1 0 1 0 2 0 •
On obtient les équations de l’arc singulier. p1 = p2 = 0 p0 0 L’arc singulier est normal (sinon contradiction avec le PMP). x1 = x2 = 0 et using = 0 L’arc singulier se réduit à l’origine qui est le point final visé.
•
L’origine est un arc singulier d’ordre 2 qui ne peut pas se raccorder directement à un arc bang. Le point final ne peut être atteint qu’avec du chattering ( = infinité de commutations u=1).
Arcs bangs • La solution du problème de Fuller est une suite d’arcs bangs convergeant vers O. •
1 p p 0 x1 p 0 x12 p1x 2 p 2 u 1 2 p 2 p1 Si on suppose p0 = 0 (cas anormal), alors p1 est constant et p2 est linéaire en fonction du temps. Il n’y a qu’une commutation et le raccordement avec le point final ne peut être optimal. Les arcs bangs sont nécessairement normaux et on peut poser p0 = 1. Les équations adjointes sont :
H
1522
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Problème de Fuller Propriétés des arcs bangs 1 x x p x • Un arc bang à u = 1 suit les équations : x 1 u 2 , p 1 p1 , H x12 p1x 2 p 2 u 0 1 2 2 2 •
Les fonctions I1 et I2 sont des intégrales premières. 1 I1 x1 ux 22 I1 x 1 ux 2 x 2 x 2 u 2 x 2 0 car u 1 2 1 I 2 p1 ux1x 2 x 32 I 2 p 1 ux 1x 2 ux1x 2 x 22 x 2 x1 ux 22 u 2 x1 ux 22 0 3
•
Les commutations de u = 1 à u = +1 ont lieu pour x2 < 0 . Les commutations de u = +1 à u = 1 ont lieu pour x2 > 0 .
p , x , (3) x Vérification en utilisant les dérivées de : p 2 , 1 1 2 et en sachant que O singulier ne peut être sur un arc bang Si est une date de commutation : Si p1() = 0 Si p1() 0
() p 2 () 0 H() x12 () / 2 p1 () x 2 () 0
x1() = 0 (en utilisant H)
x1() 0 (car O singulier)
(3)() = x2() 0 (car O singulier) détermine le sens de commutation (1)()x2() = p1()x2() > 0 détermine le sens de commutation 1523
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Problème de Fuller
Extrémales invariantes • On considère la transformation (u, x1, x2, p1, p2) (v, y1, y2, q1, q2) définie par
t t t t t v( t ) u , y1 ( t ) 2 x1 , y 2 ( t ) x 2 , q1 ( t ) 3 p1 , q 2 ( t ) 4 p 2
x 1 x 2 x u 2 y 1 y 2 (v, y1, y2, q1, q2) est aussi une extrémale : y v 2
Si (u, x1, x2, p1, p2) est une extrémale :
p x , p 1 p1 , H 1 2 q y , q 1 q1 , H 1 2
1 2 x1 p1x 2 p 2 u 0 2 1 2 y1 q1 y 2 q 2 v 0 2
vérification directe
•
L’extrémale est invariante si (v, y1, y2, q1, q2)(t) = (u, x1, x2, p1, p2)(t) à toute date t. invariance point par point (condition plus forte que l’invariance globale de la courbe)
•
Pour construire la synthèse optimale du problème de Fuller (= commande feedback) - on cherche les valeurs de générant des extrémales invariantes - on montre que ces extrémales sont les seules et que leur raccordement est optimal.
1524
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Problème de Fuller Extrémales invariantes • On cherche les extrémales (u, x1, x2, p1, p2) invariantes par la transformation
t t t t t v( t ) u , y1 ( t ) 2 x1 , y 2 ( t ) x 2 , q1 ( t ) 3 p1 , q 2 ( t ) 4 p 2 •
L’extrémale est composée d’une suite d’arcs bangs. On considère un arc bang de t0 à t1 avec u = +1 suivi d’ un arc bang de t1 à t2 avec u = 1 La fonction de commutation = p2 s’annule aux dates de commutation. Si est une date de commutation : p 2 () q 2 () 4 p 2 / 0 car l’extrémale est invariante
•
On cherche la plus petite valeur de pour laquelle il existe des extrémales invariantes. Les dates de commutations et / sont alors consécutives. En fixant le temps final tf à 0, les dates de commutations forment une suite géométrique.
t 0 t1
t0 t t2 1 tf 0
1525
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Problème de Fuller
Extrémales invariantes • On utilise l’intégrale première
I1 x1
•
x1 ( t1 )
Sur l’arc de t0 à t1 avec u = +1 :
1 2 ux 2 2
1 2 1 x 2 ( t1 ) x1 ( t 0 ) x 22 ( t 0 ) 2 2
x1 ( t 0 ) y1 ( t 0 ) 2 x1 t 0 / 2 x1 ( t1 ) Par invariance de l’extrémale : x 2 ( t 0 ) y 2 ( t 0 ) x 2 t 0 / x 2 ( t1 )
•
1 2 1 2 2 1
En remplaçant x1(t0) et x2(t0) :
x1 ( t1 )
x 22 ( t1 )
Sur l’arc de t1 à t2 avec u = 1 :
x1 ( t 2 )
1 2 1 x 2 ( t 2 ) x1 ( t1 ) x 22 ( t1 ) 2 2
avec
x1 ( t1 ) y1 ( t1 ) 2 x1 t1 / 2 x1 ( t 2 ) Par invariance de l’extrémale : x 2 ( t1 ) y 2 ( t1 ) x 2 t1 / x 2 ( t 2 ) En remplaçant x1(t1) et x2(t1) :
x1 ( t 2 )
x 22 ( t 2 )
avec
1 2 1 2 2 1
1526
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Problème de Fuller Extrémales invariantes • On obtient les conditions de commutations en t1 et t2.
x1 ( t1 ) x 22 ( t1 ) 2 x1 ( t 2 ) x 2 ( t 2 )
avec x2(t1) > 0 pour la commutation de u = +1 à u = 1 à t1 avec x2(t2) < 0 pour la commutation de u = 1 à u = +1 à t2
C : x1 x 22 , x 2 0 Les courbes de commutation sont 2 C : x1 x 2 , x 2 0 •
1 Pour trouver les valeurs de et , on utilise l’intégrale première I 2 p1 ux1x 2 x 32 3 1 1 Sur l’arc de t1 à t2 avec u = 1 : p1 x1x 2 x 32 ( t1 ) p1 x1x 2 x 32 ( t 2 ) 3 3
•
L’hamiltonien permet d’exprimer p1 en fonction de x1 et x2 .
1 2 x12 H x1 p1x 2 p 2 u 0 avec p2=0 à chaque date de commutation tk p1 2 2x 2
1527
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Problème de Fuller
Extrémales invariantes • On remplace p1 et x1 en fonction de x2 dans l’intégrale première I2 .
x1 ( t1 ) x 22 ( t1 ) x12 1 3 1 3 p1 x1x 2 3 x 2 ( t1 ) p1 x1x 2 3 x 2 ( t 2 ) avec x ( t ) x 2 ( t ) et p1 2x 2 2 2 1 2
x ( t ) 0 avec 2 1 x 2 ( t 2 ) 0
1 1 1 1 2 x 32 ( t1 ) 2 x 32 ( t 2 ) 3 3 2 2 •
Par invariance de l’extrémale : x 2 ( t1 ) y 2 ( t1 ) x 2 t1 / x 2 ( t 2 ) 3 1
1 1 1 2 3 2 3 2 •
2
1 2 1 1 2 2 avec 2 2 1 1 2
On obtient une équation bicarrée vérifiée par :
La solution positive est :
4
33 1 0.44462 24
1 2 1 0 12 18
1 2 4.13016 1 2
1528
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Techniques d’optimisation
Max CERF 2018
5.3.4 Problème de Fuller Synthèse • Les extrémales invariantes permettent de construire une commande feedback. Dates de commutation :
tk = tk+1
convergent vers tf = 0
C : x1 x 22 , x 2 0 passage de u = 1 à u = +1 Courbes de commutation : 2 C : x1 x 2 , x 2 0 passage de u = +1 à u = 1 Commande feedback :
u 1 si x1 x 22 sgn( x 2 ) 2 u 1 si x1 x 2 sgn( x 2 )
avec les constantes :
33 1 1 2 0.44462 , 4.13016 24 1 2
•
Cette synthèse est obtenue en raccordant les arcs bangs associés aux extrémales invariantes. On peut montrer que cette synthèse est la synthèse optimale du problème de Fuller, i.e. - ces extrémales invariantes sont les seules - leur raccordement est optimal.
•
On peut également obtenir explicitement la fonction valeur en résolvant l’équation HJB.
1529
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Problème de Fuller
Synthèse 25
x2
C 20
x1 x 22 sgn( x 2 )
15
u = 1
10
5
x1
0
-120
-100
-80
-60
-40
-20
0
20
40
60
80
100
120
-5
-10
u = +1
x1
x 22
-15
sgn( x 2 ) -20
C+ -25
1530
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Problème de Fuller
Application numérique • Conditions initiales sur la courbe de commutation C+ : x1 = 88.92 x2 = 20 • Premier arc : u=+1 de t0 à t1
1 x ( t ) x 2 ( t 1 ) x 2 ( t1 ) x 2 ( t 0 ) u.( t1 t 0 ) avec 2 0 t0 x 2 ( t 0 ) 32.779 t t 0 1 1 1
u = +1
Temps (échelle non respectée) 0 -35
-30
Dates de commutations : t k 1
-25
-20
-15
-10
-5
0
tk
u = 1 -1
1531
5 Optimisation fonctionnelle 5.3 Commande optimale 5.3.4 Extrémales
Max CERF 2018
Techniques d’optimisation 5.3.4 Problème de Fuller
Fonction valeur V V • La fonction valeur V(x,t) est solution de l’équation HJB : min H x, u, ,t 0 u x t • Le problème est autonome : V ne dépend que de de x1 et x2 .
H
• •
1 2 x1 p1x 2 p 2 u 0 2
V 1 2 V V H x , u , , t x1 x 2 u x 2 x1 x 2 V et min H u sgn 1 u 1 x 2
L’équation HJB devient :
On montre que la solution est :
V V si x1 x 22 sgn( x 2 ) 2 V V si x1 x 2 sgn( x 2 )
x2
V V 1 2 x1 0 x1 x 2 2
V ( x1 , x 2 )
5 2
1 5 1 1 1 x 2 x1x 32 x12 x 2 A x 22 x1 15 3 2 2
12 1 avec A 2 2 53 2
3 2
0.382
1532
5 Optimisation fonctionnelle 5.4 Méthodes numériques
Techniques d’optimisation
Max CERF 2018
Sommaire 1. 2. 3. 4.
Bases théoriques Optimisation sans contraintes Optimisation avec contraintes Optimisation discrète
5.
Optimisation fonctionnelle 5.1 Fonctionnelle 5.2 Calcul des variations 5.3 Commande optimale 5.4 Méthodes numériques 5.4.1 Transcription 5.4.2 Propagation 5.4.3 Collocation 5.4.4 Méthodes directes 5.4.5 Méthodes indirectes
1533
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.1 Transcription
Techniques d’optimisation
Max CERF 2018
5.4.1 Transcription Problème de contrôle à temps final libre avec contraintes finales tf
min J u,t f
t0
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 x ( t f ), t f 0 , R q
•
Les inconnues sont des fonctions vérifiant des équations différentielles - commande u(t) , t[t0,tf] → m fonctions - état x(t) , t[t0,tf] → n fonctions vérifiant x H p - adjoint p(t) , t[t0,tf] → n fonctions vérifiant p H x (conditions d’optimalité)
•
Il est rarement possible de résoudre analytiquement le problème de contrôle. On doit utiliser des méthodes numériques donnant la solution en un nombre fini de dates.
•
La transcription consiste à : - formuler un problème approché de dimension finie - résoudre numériquement ce problème de dimension finie
•
Le problème en dimension finie peut être formulé de différentes manières selon - l’utilisation ou non des conditions d’optimalité → formulation indirecte ou directe - la méthode de résolution d’équation différentielle → propagation ou collocation
1534
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.1 Transcription
Techniques d’optimisation
Max CERF 2018
5.4.1 Transcription Processus de transcription
Problème de contrôle de dimension infinie
Problème discrétisé de dimension finie
Résolution numérique du problème discrétisé
Solution approchée du problème de contrôle
Choix de formulation (conditions d’optimalité)
Résolution numérique d'équations différentielles + Méthode numérique d’optimisation
1535
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.1 Transcription
Techniques d’optimisation
Max CERF 2018
5.4.1 Equations différentielles Méthode de propagation ou collocation • On doit résoudre une équation différentielle à condition initiale donnée.
x ( t ) f x ( t ), t , t 0 t t f x(t 0 ) x 0
problème de Cauchy ou problème « à valeur initiale » (IVP)
L’inconnue est la fonction x(t), le problème est de dimension infinie. •
On se ramène à un problème en dimension finie en discrétisant l’intervalle [t0 , tf]. - L’intervalle [t0 , tf] est divisé en N segments : t0 < t1 < t2 < … < ti < ti+1 < … < tN = tf - On cherche les valeurs prises par x aux dates ti : x0 , x1 , x2 , … , xi , xi+1 , … , xN - La solution peut être construite par propagation ou par collocation.
•
Une méthode de propagation utilise une quadrature sur chaque segment [ti , ti+1]. - La solution xi+1 à ti+1 est obtenue à partir de la condition xi à ti. - La méthode est à pas simple ou multiple, explicite ou implicite.
•
Une méthode de collocation cherche une solution polynomiale sur chaque segment [ti , ti+1]. - Des conditions de dérivées à des dates intermédiaires sont imposées. - La solution est obtenue en résolvant un système non linéaire.
1536
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.1 Transcription
Techniques d’optimisation
Max CERF 2018
5.4.4 Formulation directe / indirecte Problème en dimension finie • Un problème d’optimisation peut être résolu - soit directement à partir de sa formulation - soit indirectement à partir des conditions d’optimalité
•
→ méthode directe → méthode indirecte
Pour un problème en dimension finie sans contrainte : minn f ( x ) xR
Formulation directe : Chercher une suite de solutions diminuant f(x) Formulation indirecte : Chercher une solution du système de n équations f(x) = 0 •
m Pour un problème en dimension finie avec contrainte : minn f ( x ) sous c( x ) 0 , c( x ) R xR
Formulation directe : Chercher une suite de solutions diminuant f(x) et vérifiant c(x)=0 Formulation indirecte : Chercher une solution du système de n+m équations L(x,) = 0 Les m multiplicateurs associées aux m contraintes sont des inconnues supplémentaires. •
Pour un problème de contrôle en dimension infinie, les conditions d’optimalité du PMP font intervenir l’adjoint p(t) , t[t0,tf] → n fonctions inconnues supplémentaires
1537
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.1 Transcription
Techniques d’optimisation
Max CERF 2018
5.4.4 Formulation directe / indirecte Problème en dimension infinie • Formulation directe du problème de contrôle tf
min J u,t f
L( x, u, t )dt ( x f , t f )
t0
x f ( x, u, t ) , x(t0) donné avec ( x f , t f ) 0
Problème de minimisation avec comme inconnues : x(t) , u(t) , tf •
Formulation indirecte du problème de contrôle (conditions d’optimalité d’ordre 1)
(EDx ) (EDp)
x H p f p H x
(COu ) min H u
(CFx ) ( x f , t f ) 0 (CFp) p f xf xf (CFt ) H f tf tf
→ n équations différentielles de l’état x , x(t0) donné → n équations différentielles de l’adjoint p , p(t0) inconnu → m équations sur la commande u → q conditions finales sur l’état x(tf) , avec multiplicateurs → n conditions finales sur l’adjoint p(tf) → 1 condition finale sur l’hamiltonien H(tf)
Système d’équations avec comme inconnues : x(t) , p(t) , u(t) , , tf
1538
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.1 Transcription
Max CERF 2018
Techniques d’optimisation 5.4.4 Méthodes de transcription
Catégories de méthodes Formulation directe
Formulation indirecte
« Méthode directe »
« Méthode de tir »
Nm
Inconnues :
ui
Problème : NLP
min J sous 0
Propagation
ui
« Collocation directe »
Inconnues :
ui Nm xi Nn
Problème : NLP
min J sous 0
Collocation
ui ,xi
+ collocation sur x
Inconnues : Problème : NLS
p0 n q =0 pf (transversalité)
« Collocation indirecte »
ui Nm xi Nn pi Nn Problème : =0 NLS pf (transversalité) + collocation sur x et p Inconnues :
1539
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.1 Transcription
Max CERF 2018
Techniques d’optimisation 5.4.4 Méthodes de transcription
Comparaison des méthodes Méthode directe
Avantages
Inconvénients
Méthode indirecte
Inconnues « physiques » : u , x
Peu d’inconnues : n + q
Initialisation simple (robuste)
Convergence rapide
Si propagation : codage non intrusif
Solution très précise
Beaucoup d’inconnues : N(n+m)
Inconnues «non physiques» (adjoint)
Convergence lente et moins précise
Initialisation difficile (peu robuste)
Si collocation : codage intrusif
Codage intrusif (adjoint)
Si collocation : maillage à adapter
Si collocation : maillage à adapter
1540
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Propagation Méthodes à pas simple (Runge-Kutta) Analyse d’erreur
Ordre de la méthode Méthodes d’ordre 1, 2, 3, 4 Contrôle d’erreur Conditionnement Méthodes à pas multiples (Adams)
1541
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Max CERF 2018
Techniques d’optimisation 5.4.2 Propagation
Méthode à pas simple ou multiples • Une méthode de propagation construit la solution sur les segments successifs [t i , ti+1]. La solution est connue aux dates précédentes t0 , t1 ,, ti-1 , ti. On cherche la valeur xi+1 . •
Une méthode à pas simple construit xi+1 en utilisant uniquement la valeur précédente xi . → méthodes de Runge-Kutta
•
Une méthode à pas multiples construit xi+1 en utilisant plusieurs valeurs précédentes xi-k,, xi. → méthodes d’Adams x xi-k xi+1 ?
xi-2 xi-1
xi
ti-k
ti-2
ti-1
ti
ti+1
t
1542
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Runge-Kutta Principe • Les méthodes de Runge-Kutta s’appliquent aux équations différentielles du 1er ordre.
x ( t ) f x ( t ), t , t 0 t t f On suppose que la condition initiale est donnée :
x(t0) = x0
•
L’intervalle [t0 , tf] est divisé en N segments : t0 < t1 < t2 < … < ti < ti+1 < … < tN = tf - Les dates ti sont les nœuds. - Les segments [ti , ti+1] sont les pas d’intégration. - Les inconnues sont les valeurs x(ti) notées xi .
•
L’équation différentielle est intégrée sur chaque segment [ti , ti+1] . t i1
x f ( x, t ) sur [ t i , t i 1 ] x i 1 x i •
f (x, t)dt ti
L’intégrale est approchée par une formule de quadrature (page suivante). En partant de x0 , on calcule successivement x1 , puis x2 , , puis xN. On obtient ainsi une solution approchée aux N dates de discrétisation.
1543
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Max CERF 2018
Techniques d’optimisation 5.4.2 Runge-Kutta
Formule de quadrature • Une formule de quadrature consiste à approcher une intégrale par une somme. L’intervalle [ti , ti+1] est divisé en K segments : ti 1 2 … k k+1 … K ti+1 - La longueur de l’intervalle est notée hi : hi = ti+1 ti - Les dates k sont de la forme k = ti + hi k , 0 1 2 … k k+1 … K 1 (dates non nécessairement toutes distinctes) - Les segments [k , k+1] sont les étapes d’intégration. t i1
L’intégrale est approchée par la formule :
x i 1 x i
K
f (x, t)dt h f ( i
Cette formule nécessite de calculer les valeurs k aux dates intermédiaires k , k=1 à K . k
On utilise une autre quadrature pour les k :
k xi
K
f (x, t)dt h i
ti
•
k , k )
k 1
ti
•
k
kjf ( j , j )
j1
Une méthode de Runge-Kutta est une combinaison de deux méthodes de quadratures. Les quadratures sont définies par le choix des coefficients k , k , kj .
1544
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Runge-Kutta Méthode explicite / implicite • Les K valeurs intermédiaires k , k=1 à K vérifient un système non linéaire de K équations. K
k xi hi
kjf ( j , j )
, k 1à K
j1
•
Si les coefficients kj sont nuls pour j k, k ne dépend que des valeurs précédentes j , j 0 constante de stabilité de la méthode
Les erreurs d’arrondi produisent une erreur finale bornée.
1557
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Max CERF 2018
Techniques d’optimisation 5.4.2 Analyse d’erreur
Convergence • L’erreur globale est l’écart entre la solution numérique et la solution exacte y0 partant de x0. •
Convergence : La méthode est convergente si max y 0 ( t i ) x i 0i N
h 0 0 max
On peut approcher la solution avec la précision voulue en réduisant suffisamment le pas. •
Une méthode consistante et stable est convergente.
xi y0 ( ti ) = solution exacte à ti , i=0 à N Preuve : On pose ~ L’erreur i représente alors l’écart entre solution exacte y0(ti) et approchée xi . xi est : xi 1 ~ xi hi ( ti , ~ xi , hi ) La solution approchée à ti+1 en partant de ~ ~ L’erreur de consistance sur [ti , ti+1] est définie par : xi 1 xi 1 ei 1 ~ xi hi ( ti , ~ xi , hi ) ei 1 Si la méthode est stable : (avec e0 = 0)
max ~ xi xi S
0 i N
N
e
i
i 0
N
Si la méthode est consistante :
e
i
i 1
h 0 0 max
max ~ xi xi 0
0 i N
1558
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Analyse d’erreur Ordre • Une méthode est d’ordre p si l’erreur de consistance est majorée par Chp+1 , avec C > 0 . •
L’erreur de consistance est l’écart sur un pas de temps entre - la solution exacte y vérifiant y f ( y, t ) avec y( t i ) x i e y( t ) x i 1 i 1 i 1 - la solution approchée obtenue par x i 1 x i h i ( t i , x i , h i ) On développe ces solutions par rapport au pas de temps h en supposant f et de classe Cp . y de classe Cp+1
•
Développement de y à l’ordre p+1 en h=0 p 1
p 1
h ik d k y h ik d k 1f p 1 p 1 y( t i 1 ) y( t i h i ) y( t i ) ( t ) o ( h ) x ( x , t ) o ( h ) i i i i i i k k 1 k ! k ! dt dt k 1 k 1
y( t i ) x i •
dy f ( y, t ) dt
Développement de x à l’ordre p en h=0
x i 1
p hk k p i xi hi ( t i , x i ,0) o(h i ) k k ! h k 0
1559
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Max CERF 2018
Techniques d’optimisation 5.4.2 Analyse d’erreur
Ordre • La méthode est d’ordre p si e i 1 y( t i 1 ) x i 1 Ch ip 1 (erreur en hp+1 ). Le terme en •
hk+1
du développement de ei+1 est :
La méthode est d’ordre p
h k 1 k!
1 dkf k ( x , t ) ( t , x , 0 ) i i i i k h k k 1 dt
k
1 dkf ( t , x,0) ( x, t ) , k 0 à p 1 k k k 1 h dt
Propriétés • Une méthode est consistante si elle est au moins d’ordre 1 ( t , x,0) f ( x, t ) •
Si la fonction est lipschitzienne en x, alors la méthode est stable. La constante de stabilité S peut être prise égale à eLT avec T=tft0 , L constante de Lipschitz
•
L’erreur globale d’une méthode stable d’ordre p est majorée :
max y 0 ( t i ) x i SCTh pmax
0i N
p 1 avec S constante de stabilité , T=tft0 , e i Ch i (erreur en hp+1)
1560
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Exemple Méthodes explicites d’ordre 2 • L’ordre p est donné par la condition : •
Euler explicite : (ordre 1)
k
1 dkf ( t , x,0) ( x, t ) , k 0 à p 1 k 1 dt k h k
x i 1 x i h i f ( x i , t i ) ( t , x, h ) f ( x, t )
k 1 h ( t , x,0) 0 •
Point milieu : (ordre 2)
x i 1 x i h i f x i h i f ( x i , t i ) / 2 , t i h i / 2
( t , x, h ) f x hf ( x, t ) / 2 , t h / 2 f x x f t f fxf ft k 1 h ( t , x,0) 2 2 2 2
•
Heun : (ordre 2)
condition non vérifiée pour p=2
condition vérifiée pour p=2
x i 1 x i h i f ( x i , t i ) / 2 h i f x i h i f ( x i , t i ) , t i 1 / 2
( t , x, h ) f ( x, t ) / 2 f x hf ( x, t ) , t h / 2 fxf ft f x x f t f condition vérifiée pour p=2 k 1 h ( t , x,0) 2 2 2
1561
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Max CERF 2018
Techniques d’optimisation 5.4.2 Analyse d’erreur
Erreur totale • On considère une méthode stable d’ordre p appliquée sur N pas de temps de t0 à tf. •
L’erreur globale théorique est majorée en fonction du pas hmax = max(h1,…hN) .
x i 1 x i h i ( t i , x i , h i ) •
0i N
Les erreurs d’arrondi i , i=1 à N à chaque pas génèrent une erreur supplémentaire bornée.
~ x i 1 ~ x i h i ( t i , ~ x i , h i ) i •
max ~ xi xi S
0i N
T N
N
i
SN max
i 0
max y 0 ( t i ) ~ x i S CTh pmax N max
L’erreur totale est majorée par : (théorique + arrondi) Avec pas équidistants : h
•
max y 0 ( t i ) x i SCTh pmax
0i N
E max ST Ch p h
L’erreur est minimale pour le pas :
en notant
noté
E max
h = hmax = max
1 p 1
h opt pC
1562
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Exemple Méthode du point milieu • Equation différentielle : x x •
y ( t ) y ( t 0 )e t t 0
→ solution exacte
L’erreur de consistance sur le pas de temps [ti , ti+1] avec la condition initiale xi est l’écart entre
- la solution exacte :
y( t i 1 ) y( t i )e
t i1 t i
xie
hi
h i2 h 3i 3 x i 1 h i o( h i ) 2 6
hi hi h i2 - la solution approchée : x i 1 x i h i f x i f ( x i , t i ) , t i x i 1 h i 2 2 2 avec f ( x, t ) x x e i 1 y( t i 1 ) x i 1 i h 3i o(h 3i ) ordre p=2 6 •
L’intervalle est subdivisé en N pas équidistants : L’erreur de consistance est majorée sur [0,1] par :
•
Le pas optimal est donné par h opt / pC
1 p 1
h
tf t0 1 N N
e (car x i e) 6 avec la précision de calcul e i 1 Ch 3 avec C
1563
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Max CERF 2018
Techniques d’optimisation 5.4.2 Exemple
Pas d’intégration optimal • Calcul sur 6 chiffres significatifs : = 107 •
N = 101 à 106
Erreur totale pour N pas de temps sur [0,1] 1 p 2 p 1 C e / 6 h 4.8 10 3 opt pC 10 7 N opt 208 pas
N = 100 à 1000
Erreur totale 1,E+00 1,E-01 1,E-02 1,E-03
1,E-04 1,E-05 1
10
100
1000
Nombre de pas
10000
100000
1000000
Nombre de pas
Erreur totale
10 100 1000 10000 100000 1000000
4,20E-03 5,37E-05 8,35E-05 8,60E-04 8,58E-03 8,45E-02
Nombre de pas
Erreur totale
100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950 1000
5,37E-05 3,17E-05 2,84E-05 2,84E-05 2,87E-05 3,40E-05 3,63E-05 4,15E-05 4,40E-05 4,93E-05 5,01E-05 5,64E-05 6,15E-05 6,37E-05 7,10E-05 7,47E-05 7,67E-05 8,07E-05 8,35E-05
1564
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Max CERF 2018
Techniques d’optimisation 5.4.2 Conditions d’ordre
Méthodes explicites • Une méthode de Runge-Kutta est explicite si les coefficients (kj) j k sont nuls. Chaque point intermédiaire k ne dépend que des points précédents (j) j=1 à k1 . k 1
k t i h i k , k x i h i
K
kjf j
, x i 1 x i h i
j1
•
f
k k
noté
k 1
On impose que la méthode de quadrature soit d’ordre 0 au moins, i.e. les points k donnent la solution exacte y(k) dans le cas d’une fonction f constante. - Solution exacte
en k et ti+1 :
- Solution approchée en k et ti+1 :
y( k ) x i h i k f , y( t i 1 ) x i h i f k 1 K k xi hi kj f , x i 1 x i h i k f k 1 j1
k 1
•
avec f ( j , j ) f j
Les coefficients (k) , (k) , (kj) doivent vérifier :
j1
K
kj
k ,
k
1
k 1
condition d’ordre 1 (= condition de consistance) Ces relations sont imposées systématiquement pour toutes les méthodes de Runge-Kutta.
1565
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Max CERF 2018
Techniques d’optimisation 5.4.2 Conditions d’ordre
Méthodes explicites • Une méthode explicite de Runge-Kutta est de la forme : x i 1 x i h i ( t i , x i , h i ) K
La fonction est définie par
( t i , x i , h )
f ( k
k , k )
k 1
avec k t i h k , k x i h
k 1
kjf ( j , j )
j1
k
1 dkf ( t , x,0) ( x, t ) , k 0 à p 1 k k k 1 h dt
•
La méthode est d’ordre p si :
•
Pour construire une méthode d’ordre p, il faut - calculer les dérivées successives de par rapport à h en h = 0 - écrire les p conditions sur les dérivées de k = 0 à p1 On obtient un système d’équations liant les coefficients k, k, kj .
•
Le calcul est simple jusqu’ à l’ordre p=3 (pages suivantes), et devient difficile à partir de l’ordre p=4.
1566
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Max CERF 2018
Techniques d’optimisation 5.4.2 Conditions d’ordre
Dérivée première • Dérivée première de par rapport à h en h = 0 k 1
K
( t , x, h )
f ( k
k , k )
avec k t h k , k x h
k 1
h
•
f ( k , k ) k h k 1 K
k h0 h
k 1
kjf ( j , j )
j1
K
k 1
k f x
k ft k h h
k 1
k avec h
kjf ( j , j ) h h j1
k 1
kjf ( j , j )
et
j1
k 1 kjf ( j , j ) kj f ( x, t ) k f ( x, t ) j1 j1
k k h k 1
car
kj
k
(ordre 1)
j1
On obtient pour la dérivée première
( t , x,0) h
K df k (f x f k f t k ) kk dt k 1 k 1 K
1567
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Max CERF 2018
Techniques d’optimisation 5.4.2 Conditions d’ordre
Dérivée seconde • Dérivée seconde de par rapport à h en h = 0 k 1
K
( t , x, h )
f ( k
k , k )
avec k t h k , k x h
k 1
2 h
2
h 2
k 1
avec
h0 •
k
2 k h 2 2 k h 2
kjf ( j , j )
j1
2 f ( k , k )
K
en h 0
2 2 k k 2 k k k k f xx f tt 2f xt fx 2 h h h h h k 1
2 h
K
k 1
kjf ( j , j )
et
f ( j , j ) h
j1
k 1 df 2 j kj dt j1
et
fx
j h
ft
j h
en h 0
j
df dt
k k f ( x, t ) h
On obtient pour la dérivée seconde
K K 2 2 ( t , x,0) k k (f xx f 2f xt f f tt ) 2 j k kj (f x2 f f x f t ) 2 h k 1 k 1, j k
2
1568
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Max CERF 2018
Techniques d’optimisation 5.4.2 Conditions d’ordre
Relations entre coefficients • Dérivée première : conditions d’ordre 2
K df avec ( t , x,0) kk dt h k 1
1 df ( t , x,0) h 2 dt •
K
k 1
kk
1 2
Dérivée seconde : conditions d’ordre 3
2
1 d 2f ( t , x,0) 2 3 dt 2 h
avec
d 2f dt 2
f xx f 2 2f xt f f tt f x (f x f f t )
K K 2 2 (f 2 f f f ) et ( t , x , 0 ) ( f f 2 f f f ) 2 k k xx xt tt j k kj x t x h 2 k 1 k 1, j k 2
K
k 1
•
2k k
1 3
K
et
j k kj
k 1, j k
1 6
Dérivée troisième : conditions d’ordre 4 calculs très longs
1569
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Max CERF 2018
Techniques d’optimisation 5.4.2 Conditions d’ordre
Relations entre coefficients • Méthode à K étapes : k=1 à K
1 K
Méthode explicite : (kj) j k = 0 . k 1
•
Ordre 1 : (consistance)
K
kj
k ,
j1
Ordre 2 :
kk
k 1 K
•
Ordre 3 :
2k k
k 1 K
•
Ordre 4 :
k 1
3k k
k
1
k 1
K
•
11 1K K1 KK 1 K
1 2
1 3 1 4
K
et
j k kj
k 1, j k
K
et
2j k kj k 1, j k
1 6
1 , 12
K
i k kj ji
k 1, j k
K
j k k kj
k 1, j k
1 8
1 12
1570
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Max CERF 2018
Techniques d’optimisation 5.4.2 Méthodes d’ordre 1 et 2
Méthodes à 1 étape • Pour une méthode explicite à une étape (K=1), il n’existe qu’un choix de coefficients. Méthode explicite :
11 0 1 0 , 1 1
0 0 1
On obtient la méthode explicite d’Euler, d’ordre 1
Méthodes à 2 étapes • Pour une méthode explicite à deux étapes (K=2), il existe plusieurs choix possibles. Méthode explicite :
11 12 22 0
•
Ordre 1 :
11 12 1 21 22 2 1 2 1
•
Ordre 2 :
11 2 2
1 0 2 noté 21
1 2
2
0
0 1
1 2
0 0 1 2
1 1 , 1 1 2 2
On obtient des méthodes d’ordre 2, à un paramètre :
=0.5 point milieu =1 Heun
1571
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Max CERF 2018
Techniques d’optimisation 5.4.2 Méthodes d’ordre 3
Méthodes à 3 étapes • Méthode de Heun explicite, d’ordre 3
•
Méthode de Hermite Simpson implicite, d’ordre 3
Méthodes à 4 étapes • Méthode de Runge explicite, d’ordre 3
0 0 0 0 1/ 3 1/ 3 0 0 2/3 0 2/3 0 1/ 4 0 3 / 4 0 0 0 0 1 / 2 5 / 24 1 / 3 5 / 24 1 1/ 6 2 / 3 1/ 6 1/ 6 2 / 3 1/ 6
0 0 0 1/ 2 1/ 2 0 1 0 1 1 0 0 1/ 6 2 / 3
0 0 0 0 0 0 1 0 0 1/ 6
h 1 ( i i 1 ) i (f i f i 1 ) 2 2 f c f ( c , t i h i / 2) h x i 1 x i i (f i 4f c f i 1 ) 6 (équation en xi+1) c
1572
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Méthodes d’ordre 4 Méthode à 4 étapes • Méthode « avec règle des 3/8 »
0 0 1/ 3 1/ 3 2 / 3 1/ 3 1 1 1/ 8 •
explicite, d’ordre 4
0 0 0 0 0 0 1 0 0 1 1 0 3 / 8 3 / 8 1/ 8
Méthode « classique » de Runge-Kutta
0 0 0 0 0 1/ 2 1/ 2 0 0 0 1/ 2 0 1/ 2 0 0 1 0 0 1 0 1/ 6 2 / 6 2 / 6 1/ 6
explicite, d’ordre 4
Méthode très robuste pour la majorité des applications Constante de stabilité si f lipschitzienne de constante L
S = eLT avec T = tf t0
1573
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Max CERF 2018
Techniques d’optimisation
5.4.2 Méthode classique de Runge-Kutta Méthode classique à 4 étapes • Formules détaillées (avec la notation usuelle)
k 1 k 2 k 3 k 4
h i f (x i , t i ) 1 1 h i f x i k1 , t i h i 2 2 1 1 hif xi k 2 , t i hi 2 2 h i f ( x i k 3 , t i 1 )
x i 1 x i
1 ( k 1 2k 2 2k 3 k 4 ) 6
1/ 2
•
f (t)dt 2 f (0)
Méthodes de quadratures associées
1
0
0 0 0 0 0 1/ 2 1/ 2 0 0 0 1/ 2 0 1/ 2 0 0 1 0 0 1 0 1/ 6 2 / 6 2 / 6 1/ 6
1/ 2
rectangles à gauche
0
1
rectangles à droite point milieu Simpson
f ( t )dt
1 1 f 2 2 1
f (t)dt f 2 0
1
2 1
2 1 1
f (t)dt 6 f 0 6 f 2 6 f 2 6 f (1) 1
0
1574
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Contrôle d’erreur Estimation d’erreur • On peut évaluer l’erreur en comparant : - la solution x1 obtenue en 1 seul pas 2h - la solution x2 obtenue en 2 pas moitié h Pour une méthode d’ordre p, l’erreur de consistance est en Chp+1 .
e1 y( t 0 2h ) x1 C(2h ) p 1 o(2h p 1 ) e 2 y( t 0 2h ) x 2 2C(h ) p 1 o(h p 1 ) •
erreur associée à x2 avec 2 pas h
L’écart entre la solution x2 en 2 pas et la solution x1 en 1 pas permet d’estimer l’erreur. On peut régler le pas hmax pour que l’erreur reste inférieur à une tolérance donnée max.
x 2 x1 2Ch p 1 (2 p 1) o(h p 1 ) •
erreur associée à x1 avec 1 pas 2h
1 max p 1
h max h
L’écart permet également d’éliminer le terme en hp+1 dans l’expression de x2. x 2 d’ordre p+1 à partir de x2 (méthode d’extrapolation locale). On obtient une solution ~
~ x2 x2
2p 1
y( t 0 2h ) ~ x 2 o(h p 1 )
1575
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Contrôle d’erreur Méthodes emboîtées • Une méthode de Runge-Kutta réalise plusieurs évaluations de f pour construire la solution. •
Si les coefficients de la méthode sont bien choisis, il est possible de réutiliser ces évaluations pour construire une deuxième solution d’ordre inférieur (méthode « emboîtée ») L’écart entre ces 2 solutions donne une estimation d’erreur sans évaluation supplémentaire. Cet écart est utilisé pour régler le pas afin que l’erreur reste dans une tolérance donnée.
•
On utilise aussi les évaluations pour construire une sortie dense. La sortie dense est une interpolation à un ordre donné de la solution sur le pas de temps. permet de générer une solution précise sans réduction du pas de temps
•
Il existe un très grand nombre de possibilités pour construire des méthodes emboîtées. On désigne la méthode sous la forme p(p’) avec : p = ordre de la solution p’ = ordre de la solution emboîtée Exemples - méthodes de Fehlberg ordre 4(5) , 7(8) , - méthodes de Dormand – Prince ordre 5(4) , 8(6) ,
1576
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Exemple Méthode d’Euler • L’erreur de consistance pour une méthode d’ordre p est donnée par
h ip 1 ei p! •
•
1 d pf p ( x i , t i ) p ( t i , x i ,0) p p 1 dt h
Pour la méthode d’Euler :
x i 1 x i h i f ( x i , t i )
La méthode est d’ordre 1 :
h i2 df ei (x i , t i ) 2 dt
( x, t , h ) f ( x, t )
On peut estimer cette erreur avec les évaluations de f disponibles. x i 1 x i h i f ( x i , t i ) - Au pas numéro i : évaluation de fi = f(xi,ti) - Au pas numéro i+1 : x i 2 x i 1 h i 1f ( x i 1 , t i 1 ) évaluation de fi+1 = f(xi+1,ti+1) La valeur fi+1 nécessaire pour le pas suivant peut être utilisée pour estimer l’erreur au pas i.
f i 1 f i f x i h i f ( x i , t i ), t i h i f x i , t i h i f x ( x i , t i )f ( x i , t i ) h i f t ( x i , t i ) h i On obtient l’estimation d’erreur :
ei
df (x i , t i ) dt
hi (f i 1 f i ) 2
1577
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Exemple Méthodes d’ordre 4 ou 5 • Pour contrôler l’erreur d’une méthode d’ordre 4 ou 5, il faut au moins 6 étapes. On dispose ainsi de 6 évaluations de f pour construire la solution et la solution emboîtée.
k 1 k 2 k 3 k 6
h i f (x i , t i ) h i f x i 21k1 , t i 2 h h i f x i 31k1 32 k 2 , t i 3 h h i f x i 61k1 65 k 5 , t i 6 h
•
On peut trouver des coefficients (k, kj) permettant de construire - une solution d’ordre 5 avec (k) : x i 1 x i 1k1 2 k 2 6 k 6 - une solution d’ordre 4 avec (*k) : x *i 1 x i 1*k1 *2 k 2 *6 k 6
•
Exemples de méthodes à 6 étapes d’ordre 4 ou 5 - méthode 5(4) à 6 étapes de Cash-Karp - méthode 4(5) à 6 étapes de Fehlberg méthodes complexes à élaborer -
1578
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Exemple Méthode à 6 étapes • Méthode de Cash-Karp d’ordre 5(4) k
kj
0
0
1 5 3 10 3 5
1 5 3 40 3 10 11 54 1631 55296
1 7 8
0
0
0
0
0
0
0
0
0
0
0
0
0
9 40 9 10 5 2 175 512
6 5 70 27 575 13824
35 27 44275 110592
0 253 4096
k 37 378
*k 2825 27648
0
0
250 621 125 694
18575 48384 13525 55296 277 0 14336 512 1 1771 4
solution d’ordre 5
solution emboîtée d’ordre 4
1579
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Exemple Méthode à 6 étapes • Méthode de Fehlberg d’ordre 4(5) k
kj
0
0
1 4 3 8 12 13
1 4 3 32 1932 2197 439 216 8 27
1 1 2
0
0
0
0
0
0
0
0
0
0
0
0
0
9 32 7200 2197 8 2
7296 2197 3680 513 3544 2565
845 4104 1859 4104
0
k 25 216
*k 16 135
0
0
1408 2565 2197 4104 1 5
6656 12825 28561 56430 9 50 2 55
11 40
solution d’ordre 4
0
solution emboîtée d’ordre 5
1580
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Méthodes d’ordre supérieur Méthodes explicites de Runge-Kutta • Méthode 5(4) à 7 étapes de Dormand-Prince • Méthode 8(6) à 16 étapes de Dormand-Prince • Méthode 8(5,3) à 17 étapes de Dormand-Prince
code DOPRI5 code DOPR86 code DOP853
DOP853 inclut : - une estimation d’erreur à l’ordre 5 et à l’ordre 3 (améliore l’estimation) - une sortie dense à l’ordre 7 Méthodes d’extrapolation • Application d’une méthode d’ordre p sur l’intervalle [ti , ti+1] avec nj pas égaux à hi/nk - évaluation de xi+1 pour K différentes valeurs de nk (n1 < n2 < < nK) - extrapolation de la limite h 0 solution extrapolée xi+1 d’ordre p + K 1 méthode très précise •
Méthodes de Gragg – Bulirsch – Stoer (GBS) - séquence de Romberg (nk = 2k) - séquence harmonique (nk = k) code ODEX : ordre jusqu’à 18
Référence : Solving ordinary différential equations (E. Hairer, S.P. Norsett, G. Wanner)
1581
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Conditionnement Problème mathématiquement bien posé • On considère le problème de Cauchy : x f ( x, t ) , t 0 t t f x(t 0 ) x 0 •
•
Le problème est mathématiquement bien posé si la solution est unique et dépend de façon continue de x 0.
x 2 x Exemple : x ( t 0 ) en t 0 0
pour 0 t 0 - Si = 0, il existe une infinité de solutions : x ( t ) 2 ( t ) pour t x(t) (t ) 2 - Si 0, il existe une seule solution : La solution n’est pas unique pour =0, et n’est pas continue lorsque 0 . Le problème est mathématiquement mal posé.
1582
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Conditionnement Problème numériquement bien posé • On considère le problème de Cauchy : x f ( x, t ) , t 0 t t f x(t 0 ) x 0 •
•
Le problème est numériquement bien posé si la solution est faiblement perturbée par des erreurs d’arrondi.
x ax b Exemple : x ( t 0 ) x 0 en t 0 0 La solution générale est :
x(t)
1 (ax 0 b)e at b a
Une erreur d’arrondi sur x(t0) produit une erreur eat sur x(t). Si a > 0, la solution devient fortement perturbée par l’erreur d’arrondi à partir de t
ln a
Le problème est numériquement mal posé pour a > 0 si le temps final tf est trop grand.
1583
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Max CERF 2018
Techniques d’optimisation 5.4.2 Conditionnement
Problème bien conditionné • On considère le problème de Cauchy : x f ( x, t ) , t 0 t t f x(t 0 ) x 0 •
•
Le problème est bien conditionné si la solution peut être obtenue sans réduction excessive du pas de temps.
1 x ax b Exemple : solution générale : x ( t ) (ax 0 b)e at b a x ( t 0 ) x 0 en t 0 0 Méthode d’Euler :
x i 1 x i hf ( x i , t i ) (1 ah ) x i bh
b b b b (1 ah ) x i x n (1 ah ) n x 0 a a a a b Si a < 0, la solution exacte converge vers lim x ( t ) t a x i 1
Pour que la solution numérique converge, le pas h doit vérifier : 1 ah 1 h Le problème est mal conditionné (problème raide).
2 a
1584
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Max CERF 2018
Techniques d’optimisation 5.4.2 Adams
Méthode d’Adams • On suppose connue la solution aux K+1 dates : ti-K < ti-K+1 < … < ti-1 < ti valeurs de x : xi-K , xi-K+1 , … , xi-1 , xi valeurs de f : fi-K , fi-K+1 , … , fi-1 , fi t i1
On cherche la solution xi+1 à la date ti+1 : •
x i 1 x i
f (x, t)dt ti
Pour calculer l’intégrale, on remplace f par son polynôme d’interpolation P ou P* . Le polynôme d’interpolation prend les valeurs connues f i-k aux dates ti-k (k = 0 à K) P et optionnellement la valeur inconnue fi+1 à la date ti+1 (k = 1) P* P(t)
f fi-j
fi-K
fi-j-1
fi
P*(t)
fi+1
fi-1 fi-K-1
ti-K ti-K-1
ti-j
ti-j+1
ti-1
ti
ti+1
t
1585
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Adams Méthode explicite ou implicite • La méthode d’Adams-Bashforth à K+1 pas construit le polynôme d’interpolation P(t) en utilisant seulement les K+1 valeurs précédentes aux dates ti-K < ti-K+1 < … < ti-1 < ti - Le polynôme P(t) de degré K ne dépend que de valeurs connues : f i-K , fi-K+1 , … , fi-1 , fi t i1
- La méthode est explicite :
x i 1 x i
On obtient directement xi+1 . •
P(t)dt ti
La méthode d’Adams-Moulton à K+1 pas construit le polynôme d’interpolation P*(t) en utilisant les K+1 valeurs précédentes aux dates ti-K < ti-K+1 < … < ti-1 < ti et la valeur à la date ti+1 valeur inconnue - Le polynôme P*(t) de degré K+1 dépend de la valeur inconnue : f i+1 = f(xi+1 , ti+1) t i1
- La méthode est implicite :
x i 1 x i
P * (x
i 1 , t )dt
ti
Il faut résoudre une équation non linéaire pour obtenir xi+1 .
1586
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Adams Polynôme d’interpolation • Le polynôme d’interpolation prend les valeurs fi-k aux dates ti-k avec : 0 k K pour P(t) 1 k K pour P*(t) •
Le polynôme P s’exprime avec les polynômes de Lagrange L sur K+1 points (ti-K à ti). K
Polynômes de Lagrange : L k ( t )
t
j 0 j k K
Polynôme P(t) :
P( t )
f
t t i j ik
t i j
ik L k (t)
0 si j k L k (t i j ) 1 si j k
P( t i j ) f i j
k 0
•
Le polynôme P* s’exprime avec les polynômes de Lagrange L* sur K+2 points (ti-K à ti+1). K
Polynômes de Lagrange :
Polynôme P*(t) :
L*k ( t )
P * (t)
t
t t i j
j 1 i k j k K
f
t i j
* ik L k (t)
0 si j k L*k ( t i j ) 1 si j k P * (t i j ) f i j
k 1
1587
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Max CERF 2018
Techniques d’optimisation 5.4.2 Adams
Intégration du polynôme • On obtient la valeur de xi+1 à la date ti+1 en intégrant le polynôme d’interpolation P ou P*. •
Pour la méthode d’Adams-Bashforth à K+1 pas (notée ABK+1) t i1
x i 1 x i
P(t)dt
K
xi hi
ti
•
f
k ik
k 0
1 avec les coefficients k : k hi
t i1
L
k ( t )dt
ti
Pour la méthode d’Adams-Moulton à K+1 pas (notée AMK+1) t i1
x i 1 x i
ti
P * ( t )dt x i
K
hi *k f i k k 1
K
xi hi
On obtient une équation non linéaire en xi+1 : x i 1
f
* k ik
h i*1f i 1
k 0
K
h i*1f ( x i 1 , t i 1 )
Les coefficients *k sont associés aux polynômes de Lagrange L* :
xi hi *k
1 hi
f
* k ik
k 0 t i1 L*k ( t )dt
ti
1588
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Adams Ordre et stabilité • Méthode d’Adams-Bashforth ABK+1 - La méthode est explicite d’ordre K+1. - La méthode est stable pour une fonction f lipschitzienne de constante L. K
Constante de stabilité :
Se
bLT
avec b
k
et T t f t 0
k 0
stabilité faible si le nombre pas K augmente (car b et S deviennent grands) •
Méthode d’Adams-Moulton AMK+1 - La méthode est implicite d’ordre K+2. - La méthode est stable pour une fonction f lipschitzienne de constante L. K
Constante de stabilité : S * e
b*LT
avec b *
* k
et T t f t 0
k 1
stabilité meilleure que la méthode ABK+1 (car b* < b)
1589
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Adams Implémentation • Initialisation Pour appliquer une méthode d’Adams à K+1 pas, il faut disposer des K+1 pas précédents. Une méthode à pas simple doit être utilisée pour les K+1 premiers pas. On choisit en général une méthode de Runge-Kutta de même ordre avec un pas petit. •
Itérations Une méthode d’Adams-Moulton nécessite de résoudre l’équation non linéaire en xi+1. K
x i 1
h i*1f ( x i 1 , t i 1 )
xi hi
f
* k ik
k 0
On peut résoudre cette équation par une méthode de Newton ou de point fixe. K
- Initialisation :
( 0)
xi hi
f
* k ik
(ou (0) donné par la méthode ABK+1 avec k)
k 0
- Itérations :
( n 1)
K
xi hi
f
* k ik
h i*1f ( ( n ) , t i 1 )
k 0
Si le pas hi est suffisamment petit, la fonction est contractante et les itérations convergent.
1590
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Max CERF 2018
Techniques d’optimisation 5.4.2 Adams
Méthode PECE • Une méthode d’Adams-Moulton définit implicitement xi+1 comme solution de l’équation K
x i 1
h i*1f ( x i 1 , t i 1 )
xi hi
f
* k ik
k 0
Cette équation dépend des K+1 valeurs précédentes de f. •
Une méthode PECE consiste à résoudre cette équation en 4 étapes. -
Prédiction de xi+1 par une méthode explicite Evaluation de f(i+1,ti+1) Correction de i+1 par la formule d’Adams Evaluation de f(xi+1,ti+1)
i+1 K i+1 x i 1 x i h i *k f i k h i*1i 1 k 0 fi+1
•
Avec un prédicteur d’ordre K+1 (par exemple ABK+1), les propriétés de AMK+1 sont conservées. La méthode PECE est d’ordre K+2 et stable pour une fonction f lipschitzienne.
•
La méthode PEC consiste à utiliser i+1 sans réévaluer fi+1 pour gagner en temps de calcul. L’ordre reste K+2, la stabilité est légèrement inférieure à la méthode PECE.
1591
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Méthodes à 1 et 2 pas Méthode d’Adams-Bashforth • Méthode AB1 à 1 pas
•
Le polynôme d’interpolation est constant :
P( t ) f i
On obtient la méthode d’Euler :
x i 1 x i h i f i
Méthode AB2 à 2 pas Le polynôme d’interpolation est affine : Il passe par (ti-1,fi-1) et (ti,fi) .
P( t ) f i
f i f i 1 (t t i ) t i t i 1
t i1
L’intégrale sur [ti , ti+1] vaut : On obtient l’expression de xi+1 :
h P( t )dt h i f i i (f i f i 1 ) 2h i 1 ti
h x i 1 x i h i f i i (f i f i 1 ) 2h i 1 3f f x i 1 x i h i i 1 si le pas h est constant 2
1592
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Méthodes à 1 et 2 pas Méthode d’Adams-Moulton • Méthode AM1 à 1 pas Le polynôme d’interpolation est affine : Il passe par (ti,fi) et (ti+1,fi+1) .
P * (t) f i
f i 1 f i (t t i ) t i 1 t i
t i1
L’intégrale sur [ti , ti+1] vaut :
P * ( t )dt h i
ti
On obtient la méthode de Crank-Nicolson : (ou méthode des trapèzes)
•
L’équation à résoudre pour obtenir xi+1 est :
f i f i 1 2
x i 1 x i h i
f i f i 1 2
1 1 x i 1 h i f ( x i 1 , t i 1 ) x i h i f i 2 2
On peut appliquer une méthode PECE avec comme prédicteur AB1 (= Euler) d’ordre 1. L’algorithme est alors identique à la méthode de Heun. - Prédiction (Euler) : i 1 x i h i f i - Correction :
x i 1 x i
Evaluation : i 1 f ( i 1 , t i 1 )
1 1 h i f i h i i 1 2 2
1593
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Méthodes à 1 et 2 pas Méthode d’Adams-Moulton • Méthode AM2 à 2 pas Le polynôme d’interpolation est de degré 2 et passe par (ti-1,fi-1), (ti,fi) et (ti+1,fi+1) .
P * ( t ) f i 1
( t t i 1 )( t t i ) ( t t i 1 )( t t i 1 ) ( t t i )( t t i 1 ) fi f i 1 h i (h i 1 h i ) h i1h i h i1 (h i 1 h i )
On obtient en intégrant P*(t) sur [ti , ti+1] :
x i 1
3h i 1 2h i 3h i 1 h i h i2 xi hi f i 1 h i fi h i f i 1 6(h i 1 h i ) 6h i 1 6h i 1 (h i 1 h i )
Si le pas h est constant : •
8 1 5 x i 1 x i h i f i 1 fi f i 1 12 12 12
1 Avec un pas constant, les coefficients k h
ti h
L
k ( t )dt
sont identiques à chaque pas.
ti
On peut écrire directement les formules donnant xi+1 en fonction du nombre de pas K.
1594
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Méthodes à pas constant Formules d’Adams à pas constant h • Méthodes d’Adams-Bashforth
•
Euler explicite K 1 x i 1 x i hf i 3f f K 2 x i 1 x i h i i 1 2 23f i 16 f i 1 5f i 2 K 3 x i 1 x i h 12 55f i 59 f i 1 37 f i 2 9 f i 3 K 4 x i 1 x i h 24 Méthodes d’Adams-Moulton Euler implicite K 0 x i 1 x i hf i 1 f f K 1 x i 1 x i h i1 i Crank-Nicolson (ou trapèzes) 2 5f 8f i f i 1 K 2 x i 1 x i h i1 12 9 f 19 f i 5f i 1 f i 2 K 3 x i 1 x i h i1 24 251f i1 646f i 264f i 1 106f i 2 19 f i 3 K 4 x i 1 x i h 720
1595
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.2 Propagation
Techniques d’optimisation
Max CERF 2018
5.4.2 Autres méthodes Méthodes de Nyström et Milne-Simpson • Ces méthodes à pas multiples appliquent le même principe que les méthodes d’Adams. On suppose connue la solution aux K+1 dates : ti-K < ti-K+1 < … < ti-1 < ti valeurs de x : xi-K , xi-K+1 , … , xi-1 , xi valeurs de f : fi-K , fi-K+1 , … , fi-1 , fi La solution xi+1 est calculée à partir de xi-1 (au lieu de xi pour les méthodes d’Adams). t i1
x i 1 x i 1
f (x, t)dt
en remplaçant f par son polynôme d’interpolation P ou P* .
t i1
•
Nyström (explicite) :
K 1, 2 x i 1 x i 1 2hf i point milieu 7 f 2 f i 1 f i 2 K 3 x i 1 x i1 h i 3
•
Milne-Simpson (implicite) :
K0 K 1 K 2
x i 1 x i 1 2hf i 1 x i 1 x i 1 2hf i f 4 f i 1 f i 2 x i 1 x i1 h i 3
1596
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation
Techniques d’optimisation
Max CERF 2018
5.4.3 Collocation Principe Points de collocation
Collocation orthogonale Collocation de degré 3 Collocation de degré 5 Lien avec Runge-Kutta Collocation globale Méthode pseudospectrale
1597
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation
Max CERF 2018
Techniques d’optimisation 5.4.3 Collocation
Principe • On cherche une solution approchée d’une équation différentielle du 1er ordre.
x ( t ) f x ( t ), t , t 0 t t f x(t 0 ) x 0 •
Les méthodes de collocation construisent une solution polynomiale par morceaux. - L’intervalle [t0 , tf] est divisé en N segments : t0 < t1 < t2 < … < ti < ti+1 < … < tN = tf - La solution sur chaque segment [ti , ti+1] est approchée par un polynôme de degré K.
( t ) a 0 a 1t a 2 t 2 a K t K , t i t t i 1 •
Il faut déterminer les K+1 coefficients a0 , a1 , , aK sur le segment [ti , ti+1] pour que le polynôme soit « proche » de la solution exacte de l’équation différentielle. - On choisit K dates dans [ti , ti+1] : - On impose les K+1 conditions :
ti 1 < … < K ti+1
points de collocation
( t i ) x ( t i ) valeur initiale ( k ) f ( k , k ) , k 1 à K valeurs des dérivées
Le polynôme (t) vérifie ainsi la condition différentielle x f ( x, t ) aux dates k.
1598
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation
Max CERF 2018
Techniques d’optimisation 5.4.3 Collocation
Principe • Solution approchée sur [ti , ti+1] : ( t ) a 0 a 1t a 2 t 2 a K t K •
Conditions de collocation :
( t i ) x ( t i ) valeur initiale ( k ) f ( k , k ) , k 1 à K valeurs des dérivées
x (t)
x(ti) ti valeur initiale
1
k
k+1
points de collocation
K-1
ti+1
t
1599
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation
Techniques d’optimisation
Max CERF 2018
5.4.3 Collocation Points de collocation • La solution sur chaque segment [ti , ti+1] est approchée par un polynôme de degré K.
( t ) a 0 a 1 t a 2 t 2 a K t K •
Les K dates de collocation sont choisies librement dans l’intervalle [ti , ti+1]. ti 1 < … < K ti+1 Les conditions de collocation forment un système non linéaire de dimension K+1 dont les inconnues sont les K+1 coefficients a0 , a1 , , aK du polynôme de collocation
( t i ) x ( t i ) ( k ) f ( k , k ) , k 1 à K •
conditions de collocation
Les dates ti et ti+1 peuvent être prises ou non comme dates de collocation. - méthode de Gauss ne prend ni ti ni ti+1 : 1 > ti et K < ti+1 - méthode de Radau prend ti ou ti+1 : 1 = ti ou K = ti+1 - méthode de Lobatto prend ti et ti+1 : 1 = ti et K = ti+1
1600
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation
Techniques d’optimisation
Max CERF 2018
5.4.3 Collocation Points de collocation • Le polynôme de collocation (t) s’exprime avec les polynômes d’interpolation de Lagrange. K
Polynômes de Lagrange :
L j (t)
t k j k
k 0 k j K
Polynôme (t) :
( t )
L (t) j
j
0 si k j L j ( k ) 1 si k j
( k ) k
j 0
•
Les inconnues sont les valeurs k = (k) prises par le polynôme aux dates de collocation k . Les conditions de collocation ( k ) f ( k , k ) se mettent sous la forme K
L ( j
j
k)
f ( k , k ) , k 1 à K
système non linéaire à K inconnues k
j 0
•
Les dates de collocation k peuvent être choisies de différentes façons. - collocation standard dates équidistantes dans l’intervalle [ti , ti+1] - collocation orthogonale dates = racines d’un polynôme d’une famille orthogonale
1601
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation
Max CERF 2018
Techniques d’optimisation 5.4.3 Collocation orthogonale
Points de collocation • Une collocation orthogonale consiste à prendre comme dates de collocation k les racines d’un polynôme d’une famille de polynômes orthogonaux (Legendre, Tchebychev). Le choix de points orthogonaux augmente la précision des formules de quadrature.
•
Exemples avec les polynômes de Legendre PN de degré N définis sur [1 , +1]. On peut choisir les points de - Legendre-Gauss - Legendre-Gauss-Radau - Legendre-Gauss-Lobatto
k = racines de PN k = racines de PN1 + PN k = racines de P N en ajoutant 0 = 1 , N = +1
N points N points N+1 points N
Le polynôme de collocation () sur l’intervalle [1 , +1] est :
()
L () j
j
j 0 ou 1
en utilisant les polynômes de Lagrange associés aux dates k .
On se ramène aux dates de l’intervalle d’intégration [ti , ti+1] par :
t ti 1 t i 1 t i 2
1602
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation
Techniques d’optimisation
Max CERF 2018
5.4.3 Collocation de degré 3 Polynôme de degré 3 • On utilise fréquemment des polynômes de collocation de degré 3.
( t ) a 0 a 1t a 2 t 2 a 3 t 3 sur [ t i , t i 1 ] •
On se ramène à l’intervalle [0 , 1] par changement de variable sur t.
(s) 0 1s 2s 2 3s 3 sur [0 , 1] •
t ti t i 1 t i
La dérivée de par rapport à s est notée ’ .
' •
avec s
d d dt ds dt ds
d dt avec f (, t ) et t i 1 t i T noté dt ds
Les conditions de collocation en variable s sur l’intervalle [0 , 1] sont de la forme
' (s) 1 2 2s 3 3s 2 T f (, t ) Les inconnues sont les 4 coefficients (0, 1, 2, 3) du polynôme de collocation. Pour déterminer ces 4 inconnues, on choisit 3 points de collocation (s1, s2, s3).
1603
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation
Techniques d’optimisation
Max CERF 2018
5.4.3 Collocation de degré 3 Points de collocation • Le choix standard est de prendre des points de collocation équidistants. - s1 = 0 (point initial du segment) noté 0 associé à la date t0 - s2 = ½ (point milieu du segment) noté c associé à la date tc - s3 = 1 (point final du segment) noté 1 associé à la date t1 •
•
Les 4 conditions de collocation sont :
0 x 0 '0 T f ( 0 , t 0 ) () 0 1 2 2 3 3 ' T f ( , t ) avec 2 c c ' () 1 2 2 3 3 c '1 T f (1 , t1 )
On obtient le système d’équations :
0 x0 T f ( 0 , t 0 ) 1 3 1 1 1 T f , t 2 3 0 1 2 3 c 1 4 2 4 8 1 2 2 3 3 T f 0 1 2 3 , t1
En pratique, on ne résout pas directement ce système non linéaire en (0, 1, 2, 3). On formule un système réduit avec comme inconnues les valeurs 0 et 1.
1604
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation
Max CERF 2018
Techniques d’optimisation 5.4.3 Collocation de degré 3
Formulation réduite • Pour réduire le système on exprime les coefficients (0,1,2,3) en fonction de 0 , 1 , '0 , '1 .
0 0 '0 1 0 1 2 3 1 '1 1 2 2 3 3 •
0 ' 0 3 0 2'0 31 '1 2 0 '0 21 '1
Les conditions de collocation en 0 et 1 permettent d’exprimer '0 et '1 en fonction de 0 et 1 .
'0 T 0 T f ( 0 , t 0 ) '1 T 1 T f (1 , t1 ) •
0 1 2 3
0 1 2 3
0 f0 3 0 31 2f 0 f1 2 0 21 f 0 f1
en notant
f 0 T f ( 0 , t 0 ) f T f ( , t ) 1 1 1
Les coefficients (0, 1, 2, 3) ne dépendent que des valeurs 0 et 1 . - La valeur initiale est connue : 0 = x0 - La valeur finale inconnue 1 doit permettre de respecter la condition de collocation en c . On se ramène ainsi à une équation à une inconnue.
1605
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation
Techniques d’optimisation
Max CERF 2018
5.4.3 Collocation de degré 3 Formulation réduite • La condition de collocation au milieu du segment (c = ½) se met sous la forme
'c T c T f ( c , t c )
•
On remplace les coefficients (0, 1, 2, 3) exprimés en fonction de 0 et 1 .
0 1 2 3 •
avec
1 1 1 3 c 0 1 2 2 4 8 'c 1 2 3 3 4
0 f0 3 0 31 2f 0 f1 2 0 21 f 0 f1
1 1 ( ) ( f 0 f1 ) 0 1 c 2 8 'c 3 ( 0 1 ) 1 (f 0 f1 ) 2 4
On obtient l’équation à résoudre pour trouver 1 (appelée équation d’écart).
1 1 1 3 T f ( 0 1 ) (f 0 f1 ) , t c ( 0 1 ) (f 0 f1 ) 0 8 4 2 2
1606
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation
Max CERF 2018
Techniques d’optimisation 5.4.3 Collocation de degré 3
Formulation réduite
0 x 0 , 0 f ( 0 , t 0 ) 1 x1 , 1 f (1 , t1 )
(0,1,2,3) en fonction de x0,x1
x0 connu x1 inconnu
1 inconnue
c f ( c , t c )
1 équation d’écart
x x1
x0 t0
tc
t1
t
1607
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation
Techniques d’optimisation
Max CERF 2018
5.4.3 Exemple Collocation de degré 3 •
Equation différentielle : x x f ( x, t ) x Condition initiale : x(t0=0) = 1 On cherche la valeur : x(t1=1) T = t 1 t0 = 1
•
Equation d’écart :
f ( x, t ) x
1 1 1 3 T f ( 0 1 ) (f 0 f1 ) , t c ( 0 1 ) (f 0 f1 ) 0 8 4 2 2 1 1 3 1 ( 0 1 ) (f 0 f1 ) ( 0 1 ) (f 0 f1 ) 0 2 8 2 4 f T f ( 0 , t 0 ) T 0 0 16 0 81 3f 0 f1 0 avec 0 f1 T f (1 , t1 ) T 1 1 19 0 71 0
1
x(t1=1) 2,71429
19 0 2.71429 7
(valeur exacte = e1 2,71828)
•
On obtient la valeur approchée :
•
Le polynôme de collocation est : ( t ) 1 t 0.42857 t 2 0.28571 t 3
1608
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation
Max CERF 2018
Techniques d’optimisation 5.4.3 Collocation de degré 5
Polynôme de degré 5 • Une solution plus précise peut être obtenue avec des polynômes de degré 5.
(s) 0 1s 2s 2 3s 3 4s 4 5s 5 sur [0 , 1] •
On utilise 5 points de collocation (s1, s2, s3, s4, s5). Pour minimiser l’erreur d’interpolation, on choisit les points orthogonaux de Gauss-Lobatto.
s1 0 0 noté
1 1 noté 2 1 s3 c noté 2 1 s 4 g 2 1 noté 2 s 2 g1
s 5 1 1 noté
date t0
3 0.173 7
date tg1 date tc
3 0.827 7
date tg2
t0
tg1
tc
tg2 t1
date t1
1609
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation
Techniques d’optimisation
Max CERF 2018
5.4.3 Collocation de degré 5 Formulation réduite • Les inconnues sont les 6 coefficients du polynôme (0, 1. 2 , 4 , 5). On réduit le système en considérant comme inconnues les valeurs 0 , c et 1.
(s) 0 1s 2s 2 3s 3 4s 4 5s 5 ' (s) 1 2 2s 3 3s 2 4 4s 3 5 5s 4
0 '0 1 ' 1 c 'c •
0 1 avec 0 1 2 3 4 5 avec 1 2 2 3 3 4 4 5 5 1 1 1 1 1 0 1 2 3 4 5 2 4 8 16 32 3 1 5 avec 1 2 3 4 5 4 2 16
'0 T 0 T f ( 0 , t 0 ) '1 T 1 T f (1 , t1 )
'c T c T f ( c , t c )
Ce système linéaire permet d’exprimer (0, 1. 2 , 4 , 5) en fonction des valeurs 0 , c et 1. - La valeur initiale est connue : 0 = x0 - Les valeurs c et 1 doivent permettre de respecter les conditions de collocation en g1 en g2 . On se ramène ainsi à deux équations à deux inconnues.
1610
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation
Max CERF 2018
Techniques d’optimisation 5.4.3 Collocation de degré 5
Formulation réduite
0 x 0 , 0 f ( 0 , t 0 ) 1 x1 , 1 f (1 , t1 ) x , f ( , t ) c c c c c
x0 connu
(0,1,2,3,4,5) en fonction de x0,x1,xc x
x1 inconnu xc inconnu
2 inconnues
g1 f ( g1 , t g1 ) g 2 f ( g 2 , t g 2 )
2 équations d’écart
xc x1
x0 t0
tg1
tc
tg2
t1
t
1611
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation
Techniques d’optimisation
Max CERF 2018
5.4.3 Lien avec Runge-Kutta Formule de collocation • Les conditions de collocation pour un polynôme (t) de degré K sur [ti , ti+1] sont
•
valeur initiale ( t i ) x ( t i ) ( ) f ( , ) f valeurs des dérivées aux dates k k k k , k 1 à K k noté La dérivée ( t ) est un polynôme de degré K1 prenant les valeurs fk aux dates k , k=1 à K . On peut l’exprimer avec les polynômes d’interpolation de Lagrange Lj(t). K
Polynômes de Lagrange : L j ( t )
k 1 k j
Polynôme ( t ) :
( t )
t k j k
0 si k j L j ( k ) 1 si k j
K
f L (t) j
( k ) f k
j
j1
•
En intégrant sur [ti , k] :
k
K
( k ) ( t i )
f L (t)dt j
j1
j
avec ( t i ) x ( t i )
ti
On obtient les valeurs du polynôme (t) aux dates k , k=1 à K et à ti+1 (même formule).
1612
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation
Max CERF 2018
Techniques d’optimisation 5.4.3 Lien avec Runge-Kutta
Formule de Runge-Kutta • Une méthode de Runge-Kutta à K étapes est définie par les coefficients k , k , kj . K
K
x i 1 x i h i
f ( k
k , k )
avec k x i h i
kjf ( j , j )
, k 1 à K
j1
k 1
•
1 k En choisissant : k t 0 k h i hi (dates de collocation)
t i1
L
k ( t )dt
et kj
ti
1 hi
k
L (t)dt j
ti
on retrouve les valeurs du polynôme (t) aux dates k , k=1 à K et à la date ti+1 (page précédente). t i1
K
( t i 1 ) x i
f L (t)dt j
j1
•
j
ti
k
K
et ( k ) x i
f L (t)dt j
j1
j
avec f j f ( j , j )
ti
Une méthode de collocation de degré K peut donc être considérée comme une méthode particulière de Runge-Kutta à K étapes (méthode implicite).
La réciproque est fausse : les méthodes de Runge-Kutta ne sont pas toutes équivalentes à des méthodes de collocation.
1613
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation
Techniques d’optimisation
Max CERF 2018
5.4.3 Collocation globale Collocation locale ou globale • Une méthode de collocation consiste à - découper l’intervalle [t0 , tf] en N intervalles [ti , ti+1] - construire sur chaque intervalle un polynôme de collocation de degré K - choisir les points k auxquels sont imposés les conditions de collocation La précision de la solution dépend :
- du nombre N d’intervalles - du degré K des polynômes - du positionnement des points de collocation
•
Méthode de collocation locale : Méthode de collocation globale :
degré fixé nombre de points variable points fixés degré du polynôme variable
•
Une méthode pseudospectrale est une méthode de collocation globale orthogonale. différents choix possibles des points et du polynôme de collocation Le polynôme de collocation est défini sur l’intervalle [1 , +1].
On se ramène à l’intervalle d’intégration [t0 , tf] par :
t t0 1 tf t0 2
1614
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation
Techniques d’optimisation
Max CERF 2018
5.4.3 Méthode pseudospectrale Méthode de Legendre-Gauss-Lobatto (LGL) • Points de collocation = points de Gauss-Lobatto avec les extrémités 1 et +1 0 = 1 , 1 , , N1 , N = +1
•
avec (1 , , N1) = racines de P N
Polynôme de collocation : exprimé avec les polynômes de Lagrange Lj (associés à j , j=0 à N) N
()
L () j
j
degré N
j 0
•
Conditions de collocation
()
N
L () j
j
degré N1
j 0
( k ) f ( k ), k , k 0 à N •
N+1 conditions aux points (0 , , N)
On obtient un système de N+1 équations à N+1 inconnues (0 , , N) . L’état final associé à N = +1 s’obtient en résolvant le système.
1615
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation
Techniques d’optimisation
Max CERF 2018
5.4.3 Méthode pseudospectrale Méthode de Legendre-Gauss (LG) • Points de collocation = points de Legendre-Gauss avec l’extrémité initiale 1 0 = 1 , 1 , , N < +1
•
avec (1 , , N)
= racines de PN
Polynôme de collocation : exprimé avec les polynômes de Lagrange Lj (associés à j , j=0 à N) N
()
L () j
j
degré N
j 0
•
Conditions de collocation
()
N
L () j
j
degré N1
j 0
( k ) f ( k ), k , k 1 à N •
N conditions aux points (1 , , N)
On obtient un système de N équations à N inconnues (1 , , N) avec 0 = x(t0). L’état final (N+1 = +1) est calculé par la quadrature associée aux points de Legendre-Gauss.
1616
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.3 Collocation
Max CERF 2018
Techniques d’optimisation 5.4.3 Méthode pseudospectrale
Méthode de Legendre-Gauss-Radau (LGR) • Points de collocation = points de Legendre-Gauss-Radau avec l’extrémité initiale 1 0 = 1 , 1 , , N < +1
•
avec (1 , , N)
= racines de PN-1 + PN
L’extrémité finale (notée N+1 = +1) ne fait pas partie des points de collocation. Cette méthode s’applique à des problèmes en temps infini : tf + Le polynôme de collocation est construit sur l’intervalle [1 , +1]. On se ramène à l’intervalle d’intégration [0 , + ] par : t
1 1 N ou N 1
•
Le polynôme de collocation est de degré N ou N+1 :
()
L () j
j
j 0
avec N+1 conditions de collocation aux points (0 , , N).
•
Le coût final (associé à N+1 = +1) est calculé par quadrature sur les points (0 , , N).
1617
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes
Techniques d’optimisation
Max CERF 2018
5.4.4 Méthodes directes Discrétisation Conditions d’optimalité
Collocation Méthode variationnelle
1618
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes
Max CERF 2018
Techniques d’optimisation 5.4.4 Méthodes directes
Discrétisation • On considère un problème de contrôle à temps final fixé et coût final. (on peut toujours se ramener à cette formulation par changement de variables).
Problème OCP : •
x f ( x, u, t ) , x(t0) donné min J ( x f ) avec u ( x f ) 0
Une méthode directe consiste à passer à un problème d’optimisation de dimension finie en discrétisant l’état x et la commande u sur N intervalles : t0 < t1 < … < ti < … < tN Discrétisation de l’équation d’état : N contraintes :
Problème NLP :
min F ( x N ) ui ,xi
x i
x i 1 x i f (x i , u i , t i ) hi
(différence finie avant) avec hi = ti+1 ti
C i (u i , x i , x i 1 ) x i 1 x i h i f ( x i , u i , t i ) 0
C (u , x , x ) 0 , i 0 à N 1 sous i i i i 1 ( x N ) 0
1619
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes
Techniques d’optimisation
Max CERF 2018
5.4.4 Méthodes directes Conditions d’optimalité • Les conditions d’optimalité du problème OCP sont les conditions du PMP. Les conditions d’optimalité du problème NLP sont les conditions KKT. La comparaison de ces conditions d’optimalité donne des relations adjoints – multiplicateurs. •
Problème OCP :
x f ( x, u, t ) , x(t0) donné min J ( x f ) avec u ( x f ) 0
Hamiltonien :
H( x, u, p, t ) p T f ( x, u, t )
Conditions PMP :
x H p p H x H u 0 ( x f ) 0 p xf xf f
avec adjoint p
x f p f T p x T f u p 0 ( x f ) 0 p xf xf f
Les multiplicateurs sont associés aux contraintes finales .
1620
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes
Max CERF 2018
Techniques d’optimisation 5.4.4 Méthodes directes
Conditions d’optimalité •
min F ( x N )
Problème NLP :
ui ,xi
C (u , x , x ) 0 , i 0 à N 1 sous i i i i 1 ( x N ) 0 N 1
L(u i , x i , i , ) ( x N )
Lagrangien :
C (u , x , x T i
i
i
i
i 1 )
T
( x N )
i 0
avec C i (u i , x i , x i 1 ) x i 1 x i h i f ( x i , u i , t i ) , i 1 à N 1 multiplicateurs i associés aux contraintes Ci multiplicateurs associés aux contraintes
Conditions KKT :
f uT ( x i , u i , t i ) i 0 u L 0 i T i 1 i h i f x ( x i , u i , t i ) i 0 x i L 0 x N L 0 x ( x N ) x ( x N ) N 1 0 L 0 C (u , x , x ) 0 i i i i i 1 L 0 ( x N ) 0
pour i = 1 à N-1
1621
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes
Techniques d’optimisation
Max CERF 2018
5.4.4 Méthodes directes Comparaison des conditions d’optimalité • On exprime la limite des conditions KKT lorsque le pas de discrétisation tend vers 0. Les multiplicateurs (i) i=1 à N-1 deviennent une fonction (t) .
f uT ( x i , u i , t i ) i 0 T i 1 i h i f x ( x i , u i , t i ) i 0 x ( x N ) x ( x N ) N 1 0 C (u , x , x ) 0 i i i i 1 ( x N ) 0
•
h0 i
On retrouve les conditions du PMP avec = p : Conventions de signe : L = f + Tc H = L+ pTf
f uT ( x, u, t ) 0 T f x ( x, u, t ) ( t f ) x ( x f ) x ( x f ) x f ( x, u, t ) ( x f ) 0
x f p f T p x T f u p 0 ( x f ) 0 p xf xf f
Les multiplicateurs i sont des approximations discrètes de l’adjoint p aux dates ti.
1622
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes
Techniques d’optimisation
Max CERF 2018
5.4.4 Méthodes directes Collocation • Le problème de contrôle comporte l’équation différentielle : x f ( x, u, t ) , t [ t 0 , t f ] Une méthode de propagation est numériquement sensible pour des problèmes à temps long car une variation de commande en début de trajectoire a un effet important sur l’état final. •
Une méthode de collocation permet de découpler les variations de commande et d’état. - L’intervalle [t0 , tf] est divisé en N segments : t0 < t1 < … < ti < ti+1 < … < tN = tf - L’état est approché par un polynôme sur chaque segment avec des conditions de collocation
•
Le problème d’optimisation de dimension finie est de la forme
(u1 ,, u N , x1 ,, x N ) 0 min (u1 ,, u N , x1 ,, x N ) sous ui ,xi C i (u i , u i 1 , x i , x i 1 ) 0 , i 0 à N 1 Les conditions de collocation Ci ne dépendent que des variables du segment [ti , ti+1] matrice jacobienne creuse
•
La dimension du problème dépend du maillage (à adapter selon l’erreur de discrétisation). Cette formulation permet la prise en compte de discontinuités (état, dynamique).
1623
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes
Techniques d’optimisation
Max CERF 2018
5.4.4 Méthode variationnelle Problème de contrôle à temps final libre avec contraintes finales tf
min J u,t f
t0
L( x, u, t )dt x ( t f ), t f
avec x f ( x, u, t ) , x R n , u R m x ( t f ), t f 0 , R q
La méthode variationnelle est une méthode directe . On cherche à minimiser J sous les contraintes en utilisant les variations premières J et . •
Etape 1 On part d’une solution initiale : temps final tf , commande u(t) , t[t0 , tf] Cette solution n’est pas optimale et ne respecte pas les contraintes finales.
•
Etape 2 On exprime les variations J et en fonction des variations tf et u(t) , t[t0 , tf] . Ces variations s’expriment avec les fonctions d’influence (adjoints associés à J et ).
•
Etape 3 On calcule des corrections tf et u réduisant le coût et rapprochant d’une solution admissible. La solution est mise à jour et on reprend à l’étape 1.
1624
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes
Techniques d’optimisation
Max CERF 2018
5.4.4 Méthode variationnelle Variations de J et • La variation du coût J s’exprime en fonction de son adjoint p0 et son hamiltonien H0. tf
J [L ]t f t f
H T0 u udt
t0
•
p H 0x avec 0 p 0 ( t f ) x ( t f )
et H 0 ( x, u, p 0 , t ) L( x, u, t ) p T0 f ( x, u, t )
La variation de la contrainte j s’exprime en fonction de son adjoint pj et son hamiltonien Hj. tf
j [ j ]t f t f
t0
H Tju udt
H jx p avec j p j ( t f ) jx ( t f )
et H j ( x, u, p j , t ) p Tj f ( x, u, t ) •
Le calcul de ces variations nécessite une intégration directe et une intégration rebours. - L’intégration directe de l’état x avec la commande u donne l’état final x(tf) . - Les adjoints p0 et (pj)j=1 à q sont évalués à l’instant final tf par les dérivées x et x . - L’intégration rebours des adjoints permet d’exprimer J et en fonction de u et tf .
1625
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes
Max CERF 2018
Techniques d’optimisation 5.4.4 Méthode variationnelle
Forme matricielle • On note : P la matrice composée des adjoints (pj)j=1 à q associés aux contraintes G le vecteur des hamiltoniens (Hj)j=1 à q correspondants p1
P (p1 ,, p q ) •
pq
R nq ,
H1 G Rq Hq
G x
H qx
R nq
Les équations des adjoints aux contraintes se mettent sous forme matricielle.
H j ( x, u, p j , t ) p Tj f ( x, u, t ) G P t f H jx P G x f x P p j p ( t ) ( t ) P( t f ) x ( t f ) jx f j f •
H1x
f j avec f x x i
f1x
f nx
R nn
On obtient l’expression matricielle de la variation des contraintes tf
tf
0
0
H1u
]t t f G Tu udt avec G u j [ j ]t f t f H Tju udt [ f t t
H qu
R mq
1626
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes
Max CERF 2018
Techniques d’optimisation 5.4.4 Méthode variationnelle
Minimisation locale • La solution initiale (u,tf) n’est pas optimale et ne respecte pas les contraintes finales : f 0 On cherche des variations u(t) , tf réduisant le coût et rapprochant d’une solution admissible.
Le problème de minimisation locale à résoudre est : min J sous f u ,t f
•
Ce problème n’a pas de solution, car J et sont linéaires en fonction de u(t) et tf . Il faut : - soit exprimer la variation seconde de J (méthode variationnelle d’ordre 2) - soit convexifier le problème en ajoutant des termes quadratiques en u(t) et tf .
•
Le problème convexifié est :
min J c sous f
u ,t f
avec J c
tf
1 1 J b(t f ) 2 u T Wu dt def 2 2 t0
Le réel positif b et la matrice symétrique positive WRmm sont arbitraires. Les valeurs de b et W permettent de contrôler l’amplitude des variations u(t) et tf .
1627
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes
Max CERF 2018
Techniques d’optimisation 5.4.4 Méthode variationnelle
Minimisation locale • Le problème convexifié est un problème quadratique linéaire en u(t) et tf . tf
min J c
u ,t f
1 1 b(t f ) 2 [L ]t f t f u T Wu dt 2 2 tf
sous [ ]t f t f
t0
G Tu udt f
tf
t0
pour annuler les contraintes
t0
•
H T0 u udt
1 Rq q
On associe un multiplicateur j à chaque contrainte j :
Le coût augmenté est défini par : J a J c T ( f ) tf
1 1 ]t t f J a b(t f ) 2 [L T u T Wudt f 2 2 t0
•
Les conditions nécessaires de minimum sont :
Ja = 0 2Ja 0
tf
H
T 0u
T G Tu udt T f
t0
(variation première nulle) (variation seconde positive)
1628
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes
Max CERF 2018
Techniques d’optimisation 5.4.4 Méthode variationnelle
Minimisation locale • On exprime les variations première et seconde de Ja en fonction des variations de u(t) et tf . tf
1 1 ]t t f u T W H T0 u T G Tu udt T f J a b(t f ) 2 [L T f 2 2 t
0
]t (t f ) J a bt f [L T f
tf
u
T
W H T0 u T G Tu (u )dt
t0 tf
2 J a b (t f ) 2
(u)
T
W (u )dt
t0
•
La variation première Ja s’annule pour : u W 1 H 0 u G u
(W symétrique)
1 ]t t f [L T f b •
La variation seconde 2Ja est positive car b et W sont choisis positifs.
1629
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes
Max CERF 2018
Techniques d’optimisation 5.4.4 Méthode variationnelle
Correction • Les corrections u et tf produisent des variations des contraintes. tf
[ ]t f t f
G Tu udt
t0
u W 1 H 0 u G u 1 ]t t f [L T f b •
1 [L T ]t f [ ]t f b
tf
G
T 1 uW
H 0u G u dt
t0
La variation des contraintes doit être égale à : f
On en déduit les multiplicateurs . tf 1 T T 1 []t f [ ]t f G u W G u dt b t0
en utilisant
1
1 [L ]t f [ ]t f f b
tf
t0
G Tu W 1H 0 u
dt
] t [ ] t [ ] t [ T ] t [ ] t [ ]Tt [T f f f f f f R
Rq
1630
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes
Max CERF 2018
Techniques d’optimisation 5.4.4 Méthode variationnelle
Corrections u et tf • La solution du problème de minimisation locale s’exprime avec les intégrales d’influence. tf
I
G Tu W 1G u dt , I J
t0
tf
G Tu W 1H 0 u dt I TJ , I JJ
t0
tf
H T0 u W 1H 0 u dt
t0
1
1 1 [ ]t f [ ]Ttf I f [L ]t f [ ]t f I J b b
•
Multiplicateurs :
•
Corrections de u et tf :
•
Les variations attendues de et J sont données par
u W 1 H 0 u G u 1 t f [L T ]t f b
tf
[ ]t f t f G Tu udt t0
tf
1 [L T ]t f [ ]t f b
I J I
1 J [L ]t f t f H T0 u udt [L T ]t f [L ]t f I JJ I J b t0
f
1631
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes
Max CERF 2018
Techniques d’optimisation 5.4.4 Méthode variationnelle
Réglage des corrections • L’application des corrections u et tf produit des variations réelles Jr et r . Ces variations peuvent différer des variations attendues J et (évaluées par linéarisation). L’amplitude des corrections u et tf doit être contrôlée pour rester dans le domaine linéaire - en modifiant les pondérations b et W - en visant un rattrapage partiel des contraintes : = f , 0 < 1 - en appliquant progressivement la correction u : u , fonction croissante de t , 0 1 •
La solution optimale est obtenue lorsque : - les corrections u(t) et tf sont nulles. - les variations et J sont nulles
u 0 H 0 u G u 0
On retrouve les conditions d’optimalité en posant
]t 0 t f 0 [L T f
H H 0 G L p T f et p p 0 P def
def
0
1 [L T ]t f [ ]t f (I J I ) 0 b
J 0
1 ]t [L ]t I JJ I J 0 [L T f f b
1 I I J 1 I JJ I J I I J 0
1632
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes
Max CERF 2018
Techniques d’optimisation 5.4.4 Méthode variationnelle
Algorithme Commande u , tf Intégration directe état x f ( x, u, t )
Amélioration J , ? non Mise à jour W , b ,
Stockage dérivées x(tf) , x(tf) , fx , fu , Lx , Lu , L( t f ) , ( t f ) , ( t f ) oui
Intégration rebours adjoints
f x p0 p 0 p ( t ) ( t ) x f 0 f
P fxP P ( t f ) x ( t f )
Matrices d’influence I , IJ , IJJ
Corrections u , tf Tests d’arrêt : u=0 , tf =0
1633
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes
Max CERF 2018
Techniques d’optimisation 5.4.4 Exemple
Formulation • On considère une trajectoire à accélération constante dans le plan vertical (x , z) en terre plate. On cherche la trajectoire maximisant la vitesse horizontale finale à altitude et temps fixés. tf
min J v x ( t f ) a cos dt avec z v v a sin g
t0
0 L cos
v f a sin g
z( t ) z c et f v( t f ) 0
(notation vz = v)
z( t ) z c f v( t f )
La méthode variationnelle est basée sur les adjoints au coût (p0) et aux contraintes (pj). •
Adjoint au coût :
•
Adjoints aux contraintes :
H 0x p 0 p ( t ) ( t ) x f 0 f
avec H 0 ( x, u, p 0 , t ) L( x, u, t ) p T0 f ( x, u, t )
H jx p j T p ( t ) ( t ) avec H j ( x, u, p j , t ) p j f ( x, u, t ) jx f j f P Gx fxP avec G P t f matrice P P ( t f ) x ( t f )
1634
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes
Max CERF 2018
Techniques d’optimisation 5.4.4 Exemple
Adjoints • L’adjoint p0 est lié à l’hamiltonien H0 et au coût final .
H 0 L p T0 f cos p 0 z v p 0 v (a sin g)
0 0 x 0 •
p ( t ) 0 0z f p 0 v ( t f ) 0
p 0z p 0 v p 0z p 0 v
0 p 0z
0 0
0 p0 0
L’adjoint p1 est lié à l’hamiltonien H1 et à la contrainte 1 sur l’altitude. L’adjoint p2 est lié à l’hamiltonien H2 et à la contrainte 2 sur la vitesse.
H j p Tj f p jz v p jv (a sin g)
p jz 0 p jv p jz
1 1 z( t f ) z c 1x 0
p 1 1z p1v t f t
2 v( t f ) 0
0 2x 1
p 0 2z p 2 v 1
0 1 P t t 1 f
1635
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes
Max CERF 2018
Techniques d’optimisation 5.4.4 Exemple
Matrices d’influence • Les matrices d’influence sont obtenues à partir des dérivées des hamiltoniens. tf
I (qq)
•
G
T 1 u W Gu
tf
dt , I J
t0
(q1)
G
T 1 u W H 0u
tf
dt I TJ , I JJ
t0
(11)
H
T 1 0u W H 0u
dt
t0
H 0 L p T0 f cos
H 0 u sin
v 1 tf t G P t f 1 a sin g 0
t t G Tu a cos f 1
On suppose que la commande initiale (t) est choisie constante (première itération). Les intégrales se calculent explicitement (en prenant W = I).
I
2 1 2 2 t 2 f a t f cos 6 3t f
3t f 6
t 1 , I J at f sin cos f 2 2
, I JJ t f sin 2
1636
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.4 Méthodes directes
Max CERF 2018
Techniques d’optimisation 5.4.4 Exemple
Correction de commande • L’altitude et la vitesse finale pour une commande constante sont 1 v( t f ) (a sin g) t f z( t f ) z c (a sin g) t f2 z c f 2 z( t ) 1 (a sin g) t 2 v( t f ) (a sin g) t f f f 2 •
Pour une correction des contraintes = f , les multiplicateurs sont (à temps final fixé)
1 I f I J
•
12z c 3 2 3 2 a t f cos 6z c t f [a sin (1 cos ) g]t f 1
On obtient la correction de commande pour la première itération.
u W 1 H 0 u G u
6z g a sin 3 c ( t f 2t ) a cos at f cos 6z c
En particulier pour g = 0 et = 0, la commande devient :
( t )
Cette commande se rapproche de la solution optimale :
tan ( t ) (1
at 3f
( t f 2t ) 2t ) tan 0 tf
1637
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Techniques d’optimisation
Max CERF 2018
5.4.5 Méthodes indirectes Méthode de tir Dérivées
Sensibilité Tir multiple Méthode de voisinage
1638
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Max CERF 2018
Techniques d’optimisation 5.4.5 Méthode de tir
Problème de contrôle à temps final libre avec contraintes finales tf
min J u,t f
L( x, u, t )dt x ( t f ), t f
avec x f ( x, u, t ) , x R n , u R m x ( t f ), t f 0 , R q
t0
La méthode de tir est une méthode indirecte . On cherche à résoudre les conditions d’optimalité
x0 p0
x H p ( x, u, p, t ) p H x ( x, u, p, t ) avec min H u ( x, p, t )
système de dimension n + q + 1
xf pf
u
Inconnues p0 n q tf 1
S(p0,,tf)
Equations ( x f , t f ) 0 p f xf xf H f tf tf
n q 1
1639
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Max CERF 2018
Techniques d’optimisation 5.4.5 Méthode de tir
Problème aux 2 bouts • Le système non linéaire à résoudre est de la forme S(p0 , , tf) = 0
La fonction S est appelée fonction de tir (shooting function). - Les inconnues portent sur des valeurs initiales : p0 problème aux 2 bouts (TBVP) - Les équations portent sur des valeurs finales : xf , pf tf p0 Canon : réglage p0 , tf •
Cible
La méthode de tir (shooting method) consiste à appliquer une méthode de type Newton. Les points critiques sont : - le calcul numérique des dérivées - l’initialisation de l’inconnue p(t0)
1640
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Max CERF 2018
Techniques d’optimisation 5.4.5 Dérivées
Dérivées de la fonction de tir • L’évaluation de la fonction de tir comporte l’intégration d’équations différentielles.
x z0 0 p0
z F(z, t )
contraintes finales
x zf f pf
(z f )
p0
•
Les dérivées de S par rapport à p0 dépendent des dérivées
S(p0)
z f z 0
matrice nn
Trois méthodes sont possibles pour évaluer la matrice de transition - dérivation externe - dérivation interne - équations variationnelles
z f z 0
1641
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Max CERF 2018
Techniques d’optimisation 5.4.5 Dérivées
Dérivation externe • La dérivation externe consiste à applique un incrément k sur la composante k de z0 . On obtient les dérivées partielles de zf par rapport à z0 en 1+n intégrations successives.
z0
z F(z, t )
z f (z 0 )
z 0 1
z F(z, t )
z f (z 0 1 )
z (z ) z f (z 0 ) z f f 0 1 (z 0 )1 1
z0 k
z F(z, t )
z f (z 0 k )
z (z k ) z f (z 0 ) z f f 0 (z 0 ) k k
z0 n
z F(z, t )
z f (z 0 n )
z (z n ) z f (z 0 ) z f f 0 (z 0 ) n n
•
L’équation différentielle est une boîte noire
implémentation simple
•
Les 1+n intégrations sont indépendantes
méthode non consistante si l’intégration est à pas variable
1642
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Max CERF 2018
Techniques d’optimisation 5.4.5 Dérivées
Dérivation interne • La dérivation interne consiste à réaliser simultanément les 1+n intégrations. On propage un vecteur Z de dimension n(1+n) contenant 1+n copies du vecteur z - la copie numéro 0 est la solution nominale initialisée avec z0 - la copie numéro k est la solution perturbée initialisée avec z0+k
z0 z 0 1 Z0 z0 k z0 n
F(z, t ) F ( z , t ) Z F(z, t ) F(z, t )
z f (z 0 ) z ( z ) f 0 1 Zf z f (z 0 k ) z f (z 0 n )
z f (z 0 ) k
On obtient les dérivées partielles de zf par rapport à z0 en une seule intégration du vecteur Z. •
Le vecteur d’état Z est de dimension n(1+n)
implémentation à modifier
•
Les 1+n intégrations sont simultanées
méthode consistante (même pas de temps)
1643
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Max CERF 2018
Techniques d’optimisation 5.4.5 Dérivées
Equations variationnelles • Les équations variationnelles sont les équations différentielles des écarts.
•
Solution nominale :
z F(z, t )
znom(t)
Solution perturbée :
z z F(z z, t )
z
z Fz z
z f (z 0 )
avec la matrice Fz
F (z nom , t ) z
k n 1 2 z f Pour z 0 0 , 0 , , 1 , , 0 , on obtient la dérivée partielle z f (z 0 ) k
Les n dérivées partielles sont obtenues en intégrant la matrice Z :
•
à l’ordre 1
L’intégration des équations variationnelles à partir d’un écart initial z0 donne l’écart final zf .
z 0
•
F z z
F Z Z avec Z 0 I z
Cette méthode est plus précise que la dérivation externe ou interne, mais nécessite de calculer la matrice Fz et d’implémenter les équations variationnelles.
1644
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Max CERF 2018
Techniques d’optimisation 5.4.5 Exemple
Dérivation externe / équations variationnelles •
•
Equation différentielle :
x x 2
Solution nominale :
x
Dérivation externe :
x x
, condition initiale x(t0=0) = x0
x0 x 0 t 1
x 0 x 0 ( x 0 x 0 ) t 1
x 1 x 0 (x 0 t 1) 2
x
x 0 (x 0 x 0 )t 1(x 0 t 1)
La dérivée externe donne la dérivée exacte lorsque l’incrément x0 tend vers 0. L’erreur par rapport à la dérivée exacte dépend de l’incrément x0 . •
Equation variationnelle : x 2x nom x
x
2x 0 x x 0 t 1
avec x nom
x0 x 0 t 1
x 1 x 0 (x 0 t 1) 2
L’équation variationnelle donne la dérivée exacte par rapport à la condition initiale.
1645
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Max CERF 2018
Techniques d’optimisation 5.4.5 Dérivées
Paramètres • Le problème de contrôle peut dépendre de paramètres de modèle (notés ) à optimiser. L’équation différentielle est de la forme : z F(z, , t )
Les dérivées
z f z f s’évaluent par les mêmes méthodes que les dérivées . z 0
dérivation externe, dérivation interne ou équations variationnelles Equations variationnelles : z z F(z z, , t )
•
Le temps final peut également être traité comme paramètre par changement de variable.
t t0 ( t t 0 ) tf t0
dz 1 dz 1 F(z, , t ) d dt
z
F F z z
•
à intégrer de =0 à =1
On se ramène à un problème à temps final fixé (f=1) avec le paramètre à optimiser.
1646
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Techniques d’optimisation
Max CERF 2018
5.4.5 Initialisation Sensibilité • La méthode de tir nécessite d’intégrer un système hamiltonien.
x H p ( x, u, p, t ) p H x ( x, u, p, t ) •
avec H( x, u, p, t ) L( x, u, t ) p t f ( x, u, t )
Les écarts x , p à la solution nominale suivent les équations variationnelles.
x H Tpx x H Tpp p f xT x T T T T p H xx x H xp p f x p H xx x
pour une commande donnée u(t) , t[t0 , tf]
•
La stabilité des équations en x et p est déterminée par le signe du terme en fx . - Si fx < 0, l’équation en x est stable, l’équation en p est instable (système dissipatif). - Si fx > 0, l’équation en p est stable, l’équation en x est instable.
•
Les évolutions de x et de p ne peuvent pas être stables simultanément. Le système hamiltonien est intrinsèquement très sensible à une erreur initiale p(t0).
La méthode de tir est très difficile à initialiser en particulier si le temps final est grand. La convergence peut être numériquement impossible.
1647
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Max CERF 2018
Techniques d’optimisation 5.4.5 Exemple
Problème à conditions initiales et finales fixées tf
1 x ( t ) x 0 , t 0 0 min J u 2 dt sous x ax bu avec 0 u 2 x ( t f ) x f , t f fixé t
0
•
•
1 2 u p(ax bu ) 2
Hamiltonien :
H
Commande :
H u u bp 0 u bp
Adjoint :
p H x ap p p 0 e at
Etat :
x ax bu ax b p 0 e 2
Fonction de tir :
S(p 0 ) x ( t f ) x f 0
Sensibilité à p0 :
dS b 2 at f (e e at f ) dp 0 2a
at
b 2 at x x 0e p0 (e e at ) 2a at
b 2 at f S(p 0 ) p 0 (e e at f ) x 0 e at f x f 2a fonction exponentielle de tf forte sensibilité quel que soit le signe de a
1648
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Max CERF 2018
Techniques d’optimisation 5.4.5 Tir multiple
Principe • La méthode de tir simple avec intégration de t0 à tf est très sensible à l’initialisation. Un écart petit sur l’adjoint initial p0 peut causer un écart exponentiel sur l’état final xf. Cette sensibilité peut rendre la résolution numérique impossible si le temps final est grand.
•
Le tir multiple consiste à découper la trajectoire en plusieurs phases : t0 < t1 < … < ti < … < tN Chaque phase [ti , ti+1] est intégrée indépendamment à partir d’un état xi et d’un adjoint pi . Les variables (xi , pi) i=1 à N-1 sont des inconnues supplémentaires du problème de tir.
Sur [ti , ti+1] : •
x H p , x ( t i ) x i p H x , p ( t i ) p i
intégration de ti à ti+1
x ( t i 1 ) p ( t ) i 1
Les valeurs obtenues à ti+1 sont différentes des valeurs initiales de la phase suivantes. Des contraintes de continuité doivent être imposées sur l’état et l’adjoint aux dates ti.
Contraintes de continuité :
x ( t i ) x i p ( t i ) p i
pour i = 1 à N1
1649
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Max CERF 2018
Techniques d’optimisation 5.4.5 Tir multiple
Formulation x • On note y le vecteur composé de l’état x et de l’adjoint p : y dimension 2n p x H p , x ( t i ) x i Sur [ti , ti+1] : y F( y, t ) , y( t i ) y i p H , p ( t ) p x i i •
Les inconnues supplémentaires sont : y1, … , yN-1
•
Les contraintes de continuité sont :
y
(N-1)2n inconnues
y i y( t i ) y i 0
(N-1)2n équations
y1 yN-1 y1 y0 t1
t2
yN
yi
y2 t0
yN-1
yi
y2
t3
ti
ti+1
tN-1
tN
t
1650
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Max CERF 2018
Techniques d’optimisation 5.4.5 Tir multiple
Formulation • On suppose que le problème de contrôle est à temps final fixé (par changement de variable). Le problème de tir multiple est le système d’équations :
SN(p0,,yi) est la fonction de tir multiple :
S(p 0 , ) n + q y1 2n S N (p 0 , , y1 , , y N 1 ) y N 1 2n
S(p0,) est la fonction de tir simple :
( x f ) q S(p 0 , ) p f ( xf xf ) n
Les inconnues du tir multiple sont : dimension n + q + (N-1)2n •
S N (p 0 , , y1 ,, y N 1 ) 0
p0, , y1, … , yN-1
n + q + (N-1)2n
Le découpage en plusieurs phases :
- réduit la sensibilité de la fonction de tir - augmente la dimension du système Le choix du nombre de phases N résulte d’un compromis sensibilité / dimension.
1651
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Techniques d’optimisation
Max CERF 2018
5.4.5 Méthode de voisinage Problème de contrôle à temps final libre avec contraintes finales tf
min J u,t f
t0
L( x, u, t )dt x ( t f ), t f
avec x f ( x, u, t ) , x R n , u R m x ( t f ), t f 0 , R q
La méthode de voisinage est une méthode indirecte . On cherche à résoudre les conditions d’optimalité en utilisant le voisinage des extrémales. •
Etape 1 On part d’une solution initiale : temps final tf , commande u(t) , t[t0 , tf] Cette solution ne respecte pas les conditions d’optimalité sur Hu , , .
•
Etape 2 On exprime les variations Hu , , en fonction de variations u , tf , . Ces variations s’expriment avec les équations de voisinage des extrémales.
•
Etape 3 On calcule des corrections u , tf , rapprochant des conditions d’optimalité. La solution est mise à jour et on reprend à l’étape 1.
1652
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Techniques d’optimisation
Max CERF 2018
5.4.5 Méthode de voisinage Conditions d’optimalité • La solution (x, p, u, tf , ) doit vérifier les conditions d’optimalité.
Commande :
x H p avec H L p T f p H x H u 0 (pas de bornes sur u)
Conditions initiales :
x(t 0 ) x 0
Etat et adjoint :
Conditions finales :
x p 0 0
(fixé)
avec T L avec t H
•
La solution initiale est associée à (u, tf , ) donnés. - L’intégration directe de l’état x avec la commande u donne l’état final x(tf) . - L’adjoint final p(tf) est évalué à partir des dérivées x et x et des multiplicateurs . - L’intégration rebours de l’adjoint permet d’évaluer Hu(t) , t[t0 , tf] .
•
Cette solution ne vérifie pas les conditions : Hu = 0 , = 0 , = 0 . Les corrections (u , tf , ) sont déterminées à partir des équations de voisinage.
1653
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Max CERF 2018
Techniques d’optimisation 5.4.5 Méthode de voisinage
Equations de voisinage • Les équations de voisinage sont les équations vérifiées par les écarts (x , p , u , tf , ).
•
x H p
x H Tpx x H Tpu u H Tpp p
x
f xT x f uT u
p H x
p H Txx x H Txu u H Txp p
p H xx x H ux u f x p
0 Hu
H u H Tux x H Tuu u H Tup p H u H xu x H uu u f u p
p x
p f xx x f xt t f x
avec x x
0
xT x f tT t f T
avec
0
x x f t t f
à tf
Les dérivées partielles secondes de l’hamiltonien sont T H px f x H xp H Tpx H xx L xx f xx p T H( x, u, p, t ) L( x, u, t ) p T f ( x, u, t ) H uu L uu f uu p , H pu f u , H up H Tpu T H xu L xu f xu H 0 H H T p xu pp ux
1654
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Max CERF 2018
Techniques d’optimisation 5.4.5 Méthode de voisinage
Corrections u • Les valeurs de Hu , , ne sont pas nulles sur la solution initiale. On cherche des corrections (u , tf , ) pour satisfaire les conditions : Hu = 0 , = 0 , = 0 .
H u H u Les corrections doivent produire des variations : •
L’équation en Hu permet d’exprimer la correction de commande u en fonction de x et p .
H u H xu x H uu u f u p •
pour annuler Hu , , .
u H uu1 (H u H xu x f u p)
Les écarts x et p suivent les équations variationnelles.
x f xT x f uT u Ax Bp DH u T p H xx x H ux u f x p Cx A p EH u
en remplaçant u
A f xT f uT H uu1 H D f uT H uu1 T 1 avec B f u H uu f u , 1 1 E H ux H uu C H xx H ux H uu H xu
1655
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Max CERF 2018
Techniques d’optimisation 5.4.5 Méthode de voisinage
Solution x , p • Les écarts x et p suivent un système différentiel linéaire non homogène aux 2 bouts.
x Ax Bp DH u p Cx A T p EH u
x 0 avec 0 p f xx x f xt t f x
car x(t0) fixé
- Les matrices A , B , C , D , E ont été stockées pendant les intégrations de l’état et de l’adjoint. - La correction Hu a été choisie pour obtenir Hu = 0 . •
On intègre ce système à rebours à partir de conditions finales xf , pf . - La correction xf devient une inconnue du problème. - La correction pf dépend des corrections xf , tf , . - La condition x0 = 0 est ajoutée aux conditions sur et .
•
La solution x , p est combinaison linéaire - des solutions unitaires (une composante finale = 1) du système homogène (avec Hu = 0) - d’une solution particulière (pour Hu donné = variation à réaliser pour obtenir Hu = 0) On obtient x0 sous la forme : x 0 X( t 0 )x ( t f ) P( t 0 )p( t f ) ( t 0 )
matrices des solutions unitaires
solution particulière
1656
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Techniques d’optimisation
Max CERF 2018
5.4.5 Méthode de voisinage Variations x0 , , • Les variations (x0 , , ) s’expriment en fonction des corrections (xf , tf , ). Pour x0 :
x 0 X 0 x f P0 p f 0
avec p f xx x f x t f x
x 0 (X 0 P0 xx )x f P0 x t f P0 x 0 Pour :
L avec T
t T xT x f f Pour : •
Tx x f t f
On obtient un système linéaire reliant (xf , tf , ) et (x0 , , ) .
x 0 X 0 P0 xx xT Tx •
P0 x
P0 x x f T t f 0
0 0 0
Une autre méthode (numériquement plus stable) consiste à intégrer à rebours les matrices de transport pour exprimer l’ensemble des conditions à l’instant initial.
1657
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Max CERF 2018
Techniques d’optimisation 5.4.5 Méthode de voisinage
Corrections xf , tf , • Les variations visées pour se rapprocher des conditions d’optimalité sont
x 0 0
x 0 X 0 P0 xx avec xT Tx
P0 x
P0 x x f T t f 0
0 0 0
On en déduit successivement : - les corrections xf , tf , - les variations x(t) et p(t) - les corrections u(t) •
L’application des corrections produit des variations réelles Hur , r , r . Ces variations peuvent différer des variations attendues (évaluées par linéarisation). L’amplitude des corrections doit être contrôlée pour rester dans le domaine linéaire - en visant un rattrapage partiel des écarts : (Hu,,) = (Hu,,) avec 0 < 1 - en appliquant progressivement la correction u : u , fonction croissante de t , 0 1
•
La solution optimale est obtenue lorsque Hu = 0 , = 0 , = 0 .
1658
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Techniques d’optimisation
Max CERF 2018
5.4.5 Méthode de voisinage Algorithme Commande u , tf , Stockage dérivées fx , fu , Lx , Lu , x , x
Intégration directe état x f ( x, u, t ) Amélioration Hu , , ? non Mise à jour ,
oui
Intégration rebours adjoint
p L x f x p , p( t f ) x ( t f ) T x ( t f )
Matrices système variationnel A , B , C , D , E Solution système variationnel x , p
Corrections u , tf , Tests d’arrêt : Hu=0 , =0 , =0
1659
5 Optimisation fonctionnelle 5.4 Méthodes numériques 5.4.5 Méthodes indirectes
Techniques d’optimisation
Max CERF 2018
5.4.5 Méthode de voisinage Problème de minimum auxiliaire • Une itération de l’algorithme de voisinage revient à résoudre le problème LQ tf
2 J a 1 x T H xx H ux x 1 x T xx x x min dt t T u ,t f 2 2 u H xu H uu u 2 f x t f t
0
x f xT x f uT u sous Tx x f t f T x t x f f
, x 0 fixé , fixé , fixé
Ce problème de minimum auxiliaire (« accessory minimum problem ») est le problème LQ obtenu en développant le coût à l’ordre 2, la dynamique et les contraintes à l’ordre 1. La méthode de voisinage est une résolution séquentielle indirecte du problème LQ. •
Différents algorithmes d’ordre 2 sont basés sur cette approche. - matrices de transport des conditions à l’instant initial plus stable numériquement - programmation dynamique différentielle (DDP) minimisation de H à l’ordre 2
1660
Techniques d’optimisation
Max CERF 2018
Bibliographie : optimisation fonctionnelle Livres en français • Contrôle optimal – Théorie et applications (E. Trélat) • Analyse numérique et équations différentielles (J.-P. Demailly) • Les mathématiques du mieux faire – Volume 2 (J.B. Hiriart-Urruty)
Livres en anglais • Calculus of variations (I.M. Gelfand, S.V. Fomin) • Calculus of variations and optimal control theory (D. Liberzon) • Applied optimal control (A.E. Bryson, Y.C. Ho) • Optimal control theory for applications (D.G. Hull) • Geometric optimal control (H. Schättler, U. Ledzewicz) • A primer on Pontryagin’s principle in optimal control (I.M. Ross) • Optimal control and estimation (R.F. Stengel) • Optimal control theory (S.P. Sethi, G.L. Thompson) • Applied nonlinear control (J.J. Slotine, W. Li) • Solving ordinary differential equations (E. Hairer, S.P. Norsett, G. Wanner) • Numerical recipes in Fortran (W.H. Press, S.A. Teukolsky, W.T. Vetterling, B.P. Flannery)
« L’éternité c’est long, surtout vers la fin. » (Pierre Dac)
1661