15
Scheduling flowshops with finite buers and sequence- dependent setup times Bryan A. Norman* Department of Industrial Engineering, University of Pittsburgh, 1033 Benedum Hall, Pittsburgh, PA 15261, USA Abstract In this paper we explore flowshop scheduling problems containing both sequence-dependent setup times and finite buers. To the best of our knowledge, problems containing both of these complexities have not been addressed previously in the literature. The problem is clearly NP-hard and therefore we only consider heuristic solution methods. We propose a tabu search based solution procedure. Computational results demonstrate the eectiveness of this approach relative to the other methods discussed. # 1999 Elsevier Science Ltd. All rights reserved. Keywords: Flowshop; Buers; Sequence-dependent setup times 1. Introduction In this paper we examine flowshop scheduling problems where there are finite buers and sequence-dependent setup times. In a flowshop with m machines, each job consists of m operations that must be completed on the m machines and each job follows the same machine routing sequence. In a flowshop, the earliest start time for operation k of job i, denoted e ik , is e ik maxfC i,k1 , C j,k g where C i,k 1 denotes the completion time of job i on machine k 1 and j is the job that precedes i on machine k. One setting that exhibits the flowshop structure is a chemical processing facility. Chemical processing often has a flowshop structure where each job must visit a set of processing tanks, referred to as reactors, and all of the jobs have the same routing Computers & Industrial Engineering 36 (1999) 163–177 0360-8352/99/$ - see front matter # 1999 Elsevier Science Ltd. All rights reserved. PII: S0360-8352(99)00007-8 * Tel.: +1-412-624-9841; fax: +1-412-624-9831. E-mail address: [email protected] (B.A. Norman)

Scheduling flowshops with finite buffers and sequence-dependent setup times

Embed Size (px)

Citation preview

Page 1: Scheduling flowshops with finite buffers and sequence-dependent setup times

Scheduling ¯owshops with ®nite bu�ers and sequence-dependent setup times

Bryan A. Norman*

Department of Industrial Engineering, University of Pittsburgh, 1033 Benedum Hall, Pittsburgh, PA 15261, USA

Abstract

In this paper we explore ¯owshop scheduling problems containing both sequence-dependent setuptimes and ®nite bu�ers. To the best of our knowledge, problems containing both of these complexitieshave not been addressed previously in the literature. The problem is clearly NP-hard and therefore weonly consider heuristic solution methods. We propose a tabu search based solution procedure.Computational results demonstrate the e�ectiveness of this approach relative to the other methodsdiscussed. # 1999 Elsevier Science Ltd. All rights reserved.

Keywords: Flowshop; Bu�ers; Sequence-dependent setup times

1. Introduction

In this paper we examine ¯owshop scheduling problems where there are ®nite bu�ers andsequence-dependent setup times. In a ¯owshop with m machines, each job consists of moperations that must be completed on the m machines and each job follows the same machinerouting sequence. In a ¯owshop, the earliest start time for operation k of job i, denoted eik, is

eik � maxfCi,kÿ1, Cj,kgwhere Ci,kÿ1 denotes the completion time of job i on machine k ÿ 1 and j is the job thatprecedes i on machine k. One setting that exhibits the ¯owshop structure is a chemicalprocessing facility. Chemical processing often has a ¯owshop structure where each job mustvisit a set of processing tanks, referred to as reactors, and all of the jobs have the same routing

Computers & Industrial Engineering 36 (1999) 163±177

0360-8352/99/$ - see front matter # 1999 Elsevier Science Ltd. All rights reserved.

PII: S0360-8352(99 )00007-8

* Tel.: +1-412-624-9841; fax: +1-412-624-9831.E-mail address: [email protected] (B.A. Norman)

Page 2: Scheduling flowshops with finite buffers and sequence-dependent setup times

through the reactors. A second characteristic of chemical processing facilities is that there are®nite bu�ers between the reactors. After a job completes on a given reactor it must be pumpedto either the next reactor in the sequence or to a storage tank located between the tworeactors. The number of storage tanks is limited by physical space requirements and theinvestment required to purchase the tanks. Consider the example shown in Fig. 1. After a jobcompletes processing in reactor A it must be pumped to either reactor B or to storage tank 1.Due to physical constraints, storage tanks 2 and 3 cannot be used as a bu�er between reactorsA and B but only as a bu�er between reactors B and C. If both the next reactor in thesequence and all of the storage tanks are unavailable then a job must remain in its currentreactor. Jobs that encounter this condition are referred to as blocked jobs. In addition to theblocking constraint imposed by the ®nite bu�ers, chemical processing also has sequence-dependent setup times between the jobs. Let i and i+1 be two successive jobs in the sequenceand let m and m+1 be two successive reactors. After i completes on m and has been moved toeither m+1 or to a storage tank that is located between m and m+1, m must be cleaned outbefore it can process i+1. The time required to cleanout m to prepare for i+1 variesdepending on the values of m, i, and i+1. The cleanout time for a pair of jobs will vary for agiven reactor depending on the similarity of the processing characteristics of the two jobs forthat reactor. The earliest start time expression can be modi®ed to include these cleanout timesand becomes

eik � maxfCi,kÿ1, Cj,k � ri,j,kg

where ri,j,k represents the time needed to cleanout reactor k after it has processed job j in orderto prepare to process job i.The remaining discussion pertains to problems with the ¯owshop structure, ®nite bu�ers,

and sequence-dependent cleanout times. We also make the six assumptions listed below.

1. There is only one of each type of reactor.2. Each reactor can only process one job at a time.3. The con®guration of the reactors and storage tanks is given.4. There is a known set of jobs to be processed and we know the processing time required at

each of the reactors and the cleanout times associated with each pair of jobs for eachreactor.

5. The reactors are continuously available.6. The objective is to determine a job sequence that minimizes the makespan or completion

time of the last job in the sequence.

Fig. 1. Example tank con®guration.

B.A. Norman / Computers & Industrial Engineering 36 (1999) 163±177164

Page 3: Scheduling flowshops with finite buffers and sequence-dependent setup times

We note that in many chemical processing applications the batch size is also a variable.However, we are assuming the batch size is given.We restrict the solution space to the set of schedules where the job sequence is the same for

all of the reactors. Schedules of this type are referred to as permutation schedules. Thisassumption has been made in much of the prior research concerning ¯owshop scheduling andthroughout the remainder of this paper we limit the discussion to permutation ¯owshops. InSection 2 we review the literature for related problems. Section 3 provides our proposedsolution methodologies. Section 4 contains computational results for three di�erent solutionprocedures. Section 5 gives our conclusions and recommendations for further research.

2. Literature review

