Multi-criteria sequence-dependent job shop scheduling using genetic algorithms

Multi-criteria sequence-dependent job shop scheduling using genetic algorithms

Computers & Industrial Engineering 56 (2009) 179–185 Contents lists available at ScienceDirect Computers & Industrial Engineering journal homepage: ...

196KB Sizes 0 Downloads 72 Views

Computers & Industrial Engineering 56 (2009) 179–185

Contents lists available at ScienceDirect

Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie

Multi-criteria sequence-dependent job shop scheduling using genetic algorithms Andrew Manikas a,*, Yih-Long Chang b a b

The College of Business Administration, University of Wisconsin, Oshkosh, 800 Algoma Boulevard., Oshkosh, WI 54901, USA The College of Management, Georgia Institute of Technology, 800 West Peachtree Street, Atlanta, GA 30332-0520, USA

a r t i c l e

i n f o

Article history: Received 24 February 2007 Received in revised form 2 May 2008 Accepted 2 May 2008 Available online 11 May 2008 Keywords: Job shop scheduling Genetic algorithm Sequence-dependent setup times

a b s t r a c t Real world job shops have to contend with jobs due on different days, material ready times that vary, reentrant workflows and sequence-dependent setup times. The problem is even more complex because businesses often judge solution goodness according to multiple competing criteria. Producing an optimal solution would be time consuming to the point of rendering the result meaningless. Commonly used heuristics such as shortest processing time (SPT) and earliest due date (EDD) can be used to calculate a feasible schedule quickly, but usually do not produce schedules that are close to optimal in these job shop environments. We demonstrate that genetic algorithms (GA) can be used to produce solutions in times comparable to common heuristics but closer to optimal. Changing criteria or their relative weights does not affect the running time, nor does it require programming changes. Therefore, a GA can be easily applied and modified for a variety of production optimization criteria in a job shop environment that includes sequence-dependent setup times. Ó 2008 Elsevier Ltd. All rights reserved.

1. Introduction Sequence-dependent setup times in job shops are very common. Moving from one family of parts to another can involve a significant setup time compared to producing similar parts to those that were just run. This type of problem is mathematically complex to solve optimally, therefore simplistic heuristics like shortest processing time (SPT), earliest due date (EDD), first-in-first-out (FIFO) or even ad hoc scheduling are often used because management can readily understand them. Additional complexity arises because management routinely wants to consider multiple criteria when evaluating schedule goodness. In many manufacturing environments, the sequence of jobs run on a particular machine affects the setup times. The author had the opportunity to work at a sheet metal fabricator in 1991 where the job shop environment had machines where the setup times would vary according to the sequence of jobs processed. For example, the turret punch could use the same punch for jobs of similar products while a different product would require the punch to be changed on the machine. The plant simply batched together 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 which customer had called most recently. The setup times for each order are different due to different previous job order. The similar job grouping by type was used in front of the numerical controlled (NC) machine. This situation is common in many * Corresponding author. E-mail addresses: [email protected] (A. Manikas), YihLong.Chang@mgt. gatech.edu (Y.-L. Chang). 0360-8352/$ - see front matter Ó 2008 Elsevier Ltd. All rights reserved. doi:10.1016/j.cie.2008.05.002

environments with flexible manufacturing, where setting up once to run a particular major class of parts is done, then minor setups to alter specific products are done within the same major part class. The setup time for a particular major class of parts typically depends upon the previous part family.We consider a job shop environment with multiple machines where multiple jobs consisting of a set number of operations each must be scheduled according to various criteria. We will demonstrate that a simple genetic algorithm (GA) can produce a good result quickly for managers for a complex set of sequence-dependent job shop scheduling problems. A GA is a viable approach to solving optimization problems. The principles of a 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). The basic structure of a GA is:  Create an initial set of solutions.  Score the initial set of solutions.  Loop for reproduction. – Copy the best solution to a new population. – Randomly Mutate a small subset of the population to introduce solution variety. – Mating to combine solutions in the population according to their fitness, in terms of score goodness, to create new solutions. – Score the new set of solutions.  Until termination criteria.

180

A. Manikas, Y.-L. Chang / Computers & Industrial Engineering 56 (2009) 179–185

