Vous êtes sur la page 1sur 17

Chapitre 2 : Les problèmes d’ordonnancement

I. Introduction :
Ordonnancer un ensemble de tâches, c'est programmer leur exécution en leur allouant les
ressources requises et en fixant leurs dates de début.
Les problèmes d'ordonnancement touchent tous les domaines de l'économie :
1. L'informatique (les tâches sont les programmes ; les ressources sont les processus, la
mémoire).
2. La construction (suivi de projet).
3. L'industrie (activités des ateliers en gestion de production et problèmes de logistiques).
4. L'administration (emploi du temps).
Dans un problème d'ordonnancement interviennent deux notions fondamentales : les tâches et
les ressources.
Une ressource est un moyen technique ou humain dont la disponibilité limitée ou non est
connue à priori.
Une tâche est un travail élémentaire dont la réalisation nécessite un certain nombre d'unités de
temps (sa durée) et d'unités de chaque ressource.
La résolution d'un problème d'ordonnancement doit concilier deux objectifs :
1. L'aspect statique consiste à générer un plan de réalisation des travaux sur la base des
données prévisionnelles.
2. L'aspect dynamique consiste à prendre des décisions en temps réel, compte tenu de
l'état des ressources et de l'avancement dans le temps des différentes tâches.

II. Données d'un problème d'ordonnancement :


1. Les tâches et leurs caractéristiques
2. Les contraintes potentielles
3. Les ressources
4. La fonction économique (fonction objectif).
II. 1. Tâches
On note en général I = {1, 2, ..., n} l'ensemble des tâches et pi la durée de la tâche i si cette
durée ne dépend pas des ressources qui lui sont allouées.
En plus de sa durée, une tâche a d'autres caractéristiques :
- ri date de disponibilité, date avant laquelle la tâche i ne peut commencer
- di date échue, une tâche i doit être achevée avant sa date échue
- ti date réelle de début de la tâche i, date qui sera déterminée uniquement pendant
l'ordonnancement
- ci date de fin réelle de la tâche i, date qui sera elle aussi calculée uniquement pendant
l'ordonnancement.

II. 1. 1. Liens entre tâches


Les tâches sont souvent liées entre elles par des relations d'antériorité. Si ce n'est pas le cas,
on dit qu'elles sont indépendantes. La contrainte d'antériorité la plus générale entre deux
tâches i et j, appelée contrainte potentielle, s'écrit sous la forme
tj – ti ≥ aij
Quand la tâche j commence à la fin de la tâche i, dans ce cas, on dit qu'il y a succession
simple.
aij = pi ( pi étant la durée de la tâche i)
∀i∈ I = { 1, 2, ..., n}, ri ≤ ci ≤ di

II. 1. 2. Caractéristiques des tâches


Une tâche, dite morcelable ou préemptive peut être exécutée par morceaux.
Dans un problème d'atelier, les tâches sont regroupées en entités appelées travaux (ou jobs).
L'atelier contient m machines distinctes et chaque travail est un ensemble de m opérations
élémentaires, chacune d'elle devant s'exécuter sur une machine différente (parmi les m
machines).

II. 1. 3. Type d'atelier


On distingue trois types de problèmes d'atelier selon la nature des contraintes de précédence
entre les opérations élémentaires (tâches) d'un même travail :
- Si les opérations élémentaires d'un travail sont liées par un ordre total, non
nécessairement identique pour tous les travaux, il s'agit d'un problème de ''job-shop''.
- Si les opérations élémentaires sont indépendantes, il s'agit d'un problème de ''open-
shop''
- Si les opérations élémentaires des travaux sont liées par le même ordre total, il s'agit
d'un problème de ''flow-shop''. Il n'y a pas de contraintes de précédence sur des
opérations élémentaires de travaux différents.
Les problèmes d'ateliers sont des problèmes combinatoires extrêmement difficiles.

Exemple :
Soient n le nombre de tâches et m le nombre de machines, dans un problème de flow-shop, il
y a (n!)m solutions réalisables.
Quand on impose que les opérations élémentaires soient exécutées dans le même ordre sur
chaque machine, il y a alors n! solutions.

II. 2. Ressources
On distingue deux types de ressources pouvant être requises pour les tâches, les ressources
renouvelables et les ressources consommables.
Une ressource est renouvelable si après avoir été allouée à une tâche, elle redevient disponible
pour les autres (machines, processus, fichiers personnel).
Une ressource est consommable si après avoir été allouée à une tâche, elle n'est plus
disponible pour les tâches restant à exécuter (argent, matières premières).
Une ressource qu'elle soit consommable ou renouvelable est disponible qu'à certaines
périodes (temps de travail, temps de repos).

