Transcript
Page 1: Batch scheduling of identical jobs with controllable processing times

Batch scheduling of identical jobs with controllable processing times

Baruch Mor a, Gur Mosheiov b,n

a The Department of Economics and Business Administration, Ariel University, Israelb School of Business Administration, The Hebrew University, Jerusalem, Israel

a r t i c l e i n f o

Available online 20 August 2013

Keywords:Batch schedulingControllable processing timesFlowtimeSingle machineParallel identical machines

a b s t r a c t

In scheduling models with controllable processing times, the job processing times can be controlled(i.e. compressed) by allocating additional resources. In batch scheduling a large number of jobs may begrouped and processed as separate batches, where a batch processing time is identical to the totalprocessing times of the jobs contained in the batch, and a setup time is incurred when starting anew batch.

A model combining these two very popular and practical phenomena is studied. We focus onidentical jobs and linear compression cost function. Two versions of the problem are considered: in thefirst we minimize the sum of the total flowtime and the compression cost, and in the second weminimize the total flowtime subject to an upper bound on the maximum compression. We study bothproblems on a single machine and on parallel identical machines. In all cases we introduce closed formsolutions for the relaxed version (allowing non-integer batch sizes). Then, a simple rounding procedure isintroduced, tested numerically, and shown to generate extremely close-to-optimal integer solutions. Fora given number of machines, the total computational effort required by our proposed solution procedureis Oð ffiffiffi

np Þ, where n is the number of jobs.

& 2013 Elsevier Ltd. All rights reserved.

1. Introduction

Vickson [1,2] introduced a new class of scheduling models withcontrollable processing times. In this model the job processingtimes are not given constants as in classical scheduling, but canbe controlled (i.e. compressed) by allocating additional resources.Various versions of this very practical scheduling setting havebeen studied by many researchers, as reflected in the recentsurvey of Shabtai and Steiner [3]. Some of the early papers are:Van Wassenhove and Baker [4], Nowicki and Zdrzalka [5], Janiakand Kovalyov [6], Wan et al. [7], Hoogeveen and Woeginger [8],Janiak et al. [9], Shakhlevich and Strusevich [10], Wang [11] Akturket al. [12] and Wang and Xia [13]. More recently, Tseng et al. [14]studied a single machine setting with controllable processingtimes and an objective of minimum total tardiness; Turkcanet al. [15] studied a setting of parallel machines and objectivefunctions of minimum manufacturing cost and total weightedearliness and tardiness; Shakhlevich et al. [16] focused on thetrade-off between the maximum cost (which is a function of thecompletion times) and the total compression cost; Shabtay et al.[17] addressed due date assignment problems in a group technol-ogy environment; Gurel et al. [18] considered failures of the

machine and repair time, and focused on an anticipative schedul-ing approach; Wan et al. [19] studied the problem of schedulingjobs of two-agents on a single machine with controllable proces-sing times; Choi et al. [20] focused on minimizing weightedcompletion time subject to an upper bound on the maximumcompression cost; Leyvand et al. [21] considered just-in-timescheduling on parallel machines; Yin and Wang [22] studied amodel combining controllable processing times and learning;Wang and Wang [23] addressed the single machine problem ofminimizing the total resource consumption subject to an upperbound on the total weighted flowtime; Wei et al. [24] focused on amodel in which the job processing times are a function of bothresource consumption and the job starting times; Uruk et al. [25]studied a two-machine flowshop problem with flexible operationsand controllable processing times; and Wang and Wang [26]focused on convex resource dependent processing times and jobdeterioration.

In batch scheduling a large number of jobs may be grouped andprocessed as separate batches. Such batching is generally based onthe existence of some similarity between jobs belonging to thesame class. A batch processing time is identical to the totalprocessing times of the jobs contained in the batch. A setup timeis incurred when starting a new batch. In their classical paper,Santos and Magazine [27] solved a single machine batch schedul-ing problem to minimize total flowtime. They assumed a constant(i.e. batch independent) setup time, and batch availability, i.e., jobs

Contents lists available at ScienceDirect

journal homepage: www.elsevier.com/locate/caor

Computers & Operations Research

0305-0548/$ - see front matter & 2013 Elsevier Ltd. All rights reserved.http://dx.doi.org/10.1016/j.cor.2013.08.007

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

Computers & Operations Research 41 (2014) 115–124

Page 2: Batch scheduling of identical jobs with controllable processing times

are completed only when their entire batch is completed. Dobsonet al. [28], Naddef and Santos [29] and Coffman et al. [30] extendedthe basic results obtained by Santos and Magazine for the “relaxedversion” of the problem (when integer batch sizes are notrequired). Later, Shallcross [31] and Mosheiov et al. [32] solvedthe integer version. We refer the reader also to the extensivesurvey of Allahverdi et al. [33] on batch scheduling under differentmachine settings and objective functions.

In this paper we combine (to our knowledge for the first time)the two phenomena of batch scheduling and controllable proces-sing times. Specifically, with respect to batching, we consider thesetting of Santos and Magazine [27], i.e. a single machine, batchindependent processing times, batch availability and the objectiveof minimum flowtime. With respect to the option of controllingjob processing times, we assume linear compression cost. Twoproblems are solved: in the first we minimize the total flowtimeplus the compression cost, and in the second we minimizeflowtime, subject to an upper bound on the maximum batchcompression. We first focus on a single machine setting, and showthat in both cases, the solution for the relaxed version consists of adecreasing arithmetic sequence of batch sizes, for which closedform solutions are obtained. The total running time of theprocedure is Oð ffiffiffi

np Þ, where n is the number of jobs. An integer

solution is obtained by a simple rounding procedure, requiringadditional Oð ffiffiffi

np Þ time. Our numerical tests indicate that the

integer solutions are extremely close to those of the relaxedversions (which are lower bounds on the optimal solutions).We then consider the setting of parallel identical machines. [Werefer the reader to Mor and Mosheiov [34], who studied batchscheduling on parallel identical machines without the option ofcompression.] In this case, we show that the solution of bothproblems consists of identical decreasing arithmetic sequences ofthe batch sizes on all the machines. The total computational effortof this more complicated solution procedure becomes Oðm ffiffiffi

np Þ,

where m is the number of machines. A rounding procedure and itsevaluation are provided for this setting as well.

In Section 2 we present the notation and the formulation.In Sections 3 and 4, we solve the relaxed versions of the twodifferent problems on a single machine. In Section 5 we proposethe rounding procedure to obtain an integer solution for bothproblems. Sections 6 and 7 are devoted to numerical examples andnumerical tests, respectively. Section 8 contains the extension toparallel identical machines.

2. Notation and formulation

We consider n identical jobs which need to be processed on asingle machine. Jobs may be processed in batches, sharing thesame setup operation: when starting a new batch, a setup time,denoted by s ðs40Þ is performed. For a given job allocation tobatches, we denote by K the total number of batches. By allocatingcertain resources, batch sizes can be compressed from theirmaximum (original) size denoted by nj , down to their final batchsize denoted by nj40; j¼ 1;…;K . (For simplicity we assume inthe following that all the jobs have unit processing times prior tocompression. It follows that ∑K

j ¼ 1nj ¼ n.) Let Nc denote the totalamount of compression of all K batches. Clearly, n¼∑K

j ¼ 1njþNc .The unit compression cost is denoted by c40, thus the totalcompression cost is given by cNc:

The first objective function considered here is the sum of thetotal flowtime and the batch compression cost. As mentionedabove, we assume batch availability, i.e., the completion time of ajob is defined as the completion time of the batch to which it isassigned. Thus, for a given allocation of jobs to batches, let Cj

denote the completion time of batch j, j¼ 1;…;K . The contribution

of batch j to the total flowtime is njCj, implying that the totalflowtime is given by ∑C ¼∑K

j ¼ 1njCj. Thus, the objective functionof the problem is ∑CþcNc , and using the conventional notation,the first problem studied here (P1) is

