Vous êtes sur la page 1sur 55

Conception de systèmes à évènements

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

Mireille.Jacomino@grenoble-inp.fr Automne 2020

É 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

ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Focus sur les algorithmes de résolution
• Efficacité (évaluation de la capacité de l’algorithme à trouver une solution optimale)
– Méthodes exactes (donnent une solution optimale)
– Méthodes approchées : heuristiques  garantie de performance ?
• Efficience (évaluation du coût de l’algorithme par rapport au nombre de tâches en entrée)
– Algorithmes polynomiaux (donnent une solution quelque soit la taille du problème)
– Algorithmes exponentiels
• Type de méthodes :
– Algorithmes de liste Objectif du cours
– Branch & Bound (Procédures par Séparation et Évaluation)
– Programmation mathématique
– Méta-heuristiques : Recuit simulé, Algorithmes génétiques,
Recherche Tabou
3 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT
Ordonnancement
• Définition : l’ordonnancement de tâches consiste à :
1) Affecter une ressource à chaque tâche ou opération pour réaliser son
exécution
2) Séquencer les opérations en définissant :
• Soit une date de début d’exécution pour chaque opération
• Soit un ordre d’exécution des opérations

• 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

5 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Ordonnancement : Modélisation du problème
• Tâches : 𝒏 tâches
– Durée d’exécution de la tâche 𝑗 sur la ressource 𝑖 : 𝒑𝒊𝒋
– Date d’arrivée au plus tôt de la tâche 𝑗 : 𝒓𝒋 date de disponibilité
– Date limite d’exécution de la tâche 𝑗 : 𝒅𝒋 date due ou due date
– Importance de la tâche 𝑗 (poids) : 𝒘𝒋
– Des opérations 𝑘 (définies par la gamme de fabrication)
• Durée d’exécution de l’opération 𝑘 de la tâche 𝑗 sur la ressource 𝑖 : 𝒑𝒊𝒋𝒌

• Ordonnancement (Variables de décisions à optimiser)


– Date de début de la tâche 𝑗 : 𝒕𝒋 Fenêtre de temps pendant laquelle
on peut/doit exécuter la tâche
– Date de fin de la tâche 𝑗 : 𝒄𝒋
– Date de début de l’opération k de la tâche 𝑗 : 𝒕𝒋𝒌 temps
O1 O2
– Date de fin de l’opération k de la tâche 𝑗 : 𝒄𝒋𝒌 𝒓𝒋 𝒕𝒋 = 𝒕𝒋𝟏 𝒄𝒋 = 𝒄𝒋𝟐 𝒅𝒋
6 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT
Ordonnancement : Modélisation du problème
• Contraintes :
– Précédence : la tâche 𝑘 ne peut pas commencer tant que la tâche 𝑗 n’est pas finie

𝑗 𝑘

– 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

7 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Ordonnancement : Modélisation du problème
• Fonction objectif (à minimiser) :
– Durée totale (makespan) : 𝐶𝑚𝑎𝑥 = max 𝑐𝑗
– Retard algébrique : 𝐿𝑚𝑎𝑥 = max 𝑐𝑗 − 𝑑𝑗
– Nombre de tâches en retard : σ 𝑈𝑗 (risque d’avoir une tâche très en
retard)
– Retard moyen : σ 𝑇𝑗 = σ max 𝑐𝑗 − 𝑑𝑗 ; 0 ou σ 𝑤𝑗 𝑇𝑗
– Plus grand retard : 𝑇𝑚𝑎𝑥 = max 𝑇𝑗
– En-cours ou temps de séjour : σ 𝑐𝑗 ou σ 𝑤𝑗 𝑐𝑗
– Avance : 𝐸𝑚𝑎𝑥 = max 𝐸𝑗 = max 𝑑𝑗 − 𝑐𝑗 ; 0
– Coûts d’avance et de retard (juste-à-temps) : max 𝑐𝑗 − 𝑑𝑗
8 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT
Ordonnancement : Modélisation du problème
• Fonction objectif (à minimiser) :
– Durée totale (makespan) : 𝐶𝑚𝑎𝑥 = max 𝑐𝑗
– Retard algébrique : 𝐿𝑚𝑎𝑥 = max 𝑐𝑗 − 𝑑𝑗
– Nombre de tâches en retard : σ 𝑈𝑗 (risque d’avoir une tâche très en
Critères réguliers
retard) On ne peut pas les dégrader en avançant une tâche
L’ordonnancement
– Retard moyen : σ 𝑇𝑗 = σ max au 𝑐plus
𝑗 −𝑑 tôt
𝑗 ; domine
0 ou σtous
𝑤𝑗 𝑇les
𝑗 autres
Domine = contient un optimum
– Plus grand retard : 𝑇𝑚𝑎𝑥 = max 𝑇𝑗
– En-cours : σ 𝑐𝑗 ou σ 𝑤𝑗 𝑐𝑗
– Avance : 𝐸𝑚𝑎𝑥 = max 𝐸𝑗 = max 𝑑𝑗 − 𝑐𝑗 ; 0
– Coûts d’avance et de retard (juste-à-temps) : max 𝑐𝑗 − 𝑑𝑗
9 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT
Ordonnancement : Modélisation du problème

