Académique Documents
Professionnel Documents
Culture Documents
Programmation Mathématique
SMA- S5
Département de Mathématiques
Naji YEBARI
2020/2021
1 Chapitre3 :Optimisation non linéaire avec contraintes
1. Préliminaires
∀ u ∈ { u ∈ R m / A T u Ê 0}
¡ ¢
ou u T .b É 0 ∀u ∈ Rm tel que A T .u É 0
Ax É b
(S ) x ∈ Rn admet une solution ssi u T .b Ê 0 , ∀u ∈ {u ∈ Rm / u Ê 0 et A T u Ê 0}
x Ê 0
Ax É b
h i
(S ) x ∈ Rn admet une solution ssi ∀u ∈ Rm , u Ê 0 tel que A T .u = 0 =⇒ u T .b Ê 0
x est de signe quel conque
Preuve.
2
2. CONDITION NÉCESSAIRES D’OPTIMALITÉ Faculté des sciences
2.1. Introduction
On s’intéresse au problème suivant :
min f ( x)
( P 0 ) S / c : g i ( x) É 0 i ∈ I = {1, 2, · · · , m} où f ; g i : Rn −→ R de classe C 1
x ∈ Rn
dφ ¡ ¢
On appellera direction admissible en x0 tout vecteur y = (0) = φ0(0) = φ01 (0), · · · , φ0n (0) et φ est une
dθ
courbe admissible.
Déf © ª
On notera C ad ( x0 ) = C ad = y ∈ Rn / y direction admissible en x◦
Déf © ª
I 0 ( x0 ) = I 0 = i ∈ I / g i ( x0 ) = 0 = ensemble des contraintes saturées en x◦
Considérons le cône G fermé défini par :
n o
G = y ∈ Rn /[∇ g i ( x0 )]T .y É 0; (∀ i ∈ I 0 )
Lemme 1
Autrement dit : C ad ⊂ G
Preuve.
Remarque 1
La réciproque est fausse en générale.
© ª
χ = x = ( x1 , x2 ) ∈ R2 / g 1 ( x) = − x1 É 0; g 2 ( x) = − x2 É 0; g 3 ( x) = −(1 − x1 )3 + x2 É 0
0
g 1 ( x ) = − x1 É 0
Au point x◦ = ( x10 = 1; x20 = 0); g 2 ( x0 ) = − x2 É 0
g ( x0 ) = −(1 − x )3 + x É 0
3 1 2
donc I 0 = {2, 3}
∂ g2 0 µ ¶
∂x (x ) = 0 0
0
d’autre part ; ∇ g 2 ( x ) = ∂ g ◦
; ∇ g3(x ) = 1
1
2 0
( x ) = −1
∂ x2
µ ¶
y1
∀ i ∈ I 0 = {2, 3} soit y = qui vérifie la condition (1)
y2
µ ¶ µ ¶
0 y1
(∇ g 2 )T ( x0 ).y = . = − y2 É 0
−1 y2
µ ¶ µ ¶
0 y1
(∇ g 3 )T ( x0 ).y = . = y2 É 0
1 y2
µ ¶
1
le vecteur y = satisfait ces inégalités ( y ∈ G ) mais ∀θ > 0; x0 + θ y = (1 + θ , 0) ∉ X
0
car g 3 (1 + θ , 0) = θ 3 Ê 0 ∀θ > 0
Définition 1
On dit que l’ensemble des solutions χ satisfait l’hypothèse de Qualification des contraintes (Q C)
si C ad = G
1. Pour que la condition de (Q C) soit vérifiée en tout point x ∈ χ, il suffit que l’une des
conditions ( i ) ou ( ii ) soit réalisée :
(i) toutes les fonctions g i sont linéaires (Karlin 1959).
(ii) toutes les fonctions g i sont convexes et X̊ 6= ; (Slater 1950)
2. Pour que la condition
©
de (Qª C) soit vérifiée en x0 ∈ χ, il suffit que l’on ait :
0 0 0 0
I (x ) = I = i ∈ I / g i (x ) = 0
© ª ¡ ¢
∇ g i ( x0 ) ( i ∈ I 0 ) sont linéairement indépendants dans ce cas on dit que x0 est régulier
(Fiacco Cormick 1968)
Preuve.
On suppose que les fonction f et g i ( i ∈ I ) sont de classe C 1 et que l’hypothèse de (Qc) [qualifica-
tion des contraintes] est vérifiée en x0 ∈ χ = { x ∈ Rn / g i ( x) É 0 ∀ i ∈ I } (
min f ( x)
Alors une condition nécessaire [CN] pour que x0 soit un optimum local de (P 0 ) est
x∈χ
qu’il existe des scalaires (λ i ) i∈ I Ê 0 appelés multiplicateurs de Kuhn et Tucker, tels que :
X
∇ f ( x0 ) + λ i ∇ g i ( x0 ) = 0
(K T ) : i∈ I
λ i g i ( x0 ) = 0 (∀ i ∈ I )
Remarque 2
0
X ⇐⇒ ∃(0λ i ) i∈ I 0 Ê 0 tq
CN de (KT)
0
∇ f (x ) + λi ∇ g i (x ) = 0
i∈ (
0 λ i = λ0i si i ∈ I 0
En effet (λ i ) i∈ I 0 :
λ i = 0 si i ∈ I \ I 0
Pour i ∈ I 0 =⇒ g i ( x0 ) = 0
=⇒ λ i g i ( x0 ) = 0 (∀ i ∈ I )
0
Pour i ∈ I \ I ; λ i g i ( x0 ) = 0 (λ i = 0)
| {z }
6=0
Preuve.
Pour que x◦ soit un minimum local de (P 0 ), il suffit que pour toute courbe admissible φ :
f (φ(θ )) Ê f (φ(0) = x◦ ) pour θ > 0 assez petit.
£ ¤T
f (φ(θ )) = f ( x◦ ) + θ ∇ f ( x◦ ) .y + O (θ ) ; y = φ0 (0)
£ ¤T £ ¤T
d’où ∇ f ( x◦ ) .y Ê 0; ∀ y ∈ C ad aussi on a ∇ f ( x◦ ) .y Ê 0; ∀ y ∈ G = C ad
£ ¤
et ∇ g i ( x◦ ) .y É 0 ; ∀ i ∈ I ◦ (CN : x◦ Min local de (P 0 ))
T
£ ¤
Posons A = − ∇ g i 1 ( x◦ ); · · · ; −∇ g i k ( x◦ ) ; i j ∈ I ; j = 1, · · · , k
u= y ; b = ∇ f ( x◦ ) ∈ R n
Appliquons le théorème de Farkas et Minkowski
de KT en x◦
où I ◦ = { i / g i ( x◦ ) = 0} . (Qc) C ad = G 1
On peut alors montrer :
Théorème 4. K.T
Remarque 3
X
Dans le cas des contraintes égalités ces conditions deviennent ∇ f ( x◦ ) + r j ∇ h j ( x◦ ) = 0 (condition
j ∈L
de Lagrange)
M in f ( x) X
(P ) : g i ( x) É 0 ( i ∈ I ) −→ L( x, λ) = f ( x)+ λ i g i ( x) [Fonction de Lagrange] , 0 É λ i = multiplicateur de La grange
x ∈ S ⊂ Rn i∈ I
Définition 2
Preuve.
(i) Clair
(ii) ∀λ Ê 0X, L( x, λ) Ê L( x, λ) X X
f ( x) + λ i g i ( x) Ê f ( x) + λ i g i ( x) =⇒ (⋆) (λ i − λ i ) g i ( x) É 0 ∀λ > 0
i∈ I i∈ I i∈ I
=⇒ g i ( x) É 0 ; ∀i ∈ I
sinon ∃ k ∈ I t.q g k ( x) > 0, puisque (⋆) est vérifiée ∀λ > 0, il suffit de choisir λk > 0 assez grand pour
obtenir une contradiction. X
(iii) (⋆) est vraie pour λ = 0 ce qui donne λ i g i ( x) Ê 0
X X i∈ I
Mais λ i g i ( x) É 0 ; d’où λ i g i ( x) = 0
i∈ I i∈ I
Alors : λ i g i ( x) = 0, ∀ i ∈ I
Réciproque : supposons que les conditions ( i ), ( ii ), ( iii ) soient vérifiées alors
( i ) =⇒ L( x, λ) É L( x, λ) ∀ x ∈ S
d’autre part : ( iii ) =⇒ LX ( x, λ) = f ( x) .
En fin , L( x, λ) = f ( x) + λ i g i ( x) É f ( x) = L( x, λ) ∀λ Ê 0
i∈ I
Donc L( x, λ) É L( x, λ) É L( x, λ) ∀λ Ê 0 ∀ x ∈ S
Théorème 6
Preuve.
X X
i ) =⇒ f ( x) + λ i g i ( x) É L( x, λ) = f ( x) + λ i g i ( x) ∀ s ∈ S
i∈ I i∈ I
or
iii ) =⇒ λ i g i ( x ) = 0 (∀ i ∈ I )
X
=⇒ f ( x) É f ( x) + λ i g i ( x)∀ x ∈ S
i∈ I
=⇒ f ( x) É f ( x) ∀ x ∈ S c.q.f.d
M in f ( x) = (ϕ( y))
s/ c
(P y ) : ; ϕ fonction de perturbation.
g i ( x) É yi (∀ i ∈ I )
x∈S
Notons que : y0 É y =⇒ ϕ( y0 ) Ê ϕ( y) et min(P ) = ϕ(0)
Théorème 7
Preuve.
La CN =⇒ ( x, λ) est un point-col
T T
f ( x) + λ g( x) Ê f ( x) + λ g( x) ; ∀ x ∈ S ; ϕ : Rm −→ R
| {z } |{z} | {z }
P =ϕ(0) =0
= λ i g i ( x)
T
donc f ( x) Ê ϕ(0) − λ g( x)
En particulier , ∀ y ∈ Rm tel que (P y ) ait une solution, ∀ x ∈ S solution de (P y ) on a :
T T
f ( x) Ê ϕ(0) − λ g( x) Ê ϕ(0) − λ y
T
On en déduit que : ϕ( y) Ê ϕ(0) − λ y (⋆)
Si y ∈ Rm est tel que (P y ) n’ait pas de solution, alors ϕ( y) = +∞ et (⋆) est encore vérifiée.
T
La condition suffisante : supposons que : ϕ( y) Ê ϕ(0) − λ .y (∀ y ∈ Rm )
+∞ ϕ( y) −→
– Montrons que λ Ê 0 sinon ∃λ i < 0 alors +∞ yi →
0 ∀ k 6= i
yk =
or ∀ y Ê 0 : ϕ( y) É ϕ(0) [propriété de monotonie de ϕ] ce qui implique +∞ É ϕ(0) absurde donc :
λÊ0
T
– Par définition de ϕ( y) on a ∀ x ∈ S : f ( x) Ê ϕ( g( x)) Ê ϕ(0) − λ .g( x)
T
f ( x) + λ .g( x) Ê f ( x) ∀ x ∈ S
En particulier pour x = x on obtient )
T
T ⇒ λ .g( x) É 0
f ( x) + λ .g( x) Ê f ( x) T
or λ .g( x) Ê 0
T
=⇒ λ .g( x) = 0
T T
alors la relation : f ( x) + λ .g( x) Ê f ( x) = f ( x) + λ .g( x) ∀ x ∈ S
m.q L( x, λ) = min L( x, λ)
x∈ S
T
ce qui avec λ Ê 0 et λ .g( x) = 0 montre que ( x, λ) est un point-col.
Exemple d’application :
à ! à ! à !
2 2
M in( x1 + x2 )
(∇ f ( x) = 2 x 1
) + (λ∇ g( x) = λ.
2
)=
0
(P ) : s/ c : C.K.T : 2 x2 1 0
2 x + x É −4 λ.g( x) = 0
1 2
Si λ = 0 =⇒ x1 = x2 = 0 impossible.
g( x) = 2 x1 + x2 + 4 = 0
)
donc λ > 0 =⇒ 2 x1 + 2λ = 0
=⇒ 2 x2 = −λ = x1
2x + λ = 0
2
−4 −8 8
0 = 2 x1 + x2 + 4 = 4 x2 + x2 + 4 =⇒ x2 = ; x1 = ; λ = − x1 =
5 5 5
8 4 80 10 × 5 16
M in(P ) = ( )2 + ( )2 = = =
5 5 25 25 5
(
2 2
M in( x1 + x2 ) = ϕ( y) 0 si y Ê 4
(P y ) : a pour solution : ϕ( y) = µ 2 y − 8 ¶2 µ y − 4 ¶2 1 2 8 16
s/ c : 2 x1 + x2 + 4 É y
+ = y − y+ si y É 4
5 5 5 5 5
−8 8
ϕ est convexe qui admet une tangente de pente = −λ au point y = 0 et λ = on déduit du théorème
5 5
8
l’existence d’un point-col avec le multiplicateur de point-colλ = .
5
Définition 3
Propriété 1
considérons le Problème :
min f ( x)
(P ) : s/ c g i ( x) É 0
x ∈ S ⊂ Rn ; S convexe
Théorème 8
On suppose que les fonctions f et g i ; ( i ∈ I ) sont convexes , que S ⊂ Rn est convexe et qu’il existe
x ∈ S tel que g i ( x) < 0 (∀ i ∈ I )
Alors si (P ) admet une solution optimale x, existe un vecteur de multiplicateurs r Ê tel que ( x, r )
soit un point-col de la fonction de Lagrange L( x, λ)
Preuve. Indication
Corollaire 1. Lien avec les conditions de K.T dans le cas convexe différentiable
Sous les hypothèses du théorème précédent avec S = Rn , f , g i sont de classe C 1 , alors x est
optimum
( du Problème (P 0 ) si les conditions de Kuhn-Tucker sont vérifiées pour x c.à.d ∃λ Ê 0 tel
∇ x L( x, λ) = 0
que
λ g i ( x) = 0 ∀ i ∈ I
Preuve.
D’après le Théorème précédent, x optimum globale si et seulement si ∃λ Ê 0 tel que ( x, λ) point-col c.à.d
vérifie
(i) x minimise L( x, λ) sur Rn
(ii) g i ( x) É 0 ∀ i ∈ I
(iii) λ i g i ( x) = 0 ∀ i ∈ I
comme f et les g i ( i ∈ I ) sont convexes et différentiable, L( x, λ) est convexe et différentiable en x, et par
suite la condition ( i ) ⇐⇒ ∇ x L( x, λ) = 0 qui combine avec ( ii ) et ( iii ) donne les conditions de K.T en x
min f ( x)
(P 0 ) : g i ( x) É 0 ; i ∈ I = {1, 2, · · · , m} f , g i de classe C 1
x ∈ Rn
On voudrait adapter les méthodes d’optimisation sous contraintes, c.à.d définir des directions yk tel
que f ( x k + λk yk ) mais en respectant les contraintes.
Pour le choix de y à partir de , on voudrait :
£ ¤T
– ∇ g i ( x0 .y É 0 ∀ i ∈
£ ¤T
– ∇ f ( x0 ) .y < 0
ceci conduit à résoudre le Problème (P.L) :
Méthode de Zoutendjik
£ ¤T
min ∇ f ( x0 ) .y
y
£ ¤
0 T
( I ) s/ c : ∇ g i ( x ) .y É 0 ∀ i ∈
X
m
| yi | = 1
i =1
Mais le Problème ci-dessus peut ne pas converger pour k yk2 É α, α assez petit, f et g i ( i ∈ I ) puissent
être approchées par le D.L de Taylor à l’ordre 1. La recherche d’une direction de déplacement tenant
compte de toutes les contraintes pourrait être résolu par le Pb :
£ ¤
0 T
min ∇ f ( x ) .y (1)
0
£ 0
¤T
(I I ) : s/ c : g i ( x ) + ∇ g i ( x ) .y É 0 (∀ i ∈ I ) (2)
T
y .y = k yk2 É α (3)
(3) est non linéaire, de plus si pour une contrainte i ∈ la solution de ( I I ) vérifie [∇ g i ()]T .y = 0, alors
tout petit déplacement faisant sortir de l’ensemble des solutions
C’est pourquoi Topkis et Veinot (1967) ont proposé de remplacer ( I I ) par le Problème (très voisin) de
PL :
min £Z ¤T
(I I I ) : s/ c : ∇ f ( x0 ) .y − Z É 0
£ ¤T
g i ( x0 ) + ∇ g i ( x0 .y − u i Z É 0 (∀ i ∈ I )
dans lesquels les inconnues sont yi ( i ∈ I ) et z, et ( u i ) i∈ I sont des paramètres > 0 fixés.
Théorème 9
Preuve.
Supposons Z ⋆ = 0 .
En associant aux contraintes de ( I I I ) des variables duales r i Ê 0 et r i Ê 0 ( i ∈ I ) le dual
X
Maximiser r i g i ( x0 )
i∈ I
s/ c
£ ¤T X £ ¤T
( IV ) : − r o ∇ f ( x0 ) − γ i ∇ g i ( x0 ) = 0
X i∈ I
ro + ri ui = 1
i∈ I
ro Ê 0 , ri Ê 0
(où les contraintes suit des contraintes d’égalité, car dans ( I I I ) les variables y et Z sont libres en signe)
D’aprèsXle théorème de la dualité en PL :
Z⋆ = r i g i ( x0 ) = 0 =⇒ r i g i ( x0 ) = 0 ∀ i ∈ I
i∈ I
=⇒ r i = 0 , ∀i ∉
X £ ¤T
=⇒ r i ∇ g i ( x0 ) = 0
i∈ I
=⇒ r i = 0 ∀i ∈
=⇒ r i = 0 (∀ i ∈ I )
=⇒ r o 6= 0impossible .... (∀ i ∈ I )
X
ri ∇ f ( x0 ) + λ i [∇ g i ( x)]T = 0
Posons λ i = tels que : i∈ I
ro
λ i g i ( x0 ) = 0 ∀ i ∈ I )
L’algorithme : On part d’un point x0 , on résout ( I I I )
Si Z ⋆ = 0 stop
⋆
£ ¤T
Si Z < 0 ; ∇ f ( x0 ) .y < 0
£ ¤T
g i ( x0 ) + ∇ g i ( x0 ) .y < 0
on définit x1 par f ( x1 ) = min f ( x0 + θ y)
θ >0 x0 +θ y∈χ
1
et on résout ( I I I ) en x .
T
M in [∇ f ( x)] .d
y © ª
s/ c A ◦ d = 0 est d = où y est la projection de −∇ f ( x) sur S ◦ = y/ A ◦ y = 0 donnée par
k yk
k d k = 1
µ h i−1 ¶
◦ ◦T ◦ ◦T ◦
y = − P ∇ f ( x) = − I − A A A .A
((P ) est appelée la matrice de projection sur S ◦ )
◦
Preuve.
M
1. Rn = S ◦ S ◦T
−∇ f ( x) = y + s , y ∈ S ◦ , s ∈ S ◦T
∀ d ∈ S ◦ ; − [∇ f ( x)]T .d = yT d + yT d
y
or [∇ f ( x)]T .d sera minimal lorsque yT d sera maximal c.à.d lorsque d =
k yk
2. Calcul de ny : o
S ◦T = vect vecteurs colonnes de A ◦T
d’où s = A ◦T .u, où u ∈ R q à déterminer
−∇ f ( x) = y + A ◦T u ³ ´
0 = A ◦ y∈S ◦ = − A ◦ ∇ f ( x) − A ◦ A ◦T u
³ ´−1
u = − A ◦ A ◦T A ◦ ∇ f ( x)
· h i−1 ¸
◦T ◦T ◦ ◦T
y = −∇ f ( x) − A u = − I − A A A A ◦ ∇ f ( x)
Remarque 4
comme les colonnes de A ◦T sont les gradients des contraintes saturées en x, on vooit que u Ê 0
(⋆) n’exprime rien que les conditions de KT (en x)
C.à.d x est un optimum local du Pb.
sinon alors < 0 (soit u i < 0 (par exemple le plus faible))
on forme A ◦0 à partir de A ◦ en supprimant la i ème ligne et on recommence.
Algorithme :
(a) point de départ .
(b) A l’itération k on est en x k .
calculer l’ensemble ( x k ) des indices des contraintes saturées. Poser L◦ = ( x k )
(c) A ◦ = matrice formée des lignes correspondent aux contraintes i ∈ L◦ .
³ ´−1
calculer la matrice de Projection P ◦ = I − A ◦T A ◦ A ◦T .A ◦ , puis yk = −P ◦ ∇ f ( x k ) si yk = 0
aller en ( e)
n o
(d) si yk 6= 0 déterminer αmax = Max α Ê 0/ x k + α yk ∈ X
n o
puis x k+1 tel que f ( x k+1 ) = min f ( x k + α.yk )
0ÉαÉαmax
Faire k ⇐= k + 1 et retourner en ( b)
h i−1
(e) Soit u = − A ◦ A ◦T .A ◦ ∇ f ( x k )
Si u Ê 0, Fini : x k satisfait les conditions de K.T
Sinon soit u i la composante la plus négative de u
Faire L◦ ⇐= L◦ − { i } et retourner en ( c)
M in f ( x)
s/ c
Ax = b
xÊ0
La méthode de Frank et Wolfe engendre une suite x k ainsi donné, x k définie et x k+1 déterminer à
partir de x k en résolvant le PL suivant :
h iT
M in ∇ f ( x k ) .x
k s/ c
PL( x )
Ax = b
xÊ0
k+1
Soit yk un point extrême
h
k
i de χ solution optimale de PL( x ). Alors x est choisi de façon à minimiser
k k
f sur le segment x , y
Théorème 10