Vous êtes sur la page 1sur 153

Support du cours :

Recherche opérationnelle

Professeur : Mr. Tarik LAKHAL


Année Universitaire : 2019 - 2020
INTRODUCTION

La recherche opérationnelle (aussi


appelée aide à la décision) peut
être définie comme l'ensemble des
méthodes et techniques
rationnelles orientées vers la
recherche de la meilleure façon
d'opérer des choix en vue d'aboutir
au résultat visé ou au meilleur
résultat possible.
http://fr.wikipedia.org/wiki/Recherche_op%C3%A9rationnelle
Objectifs du Cours

Ce cours vise à familiariser


l’étudiant(e) à la recherche
opérationnelle qui consiste à trouver
une solution optimale à un problème
de décision posé via une méthode
adéquate.
 Méthodes scientifiques pour résoudre des
problèmes d'optimisation liés aux organisations
du monde réel.
 Une discipline à la croisée des mathématiques et
de l'informatique
• Prolongement de l'algorithmique *
• Manipulant des structures plus élaborées :
graphes ...
• Domaine d'application de la théorie de la
complexité algorithmique.
 Une boite à outils de méthodes, tant positives
que négatives, pour aborder sainement et
sereinement les problèmes d'optimisation.

*Un algorithme est une suite finie et non-ambiguë d’opérations ou d’instructions permettant
de résoudre un problème.
Problèmes de Prise de décision
l’entreprise

Formulation des modèles mathématiques


(Modélisation)

Traitement des problèmes


(Optimisation)

Interpretations
5
Voyageur de commerce

Un voyageur de commerce, basé à Rabat, doit


visiter ses clients à travers le Maroc, et il
souhaite effectuer la tournée la plus courte
possible.
Instance : n villes avec une matrice de
distances.
Solution : Tournée visitant chaque ville et
revenant au point de départ à Rabat.

6
Domaines d'application

• Conception, configuration et exploitation


