Académique Documents
Professionnel Documents
Culture Documents
PLAN DU COURS
CHAP I : GENERALITES
1.1. Définitions
1.2. Historique de la recherche opérationnelle
1.3. Caractéristiques de la recherche opérationnelle
1.4. Objectif de la recherche opérationnelle
1.5. Domaines d’application
1.6. Types de problèmes traités
1.7. Etapes de la Recherche Opérationnelle
1.8. Outils de la Recherche Opérationnelle
1.9. Relations avec d'autres disciplines
3.1 Introduction
3.2 Méthodes d’ordonnancement
3.2.1 Le diagramme de Gantt
3.2.1.1 présentations
3.2.1.2 avantages du diagramme de Gantt
3.2.1.3 les étapes du diagramme de Gantt
3.2.1.4 exemples
3.2.2 La méthode PERT
3.2.2.1 définitions
3.2.2.2 étapes
3.2.2.3 exemples
3.2.3 La méthode des potentiels métra (MPM)
3.2.3.1 aperçus historiques de la méthode MPM
3.2.3.2 descriptions de la méthode MPM
~2~
5.1. Introduction
5.2. Conditionnalités d’une programmation linéaire
5.3 Représentation du programme
5.4. Formulation de programme linéaire
5.5. Méthodes de calculs
5.5.1 Méthode d’algorithme de dénombrement
5.5.2 Méthode graphique
5.5.3 Méthode de simplexe
5.6. Problème dual et primal
5.6.1 Définition
5.6.2 Mécanisme de passation
BIBLOGRAPHIE
~3~
CHAP I : GENERALITES
1.1 . DEFINITIONS
- Elle traite de problèmes spécifiques dans des programmes spécifiques, non pas
de thèmes sanitaires généraux ;
- Elle traite des problèmes qui sont sous le contrôle de directeurs, tels que les
systèmes de programmation, de formation, d’établissement de prix et de
fourniture d’informations ; Elle utilise des procédures de recueil de données
systématiques, à la fois qualitatives et quantitatives, pour accumuler des
éléments soutenant la prise de décision ;
- Elle requiert la collaboration entre les directeurs et les chercheurs en termes
d’identification du problème de recherche, de développement de la conception
de l’étude, de mise en œuvre de l’étude, d’analyse et d’interprétation des
résultats ;
- Elle réussit uniquement si les résultats de l’étude sont utilisés pour prendre des
décisions liées au programme ; la publication seule n’est pas un indicateur
valide d’une RO réussie ».
1.4. OBJECTIF DE LA RO
objectif spécifique décrite est d’évaluer la mise en œuvre et les aspects opérationnels
des programmes.
➢ Exemples d’application
• Planifier la tournée d'un véhicule de livraison qui doit passer par des points
fixés à l'avance puis revenir à son point de départ en cherchant à minimiser la
distance parcourue est un problème typique de recherche opérationnelle. On
appelle ce problème le problème du voyageur de commerce.
Exemple typique :
Fixer une politique de prix de vente, sachant que les résultats d'une telle
politique dépendent de la politique que les concurrents adopteront.
En bref, les problèmes que la R.O. peut aider à résoudre sont stratégiques (on
peut citer le choix d'investir ou pas, le choix d'une implantation, le dimensionnement
d'une flotte de véhicules ou d'un parc immobilier…) ou opérationnels (notamment
l'ordonnancement, la gestion de stock, l'affectation de moyens (humains ou matériels)
à des tâches, les prévisions de ventes…).
1. Détection
d’un problème
5. Résolution
du problème
Elle est aussi liée à l'ingénierie des systèmes. Par rapport à celle-ci, le champ
d'application de la recherche opérationnelle est historiquement plus axé sur les
événements incertains et l'industrie, et ses méthodes plus particulièrement
mathématiques.
Les algorithmes élaborés pour résoudre des problèmes concernant les objets
de cette théorie ont de nombreuses applications dans tous les domaines liés à la notion
de réseau (réseau social, réseau informatique, télécommunications, etc.) et dans bien
d'autres domaines (par exemple génétique) .
Les arêtes peuvent être orientées (flèches) ou non orientées (traits). Si les
arêtes sont orientées, la relation va dans un seul sens et est donc asymétrique, et le
graphe lui-même est dit orienté. Sinon, si les arêtes sont non orientées, la relation va
dans les deux sens et est symétrique, et le graphe est dit non orienté.
Le Graphe est donc composé des sommets et des arcs, des points et des
flèches ou des traits qui les relient.
La théorie des graphes est très probablement née en 1735 lorsque Leonhard
Euler (1707 - 1783) résout le problème des sept ponts de Königsberg (De nos jours
Kaliningrad en Russie Kaliningrad, une ville de la Russie occidentale, capitale de
l’oblast de Kaliningrad, située sur le fleuve Pregolia.). Ce problème est très simple sur
le principe mais un peu plus compliqué à démontrer, en voici l'énoncé : La vile de
Königsberg est une ville autour d'un fleuve, elle compte quatre berges et sept ponts les
reliant. Le but du jeu est de savoir s'il existe un chemin permettant d'emprunter tous les
ponts une fois et une seule et revenir au point de départ. Le problème s'appelle, de
façon plus formelle, la recherche d'un cycle eulérien dans un graphe. Euler a démontré
que ce problème n'avait pas de solution.
~ 10 ~
Certains problèmes peuvent être spécifiés par un état initial, un état final,
un certain nombre d’états intermédiaires et des règles de transition précisant comment
on peut passer d’un état à l’autre. Beaucoup de jeux et autres “casse-tête” peuvent être
modélisés ainsi.
Les graphes sont très utilisés dans l'informatique. On les trouve partout : les
réseaux, l'ordonnancement de processus, ... . Mais ils sont surtout utilisés pour
modéliser des problèmes plus ou moins complexes. Ainsi on pourra représenter un
réseau de chemin de fer ou un réseau routier. Et ensuite on peut se servir de cette
modélisation pour résoudre des problèmes tels que la recherche du plus court chemin
entre deux villes.
• S est un ensemble fini d'éléments. Chacun de ces éléments est appelé sommet
du graphe.
• A est un sous ensemble (éventuellement nul) de S x S. Chacun de ces éléments
de A est appelé arc ou arête.
Exemple de graphe
6
2
1 5 7
3 4
Dans les ronds, nous avons donc les sommets. Ceux-ci sont reliés entre
eux par des arcs. Quelques fois les sommets sont appelés des noeuds. Ces deux
définitions sont totalement identiques.
Le nombre de fois qu’un sommet est touché par une arête est le
degré de ce sommet. Si plus d’une arête relient deux sommets, ces arêtes sont dites
parallèles.
~ 12 ~
1) Graphe orienté
Un graphe orienté est un graphe dont les arêtes sont orientées. Cela signifie
que les extrémités d'une arête ont un sens bien précis. On appellera alors l'arête un arc.
Les extrémités de l'arc sont alors appelés extrémité initiale et extrémité finale. Un arc
(x,y) sera donc l'arc pour lequel x est l'extrémité initiale et y l'extrémité finale.
Un graphe orienté ne permet le passage d'un sommet à un autre que dans un seul sens.
Il arrive parfois qu'on parle de graphe associé à un graphe orienté, ce graphe non
orienté n'est rien d'autre que le graphe orienté auquel on a remplacé les arcs par des
arêtes. . Dans un graphe non orienté les routes seront à double sens.
Un graphe complet est un graphe dont chaque sommet est relié directement
à tous les autres sommets. Au cas contraire il est dit non complet ou incomplet.
On appelle chaîne, une suite de sommets adjacents, c'est à dire une suite de
sommet reliés par des arêtes. La longueur de la chaîne est le nombre d'arêtes visitées
pour passer du premier sommet de la chaîne au dernier. On appelle chaîne simple, une
chaîne qui n'est composée que de sommets différents.
On appelle chemin une suite de sommets reliés par des arcs. C'est donc la
définition d'une chaîne pour les graphes orientés. Comme pour les chaînes, on appelle
chemin simple tout chemin qui ne passe pas deux fois par le même sommet.
Un circuit est un chemin fermé simple. On entend par chemin fermé un chemin
dont le sommet initial est aussi le sommet final. Voici par exemple un circuit :
On appelle cycle une chaîne fermée. C'est donc un circuit pour les graphes non
orientés. Il est dit élémentaire si la chaîne sur laquelle il est basé est simple (hormis le
sommet de départ et d'arrivé, cela va de soi.).
Il existe principalement deux qualificatifs pour les chemins et les chaînes. Ces
deux qualificatifs sont eulérien et hamiltonien.
Les chemins ou les chaînes sont dit hamiltonien(ne) si tous les sommets des
graphes y apparaissent une fois et une seule.
La recherche d'un cycle hamiltonien peut être utilisée dans la vie moderne
lorsque l'on veut à partir d'une carte routière passer par une liste de ville.
~ 14 ~
6) une boucle
C’est un circuit de longueur 1 Une boucle est une arête qui lie un sommet à lui-
même.
7) une arborescence
C’est un graphe orienté d’un seul tenant et sans circuit tel que pour tout couple
de sommet de ce graphe, il existe toujours un autre sommet d’origine d’un chemin
conduisant au premier sommet.
Exemple
8) un arbre
C’est un graphe non orienté d’un seul tenant et sans cycle tel que pour aller
d’un sommet à un autre, il existe toujours une chaine. Son origine est appelé centre ou
racine.
Exemple
~ 15 ~
9) Graphes valués
Exemple
0 1 0 0
0 0 1 1
0 0 0 1
0 0 0 0
~ 16 ~
On remarque aisément qu'un graphe non orienté sera représenté par une
matrice symétrique.
0 4,2 0 0
0 0 5,6 7,3
0 0 0 10,6
0 0 0 0
Exemple :
.d c
e b
f
~ 17 ~
En considérant le graphe ci-haut lorsqu’il n’a pas d’arcs, on peut ainsi les représenter
dans un dictionnaire des voisins.
Le niveau d’un sommet i est la longueur du plus long chemin ayant pour
extrémité i.
Soit le graphe suivant :
7
2
1 5 6
3 4
X P(X)
1 . -
2 1
Co =1 3 1,2,3
4 3,5
5 1
6 2,3,4
7 2,3
~ 19 ~
X P(X)
1 . -
2 1
3 1,2,3
4 3,5
5 1
6 2,3,4
7 2,3 C2 = {3. }
Et en fin on aura :
X P(X)
1 . -
2 1
3 1,2,3
4 3,5
5 1 C3 = {4,7} et C4 = {6. }
6 2,3,4
7 2,3
~ 20 ~
EXERCICE
x P(x) x S(x)
x1 - x1 x2 , x3
x2 x1 , x3 x2 x4
x3 x1 x3 x2 , x4
x4 x2 , x3 x4 x5 , x6
x5 x4 x5 x6
x6 x4 , x5 x6 -
Détermination du niveau :
x P(x)
x1 -
x2 x1 , x3
x3 x1 C0 = {sommets de niveau 0}
x4 x2 , x3 = {sommets n'ayant pas de précédent}= { x1}
x5 x4
x6 x4 , x5 Tous les sommets x1 sont barrés, d'où le tableau ci-dessous
~ 21 ~
x P(x)
x1 -
x2 x1 , x3 Les sommets barrés sont considérés comme n'existant
x3 x1 plus.
x4 x2 , x3
x5 x4 C1 = {sommets de niveau 1}
x6 x4 , x5 = {sommets n'ayant pas de précédent}= { x3}
x P(x)
x1 -
x2 x1 , x3 Les sommets barrés sont considérés comme n'existant
x3 x1 plus.
x4 x2 , x3 C2 = {sommets de niveau 2}
x5 x4 = {sommets n'ayant pas de précédent}= { x2}
x6 x4 , x5
Tous les sommets x2 sont barrés, d'où le tableau ci-dessous
x P(x)
x1 -
x2 x1 , x3
Les sommets barrés sont considérés comme n'existant
x3 x1 plus.
x4 x2 , x3
x5 x4 C3 = {sommets de niveau 3}
x6 x4 , x5 = {sommets n'ayant pas de précédent}= { x4}
x5 x4
x6 x4 , x5
x P(x)
x1 - Les sommets barrés sont considérés comme n'existant
x2 x1 , x3 plus.
x3 x1
x4 x2 , x3 C5 = {sommets de niveau 5}
x5 x4 = {sommets n'ayant pas de précédent}= { x6}
x6 x4 , x5
Tous les sommets x6 sont barrés, d'où le tableau ci-dessous
x P(x)
x1 -
x2 x1 , x3
x3 x1 Tous les sommets ayant été barrés, l'algorithme est
terminé. Les niveaux sont donc
x4 x2 , x3
C0 = { x1}
x5 x4 C1 = { x3}
x6 x4 , x5 C2 = { x2}
C3 = { x4}
C4 = { x5}
C5 = { x6}
Soit le tableau ci- après résumant l'ensemble des tâches d’un projet et
leurs antériorités.
Durées Taches
Lettre Taches
(jours) antérieures
A Avant-projet 6
B Etude de marché 2
C Etude de faisabilité 3 A
D Réalisation 5 A
E Définition de la politique publicitaire 3 A
F Estimation des couts 2 C
G Présentation des prototypes aux clients 3 D
H Détermination du prix de produit 4 B,E
I Evaluation du chiffre d'affaires 2 H
J Rapport de synthèse du lancement de la série 2 F,G,I
3.1 INTRODUCTION
3.2.1.1 Présentation
Notamment :
b) Il facilite la compréhension
Représenter la complexité par des éléments visuels simples permet à tous de
mieux l'appréhender. Tout devient plus simple avec des images !
c) Il aide à planifier
Le dépassement des délais est bien souvent chose courante dans la gestion
de projets. Déterminer une durée pour chaque activité à réaliser et leur donner une date
d'échéance permet de visualiser plus facilement la durée totale du projet.
f) Il est dynamique
La création d'un diagramme de Gantt commence par lister toutes les tâches
qui doivent être accomplies pour qu'il soit mené à bien. A chacune de ses tâches
peuvent être attribuées des sous-tâches, des actions liées, qui constitueront ensemble la
tâche complète. Pensez à tous les éléments, même les plus insignifiants : un oubli peut
retarder toute la réalisation du projet. Cet ensemble de tâches et sous-tâches
hiérarchisées se retrouvera listé à gauche du diagramme.
Une fois toutes les tâches référencées, il faut les étaler dans le temps.
Commencez alors par dater le début du projet, puis établissez un ordre d'exécution des
tâches. Leur attribuer une date de début, une durée, une fin, est primordial pour repérer
l'état d'avancement du projet et organiser son planning. Evaluez ces temps en fonction
des ressources disponibles et ne sous-estimez pas les durées de réalisation : une
estimation trop large vaut mieux qu'une estimation trop serrée ! C'est à ce moment-là
que vous visualiserez la longueur des activités sur le diagramme : les rectangles les
plus longs correspondront aux tâches les plus étendues dans le temps, et inversement.
Vous devez alors créer des liens entre vos tâches afin de mieux visualiser
ces connexions qui lieront le projet, générant par la même un ensemble construit et
cohérent. Celles-ci seront matérialisées par des flèches entre chaque rectangle.
• Une tâche ne peut pas commencer si une antérieure n'est pas terminée
• Une tâche ne peut pas commencer si une antérieure n'est pas commencée
• Une tâche ne peut pas se terminer si une antérieure n'est pas terminée
• Une tâche ne peut pas se terminer si une antérieure n'est pas commencée
3.2.1.4 EXEMPLE
Nom de la Durée
tache Début Fin (jours)
Tache 1 16-janv 21-janv 5
Tache 2 22-janv 23-janv 1
Tache 3 22-janv 28-janv 6
Tache 4 27-janv 29-janv 2
Tache 5 28-janv 04-févr 7
Tache 6 05-févr 09-févr 4
Tache 7 28-janv 05-févr 8
Tache 8 04-févr 06-févr 2
Tache 9 07-févr 10-févr 3
Tache 10 09-févr 12-févr 3
Tache 11 11-févr 14-févr 3
Tache 12 15-févr 17-févr 2
Diagramme de GANNT
~ 28 ~
3.2.2.1 Définition
3.2.2.2 étapes
a) Construction du graphe
NB : il est quelque fois nécessaire d'introduire des tâches fictives de durée nulle
Deux arcs ne peuvent avoir à la fois la même origine et la même extrémité. Il est
nécessaire de rajouter une tâche fictive dans ces conditions:
sera
transformé
en
Une étape n ne pouvant débuter que lorsque toutes les étapes qui y
aboutissent sont terminées, tn correspond à la valeur du chemin de valeur maximale
aboutissant à n.
La date de début au plus tôt d'une tâche x est égale à la date de début au plus
tôt de l'étape dont elle est issue.
Il s'agit de la date au plus tard à laquelle peut commencer une étape sans
remettre en cause la date de fin des travaux. Ceci sera obtenu en commençant par les
sommets de niveau les plus élevés jusqu'aux sommets de niveau les plus faibles.
La date de début au plus tard d'une tâche x est égale à la date de début au plus
tard de l'étape à laquelle elle aboutit, diminuée de la durée de la tâche
f) Marges totales
Le retard maximum que l'on peut prendre dans la mise en route d'une tâche
sans remettre en cause les dates au plus tard des tâches suivantes (donc sans retarder la
fin des travaux).
~ 30 ~
mT(x) = T*x - Tx
g) Marges libres
C'est le retard maximum que l'on peut prendre dans la mise en route d'une
tâche sans remettre en cause les dates au plus tôt des tâches suivantes (donc sans
retarder la fin des travaux).
3.2.2.3 EXEMPLE
Soit le tableau ci-après qui représente les différentes étapes d’exécution d’un
projet :
Durées Taches
Lettre Taches
(jours) antérieures
A Avant-projet 6
B Etude de marché 2
C Etude de faisabilité 3 A
D Réalisation 5 A
E Définition de la politique publicitaire 3 A
F Estimation des couts 2 C
G Présentation des prototypes aux clients 3 D
H Détermination du prix de produit 4 B,E
I Evaluation du chiffre d'affaires 2 H
J Rapport de synthèse du lancement de la série 2 F,G,I
X P(X) X S(X)
A .- A C,D,E
B .- B H
C A C F
D A D G
E A E H
F C F J
G D G J
H B,E H I
I H I J
J F,G,I J .-
~ 31 ~
2° Construction du graphe
D(5) G (3)
A(6)
H(4)
D (5) G(3)
A(6) C(3)
B(2) I (2)
H(4)
Soit le tableau ci-après qui représente les différentes étapes d’exécution d’un
projet :
~ 32 ~
Durées Taches
Lettre Taches Ressources
(jours) antérieures
A Définition Du budget 4 5
B Sélection thème, date, lieu 3 A 5
C Embauche traiteur 3 B 5
D Annonce interne 3 B 8
E Annonce presse 4 D 2
F Sélection menu 2 C 2
G Location des équipements 4 C ,E 3
H Embauche personnels 4 G 4
I Préparatifs 5 G 4
J Evènement 1 I, H, F 10
Les règles de mise en œuvre de la méthode MPM sont proches de celles que
nous avons abordées précédemment pour la méthode du PERT. Nous ne reviendrons
donc pas sur ces règles.
Sa représentation est un cadre identifié par le nom de la tâche. Les dates au plus tôt
et au plus tard son inscrites dans la partie supérieure.
A : Nom de la tâche
4 : Début au plus tôt
9 : Début au plus tard
Les contraintes de succession sont représentées par une flèche qui part de la
tâche antécédente et se dirige vers la suivante. La durée de la contrainte correspond à
la durée de sa tâche de démarrage. Cette valeur est indiquée au-dessus de la flèche.
12 : Durée de la tâche A
Par convention, un réseau MPM doit se terminer par une tâche unique qui
détermine la fin du projet. Cette tâche n’aura aucune durée.
Niveau Taches
1 AB
2 CD
3 E
4 F
• Date à laquelle on peut commencer la tâche parce que les tâches précédentes sont
terminées.
• formule : = Max (Dates au plus tôt précédentes + durées précédentes).
• Date maximale à laquelle on peut commencer la tâche sans repousser la fin du projet.
• formule : = Min (Date au plus tard suivantes) - durée de la tâche.
• Marge totale :
• Marge libre :
• Tâche critique :
• Tâche qui ne peut être retardée sans que l'ensemble du projet soit retardé en
conséquent.
• Ce sont les tâches dont la marge totale est nulle.
• Chemin critique :
• Si telle tâche est retardée, quelle est l'incidence sur la durée totale du projet ?
Le projet est retardé du retard pris par la tâche moins la marge totale de cette tâche.
• Si telle tâche est avancée, quelle est l'incidence sur la durée totale du projet ?
On doit recalculer les dates au plus tôt à partir de cette tâche pour pouvoir répondre à
cette question.
3.2.3.5 CONDITIONNALITE
• La date au plus tard est toujours supérieure ou égale à la date au plus tôt
• Il y a toujours au moins une tâche de premier niveau dont la marge totale est nulle
(date au plus tôt = date au plus tard = 0)
3.2.3.6.1 PROCEDURE
1° Les opération sont inscrites dans un ordre quelconque sur la 1er ligne
et dans la partie droite de chaque colonne.
Et ainsi de suite
3.2.3.6.2 EXEMPLE
Résolution :
Opérations d O A O B 3 C 4 D 3 E 7 F 4 G 9 H 10 f
Opérations précédentes
Le chemin critique : A- C- F- H
~ 38 ~
4.1. INTRODUCTION
Répartir les ouvriers sur les machines de la façon la plus efficace est un
problème d’affectation.
Soit m unité à affecter à n tâches, une unité ne peut être affectée qu’à une
et une seule tâche et une tâche ne peut employer qu’une et une seule unité.
L’unité i exécute la tâche j avec un coût ou un profit Cij. Le problème
qui se pose est celui de se poser la question suivante : ‘‘comment doit-on affecter
chaque unité à une seule tâche pour que la rentabilité soit optimale’’
U1 Tâche Tj
1 1 Ui 1 2……………….n
2 2
3 3 1 C11 C12…………..C1n
4 4 2 C21 C22…………..C2n
5 5 . .
. . . .
. . . .
. . . .
m n m Cm1 Cm2
A tous les éléments d’une même colonne on identifie l’élément le plus petit et on
fait : Cij = Cij –min Cij
D’où on a au moins un Zéro par colonne, et on fait la même chose en ligne. Cij
– Cij –Min Cij.
Avec les zéro de Cij forme une solution pour laquelle le Ct a une valeur nulle.
C'est-à-dire une affectation où tous les Cij de la solution sont des zéro. Si cela est
possible, on a alors trouvé une solution optimale. Si non on passe à la phase 3.
1) Marquez d’une croix (x) toutes les lignes qui ne contiennent aucun zéro
encadre.
2) Marquez toutes colonnes qui a un zéro barré sur une ou plusieurs des lignes
marquées
3) Marquez toutes lignes qui a un zéro encadré dans une colonne marquée.
4) repentez 2 et 3 jusqu’à ce qu’il n’y ait plus des colonnes ou des lignes à
marquer
Tracez un trait sur toute ligne non marquée et un trait sur toute colonne marquée.
Ceci nous donne les lignes et colonnes en nombre minimale qui contiennent tous
les zéro encadrés ou barrés.
~ 40 ~
Considérez le tableau partiel des éléments qui ne sont pas traversé par des trait et
prenez le plus petit nombre de ce tableau partiel enlevez ce nombre aux éléments
des colonnes non traversé par un trait et ajoutez le aux éléments des lignes
traversées par un trait deux fois.
Sur le tableau Cij obtenu en phase 5, recherchez une solution optimale selon la
méthode de la phase 2.
4.3. Exemple
1 2 3 4 5
A 12 8 11 15 4
B 7 9 17 14 10
C 9 6 12 7 7
D 7 8 14 8 10
E 9 9 13 10 6
Résolution
1 2 3 4 5
A 12 8 11 15 4
B 7 9 17 14 10
C 9 6 12 7 7
D 7 8 14 8 10
E 9 9 13 10 6
7 6 11 7 4
~ 41 ~
1 2 3 4 5
A 5 2 0 8 0
B 0 3 6 7 6
C 2 0 1 0 3
D 0 2 3 1 6
E 2 3 2 3 2 2
1 2 3 4 5
A 5 2 0 8 0
B 0 3 6 7 6
C 2 0 1 0 3
D 0 2 3 1 6
E 0 1 0 1 0
1 2 3 4 5
A 6 2 0 8 0
B 0 2 5 6 5
C 3 0 1 0 3
D 0 1 2 0 5
E 1 1 0 1 0
A 1 7
B 2 6
Le coût total s’élève à 38
C 3 11
D 4 8
6
E 5
38
~ 42 ~
1 2 3 4 5 6
A 11 12 5 15 8 5
N 4 5 2 14 10 3
M 5 6 3 17 9 5
P 5 4 7 5 7 9
L 9 8 12 13 6 3
F 2 3 2 9 9 10
5.1 INTRODUCTION
M1 M2 M3
P1 11 mn 7 mn 6 mn
P2 9 mn 12 mn 16 mn
~ 46 ~
Formulation en un PL :
Kg. Quelles quantités d’aliments M et N doit-on utiliser par jour et par animal pour
réaliser l’alimentation la moins coûteuse ?
Formulation en un PL :
M N Quantités prescrites
A 0.1 0 0.4
B 0 0.1 0.6
C 0.1 0.2 2
D 0.2 0.1 1.7
Coût 10 4
• A: 0.1 x1 0.4 x1 4
• B: 0.1 x2 0.6 x2 6
• C: 0.1 x1 + 0.2 x2 2 x1 + 2 x2 20
• D: 0.2 x1 + 0.1 x2 1.7 2 x1 + x2 17
Min 10 x1 + 4 x2
s.c. x1 4
x2 6
x1 + 2 x2 20
2 x1 + x2 17
x1 0, x2 0
~ 48 ~
Nous retenons, dans le présent cours, trois méthodes pour résoudre les
problèmes de programmation linéaire qui sont :
𝐂𝒏𝒎 =𝒎!(𝒏−𝒎)!
𝒏!
Exemple :
Maximisez z = 3x1 + 2 x2
s.c. 2x1 +3 x2 15
2x1 + x2 12
2x1 + 5x2 20
x1, x2 0
2x1 +3 x2 + x3 = 15
2x1 + x2 + x4 = 12
2x1 + 5x2 + x5 = 20
Tableau :
Solution Valeurs
Base x1 x2 x3 x4 x5 A ou NA de Z
1 0 0 15 12 20 A 0
2 0 15 0 7 -5 NA
3 0 12 -21 0 -40 NA
4 0 4 3 8 0 A 8
5 7,5 0 0 -3 NA
6 6 0 3 0 8 A 18
7 10 0 -5 0 NA
8 5,25 1,5 0 0 2 A 18,75
9 3,75 2,5 0 2 0 A 16,25
10 5 2 -1 0 0 NA
Graphique :
Exemple
Maximisez z = 4 x1 + 3 x2 + 2 x3
s.c. 2x1 + 4 x2 + 6 x3 28
x1 - 3 x2 - 7 x3 -26
-3x1 + 2 x2 - x3 -2
x1, x2 et x3 0
2 4 6 x1 28
( 1 −3 −7 ). ( x2 ) = (−26)
−3 2 −1 x3 −2
~ 51 ~
2 4 6 28
( 1 −3 −7 −26 )
−3 2 −1 −2
Echelonnement :
𝐿′ 2 = 𝐿1 − 2𝐿2
𝐿′3 = 3𝐿1 + 2𝐿3
2 4 6 28
(0 10 20 80 )
0 16 16 80
𝐿′′3 = 8𝐿2 − 5𝐿3
2 4 6 28
(0 10 20 80 )
0 0 80 240
2x1 + 4 x2 + 6 x3 = 28 (1)
{ 10 x2 + 20 x3 = 80 (2)
80 x3 = 240 (3)
240
(3)’ ⇒ X3 =
. 80
X3 = 3
La solution optimale : x1 = 1, x2 = 2 et x3 = 3
avec z = 4 (1) + 3 (2) + 2 (3)
Z =16
~ 52 ~
5.5.4.1 Définition
(cj-zj) 0 pour toutes les variables (cj-zj) 0 pour toutes les variables
(hors base) donc la solution (hors base) donc la solution obtenue
obtenue est optimale. Sinon est optimale. Sinon retourner à l’étape
retourner à l’étape 5. 5.
5.5.4.4 EXEMPLE
Un fabriquant produit des tables (x1) et des bureaux (x2). Chaque table
nécessite 3 heures pour l’assemblage (A), 4 heures pour le polissage (B) et 3
heures pour la mise en caisse (C).
Résolution
x1 x2
A 3 10 60
B 4 1 15
C 3 2 16
Profit 11 7
Forme Canonique de la programmation linéaire :
Maximisez z = 11x1 + 7 x2
s.c. 3x1 +10 x2 60
4x1 + x2 15
3x1 + 2x2 16
x1, x2 0
3x1 + 2x2 + x5 = 16
Tableau I
Ci i x1 x2 x3 x4 x5 Voi
0 3 3 10 1 0 0 60
0 4 4 1 0 1 0 15
0 5 5 2 0 0 1 16
Ch 11 7 0 0 0
Xi 60 15 16 Z= 0
Δj 11 7
Voi ↑e 20 15 16
aie 4 3
↓s
Tableau II
Ci i x1 x2 x3 x4 x5 Voi
0 3 0 .37/4 1 .-3/4 0 .195/4
11 1 1 .1/4 0 .1/4 0 .15/4
0 5 0 .5/4 0 .-3/4 1 .19/4
Ch 11 7 0 0 0
Pas une solution optimale car les Δj ne sont pas tous négatifs.
Tableau III
~ 55 ~
Ci i x1 x2 x3 x4 x5 Voi
0 3 0 0 1 .24/5 .-37/5 .68/5
11 1 1 0 0 .2/5 .-1/5 .14/5
7 2 0 1 0 .-3/5 .4/5 .19/5
Tableau Ch 11 7 0 0 0 III
Xi 14 19 68 Z= 57,4
5 5 5
.-1 .-17
Δj 5 5
Z = 57,4
Exemple :
Sous contraintes
x1 + 3x2 12
2 x1 + 2 x2 12
x1 0, x2 0
Minimiser C = 12 y1 + 12 y2
Sous contraintes
y1 + 2 y 2 10
3 y1 + 2 y 2 15
y1 0, y 2 0
PRIMAL
Max Z c1 c2 ... cn
Pour mieux appréhender cette passation, nous présentons les exemples ci-
après à travers ce tableau :
Primal Dual
Max ½ x + x 1 2 Min 3y + y + 2y 1 2 3
S.c x + x ≤ 3
1 2 S.c y - y + y ≥ ½
1 2 3
-x +x ≤1 1 2 y +y ≥1 1 2
x ≤2 1 y ≥ 0, y ≥ 0, y ≥ 0
1 2 3
x ≥ 0, x ≥ 0
1 2
Min - x + x 1 2 Max 2y - 2y + 5y 1 2 3
S.c 2x - x ≥ 2
1 2 S.c 2y - y + y ≤ -1 1 2 3
- x + 2x ≥ -21 2 - y + 2y + y ≤ 1 1 2 3
x +x ≤5 1 2 y ≥ 0, y ≥ 0, y ≤ 0
1 2 3
x ≥ 0, x ≥ 0
1 2
Max 2x - x 1 2 Min 3 y + 4 y 1 2
S.c x - x = 3
1 2 S.c y + 2 y ≥ 2 1 2
x ≤4
1 - y ≥ -1 1
x ≥ 0, x ≥ 0
1 2 y ∈IR, y ≥ 0 1 2
Max 2x - x 1 2 Min - 2y + 6y - 5y 1 2 3
S.c x - 2x ≤ 2
1 2 S.c y + y = 2 1 2
x +x =6
1 2 - 2y + y + y = -1 1 2 3
x ≤5
2 y ≥ 0, y ∈IR, y ≥ 0
1 2 3
x ∈IR, x ∈IR
1 2
~ 58 ~
BIBLOGRAPHIE