Vous êtes sur la page 1sur 41

Université Ibn Zohr Faculté Polydisciplinaire Ouarzazate

Module Modélisation
Polycopie pédagogique

Filière Sciences Mathématiques et Informatiques (Semestre 6).

Par
Abdelkrim EL MOUATASIM Professeur Habilité

Années Universitaires : 2015–2021


Chapitre 1

Outils d’optimisation

1.1 Calcul différentiel


Les notations
Espaces, points, fonctions :

— V, W, espaces vectoriels normés. Ex. : Rn , Mn (R), C([0, 1]), C1 ([0, 1])...


— x, y, u des éléments de V ou W. Ex. : x = (x1 , ..., xn )t , u : u(t) = sin t.
— f : application de V dans W. Ex. : V = W = Mn (R), f (M) = M−1 .
— F : applications de V dans R. Ex. : V = C1 ([0, 1]), F(u) =
R1 p
0
1 + (u (t)) dt.
0 2

Définition 1 (Différentielle au sens de Fréchet) Une application f (x) de V dans W est différentiable en
x ∈ V si il existe une application linéaire continue de V dans W, notée D f (x) telle que

∀h ∈ V f (x + h) = f (x) + D f (x).h + (h)khk

avec limh→0 k(h)k = 0.

Exemple 1 Soit V = Mn (R) l’ensemble des matrices réelles de dimension n et f (M) = M2 .


Il suffit de calculer
f (M + h) = (M + h)(M + h) = M2 + (Mh + hM) + h2
et de ne retenir que les termes linéaires en h :

D f (M).h = Mh + hM

Exemple 2 Soit u ∈ V = C([0, 1]) et


1
u4
Z
F(u) = dx
0 4
Il vient, si h ∈ V
1 1
(u + h)4 u4
Z Z
F(u + h) = dx = + u3 h + ... dx
0 4 0 4
où les termes suivants sont d’ordre supérieur ; d’où la différentielle
Z 1
DF(u).h = u3 h dx
0

1
Définition 2 (Différentielle au sens de Gâteaux) Une fonction F(x) de V dans R est une fonction diffé-
rentiable au sens de Gâteaux en x ∈ V si il existe une forme linéaire sur V, notée DF(x), telle que
d
∀h ∈ V F(x + λh)|λ=0 = DF(x).h (1.1)

Theorem 1 (Lien avec Fréchet) Si F est différentiable au sens de Fréchet, F est différentiable au sens de
Gâteaux.

Exemple 3 Soit V = Rn
1 X x4j
f (x) = hAx, xi +
2 4
j

d X
D f (x).h = f (x + th)|t=0 = hAx, hi + x3j h j
dt
j

D f (x).h = hAx, hi + hx3 , hi = hAx + x3 , hi

Exemple 4 Soit V = Rn et f (x) = Ax + x3 , où A est une matrice. Soit ∆(x) la matrice diagonale telle que
∆i,i = 3x2i .
d
D f (x).h = f (x + th)|t=0 = Ah + ∆(x)h
dt
Définition 3 (Gradient) Soit V un espace de dimension finie muni d’un produit scalaire h·, ·i. Il existe un
vecteur, le gradient, noté ∇ F(x), tel que

DF(x).h = h∇ F(x), hi

:
Si V = Rn et hx, yi =
P
i xi yi on retrouve la définition usuelle du gradient

∂F ∂F ∂F t
∇ F(x) = ( , ..., , ..., )
∂x1 ∂xi ∂xn
le gradient définit la direction de plus grande pente ⊥ à la surface équipoten-
tielle.

Exemple 5
D f (x).h = hAx + x3 , hi
∇ F(x) = Ax + x3

Définition 4 (Matrice jacobienne) Si V = W = Rn la différentielle D f (x) est une application linéaire


représentée donc par une matrice J f (x), appelée matrice jacobienne, de coefficients
∂ fi (x)
J f (x)i,j =
∂x j

Exemple 6 Soit V = Rn et f (x) = Ax + x3 , où A est une matrice.

D f (x).h = Ah + ∆(x)h = (A + ∆(x))h

J f = A + ∆(x)

2
Soit V = Rn et F(x) une fonction différentiable en tout point. Si f (x) = F0 (x) = ∇F(x) est une application
différentiable de Rn dans Rn , la matrice jacobienne J f (x) est symétrique .

Définition 5 (Hessien) Le Hessien de la fonction F(x), supposée deux fois différentiable, est la matrice HF(x)
telle que
d2
F(x + λh)λ=0 = hHF(x)h, hi
dλ2
Ce qui implique
∂2 F(x)
HF(x)i, j =
∂xi x j

Exemple 7 Soit V = Rn
1 X x4j
F(x) = hAx, xi +
2 4
j

f (x) = ∇ F(x) = Ax + x3
J f = A + ∆(x)
HF = A + ∆(x)

1.1.1 Applications
Définition 6 Une matrice réelle D de dimension n × n est semi-définie positive si xT Dx ≥ 0 pour tout x ∈ Rn .

Définition 7 Une matrice réelle D de dimension n×n est définie positive si xT Dx > 0 pour tout x ∈ Rn , x , 0.

Caractérisation des minimums


On note Br (x) la boule de centre x et de rayon r.

Theorem 2 Si x ∈ V est un minimum local de F(x) et (si V = Rn ) le Hessien HF(x) est semi-défini positif.
Réciproquement :
Si DF(x) = 0 et si il existe une boule Br (x) telle que le Hessien est semi-défini positif alors x est un minimum
local. Si
1
∀h ∈ V F(x + h) = F(x) + h∇ F(x), hi + hHF(x)h, hi + (h)khk2
2
où limh→0 k(h)k = 0.

1.1.2 Approximation
Dérivation numérique
• Méthode "naïve" :
f (x+h)− f (x)
f 0 (x) ≈ h
• en théorie, la formule est vraie pour h ≈ 0
• en pratique, attention au choix de h !
• h trop grand : calcul trop approximatif
• h trop petit : problèmes d’arrondis
Méthode des différences centrales
• Taylor :
2 3
• f (x + y) = f (x) + h f 0 (x) + h2! f 00 (x) + h3! f 000 (x) + . . .

3
• On connaît f sur un ensemble de points {xi , yi }
• h = xi+1 − xi
2 3
• f (x + h) → yi+1 = yi + h f 0 (xi ) + h2! f 00 (xi ) + h3! f 000 (xi ) + . . .
2 3
• f (x − h) → yi−1 = yi − h f 0 (xi ) + h2! f 00 (xi ) − h3! f 000 (xi ) + . . .
0 3 00 0 yi+1 −yi−1
f (x+h)− f (x−h) ⇒ yi+1 −yi−1 = 2h f (xi )+ 2h3! f (xi )+... en négligeant les termes en h3 : f (xi ) ≈ 2h
meilleure approximation que la méthode "naïve" (h3 /h2 )
Calcule des dérivées d’ordre supérieur :
00
f xi ?
0 2 00 3 000
yi+1 = yi + h f (xi ) + h2! f (xi ) + h3! f (xi ) + ...
0 2 00 3 000
yi−1 = yi − h f (xi ) + h2! f (xi ) − h3! f (xi ) + ...
2 00
yi+1 + yi−1 = 2yi + 2h2! f (xi ) + ...
• en négligeant les termes en h4 :

00 yi+1 − 2yi + yi−1


f (xi ) ≈
h2
• et pour les autres dérivées ?

1.2 Fonctions convexes et concaves


Soient a et b deux points dans Rn .
Le segment de droite joignant ces deux points est l’ensemble des points

{x ∈ Rn | ∃ λ ∈ [0, 1] tel que x = a + λ(b − a) = λb + (1 − λ)a}.

Une fonction est convexe si tout point sur le segment de droite joignant f (a) et f (b) se trouve au-dessus
du graphe de f :

f (λb + (1 − λ)a) ≤ λ f (b) + (1 − λ) f (a), (1.2)

pour toute paire de points (a, b).


Si cette inégalité est stricte, la fonction f est dite strictement convexe.
La Figure 1.1 illustre une fonction strictement convexe.
En remplaçant le sens de l’inégalité dans (1.2), la fonction f est dite concave :

f (λb + (1 − λ)a) ≥ λ f (b) + (1 − λ) f (a),

pour toute paire (a, b).


Si cette dernière inégalité est stricte, la fonction f est strictement concave.
La Figure 1.2 illustre une fonction strictement concave.

Propriété 1 Soit X ⊂ Rn un ensemble convexe. Soit f : X −→ R1 une fonction convexe. Si x̄ est un minimum
local de f sur X, alors x̄ est un minimum global de f sur X.

Démonstration : La preuve se fait par contradiction en supposant qu’il existe un point x̂ ∈ X tel que
f (x̂) < f (x̄). Puisque f est convexe, f (θx̂ + (1 − θ)x̄) ≤ θ f (x̂) + (1 − θ) f (x̄) < θ f (x̄) + (1 − θ) f (x̄) = f (x̄)
pour tout θ ∈ (0, 1]. Or pour θ > 0 suffisamment petit,

x(θ) = θx̂ + (1 − θ)x̄ ∈ B(x̄) ∩ X.

Ainsi f (x(θ)) < f (x̄) où x(θ) ∈ B(x̄) ∩ X, contredisant que x̄ est un minimum local de f sur X.

