Programmation Mathématique

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 46

Programmation mathématique SMA 5

UNIVERSITE MOULAY ISMAIL


FACULTE DES SCIENCES
MEKNES

SMA (S5)

Programmation mathématique
—————————

Note de cours

2018-2019

Said Kabbadj
[email protected]

1 Pr. Said Kabbadj


Programmation mathématique SMA 5

Table des matières


1. Notions fondamentales
1.1 Introduction
1.1.1 Motivation et vocabulaire
1.1.2 Différents types d’optimisation
1.2 Différentiabilité
1.2.1 Gradient et hessienne
1.2.2 Formules de Taylor
1.3 Convexité
1.3.1 Ensembles convexes
1.3.2 Fonctions convexes
1.3.3 Caractérisation des fonctions convexes
1.4 Projection sur un convexe fermé
1.5 Existence et unicité d’un point de minimum
1.6 Conditions d’optimalité
1.6.1 Conditions d’optimalité du premier ordre
1.6.2 Conditions d’optimalité du second ordre

2. Algorithmes de descente pour des problèmes d’optimisation sans


contraintes
2.1 Introduction
2.2 Vecteurs et facteurs de descente
2.3 Généralités sur les algorithmes de descente
2.4 Algorithmes de descente du gradient
2.4.1 Algorithme du gradient à pas fixe
2.4.2 Algorithme du gradient à pas optimal
2.5 La méthode des gradients conjugués

3. Conditions d’optimalité
3.1 Conditions d’optimalité
3.2 Conditions d’optimalité pour les problèmes avec contraintes d’égalités
3.3 Conditions d’optimalité pour les problèmes avec contraintes d’inégalités
3.4 Conditions d’optimalité pour les problèmes avec contraintes d’égalités et
d’inégalités

4. Problèmes d’optimisation avec contraintes


4.1 Algorithmes du gradient à pas fixe avec projection
4.2 Méthodes de dualité

2 Pr. Said Kabbadj


Programmation mathématique SMA 5

Chapitre 1

Notions fondamentales

1.1 Introduction

1.1.1 Motivation et vocabulaire : L’optimisation est une branche des mathématiques


cherchant à modéliser, à analyser et à résoudre analytiquement ou numériquement les
problèmes qui consistent à minimiser ou maximiser une fonction sur un ensemble .

On appelle problème d’optimisation tout problème de la forme :

(P) : 00
Trouver x∗ ∈ U tel que f (x∗ ) = min f (x)00 .
x∈U

U étant une partie d’un ensemble E , et f : E → R est une fonction donnée. Le but
de l’optimisation est de proposer des algorithmes permettant d’approcher les solutions
x∗ de (P) au sens où partant d’un vecteur initial x0 quelconque, on construit explici-
tement une suite de vecteurs {xk }k∈N convergent vers une solution x∗ . Le problème
d’optimisation est dit sans contraintes si U = E, et sous contraintes sinon .

On dit que :

• f est la fonction objectif ou critère d’optimisation .


• v = f (x∗ ) est la valeur optimale .
• x∗ est une solution optimale .
• U est l’ensemble des solutions réalisables ou admissibles .

Dans ce cours on se placera toujours dans le cas où E = Rp (c’est à dire en dimension
finie ). On note < ·, · > le produit scalaire canonique et k · k la norme euclidienne
associée définie par :

3 Pr. Said Kabbadj


Programmation mathématique SMA 5


∀x ∈ Rp , kxk = < x, x > .

Les méthodes développées dans ce cours permettent aussi de trouver les valeurs maxi-
males de f, pour cela il suffit de remplacer f par -f , puisque :

max f (x) = − min(−f (x)).


x∈U x∈U

Exemple 1.1 : Un problème de production

Une usine a besoin de n produits a1 , .., an en quantité x1 , .., xn pour fabriquer un produit
fini b en quantité h(x1 , .., xn ). Soit pi le prix unitaire du produit i et p le prix de vente
du produit fini. On désire calculer la production optimale. Il s’agit donc de maximiser
la fonction
i=n
X
f(x) = ph(x1 , .., xn ) - p i xi
i=1

1.1.2 Différents types d’optimisation :


1. Optimisation linéaire :
• f est une fonction linéaire f(x) = < c, x >
• U est défini par des fonctions affines.
2. Optimisation quadratique .
• f est une fonction quadratique : f(x) = 21 < Ax, x > + < b, x >
A est une matrice symétrique sdéfinie positive
• U est défini par des fonctions affines.

3. Optimisation convexe :
f est une fonction convexe et U est un domaine convexe .

4. Optimisation différentiable :
f est une fonction différentiable et les fonctions (contraintes) sont différentiables.

5. Optimisation non différentiable :


f n’est pas différentiable sur U .

1.2 Différentiabilité

1.2.1 Gradient et hessienne

Définitions 1.2 Soit U ⊂ Rp un ouvert et f : U → R

4 Pr. Said Kabbadj


Programmation mathématique SMA 5

1. On dit que f est différentiable au point x ∈ U s’il existe un voisinage V de x dans


U , une application linéaire Lx : Rp → R et ε : V → R tels que :
lim ε(y − x) = 0 et ∀y ∈ V , on a :
y ∈V →x

f (y) = f (x) + Lx (y − x) + ky − xkε(y − x).


Lx est la différentielle de f en x et on la note dfx .

2. ∀x ∈ U , ∀h ∈ Rp . On note (s’il existe)


∂f f (x + th) − f (x)
(x) = lim = g0(0) avec g(t) = f (x + th) ,
∂h t→0 t
et on l’appelle la dérivée directionnelle de f en x suivant la direction h.

3. ∀x ∈ U ,∀i ∈ {1, ..., p} . On note (s’il existe)


∂f f (x + tei ) − f (x) ∂f
(x) = lim = (x) ,
∂ei t→0 t ∂xi
et on l’appelle la dérivée partielle de f au point x de direction xi .

∂f ∂f
4. ∀x ∈ U, on note (quand il existe) ∇f (x) = ( (x), ........, (x))T
∂x1 ∂xp
est le vecteur gradient de f en x.

5. f ∈ C m (U) si toutes les dérivées partielles jusque à l’ordre m existent et continues

6. ∀x ∈ U , on note (quand il existe ) ∇2 f (x) la matrice hessienne de f en x telle


que :
∂f
(∇2 f (x))i,j = (x) .
∂xi ∂xj
Remarque 1.3

∂f
(a) (x) = 0, ∀x
∂0
∂f ∂f
(b) (x) = (x), ∀x
∂xi ∂ei
Proposition 1.4
1 Si f est différentiable en x , alors f est continue en x et admet en x une dérivée
directionnelle suivant tout vecteur v ∈ Rp de plus

∂f
dfx (v) = (x).
∂v

5 Pr. Said Kabbadj


Programmation mathématique SMA 5

2 Si f est différentiable en x alors les n dérivées partielles de f en x existent et


p
p
X ∂f
∀h ∈ R , dfx (h) =< ∇f (x), h >= (x)hi
i=1
∂x i

3 Soient U ouvert de Rp et V ouvert de R . Si f : U → R et g : V → R deux


fonctions de classe C 1 avec f (U) ⊂ V alors g ◦ f est de classe C 1 et

∇(g ◦ f )(x) = g 0 (f (x)) · ∇f (x) , ∀x ∈ U

4 Si f ∈ C 2 (U) alors la matrice hessienne est symétrique.

Proposition 1.5 Si f : U → R une fonction deux fois différentiable alors

∀x ∈ U, ∀h ∈ Rp , ∇2 f (x)h = ∇ < ∇f (x), h > .

Preuve. Pour i = 1, ...., , p ;

p p
∂ < ∇f (x), h >= ∂
X ∂f X ∂ 2f
(x)hj = (x)hj = (∇2 f (x)h)i
∂xi ∂xi ∂x j ∂x i ∂x j
j=1 j=1

Exemples 1.6 Soit f : Rp → R

(a) Si f(x) = c ∈ R ( fonction constante) alors :

∇f = 0 et ∇2 f = 0

(b) Si f(x) = < a, x > ( fonction linéaire ) alors :

∇f = a et ∇2 f = 0.
∂f
( = ai ⇒ ∇f = a ⇒ ∇2 f = 0.)
∂xi
Exercice 1.7 Soit f : Rp → R une fonction quadratique associée à la matrcice A ∈
Mp (R) définie par :

f (x) =< Ax, x >, ∀x ∈ Rp

Montrer que :
1) ∇f (x) = (A + AT )x , ∀x ∈ Rp .
2) ∇2 f (x) = A + AT , ∀x ∈ Rp .

6 Pr. Said Kabbadj


Programmation mathématique SMA 5

1.2.2 Formules de Taylor

Soit U un ouvert de Rp , a ∈ U , h ∈ Rp et f : U → R tels que , [a, a + h] ⊂ U .

Proposition 1.8 : Si f ∈ C 1 (U) alors :


Z 1
f (a + h) = f (a) + < ∇f (a + th), h > dt. (1)
0

(1) est la formule de Taylor à l’ordre 1 avec reste intégral

f (a + h) = f (a)+ < ∇f (a), h > + ◦ (khk) (2)

(2) est la formule de Taylor-Young à l’ordre 1.

