6
Information Processing Letters 98 (2006) 73–78 www.elsevier.com/locate/ipl Single machine scheduling with batch-dependent setup times Gur Mosheiov a,, Daniel Oron b a School of Business Administration and Department of Statistics, The Hebrew University, Jerusalem, Israel b Econometrics and Business Statistics, The University of Sydney, Australia Received 22 September 2004; received in revised form 13 September 2005 Available online 5 January 2006 Communicated by M. Yamashita Abstract We address a single-machine batch scheduling problem. The setup times (incurred whenever starting a new batch) are assumed to be a function of the number of batches processed previously, i.e., batch-dependent. The objective is minimum total flow-time. We focus on the case of identical processing time jobs. Given the number of jobs and the setup times, we have to determine the optimal number of batches and their (integer) size. An efficient (O(n)) solution procedure is introduced. 2005 Elsevier B.V. All rights reserved. Keywords: Scheduling; Single machine; Flow-time; Setup times 1. Introduction This paper addresses a classical single machine batch scheduling problem. Jobs are assumed to have identi- cal processing times. The objective is minimum total flow-time. Given the number of jobs and the setup times (incurred whenever starting a new batch), we have to de- termine the optimal number of batches, their size, and their schedule. Santos and Magazine [7], Dobson et al. [2], Naddef and Santos [5], Coffman et al. [1], Shallcross [8], and Mosheiov et al. [4], introduced different polynomial- time (in the number of jobs n) solutions for the problem (in particular for obtaining integer batch sizes). In these studies, all batch setup times are assumed to be identi- cal. In their recent survey “Scheduling with batching: * Corresponding author: Tel.: +972 2 588 3790, fax: +972 2 588 1341. E-mail address: [email protected] (G. Mosheiov). A review”, Potts and Kovalyov [6] mention several gen- eralizations of this basic case: They allow the setup to be machine-dependent (in a multi-machine setting), and/or sequence-dependent. Indeed, in many real-life applica- tions, the setup may change. In particular, the setup may be batch-dependent. Such applications include, e.g., the very common case where the first setup time is larger than the following ones because it contains several ini- tialization procedures required for the entire production process. Some setups may be larger due to periodic maintenance procedures. In some cases, the setup times are arranged in non-increasing order to reflect a learn- ing effect. In other cases the setup times are arranged in non-decreasing order to reflect deterioration of the processor. In this paper we allow the setup time to be batch- dependent in order to reflect the above applications. The setup time prior to the processing of a given batch is a function of the number of batches processed previ- ously, i.e., the setup of the i th batch depends solely on 0020-0190/$ – see front matter 2005 Elsevier B.V. All rights reserved. doi:10.1016/j.ipl.2005.12.003

Single machine scheduling with batch-dependent setup times

Embed Size (px)

Citation preview

l

s

re assumed.rmine the

Information Processing Letters 98 (2006) 73–78

www.elsevier.com/locate/ip

Single machine scheduling with batch-dependent setup time

Gur Mosheiova,∗, Daniel Oronb

a School of Business Administration and Department of Statistics, The Hebrew University, Jerusalem, Israelb Econometrics and Business Statistics, The University of Sydney, Australia

Received 22 September 2004; received in revised form 13 September 2005

Available online 5 January 2006

Communicated by M. Yamashita

Abstract

We address a single-machine batch scheduling problem. The setup times (incurred whenever starting a new batch) ato be a function of the number of batches processed previously, i.e.,batch-dependent. The objective is minimum total flow-timeWe focus on the case of identical processing time jobs. Given the number of jobs and the setup times, we have to deteoptimal number of batches and their (integer) size. An efficient (O(n)) solution procedure is introduced. 2005 Elsevier B.V. All rights reserved.

Keywords:Scheduling; Single machine; Flow-time; Setup times

atchenti-talesde-

and

defndl-

e

g:

588

n-o bed/orlica-mayhergerini-ioniodictimesarn-gedthe

ch-The

isevi-n

1. Introduction

