A Memetic Algorithm for Parallel Batch Machine ... - Semantic Scholar

4 downloads 11621 Views 204KB Size Report
Scheduling with Incompatible Job Families and. Dynamic Job Arrivals. Hsueh-Chien Cheng, Tsung-Che Chiang, and Li-Chen Fu. Department of Computer ...
A Memetic Algorithm for Parallel Batch Machine Scheduling with Incompatible Job Families and Dynamic Job Arrivals Hsueh-Chien Cheng, Tsung-Che Chiang, and Li-Chen Fu Department of Computer Science and Information Engineering National Taiwan University Taipei, Taiwan, R.O.C. [email protected], [email protected], [email protected] Abstract—The identical parallel batch machine scheduling problem is addressed in this paper. Incompatible job families and dynamic job arrivals are considered, and the objective is to minimize total weighted tardiness. A memetic algorithm is proposed to assign the batches to machines and to determine their processing sequences. The proposed approach is shown to outperform an existing approach in terms of solution quality and computational efficiency through comprehensive experiments. Keywords—memetic algorithm, batch scheduling, parallel machine, total weighted tardiness

I.

INTRODUCTION

Machine scheduling is a key factor for the manufacturing industry to survive in the highly competitive market. It is a challenging task, especially for the industries like semiconductor manufacturing, which has large-scale fabrication facilities where hundreds to thousands of jobs are processed by tens to hundreds of machines. In general, there are two types of machines – serial and batch types. Batch processing machines are distinguished from serial ones by the multi-job capacity and long processing time. In most cases, once a batch operation begins, it is non-preemptable during the period of processing. Observing the characteristics of batch processing machines, effectively utilizing the manufacturing capacity of batch processing machines will be of great importance to increase the productivity and system performance. The batch scheduling problems can be classified into two primary categories based on job compatibility. One is the category of problems with compatible job families, for example, scheduling of the burn-in ovens in semiconductor testing facilities. In the problems of this category, any jobs can be batched together, and the processing time of the batch is determined by the longest processing time among jobs in the batch. The other category of problems is characterized by incompatible job families. Scheduling of the diffusion and oxidation furnaces in semiconductor fabrication facilities can serve as good examples. In this kind of problem, jobs are separated into several families, and only jobs of the same family can be batched together. In this work, we address the problem of scheduling identical parallel batch processing machines with incompatible

job families. Dynamic job arrival is considered, which means that jobs are not always ready at the beginning of the scheduling horizon. The jobs may arrive at the machines at different time instants. This reflects the practical condition in most multi-stage production systems. To earn customers’ goodwill and orders, jobs must be finished before their due dates. Here, total weighted tardiness (TWT) is adopted to evaluate the due date delivery performance of schedules. For a job ij of a family j, let dij denote its due date and Cij denote its completion time. Then, we can define tardiness Tij = max{0, Cij – dij}. TWT is the summation of the weighted tardiness of all jobs. The weights wij of job ij can be used to show the levels of importance of different customers. j ,i

Toward an effective scheduling for parallel batch machines, we need to deal with three main decisions – batch forming, machine assignment, and batch sequencing. Every time when a batch machine is free for processing, numerous alternatives may exist on the selection of a set of jobs to be formed as a batch. For most of the time, it pays to form a batch with higher degree of fullness so that the manufacturing capacity is not wasted. However, a tendency to fill out the batch runs the risk of postponing the jobs that arrive earlier in order to wait for other jobs that arrive relatively late. After the batches are formed, we need to assign each of them to a suitable machine. Finally, batches on each machine should be processed in a proper sequence so that the jobs can be finished before their due dates. An example is illustrated in Fig. 1. M1

{11, 12}

{13, 15}

{23, 24}

{21, 22}

M2

time Job arrival 11

12 21

22

13 14 15 23

24

Fig. 1 An example of parallel batch machine scheduling with two machines (Maximum batch size is assumed to be 2)

541 c 2008 IEEE 1-4244-2384-2/08/$20.00 

(1)

TWT = ¦ wij Tij

