a scatter search approach to sequence-dependent setup times

21
International Journal of Production Research Vol. 47, No. 18, 15 September 2009, 5217–5236 A scatter search approach to sequence-dependent setup times job shop scheduling Andrew Manikas a * and Yih-Long Chang b a University of Wisconsin-Oshkosh, Oshkosh, WI, USA; b The College of Management, Georgia Institute of Technology, Atlanta, GA, USA (Received 26 June 2007; final version received 4 October 2007) Scheduling jobs on multiple machines is a difficult problem when real-world constraints such as the sequence setup time, setup times for jobs and multiple criteria are used for solution goodness. It is usually sufficient to obtain a near- optimal solution quickly when an optimal solution would require days or weeks of computation. Common scheduling heuristics such as Shortest Processing Time can be used to obtain a feasible schedule quickly, but are not designed for multiple simultaneous objectives. We use a new meta-heuristic known as a scatter search (SS) to solve these types of job shop scheduling problems. The results are compared with solutions obtained by common heuristics, a tabu search, simulated annealing, and a genetic algorithm. We show that by combining the mechanism of diversification and intensification, SS produces excellent results in a very reasonable computation time. The study presents an efficient alternative for companies with a complicated scheduling and production situation. Keywords: operations management; operations planning; operations strategy; operational research; production management; production modelling; production planning; quality management; scheduling; manufacturing systems 1. Introduction Scheduling work in a resource constrained environment can be a difficult problem to solve. As the number of machines and the number of jobs to be scheduled on those machines increase the problem can become very time consuming to optimise. A good compromise would be a method that finds near-optimal solutions to these complex problems, but in a much shorter time frame. Heuristics are rule-based procedures that are often employed to solve these problems. However, common heuristics such as Shortest Processing Time (SPT) and Earliest Due Date (EDD) find solutions quickly but are not designed for real- world complexities such as sequence-dependent setup times and multiple objectives. New hybrid and intelligent searching methods have recently been developed to solve these complex problems. For example, Manikas and Chang (2007) and Cheung and Zhou (2001) show that a genetic algorithm (GA) provides good results when solving these types of problems. *Corresponding author. Email: [email protected] ISSN 0020–7543 print/ISSN 1366–588X online ß 2009 Taylor & Francis DOI: 10.1080/00207540701805646 http://www.informaworld.com

Upload: miiguel-almazan

Post on 17-Dec-2015

4 views

Category:

Documents


0 download

DESCRIPTION

ejemplo de paper

