6
Information Processing Letters 111 (2011) 962–967 Contents lists available at ScienceDirect Information Processing Letters www.elsevier.com/locate/ipl Scheduling a batching machine with convex resource consumption functions Daniel Oron Faculty of Economics and Business, University of Sydney, NSW 2006, Australia article info abstract Article history: Received 23 September 2010 Received in revised form 4 February 2011 Accepted 5 July 2011 Available online 14 July 2011 Communicated by A.A. Bertossi Keywords: Algorithms Batching machine Makespan Total completion time Resource consumption function Workload Ideal schedules In various industries jobs undergo a batching, or burn in, process where different tasks are grouped into batches and processed simultaneously. The processing time of each batch is equal to the longest processing time among all jobs contained in the batch. All to date studies dealing with batching machines have considered fixed job processing times. However, in many real life applications job processing times are controllable through the allocation of a limited resource. The most common and realistic model assumes that there exists a non-linear and convex relationship between the amount of resource allocated to a job and its processing time. The scheduler’s task when dealing with controllable processing times is twofold. In addition to solving the sequencing problem, one must establish an optimal resource allocation policy. We combine these two widespread models on a single machine setting, showing that both the makespan and total completion time criteria can be solved in polynomial time. We then show that our proposed approach can be applied to general bi-criteria objective comprising of the makespan and the total completion time. Crown Copyright © 2011 Published by Elsevier B.V. All rights reserved. 1. Introduction In various real life applications jobs undergo a batch- ing, or burn in, process. The batching process consists of allocating jobs to batches and scheduling the batches on a given machine setting. The processing time of a given batch is equal to the longest processing time amongst all the jobs contained in the batch. The batching process is often referred to as parallel batch processing. Brucker et al. [2] provide a full complexity classification of the sin- gle machine setting under the classical scheduling criteria (makespan, maximum lateness, total (weighted) comple- tion time, total (weighted) tardiness and the (weighted) number of late jobs), distinguishing between the bounded (where there exists an upper bound on the number of jobs in each batch) and unbounded cases. Furthermore, they develop polynomial time solutions for the prob- lems in class P. For the bounded case, they show that the makespan criterion is minimized in min{ O (n log n), E-mail address: [email protected]. O (n 2 /b)} time, where b is the upper bound on the num- ber of jobs in any given batch. For the total completion time the authors develop an O (n b(b1) ) time dynamic pro- gramming solution, improving the results of Chandru et al. [3,4] and Hochbaum and Landy [5]. Chandru et al. [3,4] develop several heuristics and efficient branch and bound algorithms. They also develop an O (m 3 b m+1 ) dynamic pro- gramming algorithm for the special case where there are m different job processing times, where m < n. Hochbaum and Landy [5] develop a more efficient algorithm, requir- ing O (m 2 b m+1 ) time. Clearly, for a fixed b value, only the algorithm presented by [2] is polynomial in the input size. A common assumption in classical scheduling, and one which has always been made in the study of batching machines, is that job processing times are constant pa- rameters and determined exogenously. Thus, in a batching environment, the scheduler’s sole focus is to allocate jobs to batches and schedule the different batches. In reality, however, there exist many situations where job processing times are controlled by the allocation of a non-renewable resource. Common examples include the allocation of addi- tional workforce, energy, fertilizer, or budget increases. The 0020-0190/$ – see front matter Crown Copyright © 2011 Published by Elsevier B.V. All rights reserved. doi:10.1016/j.ipl.2011.07.005

Scheduling a batching machine with convex resource consumption functions

Embed Size (px)

Citation preview

Information Processing Letters 111 (2011) 962–967

Contents lists available at ScienceDirect

Information Processing Letters

www.elsevier.com/locate/ipl

Scheduling a batching machine with convex resource consumptionfunctions

Daniel Oron

Faculty of Economics and Business, University of Sydney, NSW 2006, Australia

a r t i c l e i n f o a b s t r a c t

Article history:Received 23 September 2010Received in revised form 4 February 2011Accepted 5 July 2011Available online 14 July 2011Communicated by A.A. Bertossi

Keywords:AlgorithmsBatching machineMakespanTotal completion timeResource consumption functionWorkloadIdeal schedules

