Upload
ct-daniel-ng
View
214
Download
1
Embed Size (px)
Citation preview
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.
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
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 .
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
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ÞÞ.
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
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.
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.
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.