Vous êtes sur la page 1sur 52

1/4 Intro.

2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Optimisation non linéaire: Théorie

MTH8415

S. Le Digabel, École Polytechnique de Montréal

H2018
(v4)

MTH8415: Optimisation non linéaire 1/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Plan

1. Introduction et définitions

2. Optimisation sans contraintes

3. Optimisation avec contraintes

4. Extensions

Références

MTH8415: Optimisation non linéaire 2/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

1. Introduction et définitions

2. Optimisation sans contraintes

3. Optimisation avec contraintes

4. Extensions

Références

MTH8415: Optimisation non linéaire 3/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Problème et solutions
I On cherche à résoudre
min {f (x) : x ∈ Ω}
x∈Rn

avec f : Rn → R différentiable et Ω ⊆ Rn .
I Un point réalisable x∗ ∈ Ω est un minimum global de la
fonction f sur le domaine Ω si
f (x∗ ) ≤ f (x) pout tout x ∈ Ω .

I Un point réalisable x∗ ∈ Ω est un minimum local de f sur Ω


s’il existe ε > 0 tel que
f (x∗ ) ≤ f (x) pout tout x ∈ Ω ∩ Bε (x∗ )
avec Bε (x∗ ) = {x ∈ Rn : kx − x∗ k < ε}.

MTH8415: Optimisation non linéaire 4/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Dérivées
I Gradient de f en x ∈ Rn :
 
∂f (x) ∂f (x) ∂f (x)
∇f (x) = , ,..., ∈ Rn .
∂x1 ∂x2 ∂xn

I Dérivée directionnelle de f en x ∈ Rn dans la direction


unitaire d ∈ Rn :
f (x + td) − f (x)
fd0 (x) = lim = d> ∇f (x) .
t↓0 t

I Si les dérivées secondes de f existent et sont continues, alors


la matrice Hessienne en x s’écrit
 2 
2 ∂ f
∇ f (x) = (x)
∂xi ∂xj ij

MTH8415: Optimisation non linéaire 5/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Direction de descente

I d ∈ Rn est une direction de descente de f en x ∈ Rn si

fd0 (x) = d> ∇f (x) < 0

I Pour tout α ∈ R petit, on aura h(α) = f (x + αd) < f (x) et


h0 (0) < 0.

I Principe de la line search (recherche linéaire) : Trouver α tel


que h0 (α) = 0.

MTH8415: Optimisation non linéaire 6/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Signe d’une matrice

A ∈ Rn×n symétrique est dite :


I semi-définie positive si y > Ay ≥ 0 pour tout y ∈ Rn ;
I définie positive si y > Ay > 0 pour tout y ∈ Rn 6= 0 ;
I semi-définie négative si y > Ay ≤ 0 pour tout y ∈ Rn ;
I définie négative si y > Ay < 0 pour tout y ∈ Rn 6= 0 ;
I indéfinie sinon.

En pratique, on peut vérifier le signe d’une matrice en examinant


ses valeurs propres ou ses mineurs principaux dominants.

MTH8415: Optimisation non linéaire 7/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

1. Introduction et définitions

2. Optimisation sans contraintes

3. Optimisation avec contraintes

4. Extensions

Références

MTH8415: Optimisation non linéaire 8/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Optimisation sans contraintes : CN1


Dans le cas Ω = Rn :
Condition nécessaire d’optimalité de premier ordre
Si x∗ est un minimum local de f sur Rn , alors ∇f (x∗ ) = 0 (x∗ est
un point critique).

I Attention : Ce n’est pas une condition suffisante : Un point


critique peut être un minimum local, un maximum local, ou
un bien un point de selle.

I Un point critique x est un point de selle si pour tout ε > 0 il


existe a, b ∈ Bε (x) tels que f (a) < f (x) < f (b).

I Si x n’est pas un point critique, il ne peut pas être un


minimum ou un maximum.
MTH8415: Optimisation non linéaire 9/46
1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Optimisation sans contraintes : CN2

Condition nécessaire de second ordre


Si x∗ est un minimum local de f sur Rn , alors ∇f (x∗ ) = 0 et la
matrice Hessienne ∇2 f (x∗ ) est semi-définie positive.

Preuve : Soit x∗ un minimum local. Pour toute direction unitaire


d ∈ Rn et pour t ∈ R suffisamment petit :
2
f (x∗ ) ≤ f (x∗ + td) ' f (x∗ ) + td> ∇f (x∗ ) + t2 d> ∇2 f (x∗ )d
2
= f (x∗ ) + t2 d> ∇2 f (x∗ )d

⇒ d> ∇2 f (x∗ )d ≥ 0 .

Si la matrice Hessienne en un point critique est indéfinie, alors il


s’agit d’un point de selle.

MTH8415: Optimisation non linéaire 10/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Optimisation sans contraintes : CS2

Condition suffisante de second ordre


Si x∗ ∈ Rn est un point critique et si ∇2 f (x∗ ) est définie positive,
alors x∗ est un minimum local de f .

Si ∇2 f (x∗ ) est :

I Définie négative : x∗ est un maximum local.

I Indéfinie : x∗ est un point de selle.

I Semi-définie positive ou semi-définie négative : on ne peut


rien dire.

MTH8415: Optimisation non linéaire 11/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Optimisation sans contraintes : Convexité

f : Rn → R est convexe si :
I pour tout x, y ∈ Rn et tout λ ∈ [0; 1],
f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y).
I ou si sa matrice Hessienne ∇2 f (x) est semi-définie positive
pour tout x ∈ Rn .

I Si f est convexe, la CN1 devient suffisante : Il suffit de