• Caractéristiques d’un ordonnancement :

– Admissible : respecte toutes les contraintes


– Optimal : admissible et optimise la fonction objectif

– 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)

10 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Exemple
Soit l’ensemble de 6 tâches définies par leur durée, date de disponibilité, due date et
contraintes de précédence suivantes qui doivent être exécutées à l’aide de 2 machines
parallèles identiques : Tâches p j r j d j
1 4
1 5 3 8
2 1 6 11
5
3 2 0 5 3 2
4 1 0 6 6
5 3 0 8
6 2 5 9

Quelles sont les caractéristiques de l’ordonnancement suivant ?


3 8 9
M1 5 1 4
M2 3 6 2
0 2 5 7 8
11 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT
Exemple
𝐶𝑚𝑎𝑥 =? Date de fin de l’ordo
Tâches p j r j d j 1 4 Tâches c j c j -d j Tj U j 𝑇𝑚𝑎𝑥 =? Retard max
1 5 3 8
5 1 𝐿𝑚𝑎𝑥 =? Retard algébrique
2 1 6 11 2
3 2 Somme des dates de fin
3 2 0 5 3
෍ 𝑐𝑗 =?
4 1 0 6 6 4
5 3 0 8
2 machines 5 ෍ 𝑇𝑗 =? Somme des retards
6 2 5 9 6
parallèles
identiques Tj = valeur du retard
෍ 𝑈𝑗 =? Nombre de tâches en retard
Uj = retard

3 8 9
M1 5 1 4
M2 3 6 2
0 2 5 7 8

12 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Relations entre fonctions objectif
Relations de réduction des critères :
Difficulté ෍ 𝑤𝑗 𝑇𝑗 Ex un critère avec pondération se réduit en un
Et critère sans pondération en prenant des poids
Généricité de 1
croissantes Le critère avec pondération est donc plus
difficile à résoudre que sa réduction

෍ 𝑤𝑗 𝑐𝑗 ෍ 𝑇𝑗 ෍ 𝑈𝑗

𝐿𝑚𝑎𝑥

෍ 𝑐𝑗 𝑐𝑚𝑎𝑥
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

– Job-Shop : Ateliers à cheminements multiples

Jobshop simple

– Open-Shop : Ateliers à cheminements libres (microélectronique)


14 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT
Notations des problèmes
d’ordonnancement : 𝜶 𝜷 𝜸 ∗
• Champ 𝜶 : configuration des ressources
– 𝜶𝟏 : type de machine
• P : machines parallèles identiques
• Q : machines parallèles uniformes
1//Cmax minimisation de la durée
• R : machines parallèles non liées
totale d’exécution de toutes les
• O : openshop
tâches sur une machine, sans
• F : flowshop
contraintes de précédence sur les
• J : Jobshop
tâches
– 𝜶𝟐 : nombre de machines disponibles
• Si vide : nombre de machines quelconque
• Champ 𝜷 : contraintes
• Champ 𝜸 : fonction objectif * Graham 1979
15 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT
Résolution des problèmes
Classiques d’ordonnancement
• Problèmes à une machine
– Description et résolution avec différents types de contraintes
– Description des algorithmes classiques de base de
l’optimisation qui sont optimaux pour le problème à une
machine
– Les problèmes plus complexes peuvent être approchés soit
par le problème à une machine soit par une adaptation des
algorithmes optimaux pour une machine

16 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Principe des algorithmes classiques
de résolution
Algorithmes de listes (glouton)
L = liste ordonnées des tâches selon une règle prédéfinie
WHILE 𝐿 ≠ ∅ DO
Soit 𝑇 la première tâche de L
Ordonnancer 𝑇 sur la première machine disponible
Supprimer 𝑇 de L
Logique des algorithmes de
ENDWHILE marquage pour les graphes
Le marquage correspond à
la sélection d’une tâche
17 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT
Ordonnancement sur une machine

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