4
f (x)

f (b)

f (a)

x
a b

Figure 1.1 – Fonction convexe

f (x)
fonction concave

Figure 1.2 – Fonction concave

Propriété 2 (Inégalité du gradient ) Soit X ⊂ Rn un ensemble convexe. Soit f : X −→ R1 une fonction de


classe C1 /X. Alors f est convexe sur X si et seulement si

f (x) ≥ f (y) + ∇ f (y)T (x − y)

pour tout paire de points x, y ∈ X.

Corollaire :
Soit X ⊂ Rn un ensemble convexe. Soit f : X −→ R1 une fonction convexe
de classe C1 /X. Alors si ∇ f (x∗ )T (x − x∗ ) ≥ 0 pour tout x ∈ X, alors x∗ est un
minimum global de f sur X.

Démonstration : Le résultat découle directement de l’inégalité de gradient. En effet, puisque f est


convexe sur X, alors
f (x) ≥ f (x∗ ) + ∇ f (x∗ )T (x − x∗ )
pour tout x ∈ X. Puisque par hypothèse ∇ f (x∗ )T (x − x∗ ) ≥ 0, alors

f (x) − f (x∗ ) ≥ ∇ f (x∗ )T (x − x∗ ) ≥ 0

5
d’où f (x) ≥ f (x∗ ) pour tout x ∈ X. Donc x∗ est un minimum global de f sur X. Conséquence :

Si ∇ f (x∗ ) = 0, alors x∗ est un minimum global de f sur X.

1.2.1 Tests de convexité et de concavité


Supposons que f est une fonction deux fois dérivable d’une seule variable. Alors,
1. f est convexe si et seulement si

d2 f (x)
∀ x, ≥ 0;
dx2

2. f est strictement convexe si

d2 f (x)
∀ x, > 0;
dx2

3. f est concave si et seulement si

d2 f (x)
∀ x, ≤ 0;
dx2

4. f est strictement concave si

d2 f (x)
∀ x, < 0.
dx2

Supposons que f est une fonction deux dérivable de deux variables. Dans ce cas, nous utilisons
la Table 1.1 comme conditions nécessaires.
Convexe Strict. Concave Strict.
convexe concave
∂2 f (x1 ,x2 )
∂x21
≥0 >0 ≤0 <0
∂2 f (x1 ,x2 )
∂x22
≥0 >0 ≤0 <0
 2
∂ f (x1 ,x2 ) ∂ f (x2 ,x2 )
2 2
∂ f (x1 ,x2 )
2

∂x21
. ∂x2 − ∂x1 x2 ≥0 >0 ≥0 >0
2

Table 1.1 – Test de convexité et de concavité pour une fonction à deux variables deux fois dérivable

Ces tests se généralisent à des fonctions de plus de deux variables en utilisant le Hessien (la
matrice des dérivées secondes). Deux résultats supplémentaires sont utiles pour tester la convexité :
— une fonction qui s’exprime comme la somme de fonctions convexes (concaves) est convexe
(concave) ;
— l’opposé d’une fonction concave est convexe et vice-versa.
Pour les fonctions f de classe C2 , il existe un critère pour vérifier la convexité qui est basé sur le
Hessien ∇2 f .

Propriété 3 Soit X ⊂ Rn un ensemble convexe dont l’intérieur est non vide. Soit f : X −→ R1 une fonction
de classe C2 /X. Alors f est convexe sur X si et seulement si son Hessien ∇2 f est une matrice semi définie
positive pour tout x ∈ X.

6
1.2.2 Valeurs propres
Theorem 3 Une matrice symétrique définie positive possède des valeurs propres strictement positives.

Démonstration :
1. Supposons A symétrique définie positive. Soit λi une valeur propre associée au vecteur propre
xi . On a donc Axi = λi xi , et xTi Axi = λi xTi xi = λi kxi k2 > 0.
2. Réciproquement, si toutes les valeurs propres sont positives, on a pour tout vecteur propre xi
xTi Axi > 0. Ces derniers formant une base orthonormée, on écrit pour tout x , 0
 n T  n  n
X  X  X
xT Ax =  αi xi  A  αi xi  = α2i λi > 0.
i=1 i=1 i=1

1.3 Ensembles convexes


Un ensemble est convexe si, pour toute paire de points de l’ensemble, le segment de droite joignant
ces points est contenu dans l’ensemble. Il est possible de démontrer qu’un ensemble est convexe grâce
aux propriétés suivantes :
— si f est convexe, alors {x | f (x) ≤ b} est convexe ;
— si f est concave, alors {x | f (x) ≥ b} est convexe ;
— l’intersection d’ensembles convexes est convexe.

Exemple 8 (Wyndor Glass) Soit le problème d’optimisation suivant :

max z = 3x1 + 5x2


x

sous les contraintes

x1 ≤4 (usine 1)
2x2 ≤ 12 (usine 3)
3x1 + 2x2 ≤ 18 (usine 3)

x1 ≥ 0, x2 ≥ 0 (non-négativité)

Exemple 9 (Wyndor Glass) Modifions l’exemple Wyndor Glass en remplaçant certaines contraintes par une
contrainte non linéaire.

max z = 3x1 + 5x2


s.c. x1 ≤ 4
9x21 + 5x22 ≤ 216
x1 ≥ 0, x2 ≥ 0.

Le problème ainsi modifié peut se représenter comme sur la Figure 1.3.


Remarquons que l’objectif est concave (car linéaire) et que le domaine réalisable est convexe : c’est
un modèle de programmation convexe.
Dans le cas présent, la solution optimale est sur la frontière du domaine réalisable, mais ne correspond
pas à un coin (l’intersection de deux contraintes).

7
x2
8
7
(2, 6)
6
5
4 z = 36 = 3x1 + 5x2
domaine
3
réalisable
2
1
0 x1
0 1 2 3 4 5 6

Figure 1.3 – exemple Wyndor Glass

Modifions encore l’exemple Wyndor Glass, mais cette fois en remplaçant l’objectif lineaire par
une fonction non lineaire, comme illustré sur la Figure 1.4 :

max z = 126x1 − 9x21 + 182x2 − 13x22


x1 ≤ 4
2x2 ≤ 12
3x1 + 2x2 ≤ 18

Nous pouvons à nouveau remarquer que l’objectif est concave et que le domaine réalisable est
convexe : c’est aussi un modèle de programmation convexe. Ici, la solution optimale (8/3, 5) est sur la
frontière du domaine réalisable, mais ne correspond pas à un point extrême du domaine réalisable.
Considérons le même exemple, mais avec une fonction objectif différente, tel que représenté sur
la Figure 1.5 :

max z = 54x1 − 9x21 + 78x2 − 13x22


x1 ≤ 4
2x2 ≤ 12
3x1 + 2x2 ≤ 18

Il s’agit à nouveau d’un modèle de programmation convexe, avec comme solution optimale (3, 3),
laquelle se trouve à l’intérieur du domaine réalisable. La fonction objectif est la somme de deux
fonctions d’une seule variable. Si nous annulons les dérivées de chacune de ces fonctions, nous
obtenons la solution unique (3, 3), qui se trouve à l’intérieur du domaine ; c’est donc nécessairement
la solution optimale.
Revenons sur la fonction objectif initiale, mais introduisons une contrainte non-linéaire, qui définit

8
x2

9
8
7
6
(8/3, 5)
5
4
domaine z = 907
3 z = 857
réalisable z = 807
2
1
0 x1
0 1 2 3 4 5 6 7 8 9

Figure 1.4 – exemple Wyndor Glass - cas 2

un domaine réalisable non-convexe, comme illustré sur la Figure 1.6 :

max z = 3x1 + 5x2


s.c. x1 ≤ 4
x2 ≤ 7
8x1 − x21 + 14x2 − x22 ≤ 49
x1 ≥ 0, x2 ≥ 0.

Le problème ainsi modifié peut se représenter comme sur la Figure 1.6.


Dans ce modèle de programmation non convexe, nous remarquons la présence de deux maxima
locaux :
— x est un maximum local si f (x) ≥ f (a) pour tout a réalisable suffisamment près de a ;
— (4, 3) et (0, 7) sont des maxima locaux, mais x∗ = (0, 7) est la maximum global : f (x) ≥ f (a) pour
tout a réalisable.
Les méthodes classiques de programmation non-linéaire permettent d’identifier un maximum local,
mais pas nécessairement le maximum global, alors qu’en programmation convexe, tout maximum
local est global.

9
x2

7
6
z = 117
5 z = 162
4 z = 189
z = 198
3
(3, 3)
2
1
0 x1
0 1 2 3 4 5 6 7

Figure 1.5 – exemple Wyndor Glass - cas 3

x2

8
7 (0.7) = maximum global
6
5
4 z = 35 = 3x1 + 5x2

3 (4.3) = maximum local


domaine
2 z = 27 = 3x1 + 5x2
réalisable
1
0 x1
0 1 2 3 4 5 6

Figure 1.6 – exemple Wyndor Glass - cas 4

10
Chapitre 2

Optimisation sans contrainte

2.1 Introduction
2.1.1 Formulation générale des problèmes d’optimisation
La forme générale d’optimisation est la suivante :



 min f (x)
 s.c. g(x) ≤ 0


