Vous êtes sur la page 1sur 36

Chapitre Premier


Chapitre Deux


Chapitre Trois

Problèmes d’ordonnancement

Les problèmes d’ordonnancement, qui sont une application directe des méthodes de re-
cherche des chemins optimaux dans un graphe, se posent lorsque, en vue de la réalisation
d’un objectif (projet), on doit accomplir un ensemble de tâches (opérations) soumises, elles
mêmes, à un ensemble de contraintes.
Dans ce chapitre il s’agit de montrer comment :
• traduire par un graphe, les opérations qui concourent à la réalisation d’un même objectif
compte tenu de leurs durées de réalisation et des articulations entre elles ;
• évaluer la durée optimale de réalisation de cet objectif ;
• associer les opérations avec les coûts de moyens mis en œuvre pour les réaliser et ;
• harmoniser ces moyens pour réaliser l’objectif en tenant compte de la disponibilité de
ces moyens.

3.1 Représentation d’un ordonnancement par un graphe


Un ordonnancement peut être représenté par un graphe selon deux méthodes :
• la méthode américaine PERT (Program Evaluation and Research Task) appelée aussi
"méthode potentiel-étapes" et
• la méthode française MPM (Méthode des Potentiels Metra) appelée aussi "méthode
potentiel-tâches".
Dans ces deux méthodes, on appelle :
• une tâche : une opération qui a une certaine durée et
• une étape : un instant qui marque le début ou la fin d’une tâche.

3.1.1 Le graphe PERT


1. Principe de la représentation
Dans un graphe PERT d’ordonnancement :
• l’arc représente la tâche ;
• les sommets représentent les étapes ;
• la valeur portée sur l’arc représente la durée de la réalisation de la tâche.
Chapitre Trois. Problème d’ordonnancement 4

Ainsi, sur la figure 3.1, la tâche (i) est représentée par l’arc (x, y) ; x étant l’étape début,
y l’étape fin et d(i) la durée de réalisation de la tâche.

Figure 3.1 – Durée de la tâche i

Nota : Une étape x est réalisée, si et seulement si, toutes les tâches qui y aboutissent sont
achevées, y compris les plus longues. La réalisation de l’étape x est un préalable au démarrage
des tâches qui partent de x. Ainsi, sur la figure 3.2, si les 3 tâches (a), (b) et (c) démarrent
le même jour, l’étape x ne serait réalisée qu’après 10 jours.

Figure 3.2 – Durée de la tâche i

2. Type de contraintes
Le graphe PERT d’ordonnancement ne permet de représenter que les tâches soumises à
un seul type de contrainte, à savoir : la contrainte de postériorité stricte, qui s’énonce
comme suit : "une tâche (j) ne peut pas commencer tant que la tâche (i) qui la précède n’est
pas complètement terminée". Cette contrainte peut graphiquement être représentée par la
figure 3.3.

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 5

Figure 3.3 – Contrainte de postériorité

Dans notre cas nous proposons d’étudier un cas particulier de problème d’ordonnance-
ment c’est celui appelé "Problème central d’ordonnancement" (P.C.O).
Dans le P.C.O seul les contraintes de postériorité stricte : l’exécution de la tâche j ne peut
être commencée que lorsque la tâche (i) qui lui est antérieure est achevée sont considérées.

3.1.2 le graphe MPM


1. Principe de la représentation
Dans un graphe MPM d’ordonnancement :
– le sommet représente la tâche ;
– l’arc représente la contrainte ;
– la valeur portée sur l’arc représente l’état d’avancement de la tâche initiale par rapport
à la tâche terminale.
Ainsi, sur la figure 3.4 la tâche (j) ne peut pas démarrer tant que la tâche (i) qui la
précède n’a pas encore atteint aij unités de temps depuis son début. Autrement dit, entre le
début de (i) et le début de (j), il doit s’écouler au minimum aij unités de temps.

Figure 3.4 –

Nota : Si aij = d(i), on retombe dans le cas de contrainte de postériorité stricte. Ainsi, la
méthode PERT apparaît comme un cas particulier de la méthode MPM.

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 6

2. Types de contraintes
Le graphe MPM d’ordonnancement permet de représenter cinq types de contraintes, à
savoir :
– début à début : le début de la tâche (j) ne peut pas avoir lieu tant que la tâche (i)
qui la précède n’a pas encore atteint un certain délai depuis son début ;
– fin à fin : la fin de la tâche (j) ne peut pas intervenir sans qu’il ne se soit écoulé un
certain temps depuis la fin de la tâche précédente ;
– début à fin : la fin de la tâche (j) ne peut pas avoir lieu sans qu’il ne se soit écoulé
un certain temps depuis la fin de la tâche précédente ;
– fin à début : le début de la tâche (j) ne peut pas avoir lieu sans qu’il ne se soit écoulé
un certain temps depuis la fin de la tâche précédente ;
– contraintes de localisation temporelle : elles permettent de localiser dans le temps
chacune des tâches. Par exemple : une tâche ne peut pas commencer ou être achevée
avant une certaine date (indépendamment du fait qu’elle soit succédée par d’autres
tâches).
Nota :
1. Dans ce cours, nous allons nous limiter aux contraintes de début à début en considé-
rant que la durée d’avancement de la tâche (i) par rapport à la tâche (j) correspond à
la durée de réalisation de la tâche (i).
2. Le graphe MPM d’ordonnancement contient deux tâches de durée nulle dite "tâches de
localisation temporelle :
– (DEB) : qui marque le début du projet et
– (FIN) : qui marque la fin des travaux.
Ainsi tout graphe MPM d’ordonnancement a la structure générale suivante :
Dans l’établissement d’un graphe PERT, les situations qui peuvent être rencontrées sont :
1. Tâches successives ou séquentielles
Deux tâches (i) et (j) qui se succèdent immédiatement se représentent par des arcs qui
se suivent.

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 7

Figure 3.5 – Structure d’un graphe MPM

Figure 3.6 – Taches séquentielles

2. Tâches simultanées
Deux tâches simultanées, c’est-à -dire qui commencent en même temps, sont représen-
tées comme indiqué sur la figure 3.7.
3. Tâches convergentes
Deux tâches (i) et (j) convergentes, c’est-à -dire qui précèdent une même étape x, sont
représentées comme indiqué sur la figure 3.8. e
4. Tâches fictives ou artificielles
Ce sont des tâches qui ne représentent aucune opération, ne nécessitent aucun moyen
et ont une durée nulle. Elles ont un double rôle :
– Traduire des liaisons logiques entre les tâches
Considérons la figure 3.9, la tâche (2) succède aux tâches (1) et (4), de même la tâche
(3) succède aussi aux tâches (1) et (4).
Supposons maintenant que (2) succède à (1) et (4), et que (3) ne succède qu’à (4),

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 8

Figure 3.7 – Taches simultanées

Figure 3.8 – Taches convergentes

Figure 3.9 – Successions des taches

on ne peut plus employer le graphe de la figure 3.9, car il ajoute une contrainte qui
n’est pas imposée : la tâche (3) succède à (4). Il n’existe aucune façon de traduire
cet ensemble des contraintes par des arcs symbolisant de tâches réelles. On utilise
alors un arc en pointillé représentant "une tâche fictive". Le graphe de la figure 3.10
correspond à cette nouvelle relation d’ordre entre les tâches.