The rest of this paper is organized as follows. In Section II, we review some previous works related to the problem. We describe the design of the proposed approach in Section III. Experiments and results are summarized in Section IV. Conclusions and future work are provided in Section V. II.

LITERATURE REVIEW

Batch machine scheduling problems have been studied extensively in recent years. Most works focused on single machine problems. For scheduling of single batch machine with compatible job families, Lee et al. [1] proposed dynamic programming (DP)-based methods to minimize maximum tardiness and number of tardy jobs, and Wang and Uzsoy [2] used a genetic algorithm (GA) combined with DP approach to minimize maximum lateness. As for single batch machine scheduling with incompatible job families, Uzsoy [3] developed efficient optimal algorithms to minimize makespan, maximum lateness, and total weighted completion time. Mehta and Uzsoy [4] developed a well-known rule, BATC, to minimize total tardiness. The BATC rule is extended from a famous heuristic, apparent tardiness cost (ATC) rule [5], which usually showed good performance on the minimization of TWT in the literature. In Azizoglu and Webster [6], a branch and bound method is applied to minimize total weighted completion time. Perez et al. [7] focused on minimizing TWT. They decomposed the problem into batch forming and batch sequencing, and solved them by heuristics and DP, respectively. To learn effective rules for minimizing total completion time and total tardiness, a genetic programming approach was devised by Geiger and Uzsoy [8]. In practical production systems, parallel machines are usually required so that the system will not be blocked by the unavailability (e.g. breakdown) of a certain machine. Lee et al. [1] and Uzsoy [3] presented heuristics to minimize makespan and maximum lateness for identical parallel batch machines with compatible and incompatible job families, respectively. Balasubramanian et al. [9] minimized TWT for identical parallel batch machines with incompatible job families. They used BATC for batch forming and batch sequencing and GA for machine assignment. To make the scheduling problem closer to the real-world situation, dynamic job arrivals should be considered. Glassey and Weng [10] and Fowler et al. [11] proposed rules for job dispatching on batch machines by considering the arrival of future lots. They showed that use of this information is able to reduce cycle times in the single batch machine environment. A dynamic look-ahead scheduling procedure was proposed by Cigolini et al. [12]. It was shown to be effective to reduce cycle times in a two-stage and parallel-machine system. To improve the results obtained by dispatching rules, Uzsoy [3] developed an iterative updating algorithm to minimize maximum lateness for a single batch machine. This updating algorithm was then incorporated into GA by Malve and Uzsoy [13] to minimize maximum lateness for identical parallel batch machines. Considering dynamic job arrivals, Mönch et al. [14] extended their approach in [9] by proposing three modified BATC rules. Later, Reichelt and Mönch [15] extended the approach in [14] further to address the problem with more than one objective.

542

III.

THE PROPOSED APPROACH

A. Overview As mentioned, there are three sub-problems to solve when dealing with the parallel batch machine scheduling problem – batch forming, machine assignment, and batch sequencing. In our approach, we utilize the procedure in [14] to do batch forming. Machine assignment is done by a simple heuristic, and batch sequencing is achieved by the proposed memetic algorithm. A brief step-by-step description of our approach is given here, and details of each step will be presented in the following subsections. Step1. Given a problem instance, run the BATC-based procedure [14] to generate a complete schedule sBATC. Step2. Search for the optimal schedule with the batches fixed as in sBATC by the memetic algorithm. (In other words, the memetic algorithm only changes the machines on which the batches are processed and the order in which the batches are sequenced.) Step2.0. Encode the chromosome as a permutation of batches formed in sBATC. Step2.1. Generate the initial population randomly. Step2.2. Evaluate the individuals by the proposed decoding scheme. Step2.3. Generate the population in the next generation through mating selection, crossover, mutation, and environmental selection. Step2.4. Do local search for the best individual in the population if necessary. Step2.5. If any of the stopping criteria is reached, stop. Otherwise, go to Step2.2. B. Batch Formation The ATC rule [5] is well known for good performance on minimizing TWT for serial machines in the literature. In [14], Mönch et al. proposed three modified versions of ATC to be used on the batch machines. They found that the second version, BATC-II, had the best performance. In our work, batch forming is solved by using the scheduling procedure in [14] with BATC-II. To keep this work self-contained, a summary of the scheduling procedure is given here. When a machine becomes available at time t, one batch of a certain job family is chosen to be scheduled on the machine. The set of unscheduled jobs ij of family j with release time rij within the time window (t, t + Δt) is denoted by M(j, t, Δt) := {ij | rij ≤ t + Δt}.

