Vous êtes sur la page 1sur 28

Chapitre -III-

Problèmes d’ordonnancement
à plusieurs machines
Machines parallèles
• Chaque tâche requiert l’utilisation d’une ressource pour
son exécution
• On dispose de m ressources pour effectuer les n tâches
• Exemples :
 Livraisons directes depuis un entrepôt : une flotte de
camions, avec quels camions et dans quel ordre
effectuer les livraisons?
 Missions à répartir entre plusieurs équipes
• Les ressources peuvent être identiques (même temps
de traitement sur toutes les machines) ou hétérogènes
(les temps de traitement diffèrent d’une machine à une
autre)

2
Machines parallèles
 Résolution en deux étapes:
 déterminer quels travaux affecter à quelles
machines,
 déterminer la séquence de travaux sur
chaque machine.

 Un travail requiert 1 seule ressource pour


s’être effectuée et toutes les ressources
peuvent faire tous les travaux
3
Machines parallèles : objectifs
 Makespan :
 Un grand intérêt : Permet d’équilibrer les
charges des machines
 La première étape « affectation des tâches
aux machines » est importante
 Durée de séjour

4
Machines parallèles

• Exemple : 6 pièces à usiner et l’atelier dispose de 3 machines outils


identiques
A B C D E F
pi 10 4 1 1 2 6

M3 B A

M2 E D
M1
C F

0 14 temps

5
Pm||Cmax

 Heuristique basée sur la règle LPT (Longest


Processing Time) : ordonnancement des travaux
dans l’ordre décroissant des pi.
 à t = 0, affecter les m travaux les plus longs aux
m machines
 Quand une machine est libre, affecter le travail le plus

long, parmi les travaux restants, à cette machine

6
Machines parallèles

• Exemple : 6 pièces à usiner et l’atelier dispose de 3 machines outils


identiques

A B C D E F
pi 10 4 1 1 2 6

7
Pm|| Ci

 SPT est optimale pour 1| | Ci

 SPT généralisée est optimale pour Pm| |Ci


 Trier les tâches selon la règle SPT
 Affecter la première tâche de la liste non réalisée à la
première machine disponible.
Pm|| Ci

• Exemple : 6 tâches et 3 machines

A B C D E F
pi 10 4 1 1 2 6

10
Flow shop
 Dans plusieurs enteprises : chaque
travail est composé d’une suite
d’opérations.
 Souvent les opérations de chaque
travail ont le même ordre de passage
sur les machines, autrement dit, les
travaux suivent le même chemin.
 Ainsi, les machines sont installées en
série : flow shop
13
Flow shop

M1 M3
M2

Oj1 Oj2 Oj3

• m machines en série : ligne de production


• La gamme opératoire des jobs est une chaine
• Chaque job est composé de m opérations exécutées une à la
suite de l’autre sur les m machines

.... ....
Oj1 Oj2 Ojk Ojm

19
Flow Shop : objectifs
 Makespan :
 Intérêt : minimisation du makespan induit
le maximisation du taux d’utilisation des
ressources
 La résolution : peu compliquée
 Temps de séjour et retard
 Résolution compliquée

15
Fm| | Cmax
 Séquences de passage des tâches sur les
machines
 Peut différer d’une machine à une autre : les machines ne
sont pas obligées de suivre la règle FCFS (First Come First
Served)
 Peut améliorer le Cmax

 Les Flow shop dans lesquels le changement de séquence


n’est pas permis : Ordonnancement de permutation
16
Fm| | Cmax

 Un ordonnancement est dit de permutation si la


séquence des jobs est la même sur toutes les
machines.

Réduction de l’espace des solutions : (n!)m  (n!)

17
Fm| | Cmax
 Si le changement de séquence n’est pas
permis – flow shop de permutation- le
problème d’ordonnancement est plus
facile à résoudre !
 Dans la suite, on s’intéresse au flow
shop de permutation

18
Fm| | Cmax

Notation

 Cij : date de fin d’exécution de l’opération du job


i sur la machine j.

 pij : durée d’exécution de l’opération du job i sur


la machine j.

19
Flow shop de permutation

• Problème F 2 C max

• Exemple : dans un atelier, les produits passent successivement