– Maintenir la correspondance entre la représentation sagittale et la repré-

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 9

Figure 3.10 – Tache fictive

sentation matricielle du graphe d’ordonnancement


Considérons deux tâches "parfaitement parallèles" (2) et (3), c’est-à -dire ayant une
même étape début et une même étape fin :

Figure 3.11 –

La représentation du graphe de la figure 3.11 par la matrice booléenne est la suivante :

a b c d
a 0 1 0 0
b 0 0 1 0
c 0 0 0 1
d 0 0 0 0
Les tâches (2) et (3) n’apparaissent pas distinctement sur cette matrice à travers l’arc
(b, c). Il faut donc créer "une tâche fictive" pour les différencier afin de respecter la
correspondance entre les représentations matricielle et sagittale. La figure 3.11 serait
remplacée par la figure 3.12 suivante :

Exemple 3.1.

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 10

Figure 3.12 – Tache fictive

Un programme de travail comprend 9 tâches. Les durées de réalisation (en jours) ainsi
que les opérations qui doivent précéder chaque tâche, sont données dans le tableau suivant :

Tâches (i) (1) (2) (3) (4) (5) (6) (7) (8) (9)
Durée 3 2 4 7 2 3 2 2 1
(jours)
Tâches - - - (1), (2) (1), (2) (3) (1), (5), (6) (4), (5), (6) (8), (7)
antérieures
Représenter ce programme de travail par un graphe d’ordonnancement.

1. Le graphe PERT
les difficultés du tracé du graphe PERT résident dans le fait que :
• l’on doit au préalable repérer toutes les contraintes redondantes 1 et les supprimer
du problème ;
• l’on peut être amené à introduire des « tâches fictives » pour éviter d’introduire des
contraintes étrangères au problème et donc risquer de le fausser.
Pour établir le graphe PERT d’ordonnancement, il convient de commencer par dresser
le tableau suivant :
1. S’il existe un couple des tâches (i, j), c’est-à -dire (i) précède (j), toute contrainte (i, k), conséquence
de (k − 1) contraintes du chemin (i, j), (j, j1 ), (j1 , j2 ), . . . , (jk−1 , k) ; est une contrainte redondante car, la
relation d’antériorité est transitive.

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 11

Tâches précédentes Tâches à exécuter Tâches suivantes


- (1) (4), (5), (7)
- (2) (4), (5)
- (3) (6)
(1), (2) (4) (8)
(1), (2) (5) (7), (8)
(3) (6) (7), (8)
(1), (5), (6) (7) (9)
(4), (5), (6) (8) (9)
(8), (7) (9) -
• tâche (1) précède (5) et (5) précède (7), cela implique que (1) précède (7), par transiti-
vité de la relation d’antériorité. Donc la contrainte "(1) précède (7)" est une contrainte
redondante à supprimer ;
• Les tâches (1), (2) et (3) n’ont pas de précédents, ce sont des « tâches début » ; elles
commencent le graphe comme étant des tâches simultanées ;
• la Tâche (9) n’a pas de descendant direct, c’est la "tâche fin" ;
• les tâches (1) et (2) n’ont pas d’antécédents directs, mais sont préalables à la fois à
(4) et (5), ce sont des tâches parfaitement parallèles. Il convient alors de ne pas réunir
leurs étapes fin, mais de figurer un arc pointillé (tâche fictive) entre elles ;
• Les tâches (4), (5) et (6) n’ont pas toutes les mêmes préalables mais sont préalables
à une même tâche (8). Comme (5) et (6) sont préalables aussi à (7) en dehors de (8),
on réunit leurs étapes fin qui doivent correspondre à l’étape début de (7). La tâche (4)
n’ayant que (8) pour descendant direct, son étape fin doit correspondre à l’étape début
de (8). On intercale enfin un arc pointillé (tâche fictive) orienté de l’étape correspondant
à la fin de (5) et (6) et au début de (7) vers l’étape correspondant à la fin de (4) et au
début de (8).
On construit le graphe PERT d’ordonnancement en réunissant les différentes séquences du
tableau 3.2. Pour commencer, on fait diverger les tâches début (1), (2) et (3) d’une étape
début a et pour terminer, on fait converger la tâche fin 9 vers l’étape fin z. On aboutit au
graphe PERT d’ordonnancement de la figure 3.13.

2. Le graphe MPM
Pour construire le graphe MPM, après avoir supprimé les contraintes redondantes, on fait
diverger du sommet de la tâche (DEB), les arcs [(DEB), (1)] ; [(DEB), (2)] et [(DEB), (3)]
de durée 0. L’opération (1) précède (4) et (5), on crée les arcs [(1), (4)] et [(1), (5)] chacun
portant la valeur 3, durée de la tâche (1). On fait de même pour toutes les autres tâches
représentées par les sommets. A la fin, on fait converger le sommet de la tâche (9) vers le
sommet de la tâche (FIN). On aboutit au graphe MPM d’ordonnancement de la figure 3.14.
Nota : Le graphe MPM ne contient pas de tâches fictives et n’a pas d’étapes.

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 12

Figure 3.13 – Graphe PERT d’ordonnancement

Figure 3.14 – Graphe MPM d’ordonnancement

3.2 Détermination de la durée optimale d’un projet


Jusqu’en 1958, les praticiens de l’ordonnancement ne disposaient que du planning à
barres, appelé "diagramme de GANTT" pour ce problème de manière approchée non systé-
matique. Avec les études poussées sur la théorie des graphes, les méthodes PERT et MPM
ont permis d’aborder ce problème de manière systématique permettant :
• de déterminer le temps minimum nécessaire à la réalisation d’un objectif ;
• de déterminer les étapes critiques (jalons) et les tâches critiques et ;
• d’évaluer les marges des tâches non critiques.

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 13

3.2.1 Le diagramme de GANTT


Le diagramme de GANTT se présente sous forme d’un tableau quadrillé où chaque co-
lonne correspond à une unité de temps et chaque ligne à une opération à réaliser. On définit
une barre horizontale pour chaque tâche ; la longueur de celle-ci correspond à la durée de
la tâche. La position de la barre sur le graphique est fonction des liens entre les différentes
tâches.
On commence le plus tôt possible par les tâches qui n’ont pas de tâches antérieures. On
représente ensuite les tâches ayant pour antérieures les tâches déjà représentées et ainsi de
suite . . .On parle alors de "jalonnement au plus tôt".

Exemple 3.2.

Considérons le programme de travail donné à l’exemple 28 et supposons que les travaux


commencent le 03 Octobre.
• Si on effectue un "jalonnement au plus tôt", c’est-à -dire à partir du 03 Octobre,
on obtient le diagramme de GANTT suivant :

Figure 3.15 –

