Académique Documents
Professionnel Documents
Culture Documents
discrets complexes
Mireille Jacomino
Site Viallet Bureau H311 Tel 06 98 02 08 40
Laboratoire G-Scop
Sciences pour la Conception, l’Optimisation et la Production
É C O L E N AT I O N A L E S U P É R I E U R E D E L’ É N E R G I E , L’ E A U , L’ E N V I R O N N E M E N T
Ordonnancement
Problèmes et algorithmes classiques
Cette partie du cours est largement inspirée des cours de Marie Laure Espinouse et Alexis Aubry, mes collègues de travail en recherche sur le sujet de l’ordonnancement
• Domaines d’application
– Informatique
– Gestion de projet
– Production de produits
4 É C O L E N A T I O N A LMaster
E S U PIngénierie
É R I E U Rdes
E DSystèmes
E L ’ É NComplexes
E R G I E , 2018-2022
L’EAU, L’ENVIRONNEMENT
Ordonnancement : Modélisation du problème
• Ressources : 𝒎 ressources
– Cumulative (peuvent réaliser plusieurs tâches en même temps)
ou disjonctive (mono-tâche, non partageable)
– Renouvelables ou consommables
– Toujours présentes et disponibles ou non (calendrier de
disponibilité)
– Dédiées ou non (toutes les ressources peuvent exécuter toutes
les tâches ou pas)
– Identiques ou non
– Avec la même vitesse d’exécution selon l’opération ou non
𝑗 𝑘
– Gamme de production : les tâches sont constituées d’opérations qui doivent être
exécutées dans un certain ordre (job-shop ou flow-shop)
– Préparation : temps de préparation entre l’opération 𝑗 et l’opération 𝑘 sur la
ressource 𝑖 => 𝑠𝑖𝑗𝑘
– Nettoyage : temps de nettoyage entre l’opération 𝑗 et l’opération 𝑘 => 𝑟𝑖𝑗𝑘
– Sans-délai : les opérations d’une même tâche doivent être exécutées sans délai
=> no-wait
– Semi-actif : aucune tâche ou opération ne peut commencer plus tôt sans modifier
la solution (décalage vers la gauche n’est possible)
– Actif : avancer une tâche => reculer une autre tâche
– Sans retard : aucune ressource attend une tâche disponible (on ne laisse pas
inactive une ressource qui pourrait exécuter une tâche)
3 8 9
M1 5 1 4
M2 3 6 2
0 2 5 7 8
𝑤𝑗 𝑐𝑗 𝑇𝑗 𝑈𝑗
𝐿𝑚𝑎𝑥
𝑐𝑗 𝑐𝑚𝑎𝑥
13 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT
Ordonnancement : Modélisation du problème
• Classes de problèmes classiques :
– Machine unique => pertinent dans le cas d’une machine goulot ou l’ordre de
traitement de tâches par un dispositif
– Machines parallèles (centre de calcul) : identiques ou non
– Flow-Shop : Fabrication en ligne (automobile)
Flowshop
flexible
Jobshop simple
18 É C O L E N A T I O N A L E S U P É R I E U R E D E L ’ É N E R G I E , L ’ E A U , L ’ E N VMaster
I R O NIngénierie
N E M E Ndes
T Systèmes Complexes 2018-2022
Contexte
• Machine goulot la plus lente celle qui donne les performances de l’ensemble
• Machine au coût élevé
• Hypothèses
– La machine est toujours disponible
– Une seule opération par tâche
– Pas de contrainte de précédence
– La machine est une ressource disjonctive elle ne peut exécuter qu’une seule
tâche à la fois
3 1
3 2 5 4 1
4 4 1 2 5 9 14
5 3 σ 𝒄𝒋 =1+2+5+9+14= 39
•
Tâches p j w j p j /w j
1 5 1 5 σ 𝒘𝒋 𝒄𝒋 = 7 + 48 + 15 + 18 + 14 = 102
2 1 7 1/7
3 1 3 1/3
4 4 2 2
5 3 12 1/4
2 5 3 4 1
1 4 5 9 14
Au lieu de faire une liste ordonnée au départ on remet à jour la liste à chaque fois
qu’un événement se produit (disponibilité d’une tâche ou fin d’exécution)
22 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT
Avec disponibilité et préemption 𝟏 𝒓𝒋 , 𝒑𝒎𝒕𝒏 𝒄𝒋
• Algorithme optimal : modified SPT (modified Shortest Processing Time)
Tâches p j rj
1 5 2
2 1 3
3 1 0
4 4 2
5 3 4
ELSE tsuiv=∞
ENDIF
T=ensemble des tâches j de L telles que 𝑟𝑗 ≤ 𝑡
Ordonner T selon SPT
WHILE 𝑇 ≠ ∅ AND 𝑡 ≠ 𝑡𝑠𝑢𝑖𝑣 DO
Tj=première tâche de T
IF 𝑝𝑗 ≤ (𝑡𝑠𝑢𝑖𝑣 − 𝑡) THEN
Ordonnancer Tj à l’instant t
Enlever Tj de T et L
p=pj
ELSE 𝑝 = 𝑡𝑠𝑢𝑖𝑣 − 𝑡 ; 𝑝𝑗 = 𝑝𝑗 − 𝑝 ; ordonnancer Tj de t jusque t+p
ENDIF
t=t+p
ENDWHILE
ENDWHILE
24 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT
Minimisation du retard 𝟏||𝑻𝒎𝒂𝒙 ou 𝟏||𝑳𝒎𝒂𝒙
• Tmax ou Lmax indique qu’il y a des due dates
• Algorithme optimal : EDD (Earliest Due Date) = règle de Jackson
– Classer dans l’ordre croissant des 𝑑𝑗
Tâches pj dj
1 5 6
2 1 7 𝑻𝒎𝒂𝒙 = max(4, 4, 0, 0, 6) = 6
3 1 4 𝑳𝒎𝒂𝒙 = max(4, 4, -3, -1, 6) = 6
4 4 6
5 3 8
3 4 1 2 5
1 5 10 11 14
ELSE tsuiv=∞
ENDIF
T=ensemble des tâches j de L telles que 𝑟𝑗 ≤ 𝑡
Ordonner T selon EDD
WHILE 𝑇 ≠ ∅ AND 𝑡 ≠ 𝑡𝑠𝑢𝑖𝑣 DO
Tj=première tâche de T
IF 𝑝𝑗 ≤ (𝑡𝑠𝑢𝑖𝑣 − 𝑡) THEN
Ordonnancer Tj à l’instant t
Enlever Tj de T et L
p=pj
ELSE 𝑝 = 𝑡𝑠𝑢𝑖𝑣 − 𝑡 ; 𝑝𝑗 = 𝑝𝑗 − 𝑝 ; ordonnancer Tj de t jusque t+p
ENDIF
t=t+p
ENDWHILE
ENDWHILE
• Algorithme de Moore-Hodgson
Tâches pj dj
1 5 6
2 1 7
3 1 4
4 4 6 Ordonnancement selon EDD
5 3 8 Les tâches 1, 2 et 5 sont en retard σ 𝑼𝒋 =3
3 4 1 2 5
1 5 10 11 14
33 É C O L E N A T I O N A L E S U P É R I E U R E D E L ’ É N E R G I E , L ’ E A U , L ’ E N VMaster
I R O NIngénierie
N E M E Ndes
T Systèmes Complexes 2018-2022
Ordonnancement sur machines
parallèles identiques
Machines parallèles
Machines à vitesse identique
Capables de faire toutes les tâches
1 opération par tâche
} 𝛼 = 𝑃, 𝑝𝑖𝑗 = 𝑝𝑗
34 É C O L E N A T I O N A L E S U P É R I E U R E D E L ’ É N E R G I E , L ’ E A U , L ’ E N VMaster
I R O NIngénierie
N E M E Ndes
T Systèmes Complexes 2018-2022
Temps total 𝑷||𝑪𝒎𝒂𝒙
• Problème NP-Difficile
– Pas d’algorithme polynomial pour construire la solution optimale
• Heuristique
– Algorithmes de liste
σ𝑗 𝑝𝑗
∗
• 𝐵𝑜𝑟𝑛𝑒 𝑖𝑛𝑓é𝑟𝑖𝑒𝑢𝑟𝑒 𝐶𝑚𝑎𝑥 ≥ 𝐶 = max ; max 𝑝𝑗
𝑚
Tâches pj
m= 3
1 7
2 9
3 5
4 3
5 6
• Garantie de performance
𝐶max (𝐿𝑃𝑇) 4 1
∗ ≤ −
𝐶𝑚𝑎𝑥 3 3𝑚
SPT généralisé
Tâches pj
1 7
2 9
3 5
4 3
5 6
WSPT généralisé
Tâches pj wj p j /w j
1 5 1
2 1 7
3 1 3
4 4 2
5 3 12
Machines parallèles
Machines à vitesses différentes 𝛼 = 𝑅, 𝑝𝑖𝑗
Capables de faire toutes les tâches
1 opération par tâche
44 É C O L E N A T I O N A L E S U P É R I E U R E D E L ’ É N E R G I E , L ’ E A U , L ’ E N VMaster
I R O NIngénierie
N E M E Ndes
T Systèmes Complexes 2018-2022
Machines non reliées 𝑹||𝑪𝒎𝒂𝒙
• Problème NP-Difficile
• Heuristiques
σ𝑗 𝑥𝑗
∗
• Borne inférieure : 𝐶𝑚𝑎𝑥 ≥ 𝐶 = max
𝑚
; max 𝑥𝑗
Avec 𝑥𝑗 = min 𝑝𝑖𝑗
𝑖
48 É C O L E N A T I O N A L E S U P É R I E U R E D E L ’ É N E R G I E , L ’ E A U , L ’ E N VMaster
I R O NIngénierie
N E M E Ndes
T Systèmes Complexes 2018-2022
Flowshop
M M M M M𝑚
1 2 3 𝑘
Les machines sont toujours disponibles
𝑛 tâches à exécuter sur 𝑚 machines
𝑚 opérations par tâche
Pas de contrainte de précédence entre tâches
Pas de temps de préparation
Machines comme des ressources disjonctives
49 É C O L E N A T I O N A L E S U P É R I E U R E D E L ’ É N E R G I E , L ’ E A U , L ’ E N VMaster
I R O NIngénierie
N E M E Ndes
T Systèmes Complexes 2018-2022
2 machines 𝑭2||𝑪𝒎𝒂𝒙
Algorithme de Johnson (optimal)
Construire 𝐼1 et 𝐼3
𝐼1 = 𝑗 ቚ𝑝1𝑗 ≤ 𝑝2𝑗 M1 M2
𝐼3 = 𝑗 ቚ𝑝1𝑗 > 𝑝2𝑗 𝑝11 𝑝21
Trier 𝐼1 selon l’ordre croissant des 𝑝1𝑗
𝑝12 𝑝22
Trier 𝐼3 selon l’ordre décroissant des 𝑝2𝑗
Ordonnancer les tâches de 𝐼1 suivies des tâches de 𝐼3
𝐼1 = 1 𝐼3 = 2
M1 𝑝11 𝑝12
M2 𝑝21 𝑝22
• Performance
– Avoir une garantie sur le résultat obtenu
– Calcul de bornes sur l’éloignement par rapport à l’optimum
Optimisation multicritère
Pondération des critères pour se ramener à une optimisation monocritère
Front de Pareto