Trouver une solution optimale pour 1||𝐶𝑚𝑎𝑥

19 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Une machine minimisation des en cours
𝟏|| ෍ 𝒄𝒋
(temps de séjour)
• Algorithme optimal : SPT (Shortest Processing Time) = règle de Smith
– Classer dans l’ordre croissant des 𝑝𝑗

Tâches pj Deux solutions optimales équivalentes en terme de performance


1 5
2 3 5 4 1
2 1 1 2 5 9 14

3 1
3 2 5 4 1
4 4 1 2 5 9 14

5 3 σ 𝒄𝒋 =1+2+5+9+14= 39

– En exécutant les tâches par ordre croissant de temps d’exécution on réalise le


plus de tâches possibles le plus tôt possible (il y a moins de tâches en attente).
20 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT
Avec pondération des tâches 𝟏|| ෍ 𝒘𝒋 𝒄𝒋
• Algorithme optimal : WSPT (Weighted Shortest Processing Time)
𝑝𝑗
– Classer dans l’ordre croissant des
𝑤𝑗


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

21 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Avec disponibilité et préemption 𝟏 𝒓𝒋 , 𝒑𝒎𝒕𝒏 ෍ 𝒄𝒋
• ri indique qu’il y a des dates de disponibilité des tâches
• pmtn signifie qu’il peut y avoir préemption, c’est-à-dire que les tâches
peuvent être exécutées de façon fractionnée sur la ressource

• Algorithme optimal : modified SPT (modified Shortest Processing Time)


 Lorsque la machine ou une tâche devient disponible…
 … parmi les tâches non achevées disponibles…
 … choisir la tâche avec la plus petite durée restante

 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

23 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Avec disponibilité et préemption 𝟏 𝒓𝒋 , 𝒑𝒎𝒕𝒏 ෍ 𝒄𝒋
• Algorithme optimal : modified SPT (modified Shortest Processing Time)
L : ensemble des tâches à placer ; I : liste des 𝑟𝑗 ordonnées selon ordre croissant sans doublon
WHILE 𝐿 ≠ ∅ DO
t = premier élément de I ; le supprimer de I
IF I≠ ∅ THEN
tsuiv=premier élément de I

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

25 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Retard avec préemption
𝟏 𝒓𝒋 , 𝒑𝒎𝒕𝒏 𝑻𝒎𝒂𝒙 ou 𝟏 𝒓𝒋 , 𝒑𝒎𝒕𝒏 𝑳𝒎𝒂𝒙

• Algorithme optimal : modified EDD (modified Earliest Due Date)

 Lorsque la machine ou une tâche devient disponible…


 … parmi les tâches non achevées disponibles…
 … choisir la tâche la plus urgente (avec le plus petit due date)

26 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Retard avec préemption
𝟏 𝒓𝒋 , 𝒑𝒎𝒕𝒏 𝑻𝒎𝒂𝒙 ou 𝟏 𝒓𝒋 , 𝒑𝒎𝒕𝒏 𝑳𝒎𝒂𝒙
• Algorithme optimal : modified EDD (modified Earliest Due Date)
Tâches pj dj rj
1 5 6 2
A t=0 on sélectionne 3 car seule disponible
2 1 7 3 A t=2 4 et 1 deviennent disponibles on peut choisir 4 ou 1
3 1 4 0 car elles ont le même dj
4 4 6 2 A t=3 2 devient disponible mais c’est toujours 4 et 1 qui
5 3 5 4 ont le plus petit dj
A t = 4 5 devient disponible avec le plus petit dj

3 4 4 5 4 1 2
1 2 3 4 7 9 14 15
𝑻𝒎𝒂𝒙 = max(8, 8, 0, 3, 2) = 8
𝑳𝒎𝒂𝒙 = max(8, 8, -3, 3, 2) = 8
27 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT
Tâches pj dj rj
Retard avec préemption
1 5 6 2 𝟏 𝒓𝒋 , 𝒑𝒎𝒕𝒏 𝑻𝒎𝒂𝒙 ou 𝟏 𝒓𝒋 , 𝒑𝒎𝒕𝒏 𝑳𝒎𝒂𝒙
2 1 7 3
3 1 4 0 • Algorithme optimal : modified EDD
4 4 6 2
Il y a 4 ordonnancements équivalents en terme de performances
5 3 5 4

𝑻𝒎𝒂𝒙 = max(8, 8, 0, 3, 2) = max(8, 8, 0, 5, 2)= max(4, 8, 0, 8, 2)= max(8, 8, 0, 7, 2)= 8


