Vous êtes sur la page 1sur 19

Conditions d'Optimalité

 Optimisation sans contraintes 

A-Kadrani

Institut National de Statistique et Economie Appliquée


(INSEA)

Rabat, Mars 2021

Kadrani Programmation Non Linéaire


Conditions d'optimalité  Cas général

Considérons un problème d'optimisation de la forme:


(P) min f (x) s.c. x ∈ X , (1)
où X ⊆ Rn non vide et f une fonction f : Rn −→ R ∪ {+∞} que l'on
suppose diérentiable.
Dans ce cours, nous allons caractériser analytiquement l'optimalité (les
conditions d'optimalité) pour diérents types de problèmes
d'optimisation:
1 X ouvert de Rn
2 X convexe de Rn
3 X déni par des égalités et / ou des inégalités fonctionnelles:

X = {x ∈ Rn /h(x) = 0, g (x) ≤ 0} .

avec h : X ⊆ Rn −→ Rp et g : X ⊆ Rn −→ Rq .

Kadrani Programmation Non Linéaire


Cas général
Direction admissible

Dénition 2.1 : Direction admissible


Soit x ∈ X . Une direction d ∈ Rn sera dite admissible en x s'il
existe η > 0 tel que x +αd soit admissible quel que soit α ∈ ] 0, η ].
On dit également que la direction d est rentrante dans X en x .

d est admissible en x si l'on peut se déplacer à partir de x sur un


segment de longueur α suivant d tout en restant dans X .
Si x est un point intérieur, alors toutes les directions sont
admissibles
Si X est convexe, une direction d admissible en x peut être dénie
en déterminant un point admissible y 6= x : d = y − x .

Kadrani Programmation Non Linéaire


Cas général
Direction admissible à la limite

Dénition 2.2 : Suite de points admissibles


Soit x un point admissible (x ∈ X ). Une suite (xk )k∈N sera dite
suite admissible en x ssi
∀k, xk 6= x, lim xk = x et ∃k0 tel que ∀k ≥ k0 , xk admissible.
k→∞

On considère la suite des directions dk reliant xk à x : dk = xk −x


kxk −xk

Dénition 2.3 : Direction admissible à la limite


Une direction d ∈ Rn sera dite admissible à la limite en x pour la
suite (xk )k∈N si et seulement il existe une sous-suite (dki )i∈N telle
que: lim dki = d .
i→∞

Remarque: Direction admissible à la limite = direction tangente

Kadrani Programmation Non Linéaire


Cas général
Cône des directions
Soit X déni par des égalités et des inégalités fonctionnelles:
X = {x ∈ Rn /h(x) = 0, g (x) ≤ 0} .

Dénition 2.4 : Suite de points admissibles


Soit x ∈ X ). Le cône des directions D(x) en x est l'ensemble des
directions d ∈ Rn vériant:
∇hj (x)T d = 0 pour toutes les contraintes égalité:
hj (x) = 0, j = 1 · · · p
∇gj (x)T d ≤ 0 pour les contraintes inégalité actives en x :
gj (x) = 0, j = 1 . . . q .

→ direction tangente aux contraintes égalité


d ∈ D(x)
→ direction intérieure aux contraintes inégalité actives

Kadrani Programmation Non Linéaire


Cas général
Cône des directions

Proposition 2.1

Toute direction admissible à la limite en x appartient au cône des direc-


tions en x .

Preuve. (Dans la séance de cours)

Kadrani Programmation Non Linéaire


Cas général
Cône tangent

Dénition 2.5 : Cône tangent


Soit X d'intérieur non vide et x ∈ X . Le cône tangent à X en x ,
noté Tx (X ), est l'ensemble des vecteurs d ∈ Rn tels qu'il existe une
suite (dn )n∈N de limite d et une suite (αn )n∈N de réels strictement
positifs de limite nulle telles que :
x + αn dn ∈ X .

Autrement dit, le cône admissible est l'ensemble des directions ad-


missibles dans X au point x , ainsi que les limites de ces directions.

Tx (X ) est un cône fermé.


/ X̄ ⇒ Tx (X ) = ∅.
x∈
x ∈ int X ⇒ Tx (X ) = Rn .
Remarque:Les cas les plus intéressants sont ceux où le point x est sur la
frontière de X .
Kadrani Programmation Non Linéaire
Cas général
Condition nécessaire géométrique

Soit f : X ⊆ Rn −→ R de classe C 1 et x ∈ Rn .
Lemme 2.1

