BGF Recherche Operationnelle
BGF Recherche Operationnelle
BGF Recherche Operationnelle
Cours: 5H BMEP
TD/ 10H BGC
Objectif général: L'objectif de cet enseignement est de donner les bases de la recherche
opérationnelle :
Objectifs spécifiques : A l'issue de ce c de cet enseignement, l'étudiant doit être capable de:
Contenu pédagogique :
Chapitre 1 : Programmation linéaire
I. Généralités sur la programmation linéaire
• Définitions de la programmation linéaire
• Historique de la Programmation linéaire
II. Modélisation
III. Résolution d’un programme linéaire par la méthode graphique
• Délimitation de la région des solutions admissibles.
1
BIBLIOGRAPHIE
Bair, J., Crama, Y., Henry, V., & Justens, D. (2011). Modèles mathématiques en gestion. Dijon : Cassini.
Bonnans, F., & Gaubert, S. (2016). Recherche opérationnelle Aspects mathématiques et applications.
Paris : Lavoisier.
Di Lorio, R., Sebbar, B., & Stösser, A. (2000). Outils de gestion commerciale. Première et deuxième année.
Paris : Bréal.
Guéret, C., Prins, C., & Sevaux, M. (2011). Programmation linéaire avec Excel. 55 problèmes
d'optimisation modélisés pas à pas et résolus avec Excel. Paris: Eyrolles.
Maurel, E., Roux, D., & Dupont, D. (1977 ). Techniques opérationnelles d'ordonnancement . Paris:
Eyrolles.
2
INTRODUCTION
La recherche opérationnelle apparaît en 1940 en Angleterre puis aux États-Unis à des fins de
recherche militaire : il s'agissait pour le Royaume Uni de traiter des questions, telles que :
l’implantation optimale de radars de surveillance, la protection des convois de navires. Après la
guerre, la recherche opérationnelle s'introduit dans le monde des affaires, l'objectif étant
d'organiser, produire, stocker et vendre de façon optimale. L'arrivée de l'ordinateur allait accélérer
l'essor de cette nouvelle science laquelle utilise quatre branches mathématiques fondamentales :
La recherche opérationnelle joue un rôle important dans nos sociétés. Son champ d'application est
particulièrement vaste couvrant des problèmes de logistique, de planification, d'organisation des
services, de réseaux de télécommunication, d'environnement…
Elle sert notamment à l’élaboration d’horaires, l’établissement d’itinéraires optimaux pour des
camions, planifier la production, définir le trajet du ramassage des poubelles, etc.
La Recherche opérationnelle (RO) englobe un large éventail de Techniques. On peut citer :
• La Programmation linéaire
• La Programmation non linéaire
• La Programmation dynamique
• Méthode PERT
• La théorie des jeux
• La simulation
• La théorie des files d’attente
3
1.1.Définitions de la programmation linéaire
La programmation linéaire est une méthode de résolution d’une fonction linéaire. Elle permet de
déterminer l’optimum d’une fonction économique en tenant compte des contraintes.
Autrement dit, elle permet de répondre à la question suivante :
« Compte tenu des différentes contraintes et des objectifs à atteindre, quelle combinaison de
produits P1, P2, etc., faut-il produire pour atteindre l’optimum ? »
4
Kantorovich et Koopmans ont partagé le prix Nobel d'économie 1975 « pour leurs contributions à
la théorie d'allocation optimale des ressources ».
• Au milieu des années 80, l'indien KARMARKAR a proposé une nouvelle méthode créée aux Bell
Laboratories qui permettait de résoudre de très gros problèmes linéaires, par une démarche «
intérieure » au polyèdre des solutions admissibles.
5
II. Modélisation
La Modélisation (formulation) consiste à traduire le problème du monde réel dans un format
d’équations mathématiques.
La fonction objectif (ou fonction économique) est une fonction linéaire dépendante de variables à
déterminer appelées variables de décision ou variables
d’activité. Son expression mathématique :
Z=c1x1+ c2x2+ c3x3+....+ cnxn
x1, x2,….., xn : sont les variables de décision.
La fonction précédente est soit à maximiser ou à minimiser, selon la nature de problème.
6
Les contraintes de problème s’expriment sous la forme d’équations ou d’inéquations ou des deux
ensemble.
a11x1+ a12x2+....+ a1nxn (≤ , = , ≥) b1
a21x1+ a22x2+....+ a2nxn (≤ , = , ≥) b2
……………………………..
am1x1+ am2x2+....+ amnxn (≤ , = , ≥) bm
x1 ≥0; x2≥0; …xn ≥0
Exemples
Exemple 1 : problème d’allocation de ressources
Un fabricant de meubles produit des tables et des chaises en bois. Le bénéfice unitaire pour les
tables est de 6 mille francs et le profit unitaire des chaises est de 8 mille francs. Supposons que les
deux seules ressources que l'entreprise utilise pour produire les tables et les chaises sont le bois et
le travail (heures). Il prend 30 unités de bois et 5 heures pour faire une table, et 20 unités de bois et
10 heures pour fabriquer une chaise. Il y a 300 unités de bois disponibles et 110 heures de travail
disponibles. L'entreprise souhaite maximiser son profit, donc profit la maximisation et cherche à
déterminer le nombre de tables et de chaises à fabriquer compte tenu des ressources disponibles.
7
Ressources Table (X) Chaise (Y) Rressources
Disponibles
Bois (unités) 30 20 300
Travail (h) 5 10 110
Bénéfice unitaire (milles francs) 6 8
Formulation du PL.
Variables de décision :
Les inconnues du problème sont les quantités(nombres) de tables et de chaises que le fabricant
doit produire. Notons X le nombre de tables et Y le nombre de chaises.
Contraintes :
Dans ce problème les contraintes représentent la disponibilité des facteurs de production :
Bois : le fabricant dispose de 300 unités de bois. Sachant qu’une table demande 30 unités de bois
et une chaise 20 unités de bois, alors la contrainte liée à la limitation de la quantité de bois est 30X
+ 20Y ≤ 300
De même la contrainte qui exprime la limitation de la ressource travail est : 5X + 10Y ≤110
Fonction objectif :
La fonction objectif consiste à maximiser le profit apporté par fabrication des tables et des
chaises. Les contributions respectives 6 et 8, des deux variables de décision X et Y sont
proportionnelles à leur valeur. La fonction objectif est donc Maximiser: F = 6X + 8Y
Le programme linéaire qui modélise le problème de fabrication des tables et des chaises est
Maximiser: F = 6X + 8Y
Sous les contraintes :
30X + 20Y ≤ 300
5X1 + 10Y ≤ 110
X, Y ≥ 0 (conditions de non-négativité)
8
La société DINDINO est spécialisée dans l’élevage de la volaille en particulier la dinde et le dindon.
Pour les nourrir elle utilise un mélange deux types d’aliments A et B.
Chaque type d’aliments contient, dans des proportions variées, une partie ou la totalité des trois
ingrédients (protéines, vitamines, fer) nécessaires à l’engraissement des dindes.
Chaque kg de type A contient 5 unités de protéines, 4 unités de vitamines et ½ unité de fer.
Chaque kg de type B contient 10 unités de protéines, 3 unités de vitamines et pas de fer.
Un kg de type A revient à 2 F et un kg de type B à 3 F.
Formulation du PL.
Variables de décision :
Les inconnues du problème sont le nombre de kg de nourriture de type A et le nombres de kg de
nourriture de type B à acheter. Notons les X et Y respectivement.
Contraintes :
Dans ce problème les contraintes représentent les besoins mensuels minimum :
Protéine : il faut au minimum 90 unités. Sachant qu’un aliment type A fournit 5 unités de protéine
et un aliment type B fournit 10 unités de protéine, alors la contrainte correspondante est 5X + 10Y
≥ 90
Le même raisonnement donne les contraintes relatives à la vitamine et au fer :
vitamine : 4X + 3Y ≥ 48
fer : 0,5X ≥ 1,5
9
Fonction objectif :
La fonction objectif consiste à minimiser le coût de l’alimentation des dindes. Le coût d’un kg du
type A est 2F et celui de du type B 3F, alors la fonction objectif est : minimiser Z= 2X +3Y
La méthode graphique ne s’applique qu’aux programmes linéaires qui ne comportent que deux
variables.
Cette droite divise le plan 𝑥𝑦 en deux régions. Pour déterminer quelle région satisfait la contrainte
donnée, on peut sélectionner n’importe quel point en dehors de la droite pour tester si le point
satisfait la contrainte donnée. Il est conseillé de sélectionner le point le plus simple possible pour
cela. Si l’origine (0;0) n'est pas sur la frontière, alors c’est toujours le choix le plus simple.
10
La région des solutions réalisables représente l'ensemble de toutes les solutions possibles à un
problème de PL. La région des solutions réalisables est l'ensemble des points du plan dont les
coordonnées x et y vérifient toutes les contraintes du programme linéaire, qu'elles soient évidentes
ou spécifiques au problème étudié.
Exemple :
5x + y ≤ 100,
x + y ≤ 50,
x ≥ 0, y ≥ 0
Étape 2 : Tracez maintenant ces points dans le graphique et trouvez la région réalisable.
11
3.2. Recherche de la solution optimale.
Après avoir identifié la région de faisabilité, nous cherchons maintenant la solution, qui sera le
point de la région réalisable qui maximise la fonction objectif.
12
Théorème : Théorème fondamental de la programmation linéaire
Si un problème de programmation linéaire a une solution optimale, alors la solution se situe sur la
frontière (c’est-à-dire sur les arrêtes et les sommets). De plus, si une frontière contenant une
solution optimale a un sommet (ou des sommets), alors la solution se situe sur l’un des sommets.
Représentons l’équation F0 (la fonction objectif passant par l’origine). Cette la droite passe par
l'origine et donne une valeur nulle à la fonction économique.
Pour augmenter la valeur de F0 et donc la fonction économique, il suffit d'éloigner F0 de l'origine.
Pour respecter les contraintes, cette droite sera déplacée jusqu'à l'extrême limite où il n'y aura plus
qu'un point d'intersection (éventuellement un segment) avec la région des solutions admissibles.
13
Maximiser la fonction F, tout en satisfaisant aux contraintes du problème, revient à chercher la
droite parallèle à la ligne de la fonction objectif et la plus éloignée de l’origine et qui n’a qu’un
seul point commun avec la région réalisable.
14
La solution de trouve au point d’intersection des deux droites. 5x + y = 100 et x + y = 50. Les
coordonnées de ce point sont obtenues en résolvant le système d’equations :
5x + y = 100 …(i)
x + y = 50 ….(ii)
Ainsi, on peut conclure que le point (12.5, 37,5) est la seule solution optimale. La valeur maximale
de la fonction d'objectif égale à
F = 50x + 15y
15
F = 50(12,5) + 15(37,5)
F = 625 + 562,5
F = 1187
16
4.2.Solution initiale et tableau initial
La méthode de simplexe commence par l'identification d'une solution réalisable de base et ensuite,
elle essaye de trouver d'autres solutions réalisables de base jusqu’à atteindre à la solution optimale.
Ainsi, il est nécessaire d'avoir une solution initiale. Dans le cas simple, l'origine est solution, c.à.d.
que la première solution est x = 0 ; y = 0 ce qui sous-entend que t1 =160 ; t2 =180.
Tableau 0
Base X Y t1 t1 VVB1
t1 3 4 1 0 160
t2 6 3 0 1 180
-F 1200 1000 0 0 0
4.3.Amélioration de la solution
L’amélioration de la solution est synonyme d’un changement de base qui se déroule en deux étapes
:
• Choix de la variable entrante, de la variable sortante et du pivot
• Reformulation de la solution en fonction de la nouvelle base
1
VVB signifie Valeurs des Variables de Base
17
Selon le second critère de Dantzig, il faut établir les rapports des seconds membres des contraintes
aux coefficients correspondants de la variable entrante (colonne x) et sélectionner la variable du
plus petit rapport positif.
On divise donc successivement 160 par 3 (53,33), 180 par 6 (30) et nous sélectionnons la variable
t2 (ligne correspondant à 30, plus petit rapport positif).
Terme à remplacer X
dans le tableau n° N
Y Pivot
Cette formule peut être réécrite de la façon suivante si on raisonne en termes de lignes du tableau :
Nouvelle ligne i dans le tableau n° N+1 = ancienne ligne i – élément de la ligne i sur la colonne
du pivot X ligne résultante de la transformation de la ligne du pivot.
18
Ainsi on normalise l'élément pivot et sa valeur devient 1, alors que le reste des éléments de la
colonne pivot s'annulent.
Ce n’est pas encore le cas pour notre exemple, d’autres solutions doivent être trouvées.
Le tableau suivant donne la deuxième solution admissible :
Base X Y t1 t1 VVB
t1 0 5/2 1 - 1/2 70
y 1 1/2 0 1/6 30
-F 0 400 0 -200 -36000
Tableau 2
Le tableau suivant donne la troisième solution admissible :
Base X Y t1 t1 VVB
t1 0 1 2/5 - 1/5 28
t2 1 0 - 1/5 1/4 16
-F 0 0 -160 -120 -47200
19
CHAPITRE 2 : METHODE PERT
L’abréviation P.E.R.T. signifie « Program Evaluation and Review Technique » ce que l’on peut
traduire « Technique d’Evaluation de et révision des Programmes. Le PERT est une méthode
d’ordonnancement basée sur la théorie des graphes, et visant à optimiser la planification des tâches
d'un projet.
1.2.Historique
La méthode PERT a été conçue pour la marine américaine afin de permettre de coordonner les
travaux du projet Polaris (création d’une force d'attaque nucléaire comprenant sous-marins lance
missile et la fusée adaptée). Ce projet était soumis à de nombreux problèmes techniques,
notamment la coordination de 250 fournisseurs et 9000 sous-traitants. On estime que l’utilisation
du PERT a permis de ramener la durée globale de réalisation du projet de 7 à 4 ans. Cette méthode
s’est ensuite étendue dans l’industrie américaine, puis l’industrie occidentale.
20
• Les tâches (ou opérations) : ce sont les actions à réaliser pour atteindre un but. Une tâche
est caractérisée par sa durée et les moyens qu'elle met en œuvre. Elle consomme du temps
et des ressources. Les tâches sont représentées par des flèches orientées de la gauche vers
la droite. Elles portent l’indication de leur durée.
• Les événements (ou étapes) : c'est le jalon qui sépare deux tâches. C'est le commencement
ou la fin d'une tâche. Les étapes sont en règle générale numérotées et représentées par des
cercles. Certaines autres formes peuvent parfois être utilisées (carré, rectangle, ovale, etc.).
Une tâche se situe entre deux étapes.
• Les taches fictives : ce sont des tâches supplémentaires de durée nulle et ne consommant
aucune ressource, introduite pour respecter certaines contraintes d’antériorité. Une tâche
fictive est représentée par une flèche en pointillés
21
Généralement ces informations sont synthétisées dans un tableau :
Règle 1 : Un graphe possède toujours une et une seule étape de début ainsi qu’une étape de fin.
Chaque tâche est représentée par une seule flèche et chaque événement par un seul cercle.
Les flèches sont orientées de la gauche vers la droite.
Règle 2 : Deux tâches qui se succèdent immédiatement sont représentées par des flèches qui se
suivent.
A B
1 2 3
22
Règle 3 : Deux tâches A et B qui précédent une même tâche C sont dites convergentes et se
terminent par un événement commun. Elles sont représentées de la manière suivante :
Règle 4 : Deux tâches B et C qui succèdent à une même tâche A sont dites divergentes et
commencent par un événement commun, celui qui symbolise la fin de la tâche A.
Exemple 1
B et C succèdent à A ; D succède à B et C
Exemple 2 :
D succède à B et C succède à A et B
La représentation ci-dessous, qui nous vient la première à l'esprit est la suivante :
23
Cette représentation n'est pas juste car elle indique aussi que D succède à A. La représentation
correcte est la suivante :
La tâche en pointillé est appelée tâche fictive. Les tâches fictives permettent d'éviter la création par
le graphe de nouvelles contraintes de succession des tâches non indiquées par l'analyse du projet.
Les taches A et B sont sans antécédent et sont donc les taches de début.
24
E vient après C et F vient après A et D
Enfin, G vient apres E et F. E et F convergent donc vers un événement commun d’où commence
la tache G
25
Pour déterminer la date au plus tôt d'un événement, il faut parcourir le graphe de gauche à droite et
calculer le temps du plus long des chemins menant du début du projet à cet événement. S'il y a
plusieurs sous-chemins, on effectue le même calcul pour chacun et on choisit la durée du chemin
le plus long.
Date au plus tard de l’événement i" = Date plus tot ef - Durée dif
26
3.3. Identification du chemin critique
Une fois la date au plus tôt et la date au plus tard de chaque événement trouvé, on peut analyser la
situation. On peut remarquer que certains événements présentent des dates au plus tôt différentes
des dates au plus tard, cela traduit un flottement qui autorise une certaine souplesse dans la
réalisation des tâches.
Quand la date au plus tôt est identique à la date au plus tard, le flottement est nul et on dit que
l’événement est critique.
Le chemin critique est donc le chemin formé par les événements de flottement nul.
Pour un même projet, il peut y avoir plusieurs chemins critiques.
27