𝑳𝒎𝒂𝒙 = max(8, 8, -3, 3, 2) = max(8, 8, -3, 5, 2)= max(4, 8, -3, 8, 2)= max(8, 8, -3, 7, 2)= 8
ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT
𝟏 𝒓𝒋 , 𝒑𝒎𝒕𝒏 𝑻𝒎𝒂𝒙 ou 𝟏 𝒓𝒋 , 𝒑𝒎𝒕𝒏 𝑳𝒎𝒂𝒙
• Algorithme optimal : modified EDD (modified Earliest Due Date)
L : ensemble des tâches à placer ; I : liste des 𝑟𝑗 ordonnées selon ordre croissant sans doublon
WHILE 𝐿 ≠ ∅ DO
t = premier élément de I ; le supprimer de I
IF I≠ ∅ THEN
tsuiv=premier élément de I

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

29 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Nombre de retards 𝟏|| ෍ 𝑼𝒋

• Secteurs industriels où un produit en retard est un produit invendable


• Algorithme de Moore-Hodgson
S : ordonnancement obtenu en plaçant les tâches selon EDD
L=∅
WHILE σ𝒋∈𝑺 𝑼𝒋 ≥ 𝟏 DO Tant qu’il existe une tâche en retard
Soit 𝑇𝑘 la première tâche de S telle que 𝑐𝑘 − 𝑑𝑘 > 0 Première tâche en retard
Soit 𝐼𝑘 l’ensemble des tâches de S telles que 𝑡𝑗 ≤ t k Tâches qui commencent pas après Tk
Soit 𝑇𝑗 la tâche de S telle que 𝑗 ∈ 𝐼𝑘 et 𝑝𝑗 = max 𝑝𝑙 La plus longue de ces tâches
𝑙∈𝐼𝑘
Supprimer 𝑇𝑗 de S
Ajouter 𝑇𝑗 à L
ENDWHILE
Ordonnancer les tâches de L à la fin de S dans n’importe quel ordre
30 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT
Nombre de retards 𝟏|| ෍ 𝑼𝒋

• 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

31 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Synthèse des algorithmes
• Tous les algorithmes présentés donnent la solution optimale pour le
problème correspondant. Ils sont polynomiaux.
• Algorithmes de liste dont le critère de classement des tâches dépend du
critère d’optimisation
– Minimisation des en cours cj∶
On veut minimiser le nombre de tâches qui attendent d′ être exécutées
SPT on exécute en premier les tâches les plus courtes

– Minimisation des retards ∶


EDD on exécute en premier les tâches les plus urgentes

32 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Ateliers de machines parallèles
 Durées d’exécution peuvent être différentes (𝑝𝑖𝑗 )
 Les machines sont toujours disponibles
 𝑛 tâches à exécuter
 Une seule opération par tâche
 Pas de contrainte de précédence
 Pas de temps de préparation
 Machines comme des ressources disjonctives

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 𝑝𝑗
𝑚

– LPT généralisé (LPT = 𝑝𝑗 dans l’ordre décroissant)

35 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Temps total 𝑷 𝑪𝒎𝒂𝒙

• Algorithme LPT généralisé

 Placer les tâches dans l’ordre décroissant des temps d’exécution


 On commence sur la première machine puis sur les autres
machines successivement
 On place ensuite les tâches toujours suivant le même ordre des
temps d’exécution décroissants sur la machine qui permet de
commencer au plus tôt

36 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Temps total 𝑷||𝑪𝒎𝒂𝒙
LPT généralisé

Tâches pj
m= 3
1 7
2 9
3 5
4 3
5 6

37 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Temps total avec préemption 𝑷 𝒑𝒎𝒕𝒏 𝑪𝒎𝒂𝒙
σ𝑗 𝑝𝑗
• Borne inférieure : ∗
𝐶𝑚𝑎𝑥 ≥ 𝐶 = max ; max 𝑝𝑗
𝑚
• Algorithme de McNaughton donne une solution optimale
 Sur la première machine…
 …placer les tâches jusqu’à atteindre C…
 … puis faire de même sur les machines suivantes

• Garantie de performance
𝐶max (𝐿𝑃𝑇) 4 1
∗ ≤ −
𝐶𝑚𝑎𝑥 3 3𝑚

38 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


𝑷 𝒑𝒎𝒕𝒏 𝑪𝒎𝒂𝒙
Algorithme de McNaughton
Tâches pj
1 5
2 11
3 5
4 3
5 6

39 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


En cours 𝑷|| ෍ 𝒄𝒋

