0% ont trouvé ce document utile (0 vote)
86 vues30 pages

Cours 2

RO Chapitre3

Transféré par

Amz
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
86 vues30 pages

Cours 2

RO Chapitre3

Transféré par

Amz
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Optimisation differentiable sous contraintes

Khalfi Hamza
Problèmes de minimisation avec contraintes

Soit f : U −→ R une fonction numérique définie sur un ensemble de Rn .


Il s’agit de déterminer le point a ∈ U qui vérifie

f (a) = min f (x)


x∈U

En général U est définie par l’intersection d’une famille de contraintes de


la forme:
I g (x) ≤ 0,
I h(x) = 0,
I Bx ≤ c où B est une matrice et c un vecteur,
I Cx = d où C est une matrice et d un vecteur,
I lb ≤ x ≤ ub où les lb et ub sont des bornes sur la solution x,
i.e. lbi ≤ xi ≤ ubi ∀i
Problèmes avec contraintes (suite)

Le type de problème que nous allons considérer par la suite, s’écrira de


manière plus compact
min f (x)
g (x) ≤ 0
h(x) = 0
où g = (g1 , g2 , . . . , gm ) sont les contraintes d’inégalité (en incluant les
bornes sur x) et h = (h1 , h2 , . . . , hp ) les contraintes d’égalité. Cette
écriture inclut aussi les contraintes linéaires.

Remarques:
I U = {x | g (x) ≤ 0 et h(x) = 0} n’est pas convexe en général.
I Si les gi sont convexes et les hj linéaires, alors U est convexe.
Condition d’optimalité du premier ordre: cas convexe
Théorème: Condition nécessaire d’optimalité du premier ordre

Soit f : U −→ R une fonction numérique de classe C 1 définie sur un


ensemble convexe fermé U ⊂ Rn . Si a ∈ U est un point minimisant de f ,

f (a) = min f (x),


x∈U

alors
(∇f (a), x − a) ≥ 0 ∀x ∈ U
Preuve: a, x ∈ U =⇒ a + t(x − a) ∈ U car U est convexe pour
0 ≤ t ≤ 1. Par hypothèse, on a que

f (a + t(x − a)) − f (a) ≥ 0


f (a + t(x − a)) − f (a)
lim ≥ 0
t→0 t
(∇f (a), x − a)) ≥ 0
Condition d’optimalité (suite)

Remarques:

I Géométriquement parlant, la condition (∇f (a), x − a) ≥ 0


s’interprète en disant que l’angle θ entre le vecteur ∇f (a) et x − a
est dans l’intervalle
−π/2 ≤ θ ≤ π/2.
I Si U = Rn , on retrouve la condition d’optimalité sans contrainte:
∇f (a) = 0.
I Si le point minimisant a se trouve à l’intérieur de U, on a aussi
∇f (a) = 0.
En effet il suffit de prendre x = a ± r y pour r suffisamment petit et
y ∈ Rn quelconque. On introduit ce point dans la condition
d’optimalité (∇f (a), x − a) ≥ 0. Ceci implique

(∇f (a), ±y ) ≥ 0 =⇒ (∇f (a), y ) = 0 ∀y =⇒ ∇f (a) = 0.


Condition d’optimalité cas convexe (suite)

Théorème: Condition nécessaire et suffisante d’optimalité du premier


ordre

Soit f : U −→ R une fonction numérique convexe de classe C 1 définie


sur un ensemble convexe fermé U ⊂ Rn .
On a la caractérisation suivante:
a ∈ U est un point minimisant de f si et seulement si

(∇f (a), x − a) ≥ 0 ∀x ∈ U

Preuve: Il suffit de montrer ⇐=


Par le critère de convexité du premier ordre, on a

f (x) ≥ f (a) + (∇f (a), x − a) ∀x ∈ U.

Mais (∇f (a), x − a) ≥ 0. On obtient

f (x) ≥ f (a) + (∇f (a), x − a) ≥ f (a) ∀x ∈ U.


Choix particuliers de U

I U est un sous-espace linéaire de Rn . Dans ce cas, la condition


d’optimalité s’écrit sous la forme

(∇f (a), y ) = 0 ∀y ∈ U.

C’est-à-dire que ∇f (a) ∈ U ⊥ .


I U est un sous-espace affine de Rn , i.e. U = x0 + W avec W un
sous-espace linéaire. La condition d’optimalité s’écrit sous la forme