In various industries jobs undergo a batching, or burn in, process where different tasks aregrouped into batches and processed simultaneously. The processing time of each batchis equal to the longest processing time among all jobs contained in the batch. All todate studies dealing with batching machines have considered fixed job processing times.However, in many real life applications job processing times are controllable through theallocation of a limited resource. The most common and realistic model assumes that thereexists a non-linear and convex relationship between the amount of resource allocated to ajob and its processing time. The scheduler’s task when dealing with controllable processingtimes is twofold. In addition to solving the sequencing problem, one must establish anoptimal resource allocation policy. We combine these two widespread models on a singlemachine setting, showing that both the makespan and total completion time criteria canbe solved in polynomial time. We then show that our proposed approach can be appliedto general bi-criteria objective comprising of the makespan and the total completion time.

Crown Copyright © 2011 Published by Elsevier B.V. All rights reserved.

1. Introduction

In various real life applications jobs undergo a batch-ing, or burn in, process. The batching process consists ofallocating jobs to batches and scheduling the batches ona given machine setting. The processing time of a givenbatch is equal to the longest processing time amongst allthe jobs contained in the batch. The batching process isoften referred to as parallel batch processing. Brucker etal. [2] provide a full complexity classification of the sin-gle machine setting under the classical scheduling criteria(makespan, maximum lateness, total (weighted) comple-tion time, total (weighted) tardiness and the (weighted)number of late jobs), distinguishing between the bounded(where there exists an upper bound on the number ofjobs in each batch) and unbounded cases. Furthermore,they develop polynomial time solutions for the prob-lems in class P. For the bounded case, they show thatthe makespan criterion is minimized in min{O (n log n),

E-mail address: [email protected].

0020-0190/$ – see front matter Crown Copyright © 2011 Published by Elsevierdoi:10.1016/j.ipl.2011.07.005

O (n2/b)} time, where b is the upper bound on the num-ber of jobs in any given batch. For the total completiontime the authors develop an O (nb(b−1)) time dynamic pro-gramming solution, improving the results of Chandru et al.[3,4] and Hochbaum and Landy [5]. Chandru et al. [3,4]develop several heuristics and efficient branch and boundalgorithms. They also develop an O (m3bm+1) dynamic pro-gramming algorithm for the special case where there arem different job processing times, where m < n. Hochbaumand Landy [5] develop a more efficient algorithm, requir-ing O (m2bm+1) time. Clearly, for a fixed b value, only thealgorithm presented by [2] is polynomial in the input size.

A common assumption in classical scheduling, and onewhich has always been made in the study of batchingmachines, is that job processing times are constant pa-rameters and determined exogenously. Thus, in a batchingenvironment, the scheduler’s sole focus is to allocate jobsto batches and schedule the different batches. In reality,however, there exist many situations where job processingtimes are controlled by the allocation of a non-renewableresource. Common examples include the allocation of addi-tional workforce, energy, fertilizer, or budget increases. The

B.V. All rights reserved.

D. Oron / Information Processing Letters 111 (2011) 962–967 963

increase in the amount of resource allocated to a given jobresults in a decrease in its processing time. Vickson [15]was the pioneer in the application of resource constrainedprocessing times in the context of scheduling. Vickson’spaper [15] gave rise to this popular and highly relevantsubfield of scheduling. A recent state of the art survey onscheduling with controllable processing times by Shabtayand Steiner [13] summarizes over 25 years of research, de-scribing a wide range of applications with controllable jobprocessing times in various scheduling environments. Thesurvey contains an excess of 100 references, a clear in-dication of the importance and applicability of this classof problems. Additional papers which describe interestingapplications with controllable processing times include Ja-niak [6] and Kaspi and Shabtay [8].

There exist two main models which attempt to modelthe relationship between the amount of resource allocatedto a job and it’s processing time. The linear model assumesthat each job has a basic non-compressed processing timeand a strictly positive compression rate. If it is not allo-cated any resource its processing time is equal to the non-compressed processing time. Any amount of resource, upto a certain upper bound, reduces its processing time lin-early. Despite its relative popularity (Shabtay [12], Kaspiand Shabtay [8], Lee and Lei [9] and Shakhlevich and Stru-sevich [14], among others), it has several shortcomings.Critics stress that the linear function does not reflect thelaw of diminishing marginal returns which exists in mostmanufacturing and production processes. Furthermore, thefact that jobs can be processed without being allocated anyamount of resource does not appear to be realistic.

