Vous êtes sur la page 1sur 12

Ordonnancement dans les ateliers. Cours donn par le Dr.

DERBALA Ali

Chapitre 6 : Le flow shop dterministe


1. Introduction Dans un atelier, un ensemble de machines est dit constituant un flow-shop si elles sont disposes en srie ou numrotes de tel faon que, pour chaque job considr, une opration k est excute sur une machine de rang suprieur que lopration j si j > k. Le nombre de machines est de deux ou plus de deux. Un exemple de tel atelier est la disposition en ligne o les travailleurs ou les stations de travail reprsentent les machines. Nimporte quel groupe de machines servis par un convoyeur unidirectionnellement et non-cycliquement sera considr comme un flow-shop [Con67]. Il nest pas requis que chaque job a une opration sur chaque condition est que tout mouvement entre les machines dans latelier soit dans une direction machine. Dans ce cas, le temps dexcution du job sur la dite machine est nul. La seule uniforme. On suppose que

"m" machines ( m 2 ) disposes en srie ou flow shop. Les machines sont installes dans

lordre des jobs sur les machines initiales et terminales.

Les contraintes technologiques sans un flow shop ont la forme suivante

J1 J2 Jn

TE

Job

M1 M1 M1

SA

Quelques rsultats.

M2 M2 M2

2. Le Flow-shop avec capacit de stockage intermdiaire entre les machines non limite:

Ordre d'excution M3 M3
.

voire [Con67], [Bak74], [Cof76], [Fre82], [Bla92], [Tan94] et [Pin95].

Les rsultats voqus ci dessous sont cits dans la majorit des livres dordonnancement,

ER SI

Le premier rsultat montr et que le problme d'ordonnancement de longueur minimale dans un flow shop m-machines (m 3 ) est NP-complet. Pour m = 2, il existe un algorithme
Le flow shop dterministe

IV

M3

77

LA

particulire des numros didentification de jobs. Cest le cas o il y a une prservation de

Mm Mm Mm

appels aussi ordonnancement en liste. Ils sont compltement dcrit par une permutation

Dans un flow shop, il est suffisant de considrer que les ordonnancements de permutation,

l'ordre 1, 2, .. , m. Les jobs sont supposs tre dans latelier linstant zro.

BL

{ 1, 2,..., n } est un ensemble de n jobs excuter sur

ID

Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali

efficace pour trouver de tel ordonnancements. Lalgorithme de Johnson ncessite au plus un temps proportionnel n logn. Le second rsultat montre que le problme de la dtermination dun flow time pondr minimale dans un flow shop m-machines est NP-complet pour m 2. Le problme dun flow shop 3-machines est NP-complet aussi bien si la longueur des entres est mesure par la somme des longueurs de tches. Il se formule comme un problme de 3-partition. C'est le problme not F m // Cmax. Soit j1, j2,..., jn une permutation de n jobs sur m machines par les quations de rcurrence: Ci,j1 =

Ci,jk = Max ( Ci-1,jk , Ci,jk-1 ) + pi, jk, i = 2,.., m; k = 1, ..., n. Lemme 1 : Dans un flow shop o on dsire minimiser le Makespan, ordonnancer les jobs selon la permutation j1, ..., jn donne le mme makespan que celui de la permutation jn ,..., j1 . Thorme 1 : Pour minimiser nimporte quelle fonction objective, il est suffisant

SA A

LA

l =1

C,ijk =

p l, jl ,

k = 1,..., n

D
de
78

l =1

considrer que les ordonnancements o le mme ordre de jobs est prescrit sur les deux

Thorme 2 :[Con67]

Dans le cas du problme n / m / F / Cmax , il est suffisant de considrer que les ordonnancements o le mme ordre dexcution des jobs est prescrit sur la machine 1 et 2, et le mme ordre des jobs est prescrit sur les machines m - 1 et m.

Remarque1 : Cest un rsultat non ncessaire. On ne doit pas exclure la possibilit quil peut y avoir des ordonnancements optimaux qui ont des ordres diffrents sur les deux premires machines. Il peut aussi exister un ordonnancement optimal o lordre optimale sur la premire machine et la deuxime machine est diffrent que celui de la machine m - 1 et m.

Le flow shop dterministe

IV ER

SI TE

premires machines.

p l, j1 ,

i = 1,..., m;

BL

ID

flow shop. Le temps de fin dexcution du job jk sur la machine i peut tre facilement calcul

Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali

Pour toute mesure de performance, et en particulier pour le flow-time pondr, le maximum flow-time, le flow-shop deux machines est le seul cas o il est suffisant de considrer que les ordonnancements de permutation. Mais un contre exemple indique aussi que pour le maximum flow-time, dans les flow-shop quatre ou plus de machines un type gnral dordonnancement doit tre considr. 3. Le flow shop 2 - machines. L'algorithme de Johnson Chaque job consiste en la donne dun couple ( Ai, Bi ) o : Ai est le temps dexcution du job i sur la machine1 Cet ordre sur les machines est le mme pour chacun des n jobs, aussi il est permis quun Ai ou normales dun atelier simple sont supposs ralises. Bi reprsente le temps dexcution du job i sur la seconde machine.

un Bi soit nul, puisque certain jobs peuvent avoir quune seule opration. Les contraintes 1) Chaque machine j ne peut excuter quun job i la fois et

2) Chaque job i ne peut tre excut que par une machine en tout instant. Le job i ne Le problme alors est : Soit 2 n valeurs A1, A2, ... , An, B1, B2, ..., Bn. Trouver un ordre

La premption et loisivet des machines ne sont pas autorises.

A1
0 1

A2
3

SA A

rseau PERT.

Ai

La makespan d'une squence de jobs peut tre reprsent par le temps de fin d'excution d'un Aj
2k+1

ou doccupation ne soient viols et le maximum des Fi = Ci - ri est rendu aussi petit soit-il.

dexcution des jobs sur chacune des deux machines tel que ni les contraintes de prcdences

LA

sexcutera sur la machine 2 que sil a termin son excution sur la machine 1.

As . 0 Bj
2k+2 2n-3

2k-3

D
0

E
An
2n-1

2k-1

0 B1
2

0 B2
4

TE

0 Br
2k

0 Bi

SI

Bn-1 ..
2n-2 2n

ER

2k-2

IV

U N

Fig. 1: Rseau pour la suite des jobs ( j1, j2, , r, i, j, s,., jn )

O 0 est le temps de transport de la machine 1 2.


Le flow shop dterministe

79

BL
0
2n+1

ID
Bn

Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali

Les nuds

et

reprsentent respectivement le dbut et la fon d'excution de

l'ordonnancement. Les arcs ( 2k - 3, 2k -1), (2k, 2k+2) dcrivent l'excution du job i sur la machine 1 et 2 respectivement. Les arcs verticaux reprsentent des activits de dures nulles. La makespan est la longueur du plus long chemin de 0 2n +1. On notera par : A[i] : le temps dexcution sur la machine 1 du job qui est la ime position dans la squence dordonnancement. Le dernier job ne peut terminer son excution plutt que le temps requis pour excuter tous les jobs sur la 1re machine plus le temps quil faut pour lexcuter sur la n n machine 2, soit Cmax A[1] + B[i] . Aussi Cmax A[i] + B[n] i =1 i =1

cette construction donne un bon ordonnancement. Cet argument de bornes est prcisment la Soit X[i] le temps doisivet sur la machine 2 prcdent B[i]. Les valeurs de X[i] peuvent tre donnes en fonctions des A[i] et B[i-1] par les relations X[1] = A[1] X[2] = max ( A[1] + A[2] - B[1] - X[1], 0 ) et en gnral on peut crire

X[1] + X[2] = max ( A[1] + A[2] - B[1] , A[1] ) X[1] + X[2] + X[3] = max ( A[1] + A[2] + A[3] - B[1] - B[2] , X[1] + X[2] )

Le flow shop dterministe

X[1] = A[1]

IV

Les sommes partielles des X peuvent tre obtenues des expressions

ER

j j 1 j 1 X[j] = max ( A[i] ] - B[i] - X[i] , 0 ). i =1 i =1 i =1

SI TE

X[3] = max ( A[1] + A[2] + A[3] - B[1] - B[2] - X[1] - X[2] , 0 )

SA A

Un ordonnancement type ressemble ce quil suit :

80

D A

base de la procdure de Johnson et il offre la preuve de son optimalit.

LA

essentiellement le mme argument sur les (n-1) jobs restants. Si cette borne est atteinte alors

premier. Si cest un Bi on le mettra la fin de lordonnancement. On peut rpter

choix de la suite. On choisira la plus petite des 2n valeurs, si cest un Ai on mettra le job i en

de lordre des jobs. Alors pour rduire ses bornes on ne peut influencer que sur B[n] A[1] par le

BL

n n A[i] et B[i] sont directement donnes par linformation et entirement indpendant i =1 i =1

ID

Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali

3 2 2 = max ( A[i] ] - B[i] , A[i] ] - B[1], A[1] ). i =1 i =1 i =1 En gnral on aura : j j j 1 j 1 j 2 2 X[i] = max( A[i] - B[i] , A[i] - B[i] ,..., A[i] - B(1) , A(1] ) i =1 i =1 i =1 i =1 i =1 i =1 j j 1 j Si Yj = A[i] - B[i] alors X[i] = max ( Y1 , Y2 , .., Yj ). i =1 i =1 i =1 n n n Cmax(S) = Fmax(S) = B[i] + X[i] = B[i] + max ( Y1 , Y2 , .., Yn ) i =1 i =1 i =1

Puisque la somme des Bi est indpendante de la squence, le flow-time maximum dpend quivalent de maxYj. Notre but est de trouver S* tel que Fmax(S*) Fmax(S) pour tout S. La rgle qui minimise le makespan pour le problme de deux machines est celle de Johnson. Thorme 3 : [ Joh 54 ]

Algorithme 1 ( de Johnson ) Step1. Set k = 1, l = n

Step4. If the smallest time is for Ji on first machine, i.e. ai is smallest, then i) ii) iii) iv)

Step5. If the smallest time is for Ji on second machine, i.e. bi is smallest, then i) ii) Schedule Ji in the lth position of processing sequence Delete Ji from current list of unscheduled jobs
81

Le flow shop dterministe

IV

ER

Schedule Ji in kth position of processing sequence Delete Ji from current list of unscheduled jobs

Increment k to k + 1 Go to step6.

SI

Step3. Find the smallest of all the ai and bi times for the jobs currently unscheduled.

TE

Step2. Set current list of unscheduled jobs { J1, J2, , Jn }.

SA A

le job j prcdera le job j+1 si Min (Aj,Bj+1) < Min (Aj+1,Bj).

Dans un flow-shop n/2/F/Cmax o tous les jobs sont disponibles la mme date,

LA

entirement de la somme des intervalles des temps d'oisivet sur la seconde machine et c'est

BL

ID

Si Fmax(S) dsigne le maximum flow-time dun ordonnancement particulier S alors

Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali

iii) iv)

Redule l to( l - 1) Go to step6.

Step6. If there are any jobs still unscheduled, go to stpe3. Otherxise, stop. If the smallest time occurs for more than one job in step3, the pick Ji arbitrary. Exemple 2 : Ordonnancer les tches dans le problme 7 / 2 / F / Cmax Job 1 2 3 4 5 6 7 Job 4 ordonnanc : 4 Job 5 ordonnanc : 4 Job 2 ordonnanc : 4 2 Job 3 ordonnanc : 4 2 Job 1 ordonnanc : 4 2 M1 6 2 3 1 7 4 7 5 5 3 5 135 M2 9 3 8 1 5 6 3

Job 6 ordonnanc : 4 2 6 1 3 5 Job 7 ordonnanc : 4 2 6 7 1 3 5

avoir un ensemble d'ordonnancement optimales s'il y a galit entre quelques couples de jobs.

U N

Thorme 4 : pour le problme n / 2 / F / Cmax avec pi1 = ai et pi2 = bi, i = 1, , n. i) si ak = min { a1, , an, b1, , bn }alors il y a un ordonnancement optimal o le job Jk est plac la premire position de l'ordonnancement. ii) si bk = min { a1, , an, b1, , bn }alors il y a un ordonnancement optimal o le job Jk est plac la dernire position de l'ordonnancement.
Le flow shop dterministe

IV

La preuve se fait en deux parties ( Voir Conway et al.[Con67] ).

ER

optimal rsultant est unique s'il y a des ingalits entre chaque couple de jobs, mais il peut y

SI

La procdure dcrite auparavant dcoule directement de cette ingalit. L'ordonnancement

TE

SA A

82

LA

BL

ID

Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali

La rgle de Johnson peut se formuler d'une autre manire. Divisons les jobs en deux sous ensembles. L'ensemble 1 contient tous les jobs tel que p1 j < p2 j et l'ensemble deux contient tous les jobs tel que p1 j > p2 j. S'il y a galit le job est dans un des deux sous ensembles. On excute les jobs du premier ensemble dans l'ordre croissant des p1 j ( SPT ) et suivent les jobs du second ensemble dans l'ordre dcroissant des p2 j ( LPT ). L'ordonnancement peut ne pas tre unique . Thorme 5 : Tout ordonnancement SPT(1)-LPT(2) est optimal pour F2//Cmax.

4. Le flow shop gnral sur 2-machines, n / 2 / G / Cmax. Algorithme de Johnson

