Vous êtes sur la page 1sur 11

Chapitre1 : Introduction à l’optimisation

1. Introduction

L'optimisation consiste à améliorer le fonctionnement de quelque chose au moyen d’une


gestion perfectionnée des ressources.

La résolution d'un problème d'optimisation mathématique consiste à trouver la meilleure


solution à un problème qu'on a su préalablement exprimer sous une forme mathématique
particulière qui fait intervenir un ou plusieurs critères. Ce ou ces critères sont exprimés sous la
forme d'une fonction mathématique, appelée souvent fonction objectif. La solution optimale
ou meilleure solution correspond à trouver une valeur extrême, appelée aussi extremum –
c'est à dire un maximum ou un minimum – à cette fonction objectif. L'optimisation se
rapproche donc des calculs d'extremum de fonctions.

Un problème d'optimisation peut par exemple consister à chercher le maximum du rendement


d'une unité de production industrielle, la distance maximale parcourue par un véhicule pour
une quantité de carburant donnée, etc. Un problème d'optimisation peut également consister à
chercher le minimum des coûts de production d'une usine, à minimiser les pertes thermiques
d'un procédé industriel, à identifier le temps de fabrication minimal, etc.

Dans tous ces exemples, il est nécessaire d'avoir modélisé (c'est à dire mis en équations) la
grandeur qu'on cherche à minimiser ou maximiser. En fait, on retrouve des problèmes
d'optimisation dans de nombreuses applications telles que les problèmes de conception de
nouveaux systèmes (dimensionnement), d'optimisation des conditions de fonctionnement de
procédés, commande des systèmes (stabilisation, suivi de trajectoires), surveillance et
supervision (maintenance, diagnostic), de planification de production, de transport, de
localisation, mais également dans les domaines économiques et financiers, comme la gestion
de ressources et la rentabilisation des investissement.

Face à un problème d'optimisation compliqué, soit en raison du grand nombre d'inconnues


et/ou soit en raison de la formulation mathématique complexe, il est rare de pouvoir trouver
une solution analytique exacte. Il est alors nécessaire de résoudre « numériquement » le
problème. La plupart des algorithmes numériques d'optimisation sont itératifs et permettent de
s'approcher pas à pas vers la solution. Selon le problème d'optimisation à résoudre, des
algorithmes peuvent être efficaces ou au contraire complètement inopérants.

Les objectifs de ce cours vont être :

• d'apprendre à formuler un problème d'optimisation,


• de caractériser ce problème,
• d'identifier l'algorithme numérique le mieux à même pour le résoudre,
• de valider (vérification et analyse) les résultats obtenus.

2. Formulation du problème d’optimisation

Le processus de formalisation du problème d’optimisation est réalisé en suivant les étapes


suivantes :
2.1. Analyse du problème : Il s'agit tout d'abord d'identifier un problème par ses
composantes, ses enjeux, ses limites (c.à.d identification des objectifs et des variables
à optimiser).

OUBABAS Hocine Page 1


Chapitre1 : Introduction à l’optimisation

2.2. La modélisation du problème : C’est une étape importante. L'optimisation repose


toujours sur des modèles mathématiques. Mais ces modèles sont rarement des modèles
physiques complexes. Ils sont généralement simples et partiels. Il faut choisir un
modèle ni trop simpliste ni trop coûteux à évaluer. Les ingrédients d’une optimisation,
issue d’un processus de modélisation sont représentées par :

• Les variables de décision : ensemble des variables qui régissent la situation à


modéliser (variables réelles, entières, binaires)

• Fonction objectif : fonction mathématique composée des variables de décision


qui représente le modèle physique modélisé (fonction linéaire, non-linéaire)

• Contraintes du problème : ensemble des paramètres qui limitent le modèle


réalisable (équations ou inéquations composées des variables de décision)

• Paramètres du modèle : constantes associées aux contraintes et à la fonction


objective.

En résumé la formulation du problème d’optimisation se fait en suivant ces étapes :

Identifier d’abord les variables (inconnues) qui seront les variables de décision et les
représenter par des symboles.
Identifier la fonction objectif et l’exprimer en fonction des variables de décision.
Identifier toutes les contraintes ou restrictions du problème et les exprimer comme
des équations ou inéquations linéaires ou non linéaires en fonction des variables de
décision.
Choisir une méthode de résolution.
Exemple :
Un jardinier dispose de 100 Mètres de fil de fer qu’il va utiliser pour la clôture de trois cotés
d’une parcelle rectangulaire d’un jardin.
On analysant ce problème, on remarque que la parcelle est rectangulaire, c.à.d elle possède
une Langueur Y et une largeur X, alors X et Y sont les variables de décision.