(2.1)
h(x) = 0




x ∈ Rn .

Il va de soi que la plupart des problèmes réels ou industriels ne sont pas initialement sous la forme
proposée. C’est pourquoi un des premiers travaux consiste en général à mettre le problème initial
sous une forme standard. Par exemple, un problème donné sous forme

maxn g(x),
x∈R

se mettra sous la forme standard d’optimisation sans contraints de (2.1) en posant f (x) = −g(x).
Considérons tout d’abord le cas d’un modèle de programmation non-linéaire dans lequel il n’y a
aucune contrainte :

min f (x1 , x2 , . . . , xn ). (2.2)

Il est alors possible de montrer que si x∗ = (x∗1 , x∗2 , . . . , x∗n ) est un minimum local, alors

∂ f (x∗ )
= 0, j = 1, 2, . . . , n.
∂x j

En d’autres mots, lorsque la dérivée s’annule en un point donné, ce point peut être un maximum
local, mais l’inverse n’est pas nécessairement vérifié : ce point peut aussi être un minimum local ou
un point de selle. Par contre, si f est convexe, un point où la dérivée s’annule est nécessairement un
minimum global. De plus, si f est strictement convexe, un tel minimum global est unique.
Dans le cas d’une fonction non convexe, afin de trouver un minimum global, il faut
— identifier tous les minima locaux ;
— identifier celui de plus petit valeur ;
— vérifier que la fonction est bornée inférieurement (sinon, il n’y a pas de minimum global).
Le problème est qu’identifier tous les minima locaux peut être extrêmement difficile.

11
2.1.2 Résultats d’existence
Considérons notre problème d’optimisation (2.1), que l’on écrira un peut différemment, en mettant
les contraintes sous la forme x ∈ K ⊂ Rn :
min f (x). (2.3)
x∈K

Définition 8 Une ensemble K ⊂ Rn est dit compact si, de toute suite {xk }, où xk ∈ K, ∀k, on peut extraire
une sous-suite convergente.

Theorem 4 Un ensemble K ⊂ Rn est compact si et seulement si il est fermé et borné.

Exemple 10 Dans R, les intervalles fermés du type [a, b] sont compacts. La notion de fermeture signifie
qu’une suite {xk }, où xk ∈ K, ∀k, doit converger vers une limite x ∈ K. Pour illustrer sur un exemple qu’un
intervalle ouvert dans R ne peut pas être compact : soit K = ] 0, 1 ] et la suite xk = 1k , on a bien xk ∈ K mais
lim xk = 0 < K.
k→0

Théoremes généraux d’existence


Theorem 5 Si f : K ∈ Rn −→ R est continue et si de plus K est un ensemble compact, alors le problème (2.3)
admet une solution optimale x∗ ∈ K, qui vérifie donc
f (x∗ ) ≤ f (x), ∀x ∈ K.

Theorem 6 Soit f : Rn −→ R une fonction continue sur Rn . Si


lim f (x) = ∞,
kxk→∞

alors (2.1) admet une solution optimale x∗ .

Démonstration : Soit x0 ∈ Rn . Puisque lim f (x) = ∞ il existe M > 0 tel que kxk > M ⇒ f (x) > f (x0 ),
kxk→∞
donc
∃M > 0, f (x) ≤ f (x0 ) ⇒ kxk ≤ M.
Puisque est caractérisé par f (x∗ ) ≤ f (x), ∀x ∈ Rn , on a donc forcément kx∗ k ≤ M. Donc x∗ est
x∗
solution du problème
min f (x),
kxk≤M

et le théorème précédents s’applique, la boule {x ∈ Rn , kxk ≤ M} étant compacte.

2.1.3 Unicité
Theorem 7 Si f : K ⊂ Rn −→ R strictement convexe sur K convexe. Le minimum de f sur K, s’il existe, est
unique