de systèmes techniques complexes
(réseaux de communication, systèmes
d'information),
• Gestion de la chaîne logistique.

7
Exemple : La chaîne logistique
Définition 2 :
La fonction logistique de l’entreprise est
d’assurer au moindre coût la coordination
entre l’offre et la demande.
Plus précisément, la logistique “c’est
l’organisation de ce qu’il faut faire depuis
la commande jusqu’à la livraison au client
d’un bien ou service ”.

8
Production :
Maximiser le profit selon la disponibilité de la main
d'œuvre, la demande du marche, la capacité de
production, le prix de revient du matériau brut. . .
Transport :
Minimiser, à titre d’exemple, la distance totale
parcourue selon les quantités de matériaux à
transporter, la capacité des transporteurs, les points de
ravitaillement en carburant. . .

Stock
Le succès d’une organisation est déterminé, entre
autres, par un stockage intelligent.
9
Optimisation

Minimisation
Maximisation

•Les coûts
Profit •Les délais d’exécution (de
production)

Fonction économique (ou fonction objectif)


Soumise à des conditions (Contraintes).

10
Méthodes

Graphiques Algorithmiques

Inconvenient: Algorithme de
Valable en dim 2 Informatique
SIMPLEXE
uniquement

Programmation Logiciels de
Inconvenient:
informatique la R.O.
beaucoup de
calcul
•LINDO.
•Ms-Project
•STORM11
Bibliographie :
« Précis de recherche opérationnelle Méthodes et exercices
d'application » Robert Faure, Bernard Lemaire, Christophe Picouleau
Collection: Sciences Sup, Dunod 2009 - 6ème édition.
 « Exercices Et Problèmes Résolus De Recherche Opérationnelle »
- Tome 3, dunod 2000. roseaux.
 « Recherche opérationnelle de gestion » Azoulay. Tome 1, Dunod
1996
 « Programmation linéaire par l’exemple » Droesbeke, Hallin et
Lelievre ellipses 1986
 « Techniques et application de la recherche opérationnelle » Alain
martel. Gaëtan Morin - 1979
 « Programmes, Jeux Et Réseaux De Transport » Claude Berge,
Dunod - 1962
« Invitation à la recherche opérationnelle » Kauffman-Faure Dunod,
 « Exercices de recherche opérationnelle » Desbazeille Dunod,
 « Outils mathématiques de gestion », Thierry Bertrand Édition
Bertrand-Lacoste
 …….
 …….
Chapitre I :
La programmation linéaire

Chapitre II :
La théorie des graphes
Chapitre I :
La programmation linéaire

• 1. Concepts fondamentaux
• 2. Résolution graphique
• 3. Résolution par l’algorithme de simplexe
• 4. Dualité
• 5. Applications économiques

14
Exemple introductif : Une usine peut produire cinq
produits (notés PROD1 à PROD5). La marge bénéficiaire
unitaire est donnée pour chacun des produits au tableau 1.1.

Chaque produit nécessite le passage par trois étapes de


fabrication. Les temps requis à chaque étape sont donnés
en heures pour chaque produit au tableau 1.2.
Enfin, il faut tenir compte des ressources en
facteurs disponibles données au tableau 1.3.

La question que se pose le gestionnaire de


l’usine est la suivante:

Quelles sont les quantités à fabriquer de chaque


produit pour maximiser le profit net ?
La programmation linéaire

Moyen pour mieux


comprendre la réalité utilisée
pour représenter les propriétés
fondamentales d’un
phénomène version idéale et
épurée.

Modèle
Problème réel formulation mathématique Algorithme solution

Programmation
linéaire
Construction d’un PL

La construction d’un modèle est, en général, une opération


en trois étapes :

1. - Le choix des variables de décision,

2. - L’expression de l’objectif en fonction de ces


variables,

3. - L’expression des contraintes en fonction de ces


variables.
La deuxième étape
• La deuxième étape consiste en la formulation de
l’objectif °.
• Ici, il s’agit de la somme des contributions de chacune
des productions au profit net de l’usine. Elle s’exprime
simplement par :

°L’objectif est la quantité que l’on veut minimiser ou maximiser.


La troisième étape
La formulation des contraintes *.
Ici, il y a trois contraintes générales :
La première concerne la limite d’utilisation des machines à
l’étape 1. Il y a trois machines, utilisées en deux pauses de huit
heures et ceci au maximum six jours par semaine, ce qui
donne un nombre maximum d’heures par semaine :
288 heures
disponibles.

* Les contraintes sont toutes les relations entre les variables qui limitent les valeurs possibles que peuvent prendre ces
variables.
• Une unité de produit 1 demande 12 heures sur machine
à l’étape 1. Si x 1 unités de produit 1 sont produites par
semaine, cela demande 12 x 1 heures sur la machine 1.
Par un raisonnement semblable pour les autres
produits, on obtient finalement la contrainte :
• La deuxième contrainte concerne la limite
d’utilisation des machines à la deuxième étape.

Le nombre maximum d’heures d’utilisation vaut :

et la contrainte s’exprime donc comme suit :


• La troisième contrainte concerne la limite
d’utilisation du personnel à la troisième étape.

• Et donc la contrainte s’exprime comme :

• Enfin, il ne faut pas oublier les contraintes dites de signe, à


savoir que nous ne pouvons pas produire des quantités
négatives:
Enfin, généralement on conclut l’étape de construction du
modèle, en regroupant l’objectif et les contraintes. On
obtient le programme mathématique linéaire suivant :
Exemple nº1: Problème du restaurateur
• Un restaurateur dispose de trois types de fruits de
mer : 30 oursins, 24 crevettes et 18 huîtres.
• Le restaurateur veut préparer deux types d’assièttes:
– Assiettes à 8 Dhs composés de 5 oursins, 2
crevettes et 1 huître.
– Assiettes à 6 Dhs composés de 3 oursins, 3
crevettes et 3 huîtres.
• Combien d’assiettes de chaque type doit-il préparer
pour maximiser son revenu? 25
Exemple nº2
• Un constructeur automobile fabrique trois modèles
d’automobiles ; chaque modèle passe par deux
ateliers. Le premier atelier (emboutissage, montage)
dispose d’un maximum de 350 heures et le second
(peinture, finition) d’un maximum de 400 heures.
• La fabrication du premier modèle nécessite 10
heures dans le premier atelier et 14 heures dans le
second ; la fabrication du 2ème modèle nécessite
12 heures dans le premier atelier et 9 heures dans le
second et celle du 3ème modèle nécessite 13 heures
dans le premier atelier et 11 heures dans le second.
26
• Les marges unitaires des trois modèles
fabriqués sont respectivement 10000,
12000 et 15000 DH.
• Le constructeur souhaite déterminer le
nombre d’automobiles de chaque modèle
qu’il faudrait fabriquer pour maximiser
son revenu.
• Donner le modèle mathématique de
ce problème sous forme d’un
programme linéaire.
27
Exemple nº3
• Une entreprise s’adonne à la production de
tables et de chaises. Le coût de production de
chaque table est de 30DH et celui de chaque
chaise est de 20DH. Le marché de vente peut
absorber une production d’au plus 3 tables et 4
chaises par jour.
• De plus le nombre total de tables et de chaises
vendues ne peut excéder 5 unités par jour. Une
fois que l’assemblage est complété, chaque table
requiert 2 heures de séchage et chaque chaise
requiert 1 heure de séchage pour permettre à la
colle de se fixer. 28
• L’appartement où se fait le séchage ne peut
contenir qu’une seule item à la fois. De plus,
pour des raisons économiques on exige que
l’appartement soit utilisé au moins 5 heures par
jour.
• L’empaquetage d’une table requiert 2 opérations
et celle d’une chaise requiert 4 opérations sur
une machine. Pour des raisons économiques de
mise au point de la machine on exige que le
nombre total d’opérations exécutées soit au
moins égal à 8 par jour.
29
• L’entreprise désire déterminer le nombre de
tables et de chaises à produire par jour pour
minimiser le coût total.
• Formuler ce problème sous forme d’un
problème de programmation linéaire.

30
Résolution d’un programme linéaire
• Selon la nature du PL, il peut être résolu de
manières différentes à savoir :
 Représentation graphique (ou méthodes des droites
parallèles) c’est une représentation géométrique plane dans le
cas de deux variables

 Recensement des sommets de la région admissible


cette méthode est possible tant que le nombre des sommets
n’est pas assez grand, c’est-à-dire, le nombre des variables et
des contraintes reste très limité. On prend le sommet qui
optimise la fonction objectif.

 Algorithme de simplexe (ou méthode de Dantzig)


cet algorithme est recommandé lorsque le nombre de variables
est quelconque. On distingue deux méthodes : méthode
algébrique ou méthode des tableaux
Résolution graphique: méthodes des droites
parallèles
• Cas d’un problème à deux variables de
décision
• (représentation en géométrie plane)

 Fonction objectif : Droite dans R²

 Contraintes : Demi-plans dans R²

 Contraintes de non négativité : cadran positif

 Région admissible : Intersection des demi-plans de


R2
Représentation graphique
•Équation cartésienne d’une droite (D):

• ax  by  c  0 (a, b)  (0,0)

•Si a  0 alors y   c b est une droite horizontale passant par 0,  c b


•Si b  0 alors x   c a est une droite verticale passant par  c a ,0
•Si c  0 alors la droite (D) passe par l’origine

•Équation réduite de la droite (D) : si a  0 et b  0 alors

• y  mx  p m0
•avec, m   a b et p   c b
•m est le coefficient directeur de (D)
• * Soit la droite (D) : 2x  3 y  6  0
• u  (3,2) est un vecteur directeur de (D).
•* Pour construire cette droite, il suffit de connaître deux points :
• « Par deux points on ne fait passer qu’une droite et une seule »
•* Déterminons, x 0 3
- la droite x  1 y 2 0
• - la droite y  2

y y x 1
(D)

A
2 2
1

-3 0 3 x 0 1 3 x

y  2
• Soit la droite (D) d’équation :
ax  by  c  0 a, b  0,0
•Alors, les demi-plans de frontière (D) sont :
•L’ensemble des points de coordonnées (x,y) telles que :
ax  by  c  0
•L’ensemble des points de coordonnées (x,y) telles que :
ax  by  c  0
• Exemple : Résoudre graphiquement2 x  3 y  6  0

y
• Remarquons que pour l’origine :

2(0)  3(0)  6  0
• 2 Donc le demi plan ne contient
pas l’origine
0 3 x
Région admissible (ou faisable
ou possible)
Région limitée par l’ensemble des
équations de contraintes du
Contrainte de non négativité

problème et par les limites des


x2 variables de décision
Il existe 3 types de points admissibles

Point intérieur

Point frontière

Point extrême

Contrainte de non négativité


x1
polyèdre
Région admissible vide
minimiser z  x1  2 x2
x2 x1=8
sujet à
1
 2 x1  x2 8
 x  8 x2  40
8
 1
 x1 8

6
 x1, x2 0
-x1+8x2=40
4

x1
2 4 6 8 10 12 14 16 18
Région admissible bornée
x2

x1
Région admissible non bornée

x2

x1
Solution optimale
une solution une infinité de pas de solution
optimale unique solutions optimales optimale finie
x2 x2 x2

x1 x1 x1
Exemple 1
Région admissible bornée :
une solution optimale unique

x2 maximiser z  x1  2 x2
A (2,6) est l’unique sujet à
solution optimale
8
 2 x1  x2 4
Zmax=14  x
A  x2 8
6
 1
 x1  x2  4
 x 5
4  1
 x1, x2 0

x1
2 5 8
Exemple 2
Région admissible bornée :
une infinité de solutions optimales

x2 maximiser z  2 x1  2 x2
sujet à
8
 2 x1  x2 4
Une infinité de  x  x2 8
solutions optimales  1
 x1  x2 4
 x 5
4  1
 x1, x2 0

x1
2 5 8
Exemple 3
Région admissible non bornée :
pas de solutions optimales finies
maximiser z  x1  x2
sujet à
x2 x1=8
1
 2 x1  x2  8
 x  8 x2  40
 1
 x1  8
8

 x1 , x2  0
6

-x1+8x2=40 Pas de solutions


optimales
4

x1
2 4 6 8 10 12 14 16 18
Exemple 4
Région admissible non bornée :
une solution optimale unique
minimiser w  x1  x2
sujet à
x2 x1=8
B(8,6) est l’unique 1
 2 x1  x2 8
solution optimale  x  8x  40
 1 2
wmin=2  x1 8
8

 x1, x2 0
B
6

-x1+8x2=40
4

x1
2 4 6 8 10 12 14 16 18
Exemple 5
Région admissible non bornée :
une infinité de solutions optimales
x2 mi z  x1  1 / 2 x2
12 sujet à
 x1  x2 8
10  x  8 x  40
 1 2

8  2 x1  x2  12
 x1, x2 0
6
Une infinité de
-x1+8x2=40
4 solutions optimales

x1
2 4 6 8 10 12 14 16 18
Chapitre 2:

Méthode du
Simplexe:
52
1. Introduction :
• L’algorithme de simplexe a servi, depuis
1949(*), à la résolution de nombreux modèles
linéaires relatifs à des problèmes de gestion, de
transport, d’affectation…
• Aujourd’hui, grâce à la puissance des
ordinateurs modernes et au perfectionnement
des procédés de calculs utilisés par cet
algorithme, on peut résoudre des modèles qui
comportent des milliers de contraintes et des
dizaines de milliers de variables. 53
Exemple
• Une usine fabrique 2 pièces P1 et P2 produites dans 2 ateliers A1
et A2
• Les temps d'usinage sont :
 pour P1 : de 3 heures dans l'atelier A1 et de 6 heures dans A2

 pour P2 : de 4 heures dans l'atelier A1 et de 3 heures dans A2


 Le temps de disponibilité hebdomadaire de l'atelier A1 est de
160 heures et celui de l'atelier A2 de 180 heures.
 La marge bénéficiaire est de 1200 dhs pour une pièce P1 et
1000 dhs pour une pièce P2.

 Problème : Quelle production de chaque type doit-on fabriquer


pour maximiser la marge hebdomadaire ?
Modélisation mathématique de l’énoncé 6
 Variables économiques ou de décision :
x1 = quantité de pièces P1 à fabriquer
x2 = quantité de pièces P2 à fabriquer
 la forme canonique La forme standard

max z  1200 x1  1000 x2 max z  1200 x1  1000 x2  0e1  0e2


sc sc
3x1  4 x2  160 3x1  4 x2  e1  0  160
 
6 x1  3x2  180 6 x1  3x2  0  e2  180
x , x  0 x , x ,
 1 2 1 2 e1 , e2  0
•Tableau initial Second membre des
contraintes max z  1200 x1  1000 x2  0e1  0e2
Variables Hors Base
sc
Variables de décision Variables d’écart
3 x1  4 x2  e1  0  160
x1 x2 e1 e2 b 
HB  3 x2  0une solution
6 xDéterminons e2  180
de base
Variables de Base

B 1
 x admissible initialee2:  0
e1 3 4 1 0 160  1 , x2 , e1 ,
On attribue une valeur nulle à la
e2 6 3 0 1 180 marge globale : les variables Hors
Base (HB) sont nulles x1=0 et x2 =0,
c’est la solution de base admissible
-z 1200 1000 0 0 0
de départ
coefficients Coefficients de la valeur de la on fabrique 0 pièces P1 et 0
fonction économique
techniques fonction économique pièces P2 : aucun intérêt pratique
Les valeurs des variables dans la
La solution de base admissible initiale est : Base (B) sont données par :
(x1, x2 ,e1 ,e2) = (0, 0, 160, 180)
 e1  160  3x1  4 x2  160
La dernière cellule donne la valeur de –z. Donc la 
e2  180  6 x1  3x2  180
marge z =0. en effet : z  1200 x1  1000 x2  0
Elles se lisent dans la colonne b
La solution n’est pas optimale. On recherche donc
une solution de base meilleure : autre itération. e1 = 160 et e2 = 180
La dernière ligne donne les valeurs marginales (ou
il reste 160 h d'utilisation
taux de substitution) des variables hors base possible de A1 et 180 h de A2
x1 x2 e1 e2 b R
Déterminons une autre e1 3 4 1 0 160 160/3
solution de base e2 6 3 0 1 180 180/6
admissible
-z 1200 1000 0 0 0
La solution de base admissible initiale est (x1,x2,e1,e2)=(0,0,160,180) avec z =
0
La dernière ligne donne les valeurs marginales ou taux de substitution :
•Si x1 = 1, x2 = 0, e1 = 160, e2 =180 alors, z = 1200 dhs
•une augmentation de 1 unité de x1 ferait croître la fonction objectif de 1200
dhs,
•Si x1 = 0, x2 = 1, e1 = 160, e2 =180 alors, z = 1000 dhs
•une augmentation de 1 unité de x2 ferait croître la fonction objectif de 1000
dhs.
 On a intérêt à augmenter la valeur de la fonction objectif le plus rapidement possible
donc à augmenter la variable ayant le plus grand coefficient strictement positif (cas
de maximisation) de la dernière ligne : x1 variable entrante dans la base
Supposons x1 augmente et x2 = 0, alors 6 x1  3x2  e2  180  x1  30
z  1200 x1  1000 x2  1200  30  36000
 On a intérêt à prendre le maximum de x1 (les variables hors base restant nulles) :
x1=30. La deuxième contrainte sera saturée e2=0 : e2 variable sortante de (B).
 z = 36000 dhs, en effet :
On augmente la fonction objective en faisant entrer une variable dans la base
prenant la place d'une variable qui va sortir de la base.
Critère de sélection
Variable entrante dans (B) Variable sortante de (B)

on exprime la fonction objectif en fonction des On effectue le rapport des seconds membres
seules variables hors base et on choisit la variable des contraintes aux coefficients strictement
pondérée par le cœfficient le plus élevé strictement positifs correspondants de la variable entrante
positif : on sélectionne la variable HB ayant le plus : on sélectionne la variable de la base ayant le
grand coefficient strictement positif dans la plus petit rapport positif dans la colonne R
dernière ligne
Le rapport des coefficients de la colonne C par les
Règle
coefficients strictement positifs de la colonne de la variable
Le pivot doit être égal à 1
entrante dans la base (x1)
Les coefficients de la ligne du
pivot sont divisés par le pivot
Le pivot est égal à 6

Ligne de pivot
e2 sortant dans la base
 Les coefficients de la colonne
du pivot (sauf le pivot) sont nuls
HB
xx11
B x2 e1 e2 b R Les autres coefficients sont
e1 30 5/2
4 1 -1/2
0 70
160 160/3 obtenus par la règle du rectangle
e2 161 1/2
3 00 1/6
1 30
180 180/6
pivot Lpivot
-z 0
1200 1000
400 00 0
-200 0
-36000


x1 entrant de la base 
Colonne de pivot Cpivot Av
Nv : nouvelle valeur Av : ancienne valeur
Nv  Av  (Cpivot  Pivot )  Lpivot
Cpivot : colonne pivot Lpivot : ligne pivot
Les variables hors base sont nulles :
HB x1 x2 e1 e2 b R
B
e1 3 4 1 0 160 160/3 x2 = 0, e2 = 0
e2 6 3 0 1 180 30
on fabrique 0 pièces P2 et il reste
0 h d'utilisation disponible à A2
-z 1200 1000 0 0 0
La contrainte associée à e2 est
Tableau 1
saturée.
B HB x1 x2 e1 e2 b
La nouvelle solution de base réalisable
e1 0 5/2 1 -1/2 70
x1 1 1/2 0 1/6 30 est : (x1, x2, e1, e2) = (30, 0, 70, 0)
-z 0 400 0 -200 -36000  on fabrique 30 P1 et il reste 70h
d'utilisation disponibles à A1
La dernière ligne donne les valeurs marginales :
 180  e2  3x2 
z  1200   1000 x2  36000  200e2  400 x2 la marge est égale à z =36 000 dhs
 6 
•Une augmentation de 1 unité de x2 ,ici on augmente la production de 1 pièce de P2, ferait
croître la fonction objectif de 400 dhs, et une augmentation de 1 unité de la variable d’écart
e2 (c- à –d, diminution du second membre de l'équation correspondante de 1 unité, ici on
diminue la disponibilité de 1 h à A2) ferait diminuer la fonction objectif de 200 dhs
 On a intérêt a augmenter x2 : x2 variable entrante dans la base
e1  70  5 2 x2  0  x  28
  2  x2  28
 x1  30  1 2 x2  0  x2  60
 e1 est la variable sortante de la base
x1 x2 e1 e2 b R Les variables hors base sont nulles
e1 0 5/2 1 -1/2 70 28 (Les contraintes associées sont
x1 1 1/2 0 1/6 30 60
saturées) : e1=0 et e2=0
il reste 0 h d'utilisation
•Tableau -zfinal
0 400 0 -200 -36000
disponible aux ateliers A1 et A2
x1 x2 e1 e2 b
x2 0 1 2/5 -1/5 28 La nouvelle solution de base réalisable
x1 1 0 -1/5 4/15 16
est : (x1, x2, e1, e2) = (16, 28, 0, 0)
-z 0 0 -160 -120 -47200
on fabrique 16 pièces P1 et 28
pièces de P2

 Pour augmenter e1 d’une unité, il faut : Et la marge est égale à 47 200 dhs
• diminuer x2 de 2/5
• diminuer x1 de (-1/5)
La variation correspondante de la fonction économique : -(-1/5) 1200-(2/5) 1000 = -160
D’où, augmenter e1 d’une unité diminuerait la fonction objectif de 160 dhs
 Pour augmenter e2 d’une unité, il faut :
• diminuer x2 de (-1/5)
• diminuer x1 de 4/15
La variation correspondante de la fonction économique :
-(4/15) 1200-(-1/5) 1000 = -120
D’où, augmenter e2 d’une unité diminuerait la fonction objectif de 120 dhs
On retrouve ainsi la solution optimale de la résolution graphique.
Interprétation graphique de la
méthode du simplexe
A = (0,0) et z = 0 dhs

B = (30,0) et z =36 000 dhs


60

50
C = (16,28) et z = 47 200 dhs
40

30 C

20
Donc C est l’unique solution optimale et

10 zmax = 47 200 dhs


B

A 10 20 30 40 50 60
Critères d'arrêt des itérations de la méthode du simplexe lors
de la résolution d’un problème de maximisation
Si tous les coefficients de la dernière ligne, relatifs aux variables HB, sont négatifs ou nuls,
l’algorithme s’arrête et la solution trouvée est optimale.

x1 x2 e1 e2 b
x2 0 1 2 -1 20
x1 1 0 -1 2,5 6
-z 0 0 -160 -80 -40

S'il existe une variable HB (non artificielle) ayant un coefficient positif dans la dernière ligne et
telle que tous les coefficients correspondants dans le tableau soient nuls ou négatifs, alors la
solution est infinie
x1 x2 e1 e2 b
e1 0 -2 1 -1 20
x1 1 0 0 2,5 3
-z 0 16 0 -3 -32
•Si, à la fin des itérations, une variable est HB avec un coefficient nul dans la dernière ligne, alors
on a une arête (plan …) optimale. Les autres sommets solutions sont obtenus en faisant rentrer
cette variable dans la base. x x e e b
1 2 1 2

x2 0 1 2/5 -1/5 28
x1 1 0 -1/5 4/15 16
-z 0 0 0 -120 -47200
Exercice 7
déjà traité par la méthode graphique et par le solveur d’Excel

• Un raffineur dispose de deux bruts pour fabriquer de l’essence,


du gazole et du fuel lourd.
Les rendements de ces deux bruts sont les suivants :

Brut A B
Essence 0,2 0,4
Gazole 0,4 0,2
Fuel lourd 0,4 0,4
Le traitement d’une tonne de brut A procure une recette de 140 UM Le
traitement d’une tonne de brut B procure une recette de 150 UM
Du fait des contraintes de stockage, la fabrication de chaque produit est
limitée de la manière suivante : Essence : 1 200 t, Gazole : 1 200 t, Fuel
lourd : 1 400 t.
Quelles quantités de ces pétroles bruts devra t-on traiter pour maximiser
la recette ?
Modélisation mathématique
 Variables économiques ou de décision :
x1 = quantité de brut A à traiter
x2 = quantité de brut B à traiter
 La forme standard la forme canonique

max z  140 x1  150 x2 max z  140 x1  150 x2  0e1  0e2  0e3


sc sc
0.2 x1  0.4 x2  1200 0.2 x1  0.4 x2  e1 0 0  1200
 0.4 x  0.2 x  0
0.4 x1  0.2 x2  1200  e2  0  1200

0.4 x
1 2
  0.4 x2  1400 
0.4 x1  0.4 x2  0  0  e3  1400
1

x1  0, x2  0  x1 , x2 , e1 , e2 , e3  0

Signification économique de ces variables d’écart :

• Il s'agit de la capacité de stockage de l’essence, gazole et fuel lourd


Résolution par la méthode de simplexe
Tableau intermédiaire

x1 x22 e1 e2 e3 b
e1 0,5
0,2 1
0,4 2,5
1 0
0 0
0 3000
1200
e2 0,3
0,4 0
0,2 -0,5
0 1 0 600
1200
e3 0,2
0,4 0
0,4 -1
0 0
0 1
1 200
1400
-z 65
140 0
150 -375
0 0
0 0
0 -450000
0

x1 x2 e1 e2 e3 b
Tableau final

x2 0 1 5 0 -2,5 2500

e2 0 0 1 1 -1,5 300

x1 1 0 -5 0 5 1000

-z 0 0 -50 0 -325 -515000


Analyse de la solution optimale
x1 , x2   1000 , 2500
BRUT A BRUT B
Rendem Quantité Rendem Quantité TOTAL
ent ent
Essence 0.2 200 0.4 1000 1200
Gazole 0.4 400 0.2 500 900
Fuel 0.4 400 0.4 1000 1400
lourd
Brut
Total Production
1 effective
1000 Production
1 maximum
2500 Écart
3500
Essence 1200 1200 0
Gazole 900 1200 300
Fuel lourd 1400 1400 0
Recherche d’un minimum : passage au
programme dual
• Faute du choix de la solution de base admissible de départ, la

recherche du minimum d’un programme linéaire avec des contraintes de

supériorité n’est pas facile. La méthode classique mais délicate

consiste à rajouter en plus des variables d’écart des variables

artificielles. Cependant, la méthode utilisant la notion de dualité est

astucieuse.

• De point de vu mathématique, la dualité nous permet de résoudre ce

type de problème et nous apporte des interprétions économiques

intéressantes
Passage du programme primal au programme
dual et interprétation économique du dual

• A tout programme linéaire primal correspond un programme linéaire dual
max z  c1 x1  c2 x2    cn xn
a11x1  a12 x2    a1n xn  b1 min w  b1 y1  b2 y2    bm ym
a x  a x    a x  b


21 1 22 2 2n n 2
a11 y1  a21 y2    am1 ym  c1
sc  a y  a y    a y  c
a x  a x    a x  b 

12 1 22 2 m2 m 2

 m1 1 m2 2 mn n m sc 

 1 2
x , x ,  , x n  0 a y  a y    a y  c
 1n 1 2n 2 mn m n

 y1 , y2 ,  , ym  0

 On associe à chacune des contraintes du primal une nouvelle variable yi (i = 1,…,m)


dite variable duale et c’est une inconnue du programme dual. Celui-ci comporte
autant d’inconnues que le primal a des contraintes ;
 Le problème de maximisation devient un problème de minimisation ;
 La fonction objectif du dual est une fonction linéaire dont les coefficients sont
donnés par les facteurs disponibles bi (i = 1,…,m) ;
 Les inégalités deviennent des inégalités  ;
 à chaque variable xj (j = 1,…,n) du primal correspond une contrainte du dual ; ces
contraintes sont obtenues à partir de la matrice transposée des contraintes du
primal ;
 le terme constant de la contrainte j étant donné par le cœfficient cj de la fonction
objectif du primal ;
 ….
Théorème de dualité
• A l'optimum, le primal et le dual sont liés par les
règles suivantes :
Primal Dual

La valeur optimale de la fonction objectif z = La valeur optimale de la fonction objectif w

le taux marginal de substitution d’une = à l’opposé de la valeur optimale de la


variable hors base variable de base associée

la valeur optimale d’une variable de base = à l’opposé du taux marginal de substitution


de la variable hors base associée

la iième contrainte est non saturée la valeur optimale de la variable


correspondante est nulle yi = 0

la iième contrainte correspondante est la valeur optimale d‘une variable yi > 0


saturée

la valeur optimale d’une variable xj > 0 la jième contrainte correspondante est


saturée

la valeur optimale de la variable la jième contrainte est non saturée


correspondante xj = 0
Passage du tableau final du primal au tableau
final du dual et vice versa
Primal Dual

La variable de décision xj en base (xj > 0) La variable d’écart tj hors base (tj = 0)

La variable xj de décision hors base (xj = 0) La variable d’écart tj en base (tj > 0)

La variable d’écart ei en base (ei > 0) La variable de décision yi hors base (yi = 0)

La variable d’écart ei hors base (ei = 0) La variable de décision yi en base (yi > 0)

Signe
Ligne xj en base Colonne tj hors base
opposé
Signe
Ligne ei en base Colonne yi hors base
opposé
Signe
Colonne xj hors base Ligne tj en base
opposé
Signe
Colonne ei hors base Ligne yi en base
opposé
Signe
Colonne second membre Taux marginaux de substitution
opposé
Taux marginaux de substitution des Signe Colonne second membre des variables de
variables hors base opposé base associées
Exercice 6: déjà traité
Problème de maximisation - Problème Primal
•Une usine fabrique 2 pièces P1 et P2 usinées dans deux ateliers A1 et A2 . Les temps
d'usinage sont :
 pour P1 : de 3 heures dans l'atelier A1 et de 6 heures dans A2

 pour P2 : de 4 heures dans l'atelier A1 et de 3 heures dans A2


Le temps de disponibilité hebdomadaire de l'atelier A1 est de 160 heures et celui de
l'atelier A2 de 180 heures. Les marges bénéficiaires unitaires : 1200 dhs pour P1 et
1000 dhs pour P2.
Quelle production de chaque type doit-on fabriquer pour maximiser la marge
hebdomadaire ?
x1 : quantité de pièces P1 à fabriquer par semaine max z  1200 x1  1000 x2
x2 : quantité de pièces P2 à fabriquer par semaine sc
La résolution par le simplexe a donné:
3 x1  4 x2  160
En fabriquant chaque semaine 16 pièces de P1 
6 x1  3 x2  180
(x1 = 16) et 28 pièces de P2 (x2 = 28), l’usine x ,
 1 x2  0
réalisera un bénéfice de 47 200 dhs
Problème de minimisation associé -
Problème dual
• Une usine fabrique 2 pièces P1 et P2 usinées dans deux ateliers A1 et A2.
Les temps d'usinage sont :
 pour P1 : de 3 heures dans l'atelier A1 et de 6 heures dans A2
 pour P2 : de 4 heures dans l'atelier A1 et de 3 heures dans A2
 Le temps de disponibilité hebdomadaire de l'atelier A1 est de 160 heures
et celui de l'atelier A2 de 180 heures.
• L’usine facture, au moins, 1200 dhs pour une pièce P1 et 1000 dhs pour
une pièce P2. L’usine cherchera à minimiser le montant de la facturation
correspondant à l’utilisation totale de la capacité hebdomadaire de chaque atelier.
• y1 : prix horaire de l’Atelier A1 (en dhs) min w  160 y1  180 y2
• y2 : prix horaire de l’Atelier A2 (en dhs)
3 y1  6 y2  1200
•La résolution par le simplexe a donné : 
•En fixant un tarif horaire de 160 dhs (y1 = 160) pour
sc 4 y1  3 y2  1000
y , y  0
•l’Atelier A1 et de 120 dhs (y2 = 120) pour l’Atelier A2,  1 2
•l’usine épuisera toutes les disponibilités horaires
•hebdomadaires des deux Ateliers avec une facture de 47 200 dhs
•Programme Primal • Programme Dual
• max z  1200 x1  1000 x2 min w  160 y1  180 y2
3 x1  4 x2  160 3 y1  6 y2  1200
 
sc 6 x1  3 x2  180 sc 4 y1  3 y2  1000
x , x  0 y , y  0
 1 2  1 2

Primal : écriture en colonne

y1 y2 max
x1 3 6  1200
x2 4 3  1000
Dual : écriture en ligne
 
min 160 180
max z  1200 x1  1000 x2  0e1  0e2 min w  160 y1  180 y2
3x1 Résolution
4 x2  e1  0  160 3 y1  6 y2  1200
 
sc 6 x1  3x2 par
 0  e2  180 sc 4 y1  3 y2  1000
x ,  0 y ,  0
 1 x2 , e1 ,
simplexe e2  1 y2
•Tableau final du programme primal
HB
x1 x2 e1 e2 b
B
Interprétation : A l’optimum,
x2 0 1 2/5 -1/5 28
La variable de base x1 = 16 donc le taux marginal de
x1 1 0 -1/5 4/15 16
substitution de la variable d’écart t1 est égal à -16 et la
-z 0 0 -160 -120 -47200
valeur de t1 est nulle (t1 hors base)
La variable de base x2 = 28 donc le taux de substitution
•Tableau final du programme dual de la variable d’écart t2 est égal à -28 et la valeur de t2
est nulle (t2 hors base)
HB
y1 y2 t1 t2 b
B Le taux marginal de substitution de la variable d’écart
y2 0 1
-
1/5 120 hors base e1 est égal à -160 donc la variable de base
4/15
y1 = 160
y1 1 0 1/5 -2/5 160
Le taux marginal de substitution de la variable hors base
-w 0 0 -16 -28 -47200
e2 est égal à -120 donc la variable de base y2 = 120
Les deux contraintes du dual sont saturées, donc les
•A l’optimum, on a : deux valeurs optimales du dual sont non nulles, ainsi, les
 z = w = 47200 dhs contraintes du primal correspondantes sont saturées.
 (x1 , x2) = (16 , 28)
 (y1 , y2) = (160 , 120)
Exercice 4: déjà traité
Problème de maximisation - Problème Primal

•Un raffineur dispose de deux bruts pour fabriquer de Brut A B


l’essence, du gazole et du fuel lourd. Les rendements
de ces deux bruts sont les suivants : Essence 0,2 0,4
•Le traitement d’une tonne de brut A procure une
recette de 140 (UM). Le traitement d’une tonne de brut Gazole 0,4 0,2
B procure une recette de 150 (UM).
Fuel lourd 0,4 0,4
Du fait des contraintes de stockage, la fabrication de chaque produit est limitée de la manière
suivante : Essence : 1 200 t, Gazole : 1 200 t, Fuel lourd : 1 400 t.

Quelles quantités des pétroles Bruts devra t-on traiter pour maximiser la recette ?
x1 : quantité de brut A à traiter
x2 : quantité de brut B à traiter

La résolution par la méthode du max z  140 x1  150 x2

simplexe a donné: 0.2 x1  0.4 x2  1200


0.4 x  0.2 x2  1200
En traitant 1000 t du Brut A (x1 = 1000) et 2500 t du Brut
 1
sc 
B (x2 = 2500) le raffineur réalisera une recette de 515 000 0.4 x1  0.4 x2  1400
(UM) 
 x1  0, x2  0
Problème de minimisation associé - Problème dual

• Le problème est de fixer les prix des produits : Un client cherchera à

minimiser le coût d’achat de l’ensemble des produits. Le raffineur

n’acceptera de vendre les produits que si la recette obtenue de cette

vente est au moins égale au bénéfice qu’il obtient en traitant les bruts.
• Mise en équation :
min w  1200 y1  1200 y2  1400 y3
• y1 : prix de l’essence (en UM) 0.2 y1  0.4 y2  0.4 y3  140
• 
y2 : prix du gazole (en UM)
sc 0.4 y1  0.2 y2  0.4 y3  150
• y3 : prix du fuel lourd (en UM)
y , y , y  0
 1 2 3

• La résolution par le Simplexe a donné:


• y1 = 50 (UM), y2 = 0 (UM), y3 = 350 (UM) et w = 515 000 (UM)
.- Problème dual et le tableau final du dual

max Z  1000 x1  1200 x2


10 x1  5 x2  200
2 x1  3x2  60

sc  x1  34
 x  14
 2
 x1 , x2 , x3  0
.- Problème dual et le tableau final du dual

min w  1200 y1  1200 y2  1400 y3


0.2 y1  0.4 y2  0.4 y3  140

sc 0.4 y1  0.2 y2  0.4 y3  150
y , y , y  0
 1 2 3
•Programme Primal • Programme Dual
• max z  140 x1  150 x2
0.2 x1  0.4 x2  1200 min w  1200 y1  1200 y2  1400 y3
0.4 x  0.2 x2  1200 0.2 y1  0.4 y2  0.4 y3  140


1
sc 
0.4 x1  0.4 x2  1400 sc 0.4 y1  0.2 y2  0.4 y3  150
 0 y , y , y  0
 x1 , x2  1 2 3

Primal : écriture en colonne

y1 y2 y3 max
Dual : écriture en ligne

x1 0.2 0.4 0.4  140


x2 0.4 0.2 0.4  150
  
min 1200 1200 1400
max z  140 x1  150 x2  0e1  0e2  0e3
min w  1200 y1  1200 y2  1400 y3
0.2 x1  Résolution
0.4 x2  e1  1200
0.2 y1  0.4 y2  0.4 y3  140
0.4 x  0.2 x  e  1200 
 1 2 par2 sc 0.4 y1  0.2 y2  0.4 y3  150
sc 
y , y , y  0
0.4 x1  0simplexe
.4 x2  e3  1400  1 2 3
 x1 , x2 , e1 , e2 , e3  0
•Tableau final du programme primal Interprétation : A l’optimum,
La variable de base x1 = 1000 donc le taux marginal
HB de substitution de la variable d’écart t1 est égal à
x1 x2 e1 e2 e3 b
B -1000 et la valeur de t1 est nulle (t1 hors base)
x2 0 1 5 0 -2,5 2500 La variable de base x2 = 2500 donc le taux de
e2 0 0 1 1 -1,5 300 substitution de la variable d’écart t2 est égal à
x1 1 0 -5 0 5 1000 -2500
-z 0 0 -50 0 -325 -515000 La variable d’écart de base e2 = 300 (correspondant
à la contrainte non saturée du primal) donc le taux
•Tableau final du programme dual marginal de substitution de la variable de décision
y2 est égal à -300 donc la valeur de y2 est nulle
BHB y1 y2 y3 t1 t2 b Le taux marginal de substitution de la variable
y3 0 1,5 1 -5 2,5 325 d’écart hors base e1 est égal à -50 donc la variable
y1 1 -1 0 5 -5 50 de base y1 = 50
-w 0 -300 0 -1000 -2500 -515000 Le taux marginal de substitution de la variable
d’écart hors base e3 est égal à -325 donc la
A l’optimum, on a : variable de base y3 = 325
z = w = 515000 dhs; (x1 , x2) = (1000 , 2500)
(y1 , y2 , y3) = (50 , 0 , 325)
y1 y2 y3 t1 t2 b
y3 0 1,5 1 -5 2,5 325
y1 1 -1 0 5 -5 50
-w 0 -300 0 -1000 -2500 --515000
 Pour augmenter d’une unité la valeur du brut A, il faut :
diminuer le prix de l’essence y1 de 5 ;
diminuer le prix du fuel lourd y3 de (-5).
La variation de revenu est donc : -1200(5) - 1400(-5) = 1000
Le coefficient de t1 dans la fonction économique est bien -1000.
 Pour augmenter d’une unité la valeur du brut B, il faut
diminuer le prix de l’essence y1 de (-5)
diminuer le prix du fuel lourd y3 de (2,5)
La variation de revenu est : -1200(-5) - 1400(2,5) = 2500
Le coefficient de t2 dans la fonction économique est bien -2500.
 Un accroissement d’une unité de y2 conduit à :
une diminution du prix de l’essence y1 de (-1) ;
une diminution du prix du fuel lourd y3 de 1,5.
la variation de revenu est : - 1200 (-1) + 1200 (1) - 1400 (1,5) = 300
Le coefficient de y2 dans la fonction économique est bien -300.
La théorie des graphes

Définitions et Applications
II- Méthodes graphiques d’optimisation
La gestion de projet revêt une importance vitale pour l’entreprise. Celle-ci est
appelée pour survivre, à faire des investissements qui nécessitent une
planification rigoureuse, de l’ordonnancement des activités et des coûts et des
charges,…

A- La planification
La planification permet de définir le plan directeur du projet qui décrit les
objectifs et la nature de l’organisation à mettre en place. Elle détermine avec
précision, tout ce qui doit être fait ( et comment et par qui) en respectant toutes
les contraintes liées au temps, aux coûts et à la qualité. Elle comporte 4
dimensions:

a- Une dimension structurelle qui consiste à fractionner le projet en activités (ou


taches élémentaires), à préciser le contenu exact de ces activités.
b- Une dimension opérationnelle qui consiste à déterminer la durée de
différentes activités, à définir l’agencement de ces activités et à établir un
calendrier prévisionnel de réalisation.
83
c- Une dimension organisationnelle qui consiste à choisir les intervenants et à
définir leur fonction et leur rôle respectifs dans la réalisation des activités
constituant le projet.
d- Une dimension budgétaire qui consiste à évaluer le coût de chaque activité et
les coûts indirects afférents au projet, à vérifier si le budget alloué est adéquat
et à le répartir entre les activités et les intervenants, à prévoir les mouvements
de trésorerie durant la réalisation du projet.

84
1- Méthode de GANTT (1918)

Elle consiste à déterminer la meilleure manière de


positionner les différentes tâches d’un projet à exécuter,
sur une période déterminée, en fonction des durées de
chacune des tâches, des contraintes d’antériorités existant
entre les tâches, des délais à respecter et la capacité de
traitement.
Exemple 1 : on veut ordonner les réalisations des 5 tâches
suivantes :
Tâche A : Durée 3 jours
Tâche B : Durée 6 jours
Tâche C : Durée 4 jours
Tâche D : Durée 7 jours
Tâche E : Durée 5 jours

Traçons le graphe de GANTT de ce projet en considérant les


liens entre les opérations :
B et D après la tâche A;
C après B;
E après D.
Le graphe de GANTT

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
A
B
C
D
E
Exemple 2 :
Une entreprise veut fabriquer un prototype de vélo
à moteur. Pour cela plusieurs activités sont
nécessaires selon le bureau méthode.
TAF : tracez le diagramme de GANTT sachant que
la fabrication du prototype doit commencer le 3
octobre.
Tâches Tâches Antérieures Durée en jours
A ---- 2
B ---- 1
C E;B;H 1
D C 2
E A 1
F E;B;H 2
G D;F 1
H ---- 3
3 Oct 4 Oct 5 Oct 6 Oct 7 Oct 8 Oct 9 Oct
A

B
Flottement
C
D
E
F
G
H

Le prototype sera achevé le 9 Octobre


Définition d’un graphe orienté
• Un graphe orienté G est un couple (X,A)
• où
• X : ensemble de sommets {x1,..., xn}
• A : ensemble de couples orientés (xi,xj) appelés arcs

• Pour un arc (xi,xj) d'origine xi et d'extrémité xj :

• le sommet xi est un précédent de xj,  x  P ( x )


x j  S  xi 
i j

• le sommet xj est un suivant de xi,


• Exemple :
X2 X4
X6
X1

X3
• X = {x1 , x2 , x3 , x4 , x5 , x6} X5

A={ (x1,x2), (x1,x3), (x2,x4), (x3,x2), (x3,x4), (x4,x5), (x4,x6), (x5,x6) }


Représentation d'un graphe
•Représentation sagittale :
X6
X2

X4
X1
X5

•Sommets •Précédents •Suivants


X3
•x •P(x) •S(x)
•Représentation par un dictionnaire :
•x1 •- •x2, x3

•x2 •x1, x3 •x4

•x3 •x1 •x2, x4

•x4 •x2, x3 •x5, x6

•x5 •x4 •x6

•x6 •x4, x5 •-
Détermination des niveaux des sommets d’un graphe
sans circuit
Dans un graphe sans circuit, le niveau d'un sommet x est la longueur du plus long
chemin ayant pour extrémité x
• No={sommets de niveau 0}
Sommets x Précédents P(x)
• ={sommets n’ayant pas de
précédents}
x1 -
x2 x1, x3 • ={x1}
x3 x1
x4 x2, x3 • Tous les sommets x1 sont barrés
x5 x4
x6 x4, x5 • Les sommets barrés sont considérés
• comme n’existants plus
Sommets x Précédents P(x)
x1 - • N1={sommets de niveau 1}
x2 x1, x3 • ={sommets n’ayant pas de
x3 x1 précédents}
x4 x2, x3 • ={x3}
x5 x4
x6 x4, x5
• Tous les sommets x3 sont barrés
Sommets x Précédents P(x) • N2={sommets de niveau 2}
x1 - • ={sommets n’ayant pas de
précédents}
x2 x1, x3
• ={x2}
x3 x1
x4 x2, x3 • Tous les sommets x2 sont barrés
x5 x4
x6 x4, x5 • Les sommets barrés sont considérés
comme n’existants plus
Sommets x Précédents P(x)
x1 - • N3={sommets de niveau 3}
x2 x1, x3 • ={sommets n’ayant pas de
précédents}
x3 x1
• ={x4}
x4 x2, x3
x5 x4 • Tous les sommets x4 sont barrés
x6 x4, x5
• N4={sommets de niveau 4}
Sommets x Précédents P(x)
• ={sommets n’ayant pas de
x1 - précédents}
x2 x1, x3 • ={x5}
x3 x1
x4 x2, x3 • Tous les sommets x5 sont barrés
x5 x4
x6 x4, x5 • Les sommets barrés sont considérés
comme n’existants plus
Sommets x Précédents P(x)
x1 - • N5={sommets de niveau 5}
x2 x1, x3 • ={sommets n’ayant pas de
précédents}
x3 x1
x4 x2, x3 • ={x6}
x5 x4
x6 x4, x5 • Tous les sommets x6 sont barrés

Sommets x Précédents P(x) • Les niveaux sont :


x1 -
x2 x1, x3 • N0 = { x 1 }
x3 x1
• N1 = { x 3 }
x4 x2, x3
x5 x4
• N2 = { x 2 }
x6 x4, x5
• N3 = { x 4 }

• N4 = { x 5 }
Tous les sommets ayant été barrés
• N5 = { x6 }
• Les niveaux sont :
Sommets x Précédents P(x)

Utilité N
de la notion de niveaux
0 = { x1x1}
x2
N1 = { -x3 }
N = {x
x1, x3
2 2 }
x3 x1
• N3 = { x4x } N4 = x{ ,xx5 } N5 = { x6 }
4 2 3
x5 x4
x6 x4, x5
 construire le graphe ordonné par niveaux
 La recherche des chemins optimaux se fait plus facilement sur
un graphe ordonné par niveaux

x1 x3 x4 x5

x6
x2

N0 N1 N2 N3 N4 N5
Définitions
• Un chemin est une suite ordonnée (x1,...,xn) de sommets reliés par des
arcs :
i  1,, n  1 xi 1  S xi 
• Un circuit est un chemin (x1,...,xn) tel que x1 = xn

• La longueur du chemin est le nombre d'arcs qu'il contient

• Dans un graphe sans circuit. A chaque arc (x,y) est associé un nombre
positif V(x,y) appelé la valeur de l'arc

• La valeur du chemin (x1, x2, …, xi,xi+1, …, xn) est :


n 1

V x , x 
i 1
i i 1
Les problèmes d’ordonnancement

•On a affaire à un problème d'ordonnancement lorsque


•l'on est confronté à un problème d'organisation.

•Il faut accomplir de multiples opérations qui demandent un certain


temps d'exécution et qui doivent être exécutées dans un certain ordre
(contraintes de succession). Il est donc nécessaire d'identifier les
opérations prioritaires en fonction de l'objectif à atteindre.

•L’objectif est de :

« minimiser la durée totale de réalisation du projet compte tenu des


contraintes d’antériorité reliant les différentes opérations »

•De plus on détermine :


 les calendriers de réalisation de chacune des tâches
 les marges de manœuvre associées
 Les coûts et la marge bénéficiaire
méthodes de résolution des problèmes
d’ordonnancement
Deux méthodes sont classiquement utilisées et toutes les deux
utilisent des graphes pour résoudre le problème (méthodes à chemin
critique) :

 La méthode MPM : potentiel-tâches


(Méthode des Potentiels METRA)
 La méthode PERT : potentiel-étapes
(Program Evaluation and Research Task)
(Program Evaluation and Review Technique)

Potentiel = seules les contraintes de types potentiel (qui concerne le


temps : date, antériorité) sont prises en compte
Méthode des Potentiels Métra
 Position d’un projet d’ordonnancement
 Identification des tâches
 Estimation de leurs durées probables de réalisation ;
 Détermination des tâches immédiatement antérieures à chacune des
tâches
 Classement des tâches par niveau d’antériorité
 Représentation du graphique du projet par la méthode MPM ;
 Détermination des dates de réalisation au plus tôt de chaque tâche
 Détermination des dates de réalisation au plus tard de chaque
tâche ;
 Détermination des tâches critiques
 Détermination des chemins critiques ;
 Calcul des marges (marges libres et marges totales )
 Interprétation
Construction du graphe
• Un sommet correspond au début d’une tâche V(T1,T2) T2
T1
 un arc définit une relation d'antériorité
 la valeur de l'arc définit le délai minimum (normal ou exceptionnel)
après lequel peut débuter l’opération suivante

 Chaque sommet de la représentation graphique est représenté par un


rectangle
• x = nom de la tâche
Tx = date de début au plus tôt de la tâche Tx T*x
T*x = date de début au plus tard de la tâche
x

 Une tâche x ne pouvant débuter que lorsque toutes les tâches qui y
aboutissent sont terminées.
 On rajoute au graphe un sommet terminal permettant de dater la fin
des travaux
 La représentation graphique est ordonnée par niveaux des sommets
(des tâches)
5
T1 T2
4
T3 8 T4

La tâche T2 ne peut commencer qu’après l’exécution des tâches T1 et T3 :

 La tâche T2 ne peut démarrer que 5 heures après le démarrage de T1

 La tâche T2 ne peut démarrer que 4 heures après le démarrage de T3

La tâche T4 ne peut commencer qu’après l’exécution de la tâche T3 :

 La tâche T4 ne peut démarrer que 8 heures après le démarrage de T3


Exemple 1 : Dictionnaire des
précédents
•Les opérations mises en jeu dans la
construction d'un ensemble hydro-électrique Les contraintes d'antériorité sont
sont : les suivantes :

•O1) Construction des voies d'accès


