Multiobjective Job Shop Scheduling Using Genetic Algorithm with ...

2 downloads 0 Views 235KB Size Report
genetic algorithms and their applications on the shop scheduling problems. ..... limitation of space, we only list the selected approximated. Pareto front of 16 ...
2006 IEEE Congress on Evolutionary Computation Sheraton Vancouver Wall Centre Hotel, Vancouver, BC, Canada July 16-21, 2006

Multiobjective Job Shop Scheduling using Genetic Algorithm with Cyclic Fitness Assignment Tsung-Che Chiang National Taiwan University, Taiwan, R.O.C. [email protected]

Li-Chen Fu National Taiwan University, Taiwan, R.O.C. [email protected]

Abstract—A job shop scheduling problem with total tardiness and the maximum tardiness as objectives is addressed. We solve it by a rule-coded genetic algorithm. Characteristics of three existing fitness assignment mechanisms are identified and then combined through the proposed cyclic fitness assignment mechanism. Experiments are conducted on a public benchmark problem set, and the results show that the proposed algorithm outperforms the existing ones.

date by Dj, and then its tardiness Tj is calculated by max{0, Cj – Dj}. On one hand, we want to minimize the total tardiness so that customers’ jobs can be finished within due dates as much as possible. On the other hand, we also want to minimize the maximum tardiness to prevent some customer’s job from delaying too long. Thus, we define two objectives in this work:

f1 =

I. INTRODUCTION Job shop scheduling is an attractive research topic for both researchers in the academia and engineers in the industry for last several decades. Theoretically, this problem has NP-hard complexity, which means that it is almost impossible to develop an algorithm to solve it optimally in polynomial time. This challenge makes it one representative problem in the category of hard combinatorial optimization problems. Practically, production control engineers in the industry face scheduling problems everyday. They need to determine how to arrange the resources to produce products to satisfy the concerned criteria such as customers’ due dates. The job shop scheduling problem shows essential similarities with practical scheduling problems, and solutions to this problem can be easily applied to the real-world problem. Scheduling refers to a task of allocation of resources over time to requests under certain constraints so as to satisfy or optimize the concerned criteria. In a typical job shop scheduling problem, we have M machines as resources and J jobs as requests. The common constraints include: (1) Each job needs to be processed by each machine exactly once in a predefined order. (2) Processing of a job on a machine is called an operation. The processing time of an operation is a constant and is known in advance. (3) There exists a precedence constraint between operations belonging to the same job, which means that the succeeding operation can start processing only after the preceding operation was finished. (4) Each machine can process only one job at a time. (5) The processing of an operation is uninterruptible. (6) There is no machine breakdown, transportation time, and setup time. (7) All jobs are ready at time zero. For each job j, denote its completion time by Cj and due

0-7803-9487-9/06/$20.00/©2006 IEEE

∑T

j

and f 2 = max{T j } . j =1... J

j =1... J

Given more than one objective, solving job shop scheduling problems becomes more difficult since sometimes we cannot improve multiple objectives simultaneously. Let us use the problem listed in Table I as an example. Given the problem, two possible schedules A and B are depicted in Fig. 1. In schedule A, we have T1 = 0 and T2 = 7, and consequently f1 = 7 and f2 = 7. In schedule B, we have T1 = 6 and T2 = 2, and consequently f1 = 8 and f2 = 6. As we can see, there is not a single schedule which is optimal with respect to both f1 and f2.

Job 1 Job 2

TABLE I. A 2×2 JOB SHOP SCHEDULING PROBLEM Op1(Machine/Time) Op2(Machine/Time) M1/5 M2/5 M1/8 M2/4

Due date 12 10

D2 = 10 D1 = 12 Schedule A Job 1 10

17

f2

Job 2 Schedule B

7 6

A B

Job 1 12

18

Job 2

78

f1

Fig. 1 Trade-off between multiple objectives

In the literature, multiobjective optimization problems were generally treated in two ways. The first category of approach converted multiple objectives into a single objective through some aggregation function (for example, the linear weighted summation function), and then applied the single-objective optimization method to find the (single) optimal solution. Hence, the decision makers are usually burdened with the requirement of defining the suitable aggregation function (for example, defining the weight of each objective). Instead of finding a single optimal solution,

3266