(∇f (a), w ) = 0 ∀w ∈ W .

ou ∇f (a) ∈ W ⊥ ou encore

(∇f (a), x − a) = 0 ∀x ∈ U.
Exemple
Considérons le problème de calculer la projection du point (2, 2) sur un
polygone convexe. Le problème s’écrit sous la forme
min (x1 − 2)2 + (x2 − 2)2
x1 + 2x2 ≤ 3
x1 ≥ 0, x2 ≥ 0

Ce problème admet une solution unique.


Selon le dessin, le gradient doit être dans
la direction du vecteur normal à la
droite x1 + 2x2 = 3.

(x1 − 2, x2 − 2) = t(−1, −2)

pour t ≥ 0. On trouve
t = 3/5 =⇒ x1 = 7/5, x2 = 4/5.
Lagrangien et point de selle

Soient A ⊂ Rn et B ⊂ Rm deux ensembles non vide et

L:A×B →R

une fonction appellée lagrangien.

Définition: Un point (x̄, ȳ ) ∈ A × B est un point de selle du lagrangien


L si
L(x̄, y ) ≤ L(x̄, ȳ ) ≤ L(x, ȳ ) ∀x ∈ A, ∀y ∈ B.

Exemple: Le point (0, 0) est un point de selle de la fonction


L(x, y ) = x 2 − y 2 avec A = B = R car

L(0, y ) = −y 2 ≤ 0 = L(0, 0) ≤ x 2 = L(x, 0) ∀x, y ∈ R.


Théorème du min-max
Théorème: Si (x̄, ȳ ) est un point de selle de L, alors
max min L(x, y ) = min max L(x, y ) = L(x̄, ȳ )
y ∈B x∈A x∈A y ∈B

Autrement dit, on peut inverser l’ordre du min et du max.


Démonstration: Montrons en premier que
max min L(x, y ) ≤ min max L(x, y ).
y ∈B x∈A x∈A y ∈B

En effet, on a que
min L(x, y ) ≤ L(x, y ) ≤ max L(x, y )
x∈A y ∈B

Le membre de gauche est une fonction de y seulement. De même, pour


le membre de droite qui est une fonction de x uniquement. Ceci implique
max min L(x, y ) ≤ max L(x, y ), ∀x ∈ A
y ∈B x∈A y ∈B

et, en prenant le minimum par rapport à x,


max min L(x, y ) ≤ min max L(x, y ),
y ∈B x∈A x∈A y ∈B

d’où le résultat.
Condition d’optimalité du lagrangien
Soient U, V ⊂ Rn deux sous-ensembles convexes et fermés. On fera les
hypothèses suivantes:
I Pour y fixé, la fonction L : x → L(x, y ) est convexe.
I Pour x fixé, la fonction L : y → L(x, y ) est concave (−L est
convexe).
Au point-selle (x̄, ȳ ) du lagrangien L, la condition d’optimalité du
minimum L(x̄, ȳ ) ≤ L(x, ȳ ) ∀x ∈ U s’écrit

∂L
( (x̄, ȳ ), x − x̄) ≥ 0 ∀x ∈ U
∂x

De même, la condition d’optimalité du maximum


L(x̄, y ) ≤ L(x̄, ȳ ) ∀y ∈ V s’écrit

∂L
( (x̄, ȳ ), y − ȳ ) ≤ 0 ∀y ∈ V
∂y
∂L
où ∂x est le gradient de la fonction L(x, y ) pour y fixé.
Fonction indicatrice

Soit K ⊂ Rn un sous-ensemble quelconque et non vide.


Definition: La fonction indicatrice de l’ensemble K est définie par

0 si x ∈ K ,
IK (x) =
∞ sinon.

La fonction indicatrice sert à enlever les contraintes. Pour un problème


de minimisation, on a évidemment la relation

min f (x) = min f (x) + IK (x)


x∈K x

Pour un problème de maximisation, on a plutôt

max f (x) = max f (x) − IK (x)


x∈K x
Contraintes de la forme: Bx = c
Appliquons la dualité lagrangienne au problème (primal)

min f (x)
Bx=c

où B est une matrice de format m × n et c ∈ Rm . Ce problème a un sens


seulement si c ∈ Im B ou encore que le rang de B est maximal
(Im B = Rm ).

