Programmation Mathématique
Programmation Mathématique
Programmation Mathématique
SMA (S5)
Programmation mathématique
—————————
Note de cours
2018-2019
Said Kabbadj
[email protected]
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
Chapitre 1
Notions fondamentales
1.1 Introduction
(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 :
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 :
√
∀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 :
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
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.
1.2 Différentiabilité
∂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.
∂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
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
∇f = 0 et ∇2 f = 0
∇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 :
Montrer que :
1) ∇f (x) = (A + AT )x , ∀x ∈ Rp .
2) ∇2 f (x) = A + AT , ∀x ∈ Rp .
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é :
Exemple
1. Tout ensemble affine est convexe .
2. Un sous espace vectoriel est convexe .
1. Convexe sur U si :
∀x, y ∈ U , ∀λ ∈ [0, 1] , f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y) .
6. Coercive si et seulement si :
lim f (x) = +∞ .
kxk→+∞
Exemples 1.14
Alors :
Alors :
Et donc :
2.
f (y) ≥ f (x)+ < ∇f (x), y − x >, ∀x, y ∈ V (7)
3. (Monotonie de ∇f sur V ) .
∂f (x)
⇒ ∂(y−x) ≤ f (y) − f (x)
⇒ < ∇f (x), y − x >≤ f (y) − f (x).
2 ⇒ 3e On a :
et
Donc g0 est croissante, d’où g est convexe sur [0, 1], par conséquent pout t ∈ [0, 1] :
2.
f (y) > f (x)+ < ∇f (x), y − x >, ∀ x, y ∈ V avec x 6= y (13)
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 :
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.
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 .
b) Soit :
On en déduit la majoration :
Il suffit alors de diviser par λ puis de passer à la limite quand λ tend vers 0 (par valeurs
strictement positives) pour obtenir le résultat.
∀x ∈ U, f (x) ≥ f (x∗ ) .
∀x ∈ U, f (x) ≤ f (x∗ ) .
• 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 .
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.
Preuve.
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 .
∀x ∈ E, f (x∗ ) ≤ f (x)
et
alors
∇f (x) = 0
Donc
Attention
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
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 :
∇f (x) = 0 , donc
1
2
< ∇2 f (x)h, h > +khk2 ε(th) ≥ 0
Preuve Comme ∇2 f (x) est définie positive alors : il existe α > 0 tel que :
(α = λ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) ≥ ( α 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.
Chapitre 2
2.1 Introduction :
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
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 .
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
Preuve : ∀t > 0 , on a :
f (x + td) − f (x)
=< ∇f (x), d > +ε(t) (24)
t
On voit bien que pour t suffisament petit ; on aura : f (x + td) < f (x) .
——————————————————————————————————————
Algorithme 1 : Algorithme de descente géneral :
——————————————————————————————————————
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 )
On voit bien la descente des valeurs de f (xk ), d’où le nom attribué à l’algorithme
1 : Algorithme de descente
Convergence : A-t-on xk → x∗
k ∇f (xk ) k≤ ε
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
dk = −∇f (xk ) .
La recherche de pas de descente peut être choisie de plusieurs façons, dans ce cours on
se limite aux deux cas suivants :
2. tk = arg min f (xk + tdk ) , l’algorithme est dit alors algorithme du gradient à
t∈]0,+∞[
pas optimal
Théorème 2.2
2α
∀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)
2α
Comme g(0) = g( M 2 ) = 1 , d’après (31) et (32) , on a :
2α
0 < g(t) < 1, ∀t ∈]0, M 2 [,
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
2α
converge pour tout t ∈]0, M 2[
——————————————————————————————————————
—
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 .
——————————————————————————————————————
—
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.
Preuve. Eexercice 1 - TD 2
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 :
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).
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 :
(f (xk ) − p∗ ) ≤ (1 − m k
M
) (f (x0 ) − p∗ ) .
m
Puisque 0 < (1 − M
) < 1 , on a alors
f (xk+1 ) → p∗ (40)
L’idée de la méthode :
xk+1 est l’élément qui minimise f sur xk + < f (xk ) > , car
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 .
xk+1 = xk + ρk dk (42)
Retour à l’étape 2.
Fin .
3) Si les vecteurs ∇f (x0 ), ..., ∇f (xk ) sont tous non nul , alors ils sont libres .
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}
• Supposons que Lk est libre et montrons que Lk+1 est libre aussi .
Soit α0 , ...., αk+1 tels 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 .
Chapitre 3
Conditions d’optimalité
Problème d’optimisation avec contraintes
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
Autrement dit : le cône tangent est l’ensemble des directions admissibles dans X en
x, ainsi que les limites de ces directions.
Preuve.
a) ∀x ∈ X , x − x∗ ∈ Tx∗ (X). En effet , On a :
x∗ ∈ X = X̊ ⇒ Tx∗ (X) = Rp .
min f (x),
(PE ) : x ∈ Rp ,
hi (x) = 0, i = 1, ...., n.
X = {x ∈ Rp : hi (x) = 0, i = 1, ...., n}
= {x ∈ Rn : h(x) = 0}
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 :
est libre.
Tx (X) = KerJh(x).
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
X = {x ∈ Rp : gj (x) ≤ 0, j = 1, ...., m}
= {x ∈ Rp : g(x) ≤ 0}
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 :
gj (x) = 0
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é :
j=l
X
u=− λj vj
j=1
On obtient alors :
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.
min f (x),
x ∈ Rp ,
(PEI ) :
hi (x) = 0, i = 1, ...., p
gj (x) ≤ 0, j = 1, ...., m.
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 :
∇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 .
Chapitre 4
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.
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 :
Lemme 4.2 Soit la suite {xk } engendrée par (GPFC ). Si xk → x alors x est solution
du (P).
xk → x =⇒ x = PC (x − ρ∇f (x))
Puisque ρ > 0 , on a :
f (y) ≥ f (x), ∀y ∈ C
Alors :
1) Il existe une unique solution x ∈ C solution de (P)
2α
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.
(iii) C = {x ∈ Rp , gj ≤ 0, j = 1, ........., m}
(
x ∈ C,
(P.P ) :
f (x) ≤ f (x), ∀x ∈ C.
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 ∈ 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),
µ ∈ 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
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).
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 .