the second category of approach aimed at finding a set of optimal solutions based on the Pareto dominance concept. The Pareto dominance concept defines that a solution x dominates another solution y if no objective of x is worse than the corresponding one of y and at least one objective of x is better than y. Based on this concept, the Pareto optimal front is defined as the set of all non-dominated solutions, and this set is what we want to find to solve the multi-objective optimization problem. By searching for the Pareto optimal front, this kind of approach relieves the burdens of the decision makers since they only need to pick the desired solution from the obtained (approximate) Pareto front, whose size is much smaller than the original solution space. This is one reason for the rapid growth of research works on solving multiobjective optimization problems by achieving (or approximating) the Pareto optimal front. Another reason for the growth of the aforementioned second category of approach is the successful applications of genetic algorithms. With the population-based nature, the genetic algorithm is essentially suitable to search for the Pareto optimal front. In this paper, our focus is on solving multiobjective job shop scheduling problems by using genetic algorithms to achieve or to approximate the Pareto optimal front. Many multiobjective genetic algorithms were already proposed in the last decade, and the main difference between these algorithms lay in the fitness assignment mechanisms. Instead of keeping developing new fitness assignment mechanisms, here we will show how we can improve the performance of the multiobjective genetic algorithm by combining the existing fitness assignment mechanisms. The remainder of this paper is organized as follows. Section II will give a literature review on multiobjective genetic algorithms and their applications on the shop scheduling problems. The proposed approach is presented in Section III. Experiments and results are provided in Section IV. Finally, conclusions and future research directions will be summarized in Section V. II. LITERATURE REVIEW In the literature, the first work on the multiobjective genetic algorithm usually referred to the Vector Evaluated Genetic Algorithm (VEGA) developed by Schaffer in 1985 [1]. It dealt with multiple objectives by doing selection based on each objective individually. However, this strategy made VEGA unable to generate solutions with a good spread, which was known as its critical drawback. In the nineties, three representative multiobjective genetic algorithms were developed and were taken as benchmark approaches for a long while. They are Horn et al.’ NPGA [2], Fonseca et al.’ MOGA [3], and Srinivas et al.’ NSGA [4]. All of them adopted the Pareto dominance concept to do fitness assignment or to do selection. For example, MOGA calculated the fitness of an individual based on the number of individuals that dominate it. On the other hand, NSGA

assigned fitness values based on Pareto ranking. Fig. 2 illustrates the basic idea of these two algorithms. (Assume both objectives are to be minimized.) f2

f2 6

3 1

4

3

1

2

1 (a)

3

2

f1

3

2 2

1 (b)

f1

Fig. 2 Basic idea of fitness assignment of (a) Fonseca et al.’ MOGA (b) Srinivas et al.’ NSGA (The smaller the fitness is, the better the individual is.)

In addition to dominance-based fitness assignment, these three algorithms also introduced the concept of fitness sharing. It intended to degrade the fitness of an individual according to the density of individuals in its neighboring area so that a good distribution of individuals can be maintained. After NPGA and NSGA, five years later, Zitzler et al. [12] proposed SPEA in 1999. The SPEA highlighted the importance of elitism, and had a significant influence on the design of later developed multiobjective genetic algorithms. In 2000, Corne et al. [13] proposed PESA, whose feature was the integration of selection and diversity maintenance through a hyper-grid based scheme. Entering the new century, multiobjective genetic algorithms evolved themselves. The second generations of PESA, SPEA, and NSGA were developed. PESA-II [17] emphasized more on the region-based selection scheme; SPEA2 [18] was more careful on maintaining solution diversity, and NSGA-II [21] became faster and incorporated elitism. Besides the pure genetic algorithms, genetic local search, known as an extension of genetic algorithms by incorporating local search procedures, also attracted researchers in the field of multiobjective optimization. Some representative approaches can be found in Ishibushi et al. [10], Jaszkiewicz [20], and Arroyo et al. [27]. In these genetic local search approaches, fitness of an individual is assigned based on an aggregation function of multiple objectives. Therefore, how to maintain a good spread of solutions through wellcontrolled aggregation functions is the main topic in their designs. For the multiobjective scheduling problems, the early research works started by using the genetic algorithms in the same manner of solving the single objective problems. In other words, multiple objectives were aggregated as one objective, and then solutions that minimize or maximize the objective were sought by genetic algorithms. Neppalli et al. [6], Sridhar et al. [7], and Cavalieri et al. [11] can serve as examples. Solving multiobjective scheduling problems by achieving the Pareto optimal front was demonstrated in Ishibuchi et al. [10] in 1998. Thereafter, more and more researchers began to solve the multiobjective scheduling

3267

problems in this viewpoint. For example, Talbi et al. [16] tested several fitness assignment and sharing mechanisms on solving multiobjective permutation flowshop problems. Arroyo et al. [27] proposed a genetic local search algorithm by extending features from several algorithms such as NSGA-II. Other relevant research works include Basseur et al. [22], Meloni et al. [24], Sankar et al. [25], Chen et al. [26], and Loukil et al. [28]. Almost all these works focused on multiobjecve scheduling in flowshops, and none of them addressed the scheduling problem in job shops. Besides the importance of multiobjective job shop scheduling problems mentioned in Section I, the lack of literature on this topic is another motivation for this work. III. THE PROPOSED GENETIC ALGORITHM A. Motivation of Cyclic Fitness Assignment As we mentioned in the previous section, a lot of multiobjective genetic algorithms were proposed in last decade. Performance of these algorithms was usually verified through experiments when a new algorithm was proposed, and there were also research works dedicated to performance comparison [12][14][15]. The conclusion in the literature usually said “an algorithm A is better than other algorithms on a certain problem set.” Since there seems no literature about testing the multiobjective genetic algorithms on job shop scheduling problems, we conducted an experiment with 32 problem instances by ourselves. We put the focus on the fitness assignment mechanism because it is the core of multiobjective genetic algorithms. The fitness assignment mechanisms of MOGA, SPEA2, and NSGA-II were tested to see which one is the best. Based on the experimental results, NSGA-II had the best performance on average. However, an interesting observation is that each fitness assignment mechanism can be much superior to the other two on some problem instances. This observation is consistent with the NFL theorem [8], and motivates us to look more deeply into the three tested fitness assignment mechanisms.

