A genetic algorithm for job sequencing problems with distinct due dates and general early-tardy...

13
Pergamon 0305-0548(94)00073-5 Computers Ops Res. Vol 22, No. 8. pp. 857 869, 1995 Copyright .~' 1995Elsevier ScienceLid Printed in Great Britain.All rights reserved 0305-0548/95 $9.50 + 0.00 A GENETIC ALGORITHM FOR JOB SEQUENCING PROBLEMS WITH DISTINCT DUE DATES AND GENERAL EARLY-TARDY PENALTY WEIGHTS C. Y. Leer and J. Y. Choi+ + Department of Management Science, Korea Advanced Institute of Science and Technology, 373-1 Kusung dong, Taejon, 305-701, Korea ( Receieed November 1993; in revised.form September 1994) Scope and Purpose--This paper considers the problem of sequencing a set of jobs on a single machine. A generally weighted penalty is imposed for each job either early or tardy from its distinct due date. The goal is to obtain a schedule that minimizes the total penalties. A genetic algorithm is developed by employing problem specific reproduction, crossover and mutation operators. The performance of the proposed evolution algorithm is proved to outperform the best known existing heuristic method. Abstract A job scheduling problem with distinct due dates in a single machine is considered. General penalty weights which are not necessarily proportional to the processing times are applied to jobs either early or tardy. An optimal timing algorithm is presented which decides the optimal starting time of each job in a given job sequence. Idle times are inserted between blocks of jobs such that the cost function of each newly created job block is minimized. Prominent near optimal sequences are generated via a genetic algorithm N best reproduction without duplicates, uniform order-based crossover and intra-block mutation operators are employed. The proposed genetic algorithm is proved to outperform existing heuristic methods. On average, 12-33% cost reduction effect is obtained by the evolution algorithm compared to the solution by an excellent heuristic procedure. The near optimality of the solutions by the GA is also illustrated by the comparison with an exact algorithm. 1. INTRODUCTION In the past several years, many researchers have considered various types of single machine scheduling problems that deal with early and tardy penalties. Baker and Scudder [1] classified the problems according to the number of due dates, the tightness of due dates and the types of penalties. A typical example of such a scheduling problem arises in the just-in-time production planning, The delivery of parts which is either early or tardy causes cost in the production. The distinct due dates problem without inserted idle time is considered by Held and Karp [2], Abdul-Razaq and Ports [3] and Ow and Morton [4]. Held and Karp [2] presented a dynamic programming approach for the problem without inserted idle time. In their formulation the state space is defined with a set of jobs and the recursion is performed by adding a job to the previous job set. A lower bound scheme that can be used in a branch and bound algorithm is proposed by Adbul-Razaq and Potts [3]. The lower bound is obtained by performing the recursion on a suitably relaxed state space containing fewer states than in the formulation by Held and Karp. In this method the state space is relaxed by mapping states representing subsets of jobs onto states representing total processing time of jobs in the subset. +Chae Y. Lee is an Associate Professor of Management Science at the Korea Advanced Institute of Science and Technology. Dr Lee holds a Ph.D. in O.R. from Georgia Institute of Technology. His research includes scheduling, heuristics search and learning. ~Jae Young Choi is a doctoral candidate in Management Science at the Korea Advanced Institute of Science and Technology. Mr Choi holds a M.S. and a B.A.degree in Management Science from KAIST. He is interested in production scheduling, heuristics, artificial intelligence and management information system. 857

Transcript of A genetic algorithm for job sequencing problems with distinct due dates and general early-tardy...

Pergamon 0305-0548(94)00073-5

Computers Ops Res. Vol 22, No. 8. pp. 857 869, 1995 Copyright .~' 1995 Elsevier Science Lid

Printed in Great Britain. All rights reserved 0305-0548/95 $9.50 + 0.00

A GENETIC ALGORITHM FOR JOB SEQUENCING PROBLEMS WITH DISTINCT DUE DATES AND GENERAL

EARLY-TARDY PENALTY WEIGHTS

C. Y. Lee r and J. Y. Choi+ + Department of Management Science, Korea Advanced Institute of Science and Technology,

373-1 Kusung dong, Taejon, 305-701, Korea

( Receieed November 1993; in revised.form September 1994)

Scope and Purpose--This paper considers the problem of sequencing a set of jobs on a single machine. A generally weighted penalty is imposed for each job either early or tardy from its distinct due date. The goal is to obtain a schedule that minimizes the total penalties. A genetic algorithm is developed by employing problem specific reproduction, crossover and mutation operators. The performance of the proposed evolution algorithm is proved to outperform the best known existing heuristic method.

