Vous êtes sur la page 1sur 17

ÉLÉMENTS D’OPTIMISATION

Complément au cours et au livre de


MTH 1101 - CALCUL I

CHARLES AUDET
DÉPARTEMENT DE MATHÉMATIQUES
ET DE GÉNIE INDUSTRIEL
ÉCOLE POLYTECHNIQUE DE MONTRÉAL

Hiver 2011

1 Introduction à l’optimisation
L’optimisation vise à résoudre des problèmes où l’on cherche à déterminer parmi un grand nombre de solutions
candidates celle qui donne le meilleur rendement. Plus précisément, on cherche à trouver une solution satisfaisant
un ensemble de contraintes qui minimise ou maximise une fonction donnée. L’application de l’optimisation est
en expansion croissante et se retrouve dans plusieurs domaines. Les problèmes considérés dans ce document
s’écrivent sous la forme standard
min f (x)
x∈Rn (1)
s.c. x∈S

où x = (x1 , x2 , . . . , xn )T est un vecteur de Rn , f : Rn 7→ R est la fonction que l’on désire minimiser (appelée
fonction objectif), S ⊆ Rn est l’ensemble dans lequel les points doivent appartenir, et s.c. est l’abbréviation de
sous la ou les contraintes.
La formulation (1) signifie que l’on cherche à trouver une solution du domaine réalisable x∗ ∈ S dont la valeur
de la fonction objectif est la plus petite.

Définition 1.1 Une solution x∗ ∈ S est un minimum global de la fonction f sur le domaine S si

f (x∗ ) ≤ f (x) ∀x ∈ S.

La valeur optimale est f (x∗ ).

Notez que le minimum global n’est pas nécessairement unique, mais la valeur optimale l’est. Par exemple, le
2

problème d’optimisation suivant


min sin x
x∈R
possède une infinité de minima globaux, soient { 3π
+ 2kπ : k ∈ Z} mais une seule valeur optimale: −1.
2
Définissons maintenant la notion d’optimalité dans un voisinage restreint. Pour introduire cette idée, on va
définir Bε (x∗ ) comme étant l’ensemble des points de Rn dont la distance à x∗ est inférieure à ε, un scalaire positif
donné. Cet ensemble est communément appelé une boule de rayon ε centrée en x∗ , et s’écrit formellement:
Bε (x∗ ) = {x ∈ Rn : kx − x∗ k < ε}.

Définition 1.2 Une solution x∗ ∈ S est un minimum local de la fonction f sur le domaine S si

f (x∗ ) ≤ f (x) ∀x ∈ S ∩ Bε (x∗ ).

Les maxima sont définis de façon similaire, il suffit de remplacer les inégalités (≤) aux définitions 1.1 et 1.2
par (≥). La figure 1 illustre le cas d’une fonction d’une seule variable possédant trois minima locaux, dont un
minimum global.
6
f (x)



  -
S x

Figure 1: Trois minima locaux, dont un global

1.1 Rappels
Le gradient d’une fonction f : Rn → R différentiable. évalué au point x ∈ Rn est un vecteur de Rn s’écrivant
∂ f (x) T
 
∂ f (x) ∂ f (x)
∇ f (x) = , ,..., .
∂x1 ∂x2 ∂xn
La dérivée directionnelle de f en x ∈ Rn dans la direction unitaire d ∈ Rn est
f (x + td) − f (x)
fd0 (x) = lim = d · ∇ f (x).
t→0 + t
De plus, si les dérivées secondes de f existent et sont continues, alors la matrice Hessienne s’écrit
 00 00 00 
fx1 x1 fx1 x2 ... fx1 xn
 
 00 00 00

 f
 x2 x1 fx2 x2 ... fx2 xn 

2
∇ f =  .
 
 .
. .
. . . .
. 

 . . . . 

 
00 00 00
fxn x1 fxn x2 ... fxn xn
3

Exemple 1.3 Le gradient et la matrice Hessienne de la fonction f (x) = −(x1 − 2x2 )2 − ex1 sont

−2 − ex1
 
x1 T 2 4
∇ f (x) = (−2(x1 − 2x2 ) − e , 4(x1 − 2x2 )) , ∇ f (x) = .
4 −8

Des notions d’algèbre serviront au classement des optima.

Définition 1.4 Une matrice symétrique A de dimension n × n est dite

semi-définie positive si yT Ay ≥ 0 ∀y ∈ Rn ,
définie positive si yT Ay > 0 ∀y 6= 0 ∈ Rn ,
semi-définie négative si yT Ay ≤ 0 ∀y ∈ Rn ,
définie négative si yT Ay < 0 ∀y 6= 0 ∈ Rn .

Si aucune des propriétés ci-dessus n’est satisfaite, la matrice A est dite indéfinie.

Une façon simple de vérifier si une matrice est définie positive est de considérer les déterminants des n sous-
matrices suivantes de A
d1 = det([a11 ]),
 
a11 a12
d2 = det ,
a21 a22  
  a11 a12 . . . a1n
