Vous êtes sur la page 1sur 28

Optimisation Numérique

2022 - 2023
Forme générale 2/28

Un problème d’optimistaion (D) est défini par

minimiser sur Rn : f (x)


avec gi (x) ≤ 0, 1 ≤ i ≤ p,
hj (x) = 0, 1 ≤ j ≤ q.
Vocabulaire :
f est la fonction de coût, la fonction objectif ou encore le
critère,
les gi sont les contraintes d’inégalité,
les hj sont les contraintes d’égalité,
l’ensemble des contraintes est

D = {x ∈ Rn |gi (x) ≤ 0, ≤ 0, 1 ≤ i ≤ p et hj (x) = 0, 1 ≤ j ≤ q}

ensemble des points admissibles ou réalisables.


Exemple introductif 3/28

Minimiser la surface d’un cylindre avec une contrainte sur le


volume :
min f (x1 , x2 ) = 2πx1 (x1 + x2 )
x1 ,x2

sous g (x1 , x2 ) = πx12 x2 − V = 0


où x1 et x2 sont respectivement le rayon et la hauteur du
cylindre et V le volume requis.
Optima locaux et globaux 4/28

Optimum local : meilleure valeur localement au sens de la


métrique de l‘espace et de l’ensemble des contraintes.

Formellement :
D ⊆ Rn espace métrique et f une fonction de D dans R,
x ∗ ∈ D réalise un minumum local de f sur D ssi ∃ une boule
ouverte B centrée en x ∗ telle que ∀x ∈ B ∩ D, f (x) ≥ f (x ∗ ),
inégalité stricte pour x 6= x ∗ ⇒ minimum local strict.
x ∗ ∈ D réalise un minumum global de f sur D ssi
∀x ∈ D, f (x) ≥ f (x ∗ ).

Propriété : minimum de f ⇔ maximum de −f .

Nous établirons d’abord des algorithmes dans le cas sans


contrainte, i.e. D = Rn , puis dans le cas sous contraintes.
2 2
Exemple : f : x 7→ 3e −x + e −(x−3) 5/28
Conditions d’existence d’un minimum 6/28

Théorème. condition nécéssaire d’ordre 1 de minimum local


Soient f ∈ C 1 (Rn , R) et x ∗ ∈ Rn un minimum local de f . Alors
0
nécéssairement ∇f (x ∗ ) = 0 i.e de façon équivalente f (x ∗ ) = 0.

Théorème. condition nécéssaire d’ordre 2 de minimum local


Soient f ∈ C 2 (Rn , R) et x ∗ ∈ Rn un minimum local de f . Alors
nécéssairement ∇f (x ∗ ) = 0 et Hf (x ∗ ) est positive.
∂ 2 f (x)
où (Hf (x))ij = ( ) est la matrice Hessienne (représentant
∂xi ∂xj
00
f (x)).

Théorème. conditions suffisantes de minimum local strict


Soit f ∈ C 2 (Rn , R) telle que ∇f (x ∗ ) = 0 et que la matrice
Hessienne Hf (x ∗ ) soit SDP, alors x ∗ ∈ Rn est un minimum local
strict de f .
Minimum global et convexité 7/28
Fonction convexe : On dit que f de Rn dans R est convexe ssi
pour tout θ ∈ [0, 1]

f (θy + (1 − θ)x) ≤ θf (y ) + (1 − θ)f (x),