Based on the observation in the experiments and the characteristics identified in Fig. 3, we had an idea to combine these three fitness assignment mechanisms to achieve a balance between exploitation and exploration during the search process. NSGA-II is taken to do exploitation since it showed the best converging power in the experiments, and SPEA2 is taken for exploration because it favors outer individuals. To have a smooth transition from NSGA-II to SPEA2, MOGA is used between them. Fig. 4 demonstrates the basic idea of the proposed cyclic fitness assignment mechanism. At the beginning, NSGA-II leads the population to move toward the Pareto front. Then, MOGA and SPEA2 help to spread the population more widely. After the exploration by SPEA2, NSGA-II is used again, and starts the next cycle. This will repeat until the genetic algorithm stops. The details about when to switch between the fitness assignment mechanisms will be provided in Section III-D.

NSGA-II (1st cycle) MOGA, SPEA2 (1st cycle) NSGA-II (2nd cycle) MOGA, SPEA2 (2nd cycle) NSGA-II (3rd cycle) Fig. 4 Basic idea of the proposed cyclic fitness assignment mechanism

B. Genome Encoding and Decoding In this work, we use an indirect representation for genome encoding. We do not encode the processing orders of operations directly; instead, we use dispatching rules to decide the processing orders. Suppose we choose R dispatching rules and there are M machines in the job shop, a genome is encoded as a string of M weight vectors (genes), each with R weights. Fig. 5 shows the structure of a genome. g1

g2

… w11 w12

w1R

priority ( j , m) =

(a) (b) (c) Fig. 3 Distribution of selective pressure by (a) MOGA (b) SPEA2 (c) NSGA-II

gM

……

∑w

mr

⋅ Zr ( j)

r =1... R

We use Fig. 3 to show the distribution of selective pressure by three tested fitness assignment mechanisms with an identical population. Each circle represents an individual. The darker the color is, the better the individual is. In Fig. 3, we can see that NSGA-II emphasizes the individuals closer to the current Pareto front, whereas SPEA2 tends to select the individuals positioning at outer regions. MOGA is a compromise between them.

Zr(j): normalized priority value of job j by dispatching rule r Fig. 5 The rule weight-based encoding scheme

For each gene gm = (wm1, wm2, … wmR), m = 1 … M, it must satisfy the following two constraints: (1) wmr ∈ {0, 1 , 2 , L , K − 1 ,1} ∀ r = 1...R K K K

3268

(2)

R

∑w

mr

=1

r =1

The variable K is a parameter in the proposed algorithm. It determines the precision of weights. Based on K, we can calculate the total number of possible values of a gene, L =  K + R − 1 .    R −1  The rule weight-based encoding scheme is adopted due to two reasons. First, the dispatching rule represents domain knowledge in job shop scheduling problems, and can help to find good solutions efficiently. Second, the search space based on this kind of encoding scheme is much smaller than that based on the traditional operation-based encoding scheme. We hope that this reduction of search space can save the computation time. Note that the reduction of search space also implies the loss of connectivity and optimality. However, it does not hinder the comparison of the proposed and existing fitness assignment mechanisms, which is the main topic in this paper. Besides, when dealing with real-world and large-scale scheduling problems, approximating the Pareto optimal front efficiently is usually a much more practical goal than reaching the true Pareto optimal front. To decode a genome to a schedule, a simulator is used. During simulation, each time a machine m becomes available, it picks the job with the highest priority value as the next processing target. The priority value of a job is calculated by the linear weighted sum of normalized (with range in [0, 1]) priority values from the chosen dispatching rules. The gene gm in the genome will provide the weight vector required to calculate the linear weighted sum. After simulation, a complete schedule is generated, and total tardiness and the maximum tardiness can be obtained. In our experiments, decoding a genome takes 0.1 ~ 0.01 seconds, depending on the problem instances. Example There are two machines in the shop, and three dispatching rules R1, R2, and R3 are used. The parameter K is 10. One possible genome is provided in Fig. 6. Suppose machine 2 is now available and three jobs J1, J2, and J3 are waiting for its processing. For each of the three rules, it first assigns the original priority values to three jobs. Then the original priority values are normalized so that the most preferred job has the normalized value 1 and the least preferred job has the normalized value 0. In this example, we assume that the job with the smallest original priority value is the most preferred one. At last, the final priority value of each job is the linear weighted sum of three normalized priority values. Since currently the jobs are competing for machine 2, the second gene (weight vector) in the genome is to be used. Hence, the final priority values of all three jobs are as follows.