Lemme: La fonction indicatrice de K = {x ∈ Rn | Bx = c} est donnée


par
IK (x) = maxm (λ, Bx − c)
λ∈R

Démonstration: en effet, si Bx 6= c, on peut prendre

λ = r (Bx − c) =⇒ (λ, Bx − c) = r kBx − ck2 → ∞ si r → ∞

Le maximum sera ∞.
Au contraire, si Bx = c, on a que (λ, Bx − c) = 0 ∀λ ∈ Rm de
maximum 0.
Contraintes de la forme: Bx = c (suite)
Par conséquent, on peut écrire

min f (x) = min f (x) + IK (x) = min f (x) + maxm (λ, Bx − c)


Bx=c x x λ∈R

Ceci suggère la fonction lagrangienne

L(x, λ) = f (x) + (λ, Bx − c) ∀x ∈ Rn , ∀λ ∈ Rm .

ce qui transforme le problème primal en un problème de point-selle

min f (x) = minn maxm L(x, λ)


Bx=c x∈R λ∈R

La condition d’optimalité du lagrangien sera


∂L


 = 0 ⇐⇒ ∇f (x) + B t λ = 0
∂x
 ∂L = 0 ⇐⇒ Bx = c

∂λ
Point de vue des cônes duaux: Bx = c

La condition d’optimalité du problème f (a) = min f (x) s’écrit


Bx=c

(∇f (a), x − a) ≥ 0 ∀x ∈ U = {x | Bx = c}.

Sachant que c ∈ Im B, on a que U = x0 + Ker B où Bx0 = c. Ce qui


implique que U est un sous-espace affine et dans ce cas, la condition
d’optimalité correspond à

∇f (a) ∈ (Ker B)⊥ = Im B t =⇒ ∃λ ∈ Rm ∇f (a) = −B t λ.

Ceci fournit les conditions en disant que a et λ sont solutions du système

∇f (x) + B t λ = 0,

Bx = c.

Ce sont les mêmes conditions que celles obtenues par la méthode de


Lagrange.
Contraintes de la forme: Bx ≤ c

Appliquons la dualité lagrangienne au problème (primal)

min f (x)
Bx≤c

où B est une matrice de format m × n et c ∈ Rm .

Lemme: La fonction indicatrice de K = {x ∈ Rn | Bx ≤ c} est donnée


par
IK (x) = max(λ, Bx − c)
λ≥0

Démonstration: en effet, si Bx > c, on peut prendre

λ = r (Bx − c) ≥ 0 =⇒ (λ, Bx − c) = r kBx − ck2 → ∞ si r → ∞.

Le maximum sera ∞.
Au contraire, si Bx ≤ c, on a que (λ, Bx − c) ≤ 0 ∀λ ≥ 0
car Bx − c ≤ 0. Donc le maximum sera 0.
Contraintes de la forme: Bx ≤ c (suite)

Par conséquent, on peut écrire

min f (x) = min f (x) + IK (x) = min f (x) + max(λ, Bx − c)


Bx≤c x x λ≥0

Ceci suggère la fonction lagrangienne

L(x, λ) = f (x) + (λ, Bx − c) ∀x ∈ Rn , ∀λ ≥ 0 et λ ∈ Rm .

ce qui transforme le problème primal en un problème de point-selle

min f (x) = minn max L(x, λ)


Bx≤c x∈R λ≥0
Contraintes de la forme: Bx ≤ c (suite)

La condition d’optimalité du lagrangien sera


∂L
I ( , x − x̄) ≥ 0 ∀x ∈ Rn ce qui donne
∂x
∂L
= 0 ⇐⇒ ∇f (x̄) + B t λ = 0
∂x
∂L
I ( , λ − λ̄) ≤ 0 ∀λ ≥ 0 . Etant donné que {λ ≥ 0} forme un cône
∂λ
convexe, on obtient les conditions suivantes
∂L
( , λ) = (B x̄ − c, λ) ≤ 0 ∀λ ≥ 0 =⇒ B x̄ − c ≤ 0 ⇐⇒ B x̄ ≤ c
∂λ
∂L
( , λ̄) = 0 ⇐⇒ (B x̄ − c, λ̄) = 0
∂λ
Conditions KKT pour les contraintes: Bx ≤ c

A partir des conditions d’optimalité du lagrangien L(x, λ), on peut écrire


les conditions dites de Karush-Kuhn-Tucker (KKT) pour le problème