TRANSCRIPT

  • International Journal of Production ResearchVol. 47, No. 18, 15 September 2009, 52175236

    A scatter search approach to sequence-dependent setup timesjob shop scheduling

    Andrew Manikasa* and Yih-Long Changb

    aUniversity of Wisconsin-Oshkosh, Oshkosh, WI, USA; bThe College of Management, GeorgiaInstitute of Technology, Atlanta, GA, USA

    (Received 26 June 2007; final version received 4 October 2007)

    Scheduling jobs on multiple machines is a difficult problem when real-worldconstraints such as the sequence setup time, setup times for jobs and multiplecriteria are used for solution goodness. It is usually sufficient to obtain a near-optimal solution quickly when an optimal solution would require days or weeksof computation. Common scheduling heuristics such as Shortest Processing Timecan be used to obtain a feasible schedule quickly, but are not designed formultiple simultaneous objectives. We use a new meta-heuristic known as a scattersearch (SS) to solve these types of job shop scheduling problems. The results arecompared with solutions obtained by common heuristics, a tabu search, simulatedannealing, and a genetic algorithm. We show that by combining the mechanism ofdiversification and intensification, SS produces excellent results in a veryreasonable computation time. The study presents an efficient alternative forcompanies with a complicated scheduling and production situation.

    Keywords: operations management; operations planning; operations strategy;operational research; production management; production modelling; productionplanning; quality management; scheduling; manufacturing systems

    1. Introduction

    Scheduling work in a resource constrained environment can be a difficult problem to solve.As the number of machines and the number of jobs to be scheduled on those machinesincrease the problem can become very time consuming to optimise. A good compromisewould be a method that finds near-optimal solutions to these complex problems, but in amuch shorter time frame. Heuristics are rule-based procedures that are often employed tosolve these problems. However, common heuristics such as Shortest Processing Time(SPT) and Earliest Due Date (EDD) find solutions quickly but are not designed for real-world complexities such as sequence-dependent setup times and multiple objectives. Newhybrid and intelligent searching methods have recently been developed to solve thesecomplex problems. For example, Manikas and Chang (2007) and Cheung and Zhou (2001)show that a genetic algorithm (GA) provides good results when solving these types ofproblems.

    *Corresponding author. Email: [email protected]

    ISSN 00207543 print/ISSN 1366588X online

    2009 Taylor & FrancisDOI: 10.1080/00207540701805646

    http://www.informaworld.com

  • In many manufacturing environments, the sequence of jobs run on a particularmachine affects the setup times. One of the present authors had the opportunity to work ata sheet metal fabricator in 1991 where the job shop environment had machines where thesetup times would vary according to the sequence of jobs processed. For example, theturret punch could use the same punch for jobs of similar products while a differentproduct would require the punch to be changed on the machine. The plant simply batchedtogether alike jobs until customers called and complained about their orders being late,then the order of jobs queued in front of the machines was altered to reflect whichcustomer had called most recently. The setup times for each order are different due to adifferent previous job order. Similar job grouping by type was used in front of thenumerical controlled (NC) machine. This situation is common in many environments withflexible manufacturing, where setting up once to run a particular major class of parts isdone, then minor setups to alter specific products are done within the same major partclass. The setup time for a particular major class of parts typically depends upon theprevious part family.

    In this paper, we develop a relatively new meta-heuristic procedure called the ScatterSearch (SS) to solve job shop scheduling problems with sequence-dependent setup timesand multiple objectives. The heuristic is based upon aspects of the tabu search (TS)(Glover 1989) and genetic algorithms (GA) (Holland 1975). An SS primarily differs from aGA in its design which keeps diversity in the population and intensifies promisingsolutions. Both SS and GA differ from TS and Simulated Annealing (SA) (Van Laarhovenet al. 1992) in that they focus on a set of solutions rather than just a single solution at anypoint in time. The SS encompasses the forbidden sequence switching from TS as will bediscussed in Section 4.1.2. Additionally, the threshold for allowing worse solutions in theSS is similar to the probability system used in SA (Vieira and Ribas 2004).

    This paper is organised into the following sections. Section 2 presents a literaturereview of job shop scheduling, sequence-dependent setups in scheduling, GAs and SSs.Section 3 gives a description of the problem we are trying to solve. Section 4 describes themechanism behind how SSs work in general and specifics on our SS heuristic. Section 5describes the experimental data and heuristic parameters for our tests. Section 6 gives theresults of the tests for our two different objective functions. Section 7 summarises anddiscusses the implications of the results. Section 8 outlines directions for future research.

    2. Literature review

    By their nature, job shop scheduling problems are complex. Job shops provide a uniquescheduling problem because the routings are based upon the jobs that need to be processedand therefore the resource requirements are not based upon the quantity as in a flow shopbut rather on the routings for the products being produced. Adams et al. (1988)demonstrate a shifting bottleneck heuristic that solves the famous 10 10 10 Muth andThompson (1963) problem. The problem specification assumes all jobs are available attime zero rather than time phased released. The model also assumes that setup time is notdependent on job processing order and recirculation does not occur; therefore each job canvisit a machine only once. Schutten (1998) discusses extending the shifting bottleneckprocedure to accommodate family setup times, staggered release and due dates and othermore realistic constraints one extension at a time. However, he concludes that to alterthe shifting bottleneck to handle these features results in large computation times and

    5218 A. Manikas and Y.-L. Chang

  • is therefore not usable in practical situations. Sequence-dependent setup times have been

    included in some problems such as the disassembly problem of Brandler and Forsberg

    (2005).Pesch and Tetzlaff (1996) use constraint satisfaction methods to restrict the search

    space by constraining the sequence in which possible values are assigned to each variable.

    However, they acknowledge that computational effort is high while the results have

    generally been poor. SA is another heuristic that has been used to solve job shop

    scheduling problems. Van Laarhoven et al. (1992) find that they can obtain shorter

    makespans using their algorithm, based on SA with long running times, than the shifting

    bottleneck and controlled search simulated annealing method. They note that compared

    with the sophistication required in programming the shifting bottleneck procedures, SA is

    easily implementable. Their heuristic was tested on a job shop problem without sequence-

    dependent setup times or recirculation.GA is a viable approach for optimisation problems. The principles of the GA

    proposed by Holland (1975) are the foundation of all GAs. A GA simulates evolution

    via natural selection on a model of a problem. The idea is to evolve a population of

    candidate solutions to a given problem using operators inspired by natural genetic

    variation and natural selection (Mitchell 1996). Classical job shop scheduling problems

    with a set of n jobs to be processed on m machines have been solved using a GA by

    Candido et al. (1998) without including sequence-dependent setup times. Breeding of

    parent solutions in a GA is called crossover. Linear order crossover (LOX) preserves the

    relative position between genes (Falkenauer and Bouffouix 1991). Cai et al. (2000) have

    devised a GA specifically designed for job shop problems. The offspring from the

    mutation and crossover are not used directly in the next generation but in a local search

    routine. A GA has also been used to solve flow shop problems with sequence-dependent

    setup times (Franca et al. 2006).Glover introduced the idea of TS (Glover 1989, 1990a) and guidelines for its

    implementation (Glover 1990b). Glover expanded the idea of TS by combing it with

    aspects of a genetic algorithm (Glover et al. 1995) which he called Scatter Search (SS). A

    SS is used by Campos et al. (2001) to solve the linear ordering problem. They find that the

    SSs balance between diversification and intensification produced excellent results for their

    problem. SS has been combined with TS for DNA sequencing (Blazewicz et al. 2004). They

    find that SS outperforms TS alone, hybrid genetic algorithms and an older branch and

    bound method. Della Croce et al. (1995), Park et al. (2003), Mattfeld and Bierwirth (2004)

    and Goncalves et al. (2005) all use an SS to solve job shop problems but not for sequence-

    dependent setup times. Given the promise of TS and the success of GA by Manikas and

    Chang (2007) in solving sequence-dependent setup time job shop problems, we chose to try

    the new SS algorithm on our set of job shop problems. A GA and an SS maintain multiple

    solutions during their iterations while tabu and simulated annealing approaches typically

    have only one solution at a time. We believe that having multiple solutions to combine and

    operate on gives GA and SS computational advantage. However, the SS has additional

    methodologies employed, as will be discussed in Section 4.Having a single criterion or objective to solve does not give the production planner

    much control to differentiate among many competing requirements or constraints.

    Richter (2002) argues that the use of a multiple objective (criteria) fitness function has

    a positive effect on convergence speed. Our job shop scheduling problem involves

    earliness, tardiness, job and/or customer ranking and Cmax (makespan) as criteria to

    International Journal of Production Research 5219

  • create the weighted objective function. Any other criterion can easily be included in ouralgorithm.

    A schedule must be feasible to be useful. Of all the possible feasible schedules for agiven set of resources and work to do, one or more schedules will be optimal and many willbe good enough. The optimal schedule takes an exceptionally long time to find with a jobshop scheduling problem with sequence-dependent setup times. Therefore, to obtain notonly a feasible solution, but also one closer to optimal, we will develop an SS procedureand compare its results against common heuristics, a TS, an SA, and a GA. We haveidentified four parameters of interest in the SS procedure. We find the appropriateparameter settings for our SS to generate the best solutions quickly. Given these parametersettings, we will then conduct robustness test to compare the SS versus a TS, an SA, anda GA, randomly generated solutions and common heuristics.

    3. Problem description

    Setup times decrease utilisation of resources as they are not value added activities. It wouldbe tempting to set up a machine one time and then run every job using that setup.However, this would result in extremely poor metrics regarding time completions,inventory holding costs, and preceding and succeeding machine utilisation. The problembecomes more pronounced if the setup times vary based upon what was last run on aparticular machine. In some environments, products with significant colour differences arelikely run from lighter to darker colours with minimal cleaning, but going from a blackcolour product to a white colour would require much more time to prepare the machine toavoid black bleeding through and creating a grayish batch. Minor setups within the sameproduct family will be significantly shorter than major setups to a different product familyon a machine. Switching often between product families will result in a lot of setup times.

    To make our job shop scheduling problems more realistic, in addition to sequence-dependent setup times, the environment contains staggered release dates and reentrantworkflows. Staggered release dates mean that we do not assume all jobs are ready to beginat time zero. This is common in real life since material availability is often based uponsupplier deliveries of components or raw materials. Reentrant workflows mean that therouting of a job may visit the same machine more than once. The job shop is static(the jobs to be completed and routings to produce them do not change at any point intime). The job shop does not allow pre-emption of jobs (a job being processed ona machine must finish completely before the next job starts, i.e. interruptions are notallowed). Precedence relationships among operations of the same job are respected. Eachmachine resource processes at most one job at a time.

    In summary, our deterministic job shop scheduling problem, J, consists of a finite setJ of n jobs fJigni1 to be processed on a finite set M of m machines fMkgmk1. Each job,Ji, must be processed on every machine in its routing consisting of mi operationsfOi1,Oi2, . . . ,Oimig performed in order. There are N operations in total, N

    Pni1mi.

    Oik is the operation of job Ji which has to be processed on machine Mk for anuninterrupted processing time Pik and a setup time Sik which depends on the precedingoperation on machine Mk, and no operation may be pre-empted. Each job has its ownunique routing. Each job has a release time Ri and a due date Di. Each job can only beprocessed by one machine at a time. The schedule goodness will be measured by differentcriteria.

    5220 A. Manikas and Y.-L. Chang

  • We first illustrate the effectiveness of SS by the use of three weighted criteria to formour objective function: (1) earliness, (2) tardiness, and (3) customer and/or job rank.We then alter the objective function to include a fourth term, Cmax. A schedule is evaluatedaccording to the weighted criteria. The relative importance of each of these three criteriacan be changed to meet a manufacturers needs. Each jobs routing is known a priori, butthe sequences in which machines process jobs are unknown and have to be determined.Since the criteria weightings are unique, there are no existing benchmark datasets tocompare with our tests.

    For example, common criteria used are Cmax, i.e. the maximum completion ormakespan, mean tardiness, and total earliness. We will use multiple weighted criteria inour objective functions to reflect the tradeoffs that production planners deal with inthese multiple criteria when scheduling. An example performance objective functionwould be 5tardinessjob ranking earliness 0.1Cmax. In a general form, l weightedcriteria can be combined into an objective function to minimise or maximise its valueas expressed by

    min or max fw1c1,w2c2, . . . ,wlcl, :

    4. Mechanics of the scatter search

    An SS follows the following structure (Campos et al. 2005), the components beingexplained in the given sub-sections.

    . Generate diverse solutions (4.1)

    . Improve solutions (4.2)

    . Build reference set (4.3)

    . Initialise (4.4)

    . While counter is less than the maximum (4.5)

    While there are new solutions in the reference set (4.5.1)g Combine or breed solutions (4.5.1.1)g Improve solutions (4.5.1.2)g Update reference set (4.5.1.3)

    Update best solution (4.5.2) Rebuild and improve reference set (4.5.3)

    An SS has some differences from a GA or TS that will be outlined in the sectionsbelow. Briefly, a TS only focuses on a single solution at a time, while a GA or SSoperates on multiple solutions. A GA operates on a single population, while an SSmaintains a larger population and a separate, smaller reference set to force bothintensification and diversification. The solutions in this smaller reference set are usedto generate all future large populations, with the condition that at least one parentmust be new to the reference set to induce new solutions. When breeding in the SS,the crossover is proportional based on the fitness of the parents, whereas typicalcrossover in a GA is 50% probability from each parent for each operation or takingthe first half sequence from one parent and the second half sequence from the otherparent.

    International Journal of Production Research 5221

  • 4.1 Generate diverse solutions

    An SS must be initialised with a starting population. The methods for creating an initialpopulation are varied: feasible only, randomised, using heuristics, local hill climbing asubset of randomised population, etc. For this problem we choose to use only feasiblesolutions at all times for the simple reason that we would not know how to score aninfeasible schedule for a job shop. If the routing is scheduled out of order, thus causing aninfeasible solution, how can a lateness score be meaningful? Using feasible solutions onlyto avoid combinatorial explosion is described by Marion et al. (2006).

    We use randomised sequences for each machine to create the initial population. Thesesequences are then turned into schedules by inserting idleness and waiting times. If themachine sequences are feasible (do not violate the job routings and resource constraints),then a feasible schedule can always be created by allowing idle time between operations onthe machines as required.

    4.2 Improve solutions

    In our implementation, each solution from Section 4.1 is improved using the following twomethods in order.

    (1) TS on adjacent pair wise interchange. Two randomly selected operations on asingle machine are swapped. Only operations from different jobs will be inverted sothat the resulting new solution will always still be a feasible sequence. If theresulting sequence evaluates better according to the objective function it is kept,otherwise the swap is undone. Prior swaps are kept in a tabu list so the same twooperations are not swapped again in the immediate future. However, if swappingthe operations surpasses an aspiration level based on the objective score, then thetabu operation swap is allowed since the objective function would be sufficientlyhigh (above the aspiration threshold). Another aspect that can be used in the SSregarding tabu search is to have an aspiration level threshold that oscillates. So theaspiration threshold is sometimes high (99% of the best objective function score)and other times low (90% of the best objective function score) to allow solutiondiversity. When it is low, overrides of tabu moves are permitted more often. It issimilar to SA except that the threshold does not start high and go low towards theend of the run, but rather oscillates.

    (2) Hybrid GA sequencing. Cheung and Zhou (2001) select the first operation on eachmachine from the existing solutions using a GA, and then the remaining operationsare sequenced according to the shortest processing time with the sequence-dependent setups (SPTS) heuristic. We use this hybrid genetic algorithm as animprovement method on our solutions. If the resulting sequence is worse than theoriginal sequence in terms of the objective function, we revert to the originalsequence.

    4.3 Build reference set

    Unlike a traditional GA that acts on the entire population, the SS maintains a smallerreference set of members separated from the larger population. The size of the reference setis relative to the entire population. The best b members (elite) of the population are copied

    5222 A. Manikas and Y.-L. Chang

  • to the reference set. A reference set is a small set of solutions that contains not only the bestsolutions but also solutions to maintain diversity.

    4.4 Initialise

    To initialise the iterating routine started in Section 4.5, this step performs the following: (1)records the score of the best solution from the reference set; and (2) sets a globalimprovement counter, I, to zero to initialise it.

    4.5 While counter is less than the maximum

    The SS routine is typically run for a set number of iterations and stops with the bestsolution found so far. The maximum iterations can be set very high so that the time limiton our tests always comes before this iteration limit. In this step, we compare the counter Ito this maximum.

    4.5.1 While there are new solutions in the reference set

    As long as new solutions from the large population are chosen based on their objectivefunction scores to enter the reference set, then the reference set is assumed to be moving ina positive direction. However, when no new population members qualify to enter thereference set, then this is viewed as an indication that the larger population outside thereference set is no longer serving its purpose. Thus new population members will becreated via the initialisation method outlined in Section 4.1.

    4.5.1.1 Combine or breed solutions. Only solutions in the reference set are candidates to beused for breeding to regenerate the new large population, unlike using the wholepopulation in a GA. Portions of each parent are combined to form a new child solution viacrossover. To make the crossover less random than a GA calls for, the crossover is not50/50 random between the two parents but rather operations on each machine are chosenproportional to the fitness of the parent. For example, if parent 1 has a fitness of 200 andparent 2 has a fitness of 100 where a higher score is better, then parent 1s operations insequence will be chosen 67% [200/(200 100)] of the time, while parent 2s operations willbe chosen only 33%.

    In a production scheduling problem, fitness is the goodness of the solution accordingto the objective function. In the crossover example shown in Figure 1, machine by machinea child machine sequence is made by selecting the next unscheduled job/operation fromeither parent 1 or parent 2 based on the fitness scheme described above. In this example,assuming parent 2 was selected first, its first sequence on machine 1, job 1/operation 2 isput into the childs machine 1 sequence. This job/operation is marked as already scheduledin parent 1. This continues for all five operations on machine 1 for the resulting childsequence shown in Figure 1.

    In an SS, a parent solutions alleles (job/operation combination) should be picked toreproduce proportionally to its fitness, thus the better it is the more likely it is to be pickedfor breeding. A simple way of accomplishing this selection is via tournament selection.Two candidate solutions are randomly selected from the reference set, with the caveat that

    International Journal of Production Research 5223

  • at least one must have been put in the reference set during the last reference set update(or initialisation of the reference set). The better ranked (in terms of score) of the two isselected to be parent 1. Then two more candidate solutions are randomly selected, except ifeither of them is the same as parent 1, then a different solution is randomly selected.The better scored of these last two candidates becomes parent 2. Using tournamentselection, the more fit solutions get picked more often and the worst ranked less often.An alternate but equivalent method is to create a roulette wheel (Goldberg 1989). Thewheel has different width spaces so that the worst solution has the narrowest wedgeincreasing up to the best solution with the widest wedge.

    The result of using tournament selection is shown below for a population of size 10.The mathematical likelihood of each of 10 parents being selected as either parent 1 orparent 2 is shown in the pie graphs in Figure 2. The pie graphs show parent solution rank(110) and the percent chance of being selected. Notice that the solution ranked 10 is theworst and in a tournament can never win since parents ranked 19 always beat it, thus itspercent is 0.0%. The most fit solution based upon score can be selected as parent 1 20% ofthe time, while it could be selected as parent 2 17.8%. The chance of being selected asparent 2 is lower since, if selected as parent 1, this same solution cannot be selected asparent 2.

    Solution 1 has a 20% chance of being selected as parent 1 from 9/45 where 45 is 10pick 2. Solution 2 has a 17.8% change of being selected as parent 1 from 8/45. Similar logicfollows for solutions 3 through 10. Solution 1 has a 17.8% chance of being selected as

    Figure 2. Likelihood of being picked as a parent.

    Figure 1. Sample crossover for a child.

    5224 A. Manikas and Y.-L. Chang

  • parent 2 from (120%) 8/36 where 36 is 9 pick 2 multiplied by the 80% chance thatsolution 1 was not selected as parent 1. Solution 2 has a 16.5% chance of being selected asparent 2 from 20% 8/36 (120%17.8%) 7/26. The first term is the case wheresolution 1 was chosen as parent 1, then solution 2 has eight chances to win. The second termis where solutions 1 and 2 were not picked as parent 1, therefore there is one less chancefor parent 2 to win. Solution 3 has a 15.1% chance from (20% 17.8%) 7/36 (120%17.8%15.6%) 6/36. The probabilities for the other solutions follow similarly.

    Another difference from the typical GA crossover is that at least one of the parents inthe SS crossover must be a new member in the reference set of the past iteration. This is toaid in diversification among new solutions generated.

    4.5.1.2 Improve solutions. Uses the two methods as outlined in Section 4.2 to improveeach child solution generated in Section 4.5.1.1.

    4.5.1.3 Update reference set. The best b solutions from the union of the current referenceset and the newly created population are put into the reference set. This method is intendedto keep the best solutions to intensify toward a global or possibly local maximum from thebreeding and improvement algorithms. To best use the limited positions in the referenceset, no duplicate solutions are allowed during this reference set update. After this step, thecheck in Section 4.5.1 is done.

    4.5.2 Update best solution

    The best solution from the reference set is copied to the best solution for comparison of allfuture solutions toward improving the results. If this solution is better than the former bestsolution, then set the global improvement counter, I, to zero to reset it. Otherwise, thiscounter increments and could eventually cause the loop begun in Section 4.5 to terminate.

    4.5.3 Rebuild and improve reference set

    The best scoring half (b/2) of the reference set is kept to intensify the best solutions infuture iterations. The lower half of the solutions in the reference set is removed and thoseplaces are filled using the diversification routine from Section 4.1. These new randomisedsolutions add diversity so that if the best solutions are intensifying on a local hill climbthen perhaps the diversified solutions will achieve a new, higher local maximum or evenglobal optimum.

    This new reference set is improved using the two methods outlined in Section 4.2.The global improve counter I is incremented by one. If this counter is greater than themaximum iterations in Section 4.5 it would signal this routine to stop. Again, we set themaximum iterations very high so that a time limit is the termination criterion rather thanthe global improve counter.

    4.6 Test parameters setting

    4.6.1 Population size

    We used the prior parameters test results from Manikas and Chang (2006) as input intosetting the SS parameters for this research. However, they were not looking at termination

    International Journal of Production Research 5225

  • criteria related to time. Therefore, we alter the population size and reference set proportion(b) slightly to fit with our 30 s and 1min hard termination criteria of the tests. We use apopulation size of 50, similar to that used as a test size by Chen (2004).

    4.6.2 Reference set size

    The reference set is a smaller set of solutions drawn from the entire population inSection 4.6.1. We choose a small reference set of six members. This allows quick hillclimbing on all members in the reference set.

    4.6.3 Maximum iterations

    Once the reference set can find no new solutions from the whole population that are betterthan current members, the inner routine stops. If the best solution in the current referenceset is no better than the previously found best solution then counter I is incremented.If this counter I is greater than the maximum iterations then the search stops. Otherwise,improvements to all solutions are made and a new population created from the referenceset and the inner routine begins again. We set this parameter to a very high value so that itwould not trigger before our termination time of 30 s or 1min.

    4.6.4 Tabu list

    Once a local hill climb swap of operations is done, those particular operations are put intothe tabu list. This means that the SS will not try to swap those same two operations again,unless they meet the aspiration criteria described in Section 4.2. We chose a list length ofseven based on prior research (Glover 1990a).

    5. Experimental data sets

    To test the effectiveness of our SS algorithm, we generated sequence-dependent setup timejob shop scheduling problems with a variety of factors. Table 1 shows the 18 scenarios withvarious numbers of machines, jobs, and operations per job, job families, and the relativesize of setup time to processing time. The SR column displays the setup time to run time(processing time) relationship for jobs in each data set. The notation EQ denotes that theprocessing time and setup time are pulled from equivalent distributions. SM signifies thatthe setup time is pulled from a smaller distribution (1/10 the mean) than the processingtime distribution and LG is where the setup time is pulled from a larger distribution(10 times as large) as the processing time distribution. These are the Design of Experiment(DOE) L18 sets (Phadke 1989) based on the key ideas of robust design (Taguchi and Wu1979). For each parameter set in Table 1, we randomly created 50 problems according tothe distributions described below. Fifty problems are considered a good, large sample size.

    Setup times are generated based on the uniform distributions shown in Table 2. Thenumber ranges were selected such that going from lower number families to higher numberfamilies takes longer than staying in the same family. Moving to a higher number familytakes from 50 to 150 time units. Staying in the same family takes between 20 and 70 timeunits. To go from a higher family number to a lower family number is the biggest penalty(for example, going from the darkest colour family to the lightest colour family) andtherefore takes from 80 to 230 time units.

    5226 A. Manikas and Y.-L. Chang

  • Operation process times, job release times, and job due dates are also generated based

    on uniform distributions as follows:

    . Processing time per operation u(50, 250)

    . Release time of a job u(0, 500)

    . Due date of a job u(0, 2000)Processing times were chosen to be roughly equivalent to the longest setup times, on

    average. Release times were allowed to be between 0 and 500 to give jobs the possibility of

    being staggered. Due dates were set to a range such that, given the release date range plus

    processing time ranges, some jobs could finish early depending on the setup times.

    However, jobs are not presupposed to all be able to be finished early, on-time or late since

    this depends on the families and optimal sequence.No other benchmark data are available since our multiple criteria objective function

    and sequence-dependent setup time datasets are unique. Besides the proposed SS

    algorithm, for comparison we also solved each problem using the following procedures:

    . random generation;

    . a TS based on Glover (1989);

    Table 1. Problem set characteristics.

    Set Mach Jobs Ops Fam SR

    1 6 4 4 2 SM2 6 6 6 3 EQ3 6 8 8 4 LG4 8 4 4 3 EQ5 8 6 6 4 LG6 8 8 8 2 SM7 10 4 6 2 LG8 10 6 8 3 SM9 10 8 4 4 EQ10 6 4 8 4 EQ11 6 6 4 2 LG12 6 8 6 3 SM13 8 4 6 4 SM14 8 6 8 2 EQ15 8 8 4 3 LG16 10 4 8 3 LG17 10 6 4 4 SM18 10 8 6 2 EQ

    Table 2. Uniform distributions for machine setup times.

    To family

    From family 1 2 3

    1 u(20, 70) u(50, 150) u(50, 150)2 u(80, 230) u(20, 70) u(50, 150)3 u(80, 230) u(80, 230) u(20, 70)

    International Journal of Production Research 5227

  • . a GA based on Manikas and Chang (2007);

    . an SA based on Vieira and Ribas (2004); and

    . common heuristics.

    For common heuristics, we use both job-oriented and machine-oriented heuristics. Job-oriented heuristics look at the job when evaluating which operation gets precedence inscheduling (Chang et al. 1996):

    . SPT, Shortest Processing Time;

    . SPTS, Shortest Processing Time with Setups;

    . EDD, Earliest Due Date;

    . LWKR, Least Work Remaining;

    . MWKR, Most Work Remaining;

    . STR, Minimum Slackness (due datetodays date)(days required to completejob);

    . CR, Critical Ratio (due datetodays date)/(days required to complete job);

    . ATCS, Apparent Tardiness Cost Sequence Dependent (Pinedo 1995).

    Machine-oriented heuristics look at the queue of waiting jobs in front of each machinewhen evaluating which job operation gets precedence in scheduling. Machines are analysedsequentially for simplicity:

    . SPT, SPTS, EDD, LWKR, MWKR, STR, CR and ATCS are the same as abovebut from a machine queue dispatching perspective;

    . FIFO, First In First Out, also called First Come First Served;

    . LIFO, Last In Last Out.

    6. Test results

    6.1 Criteria weighting case 1

    For the 18 problem sets in Table 1, the first objective is to minimise the following weightedcriteria function:

    f Tardiness Job Ranking 5 Earliness,where Tardiness is the job finish time beyond the due date, Earliness is the job finish timebefore the due date, and Job Ranking is a customer preference. Often, companies have anABC customer ranking, or Gold customer status, or even a forced ranking of all customerjobs as simulated here with Job Ranking. We are not arguing for or against any particularcriterion or weighting, but rather demonstrating that, at the discretion of a companysmanagement, any weighting can be quickly applied via our SS.

    To help determine how long to run our SS algorithm, we solved a representativeproblem (six machines, two families, four jobs per family, and four operations perjob) and recorded the above objective function values during the solution process.Figure 3 shows the objective function scores every 15 s for 10min. Note that the scoredoes improve over time, but with diminishing returns per computing time (the lastscore improvement occurs at about 345 s). It shows very little improvement after1min of running time. Similar behaviour was found when solving other problems.Hence we decided to solve the test problems for up to 1min with our SS and otherprocedures.

    5228 A. Manikas and Y.-L. Chang

  • Table 3 gives the results of our tests for this objective function for the 18 differentproblem parameters with which we randomly created 50 problems as described previously.We recorded the first SS results by running for 30 s and recorded the second results byrunning for 1min from scratch. To demonstrate the goodness of our SS, we also solved thesame problems by running random generation (labeled Rnd), a TS based on Glover(1989), a GA based on Manikas and Chang (2007), an SA based on Vieira and Ribas(2004) and common heuristics described previously. Common heuristics run in a fewseconds and we let the others run for up to 1min.

    In general, SS outperformed the other methods. When running for 30 s, for 111 of 900problems (12.3%) the SS had a better score than all other methods, and when running for

    Table 3. Case 1 results (best of 50 problems).

    Set SS 30 s SS 1min TS SA GA Rnd

    1 6 34 5 0 5 02 5 31 4 0 10 03 16 29 3 0 1 04 7 36 3 0 4 05 4 30 7 0 9 06 12 24 7 0 5 07 7 25 9 0 9 08 3 34 8 0 5 09 6 34 8 0 2 010 6 33 6 0 5 011 2 32 6 0 10 012 8 31 7 0 4 013 6 32 5 0 7 014 4 32 6 0 8 015 3 37 7 0 3 016 3 29 8 0 10 017 8 30 8 0 4 018 5 35 7 0 3 0

    Total 111 568 114 0 104 0

    Figure 3. Solution improvement over time.

    International Journal of Production Research 5229

  • 1min, the SS was best in 568 of 900 problems (63.1%). The SSs running for 30 s and 1minwere from scratch, and there is a chance that running for 30 s may generate a bettersolution than running for 1min since random generation is involved in the initialpopulation. However, we expect the SS running for 1min to perform better than the SSrunning for 30 s, on average. Clearly, if we recorded results consecutively in the same run,at 30 s the solution goodness will be no better than the solution goodness at 1min. FromTable 3, combining the separate SS, running for either 30 s or 1min, it outperformed allother methods for 679 of 900 problems (75.4%). For the other methods, GA achieved thebest solution 104 times (11.6%), TS had the best solution 114 times (12.7%), and job-oriented heuristics were best three (0.3%) times (not shown in Table 3).

    The SA did not achieve the best score in any of the 900 problems. For this SA, thetemperature function was modeled after Vieira and Ribas (2004). Simulated annealingprobabilistically accepts a worse solution than the current solution. The probability is afunction of the global time-varying parameter temperature. Over time the temperature islowered towards zerothe end of the simulation run. As the temperature tends towardszero, the probability of accepting a new solution that is worse than the current solutiontends toward zero. Specifically, if the new score is slightly worse than the current score, athreshold percent e1p=d is calculated, where p is the percent of time exhausted in the run(it corresponds to the global temperature parameter where p is how far into the 1min runtime the routine is) and d is the difference in score as a percentage (old score/new score).This gives approximately e1 36.8% when the routine starts (the temperature is hottest)and the score difference is close to zero. As the new score becomes further from the oldscore, this percentage decreases. Likewise, as the time exhausted increases, for the samescore difference, the percentage decreases. This percentage is then used as a probabilitywhen a random number is generated. If the random number (05r51) is less than thethreshold percent, the new score and the new solution, although worse, is kept.

    To further compare the performance, we also recorded the objective function scores foreach method. Table 4 shows the resulting average scores for each test combination and thegrand averages are summarised. Also in Table 4, the average scores are scaled to therandom solution scores and displayed in parentheses. The table concludes that SSperformed much better than the other methods in minimising the objective function. Inparticular, SS running for 1min only scored 32%, TS scored 39%, SA scored 49%, andGA scored 93% compared with the random solution. Common heuristics did not scorewell as they are not designed to solve these problems.

    6.2 Criteria weighting case 2

    In this experiment, we solved the same 900 problems, but altered the objective function toinclude one more criterion, Cmax (makespan). The objective is to minimise the followingweighted criteria function:

    f Tardiness Job Ranking 5 Earliness 8 Cmax :Table 5 gives the results of our tests for this objective function. Again, SS

    outperformed the other methods. When running for 30 s, for 301 of 900 problems(33.4%) the SS had a better score than all the other methods, and when running for 1min,the SS was best in 567 of 900 problems (63%). Combining the separate SS, running either30 s or 1min, it outperformed all the other methods in 868 of 900 problems (96.4%).

    5230 A. Manikas and Y.-L. Chang

  • Table

    4.Case

    1meanscores(%

    ofRnd).

    Set

    SS30s

    SS1min

    TS

    SA

    GA

    Rnd

    126,346(42%)

    26,277(42%)

    27,856(45%)

    29,518(47%)

    61,978(100%)

    62,156(100%)

    255,311(30%)

    52,783(29%)

    66,393(36%)

    96,103(53%)

    160,693(88%)

    182,959(100%)

    3108,699(18%)

    108,325(18%)

    174,172(29%)

    258,894(43%)

    514,610(85%)

    605,141(100%)

    430,843(34%)

    30,208(34%)

    33,188(37%)

    34,053(38%)

    89,758(100%)

    89,863(100%)

    545,917(34%)

    45,188(33%)

    55,723(41%)

    69,295(51%)

    120,923(90%)

    134,953(100%)

    684,138(21%)

    88,869(22%)

    123,593(30%)

    195,168(48%)

    358,787(88%)

    406,989(100%)

    721,596(43%)

    22,567(45%)

    27,010(54%)

    26,993(54%)

    49,243(98%)

    50,076(100%)

    858,688(28%)

    56,705(27%)

    75,069(36%)

    97,683(47%)

    190,890(91%)

    208,727(100%)

    964,608(35%)

    63,297(35%)

    64,527(35%)

    87,336(48%)

    174,103(95%)

    182,902(100%)

    10

    35,794(30%)

    35,825(30%)

    43,427(36%)

    50,336(42%)

    115,307(95%)

    121,087(100%)

    11

    48,255(37%)

    47,494(37%)

    53,223(41%)

    60,682(47%)

    126,664(98%)

    129,504(100%)

    12

    82,349(25%)

    82,141(25%)

    114,427(35%)

    163,447(50%)

    287,377(88%)

    327,318(100%)

    13

    22,123(46%)

    21,686(45%)

    25,873(53%)

    27,305(56%)

    47,307(97%)

    48,597(100%)

    14

    60,856(27%)

    58,827(26%)

    77,433(34%)

    109,421(48%)

    200,082(88%)

    227,534(100%)

    15

    66,168(38%)

    64,716(37%)

    68,304(39%)

    94,936(54%)

    165,814(95%)

    174,752(100%)

    16

    26,514(35%)

    25,970(35%)

    33,983(45%)

    42,868(57%)

    70,127(94%)

    74,873(100%)

    17

    47,163(38%)

    47,530(38%)

    48,738(39%)

    54,303(44%)

    123,169(100%)

    123,658(100%)

    18

    78,140(27%)

    77,082(26%)

    96,700(33%)

    149,886(52%)

    247,114(85%)

    291,038(100%)

    Ave.

    53,528(33%)

    53,083(32%)

    67,202(39%)

    91,568(49%)

    172,442(93%)

    191,229(100%)

    International Journal of Production Research 5231

  • For the other methods, GA achieved the best solution three times (0.3%), TS had the bestsolution 29 times (3.2%), and the rest did not obtain the best solution.

    Similarly, we also recorded the objective function scores for each method. Table 6shows the resulting average scores for each test combination and the grand averages aresummarised. Table 6 also shows the average scores as scaled to the random solution scoresin parentheses. Table 6 shows that SS performed much better than the other methods inminimising the objective function. In particular, SS running for 1min only scored 62%, TSscored 73%, and SA scored 81% compared with the random solution. GA and thecommon heuristics did not score as well as random generation.

    Note that very little programming was required to add this Cmax criterion. To achievethe same performance, the running time for SS is almost identical for different objectivefunctions. This provides an ideal situation for a production manager to optimise anymultiple criteria combination he or she feels appropriate.

    7. Implications and conclusions

    Scheduling jobs on multiple machines is a difficult problem. When we introduce real-worldconstraints such as the setup time for a particular job operation depends upon which jobwas last run on the machine, that jobs are released at different times, multiple machinesallow recirculation, and multiple criteria are pursued by management, the problembecomes extremely complex. For most businesses, trading solution goodness for timemakes sense. It is usually sufficient to obtain a near-optimal solution quickly whenan optimal solution would require days or weeks of computation. Common schedulingheuristics such as Shortest Processing Time (SPT) and Earliest Due Date (EDD)

    Table 5. Case 2 results (best of 50 problems).

    Set SS 30 s SS 1min Tabu SA GA Rnd

    1 6 42 2 0 0 02 11 35 3 0 1 03 12 37 0 0 1 04 11 38 1 0 0 05 8 39 3 0 0 06 36 14 0 0 0 07 8 41 1 0 0 08 18 29 3 0 0 09 32 18 0 0 0 010 15 33 2 0 0 011 14 31 5 0 0 012 24 25 1 0 0 013 7 42 1 0 0 014 14 31 5 0 0 015 31 19 0 0 0 016 7 43 0 0 0 017 13 35 2 0 0 018 34 15 0 0 1 0

    Total 301 567 29 0 3 0

    5232 A. Manikas and Y.-L. Chang

  • Table

    6.Case

    2results(%

    ofRnd).

    Set

    SS30s

    SS1min

    TS

    SA

    GA

    Rnd

    161,844(75%)

    66,457(81%)

    70,112(85%)

    71,764(87%)

    103,059(125%)

    82,156(100%)

    2108,140(59%)

    107,198(59%)

    136,817(75%)

    152,424(83%)

    217,753(119%)

    182,959(100%)

    3169,041(28%)

    167,231(28%)

    259,114(43%)

    334,987(55%)

    606,728(100%)

    605,141(100%)

    465,992(73%)

    71,979(80%)

    77,405(86%)

    76,769(85%)

    133,424(148%)

    89,863(100%)

    5167,930(124%)

    96,492(72%)

    113,458(84%)

    124,292(92%)

    176,349(131%)

    134,953(100%)

    671,741(18%)

    139,497(34%)

    216,880(53%)

    263,237(65%)

    424,080(104%)

    406,989(100%)

    797,903(140%)

    64,264(92%)

    72,079(103%)

    70,659(101%)

    91,985(131%)

    70,076(100%)

    8141,902(68%)

    109,223(52%)

    139,050(67%)

    161,587(77%)

    246,322(118%)

    208,727(100%)

    984,697(46%)

    112,139(61%)

    118,606(65%)

    148,461(81%)

    226,103(124%)

    182,902(100%)

    10

    111,035(92%)

    90,913(75%)

    110,314(91%)

    116,948(97%)

    172,527(142%)

    121,087(100%)

    11

    114,284(88%)

    93,114(72%)

    102,494(79%)

    110,382(85%)

    173,112(134%)

    129,504(100%)

    12

    91,506(28%)

    103,527(32%)

    184,073(56%)

    221,250(68%)

    344,446(105%)

    327,318(100%)

    13

    94,322(106%)

    65,602(74%)

    71,003(80%)

    72,262(82%)

    91,930(104%)

    88,597(100%)

    14

    132,487(58%)

    116,798(51%)

    145,937(64%)

    181,262(80%)

    266,007(117%)

    227,534(100%)

    15

    95,448(55%)

    114,175(65%)

    125,650(72%)

    136,207(78%)

    220,091(126%)

    174,752(100%)

    16

    116,494(111%)

    72,302(69%)

    82,267(78%)

    91,350(87%)

    118,587(113%)

    104,873(100%)

    17

    114,745(93%)

    91,176(74%)

    93,275(75%)

    97,480(79%)

    166,867(135%)

    123,658(100%)

    18

    72,446(25%)

    128,609(44%)

    172,003(59%)

    207,931(71%)

    309,109(106%)

    291,038(100%)

    Ave.

    106,220(72%)

    100,594(62%)

    127,252(73%)

    146,625(81%)

    227,138(121%)

    197,340(100%)

    International Journal of Production Research 5233

  • can be used to obtain a feasible schedule quickly, but are not explicitly designed formultiple simultaneous objectives or sequence dependency. In this paper, a new meta-heuristic known as a scatter search (SS) is used to solve these job shop scheduling problemswith sequence-dependent setup times and multiple performance objectives or criteria. Theresults are compared with solutions obtained by common heuristics, a tabu search (TS), asimulated annealing (SA), and a genetic algorithm (GA). Our SS provides better solutionsin a very reasonable computation time.

    From this study we have learned that, by combining the mechanism of diversification(a large population) and intensification (a smaller reference set), SS produces excellentresults for our scheduling problem. Compared with a single solution intensified methodsuch as TS, a diversified population evolution such as GA, and a probabilistic movingmethod such as SA, SS provides a potential approach to solve complex problems suchas ours.

    Common heuristics such as SPT and EDD are simple and quick to implement forscheduling problems with a simple objective. As discovered by Chang et al. (1996),heuristics perform differently for a variety of simple criteria. This study shows that simpleheuristics did not perform well for our complex problems with sequence-dependent setuptimes and multiple objective criteria.

    For job shops with sequence-dependent setup times such as the examples describedearlier, unplanned demand changes (the customer requires an emergency part) or capacitychanges (insufficient resources, extra shift, machine breakdown) may occur frequently. Itis essential to have the capability to reschedule quickly. We have demonstrated that the SScan reschedule job sequences very quickly using multiple objective criteria. SS can be agood method to match the scheduling needs of manufacturing companies with complexsituations.

    8. Future research

    We have shown that the performance of SS is relatively insensitive to the problem data andcriteria for evaluation. The described SS can easily be enhanced by adding resourcecalendars, alternate machines with different costs or scrap rates, learning curves onmachines and other complexities. Altering the weights and the number of criteria in theobjective function will have a negligible effect on the running time of the SS.

    Future research could entail statistically determining the optimal SS parameter settingsfor a particular sub-set of scheduling problems. For instance, sequence-dependent jobshop scheduling with 20 or more machines and several job families may have a unique setof SS parameters that increases schedule goodness for an allowable computing time(business requirement) compared with smaller job shop scheduling. Variation of the setuptimes may also present the opportunity to define good parameters of the SS heuristics.

    The SS heuristics can also be applied to other complex problems such as productionplanning, resource allocation, and facility location. These problems naturally includemany of the criteria emphasised in this study.

    References

    Adams, J., Balas, E. and Zawack, D., 1988. The shifting bottleneck procedure for job shopscheduling. Management Science, 34 (3), 391401.

    5234 A. Manikas and Y.-L. Chang

  • Blazewicz, J., Glover, F. and Kasprzak, M., 2004. DNA sequencingtabu and scatter search

    combined. INFORMS Journal on Computing, 16 (3), 232240.Brander, P. and Forsberg, R., 2005. Cycle lot scheduling with sequence-dependent set-ups: a

    heuristic for disassembly processes. International Journal of Production Research, 43 (2),

    295310.Cai, K.W., Wu, Q.H. and Yong, Z.Z., 2000. A genetic algorithm with local search for solving

    problems, Real-world applications of evolutionary computing, Evo workshops 2000, Edinburgh,

    Scotland. Berlin: Springer.Campos, V., et al., 2001. An experimental evaluation of a scatter search for the linear ordering

    problem. Journal of Global Optimization, 21, 397414.

    Campos, V., Laguna, M. and Mart, R., 2005. Context-independent scatter and tabu search for

    permutation problems. INFORMS Journal on Computing, 17 (1), 111122.Candido, M.A.B., Khator, S.K. and Barcia, R.M., 1998. A genetic algorithm based procedure for

    more realistic job shop scheduling problems. International Journal of Production Research, 36

    (12), 34373457.Chang, Y.L., Sueyoshi, T. and Sullivan, R.S., 1996. Ranking dispatching rules by data envelopment

    analysis in a job shop environment. IIE Transactions, 28, 631642.

    Chen, M.C., 2004. Optimizing machining economics models of turning operations using the scatter

    search approach. International Journal of Production Research, 42 (13), 26112625.Cheung, W. and Zhou, H., 2001. Using genetic algorithms and heuristics for job shop scheduling

    with sequence-dependent setup times. Annals of Operations Research, 107 (1), 6581.Della Croce, F., Tadei, R. and Volta, G., 1995. A genetic algorithm for the job shop problem.

    Computers & Operations Research, 22 (1), 1524.

    Falkenauer, E. and Bouffouix, S., 1991. A genetic algorithm for the job shop. In: IEEE international

    conference on robotics and automation, Sacramento, CA.Franca, P.M., Tin Jr, G. and Buriol, L.S., 2006. Genetic algorithms for the no-wait flowshop

    sequencing problem with time restrictions. International Journal of Production Research, 44

    (5), 939957.Glover, F., 1989. Tabu searchpart I. ORSA Journal on Computing, 1 (3), 190206.

    Glover, F., 1990a. Tabu searchpart II. ORSA Journal on Computing, 2 (1), 432.Glover, F., 1990b. Tabu searcha tutorial. Interfaces, 20 (4), 7494.Glover, F., Kelly, J. and Laguna, M., 1995. Genetic algorithms and tabu search: hybrids for

    optimization. Computers and Operations Research, 22 (1), 111134.Goldberg, D.E., 1989. Genetic algorithms in search, optimization, and machine learning. New York:

    Addison Wesley Longman.

    Goncalves, J.F., Magalhaes Mendes, J.J. and Resende, M.G.C., 2005. A hybrid genetic algorithm

    for the job shop scheduling problem. European Journal of Operational Research, 167, 7795.Holland, J., 1975. Adaptation in natural and artificial systems. Ann Arbor: The University of

    Michigan Press.Manikas, A. and Chang, Y.L., 2006. Effective work ordering in a constrained manufacturing

    environment. In: Proceedings of the 36th international conference on computers and industrial

    engineering, Taipei, Taiwan.

    Manikas, A. and Chang, Y.L., 2007. Multi-criteria sequence dependent job shop scheduling using

    genetic algorithms. Working Paper.Marion, R.M., Luong, L.H.S. and Abhary, K., 2006. A genetic algorithm for the optimisation of

    assembly sequences. Computer and Industrial Engineering, 50 (4), 503527.Mattfeld, D. and Bierwirth, C., 2004. An efficient genetic algorithm for job shop scheduling with

    tardiness objectives. European Journal of Operational Research, 155, 616630.

    Mitchell, M., 1996. An introduction to genetic algorithms. Cambridge, MA: MIT Press.Muth, J.F. and Thompson, G.L., 1963. Industrial scheduling. Englewood Cliffs, NJ: Prentice Hall.Park, B.J., Choi, H.R. and Kim, H.S., 2003. A hybrid genetic algorithm for the job shop scheduling

    problems. Computer & Industrial Engineering, 45, 597613.

    International Journal of Production Research 5235

  • Pesch, E. and Tetzlaff, U.A.W., 1996. Constraint propagation based scheduling of job shops.INFORMS Journal on Computing, 8 (2), 144157.

    Phadke, M., 1989. Quality engineering using robust design. Englewood Cliffs, NJ: Prentice Hall.Pinedo, M., 1995. Scheduling Theory, Algorithms and Systems. Englewood Cliffs, NJ: Prentice Hall.

    Richter, H., 2002. An evolutionary algorithm for controlling chaos: the use of multi-objective fitnessfunctions. Lecture Notes in Computer Science, Vol. 2439. Proceedings of the 7th InternationalConference on parallel problem Solving from Nature, 308320.

    Schutten, J.M.J., 1998. Practical job shop scheduling. Annals of Operations Research, 83, 161177.Taguchi, G. and Wu, Y.I., 1979. Introduction to off-line quality control. Meieki Nakamura-Ku

    Magaya, Japan: Central Japan Quality Control Association.

    Van Laarhoven, P.J.M., Aarts, E.H.L. and Lenstra, J.K., 1992. Job shop scheduling by simulatedannealing. Operations Research, 40 (1), 113125.

    Vieira, G.E. and Ribas, P.C., 2004. A new multi-objective method for master production scheduling

    problems using simulated annealing. International Journal of Production Research, 42 (21),46094622.

    5236 A. Manikas and Y.-L. Chang