– Si la réalisation de la tâche (2) prend 3 jours au lieu de 2 jours prévus, les débuts
des tâches postérieures (4) et (5) ne seront pas affectés, la durée optimale du projet
de même. Par contre si elle prend 4 jours, les débuts de tâches (4) et (5) ainsi que
la durée optimale du projet seront affectés. La tâche (2) admet donc un "flottement"
d’un jour sans impact sur la durée optimale du projet.

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 14

– Si la réalisation de la tâche (1) prend 4 jours au lieu de 3 jours prévus, la durée


optimale du projet serait directement affectée ainsi que le début des tâches (4) et
(5) postérieures à (1). La tâche (1) n’admet pas de « flottement », c’est-à -dire « ni
retard dans son démarrage ni allongement de sa durée de réalisation » si on veut que
les travaux soient achevés dans 13 jours.
• Si on veut que les travaux soient terminés le 16 Octobre au soir, on va effectuer un
"jalonnement au plus tard" pour savoir quand démarrer les différentes opérations.
Pour faire un "jalonnement au plus tard" :
– on commence par positionner le plus tard possible, les tâches qui n’ont pas de suc-
cesseurs, dans notre exemple, (9) ;
– on positionne le plus tard possible les tâches qui ont pour successeurs celles qu’on
vient de représenter, dans notre exemple, (7) et (8) ;
– et ainsi de suite jusqu’aux tâches qui n’ont pas d’antérieures.
Au niveau graphique, cela se présente comme indiqué sur la figure suivante :

Figure 3.16 – Graphe MPM d’ordonnancement

Il suffit de commencer le 04 Octobre au matin pour avoir terminé la réalisation du proto-


type le 16 Octobre au soir. On peut remarquer qu’en jalonnant au plus tard, on a repoussé
le commencement des tâches le plus tard possible, on a plus de "flottement", donc plus de
flexibilité.
L’intérêt principal du diagramme de GANTT réside dans sa simplicité de construction,
de présentation et de compréhension. Ce qui explique son utilisation encore très actuelle
dans les entreprises, à partir de logiciel informatique comme "PROJECT".

Exemple 3.3.

Ci-dessus le diagramme de GANTT du programme de travaux de l’exemple 29, réalisé à


partir du logiciel PROJECT.

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 15

Figure 3.17 – Diagramme de GANTT du logiciel PROJECT

3.2.2 Le graphe PERT-TEMPS


Avant de déterminer la date optimale de réalisation d’un objectif (un projet), il est
nécessaire d’examiner pour toutes les étapes et les tâches, les "dates au plus tôt (DTO)"
et les "dates au plus tard (DTA)" de leur réalisation, le début des opérations étant
supposé avoir lieu à la date 0.

1. Les étapes
a) Date au plus tôt des étapes
Soit l’étape x d’un graphe PERT, on appelle "date au plus tôt de l’étape x", notée
f (x) : "la première date à laquelle il est possible de réaliser l’étape x étant donné les
contraintes et les durées des tâches".
Si a est l’étape début du graphe PERT et z son étape fin, alors la DTO de l’étape fin
z soit f (z), est la date à laquelle il est possible d’achever l’ensemble des travaux. La
durée optimale du projet est donnée par : f(z)-f(a).
Cette durée est égale à la valeur maximale des chemins allant de l’étape début a à
l’étape fin z du graphe.
La détermination de f (x), ∀x ∈ X, se fait à partir de l’algorithme de BELLMAN-
KALABA pour un graphe mis en ordre.
Exemple 3.4.
Considérons le graphe PERT de la figure 3.13 et appliquons l’algorithme de B-K pour
déterminer le calendrier au plus tôt des étapes.
• Mis en ordre du graphe
R0 = {a} R3 = {e}
R1 = {b, d} R4 = {f } R6 = {z}
R2 = {c} R5 = {g}
• Application de l’algorithme de B-K

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 16

R0 f (a) = 0
R1 f (b) = v(a, b); f (d) = v(a, d) = 4
R2 Γ− (c) = {a, b} f (c) = max [f (a) + v(a, c); f (b) + v(b, c)]
= max [0 + 3; 2 + 0] = 3
R3 Γ− (e) = {c, d} f (e) = max [f (c) + v(c, e); f (d) + v(d, e)]
= max [3 + 2; 4 + 3] = 7
R4 Γ− (f ) = {c, e} f (f ) = max [f (c) + v(c, f ); f (e) + v(e, f )]
= max [3 + 7; 7 + 0] = 10
R5 Γ− (g) = {e, f } f (g) = max [f (e) + v(e, g); f (f ) + v(f, g)]
= max [7 + 2; 10 + 12] = 12
R6 Γ− (z) = {g} f (z) = [f (g) + v(g, z)] = 12 + 1 = 13
On obtient :
x a b c d e f g z
f(x) 0 2 3 4 7 10 12 13
La durée optimale des travaux est de : f (z) − f (a) = 13 − 0 = 13jours. Si les travaux
débutent par exemple le 03 Octobre et se déroulent sans incidents, la date "au plus tôt"
de la fin de travaux est le 15 Octobre [03 Octobre (inclus) + 13 jours].

Nota : Pour que les travaux s’achèvent le 15 Octobre au plus tôt, chaque étape doit
être réalisée au plus tôt dans le nombre des jours indiqués à dater du début des travaux.
Par exemple, l’étape e qui marque la fin des tâches (5) et (6) peut être réalisée au plus
tôt dans 7 jours à dater du début des travaux.
b) Date au plus tard des étapes
Soit l’étape x d’un graphe PERT, on appelle "date au plus tard de l’étape x" ; notée
f ∗ (x) : "la date à la quelle il faut nécessairement réaliser l’étape x pour terminer le
projet dans sa durée optimale, c’est-à -dire sans que f (z) ne soit retardée". Il découle
de cette définition que pour l’étape fin z du graphe PERT : f (z) = f ∗ (z).
Les valeurs de f ∗ (x), ∀x ∈ X, peuvent être déterminées par application de l’algorithme
de BELLMAN-KALABA, en partant du dernier niveau et en remontant pas à pas
jusqu’au niveau zéro, le graphe étant ordonné.
• Rn : f ∗ (z) = f (z)
• Rn−1 : f ∗ (y) = f ∗ (x) − v(y, z)
• Rn−2 : f ∗ (x) = M iny∈Γ(x) [f ∗ (y) − v(x, y)]
• ...
• jusqu’à R0 .
Exemple 3.5.
Considérons le graphe PERT 3.13 et appliquons l’algorithme de B-K pour déterminer
le calendrier au plus tard des étapes.

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 17

R6 f ∗ (z) = f (z) = 13
R5 f ∗ (g) = f ∗ (z) − v(g, z) = 13 − 1 = 12
R4 Γ(f ) = {g} f ∗ (f ) = f ∗ (g) − v(f, g) = 12 − 2 = 10
R3 Γ(e) = {f, g} f ∗ (e) = M in [f ∗ (f ) − v(e, f ); f ∗ (g) − v(e, g)]
= M in [10 − 0; 12 − 2] = 10
R2 Γ(c) = {e, f } f ∗ (c) = M in [f ∗ (e) − v(c, e); f ∗ (f ) − v(c, f )]
= M in [10 − 2; 10 − 7] = 3
R1 Γ(b) = {c} f ∗ (b) = f ∗ (c) − v(b, c) = 3 − 0 = 3
Γ(d) = {e} f ∗ (d) = f ∗ (e) − v(d, e) = 10 − 3 = 7
R0 Γ(a) = {b, c, d} f ∗ (a) = M in [f ∗ (b) − v(a, b); f ∗ (c) − v(a, c); f ∗ (d) − v(a, d)]
= M in [3 − 2; 3 − 3; 7 − 4] = 0
On obtient :
x a b c d e f g z