Opération
•O2) Travaux de terrassement
Opération Durée
s pré
s (mois)
requises
•O3) Construction des bâtiments
administratifs O1 4 -

•O4) Commande du matériel électrique O2 6 O1


O3 4 -
•O5) Construction de la centrale
O4 12 -
•O6) Construction du barrage
O5 10 O2, O3, O4
•O7) Installation des galeries et conduites O6 24 O2, O3
forcées
O7 7 O1
•O8) Montage des machines
O8 10 O5, O7
•O9) Essais de fonctionnement
O9 3 O6, O8
Méthode des Potentiels Metra
Détermination des niveaux des sommets :

Opération x P(x)
O1 --
O2 O1
O3 --
O4 --

O5 O 2, O 3, O 4
O6 O 2, O 3
O7 O1
O8 O 5, O 7
O9 O 6, O 8
• N0={O1,O3,O4}
Méthode des Potentiels Metra
Détermination du niveau 1:

Opération x P(x)
O1 --
O2 O1
O3 --
O4 --

O5 O 2, O 3, O 4
O6 O 2, O 3
O7 O1
O8 O 5, O 7
O9 O 6, O 8
• N1={O2;O7}
Méthode des Potentiels Metra
Détermination du niveau 2:

Opération x P(x)
O1 --
O2 O1
O3 --
O4 --