f (a + h) = f (a)+ < ∇f (a + θh), h >, avec θ ∈]0, 1[ (3)


(3) est la formule de Taylor-Maclaurin à l’ordre 1 .

Proposition 1.9 : Si f ∈ C 2 (U) alors :


Z 1
f (a + h) = f (a)+ < ∇f (a), h > + (1 − t) < ∇2 f (a + th)h, h > dt. (4)
0

(4) est la formule de Taylor à l’ordre 2 avec reste intégral .

1
f (a + h) = f (a)+ < ∇f (a), h > + < ∇2 f (a)h, h > + ◦ (khk2 ). (5)
2
(5) est la Formule de Taylor-Young à l’ordre 2 :

1
f (a + h) = f (a)+ < ∇f (a), h > + < ∇2 f (a + θh)h, h >, avec θ ∈]0, 1[. (6)
2
(6) est la formule de Taylor-Maclaurin à l’ordre 2.

1.3 Convexité :

1.3.1 Ensembles convexes :

Définition 1.10 Soit U un sous ensemble de Rp , U est dit :

7 Pr. Said Kabbadj


Programmation mathématique SMA 5

• Affine si ∀x, y ∈ U, ∀λ ∈ R, λx + (1 − λ)y ∈ U .


• Convexe si ∀x, y ∈ U, ∀λ ∈ [0, 1] , λx + (1 − λ)y ∈ U .

Exemple
1. Tout ensemble affine est convexe .
2. Un sous espace vectoriel est convexe .

Proposition 1.11 Si U1 et U2 sont des parties convexes de Rp , alors :


1. U1 + U2 est convexe .
2. αU1 est convexe ,∀α ∈ R .
3. U1 ∩ U2 est convexe .
4. Le produit cartésien U1 × U2 est convexe dans Rp × Rp .

8 Pr. Said Kabbadj


Programmation mathématique SMA 5

1.3.2 Fonctions convexes :

Définitions 1.12 Soit U ⊂ Rp convexe . f : U ⊆ Rp → R est dite :

1. Convexe sur U si :
∀x, y ∈ U , ∀λ ∈ [0, 1] , f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y) .

2. Strictement convexe sur U si :


∀x, y ∈ U, x 6= y, ∀λ ∈]0, 1[ , f (λx + (1 − λ)y) < λf (x) + (1 − λ)f (y) .

3. (Strictement ) concave sur U si son opposée -f est (strictement ) convexe

4. α-fortement convexe (ou fortement convexe ) sur U si ∃α ∈ R, ∀x, y ∈ U, ∀λ ∈


[0, 1] :
f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y) − α2 λ(1 − λ)kx − yk2 .

5. Elliptique si f est de classe C 1 (U) et fortement convexe .

6. Coercive si et seulement si :
lim f (x) = +∞ .
kxk→+∞

Remarque 1.13 On peut également restreindre θ à ]0, 1[ pour la définition de la


convexité

Exemples 1.14

1. Toute fonction linéaire est convexe .

2. Sur R , la fonction x → x2 est strictement convexe .

3. Sur R , la fonction x →| x | est convexe mais pas strictement covexe . Soit x 6= 0,


| 12 .x + 21 .0 |= 21 | x |= 12 | x | + 12 | 0 | .

4. Le sup d’une famille quelconque de fonctions convexes est convexe.

5. Toute norme sur Rp est convexe .

9 Pr. Said Kabbadj


Programmation mathématique SMA 5

Définition 1.15 L’épigraphe d’une fonction f est définie par :

epi(f ) = {(x, λ) ∈ Rp × R , f (x) ≤ λ} .

Proposition 1.16 Soit f : Rp → R .


1. f est convexe ⇔ epi(f ) est convexe .
2. Soient f et g deux fonctions convexes alors :
(a) f + g est convexe .
(b) ∀α ≥ 0, αf est convexe .

Preuve : 1. Soient x, y ∈ Rp , λ1 , λ2 ∈ R tel que (x, λ1 ), (y, λ2 ) ∈ epi(f ) et soit


θ ∈ [0, 1] .
Supposons que f est convexe, on a :

θ(x, λ1 ) + (1 − θ)(y, λ2 ) = (θx + (1 − θ)y, θλ1 + (1 − θ)λ2 )

Alors :

f (θx + (1 − θ)y) ≤ θf (x) + (1 − θ)f (y) ≤ θλ1 + (1 − θ)λ2

Et par conséquent : θ(x, λ1 ) + (1 − θ)(y, λ2 ) ∈ epi(f ) , d’où epi(f ) est convexe .

Réciproquement , on suppose que epi(f ) est convexe .


Soient (x, f (x)), (y, f (y)) ∈ epi(f ) et λ ∈ [0, 1] ,on a :

λ(x, f (x)) + (1 − λ)(y, f (y)) ∈ epi(f )

Alors :

(λx + (1 − λ)y, λf (x) + (1 − λ)f (y)) ∈ epi(f )

Et donc :

f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y) , d’où f est convexe .

1.3.3 Caractérisation des fonctions convexes

Proposition 1.17 Soit U un ouvert de Rp , V ⊂ U est un convexe et f : U → R est


de classe C 1 .

a) Les propositions suivantes sont équivalentes :

10 Pr. Said Kabbadj


Programmation mathématique SMA 5

1. f est convexe sur V.

2.
f (y) ≥ f (x)+ < ∇f (x), y − x >, ∀x, y ∈ V (7)
3. (Monotonie de ∇f sur V ) .

< ∇f (y) − ∇f (x), y − x >≥ 0, ∀x, y ∈ V (8)


b) Si de plus f est de classe C 2 sur U alors f est convexe sur V si et seulement si

< ∇2 f (x)(y − x), y − x >≥ 0, ∀x, y ∈ V. (9)


Preuve. a) Montrons que 1. ⇒ 2. ⇒ 3. ⇒ 1.

1 ⇒ 2e Soient x, y ∈ V et t ∈]0, 1] , f est convexe donc :

f (x + t(y − x)) ≤ f (x) + t(f (y) − f (x)) (10)


f (x+t(y−x))−f (x)
(10) ⇒ t
≤ (f (y) − f (x)) , en faisant tendre t vers 0

∂f (x)
⇒ ∂(y−x) ≤ f (y) − f (x)
⇒ < ∇f (x), y − x >≤ f (y) − f (x).

2 ⇒ 3e On a :

f (y) ≥ f (x)+ < ∇f (x), y − x >

et

f (x) ≥ f (y)+ < ∇f (y), x − y >

On faisant la somme et ces deux inégalités on obtient :

< ∇f (y) − ∇f (x), y − x >≥ 0.

3 ⇒ 1e Soient x , y fixés de V et t ∈ [0, 1] . Soit g :[0, 1] → R , avec

g(t) = f (ty + (1 − t)x) = f (x + t(y − x)) ∈ R

g est de classe C 1 avec g0(t)=< ∇f (x + t(y − x)), y − x > .


Soient t1 , t2 ∈ [0, 1] , avec t1 < t2 . On a :
1
g0(t2 ) − g0(t1 ) = t2 −t1
< ∇f (x + t2 (y − x)) − ∇f (x + t1 (y − x), (t2 − t1 )(y − x) >≥ 0

Donc g0 est croissante, d’où g est convexe sur [0, 1], par conséquent pout t ∈ [0, 1] :

11 Pr. Said Kabbadj


Programmation mathématique SMA 5

g(t.1 + (1 − t).0) ≤ tg(1) + (1 − t)g(0)


C’est à dire : f (ty + (1 − t)x) ≤ tf (y) + (1 − t)f (x) .

b) f est de classe C 2 . Supposons que f est convexe et montrons (9)


Soit h ∈ Rp fixé et soit g : U → R la fonction définie par g(x) =< ∇f (x), h >, ∀x ∈ U
Par application de la proposition 1.5. :
∂g(x) < ∇f (x + th) − ∇f (x), th >
< ∇2 f (x)h, h >=< ∇g(x), h >= = lim ,
∂h t→0 t2
Soit x, y ∈ V, et h = y-x , x + t(y-x) ∈ V donc de la monotonie de ∇f et de l’inégalité
précédente on déduit (9) .

Inversement soient x, y ∈ V fixés


On définit h :U → R tel que :
h(z)=< ∇f (z), x − y >, ∀z ∈ U
On a :
h(x) − h(y) =< ∇f (x) − ∇f (y), x − y >
Et d’après la formule de Taylor on a :
∀θ ∈]0, 1[ , h(x) − h(y) =< ∇h(y + θ(x − y)), x − y >
Or : ∀z ∈ V, ∇h(z) = ∇2 f (z)(x − y). Alors :

< ∇f (x) − ∇f (y), x − y >=< ∇2 f (y + θ(x − y))(x − y), (x − y) > (11)


Puisque y − z = −θ(x − y) ,
1
< ∇2 f (y + θ(x − y))(x − y), (x − y) >= < ∇2 f (z)(y − z), (y − z) > (12)
(θ)2

(11) et (12) permettent de déduire la monotonie de ∇f , donc f est convexe .

Proposition 1.18 Soit U un ouvert de Rp , V ⊂ U est un convexe et f : U → R est


de classe C 1 .

a) Les propositions suivantes sont équivalentes :

1. f est strictement convexe sur V.

2.
f (y) > f (x)+ < ∇f (x), y − x >, ∀ x, y ∈ V avec x 6= y (13)

