Vous êtes sur la page 1sur 45

Université Mohamed VI

Polytechnique
Master 1 : TIUF

Module :
Recherche Opérationnelle,
Optimisation et analyse d’aide
à la décision
Contenu du programme

Partie I : Programmation mathématique


 Leçon 1 : Introduction à la Programmation mathématique
 Leçon 2 : Programmation linéaire
1. Résolution graphique des modèles à deux variables
2. Simplexe : Méthode algébrique
3. Simplexe : Méthode des tableaux
 Leçon 3 : Problèmes irréguliers
 Leçon 4 : Dualité et relations d’exclusion
 Leçon 5 : Analyse de sensibilité et Analyse post-optimalité
Contenu du programme
Partie II : Optimisation combinatoire
 Leçon 1 : Programmation dynamique
 Leçon 2 : Méthode Branch-and-Bound
 Leçon 3 : Méthode Branch-and-Cut
 Leçon 4 : Méthode d’énumération partielle implicite (PLEB)
 Leçon 5 : Méthode de Génération des colonnes
 Leçon 6 : Méthode Branch-and-Price
 Leçon 7 : Introduction aux heuristiques et méta-heuristiques
Contenu du programme

Partie III : Analyse multicritère!!!!

 Leçon 1 : Eléments de la théorie des graphes


 Leçon 2 : Algorithme Ford
 Leçon 3 : Introduction aux Méthodes PERT et potentiels Metra
Partie 1 : Programmation mathématique

1) Définitions

2) Domaines d’application

3) La démarche de modélisation

4) Objet de la programmation mathématique,

5) Construction d'un modèle mathématique,

6) Problème général de programmation mathématique et classification,

7) Algorithme de résolution en programmation mathématique et


convergence,

8) Exemples.
Définitions

 La recherche opérationnelle (RO) est une discipline qui a pour


rôle d'assurer la compréhension et la modélisation des systèmes
industriels et du secteur public et de les traduire au monde
théorique fondé principalement sur les mathématiques, les
statistiques et l'informatique.

 La RO a pour objet de mettre au point des méthodes, les


implémenter au sein d’outils (logiciels) pour trouver des
résultats ensuite confrontés à la réalité (et repris jusqu’à
satisfaction du demandeur).
Définitions

L'employabilité de la recherche opérationnelle est composée de


deux phases concaténées dont :

 la première consiste à formuler mathématiquement un


problème qui demande une analyse détaillée et suffisamment
précise pour recueillir les caractéristiques essentielles du
problème posé.

 Dans la deuxième phase, on procède à la résolution du


problème par l'utilisation d’algorithmes rigoureux et bien
déterminés.
Définitions
Modélisation :

C’est l’ensemble du processus qui permet l’intervention des


mathématiques dans une science basée sur l’expérience ou
l’observation.

Optimisation :

C’est l’identification d’une configuration qui soit meilleure que toute


autre suivant un critère spécifique.
Domaines d’application
 En physique : Lois de la mécanique ( lois de Newton, pendule,
ressort ...), lois de l’optique (refléxion, réfraction,...), électronique
(circuits LC,RLC ...)...
 En chimie : actions-réactions ...
 En biologie : génétique, biologie moléculaire, dynamique de
populations, interactions des espèces, médecine ...
 En économie : micro économie, macroéconomie, gestion et
organisation
 En finance : gestion de portefeuille, équilibre de marchés...
La démarche de modélisation
On peut distinguer plusieurs étapes :
 Le scientifique fait des hypothèses sur les phénomènes étudiés ;
 Les hypothèses sont traduites mathématiquement en un modèle ;
 On étudie le modèle mathématique ; on en tire des conséquences
qualitatives ou quantitatives et on fait des prévisions ;
 On compare les prévisions aux réalités expérimentales ;
 On revient éventuellement sur les hypothèses pour modifier le
modèle, et le cycle continue...
Objet de la programmation mathématique
Une des branches de la recherche opérationnelle qui consiste à établir
la théorie et les méthodes de résolution des problèmes d'extremum
sur des ensembles définis par des contraintes linéaires et non linéaires
(égalités et inégalités).

Approche quantitative où l'on s'intéresse à maximiser ou minimiser une


fonction objectif qui mesure la performance ou la "qualité" de notre
décision.
Permet de résoudre des problèmes de gestion et particulièrement ceux
où le gestionnaire doit déterminer, face à différentes possibilités,
l'utilisation optimale des ressources de l'entreprise pour atteindre un
objectif spécifique comme la maximisation des bénéfices ou la
minimisation des coûts.
Des contraintes peuvent exister limitant le choix des valeurs des
variables.
Domaines d’application les plus divers :
- La gestion et le planning industriels,
- L'établissement des projets et la planification à long terme,
- Le domaine militaire, etc.
Étapes dans le processus de décision
1ière étape :
Construire un modèle qualitatif du problème envisagé, i.e. relever les
facteurs les plus importants et établir les lois qui les régissent.