This paper is organized into the following sections; Section 2 is a literature review of job shop scheduling, sequence-dependent setups in scheduling, and GAs as an optimization tool. Section 3 is a description of the problem we are trying to solve. Section 4 is the mechanism behind how GAs work in general and specifics on our GA. Section 5 explains how the tests are set up. Section 6 is a robustness test of the GA for various types of job shop problems. Section 7 is the summary and discussion of the implications of the results. 2. Literature review Job shops provide a unique scheduling problem because the routings are based upon the jobs that need to be processed and therefore the resource requirements are not based upon the quantity as in a flow shop but rather the routings for the products being produced. Job shop scheduling belongs to the class of intractable problems known as NP-hard (Jain & Meeran, 1999). Flow shop problems with sequence-dependent setups are extensively covered in the current literature (Gupta, 1986; Kochhar & Morris, 1987; Osman & Potts, 1989; Reeves, 1995; Rios-Mercado & Bard, 1999; Ruiz, Maroto, & Alcaraz, 2005). Very little has been done in job shops with sequence-dependent setups. Solution methods for job shop scheduling range from simple greedy heuristics such as SPT and EDD to more complex heuristics such as branch and bound (Brucker, Jurisch, & Sievers, 1994), tabu search (Nowicki & Smutnicki, 1996), and genetic algorithms as will be discussed in this section. Finding a sequence of operations, even for a single machine with sequence-dependent setup times and a single measure such as makespan is equivalent to the traveling salesman problem (TSP) and is therefore NP-hard (Pinedo, 2002). Schutten (1998) discusses extending the shifting bottleneck procedure (Adams, Balas, & Zawack, 1988) to accommodate family setup times, staggered release and due dates and other more realistic constraints one extension at a time. However, they conclude that to alter the shifting bottleneck to handle these features results in large computation times and is therefore not usable in practical situations. Sun and Noble (1999) solve a job shop scheduling problem with the objective of minimizing the weighted sum of squared tardiness by decomposing it into a series of single machine scheduling problems. They find superior results to simulated annealing and tabu search with their method. Classical job shop scheduling problems have also been solved using a GA. Candido, Khator, and Barcia (1998) add realistic constraints and use multiple objectives for their GA. The GA is used to find the initial solutions and then these solutions are enhanced with a local hill climbing routine. Finally a modified GA is used to further refine the schedule. However, this routine was not applied to sequence-dependent setup times. The ability of GAs to handle complex constraints is further shown by allowing dual-resource constraints in a scheduling problem (ElMaraghy, Patel, & Abdallah, 2000). They achieve better solutions by forcing feasible solutions from birth rather than allowing infeasible solutions to exist in the population. They choose to use a random initial population rather than heuristic based. The paper also shows that linear order crossover (LOX) performs better than partially matched crossover for their particular problem. The LOX crossover method preserves relative position between genes (Falkenauer & Bouffouix, 1991). Cai, Wu, and Yong (2000) devise 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. Given these initial successes with applying genetic algorithms, we

choose to apply a genetic algorithm as the method to solve our series of job shop problems. Our problems are made more realistic and more complex by allowing multiple criteria in the objective function. Having a single criterion to solve for 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 problems involve earliness, tardiness, customer/job ranking and Cmax (makespan) as criteria to form the objective function. However any number of criteria can be easily included in the weighted objective function in our GA solution. We use weighted multiple criteria similar to Fulya, Mitsuo, Lin, and Turan (2006). 3. Problem description In many manufacturing environments, the sequence of jobs run on a particular machine affects the setup times. The author had the opportunity to work at a sheet metal fabricator in 1991 where the job shop environment had machines where the setup times would vary according to the sequence of jobs processed. For example, the turret punch could use the same punch for jobs of similar products while a different product would require the punch to be changed on the machine. The plant simply batched together 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 which customer had called most recently. The setup times for each order are different due to different previous job order. The similar job grouping by type was used in front of the numerical controlled (NC) machine. This situation is common in many environments with flexible manufacturing, where setting up once to run a particular major class of parts is done, than minor setups to alter specific products are done within the same major part class. The setup time for a particular major class of parts typically depends upon the previous part family. In manufacturing environments a feasible good solution is a must. An optimal solution is a goal that cannot often be obtained given time constraints. Commonly used heuristics such as SPT and EDD can quickly create feasible solutions, but as problem complexity increases the solutions may be far from optimal. In this paper, to obtain not only a feasible solution, but to also find a better one according to management’s criteria, we will develop a GA procedure and compare its results against common heuristics. To make our job shop scheduling problems more realistic, in addition to sequence setup times, the environment contains staggered release dates and recirculation. Staggered release dates means that we do not assume all jobs are ready to start at the same time. This is common in real life since material availability is often based upon supplier deliveries of components or raw materials. Recirculation is the ability of a job routing to visit the same machine more than once. The job shop scheduling problems used in this paper are non-delay, meaning that a machine must process a job if it is available for a waiting job. The job shop allows no preemption of jobs (a job being processed on a machine must finish completely before the next job starts, interruptions are not allowed). Precedence relationships among operations of the same job are respected. Each machine resource processes at most one job at a time. We first use three criteria and weight them to form our 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 evaluated according to the weighted cri-