Flowshop scheduling to minimize the makespan has received considerable attention in theliterature; see Ref. [2] or Ref. [27] for a summary. These ¯owshops are generally inmanufacturing settings where we have machines rather than reactors. Therefore, in theremaining discussion in this paper we will use the terms machine and reactor interchangeablyto refer to a resource that is required to complete an operation. We discuss previous researche�orts for the permutation ¯owshop problem with both unlimited and ®nite bu�ers betweenthe machines. We also consider prior research on the ¯owshop problem with sequence-dependent setup times. We begin by considering the traditional operations research literatureand then consider the relevant chemical engineering literature.Johnson's [9] algorithm provides an optimal solution to the two machine ¯owshop problem

when the objective is to minimize the makespan, there is unlimited bu�er storage between thetwo machines, and there are no sequence-dependent setup times. However, the three machineversion of this basic problem is known to be NP-hard [6]. The m machine version of thisproblem is denoted Fm/prmu/Cmax using the notation of [27]. Due to the di�culty of the mmachine version of this ¯owshop problem a number of heuristic methods have been proposedand are described below.Two of the better constructive heuristics for the ¯owshop scheduling problem are the

methods described in Refs. [5,20]. Nawaz, Enscore and Ham [20] propose an insertionheuristic. Initially, they order the jobs based on their total processing time. Using this order,insert the jobs one at a time into the sequence such that if job i is the kth job to enter thesequence look at the k+1 sequences that can result from inserting i into each possible positionin the current sequence. Evaluate each of these partial sequences and retain the one with thesmallest makespan and then examine the possible insertions for job i+1. Campbell, Dudek andSmith [5] construct m ÿ 1 arti®cial problems where in arti®cial problem k, each job has aprocessing time on machine one equal to the sum of the processing times for the ®rst kmachines and a processing time on the second machine equal to the sum of the processingtimes of the last k machines. This two machine problem is sequenced using Johnson's rule andthe resulting sequence is used for the m machine problem.Recently, general search techniques have been applied to the Fm/prmu/Cmax problem. Two

of these methods, simulated annealing and tabu search, both begin with an initial incumbent

B.A. Norman / Computers & Industrial Engineering 36 (1999) 163±177 165

Page 4: Scheduling flowshops with finite buffers and sequence-dependent setup times

sequence and de®ne a neighborhood of sequences that are similar to the incumbent sequence.The two methods then search this neighborhood, although in di�erent ways, and determine anew incumbent solution. Simulated annealing is tested by Refs. [23±25]. Applications of tabusearch are investigated in Refs. [22,31,33,35]. Tabu search is described in more detail in Section3 and for additional information on simulated annealing see Ref. [31]. A third method, geneticalgorithms, uses a di�erent neighborhood concept to search for good solutions. The generalidea is to work with a population of incumbent solutions and combine elements of thesesolutions to ®nd improved solutions. For a detailed description of genetic algorithms see Ref.[18] and for application to scheduling problems see Refs. [21,32]. All three general searchmethods have proven to be e�ective search strategies although the results in Ref. [32] indicatethat tabu search and genetic algorithms may be more e�ective than simulated annealing. Tabusearch and genetic algorithms provide better solutions than any of the construction heuristicmethods [22,31,33]. However, there is a time versus solution quality trade-o� since theconstructive heuristics are generally much faster.Zero bu�er and no-wait ¯owshop problems have been studied by a number of authors.

These two problems are equivalent for the two machine case but not for problems with morethan two machines. Wismer [36] demonstrates that the two machine problem could beformulated as a traveling salesperson problem and solved using techniques that have beenspecially developed for that problem. However, these methods are not readily applicable to them machine case. Therefore, heuristic methods are proposed by [11,17,29]. These heuristicmethods utilize two main ideas. One is to index the jobs and use the Nawaz, Enscore and Haminsertion procedure. Di�erent indexing methods are used that re¯ect the bu�er constraints, forexample the method of [29]. A second method is to determine which jobs have good pro®les or®ts so that idle time on the machines is minimized [17]. The speci®c pro®ling method of [17] isexplained in detail in Section 3.1.The ®nite bu�er problem, with bu�ers greater than zero, has also received attention in the

literature. Papadimitriou and Kanellakis [26] demonstrate that the two machine problem with a®nite non-zero bu�er is NP-complete. Note that the ®nite bu�er problem can be modeled as azero bu�er problem. This is because each unit of storage bu�er may be modeled as a machineat which each job has a processing time of zero. Thus, one solution approach is to utilize zerobu�er heuristic methods. Another approach is to utilize a heuristic that considers the bu�ers indetermining a sequence. Leisten [16] presents a method that seeks to keep the bu�ers ®lled inorder to avoid starving the machines. This method is described in more detail later. He alsopresents modi®cations to several of the heuristics that were originally applied to the unlimitedbu�er problem which permit them to be applied to the ®nite bu�er problem. It is also possibleto modify the pro®ling concept of [17] to include non-zero bu�ers in determining the pro®le.Flowshops with sequence-dependent setup times have also been addressed in the literature.

Gupta [8] demonstrates the NP-completeness of the problem and suggests viewing the problemas a traveling salesperson problem and applying heuristic methods to solve it. See Allahverdi etal. [1] for a literature review on ¯owshop scheduling problems with sequence-dependent setuptimes.There has also been work done in the chemical engineering literature concerning batch

scheduling of ¯owshops. In many instances math programming formulations have beendeveloped. However, these methods cannot be e�ectively applied to the problem described in

B.A. Norman / Computers & Industrial Engineering 36 (1999) 163±177166

Page 5: Scheduling flowshops with finite buffers and sequence-dependent setup times

Section 1. For example, the objective in the math programming formulations of a ¯owshopproblem with ®nite bu�ers found in Refs. [3,4,28] is to ®nd the minimum cycle time for a cyclicor long-term schedule. The authors note that their formulations would not be as e�cient forthe makespan problem described in Section 1. In Ref. [19] alternative math programmingformulations for the ®nite bu�er ¯owshop are developed, but the authors only solve smallinstances (fewer than 10 batches) for the makespan objective. Other researchers have proposedalternative math programming and rule-based heuristics [12±14]. However, these methodseither become too ine�cient for larger problems (more than 30 batches) or do not consider thesame problem constraints that are presented in Section 1.

3. Proposed solution methodologies

The permutation ¯owshop scheduling problem to minimize the makespan without sequence-dependent cleanout times and ®nite bu�er capacities is NP hard as discussed in Section 2.Therefore, we only consider heuristic solution methods for the more complex problem withsequence-dependent cleanout times and ®nite bu�ers. We propose two solution methodologies.The ®rst is to use constructive heuristics and to combine them with a greedy improvementheuristic. The second is to use a tabu search methodology in order to ®nd optimal or nearoptimal solutions to these problems.

