Vous êtes sur la page 1sur 47

FSJES-AC

RECHERCHE OPERATIONNELLE

Semestre 6
Filière : Gestion E1-E2

M.ATMANI

A/U : 2022 - 2023

1
PROGRAMMATION LINEAIRE
Formulation

Résolution graphique

Algorithme du simplexe – MAXIMISATION -

2
CHAPITRE 1

Formulation d’un programme linéaire (PL)

I. Introduction

L’importance de l’optimisation et la nécessité d’un outil simple pour modéliser


des problèmes de décision que soit économique, militaire ou autres on fait de
la programmation linéaire un des champs de recherche les plus actifs au milieu
du siècle précédent. Les premiers travauxi (1947) sont celle de George B.
Dantzig et ses associés du département des forces de l’air des Etats Unis
d’Amérique.

Les problèmes de programmations linéaires sont généralement liés à des


problèmes d’allocations de ressources limitées, de la meilleure façon possible,
afin de maximiser un profit ou de minimiser un coût. Le terme meilleur fait
référence à la possibilité d’avoir un ensemble de décisions possibles qui
réalisent la même satisfaction ou le même profit. Ces décisions sont en général
le résultat d’un problème mathématique.

II. Les conditions de formulation d’un PL

3
La programmation linéaire comme étant un modèle admet des hypothèses (des
conditions) que le décideur doit valider avant de pouvoir les utiliser pour
modéliser son problème. Ces hypothèses sont :

1. Les variables de décision du problème sont positives


2. Le critère de sélection de la meilleure décision est décrit par une fonction
linéaire de ces variables, c’est à dire, que la fonction ne peut pas contenir
par exemple un produit croisé de deux de ces variables. La fonction qui
représente le critère de sélection est dite fonction objectif (ou fonction
économique).
3. Les restrictions relatives aux variables de décision (exemple: limitations des
ressources) peuvent être exprimées par un ensemble d’équations linéaires.
Ces équations forment l’ensemble des contraintes.
4. Les paramètres du problème en dehors des variables de décisions ont une
valeur connue avec certitude

III. Les étapes de formulation d’un PL :

Généralement il y a trois étapes à suivre pour pouvoir construire le modèle d'un


programme linéaire :
1. Identifier les variables du problème à valeur non connues (variable de
décision) et les représenter sous forme symbolique (exp. x1, y1 ).
2. Identifier les restrictions (les contraintes) du problème et les exprimer par
un système d’équations linéaires.
3. Identifier l’objectif ou le critère de sélection et le représenter sous une
forme linéaire en fonction des variables de décision. Spécifier si le critère de
sélection est à maximiser ou à minimiser.

IV. Présentation Théorique

Un programme linéaire consiste à trouver le maximum ou le minimum d’une


forme linéaire dite fonction objectif en satisfaisant certaines équations et
inégalités dites contraintes. En langage mathématique, on décrira de tels
modèles de la manière suivante :

4
Soient N variables de décision x1, x2,…, xn, l’hypothèse que les variables de
décision sont positives implique que x1  0, x2  0,  , xN  0 .

La fonction objectif est une forme linéaire en fonction des variables de décision
de type

z  c1 x1  c 2 x 2    c N x N

où les coefficients c1,…,cN doivent avoir une valeur bien déterminée (avec
certitude) et peuvent être positifs, négatifs ou nuls. Par exemple le coefficient
ci peut représenter un profit unitaire lié à la production d’une unité
supplémentaire du bien xi, ainsi la valeur de z est le profit total lié à la
production des différents biens en quantités égales à x1 , x2 ,  , xN .

Supposons que ces variables de décision doivent vérifier un système


d’équations linéaires définis par M inégalités
a 11 x 1  a 12 x 2    a 1 N x N  b 1

a 21 x 1  a 22 x 2    a 2 N x N  b 2


a M 1 x 1  a M 2 x 2    a MN x N  b M

où les coefficients a1M,…, aMN et b1,…, bM doivent avoir une valeur bien
déterminée (avec certitude) et peuvent être positifs, négatifs ou nuls. Le
paramètre bj représente la quantité de matière première disponible dont le
bien xi utilise une quantité égale à aij xi .

En suivant les étapes de formulation ci-dessus, on peut représenter le PL comme


suit :

5
Max c1 x1  c 2 x 2    c N x N
s .c a 11 x 1  a 12 x 2    a 1 N x N  b 1
a 21 x 1  a 22 x 2    a 2 N x N  b 2

a M 1 x 1  a M 2 x 2    a MN x N  b N
x1  0 , x 2  0 ,  , x N  0

V. Exemples de formulations

Limité au départ aux problèmes industriels et militaires, de nos jours plusieurs


problèmes de divers domaines sont représentés ou approximés par des
modèles de PL. L’utilisation de ces techniques de modélisation s’est renforcée
encore après avoir construit des algorithmes et des logiciels capables de
résoudre de plus larges problèmes avec autant de variables de décision que de
contraintes.

La tâche de formulation demande généralement une certaine expertise et


connaissance du problème pour pouvoir relever facilement les différentes
composantes du problème et ainsi donner un programme qui modélise au
mieux la situation réelle. Dans ce qui suit, on présentera quelques exemples de
formulation en programme linéaire liés à différents problèmes de décision :

Exemple 1 : Problème d’agriculture

Un agriculteur veut allouer 150 hectares de surface irrigable entre culture de


tomates et celles de piments. Il dispose de 480 heures de main d’œuvre et de 440
m3 d’eau. Un hectare de tomates demande 1 heure de main d’œuvre, 4 m3 d’eau
et donne un bénéfice net de 1000 DH. Un hectare de piments demande 4 heures
de main d’œuvre, 2 m3 d’eau et donne un bénéfice net de 2000 DH

Le bureau du périmètre irrigué veut protéger le prix des tomates et ne lui permet
pas de cultiver plus de 90 hectares de tomates. Quelle est la meilleure allocation
de ses ressources ?

6
Formulation du problème en un PL :

Etape 1 : Identification des variables de décision. Les deux activités que


l’agriculteur doit déterminer sont les surfaces à allouer pour la culture de
tomates et de piments :
 x1 : la surface allouée à la culture des tomates
 x2 : la surface allouée à la culture des piments
On vérifie bien que les variables de décision x1 et x2 sont positives : x1  0, x2  0 .
Etape 2 : Identification des contraintes. Dans ce problème les contraintes
représentent la disponibilité des facteurs de production :
 Terrain : l’agriculteur dispose de 150 hectares de terrain, ainsi la contrainte
liée à la limitation de la surface de terrain est x1  x2  150
 Eau : la culture d’un hectare de tomates demande 4 m3 d’eau et celle d’un
hectare de piments demande 2m3 mais l’agriculteur ne dispose que de 440m3.
La contrainte qui exprime les limitations des ressources en eau est
4 x1  2 x2  440 .
 Main d’œuvre : Les 480 heures de main d’œuvre seront départager (pas
nécessairement en totalité) ente la culture des tomates et celles des piments.
Sachant qu’un hectare de tomates demande une heure de main d’œuvre et un
hectare de piments demande 4 heures de main d’œuvre alors la contrainte
représentant les limitations des ressources humaines est x1  4 x2  480
 Les limitations du bureau du périmètre irrigué : Ces limitations exigent que