P1 : 1=batch; ctrl=∑CþcNc:

While P1 is a legitimate objective function (and clearly anyextension to a linear combination of the above two cost compo-nents), theoretically, it may lead to an extreme non-realistic solu-tion, where the batch sizes are compressed to zero. One way tohandle this feasibility issue is by limiting the maximum allowablecompression. Thus, for the second problem (P2), we define an upperbound U on the maximum compression. In order to guarantee arealistic solution, we restrict U to be strictly smaller than n. Theobjective function here is minimum flowtime, subject to this upperbound on the maximum compression

P2 : 1=batch; ctrl; NcrU=∑C:

We extend both models to a setting of m parallel identical machines.For a given job allocation to the machines, let Ki denote the numberof batches processed on machine i; i¼ 1;…;m. Let ni;j denote thesize of batch j processed on machine i; i¼ 1; :::;m; j¼ 1; :::;Ki. Thus,the second part of the paper consists of the following two problems(P3 and P4, respectively):

P3 : Pm=batch; ctrl=∑CþcNc:

P4 : Pm=batch; ctrl; NcrU=∑C:

3. Problem P1: 1=batch; ctrl=∑CþcNc

In this section we provide a formal definition of the problem,present the basic properties of an optimal solution, and introduceclosed form expressions for the optimal batch sizes. The combinedobjective function (flowtime plus compression cost) is given by

f 1 ¼ ðsþn1Þn1þð2sþn1þn2Þn2þ⋯þ K�1ð Þsþ ∑K�1

j ¼ 1nj

!nK�1

þ Ksþ ∑K

j ¼ 1nj

!nK þcNc:

f 1 ¼ ∑K

j ¼ 1∑j

i ¼ 1ni

!njþs ∑

K

j ¼ 1jnjþcNc:

It is easy to verify the following equality:

∑K

j ¼ 1∑j

i ¼ 1ni

!nj ¼

12

∑K

j ¼ 1n2j þ

12

∑K

j ¼ 1nj

!2

:

Thus, we get the following objective function:

f 1 ¼12

∑K

j ¼ 1n2j þ

12

∑K

j ¼ 1nj

!2

þs ∑K

j ¼ 1jnjþcNc: ð1Þ

The formal presentation of the problem is

Min f 1

s:t: ∑K

j ¼ 1njþNc ¼ n

NcZ0;njZ0; j¼ 1;…;K:

Clearly f 1 is a quadratic convex function of the batch sizes,implying that the global minimum can be found by applyingthe Karush–Kuhn–Tucker (KKT) conditions. The Lagrangian, withλ being the single Lagrange multiplier, is

L¼ f 1�λ ∑K

j ¼ 1njþNC�n

!:

B. Mor, G. Mosheiov / Computers & Operations Research 41 (2014) 115–124116

Page 3: Batch scheduling of identical jobs with controllable processing times

The optimal solution must satisfy the KKT conditions below:

∂L∂nl

¼ nlþ ∑K

j ¼ 1njþ ls�λ¼ 0; l¼ 1;…;K : ð2Þ

∂L∂NC

¼ c�λ¼ 0: ð3Þ

λ ∑K

j ¼ 1njþNc�n

!¼ 0: ð4Þ

njZ0; j¼ 1;…;K: ð5Þ

NcZ0: ð6ÞFrom (3) we must have

λ¼ c: ð7ÞFrom (2) we note that the batch sizes follow a decreasingarithmetic sequence. The terms of this sequence are

nj ¼ n1�ðj�1Þs; j¼ 2;…;K: ð8ÞThe sum of this arithmetic sequence is given by:

∑K

j ¼ 1nj ¼

K2ð2n1� ðK�1ÞsÞ ¼ Kn1�

12sKðK�1Þ ð9Þ

From (2) and (7)

∑K

j ¼ 1nj ¼ c�n1�s: ð10Þ

Equating (9) and (10), we obtain the following expression for n1:

n1 ¼2cþsðKðK�1Þ�2Þ

2ðKþ1Þ : ð11Þ

We observe that the last term of the sequence must be strictlypositive, therefore

nK ¼ n1�ðK�1Þs40: ð12ÞSubstituting n1 (from (11)) in (12), we get

sK2þsK�2co0; ð13ÞThe largest positive value of K that satisfies (13) is

K ¼ffiffiffiffiffiffiffiffiffiffiffiffiffi14þ2c

s

r�12

$ %:

Comment 1: As mentioned above, in an extreme case, this expres-sion may lead to a non-realistic solution. Note that for very small cvalues (i.e. small compression cost), or for sufficiently large s-value(a very large setup time), K becomes zero. This theoretical resultreflects the case that all the jobs are totally compressed, and thecost is solely due to compression (i.e., all batch sizes become zero,and there is no flowtime cost). Obviously, this extreme case is notrealistic, and when solving real-life problems, we may avoid iteither by adding a positive lower bound on all batch sizes, or byadding a constraint on the minimal number of batches, or byadding a constraint on the maximum compression (as assumed inthe model solved in Section 4).

We note that the following KKT conditions are satisfied:(i) condition (2) is met due to (7) and (8); (ii) condition (3) isguaranteed by (7); (iii) condition (5) is met due to (12) (the last, i.e.smallest term nK is strictly positive). Finally, since λ¼ c40, wemust have ∑K

j ¼ 1njþNc�n¼ 0 (in order to satisfy (4)). Thus, (6) isvalid only when Nc ¼ n�∑K

j ¼ 1njZ0In summary, an optimal solution is given by

Kn ¼ffiffiffiffiffiffiffiffiffiffiffiffiffi14þ2c

s

r�12

$ %; ð14Þ

nn

1 ¼2cþsðKnðKn�1Þ�2Þ

2ðKnþ1Þ ; ð15Þ

nn

j ¼ nn

1�ðj�1Þs; j¼ 2;…;Kn; ð16Þ

ð∑CþcNcÞn ¼12

∑Kn

j ¼ 1ðnn

j Þ2þ12

∑Kn

j ¼ 1nn

j

!2

þs ∑Kn

j ¼ 1jnn

j þcNc; ð17Þ

and the following optimality condition must be satisfied:

Nc ¼ n� ∑Kn

j ¼ 1njZ0: ð18Þ

Note that if the latter condition is not satisfied, i.e. Nco0, itfollows that compression is too expensive, and is not performed atall. In this case the problem is reduced to the classical version, andthe optimal solution is obtained by Santos and Magazine's proce-dure [27].

Concluding this section, we state that the above explicitexpressions for the optimal number of batches and batch sizesreflect the solution of the relaxed (non-integer) version of theproblem. In Section 5 we return to the original integer version, andintroduce a rounding procedure to obtain integer batch sizes.

4. Problem P2: 1=batch; ctrl; NcrU=∑C

The problem solved in this section is minimizing flowtimesubject to an upper bound on the maximum amount of compres-sion. Thus, the objective function is

f 1 ¼ ðsþn1Þn1þð2sþn1þn2Þn2þ⋯þ ðK�1Þsþ ∑K�1

j ¼ 1nj

!nK�1

þ Ksþ ∑K

j ¼ 1nj

!nK ;

or more concisely

f 2 ¼12

∑K

j ¼ 1n2j þ

12

∑K

j ¼ 1nj

!2

þs ∑K

j ¼ 1jnj: ð19Þ

The formal presentation of the problem is

Min f 2

s:t: n� ∑K

j ¼ 1njrU:

njZ0; j¼ 1;…;K :

The Lagrangian for this quadratic program is L¼ f 2þνðn�∑Kj ¼ 1

nj�UÞ, where ν is the Lagrange multiplier. Applying KKT, we obtainthe following optimality conditions:

∂L∂nl

¼ nlþ ∑K

j ¼ 1njþ ls�ν¼ 0; l¼ 1; ::K: ð20Þ

ν n� ∑K

j ¼ 1nj�U

!¼ 0: ð21Þ

n� ∑K