A. Manikas, Y.-L. Chang / Computers & Industrial Engineering 56 (2009) 179–185

teria. The relative importance of each of these three criteria can be changed to meet a manufacturer’s needs. Each job’s routing is known a priori, but the 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 to compare with our GA tests. The deterministic job shop scheduling problem, IJ, consists of a finite set J of n jobs fJ i gni¼1 to be processed on a finite set M of m machines fM k gm k¼1 . Each job, Ji, must be processed on every machine in its routing consisting of mi = {Oi1 ; Oi2 ; . . . ; Oimi } performed in order. P There are N operations in total, N ¼ ni¼1 mi . Oik is the operation of job Ji which has to be processed on machine Mk for an uninterrupted processing time period Pik, and no operation may be preemptied. Each job has its own unique routing. Each job has a release time Ri, and a due date, Di. Each job can only be processed by one machine at a time. The schedule goodness will be measured by different criteria. For example, a common single criteria used is Cmax, i.e., the maximum completion or makespan, mean tardiness, or total earliness. We will use multiple weighted criteria in our objective functions to reflect the tradeoffs that production planners deal with when scheduling. An example performance objective function would be 5 * tardiness * job ranking + earliness + .1 * Cmax. In a general form, l weighted criteria can be combined into an objective function to minimize or maximize its value as expressed below.

min or max f ðw1 c1 ; w2 c2 ; . . . ; wl cl Þ 4. Scheduling using genetic algorithms A GA uses probabilistic selection as a basis for evolving a population of problem solutions. An initial population is created and subsequent generations are created according to a pre-specified breeding and mutation methods inspired by nature. 4.1. Mechanics of genetic algorithms The basic procedure of a GA is described earlier. In the following sections we describe each of the GA mechanisms for our scheduling problem briefly. 4.1.1. Initialization and evaluation A GA must be initialized with a starting population. The methods for creating an initial population are varied: feasible only, randomized, using heuristics, etc. For this problem we choose to use only feasible solutions at all times for the simple reason that we would not know how to score an infeasible solution to scheduling a job shop. If the routing is scheduled out of order, thus causing an infeasible solution, how can a lateness score be meaningful? Using feasible only to avoid combinatorial explosion is described in Marian, Luong, and Abhary (2006). We use randomized sequences for each machine to seed the initial solution. These sequences are then turned into schedules by inserting idleness and waiting times. If the machine sequences are feasible (do not violate the job routings and resource constraints), then a feasible schedule can always be created by allowing idle time on the machines as required. Having the GA only operate on feasible solutions is shown to speed up the evolutionary process (Della Croce, Tadei, & Volta, 1995). 4.1.2. Reproduction Once we have an initial population, it is evaluated and noted as the parent population. Three methods of reproduction create the next generation (children): (1) elite, (2) mutation, and (3) crossover.

181