a11 a12 a13  a21 a22 . . . a2n  
d3 = det a21 a22 a23 , . . . , dn = det  ..  .
 
   .. .. ..
a31 a32 a33
 . . . . 
an1 an2 . . . ann

Ces n déterminants sont appelés les mineurs principaux dominants. Dans le cas où la matrice est inversible, et
donc lorsque dn 6= 0, il est toujours facile de déterminer si une matrice est définie positive, définie négative ou
bien indéfinie. En effet, il suffit d’analyser le signe de chacun des mineurs principaux dominants.

Classement d’une matrice inversible.

Soit d1 , d2 , . . . , dn les mineurs principaux dominants d’une matrice A symétrique inversible de dimension n × n,
et e1 , e2 , . . . , en les mineurs principaux dominants de la matrice −A.

• Si di > 0 pour chaque i ∈ {1, 2, . . . , n} alors A est définie positive;

• si e j > 0 pour chaque j ∈ {1, 2, . . . , n} alors A est définie négative;

• sinon A est indéfinie.

La vérification qu’une matrice singulière est semi-définie positive, semi-définie négative ou indéfinie requiert
beaucoup plus de calculs. Par exemple, pour montrer qu’une matrice est semi-définie positive, il ne suffit pas de
vérifier que les mineurs principaux dominants sont tous positifs ou nuls. Une possibilité consiste à analyser toutes
valeurs propres de la matrice. Ce sujet sera abordé dans des cours plus avancés.
4

Exemple 1.5 (suite de l’exemple 1.3...) Les déterminants des sous-matrices principales dominantes de

−2 − ex1
 
2 4
∇ f (x) = .
4 −8

sont respectivement

−2 − ex1
 
x1 x1 4
d1 = det([−2 − e ]) = −2 − e < 0 et d2 = det = (−2 − ex1 )(−8) − (4)(4) = 8ex1 > 0.
4 −8

Leurs signes sont indépendant de la valeur de x. La matrice ∇2 f (x) n’est donc pas définie positive ni même
semi-définie positive.
Cependant, on remarque que les mineurs principaux dominants de la matrice −∇2 f (x) sont

2 + ex1
 
x1 x1 −4
e1 = det([2 + e ]) = 2 + e > 0 et e2 = det = (2 + ex1 )(8) − (−4)(−4) = 8ex1 > 0.
−4 8

On peut alors conclure que la matrice −∇2 f (x) est définie positive, et donc la matrice ∇2 f (x) est définie négative,
et ce pour toutes les valeurs de x.

2 Optimisation sans contraintes


Dans cette section nous considérons le cas particulier du problème d’optimisation (1) sans contraintes où S = Rn ,
c’est-à-dire:

min f (x) (2)


x∈Rn

où f ∈ C 2 (cette notation signifie f est différentiable aux moins deux fois, et que ses dérivées sont continues).

2.1 Conditions d’optimalité


Soit x∗ un minimum local de f sur S = Rn . La définition 1.2 assure qu’il existe un scalaire ε > 0 tel que

f (x∗ ) ≤ f (x) ∀x ∈ Bε (x∗ ),

en particulier pour n’importe quelle direction unitaire d ∈ Rn et scalaire t > 0 suffisamment petit, le point x =
x∗ + td appartient à la boule Bε (x∗ ), et donc

f (x∗ ) ≤ f (x∗ + td).

Ceci implique que la dérivée directionnelle de f en x∗ dans n’importe la direction unitaire d ∈ Rn satisfait

f (x∗ + td) − f (x∗ )


fd0 (x∗ ) = lim ≥ 0.
t→0+ t
Le résultat précédent est valide pour n’importe quelle direction unitaire d, et donc il est valide en particulier pour
∇ f (x∗ )
d = − k∇ f (x∗ )k . Il s’ensuit que

∇ f (x∗ ) · ∇ f (x∗ )
0 ≤ fd0 (x∗ ) ∗
= d · ∇ f (x ) = − ∗
= −k∇ f (x∗ )k,
k∇ f (x )k
5

et donc ∇ f (x∗ ) = 0 (car on a montré que 0 ≤ −k∇ f (x∗ )k, or k∇ f (x∗ )k est toujours positif). Nous avons donc
montré la condition d’optimalité suivante.

Condition nécessaire de premier ordre.

Si x∗ est un minimum local de la fonction f sur Rn , alors ∇ f (x∗ ) = 0 (c’est-à-dire, x∗ est un point critique).

