Vous êtes sur la page 1sur 55

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)

25/04/2023 S.Hammami 2
Machines parallèles
◼ Généralisation du problème à une
machine.
◼ Cas particulier du Flow Shop flexible.
◼ Résolution en deux étapes :
◼ déterminer quels travaux affecter à
quelles machines,
◼ déterminer la séquence de travaux sur
chaque machine.

25/04/2023 S.Hammami 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 moyenne

25/04/2023 S.Hammami 4
Pm/ /Cmax
i A B C D E F
pi 4 2 6 3 5 2

• M=2
• Solution 1 :
• M1: B-D-F
• M2: A-C-E

• Solution 2 :
• M1: C-D-F
• M2: A-B-E

25/04/2023 S.Hammami 5
Pm||Cmax (sans préemption)
◼ Problème NP-difficile
◼ Heuristique basée sur la règle LPT
(Longest Processing Time) :
◼ à 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
◼ Performance Cmax ( LPT ) 4 1
 −
Cmax (OPT ) 3 3m
25/04/2023 S.Hammami 6
Pm||Cmax (sans préemption)

• Algorithme LPT (Largest Processing Time) : ordonnancement des


tâches dans l’ordre décroissant des pi
• 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 E C

M2 F D

M1 A

0 10 temps
• garantie de performance 4/3 – 1/9= 1,22

25/04/2023 S.Hammami 7
Exemple le plus pire de P4||Cmax
• Exemple : 9 pièces à usiner et l’atelier dispose de 4 machines outils
identiques
A B C D E F G H I
pi 7 7 6 6 5 5 4 4 4
LPT
M4 D F I

M3 C E

M2 B G

M1 A H

0 7 11 15 temps
• garantie de performance 4/3 – 1/12= 1,25

25/04/2023 S.Hammami 8
Exemple le plus pire de P4||Cmax
• Exemple : 9 pièces à usiner et l’atelier dispose de 4 machines outils
identiques
A B C D E F G H I
pi 7 7 6 6 5 5 4 4 4
Solution optimale
M4 G H I

M3 C D

M2 B F

M1 A E

0 7 12 temps
• garantie de performance 4/3 – 1/12= 1,25
• Cmax(LPT) = 1,25*Cmax(OPT)
25/04/2023 S.Hammami 9
Pm|prmp|Cmax
◼ Solution optimale obtenue avec l’algorithme de Mac Naughton (1959)

1 n 
Cmax  max   pi , max( pi )
 m i =1 
Borne inférieure pour Pm| |Cmax

Solution optimale pour


Pm|prmp|Cmax

25/04/2023 S.Hammami 10
Pm|prmp|Cmax
• Le problème Pm prmp Cmax est polynomial

• Algorithme de Mc Naughton


Soit M  = max max i pi , i pi / m
1. Placer les tâches dans n’importe quel ordre sans préemption sur la machine
M1.
2. Découper la séquence au niveau de M* et placer les tâches en aval de M* sur
la machine suivante. Terminer l’ordonnancement des tâches non affectées sur
cette machine.
3. Répéter l’étape 2 jusqu’à ce que toutes les tâches soient ordonnancées.

25/04/2023 S.Hammami 11
Pm|prmp|Cmax
• Algorithme de Mc Naughton : exemple 1 (4 machines)

i A B C D E F G H I

M = 12 pi 7 7 6 6 5 5 4 4 4

M4 G H I

M3 D2 E F

M2 B2 C D1

M1 A B1

0 12

25/04/2023 S.Hammami temps 12


Pm|prmp|Cmax
• Algorithme de Mc Naughton : exemple 2 (2 machines)

 i A B C
M =5
pi 1 2 5

M2 C2

M1 A B C1

5 temps

25/04/2023 S.Hammami 13
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.
◼ Remarque : la règle SPT généralisée n’est
pas la seule qui optimise Pm| |Ci

25/04/2023
Pm|| Ci
• Exemple : 6 tâches et 3 machines

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

M3 E A

M2 D F

M1 C B
temps
0
C i = 1 + 5 + 1 + 7 + 2 + 12 = 28

25/04/2023 S.Hammami 15
Pm|| Ci
• Autre ordonnancement optimal

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

M3 E B

M2 D F