Abstract A job scheduling problem with distinct due dates in a single machine is considered. General penalty weights which are not necessarily proportional to the processing times are applied to jobs either early or tardy. An optimal timing algorithm is presented which decides the optimal starting time of each job in a given job sequence. Idle times are inserted between blocks of jobs such that the cost function of each newly created job block is minimized. Prominent near optimal sequences are generated via a genetic algorithm N best reproduction without duplicates, uniform order-based crossover and intra-block mutation operators are employed. The proposed genetic algorithm is proved to outperform existing heuristic methods. On average, 12-33% cost reduction effect is obtained by the evolution algorithm compared to the solution by an excellent heuristic procedure. The near optimality of the solutions by the GA is also illustrated by the comparison with an exact algorithm.

1. INTRODUCTION

In the past several years, many researchers have considered var ious types of single machine schedul ing p rob lems that deal with early and ta rdy penalties. Baker and Scudder [1] classified the p rob lems accord ing to the number of due dates, the t ightness of due dates and the types of penalties. A typical example of such a schedul ing p rob lem arises in the jus t - in- t ime p roduc t ion planning, The del ivery of par t s which is ei ther early or t a rdy causes cost in the product ion .

The dis t inct due dates p rob lem wi thout inserted idle t ime is considered by Held and K a r p [2], A b d u l - R a z a q and Ports [3] and Ow and M o r t o n [4]. Held and K a r p [2] presented a dynamic p r o g r a m m i n g a p p r o a c h for the p rob lem wi thout inserted idle time. In their formula t ion the state space is defined with a set of j obs and the recursion is per formed by add ing a j o b to the previous j o b set.

A lower b o u n d scheme that can be used in a branch and bound a lgor i thm is p roposed by A d b u l - R a z a q and Pot t s [3]. The lower b o u n d is ob ta ined by per forming the recurs ion on a sui tably relaxed state space con ta in ing fewer states than in the formula t ion by Held and Karp . In this me thod the state space is re laxed by m a p p i n g states represent ing subsets of j obs onto states represent ing to ta l process ing t ime of j obs in the subset.

+Chae Y. Lee is an Associate Professor of Management Science at the Korea Advanced Institute of Science and Technology. Dr Lee holds a Ph.D. in O.R. from Georgia Institute of Technology. His research includes scheduling, heuristics search and learning.

~Jae Young Choi is a doctoral candidate in Management Science at the Korea Advanced Institute of Science and Technology. Mr Choi holds a M.S. and a B.A. degree in Management Science from KAIST. He is interested in production scheduling, heuristics, artificial intelligence and management information system.

857

858 C.Y. Lee and J. Y. Choi

Ow and Morton [4] considered a beam search method in which a limited number of solution paths are investigated in parallel. The intent of the search technique is to search quickly with no backtracking. Thus the optimal solution is not guaranteed by the method.

A general version of the distinct due dates problem is the scheduling which allows inserted idle times. Algorithms for optimal timing of a given sequence are presented by Fry et al. [5], Garey et al. [6] and Yano and Kim 1-7]. However, the penalty weights they use are restricted in each case. Yano and Kim I-7] proposed a heuristic procedure which uses dominance properties to reduce the number of sequences that must be considered. Computational results are presented for problems with penalty weights which are proportional to the processing times.

In this paper, a general version of distinct due dates scheduling problem with nonproportional penalty weights is considered. This paper is organized as follows. In Section 2, the single machine scheduling problem with different due dates is defined and formulated. Section 3 deals with the optimal timing algorithm which determines the optimal starting time of each job in a given job sequence. In Section 4, a genetic algorithm is proposed to generate near optimal sequences. The computational results of the proposed algorithm and conclusions are discussed in Sections 5 and 6, respectively.

2. PROBLEM F O R M U L A T I O N

Single machine scheduling problem has a lot of variations according to the number of due dates, the penalty criteria and the rates of penalties. In this paper, the single machine scheduling with the distinct due dates and general earliness and tardiness penalty weights is considered. More specially, the objective is to find the schedule that minimizes the total earliness and tardiness penalties of all jobs, under the assumptions that no preemption of jobs is allowed and all jobs are available at time zero. Each job has its own due date, earliness, and tardiness penalty weights. The penalty related to the job i is represented as follows.

9 1 ( t i ) = h i " max(O, dl - t i ) q - w i " max(O, tl - d i )

where

h i is the earliness penalty weight of job i, wi is the tardiness penalty weight of job i, di is the due date of job i, tl is the completion time of job i.

Minimize

subject to:

• gi(ti) i= l

t i ~ tj-- pj

or tj<-~ti--pl foraUiandj , a n d i # j

ti >~ Pi for all i

It is well known that the above scheduling problem can be formulated as an integer programming problem.

3. THE OPTIMAL T I M I N G ALGORITHM

The solution procedure for single machine scheduling problem is divided into two parts, optimal timing and optimal sequencing. In this section, optimal timing algorithm which by inserting idle times determines the optimal starting time of each job of a given sequence is considered.

Given a sequence, the optimal timing procedure optimally locates each job i at starting time s~i>0 by considering its due dates. Using an efficient data structure, Garey et al. 1"6] proposed O(n log n) optimal timing algorithm for problems with symmetric penalty weights, i.e. wi =hi for i= 1 . . . . . n. For problems with general weights, Yano and Kim I-7] formulated a dynamic programming procedure to obtain the optimal timing. In this paper, an improved optimal timing

