Chap 4
Chap 4
Méthode d’optimisation
Zakia ANKHILI
Université Cadi Ayyad
ENSA, Marrakech
I) Algorithme
1) Définition
Un algorithme est un procédé qui permet à partir d’un
point initial x0 d’engendrer une suite (xk ). On le définit
par une application A qui à xk associé xk+1 .
On souhaite bien sûr que la suite (xk ) converge vers un
point optimal du pb d’optimisation considéré. Dans ce
cas, on dit que l’algorithme A converge vers la solution
du pb.
2) Convergence global
Définition
On dit qu’un algorithme A est globalement convergent (ou
possède la propriété de la convergence globale) si ∀ le point de
départ x0 choisi, la suite (xk ) engendré par A (ou une sous
suite de (xk )) converge vers un point satisfaisant une condition
nécessaire d’optimalité.
Remarques
La convergence globale d’un algorithme n’implique pas la
convergence vers un optimum global pour tout point de
départ x0 .
Notons que si un algorithme A possède la propriété de la
convergence globale, il suffit d’imposer une condition de
convexité pour assurer la convergence de l’algorithme vers
un optimum global du pb ∀ le point de départ choisi.
Zakia ANKHILI Chapitre 4 Méthode d’optimisation ENSA (Marrakech) 2013 3/66
Algorithmes Méthodes pour l’optimisation sans contraintes Recherche linéaire Méthodes pour l’optimisation avec contraintes
3) Convergence asymptotique
L’efficacité d’un algorithme est mesurée par la vitesse de
convergence et sa complexité calculatoire.
Complexité calculatoire
Elle mesure le coût des opérations nécessaires pour obtenir
une itération. Le coût global étant le coût d’une itération
multiplié par le nombre d’itérations pour obtenir une
approximation à près ( est fixé à l’avance) de l’optimum x ∗ .
Vitesse de convergence
Supposons qu’on compare entre plusieurs algorithmes
seulement par leur complexité calculatoire. En admettant que
le temps du calcul par itération est le même pour tous, le
meilleur est donc celui qui nécessitera le plus petit nombre
d’itération.
Zakia ANKHILI Chapitre 4 Méthode d’optimisation ENSA (Marrakech) 2013 4/66
Algorithmes Méthodes pour l’optimisation sans contraintes Recherche linéaire Méthodes pour l’optimisation avec contraintes
kek+1 k
Si lim = 0, on dit que la vitesse de convergence
k→+∞ ke k k
est superlinéaire.
On dit que la vitesse de convergence est superlinéaire
d’ordre p si on a une relation du type :
min f (x)
x∈IRn
(1) ∇f (x) = 0
xk+1 = xk + ρk dk
et on va à l’étape k.
Zakia ANKHILI Chapitre 4 Méthode d’optimisation ENSA (Marrakech) 2013 8/66
Algorithmes Méthodes pour l’optimisation sans contraintes Recherche linéaire Méthodes pour l’optimisation avec contraintes
Remarque
x0 ne doit pas être un maximum local.
À la fin de l’étape k, càd lorsque la condition nécessaire
est vérifiée, il faut vérifier que c’est bien un minimum
local et non pas un point-selle
Preuve
Soit g : ρ 7→ f (xk + ρdk ). ρk minimise g, donc g 0 (ρk ) = 0.
C’est à dire
Remarque
La proposition signifie que le gradient en un point est
perpendiculaire à la courbe de niveau passant par ce
point.
L’inconvénient de la méthode du gradient est que la
convergence peut être très lente pour certaines fonctions
Avantage :
Elle est simple
Pour l’espace mémoire : à chaque itération, il y a
seulement 2 vecteurs à stocker xk et dk
Convergence de la méthode
Soit f : IRn → IR une fonction de classe C 1 coercive. Alors,
pour tout point de départ x0 , la méthode du gradient avec
recherche linéaire converge vers un point stationnaire de f .
Zakia ANKHILI Chapitre 4 Méthode d’optimisation ENSA (Marrakech) 2013 11/66
Algorithmes Méthodes pour l’optimisation sans contraintes Recherche linéaire Méthodes pour l’optimisation avec contraintes
Preuve
D’après l’hypothèse de coercivité ,
∃R > 0/kxk > R ⇒ f (x) ≥ f (x0 ). D’autre part, la suite
(f (xk )), par construction, est une suite décroissante. On a
donc f (xk ) ≤ f (x0 ), ∀k ≥ 0. On déduit alors que kxk k ≤ R et
donc la suite (xk ) est bornée. (xk ) admet alors une valeur
d’adhérence x̄. Par conséquent, il existe une sous suite (xnk )
telle que lim xnk = x̄. On a
k→+∞
Définition
Soient A une matrice symétrique définie positive et
d1 , ..., dk ∈ IRn . On dit que d1 , ..., dk sont mutuellement
conjuguées par rapport à A (ou A− orthogonaux deux à deux)
si
Proposition
Soit A une matrice n × n symétrique et définie positive. Si
d1 , ..., dk sont des vecteurs A− orthogonaux deux à deux, alors
ils sont linéairement indépendants.
Preuve
k k
αj djT Adi = 0. Alors,
X X
αj dj = 0. Pour 1 ≤ i ≤ k, on a
j=1 j=1
αi diT Adi =Chapitre
Zakia ANKHILI
0, 4∀1 ≤ iMéthode
≤ k,d’optimisation
d’où αi = 0ENSA
(car(Marrakech)
A est2013 définie 14/66
Algorithmes Méthodes pour l’optimisation sans contraintes Recherche linéaire Méthodes pour l’optimisation avec contraintes
Remarque
Dans IRn , si d1 , ..., dn sont A− orthogonaux deux à deux,
alors ces vecteurs forment une base.
On verra que les méthodes de directions conjuguées conduisent
à l’optimum en n étapes au plus. Supposons donc que ,
∀ k = 0, ..., n − 2, xk+1 est déterminé à partir de xk par :
xk+1 = xk + ρk dk ,
où ρk est la valeur de ρ qui minimise f (xk + ρdk ). On a donc
dkT ∇f (xk+1 ) = dkT (Axk+1 + b) = 0.
dkT A(xk + ρk dk ) + dkT b = 0.
D’où
dkT (Axk + b)
ρk = − ( A est définie positive)
dkT Adk
Zakia ANKHILI Chapitre 4 Méthode d’optimisation ENSA (Marrakech) 2013 15/66
Algorithmes Méthodes pour l’optimisation sans contraintes Recherche linéaire Méthodes pour l’optimisation avec contraintes
En remarquant que ∀ 1 ≤ k ≤ n,
k−1
X
xk = x0 + ρj dj ,
j=0
on trouve
k−1
dk T Axk = dkT Ax0 + ρj dkT Adj = dkT Ax0 .
X
j=0
dkT (Ax0 + b)
ρk = − .
dkT Adk
Théorème
∀ 1 ≤ k ≤ n, le point :
k−1
X
xk = x0 + ρ j dj
j=0
Remarque
On a Bn = IRn , alors xn est le minimum global de f sur
IRn .
Les méthodes de directions conjuguées convergent donc
de façon finie en au plus n étapes.
Algorithme
1 Initialisation : Choisir un point de départ x0 .
2 À l’itération k, on est au point xk
Choix de la direction:
dk = −∇f (xk ) + βk−1 dk−1 avec
Recherche linéaire :
xk+1 = xk + ρk dk ,
∇f (xk )T dk
avec ρk = dkT Adk
Si ∇f (xk+1 ) ' 0, arrêter xk+1 = x ∗ , sinon k ← k + 1 et
retourner à l’étape (2)
Zakia ANKHILI Chapitre 4 Méthode d’optimisation ENSA (Marrakech) 2013 19/66
Algorithmes Méthodes pour l’optimisation sans contraintes Recherche linéaire Méthodes pour l’optimisation avec contraintes
4) Méthode de Newton
Soit f : IRn → IR, une fonction de classe C 2 . L’idée de la
méthode itérative de Newton est de minimiser à chaque
itération l’approximation quadratique de f au point courant
xk . La fonction quadratique est donnée par le développement
de Taylor d’ordre 2 :
1
q(x) = f (xk ) + ∇f (xk )T (x − xk ) + (x − xk )T ∇2 f (xk )(x − xk ).
2
Si ∇2 f (xk ) est défini positif, alors q est strictement convexe et
admet donc un minimum unique xk+1 défini par
∇q(xk+1 ) = 0 ⇔ ∇f (xk ) + ∇2 f (xk )(xk+1 − xk ) = 0,
Donc
xk+1 = xk − [∇2 f (xk )]−1 ∇f (xk ).
Vérifions que dk = xk+1 − xk est une direction de descente.
Zakia ANKHILI Chapitre 4 Méthode d’optimisation ENSA (Marrakech) 2013 21/66
Algorithmes Méthodes pour l’optimisation sans contraintes Recherche linéaire Méthodes pour l’optimisation avec contraintes
En effet,
Inconvénients
L’inverse de la matrice hessienne [∇2 f (xk )]−1 peut ne pas
exister. Dans ce cas la méthode échoue. Cela intervient
lorsque la méthode atteint une région où f est linéaire
(ses secondes dérivées partielles valent zéro).
La méthode de Newton ne possède pas la propriété de
convergence globale.
A chaque itération de l’algorithme, il faut calculer le
gradient ∇f (xk ), et la matrice hessienne ∇2 f (xk ) puis
inverser celle-ci. Tout ceci, lorsque c’est possible, coûte
beaucoup trop cher en terme de calculs.
Si ∇2 f (xk ) n’est pas définie positive,
la méthode de Newton n’est pas une méthode de
descente : il est possible qu’on trouve f (xk+1 ) > f (xk ).
La méthode, à chaque itération, recherche uniquement
un point tel que ∇q(x) = 0. Ce point peut être un
Zakia ANKHILI
maximum,
Chapitre 4
unMéthode
minimum ou un point-selle.
d’optimisation ENSA (Marrakech) 2013 23/66
Algorithmes Méthodes pour l’optimisation sans contraintes Recherche linéaire Méthodes pour l’optimisation avec contraintes
Remarque
dk = −Mk−1 ∇f (xk ) est une direction de descente. En
effet,
on calcule
xk+1 = xk − λk Sk ∇f (xk ),
avec λk est le minimum de la fonction
g(λ) = f (xk − λSk ∇f (xk )).
Zakia ANKHILI Chapitre 4 Méthode d’optimisation ENSA (Marrakech) 2013 26/66
Algorithmes Méthodes pour l’optimisation sans contraintes Recherche linéaire Méthodes pour l’optimisation avec contraintes
On obtient
(pk − Sk qk )T (pk − Sk qk )
Sk+1 = Sk +
(pk − Sk qk )T qk
Algorithme de correction un
1 Soit x0 un point de départ, S0 = I , matrice initiale
2 A l’iteration k,
xk+1 = xk − λk Sk ∇f (xk ),
(pk − Sk qk )T (pk − Sk qk )
(2) Sk+1 = Sk +
(pk − Sk qk )T qk
Théorème
Si f est quadratique de hessien symétrique défini positif A, et
si p0 , ..., pn−1 sont indépendants, alors la suite des matrices Sk
obtenue par la formule (2) converge, en au plus n étape, vers
A−1 .
Remarque
La formule (2) présente l’inconvénient que, même si la
fonction f est quadratique et son hessien A est défini
positif, les matrices Sk , obtenues ne sont pas
nécessairement définies positives.
La formule (2) peut ne pas avoir de sens, par exemple si
le terme ([pk − Sk qk ])T qk est nul ou simplement a une
très faible valeur.
Lorsque ces deux situations se produisent, il faut prévoir
des procédures spéciales pour la mise à jour des matrices
Sk . Chapitre 4
Zakia ANKHILI Méthode d’optimisation ENSA (Marrakech) 2013 30/66
Algorithmes Méthodes pour l’optimisation sans contraintes Recherche linéaire Méthodes pour l’optimisation avec contraintes
En prenant
on obtient
pk pk T Sk qk qk T Sk
Sk+1 = Sk + −
pk T qk qk T Sk qk
Algorithme de DFP
1 On part d’un point x0 et S0 = I (S0 = I peut être une
matrice définie positive quelconque)
2 On pose
xk+1 = xk − λk Sk ∇f (xk ),
avec λk est le minimum de f (xk − λSk ∇f (xk )), et Sk est
mise à jour par
pk pk T Sk qk qk T Sk
(3) Sk+1 = Sk + − ,
pk T qk qk T Sk qk
Théorème
On suppose que la matrice Sk est définie positive. Alors si la
condition pk T qk > 0 est vérifiée, la matrice Sk+1 est également
définie positive. Cette condition est satisfaite, en particulier, si
λk est obtenu par recherche linéaire.
Remarque
La conservation de la définie positivité est essentielle, car elle
garantit que les directions dk = −Sk ∇f (xk ) sont des directions
de descente.
Théorème
Si f est quadratique de matrice A définie positive, l’algorithme
(DFP) engendre des directions p0 , ..., pk vérifiant pour tout k
pi T Apj = 0, (0 ≤ i < j ≤ k)
Sk+1 Api = pi , (0 ≤ i ≤ k)
Zakia ANKHILI Chapitre 4 Méthode d’optimisation ENSA (Marrakech) 2013 33/66
Algorithmes Méthodes pour l’optimisation sans contraintes Recherche linéaire Méthodes pour l’optimisation avec contraintes
Remarque
Le théorème montre que, dans le cas quadratique, les
directions, p0 , ..., pk engendrées par l’algorithme (DFP)
sont mutuellement conjuguées par rapport à A. On
retrouve alors une méthode de type gradient conjugué.
Dans ce cas l’algorithme converge donc en au plus n
itérations.
Pour k = n − 1, la deuxième assertion du théorème
précédent devient Sn Api = pi , (i = 0, ..., n − 1) et
comme les directions pi sont mutuellement conjuguées
par rapport à A, on en déduit que Sn A = I . Donc,
Sn = A−1 . La formule de correction (3) permet donc de
construire en au plus n étape (dans le cas quadratique),
l’inverse du hessien de f .
pk pk T Sk qk qk T Sk
(3) Sk+1 = Sk + − ,
pk T qk qk T Sk qk
on obtient une suite de matrices définie par
qk qk T Hk pk pk T Hk
(4) Hk+1 = Hk + − .
qk T p k pk T Hk pk
les matrices obtenues vérifient la relation Hk+1 pk = qk .
La formule (4) permet alors de construire une approximation
du hessien et non pas de son inverse. Pour obtenir une formule
de correction pour approximer l’inverse du hessien, il suffit de
prendre l’inverse de Hk .
Zakia ANKHILI Chapitre 4 Méthode d’optimisation ENSA (Marrakech) 2013 35/66
Algorithmes Méthodes pour l’optimisation sans contraintes Recherche linéaire Méthodes pour l’optimisation avec contraintes
Le calcul donne
qk T [Hk ]−1 qk pk pk T
" #
−1 −1
[Hk+1 ] = [Hk ] + 1+ . T
p k T qk p k qk
Proposition
Si Sk est définie positive et pk T qk > 0, alors Sk+1 est définie
positive.
Remarque
La méthode BFGS est considérée comme très robuste et
est moins sensible aux erreurs dans les recherches
linéaires.
Lorsque les algorithmes DFP et BFGS sont appliquées à
une fonction non linéaire quelconque (non quadratique), il
faut procéder à des réinitialisations périodiques pour
assurer la convergence globale. Par exemple, à toute les n
itérations, on prend comme point de départ le dernier
point obtenu et on réinitialise la matrice H (en faisant
H0 = I )
Algorithme
ρ0 donné
g 0 (ρk )
ρk+1 = ρk − 00
g (ρk )
Remarque
Il est important de remarquer que cette procédure a une
propriété de convergence finie lorsqu’elle est appliquée à une
fonction quadratique du type
g 0 (ρ0 ) = 2uρ0 + v
2uρ0 + v v
g 00 (ρ0 ) = 2u et ρ1 = ρ0 − =− ,
2u 2u
qui est bien le minimum de g.
Exemple
g 0 (ρk ) − g 0 (ρk−1 )
,
ρk − ρk−1
la formule de Newton devient
ρk − ρk−1
ρk+1 = ρk − g 0 (ρk ) .
g 0 (ρk ) − g 0 (ρk−1 )
g 0 (ρk ) − g 0 (ρk−1 )
y= (ρ − ρk ) + g 0 (ρk ).
ρk − ρk−1
L’intersection de cette droite avec l’axe (ox) est donné par
g 0 (ρk ) − g 0 (ρk−1 )
g 0 (ρk ) = (ρk − ρ)
ρk − ρk−1
ρk − ρk−1
ρk+1 = ρk − g 0 (ρk ) .
g 0 (ρk ) − g 0 (ρk−1 )
Remarque
Comme la méthode de Newton, la convergence globale de la
méthode de la sécante n’est pas assurée. Les points de départ
ρ0 et ρ1 doivent donc choisis suffisamment proche de
l’optimum ρ∗ .
Théorème
Si g est de classe C 3 au voisinage de ρ∗ et si g 00 (ρ∗ ) > 0, la
méthode
√ de la sécante a une convergence superlinéaire d’ordre
1+ 5
2
(nombre d’or)
Remarque
Rappelons que la règle d’Armijo assure que le nouveau point
obtenu x 0 = x + ρd, vérifie f (x 0 ) < f (x) (propriété de
descente)
Règle de Goldstein
Si g(ρ) < g(0) + m2 g 0 (0)ρ, alors ρ est trop petit.
Si g(ρ) > g(0) + m1 g 0 (0)ρ, alors ρ est trop grand.
Si g(0) + m2 g 0 (0)ρ ≤ g(ρ) ≤ g(0) + m1 g 0 (0)ρ, alors ρ
convient
Dans le cas quadratique on a
1
g(ρ) = aρ2 + g 0 (0)ρ + g(0), a > 0.
2
Le choix de m2 doit être tel que, le pas optimal vérifie la règle
de Goldstein. Le pas optimal ρ∗ vérifie g 0 (ρ∗ ) = 0, soit
0
ρ∗ = −ga(0) . On a donc
g 0 (0) ∗
g(ρ∗ ) = g(0) + ρ.
2
Zakia ANKHILI Chapitre 4 Méthode d’optimisation ENSA (Marrakech) 2013 48/66
Algorithmes Méthodes pour l’optimisation sans contraintes Recherche linéaire Méthodes pour l’optimisation avec contraintes
xk+1 = xk − ρk ∇f (xk ),
a) Méthodes de Newton
On cherche à résoudre
min f (x)
s.à
(P) 1, ..., p
hi (x) = 0, i =
x ∈ IRn
On sait que la recherche d’un point de KKT revient à résoudre
le système à n + p inconnues et n + p équation
p
X
∇f (x) + λi ∇hi (x) = 0
i=1
hi (x) = 0, i = 1, ..., p
où p
X
L(x, λ) = f (x) + λi hi (x)
i=1
En posant Jk = ∇h(xk )T et
p
Hk = ∇2x L(xk , λk ) = ∇2 f (xk ) + λi ∇2 hi (xk ),
X
i=1
le système (S ) devient
! ! !
Hk JkT xk+1 − xk −∇f (xk )
(S ) =
Jk 0 λk+1 −h(xk )
Convergence
Supposons la qualification des contraintes et l’existence d’une
solution (x ∗ , λ∗ ). Supposons de plus, l’existence d’une
constante positive q telle que :
y T ∇hi (x ∗ ) = 0, i = 1, ..., p.
Alors, la méthode de Newton converge de façon quadratique
vers (x ∗ , λ∗ ).
(
Hk yk + JkT λk+1 = −∇f (xk )
h(xk ) + Jk yk = 0.
Le vecteur yk est la solution du problème d’optimisation
quadratique suivant :
1 T
min y Hk y + ∇f (xk )T y
(Q) s.à 2
h(xk ) + Jk y = 0
Remarque
La méthode de Wilson possède les mêmes propriétés de
convergence quadratique au voisinage de l’optimum que
la méthode de Newton.
La méthode présente des difficultés lorsque Hk n’est pas
définie positive.
2) Méthodes duales
On considère le pb d’optimisation (P)
min f (x)
s.à
(P)
gi (x) ≤ 0, i =n 1, ..., m
x ∈ IR
son dual est (
max θ(λ)
(D) s.à
λ≥0
n
λi gi (x)/x ∈ IRn }. L’intérêt du
X
où θ(λ) = inf{f (x) +
i=1
problème dual est double:
Il est concave (exercice)
Les contraintes sont simples à prendre en compte.
Zakia ANKHILI Chapitre 4 Méthode d’optimisation ENSA (Marrakech) 2013 61/66
Algorithmes Méthodes pour l’optimisation sans contraintes Recherche linéaire Méthodes pour l’optimisation avec contraintes
Algorithme d’Uzawa
1 Poser k = 0 et λ0 = 0.
2 Déterminer xk solution du problème
Algorithme d’Uzawa
1 Poser k = 0, choisir λ0 ∈ IRm p
+ et µ0 ∈ IR .
2 Déterminer xk solution du problème
µk+1 = µk + ρk h(xk )
5 Faire k ← k + 1 et retourner en 2.