4.1.2.1. Elite. The best solution or solutions found should be considered in subsequent generations. At a minimum, the single best solution from the parent generation needs to be copied to the next generation thus ensuring the best score of the next generation is at least as good as the prior generation. Here elite is expressed as a percent. For example, elite 1% means that we clone the top 1% of the population solutions for the next generation. 4.1.2.2. Mutation. Mutation is expressed as a percent. For each solution in the parent population a random number is picked giving this solution a percent chance of being mutated. If this solution is picked for mutation then a copy of the solution is made and operation sequence steps inverted. Only operations from different jobs will be inverted so that the resulting mutation will always still be a feasible sequence. Mutation can be thought of as asexual reproduction. 4.1.2.3. Crossover. Crossover is the breeding of two parents to produce a single child. That child has features from both parents and thus may be better or worse than either parent according to the objective function. Analogous to natural selection, the more fit the parent is the more likely they are to have offspring. A simple way of accomplishing this selection is via tournament selection. Two candidate solutions are randomly selected from the complete population, including those chosen as elite. The better ranked (in terms of score) of the two is selected to be parent 1. Then two more candidate solutions are randomly selected. The better scored of these last two candidates becomes parent 2. By using tournament selection, 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). The wheel has different width spaces so that the worst solution has the narrowest wedge increasing up to the best solution with the widest wedge. By selecting operations in sequence from each parent, we ensure that the resulting child sequence is feasible. Sequences are turned into schedules via a simple earliest available or schedulable operation first rule. These simple rules guarantee that all child solutions are feasible and non-delay, as their parents were. In the following, we demonstrate a simple crossover example. For simplicity, we focus on a single machine. For a multiple machine situation, the crossover can be done for each machine in a prespecified order or randomly. In Fig. 1, a child machine sequence is made by randomly selecting the next unscheduled Job/Operation from either Parent 1 or Parent 2. In this case Parent 2 was selected first, so its first sequence on Machine 1, Job 1/Operation 2 is put into the child’s Machine 1 sequence. This Job/Operation is marked as already scheduled in Parent 1. This random ‘‘flipping of a coin” selection would occur five times for Machine 1 since that is the length of the sequence on Machine 1. The result below in Fig. 2 shows what the child sequence would look like if the parents were selected in the order 2, 1, 1, 2, 2. 4.1.3. Generations After generating the initial population, the reproduction phase commences using the initial population members as parents to produce the first generation. Since the elite portion of reproduction clones the best scoring solution in the parent generation, we are assured that the next generation will have at least one member as good as the best from the prior generation. Therefore, scores can only stay the same or improve with each new generation. It logically follows that the more generations that are produced, the routine has more chance of finding a solution closer to the optimal one. The number of generations linearly impacts the running time of GA (Manikas & Chang, 2005).

182

A. Manikas, Y.-L. Chang / Computers & Industrial Engineering 56 (2009) 179–185

Parent 1 Mach 1

3/1

4/1

5/2

1/2

4/ 4

Mach 1

1/2

4/1

3/1

5/2

4/ 4

Mach 1

1/2

Parent 2

Child

Legend: a/b: job/operation. Fig. 1. Creation of first child operation.

Parent 1 Mach 1

3/1

4/1

5/2

1/2

4/4

Mach 1

1/2

4/1

3/1

5/2

4/4

Mach 1

1/2

3/1

4/1

5/2

4/4

Parent 2

Child

Legend: a/b: job/operation. Fig. 2. Final child sequence.

4.1.4. Population size We generate a random initial population according to the method described in Section 4.1.1. The larger the initial population that is created, the more likely the best solution from it will be closer to optimal. For each subsequent generation, a large population size is also beneficial. For an equivalent mutate percent, there is a higher chance of a beneficial mutation when more mutations can occur because the population size increases. The amount of crossover breeding also increases as the population size goes up. The population size impacts the running time of GA at a near linear rate (Manikas & Chang, 2005). 4.2. Parameters There are many parameters that can be considered when programming the GA procedure. Since the number of generations impacts solution goodness and running time linearly, we will not limit the number of generations to a specific number, but instead we will impose a running time limit for the GA. To ensure the mechanisms of the algorithm have time to act in a short duration run, we chose a very small population size of six chromosomes, similar to Miller, Chen, Matson, and Liu (1999). To ensure that our small population started from a good initial stock, we created a large initial population of 1000. This initial population takes several seconds to generate, but from this, the best solutions are chosen to breed to create subsequent small populations of size six. This technique of having a large initial population and smaller subsequent populations to increase iterations is discussed on the Java Developers Webpage article on An Introduction to Genetic Algorithms in Java (2007). After we randomly construct 1000 feasible sequences then we turn them into feasible schedules in a method following Giffler and Thompson (1960), our initial population will have the requisite overall goodness as described in Park, Choi, and Kim (2003). Based on the existing literature on GAs, an elite rate of 1%, mutation rate of 5% with one interchange were chosen as reasonable parameter values.