Cette définition donne une condition nécessaire mais pas suffisante. En effet, il est possible que le gradient
soit nul en un point et que ce point ne soit pas un minimum local (par exemple, ce point peut être un maximum
local ou un point de selle).
Un point critique x ∈ Rn est un point de selle si pour n’importe quel ε > 0, il existe deux points a ∈ Bε (x∗ )
et b ∈ Bε (x∗ ) qui soient tels que f (a) < f (x∗ ) < f (b). Un point de selle n’est donc ni un minimum local ni un
maximum local.
Les conditions de second ordre nous permettent de distinguer ces cas. Considérons encore une fois x∗ un
minimum local de f sur S = Rn . À l’aide du développement de Taylor d’ordre 2 de f autour du minimum local
x∗ on obtient pour toute direction unitaire d ∈ Rn et pour t ∈ R suffisament petit
t2 T 2 ∗
f (x∗ ) ≤ f (x∗ + td) ≈ f (x∗ ) + td · ∇ f (x∗ ) + d ∇ f (x )d
2
t2 T 2 ∗
= f (x∗ ) + d ∇ f (x )d.
2
Pour passer de la première à la deuxième ligne, on a utilisé le fait que ∇ f (x∗ ) = 0 en un minimum local. En
simplifiant cette dernière expression, et en divisant par t 2 > 0 on obtient
1 T 2 ∗
d ∇ f (x )d ≥ 0,
2
une expression indépendante de t. On a alors la condition suivante.

Condition nécessaire de second ordre.


Si x∗ est un minimum local de la fonction f sur Rn , alors ∇ f (x∗ ) = 0 et yT ∇2 f (x∗ )y ≥ 0 pour tout y ∈ Rn
(c’est-à-dire, la matrice Hessienne ∇2 f (x∗ ) est semi-définie positive).

La contraposée de cette condition assure que si la matrice des dérivés secondes ∇2 f (x∗ ) n’est pas semi-
définie positive, alors x∗ n’est pas un minimum local de f . De façon similaire, si la matrice n’est pas semi-définie
négative, alors x∗ n’est pas un maximum local de f . Et donc, si la matrice est indéfinie en un point critique x∗ de
la fonction f , alors x∗ est un point selle. En effet, si la matrice est indéfinie alors elle n’est ni semi-définie positive
ni semi-définie négative, et conséquemment x∗ n’est ni un minimum ni un maximum local de f .
De plus, si la condition de second ordre est strictement satisfaite, on obtient la condition suffisante suivante.

Condition suffisante de second ordre.


Soit x∗ ∈ Rn . Si ∇ f (x∗ ) = 0, et si yT ∇2 f (x∗ )y > 0 pour tout y ∈ Rn \ {0} (c’est-à-dire, la matrice Hessienne
∇2 f (x∗ ) est définie positive), alors x∗ est un minimum local de la fonction f sur Rn .

Nous pouvons spécialiser les conditions d’optimalités de deuxième ordre aux fonctions de deux variables
(voir les exercices).
Pour s’attaquer à un problème d’optimisation, on procèdera de la façon suivante. En un premier temps, on
utilisera les conditions nécessaires du premier ordre pour identifier tous les points critiques de f . C’est-à-dire,
6

on trouvera tous les points où le gradient s’annule. Ensuite, pour chacun de ces points, on évaluera la matrice
des dérivées secondes, et on utilisera les conditions d’optimalité de deuxième ordre pour classer les points. On
ne pourra conclure seulement lorsque cette matrice sera inversible. Et dans ce cas, si elle est définie positive il
s’agira d’un minimum local, si elle est définie négative il s’agira d’un maximum local, et autrement (c’est-à-dire
si la matrice est indéfinie) il s’agira d’un point selle.

Exemple 2.1 Considérons la fonction de trois variables f (x) = 6x12 + x23 + 6x1 x2 + 3x22 + 14 x34 − 13 x33 . Nous allons
identifier tous les points critiques de cette fonction, et allons utiliser les conditions d’optimalité afin de déterminer
leur nature (minimum, maximum ou point de selle). Le gradient et la matrice Hessienne de cette fonction sont
   
12x1 + 6x2 12 6 0
∇ f (x) =  3x22 + 6x1 + 6x2  et ∇2 f (x) =  6 6x2 + 6 0 .
x33 − x32 0 0 3x32 − 2x3

• Étape 1: Identification des points critiques.


La condition nécessaire de premier ordre ∇ f (x1 , x2 , x3 ) = (0, 0, 0)T nous permet d’identifier quatre points
critiques: xA = (0, 0, 0)T , xB = (0, 0, 1)T , xC = ( 12 , −1, 0)T et xD = ( 12 , −1, 1)T .

• Étape 2: Nature des points critiques.


Les conditions de deuxième ordre nous permettent de classer certains de ces points critiques.

Point ∇2 f −∇2 f
Conclusion
critique d1 d2 d3 e1 e2 e3
xA = (0, 0, 0)T 12 36 0 -12 36 0 matrice singulière ⇒ indéterminé
xB = (0, 0, 1)T 12 36 36 -12 36 36 di > 0 ⇒ minimum local
xC = ( 12 , −1, 0)T 12 -36 0 -12 -36 0 matrice singulière ⇒ indéterminé
matrice inversible
xD = ( 12 , −1, 1)T 12 -36 -36 -12 -36 36
et di 6> 0, ej 6> 0 ⇒ point selle

Cette analyse permet d’identifier un minimum local XB et un point selle xD . Une analyse plus approfondie serait
nécessaire pour classer les deux points critiques xA et xC .

2.2 Méthode du gradient