min f (x)
Bx≤c

Observons que (B x̄ − c, λ̄) = 0 avec λ̄ ≥ 0 signifie que λ̄i (B x̄ − c)i = 0


pour tous les i = 1, . . . , m.

Les conditions KKT s’écrivent sous la forme:




 ∇f (x) + B t λ = 0,


λi ≥ 0, ∀i = 1, . . . , m,




 (Bx)i ≤ ci , ∀i = 1, . . . , m,


λi (Bx − c)i , = 0 ∀i = 1, . . . , m.

Cas général: contraintes g (x) = 0
Appliquons la méthode de Lagrange au problème
min f (x)
g (x)=0

où g = (g1 , g2 , . . . , gm ) désigne m contraintes scalaires. En général,


l’ensemble des contraintes n’est pas convexe.

On prend la fonction lagrangienne


m
X
L(x, λ) = f (x) + (λ, g (x)) = f (x) + λi gi (x) ∀x ∈ Rn , ∀λ ∈ Rm .
i=1

Ceci transforme le problème primal en un problème de point-selle


min f (x) = minn maxm L(x, λ)
g (x)=0 x∈R λ∈R

La condition d’optimalité du lagrangien sera


 m
∂L X
= 0 ⇐⇒ ∇f (x) + λi ∇gi (x) = 0,



∂x
i=1
 ∂L = 0 ⇐⇒ gi (x) = 0,

∀i = 1, . . . , m.

∂λ
Contraintes d’égalité (suite)

En résumé, le point optimal a ∈ U doit vérifier le système non linéaire:


m

 f (x) + X λ ∇g (x) = 0,

i i
 i=1
gi (x) = 0, ∀i = 1, . . . , m.

qui correspond à la condition d’optimalité du lagrangien


m
X
L(x, λ) = f (x) + (λ, g (x)) = f (x) + λi gi (x) ∀x ∈ Rn , ∀λ ∈ Rm .
i=1
Contraintes de la forme: g (x) ≤ 0
Appliquons la dualité lagrangienne au problème (primal)

min f (x)
g (x)≤0

où g (x) = (g1 (x), g2 (x), . . . , gm (x)).

Lemme: La fonction indicatrice de K = {x ∈ Rn | g (x) ≤ 0} est donnée


par
IK (x) = max(λ, g (x))
λ≥0

Démonstration: en effet, si gi (x) > 0, on peut prendre λ = 0 sauf pour


la composante i

λi = r (gi (x)) > 0 =⇒ (λ, g (x)) = r gi (x)2 → ∞ si r → ∞.

Le maximum sera ∞.
Au contraire, si g (x) ≤ 0, on a que (λ, g (x)) ≤ 0 ∀λ ≥ 0
car g (x) ≤ 0. Donc le maximum sera 0.
Contraintes de la forme: g (x) ≤ 0 (suite)

Par conséquent, on peut écrire

min f (x) = min f (x) + IK (x) = min f (x) + max(λ, g (x))


g (x)≤0 x x λ≥0

Ceci suggère la fonction lagrangienne

Xm
L(x, λ) = f (x)+(λ, g (x)) = f (x)+ λi gi (x) ∀x ∈ Rn , ∀λ ≥ 0 et λ ∈ Rm .
i=1

ce qui transforme le problème primal en un problème de point-selle

min f (x) = minn max L(x, λ)


g (x)≤0 x∈R λ≥0
Contraintes de la forme: g (x) ≤ 0 (suite)

La condition d’optimalité du lagrangien sera


∂L
I ( , x − x̄) ≥ 0 ∀x ∈ Rn ce qui donne
∂x
m
∂L X
= 0 ⇐⇒ ∇f (x̄) + λi ∇gi (x̄) = 0
∂x
i=1

∂L
I ( , λ − λ̄) ≤ 0 ∀λ ≥ 0 . Etant donné que {λ ≥ 0} forme un cône
∂λ
convexe, on obtient les conditions suivantes
∂L
( , λ) = (g (x̄), λ) ≤ 0 ∀λ ≥ 0 =⇒ g (x̄) ≤ 0
∂λ
∂L
( , λ̄) = 0 ⇐⇒ (g (x̄), λ̄) = 0
∂λ
Conditions KKT pour les contraintes: g (x) ≤ 0
A partir des conditions d’optimalité du lagrangien L(x, λ), on peut écrire
les conditions dites de Karush-Kuhn-Tucker (KKT) pour le problème