The second model, which attempts to better representthe relationship between resource allocation and process-ing time, is the convex resource consumption function givenbelow:

pij(uij) =(

wij

ui j

)k

(1)

where uij is the amount of resource allocated to job j onmachine i, wij is a positive parameter which representsthe workload of job j on machine i, and k is a positiveconstant. Monma et al. [10] describe different applicationswhere the convex resource consumption function is veryaccurate in determining job processing times. One exam-ple is in very large scale integration (VLSI) circuit design,where the area of the silicon surface allocated to a mi-crochip is proportional to the time spent on its production.The appropriate value for the constant k in this type ofsetting is 1

2 . Papers which assume the convex resourceconsumption function include Alidaee and Ahmadian [1],Janiak and Kovalyov [7] and Ng et al. [11], among others.

In this paper, we combine the parallel batching set-ting with the resource allocation model. Since both mod-els appear to co-exist in real life applications, namely inthe semiconductor industry, it is interesting to model thecoordination of resource allocation to jobs and their as-signment to production batches. We address two singlemachine problems under the assumptions of controllableprocessing times and a batching process. A non-renewableresource must be allocated to the different jobs. The jobs

are then allocated to batches and scheduled on a batchingmachine. The criteria considered are minimum makespanand minimum total completion time. We develop interest-ing properties for both objectives and show that the prob-lems are solved in polynomial time. We show that thesesolutions can be extended to solve a general bi-criteria ob-jective comprising of the makespan and the total comple-tion time. We conclude with a short discussion and ideasfor further research.

2. Problem description

Our problem is formally stated as follows: a set of nnon-preemptive jobs { J1, J2, . . . , Jn} is available for pro-cessing at time zero on a single batching machine. Denoteby w j the workload of job J j , and let U be the totalamount of an available, continuous and non-renewable re-source. U is assumed to be determined exogenously andrepresents the upper bound on the amount of resourcethat can be used. Denote by u j the amount of resourceallocated to job J j . The processing time of job J j , denotedby p j , is given by the following relationship:

p j(u j) =(

w j

u j

)k

(2)

where k is a positive constant.Let c j be the completion time of job J j and let the

makespan and total completion time be Max j=1,...,n{c j}and

∑nj=1 c j , respectively.

Since we are addressing a batching machine problem,the completion time of each job is equal to the com-pletion time of the batch to which it belongs. We de-note by m the number of batches in a given schedule,and label them B1, B2, . . . , Bm, 1 � m � n. The process-ing time of batch Bi , it’s completion time and the to-tal resource it is allocated are denoted by Pi , Ci and Ui ,i = 1,2, . . . ,m, respectively. Clearly, Ui = ∑

J j∈Biu j and∑n

j=1 u j = ∑mi=1 Ui = U , since it is always optimal to al-

locate all available resources (note that both criteria arenon-decreasing with job completion times). Let W i denotethe sum of all workloads of the jobs contained in batch Bi ,i.e., W i = ∑

J s∈Biws. The maximum number of jobs that

can be allocated to any single batch is b (clearly b � n).[Note that for the sake of clearness, we have chosen to usethe indices j and s when addressing jobs, while i and t areused to label batches.]

We seek an optimal job sequence combined with anoptimal resource allocation policy which minimize themakespan and the total completion time. Using the con-ventional three field classification scheme, the problemsunder consideration are 1|p − batch, conv,

∑u j � U |CMax

and 1|p − batch, conv,∑

u j � U |∑ c j .

3. Makespan minimization

We begin the analysis of the makespan criterion bymaking a few interesting observations. The characteristicsof optimal schedules and efficient resource allocation poli-cies are stated in the following lemmas.

964 D. Oron / Information Processing Letters 111 (2011) 962–967

Lemma 1. For a given allocation of jobs to batches and for agiven resource allocation to batches, the optimal job resourceallocation within each batch is given by the following expres-sion:

u j = w jUi∑

J s∈Biws

for J j ∈ Bi and i = 1,2, . . . ,m. (3)

Proof. The processing time of batch Bi , Pi, is equal tothe longest processing time among all its jobs. Thus, itis clear that the processing times of all the jobs in Biare equal to Pi . If there exists a job with a smaller pro-cessing time, an appropriate amount of resource can beextracted from this job and distributed to the other jobs,resulting in a decrease in Pi . It follows that (

w ju j

)k = ( wsus

)k