On a suppos que les tches doivent s'excuter sur toutes les machines. Relaxant cette contrainte. Supposons qu'on a un ensemble de jobs { J1, , Jn }qu'on peut partitionner en Type A : les jobs qui ne sont excuts que sur la machine M1 Type B : les jobs qui ne sont excuts que sur la machine M2 Type C : les jobs qui sont excuts sur la machine M1 puis sur M2 La solution optimale est de la forme : quatre sous ensembles de jobs.

3) ordonnancer les tches de type C selon la rgle de Johnson pour donner SC rle des machines, la machine 2 devient machine 1' et machine 1 devient 2'). Machine M1 M2 Exemple 3 :

TE

Un ordonnancement optimal est alors

ER SI

Soit 9 / 2 / G / Cmax dont les donnes sont l'ordre de passage sur les machines et les temps

d'excution des tches.

Le flow shop dterministe

IV

SA

4) ordonnancer les jobs de type D selon la rgle de Johnson pour donner SD ( en permutant le

Ordre d'excution ( SC, SA, SD ) ( SD, SB, SC )

A D

2) ordonnancer les jobs de type B dans un ordre quelconque pour donner une squence SB

1) ordonnancer les jobs de type A dans un ordre quelconque pour obtenir une squence SA,

83

Type D : les jobs qui sont excuts sur la machine M2 puis sur M1

LA

BL ID

Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali

Tche 1 2 3 4 5 6 7 8 9

Premire machine M1 M1 M1 M1 M2 M2 M1 M2 M2 8 7 9 4 6 5 9 1 5

Seconde machine M2 M2 M2 M2 M1 M1 ------------2 5 8 7 4 3

Les jobs de type D : job 5 et 6. La squence selon Johnson est ( 5, 6 ).

L'ordonnancement optimal est: Machine M1 Machine M2

SA

Par un diagramme de Gantt, Fmax vaut 44 units.

A D

LA

Les jobs de type C : job 1, 2, 3 et 4. La rgle de Johnson donne (4, 3, 2, 1 ).

( 4, 3, 2, 1, 7, 5, 6 ) ( 5, 6, 8, 9, 4, 3, 2, 1 )

Les jobs de type B : job 8 et 9. Choisissons l'ordre ( 8, 9 ).

D
F
) est la mme sur chaque machine. Aucun
84

Les jobs de type A : job 7 sur la machine M1

5. Minimiser le flow-time moyen dans le flow-shop deux machines ( n / 2/ F /

Quoique le thorme de Johnson reste applicable, il est ncessaire de considrer seulement les ordonnancements o la squence des jobs

existent o SPT est meilleure que celle de Johnson. Une expression gnrale pour le flowtime pondr de n jobs peut tre obtenu par un argument qui suit directement la rgle de Johnson. 1) Soit X[i] le temps d'oisivet qui prcde l'opration B[i] sur la seconde machine.

Le flow shop dterministe

n'est pas optimale pour le critre et en gnral elle n'est pas assez bonne. Des exemples

IV

algorithme constructif comparable celui de Johnson n'est connu. La procdure de Johnson

ER SI

Aussi pour le flow-shop, la minimisation du flow-time moyen est un problme trs difficile.

TE

Pour dterminer un ordonnancement optimal.

BL I

Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali

j j 1 2) Soit Yj = A[i] - B[i] , le flow-time de chaque job est: i =1 i =1 F[1] = A[1] + B[1] = X[1] + B[1] F[2] = X[1] + B[1] + X[2] + B[2] j j j Fj = B[i] + X[i] = B[i] + max ( Y1 , Y2 , .., YJ ) i =1 i =1 i =1 n F = 1/n ( j =1 j n B[i] + max ( Y1 , Y2 , .., YJ ) ). i =1 j =1

On peut noncer que si deux jobs i et j sont adjacents et si Aj Ai et Bj Bi alors le job i prcde le job j. 6. Cas de trois machines n / 3 / F / Cmax dites de de dominance, min a i max b i ou min c i max b i . i i i i machines en posant a'i = ai + bi et b'i = bi + ci.

La rgle de Johnson peut tre tendue au cas de trois machines. On aura besoin des conditions

Dans ce cas, on regroupe deux machines en une seule et le problme devient celui deux

Exemple 4: Soit 6 / 3/ F / Cmax. Les valeurs donnes sont celles des temps d'excution.

2 3 4 5 6

6 3 5 8 4

SA

Job

M1

M2 2 1 3 2 1

M3 3

1re machine 5 8 4 9 10 5

LA

E
2nd machine 4 11 3 10 8 2 9 2 7 6 1
85