sur une machine outil M1 et un poste de finition M2

A B C D E
pi1 2 2 1 3 5 M1
pi2 1 2 4 3 3 M2

Séquence : ABCDE

25
F2| |Cmax : séquence optimale
 Algorithme de Johnson
 Former deux ensembles :
 SI : tous les travaux tels que pi1< pi2
 SII: tous les travaux tels que pi1 > pi2
 Les travaux : pi1 = pi2 peuvent être dans SI ou SII
 Ordonnancer les tâches :
 SI selon l’ordre croissant de pi1 (SPT)
 SII selon l’ordre décroissant de pi2 (LPT)
 Cet ordonnancement est noté SPT(1)-LPT(2)
 Remarque : Plusieurs ordonnancements peuvent être
générés

26
F2| |Cmax: Exemple 2

• Algorithme de Johnson : exemple

A B C D E
pi1 2 2 1 3 5 M1
pi2 1 2 4 3 3 M2

M1

M2

C max 

23
F2| |Cmax : séquence optimale
 Exercice

Tâche i 1 2 3 4 5
pi1 4 6 2 7 8
pi2 7 3 3 7 6
F3| |Cmax
F3| |Cmax : NP-difficile
• Cas particulier: min pi1   max p i2  ou min pi3   max pi2 
i i i i

La deuxième machine est dominée soit par la première


machine soit par la troisième machine

Séquence optimale obtenue en appliquant l’algorithme de


Johnson sur un nouveau problème à deux machines fictives
M1 et M2 avec les durées d’exécution suivantes :

pi1'  pi1  pi2 et pi2'  pi2 pi3

26
F3| |Cmax
• Exemple :

i 1 2 3 4
pi1 4 6 8 3
pi2 2 1 3 2
pi3 5 1 6 4

27
Fm| |Cmax
Problème NP- difficile, m3

• Heuristique CDS (Campbell, Dudek and Smith,1970)

1. Générer m-1 solutions en appliquant l’algorithme de Johnson


à (m-1) sous problèmes à deux machines fictives. La
première machine fictive regroupe les k premières machines,
la deuxième regroupe les k dernières machines, k varie de 1
à m-1. Les temps opératoires de chaque tâche i (i = 1...n),
sur ces deux machines fictives sont données par :

2. Retenir la meilleure des m-1 solutions (plus faible Cmax)

29
Exemple 1
 Soit le problème à 3 machines et 5 tâches,
dont les temps opératoires sont données par
le tableau ci-dessous :

Tâche i A B C D E
Pi1 10 7 14 6 4
Pi2 5 6 3 9 7
pi3 3 11 7 2 13

32
Exemple 2 : Fm| |Cmax

i A B C D E

pi1 4 6 5 3 2

pi2 2 1 3 2 4

pi3 5 1 6 4 1

pi4 3 2 4 1 3

35
Job shop
M2

M1 M3

Oi2

Ti2

Oi1 Oi3
Ti1 Ti3

• La gamme opératoire des jobs est une chaîne


• L’opération Oij du job Ji est exécutée sur la machine Mj
• Chaque job suit sa propre séquence sur les machines

35
Job shop

1. Soit A l’ensemble des tâches utilisant les machines 1 puis 2,


rangées selon la règle deJohnson
2. Soit B l’ensemble des tâches utilisant les machines 2 puis 1,
rangées selonla règle de Johnson
3. Soit C l’ensemble des tâches utilisant uniquement la machine
1, rangées dans n’importe quel ordre
4. Soit D l’ensemble des tâches utilisant uniquement la machine
2, rangées dans n’importe quel ordre
5. Faire passer sur la machine 1 : A, puis C, puis B
6. Faire passer sur la machine 2 : B, puis D, puis A
36
J2| |Cmax : Exemple
Tâchei Indice de la machine pour Durée d’exécutionde
Opération1 Opération2 Opération1 Opération2
1 1 2 4 6
2 1 - 3 -
3 1 - 4 -
4 1 2 5 2
5 2 1 1 2
6 2 - 1 -
7 2 1 7 8
8 2 - 3 -
9 2 1 6 7
10 1 2 2 4

42

Vous aimerez peut-être aussi