À partir d’un point initial connu x0 ∈ Rn , la méthode du gradient génère une suite de points x0 , x1 , x2 , . . . qui on
l’espère s’approchera d’un minimum local d’une fonction f . Nous désignerons par xk ∈ Rn le point considéré à
l’itération k. Notez qu’ici le nombre k désigne un indice, et non un exposant.
À l’itération k, la méthode du gradient considère une solution xk ∈ Rn et une direction d k ∈ Rn dans laquelle
la fonction f décroı̂t, c’est-à-dire que d k est une direction de descente pour f en xk . Nous étudierons dans cette
section la question de trouver un scalaire α > 0 qui est tel que la valeur de f (xk + αd k ) est petite. Pour ce faire,
nous définissons une fonction d’une seule variable h : R → R comme suit

h(α) = f (xk + αd k ).

On observe que puisque d k est une direction de descente pour f alors h0 (0) < 0. Idéalement, la recherche dans la
direction d k consiste à déterminer une petite valeur de α > 0 telle que h0 (α) = 0.
7

La méthode du gradient pour la résolution du problème d’optimisation (2) sans contraintes peut s’écrire de la
façon suivante.

MÉTHODE DU GRADIENT (pour un problème de minimisation)

• I NITIALISATION:
Soit x0 ∈ Rn un estimé initial de la solution. Poser le compteur k ← 0.

• É VALUATION DU GRADIENT:
Calculer la direction d k = −∇ f (xk ). Si kd k k = 0 alors on termine avec un point critique xk . Sinon on
poursuit à la prochaine étape.

• R ECHERCHE DANS LA DIRECTION DE DESCENTE d k :


Soit xk+1 la solution produite par la résolution du problème de minimisation à une variable

min h(α) où h(α) = f (xk + αd k ).


α≥0

Poser k ← k + 1, et retourner à l’étape précédente.

Il est mentionné dans l’algorithme que d k = −∇ f (xk ) 6= 0 est une direction de descente, c’est-à-dire une
direction dans laquelle la valeur de la fonction f décroı̂t. En effet, par le développement de Taylor on obtient pour
des petites valeurs de α > 0

f (xk + αd k ) ≈ f (xk ) + α(d k )T ∇ f (xk )


= f (xk ) − αk∇ f (xk )k2 < f (xk ).

Exemple 2.2 Considérons la minimisation de la fonction f (x) = (a − 2)2 + (b − 3)2 , avec x = (a, b)T , à partir de
la solution initiale x0 = (a0 , b0 )T = (0, 0)T . La première itération de la méthode du gradient avec une recherche
dans la direction d k se calcule comme suit. Posons k = 0 et
2(ak − 2)
   
k k 4
d = −∇ f (x ) = − k = .
2(b − 3) 6

On cherche la valeur du scalaire positif α qui minimise

h(α) = f (xk + αd k ) = f (4α, 6α) = (4α − 2)2 + (6α − 3)2 .

On peut aisément minimiser la fonction h, car c’est une simple fonction quadratique. En effet, la condition
nécessaire du premier ordre ∇h(α) = 0 assure que α = 21 et donc

1 1
x1 = x0 + d 0 = (0, 0)T + (4, 6)T = (2, 3)T .
2 2
De plus la condition suffisante du second ordre assure que ce point est un minimum local de h.
La deuxième itération de la méthode du gradient donne d 1 = −∇ f (x1 ) = (0, 0)T . L’algorithme arrête donc à
un point critique, et comme ∇2 f (x) est définie positive pour toute valeur de x (les déterminants des sous-matrices
principales sont 2 > 0 et 4 > 0) le point x1 est un minimum global.

Dans l’exemple précédent la direction opposée au gradient d k = −∇ f (xk ) pointait dans la direction du mini-
mum global, d’où la convergence immédiate. Normalement la convergence requiert beaucoup plus d’itérations.
8

Lorsque la minimisation de la fonction h est faite de façon exacte, les directions consécutives d k et d k+1
générés par la méthode du gradient sont nécessairement perpendiculaires. En effet, lorsqu’on prend un pas op-
timal on va s’arrêter de façon tangente à une courbe de niveau. À l’itération suivante, on va se déplacer dans la
direction du gradient, perpendiculaire à cette courbe de niveau. La figure 2 illustre les trois premiers pas produits
par la méthode du gradient sur un exemple où seules les courbes de niveau de f sont données.

Figure 2: Les directions produites par la méthode du gradient sont perpendiculaires.

Remarque: La méthode du gradient peut s’appliquer directement à un problème de maximisation d’une fonction
f . Il suffit alors de prendre d = ∇ f (xk ) (au lieu du négatif du gradient), et de maximiser la fonction h(α) (au lieu
de la minimiser).

2.3 Exercices
De brèves solutions aux exercices se trouvent à la fin du document.

Exercice 2.1

Spécialisez les conditions d’optimalités de deuxième ordre pour classer le point critique (a, b) d’une fonction
f (x, y) deux fois différentiable sans contraintes.
9

Exercice 2.2

Soit la fonction f (x, y) = 3x − x3 − 2y2 + y4 .