II. 3. Contraintes
Les ressources introduisent des contraintes disjonctives et des contraintes cumulatives :
- Une contrainte disjonctive apparaîtra lorsque deux tâches devant la même machine, ne
pourront pas s'exécuter simultanément.
- Une contrainte cumulative apparaîtra par exemple lorsque trois processeurs sont
disponibles pour l'exécution de quatre tâches. On ne pourra exécuter plus de trois de
ces tâches en même temps sans que l'on puisse savoir à l'avance laquelle sera retardée.
- Les contraintes de type potentiel : Ce sont les contraintes de localisation temporelle (la
tâche i ne doit pas commencer avant telle date ou au contraire doit être achevée avant
telle date).
- Les contraintes de successions ou positionnement entre les tâches ou d'antériorité (la
date j ne peut pas commencer avant que la tâche i ne soit terminée, ou simplement,
parvenue à un certain degré d'achèvement.
- Les contraintes de type disjonctif : elles imposent la disjonction de deux intervalles de
temps relatifs par exemple à l'exécution de deux tâches i et j qui ne peuvent être
réalisées simultanément.
- Les contraintes de type commutatif, concernant l'évolution dans le temps du volume
total des moyens humains et matériels consacrés à l'exécution des tâches (en général il
est difficile d'en tenir compte).
- Les contraintes du temps alloué : Les dates limites des tâches ou la durée totale d'un
projet
- Les contraintes du calendrier : Horaires du travail.
Remarque
Toutes ces contraintes peuvent être exprimées sous formes d'inégalités de potentiel.
- Contrainte exprimable à l'aide d'une seule inégalité de potentiel : C'est le cas de la
contrainte e succession entre deux tâches i et j (i avant j). On écrit
tj – ti ≥ pi

ti ci tj cj

- Contrainte exprimable à l'aide de deux conjonctions d'inégalités de potentiel : C'est le


cas de chevauchement par exemple :

Ou

cj – ti ≥ 0 et ci – tj ≥ 0

- Les contraintes de ressources : Elles sont liées à l'utilisation et la disponibilité des


ressources requises par les tâches.
On note :
Tk(t) ={ i∈ {1, ..., n} / t∈[ti, ti + pi] }

L'ensemble des tâches qui consomment la ressource k à l'instant t. On traduit la


limitation de la capacité de k par :
∀t ∑a
i∈Tk (t )
i ≤ Ak

II. 4. Fonction - objectif


Il faut programmer les tâches de façon à optimiser un certain objectif qui sera, suivant les cas:
- La minimisation de la durée totale (critère le plus fréquemment utilisé)
- Ou le respect des dates de commandes (dates échues)
- Ou la minimisation d'un coût (coût de production)
D'une manière générale, trois types d'objectifs sont essentiels dans la résolution des problèmes
d'ordonnancement :
- L'utilisation efficace des ressources
- Un délai d'exécution des tâches aussi faible que possible
- Le respect des dates d'achèvement prescrites à l'avance
Les variables intervenant le plus souvent dans l'expression de la fonction économique
(fonction - objectif) sont :
- La date ci de fin d'exécution de la tâche i,
- Le retard Ti = max (0, ci - di) de la tâche i,
- L'indicateur de retard Ui (Ui = 0 si ci ≤ di , Ui = 1 sinon)
Les critères usuels sont :
- La durée totale cmax = max(ci),
- Le plus grand retard Tmax = max Ti,
- Le retard moyen pondéré ∑w T i i

- Ou les stocks d'encours ∑ w T i i

Le tableau suivant propose une typologie des problèmes d’ordonnancement :


Caractéristiques Choix possibles (non exclusifs)
Quantité de moyens (nature) Illimitée
Limitée (renouvelables)
Limitée (consommables)
Organisation des moyens Une machine
M machines parallèles
Machines en série flowshop, jobshop
Gammes non linéaires
Contraintes de fabrication Préemption autorisée
Chevauchement
Temps de transit
Encours limités
Types de fabrication Unitaire
Atelier (petite série)
Masse (grande série)
Continue
Répétition des travaux Cyclique ou répétitif
A la commande ou non répétitif
Hypothèses sur la commande Statique (connue à priori)
Dynamique (arrivée continue en temps réel)
Critères principaux d'appréciation des Minimisation de cycle de fabrication
solutions Minimisation des encours
Minimisation des retards