12 Pr. Said Kabbadj


Programmation mathématique SMA 5

3. ∇f est strictement monotone sur V , c’est à dire :

< ∇f (y) − ∇f (x), y − x >> 0, ∀x, y ∈ V avec x 6= y (14)


b) Si de plus f est de classe C 2 sur U alors si

< ∇2 f (x)(y − x), y − x >> 0, ∀x, y ∈ V avec x 6= y (15)


alors f est strictement convexe sur V.

Remarques 1.19

(i) Dans le cas particulier où V est ouvert pour les deux propositions précédentes les
inégalités (9) et (15) concernant la matrice hessienne ∇2 f s’écrivent respectivement :

< ∇2 f (x)h, h >≥ 0, ∀x ∈ V, ∀h ∈ Rp . (9’)

< ∇2 f (x)h, h >≥ 0, ∀x ∈ V, ∀h ∈ Rp . (15’)

( Puisque V est ouvert , ∀h ∈ Rp et pour t > 0 assez petit , y = x + th ∈ V.

(ii) Dans b) de la proposition , il n’y a pas équivalence . f : R → R avec f (x) = x4 , est


strictement convexe , mais (15) n’est pas vérifiée si x = 0.

(iii) Dans le cas particulier p = 1 et V un intervalle dans R, on a ∇2 f (x) = f 00 (x),


donc < ∇2 f (x)(x − y), (x − y) >= f 00 (x)(y − x)2 . Alors (9) et (15) peuvent s’écrire
respectivement :

f 00 (x) ≥ 0, ∀x ∈ V et f 00 (x) > 0, ∀x ∈ V

On retrouve donc une caractérisation bien connue pour la convexité et la convexité


stricte .

1.4 Projection sur un convexe fermé

Définition 1.20 Soit C un convexe fermé de Rp et x ∈ Rp . On considère le problème


d’optimisation convexe suivant :

min k y − x k
(P0 )
y∈C

13 Pr. Said Kabbadj


Programmation mathématique SMA 5

Proposition 1.21

a) Pour tout x ∈ Rp , le problème (P0 ) admet une unique solution PC (x) appelée pro-
jection de x sur C, et PC : Rp −→ C est appelé opérateur projection sur C.

b) PC (x) est la projection de x sur C si et seulement si :

< x − PC (x), y − PC (x) >≤ 0, ∀y ∈ C. (16)

c) L’opérateur PC est  monotone  : C’est à dire ∀x1 , x2 ∈ Rp


hPC (x1 ) − PC (x2 ), x1 − x2 i ≥ 0.

Preuve. a) Existence : on pose d = d(x, C) = inf k x − z k . Puisque


z∈C
d2 = inf k x − z k2 et par définition de la borne inférieure, on a :
z∈C
1
∀n ∈ N ∗ , ∃yn ∈ C, k x − yn k2 ≤ d2 +
. (17)
n
Montrons que {yn } est de cauchy. Par l’identité de parallélogramme

k z − z 0 k2 = 2 k z k2 +2 k z 0 k2 − k z + z 0 k2 (18)
En remplaçant z par yn − x et z’ par yp − x dans (18) , on a

k yn − yp k2 = 2 k yn − x k2 +2 k yp − x k2 − k yn + yp − 2x k2
yn +yp yn +yp
= 2 k yn − x k2 +2 k yp − x k2 −4 k 2
− x k2 , 2
∈ C donc
≤ (2d2 + n2 ) + (2d2 + p2 ) − 4d2
= n2 + p2
D’autre part n1 → 0, p1 → 0, donc ∀ε > 0, ∃Nε ∈ N, ∀n, p ≥ N : n1 + p1 ≤ 2ε , donc {yn }
est de cauchy, Rp est complet d’où yn → y ∈ C . D’ après (17), on a k x − y k≤ d d’où
k x − y k= d .

Unicité : Supposons qu’ils existe y, y 0 ∈ C tels que : y 6= y 0 , d =, k x − y k=k x − y 0 k


D’après (18),
y+y 0
k 2
− x k2 =k 12 (y − x) + 21 (y 0 − x) k2
= 12 k y − x k2 + 12 k y 0 − x k2 − 14 k y − y 0 k2
= d2 − 14 k y − y 0 k2 < d2 ,
y+y 0 y+y 0
2
∈ C et k 2
− x k2 < d2 est absurde .

b) Soit :

14 Pr. Said Kabbadj


Programmation mathématique SMA 5

(i) : ∀y ∈ C, kx − PC (x)k ≤ kx − yk,


(ii) : ∀y ∈ C, < x − PC (x), y − PC (x) >≤ 0.

Montrons que (i) et (ii) sont équivalentes

(i) implique (ii) : Soient y un élément de C et λ un réel compris entre 0 et 1, alors


λy + (1–λ)PC (x) ∈ C , d’après la propriété (1), donc :

kx − PC (x)k2 ≤ kx − PC (x) − λ(y − PC (x))k2

On en déduit la majoration :

2λ hx − PC (x) , y − PC (x)i ≤ λ2 ky − PC (x)k2

Il suffit alors de diviser par λ puis de passer à la limite quand λ tend vers 0 (par valeurs
strictement positives) pour obtenir le résultat.

(ii) implique (i) :

kx − yk2 = kx − PC (x)k2 − 2hx − PC (x) , y − PC (x)i + ky − PC (x)k2 ≥ kx − PC (x)k2 .

Remarquons qu’ici, la convexité de C n’est pas utile.

c) L’application PC est  monotone  : C’est une conséquence directe du fait que


< PC (x1 )–x1 , PC (x1 )–PC (x2 ) > et < PC (x2 )–x2 , PC (x2 )–PC (x1 ) > sont tous deux
négatifs ou nuls. En sommant ces deux inégalités on obtient que

hPC (x1 ) − PC (x2 ), x1 − x2 i ≥ kPC (x1 ) − PC (x2 )k2 ≥ 0.

1.5 Existence et unicité d’un point de minimum

Définitions 1.22 Soit U ⊂ Rp , f : U → R et x∗ ∈ U .

• On dit que x∗ est un point de minimum global ( ou absolu ) de f sur U si :

∀x ∈ U, f (x) ≥ f (x∗ ) .

• On dit que x∗ est un point de maximum global de f sur U si :

∀x ∈ U, f (x) ≤ f (x∗ ) .

15 Pr. Said Kabbadj


Programmation mathématique SMA 5

• On dit que x∗ est un minimum local ou relatif de f sur U s’il existe un voisinage
V de x∗ dans Rp tel que :

f (x) ≥ f (x∗ ), ∀x ∈ U ∩ V .

• On dit que x∗ est un maximum local de f sur U s’il existe un voisinage V de


x∗ dans Rp tel que :

f (x) ≤ f (x∗ ), ∀x ∈ U ∩ V .

• On dit que x∗ est un point d’extremum global (resp local ) de f sur U, si x∗ est
soit un point de maximum global (resp local) , soit un point de minimum global
(resp local) de f sur U.

Remarque 1.23 Un point d’extremum global est un point d’extremum local.

Théorème 1.24 (Existence) Soit U ⊆ Rp non vide et fermé .


f : U → R continue , on suppose soit :
• U est borné.
• U est non borné et f est coercive sur U .
Alors il existe au moins un point de minimum global de de f sur U .

Preuve.

• Si U est borné on applique le théorème de Weierstrass.

• Si U est non borné . Soit a ∈ U , on pose :

E = {x ∈ U, f (x) ≤ f (a)} = f −1 (] − ∞, f (a)])

E est borné car sinon il existe (xk ) une suite de E tel que kxk k 7−→ +∞
Or f (xk ) ≤ f (a) , ce qui est absurde car f est coercive .

E est compacte et f continue donc f admet un minimum x∗ sur E .

∀x ∈ E, f (x∗ ) ≤ f (x)

et

∀x ∈ (U/E), f (x∗ ) ≤ f (a) < f (x)

Conclusion : ∀x ∈ U on a : f (x∗ ) ≤ f (x).

16 Pr. Said Kabbadj


Programmation mathématique SMA 5

Théorème 1.25 (Unicité)


Soit U ⊆ Rp convexe et f :U → R strictement convexe , alors il existe au plus un point
de minimum de f sur U .

Preuve On suppose qu’ils existent u1 et u2 tels que :

f (u1 ) = f (u2 ) ≤ f (x), ∀x ∈ U,

alors

f ( 21 u1 + 21 u2 ) < 12 f (u1 ) + 12 f (u2 ) (car f est strictement convexe)

D’où : f ( 21 u1 + 21 u2 ) < f (u1 ) , ce qu’est absurde .

1.6 Conditions d’optimalité

Dans cette partie , on suppose que U est un ouvert de Rp

1.6.1 Conditions d’optimalité du premier ordre

Théorème 1.26 ( Condition nécessaire du premier ordre : CN1)

Soit f : U → R une fonction à valeurs réelles . Si la fonction f admet un extremum local


en un point x ∈ U et si elle est différentiable en ce point , alors

∇f (x) = 0

On dit qu’un point est critique de f si ∇f (x) = 0.

Preuve f est différentiable au point x ∈ U, donc il existe un voisinage V de x dans U


tel que :
∀y ∈ V, f (y) = f (x)+ < ∇f (x), (y − x) > +ky − xkε(y − x). (19)
On suppose que f admet un minimum local en x . Il existe donc une boule B(x,r) de
centre x et de rayon r dans V telle que :