a) Sans faire l’analyse de points critiques indiquez si la fonction possède un minimum global et un maximum
global.
b) Identifiez tous les points critiques de f (x, y) et déterminez leur nature.
c) Parmi les points suivants, lequel peut être obtenu en une itération de l’application de la méthode du gradient
au problème de maximisation à partir du point (x0 , y0 ) = (0, 12 ).

(x1 , y1 ) = (−1, 1) (x1 , y1 ) = (1, 52 )


(x1 , y1 ) = (−1, − 32 ) (x1 , y1 ) = (1, 0).

Exercice 2.3

On applique la méthode du gradient afin de minimiser une fonction de trois variables f (x) à partir du point
x0 = (2, 2, 1)T . On obtient que le gradient évalué en ce point est ∇ f (2, 2, 1) = (3, 3, −1)T . À partir du graphe
ci-dessous,

Figure 3: Fonction h(α) = f (2 − 3α, 2 − 3α, 1 + α).

a) Estimez f (x0 ).
b) Donnez la valeur de la dérivée directionnelle de f en x0 dans la direction v = (−3, −3, 1)T .
c) Donnez les coordonnées du prochain point, x1 , produit par la méthode du gradient.
d) Estimez f (x1 ).
e) Donnez la valeur de la dérivée directionnelle de f en x1 dans la direction v = (−3, −3, 1)T .
10

Exercice 2.4
On utilise la méthode du gradient afin de résoudre un problème de minimisation sans contraintes d’une fonction
f (x, y). Chacune des trois figures suivantes représente des courbes de niveau de f , ainsi qu’une suite de points
générés par la méthode du gradient. Les échelles en x et y sont identiques. Quels points sont ceux produits par la
méthode du gradient si celui d’indice zéro est le point de départ.

i) P0 , P1 , P2 , P3 ii) Q0 , Q1 , Q2 , Q3 iii) R0 , R1 , R2 , R3 .

Figure 4: Méthode du gradient.

Exercice 2.5
Répondez par VRAI ou FAUX.
a) (x, y, z) = (0, 0, 0) est un point de selle de la fonction f (x, y, z) = x4 − y4 + z4 .
 
1 0 0
b) Soit x̂ ∈ R3 un point critique d’une fonction différentiable tel que ∇2 f (x̂) =  0 2 3 .
0 3 0
Alors x̂ est nécessairement un point de selle.
11

3 Optimisation sous contraintes


Dans la plupart des problèmes d’optimisation, les variables ne sont pas libres de prendre n’importe quelle valeur.
Elles sont habituellement restreintes à un domaine. Dans cette section, nous nous penchons sur les problèmes
sous la forme générale (1). Le résultat suivant, cité sans preuve, sera fréquemment utilisé.

Théorème 3.1 Si l’ensemble S est fermé et borné, et si la fonction f est continue sur S, alors il existe un
minimum global atteint en un point de S et un maximum global atteint en un point de S.

3.1 Multiplicateur de Lagrange pour une seule contrainte d’égalité


Dans cette section nous considérons le cas particulier du problème d’optimisation (1)
min f (x)
x
s.c. x ∈ S
S = {x ∈ Rn : h(x) = k}
où f : Rn → R et h : Rn → R sont différentiables, et où k est une constante donnée.
Lagrange a montré qu’à l’optimalité, le vecteur gradient de la fonction objectif f doit être perpendiculaire à
la surface de niveau de la contrainte.

Condition nécessaire de premier ordre de Lagrange.


Si x∗ est un minimum local de la fonction f dans S, et si ∇h(x∗ ) 6= 0, alors h(x∗ ) = k, et de plus il existe un
scalaire λ ∈ R pour lequel

∇ f (x∗ ) = λ∇h(x∗ ).

Un point x∗ satisfaisant cette condition est appelé un point critique.


Exemple 3.2 Soit le problème d’optimisation suivant :
min 3x1 − 2x2
x
s.c. x12 + 2x22 = 44.
La condition nécessaire d’optimalité fait en sorte que l’on doive résoudre le système:
h(x∗ ) = k : (x1∗ )2 + 2(x2∗ )2 = 44