l’agriculteur ne cultive pas plus de 90 hectares de tomates. La contrainte qui
représente cette restriction est x1  90.
Etape 3 : Identification de la fonction objectif. La fonction objectif consiste à
maximiser le profit apporté par la culture de tomates et de piments. Les
contributions respectives 100 et 200, des deux variables de décision x1 et x2
sont proportionnelles à leur valeur. La fonction objectif est donc
z  100x1  200x2 .
Le programme linéaire qui modélise le problème d’agriculture est :
Max 100 x1  200 x 2
s .c . x1  x 2  150
4 x1  2 x 2  440
x1  4 x 2  480
x1  90
x1  0 , x 2  0

7
Exemple 2 : Problème de médecine

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


les sujets atteints d’un rhume. Ces pilules sont fabriquées selon deux formats :
 Petite taille : elle contient 2 grains d’aspirine, 5 grains de bicarbonate et 1
grain de codéine.
 Grande taille : elle contient 1 grain d’aspirine, 8 grains de bicarbonate et 6
grains de codéine.
Pour guérir la maladie, le sujet a besoin de 12 grains d’aspirine, 74 grains de
bicarbonate et 24 grains de codéine. Déterminer le nombre de pilules minimales
à prescrire au sujet pour qu’il soit guérit.

Formulation du problème en un PL :

Le problème de médecine présente certaines ressemblances avec le problème de


l’agriculture, dans les deux cas c’est un problème d’allocation de ressources.
Les variables de décision qui représentent des valeurs inconnues par le décideur
qui est dans ce cas le spécialiste en médecine sont :
 x1 : le nombre de pilules de petite taille à prescrire.
 x2 : le nombre de pilules de grande taille à prescrire.
On vérifie bien que les variables de décision x1 et x2 sont positives : x1  0, x2  0 .
Les contraintes imposées par le problème sur les valeurs possibles de x1 et x2
sont :
 La prescription doit contenir des pilules avec au moins 12 grains d’aspirine.
Sachant qu’une petite pilule contient 2 grains d’aspirine et qu’une grande
pilule contient un seul grain d’aspirine, on obtient la contrainte suivante :
2 x1  x2  12 .
 De la même façon que pour l’aspirine, la prescription du spécialiste en
médecine doit contenir au moins 74 grains de bicarbonate. Ainsi la contrainte
suivante doit être satisfaite : 5x1  8x2  74 .
 Finalement la contrainte imposée par le fait que la prescription doit contenir
au moins 24 grains de codéine est x1  6 x2  24 .
Etape 3 : Identification de la fonction objectif. On remarque qu’il y a plusieurs
couples de solutions ( x1 , x2 ) qui peuvent satisfaire les contraintes spécifiées à
l’étape 2. La prescription doit contenir le minimum possible de pilules. Donc le
critère de sélection de la quantité de pilules à prescrire est celle qui minimise le
nombre total des pilules z  x1  x 2 .

Le programme linéaire qui modélise ce problème médical est donc le suivant :

8
Min x1  x 2
s .c . 2 x 1  x 2  12
5 x 1  8 x 2  74
x 1  6 x 2  24
x1  0 , x 2  0

Exemple 3 : problème de production

Pour fabriquer deux produits P1 et P2 on doit effectuer des opérations sur trois
machines M1, M2 et M3, successivement mais dans un ordre quelconque. Les
temps unitaires d’exécution sont donnés par le tableau suivant :
M1 M2 M3
P1 11 mn 7 mn 6 mn
P2 9 mn 12 mn 16 mn
On supposera que les machines n’ont pas de temps d’inactivité.
La disponibilité pour chaque machine sont :
 165 heures (9900 minutes) pour la machine M1 ;
 140 heures (8400 minutes) pour la machine M2 ;
 160 heures (9600 minutes) pour la machine M3 .
Le produit P1 donne un profit unitaire de 900 DH et le produit P2 un profit
unitaire de 1000 DH.
Dans ces conditions, combien doit-on fabriquer mensuellement de produits P1 et
P2 pour avoir un profit total maximum ?

Formulation en un PL :

Les variables de décisions sont :


 x1 : le nombre d’unités du produit P1 à fabriquer
 x2 : le nombre d’unités du produit P2 à fabriquer
Les contraintes outre les contraintes de non-négativité sont :
 11x1  9 x2  9900 pour la machine M1
 7 x1  12 x2  8400 pour la machine M2
 6 x1  16 x2  9600 pour la machine M3
Le profit à maximiser est : z  900x1  1000 x2
Le programme linéaire résultant est :
Max 900 x 1  1000 x 2
s .c . 1 1 x 1  9 x 2  9900
7 x 1  12 x 2  8400
6 x 1  16 x 2  9600
x1  0 , x 2  0

9
Chapitre 2

REPRESENTATION ET RESOLUTION GRAPHIQUE D’ UN


PROGRAMME LINEAIRE
INTRODUCTION

Après avoir illustrer par des exemples , comment un problème pratique peut être modélisé par un
programme linéaire , l’étape qui va suivre sera certainement celle de la résolution de ce problème
mathématique . la méthode graphique est l’une des premières méthodes utilisées à ce sujet.

Donc on se limite à une représentation de deux variables .

TECHNIQUES DE RESOLUTION GRAPHIQUE

A – système d’axe

Parmi les conditions de réussite de la représentation graphique est le système d’axe. Un mauvais
choix peut rendre notre représentation non clair et imprécise.

A cause de non négativité des variables de décisions , nous nous intéressons seulement au cadran
positif. ( voir figure ci-dessous )

X2

X1

Cette région s’appelle la région des solutions possibles du problème.

B - EXEMPLES

On traitera dans cette partie deux exemples qui serviront à illustrer la méthode de résolution
graphique

B -1- Problème de maximisation

Considérons l’exemple suivant : = 25 + 15

Sous les contraintes suivantes : + ≤ 120

3 + ≤ 140

≥ 0 , ≥ 0

PREMIERE METHODE

10
a- Représentation des lignes de contraintes et l’ensemble des solutions réalisables
b- Représentation de la fonction objectif et localisation de la solution optimale
c- Calculer la solution optimale

a-Représentation des lignes de contraintes et l’ensemble des solutions réalisables

parmi les solutions possibles d’un problème, il y a celles qui vont satisfaire toutes les contraintes
du programme appelés solutions réalisables et celles qui vont une partie ou aucune partie de ces
contraintes , appelés solutions non réalisables.

Revenons à l’exemple précédent : les solutions qui vérifient l’inégalité 2 + 2 ≤ 240 est

Equivalent à l’ensemble des solutions qui vérifient 2 + = 240 et 2 + > 240

L’ensemble des solutions à l’équation est l’ensemble des points de la droite = −2 + 240

Cette droite qui a une pente de -2.

L’inégalité 2 + > 240 correspond à un demi plan limité par la droite = −2 + 240 .

Or cette droit divise le plan en deux demi plan, donc quel est le demi plan à choisir ?

Pour ce faire il suffit de prendre un point de l’un des demi plans (qui n’appartient pas à la droite
= −2 + 240 ) et voir s’il vérifie l’inégalité 2 + > 240.