O5 O 2, O 3, O 4
O6 O 2, O 3
O7 O1
O8 O 5, O 7
O9 O 6, O 8
• N2={O5, O6}
Méthode des Potentiels Metra
Détermination du niveau 3:

Opération x P(x)
O1 --
O2 O1
O3 --
O4 --

O5 O 2, O 3, O 4
O6 O 2, O 3
O7 O1
O8 O 5, O 7
O9 O 6, O 8
• N3={O8}
Représentation graphique opérations
(tâches)
durée
(mois)
opérations
antérieures
O1 4 -
O2 6 O1
Niveau 0 Niveau 1 Niveau 2 Niveau 3 Niveau 4
{O1,O3,O4} {O2,O7} {O5,O6} {O8} {O9} O3 4 -
O4 12 -
• O5 10 O2,O3,O4
O6 24 O2,O3
O7 7 O1
O8 10 O5,O7
? ? 4 ? ? 6 ? ?
O9 3 O6,O8
o1 o2 o6
4 4 24
6
? ? ? ? 7 ? ? ? ? 3 ? ?
o3 o7 o8 10 o9 F
4 10
? ? ? ?
o4 12 o5
Calendrier au plus tôt des tâches
• Tx est la date au plus tôt correspondant à la valeur du chemin de valeur
maximale aboutissant à x (algorithme de Ford)
 On commence par les sommets de niveaux les plus faibles jusqu’aux
