Chapitre 1 - L'ordonnancement de Projet
Chapitre 1 - L'ordonnancement de Projet
Chapitre 1 - L'ordonnancement de Projet
L'ordonnancement de projet
Présentation
Un problème d'ordonnancement de projet (PSP : Projet Scheduling Problem) consiste à
gérer et contrôler la mise en ÷uvre d'un projet comportant de nombreuses tâches dont
il faut planier l'exécution en respectant diverses contraintes. Ces projets concernent gé-
néralement la réalisation d'un produit unitaire complexe : construction d'un bâtiment,
d'une usine ; élaboration d'un ouvrage d'art ; mise en place d'un chantier industriel ; fa-
brication d'une machine spécique sur commande ; organisation d'un grand événement ;
etc.
D'un point de vue historique, ce domaine est un des premiers de la Recherche Opéra-
tionnelle. A la n des années 50, la nécessité de développer des méthodes pour résoudre
des problèmes PSP est apparu simultanément aux États Unis et en Europe :
en 1957, des sociétés américaines mettent au point la méthode du chemin critique
CPM (Critical Path Method) ou encore méthode PERT (Programming Evaluation
and Review Technics) nom initialement utilisé pour la situation de durée aléatoire
des tâches , notamment à l'occasion de lancement de fusées Polaris et des premiers
satellites,
en 1958, la société française SemaMetra introduit la méthode MPM (Méthode des
Potentiels Metra) en vue de résoudre les problèmes posés par la construction du pa-
quebot France et celle de centrales électriques de la société EDF.
Grâce à leur simplicité et leur ecacité, ces méthodes ont été ensuite appliquées dans
de nombreux domaines industriels (chimie, pétrole, construction, etc.).
L'objectif des méthodes CPM PERT et MPM est de minimiser la durée d'exécution
d'un projet tout en satisfaisant des contraintes temporelles entre les tâches. Ces mé-
thodes fournissent également les éléments nécessaires pour assurer le suivi et le contrôle
de l'exécution du projet ou pour réagir à des événements impondérables durant celle-ci.
Par la suite, diverses extensions ont été proposées :
L'analyse des ressources
Souvent la réalisation des tâches nécessite l'utilisation de ressources et il convient
de respecter des contraintes de limitation des ressources donnant lieu aux problèmes
RCPSP (Resource Constrained Project Scheduling Problem).
6 CHAPITRE 1. L'ORDONNANCEMENT DE PROJET
L'analyse des coûts
La durée d'exécution des tâches peut être diminuée moyennant un coût supplémentaire
et l'on peut donc étudier l'interaction de la durée d'exécution du projet avec le coût
de celui-ci.
Dans ce paragraphe, nous considérons un projet qui n'est soumis qu'à des contraintes
temporelles (temporal project scheduling).
L'objectif est d'ordonnancer c'est-à-dire de planier dans le temps les diérentes
tâches du projet de façon à réaliser le projet en le moins de temps possible, tout en
respectant bien sûr les contraintes temporelles entre les tâches.
L'application concrète d'une méthode d'ordonnancement nécessite un travail préliminaire
d'information et de recueil des données du cas étudié. Il convient
de décomposer le projet en ses diérentes tâches ;
de dénir les contraintes temporelles liant ces tâches ;
d'estimer le plus précisément ces contraintes, ainsi que les durées des tâches.
C'est donc un travail minutieux dont il ne faut pas sous estimer la diculté . . . et que
nous supposerons accompli pour les diérents exemples envisagés.
1.1. MINIMISATION DU DÉLAI D'EXÉCUTION D'UN PROJET 7
i di
i j
b 15
c 0
12
b) a
b 15
Toutefois l'introduction de tâches ctives de durée nulle est parfois une nécessité. Ce sera
par exemple le cas (voir gure 1.5) pour représenter la situation où
la tâche c ne peut débuter que si les tâches a et b sont terminées,
la tâche d ne peut débuter que si la tâche a est terminée.
b c
a d
Remarque
Bien évidemment pour un projet comprenant de très nombreuses tâches, il est dicile
de représenter le graphe-événements. Comme nous l'indiquerons pour l'illustration 1.1,
il est toutefois possible, une fois obtenue la numérotation des événements, de représenter
les données sous forme d'une matrice D de dimension (N + 1 × N + 1) dont l'élémént
(m, n) avec m < n, vaut la durée d(mn) = di de la tâche i = (m, n).
tDEB (= t0 ) = 0
tm = max −1
(tl + d(lm) ) (1.1)
l∈Γ (m)
tN = tN
Ensuite, l'algorithme de Dijkstra est à nouveau appliqué pour calculer la longueur des
chemins les plus longs des diérents sommets m au sommet F IN et ces valeurs sont
soustraites de tN . Les dates tm sont donc déterminées par la formule récurrente de m = N
à m = 0.
tN = tN
tm = min (tp − d(mp) ) (1.2)
p∈Γ(m)
Ces deux dates tm et tm de l'étape m peuvent également être calculées sur la matrice
D associée au graphe : pour les formules (1.1), les sommets l ∈ Γ−1 (m) sont ceux situés
10 CHAPITRE 1. L'ORDONNANCEMENT DE PROJET
dans la colonne m avec une valeur positive d(lm) tandis que pour les formules (1.2), les
sommets p ∈ Γ(m) sont ceux situés dans la ligne m avec une valeur positive d(mp) (voir
table 1.2 de l'illustration 1.1).
Remarque
La numérotation m d'un sommet , et ses dates au plus tôt tm et au plus tard tm , sont
indiquées de la façon suivante sur le graphe
m
tm tm
m n
i di
tm t
m tn t
n
Si une tâche subit un retard inférieur ou égal à sa marge totale, il est possible qu'il soit
nécessaire de replanier des tâches suivantes mais cela peut se faire sans remettre en
cause la date prévue pour la n du projet.
Dénition 1.10 Tâche critique et chemin critique
Une tâche critique est une tâche pour laquelle M T (i) = 0 :
tout retard apporté à l'exécution d'une telle tâche retarde l'échéance nale pour le projet.
Un chemin critique est un chemin allant du sommet DÉBUT au sommet FIN et composé
de tâches critiques.
Il existe toujours au moins un chemin critique mais il n'est pas nécessairement unique.
La durée d'exécution minimale tN du projet est égale à la longueur commune des chemins
critiques qui sont les chemins les plus longs allant du sommet DÉBUT au sommet FIN.
Dénition 1.11 Marge libre d'une tâche
La marge libre (free oat) d'une tâche i notée M L(i) représente le retard que peut
subir cette tâche par rapport à son exécution au plus tôt, sans retarder l'exécution d'une
tâche suivante.
Elle est donc déterminée par la relation
M L(i) = tn − (tm + d(mn) ) (1.8)
Si une tâche subit un retard inférieur ou égal à sa marge libre, il n'est donc pas nécessaire
de remanier l'ordonnancement prévu.
Propriété 1.1 Relation entre les marges totale et libre
0 ≤ M L(i) ≤ M T (i)
12 CHAPITRE 1. L'ORDONNANCEMENT DE PROJET
Par conséquent, la marge libre d'une tâche critique est nulle.
Propriété 1.2 Détermination de la marge libre à l'aide des marges totales
⎡
M L(i) = M T (i) − min M T (j)
⎢ j∈Γ(i)
⎣ où Γ(i) représente l'ensemble des tâches qui suivent directement la tâche i
(voir gure 1.7).
m n
i
tm t
m tn t
n
j ∈ Γ(i) p ∈ Γ(n)
Figure 1.7 Ensemble Γ(i) des tâches qui suivent directement la tâche i
Démonstration
M L(i) = tn − (tm + d(mn) )
= tn − (tm + d(mn) ) − (tn − tn )
= M T (i) − min (tp − d(np) ) − tn
p∈Γ(n)
= M T (i) − min (tp − (tn + d(np) ))
p∈Γ(n)