Démonstration : Soit donc x∗ ∈ K tel que f (x∗ ) ≤ f (x), ∀x ∈ K. Supposons qu’il existe y∗ , x∗ tel que
f (y∗ ) ≤ f (x), ∀x ∈ K. Formons pour λ ∈ ] 0, 1 [ le vecteur
u = λy∗ + (1 − λ)x∗ .
D’après la stricte convexité de f et puisque nécessairement f (y∗ ) = f (x∗ ) on a
f (u) < λ f (y∗ ) + (1 − λ) f (x∗ ) = f (x∗ ),
ce qui contredit le fait que x∗ soit un minimum. On a donc x∗ = y∗ .

12
2.1.4 Conditions d’optimalité
Conditions nécessaires
Theorem 8 Soit f : Rn −→ R différentiable et x∗ vérifiant
f (x∗ ) ≤ f (x), ∀x ∈ Rn ,
alors on a nécessairement
∇ f (x∗ ) = 0.

Démonstration : Pour tout t ∈ R∗ et pour h ∈ Rn on a f (x∗ ) ≤ f (x∗ + th). On a donc


f (x∗ ) − f (x∗ + th)
lim = ∇ f (x∗ )T h ≤ 0,
t→0+ t
et
f (x∗ ) − f (x∗ + th)
lim = ∇ f (x∗ )T h ≥ 0,
t→0− t
donc ∇ f (x∗ )T h = 0, ∀h ∈ Rn , donc ∇ f (x∗ )T = 0 (prendre par exemple h = ∇ f (x∗ )).

Conditions nécessaires et suffisantes


Theorem 9 Soit f : Rn −→ R convexe et différentiable. Si x∗ vérifiant
∇ f (x∗ ) = 0,
alors on
f (x∗ ) ≤ f (x), ∀x ∈ Rn .

Démonstration : Soient x ∈ Rn et λ ∈ [0, 1]. Puisque f est convexe on a


f (λx + (1 − λ)x∗ ) ≤ λ f (x) + (1 − λ) f (x∗ ).
On retranche f (x∗ ) de chaque côté de l’inégalité, on note que λx + (1 − λ)x∗ = x∗ + λ(x − x∗ ), puis on
divis par λ, ce qui donne l’inégalité
f (x∗ + λ(x − x∗ )) − f (x∗ )
≤ f (x) − f (x∗ ).
λ
Et si on fait tendre λ vers 0 on obtient ∇ f (x∗ )T (x − x∗ ) ≤ f (x) − f (x∗ ), donc 0 ≤ f (x) − f (x∗ ).

Theorem 10 Soit f : Rn −→ R deux fois différentiable. Si


∇ f (x∗ ) = 0,
(

∇2 f (x∗ )est définie positive,


alors x∗ est un minimum local de f .

Démonstration : On a
2
f (x∗ + th) = f (x∗ ) + t∇ f (x∗ )T h + t2 hT ∇2 f (x∗ )h + t2 khk2 (th),
2
= f (x∗ ) + t2 hT ∇2 f (x∗ )h + t2 khk2 (th).
On a donc pour t > 0
f (x∗ + th) − f (x∗ ) 1 T 2 ∗
= h ∇ f (x )h + khk2 (th).
t2 2
Donc si t est suffisamment petit on aura bien f (x∗ + th) − f (x∗ ) > 0 puisque hT ∇2 f (x∗ )h > 0.

13
Cas de fonctions à deux variables
Tout comme
∂2 f (x, y) ∂2 f (x, y)
= ,
∂x∂y ∂y∂x
on a :
∂2 f (x, y)
∆1 = ,
∂x2
∂2 f (x, y) ∂2 f (x, y) ∂2 f (x, y) 2
∆2 = − ( ) ,
∂x2 ∂y2 ∂x∂y
:

Ainsi
— ∆1 > 0 et ∆2 > 0 −→ minimum.
— ∆1 < 0 et ∆2 > 0 −→ maximum.
— ∆1 quelconque et ∆2 < 0. −→ point-selle.
— ∆1 quelconque et ∆2 = 0. −→ on ne peut pas conclure.

2.1.5 Algorithme
Résolution d’équations
— L’identification des points critiques revient à résoudre

∇ f (x) = 0.

— Il s’agit d’un système de n équations à n inconnues.


— On verra que les conditions d’optimalité pour les problèmes avec contraintes se ramènent
également à un système d’équations.
— 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.

2.1.6 Histoire
Histoire d’algorithme

— Abu Ja’far Muhammad ibn Musa Al-Khwarizmi (780-840)


— Traité al Kitab almukhtasar fi hisab al-jabr w’al muqabala, qui est à l’origine de l’algèbre
— traduction latine de cet ouvrage, intitulée Algoritmi de numero indorum

14
2.2 Fonctions à une seule variable
2.2.1 Méthode de la bissection
Considérons en premier lieu le cas le plus simple : la fonction objectif f est concave et comporte
une seule variable. Il est alors possible de montrer que, si x∗ est une solution optimale et il existe xi et
xu tels que xi ≤ x∗ ≤ xu et f (xi ) , f (x∗ ), f (xu ) , f (x∗ ), alors il existe a et b tels que a ≤ x∗ ≤ b et
d f (x)
> 0, si x < a,
dx
d f (x)
= 0, si x = x∗ ,
dx
d f (x)
< 0, si x > b.
dx

Si f est strictement concave en x∗ , alors a = x∗ = b, comme illustré sur la Figure 2.1.

f (x)
d f (x)
dx =0

x
x∗

Figure 2.1 – Maximum d’une fonction strictement concave

Algorithme 1 (Méthode de la bissection)


1 Nous fixons d’abord une borne inférieur xi pour laquelle la dérivée en ce point est strictement positive.
2 Nous déterminons également une borne supérieure xu pour laquelle la dérivée en ce point est strictement
négative.
3 Si les deux bornes ne sont pas suffisamment près l’une de l’autre, i.e. la distance xu − xi est trop grande,
nous prenons le point milieu entre les deux bornes comme point candidat xc :

xi + xu
xc = ,
2
et nous passons à l’étape suivante. Sinon, c’est-à-dire si

|xu − xi | ≤ 2,

avec  > 0 suffisamment petit, nous nous arrêtons : xc est une approximation suffisamment précise de
la solution optimale.

15
4 Si la dérivée en xc est nulle, arrêt : xc est la solution optimale.
5 Si la dérivée en xc est positive, nous posons xi = xc .
6 Si la dérivée en xc est négative, nous posons xu = xc .
7 Retour à l’étape 3.

critéres d’arrêts
|x1 −x2 |
1. L’erreur absolue : |r − xm | ' 2 < abs
|r−xm | |x1 −x2 |
2. L’erreur relative : |r| ' |xm | < rel
3. On peut arrêter l’algorithme si f 0 (xm ) <  f

Méthode bi-section : Erreurs


Soit [x1 − x2 ] = [a, b] l’intervalle de départ de longueur L = b − a.
Aprés une itération on a xm = x1 −x 2
2
et le nouvel intervalle [x1 − x2 ] est de longueur L2 . A l’étape n,la
longueur est 2Ln . On sait que r ∈ [x1 , x2 ] et

L
|r − xm | ≤ .
2n

Étant donnée une erreur absolue ∆r, c’est quoi la valeur de n (nombre d’itérations )pour avoir

L
|r − xm | ≤ < ∆r
2n
L
ln( ∆r )
La réponse est : n > ln 2 .

2.2.2 Méthode de la régle d’Or


L’algorithme par dichotomie :

— à l’itération k : intervalle [ak , bk ]


3a +b a +b a +3b
— dk = k4 k ck = k 2 k ek = k 4 k
— f (ck ) > f (ek ) =⇒ ak+1 = ck et bk+1 = bk
— f (dk ) > f (ck ) =⇒ ak+1 = ak et bk+1 = ck
— sinon ak+1 = dk et bk+1 = ek
— arrêt : quand bk − ak ≤ 

16
2.2.3 Méthode de Newton
Soit une équation à résoudre de la forme :

f 0 (x) = 0

À partir d’une valeur initiale x0 de la solution, on cherche une


correction δx telle que :

0 = f 0 (x0 + δx) ≈ f 0 (x0 ) + f 00 (x0 )δx


on peut alors isoler la correction recherchée :

f 0 (x0 )
δx = −
f 00 (x0 )

la correction δx est en principe la quantité que l’on doit ajouter à x0 pour annuler la fonction
f 0 (x).puisque nous avons négligé les termes d’ordre supérieur ou égal à 2 dans le développement de
taylor, cette correction n’est pas parfaite et l’on pose :

x1 = x0 + δx

Interprétation géométrique de la méthode de Newton


Menons par le point (xn , f 0 (xn )) la tangente à la courbe y = f 0 (x) fournie par

D(x) = f 0 (xn ) + f 00 (xn )(x − xn )

si on cherche le point d’intersection de la tangente, D(x) = 0, avec l’axe des x, on retrouve


le point xn+1 tel que défini par l’algorithme.

Algorithme de la méthode de Newton


1. Étant donné a , un critére d’arrêt
2. Étant donné N, le nombre maximal d’intératios
3. Étant donné x0 ,une valeur initial de la solution
f 0 (xn )
4. Effectuer : xn+1 = xn − f 00 (xn )

5. si |xn+1 −xn |
|xn+1 | < a :
— convergence atteint
— écrir la solution xn+1 : arrêt
6. si le nombre maximal d’itérations N est atteint :
— convergence non atteinte en N iterations : arrêt
7. retour à l’étape 4.

Étude de convergence
On peut associer la méthode de Newton à l’application de la méthode de point fixe sur une
fonction g particulière
f 0 (x)
g(x) = x − 00
f (x)

17
On retrouve les résultats de convergence obtenue pour le point fixe. On peut cependant revoir les
résultats en fonction de f 0 puisque la relation en f 0 et g est maintenant fixée.
00 000 000
0 ( f (x))2 − f 0 (x) f (x) f 0 (x) f (x)
g (x) = 1 − 00 = 00
( f (x))2 ( f (x))2

Pour une racine r de f 0 on aura donc


0
g (r) = 0
et on a ainsi la convergence quadratique que l’on recherche.

Principe
Déterminer un intervalle [a, b] sur lequel il y a convergence de Newton n’est pas toujours facile. Il
existe cependant un théorème qui donne une condition suffisante.

Theorem 11 (convergence globale de la méthode de Newton) Si la fonction f 0 (x) définie sur [a, b] vé-
rifie :
1. f 0 (a) f 0 (b) < 0

18
2. ∀x ∈ [a, b] f 00 (x) , 0 (stricte monotonie de f 0 )
3. ∀x ∈ [a, b] f 000 (x) , 0 (concativité de f 0 dans le même sens.)

Alors en choisissant x0 de [a, b] tel que f 0 (x0 ) f 000 (x0 ) > 0, les itérations de Newton convergent vers
l’unique solution x∗ de f 0 (x) = 0 dans [a, b]. De plus, la convergence est quadratique.

Remarque 1 • La fonction f 0 doit être dérivable.


• xk+1 peut ne pas être calculable si f 00 (xk ) = 0 ou si xk n’est pas dans le domaine de définition de f 0 .
• chaque itération nécessite une évaluation de f 0 et une évaluation de f 00 .
• cette méthode est souvent appelée aussi méthode de Newton-Raphson.
• la méthode de Newton est une méthode de point fixe puisque xk+1 peut s’écrire sous la forme xk+1 = g(xk )
avec
f 0 (x)
g(x) = x − 00 .
f (x)

2.3 Fonctions à plusieurs variables


2.3.1 Méthode du gradient
Principe des méthodes de descente
Définition 9 Soit f : Rn =⇒ R. On dira qu’un vecteur d est une direction de descente en x s’il existe t̄ > 0
tel que
f (x + td) < f (x), t ∈]0, t̄].

Le principe d’une méthode de descente consiste à faire les itérations suivantes

xk+1 = xk + tk dk , tk > 0, (2.4)

tout en assurant la propriété


f (xk+1 ) < f (xk ).
Le vecteur dk est la direction de descente en xk . Le scalaire tk est appelé le pas de la méthode à
l’itération k. On peut caractériser les directions en xk à l’aide du gradient :

Theorem 12 Soit d ∈ Rn vérifiant


∇ f (x)T d < 0,
alors d est une direction de descente en x.

Démonstration : On a pour t > 0

f (x + td) = f (x) + t∇ f (x)T d + t(t),

donc si on écrit
f (x + td) − f (x)
= ∇ f (x)T d + (t),
t
on voit bien que pour t suffisamment petit on aura f (x + td) − f (x) < 0. 
Dans la méthode (2.4) le choix de tk est lié à la fonction

ϕ(t) = f (xk + tdk ),

19
en particulier, une façon de choisir tk peut être de résoudre le problème d’optimisation (à une seul
variable)
min ϕ(t).
t>0

Le pas t̂k obtenu ainsi s’appelle le pas optimal. La fonction ϕ(t) = f (xk + tdk ) étant différentiable, on a
alors nécessairement
ϕ0 (t̂k ) = ∇ f (xk + t̂k dk )T dk = 0.
Considérons une fonction concave f de plusieurs variables. La méthode de la bissection ne peut plus
s’appliquer, aussi nous devons nous tourner vers une meilleure alternative. La gradient de f au point
x0 est défini comme
 ∂ f (x0 ) 
 ∂x10 
 
 ∂ f (x ) 
∇x f (x0 ) =  ∂x. 2  .
 
 .. 
 ∂ f (x0 ) 
 
∂xn

Il est possible de montrer que le gradient correspond a une direction d’augmentation de la valeur de
f . Ainsi, dans la méthode du gradient, nous nous déplaçons dans la direction du gradient en tentant
d’augmenter au maximum la valeur de l’objectif. A partir d’un point initial x0 , nous effectuons un
déplacement dans la direction du gradient vers un nouveau point x :

x = x0 + s,

où s = t∗ ∇x f (x). Dans cette formule, t∗ est la solution du problème de maximisation suivant :

max f (x0 + t∇x f (x0 )).


t≥0

C’est un problème de maximisation d’une fonction concave d’une seule variable : nous pouvons par
conséquent le résoudre, par exemple en employant la méthode de la bissection
Nous posons ensuite x0 = x, et nous itérons ainsi jusqu’à ce que le gradient s’annule (ou presque).

Remarque 2 La valeur de f diminue à mesure que les courbes de niveau se rapproche du centre des ellipses !

20
Nous avons par conséquent l’algorithme suivant.
Algorithme 2 (Méthode du gradient) 1. Déterminer une solution initiale x0 . Posons k = 0. Nous
fixons également une constante  > 0 suffisamment petite.
2. Résoudre le problème suivant :