M1 C A
temps
0

 C = 1 + 1 + 11 + 7 + 6 + 2 = 28
i

25/04/2023 S.Hammami 16
Pm| |wiCi
◼ WSPT est optimale pour 1| |wiCi
◼ Ce résultat ne peut pas être généralisé
pour Pm| |wiCi
◼ WSPT : heuristique de performance
élevée
 w C (WSPT ) 1
i i
 (1 + 2)
 w C (OPT )
i
2
i

25/04/2023 S.Hammami 17
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
25/04/2023 S.Hammami 18
Flow shop
◼ la capacité de stockage entre les machines :
◼ dans la plupart des cas, la capacité est supposée
illimitée : cas de produits de taille petite (circuits
électroniques)
◼ Quand les produits sont volumineux (télévision), la
capacité de stockage entre les machines est
limitée ce qui induit le phénomène de blocage.

25/04/2023 S.Hammami 19
Exemple : obj min Cmax
A B C D
Pi1 5 3 7 3
pi2 8 6 1 1

Soit la séquence ABCD sur les deux machines,


calculer Cmax dans les deux cas :

❑Capacité max entre les deux machines =0,

❑Capacité entre les machines est illimitée

25/04/2023 S.Hammami 20
Flow shop

M1 M3
M2

Oi1 Oi2 Oi3

• 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
.... ....
Oi1 Oi2 Oik Oim

25/04/2023 S.Hammami 21
Flow Shop : objectifs
◼ Makespan :
◼ Intérêt : minimisation du makespan induit
la maximisation du taux d’utilisation des
ressources
◼ La résolution : peu compliquée
◼ Temps moyen de séjour et retard
◼ Résolution compliquée

25/04/2023 S.Hammami 22
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

◼ Si le changement de séquence n’est pas permis :


Flow shop de permutation
25/04/2023 S.Hammami 23
Fm| | Cmax : exemple
◼ Exemple de cas, si on change la séquence, on
améliore le 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

◼ Proposition1 :
◼ ECDAB pour toutes les machines Cmax= 30
◼ Proposition 2 :
◼ ECDAB pour M1 et M2 Cmax= 27
◼ ECABD pour M3 et M4
25/04/2023 S.Hammami 24
Dominance
◼ Une dominance est une propriété D
vérifiée par au moins une solution optimale

solutions réalisables
propriété D

solutions optimales
Dominance
◼ L'analyse d'un problème particulier
permet d'obtenir des propriétés sur la
structure des solutions optimales,
propriétés à partir desquelles on peut :
◼ ou bien caractériser les solutions optimales
◼ ou bien réduire l'espace des solutions à
explorer (notion de sous-ensemble qui
contient au moins une solution optimale)

25/04/2023 S.Hammami 26
Ordonnancement de permutation
◼ 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!)
◼ Pour F2//Cmax, il est dominant d’avoir le même
ordre de passage sur les 2 premières machines
Ordonnancement de permutation
◼ Les ordonnancements de permutation sont
dominants pour le problème F3//Cmax
◼ Les ordonnancements de permutation ne
sont plus dominants sur 4 machines
Flow shop de permutation
• Problème F 2 Cmax
• 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

M1 A B C D E

M2 A B C D E
temps
C max
25/04/2023 S.Hammami 29
F2| |Cmax : séquence optimale
◼ Algortihme de Johnson
◼ Former deux ensembles :
◼ SI : tous les travaux tels que p1j < p2j
◼ SII: tous les travaux tels que p1j > p2j
◼ Les travaux : p1j = p2j peuvent être dans SI ou SII
◼ Ordonnancer les tâches :
◼ SI selon l’ordre croissant de p1j (SPT)
◼ SII selon l’ordre décroissant de p2j (LPT)
◼ Cet ordonnancement est noté SPT(1)-LPT(2)
◼ Remarque : Plusieurs ordonnancements peuvent être
générés

25/04/2023 S.Hammami 30
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

Cmax =

25/04/2023 S.Hammami 31
F2| |Cmax : séquence optimale
◼ Théorème : chaque SPT(1)-LPT(2) est
optimal pour F2 || Cmax.
◼ Exemple
Tâche i 1 2 3 4 5
pi1 4 6 2 7 8
pi2 7 3 3 7 6
◼ Résolution
◼ SI={1, 3,4}, SII={2,5}
◼ SPT(1)-LPT(2) : 3-1-4-5-2

