13
Heuristic Flow-Shop Scheduling to Minimize Sum of Job Completion Times Narayanasamy Sambandam Department of Industrial Engineering, Suresh P. Sethi Faculty of Management Studies, University of Toronto College of Engineering, Guindy, Madras, India Scheduling n jobs in an m machine flowshop is considered in order to minimize the sum of job completion times. Heuristic procedures for solving such problems are developed and the solutions are compared against optimal solutions for smaller size problems. For larger problems, solutions obtained by dijferent heuristics are compared against each other. All of the solutions are obtained using a n IBM Personal computer. Also addressed are the scheduling problems when jobs arrive at different times assumed to be deterministic. Flow-shop Scheduling problems form an important class of scheduling problems. These problems consider a set of n jobs for processing in an m-machine flow-shop where alljobs must follow the same processing order (identical routing). The choice of a schedule of these n jobs depends on the type of objective function to be dealt with. Several different objective functions such as minimization of the maximum flow time (makespan), the mean flow time, the maximum penalty, etc. are treated in the literature [4, 7, 171. The earliest analysis of a flow-shop problem was carried out by Johnson [ 113 in 1954. He solved the n-jobs, 2-machines problem with the objective of completing all the jobs at the earliest time (i.e., minimize makespan). Several other researchers have extended Johnson’s work to solve problems with more than two machines. Lageweg, et al. [ 141solved problems up to 20 jobs and 3 to 5 machines optimally using a branch and bound method. They, however, reported that the larger problem dimensions required a great deal of computational time to solve. In fact, their method was unable to solve half of the test problems (with 5 machines) within the one minute of CPU time allowed per problem on a Control Data Cyber 73-28. Campbell, et al. [3], Dannenbring [5] and Gupta [9] have developed heuristic programs with an aim to overcome computational difficulties especially for solving problems of practical dimensions. The flow-shop problems to minimize other than makespan objective 308 Can. J. Admin. Sci., Vol. 1, No. 2, pp. 308-320

Heuristic Flow-Shop Scheduling to Minimize Sum of Job Completion Times

Embed Size (px)

Citation preview

Page 1: Heuristic Flow-Shop Scheduling to Minimize Sum of Job Completion Times

Heuristic Flow-Shop Scheduling to Minimize Sum of Job Completion Times

Narayanasamy Sambandam Department of Industrial Engineering,

Suresh P. Sethi Faculty of Management Studies, University of Toronto College of Engineering, Guindy, Madras, India

Scheduling n jobs in a n m machine flowshop is considered in order to minimize the sum of job completion times. Heuristic procedures fo r solving such problems are developed and the solutions are compared against optimal solutions for smaller size problems. For larger problems, solutions obtained by dijferent heuristics are compared against each other. All of the solutions are obtained using a n IBM Personal computer. Also addressed are the scheduling problems when jobs arrive at different times assumed to be deterministic.

Flow-shop Scheduling problems form an important class of scheduling problems. These problems consider a set of n jobs for processing in an m-machine flow-shop where all jobs must follow the same processing order (identical routing). The choice of a schedule of these n jobs depends on the type of objective function to be dealt with. Several different objective functions such as minimization of the maximum flow time (makespan), the mean flow time, the maximum penalty, etc. are treated in the literature [4, 7, 171.

The earliest analysis of a flow-shop problem was carried out by Johnson [ 1 13 in 1954. He solved the n-jobs, 2-machines problem with the objective of completing all the jobs at the earliest time (i.e., minimize makespan). Several other researchers have extended Johnson’s work to solve problems with more than two machines. Lageweg, et al. [ 141 solved problems up to 20 jobs and 3 to 5 machines optimally using a branch and bound method. They, however, reported that the larger problem dimensions required a great deal of computational time to solve. In fact, their method was unable to solve half of the test problems (with 5 machines) within the one minute of CPU time allowed per problem on a Control Data Cyber 73-28. Campbell, et al. [3], Dannenbring [5] and Gupta [9] have developed heuristic programs with an aim to overcome computational difficulties especially for solving problems of practical dimensions.

The flow-shop problems to minimize other than makespan objective

308 Can. J. Admin. Sci., Vol. 1, No. 2, pp. 308-320

Page 2: Heuristic Flow-Shop Scheduling to Minimize Sum of Job Completion Times

function also exist in practice. Panwalker and Iskander [15] reported in their recent survey that in real-life the schedulers need to construct schedules that minimize a total cost which is a function of job completion times. Ignall and Schrage [ 101 addressed the flow-shop problems to mini- mize the mean job completion time. They used a branch and bound method to solve n-jobs, 2-machine problems. Recently, Bansal[2] extended this solution method for solving problems with more than two machines. His computational experience indicated the usefulness of the heuristic algorithms to solve larger problem sizes. Gupta [3] and Krone and Steiglitz [ 121 presented several heuristic methods for n-jobs, m-machines flow-shop problems to minimize the mean completion time.

In this paper, scheduling of n-jobs in an m-machine flow-shop environ- ment is discussed. The objective is to find a permutation schedule (i.e., with identical routing) that minimizes the sum ofjob completion times. First, we solve these problems assuming that all the jobs arrive simultaneously. Then we show that our solution method can easily be extended to handle problems with different job arrival times.

Before we develop the notation and our solution procedures, we should mention that the flow-shop scheduling problems are hard problems to solve optimally [6]. A brute force procedure to solve these problems is out of the question because even a small problem with n = 4 job and m = 5 machines have (n!)" = 7,962,624 different permutation schedules. In the language of computational complexity, the flow-shop problems with the objective of minimizing sum of completion times are NP-complete problems when the number of machines is two or more [6]. Loosely speaking, it means that the computational time required to solve these problems optimally increases more than polynomially as the size of these problems increases. Therefore, it becomes essential to develop heuristic or approxi- mate procedures in order to solve the flow-shop problems of practical dimensions.

In order to develop the solution procedures developed in this paper, we first define the notation in the following section and provide a typical example to fix the notation. Next the heuristic and the optimal solution methods for the n-jobs, m-machine flow-shop with simultaneous job arrival problems will be discussed. We then present the extension of these solution methods for the problems with different job arrival times. Finally, computational experiences are discussed to support the usefulness of our solution methods. We note that the largest problems we solve using our heuristic procedure are those with 50 jobs and 30 machines and with 100 jobs and 15 machines. We solve these problems on an IBM personal computer. Much larger problems can be solved on more powerful computers.

Notation N: set {1,2, ... , n} of n jobs M: an ordered set (1, 2, ... , m} of m machines

309

Page 3: Heuristic Flow-Shop Scheduling to Minimize Sum of Job Completion Times

I + I A

12 H

I I machine ( j - 1) w

A ( u i , j - 1 )

1 1 , 12

(11 and l2 are the last two jobs in a)

machine (j) H

A(oi , j)

FIGURE 1 Illustration of machine idle-time for ui

Inspection Milling Grinding and Lathe

Work + - Shipping I .

Pi,: processing time of job i € N on machine j E M T: a permutation of n jobs u: an ordered set ofjobs already scheduled; note that u can even be empty 6: a set of jobs not yet scheduled; note that u U 6 = N and u n 6 = +

ui: a job sequence in which i follows u t(u,j): completion time of u on machine j

ti,m: completion time of job i on the last machine m Z ( T ) : CiET ti,,,, i.e., the sum of the completion time for a permutation

schedule T.

Note that if hi denotes the holding cost ofjob i per unit time, then total holding cost will be given by XiEn hiti,,. Thus, Z ( T ) represents the total holding cost with hi = 1, i € N.

A(ui, j): idle-time of machine j when job i is processed after u (see Figure 1 for detail).

The flow-shop recursive formula is given by

t(ui, j) = Max [t(u, j); t(ui, j - l)] + Pi,,, j = 1, 2, ... , m (1)

with initial conditions t(ui, 0) = 0 = t(+, j). Similarly, the machine idle-time is given by

A(ui, j) = Max [t(ui, j - 1) - t(u, j); 01, j = 1, 2, ... , m. (2)

-b

A Typical Example The machine shop of the XYZ company receives raw castings of different types for machining work. Almost all of the parts are processed according to the following flow diagram. At present there are 8 jobs to be processed. The processing times Pi,, are given in the following matrix.

FIGURE 2 A dominant process flow diagram

310

Page 4: Heuristic Flow-Shop Scheduling to Minimize Sum of Job Completion Times

TABLE 1 Processing Time Matrix

Inspection and

Preparation Lathe Milling Grinding Shipping

1 8 5

10 3 1 3 2

6 2 3 8 6 7 3

10

This machine shop can be considered a flowshop with n = 8 and m = 5. We solve this problem by the SSH heuristic developed later in this paper. The heuristic method obtained the sequence IT = (5, 1 ,3 , 7 , 6 , 4 , 2 , 8) for which the sum of the completion times Z(T) = 19 + 23 + 29 + 37 + 39 + 44 + 53 + 67 = 31 1. Since this is a small problem, it is possible to use the optimization method described later to solve it. In this case, the optimal solution turns out to be the same as the one obtained by the heuristic method. We display the solution in Fig. 3 in the form of a Gantt Chart.

Machines Hours 0 10 20 30 40 50 60 70

Preparation PimntIwn

1nsp.Rhipping DBWOR U Job 1 Job2 Job3 J o b 4 Job5 Job6 Job7 Job8

m mmmmmn FIGURE 3 Gantt Chart for the XYZ Co. Machine Shop Schedule (5, 1 , 3, 7, 6 , 4 , 8, 2)

31 1

Page 5: Heuristic Flow-Shop Scheduling to Minimize Sum of Job Completion Times

Heuristic Methods Let us consider a partial schedule u and its complementary set 6. Now, we give a heuristic method to choose a job from 6 for processing after u. Selection of this job will be made on the basis of a dynamic dispatching index.

Let R(cri) be the dynamic dispatching index for job i C 6 when it is processed after u. We present two heuristic methods, heuristics SSH and GSH, in order to compute R(ui).

Heuristic (SSH) Step 1 : Consider a job i from 6. Step 2: Compute t(ui, j) using equation (1). Step 3: Compute A(ui, j) using equation (2). Step 4: Find R(ui) = EjE2 A(cri, j) + Pi,m. Step 5: Repeat steps 1 through 4 for all jobs in 6.

Now, we find a job i* such that

R(ui*) = min [R(ui)]. i C u

(3)

We then update u by including job i*. Notice i* is placed in (la1 + 1)th position of a permutation schedule, where 1u1 denotes the number ofjobs in the set u before updating.

The motivation for (3) is as follows. First, we note that there is no idle time on Machine 1. The first sum in R(ui), therefore, represents the sum of idle times on all of the machines as a result of placing i after u. The second term in the expression for R(ui) represents the processing time of job i on the last machine. Thus, R(ui) represents the total contribution of the placement of job i after u toward the sum of completion times, which we are interested in minimizing. It makes sense in (3), therefore, to choose i* on the basis of the minimum contribution toward the sum.

Steps 1 through 5 may be repeated until the set 6 becomes empty and cr gives a permutation schedule. Let no represent a job permutation given by the above repetition. Then we have

Z(IT0) = c ti,m. iCn0

Clearly, Z(IT') is a feasible solution and an upperbound on the optimal solution.

It may be noted in passing that the SSH heuristic can be easily adapted to the objective of the minimization of total holding cost. For this, we simply need to define

A(ui, j) + P i , m . j=2 1

312

Page 6: Heuristic Flow-Shop Scheduling to Minimize Sum of Job Completion Times

Heuristic (GSH) Gelders and Sambandam [7] obtained a dynamic dispatching index R(ui) while searching for a good permutation schedule minimizing the sum of the tardiness and holding costs. We modify this proposed procedure in order to minimize the sum of completion times objective function. The modified dispatching index is given as follows:

m

j=2 R(ui) = 1 A(ui, j)[A(ui, m) + Pi,,,,]. (4)

The heuristic (GSH) is obtained by replacing step 4 in the heuristic (SSH) by the following step:

Step 4: Find R(ui) using equation (4).

It should be noted that R(ui) of the GSH heuristic does not lend itself to a simple explanation like the one provided in the case of the SSH heuristic.

Proceeding in the same way as in SSH we obtain a permutation schedule IP. The corresponding value of the objective function is Z(IT") = Xicn- ti,m, which is also a feasible solution.

Optimization Method The flow-shop problems minimizing the sum of completion times have been proved to be very hard problems. However, our aim is to measure the strengths and weaknesses of the given heuristic methods by comparing their solutions with the optimal solutions. For this purpose, we find the optimal solution by a branch and bound method. We adopt the branching strategy proposed by Ignall and Schrage [lo] which is a back-tracing routine and the bounds are established using the procedure given in Bansal [2]. The back-tracing strategy is well presented in Baker [ 11 and will not be elaborated here. The lower bound on the sum of completion times of scheduling n jobs is established as follows.

Consider a node in the tree for which the lower bound is to be determined. For this node we have u, 6 and t(u, j), j C m. Let r( = 161) be the number of unscheduled jobs. Further, let il, ip, ... , ik, ... i, denote the order of y jobs on machine j such that

Define gJ as a lower bound on the sum of completion times of r jobs on machine j and it is given by

Y r m

k= 1 k = l l = j + l gJ = (r)t(u,j) + 1 (r - k + l)Pik,j + 1 C pik,,.

Then, the lower bound for the considered node is given by

LB(U u u) = C ti,m + max [gj~. iEo jCM

(7)

Notice that in equation (7) the first term of the right hand side gives the

313

Page 7: Heuristic Flow-Shop Scheduling to Minimize Sum of Job Completion Times

actual sum of completion times of a partial schedule and the second term represents an underestimate of the value of the sum of completion times of the set u. Although, an attempt is made to improve this value considering each machine in turn, it is not difficult to show that the completion time required to arrange the jobs in u as in equation (5) is considerably high.

Computational Experience The usefulness of heuristic methods basically are of two folds: 1. Heuristic solution can serve as an upper bound in the optimum

searching branch and bound procedures. Better upper bound helps to reduce the searching effort considerably.

2. Practical dimension problems may only require non-optimal schedules to be obtained in a reasonable computation time.

In this section we present the performance (quality of the solution) and computation time for the heuristics SSH and GSH.

We solved a total of 675 problems with various problem sizes. The results are summarized and shown in Tables 2, 3, and 4. For each problem, the processing time Pi, is randomly drawn from a uniform distribution between the interval 0 and 10.

Table 2 shows the computational results of 375 smaller problem sizes (25 problems solved in each size of nxm). Every problem is solved optimally by branch and bound method and by heuristics SSH and GSH. Then, we compute the percentage error as follows:

where Z(no) is the heuristic solution obtained by heuristic SSH or GSH and Z(n*) is the optimal solution.

We observe the following: The mean % error increases as the problem size increases in both methods SSH and GSH. Except for problem sizes 9 X 2,9 X 3 and 10 X 3, the SSH heuristic obtains solutions that are closer to the optimal solution than those obtained by the GSH heuristic. The number of solutions that are optimal decreases as the problem size increases in both methods. However, the number of solutions exceeding 5% error is considerably smaller in the case of GSH than that of SSH. Table 3 gives the time required to solve the problems optimally and heuristically. The optimum finding methods take considerably more time than the heuristic methods to solve a problem and the time increases rapidly as the problem size increases.

Table 4 shows ;he summary of computational results obtained for 300 larger size problems (30 problems solved in each size of n x m). Then, the percentage error is obtained as follows:

% error =

Where Z ~ n is the minimum of the solutions obtained by SSH and GSH.

Z(no) - Zmin

Zmin

~

3 14

Page 8: Heuristic Flow-Shop Scheduling to Minimize Sum of Job Completion Times

TAB

LE 2

Com

paris

on o

f Pe

rfor

man

ce o

f H

euris

tic M

etho

ds

Heu

ristic

SSH

H

euris

tic G

SH

# P

robl

ems

# P

robl

ems

Prob

lem

M

ean

Std.

Dev

. # P

robl

ems

# P

robl

ems

Mea

n St

d. D

ev.

Size

%

o

f%

Obt

aine

d Ex

ceed

ed

%

of%

O

btai

ned

Exce

eded

n

Xm

E

rror

E

rror

O

ptim

um

5% E

rror

E

rror

E

rror

O

ptim

um

5% E

rror

5x

4

5x

5

6x

4

6x

5

6x

6

7x

4

7x

5

7x

6

7x

7

8x

4

8x

5

8x

6

9x

2

9x

3

10 x

3

1.83

6 1.

570

2.41

2 2.

150

2.05

5 2.

864

2.81

6 1.

930

2.19

5 2.

841

2.37

0 2.

282

8.46

4 5.

112

5.12

2.11

3 2.

213

3.08

3 2.

061

3.30

4 3.

658

3.02

8 2.

038

2.31

3 1.

880

2.76

7 2.

143

5.43

0 3.

346

3.53

3

10

13 9 8 8 5 3 6 5 1 3 4 2 0 0

4 2 4 3 4 5 3 2 4 3 3 3 19 8 7

2.17

7 2.

312

2.42

9 2.

331

2.87

5 3.

017

2.66

2 2.

195

3.10

9 3.

867

3.13

0 3.

654

1.21

1 3.

062

2.65

6

2.9 1

3 3.

4 18

3.

739

2.68

0 3.

204

3.58

6 2.

888

2.66

4 2.

513

2.13

8 2.

664

3.70

7 1.

223

2.18

3 1.

670

11

13 9 6 7 5 4 7 2 0 0 4 6 3 1

5 3 3 4 5 8 3 3 7 6 4 7 0 5 1

Z(P

0) - Z

(P*)

Z(.rr

*)

% E

rror

=

x 10

0

Page 9: Heuristic Flow-Shop Scheduling to Minimize Sum of Job Completion Times

TABLE 3 Comparison of CPU* Time of the Optimal and Heuristic Methods

Optimal Method Heuristic Methods

Problem Time in HR:MIN:SEC Mean for Heuristics Size n X m Range Mean Time SSH or GSH (Sec)

5 x 4 5 x 5 6 x 4 6 x 5 6 x 6 7 x 4 7 x 5 7 x 6 7 x 7 8 x 4 8 x 5 8 x 6 9 x 2 9 x 3 10 x 3

00:32-01:23 00:34-01:54 01:02-04:55 01:20-06:16 01:14-08: 12 01:ll-19:26 01 :47-33:38 02:01-34:19 04:10-29:23 03:25-37: 16 02:55-1:36:56 08:lO-59:15

03:04-2:57:23 15:46-8:09:56

01:10-2:53:46

00:47 01:Ol 02:lO 03:13 03: 14 05:28 07:52 09:50 11:12 17:29 27:53 26:41 29: 15 37:21 2:Ol:lO

3 4 5 6 7 6 7 9

10 8 9

11 6 7 9

*IBM/Personal Computer/64WRAM.

TABLE 4 Comparison of Performance of Heuristic Methods

Heuristic SSH Heuristic GSH

Problem Mean Std. Dev. # Problems Mean Std. Dev. # Problems Solution Time Size % of % Obtained % of % Obtained Problem for n X m Error Error Minimum Error Error Minimum SSHorGSH

15 X 10 15 X 15 2 0 x 10 20x 15 30x 15 40 x 20 50 X 15 50 x 30 75 x 15 100 X 15

0.169 0.052 0.196 0.040 0.276 0.007 0.000 0.056 0.000 0.000

0.421 0.283 0.458 0.153 0.876 0.037 0.000 0.308 0.000 0.000

25 29 24 28 25 29 30 29 30 30

2.619 2.875 3.765 2.744 3.990 3.843 6.079 3.774 6.768 8.143

2.596 2.457 3.418 2.255 2.624 2.396 3.312 2.264 2.678 2.579

5 1 6 2 5 1 0 1 0 0

00:40 01:23 01:38 02:23* 05:10* 11:57* 13:57* 18:58 30:57* 37:30

*These computational times are obtained using a computer program containing additional input-output features.

TABLE 5 Arriving and Processing Times

Job i 1 2 3 4

Pi, 1 3 4 5 2 Pi.2 8 1 2 7

Ti 0 0 6 6

316

Page 10: Heuristic Flow-Shop Scheduling to Minimize Sum of Job Completion Times

The observation is that the performance of SSH is better than that of GSH. The computational time for both methods is about the same.

Our general recommendation is that on the smaller problem sizes the performances of both SSH and GSH are about the same. On the other hand, better performance on the larger size problems can be expected from SSH.

Job Arriving at Different Times So far, in this paper each of the n jobs was assumed to arrive and be ready for processing at the same time. In this section we discuss the extension of the SSH heuristic for the problems with different job arrival times.

Single machine (m = 1) scheduling problems with different job arrival times can be more efficiently solved by applying shortest remaining pro- cessing time (SRPT) rule (see pp. 67-69 of Conway et d. [4]). The optimal solution is obtained with the assumptions that job pre-emption and inserted- idleness are not allowed.

The objective of the n-jobs, m-machines flow-shop scheduling problem with different job arrival times is to find a permutation schedule that minimizes C (ti,m - Ti), (8)

iCN where N and ti,m are as defined earlier and ri 2 0 denotes the arrival time (or, release time) ofjob i. Notice that in (8) we minimize the sum of the flow times. However, this is equivalent to minimizing the sum of the completion times as the sum of the second term turns out to be a constant. Let u be the set of scheduled jobs (a partial permutation schedule) 1 be the last job in the ordered set u Otl,] be the set of available unscheduled jobs at time tl,I such that ri 5 tl,l,

where tl,] is the completion time ofjob 1 on machine 1. The following step-by-step method is an extension of the heuristic SSH

to solve the flow-shop problem with different job arrival times. Step I : Initialize such that u = 4 and Utl,] contains all the jobs satisfying the

condition q:6tl,l 5 t1.1~ where 1 = 0 and tl,l = 0. Step.2: Consider a job i from Ot1.]. Step 3: Compute t(ui, j) and A(ui, j) using equations (1) and (2)7 respectively,

f o r j = 1, 2, ... , m. Step 4 : Find R(ui) = Xg2 A(ui, j) + Pi,m. Step 5 : Repeat steps 2 through 4 for all jobs in kt,,,. Step 6: Find a job i* such that R(ui*) = minic6tl,l [R(ui)]. Step 7: Add job i* to u by scheduling it next to 1 and remove it from the set

If u contains n jobs then stop, otherwise go to step 8. Step 8: Set 1 = i*. Include unscheduled jobs, if any, in the set ktl.] for which

the release time ri is less than or equal to tl,l. Go to step 2. We now illustrate the usefulness of the above step-by-step method to

solve the following 4-jobs, 2-machines flow-shop problem with different job arrival time. The problem data are given in Table 5. The problem is to

317

Page 11: Heuristic Flow-Shop Scheduling to Minimize Sum of Job Completion Times

TAB

LE 6

Ite

rativ

e So

lutio

n fo

r the

Exa

mpl

e o

f Ta

ble

5

Step

s It

erat

ion

I It

erat

ion

I1

Iter

atio

n 11

1 It

erat

ion

IV

1 2 3 t(

l,l)

=3

,t(l

,2)=

llan

d

-

t(a3

, 1) =

12,

t(a3

,2) =

17

and

4

u =

4 8t

l., =

(1,2

1 =

I21,

6,,,,

= 11

1 fJ

= I2

, 11,

‘Ttl,

l = {

3,4)

=

{2,

1,31

, Bt,,

, = I4

1 Fo

r i =

1

-

For i

= 3

-

A(1

, 2) =

3

-

R(a

3) =

0 +

2 =

2

-

R(1

) = 3

+ 8

= 1

1 5

Rep

eatin

g st

eps 2

thro

ugh

4 fo

r -

Rep

eatin

g st

eps

2 th

roug

h 4

-

i = 2

we

get

t(2,

1) =

4, t

(2, 2

) = 5

A

(2,2

) = 4

and

R(2

) = 4

+ 1

= 5

we

find

i* =

2

-

A(a

3,2)

= 0

for i

= 4

we

get

t(a4

, 1) =

9, t

(a4,

2) =

22

A(a

4,2)

= O

and

R(u

4) =

0 +

7 =

7

and

we

find

i* =

3

i* =

4

6 R

(l) a

nd R

(2) a

re co

mpa

red

and

i* =

1

R(a

3) an

d R

(cr4

) are

com

pare

d

7 u

= {

2} an

d 6tl,l =

{ 1)

a =

{2,

1) a

nd

a =

(2, 1

,3} a

nd

= (4

) a

= (2

, 1,3

,4}

6.

= m

6,..

= b

. ST

OP

11.1

-

-L

II

7

8 1 =

2 a

nd n

o re

mai

ning

uns

ched

uled

jo

bs c

an b

e in

clud

ed in

set

6tl

.l

I = 1

and

6tl

.[ =

{3, 4

1 1

= 3

and

no j

ob c

an b

e ad

ded

in s

et e

tl,,

Page 12: Heuristic Flow-Shop Scheduling to Minimize Sum of Job Completion Times

find a permutation schedule of 4 jobs that minimizes the sum of completion times.

The solution of this example is obtained in four iterations and the out- come of each step of these iterations is summarized in Table 6. Notice that steps 2 through 5 are skipped in iterations I1 and IV for the simple reason that the computation of the dispatching index is unnecessary while the set gt,,, contains only one job.

In the step 7 of iteration IV, we obtain the feasible permutation schedule IT’ = 2 - 1 - 3 - 4 with the sum of the completion times Z(.rr”) = 5 + 15 + 17 + 24 = 61. We also solve this problem optimally by extending the optimal method discussed in the earlier section. The optimal solution for this example is Z(.ir*) = 61 and the corresponding schedule IT* = 2 - 1 - 3 - 4. The heuristic solution is also the optimal solution for this example. This is simply a coincidence.

Conclusion In this paper, we have developed a new heuristic to find a good schedule for the flow-shop problem with simultaneous arrival of jobs while the objective is to minimize the sum of the completion times. The new heuristic SSH outperformed the heuristic methods discussed in the literature. We also extended the heuristic SSH for solving the flow-shop problems with different job arrival times. An illustrative example is solved using the proposed heuristic method.

The programming of the SSH heuristic is fairly straightforward. Our heuristic program is in BASIC and is run on an IBM Personal Computer. We have solved problems with 50 jobs and 30 machines and with 100 jobs and 15 machines in a reasonable amount of computer time.

References [ 11 Baker, R.R. Introduction to Sequencing and Scheduling, Wiley, N.Y., (1974). [2] Bansal, S.P. “Minimizing the Sum of Completion Times of n Jobs Over m

Machines in a Flow-Shop - A Branch and Bound Approach,” AIIE Transactions, Vol. 9, No. 3, pp. 306-311, (1977).

[3] Campbell, H.G., Dudek, R.A. and Smith, M.L. “A Heuristic Algorithm for the n Job, m Machine Sequencing Problem,” Management Science, Vol. 16, B-630, (1970).

[4] Conway, R.W., Maxwell, W.L., and Miller, L.W. Theory of Scheduling, Addison-Wesley, (1967).

[5] Dannenbring, D.G. “An Evaluation of Flow-Shop Sequencing Heuristics,” Management Science, Vol. 23, pp. 1174-1 182, (1977).

[6] Garey, M.R., Johnson, D.S. and Sethi, R. “The Complexity of Flow-Shop and Job Shop Scheduling,” Mathematics of Operations Research, Vol. 1 , pp. 1 17-129, (1976).

[7] Gelders, L.F. and Sambandam, N. “Four Simple Heuristics for Scheduling a Flow-Shop,” The InternutionalJournal of Production Research, Vol. 16, No. 3, pp.

[8] Graves, S.C. “A Review of Production Scheduling,” Operations Research, Vol. 221-231, (1978).

29, NO. 4, pp. 646-675, (1981).

Page 13: Heuristic Flow-Shop Scheduling to Minimize Sum of Job Completion Times

[9] Gupta, J.N.D. “Heuristic Algorithms for Multistage Flow-Shop Scheduling

[ 101 Ignal, E. and Schrage, L. “Application of the Branch and Bound Technique to Problems,” AZIE Transactions, Vol. 4, pp. 11-18, (1972).

Some Flow-Shop Scheduling Problems,” Operations Research, Vol. 13, pp. 400-412, (1965).

[ 1 13 Johnson, S.M. “Optimal Two- and Three-Stage Production Schedules with Setup Times Included,” NaualRes. Logist. Quart., Vol. 1 , pp. 61-68, (1954).

[12] Krone, M.J. and Steiglitz, K. “Heuristic Programming Solution of a Flow-Shop Scheduling Problem,” Operations Research, Vol. 22, pp. 629-638, (1974).

[13] Lenstra, J.K., Rinnooy Kan, A.H.G. and Brucker, P. “Complexity of Machine Scheduling Problems,” Annals Discrete Mathematics, Vol. 1 , pp. 343-362, (1977).

[ 141 Lageweg, B.J., Lenstra, J.K. and Rinnooy Kan, A.H.G. “A General Bounding Scheme for the Permutation Flow-Shop Problem,” Operations Research, Vol. 26, pp. 53-67, (1978).

[ 151 Panwalker, S.S. and Iskander, W. “A Survey of Scheduling Rules,” Operations

[ 161 Szwarc, W. “Permutation Flow-Shop Theory Revised,” Naval Res. Logist.

[ 171 Townsend, W. “Minimizing the Maximum Penalty in the Two-Machine

Research, Vol. 25, pp. 45-61, (1977).

Quart., Vol. 26, pp. 557-570, (1978).

Flow-Shop,’’ Management Science, Vol. 24, pp. 230-234, (1977).

RCsum6 On etudie l’ordonnancement de n tLhes dans un atelier comportant m machines, dans le but de minimiser le temps total de production. Des methodes heuristiques sont proposees. Lorsque les problemes sont de petite taille, les solutions heuristiques sont comparees aux solutions optimales; lorsqu’ils sont de plus grande taille, elles sont comparees les unes aux autres. Dans tous les cas, on utilise un ordinateur personnel de marque IBM. On Ctudie Cgalement les problemes d’ordonnancernent lorsque les intervalles qui separent les arrivees des t2ches sont de caractere deterministe.

320