Si d une direction admissible en x et ∇f (x)T d < 0, alors il existe un


scalaire η > 0 tel que pour tout α ∈ ] 0, η]
f (x + αd) < f (x).

(i.e., d est une direction de descente à x .)

Preuve. (Dans la séance de cours)

Kadrani Programmation Non Linéaire


Cas général
Condition nécessaire géométrique

Théorème 2.1

Soit f : X ⊆ Rn −→ R de classe C 1 et x ∗ ∈ Rn est un minimum local


du problème (P). Alors:
∀d ∈ Tx ∗ (X ), h∇f (x ∗ ), di ≥ 0. (2)

Figure: Interprétation géométrique de la condition (2)

Kadrani Programmation Non Linéaire


Cas particulier
Cas convexe

Soit X convexe. La condition d'optimalité ne fait pas intervenir le cône tangent


mais uniquement l'ensemble des directions admissibles.
Corollaire 2.1

Soit f : X ⊆ Rn −→ R de classe C 1 et X convexe. Si x ∗ ∈ X est un


minimum local du problème (P), alors:
∀x ∈ X , h∇f (x ∗ ), x − x ∗ i ≥ 0. (3)
Si f est convexe sur le convexe X , alors la condition (3) est susante
pour que x ∗ soit un point de minimum global de f sur X .

Preuve. (Dans la séance de cours)

Kadrani Programmation Non Linéaire


Conditions nécessaires d'optimalité du premier ordre

Supposons que X ⊆ Rn l'ensemble des contraintes est un ouvert de Rn . Par


conséquent : int X = X , d'où : Tx (X ) = Rn .
Proposition 2.2

Soit f : X ⊆ Rn −→ R de classe C 1 et X un ouvert de Rn . Si x ∗ ∈ X


est un minimum local du problème (P), alors:
∇f (x ∗ ) = 0.

Preuve. (Dans la séance de cours)

Kadrani Programmation Non Linéaire


Conditions nécessaires d'optimalité du premier ordre

Proposition 2.3

Soit f : X ⊆ Rn −→ R de classe C 1 et X un ouvert de Rn . Si x ∗ ∈ X


est un maximum local du problème (P), alors:
∇f (x ∗ ) = 0.

Preuve. Similaire au cas de minimisation.


Remarque: Un problème d'optimisation sur un ouvert, doit être traité comme
un problème d'optimisation sans contraintes et les contraintes vériées a
posteriori.
2
Exercice 2.1: Le problèmes minx a t-il de solutions pour les deux cas suivants
x∈X
X = {x ∈ R| |1| < 1} et X = {x ∈ R| x > 1}?

Kadrani Programmation Non Linéaire


Conditions nécessaires d'optimalité du second ordre

Proposition 2.4

Soit f : X ⊆ Rn −→ R de classe C 2 et X un ouvert de Rn . Si x ∗ ∈ X est


un minimum local du problème (P), alors ∇f (x ∗ ) = 0 et ∇2 f (x ∗ ) est une
matrice semi-dénie positive.

Preuve. (Dans la séance de cours)

Kadrani Programmation Non Linéaire


Conditions nécessaires d'optimalité du premier ordre
Contre-exemple
Les conditions ∇f (x ∗ ) = 0 et ∇2 f (x ∗ ) est une matrice semi-denie positive ne
sont pas susantes pour assurer que x ∗ est un minimum local.
Considérons la fonction f : R2 −→ R dénie comme suit: f (x) = x13 + x23 . Le
gradient et la matrice hessienne de f sont respectivement:
3x12 6x1 0
   
2
∇f (x) = ∇ f (x) = .
3x22 0 6x2
Au point x ∗ = (0, 0), on a
0 0 0
   
f (x ∗ ) = 0, ∇f (x ∗ ) = , ∇2 f (x ∗ ) = .
0 0 0
Nous remarquons que les conditions ds stationnarité du premier et deuxième
ordre sont bien satisfaites au point x ∗ = (0, 0). Mais pour un  > 0
susemment petit − 2 , − 2 et on a
      3   3 3
f − , − = − + − = −2 < 0 = f (0, 0) .
2 2 2 2 8
Cela veut dire que x = (0, 0) n'est pas un minimum local même si les

conditions de stationarité du premier et du deuxième ordre sont satisfaites.


Kadrani Programmation Non Linéaire
Conditions susantes d'optimalité

Proposition 2.5

Soit f : X ⊆ Rn −→ R de classe C 2 et X un ouvert de Rn . Si ∇f (x ∗ ) = 0 et