∀y ∈ B(x, r) ⊂ V : f (x) ≤ f (y).

Soit h ∈ (Rp )∗ fixé , et soit 0 < t < r


khk
= t0 . x + th ∈ B(x, r), donc en remplaçant y
par x +th dans (19), on aura :

f (x + th) − f (x) =< ∇f (x), th > +kthkε(th) ≥ 0.

Donc

< ∇f (x), h > +khkε(th) ≥ 0.

17 Pr. Said Kabbadj


Programmation mathématique SMA 5

En faisant tendre t vers 0, on aura :

< ∇f (x), h >≥ 0, ∀h ∈ Rp (20)

En remplaçant h par -h dans (20) , on aura ∇f (x) = 0.

Attention

1) Ce resultat est faux si U n’est pas un ouvert.

2) La réciproque est fausse

Proposition 1.27 : Si U est convexe et f : U → R une fonction convexe dre classe


C 1 . Alors un point x ∈ U est un minimum global de f si et seulement si ∇f (x) = 0

Preuve : Reste à vérifier que si ∇f (x) = 0 alors x est un minimum global de f sur U.
f est convexe sur U, donc

f (y) ≥ f (x)+ < ∇f (x), y − x >, ∀x, y ∈ U

∇f (x) = 0 =⇒ f (y) ≥ f (x), ∀y ∈ U

1.6.2 Conditions d’optimalité du second ordre

Théorème 1.28 ( condition nécessaire du second ordre : CN2)

Soit f : U → R une fonction à valeurs réelles. Si f ∈ C 2 (U) et f admet un minimum


local (respectivement maximum local ) en x alors :

∀h ∈ Rp , < ∇2 f (x)h, h >≥ 0 (respectivement) < ∇2 f (x)h, h >≤ 0 )

Autrement dit la matrice ∇2 f (x) est positive (respectivement) négative.

Preuve : On suppose que f admet un minimum local en x . Il existe donc une boule
B(x,r) de centre x et de rayon r telle que :

∀y ∈ B(x, r) ⊂ U : f (x) ≤ f (y). (21)


r
Soit h ∈ (Rp ) fixé , il existe une boule B(x, r) ⊂ U et soit t tel que 0 < t < khk = t0 .
x + th ∈ B(x, r), donc en remplaçant y par x +th dans (21), a par x et h par th dans
(5) on aura :
2
f (x + th) − f (x) = t < ∇f (x), h > + t2 < ∇2 f (x)h, h > +t2 khk2 ε(th) ≥ 0.

∇f (x) = 0 , donc

18 Pr. Said Kabbadj


Programmation mathématique SMA 5

1
2
< ∇2 f (x)h, h > +khk2 ε(th) ≥ 0

en faisant tendre t vers 0, on aura :

< ∇2 f (x)h, h >≥ 0.

Théorème 1.29 ( condition suffisante du second ordre : CN2)


Soit f : U → R une fonction à valeurs réelles. On suppose que f ∈ C 2 (U) .
Si ∇f (x) = 0 et

∀h ∈ (Rp )∗ , < ∇2 f (x)h, h >> 0,

alors f admet un minimum local strict en x .

Preuve Comme ∇2 f (x) est définie positive alors : il existe α > 0 tel que :

< ∇2 f (x)h, h >≥ αkhk2

(α = λmin (∇2 f (x)) la plus petite valeur propre de ∇2 f (x) . On a d’après la formule de
Taylor :

f (x + h) = f (x)+ < ∇f (x), h > + 21 < ∇2 f (x)h, h > +khk2 ε(h)

=⇒ f (x + h) − f (x) ≥ ( α 2
2 − | ε(h) |)(khk )
lim ε(h) = 0. Soit r > 0 , ∀h ∈ B(0, r), | ε(h) |< 21 α . Alors , ∀h ∈ B(0, r) , f (x + h) >
f (x), donc x est bien un minimum strict.

19 Pr. Said Kabbadj


Programmation mathématique SMA 5

Chapitre 2

Algorithmes de descente pour des


problèmes d’optimisation sans contraintes

2.1 Introduction :

Dans ce chapitre , on s’intéresse à résoudre le problème d’optimisation convexe sans


contraintes de la forme :

(P) : ” Trouver x∗ ∈ Rp tel que : f (x∗ ) = minp f (x)”


x∈R

Avec f : Rp → R est une fonction convexe différentiable sur Rp . Si le problème (P)


admet une solution x∗ , on note :
p∗ = f (x∗ ) = minp f (x) .
x∈R

Sous ces hypothèses on sait que résoudre (P), revient à résoudre le système non linéaire
suivant :

∂f
 
(x)
 ∂x1 
 
0
 ∂f (x)  
 ∂x  0
 2  
∇f (x) =  .  =  . 


 .  .
 
∂f 0
 
(x)
∂xp

20 Pr. Said Kabbadj


Programmation mathématique SMA 5

Ce type de système est souvent difficile à résoudre , on étudie alors des méthodes
numériques, qui sont spécifique à l’optimisation . Ces méthodes consistent à construire
des suites minimisantes {xk }k∈N par récurrence , ie : on se donne un point x0 ∈ Rp et
on construit xk+1 comme une fonction de xk , l’expression générale de xk+1 sera :

xk+1 = xk + ρk dk .

Avec dk ∈ Rp qu’on appelle direction de descente et ρk ∈ R scalaire qu’on appelle pas


de descente .

2.2 Vecteurs et facteurs de descente

Définition 2.1 Soit f :Rp → R de classe C 1 et soit x ∈ Rp . Le vecteur d ∈ Rp est


appelé direction (ou vecteur) de descente de f en x si et seulement si

< ∇f (x), d >< 0 .

Autrement dit si et seulement si h0 (0) < 0 , avec h est la fonction auxiliaire d’une
variable définie par :

h(t) = f (x + td)

Remarque 2.2

Pour tout x tel que ∇f (x) 6= 0 , −∇f (x) est une direction de descente de f en x .

Proposition 2.3

Si d est une direction de descente de f en x alors ∃ t0 > 0 tel que :

f (x + td) < f (x), ∀t ∈ ]0, t0 ] .

Preuve : ∀t > 0 , on a :

h(t) = h(0) + h0 (0)t + tε(t) (22)


avec ε(t) → 0, (22) s’écrit alors :

f (x + td) = f (x) + t < ∇f (x), d > +tε(t) (23)


soit encore :

f (x + td) − f (x)
=< ∇f (x), d > +ε(t) (24)
t

21 Pr. Said Kabbadj


Programmation mathématique SMA 5

On voit bien que pour t suffisament petit ; on aura : f (x + td) < f (x) .

Attention : La réciproque est fausse .

2.3 Géneralités sur les algorithmes de descente

Soit f : Rp → R , différentiable et convexe sur Rp . On considère le problème d’op-


timisation convexe :

min f (x)
(P) :
x ∈ Rp .
On suppose que (P) a une solution x∗ , pour résoudre ce problème, l’algorithme de
descente prend la forme générale suivante :

——————————————————————————————————————
Algorithme 1 : Algorithme de descente géneral :
——————————————————————————————————————

Données : un point x0 ∈ Rp et un seuil de tolérance ε > 0


Résultat : un point x ∈ Rp proche de x∗
Initialiser x :
x ← x0 ,
k ←− 0 ;
Tant que k∇f (x)k > ε faire :
1. Déterminer une direction de descente dk ∈ Rp .
2. Déterminer un pas de descente tk > 0 tel que f (xk + tk dk ) < f (xk ) .
3. Mettre à jours x :
x ←− xk+1 = xk + tk dk ;
k ←− k + 1 ;
Fin .
——————————————————————————————————————

Remarques
1. Pour appliquer cet algorithme, il faut bien choisir une direction de descente dk
et un pas de descente tk , pour chaque itération k.

2. Par construction on a :
f (xk+1 ) < f (xk )

22 Pr. Said Kabbadj


Programmation mathématique SMA 5

On voit bien la descente des valeurs de f (xk ), d’où le nom attribué à l’algorithme
1 : Algorithme de descente

Existence : D’après la proposition 2.3 , pour chaque itération k , tk existe, donc la


suite {xk } est bien définie .

Convergence : A-t-on xk → x∗

Si f est m-fortement convexe ( voir TD2), ona :


2
k xk − x∗ k≤ k ∇f (xk ) k,
m
donc le critère d’arrêt

k ∇f (xk ) k≤ ε

est bien justifié , car cela implique que



k xk − x∗ k≤ .
m

Vitesse de convergence : Une fois qu’un algorithme est prouvé être convergent , on
s’intéresse à sa vitesse de convergence (xk −→ x∗ ). On dit que la méthode est d’ordre
r > 1, s’il existe une constante C > 0 telle que, pour k suffisamment grand

kxk+1 −x∗ k
kxk −x∗ kr
≤C