for all J j, J s ∈ Bi, i = 1,2, . . . ,m. By substituting this re-lationship in Ui = ∑

J j∈Biu j the required expression is ob-

tained. �In the following lemma we provide an expression for

the makespan as a function of the workloads of the jobs itcontains and the total resource it is allocated.

Lemma 2. For a given allocation of jobs to batches and for anoptimal resource allocation within each batch, the makespan isgiven by:

CMax =m∑

i=1

(∑J s∈Bi

ws

Ui

)k

. (4)

Proof. According to Lemma 1, the processing times of alljobs within a given batch are identical. Recall that the pro-cessing time of job J j belonging to batch Bi is equal to(

w ju j

)k . By substituting the value of u j in the above ex-

pression with the one given in Eq. (3) we obtain that theprocessing time of batch Bi is equal to (

∑J s∈Bi

ws/Ui)k.

By summing up over all m batches the expression for themakespan is obtained. �

Next, we focus on finding the optimal resource alloca-tion to batches. Then, when the Ui variables are found, onecan easily formulate an optimal resource allocation policyfor individual jobs according to Eq. (3).

Lemma 3. For a given allocation of jobs to batches, the optimalbatch resource allocation is given by the following expression:

Ui = (∑

J s∈Biws)

kk+1∑m

t=1(∑

J s∈Btws)

kk+1

U for i = 1,2, . . . ,m. (5)

Proof. Since we are seeking to minimize a continuousfunction under a single linear (equality) constraint, we canapply a standard Lagrange Multipliers approach. By takingthe first derivative of the makespan given in Eq. (4) withrespect to the batch resource variables, Ui , obtaining:

∂CMax = − k(∑

J s∈Biws

)k

for i = 1,2, . . . ,m.

∂Ui Ui Ui

Since the objective is convex with respect to all the Uvariables, ∂CMax

∂Ui= ∂CMax

∂Utfor 1 � i, t � m provide necessary

and sufficient conditions for optimality. Thus, for any 1 �i, t � m we obtain that:

Ut = Ui

(∑J s∈Bt

ws∑J s∈Bi

ws

) kk+1

.

Using the fact that∑m

i= Ui = U , we obtain Eq. (5). �Based on Lemmas 1 and 3 we can calculate the optimal

resource allocation to individual jobs for a given allocationof jobs to batches.

Lemma 4. For a given allocation of jobs to batches, the job re-source allocation policy which minimizes the makespan is givenby the following expression:

u j = w j U

(∑

J s∈Biws)

1k+1

∑mt=1(

∑J s∈Bt

ws)k

k+1

for J j ∈ Bi, j = 1,2, . . . ,n and i = 1,2, . . . ,m. (6)

Proof. The required expression is easily obtained by sub-stituting Eq. (5) in the expression for the job resource al-location given in (3). �

Using the above lemmas, one can write the makespanas a sole function of the batch workloads. In other words,we formulate an expression for the minimum makespanfor a given allocation of jobs to batches.

Lemma 5. For a given allocation of jobs to batches, the mini-mum makespan is given by:

CMax = 1

Uk

(m∑

t=1

( ∑J s∈Bt

ws

) kk+1

)k+1

. (7)

Proof. The makespan value given in Lemma 2 (Eq. (4)) isequal to

∑mi=1(

∑J s∈Bi

ws/Ui)k. Using the fact that Ui can

be expressed as(∑

J s∈Biws)

kk+1

∑mt=1(

∑J s∈Bt

ws)k

k+1U (see Eq. (5)) we ob-

tain:

CMax =m∑

i=1

( ∑J s∈Bi

ws

U (∑

J s∈Biws)

kk+1

)k(

m∑t=1

( ∑J s∈Bt

ws

) kk+1

)k

= 1

Uk

m∑i=1

(( ∑J s∈Bi

ws

) 1k+1

)k( m∑t=1

( ∑J s∈Bt

ws

) kk+1

)k

= 1

Uk

(m∑

t=1

( ∑J s∈Bt

ws

) kk+1

)k+1

. �

Thus, minimizing the expression given in (7), while ap-plying an optimal resource allocation policy according toEq. (6), minimizes the makespan. In the following lemmawe establish the optimal job allocation policy.

D. Oron / Information Processing Letters 111 (2011) 962–967 965