A genetic algorithm for job sequencing problems 859

algorithm which does not require function evaluations is considered for problems with general weights.

Let Sk be the schedule for the first k jobs. Note that the jobs are numbered in the order of due dates, that is, the job with the earliest due date is numbered 1 and that with the latest due date is numbered n. A set of jobs io . . . . . il that are scheduled continuously in S k is called a block, i.e. t i :-si+ t for i o <% i< i 1, tl, ,_ l<sio (or i o = 1), and ti, <<.si, + 1 (or i I =k). And let f irst(j) and last(j) be respectively the first and the last job in block Bj. Assume that there are t blocks B 1 . . . . . B, in SR. The initial schedule $1 is scheduled by setting job 1 to be completed at d 1. Given Sk, job k+ 1 is scheduled as follows. If tk + pk+l<~dk+ 1, then job k +1 is scheduled to be completed at dk+ 1. In this case job k + l has no penalty and constructs a new block Bt+l. On the other hand if tk +Pk + , > dk ÷ 1, then job k + 1 is scheduled to start at t k and is included in the last block Bt.

We now consider the cost function of shifting a block B j, which is given by

~ x ) = Y~ g~(t,), j = 1 . . . . . t. icBj

where x is the amount shifted from the due date of the first(j). Note that zj(x) is a piecewise linear convex function the slope of which is determined by the earliness and tardiness of each job in block Bj.

Let Pj be the set of slopes of function z j(. ) in order of their magnitudes. Then

where,

