Vous êtes sur la page 1sur 35

Vocabulaire de l'Optimisation Numérique

A-Kadrani

Institut National de Statistique et Economie Appliquée


(INSEA)

Rabat, Mars 2021

Kadrani Programmation Non Linéaire


Vocabulaire d'optimisation
Dénitions  Problème d'optimisation

Outil mathématique et numérique pour déterminer


la meilleure solution possible pour un problème.

meilleure ⇒ critère
solution ⇒ variables
possible ⇒ contraintes.
Permet de trouver des solutions qui augmentent l'ecacité
d'une entreprise, tout en minimisant les coûts et en
augmentant sa rentabilité.

Kadrani Programmation Non Linéaire


Vocabulaire d'optimisation
Dénitions  Classication des problèmes d'optimisation

Optimisation fonctionnelle / paramétrique


•Inconnues = fonctions → Optimisation fonctionnelle
Optimisation en dimension innie
Commande optimale

•Inconnues = entiers ou réels → Optimisation paramétrique


Optimisation en dimension nie
Programmation mathématique
Programmation mathématique
•Inconnues = entiers → Optimisation combinatoire
Programmation en nombres entiers

•Inconnues = réels → Optimisation continue


Programmation linéaire (LP)
Programmation non linéaire (NLP)

•Inconnues = entiers et réels → Programmation mixte

Kadrani Programmation Non Linéaire


Vocabulaire d'optimisation
Dénitions  Formulation mathématique

On se donne un ensemble X ⊆ Rn et une fonction


f : X ⊆ Rn −→ R.

Formulation sans contraintes:


minf (x)
x∈X

On cherche un élément x ∈ X tel que f (x ∗ ) ≤ f (x) pour tout x ∈ X


x ∗ = arg min f .
X

Formulation avec contraintes:


min f (x)

 x∈Rn

s.à. g (x) ≤ 0



 h(x) = 0
x ∈ X.
On cherche un élément x ∗ ∈ F = {x ∈ X /g (x) ≤ 0, h(x) = 0} tel que
f (x ∗ ) ≤ f (x) pour tout x ∈ F
x ∗ = arg min f .
F

Kadrani Programmation Non Linéaire


Vocabulaire d'optimisation
Formulation Mathématique  Notations

•x : n variables ou inconnues → vecteurs de Rn


ou paramètres

•f : critère ou fonction coût → Rn dans R


fonction de
n
ou fonction ob jectif x ∈R →
7 f (x) ∈ R

•g : q contraintes d'inégalité → Rn dans Rq


fonction de
n
7 g (x) ∈ Rq
∈R →

•h : p contraintes d'égalité → Rn dans Rp


fonction de

x ∈ R 7→ h(x) ∈ Rp
n

•X : ensemble convexe X ⊆ Rn → valeurs admissibles des variables

Kadrani Programmation Non Linéaire


Vocabulaire d'optimisation
Optimisation continue

Hypothèses
•Continuité: → Fonctions continues de variables réelles
Optimisation continue
6= Optimisation combinatoire

•Diérentiabilité → Fonctions diérentiables


Méthodes à base de gradient
6= Méthodes sans dérivées

•Déterminisme → Données du problème connues


6= Optimisation stochastique

•Programmation Linéaire → Coût et contraintes linéaires

•Programmation Quadratique → Coût quadratique et contraintes linéaires

•Programmation Non Linéaire → Cas général, fonctions quelconques

Kadrani Programmation Non Linéaire


Vocabulaire d'optimisation
Rappels mathématiques  Normes sur Rn

Norme vectorielle
kxk ≥ 0


kxk = 0 ⇔ x = 0


• Fonction : k.k : Rn → R vériant

 kx + y k ≤ kxk + ky k
kαxk = |α| kxk

v
u n
uX
• Norme p : kxkp = t p
|xi |p
i=1

• Norme ∞ : kxk∞ = max |xi |


i=1,··· ,n