Pour un problème d'ordonnancement répétitif, le critère usuel est la maximisation de débit,


c'est à dire, du nombre moyen d'itérations par unité de temps. Tous ces critères sont dits
réguliers, car ils sont des fonctions décroissantes des dates de fin d'exécution des tâches.

III. Critères réguliers et ensembles dominants


La plus part des critères usuels (fonction - objectif) qui s'expriment en fonction des dates de
fin d'exécution des tâches : C1, C2, ..., Cn, possèdent une propriété dite de régularité qui
permet souvent de mettre en évidence un sous-ensemble d'ordonnancements contenant la
solution optimale, appelé sous-ensemble dominant.
Un critère à minimiser f (C1, C2, ..., Cn) est dit régulier si
C1' ≤ C1 ,!, Ci' ≤ Ci ,!, C'n ≤ Cn

( )
f C '1 , ! , C 'n ≤ f (C1 , ! , C n )

Il résulte de cette définition que si un ordonnancement S’ est meilleur qu'un ordonnancement


S, alors au moins pour une tâche i, on a Ci' ≤ Ci
De manière générale, pour déterminer un ensemble dominant pour le critère régulier, on
recherchera un sous-ensemble de solutions D tel que, pour toute solution S dont les dates de
fin de tâches sont C1, C2, ..., Cn, il existe une solution S’ de D pour laquelle
C1' ≤ C1 ,!, Ci' ≤ Ci ,!, C'n ≤ Cn . f étant régulier, une solution optimale, s'il en existe sera dans D.

IV. Résolution des problèmes d'ordonnancement


Les méthodes de résolution des problèmes d'ordonnancement puisent dans toutes les
techniques de l'optimisation combinatoire (programmation mathématique, programmation
dynamique, procédure par séparation et évaluation, théorie des graphes).
Ces méthodes garantissent en général l'optimalité de la solution fournie. Mais les algo dont la
complexité n'est pas polynomiale ne pouvant pas être utilisés pour des problèmes de grande
taille, d'où la nécessité de construire des méthodes de résolution approchée, efficaces pour ces
problèmes souvent NP - difficiles.
L'analyse d'un problème particulier permet d'obtenir des propriétés sur la structure des
solutions optimales, propriétés à partir desquelles on peut ou bien caractériser les solutions
optimales ou bien réduire l'espace des solutions à explorer (notion de sous-ensemble dominant
qui contient au moins une solution optimale).

IV. 1. Méthodes par construction progressive


Les méthodes par construction progressive sont des méthodes itératives où à chaque itération,
on complète une solution partielle. Par exemple des méthodes où chaque itération place
successivement toutes les opérations d'un travail, celles où au contraire chaque itération place
une opération au plus sur une des machines. Ces méthodes peuvent suivre le déroulement du
temps ou non.
Si le choix de l'opération à ajouter à l'ordonnancement est défini par l'application d'un
théorème de dominance, la méthode peut fournir une solution optimale.

IV. 2. Méthodes utilisant la théorie des graphes


IV. 2. 1. Méthode PERT (Program Evaluation and Review Technique ou Program
Evaluation Researche Task).
C'est une méthode américaine datée de 1958 qui consiste à utiliser un graphe orienté sans
boucle dont les sommets constituent des événements (étapes de la réalisation ou objectifs
intermédiaires) et les arcs représentent les opérations (tâches élémentaires). Les arcs étant
valués par les délais d'exécution.
La résolution se fait donc par un des algorithmes que nous avons fait (Ford, Jikstra).
IV. 2. 2. Méthode des potentiels (MPM)
C'est une méthode Française datée aussi de 1958, cette méthode consiste à utiliser un graphe
dont les sommets représentent les opérations les arcs (i,j) sont valués chacun par un nombre
indiquant la durée minimale entre le début de la tâche j et la tâche i.
On remarque que la construction du graphe par la méthode (MPM) est immédiat
contrairement à la méthode PRERT.
Un des algorithmes les plus utilisés pour la résolution des problèmes d'ordonnancement
(PERT ou MPM) est l'algorithme de Belman analogue à l'algorithme de Djikstra.

IV. 3. Calcul pratique


Méthode PERT
- θi désigne la date la plus tôt pour l’événement Xi
- dij désigne la durée de l’opération (i,j)

On a
θ j = max [θi + d ij ]
i∈U ( j)

La date au plus tard de l'événement Xi est désignée par θ*i

⎧θ i si X i appartient à un chemin critique