f 1 IBil- 1 } P) ~ Pj = - E, - E + Z [h[i, + w[i,] . . . . . - E + ~. [h~i, + wji,], T

i = 1 i = l

E = ~ hi, i~Bj

T = E Wi' i~Bi

h[i~ is the earliness weight of the ith job in block B j, w~i ~ is the tardiness weight of the ith job in block B~. Pj =/~j when the tardiness of each job in block Bj is distinct one another.

An example of constructing block cost function z l (x ) with three jobs is illustrated in Fig. 1. As shown in the figure each segment of the block cost function is determined by the tardiness of each job on the block.

The minimum of the block cost function zj(x) is obtained at the extreme point where the slope corresponding to it begins to be greater than or equal to zero. Now, when the minimum point of a block Bj is found, the entire block Bj is shifted toward the minimum point until one of the following three cases happens:

( i) S first(j) becomes z e r o .

(ii) the minimum point is reached. (iii) syl,s,jl becomes equal to ttas, j_ 1~.

In case (iii), the block Bj is merged to the block Bj_r Then the minimum point for the new block cost function B j_ 1 must be obtained. The above procedure is repeated until each block is located such that the block cost function zj(x) is in minimum or sli,~,j ~ = 0. Based on the discussion of this section we now propose the optimal timing procedure which determines the starting time of each job in a given sequence as shown in Fig. 2.

In the figure the function shift determines the minimum point of a block cost function by comparing the slopes of the block. It decides the extreme point where the slope corresponding to it starts to increase. The function shift then decides the starting time of the first job in the block by comparing the three cases discussed in this section.

The following example illustrates the optimal timing algorithm in Fig. 2.

860 C.Y. Lee and J. Y. Choi

(a)

0 3 [6 i9 1112 16 , I I [ dl I ! I =t I d 2 t 2 d3 t 3

w 3 = 1.5 w 2 = 1.5

-h3 =-1.2 N ~ /

/

) i a2lal

(b) " t 3 - d 3

(c)

zl(x)

--(h 1 +h 2) ~ ]

-/~1 +w~ i ]

t~ - d 2 dl

+w 2

X

-(h 1 +h 2 + h 3 ) ~

\

-(h 1 +h~)+w3

zl(x

/

(d)

l w I +w 2 +w 3

+ w 2 + w 3

dl

Fig. 1. Construction of the block cost function. (a) A given sequence of three jobs in block 1 with tl =dl. (b) Earliness and tardiness penalties of three jobs. (c) The block cost function of job 1 and job 2. (d) The

block cost function of three jobs.

A genetic algorithm for job sequencing problems 861

procedm o~m/_ da~,, t : = . # r ~ D : : / a ~ l ) :: I;

Sl := max(0 ,d l -P l ) ; t l := maX(dl,Pl); B1 = {1};

f o r / : : 2 to n do

if t~_ 1 +Pi <dt then { t:=t+l;fn,st(t):=iast(t):=i;

$i :=dr-Pt ; tl =dr; Bt = {i}; else if h--1 +Pt : d t then { /aat(t) =i; s t :=h--l; ti =dr; B t = B t u { i } } else if t m +Pt >dt then { /ast(t) := i; si : t in; h = st +Pt; Bt =Bt u { 0 } until each block is located either at the minimum point or

s/~n~O : 0

s/~/t

end until

}

end for

end optima/~me

Fig. 2. The procedure optimal_time.

Example 1. Consider a four-job sequencing problem with the following data [see Fig. l(a) and (b)]:

Pl = 3, P2 = 5, P3 = 5, p4=2

dl =6, d z =9, d 3 = 12, d4= 17

h 1 = 1, h2 = 1, h 3 = 1.2, h4 = 1

w x = 1, w 2= 1.5, w 3= 1.5, w4= 1

The algorithm in Fig. 2 first assigns job 1 to block 1 and computes the starting time s~ = 3 and termination time t I =6 which is its due date. For job 2, since t z = t 1 +P2 = 11 >d z, it is assigned to block 1 and concatenated to job 1. The function shift then decides the minimum point of the cost function by comparing the slopes of penalties which is shown in Fig. l(c). In the figure, since t 2 - d E = 2 < s 1, block 1 is shifted two time units left, i.e. first job of block 1 is finished two time units earlier than dl. Thus, s~ = 1 and sz =4 such that job 2 is now terminated at its due date t 2 =9. The optimal timing algorithm then considers job 3. Note that t 3 = t 2 + P3 = 14 > d 3. The cost function of block 1 including job 3 is depicted in Fig. l(d). The minimum point occurs at the same point as in Fig. l(c). Thus the starting time of each job becomes sl = 1, s2=4, and s 3 =9. Finally job 4 is scheduled to start at s4 = 15 and constitutes the first job of the second block.

As in the above example, the proposed optimal timing algorithm considers only the slopes of the block cost function to locate the minimum point. The function value at each extreme point is not computed.

However, in optimal timing algorithm by Yano and Kim [7] the block cost function must be computed at each extreme point by the recursive equations of dynamic program formulation. The minimum point is then selected by comparing the evaluated function values. Thus, the proposed method is more efficient than the method by dynamic programming in view of computational demand. At each extreme point, the proposed method just computes the corresponding slopes of the block cost function, while the method by Yano and Kim evaluates the function value by employing the recursive equations. Clearly, the computational storage requirement of the recursive equations well exceeds the memory space for the slopes.

862 C.Y. Lee and J. Y. Choi

4. THE SEQUENCING BY GENETIC ALGORITHMS

Genetic Algorithms are search algorithms based on the mechanics of natural selection and natural genetics. Motivated by the biological adaptation, they generate a new set of strings from parent chromosomes via stochastic operation. Strings with high fitness values survive and those with low fitness values die off generation to generation. While randomized, genetic algorithms efficiently exploit historical information to speculate on new search points with expected improved performance.

In this section, the details of the genetic algorithm (GA) used for the job sequencing problem are discussed. Figure 3 illustrates the genetic algorithm procedure employed in this paper. The representation method of a chromosome, the reproduction rules, various GA operators and the evaluation function are investigated.

4.1. Representation

A feasible solution called a chromosome is represented as a sequence of jobs. Its fitness is evaluated by the optimal timing procedure of Section 3. Since the optimal timing algorithm separates the sequence into several blocks the representation must include the blocking information. In this study, the blocking information is indicated by augmenting the minus sign in front of the job first(j) of each block as shown below.

- 2 3 1 - 5 4 6 7 - 8 9

This blocking information is necessary for the two mutation operators to be introduced in Section 4.5.

4.2. Initialization

In each generation the GA manipulates a set of solutions which is called the population. Since chromosomes with better performance survive generation to generation, the construction of the initial population is important. The initial population impacts both on qualities of chromosomes to be generated and the convergence of the GA.

In this job sequencing problem the initital chromosomes are constructed as follows. First, schedules with EDD (Earliest Due Date) and EST (Earliest Starting Time) rules are generated and the optimal timing algorithm is applied to obtain the blocking information. Secondly, random chromosomes are generated by randomly sequencing jobs within each block.

The initial population constructed as in the above procedure is expected to produce a better near optimal sequence than a completely random population. The convergence of the GA is also expected to be accelerated.

4.3. Reproduction

Many reproduction rules are studied in GAs [3, 5, 9, 11, 12, 13]. In the N best reproduction scheme n offsprings are produced from the previous population of size N. The best N chromosomes out of N + n old ones constitute the population for the next generation. The steady state without

~Initializati°rt 3 "-'1~ C Seleeti°n

No

t ~ az'd

Crossover

Genetic Operators j

Evaluation

Fig. 3. The Genetic Algorithm Procedures.

3

A genetic algorithm for job sequencing problems 863

duplicates 1-8], on the other hand, generates n offsprings such that N + n chromosomes are different from one another. The new n offsprings then replace the worst n among the first N chromosomes at each generation. A hybrid method of the two reproduction rules is considered and called "N best reproduction without duplicates". This reproduction rule generates n offsprings from the population of size N such that N + n chromosomes are different from one another. The next generation is filled with the best N chromosomes out of the N + n strings.

4.4. Crossover

Crossover plays the role of exchanging information among chromosomes. It usually leads to an effective combination of partial solutions on other chromosomes and accelerates the search procedure early in the generation.

However, the process of exchanging gene information may cause redundant or lost features in some genes. Thus infeasible solutions may result from the crossover. Such phenomena usually appear in chromosomes with permutation. Various crossover shemes to avoid the infeasible strings are developed. Uniform order-based crossover [8], partially matched crossover I-9], cycle crossover [9] and order crossover I-9] are typical examples. Among them the uniform order based crossover is considered to best fit to the job sequencing problem, since it allows both the absolute and relative positions of parents' job sequences. The following example illustrates the uniform order-based crossover employed in this study. Note that the blocking information is not required in performing this operator.

Example 2. Consider the following two parent schedules and a bit string that has the same length as the parents.

Parent 1 1 2 3 4 5 6

Paren t2 6 3 5 2 4 1

Binary Template 0 1 ! 0 1 0

The uniform order crossover fill in some of the position on Child 1 (or Child 2) by copying them from Parent 1 (or Parent 2) whenever the bit string contains a "1" (or "0") as presented below.

Child 1 - - 2 3 - - 5 - -

Chile 2 6 - - - - 2 - - 1

The operator then makes a list of genes from Parent 1 (or Parent 2) associated with a "0" (or "1") in the bit string and permutes these genes so that they appear in the same order they appear in on Parent 2 (or Parent 1). Thus, the crossover yields the following final children:

Child 1 6 2 3 4 5 I

Chi ld2 6 3 4 2 5 1

The uniform order based crossover preserves part of the first parent while it incorporates information from the second parent. More specifically, this operator respects the absolute positions of jobs in one schedule and the relative orderings of jobs in the other string.

4.5. Mutation

Two mutation operators are used, intra-block mutation and dominance ordering. The intra-block mutation chooses two jobs in a block at random and exchanges the positions. Compared to the simple swapping the intra-block mutation has a tendency to improve a given schedule locally without disrupting the block information.

The dominance ordering operator is applied to the best chromosome of a population. It reorders the job sequence by examining each pair of two adjacent jobs in its schedule. The Proposition 1 of 1-7] is employed for the determination of the sequence. The following example illustrates the two operators.

