Vous êtes sur la page 1sur 12

Problèmes d’ordonnancement

L’objet d’un problème d’ordonnancement est de faciliter la mise en œuvre et de


guider l’exécution d’un ensemble complexe de tâches :
 programme de recherche ou de production,
 lancement d’un produit,
 construction d’un bâtiment ou d’une route
 …

La technique d’analyse la plus connue, appelée méthode P.E.R.T. (Program


Evaluation and Review Technique), a été introduite aux Etats-Unis en 1958 pour la
réalisation d’un programme de recherches et de construction des fusées Polaris.

Cette méthode tient une place dominante par sa simplicité, son efficacité et la variété
des extensions qui ont pu être développées.

Dans ce chapitre, nous illustrons les principales techniques de base lorsque le


critère d’optimalité est la minimisation de la durée ou du coût de réalisation du
projet.

Nous supposons que ce projet est décomposable en un nombre fini de tâches,


caractérisées par leur durée d’exécution (généralement fixe, parfois aléatoire),
éventuellement aussi par leur coût d’exécution, et soumises à des contraintes de
postériorité stricte (une tâche ne peut commencer que si certaines autres tâches sont
complètement terminées).

1. Critère temporel
Le problème s’énonce comme suit :

Etant donné un projet constitué de n tâches de durées d’exécution fixes et soumises


à des contraintes de postériorité stricte, déterminer un “calendrier d’exécution”
ou ordonnancement qui minimise la durée de réalisation totale du projet.

En pratique, le travail préliminaire à accomplir sera de dresser une liste des


différentes opérations à mener qu’on décompose plus ou moins selon la précision
souhaitée. Généralement, les tâches sont définies de manière simple et telle que
leurs durées d’exécution sont du même ordre de grandeur ; de plus, les contraintes
de postériorité entre les tâches doivent pouvoir être établies avec précision.

Ce travail important est souvent long, et nécessite une collaboration étroite entre
les diverses personnes impliquées dans l’exécution du projet.

1.1 Mise sous forme de graphe


Le problème peut être représenté de deux manières par un graphe G = (X, U) sans
circuit et aux arcs ( xi , x j ) duquel sont associés des quantités non négatives t ij .

a) Méthode du potentiel
Le graphe, appelé graphe-tâches, est construit comme suit :

 chaque tâche i est représentée par un sommet xi ;


 toute contrainte de postériorité stricte du type “i doit être terminée avant que
j ne puisse commencer “ se traduit par la présence dans U d’un arc ( xi , x j ) ;
 la durée de la tâche i est associée à tout arc ( xi , x j )  U et est alors notée t ij ;
 deux tâches fictives de durée nulle sont introduites : x0 , qui représente le
“début du projet “, et x n1 = x N , qui représente la “ fin du projet“.

b) Méthode P.E.R.T.
Le graphe, appelé graphe-étapes, est construit comme suit :
 chaque tâche i est représentée par un arc ( xk , xl )  U ;
 toute contrainte de postériorité stricte du type “ i doit être terminée avant que
j ne puisse être commencée “ se traduit en confondant l’extrémité terminale
de l’arc représentant la tâche i et l’extrémité initiale de l’arc représentant la
tâche j (via, éventuellement, un arc fictif comme nous le verrons) ;
 la durée de la tâche i est associée à l’arc correspondant ( xk , xl )  U , et notée t kl ;
 deux sommets fictifs sont introduits : x 0 , qui représente le “début du projet
“, et x N , qui représente la “ fin du projet“.

Remarquons que dans cette seconde mise en graphe, les sommets correspondent au
début ou à la fin d’une (de plusieurs) tâche(s) ou encore à un instant situé entre
ceux-ci.