2ième étape :
Construire un modèle mathématique du problème envisagé, i.e.
traduire le modèle qualitatif en langage mathématique.

Comprend également la construction d'une fonction économique des


variables dont la valeur maximale (ou minimale) correspond à la
meilleure situation du point de vue du décideur.
3ième étape :

Construction et implantation d’algorithmes de résolution efficaces.


4ième étape :

Vérifier les résultats obtenus par le critère de la pratique.

De la sorte, on établit à cette étape dans quelle mesure le modèle et


l'objet de simulation s'accordent dans les limites de la précision de
l'information initiale.
Construction d’un modèle mathématique
Problème général de programmation mathématique
Minimiser f(x)
sujet à : gi(x) = 0, i = 1, 2, ..., m
hj(x) ≤ 0, j = 1, 2, ..., r
xS
(P)
où x = (x1, x2, ..., xn)  IRn désigne les inconnus,
f, gi et hj sont des fonctions de IRn dans IR,
S est un sous-ensemble de l'espace IRn.

Dans cette classe de problèmes, toute l'information est complètement


définie.
Par opposition, la programmation stochastique concerne les problèmes
dans lesquels l'information comporte des éléments indéterminés,
ou bien les problèmes dont certains paramètres sont aléatoires mais
définis par des caractéristiques probabilistes connues.
Classification
Programmation linéaire :
La fonction économique f(x) est linéaire;

L'ensemble sur lequel on cherche l'extremum de cette fonction


est donné par un système linéaire d'égalités et d'inégalités.

Note :

Le PL comporte des classes de problèmes dont la structure permet


d'établir des méthodes spéciales pour leur résolution, bien plus
avantageuses que celles relatives aux problèmes de forme générale.

Ainsi, on a vu apparaître dans la programmation linéaire la classe


des problèmes de transport.
Classification
Programmation non linéaire :

La fonction économique et les contraintes sont non linéaires.

Programmation convexe :

La fonction économique et l’ensemble des solutions réalisables


sont convexes.

Programmation quadratique :
La fonction économique est quadratique et les contraintes sont
linéaires.
Programmation en nombres entiers :
Les variables sont soumises à la contrainte d’intégralité :
x  S, entiers.
But de la programmation mathématique :

de fournir là où c'est possible des méthodes analytiques de


résolution, ou à défaut de telles méthodes, ce qui est
habituellement le cas, de créer des procédés de calcul efficaces
pour obtenir une solution approchée.

Solution du problème (P) :

tout vecteur x vérifiant les contraintes.

Solution optimale du problème (P) :

une solution qui minimise ou maximise la fonction


objective f(x) sur l'ensemble de toutes les solutions.
Optimum locaux
On dit qu'un vecteur x0 est un optimum local de (P) si et seulement si
il existe un voisinage V(x0) de x0 tel que x0 soit un optimum global du
problème:
Minimiser (maximiser) f(x)
sujet à : gi (x) = 0, i = 1, 2, 3, ..., m
hj (x) ≤ 0, j = 1, 2, 3, ..., r
x  S  V(x0).
Dans bien des cas, il est possible de donner des conditions nécessaires
et/ou suffisantes pour qu'une solution x soit un optimum local.

Par contre, il est généralement impossible de caractériser les optimums


globaux d'un problème d'optimisation sauf dans le cas très particulier
des programmes mathématiques convexes.

Ceci explique la difficulté de résoudre des programmes non convexes,


et, entre autres, des problèmes d'optimisation en nombres entiers.
Convergence d’un algorithme de résolution
La plupart des méthodes de résolution des problèmes d'optimisation
sont de nature itérative, i.e. qu'à partir d'un point initial donné x0, ils
engendrent une suite potentiellement infinie de points x0, x1, ..., xk, ...
dont on espère qu'elle converge vers l'optimum cherché.
Un algorithme de résolution est un procédé qui permet, à partir de la
donnée du point initial x0, d'engendrer la suite x1, x2, ..., xk, ...
Un algorithme est globalement convergent si, quelque soit le point
de départ x0 choisi, la suite {xk} converge vers un point satisfaisant
une condition nécessaire d'optimalité.
Convergence d’un algorithme de résolution
Elle n'implique pas la convergence vers un optimum global pour tout
point de départ x0 ce qui serait trop sévère.
Un algorithme qui possède la propriété de convergence globale avec
une condition de convexité nous assure la convergence de l'algorithme
vers un optimum global du problème, quel que soit le point de départ.
Exemple :
Considérons la fonction s(x) = - e-x2 qui a un minimum unique en x=0,
et dont la dérivée s'(x) = 2 x e-x2 est représentée ci-dessous.