S.Hammami
F3| |Cmax
F3| |Cmax : NP-dur
• Cas particulier : min ( pi1 )  max ( pi 2 ) ou min ( pi 3 )  max ( pi 2 )
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 :

pi'1 = pi1 + pi 2 et pi2' = pi 2 + pi3


25/04/2023 S.Hammami 33
F3| |Cmax

• Cas particulier : min( pi1 )  max ( pi 2 ) ou min( pi 3 )  max ( pi 2 )


i i i i

• Exemple : min( pi1 ) = 3  max ( pi 2 ) = 3


i i

i 1 2 3 4
i 1 2 3 4
pi1 4 6 8 3
pi1 6 7 11 5
pi2 2 1 3 2
pi2 7 2 9 6
pi3 5 1 6 4

Séquence optimale : 4 – 1 – 3 – 2

25/04/2023 S.Hammami 34
Fm| |Cmax
Problème NP- dur, m3

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

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


(m-1) sous problèmes à deux machines fictives. La première
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 :
k m
p =  pij et p =
k
i1
k
i2 p ij
j =1 j = m − k +1

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

25/04/2023 S.Hammami 35
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 1 2 3 4 5
Pi1 10 7 14 6 4
Pi2 5 6 3 9 7
pi3 3 11 7 2 13

36
Application
◼ K=1
Tâche i 1 2 3 4 5
P1i1 10 7 14 6 4
P1i2 3 11 7 2 13

L’ordonnancement obtenu en appliquant


l’algorithme de Johnson est 5-2-3-1-4

37
Application
◼ K=2

Tâche i 1 2 3 4 5

P2i1 15 13 17 15 11

P2i2 8 17 10 11 20

◼ La séquence optimale est 5-2-4-3-1 et l'ensemble des


tâches sera terminé au bout de 49.
◼ Le meilleur ordonnancement parmi ces deux solutions
est 5-2-4-3-1 avec une date d'achèvement de 49.

38
Exemple 2 : Fm| |Cmax

i 1 2 3 4 5
pi1 4 6 5 3 2 i 1 2 3 4 5
k=1
pi2 2 1 3 2 4 p1i1 4 6 5 3 2
pi3 5 1 6 4 1 P1i2 3 2 4 1 3
pi4 3 2 4 1 3 séquence 1 : 5 – 3 – 1 – 2 – 4
Cmax =
k=3 k=2

i 1 2 3 4 5 i 1 2 3 4 5
p3i1 11 8 14 9 7 p2i1 6 7 8 5 6
P3i2 10 4 13 7 8 P2i2 8 3 10 5 4

séquence 3 : 5 – 3 – 1 – 4 – 2 séquence 2 : 4 – 1 – 3 – 5 – 2
Cmax = Cmax =
25/04/2023 S.Hammami 39
Flow shop de permutation proportionné
◼ Un flow de shop de permutation proportionné est un
cas particulier d’un flow shop de permutation
◼ les durées du travail j sur chaque machine, sont ègales à pj:
p1j=p2j=..=pmj
◼ Minimiser Cmax d’un flow shop de permutation
proportionné est noté: Fm/prmu,pij=pj/Cmax
◼ Exemple : flow shop sur deux machines
A B C D
pj 5 3 6 4

◼ Calculer Cmax des séquences : ABCD et DCAB

25/04/2023 S.Hammami 40
◼ Cmax du problème Fm/prmu,pij/Cmax
est indépendante de la séquence
◼ Cmax=σ𝑚 𝑖=1 𝑝𝑗 + (m − 1)max(𝑝𝑗)

25/04/2023 S.Hammami 41
Flow shop de permutation proportionné
◼ Exemple1 : flow shop sur deux machines
A B C D
pj 5 3 6 4

◼ Application de l’algorithme de Johnson