Example 3. Consider a block of four-job sequence (2 3 1 4). Suppose that the data of each job are the same as in Example 2 except that d 4 = 14 (four jobs are concatenated in one block by the optimal timing algorithm). The intra-block mutation randomly chooses two genes in the block and

864 C.Y. Lee and J. Y. Choi

changes the position. Suppose that the first and third genes are selected for the mutation, then the resulting subsequence becomes (1 3 2 4). Now, if we apply the dominance ordering to the subsequence (1 3 2 4), the resulting solution becomes (1 2 3 4). In the sequence (1 3 2 4) note that only the adjacent pair (3, 2) satisfies the following condition of sequencing job i before job j:

hl/hj<<.pl/pg<~wi/w~ and hi+w~<~h~+wj

4.6. Evaluation and fitness scaling In this study the cost function computed by the optimal timing algorithm is used for the evaluation

of each chromosome. However, empirical studies of genetic algorithms show that in the beginning the algorithm often leads to the appearance of a few superindividuals who dominate the selection process and therefore slow the evolution process down. At the end, when the population consists largely of the individuals whose evaluation is close to maximum, the competition is practically absent, which again slows down the process.

Therefore, it is necessary to modify the evaluation procedure through fitness scaling I-6]. In this paper we employ linear fitness scaling which is known to fit well to the order problems. The scale used in the procedure is f'i = ( f m a x - - f i ) / a where, fi and fmax a r e the cost of chromosome i and the maximum cost in the current population, respectively, tr is the SD of the current population.

By the above scaling scheme, most of all chromosomes in the population have equal chance to be selected as parents in early stage of GA. However, as the generation proceeds, only the promising chromosomes are selected as parents.

5. C O M P U T A T I O N A L RESULTS

In this section we discuss the computational results of the GA developed for job sequencing problems. The GA developed in this study is coded in C on the IBM 486 PC with a math coprocessor, and compiled using the Turbo C compiler. As the termination criterion of the algorithm the relative improvement of the average penalty is employed. The algorithm stops when the improvement of the average fitness value in one generation is less than 0.01% of the average fitness value in the preceding generation.

Since no experimental results are available for the distinct due dates problem with general penalty weights, we produce two types of problems. The problems of type I considers proportional penalty weights, while those of type II deals with general weights. Processing times of jobs are independently generated from a uniform distribution over the integers 5, 6 . . . . . 15. For the problems of the first type the weights are set to be equal to the processing times. For those of the second type they are uniformly generated over the integers 1, 2 . . . . . 5. The population size at each generation of the genetic algorithm is kept at 100.

As a preliminary test, two reproduction methods, N best reproduction and N best reproduction without duplicates are examined. Table 1 shows the computational result with 50 jobs. For both types of problems the N best reproduction without duplicates scheme gives better solution than the other method. The difference of the two methods in solution quality becomes clear in problems with general penalty weights.