Lemma 6. There exists an optimal allocation of jobs to batchessuch that if the jobs are sequenced according to non-decreasingorder of workloads, the first batch contains jobs J1 throughJb, the second batch contains jobs Jb+1 through job J2b, andso forth. Finally, the last batch, Bm, contains jobs J (m−1)b+1through Jn, where m = �n

b �.

Proof. Since U and k are positive problem parameters,minimizing Eq. (7) is equivalent to minimizing the follow-ing expression:

f =m∑

t=1

( ∑J s∈Bt

ws

) kk+1 =

m∑t=1

Wk

k+1t .

Clearly, the power kk+1 is positive and strictly smaller

than 1. Hence, f is a concave function with respect to Wt ,t = 1,2, . . . ,m. By taking the first derivative of f with re-

spect to Wt , t = 1,2, . . . ,m, we obtain: ∂ f∂Wt

= kk+1 W

−1k+1

t .

Taking the second derivative with respect to Wt , t =1,2, . . . ,m, gives ∂2 f

∂W 2t

= −k(k+1)2 W

−k−2k+1

t . Since ∂ f∂Wt

> 0 and

∂2 f∂W 2

t< 0 for any positive k, it follows that f is minimized

by allocating jobs to batches so as to maximize the vari-ation between the Wt values. A clear consequence is thatone should assign b jobs with the largest workloads to onebatch, the next b largest workload jobs to a second batchand so forth. Hence, the number of batches m is equal to�n

b �. Clearly, the sequencing order of the batches is irrele-vant. �

The formal solution procedure of the makespan mini-mization problem is given in the algorithm below:

Algorithm 1 MakespanInput: n, U , b, k, w j , j = 1,2, . . . ,n.

STEP 1: Allocate jobs to batches.STEP 1.1: Sort jobs according to non-increasing order of their

workloads and re-index the jobs.STEP 1.2: Create m (= � n

b �) batches and assign jobs such thatbatch Bi contains jobs J (i−1)b+1 through J ib for i =1,2, . . . ,m − 1. Batch Bm contains jobs J (m−1)b+1through Jn.

STEP 2: Sequence the batches arbitrarily.STEP 3: Allocate the resource to jobs according to

u j = w j U

(∑

J s∈Biws)

1k+1

∑mt=1(

∑J s∈Bt

ws)k

k+1

for J j ∈ Bi , j = 1,2, . . . ,n and i = 1,2, . . . ,m.

STEP 4: Calculate the makespan value using

CMax = 1Uk (

∑mt=1(

∑J s∈Bt

ws)k

k+1 )k+1.

END.

Theorem 1. Algorithm Makespan solves the makespan mini-mization problem in O (n log n) time.

Proof. The correctness of the algorithm follows directlyfrom the analysis in Lemmas 1–6. STEP 1.1 of the algorithmconsists of sorting the jobs, requiring O (n log n) time. Thecomputational effort of assigning the jobs to batches isO (n). Thus, the overall computational effort required to al-locate the jobs to batches is O (n log n). Once the batches

have been created, both sequencing the batches (STEP 2)and calculating the amount of resource allocated to eachjob (STEP 3) can be done in O (n) time. Given the cal-culations in STEP 2, the makespan can be computed inconstant time. Thus, the overall effort required by the al-gorithm is O (n log n). �4. Total completion time

In this section we focus on the total completion timecriteria. Since a significant part of the analysis is sim-ilar to that presented in the previous section for themakespan objective, we have chosen, where appropriate,to omit proofs and parts of the discussion. We begin withthe simple observation claiming that Lemma 1 continuesto hold regardless of the objective considered. Since alljobs within a batch are completed upon completion of thelongest job, increasing the size of any shorter job resultsin lower resource consumption. The unused resources canthen be reallocated so as to decrease the processing timeof any given batch. Thus, for a given allocation of bothjobs and available resource to batches, the resource allo-cation to individual jobs given by Eq. (3) remains optimalfor the total completion time criterion. In the followinglemma we develop an expression for the total completiontime as a function of the job and resource allocation tobatches.

Lemma 7. For a given allocation of jobs to batches and fora given batch resource allocation the total completion time isgiven by:

∑c j =

m∑i=1

(m + 1 − i)

(∑J s∈Bi

ws

Ui

)k

. (8)