v
u n
uX
• Norme 2 : kxk2 = t xi2 (norme euclidienne)
i=1

Norme matricielle
• Norme induite sur Rm×n par la norme vectorielle k.k
kAxk
• Fonction k.km×n : Rm×n → R dénie par kAkm×n = max
x∈Rn ,x6=0 kxk

Kadrani Programmation Non Linéaire


Vocabulaire d'optimisation
Rappels mathématiques  Suite dans Rn

Suite dans Rn
• Suite: {xk , k = 0, 1, 2, · · · } = {x0 , x1 , x2 , · · · , xn , · · · }

• Limite: lim xk = x ∗ ⇔ lim kxk − x ∗ k = 0


k→∞ k→∞

Vitesse de convergence
• Convergence linéaire: kxk+1 − x ∗ k ≤ c kxk − x ∗ k avec 0 ≤c<1
→ lente à partir d'un rang k0

• Convergence superlinéaire: kxk+1 − x ∗ k ≤ ck kxk − x ∗ k avec lim ck = 0


k→∞
→ bonne à partir d'un rang k0

• Convergence d'ordre p: kxk+1 − x ∗ k ≤ c kxk − x ∗ kp avec 0 ≤c<1


à partir d'un rang k0

• Convergence quadratique: Convergence d'ordre p avec p=2


→ rapide

Kadrani Programmation Non Linéaire


Vocabulaire d'optimisation
Rappels mathématiques  Diérentiabilité d'ordre 1

Soit f : Rn −→ R continue
Dérivée partielle:
∂f (x) f (x1 , · · · , xi + s, · · · , xn ) − f (x1 , · · · , xi , · · · , xn )
fxi (x) = = lim
∂xi s→0 s
Gradient de f en x ,noté ∇f (x), est : ∇f : Rn −→ Rn avec
 ∂f (x)

∂x1
 .
 
∂f (x)
 ..

∇f (x) = = 
∂xi i=1,··· ,n

∂f (x)
∂xn

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


f (x + sd) − f (x)
fd (x) = lim
s→0 s
si cette limite existe, alors
fd (x) = ∇f (x)Td
(dérivée directionnelle=produit scalaire avec le gradient)
f diérentiable en x ⇔ f admet une dérivée directionnelle pour tout
d ∈ Rn
Kadrani Programmation Non Linéaire
Vocabulaire d'optimisation
Rappels mathématiques  Diérentiabilité d'ordre 2

Soit f : Rn −→ R deux fois diérentiables


Hessien de f en x ,noté ∇2 f (x), est : ∇2 f : Rn −→ Rn×n avec
∂ 2 f (x) ∂ 2 f (x)
 
∂x12
···
∂ 2 f (x) ∂x1 ∂xn
 
∇2 f (x) = = ··· ··· ···
 
∂xi ∂xj

i,j=1,··· ,n ∂ 2 f (x) ∂ 2 f (x)
∂xn ∂x1
··· ∂xn2

Courbure: On dénit pour une direction d ∈ Rn au point x la fonction ϕ


à une variable : ϕ(s) = f (x + sd)

•Dérivéé première :
0 0
ϕ (s) = d T ∇f (x + sd) → ϕ (0) = d T ∇f (x)
•Dérivéé seconde : ϕ (s) = d T ∇2 f (x + sd)d → ϕ (0) = d T ∇2 f (x)d
00 00

d T ∇2 f (x)d
La courbure de f en x dans la direction d est dénie par: dT d

Kadrani Programmation Non Linéaire


Vocabulaire d'optimisation
Rappels mathématiques  Développement de Taylor

Soient f : Rn −→ R et d ∈ Rn
• Ordre 1
f continument diérentiable 1 fois au voisinage de x

f (x + d) = f (x) + ∇f (x)T d + o (kdk)

Il existe s ∈ [0, 1] tel que:

