Problèmes d’ordonnancement
C. SADFI
1
Plan du cours
► Ordonnancement de la production
► Ordonnancement de projets
2
C. Sadfi - Management des opérations II - 3
Ordonnancement
! Définitions
- Un problème d’ordonnancement désigne tout problème dans
lequel l’objectif est l’allocation de ressources au cours du temps,
de façon à réaliser un ensemble d’activités
Ordonnancement
- Les problèmes d’ordonnancement en ateliers spécialisés relèvent
de la problématique de la régulation à court terme de l’entreprise,
et plus particulièrement de celle du contrôle et de l’utilisation de
la main d’œuvre et des équipements productifs
Ordonnancement
- Planification dans le temps l’exécution d’un ensemble de tâches
sur un ensemble de ressources en respectant un ensemble de
contraintes afin d’optimiser un ou plusieurs critères
- Exemples
• Informatique (tâches : opérations ; ressources : processeurs, mémoires)
• Administration (tâches : cours, TD, TP ; ressources : enseignants,
salles)
C. Sadfi - Management des opérations II - 6
Ordonnancement
- Contraintes
• Potentielles : précédence — succession ; localisation temporelle
• Disjonctives : même ressource (unique) utilisée par deux tâches
(exemple : 2 malades et 1 médecin)
• Cumulatives : limitation des niveaux de ressources disponibles
(exemple : 5 tâches de maçonnerie et 3 maçons)
Ordonnancement
! Vocabulaires
Ordonnancement de la production
C. Sadfi - Management des opérations II - 9
Ordonnancement de la production
! Notations : données
- n : nombre de travaux
- m : nombre de machines
- i : indice de travail
- j : indice de machine
- pij : durée d’exécution de l’opération i sur la machine Mj du travail
Ji (processing time)
- ri : date de disponibilité du travail Ji (date de début au plus tôt :
release date)
- di : date de fin souhaitée du travail Ji (due date)
- wi : poids attribué au travail Ji ; il exprime le facteur d’importance
(weight)
Ordonnancement de la production
Ordonnancement de la production
! Diagramme de Gantt
- Le "Diagramme de Gantt", du nom de Henry L. Gantt (1917),
permet de représenter les besoins en ressources en fonction du
temps, par l’intermédiaire d’une liste de tâches représentées par des
barres horizontales. Ce diagramme est très classique dans la gestion
de projets
Ordonnancement de la production
! Diagramme de Gantt : exemple
A B C D E F
- 6 pièces à usiner :
pi 10 4 1 1 2 6,5
M1 B A
M2 E D
M3 C F
0 14 temps
C. Sadfi - Management des opérations II - 13
Ordonnancement de la production
! Mode d’exécution des tâches : dans certains cas, une tâche peut
être exécutée par morceaux. On dit alors que la "préemption" est
possible (problème préemptif). Dans le cas contraire, la préemption
n’est pas autorisée (problème non préemptif) : une fois
commencée, une tâche doit être exécutée en entier sans interruption.
Souvent, la préemption rend ces problèmes plus faciles de point de vue
résolution.
C. Sadfi - Management des opérations II - 14
Ordonnancement de la production
! Les machines
Ordonnancement de la production
! Les machines
- Machines dédiées : elles sont spécialisées à l’exécution de certaines
opérations. Dans cette catégorie, chaque travail est constitué de
plusieurs opérations. En fonction du mode de passage des opérations
sur les différentes machines, trois ateliers spécialisés sont différenciés :
Ordonnancement de la production
Ordonnancement de la production
Ordonnancement de la production
Critères retenus : Min Lmax ou Min ΣTi ou Min ΣUi ou Min ΣwiUi
C. Sadfi - Management des opérations II - 19
Ordonnancement de la production
Ordonnancement de la production
! Codification des problèmes d’ordonnancement : exemples
Ordonnancement de la production
! Notion de complexité
complexité
C. Sadfi - Management des opérations II - 22
Ordonnancement de la production
! Notion de complexité
Ordonnancement de la production
! Complexité des problèmes d’ordonnancement
- Les problèmes d’ordonnancement de la production sont des problèmes
combinatoires extrêmement difficiles et il n’existe pas de méthodes
universelles permettant de résoudre efficacement tous les cas
Ordonnancement de la production
! Résolution des problèmes d’ordonnancement
- Les méthodes exactes : solution optimale
• la programmation dynamique
• la méthode branch and bound (procédure par séparation et évaluation)
• la programmation linéaire en nombres entiers
Ordonnancement de la production
C. Sadfi - Management des opérations II - 26
Ordonnancement de la production
! Problèmes à une seule machine
Séquencement ?
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
• Makespan Cmax
• Objectif : minimiser la durée totale de l’ordonnancement
• Cmax = Max(Ci)
A B C D
• Exemple : 4 tâches à ordonnancer
pi 5 2 2 3
A B C D
0 12 temps
C. Sadfi - Management des opérations II - 28
Ordonnancement de la production
- Problème
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
A B C D
• Exemple : 4 tâches à ordonnancer
pi 5 2 2 3
A B C D
0 5 7 9 12 temps
B C D A
0 2 4 7 12 temps
C. Sadfi - Management des opérations II - 30
Ordonnancement de la production
! Dominance
solutions réalisables
propriété D
solutions optimales
C. Sadfi - Management des opérations II - 31
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
i j
temps
C. Sadfi - Management des opérations II - 32
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
• Argument d’échange
" Soit un ordonnancement optimal dans lequel il existe deux
tâches successives qui ne vérifient pas la dominance
" On montre qu’en les échangeant on améliore l’objectif
D F
j i
Cj Ci
i j
Cʹi Cʹj
C. Sadfi - Management des opérations II - 33
Ordonnancement de la production
- Problème
Ordonnancement de la production
! Problèmes à une seule machine
A B C D
0 5 7 9 12 temps
Ordonnancement de la production
! Problèmes à une seule machine
• Problème d’affectation
0 temps
C. Sadfi - Management des opérations II - 36
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
D F
j i
Cj Ci
i j
Cʹi Cʹj
C. Sadfi - Management des opérations II - 37
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
• Argument d’échange
Ordonnancement de la production
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
A B C D
• Exemple : 4 tâches à ordonnancer pi 5 2 2 3
ri 0 9 2 8
• Séquence ABCD : valeur Cmax = 16
A B C D
0 5 9 11 13 16 temps
A C D B
0 5 7 8 11 13 temps
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
A B C D
• Exemple : 4 tâches à ordonnancer pi 5 2 2 3
ri 0 9 2 8
C B D A
0 2 4 9 11 14 19 temps
A C D B
0 5 7 8 11 13 temps
C. Sadfi - Management des opérations II - 41
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
A B C D E
• Exemple : 5 tâches à ordonnancer pi 3 1 1 2 2
ri 0 1 2 3 4
A B C D E
0 3 4 5 7 9 temps
B C D E A
0 1 2 3 5 7 10 temps
C. Sadfi - Management des opérations II - 42
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
• Heuristiques
• Bornes inférieures
C. Sadfi - Management des opérations II - 43
Ordonnancement de la production
! Problèmes à une seule machine
A B C D E
• Exemple : 5 tâches à ordonnancer
pi 3 1 1 2 2
ri 0 1 2 3 4
• Algorithme SRPT : valeur ΣCi = 26
A1 B C A2 D E
0 1 2 3 5 7 9 temps
C. Sadfi - Management des opérations II - 44
Ordonnancement de la production
! Problèmes à une seule machine
A1 B C A2 D E
0 1 2 3 5 7 9 temps
• Heuristique de Phillips, Stein et Wein : valeur ΣCi = 29
B C A D E
0 1 2 3 6 8 10 temps
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
D F
j i
Cj Ci
i j
Cʹi Cʹj
C. Sadfi - Management des opérations II - 46
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
• Argument d’échange
et
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
- Problème
Ordonnancement de la production
! Problèmes à une seule machine
- Problème A B C D E F G H
pi 5 3 2 4 1 3 6 4
• Exemple : 8 tâches à ordonnancer
ri 2 10 3 0 0 5 15 21
di 15 14 8 16 20 10 28 25
D1 A1 C F A2 B A3 D2 E G1 H G2
0 2 3 5 8 10 13 15 17 18 21 25 28
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
A B
• Exemple : 2 tâches à ordonnancer pi 6 10
di 9 4
B A
0 10 16 temps
A B
0 6 16 temps
C. Sadfi - Management des opérations II - 50
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
i A B C
• Exemple : 3 tâches à ordonnancer pi 1 2 4
di 5 4 4
B A C
0 2 3 7 temps
C. Sadfi - Management des opérations II - 53
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
• Le problème est polynomial : résolu par l’algorithme
d’Hodgson et Moore
1. Ranger les travaux selon la règle EDD = A ; R=∅ ; déterminer les Ci
2. Tant qu’il existe des travaux en retard dans A faire :
- soit k le premier travail en retard
- soit l le plus long travail parmi les k premiers
- A=A-{l} et R=R+{l}
- Avancer les tâches en aval de l (sans modifier l’ordre EDD)
- déterminer les Ci
3. Les séquences optimales sont données par les éléments de A ordonnancés
selon EDD suivis par les éléments de R dans un ordre quelconque
C. Sadfi - Management des opérations II - 54
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
i A B C D E
• Exemple : 5 tâches à ordonnancer pi 4 8 2 5 3
di 6 14 19 8 11
A E C B D
0 4 7 9 17 22
C. Sadfi - Management des opérations II - 55
Ordonnancement de la production
! Problèmes à une seule machine
- Contraintes de précédence
A B C D E
A
pi 2 3 1 2 4
E
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
A B C D E
A
pi 2 3 1 2 4
E
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
Ordonnancement de la production
! Problèmes à une seule machine
- Problème
A i A B C D E
E pi 2 3 1 2 4
B di 8 7 3 6 11
A C B D E
0 2 3 6 8 12
C. Sadfi - Management des opérations II - 59
Ordonnancement de la production
! Problèmes à plusieurs machines
- Problèmes sur machines parallèles
Ordonnancement de la production
! Problèmes à plusieurs machines
- Problèmes sur machines parallèles
• Problème d’affectation des activités aux ressources et
séquencement des activités sur chaque ressource
• Une activité requiert 1 seule ressource pour s’être effectuée et
toutes les ressources peuvent faire toutes les activités
M3 B A
M2 E D
M1 C F
0 14 temps
C. Sadfi - Management des opérations II - 61
Ordonnancement de la production
! Problèmes à plusieurs machines
Ordonnancement de la production
! Problèmes à plusieurs machines
M3 B E C
• Exemple : 6 pièces à usiner
et l’atelier dispose de 3 M2 F D
machines outils identiques M1 A
A B C D E F 0 H2 (LPT) 10
pi 10 4 1 1 2 6
M3 E A
M2 D F
M1 C B
0 H1 (SPT) 12
C. Sadfi - Management des opérations II - 63
Ordonnancement de la production
! Problèmes à plusieurs machines
- Problèmes sur machines parallèles :
Soit
1. Placer les tâches dans n’importe quel ordre sans préemption sur la
machine M1.
2. Découper la séquence au niveau de M* et placer les tâches en aval de
M* sur la machine suivante. Terminer l’ordonnancement des tâches non
affectées sur cette machine.
3. Répéter l’étape 2 jusqu’à ce que toutes les tâches soient ordonnancées.
C. Sadfi - Management des opérations II - 64
Ordonnancement de la production
! Problèmes à plusieurs machines
i A B C D E F G H I
pi 7 7 6 6 5 5 4 4 4
M4 G H I
M3 D2 E F
M2 B2 C D1
M1 A B1
0 12 temps
C. Sadfi - Management des opérations II - 65
Ordonnancement de la production
! Problèmes à plusieurs machines
i A B C
pi 1 2 5
M2 C2
M1 A B C1
5 temps
Ordonnancement de la production
! Problèmes à plusieurs machines
- Problèmes sur machines parallèles :
• Le problème est polynomial
• Algorithme SPT généralisé
A B C D E F
• Exemple : 6 tâches et 3 machines
pi 10 4 1 1 2 6
M3 E A
M2 D F
M1 C B
0 temps
C. Sadfi - Management des opérations II - 67
Ordonnancement de la production
! Problèmes à plusieurs machines M2
- Ateliers de production
M1 M3
Oi2
Oi1 Oi3
• m machines spécifiques
• Stocks d’encours intermédiaires devant les machines
• La gamme du job Ji est composée d’opérations Oi1,...,Oim
• L’opération Oik doit se faire sur la machine Mk
• La gamme peut présenter des contraintes de précédence
Ordonnancement de la production
! Problèmes à plusieurs machines
- Ateliers de production : flow shop
M1 M3
M2
.... ....
Oi1 Oi2 Oik Oim
C. Sadfi - Management des opérations II - 69
Ordonnancement de la production
! Problèmes à plusieurs machines
- Ateliers de production : flow shop
• Problème
A B C D E
pi1 2 2 1 3 5 M1
pi2 1 2 4 3 3 M2
M1 A B C D E
M2 A B C D E
temps
C. Sadfi - Management des opérations II - 70
Ordonnancement de la production
! Problèmes à plusieurs machines
- Ateliers de production : flow shop
• Définition : ordonnancement de permutation
o Un ordonnancement est dit de permutation si la séquence des
jobs est la même sur toutes les machines
Ordonnancement de la production
! Problèmes à plusieurs machines
• Ordonnancement de permutation
Ordonnancement de la production
! Problèmes à plusieurs machines
• Notation
Ordonnancement de la production
! Problèmes à plusieurs machines
1. Soit A = {Ji | pi1 ≤ pi2} l’ensemble des jobs courts sur M1
2. Soit B = {Ji | pi1 > pi2} l’ensemble des jobs courts sur M2
3. Ordonnancer les jobs de A par pi1 croissant
4. Ordonnancer les jobs de B par pi2 décroissant
Ordonnancement de la production
! Problèmes à plusieurs machines
A B C D E
pi1 2 2 1 3 5 M1
pi2 1 2 4 3 3 M2
M1
M2
C. Sadfi - Management des opérations II - 75
Ordonnancement de la production
! Problèmes à plusieurs machines
• Cas particulier :
Ordonnancement de la production
! Problèmes à plusieurs machines
• Cas particulier :
• Exemple :
i 1 2 3 4
i 1 2 3 4
pi1 4 6 8 3
pʹi1 6 7 11 5
pi2 2 1 3 2
pʹi2 7 2 9 6
pi3 5 1 6 4
Séquence optimale : 4 — 1 — 3 — 2
C. Sadfi - Management des opérations II - 77
Ordonnancement de la production
! Problèmes à plusieurs machines
Ordonnancement de la production
! Problèmes à plusieurs machines
- Ateliers de production : problème
• Heuristique CDS (Campbell, Dudek et Smith) : exemple
i 1 2 3 4 5
pi1 4 6 5 3 2 i 1 2 3 4 5
k=1
pi2 2 1 3 2 4 p1i1 4 6 5 3 2
pi3 5 1 6 4 1 P1i2 3 2 4 1 3
séquence 1 : 5 — 3 — 1 — 2 — 4
pi4 3 2 4 1 3
Cmax =
k=3 k=2
i 1 2 3 4 5 i 1 2 3 4 5
p3i1 11 8 14 9 7 p2i1 6 7 8 5 6
P3i2 10 4 13 7 8 P2i2 8 3 10 5 4
séquence 3 : 5 — 3 — 1 — 4 — 2 séquence 2 : 4 — 1 — 3 — 5 — 2
Cmax = Cmax =
C. Sadfi - Management des opérations II - 79
Ordonnancement de la production
! Problèmes à plusieurs machines
M1 M3
Oi2
Ti2
Oi1 Oi3
Ti1 Ti3
Ordonnancement de la production
! Problèmes à plusieurs machines
Ordonnancement de la production
! Problèmes à plusieurs machines
- Ateliers de production : problème
• Algorithme de Jackson : exemple A B C D E
pi1 3 4 1 3 1 M1
M1 M2 pi2 1 5 1 2 M2
A
M1 B A C D E
M2 D E B A
C. Sadfi - Management des opérations II - 82
Ordonnancement de projets
C. Sadfi - Management des opérations II - 83
Les graphes
! Graphes : des objets, appelés nœuds, reliés par des connexions orientées
(arcs) ou bien non orientés (arêtes)
modélisation
C. Sadfi - Management des opérations II - 84
Graphes orientés
Un graphe orienté G = (X,U) est défini par un ensemble X = {x1,
x2, ...., xn} de n nœuds (ou sommets) et un ensemble U = {u1, u2, ....,
um} de m connexions orientées entre nœuds appelées arcs.
• X = {1,2,3,4,5,6}, on a n = 6 nœuds (on dit aussi que G est d’ordre 6)
• U = {(1,4),(1,5),(2,2),(2,4),(3,4),(3,5),(4,2),(4,6),(5,2),(6,1),(6,3)}, on a
m = 11 arcs
C. Sadfi - Management des opérations II - 85
Graphes valués
Les arcs d’un graphe peuvent être munis de coûts ou poids au sens large :
coûts de transport, distances, durées, intensités de courant. Le graphe est
alors valué, on le note G = (X,U,C), C étant une application qui à tout
arc (i,j) associe un coût C((i,j)) ou pour abréger Cij
C. Sadfi - Management des opérations II - 87
Ordonnancement de projets
" Contraintes de précédence
Prec(i,j) : "i précède j" : la tâche i doit être terminée avant de
pouvoir commencer l’exécution de la tâche j
pi
i j
ti + pi ≤ tj ⇔ tj – ti ≥ pi avec :
• ti : date de début d’exécution de la tâche i
• pi : durée d’exécution de la tâche i
• tj : date de début d’exécution de la tâche j
C. Sadfi - Management des opérations II - 88
Ordonnancement de projets
- Sommets ≡ tâches
- Arcs ≡ précédence
- Valuations ≡ durées d’exécution
C. Sadfi - Management des opérations II - 89
Ordonnancement de projets
Exemple
Ordonnancement de projets
Exemple
3 1 E
B C 2
7
8 1
8 1 3 2 1
A D F H I J
7
8 1
G 1
C. Sadfi - Management des opérations II - 91
Ordonnancement de projets
Exemple
3 1
B C E 2
7 8 1
0 8 1 3 2 1
α A D F H I J ω
7
8 1
G 1
C. Sadfi - Management des opérations II - 92
Ordonnancement de projets
Ordonnancement de projets
Exemple
7 10 15
3 1
B C E 2
7 8 1
0 0 7 15 16 19 21 22
0 8 1 3 2 1
α A D F H I J ω
7
8 1
15
G 1
chemin critique
C. Sadfi - Management des opérations II - 94
Ordonnancement de projets
• tω = tω
• ti = min j∈Γ(i){ tj - pi }
C. Sadfi - Management des opérations II - 95
Ordonnancement de projets
Exemple
7 10 15
3 1
B C E 2
7 11 14 19
1 22
0 0 0 7 8 15 16 19 21
8 1 3 2 1
α A D F H I J ω
0 0 7 7 1 15 16 19 21 22
8
15
G 1
20
chemin critique
C. Sadfi - Management des opérations II - 96
Ordonnancement de projets
" Marge totale d’une tâche i : MTi
- C’est le retard maximal qu’on peut appliquer à la tâche i sans
affecter la date de fin au plus tôt du projet
- C’est la différence ente date au plus tard et date au plus tôt
• MTi = ti — ti
Ordonnancement de projets
Exemple 2 : construction d’un nouveau bâtiment
Ordonnancement
! Références bibliographiques
- Ouvrages
• Błeżwicz, J., Ecker, K. H., Pesch, E., Schmidt, G. and Weglarz, J. 1996.
Scheduling in computer and manufacturing processes, Springer-Verlag
• Carlier, J. et P. Chretienne, P. 1988. Problèmes d’ordonnancement, Masson
• Esquirol, P. et Lopez, P. 1999. L’ordonnancement, Economica.
• Garey, M. R. and Johnson, D. S. 1979. Computers and intractability: A
guide of the theory of NP-completeness, W. H. Freeman and Company, San
Francisco
• Giard, V. 1999. Gestion de projets, Economica
• Johnson, L. and Montgomery, D. 1974. Operations research in production
planning, scheduling and inventory control, Wiley, New York
• Pinedo, M. 1995. Scheduling theory, algorithms and systems, Prentice-Hall