Vous êtes sur la page 1sur 13

# 0

5
10
15

Cmax = 34
20
25

&

'

&

'

&

'

&

'

&

'

&

'

&

'

&

'

&

'

&

'

&

'

&

&

'

'

&

'












































30

&

'

&

'

&

'

&

'

&

'

&

'

&

'





















%\$

%\$

\$

\$





























%\$

\$









"

"

"

"

"

"

"

"

"

"










"

"

"

"

"










## Permuatation scheduling for the flow shop problem.

4 machines, 5 jobs

jobs J1 J2 J3 J4 J5
p1,ji 5 5 3 6 3
p2,ji 4 4 2 4 4
p3,ji 4 4 3 4 1
p4,ji 3 6 3 2 5
A permutation schedule in which the jobs run in the order 1,2,3,4,5

M1

M2

M3

M4

35

0
5
10
15

Cmax = 36

20
25
30

'

'&

'

'&

'&

'&

'&

'&

'&

&

'&

'&

'&

'&

'&

'&

'&

&





35

'

'&

'&

'&

'&

'&

'&

'&

&



%\$

%\$

%\$

%\$

%\$

%\$

%\$

%\$

































%\$

%\$

%\$

%\$

















"

#
"

"

#
"

"

"

"

"

"

#
"





"

"

"

"

"












M1

M2

M3

M4

## Computing the completion times in a permutation schedule

Let Ci,jk be the completion time of the ith operation of job jk . Assume that the jobs run
in the order j1, . . . , jn, and go through the machines in order M1, . . . , Mm.

Ci,jk =

Pi

P`=1
k
`=1

if jk = j1
p`,j1
if i = 1
p1,j`
max(Ci1,jk , Ci,jk1 ) + pi,jk otherwise

A disjunctive graph
This is the graph associated with the permutation 1,2,3,4,5. The critical path in this
graph is the makespan associated with scheduling the jobs in the given order. The critical
path to any node is the completion time of that operation.
J5

 
 
  

J4