• Si r = 1, il faut C ∈]0; 1[ pour avoir convergence et on a alors convergence linéaire.

• Si r = 2, on a une convergence quadratique.


k+1 k
• Si lim kx −x k
kxk −x∗ kr
= 0 alors on dit que l’on a convergence superlinéaire (ce qui est le cas
pour toutes les méthodes d’ordre r > 1).

2.4 Algorithmes de descente du Gradient :


Dans cette partie , on étudie un algorithme de descente particulier appelé algorithme
de descente du gradient . Cet algorithme prend pour direction de descente d = dk au
point x = xk le vecteur opposé du gadient, soit

dk = −∇f (xk ) .

23 Pr. Said Kabbadj


Programmation mathématique SMA 5

dk est bien une direction de descente d’après la remarque 2.2.

La recherche de pas de descente peut être choisie de plusieurs façons, dans ce cours on
se limite aux deux cas suivants :

1. tk = t = cst , l’algorithme est dit alors algorithme du gradient à pas fixe .

2. tk = arg min f (xk + tdk ) , l’algorithme est dit alors algorithme du gradient à
t∈]0,+∞[
pas optimal

2.4.1 Algorithme du gradient à pas fixe :


——————————————————————————————————————
Algorithme 2 : Algorithme du gradient à pas fixe . :
——————————————————————————————————————

Données : un point x0 ∈ Rp et un seuil de tolérance ε > 0


Résultat : un point x ∈ Rp proche de x∗
Initialiser x :
x ← x0 ,
k ←− 0 ;
Tant que k∇f (x)k > ε faire :
1. dk = −∇f (xk ) .
2. tk = t = cst .
3. Mettre à jours x :
x ←− xk+1 = xk + tk dk ;
k ←− k + 1 ;
Fin .
——————————————————————————————————————

Théorème 2.2

Soit f :Rp → R une fonction de classe C 1 , f vérifie les propriétés suivantes :


(i) f est α- fortement convexe , c’est à dire :

∀x, y ∈ Rp , < ∇f (x) − ∇f (y), x − y >≥ αkx − yk2 (25)

24 Pr. Said Kabbadj


Programmation mathématique SMA 5

(ii) ∇f est M-Lipschitzienne , c’est à dire :

∃M > 0, ∀x, y ∈ Rp : k∇f (x) − ∇f (y)k ≤ M kx − yk (26)

(iii) Il existe deux réels a et b tels que :


∀k ≥ 0, tk vérifie 0 < a < tk < b < M2
.
Alors la suite {xk } engendrée par l’algorithme 2 est convergente pour tout choix de x0
de façon géométrique , c’est à dire :
∃β ∈]0, 1[, kxk − x∗ k ≤ β k kx0 − x∗ k .
Où x∗ est l’unique point de minimum de f sur Rp .

Preuve. On a :
xk+1 − x∗ = xk − x∗ − tk ∇f (xk ) (27)
Nous savons que x∗ est l’unique solution de l’équation d’Euler :

∇f (x∗ ) = 0 (28)
Alors de (27) et (28), on peut écrire :

kxk+1 −x∗ k2 = kxk −x∗ k2 +(tk )2 k∇f (xk )−∇f (x∗ )k2 −2tk < xk −x∗ , ∇f (xk )−∇f (x∗ ) >
(29)
D’où
kxk+1 − x∗ k2 ≤ kxk − x∗ k2 + M 2 (tk )2 kxk − x∗ k2 − 2tk αkxk − x∗ k2
Soit encore
kxk+1 − x∗ k2 ≤ kxk − x∗ k2 (1 − 2αtk + M 2 (tk )2 ) (30)
Posons :
g(t) = 1 − 2αt + M 2 t2
On vérifie facilement que
g(tk ) ≤ max {g(a), g(b)} = β 2
α
β < 1 en effet : le minimum de g est atteint en M2
, ce qui montre que :

α2
g(tk ) ≥ 1 − (31)
M2
De (25) et (26), on a :

α≤M (32)

Comme g(0) = g( M 2 ) = 1 , d’après (31) et (32) , on a :

25 Pr. Said Kabbadj


Programmation mathématique SMA 5


0 < g(t) < 1, ∀t ∈]0, M 2 [,


[a, b] ⊂]0, M 2 [ , donc β < 1

D’où
kxk+1 − x∗ k2 ≤ β 2 kxk − x∗ k2 ce qui implique que kxk+1 − x∗ k ≤ βkxk − x∗ k
Et par conséquent, ∀k > 0, on a :
kxk − x∗ k ≤ β k kx0 − x∗ k .

Corollaire 2.3 Si f vérifie (i) et (ii) du théorème précédent alors l’algorithme 2.1.2

converge pour tout t ∈]0, M 2[

Preuve. Conséquence immédiate du théorème précédent .

2.4.2 Algorithme du gradient à pas optimal :

——————————————————————————————————————

Algorithme 3 : Algorithme du gradient à pas optimal . :
——————————————————————————————————————

Données : un point x0 ∈ Rp et un seuil de tolérance ε > 0
Résultat : un point x ∈ Rp proche de x∗
Initialiser x :
x ← x0 ,
k ←− 0 ;
Tant que k∇f (x)k > ε faire :
1. dk = −∇f (xk ) .
2. tk = arg min f (xk + tdk ) .
t∈]0,+∞[

3. Mettre à jours x :
x ←− xk+1 = xk + tk dk ;
k ←− k + 1 ;
Fin .
——————————————————————————————————————

26 Pr. Said Kabbadj


Programmation mathématique SMA 5

Existence : tk = arg min f (xk + tdk ) existe et est unique pour tout k ≥ 0, car la
t∈]0,+∞[
fonction hk (t) = f (xk + tdk ) est coercive (voir TD 4), donc la suite {xk } est bien définie.

Remarque 2.4 Les directions de descente dk et dk+1 sont orthogonaux . En effet : tk


vérifie : h0k (t) =< ∇f (xk + tdk ), dk >= 0, c’est à dire :
< dk+1 , dk >= 0.

Proposition 2.5 Soit f : Rp → R une fonction de classe C 2 , on suppose qu’il existe


m > 0 tel que
< ∇2 f (x)h, h >≥ mkhk2
alors :
1. f admet un unique minimum global x∗ .
2. ∀x ∈ Rp ,
p∗ = f (x∗ ) ≥ f (x) − 1
2m
k∇f (x)k2 et kx − x∗ k ≤ 2
m
k∇f (x)k .

Preuve. Eexercice 1 - TD 2

Théorème 2.2 Soit f : Rp → R une fonction fortement convexe telle que

∃ m, M > 0 , ∀x, h ∈ Rp , mkhk2 ≤< ∇2 f (x)h, h >≤ M khk2 .

avec 0 < m ≤ M et x0 ∈ Rp . Alors l’algorithme du Gradient à pas optimal est bien


définie et converge vers x∗ ∈ argminf et on a la convergence linéaire de (f (xk ) − p∗ )
(i.e) :
∀k ∈ N, f (xk ) − p∗ ≤ (1 − m k
M
) (f (x0 ) − p∗ ) .

a) Existence de x∗ :
On a : x∗ = argminf existe et est unique car f est elliptique et Rp fermé , convexe .
b) Montrons tout d’abord que :
2 2
(f (xk ) − p∗ ) ≤ kxk − x∗ k2 ≤ (f (xk ) − p∗ ) (33)
M m
On a f est m-fortement convexe donc :
m
∀x, y ∈ Rp , f (y) ≥ f (x)+ < ∇f (x), y − x > + ky − xk2 (34)
2
On prend : y = xk et x = x∗ dans (34) , on aura :

27 Pr. Said Kabbadj


Programmation mathématique SMA 5

f (xk ) ≥ f (x∗ ) + m
2
kxk − x∗ k 2

2
kxk − x∗ k2 ≤ (f (xk ) − p∗ ) (35)
m
De même on a :
M
∀x, y ∈ Rp , f (y) ≤ f (x)+ < ∇f (x), y − x > + ky − xk2 . (36)
2
On prend : y = xk et x = x∗ dans (36) , on obtient :
2
(f (xk ) − p∗ ) ≤ kxk − x∗ k2 (37)
M
De (35) et (37) on déduit (33).

c) Montrons que f (xk ) converge vers p∗ : On suppose que à l’itération k , xk 6= x∗ (


sinon l’algorithme a convergé en un nombre fini l ≤ k d’itérations et la suite {xk } est
constante à x∗ à partir du rang l)
On a :

tk = argminf (xk − t∇f (xk )) et xk+1 = xk − tk ∇f (xk )

On prend x = xk et y = xk − t∇f (xk ) pour tout t > 0 dans (36) , on aura :

f (xk − t∇f (xk )) ≤ f (xk )+ < −t∇f (xk ), ∇f (xk ) > + M2 kt∇f (xk )k2
=⇒ f (xk − t∇f (xk )) ≤ f (xk ) + k∇f (xk )k2 ( M2 t2 − t)

On pose : g(t)= M 2
2
t − t , g atteint son minimum en t∗ = 1
M
et donc :
1
f (xk+1 ) ≤ f (xk ) − 2M
k∇f (xk )k2


1
f (xk+1 ) − p∗ ≤ f (xk ) − p∗ − k∇f (xk )k2 (38)
2M
Et d’après la proposition précédente on a pour x = xk :

