Published on

06-Aug-2016View

213Download

1

Embed Size (px)

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 Kong

LIYING KANGDepartment of Mathematics, Shanghai University, Shanghai, China

Received May 25, 2001; Revised July 23, 2002; Accepted July 24, 2002

Abstract. 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 algorithm

1. Introduction

Many 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 processed

138 DANG AND KANG

simultaneously 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 by

C(BS) =n

i=1wi Ci =

kg=1

(Bg)(

kh=g

lBh

wl

), (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 is

NP-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 algorithm

finds an optimal solution when the dominance condition is satisfied. In Section 4, our

BATCH-PROCESSING SCHEDULING WITH SETUP TIMES 139

approximation 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 algorithm

Consider 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 Ci

which 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 that

s1 + 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 by

ci j = (wi + wi+1 + + wn)(

maxiq j1

sq + maxiq j1

pq).

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 of

1 = l1 l2 lk+1 = n + 1.

Thus, P corresponds to a unique fixed-sequence batch schedule given by

BS = ({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 KANG

Proof: A fixed-sequence batch schedule BS has the form of

BS = ({l1, l1 + 1, . . . , l2 1}, {l2, l2 + 1, . . . , l3 1}, . . . , {lk, lk + 1, . . . , n}).From (1), we obtain

C(BS) =k

g=1(Bg)

(k

h=g

lBh

wl

)

=k

g=1

(max

lgqlg+11sq + max

lgqlg+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 FS

Step 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 that

C(D(J ))/C(S(J )) 2for any set of jobs, J .

BATCH-PROCESSING SCHEDULING WITH SETUP TIMES 141

Throughout 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 as

C(S(J )) =(

max1q j

sq + max1q j

pq) n

i=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 j

sq + max1q j

pq) n

i=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 j

sq + max1q j

pq) n

i=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 )n

i=1 wi + C(D(K ))(max1q j sq + max1q j pq )

ni=1 wi + C(S(K ))

2,

where the last inequality comes from

x + x +

for any 0 x and 0 < .

142 DANG AND KANG

Case 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 that

C(S(J )) C(S(J )) +(

max1q jl

sq + max1q jl

pq (

maxq

sq + maxq

pq)) n

i=1wi .

Then,

C(S(J )) C(S(J )) (

max1q jl

sq + max1q jl

pq (

maxq

sq + maxq

pq)) n

i=1wi

(

max1q jl

sq + max1q jl

pq) n

i=1wi + C(S(K1))

(

max1q jl

sq + max1q jl

pq (

maxq

sq + maxq

pq)) n

i=1wi

= C(S(K1)) +(

maxq

sq + maxq

pq) n

i=1wi ,

where K1 = J\{1, 2, . . . , jl} and the second inequality comes from the fact that

C(S(J )) =(

max1q jl

sq + max1q jl

pq) n

i=1wi + C(S(K1))

and C(S(K1)) C(S(K1)) according to the optimality of S(K1). Thus, we obtain

C(S(J )) C(S(K1)) +(

maxq

sq + maxq

pq) n

i=1wi . (3)

Let max1q jl pq = pt1 and max1q jl sq = st2 . Observe that

st1 + pt1 s jl + p jl and st2 + pt2 s jl + p jlsince t1 jl and t2 jl . Then,

max1q jl

sq + max1q jl

pq = st2 + pt1 (st1 + pt1) + (st2 + pt2) 2(s jl + p jl ) 2

(maxq

sq + maxq

pq).

Thus,

maxq

sq + maxq

pq 12(

max1q jl

sq + max1q jl

pq). (4)

BATCH-PROCESSING SCHEDULING WITH SETUP TIMES 143

Using (3) and (4), we derive

C(S(J )) C(S(K1)) + 12(

max1q jl

sq + max1q jl

sq

) ni=1

wi .

From (2), we know

C(D(J )) (

max1q jl

sq + max1q jl

pq) n

i=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) n

i=1 wi + C(S(K1)) 2,

where the second inequality comes from the induction assumption that

C(D(K ))/C(S(K )) 2

for 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 that

limM

C(D(J ))C(S(J )) = limM

(2M + 3)nM + M + 1(2 + M)nM + 2M + 3 = 2.

3. Job system meeting the dominance condition

Definition 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 KANG

Proof: 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. T...