This paper addresses a classical single machine bscheduling problem. Jobs are assumed to have idcal processing times. The objective is minimum toflow-time. Given the number of jobs and the setup tim(incurred whenever starting a new batch), we have totermine the optimal number of batches, their size,their schedule.

Santos and Magazine [7], Dobson et al. [2], Nadand Santos [5], Coffman et al. [1], Shallcross [8], aMosheiov et al. [4], introduced different polynomiatime (in the number of jobsn) solutions for the problem(in particular for obtainingintegerbatch sizes). In thesstudies, all batch setup times are assumed to beidenti-cal. In their recent survey “Scheduling with batchin

* Corresponding author: Tel.: +972 2 588 3790, fax: +972 21341.

E-mail address:[email protected] (G. Mosheiov).

0020-0190/$ – see front matter 2005 Elsevier B.V. All rights reserved.doi:10.1016/j.ipl.2005.12.003

A review”, Potts and Kovalyov [6] mention several geeralizations of this basic case: They allow the setup tmachine-dependent (in a multi-machine setting), ansequence-dependent. Indeed, in many real-life apptions, the setup may change. In particular, the setupbebatch-dependent. Such applications include, e.g., tvery common case where the first setup time is lathan the following ones because it contains severaltialization procedures required for the entire productprocess. Some setups may be larger due to permaintenance procedures. In some cases, the setupare arranged in non-increasing order to reflect a leing effect. In other cases the setup times are arranin non-decreasing order to reflect deterioration ofprocessor.

In this paper we allow the setup time to be batdependent in order to reflect the above applications.setup time prior to the processing of a given batcha function of the number of batches processed prously, i.e., the setup of theith batch depends solely o

74 G. Mosheiov, D. Oron / Information Processing Letters 98 (2006) 73–78

ite

d inereatchdoeheseralally

a-re-thes ofseterfto

isy

-en

ofed is

d in

uldesl-

o afol-

usec-lin-p-em

on-

ives

its index i. The solution technique used here is qusimilar to the one used in [4] for the case ofconstantsetup times. Note, however, that the problem studie[4] is simpler, and the optimal number of batches thcan be expressed in closed form, whereas in our (bdependent setups) case, a closed-form expressionnot seem to exist, and the optimal number of batcis found by search. We show that this more gen(and possibly more realistic) case remains polynomisolvable.

2. Formulation

A set ofn jobs has to be processed on a single mchine. All the jobs are available at time zero and pemption is not allowed. The processing times ofjobs are assumed to be identical and, without losgenerality, we assumeunit processing time jobs. Jobhave to be grouped in batches whose size is to be dmined. For a given schedule, letk denote the number obatches, and letni denote the number of jobs assignedbatchi, i = 1, . . . , k. (Clearly,n1 + n2 + · · · + nk = n.)A positive setup time is incurred whenever a batchformed. The setup time of theith batch is denoted bsi , i = 1, . . . , k.

We assumebatch availability(see Potts and Kovalyov [6]), i.e., a job is completed and released only whits batch is finished.Cj denotes the completion timejob j , j = 1, . . . , n (that is, the completion time of thbatch to which it is assigned). The objective assumetotal flow-time minimization:

f =n∑

j=1

Cj = (s1 + n1)n1 + (s1 + s2 + n1 + n2)n2

+· · · + (s1 + s2 + · · · + sk + n1 + n2

+· · · + nk)nk. (1)

Using the conventional notation, the problem studiethis note is 1/pj = 1, si/

∑Cj .

3. Optimal integer batch sizes

Our goal is to find the number (k) and size (ni ) of thebatches, so as to minimize the total flow-time. It shobe emphasized thatk denotes the number of batchwith positive size, thus,k is a positive number (its smalest value is 1, reflecting the case that alln jobs createa single batch; clearly, the largest valuek can assumeis n, which is the case where each job belongs tdifferent batch). The problem can be formulated aslows:

s

-

(P) minf (2)

s.t.k∑

i=1

ni = n, (3)

ni � 0, i = 1, . . . , k, (4)

ni integer, i = 1, . . . , k.

