Ordonnancement : Théorie et Applications
Ordonnancement : Théorie et Applications
Christophe RAPINE
Laboratoire LGIPM, université de Lorraine
1
Ordonnancement : entre théorie et applications
Qu’est-ce que l’ordonnancement ?
2
Ordonnancement : entre théorie et applications
Trois ingrédients fondamentaux
3
Ordonnancement : entre théorie et applications
Terminologie
4
Ordonnancement : entre théorie et applications
Décisions attendues
Problème d’ordonnancement
Il faut décider :
• De l’allocation des ressources aux activités
• Du séquencement des activités sur chaque
ressource → date de début des activités
5
Ordonnancement : entre théorie et applications
Visualisation d’un ordonnancement
Diagramme de Gantt
Représentation ressources/temps de l’ordonnancement
Nommé d’après Henry Gantt (1861-1919)
6
Ordonnancement : entre théorie et applications
Les domaines de l’ordonnancement
• Production,
• Gestion de projets,
• Logistique, transport
• Emplois du temps, gestion des ressources humaines, hôpitaux
• Informatique, . . .
7
Ordonnancement : entre théorie et applications
Exemple du menuisier
8
Ordonnancement : entre théorie et applications
Exemple : Ordonnancement en transport routier
9
Ordonnancement : entre théorie et applications
Exemple : Ordonnancement en transport routier
10
Ordonnancement : entre théorie et applications
Gestion de quais de déchargement
• Porte-containers/cargos à décharger
• Des quais avec des équipements et des longueurs différentes
• Comment gérer le plan d’ammarrage ?
• Pour maximiser le débit du port, minimiser les temps
d’attente des cargos, obtenir un ammarrage équitable
• Atelier de montage/Ligne de
production
• Les produits passent d’un poste à
un autre : jobs avec un ensemble
d’opérations à réaliser
• Machines spécifiques (dédiées)
pour réaliser les opérations
• Allocation fixée des ressources aux
opérations
13
Ordonnancement : entre théorie et applications
Types de Ressources
Ressource
Une ressource est un moyen matériel (machine, homme, argent)
nécessaire pour exécuter les tâches.
Une ressource peut être
• à capacité limitée
par exemple au plus une tâche peut l’utiliser à chaque
instant : ressource unitaire
• renouvelable
rendue après son utilisation (outil, main dœuvre, machine, . . .)
• non renouvelable
son utilisation consomme la ressource (budget)
14
Ordonnancement : entre théorie et applications
Activité
Activité
Une activité (ou tâche) est une opération élémentaire dont la
réalisation nécessite un certain nombre d’unités de temps (durée de
la tâche) et d’unités de chaque ressources.
Notations
• Un ensemble de n tâches à ordonnancer, numérotées de 1 à n
• La durée de la tâche i est pi
• A déterminer : la date de début ti de la tâche i, ou sa date de
fin Ci .
15
Ordonnancement : entre théorie et applications
Contraintes
Contraintes
Spécifient quels sont les ordonnancements réalisables, ce qu’il est
possible de faire (en respectant les capacités physiques, les
engagements contractuels, les objectifs commerciaux, etc).
Types de contraintes :
1 Contraintes potentielles (ou de potentiels)
2 Contraintes disjonctives
3 Contraintes cumulatives
16
Ordonnancement : entre théorie et applications
Contraintes Potentielles
Formes générales
Si i et j sont 2 tâches, containtes ti − tj ≥ aij
17
Ordonnancement : entre théorie et applications
Contraintes Disjonctives
Définition
Deux tâches i et j sont en disjonction si elles ne peuvent être
exécutées simultanément.
18
Ordonnancement : entre théorie et applications
Contraintes Cumulatives
19
Ordonnancement : entre théorie et applications
Notation 3 champs
Notation α|β|γ
• α Description des ressources
nombre de ressources, type de ressource : {1, P3, F 2, . . .}
• β Caractéristique des tâches
précédences, date d’arrivée, . . .
• γ Critère à optimiser
Exprimé en fonction de la date de fin Ci des tâches
On considère que les tâches et leurs caractéristiques sont connues
lors de l’ordonnancement
→ problèmes off-line
Problèmes très souvent NP-difficiles (Complexity results for
scheduling problems)
[Link]
20
Ordonnancement : entre théorie et applications
Ordonnancement sur une ressource
Séquencement
Il faut décider :
• l’ordre d’exécution des tâches sur la ressource
21
Ordonnancement : entre théorie et applications
Problème 1||Cmax
Makespan Cmax
• Objectif : minimiser la durée totale de
l’ordonnancement
• Cmax = maxi Ci
• 4 tâches à ordonnancer
A B C D
pi 5 2 1 3
22
Ordonnancement : entre théorie et applications
P
Problème 1|| Ci
P
Total flow time Ci
• Objectif : minimiser la date de fin
moyenne des tâches
• attente moyenne des clients dans une file
• stocks d’encours devant la ressource
23
Ordonnancement : entre théorie et applications
Quai de déchargement
24
Ordonnancement : entre théorie et applications
P
Problème 1|| Ci
• 4 tâches à ordonnancer
A B C D
pi 5 2 1 3
P
• Séquence σ = ABCD valeur Ci = 31
A B C D
temps
5
P7 8 11
• Séquence σ0 = CBDA valeur Ci = 21 optimal ?
C B D A
temps
1 3 6 11
25
Ordonnancement : entre théorie et applications
Comment prouver l’optimalité d’une politique ?
Argument d’échange
• On considère 2 taches successives
• On cherche à quelle condition un échange améliore
l’ordonnancement
Cj + Ci = D + pj + F
j i
Cj Ci Ci0 + Cj0 = D + pi + F
D F
i j
C’ i C’ j
26
Ordonnancement : entre théorie et applications
Dominance
Definition (Dominance)
Une propriété D est une dominance si pour toute solution π,
il existe une solution π 0 au moins aussi bonne que π et vérifiant la
propriété D.
Propriété D
Solutions
réalisables
Solutions
optimales
27
Ordonnancement : entre théorie et applications
P
Problème 1|| Ci
Dominance
Deux tâches successives sont ordonnancées dans l’ordre des temps
opératoires croissants
si i et j se succèdent, alors pi ≤ pj
i j
temps
28
Ordonnancement : entre théorie et applications
Règle SPT
SPT
La règle SPT (Shortest Processing Time) séquençantPles tâches
par durée opératoire croissante est optimale pour 1|| Ci
29
Ordonnancement : entre théorie et applications
Stretch
30
Ordonnancement : entre théorie et applications
P
Problème 1|| wi Ci
A B C D E
pi 1 2 4 5 6
wi 2 1 3 5 4
wSPT
La règle wSPT séquençant
P les tâches par ratio pi /wi croissant est
optimale pour 1|| wi Ci
31
Ordonnancement : entre théorie et applications
Quai de déchargement (suite)
32
Ordonnancement : entre théorie et applications
Ordonnancement semi-actif
Definition
Un ordonnancement est semi-actif si il n’est pas possible d’avancer
l’exécution des tâches sans remettre en cause l’ordre d’exécution
33
Ordonnancement : entre théorie et applications
Algorithme de Liste
Algorithme de Liste
• Priorité sur les taches : liste L
• Séquencement glouton des tâches
Si la ressource est libre, séquencer la première tâche disponible
de la liste
34
Ordonnancement : entre théorie et applications
Algorithme de Liste
Propriété
Les algorithmes de liste construisent des ordonnancements
semi-actifs
35
Ordonnancement : entre théorie et applications
Optimalité pour 1|ri |Cmax
Bloc
Dans un ordonnancement, on appelle bloc une suite (maximale) de
tâches sans temps mort.
C
max
k l
36
Ordonnancement : entre théorie et applications
Optimalité pour 1|ri |Cmax
Propriété
Dans un ordonnancement semi-actif, la première tâche d’un bloc
est exécutée à sa date de disponibilité (ou à l’instant 0).
C
max
k l
∗
Cmax ≥ min ri + p(S) ∀S ensemble de tâches
i∈S
37
Ordonnancement : entre théorie et applications
Optimalité pour 1|ri |Cmax
Propriété
Dans un ordonnancement obtenu par un algorithme de liste,
aucune tâche d’un bloc n’est disponible avant le début du bloc.
C
max
k l
38
Ordonnancement : entre théorie et applications
P
Problème 1|ri | Ci
A B C D
pi 5 2 1 3
ri 0 9 1 8
P
• Liste SPT CBDA valeur Ci = 35 Quelle que soit la liste !
A C D B
temps
5 6 8 11 13
P
• Séquence CABD valeur Ci = 33
C A D B
temps
1 2 7 8 11 13
39
Ordonnancement : entre théorie et applications
P
Problème 1|ri | Ci
40
Ordonnancement : entre théorie et applications
P
Problème 1|ri | Ci
Propriété
P
Le problème 1|ri | Ci est NP-difficile (au sens fort)
41
Ordonnancement : entre théorie et applications
Borne inférieure ?
42
Ordonnancement : entre théorie et applications
P
Problème 1|ri | Ci
5 tâches à ordonnancer :
A B C D E
pi 10 4 1 1 2
ri 0 2 4 6 8
43
Ordonnancement : entre théorie et applications
Préemption
Définition
La préemption est la possibilité d’interrompre l’exécution d’une
tâche pour la reprendre ultérieurement.
44
Ordonnancement : entre théorie et applications
P
Problème 1|ri , pmtn| Ci
A B C D E
pi 10 4 1 1 2
ri 0 2 4 6 8
SRPT
La règle SRPT (Shortest Remaining Processing Time)
ordonnançant à chaque instant la tâche disponible
P de plus petit
temps restant est optimale pour 1|ri , pmtn| Ci
45
Ordonnancement : entre théorie et applications
SRPT : Exemple
5 tâches à ordonnancer :
A B C D E
pi 10 4 1 1 2 D
ri 0 2 4 6 8 C E
P 0 2 4 6 8 10
Algorithme SRPT, i Ci (SRPT ) = 48
46
Ordonnancement : entre théorie et applications
P
Problème 1|ri | Ci : Approximation
Ordonnancement SRPT, z̄ ∗ = 48
C DB E A
5 7 8 11 18
47
Ordonnancement : entre théorie et applications
P
Problème 1|ri | Ci : Approximation
• Ordonnancement SRPT, z̄ ∗ = 48
• Ordonnancement PSW : CDBEA, z = 59
C DB E A
5 7 8 11 18
5 7 11 13 23
48
Ordonnancement : entre théorie et applications
P
Problème 1|ri | Ci : Approximation
Algorithme de Stein
L’algorithme de Phillips Stein & Wein a une garantie 2
Preuve
preempt
Pour toutes les tâches, CiPSW ≤ 2Ci
Remarque
La garantie 2 est a priori. On peut sur chaque instance regarder la
garantie a posteriori on se comparant à la relaxation préemptive.
49
Ordonnancement : entre théorie et applications
Exemple du menuisier
50
Ordonnancement : entre théorie et applications
Date échue
51
Ordonnancement : entre théorie et applications
Les indicateurs de retard
• Tardiness Ti = max{Ci − di , 0}
retard de la tâche i par rapport à sa date échue
• Lateness Li = Ci − di retard algébrique
• Ui , indicatrice de retard
Ti
di Ci
52
Ordonnancement : entre théorie et applications
Critères classiques de retard
53
Ordonnancement : entre théorie et applications
Problème 1||Tmax
A B C D
pi 5 2 1 3
di 8 7 3 6
A B C D
temps
5 7 8 11
54
Ordonnancement : entre théorie et applications
Règle EDD
EDD
La règle EDD (Earliest Due Date) séquençant les tâches par date
échue croissante est optimale pour 1||Tmax
55
Ordonnancement : entre théorie et applications
Contraintes de précédence
i j
56
Ordonnancement : entre théorie et applications
Contraintes de précédence
Précédences
C
A→C
A
E
A→D
B→D
B
C →E
D
57
Ordonnancement : entre théorie et applications
Algorithme de Lawler
58
Ordonnancement : entre théorie et applications
Critères Réguliers
Critère Régulier
Un critère f est régulier si il est croissant avec les dates Ci
59
Ordonnancement : entre théorie et applications
Critères Bottleneck
Les critères les plus usuels considère la plus grande des valeurs ou
la somme de ces valeurs.
• fmax (C ) = maxi fi (Ci ) bottleneck
P
• fsum (C ) = i fi (Ci ) sum
60
Ordonnancement : entre théorie et applications
Problèmes 1|prec|fmax
Algorithme de Lawler
P
1 Partir de la fin de l’ordonnancement (t = pi )
2 Placer en dernier la tache i sans successeur (non ordonnancé)
qui minimise fi (t)
3 Retrancher pi à t et retourner à l’étape 2 si t > 0
Propriété
L’algorithme de Lawler est optimal pour tout critère régulier fmax
Sa complexité est O(n2 ).
61
Ordonnancement : entre théorie et applications
Algorithme de Lawler : Exemple
A B C D E
C
pi 2 3 1 2 4
A di 8 7 3 6 11
E
62
Ordonnancement : entre théorie et applications
Lateness
Li = Ci + qi
pi
qi
0 Ci Li
63
Ordonnancement : entre théorie et applications
Problème 1||Lmax
64
Ordonnancement : entre théorie et applications
Problème 1|ri |Lmax , latence maximale
Règle de Jackson
La règle de Jackson séquençant les tâches par qi décroissant est
optimale pour 1||Lmax .
Mauvaise Nouvelle
Le problème 1|ri |Lmax est N P-difficile.
65
Ordonnancement : entre théorie et applications
En autorisant la préemption
Théorème
Le problème 1|ri , pmtn|fmax peut être résolu en temps O(n2 ) pour
tout critère bottleneck régulier fmax
66
Ordonnancement : entre théorie et applications
Problème 1|ri , pmtn|fmax
r(B) C(B)
67
Ordonnancement : entre théorie et applications
Problème 1|ri , pmtn|fmax
Borne inférieure
Si l est la tâche de B de plus petite valeur fi (t), on a :
68
Ordonnancement : entre théorie et applications
Problème 1|ri , pmtn|fmax
Idée de l’algorithme :
• On construit un ordonnancement qui réalise la borne
inférieure.
Principe de fonctionnement :
• On traite séparément chaque block B, obtenu par la séquence
des ri croissant (ou tout algorithme de liste)
• Sur le block B, on identifie la tâche l minimisant fi (C (B))
• On détermine récursivement l’ordonnancement optimal pour
les tâches de B\{l}
• On ordonnance préemptivement l en bouchant les trous pour
finir à la date C (B)
69
Ordonnancement : entre théorie et applications
Problème 1|ri , pmtn|Lmax
A B C D E
ri 0 1 2 4 5
pi 4 2 1 2 3
qi 3 2 4 5 6
4 7 9 12
• La tâche à retirer est B
70
Ordonnancement : entre théorie et applications
Problème 1|ri , pmtn|Lmax
A B C D E
ri 0 1 2 4 5
pi 4 2 1 2 3
qi 3 2 4 5 6
A C A D E D A B
temps
71
Ordonnancement : entre théorie et applications
Problème 1|ri , pmtn|Lmax
Résultat
Le problème 1|ri , pmtn|Lmax est résolu optimalement en
ordonnançant à chaque instant la tâche disponible de plus grande
latence (règle de Jackson).
72
Ordonnancement : entre théorie et applications
Exemple du menuisier
73
Ordonnancement : entre théorie et applications
Problème 1|| maxi wi Ti
74
Ordonnancement : entre théorie et applications
Algorithme de Lawler
75
Ordonnancement : entre théorie et applications
Robustesse : incertitudes sur les poids
76
Ordonnancement : entre théorie et applications
Regret
F (π, S)
min max
π S∈S F ∗ (S)
77
Ordonnancement : entre théorie et applications
Robustesse : Exemple
tâches A B C
pi 2 3 5
di 8 7 5
wi [3, 5] [2, 4] [1, 2]
78
Ordonnancement : entre théorie et applications
Regret maximal d’une séquence
Propriété
Le regret maximal d’une séquence π est réalisé par l’un des n
scénario Sj , dans lequel la tâche j à le plus grand poids possible, et
les autres ont leur plus petit poids possible.
79
Ordonnancement : entre théorie et applications
Regret maximal d’une séquence
tâches A B C
pi 2 3 5
di 8 7 5
wi [3, 5] [2, 4] [1, 2]
On a 3 scénarios à considérer :
1 SA = (5, 2, 1), de valeur optimale 5
2 SB = (3, 4, 1), de valeur optimale 5
3 SC = (3, 2, 2), de valeur optimale 6
Le regret maximale de la séquence CBA est
80
Ordonnancement : entre théorie et applications
Séquence minimisant le plus grand regret
Théorème
La séquence π ∗ minimisant le plus grand regret est la séquence
optimale pour le scénario S ∗ :
81
Ordonnancement : entre théorie et applications
Exemple
tâches A B C
pi 2 3 5
di 8 7 5
wi [3, 5] [2, 4] [1, 2]
82
Ordonnancement : entre théorie et applications
Conclusion
83
Ordonnancement : entre théorie et applications