k∇f (xk k2 ≥ 2m(f (xk ) − p∗ ) (39)


D’après (38) et (39) on obtient :
(f (xk+1 ) − p∗ ) ≤ (f (xk ) − p∗ ) − m
M
(f (xk ) − p∗ ) ≤ (f (xk ) − p∗ )(1 − m
M
)
Par récurrence , on a donc bien

28 Pr. Said Kabbadj


Programmation mathématique SMA 5

(f (xk ) − p∗ ) ≤ (1 − m k
M
) (f (x0 ) − p∗ ) .
m
Puisque 0 < (1 − M
) < 1 , on a alors

f (xk+1 ) → p∗ (40)

De (33) et (40), on déduit la convergence de l’algorithme du Gradient à pas optimal


vers x∗ ∈ argminf .

Exemple 2.7 Calcul du pas optimal dans le cas quadratique :


Soit :
1
f (x) = 2
< Ax, x > − < b, x > +c,
avec A symétrique définie positive , b ∈ Rp et c ∈ R
Le pas optimal est caractérisé par g0k (tk ) = 0 , avec gk (t) = f (xk + tdk ) ,
On a alors :
< A(xk + tk dk ) − b, dk >= 0 =⇒< Axk − b, dk > +tk < Adk , dk >= 0
Par consequent :

< Axk − b, dk >


tk = −
< Adk , dk >

2.5 La méthode des gradients conjugués


Rappels et notations
1. Si v1 , v2 , ..., vk ∈ Rp , on note < v1 , ..., vk > l’espace vectoriel engendré par
v1 , ..., vk qui est un sous-espace vectoriel de Rp .
2. Si a ∈ Rp et M ⊂ Rp , on note :
a + M = {a + x, x ∈ M } .
Dans cette partie on considère : f : Rp → R, une forme quadratique ,
1
f (x) = 2
< Ax, x > − < b, x > +c, ∀x ∈ Rp

Avec b ∈ Rp , c ∈ R et A une matrice symétrique définie positive .

L’idée de la méthode :

Rappelons que la méthode du Gradient à pas optimal consiste a faire :


xk+1 = xk + tk dk = xk − tk ∇f (xk ) ,
ce qui équivaut à :
xk+1 ∈ xk + < ∇f (xk ) > .

29 Pr. Said Kabbadj


Programmation mathématique SMA 5

xk+1 est l’élément qui minimise f sur xk + < f (xk ) > , car

f (xk+1 ) = min f (x) .


x∈xk +<f (xk )>

Dans la suite , on va procéder de la manière suivante :

On note Gk =< ∇f (x0 ), ..., ∇f (xk ) >⊂ Rp .

La méthode des Gradients conjugués consiste à chercher xk+1 ∈ xk + Gk tel que :

f (xk+1 ) = min f (x) (Pk )


x∈ xk +Gk

On minimise donc f sur un espace plus grand (dans le sens de l’inclusion ) que dans la
méthode du Gradient à pas optimal, on s’attend alors à un meilleur minimum .

l’algorithme est donné par :


——————————————————————————————————————
Algorithme 4 : Algorithme des gradients conjugués . :
——————————————————————————————————————

1. : étape 1. On pose k = 0 , on choisie x0 ∈ Rp et on pose :


d0 = ∇f (x0 ) = Ax0 − b

2. : étape 2. Si ∇f (xk ) = 0 , Stop . ”la solution x∗ est xk ”. Sinon va à l’étape (3)


3. : étape 3. On pose :
< ∇f (xk ), dk >
ρk = − (41)
< Adk , dk >

xk+1 = xk + ρk dk (42)

k∇f (xk+1 )k2


βk = (43)
k∇f (xk )k2

dk+1 = ∇f (xk+1 ) + βk dk (44)


Faire : k = k + 1

Retour à l’étape 2.

Fin .

30 Pr. Said Kabbadj


Programmation mathématique SMA 5

Théorème : Soit f une fonction quadratique alors on a les propriétés suivantes :


1) ∀k ≥ 0, (Pk ) admet une unique solution
xk+1 ∈ xk + Gk
2) ∀k ≥ 0,
< ∇f (xk+1 ), ∇f (xi ) >= 0, ∀i ∈ {0, 1, ..., k} .

3) Si les vecteurs ∇f (x0 ), ..., ∇f (xk ) sont tous non nul , alors ils sont libres .

4) L’algorithme des Gradients conjugués converge en au plus p itérations.


Preuve.
1) Comme A est une matrice symétrique définie positif, alors f est strictement
convexe et coercive et puisque xk + Gk est fermé , convexe d’où l’existence et
l’unicité de la solution .

2) On a :
< ∇f (xk+1 ), x − xk+1 >≥ 0, ∀x ∈ xk + Gk (45)
.
Soit ω ∈ Gk ,

xk+1 + ω = xk + (xk+1 − xk ) + ω
et comme xk+1 − xk et ω ∈ Gk
Alors :
xk+1 + ω ∈ xk + Gk .
Pour x = xk+1 + ω et x = xk+1 − ω successivement dans (45) , on aura alors :
< ∇f (xk+1 ), ω >≥ 0 et < ∇f (xk+1 ), −ω >≥ 0
Donc : < ∇f (xk+1 ), ω >= 0, ∀ω ∈ Gk , et par conséquent : ∇f (xk+1 ) ⊥ Gk .
D’où :
.
< ∇f (xk+1 ), ∇f (xi ) >= 0, ∀i ∈ {0, ...., k} (46)

3) On montre que Lk = {∇f (x0 ), ...., ∇f (xk )} est libre par récurrence sur k .
• Pour k = 0 , on a :
{∇f (xo )} =
6 {0}

31 Pr. Said Kabbadj


Programmation mathématique SMA 5

Donc libre car (si ∇f (x0 ) = 0 ) on s’arrête et x0 est une solution .

• Supposons que Lk est libre et montrons que Lk+1 est libre aussi .
Soit α0 , ...., αk+1 tels que :

α0 ∇f (x0 ) + ... + αk+1 ∇f (xk+1 ) = 0 (47)


k+1
X
=⇒< ∇f (xk+1 ), αi ∇f (xi ) >= 0
i=0
k+1
X
=⇒ αi < ∇f (xk+1 ), ∇f (xi ) >= 0, d’après (46)
i=0
=⇒ αk+1 k∇f (xk+1 )k2 = 0
=⇒ αk+1 = 0
Grâce à l’hypothèse de récurrence et (47) , on déduit que :
αi = 0, i = 0, ..........., k + 1
4) ∃k ≤ p tel que :

∇f (xk ) = 0

Sinon {∇f (x0 ), ..., ∇f (xp )} est libre , donc {∇f (x0 ), ...., ∇f (xp )} est une base .
D’où dim < ∇f (x0 ), ..., ∇f (xp ) >= p + 1 ce qui est absurde .
Donc :
∃k ∈ {0, ..., p}, ∇f (xk ) = 0 .

32 Pr. Said Kabbadj


Programmation mathématique SMA 5

Chapitre 3

Conditions d’optimalité
Problème d’optimisation avec contraintes

3.1 Conditions d’optimalité :

On considère le problème d’optimisation très général de la forme :

(P) : ” min f(x) , sc : x ∈ X ”


où X ⊂ Rp est non vide et f : X → R différentiable.

Nous donnons une condition d’optimalité du problème (P) , puis nous explicitons cette
condition dans les cas suivants :

1) X ouvert de Rp

2) X convexe de Rp

3) X défini par des égalités ou des inégalités

Définition 3.1 Soient X ⊂ Rp , x ∈ X et d ∈ Rp . d est dite direction admissible en x


si et seulement si
∃η > 0, ∀t ∈]0, η] , x + td ∈ X .

Définition 3.2 Soient X ⊂ Rp et x ∈ X. On appelle cône tangent à X en x (noté


Tx (X)), l’ensemble des vecteurs v ∈ Rp tels que :

33 Pr. Said Kabbadj


Programmation mathématique SMA 5

∃vn ∈ Rp , ∃εn > 0 vérifiant : lim vn = v et lim εn = 0 tels que εn vn + x ∈ X.


n→+∞ n→+∞

Autrement dit : le cône tangent est l’ensemble des directions admissibles dans X en
x, ainsi que les limites de ces directions.

Proposition 3.3 Soit X ⊂ Rp tel que X̊ 6= ∅ et x ∈ X . Alors :


1) Tx (X) est un cône fermé.
2) x ∈
/ X ⇒ Tx (X) = ∅.
3) x ∈ X̊ ⇒ Tx (X) = Rp .

Théorème 3.4 Soit X ⊂ Rp et f : X → R une fonction différentiable et x∗ est un point


de minimum local de f alors :
∀v ∈ Tx∗ (X), < ∇f (x∗ ), v >≥ 0 .

Preuve. Soit v ∈ Tx∗ (X), v 6= 0 alors ∃vn −→ v et εn −→ 0 tels que :


xn = x∗ + εn vn ∈ X .
Pour n assez grand , xn est au voisinage de x∗ , si bien que par l’optimalité local en x∗
, on a :
f (x∗ + εn vn ) ≥ f (x∗ ) .
f est différentiable en x∗ , donc

f (x∗ + εn vn )=f (x∗ )+ < ∇f (x∗ ), εn vn > +kεn vn kε(εn vn )


Donc :
f (x∗ + εn vn ) − f (x∗ )
εn = < ∇f (x∗ ), vn > +kvn kε(εn vn ) ≥ 0.
En faisant tendre n vers +∞ on obtient :
< ∇f (x∗ ), v >≥ 0

Corollaire 3.5 Soit f : X → R une fonction différentiable .