Proof. By applying the same argument as that used inLemma 2 the required expression is easily obtained. �

We continue by computing the optimal resource allo-cation to batches as a function of the job allocation tobatches. The Ui variables are necessary to later computethe resource allocation to individual jobs. In addition, theywill assist us in developing an expression for the totalcompletion time which is solely dependent on the alloca-tion of jobs to batches.

Lemma 8. For a given allocation of jobs to batches, the optimalbatch resource allocation is given by the following expression:

Ui = (m + 1 − i)1

k+1 (∑

J s∈Biws)

kk+1∑m

t=1(m + 1 − t)1

k+1 (∑

J s∈Btws)

kk+1

U

for i = 1,2, . . . ,m. (9)

Proof. As in the proof of Lemma 3, we can apply the La-grangian Multiplier approach to minimize the convex ob-jective under a single linear (equality) constraint. The first

966 D. Oron / Information Processing Letters 111 (2011) 962–967

derivative of the total completion time (Eq. (8)) with re-spect to the batch resource variables, Ui , is equal to:

∂∑

c j

∂Ui= −k(m + 1 − i)

Ui

(∑J s∈Bi

ws

Ui

)k

for i = 1,2, . . . ,m.

Due to the fact that the total completion time is con-

vex with respect to all the U variables,∂

∑c j

∂Ui= ∂

∑c j

∂Utfor

1 � i, t � m provide necessary and sufficient conditions foroptimality. Thus, for any 1 � i, t � m we obtain that:

Ut = Ur

(m + 1 − t

m + 1 − i

) 1k+1

(∑J s∈Bt

ws∑J s∈Bi

ws

) kk+1

.

Reinserting this relationship in the equation∑m

i= Ui =U yields Eq. (9). �

The next step in our analysis consists of combining Eqs.(3) and (9) in order to obtain an expression for the re-source allocation to individual jobs, which is solely depen-dent on the job allocation to batches.

Lemma 9. For a given allocation of jobs to batches, the job re-source allocation policy which minimizes the total completiontime is given by the following expression:

u j = (m + 1 − i)1

k+1 w j U

(∑

J s∈Biws)

1k+1

∑mt=1(m + 1 − t)

1k+1 (

∑J s∈Bt

ws)k

k+1

for J j ∈ Bi, j = 1,2, . . . ,n and i = 1,2, . . . ,m. (10)

Proof. As mentioned above, the proof follows directlywhen inserting the expression for Ui given in Eq. (9) intoEq. (3). �

Given the results of the lemma above, it is now pos-sible to express the total completion time as a function ofthe job workloads. The hidden assumption in this approachis that one chooses an optimal resource allocation to jobsaccording to expression (10).

Lemma 10. Given an optimal job resource allocation, the totalcompletion time as a function of the job workloads is given bythe following expression:

∑c j = 1

Uk

(m∑

t=1

(m + 1 − t)1

k+1

( ∑J s∈Bt

ws

) kk+1

)k+1

. (11)

Proof. The expression for the resource allocated to batchBi , i = 1,2, . . . ,m, given in Eq. (9), can be inserted intothe total completion time value in Eq. (8) to obtain:∑

c j

=m∑

(m + 1 − i)

( ∑J s∈Bi

ws

U (m + 1 − i)1

k+1 (∑

ws)k

k+1

)k

i=1 J s∈Bi

×(

m∑t=1

(m + 1 − t)1

k+1

( ∑J s∈Bt

ws

) kk+1

)k

= 1

Uk

m∑i=1

((m + 1 − i)

1k+1

( ∑J s∈Bi

ws

) kk+1

)

×(

m∑t=1

(m + 1 − t)1

k+1

( ∑J s∈Bt

ws

) kk+1

)k

= 1

Uk

(m∑

t=1

(m + 1 − t)1

k+1

( ∑J s∈Bt

ws

) kk+1

)k+1

. �

In the following lemma, we show that the allocation ofjobs to batches which minimizes the makespan also mini-mizes the total completion time.

Lemma 11. Given an optimal allocation of resources to individ-ual jobs, the optimal allocation of jobs for the makespan criteriaalso minimizes the total completion time. Hence, an optimal al-location of jobs to machines such that if the jobs are sequencedaccording to non-decreasing order of workloads, the first batchcontains jobs J1 through Jb, the second batch contains jobsJb+1 through job J2b, and so forth. Finally, the last batch, Bm,contains jobs J (m−1)b+1 through Jn, where m = �n