trouver un point critique pour minimiser f .
I f est concave si −f est convexe.

MTH8415: Optimisation non linéaire 12/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Optimisation sans contraintes : Méthode du gradient


Pour la minimisation d’une fonction f : Rn → R sans contraintes.

[0] Initialisation
Point de départ : x0 ∈ Rn
k←1
[1] Itération k
Calculer dk = −∇f (xk ) (dir. de descente)
Si (dk = 0) : Stop (point critique)
Trouver αk ∈ arg min h(α) = f (xk + αdk )
α≥0
xk+1 ← xk + αk dk
k ←k+1
Aller en [1]

MTH8415: Optimisation non linéaire 13/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Méthode du gradient : Remarques


I Lorsque la minimisation de h est faite de façon exacte, les
directions consécutives dk et dk+1 sont perpendiculaires : on
s’arrête toujours de façon tangente à une courbe de niveau.
I La méthode peut prendre un nombre considérable d’itérations
avant de converger à un point critique.

MTH8415: Optimisation non linéaire 14/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Méthode de Newton
I Soit le modèle quadratique de f autour de x :
1
m(d) = f (x) + d> ∇f (x) + d> ∇2 f (x)d
2

I Si ∇2 f (x) est définie positive, alors m est une fonction


convexe et on peut identifier son minimum global avec

∇d m(d) = ∇f (x) + ∇2 f (x)d = 0

I Au lieu de considérer dk = −∇f (xk ) comme direction de


−1
descente, on prend donc dk = − ∇2 f (xk ) ∇f (xk )
(direction de Newton).

MTH8415: Optimisation non linéaire 15/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Méthode quasi-Newton

I La direction de Newton n’est pas définie si la matrice


Hessienne n’est pas définie positive.
I Calculer la matrice Hessienne peut aussi être très coûteux.
I On peut considérer la direction quasi-Newton

d = −B(x)−1 ∇f (x)

avec B(x) définie positive qui remplace la matrice Hessienne.


I Une méthode quasi-Newton sera d’autant plus efficace quand
elle pourra intégrer l’information de second-ordre dans B.

MTH8415: Optimisation non linéaire 16/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

1. Introduction et définitions

2. Optimisation sans contraintes

3. Optimisation avec contraintes

4. Extensions

Références

MTH8415: Optimisation non linéaire 17/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Optimisation avec contraintes

min {f (x) : x ∈ Ω}
x∈Rn

Théorème
Si Ω est fermé et borné et si f est continue sur Ω, alors il existe un
minimum global atteint en un point de Ω et un maximum global
atteint en un point de Ω.

En pratique, cela signifie que pour résoudre le problème, on peut


énumérer tous les candidats (les points critiques) et les comparer
afin de trouver les optima.

MTH8415: Optimisation non linéaire 18/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Optimisation avec une contrainte égalité


Avec Ω = {x ∈ Rn : c(x) = 0} ⊆ Rn :
CN1
Si x∗ est un minimum local de f dans Ω, et si ∇c(x∗ ) 6= 0, alors
c(x∗ ) = 0 et il existe λ ∈ R tel que

∇f (x∗ ) = λ∇c(x∗ ) .

I Un point x∗ satisfaisant cette condition est appelé un point


critique.
I Exemple 1 : min 3x1 − 2x2 s.c. x21 + 2x22 = 44.
x1 ,x2

MTH8415: Optimisation non linéaire 19/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Optimisation avec une contrainte inégalité

Avec Ω = {x ∈ Rn : c(x) ≥ 0} ⊆ Rn :
CN1
Si x∗ est un minimum local de f dans Ω, alors il existe λ ≥ 0 tel
que ∇f (x∗ ) = λ∇c(x∗ ) et c(x∗ )λ = 0.

I Un point x∗ satisfaisant ces conditions est appelé un point


critique.
I Si c(x∗ ) > 0, la condition devient ∇f (x∗ ) = 0.
I Exemple 2 : min (x1 − 1)2 + (x2 − 2)2 s.c. x21 + x22 ≤ 45.
x1 ,x2

MTH8415: Optimisation non linéaire 20/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Optimisation avec plusieurs contraintes égalité


Avec Ω = {x ∈ Rn : ci (x) = 0, i ∈ E} ⊆ Rn et |E| = m :
CN1
Si x∗ est un minimum local de f dans Ω où {∇ci (x∗ ) : i ∈ E} est
un ensemble linéairement indépendant, alors ci (x∗ ) = 0 pour tout
i ∈ E et il existe λ ∈ Rm tel que
X
∇f (x∗ ) = λi ∇ci (x∗ ) .
i∈E

I Un point x∗ satisfaisant cette condition est appelé un point


critique.
I Exemple 3 : min x1 − x2 + x3
x∈R3

x21 + x22 + x23 = 1


s.c.
x21 + (x2 − 1)2 + (x3 − 2)2 = 4
MTH8415: Optimisation non linéaire 21/46
1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Multiplicateurs de Lagrange

I Les λ des conditions nécessaires sont appelés les


multiplicateurs de Lagrange.

I Ils peuvent servir à effectuer des analyses de sensibilité sur les


membres de droite des contraintes.

I En effet, un λ représente la variation de f lorsque le mdd de


la contrainte associée augmente d’une unité.

MTH8415: Optimisation non linéaire 22/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Optimisation avec contraintes : Cas général

min {f (x) : x ∈ Ω}
x∈Rn
avec  
ci (x) = 0, i ∈ E
n
Ω= x∈R ⊆ Rn
ci (x) ≥ 0, i ∈ I
et
|E| = m , |I| = p .

