Vous êtes sur la page 1sur 6

Chapitre 7

PROBLEME D’ORDONNANCEMENT (SCHEDULING)

Position du problème

Les réalisations importantes telles que la construction d’un barrage, d’une cen-
trale, d’un immeuble, d’un avion, le fonctionnement d’une chaine de fabrication, etc...demandent
une surveillance constante et coordination parfaite des di¤érentes cellules de travail
pour éviter des pertes de temps souvent coûteuses.

Les problèmes liés à cette coordination sont les problèmes d’ordonnancement.


En toute généralité, ces problèmes se posent sous la forme suivante: Etant donné
un objectif à atteindre et dont la réalisation suppose l’exécution préalable de multi-
ples tâches, soumises à de nombreuses contraintes, déterminer l’ordre et le calendrier
d’exécution des diverses tâches.

Dans ce chapitre, on étudiera le cas particulier le plus important ( problème


central de l’ordonnancement) où les seules contraintes considérées sont les contraintes
de successions dans le temps (l’exécution de la tâche j ne peut être commencée que
lorsque la tâche i est achevée).

La représentation par un graphe d’un problème d’ordonnancement permet une


bonne appréhension globale du problème. L’étude de ce graphe permettra d’identi…er
les tâches prioritaires et de détecter à temps, pour prendre les mesures correctives
nécessaires, les retards ou les dépassements de moyens.

On étudiera deux représentations possibles:

- Le graphe potentiels-tâches;
- Le graphe potentiels -étapes (PERT).
GRAPHES POTENTIELS-TACHES 77

7.1 GRAPHES POTENTIELS-TACHES

Soit un projet constitué de n tâches. On notera ti la date du début d’exécution de la


tâche i et par di la durée de la tâche.

Une contrainte potentielle est de la forme: tj ti ai;j :


Une contrainte d’antériorité du type i précède j est une contrainte potentielle
avec tj ti di :

B. ROY (1960) a proposé de représenter le problème d’ordonnancement à con-


traintes potentielles à l’aide d’un graphe G = (X; U ) décrit comme suit:

X correspond à l’ensemble des tâches auxquels on adjoint deux tâches …ctives


supplémentaires:

- Une tâche supplémentaire "début" numérotée dont la date de début est


t = 0;

- Une tâche supplémentaire "…n" numérotée !, et la date t! est la durée


totale de l’ordonnancement.

L’ensemble des arcs U est obtenu en associant à chaque contrainte potentielle


(du type tj ti ai;j ) un arc (i; j) valué par ai;j :

- De plus, si i est une tâche initiale, l’arc ( ; i) …gurera dans G valué par 0.

- De même, si j est une tâche terminale, l’arc (j; !) …gurera dans G valué
par ai;! = dj (durée de la tâche j):

7.1.1 Principaux cas d’évaluations

Voici les principaux cas d’évaluation des contraintes de type potentiels:

- i précède j ! ai;j = di
- i ne peut commencer avant ri ! a1;i = ri
- j peut commencer quand une fraction de i est achevée (exemple 23 di ):
2
! ai;j = di
3
- j ne peut commencer que si i est terminée depuis au moins un temps :

! ai;j = di +
GRAPHES POTENTIELS-TACHES 78

- j doit démarrer avant que unités de temps se soit écoulés depuis le début de
i:
! ai;j =
- la tâche i doit être achevée à la date pi :

! ti t1 = pi di =) a1;i = pi di :

7.1.2 Exemple

La construction d’un pavillon demande la réalisation d’un certain nombre de tâches


qui sont données avec leurs relations d’antériorité par le tableau suivant:
1
Tâches Désignation de la tâche Durée/sem Tâches antérieures
A Travaux de maçonnerie 7
B Charpente de la toiture 3 A
C Toiture 1 B
D Installation sanitaire et élecrique 8 A
E Façade 2 D; C
F Fenêtres 1 D; C
G Aménagement du jardin 1 D; C
H travaux de plafonnage 3 F
I Peinture 2 H
J Emménagement 1 E; G; I

Représentation du graphe potentiels-tâches en niveaux:


GRAPHES POTENTIELS-TACHES 79

Remarque 7.1 - Le travail commençant à la date 0, on cherche un ordonnacement


qui minimise la durée totale du travail, donc la date de …n des travaux.
- Pour qu’une tâche puisse commencer, il est nécéssaire que toutes les tâches qui la
relient à la âche début du projet soient réalisées.

7.1.3 Dates au plus tôt

La date au plus tôt ti de début de la tâche i est égale à la longueur l( ; i) de à i.


ti = M ax (tj + dj ):
j2 (i)

La durée minimale du projet t! est égale à la longueur du plus long chemin de


à !.

Remarque 7.2 Comme le graphe est sans circuit, on peut utiliser une version de
l’algorithme de Bellman pour la recherche d’un plus long chemin en remplaçant M in
par M ax:

Algorithme de recherche des dates au plus tôt:

- Représentation du graphe en niveaux ( fonction ordinale).


- Poser t = 0, prendre les sommets par rang croissant et faire:
tj = M ax (ti + di ):
i2 (j)

7.1.4 Dates au plus tard

Si on …xe t! la durée du projet, la date au plus tard Ti pour commencer la tâche i est
égale à:
Ti = M in [(Tj ) di)] avec T! = t! :
j2 (i)

Ceci montre que Ti = t! l(i; !):

Algorithme de recherche des dates au plus tard:

- Représentation du graphe en niveaux.


- PoserT! = t! , prendre les sommets par rang décroissant et faire:
Ti = M in [(Tj ) di)] :
j2 (i)
GRAPHES POTENTIELS-TACHES 80

7.1.5 Les tâches critiques

On dé…nit la marge mi de la tâche i comme étant la diférence entre la date au plus tôt
et la date au plus tard: mi = ti Ti :

Les tâches dont la marge est nulle sont appelées tâches critiques.

Remarque 7.3 Si un quelconque retard est pris sur une des tâches critiques, la durée
minimale du projet sera augmentée d’autant.

Ainsi, la méthode permet d’identi…er les tâches critiques et d’aider le responsable


dans la surveillance de la bonne marche des opérations.

Exemple 7.4 Appliquer la méthode à l’exemple précédent.

7.1.6 Graphique de Gantt

Le Graphique de Gantt n’est pas une méthode pour résoudre le problème d’ordonnancement
mais seulement une méthode pour représenter une solution.
Cette méthode très ancienne, est exellente car très facile à lire, même pour les profanes.

Exemple 7.5 Dans ce graphique, chaque tâche est représentée par un segment hori-
zontal commençant à la date au plus tôt et dont la longueur représente la durée.

Tâche
F
D E

C
B
A

t
0 7 10 15
GRAPHES POTENTIELS-ETAPES (PERT) 81

7.2 GRAPHES POTENTIELS-ETAPES (PERT)

Dans cette représentation, les tâches seront les arcs du graphe. La longueur de chaque
arc sera la durée di de la tâche correspondante.
Les sommets s’interprètent comme étant des étapes du projet (étape début, étapes
intermédiaires, étape …n du projet). Chaque étape sera dé…nie par un ensemble de
tâches ayant dèjà été é¤ectuées.
Si une tâche j doit succéder à une tâche i, l’extrémité initiale de l’arc uj (correspondant

à la tâche j) doit être l’extrémité terminale de l’arc ui (correspondant à la tâche i).

Le graphe ainsi dé…ni doit être sans circuit. En fait, le graphe obtenu est un
multigraphe.

Exemple 7.6 Construire le graphe potentiels-étapes de l’exemple précédent.

Dates au plus tôt:

A chaque étape xk , on dé…nit la date au plus tôt k de réalisation de cette étape


qui est égale à la longueur du plus long chemin entre l’étape début et l’étape xk :
La durée minimale du projet est donc la longueur du plus long chemin entre l’étape
début et l’étape …n.

Les mêmes dé…nitions pour la date au plus tard, tâches critiques et chemin
critique.

FIN du Chapitre 7.

Vous aimerez peut-être aussi