∂ f (x∗ ) ∗
)
∂x1 = λ ∂h(x
∂x1 : 3 = λ(2x1∗ )

∂ f (x∗ ) ∗
)
∂x2 = λ ∂h(x
∂x2 : −2 = λ(4x2∗ )
Les solutions de ce système sont
1 1
(x1 , x2 , λ) = (6, −2, ) avec f (6, −2, ) = 22;
4 4
−1 −1
(x1 , x2 , λ) = (−6, 2, ) avec f (−6, 2, ) = −22.
4 4
12

Il n’y a pas d’autres points critiques et donc le théorème 3.1 nous assure que (6, −2, 41 ) est le maximum global et
que (−6, 2, −14 ) est le minimum global.

Lorsque nous résolvons un problème d’optimisation on obtient une valeur de λ en plus de la solution optimale.
Cette valeur peut être interprétée de la façon suivante. Considérons la fonction d’une variable v(k) qui, pour un k
donné retourne la valeur optimale du problème

min f (x)
x
s.c. h(x) = k.

Comment est-ce que la fonction v varie lorsque la valeur k varie ? Pour un k donné, définissons x(k) ∈ Rn comme
étant la solution optimale du problème ci-dessus, c’est-à-dire,

v(k) = f (x(k)) et h(x(k)) = k.


∂f ∂h
Observons aussi que ∂xi = λ ∂xi
pour i = 1, 2, . . . , n. Pour mesurer la variation de v(k), on cherche alors à calculer

dv ∂ f dx1 ∂ f dx2 ∂ f dxn


v0 (k) = = + +...+
dk ∂x1 dk ∂x2 dk ∂xn dk

∂h dx1 ∂h dx2 ∂h dxn


= λ + λ +...+ λ
∂x1 dk ∂x2 dk ∂xn dk
 
∂h dx1 ∂h dx2 ∂h dxn dh
= λ + +...+ = λ = λ.
∂x1 dk ∂x2 dk ∂xn dk dk

Et donc le multiplicateur de Lagrange λ représente le taux de variation de la valeur optimale v lorsque k augmente.
On peut alors approcher la fonction v par son polynôme de Taylor de degré un P1 (k) autour de k0 :

v(k) ≈ P1 (k) = v(k0 ) + v0 (k0 )(k − k0 ) = v(k0 ) + λ(k − k0 ).

Exemple 3.3 (suite de l’exemple 3.2...) Reprenons le dernier exemple. Estimez la valeur optimale du problème
d’optimisation où la contrainte x2 + 2y2 = 44 est remplacée par x2 + 2y2 = 45.
Ici, k0 = 44 et k = 45. Au minimum on avait λ = v0 (44) = −1 4 et f = v(44) = −22. Donc la valeur optimale
serait approximativement
!
min 3x − 2y
v(45) = x,y ≈ P1 (45) = v(44) + v0 (44)(45 − 44) = −22.25.
s.c. x2 + 2y2 = 45

3.2 Optimisation sous une contrainte d’inégalité


Dans cette section nous considérons le cas particulier du problème d’optimisation (1)

min f (x)
x
s.c. x ∈ S

S = {x ∈ Rn : h(x) ≤ k}
avec f : Rn → R et h : Rn → R sont différentiables, et où k est une constante donnée.
Encore une fois, le théorème 3.1 nous assure que si S est fermé et borné alors il contiendra à la fois le minimum
et le maximum global (remarquez il est possible qu’il y ait plus d’un minimum ou maximum global). Il y a deux
13

possibilité pour chacun de ceux-ci. Ou bien ils appartiendront à l’intérieur strict de S ou bien ils se trouveront sur
la frontière de S (l’intérieur strict de S est {x ∈ Rn : h(x) < k}, et la frontière de S est {x ∈ Rn : h(x) = k}).
L’analyse de ce problème se fait en trois étapes. Premièrement nous allons identifier tous les points où le
gradient de f s’annule, et allons retenir seulement ceux appartenant à S. Deuxièmement nous allons appliquer la
méthode du multiplicateur de Lagrange où nous remplacerons l’inégalité par une égalité. Enfin, le minimum et le
maximum global sera alors l’un des points énumérés. Il suffira donc d’évaluer f en tous ces points.

Exemple 3.4 Résolvons !


max (x − 1)2 + (y − 2)2
x,y
s.c. x2 + y2 ≤ 45.

• Étape 1: Points critiques à l’intérieur strict de S.


Trouvons les points où ∇ f (x, y) = (0, 0):
∂ f (x,y) ∂ f (x,y)
∂x = 2(x − 1) = 0 ⇒ x = 1; ∂y = 2(y − 2) = 0 ⇒ y = 2.
En ce point h(1, 2) = 12 + 22 = 5 < 45, et donc le point critique (1, 2) se trouve à l’intérieur strict du
domaine S.
• Étape 2: Points critiques sur la frontière de S.
Multiplicateur de Lagrange :
h(x, y) = k : x2 + y2 = 45

∂ f (x,y)
∂x = λ ∂h(x,y)
∂x : 2(x − 1) = 2λx

∂ f (x∗ )
∂y = λ ∂h(x,y)
∂y : 2(y − 2) = 2λy

Les solutions sont (x, y) = (3, 6) et (x, y) = (−3, −6), qui sont alors deux points critiques.
• Étape 3: Évaluation de f aux points critiques.
f (1, 2) = 0, f (3, 6) = 20, f (−3, −6) = 80.
Ainsi la valeur minimale de f est 0 et la valeur maximale est de 80.

3.3 Multiplicateurs de Lagrange pour plusieurs contraintes d’égalité


Considérons maintenant la formulation générale du problème d’optimisation (1)
min f (x)
x
s.c. x ∈ S

S = {x ∈ Rn : h j (x) = k j , j = 1, 2, . . . , m}
avec f : Rn → R et h j : Rn → R sont différentiables, et où les k j sont des constantes données.

Condition nécessaire de premier ordre de Lagrange.


Si x∗ est un minimum local de la fonction f dans S où {∇h j (x∗ ) : j = 1, 2, . . . , m} est un ensemble linéairement
indépendant, alors h j (x∗ ) = k j pour j = 1, 2, . . . , m, et de plus il existe un vecteur λ ∈ Rm pour lequel
m
∇ f (x∗ ) = ∑ λ j ∇h j (x∗).
j=1
14

Exemple 3.5 Soit les trois problèmes d’optimisation suivants :

min x1 − x2 + x3
x
s.c. x12 + x22 + x32 = 1
x12 + (x2 − 1)2 + (x3 − 2)2 = 4,

min x1 − x2 + x3 min x1 − x2 + x3
x x
s.c. x12 + x22 + x32 = 1.01 et s.c. x12 + x22 + x32 = 1
2 2 2
x1 + (x2 − 1) + (x3 − 2) = 4 x12 + (x2 − 1)2 + (x3 − 2)2 = 3.9.

Résoudre le premier, et donnez un estimé de la valeur optimale des deux autres. La condition nécessaire
d’optimalité fait en sorte que l’on doive résoudre le système:

h1 (x∗ ) = k1 : (x1∗ )2 + (x2∗ )2 + (x3∗ )2 = 1

h2 (x∗ ) = k2 : (x1∗ )2 + (x2∗ − 1)2 + (x3∗ − 2)2 = 4

∂ f (x∗ ) 1 (x )

2 (x
∗)
∂x1 = λ1 ∂h∂x 1
+ λ2 ∂h∂x 1
: 1 = 2λ1 x1∗ + 2λ2 x1∗

∂ f (x∗ ) 1 (x )

2 (x
∗)
∂x2 = λ1 ∂h∂x 2
+ λ2 ∂h∂x 2
: −1 = 2λ1 x2∗ + 2λ2 (x2∗ − 1)

∂ f (x∗ ) 1 (x )

2 (x
∗)
∂x3 = λ1 ∂h∂x 3
+ λ2 ∂h∂x 3
: 1 = 2λ1 x3∗ + 2λ2 (x3∗ − 2).

La troisième équation assure que x1∗ 6= 0, et donc on peut diviser par cette variable pour obtenir 2λ1 + 2λ2 = 1
x1∗ .
En substituant dans les quatrième et cinquième équations, on obtient

x2∗ x3∗ 2x2∗ x3∗


−1 = ∗ − 2λ2 et 1 = ∗ − 4λ2 et donc 4λ2 = ∗ + 2 = ∗ − 1.
x1 x1 x1 x1

Prenons maintenant la différence entre les deux premières équations, et simplifions les termes quadratiques. On
x∗
obtient alors que les solutions doivent satisfaire l’égalité linéaire x2∗ + 2x3∗ = 1. et donc on peut fixer x3∗ = 21 − 22 .
2x2∗ x3∗ 6x1∗
En substituant cette valeur dans x1∗ +2 = x1∗ − 1 on trouve x2∗ = 15 − 5 . Les troisième et quatrième équations
donnent les multiplicateurs
1 2 1 1
λ1 = − ∗ et λ2 = − + .
10 5x1 10 10x1∗
14(x∗ )2
q q
La première équation se simplifie en 51 + 51 = 1 et admet les deux solutions − 27 et 27 . Le tableau 1 donne
les valeurs des autres variables. Il n’y a pas d’autres points critiques et donc le théorème 3.1 assure que la
première solution est le maximum global et la deuxième le minimum global.
∗ x2∗ x3∗ f (x∗ )
qx1 √ √ √
λ1

λ2

− 27 6
35 14 +
1
5
3
− 35 14 + 25 − 15 14 + 10
1 1
− 20 1
14 − 10 − 25 14 + 15 ≈ −1.2967
q
2 6
√ 1 3
√ 2 1
√ 1 1
√ 1 2
√ 1
7 − 35 14 + 5 35 14 + 5 5 14 + 10 20 14 − 10 5 14 + 5 ≈ 1.6967

Tableau 1: Solutions
15

Le deuxième problème d’optimisation est identique au premier, sauf que le terme k1 passe de 1 à 1.1. On peut
alors estimer que la valeur optimale du second problème est

v1 (1.1) ≈ v1 (1) + v01 (1)(1.1 − 1) = v1 (1) + λ1 (1.1 − 1)


2√ 1√
 
1 1 1
= − 14 + + − 14 +
5 5 5 10 10
≈ −1.3615.

Le calcul exact de la valeur optimale pour k1 = 1.1 donne −1.3593.


Le troisième problème d’optimisation est identique au premier, sauf que le terme k2 passe de 4 à 3.9. On peut
alors estimer que la valeur optimale du troisième problème est

v2 (3.9) ≈ v2 (4) + v02 (4)(3.9 − 4) = v2 (4) + λ2 (3.9 − 4)


2√ 1√
 
1 1 −1
= − 14 + + − 14 −
5 5 20 10 10
≈ −1.2680.

Le calcul exact de la valeur optimale pour k2 = 3.9 donne −1.2674.

3.4 Exercices
Exercice 3.1

Le diagramme de courbes de niveau ci-dessous illustre au point P, le minimum qu’atteint f (x, y) sous la contrainte
g(x, y) = 1. La courbe en trait plein représente la courbe de niveau f (x, y) = 10 et la courbe en pointillé la courbe
de niveau g(x, y) = 1. Les gradients sont également représentés.

Figure 5: Courbes de niveau.

a) En observant le graphique, déterminez la valeur du multiplicateur de Lagrange λ associé au point P.