X2

120

120 X1

On fait la même chose pour l’autre contrainte , on obtient deux demi plans correspondants aux
solutions vérifiant les deux contraintes.

11
X2

140

120

140/3 120 X1

b-Représentation de la fonction objectif et localisation de la solution optimale

la fonction = 25 + 15 représente pour Z fixé l’équation des courbes de niveau ( de droites


de pente -5/3 ) .Maximiser Z revient à déplacer la courbe de niveau le plus loin possible de l’origine
puisque les coéfficients de sont positifs.

Alors Z = 0 , la fonction objectif est représentée de l a manière suivante :

Z=0

Les limites imposés par étant données et représentées graphiquement par le domaine de
solutions réalisables. On ne peut pas augmenter indéfiniment la valeur de l fonction objectif.

Pour maximiser Z on cherche la plus haute courbe de niveau qui a une intersection non vide avec le
domaine de solutions réalisables.

12
A

Le point qui maximise le domaine est le point M.

c-Calcule de la solution optimale

graphiquement le point M est l’intersection des deux droites d’équations 2 + 2 = 0

et 3 + = 0 , donc les coordonnées de M c’est la solution du système :

2 + 2 =0

3 + =0

Donc : = 10 et = 110 et = 1900.

DEUXIEME METHODE ( ENUMERATION DES SOMMETS )

On remarque que la solution optimale ne peut être que sur le bord du domaine des solutions
réalisables . de plus elle est dans le cas général donnée par un point anguleux correspondant aux
intersections des droites de contraintes. Une telle solution est appelée solution de base. Eci nous
amène à proposer ce qui suit :

- Représenter les lignes de contraintes et les solutions réalisables


- Localiser toutes les solutions de base
- Calculer la valeur de Z pour chaque point et choisir la solution optimale.

Dans l’exemple précédent, le domaine est délimité par quatre points anguleux O, A, M, B.

O ( 0,0 ) correspond à Z = 0

A( 140/3 , 0 ) correspond à Z = 3500/3

M ( 10 , 110 ) correspond à Z = 1900

B ( 0 , 120 ) correspond à Z = 1800.


13

Donc la solution optimale est = 1900

B -1- Problème de minimisation

Première méthode

Le problème de minimisation ne diffère du problème de minimisation que par a recherche de la


courbe de niveau qui donne la plus petite valeur de Z , tut en satisfaisant toutes les contraintes
du programme.

Exp : = 24 + 20

Sous + ≥ 30

+2 ≥ 40

≥ 0 , ≥ 0

X2

30 C

20

0 A

30 40 X1

Z=0

Z=0 est une droite de pente -6/5 , pour le problème de minimisation , on cherche la courbe de
niveau la plus proche de 0 , minimiser Z revient à trouver la première courbe de niveau qui a une
intersection non vide avec le domaine des solutions réalisables.

Dans l’exemple précédent le point C qui minimise le domaine, ce point a pour coordonnées C (0,30)
et ∗ = 600

Deuxième méthode

le domaine est délimité par quatre points anguleux O, A, B, C

O (0,0) correspond à Z = 0

A(40,0) correspond à Z = 960


14
B(20,10) correspond à Z = 680

C(0,30) correspond à Z = 600 , donc = 600.

ANALYSE DE SENSIBILITE

Une analyse de sensibilité se résume à la recherche des intervalles de variations possibles des
paramètres du PL sans que la solution optimale ne soit modifiée.

L’analyse de sensibilité peut être motivée par plusieurs raisons :

- Les données du problème ne sont pas connues avec exactitude


- On souhaite évaluer les conséquences d’un changement de politique qui modifierait les
données du problème.

Exemple :

= 1000 + 2000

4 +2 ≤ 440 droite D1

+4 ≤ 480 droite D2

+ ≤ 150 droite D3

≤ 90 droite D4

≥ 0 , ≥ 0

M1 c’est l’intersection entre D3 et D2 +4 = 480 La solution est M1(40,110)

+ = 150

15
M2 c’est l’intersection entre D3 et D1 4 +2 = 440 La solution est M2(70,80)

+ = 150

M3 c’est l’intersection entre D4 et D1 4 +2 = 440 La solution est M3(90,40)

= 90

Donc : M1(40,110) correspond à Z = 260000

M2(70,80) correspond à Z = 230000

M3(90,40) correspond à z = 170000

O(0,0) correspond à Z = 0

E(90,0) correspond à Z = 90000

C(0,120) correspond à Z = 240000


Finalement le point M1 qui maximise le domaine, = 260000. M1 est l’intersection entre D2 et D3.

La pente de D2 est -1/4 et la pente de D3 est -1.

Si on modifie un paramètre dans la fonction objectif par exemple le coefficient de la fonction devient
= (1000 + ) 1 + 2000 2

( )
Pour Z=0 la pente est : la solution demeure optimale si la pente de la fonction objectif reste comprise entre la pente de D2
( )
et D3. Donc −1 ≤ ≤ −1/4 ce qui donne : −500 ≤ ≤ 1000

Exercice Résoudre = +

+ ≤


≥ 0 , ≥ 0

Solution

Exercice1

16

Le point qui maximise le domaine est (2,3) donc = 11

17
chapitre 3

ALGORITHME DU SIMPLEXE – MAXIMISATION-

I - Introduction
La méthode du simplexe est un algorithme qui permet la recherche de la solution optimale d’un
programme linéaire donné.

Dans la partie précédente ( Partie II ) on a présenté la résolution graphique d’un PL à deux variables ,
mais dans d’autres problèmes on a plus de deux variables , d’où la nécessité d’une procédure
algébrique pour résoudre des PL avec plus de deux variables « Cette méthode appelée méthode du
simplexe ».

II – Méthode du simplexe « MAXIMISATION »


Dans ce paragraphe on présentera la méthode du simplexe pour un problème de maximisation sous des
contraintes de types inférieur ou égal.

Donc on présente la méthode à l’aide d’un exemple illustratif.

= 25 + 15

2 +2 ≤ 240

3 +1 ≤ 140

≥ 0 , ≥0

Première étape :
Transformer le PL sous sa forme standard c à d transformer les inégalités sous forme des égalités en
introduisant des variables d’écarts ( )

2 +2 ≤ 2402 +2 +1 = 240

3 +1 ≤ 1403 + 21 + 1 = 140

peuventêtreinterpréter comme suit :

: la qté de ressource 1 : la qté de ressource 2

18
Les variables d’écarts n’ont aucun effet sur la fonction objectif

Le modèle s’écrit donc sous sa forme standard :

= 25 + 15 +0 +0

2 +2 +1 = 240

3 + 21 + 1 = 140

≥ 0 , ≥ 0, ≥ 0 , ≥0

La question qui se pose c’est comment identifier une solution optimale ?

La réponse sera donnée par les étapes suivantes

Deuxième étape :
La deuxième étape consiste à poser le premier tableau de simplexe à l’origine.

A l’origine = 0 , =0 donc = 240 et = 140

sont des variables HORS BASE et et sont des variables de BASE.

TAB : 0

Cj 25 15 0 0
VB qté
0 240 2 2 1 0
0 140 3 2 0 1

Dans le TAB 0 on a placé en première ligne les coefficientsCj des variables , , et dans la
fonction objectif.