On a aussi une contrainte (le périmètre P à clôturer est limité), car le jardinier ne
possède que de 100 mettre de fil de fer.

L’objectif du jardinier c’est de clôturer une parcelle d’un jardin, cette parcelle
représente une surface. Alors la fonction objectif doit être la maximisation de la

OUBABAS Hocine Page 2


Chapitre1 : Introduction à l’optimisation

surface S à clôturer (la question à poser donc qu’elle est la surface maximum à
clôturer).

Les étapes de modélisation de ce problème sont :

1- Identification des variables de décision, qui sont : X et Y


2- Identification de la fonction Objectif : Maximiser S=XY (1)
3- Identification des contraintes : P=2X+Y=100 (2)
4- Choisir une méthode de résolution (on va choisir une méthode analytique).

On simplifie les contraintes de l’équation (2) :

A partir de l’équation (2) on a : Y=100-2X (3)

En remplaçant l’équation (3) dans l’équation (1), on obtient :

S=X(100-2X) (4)

Alors la fonction objectif se réécrit sous la forme :

f(X)=100X-2X2 (5)

Pour toute valeur maximale x* de f(x) on va avoir f’(x*)=0

f’(X*)=100-4X=0 (6)

Enfin, on va obtenir : X*=25 m et Y*=50m

La surface maximum à clôturer est : S*=X*Y*=1250 m2

3. Classification des problèmes d'optimisation

Pour résoudre un problème d'optimisation, il est important de bien identifier à quelle catégorie
ce problème appartient. En effet, les algorithmes développés sont conçus pour résoudre un
type de problème donné et sont peu efficaces pour un type différent. La classification des
problèmes d'optimisation change d'un auteur à l'autre. Par exemple, on distingue :

3.1. Les problèmes d'optimisation continus et les problèmes d'optimisation discrets

Dans certains cas, les variables de décision sont discrètes, le plus souvent sous la forme
d'entiers ou de binaires. Le problème d'optimisation est dit discret. Au contraire, dans les
problèmes d'optimisation continus, les variables peuvent prendre n'importe quelle valeur, ce
sont des réels. Les problèmes d'optimisation continus sont généralement plus simples à
résoudre. Un problème d’optimisation mêlant variable continue et variable discrètes est dit
mixte.

OUBABAS Hocine Page 3


Chapitre1 : Introduction à l’optimisation

3.2. Les problèmes d'optimisation avec et sans contrainte

Il est important de bien distinguer les problèmes où des contraintes existent sur les variables
de décision. Ces contraintes peuvent être simplement des bornes et aller jusqu'à un ensemble
d'équations de type égalité et de type inégalité. Il est parfois possible d'éliminer une contrainte
égalité par substitution dans la fonction objectif. Naturellement, les problèmes avec
contraintes sont plus compliqués à résoudre et utilisent des algorithmes dédiés.

3.3. Les problèmes d'optimisation mono-objectif ou multi-objectif

Les problèmes mono-objectif sont définis par une unique fonction objectif. Les problèmes
multi-objectifs existent quand un compromis est à rechercher entre plusieurs objectifs
contradictoires. Il est éventuellement possible (mais pas nécessairement efficace) de
reformuler un problème multi-objectif avec une seule fonction objectif sous forme d'une
combinaison des différents objectifs ou en transformant des objectifs sous forme de
contraintes.

3.4. Les problèmes d'optimisation déterministe ou stochastique

Les problèmes d'optimisation déterministe considèrent que les données sont connues
parfaitement, alors que dans les problèmes d'optimisation stochastique, ce n'est pas le cas ; par
exemple une approche stochastique peut être pertinente dans le cas où les variables d'un
problème sont les ventes futures d'un produit. Dans ce cas, l'incertitude peut être introduite
dans le modèle.

4. Formulation mathématique des problèmes d’optimisation


Un problème d'optimisation : c'est un problème d'analyse fonctionnelle. On cherche
l'extremum d'une fonction de n variables sur un domaine appartenant à un domaine Rn.
Un problème d’optimisation est généralement formulé comme un problème de minimisation
ou de maximisation, et écrit sous la forme suivante:

minx f(x), Tel que :


gi(x) =0 , i = 1, . . . ,m , (1.1)