Si l'on prend x0 trop éloigné de 0 (par exemple x0 = 1), la méthode de


Newton engendre une suite de points xk tendant vers l'infini.
Efficacité d’un algorithme de résolution
Du point de vue pratique, cela dépend du nombre d'itérations
nécessaires pour obtenir une approximation à  près ( fixé à l'avance)
de l'optimum x*.

Si on compare plusieurs algorithmes entre eux, et si l'on admet que le


temps de calcul par itération est sensiblement le même pour tous, le
meilleur est celui qui nécessitera le plus petit nombre d'itérations.

Malheureusement, il se révèle impossible de dégager des conclusions


générales de ce genre de comparaison. Suivant le point de départ choisi,
la nature de la fonction à optimiser, la valeur de la tolérance choisie, la
hiérarchie des algorithmes peut varier considérablement.
Problème du restaurateur
D'après le choix donné des produits, la valeur nutritive de chacun d'eux
étant connue de même que leur prix. Composer des rations satisfaisant
aux besoins tout en réduisant au minimum les frais.

Soient n aliments différents et


m substances nutritives (graisses, glucides, vitamines, etc.),
Désignons par :
aij : la teneur (en unités de poids) de la jième substance
dans le iième aliment;
bj : la quantité quotidienne minimale nécessaire de la
jième substance;
xi : la consommation quotidienne du iième aliment.

Il est évident que xi ≥ 0.


n
 aijxi : la teneur totale dans la ration de la jième substance,
i=1

cette teneur ne doit pas être inférieure à la quantité minimale bj :


n
 aijxi  bj, j = 1, 2, …, m.
i=1

ci : prix unitaire du iième aliment,

n
 cixi : le prix de toute la ration,
i=1
Modèle mathématique
n
min  c ix i
i=1

sous les conditions

n
 aijxi  bj, j = 1, 2, …, m.
i=1

xi ≥ 0 i = 1, 2, …, n.
Problème de transport
Il consiste à composer le programme du trafic d'un bien homogène
de façon que le coût total du transport soit minimal
ai la quantité du bien disponible à la iième origine (i = 1, 2, ..., m);
bj la demande au jième point de destination (j = 1, 2, ..., n);

cij le coût unitaire du transport du bien de la iième origine à la jième


destination;
xij la quantité du bien expédié de l'origine i à la destination j.
m n
  cijxij : coût total du transport,
i=1 j=1
n
 xij : quantité du bien livré par la iième origine,
j=1
m
 xij : quantité du bien reçu par la jième destination,
i=1
Modèle mathématique
L’affectation des machines à des produits non complémentaires

Un atelier dispose de 4 machines i (i = 1, 2 , 3, 4) — un tour, une


fraiseuse, une perceuse, etc. — sur lesquelles cinq produits différents j
(j = 1, 2, 3, 4, 5) doivent être fabriqués.

Hypothèse : le marché est en mesure d'absorber des quantités illimitées


de chacun de ces produits,
il n'y a pas de temps de réglage lorsqu'une machine passe
d'un produit à l'autre.
pj : le profit unitaire résultant de la vente de j,
aij : la durée nécessaire (h.) pour réaliser le produit j sur la machine i,
hi : le # total d'heures disponibles mensuellement sur la machine i.
xj : le # d'unités de chaque produit à fabriquer mensuellement pour
rendre maximal le profit total.
5
 aijxj  hi, i = 1, 2, 3, 4 le temps disponible sur chaque
j=1 machine ne doit pas être dépassé
5
max  pjxj Maximiser le profit.
j=1

xj ≥ 0 j = 1, 2, …, 5.
L’affectation des machines à des produits complémentaires
Imaginons une entreprise qui fabrique n produits j.
La fabrication d'une unité du produit k (k ≠ j) emploie ajk unités du
produit j.
Une unité de j est vendue aj dirhams.
xj le nombre d'unités fabriquées,
yj le nombre d'unités vendues,
bij le % de la capacité de la machine i nécessaire pour fabriquer une
unité de j
cj le coût de fabrication d'une unité de j
xj -  ajkxk - yj = 0, j = 1, 2, …, n.
kj
Ce qui a été fabriqué de j est totalement employé, soit
pour la fabrication d’un produit k, soit pour la vente.
n
 bijxj  100, i = 1, 2, …, m
j=1
L’utilisation de chaque machine ne peut dépasser sa
capacité.

On doit maximiser le profit :


n
 (ajyj - cjxj).
j=1
Problème d’agriculture

Un agriculteur veut allouer 150 hectares de surface irrigable entre


culture de tomates et celles de piments. Il dispose de 480 heures de
main d’œuvre et de 440 𝑚3 d’eau. Un hectare de tomates demande
1 heure de main d’œuvre, 4 𝑚3 d’eau et donne un bénéfice net de
100 dhs. Un hectare de piments demande 4 heures de main d’œuvre,
2 𝑚3 d’eau et donne un bénéfice net de 200 dhs.

Le bureau du périmètre irrigué veut protéger le prix des tomates et


ne lui permet pas de cultiver plus de 90 hectares de tomates. Quelle
est la meilleure allocation de ses ressources ?
Formulation du problème en un PL :
Etape 1 : Identification des variables de décision. Les deux activités
que l’agriculteur doit déterminer sont les surfaces à allouer pour la
culture de tomates et de piments :
•𝑥1 : la surface allouée à la culture des tomates
•𝑥2 : la surface allouée à la culture des piments
On vérifie bien que les variables de décision 𝑥1 et 𝑥2 sont
positives :
Etape 2 : Identification des contraintes. Dans ce problème les contraintes
représentent la disponibilité des facteurs de production :

• Terrain : l’agriculteur dispose de 150 hectares de terrain, ainsi


la contrainte liée à la limitation de la surface de terrain est :

• Eau : la culture d’un hectare de tomates demande 4𝑚3 d’eau et


celle d’un hectare de piments demande 2𝑚3 , mais l’agriculteur
ne dispose que de 440 𝑚3 . La contrainte qui exprime les
limitations des ressources en eau est :
Etape 2 : Identification des contraintes. Dans ce problème les contraintes
représentent la disponibilité des facteurs de production :

• Main d’œuvre : Les 480 heures de main d’œuvre seront départager


(pas nécessairement en totalité) ente la culture des tomates et celles
des piments.
• Sachant qu’un hectare de tomates demande une heure de main
d’œuvre et un hectare de piments demande 4 heures de main
d’œuvre alors la contrainte représentant les limitations des
ressources humaines est
• Les limitations du bureau du périmètre irrigué : Ces limitations
exigent que l’agriculteur ne cultive pas plus de 90 hectares de
tomates. La contrainte qui représente cette restriction est
Etape 3 : Identification de la fonction objectif.
La fonction objectif consiste à maximiser le profit apporté par
la culture de tomates et de piments. Les contributions respectives
100 et 200, des deux variables de décision 𝑥1 et 𝑥2 sont
proportionnelles à leur valeur. La fonction objectif est donc

Le programme linéaire qui modélise le problème d’agriculture


est :
Problème de médecine

Un spécialiste en médecine a fabriqué un médicament (des pilules)


pour guérir les sujets atteints d’un rhume. Ces pilules sont
fabriquées selon deux formats :
 Petite taille : elle contient 2 grains d’aspirine, 5 grains de
bicarbonate et 1 grain de codéine.
 Grande taille : elle contient 1 grain d’aspirine, 8 grains de
bicarbonate et 6 grains de codéine.
Pour guérir la maladie, le sujet a besoin de 12 grains d’aspirine, 74
grains de bicarbonate et 24 grains de codéine. Déterminer le
nombre de pilules minimales à prescrire au sujet pour qu’il soit
guérit.
Formulation du problème en un PL :
Etape 1 :
Le problème de médecine présente certaines ressemblances avec le
problème de l’agriculture, dans les deux cas c’est un problème
d’allocation de ressources.
Les variables de décision qui représentent des valeurs inconnues par le
décideur qui est dans ce cas le spécialiste en médecine sont :
 𝑥1 : le nombre de pilules de petite taille à prescrire.
 𝑥2 : le nombre de pilules de grande taille à prescrire.
On vérifie bien que les variables de décision 𝑥1 et 𝑥2 sont positives.
Etape 2
Les contraintes imposées par le problème sur les valeurs possibles
de 𝑥1 et 𝑥2 sont :
La prescription doit contenir des pilules avec au moins 12 grains
d’aspirine. Sachant qu’une petite pilule contient 2 grains d’aspirine
et qu’une grande pilule contient un seul grain d’aspirine, on obtient
la contrainte suivante :
De la même façon que pour l’aspirine, la prescription du spécialiste
en médecine doit contenir au moins 74 grains de bicarbonate. Ainsi
la contrainte suivante doit être satisfaite :
Finalement la contrainte imposée par le fait que la prescription doit
contenir au moins 24 grains de codéine est :
Etape 3
Identification de la fonction objectif. On remarque qu’il y a plusieurs
couples de solutions (𝑥1 , 𝑥2 ) qui peuvent satisfaire les contraintes
spécifiées à l’étape 2. La prescription doit contenir le minimum
possible de pilules. Donc le critère de sélection de la quantité de
pilules à prescrire est celle qui minimise le nombre total des
pilules z=𝑥1 +𝑥2
Le programme qui modélise ce problème médical est donc le suivant :
Merci de votre attention

Vous aimerez peut-être aussi