3.1. Constructive heuristics

We consider three di�erent methods to construct sequences that will serve as a basis forcomparison with the tabu search. Because no prior research has considered the ¯owshopproblem with both ®nite bu�ers and sequence-dependent cleanout times we chose heuristicsthat had previously been applied to problems with ®nite bu�ers and modi®ed them to includethe sequence-dependent cleanout times.The ®rst construction heuristic is based on the BFPSE method of Leisten [16]. Leisten

originally applied the method to the ¯owshop problem for minimizing makespan when thereare ®nite bu�ers but no setup times. The idea is to construct two sequences, a startingsequence and an ending sequence. After placing all of the jobs into one of these two sequencesthe ending sequence is appended to the starting sequence to provide the ®nal sequence. Jobsare selected for placement in a manner that seeks to keep the bu�ers full. If the bu�ers arekept full then the machine following the bu�er will always have work to do and will not bestarved. However, if the bu�er between machines m and m+1 is completely full then jobs onmachine m will be blocked. This may create undesirable idle time that will increase the overallmakespan. For a two machine problem two values would be calculated for each job iremaining to be scheduled. Let bij represent the size of the bu�er between two machines i andj, let Ck,l represent the completion time of job k on machine l in the starting sequence, let C 'k,lrepresent the completion time of job k on machine l in the ending sequence and let N representthe set of unscheduled jobs. Then the two calculated values are

pstart�i� � jC�iÿb12ÿ1�,2 ÿ Ci,1j

B.A. Norman / Computers & Industrial Engineering 36 (1999) 163±177 167

Page 6: Scheduling flowshops with finite buffers and sequence-dependent setup times

and

pend�i� � jC 0�i�b12�1� ÿ C 0i,2jand min(pstart(i ), pend(i )) is minimized over all i $ N. If the minimum is reached for a pstart(i )value then append job i to the end of the start sequence, otherwise place it at the beginning ofthe end sequence. This method can be extended to more than two machines using the methodof [15]. While this method was not originally proposed for the problem with sequence-dependent cleanout times it can be applied to this problem if we utilize the sequence-dependentcleanout information in calculating the completion times Ci,j and C 'i,j.The second construction heuristic uses the Nawaz, Enscore and Ham (NEH) [20] insertion

method. Because this is a general insertion method it can be applied to the problem with ®nitebu�ers and sequence-dependent cleanout times by simply using the bu�er and cleanoutinformation when evaluating the partial schedules at each stage. We use the sum of totalprocessing time to determine the order in which jobs entered the schedule. This type ofapproach was suggested by [10] for the ¯owshop problem with ®nite bu�ers but all cleanouttimes equal to zero.The third method is the pro®le heuristic of [17]. This method builds a schedule one job at a

time by selecting job i to be next in the schedule if scheduling i next results in the smallestincrease in the total idle time across all of the machines. This method was originally applied toa ®nite bu�er problem in a cyclic production environment but can be modi®ed to includesequence-dependent cleanout times by including them in the schedule evaluation. Let k be thelast job in the current partial schedule and N the set of unscheduled jobs. Then the pro®le forjob i, Pro®lei, is determined by

Profilei �Xmj�1�Cij ÿ Ckj � ÿ

Xmj�1

tij,

where Cij is the completion time of job i on machine j if it follows the current partial scheduleending with job k. The job j with the minimum pro®le is scheduled next, where

j � argmini2NfProfilei g:

This method explicitly considers the bu�er constraints and the cleanout times in selecting jobs.We run this method n times letting each job be the ®rst job in the sequence and take the bestof the n schedules to be the ®nal schedule.Note that all three of these methods can be combined with a greedy procedure to improve

the ®nal schedule resulting from the heuristic. Details of this greedy heuristic are presented inSection 4.2.

3.2. Tabu search

We begin with a general overview of tabu search and then discuss speci®c aspects of ourtabu search. Glover and Laguna [7] provide an overview of tabu search and discussapplications to a number of di�erent operations research problems. A tabu search begins with

B.A. Norman / Computers & Industrial Engineering 36 (1999) 163±177168

Page 7: Scheduling flowshops with finite buffers and sequence-dependent setup times

an initial seed solution and improves the solution through a series of iterations. At eachiteration, this method investigates a neighborhood of solutions that are similar to the currentsolution. Each of these neighbors di�ers from the current solution by a move. For example, ifthe seed sequence is abcd then one of the neighboring sequences would be bacd if theneighborhood of moves comprised all adjacent pairwise interchanges of jobs in the currentsolution. It is possible to de®ne di�erent neighborhoods based on di�erent de®nitions of amove. In each iteration of the tabu search the entire neighborhood, or part of theneighborhood if the neighborhood is very large, is explored and the neighboring solutions areranked based on solution quality. The algorithm then moves to the best neighboring solutionunless the move required to do that is tabu. A move is tabu if the same move has been made inthe preceding tabu_list_length iterations. The tabu_list_length is determined empirically, butoften a value in the range of 7±15 works well. The list of tabu moves is updated during eachiteration of the algorithm.The tabu search does not necessarily follow a path with monotonic improvement. This leads

to one strength of tabu search Ð its ability to escape from local optima. If an incumbentsolution is a local minimum this implies that the search will move to a solution with anobjective function value that is worse than the incumbent's. If the search enters a localminimum through a series of moves it will have to leave that local minimum using a di�erentset of moves and thus continue to explore new regions of the search space.Because the procedure does not know if it has hit a global minimum rather than a local

minimum, the procedure can be terminated by either limiting the maximum number ofiterations or limiting the maximum number of iterations without improvement in the bestsolution found. There are a number of possible modi®cations that can be made to the tabusearch procedure (see [7,31]) but most of these are not explored in this research.We now provide details on the speci®c tabu search procedure, TS, implemented for the

¯owshop problem with sequence-dependent setup times and ®nite bu�ers. The neighborhoodfor our tabu search comprises all insertion moves of a single job from the current solution.Thus, each sequence of jobs has O(n 2) neighbors, because each job i can be moved from itscurrent position and inserted into nÿ 1 other locations in the sequence. Consider the followingfour job example. If the current sequence is abcd then a could be removed from the sequenceand placed after b, c or d resulting in bacd, bcad and bcda, respectively. To search thisneighborhood we use the e�cient implementation of [33]. We modify Taillard's method toaccommodate the ®nite bu�ers and sequence-dependent cleanout times.It is possible to de®ne other neighborhoods for this problem. For example, the