5. Experimental data sets To test the effectiveness of the GA algorithm for our problem, we develop an experiment to test different factors of our problems. Table 1 below shows the 18 scenarios with various numbers of machines, jobs, operations per job, job families, and the relative size of setup time to run time. The SR column has EQ is the processing time and setup time are pulled from the same distribution, SM where setup is pulled from a distribution 1/10 as wide (1/10 the mean) as the processing time, and LG is where setup is pulled from a distribution 10 times as wide (10 times as large as the mean) as the processing time. This design of experiment is the Taguchi’s L18 design (Phadke, 1989), commonly used for test of robust design (Taguchi & Wu, 1979). The above scenarios will be run using common heuristics as a benchmark. We use both job oriented and machine oriented heuristics.

Table 1 Problem set characteristics Set No.

Mach

Jobs

Ops

Fam

SR

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

6 6 6 8 8 8 10 10 10 6 6 6 8 8 8 10 10 10

4 6 8 4 6 8 4 6 8 4 6 8 4 6 8 4 6 8

4 6 8 4 6 8 6 8 4 8 4 6 6 8 4 8 4 6

2 3 4 3 4 2 2 3 4 4 2 3 4 2 3 3 4 2

SM EQ LG EQ LG SM LG SM EQ EQ LG SM SM EQ LG LG SM EQ

SR, ratio of setup time to process time.

183

A. Manikas, Y.-L. Chang / Computers & Industrial Engineering 56 (2009) 179–185

Job oriented heuristics look at the entire job when evaluating which operation gets precedence in scheduling (Chang, Sueyoshi, & Sullivan, 1996). SPT – shortest processing time. SSTPT – shortest setup time and processing time. EDD – earliest due date. LWKR – least work remaining. MWKR – most work remaining. STR – minimum slackness, i.e., (due date  today’s date)  (days required to complete job).  CR – critical ratio = (due date  today’s date)/(days required to complete job).  ATCS – apparent tardiness cost sequence-dependent (Pinedo, 2005).      

Machine oriented heuristics look at the queue of waiting jobs in front of each machine when evaluating which job operation gets precedence in scheduling. Machines are analyzed sequentially for simplicity.  SPT, SSTPT, EDD, LWKR, MWKR, STR, CR and ATCS are the same as above but from a 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 weightings case 1 For the 18 problem sets in Table 1, the first objective is to minimize the following weighted criteria: Tardiness * Job ranking + 5 * Earliness Where Tardiness is the job finish time beyond due date, Earliness is the job finish time before due date, and Job Ranking is a customer preference. Often companies have an ABC customer ranking, or Gold customer status, or even a forced ranking of all customer jobs as we simulate here with Job Ranking. We are not arguing for or against any particular criteria or weighting, but rather demonstrating that at the discretion of a company’s management, any weighting can be quickly applied via a GA. Table 2 gives the results of our tests for this objective function on the 18 different problem parameters. For each parameter set in Table 2 Case 1 results Set No.

30 s

1 min

Rnd

Job Heur

Queue Heur

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

46 44 33 43 44 35 42 36 44 36 47 37 43 40 43 42 44 39

50 50 46 49 50 44 50 49 50 49 50 48 50 48 50 50 49 48

0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1

0 0 4 1 0 6 0 0 0 0 0 1 0 1 0 0 0 1

0 0 1 0 0 5 0 0 0 0 0 0 0 1 0 0 0 1

Note: The number represents the best solutions for all 50 problems.

Table 1, we randomly created 50 problems according to the distributions in Appendix A. We forced the GA to terminate after 30 s and then in a second run after 1 min. To ensure that the mechanics of the GA were responsible for solution goodness, we also randomly generated solutions for 1 min for each of the 900(18 * 50) problems. It is known that the longer a GA runs, the more chance it has to converge to a better schedule. Although the common heuristics run in a few seconds, in 30 s or 1 min, the GA typically outperformed the other methods. In 30 s, for 738 out of 900 tests (82%) the GA had a better score than common job oriented and queue oriented heuristics as well as randomly creating feasible solutions for 1 min. In 1 min, the GA was best in 880 out of 900 tests (97.8%). Randomly generating solutions for 1 min was better than running the GA for 1 min in 4 out of 900 test cases. Job oriented heuristics were better in 14 out of 900 test cases than running the GA for 1 min. Queue oriented heuristics were better in 8 out of 900 test cases than running the GA for 1 min. Note that the numbers in the row do not necessarily add up. For example, in test case 3, the GA running for 1 min was best in 46 out of 50 data sets. Job oriented heuristics were better in 4 out of 50, and queue oriented heuristics were better than the GA for 1 of those same 4 that the job oriented heuristic was also better. It would be possible to develop a new heuristic for each set of criteria and weights. However, this approach would require a production scheduler to design new heuristics and get code changes made whenever he wanted to alter the goodness criteria for the objective function. Besides showing the number of better solutions in Table 2, we also computed the average objective function values for the corresponding experiments. Table 3 shows the results. In these objective function values, the GA running for 1 min outperformed all other test methods from .12–17.77%. 6.2. Criteria weightings case 2 We will use the same 900 datasets again, but have altered the objective function to include one more criterion. For these problems, the second objective is to minimize the following weighted criteria: Tardiness * Job Ranking + 5 * Earliness + 8 * Cmax With the same datasets, but a more complex objective function, the GA running for 30 s was better than randomly generating solutions and common heuristics in 887 test cases out of 900 (98.6%). Running for 1 min, the GA produced the best solution according to the weighted criteria in 890 out of 900 test cases (98.9%). The