j ¼ 1nj�Ur0: ð22Þ

njZ0; j¼ 1;…;K : ð23Þ

νZ0: ð24ÞFrom (20) we conclude that

nj ¼ n1�ðj�1Þs; j¼ 2;…;K : ð25Þ

B. Mor, G. Mosheiov / Computers & Operations Research 41 (2014) 115–124 117

Page 4: Batch scheduling of identical jobs with controllable processing times

The sum of this decreasing arithmetic sequence is

∑K

j ¼ 1nj ¼ Kn1�

12sKðK�1Þ: ð26Þ

From (20) and (23), and since s40 (by definition)

ν¼ n1þ ∑K

j ¼ 1njþs40: ð27Þ

It follows from (21)

∑K

j ¼ 1nj ¼ n�U: ð28Þ

Equating (26) and (28)

∑K

j ¼ 1nj ¼ Kn1�

12sKðK�1Þ ¼ n�U

Thus n1 ¼ðn�UÞ

Kþ12sðK�1Þ ð29Þ

Again, we are interested only in sequences with strictly positiveterms, thus the last term must be positive:

nK ¼ n1�ðK�1Þs40: ð30ÞAfter substituting n1 (from (29)) and rearranging terms

sK2�sK�2ðn�UÞo0: ð31ÞThe largest value of K that satisfies (31) is

K ¼ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi14þ2ðn�UÞ

s

rþ12

$ %: ð32Þ

(Recall that U was restricted to be strictly smaller than n. Other-wise K is not defined.)

Since all KKT conditions are satisfied, the optimal solution isgiven by the following expressions:

Kn ¼ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi14þ2ðn�UÞ

s

rþ12

$ %: ð33Þ

nn

1 ¼ðn�UÞKn

þ12sðKn�1Þ : ð34Þ

nn

j ¼ nn

1�ðj�1Þs; j¼ 2;…;Kn: ð35Þ

ð∑CÞn ¼ 12

∑Kn

j ¼ 1ðnn

j Þ2þ12

∑Kn

j ¼ 1nn

j

!2

þs ∑Kn

j ¼ 1jnn

j : ð36Þ

5. Rounding procedure

KKT conditions guarantee an optimal solution for the relaxedversion of the problems studied in this paper. In order to solve theinteger version, we propose below a simple rounding procedure(see also [32]). The proposed rounding procedure clearly does notguarantee an optimal integer solution, but leads to very close-to-optimal schedules; see below section Numerical tests. The proce-dure consists of rounding up the first i terms of the sequence, androunding down the remaining ðKn�iÞ terms. Let Δ¼ nn

j �bnn

j c, thusthe index i is found by solving the equation ið1�ΔÞ ¼ ðKn�iÞΔ, i.e.,i¼ KnΔ. Note, that unlike Mosheiov et al. [32], in this case, due tothe compression, the resulting total processing time ðn�NcÞ is notnecessarily integer. It follows that the value of i (i.e., the numberof rounded-up terms) is not necessarily integer. In order toguarantee an integer solution, we round i to its closest integer.This may lead to some changes in the (rounded) nj values, andsince Nc ¼ n�∑Kn

j ¼ 1nj, an additional (probably very minor) correc-tion of Nc is needed.

The formal rounding procedure for Problem P1 is presentedbelow.

Algorithm_Rounding (single machine).Δ¼ nn

i �bnn

i c;i¼ KnΔ; // i¼rounding indexRound i to its closest integer;For ðj¼ 1; jr i ; j¼ jþ1Þ // j ¼ batch indexnj ¼ ⌈nn

j ⌉; // Updating batch size after rounding

Endfori¼ iþ1;For ðj¼ i; jrKn; j¼ jþ1Þnj ¼ bnn

j c;EndforNc ¼ n�∑Kn

j ¼ 1nj; // Correcting Nc

Stop

[The rounding procedure for Problem P2 is similar and is thereforeomitted].

Running time: the number of rounding iterations is identical tothe number of batches ðOð ffiffiffi

np ÞÞ. Each iteration as well as the

correction of Nc is calculated in constant time. Therefore, the totalrunning time is Oð ffiffiffi

np Þ. [We note that this running time is not

polynomial in the input size, which consists only of the four valuesof n; p; s and c.]

6. Numerical examples

In the following examples we demonstrate the use of the abovesolution procedures. In the first example, we check the optimalityconditions for the relaxed version, and then compute the optimalnumber of batches, the batch sizes and the flowtime value. Then,we run Algorithm_Rounding to obtain the integer solution. In thefinal step we calculate the optimality gap. Let ð∑CþcNcÞn denotethe optimal flowtime of the relaxed version, and ð∑CþcNcÞIdenote the flowtime of the integer version (obtained after therounding procedure). The ratio ð∑CþcNcÞI=ð∑CþcNcÞn is an upperbound on the optimality gap.

Example 1. Minimum total flowtime and compression cost(Problem P1).

Data: n¼ 127; p¼ 1 (unit jobs), s¼ 5.

Case 1. c ¼ 62.

The relaxed version solution:First we check whether the optimality condition (18) is satisfied

K ¼ffiffiffiffiffiffiffiffiffiffiffiffiffi14þ2c

s

r�12

$ %¼ 4; n1 ¼

2cþsðKðK�1Þ�2Þ2ðKþ1Þ ¼ 17:40;

∑K

j ¼ 1nj ¼ Kn1�

12sKðK�1Þ ¼ 39:6:

Thus Nc ¼ n�∑Kj ¼ 1nj ¼ 87:4040, and condition (18) holds.

We conclude that the proposed solution is feasible under KKT,and thus the optimal number of batches and the batch sizes are:Kn ¼ 4; nn

1 ¼ 17:40.From (16), nn

j ¼ nn

1�ðj�1Þs; j¼ 2;…;Kn : nn

2 ¼ 12:40; nn

3 ¼7:40 and nn

4 ¼ 2:40:The optimal cost (flowtimeþcompression) is given by (17)

ð∑CþcNcÞn ¼12

∑Kn

j ¼ 1ðnn

j Þ2þ12

∑Kn

j ¼ 1nn

j

!2

þs ∑Kn

j ¼ 1jnn

j þcNc ¼ 6831:3999:

The integer solution:

B. Mor, G. Mosheiov / Computers & Operations Research 41 (2014) 115–124118

Page 5: Batch scheduling of identical jobs with controllable processing times

Applying the proposed rounding procedure (Section 5), we get

K ¼ 4; Δ¼ nn

j �bnn

j c ¼ 17:4�17¼ 0:4; i¼ KnΔ¼ 4n0:4¼ 1:6:

After rounding to the closest integer i¼ 2.Thus, n1 ¼ 18:0, n2 ¼ 13:0, n3 ¼ 7:0 and n4 ¼ 2:0.Note that the original compression value is Nc ¼ 87:40. We

perform a correction of the compression value

Nc ¼ n� ∑K

j ¼ 1nj ¼ 127�40¼ 87:00:

The resulting total cost becomes

ð∑CþcNcÞI ¼ 6832:00 :

The optimality gap:

ð∑CþcNcÞIð∑CþcNcÞn

¼ 1:0000879:

Case 2. c ¼ 175.

For the relaxed version:

K ¼ 7; n1 ¼ 34:375; ∑K

j ¼ 1nj ¼ 135:625:

Checking the optimality condition (18), we get that Nc ¼�8:625o0.

It follows that compression of batch processing times is neveroptimal due to the very high compression cost, and an optimalsolution is found (without compression) according to the classicalprocedure of Santos and Magazine [27]. [The optimal solution of therelaxed version: Kn ¼ 7; nn

1 ¼ 33:1429, nn

2 ¼ 28:1429, nn

3 ¼ 23:1429,nn

4 ¼ 18:1429, nn5 ¼ 13:1429, nn

6 ¼ 8:1429 and nn7 ¼ 3:1429. ð∑CÞn ¼

11406:5723. The integer solution: K ¼ 7; n1 ¼ 34.00, n2 ¼ 28:00,n3 ¼ 23:00, n4 ¼ 18:00, n5 ¼ 13:00, n6 ¼ 8:00 and n7 ¼ 3:00.ð∑CÞI ¼ 11407:00. The optimality gap: ð∑CÞI=ð∑CÞn ¼ 1:000038:]

