Published on

06-Aug-2016View

213Download

1

Transcript

Journal of Combinatorial Optimization, 8, 137146, 2004c 2004 Kluwer Academic Publishers. Manufactured in The Netherlands.Batch-Processing Scheduling with Setup TimesCHUANGYIN DANG mecdang@cityu.edu.hkDepartment of Manufacturing Engineering and Engineering Management, City University of Hong Kong,Kowloon, Hong KongLIYING KANGDepartment of Mathematics, Shanghai University, Shanghai, ChinaReceived May 25, 2001; Revised July 23, 2002; Accepted July 24, 2002Abstract. The problem is to minimize the total weighted completion time on a single batch-processing machinewith setup times. The machine can process a batch of at most B jobs at one time, and the processing time ofa batch is given by the longest processing time among the jobs in the batch. The setup time of a batch is givenby the largest setup time among the jobs in the batch. This batch-processing problem reduces to the ordinaryuni-processor scheduling problem when B = 1. In this paper we focus on the extreme case of B = +, i.e. abatch can contain any number of jobs. We present in this paper a polynomial-time approximation algorithm forthe problem with a performance guarantee of 2. We further show that a special case of the problem can be solvedin polynomial time.Keywords: scheduling, batching, approximation algorithm1. IntroductionMany practical scheduling problems involve processing several related jobs on commonfacilities where a setup time is incurred whenever processing switches from a job to anotherjob. For example, a flexible manufacturing system can produce several different types ofproducts on the same machinery, which requires a setup time for rearranging or retoolingworkstations when a switch in product type occurs. Similar practical situations arise inchemical, pharmaceutical, food processing, and semiconductor industries.A batch scheduling problem arises in the manufacturing of integrated circuits. The finalstage in the production of circuits is the burn-in operation, in which chips are loaded ontoboards that are then placed in an oven and exposed to high temperatures. The purpose of thisoperation is to subject the circuits to thermal stress, thereby weeding out the chips whichmight experience an early failure under normal operating conditions. Since the burn-in ovenhas a limited capacity, the boards holding the chips must be sub-grouped into batches sothat it is possible for different IC chips to be processed in the oven simultaneously. Theprocessing time of each batch is represented by the longest burn-in time among those ofall the IC chips (jobs) grouped together in the batch. Thus, scheduling problems for suchan oven can be modelled as batch-processing scheduling problems for a general type ofbatch processing machine where a batch of jobs up to the oven capacity can be processed138 DANG AND KANGsimultaneously so that the processing time of a batch is represented by the longest processingtime among those of the jobs in the batch. The adopted cost function is the weighted totaljob flow time, where the weights represent job priorities.The problem we consider in this paper is to minimize the total weighted completion timeon a single batch-processing machine with setup times. If a machine has to be adjustedbefore it may start to process a job, then the time required for this adjustment is called thesetup time, which can be viewed as a separated time from the actual processing time. Thesetup times are sequence-independent if the setup time needed before processing a job isonly dependent on the job and is independent of the previous one if there is any. In this paper,we are only interested in sequence-independent setup times. The problem can be defined asfollows. Let J = {1, 2, . . . , n} be a set of n jobs. For i = 1, 2, . . . , n, job i is associated witha processing time pi and a setup time si . The batch-processing machine can process a batchof at most B jobs at one time. The jobs are processed without preemption. The processingtime of a batch is equal to the longest processing time among the jobs in the batch. Thesetup time of a batch is equal to the longest setup time among the jobs in the batch. Let wi bethe weight of job i . In this paper we focus on the case of B = +, i.e. a batch can containany number of jobs. The cost of a batch-processing schedule BS = (B1, B2, . . . , Bk) of allthe jobs in J , denoted by C(BS), is the sum of weighted job completion times, where k isthe number of batches in the schedule and B1, B2, . . . , Bk form a partition of the jobs of J .Since the completion time of a job is simply the completion time of the batch containingthe job, the cost of the schedule is given byC(BS) =ni=1wi Ci =kg=1(Bg)(kh=glBhwl), (1)where Ci denotes the completion time of job i and (Bg) is the sum of setup time andprocessing time of batch Bg . By deciding on how the jobs should be batched and howthe batches should be scheduled through the machine, we wish to find a schedule BSthat minimizes the total weighted completion time C(BS). We denote our problem as1|si , B = +|wi Ci , applying the notations in Albers and Brucker (1993).The batch-processing problems have been studied extensively in the literature. Dengand Zhang (1999) show that when B = +, the problem 1|ri , B = +|wi Ci isNP-complete, where ri is the release time of job i . When the number of different jobprocessing times is a fixed integer or the number of different job arrival times is a fixedinteger, Deng and Zhang (1999) give a polynomial-time algorithm for minimizing the totalweighted completion time. When the number of jobs in a batch B has a finite upper bound,the complexity of 1|B| Ci is still unknown. Hochbaum and Landy (1997) present a 2-approximation algorithm for the problem 1|B| Ci , where no weights appear. Bruckeret al. (1998) had a thorough discussion of the scheduling problems for a batch-processingmachine with zero setup times.The rest of the paper is organized as follows. We present in Section 2 a 2-approximationalgorithm for the problem 1|si , B = +|wi Ci . We show in Section 3 that the algorithmfinds an optimal solution when the dominance condition is satisfied. In Section 4, ourBATCH-PROCESSING SCHEDULING WITH SETUP TIMES 139approximation algorithm for the problem 1|ri , B = +|wi Ci is presented. Section 5gives a computational experiment for Heuristic FS. The paper is concluded with someremarks in Section 6.2. A 2-approximation algorithmConsider the problem 1|si , B = +|wi Ci . When there is no setup time, the problemcan be solved in polynomial time. When there are setup times, the complexity of the problemis unknown. In this section we present an algorithm for the problem 1|si , B = +|wi Ciwhich guarantees a solution that is at most twice the value of the optimal solution.Given an instance of the problem, we order the jobs so thats1 + p1 s2 + p2 sn + pn.Definition 1. We say a batch schedule BS = (B1, B2, . . . , Bk) of the jobs in J is a fixed-sequence batch schedule if g < h indicates i < j for any i Bg and j Bh .To compute the best fixed-sequence batch schedule with respect to the objective functionwi Ci , we construct a weighted direct graph G = (V, E, C) with the following property:1. V = {1, 2, . . . , n + 1};2. an edge (i, j) E if and only if i < j ; and3. the edge weight ci j is given byci j = (wi + wi+1 + + wn)(maxiq j1sq + maxiq j1pq).We will prove that finding the best fixed-sequence batch schedule with respect to the ob-jective function wi Ci is equivalent to finding the shortest path from vertex 1 to vertexn + 1 of the graph G. For i = 1, 2, . . . , n, let vertex i denote job i . Let P be any path fromvertex 1 to vertex n + 1 of the graph. Then P has the form of1 = l1 l2 lk+1 = n + 1.Thus, P corresponds to a unique fixed-sequence batch schedule given byBS = ({l1, l1 + 1, . . . , l2 1}, {l2, l2 + 1, . . . , l3 1}, . . . , {lk, lk + 1, . . . , n}).Similarly, a fixed-sequence batch schedule corresponds to a unique path from vertex 1 tovertex n + 1 of the graph G.Lemma 1. The cost of a fixed-sequence batch schedule BS, C(BS), is equal to the lengthof the corresponding path P from vertex 1 to vertex n + 1 of the graph G.140 DANG AND KANGProof: A fixed-sequence batch schedule BS has the form ofBS = ({l1, l1 + 1, . . . , l2 1}, {l2, l2 + 1, . . . , l3 1}, . . . , {lk, lk + 1, . . . , n}).From (1), we obtainC(BS) =kg=1(Bg)(kh=glBhwl)=kg=1(maxlgqlg+11sq + maxlgqlg+11pq)(wlg + wlg+1 + + wn)= cl1l2 + cl2l3 + + clklk+1 .This completes the proof.This lemma indicates that finding the best fixed-sequence batch schedule with respectto the objective function wi Ci is equivalent to finding the shortest path from vertex 1to vertex n + 1 of the graph G. Note that there exist several polynomial-time algorithmsfor finding the shortest path from vertex 1 to vertex n + 1 of the graph G in the literature(Papadimitriou and Steiglitz, 1982). Thus, one can compute the best fixed-sequence batchschedule with respect to the objective function wi Ci in polynomial time. Using this re-sult, we obtain our 2-approximation algorithm for 1|si , B = +|wi Ci .Heuristic FSStep 1. Arrange jobs according to si + pi so thats1 + p1 s2 + p2 sn + pn.Step 2. Construct the directed graph G = (V, E, C).Step 3. Obtain the shortest path from vertex 1 to vertex n+1 of the graph using a polynomial-time algorithm such as the well-known Dijkstras algorithm.Step 4. Use the shortest path to obtain the best fixed-sequence batch schedule .Observe that the computational time the whole algorithm requires is proportional to at most2n2.Theorem 1. The Heuristic FS algorithm yields a 2-approximation algorithm for 1|si ,B = +| wi Ci .Proof: Let S(J ) be an optimal batch schedule for an instance of the problem 1|si , B =+| wi Ci in which J is the set of n jobs. Let D(J ) be the best fixed-sequence batchschedule for the same problem instance. In the following, we show by induction thatC(D(J ))/C(S(J )) 2for any set of jobs, J .BATCH-PROCESSING SCHEDULING WITH SETUP TIMES 141Throughout the proof we will make use of the following fact. If S(J ) is a batch schedulefor a set J of n jobs, whose first batch contains jobs 1, 2, . . . , j , then the cost of S(J ) canbe expressed asC(S(J )) =(max1q jsq + max1q jpq) ni=1wi + C(S(K )),where K = J\{1, 2, . . . j} and S(K ) is the remaining batch schedule after removing thefirst batch of S(J ). Observe that if S(J ) is an optimal batch schedule for the jobs in J , thenS(K ) is an optimal batch schedule for the jobs in K .Base case. Consider that J contains only one job. In this case both batch schedules S(J )and D(J ) consist of a single batch containing a single job. Thus,C(D(J ))/C(S(J )) = 1 2.Induction step. Suppose that C(D(K ))/C(S(K )) 2 for any nonempty proper subsetK J . Two cases are to be considered.Case 1. Consider that the first batch of S(J ) contains jobs 1, 2, . . . , j for some j . Then,C(S(J )) =(max1q jsq + max1q jpq) ni=1wi + C(S(K )),where K = J\{1, 2, . . . , j} and the second term on the right-hand side is the optimalvalue for the remaining n j jobs. The heuristic FS algorithm will find an optimalfixed-sequence batch schedule at least as good as one in which jobs 1, 2, . . . , j are inthe first batch followed by an optimal fixed-sequence schedule for the remaining jobs.Thus,C(D(J )) (max1q jsq + max1q jpq) ni=1wi + C(D(K )). (2)Since C(D(K ))/C(S(K )) 2 for any nonempty proper subset K J , hence,C(D(J ))C(S(J )) (max1q j sq + max1q j pq )ni=1 wi + C(D(K ))(max1q j sq + max1q j pq )ni=1 wi + C(S(K )) 2,where the last inequality comes fromx + x + for any 0 x and 0 < .142 DANG AND KANGCase 2. Consider that the first batch of S(J ) contains jobs j1, j2, . . . , jl with j1 < j2< < jl and l < jl . Let us move the jobs with indices less than jl to the first batchand denote the resulting batch schedule by S(J ). Let = { j1, j2, . . . , jl}. Observe thatC(S(J )) C(S(J )) +(max1q jlsq + max1q jlpq (maxqsq + maxqpq)) ni=1wi .Then,C(S(J )) C(S(J )) (max1q jlsq + max1q jlpq (maxqsq + maxqpq)) ni=1wi(max1q jlsq + max1q jlpq) ni=1wi + C(S(K1))(max1q jlsq + max1q jlpq (maxqsq + maxqpq)) ni=1wi= C(S(K1)) +(maxqsq + maxqpq) ni=1wi ,where K1 = J\{1, 2, . . . , jl} and the second inequality comes from the fact thatC(S(J )) =(max1q jlsq + max1q jlpq) ni=1wi + C(S(K1))and C(S(K1)) C(S(K1)) according to the optimality of S(K1). Thus, we obtainC(S(J )) C(S(K1)) +(maxqsq + maxqpq) ni=1wi . (3)Let max1q jl pq = pt1 and max1q jl sq = st2 . Observe thatst1 + pt1 s jl + p jl and st2 + pt2 s jl + p jlsince t1 jl and t2 jl . Then,max1q jlsq + max1q jlpq = st2 + pt1 (st1 + pt1) + (st2 + pt2) 2(s jl + p jl ) 2(maxqsq + maxqpq).Thus,maxqsq + maxqpq 12(max1q jlsq + max1q jlpq). (4)BATCH-PROCESSING SCHEDULING WITH SETUP TIMES 143Using (3) and (4), we deriveC(S(J )) C(S(K1)) + 12(max1q jlsq + max1q jlsq) ni=1wi .From (2), we knowC(D(J )) (max1q jlsq + max1q jlpq) ni=1wi + C(D(K1)).Thus,C(D(J ))C(S(J )) (max1q jl sq + max1q jl pq) ni=1 wi + C(D(K1))12(max1q jl sq + max1q jl pq) ni=1 wi + C(S(K1)) 2,where the second inequality comes from the induction assumption thatC(D(K ))/C(S(K )) 2for any nonempty proper subset K J . The proof of the theorem is completed.The following example show that the bound 2 is tight.Example 1. J = {J1, J2} with s1 = M , s2 = 2, p1 = 1, p2 = M , w1 = 1, and w2 = nM ,where M is a sufficient large positive number and n is any positive integer.It is easy to verify that the first batch containing J2 and the second batch containing jobJ1 form an optimal solution with C(S(J )) = (2 + M)(nM) + 2M + 3. Using the HeuristicFS algorithm, we obtain the solution that is the first batch containing J1 and the secondbatch containing J2 with C(D(J )) = M + 1 + (2M + 3)nM . Observe thatlimMC(D(J ))C(S(J )) = limM(2M + 3)nM + M + 1(2 + M)nM + 2M + 3 = 2.3. Job system meeting the dominance conditionDefinition 2 (Dominance condition). We say that a set of n jobs meets the dominancecondition if jobs processing time pi and set up time si are agreeable (i.e. pi p j impliessi s j ).Theorem 2. The problem 1|si , B = +|wi Ci is polynomially solvable if jobs meetthe dominance condition.144 DANG AND KANGProof: Let J = {1, 2, . . . , n} be a set of jobs such that p1 p2 pn ands1 s2 sn . Suppose that there exists an optimal solution in which two jobs arescheduled in a decreasing order of pk + sk . This implies that there exist jobs i and j withpi + si < p j + s j such that the batch containing job i is scheduled later than the batchcontaining job j . Then we can move job i to the batch containing job j . According tothe dominance condition, the move will not increase the completion time of any batch.Repeating the above procedure, we will eventually achieve a fixed-sequence batch schedulewithout loss of optimality. This means that the Heuristic FS algorithm in Section 2 yieldsan optimal solution for the problem meeting the dominance condition. This completes theproof.4. Total weighted completion time with release timesIn this section we show that the heuristic FS algorithm in Section 2 provides an approxima-tion algorithm for the NP-complete problem 1|ri , B = +|wi Ci . Given an instance of1|ri , B = +|wi Ci , we construct an instance of 1|si , B = +|wi Ci with si = ri .Theorem 3. The Heuristic FS algorithm in Section 2 yields a 2n-approximation algorithmfor 1|ri , B = +|wi Ci .Proof: Given any batch schedule BS = (B1, B2, . . . , Bk) for the problem1|ri , B = +|wi Ci , (5)we have a corresponding batch schedule for the problem1|si , B = +|wi Ci with si = ri . (6)Let C(BS) and C (BS) denote the costs of batch schedule BS for (5) and (6), respectively. LetCi and C i denote the completion times of the i th batch in BS for (5) and (6), respectively.Then we haveC1 = max{ri , i B1} + max{pi , i B1},C2 = max{C1, ri , i B2} + max{pi , i B2},...Ck = max{Ck1, ri , i Bk} + max{pi , i Bk},andC 1 = max{ri , i B1} + max{pi , i B1} C1,C 2 = C 1 + max{ri , i B2} + max{pi , i B2} 2C2,...C k = C k1 + max{ri , i Bk} + max{pi , i Bk} kCk .BATCH-PROCESSING SCHEDULING WITH SETUP TIMES 145Table 1. Performance of the FS heuristics for 1|si , B = +|wi Ci .n 4 4 4 4 8 8 8 8k 0.1 0.5 1 5 0.1 0.5 1 5HA 0.4819 0.2274 0.3763 0.1832 0.2812 0.5762 0.3142 0.1259n 10 10 10 10 12 12 12 12k 0.1 0.5 1 5 0.1 0.5 1 5HA 0.3498 0.4654 0.2852 0.2792 0.5698 0.1179 0.4832 0.2834Thus we haveC(BS) C (BS) and C(BS) 1nC (BS). (7)Let S(J ) be an optimal batch schedule for the problem 1|ri , B = +|wi Ci , andD(J ) be the solution generated by the Heuristic FS algorithm in Section 2 for the problem1|si , B = +|wi Ci with si = ri . It is easy to see from (7) that C(S(J )) 1n C (S(J ))and C(D(J )) C (D(J )). Therefore,C(D(J ))C(S(J )) C (D(J ))1nC (S(J )) 2n,where the last inequality comes from Theorem 1.5. Computational experimentFor evaluating the Heuristic FS for the problem 1|si , B = +|wi Ci numerically, wewill determine the performance of the heuristic using the measure: average percentage error.The percentage error is defined as 100 (Heuristic Optimal)/Optimal. The setup time ofeach job is generated randomly according to the uniform distribution with si belongingto [0, 100k] and the processing time of each job is generated according to the uniformdistribution with pi belonging to [0, 100].The numerical results are presented in Table 1 for n = 4, 8, 10 and 12, where HA isreferred to the percentage error of the FS Heuristic algorithm.One may see from Table 1 that the Heuristic FS provides a fine approximation algorithmfor the problem 1|si , B = +|wi Ci .6. ConclusionsIn this paper, we have proposed a 2-approximation algorithm for 1|si , B = +|wi Ci .An example has been given to show that the bound 2 is tight. One may see that the de-velopment of a better approximation algorithm for 1|si , B = +|wi Ci is not an easy146 DANG AND KANGtask. It would be an interesting topic to pursue. Also, finding an approximation algorithmwith constant performance ratio for the problem 1|ri , B = +|wi Ci creates a realchallenge.AcknowledgmentsThis work is partially supported by DAG 7100099 from City University of Hong Kong.ReferencesS. Albers and P. Brucker, The complexity of one-machine batching problems, Discrete Applied Mathematics,vol. 47, pp. 87107, 1993.P. Brucker, A. Gladky, H. Hooogeveen, M.Y. Kovalyov, C.N. Potts, T. Tautenhahn, and S.L. Van De Velde,Scheduling a batching machine, Journal of Scheduling, vol. 1, pp. 3154, 1998.V. Chandru, C. Lee, and R. Vzsoy, Minimizing total completion time on a batch processing machine with jobfamilies, Operations Research Letters, vol. 13, pp. 6165, 1993.X. Deng and Y. Zhang, Minimizing mean response time in batch processing system. Computing and combinatorics(Tokyo 1999), Lecture Notes in Comput. Sci., vol. 1624, Springer, Berlin, 1999, pp. 231240.M. Fischetti, S. Martello, and P. Toth, Approximation algorithms for fixed job scheduling problems, OperationsResearch, vol. 40, pp. 96108, 1992.J.B. Ghosh, Batch scheduling to minimize total completion time, Operations Research Letters, vol. 16,pp. 271275, 1994.R.L. Graham, Bounds for certain multiprocessing anomalies, Bell System Tech. J., vol. 45, pp. 15631581, 1966.D. Hochbaum and D. Landy, Scheduling semiconductor burn-in operations to minimize total flowtime,Operations Research, vol. 45, pp. 874885, 1997.C.H. Papadimitriou and K. Steiglitz, Combinatorial Optimization: Algorithms and Complexity, Englewood Cliff,New Jersey, 1982.