(2)

In order to further lower the number of jobs considered, the set M(j, t, Δt) is reduced to M ( j , t , Δt , thres ) := {ij | ij ∈ M ( j , t , Δt ) and pos (i, j ) < thres} (3)

where pos(i, j) denotes the position of job ij with respect to its ATC index, and thres is an algorithm parameter. The ATC index of job ij is defined as

I ij , ATC (t ) = ( wij / p j ) ⋅ exp(−(dij − p j + (rij − t ))+ / k p)

2008 IEEE International Conference on Systems, Man and Cybernetics (SMC 2008)

(4)

where pj is the processing time of family j, k is the rule parameter, and p is the average processing time of the remaining unscheduled jobs. All combinations (batches) of jobs in M ( j , t , Δt , thres ) should be considered. The BATC-II index is computed for each candidate batch. Among all candidate batches from all families, the batch with the highest BATC-II index is selected to be scheduled on the machine. For each batch Bbj of jobs of family j, the BATC-II index is formulated as nbj

I (t ) = ¦ ( wij / p j ) ⋅ exp(−(d ij − p j − t + (rbj − t ) + ) + ) ⋅ min{nbj / N B ,1} (5) i =1

where nbj denotes the number of jobs in Bbj, rbj denotes the maximum rij of jobs in Bbj, and NB denotes the maximum batch size. Repeating the above procedure whenever a machine becomes available, a complete schedule sBATC can be constructed. Next, we will take the batches formed in this schedule as the units and search for schedules with the minimum TWT by changing machine assignment and batch sequence through the proposed memetic algorithm. C. Proposed Memetic Algorithm 1) Chromosome Encoding: Each batch formed in sBATC is assigned an index. Each individual is a permutation of the batch indices. 2) Population Initialization: Each individual in the initial population is a random permutation of the batch indices. TABLE I. PROCESSING TIMES AND RELEASE TIMES OF BATCHES IN THE EXAMPLE FOR CHROMOSOME DECODING Batch Index 1 2 3 4 5

M1 M2

Processing Time 2 4 2 4 4

1

4 3

(a)

5 2

Release Time 0 4 3 0 1

M1 M2

2

4 1

3

5

(b)

Fig. 2 Decoding of an individual with permutation (4, 3, 1, 2, 5)

3) Chromosome Decoding: The decoding scheme is responsible for constructing a schedule for each individual based on its recorded permutation of batch indices. The basic idea is to schedule batches in the order of the permutation of their indices. Each batch is scheduled on the machine with the earliest startable time. For example, given two machines and five batches with their processing times and ready times in Table I, we can construct a schedule for an individual with permutation (4, 3, 1, 2, 5) as in Fig. 2(a). Although this