hj(x) ≤ 0 , j = 1, . . . , p ,

x ∈ D ⊂ Rn,
Où f est la fonction (scalaire) à minimiser, appelée fonction coût ou fonction objectif, x
représente le vecteur des variables d’optimisation, gi sont les contraintes d’égalité et hj les
contraintes d’inégalité, et D est l’espace des variables (appelé aussi espace de recherche). D
indique quel type de variables sont considérées : réelles, entières, mixtes (réelles et entières
dans un même problème), discrètes, continues, bornées, etc.

4.1 Solutions du problème d’optimisation


On appelle solution admissible (ou solution) d'un problème tout vecteur x ∈ D, qui satisfait
toutes les contraintes du problème. C.à.d : gi(x)= 0 , i = 1, . . . ,m et hj(x) ≤ 0 , j = 1, . . . , p.

OUBABAS Hocine Page 4


Chapitre1 : Introduction à l’optimisation

On appelle solution optimale, x*, une solution admissible qui minimise (ou maximise) f(x).
4.2. Minimum global (absolu) et minimum local (relatif)

x* est un minimum global de f si et seulement si f(x*) ≤ f(x) ∀ x ∈ D.

x*est un minimum local de f si et seulement si f(x*) ≤ f(x) ∀ x ∈ D / ||x − x*|| ≤ ɛ, ɛ > 0.


C.à.d x*est un minimum local du problème s'il existe un voisinage V (x*) tel que:
∀ x ∈ D ∩ V (x*), f(x*) ≤ f(x).
La Figure 1 présente un exemple d’une fonction à une variable, avec des minima locaux et un
minimum global. Parmi les minima locaux, celui qui possède la plus petite valeur de f est le
minimum global.

Figure 1 : Minima locaux et minimum global d’une fonction à une variable.

4. Les méthodes de résolutions des problèmes d’optimisation combinatoire


Les techniques de résolution des problèmes d’optimisation dépendent de la nature de la
fonction objectif et de l'ensemble des contraintes. On distingue particulièrement les
approches suivantes :
La programmation linéaire étudie les cas où la fonction objectif et les contraintes sont
linéaires.
La programmation linéaire en nombres entiers étudie les programmes linéaires dans
lesquels certaines ou toutes les variables sont contraintes à prendre des valeurs entières.

OUBABAS Hocine Page 5


Chapitre1 : Introduction à l’optimisation

La programmation quadratique concerne les problèmes dont la fonction objectif contient


des termes quadratiques (ex :f(x)= ax2+bx), tout en conservant les contraintes linaires .
La programmation non-linéaire étudie le cas général dans lequel la fonction objectif ou les
contraintes (ou les deux) contiennent des parties non-linéaires.
La programmation stochastique concerne les problèmes avec des contraintes dépendant de
variables aléatoires.
La programmation dynamique ce type de méthodes est utilisé dans le cas où les le
problème est décomposables en petites entités facilement résolubles. Elle n’est utilisable que
lorsque la fonction objectif est monotone croissante. De ce fait, la résolution d’un problème
en programmation dynamique est basée sur une décomposition du problème en sous-
problèmes plus simples. A chaque sous-problème correspond un ensemble d’options,
représentant chacune un coût en terme de fonction objectif. Un ensemble de choix doit donc
être effectué pour les différents sous-problèmes dans le but d’arriver à une solution optimale.

5. Méthodes analytique pour résoudre les problèmes d’optimisations non linéaires


et sans contraintes
Pour les fonctions deux fois dérivables, les problèmes sans contraintes peuvent être résolus en
trouvant les points où le gradient de la fonction est nul et en utilisant la matrice Hessienne
pour classer la nature de point. Si le Hessien est défini positif, le point est un minimum local
; s’il est un défini négatif, un maximum local.
Si la fonction est convexe sur l’ensemble des solutions admissibles alors tout minimum local
est aussi un minimum global.
5.1. Rappel mathématiques :
5.1.1. Le gradient : le gradient d’une fonction f à n variables est un vecteur de
dimension n contenant toutes les dérivées partielles de f par rapport à chacune de
ses variables.

∂f ∂f ∂f
∇f ( x1, x 2,..., xn) = ( , ,..., ) T (1.2)
x1 x 2 xn

Si ∇f ( x1, x 2,..., xn ) = 0 pour le point (x1*, x2*,.., xn*) alors ce point est minimum (maximum)
local. Ce point est appelé également point stationnaire.