First, we ignore the integrality constraints, and focon solving the relaxed problem. Note that the objtive function is quadratic and the constraints areear, implying that a local optimum is the global otimum (see, e.g., Luenberger, [3]). Note that probl(P) contains a single equality constraint andn inequal-ity (non-negativity) constraints. We addn slack vari-ables in order to convert the inequality to equality cstraints. (Thus, eachni � 0 is replaced byni − a2

i = 0,i = 1, . . . , k.) The problem becomes:

(P1) minf

s.t.k∑

i=1

ni = n,

ni − a2i = 0, i = 1, . . . , k. (5)

The Lagrangian of this 2k variable problem is

L = f + λ

(k∑

i=1

ni − n

)+

k∑i=1

λi

(ni − a2

i

).

By taking first derivatives we obtain

∂L

∂n1= n + n1 + s1 + λ + λ1 = 0,

∂L

∂n2= n + n2 + s1 + s2 + λ + λ2 = 0,

...

∂L

∂nk

= n + nk +k∑

i=1

si + λ + λk = 0.

The general expression for the above partial derivatis:

∂L

∂ni

= n + ni +i∑

t=1

st + λ + λi = 0, (6)

i = 1, . . . , k,

∂L

∂λ=

k∑i=1

ni − n = 0, (7)

∂L

∂λi

= ni − a2i = 0, i = 1, . . . , k, (8)

∂L = −2λiai = 0, i = 1, . . . , k. (9)

∂ai

G. Mosheiov, D. Oron / Information Processing Letters 98 (2006) 73–78 75

l

seengedncetant

o

ag-of

n

ize,

ase

ion

ddefal

pt beer-

edhe

malce-et

rent inroof

er

en

Sincek is a positive number (i.e.,n1, n2, . . . , nk > 0),we obtain from (8) thata1, a2, . . . , ak > 0, and from (9)thatλ1, λ2, . . . , λk = 0.

By substituting the latter (λi = 0) in (6), we obtain:

n2 = n1 − s2, n3 = n2 − s3, . . . ,(10)

ni+1 = ni − si+1, . . . , nk = nk−1 − sk.

Equivalently,

n2 = n1 − s2,

n3 = n1 − s2 − s3,

...

ni = n1 − s2 − s3 − · · · − si , (11)...

nk = n1 − s2 − s3 − · · · − sk.

The total left-hand side of thesek −1 equalities is equato their total right-hand side:

n − n1 = (k − 1)n1 − (k − 1)s2 − (k − 2)s3 − · · ·− 2sk−1 − sk,

or

n − n1 = (k − 1)n1 −k∑

i=2

(k − i + 1)si .

It follows that

kn1 = n +k∑

i=2

(k − i + 1)si .

The size of the first batch is thus given by

n1 = n

k+ k + 1

k

k∑i=2

si − 1

k

k∑i=2

isi . (12)