b) Donnez une approximation de la valeur minimale qu’atteint la fonction f (x, y) sous la contrainte g(x, y) =
0.9.
16

Exercice 3.2

Trouvez les valeurs minimale et maximale de


a) f (x, y) = xy sous la contrainte x2 + 2y2 ≤ 1;

b) f (x, y, z) = x + y + z sous les contraintes x2 + y2 + z2 = 1 et x − y = 1.

Exercice 3.3

Une ville B est à 10 km à l’est d’une ville A et une ville C est à 3 km au nord de la ville B. Voir la figure.

Figure 6: Villes A, B et C.

On veut réaliser un projet d’autoroute entre les villes A et C. Le coût de 1 km d’autoroute le long de la route
existante entre A et B est de 400 000 $, alors que le coût de 1 km d’autoroute ailleurs est de 500 000 $. On désire
déterminer ou doit se situer le point pivot P (c’est-à-dire, à quelle distance de A, l’autoroute doit bifurquer pour
être construite en plein champ) pour minimiser le coût de réalisation de l’autoroute.

a) Formulez cette question en un problème de minimisation d’une fonction de deux variables f (x, y) soumise
à une contrainte non linéaire h(x, y) = 9. (Ne pas résoudre)

b) Résolvez le problème obtenu en a) par la méthode des multiplicateurs de Lagrange.

