Title: Tutorial de prsentation de lordonnancement et de ses principales thmatiques de recherche
1Tutorial de présentation de lordonnancement et
de ses principales thématiques de recherche
- Marie-Claude PORTMANN
- INRIA-LORIA-INPL
- Projet MACSI
2Contenu de la présentation
- Définitions générales et domaines dapplication
- Les grandes caractéristiques des problèmes
- Première grande classification des problèmes
- Les problèmes dordonnancement de projet
- Les problèmes dordonnancement datelier
- Les problèmes dordonnancement dans les systèmes
distribués - Les problèmes dordonnancement à tâches
répétitives (cycliques ou périodiques) - La notation a/b/g
3Définition générale des problèmes
dordonnancement (1)
- Il y a problème dordonnancement
- quand un ensemble de travaux est à réaliser,
- que cette réalisation est décomposable en tâches,
- que le problème consiste à définir la
localisation temporelle des tâches et/ou la
manière de leur affecter les moyens nécessaires. - Les contraintes et les critères du problème ne
doivent concerner que les tâches, leur
localisation temporelle, et les moyens
nécessaires à leur réalisation (Roy, 1970).
4Définition générale des problèmes
dordonnancement (2)
- ORDONNANCER
-
- Répondre aux questions suivantes
- QUAND ?
-
- AVEC QUELS MOYENS ?
- ou encore
- SOUS QUELLE MODALITE ?
5Exemples de domaines dapplication
Projets
Emplois du temps
Problèmes daffectation, de transport,
dhabillage dhoraires, de tournées
Problèmes de découpe
Organisation des prises de vue dun satellite
Systèmes distribués et systèmes embarqués
Systèmes dexploitation des ordinateurs
Ateliers de production, lignes dassemblage
Organisation des visites des familles au centre
de médecine préventive
6Les grandes caractéristiques des problèmes (1)
- Limitation plus ou moins grande des ressources
- Ordonnancement de projet où les ressources sont
supposées en quantité illimitée (ou au moins
confortable ou encore peu de tâches demandent des
ressources rares) - opposé aux autres problèmes dordonnancement ou
les ressources existent en petit nombre
dexemplaires. - Dépendance plus ou moins grande entre les travaux
- Existence de contraintes de précédence entre les
tâches, les opérations et/ou les travaux, les
problèmes les plus faciles étant les
ordonnancements sans contraintes de précédence ou
avec des contraintes de précédence internes aux
gammes seulement.
7Les grandes caractéristiques des problèmes (2)
- Lautorisation ou non dinterrompre les tâches ou
les opérations - Ordonnancement dans les systèmes informatiques
où la préemption est autorisé à tout moment - opposé aux problèmes dordonnancement de
production où on ne peut interrompre au mieux
quentre lexécution de deux pièces successives
dun lot associé à un travail, donc interruption
interdite ou à des moments bien précis de
lexécution et avec des conséquences variées. - Existence ou non de travaux génériques à répéter
- Ordonnancement cyclique dans les ateliers de
production ou ordonnancement temps réel dans les
systèmes embarqués ou des opérations doivent être
répétées avec une fréquence imposée (avec
différentes hypothèses plus ou moins rigides)
ordonnancement à tâches périodiques.
8Les grandes caractéristiques des problèmes (3)
- Prises en compte de la position physique des
ressources - Temps de communication dans les systèmes
distribués et Temps de transport ou écarts
minimaux dans les systèmes de production. - Prises en compte de la possibilité ou non de
stocker les travaux entre deux opérations
successives - Ordonnancement sans encours ou sans attente ou
encore avec des buffers à taille limitée ou
encore avec blocage de ressources. - Prises en compte de délais de réponse ou du fait
que les produits sont périssables - Délais de réponses en ordonnancement temps réel
mais aussi écarts maximaux en ordonnancement de
production.
9Première classification Ordonnancement de
projetsversus ateliers ou systèmes distribués
Projets
Ateliers ou Systèmes distribués
Ressources Considérées comme illimitées pour
les problèmes les plus simples.
Ressources Une ressource en un exemplaire
associée à chaque opération pour les problèmes
les plus simples.
Dépendances des opérations Un graphe de
précédence sans circuit muni dune source et dun
puits relie les opérations pour les problèmes les
plus simples.
Dépendances des opérations Les opérations sont
indépendantes (pas de gammes ni de contraintes de
précédence pour les problèmes les plus simples).
10Ordonnancements de projet (1)
Une variante intéressante
Ressources illimitées.
Graphe de précédence sans circuit.
La durée des opérations varie linéairement avec
le nombre de ressources affectées, mais il faut
payer plus cher.
méthode PERT programmation dynamique polynom
iale Notions intéressantes de marges libres et
totales
Graphe de précédence sans circuit.
méthode PERT Coût PERT coupes à coût
minimale pseudo-polynomiale
11Ordonnancements de projet (2)
Ressources illimitées.
La durée des opérations varie linéairement avec
le coût.
Graphe de précédence sans circuit.
Graphe de précédence sans circuit.
méthode PERT
méthode PERT Coût
NP-difficile au sens fort Méthodes exactes
exponentielles ou méthodes approchées à durée
raisonnable
Ressources limitées.
Graphe de précédence non vide.
12Exemple de déroulement dun PERT (1)
3
2
Fin
5
6
10
8
1
3
8
20
7
6
12
13
4
4
Contraintes de précédence
Opérations
Les ressources sont illimitées et les opérations
peuvent être exécutées en parallèle.
13Exemple de déroulement dun PERT (2)
10
13
3
2
63
43
5
6
10
0
10
8
1
3
18
8
20
Fin
7
6
12
31
10
13
4
4
Contraintes de précédence
10 Date de début au plus tôt de lopération 2
Opérations
Ordonnancement calé à gauche obtenu par
programmation dynamique en calculant les plus
longs chemins à partir du point 1.
14Exemple de déroulement dun PERT (3)
10
13
3
2
63
43
5
6
10
0
10
8
1
3
18
8
20
Fin
7
6
12
31
10
13
4
4
Contrainte de précédence
32 Date au plus tard de lopération 2
Opérations
Ordonnancement calé droite obtenu par
programmation dynamique (Max longueur du plus
long chemin en partant de Fin)
15Exemple de déroulement dun PERT (4)
10
13
3
2
63
43
5
6
10
0
10
8
1
3
18
8
20
Fin
7
6
12
31
10
13
4
4
Contraintes de précédence
Opérations
Chemins critiques
16Exemple de déroulement dun PERT (5)
10
13
3
2
63
43
5
6
10
0
10
8
1
3
18
8
20
End
7
6
12
31
10
13
4
4
Contraintes de précédence
Opérations
Marge totale Date choisie date au plus tard
MT(2) 17 Marge libre Plus petite date
choisie des opérations qui suivent immédiatement
durée dexécution date choisie ML(2) 2
17Ordonnancements datelier (1)
Une machine
Diagramme de Gantt
Une tâche un travail une opération
18Ordonnancements datelier (2)
Machines en parallèle
Ci fin de la tâche i Cmax max(Ci)
i Un nombre K étant donné, existe-t-il
un ordonnancement tel que Cmax ? K?
Cmax
Problème dordonnancement Pm / Cmax ? K / ?
Instant 0
19Ordonnancements datelier (3)
Machines en parallèle
- identiques P
- à vitesses proportionnelles Q
- non reliées R
20Ordonnancements datelier (4)
Machines en série / gammes identiques ligne
transfert de type Flow shop
FIFO
FIFO
FIFO
FIFO
Cas particulier des flow shops de permutation.
M1
M2
M3
M4
Cas le plus général du flow shop on peut
sauter des machines, mais néanmoins on les visite
toujours par numéros croissants des machines.
21Ordonnancements datelier (5)
Machines en série / gammes identiques et
machines en parallèle Flow shop hybride
22Ordonnancements datelier (6)
Machines en série / gammes non identiques
Job shop
M2
M1
M6
M3
M5
M4
23Ordonnancements datelier (7)
Machines en série / gammes non linéaires Open
shop
M1
M2
M6
M3
M4
M5
Sur M1
Sur M3
Sur M2
Sur M4
Sur M1
Sur M3
Sur M2
Sur M4
Sur M1
Sur M3
Sur M2
Sur M4
Aucune contrainte sur lordre de visite des
machines
24Ordonnancements datelier (8)
Machines en série / gammes non identiques et
machines polyvalentes Job shop généralisé
- Contraintes encore plus complexes
- stocks limités (éventuellement à 0),
- prise en compte des moyens de transport,
- chevauchement entre les opérations,
- écarts minimaux et maximaux entre les
opérations, - constitution de batchs parallèles (dans les
fours) ou séries, - calendriers de disponibilités des ressources,
-
25Ordonnancements datelier (9)
Exemples concrets Les ateliers flexibles ou
FMS ou encore Le hoist scheduling
(galvanisation) avec des durées variables qui
permettent dinterdire Les stockages.
26Grande famille de critères (1)
Minimisation de la durée totale ou Cmax ou
Makespan
Le critère le plus utilisé.
27Grande famille de critères (2)
Date de disponibilité
Temps de présence dans latelier
Minimisation du plus grand Fmax ou de la moyenne
F ou de la moyenne pondérée Fw.
Minimisation des encours de fabrication
28Grande famille de critères (3)
Délai
Délai
Pas de retard
Retard par rapport au délai souhaité
Minimisation du plus grand Tmax ou de la moyenne
T ou de la moyenne pondérée Tw. Ou encore du
nombre de travaux en retard.
Minimisation du mécontentement des clients
29Problèmes polynomiaux les plus connus
- Problème de base à une machine
- minimisation de la somme (pondérée) des temps de
présence - minimisation du plus grand retard
- minimisation du nombre de travaux en retard
- Problème à machine identique en parallèle
- minimisation de la somme des temps de présence
- Flow shop ou Open shop à deux machines
30Minimisation de la somme (pondérée) des temps de
présence pour le problème de base à une seule
machine SPT
Exemple numérique
3
2
1
5
4
Solution optimale ordre croissant des durées
(divisées par les poids). Toutes les opérations
commencent au plus tôt.
3
2
1
5
4
31Minimisation de la somme pondérée des temps de
présence
Une machine / toutes les opérations sont
disponibles à linstant 0. Ordonner les
opérations dans lordre croissant des durées
(SPT), idées intuitives de la démonstration
32Minimisation du plus grand retard Pour le
problème de base à une seule machine EDD
Exemple numérique
1
3
4
5
2
Solution optimale ordre croissant des
délais. Toutes les opérations commencent au plus
tôt.
R35
R44
R52
1
3
4
5
2
2
12
8
3
15
33Minimisation du nombre de travaux en retard
Moore-Hodgson (1)
Exemple numérique
1
3
4
5
2
Première phase ordre croissant des délais. On
cherche la première opération en retard en
position k et on reporte à la fin la plus longue
des k opérations placées en premier
1
3
4
5
2
R52
2
12
8
3
15
34Minimisation du nombre de travaux en retard (2)
Exemple numérique
1
3
4
5
2
Phases suivantes. On cherche la première
opération en retard en position k et on reporte à
la fin la plus longue des k opérations placées en
premier
R31
1
3
4
5
2
10
2
7
3
15
35Minimisation des temps de présence pour machines
identiques en parallèles (1)
SPT
Tâches fictives de durée 0 jusquà obtenir nombre
de tâches multiples du nombre de machines
Machine 1
m premières tâches affectées aux m machines
nimporte comment
Machine 2
Machine 3
36Minimisation des temps de présence pour machines
identiques en parallèles (2)
SPT
Machine 1
m premières tâches affectées aux m machines
nimporte comment
Machine 2
Remarque minimiser la durée totale est
NP-difficile si les opérations ne sont pas
interruptibles.
Machine 3
37Un problème de flow shop à deux machines où
on cherche à minimiser la durée totale de
lordonnancement lalgorithme de Johnson.
Exemple numérique
1
3
4
5
2
3
2
1
5
4
38Diagrammes de Gantt qui représentent une solution
séquence 1 2 3 4 5
1
3
4
5
2
3
2
1
5
4
1
3
4
5
2
3
2
1
5
4
Propriété 1 Toute solution où les opérations ne
sont pas calées à gauche nest jamais
strictement meilleure quune solution où toutes
les opérations sont calées à gauche.
39Propriété 2 Pour deux machines, toute solution
avec des doublements nest jamais strictement
meilleure quune solution sans doublement.
1
3
4
5
2
3
2
1
5
4
1
3
4
5
2
3
2
1
5
4
4
3
40Algorithme de Johnson
4
5
2
3
1
En premier
En dernier
41Algorithme de Johnson
5
4
2
3
1
3
1
4
2
2
3
1
4
42Algorithme de Johnson
4
5
2
3
1
3
1
4
2
5
2
3
1
4
5
43Solutions données par lalgorithme de Johnson
4
5
2
3
1
J1
3
2
1
5
4
3
1
4
2
5
J2
3
2
1
5
4
2
3
1
4
5
J3
3
2
1
5
4
44Ordonnancement dans les systèmes distribués
- Existence de processeurs (éventuellement non
identiques) situés sur des sites différents, ceci
implique de tenir compte de temps de
communication (à gros ou à petit grain selon la
valeur relative des durées de traitement et des
durées de communication). - Nécessité de prendre en compte la manière de
déplacer les informations entre les différents
processeurs (messagerie). - Problèmes du découpage du traitement et de son
affectation aux différents processeurs. - Existence éventuelle de suites de travaux
répétitifs. - Prise en compte éventuelle de la topologie du
réseau. - Autorisation éventuelle de dupliquer les tâches.
45Ordonnancement dans les systèmes temps réels
- Le problème principal est de trouver un
ordonnancement qui permette le respect des
contraintes déchéances (dates au plus tard des
fins dexécution des activités du système) - Activités du système exécution de tâches,
transmission de messages. - Mélange de tâches/messages périodiques et
apériodiques (ou jobs) - Les principales caractéristiques dune tâche
périodique sont - la période dactivation (avec une éventuelle
jigue), - la durée dexécution,
- léchéance qui est généralement inférieure à la
période. - Une analyse dordonnançabilité permet de
vérifier le respect des contraintes déchéances.
Il peut sagir dun test de faisabilité, dun
calcul de bornes sur les temps de réponse ou
dune simulation de la trajectoire la plus
défavorable pendant une période du système. - Lordonnancement peut être préemptif ou
non-préemptif. Comme dans le cas de
lordonnancement datelier, le cas des tâches
interruptibles est plus facile.
46Principales approches en ordonnancement temps
réel (1/3)
- Ordonnancement statique - cyclique
lordonnancement est pré-calculé et stocké dans
une table qui sera déroulée à lexécution - dautres critères que la faisabilité peuvent
être pris en compte (ex minimiser la gigue sur
les dates de fin dexécution) - - pas dacceptation dynamique de charge, taille
de la table .. - Ordonnancement en-ligne à priorités fixes les
instances successives dune même activité ont la
même priorité. Le processeur est alloué à
linstance active de plus forte priorité
(politique Fixed Priority Preemptive FPP). - conception incrémentale, comportement en
situation de surcharge (lajout dune tâche ou
une surcharge à un niveau de priorité donné na
aucune influence sur les tâches plus
prioritaires) - - non optimal du point de vue ordonnançabilité
(respect des échéances)
47Principales approches en ordonnancement temps
réel (2/3)
- Ordonnancement en-ligne à priorités dynamiques
les instances successives dune même activité ont
des priorités qui peuvent être différentes. EDF
(Earliest Deadline First) est le représentant le
plus important de cette classe de politique. Sous
EDF, la priorité dune instance est sa date
déchéance (plus petite la valeur numérique, plus
grande la priorité). - EDF optimalité pour lordonnançabilité
- EDF comportement en situation de surcharge
(une activité peu importante peut retarder des
activités importantes), disponibilité sur les OS
du marché - Ordonnancement conjoint de tâches à contraintes
strictes et souples en pratique, il est fréquent
que ces 2 contraintes co-existent. Lobjectif est
alors de minimiser le temps de réponse des
activités à contraintes souples tout en
respectant les échéances des activités à
contraintes strictes. Des solutions efficaces
existent.
48Principales approches en ordonnancement temps
réel (3/3)
- Analyse de bout en bout les traitements
peuvent impliquer plusieurs ressources il est
nécessaire de pouvoir évaluer le temps de réponse
de bout en bout. Exemple dune application de
contrôle-commande répartie sur 2 sites A et B
49La notation a/b/g (0)
a pour la description du système à ordonnancer
b pour la description des contraintes
g pour la description des critères
50La notation a/b/g (1)
a1 ? une seule machine a1 P machines
identiques en parallèle a1 U machines à
vitesse proportionnelle en parallèle a1 R
machines non reliées en parallèle a1 O open
shop a1 F flow shop a1 J job shop
51La notation a/b/g (2)
a2 1, 2 , le nombre de machines est fixé à
une valeur donnée précise a2 m le nombre de
machines est fixé dans la définition de
lénoncé a2 ? le nombre de machines est
une variable qui varie avec chaque instance
considérée
52La notation a/b/g (3)
b1 pmtn les opérations peuvent être
interrompues b1 ? les opérations ne peuvent
pas être interrompues b2 ? il ny a pas
de contraintes de précédence (sauf les gammes en
ce qui concerne les job shops et flow shops) b2
tree il existe des contraintes de précédence
additionnelles sous forme darborescence ou
danti-arborescence b2 prec il existe des
contraintes de précédence additionnelles sous
forme dun graphe orienté sans circuit
53La notation a/b/g (4)
b3 ? toutes les dates de disponibilités sont
identiques et sont prises égales à 0 b3 rj
les dates de disponibilité sont différentes selon
les travaux b4 pj1 or pij1 chaque
opération a une durée unitaire b4 pjp or
pijp (with b3 rj) La durée des opérations
est égale à p?1 et au moins un des rj nest pas
divisible par p b4 ? Toutes les durées
opératoires sont des valeurs arbitraires entières
non négatives
54La notation a/b/g (5)
b5 ? les temps de réglage sont constants et
inclus dans la durée des opérations b5 Snsd
des temps de réglage sont affectés à chaque
opération, ils sont indépendants de la séquence
mais non inclus dans la durée opératoire car ils
peuvent être exécuté avant que lopératoin
narrive dans la file dattente de la
machine b5 Ssd les temps de réglage ne sont
pas inclus dans la durée des opérations et sont
dépendants de la séquence des opérations sur la
ressource (S est remplacé par R pour définir le
même type de contraintes pour le démontage des
outils après lopération)
55La notation a/b/g (6)
b6 djd toutes les dates de fin souhaitée
sont identiques ( common due date ) b6 ?
les dates de fin souhaitées si elles existent
sont des nombres entiers arbitraires non
négatifs b6 ?j les dates de fin souhaitée
sont remplacées par des dates de fin impérative
56La notation a/b/g (7)
Signification des principaux sigles utilisés C
completion time , L lateness
completion time - due date , T
tardiness le retard sil existe et 0
sinon, E earliness lavance si elle
existe et 0 sinon, G une fonction générale
non décroissante du completion time
57La notation a/b/g (8)
Première famille de critères Cmax, Lmax, Tmax,
Emax, Gmax Minimisation de la plus grande
valeur dune fonction donnée de la date de fin
pour tous les travaux Seconde famille de
critères C, L, T, E Minimisation de la
valeur moyenne dune fonction donnée de la date
de fin pour tous les travaux
58La notation a/b/g (9)
Troisième famille de critères Cw, Lw, Tw,
Ew Minimisation de la somme pondérée de la
fonction considérée de la date de fin pour tous
les travaux Construit différemment NT le
nombre de travaux en retard
59La notation a/b/g (10)Premier graphe de
déduction de complexité
Déduction sur a
60La notation a/b/g (11)Deuxième graphe de
déduction de complexité
Déduction sur g