Based on the final priority values, job J2 will be chosen as the next processing target. During simulation, the above procedure is applied at each time there is a need to select the next processing target from multiple waiting jobs. In this way, we can decode a genome to construct a complete schedule through cooperating with the dispatching rules. Genome 0.3 0.4

0.3

0.2

0.7

0.1

Original priority value zr and the normalized priority value Zr J2 J3 J1 zr (Zr) zr (Zr) zr (Zr) R1 10 (1) 15 (0.5) 20 (0) R2 8 (0) 3 (1) 5 (0.6) R3 1.2 (1) 2.4 (0.4) 3.2 (0) Fig. 6 An example of decoding a genome

C. Crossover, Mutation, and Environmental Selection The two-point crossover operator is used. Since we use the rule weight-based encoding scheme, we do not need to deal with the feasibility problem, which is usually encountered if the operation-based encoding scheme is adopted. To do mutation, a gene is randomly selected and its value is replaced with one of the L (mentioned in Section III-B) possible values randomly. Although SPEA2 and NSGA-II had their own environmental selection strategies, we found that they are not suitable for our target problems here. The power of elitism in those two strategies is too strong and usually causes premature convergence. This was also reported and solved in Deb et al. [19]. Here we propose to use another strategy. After selection, crossover, and mutation, two offspring are produced. Then we evaluate their fitness values. Finally, the best two of the four individuals will replace the parents. By replacing the parents but not the worst two individuals in the population, we can avoid the rapid loss of population diversity. This strategy is quite simple and effective, as we will see in Section IV-B. Fig. 7 is a graphical explanation. Like other multiobjective genetic algorithms, we also maintain a Pareto archive of non-dominated solutions found during the search process. In our experiments, we observed that the number of non-dominated solutions is small (< 30). Hence, all non-dominated solutions are kept in the archive until the genetic algorithm stops. The final archive is then treated as the Pareto front approximated by the genetic algorithm.

priority(1,2) = 0.2⋅1+0.7⋅0+0.1⋅1 = 0.3 priority(2,2) = 0.2⋅0.5+0.7⋅1+0.1⋅0.4 = 0.84 priority(3,2) = 0.2⋅0+0.7⋅0.6+0.1⋅0 = 0.42

parents by selection

crossover/ mutation offspring

Replace parents by the best two of the four.

Fig. 7 The 2/4 self replacement strategy

3269

D. Mating Selection and Cyclic Fitness Assignment Determining the timing of switching between NSGA-II, MOGA, and SPEA2 is an important issue in the proposed cyclic fitness assignment mechanism. In our approach, we keep monitoring the search progress, and switch the fitness assignment mechanism when there is no improvement for a period. Let A(i) denote the Pareto archive at generation i, P(i) denote the population produced at generation i, FA denote the current fitness assignment mechanism, and y f x denote y dominates x. The fitness assignment mechanism switches based on the following procedure. IF (there is no (x,y) | x ∈ A(i), y ∈ P(i+1), y f x) noImpr = noImpr + 1 ENDIF IF (noImpr > Y1 + cycle ⋅ Y2) change FA according to the order: NSGA-II → MOGA → SPEA2 → NSGA-II noImpr = 0 IF (FA = NSGA-II) cycle = cycle + 1 ENDIF ENDIF

from the final Pareto archives after six runs is taken as the approximated Pareto front obtained by the tested algorithm. The generation number is 300. We set the parameter K (Section III-B) as 10 since we want the unit of weight to be 0.1. We chose five dispatching rules including ECR, MDD, CR+SPT, SLACK, and PTPW based on a simulation study in [29]. Definitions of these dispatching rules are given in Appendix. TABLE II. DATA OF THE BENCHMARK PROBLEMS Problem parameter Values considered Processing time (p) Uniform [1, 200] Number of jobs (n) 20, 30, 40, 50 Number of 15, 20 machines Job due date dj = Uniform[µ − (µR)/2, µ + (µR)/2]

µ = (1.0 – T)⋅ n ⋅ E[p]

T = percentage tardy jobs = 0.3, 0.6 R = due date range = 0.5, 2.5

The above procedure is invoked once at each generation. The values of variables noImpr and cycle are set as zero at the beginning of the genetic algorithm. Y1 and Y2 are parameters of the proposed algorithm. Note that the tolerant period without improvement is extended each time when a new cycle starts. We do this because it becomes more and more difficult to find better solutions as the search process proceeds. After the fitness values of genomes are calculated according to current fitness assignment mechanism, 2-tournament selection operator is used for mating selection.

A. Benchmark Problems, Algorithm Setting, and Performance Measures The benchmark problems used here are from Demirkol et al. [9], and are publicly accessible. The related information is given in Table II. There are 32 (4×2×2×2) parameter combinations, and each parameter combination has five problem instances. We picked one instance for each parameter combination, and hence there are 32 problem instances in our experiments. We generated six initial populations, each contained 60 randomly created genomes, and ran the tested genetic algorithm with each one of them to solve each problem instance once. The collection of all non-dominated solutions

2 2