La troisième ligne contient les coefficients liés à la première contrainte : 2 +2 +1 = 240

La quatrième ligne contient les coefficients liés à la première contrainte : 3 + 21 + 1 = 140

La première colonne indique les contributions des variables de base dans la fonction objectif.

Troisième étape :
Dans cette étape , on donne la méthode itérative pour la détermination de la solution optimale d’un PL.

 Première Itération

19
- Déterminer la variable entrante - Ve - « Colonne du pivot »

TAB 1

Cj 25 15 0 0
VB qté
0 240 2 2 1 0
0 140 3 2 0 1
Zj 0 0 0 0
Cj - Zj 25 15 0 0
La variable entrante c’est la variable qui correspond à la plus grande valeur positive de Cj – Zj( le plus
grand profit marginale )

Explication

Zj : correspond aux coefficients des variables de base multiplié par les coefficients de la variable dans
les contraintes deux à deux. ( Z 1 = 2× 0 + 3×0 = 0)

A l’origine ( au départ ) on a x1=0 c à d x1 est hors base ( on ne produit pas le produit type 1 ) si
maintenant on augment x1 d’une unité on a une diminution de e1 de 2 unités et e2 de 3 unités.

L’effet d’une telle variation sur la fonction objectif est 25 – ( 0x1 + 0x2 ) = C1 – Z1

Les Cj – Zj sont données par la dernière ligne du tableau de simplexe .cette variation indique le profit
marginal provenant de la production d’une unité .

Donc si x1 augmente d’une unité le profit augmente de 25 et si x2 augmente d’une unité le profit
augmente de 15.

Alors dans notre exemple la plus grande valeur positive est 25 donc la variable entrante c’est x1.

- Déterminer la variable sortante - Vs - « Ligne du pivot »

On détermine la variable sortante en divisant les valeurs de la quantité par les valeurs correspondantes
dans la colonne de la variable entrante ( on obtient une nouvelle colonne RT ) ratio test.

On sélectionne la ligne avec le plus petit quotient positif pout RT.

On remarque que l’augmentation de x1 est restreinte par deux limites 240/2 et 140/3

Alors la ressource 1 permet de produire 240/2 produit type 1 par contre la ressource 2 permet de
produire 140/3 .donc on se limite à 140/3 par conséquent on choisit comme variable sortante e2.

20
TAB 2

Cj 25 15 0 0
VB qté RT
0 240 2 2 1 0 240/2
0 140 3 2 0 1 140/3
Zj 0 0 0 0
Cj - Zj 25 15 0 0

- Développer un nouveau tableau de simplexe

Ce nouveau tableau est déterminé à l’aide de la méthode de changement de base suivante ( méthode de
pivot )

Le pivot c’est l’intersection entre la colonne de la variable entrante et la ligne de la variable sortante

Remplir le nouveau tableau par la règle de pivotage :

1 – Diviser la ligne du pivot sur la valeur de pivot


×
2 - remplir les autres cases par la règle suivante : = −

∶ : Ancienne valeur

: projection de l’ancienne valeur sur la ligne de pivot

: projection de l’ancienne valeur sur la colonne de pivot.

TAB 3

Cj 25 15 0 0
VB qté
0 440/3 0 4/3 1 -2/3
25 140/3 1 1/3 0 1/3
Zj 25 25/3 0 25/3
Cj-Zj 0 20/3 0 -25/3

Exemple de calcul : on a diviser toute la ligne de pivot sur la valseur de pivot.


× ×
Pour les autres valeurs exp : = 240 − ;; = 2 −

Remarque : les nouvelles valeurs de la colonne de pivot sont nuls

FIN D’ITERATION TEST

Si les Cj – Zj sont tous inférieurs ou égal à zéro on arrête la solution est optimale ,si non on
développe une nouvelle itération.

21
Dans notre exemple il reste encore une valeur positive 20/3 , donc il faut développer une nouvelle
itération.

 Deuxième Itération

Cj 25 15 0 0
VB qté RT
0 440/3 0 4/3 1 -2/3 110
25 140/3 1 1/3 0 1/3 140
Zj 25 25/3 0 25/3
Cj-Zj 0 20/3 0 -25/3

La variable entrante Ve c’est x2 et la variable sortante Vs c’est e1. Le pivot c’est 4/3.

Par la même règle de pivotage on remplit un nouveau tableau :

Cj 25 15 0 0
VB qté
0 110 0 1 3/4 -1/2
0 10 1 0 -1/4 1/2
Zj 25 15 5 5
Cj - Zj 0 0 -5 -5

Cj–Zj≤ 0 donc la solution est optimale.


∗ ∗ ∗
= 10 ; = 110 ; = 1900

En résumé pour résoudre un Pl on procède comme suit :

1) Transformer le PL sous sa forme standard


2) Former le tableau initiale
3) Itérations a) déterminer la variable entrante
b)déterminer la variable sortante et le pivot
c) développer un nouveau tableau par la règle de pivotage
d) si la solution est optimale on arrête si non on répète 3).

22
Transformer le PL sous sa forme
standard

Former le premier tableau

Solution optimale
Cj-Zj≤ 0

Déterminer la variable entrante

Déterminer la variable sortante

Développer un nouveau tableau

23
- Partie II
- ALGORITHME DU SIMPLEXE
MINIMISATION
- POST OPTIMALITE - DUALITE

I - Méthode du simplexe « MINIMISATION »


On procédera à l’illustration de la méthode sur l’exemple suivant :

= 24 + 20

+ ≥ 30

+ 2 ≥ 40

≥ 0 ; ≥0

Première étape :
Cette étape consiste à convertir le PL sous sa forme standard

+ ≥ 30 + − = 30

A l’origine =0 et =0 ,

= − ce qui est non conforme à l’hypothèse de non négativité des variables , d’où la
nécessité d’introduire des variables artificielles ( )

Donc + ≥ 30 + − + 1 = 30

La variable artificielle est une variable de base , ceci indique que la solution est non réalisable.

- Les variables d’écarts (ei) ont un effet nul sur la fonction objectif
- On affecte aux variables artificielles ( Ai) une contribution unitaire M
« M étant très grand qui tend vers plus l’infini »

Le PL devient :

24
= 24 + 20 + 0 1 + 0 2 + 1 + 2

+ − + 1 = 30

+ 2 − + 2 = 40

x1 , x2 , e1 , e2 , A1 , A2 ≥ 0

à l’origine x1 = 0 , x2 = 0 , e1 = 0 , e2 = 0 et A1 = 30 et A2 = 40

donc x1 , x2 , e1 ,e2 sont hors base et A1 et A2 sont des variables de base.

Deuxième étape :
Tableau initial :

Cj 24 20 0 0 M M
VB qté x1 x2 e1 e2 A1 A2
M A1 30 1 1 -1 0 1 0
M A2 40 1 2 0 -1 0 1

Troisième étape :
Elle consiste à faire les itérations nécessaires pour trouver la solution optimale .

 Première Itération
La minimisation de Z est équivalente à la maximisation de ( - Z ) , donc on peut utiliser la méthode de
maximisation en y changeant le critère de sélection de la variable entrante (Cj – Zj ) par ( Zj – Cj).