Table 3 Case 1 results – means of the objective functions Set No.

30 s

1 min

Rnd

Heur J

Heur Q

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

62,005 166,330 550,603 89,873 124,396 376,667 49,205 207,804 179,248 118,813 127,223 311,831 47,694 213,808 168,520 72,653 121,852 260,922

61,978 160,693 514,610 89,758 120,923 358,787 49,243 190,890 174,103 115,307 126,664 287,377 47,307 200,082 165,814 70,127 123,169 247,114

62,156 182,959 605,141 89,863 134,953 406,989 50,076 208,727 182,902 121,087 129,504 327,318 48,597 227,534 174,752 74,873 123,658 291,038

272,027 835,435 2,247,101 377,232 663,765 1,665,464 212,736 922,744 972,356 570,592 609,379 1,428,425 232,572 1,110,059 941,019 353,782 543,612 1,262,360

289,888 726,716 1,374,295 409,258 628,538 999,557 269,600 760,840 852,367 511,614 636,078 978,431 238,253 787,966 856,828 397,294 551,831 980,858

184

A. Manikas, Y.-L. Chang / Computers & Industrial Engineering 56 (2009) 179–185

results are shown in Table 4. Probabilistically, extending the running time of the GA beyond 1 min would increase the solutions goodness, so a planner may allocate 1, 2, or 5 min to produce very good solutions to these complex problems. Very little programming change was required to add this Cmax criterion. No custom heuristic had to be invented for these criteria. The GA takes care of all criteria and weightings in the objective function. The running time of the GA is essentially the same regardless of how many criteria a production manager wants to use to optimize his schedule. Again, we also computed the average objective function values for the corresponding experiments of case 2. Table 5 shows the results. In these objective function values, running for 1 min, the GA outperformed all other test methods from 6% to 88%. The GA did well in both cases, and we would expect it to do well for any combinations of criteria. The more criteria in the objective function, the less well common heuristics can be expected to perform compared to this GA.

Table 5 Case 2 results – means of the objective functions Set No.

30 s

1 min

Rnd

Heur J

Heur Q

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

103,062 218,934 631,247 133,457 182,555 447,808 91,793 257,630 235,015 172,733 173,577 343,611 92,469 276,834 218,597 119,741 166,971 322,305

103,059 217,753 606,728 133,424 176,349 424,080 91,985 246,322 226,103 172,527 173,112 344,446 91,930 266,007 220,091 118,587 166,867 309,109

124,311 365,917 1,210,281 179,726 269,907 813,979 100,151 417,454 365,804 242,174 259,008 654,637 97,194 455,068 349,504 149,745 247,315 582,077

211,500 547,950 1,299,344 269,085 441,953 952,453 185,307 577,740 587,772 404,394 394,213 841,072 200,492 698,056 567,805 271,877 352,624 761,720

216,448 451,266 784,957 280,623 400,618 587,496 210,428 466,825 508,693 348,254 394,885 571,927 195,994 489,452 508,732 283,075 349,854 580,527