f (x + d) = f (x) + ∇f (x + sd)T d
• Ordre 2
f continument diérentiable 2 fois au voisinage de x
1 T 2
f (x + d) = f (x) + ∇f (x)T d + d ∇ f (x)d + o kdk2

2
Il existe s ∈ [0, 1] tel que:
1 T 2
f (x + d) = f (x) + ∇f (x)T d + d ∇ f (x + sd)d
2

Kadrani Programmation Non Linéaire


Problème d'optimisation
Formulation (1)

On se donne:
un ensemble admissible X et une fonction objectif
f : X −→ R.

On cherche:
un élément x ∗ ∈ X tel que f (x ∗ ) ≤ f (x) pour tout x ∈ X
x ∗ = arg min f .
X

Sous quelles formes présenter le problème d'optimisation?


Formes standard ou canonique
Exigences des algorithmes
Nécessité de transformer le problème

Kadrani Programmation Non Linéaire


Problème d'optimisation
Formulation (2)

Fonction objectif

min f (x) max f (x)

Contraintes

h(x) ≤ cte h(x) ≥ cte h(x) = cte

Contraintes de bornes

l ≤x ≤u

Contraintes de signe
x ≥0

Kadrani Programmation Non Linéaire


Problème d'optimisation  Transformation

min f (x)
− max(−f (x))

g (x) ≤ 0
−g (x) ≥ 0

=0

g (x) + y
g (x) ≤ 0

y ≥0

g (x) ≤ 0

g (x) = 0

g (x) ≥ 0

 x =y −z
x ∈R
y ≥0
 z ≥0

x =y +a
x ≥a

y ≥0

Kadrani Programmation Non Linéaire


Problème d'optimisation  Transformation

max −x 2 + sin y
− min x 2 − sin y








sujette à:



6x 2 − y 2 ≥ 1
−6x 2 + y 2 + 1 ≤ 0








x + y2 − 3 ≤ 0


x + y2 = 3


−x − y 2 + 3 ≤ 0



x = x1 + 2


x ≥2


x1 ≥ 0












 y = y1 − y2

y1 ≥ 0



 y ∈R
y2 ≥ 0

Kadrani Programmation Non Linéaire


Problème d'optimisation  Transformation

− min(x1 + 2)2 − sin(y1 − y2 )










sujette à:



−6(x1 + 2) + (y1 − y2 )2 + 1 ≤ 0








(x1 + 2)2 + (y1 − y2 )2 − 3 ≤ 0







 −(x1 + 2)2 − (y1 − y2 )2 + 3 ≤ 0



x1 ≥ 0









y1 ≥ 0








y2 ≥ 0

Kadrani Programmation Non Linéaire


Modèles d'optimisation
Modèle linéaire 1

Une entreprise gagne 5DH chaque fois qu'elle vend 1 litre de


produit chimique. Elle désire maximiser son prot. .
.
.
.
.
.
.
Observations:
- Fonction objectif linéaire
- Pas de contraintes
- Solution innie
Commentaire:
La solution est toujours innie lorsque la fonction objectif est
linéaire et qu'il n'y a pas de contraintes.

Kadrani Programmation Non Linéaire


Modèles d'optimisation
Modèle linéaire 2

Un laboratoire achète 30DH le litre de produit chimique. Il


dispose d'un budget de 1000DH . Quelle quantité maximale
peut-il acheter ? .
.
.
.
.
.
Observations:
- Réponse évidente : 1000/30 litres
- Bien que l'on puisse dépenser 1000DH ou moins, on dépense
exactement 1000DH .
Commentaire:
- Si la fonction objectif et les contraintes sont linéaires, il y a au
moins une contrainte active à la solution
- La contrainte g (x) ≤ 0 est dite active en x ∗ si et seulement si
g (x ∗ ) = 0
Kadrani Programmation Non Linéaire
Modèles d'optimisation
Modèle linéaire 3

Un laboratoire achète 30DH le litre de produit chimique. Il