scheme is simple and requires little computational effort, it may derive schedules with unnecessary idle periods due to the dynamic arrivals of jobs. In Fig. 2(a), for instance, there is an idle period of machine M2 from time 0 to 3 since batch 3 is ready at time 3. To deal with this problem, when a batch is to be scheduled, we will identify the set of idle periods on all machines first. Among these idle periods, only the periods into which the batch can be scheduled without violating the ready time and processing time are kept. If there is no such period, schedule the batch on the machine with the earliest startable time. If there is more than one feasible period, schedule the batch into the period with the shortest duration. In this way, we can construct a better schedule for the aforementioned example, as in Fig. 2(b). Using the proposed decoding scheme, machine assignment and batch sequence are determined according to the permutation of batch indices. Since the decoding scheme might re-arrange the sequences of batches in a better way through inserting batches into idle periods, the permutation of batch indices recorded on the individual will be modified according to the constructed schedule. In the aforementioned example, the individual will become (4, 1, 2, 3, 5) after applying the decoding scheme. 4) Mating Selection: Two-tournament selection is used to select from the population the parents to mate. Two individuals are first selected randomly from the population. The one with lower TWT is selected as a parent. The selected parents are paired together in order to perform crossover. 5) Crossover and Mutation: Partially mapped crossover (PMX) [16] operator is applied to a pair of selected parents. PMX is one of the most widely used crossover operators for permutation-encoded chromosomes. With a small probability, the newly generated offspring is subjected to a swap mutation operator. Two randomly chosen genes from a chromosome are swapped after applying the swap operation. 6) Environmental Selection: Environmental selection takes place after each pair of parents generate corresponding pair of offspring. Two individuals with the lowest TWT are selected from the parents and offspring and replace the parents. This mechanism was shown to be useful to avoid premature convergence in our previous study [17]. TABLE II. PSEUDO CODES OF THE LOCAL SEARCH PROCEDURE g: individual TWT(g): total weighted tardiness of the schedule obtained by decoding g swap(g): generate a neighboring solution using swap operator LocalSearch(Chromosome g0) Begin g = gbest = g0 For t = 1 to NLS g = swap(g) If TWT(g) < TWT(gbest) gbest = g Else If TWT(g) > TWT(gbest)⋅(1+5%) g = gbest End if End for g0 = gbest End

2008 IEEE International Conference on Systems, Man and Cybernetics (SMC 2008)

543

7) Local Search: After the population is formed, a local search procedure is performed on the best individual. In order to save search efforts, this procedure is invoked only when the best individual in the current generation is better than the best one in the previous generation. In each iteration of the local search procedure, a neighboring solution is generated by using the swap operator. Since we observe that accepting only better neighbors will quickly trap the search process in a local optimum, worse neighbors are also accepted as long as they are not worse than the best solution by 5%. The procedure terminates after NLS iterations, where NLS is an algorithm parameter and its value will be determined in Section IV. 8) Stopping criteria: The memetic algorithm will stop if the best solution is not updated after NCONV continuous generations or when the predefined maximum number of generations (NGEN) is reached. IV.

EXPERIMENTS AND RESULTS

A. Generation of Problem Instances The test problem instances are generated in the same way as in [14]. Parameters and their values for instance generation are listed in Table III. There are 2⋅2⋅2⋅3⋅3 = 72 categories of instances with different combinations of parameter values. Five instances are generated for each category. Thus, totally 72⋅5 = 360 problem instances are used in our experiments. TABLE III. PARAMETERS AND VALUES FOR INSTANCE GENERATION Problem parameter

Values used

Number of machines (m) Number of jobs per family (NJF) Maximum batch size (NB) Number of families Family processing time

3, 5 60, 100 4, 8 3 2, 4, 10, 16, and 20 with probability 0.2, 0.2, 0.3, 0.2, and 0.1, respectively Uniform (0, 1) rij ~ Uniform (0, α⋅Σpj/(mB)) α = 0.25, 0.5, 0.75 dij – rij ~ Uniform (0, β⋅Σpj/(mB)) β = 0.25, 0.5, 0.75

Weight per job (wij) Release date (rij) Due date (dij)

Levels 2 2 2 1 1

1 3 3

B. Benchmark Approach We take the approach proposed by Mönch et al. in [14] as the benchmark approach since the authors have conducted a series of studies on batch machine scheduling [7, 9, 14, 15], and the approach in [14] was developed to solve exactly the same problem as ours. Mönch et al.’ approach is different from ours in that they used GA to seek the optimal machine assignment and BATC-II-based heuristic to do batch sequencing. In their GA, the chromosome is encoded as a sequence of machine indices to which the batches (which are also obtained from sBATC, as mentioned in Section III-B) are assigned. To decode an individual, firstly the batches are assigned to the machines following the assignment recorded on the chromosome. Then, on each machine, the batch with the highest BATC-II index among all unscheduled batches is scheduled whenever the machine becomes available.