Ils peuvent donc s’interpréter comme des étapes du projet marquant la réalisation de
travaux partiels.
Certains d’entre eux représentent des étapes importantes (construction d’une partie
d’un bâtiment par exemple), mais beaucoup ne présentent que peu de signification
pratique.
Soulignons aussi que pour pouvoir exprimer certaines contraintes de postériorité
stricte, il est parfois nécessaire d’introduire des tâches fictives et donc des arcs
fictifs de durée nulle.

A titre d’exemple, considérons le sous graphe partiel ci-dessous :

Indiquant que les tâches 3 et 4 doivent succéder aux tâches 1 et 2. Supposons que,
suite à une modification de conditions techniques, l’exécution de la tâche 4 puisse
commencer avant que soit achevée la tâche 1. Pour adapter le graphe à ce
changement, nous ajoutons un arc fictif de la manière suivante :

1.2 Résolution
Nous appelons ordonnancement un programme d’exécution (t i ,0  i  N ) avec
t 0 : = 0, qui fixe la date t i de début d’exécution de chacune des tâches (dans la
méthode du potentiel) ou de début de réalisation de chacune des étapes (dans la
méthode P.E.R.T.).

Un ordonnancement est optimal s’il est réalisable c’est-à-dire si


t j  t i  t ij , ( xi , x j )  U , et si de plus il minimise la durée de réalisation t N du projet.
Définissons la longueur d’un arc comme la durée associée à cet arc. La durée
minimale du projet est alors égale à la longueur du plus long chemin de x0 à x N .

En effet, pour qu’une tâche puisse commencer, il faut que toutes les tâches
précédentes aient été exécutées, de sorte que la durée du projet ne peut être
inférieure à la somme des durées des tâches composant le chemin le plus long de x 0 à x N

Ce chemin, qui n’est pas nécessairement unique, est appelé chemin critique.

Pour le déterminer, il suffit d’appliquer un des algorithmes de recherche du plus long


chemin dans un graphe. Comme le graphe est sans circuit, on utilise généralement
l’algorithme de Bellman-Kalaba simplifié, ce qui donne :

 
t j  max t i  t ij / xi    ( x j ) , 1≤ j ≤ N.

Chaque t i ainsi obtenu est la longueur du chemin le plus long de x0 à xi et


représente la date au plus tôt de début d’exécution de la tâche ou de l’étape i.

La durée minimum du projet t N ayant été évaluée, il est bien sûr possible de
retarder l’exécution de certaines tâches ou étapes sans pour autant accroître t N . Il
est dès lors intéressant de déterminer les dates au plus tard t i* de début d’exécution
des différentes tâches ou étapes i sous la condition que la durée minimale du projet
t N ne soit pas modifiée.

Ces dates se calculent au moyen du même algorithme (Bellman-Kalaba simplifié),


mais appliqué au réseau inverse construit en inversant le sens de tous les arcs.

Il vient t N*  t N et t *j  min t i*  t ji / xi    ( x j ), 0 ≤ j ≤ N-1.

Chaque quantité t N*  t i* ainsi obtenue est alors égale à la longueur du chemin le plus
long reliant xi à x N .

Pour chacune des tâches ou étapes i composant un chemin critique, on a t i  t i .


*
Tout retard dans leur date d’exécution entraîne donc un retard équivalent dans la
durée du projet : elles sont appelées tâches ou étapes critiques.
Plus généralement, à chaque sommet i, on peut associer un intervalle de flottement,
( t i , t i* ), qui indique la latitude laissée dans le choix de l’ordonnancement et permet,
éventuellement, de tenir compte de contraintes additionnelles.
Dans la méthode P.E.R.T., il peut être intéressant de déterminer le retard qui peut
être apporté dans la mise en œuvre de chaque tâche ( xi , x j ) sans que soit pour autant
affectée la durée de réalisation du projet. On définit :

 La marge libre t j  t i  t ij de ( xi , x j ) ; elle représente le délai maximal qui


peut être apporté dans la mise à exécution de la tâche sans que soit
compromise la date de réalisation au plus tôt de l’étape j ;

 La marge totale t j  t i  t ij de ( xi , x j ) ; elle représente le délai maximal de