7. Implications and conclusions Job shop scheduling with sequence-dependent setup times is common in many industries. The sheet metal fabricator mentioned in the introduction is one example. Environments where processing a light color product after a dark color one results in significantly more machine cleaning to avoid bleed through is a situation where the production planner will want to minimize idle time by scheduling light to dark where possible. The apparel assembly industry routinely encounters sequence-dependent setup times when assigning operators to machines. A customized version of this algorithm was demonstrated for the CEO of a custom built, high-end race car assembler. Sequencing of jobs to minimize downtime due to switching thicknesses of carbon fiber materials when applying composite layers to the car frame is estimated to decrease their average cycle time by 18%. Common heuristics and GAs can find quick, feasible solutions to job shop scheduling problems that involve complexities such as sequence-dependent setup times, spaced release dates and multiple criteria. Common heuristics run quickly but do not converge to optimal like a GA. Because of the speed with which the GA runs, changes to customer release and due dates, routing changes, and order deletions and additions can be reflected in a new schedule quickly. The results for this study demonstrate that near optimal solutions can

Table 6 Uniform distributions for machine setup times for different families

Table 4 Case 2 results

Appendix A. Uniform distributions for test data

Set No.

30 s

1 min

Rnd

Job Heur

Queue Heur

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

50 50 47 50 50 45 50 50 50 49 50 49 49 49 50 49 50 50

50 50 49 50 50 46 50 50 50 49 50 49 49 49 50 49 50 50

0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0

0 0 0 0 0 3 0 0 0 0 0 0 0 1 0 0 0 0

0 0 1 0 0 4 0 0 0 0 0 1 0 1 0 0 0 0

Note: The number represents the best solutions for all 50 problems.

From family

1 2 3

To family 1

2

3

u(20, 70) u(80, 230) u(80, 230)

u(50, 150) u(20, 70) u(80, 230)

u(50, 150) u(50, 150) u(20, 70)

be achieved in a very short timeframe with the GA. The longer the GA is allowed to run, the more likely the final solution will be better according to the planner’s criteria. The common heuristics used here achieved a wide variety of results which are highly dependent on the problem being solved. Since all 18 heuristics can be run together in several seconds, a planner could run the GA and these heuristics and take the best result. This would give a solution with a lower bound of the best heuristic, but with the ability to be much closer to optimal depending on how long the GA is allowed to run. We have shown that this GA performance is relatively insensitive to the problem data and criteria for evaluation. This GA can be easily enhanced by adding resource calendars, alternate machines with different costs or scrap rates, learning curves on machines and other complexities.

Uniform distributions to create the test data for all runs are shown in Table 6. The number ranges were selected such that going from lower number families to higher number families takes longer than staying in the same family. Moving to a higher number family takes from 50 to 150 times units. Staying in the same family takes between 20 and 70 times units. To go from a higher family number to a lower family number is the biggest penalty (for example, going from the darkest color family to the lightest color family) and therefore takes from 80 to 230 time units. Other distributions for release times, due dates, and processing times are listed below.  Release time of a job: u(500, 1000)  Due date of a job: u(800, 2800)  Processing time per operation: u(50, 250) Processing times were chosen to be roughly equivalent to setup times for this base case. Release times were allowed to be between

A. Manikas, Y.-L. Chang / Computers & Industrial Engineering 56 (2009) 179–185

500 and 1000 allow jobs to be staggered. Due dates were set to a range such that given the release date range plus processing time ranges, jobs could finish early depending on the setup times. However, jobs are not presupposed to all be able to finish early, on-time or late since this depends on the families and optimal sequence. References Adams, J., Balas, E., & Zawack, D. (1988). The shifting bottleneck procedure for job shop scheduling. Management Science, 34(3), 391–401. Brucker, P., Jurisch, B., & Sievers, B. (1994). A branch and bound algorithm for the job shop scheduling problem. Discrete Applied Mathematics, 49(1), 109–127. Cai, K. W., Wu, Q. H., & Yong, Z. Z. (2000). A genetic algorithm with local search for solving problems. Real-world applications of evolutionary computing, EvoWorkshops 2000, Edinburgh, Scotland, UK, Springer-Verlag. Candido, M. A. B., Khator, S. K., & Barcia, R. M. (1998). A genetic algorithm based procedure for more realistic job shop scheduling problems. International Journal of Production Resources, 36(13), 3437–3457. Chang, Y. L., Sueyoshi, T., & Sullivan, R. S. (1996). Ranking dispatching rules by data envelopment analysis in a job shop environment. IIE Transactions, 28, 631–642. Della Croce, F., Tadei, R., & Volta, G. (1995). A genetic algorithm for the job shop problem. Computers & Operations Research, 22(1), 15–24. ElMaraghy, H., Patel, V., & Abdallah, I. B. (2000). Scheduling of manufacturing systems under dual-resource constraints using genetic algorithms. Journal of Manufacturing Systems, 19(3), 186–201. Falkenauer, E., & Bouffouix, S. (1991). A genetic algorithm for job shop. In Proceedings of the IEEE international conference on robotics and automation, Sacramento, CA. Fulya, A., Mitsuo, G., Lin, L., & Turan, P. (2006). A genetic algorithm approach for multi-objective optimization of supply chain networks. Computers & Industrial Engineering, 51(1), 196–215. Giffler, J., & Thompson, G. L. (1960). Algorithms for solving production scheduling problems. Operations Research, 8(4), 487–503. Goldberg, D. (1989). Genetic algorithms in search, optimization, and machine learning. Indianapolis, IN: Addision Wesley. Gupta, J. N. D. (1986). Flowshop schedules with sequence dependent setup times. Journal of Operations Research Society of Japan, 29, 206–219. Holland, J. (1975). Adaptation in natural and artificial systems. Ann Arbor, MI: The University of Michigan Press. Jain, A. S., & Meeran, S. (1999). Deterministic job shop scheduling: Past, present and future. European Journal of Operational Research, 113(2), 390–434.