544

C. Parameter Tuning The proposed memetic algorithm has five parameters – population size (NP), mutation rate (pm), number of iterations in the local search procedure (NLS), maximum number of nonimproving generations (NCONV), and maximum number of generations (NGEN). In order to reduce the number of experiments required to do parameter setting, values of pm and NCONV are set as 0.1 and 30, respectively, according to some simple preliminary tests. The value of NGEN is set as 500, as in [14]. We put the focus on the values of NP and NLS. One problem instance is randomly picked up from each problem category, and thus a pool of 72 instances is formed. We test 12 versions of the proposed memetic algorithm with different NP and NLS values. Each version is run to solve each instance for five times, and the average TWT value of the solutions from five runs is recorded. The relative performance is then calculated by the ratio of the average TWT value to the TWT value of sBATC. Finally, the average relative performance (ARD) over 72 instances is taken to compare the solution quality among all 12 versions. The ARD and the average computation time of each tested versions are given in Table IV. TABLE IV. AVERAGE RELATIVE PERFORMANCE (%) AND AVERAGE COMPUTATION TIME (S) USING DIFFERENT PARAMETER VALUES

NLS = 0 NLS = 25 NLS = 50 NLS = 100

Np = 100

Np = 200

Np = 300

86.6 (3.0)* 86.6 (2.4) 86.6 (2.3) 86.6 (2.0)

86.3 (4.8) 86.2 (4.7) 86.2 (4.0) 86.2 (4.0)

86.0 (7.2) 86.0 (6.2) 86.0 (5.8) 86.0 (5.7)

*

Average relative performance (average computation time)

From the experimental results in Table IV, we first observe that the values of NP and NLS have little impact on the solution quality. On one hand, it may reveal that the proposed algorithm can always reach the optimal or near-optimal solutions even with a small population and without the local search procedure. On the other hand, it might be the case that the proposed algorithm suffers from the premature convergence. Since we do not know the true optimal solutions, we are not sure which case it is and leave more investigation on this phenomenon as future work. Secondly, the results show that the computation time is decreased as more search efforts are paid in the local search procedure. A reasonable explanation is that the intensive search ability of local search is useful to find the optimal or nearoptimal solutions in earlier generations so that the memetic algorithm can stop earlier. Based on the experimental results here, the values of NP and NLS are set as 100 and 100, respectively, in the following experiment. D. Performance Comparisons After determining the parameter values of our approach, we can compare the performance of the benchmark approach and ours. Parameter values of the benchmark approach are set as those used in [14]. Both approaches are run to solve each of the 360 instances for ten times. Applying one approach to solve one instance, the minimum, average, and maximum TWT values of the solutions obtained from ten runs are recorded. Then, the relative performance in the worst, average, and best cases is calculated by the ratio of the maximum, average, and

2008 IEEE International Conference on Systems, Man and Cybernetics (SMC 2008)

minimum TWT values to the TWT value of sBATC, respectively. Finally, the worst-case, average-case, and best-case ARD over a certain subset of instances is calculated to compare the solution quality of two tested approaches. In Table V, for example, the value 94.2 in the third row means that the worstcase ARD obtained by Mönch et al’ approach over 180 instances with 3 machines is 94.2%. Besides, the average computation time required for different sets of problem instances is also provided.

E. Comparisons of Encoding and Decoding Schemes A basic difference between the benchmark and our approaches is the encoding/decoding scheme. The benchmark approach encodes the chromosome as a sequence of machine indices, whereas ours encodes the chromosome as a sequence of batch indices. In this subsection, we will compare the size of search space, average solution quality, and computational efficiency resulted from two different pairs of encoding and decoding schemes.