sommets de niveaux les plus élevés

• Tdébut= 0 pour les sommets de niveau 0


• Tx = maxy [ Ty + V(y,x) ] le max étant pris sur les
précédents y de x
• TF = la date au plus tôt à laquelle l’ensemble des travaux peut
s’achever
Ty1
y1
Tx
x
Ty2
y2
Détermination des calendriers au plus tôt de la réalisation de
TF =37 mois chacunecorrespond
des tâches à
la durée minimale de
réalisation
T1 = T3 = T4= 0
duLe projet chemin de valeur maximale
(chemin de aboutissant
T2 = T1 + V(1,2) =0 + 4 = 4
valeur à F est appelé chemin
maximale aboutissant critique
T7 = T1 + V(1,7) = 0 + 4 = 4
à F)constitué de tâches critiques :
un retard pris dans l’exécution de l’une
T6 = Max [T2 + V(2,6) ; T3 + V(3,6)] = Max [4 + 6 ; 0 + 4] = Max [10 ; 4] = 10
• d’entre elles entraînerait un allongement
T5 = Max [T2 + V(2,5) ; T3 + V(3,5) ; T4 + V(4,5)] = Max [4 + 6 ; 0 + 4 ; 0 + 12 ] = Max [10 ; 4 ; 12] = 12

