32 0 741KB
2
Optimisation sans contraintes
Techniques d’optimisation Sommaire
1.
Bases théoriques
2.
Optimisation sans contraintes 2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthode de Nelder-Mead
3.
Optimisation avec contraintes
215
2
Optimisation sans contraintes
Techniques d’optimisation 2 Optimisation sans contraintes
Problème non linéaire sans contraintes minn f(x) xR
o 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 o Nelder-Mead d’ordre 1 : avec dérivées premières o plus forte pente d’ordre 2 : avec dérivées premières et secondes o Newton • Critères d’efficacité : rapidité de convergence (nombre d’appels de la fonction) précision de convergence robustesse à l’initialisation
216
2 Optimisation sans contraintes 2.1 Méthodes de descente
Techniques d’optimisation Sommaire
1.
Bases théoriques
2.
Optimisation sans contraintes 2.1 Méthodes de descente 2.1.1 Principes 2.1.2 Itérations 2.1.3 Initialisation et arrêt 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthode de Nelder-Mead
3.
Optimisation avec contraintes
217
2 Optimisation sans contraintes 2.1 Méthodes de descente 2.1.1 Principes
Techniques d’optimisation 2.1.1 Méthodes de descente
Problème sans contrainte
f(x*) 0 x* minimum local ® 2 xR ¯ f(x*) t 0 On ne sait pas trouver le minimum global dans le cas général (f quelconque).
minn f(x)
Méthode locale • Initialisation x0 • Itérations • Arrêt
o recherche d’un minimum local au voisinage de x0 o passage du point xk au point xk+1 meilleur o 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)
218
2 Optimisation sans contraintes 2.1 Méthodes de descente 2.1.2 Itérations
Techniques d’optimisation 2.1.2 Itérations
Modèle local : prédiction • Point courant xk ,fk = f(xk) • Evaluation de gk = f(xk) ou approximation (différences finies) Hk = 2f(xk) ou approximation (quasi Newton) •
Modèle quadratique :
min fˆk ( x k p) p
fk ptgk
1 t p Hkp 2
o Méthodes de Newton ou quasi-Newton Amélioration : correction • Nouveau point xk+1 = xk + p •
o 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
o Méthodes de globalisation •
La méthode de Newton appliquée directement ne converge pas systématiquement. La globalisation est nécessaire pour contrôler la convergence.
219
2 Optimisation sans contraintes 2.1 Méthodes de descente 2.1.3 Initialisation et arrêt
Techniques d’optimisation 2.1.3 Initialisation et arrêt
Initialisation • Les méthodes locales recherchent le minimum au voisinage du point de départ. •
Objectifs :
•
Le minimum local trouvé est le plus proche du point initial x0. o initialisation à modifier pour trouver un autre minimum local
•
Les méthodes « globales » explorent « aléatoirement » les solutions o localisation possible de plusieurs minima locaux
rapidité de convergence précision de convergence o 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 H x f k f k 1 H f g k Hg Niter , Nfonc
220
2 Optimisation sans contraintes 2.2 Méthode de Newton
Techniques d’optimisation Sommaire
1.
Bases théoriques
2.
Optimisation sans contraintes 2.1 Méthodes de descente 2.2 Méthode de Newton 2.2.1 Résolution d’équations 2.2.2 Minimisation 2.2.3 Globalisation 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthode de Nelder-Mead
3.
Optimisation avec contraintes
221
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation 2.2.1 Résolution d’équations
Principes Méthode de Newton Méthode de quasi-Newton
222
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation 2.2.1 Résolution d’équations
Système d’équations non linéaires
g(x) 0
avec g : Rn o Rn
o système de n équations à n inconnues
Principe de la méthode de Newton • Linéariser g au point initial x0 o fonction modèle OLQpDLUHƣ© proche » de g • 5pVRXGUHOHV\VWqPHOLQpDLUHƣ[ o nouveau point x1 • Itérer jusqu’à vérifier g(x)=0 o 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
223
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation 2.2.1 Méthode de Newton
Fonction modèle • Développement de Taylor à l’ordre 1 de g en xk
g(x) •
g(x k ) g(x k ) T (x x k ) o x x k
Modèle linéaire de g en xk :
gˆ k (x)
g(x k )
G k (x x k )
avec G k R nun
Choix de la matrice Gk • Méthode de Newton o Gk = g(xk)T = matrice jacobienne de g en xk • Méthode de quasi-Newton o Gk = approximation de g(xk)T Résolution
0 g(x k ) G k (x x k )
•
Système linéaire :
gˆ k (x)
•
Itération :
x k 1
•
Condition d’arrêt :
g(x k ) İ
x k G k1g(x k )
0
si Gk inversible
224
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation 2.2.1 Méthode de Newton
Illustration à une variable • Equation non linéaire : g(x) = 0 • Point initial : x0, y0 = g(x0) o Tangente en x0 : y = y0 +g’(x0)(x - x0 )
0 x1
•
Intersection axe x :
y
•
Nouveau point :
x1, y1 = g(x1)
x0
y0 g' (x 0 )
x* x2
x1
x0
225
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation 2.2.1 Méthode de Newton
Modèle linéaire de g en xk
gˆ k (x)
g(x k ) G k ( x x k )
avec G k
g(x k ) T
Erreur de linéarisation M = constante de Lipschitz sur le gradient | majorant de la courbure
g(x) gˆ k (x) d
1 M x xk 2
2
o erreur quadratique
Vitesse de convergence Hypothèses sur la solution x* : g(x * ) inversible
g(x * ) 1 d Ș Suite (xk) : x k 1
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
•
La convergence est quadratique
k of
o x k 1 x * d MȘ x k x *
x*
2
226
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation 2.2.1 Exemples
Exemple 1 • Fonction : g(x) x 2 1 • Dérivée : g' (x) 2x • Solution : x = 1 o 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
227
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation 2.2.1 Exemples
Exemple 2 • Fonction : g(x) ( x 1) 2 • Dérivée : g' (x) 2(x 1) • Solution : x = 1 o 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
228
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation 2.2.1 Exemples
Exemple 3 • Fonction : g(x)
Arc tan( x )
Iteration 0 1 2 3 4 5 6
1 1 x2
•
Dérivée : g' (x)
•
Solution : x = 0 o g’’(1) = 0
g(x)
x1
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
Convergence
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
229
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation 2.2.1 Méthode de Newton
Intérêt de la méthode de Newton • Convergence quadratique au voisinage de la solution o 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 o coûteux (n appels fonctions) • Convergence non garantie o même près de la solution Adaptations • Méthodes de quasi-Newton
•
Techniques de globalisation
o Gk = approximation du gradient g(xk) construite à partir des itérations précédentes sans calcul explicite du gradient o 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 o Méthodes de recherche linéaire ou région de confiance 2 pour minimiser g(x)
230
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation 2.2.1 Méthode de quasi-Newton
Méthode de Broyden On cherche à définir la matrice Gk à partir de la matrice Gk-1 de l’itération précédente. Les matrices Gk-1 et Gk doivent être « proches » au sens de la norme matricielle. Variation de modèle • Modèle linéaire de g en xk-1 :
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 k (x x k ) g(x k ) g(x k -1 ) G k ( x k x k -1 ) G k ( x x k ) G k ( x x k -1 ) g(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 )
gˆ k (x) gˆ k -1 (x)
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 G k -1 )(x x k -1 )
231
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation 2.2.1 Méthode de quasi-Newton
Objectif Conserver un modèle linéaire de g en xk
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 Rnun 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 avec ® k -1 ¯ y k -1
x k x k -1 g(x k ) g(x k -1 )
o é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 Rnun ) n équations Chaque ligne de G définit un hyperplan de Rn passant par xk-1 et xk o infinité d’ hyperplans possibles
232
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation 2.2.1 Méthode de quasi-Newton
Illustration à une variable • Equation non linéaire : g(x) = 0 • Points initiaux : x0, y0 = g(x0) x1, y1 = g(x1)
0 x2
•
Intersection axe x :
y
•
Nouveau point :
x2, y2 = g(x2)
o Sécante en x1 : y
x0
x1 x 0 y0 y1 y 0
y0
y1 y 0 (x x 0 ) x1 x 0
x* x2
x1
x0
233
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation 2.2.1 Méthode de quasi-Newton
Mise à jour de Broyden L’écart entre les modèles gˆ k -1 (x) et gˆ k (x) est minimal en choisissant Gk solution de :
minnun G G k -1 sous y k 1
GR
G d k 1
Formule de Broyden : G k
G k -1
avec
d k -1 ®y ¯ k -1
x k x k -1 g(x k ) g(x 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
o solution optimale
o 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). o Peu de résultats théoriques o Méthode efficace en pratique, comportement à vérifier et adapter au cas par cas
234
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations
Techniques d’optimisation 2.2.1 Exemple
Comparaison Newton Quasi-Newton • Fonction : g(x) x 2 1 • Dérivée : g' (x) 2x • Solution : x = 1 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
235
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Minimisation
Principes Méthode de Newton Méthode de quasi-Newton Méthode BFGS Méthode DFP Méthode SR1
236
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Problème de minimisation
Problème sans contrainte o 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*) t 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ˆ k (x)
g(x ) g(x k ) G k ( x x k ) avec ® k ¯G k
f(x k ) g(x k ) T
2 f(x k ) H k
G = H o calcul explicite du hessien à chaque itération G = approximation de H construite à partir des itérations précédentes sans calcul explicite du hessien
237
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Méthode de Newton
Modèle linéaire de g= f en xk
gˆ k (x) • •
g(x k ) G k ( x x k )
Itération : Condition d’arrêt :
g(x ) avec ® k ¯G k
f(x k ) g(x k ) T
x k 1 x k 2 f(x k ) 1 f(x k ) f(x k ) d İ
2 f(x k )
Hk
o équations de Newton
Difficultés • Calcul explicite et inversion du hessien 2f(xk) à chaque itération o coûteux • Convergence non garantie même près de la solution o mêmes difficultés que pour la résolution d’équations •
1ère condition nécessaire de minimum : f(x*)=0 o point stationnaire x* = minimum local, maximum local ou point selle o 2ème condition nécessaire de minimum à vérifier : 2f(x*)t0
Adaptations • Méthodes de quasi-Newton • Techniques de globalisation
o Gk = approximation du hessien 2f(xk) o Contrôle de la décroissance de f
238
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Méthode de Newton
Modèle quadratique de f en xk • Développement de Taylor à l’ordre 2 de f en xk 1 f(x) f(x k ) f(x k ) T (x x k ) (x x k ) T 2 f(x k )(x x k ) o x x k 2 • 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*) ˆ 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
•
0
n
239
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Exemple
Méthode de Newton 4 3 2 • Fonction : f ( x ) x 12 x 47 x 60 x •
Dérivée : f ' ( x )
4 x 3 36 x 2 94 x 60 o 3 zéros o 1 minimum local, 2 maxima locaux
20,0 15,0 10,0 5,0 0,0 0,0
1,0
2,0
3,0
4,0
5,0
6,0
-5,0 -10,0 -15,0 -20,0
240
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Exemple
Méthode de Newton 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 ) o x 1 x
24 7
o 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
241
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Exemple
Méthode de Newton 2 • Modèle quadratique en x0 = 4 : fˆ0 ( x ) x 4 x •
Itération de Newton en x0 = 4 : min fˆ0 ( x ) x
o x1
o Moins bon que x0 f(x1) = 12 > 0 = f(x0)
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
242
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Exemple
Méthode de Newton • Modèle quadratique en x0 = 5 : fˆ0 ( x ) 17 x 2 160 x 375 •
Itération de Newton en x0 = 5 : min fˆ0 ( x ) o x 1 x
81 17
o 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
243
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Méthode de quasi-Newton
Objectif Conserver un modèle quadratique de f en xk 1 fˆk (x) f k (x k ) g Tk (x x k ) (x x k ) T H k (x x k ) 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.
Hk
H k -1
y k 1 H k -1d k 1 d Tk 1 d Tk 1d k 1
avec
d k -1 ®y ¯ k -1
x k x k -1 g(x k ) g(x k -1 )
Inconvénients • Hk n’est pas forcément symétrique • Hk n’est pas forcément positive o Modifications de la méthode si l’on souhaite avoir H k | 2 f(x k ) o Formules BFGS, DFP ou SR1
244
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Méthode BFGS
Equation sécante Pour la résolution d’équations, on cherche la matrice Hk : • vérifiant l’équation sécante H k d k 1 y k 1 o 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 o 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. o On décompose l’équation sécante en 2 équations : x A Tk d k 1 T H k d k 1 y k 1 A k A k d k 1 y k 1 ® ¯A k x y k 1
245
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Méthode BFGS
Méthode de résolution de l’équation sécante
H k d k 1
y k 1 A k A d k 1 T k
y k 1
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
1. En appliquant la formule de Broyden à L on obtient A en fonction de x : A 2. En reportant : x Il faut résoudre x
T
A d
x ( y Lx) T L d d xTx T
( y Lx) T d L d x xTx
( y Lx ) x T L xTx
T
( y Lx) T d L d x pour trouver x. T x x T
246
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Méthode BFGS
Résolution de l’équation sécante On cherche xRn vérifiant : •
x
( y Lx) T d L d x xTx T
Pour qu’une solution existe, le vecteur LTd doit être colinéaire à x :
DLT d x T x D 2 d T Hd ( y Lx) T d T yTd 2 T T T DL d D L d En reportant dans l’équation : DL d L d 2 T D d Hd d T Hd 1 § yTd T · T T Pour qu’une solution existe, on doit avoir y d > 0 o A L T ¨ Dyd L T Hd d L ¸¸ ¨ y d© d Hd ¹ On obtient H : H A AT x
• •
k
k
k
k
Formule BFGS
y k 1 y Tk -1 H k -1d k 1d Tk 1H k -1 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
Hk
d avec ® k -1 ¯ y k -1
x k x k -1 g(x k ) g(x k -1 )
247
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Méthode BFGS
Méthode de quasi Newton BFGS • Le déplacement correspondant à une itération de la méthode de Newton est solution de Hkdk
f ( x k ) d k
H -1kf ( x k )
o 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. H
•
-1 k
§ d k 1 y Tk -1 · -1 § y k 1d Tk -1 · d k 1d Tk -1 ¨ ¸ ¨I T ¸ ¨ d y ¸H k -1 ¨ I d T y ¸ d T y k -1 k 1 ¹ k -1 k 1 k -1 k 1 ¹ © ©
d si y Tk -1d k 1 ! 0 avec ® y k -1 ¯ k -1
x k x k -1 g(x k ) g(x k -1 )
Méthode élaborée par Broyden, Fletcher, Goldfarb, Shanno à la fin des années 1960 o 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 o cas d’un hessien indéfini o optimisation avec contraintes (hessien réduit positif z hessien complet)
248
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Méthode BFGS
Algorithme BFGS • Direction de descente à l’itération k : u k 1 •
Minimisation dans la direction uk-1 :
•
Mise à jour de l’inverse du hessien
xk
H -1k -1g ( x k 1 ) x k 1 su k 1
u k 1 H -1k -1g ( x k 1 ) avec ®s o 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 ¨I T ¸H k -1 ¨ I T ¸ T avec H si y d ! 0 ®y k -1 k 1 ¨ d y ¸ ¨ d y ¸ d y ¯ k -1 g(x k ) g(x k -1 ) 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 Pour une fonction f quadratique : f ( x )
1 T x Qx c T x 2
u i Q 1u j 0 , 0 d i z j d k l’algorithme BFGS donne des directions successives vérifiant : ® 1 1 ¯H k Q u i u i , 0 d i d k o directions conjuguées par rapport à Q1 o convergence en n itérations avec à l’itération n : H n Q
249
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Méthode DFP
Méthode de résolution • Résolution de l’équation sécante sous la forme « inverse » : H k d k 1 • •
y k 1 H -1k y k 1 d k 1
Mêmes principes que BFGS appliqués à l’équation sécante inverse pour obtenir Hk-1 Première méthode quasi-Newton élaborée par Davidon dans les années 1950
Formule DFP • •
Mise à jour de l’inverse : H Mise à jour du hessien :
-1 k
Hk
H
-1 k -1
d k 1d Tk -1 H -1k -1 y k 1 y Tk 1H -1k -1 d k -1 T avec ®y d k -1 y k 1 y Tk 1H -k1-1 y k 1 ¯ k -1
x k x k -1 g(x k ) g(x k -1 )
§ d k 1 y Tk -1 · y k 1 y Tk -1 § y k 1d Tk -1 · ¨ ¸ ¨I T ¸ ¨ y d ¸H k -1 ¨ I y T d ¸ y T 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 o condition similaire à BFGS • Méthode DFP en général moins efficace que BFGS
250
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Méthode DFP
Algorithme DFP • Direction de descente à l’itération k : u k 1 •
Minimisation dans la direction uk-1 :
•
Mise à jour de l’inverse du hessien
H
-1 k
H
-1 k -1
xk
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
H -1k -1g ( x k 1 ) u k 1 H -1k -1g ( x k 1 ) avec ®s o min f x su k 1 k 1 s ¯
x k 1 su k 1
d avec ® k -1 ¯ y k -1
x k x 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 Pour une fonction f quadratique : f ( x )
1 T x Qx c T x 2
l’algorithme DFP donne des directions successives vérifiant : o directions conjuguées par rapport à Q o convergence en n itérations avec à l’itération n : H n
u i Qu j 0 , 0 d i z j d k ® 1 ¯H k Qu i u i , 0 d i d k
Q
251
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Méthode SR1
Equation sécante La méthode SR1 construit une solution Hk de l’équation sécante H k d k 1 • Symétrique, de rang 1 (i.e. dépendante d’un seul vecteur u de Rn) • Non nécessairement définie positive.
y k 1
Méthode de résolution • On cherche la matrice Hk à partir de Hk-1 sous la forme Hk
H k -1 uu T
o addition d’une matrice symétrique de rang 1 y k 1
H k -1d k 1 uu T d k 1 y k 1 H k -1d k 1
H k d k 1
•
Equation sécante :
•
On pose :
•
On reporte u pour obtenir J :
•
On exprime uuT en fonction de dk-1, yk-1, Hk-1
1 J
u T d k 1
y k 1 H k -1d k 1
u J y k 1 H k -1d k 1 °1 ® d Tk -1 ( y k 1 H k -1d k 1 ) 2 °¯ J
1 J
1 u u J
J y k 1 H k -1d k 1
J ( y k 1 H k -1d k 1 ) T d k 1 d Tk -1 ( y k 1 H k -1d k 1 )
uu T uu T
u T d k 1u
J 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 d Tk -1 ( y k 1 H k -1d k 1 )
1 J2
252
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Méthode SR1
Formule SR1 ( y k 1 H k -1d k 1 )( y k 1 H k -1d k 1 ) T H k -1 d Tk -1 ( y k 1 H k -1d k 1 )
d avec ® k -1 ¯ y k -1
•
Mise à jour de Hk : H k
• •
Mise à jour symétrique, de rang 1 Mise à jour non nécessairement définie positive o Méthode alternative à la méthode BFGS (cas d’un hessien indéfini)
x k x k -1 g(x k ) g(x k -1 )
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 o empêche la mise à jour et la convergence Propriété Pour une fonction f quadratique : f ( x )
1 T x Qx c T x 2
la formule SR1 donne après n déplacements suivant des directions indépendantes dk : H n o ne nécessite pas de minimisation suivant dk
Q
253
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Comparaison
Méthodes de quasi-Newton BFGS DFP SR1 BFGS
DFP
SR1
Matrice mise à jour
Hessien Hk
Inverse hessien Hk-1
Hessien Hk
Equation résolue
Sécante
Inverse sécante
Sécante
Méthode
Broyden
Broyden
Résolution directe
Forme solution
Symétrique AAT 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
254
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Exemple
Méthode de quasi-Newton à une variable Les formules BFGS et SR1 se simplifient pour une fonction à une variable. • Fonction f(x) , xR •
Mise à jour BFGS : H k
Hk
•
Mise à jour SR1 :
Hk
Hk
y k 1 y Tk -1 H k -1d k 1d Tk 1H k -1 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 k 1 g(x k ) g(x 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 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 k 1 g(x k ) g(x k -1 ) d k 1 x k x k -1
o On retrouve la formule de la sécante appliquée au gradient de f.
255
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Exemple
Comparaison Newton Quasi-Newton 4 3 2 • Fonction : f ( x ) x 12 x 47 x 60 x
0,25 0,00
•
Dérivée : f ' ( x )
4 x 3 36 x 2 94 x 60
-0,25 -0,50
•
Quasi-Newton : h k
f ' ( x k ) f ' ( x k -1 ) x k x k -1
•
Point initial : x0 = 3 o convergence Autres points o divergence ou maximum de f
-1,00
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
256
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Exemple
Méthode DFP à 2 variables • Minimisation de f ( x ) x 1 x 2 2 x 12 2 x 1 x 2 x 22 •
Point initial : x0 = (0 0)
•
Itération 1 : x 0 x1
•
§1 0· ¸¸ H 01 ¨¨ 0 1 © ¹
§ s· x 0 su 1 ¨¨ ¸¸ o min F(s) s © s¹
g0
§ 1· ¨¨ ¸¸ © 1¹
o u1
s 2 2s o s 1 o x 1
H 01g 0
§ 1· ¨¨ ¸¸ © 1¹
§ 1· ¨¨ ¸¸ o g1 © 1¹
§ 1· ¨¨ ¸¸ © 1¹
Mise à jour DFP de H-1
d 0 ®y ¯ 0 H •
§0· ¨¨ ¸¸ ©0¹
§ 1 4x1 2x 2 · ¸¸ g ( x ) ¨¨ © 1 2x1 2x 2 ¹
-1 1
x1 x 0 o d0 g(x 1 ) g(x 0 )
§ 1· ¨¨ ¸¸ , y 0 © 1¹
d 0 d T0 H -10 y 0 y T0 H -10 H T d0 y0 y T0 H -01 y 0 -1 0
Comparaison au vrai hessien :
§ 2· ¨¨ ¸¸ © 0¹
§ 1 0 · 1 § 1 1· 1 § 4 0 · ¨¨ ¸¸ ¨¨ ¸¸ ¨¨ ¸¸ 0 1 1 1 0 0 2 4 © ¹ © ¹ © ¹
1 § 1 1· ¨ ¸ 2 ¨© 1 3 ¸¹
§ 4 2· ¸¸ H 1 H( x ) ¨¨ © 2 2¹
1 § 1 1· ¨ ¸ 2 ¨© 1 2 ¸¹
257
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Exemple
Méthode DFP à 2 variables •
§ 1· Itération 2 : x 1 ¨¨ ¸¸ © 1¹ x2
• •
§ 1· g1 ¨¨ ¸¸ o u 2 © 1¹
§ 1 · ¨¨ ¸¸ o min F(s) 1 3(1 s) (1 s) 2 o s s ©1 s ¹
§0· H11g1 ¨¨ ¸¸ ©1¹ 1 o x2 2
§ 1· ¨¨ ¸¸ o g 2 ©1.5 ¹
§ 1· On obtient le minimum en 2 itérations (fonction quadratique) : x* ¨¨ ¸¸ ©1.5 ¹ Mise à jour DFP de H-1
d1 ®y ¯ 1 H •
x 1 su 2
1 § 1 1· ¨¨ ¸¸ 2 © 1 3 ¹
H1-1
-1 2
x 2 x1 o d1 g(x 2 ) g(x 1 )
§ 0 · ¨¨ ¸¸ , y1 © 0.5 ¹
d1d1T H1-1 y1 y1T H1-1 H T d 1 y1 y1T H1-1 y1 -1 1
Comparaison au vrai hessien :
§ 1· ¨¨ ¸¸ © 1¹
1 § 1 1· 1 § 0 0 · § 0 0 · ¨¨ ¸¸ ¨¨ ¸¸ ¨¨ ¸¸ 1 3 0 1 0 1 2© ¹ 2© ¹ © ¹
1 § 1 1· ¨¨ ¸¸ 1 2 2 © ¹
§ 4 2· ¸¸ H 1 H( x ) ¨¨ © 2 2¹
1 § 1 1· ¨ ¸ 2 ¨© 1 2 ¸¹
258
§0· ¨¨ ¸¸ ©0¹
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation
Techniques d’optimisation 2.2.2 Exemple
Méthode DFP à 2 variables On vérifie les propriétés de la méthode DFP appliquée à une fonction quadratique. f ( x ) x1 x 2 2x 2x1x 2 x 2 1
1 § x1 · ¨¨ ¸¸ 2 ©x2 ¹
2 2
T
§ 4 2 · § x1 · § 1 · ¨¨ ¸¸ ¨¨ ¸¸ ¨¨ ¸¸ © 2 2 ¹ © x 2 ¹ © 1¹
T
§ x1 · § 4 2· ¨¨ ¸¸ o 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· ¸¸¨¨ ¸¸ u T2 Qu 1 ¨¨ ¸¸ ¨¨ 1 2 2 © ¹ © ¹© 1¹ On vérifie également :
T
H11Qu 1 H 21Qu 2
1 § 1 1·§ 4 ¨ ¸¨ 2 ¨© 1 3 ¸¹¨© 2 1 § 1 1·§ 4 ¨ ¸¨ 2 ¨© 1 2 ¸¹¨© 2
§ 0· ¨¨ ¸¸ ©1¹
T
§ 2· ¨¨ ¸¸ © 0¹
2 ·§ 1· ¸¨ ¸ 2 ¸¹¨© 1¸¹ 2 ·§ 0 · ¸¨ ¸ 2 ¸¹¨© 1 ¸¹
0
1 § 2 0 ·§ 1· ¨ ¸¨ ¸ 2 ¨© 2 4 ¸¹¨© 1¸¹ § 1 0 ·§ 0 · § 0 · ¨¨ ¸¸¨¨ ¸¸ ¨¨ ¸¸ 0 1 © ¹© 1 ¹ © 1 ¹
§ 1· ¨¨ ¸¸ © 1¹ u2
u1 avec H 21
Q 1
259
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.3 Globalisation
Techniques d’optimisation 2.2.3 Globalisation
Difficultés de la méthode de Newton Méthodes de globalisation Point de Newton et de Cauchy
260
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.3 Globalisation
Techniques d’optimisation 2.2.3 Globalisation
Difficultés de la méthode de Newton La convergence n’est pas garantie même près de la solution. On ne peut appliquer directement l’itération de Newton. o techniques de globalisation pour vérifier et améliorer le point de Newton Vérification du point de Newton Le point xk+1 doit être meilleur que xk pour être accepté. •
Pour une résolution d’équation :
g( x )
•
Pour une minimisation :
min f ( x ) x
0
g(x k 1 ) g(x k )
0 f(x k 1 ) f(x k )
Techniques de globalisation Si le point xN obtenu par l’itération de Newton ne vérifie pas les conditions d’amélioration, on procède à une recherche locale au voisinage de xk. •
Méthode de recherche linéaire :
•
Méthode de région de confiance : à l’intérieur d’une sphère de centre xk
suivant la direction du point de Newton xN
261
2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.3 Globalisation
Techniques d’optimisation 2.2.3 Point de Newton et de Cauchy
Points particuliers Deux points particuliers sont définis à partir du modèle quadratique de f en xk : 1 f k (x k ) g fˆk (x) f k (x k ) g Tk (x x k ) (x x k ) T H k (x x k ) avec ® k 2 2 ¯H k f k (x k ) • Point de Newton o points utiles dans les algorithmes de globalisation • Point de Cauchy Point de Newton Le point de Newton xN de f en xk minimise le modèle quadratique en xk. xN n’existe que si 2f(xk) est définie positive.
xN
x k d N avec 2 f(x k )d N
f(x k )
o dN solution des équations de Newton
Point de Cauchy Le point de Cauchy xC de f en xk minimise le modèle quadratique en xk dans la direction gk.
xC
x k Į C g k solution de min f(x k ĮJ k ) Įt0
Si f est convexe suivant –gk : Į C
o minimum suivant la plus forte descente
g Tk g k g Tk H k g k
262
2 Optimisation sans contraintes 2.3 Recherche linéaire
Techniques d’optimisation Sommaire
1.
Bases théoriques
2.
Optimisation sans contraintes 2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.3.1 Principes 2.3.2 Direction de descente 2.3.3 Pas de déplacement 2.3.4 Algorithme 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthode de Nelder-Mead
3.
Optimisation avec contraintes 263
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.1 Principes
Techniques d’optimisation 2.3.1 Recherche linéaire
Problème sans contrainte minn f(x) 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
Initialisation x0
Point initial xk
Direction de descente dk
Solution x*
Nouveau point
Pas de déplacement sk
xk+1=xk+skdk
264
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.1 Principes
Techniques d’optimisation 2.3.1 Recherche linéaire
Etapes principales A chaque itération • Construction d’une direction de descente dk à partir du point xk • Réglage du pas de déplacement sk suivant dk Direction de descente dk est une direction de descente en xk si • •
f(xk)Tdk < 0
La direction de descente est construite à partir du gradient et du hessien. Plus forte pente o gradient (méthode d’ordre 1) Préconditionnement o hessien (méthode d’ordre 2)
Pas de déplacement Le pas de déplacement sk suivant dk doit vérifier • •
f(xk+skdk) < f(xk)
L’algorithme de recherche linéaire résout un problème de minimisation à une variable s Minimisation exacte o dichotomie (Fibonacci, nombre d’or, interpolation) Minimisation approchée o règles de pas acceptable (Armijo, Goldstein, Wolfe)
265
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.2 Direction de descente
Techniques d’optimisation 2.3.2 Direction de descente
Plus forte pente Préconditionnement
266
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.2 Direction de descente
Techniques d’optimisation 2.3.2 Direction de descente
Plus forte pente La direction de descente « naturelle » est celle du gradient = plus forte dérivée directionnelle dk
• •
f(x k )
Comportement caractéristique en zigzag Convergence très lente o méthode inefficace en général
Illustration lignes de niveau de f
x*
267
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.2 Direction de descente
Techniques d’optimisation 2.3.2 Direction de descente
Plus forte pente Les directions successives de plus forte pente avec pas optimal sont orthogonales. •
Itération k On cherche le minimum de f à partir de xk suivant la direction dk = f(xk) Le nouveau point est xk+1 = xk + sdk avec le pas s>0 solution de : d min f x k sd k f x k sd k 0 d Tk f x k sd k 0 d Tk f x k 1 0 sR ds
•
Itération k+1 La direction de plus forte pente en xk+1 est dk+1 = f(xk+1) d Tk d k 1
0
Illustration xk+1 dk=f(xk)
lignes de niveau de f dk+1=f(xk+1)
xk
268
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.2 Direction de descente
Techniques d’optimisation 2.3.2 Exemple
Plus forte pente •
Fonction 1 2 9 2 f (x) x1 x 2 2 2
•
Direction § x1 · ¸¸ f ( x ) ¨¨ © 9x 2 ¹
d
•
Iteration x1 9,000 0 1 7,200 2 5,760 3 4,608 4 3,686 5 2,949 10 0,966 20 0,104 30 1,11E-02 40 1,20E-03 50 1,28E-04
d2 -9,000 7,200 -5,760 4,608 -3,686 2,949 -0,966 -0,104 -1,11E-02 -1,20E-03 -1,28E-04
s 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2
Erreur 9,055 7,244 5,795 4,636 3,709 2,967 0,972 0,104 1,12E-02 1,20E-03 1,29E-04
0,75
min f ( x sd )
0,50
s
x 12 81x 22 x 12 729 x 22
0,25 0,00 -1
•
d1 -9,000 -7,200 -5,760 -4,608 -3,686 -2,949 -0,966 -0,104 -1,11E-02 -1,20E-03 -1,28E-04
1,00
Pas
os
x2 f(x) 1,000 45,000 -0,800 28,800 0,640 18,432 -0,512 11,796 0,410 7,550 -0,328 4,832 0,107 0,519 0,012 0,006 1,24E-03 6,90E-05 1,33E-04 7,95E-07 1,43E-05 9,17E-09
Itération
x k 1
x k skdk
0
1
2
3
4
5
6
7
8
9
10
-0,25 -0,50 -0,75 -1,00
269
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.2 Direction de descente
Techniques d’optimisation 2.3.2 Direction de descente
Préconditionnement • On se donne une matrice Hk matrice symétrique définie positive. o factorisation de Cholesky de Hk : Hk = LkLkT • • • • •
LTk x k
~ Direction de plus forte pente pour : f (~ x k ) f(x k ) f(LkT ~ xk ) ~ ~ d k f (~ x k ) f(LkT ~ x k ) Lk1f(LkT ~ x k ) Lk1f(x k ) Lk1d k ~ ~ x x s f (~ x ) Itération en ~ x : ~ k
k 1
Itération en xk : x k 1 x k 1
k
k
LkT ~ x k 1
k
~ LkT ~ x k s k f (~ xk )
x k s k LkT Lk1d k
LkT LTk x k s k Lk1d k
x k s k H k1d k
Le préconditionnement par la matrice Hk consiste à prendre comme direction de descente dk
•
~ xk
Changement de variable :
H k1f(x k )
On vérifie que dk est une direction de descente d Tk f(x k ) f(x k ) T H k1f(x k ) 0 car Hk est définie positive
270
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.2 Direction de descente
Techniques d’optimisation 2.3.2 Direction de descente
Choix du préconditionnement Toute matrice Hk symétrique définie positive convient. Cas d’un hessien défini positif • Si le hessien 2f(xk) est défini positif, on peut prendre dk
H k1f(x k )
2 f(x k ) 1 f(x k )
x k 1
2 f(x k ) 1.
Hk
x k s k 2 f(x k ) 1 f(x k )
On obtient l’itération de Newton si le pas sk vaut 1. •
On peut prendre pour Hk l’approximation du hessien donné par une méthode quasi-Newton.
Cas d’un hessien non défini positif • On peut effectuer la factorisation de Cholesky modifiée du hessien 2f(xk) (ou son approximation quasi Newton) pour obtenir une matrice définie positive. • •
On peut ajouter un multiple de l’identité : H k On peut également prendre Hk diagonale : H k i à partir des dérivées secondes de f
f(x 2
k ) WI
1
avec W > 0 assez grand
1 § § w 2f · · ¨ max H, ¨¨ 2 (x k ) ¸¸ ¸ , H ! 0 ¨ wx ¸ i © ¹ © ¹
271
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.2 Direction de descente
Techniques d’optimisation 2.3.2 Exemple
Préconditionnement • • •
Fonction :
1 2 9 2 f (x) x1 x 2 2 2
§1 0· ¸¸ Préconditionnement : L ¨¨ 0 3 © ¹ x · ~ ~ ~ §~ Direction : d f ( x ) ¨¨ ~ 1 ¸¸ © x2 ¹
§ x · §1 0· §1 0·§1 0· f ( x ) ¨¨ 1 ¸¸ 2 f ( x ) ¨¨ ¸¸ ¨¨ ¸¸ ¨¨ ¸¸ 9 x © 2¹ © 0 9¹ © 0 3¹ © 0 3¹ 2 ~ ~ ~ 1 ~2 9 § 1 · 1 ~2 1 ~2 x1 x1 ®~ f (x) x1 ¨ x 2 ¸ x1 x 2 x 3 x 2 2 3 2 2 2 ¯ 2 ¹ © 2,00
1,50
~ ~ min f (~ x sd ) o s 1
•
Pas :
•
Itération : ~ x k 1
1,00
s
~ ~ x k s k dk
0,50
0
o convergence en 1 itération
T
0,00 -1
0
1
2
3
4
-0,50
-1,00
272
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation 2.3.3 Pas de déplacement
Minimisation unidimensionnelle Minimisation exacte - Méthode de dichotomie - Méthode de Fibonacci - Méthode du nombre d’or - Interpolation quadratique Minimisation approchée - Règle d’Armijo - Règle de Goldstein - Règle de Wolfe
273
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation
2.3.3 Minimisation unidimensionnelle Problème à une variable
min f(x)
f(x)
xR
minimum local
minimum global
x
Méthodes • Minimisation exacte On cherche à trouver un minimum local x* avec une précision donnée o réduction itérative de l’intervalle de recherche : dichotomie o réduction optimale : Fibonacci, nombre d’or •
Minimisation approchée On cherche une réduction suffisante de la fonction sans déterminer précisément le minimum x* o règles d’acceptation (Armijo, Goldstein, Wolfe) o limitation du nombre d’évaluations de la fonction
274
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation 2.3.3 Minimisation exacte
Recherche par dichotomie L’allure de la fonction f n’est pas connue. On suppose qu’il existe un minimum unique dans l’intervalle de recherche [a,d] • On évalue la fonction aux extrémités a et d : o f(a) , f(d) • On évalue la fonction en 2 points b et c : a < b < c < d o f(b) , f(c) • On conserve soit l’intervalle [a,c], soit l’intervalle [b,d]
f(x)
f(x)
a
b
c
On conserve [a,c]
d
x
a
b
c
d
x
On conserve [b,d]
275
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation 2.3.3 Minimisation exacte
Réduction optimale de l’intervalle • On cherche b et c pour que l’intervalle restant soit le plus petit possible. La taille de l’intervalle restant ne doit pas dépendre du choix de [a,c] ou [b,d]. • On note : '1 la longueur de l’intervalle initial o '1 = d a '2 la longueur de l’intervalle restant o '2 = c a si on garde [a,c] ou '2 = d b si on garde [b,d] '2
f(x)
db ca
ad bc
'1
ad 2
bc 2
'2 '2
a
b
Les points b et c doivent être symétriques par rapport au milieu de l’intervalle [a,d]. c
d
x
276
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation 2.3.3 Minimisation exacte
Réduction optimale de l’intervalle • On suppose que l’intervalle restant est [a,c]. • Pour réutiliser le point b à l’itération suivante, on choisit le nouveau point e symétrique de b par rapport au milieu de l’intervalle [a,c]. o '1 = d a o '2 = c a = d b o '3 = b a = c e d a d b b a '1 ' 2 ' 3
f(x) '1 '2
Les longueurs 'k des intervalles successifs vérifient :
'2
'3
' k ' k 1 ' k 2
'3 a
e
b
c
d
x
277
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation 2.3.3 Minimisation exacte
Réduction optimale de l’intervalle • Les intervalles successifs sont de longueur 'k vérifiant : 'k = 'k+1 + 'k+2 •
Après un nombre N d’itérations, on obtient un intervalle de longueur 'N1 .
•
On définit la suite de nombres Fk par :
•
La suite (Fn)n=1,…,N1 vérifie ǻ k ǻ k 1 ǻ k 2
ǻk ǻ N 1
ǻ N 1 F1ǻ N 1 pour k
•
'k = FNk 'N1 pour k = 1,…,N1
ǻ k 1 ǻ k 2 FN k FN k 1 FN k 2 ǻ N 1 ǻ N 1 Fn Fn 1 Fn 2 pour n
N 1
F1
N k, n
3,4,..., N 1
1
La suite est complètement déterminée par la valeur de F2 °F1 1 ®F2 à choisir °¯Fn Fn -1 Fn - 2 pour n
3,4,..., N 1
278
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation 2.3.3 Minimisation exacte
Méthode de Fibonacci • Pour un nombre N d’itérations fixé, on choisit F2 pour que 'N-1 soit minimal. ǻ1 ǻ N -1 minimal FN -1 maximal F2 maximal FN -1 1 1 1 · § • Valeur maximale de F2 : ǻ N -1 t ǻ N -2 ¨ car ǻ k t ǻ k -1 ¸ F1 t F2 F2 max 2 2 2 ¹ © •
2
On obtient la suite de Fibonacci : 1, 2, 3, 5, 8, 13, 21, …
Nombre d’itérations La méthode de Fibonacci est optimale si l’on fixe à l’avance la précision requise sur la solution. • Précision requise : 'N-1 = p ǻ1 b-a ǻ N -1 FN -1 o valeur de N • Intervalle initial [a,b] : ' 1 = b-a FN -1 p La méthode de Fibonacci donne le nombre minimal d’itérations N pour obtenir la solution avec une précision donnée. •
La disposition des premiers points b et c dépend de N :
ǻ1 ǻ2
FN -1 FN - 2
o '2
279
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation 2.3.3 Minimisation exacte
Méthode du nombre d’or La méthode de Fibonacci nécessite de changer la disposition des points à chaque itération. La disposition des points n’est optimale que pour une précision donnée. La méthode du nombre d’or est plus générale et plus simple à mettre en oeuvre. •
On impose un rapport de réduction fixe de l’intervalle à chaque itération. ǻ1 ǻ 2 ǻ ǻ k 1 ... k ... Ȗ avec ǻ k ǻ k 1 ǻ k 2 ǻ2 ǻ3 ǻ k 1 ǻ k 2 ǻk ǻ 1 1 k2 Ȗ 1 Ȗ 2 Ȗ 1 0 ǻ k 1 ǻ k 1 Ȗ
•
Ȗ On obtient pour le rapport J le nombre d’or : o Méthode du nombre d’or (ou de la section dorée)
1 5 | 1.618034 2
Optimalité • La méthode du nombre d’or n’est pas optimale pour un nombre d’itérations donné N. •
Pour un nombre d’itérations grand : Nlim of
FN FN -1
Ȗ
o La disposition des points de Fibonacci tend vers celle du nombre d’or.
280
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation 2.3.3 Minimisation exacte
Comparaison Fibonacci - Nombre d’or Le rapport de réduction de l’intervalle après n itérations vaut : • •
ǻ1 ǻn ǻ1 Pour la méthode du nombre d’or : ǻn
Pour la méthode de Fibonacci :
Fn Ȗ n 1
Nombre d’itérations Une itération de la méthode de Fibonacci ou du nombre d’or correspond à une évaluation de f. Nombre d’évaluations Rapport de réduction
Fibonacci
Nombre d’or
10-2
11
13
10-3
15
18
10-4
20
22
10-5
25
27
10-6
30
31
281
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation 2.3.3 Minimisation exacte
Méthode du nombre d’or • Positionnement des points ǻ1 ǻ2
°°ǻ 2 ® °ǻ 3 °¯
ǻ2 ǻ3
Ȗ
1 ǻ1 Ȗ 1 ǻ1 Ȗ2
1 5 | 1.618034 2
rǻ1 r 2 ǻ1
avec r
1 Ȗ
f(x) '1 5 1 | 0.618034 2
'2
•
a Itération d °c Si f (b) f (c) o ®ǻ ° 1 ¯b
'2
'3
b a r 2 ǻ 1 ° ®c a rǻ1 °¯d a ǻ1
mc mb m ǻ2 a r 2 ǻ1
b
c
d
a m b °b m c Si f (b) ! f (c) o ® ǻ m ǻ2 ° 1 ¯c a rǻ1
282
x
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation 2.3.3 Exemple
Méthode du nombre d’or S • Minimisation de f ( x ) x cos( x ) , 0 d x d 2 • • • •
Itération 1
Itération 2
Itération 3
Itération 4
f
0
-0.4952
-0.5482
0
x
0
0.6000
0.9708
1.5708
-0.5482
-0.4350
0
0.6000
0.9708
1.2000
1.5708
f -0.4952
-0.5601
-0.5482
-0.4350
0.6000
0.8292
0.9708
1.2000
f -0.4952
-0.5468
-0.5601
-0.5482
0.6000
0.7416
0.8292
0.9708
f
-0.5468
-0.5601
-0.5606
-0.5482
x
0.7416
0.8292
0.8832
0.9708
f -0.4952 x
x
x
• •
Itération 5
Solution : x* | 0.8832 o f(x*) | 0.5606 au lieu de x* | 0.8603 o f(x*) | 0.5611
283
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation 2.3.3 Minimisation exacte
Interpolation quadratique •
On connaît la valeur de la fonction f en 3 points x1, x2, x3. ° y1 ®y 2 °¯ y 3
•
y3 y2
On construit le polynome q de degré 2 passant par les 3 points. q( x )
•
f (x1 ) f (x 2 ) f (x 3 )
y1
x1
x2
x3
°q ( x 1 ) y1 y1 y2 y3 o ®q ( x 2 ) y 2 ( x 1 x 2 )( x 1 x 3 ) ( x 2 x 3 )( x 2 x 1 ) ( x 3 x 1 )( x 3 x 2 ) °¯q ( x 3 ) y 3 ( x x 2 )( x x 3 )
( x x 3 )( x x 1 )
( x x 1 )( x x 2 )
Dérivée du polynome q q' ( x )
y1
(2x x 2 x 3 ) (2x x 3 x 1 ) (2x x 1 x 2 ) y2 y3 ( x 1 x 2 )( x 1 x 3 ) ( x 2 x 3 )( x 2 x 1 ) ( x 3 x 1 )( x 3 x 2 )
On obtient une approximation du minimum de f en minimisant q.
284
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation 2.3.3 Minimisation exacte
Interpolation quadratique •
La dérivée du polynome q s’écrit : q' ( x )
y1
(2x x 2 x 3 ) (2x x 3 x 1 ) (2x x 1 x 2 ) y2 y3 ( x 1 x 2 )( x 1 x 3 ) ( x 2 x 3 )( x 2 x 1 ) ( x 3 x 1 )( x 3 x 2 )
>
q' ( x )
2 x>y1 ( x 2 x 3 ) y 2 ( x 3 x 1 ) y 3 ( x 1 x 2 )@ y1 ( x 22 x 32 ) y 2 ( x 32 x 12 ) y 3 ( x 12 x 22 ) ( x 1 x 2 )( x 2 x 3 )( x 3 x 1 )
q' ( x )
s ij 2 x y1s 23 y 2 s 31 y 3s12 y1r23 y 2 r31 y 3 r12 avec ® ( x 1 x 2 )( x 2 x 3 )( x 3 x 1 ) ¯rij
•
@
xi x j x i2 x 2j
On cherche la valeur xm qui annule la dérivée du polynome q. q' ( x m )
0 2 x m >y1s 23 y 2 s 31 y 3s12 @ >y1r23 y 2 r31 y 3 r12 @ 0 xm
1 y1r23 y 2 r31 y 3 r12 2 y1s 23 y 2 s 31 y 3s12
s ij avec ® ¯rij
xi x j x i2 x 2j
285
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation 2.3.3 Minimisation exacte
Interpolation quadratique • On évalue la valeur de la fonction en xm o ym = f(xm) o On dispose de 4 points x1, x2, x3, xm avec les valeurs respectives de f : y1, y2, y3, ym o On conserve 3 points choisis parmi x1, x2, x3, xm selon : - la position de xm par rapport à x1, x2, x3 - le minimum parmi ym, y1, y2, y3 Points retenus
xm < x1
x1 < xm < x2
x2 < xm < x3
x3 < xm
Minimum = ym
(xm,x1,x2)
(x1,xm,x2)
(x2,xm,x3)
(x2,x3,xm)
Minimum = y1
(xm,x1,x2)
(x1,xm,x2)
(x1,x2,xm)
divergence
Minimum = y2
divergence
(xm,x2,x3)
(x1,x2,xm)
divergence
Minimum = y3
divergence
(xm,x2,x3)
(x2,xm,x3)
(x2,x3,xm)
Cas de divergence : Le polynome est trop éloigné de la fonction Il faut un balayage plus fin avant l’interpolation quadratique. •
On réitère l’interpolation quadratique avec les 3 nouveaux points jusqu’à réduire la taille de l’intervalle à la précision souhaitée.
286
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation 2.3.3 Exemple
Interpolation quadratique • Minimisation de f ( x ) ( x 1)( x 1) 2 , 0 d x d 2 • • • •
Itération 1
f -1.0000
-1.1816
0.0000
9.0000
x
0.3750
1.0000
2.0000
-1.1814
-1.1816
0.0000
0.2895
0.3750
1.0000
-1.1852
-1.1816
0.0000
0.2895
0.3327
0.3750
1.0000
f -1.1814
-1.1852
-1.1852
-1.1816
0.2895
0.3327
0.3329
0.3750
f
-1.1852
-1.1852
-1.1852
-1.1816
x
0.3327
0.3329
0.3333
0.3750
f -1.0000
Itération 2
x
•
Itération 3
x
Itération 4
Itération 5
Solution :
0
f -1.1814
x
•
0
x* | 0.3333 o
f(x*) | 1.1852
287
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation 2.3.3 Minimisation approchée
Principes • Il n’est pas utile de réaliser une minimisation exacte suivant la direction de descente : o nécessite un grand nombre d’évaluations de la fonction o n’apporte pas une amélioration significative loin de la solution • On peut se contenter d’une minimisation approchée o 2 règles d’acceptation d’un pas de déplacement Notations • xk = point courant o f(xk) • dk = direction de descente o f(xk)Tdk < 0 •
Variation de la fonction f dans la direction dk :
M(s)
Règles d’acceptation du pas • Diminution suffisante de la valeur de la fonction •
Déplacement suffisant par rapport au point initial
f ( x k sd k ), s t 0
o condition d’Armijo 1ère condition de Wolfe o condition de Goldstein 2ème condition de Wolfe
288
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation 2.3.3 Minimisation approchée
Diminution suffisante La fonction f doit décroître suffisamment pour accepter le pas. • Dérivée directionnelle de f suivant la direction dk M(s)
•
f ( x k sd k ), s t 0
M' (0)
f ( x k ) T d k 0
On impose une diminution proportionnelle à la dérivée directionnelle, avec 0 < H < c1 < 0.5 M(s) M(0) c1sM' (0)
f ( x k sd k ) f ( x k ) c1sf ( x k ) T d k
o valeur typique c1=0.1
o Condition d’Armijo ou 1ère condition de Wolfe ou 1ère condition de Goldstein f(x)=M(s)
pas acceptables
s o x = xk+sdk
c1M’(0) M’(0)
289
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation 2.3.3 Minimisation approchée
Déplacement suffisant Le déplacement à partir du point initial doit être suffisant pour accepter le pas. • Condition de Goldstein M(s) ! M(0) c 2 sM' (0)
•
f ( x k sd k ) ! f ( x k ) c 2 sf ( x k ) T d k
o valeur typique c2=0.9
Condition de Wolfe : réduction de la dérivée M' (s) ! c 2 M' (0)
f(x)=M(s)
f ( x k sd k ) T d k ! c 2 f ( x k ) T d k
f(x)=M(s)
pas acceptables (Goldstein)
o valeur typique c2=0.9
pas acceptables (Wolfe)
s
M’(0)
c2M’(0)
s
M’(0)
c2M’(0)
290
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation 2.3.3 Minimisation approchée
Récapitulatif • Conditions de Goldstein (si la dérivée de f est coûteuse) •
Conditions de Wolfe (si la dérivée de f est disponible) ou
M(s) M(0) c1sM' (0) o c1 | 0.1 ®M(s) ! M(0) c sM' (0) o c | 0.9 2 2 ¯ M(s) M(0) c1sM' (0) o c1 | 0.1 ®M' (s) ! c M' (0) o c 2 | 0.9 2 ¯ M' (s) c 2 M' (0) o assure théoriquement la convergence pas acceptables (Goldstein)
f(x)=M(s)
s o x = xk+sdk
c1M’(0) M’(0)
c2M’(0)
291
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation 2.3.3 Réglage du pas
Méthode de dichotomie
M(s) M(0) c sM' (0) On cherche un pas s vérifiant les conditions de Goldstein : ®M(s) ! M(0) c1 sM' (0) 2 ¯ Initialisation • Intervalle initial : •
Valeur initiale :
[smin , smax] avec smin = 0 smax assez grand s=1 (pas de Newton)
Itérations Evaluation de M(s) et comparaison aux droites de Goldstein • Si s ne respecte pas la condition 1 o amélioration insuffisante, pas trop grand : • Si s ne respecte pas la condition 2 o déplacement insuffisant, pas trop petit: o Réduction de l’intervalle [smin , smax] o Essai suivant : s
smax=s smin=s
1 ( s min s max ) 2
Arrêt • Si s respecte les 2 conditions o pas acceptable • Si l’intervalle [smin , smax] devient inférieur à un seuil donné
292
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement
Techniques d’optimisation 2.3.3 Réglage du pas
Illustration M(s) smin
s2
s3
s1
smax
s
c1M’(0) c2M’(0)
293
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.4 Algorithme
Techniques d’optimisation 2.3.4 Algorithme
Algorithme de recherche linéaire Convergence Exemple
294
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.4 Algorithme
Techniques d’optimisation 2.3.4 Algorithme
Algorithme de recherche linéaire Initialisation : x0 Gradient : f(x0) Approximation du hessien : H0
Itération k : xk Gradient : f(xk) Approximation du hessien : Hk>0
o H0 =I par défaut
Direction de descente : d k
H k1f(x k )
Recherche linéaire suivant dk o pas sk Règle de Goldstein ou Wolfe Arrêt si : f(x k 1 ) İ
Itération k+1 : xk+1 Gradient : f(xk+1) Approximation du hessien : Hk+1>0
Nouveau point : xk+1 = xk + sk dk Gradient : f(xk+1) Mise à jour du hessien par BFGS ou SR1 Modification du hessien : Hk+1>0 Factorisation de Cholesky modifiée
295
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.4 Algorithme
Techniques d’optimisation 2.3.4 Algorithme
Principaux résultats de convergence • Si d est une direction de descente, et f est bornée inférieurement suivant d, alors il existe un pas s suivant d vérifiant les conditions de Wolfe •
Si les directions de descente ne deviennent pas « trop » orthogonales au gradient, l’algorithme de recherche linéaire avec les conditions de Wolfe est globalement convergent. lim f ( x k ) 0 o convergence vers un point stationnaire
k of
En pratique • Les directions de descente peuvent être construites avec BFGS ou SR1 (si matrices Hk > 0) •
La valeur des coefficients de Goldstein ou Wolfe c1 et c2 n’est pas critique pour la convergence.
•
Le pas de Newton (s=1) est systématiquement testé, car il donne la solution si la fonction est proche de son modèle quadratique.
•
La méthode de plus forte pente a la propriété de convergence globale, mais peut être très lente. On peut assurer la convergence globale d’un algorithme de recherche linéaire utilisant d’autres directions en effectuant périodiquement une itération de plus forte pente.
296
2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.4 Algorithme
Techniques d’optimisation 2.3.4 Exemple
Fonction de Rosenbrock
5
f ( x1 , x 2 ) 100 x 2 x12 1 x1 • •
2
2
f
4 3
1.2 · Point initial : §¨ ¨ 1 ¸¸ © ¹
BFGS SR1
2
Recherche linéaire avec BFGS ou SR1
1 Itération 0 0
1,25
10
20
-1
BFGS
SR1
1
1
0,75
0,75
0,5
0,5
0,25
0,25
-0,5
0 0
-0,25
40
1,25
0 -1,5
30
0,5
1
1,5
-1,5
-1
-0,5
0 -0,25
0,5
1
1,5
297
2 Optimisation sans contraintes 2.4 Région de confiance
Techniques d’optimisation Sommaire
1.
Bases théoriques
2.
Optimisation sans contraintes 2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.4.1 Principes 2.4.2 Modèle quadratique 2.4.3 Rayon de confiance 2.4.4 Algorithme 2.5 Moindres carrés 2.6 Méthode de Nelder-Mead
3.
Optimisation avec contraintes 298
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.1 Principes
Techniques d’optimisation 2.4.1 Région de confiance
Problème sans contrainte minn f(x) xR
Etapes principales A chaque itération • Résolution d’un modèle quadratique dans un rayon rk autour du point xk o 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
299
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.1 Principes
Techniques d’optimisation 2.4.1 Région de confiance
Illustration x0
modèle quadratique en x0
x1
modèle quadratique en x1
modèle quadratique en x2 x2 x*
300
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Techniques d’optimisation 2.4.2 Modèle quadratique
Problème de région de confiance Conditions d’optimalité Résolution approchée Méthode dogleg
301
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Techniques d’optimisation
2.4.2 Problème de région de confiance Modèle quadratique • Au point courant xk on approxime la fonction par son modèle quadratique. 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 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 d rk dR n
•
o 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 f : région de confiance rectangulaire
302
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Techniques d’optimisation
2.4.2 Problème de région de confiance Notations • Point courant : xk noté x0 • Fonction : f(xk) noté f0 • Gradient : f(xk) noté g0 • Hessien : 2f(xk) noté H0 • Déplacement à partir de x0 :dRn • • •
1 fˆ (d ) f 0 d T g 0 d T H 0 d Fonction modèle : 2 Région de confiance : d 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 d r dR 2 x0 -g0
dN xN
lignes de niveau du modèle quadratique
303
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Techniques d’optimisation 2.4.2 Conditions d’optimalité
Région de confiance en norme 2 Le problème de région de confiance s’écrit avec la norme 2
• •
1 1 2 f 0 d T g 0 d T H 0 d sous d r2 d 0 dR 2 2 1 1 2 L(d , P ) f 0 d T g 0 d T H 0 d P d r 2 Lagrangien : 2 2 minn fˆ (d )
L(d*, ȝ g H d * ȝ * d* 0 0 0 °° d Conditions d’ordre 1 : ® d * d r , ȝ t 0 ° 2 2 0 ȝ * d * r 0 °¯ȝ * d * r
Contrainte de région de confiance • Si la contrainte de région de confiance est inactive, la contrainte peut être ignorée. La solution du problème quadratique sans contrainte est le point de Newton. •
Si la contrainte de région de confiance est active, la solution est au bord de la région de confiance : d * r H 0 P * I d* g 0 On peut alors montrer que H 0 P * I est semi-définie positive. Le problème quadratique est résolu avec la méthode de Newton et la matrice H 0 P * I t 0
304
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Techniques d’optimisation 2.4.2 Résolution approchée
Résolution du problème quadratique
1 f 0 d T g 0 d T H 0 d sous d d r 2
•
On doit résoudre à chaque itération le problème : minn fˆ (d )
•
Le problème doit éventuellement être résolu pour plusieurs valeurs du rayon. o résolution coûteuse si la contrainte est active o solution approximative par une méthode simplifiée (méthode dogleg)
dR
Point de Newton Le point de Newton xN est la solution du problème quadratique sans contrainte.
minn fˆ (d ) dR
1 f 0 d T g 0 d T H 0d 2
dN
H 01g 0 x N
x0 dN
Point de Cauchy Le point de Cauchy xC minimise le critère quadratique suivant le gradient : d C
min fˆ (sg 0 ) sR
1 f 0 sg g 0 s 2 g T0 H 0 g 0 2 T 0
sC
g T0 g 0 g T0 H 0 g 0
dC
s C g 0 x C
sg 0 , s t 0
x0 dC
305
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Techniques d’optimisation 2.4.2 Résolution approchée
Résolution du problème quadratique
minn fˆ (d ) dR
1 f 0 d T g 0 d T H 0 d sous d d r 2
o 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 x0 à xN. • r=0 o x(0) = x0 (tangente = g0) • r > _dN_ o x(r) = xN r x0 x(r)
g0
xN
lignes de niveau du modèle quadratique
306
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Techniques d’optimisation 2.4.2 Méthode dogleg
Chemin dogleg Le chemin dogleg est composé de 2 segments : • Le segment 1 joignant le point initial x0 au point de Cauchy xC = x0 + dC • Le segment 2 joignant le point de Cauchy x0 au point de Newton xN = x0 + dN On restreint la recherche de la solution au chemin dogleg. Paramétrage du chemin dogleg Le chemin dogleg est paramétré par s : x(s) = x0 + d(s) , pour s[0,2] • Segment 1 o d(s) = sdC pour s[0,1[ • Segment 2 o d(s) = dC + (s1)(dN dC) pour s[1,2] x0 dN
dC xC
xN
lignes de niveau du modèle quadratique
307
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Techniques d’optimisation 2.4.2 Méthode dogleg
Résolution du problème quadratique On cherche la solution du problème quadratique sous contrainte de région de confiance 1 minn fˆ (d ) f 0 d T g 0 d T H 0 d sous d d r dR 2 Le point de Newton est la solution du problème quadratique sans contrainte o 2 cas possibles •
Si le point de Newton est à l’intérieur de la région de confiance, la contrainte est inactive. o 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 o d(s) = sdC pour s[0,1[ Segment 2 o d(s) = dC + (s1)(dN dC) pour s[1,2] o Il suffit de trouver l’intersection du chemin dogleg avec la région de confiance en résolvant _d(s)_ = r.
308
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Techniques d’optimisation 2.4.2 Méthode dogleg
Position des points dogleg Trois situations sont possibles par rapport au rayon de confiance. • _dC_ t r o le point de Cauchy est à l’extérieur de la région de confiance •
_dC_ < r < _dN_
o 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_ d r
o 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
309
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Techniques d’optimisation 2.4.2 Méthode dogleg
Solution du problème dogleg La fonction _d(s)_ est croissante. La solution s* de _d(s)_ = r est : • Sur le segment 1 si _dC_ t r • Sur le segment 2 si _dC_ < r Solution sur le segment 1 d(s) = sdC avec s[0,1[
s *dC
r s*
r dC
d* r
dC dC
r
g0 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 °° b b 2 4ac s* 1 avec ®b 2a ° °¯c
d N dC
2
2d TC d N d C 2
dC r 2
310
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Techniques d’optimisation 2.4.2 Exemple
Méthode dogleg f (x1 , x 2 ) • Fonction
1 2 9 2 x1 x 2 2 2 §9· f ( x 0 ) ¨¨ ¸¸ ©9¹
§1 0· ¨¨ ¸¸ ©0 9¹ 1 f ( x 0 ) f ( x 0 ) T p p T 2 f ( x 0 ) p 2
•
§9· ¨¨ ¸¸ ©1¹ Modèle quadratique : fˆ ( x 0 p)
•
fˆ x 0 sf ( x 0 ) o min 45 18(9s) 5(9s) 2 o s Point de Cauchy : min s s
•
Point de Newton : x N
•
Région de confiance de rayon r :
•
Chemin dogleg :
•
Point initial : x 0
2f (x 0 )
1
x 0 2 f ( x 0 ) f ( x 0 ) xr
45 9p1 9p 2
1 5
§ 9 · § 1 0 ·§ 9 · ¨¨ ¸¸ ¨¨ ¸¸¨¨ ¸¸ © 1 ¹ © 0 1 / 9 ¹© 9 ¹
§ cos T · ¸¸ x 0 r¨¨ © sin T ¹
§ 9 r cos T · ¨¨ ¸¸ © 1 r sin T ¹
xC xN
1 2 9 2 p1 p 2 2 2 § 7.2 · ¨¨ ¸¸ © 0.8 ¹ §0· ¨¨ ¸¸ ©0¹
o paramétrée par T
segment 1 o
x d1 (s)
x 0 s( x C x 0 )
§ 9 1.8s · ¨¨ ¸¸ 1 1 . 8 s © ¹
segment 2 o
x d 2 (s)
x C s( x N x C )
§ 7.2 7.2s · ¨¨ ¸¸ , 0 d s d 1 © 0,8 0.8s ¹ 311
, 0dsd1
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique
Techniques d’optimisation 2.4.2 Exemple
Méthode dogleg 1 2 9 2 f (x1 , x 2 ) x1 x 2 2 2
x0
§ 7.2 · §0· ¨¨ ¸¸ , x N ¨¨ ¸¸ © 0.8 ¹ ©0¹ § 8,293 · ¸¸ sur le segment 1 x d | ¨¨ 0 . 293 © ¹
§9· ¨¨ ¸¸ x C ©1¹
•
Région de confiance de rayon r=1 :
•
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
xC
9
10
11
chemin dogleg
312
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance
Techniques d’optimisation 2.4.3 Rayon de confiance
Rapport de réduction Réglage du rayon
313
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance
Techniques d’optimisation 2.4.3 Rapport de réduction
Validité du modèle quadratique Le modèle quadratique est une approximation de la fonction valide dans un voisinage de x0. o Si le rayon de confiance est trop grand, le modèle quadratique n’est plus représentatif. o 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 U 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 :
U
f ( x 0 ) f ( x 0 d*) fˆ ( x ) fˆ ( x d*) 0
0
•
La valeur de U permet de vérifier si le modèle quadratique représente correctement la fonction, et d’adapter le rayon de confiance.
• •
U | 1 ou > 1 : amélioration réelle > amélioration prévue U | 0 ou < 0 : amélioration réelle < amélioration prévue
o modèle bon o modèle mauvais
Le rayon est réglé de façon itérative en fonction de la valeur de U.
314
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance
Techniques d’optimisation 2.4.3 Réglage du rayon
Réglage du rayon On modifie le rayon de confiance en fonction du rapport de réduction U
f ( x 0 ) f ( x 0 d*) fˆ ( x ) fˆ ( x d*) 0
•
U > U2 avec U2 = 0.9 La fonction f décroît au moins comme prévu : le modèle est bon. o On accepte le nouveau point. o On passe à l’itération suivante en multipliant par 2 le rayon de confiance.
•
U < U1 avec U1 = 0.01 La fonction f augmente au lieu de diminuer comme prévu : le modèle est mauvais. o On rejette le nouveau point. o On reprend l’itération en divisant par 2 le rayon de confiance.
•
U1 < U < U2 La fonction décroît, mais moins que prévu : le modèle est correct. o On accepte le nouveau point. o On passe à l’itération suivante sans changer le rayon de confiance.
0
315
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme
Techniques d’optimisation 2.4.4 Algorithme
Algorithme de région de confiance Convergence Exemple - Région de confiance norme 2 - Région de confiance norme f
316
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme
Techniques d’optimisation 2.4.4 Algorithme
Algorithme de région de confiance Initialisation : x0 Rayon r0 Gradient : f(x0) Approximation du hessien : H0
Itération k : xk Rayon rk Gradient : f(xk) Approximation du hessien : Hk>0
o H0 =I par défaut
Résolution problème quadratique o pas dk Méthode dogleg Rapport de réduction o U Réglage du rayon o rk+1
Arrêt si : f(x k 1 ) İ
Itération k+1 : xk+1 Rayon rk+1 Gradient : f(xk+1) Approximation du hessien : Hk+1>0
Nouveau point : xk+1 = xk + dk Gradient : f(xk+1) Mise à jour du hessien par BFGS ou SR1 Modification du hessien : Hk+1>0 Factorisation de Cholesky modifiée
317
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme
Techniques d’optimisation 2.4.4 Algorithme
Principaux résultats de convergence • Lorsque le rayon de confiance est petit, la solution dogleg est suivant le gradient. L’itération est équivalente à la méthode de plus forte pente o 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 o convergence rapide
En pratique • On peut combiner l’algorithme de région de confiance avec BFGS ou SR1. Il n’est pas nécessaire que le hessien soit défini positif. Si le hessien n’est pas défini positif, la méthode SR1 est plus efficace. •
La valeur des seuils de réduction U1 et U2 pour régler le rayon n’est pas critique pour la convergence.
•
Le point de Newton xN est systématiquement testé, car il donne la solution s’il est à l’intérieur de la région de confiance. Sinon, on cherche une solution approchée sur le chemin dogleg.
•
D’autres méthodes de résolution approchée du problème quadratique existent.
318
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme
Techniques d’optimisation 2.4.4 Exemple
Fonction de Rosenbrock
f ( x1 , x 2 ) 100 x 2 x • • •
5
f
1 x
2 2 1
2
4
1
3
1.2 · Point initial : §¨ ¨ 1 ¸¸ © ¹
2
Région de confiance avec BFGS ou SR1 Norme 2 : région de confiance circulaire 1,25
BFGS SR1
1
Itération
0 0
10
20
-1
BFGS
SR1
1
1
0,75
0,75
0,5
0,5
0,25
0,25
-0,5
0 0
-0,25
40
1,25
0 -1,5
30
0,5
1
1,5
-1,5
-1
-0,5
0 -0,25
0,5
1
1,5
319
2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme
Techniques d’optimisation 2.4.4 Exemple
Fonction de Rosenbrock
5
f ( 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 f : région de confiance rectangulaire 0 1,25
Itération
0
10
20
-1
BFGS
SR1
1
1
0,75
0,75
0,5
0,5
0,25
0,25
-0,5
0 0
-0,25
40
1,25
0 -1,5
30
0,5
1
1,5
-1,5
-1
-0,5
0 -0,25
0,5
1
1,5
320
2 Optimisation sans contraintes 2.5 Moindres carrés
Techniques d’optimisation Sommaire
1.
Bases théoriques
2.
Optimisation sans contraintes 2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.5.1 Formulation 2.5.2 Méthode de Gauss-Newton 2.5.3 Moindres carrés linéaires 2.5.4 Filtre de Kalman 2.5.5 Méthode du gradient conjugué 2.6 Méthode de Nelder-Mead
3.
Optimisation avec contraintes 321
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.1 Formulation
Techniques d’optimisation 2.5.1 Formulation
Problème de moindres carrés
minn xR
1 r(x) 2
2
o 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
•
1 r(x) 2
Critère f(x)R :
f (x)
1 r(x) T r(x) 2
2
1 m ri ( x ) 2 ¦ 2i1
o minimisation d’écart quadratique • •
Gradient :
f ( x )
Hessien :
f (x) 2
r ( x ) r ( x )
m
ri ( x )ri ( x ) ¦ i 1
¦ r (x )r (x ) m
i
T
i
i 1
r ( x ) R num avec ® n u1 r ( x ) R ¯ i
2 ri ( x )ri ( x )
m
r ( x )r ( x ) ¦ 2 ri ( x )ri ( x ) T
i 1
•
Résolution : en appliquant la méthode de Newton
322
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.2 Méthode de Gauss-Newton
Techniques d’optimisation 2.5.2 Méthode de Gauss-Newton
Méthode de Newton L’itération de Newton au point xk est : 2 f ( x k )d k Avec
f ( x k )
o déplacement dk
m °° f ( x ) r ( x )r ( x ) ¦ ri ( x )ri ( x ) i 1 ® m 2 T ° f ( x ) r ( x )r ( x ) ¦ 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) o 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 o nécessaire pour la convergence de la méthode de Newton
•
L’itération de Gauss-Newton au point xk est : r ( x k )r ( x k ) T d k
r ( x k )r ( x k )
323
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.2 Méthode de Gauss-Newton
Techniques d’optimisation 2.5.2 Méthode de Gauss-Newton
Méthode de Gauss-Newton La méthode de Gauss-Newton équivaut à considérer un modèle linéaire des fonctions ri(x) en xk
rˆi ( x )
ri ( x k ) ri ( x k ) T ( x x k ) , i 1, , m
Le problème devient : minn xR
•
Critère :
fˆ ( x )
fˆ ( x )
1 rˆ ( x ) 2
rˆ ( x )
r ( x k ) r ( x k ) T ( x x k )
2
2 1 1 rˆ ( x ) rˆ ( x ) T rˆ ( x ) 2 2 T 1 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 )r ( x ) T ( x x ) r ( x )r ( x )
•
Gradient :
•
Condition d’ordre 1 : fˆ ( x )
k
k
k
0 r ( x k )r ( x k ) T ( x x k )
o On retrouve l’itération de Gauss-Newton obtenue en ignorant les dérivées secondes dans le hessien
k
k
r ( x k )r ( x k )
324
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.3 Moindres carrés linéaires
Techniques d’optimisation 2.5.3 Moindres carrés linéaires
Cas linéaire
minn xR
1 r(x) 2
2
avec r ( x )
Ax b, A R mun , b R m
•
Critère :
•
Gradient :
1 1 2 Ax b T Ax b r(x) 2 2 f ( x ) r ( x )r ( x ) A T Ax b
•
Hessien :
2f (x)
f (x)
o problème (MC)
1 T T 1 x A Ax b T Ax b T b 2 2
ATA
Dans le cas linéaire, la méthode de Gauss-Newton est identique à la méthode de Newton. o 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
ATb
o 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
325
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.3 Moindres carrés linéaires
Techniques d’optimisation 2.5.3 Exemple
Moindres carrés linéaires On cherche à estimer l’accélération de la gravité à partir de mesures de hauteur en chute libre. Temps (s) 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
o h
1 2 gt 2
h Hauteur h (m) 2000
1500
1000
500
0 0
5
10
Temps t (s)
15
20
326
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.3 Moindres carrés linéaires
Techniques d’optimisation 2.5.3 Exemple
Moindres carrés linéaires 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
1 m § t i2 · ¨¨ h i g ¸¸ ¦ 2 i 1© 2¹ o f (g )
1 m 2 r ( g ) ¦i 2i1
Solution moindres carrés : g* = 9,8070 m/s2 o f(g*) = 21,668 h (m) 2000
1500
1000
500
0 0
50
100
t2/2 (s2)
150
200 327
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman
Techniques d’optimisation 2.5.4 Filtre de Kalman
Moindres carrés récursifs • On considère un problème de moindres carrés linéaires composé de 2 blocs 2
min A1 x b1 A 2 x b 2 xR n
•
A 1 R m 1 u n , b 1 R m 1 avec ® m 2 un , 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
o m1 mesures o m2 mesures
Les matrices A1 et A2 sont supposées de rang plein o 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 La solution x1 vérifie les équations normales du problème initial : A1 A1 x 1
•
On cherche ensuite à exprimer la solution x2 du problème complet en fonction de x1.
A1T b1
328
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman
Techniques d’optimisation 2.5.4 Filtre de Kalman
Problème complet • On réécrit le problème complet en regroupant les 2 blocs. 2 § A 1 · § b1 · 2 2 minn A1 x b1 A 2 x b 2 minn ¨¨ ¸¸ x ¨¨ ¸¸ minn Ax b xR xR xR © A2 ¹ © b2 ¹
avec A
§ A1 · ¨¨ ¸¸ R ( m1 m 2 )un , b © A2 ¹
2
§ b1 · ¨¨ ¸¸ R m1 m 2 © b2 ¹
•
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 © A2 ¹ © b2 ¹ La solution x1 vérifie les équations normales du problème initial : A1T A1 x 1
•
On exprime x2 en fonction de x1 et des données du 2ème bloc de mesures
A T Ax 2
A
T 1
x2
A T b A1T
A1 A T2 A 2 x 2
A1T b1 A T2 b 2 A1T b1
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 1 A1T A1 A T2 A 2
1
A T2 b 2 A 2 x 1
329
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman
Techniques d’optimisation 2.5.4 Filtre de Kalman
Filtre de Kalman La solution des moindres carrés est mise à jour à chaque nouvelle mesure disponible. o 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
Hk xk
k
H k 1 A Tk A k minn ¦ A i x b i 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 o en prenant un nombre suffisant de mesures •
•
On peut introduire une pondération U pour privilégier les mesures récentes. o U = 1 pour donner le même poids à toutes les mesures o U < 1 pour privilégier la dernière mesure Itération :
filtre Hk solution xk
Hk xk
UH k 1 A A k x k 1 H k1A Tk b k A k x k 1 T k
k
min ¦ U k i A i x b i xR n
i 1
330
2
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman
Techniques d’optimisation 2.5.4 Filtre de Kalman
Exemple On applique la mise à jour de Kalman à chaque nouvelle mesure. Mesure : h mesure
o bk
hk t 2k t g o Ak , xk gk Modèle : h mod èle Ax 2 2 T Filtre : ®H 0 0 o ®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
•
b
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
331
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman
Techniques d’optimisation 2.5.4 Filtre de Kalman
Comparaison moindres carrés filtre de Kalman • Les moindres carrés sont adaptés à l’estimation de paramètres de modèle a posteriori (= lorsque toutes les mesures sont disponibles). •
Le filtre de Kalman est adapté à des applications en temps réel (= lorsque les mesures arrivent une à une)
•
Les moindres carrés et le filtre de Kalman sont équivalents pour l’estimation de paramètres d’un modèle linéaire. Le filtre de Kalman peut être appliqué à différents problèmes d’estimation.
Applications du filtre de Kalman • Estimation de l’état d’un système dynamique linéaire, discret ou continu. o état fonction du temps, mesures en temps réel •
Estimation de l’état d’un système dynamique non linéaire o 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 o nombreuses variantes
332
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué
Techniques d’optimisation 2.5.5 Gradient conjugué
Problème quadratique On considère un problème de moindres carrés linéaires. 1 2 minn r ( x ) avec r ( x ) Ax b, A R mun , b R m xR 2 1 1 2 Ax b T Ax b 1 x T A T Ax b T Ax 1 b T b r(x) 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 QRnun 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. o extension à une fonction f quelconque (méthode de Fletcher-Reeves)
333
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué
Techniques d’optimisation 2.5.5 Gradient conjugué
Méthode du gradient conjugué • On part d’un point initial x0 quelconque. La direction initiale est le gradient : d1 = f(x0) • A chaque itération, le nouveau point xk est obtenu par minimisation suivant dk. min f ( x k 1 sd k ) o x k s
x k 1 s k d k
•
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 ) E k d k o 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
334
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué
Techniques d’optimisation 2.5.5 Gradient conjugué
Méthode du gradient conjugué • La direction de descente à l’itération k est cherchée sous la forme d k 1 f ( x k ) E k d k avec xk obtenu par minimisation suivant dk : min f ( x k 1 sd k ) o x k x k 1 s k d k s
•
La nouvelle direction dk+1 doit être conjuguée à toutes les directions précédentes d1,…, dk.
d Tk 1Qd i
0 , i 1, , k
Il existe plusieurs méthodes de construction des directions conjuguées successives (di)i=1,…,n. •
Directions de Fletcher-Reeves d k 1
•
f ( x k ) E k d k avec E k
2
f ( x k ) f ( x k 1 )
2
Directions de Polak-Ribière d k 1
f ( x k ) E k d k avec E k
f ( x k ) f ( x k 1 ) T f ( x k ) f ( x k 1 )
2
o formules équivalentes dans le cas d’une fonction f quadratique
335
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué
Techniques d’optimisation 2.5.5 Gradient conjugué
Directions de Fletcher-Reeves d k 1
f ( x k ) E k d k avec E k
f ( x k ) f ( x k 1 )
2 2
Preuve : On note gk = f(xk) = Qxk + c •
o directions conjuguées pour 1 T f (x) x Qx c T x 2
Propriété préliminaire T Si les n directions d1,…,dn sont conjuguées, alors d i g k et g iT g k
0 , i 1, , k pour k=1 à n. 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 g 0 T T d i g k d i g i ¦ s j d iT Qd j 0 car ® iT i j i 1 ¯d i Qd j 0 si i z j g iT g k
g iT g k E i d iT g k car d iT g k d iT1 g k 0 car i k
0 ,i
1, , k
336
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué
Techniques d’optimisation 2.5.5 Gradient conjugué
Directions de Fletcher-Reeves Preuve : on montre par ré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 E 1 g 0 Q car ®d 2 g 1 E 1 d 1 s1 °¯ x1 x0 s1 d 1 T g g0 d 2T Qd 1 g 1 E 1 g 0 1 car g Qx c s1 d 2T Qd 1 d 2T Qd 1
•
g1
2
E1 g0
0 car E 1
car g T
f ( x1 )
2
f ( x0 )
2
T 1
g 1T d 1
g0 g1 g0
0
(propriété préliminaire)
2
(par définition de E)
2
On suppose d1,…,dk conjuguées : d iT Qd j 0 , i z j , i , j d k Il faut montrer que d iT Qd k 1 0 , i 1, , k d iT Qd k 1
d iT Qg k E 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
§ xi xi 1 · ¸ g k car xi Qd i g k ¨¨ Q ¸ si T © ¹ § g i g i 1 · ¨ ¸ g k car g Qx c ¨ ¸ si © ¹ T
xi 1 s i d i
337
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué
Techniques d’optimisation 2.5.5 Gradient conjugué
Directions de Fletcher-Reeves Preuve • •
1 T 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
T k
d Qd k 1
0 d Q g k E k d k 0 E k T k
T
d kT Qg k
d kT Qd k d kT Qd k
(propriété préliminaire)
d kT Qg k d kT Qd k
§ xk x k 1 · 1 1 2 T ¨Q ¸ gk g g g g k k 1 k k ¨ ¸ sk sk sk © ¹ § x x k 1 · 1 T 1 T T ¸ d kT ¨¨ Q k d g g d g car d g k 0 (propriété préliminaire) k k k 1 k k 1 k ¸ s s s k k k © ¹ 1 1 1 2 T d kT g k 1 g k 1 E k 1 d k 1 g k 1 g k 1 car d kT1 g k 1 sk sk sk
On obtient bien : E k
gk g k 1
2 2
o valeur de Ek telle que d kT Qd k 1
0
338
2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué
Techniques d’optimisation 2.5.5 Exemple
Gradient conjugué • Fonction quadratique f ( x 1 , x 2 ) x0
•
Point initial
•
1 Itération 1 : d
min f ( x 0 sd1 ) s
•
Itération 2 : d 2 d2 min f ( x1 sd 2 ) s
•
§ 10 · ¨¨ ¸¸ © 5¹ f ( x 0 )
1 2 x 1 x 1 x 2 x 22 o f ( x 1 , x 2 ) 2
§ 5· ¨¨ ¸¸ o x 1 © 0 ¹
25 2 s 2 252 s 25 s1 2
f ( x 1 ) E1d1 avec E1
§10 5s · ¨¨ ¸¸ © 5 ¹
x 0 sd1 1
f ( x 1 )
2
f ( x )
2
0
o x
25 25
1
§ x1 x 2 · ¨¨ ¸¸ © x1 2x 2 ¹ §2 s· ¸¸ 5¨¨ © 1 ¹ § 5 · ¨¨ ¸¸ , f ( x 1 ) © 5¹
1
§ 5· § 5 5s · §1· ¨¨ ¸¸ o x 2 x1 sd 2 ¨¨ ¸¸ 5(1 s)¨¨ ¸¸ © 5 ¹ © 5 5s ¹ © 1¹ 25 1 s 2 251 s 2 251 s 2 s 2 1 o x 2 2
§0· Solution : x* ¨¨ ¸¸ , f ( x*) ©0¹
§ 0 · ¨¨ ¸¸ © 5¹
§ 0· ¨¨ ¸¸ , f ( x 2 ) © 0¹
§0· ¨¨ ¸¸ ©0¹
§0· ¨¨ ¸¸ ©0¹
339
2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead
Techniques d’optimisation Sommaire
1.
Bases théoriques
2.
Optimisation sans contraintes 2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthode de Nelder-Mead 2.6.1 Principes 2.6.2 Algorithme 2.6.3 Exemples
3.
Optimisation avec contraintes
340
2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead 2.6.1 Principes
Techniques d’optimisation 2.6.1 Méthode de Nelder-Mead
Problème sans contrainte minn f(x) xR
Principes La méthode de Nelder-Mead est une méthode d’ordre 0 (sans dérivées) o n’utilise que des évaluations de la fonction (aucune évaluation du gradient)
^x1 , x 2 ,, x n , x n 1`
•
On définit un ensemble P de n+1 points de Rn : P P est un polytope ou « simplexe » de Rn.
•
Les points de P sont rangés du meilleur au plus mauvais : f ( x 1 ) d f ( x 2 ) d d f ( x n ) d f ( x n 1 )
•
A chaque itération, on cherche à remplacer le plus mauvais point par un point meilleur. P ^x 1 , x 2 , , x n , x n 1 ` o P' ^x 1 , x 2 , , x n , x new ` o P' ^x 1 ' , x 2 ' , , x n ' , x n 1 '` après reclassement
•
On obtient une suite de polytopes (Pk)kN : P k
•
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.
^x
k 1
, x k2 , , x kn , x kn 1
` 341
2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead 2.6.1 Principes
Techniques d’optimisation 2.6.1 Méthode de Nelder-Mead
Polytope P ^x 1 , x 2 , , x n , x n 1 `
x1
f ( x 1 ) d f ( x 2 ) d d f ( x n ) d f ( x n 1 )
x3
x*
Nouveau point xc est le barycentre des n meilleurs points. 1 n xc ¦ xi ni1
x2
On cherche à ramener le plus mauvais point xn+1 vers le barycentre xc. On teste des points x sur la demi-droite [xn+1,xc) paramétrée par t > 0.
x(t)
x c t ( x c x n 1 ) x1
Points testés successivement : • Réflexion : x(t=+1) = xr • Expansion : x(t=+2) = xe • Contraction externe : x(t=+0.5) = xce • Contraction externe : x(t=0.5) = xci
x* xr xe x(t)
xc xce
x3 xci
x2
342
2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead 2.6.1 Principes
Techniques d’optimisation 2.6.1 Méthode de Nelder-Mead
Nouveau point Le polytope initial est P
^x1 , x 2 ,, x n , x n 1`
avec
f ( x 1 ) d f ( x 2 ) d d f ( x n ) d f ( x n 1 )
La demi-droite [xn+1,xc) est supposée être une direction de descente. On teste d’abord xr (symétrique de xn+1 / xc). •
• •
•
Résultat très bon : f ( x r ) f ( x 1 ) o on essaie xe on remplace xn+1 par xe ou xr.
x1 x*
f (x1 ) d f (x r ) f (x n ) Résultat bon : o on remplace xn+1 par xr. Résultat moyen : f ( x n ) d f ( x r ) f ( x n 1 ) o on essaie xce on remplace xn+1 par xce ou xr.
xr xe x(t)
Résultat mauvais : f ( x n 1 ) d f ( x r ) o on essaie xci on remplace xn+1 par xci , ou on contracte tout le polytope P vers x1
xc xce
x3 xci
x2
343
2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead 2.6.2 Algorithme
Techniques d’optimisation 2.6.2 Algorithme
Itération k
Pk
^x
k 1
, x k2 , , x kn , x kn 1
`
avec f ( x 1k ) d f ( x k2 ) d d f ( x kn ) d f ( x kn 1 ) 1 n k x i o d x c x kn 1 ¦ ni1
1.
Barycentre :
2. 3.
o Réflexion : xr = x c + d Si f(xr) < f(x1) o Expansion : xe = xc + 2d o x’ = xe Si f(xe) < f(xr) Sinon o x’ = xr o x’ = xr Si f(x1) < f(xr) < f(xn) Si f(xn) < f(xr) < f(xn+1) Contraction externe : xce = xc + d/2 o o x’ = xce Si f(xce) < f(xr) Sinon o x’ = xr Si f(xn+1) < f(xr) Contraction interne : xci = xc d/2 o o x’ = xci Si f(xci) < f(xn+1) Sinon réduction de P vers x1 o x ik 1
4. 5.
6.
7.
xc
Nouveau point x’
P k 1
^x
k 1 1
o polytope P
, x k2 1 , , x kn 1 , x kn 11
`
k 1
avec
f(xr)
d
f(xe) 2d
f(xce) d/2
f(xci)
d/2 1 k x1 x i 2 x 1k , x k2 , , x kn , x ' à reclasser
^
`
f ( x 1k 1 ) d f ( x k2 1 ) d d f ( x kn 1 ) d f ( x kn 11 )
344
2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead 2.6.2 Algorithme
Techniques d’optimisation 2.6.2 Algorithme
Initialisation 0 x 10 , x 02 , , x 0n , x 0n 1 avec Polytope initial P o points suffisamment distants, non alignés
^
Itération k
Pk
^x
k 1
, x k2 , , x kn , x kn 1
`
`
avec
f ( x 10 ) d f ( x 02 ) d d f ( x 0n ) d f ( x 0n 1 )
f ( x 1k ) d f ( x k2 ) d d f ( x kn ) d f ( x kn 1 )
•
Nouveau point x’ o reclassement des points x1, x2, … , xn, x’ par valeur de f croissante
•
Nouveau polytope :
P k 1
^x
k 1 1
, x k2 1 , , x kn 1 , x kn 11
`
avec
f ( x 1k 1 ) d f ( x k2 1 ) d d f ( x kn 1 ) d f ( x kn 11 )
Arrêt • Taille du polytope • Valeur de la fonction (non décroissante, identique sur tout le polytope) • Dégénérescence du polytope (alignement des points).
345
2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead 2.6.3 Exemples
Techniques d’optimisation 2.6.3 Exemples
Exemple 1 : fonction quadratique 1 2 9 2 f (x1 , x 2 ) x1 x 2 2 2 2,5
2,0
1,5
1,0
0,5
0,0 -0,5
0,0
-0,5
0,5
1,0
1,5
2,0
2,5
346
2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead 2.6.3 Exemples
Techniques d’optimisation 2.6.3 Exemples
Exemple 2 : fonction de Rosenbrock
f ( x1 , x 2 ) 100 x 2 x12 1 x1 2
2
1,25
1,00
0,75
0,50
0,25
0,00 -1,50
-1,00
-0,50
0,00
-0,25
0,50
1,00
1,50
347