Example 2. Minimum total flowtime subject to maximum com-pression (Problem P2).

Data: n¼ 127; p¼ 1; s¼ 5; U ¼ 80 (Note that U ¼ 80on¼127, as required).

The relaxed version solution:The optimal number of batches is given by (33)

Kn ¼ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi14þ2ðn�UÞ

s

rþ12

$ %¼ 4:

From (34) and (35): nn

1 ¼ ðn�UÞ=Knþ1=2sðKn�1Þ ¼ 19:25. nn

j ¼nn

1�ðj�1Þs; j¼ 2;…;Kn: nn

2 ¼ 14:25, nn

3 ¼ 9:25, nn

4 ¼ 4:25. From (36)the optimal flowtime is

ð∑CÞn ¼ 12

∑Kn

j ¼ 1ðnn

j Þ2þ12

∑Kn

j ¼ 1nn

j

!2

þs ∑Kn

j ¼ 1jnn

j ¼ 1905:6250:

The integer solution: K ¼ 4; n1 ¼ 20:00, n2 ¼ 14:00, n3 ¼ 9:00 andn4 ¼ 4:00.

ð∑CÞI ¼ 1906:00. The optimality gap: ð∑CÞI=ð∑CÞn ¼ 1:00020:

6.1. Numerical tests

The goal of these numerical tests is to measure the accuracyof our proposed rounding procedure. We generated instancesof three different sizes: n¼ 200; 250 and 300. The setup time swas generated uniformly in one of the following intervals: ½1; 5�,½1; 10� and ½1; 15�. For the first problem (minimum flowtime pluscompression cost), the compression cost per unit ðcÞ was gener-ated uniformly in the interval ½50; 150�. For the second problem(minimum flowtime subject to maximum compression), the

maximum compression was generated uniformly in the inter-val ½75; 175� (implying Uon as requested; see Section 2).

For each combination of n; s and c (for the first problem), 50instances were generated and solved. Similarly, for each combina-tion of n; s and U (for the second problem), 50 instances weregenerated and solved. The average optimality gaps and the worstcases for the two problems are reported in Tables 1 and 2,respectively. (The Cþþ programs were processed on IntelsCore™2 Duo CPU [email protected] GHz.)

Based on Tables 1 and 2, the results are very promising. Theaverage and worst case optimality gaps are extremely small in allsettings. Moreover, as expected, the optimality gaps improve asthe number of jobs increases. Note that the average optimality gapdid not exceed 1.00004 in Table 1, and did not exceed 1.0002 inTable 2. All problems were solved in fractions of a second.

7. Parallel identical machines

In this section we introduce the extension of the singlemachine models presented above to parallel identical machines.(As mentioned, Mor and Mosheiov [34] studied batch schedulingon parallel identical machines without the option of compression.)Recall that m denotes the number of machines, Ki is the number ofbatches assigned to machine i, and ni;j is the size of batch j onmachine i; i¼ 1; :::;m; j¼ 1; :::; Ki. We first focus on the objectiveof minimum sum of total flowtime and compression cost:

7.1. Problem P3: Pm=batch; ctrl=∑CþcNc

In this case, the objective function (combining total flowtimeand compression cost) is given by

f 3 ¼ ∑m

i ¼ 1∑Ki

j ¼ 1∑j

l ¼ 1ni;l

!ni;jþs ∑

Ki

j ¼ 1jni;j

" #þcNc:

Table 1Problem P1—average and worst case optimality gaps.

n s Average optimality gap Worst case

1. 200 [1,5] 1.0000397 1.00007742. 250 1.0000310 1.00006503. 300 1.0000256 1.00004854. 200 [1,10] 1.0000328 1.00008875. 250 1.0000268 1.00007276. 300 1.0000191 1.00004327. 200 [1,15] 1.0000310 1.00007688. 250 1.0000248 1.00006719. 300 1.0000167 1.0000442

Table 2Problem P2—average and worst case optimality gaps.

n s Average optimality gap Worst case

10. 200 [1,5] 1.0001966 1.000848111. 250 1.0000809 1.000288812. 300 1.0000478 1.000104813. 200 [1,10] 1.0001332 1.000586414. 250 1.0000608 1.000266015. 300 1.0000321 1.000087316. 200 [1,15] 1.0001118 1.000662717. 250 1.0000436 1.000099318. 300 1.0000308 1.0000863

B. Mor, G. Mosheiov / Computers & Operations Research 41 (2014) 115–124 119

Page 6: Batch scheduling of identical jobs with controllable processing times

Similar to the single machine case, the objective function can beeasily converted to

f 3 ¼ ∑m

i ¼ 1

12

∑Ki

j ¼ 1n2i;jþ

12

∑Ki

j ¼ 1ni;j

!2

þs ∑Ki

j ¼ 1jni;j

24

35þcNc: ð37Þ

The formal presentation of the problem is

Min f 3

s:t: ∑m

i ¼ 1∑Ki

j ¼ 1ni;jþNc ¼ n:

NcZ0;ni;jZ0; i¼ 1;…;m; j¼ 1;…;Ki:

The detailed solution of this program (the relaxed version) is givenin Appendix A. Note that we consider a solution consisting ofbalanced load on the machines. Thus, the total processing as well asthe total compression are identical on the machines. This solution isshown to satisfy KKT conditions, and is therefore optimal. (Note alsothat f 3 is a convex function of the batch sizes, implying that anoptimal solution should indeed be based on identical loads on thedifferent identical machines.)

The optimal solution consists of the following:

Kn

i ¼ Kn ¼ffiffiffiffiffiffiffiffiffiffiffiffiffi14þ2c

s

r�12

$ %; i¼ 1;…;m; ð38Þ

nn

i;1 ¼2cþsðKnðKn�1Þ�2Þ

2ðKnþ1Þ ; i¼ 1;…;m; ð39Þ

nn

i;j ¼ nn

i;1�ðj�1Þs; i¼ 1;…;m; j¼ 2;…;Kn; ð40Þ

ð∑CþcNcÞn ¼m12

∑Kn

j ¼ 1ðnn

1;jÞ2þ12

∑Kn

j ¼ 1nn

1;j

!2

þs ∑Kn

j ¼ 1jnn

1;j

24

35þcNc

ð41ÞIn order to avoid “negative” compression, the following optimalitycondition must be satisfied as well:

NC ¼ n�m ∑Kn

j ¼ 1n1;jZ0 ð42Þ

If NC is negative, no compression is performed, and the optimalsolution is found by Mor and Mosheiov [34].

Next, we focus on the objective of minimum total flowtimesubject to an upper bound on the compression.

7.2. Problem P4: Pm=batch; ctrl; NcrU=∑C

The objective function in this case does not contain an expres-sion for the compression cost

f 4 ¼ ∑m

i ¼ 1∑Ki

j ¼ 1∑j

l ¼ 1ni;l

!ni;jþs ∑

Ki

j ¼ 1jni;j

" #ð43Þ

The problem to be solved is

Min f 4

s:t: n� ∑m

i ¼ 1∑Ki

j ¼ 1ni;jrU:

ni;jZ0; i¼ 1;…;m; j¼ 1;…;Ki:

The solution of this problem is provided in detail in Appendix B.The optimal solution is the following:

Kn

i ¼ Kn ¼ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi14þ2ðn�UÞ

ms

rþ12

$ %; i¼ 1;…;m: ð44Þ

(Recall that U was restricted to be smaller than n, implying thatKnZ1.)

nn

i;1 ¼ nn

1;1 ¼ðn�UÞmKn

þ12sðKn�1Þ; i¼ 1;…;m: ð45Þ