f (x) 0 3 3 7 10 10 12 13
Ainsi pour que les travaux débutés par exemple le 03 Octobre s’achèvent le 15 Octobre
"au plus tard", chaque étape doit être réalisée au plus tard dans le nombre des jours
indiqués à dater du début des travaux. Par exemple l’étape e qui marque la fin des
tâches (5) et (6) peut être réalisée au plus tard dans 10 jours à dater du début des
travaux.
c) Ordonnancement par niveau
En pratique, sur le graphe PERT, chaque sommet peut être représenté par un cercle
subdivisé en trois zones de la manière suivante :

Figure 3.18 –

De la figure 3.18, le n◦ de l’étape n’est pas une donnée initiale du problème, il résulte de
la construction du graphe. Ainsi, le graphe PERT de la figure 3.13, peut être représenté
de la manière suivante en tenant compte de sa mis en ordre, des DTO et DTA des
étapes.
Pour toute étape x ∈ X, l’intervalle [f (x); f ∗ (x)] est appelé "intervalle de flottement
(F)", c’est donc l’intervalle dans lequel doit se situer la réalisation de l’étape x pour ne
pas perturber la durée optimale des travaux.
Toute étape x telle que f (x) = f ∗ (x) ; c’est-à -dire n’admettant pas un intervalle de

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 18

Figure 3.19 –

flottement, est dite étape critique. Dans le cas contraire, où f (x) 6= f ∗ (x) l’étape est
dite non critique.
En reprenant dans le tableau suivant, les DTO et DTA des étapes calculées ci haut, on
peut faire les observations suivantes :
Etapes f (x) f ∗ (x) IF Nature de l’étape
a 0 0 0 Critique
b 2 3 1 Non Critique
c 3 3 0 Critique
d 4 7 3 Non Critique
e 7 10 0 Non Critique
f 10 10 0 Critique
g 12 12 0 Critique
z 13 13 0 Critique
Le chemin passant par les étapes critiques est dit "chemin critique", c’est le chemin
de valeur maximale dans le graphe. Sa valeur correspond donc à la durée optimale du
projet. Ainsi, dans le graphe de la figure 3.19, le chemin passant par les étapes critiques
a, c, f, g, z est un chemin critique de valeur 13.

Nota : Dans un graphe d’ordonnancement on peut avoir plus d’un chemin critique.

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 19

2. Les tâches
a) Date au plus tôt des tâches
Soit la tâche (i) définie par l’arc (x, y) comme indiqué la figure 3.20.

Figure 3.20 –

On appelle "date au plus tôt de la tâche (i)", notée t(i) : "la première date à laquelle il
est possible de démarrer la tâche (i) étant donné les contraintes et les durées des tâches".
D’après la figure 3.20, t(i) correspond à la date au plus tôt de l’étape x : t(i) = f (x).
b) Date au plus tard des tâches
On appelle "date au plus tard" de la tâche (i), notée t∗ (i) : "la date à laquelle il faut
impérativement démarrer la tâche (i) si on veut absolument achever le projet dans sa
durée minimale". Considérons le graphe suivant :

Figure 3.21 –

La date au plus tard de l’étape x, f ∗ (x) = M in[f ∗ (y) − v(x, y); f ∗ (z) − v(x, z)] ne

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 20

correspond pas à la date au plus tard de (i), car le minimum peut ne pas correspondre
à la tâche (i). D’après la figure 3.21, la date au plus tard de la tâche (i), définie par
l’arc (x, y) est donnée par : t∗ (i) = f ∗ (y) − v(x, y)

Exemple 3.6.

Considérons le graphe PERT de la figure 3.19 et déterminons le calendrier au plus tôt et


au plus tard des tâches. Le tableau suivant reprend les t(i) et les t∗ (i).

Tâches (i) t(i) t∗ (i) Nature de la tâche


(1) 0 3-3=0 Critique
(2) 0 3-2=1 Non Critique
(3) 0 7-4=3 Non Critique
(4) 3 10-7=3 Critique
(5) 3 10-2=8 Non Critique
(6) 4 10-3=7 Non Critique
(7) 7 12-2=10 Non Critique
(8) 10 13-1=12 Critique
(9) 12 13-1=12 Critique

Ainsi par exemple ; la tâche (5) peut être démarrée au plus tôt dans 3 jours et au plus
tard dans 8 jours à dater du début des travaux, si on veut absolument les achever dans 13
jours.
Dans le tableau 3.6, nous remarquons que les tâches critiques (1), (4), (8) et (9) sont
telles que leur date au plus tôt est égale à leur date au plus tard. Donc :
Si (i) est une tâche critique : t(i) = t∗ (i).

3. Calcul des marges


Si l’on ne peut retarder l’exécution d’aucune tâche critique sous peine de faire prendre un
retard correspondant pour la fin des travaux, une tâche non critique (i) peut, au contraire,
soit débuter après la date t(i) marquant son début possible, soit être exécutée plus lentement
que prévu. Ainsi, la tâche (6) par exemple, peut commencer à t(6) = 4, mais comme elle
ne dure que 3 jours, on peut, si on le désire, soit la commencer à la date t∗ (6) = 7, c’est-à
-dire décaler son début de 3 jours, soit allonger sa durée de réalisation de 3 jours [puisque
t(6) + d(6) + 3 = 10 = t∗ (7)]. Dans les deux cas, cette tâche deviendrait critique.
• La Marge Libre
Soit la tâche (i) définie par l’arc (x, y) (figure 3.20). On appelle "marge libre" de la
tâche (i), notée ML(i) : "le délai de flottement dont on dispose pour démarrer la tâche
(i) sans modifier la date au plus tôt de l’étape y". Elle est donnée par : M L(i) =
f (y) − f (x) − v(x, y).
La marge libre est « la réserve de temps » dont on dispose sur une tâche et qui permet,
si elle est consommée, de ne pas retarder les dates au plus tôt des tâches ultérieures.
Ainsi, pour l’opération non critique (5) ; la M L(5) = 7 − 3 − 2 = 2 jours : qui signifie

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 21

qu’on peut retarder le début de l’opération (5) de 2 jours ou allonger sa durée de 2


jours sans modifier les dates au plus tôt des opérations (7) et (8) qui dépendent de (5).
Nota : On ne dispose de la totalité de la marge libre pour l’opération (i) que si les
opérations qui lui sont préalables ont effectivement commencé à leurs dates au plus
tôt.
• La Marge Totale
On appelle marge totale de la tâche (i), notée M T (i) : "le délai de flottement dont on
dispose pour démarrer la tâche (i) sans modifier la DTA de l’étape y". Elle est donnée
par :