The effects of crossover and mutation rates are also tested with 50-job problems. Note in the N best reproduction without duplicates scheme that each new chromosome generated via crossover is considered as a member only if it has no duplicate in the population. Thus the crossover rate Pc cannot be fixed as in other reproduction method. In this research two different rates Pc ~0.6 and Pc ~ 1.0 are tested. Note that Pc = 0.6 is suggested by De Jong [ 10] as a reasonable compromise between good, average and best performance. To generate much more diverse schedules and search the best one among them Pc ~ 1.0 is tested and compared. For the mutation, each string is allowed at most one intra-block swapping. The number of strings to which the intra-block mutation is applied is tested with five different ratios 0.2, 0.4, 0.6, 0.8, and 1.0 of total population size. Figure 4 shows the effects of different crossover and mutation rates. From the figure, it is clear that Pc ~ 1.0 provides better solution quality than the lower crossover rate. The figure also shows that the application of intra-block mutation to 40% of the strings in the population gives good performance with less computational time demand.

The performance of the GA is compared with the heuristic method by Yano and Kim [71 and

A genetic algorithm for job sequencing problems

Table 1. Comparison of reproduction methods

865

N best reproduction N best without duplicates

Problem Cost Generation CPU Cost Generation CPU number of the best stopped seconds of the best stopped seconds

Proporlionalweiflhts I 8034 19 28.18 8034 27 42.11 2 7694 19 22.35 7694 23 28.22 3 ll51 29 30.98 ll51 30 38.96 4 1092 26 28.77 1092 46 76.76 5 604 20 21.35 604 35 58.04 6 8096 18 33.35 8096 22 42.01 7 8508 20 30.65 8508 23 35.63 8 5165 13 20.31 5165 21 34.44 9 2856 19 21.70 2856 24 28.74

10 2481 34 36.48 2477 37 50.93

Generalwei~ht~ 11 1250 89 122.04 1159 175 225.63 12 1541 58 62.41 1541 70 55.49 13 1266 40 46.83 1197 104 124.47 14 748 38 40.42 748 64 48.50 15 719 45 48.35 676 54 49.58 16 2293 61 114.28 1769 146 186.54 17 2200 110 167.36 2100 208 351.65 18 2400 82 125.90 2247 172 268.40 19 592 51 55.21 592 55 39.87 20 645 57 62.98 645 52 25.99

(n

"o o) 5 ¢/)

o) rn

t~ t- o) 13. ¢1)

1325 240

1315-

1305-

1295-

1265-

1275-

-220 Average Penalty

with Pc~0.6 -200

I Average Penalty -180 with Pc~1.0

1o -160 - o - - - - c Average CPU

o -140 ~ with Pc~0.6 (/)

-~ I -120 ,, Average CPU

O with Pc~1.0 -lOO

Q -so

-60

J

o12 o'.4 o'.8 o'.a Number of Strings Mutation Applied/Population Size

-40

-20

1265 0

Fig. 4. Effects of Different Crossover and Mutation Rates (Average of Ten 50-job Problems).

the exact method by branch and bound. The computational experiment is illustrated in Tables 2-5. In the proposed genetic algorithm the N best without duplicates reproduction scheme with pc ~ 1.0 is used. The intra-block mutation is applied to randomly selected 40% of the strings in the population. The dominance ordering is applied to the best string at each generation. The branch and bound method is implemented with CPLEX Mixed Integer Optimizer [11] in HP 715/33 workstation. In most cases the incumbent solutions are obtained by limiting the time used by the LP code to 7200 seconds.

The result shows that the application of the genetic algorithm for problems with proportional penalty weights is very successful. The average cost by the genetic algorithm does not exceed 0.15% of that by Yano and Kim even in the 80-job sequencing problems. In all problems with proportional

CAOR 22-8-G

866 C. Y, Lee and J. Y. Choi

Table 2. 15-job problems with distinct due dates

Yano and Kim Proposed genetic algorithm Branch and bound

CPU seconds Cost of Generation CPU seconds Incumbent Problem Cost flBM486SX) the best stopped {IBM486SX) solution

Proponional~te~hts I 1348 0.17 1348 34 13.96 1348 2 3661 0.16 3661 18 6.54 3676 3 733 0.17 733 24 9.17 733* 4 583 0.17 583 40 17.36 583* 5 683 0.17 683 34 15.51 683* 6 1306 0.11 1306 22 9.06 1306" 7 1465 0.22 1465 40 17.58 1513 8 2003 0.17 2003 23 8.46 2012 9 474 0.17 474 33 15.21 474*

10 279 0.17 279 40 21.13 279*

General weights II 534 0.22 498 54 23.14 498* 12 203 0.16 200 70 29.90 200* 13 620 0.17 431 80 34.23 792 14 388 0.17 334 97 38.31 395 15 81 0.17 81 40 23.92 81" 16 236 0.22 236 51 23.04 236* 17 411 0.22 363 63 24.99 363* 18 940 0.16 845 51 21.97 1481 19 139 0.17 139 39 20.51 139" 20 180 0.17 165 22 13.95 165"