Considering the solution quality, it is obvious that our approach is superior to the benchmark. On average over all 360 instances (see the last row in Table V), the ARD of our approach is better than that of the benchmark approach by 7.3%, 5.5%, and 4% in the worst, average, and best cases, respectively. Moreover, the worst-case ARD of our approach is even better than the best-case ARD of the benchmark approach. By analyzing the ARD with respect to different problem parameter values, our approach is more superior to the benchmark approach when the number of batches is larger (NB = 4 or NJF = 100) or range of release time or due date is larger (α = 0.75 or β = 0.75). Observing the worst-case and best-case ARD of both approaches, our approach is more robust than the benchmark approach. On average over 360 instances, the difference between the worst-case and best-case ARD of our approach is only 2.2%, whereas the difference of the benchmark approach is 5.5%.

To estimate the size of search space, we assume that all batches are full so that the number of batches is x = 3⋅ªNJF/NBº. (Number of families is 3.) Then, the sizes of search spaces of the benchmark and our approaches are mx and x!, respectively. For each of 360 problem instances, we generate 1000 solutions randomly and calculate their TWT values using the benchmark and our approaches. The ratio of average TWT value of 1000 solutions to the TWT value of sBATC is calculated, and the average of the ratio over 360 instances is used to compare the average solution quality between two tested approaches. Besides, the computation time required to evaluate 1000 random solutions is recorded, and the average of computation time over 360 instances is taken to assess the computational efficiency. The estimated size of search space, average relative performance, and average computation time are summarized in Table VI.

TABLE V. WORST-, AVERAGE-, AND BEST-CASE AVERAGE RELATIVE PERFORMANCE (%) AND COMPUTATION TIME (S.) USING BENCHMARK AND PROPOSED APPROACHES Factor

Mönch et al. [14]

Proposed MA

Machines m=3 m=5

94.2 / 90.9 / 88. 5 (12.0)* 96.4 / 93.4 / 91.1 (12.0)

87.0 / 85.3 / 84.3 (1.9) 89.0 / 87.9 / 87.3 (2.1)

Batch size NB = 4 NB = 8

94.5 / 90.5 / 87.4 (20.2) 96.2 / 93.8 / 92.2 (3.8)

85.2 / 82.9 / 81.6 (3.1) 90.8 / 90.3 / 90.1 (0.8)

Job number NJF = 60 NJF = 100

97.2 / 94.3 / 92.2 (3.9) 93.5 / 90.0 / 87.3 (20.1)

90.8 / 89.8 / 89.3 (1.0) 85.1 / 83.4 / 82.3 (3.0)

Release time α = 0.25 α = 0.50 α = 0.75

97.7 / 96.1 / 95.0 (12.3) 94.3 / 91.0 / 88.5 (12.0) 94.0 / 89.3 / 85.9 (11.8)

93.9 / 93.1 / 92.7 (2.2) 86.6 / 85.2 / 84.4 (2.0) 83.4 / 81.5 / 80.4 (1.7)

Due date β = 0.25 β = 0.50 β = 0.75

94.6 / 92.9 / 91.6 (12.6) 95.1 / 91.9 / 89.6 (12.4) 96.4 / 91.6 / 88.1 (11.0)

90.3 / 89.6 / 89.3 (2.1) 87.4 / 86.1 / 85.3 (2.0) 86.2 / 84.1 / 82.9 (1.8)

95.3 / 92.1 / 89.8 (12.0)

88.0 / 86.6 / 85.8 (2.0)

All *

Wrost- / Average- / Best-case average relative performance (average computation time)

About the computational efficiency, our approach requires only about one-sixth computation time of the benchmark approach. Based on our observation, the reduction of computation time is resulted from smaller population size (100 vs. 300 individuals), faster convergence (on average, 120 vs. 160 generations), and faster decoding procedure (on average 0.2 vs. 0.3 s). More discussions about the computational efforts required by the decoding procedures of both approaches are given in the next subsection.

TABLE VI. ESTIMATED SIZE OF SEARCH SPACE AND AVERAGE RELATIVE PERFORMANCE (%) USING DIFFERENT ENCODING SCHEMES AND AVERAGE COMPUTATION TIME USING DIFFERENT DECONDING SCHEMES Factors m

