Batch-Processing Scheduling with Setup Times

  • Published on
    06-Aug-2016

  • View
    213

  • Download
    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...

Recommended

View more >