neighborhood could be de®ned as all pairwise exchanges of two jobs in the sequence. However,preliminary testing indicated that the insertion neighborhood previously described was a goodchoice and therefore we limit our investigation to this neighborhood structure.In our implementation, a move records the job i that was just moved to location j in the job

sequence to create the new incumbent solution. A move that would require job i to return toposition j is considered tabu if a member of the tabu list has i as the inserting job and j as theinserting location. This prevents the search from cycling between the same set of solutions. Weutilize a tabu_list_length that ranges dynamically from 5 to 15.TS only searches a fraction of the entire neighborhood in the manner of [30] and selects the

best move that is not tabu. The fraction is dynamic throughout the search and ranges from

B.A. Norman / Computers & Industrial Engineering 36 (1999) 163±177 169

Page 8: Scheduling flowshops with finite buffers and sequence-dependent setup times

0.15 to 0.35. Ties are broken by choosing the move that has not been made most recently. Inaddition, we use the simple aspiration criterion that if a tabu move results in a sequence with amakespan that is less than the best known up to that point the tabu move is permitted.We permit a maximum of 15 restarts for TS. If TS performs 200�n iterations without an

improvement in the best solution, then it returns to the current best solution and is forced totake a di�erent search direction.Finally, we initialize TS with the best solution found by NEH. This serves to reduce the

running time of TS relative to using a random initial starting solution.

4. Computational results

Computational testing was conducted on a large suite of test problems. We randomlygenerated these problems because there is no existing test suite for the ¯owshop problem with®nite bu�ers and sequence-dependent setup times. For all of the problems, the processing timesof the operations for each reactor were set equal to the values found in the test suite of¯owshop problems developed by [34] where the processing times are drawn from a U(1, 100)distribution. Within the test suite, we varied four problem characteristics: number of jobs,number of reactors, bu�er con®guration and cleanout times. We tested problems with 20, 50,100 and 200 jobs and 5, 10 and 20 reactors. Three sets of sequence-dependent cleanout timeswere tested where the cleanout times were drawn from either a U(1, 10), a U(1, 20) or a U(1,50) distribution. This was done to determine what a�ect cleanout times of di�erent magnitudehad on the di�erent solution procedures. Two di�erent types of bu�er con®gurations weretested. The ®rst required that the bu�ers between all of the reactors were equal in size. For thisbu�er con®guration three bu�er sizes were tested: all bu�ers equal to 0, all bu�ers equal to 2and all bu�ers equal to 5. The second bu�er con®guration permitted di�erent bu�er sizesbetween the di�erent reactors. For this con®guration, for each combination of number of jobs,number of reactors, and cleanout times, we generated one random bu�er allocation where eachbu�er was uniformly distributed between 0 and 2, representing a case where all of the bu�ersare small in size, and one random bu�er allocation where each bu�er was uniformlydistributed between 0 and 5, representing a case where some of the bu�ers could be relativelylarge. For all 180 combinations of number of jobs, number of reactors, bu�er con®gurationsand cleanout types, ®ve problem instances were generated. This resulted in a total of 900problem instances.Unfortunately, due to the size and complexity of these problems it is not possible to

determine provably optimal solutions for them. Moreover, tight lower bounds cannot bedetermined readily because the combination of blocking, that results from the ®nite bu�ers,and the asymmetric cleanout times yields a problem for which it is di�cult to establish goodlower bounds. Simple bounds based on summing the processing time on each reactor ordetermining a bottleneck reactor are not tight even for small problems. Since we cannotcompare our results for the problems in the test suite with known optimal solutions ormeaningful lower bounds, in the remainder of this section we make comparisons with the bestsolution that we found for each problem instance.We tested three general procedures on the problems found in the test suite. The ®rst

B.A. Norman / Computers & Industrial Engineering 36 (1999) 163±177170

Page 9: Scheduling flowshops with finite buffers and sequence-dependent setup times

Table 1Results for test problems with U(0, 10) setup timesa

Bu�er=0 Bu�er=2 Bu�er=5 Bu�er uniformly distributed from 0

to 5

Bu�er uniformly distributed from 0

to 2

TS NEH

w/o

greedy

NEHG PRO

w/o

greedy

PROG TS NEH

w/o

greedy

NEHG PRO

w/o

greedy

PROG TS NEH

w/o

greedy

NEHG PRO

w/o

greedy

PROG TS NEH

w/o

greedy

NEHG PRO

w/o

greedy

PROG TS NEH

w/o

greedy

NEHG PRO

w/o

greedy

PROG

20 Jobs, 5 machines 1.000 1.055 1.009 1.060 1.017 1.000 1.044 1.005 1.090 1.024 1.000 1.044 1.005 1.085 1.029 1.000 1.039 1.005 1.083 1.028 1.000 1.039 1.007 1.090 1.028

20 Jobs, 10 machines 1.000 1.048 1.004 1.103 1.031 1.000 1.052 1.007 1.127 1.043 1.000 1.052 1.011 1.122 1.041 1.000 1.047 1.004 1.118 1.047 1.000 1.046 1.006 1.125 1.042

20 Jobs, 20 machines 1.000 1.038 1.003 1.085 1.037 1.000 1.024 1.006 1.104 1.047 1.000 1.023 1.007 1.113 1.047 1.000 1.034 1.005 1.101 1.043 1.000 1.034 1.007 1.104 1.041

50 Jobs, 5 machines 1.000 1.077 1.036 1.045 1.028 1.000 1.031 1.016 1.057 1.031 1.000 1.032 1.019 1.063 1.037 1.000 1.048 1.021 1.062 1.035 1.000 1.035 1.019 1.058 1.035

50 Jobs, 10 machines 1.000 1.071 1.033 1.068 1.040 1.000 1.048 1.022 1.095 1.051 1.000 1.046 1.025 1.101 1.057 1.000 1.084 1.035 1.081 1.052 1.000 1.065 1.032 1.108 1.067

50 Jobs, 20 machines 1.000 1.064 1.027 1.084 1.059 1.000 1.047 1.023 1.116 1.071 1.000 1.049 1.027 1.127 1.076 1.000 1.055 1.029 1.144 1.091 1.000 1.051 1.031 1.152 1.081

100 Jobs, 5 machines 1.000 1.071 1.047 1.024 1.018 1.000 1.030 1.021 1.026 1.015 1.000 1.032 1.022 1.031 1.022 1.000 1.053 1.029 1.036 1.027 1.000 1.039 1.024 1.029 1.021

100 Jobs, 10 machines 1.000 1.075 1.048 1.047 1.036 1.000 1.036 1.022 1.065 1.045 1.000 1.036 1.028 1.087 1.059 1.000 1.072 1.042 1.072 1.054 1.000 1.053 1.040 1.062 1.049