dispose d'un budget de 1000DH et doit en acheter au
minimum 40 litres. Quelle quantité maximale peut-il acheter ?
.
.
.
.
.
.
Observations:
- Problème impossible
- Contraintes incompatibles
Commentaire:
- La solution peut ne pas exister. On dit que le problème ne
possède pas de solution admissible.

Kadrani Programmation Non Linéaire


Modèles d'optimisation
Modèle en nombres entiers

Un laboratoire achète 30DH un microprocesseur. Il dispose


d'un budget de 100DH . Quelle quantité maximale peut-il
acheter? .
.
.
.
.
.
Observations:
- Impossible d'acheter des parties de microprocesseurs
- Malgré que la fonction objectif et les contraintes soient
linéaires, le budget ne sera pas totalement dépensé
Commentaire:
- Lorsque les variables sont entières, les résultats théoriques
peuvent être diérents

Kadrani Programmation Non Linéaire


Modèles d'optimisation
Modèle non linéaire 1

Un objet est lancé à la verticale à la vitesse de 50m/s . Quand


atteindra-t-il son point culminant? .
.
.
.
.
.
.
Observations:
- Fonction objectif non linéaire
- Pas de contraintes
- Solution nie
Commentaire:
- Si la fonction objectif est non linéaire, une solution nie peut
exister, même en l'absence de contraintes
- A la solution, la tangente à la courbe est horizontale (i.e. la
dérivée est nulle)
Kadrani Programmation Non Linéaire
Modèles d'optimisation
Modèle non linéaire 2

Nous cherchons à trouver l'extremum de la fonction f (x) = x 3 :


.
.
.
.
.
.
.
.
Observations:
- Pas de solution nie
- Présence d'une tangente horizontale
Commentaire:
- Une solution nie n'est pas garantie par la non linéarité de la
fonction objectif
- Une tangente horizontale n'identie pas nécessairement une
solution.
Kadrani Programmation Non Linéaire
Modèles d'optimisation
Modèle non linéaire 3

x2 si x ≥ 0

On cherche à trouver l'extremum de f (x) = :
−x si x ≤ 0
.
.
.
.
.
.
.
.
.
Observations:
- La fonction n'est pas dérivable à la solution
f (0 + α) − f (0)
lim = −1
α→0− α
f (0 + α) − f (0)
lim =0
α→0+ α
Commentaire:
- Attention aux fonctions non diérentiables
Kadrani Programmation Non Linéaire
Modèle d'optimisation non linéaire
Algorithme (1)

Al Khwarizmi, surnom du mathématicien arabe Muhammad


Ibn Musa (IXième siècle), né à Khwarizem,en Ouzbekistan.
- Il a écrit Al-jabr wa'l muqabala dont vient le mot algèbre
.
.
.
.
.
.
Algorithme:
- suite nie de règles
- à appliquer dans un ordre déterminé
- à un nombre ni de données
- pour arriver avec certitude,
- en un nombre ni d'étapes,
- à un certain résultat,
- et cela indépendamment des données.
Kadrani Programmation Non Linéaire
Modèle d'optimisation non linéaire
Algorithme (2)

Résolution d'une classe de problèmes


La plupart des algorithmes considérés dans ce cours auront la
forme:
- Soit x0 une estimation de la solution
Pour k = 0, . . . faire

Trouver xk+1 à partir de xk


Tant que xk n'est pas acceptable

- De telle manière que

lim xk = x ∗
k→∞

Kadrani Programmation Non Linéaire


Optima d'un problème d'optimisation
Dénition

Soit f : X → R. On considère le problème d'optimisation suivant:

f ∗ = inf f (x) (1)


x∈X

Ce problème consiste à déterminer la plus petite valeur possible que la fonction


réelle f puisse prendre dans X . Cela signie:

f ∗ ≤ f (x), ∀x ∈ X et ∀ > 0 ∃x ∈ X : f (x ) < f ∗ + .

Lorsqu'il existe x ∗ pour lequel f (x ∗ ) = f ∗ , la formulation (1) devient