From (12) and (10) we obtain the size of thek batches.Note that similar to the case of constant setup times (e.g., Santos and Magazine [7]), batch sizes are arrain decreasing order. In our case, however, the differebetween sizes of consecutive batches is not cons[Note that in the case of a constant setup time (i.e.,si =s, i = 1, . . . , k), the size of the first batch is reduced t

n1 = n

k+ k + 1

k

k∑i=2

s − 1

k

k∑i=2

is

= n

k+ (k + 1)(k − 1)

ks − (k − 1)(k + 2)

2ks

= n

k+ (k − 1)(2k + 2− k − 2)

2ks

= n + k − 1s,

k 2

,

.

which is the expression obtained by Santos and Mazine [7] and Naddef and Santos [5]. Also, the sizethe remaining batches is reduced fromni+1 = ni − si+1(see (10)) toni+1 = ni − s, i = 1, . . . , k − 1, as in thesepapers.

The size of thekth batch (the smallest one) is giveby

nk = n

k+ k + 1

k

k∑i=2

si − 1

k

k∑i=2

isi −k∑

i=2

si

= n

k+ 1

k

k∑i=2

si − 1

k

k∑i=2

isi . (13)

Sincek defines the number of batches with positive sit follows that nk > 0 and thatnk+1 � 0. This require-ment leads to the conditionk+1∑i=2

(i − 1)si � n >

k∑i=2

(i − 1)si (from (13)).

The optimal number of batches is thus, thek-value sat-isfying these inequalities. [Note again that in the cof a constant setup time (si = s, i = 1, . . . , k), this in-equality is easily solved, and a closed form expressis obtained for the optimal number of batches:

k =⌊(

1

4+ 2n

s

)1/2

+ 1

2

⌋.

An equivalent expression (k = �(14 + 2n/s)1/2 − 1

2�)has been introduced in the literature, see, e.g., Naand Santos [5].] It is worth mentioning that the optimnumber of batchesk is independent of the first setu.The reason for this is that at least one batch musformed, implying that at least the first setup must be pformed.

We introduced an efficient solution for the relaxproblem. In order to obtain the optimal solution for toriginal problem, i.e., withinteger batch sizes, we pro-vide below a rounding procedure, based on the optisolution for the relaxed problem. The rounding produre is similar to the one introduced by Mosheioval. [4] for the special case ofconstant setups. However,the proof of optimality of the procedure for the mogeneral case of batch-dependent setups is differeseveral points. We, therefore, provide a complete pof optimality in Appendix A.

As in Mosheiov et al. [4], we denote the non-integpart of the batch size by

∆i = ni − �ni�, i = 1,2, . . . , k. (14)

(Note that if thesi values are defined to be integers, th(from (11))∆i = ∆ for all i.)

76 G. Mosheiov, D. Oron / Information Processing Letters 98 (2006) 73–78

s

gger

,-

to

insl

ftainis

ing

insannthu

f aftydes:

-

eeeay

nte-

formaying

arepti-

-nd

focusnth the

natie-

Letk∑

i=1

∆i = a, (15)

where a is clearly an integer, strictly smaller thank(since the∆i values are strictly smaller than 1).

The following rounding algorithm (AlgorithmRounding) is based on these definitions:

Algorithm Rounding (Mosheiov et al. [4])

Input: k,n1, n2, . . . , nk, s1, s2, . . . , sk .Step1: Calculate∆i, i = 1, . . . , k, anda by (14) and

(15), respectively.Step2: Let A denote the set ofa batches with the

largest∆i values. Round up all batches in setA.Round down all the remaining batches.

(The proof of optimality of Algorithm Rounding igiven in Appendix A.)

Complexity. Solving the relaxed problem (i.e., findinthe optimal number of batches and their non-intesize) requires an effort of O(n) time. Algorithm Round-ing clearly requires an effort of O(n) as well. Hencethe total running time is O(n). [Note that the complexity of the special case of constant setups is knownbe solved in polynomial time in the logarithm ofn (seeShallcross [8]). However, in this case the input contatwo numbers only (n and s), and, therefore, the totacomplexityis not polynomial in the input. In the case obatch-dependent setups studied here, the input conthe vectors1, s2, . . . , sn. Thus, our proposed solutionpolynomialin the size of the input.]

We demonstrate the solution procedure by solvthe following numerical example: Assume thatn = 100unit processing time jobs. The first setup time contaan initialization procedure and is therefore longer ththe others:s1 = 5. The setup time of a batch with aeven index contains some maintenance procedure,si = 3, i = 2,4, . . . . The remaining setup times are oregular size:si = 2, i = 3,5, . . . . The optimal number obatches is the largestk-value that satisfies the inequalin >

∑ki=2(i − 1)si . We obtaink = 9. Based on (12) an

(10) we find the optimal set of (non-integer) batch sizn1 = 211

3, n2 = 1813, n3 = 161

3, n4 = 1313, n5 = 111

3,n6 = 81

3, n7 = 613, n8 = 31

3, n9 = 113.

The associate flow-time value is 6890.We then perform Algorithm Rounding:

∆i = 1, i = 1, . . . ,9.

3

s

s

(As mentioned earlier, when all thesi values are integers, all∆i values are identical.)

a =9∑

i=1

∆i = 3.

Sincea = 3 we have to round up the size of the thrbatches with the largest∆i values, and round down thsize of the remaining six batches. In this case we mchoose to round up any three batches. An optimal iger solution is:

n1 = 22, n2 = 19, n3 = 17, n4 = 13, n5 = 11,

n6 = 8, n7 = 6, n8 = 3, n9 = 1.

The optimal flow-time value is 6891.Note that there are multiple optimal solutions

the integer problem, since any three batchesbe rounded up, while rounding down the remainbatches. In the general case, in which setup timesnot necessarily integers, there may exist a single omal solution to the problem.

4. Conclusion

We introduced an O(n) solution to the single machine batch scheduling problem with identical jobs abatch-dependent setup times. Future research mayon the extension of the problem tosequence-dependesetups, i.e., when setup times are dependent on botprevious and the current batch.

Acknowledgement

This paper was supported in part by the RecaFund of the School of Business Administration, the Hbrew University, Jerusalem, Israel.

Appendix A. Proof of optimality of AlgorithmRounding

Recall (1) that

f =n∑

j=1

Cj = (s1 + n1)n1 + (s1 + s2 + n1 + n2)n2

+ · · · + (s1 + s2 + · · · + sk + n1 + n2

+ · · · + nk)nk.

f can be expressed as

f = 1

2n2 + 1

2

k∑n2

i +k∑ i∑

nisj .

i=1 i=1 j=1

G. Mosheiov, D. Oron / Information Processing Letters 98 (2006) 73–78 77

and

ol-

ega-

e

not

Let

n = (n1, n2, . . . , nk,0,0, . . .): an (infinite) vector ofoptimal non-integer batches,

∆ = (∆1,∆2, . . . ,∆k,0,0, . . .): an (infinite) vector ofthe non-integer part ofn (∆i = ni − �ni�),

q = (q1, q2, . . . , qm,0,0, . . .): an (infinite) vector ofoptimal integer batches.

Defineα = (α1, α2, α3, . . .), such thatq = n−∆+α

is the optimal integer solution. Note that∑∞

i=1 αi =∑ki=1 ∆i = a (in order to maintain a total ofn jobs) and

αi is integer for alli. Recall thata is an integer strictlysmaller thank. Let∆f = f (q)−f (n) denote the differ-ence between the flow time of the integer solutionthat of the relaxed solution. Thus,

f (q) = f (n − ∆ + α)

= 1

2n2 + 1

2

∞∑i=1

(ni − ∆i + αi)2

+∞∑i=1

i∑j=1

sj (ni − ∆i + αi),

and

∆f = f (q) − f (n) = f (n − ∆ + α) − f (n)

=k∑

i=1

niαi −k∑

i=1

ni∆i + 1

2

k∑i=1

∆2i + 1

2

∞∑i=1

α2i

−k∑

i=1

∆iαi −k∑

i=1

i∑j=1

sj∆i +∞∑i=1

i∑j=1

sjαi

= C +∞∑i=1

(ni − ∆i +

i∑j=1

sj

)αi + 1

2

∞∑i=1

α2i ,

(A.1)

whereC is a constant (independent ofα).Our problem becomes

min∆f

s.t.∞∑i=1

αi = a,

αi integer, i = 1,2, . . . .

When substituting the value ofni (from (10)) in (A.1),we obtain:

∆f = C +∞∑i=1

biαi + 1

2

∞∑i=1

α2i , (A.2)

where bi = n1 + s1 − ∆i for i = 1, . . . , k, and bi =∑isj for i = k + 1, k + 2, . . . .

j=1

In order to complete the proof, we introduce the flowing four facts:

Fact 1. |bi − bj | < 1 for anyi, j � k.

This is true since|bi −bj | = |(n1 + s1 −∆i)− (n1 +s1 − ∆j)| = |−∆i + ∆j |.

Fact 2. bi < bj for anyi � k andj � k + 1.

Recall thatnk = n1 − ∑kj=2 sj is the size of the

smallest batch. The size of the next batch must be ntive:

nk+1 = n1 −k+1∑j=2

sj = n1 + s1 −k+1∑j=1

sj < 0.

Thus,n1+s1 <∑k+1

j=1 sj . Note that the left-hand sidis an upper bound on thebi values fori = 1,2, . . . , k,

and the right-hand side is the smallestbj value forj �k + 1.

Based on Facts 1 and 2, we will show that eachαj

value can be either 0 or 1. In Fact 3 we prove thatαj

cannot be negative; in Fact 4 we prove that it canexceed 1.

Fact 3. αj � 0, j = 1,2, . . . .

It is obvious thatαj � 0 for j � k + 1 sincenj = 0for j � k + 1. Assume thatαj < 0 for some 1� j � k.Since

∑∞i=1 αi = a, then for somei, αi � 1. The contri-

bution ofαj andαi to ∆f is given (from (A.2)) by:

bjαj + α2j

2+ biαi + α2

i

2. (A.3)

When moving a job from batchi to batchj (i.e., in-creasingαj and decreasingαi by 1), we obtain:

bj (αj + 1) + (αj + 1)2

2+ bi(αi − 1) + (αi − 1)2

2.

(A.4)

(A.4) < (A.3) if and only if

bj − bi + αj − αi + 1< 0. (A.5)

Sincebj −bi < 1 (from Facts 1 and 2 withj � k),αj �−1 andαi � 1, (A.5) holds.

Fact 4. αj � 1, j = 1,2, . . . .

Assume thatαj > 1 for somej . Since∑∞

i=1 αi = a,then

∑ki=1 αi � a, and, clearly, there exists somei (1 �

i � k), such thatαi = 0.

78 G. Mosheiov, D. Oron / Information Processing Letters 98 (2006) 73–78

ch

-

gcts 1l

ngper.

ize799.ond

le97–

one-

w,

ring

tch-

The contribution ofαj andαi to ∆f is given (from(A.2)) by:

bjαj + α2j

2+ biαi + α2

i

2= bjαj + α2

j

2. (A.6)

As in the proof of Fact 3, we move a job from batj to batch i. The corresponding contribution to∆f

is:

bj (αj − 1) + (αj − 1)2

2+ bi + 1

2. (A.7)

(A.7) < (A.6) if and only if bi − bj − αj + 1< 0.

(A.8)

Sincebi − bj < 1 (from Facts 1 and 2 withi � k), andαj > 1, (A.8) holds.

We conclude that eitherαj = 0 or αj = 1, j =1,2, . . . .

It follows from (A.2) that∆f is minimized by matching the largestαi with the smallestbi values. From theabove facts, it is obvious that in order to maintainn

jobs, we must round up the size of thea batches withthe smallestbi value (i.e., with the largest∆i values),

implying that αi = 1. Theαi values of the remaininbatches are, therefore, zero. We conclude (from Fathrough 4) thatAlgorithm Roundingguarantees optimainteger batch sizes.�

References

[1] E.G. Coffman, A. Nozari, M. Yannakakis, Optimal scheduliof products with two subassemblies on a single machine, ORes. 37 (1989) 426–436.

[2] G. Dobson, U.S. Karmarkar, J.L. Rummel, Batching to minimflow times on one machine, Management Sci. 33 (1987) 784–

[3] D.G. Luenberger, Linear and Non-Linear Programming, seced., Kluwer Academic Publishers, The Netherlands, 2003.

[4] G. Mosheiov, D. Oron, Y. Ritov, Minimizing flow-time on a singmachine with integer batch sizes, Oper. Res. Lett. 33 (2005) 4501.

[5] D. Naddef, C. Santos, One-pass batching algorithms for themachine problem, Discrete Appl. Math. 21 (1988) 133–145.

[6] C.N. Potts, M. Kovalyov, Scheduling with batching: A revieEuropean J. Oper. Res. 120 (2000) 228–249.

[7] C. Santos, M. Magazine, Batching single operation manufactusystems, Oper. Res. Lett. 4 (1985) 99–103.

[8] D.F. Shallcross, A polynomial algorithm for a one machine baing problem, Oper. Res. Lett. 11 (1992) 213–218.