100 Jobs, 20 machines 1.000 1.056 1.030 1.057 1.042 1.000 1.040 1.024 1.118 1.089 1.000 1.040 1.026 1.132 1.102 1.000 1.061 1.037 1.121 1.095 1.000 1.053 1.037 1.128 1.098

200 Jobs, 5 machines 1.002 1.071 1.054 1.006 1.003 1.000 1.025 1.014 1.016 1.012 1.000 1.031 1.021 1.028 1.023 1.000 1.054 1.032 1.013 1.009 1.000 1.031 1.019 1.016 1.012

200 Jobs, 10 machines 1.000 1.066 1.047 1.011 1.007 1.000 1.029 1.020 1.027 1.022 1.000 1.028 1.022 1.044 1.037 1.000 1.057 1.041 1.041 1.035 1.000 1.037 1.028 1.034 1.029

200 Jobs, 20 machines 1.000 1.049 1.032 1.012 1.007 1.000 1.031 1.019 1.065 1.053 1.000 1.028 1.020 1.096 1.080 1.000 1.052 1.038 1.069 1.061 1.000 1.044 1.033 1.094 1.077

a Each cell represents the average deviation from the best known solution for ®ve problem instances with the same characteristics.

Table 2Results for test problems with U(0, 20) setup timesa

Bu�er=0 Bu�er=2 Bu�er=5 Bu�er uniformly distributed from 0

to 5

Bu�er uniformly distributed from 0

to 2

TS NEH

w/o

greedy

NEHG PRO

w/o

greedy

PROG TS NEH

w/o

greedy

NEHG PRO

w/o

greedy

PROG TS NEH

w/o

greedy

NEHG PRO

w/o

greedy

PROG TS NEH

w/o

greedy

NEHG PRO

w/o

greedy

PROG TS NEH

w/o

greedy

NEHG PRO

w/o

greedy

PROG

20 Jobs, 5 machines 1.000 1.060 1.003 1.077 1.023 1.000 1.038 1.007 1.090 1.031 1.000 1.039 1.009 1.090 1.030 1.000 1.052 1.004 1.086 1.026 1.000 1.053 1.009 1.090 1.034

20 Jobs, 10 machines 1.000 1.042 1.004 1.103 1.030 1.000 1.047 1.007 1.110 1.035 1.000 1.047 1.010 1.109 1.039 1.000 1.052 1.006 1.111 1.033 1.000 1.054 1.008 1.115 1.041

20 Jobs, 20 machines 1.000 1.029 1.002 1.093 1.040 1.000 1.036 1.005 1.119 1.044 1.000 1.035 1.005 1.117 1.045 1.000 1.033 1.003 1.096 1.043 1.000 1.037 1.009 1.115 1.044

50 Jobs, 5 machines 1.000 1.092 1.041 1.046 1.032 1.000 1.053 1.028 1.061 1.037 1.000 1.056 1.029 1.068 1.045 1.000 1.061 1.027 1.054 1.033 1.000 1.055 1.029 1.065 1.040

50 Jobs, 10 machines 1.000 1.071 1.035 1.067 1.044 1.000 1.058 1.030 1.086 1.058 1.000 1.056 1.034 1.097 1.064 1.000 1.072 1.032 1.076 1.051 1.000 1.066 1.035 1.097 1.059

50 Jobs, 20 machines 1.000 1.060 1.022 1.084 1.052 1.000 1.051 1.030 1.127 1.079 1.000 1.052 1.030 1.120 1.075 1.000 1.062 1.030 1.133 1.091 1.000 1.058 1.033 1.143 1.090

100 Jobs, 5 machines 1.000 1.074 1.042 1.046 1.036 1.000 1.048 1.031 1.024 1.016 1.000 1.046 1.040 1.039 1.029 1.000 1.063 1.034 1.042 1.032 1.000 1.048 1.030 1.037 1.026

100 Jobs, 10 machines 1.000 1.053 1.033 1.056 1.044 1.000 1.047 1.028 1.064 1.046 1.000 1.052 1.037 1.083 1.061 1.000 1.063 1.041 1.065 1.052 1.000 1.059 1.044 1.071 1.059

100 Jobs, 20 machines 1.000 1.068 1.039 1.027 1.020 1.000 1.047 1.031 1.113 1.088 1.000 1.042 1.033 1.126 1.101 1.000 1.061 1.036 1.111 1.088 1.000 1.054 1.038 1.123 1.101

200 Jobs, 5 machines 1.004 1.063 1.048 1.002 1.001 1.001 1.036 1.025 1.015 1.010 1.000 1.042 1.034 1.029 1.023 1.000 1.057 1.039 1.016 1.012 1.001 1.046 1.028 1.016 1.012

200 Jobs, 10 machines 1.000 1.062 1.045 1.016 1.011 1.000 1.036 1.025 1.024 1.020 1.000 1.039 1.033 1.045 1.038 1.000 1.053 1.039 1.043 1.035 1.000 1.044 1.035 1.038 1.033

200 Jobs, 20 machines 1.000 1.049 1.032 1.011 1.008 1.000 1.036 1.026 1.079 1.061 1.000 1.036 1.028 1.107 1.087 1.000 1.047 1.038 1.066 1.060 1.000 1.045 1.032 1.093 1.080

a Each cell represents the average deviation from the best known solution for ®ve problem instances with the same characteristics.

B.A.Norm

an/Computers

&Industria

lEngineerin

g36(1999)163±177

171

Page 10: Scheduling flowshops with finite buffers and sequence-dependent setup times

Table 3Results for test problems with U(0, 50) setup timesa

Bu�er=0 Bu�er=2 Bu�er=5 Bu�er uniformly distributed from 0

to 5

Bu�er uniformly distributed from 0

to 2

TS NEH

w/o

greedy

NEHG PRO

w/o

greedy

PROG TS NEH

w/o

greedy

NEHG PRO

w/o

greedy

PROG TS NEH

w/o

greedy

NEHG PRO

w/o

greedy

PROG TS NEH

w/o

greedy

NEHG PRO

w/o

greedy

PROG TS NEH

w/o

greedy

NEHG PRO

w/o

greedy

PROG

20 Jobs, 5 machines 1.000 1.059 1.006 1.075 1.022 1.000 1.052 1.010 1.076 1.029 1.000 1.053 1.016 1.075 1.027 1.000 1.072 1.012 1.071 1.027 1.000 1.072 1.014 1.072 1.024

20 Jobs, 10 machines 1.000 1.040 1.003 1.090 1.027 1.000 1.063 1.010 1.097 1.036 1.000 1.062 1.012 1.103 1.038 1.000 1.052 1.007 1.099 1.038 1.000 1.053 1.009 1.103 1.041