Cj 24 20 0 0 M M
VB qté x1 x2 e1 e2 A1 A2 RT
M A1 30 1 1 -1 0 1 0 30/1
M A2 40 1 2 0 -1 0 1 40/2
Zj 2M 3M -M -M M M
Zj-Cj 2M-24 3M-20 -M -M 0 0

On développe un nouveau tableau par la règle de pivotage déjà appliquée dans le cas de
maximisation.

Cj 24 20 0 0 M M
VB qté x1 x2 e1 e2 A1 A2 RT
M A1 10 1/2 0 -1 1/2 1 -1/2 20
20 x2 20 1/2 1 0 -1/2 0 1/2 -40
Zj M/2 + 10 20 -M M/2 - 10 M -M/2 + 10

Zj-Cj M/2 - 14 0 -M M/2 - 10 0 -3/2 M +10

25
Fin d’itération test est que tous les Zj – Cj sont ≤ 0 ?

Non il reste encore des Zj – Cj positifs M/2 – 14 et M/2 – 10.

 Deuxième Itération
On détermine la variable entrante et la variable sortante et le pivot

Cj 24 20 0 0 M M
VB qté x1 x2 e1 e2 A1 A2 RT
M A1 10 1/2 0 -1 1/2 1 -1/2 20
20 x2 20 1/2 1 0 -1/2 0 1/2 -40
Zj M/2 + 10 20 -M M/2 - 10 M -M/2 + 10

Zj-Cj M/2 - 14 0 -M M/2 - 10 0 -3/2 M +10

NB : La variable sortante correspond à RT le plus petit positif

une fois Ve , Vs et le pivot sont déterminés , on développe un nouveau tableau ( règle de pivotage)

Cj 24 20 0 0 M M
VB qté x1 x2 e1 e2 A1 A2
0 e2 20 1 0 -2 1 2 -1
20 x2 30 1 1 -1 0 1 1/2
Zj 20 20 -20 0 20 10
Zj - Cj -4 0 -20 0 20 - M 10 - M
Fin d’itération , tous les Zj – Cj sont ≤ 0 , donc le tableau est optimale
∗ ∗ ∗
=0, = 30 , = 0 , = 20, = 600

II -Poste optimalité ( DUALITE )