de la durée du projet
T8 = Max [T7 + V(7,8) ; T5 + V(5,8)] = Max [4 + 7 ; 12 + 10] = Max [11 ; 22] = 22
T9 = Max [T6 + V(6,9) ; T8 + V(8,9)] = Max [10 + 24 ; 22 + 10] = Max [34 ; 32] = 34
TF = T9 + V(9,F) = 34 + 3 = 37

0 ? 4 4 ? 6 10 ?
o1 o2 o6
4 4 24
6
0 ? 4 ? 7 22 ? 34 ? 3 37 ?
o3 o7 o8 10 o9 F
4 10
0 ? ?
12maximale
Le chemin de valeur (durée 37 mois)
o4 aboutissant
12 à F est :o5 (O1, O2, O6, O9)
Calendrier au plus tard des tâches
• T*x est la date au plus tard à laquelle peut commencer une tâche
sans remettre en cause la date de fin des travaux
 On commence par les sommets de niveau les plus élevés jusqu’aux
sommets de niveau les plus faibles

• T*F = TF pour le sommet terminal

• T*x = miny [ T*y - V(x,y)]

• le min étant pris sur les suivants y de x.

T*y1
y1
T*x
x T*y2
y2
Détermination des calendriers au plus tard de la réalisation de
chacune des tâches :
T*F = TF= 37
T*9 = T*F - V(9,F) = 37 - 3 = 34 Sur les tâches critiques
T*8 = T*9 - V(8,9) = 34 - 10 = 24 on a :
T*6 = T*9 - V(6,9) = 34 - 24 = 10
T*5 = T*8 - V(5,8) = 24 - 10 = 14 T*x = Tx
• T*7 = T*8 - V(7,8) = 24 - 7 = 17
T*2 = Min [T*5 - V(2,5) ; T*6 - V(2,6)] = Min [14 - 6 ; 10 - 6] = Min [8 ; 4] = 4
T*1 = Min [T*2 - V(1,2) ; T*7 - V(1,7)] = Min [4 - 4 ; 17 - 4] = Min [0 ; 13] = 0
T*3 = Min [T*6 - V(3,6) ; T*5 - V(3,5)] = Min [10 - 4 ; 14 - 4] = Min [6 ; 10] = 6
T*4 = T*5 - V(4,5) = 14 - 12 = 2