20 Jobs, 20 machines 1.000 1.031 1.005 1.076 1.032 1.000 1.041 1.007 1.115 1.050 1.000 1.041 1.007 1.115 1.052 1.000 1.035 1.006 1.094 1.042 1.000 1.034 1.007 1.100 1.046

50 Jobs, 5 machines 1.000 1.078 1.038 1.050 1.038 1.000 1.080 1.042 1.058 1.038 1.000 1.083 1.049 1.057 1.037 1.000 1.085 1.044 1.065 1.044 1.000 1.088 1.045 1.059 1.037

50 Jobs, 10 machines 1.000 1.066 1.032 1.064 1.040 1.000 1.069 1.039 1.084 1.055 1.000 1.071 1.041 1.088 1.056 1.000 1.066 1.032 1.070 1.046 1.000 1.067 1.038 1.087 1.057

50 Jobs, 20 machines 1.000 1.062 1.025 1.072 1.045 1.000 1.055 1.032 1.108 1.067 1.000 1.051 1.033 1.105 1.064 1.000 1.053 1.026 1.108 1.078 1.000 1.058 1.032 1.122 1.078

100 Jobs, 5 machines 1.000 1.071 1.044 1.027 1.020 1.000 1.084 1.052 1.031 1.024 1.000 1.083 1.058 1.032 1.025 1.000 1.078 1.051 1.051 1.044 1.000 1.074 1.052 1.043 1.032

100 Jobs, 10 machines 1.000 1.062 1.039 1.037 1.032 1.000 1.061 1.041 1.056 1.042 1.000 1.074 1.049 1.064 1.049 1.000 1.068 1.042 1.054 1.044 1.000 1.066 1.046 1.063 1.051

100 Jobs, 20 machines 1.000 1.051 1.031 1.042 1.033 1.000 1.052 1.037 1.097 1.074 1.000 1.056 1.041 1.113 1.081 1.000 1.056 1.036 1.099 1.079 1.000 1.060 1.042 1.103 1.082

200 Jobs, 5 machines 1.000 1.061 1.044 1.005 1.003 1.002 1.065 1.047 1.012 1.006 1.001 1.071 1.057 1.015 1.011 1.000 1.065 1.049 1.019 1.015 1.000 1.072 1.051 1.015 1.010

200 Jobs, 10 machines 1.000 1.059 1.040 1.013 1.011 1.000 1.052 1.040 1.021 1.016 1.000 1.060 1.050 1.036 1.031 1.000 1.058 1.044 1.036 1.029 1.000 1.058 1.047 1.039 1.035

200 Jobs, 20 machines 1.000 1.041 1.031 1.042 1.017 1.000 1.046 1.033 1.058 1.046 1.000 1.044 1.037 1.072 1.059 1.000 1.055 1.067 1.055 1.047 1.000 1.050 1.038 1.073 1.060

a Each cell represents the average deviation from the best known solution for ®ve problem instances with the same characteristics.

B.A.Norm

an/Computers

&Industria

lEngineerin

g36(1999)163±177

172

Page 11: Scheduling flowshops with finite buffers and sequence-dependent setup times

procedure utilized construction heuristics alone. The second procedure added a greedyimprovement procedure to the construction heuristics. The third procedure was the tabusearch. We now present results for each of these methods. In the remainder of this section, theresults for a given set of problem characteristics (e.g. 20 jobs, 20 machines, all bu�ers equal to0 and cleanout times drawn from a U(1, 10) distribution) represent the average results acrossthe ®ve problem instances that were generated with that speci®c set of problem characteristics.The test problem results are presented in Tables 1±3.

4.1. Construction heuristics

Initially, we tested Leisten's BFPSE heuristic, NEH, and the pro®le heuristic (PRO) withoutany improvement procedures. Preliminary testing indicated that Leisten's BFPSE heuristicperformed much poorer than either NEH or PRO. Therefore, we did not test Leisten'sheuristic on the entire suite of test problems but focused on only the NEH and pro®leheuristics.NEH had deviations from the best known solution that ranged from 2.3 to 9.2%, depending

on the problem con®guration and averaged 5.3%. PRO had deviations from the best knownsolution that ranged from 0.2 to 15.2% depending on the problem con®guration and theaverage deviation from optimal was 7.2%. From these results it is apparent that NEH hadbetter average and worst case performance than PRO if we consider the test suite as a wholeand look across all combinations of the problem characteristics. However, while PRO has alarger average deviation from the best known solution it also has more variability in itsperformance depending on the problem characteristics. As a result, for the problems wherePRO performed well, primarily the problems with all bu�ers equal to zero, it provided verygood solutions. Some of these solutions are only 0.2% above the best known solution which issigni®cantly better than the best NEH results.It is also interesting to consider which problem characteristics a�ect the performance of the

two heuristics. A review of the data in Tables 1±3 indicates that the average performance ofNEH is pretty consistent across the di�erent numbers of jobs, machines and cleanout times.Bu�er con®guration is only signi®cant if all the bu�ers are equal to zero. This case proved tobe more di�cult for NEH to solve e�ectively. The performance of NEH was consistent acrossthe remaining bu�er con®gurations. The performance of PRO varied considerably dependingon the problem characteristics. Bu�er size had the most signi®cant e�ect on PRO. This methoddoes much better, relatively, when the bu�ers are zero or small. Performance also variesconsiderably with the number of machines. The best results are clearly for the 5 machine caseand diminish as the number of machines increases to 20. PRO is relatively insensitive to thenumber of jobs but does slightly better when there are a large number of jobs. The range ofthe cleanout time values seems to have little impact on PRO.

4.2. Constructive heuristics with greedy improvement

A second general solution approach explored adding a greedy improvement procedure toeach of the heuristics. The greedy procedure took the best solution found by each heuristic as a

B.A. Norman / Computers & Industrial Engineering 36 (1999) 163±177 173

Page 12: Scheduling flowshops with finite buffers and sequence-dependent setup times

seed and then used the insertion idea described in Section 3 to ®nd the best neighboringsolution. This process was repeated until no more improvement was possible. The greedymethod was run several times for both NEH and PRO using di�erent seed solutions for thegreedy search. For NEH, the order in which jobs entered the schedule was randomized insteadof only ordering the jobs based on their total processing time. This change results in di�erent®nal sequences which could be used to seed the greedy search. PRO was modi®ed in a di�erentmanner to provide di�erent seeds for the greedy heuristic. At each step of the pro®le procedurethe job which resulted in the best pro®le was not necessarily the next job placed in theschedule. Rather, one of the top three pro®les and its corresponding job was selected using arank based preference where the best pro®le received a weight of 9, the second best received aweight of 4 and the third best received a weight of 1. This resulted in di�erent runs of PROproviding di�erent seed solutions for the greedy heuristic.The greedy improvement procedure signi®cantly improved the quality of the solutions found