3 3 3 3 5 5 5 5

NB 4 4 8 8 4 4 8 8

Size of search space NJF

Mönch et al. [14] (Machine assignment)

Proposed MA (Batch sequence)

60 100 60 100 60 100 60 100

2.95E+21ʳ 2.82E+11ʳ 6.08E+35ʳ 4.05E+18ʳ 2.84E+31ʳ 5.96E+16ʳ 2.65E+52ʳ 1.82E+27ʳ

1.20E+56ʳ 2.48E+109ʳ 6.20E+23ʳ 2.04E+46ʳ 1.20E+56ʳ 2.48E+109ʳ 6.20E+23ʳ 2.04E+46ʳ

Average relative performance (%) of 1000 random solutions All 360 instances 213 413 All 360 instances

Average computation time (s.) 0.31

0.20

As mentioned in Section V-B, the benchmark approach seeks for the optimal machine assignment of batches and sequences the batches on each machine through a BATC-IIbased heuristic. By sequencing the batches with domain knowledge (BATC-II rule), the size of search space of the benchmark approach is significantly reduced, as can be seen in Table VI. In addition, the domain knowledge also brings better average solution quality. However, using domain knowledge to reduce the size of search space may exclude many good (optimal) solutions and limit the performance of their approach. Although the size of search space resulted from our encoding scheme is larger, the experimental results show that our approach has the ability to search effectively and to generate solutions with much better quality than that of the benchmark approach.

2008 IEEE International Conference on Systems, Man and Cybernetics (SMC 2008)

545

Another cost from the decoding scheme of the benchmark approach is the computational effort. Every time when a batch is to be scheduled, the BATC-II indices of all unscheduled batches must be calculated. This results in the O(x2) time complexity of their decoding scheme where x denotes the number of batches. By contrast, our decoding scheme schedules the batches simply based on the permutation of batch indices. The time complexity of our scheme is O(x+xW) where W denotes the number of idle periods and is usually much smaller than x. Therefore, our decoding scheme is more efficient than that of the benchmark approach. On average over 360 tested instances, our scheme only requires 66% computation time of the benchmark one. V.

CONCLUSIONS AND FUTURE WORK

Scheduling of batch machines is important in many manufacturing industries. Due to the multi-capacity feature, this problem is even more challenging than scheduling of serial machines. In this paper, we consider identical parallel batch machine scheduling with incompatible job families and dynamic job arrivals, which is close to the practical condition in the industry. A memetic algorithm is proposed to do machine assignment and batch sequencing with the objective as minimization of total weighted tardiness. Through experiments on problem instances with various characteristics, our approach shows superiority over a benchmark approach in terms of solution quality and computational efficiency. We will continue this research along with three directions: First, the proposed approach will be used to solve multi-stage shop scheduling problems. For example, we can use it as a subproblem solution procedure in the shifting bottleneck approach in [18]. Second, the production environment will be extended to contain parallel batch machines with different capacity [19] or efficiency [20]. In this condition, we need to do machine assignment more carefully. At last, fixed batch formation will be relaxed in our future approach, which will seek the optimal batch formation, machine assignment, and batch sequence simultaneously. ACKNOWLEDGMENT This research is sponsored by the National Science Council of Republic of China (R.O.C.) under research grant no. NSC962218-E-002-033.

REFERENCES [1]

C.-Y. Lee, R. Uzsoy, and L. A. Martin-Vega, “Efficient algorithms for scheduling semiconductor burn-in operations,” Operations Research, vol. 40, no. 4, pp. 764 – 775, 1992.

[2]

C. S.. Wang and R. Uzsoy, “A genetic algorithm to minimize maximum lateness on a batch processing machine,” Computers & Operations Research, vol. 29, no. 12, pp. 1621 – 1640, 2002.

[3]

R. Uzsoy, “Scheduling batch processing machines with incompatible job families,” International Journal of Production Research, vol. 33, no. 10, pp. 2685 – 2708, 1995.

[4]