0 0 4 4 4 6 10 10
o1 o2 o6
4 24
4 6

0 6 4 17 7 22 24 34 34 3 37 37
o3 o7 o8 10 o9 F
10
4
0 2 12 14
o4 12 o5
Il y‘a deux types de retard relatif à l’exécution
des tâches sans retarder l’achèvement du projet

Marge totale  Marge libre

c'est le retard maximum que c'est le retard maximum que l'on


l'on peut prendre dans la mise peut prendre dans la mise en route
en route d'une tâche sans d'une tâche sans remettre en
cause les dates au plus tôt des
remettre en cause les dates au
tâches suivantes
plus tard des tâches suivantes
mt(x) = T*x - Tx mL(x) = miny [Ty - Tx - V(x,y)]
Le min étant pris sur les suivants y de x
Tx T* x
Ty1
x
Tx y1

x
Ty2
y2
Marge totale Marges libres
• mL(x) = min [Ty - Tx - V(x,y)]
• mt(x) = T*x - Tx • Le min étant pris sur les suivants y de x

• mL(O1) = Min[T2-T1-V(1,2);T7-T1-V(1,7)]
• mt(O1) = T* 1 – T1 = 0 - 0 = 0 0• 0 4 4 4 =6 Min[0;0]=0
10 10
24
o1 o2 o6
• mt(O2) = T*2 – T2 = 4 - 4 = 0 • m (O ) = Min[T6-T2-V(2,6);T5-T2-V(2,5)]
4 L 42
• = Min[0;2]=0
6
• mt(O3) = T*3 – T3 = 6 - 0 = 6 0 6 4 17 7
22 24 34 34 3 37 37
•o3 mL(O3)o=7 Min[T6-T3-V(3,6);To85-T10 o9
3-V(3,5)]
F
• mt(O4) = T* 4 – T4 = 2 - 0 = 2 • = Min[6;8]=6
4
10
• mt(O5) = T*5 – T5 = 14 - 12 = 2 0• 2 mL(O4) = T5 - T12- V(4,5)
4
14 =0
o4 12 o5
• mt(O6) = T* 6 – T6 = 10 – 10 = 0 • mL(O5) = T8 - T5 - V(5,8) = 0

• mt(O7) = T*7 – T7 = 17 - 4 = 13 • mL(O6) = Ti - T6 - V(6,9) = 0

• mt(O8) = T*8 – T8 = 24 - 22 = 2 • mL(O7) = T8 - T7 - V(7,8) = 11

• mt(O9) = T*9 – T9 = 34 - 34 = 0 • mL(O8) = T9 - T8 - V(8,9) = 2

• mL(O9) = TF - T9 - V(9,F) = 0
Exercice 1 :
Une importante société de magasins alimentaires à grande surface
diversifie son activité en créant des commerces dans de petites villes.
La société crée un fonds de commerce qui est ensuite géré de façon
autonome par un commerçant franchisé.
Tout d’abord, la société réalise une étude d’implantation : étude de marché
sur un certain rayon d’action et choix de la localité où sera installé le
commerce.
A partir du jour où l’étude d’implantation est terminée, les tâches
suivantes doivent être exécutées.
Travail à faire :
1. Élaborer la matrice des niveaux
2. Représenter cette succession de tâches par un graphe MPM
3. Déterminer la durée minimale pour que le magasin soit ouvert à la
clientèle
4. Indiquer le chemin critique
5. Préciser à quelles dates au plus tard devront commencer les tâches qui
ne font pas partie du chemin critique.
Nature Durée Antériorité des
Tâche
(jours) tâches
A Recherche d’un local 50 -
B Recherche d’un franchisé 45 -
Constitution du dossier bancaire du
C 15 A, B
franchisé
Constitution du dossier à la chambre de
D 10 A, B
commerce pour les inscriptions obligatoires
E Formation du franchisé 30 B
Aménagement, plâtrerie-peinture du
F 20 A
magasin
G Réfection 8 A
H Équipement de la chambre froide 8 A, F
I Equipement des rayonnages 5 A, F
Implantation du magasin (disposition des
J 6 A,B, E, F, G, H, I
articles)
Tirage en imprimerie des feuillets
K 6 A, B, D
publicitaires
L Distribution de feuillets publicitaires 2 A, B, D, K
Liste et envoi des invitations pour
M 6 A, B, D
l’inauguration
N Inauguration du magasin 1 Toutes les autres
Exercice 2 :
Durée Opérations
tâches Nature de la tâche
(mois) pré-requises
a Terrassement, assainissement 3 -

b Recrutement d’une équipe de sécurité 2 -

c Commande des machines 4 -

d Construction du bâtiment administratif 2 a

e Construction des ateliers 1 a

f Formation de l’équipe de sécurité 3 b

g Aménagement des bureaux 2 d

H Installation des machines 4 e,c,f


La méthode PERT
 un arc correspond à une tâche
 la valeur de l'arc représente la durée de la tâche
 Un sommet correspond à la fin de certaines taches et au début