Dans les parties précédentes on s’est intéressé à la formulation et à la résolution des problèmes (
résolution graphique et simplexe ). Dans cette partie on va s’intéresser à l’analyse ( surtout
économique de la solution optimale. Puis on présente la notion de dualité en programmation linéaire .

DUALITE
A tout programme linéaire , on associe un second programme linéaire appelé dual du premier.

Le dual est en relation étroite avec le premier programme ( primal ) , la solution de l’un des PL est
déterminée à partir de l’autre.

Exemple

26
Une entreprise de menuiserie produit des tables , des chaises et des armoires , les ressources de
cette entreprises étant limitées par trois contraintes . Le directeur de la production formule le
problème de la manière suivante :

= + +

+ + ≤ ( )

+ + ≤ ( ′ )

+ + ≤ ( )

≥ 0 , ≥ 0 , ≥0

∶ é

∶ ℎ é

∶ é

En utilisant la méthode du simplexe et en effectuant les itérations nécessaires , on trouve le tableau


optimal suivant :

Cj 2 4 3 0 0 0
VB qté
4 20/3 1/3 1 0 1/3 -1/3 0
3 50/3 5/6 0 1 -1/6 2/3 0
0 80/3 -5/3 0 0 -2/3 -1/3 1
Zj 230/3 23/6 4 3 5/6 2/3 0
Cj - Zj -11/6 0 0 -5/6 -2/3 0

La solution optimale donnée par le tableau ce dessus est la suivante :

∗ ∗ ∗ ∗
= , = , = , = , = , = , = /

A - INTERPRETATION DES Cj - Zj

D’après la solution optimale

= 0 à toute la quantité du bois est utilisée dans la production

= 0 à toute la quantité des heures d’assemblage est utilisée dans la production

27
= c à d après optimisation il reste encore une quantité de des heures de finition.

D’autre part :

Pour la première ressource ( bois : e1 )

on a : C4 – Z4 = - 5/6 c à d si on n’utilise pas une unité de bois la valeur de Z diminue de 5/6.


Et si on dispose d’une unité supplémentaire de bois ( on utilise l’unité dans la production ) la valeur de
Z augmente de 5/6

En résumé si on dispose d’une unité de bois supplémentaire on peut l’utilisé dans la production et
obtenir 5/6 de plus dans Z. donc on n’est pas disposé à payer plus de 5/6 pour une unité de bois.

La valeur 5/6 est appelé valeur marginale d’une unité de bois .

Pour la deuxième ressource ( heures d’assemblage : e2 )

on a : C5 – Z5 = - 2/3 c à d si on n’utilise pas une heures d’assemblage la valeur de Z diminue


de 2/3. Et si on dispose d’une heure supplémentaire d’assemblage ( on utilise l’unité dans la
production ) la valeur de Z augmente de 2/3

En résumé si on dispose d’une heure d’assemblage supplémentaire on peut l’utilisé dans la production
et obtenir 2/3 de plus dans Z. donc on n’est pas disposé à payer plus de 2/3 pour une heure
d’assemblage.

La valeur 2/3 est appelé valeur marginale d’une heure d’assemblage .

Pour la troisième ressource ( heures de finition : e3 )

C6 – Z6 = 0 dans ce cas la valeur marginale d’une heure de finition est 0.

B - LE PROBLEME DUAL

Le programme dual est un programme associé au premier ( primal ).

Comment interpréter ce programme dual ?

On veut placer une valeur monétaire sur les ressources . supposons qu’un autre producteur s’intéresse
à l’achat de toutes les ressources . A quels prix l’entreprise peut céder ses ressources ?

Soit : le prix d’une unité de bois

: le prix d’une heure d’assemblage

: le prix d’une heure de finition

L’objectif de l’acheteur est minimiser le prix à payer pour toutes ces ressources . la fonction objectif
de l’acheteur ( dual ) est :

= + +
28
Mais cet acheteur ( dual ) sait que le vendeur ( primal ) n’acceptera pas n’importe quel prix .

En fait le vendeur ne cédera ses ressources que si le revenu rapporté par la vente des ressources
nécessaires à la production d’une unité d’un produit donné , est supérieur ou égal au revenu engendré
par la production de cette unité et sa vente.

Dans notre exemple : la production d’une table nécessite 3 unités de bois , 2 heures d’assemblage et
1 heure de finition. Le revenu engendré par la vente de ces ressources est 3 + 2 + 1

Mais le revenu engendré par la production et la vente d’une table est 2 unité monétaire. donc une
contrainte imposée par le primal sur le dual est : 3 + 2 + 1 ≥ 2

- Même analyse pour la chaise : 4 +2 +3 ≥4


- Même analyse pour l’armoire 2 +2 +2 ≥3

Evidemment les prix de vente des ressources sont positifs.

Le programme dual est le suivant :

= + +
3 +2 +1 ≥2

4 +1 +3 ≥4
2 +2 +2 ≥3

≥ 0 , ≥ 0 , ≥0

Primal Dual
= + + = + +
+ + ≤ + + ≥
+ + ≤ + + ≥
+ + ≤ + + ≥
≥ 0 , ≥ 0 , ≥ 0
≥ 0 , ≥ 0 , ≥0

solution solution
Cj 2 4 3 0 0 0 Cj 60 40 80 0 0 0
VB qté VB qté ′ ′ ′
4 20/3 1/3 1 0 1/3 -1/3 0 60 5/6 1 0 2/3 0 -1/3 1/6
3 50/3 5/6 0 1 -1/6 2/3 0 0 ′ 11/6 0 0 5/3 1 -1/3 -5/6
0 80/3 -5/3 0 0 -2/3 -1/3 1 40 2/3 0 1 1/3 0 1/3 -2/3
Zj 230/3 23/6 4 3 5/6 2/3 0 Z’j 230/3 60 40 160/3 0 - -
Cj - Zj -11/6 0 0 -5/6 -2/3 0 20/3 50/3
Z’j – 0 0 -80/3 0 - -
C’j 20/3 50/3

20 y1 = 5/6 ; y2 = 2/3 ; y3 = 0
= 0 ; = ; = 50/3
3
e’1 = 11/6 ; e’2 = 0 ; e’3 = 0
e1 = 0 ; e2 = 0 ; e3 = 80/3
Z’* = 230/3
Z* = 230/3

29
Tableau optimal primal Tableau optimal dual

On remarque que la solution optimale du dual peut être déduite de la solution du primal de la manière
suivante :

SOLUTION PRIMAL
VARIABLES Cj - Zj
C1-Z1 C2-Z2 C3-Z3 C4-Z4 C5-Z5 C6-Z6
0 20/3 50/3 0 0 80/3 -11/6 0 0 -5/6 -2/3 0

0 -20/3 -50/3 0 0 -80/3 11/6 0 0 5/6 2/3 0


Z’4- Z’5- Z’6- Z’1- Z’2- Z’3- e’1 e’2 e’3
C’4 C’5 C’6 C’1 C’2 C’3
Z’j – C’j VARIABLES
SOLUTION DUALE

En résumé : la valeur de Cj – Zj pour une variable d’écart du primal correspond à la valeur de yi


( la variable de décision du dual ) qui lui associée :

Pour e1 on a C4 – Z4 = - 5/6 ---------------------------------- y1 = |−5/6| = 5/6

Pour e2 on a C5 – Z5 = - 2 /3 ----------------------------------- y2 = |−2/3| = 2/3

Pour e3 on a C6 – Z6 = 0 ---------------------------------------- y3 = |0| = 0

Pour x1 on a C1 – Z1 = - 11/6 --------------------------------------- e’1 = |−11/6| = 11/6

Pour x2 on a C2 – Z2 = 0 --------------------------------------- e’2 = |0| = 0

Pour x3 on a C3 – Z3 = 0 --------------------------------------- e’3 = |0| = 0

Formulation du dual d’un programme linéaire :

Pour déterminer le dual d’un PL on doit suivre les règles suivantes :

 Si le primal est un PL de maximisation sous contraintes du type inférieur ou égal , alors le


dual est un PL de minimisation avec contraintes du type supérieur ou égal et vice versa.
 A toute contrainte du primal on associe une variable dans le dual et à toute variable du primal
on associe une contrainte du dual.
 On écrit le dual d’une manière similaire à celle développée dans la partie précédente.

La solution du dual correspond aux Cj – Zj des variables d’écarts dans


le primal en valeur absolue.

30
- Partie III
- ORDONNANCEMENT
« RESEAU PERT – temps »

- Exercices avec solutions


-

31
ORDONNANCEMENT
Les méthodes d’ordonnancement des tâches permettent d’avoir une représentation graphique.
cette représentation permet le positionnement relatifs des opérations dans le temps

I – La Méthode PERT « Programme evaluation and review technique » « Techniques


d’évaluation et examen des programmes »

Le PERT permet d’obtenir un ordonnancement optimum des tâches les unes par rapport aux
autres pour minimiser la durée totale d’un projet

A – Principe de la méthode
Réduire la durée totale d’un projet par une analyse détaillée des tâches ou activités
élémentaires et de leur enchainement dans le temps.

B - Notions de base
La méthode s’appuie sur une représentation graphique qui permet de bâtir un réseau constitué
des nœuds et des tâches

Un réseau PERT est constitué des étapes et des tâches

** ETAPE ou bien Nœud ou bien Sommet ou bien événement

C’est le commencement ou fin d’une tâche .

Une étape n’a pas de durée . on symbolise une étape par un cercle réparti en trois perties

** Tâche :

32
C’est le déroulement dans le temps d’une opération , contrairement à l’étape , la tâche
demande une certaine durée , des ressources et un cout. Elle est symbolisée par un vecteur ou
arc orienté, sur lequel seront indiqués l’action à effectuer et le temps estimé de réalisation de
cette tâche

A(8)

C’est une tâche symbolisée par A et la durée est 8. (Exp : 8 jours ou mois ou heures ou
……)

Remarque : la longueur des arcs n’est pas proportionnelle au temps d’exécution.

Et pour alléger la représentation, on ne note pas le nom complet de la tâche mais juste une
lettre ou un code.

C – Représentation graphique des étapes et des tâches dans un réseau


** Tâches successives

C’est-à-dire que la tâche B ne peut commencer que si A est terminée.

A précède B ou A est une antériorité de B

C ne peut commencer que si A et B sont terminées.

A et B précèdent C , ou A et B sont antériorité de C .

** Tâches simultanées

Elles peuvent commencer en même temps en partant d’une même étape.

33
A et B sont deux tâches simultanées. Elles commencent en même temps.

D ne peut commencer que si C est terminée.

** Tâches Convergentes

C’est-à-dire plusieurs tâches peuvent se terminer sur le même nœud .

A et B sont deux tâches convergentes vers le nœud 4.

Donc on ne peut pas commencer C sans terminer A et B

Remarque Importante

Soit la représentation suivante :

- A et B sont deux tâches simultanées


- A et C sont deux tâches successives ( la même chose pour C et D ; B et E )

Pour commencer D il faut terminer C ,

34
Si l’on souhaite que D ne commence que si C et B sont terminées c à d on souhaite
que C et B se terminent dans le nœud 4 ( se convergent ). qu’est ce qu’il faut faire ?
On a déjà la tâche B se termine dans le nœud 3 , et C se termine dans le nœud 4 et on
veut les converger vers le nœud 4.
Donc on va créer une tâche fictive qui sert à représenter ce type de contrainte de
liaison.
La tâche fictive et une tâche dont la durée et le coût sont nuls. on l’a représente par des
pointillés et on la note par X ( 0 ).

D – Détermination des niveaux des tâches


Pour représenter les tâches dans un graphe PERT , il faut procéder par niveau :

- Le niveau 0 contient les tâches qui n’ont pas de précédent


- Le niveau 1 contient les tâches dont les tâches précédentes sont de niveau 0
- Le niveau 2 contient les tâches dont les tâches précédentes sont de niveau 1
- Le niveau 3 contient les tâches dont les tâches précédentes sont de niveau 2
- ……………………………………………………………………………………
- …………………………………………………………………………………………
- Le niveau K contient les tâches dont les tâches précédentes sont de niveau K-1

E – Tâches commençantes et tâches finissantes


- Les tâches commençantes sont des tâches sans antérieur ( niveau 0 )
- Les tâches finissantes sont des tâches sans postérieur ( dernier niveau )

F – Détermination des Dates et des Marges


 LES DATES « on calcule les dates pour les sommets »
 Les Dates au plus tôt

35
Pour Un sommet, la date au plus tôt notée ( t ) représente concrètement le temps minimum
nécessaire pour atteindre ce sommet. « on ne peut pas faire mieux »

t1 = 0 , tj = Max ( ti + dij ) avec dij la durée de la tâche ij

Pour tous les i qui précèdent j

Exemple 1 :

On a : i = 2 ; j= 3 ; dij = d23 = durée de la tâche entre les nœuds 2 et 3 = 12


; t2 = 5 alors

t3 = ??

Dans cet exemple on a seulement un nœud qui précède le nœud 3 alors

t3 = Max (5 + 12 ) = 17

Exemple 2 :

Dans cet exemple il y a deux nœuds qui précèdent le nœud 4.

t4 = Max ( 5 + 12 ; 6 + 16 ) = Max ( 17 ; 22 ) = 22.

 Les Dates au plus tard

36
Pour un sommet, la date au plus tard notée Ti représente concrètement la date à la quelle cet état
doit obligatoirement être atteint si l’on ne veut pas augmenter la durée totale du projet ( il ne faut
pas faire pire »

Tn = tn , Ti = Min ( Tj - dij ) avec dij la durée de la tâche ij , Pour tous les j


suivant i

Exemple 1

Dans cet exemple on a un seul nœud qui suit qui suit le nœud 2 alors

i =2 ; j= 3 ; dij = d23 = durée de la tâche entre les nœuds 2 et 3 = 12

T3 = 15 ; T2 = ?? alors T2 = Min ( 15 – 12 ) = 3

Exemple 2

Dans ce cas on deux nœuds qui suivent le nœud 2

T2 = ? , T3 = 15 , T4 = 7

T2 = Min ( 15 – 10 ; 7- 3 ) = Min ( 5 ; 4 ) = 4

Remarque : on aura toujours t1 = T1

t est toujours inférieur ou égal à T.

T – t s’appelle marge de flottement du sommet

 LES MARGES « on calcule les marges pour les tâches »

 La marge libre d’une tâche représentera le retard maximal qu’on pourra


prendre dans la réalisation d’une tâche sans retarder le début des tâches
suivantes, on la note ML

37
 La marge totale d’une tâche représentera concrètement le retard maximal
qu’on pourra prendre dans la réalisation d’une tâche sans retarder l’ensemble
du projet, on la note MT

i : le numéro du premier nœud ;; j : le numéro du deuxième nœud

dij : la durée de la tâche entre le nœud i et le nœud j

ti : la date au plus tôt du nœud i ;; Ti : la date au plus tard du nœud i

tj : la date au plus tôt du nœud j ;; Tj : la date au plus tard du nœud j

La Marge Libre de la tâche ij : ML ij = tj - ti - dij

ML = date au plus tôt (j) – date au plus tôt (i) – la durée de la tâche

La Marge Totale de la tâche ij : MT ij = Tj - ti - dij

MT = date au plus tard (j) – date au plus tôt (i) – la durée de la tâche

Remarque : La différence entre ML et MT c’est que pour ML on utilise tj ( date au plus tôt )
par contre pour MT on utilise Tj ( date au plus tard )

Les marges sont toujours positives ou nulles.

G – Tâches critiques et chemin critique


 Une tâche critique c’est une tâche dont la marge totale est nulle. c’est une tâche
urgente, une tâche sur laquelle il ne faut pas prendre le retard si on ne veut pas
augmenter la durée totale du projet.
 Le chemin critique c’est un chemin qui passe par les tâches critiques.

Exercice d’application
Soit le projet à analyser :
Tâches Antérieur Durée
A ---------- 6
B ---------- 5
C A 4
D B 6
E C 5
F A , D 6

38
G E , F 4

Niveau 0 : A et B (n’ont pas d’antérieur)


Niveau 1 : C et D
Niveau 2 : E et F
Niveau 3 : G

Graphe partiel

La tâche A est nécessaire pour C , mais on remarque que A aussi est nécessaire pour F
, donc on doit relier A par F par une tâche fictive.

Calcul des dates :


Nœud Dates au plus tôt Nœud Dates au plus tard
(hâtives ) (tardives )

1 t 1= 0 7 T7 = t7 = 21

2 t2 = Max( 0+6) = 6 6 T6 = Min(21-4) = 17

3 t3 = Max(0+5) = 5 5 T5 = Min ( 17-6) = 11

4 t4 = Max ( 6+4 ) = 10 4 T4 = Min ( 17-5) = 12

t5 = Max( 6+0 ; 5+6 T 3 = Min ( 11-6 ) = 5


5 3
) = 11

39
t6 = Max ( 10+5 ; T2 = Min (12-4 ; 11-0 )
6 2 =8
11+6 ) = 17
T1 = Min ( 8-6 ; 5-5 ) =
7 t7 = Max ( 17+4 ) = 21 1 0

Graphe PERT Complet

Marges libres et Marges totales

Tâches Marge libre ( ML) Tâches Marge totale ( MT)


A ML(A) = 6 – 0 – 6 = 0 A MT(A) = 8 – 0 – 6 = 2
B ML(B)= 5 – 0 – 5 = 0 B MT(B)= 5 – 0 – 5 = 0
C ML( C) = 10 – 6 – 4 = 0 C MT(C)=12 – 6 – 4 = 2
D ML(D) = 11 – 5 – 6 = 0 D MT(D)= 11 – 5 – 6 = 0
E ML( E) = 17 – 10 – 5 = 2 E MT(E)=17 – 10 – 5 = 2
F ML(F) = 17 – 11 – 6 = 0 F MT(F)=17 – 11 – 6 = 0
G ML( G) = 21 – 17 - 4 = 0 G MT(G)=21 – 17 – 4 = 0

Les tâches critiques sont les tâches dont la marge totale est nulle.

Dans ce cas : B , D , F et G sont des tâches critiques

Alors le chemin critique ( BDFG).

Remarques :

 La durée du projet est 21.


 Par exemple, si on augmente la durée de la tâche F de 3 , ( la durée de F devient 9 au
lieu de 6 ), alors la durée du projet devient 24. ( 21 + 3 = 24 ) , F est une tâche critique
qui n’a pas de marge totale. [le retard de F = le retard du projet]
 Par exemple , si on augmente la durée de E de 7 ( la durée de E devient 12 au lieu de
5 ) , on retarde E de 7 et comme E a une marge totale de 2 donc on va retarder le
projet de ( 7 – 2 = 5 ) alors la durée du projet devient ( 21 + 5 = 26 ) .
*****MT(E) = 2 c à d on a un retard acceptable de 2 sans retarder le projet*****

40
EXERCICES AVEC SOLUTIONS

Exercice 1

On considère le projet suivant :


Tâche A B C D E F G H
Antériorité ------- ------- ------- A B C E,D E,F
Durée 5 3 4 4 5 2 2 4
1 - Déterminer les niveaux des tâches
2 – Tracer le graphe PERT et calculer les dates au plus tôt et les dates au plus tard pour
chaque sommet
3 – Calculer les marges libres et les marges totales
4 – déterminer le chemin critique
Solution
1 - A , B , C sont des tâches qui n’ont pas d’antériorité , donc le Niveau 0 : ( A-B-C)
D nécessite A ( N0 ) donc D appartient au niveau 1
E nécessite B ( N0 ) donc E appartient au niveau 1
F nécessite C ( N0 ) donc F appartient au niveau 1
Le Niveau 1 : D–E–F
G nécessite E et D ( niv 1 ) donc G appartient au niveau 2
H nécessite E et F ( niv 1 ) donc H appartient au niveau 2
Le Niveau 2 : G - H
2-

41
Remarque : - la numérotation des nœuds se fait dans un ordre quelconque
- La tâche E est nécessaire pour G et H , d’où la nécessité d’une tâche fictive.

 Calcul des dates


Dates au plus tard
Dates au plus tôt

t1 = 0 T7 = t7 = 13

t2 = Max ( 0 + 5) = 5 T6 = Min ( 13 – 4 ) =9

t3 = Max ( 0+3)=3 T5 = Min ( 13-2 , 9-0 )= 9

t4 = Max(0 + 4 ) = 4 T4 = Min ( 9-2)= 7

t5=Max ( 5+4 , 3+5 ) = 9 T3 = Min ( 9-5)= 4

t6 = Max ( 4 + 2 , 9 + 0 ) = 9 T2 = Min ( 9-4 )= 5

t7 = Max ( 9+2 , 9+4 ) = 13 T1 = Min ( 5-5 , 4-3 , 7-4 ) = 0


Marges libres et totales
Tâches Marge libre ( ML ) Tâche Marge totale ( MT )
A 5-0-5 = 0 A 5-0-5= 0
B 3-0-3= 0 B 4-0-3= 1
C 4-0-4= 0 C 7-0-4= 3
D 9-5-4= 0 D 9-5-4= 0
E 9-3-5= 1 E 9-3-5= 1
F 9-4-2= 3 F 9-4-2= 3
G 13-9-2= 2 G 13-9-2= 2
H 13-9-4= 0 H 13-9-4= 0

le Graphe complet avec les dates

42
Les tâches critiques : A - D - H
Le chemin critique ( ADH)
Exercice 2

Un projet peut être décomposé en 7 tâches , dans le tableau ce dessous, on indique


pour chaque tâche , sa durée et les tâches immédiatement antérieurs

Tâche A B C D E F G
Tâche ------ -------- A B C A,D E,F
antérieur
Durée 6 5 4 6 5 6 4

1-Tracer le graphe PERT

2- calculer les dates au plus tôt et les dates au plus tard pour chaque sommet
3 – Calculer les marges libres et les marges totales
4 – déterminer le chemin critique
Solution

1-

43
Remarque 1 : A est nécessaire pour C ,

mais aussi nécessaire pour F donc il faut une tâche fictive X(0).

Remarque 2 : ce graphe PERT est partiel * incomplet*par ce qu’ il ne contient pas les dates.

Donc on pressente le GRAPHE PERT complet après calcul des dates.

2-

Dates au plus tôt Dates au plus tard

t1 = 0 T7 = t7 = 21

t2 = Max ( 0 + 6) = 6 T6 = Min ( 21 – 4 ) = 17

t3 = Max ( 0+5)=5 T5 = Min ( 17- 6 )= 11

t4 = Max(6+ 4 ) = 10 T4 = Min ( 17-5)= 12

t5=Max ( 6+0 , 5+6 ) = 11 T3 = Min ( 11-6)= 5

t6 = Max ( 10 + 5 , 11 + 6 ) = 11 T2 = Min ( 12-4 ; 11-0 )= 8

t7 = Max ( 17+4 ) = 21 T1 = Min ( 8-6 , 5-5 ) = 0

GRAPHE PERT COMPLET

44
3- Marges libres et totales

tâche A B C D E F G
ML 0 0 0 0 2 0 0
MT 2 0 2 0 2 0 0

LES TÂCHES CRITIQUES : B-D-F-G

le chemin critique : ( BDFG)

Exercice 3

soit le projet à analyser

Tâche A B C D E F G H I J
Tâche --- --- A A A,B C C,D E F,G H,I
antérieur
Durée 6 2 3 7 2 4 2 3 4 1

1- tracer le graphe PERT , calculer les dates au plus tôt et au plus tard pour chaque sommet
2- calculer les marges libres et totales de chaque tâche
3- Déterminer le chemin critique
4- si la durée de la tâche E devient 12 au lieu de 2.

a – quelle est la date au plus tôt pour commencer H ?

b-quelle la durée du projet ?

Solution

1- graphe PERT partiel

45
Les dates :

Dates au plus tôt Dates au plus tard

t1 =0 T9 = t9 = 20
t2 = Max (0+6)= 6 T8 = Min (20-1) = 19
t3 =Max (0+2 , 6+0 ) = 6 T7= Min (19-3) = 16
t4 = Max (6+3)=9 T6= Min (19-4)=15
t5 = Max (6+7 , 9+0 ) = 13 T5=Min (15-2) = 13
t6 = Max (9+4 , 13+2 ) = 15 T4=min (13-0, 15-4) = 11
t7 = Max (6+2)= 8 T3 =Min (16-2) = 14
t8 = Max (15+4 , 8+3 ) = 19 T2 =Min (11-3 , 13-7 , 13-0) = 6
t9 = Max (19+1) = 20 T1 = Min (6-6 , 14-2 ) = 0

GRAPHE COMPLET

2- Marges libres et Marges totales

46
tâche A B C D E F G H I J
ML 0 4 0 0 0 2 0 8 0 0
MT 0 12 2 0 8 2 0 8 0 0

3- les tâches critiques (A –D-G-I-J) donc Le chemin critique : ( ADGIJ )


4-a- Normalement la date au plus tôt pour commencer H c’est 8 , mais si la durée
de E devient 12 ( 12 au lieu de 2 c – à d un retard de 10 ) , et comme la marge
libre de E est 0 ( c à d le retard n’est pas acceptable ) , donc on va retarder H aussi
de 10 , donc la date au plus tôt pour commencer H c’est 10 + 8 = 18.
ML( E) = 0 , si on retarde E de 10 alors on retarde la tâche suivante de 10 , parce que
ML( E) = 0 signifie qu’on a pas le droit de retarder la ou les tâche (s) suivante(s)

4- b - Normalement la durée du projet est 20 , mais si on retarde E de10 , et comme la


marge totale de E est 8 ( c à d il y a un retard acceptable de 8 ) , donc on va retarder le
projet de (10-8 = 2 ) par conséquent la durée du projet est 20+2=22.

MT( E) = 8 , si on retarde E de 10 alors on retarde tout le projet de 10-8=2


parce que MT( E) = 8 signifie qu’on a le droit de retarder E de 8 et la fin du projet
ne change pas.

Remarque : La marge libre d’une tâche a une relation avec la tâche ou les tâches
suivante (s) , par contre la marge totale a une relation avec tout le projet.

47

Vous aimerez peut-être aussi