Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Introduccion
On traitera ici quelques méthodes ou algorithmes de résolutions des problèmes d’optimisation sans contraintes sous réserve
d’existence et d’unicité de la solution qu’on tente d’approcher. Autrement dit, on ne s’intéresse pas ici à l’étude de l’existence
ou d’unicité de la solution, mais aux méthodes d’approximation de cette solution (supposée généralement unique). Il est à
noter que le rôle d’un algorithme n’est pas la vérification des CN et des CS d’existence et d’unicité de la solution, mais son
rôle vient après avoir vérifié ces conditions pour pouvoir donner une approximation de cette solution unique. La notion
la plus importante dans un algorithme est celle de convergence vers la solution exacte. On dira alors qu’un algorithme
converge, si après un certain nombre de répétitions k ∈ N (dites itérations), l’approximation atteint l’ordre de précision
demandée. Si après un certain nombre très grand d’itérations (par exemple 1000 itérations) l’ordre de précision ε (très
petit, par exemple 10−6 ) n’est pas atteint alors on dira que la méthode diverge. Donc si A est une procédure algorithmique
pour approcher une solution exacte x∗ alors on a principalement les étapes suivantes :
1. : Poser k = 0 ,choisir x(0) ∈ Rn (par exemple x(0) = 0Rn ), choisir kmax ∈ N assez grand(par exemple kmax = 1000).
2. Tant que((“test arrêt” est faux) et (k < kmax )) alors faire la prcédure A (par exemplex(k + 1) = x(k) + ρk d(k) ) et
faire k = k + 1
3. Si(“test arrêt” est vrai) alors u( k) est une approximation du point de minimum recherché. Sinon, la méthode n’a pas
convergé.
Noter que le test d’arrêt en pratique depend de l’ordre de précision donc si kx∗ − x(k) k ≤ ε alors le text d’arrêt est vrai
sinon il faux. On considère dan s toute la suite de ce chapitre le problème d’optimisation sans contrainte P : minn f (x).
x∈R
Autremnt dit, trouver x∗ ∈ Rn tel que f (x∗ ) ≤ f (x), ∀x ∈ Rn . Dans toute la suite de l’exposé on supposera que x∗ exite
et eventuellement unique et on se propose de trouver une approximation numerique de x∗ par la construction d’une suite
reccurente {xk) }k∈N de Rn qui converge vers x∗ c à d x(k) → x∗ quand k → +∞.
Rappelons que si f est de classe C 1 , alors x∗ satisfait nécessairement (C.N déja vue) l’equation d’Euler ∇f (x∗ ) = 0 et
si de plus f est convexe alors l’equation d’Euler est aussi condition suffisante de minimum (respectivement f concave
pour le problème de maximisation) et de plus encore f est stictement convexe (repectivement stictement concave pour la
maximisation) alors le minimum x∗ est unique.
Idée intuitive une fois les C.N et C.S et d’unicité sont satisfaites il ne reste alors que la recherche d’une approximation
de cet unique minimum x∗ donc comme l’equation d’Euler est devenu suffisante alors intuitivment il suffit de résoudre
numériquement l’equation d’Euler ∇f (x) = 0 donc trouver x∗ ∈ Rn tel que ∇f (x∗ ) = 0Rn , qui n’est autre qu’un problème
de résulution d’un système de n équations à n inconnues.
Dans ce qui suit, on tente de définir des méthodes spécifiques aux problèmes d’optimisation sans contraintes. ces algorithmes
consistent en la construction d’une suite reccurente {xk) }k∈N de Rn qui converge vers x∗ donc en se donnant un x(0) ∈ Rn
n
initial et x(k + 1) = x(k) + ρk d(k) où d(k)∈R sont des vecteurs de Rn , dits directions de descentes et ρk des scalaires
de R dits facteurs de descentes. Ces appellations sont justifiées par le fait qu’on cherche toujours (entre autre) à avoir
f (x(k+1) ) < f (x(k) ), c’est comme si en descent vers le minimum (c à d la suite reccurente {xk) }k∈N de Rn est strictement
décroissante.)
Algorithme de Newton.
Soit f une fonction de classe C 2 (Rn ). Supposons que x∗ solution du problème de minimisation de f sur Rn existe et est
unique, trouver donc x∗ c’est résoudre l’equation d’Euler ∇f (x) = 0. Appliquons l’algorithme ( de résolution de l’equation
(0)
x initial, ;
g(x) = 0 vue en cours d’analyse numérique fait en L2. On rappel que cette méthode est : (k+1) (k) g(x(k) )
x = x − ∇g(x(k) ) , .
Donc en remplaçant g(x) par ∇f (x) (car nous on veut résoudre ∇f (x) = 0) o obtient l’algorithme de Newton pour la
résolution des problèmes d’optimisation suivant
( (0)
x initial, ;
∇f (x(k) )
x(k+1) = x(k) − ∇(∇f (x(k) )
, .
donc
x(0) ∈ Rn initial,
;
x (k+1) (k) (k) −1 (k)
= x − [Hf (x )] ∇f (x ), .
Avec Hf la hessienne de la fonction f
2
L’algorithme de Newton pour l’optimisation hérite es propriétés de convergence de la methode de newton de résolution de
l’équation f (x) = 0 fait en L2 dans le cours d’analyse numérique.
Proposition:
Soit f une fonction de classe C 2 et x∗ un point minimum local de f et supposons de plus que la hessienne Hf de f est
DP(définie positive) alors :
1. ∃ un voisinage V (x∗ ) de x∗ tel que si x(0) ∈ V (x∗ ) alors la suite générées à partir de ce x(0) par l’algorithme de
Newton pour l’optimisation converge vers x∗
Preuve: admis
Remarques:
2. Si x(0) initial n’est pas suffisament proche de x∗ alors la méthode peut diverger, ce qui est un inconvinient de la
méthode.
3. Dans l’algorithe on a x(k+1) = x(k) − [Hf (x(k) )]−1 ∇f (x(k) ) or x(k + 1) = x(k) + ρk d(k) donc x(k + 1) = x(k) + d(k) où
(k)
d(k) est l’unique solution du système [Hf (x(k) )] × d(k) = −∇f (x(k) ) donc d(k) = −∇f (x )
[Hf (x(k) )]
= −[Hf (x(k) )]−1 ∇f (x(k) )
dite direction de descente de Newton, donc la methode de Newton est une méthode à pas fixe ρk = 1, ∀k ∈ N.
4. Si f est quadratique stictement convexe alors l’algorithme converge en une seule itération.
5. Si le point initial x(0) est assez proche de la solution optimale locale x∗ telle que la hessienne Hf (x∗ ) soit définie
positive, alors l’algorithme de Newton converge de façon quadratique vers la solution x∗ , donc kx(k+1) − x∗ k ≤
βkx(k) − x∗ k, β ≥ 0.
(a) Cette méthode fonctionne très bien pour les problèmes de petite dimension (1 ≤ n ≤ 10) donc des fonction à au
plus 10variables réelles,lorsque on peut calculer facilement la matrice Hessienne et sont inverse.Car ces calculs
nécessite des algorithmes et des itérations plus nombreuses et couteuses dans les problèmes de grandes tailles.
(b) Comme x(k+1) = x(k) − [Hf (x(k) )]−1 ∇f (x(k) ) donc il est clair que x(k+1) n’est pas défini que si [Hf (x(k) )] 6= 0
donc x(k+1) n’est pas toujours bien défin est la méthode s’arrête subitement.
Exemple. Soit f (x) = x21 + x22 + x23 il est très facile alors de montrer que f est quadratique strictement convexe et
que x∗ = (000)t est une solution unique du problème de minimisation sans contraintes associé à f . en effet, On a
f (x) = hI3 x, xi avec I3 la matrice d’identité d’ordre 3. Donc Hf (x) = 2I3 qui est DP donc la foction f est bien
quadratique et strictement convexe donc admet un unique minimum x∗ solution de ∇f (x) = 0 d’où le résultat. Ap-
pliquons maintenant à but pedagogique l’algorithme
pour appocher cette solution. coisissons un x(0) initial
arbitraire-
2 2x1
ment choisi dans R3 par exemple x(0) = 3 donc x(1) = x(0) − [Hf (x(0) )]−1 ∇f (x(0) ) or ∇f (x) = 2x2 donc
1 2x3
1
2×1 2 2 0 0 2 0 0
∇f (x(0) ) = 2 × 2 = ∇f (x(0) ) = 4 et comme Hf (x) = 0 2 0 donc [Hf (x)]−1 = 0 12 0 donc
2×3 6 0 0 2 0 0 12
1
1 2 0 0 2 0 0
x(1) = 2 − 0 12 0 × 4 = 0 ona alors ∇f (x(0) ) = 0 donc stop solution trouvée x∗ = 0R3 est
3 0 0 12 6 0 0
la valur optimale est f (x∗ ) = 0.
3
Méthode de relaxation : Dans cette méthode on fait le choix suintant sur les
directions de descente: d(0)=e1,d(1)=e2,...., d(n-1)=en puis d(n)=e1,d(n+1)=e2,..., d(2n-1)=en
et ainsi de suite, sachant que {e1 , e2 , · · · en } est la base canonique de IRn.
Donc en général on a : d(k) = ep
si et seulement si p est le reste de la division de k + 1 par n.
Puis on prend les facteurs de descente ρk ∈ IR vérifiant
Tout en supposant que ces minimum existent et unique. Ce qui nous donne comme
suite récurrente de la méthode de relaxation la suite suivante: x(k+1) = x(k) + ρk d(k) .
C’est la méthode (ou l’algorithme) de relaxation.
Qui peut s'écrire de de la manière suivante : Si on suppose connu le terme u(k)
(k) (k) (k)
= (u1 , x2 , · · · xn )T on peut alors calculer le k+1 ème terme :
(k+1) (k+1) (k+1)
x(k+1) = (x1 , x2 , · · · xn )T en n pas successifs :
(k+1) (k) (k)
f(x1 , u2 , · · · x(k ) (k)
n ) = min f (y, x2 , · · · xn )
y∈IR
(k)
qui est obtenue via le changement de variable : y = x1 + ρ.
Montrons alors que cette méthode est bien définie et converge pour au moins une
fonction qui est elliptique, condition qui reste comme même forte! . Pour se faire, on
a besoin d’abord de la proposition suivante :
Remarque :
l'inconvénient de cette méthode est ces minimisations qui sont des fois difficiles à
faire donc cette méthode de relaxation n'est intéressante que si ces minimisations sur IR,
pour obtenir les meilleurs facteurs de descentes peuvent ce faire de manière exacte et
aisément .
5
1
< Ax , x > − < b , x > + c ........(QSDP)
f(x) =
2
avec A ∈ Mn (IR) matrice matrice symétrique et définie positive, b ∈ IRn , c ∈ IR
(donc
c’est une forme quadratique associée à une matrice SDP , donc f est quadratique
strictement convexe. On a besoin de calculer y ∗ ∈ IR tel que min g(y) = g(y ∗ )
y∈IR
Par le corollaire précèdent comme f est elliptique donc g est elliptique, donc le
minimum y ∗ existe et est unique , il est l’unique solution de l’équation d’Euler
g 0 (y ∗ ) = 0.
Remarque : On a aii > 0 car aii =< Aei , ei > > 0 (carA est une
matrice SDP).
Proposition Dans le cas où f est donnée par quadratique avec A une matriceSDP la
méthode de relaxation s’écrit :
n
!
(k+1) 1 X (k)
x1 = b1 − a1jxj
a11 j>1
n
!
(k+1) 1 (k+1)
X (k)
x2 = b2 − a21x1 − a1jxj
A22 j>2
··· !
n n
(k+1) 1 X (k+1)
X (k)
i x= bi − aijxj − Aijxj
aii j<i j>i
··· !
n
(k+1) 1 X (k+1)
n x= bn − anjxj
ann j<n
Méthodes de gradient.
Idée des méthode de gradient : il faut prendre comme direction de descente :
d(k) = −∇f (x(k) )
Justification :f (x(k) ) est orthogonal à la ligne du niveau de f dans le point u(k) et la
fonction f diminue dans la direction −∇f(x(k) ). Ce qui est justifie par le calcul suivant,
où on utilise un développement de Taylor :
f x(k) − ρ∇f (x(k) ) = f (x(k) )+ < ∇f (x(k) ) , −ρ∇f (x(k) ) > + o(ρ)si f est
∈ IR est une fonction elliptique, donc il existe un unique point de minimum de cette
fonction. Ceci montre que la méthode de gradient à pas optimal est bien définie.
g 0 (ρ) = − < A x(k) − ρ∇f (u(k) ) −b , Ax(k) −b >= −kAx(k) −bk2 +ρ < A Ax(k) − b , Ax(k) −b >
On obtient alors(++)
kAx(k) − bk2
ρk =
< A (Ax(k) − b) , Ax(k) − b >
Rémarquons qu’on a < A Ax(k) − b , Ax(k) − b > > 0 (car A est SDP et Ax(k) − b =
∇J (x(k) ) =
6 0).
8
∇J (x∗ ) = 0.
Par la formule : kx − yk2 = kxk2 + kyk2 − 2 < x, y > pour tous x, y ∈ IRn, on obtient
kx(k+1) −x∗ k2 = kx(k) −x∗ k2 +ρ2k k∇f (x(k) )−∇f (x∗ )k2 −2ρk < x(k) −x∗ , ∇f (x(k) )−∇f (x∗ ) > .
9
Autrement dit,
kx(k+1) − x∗ k2 ≤ (1 − 2αρk + M 2 ρ2k )kx(k) − x∗ k2 . (1)
Soit alors la fonction ϕ : IR → IR donnée par
ϕ(ρ) = 1 − 2αρ + M 2 ρ2 .
2α (**)
ϕ(ρ) < 1 ∀ ρ ∈ ]0, [.
M2
Notons :
γ1 = max ϕ(ρ).
ρ∈[a1 ,a2 ]
Le Théorème de Weierstrass nous dit que le maximum de ϕ est atteint sur [a1 , a2 ] et on
déduit de (**) que
γ1 < 1.
Posons maintenant
γ2 = max {γ1 , 0} ≥ γ1
√
et il est claire que γ2 ∈ [0, 1[, posons alors : β = γ2 et on a
0 ≤ β < 1.
Définition :
Une méthode de gradient est dite à pas constant (ou fixe) si ρk est constant
(indépéndant des itérations k). Dans le cas contraire, elle est dite à pas variable.
Remarque :
On déduit du Théorème des intervalles des facteurs de descentes des méthodes
gradient que si ρ est tel que 2α
0<ρ< 2
M
alors la méthode de gradient à pas fixe
x(k+1) = u(k) − ρ∇J (x(k) )
est convergente (choisir a1 = a2 = ρ dans le Théorème).
C’est la méthode de gradient la plus simple à utiliser.
Inconvenient : En général il est difficile de connaître les constantes d'ellipticité et de
lipschitz α et M( quand elles existent).Alors dans la pratique on prends un ρ assez petit
pour êtresur d’avoir la convergence. Maisdans ce cas la convergence peut être très lente !
Un exemple où on peut calculer α et M : Si f est quadratique associée à une
matrice A SDP. Alors on peut prendre α = λmin > 0 (la plus petite valeur propre de
A) et M = kAk2 = ρ(A) = λmax > 0 (la plus grande valeur propre de A). un
algorithme pour tenter de bien choisir ces facteurs de descntes est basé sur la
recherche linéaire.
La méthode pour choisir ρk est une méthode intermédiaire entre l’algorithme de gra-
dient à pas optimal et un algorithme de gradient à pas constant. Le principe est le
suivant : On note g : IR → IR la fonction donnée par
g(ρ) = J (x(k) − ρ∇J (x(k) )).
On cherche r > 0 et s ∈ IN, s ≥ 2, tels que
g(0) > g(r) > g(2r) > · · · > g(sr)
et
g(sr) ≤ g((s + 1)r)
(pour tout r > 0 assez petit il existe au moins un nombre naturel s avec cette propriété, si
on fait une hypothèse de coercivité sur f ).
On pose alors
ρk = sr.
Idée intuitive : bien exploiter les possiblités de “descendre” dans la direction −∇f (x(k) ).
L’algorithme associé est le suivant :
faire r = 1
tant que (g(2r) < g(r) < g(0) est faux) faire r = r/2
ρ = 2r
tant que (g(ρ + r) < g(ρ)) faire ρ = ρ + r
ρk = ρ.
11