nn

i;j ¼ nn

i;1�ðj�1Þs; i¼ 1;…;m; j¼ 2;…;Kn: ð46Þ

ð∑CÞn ¼m12

∑Kn

j ¼ 1ðnn

1;jÞ2þ12

∑Kn

j ¼ 1nn

1;j

!2

þs ∑Kn

j ¼ 1jnn

1;j

24

35: ð47Þ

7.3. Rounding procedure

Recall that the above solutions ((38)–(42) and (44)–(47)) are for therelaxed versions of the two problems, respectively. In the following weextend the above rounding procedure (Section 5) to the setting ofparallel identical machines; see also Mor and Mosheiov [34]. Unlikethe single machine case, in our setting, the total load per machineobtained by the solution of the relaxed version (ðn�NcÞ=m for ProblemP3, and ðn�UÞ=m for Problem P4) is not necessarily integer. Thus, forProblem P3, let Δ1 ¼ ððn�NcÞ=mÞ� ðn�NcÞ=m

� �, and for Problem P4,

let Δ1 ¼ ððn�UÞ=mÞ� ðn�UÞ=m� �, denote the non-integer part of the

total load per machine. For convenience, we describe in the followingthe rounding procedure for Problem P3. (The procedure for P4 isalmost identical.)

We round up the load on the first x machines, and round downthe load on the remaining m�x machines, such that the total loadremains n. Clearly, xð1�Δ1Þ ¼ ðm�xÞΔ1. It follows that x¼mΔ1.Thus, the resulting (integer) load allocation to the machines consistsof x machines with load of ⌈ðn�NcÞ=m⌉, and m�x machines withload of ðn�NcÞ=m

� �. Given this allocation, we obtain for each

machine the number of batches by substituting the relevant load(either ⌈ðn�NcÞ=m⌉ or in ðn�NcÞ=m

� �) in (9), and the number of

batches and their size is obtained by (14)–(16). (Clearly, there willbe one identical solution for the first x machines consisting of Kx

batches per machine, and one identical solution for the remainingm�x machines consisting of Km�x batches per machine.) Thissolution is optimal for the relaxed version on each machine, andthe batch sizes are not necessarily integers. We thus perform therounding procedure suggested by Mosheiov et al. [32] for the singlemachine case. For convenience, in the following, the superscript R

will reflect "relaxed". Let Δ2 ¼ nRi;1� nR

i;1

j k; i¼ 1;…; x denote the

non-integer part of the batch sizes on the first x machines. On thesex machines, we round up the first y terms (i.e. the first y batchsizes), and round down the remaining Kx�y terms. The total load oneach machine must remain the integer ⌈ðn�NcÞ=m⌉. Thus,yð1�Δ2Þ ¼ ðKx�yÞΔ2, implying that y¼ KxΔ2. Similarly, we define

Δ3 ¼ nRi;1� nR

i;1

j k; i¼ xþ1;…;m to denote the non-integer part of

the batch sizes on the remaining m�x machines, and repeat thelatter procedure. For this set of machines, the number of roundedup terms is z¼ Km�xΔ3. [Note that unlike the rounding procedureproposed in Mosheiov et al. [32] for the single machine case, ourproposed procedure for the current setting of parallel identicalmachines does not guarantee an optimal solution. However, itproduces extremely close-to-optimal solutions; see our numericaltests below.]

The formal rounding procedure for Problem P3 is presentedbelow. (As above, the superscript R reflects “relaxed”. Similarly, thesuperscript I reflects “integer”.)

Algorithm_Rounding (parallel machines).

Step 1: Calculation of total load per machine

Δ1 ¼ n�Ncm � n�Nc

m

� �;

B. Mor, G. Mosheiov / Computers & Operations Research 41 (2014) 115–124120

Page 7: Batch scheduling of identical jobs with controllable processing times

// the non-integer partof the total load permachine

x¼mΔ1; // number of machineswith rounded up load

ni ¼ nðXÞ ¼ ⌈n�Ncm ⌉; i¼ 1;…; x; // total load on the first

x machinesni ¼ nðm�xÞ ¼ n�Nc

m

� �; i¼ xþ1;…;m; // total load on the last

m�x machinesStep 2: Calculation of batch sizes on the first x machines

Kx ¼ffiffiffiffiffiffiffiffiffiffiffiffiffiffi14þ

2nðxÞs

qþ1

2

� �;

// number of batches oneach of the first x machines

nRi;1 ¼

nðxÞKx

þ12sðKx�1Þ; //size of the first batch

nRi;j ¼ nR

i;1�ðj�1Þs; i¼ 1;…; x; j¼ 2;…;Kx;

Δ2 ¼ nRi;1� nR

i;1

j k; // non-integer part of each

batch sizey¼ KxΔ2; // number of rounded up

batch sizesFor ðj¼ 1; jry; j¼ jþ1Þ

nIi;j ¼ ⌈nR

i;j⌉; // round up the size of thefirst y batches

EndforFor ðj¼ yþ1; jrKx; j¼ jþ1Þ

nIi;j ¼ nR

i;j

j k// round down the sizeof the last Kx�y batches

Endfor

Step 3: Calculation of batch sizes on the last m�x machines:

Km�x ¼ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi14þ

2nðm�xÞs

qþ1

2

� �;

// number of batches on eachof the last m�x machines

nRi;1 ¼

nðm�xÞKm�x

þ12sðKm�x�1Þ; //size of the first batch

nRi;j ¼ nR

i;1�ðj�1Þs; i¼ xþ1;…;m; j¼ 2;…;Km�x;

Δ3 ¼ nRi;1� nR

i;1

j k; // non-integer part of each

batch sizez¼ Km�xΔ3; // number of rounded up

batch sizesFor ðj¼ 1; jrz; j¼ jþ1Þ

nIi;j ¼ ⌈nR

i;j⌉; // round up the size of thefirst z batches

EndforFor ðj¼ zþ1; jrKx; j¼ jþ1Þ

nIi;j ¼ bnR

i;jc // round down the size of thelast Kx�z batches

EndforStop

Running time: the total computational effort required for roundingthe total load on the machines (Step 1) requires OðmÞ time. Thenumber of batches per machine is ðOð ffiffiffi

np ÞÞ. Since each rounding is

performed in constant time, the total effort of Steps 2 and 3 isðOðm ffiffiffi

np ÞÞ. Therefore, the total running time of the entire proce-

dure is Oðm ffiffiffin

p Þ. Clearly, for a given m value, the total running timeas a function of the number of jobs remains Oð ffiffiffi

np Þ. As mentioned

in Section 5, this running time is not polynomial in the input size,which consists in this case of five values: of n; m; p; s and c.

In Appendix C, we provide two numerical examples thatdemonstrate the solution procedures (including rounding) of Pro-blems P3 and P4.

7.4. Numerical tests

As in the single machine case, we carried out numerical tests inorder to measure the performance of our proposed rounding proce-dure for the setting of parallel machines. For m¼ 3 and m¼ 5, wegenerated instances of three different sizes: n¼ 500; 750 and 1000.

As before, the setup times were generated uniformly in one ofthe following intervals: 1; 5½ �, 1; 10½ � and 1; 15½ �. For Problem P3,the compression cost per unit ðcÞ was generated uniformly in theinterval ½50; 150�. For Problem P4, the maximum compression wasgenerated uniformly in the interval ½50; 75�, such that Uon. For eachcombination of m; n; s and c (for P3), 50 instances were generatedand solved. Similarly, for each combination of n; s and U (for P4), 50instances were generated and solved.

We report the average optimality gaps and the worst cases inTables 3 and 4. Similar to the numerical tests of the single machinecase, Tables 3 and 4 reflect again the accuracy of the roundingprocedure: for m¼ 3, the average optimality gap did not exceed1.000048 in Table 3, and 1.000060 in Table 4. Form¼ 5, the averageoptimality gap did not exceed 1.000088 in Table 3, and 1.000161 inTable 4. As before, all problems were solved in fractions of a second.