max f (xk + t∇x f (xk )). (2.5)


t≥0

3. Soit t∗ la solution optimale de (2.5). Posons

xk+1 = xk + t∗ ∇x f (xk ),

et incrémentons k.
4. Si
∂ f (xk )
≤ , j = 1, 2, . . . , n,
∂x j

arrêt. Sinon, nous retournons en 2.

21
Convergence
Theorem 13 Soit f ∈ C1 . Tout point limite x∗ d’une sous suite convergent de la suite générée par la méthode
du gradient est tel que ∇ f (x∗ ) = 0.

Démonstration. Considérons la sous suite {xk j } de {xk } telle que

{xk j } −→ x∗ .

Par conséquent, se référant aux suites


{xk } = {..., xk j , xk j +1 , ..., xk j +τ , ...}
{xk j } = {..., xk j , xk j+1 , ...} où xk j+1 = xk j +τ .
Ainsi, se référant à la suite {xk }

f (xk j+1 ) = f (xk j +τ ) ≤ ... ≤ f (xk j +1 ) = min{ f (xk j − t∇ f (xk j ))}.


t≥0

Donc
f (xk j+1 ) ≤ f (xk j − t∇ f (xk j )) ∀t ≥ 0.
Puisque f ∈ C1 , f est continue sur Rn et

lim f (xk j+1 ) = f (x∗ )


j→∞

lim [ f (xk j − t∇ f (xk j ))] = f (x∗ − t∇ f (x∗ )) ∀t ≥ 0.


j→∞

Donc

f (x∗ ) ≤ f (x∗ − t∇ f (x∗ )) ∀t ≥ 0. (2.6)

Par conséquent ∇ f (x∗ ) = 0 car autrement si ∇ f (x∗ ) , 0, alors −∇ f (x∗ ) est une direction de descente,
donc il existe t > 0 tq f (x∗ − t∇ f (x∗ )) < f (x∗ ) ce qu’est contradiction avec la relation (2.6).

22
Déplacement en zig-zag
Theorem 14 Si xk+1 = xk − tk ∇ f (xk ) où tk est tel que f (xk − tk ∇ f (xk )) = min{ f (x∗ − t∇ f (x∗ ))}, alors
t≥0
∇ f (xk+1 )T ∇ f (xk ) = 0.

Démonstration : Si ∇ f (xk ) = 0, alors la preuve est complétée.


Si ∇ f (xk ) , 0, considérons la fonction ϕ : R+ −→ R

ϕ(t) = f (xk − t∇ f (xk )).

Par dérivation en chaîne,


ϕ0 (t) = −∇ f (xk )T ∇ f (xk − t∇ f (xk )).
Puisque tk est un minimum local de ϕ(t), alors ϕ0 (tk ) = 0, et ∇ f (xk )T ∇ f (xk+1 ) = 0. 