Two performance measures are used to compare the tested genetic algorithms. They were also adopted in Arroyo et al. [27]. Since we do not know the true Pareto front, we define the reference Pareto front (PFR) as the collection of non-dominated solutions obtained by all tested genetic algorithms (APP). The first measure, Fc, is a cardinal measure, which represents how many solutions obtained by a tested genetic algorithm lie on the reference Pareto front. The second measure, Fd, is a distance measure, which estimates the average minimum distance between the reference Pareto front and the approximated Pareto front of an tested genetic algorithm. Table III gives their formal definitions.

APP PFA(a) PFR

E. Initial Population and Stopping Criterion The initial population is generated randomly. In other words, each gene in each genome is set as one of the L (mentioned in Section III-B) possible values randomly. The genetic algorithm stops after a designated number of generations is reached. IV. EXPERIMENTS AND RESULTS

Levels 1 4 2

PF(a) d(x, y) Fc(a) Fd(a)

TABLE III. TWO PERFORMANCE MEASURES IN THE EXPERIMENTS the set of tested genetic algorithms the approximated Pareto front obtained by an algorithm a {x | ∃ a ∈ APP ∧ x ∈ PFA(a) ∧ ∀ a ∈ APP !∃ y ∈ PFA(a) such that y f x} {x | x ∈ PFA(a) ∧ x ∈ PFR} Euclidean distance between two solutions |PF(a)|



y∈PFR

min d ( x, y )

x∈PFA ( a )

PFR

B. Performance of the proposed environmental selection strategy This subsection provides the experimental results to compare the proposed environmental selection strategy and two other strategies of SPEA2 and NSGA-II. Table IV summarizes the results. In the table, original SPEA2 and NSGA-II refer to the genetic algorithms proposed in [18] and [21], respectively. SPEA2/NSGA-II with the proposed strategy is the same as the original SPEA2/NSGA-II but the environmental selection strategy is replaced by our proposed one. Table IV shows that the proposed strategy gave smaller Fd values than the original strategies of SPEA2 and NSGA-II did. The smaller Fd value means that replacing the original

3270

environmental selection strategies of SPEA2 and NSGA-II by the proposed strategy can push the genetic algorithm to achieve the approximated Pareto front closer to the reference Pareto front. Besides, using the proposed strategy gave much higher Fc values than the original strategy did when NSGA-II was tested. It reveals that the proposed strategy can help to find more solutions lying on the reference Pareto front. After verifying the performance of the proposed environmental selection strategy, we used it in all tested genetic algorithms in the following subsections.

assignment mechanism and the other three existing mechanisms is provided in this subsection. Four tested genetic algorithms are the same except the fitness assignment mechanisms. The average Fc and Fd values for each algorithm over all problem instances are summarized in Table VI. The genetic algorithm using the cyclic fitness assignment mechanism is denoted by CFGA. The values of parameters Y1 and Y2 are 10 and 5 here. TABLE VI. PERFORMANCE OF THE CYCLIC FITNESS ASSIGNMENT MECHANISM Fc Fd (Avg.Case 1-32) (Avg. Case 1-32) MOGA 4.4 275 SPEA2 3.4 261 NSGA-II 4.2 249 CFGA 5.7 228

TABLE IV. PERFORMANCE OF THE PROPOSED ENVIRONMENTAL SELECTION STRATEGY VS. STRATEGIES OF SPEA2 AND NSGA-II SPEA2 Test Proposed Original Case(s) |PFR| Fc Fd Fc Fd Avg (1-32) 17.3 8.5 158 122 8.8

APP = {MOGA, SPEA2, NSGA-II, CFGA}

APP = {original SPEA2, SPEA with the proposed strategy}

NSGA-II

Test Case(s)

|PFR|

Avg (1-32)

16.8

Proposed Fc Fd 12.1 99

Original Fc Fd 4.7 261

APP = {original NSGA-II, NSGA-II with the proposed strategy}

C. Performance comparison of three existing fitness assignment mechanisms This subsection presents the experimental results that motivated us to propose the cyclic fitness assignment mechanism. Three genetic algorithms were tested, and the only difference was on the fitness assignment mechanism. Table V is used to demonstrate the results. TABLE V. PERFORMANCE OF THE FITNESS ASSIGNMENT MECHANISMS OF MOGA, SPEA2, AND NSGA-II Test MOGA SPEA2 NSGA-II Case(s) Fc Fd Fc Fd Fc Fd |P| Avg (Case 1-32) Case3 Case4 Case5

16.7

6.0

230

4.8

223

5.9

196

17 18 13

1 2 9

214 109 47

1 14 2

171 49 114

15 2 2

9 109 168

APP = {MOGA, SPEA2, NSGA-II}

The second row in Table V displays the average performance of the three tested algorithms. It shows that the fitness assignment mechanism of NSGA-II provided the best performance. However, the results that interested us are listed in the following three rows. We can see that each fitness assignment mechanism significantly outperformed the other two in some problem instance. (In fact, each fitness assignment mechanism outperformed the other two in several instances. Here we only select one instance for each mechanism to demonstrate this phenomenon.) This observation inspired us to find out their characteristics and to propose the cyclic fitness assignment mechanism.