b �.

Proof. Following the same argument as the one used forthe makespan objective, the fact that U and k are positiveproblem parameters, minimizing Eq. (11) is equivalent tominimizing the expression below:

f =m∑

t=1

(m + 1 − t)1

k+1

( ∑J s∈Bt

ws

) kk+1

.

Using W i = ∑J s∈Bt

ws we obtain that f = ∑mt=1(m +

1 − t)1

k+1 Wk

k+1t . Recall that the power k

k+1 is positive andstrictly smaller than 1, implying that f is concave withrespect to Wt , t = 1,2, . . . ,m. The first derivative of fwith respect to Wt , t = 1,2, . . . ,m, is equal to ∂ f

∂Wt=

kk+1 (m + 1 − t)

1k+1 W

−1k+1

t . The second derivative with re-

spect to Wt , t = 1,2, . . . ,m, is equal to ∂2 f∂W 2

t= −k

(k+1)2 (m +1 − t)

1k+1 W

−k−2k+1

t .

Following the fact that ∂ f∂Wt

> 0 and ∂2 f∂W 2

t< 0 for any

positive k, it is clear that f is minimized by allocatingjobs to as few batches as possible, while maximizing thevariation between the Wt values. It is also clear that thebatches should be scheduled in non-decreasing order oftheir total workload, i.e., W1 � W2 � · · · � Wm. This is due

to the fact that (m + 1 − i)1

k+1 is a strictly decreasing func-tion in i. �

The algorithm below provides a detailed description ofthe solution procedure:

D. Oron / Information Processing Letters 111 (2011) 962–967 967

Algorithm 2 Total Completion TimeInput: n, U , b, k, w j , j = 1,2, . . . ,n.

STEP 1: Allocate jobs to batches.STEP 1.1: Sort jobs according to non-increasing order of their

workloads and re-index the jobs.STEP 1.2: Create m (= � n

b �) batches and assign jobs such thatbatch Bi contains jobs J (i−1)b+1 through J ib for i =1,2, . . . ,m − 1. Batch Bm contains jobs J (m−1)b+1through Jn.

STEP 2: Sequence the batches in inverse order of their index, i.e.,{Bm, Bm−1, . . . , B2, B1}.

STEP 3: Allocate the resource to jobs according to

u j = (m+1−i)1

k+1 w j U

(∑

J s∈Biws)

1k+1

∑mt=1(m+1−t)

1k+1 (

∑J s∈Bt

ws)k

k+1

for J j ∈ Bi , j = 1,2, . . . ,n and i = 1,2, . . . ,m.

STEP 4: Calculate the total completion time value using∑c j = 1

Uk (∑m

t=1(m + 1 − t)1

k+1 (∑

J s∈Btws)

kk+1 )k+1.

END.

Theorem 2. Algorithm Total Completion Time solves the totalcompletion time minimization problem in O (n log n) time.

Proof. The correctness of the algorithm follows from theanalysis in Lemmas 7–11. The computational effort of allthe steps, except for STEP 2, is identical to their AlgorithmMakespan counterparts. STEP 2 consists of sequencing thebatches from the last to the first, requiring O (n) time. Asa result, the overall computational effort of the algorithmis O (n log n). �5. Concluding remarks

As demonstrated in Sections 3 and 4, both the makespanand the total completion time criteria are minimized byforming as few batches as possible. Furthermore, the opti-mal allocation of jobs to batches is such that the variationbetween the sum of workloads within the batches is max-imized. Consequently, �n

b � batches are formed, with thefirst batch containing b jobs with the largest workloads.The next b largest workload jobs are assigned to the sec-ond batch and so forth. For the makespan criterion, thebatch sequence is irrelevant, but for the total completiontime batches should be scheduled in non-increasing or-der of their total workload. An interesting observation isthat this is an ideal schedule, i.e., one that minimizes boththe makespan and the total completion time. However, onemust keep in mind that the optimal resource allocation tojobs differs according to the objective considered.

A direct consequence of the existence of an ideal sched-ule for the problem is that it is also optimal for any bi-criteria problem consisting of both objectives. Consider f ,such that f = αCMax + (1−α)

∑c j and 0 � α � 1. It is eas-