8. Conclusion

We studied a model combining batch scheduling of identical jobsand controllable processing time. In the first problem solved, weminimize the sum of the total flowtime and the compression cost.In the second problemweminimized the total flowtime subject to an

Table 3Problem P3—average and worst case optimality gaps.

m n s Average optimality gap Worst case

3 500 [1,5] 1.0000478 1.0001040750 1.0000320 1.00006711000 1.0000227 1.0000472500 [1,10] 1.0000402 1.0001085750 1.0000243 1.00005971000 1.0000184 1.0000492500 [1,15] 1.0000373 1.0001040750 1.0000209 1.00005271000 1.0000169 1.0000452

5 500 [1,5] 1.0000884 1.0001950750 1.0000600 1.00012891000 1.0000432 1.0000800500 [1,10] 1.0000676 1.0001518750 1.0000434 1.00010531000 1.0000324 1.0000746500 [1,15] 1.0000546 1.0001831750 1.0000367 1.00012421000 1.0000290 1.0000757

Table 4Problem P4—average and worst case optimality gaps.

m n s Average optimality gap Worst case

3 500 [1,5] 1.0000604 1.0001030750 1.0000325 1.00005851000 1.0000212 1.0000405500 [1,10] 1.0000462 1.0000862750 1.0000244 1.00006101000 1.0000140 1.0000398500 [1,15] 1.0000416 1.0000941750 1.0000211 1.00005051000 1.0000144 1.0000297

5 500 [1,5] 1.0001614 1.0002593750 1.0000748 1.00013711000 1.0000458 1.0000867500 [1,10] 1.0001073 1.0002598750 1.0000504 1.00013081000 1.0000354 1.0000865500 [1,15] 1.0000950 1.0002598750 1.0000444 1.00012641000 1.0000256 1.0000594

B. Mor, G. Mosheiov / Computers & Operations Research 41 (2014) 115–124 121

Page 8: Batch scheduling of identical jobs with controllable processing times

upper bound on the maximum compression. Both settings of a singlemachine and of parallel identical machines are considered. In allcases, we introduced an optimal solution for the relaxed version, andproposed and tested numerically a simple rounding procedure. For agiven number of machines, the total running time was shown to beOð ffiffiffi

np Þ. We note again that our proposed algorithms are not poly-

nomial in the input size. The actual complexity of the problemsaddressed in this paper is still open. A possible interesting extensionof the model studied here is to a (convex) non-linear compressioncost function; see e.g. Shabtay and Steiner [3]. However, this differentunderlying assumption will clearly lead to significant changes in theresults introduced in our paper. Specifically, the unique structure ofthe optimal sequence of batch sizes (a decreasing arithmeticsequence) is not valid any more. Hence, a different approach seemsto be required. Other challenging possible extensions are either to (i)batch-dependent or machine-dependent setup times, or to (ii)parallel uniform machines.

Acknowledgement

This paper was supported in part by The Charles Rosen Chair ofManagement and the Recanati Fund of The School of BusinessAdministration, The Hebrew University, Jerusalem, Israel.

Appendix A. Solution of Problem P3

In the following we introduce a formal solution for the problemof minimizing the sum of the total flowtime and the compressioncost on parallel identical machines. The objective function f 3 (37)is a quadratic convex function of the batch sizes. As in Section 3,we apply KKT conditions, and the Lagrangian is

L¼ f 3�λ ∑m

i ¼ 1∑Ki

j ¼ 1ni;jþNC�n

!:

The optimal solution must satisfy the following:

∂L∂nj

¼ ni;jþ ∑Ki

j ¼ 1ni;jþ js�λ¼ 0; i¼ 1;…;m; j¼ 1;…;Ki: ðA1Þ

∂L∂NC

¼ c�λ¼ 0: ðA2Þ

λ ∑m

i ¼ 1∑Ki

j ¼ 1ni;jþNc�n

!¼ 0: ðA3Þ

ni;jZ0; i¼ 1;…;m; j¼ 1;…;Ki: ðA4Þ

NcZ0: ðA5ÞFrom (A2), we have

λ¼ c: ðA6ÞThe batch sizes on each machine follow a decreasing arithmetic

sequence, see (A1)

ni;j ¼ ni;1�ðj�1Þs; i¼ 1;…;m; j¼ 2;…;Ki: ðA7ÞThe sum of each of these arithmetic sequences is given by

∑Ki

j ¼ 1ni;j ¼

Ki

2ð2ni;1� ðKi�1ÞsÞ ¼ Kini;1�

12sKiðKi�1Þ; i¼ 1;…;m:

ðA8ÞFrom (A1) (for all j¼ 1) and from (A6)

∑Ki

j ¼ 1ni;j ¼ λ�ni;1�s¼ c�ni;1�s; i¼ 1;…;m: ðA9Þ

Equating (A8) and (A9), and from symmetry considerations weclaim that

ni;1 ¼2cþsðKiðKi�1Þ�2Þ

2ðKiþ1Þ ; i¼ 1;…;m: ðA10Þ

The last term in the sequence must be strictly positive, implyingthat

ni;Ki¼ ni;1�ðKi�1Þs40; i¼ 1;…;m: ðA11Þ

Substituting ni;1 (A10) in (A11), we get: sK2i þsKi�2co0;

i¼ 1;…;m.The largest positive value of Ki; i¼ 1;…;m that satisfies this

inequality is

Ki ¼ffiffiffiffiffiffiffiffiffiffiffiffiffi14þ2c

s

r�12

$ %; i¼ 1;…;m: ðA12Þ

[Note that Comment 1 (Section 3) is still relevant: the cases of avery small compression cost and of a very high setup cost whichlead to zero batches are not realistic, and may be avoided byadding an additional constraint on the minimal batch size, or thenumber of batches, or the maximum compression].

We conclude that the following KKT conditions are satisfied:(i) condition (A1) (due to (A6) and (A7)); (ii) condition (A2) (due to(A6)); (iii) condition (A4) (due to (A11)). Since λ¼ c40, in order tosatisfy (A3), we must have ∑m

i ¼ 1∑Kij ¼ 1ni;jþNc�n¼ 0. Thus, (A5) is

guaranteed only when NC ¼ n�∑mi ¼ 1∑

Kij ¼ 1ni;jZ0. Since the

sequences on all the machines are identical, the latter becomes

Nc ¼ n�m∑K1j ¼ 1n1;jZ0: ðA13Þ

Appendix B. Solution of Problem P4

We provide here the solution for the problem of minimizing thetotal flowtime subject to a bound on the maximum compression onparallel identical machines. The objective function is given in (43),and the Lagrangian is L¼ f 4þνðn�∑m

i ¼ 1∑Kij ¼ 1ni;j�UÞ, where ν is

the Lagrange multiplier. Based on KKT, the optimality conditions are

∂L∂nj

¼ ni;jþ ∑Ki

j ¼ 1ni;jþ js�ν¼ 0; i¼ 1;…;m; j¼ 1;…;Ki: ðB1Þ

ν n� ∑m

i ¼ 1∑Ki

j ¼ 1ni;j�U

!¼ 0: ðB2Þ

n� ∑m

i ¼ 1∑Ki

j ¼ 1ni;j�Ur0: ðB3Þ

ni;jZ0; i¼ 1;…;m; j¼ 1;…;Ki: ðB4Þ

νZ0: ðB5ÞFrom (B1) we conclude that

ni;j ¼ ni;1�ðj�1Þs; i¼ 1;…;m; j¼ 2;…;Ki: ðB6Þ

The sums of these decreasing arithmetic sequences are

∑Ki

j ¼ 1ni;j ¼

Ki

2ð2ni;1� ðKi�1ÞsÞ ¼ Kin1�

12sKiðKi�1Þ; i¼ 1;…;m:

ðB7ÞFrom (B1) and (B4) and since s40 (by definition)

ν¼ ni;1þ ∑m