In Table VI, the performance of the genetic algorithm using the proposed cyclic fitness assignment mechanism was the best, either on the number of solutions lying on the reference Pareto front or on the distance of solutions from the reference Pareto front. This result shows that the proposed mechanism effectively combines and exerts the three well known fitness assignment mechanisms. E. Parameters of the Proposed Algorithm In the proposed cyclic fitness assignment mechanism, two parameters Y1 and Y2 are used to control the timing of switching between the fitness assignment mechanisms. In order to find out their effects on the performance, we tested four different combinations including (10, 5), (10, 10), (20, 5), and (20, 10) for (Y1, Y2). On average, the combination (10, 5) provided the best performance. That is the reason why we chose these two values for Y1 and Y2 in the algorithm setting in Section IV-A. To see their effects more clearly, we separated the problem instances into four groups based on the number of jobs. Now each group has eight (32/4 = 8) problem instances. The average Fc and Fd values of three existing fitness assignment mechanisms and the proposed mechanism with four combinations of (Y1, Y2) over eight problem instances in each group are summarized in Table VII and VIII, respectively.

D. Performance of the proposed algorithm Performance comparison of the proposed cyclic fitness 3271

TABLE VII PERFORMANCE OF THE PROPOSED MECHANISM WITH DIFFERENT PARAMETER VALUES BY THE CARDINAL MEASURE (Fc) # of jobs in the problem instances MOGA SPEA2 NSGA-II CFGA (10, 5) CFGA (10, 10) CFGA (20, 5) CFGA (20, 10)

20

30

40

50

Avg.

2.3 1.5 3.0 4.1 1.9 1.5 1.8

3.4 1.4 3.3 3.6 3.3 4.0 2.3

3.4 3.3 2.9 4.0 3.4 4.4 4.4

2.8 1.8 2.0 2.4 2.1 1.8 2.5

2.9 2.0 2.8 3.5 2.7 2.9 2.7

APP = {MOGA, SPEA2, NSGA-II, 4 CFGA}

TABLE VIII PERFORMANCE OF THE PROPOSED MECHANISM WITH DIFFERENT PARAMETER VALUES BY THE DISTANCE MEASURE (Fd) # of jobs in the problem instances MOGA SPEA2 NSGA-II CFGA (10, 5) CFGA (10, 10) CFGA (20, 5) CFGA (20, 10)

20

30

40

50

Avg.

147 184 142 129 150 163 167

261 255 292 224 270 217 315

315 311 380 293 280 296 257

686 474 435 464 530 480 419

352 306 312 277 307 289 289

APP = {MOGA, SPEA2, NSGA-II, 4 CFGA}

In Table VII and VIII, the proposed mechanism performed well on average when comparing with the existing three mechanisms, no matter which combination of (Y1, Y2) was used. By separating the problem instances based on the number of jobs, we observed that increasing the values of Y1 and Y2 was beneficial when the number of jobs gets larger. It reveals that more time should be allocated to a fitness assignment mechanism before switching to the next one when a problem with larger scale is to be solved. Moreover, increasing Y1 seems more important than increasing Y2 by comparing the performance of CFGA(10,10) and CFGA(20, 5). These experimental results can serve as a basic guideline for adjusting the parameter values to solve problems with different scales.

fitness assignment mechanisms of MOGA, SPEA2, and NSGA-II through experiments on a public benchmark problem set. Then we proposed the cyclic fitness assignment mechanism to effectively combine these three existing mechanisms to obtain better performance. As for other components, the proposed genetic algorithm used an indirection representation based on dispatching rules, and the rules being encoded were chosen carefully. The environmental selection strategy was designed to avoid rapid loss of population diversity. All the proposed ideas were verified by a comprehensive experiment. In the future, we will continue our research works in the following directions: (1) we want to enhance the cyclic fitness assignment mechanism through the design of switching procedure; (2) we want to incorporate the local search procedure into our genetic algorithm; (3) we will test the proposed algorithm on more problem instances to have more general conclusions. APPENDIX TABLE IX DEFINITIONS OF THE DISPATCHING RULES USED IN THE PROPOSED ALGORITHM [29] Rules Priority value

F. Selected Approximated Pareto Optimal Front Many single-objective job shop benchmark problems were already provided with reference solutions (optimal or upper/ lower bounded) in the literature. However, only few multi-objective job shop benchmark problems had reference solutions. Therefore, here we provide some non-dominated solutions we found for the public benchmark problems. For each problem instance, we collected the non-dominated solutions from the approximated Pareto fronts obtained by all tested genetic algorithms. Then we sorted these nondominated solutions in the increasing order of total tardiness. Suppose the number of non-dominated solutions is N, the 1st, (N/4)th, (N/2)th, (3N/4)th, and Nth solutions are listed in Table X. We hope this table can serve as a reference for researchers who are interested in the same problem set. (With the limitation of space, we only list the selected approximated Pareto front of 16 problem instances. For more information, readers are invited to contact with the first author and to get the experimental results.) V. CONCLUSION In this paper, we solved a multiobjective job shop scheduling problem in the viewpoint of approximating the Pareto front by using the genetic algorithm. The key component in a multiobjective genetic algorithm is the fitness assignment mechanism. In this work, we first observed and identified the characteristics of three well known existing