MT(i) = f ∗ (y) − f (x) − v(x, y). (3.1)

Après réamenagement des termes, en tenant compte de (3.5) et (3.6) on obtient :

MT(i) = t∗ (i) − t(i) (3.2)

La marge totale de l’opération (i) est "la réserve de temps" sur l’opération (i) qui, si
elle est consommée, fait que (i) se terminera à sa date au plus tard, c’est-à -dire qu’elle
deviendra critique lors de l’exécution du projet. Ainsi, pour l’opération non critique (5), la
M T (5) = 10 − 3 − 2 = 5 jours : qui signifie qu’on peut retarder le début de l’opération (5)
de 5 jours ou allonger sa durée de réalisation de 5 jours sans modifier la date au plus tard
de l’étape "e" et donc sans incidence sur la durée optimale du projet.
Une opération (i) ne pourra bénéficier effectivement de sa marge totale M T (i), que si
les dates au plus tôt des étapes préalables à (i) ont été respectées, ce qui implique que les
marges totales ne sont pas indépendantes. Par exemple, pour les opérations non cri-
tiques (5) = (c, e) et (7) = (e, g), on a M T (5) = 10−3−2 = 5 jours et M T (7) = 12−7−2 = 3
jours. Si l’on retarde lors de l’exécution la tâche (5) de 5 jours, alors l’opération (7) n’a plus
de marge et devient critique.

Nota : Il résulte des définitions précédentes que :


1. M L(i) ≤ M T (i)
2. Si la tâche (i) est critique, M T (i) = 0
3. La M L d’une tâche fictive n’a pas de sens, par conséquent, si une tâche (i) n’a pour
seul descendant direct qu’une tâche fictive, sa M L serait augmentée de la M L de la
tâche fictive. C’est le cas de la tâche (2) : M L(2) = 2 − 0 − 2 + (3 − 2 − 0) = 1.

Exemple 3.7.

Considérons le graphe PERT de la figure 3.19 et déterminons les ML et MT des tâches.

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 22

Tâches (i) ML(i) MT(i) Nature de la tâche


(1) 3-0-3=0 0-0=0 Critique
(2) 2-0-2+(3-2-0)=1 1-0=1 Non Critique
(3) 4-0-4=0 3-0=3 Non Critique
(4) 10-3-7=0 3-3=0 Critique
(5) 7-3-2=2 8-3=5 Non Critique
(6) 7-4-3=0 7-4=3 Non Critique
(7) 12-7-2=3 10-7=3 Non Critique
(8) 12-10-2=0 10-10=0 Critique
(9) 13-12-1=0 12-12=0 Critique

3.2.3 Le graphe MPM


Le calcul des calendriers au plus tôt et plus tard et celui des marges d’une tâche, se fait
comme précédemment, mais moyennant certaines modifications.

1. Les dates au plus tôt


On recourt à l’algorithme de BELLMAN-KALABA suivant, pour un graphe ordonné :
• R0 : t(DEB) = 0
• R1 : t(i) = aDEB,i
...
– Rk : t(i) = M ax(j)∈Γ− (i) [t(j) + aj,i ]
• ...
• jusqu’à Rn

2. Les dates au plus tard


On applique l’algorithme suivant, pour un graphe ordonné :
• Rn : t∗ (F IN ) = t(F IN )
• Rn−1 : t∗ (i) = t∗ (F IN ) − ai,F IN
...
– Rk : t∗ (i) = M in(j)∈Γ(i) [t∗ (j) − ai,j ]
...
• jusqu’à R0

Exemple 3.8.

Considérons le graphe d’ordonnancement MPM de la figure 3.14 et déterminons le calen-


drier au plus tôt et le calendrier au plus tard des tâches.
• Tracé du graphe MPM mis en ordre

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 23

Figure 3.22 –

3. La marge libre

ML(i) = Min(j)∈Γ(i) [t(j) − t(i) − aij ] (3.3)

4. La marge totale
M T (i) = M in(j)∈Γ(i) [t∗ (j) − t(i) − aij ]
= M in(j)∈Γ(i) [t∗ (j) − aij ] − t(i)

MT(i) = t∗ (i) − t(i) (3.4)

Exemple 3.9.

En considérant le graphe d’ordonnancement MPM de la figure 3.22, on retrouve les mêmes


valeurs que celles obtenues par la méthode PERT (tableau 3.7).

Nota :
1. Les DTA et les DTO, sont des « limites de sécurité » et jouent un rôle de sonnettes
d’alarme lors de la mise à exécution d’un programme de travail. En effet, si toutes les
étapes se réalisent avant leur DTA, la durée optimale du projet serait respectée.
Par contre s’il arrive que la date de réalisation d’une étape dépasse sa DTA, la date de
réalisation de l’ensemble des travaux sera retardée.

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 24

2. Les intervalles de flottement et les marges libres mesurent "l’élasticité" d’un programme
de travail. Plus elles sont réduites, plus le programme de travail est rigide. Un pro-
gramme de travail est "totalement rigide" si tous les chemins de son graphe d’ordon-
nancement sont critiques : il n’y a alors ni intervalles de flottement, ni marges libres.
Aucun retard ne peut être toléré sur quelque tâche que ce soit.

3.3 Prise en compte du coût


Au point précédent (III.2), nous venons de voir que l’identification du chemin critique
permet de connaître les jalons (dates critiques) et met en évidence la marge de manœuvre
que l’on dispose dans l’exécution d’un programme de travail.
En général, "le temps d’exécution d’une tâche varie en fonction du coût de cette tâche".
C’est cet aspect que nous allons prendre en considération pour savoir s’il est possible :
• de réduire le coût de réalisation d’un programme de travail sans modifier sa durée
optimale ;
• d’accélérer le programme initial au moindre coût.

3.3.1 Considérations générales


Considérons une tâche (i) dont on connaît la durée de réalisation d(i) et le coût de
réalisation c(i). Tout gestionnaire rationnel cherchera :
• à accomplir cette tâche en moins de temps possible, ce qui implique l’utilisation de
beaucoup de moyens et donc, l’augmentation du coût de sa réalisation. Toute fois,
le gestionnaire se heurte à une limite minimale de la durée de réalisation en deçà de
laquelle il ne peut pas réaliser la tâche. Cette "durée minimale" notée d(i), correspond à
la durée de l’opération lorsque celle-ci est accélérée au maximum, le coût correspondant,
noté c(i), est "maximal".
• à réaliser la même tâche (i) au moindre coût. Ce qui implique l’utilisation de très peu
de moyens. La conséquence ici est l’augmentation de la durée de réalisation de la tâche.
Toute fois, il y a une limite minimale de coût en deçà de laquelle il ne peut pas réaliser
la tâche. A cette "limite minimale de coût", notée c(i), correspond "une durée normale"
de réalisation de la tâche (i), notée d(i).
De ce qui précède, nous pouvons admettre que c(i) = f [d(i)] est une courbe d’un type
analogue à celle de la figure 3.23 :
De la figure 3.23, il ressort que la durée de réalisation d(i) d’une tâche varie entre deux
bornes, d(i) et d(i). imposées par des considérations techniques ou économiques :
d(i) ≤ d(i) ≤ d(i) (3.5)
Le coût total du projet (CT ) est la somme des coûts de toutes les tâches qui composent
ce projet, soit :
X
CT = c(i, j) où c(i, j) = 0 si (i, j) ∈
/U (3.6)
(i,j)∈U

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 25