5.1.2. Le Hessien (Matrice Hessienne): le Hessien est une façon d’écrire les dérivées
d’un gradient à l'aide d’une matrice symétrique. pour une fonction
f(x1,x2,…,xn), le Hessein est calculé en utilisant la formule suivante :

 ∂f 
H ( x1, , x 2,..., xn) = ∇ 2 f ( x1, , x 2,..., xn) =   pour i=1..n,j=1..n. (1.3)
 ∂xi∂xj 

OUBABAS Hocine Page 6


Chapitre1 : Introduction à l’optimisation

(1.4)

Pour le cas d’une fonction à deux variables : Soit f ( x, y ) une fonction deux fois dérivable,
alors le Hessien est :

 f xx( 2 ) ( x, y) f xy( 2) ( x, y)


H ( x, y ) = ∇ f ( x, y ) =  ( 2 )
2
.
 f yx ( x, y) f yy( 2) ( x, y)

On a toujours f xy( 2) ( x, y ) = f yx( 2) ( x, y ) . C.à.d le Hessien est toujours symétrique.

5.1.3. Matrice définie positive (négative) :

a b 
• Soit A =   , une matrice symétrique de taille 2x2.
b c 

• le déterminant de A est donné par A = det( A) = ac − b 2 . (1.5)

A est définie positive (définie négative) si ces valeurs propres sont strictement positives
(strictement négatives)

Les valeurs propres de A sont strictement positives :

1- Si et seulement si a > 0 et ac-b2 > 0.


2- Si et seulement si les pivots sont positifs : a > 0 et (ac-b2)/a >0

Sinon, si a <0 et ac-b2 > 0, A est définie négative.

Sinon A peut être encore semi-définie positive, semi-définie négative ou non-définie


(indéfinie).

Pour une matrice symétrique définie positive A de taille nxn, les énoncés suivants sont
équivalents :

1- Les n pivots de A sont strictement positifs.


2- Les n déterminants des sous-matrices principales de A sont strictement positifs.
3- Les n valeurs propres de A sont strictement positives.

La matrice symétrique A est définie négative si son opposée (-A) est définie positive.

OUBABAS Hocine Page 7


Chapitre1 : Introduction à l’optimisation

Exemples :

10 8
• M1 =   → det(M 1 ) = 10 ⋅ 6 − 8 ⋅ 8 = −4 < 0 ; M 1 est non définie.
 8 6 

 2 3  a = 2
• M2 =  → M 2 est définie positive.
3 6 det( M 2 ) = (2)(6) − 3 ⋅ 3 = 3 > 0

− 2 3  a = −2
• M3 =  → M 3 est définie négative.
 3 − 6 det( M 3 ) = (−2)(−6) − 3 ⋅ 3 = 3 > 0

0  det( M 4 ( x, y )) = x y ≥ 0
2 2
x 2
• M 4 ( x, y ) =  → M 4 est semi–définie positive.
 0 y 2  a = x 2 ≥ 0

10 10 a = 10
• M5 =  → M 5 est semi–définie positive.
10 10 det( M 5 ) = 10 ⋅ 10 − 10 ⋅ 10 = 0

0 0 det( M 6 ) = 0
• M6 =  →
0 0  a = 0

M 6 est à la fois semi–définie positive et semi-définie négative; c’est en fait le Hessien d’une
fonction linéaire.

Théorème : Soit X * = ( x * , y * ) un point stationnaire de la fonction.

• Si le Hessien de f est défini positif f ( x, y ) if en X * , alors X * est un minimum local.

• Si le Hessien de f est défini négatif en X * , alors X * est un maximum local.

• Si det( H ( X * )) < 0 , alors X * est un point selle .

• Si det( H ( X * )) = 0 , il faut utiliser d'autres techniques (calculer par exemple les valeurs
propres.

16 3
Exemple : f ( x, y ) = 2 x 2 − 8 xy 2 − y + 8y 2 − 8, où ( x, y ) ∈ ℜ 2 .
3

1- Donner le gradient ∇f ( x, y ) et le Hessien H ( x, y ) .

2- Identifier la nature des points stationnaires de la fonction f ( x, y ) .

 4x − 8 y 2   4 − 16 y 
1- ∇f ( x, y ) =  ; H ( x, y ) =  .
− 16 xy − 16 y + 16 y  − 16 y − 16 x − 32 y + 16
2

OUBABAS Hocine Page 8


Chapitre1 : Introduction à l’optimisation