θ*i = ⎨
(
min θ* − d ij
⎪⎩ j∈U + (i ) j
) sinon

Remarque
Une tâche peut bénéficier d'une marge libre mij = θi + dij
Une marge libre c'est une réserve du temps dont on dispose sur une tâche qui permet (si cette
marge est consommée) de ne pas retarder les dates au plus tôt des taches ultérieures.

Chemin critique
Le chemin critique (ou les chemins critiques) est le chemin jalonné par les événements (dits
critiques) dont la date attendue est égale à la différence entre la date attendue de l'événement
suivant (sur le chemin critique) et la valeur de l'arc qui les relie.
Tout arc dont la suppression rendrait le graphe PERT non connexe fait partie du chemin
critique.
La marge total de l'opération (i,j) est par définition
(
M ij = θ*i − θ i + d ij )
La marge total c'est la réserve du temps sur l'opération (i,j) qui fait s'elle est consommée
L'opération (i,j) se termine à sa date au plus tard. On dit que l'opération (i,j) devient critique.

Méthode MPM
Date au plus tôt
t j = max [t i + Vij ]

i∈U ( j)

Où Vij est la valuation de l'arc (i,j), en général Vij = di durée de la date i.


Date au plus tard
⎧t i si la tâche i est critique

t *i = ⎨
(
min t * − Vij
⎪⎩ j∈U + (i ) j
) sinon

Marge libre

m i = ⎢ min (
t j − Vij )⎤⎥ − t i
⎣ j∈U + (i ) ⎦

Marge totale

M i = ⎢ min
⎣ j∈U +
(i )
( ⎤
t *j − t i − Vij ⎥

)
= t *i − t i

IV. 4. Exemple d’application:


Un éditeur veut passer commande d'un ouvrage technique à un auteur scientifique. Les étapes
à suivre sont indiquées dans le tableau ci-après, avec leur durée et la mention des opérations
qui doivent précéder chacune d'entre elles.
Durée Opérations
Opérations
(en quinzaines) antérieures
a Approbation du plan de l'ouvrage 1 Néant
b signature du contrat 1 a
c remise du manuscrit 12 b
d Approbation du comité de lecture 2 c
e Composition du texte 3 d
correction par les correcteurs de
f 1 e
l'imprimerie
g clichage et tirage des hors-texte 3 d
h exécution des dessins, des figures 4 d
i révision des dessins par l'auteur 1 h
correction des dessins; clichage des
j 2 i
figures
première correction des épreuves par
k 2 f
l'auteur
exécution des premières corrections à
l 1 k
l'imprimerie
seconde correction des épreuves par
l'auteur ;
m 2 g,j,l
indication de l'emplacement des clichés ;
Approbation des hors-texte
exécution des secondes corrections à
n l’imprimerie ; 1 m
mise en page
o tirage du livre 2 n
établissement de la prière d'insérer, des
p 1 m
listes d'exemplaires presse et d'hommage
q Pliage 1 o
r Brochage 1 p
s reliure de certains exemplaires 2 q
t impression de la prière d'insérer ½ p
u envoi des exemplaires de presse ¼ r et t
v envoi des exemplaires de presse 1/8 s et t
w envoi des contingents aux libraires ½ r et s
Méthode PERT
Pour établir le graphe de la méthode PERT, il convient de définir les événements qui en
formeront les sommets :
0. début des opérations ;
1. plan approuvé ;
2. contrat signé ;
3. manuscrit remis ;
4. manuscrit approuvé ;
5. texte composé ;
6. texte corrigé par l’imprimerie ;
7. premières épreuves corrigées par l’auteur ;
8. dessins exécutés ;
9. dessins revus par l’auteur ;
10. premières corrections exécutées par l’imprimerie, seconde épreuves tirées ; clichage
terminé pour les figures ; impression achevée pour les hors-texte ; envoi à l’auteur des
seconde épreuves, après exécution des premières corrections, de spécimens des hors-
texte et des épreuves des clichés des dessins ;
11. retour des secondes épreuves ;
12. seconde corrections exécutées ;
13. tirage exécuté ;
14. pliage exécuté ;
15. brochage exécuté ;
16. reliure exécutée ;
17. prière d’insérer, liste des services de presse et des hommages remis ;
18. prière d’insérer imprimée ;
19. début de l’envoi des contingents aux libraires ;
20. début de l’envoi des hommages ;
21. début de l’envoi de exemplaires de presse ;
22. achèvement des opérations.
2
1 15 0
2 2
1 s 21
5 6 7 0
k 1 1 12 13 14 0 4
3 f o q w
12 2 e l r 1
2 n
1 1 3 1
0 1 2 3 4 10 11 17 19 22
a b g v
4 m 1
c d 2 1/2
1 0
h 8 9 p
j
i 16 18
2
t 0
0
u