S. V. Mehta and R. Uzsoy, “Minimizing total tardiness on a batch processing machine with incompatible job families,” IIE Transactions, vol. 30, pp. 165 – 178, 1998.

[5]

A. P. J. Vepsalainen and T. E. Morton, “Priority rules for job shops with weighted tardiness costs,” Management Science, vol. 33, no. 8, pp. 1035 – 1047, 1987.

546

[6]

M. Azizoglu and S. Webster, “Scheduling a batch processing machine with incompatible job families,” Computers & Industrial Engineering, vol. 39, pp. 325 – 335, 2001.

[7]

I. C. Perez, J. W. Fowler, and W. M. Carlyle, “Minimizing total weighted tardiness on a single batch process machine with incompatible job families,” Computers & Operations Research, vol. 32, pp. 327 – 341, 2005.

[8]

C. D. Geiger and R. Uzsoy, “Learning effective dispatching rules for batch processor scheduling,” International Journal of Production Research, vol. 46, no. 6, pp. 1431 – 1454, 2008.

[9]

H. Balasubramanian, L. Mönch, J. W. Fowler, and M. E. Pfund, “Genetic algorithm based scheduling of parallel batch machines with incompatible families to minimize total weighted tardiness,” International Journal of Production Research, vol. 42, no. 8, pp. 1621 – 1638, 2004.

[10] C. R. Glassey and W. W. Weng, “Dynamic batching heuristics for simultaneous processing,” IEEE Transactions on Semiconductor Manufacturing, vol. 4, no. 2, pp. 77 – 82, 1991. [11] J. W. Fowler, D. T. Phillips, and G. L. Hogg, “Real-time control of multiproduct bulk-service semiconductor manufacturing processes,” IEEE Transactions on Semiconductor Manufacturing, vol. 5, no. 2, pp. 158 – 163, 1992. [12] R. Cigolini, M. Perona, A. Portioli, and T. Zambeli, “A new dynamic look-ahead scheduling procedure for batching machines,” Journal of Scheduling, vol. 5, pp. 185 – 204, 2002. [13] S. Malve and R. Uzsoy, “A genetic algorithm for minimizing maximum lateness on parallel identical batch processing machines with dynamic job arrivals and incompatible job families,” Computers & Operations Research, vol. 34, pp. 3016 – 3028, 2007. [14] L. Mönch, H. Balasubramanian, J. W. Fowler, and M. E. Pfund, “Heuristic scheduling of jobs on parallel batch machines with incompatible job families and unequal ready times,” Computers & Operations Research, vol. 32, pp. 2731 – 2750, 2005. [15] D. Reichelt and L. Mönch, “Multiobjective scheduling of jobs with incompatible families on parallel batch machines,” Lecture Notes in Computer Science, vol. 3906, pp. 202 – 221, 2006. [16] D. E. Goldberg and R. Lingle, “Alleles, loci and the traveling salesman problem.” Proceedings of the First International Conference on Genetic Algorithms and Their Applications, Pittsburgh, PA, pp. 154 – 159, 1985. [17] T. C. Chiang and L. C. Fu, “A rule-centric memetic algorithm to minimize the numbe rof tardy jobs in the job shop,” International Journal of Production Research, doi: 10.1080/00207540701420578, 2007. [18] S. J. Mason, J. W. Fowler, W. M. Carlyle, and D. C. Montgomery, “Heuristics for minimizing total weighted tardiness in complex job shops,” International Journal of Production Research, vol. 43, no. 10, pp. 1943 – 1963, 2005. [19] M. Mathrajan and A. I. Sivakumar, “Minimizing total weighted tardiness on heterogeneous batch processing machines with incompatible job families,” International Journal of Advanced Manufacturing Technology, vol. 28, pp. 1038 – 1047, 2006. [20] C. K. Goh, E. J. Teoh, K. C. Tan, and D. K. Liu, “A hybrid evolutionary approach for heterogeneous multiprocessor scheduling,” Soft Computing, in press.

2008 IEEE International Conference on Systems, Man and Cybernetics (SMC 2008)