c) On mesure à nouveau, et on réalise que la distance entre B et C est de 2.9 km et non 3 km. Estimez le coût
optimal en vous servant du résultat en b).

Exercice 3.4

Deux générateurs utilisent du gaz naturel pour produire de l’électricité. L’énergie produite est de 2 ln(1 + x)
pour le générateur 1 et de 4 ln(1 + y) pour le générateur 2, où x et y sont les quantitées de gaz brûlées dans les
générateurs 1 et 2. Le volume total de gaz disponible est de 19.

a) Modélisez la question d’identifier les quantitées x et y maximisant l’énergie totale comme un problème
d’optimisation soumise à une contrainte d’égalité. (Ne pas résoudre)

b) Résolvez le problème obtenu en a) par la méthode des multiplicateurs de Lagrange.

c) Suite à une modification de l’offre, on se rend compte que le volume total de combustible est de 19.5 au lieu
de 19. Sans résoudre le nouveau problème d’optimisation, estimez l’augmentation de la quantité d’énergie
produite.
17

Solutions

Section 2 : Optimisation sans contraintes


00
2. 1 Soit (a, b) un point critique. Alors ∇ f (a, b) = (0, 0). Posons d1 = fxx (a, b) le déterminant de la première
00 00 00
matrice principale du hessien, et d2 = fxx (a, b) fyy (a, b) − ( fxy (a, b))2 le déterminant de la deuxième matrice
principale.

Si d1 > 0 et d2 > 0, alors (a, b) est un minimum local de f ;


si d1 < 0 et d2 > 0, alors (a, b) est un maximum local de f ;
si d2 < 0, alors (a, b) est un point de selle de f ;
si d2 = 0, alors le test n’est pas concluant pour classer (a, b).

Remarquez que l’encadré est équivalent à celui de la page 812 du livre. Le livre utilise cependant une
terminologie différente, en affirmant que f (a, b) est un minimum ou un maximum ou un point de selle, Nous
adoptons la terminologie plus courante affirmant que c’est plutôt (a, b) qui est le minimum ou un maximum ou
un point de selle.

2. 2 a) Non
b) (1, 0) max local; (−1, 0) point selle; (1, 1) point selle;
(1, −1) point selle; (−1, 1) min local; (−1, −1) min local.
c) (1, 0).

2. 3 a) 22.3; b) − 19; c) ( 45 , 54 , 75 )T ; d) 20; e) 0.

2. 4 i).

2. 5 a) VRAI b) VRAI.

Section 3 : Optimisation sous contraintes


3. 1 a) − 12 ; b) 10.05.
√ √
2 2
3. 2 a) (min, max) = (− 4 , 4 ); b) (min, max) = (− √36 , √36 ).
!
min 4 × 105 (10 − y) + 5 × 105 x
3. 3 a) x,y ; b) y = 4; c) f ≈ 4 870 500$.
s.c. x2 − y2 = 9
!
max 2 ln(1 + x) + 4 ln(1 + y)
3. 4 a) x,y ; b) (x, y) = (6, 13); c) 17 .
s.c. x + y = 19.

Vous aimerez peut-être aussi