a) Soit X un convexe de Rp et x∗ un minimum local de f alors :

∀x ∈ X, < ∇f (x∗ ), x − x∗ >≥ 0 (48)


b) Si f est convexe sur X convexe alors (48) est une condition suffisante pour que
x∗ soit un minimum global de f sur X.

34 Pr. Said Kabbadj


Programmation mathématique SMA 5

Preuve.
a) ∀x ∈ X , x − x∗ ∈ Tx∗ (X). En effet , On a :

x, x∗ ∈ X =⇒ ∀t ∈ [0, 1], tx + (1 − t)x∗ ∈ X


=⇒ x∗ + t(x − x∗ ) ∈ X
=⇒ x − x∗ ∈ Tx∗ (X)
D’après le théorème 3.4 , (48) est justifiée .
b) Comme f est convexe alors ∀x, y ∈ X , f (y) ≥ f (x)+ < ∇f (x), y − x >
Pour x = x∗ on aura :
f (y) ≥ f (x∗ )+ < ∇f (x∗ ), x − x∗ >
On a : < ∇f (x∗ ), x − x∗ >≥ 0 , donc ∀y ∈ X,
f (y) ≥ f (x∗ )
D’où x∗ est un minimum absolu de f sur X.

Corollaire 3.6 Soit X un ouvert de Rp et f : X → R. Si x∗ est un minimum local de f


sur X alors
∇f (x∗ ) = 0 .

Preuve. D’après la proposition 3.3, On a

x∗ ∈ X = X̊ ⇒ Tx∗ (X) = Rp .

D’après le théorème 3.4 :


∀v ∈ Rp , < ∇f (x∗ ), v >≥ 0.
En remplace v par -v on obtient :
< ∇f (x∗ ), −v >≥ 0 .
Donc :
∀v ∈ Rp , < ∇f (x∗ ), v >= 0 ⇒ ∇f (x∗ ) = 0 .

3.2 Condition d’optimisation pour les poblèmes avec contraintes d’égalités

Dans cette section , on étudie le problème d’optimisation convexe sous contraintes


d’égalités qu’on peut formuler comme suit :

35 Pr. Said Kabbadj


Programmation mathématique SMA 5



 min f (x),

(PE ) : x ∈ Rp ,



hi (x) = 0, i = 1, ...., n.

On note X le domaine admissible défini par :

X = {x ∈ Rp : hi (x) = 0, i = 1, ...., n}
= {x ∈ Rn : h(x) = 0}

où h : Rp → Rn , avec h(x) = (h1 (x), ...., hn (x))

Étape 1 : Qualification des contraintes d’égalité .

Définition 3.7 : La contrainte 00 h(x) = 000 du problème (PE ) est dite qualifiée en x ∈ X
si h est différentiable en x et si :

Tx (X) = { v ∈ Rn / < ∇hi (x), v >= 0 ; i = 1, ...., n } = KerJh(x) (49)

En pratique, (49) est difficile à vérifier,

Définition 3.8 : Soit x ∈ X, on suppose que h est de classe C 1 au voisinage de x. On


dit que les contraintes de (PE ) sont régulières en x ou que x est régulier si Jh(x) est
surjective :

Proposition 3.9 : Le point x ∈ X est régulier, si et seulement si :

S = { ∇hi (x) ; i = 1, ...., n}

est libre.

Proposition 3.10 : Soit x ∈ X. Si x est régulier, alors les contraintes d’égalité ” h =


0 ” sont qualifiées au point x c’est à dire :

Tx (X) = KerJh(x).

Étape 2 : condition nécessaire d’optimalité

Théorème 3.11 ( Théorème de Lagrange )

36 Pr. Said Kabbadj


Programmation mathématique SMA 5

Soient f : Rn → R et h : Rp → Rn sont différentiables en x∗ . Supposons que la


contrainte 00 h(x) = 000 est qualifiée en x∗ . Si x∗ est un point de minimum local de f sur
X, alors il existe des réels λ∗1 , ...., λ∗p , tels que :
i=n
X

∇f (x ) + λ∗i ∇hi (x∗ ) = 0. (50)
i=1

Le vecteur λ∗ = (λ∗1 , ...., λ∗n )T est appelé multiplicateur de Lagrange et est determiné de
façon unique .

Terminologie :

1) Le point λ∗ est aussi appelé solution duale de (PE ) . x∗ solution primale de (PE )
et ( x∗ , λ∗ ) solution primale - duale de (PE ) .
2) On appelle point stationnaire du (PE ) , tout point x vérifiant les conditions
nécessaire d’optimalité du premier ordre :
 Pp
 ∇f (x) + i=1 λi ∇hi (x) = 0

h(x) = 0

3.3. Condition d’optimalité pour les problèmes avec contraintes d’inégalités :




 min f (x),

(PI ) : x ∈ Rp ,


gj (x) ≤ 0, j = 1, ...., m.

On note X le domaine admissible défini par :

X = {x ∈ Rp : gj (x) ≤ 0, j = 1, ...., m}
= {x ∈ Rp : g(x) ≤ 0}

où g : Rp → Rm , avec g(x) = (g1 (x), ...., gm (x))

Étape 1 : Qualification des contraintes d’inégalité .

Définition 3.12 : La contrainte 00 g(x) ≤ 000 du problème (PI ) est dite qualifiée en
x ∈ X si g est différentiable en x et si :

Tx (X) = {v ∈ Rp : pour tout j actif en x , < ∇gj(x), v > ≤ 0} (51)

On dit que j est actif en x ou la contrainte gj est active en x si et seulement si

37 Pr. Said Kabbadj


Programmation mathématique SMA 5

gj (x) = 0

En pratique, (51) est difficile à vérifier,

Proposition 3.13 : La contrainte 00 g(x) ≤ 000 du problème (PI ) est qualifiée en x ∈ X


s’il existe un vecteur v 6= 0 tel que pour toute contrainte gj active en x , on ait :

• Soit gj est affine et < ∇gj (x), v >= 0


• Soit < ∇gj (x), v > < 0 

Une autre condition suffisante est souvent utilisée en pratique :

Proposition 3.14 : La contrainte 00 g(x) ≤ 000 du problème (PI ) est qualifiée en x ∈ X


si les gradients des contraintes actives en x sont libres .

Dans le cas convexe , on a :

Proposition 3.15 : Si les fonctions gj , j = 1, ......, m sont convexes , alors La contrainte


00
g(x) ≤ 000 du problème (PI ) est qualifiée en tout point de X , s’il existe x0 ∈ X tel que
pour tout j = 1, ......, m on a :

• Soit gj (x0 ) < 0.

• Soit gj est affines .

Étape 2 : Condition necessaire d’optimalité :

Si x est solution du problème (PI ) et si ces contraintes sont qualifiées en x (au sens de
la proposition 3.13) , alors la condition nécessaire d’optimalité :

∀v ∈ Tx (X), < ∇f (x), v >≥ 0 (52)


s’écrit :

∀v ∈ Rp , [∀j actif en x , < ∇gj (x), v >≤ 0] =⇒< ∇f (x), v >≥ 0

En utilisant le lemme de Farkas :

Lemme 3.16 : (Lemme de Farkas) soient v1 , ...., vl un enssemble de vecteurs de Rp et


u ∈ Rp . Alors les propositions suivantes sont équivalentes :

( i ) ∀x ∈ Rn , [∀j = 1, ...., l, < vj , x >≤ 0] =⇒< u, x >≥ 0

38 Pr. Said Kabbadj


Programmation mathématique SMA 5

( ii ) Il existe des réels λ1 , ...., λl > 0 tels que :

j=l
X
u=− λj vj
j=1

On obtient alors :

Théorème 3.17 : ( CN d’optimalité du 1er ordre sous contraintes d’inégalités )

Soit x∗ ∈ X , supposons f et g différentiables en x∗ et les contraintes qualifiées en x∗ .


Si x∗ est un point de minimum local de f sur X , alors il existe des réels positifs ou nuls
λ∗1 , ...., λ∗m tels que :
j=m
X

∇f (x ) + λ∗j ∇gj (x∗ ) = 0,
j=1

avec pour tout j=1 , .... , m , λ∗j ≥ 0 et λ∗j gj (x∗ ) = 0.

Terminologie :

1) On appelle point stationnaire de (PI ) tout point x vérifiant les conditions nécessaires
d’optimalité du 1er ordre :


Xm
∇f (x) + λi ∇gj (x) = 0,





 j=1



 λj ≥ 0∀j = 1, ...., m.,


λj gj (x) = 0, ∀j = 1, ...., m.

pour un certain multiplicateur λ ∈ Rm .

2) Les relations λj gj (x) = 0 sont appelées relations de complémentarité et signifie :


soit λj = 0 , soit gj (x) = 0.
Ces relations sont trivialement satisfaites pour toute contrainte active en x et
indiquent que pour toute contrainte inactive le multiplicateur λj correspondant
est nul .

39 Pr. Said Kabbadj


Programmation mathématique SMA 5

3.4. Problémes avec contraintes d’inegalité et d’inégalité :


 min f (x),


 x ∈ Rp ,


(PEI ) :


 hi (x) = 0, i = 1, ...., p



gj (x) ≤ 0, j = 1, ...., m.

Le domaine admissible X est alors défini par :

X = {x ∈ Rp /h(x) = 0 et g(x) ≤ 0}