*

mise à exécution de la tâche ;

 La marge certaine t j  t i  t ij de ( xi , x j ) ; elle représente le délai qu’on


*

peut de toute façon apporter à la mise à exécution de la tâche.

Ces marges sont nulles pour les tâches critiques.

1.3 Algorithme d’obtention d’un ordonnancement


de durée minimale
L’algorithme suivant permet d’obtenir un ordonnancement de durée minimale.
1.4 Tâches de durée aléatoire
Dans la réalité, les durées d’exécution des tâches d i sont le plus souvent, non pas
des constantes mais des variables aléatoires.

Considérons la mise en graphe du problème par la méthode P.E.R.T. La durée


minimale de réalisation du projet t N est alors une variable aléatoire qui peut se
définir par
t N  max L j
1 j  J
où les variables aléatoires L j représentent les longueurs des chemins, supposées
en nombre J, joignant les sommets x0 et x N .

Sous l’hypothèse, fréquemment admise (encore que contestable) que les durées d i
sont des variables aléatoires indépendantes, la distribution de la longueur L j du
chemin j, 1 ≤ j ≤ J, est la convolée des distributions des durées des tâches qui le
composent.

Les variables L j ne sont cependant indépendantes que dans des cas très particuliers
où tous les chemins sont parallèles.

L’étude de la durée minimale du projet revient donc à celle du maximum d’un


ensemble fini de variables aléatoires généralement corrélées et non
équidistribuées. Il s’agit là d’un problème très difficile à traiter.

De nombreuses méthodes exactes ou approchées ont été développées pour calculer


la distribution de t N , et en particulier sa moyenne E( t N ).

Nous ne donnons ici qu’un très bref aperçu des principales approches proposées,
pour une bonne culture opérationnelle.

La première approche consiste à résoudre d’abord le problème P.E.R.T.


déterministe obtenu en remplaçant chacune des variables d i par sa moyenne
E( d i ) calculée à partir d’une distribution bêta ; le chemin critique ainsi déterminé
est supposé contenir un nombre de tâches suffisamment important pour que la
distribution de t N puisse être approchée par une distribution normale.
La seconde approche est la méthode analytique de calcul de la distribution exacte
de t N ; des algorithmes très efficaces ont été mis au point par divers auteurs.

La troisième approche consiste à procéder comme si les longueurs L j étaient des


variables aléatoires indépendantes ; cette méthode a été appliquée notamment
lorsque les d i ont une distribution normale ou une distribution bêta.

La quatrième approche consiste à borner la fonction de distribution de t N ; un


grand nombre de travaux ont été également développés dans le but de borner la
durée moyenne minimale du projet E( t N ).

La plupart de ces méthodes font l’hypothèse préalable que les distributions des d i
sont connues avec exactitude, et leur mise en application requiert un traitement
numérique assez important.

Souvent, cependant, ce que vous demandera avant tout le décideur, c’est de


connaître, ne fût-ce qu’approximativement, la durée moyenne E( t N ). Aussi, nous
indiquerons ici comment obtenir très simplement des bornes inférieure et
supérieure pour E( t N ) lorsque seules sont connues les moyennes et les variances
des durées d i des différentes tâches, supposées indépendantes.

a) E (t N )  E

(t N )  max E ( L j ) .
1 j  J
Pour calculer E (X ) , il suffit alors de déterminer la longueur du plus long chemin

dans le modèle P.E.R.T. déterministe obtenu en remplaçant chaque variable


d i par sa moyenne E( d i ).

 var( L )  E ( L )     ,
 J

b) E (t N )  E (t N ) :   ( J  1) / J
2
j j
j 1
J

où   (1 / J ) E ( L j ) .
j 1

Pour chaque chemin j, E ( L j ) et var( L j ) sont respectivement égales à la somme