*The optimal solution obtained (in this case algorithm stopped before 7200 seconds in HP715/33 workstation).

Table 3. 30-job problems with distinct due dates

Yano and Kim Proposed genetic algorithm Branch and bound

CPU seconds Cost of Generation CPU seconds Incumbent Problem Cost (IBM486SX) the best stopped (IBM486SX) solution

Propo~ional weights 1 6174 2.20 6174 29 26.07 6180 2 1773 1.70 1755 34 27.34 1773 3 1260 1.48 1260 33 28.45 1260 4 675 1.37 675 42 39.74 675* 5 842 1.37 842 41 37.39 842* 6 4009 1.70 4012 27 19.83 4042 7 14,292 2.15 14,292 28 24.71 14,388 8 1633 1.53 1633 32 23.35 1654 9 1220 1.48 1220 33 29.72 1220

10 809 1.42 809 39 35.66 809*

General~ights II 3391 2.20 2277 83 76.71 4441 12 1785 1.86 1528 74 68.26 2248 13 725 1.59 670 91 75.23 855 14 345 1.42 324 47 39.74 324* 15 395 1.32 391 27 26.00 391 16 1283 2.14 906 136 122.75 2201 17 854 2.08 775 124 110.22 1950 18 586 1.60 576 69 54.04 785 19 300 1.37 300 41 35.05 300* 20 420 1.37 420 47 41.42 420

*The optimal solution obtained (in this case algorithm stopped before 7200 seconds in HP715/33 workstation).

weights, solutions obtained by the GA are illustrated to be better than or equal to the incumbent solution by the branch and bound method. Note that most of the equal solution cases correspond to the optimal solutions.

For the problems with nonproportional penalty weights no computational results are appearing in the literature. We, however, employ the heuristic method by Yano and Kim to compare the solution quality of the genetic algorithm. Note in our implementation of the heuristic by Yano and Kim that is designed not to exclude the nonproportional penalty weights. Thus the comparison of the two procedures is fully justified. From Tables 2 to 5, it is Clear that the solution by the genetic algorithm is superior to that by the heuristic method. Figure 5 illustrates the cost and CPU

A genetic algorithm for job sequencing problems

Table 4. 50-job problems with distinct due dates

867

Yano and Kim Proposed genetic algorithm Branch and bound

CPU seconds Cost of Generation CPU seconds Incumbent Problem Cost (IBM486SX) the best stopped (IBM486SX) solution

Proportionalw~#hts 1 8034 11.15 8034 27 42.10 8037 2 7694 8.13 7694 23 28.22 7832 3 1151 7.19 1151 30 38.96 1192 4 1092 7.86 1092 46 76.76 I 159 5 604 7.31 604 35 58.04 604 6 8096 13.85 8096 22 42.01 8096 7 8472 11.37 8508 23 35.63 8508 8 5165 10.83 5165 21 34.44 5165 9 2856 7.85 2856 24 28.74 2970

10 2477 7.14 2477 37 50.93 2646

Generalwei#hts I1 1198 9.94 1159 175 225.63 1872 12 1704 7.30 1541 70 55.49 2012 13 1226 8.08 1197 104 124.47 1612 14 865 7.19 748 64 48.50 831 15 806 7.42 676 54 49.58 852 16 2115 13.84 1769 146 186.54 3674 17 2796 12.84 2100 208 351.65 4173 18 2761 11.42 2247 172 268.40 5295 19 678 7.58 592 55 39.87 911 20 737 7.35 645 52 25.99 1034

Table 5. 80-job problems with distinct due dates

Yano and Kim Proposed genetic algorithm Branch and bound

CPU seconds Cost of Generation CPU seconds Incumbent Problem Cost (IBM486SX) the best stopped (IBM486SX) solution

P~portional weiohts 1 30,725 70.79 30,788 26 94.97 30,818 2 13,707 64.99 13,788 21 71.97 13,788 3 5024 37.45 5024 32 77.40 5055 4 3461 39.28 3461 31 78.06 21,100 5 2261 38.22 2261 39 113.01 31~84 6 28,964 89.13 29,000 23 98.38 29,000 7 20,022 75.19 20,022 24 91.49 20,070 8 6617 41.36 6617 44 11~92 6796 9 6292 42.78 6292 32 81.72 6348

10 7072 39.65 7072 27 59.48 7111

General weights 11 14,441 75.63 10,511 193 649.46 18,898 12 1966 40.42 1671 102 209~1 2943 13 1338 38.61 1103 111 242.31 1519 14 1171 38.12 1044 73 133.03 7827 15 1286 35.87 1155 54 89.86 123,562 16 16,516 87.22 7236 209 711.79 22,503 17 3918 60.52 3634 177 599.13 6329 18 1730 46.85 1551 172 333.71 3593 19 1520 38.07 1180 126 252.86 2040 20 1647 40.59 1537 75 156.03 124,317

