Computers & Industrial Engineering 39 (2001) 325±335
www.elsevier.com/locate/dsw
Scheduling a batch processing machine with incompatible job families Meral Azizoglu a,*, Scott Webster b,1 a
Department of Industrial Engineering, Middle East Technical University, Ankara 06531, Turkey b School of Management, Syracuse University, Syracuse, NY 13244-2130, USA
Abstract The problem of scheduling batch processors is important in some industries and, at a more fundamental level, captures an element of complexity common to many practical scheduling problems. We describe a branch and bound procedure applicable to a batch processor model with incompatible job families. Jobs in a given family have identical job processing times, arbitrary job weights, and arbitrary job sizes. Batches are limited to jobs from the same family. The scheduling objective is to minimize total weighted completion time. We ®nd that the procedure returns optimal solutions to problems of up to about 25 jobs in reasonable CPU time, and can be adapted for use as a heuristic for larger problems. q 2001 Elsevier Science Ltd. All rights reserved. Keywords: Scheduling; Batch processor
1. Introduction This paper addresses the following model of a batch processor-scheduling problem. Multiple jobs are processed simultaneously in batches. Only jobs from the same family may be processed together in a batch (i.e. incompatible job families) and all jobs in a family have the same processing time. The processor space requirements may vary by job and the scheduling objective is to minimize total weighted completion time. This type of problem arises in a number of different settings including diffusion and burn-in operations in semiconductor fabrication, heat treatment operations in metalworking, and ®ring operations in ceramics. The model is important because of the signi®cant economic impact of burn-in operation scheduling. The burn-in operation is where semiconductors are exposed to high temperatures to weed out chips * Corresponding author. Tel.: 190-312-210-2281; fax: 190-312-210-1268. E-mail addresses:
[email protected] (M. Azizoglu),
[email protected] (S. Webster). 1 Tel.: 1315-443-3460; fax: 1443-5457. 0360-8352/01/$ - see front matter q 2001 Elsevier Science Ltd. All rights reserved. PII: S0 3 6 0 - 8 3 5 2 ( 0 1 ) 0 0 00 9 - 2
326
M. Azizoglu, S. Webster / Computers & Industrial Engineering 39 (2001) 325±335
Nomenclature Parameters B processor capacity f # of families number of jobs belonging to family i ni n number of jobs n1 1 n2 1 ¼ 1 nf aij size of job j of family i processing time of job
i; j pi pij wij weight of job (i,j) where wij . 0 Schedule-dependent sets and functions set of job indices assigned to kth batch in a schedule Bk S schedule of k batches (i.e. batch start time completion time of previous batch) {B1 ; B2 ; ¼; Bk } b(ij) function that returns the index of the batch where job (i,j) is scheduled {kuij [ Bk } f(k) function that returns Pthe index of the family scheduled in batch k {iuij [ Bk } a(Bk) size of batch Bk ij[Bk aij p(Bk) processing time of batch P Bk pf(k) w(Bk) weight of batch Bk ij[Bk wij C set of feasible schedules {Su Y tk1 Bk {
i; j;i [ 1; f ; j [ 1; ni }; Bu > Bv B ;u ± v; a
Bk # B;k} P Cij(S) completion time of job (i,j) according to schedule S k#b
ij p
Bk susceptible to premature failure (see Uzsoy, Lee & Martin-Vega 1992). The semiconductor industry plays meaningful role in the overall economy because the computer revolution is being driven by the ability to economically develop and manufacture semiconductors, and semiconductors are being used in an increasing variety of everyday products. A recent issue of Business Week (8/25/97, p. 66), for example, observes that during the past four years `the mere production of computers and semiconductors accounted for 45% of US industrial growth.' Effective use of resources in this industry is especially important because of the very high cost of equipment, and how well the burn-in operation is scheduled has a large impact on the schedule as a whole. The burn-in operation is frequently a bottleneck due to long processing times relative to other operations (e.g. days versus hours). In addition, the burn-in operation occurs near the end of the manufacturing process and thus has a strong in¯uence on performance (e.g. there is little room to compensate for delays in burn-in by expediting subsequent operations). The batch processor model is also important because it embodies a source of tension present in many practical scheduling problems Ð ef®ciency versus timely completion of individual jobs. On one hand, assigning jobs to batches to use all (or as much) available space in the processor maximizes ef®ciency. On the other hand, higher priority jobs should be processed before lower priority jobs. Insights into how to deal with various manifestations of this con¯ict may eventually lead to practical solution methods for more complex and more widely applicable models of scheduling problems in industry. Early work on batch processor models can be traced to Ikura and Gimple (1986) who propose an optimal algorithm for a batch processor model with identical job processing times, identical job sizes, dynamic job arrivals, and an objective of minimizing make span. Several researchers have studied batch
M. Azizoglu, S. Webster / Computers & Industrial Engineering 39 (2001) 325±335
327
processor models with a single-family comprised of jobs with varying processing times under the weighted completion time criterion (see Brucker et al., 1998 for analysis of other scheduling objectives). Brucker et al. (1998), Chandru, Lee and Uzsoy (1993a, b) and DuPont and Ghazvini (1997), and Hochbaum and Landy (1997a,b)consider the special case where job sizes and weights are identical. Brucker et al. (1998); Uzsoy and Yang (1997) proposed solution methods for the more general model where job weights are allowed to be arbitrary, but job sizes are assumed to be identical. Uzsoy (1994) proposed an optimization procedure and several fast heuristics for a model where job sizes are allowed to be arbitrary, but job weights are assumed to be identical. Azizoglu and Webster (2000) proposed an optimization algorithm for a model with arbitrary job weights and job sizes. Researchers have studied batch processor models with multiple incompatible job families under a variety of objective functions. Dobson and Nambimadom (1992) studied the model considered in this paper. They proved that the problem is NP-hard and propose three heuristic algorithms. Uzsoy (1995) studied a model with constant job sizes and develops heuristic algorithms for minimizing the maximum lateness and for minimizing total weighted completion time. Mehta and Uzsoy (1998) developed exact and heuristic algorithms for this model under the objective of minimizing total tardiness. This paper extends analysis of the model studied by Dobson and Nambimadom (1992). We developed two properties of an optimal schedule, proposed a lower bound procedure, and incorporate these and other known properties and bounds in the design of a branch and bound (B and B) algorithm. The problem that we are considering is NP-hard, which suggests that any optimization procedure will run into computational dif®culties at some point as the number of jobs increases. There is, however, the practical question concerning the size of problems that are solvable in a reasonable amount of time. Our computational tests suggest that the answer to this question for our algorithm is about 25 jobs. Furthermore, since our B and B algorithm employs a depth-®rst strategy (i.e. very quickly generates feasible schedules), it may be employed as a heuristic for larger problems by terminating with the best solution after a set amount of CPU time. An important aspect of our procedure concerns a set of dominance properties that are identi®ed in Section 3. We ®nd that the use of these properties to fathom nodes in the B and B tree leads to signi®cant speedup of the algorithm. The speci®cs on how these properties are used, as well as other details of the algorithm design are speci®ed in Section 4. Section 5 reports results from computational tests and Section 6 concludes the paper.
2. Background on application We consider the problem of scheduling the burn-in operation in the fabrication of integrated circuits. The burn-in operation is where semiconductors are exposed to high temperatures in a ®xed capacity oven in order to weed out chips susceptible to premature failure. Different chips have different time and temperature requirements in the oven, and consequently, only chips of the same type are processed together. The processing time for burn-in is typically on the order of days; this compares to hours for most other operations in semiconductor fabrication. As a result, the operation tends to be a bottleneck where effective scheduling plays an important role in in¯uencing overall system performance. We developed an algorithm for assigning jobs to batches and sequencing batches so as to maximize dollar throughput, or in other words, minimize the average dollar value of chips in the queue and in the oven.
328
M. Azizoglu, S. Webster / Computers & Industrial Engineering 39 (2001) 325±335
We tested the algorithm using hypothetical data (generated in a manner consistent with the literature) and have not applied our algorithm in an actual manufacturing setting. 3. Model, properties and bounds The problem is to ®nd a schedule Sp [ C satisfying 9 8 =
Property 2. If b
ij . b
iu; then B 2 a
Bb
iu , aij in all optimal schedules. Property 2 is a generalization of a property in Uzsoy (1995). Given a scheduling objective that is a regular performance measure, he showed that if aij 1 ;ij; then all batches are full except the last one of each family in all optimal schedules. The proof of Property 2 is a straightforward variation on the proof in Uzsoy (1995), and is therefore omitted. Property 3. If wij . wiu ; B $ a
Bb
iu 2 aiu 1 aij ; and B $ a
Bb
ij 2 aij 1 aiu ; then b
ij # b
iu in all optimal schedules.
Proof. Suppose S p is an optimal schedule with b
ij . b
iu; wij . wiu ; B $ a
Bb
iu 2 aiu 1 aij ; and B $ a
Bb
ij 2 aij 1 aiu : Let S 0 be the schedule that results from interchanging jobs (i, j) and (i,u). S 0 is feasible because B $ a
Bb
iu 2 aiu 1 aij and B $ a
Bb
ij 2 aij 1 aiu ; and since jobs (i, j) and (i,u) have the same processing time, there in batch completion times. Therefore, from wij . wiu and P P is no change 0 b
ij . b
iu; it follows that ij wij Cij
S , ij wij Cij
Sp ; which is a contradiction. A 3.2. Upper bound Our upper bounding procedure decomposes the problem into independent single-family problems. For each family, the jobs are added to a batch, creating a new batch when no unassigned job can ®t in the current batch. Among jobs that can ®t in a batch, the job having smallest size to weight ratio is selected.
M. Azizoglu, S. Webster / Computers & Industrial Engineering 39 (2001) 325±335
329
Once a batch is formed it is reorganized to ensure consistency with Property 3. The batches are sorted according to Property 1 after the batches for all families are formed. The procedure is a slight variation on a greedy heuristic proposed by Dobson and Nambimadom (1992); the only difference is the addition of a step to ensure that batches satisfy the necessary condition for an optimal schedule given in Property 3. The procedure is formally stated below: Step 0. k 0; i 1 Step 1. J {
i; 1;
i; 2; ¼;
i; ni } Step 2. k k 1 1; Bk B Step 3. Let s be the set of unscheduled jobs in J that ®t in batch k, i.e. s {
i; j [ Jua
Bk 1 aij # B}: If s B; then go to Step 5; otherwise let
i; u argmin
i;j[s {aij =wij } Step 4. Bk Bk < {
i; u}; J J={
i; u}: If J B; then go to Step 8; otherwise go to Step 3. Step 5. Let K J Step 6. Let
i; u argmax
i;j[K {wij }: If L {
i; j [ Bk uaij # aiu ; wij , wiu ; a
Bk 2 aiu 2 aij # B} ± B; then
i; v argmin
i;j[L {wij }; Bk
Bk ={
i; v} < {
i; u};J
J={
i; u} < {
i; v}: Step 7. K K={
i; u}: If K ± B; then go to Step 6; otherwise go to Step 2. Step 8. If i , f ; then i i 1 1; go to Step 1 Step 9. Sequence the k batches in order of smallest to largest p
Bk =w
Bk 3.3. Lower bounds Let iX
it be a function that returns the index of the job from family iwith the tthPsmallest value of ik : Let rik be de®ned such that rj1 aia
ij # kB , parameter X. For example, aia
i1 # aia
i2 # ¼ # aia
inP i Prik 1 1 j1 aia
ij for all i [ {1; 2; ¼; f } and k [ {1; 2; ¼; d j aij =Be} where dxe is the smallest integer greater than or equal to x. Hence rikis an upper bound on the number of jobs from family ithat can be processed in k batches. Let mik rik 2 rik21 where ri0 0: Observe that mik is an upper bound on the number of jobs to the in the kth batch of family i given rik21 family i jobs with the smallest sizes are already assigned Pmthat P ik ®rst k 2 1 batches. Let vik j1 wiw
i;ni 2rik21 2j11 all i [
1; 2; ¼; f } and k [ {1; 2; ¼; d j aij =Be}: For example, v 11 is the sum of the m11 largest weights in family 1. Observe that v ik is an upper bound on the total weight of jobs in the kth batch of family i given that rik21 family i jobs with the largest weights are already assigned to the ®rst k 2 1 batches. Therefore, sequencing batches with weights v ik and processP ing times pi for i [ {1; 2; ¼; f } and k [ {1; 2; ¼; d j aij =Be} in order of smallest to largest batch processing time to weight ratio yields a lower bound on the cost of an optimal schedule. Given problem instance I {B; aij ; pi ; wij ;i [ 1; f and j [ 1; ni }; we refer to this lower bound as LB1(I). Dobson and Nambimadom (1992) proposed a lower bound for the same problem by allowing job splitting between the batches. Their procedure ®rst forms batches for each family by assigning the jobs to batches in order of smallest to largest job size to weight ratio. Each batch is ®lled to its capacity B, with the possible exception of the last batchP for a family. The batches are then sequenced in order of smallest to largest p
Bk=w
Bk where w
Bk ij[Bk wij xijk and xijk is the fraction of job (i, j) assigned to batch k. Given problem instance I {B; aij ; pi ; wij ;i [ 1; f and j [ 1; ni }; we refer to this lower bound as LB2(I). We illustrate the bounds through the following problem instance with two families. Example. B 14
330
M. Azizoglu, S. Webster / Computers & Industrial Engineering 39 (2001) 325±335
(i, j)
(1,1)
(1,2)
(1,3)
(1,4)
(1,5)
(2,1)
(2,2)
(2,3)
(2,4)
(2,5)
pi aij wij aij/wij
5 5 9 0.55
5 5 8 0.63
5 5 7 0.71
5 5 6 0.83
5 9 5 1.8
3 4 9 0.44
3 5 6 0.83
3 6 6 1.0
3 7 8 0.88
3 11 10 1.1
.
P2 P 5 1 5 1 5 3j1 aia
1j ; r12 4 because P4Note that r11 2 because j1 aia
1j 5 1 5 # 14 ,P 5 Therefore, m11 j1 aia
1j 5 1 5 1 5 1 5 # 28 , 5 1 5 1 5 1 5 1 9 Pj1 aia
1j ; and r13 5:P 2 11 r12 1; v11 m w r11 2; m12 r12 2Pr12 2; m13 r13 2 P j1 wiw
1;52j11 j1 iw
1;n1 2r10 2j11 m12 2 9 1 8 17; v12 j1 wiw
1;n1 2r11 2j11 j1 wiw
1;32j11 7 1 6 13; and v13 5: The parameters for family 2 are similarly computed: r21 2; r22 4; r23 5; m21 2; m22 2; m23 1; v21 19; v22 14; v23 6: Sequencing batches with processing times and weights Ð (5,17), (5,13), (5,5), (3,19), (3,14), (3,6) Ðaccording to Property 1 yields: LB1
I 19
3 1 14
3 1 3 1 17
3 1 3 1 5 1 13
3 1 3 1 5 1 5 1 6
3 1 3 1 5 1 5 1 3 1 5
3 1 3 1 5 1 5 1 3 1 5 770: Batches for family 1 jobs according to the Dobson and Nambimadom (1992) lower bound are: B1 {
1; 1;
1; 2; h4=5 of
1; 3}; B2 {1=5 of
1; 3;
1; 4; 8=9 of
1; 5}; B3 {1=9 of
1; 5} with a
B1 5 1 5 1
4=55 14; w
B1 9 1 8 1
4=57 22:6; a
B2
1=55 1 5 1
8=99 14; w
B2
1=57 1 6 1
8=95 11:84; a
B3
1=99 1; w
B3
1=95 :56: Batches for family 2 are similarly computed: B4 {
2; 1;
2; 2; 5=7 of
2; 4}; B5 {2/7 of (2,4), (2,3), 6/11 of (2,5)}, B6 {5=11 of
2; 5}; with a
B4 14; w
B4 20:71; a
B5 14; w
B5 13:74; a
B6 5; w
B6 4:55: Sequencing batches with processing times and weights Ð (5,22.6), (5,11.84), (5,.56), (3,20.71), (3,13.74), (3,4.55) Ðaccording to Property 1 yields: LB2(I) d20.71(3) 1 13.74(3 1 3) 1 22.6(3 1 3 1 5) 1 11.84(3 1 3 1 5 1 5) 1 4.55(3 1 3 1 5 1 5 1 3) 1 0.56(3 1 3 1 5 1 5 1 3 1 5) e d682.5e 683. Recall that the upper bounding procedure processes by family and greedily adds the job to the current batch with the smallest size to weight ratio among those that ®t. Once no other jobs can ®t in the current batch, the batch is checked for consistency with Property 3 and reorganized if necessary. The batches for family 1 are B1 {
1; 1;
1; 2};B2 {
1; 3;
1; 4}; and B3 {
1; 5}: For family 2, the ®rst batch is initially B4 {
2; 1;
2; 2}; which is inconsistent with Property 3. Applying step 6 in the upper bounding procedure results in B4 {
2; 1;
2; 4}: The remaining batches are B5 {
2; 2;
2; 3}; and B1 {
2; 5}: Sequencing batches with processing times and weights Ð (5,17), (5,13), (5,5), (3,17), (3,12), (3,10) Ðaccording to Property 1 yields: UB
I 17
3 1 12
3 1 3 1 17
3 1 3 1 5 1 10
3 1 3 1 5 1 3 1 13
3 1 3 1 5 1 3 1 5 1 5
3 1 3 1 5 1 3 1 5 1 5 817; which is also the optimum. 4. Branch and bound algorithm The preceding properties and bounds are used in two depth-®rst B and B algorithms described in this section. The two B and B algorithms differ by the method for computing lower bounds. B and B1 are based on LB1 and B and B2 is based on LB2. Given a sequence of n jobs, the corresponding optimal schedule can be found by dividing the sequence into subsequence, where each subsequence corresponds to a particular batch. The addition of a new job
M. Azizoglu, S. Webster / Computers & Industrial Engineering 39 (2001) 325±335
331
to a sequence represents the addition of a job to the current batch if the job belongs to the family of the batch and the addition does not violate batch capacity B. Otherwise the addition represents the formation of a new batch. Note, that en route to an optimal solution is suf®cient to evaluate n possible sequences. To evaluate these sequences, we use a depth ®rst strategy due to its relatively low memory requirements. At level t, the decision about the addition of the tth job of the sequence is made. Hence, at level n a complete solution is reached. In order to avoid duplication of batches, we discard nodes corresponding to addition to the current batch if the index of the unscheduled job is smaller than at least one other job in the batch. We also discard nodes that correspond to closing the kth batch if any one of the following conditions holds: 1. p
Bk21 =w
Bk21 . p
Bk =w
Bk (otherwise Property 1 is violated), 2. there exists an unscheduled job (i, j) where i f
Bk and B 2 a
Bk $ aij (otherwise Property 2 is violated), 3. there exists two scheduled jobs (i,u) and (i,v) such that k b
iu . b
iv; wiu $ wiv ; a
Bb
iv 2 aiv 1 aiu # B (otherwise Property 3 is violated), 4. there exists a scheduled job (i,u) in batch k and an unscheduled job (i,v) such that wiv $ wiu ; aiv $ wiu ; and a
Bb
iu 2 aiu 1 aiv # B (otherwise Property 3 is violated). We calculate a lower bound for each node that cannot be fathomed by dominance conditions given Pk Pthe j above. The cost of partial schedule S {B1 ; B2 ; ¼; Bk } is j1 w
Bj t1 p
Bt : We will use the lower bounds of Section 2 to compute lower bounds on the cost of a schedule given partial schedule S. Let I {B; aij ; pi ; wij ;i [ 1; f and j [ 1; ni } denote the problem instance, let J be the set of unscheduled job indices, and let I 0 denote the instance of the problem of scheduling jobs in J beginning at time zero, i.e. I 0 {B; aij ; pi ; wij ;ij [ J}: Generalizing the interpretation of iX
it in Section 3 to denote a function that returnsPthe index of the unscheduled job from family i with the tth smallest value P 1 1 aia
ij where i f
Bk : Note that no more of parameter X, let x satisfy xj1 aia
ij # B 2 a
Bk , Pxj1 k21 than x unscheduled jobs fromPfamily i will start at time t1 p
Bt and all other unscheduled jobs will begin processing on or after kt1 p
Bt : Let I 00 be identical to I 0 except that the x smallest sizes and x largest weights from family i f
Bk are eliminated, I 00 {B; aij ; pi ; wij ;t ± i and tj [ J; aia
i;x1j; pi ; wiw
i;j ;j [ 1; ni 2 x} where ni is the number of unscheduled jobs from family i. According to this notation, a lower bound on the cost of an optimal schedule for instance I given partial schedule S is LB1
IuS
k X j1
w
Bj
j X t1
p
Bt 1
X ij[J
wij
k X t1
p
Bt 1 LB1
I 00 :
Given partial schedule S {B1 ; B2 ; ¼; Bk }; the unscheduled jobs will begin processing no earlier than P k21 t1 p
Bt : Therefore, a lower bound on the cost of an optimal schedule for instance I given partial schedule S is LB2
IuS
k X j1
w
Bj
j X t1
p
Bt 1
X ij[J
wij
kX 21 t1
p
Bt 1 LB2
I 0 :
The upper bound speci®ed in Section 3 is used until level n is reached in the B and B tree. Nodes at level
332
M. Azizoglu, S. Webster / Computers & Industrial Engineering 39 (2001) 325±335
Table 1 Upper bound performance n
(amin,amax)
f 2
f 4
((UB 2 OPT)/OPT)100
#of times
((UB 2 OPT)/OPT)100
# of times
Average
Maximum
UB OPT
Average
UB OPT
Maximum
15
(1,25) (13,38) (1,50)
0.91 5.99 0.20
7.42 18.99 1.13
5 4 7
0.00 0.05 0.60
0.00 0.47 4.85
10 9 7
20
(1,25) (13,38) (1,50)
1.02 1.16 3.45
5.52 6.15 11.66
5 6 3
0.04 2.64 1.81
0.36 13.74 8.32
9 5 5
20
(1,25) (13,38) (1,50)
1.07 5.05 2.18
2.41 17.24 10.73
3 3 2
3.81 1.08 3.34
14.79 4.22 11.79
5 4 2
30
(1,25)
1.60
3.64
0
2.04
7.89
4
n de®ne complete schedules, and the best upper bound is updated whenever a better schedule is identi®ed. The procedures terminate when there are no unfathomed partial schedules in the B and B tree. 5. Computational experience We conducted a computational experiment to assess the effectiveness of the B and B algorithms. The design of the experiment parallels the design used in Azizoglu and Webster (2000). We generate random problem instances for n 15; 20; 25; and 30 jobs, and f 2 and four families. The number of jobs in each family is set as follows: n 15 f 2
n1 7 and n2 8
n 15 f 4
n1 3 and n2 n3 n4 4
n 20 f 2
n1 n2 10
n 20 f 4
n1 n2 n3 n4 5
n 25 f 2
n1 12 and n2 13
n 25 f 4
n1 7 and n2 n3 n4 6
n 30 f 2
n1 n2 15
n 30 f 4
n1 n2 7 and n3 n4 8
M. Azizoglu, S. Webster / Computers & Industrial Engineering 39 (2001) 325±335
333
Table 2 Results for f 2 n
(amin,amax)
CPU time (seconds) Average
Number of nodes Maximum
B and B1
B and B2
B and B1
Average B and B2
Maximum
B and B1
B and B2
B and B1
B and B2
15
(1,25) (13,38) (1,50)
0.005 0.011 0.009
0.006 0.016 0.011
0.014 0.033 0.032
0.011 0.019 0.020
286.7 287.7 284.1
339.0 652.5 559.2
1,090 710 794
1,159 2,502 2,225
20
(1,25) (13,38) (1,50)
0.039 0.464 0.366
0.045 0.674 0.396
0.068 2.266 2.056
0.400 0.960 1.100
1307.3 12078.5 8965.3
2193.2 26704.7 14823.3
2,543 65,427 53,877
4,686 163,270 87,138
25
(1,25) (13,38) (1,50)
1.087 20.210 35.225
0.934 24.564 28.144
1.843 125.120 177.882
19.650 78.410 182.340
19061.5 285531.5 524466.0
27404.1 449965.3 553433.4
34,007 1908,349 2547,661
71,074 2300,218 3047,878
30
(1,25)
19.865
15.73
48.315
33.720
325877.3
363045.7
1499,981
1181,652
Job processing times and weights are drawn from a discrete uniform distribution with parameters (1, 100) and (1, 50), respectively. As in Dobson and Nambimadom (1992), job sizes are drawn from a discrete uniform distribution between amin and amax with
amin ; amax [ {
1; 25;
13; 38;
1; 50} and batch capacity is set to 50. Ten problem instances are generated for each combination of parameter values. We implemented the two variations of the B and B algorithm in fortran 77 on an IBM PS/6000 under the Unix operating system. Table 1 reports the average and maximum percentage deviation of the upper bound from the optimal Table 3 Results for f 4 n
(amin,amax)
CPU time (seconds) Average
Number of nodes Maximum
B and B1
B and B2
B and B1
Average B and B2
B and B1
Maximum B and B2
B and B1
B and B2
15
(1,25) (13,38) (1,50)
0.000 0.004 0.004
0.000 0.012 0.012
0.000 0.027 0.023
0.000 0.032 0.036
0.0 90.2 88.6
17.1 364.6 372.4
0 593 500
69 1,220 958
20
(1,25) (13,38) (1,50)
0.002 0.937 0.251
0.005 1.540 1.285
0.007 4.892 1.330
0.009 4.174 8.932
58.8 18241.3 3955.9
218.5 40033.9 30981.3
263 105,957 16,260
398 119,237 221,786
25
(1,25) (13,38) (1,50)
0.03 32.230 15.022
0.040 94.554 33.922
0.154 118.081 83.936
0.159 323.470 120.683
794 440521.3 240654.4
1616.9 1698454.4 715410.7
4,151 2164,735 1505,858
7,242 8056,277 3097,480
30
(1,25)
0.162
0.274
0.525
0.687
2811.7
10,347
14,914
6150
334
M. Azizoglu, S. Webster / Computers & Industrial Engineering 39 (2001) 325±335
Table 4 Results for n 15 f
(amin,amax)
CPU time (seconds) Average
Number of nodes Maximum
Average
Maximum
B and B1
B and B 0 1
B and B1
B and B 0 1
B and B1
B and B 0 1
B and B1
B and B 0 1
2
(1,25) (13,38) (1,50)
0.005 0.011 0.009
0.096 1.078 1.190
0.014 0.033 0.032
0.380 4.337 4.017
286.7 287.7 284.1
5864.8 29422.0 38035.2
1,090 710 794
30,916 118,674 151,035
4
(1,25) (13,38) (1,50)
0.000 0.004 0.004
0.000 0.183 0.038
0.000 0.027 0.023
0.000 1.681 0.230
0.0 90.2 88.6
0.0 3421.7 538.1
0 593 500
0 32,756 3,689
solution and number of times the upper bound returns the optimal solution. The results show that the performance of the upper bound is quite satisfactory for all problem combinations. Moreover the performances do not deteriorate as the number of jobs increase. Tables 2 and 3 report CPU time and number of nodes generated for f 2 and f 4: The tables include only the ®rst job size set for n 30 as our initial experiments have shown that both algorithms are unable to return solutions for job sizes (13, 38) and (1,50) within 30 min of CPU time. All of the problem instances associated with the parameter combinations in the tables were solved to optimality within 30 min of CPU time. The results show that B and B1 outperforms B and B2 for the majority of problem instances. The difference between the numbers of nodes is more signi®cant than that of CPU times because LB1 is more computationally intense than LB2. Problem instances with f 4 are easier to solve than instances with f 2 because there are fewer jobs per family, and as a consequence, fewer possible solutions. The results also show that the ef®ciency of the algorithms is sensitive to job size distributions, with increasing job size variation associated with higher computational times. A possible alternative to B and B1 is the use of max {LB1, LB2} as the lower bound instead of LB1. However, in initial experiments we observed that LB1 dominated LB2 in the vast majority of nodes, which suggests that the decrease in the number of nodes will likely be minimal and not worth the cost of much higher CPU time per node. We tested the effects of Properties 1±3 on algorithm performance. Table 4 compares the performance of B and B1 with a modi®ed variation of B and B1 called B and B 0 1. B and B 0 1 is the same as B and B1 except conditions, (i)±(iv) are not checked to determine whether nodes can be discarded. The results show that the improvement achieved by the dominance properties signi®cantly outweighs the extra effort spent in testing them. 6. Summary We have proposed a B and B procedure for a batch processor model that is important because of the economic signi®cance of one of its motivating applications and because it incorporates a complicating factor common in scheduling practice. Insights into this model, and other models like it, are useful building blocks for designing algorithms that apply to more complex and realistic scheduling problems.
M. Azizoglu, S. Webster / Computers & Industrial Engineering 39 (2001) 325±335
335
We ®nd that the B and B algorithm returns optimal solutions for problem instances with up to about 25 jobs within 30 min of CPU time, and that it can be adapted for use as a heuristic to save CPU time and/or to use as a tool for larger problem instances. References Azizoglu, M., & Webster, S. (2000). Scheduling a batch processing machine with non-identical job sizes. International Journal of Production Research, 38, 2173±2184. Brucker, P., Gladky, A., Hoogeveen, H., Kovalyov, M. Y., Potts, C. N., Tautenhahn, T., & Van de Velde, S. L. (1998). Scheduling a batching machine. Journal of Scheduling, 1, 31±54. Chandru, V., Lee, C. -Y., & Uzsoy, R. (1993). Minimizing total completion time on a batch processing machine with job families. Operations Research Letters, 13, 61±65. Chandru, V., Lee, C. -Y., & Uzsoy, R. (1993). Minimizing total completion time on batch processing machines. International Journal of Production Research, 31, 2097±2121. Dobson, G., & Nambimadom, R. S. (1992). The batch loading and scheduling problem. Working Paper QM 92-03, University of Rochester, Rochester, NY. DuPont, L., & Ghazvini, F. J. (1997). Branch and bound method for single batch processing machine with mean ¯ow time criteria. International Journal of Industrial Engineering: Practice and Theory, 4, 197±203. Hochbaum, D. S., & Landy, D. (1997). Scheduling with batching: two job types. Discrete Applied Mathematics, 72, 99±114. Hochbaum, D. S., & Landy, D. (1997). Algorithms and heuristics for scheduling semiconductor burn-in operations. Operations Research, 45, 874±885. Ikura, Y., & Gimple, M. (1986). Ef®cient scheduling algorithms for a single batch processing machine. Operations Research Letters, 5, 6165. Mehta, S. V., & Uzsoy, R. (1998). Minimizing total tardiness on a batch processing machine with incompatible job families. IIE Transactions, 30, 165±178. Uzsoy, R. (1994). Scheduling a single batch processing machine with non-identical job sizes. International Journal of Production Research, 32, 1615±1635. Uzsoy, R. (1995). Scheduling batch processing machines with incompatible job families. International Journal of Production Research, 33, 2685±2708. Uzsoy, R., & Yang, Y. (1997). Minimizing total weighted completion time on a single batch processing machine. Production and Operations Management, 6, 57±73. Uzsoy, R., Lee, C. Y., & Martin-Vega, L. A. (1992). A review of production planning and scheduling models in semiconductor industry Ð Part I: system characteristics, performance evaluation and production planning . IIE Transactions, 24, 47±61.