des moyennes et des variances des durées des tâches qui composent le chemin ;
ces paramètres peuvent donc être calculées immédiatement à partir des données
E( d i ) et var( d i ).
2. Critère de coût
Le problème s’énonce comme suit :

Etant donné un projet constitué de n tâches :

 dont la durée peut varier entre deux limites données,


 dont le coût de réalisation est une fonction linéaire décroissante de la durée
d’exécution,
 et soumises à des contraintes de postériorité stricte,

il convient, pour une durée minimale de réalisation du projet fixée, de déterminer


un ordonnancement des n tâches qui minimise le coût d’exécution du projet.

2-1. Formulation
Construisons par la méthode P.E.R.T. le graphe-étapes associé au problème. Un
arc ( xi , x j )  U représente une tâche. Notons aij et bij (0 ≤ aij ≤ bij ) les durées de
réalisation minimum et maximum de cette tâche : la durée de réalisation
effective t ij doit donc vérifier la contrainte a ij ≤ t ij ≤ bij .

A un temps de réalisation t ij correspond un coût de réalisation f ij de la forme :

f ij  k ij  hij t ij ,
où k ij  0 est un coût fixe et hij  0 est un coût par unité de temps. Le coût total
de réalisation du projet d’élève à
f  k
( xi , x j )U
ij  h t
( xi , x j )U
ij ij

Considérons le problème d’ordonnancement à critère temporel obtenu en posant


t ij  aij , ( xi , x j )  U : il y correspond une durée minimale de réalisation du projet  m .

Au même problème obtenu en posant t ij  bij , ( xi , x j )  U , correspond une durée


minimale du projet  M .

Pour tout ensemble de temps d’exécution t ij admissibles ( aij ≤ t ij ≤ bij ), la durée


minimale du projet  sera comprise entre  m et  M .
Fixons une durée minimale de réalisation du projet  , avec  m ≤  ≤  M . Le
problème est de déterminer les durées admissibles t ij , et donc les dates au plus tôt
t i , de manière à minimiser le coût total du projet noté f.

Plus précisément, il s’agit de :

Minimiser f  k
( xi , x j )U
ij  h t
( xi , x j )U
ij ij

sous les contraintes

a ij ≤ t ij ≤ bij , ( xi , x j )  U ,
t 0  0, t N   ,
 
t j  max t i  t ij / xi    ( x j ) , 1 ≤ j ≤ N.

On montre que ce problème peut s’écrire sous la forme d’un programme linéaire
paramétrique avec paramètre dans le second membre des contraintes.

Toutefois l’algorithme du simplexe n’est pas très efficace dans ce cas et nous allons
présenter une méthode de résolution plus directe.

2-2. Algorithme heuristique d’obtention d’un


ordonnancement de coût minimum
Notons f M le coût de réalisation du projet lorsque t ij  bij , ( xi , x j )  U . f M est le coût
minimum du projet et pour toute durée  ,  m ≤  ≤  M , le coût f s’écrit :

f ( )  f M   ( )

où  ( ) est une fonction non croissante de  telle que  (M ) = 0.

La recherche d’un ordonnancement de coût minimum peut s’effectuer au moyen


de l’algorithme ci-dessous.

La méthode suivie est intuitive et heuristique : si dans la plupart des cas elle
conduit effectivement à une solution optimale, certains aménagements doivent
cependant parfois être envisagés. Signalons seulement que d’autres algorithmes de
résolution, fondées sur des méthodes de flot, ont été développés pour ce problème.
(1) Si l’arc dont on diminue la durée se trouve aussi sur le chemin de longueur l max
défini plus haut, prendre pour  la plus grande valeur possible.

(2) La somme est étendue à des arcs distincts appartenant aux chemins de M tels
que chacun de ces chemins contienne au moins un de ces arcs : les arcs distincts
qui minimisent la somme constituent la famille U m .

Vous aimerez peut-être aussi