Aide Mémoire d`optimisation sans contraintes

publicité
Aide Mémoire d’optimisation sans contraintes
1
Introduction à l’optimisation
(P)
Un problème d’optimisation :
x
f
C
min f (x)
s.c. x ∈ C
variable de décision
fonction objectif ou critère
ensemble admissible : C = {x ∈ Rn : h(x) = 0; g(x) 6 0}
où h est définie de Rn dans Rm et g de Rn dans Rp
⇔
⇔
⇔
⇔
⇔
Optimisation discrète (ou combinatoire)
Optimisation continue
Optimisation linéaire
Optimisation quadratique
Optimisation convexe
C ⊂ Zn
C continu
f , h, g affines
f quadratique et h, g affines
f et g convexes et h affines
Dans ce cours f , h, g sont différentiables.
1.1
les minimums
x∗ ∈ C minimum global de (P) ⇔
∗
x ∈ C minimum local de (P) ⇔
minimum strict :
∀x ∈ C,
f (x∗ ) 6 f (x)
∃r > 0,
∀x ∈ B(x∗ , r) ∩ C,
6 → <
(xn )n ⊂ C suite minimisante de (P) ⇔
lim f (xn ) = inf f (x)
n→+∞
f coercive sur C (infinie à l’infini) ⇐⇒
x∈C
lim
kxk→+∞
(existe tjs)
f (x) = +∞
x∈C
1.2
Théorème d’existence d’un minimum

C fermé

f continue
=⇒ (P) admet au moins un minimum

f coercive sur C
1.3
Théorème d’unicité d’un minimum
(P) convexe ⇐⇒
C convexe
f convexe surC
C convexe
f strictement convexe sur C
f (x∗ ) 6 f (x)
=⇒ tout minimum local est global
=⇒ il existe au plus un minimum
1
2
Condition nécessaire du premier ordre : ∇f (x) = 0
Principe de Fermat :
f : Rn → R différentiable en x∗
x∗ un minimum local de f
∇f (x) = 0
3
∇f (x∗ ) = 0
=⇒
⇐⇒
x point critique ou point stationnaire
⇐⇒
x minimum local ou maximum local ou point selle
Condition nécessaire du second ordre :∇2 f (x) 0
f : Rn → R deux fois différentiable en x∗
x∗ un minimum local de f
4
=⇒
∇2 f (x∗ ) 0
Conditions suffisantes du second ordre
f : Rn → R deux fois différentiable en x∗ ∈ Rn
∇f (x∗ ) = 0
=⇒
? x∗ minimum local ou point selle ???
∇2 f (x∗ )0
∇f (x∗ ) = 0
=⇒
x∗ minimum local strict de f
∇2 f (x∗ )0
∇f (x∗ ) = 0
=⇒
x∗ minimum global de f
∀x ∈ Rn , ∇2 f (x)0
∇f (x∗ ) = 0
=⇒
x∗ unique minimum global de f
∀x ∈ Rn , ∇2 f (x)0
5
Algorithmes de recherche linéaire
• Initialisation : x0 donné
• Etape courante : xk connu
1. Déterminer une direction de recherche dk
2. Déterminer un pas de rechercher αk
3. xk+1 = xk + αk dk
• Test d’arrêt
d direction de descente =⇒ ∀ β < 1, ∃ η > 0, ∀α ∈]0, η[, f (x+αd) 6 f (x)+αβh∇f (x), di
2
3
h∇f (xk ), dk i < 0
Algorithme de descente
dk = −∇f (xk ) + βk−1 dk−1 avec
Algorithme des gradients conjugués
Méthode de Gauss-Newton
problèmes de moindres carrés
f (x) = 21 kg(x)k22
BFGS’
(Broyden, Fletcher, Goldfarb, Shanno)
BFGS
recherche linéaire
−
Hk sk sT
k Hk
sT
k Hk sk
k
k
dk = −Wk ∇f (xk )
s yT
y sT
= I − ykT skk Wk I − ykT skk +
Hk+1 = Hk +
T
yk yk
Ts
yk
k
sk sT
k
Ts
yk
k
1
pas de Wolfe
pas de Wolfe
Table 1: Tableau récapitulatif des algorithmes de recherche linéaire
∇g(xk )∇g(xk )T dk = −∇g(xk )g(xk )
Wk+1
Dk =
pas de Wolfe
Dk dk = −∇f (xk ) avec
∇2 f (xk )
si
∇2 f (xk ) 0
2
∇ f (xk ) + µI sinon
Hk dk = −∇f (xk )
Méthode de Newton avec
1
mind∈Rn f (xk ) + ∇f (xk )T d + dTk ∇2 f (xk )dk
modélisation quadratique
pas de Wolfe
1
Méthode de Newton locale
Algorithme Fletcher-Reeves
(problèmes non linéaires quelconques)
− hb, xi + c
h∇f (xk ), dk i
hdk , Qdk i
= pas optimal
αk = −
α>0
solution de
min f (xk + αdk )
α>0
solution de
min f (xk + αdk )
pas de recherche αk
dk = −∇f (xk ) + βk−1 dk−1 avec
h∇f (xk ), ∇f (xk )i
βk−1 =
h∇f (xk−1 ), ∇f (xk−1 )i
∇2 f (xk )dk = −∇f (xk )
f (x) =
1
2 hQx, xi
βk−1 =
h∇f (xk ), Qdk−1 i
hdk−1 , Qdk−1 i
directions sont mutuellement conjuguées
dk = −∇f (xk )
Algorithme de gradient
à pas optimal
pour les problèmes quadratiques
dk = −∇f (xk )
plus forte descente locale
Algorithme de gradient
Algorithme à pas optimal
direction de recherche dk
Algorithmes
= résoudre un système linéaire
Inversion des Hk
Inversion des hessiennes (long)
Nécessite le calcul des hessiennes
hessienne doit être inversible
minimum, maximum ou point selle ?
nbre de valeurs propres distinctes de Q
converge en au plus p itérations
deux directions de descente
successives sont orthogonales
inconvénients / convergence
5.1
Problème quadratique
(PQ)
min f (x) = 12 hQx, xi − hb, xi
s.c. x ∈ Rn
avec Q ∈ Mn (R) symétrique définie positive et b ∈ Rn .
∇2 f (x) = Q
=⇒ ∇f (x) = −(Qx − b)
d1 , d2 sont Q-conjuguées ⇐⇒ hd1 , Qd2 i = 0
5.2
Pas de recherche ni trop court, ni trop long : pas de Wolf
αopt le pas optimal : solution de min f (xk + αdk ) =⇒ long à calculer
α>0
Conditions de Wolf (dk une direction de descente de f en xk et 0 < β1 < β2 < 1)
Condition de diminution suffisante f (xk + αk dk ) 6 f (xk ) + β1 αk h∇f (xk ), dk i
Condition de progrès suffisant
h∇f (xk + αk dk ), dk i > β2 h∇f (xk ), dk i
dk = direction de descente
0 < β1 < β2 < 1, λ > 1
Algorithme de Fletcher-Lemaréchal
=⇒
pas de Wolf
f minorée dans la direction dk =⇒ algorithme de Fletcher-Lemaréchal converge
6
Algorithme de région de confiance
méthodes de recherche linéaire : recherche suivant un direction donnée
méthode de région de confiance : recherche sur toutes les directions mais remplacement de f par un modèle mk plus simple
¯ ∆0 , x0 donnés, 0 < η < 1 .
• Initialisation : ∆,
4
• Etape courante : xk et ∆k connus.
(a) Résoudre le sous-problème de région de confiance : problème approché
mk (x) ≈ f (x) dans la région de confiance Rk = {xk + d | kdk 6 ∆k },
min mk (x) = min mk (xk + d)
x∈Rk
kdk6∆
soit x̃k+1 = xk + dk sa solution.
(b) Calculer le ratio de réduction ρk
ρk =
f (xk ) − f (x̃k+1 )
réduction réelle
=
réduction prédite par le modèle
mk (xk ) − mk (x̃k+1 )
(c) Si ρk > η alors xk+1 = xk + dk modèle acceptable : point accepté
sinon xk+1 = xk point rejeté
(d) Mise à jour du rayon ∆k
∗ Si ρk < 41 alors ∆k+1 = 41 kdk k : modèle mauvais, & rayon
∗ Si 14 6 ρk 6 43 alors ∆k+1 = ∆k : modèle moyen, on continue
∗ Si ρk > 43 : modèle très bon
¯ sinon ∆k+1 = ∆k .
Si kdk k = ∆k alors ∆k+1 = min(2∆k , ∆)
• Test d’arrêt.
4
Téléchargement