for both NEH and PRO. Across the entire test suite, NEH in conjunction with the greedyimprovement (NEH-G) found solutions that were on average 2.3% above the best knownsolution. This represents a signi®cant improvement over the 5.3% average deviation of NEHalone. Likewise, the overall minimum deviation from the best known solution was reducedfrom 2.3% for NEH to 0.2% for NEH-G and the worse case deviation was reduced from 9.2to 6.7% above the best known solution. Similar improvements resulted for PRO where PROcombined with the greedy improvement procedure (PRO-G) reduced the average deviationfrom the best known solution from 7.2 to 4.3%, the minimum deviation from 0.2 to 0.1%, andthe maximum deviation from 15.2 to 10.2%.The performance of both NEH-G and PRO-G varied depending on the characteristics of a

given problem instance. The performance of NEH-G was a�ected more than NEH by problemcharacteristics. NEH-G found consistently better solution for the problems with only 20 jobsas opposed to those with 50, 100 or 200 jobs. This is not too surprising since the smallerproblems have smaller search spaces which increases the likelihood that the greedy procedurecan ®nd a good solution. NEH-G was insensitive to the number of machines. NEH-G was alsorelatively insensitive to the magnitude of the cleanout times although its performance wasslightly worse for the problems with the largest cleanout times. As was the case with NEH,NEH-G had more di�culty with the problems with all bu�ers equal to zero. NEH-Gperformed equally well on the other bu�er con®gurations. PRO-G exhibited the samevariations in performance with respect to problem characteristics as PRO did. PRO-Gperformed slightly better, relative to the other methods, when there was a large number of jobs(i.e. 200), poorer on problems with a large number of machines, was insensitive to themagnitude of the cleanout times, and performed best on the zero bu�er case.

4.3. Tabu search

The third solution methodology was the tabu search procedure, TS, discussed in Section3.2. The tabu search procedure was clearly the best of the three solution approaches withregard to the quality of the solutions found. Considering all of the problems in the test suite,the tabu search clearly had the best overall minimum, average and maximum deviations

B.A. Norman / Computers & Industrial Engineering 36 (1999) 163±177174

Page 13: Scheduling flowshops with finite buffers and sequence-dependent setup times

from the best known solution. The average deviation was less than 0.1%, the maximumdeviation was 0.4% and the minimum deviation was 0.0%. The tabu search was robust andprovided good solutions across the entire range of problem characteristics. For all of theproblem con®gurations with 20, 50 and 100 jobs the tabu search solution found the bestknown solution to each problem instance. For the 200 job problems there were a fewproblem instances, all with ®ve machines and most with zero, two or fewer bu�ers, wherethe tabu search did not ®nd the best known solution. However, even for these problems theperformance of the tabu search was still quite good (less than 0.4% above the best knownsolution on average).Compared speci®cally with PRO-G and PRO-H, TS ®nds solutions that are 2.6±5.4% better

on average for problems with 50, 100 or 200 jobs (combining all machine, cleanout and bu�ercombinations). For the problems with only 20 jobs, the solutions found by TS are on average0.7% better than those found by NEH-G and 3.5% better than those found by PRO-G.Comparing the results from TS with the best result found by either NEH-G or PRO-G for

each problem instance indicates that TS is on average 0.7, 3.0, 3.2 and 2.0% better for the 20,50, 100 and 200 job instances, respectively. A paired t-test indicates that these results arestatistically signi®cant with a P-value less than 0.0001 for all four problem sizes. Thiscomparison between TS and the best of all of the other methods strengthens the claim that TSprovides a superior solution approach for these problems.We now discuss the computation time requirements for each of the solution procedures.

All computation times re¯ect C coded implementations on a Sun Sparc 20. The computationtimes of the construction heuristics were quite fast. Using the NEH implementation of [33],NEH could solve problems with 200 jobs and 20 reactors in less than 3 s of computationtime. PRO was slower and required up to 16 s to solve the problems with 200 jobs and 20reactors. Adding the greedy improvement procedure to each heuristic increased thecomputation time from a few seconds up to a couple of minutes for certain instances of the200 job and 20 reactor problems. The tabu search took less than 30 s for the smallerproblems but could take around 60 min for the largest problems. To help ensure that thecomparison between NEH-G and PRO-G and TS was as fair as possible, all three methodswere given the same amount of computation time for the problems. Thus, the number ofgreedy heuristic seeds for NEH-G and PRO-G was increased for the problems with morejobs and more machines.TS clearly provided the best solutions when computation times were permitted to grow for

the biggest problems. However, it is interesting to note that TS also had the best overallaverage solutions after only 5 min of computation time. We only present comparisons for the100 and 200 job problems because none of the 20 job problems and very few of the 50 jobproblems required 5 min of CPU time. On average, after 5 min of computation time TS was3.3% better than NEH-G and 5.2% better than PRO-G for the 100 job problems and 3.8%better than NEH-G and 2.3% better than PRO-G for the 200 job problems. Even with the 5-min CPU limit, there were no instances where NEH found a better solution than TS. Therewere a few 200 job instances where PRO-G was slightly better than TS, as much as 1.1%, butPRO-G was as much as 8.9% worse than TS for other instances and TS was better on averageas previously noted. These results clearly indicate that TS is a good choice even if there islimited time with which to determine the schedule.

B.A. Norman / Computers & Industrial Engineering 36 (1999) 163±177 175

Page 14: Scheduling flowshops with finite buffers and sequence-dependent setup times

5. Conclusions and future research

Flowshop scheduling problems containing both sequence-dependent cleanout times and ®nitebu�ers represent a di�cult class of problems. To solve them we propose a tabu search heuristicprocedure that is capable of ®nding very good solutions for problems with up to 200 jobs and20 machines or reactors. The tabu search ®nds solutions that are consistently better than thosefound using constructive heuristic methods combined with greedy improvement. This held trueacross all combinations of numbers of jobs and machines, bu�er con®gurations and cleanouttimes. These results also held true if the computation time was limited to as little as ®veminutes. Overall, tabu search appears to be an e�ective method for solving ¯owshopscheduling problems with ®nite bu�ers and sequence-dependent cleanout times.There are several possible extensions to this work that will be explored in future research.