◼ Proposition 1 : SI={A,B,C,D}
◼ Ordonnancement optimal (SPT)=B-D-A-C
◼ Proposition 2 : SII={A,B,C,D}
◼ Ordonnancement optimal (LPT) =C-A-D-B
◼ Proposition 3 : SI = {A,B}, SII={C,D}
◼ Ordonnancement optimal (SPTI-LPTII)=B-A-C-D
◼ ….
25/04/2023 S.Hammami 42
Cas particulier de flow shop
◼ La règle SPT est optimale pour 1||Cj et est
optimale pour Fm|prmu, pij =pj|Cj
◼ L’algorithme qui résulte à un ordonnancement
optimal pour 1||Uj résulte également à un
ordonnancement optiaml pour Fm|prmu, pij
=pj|Uj
◼ L’algorithme qui résulte à un ordonnancement
optimal pour 1||Tmax résulte également à un
ordonnancement optimal pour Fm|prmu, pij =pj|
Tmax

25/04/2023 S.Hammami 43
Exemple : flow shop sur 4 machines

A B C
pj 5 3 6

◼ Minimiser Cj

A B C
pj 5 3 6
dj 21 16 30

◼ Minimiser Uj
◼ Minimiser Tmax
25/04/2023 S.Hammami 44
Job shop
M2

M1 M3

Oi2

Ti2

Oi1 Oi3
Ti1 Ti3

• La gamme opératoire des jobs est une chaine


• 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

25/04/2023 S.Hammami 45
Job shop
− Ateliers de production : problème Jm Cmax

• Le problème Jm Cmaxest NP-difficile pour m  3


• Le problème J 2 Cmax est polynomial : algorithme de Jackson
1. Soit A l’ensemble des tâches utilisant les machines 1 puis 2,
rangées selon la règle de Johnson
2. Soit B l’ensemble des tâches utilisant les machines 2 puis 1,
rangées selon la 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

25/04/2023 S.Hammami 46
J2//Cmax : Exemple
Tâche i Indice de la machine pour Durée d’exécution de
Opération 1 Opération 2 Opération 1 Opération 2
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

25/04/2023 47
J2//Cmax : Exemple
Tâche i Indice de la machine pour Durée d’exécution de
Opération 1 Opération 2 Opération 1 Opération 2
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
Un ordonnancement optimal est :
▪ Sur M1 : 10-1-4-2-3-5-9-7
25/04/2023 ▪ Sur M2 : 5-9-7-6-8-10-1-4 48
Job shop
− Ateliers de production : problème Jm Cmax

• Le problème Jm Cmax est NP-difficile pour m  3


• Des heuristiques basées sur des règles de priorité :
o on attache un poids (une priorité) à chaque tâche
o lorsqu’une machine se libère, on lui affecte la tâche disponible de
plus fort poids (la plus prioritaire)

Une machine n’est jamais en arrêt s’il y a au moins une tâche


disponible

25/04/2023 S.Hammami 49
Job shop
◼ Exemple : 3 jobs et 3 machines
◼ A : M1-M2-M3
◼ B : M3-M2-M1
◼ C : M2-M3-M1

A B C
Durée sur M1 3 6 2
Durée sur M2 2 3 1
Durée sur M3 5 3 7
Poids 0.2 0.5 0.3

25/04/2023 S.Hammami 50
Job Shop Jm||Cmax
Instant Machines Taches Choix
libres disponibles
0 M1 A A
M2 C C
M3 B B

25/04/2023 S.Hammami 51
Problèmes à plusieurs machines: Open
shop

M2

M1 M3

Oi2

Ti2

Oi1 Oi3
Ti1 Ti3

25/04/2023 S.Hammami 52
Open shop (Om)
◼ Il existe m machines
◼ Il n'y a aucune restriction en ce qui concerne le
cheminement de chaque travail par
l'environnement de machine (pas de gamme
précise pour chaque travail)

25/04/2023 S.Hammami 53
Open shop

− Ateliers de production : problème Om Cmax

• Le problème Om Cmax est NP-difficile pour m  3

• Le problème O 2 Cmax est polynomial : algorithme de Gonzalez et


Sahni : algorithme LAPT (longest alternate processing time)

Dès qu’une machine se libère, ordonnancer l’opération disponible du


job qui a la plus longue durée restante à exécuter sur l’autre machine

25/04/2023 S.Hammami 54
Open shop
− Ateliers de production : problème O2 Cmax
• Algorithme de Gonzalez et Sahni : exemple

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

25/04/2023 S.Hammami 55

Vous aimerez peut-être aussi