Figure 3.23 – Graphe MPM d’ordonnancement

Si l’on prend pour durée d’exécution de chaque tâche du programme, la durée normale
d(i) : le programme est dit "normal". Par contre, si l’on considère pour chaque tâche, la durée
minimale d(i) : le programme est dit "accéléré".
En prenant en considération la durée de réalisation d’une tâche et son coût, le problème
du gestionnaire est de savoir "comment réaliser le projet au moindre coût dans une durée
très réduite ?" Ce problème comporte deux volets :
• Comment réduire le coût total d’un projet sans modifier sa durée optimale ?
• Comment accélérer le projet au moindre coût total ?

3.3.2 Réduction du coût total sans modifications de la durée op-


timale
Pour diminuer le coût total d’un programme de travail sans modifier sa durée optimale, il
faut diminuer les Marges Libres de tâches non critiques dans les limites imposées
par la contrainte d(i) ≤ d(i) ≤ d(i).
En effet, "diminuer la ML d’une tâche revient à augmenter sa durée de réalisation, donc
à diminuer son coût". Cette augmentation de la durée des tâches non critiques, notée ∆(i),
doit être telle que :

∆(i) = M in[d(i) − d(i), M L(i)] (3.7)

• A l’issue de cette opération il pourrait arriver que l’on crée de nouveaux chemins
critiques.
• Si (i) est une tâche non critique telle que d(i) = d(i), sa durée de réalisation ne peut
pas être allongée car ∆(i) = 0.
Algorithme de réduction de coût sans modifications de durée optimale
1. Construire le PERT mis en ordre ;

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 26

2. Calculer la durée optimale du projet ;


3. Calculer les ML et les MT des tâches ;
4. Identifier les tâches non critiques (M T  0) ;
5. Déterminer pour chaque tâche non critique (i), ∆(i) = M in[(i) − d(i), M L(i)] ;
6. Calculer les gains d’allongement ;
7. Construire le nouveau PERT mis en ordre en tenant compte des allongements de durées
opérées à l’étape 5 ;
8. Repérer les nouvelles tâches critiques.
Exemple 3.10.
Considérons le problème d’ordonnancement représenté par le graphe de la figure 3.19, et
cherchons à réaliser une diminution du coût total du projet sans modifier sa durée optimale,
étant donné les renseignements supplémentaires suivants :

Tâches (i) (1) (2) (3) (4) (5) (6) (7) (8) (9)
¯
d(i) 6 3 8 9 5 3 4 2 1
Gain d’allongement 10 8 4 15 6 - 3 - -
d’un jour en 000%

• Application de l’algorithme
– 1 à 3 : voir figure 3.18 et tableau 3.7 ;
– 4 : les tâches non critiques sont (2), (3), (5), (6) et (7) ;
– 5 : les opérations d’allongement de durée de réalisation :

∆2 = M in[3 − 2, 1] = 1 ∆3 = M in[8 − 4, 0] = 0 ∆5 = M in[5 − 2, 2] = 2


∆6 = M in[3 − 3, 0] = 0 ∆7 = M in[4 − 2, 3] = 2
– 6 : calcul des gains d’allongement :
(2) : 1 × 8 = 8 (3) : 0 × 4 = 0 (5) : 2 × 6 = 12
(6) : 0 × 0 = 0 (7) : 2 × 3 = 6 Total : 26
– 7 : modification des durées des tâches concernées par l’allongement :
d(2) = 2 + 1 = 3jrs d(5) = 2 + 2 = 4jrs d(7) : 2 + 2 = 4jrs
– 8 : la tâche (2) est devenue critique.
On peut réaliser un gain de 26.000 $, sans modifier la durée optimale du projet, en
allongeant la durée de la tâche (2) de 1 jour (elle devient critique), de la tâche (5) de
2 jours et de la tâche (7) de 2 jours.

3.3.3 Accélération du projet au moindre coût


1. Problématique
A un "programme normal" correspond une durée optimale normale f (z) − f (a) et un
P
coût total minimum CT = (i,j)∈U c(i, j) et à un "programme accéléré" correspond une
durée optimale accélérée f (z) − f (a) et un coût total maximal CT = (i,j)∈U c(i, j).
P

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 27

Figure 3.24 –

Le problème ici est de savoir "comment passer d’un programme normal à un programme
accéléré en minimisant l’accroissement du coût total résultant de cette opération ?". L’ac-
croissement maximal du coût total, noté ∆Cmax , est donné par :
X
∆Cmax = CT − CT = [c(i, j) − c(i, j)] (3.8)
(i,j)∈U

Le problème revient donc à accélérer le programme de travail à un coût inférieur à ∆Cmax .

2. Hypothèse et Résolution
Pour résoudre ce problème, nous allons supposer que "le coût de réalisation d’une tâche
décroît linéairement en fonction de la durée d’exécution de cette tâche". Graphiquement nous
avons :
D’après la figure 3.25, il est possible, pour chaque tâche critique (i), de calculer :

c(i) − c(i) ∆c(i)


γ(i) = |tgθ| = = (3.9)
d(i) − d(i) ∆d(i)

La quantité γ(i) est l’accroissement du coût de la tâche (i) dû à une diminution de la du-
rée de cette tâche de ∆d(i) unités de temps. A la limite, γ(i) représente "le coût marginal
de la tâche (i)".

Algorithme d’accélération au moindre coût


1. Construire le PERT mis en ordre ;
2. Calculer la durée optimale du projet ;

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 28

Figure 3.25 –

3. Calculer les MT des tâches ;


4. Identifier le(s) chemin(s) critique(s) ;
5. Barrer les tâches critiques dont la durée de réalisation correspond à la durée minimale ;
S’il n’y a qu’un seul chemin critique dans le graphe, aller à l’étape 12, si non
passer à l’étape 7.
6. Repérer les tâches critiques communes à tous les chemins ainsi que leurs coûts margi-
naux ;
7. Hormis les tâches critiques repérées à létape 7, déterminer les différentes combinaisons
possibles de tâches critiques restantes ainsi que les coûts marginaux de ces combinaisons ;
8. Comparer les différents coûts marginaux et considérer la tâche critique commune ou la
combinaison des tâches critiques correspondant au coût marginal le plus faible ;
9. Augmenter le coût total du projet du coût marginal considéré à l’étape 9 ;
10. Réduire d’une unité de temps la durée de la tâche critique commune ou des tâches
critiques composant la combinaison considérée à l’étape 9 ; Passer à l’étape 15
11. Comparer les coûts marginaux de tâches critiques et repérer la tâche critique ayant le
coût marginal de plus faible ;
12. Ajouter ce coût marginal au coût total du projet ;
13. Réduire d’une unité de temps la durée de la tâche correspondant au coût marginal le
plus faible ;
14. Construire le nouveau graphe PERT-TEMPS mis en ordre tenant compte des modifi-
cations de durées de tâches critiques à l’étape 11 ou 14 ;
15. Si l’accélération est totale, arrêter le processus, si non, rentrer à l’étape 3.