j ¼ 1njþs40; i¼ 1;…;m ðB8Þ

B. Mor, G. Mosheiov / Computers & Operations Research 41 (2014) 115–124122

Page 9: Batch scheduling of identical jobs with controllable processing times

It follows from (B2)

U ¼ n� ∑m

i ¼ 1∑Ki

j ¼ 1ni;j ðB9Þ

Equating (B7) and (B9)

∑m

i ¼ 1∑Ki

j ¼ 1ni;j ¼ ∑

m

i ¼ 1ðKini;1�1=2 sKiðKi�1ÞÞ ¼ n�U:

Again, from symmetry considerations, we get

ni;1 ¼ðn�UÞmnKi

þ12sðKi�1Þ: ðB10Þ

We are interested only in sequences with strictly positiveterms, thus the last term of each sequence must be positive:

nKi¼ ni;1�ðKi�1Þs40; i¼ 1;…;m ðB11Þ

After substituting n1 (from (B10)) and rearranging terms

msK2i �msKi�2ðn�UÞo0; i¼ 1;…;m: ðB12Þ

The largest value of Ki that satisfies (B12) is

Ki ¼ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi14þ2 n�Uð Þ

ms

rþ12

$ %; i¼ 1;…;m: ðB13Þ

[Note that since the sequences on all machines are identical,constraint (B3) can written as n�∑m

i ¼ 1∑Kij ¼ 1ni;j ¼ n�m∑Kn

j ¼ 1n1;jrU.] The optimal solution is given in (44)–(47).

Appendix C. Numerical examples for Problems P3 and P4

The appendix contains two numerical examples that follow thesolution procedures for Problems P3 and P4.

Example 3. Problem P3Data: m¼ 3; n¼ 560; s¼ 7.

Case 1. c ¼ 145.

The relaxed version solution:First we check whether the optimality condition (A13) is

satisfied.From Eqs. (A9)–(A13), for i¼ 1; 2; 3

Ki ¼ffiffiffiffiffiffiffiffiffiffiffiffiffi14þ2c

s

r�12

$ %¼ 5;ni;1 ¼

2cþsðKiðKi�1Þ�2Þ2ðKiþ1Þ ¼ 34:667;

∑Ki

j ¼ 1ni;j ¼ c�ni;1�s¼ 145�ð34:667þ7Þ ¼ 103:333;

Thus Nc ¼ n�m∑Kij ¼ 1ni;j ¼ 560�3n103:333¼ 250:040, and condi-

tion (A13) holds.We conclude that the proposed solution is feasible under KKT,

and thus the optimal number of batches and the batch sizes givenin (38)–(41) for i¼ 1;…;3, are

Kn

i ¼ 5;nn

i;1 ¼ 34:667;

From (A7): nn

i;j ¼ nn

i;1�ðj�1Þs; j¼ 2;…;5; i¼ 1;…;3;nn

i;2 ¼ 27:667, nn

i;3 ¼ 20:667, nn

i;4 ¼ 13:667, and nn

i;5 ¼ 6:667:The total cost is given by (41)

ð∑CþcNcÞn ¼m12

∑Kn

j ¼ 1ðnn

1;jÞ2þ12

∑Kn

j ¼ 1nn

1;j

!2

þs ∑Kn

j ¼ 1jnn

1;j

24

35

þcNc ¼ 61245:0:

The integer solution:Applying the proposed rounding procedure (Section 3), we get

Δ1 ¼ ∑Ki

j ¼ 1ni;j� ∑

Ki

j ¼ 1ni;j

$ %¼ 103:333�103¼ 0:333:

x¼mnΔ1 ¼ 1, implying that the total load on the first machine is

nðxÞ ¼ ∑Kij ¼ 1ni;j

l m¼ 104, and on the second and third machine is

nðm�xÞ ¼ ∑Kij ¼ 1ni;j

j k¼ 103.

First we solve the relaxed version for machine 1 (with total loadof 104). The number of batches on this machine is

Kx ¼ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi14þ2 n xð Þ

s

rþ12

$ %¼ 5:

The first term in this sequence (i.e. the size of the first batch)

nRi;1 ¼

nðxÞKx

þ12sðKx�1Þ ¼ 34:80;

Δ2 ¼ nRi;1� nR

i;1

j k¼ 0:80; y¼ KxΔ2 ¼ 4; implying that the first four

terms are rounded up, and the last term is rounded down.The integer batch sizes are: nI

1;1 ¼ 35:0, nI1;2 ¼ 28:0, nI

1;3 ¼ 21:0,nI1;4 ¼ 14:0 and nI

1;5 ¼ 6:0.For machines 2 and 3 (with total load of 103)

Km�x ¼ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi14þ2 nðm�xÞ

s

rþ12

$ %¼ 5:

nRi;1 ¼

nðm�xÞKm�x

þ12sðKm�x�1Þ ¼ 34:60;

Δ3 ¼ n3;1� n3;1� �¼ 0:60;

z¼ Km�xΔ3 ¼ 3; implying that the first three terms are rounded up,and the last two terms are rounded down. The resulting (integer)sequence is

nIi;1 ¼ 35:0, nI

i;2 ¼ 28:0, nIi;3 ¼ 21:0, nI

i;4 ¼ 13:0 and nIi;5 ¼ 6:0.

The total flowtime becomes: ð∑CÞI ¼ 61;247:0. The optimalitygap: ð∑CþcNcÞI=ð∑CþcNcÞn ¼ 1:0000327:

Note that for m¼ 5, NC ¼ 43:333, and for m¼ 6, we obtainNc ¼�60:0, implying that

(i) The above solution (number of batches and size of batches) isoptimal for 2rmr5.

(ii) For mZ6 the optimal solution contains no compression, andcan be found by the procedure introduced in Mor and Mosh-eiov [30].

Case 2. c ¼ 256.

For the relaxed version: Ki ¼ 8; ni;1 ¼ 49:444; ∑Kij ¼ 1nj ¼

199:552, i¼ 1;…;3.Checking the optimality condition (A14), we obtain, Nc ¼�

38:667o0.It follows that compression of batch processing times is not

recommended (never optimal due to the very high compressioncost), and the optimal solution is found without compression (again,according to the procedure proposed in Mor and Mosheiov [30]).

Example 4. Problem P4.Data: n¼ 515; s¼ 4; U ¼ 57. (Note that U ¼ 57on¼ 515, as

required).

Case 1. m ¼ 3.

B. Mor, G. Mosheiov / Computers & Operations Research 41 (2014) 115–124 123

Page 10: Batch scheduling of identical jobs with controllable processing times

The relaxed version solution:From (44)–(47), we obtain the following:

Kn

i ¼ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi14þ2ðn�UÞ

ms

rþ12

$ %¼ 9; i¼ 1;…;3:

nn

i;1 ¼ðn�UÞmKn

iþ12sðKn

i �1Þ ¼ 32:9630; i¼ 1;…;3:

nn

i;j ¼ nn

i;1�ðj�1Þs; j¼ 2;…;9; i¼ 1;…;3 : nn

i;2 ¼ 28:9630;

nn

i;3 ¼ 24:9630;

nn

i;4 ¼ 20:9630; nn

i;5 ¼ 16:9630; nn

i;6 ¼ 12:9630;

nn

i;7 ¼ 8:9630; nn

i;8 ¼ 4:9630; nn

i;9 ¼ 0:9630:

ð∑CÞn ¼m12

∑Kn

j ¼ 1ðnn

1;jÞ2þ12

∑Kn

j ¼ 1nn

1;j

!2

þs ∑Kn

j ¼ 1jnn

1;j

24

35¼ 46;565:1953:

The integer solution:

For; i¼ 1;2 : Ki ¼ 9; nIi;1 ¼ 33; nI

i;2 ¼ 29; nIi;3 ¼ 25; nI

i;4 ¼ 21;

nIi;5 ¼ 17; nI

i;6 ¼ 13; nIi;7 ¼ 9; nI