Les contraintes sont dites qualifiées au point x ∈ X si chacune est qualifiée au sens des
définitions vues précédemment à savoir :

Définition 3.18 : les contraintes de (PEI ) sont dites qualifiées au point x ∈ X si g et


h sont différentiables au point x et si :

Tx (X) = {v ∈ Rp ; ∀i = 1, ...., n, < ∇hi (x), v >= 0,

et pour toute contrainte j active , < ∇gj (x), v >≤ 0}

Définition 3.19 : ( C.S de qualification des contraintes ) Les contraintes du problème


(PEI ) sont qualifiées au point x ∈ X si les gradients des contraintes actives en x :

{∇hi (x); i = 1, ...., n} ∪ {∇gj (x); j ∈ {1, ...., m} active }

sont linéairement indépendants .

On introduit le Lagrangien associé au probléme (PEI ) :


n
X m
X
L(x, λ, µ) = f (x) + λi hi (x) + µj gj (x), x ∈ Rp , λ ∈ Rn , µ ∈ Rm
i=1 j=1

Théorème 3.20 : (CN d’optimalité de Karush - Kuhn - Tucker : KKT ) Soit x∗ ∈ X


un point admissible de(PEI ) . Supposons f , g et h différentiables en x∗ et les contraintes

40 Pr. Said Kabbadj


Programmation mathématique SMA 5

qualifiées au point x∗ . Si x∗ est un point de minimum local de f sur X alors il existe


λ∗ ∈ Rn , et µ∗ ∈ Rm tels que :

∇x L(x∗ , λ∗ , u∗ ) = 0,




 hi (x∗ ) = 0; i = 1, ...., n,



 u∗j gj (x∗ ) = 0; j = 1, ...., m


 ∗
uj ≥ 0; j = 1, ...., m

Si de plus le probléme(PEI ) est convexe , alors les conditions de KKT sont suffisantes
pour que x∗ soit un point de minimum global de f sur X .

41 Pr. Said Kabbadj


Programmation mathématique SMA 5

Chapitre 4

Problèmes d’optimisation avec contraintes

4.1 Introduction

Soit f ∈ C 1 (Rp , R) une fonction convexe et C est un convexe fermé et non vide de Rp .
On cherche à calculer une solution approchée de x , solution du problème :

(
min f (x),
(P ) :
x ∈ C.

Dans ce chapitre nous donnons deux algorithmes numériques pour la résolution du


problème (P) , l’algorithme du gradient à pas fixe avec projection sur C (GPFC ) et la
méthode de dualité.
Nous rappelons ci-dessous , les propriétés de la projection sur un convexe fermé C.
Proposition 4.1 Soit C un convexe fermé non vide de Rp , alors pour tout x ∈ Rp , il
existe un unique x0 ∈ C tel que

k x − x0 k≤k x − y k, ∀y ∈ C (53)
p
On note x0 = PC (x) la projection orthogonale de x sur C. Pour tout x ∈ R , PC (x)
vérifie les propriétés suivantes :

∀y ∈ C, < x − PC (x), y − PC (x) >≤ 0, (54)

∀x, y ∈ C, kPC (x) − PC (y)k ≤ kx − yk. (55)

42 Pr. Said Kabbadj


Programmation mathématique SMA 5

4.2 Algorithme du gradient à pas fixe avec projection sur C (GPFC )

Soit ρ ∈ R+∗ donné , on considère l’algorithme suivant :


—————————————————————————————————————–
Algorithme 5 : Algorithme du gradient à pas fixe avec projection . :
—————————————————————————————————————–
Données : un point x0 ∈ C
Résultat : un point x ∈ C proche de x
Initialiser x :
x ← x0 ,
k ←− 0 ;
Itération : pour k = 0, 1........, faire

xk+1 = PC (xk − ρ∇f (xk )) (56)


Fin .
——————————————————————————————————————

Lemme 4.2 Soit la suite {xk } engendrée par (GPFC ). Si xk → x alors x est solution
du (P).

Preuve : PC est continue et f est de classe C 1 , donc

xk → x =⇒ x = PC (x − ρ∇f (x))

D’autre part x ∈ C, car C est fermé. D’après (54) , nous avons

< x − ρ∇f (x) − x, x − y >≥ 0, ∀y ∈ C

Puisque ρ > 0 , on a :

< ∇f (x), x − y >≤ 0, ∀y ∈ C (57)


Comme f est convexe

f (y) ≥ f (x)+ < ∇f (x), y − x > (58)


De (57) et (58) , on déduit :

f (y) ≥ f (x), ∀y ∈ C

C’est à dire x est solution de (P) .

43 Pr. Said Kabbadj


Programmation mathématique SMA 5

Téorème 4.3 ( Convergence de l’algorithme (GPFC )


Soit f :Rp → R une fonction de classe C 1 et C un convexe fermé non vide . On suppose
que f vérifie les propriétés suivantes :
(i) f est α- fortement convexe , c’est à dire :

∀x, y ∈ Rp , < ∇f (x) − ∇f (y), x − y >≥ αkx − yk2 (59)

(ii) ∇f est M-Lipschitzienne , c’est à dire :

∃M > 0, ∀x, y ∈ Rp : k∇f (x) − ∇f (y)k ≤ M kx − yk (60)

Alors :
1) Il existe une unique solution x ∈ C solution de (P)


2) Si 0 < ρ < M2
alors la suite {xk } engendrée par (GPFC ) est convergente vers x
solution de (P).
Preuve.

1) C’est évident .
2) On a PC (x) = x car x ∈ C , donc d’après (55) on a :

kxk+1 − xk2 = kPC (xk ) − PC (x)k2 ≤ kxk − ρ∇f (xk ) − xk2 . (61)
La suite de la démonstration est identique à celle du théorème 2.2.

4.3 Méthodes de dualité.


Dans cette partie, on suppose que
(i) f ∈ C 1 (Rp , R)

(ii) gj ∈ C 1 (Rp , R), j = 1, ........., m

(iii) C = {x ∈ Rp , gj ≤ 0, j = 1, ........., m}

( iv) C est non vide

On définit le problème primal par :

(
x ∈ C,
(P.P ) :
f (x) ≤ f (x), ∀x ∈ C.

On définit le lagrangien L par L : Rp × Rm → R, avec :

44 Pr. Said Kabbadj


Programmation mathématique SMA 5

m
X
L(x, λ) = f (x) + λg(x) = f (x) + λj gj (x), x ∈ Rp , λ ∈ Rm
j=1

On note
E + = {λ ∈ Rm , λ = (λ1 , ......, λm )T , λj ≥ 0, j = 1...., m}
Sous les hypothèses du K.T.T , si x est solution de (P.P) alors il existe λ ∈ E + tel
que :

∇x L(x, λ) = 0 et λg(x) = 0 (62)


On définit alors l’application M de Rm → R par

M (λ) = minp L(x, λ), ∀ λ ∈ Rm (63)


x∈R
On peut donc remarquer que M (λ) réalise le minimum (en x) du problème sans
contrainte, qui s’écrit, pour λ ∈ Rm fixé :

x ∈ Rp ,
(
(P.A) :
L(x, λ) ≤ L(y, λ), ∀y ∈ Rp .
Lemme 4.4 L’application M de Rm dans R définie par (63) est concave (ou encore
l’application -M est convexe),

Preuve. λ, µ ∈ Rm et t ∈]0, 1[, soit x ∈ Rp

L(x, tλ + (1 − t)µ) = f (x) + (tλ + (1 − t)µ)g(x)


= tf (x) + (1 − t)f (x) + (tλ + (1 − t)µ)g(x)
= tL(x, λ) + (1 − t)L(x, µ)
Par définition de M, on aura :
L(x, tλ + (1 − t)µ) ≥ tM (λ) + (1 − t)M (µ)
Par conséquent :
M (tλ + (1 − t)µ) ≥ tM (λ) + (1 − t)M (µ)

On considère maintenant le problème d’optimisation dit “dual” suivant :

µ ∈ E +,
(
(P.D) :
M (µ) ≥ M (λ), ∀λ ∈ E + .
Définition : Soit Rp × E + −→ R et (x, µ) ∈ Rp × E + . On dit que (x, µ) est un point
selle de L sur Rp × E + si

45 Pr. Said Kabbadj


Programmation mathématique SMA 5

L(x, λ) ≤ L(x, µ) ≤ L(y, µ) , ∀y ∈ Rp , ∀λ ∈ E +

Proposition : (admise) On suppose que (x, µ) ∈ Rp × E + est un point selle de L sur


Rp × E + . Alors :
1. x est solution du problème (P.P)

2. µ est solution du problème (P.D)

3. x est solution du problème (P.A) avec λ = µ

Réciproquement, on peut montrer que (sous des hypothèses convenables sur f et g),
si µ est solution (P.D), et si x solution de (P.A) avec λ = µ alors (x, µ) est un point
selle de L, et donc x est solution de (P.P).

Idée de base des méthodes de dualité

On cherche µ solution de (P.D) par la méthode d’Usawa , (voir TD5) . On obtient ensuite
une solution x du problème (P.A) avec λ = µ qui est un problème de minimisation sans
contraintes., on utilisera alors une des méthodes vue au chapitre 2. x du (P.P) est donc
obtenue .

46 Pr. Said Kabbadj

Vous aimerez peut-être aussi