('( '((

 
 
 
4

 
 


 

 

#\$# ##\$
\$ \$
&%% %& &&

' '

M4

"!" !""

! !

 

 

  

 

 

 

 

M3

J3

M2

J2

 

M1

J1

## Computing the critical path

Pi

P`=1
k
`=1

p`,j1
if jk = j1
Ci,jk =
p1,j`
if i = 1
max(Ci1,jk , Ci,jk1 ) + pi,jk otherwise
In the graph, each nodes completion time is its processing time, plus the max completion
time of its predecesors (immediately above and immediately to the left).

 
 
  


21

 

 

 
 



  

22

 
 





27

23

27

27

28

#\$# ##\$
\$ \$
&%
%
&
% & &

24

19

16

 

 
6

J5

 

 

18

13

( (

M4

J4

(' ('

16

!"! !!"
" "

14

 

13

 
 
4

10

M3

 
 

M2

 
 

M1

 

J3

' '

J2

J1

29

34

Here are the critical edges. The blue numbers are the Ci,jk values. An edge between (i, jk )
and (i0, jk0 ) is critical if it was used to compute Ci0,jk0 , i.e.
Ci0,jk0 = Ci,jk + pi0,jk0
.

27

completion times

29

  

 


22

27



 
 
 
 
27

28

  


 

 

 

21

#\$# ##\$
\$ \$

24

23

 
 

( (

18

19

16

(' ('

J5

M4

14

13

16

 
 

J4

' '

13

 
 
4

10

 

M3

 
 

M2

!"! !!"
" "

M1

 
 

J3

J2

J1

34

27

29

  

 


22

27

## &%% %& &&



 
 
 
 
27

28

  


 

 

 

21

#\$# ##\$
\$ \$

24

23

 
 

( (

18

19

16

(' ('

J5

M4

14

13

16

 
 

J4

' '

13

 
 
4

10

 

M3

 
 

M2

!"! !!"
" "

M1

 
 

J3

J2

J1

34

In this graph, wed like to find the edges that are actually on a path from the source to
the sink. To do so, we can reverse all the edges in the graph and do a breadth first search.
Every edge traversed in this breadth first search is on a true critical path.

In this graph, wed like to find the edges that are actually on a path from the source to
the sink. To do so, we can reverse all the edges in the graph and do a breadth first search.
Every edge traversed in this breadth first search is on a true critical path. These are colored
red.

27

29

  




22

27



 
 
 
 
27

28

  


 

 

 

21

#\$# ##\$
\$ \$

24

23

 
 

( (

18

19

16

(' ('

J5

M4

14

13

16

 
 

J4

' '

13

 
 
4

10

 

M3

 
 

M2

!"! !!"
" "

M1

 
 

J3

J2

J1

34

0
5
10
15

20
25
30

'

&

'

'

&

'

&

'

&

'

&

'

&\$

'

&

'

&

'

&

'

&

'

&

'

&\$

'

&%\$

%\$

%\$

&%\$












































'

&

'

&

'

&

'

&

'

&

'

&\$

'

&%\$

%\$





















#"

"!

#"

"!





























#"

"!












M2




















## Blocking flow shop.

No intermediate storage. A job remains on its machine until the next machine is available.
For our example, and the permutation 1, 2, 3, 4, 5, we have the following schedule.
M1

M3

M4

35

## Computing the completion times in a blocking permutation schedule

Let Di,jk be the time that job jk departs machine i. (This is equal to the time that job jk
starts on machine i + 1. Assume that the jobs run in the order j1, . . . , jn, and go through
the machines in order M1, . . . , Mm.

Di,jk

Pi

`=1

p`,j1
if jk = j1
=
Dm1,jk + pm,jk
if i = m

## max(Di1,j + pi,j , Di+1,j

) otherwise
k
k
k1

In the graph, each nodes completion time can be computed by the formula above. The
path computation is a non-standard. For the down edges, you add the processing time, but
for the diagonal edges, you do not.

#\$# ##\$
\$ \$

28

27

departure times

30

   21

1
2
1 2 2

 
 

24

23

 


24

28

## &%% %& &&



 
 
4

20

30

  


 
18

 

/0/ //0
0 0

. .

.- .-

-  

20

 
 

24

14

( (

J5

(' ('

18

14

+,+ ++,
, ,

4

M4

14

10

16

 
 

J4

' '

13

10

 
 

 
 
4

 

M3

 
 

M2

!"! !!"
" "

M1

J3

J2

)*) ))*
* *

J1

35

A critical path can be computed. The critical edges are shaded in blue. The are the edges
from which the D values are actually computed. The computation of the critical path can
now procede as before.

#\$# ##\$
\$ \$

28

27

departure times

30

   21

1
2
1 2 2

 
 

24

24

 


24

28



 
 
4

20

30

  


 
18

 

/0/ //0
0 0

. .

.- .-

-  

20

 
 

24

14

( (

J5

(' ('

18

14

+,+ ++,
, ,

4

M4

14

10

16

 
 

J4

' '

13

10

 
 

 
 
4

 

M3

 
 

M2

!"! !!"
" "

M1

J3

J2

)*) ))*
* *

J1

35

Makespan is 40.
5
10
15
20
25
30
&

'

&

'

&

'

&

'

&

'

&

'

&

'

&

'

&

'

&

'

&

'

&

'

&

'

&

'













































35

&

'

&

'

&

'

&

'

&

'

&

'

&

'



























































"

#
"

"

#
"

"

"

"

"

"

#
"










"

"

"

"

"

M2


%
\$

%
\$











## No wait flow shop (Hot potato).

Once a job starts processing, it must not incur any idle time.
For our example, and the permutation 1, 2, 3, 4, 5, we have the following schedule.
M1

M3

M4