0 
2- ∇f ( x, y ) =   ⇔ x = 2 y 2 et xy + y 2 − y = 0 = 2 y 3 + y 2 − y = y (2 y − 1)( y + 1) .
0 
Les points stationnaires sont : (0, 0),(1/2, 1/2) et (2, -1).

4 0 
H (0, 0) =  ; 4 > 0 et det( H (0, 0)) > 0; ⇒ (0,0) est un minimum local.
0 16

1 1  4 − 8 1 1 1 1
H( , ) =   ; det( H ( , )) < 0 ⇒ ( , ) est un point selle.
2 2 − 8 − 8 2 2 2 2

 4 16
H (2, − 1) =  ; det( H (2, − 1)) < 0; ⇒ (2, − 1) est un point selle.
16 16

5.2. Ensemble convexe et fonction convexe

Définition 1 : L’ensemble D est convexe, si quels que soient les deux points a, b ∈D, tout le
segment ab ∈ D. (voir figure2)

Définition 2 : Une fonction f ( x, y ) à deux variables est dite convexe sur un ensemble
convexe si et seulement si tout segment de droite reliant deux points sur la surface de f ( x, y )
est toujours au-dessus de cette surface. (voir figure3)
Définition 3 : Une fonction f ( x, y ) à deux variables est dite concave sur un ensemble
convexe si et seulement si tout segment de droite reliant deux points sur la surface de f ( x, y )
est toujours au-dessous de cette surface. (voir figure4 )

a. Ensemble convexe b. Ensemble concave


Figure 2 : Ensemble convexe et ensemble concave

OUBABAS Hocine Page 9


Chapitre1 : Introduction à l’optimisation

Figure 3 : Exemple de fonction convexe.

Figure 4 : Exemple de fonction concave.

Définition 4 : un ensemble D ⊂ Rn est convexe si est seulement si :

∀( x, y ) ∈ D 2 et ∀a , tel que 0 ≤ a ≤ 1 , alors ax+(1-a)y ∈ D (1.6)

Définition 5 : une fonction f de D dans R définie dans un ensemble convexe D ⊂ Rn est


convexe, si est seulement si :

∀( x, y ) ∈ D 2 et ∀a , tel que 0 ≤ a ≤ 1 , f(ax+(1-a)y) ≤ af(x)+(1-a)f(y) (1.7)

Théorème : Soit f ( x, y ) dérivable deux fois sur un ensemble D.

• f ( x, y ) est convexe si et seulement si H ( x, y ) est semi-défini positif ∀( x, y ) ∈ E .

• f ( x, y ) est concave si et seulement si H ( x, y ) est semi-défini négatif ∀( x, y ) ∈ E .

• Si det( H ( x, y )) > 0, ∀( x, y ) ∈ D (H est défini), alors on dira que la fonction f ( x, y ) est


strictement convexe ou strictement concave.

OUBABAS Hocine Page 10


Chapitre1 : Introduction à l’optimisation

Pour une fonction convexe ou concave, la condition du premier ordre (gradient nul) est
nécessaire et suffisante pour caractériser la nature d’un point stationnaire.

Théorème : Soit X * = ( x * , y * ) un point stationnaire de la fonction f ( x, y ) .

• Si f ( x, y ) est convexe, alors X * est un minimum absolu (global).

• Si f ( x, y ) est concave, alors X * est un maximum absolu (global).

Exemple : f ( x, y) = 4 x 2 + 2 y 2 − 8 x − 2 y + 1 .

Identifier la nature des points stationnaires de la fonction f ( x, y ) .

8x − 8  0  8 x * − 8 = 0 ⇔ 8 x * = 8 ⇒ x * = 1
∇ f ( x, y ) =   ; ∇f ( x , y ) = 0  ⇔  *
* *

4 y − 2 4 y − 2 = 0 ⇔ 4 y = 2 ⇒ y = 1 / 2
* *
 

(1 , 1/2) est le seul point stationnaire de f ( x, y ) .

8 0
H ( x, y ) =  . a=8 et det( H ( x* , y * )) = 8 ⋅ 4 − 0 ⋅ 0 = 32 > 0 , ∀(x, y).
0 4 

Le Hessien H ( X * ) est défini positif ∀(x, y), donc f ( x, y ) est strictement convexe.

Par conséquent, ( x* , y * ) = (1, 1/2) est un minimum global.

OUBABAS Hocine Page 11

Vous aimerez peut-être aussi