• Algorithme SPT généralisé donne une solution optimale

 Placer les tâches dans l’ordre croissant des temps d’exécution


 On commence sur la première machine puis sur les autres
machines successivement
 On place ensuite les tâches toujours suivant le même ordre des
temps d’exécution croissants sur la machine qui permet de
commencer au plus tôt

40 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


En cours 𝑷|| ෍ 𝒄𝒋

SPT généralisé
Tâches pj
1 7
2 9
3 5
4 3
5 6

41 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


En cours pondéré 𝑷||𝐶𝑤 = ෍ 𝒘𝒋 𝒄𝒋

• Algorithme WSPT généralisé

 Placer les tâches dans l’ordre croissant des ratio pj/wj


 On commence sur la première machine puis sur les autres
machines successivement
 On place ensuite les tâches toujours suivant le même ordre sur la
machine qui permet de commencer au plus tôt
• Garanti de performance
𝐶𝑤 (𝑊𝑆𝑃𝑇) 1
∗ ≤ (1 + 2)
𝐶𝑤 2

42 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


En cours pondéré 𝑷|| ෍ 𝒘𝒋 𝒄𝒋

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

43 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Ordonnancement sur machines non
liées

 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 𝑝𝑖𝑗
𝑖

45 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Machines non reliées 𝑹||𝑪𝒎𝒂𝒙

L = liste des tâches à ordonnancer


𝑐𝑗 = 0 quelle que soit j.
Pour chaque tâche 𝑗, calculer 𝑥𝑗 = min 𝑝𝑖𝑗 On retient pour chaque tâche la machine la plus rapide
𝑖
WHILE 𝐿 ≠ ∅ DO
Soit 𝑘 telle que 𝑥𝑘 = max 𝑥𝑗 On ordonne les tâches dans l’ordre décroissant des temps d’exécution
𝑗
Ordonnancer 𝑘 sur la machine 𝑚 telle que 𝑐𝑚 + 𝑝𝑚𝑘 = min 𝑐𝑖 + 𝑝𝑖𝑘
𝑖
Supprimer 𝑘 de 𝐿 On choisit la machine pour que ce soit exécuté au plus tôt
ENDWHILE

46 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Machines non reliées 𝑹||𝑪𝒎𝒂𝒙
Durées exécution
Tâches p 1j p 2j p 3j
1 1 5 1
2 9 8 5
3 1 8 7
4 3 5 7
5 3 2 4

47 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Ordonnancement d’ateliers
 Flowshop : fabrication en ligne, ateliers à cheminement unique
 Jobshop : atelier à cheminements multiples
 Openshop : atelier à cheminements libres

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

50 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


𝑭2||𝑪𝒎𝒂𝒙
Algorithme de Johnson
Tâches M1 M2
𝐼1 = ?
T1 12 12 𝐼3 = ?
T2 4 16
T3 20 7
T4 9 16
T5 5 1

51 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Synthèse
Résolution
• Problèmes à plusieurs machines
– Les problèmes sont dits NP difficile:
• il n′ existe pas d′ algorithme polynomial qui donne une soltion optimale
– On utilise des heuristiques
– Description des algorithmes classiques de base de l’optimisation qui sont optimaux pour le
problème à une machine
– Les problèmes plus complexes peuvent être approchés soit par le problème à une machine
soit par une adaptation des algorithmes optimaux pour une machine

52 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Synthèse
Heuristiques
• Pourquoi
– Explosion combinatoire des méthodes exactes
– Imprécision des données qui rend la solution optimale pas
strictement nécessaire, une bonne solution facile ou l’exportation
de plusieurs solutions peut être préférable
– Obtention facile d’une bonne solution de départ pour les
algorithmes exactes procédant par amélioration

53 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Synthèse
Heuristiques
• Comment
– Tout est possible
– Utiliser les méthodes optimales en dehors de leur domaine de validité
– Méthodes usuelles : algorithmes gloutons, méthodes par améliorations
locales

• Performance
– Avoir une garantie sur le résultat obtenu
– Calcul de bornes sur l’éloignement par rapport à l’optimum

54 ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT


Synthèse
Plus loin
Systèmes de types Jobshop
Utilisation des principes de résolution des algorithmes vus
Création d’heuristiques adaptées au problème

Optimisation multicritère
Pondération des critères pour se ramener à une optimisation monocritère
Front de Pareto

ÉCOLE NATIONALE SUPÉRIEURE DE L’ÉNERGIE, L’EAU, L’ENVIRONNEMENT

Vous aimerez peut-être aussi