time ratios in each problem size. The relative performance of the proposed GA becomes better as the problem size gets larger. The near optimality of the solutions by the GA is also illustrated by the comparison with the exact algorithm. The proposed algorithm has not failed to generate optimal solutions in problems the solutions of which are proved to be optimal. However, for problems with more than 30 jobs, the optimality of the solutions cannot be verified due to the explosion of the computational time by the branch and bound method.

6. C O N C L U S I O N

To deal with job scheduling problems with distinct due dates an optimal timing algorithm is presented. For problems with general penalty weights the algorithm determines the optimal starting

868 C.Y. Lee and J. Y. Choi

I I I I

A 0.9-

~ 0.8-

o 0.7-

1.1

0.6-

0.5-

140

0.4 l's o

-1gO I

• 100 ~ I

-0o tr

i-7. - 4 0 ...n

ilL. O

-gO

J o b S i ze

Fig. 5. Performance of the Proposed GA Method.

coa ntlio ~¢ah aro0oakm~ W ~

Coa rmio wllh O m n W¢¢~

OPU T i w I~Uo ~dlh Proportkm~ Wetgh~ CPU Time ~ with

time of each job in a given sequence. Optimal times are obtained by shifting the cost function of job blocks whenever a job in the sequence is included.

A genetic algorithm is proposed to generate prominent near optimal sequences. Each schedule is represented as a permutation of integers. The block information obtained by the optimal timing algorithm is also employed to evaluate the fitness of each string.

For reproduction of the GA an N best without duplicates method is considered. This rule generates n offspring from the population of size N such that N + n chromosomes are different from one another. The best N strings are then selected for the next generation.

The proposed GA with uniform order based crossover and mutation is proved to dominate the existing heuristic by Yano and Kim [7]. For problems with proportional penalty weights the average cost by the GA does not exceed 0.15% of that by the heuristic method. In case of general penalty weights the proposed GA overwhelms the heuristic procedure. The average cost reduction effect ranges from 12 to 33% depending on the problem sizes. The solution by the GA is also illustrated to be excellent when compared to the exact algorithm by the branch and bound method. The proposed GA has not failed to generate the optimal solutions in problems with 15 or 20 jobs where the optimality of the solutions are verified.

REFERENCES

1. K. R. Baker and G. D. ~cudder~ S~qu~ncing with ~ar~iness and tardiness pena~ties~ a review. ~ps Res. ~& 22-36 ~ ~ 99~). 2. M. Held and R. M. Karp, A dynamic programming approach to sequencing problems. J. Soc. ind. app. Math. 10,

196-210 (1962). 3. T. S. Abdul-Razaq and C. N. Potts, Dynamic programming state-space relaxation for single-machine scheduling.

J. Ops Res. Soe. 39, 141-152 (1988). 4. P. S. Ow and T. E. Morton, The single machine early/tardy problem. M#mt Sci. 35, 177-191 0989). 5. T. D. Fry, R. D. Armstrong and J. H. Blackstone, Minimizing weighted absolute deviation in single machine scheduling.

l i e Trans. 19, 445-450 (1987). 6. M. Garey, R. E. Tarjan and G. T. Wilfong, One-processor scheduling with symmetric earliness and tardiness penalities.

Maths Ops Res. 13, 330-348 (1988). 7. C. A. Yano and Y. D. Kim, Algorithms for a class of single-machine weighted tardiness and earliness problems. Eur.

d. Ops Res. 52, 167-178 (1991). 8. L. Davis, Handbook of Genetic Algorithms. Van Nostrand Reinhold, Princeton, N.J. (1991). 9. D.E. Goldberg, Genetic Algorithms in Search, Optimization & Machine Learning. Addison Wesley, Reading, Mass. (1989).

10. K. A. De Jong, An analysis of the behavior of a class of genetic adaptive systems, Doctoral dissertation, Univ. of Michigan !1975!.

A genetic algorithm for job sequencing problems 869

1 I. Ushly the CPLEX Callable Library and CPLEX Mixed lnteyer Library. Ver 2.1. CPLEX Optimization Inc., Incline Village, Nev.

12. J. E. Biegel and J. J. Davern, Genetic algorithms and job shop scheduling. Computers Ind. Enynt¢ 15, 81-91 (1990). 13. J. J. Grefenstette, R. Gopal, B. J. Rosmaita and D. V. Gucht, Genetic Algorithms for the traveling salesman problem.

Proc. First ICGA, pp. 160--165 (1985). 14. J. D. Ke••y Jr. and L. Da vis• Hybridizing the genetic a•g•rithm and k nearest neighb•rs. Pr•c. F•urth • C G A 377-383 ( • 99 • ). 15. G. V. Laszewski, Intelligent structural operators for the k-way graph partitioning problem. Proc. Fourth ICGA 45-52

(1991). 16. M. Muselli and S. Ridella, Global optimization of functions with the interval genetic algorithm. Complex Systems 6,

193-212 (1992).