min f (x)
g (x)≤0

Observons que (g (x̄), λ̄) = 0 avec λ̄ ≥ 0 signifie que λ̄i gi (x̄) = 0 pour
tous les i = 1, . . . , m.

Les conditions KKT s’écrivent sous la forme:


m

 X



 ∇f (x) + λi ∇gi (x) = 0,

 i=1

λi ≥ 0, ∀i = 1, . . . , m,

gi (x) ≤ 0, ∀i = 1, . . . , m,






λi gi (x) = 0 ∀i = 1, . . . , m.

Méthodes numériques: contraintes d’égalité

Considérons le problème de minimisation ayant seulement des contraintes


d’égalité
min f (x)
g (x)=0

où g = (g1 , g2 , . . . , gm ) désigne m contraintes scalaires.

En gros, il y a deux classes de méthodes numériques pour ce type de


problème.
I Approche couplée: basée sur la méthode des multiplicateurs de
Lagrange, résolution en (x, λ).
I Approche découplée: basée sur la théorie de la dualité, résolution en
x seulement.
Méthodes numériques: contraintes d’égalité
L’idée consiste à résoudre directemment le système d’équations obtenu
par la méthode des multiplicateurs de Lagrange. Si on introduit la
fonction lagrangienne
m
X
L(x, λ) = f (x) + (λ, g (x)) = f (x) + λi gi (x) ∀x ∈ Rn , ∀λ ∈ Rm .
i=1

la condition d’optimalité du problème min f (x) s’écrit


g (x)=0

( Pm
∇f (x) + i=1 λi ∇gi (x) = 0,
gi (x) = 0, ∀i = 1, . . . , m.

Ces équations forment un système de n + m équations par rapport aux


n + m variables x et λ.
Notons ce système par F (x, λ) = (Fx (x, λ), Fλ (x, λ)) = (0, 0) où
Pm
Fx (x, λ) = ∇f (x) + i=1 λi ∇gi (x),
Fλ (x, λ) = g (x) = (g1 (x), g2 (x), . . . , gm (x))t .
Méthodes numériques: contraintes d’égalité (suite)
Le système 
Fx (x, λ) = 0
F (x, λ) = 0 ⇐⇒
Fλ (x, λ) = 0
sera résolu par l’algorithme de Newton
1. Résoudre: DF (Xk ) ∆X = −F (Xk ),
2. Xk+1 = Xk + ∆X ,
où X = (x, λ) et DF (X ) est la matrice tangente (jacobienne) au point X
du système.
Calculons la matrice tangente qui a la forme d’une matrice 2 × 2 par blocs
∂Fx ∂Fx
 

DF (X ) =  ∂x ∂λ 

∂Fλ ∂Fλ 
∂x ∂λ
On a les formules
m
∂Fx X
I = Hf + λi Hgi ,
∂x
i=1
∂Fλ
I = Dg où Dg est la matrice jacobienne m × n de l’application g ,
∂x
∂Fx ∂Fλ
I = Dg t et = 0.
Méthode de pénalisation

En utilisant la fonction indicatrice de l’ensemble U = {g (x) = 0}, nous


pouvons enlever les contraintes d’égalité

min f (x) = min f (x) + IU (x)


g (x)=0 x

Le principe de la méthode de pénalisation consiste à approcher la


fonction indicatrice par une fonction plus régulière IU (x) ≈ r Ψr (x) où r
est un paramètre qui tend vers ∞. La fonction Ψr (x) vérifie les propriétés

1. Ψr (x) ≥ 0 ∀x ∈ Rn ∀r > 0,
2. Ψr (x) = 0 ⇐⇒ x ∈U ∀r > 0,
3. lim Ψr (x) = 0 ⇐⇒ x∈
/ U.
r →∞
Méthode de pénalisation (suite)

Pour les contraintes d’égalité, la fonction Ψr (x) la plus utilisée est


r
Ψr (x) = kg (x)k2
2

Par conséquent, le problème pénalisé s’écrit


r
minn f˜r (x) = minn f (x) + ||g (x)||2
x∈R x∈R 2
où r > 0 est un paramètre réel, en général grand, fixé d’avance.

On calcule le point minimum grâce à la condition d’optimalité

∇f˜r (x) = 0.

Vous aimerez peut-être aussi