Introduction à l’optimisation
1.1 Problématique
1.1.1 Cadre
Un problème d’optimisation consiste, étant donnée une fonction f : S →
R, à trouver :
1) son minimum v (resp. son maximum) dans S
2) un point x0 ∈ S qui réalise ce minimum (resp. maximum) i.e.
f (x0 ) = v.
Vocabulaire
– f est la fonction objectif
– v est la valeur optimale
– x0 est la solution optimale
– S = {solutions réalisables du problème}
– écriture du problème : minx∈S f (x) resp. maxx∈S f (x)
1
1.1.2 Applications
L’optimisation intervient dans de nombreux domaines :
• en recherche opérationnelle (problème de transport, économie,
gestion de stocks...)
• en analyse numérique (approximation/résolution de systèmes
linéaires, non linéaires...)
• en automatique (modélisation de systèmes, filtrage...)
• en ingénierie (dimensionnement de structures, conception opti-
male de systèmes (réseaux, ordinateurs...))
– optimisation convexe
f est une fonction convexe et S un domaine convexe
– optimisation différentiable
f est une fonction différentiable
S est défini par des fonction (=contraintes) différentiables
2
Nous étudierons, dans ce cours, uniquement des problèmes d’optimisation
non linéaire.
2. Un problème de production
3
matières premières m1 et m2 .
Pour fabriquer une unité de A, il faut 2 unités de m1 et 1 de m2 . Et
pour fabriquer une unité de B, il faut 1 unité de m1 et 2 de m2 .
On dispose de 8 unités de m1 et 7 de m2 .
Enfin, le bénéfice est de 4 par unité de A et de 5 par unité de B.
La patron de la firme voudrait optimiser son bénéfice.
Lc = {(a,b) t.q. 4a + 5b = c}
Cela signifie que f est bornée sur S (f (x0 ) ≤ f (x) ≤ f (x1 )) et atteint ses
bornes. Le maximum et le minimum sont atteints dans ce cadre-là.
4
Exemple 1) Soit f de R dans R définie par f (x) = x. Soit S = [0,1].
Il est clair que le maximum est atteint en 1 et que maxx∈S f (x) = 1 = f (1).
S est bien un fermé borné. Les conditions du théorème sont bien vérifiées.
2) Par contre, si on étudie la même fonction mais cette fois-ci sur S =]0,1[.
On a aussi maxx∈S f (x) = 1. Mais le maximum n’est pas atteint : x0 ∈ S
tel que f (x0 ) = maxx∈S f (x).
Ici les conditions du théorème ne sont pas vérifiées : S n’est pas un fermé
borné.
5
Chapitre 2
∀x ∈ S, f (x) ≥ f (x0 )
6
On définit de la même façon un maximum local, maximum local strict,maximum
global,maximum global strict, en renversant les inégalités.
||(v)||
avec ||v|| → 0 quand ||v|| → 0.
7
Exemple Soit f : R2 → R définie par f (x1 ,x2 ) = x1 + x22 .
Alors
∂f ∂f
∇f (x̄1 ,x̄2 ) = [ (x̄), (x̄)] = [1 2x̄2 ]
∂x1 ∂x2
où x̄ = (x̄1 ,x̄2 ).
Corollaire 2.2.1 Les minima et les maxima locaux sont des points station-
naires et par conséquent, le minimum global et le maximum global aussi.
Remarque
1. S doit être ouvert pour pouvoir appliquer la proposition.
Cex : Soit S = [0,1] et f (x) = x. Alors f (x) = 1 = 0 ∀x et pourtant 1
est un maximum.
2. La condition nécessaire exige seulement que f soit différentiable en x̄
mais comme on ne sait pas a priori si les points candidats x̄ se trouvent
dans la zone de différentiabilité, on exige une condition plus forte : f
différentiable sur tout S. Toutefois, il n’en est pas toujours ainsi :
Propriétés
• Soit f : S → R telle que f (x) = min[f1 (x),..,fm (x)] avec les fi
différentiables sur S. Alors f est différentiable en tout point x̄ mini-
mum local de f et donc ∇f (x̄) = 0.
8
2 4
Exemple : Soit f définie par f (x,y) = x 3 + y 5 + 1. Alors f n’est pas
différentiable en (0,0) mais c’est un minimum strict de f sur R2 .
3. Attention, la réciproque est fausse : on peut avoir ∇f (x̄) = 0 sans que
x̄ ne soit ni un minimum ni un maximum.
Remarque Tous les points singuliers ne sont pas des points selle.
∂2f
Proposition 2.3.1 1. Hf (x) est une matrice symétrique car ∂xi ∂xj =
∂2f
∂xj ∂xi dès que f est deux fois dérivable (Schwarz).
9
2. On a le développement de Taylor suivant :
1
f (x + v) = f (x) + ∇f (x).v + v t Hf (x)v + (v)
2
||(v)||
avec ||v|| → 0 quand ||v||2 → 0.
Exemple n 2
⎧ : Soit f : R → R telle que f (x1 ,x2 ) = x1 + x2 .
⎨ ∇f (x) =
[1 2x2 ]
Alors 0 0
⎩ Hf (x) =
0 2
Rappel Les mineurs principaux d’une matrice M sont les déterminants des
sous-matrices k × k de M obtenues en barrant un sous-ensemble de (n − k)
colonnes et le sous-ensemble correspondant des (n − k) lignes.
10
Si Hf est définie positive, f (x0 + v) > f (x0 ) et x0 est un minimum lo-
cal strict.
Plus précisément,
Théorème 2.3.1 Condition nécessaire
Si x0 ∈ S ouvert est un minimum local de f et si f est C 2 , alors
∇f (x0 ) = 0
y t Hf (x)y ≥ 0∀y ∈ Rn
On a aussi
Théorème 2.3.2 Condition suffisante
Soit f : S ⊂ Rn → R est C 2 en x0 ∈ S.
Si ∇f (x0 ) = 0 et y t Hf (x)y ≥ 0∀y ∈ Rn , alors x0 est un minimum local
strict de f .
r s
Remarque 2.3.2 En dimension 2, soit A = ∈ M2 (R)
s t
1. Si det(A) = rt − s2 > 0 alors les vap λ1 et λ2 de A sont de même signe
car det(A) = λ1 λ2 . De plus, tr(A) = λ1 + λ2 = r + t et comme r et t
sont de même signe det(A) = rt − s2 > 0, on en déduit que λ1 + λ2 a
le signe de r. Les vap ont donc le signe de r.
Donc
– det(A) > 0, A est définie positive ⇔ r > 0, A est définie négative
⇔r<0
– det(A) < 0, λ1 et λ2 sont de signes opposés donc A n’est ni
définie positive ni définie négative
11
2. Considérons f : U ⊂ R2 → R C 2 telle que ∇f (x̄,ȳ) = 0 avec (x̄,ȳ) ∈ U .
Exemple 2.3.1 Soit f (x1 ,x2 ) = mx21 +x22 définie de R2 dans R, avec m = 0.
Alors ∇f (x1 ,x2 ) = (2mx1 ,2x2 ).
2mx1 = 0
On cherche les x = (x1 ,x2 ) tels que ∇f (x) = 0 qui équivaut à
2x2 = 0
La seule possibilité est x0 = (0,0). Dans ce cas,
2m 0
Hf (x0 ) = ∈ M2 (R)
0 2
– si m > 0, alors Hf (x0 ) est définie positive (vap > 0) donc par la
condition suffisante x0 = (0,0) est un minimum local strict.
– si m < 0, alors les vap n’ont pas le même signe donc par la condition
nécessaire, x0 = (0,0) ne peut pas être un minimum local.
2.4 Algorithmes
Rappel : Soit f : S ⊂ Rn → R avec S un ouvert. Alors si f est
différentiable sur S et x̄ ∈ S un extremum local alors ∇f (x̄) = 0.
Parfois, on ne peut pas résoudre cette équation explicitement donc on fait
appel à une méthode nimérique. C’est la méthode de Newton.
12
Posons x1 = x0 − gg(x 0)
(x ) . x1 est une meilleure approximation de a que x0 . On
0
g(x)
itère alors la fonction φ(x) = x − g (x) .
Alors
- ∀x ∈ [a − h,a + h], |φ(x) − a| ≤ M |x − a|2
1 p
- ∀x0 ∈ [a − h,a + h], |xp − a| ≤ M |x0 − a|2
13
Chapitre 3
14
Cex : Si les ∇hi ne sont pas linéairement indépendants, le théorème ne s’ap-
plique pas.
Soit f (x,y) = x + y 2 à minimiser sur x3 − y 2 = 0. Il est facile de voir que
x̄ = (0,0) est le minimum global de f sous h(x) = x3 − y 2 = 0. Mais on ne
peut pas avoir (*).
Interprétation analytique
Soit L(x,λ) = f (x)+ mi=1 λi hi (x) fonction de Lagrange associée au problème
de minimisation de f sur C. Alors
(∗) ⇔ ∇x L(x̄,λ̄) = 0
Toutefois, il faut bien se garder de croire que la nature des points est
conservée : si x̄ est un minimum local de f sur C, il est certes stationnaire
pour L(.,λ̄) mais pas nécessairement un minimum local.
Interprétation géométrique
15
L’idée de différenciation du premier ordre est d’approcher f (x) au voisi-
nage de x̄ par la fonction affine x → f (x̄)+ < ∇f (x̄),x − x̄ > et d’approcher
h − i(x) au voisinage de x̄ par < ∇hi (x̄),x − x̄ > (car hi (x̄) = 0). D’où l’idée
d’approcher l’ensemble contrainte C au voisinage de x̄ par le sous-espace
affine {x ∈ Rn / < ∇hi (x̄),x − x̄ > i = 1..m}.
Ceci traduit la notion de tangence à C en x̄. Un élément x de {x ∈ Rn / <
∇hi (x̄),x − x̄ > i = 1..m} est de la forme x = x̄ + d où d ∈ {d ∈ Rn / <
∇hi (x̄),d > i = 1..m}.
Définition 3.2.1 On appelle les j ∈ J(x̄) les indices des contraintes actives
ou saturées en x̄.
Si j ∈ / J(x̄) i.e. gj (x̄) < 0 alors au voisinage de x̄ par continuité, on a
gj (x) < 0. Donc la contrainte gj (x) ≤ 0 ne joue localement aucun rôle.
Si j ∈ J(x̄) i.e. gj (x̄) = 0 alors il est probable que x̄ est à la frontière de
C et que l’on sort nécessairement de C en bougeant un petit peu autour de x̄.
16
Exemple On cherche à calculer le max de (−(x1 − 2)2 − (x2 − 1)2 )) sous
C = {−1 ≤ x1 ≤ 1 et 0 ≤ x2 ≤ 12 } ce qui revient à minimiser
sur
C = {g1 (x) ≤ 0,g2 (x) ≤ 0,g3 (x) ≤ 0,g4 (x) ≤ 0}
avec g1 (x) = x1 − 1, g2 (x) = −x1 − 1, g3 (x) = x2 − 12 , g4 (x) = −x2 .
En A = (1,0), 1 et 4 sont saturés mais ∇g1 (A) = (1,0) et ∇g4 (A) = (0, − 1)
forment un système libre donc A est régulier.
En B = (1, 12 ), 1 et 3 sont saturés mais ∇g1 (A) = (1,0) et ∇g3 (A) = (0,1)
forment un système libre donc B est régulier.
et
μj ∇gj (x̄) = 0 pour j = 1..p
C’est un mélange des deux théorèmes précédents.
17
Chapitre 4
Optimisation convexe
4.1 Rappels
Définition 4.1.1 Soit S ⊂ Rn . On dit que
Exemple
18
Définition 4.1.3 Soit S ⊂ Rn convexe. Soit f : S → R. On dit que
2) Si
∂f
∀x = y ∈ Ωf (y) > f (x) + (y − x) (x)
∂x
alors f est strictement convexe sur Ω.
19
4.2 Optimisaion sans contrainte
1) Dans les chapitres précédents, on a vu qu’on n’a pas toujours des CNS
mais seulement des CN, CS pour les minima. On va voir que dans le cadre
des fonctions convexes, les choses se passent beaucoup mieux.
Exemple :
20
4.3 Optimisation avec contrainte
Il suffit de reprendre les théorèmes et conditions du chapitre concerné
dans le cas des fonctions convexes.
1. Contraintes de type inégalités
et
μj ∇gj (x̄) = 0 pour j = 1..p
21
22