min{a i } = 3, max{b i } = 3 et min{c i } = 1. D'o les formules de dominance sont vrifies i i i

Le flow shop dterministe

IV

ER

SI TE

BL I

Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali

M1 M2 M3

J2 6 J2 6

J4 11 J4 8 8 14 J2

J5 19

J1 23 J5 21 J4 17 24 J5

J3 26 J1 27 J1 30

J6 30 J6 31 J3 33 J6 35

Fig 3 : Diagramme de Gantt ( 2, 4, 5, 1, 3, 6 ) est l'ordonnancement optimal. 7. Solution graphique d'Akers pour 2 / m / F / Cmax C'est le cas de 2 jobs et " m " machines, m = 5. job 2 (( p21, p22, p23, p24 et p25).

L'axe des abscisses est reprsent par le job 1( p11, p12, p13, p14 et p15) et des ordonnes par le

Les zones hachures est une zone d'interdiction. La mme machine ne peut pas excuter deux tches en mme temps. Un ordonnancement est reprsent par le diagramme en traant une

ER

ligne de 0 ( 0, 0 ) (

U N

Un ordonnancement peut tre compos de segments de droites. i) horizontalement, reprsentant l'excution sur la tche 1 seulement. Verticalement, reprsentant l'excution de la tche 2 seulement ii)

Le flow shop dterministe

IV

SI

5 p1j , p 2 j ). j=1 j=1

TE

p11

SA

p21

p12

p22

p23

p13

Job 2

p24

p14

LA

p25

p15

86

D
Job1

BL

ID

Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali

iii)

A 45 oblique, reprsentant l'excution sur les deux machines.

Le maximum flowtime est : Cmax = 5

j=1 =

p1j + la somme des longueurs de segments verticaux

j=1

p2 j

+ la somme des longueurs de segments horizontaux.

Dfinition 1 : Une machine i domine la machine i + 1 si

machines i+1, .., i + l sont remplacs par une seule machine sur laquelle le temps d'excution

pij = pj / vi= i pj .

"Bottleneck machine".

Un ordonnancement est proportionn si p1j = p2j = ...= pmj = pj. Thorme 8 : Si la premire ( respectivement la dernire ) machine est de goulot dans un

flow shop proportionn avec des vitesses diffrentes alors LPT ( resp. SPT ) minimise le makespan.

Le flow shop dterministe

IV

ER

SI

Dfinition 2 : La machine avec la plus petite vitesse est appele "machine goulot" ou

TE

SA

Si la vitesse d'une machine i est vi alors le temps d'excution du job j sur la machine i est

j=1

p j + (m-1) max( p1,..., pn ) et il est indpendant de tout ordonnancement.

87

Thorme 7 : Pour Fm/ Prmu , pij = pj /Cmax , le makespan Cmax est gale

LA

est la somme des temps d'excution des l machines.

Thorme 6 : Si p i >d pi+1 >d ... >d pi+ l alors la squence optimale ne change pas si les

BL

On reprsente cette forme par p i >d pi+1 .

ID

Max p i + 1, j . Min p ij j { ,..., n} 1 j { ,..., n} 1

Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali

8. Flow shops avec des capacits intermdiaire de stockage limit [ Pin 95 ] On suppose que les capacits de stockage sont nulles entre les machines successives. Le phnomne de " blocage " peut se produire. Si une machine termine l'excution d'un job quelconque, le job ne peut pas aller la prochaine machine si elle est occupe mais reste sur la mme machine, d'o la notion de blocage de jobs. Le problme se note Fm/ block /Cmax . Lemme 2 : Si p(1)ij = p(2)m+1-i, j alors la squence j1, j2,..., jn dans le premier ordonnancement

L'algorithme pour rsoudre 1 / Sjk / Cmax avec Sjk = | ak - bj | s'utilise aussi pour F2/ block /Cmax et est de o(n2). Pour le problme Fm/ block , pij = pj /Cmax . si c'est un ordonnancement SPT-LPT. * Fm/ nwt /Cmax .( nwt : no-wait dsigne sans attente ) Thorme 10 : F3//Cmax est fortement NP-difficile. Aussi F m//Cmax est fortement NP-difficile ( m 3 ).

Thorme 9 : Un ordonnancement est optimal pour F2/ block, pij = pj / Cmax si et seulement Pour le cas de Fm/ block /Cmax l'heuristique PF ( Profile fitting ) est la plus usite .

Le flow shop dterministe

IV

ER

SI TE

SA A

88

LA

BL

ID

ordonnancement flow shop.

flow shop donne le mme makespan que la squence jn, jn-1,..., j1 dans le second