Académique Documents
Professionnel Documents
Culture Documents
Optimisation
Optimisation
• Introduction
• Analyse de la fonction objectif
• Conditions d’optimalité sans contrainte
• Résolution d’équations
• Optimisation sans contrainte
• Analyse des contraintes
• Conditions d’optimalité avec contraintes
• Optimisation avec contraintes
Introduction Introduction
Swisscom Swisscom
• Constante • Inégalités
g(x) ≤ 0 ⇐⇒ −g(x) ≥ 0.
argminx∈X⊆Rn f (x) = argminx∈X⊆Rn (f (x) + c) ∀c ∈ R,
• Egalité - Inégalités
et "
min (f (x) + c) = c + min f (x) ∀c ∈ R. g(x) ≤ 0
x∈X⊆Rn x∈X⊆Rn g(x) = 0 ⇐⇒
g(x) ≥ 0
• Minimum - Maximum
• Variables non négatives
max f (x) ⇐⇒ − min −f (x).
x x
x = x+ − x− , avec x+ ≥ 0 et x− ≥ 0.
min f (x) ⇐⇒ − max −f (x).
x x
f (x∗ ) ≤ f (x) ∀x ∈ Y tel que 'x − x∗ ' < ε. f (x∗ ) < f (x) ∀x ∈ Y, x )= x∗ tel que 'x − x∗ ' < ε.
.
Analyse du problème – p.6 Analyse du problème – p.7
En effet,
inf f (y) 0 = inf f (y) ≤ f (x) = ex ∀x ∈ R.
y∈Y
y∈Y
(z, f(z))
x z= y
λx + (1 − λ)y
Fonction concave
Une fonction f : Rn −→ R est dite concave si −f est une fonc-
(x, f(x))
∈ Rn , on a
tion convexe, c’est-à-dire si, pour tout x, y
Rappels Rappels
Théorème: Taylor au premier ordre Soit f : Rn −→ R une fonction Notation de Landau o(·)
différentiable sur une sphère ouverte S centrée en x. Alors,
Soient f et g deux fonctions de R −→ R, avec f (x) )= 0, ∀x. La
• pour tout d tel que x + d ∈ S , on a
notation de Landau g(x) = o(f (x)) signifie que
f (x + d) = f (x) + dT ∇f (x) + o('d'),
g(x)
• pour tout d tel que x + d ∈ S , il existe α ∈ [0, 1] tel que
lim = 0.
x→0 f (x)
f (x + d) = f (x) + dT ∇f (x + αd). Par abus de language, on dit que g(x) tend vers zéro plus vite que
(sans preuve) f (x).
Théorème: Direction de descente Soit f : Rn −→ R une fonction Théorème: Plus forte pente Soit f : Rn −→ R une fonction différentiable.
différentiable. Soient x ∈ Rn tel que ∇f (x) )= 0 et d ∈ Rn . Si d est une Soient x ∈ Rn , et d∗ = ∇f (x). Alors, pour tout d ∈ Rn tel que
direction de descente, alors il existe η > 0 tel que 'd' = '∇f (x)', on a
Théorème: Plus forte descente Soit f : Rn −→ R une fonction • Information sur la pente
différentiable. Soient x ∈ Rn , et d∗ = −∇f (x). Alors, pour tout d ∈ Rn tel que
• Information sur la convexité / concavité
'd' = '∇f (x)', on a
et la direction opposée au gradient est donc celle dans laquelle la fonction a la plus
Théorème: Convexité par le gradient Soit f : X ⊆ Rn −→ R une Interprétation géométrique : le graphe de la fonction se trouve au
fonction différentiable sur un ensemble convexe X . f est convexe sur X si et dessus des hyperplans tangents
seulement si
f (y) ≥ f (x) + (y − x)T ∇f (x), ∀x, y ∈ Rn ,
f (y) − f (x) ≥ (y − x)T ∇f (x), ∀x, y ∈ X.
(p. 40)
Matrice gradient
∂f1 ∂f2 ∂fm
∂x1 ∂x1 ··· ∂x1
n m n
Soitf : R −→ R telle que fi : R −→ R est différentiable, ∇f (x)
=
.. .. .. ..
. . . .
pour i = 1, . . . , m. Dans ce cas, f est différentiable, et la fonction
∂f1 ∂f2 ∂fm
∂xn ∂xn ··· ∂xn
∇f (x) : Rn −→ Rn×m est appelée matrice gradient, et est
définie par
∇f (x) =
∇f1 (x) · · · ∇fm (x)
Théorème: Convexité par le Hessien Soit f : X ⊆ Rn −→ R une Matrice semi définie positive
fonction deux fois différentiable sur un ensemble convexe X . Si ∇2 f (x) est semi La matrice carrée A ∈ Rn×n est dite semi définie positive lorsque
définie positive (resp. définie positive) pour tout x dans X , alors f est convexe xT Ax ≥ 0 ∀x ∈ Rn .
(resp. strictement convexe).(p. 44)
Si de plus A est symétrique, alors aucune de ses valeurs propres
ne sont négatives.
Rappels Rappels
Matrice définie positive Théorème: Taylor au second ordre Soit f : Rn −→ R une fonction deux
n×n fois différentiable sur une sphère ouverte S centrée en x. Alors,
La matrice carrée A ∈R est dite définie positive lorsque
• pour tout d tel que x + d ∈ S , on a
xT Ax > 0 ∀x ∈ Rn , x )= 0. 1
f (x + d) = f (x) + dT ∇f (x) + dT ∇2 f (x)d + o('d'2 ),
2
Si de plus A est symétrique, toutes ses valeurs propres sont stricte-
• pour tout d tel que x + d ∈ S , il existe α ∈ [0, 1] tel que
ment positives.
1
f (x + d) = f (x) + dT ∇f (x) + dT ∇2 f (x + αd)d
2
(sans preuve)
Linéarité Linéarité
f (x) = cT x + d,
Théorème: Rayleigh-Ritz Soit A ∈ Rn×n une matrice réelle symétrique. Interprétation géométrique
Soit λ1 la plus grande valeur propre de A et λn la plus petite. Alors,
• λ1 plus grande courbure de f en x
xT Ax • λn plus petite courbure de f en x
λ1 = max T ,
x%=0 x x • Nombre de conditionnement : rapport entre la plus grande et la
plus petite des courbures parmi les directions partant de x.
et
xT Ax • Si proche de 1, fonction bien conditionnée
λn = min .
x%=0 xT x
(sans preuve)
1.5
45 1
40
35
0.5
30
25
20
0
15
10 !0.5
5 2
0 1
2 !1
1.5 0
1
0.5
0 !1
!0.5
!1
!1.5 !2 !1.5
!2
!2
Analyse du problème – p.62 !2 !1.5 !1 !0.5 0 0.5 1 1.5 2 Analyse du problème – p.63
1.5
8 1
6 0.5
5
4 0
3
2
!0.5
1 2
0 1
2 !1
1.5 0
1
0.5
0 !1
!0.5
!1
!1.5 !2 !1.5
!2
!2
Analyse du problème – p.64 !2 !1.5 !1 !0.5 0 0.5 1 1.5 2 Analyse du problème – p.65
f˜(x# ) = f (M −1 x# )
∇f˜(x# ) = M −T ∇f (M −1 x# )
∇2 f˜(x# ) = M −T ∇2 f (M −1 x# )M −1 .
Préconditionnement • Problème :
Soit f : Rn −→ R une fonction deux fois différentiable, et soit min f (x)
x∈Rn
un vecteur x ∈ Rn . Le préconditionnement de f en x revient • Soit x∗ un minimum local
à définir un changement de variable x' = M x et une fonction • Comment caractériser x∗ ?
f˜(x' ) = f (M −1 x' ), tels que le conditionnement de f˜ en M x soit
meilleur que le conditionnement de f en x.
Conditions nécessaires d’optimalité Soit x∗ un minimum local d’une f (x1 , x2 ) = 100(x2 − x21 )2 + (1 − x1 )2
fonction f : Rn −→ R. Si f est différentiable dans un voisinage ouvert V de x∗ ,
alors,
∇f (x∗ ) = 0.
Il s’agit de la condition nécessaire du premier ordre. Si, de plus, f est deux fois
différentiable sur V , alors
et ∇f (1, 1) = 0.
! "
1200x21 − 400x2 + 2 −400x1
∇2 f (x1 , x2 ) =
−400x1 200
et ! "
802 −400
∇2 f (1, 1) =
−400 200
et ∇f (0, 0) = 0
! "
−12x21 0
∇2 f (x1 , x2 ) =
0 −12x22
x2
x1 et ∇2 f (0, 0) est semi défini positif.
(0, 0) n’est pas un minimum local
et ∇f (0, 0) = 0
! "
100 0
∇2 f (x1 , x2 ) =
0 −6x2
x2 x1
et ∇2 f (0, 0) est semi déf. pos.
• Considérons la direction d = (0, 1)T en (0, 0). • Considérons la direction d = (0, −1)T en (0, 0).
• Avançons d’un pas α. On obtient • Avançons d’un pas α. On obtient
! " ! " ! " ! " ! " ! "
0 0 0 0 0 0
+α = +α =
0 1 α 0 −1 −α
1 2
! "
f (x1 , x2 ) = x + x1 cos x2 , x1 + cos x2
2 1 ∇f (x1 , x2 ) = .
−x1 sin x2
Conditions suffisantes d’optimalité globale Soit une fonction f : Conditions d’optimalité pour les problèmes quadratiques
Condidérons le problème
n n ∗ n
R −→ R deux fois différentiable dans R , et soit x ∈ R un minimum local
1 T
de f . Si f est une fonction convexe, alors x∗ est un minimum global de f . Si de min f (x) = x Qx + g T x + c
x∈Rn 2
plus f est strictement convexe, x∗ est l’unique minimum global de f .(p. 134)
où Q est une matrice symétrique n × n, g ∈ Rn et c ∈ R.
1. Si Q n’est pas semi définie positive, alors le problème ne possède pas de
solution, c’est-à-dire qu’il n’existe aucun x ∈ Rn qui soit un minimum local.
2. Si Q est définie positive, alors x∗ = −Q−1 g est l’unique minimum global.
(p. 136 )
∇f (x) = 0.
• Abu Ja’far Muhammad ibn Musa Al-Khwarizmi (780—840)
• Il s’agit d’un système de n équations à n inconnues. • Traité al Kitab almukhtasar fi hisab al-jabr w’al muqabala, qui
est à l’origine de l’algèbre
• On verra que les conditions d’optimalité pour les problèmes
avec contraintes se ramènent également à un système • traduction latine de cet ouvrage, intitulée Algoritmi de numero
d’équations. Indorum
• Analysons d’abord les algorithmes permettant de résoudre ces
systèmes d’équations.
• Ils seront ensuite adaptés pour les problèmes d’optimisation.
f (x) = x2 − 2, x
!=2
Théorème de Taylor
f (!
x + d) x) + df ! (!
= f (! x) + o(|d|)
!2 − 2 + 2!
= x xd + o(|d|)
Idée : = 2 + 4d + o(|d|).
• Méthode itérative
• A chaque itération, simplification du problème
• Technique : linéarisation
x + d) = 2 + 4d.
m(!
En posant x = x
! + d, nous obtenons
m(x) = 2 + 4(x − 2) = 4x − 6.
x
f(x)
m(x)
f (! x)
x+ = x
!− ,
f ! (!
x)
|f (x+ )| ≤ ε. • La fonction f : R → R;
• La dérivée de la fonction f ! : R → R;
• Une première approximation de la solution x0 ∈ R;
• La précision demandée ε ∈ R, ε > 0.
Output
f (x) = x2 − 2 = 0, x0 = 2, ε = 10−15
Une approximation de la solution x∗ ∈ R
Initialisation k xk f (xk ) f ! (xk )
k=0 0 +2.00000000E+00 +2.00000000E+00 +4.00000000E+00
•
• •
• •
x
Systèmes d’équations – p.13 Systèmes d’équations – p.14
Méthode de Newton — une variable Méthode de Newton — une variable
..
. •
x
Systèmes d’équations – p.15 Systèmes d’équations – p.16
x
Systèmes d’équations – p.17 Systèmes d’équations – p.18
Performance de la méthode de Newton Erreur du modèle linéaire — une variable Soit un intervalle ouvert
• Si la fonction n’est pas trop non-linéaire; X ⊆ R, et une fonction f dont la dérivée est continue au sens de Lipschitz sur X ,
!, x+ ∈ X ,
la constante de Lipschitz étant M . Alors, pour tout x
• Si la dérivée de f à la solution n’est pas trop proche de 0;
• Si x0 n’est pas trop éloigné de la racine; (x+ − x
!)2
|f (x+ ) − mxb(x+ )| ≤ M .
2
• Alors la méthode de Newton converge très vite vers la solution.
(p. 196)
Borne pour l’intégrale Soit f : X ⊂ Rn −→ Rm×n , où X est un Convergence de la méthode de Newton — une variable Soit un
ensemble ouvert convexe, et soient x et x + d dans X . Alors, si f est intégrable intervalle ouvert X ⊆ R, et une fonction f dont la dérivée est continue au sens de
sur [x, x + d], Lipschitz sur X , la constante de Lipschitz étant M . Supposons qu’il existe ρ > 0
tel que |f ! (x)| ≥ ρ ∀x ∈ X. Supposons qu’il existe x∗ ∈ X tel que f (x∗ ) = 0.
"#
" 1 "
"
# 1
f (x + td)d dt" (f (x + td)d( dt ()
" ≤
"
"
0 0
# 1
≤ (f (x + td)( (d( dt
0
(sans preuve)
Convergence de la méthode de Newton — une variable (suite) • Fonction pas trop non-linéaire M petit
Alors, il existe η > 0 tel que, si |x0 − x∗ | < η avec x0 ∈ X , la suite (xk )k • Dérivée pas trop proche de 0 |f ! (x)| ≥ ρ ∀x ∈ X.
définie par
f (xk ) • x0 n’est pas trop éloigné de la racine |x0 − x∗ | < η , avec
xk+1 = xk − k = 0, 1, . . .
f ! (xk ) 2ρ
∗ 2
η = min(r, τ ).
est bien définie et converge vers x∗ . De plus, |xk+1 − x∗ | ≤ M
2ρ |xk − x | .
M
(p. 197) M petit ⇒ η grand
(xk+1 − x∗ ( ≤ c(xk − x∗ (2 ∀k ≥ !
k.
Modèle linéaire d’une fonction à n variables Erreur du modèle linéaire — n variables Soit f : Rn → Rm une
Soit f : Rn → Rm une fonction différentiable. Le modèle linéaire de f en x
! fonction différentiable sur un ensemble ouvert convexe X ⊂ Rn , dont la matrice
n m jacobienne est continue au sens de Lipschitz sur X , où M est la constante de
b : R → R définie par
est une fonction mx
!, x+ ∈ X ,
Lipschitz. Alors, pour tout x
mxb(x) = f (! x)T (x − x
x) + ∇f (! !) = f (!
x) + J(!
x)(x − x
!)
(x+ − x
!(2
(f (x+ ) − mxb(x+ )( ≤ M .
où ∇f (!
x) est la matrice gradient de f en x x)T la matrice
x) = ∇f (!
! et J(! 2
Jacobienne.
(p. 200)
Objectif Initialisation
Trouver une approximation de la solution du système k=0
d’équations Itérations
f (x) = 0. (1)
1. Calculer dk+1 solution de J(xk )dk+1 = −f (xk ).
Input 2. xk+1 = xk + dk+1 .
• La fonction f : Rn → Rn ; 3. k = k + 1.
• La matrice jacobienne de la fonction J : Rn → Rn×n ; Critère d’arrêt
• Une première approximation de la solution x0 ∈ Rn ; Si (f (xk )( ≤ ε, alors x∗ = xk .
• La précision demandée ε ∈ R, ε > 0.
Output
Une approximation de la solution x∗ ∈ Rn
k xk f (xk ) !f (xk )!
(x1 + 1)2 + x22 = 2
ex1 + x32 = 2. 0 1.00000000e+00 3.00000000e+00 3.45723768e+00
$ % $ % 1.00000000e+00 1.71828182e+00
(x1 + 1)2 + x22 − 2 2(x1 + 1) 2x2 1 1.52359213e-01 7.56629795e-01 1.15470870e+00
f (x) = x1 3
J(x) = x1 2
e + x2 − 2 e 3x2 1.19528157e+00 8.72274931e-01
2 -1.08376809e-02 5.19684443e-02 1.14042557e-01
Si x0 = (1 1)T , nous avons 1.03611116e+00 1.01513475e-01
$ % $ % $ % 3 -8.89664601e-04 1.29445248e-03 3.94232975e-03
3 3 4 2
f (x0 ) = ≈ , J(x0 ) = 1.00153531e+00 3.72375572e-03
e−1 1.7182 e 3 4 -1.37008875e-06 3.13724882e-06 8.07998556e-06
1.00000293e+00 7.44606181e-06
5 -5.53838974e-12 1.05133679e-11 2.88316980e-11
1.00000000e+00 2.68465250e-11
6 -1.53209346e-16 -2.22044604e-16 2.22044604e-16
1.00000000e+00 0.00000000e+00
Systèmes d’équations – p.31 Systèmes d’équations – p.32
Méthode de Newton — n variables Méthode de Newton — n variables
Convergence de la méthode de Newton — n variables Soit un Convergence de la méthode de Newton — n variables (suite)
ensemble convexe ouvert X ⊆ Rn , et une fonction f : X → Rn . Supposons qu’il Alors, il existe η > 0 tel que si
existe x∗ ∈ X , une boule B(x∗ , r) centrée en x∗ de rayon r , et une constante
ρ > 0 tels que f (x∗ ) = 0, B(x∗ , r) ⊂ X , J(x∗ ) est inversible, x0 ∈ B(x∗ , η), (2)
(suite...) M
(xk+1 − x∗ ( ≤ (xk − x∗ (2 . (4)
ρ
(p. 204 )
Exemple
$ %
x3 − 3xy 2 − 1
f (x, y) = =0
y 3 − 3x2 y
Solutions : $ % $ % $ %
1
1 −
√2
−√12
3
0 2 − 23
où s > 0.
b)
f (x
Itération quasi-Newton : x+ = x
!− b) .
as (x
s
x! x! + s
Output Itérations
Une approximation de la solution x∗ ∈ R 1. &
Initialisation τ xk si |xk | ≥ 1,
k=0 s=
τ sinon
2.
sf (xk )
xk+1 = xk −
f (xk + s) − f (xk )
3. k = k + 1.
Critère d’arrêt
Si |f (xk )| ≤ ε, alors x∗ = xk .
• s = xk−1 − xk
• Ainsi,
x1 x1 + s x0 x0 + s
f (xk−1 ) − f (xk )
as (xk ) = .
xk−1 − xk
Objectif Output
Trouver une approximation de la solution de l’équation Une approximation de la solution x∗ ∈ R
Initialisation
f (x) = 0. k = 0.
Input
• La fonction f : R → R;
• Une première approximation de la solution x0 ∈ R;
• Une première approximation de la dérivée a0 (par défaut:
a0 = 1).
• La précision demandée ε ∈ R, ε > 0.
Itérations
f (x) = x2 − 2 = 0 a0 = 1
1.
f (xk ) k xk f (xk ) as (xk )
xk+1 = xk −
ak 0 +2.00000000E+00 +2.00000000E+00 +1.00000000E+00
1 +0.00000000E+00 -2.00000000E+00 +2.00000000E+00
2.
f (xk ) − f (xk+1 ) 2 +1.00000000E+00 -1.00000000E+00 +1.00000000E+00
ak+1 = 3 +2.00000000E+00 +2.00000000E+00 +3.00000000E+00
xk − xk+1
4 +1.33333333E+00 -2.22222222E-01 +3.33333333E+00
3. k = k + 1. 5 +1.40000000E+00 -4.00000000E-02 +2.73333333E+00
Critère d’arrêt 6 +1.41463415E+00 +1.18976800E-03 +2.81463415E+00
∗
Si |f (xk )| ≤ ε, alors x = xk . 7 +1.41421144E+00 -6.00728684E-06 +2.82884558E+00
8 +1.41421356E+00 -8.93145558E-10 +2.82842500E+00
9 +1.41421356E+00 +8.88178420E-16 +2.82842706E+00
mxb;A (x) = f (!
x) + A(x − x
!).
x2 x3 x1 = x4
Objectif Output
Trouver une approximation de la solution du système Une approximation de la solution x∗ ∈ Rn
d’équations Initialisation
f (x) = 0. (5) k=0
Input
• La fonction f : Rn → Rn ;
• Une première approximation de la solution x0 ∈ Rn ;
• Un paramètre τ > 0;
• La précision demandée ε ∈ R, ε > 0.
Itérations Itérations(suite)
• Former le vecteur s ∈ Rn en posant • Calculer dk+1 solution de Ak dk+1 = −f (xk ),
• xk+1 = xk + dk+1 ,
τ (xk )j
si |(xk )j | ≥ 1, • k = k + 1.
sj = τ si 0 ≤ (xk )j ≤ 1 j = 1, . . . , n, Critère d’arrêt
−τ si − 1 ≤ (xk )j ≤ 0 Si (f (xk )( ≤ ε, alors x∗ = xk .
f (xk + sj ej ) − f (xk )
(Ak )j = j = 1, . . . , n,
sj
• L’équation sécante est un système de n équations à n2 Lemme 1 Soient mxk ;Ak (x) et mxk−1 ;Ak−1 (x) les modèles linéaires sécants
inconnues. d’une fonction f : Rn → Rn en xk et xk−1 , respectivement. Alors,
• Il y a un nombre infini de solutions.
mxk ;Ak (x) − mxk−1 ;Ak−1 (x) = (Ak − Ak−1 )(x − xk−1 ).
• Idée de Broyden : privilégier, parmi ce nombre infini de
modèles linéaires, celui qui est le plus proche du modèle établi (p. 219)
lors de l’itération précédente.
Mise à jour de Broyden Soit mxk−1 ;Ak−1 (x) le modèle linéaire sécant Optimalité de Broyden Soit Ak−1 ∈ Rn×n , dk−1 et yk−1 ∈ Rn ,
d’une fonction f : Rn → Rn en xk−1 , et soit xk ∈ Rn , xk .= xk−1 . Le modèle dk−1 .= 0. Soit S = {A|Adk−1 = yk−1 } l’ensemble des matrices vérifiant
linéaire sécant de f en xk qui vérifie l’équation sécante, et qui est le plus l’équation sécante. Alors
semblable au modèle mxk−1 ;Ak−1 (x) est
(yk−1 − Ak−1 dk−1 )dTk−1
Ak = Ak−1 +
mxk ;Ak (x) = f (xk ) + Ak (x − xk ), dTk−1 dk−1
Rappels Rappels
Output Itérations
Une approximation de la solution x∗ ∈ Rn 1. Mise à jour de Broyden :
Initialisation
1. x1 = x0 − A−1 (yk−1 − Ak−1 dk−1 )dTk−1
0 f (x0 ) Ak = Ak−1 +
2. d0 = x0 − x1 , y0 = f (x0 ) − f (x1 ) dTk−1 dk−1
3. k = 1
2. Calculer dk solution de Ak dk = −f (xk ),
3. Calculer yk = f (xk−1 ) − f (xk )
4. xk+1 = xk + dk , k = k + 1.
Critère d’arrêt
Si (f (xk )( ≤ ε, alors x∗ = xk . (x1 + 1)2 + x22 = 2
ex1 + x32 = 2.
k xk f (xk ) !f (xk )!
0 1.00000000e+00 3.00000000e+00 3.45723768e+00
1.00000000e+00 1.71828182e+00
1 -2.00000000e+00 -4.84071214e-01 2.28706231e+00
-7.18281828e-01 -2.23524698e+00
2 -1.66450025e+00 -8.68008706e-01 1.51117836e+00
8.30921595e-01 -1.23702099e+00
3 -2.42562564e-01 2.72598221e+00 7.74156513e+00
2.03771213e+00 7.24574714e+00
4 -1.24155582e+00 -1.34676047e+00 1.83898030e+00
7.71291329e-01 -1.25223192e+00
..
.
Systèmes d’équations – p.70 Systèmes d’équations – p.71
Méthode sécante — n variables Méthode sécante — n variables
1 T Objectif
min f (x) = x Qx + bT x+c Trouver le minimum global de minx∈Rn f (x) = 12 xT Qx + bT x
x∈Rn 2
Input
• Q symétrique définie positive
• La matrice Q symétrique définie positive.
• Minimum global unique
• Le vecteur b.
• Comme ∇f (x) = Qx + b, nous avons
Output
x∗ = −Q−1 b La solution x∗ ∈ Rn .
avec
αk = argminα f (xk + αdk ).
()
Méthode des directions conjuguées Soient d1 ,. . . ,d" , " ≤ n, un Méthode des directions conjuguées (suite)
ensemble de directions Q-conjuguées, soit x1 ∈ Rn et soit
"
!
"
! x"+1 = x1 + αk dk
M" = x1 + )d1 , . . . , d" * = {x|x = x1 + λk d k } k=1
k=1
avec
le sous-espace affine engendré par les directions d1 ,. . . ,d" . Alors, le minimum dTk (Qxk + b)
αk = min f (xk + αdk ) = −
global du problème α dTk Qdk
1 T
min f (x) = x Qx + bT x (p. 235)
x∈M! 2
est...
(suite...)
(corollaire)
Alors,
)∇f (x1 ), . . . , ∇f (xi )* = )d1 , . . . , di *
et
∇f (xi )T ∇f (xk ) = 0 k = 1, . . . , i − 1.
(p. 236)
• k =k+1
Critère d’arrêt
Si +∇f (xk )+ = 0 ou k = n + 1, alors x∗ = xk .
Gradients conjugués
k xk ∇f (xk ) dk αk βk
Exemple : 1 +5.00000e+00 +1.60000e+01 -1.60000e+01 +1.20766e-01
+5.00000e+00 +2.80000e+01 -2.80000e+01
1 1 1 1 −4 +5.00000e+00 +3.60000e+01 -3.60000e+01
1 +5.00000e+00 +4.00000e+01 -4.00000e+01
2 2 2 −7
2 +3.06775e+00 +1.50810e+00 -1.52579e+00 +1.02953e+00 +1.10547e-03
Q= b=
1 2 3 3 +1.61856e+00 +9.48454e-01 -9.79407e-01
−9
+6.52430e-01 -2.29750e-01 +1.89953e-01
1 2 3 4 −10 +1.69367e-01 -1.06038e+00 +1.01616e+00
3 +1.49690e+00 +1.70656e-01 -1.97676e-01 +2.37172e+00 +1.77089e-02
+6.10224e-01 -1.55585e-01 +1.38241e-01
+8.47993e-01 -9.20500e-02 +9.54138e-02
+1.21554e+00 +1.23492e-01 -1.05497e-01
4 +1.02806e+00 +5.77796e-03 -8.27569e-03 +3.39118e+00 +1.26355e-02
+9.38093e-01 -1.65085e-02 +1.82552e-02
+1.07429e+00 +2.31118e-02 -2.19062e-02
+9.65332e-01 -1.15559e-02 +1.02229e-02
5 +1.00000e+00 -1.66356e-12
+1.00000e+00 -3.12639e-12
+1.00000e+00 -4.21174e-12
+1.00000e+00 -4.78906e-12
Output Itérations
Une approximation de la solution x∗ ∈ Rn 1. Calculer dk+1 solution de ∇2 f (xk )dk+1 = −∇f (xk ),
Initialisation 2. xk+1 = xk + dk+1 ,
k=0
3. k = k + 1.
Critère d’arrêt
Si %∇f (xk )% ≤ ε, alors x∗ = xk .
x2
x2
x1 x1
Output Itérations
Une approximation de la solution x∗ ∈ Rn 1. Construire le modèle quadratique
Initialisation
k=0 1
mxb(#
x + d) = f (# x) + dT ∇2 f (#
x) + dT ∇f (# x)d,
2
2. Calculer
dk+1 = argmind mxb(#
x + d)
3. xk+1 = xk + dk+1 ,
4. k = k + 1.
Critère d’arrêt
Si %∇f (xk )% ≤ ε, alors x∗ = xk .
Attention : si ∇2 f (xk ) n’est pas définie positive, le modèle n’est par f (x) = −x4 + 12x3 − 47x2 + 60x.
borné inférieurement
f(x1, x2) mx0 (x1, x2) xk = 3
m3 (x) = 7x2 − 48x + 81
x2 x2
f(xk)
• f(xk+1) f(xk)
•
x1 x1 •
f(xk+1)
Dans ce cas, l’algorithme ne peut être appliqué. •
f (x) = −x4 + 12x3 − 47x2 + 60x. f (x) = −x4 + 12x3 − 47x2 + 60x.
xk = 4 xk = 5
m4 (x) = x2 − 4x m5 (x) = −17x2 + 160x − 375.
f(xk+1) f(x•k+1)
•
f(xk)
•
f(xk+1)
•
f(xk+1)
f(xk) •
• •
f(xk)
•k)
f(x
x1
1 2 9 2 1 2 1 2
f (x) = x + x f˜(x# ) = x#1 + x#2 .
2 1 2 2 2 2
Changement de variable : Direction : ! "
−x#1
x#1 = x1 d = −∇f˜(x# ) = .
−x#2
x#2 = 3x2
Pas :
et argminα f (x# − α∇f (x# )) =
1 2 9 1 1 2 1 2 minα 21 (x#1 − αx#1 )2 + 21 (x#2 − αx#2 )2 ,
f˜(x# ) = x#1 + ( x#2 )2 = x#1 + x#2 .
2 2 3 2 2
(p. 261)
Algorithme : Plus forte pente préconditionnée Algorithme : Plus forte pente préconditionnée
Objectif Output
Trouver une approximation de la solution du problème Une approximation de la solution x∗ ∈ R
Initialisation
min f (x). (1)
k=0
x∈Rn
Itérations
Input
1. dk = −Dk ∇f (xk ),
• La fonction f : Rn → R différentiable;
2. Déterminer αk , par exemple αk = argminα≥0 f (xk + αdk ),
• Le gradient de la fonction ∇f : Rn → Rn ;
• Une famille de préconditionneurs (Dk )k telle que Dk est 3. xk+1 = xk + αk dk ,
définie positive pour tout k; 4. k = k + 1.
• x0 ∈ Rn ; Critère d’arrêt Si %∇f (xk )% ≤ ε, alors x∗ = xk .
• La précision demandée ε ∈ R, ε > 0.
Choix du pas
k xk dk αk
0 +2.000000e+00 -1 +3.500000e+00
1 -1.500000e+00 1 +2.750000e+00
2 +1.250000e+00 -1 +2.375000e+00
3 -1.125000e+00 1 +2.187500e+00
4 +1.062500e+00 -1 +2.093750e+00
5 -1.031250e+00 1 +2.046875e+00
..
f(x)
.
46 +1.000000e+00 -1 +2.000000e+00
47 -1.000000e+00 1 +2.000000e+00
48 +1.000000e+00 -1 +2.000000e+00
49 -1.000000e+00 1 +2.000000e+00
50 +1.000000e+00 -1 +2.000000e+00
x
Méthodes de descente – p.14
Choix du pas Diminution suffisante
Exemple : Exemple :
1 2 9 2 1 2 9 2
f (x) = x + x f (x) = x + x
2 1 2 2 2 1 2 2
! " ! " ! " ! "
−10 −2
10 √
181 10 √
5
x0 = d= γ=6 x0 = d= γ=6
1 √−9 1 √1
181 5
α α
• γ ne peut pas être constant Direction de descente Soit f : Rn −→ R une fonction différentiable. Soient
• Il doit dépendre de la direction x ∈ Rn tel que ∇f (x) )= 0 et d ∈ Rn . Si d est une direction de descente, alors il
existe η > 0 tel que
• Utilisons la théorie
f (x + αd) < f (x) ∀0 < α ≤ η.
α α
f(xk + αdk)
f(xk) − αγ
f(xk) + αβ1∇f(xk)T dk
f(xk + αdk)
f(xk) + αβ1∇f(xk)T dk
f(xk) + α∇f(xk)T dk
α α
• La méthode s’écrit
xk+1 = xk − 2−k−1
√ √
Progrès suffisant : seconde condition de Wolfe dk = (−10/ 181 − 9/ 181)T α ≥ 1.4687
Soient f : Rn → R une fonction différentiable, un point xk ∈ Rn , une
direction (de descente) dk ∈ Rn telle que ∇f (xk )T dk < 0 et un pas αk ∈
R, αk > 0. On dira que le point xk + αk dk apporte un progrès suffisant par
rapport à xk si
∇f(xk +αdk )T dk
∇f (xk + αk dk )T dk ≥ β2 ∇f (xk )T dk , ∇f(xk )T dk
f(xk + αdk)
(p. 271)
Itérations ! " !
−2
"
10 √
• Si αi ne viole pas Wolfe-1 et viole Wolfw-2, i.e. f (x) = 21 x21 + 92 x22 x = d= 5
1 √1
5
Input
• La fonction f : Rn → R différentiable;
• Le gradient de la fonction ∇f : Rn → Rn ;
• Une première approximation de la solution x0 ∈ Rn ;
• La précision demandée ε ∈ R, ε > 0.
Output Itérations
Une approximation de la solution x∗ ∈ R 1. dk = −∇f (xk ),
Initialisation 2. Déterminer αk en appliquant la recherche linéaire avec
k=0 α0 = 1.
3. xk+1 = xk + αk dk ,
4. k = k + 1.
Critère d’arrêt
Si %∇f (xk )% ≤ ε, alors x∗ = xk .
xk+1 = xk − αk Dk ∇f (xk ),
2 −1
• Si ∇ f (xk ) déf. positive, et αk = 1 acceptable, itérations
équivalentes.
Objectif Itérations
Modifier une matrice afin de la rendre définie positive. 1. Calculer la factorisation de Cholesky de LLT = A + τ I .
Input 2. Si factorisation réussie, STOP.
Une matrice symétrique A ∈ Rn×n
3. Sinon, τk+1 = max(2τk , 21 %A%F )
Output
4. k = k + 1.
Une matrice triangulaire inférieure L et τ ≥ 0 tels que
A + τ I = LLT .
Initialisation
1. k=0;
2. Si mini aii > 0, alors τk = 0. Sinon, τk = 12 %A%F ;
Algorithme : Newton avec recherche linéaire Algorithme : Newton avec recherche linéaire
Objectif Output
Trouver une approximation d’un minimum local du problème Une approximation de la solution x∗ ∈ R
Initialisation
min f (x). k=0
x∈Rn
Input
• La fonction f : Rn → R différentiable;
• Le gradient de la fonction ∇f : Rn → Rn ;
• Le hessien de la fonction ∇2 f : Rn → Rn×n ;
• Une première approximation de la solution x0 ∈ Rn ;
• La précision demandée ε ∈ R, ε > 0.
Algorithme : Newton avec recherche linéaire Algorithme : Newton avec recherche linéaire
1 2 Solution:
min f (x1 , x2 ) = x + x1 cos x2 ,
2 1 ! " ! " ! "
1 0 1 0
x∗ = ∇f (x∗ ) = ∇2 f (x∗ ) =
π 0 0 1
x2 x2
min x2
x∈R
s.c.
x ≤ 4
x ≥ −10
Solution : x∗ = 0
f(x) = x2
x∗ = 0
min x2 min x2
x∈R
x∈R
s.c. s.c.
x ≤ 4 g1 (x) = x − 4 ≤ 0
x ≥ 1 g2 (x) = 1 − x ≤ 0
2
f(x) = x
x∗ = 1
g1 (x∗ ) = −3 < 0
g2 (x∗ ) = 0
x∗ = 1
Contraintes actives (suite) Alors, x∗ est un minimum local de P1 si et • On peut ignorer les contraintes inactives à la solution
seulement si x∗ est un minimum local de P2 .
• On peut considérer les contraintes actives à la solution comme
(p. 60) des contraintes d’égalité
ou encore
∇h(x+ )T x = ∇h(x+ )T x+ − h(x+ ).
avec ∇h(x+ ) ∈ Rn×m , ou encore
Ax = b
les gradients des contraintes d’égalité jouent un rôle similaire aux Soit un problème d’optimisation dans R2 avec la contrainte
lignes de la matrice A d’inégalité
Indépendance linéaire des contraintes g(x) = x21 + (x2 − 1)2 − 1 ≤ 0
Soit le problème d’optimisation minx∈Rn f (x) sous contraintes h(x) = 0 et la contrainte d’égalité
et g(x) ≤ 0, et soit un point admissible x+ . Nous dirons que la condition
d’indépendance linéaire des contraintes est vérifiée en x+ si les gradients h(x) = x2 − x21 = 0.
des contraintes d’égalité et les gradients des contraintes d’inégalité actives en
x+ sont linéairement indépendants. Par abus de langage, nous dirons parfois Nous avons
simplement que les contraintes sont linéairement indépendantes ' ( ' (
2x1 −2x1
∇g(x) = et ∇h(x) =
2x2 − 2 1
Direction admissible
Soit le problème général d’optimisation, et soit un point x ∈ Rn admissible.
h(x) = x2 − x21 = 0 Une direction d sera dite admissible en x s’il existe η > 0 tel que x + αd soit
admissible pour tout 0 < α ≤ η .
(par définition)
• xb
x1
Analyse des contraintes – p.25 Analyse des contraintes – p.26
Directions admissibles Directions admissibles
(p. 69)
aTi d = 0 ou encore ∇hi (x)T d = 0 i = 1, . . . , m.
Attention : la généralisation aux contraintes non linéaires est compliquée
Contraintes d’inégalité
Interprétons ce résultat en termes de gradients...
gi (x) = −xi (≤ 0) et donc ∇gi (x)T d = −di .
"
Analyse des contraintes – p.29 Analyse des contraintes – p.30
h(x) = x21 − x2 = 0,
xk − x+ •
dk = ,
,xk − x+ ,
d1
Nous notons
d = lim dk h(x) = x21 − x2 = 0
k→∞
d2
d3
•
•
• d
••• 0••••••
x+ ••=
d2
d3
• d4
•
d "" • •• ••••••••• • d"
x+ = 0
Direction admissible à la limite • Toute direction admissible est aussi une direction admissible à
Considérons le problème d’optimisation minx∈Rn f (x) s.c. h(x) = 0, la limite
g(x) ≤ 0 et x ∈ X , et un point x+ ∈ Rn admissible. Soit (xk )k∈N une • Pour le montrer, considérer la suite admissible
+
suite admissible en x . La direction d '= 0 est une direction admissible à la
limite en x+ pour la suite (xk )k∈N s’il existe une sous-suite (xki )i∈N telle
1
xk = x+ + d
que k
d xki − x+ • Le concept de direction admissible est plus intuitif que celui
= lim .
,d, i→∞ ,xki − x+ , basé sur ∇h(x)T d
• Mais il n’est pas utilisable en pratique
• Heureusement, les deux sont liés.
Qualification des contraintes • Si les contraintes sont linéaires, alors la qualification des
Soit un problème d’optimisation minx∈Rn f (x) s.c. h(x) = 0, g(x) ≤ 0 contraintes est vérifiée en tout point admissible.
et x ∈ X , et soit un point admissible x+ . La condition de qualification des • Si les contraintes sont linéairement indépendantes en x+ , alors
contraintes est vérifiée si tout élément du cône des directions en x+ est une la qualification des contraintes est vérifiée en x+ .
direction admissible à la limite en x+ .
• S’il existe un vecteur d ∈ Rn tel que • S’il n’y a pas de contrainte d’égalité, que les fonctions gi sont
1. ∇hi (x+ )T d = 0, pour tout i = 1, . . . , m, convexes, et qu’il existe un vecteur x− tel que
2. ∇gi (x+ )T d < 0 pour tout i = 1, . . . , p tel que gi (x+ ) = 0
gi (x− ) < 0 pour tout i = 1, . . . , p tel que gi (x+ ) = 0,
et que les contraintes d’égalité sont linéairement
indépendantes en x+ , alors la qualification des contraintes est alors la qualification des contraintes est vérifiée en x+ .
vérifiée en x+ .
x3 = 1 − x1 − x2
x4 = 1 − x1 + x2
Ax = AP (P T x) = BxB + N xN = b xB = B −1 (b − N xN ).
Donc,
' ' ((
xB
min f (x) = f P
xB ,xN xN
Autre manière de se débarrasser des contraintes • Un milliardaire offre 1 e à un alpiniste par mètre d’altitude
• Associer une pénalité à cette violation • Solution optimale : grimper sur le Mont Blanc pour 4807 e
• Les alpinistes aiment la liberté, pas les contraintes • Le milliardaire accepte qu’il quitte les Alpes.
• Si le milliardaire accepte qu’il quitte les Alpes: • Mais en s’acquittant d’une amende de 4041 e
• Solution optimale : grimper sur l’Everest pour 8848 e • Grimper sur l’Everest rapportera donc 8848 e-4041 e=4807 e
• Même gain que pour grimper sur le Mont Blanc
• Il n’y a plus intérêt à quitter les Alpes
Modélisation
min 2x1 + x2
x∈R2
• x est la position (longitude/latitude)
• f (x) est l’altitude en x sous contraintes
1 − x1 − x2 = 0
• Premier problème :
x1 ≥ 0
max f (x) s.c. x ∈ Alpes x2 ≥ 0
x
Solution optimale : (0, 1) Coût optimal : 1
• Amende: a(x), avec a(x) = 0 si x ∈ Alpes.
Relaxons la contrainte 1 − x1 − x2 = 0
• Second problème :
max f (x) − a(x).
x
λ=2
min2 2 − x2
x∈R
30
sous contraintes
20
x1 ≥ 0
10
x2 ≥ 0
0
Problème non borné. Mauvais choix de λ
-10
-20
-30
10
5
0
-5
-10 -5 -10
0 5 10
Dualité – p.9 Dualité – p.10
λ=1
min2 x1 + 1
x∈R
30
sous contraintes
20
x1 ≥ 0
10
x2 ≥ 0
0
Solution optimale : (0, x2 ) Coût optimal : 1
-10
Quel que soit x2 , même coût optimal. On choisit donc x2 = 1 pour
-20
vérifier la contrainte.
-30
10
5
0
-5
-10 -5 -10
0 5 10
Dualité – p.11 Dualité – p.12
Fonction lagrangienne
Soit le problème d’optimisation min f (x) sous contraintes h(x) = 0 et
g(x) ≤ 0, et soient les vecteurs λ ∈ Rm et µ ∈ Rp . La fonction
30 L : Rn+m+p → R
20
L(x, λ, µ) = f (x) + λT h(x) + µT g(x)
10 !m !p
= f (x) + i=1 λi hi (x) + j=1 µj gj (x)
0
-10 est appelée Lagrangien ou fonction lagrangienne du problème.
-20
-30
10
5
0
-5
-10 -5 -10
0 5 10
Dualité – p.13 Dualité – p.14
Fonction duale Fonction duale
Comme dans les exemples, pour chaque valeur de λ et µ, on peut Borne sur la fonction duale Soit x∗ solution du problème d’optimisation
minimiser la fonction lagrangienne. min f (x) sous contraintes h(x) = 0 et g(x) ≤ 0, et soit q(λ, µ) la fonction duale
du même problème. Soit λ ∈ Rm et µ ∈ Rp , µ ≥ 0. Alors,
Fonction duale
Soit le problème d’optimisation min f (x) sous contraintes h(x) = 0 et
q(λ, µ) ≤ f (x∗ ),
g(x) ≤ 0, et sa fonction lagrangienne L(x, λ, µ). La fonction q : Rm+p →
R définie par et la fonction duale fournit des bornes inférieures sur la valeur optimale du
q(λ, µ) = minn L(x, λ, µ) problème.
x∈R
Exemple Exemple
Pour que la fonction duale soit bornée, il faut que les coefficients de
min 2x1 + x2
x∈R2 x1 et x2 soient nuls, et donc
sous contraintes 2 − λ − µ1 = 0, 1 − λ − µ2 = 0,
h1 (x) = 1 − x1 − x2 = 0 (λ) ou encore
g1 (x) = −x1 ≤ 0 (µ1 ) µ1 = 2 − λ, µ2 = 1 − λ.
g2 (x) = −x2 ≤ 0 (µ2 )
Comme µ1 ≥ 0, il faut que λ ≤ 2. Comme µ2 ≥ 0, il faut que λ ≤ 1.
Fonction lagrangienne :
L(x1 , x2 , λ, µ1 , µ2 )
= 2x1 + x2 + λ(1 − x1 − x2 ) − µ1 x1 − µ2 x2
= (2 − λ − µ1 )x1 + (1 − λ − µ2 )x2 + λ
on a µ∗1 = 1 et µ∗2 = 0.
Dualité faible Soit x∗ solution du problème primal et soit (λ∗ , µ∗ ) solution Concavité-convexité du problème dual Soit le problème dual
optimale du problème dual associé. Alors maxλ,µ q(λ, µ) s.c. µ ≥ 0 et (λ, µ) ∈ Xq d’un problème d’optimisation. Alors, la
fonction objectif est concave, et le domaine de la fonction duale est convexe.
q(λ∗ , µ∗ ) ≤ f (x∗ )
(p. 116)
Fonction lagrangienne :
min cT x
x
sous contraintes
µ ≥ 0
Aµ = b.
x ≥ 0 sous contraintes
Ax = b.
A1 x1 + B1 x2 + C1 x3 = b1
C’est le problème de départ
A2 x1 + B2 x2 + C2 x3 ≤ b2
A3 x1 + B3 x2 + C3 x3 ≥ b3
x1 ≥ 0
x2 ≤ 0
x3 ∈ Rn3
Le dual de ce problème est • A chaque contrainte du primal correspond une variable duale
sous contraintes x1 ∈ R
x2 ≥ 0
γ1 ∈ R
x3 ≤ 0
γ2 ≥ 0
x1 − 2x2 ≥ −1
γ3 ≤ 0
−3x1 + x2 ≤ −2
−γ1 + 2γ2 ≤ 1
−3x2 − x3 = −3
3γ1 − γ2 ≥ 2
3γ2 + γ3 = 3 On peut donc calculer sont dual.
γ1 − 3γ2 = −5
−2γ1 + γ2 − 3γ3 ≤ −6
− γ3 ≥ −4
γ1 ≥ 0
γ2 ≤ 0
γ3 ∈ R
Dualité – p.39