i;8 ¼ 5; nIi;9 ¼ 1:

For; i¼ 3 : K3 ¼ 8; nI3;1 ¼ 33; nI

3;2 ¼ 29; nI3;3 ¼ 25; nI

3;4 ¼ 21;

nI3;5 ¼ 17; nI

3;6 ¼ 13; nI3;7 ¼ 9; nI

3;8 ¼ 5:

Note that U ¼ 57Z n� ∑2

i ¼ 1∑Ki

j ¼ 1ni;j� ∑

Ki

j ¼ 1n3;j ¼ 515�306�152¼ 57:

The resulting flowtime is: ð∑CÞI ¼ 46566:0. The optimality gap:ð∑CÞI=ð∑CÞn ¼ 1:000017:

Case 2. m ¼ 5.

The relaxed version solution:

For i¼ 1;…;5 : Kn

i ¼ 7; nn

i;1 ¼ 25:0857; nn

i;2 ¼ 21:0857;nn

i;3 ¼ 17:0857; nn

i;4 ¼ 13:0857; nn

i;5 ¼ 9:0857;

nn

i;6 ¼ 5:0857; nn

i;7 ¼ 1:0857: ð∑CÞn ¼ 30181:0332:

The integer solution:

For i¼ 1;2;3 : Ki ¼ 7; nIi;1 ¼ 26; nI

i;2 ¼ 21; nIi;3 ¼ 17;

nIi;4 ¼ 13; nI

i;5 ¼ 9; nIi;6 ¼ 5; nI

i;7 ¼ 1:

For i¼ 4;5 : Ki ¼ 7; nIi;1 ¼ 25; nI

i;2 ¼ 21; nIi;3 ¼ 17; nI

i;4 ¼ 13;

nIi;5 ¼ 9; nI

i;6 ¼ 5; nIi;7 ¼ 1:

Thus; U ¼ 57Zn� ∑2

i ¼ 1∑Ki

j ¼ 1ni;j� ∑

5

i ¼ 4∑Ki

j ¼ 1ni;j ¼ 57:

The resulting flowtime is: ð∑CÞI ¼ 30183:0. The optimality gap:ð∑CÞI=ð∑CÞn ¼ 1:000065:

References

[1] Vickson RG. Choosing the job sequence and processing times to minimizetotal processing plus flow cost on a single machine. Operations Research1980;28:1155–67.

[2] Vickson RG . Two single machine sequencing problems involving controllablejob processing times. AIIE Transactions 1980;12:258–62.

[3] Shabtay D, Steiner G. A survey of scheduling with controllable processingtimes. Discrete Applied Mathematics 2007;155:1643–66.

[4] Van Wassenhove LN, Baker KR. A bicriterion approach to time/cost trade-offsin sequencing. European Journal of Operational Research 1982;11:48–54.

[5] Nowicki E, Zdrzałka S. Scheduling jobs with controllable processing times asan optimal control problem. International Journal of Control 1984;39:839–48.

[6] Janiak A, Kovalyov MY. Single machine scheduling subject to deadlines andresource dependent processing times. European Journal of OperationalResearch 1996;94:284–91.

[7] Wan G, Yen B P-C, Li C-L. Single machine scheduling to minimize totalcompression plus weighted flow cost is NP-hard. Information ProcessingLetters 2001;79:273–80.

[8] Hoogeveen H, Woeginger GJ. Some comments on sequencing with control-lable processing times. Journal of Computing 2002;68:181–92.

[9] Janiak A, Kovalyov MY, Kubiak W, Werner F. Positive half-products andscheduling with controllable processing times. European Journal of Opera-tional Research 2005;165:416–22.

[10] Shakhlevich NV, Strusevich VA. Pre-emptive scheduling problems with con-trollable processing times. Journal of Scheduling 2005;8:233–53.

[11] Wang J-B. Single machine common flow allowance scheduling with controllableprocessing times. Journal of Applied Mathematics and Computing 2006;21:249–57.

[12] Akturk MS, Ghosh JB, Kayan RK. Scheduling with tool changes to minimizetotal completion time under controllable machining conditions. Computers &Operations Research 2007;34:2130–46.

[13] Wang J-B, Xia Z-Q. Single machine scheduling problems with controllableprocessing times and total absolute differences penalties. European Journal ofOperational Research 2007;177:638–45.

[14] Tseng CT, Liao C-J, Huang K-L. Minimizing total tardiness on a single machine withcontrollable processing times. Computers & Operations Research 2009;36:1852–8.

[15] Turkcan A, Akturk MS, Storer RH. Predictive/reactive scheduling with con-trollable processing times and earliness-tardiness penalties. IIE Transactions2009;41:1080–95.

[16] Shakhlevich NV, Shioura A, Strusevich VA. Single machine scheduling withcontrollable processing times by submodular optimization. InternationalJournal of Foundations of Computer Science 2009;20:247–69.

[17] Shabtay D, Itskovich Y, Yedidsion L, Oron D. Optimal due date assignment andresource allocation in a group technology scheduling environment. Computers& Operations Research 2010;37:2218–28.

[18] Gurel S, Korpeoglu E, Akturk MS. An anticipative scheduling approach withcontrollable processing times. Computers and Operations Research2010;37:1002–13.

[19] Wan G, Vakati SR, Leung J Y-T, Pinedo M. Scheduling two agents withcontrollable processing times. European Journal of Operational Research2010;205:528–39.

[20] Choi B-C, Leung Y-T, Pinedo ML. Complexity of a scheduling problem withcontrollable processing times. Operations Research Letters 2010;38:123–6.

[21] Leyvand Y, Shabtay D, Steiner G, Yedidsion L. Just-in-time scheduling withcontrollable processing times on parallel machines. Journal of CombinatorialOptimization 2010;19:347–68.

[22] Yin N, Wang X-Y. Single machine scheduling with controllable processingtimes and learning effect. International Journal of Advanced ManufacturingTechnology 2011;54:743–8.

[23] Wang J-B, Wang M-Z. Single-machine scheduling to minimize total convexresource consumption with a constraint on total weighted flow time.Computers & Operations Research 2012;39:492–7.

[24 ] Wei C-M, Wang J-B, Ji P. Single-machine scheduling with time-and-resource-dependent processing times. Applied Mathematical Modelling 2012;62:792–8.

[25] Uruk Z, Gultekin H, Akturk MS. Two-machine flowshop scheduling withflexible operations and controllable processing times. Computers & Opera-tions Research 2013;40:639–53.

[26 ] Wang X-R, Wang J-J. Single-machine scheduling with convex resourcedependent processing times and deteriorating jobs. Applied MathematicalModelling 2013;37:2388–93.

[27] Santos C. Magazine M. Batching in single operation manufacturing systems.Operations Research Letters 1985;4:99–103.

[28] Dobson G, Karmarkar UD, Rummel JL. Batching to minimize flow times onparallel heterogeneous machines. Management Science 1989;35:607–13.

[29] Naddef D, Santos C. One-pass batching algorithms for the one-machineproblem. Discrete Applied Mathematics 1988;21:133–45.

[30] Coffman ED, Nozari A, Yannakakis M. Optimal scheduling of products withtwo subassemblies on single machine. Operations Research 1989;37:426–36.

[31] Shallcross DFA. Polynomial algorithm for a one machine batching problem.Operations Research Letters 1992;11:213–8.

[32] Mosheiov G, Oron D, Ritov Y. Minimizing flow-time on a single machine withinteger batch sizes. Operations Research Letters 2005; 33 2005:497–501.

[33] Allahverdi A, Ng CT, Cheng TCE, Kovalyov MY. A survey of schedulingproblems with setup times or costs. European Journal of Operational Research2008;187:985–1032.

[34] Mor B, Mosheiov G. Batch scheduling of identical jobs on parallel identicalmachines. Information Processing Letters 2012;112:762–6.

B. Mor, G. Mosheiov / Computers & Operations Research 41 (2014) 115–124124


Recommended