f (x ∗ ) = f ∗ ≤ min f (x), ∀x ∈ X ,
x∈X

et cela signie:
f (x ∗ ) ≤ f (x), ∀x ∈ X .
Exemple 2.1:
soit X = R et considérons la fonction f (x) = x 2 .

min x 2 = 0 = f (0).
x∈X

Kadrani Programmation Non Linéaire


Types d'optima
Optima locaux et optima globaux

1 x ∗ est un minimum local de f si ∃ > 0 tel que:

f (x ∗ ) ≤ f (x), ∀x ∈ X ∩ V (x ∗ )

où V (x ∗ ) : un voisinage de diamètre  centré en x ∗ . D'une autre manière


2 x ∗ est un minimum local de f ssi ∃ > 0 tel que:

∀x ∈ X et kx − x ∗ k < , f (x ∗ ) ≤ f (x)
3 x ∗ est un minimum local strict de f ssi ∃ > 0 tel que:

∀x ∈ X et kx − x ∗ k < , f (x ∗ ) < f (x) et x 6= x ∗


4 Un minimum global correspond au plus petit des minima locaux. c'est à
dire
∀x ∈ X , f (x ∗ ) ≤ f (x)
5 Un minimum global strict ssi

∀x ∈ X , f (x ∗ ) < f (x) et x 6= x ∗

Kadrani Programmation Non Linéaire


Types d'optima
Optima locaux et optima globaux

1 x ∗ est un minimum local de f si ∃ > 0 tel que:

f (x ∗ ) ≤ f (x), ∀x ∈ X ∩ V (x ∗ )

où V (x ∗ ) : un voisinage de diamètre  centré en x ∗ . D'une autre manière


2 x ∗ est un minimum local de f ssi ∃ > 0 tel que:

∀x ∈ X et kx − x ∗ k < , f (x ∗ ) ≤ f (x)
3 x ∗ est un minimum local strict de f ssi ∃ > 0 tel que:

∀x ∈ X et kx − x ∗ k < , f (x ∗ ) < f (x) et x 6= x ∗


4 Un minimum global correspond au plus petit des minima locaux. c'est à
dire
∀x ∈ X , f (x ∗ ) ≤ f (x)
5 Un minimum global strict ssi

∀x ∈ X , f (x ∗ ) < f (x) et x 6= x ∗

Kadrani Programmation Non Linéaire


Types d'optima
Optima locaux et optima globaux

1 x ∗ est un minimum local de f si ∃ > 0 tel que:

f (x ∗ ) ≤ f (x), ∀x ∈ X ∩ V (x ∗ )

où V (x ∗ ) : un voisinage de diamètre  centré en x ∗ . D'une autre manière


2 x ∗ est un minimum local de f ssi ∃ > 0 tel que:

∀x ∈ X et kx − x ∗ k < , f (x ∗ ) ≤ f (x)
3 x ∗ est un minimum local strict de f ssi ∃ > 0 tel que:

∀x ∈ X et kx − x ∗ k < , f (x ∗ ) < f (x) et x 6= x ∗


4 Un minimum global correspond au plus petit des minima locaux. c'est à
dire
∀x ∈ X , f (x ∗ ) ≤ f (x)
5 Un minimum global strict ssi

∀x ∈ X , f (x ∗ ) < f (x) et x 6= x ∗

Kadrani Programmation Non Linéaire


Types d'optima
Optima locaux et optima globaux

1 x ∗ est un minimum local de f si ∃ > 0 tel que:

f (x ∗ ) ≤ f (x), ∀x ∈ X ∩ V (x ∗ )

où V (x ∗ ) : un voisinage de diamètre  centré en x ∗ . D'une autre manière


2 x ∗ est un minimum local de f ssi ∃ > 0 tel que:

∀x ∈ X et kx − x ∗ k < , f (x ∗ ) ≤ f (x)
3 x ∗ est un minimum local strict de f ssi ∃ > 0 tel que:

∀x ∈ X et kx − x ∗ k < , f (x ∗ ) < f (x) et x 6= x ∗


4 Un minimum global correspond au plus petit des minima locaux. c'est à
dire
∀x ∈ X , f (x ∗ ) ≤ f (x)
5 Un minimum global strict ssi

∀x ∈ X , f (x ∗ ) < f (x) et x 6= x ∗

Kadrani Programmation Non Linéaire


Types d'optima
Optima locaux et optima globaux

1 x ∗ est un minimum local de f si ∃ > 0 tel que:

f (x ∗ ) ≤ f (x), ∀x ∈ X ∩ V (x ∗ )

où V (x ∗ ) : un voisinage de diamètre  centré en x ∗ . D'une autre manière


2 x ∗ est un minimum local de f ssi ∃ > 0 tel que:

∀x ∈ X et kx − x ∗ k < , f (x ∗ ) ≤ f (x)
3 x ∗ est un minimum local strict de f ssi ∃ > 0 tel que:

∀x ∈ X et kx − x ∗ k < , f (x ∗ ) < f (x) et x 6= x ∗


4 Un minimum global correspond au plus petit des minima locaux. c'est à
dire
∀x ∈ X , f (x ∗ ) ≤ f (x)
5 Un minimum global strict ssi

∀x ∈ X , f (x ∗ ) < f (x) et x 6= x ∗

Kadrani Programmation Non Linéaire


Types d'optima
Optima stricts

Un minimum local x ∗ est dit strict si ∃ > 0 tel que:


∀x ∈ X ∩ V (x ∗ ), x 6= x ∗ , f (x ∗ ) < f (x), (l'inégalité est stricte)

où V (x ∗ ) : un voisinage de diamètre  centré en x ∗ .

Kadrani Programmation Non Linéaire


Conditions d'existence de minimum
Contre exemples

Fonction non continue: Si X = R et f (x) = x 2 + 1 sur R∗ et


f (0) = 3. Alors:
inf f (x) = 1.
x∈X

Il n'existe pas de points x ∈ X tels que f (x) = 1.


Ensemble non fermé: Si X = ] 0, 1] et f (x) = x 2 + 1. Alors
inf f (x) = 1.
x∈X

Mais le point 0 ∈/ X .
Minimum à l'inni: Si X = R et f (x) = −x 2 . Alors
inf f (x) = −∞.
x∈X

Il n'existe pas de points x ∈ X tels que f (x) = −∞.

Kadrani Programmation Non Linéaire


Conditions d'existence de minimum
Ensemble des contraintes borné

Théorème de Weierstrass
Soit X un ensemble compact (X fermé borné) non vide de Rn et f : X ⊂
Rn −→ R une application continue sur X .
Alors f est bornée et atteint ses bornes. Autrement dit, il existe x ∗ ∈ X
point minimum global de f sur X , i.e.:
∀x ∈ X , f (x ∗ ) ≤ f (x)

De la même façon, il existe un point de maximum global de f sur X .


Preuve.

Kadrani Programmation Non Linéaire


Conditions d'existence de minimum
Ensemble des contraintes non borné

Dénition
Une application f : X ⊆ Rn −→ R est dite coercive ou (innie à l'inni) sur X
ssi
∀A ∈ R, ∃R > 0|∀x ∈ X , kxk ≥ R =⇒ f (x) ≥ A
on note:
lim f (x) = +∞
kxk→∞

Exemples:
1 f1 (x) = kxk2 est coercive.
2 f2 (x) = x12 − x22 n'est pas coercive.
Théorème
Soit X un fermé non vide de Rn et f : X ⊆ Rn −→ R une application continue
et coercive sur X .
Alors f admet un point minimum global sur X , i.e. il existe x ∗ ∈ X tel que:

∀x ∈ X , f (x ∗ ) ≤ f (x).

Kadrani Programmation Non Linéaire

Vous aimerez peut-être aussi