20
Remarque :
Pour déterminer les dates attendues des divers événements, il suffit de suivre le ou les
chemins le plus long pour arriver à cet événement.
Par exemple :
1) θ10 = max (16 + 3 + 1 + 2 + 1, 16 + 3, 16 + 4 + 1 + 2 )
= 23
2) La date attendue de l'achèvement des opérations est θ22 = 31,5
3) On a mis la valeur 0 entre les événements 15 et 19, 15 et 21, 16 et 19, 16 et 20, 18 et 20, 18
et 21
21 peut être exécuté juste après l'exécution de 15 mais ils ne sont pas indépendants.

Définition
L'arc où on a mis la valeur 0 représente une opération dite fictive.

Remarque
L'événement 22 étant sur le chemin critique en faisant les différences 31.5 - 1/2, 31.5 - 1/8,
31.5 - 1/4.
Afin de remonter les arcs aboutissant à 21 seul l'événement 19 est telle que : 31.5 - ½ = 31
31 est la valeur de l'événement 19 donc 19 fait partie du chemin critique.
Si on fait la même chose avec l'événement 19 : 31 - 0, 31 – 0 = 31
Donc ,
16 fait partie du chemin critique
14 fait partie du chemin critique (unique)
13 fait partie du chemin critique
12 fait partie du chemin critique
11 fait partie du chemin critique
10 fait partie du chemin critique
32 – 1 = 2 et 23 – 2 = 21
Donc
7 et 9 font partie du chemin critique
8 fait partie du chemin critique
4 fait partie du chemin critique
3 fait partie du chemin critique
2 fait partie du chemin critique
1 fait partie du chemin critique
0 fait partie du chemin critique
6 fait partie du chemin critique
5 fait partie du chemin critique
on a donc deux chemins critiques
0 1 2 3 4 5 6 7 10 11 12 13 14 16 19 22
0 1 2 3 4 8 9 10 11 12 13 14 16 19 22

Remarque :
En pratique il est convenable de regrouper certaines tâches surtout quand l'évaluation des
opérations (arcs) est très différente dans notre exemple 12 et 1/8
En pratique quand le rapport dépasse 100 on regroupe des opérations.
r 1
1
3 1 2
1 2 w
e f k l q 1
2 n o 2
2 4
1 1
2
Déb
a b c d g m s u Fi
2 3
0 1 1 12
2 1 1/2
2 h i j 2 p
4 t
Méthode des potentiels (MPM)

1 2
1/2 1

v
Graphe MPM
VI. 5. Méthode du tableau pour la recherche des chemins critique
Opération 0 a 1 b 2 c 14 d 16 e 19 f
Préalable 0 D:0 0 a:1 1 b:1 2 c : 12 14 d:2 16 e:3

Opération 16 g 16 h 20 i 21 j 20 k 22 l
Préalable 14 d:2 14 d:2 16 h:4 20 i:1 19 f:1 20 k :2

Opération 23 m 25 n 26 o 25 p 28 q 29 r
16 g:3
Préalable 22 f:1 23 m : 2 25 n:1 23 m:2 26 o:2 28 q:1
21 j:2

Opération 29 s 26 t 30 u 31 w 31,5 Fin


30 u:¼
29 r:1 29 r:1
Préalable 28 q:1 25 p:1 31 v : 1/8
26 t:½ 29 s:2
31 w:½

Comment remplir le tableau ci-dessus ?


On a écrit 0 en face à gauche de D (0 | D) en face à droite de D on écrit la durée de la tâche
D on a donc 0 | D : 0 en faisant la somme de 0 à gauche de D et de 0 à droite de D.
On obtient la ligne 0 a
on a donc
0 a
0 D:0

La date au plutôt de l'opération a est donc 0 on passe à la deuxième on écrit 0 | a : 1 (1 c'est la


durée de l'opération a puis en fait la somme 0 + 1 et on obtient

0+1 b
0 a:1

1 b
0 a:1
et ainsi de suite.

Lorsqu'on a plusieurs prédécesseurs, on fait la somme des nombres inscrit sur la même ligne
et on inscrit à la tête de colonne le maximum des résultats obtenus.

Vous aimerez peut-être aussi