Exemple 3.11.

Considérons le problème d’ordonnancement représenté par le graphe de la figure 3.19 et


cherchons à accélérer ce programme de travail de 2 jours au nombre coût, étant donné les
renseignements supplémentaires suivants :

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 29

Tâches (i) (1) (2) (3) (4) (5) (6) (7) (8) (9)
d(i) 6 1 3 5 1 2 1 1 1
Coût d’accélération 2 3 1 6 2 1 2 5 -
d’un jour en 000%

Application de l’algorithme
• 1 à 3 : voir l’exemple précédent ;
• 4 : les tâches critiques sont (1), (4), (8) et (9) ;
• 5 : le chemin critique est (1), (4), (8), (9) ;
• 6 : on barre la tâche (9), car d(9) = d(9) ;
On passe à l’étape 12, comme il n’y a qu’un seul chemin critique
• 12 : Cm (1) = 2 Cm (4) = 6 Cm (8) = 5
La tâche (1) est la moins onéreuse
• 13 : le CT du projet augmente de 2 000$, si on réduit la durée d’exécution de la tâche
(1) de 1 jour.
• 14 : d(1) = 3 − 1 = 2 jours ;
• 15 :

Figure 3.26 –

• 16 : l’accélération n’étant pas totale ;


On retourne à l’étape 3
• 3 : calcul des MT des tâches (figure 3.25) :

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 30

Tâches (i) (1) (2) (3) (4) (5) (6) (7) (8) (9)
MT(i) 0 0 2 0 5 2 2 0 0
Nature des tâches C C NC C NC NC NC C C
• 4 : les tâches critiques sont (1), (2), (4), (8) et (9) ;
• 5 : les chemins critiques sont (1), (2), (4), (8), (9) et (2), (4), (8), (9) ;
• 6 : on barre la tâche (9), car d(9) = d(9)
• 7 : les tâches communes sont (4) et (8)
Cm (4) = 6 Cm (8) = 5
• 8 : la combinaison [(1), (2)] ;
Cm [(1), (2)] = 5
• 9 : On a le choix entre la combinaison [(1), (2)] et la tâche commune (8). On doit choisir
une seule alternative et pas les deux à la fois. Choisissons la combinaison [(1), (2)] ;
• 10 : le CT du projet augmentera encore de 5.000$ si on réduit simultanément les durées
d’exécution de tâches (1) et (2) d’un jour chacune ;
• 11 : d(1) = 2 − 1 = 1jr d(2) = 2 − 1 = 1jr
On passe à l’étape 15

• 15 :

Figure 3.27 –

• l’accélération est totale : une réduction de la durée optimale de 2 jours avec une aug-
mentation du coût total de (2.000 + 5.000)$= 7.000$ .

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 31

3.3.4 Harmonisation des moyens mis en oeuvre


La réalisation d’une tâche nécessite l’utilisation de plusieurs types de moyens (financiers,
humains, techniques, matériels, . . .). Certaines tâches devant être réalisées simultanément,
leur réalisation nécessite le cumul de ces moyens. Ces derniers étant limités, le gestionnaire
se trouve confronté à une "contrainte de disponibilité des moyens". Il est dès lors important
qu’il :
• connaisse à tout instant, la quantité des moyens dont il aura besoin pour réaliser les
travaux ;
• harmonise l’utilisation de ces moyens en tenant compte de la contrainte de leur dispo-
nibilité.
Pour arriver à cette fin, "la courbe de charges" permet au gestionnaire de répondre à la
première préoccupation et les techniques d’harmonisation de cette courbe, à la deuxième
préoccupation. Dans la suite, nous nous limitons à un seul type de moyens : le moyen humain ;
le raisonnement pouvant être étendu à d’autres types de moyens.

1. La courbe des charges


La courbe des charges est une courbe qui permet de connaître, à tout instant au cours de
différentes phases d’exécution d’un projet, la quantité d’un type de moyens dont on a besoin
pour réaliser les travaux.
Exemple 3.12.
Considérons le programme de travail suivant :
Tâches (i) Date début Durée Nombre d’ouvriers requis
(1) t0 3 2
(2) t0 4 1
(3) t2 7 1
(4) t5 2 1
(5) t5 3 1
• La courbe de charges correspondante est donnée par la figure 3.27 ci-dessous :
• La durée minimale de l’exécution de l’ensemble des tâches est de 9 unités de temps.
– le tableau suivant donne l’effectif utilisé par période :
Période Tâches exécutées Effectif utilisé Ni
t0 − t1 (1), (2) 3
t1 − t2 (1), (2) 3
t2 − t3 (1), (2), (3) 4
t3 − t4 (2), (3) 2
t4 − t5 (3) 1
t5 − t6 (3), (4), (5) 3
t6 − t7 (3), (4), (5) 3
t7 − t8 (3), (5) 2
t8 − t9 (3) 1

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 32

Figure 3.28 –
P
N
• L’effectif moyen nécessaire par période µ est : µ = 9 i = 22 9
≈ 2, 4 ouvriers.
 
• Le temps total d’inactivité (τ )des ouvriers embauchés :τ = (N −µ)×9 = 4 − 22 9
×9 =
14 périodes-ouvriers.
• Si on ne peut licencier aucun ouvrier pendant la durée des travaux, l’effectif N à
embaucher est : N = max1≤i≤9 (Ni ) = 4 ouvriers.
Si le gestionnaire ne peut disposer (embaucher) que 2 ouvriers au lieu de 4, il doit harmoniser
la courbe de charges en tenant compte de cette contrainte.

2. Harmonisation de la courbe des charges


Pour harmoniser la courbe des charges, on recourt à "la technique de MILOR", basée
sur le principe suivant : "identifier les tâches responsables du dépassement de la contrainte
et leur imposer un recul dans le temps de façon qu’elles ne soient plus responsables de ce
dépassement". Ce recul est appelé la dérive, notée DR(i). Cette opération peut ou ne pas
affecter la durée optimale du projet.
La technique d’harmonisation de MILOR comprend trois étapes :
1. La détermination de la liste d’appel