∇2 f (x ∗ ) est dénie positive, alors x ∗ est un minimum local du problème (P).

Preuve. (Dans la séance de cours)

Kadrani Programmation Non Linéaire


Conditions d'optimalité  Méthode pratique
Problème sans contraintes: minf (x)
x∈X
Conditions nécessaires du 1er ordre : ∇f (x ∗ ) = 0 → point
critique ou stationnaire
Conditions nécessaires du 2eme ordre :∇f (x ∗ ) = 0 ∇2 f (x ∗ )
semi.déf.pos → plus dicile à vérier
Conditions susantes:∇f (x ∗ ) = 0 et ∇2 f (x ∗ ) déf.pos.
Méthode pratique

Recherche des points stationnaires en résolvant : ∇f (x ∗ ) = 0


Ce point peut être un min local, un max local ou un point selle.
Vérication de la condition d'ordre 2:
- Calcul des dérivées secondes
- Vérier si les valeurs propres du hessien sont non-négatives
→ garantit l'obtention d'un minimum local x*
Minimum global : x ∗ minimum local
f convexe ⇒ x ∗ minimum global
f strictement convexe ⇒ x ∗ unique minimum global
f quelconque (cas général) ⇒ On ne peut pas vérier que x*
est un minimum global.
Kadrani Programmation Non Linéaire
Exemples
Exemple 1: Fonction de Rosenbrock

Considérons la fonction de Rosenbrock:


2
f (x) = 100 x2 − x12 + (1 − x1 )2
.
400x13 − 4x1 x2 + 2x1 − 2
 
• Gradient : ∇f (x) = 2
 200x2 2− 200x1
1200x1 − 400x2 + 2 −400x1

• Hessien : ∇2 f (x) =
−400x1 200
400x13 − 4x1 x2 + 2x1 − 2 = 0
• Point stationnaire : ∇f (x) = 0 ⇒
200x2 − 200x12 = 0
x1 = 1 1
  
⇒ ⇒ x∗ = .
x2 = x12 1
802 −400 σ1 = 1001.60
  
2
• Valeurs propres du hessien : ∇ f (x ) =


−400 200 σ2 = 0.39936
• Condition d'ordre 2 : ∇2 f (x ∗ ) est déni positif
• x ∗ vérie les conditions susantes de minimum local (strict)
x ∗ est un minimum local de f

Kadrani Programmation Non Linéaire


Exemples
Exemple 2

Soit la fonction f dénie comme suit:


f (x1 , x2 ) = −x14 − x24

.
−4x13
 
• Gradient : ∇f (x1 , x2 ) = 3
 −4x2 2
−12x1 0

• Hessien : ∇2 f (x1 , x2 ) = 2
0 −12
x2
x1 = 0 0
 
• Point stationnaire : ∇f (x1 , x2 ) = 0 ⇒ ⇒ x∗ = .
x2 = 0  0
0 0 σ1 = 0

• Valeurs propres du hessien : ∇2 f (x ∗ ) = →
0 0 σ2 = 0
• Condition d'ordre 2 : ∇2 f (x ∗ ) est semi-déni positif
• x ∗ vérie les conditions susantes de minimum local
x ∗ ne vérie pas les conditions susantes de minimum local de f
x ∗ est en fait un maximum local de f:
f (x1 , x2 ) = −x14 − x24 ⇒ ∀(x1 , x2 ) ∈ R2 , f (x1 , x2 ) ≤ f (0, 0)

Kadrani Programmation Non Linéaire


Exemples
Exemple 3

Considérons la fonction f :

f (x) = x12 − x23


.
2x13
 
• Gradient : ∇f (x1 , x2 ) = 2
 −3x2
2 0

• Hessien : ∇2 f (x1 , x2 ) =
0 −6x2 
x1 = 0 0
 
• Point stationnaire : ∇f (x1 , x2 ) = 0 ⇒ ⇒x = ∗
.
x2 = 0  0
2 0 σ1 = 2

• Valeurs propres du hessien : ∇2 f (x ∗ ) = →
0 0 σ2 = 0
• Condition d'ordre 2 : ∇2 f (x ∗ ) est semi-déni positif
• x ∗ vérie les conditions susantes de minimum local
x ∗ ne vérie pas les conditions susantes de minimum local
x ∗ n'est en fait
 ni un minimum ni un maximum local de f:
< 0 si x2 > 0
f (0, x2 ) = −x23
> 0 si x2 < 0

Kadrani Programmation Non Linéaire

Vous aimerez peut-être aussi