One is to investigate nonpermutation schedules and determine how much impact this wouldhave on the makespan values. If a job is placed in an intermediate storage tank there is noreason that a di�erent job could not move ahead of it in the sequence for the remainingreactors. A second extension is to relax assumption 1 and determine a good intermediatestorage tank con®guration. This includes two di�erent scenarios. In the ®rst, we could explorethe trade-o� that exists between increasing the number of intermediate storage tanks andreducing the makespan. An e�cient frontier could be established for this bicriteria problem.This could be used to aid decision makers in weighing the increased cost of adding storagetanks versus the value of increased capacity in the processing line. In the second scenario, thestorage tanks would be portable to a limited extent and could be arranged periodically tofacilitate the processing of subsequent jobs. Recon®guring the tanks takes time and incurscosts, so the recon®guration might occur only on an infrequent basis.

References

[1] Allahverdi A, Gupta JND, Aldowaisan T. A review of scheduling research involving setup considerations.Omega, in press.

[2] Baker K. Elements of sequencing and scheduling. Hanover, NH: Amos Tuck School of BusinessAdministration, Dartmouth College, 1995.

[3] Birewar DB, Grossmann IE. Incorporating scheduling in the optimal design of multiproduct batch plants.

Computers and Chemical Engineering 1989;13:141±61.

[4] Birewar DB, Grossmann IE. E�cient optimization algorithms for zero-wait scheduling of multiproduct batchplants. Industrial and Engineering Chemistry Research 1989;28:1333±45.

[5] Campbell HG, Dudek RA, Smith ML. A heuristic algorithm for the n job m machine sequencing problem.Management Science 1970;16:B630±637.

[6] Garey MR, Johnson DS, Sethi R. The complexity of ¯owshop and jobshop scheduling. Mathematics of

Operations Research 1976;1:117±29.

[7] Glover F, Laguna M. Tabu Search. Kluwer Academic Publishers, 1997.

[8] Gupta JND. Flowshop schedules with sequence-dependent setup times. Journal of the Operations Research

Society of Japan 1986;29:206±19.

[9] Johnson SM. Optimal two and three-stage production schedules with setup times included. Naval ResearchLogistics Quarterly 1954;1:61±8.

[10] Karabati S, Kouvelis P. Cyclic scheduling in ¯ow lines: modeling observations, e�ective heuristics and a cycletime minimization procedure. Naval Research Logistics 1996;43:211±31.

B.A. Norman / Computers & Industrial Engineering 36 (1999) 163±177176

Page 15: Scheduling flowshops with finite buffers and sequence-dependent setup times

[11] King JR, Spachis AS. Heuristics for ¯owshop scheduling. International Journal of Production Research1980;18:343±57.

[12] Kondili E, Pantelides CC, Sargent RWH. A general algorithm for short-term scheduling of batch operations. I.MILP formulation. Computers and Chemical Engineering 1993;17:211±27.

[13] Kondili E, Pantelides CC, Sargent RWH. A general algorithm for short-term scheduling of batch operations.

II. Computational issues. Computers and Chemical Engineering 1993;17:229±44.[14] Kudva G, Elkamel A, Pekny JF, Reklaitis GV. Heuristic algorithm for scheduling batch and semicontinuous

plants with production deadlines, intermediate storage limitations and equipment changeover costs. Computers

and Chemical Engineering 1994;18:859±75.[15] Lawler EL, Lenstra JK, Rinnooy Kan AHG. Recent developments in deterministic sequencing and scheduling:

a survey. In: Dempster MAH, Lenstra JK, Rinnooy Kan AHG, editors. Deterministic and stochastic schedul-

ing: Proceedings of the NATO Advanced Study and Research Institute on Theoretical Approaches toScheduling Problems. Dordrecht: Reidel, 1982.

[16] Leisten R. Flowshop sequencing problems with limited bu�er storage. International Journal of ProductionResearch 1990;28:2085±100.

[17] McCormick ST, Pinedo ML, Shenker S, Wolf B. Sequencing in an assembly line with blocking to minimizecycle time. Operations Research 1989;37:925±36.

[18] Michalewicz Z. Genetic algorithms+data structures=evolution programs. 2nd ed. Springer-Verlag, 1994.

[19] Kim M, Jung JH, Lee I. Optimal scheduling of multiproduct batch processes for various intermediate storagepolicies. Industrial and Engineering Chemistry Research 1996;35:4058±66.

[20] Nawaz M, Enscore EE, Ham I. A heuristic algorithm for the m-machine, n-job ¯ow-shop sequencing problem.

Omega 1983;11:91±5.[21] Norman BA Random keys genetic algorithm for complex scheduling problems. Ph.D. thesis, Department of

Industrial and Operations Engineering, University of Michigan, Ann Arbor, 1995.

[22] Nowicki E, Smutnicki C. A fast tabu search algorithm for the ¯ow shop problem. Report 8/94. Institute ofEngineering Cybernetics, Technical University of Wroclaw, 1993.

[23] Ogbu FA, Smith DK. The application of the simulated annealing algorithm to the solution of the n/m/Cmax

¯owshop problem. Computers and Operations Research 1990;17:243±53.

[24] Ogbu FA, Smith DK. Simulated annealing for the permutation ¯ow-shop problem. Omega 1991;19:64±7.[25] Osman IH, Potts CN. Simulated annealing for permutation ¯ow-shop scheduling. Omega 1989;17:551±7.[26] Papadimitriou CH, Kanellakis PC. Flowshop scheduling with limited temporary storage. Journal of the

Association for Computing Machinery 1980;27:533±54.[27] Pinedo M. Scheduling theory, algorithms, and systems. Prentice-Hall, 1995.[28] Pinto JM, Grossmann IE. Optimal cyclic scheduling of multistage continuous multiproduct plants. Computers

and Chemical Engineering 1994;18:797±816.[29] Rajendran C. A no-wait ¯owshop scheduling heuristic to minimize makespan. Journal of the Operational

Research Society 1994;45:472±8.[30] Reeves C. Improving the e�ciency of tabu search for machine sequencing problems. Journal of the Operational

Research Society 1993;44:375±82.[31] Reeves C, editor. Modern heuristic techniques for combinatorial problems. Blackwell Scienti®c Publishing,

1993.

[32] Reeves C. A genetic algorithm for ¯owshop scheduling. Computers and Operations Research 1995;22:5±13.[33] Taillard E. Some e�cient heuristic methods for the ¯ow shop sequencing problem. European Journal of

Operational Research 1990;47:65±74.

[34] Taillard E. Benchmarks for basic scheduling problems. European Journal of Operational Research1993;64:278±85.

[35] Widmer M, Hertz A. A new heuristic method for the ¯ow shop sequencing problem. European Journal of

Operational Research 1989;41:186±93.[36] Wismer DA. Solution of ¯owshop scheduling problem with no intermediate queues. Operations Research

1972;20:689±97.

B.A. Norman / Computers & Industrial Engineering 36 (1999) 163±177 177