ily verified that the optimal resource allocation to jobs isgiven by:

u j = [(m − i)(1 − α) + 1] 1k+1 w j U

(∑

J s∈Biws)

1k+1

∑mt=1[(m − i)(1 − α) + 1] 1

k+1 (∑

J s∈Btws)

kk+1

for J j ∈ Bi, j = 1,2, . . . ,n and i = 1,2, . . . ,m. (12)

Another important observation is that although themakespan minimization problem with controllable pro-cessing times requires the same computational effort as itsfixed processing time counterpart, this is not true for the

total completion time objective. As mentioned in the in-troduction, Brucker et al. [2] solve the classical version ofthe problem by dynamic programming in O (nb(b−1)) time.Thus, the computational effort is polynomial in the num-ber of jobs for a fixed b. The controllable case, on the otherhand, is polynomially solvable for a general b value.

This paper is the first step in modeling the joint effectsof burn in processes, or parallel batching, and resource de-pendent processing time tasks. Since these models appearto co-exist in various applications, namely in the process-ing of semiconductors and in the petrochemical industries,considering other scheduling criteria and machine settingsseems to be a natural extension to the results presented inthis paper.

Acknowledgement

The author is grateful to the Associate Editor and thetwo reviewers of the paper for their valuable feedback andhelpful suggestions. I would also like to thank Yonatan andRoni for the insightful discussions which inspired me towrite this paper.

References

[1] B. Alidaee, A. Ahmadian, Two parallel machine sequencing problemsinvolving controllable job processing times, European Journal of Op-erational Research 70 (1993) 335–341.

[2] P. Brucker, A. Gladky, H. Hoogeveen, M.Y. Kovalyov, C.N. Potts, T. Taut-enhahn, S.L. Van de Velde, Scheduling a batching machine, Journal ofScheduling 1 (1) (1998) 31–54.

[3] V. Chandru, C.-Y. Lee, R. Uzsoy, Minimizing total completion time onbatch processing machines, International Journal of Production Re-search 31 (1993) 2097–2122.

[4] V. Chandru, C.-Y. Lee, R. Uzsoy, Minimizing total completion time onbatch processing machines, Operations Research Letters 13 (1993)61–65.

[5] D.S. Hochbaum, D. Landy, Algorithms and heuristics for schedulingsemiconductor burn-in-operations, Technical report, Engineering Sys-tems Research Center, University of California, Berkeley, 1993.

[6] A. Janiak, Minimization of blooming mills standstills – mathematicalmodel, suboptimal algorithms, Mechanika 8 (2) (1989) 37–49.

[7] A. Janiak, M.Y. Kovalyov, Single machine scheduling subject to dead-lines and resource dependent processing times, European Journal ofOperational Research 94 (1996) 284–291.

[8] M. Kaspi, D. Shabtay, Optimization of machining economics problemfor a multi-stage transfer machine under failure, opportunistic andintegrated replacement strategies, International Journal of ProductionResearch 41 (10) (2003) 2229–2248.

[9] C.Y. Lee, L. Lei, Multiple-project scheduling with controllable projectduration and hard resource constraint: some solvable cases, Annalsof Operations Research 102 (2001) 287–307.

[10] C.L. Monma, A. Schrijver, M.J. Todd, V.K. Wei, Convex resource alloca-tion problems on directed acyclic graphs: duality, complexity, specialcases and extensions, Mathematics of Operations Research 15 (1990)736–748.

[11] C.T. Ng, X. Cai, T.C.E. Cheng, S.S. Lam, Minimizing completion timevariance with compressible processing times, Journal of Global Opti-mization 31 (2005) 333–352.

[12] D. Shabtay, Single and a two-resource allocation algorithms for min-imizing the maximal lateness in a single machine-scheduling prob-lem, Computers and Operations Research 31 (8) (2004) 1303–1315.

[13] D. Shabtay, G. Steiner, A survey of scheduling with controllable pro-cessing times, Discrete Applied Mathematics 155 (2007) 1643–1666.

[14] N.V. Shakhlevich, V.A. Strusevich, Single machine scheduling withcontrollable release and processing times, Discrete Applied Mathe-matics 154 (2006) 2178–2199.

[15] R.G. Vickson, Two single machine sequencing problems involvingcontrollable job processing times, AIIE Transactions 12 (3) (1980)258–262.