I Les fonctions décrivant le problème sont toutes différentiables


et Ω est un ensemble fermé et borné.
I On va décrire les conditions d’optimalité de ce problème. Trois
ingrédients sont nécessaires : Le cône tangent, le cône normal,
et la qualification des contraintes.

MTH8415: Optimisation non linéaire 23/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Géométrie de l’ensemble réalisable


I d ∈ Rn , d 6= 0, est une direction réalisable à partir de x ∈ Ω
s’il existe ε > 0 tel que pour tout t ∈]0; ε[, x + td ∈ Ω.

I Un ensemble K ⊆ Rn est appelé un cône si pour tout d ∈ K


et tout λ ≥ 0, λd ∈ K.

I L’ensemble de toutes les directions réalisables à partir de


x ∈ Ω forme un cône.

I Le cône polaire du cône K ⊆ Rn est

K ∗ = d ∈ Rn : dT v ≤ 0 : v ∈ K


I Le polaire du polaire est le cône de départ : K ∗∗ = K.

MTH8415: Optimisation non linéaire 24/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Ensemble des contraintes actives


 
n
ci (x) = 0, i ∈ E
Ω= x∈R ⊆ Rn , |E| = m, |I| = p.
ci (x) ≥ 0, i ∈ I

I Pour tout x ∈ Rn , l’ensemble des contraintes actives A(x) est


l’ensemble des indices des contraintes inégalité satisfaites à
égalité en x :

A(x) = {i ∈ I : ci (x) = 0} .

I Attention : Même si les contraintes égalité sont toujours


actives, elles ne sont pas représentées par A(x).

MTH8415: Optimisation non linéaire 25/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Qualification de contraintes (1/2)


I Permet d’exprimer le cône tangent en linéarisant les
contraintes et d’obtenir des formulations analytiques des
cônes tangent et normal.
I Condition basique de qualification de contraintes : Avec
 
 λi ∈ R i∈E 
m+p

Λ(x) = λ ∈ R λi ≥ 0 i ∈ A(x)
λi = 0 i ∈ I \ A(x)
 

la condition basique de qualification de contraintes est


satisfaite en x ∈ Ω ssi le seul λ ∈ Λ(x) tel que
X X
λi ∇ci (x) − λi ∇ci (x) = 0
i∈E i∈A(x)

est 0.
MTH8415: Optimisation non linéaire 26/46
1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Qualification de contraintes (2/2)

I Cette condition n’est pas facile à vérifier et d’autres conditions


(plus fortes) peuvent être employées : Par exemple, la LICQ
(Linear Independence Constraint Qualification) est satisfaite
en x ∈ Ω si {∇ci (x) : i ∈ E ∪ A(x)} est un ensemble de
vecteurs linéairement indépendants.

I Dans tout ce qui suit, on suppose que la condition basique est


vérifiée.

MTH8415: Optimisation non linéaire 27/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Cône tangent
I Définition géométrique :
I d ∈ Rn est un vecteur tangent à Ω en x ∈ Rn s’il existe une
suite {zk } de points réalisables avec zk → x et une suite de
réels positifs {tk } avec tk → 0 tels que
zk − x
lim =d
k→∞ tk
I L’ensemble des vecteurs tangents forme le cône tangent TΩ (x).

I Définitionalgébrique
:> 
d ∇c (x) = 0 i∈E
TΩ (x) = d ∈ R > i
n
d ∇ci (x) ≥ 0 i ∈ A(x)
I Le cône tangent correspond aux directions réalisables de
premier ordre (i.e. lorsque tout est linéarisé).

MTH8415: Optimisation non linéaire 28/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Cône normal

I Définition géométrique : Le cône normal est le polaire du cône


tangent :
NΩ∗ (x) = TΩ (x) .

I Définition algébrique :

 

X X λ ∈R i∈E

NΩ (x) = λi ∇ci (x) − λi ∇ci (x) i
 λi ≥ 0 i ∈ A(x) 
i∈E i∈A(x)

MTH8415: Optimisation non linéaire 29/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Exemples de cônes tangent et normal [Orban, 2010]

I Les cônes tangents sont en bleu et les cônes normaux en


rouge.
I Dans le 3ème cas, le cône normal est réduit à {0}.
I Le point de chaque cône devrait correspondre à l’origine, mais
ils sont ici translatés.

MTH8415: Optimisation non linéaire 30/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Condition nécessaire d’optimalité de premier ordre

Idée : Si x∗ est un minimum local, alors il n’existe pas de direction


d ∈ TΩ (x∗ ) (' dir. réalisable) qui soit une direction de descente,
i.e. telle que d> ∇f (x∗ ) < 0.

CN1
Si x∗ est un minimum local de f dans Ω, alors

−∇f (x∗ ) ∈ NΩ (x∗ )

MTH8415: Optimisation non linéaire 31/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Interprétation graphique (1/2)


6 3
.................................... 7
.... .........
........... ...
.
..
..
5 4 ..
..
..
... . ..
. ... .
.......
.... .
.... .
.
.
.
. .
.
.
.. .. . .
.
. 2
. . .
....... .......................................................
.. ................................. ... .... ... .
... ..
...........................................'$ ... .....................c2 (x) ..
.. = 0 ....
..
.. ..
..
. .. .
. 6 ...
.
.
. ................ .
. .. ... .
.
.
.. 1
. . ... .
............ ........
.
. . . . . .
... ............
. . . . . .

. . . ... .
.. .. ... .. .
.
.......... ............... 5 ..
..
..
.. ..
.. .................. ..
..
..
..
..
..
.
.. . . . ... .
.. ........
. . ..
.......
. . . .. . ..
.......... .... ..
. ...
.
..... ........ ..
.
.
.
.
.
..
.
.
..
... .. ... ... .... ........ ... .. ..
.....
.. .
.. ..
........ ........ ....
....
...
....
...
.... ........
. . ..
...
..
..
..
..
..
..
..
... ... . . . .........
&% .. . ... ... .
.. .
. .
.
.. .. ... ...... ....
. ... .......... .......... ... .
... . ..... .... ......
.... ..
........
...........
.............................................................................. .......... ... ....
..
..... .......
.......
........ ........ .......
....
....
....
.
.....
.....
....
Ω ....................
.. .
......... ............
...
.. .......................
..
.
................................................. .... ...
.
.
.............
.
... ..... ............ . ...
.... .....
..... ..................................... ... .......
. .
....... ..... ...... ....................
..... ........ ..... ...... .............. ... ..... ...
....... ........ ..... ..... ............ .. ...... ...
......
. .
. ... ...
. . .. ..
.....
. . . .........
. ...... ...
. .
. ....... .
..
...
.... ..
c1 (x)..........= 0 ..................................
... ........
. ........
.
........
..
..
....... ..
...
.
.. . .
...... ..
...
..
.. .. . .....
... .
.
.
. ..
.
............... ........
... .
. .
... . .
........................................ ................. .................. ................. .........
.
...
............ ........
......... .............................................................................................
... ........
.................... ...
.........
........... .......
.
.......
. ......................................................................................................................................................................... ......
...
.. ...
...
....... ........
. ....... ...............
... ..............
........................... .
.............. ........ ....... ............. ...
.................. ........ ....... ........... ...
............................. ......... ....... ........... ....
.
.......
.......... ..
..
......... ...
..
. ............ ......
.
. ...... .
........... ...... .........
.. ...
............ ...... ......... ....
.............. ...... ........ ......
...... ........ .......
...... ...
..........
. ..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..........................................................................................................
... ............
........ ..................
........ ..............
...........
..........
........
Attention : Les contraintes sont c1 ≤ 0 et c2 ≤ 0 (pas ≥ 0).
MTH8415: Optimisation non linéaire 32/46
1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Interprétation graphique (1/2)


6 3
.................................... 7
.... .........
........... ...
.
..
..
5 4 ..
..
..
... . ..
. ... .
.......
.... .
.... .
.
.
.
. .
.
.
.. .. . .
.
. 2
. . .
....... .......................................................
.. ................................. ... .... ... .
... ..
...........................................'$ ... .....................c2 (x) ..
.. = 0 ....
..
.. ..
..
. .. .
. 6 ...
.
.
. ................ .
. .. ... .
.
.
.. 1
. . ... .
............ ........
.
. . . . . .
... ............
. . . . . .

. . . ... .
.. .. ... .. .
.
.......... ............... 5 ..
..
..
.. ..
.. .................. ..
..
..
..
..
..
.
.. . . . ... .
.. ........
. . ..
.......
. . . .. . ..
.......... •x ....
..
..
. ...
.
..... ........ ..
.
.
.
.
.
..
.
.
..
... ..
.
.. ... .... ........ ... .. ..
.....
.. .
.. ..
 a ...... ...... ....
....
...
....
...
.... ........
. . ..
...
..
..
..
..
..
..
..
... ... . . . .........
&% ..
. .. ... ... .
.. .
. .
.
.. .. ... ...... ....
. ... .......... .......... ... .
... . ..... .... ......
.... ..
........
...........
.............................................................................. .......... ... ....
..
..... .......
.......
........ ........ .......
....
....
....
.
.....
.....
....
Ω ....................
.. .
......... ............
...
.. .......................
..
.
................................................. .... ...
.
.
.............
.
... ..... ............ . ...
.... .....
..... ..................................... ... .......
. .
....... ..... ...... ....................
..... ........ ..... ...... .............. ... ..... ...
....... ........ ..... ..... ............ .. ...... ...
......
. .
. ... ...
. . .. ..
.....
. . . .........
. ...... ...
. .
. ....... .
..
...
.... ..
c1 (x)..........= 0 ..................................
... ........
. ........
.
........
..
..
........ .
...
.
.. . .
...... ..
...
..
.. .. . .....
... .
.
.
. ..
.
............... ........
... .
. .
... . .
........................................ ................. .................. ................. .........
.
...
............ ........
......... .............................................................................................
... ........
.................... ...
.........
........... .......
.
.......
. ......................................................................................................................................................................... ......
...
.. ...
...
....... ........
. ....... ...............
... ..............
........................... .
.............. ........ ....... ............. ...
.................. ........ ....... ........... ...
............................. ......... ....... ........... ....
.
.......
.......... ..
..
......... ...
..
. ............ ......
.
. ...... .
........... ...... .........
.. ...
............ ...... ......... ....
.............. ...... ........ ......
...... ........ .......
...... ...
..........
. ..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..........................................................................................................
... ............
........ ..................
........ ..............
...........
..........
........
Attention : Les contraintes sont c1 ≤ 0 et c2 ≤ 0 (pas ≥ 0).
MTH8415: Optimisation non linéaire 32/46
1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Interprétation graphique (1/2)


6 3
.................................... 7
.... .........
........... ...
.
..
..
5 4 ..
..
..
... . ..
. ... .
.......
.... .
.... .
.
.
.
. .
.
.
.. .. . .
.
. 2
. . .
....... .......................................................
.. ................................. ... .... ... .
... ..
...........................................'$ ... .....................c2 (x) ..
.. = 0 ....
..
.. ..
..
. .. .
. 6 ...
.
.
. ................ .
. .. ... .
.
.
.. 1
. . ... .
............ ........
.
. . . . . .
... ............
. . . . . .

. . . ... .
.. .. ... .. .
.
.......... ............... 5 ..
..
..
.. ..
.. .................. ..
..
..
..
..
..
.
.. . . . ... .
.. ........
. . ..
.......
. . . .. . ..
.......... •x ....
..
..
. ...
.
..... ........ ..
.
.
.
.
.
..
.
.
..
... ..
.
.. ... .... ........ ... .. ..
.....
.. .
.. ..
 a ...... ...... ....
....
...
....
...
.... ........
. . ..
...
..
..
..
..
..
..
..
... ... . . . .........
&% ..
. .. ... ... .
.. .
. .
.
.. .. ∇f (x ... ...... ....
. ... .......... .......... ... .
... . ..... a )=0 .... ......
.... ..
........
...........
.............................................................................. .......... ... ....
..
..... .......
.......
........ ........ .......
....
....
....
.
.....
.....
....
Ω ....................
.. .
......... ............
...
.. .......................
..
.
................................................. .... ...
.
.
.............
.
... ..... ............ . ...
.... .....
..... ..................................... ... .......
. .
....... ..... ...... ....................
..... ........ ..... ...... .............. ... ..... ...
....... ........ ..... ..... ............ .. ...... ...
......
. .
. ... ...
. . .. ..
.....
. . . .........
. ...... ...
. .
. ....... .
..
...
.... ..
c1 (x)..........= 0 ..................................
... ........
. ........
.
........
..
..
........ .
...
.
.. . .
...... ..
...
..
.. .. . .....
... .
.
.
. ..
.
............... ........
... .
. .
... . .
........................................ ................. .................. ................. .........
.
...
............ ........
......... .............................................................................................
... ........
.................... ...
.........
........... .......
.
.......
. ......................................................................................................................................................................... ......
...
.. ...
...
....... ........
. ....... ...............
... ..............
........................... .
.............. ........ ....... ............. ...
.................. ........ ....... ........... ...
............................. ......... ....... ........... ....
.
.......
.......... ..
..
......... ...
..
. ............ ......
.
. ...... .
........... ...... .........
.. ...
............ ...... ......... ....
.............. ...... ........ ......
...... ........ .......
...... ...
..........
. ..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..........................................................................................................
... ............
........ ..................
........ ..............
...........
..........
........
Attention : Les contraintes sont c1 ≤ 0 et c2 ≤ 0 (pas ≥ 0).
MTH8415: Optimisation non linéaire 32/46
1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Interprétation graphique (1/2)


6 3
.................................... 7
.... .........
........... ...
.
..
..
5 4 ..
..
..
... . ..
..
.. .
......
..... .
.... .
.
.
.
. ...
.... . .
.
. 2
. . .
....... .......................................................
.. ................................. ... .... ... .
... ..
...........................................'$ ... .....................c2 (x) ..
.. = 0 ....
..
.. ..
..
. .. .
. 6 ... .
.
. ................ ..
.. ...
.
.
. .. 1
. . ... .
............ ........
.. . . . . .
... ............
. . . . . .

. . . ... .
.. .. ... .. .
.
.......... ............... 5 ..
.. ..
..
..
.. .................. ..
.. ..
..
..
..
.
.. . . . .. ..
.. ........
. . ..
.......
. . . . . . ..
.......... .... ... ...
.
... .. ........ ... .
.
.
.
..
.
.
..
... .. ... ... .... ........ ... .. ..
.....
.. .
.. ..
........ ........ ....
....
...
....
...
.... ........
. . ..
..
... ..
..
..
..
..
..
... ... . . . .........
&% .. . .
.. ... ... .
. .
.
.. .. ... ...... ....
. ... .......... .......... ... .
... . ..... .... ......
.... ..
........
...........
.............................................................................. .......... .. . ......
.......
..... .......
........ ........ .. . ....
....
....
....
.....
.....
.
....
Ω ....................
.. .
......... ............
...
.. .......................
..
................................................. .... ...
.
. .
.............
.
... ..... ............ . ...
.... .....
..... ..................................... ... .......
. .
....... ..... ...... ....................
..... ........ ..... ...... .............. ... ..... ...
....... ........ ..... ..... ............ .. ...... ...
......
. .
. ... .... . .. .......
. . . .........
. ...... .... .. ....... .
..
..
...
.. ..
c1 (x)..........= 0 ..................................
... ........
.......
...
... .......
..
..
...........
. ..
....
.. . .
...... ..
.....
..... . ... ....
...
. .
.
.
.
.
..
.
............... ........
. . .
........................................ ................. .................. ................. ......... ...
................................................... ......................... ...................... ...
...
..........
.
.........
..........
. .......................................................................................................................• ................................................................................. ......
.
.
...
.
................
..............
.
......
. .
........
........
... ..
.......
.......
.. ..
.
..............
.............
............
.
xb ..
...
...............
..........................
...
...
..
..........................
....... ........
........ ...... ....... ........... ....
......... ....... .......... .
....
.......... ....... .......... ....
........... .........
............ ....... ......... ...
....
.............. ..
..
....... ..
..
..
.......... ..
..
.
..... .... ..
.......
...... ........ .....................................................................................................................
...... ........ .....................................
....... ....................
........ ...............
........ .
.............
.
..........
........
Attention : Les contraintes sont c1 ≤ 0 et c2 ≤ 0 (pas ≥ 0).
MTH8415: Optimisation non linéaire 32/46
1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Interprétation graphique (1/2)


6 3
.................................... 7
.... .........
........... ...
.
..
..
5 4 ..
..
..
... . ..
..
.. .
......
..... .
.... .
.
.
.
. ...
.... . .
.
. 2
. . .
....... .......................................................
.. ................................. ... .... ... .
... ..
...........................................'$ ... .....................c2 (x) ..
.. = 0 ....
..
.. ..
..
. .. .
. 6 ... .
.
. ................ ..
.. ...
.
.
. .. 1
. . ... .
............ ........
.. . . . . .
... ............
. . . . . .

. . . ... .
.. .. ... .. .
.
.......... ............... 5 ..
.. ..
..
..
.. .................. ..
.. ..
..
..
..
.
.. . . . .. ..
.. ........
. . ..
.......
. . . . . . ..
.......... .... ... ...
.
... .. ........ ... .
.
.
.
..
.
.
..
... .. ... ... .... ........ ... .. ..
.....
.. .
.. ..
........ ........ ....
....
...
....
...
.... ........
. . ..
..
... ..
..
..
..
..
..
... ... . . . .........
&% .. . .
.. ... ... .
. .
.
.. .. ... ...... ....
. ... .......... .......... ... .
... . ..... .... ......
.... ..
........
...........
.............................................................................. .......... .. . ......
.......
..... .......
........ ........ .. . ....
....
....
....
.....
.....
.
....
Ω ....................
.. .
......... ............
...
.. .......................
..
................................................. .... ...
.
. .
.............
.
... ..... ............ . ...
.... .....
..... ..................................... ... .......
. .
....... ..... ...... ....................
..... ........ ..... ...... .............. ... ..... ...
....... ........ ..... ..... ............ .. ...... ...
......
. .
. ... .... . .. .......
. . . .........
. ...... .... .. ....... .
.. ∇f (x )=−λ∇c (x ) ..
...
.. ..
c1 (x)..........= 0 ..................................
... ........
.......
...
... .......
..
..
...........
. ..
....
.. . .
...... ..
..... b 1 b
..... . ... ....
...
. .
.
.
.
.
..
.
............... ........
. . .
........................................ ................. .................. ................. ......... ...
................................................... ......................... ...................... ...
...
..........
.
.........
..........
. .......................................................................................................................• ................................................................................. ......
.
.
...
.
................
..............
.
......
. .
........
........
... ..
.......
.......
.. ..
.
..............
.............
............
.
xb ..
...
...............
..........................
...
...
..
..........................
....... ........
........ ...... ....... ........... ....
......... ....... .......... .
....
.......... ....... .......... ....
........... .........
............ ....... ......... ...
....
.............. ..
....... .
..
.......... .
.
.
.....
......
. .
....
........
.
.
1 b ∇c (x ) .......
.
...
.
...... ........ .....................................................................................................................
....... .....................................
........ ....................
........ ..........
................
....
..........
........
Attention : Les contraintes sont c1 ≤ 0 et c2 ≤ 0 (pas ≥ 0).
MTH8415: Optimisation non linéaire 32/46
1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Interprétation graphique (1/2)


6 3
.................................... 7
.... .........
........... ...
.
..
..
5 4 ..
..
..
... . ..
. ... .
.......
.... .
.... .
.
.
.
. .
.
.
.. .. . .
.
. 2
. . .
....... .......................................................
.. ................................. ... .... ... .
... ..
...........................................'$ ... .....................c2 (x) ..
.. = 0 ....
..
.. ..
..
. .. .
. 6 ...
.
.
. ................ .
. .. ... .
.
.
.. 1
. . ... .
............ ........
.
. . . . . .
... ............
. . . . . .

. . . ... .
.. .. ... .. .
.
.......... ............... 5 ..
..
..
.. ..
.. .................. ..
..
..
..
..
..
.
.. . . . ... .
.. ........
. . ..
.......
. . . .. . ..
.......... .... ..
. ...
.
..... ........ ..
.
.
.
.
.
..
.
.
..
... .. ... ... .... ........ ... .. ..
.....
.. .
.. ..
........ ........ ....
....
...
....
...
.... ........
. . ..
...
..
..
..
..
..
..
..
... ... . . . .........
&% .. . ... ... .
.. .
. .
.
.. .. ... ...... ....
. ... .......... .......... ... .
..... .... ........ xc
..........•
... .
.... ..
........
...........
.............................................................................. .......... ... ....
..
..... .......
.......
........ ........ .......
....
....
....
.
.....
.....
....
Ω ....................
.. .
......... ............
...
.. .......................
..
.
................................................. .... ...
.
. .
.
... ..... ............ . ...
.... .....
..... ..................................... ... .......
. .
....... ..... ...... ....................
..... ........ ..... ...... .............. ... ..... ...
....... ........ ..... ..... ............ .. ...... ...
......
. .
. ... ...
. . .. ..
.....
. . . .........
. ...... ...
. .
. ....... .
..
...
.... ..
c1 (x)..........= 0 ..................................
... ........
. ........
.
........
..
..
....... ..
...
.
.. . .
...... ..
...
..
.. .. . .....
... .
.
.
. ..
.
............... ........
... .
. .
... . .
........................................ ................. .................. ................. .........
.
...
............ ........
......... .............................................................................................
... ........
.................... ...
.........
........... .......
.
.......
. ......................................................................................................................................................................... ......
...
.. ...
...
....... ........
. ....... ...............
... ..............
........................... .
.............. ........ ....... ............. ...
.................. ........ ....... ........... ...
............................. ......... ....... ........... ....
.
.......
.......... ..
..
......... ...
..
. ............ ......
.
. ...... .
........... ...... .........
.. ...
............ ...... ......... ....
.............. ...... ........ ......
...... ........ .......
...... ...
..........
. ..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..........................................................................................................
... ............
........ ..................
........ ..............
...........
..........
........
Attention : Les contraintes sont c1 ≤ 0 et c2 ≤ 0 (pas ≥ 0).
MTH8415: Optimisation non linéaire 32/46
1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Interprétation graphique (1/2)


6 3
.................................... 7
.... .........
........... ...
.
..
..
5 4 ..
..
..
... . ..
. ... .
.......
.... .
.... .
.
.
.
. .
.
.
.. .. . .
.
. 2
. . .
....... .......................................................
.. ................................. ... .... ... .
... ..
...........................................'$ ... .....................c2 (x) ..
.. = 0 ....
..
.. ..
..
. .. .
. 6 ...
.
.
. ................ .
. .. ... .
.
.
.. 1
. . ... .
............ ........
.
. . . . . .
... ............
. . . . . .

. . . ... .
.. .. ... .. .
.
.......... ............... 5 ..
..
..
.. ..
.. .................. ..
..
..
..
..
..
.
.. . . . ... .
.. ........
. . ..
.......
. . . .. . ..
.......... .... .. .
. . ........ .
.
.
.
. .
........ ∇f (xc )= −λ ∇c1 (xc )....
. .. .... . . .
... .. ... ... .... ... 1 ..
.....
.. . ........ ........ ....
...
...
.... ........ −λ ...
.. 2 ∇c2 (xc )
.. ∇c...... 2 (xc )
.. ..
..
... ... .... .... . . . . . ......... .. .. ..
&% .. . ... ... .
.. .
. .
.
.. .. ... ...... ....
. ... .......... .......... ... .
..... .... ........ xc
..........•
... .
.... ..
........
...........
.............................................................................. .......... ... ....
..
..... .......
.......
........ ........ .......
....
....
....
.

.....
.....
.... ....................
.. .
......... ............
...
.. .......................
..
.
................................................. .... ...
.
. .
.
... ..... ............ . ...
.... .....
..... ..................................... ... .......
. .
....... ..... ...... ....................
..... ........ ..... ...... .............. ... ..... ...
....... ........ ..... ..... ............ .. ...... ...
......
. .
. ... ...
. . .. ..
.....
. . . .........
. ...... ...
. .
. ....... .
..
...
.... ..
c1 (x)..........= 0 ..................................
... ........
. ........
.
........
..
..
....... ..
...
.
.. . .
...... ..
...
..
.. .. . .....
... .
.
.
. ..
.
............... ........
... .
. .
... . .
........................................ ................. .................. ................. .........
.
... ∇c1 (xc )
............ ........
......... .............................................................................................
... ........
.................... ...
.........
........... .......
.
.......
. ......................................................................................................................................................................... ......
...
.. ...
...
....... ........
. ....... ...............
... ..............
........................... .
.............. ........ ....... ............. ...
.................. ........ ....... ........... ...
............................. ......... ....... ........... ....
.
.......
.......... ..
..
......... ...
..
. ............ ......
.
. ...... .
........... ...... .........
.. ...
............ ...... ......... ....
.............. ...... ........ ......
...... ........ .......
...... ...
..........
. ..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..........................................................................................................
... ............
........ ..................
........ ..............
...........
..........
........
Attention : Les contraintes sont c1 ≤ 0 et c2 ≤ 0 (pas ≥ 0).
MTH8415: Optimisation non linéaire 32/46
1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Interprétation graphique (2/2)

I ∇f (xa ) = 0, A(xa ) = ∅, NΩ (xa ) = {0}, TΩ (xa ) = R2 .

I A(xb ) = {1}, NΩ (xb ) est réduit à la demi-droite dans la


direction ∇c1 (xb ), TΩ (xb ) est l’union de {0} et du
demi-espace orthogonal à ∇c1 (xb ).

I A(xc ) = {1, 2},


NΩ (xc ) = {λ1 ∇c1 (xc ) + λ2 ∇c2 (xc ) : λ1 , λ2 ≥ 0}.

MTH8415: Optimisation non linéaire 33/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

CN1 : Conditions de KKT


La CN1 peut se reformuler comme les conditions de
Karush-Kuhn-Tucker (KKT) :
CN1
Si x∗ est un minimum local de f dans Ω, alors il existe λ ∈ Rm+p
tel que

∇f (x∗ ) − λi ∇ci (x∗ ) = 0


P
i∈E∪I
λi ci (x∗ ) =0 i∈I
ci (x∗ ) =0 i∈E
ci (x∗ ) ≥0 i∈I
λi ≥0 i∈I
Comme pour toutes les conditions nécessaires, les conditions de
KKT ne sont pas suffisantes et peuvent aussi correspondre à des
maximums et des points de selle.
MTH8415: Optimisation non linéaire 34/46
1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Dualité
Fonction Lagrangienne (ou Lagrangien) :
X
L(x, λ) = f (x) − λi ci (x)
i∈E∪I

(la 1ère équation des conditions KKT peut s’écrire ∇x L(x, λ) = 0)


Théorème de dualité faible
Soit x∗ ∈ arg min f . Pour tout λ ∈ Rm+p avec λi ≥ 0 pour i ∈ I,
x∈Ω
on a
L(λ) = min L(x, λ) ≤ f (x∗ )
x∈Ω

La meilleure borne inférieure est donc donnée par le problème dual


max L(λ)
λ∈Rm+p
λi ≥0, i∈I

MTH8415: Optimisation non linéaire 35/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Cas de l’optimisation
 linéaire (1/3)
Ax ≥ b
min c> x s.c. avec c ∈ Rn , b ∈ Rm , A ∈ Rm×n
x∈Rn x ≥0

I Le Lagrangien est considéré avec les variables x ∈ Rn ,


µ ∈ Rm et λ ∈ Rn :
 
L(x, λ, µ) = c> x−µ> (Ax−b)−λ> x = b> µ+x> c − λ − A> µ

I Une borne inférieure est donnée par


 
min b> µ + x> c − λ − A> µ
x∈Ω

avec λ, µ ≥ 0.

MTH8415: Optimisation non linéaire 36/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Cas de l’optimisation linéaire (2/3)


Les conditions KKT sont

∇x L(x, λ) = c − λ − A> µ =0
µi (A>
i x − bi ) =0 i ∈ {1, 2, . . . , m}
λ j xj =0 j ∈ {1, 2, . . . , n}
Ax − b ≥0
x ≥0
λj ≥0 j ∈ {1, 2, . . . , n}
µi ≥0 i ∈ {1, 2, . . . , m}

Obtenir la meilleure borne inférieure revient donc à résoudre


n
max b> µ s.c. c − λ − A> µ = 0
λ,µ≥0

MTH8415: Optimisation non linéaire 37/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Cas de l’optimisation linéaire (3/3)

En considérant les λ comme des variables d’écart, on obtient le


problème dual

max b> µ
µ∈Rn

A> µ

≤c
s.c.
µ ≥0

qui correspond à ce qui a été vu en OL.

Note : Les conditions KKT redonnent le théorème des écarts


complémentaires.

MTH8415: Optimisation non linéaire 38/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Méthodes de pénalités

I Les méthodes de pénalités sont des algorithmes itératifs qui, à


chaque itération, considèrent la minimisation sans contraintes
d’une fonction critère dans laquelle les violations des
contraintes sont associées à des coûts.

I Ces coûts vont être augmentés au fil des itérations.

I On espère ainsi générer une suite de points tendant à


respecter les contraintes.

MTH8415: Optimisation non linéaire 39/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Exemples de pénalités
I Pénalité quadratique :
µX 2 µX
f (x) + ci (x) + min{0, ci (x)}2
2 2
i∈E i∈I
I Avantage : Formulation lisse.
I Inconvénients : Non exacte, mal conditionnée.

I Pénalité `1 :
X X
f (x) + µ |ci (x)| + µ | min{0, ci (x)}|
i∈E i∈I

I Avantage : Exacte : Il existe µ tel que l’optimum sans


contraintes correspond à l’optimum avec contraintes.
I Inconvénient : Formulation non-lisse.

MTH8415: Optimisation non linéaire 40/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Algorithme du Lagrangien augmenté (1/2)


I On considère I = ∅ à des fins de simplicité.
I Méthode de pénalité basée sur la pénalité quadratique, donc
qui donne une formulation lisse, mais qui réduit le mauvais
conditionnement grâce à l’emploi des multiplicateurs de
Lagrange.
I Le Lagrangien augmenté pour contraintes égalité est
La (x, λ, µ) = L(x, λ) + µ2
P 2
ci (x)
P i∈E
λi ci (x) + µ2
P 2
= f (x) − ci (x)
i∈E i∈E

I L’algorithme suivant converge vers un point critique (selon les


conditions KKT) et fournit également les multiplicateurs de
Lagrange.

MTH8415: Optimisation non linéaire 41/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Algorithme du Lagrangien augmenté (2/2)


[0] Initialisation
Point de départ : x0 ∈ Rn , λ0 ∈ Rm
Précision initiale : τ 0 > 0
Pénalité initiale : µ0 > 0
k←1
[1] Itération k
Trouver approximativement xk+1 ∈ arg min La (x, λk , µk )
x∈Rn
avec k∇x La (xk+1 , λk , µk )k ≤ τ k comme critère d’arrêt
Si (test de convergence) : Stop (point critique)
λk+1
i ← λki − µk ci (xk+1 ) i ∈ E
Choisir µk+1 ≥ µk
Choisir τ k+1
k ←k+1
Aller en [1]

MTH8415: Optimisation non linéaire 42/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

1. Introduction et définitions

2. Optimisation sans contraintes

3. Optimisation avec contraintes

4. Extensions

Références

MTH8415: Optimisation non linéaire 43/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Extensions

I Cas sans contrainte : Méthodes de régions de confiance.

I Avec contraintes : Conditions de second ordre (CN2 et CS2).

I Méthode de point intérieurs.

I Optimisation globale.

I Optimisation sans dérivées : Que faire quand f n’est pas


différentiable ?

MTH8415: Optimisation non linéaire 44/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

1. Introduction et définitions

2. Optimisation sans contraintes

3. Optimisation avec contraintes

4. Extensions

Références

MTH8415: Optimisation non linéaire 45/46


1/4 Intro. 2/4 Sans contraintes 3/4 Avec contraintes 4/4 Extensions Références

Références I

Audet, C. (2011).
Notes de cours, MTH1101, Calcul I.

Gauvin, J. (1995).
Leçons de programmation mathématique.
Éditions de l’École Polytechnique de Montréal.

Nocedal, J. and Wright, S. (2006).


Numerical Optimization.
Springer Series in Operations Research and Financial Engineering.
Springer, Berlin, second edition.

Orban, D. (2010).
Numerical Methods for Nonlinear Optimization and Optimal Control,
notes du cours MTH8408.

MTH8415: Optimisation non linéaire 46/46