Notes :
1. L’ordre de convergence de la méthode du gradient est linéaire.
2. Au début de son application, la méthode permet de faire diminuer la valeur de la fonction
économique relativement rapidement, mais son efficacité à ce chapitre diminue au cours des
itérations.
3. La méthode du gradient est la méthode la plus rapide marginalement ("steepest descent
methode") :
∇ f (x)T d = k∇ f (x)kkdk cos θ
où θ est l’angle entre d et ∇ f (x). Ainsi, parmi les directions d de norme 1, celle minimisant
∇ f (x)T d a un angle de 180 car cos(180) = −1. Ainsi, cette direction d correspond à

∇ f (x)
− .
k∇ f (x)k

Point faible de la méthode du gradient


=⇒ Pour éviter les zigzags et accélérer la convergence, on peut avoir recours à l’un des procédés
suivants :
— diminuer le pas ne pas aller jusqu’en x̃ :
Polyak (1966)P: effectuer des pas prédéterminés en imposant une suite (tk ) telle
que tk ↓ 0 et k tk = +∞ ⇒ (xk ) tend vers x̂

— utiliser d’autres directions :


Forsythe (1986), Luenberger (1973) : toutes les m itérations, au lieu de partir
dans la direction de l’anti-gradient en xk , "couper" en partant dans la direction
δ = xk − xk−m

— utiliser des directions "conjuguées"

23
2.3.2 La méthode de Newton
La méthode de Newton permet de construire un algorithme permettant de résoudre le système
d’équations non-linéaires
g(x) = 0,
où g : Rn −→ Rn est différentiable : on se donne x0 ∈ Rn et on fait les itérations

xk+1 = xk − Jg(xk )−1 g(xk ), (2.7)

où Jg(x) est la dérivée (au jacobienne)de g au point x. L’application de cette méthode au problème
d’optimisation

minn f (x), (2.8)


x∈R

consiste à l’utiliser pour résoudre le système d’optimalité du problème (2.8), c’est à dire que l’on pose
g(x) = ∇ f (x) dans (2.7) : on obtient les itérations

xk+1 = xk − ∇2 f (xk )−1 ∇ f (xk ). (2.9)

Algorithme de Newton
L’algorithme de Newton combine la stratégie de Newton de choix de la direction de descente
avec, à chaque étape, une recherche du pas optimal :

Algorithme 3 Newton(f,x0 ,tolerance)

x ← x0 , g ← ∇ f (x0 ), H ← ∇2 f (x0 )
Tant que : gT H−1 g ≥tolerance
Calculer le pas optimal t dans la direction : u = −H−1 g

x ← x + tu, g ← ∇ f (x), H ← ∇2 f (x)

Retourner x

Convergence
Proposition :

Si le point initial x0 est choisi dans un voisinage d’un minimum local où le


hessien est défini positif, alors {xk , k ≥ 0} converge vers ce minimum local.

1. Convergence rapide : quadratique (plus rapide que le gradient à pas optimal).


2. "dans un voisinage" :... initialisation difficile.
3. Combiner les méthodes : gradient (pour s’approcher du voisinage) et Newton (pour accélérer la convergence
une fois dans le voisinage).

La méthode de Newton est intéressant car sa convergence est quadratique au voisinage de la solution,
c’est à dire que l’on a
kxk+1 − x̂k ≤ γkxk − x̂k2 , γ > 0,

24
mais la convergence n’est assurée que si x0 est suffisamment proche de x̂, ca qui en limite l’intérêt.
Pour résoudre le problème de convergence locale de la méthode de Newton, on peut penser à lui
ajouter une phase de recherche linéaire, dans la direction

dk = −∇2 f (xk )−1 ∇ f (xk ).

Cela est possible uniquement si dk est une direction de descente en xk , soit

∇ f (xk )T dk = −∇ f (xk )T ∇2 f (xk )−1 ∇ f (xk ) < 0,

ce qui sera le cas si ∇2 f (xk ) est une matrice définie positive, ce qui n’est pas garanti (on sait tout au
plus que ∇2 f (x̂) > 0).

25
Chapitre 3

Modélisation Statistique

3.1 Corrélation et régression simple


3.1.1 Corrélation entre deux variables aléatoires.
Si deux variables X et Y sont indépendantes, alors

E(XY) = E(X)E(Y)

Dans le cas général, cette relation n’est pas vraie, on définit la covariance entre X et Y par

C(X, Y) = E(XY) − E(X)E(Y)

Cette valeur n’est pas “normalisée” (si X et Y ont des unités physiques par exemple ce nombre a une
dimension), on définit donc la corrélation par

C(X, Y)
c(X, Y) =
σ(X)σ(Y)

ce nombre est sans unité. On montre qu’il appartient à l’intervalle [−1, 1]. Si Y = X alors c = 1, si
Y = −X alors c = −1. Si les variables sont indépendantes, alors c = 0. Mais la réciproque est fausse.
On utilise toutefois ce calcul pour estimer si deux variables sont corrélées ou indépendantes. Plus
précisément, si deux variables paraissent corrélées, on peut essayer d’exprimer l’une en fonction de
l’autre, c’est ce qu’on va faire dans la section suivante.

3.1.2 Régression linéaire avec un modèle linéaire


Soit (Xi )1≤i≤n et Yi deux séries statistiques. On cherche à savoir s’il est raisonnable de prévoir
Yi en fonction de Xi , avec par exemple une relation linéaire Yi = a + bXi . Pour cela on minimise
f (a, b) = (a + bXi − Yi )2 par rapport à a et b, ce qui donne les équations :
P

∂f
 Pn
 ∂a = 0 = 2 i=1 (a + bXi − Yi )


 ∂ f = 0 = 2 n Xi (a + bXi − Yi )

 P
∂b i=1

équivalentes à :
( Pn
a Pi=1 + b Pni=1 Xi = Pni=1 Yi
P P
(3.1)
a ni=1 Xi + b ni=1 Xi2 = n
i=1 Xi Yi

26
Si on note U la matrice de première colonne remplie de 1, et de deuxième colonne remplie par Xi
(en ligne i),
 
 1 X1 
 1 X2 
 
U = 
 ... ... 

1 Xn
 

et si on note U∗ la transposée de U,

1 ... 1
!
1
U =

X1 X2 ... Xn

on observe que
Pn Pn !
1 X i
UU=
∗ Pni=1 i=1
Pn 2
i=1 Xi i=1 Xi

le système (3.1) devient


 
! Pn !  Y1 
a Y  Y 
 
U∗ U = Pn i=1 i
= U∗ Y, où Y =  2 
b i=1 X i Y i  ... 
Yn
 

Donc la solution est donnée par


!
a
A= = inv(U∗ U)(U∗ Y)
b

On peut montrer que les coefficients de la droite sont donnés par :

E(XY) − E(X)E(Y)
b= , a = Y − bX
σ(X)2
et
E(XY) − E(X)E(Y)
f (a, b) = n(1 − r2 )σ(Y)2 , r=
σ(X)σ(Y)

On montre que cette méthode se généralise (dans sa formulation matricielle), si on veut prévoir
par exemple Yi à partir de deux séries statistiques xi et Xi avec une relation linéaire de la forme
Yi = a + bxi + cXi , alors (a, b, c) est obtenu en calculant inv(U∗ U)U∗ Y, où cette fois la matrice U possède
3 colonnes, la colonne de 1, la colonne des xi et la colonne des Xi . Les calculs pratiques se font de
manière identique.

Autres régressions linéaires


On peut aussi supposer que Y dépend de manière non linéaire de X, par exemple logarithmique,
exponentielle, polynomiale, etc. mais toujours de manière linéaire des paramètres à déterminer et
calculer ces paramètres en utilisant la même méthode (minimiser l’erreur quadratique). Ceci peut
servir par exemple à modéliser la consommation d’une denrée non renouvelable (par exemple les
combustibles fossiles) par une fonction logistique ou par une gaussienne.

27
Corrélations entre gaz à effet de serre et température
Si on fait une corrélation température-CO2 sur les 400 000 dernières années, on trouve un rapport
f (a, b)/n sur variance de 0.35, soit une qualité de corrélation de 0.65 (65% de la variance de la
température est expliquée par le taux de CO2) et un coefficient d’augmentation de température de 9
degrés pour 100 ppm de CO2. On peut aussi faire une corrélation température en fonction du CO2
et du CH4, on trouve alors 6 degrés pour 100 ppmv de CO2 et 1.5 degré pour 100 ppbv de CH4 avec
une qualité de corrélation de 0.68.
Bien entendu, une corrélation statistique ne suffit pas à conclure qu’une des variables dépend (au
moins partiellement) de l’autre, mais ici la physique nous montre que l’augmentation du taux de CO2
augmente les radiations solaires capturées au niveau du sol, la corrélation permet de quantifier cet
effet (calcul que l’on pourra comparer à celui obtenu par d’autres méthodes).

3.2 Régression linéaire multiple


Généralités
L’étude d’un phénomène peut, le plus souvent, être schématisé de la manière suivante : on s’intéresse
à une grandeur b, que nous appellerons par la suite réponse ou variable expliquée, qui dépend d’un
certain nombre de variables v1 , v2 , ..., vn que nous appellerons facteurs ou variables explicatives.
Notion de modèle
On cherche à mettre en évidence la liaison (relation fonctionnelle) pouvant exister entre la variable
expliquée b et les variables explicatives v1 , v2 , . . . , vn . On s’intéresse aux modèles dits linéaires, i.e. aux
modèles du type :
Xn
b = α1 v1 + α2 v2 + · · · + αn vn = α j vi j
j=1

les αi sont des réels appelés coefficients du modèle.

Pourquoi b̂ et pas b ?
On cherche à expliquer la variable b par n autres variables v1 , v2 , . . . , vn mais on n’est pas certain que
b ne dépend que de ces variables. Dans l’idéal b̂ = b mais le plus souvent b̂ ≈ b avec b̂ , b.

3.2.1 Critère des moindres carrés- formulation


Critère
On cherche donc un modèle qui nous permet d’obtenir un b̂ le plus « proche » possible de b. Pour
cela, on effectue m mesures (m > n) des variables v1 , v2 , . . . , vn et de b. On cherche alors α1 , α2 , . . . , αn
tel que, pour i = 1 . . . m :
n
X
b̂i = α1 vi,1 + α2 vi,2 + · · · + αn vi,n = α j vi,j
j=1

soit le plus « proche » possible de bi .

28
En utilisant les notations matricielles, le système :

= α1 v1,1 + α2 v1,2 + · · · + αn v1,n




 b̂1
= α1 v2,1 + α2 v2,2 + · · · + αn v2,n

b̂2



..

.





b̂m = α1 vm,1 + α2 vm,2 + · · · + αn vm,n

s’écrit :
 v1,1 v1,2 . . . v1,n   α1 
   
 v2,1 v2,2 . . . v2,n   α2 
   
b̂ =  ..

.. ..  ×  .. 
  
 . . .   . 
 
vm,1 vm,2 . . . vm,n αm
   
| {z } | {z }
A x

Ainsi, on cherche x = (α1 , α2 , . . . , αn )T tel que Ax soit le plus « proche » possible de b.


On comprend alors que la notion de distance apparaît. On rappelle que la distance euclidienne
usuelle est définie comme suite :
q
∀x, y ∈ R , d(x, y) = kx − yk2
m

où k.k est la norme euclidienne :


X
∀x ∈ Rm , kxk2 = xT x = mx2i
j=1

On souhaite que d(b̂ = Ax, b) soit minimale, ce qui s’écrit :

minn kAx − bk2 .


x∈R

29
Chapitre 4

Optimisation avec contraintes linéaire

4.1 Introduction
Considérons le problème d’optimisation :


 min f (x)
Ax = b

s.c. (4.1)



x≥0


— A est une matrice de taille m × n (m lignes, n colonnes) de rang(A) = m < n.
— f est une fonction de Rn à valeur dans R est de classe C1 .
— b un vecteur de dimension m.
:
Rappelons que, quelque soit le polyèdre initial, il est toujours possible de se
ramener à ce type de contraintes.

4.2 Méthode du Frank-Wolfe


Considérons le problème de programmation linéaire suivant :


 min ∇ f (xk )y
s.c. Ay = b

(4.2)



y≥0

Supposons que l’on résolve ce problème en un point quelconque, qui n’est pas un minimum local du
programme (4.1).
Le programme linéaire (4.2) possédera une solution yk telle que

∇ f (xk )(yk − xk ) < 0,

c’est-à-dire, la direction (yk − xk ) constitue une direction de descente réalisable pour le programme
(4.1). Nommant d cette direction, nous allons choisir

xk+1 = xk + θd

de sorte que θ minimise f sur la ligne joignant xk et yk , tout en demeurant réalisable. Alors, f (xk+1 ) <
f (xk ), et nous pouvons recommencer le processus.

30
Nous en déduisons la suite de quantités suivants :

yk = arg min ∇ f (xk )y : Ay = b, y ≥ 0;


y
dk = yk − xk ;
θk = arg min f (xk + θdk );
0≤θ≤1
xk+1 = xk + θk dk .

Les observations précédentes montrent que la suite f (xk ) est décroissante. Voir :
Jean-Pierre Dussault. Optimisation mathématique. Université de Sherbrooke, Canada. 2015.
L’algorithme de Frank-Wolfe utilise dans son calcul de direction la minimisation d’une fonction
linéaire et donc résolue par un algorithme de programmation linéaire, i.e.

yk = arg min ∇ f (xk )y


y∈E

et d = yk − xk . Si on résout le programme linéaire avec l’algorithme du simplexe, la solution calculée


sera toujours un point extrême de domaine réalisable E et donc on peut toujours choisir θmax = 1.
La condition d’optimalité est considérée satisfaite lorsque k∇ f (xk )(yk − xk )k est assez petit.

4.3 Méthode du Gradient Réduit (RG)


4.3.1 Principe de la méthode RG
Méthode du Gradient Réduit
On définit une partition des variables en B ⊆ {1, ..., n} et N = {1, ..., n} − B telle que |B| = m et AB , la
matrice formée des colonnes de A indexées dans B, soit inversible.
Quitte à permuter les colonnes, A se décompose en

(AB AN )

où AN est la matrice formée des colonnes de A indexées dans N.


Quitte à permuter les lignes, tout x se décompose en
!
xB
xN

où xB est formé des composantes de x indexées dans B et xN est formé des composantes de x indexées
dans N.
Ainsi !
xB
Ax = b ⇔ (AB AN ) = AB xB + AN xN = b
xN
et si AB est inversible alors on peut exprimer xB en fonction de xN par la relation

xB = A−1
B b − AB AN xN .
−1

x1 + 2x2 + 3x3 − x4 = 6
(
Exemple 11 Soit le système
x1 + 3x2 + 2x3 + 5x4 = 4
!
1 2 3 −1
Ici A =
1 3 2 5

31
! ! ! !
1 3 2 −1 x1 x2
Choisissons B = {1, 3}, N = {2, 4}. Alors AB = , AN = , xB , xN
1 2 3 5 x3 x4
! ! ! ! !
xB 1 3 x1 2 −1 x2
(AB AN ) = +
xN 1 2 x3 3 !5 x4
x1 + 3x3 + 2x2 − x4
=
x1 + 2x3 + 3x2 + 5x4

En respectant cette partition, le problème (4.1) peut s’écrire comme suit :

min f (xB , xN )



 s.c. (i) BxB + NxN = b,



(4.3)
(ii) xB > 0,





 (iii) xN ≥ 0.

On peut considérer xN comme un vecteur de variables indépendantes et xB comme un vecteur de


variables dépendantes.
En effet, lorsque xN est fixé, xB est unique et est donné par (4.3.i). Hypothèse :

— On fait l’hypothèse que le problème (4.1) admet au moins une solution.


— On fera l’hypothèse de non-dégénérescence à savoir ∀B t.q. AB inver-
sible, A−1
B
b > 0.

Comme pour la programmation linéaire, il est plus commode d’utiliser la transposée du gradient
de f (vecteur ligne) que le gradient de f (vecteur colonne).
On note
∂f ∂f ∂f
=( ,..., ) = ∇ft
∂x ∂x1 ∂xn
(On aura reconnu la matrice jacobienne de f ).
De manière similaire aux notations précédentes on note

∂f ∂f ∂f
=( ,..., ) jk ∈ N
∂xN ∂x j1 ∂x jn−m

et
∂f ∂f ∂f
=( ,..., ) ik ∈ B.
∂xB ∂xi1 ∂xim
Le principe de la méthode du gradient réduit est de considérer le problème (4.3) uniquement en
terme de variables xN .
On résout localement le problème :

min g(xN ); xN ≥ 0, (4.4)


xN ∈Rm

avec g(xN ) = f (xB (xN ), xN ).


Le gradient de g est appelé gradient réduit de f et sa transposée s’exprime par

∂g ∂f ∂ f −1
= − A AN . (4.5)
∂xN ∂xN ∂xB B

32
Le gradient réduit r(x) correspond au vecteur des coûts réduits en programmation linéaire :

∂f ∂f
r(x) = (x) − (x)A−1
B A.
∂x ∂xB
∂g
On a : rN (x) = ∂xN
(x) et rB (x) = 0.

Exemple 12 (suite) Soit le système

x1 + 2x2 + 3x3 − x4 = 6
(

x1 + 3x2 + 2x3 + 5x4 = 4

et
f (x1 , x2 , x3 , x4 ) = x21 + x22 .
Choisissons B = {1, 3}, N = {2, 4}.
On exprime x1 en fonction de x2 , x4 , on obtient

g(x2 , x4 ) = (−5x2 − 17x4 )2 + x2

et
∂g ∂g
( ) = (52x2 + 170x4 170x2 + 578x4 ).
∂x2 ∂x4
:

Comme dans l’algorithme du simplexe, toute variable de base qui s’annule


quitte la base pour être remplacée par une variable hors base. Le choix de la
variable hors base n’est pas toujours unique ; en effet, même si la solution de
base courante n’est pas dégénérée, il se peut qu’il y ait plusieurs variables hors
base positives (ces variables sont appelées superbasiques). Il se peut aussi que
le minimum de f dans la direction d soit atteint sans qu’aucune variable de
base ne s’annule. On répète alors le processus sans changer de base.

Définition 10 On appelle algorithme du simplexe convexe la variante de l’algorithme du gradient réduit qui
consiste à ne modifier qu’une seule variable hors base à chaque itération.

Principe de la méthode
Plutôt que de considérer f , fonction de n variables, on considère g fonction de n − m variables. Outre
le fait que le nombre de variables est ainsi mois important, l’intérêt est que ces n − m variables sont
soumises seulement aux contraintes relativement simple de non négativité.
On part d’un point x réalisable et on choisit une partition des variables (B, N) vérifiant les critères
énoncés plus haut.
On va effectuer un déplacement dans la direction opposée au gradient réduit mais en prenant soin
de ne pas rendre négatives les variables indexées dans N et nulles.

( On définit la direction d, se décomposant en dB et dN , de la manière suivant :


Définition 11
0 si r j (x) > 0 et x j = 0
— dj = ( j ∈ N)
−r j (x) sinon
— dN étant défini, dB est déterminé via les contraintes d’égalité par dB = −A−1
B
AN dN .

33
4.3.2 Convergence de la méthode GR
Principe de la méthode
Si dN , 0 le déplacement se fait jusqu’à atteindre le minimum de f dans la direction d mais en
respectant les contraintes de non négativité des variables. On obtient un nouveau point x0 . Si une de
ses composantes dans B, disons s, s’annule on construit une nouvelle partition des variables

B0 = B − {s} + {r} et N0 = N + {s} − {r}

où r est choisi de sorte que AB0 soit inversible et que x0r soit non nul puis on réitère. Cette opération,
appelée changement de base, est nécessaire car sinon on risque de faire du surplace, la nullité de x0s
bloquant le déplacement suivant. Le fait de faire passer s dans N permet de contrôler la variation de
la coordonnée s qui être que positive ou nulle par construction de la direction de déplacement.
Critère d’arrêt : :

Si dN = 0 les conditions de Kuhn-Tucker sont satisfaites et on arrête.

Theorem 15 Si la méthode de gradient réduit construit une direction de déplacement nulle, i.e. dN = 0, le
point courant x vérifie les conditions de Kuhn-Tucker.

Démonstration
Les conditions de Kuhn-Tucker s’écrivent :
 ∂f
(x) + µA − λ = 0
 ∂x




 λ≥0
λi xi = 0 i = 1, . . . , n

∂f
Soient µ = − ∂xB (x)A−1
B
, λB = 0, λN = rN (x). x, µ, λ vérifient-ils ces conditions ? Pour la première égalité
un simple calcul le montre. La deuxième condition (λ ≥ 0) est vérifiée car dN = 0 ⇒ rN (x) ≥ 0 d’après
la définition de dN . La troisième condition (complémentarité) est vérifiée car d j = 0 ⇒ (r j > 0 et x j =
0) ou (−r j = 0) ∀ j ∈ N toujours par définition de dN .

34
Algorithme du gradient réduit

On se donne une base initiale et un vecteur initial x0 =


(x0B , x0N ) tel que x0B > 0, kmax , on pose k = 0 et d0N , 0.
Tant que (dN , 0 et k < kmax ) faire
k

Calcul du gradient réduit (4.5). Pour i ∈ N faire


Si (xki = 0 et ri (xk ) ≥ 0) Alors
dki = 0
Sinon
dki = −ri (xk )
Fin Si
Fin Pour
dkB = B−1 NdkN .
xkj
µk = arg min f (xk + µdk ) avec µmax = min {− d j }.
0≤µ≤µmax j∈B,d j <0
xk+1 = xk + µk dk .
Si (∃s ∈ B xs = 0) Alors
soit r ∈ N t.q. A0B inversible et xr maximum
B = B0 et N = N0
Fin Si
k=k+1
Fait

Exemple 13
min f (x) =x21 + x22 + x23 + x24 − 2x1 − 3x4



2x1 + x2 + x3 + 4x4 = 7

 s.c.


x1 + x2 + 2x3 + x4 = 6





 x≥0
!
2 1
Soient x = (2, 2, 1, 0) , x1 et x2 les variables de base et B =
0 t la base.
1 1
On a : ∇ f (x0 ) = (2, 4, 2, −3)T
! !
1 −1 2 1 1 4
r(x ) = (2, 4, 2, −3) − (2, 4)
0
= (0, 0, −8, −1),
−1 2 1 1 2 1

par conséquent, d3 = 8 et d4 = 1.
On a :
dB = B−1 NdN = (5, −22)T
xkj
et µ ≤ µmax = min {− d j } = 11 .
1
j∈B,d j <0
On vérifie que le minimum de la fonction f (x0 + µd) pour µ ∈ [0, 11 1
] est obtenu pour µ = 1
11 .
La variable x2 quitte alors la base pour y être remplacée par x3 ou x4 , au choix.

Remarque pratique :
au cours de l’algorithme, il faut effectuer le changement de base B0 = B − {s} + {r} N0 = N + {s} − {r}

35
et il faut alors calculer A−1
B0
. Ce calcul peut être fait à moindre coût.
On a l’identité AB0 = (AB AB0 )−1 A−1
−1 −1 AB0 étant obtenue à partir de AB en remplaçant la colonne A{s}
B
 1 0 y1 0 

 y1 
 
. .  .. 
 0 . . ..
 
 
 . 
 

 .
.
  
par la colonne A{r} , on a AB AB =  .
−1 0

 p  où AB A{r} =  p 

 −1  
 . 
 .. . .  .. 


. .
 
   
y
  
0 ym 1
 
m
 −y1 
 1 0 p 0 
 0 . . . ..
 
.
 

..
 
si p , 0 alors (AB AB0 ) =  .
−1 −1
 

 1 
p 
.. .

.

. .
 
 
−ym
 
 0 1 
p
On peut donc calculer A−1 B0
en prémultipliant A−1 B
par une matrice simple à obtenir. p est appelé pivot
de la colonne r.

x1 + 2x2 + 3x3 − x4 = 6
(
Exemple 14 Reconsidérons le système
x1 + 3x2 + 2x3 + 5x4 = 4
!
1 2 3 −1
A=
1 3 2 5
! !
1 3 −2 3
Choisissons B = {1, 3}, N = {2, 4}. Alors AB = , A−1
B
=
1 2 1 −1
! ! !
−2 3 2 5
Effectuons le changement de base B = {2, 3}, N = {1, 4} AB A{2} =
0 0 −1 = p=5,0
1 −1 3 −1
1 1 −2 3
! ! ! ! !
2 3 0 0 −2 3
et donc AB0 = est inversible (AB AB0 ) = 51
−1 −1 et AB0 = 51
−1 = 35 −2 5
3 2 5 1 5 1
1 −1 5 5

Sous l’hypothèse de non-dégénérescence, l’opération changement de base est toujours possible.


En effet xB + A−1B
xN = A−1
ANP B
b > 0 et si on note p j le pivot de la colonne j (relatif à xs ) on a :
s ∈ B t.q. xs = 0 ⇒ p j x j > 0 ⇒ ∃r ∈ N t.q. pr xr , 0.
j∈N
! ! !
x1 x2 x1
Exemple 15 (suite) Pour B = {1, 3}, on a + A−1
B
AN = AB b soit
−1 +
x3 x4 x
! ! ! ! ! ! ! ! ! 3
−2 3 2 −1 x2 −2 3 6 x1 5 17 x2 0
= soit encore + =
1 −1 3 5 x4 1 −1 4 x3 −1 −6 x4 2
x3 = 0 ⇒ −x2 − 6x4 = 2
Les pivots des colonnes A2 et A4 (relatifs à x3 ) sont −1 et −6. S’ils étaient nuls on aurait 0 = 2. On voit que
la condition de non-dégénérescence n’est pas nécessaire puisqu’ici A−1 B
b a une composante (celle associée à x1 )
nulle et pourtant on peut effectuer les changements de base B − {1} + {2} et B − {1} + {4}, les pivots (5 et 17)
étant non nuls.

Exemple 16 (Récapitulatif) On considère le problème d’optimisation sous contraintes suivante :

min x21 + x22





s.c. x1 + x2 ≥ 1

(P)



x1 ≥ 0, x2 ≥ 0

36
(P) revient à le pb d’optimisation avec contraintes d’égalité
min x21 + x22



s.c. x1 + x2 + x3 = 1




x1 ≥ 0, x2 ≥ 0, x3 ≥ 0


 
 2 
Choisissons le point initial P0 =  0  et B = {3}, N = {1, 2}.
 
1
 
Itération 1.
∂g ∂f ∂f
On a x3 = −1 + x1 + x2 . On en déduit g(x1 , x2 ) = f (x1 , x2 , −1 + x1 + x2 ), ∂xN = ( ∂x1 , ∂x2 ) = (2x1 , 2x2 ) et
 
 −4 
r(P0 ) = (4 0). La direction de déplacement est  0  .
 
−4
 
   
 2   −4 
α ≤ 12
(
 0  + α  0  ≥ 0 ⇒ ⇒ αmax = 41
   
    α ≤ 14
1 −4
Le minimum de f (2 − 4α, 0, 1 − 4α) sous la contrainte 0 ≤ α ≤ 14 est atteint en α1 = 41 .
 
 1 
Le nouveau point est P1 =  0 . Sa coordonnée 3 est nulle. Il faut effectuer un changement de base. L’indice 1
 
0
 
est l’indice dans N associé à la coordonnée de P1 la plus grande : on forme la nouvelle décomposition B = {1} et
N = {2, 3}.
Itération 2.
∂g ∂f ∂f ∂f ∂f
On a x1 = 1 − x2 + x3 d’où g(x2 , x3 ) = f (1 − x2 + x3 , x2 , x3 ), ∂xN = (− ∂x1 + ∂x2 ∂x1 + ∂x3 ) = (−2x1 + 2x2 2x1 )
 
!  −2 
2
et r(P1 ) = (−2 2). dN = et dB = −2 donc la direction de déplacement est  2  .
 
0
0
 
   
 1   −2 
 0  + α  2  ≥ 0 ⇒ α ≤ 2 ⇒ α
( 1
max = 2
1
    α≤0
0 0
   
Le minimum de f (1 − 2α, 2α, 0) sous la contrainte 0 ≤ α ≤ 12 est atteint en α2 = 14 .
 1 
 2 
Le nouveau point est P2 =  12 .
 
0
 
Itération 3. !
0
Le gradient réduit en P2 est r(P2 ) = (0 1) donc dN = . On arrête.
0
Vérifions que les conditions de Kuhn-Tucker sont satisfaites : ici A = (1 1 − 1)
∂f
soient µ = − ∂x1 ( 21 , 12 , 0)A−1
1
= −2 × 12 = −1 (car A1 = 1), λ1 = 0, (λ2 λ3 ) = r(P2 ) = (0 1)
∂f 1 1
( , , 0)
∂x 2 2
+ µA − λ = 0 ⇔ (2 × 12 2 × 12 0) − (1 1 − 1) − (0 0 0), donc vérifié.
On aura remarqué que l’on a une écriture “transposée” des équations de Kuhn-Tucker.
λ ≥ 0 et les conditions de complémentarités λ1 × 12 = 0, λ2 × 12 = 0, λ3 × 0 = 0 sont vérifiées.
Remarque 3 en partant du même point on obtient des cheminements différents selon le choix du B initial.
 2   2   1 
 5   5   2 
Si l’on choisit B = {1} et N = {2, 3}, on passe par les 3 points P1 =  45  , P2 =  35  , P3 =  12  sans
     
 1 
0 0
   
5
changer de base B.

37
4.4 Autre méthodes
4.4.1 Méthode du gradient projeté
Une idée assez naturelle, pour adapter les méthodes d’optimisation sans contraintes aux pro-
blèmes avec contraintes, est de projeter à chaque étape le déplacement sur la frontière du domaine,
afin de s’assurer que le nouveau point obtenu appartienne à l’ensemble des solutions réalisables.
L’ensemble des contraintes linéaires forme alors un domaine de points réalisables qui s’écrit sous la
forme
Xn
S = {x ∈ R :
n
ai j x j − bi ≤ 0, i = 1, 2, ..., m},
j=1

où les ai j ont été normalisés afin que


n
X
kai k =
2
(ai j )2 = 1 i = 1, 2, .., m.
j=1

Soit Aq la sous matrice de A constituée par les lignes des contraintes saturées en un point x de S,

Aq ≡ [a1 a2 ...aq ]t .

Puisque les vecteur ai sont supposés linéairement indépendants, la matrice symétrique Aq Atq est non
singulière. Par conséquent, son inverse (Aq Atq ) existe.
On définit une matrice symétrique n × n par

Pq = I − Atq (Aq Atq )−1 Aq .

En modifiant ainsi le moins possible la méthode d’origine, on peut espérer conserver son efficacité.
De nombreux algorithmes basés sur ce schéma général ont été proposés. Un des premiers algorithmes
bâtis suivant ce principe est la méthode du gradient projeté de Rosen qui consiste à projeter le gradient
sur l’intersection des contraintes saturées.
La méthode du gradient projeté consiste à prendre comme direction de déplacement la projection
du vecteur gradient sur la frontière du domaine et dont l’algorithme s’écrit sous la forme générale
suivante :
(i) On part de l’initialisation : x0 ∈ S.
(ii) On génére la suite de vecteurs {xk }k≥1 ∈ S définis par :

∀k ≥ 0 xk+1 = xk − ωk Pq ∇ f (xk ), (4.6)

où ωk est le pas de déplacement.

4.4.2 Stratégie de pénalisation des contraintes


Soit le programme mathématique
(
minimiser la fonction : f (x)
sous les contraintes : gi (x) ≤ bi i = 1, ...m.

Une façon simple de se débarrasser des contraintes est d’intégrer dans la fonction objectif une fonction
qui pénalise les vecteurs qui violent les contraintes, on a
m
X
minn f (x) − pi (x)
x∈R
i=1

38
où pi (x) prend une valeur élevée lorsque gi (x) est strictement positif, ce qui décourage l’adoption de
ces vecteurs x. On peut par exemple poser

pi (x) = λ max{0, gi (x) − bi }

où λ est un coefficient positif et grand. Si l’on souhaite que la fonction objectif soit différentiable, on
peut élever l’expression précédente au carré. Pour résoudre le problème pénalisé, il suffit alors de
trouver les points où le gradient de la fonction objectif s’annule.

Principe de pénalisation
Optimisation sous contraintes d’égalité
Le problème formel :

C = {x ∈ V tel que F j (x) = 0 , j = 1, . . . , p}






(4.7)



 ∀x ∈ C F(x̄) ≤ F(x)

Principe :

On supprime les contraintes mais on punit leur non-respect

Pénalisation

Définition 12 (Problème pénalisé)


 X F (x)2
i

 F(x) = F(x) +


 2 (4.8)
i



 ∀x ∈ V F(x) ≤ F(x)

Remarque 4  doit être petit, mais : problème des erreurs de troncature.

Interprétation
Un problème de mécanique
Équilibre d’un treillis :

Un treillis de barres, avec contact unilatéral.


La position d’équilibre pénalisée minimise

1 F1 (x)2
min hKx, xi − hb, xi +
x 2 2
qui est l’énergie potentielle + l’énergie interne du ressort de liaison.

39
Figure 4.1 – Équilibre d’une structure avec contacte unilatéral

Intérêt
Pénalisation

Theorem 16 La √ solution du problème pénalisé tend vers la solution du problème avec contraintes quand  → 0.
L’erreur est en 

Difficulté :

Le problème pénalisé est mal conditionné, la précision est médiocre

40

Vous aimerez peut-être aussi