r − pj 2 ri )2 + ( j ) di − t − p j d j − t − pj

ECR

z( j) =

MDD CR+SPT SLACK PTPW

z(j) = max{dj, t + rj} z(j) = max{(dj – t)/rj⋅pj, pj} z(j) = dj – tj – rj z(j) = pj+ qj

Notations: rj dj pj t qj

remaining processing time of job j due date of job j processing time of the imminent operation of job j system time queueing time of the imminent operation of job j

i∈competing jobs

(

ACKNOWLEDGMENT This research is sponsored by National Science Council under Research Grant with No. NSC 94-2752-E-002-007PAE. REFERENCES [1] [2] [3] [4] [5] [6]

3272

J.D. Schaffer, “Multi-objective optimization with vector evaluated genetic algorithms,” Proc. of the First International Conference on Genetic Algorithms, pp. 93 – 100, 1985. C.M. Fonseca and P.J. Fleming, “Genetic algorithms for multiobjective optimization: formulation, discussion and generalization,” Proc. of the Fifth International Conference on Genetic Algorithms, 1993. J. Horn, N. Nafpliotis, and D.E. Goldberg, “A niched Pareto genetic algorithm for multiobjective optimization,” Proc. of IEEE Congress on Evolutionary Computation, pp. 82 – 87, 1994. N. Srinivas and K. Deb, “Multiobjective optimization using nondominated sorting in genetic algorithms,” Evolutionary Computation, vol. 2, no. 3, pp. 221 – 248, 1994. A. Nagar, J. Haddock and S. Heragu, “Multiple and bicriteria scheduling: a literature survey,” European Journal of Operational Research, vol. 81, pp. 88 – 104, 1995. V.R. Neppalli, C.-L. Chen, and J.N.D. Gupta, “Genetic algorithms for the two-stage bicriteria flowshop problem,” European Journal of Operational Research, vol. 95, pp. 356 – 373, 1996.

[7]

[8] [9] [10]

[11] [12] [13]

[14] [15] [16]

[17]

[18]

J. Sridhar and C. Rajendran, “Scheduling in flowshop and cellular manufacturing systems with multiple objectives – a genetic algorithmis approach,” Production Planning and Control, vol. 7, no. 4, pp. 374 – 382, 1996. D.H. Wolpert and W.G. Macready, “No free lunch theorems for optimization,” IEEE Trans. on Evolutionary Computation, vol. 1, no. 1, pp. 67 – 82, 1997. E. Demirkol, S. Mehta and R. Uzsoy, “Benchmarks for shop scheduling problems,” European Journal of Operational Research, vol. 109, pp. 137 – 141, 1998. H. Ishibuchi and T. Murata, “A multi-objective genetic local search algorithm and its application to flowshop scheduling,” IEEE Trans. on Systems, Man, and Cybernetics: Part C, vol. 28, no. 3, pp. 392 – 403, 1998. S. Cavalieri and P. Gaiardelli, “Hybrid genetic algorithms for a multiple-objective scheduling problem,” Journal of Intelligent Manufacturing, vol. 9, pp. 361 – 367, 1998. E. Zitzler and L. Thiele, “Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto Approach,” IEEE Trans. on Evolutionary Computation, vol. 3, no. 4, pp. 257 – 271, 1999. D.W. Corne, J.D. Knowles and M.J. Oates, “The Pareto envelope-based selection algorithm for multiobjective optimization,” Proc. of the Sixth International Conference on Parallel Problem Solving from Nature, pp. 839 – 848, 2000. D.A. Van Veldhuizen and G.B. Lamont, “On measuring multiobjective evolutionary algorithm performance,” Proc. of IEEE Congress on Evolutionary Computation, pp. 204 – 211, 2000. E. Zitzler, K. Deb, and L. Thiele, “Comparison of multiobjective evolutionary algorithms: empirical results,” Evolutionary Computation, vol. 8, no. 2, pp. 173 – 195, 2000. E.-G. Talbi, M. Rahoual, M.H. Mabed, and C. Dhaenens, “A hybrid evolutionary approach for multicriteria optimization problems: application to the flow shop,” Proc. of the First International Conference on Evolutionary Multi-Criterion Optimization, pp. 416 – 428, 2001. D.W. Corne, N.R. Jerram, J.D. Knowles, M.J. Oates, “PESA-II: Region-based selection in evolutionary multiobjective optimization,” Proc. of the Genetic and Evolutionary Computation Conference, pp. 283 – 290, 2001. E. Zitzler, M. Laumanns, and L. Thiele, “SPEA2: Improving the strength Pareto evolutionary algorithm,” Technical Report 103, Computer Engineering and Networks Laboratory (TIK), Swiss Federal

[19]

[20] [21] [22]

[23] [24]

[25]

[26]

[27] [28] [29]

[30]

Institute of Technology (ETH) Zurich, Gloriastrasse 35, CH-8092 Zurich, Switzerland, May 2001. K. Deb and T. Goel, “Controlled elitist non-dominated sorting genetic algorithms for better convergence,” Proc. of the First International Conference on Evolutionary Multi-Criterion Optimization, pp. 67 – 81, 2001. A. Jaszkiewicz, “Genetic local search for multi-objective combinatorial optimization,” European Journal of Operational Research, vol. 137, pp. 50 – 71, 2002. K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan, “A fast and elitist multi-objective genetic algorithm: NSGA-II,” IEEE Trans. on Evolutionary Computation, vol. 6, no. 2, pp. 181 – 197, 2002. M. Basseur, F. Seynhaeve, and E.-G. Talbi, “Design of multi-objective evolutionary algorithms: application to the flow-shop scheduling problem,” Proc. of IEEE Congress on Evolutionary Computation, pp. 1151 – 1156, 2002. V. T’kindt and J.-C. Billaut, “Multicriteria scheduling: theory, models, and algorithms,” Springer, 2002. C. Meloni, D. Naso, and B. Turchiano, “Multi-objective evolutionary algorithms for a class of sequencing problems in manufacturing environments,” Proc. of IEEE International Conference on Systems, Man, and Cybernetics, vol. 1, pp. 8 – 13, 2003. S.S. Sankar, S.G. Ponnambalam, V. Ratinavel, M. Gurumarimuthu, “A Pareto based multi-objective genetic algorithm for scheduling of FMS,” Proc. of IEEE Conference on Cybernetics and Intelligent Systems, pp. 699 – 704, 2004. J.-H. Chen and S.-Y. Ho, “A novel approach to production planning of flexible manufacturing systems using an efficient multi-objective genetic algorithm,” International Journal of Machine Tool & Manufacture, vol. 45, pp. 949 – 957, 2005. J.E.C. Arroyo and V.A. Armentano, “Genetic local search for multi-objective flowshop scheduling problems,” European Journal of Operational Research, vol. 167, pp. 717 – 738, 2005. T. Loukil, J. Teghom, and D. Tuyttens, “Solving multi-objective production scheduling problems using metaheuristics,” European Journal of Operational Research, vol. 161, pp. 42 – 61, 2005. T.-C. Chiang and L.-C. Fu, “Using dispatching rules for job shop scheduling with due date-based objectives,” Technical Report NTUCSIE05-07, Dept. of Computer Science and Information Engineering, National Taiwan University, Taiwan, R.O.C., 2005. H. Hoogeveen, “Multicriteria scheduling,” European Journal of Operational Research, vol. 167, pp. 592 – 623, 2005.

TABLE X SELECTED APPROXIMATED PARETO OPTIMAL FRONT FOR SIXTEEN PUBLIC PROBLEM INSTANCES FROM [9]

Problem name

Selected Approximated Pareto optimal front (f1, f2)

r_40_15_1_1_1 r_40_15_1_2_3

(30065,2779) (30190,1848) (30807,1691) (32034,1565) (34718,1517) (41879,3236) (44504,2627) (46112,2394) (49497,2357) (51582,2268)

r_40_15_2_1_2

(79771,4279) (82059,4026) (88914,3436) (92586,3223) (96789,3004)

r_40_15_2_2_1

(67681,5845) (69719,4607) (71865,3504) (77582,2706) (82642,2563)

r_40_20_1_1_1

(48922,3364) (50383,2561) (53150,2348) (55253,2228) (59860,2062)

r_40_20_1_2_2

(59095,4070) (60552,3788) (61548,3612) (65140,3431) (71961,3332)

r_40_20_2_1_1

(98916,4521) (100801,4164) (101585,3977) (104119,3746) (117146,3525)

r_40_20_2_2_1

(108690,5167) (111416,4643) (114874,4197) (116920,3895) (118371,3536)

r_50_15_1_1_4

(40624,2801) (41769,2493) (42934,2256) (46191,2001) (52938,1912)

r_50_15_1_2_1

(41505,3866) (42374,3614) (43603,3167) (44599,2984) (46248,2896)

r_50_15_2_1_2

(101690,4124) (103890,4059) (110548,3701) (119457,3542) (129613,3470)

r_50_15_2_2_5

(103744,6838) (104074,5571) (105257,3957) (107992,3290) (120047,3088)

r_50_20_1_1_2

(70530,3754) (72307,3282) (74027,2887) (75437,2820) (92861,2666)

r_50_20_1_2_2

(59865,5230) (60251,4257) (62243,3538) (63868,3427) (75558,3135)

r_50_20_2_1_2

(129738,5559) (131873,4541) (134012,4414) (147299,4063) (156091,3912)

r_50_20_2_2_1

(122976,4931) (124180,4074) (125334,3755) (126703,3715) (133598,3596)

3273