d’autres. Il représente un événement, une étape d’avancement
du projet:

 toutes les tâches qui y arrivent sont terminées

 toutes les tâches qui en partent peuvent commencer

 Chaque sommet de la représentation graphique est présenté


par un cercle:
tn t*n
• n = nom ou numéro de l’étape
• tn = date de début au plus tôt de l’étape n

• (date attendue de l’événement)


• t*n = date de début au plus tard de l’étape
• (date limite de l’événement)

 On rajoute au graphe un sommet terminal et un sommet initial

 La représentation graphique est ordonnée par niveaux des


sommets (des étapes)
1.2 Détermination des tâches

• La première phase à l'établissement d'un réseau


PERT consiste à déterminer les tâches
nécessaires à la réalisation du projet. Un listing
exhaustif des tâches est ainsi réalisé.
• Pour chaque tâche, on associe une durée estimée
dans une unité de temps.
Dans notre exemple, la liste des tâches serait la suivante :

Chaque tâche est codifiée (ici par une lettre de


l'alphabet) afin de rendre la lecture du réseau PERT
plus lisible.
1.3 Détermination des antériorités

La deuxième phase consiste à déterminer les


antériorités des tâches précédemment
établies. C'est à dire se poser pour chaque
tâche la question suivante :
Quelles sont les tâches devant être terminées
pour pouvoir commencer cette nouvelle tâche ?
Dans notre étude de cas, prenons des
exemples :
 La tâche A (Achat du matériel pour le serveur) ne
nécessite aucune condition préalable pour être
effectuée : elle ne possède pas d'antériorité.

 La tâche C (Installation du serveur dans le réseau) par


contre, nécessite que le serveur soit acheté. Par
conséquent, la tâche C possède la tâche A comme
antériorité.

 La tâche D (Installation du SGBD) nécessite à la fois


que le serveur soit installé et que la licence pour le
SGBD soit acquise. On en déduit que la tâche D a
deux antériorités : la tâche B et la tâche C.
Une fois toutes les tâches parcourues, on obtient le
tableau suivant :

Nous sommes maintenant prêts à passer à l'étape de


modélisation
2.1 Définition de l'étape de
commencement
Tout d'abord il faut représenter la première étape
de notre projet, l'étape de commencement.
Une étape est modélisée par un cercle, et
correspond au début ou à la fin d'une ou de
plusieurs tâches.
Les étapes sont numérotées. Ainsi, ici, l'étape 1
correspond à l'étape de commencement de
notre projet.
2.2 Détermination des tâches de départ

Une fois notre première étape modélisée, il faut


déterminer les premières tâches du projet qui
commenceront à cette étape : il s'agit des tâches
n'ayant aucune antériorité et pouvant donc être
réalisées sans pré-requis.
Dans notre étude de cas, les tâches A, B et E ne possèdent pas
d'antériorité. Elles vont donc chacune débuter à l'étape 1 et aboutir à
une nouvelle étape que nous numéroterons.

Une tâche est


modélisée par un arc
fléché, où est inscrit
le nom de la tâche et
sa durée.
2.3 Suite de la création du réseau PERT (1)
Dans notre étude de cas, la tâche C a pour
antériorité la tâche A. L'étape
représentant l'état "Tache A terminée" est
l'étape 2. Par conséquent, la tâche C
débutera à l'étape 2. La tâche G qui
nécessite que la tâche E soit terminée
commencera elle à l'étape 4.
Nous allons donc rajouter
une tâche fictive entre
l'étape 3 "Tâche B
terminée" et l'étape 5
"Tâche C terminée". Une
tâche fictive ne consomme
pas de délai. C'est une
condition sine qua none
avant de pouvoir démarrer
la tâche suivante.
Une tâche fictive est
représentée en pointillé avec
un ensemble vide à la place du
nom de la tâche.
Les tâches I et H qui nécessitent que la tâche G soit
terminée commencent toutes les deux à l'étape 6.
La tâche F nécessite que les tâches D et E soient terminées. Comme aucune
étape ne signifie "Tâches E et D terminées", nous allons créer une tâche
fictive entre l'étape 4 et l'étape 7. F peut maintenant démarrer à l'étape 7.
En anticipant la prochaine construction décrite dans le paragraphe suivant, on
fait terminer la tâche F à l'étape 9
2.4 Définition de l'étape de fin
La dernière tâche qu'il nous reste à modéliser est
la tâche J. Elle a pour antécédent les tâches F,
H et I. On remarque que l'étape 9 signifie
actuellement "Tâches F et H terminées". Il
suffit de rajouter une tâche fictive avec l'étape
8 pour que l'étape 9 signifie "Tâches F, I et H
terminées".
Ainsi cette étape peut servir d'étape de départ à
la tâche J qui se terminera sur l'étape de fin du
projet.
Le réseau PERT de notre projet est maintenant établi.

Maintenant que le réseau PERT est modélisé, on va


pouvoir grâce à l'estimation de durée des tâches
déterminer diverses indications quand à la durée du
projet et aux marges des différentes tâches.

Pour cela nous allons parcourir notre réseau PERT dans


les deux sens.
3 La méthode PERT:
L'interprétation du
réseau
3.1 Détermination des dates au
plus tôt
Nous allons déterminer les dates au plus tôt de
chacune de nos tâches. C'est à dire la date la plus
optimiste à laquelle on peut espérer commencer
nos tâches.
Pour cela, on commence par initialiser l'étape 1
(l'étape de commencement du projet) à 0 :
Puis, on détermine la date au plus tôt des étapes suivantes
(2, 3, 4) en additionnant la durée de la tâche à la date au
plus tôt de l'étape 1.

Etape 2 : D.tot(Etape 1) + Durée(Tâche A) = 0 + 3 = 3


Etape 3 : D.tot(Etape 1) + Durée(Tâche B) = 0 + 5 = 5
Etape 4 : D.tot(Etape 1) + Durée(Tâche E) = 0 + 10 = 10
La date au plus tôt de l'étape 6 se fait de la même façon.

Etape 6 : D.tot(Etape 4) + Durée(Tâche G) = 10 + 5 = 15


Pour l'étape 5, on remarque qu'il y a deux tâches qui y font
références en amont, la tâche C qui vient de l'étape 2 et la tâche
fictive qui vient de l'étape 3.

Etape 5 : D.tot(Etape 2) + Durée(Tâche C) = 3 + 2 = 5 Etape 5 :


D.tot(Etape 3) + Durée(Tâche 0) = 5 + 0 = 5
On prend normalement le maximum des deux. Ici les deux valeurs
sont identiques, la date au plus tôt de l'étape 5 est 5.
• On continue avec l'étape 7 et l'étape 8 :
• Etape 7 : D.tot(Etape 4) + Durée(Tâche 0) = 10 + 0 = 10
Etape 7 : D.tot(Etape 5) + Durée(Tâche D) = 5 + 1 = 6
Etape 8 : D.tot(Etape 6) + Durée(Tâche I) = 15 + 15 = 30
• On prend la plus grande des deux valeurs pour l'étape 7.
Pour l'étape 9, on a trois références en amont :
Etape 9 : D.tot(Etape 6) + Durée(Tâche H) = 15 + 10 = 25
Etape 9 : D.tot(Etape 7) + Durée(Tâche F) = 10 + 3 = 13
Etape 9 : D.tot(Etape 8) + Durée(Tâche 0) = 30 + 0 = 30
On prend le maximum des trois dates obtenues, soit 30.
Pour l'étape 10 :
Etape 10 : D.tot(Etape 9) + Durée(Tâche J) = 30 + 8 = 38
Le projet sera fini au plus tôt dans 38 jours.
3.2 Détermination des dates au plus
tard
On va maintenant parcourir le réseau
en ordre inverse, pour déterminer les
dates au plus tard des tâches, c'est à
dire la date maximum à laquelle la tâche
doit être finie.
Pour cela, on met comme date au plus
tard de l'étape d'arrivée de notre réseau
la date au plus tôt précédemment
trouvée.
Puis on détermine la date au plus tard de son
antécédent, l'étape 9 :
Etape 9 : Dtard(Etape 10) - Durée(Tâche J)
= 38 - 8 = 30
• On fait de même pour l'étape 7 et 8 :
• Etape 7 : Dtard(Etape 9) - Durée(Tâche F) = 30 - 3 = 27
Etape 8 : Dtard(Etape 9) - Durée(Tâche 0) = 30 - 0 = 30
• Puis pour l'étape 6, qui possède deux tâches en aval :
• Etape 6 : Dtard(Etape 9) - Durée(Tâche H) = 30 - 10 = 20
Etape 6 : Dtard(Etape 8) - Durée(Tâche I) = 30 - 15 = 15
• On prend cette fois ci le minimum obtenu, soit 15
3.3 Détermination du chemin critique

Une fois les dates au plus tôt et les dates au


plus tard renseignées, le chemin critique
qui contient les tâches critiques apparaît
clairement. Il passe par les étapes dont la
date au plus tôt est égale à la date au plus
tard
Les tâches critiques de notre projet sont donc les tâches :
E, G, I et J. Tout retard sur l'une de ces tâches
entraînera un retard systématique sur l'ensemble du
projet. Il convient donc de s'assurer d'avoir les
ressources nécessaires pour terminer ces étapes en
temps et en heure.

Vous aimerez peut-être aussi