C’est une liste sur laquelle les tâches sont ordonnées suivant "l’ordre croissant de leurs
dates au plus tard (DTA)". Si plusieurs tâches ont la même DTA, on les ordonne suivant
l’ordre croissant de leurs marges totales (MT). Soit deux tâches (i) et (j) :
• si t∗ (i) ≺ t∗ (j) (
: (i) avant (j)
M T (i) ≺ M T (j) : (i) avant (j)
• si t∗ (i) ≺ t∗ (j)
M T (i) = M T (j) : indifférence

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 33

2. La construction de la courbe de charges


La courbe de charges est construite selon "l’ordonnancement au plus tôt", c’est-à -dire
que chaque tâche doit commencer à sa date au plus tôt (DTO), suivant la liste d’appel.
Si on constate que la contrainte de disponibilité est dépassée, on passe à la troisième
étape, sinon, on arrête.
3. L’harmonisation proprement dite
On trace une autre courbe des charges (d’après toujours l’ordonnancement au plus
tôt en suivant la liste d’appel). Si une tâche (i) est responsable du dépassement de la
surcharge, on décale son début en lui imposant une dérive. Par conséquent, cette tâche
(i) ne va plus commencer à sa date au plus tôt t(i), mais à une date au plus tôt modifiée
notée t(i)m telle que :

t(i)m = t(i) + DR(i) (3.10)

Cette modification peut avoir certaines conséquences. Considérons la figure 3.28 où (i)
et (j) sont deux tâches telles que (j) ∈ Γ(i).

Figure 3.29 – Graphe MPM d’ordonnancement

• Si DR(i) ≤ ML(i) : t(j) ne serait pas modifiée.


• Si DR(i)  ML(i) :
1. M L(i) ≺ DR(i) ≤ M T (i)
– t(j) serait modifiée : t(j)m = t(i)m + d(i)
– La durée optimale du projet ne serait pas affectée.
2. M L(i) ≺ DR(i)  M T (i)
– t(F IN ) serait modifiée des ∆ unités de temps :
∆ = DR(i) − M T (i)
Les ∆ ne sont pas cumulatifs car les M T sont interdépendantes entre elles.

Nota :
Si avec la première tâche sur la liste d’appel, la contrainte de disponibilité est dépassée,
l’harmonisation ne peut pas être réalisée.

Algorithme d’harmonisation des moyens


1. Construire le MPM mis en ordre ;
2. Calculer les DTO et DTA des tâches ;

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 34

3. Calculer les ML et MT des tâches ;


4. Etablir la liste d’appel ;
5. Construire la courbe de charges ;
Si la contrainte de disponibilité est dépassée, passer à l’étape 6, sinon arrêter.
6. Construire le tableau ayant la structure suivante :
Liste d’appel d(i) Suivants de (i) t∗ (i) t(i) t(i)m DR(i) ML(i) MT(i)
1 2 3 4 5 6 7 8 9
7. Remplir les colonnes 1 à 5 et 8 à 9 avec les éléments obtenus aux quatre premières
étapes. Les colonnes 6 et 7 seront remplies au fur et à mesure du traitement de l’étape
8, et ce, chaque fois qu’on rencontrera une tâche responsable du dépassement ;
8. Construire la courbe de charges harmonisées. Pour toute tâche responsable de surcharge,
calculer :
a) DR(i)
b) t(i)m = t(i) + DR(i)
c) si DR(i)  M L(i) : t(j)m = t(i)m + d(i)
d) si DR(i)  M T (i) : ∆ = DR(i) − M T (i)

Exemple 3.13.

Considérons le problème d’ordonnancement représenté par le graphe de la figure 3.22,


avec les données supplémentaires suivantes : les tâches (7) et (8) nécessitent 2 ouvriers et
toutes les autres 1 seul ouvrier pour être exécutées, on ne dispose que 2 ouvriers seulement
pour exécuter ce travail. Tracer la courbe de charges relatives à ce problème.
• Appliquons l’algorithme ci-dessus :
– 1 et 2 : voir le graphe de la figure 3.22 ;
– 3 : calcul de ML(i) et MT(i) :
(i) (DEB) (1) (2) (3) (4) (5) (6) (7) (8) (9) (FIN)
ML(i) 0 0 1 0 0 2 0 3 0 0 0
MT(i) 0 0 1 3 0 5 3 3 0 0 0
– 4 : la liste d’appel : (DEB) < (1) < (2) < (4) < (3) < (6) < (5) < (8) < (7) < (9) <
(F IN )
– 5 : la courbe de charges (figure 3.29)
– 6 et 7 :

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 35

Figure 3.30 –

Liste d’appel d(i) Suivants de (i) t∗ (i) t(i) t(i)m DR(i) ML(i) MT(i)
(1) 3 (4), (5) 0 0 - - 0 0
(2) 2 (4), (5) 1 0 - - 1 1
(4) 7 (8) 3 3 - - 0 0
(3) 4 (6) 3 0 2 2 0 3
(6) 3 (7), (8) 7 4 6 2 0 3
(5) 2 (7), (8) 8 3 9 6 2 5
(8) 2 (9) 10 10 9 1 0 0
(7) 2 (9) 10 7 13 6 3 3
(9) 1 (FIN)) 12 12 15 3 0 0
(FIN) 0 - 13 13 16 - 0 0
– 8 : courbe de charges harmonisée

Figure 3.31 –

• 1ère modification : (3)


a) DR(3) = 2; b)t(3)m = t(3) + DR(3) = 0 + 2 = 2

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017
Chapitre Trois. Problème d’ordonnancement 36

c) DR(3) = 2 > M L(3) = 0 : t(6)m = t(3)m + d(3) = 2 + 4 = 6


d) DR(3) = 2 < M T (3) = 3 : ∆ = 0
• 2ème modification : (6)
a) DR(6) = 2; b)t(6)m = t(6) + DR(6) = 4 + 2 = 6
c) DR(6) = 2 > M L(6) = 0 :
t(7)m = t(6)m + d(6) = 6 + 3 = 9
t(8)m = t(6)m + d(6) = 6 + 3 = 9
d) DR(6) = 2 < M T (6) = 3 : ∆ = 0
• 3ème modification : (5)
a) DR(5) = 6; b)t(5)m = t(5) + DR(5) = 3 + 6 = 9
c) DR(5) = 6 > M L(5) = 2 :
t(7)m = t(5)m + d(5) = 9 + 2 = 11
t(8)m = t(5)m + d(5) = 9 + 2 = 11
d) DR(5) = 6 > M T (5) = 5 : ∆ = DR(5) − M T (5) = 1
• 4ème modification : (8)
a) DR(8) = 1; b)t(8)m = t(8) + DR(8) = 10 + 1 = 11
c) DR(8) = 1 > M L(8) = 0 : t(9)m = t(8)m + d(8) = 11 + 2 = 13
d) DR(8) = 1 > M T (8) = 0 : ∆ = DR(8) − M T (8) = 1
• 5ème modification : (7)
a) DR(7) = 6 ;
b) t(7)m = t(7) + DR(7) = 7 + 6 = 13
c) DR(7) = 6 > M L(7) = 3 : t(9)m = t(7)m + d(7) = 13 + 2 = 15
d) DR(7) = 6 > M T (7) = 3 : ∆ = DR(7) − M T (7) = 3
• 6ème modification : (9)
a) DR(9) = 3 ;
b) t(9)m = t(9) + DR(9) = 12 + 3 = 15
c) DR(9) = 3 > M L(9) = 0 : t(F IN )m = t(9)m + d(9) = 15 + 1 = 16
d) DR(9) = 3 > M T (9) = 0 : ∆ = DR(9) − M T (9) = 3
Après harmonisation de la courbe de charges, tenant compte de la contrainte de dispo-
nibilité (pas plus de 2 ouvriers en même temps), la durée optimale du projet augmente de 3
jours.

Notes de Cours de Recherche Opérationnelle (M1 FED) Dr. LUNGIAMBUDILA Oscar c FED/UCC 2017

Vous aimerez peut-être aussi