9
Discrete Optimization Single machine batch scheduling with jointly compressible setup and processing times C.T. Daniel Ng a , T.C. Edwin Cheng a , Mikhail Y. Kovalyov b, * a Department of Management, The Hong Kong Polytechnic University, Hung Hom, Kowloon, Hong Kong b Faculty of Economics, Belarus State University, ul. K. Marxa 31, room 70, 220050 Minsk, Belarus Received 7 March 2002; accepted 20 September 2002 Abstract A single machine batch scheduling problem is addressed. A batch is a set of jobs processed contiguously and com- pleted together when the processing of all jobs in the batch is finished. Processing of a batch requires a machine setup time common for all batches. Two external resources can be used to linearly compress setup and job processing times. The setup times are jointly compressible by one resource and the job processing times are jointly compressible by another resource, i.e., the amount of resource consumption for setup time compression is the same for all setups and the amount of resource consumption for job processing time compression is the same for all jobs. Polynomial time algorithms are presented to find an optimal batch sequence and optimal amounts of resource consumption such that either total job completion time is minimized, subject to an upper bound on total weighted resource consumption, or total weighted resource consumption is minimized, subject to an upper bound on total job completion time. The algorithms are based on results from linear programming and from batch scheduling with fixed setup and processing times. Ó 2002 Elsevier B.V. All rights reserved. Keywords: Scheduling; Single machine; Batching; Compressible setup and processing times 1. Introduction The problem of batching and scheduling n jobs on a single machine is studied. Jobs assigned to the same batch are processed contiguously and are completed together upon the completion of the last job in the batch. The batch processing time is equal to the sum of the processing times of its jobs. A common machine setup time precedes the pro- cessing of each batch. The processing times of the jobs can be jointly compressed through the allocation of a same amount of a resource to them. The setup times can also be jointly compressed by using the same or another resource. The resources are assumed to be continuously divisible and the corresponding de- pendency functions are assumed to be linearly decreasing. The objective is to find values of the resources and a batch schedule so as to minimize total job completion time, subject to an upper bound on total weighted resource consumption (problem * Corresponding author. Tel.: +375-17-2842125; fax: +375- 17-2318403. E-mail addresses: [email protected] (C.T.D. Ng), [email protected] (T.C.E. Cheng), [email protected] net.by (M.Y. Kovalyov). 0377-2217/$ - see front matter Ó 2002 Elsevier B.V. All rights reserved. doi:10.1016/S0377-2217(02)00732-4 European Journal of Operational Research 153 (2004) 211–219 www.elsevier.com/locate/dsw

Single machine batch scheduling with jointly compressible setup and processing times

Embed Size (px)

Citation preview

Page 1: Single machine batch scheduling with jointly compressible setup and processing times

European Journal of Operational Research 153 (2004) 211–219

www.elsevier.com/locate/dsw

Discrete Optimization

Single machine batch scheduling with jointlycompressible setup and processing times

C.T. Daniel Ng a, T.C. Edwin Cheng a, Mikhail Y. Kovalyov b,*

a Department of Management, The Hong Kong Polytechnic University, Hung Hom, Kowloon, Hong Kongb Faculty of Economics, Belarus State University, ul. K. Marxa 31, room 70, 220050 Minsk, Belarus

Received 7 March 2002; accepted 20 September 2002

Abstract

A single machine batch scheduling problem is addressed. A batch is a set of jobs processed contiguously and com-

pleted together when the processing of all jobs in the batch is finished. Processing of a batch requires a machine setup time

common for all batches. Two external resources can be used to linearly compress setup and job processing times. The

setup times are jointly compressible by one resource and the job processing times are jointly compressible by another

resource, i.e., the amount of resource consumption for setup time compression is the same for all setups and the amount

of resource consumption for job processing time compression is the same for all jobs. Polynomial time algorithms are

presented to find an optimal batch sequence and optimal amounts of resource consumption such that either total job

completion time is minimized, subject to an upper bound on total weighted resource consumption, or total weighted

resource consumption is minimized, subject to an upper bound on total job completion time. The algorithms are

based on results from linear programming and from batch scheduling with fixed setup and processing times.

� 2002 Elsevier B.V. All rights reserved.

Keywords: Scheduling; Single machine; Batching; Compressible setup and processing times

1. Introduction

The problem of batching and scheduling n jobs

on a single machine is studied. Jobs assigned to thesame batch are processed contiguously and are

completed together upon the completion of the

last job in the batch. The batch processing time is

equal to the sum of the processing times of its jobs.

* Corresponding author. Tel.: +375-17-2842125; fax: +375-

17-2318403.

E-mail addresses: [email protected] (C.T.D. Ng),

[email protected] (T.C.E. Cheng), [email protected]

net.by (M.Y. Kovalyov).

0377-2217/$ - see front matter � 2002 Elsevier B.V. All rights reserv

doi:10.1016/S0377-2217(02)00732-4

A common machine setup time precedes the pro-

cessing of each batch.

The processing times of the jobs can be jointly

compressed through the allocation of a sameamount of a resource to them. The setup times can

also be jointly compressed by using the same or

another resource. The resources are assumed to be

continuously divisible and the corresponding de-

pendency functions are assumed to be linearly

decreasing.

The objective is to find values of the resources

and a batch schedule so as to minimize total jobcompletion time, subject to an upper bound on

total weighted resource consumption (problem

ed.

Page 2: Single machine batch scheduling with jointly compressible setup and processing times

212 C.T.D. Ng et al. / European Journal of Operational Research 153 (2004) 211–219

TC) or to minimize total weighted resource con-

sumption, subject to an upper bound on total job

completion time (problem ITC).

Biskup and Jahnke [3] give the following ex-

amples where job processing times are jointlycompressible. In steel production, a furnace is

heated to a specific temperature every day before

the processing of an order of ingots (jobs) starts. It

is not beneficial to change the temperature for

every single job. A higher temperature reduces the

processing time of the jobs but incurs a higher fuel

consumption cost. A similar situation is observed

for a machine on which some tools have to beperiodically changed. When a new tool is installed,

a decision about the production power and energy

consumption of the tool to be used in the coming

time period has to be made. For example, a drill-

ing machine can run with a diamond drill, a high-

or low-quality steel drill. If a diamond drill is set

up, then the jobs can be carried out faster than

with a steel drill while incurring higher costs. An-other example is an assembly line the speed of

which depends on the number of workers and

tools available. It is generally not possible or ad-

vantageous to change the speed of an assembly line

during a shift.

In all of the above situations, the jobs are pro-

cessed on the machine and delivered on comple-

tion in batches. The processing of a batch requiresloading/unloading and the loading/unloading time,

i.e., setup time, depends on the tools used for

performing these operations.

Problems TC and ITC combine scheduling,

batching and resource allocation decisions. Re-

views of batch scheduling are provided by Potts

and Van Wassenhove [18], Webster and Baker

[23], Allahverdi, Gupta and Aldowaisan [2], andPotts and Kovalyov [17]. The batching model

studied in this paper is called the batch availability

model in [17]. The batch availability model applies

to situations where jobs move between the pro-

cessing facilities in containers such as pallets,

boxes or carts.

Scheduling problems with compressible job

processing times are observed in steel production,part manufacturing and project management.

The results on such problems can be found, for

example, in Williams [22], Vickson [20,21], Van

Wassenhove and Baker [19], Janiak [13], Li, Sewell

and Cheng [16], Błazewicz, Ecker, Pesch, Schmidt

and Weglarz [4], Janiak and Kovalyov [14], Cheng,

Oguz and Qi [10], Chen, Lu and Tang [9], Cheng,

Chen, Li and Lin [5], and Biskup and Jahnke [3].Clearly, there are real-life scheduling problems

where batch scheduling and resource allocation

decisions have to be taken simultaneously. We are

only aware of the papers by Cheng and Kovalyov

[6], Cheng, Janiak and Kovalyov [8] and Janiak

and Lichtenstein [15] in which such a problem is

studied. The former two papers consider batch

availability model while Janiak and Lichtensteinconsider the so-called job availability model, in

which each job is completed immediately when its

processing is finished. The quality of a schedule is

evaluated by maximum job lateness in [6,8]. Min-

imizing total job completion time is another im-

portant scheduling criterion aimed to achieve two

purposes: it seeks to minimize work-in-process

inventories and to yield an average earliest jobdelivery to downstream operations. Problems TC

and ITC studied in this paper are concerned with

this criterion.

In the following section, we give formal defini-

tions of problems TC and ITC. Some properties of

the optimal batch sequences for these problems are

established in Section 3. Sections 4 and 5 present

an Oðn3Þ and Oðn3 log PmaxÞ time algorithm forproblem TC and ITC, respectively, which are

based on these properties, where Pmax is the max-

imum numerical parameter of problem ITC. A

numerical example is given in Section 6. The paper

concludes with some remarks, extensions and

suggestions for future research. The Appendix A

contains a description of the set of all shortest

processing time (SPT) sequences of jobs to be de-fined in Section 3.

2. Problem formulation

The problem studied in this paper can be for-

mulated as follows: There are one machine, and nindependent and non-preemptive jobs available forprocessing at time zero. The jobs have to be bat-

ched and sequenced before processing on the ma-

chine. A common machine setup time s precedes

Page 3: Single machine batch scheduling with jointly compressible setup and processing times

C.T.D. Ng et al. / European Journal of Operational Research 153 (2004) 211–219 213

the processing of each batch. The batch avail-

ability model applies to determine job completion

times.

The processing time of job j is a linearly de-

creasing function of an amount x of a continuouslydivisible resource allocated to all jobs:

pj ¼ pjðxÞ ¼ rj � tjx; j ¼ 1; . . . ; n;

where 06 x6 xmax 6 minfðrj � rminÞ=tjjj ¼ 1; . . . ;ng, and rmin > 0 defines the minimum possible job

processing time. Similarly, the setup time is a lin-

early decreasing function of an amount y of the

same or another continuously divisible resourceallocated to all setups:

s ¼ sðyÞ ¼ b� ay;

where 06 y6 ymax ¼ ðb� sminÞ=a, and smin > 0 de-

fines the minimum possible setup time. Thus, the

job processing times and setup times are jointly

compressible.If the same resource is used to compress setup

and processing times, then there is an additio-

nal constraint xþ y6E: Assume that EP max-

fxmax; ymaxg. If xmax > E or ymax > E, then we can

reset xmax ¼ E or ymax ¼ E, respectively, because

the inequalities xþ y6E and x; yP 0 imply

x; y6E:Assume without loss of generality that the re-

sources are the same. The case of different re-

sources can be modeled by setting E ¼ xmax þ ymax.

In this case, xþ y6E is an artificial constraint

which is always satisfied.

A solution specifies the values x and y of the

resource and the job schedule. A schedule specifies

the sequence of jobs and its partition into batches,

i.e., a batch sequence S. Given a solution, jobcompletion times Cj, j ¼ 1; . . . ; n, can be calcu-

lated. The objective is to find a solution such that

total completion time TCðS; x; yÞ ¼Pn

j¼1 Cj is

minimized, subject to an upper bound U on total

weighted resource consumption: wnxþ vky6U .

Here k is the (unknown) number of batches in the

schedule. The coefficients w and v play two roles.

They indicate the relative importance of spendingthe resource on reducing job processing times or

setup times and, in case of different resources,

allow the use of the same measurement unit to

evaluate total resource consumption. All numeri-

cal data are assumed to be positive integer num-

bers. The values x and y can be real numbers.

Below we will show that they can be restricted to

rational numbers.We denote the above problem by TC. We also

consider the corresponding inverse problem de-

noted by ITC that is to minimize wnxþ vky, sub-ject to 06 x6 xmax, 06 y6 ymax, xþ y6E andPn

j¼1 Cj 6 V , where V is an upper bound on total

completion time.

3. Properties of optimal solutions

It is clear that problem TC or problem ITC can

be solved by enumerating all possible numbers of

batches k ¼ 1; . . . ; n. Denote problem TC and

problem ITC with a fixed number of batches k by

TCðkÞ and ITCðkÞ, respectively.We call the batch sequence ðB1; . . . ;BkÞ an SPT-

batch sequence if for any batches Bl and Bm, where

l < m, the inequality pi 6 pj holds for any jobs

i 2 Bl and j 2 Bm.

Lemma 1. Any optimal batch sequence for problemTCðkÞ or for problem ITCðkÞ with optimal resourcevalues ðx�; y�Þ 6¼ ð0; 0Þ is an SPT-batch sequence.

Proof. Consider an optimal batch sequence for

problem TCðkÞ or problem ITCðkÞ. Assume that

batch B precedes batch G, job i 2 B, job j 2 G and

pi > pj. Interchange jobs i and j. The completion

time of batch B decreases and the completion time

of batch G does not change. Hence,Pn

j¼1 Cj de-

creases. It contradicts the optimality of the origi-

nal batch sequence for problem TCðkÞ. As forproblem ITCðkÞ, we obtain

Pnj¼1 Cj < V after the

interchange. Therefore, setup time and/or job

processing times can be increased by decreasing

resource values x� > 0 and/or y� > 0 so thatPnj¼1 Cj ¼ V . In this case, the total weighted re-

source consumption decreases, which also contra-

dicts the optimality of the original solution. �

We call the job sequence ðj1; . . . ; jnÞ an SPTsequence if the jobs are placed in the SPT order

such that pj1 6 � � � 6 pjn .

Page 4: Single machine batch scheduling with jointly compressible setup and processing times

214 C.T.D. Ng et al. / European Journal of Operational Research 153 (2004) 211–219

Lemma 2. There exists an optimal job sequence forproblem TCðkÞ or problem ITCðkÞ that is an SPTsequence.

Proof. Consider an optimal job sequence. The or-

der of jobs in the same batch does not affect the

completion time of the batch. Therefore, these jobs

can be rearranged in the SPT order. The fact that

the jobs of different batches can be rearranged in

the SPT order can be established by applying the

pairwise job interchange technique as in the pre-

vious lemma. �

In the following sections, we present methods

for solving problems TCðkÞ and ITCðkÞ.

Fig. 1. Polygon P is drawn with a double line, T ¼ f�; �; �g.

4. Problem TCðkÞ

ProblemTCðkÞ is tominimizePn

j¼1 Cj, subject to

wnxþ vky6U ; xþ y6E;

06 x6 xmax; 06 y6 ymax: ð1Þ

Let xðkÞ and yðkÞ be the optimal resource values for

this problem.

Assume that Q ¼ ðj1; . . . ; jnÞ is an optimal job

sequence for problem TCðkÞ and its optimal par-tition into k batches is expressed as

fj1; . . . ; jl1g; fjl1þ1; . . . ; jl2g; . . . ; fjlk�1þ1; . . . ; jng:ð2Þ

For such a batch sequence and resource values xand y, calculate

Xnj¼1

Cj ¼Xki¼1

ðli � li�1Þ iðb"

� ayÞ þXlih¼1

ðrjh � tjhxÞ#

¼ K � Lx�My; ð3Þ

where l0 ¼ 0, lk ¼ n,

K ¼Xki¼1

ðli � li�1Þ ib

"þXlih¼1

rjh

#;

L ¼Xki¼1

ðli � li�1ÞXlih¼1

tjh ;

M ¼ aXki¼1

iðli � li�1Þ: ð4Þ

Thus, K, L and M are some positive integer num-

bers dependent on batch sequence and indepen-

dent of x and y.It is easy to see that

Pnj¼1 Cj is minimized when

LxþMy is maximized in the polygon P described

by (1). According to the theory of linear pro-

gramming (see, for example, Dantzig [12]), if (1)

has a solution, then a pair ðxðkÞ; yðkÞÞ that maxi-

mizes LxþMy is a vertex of polygon P for any Land M . Furthermore, since L and M as well as wand v are strictly positive, either ðxðkÞ; yðkÞÞ ¼ðxmax; ymaxÞ or it is an intersection of the lineswnxþ vky ¼ U and xþ y ¼ E, or it is an intersec-

tion of one of these lines with the remaining lines

of the boundary of polygon P. Therefore, regard-

less of batch sequence, ðxðkÞ; yðkÞÞ 2 T , where T is

the set of at most three vertices of polygon P de-

scribed above. An example is given in Fig. 1.

Thus, set T such that jT j6 3 includes all can-

didates for optimal resource values for problemTCðkÞ.

Given ðx; yÞ 2 T , setup time and job processing

times can be calculated: s ¼ b� ay and pj ¼ rj�tjx, j ¼ 1; . . . ; n. Then, by Lemma 2, the SPT se-

quence of jobs is optimal. Let us renumber the jobs

in the SPT order such that p1 6 � � � 6 pn. ProblemTCðkÞ with fixed setup and processing times

reduces to finding a partition of the sequence

Page 5: Single machine batch scheduling with jointly compressible setup and processing times

C.T.D. Ng et al. / European Journal of Operational Research 153 (2004) 211–219 215

ð1; . . . ; nÞ into k batches such thatPn

j¼1 Cj :¼ TCðkÞ

is minimized.

The following dynamic programming algorithm

can be used to find this optimal partition. This

algorithm is a modification of the algorithms byCoffman et al. [11] and Albers and Brucker [1] for

fixed setup and processing times, and an arbitrary

number of batches.

Let F ðj; lÞ denote the minimum value of the

total completion time for schedules containing

jobs j; . . . ; n in l batches, where the schedule startsat time zero with a setup time followed by a batch

that contains job j. The initialization is

F ðnþ 1;0Þ ¼ 0; F ðj; lÞ ¼1; ðj; lÞ 6¼ ðnþ 1;0Þ;and the recursion for l ¼ 1; . . . ; k and j ¼ nþ1� l; n� l; . . . ; 1 is

F ðj; lÞ ¼ mini¼jþ1;...;nþ2�l

F ði; l(

� 1Þ þ ðn� jþ 1Þ

� s

þXi�1

h¼j

ph

!):

The minimization selects a batch fj; . . . ; i� 1g to

insert at the start of the previous schedule con-

taining jobs i; . . . ; n in l� 1 batches. Batchfj; . . . ; i� 1g completes at time sþ

Pi�1

h¼j ph :¼ D,and the processing of the l� 1 batches containing

jobs i; . . . ; n is delayed by D as a result of the in-

sertion. The optimal value for TCðkÞ is then equal

to F ð1; kÞ.With the most natural implementation, the

computational complexity of the algorithm is

Oðn2kÞ. However, using the results of Coffmanet al. [11] and Albers and Brucker [1], the above

recursion equations can be solved in OðnÞ time for

a fixed number of batches l. The main idea is to

initiate and maintain a queue of the best candi-

dates for the last job of the first batch in the

constructed partial schedules with l batches. Thisavoids taking the minimum for i ¼ jþ 1; . . . ;nþ 2� l in the recursion equation. The queue canbe initiated and maintained in OðnÞ time. The de-

tails can be found in [1,11]. We start with l ¼ 1.

After F ðj; l� 1Þ are calculated for j ¼ nþ 2� l;nþ 1� l; . . . ; 1 (in OðnÞ time), we pass to calcu-

lating F ðj; lÞ for j ¼ nþ 1� l; n� l; . . . ; 1. Calcu-lations stop at l ¼ k.

Thus, all problems TCðkÞ and, therefore, prob-lem TC can be solved in Oðn

Pnk¼1 kÞ ¼ Oðn3Þ

time.

5. Problem ITCðkÞ

Given an optimal batch sequence described

by (2), rewritePn

j¼1 Cj 6 V as K � Lx�My6 V ,where K, L and M are positive integer numbers

dependent on batch sequence and independent of xand y, see (4). Then problem ITCðkÞ is to minimize

wnxþ vky, subject to LxþMyPK � V , xþ y6E,06 x6 xmax and 06 y6 ymax.

A bisection search in the range of the objective

function values can be used to solve this problem.

Again, let xðkÞ and yðkÞ denote the optimal resource

values and ITCðkÞ ¼ wnxðkÞ þ vkyðkÞ. It is clear that

06 ITCðkÞ6wnxmax þ vkymax:

Observe that either ðxðkÞ; yðkÞÞ is equal to ð0; 0Þ orit is an intersection of the line LxþMy ¼ K � Vwith the boundary of the polygon described byxþ y6E, 06 x6 xmax and 06 y6 ymax. Therefore,

ITCðkÞ is a positive rational number, the divisor of

which does not exceed maxfL;Mg. From (4), we

obtain that this divisor does not exceed max

fnPn

j¼1 tj; n2ag :¼ D.

In each iteration of the bisection search, for a

trial value z of the objective function wnxþ vky,the following problem is solved:

Maximize LxþMy; ð5Þ

subject to

wnxþ vky6 z; xþ y6E;

06 x6 xmax; 06 y6 ymax: ð6Þ

If problem (5), subject to (6), has a solution with

value LxþMyPK � V , then ITCðkÞ6 z. Other-

wise, ITCðkÞ > z. For each of these two mutually

exclusive cases, we obtain a new trial value by

partitioning an interval for ITCðkÞ on the left (first

case) or on the right (second case) of the current

trial value z. The bisection search stops when the

interval to be partitioned is less then 1=D. There-fore, the number of iterations does not exceed

OðlogDþ logðwnxmax þ vkymaxÞÞ.

Page 6: Single machine batch scheduling with jointly compressible setup and processing times

216 C.T.D. Ng et al. / European Journal of Operational Research 153 (2004) 211–219

Let z0 be the smallest number such that prob-

lem (5), subject to (6), has a solution with value

LxþMyPK � V for z ¼ z0. It is clear that

ITCðkÞ ¼ z0 and the corresponding point ðxðkÞ; yðkÞÞis a solution to problem ITCðkÞ.

An algorithm for solving problem (5), subject to

(6), is presented in Section 4. It runs in OðnkÞ time.

Therefore, problem ITCðkÞ can be solved in

Oðnk log PmaxÞ time and problem ITC can be solved

in Oðn3 log PmaxÞ time, where Pmax is the maximum

numerical parameter of problem ITC.

6. A numerical example

Consider the problem with four jobs. The setup

time is given by

s ¼ 40� 5y;

and the job processing times are given by

p1 ¼ 10� x; p2 ¼ 28� 2x; p3 ¼ 36� 3x;

p4 ¼ 12� 2x:

Resource constraints are

06 x6 5; 06 y6 7; xþ y6 10: ð7Þ

In problem TC, we would like to minimize total

job completion time, subject to the upper bound

on total weighted resource consumption:P

Cj !min, subject to (7) and 12xþ 3ky6 72, where k is

the unknown number of batches.

In problem ITC, we would like to minimize

total weighted resource consumption, subject tothe upper bound on total job completion time:

12xþ 3ky ! min, subject to (7) andP

Cj 6 180.

Let us start with problem TC.

(1) k ¼ 1. Observe that in this case all jobs com-

plete at the same time and we haveP

Cj ¼504� 32x� 20y for all job sequences. The

restriction on total weighted resource con-sumption reduces to 12xþ 3y6 72. Therefore,

the candidates for the optimal resource values

are ð3; 7Þ; ð14=3; 16=3Þ and ð5; 4Þ. The minimalPCj value is equal to 248 for ðx; yÞ ¼ ð14=3;

16=3Þ.(2) k ¼ 2. We have 12xþ 3ky ¼ 12xþ 6y6 72

and the candidates for the optimal resource

values are ð2:5; 7Þ and ð5; 2Þ. Consider the pairðx; yÞ ¼ ð2:5; 7Þ. Calculates ¼ 5; p1 ¼ 7:5; p2 ¼ 23; p3 ¼ 28:5;

p4 ¼ 7:

The SPT sequence is ð4; 1; 2; 3Þ. The best par-

tition of this sequence into two batches is given

by f4; 1g, f2; 3g. The minimalP

Cj value is

equal to 191. The pair ðx; yÞ ¼ ð5; 2Þ leads to a

larger objective function value.

(3) k ¼ 3; 4. In these cases, the candidates for theoptimal resource values are ð3=4; 7Þ, ð5; 4=3Þfor k ¼ 3 and ð5; 1Þ, ð0; 6Þ for k ¼ 4. All solu-

tions are dominated by the optimal solution

for k ¼ 2.

Thus, the minimalP

Cj value for problem TC

is equal to 191 and the optimal solution is

x� ¼ 2:5; y� ¼ 7; S� ¼ ðf4; 1g; f2; 3gÞ:

Now consider problem ITC. For k ¼ 1; 2; 3; 4,perform a bisection search in the range ½0;wnxmaxþvkymax� ¼ ½0; 60þ 21k�. Since D ¼ 80, we may stop

when the interval to be partitioned is 0:01 < 1=80.

Consider k ¼ 2 and the trial value z ¼ 78 for thetotal weighted resource consumption.

The problem of minimizingP

Cj under the re-

strictions (7) and 12xþ 3ky ¼ 12xþ 6y6 78 has

the optimal solution

x0 ¼ 3; y0 ¼ 7; S0 ¼ ðf4; 1g; f2; 3gÞ

with the value ofP

Cj ¼ 180. Therefore, this so-lution is feasible for problem ITC.

Any other k 6¼ 2 or k ¼ 2 together with

12xþ 6y6 77:99 leads to a minimalP

Cj value

greater than 180 or an ITC value greater than 78.

Therefore, ðx0; y0; S0Þ with the value wnxþ vky ¼78 is the optimal solution for problem ITC.

7. Conclusions and extensions

Single machine batch scheduling problems TC

and ITC with jointly compressible setup and pro-

cessing times have been studied. Batches are pro-

cessed under the batch availability assumption. In

Page 7: Single machine batch scheduling with jointly compressible setup and processing times

C.T.D. Ng et al. / European Journal of Operational Research 153 (2004) 211–219 217

problem TC, the objective is to minimize total job

completion time, subject to an upper bound on

total weighted resource consumption. The inverse

problem ITC is to minimize total weighted re-

source consumption, subject to an upper bound ontotal job completion time. The problems are solved

in Oðn3Þ and Oðn3 log PmaxÞ time, respectively. Al-

gorithms are based on results from linear pro-

gramming and from batch scheduling with fixed

setup and processing times.

The results of this paper can be extended to find

an approximation of the set of Pareto-optimal

solutions for the bicriterion problem of minimizingtotal job completion time and total weighted re-

source consumption. A general scheme for con-

structing such a set is given, for example, in Cheng,

Janiak and Kovalyov [7].

It might also be the case that a decision maker

would like to choose a job sequence from a set of

appropriate candidate sequences that are good for

problems TC and ITC. The set of SPT sequencescan play this role because an SPT sequence is op-

timal for problems TC and ITC. This set may in-

clude several sequences because the job processing

times depend on x. For each sequence from this

set, the best choice for the resource values can be

made with respect to total completion time, or

total weighted resource consumption, or their

combination by solving the corresponding linearprogramming problems with two variables in a

manner described above. We show at the Appen-

dix A that there are at most Oðn2Þ distinct feasibleSPT sequences, which can be constructed in

Oðn2 log nÞ time.

Note that batch scheduling problems with total

weighted completion time objective are NP-hard in

the strong sense because they are being so for fixedsetup and processing times, see Albers and Brucker

[1].

Further research can be undertaken to investi-

gate problems in which the setup times and

job processing times may not necessarily be jointly

compressible. In such a problem, resource amounts

x1; . . . ; xn for jobs and, given there are k batches,

resource amounts y1; . . . ; yk for setups have to bedetermined.

If a batch sequence (a job sequence and its

partition into batches) is fixed, then problem TC

or problem ITC with non-uniform resource allo-

cations can be formulated as a linear programming

problem with nþ k variables and 2ðnþ kÞ þ 2

constraints. Effort is being expended on finding a

set of candidates for an optimal batch sequence,which is sufficiently small, for example, of poly-

nomial cardinality.

Another approach to tackle the general prob-

lem with non-uniform resource allocations would

be to determine a set of candidates for optimal

resource values, an analogue of the set T in Section

4. Again, work is under way to identify methods of

restricting this set to include a polynomial numberof elements.

Acknowledgements

This research was supported in part by The

Hong Kong Polytechnic University under grant

number G-T246 and the Research Grant Councilof Hong Kong under grant number PolyU 5191/

01E. M.Y. Kovalyov is also supported by INTAS

under grant number 00-217.

Appendix A. The construction of all SPT sequences

For our purposes, we do not distinguish SPTsequences that differ only by the positions of the

jobs with equal processing times.

Let us represent job processing times as lines

f ¼ pjðxÞ ¼ rj � tjx, j ¼ 1; . . . ; n, in the x-f plane.

Further, construct all intersection points of these

lines for 06 x6 xmax. An example is given in Fig. 2.

For each intersection point ðx; f Þ, denote the setof lines that intersect at ðx; f Þ as Iðx; f Þ. There maybe several intersection points with the same x-coordinate. Denote the set of f -coordinates of

such points as UðxÞ.There are at most nðn� 1Þ=2 intersection

points. These points and their associated sets

Iðx; f Þ and UðxÞ can be found in Oðn2Þ time.

Sort the distinct x-coordinates of the intersection

points, together with 0 and xmax, in increasing or-der such that 0 ¼ x0 < x1 < � � � < xN ¼ xmax, N 6 nðn� 1Þ=2þ 1. This sorting requires OðN logNÞ6Oðn2 log nÞ time.

Page 8: Single machine batch scheduling with jointly compressible setup and processing times

Fig. 2. Lines f ¼ rj � tjx, j ¼ 1; . . . ; n, and their intersections.

218 C.T.D. Ng et al. / European Journal of Operational Research 153 (2004) 211–219

It is clear that for any x 2 ½xi�1; xi�, i 2 f1; . . . ;Ng, the job processing times can be numbered such

that pji16 � � � 6 pjin . Therefore, for any x 2 ½xi�1; xi�,

there exists a unique (if we do not distinguish the

jobs with equal processing times) SPT sequence.

This sequence can be found in Oðn log nÞ time by

calculating the job processing times for

x ¼ ðxi�1 þ xiÞ=2 and sorting them in non-de-

creasing order. Let us denote this sequence as

QðiÞ ¼ ðji1; . . . ; jinÞ. For the example given in Fig. 2,

we have Qð1Þ ¼ ð3; 2; 1Þ, Qð2Þ ¼ ð3; 1; 2Þ and Qð3Þ ¼ð1; 3; 2Þ.

Observe that, in order to obtain sequence Qðiþ1Þ

from sequence QðiÞ, it suffices to reverse the order

of the jobs that correspond to the distinct lines

from Iðxi; f Þ for each f 2 UðxiÞ. Let qi be the

number of such distinct lines. Then sequence Qðiþ1Þ

can be constructed in OðqiÞ time if QðiÞ is given,

i ¼ 1; . . . ;N � 1. Sequence Qð1Þ can be constructedin Oðn log nÞ time. Therefore, all the sequences QðiÞ,

i ¼ 1; . . . ;N , can be constructed in Oðn log nþPN�1

i¼1 qiÞ time.

Lemma 3. We havePN�1

i¼1 qi 6 nðn� 1Þ.

Proof. Denote by Hn the maximum value ofPN�1

i¼1 qi for n lines. We have H2 ¼ 2. Assume that aline is added to the set of j lines and it goes

through m, mP 0, existing intersection points of

these lines, denoted by xi1 ; . . . ; xim . If the added line

is identical to an ‘‘old’’ line, then Hjþ1 ¼ Hj. Othe-

rwise, Hjþ1 ¼ Hj þ mþ 2ðj�Pm

l¼1 qilÞ. Since qil P2, l ¼ 1; . . . ;m, value Hjþ1 is maximized

for m ¼ 0. Thus, Hjþ1 6Hj þ 2j. From this in-

equality, we derive Hn 6 2þ 4þ � � � þ 2ðn� 1Þ ¼nðn� 1Þ. �

References

[1] S. Albers, P. Brucker, The complexity of one-machine

batching problems, Discrete Applied Mathematics 47

(1993) 87–107.

[2] A. Allahverdi, J.N.D. Gupta, T. Aldowaisan, A review of

scheduling research involving setup considerations, Omega

27 (1999) 219–239.

[3] D. Biskup, H. Jahnke, Common due date assignment for

scheduling on a single machine with jointly reducible

processing times, International Journal of Production

Economics 69 (2001) 317–322.

[4] J. Błazewicz, K.H. Ecker, E. Pesch, G. Schmidt, J.

Weglarz, Scheduling computer and manufacturing pro-

cesses, Springer, Berlin, 1996.

[5] T.C.E. Cheng, Z.-L. Chen, C.L. Li, B.M.T. Lin, Single

machine scheduling to minimize the sum of compression

and late costs, Naval Research Logistics 45 (1998) 67–82.

[6] T.C.E. Cheng, M.Y. Kovalyov, Single machine batch

scheduling with deadlines and resource dependent process-

ing times, Operations Research Letters 17 (1995) 243–249.

[7] T.C.E. Cheng, A. Janiak, M.Y. Kovalyov, Bicriterion

single machine scheduling with resource dependent pro-

cessing times, SIAM Journal on Optimization 8 (1998)

617–630.

[8] T.C.E. Cheng, A. Janiak, M.Y. Kovalyov, Single machine

batch scheduling with resource dependent setup and

processing times, European Journal of Operational Re-

search 135 (2001) 177–183.

[9] Z.L. Chen, Q. Lu, G. Tang, Single machine scheduling

with discretely controllable processing times, Operations

Research Letters 21 (1997) 69–76.

[10] T.C.E. Cheng, C. Oguz, X.D. Qi, Due-date assignment and

single machine scheduling with compressible processing

times, International Journal of Production Economics 43

(1996) 29–35.

[11] E.G. Coffman Jr., M. Jannakakis, M.J. Magazine, C.A.

Santos, Batch sizing and job sequencing on a single

machine, Annals of Operations Research 26 (1990) 135–147.

[12] G.B. Dantzig, Linear programming and extensions, Prince-

ton University Press, Princeton, NJ, 1963.

[13] A. Janiak, Time-optimal control in a single machine

problem with resource constraints, Automatica 22 (1986)

745–747.

[14] A. Janiak, M.Y. Kovalyov, Single machine scheduling with

deadlines and resource dependent processing times, Euro-

pean Journal of Operational Research 94 (1996) 284–291.

[15] A. Janiak, M. Lichtenstein, Some single machine schedul-

ing problems with resource dependent set-up and process-

ing times, in: B. Fleischmann, et al. (Eds.), Operations

Research Proceedings 2000, Springer, 2001, pp. 60–64.

Page 9: Single machine batch scheduling with jointly compressible setup and processing times

C.T.D. Ng et al. / European Journal of Operational Research 153 (2004) 211–219 219

[16] C.L. Li, E.C. Sewell, T.C.E. Cheng, Scheduling to mini-

mize release-time resource consumption and tardiness

penalties, Naval Research Logistics 42 (1994) 946–966.

[17] C.N. Potts, M.Y. Kovalyov, Scheduling with batching: A

review, European Journal of Operational Research 120

(2000) 228–249.

[18] C.N. Potts, L.N. Van Wassenhove, Integrating scheduling

with batching and lot-sizing: A review of algorithms and

complexity, Journal of the Operational Research Society

43 (1991) 395–406.

[19] L.N. Van Wassenhove, K.R. Baker, A bicriterion ap-

proach to time/cost tradeoffs in sequencing, European

Journal of Operational Research 11 (1982) 48–54.

[20] R.G. Vickson, Choosing the job sequence and processing

times to minimize total processing plus flow cost on a

single machine, Operations Research 28 (1980) 1155–

1167.

[21] R.G. Vickson, Two single machine sequencing problems

involving controllable job processing times, AIIE Trans-

actions 12 (1980) 258–262.

[22] T.J. Williams, Analysis and design of hierarchical control

systems with special reference to steel plant operations,

Amsterdam, North-Holland, 1985.

[23] S.T. Webster, K.R. Baker, Scheduling groups of jobs

on a single machine, Operations Research 43 (1995) 692–

703.