pour tous (x, y ) ∈ Rn × Rn . f est dite strictement convexe si
l’inégalité est stricte pour tout θ ∈]0, 1[.
Théorème : Si f est convexe de Rn dans R alors tout minimum
local de f est un minimum global de f .
Théorème : Soit f une fonction convexe de Rn dans R. Si
x ∗ ∈ Rn vérifie l’équation d’Euler ∇f (x ∗ ) = 0, alors x ∗ est un
minimum global de f .
Théorème : existence et d’unicité d’un minimum global
Soient f ∈ C 0 (Rn , R) telle que lim f (x) = +∞, alors f
kxk−→+∞
admet un minimum global. Si de plus f est strictement convexe,
alors ce minimum est unique.
Algorithmes itiratifs 8/28

Presque toutes les méthodes reposent sur la stratégie suivante :

On choisit un point de départ, le vecteur x0 .


On choisit une direction de déplacement d0 .
On calcule un pas de déplacement ρ0 tel que l’on ait la
condition importante f (x0 + ρ0 d0 ) < f (x0 ).
On définit le nouveau x1 = x0 + ρ0 d0 .
On teste la convergence : si la convergence est ateinte, on
stoppe, sinon on itére.

La procédure est répétée et engendre les vecteurs x1 , x2 , x3 . . . .


Méthode de Newton 9/28

Pour chercher un extremum x ∗ d’une fonction différentiable,


on peut se ramener à chercher ses points crtiques
∇f (x ∗ ) = 0.

Résoudre cette équation n’est pas toujours facile, ni même


faisable.

Il est utile de considérer une méthode de calcul approché.


Nous voyons ici la (célébre) méthode de Newton, qui d’une
façon plus générale permet d’approcher les zéros d’une
fonction (sous certaines hypothèses).
Méthode de Newton 10/28

On cherche x ∗ ∈ R, tel que f (x ∗ ) = 0.


0
Au voisinage de x0 , f (x) ≈ f (x0 ) + f (x0 )(x − x0 ).
0
=⇒ Si f (x0 ) 6= 0, on considère

f (x0 )
x1 = x0 − ,
f 0 (x0 )

et on construit une suite par récurrence, par

0 f (xn )
si f (xn ) 6= 0, xn+1 = xn − .
f 0 (xn )
Convergence de la méthode de Newton 11/28

Sous certaines hypothèses, la suite (xn )n∈N converge vers un


zéro de f .

Plus précisément et plus généralement :


Théorème : (Convergence de la méthode de Newton)
Soit F ∈ C 1 (Rn , Rn ) et x∗ est un zéro isolé de F .
Si la matrice jacobienne DF (x∗ ) de F en x∗ est inversible,
alors il existe une boule B(x∗ ) centrée en x∗ , telle que
∀x0 ∈ B(x∗ ), la suite :

xn+1 = xn − DF (xn )−1 F (xn )

soit contenue dans B(x∗ ) et converge vers x∗ seul zéro de F


dans B(x∗ ).
Application à la recherche de minimum 12/28

Pour résoudre
min f (x)
avec f : Rn −→ R, on applique la méthode de Newton à
∇f : Rn −→ Rn .
Théorème : (Application de la méthode de Newton à
l’optimisation)
Soit f ∈ C 2 (Rn , R) et x∗ est un minimum local de f isolé. Si
la matrice Hessienne Hf (x∗ ) est définie positive, alors il existe
une boule B(x∗ ) centrée en x∗ , telle que ∀x0 ∈ B(x∗ ), la suite
définie par :

xn+1 = xn − Hf (xn )−1 ∇f (xn )

converge vers le minimum x∗ .


Algorithme de Newton 13/28

Données :
f : Rn −→ R, de classe C 2 , x0 première approximation de la
solution cherchée,
ε > 0 précision demandée.
Sortie une approximation x∗ de la solution.

k := 0 ;
Tant que k∇f (xk )k > ε,
(a) Calculer dk solution du système : Hf (xk )dk = −∇f (xk ) ;
xk+1 = xk + dk ;
k := k + 1 ;
Retourner xk .
Méthode du gradient 14/28

Une méthode de type gradient est une méthode de descente


où la direction en chaque point x est celle de plus grande
pente, c’est dire à dire : −∇f (x).

On construit par récurrence une suite de pints (xn ), par la


formule : xk+1 = xk − ρk ∇f (xk ).

Algorithme :
Initialisation de x ← x0 ∈ D première approximation de la
solution cherchée.
Tant que (critère d’arrêt) faire

Choix d’une direction (de descente) d,


Choix d’un pas de descente ρ > 0 tel que x + ρd ∈ D,
x ← x + ρd;
Fin
Méthode du gradient à pas optimal 15/28

La méthode du gradient à pas optimal détermine à chaque


itération le pas ρk par :

f (xk − ρk ∇f (xk )) = inf f (xk − ρ∇f (xk )).


ρ∈R

Définition : (Fonctionnelles elliptiques)


Une fonction f : Rn −→ R, de classe C 1 est dite elliptique ou
encore α-elliptique s’il existe α > 0 tel que

(∇f (x) − ∇f (y ), x − y ) ≥ αkx − y k2 ∀x, y ∈ Rn .

Théorème : (Convergence de la méthode du gradient à


pas optimal)
Si f : Rn −→ R est α-elliptique, la méthode du gradient à pas
optimal converge vers l’unique minimum de f .
Cas d’une fonction quadratique elliptique 16/28

1
Soit f (x) = x T Ax − b T x + c une fonction quadratique
2
elliptique.

On peut ici donner une formule explicite pour le pas optimal


ρk .
Théorème : (Pas optimal en programmation quadratique
elliptique)
Dans le cas de la fonction quadratique elliptique
1
f (x) = x T Ax − b T x + c, le pas optimal ρk est donné par :
2
kAxk − bk2 k∇f (xk )k2
ρk = = .
< A(Axk − b), Axk − b > < A∇f (xk ), ∇f (xk ) >
Méthode du gradient à pas fixe 17/28

L’algorithme du gradient à pas optimal possède une


intéressante propriété de convergence mais comporte dans
chaque itération une recherche de pas optimal. C’est un
problème mono-dimensionnel qui peut être traité par la
méthode de dichotomie.

C’est pour s’abstraire de cette recherche du pas qu’on


développe la méthode du gradient à pas fixe.

Il s’agit d’une méthode du gradient où le pas de descente est


fixé à ρ > 0 :
xk+1 = xk − ρ∇f (xk ).
Sous des hypothèses suffisantes, on peut choisir le pas pour
s’assurer de la convergence.
Méthode du gradient à pas fixe 18/28
Théorème : (Convergence de la méthode du gradient à pas
fixe)
Soit f : Rn −→ R une application α-elliptique dont la différentielle
est lipschitzienne, c’est à dire qu’il existe M > 0 telle que
∀x, y ∈ Rn ,
k∇f (x) − ∇f (y )k ≤ Mkx − y k.
Si le pas ρ est choisi tel que :

0<ρ< .
M2
alors la méthode du gradient à pas fixe converge vers l’unique
minimum global de f .
1
Pour f (x) = x T Ax − b T x + c une fonction quadratique
2
elliptique. α et M sont respectivement donnés par la petite (la
plus grande) valeur propre de A. Dans ce cas le meilleur pas
2
de descente est où λ1 , λn désignent la plus petite et
λ1 + λn
la plus grande valeur propre de A.
Méthode du gradient conjugué 19/28
1
Cas f (x) = x T Ax − b T x + c
2

Même si la direction opposée au gradient est localement la


direction de plus grande descente locale, ce n’est pas en
appliquant une méthode de descente du type gradient que l’on
converge le plus rapidement vers un minimum. Et ce n’est pas
ce que l’on peut faire de mieux à l’ordre 1.

La méthode qui suit est une méthode de descente inspirée de


la méthode de gradient.

La direction du descente dk n’est plus égale au gradient


∇f (xk ) = Axk − b : le gradient ∇f (xk ) est corrigé de façon
que toutes les directions dk obtenues soient orthogonales (ou
conjuguées) pour le produit scalaire (x, y )A := (Ax, y ).
Plus précisement on pose dk = ∇f (xk ) + αk dk−1 , où αk est
tel que : (dk , dk−1 )A = 0.
Méthode du gradient conjugué 20/28
Algorithme

Initialisation
k := 0; choix de x0 ∈ Rn et calcul de d0 = Ax0 − b.
Itération k
Si dk = 0 STOP ;
Sinon :
dk = 0 si k = 0 sinon dk = ∇f (xk ) + αk dk−1 avec
(∇f (xk ), Adk−1 )
αk = − ;
(Adk−1 , dk−1 )
(∇f (xk ), dk )
ρk = ;
(Adk , dk )
xk+1 = xk − ρk dk ;

dk+1 = Axk+1 − b ;
k = k + 1;
Méthode du gradient conjugué : Convergence 21/28

Théorème : La méthode du gradient conjugué appliquée à une


fonction quadratique elliptique de Rn converge en au plus n
itérations.

Cette méthode présente, sur la méthode de Newton,


l’avantage de ne pas nécessiter el calcul de Hf , et sur la
méthode de la plus profonde descente (à pas optimal), celui
de définir des directions de descente successives cohérentes.
Exemple 22/28

Minimisation de la forme quadratique :

f (x, y , z) = x 2 + y 2 + z 2 + xy + xz + yz + x − y + 3z.

Le tableau qui suit permet de comparer quatre méthodes


(gradient conjugué, gradient optimal, gradient à pas fixe) de
minimisation de l’application quadratique f .

Son minimum est (0.25, −1.75, 2.25) en lequel la fonction


vaut −4.375.
Exemple 23/28
Algorithmes itératifs dans le cas sous contraintes 24/28

Dans le cas sous contraintes de domaine convexe fermé, on


établit des méthodes itératives en appliquant des méthodes
sans contraintes vues précédemment tout en projetant à
chaque itération le point obtenu sur ce domaine.

On utilise pour cela le théorème de projection convexe que


nous rappelons ci-après.
Théorème de projection convexe 25/28
Théorème : (Théorème de projection convexe)
Soit D un sous-ensemble non vide fermé, convexe de Rn .
Donné x ∈ Rn il existe un unique PD ∈ D tel que

kx − PD (x)k = inf kx − y k,
y ∈D

et PD (x) est caractérisé par l’inégalité :

∀y ∈ D, < PD (x) − x, y − PD (x) >≥ 0.

L’application PD : Rn −→ D ainsi définie est appelée


l’opérateur de projection sur D. C’est une application
contractante, i.e. :

kPD (x) − PD (y )k ≤ kx − y k.
Méthode du gradient projeté 26/28

La méthode du gradient projeté consite à projeter sur le


domaine D (convexe, fermé, non vide) les points obtenus à
chaque itération par la méthode du gradient à pas fixe. C’est
à dire, soit ρ > 0 un pas de descente :
xk+1 = PD (xk − ρ∇f (xk )).
Méthode du gradient projeté 27/28
Algorithme

point initial x0 ;

pour k ≥ 1 croissant ;
Calculer yk+1 = xk − ρk ∇f (xk ) ;
puis xk+1 = PD (yk+1 ) ;
tester la convergence et quitter la boucle le cas échéant
(par ex. kxk+1 − xk k < ε).
Méthode du gradient projeté : Convergence 28/28

Sa convergence est assurée sous les mêmes hypothèses que


pour la méthode du gradient à pas fixe par le théorème
suivant :
Théorème (Convergence de la méthode du gradient projeté)
Soit f : Rn −→ R une application α-elliptique et un domaine D
non vide fermé et convexe.
On suppose de plus que ∇f : Rn −→ Rn est M-lipschitzienne (c’est
à dire ∃M > 0, ∀x, y ∈ Rn , k∇f (x) − ∇f (y )k ≤ Mkx − y k).
Si le pas de descente ρ est choisi tel que

0<ρ< ,
M
alors la méthode du gradient projeté converge vers le minimum de
f sur D.

Vous aimerez peut-être aussi