185

Java Developers Journal webpage. (2007). An Introduction to Genetic Algorithms in Java (Harnessing the power of evolution’s optimization algorithm), retrieved 1/ 20/2007. Available from . Kochhar, S., & Morris, R. J. T. (1987). Heuristic methods for flexible flow line scheduling. Journal of Manufacturing Systems, 6(4), 299–314. Manikas, A., & Chang, Y. L. (2005). Using a genetic algorithm to solve the sequence dependent job shop scheduling problem. In Proceedings of INFORMS SE 2005, Myrtle Beach, South Carolina. Marian, R., Luong, L., & Abhary, K. (2006). A genetic algorithm for the optimization of assembly sequences. Computers & Industrial Engineering, 50(4), 503–527. Miller, D., Chen, H.-C., Matson, J., & Liu, O. (1999). A hybrid genetic algorithm for the single machine scheduling problem. Journal of Heuristics, 5(4), 437–454. Mitchell, M. (1996). An introduction to genetic algorithms. Boston, MA: The MIT Press. Nowicki, E., & Smutnicki, C. (1996). A fast taboo search algorithm for the job shop problem. Management Science, 42(6), 797–813. Osman, I. H., & Potts, C. N. (1989). Simulated annealing for permutation flow-shop scheduling. Omega, 17(6), 551–557. Park, B. J., Choi, H. R., & Kim, H. S. (2003). A hybrid genetic algorithm for the job shop scheduling problems. Computers & Industrial Engineering, 45, 597–613. Phadke, M. (1989). Quality engineering using robust design. Prentice Hall, NJ: Englewood Cliffs. Pinedo, M. (2002). Scheduling: Theory, algorithms and systems (2nd ed.). Englewood Cliffs, NJ: Prentice Hall. Pinedo, M. (2005). Planning and scheduling in manufacturing and service (1st ed.). New York: Springer-Verlag. Reeves, C. R. (1995). A genetic algorithm for flowshop sequencing. Computers and Operations Research, 22(1), 5–13. Richter, H. (2002). An evolutionary algorithm for controlling chaos: The use of multi-objective fitness functions. In Proceedings of the 7th international conference on parallel problem solving from nature (vol. 2439, pp. 308–320). Rios-Mercado, R. Z., & Bard, J. F. (1999). A branch-and-bound algorithm for permutation flow shops with sequence-dependent setup times. IIE Transactions, 31(8), 721–731. Ruiz, R., Maroto, C., & Alcaraz, J. (2005). Solving the flowshop scheduling problem with sequence dependent setup times using advanced metaheuristics. European Journal of Operational Research, 165, 34–54. Schutten, J. M. J. (1998). Practical job shop scheduling. Annals of Operations Research, 83, 161–177. Sun, X., & Noble, J. (1999). An approach to job shop scheduling with sequencedependent setups. Journal of Manufacturing Systems, 18(6), 416–430. Taguchi, G., & Wu, Y.-I. (1979). Introduction to off-line quality control. Central Japan Quality Control Association, Meieki Nakamura-Ku Magaya, Japan.