Directory UMM :Data Elmu:jurnal:O:Operations Research Letters:Vol26.Issue4.2000:
Operations Research Letters 26 (2000) 165–173
www.elsevier.com/locate/dsw
A heuristic for scheduling two-machine no-wait
ow shops
with anticipatory setups
Jerey B. Sidneya , Chris N. Pottsb , Chelliah Sriskandarajahc; ∗
a University
of Ottawa, Canada
of Southampton, UK
c University of Texas at Dallas, School of Management, Mail Station J04. 7, Box 830688, Richardson, TX 75083-0688, USA
b University
Received 1 October 1998; received in revised form 1 December 1999
Abstract
We consider a problem of scheduling jobs in two-machine no-wait
ow shops for which the objective is to minimize the
makespan. Each job, upon completion of its processing on the rst machine, must be transferred immediately to the second
machine due to a no-wait in process constraint. Every job requires a setup time on each machine before it is processed. The
setup on the second machine is anticipatory, since it can be performed in advance of an arriving job, and consists of two
parts. During the rst part of the setup, the job should not be present in the machine, while the second part of setup can be
done in the presence or absence of the job. A heuristic algorithm is proposed, and its worst-case performance ratio of 4=3 is
c 2000 Elsevier Science B.V. All rights reserved.
established.
Keywords: No-wait
ow shop; Deterministic scheduling; Setup; Heuristic algorithm; Worst-case analysis; Performance
bounds
1. Introduction
The following version of the two-machine no-wait
ow shop problem is considered. Each job, upon completion of its processing on the rst machine, must
be transferred immediately to the second machine due
to a no-wait in process constraint. Further, every job
requires a setup time on each machine before it is
processed. The setup on the second machine is anticipatory, since it can be performed in advance of an
∗
Corresponding author. Fax: +1-972 883-2089.
E-mail address: [email protected] (C. Sriskandarajah).
arriving job, and consists of two parts. During the rst
part of the setup, the job should not be present in the
machine, while the second part of setup can be done
in the presence or absence of the job. The rst part of
the setup is machine specic to the operation, such as
calibration and testing of a tool on a specimen, and the
presence of job may make it dicult or impossible to
perform the setup.
Scheduling no-wait shops has been the focus of
considerable attention from both practitioners and theoreticians for a number of years. In such a shop, successive operations of a job must be performed with
no intervening idle time. In the chemical, petrochemical and hot rolling mill industries, such constraints
c 2000 Elsevier Science B.V. All rights reserved.
0167-6377/00/$ - see front matter
PII: S 0 1 6 7 - 6 3 7 7 ( 0 0 ) 0 0 0 1 9 - 5
166
J.B. Sidney et al. / Operations Research Letters 26 (2000) 165–173
model physical requirements of the production process
(e.g., cooling must not take place between successive
operations). In other cases, if a bottleneck machine has
no available storage facilities for leaving inventory,
no-wait constraints may be imposed to achieve maximum utilization of the facility. The reader may refer
to the survey papers on no-wait scheduling by Goyal
and Sriskandarajah [6], and Hall and Sriskandarajah
[9]. Useful general references on machine scheduling
problems include the books by Baker [1] and Pinedo
[12]. In
uential survey articles have been written by
Graham et al. [7], Lawler et al. [10], and Chen et al.
[2].
The remaining sections of this paper are organized
as follows. In Section 2, we provide notations and
give a description of the problem. Section 3 provides
a transformation that allows us to restrict the range of
instances that we consider. In Section 4, we present our
heuristic for the problem, and establish an upper bound
on its worst-case performance. Some worst-case examples are given in Section 5. Finally, in Section 6,
we combine the results of the previous two sections
to establish the worst-case performance ratio of our
heuristic.
2. Problem description
In this paper, we deal with the two-machine
no-wait
ow shop scheduling problem of minimizing makespan Cmax , where jobs have setups
on the machines. Let M1 ; M2 denote the two machines in the
ow shop. The problem is denoted by
F2 | no-wait; setup{cj ; dj } | Cmax . An instance of this
problem is given by: {(aj ; bj ; cj ; dj ) | 06aj ; 06cj 6
dj 6bj ; j ∈ N }, where n denotes the number of jobs
to be processed; N the set of jobs {1; : : : ; n} to be
processed; aj the processing time (including setup
time) of job j on machine M1 ; bj the processing
time (including setup time) of job j on machine
M2 ; dj the total setup time of job j on machine
M2 ; cj the rst portion of setup time of job j on machine M2 during which the job should not be present
on M2 .
Henceforth, aj and bj will be used also as the
“names” of the two operations of job j. From the
context, it will be clear whether aj and bj refer
the name of an operation or its processing time.
In this problem, the no-wait constraint species that
operation aj must nish at least cj time units after
operation bj starts, and at most dj time units after operation bj starts. It will become clear later that the
setup times of jobs on machine M1 need not be considered explicitly. Since the nish of operation aj overlaps the execution of operation bj , it is evident that
the only feasible schedules are permutation schedules,
i.e., schedules in which the jobs are identically ordered
on machines M1 and M2 . The objective is to minimize
the makespan Cmax , which is the time from the start
of processing of the rst job in the schedule until the
completion of processing of the last job in the schedule. We assume henceforth that processing starts at
time zero, so that Cmax is the completion time of the
last job to be processed.
In the case that cj = dj = 0 for j ∈ N , the problem becomes a pure two-machine no-wait
ow shop
problem, which we denote by F2 | no-wait | Cmax in
the notation of Graham et al. [7], and Gilmore and
Gomory [4] provide an O(n log n) algorithm (see
Gomory et al. [5] for details of the implementation). In the case that cj = dj ¿ 0 for j ∈ N , Gupta
et al. [8] presents an O(n log n) algorithm to nd
an optimal schedule. Their algorithm, modies the
processing time of each job j on machines M1 and
M2 to max{aj − cj ; 0} and bj − cj , respectively, and
solves the resulting F2 | no-wait | Cmax problem by
the algorithm of Gilmore and Gomory.
In no-wait scheduling, a job must leave a machine
immediately after processing is completed. The less
restrictive case, which is known as blocking, permits
a job to remain on the current machine after processing if the next machine is busy, but no other job can
be processed on the current machine while the job is
still present. We refer to the survey of Hall and
Sriskandarajah [9] for a detailed classication of
the complexity of blocking problems. In our problem scenario, it is easy to see that for the case
cj = 0 for j ∈ N , both no-wait and blocking problems in the two-machine
ow shop are equivalent. Moreover, both problems are shown to be
NP-hard by Logendran and Sriskandarajah [11]
for the case cj = 0 for j ∈ N . Thus, it is unlikely
that the general problem can be solved by an ecient optimal algorithm [3]. Rock [13] shows that
the three-machine problem (F3 | no-wait | Cmax ) is
NP-hard.
J.B. Sidney et al. / Operations Research Letters 26 (2000) 165–173
In this paper, we propose an ecient approximation algorithm that nds a heuristic schedule for problem F2 | no-wait; setup{cj ; dj } | Cmax by applying the
Gilmore–Gomory algorithm to sequence the jobs. We
establish that the makespan of the heuristic schedule is no more than 43 times the optimal makespan,
and that this bound is tight. Therefore, the worst-case
performance ratio of our heuristic is 34 .
167
holds because the processing of operation bj cannot
overlap with the processing of operation ai of a preceding job i since C(ai )6S(bi ) + di 6C(bi )6S(bj ).
Observation 2. The early start schedule for any
given ordering of the jobs places each operation as
early as possible, subject to the ordering and the feasibility conditions. The early start schedule yields the
minimum makespan among schedules that respect the
given ordering.
3. Transformations
In this section, we show how an instance of problem
F2 | no-wait; setup{cj ; dj } | Cmax can be transformed
so that
06cj 6dj 6min{aj ; bj };
(1)
without aecting the optimal makespan. Before deriving the transformation, we introduce some properties
of feasible and optimal schedules.
A schedule = {(S(aj ); S(bj )) | j ∈ N } is given by
the set of start time vectors for the n jobs, where
S(o) denotes the start time of operation o. Let C(aj )
= S(aj ) + aj and C(bj ) = S(bj ) + bj denote the completion times of operations aj and bj , respectively. For
each job j (j ∈ N ), a feasible schedule satises the
following three conditions:
S(aj )¿0;
S(bj )¿0;
S(bj ) + cj 6C(aj )6S(bj ) + dj ;
(2)
(3)
(S(ai ); C(ai )) ∩ (S(aj ); C(aj )) = ∅;
(S(bi ); C(bi )) ∩ (S(bj ); C(bj )) = ∅
(4)
for i ∈ N \ {j}:
Condition (3) is the operation overlap constraint,
while condition (4) ensures that no two jobs are
processed by a machine at the same time.
We may also denote a schedule by its set of completion times = {(C(aj ); C(bj )) | j ∈ N }. The and
representations are obviously equivalent. Thus, we
may restate our problem: nd a feasible schedule
which minimizes Cmax = maxj ∈ N C(bj ).
Two observations will be useful during the development of our heuristic algorithm.
Observation 1. In a feasible schedule, if S(bj )¡S(aj ),
then M1 is idle over the period (S(bj ); S(aj )). This
Theorem 1. Let unprimed (primed) expressions refer to the unprimed (primed) instances. The two problem instances I = {(aj ; bj ; cj ; dj ) | j ∈ N } and I ′ =
{(a′j ; b′j ; cj′ ; d′j ) | j ∈ N }; where a′j = max{aj ; cj }; b′j =
bj ; cj′ = cj ; d′j = min{a′j ; dj } have identical optimal
makespans.
Proof. For instance I ′ to be well dened, we require
that cj′ 6d′j 6b′j , or equivalently, cj 6d′j 6bj , for
j ∈ N . Since d′j = min{max{aj ; cj }; dj }¿min{cj ; dj },
and dj ¿cj from instance I , the rst of the desired
inequalities holds. Further, d′j = min{a′j ; dj }6dj , and
dj 6bj from instance I , which establishes the second
inequality. Therefore, I ′ is a valid instance. It suces
to show that there is at least one optimal schedule
= {(C(aj ); C(bj )) | j ∈ N } for I which is feasible
for I ′ , since I ′ is a more constrained instance.
Assume that is an optimal early start schedule
for instance I . Consider the schedule ′ = for instance I ′ in which operations a′j and b′j are assigned
the same completion times of C ′ (a′j ) = C(aj ) and
C ′ (b′j ) = C(bj ) as operations aj and bj is schedule
for instance I , for j ∈ N . Note that
S ′ (a′j ) = C ′ (a′j ) − a′j = C(aj ) − max{aj ; cj }
6 C(aj ) − aj = S(aj );
S ′ (b′j ) = C ′ (b′j ) − b′j = C(bj ) − bj = S(bj )
(5)
(6)
for all jobs j. Therefore, machine M2 processes operation b′j in schedule ′ for instance I ′ in the same period
as operation bj in schedule for instance I . Hence,
it is sucient to consider machine M1 when checking that no operations on the same machine overlap
in schedule ′ . To establish feasibility of schedule ′
for instance I ′ , we consider three parts corresponding
to conditions (2) – (4) for machine M1 . Without loss
168
J.B. Sidney et al. / Operations Research Letters 26 (2000) 165–173
of generality, we assume that sequences jobs in the
order (1; : : : ; n).
Part 1: S ′ (a′j )¿0 and S ′ (b′j )¿0 for j ∈ N . For
operation b′j , we obtain from (6) that S ′ (b′j ) = S(bj )
¿0. For operation a′j , we have from (5) that S(a′j ) =
C(aj ) − max{aj ; cj }. If aj ¿cj , then S ′ (a′j ) = C(aj ) −
aj = S(aj )¿0. On the other hand, if aj ¡ cj , that
S ′ (a′j )=C(aj )−cj ¿S(bj )+cj −cj =S(bj )¿0, where
the rst inequality is obtained from the feasibility condition (3) of schedule for instance I .
Part 2: S ′ (b′j ) + cj′ 6C ′ (a′j )6S ′ (b′j ) + d′j for each
job j. To establish the left-hand inequality, we note
that S ′ (b′j ) + cj′ = S(bj ) + cj 6C(aj ), where the equation is obtained from (6) and the denition of cj′ , and
the inequality is obtained from (3) using the feasibility of schedule for instance I . Since we have
C ′ (a′j ) = C(aj ), the desired inequality is established.
For the right-hand inequality, three alternative cases
are considered for each job j (j ∈ N ).
Case 1: aj 6cj . In this case, a′j = cj , and since
cj 6dj , we have d′j = cj . Since is an earliest start
time schedule for instance I , and aj 6cj , Observation 1 shows that machine M2 dictates when job j
is scheduled. Specically, operation bj starts immediately after machine M2 completes its previous
operation (or at time zero if there is no previous
operation), and operation aj is scheduled to complete
at time C(aj ) = S(bj ) + cj . Hence, C ′ (a′j ) = C(aj ) =
S(bj ) + cj = S ′ (b′j ) + d′j , where the nal equality is
obtained from (6) and our knowledge that d′j = cj .
Case 2: cj ¡ aj 6dj . In this case, a′j = d′j = aj .
We claim that S(aj )6S(bj ) because is an earliest start time schedule for instance I . To justify our
claim, we note that if S(aj ) ¿ S(bj ), then Observation 1 shows that operation aj could be scheduled
earlier than in schedule without aecting feasibility. Thus, C(aj ) = S(aj ) + aj 6S(bj ) + aj . Hence,
C ′ (a′j ) = C(aj )6S(bj ) + aj = S ′ (b′j ) + d′j , where the
last equation is obtained from (6) and our knowledge
that d′j = aj .
Case 3: cj 6dj ¡ aj . In this case, a′j =aj and d′j =dj .
We obtain C ′ (a′j ) = C(aj )6S(bj ) + dj = S ′ (b′j ) + d′j ,
where the inequality is obtained from (3) using the
feasibility of schedule for instance I , and the last
equation is obtained from (6) and our knowledge that
d′j = dj .
We have now established the desired inequalities
for Part 2 in all three cases.
Part 3: Operation a′j does not overlap with
operation a′j−1 except perhaps at its end point,
i.e., (S ′ (a′j−1 ); C ′ (a′j−1 )) ∩ (S ′ (a′j ); C ′ (a′j )) = ∅ for
j = 2; : : : ; n. We rst observe that a′j = aj , unless
aj ¡ cj , in which case a′j = cj and operation a′j is
then cj − aj time units longer than aj . When a′j = aj ,
operations aj and a′j occupy the same time intervals
in schedules and ′ , respectively, and therefore no
overlap is created on machine M1 in schedule ′ . Now
assume that aj ¡ cj . As observed in Case 1 above,
C(aj ) = S(bj ) + cj . Further, Observation 1 shows that
schedule leaves machine M1 idle over the interval
(S(bj ); S(aj )), an interval of length S(aj ) − S(bj ) =
C(aj ) − aj − S(bj ) = S(bj ) + cj − aj − S(bj ) = cj − aj .
Thus, the additional cj −aj time units of a′j are accommodated in the idle interval (S(bj ); S(aj )) without
creating a con
ict with job j − 1 in schedule ′ .
For the instance I ′ of Theorem 1, the proof establishes that I ′ is a valid instance by establishing the inequalities cj′ 6d′j 6b′j . Further, d′j = min{a′j ; dj }6a′j .
Therefore, cj′ 6d′j 6min{a′j ; b′j }. Based upon Theorem
1, we may restrict our attention to instances of this
type.
For simplicity of notation, we use unprimed notation henceforth, and restrict our attention to instances
for which (1) holds.
4. Heuristic algorithm
Because we are considering instances with dj 6aj ,
it follows that S(aj )6S(bj ) for each job j (j ∈ N ) in
any feasible solution. The no-wait constraint requires
operations aj and bj to overlap by at least cj time units,
but no more than dj time units. Suppose we were to
impose a xed overlap of size j for each job j, where
cj 6j 6dj . These xed overlaps would imply that
C(aj ) = S(bj ) + j :
(7)
in any schedule that we consider. This is equivalent
to changing the parameters of the problem so that
cj = dj = j for j ∈ N . Hence, it is obvious that the
concept of early start schedule (Observation 2) can be
extended to schedules which are restricted by overlaps
as well as a pre-specied ordering.
169
J.B. Sidney et al. / Operations Research Letters 26 (2000) 165–173
For a given set of overlaps ={1 ; : : : ; n }, a schedule can be obtained using the following algorithm. We
then provide a justication that the algorithm generates a schedule with minimum makespan.
Algorithm A
Step 1: Dene an instance I for F2 | no-wait | Cmax
by the data set {(aj ; bj ) | j ∈ N }, where aj = aj − j
and bj = bj − j .
Step 2: Solve the instance of problem F2 | no-wait |
Cmax that is dened in Step 1. Let the optimal schedule
bj ) | j ∈ N }. Without loss
aj ); S(
be given by = {(S(
of generality, assume that the jobs are processed in
the order (1; : : : ; n) in .
Step 3: Let = {(S(aj ); S(bj )) | j ∈ N }, where
P
P
aj ) + j−1 i and S(bj ) = S(
bj ) + j−1 i .
S(aj ) = S(
i=1
i=1
Step 4: Terminate.
Theorem 2. Given a set of overlaps ; a schedule
that has the minimum makespan among schedules
for which (7) holds for j ∈ N can be obtained using
Algorithm A.
Proof. There is a one-to-one correspondence between
feasible solutions for which (7) holds for j ∈ N and
feasible solutions to the no-wait problem given in
Step 1 of Algorithm A in which the overlap j is removed from each operation aj and bj . The correspondence is given by the relationship specied in Step 3.
The dierence in values of the makespan for
Pncorresponding solutions is equal to the constant j=1 j ,
from which the result follows.
We propose two alternative choices for j for j ∈ N .
To obtain the largest overlaps, we set
j = dj ;
(8)
whereas to avoid large deviations of the selected overlaps from their optimal values, we set
j = (cj + dj )=2:
(9)
We denote the algorithms that apply Algorithm A using the overlaps specied in Eqs. (8) and (9) by H1
and H2, respectively.
We now provide upper bounds on the worst-case
H1
performance of Algorithms H1 and H2. Let Cmax
H2
and Cmax
denote the makespans obtained by applying
Fig. 1. Overlap of operations.
∗
Algorithms H1 and H2, respectively, and let Cmax
denote the optimal makespan. Moreover, let
n
n
X
X
aj ;
(10)
bj ;
LB = max
j=1
j=1
denote the trivial lower bound on the makespan of any
schedule.
Lemma 1. AlgorithmPH1 produces a schedule for
n
H1
62LB − j=1 dj .
which Cmax
Proof. Since aj ¿dj , by setting j = dj for j ∈ N , Algorithm H1 imposes an overlap of length dj between
operations aj and bj , as shown in Fig. 1. Since Algorithm A constructs a schedule in which at least one
machine is always busy, we have
H1
6
Cmax
n
X
j=1
aj +
n
X
j=1
bj −
n
X
dj :
j=1
Substituting (10) provides the desired result.
Lemma 2. AlgorithmPH2 produces a schedule for
n
H2
∗
6Cmax
+ j=1 dj =2.
which Cmax
Proof. It suces to show that there exists a feasible
solution ′ for the problem constrained by overlaps
j = (cj + dj )=2 for j ∈ N such that the correspondPn
′
′
∗
satises Cmax
6Cmax
+ j=1 dj =2.
ing makespan Cmax
Suppose that ={(S(aj ); S(bj )) | j ∈ N } is an optimal
schedule for the original instance I , and we assume
that the jobs are processed in the order (1; : : : ; n).
Let j = C(aj ) − (S(bj ) + (cj + dj )=2) for j ∈ N .
Subtracting S(bj ) + (cj + dj )=2 from each term of
S(bj )+cj 6C(aj )6S(bj )+dj , which is inequality (3),
yields (cj − dj )=26j 6(dj − cj )=2, or equivalently
|j |6(dj − cj )=26dj =2. Hence, we obtain the
170
J.B. Sidney et al. / Operations Research Letters 26 (2000) 165–173
Fig. 2. Illustration of j when j ¡ 0.
Fig. 3. Illustration of j when j ¿ 0.
inequality
n
X
j=1
|j |6
n
X
(11)
dj =2;
j=1
which we use later.
We nd ′ by perturbing iteratively using the
following procedure.
The worst-case performance bounds given in
Lemmas 1 and 2 for Heuristics
Pn H1 and H2 are decreasing and increasing in j=1 dj , respectively. For
Pn
2
j=1 dj ¿ 3 LB, Lemma 1 shows that
H1
∗
6 34 LB6 34 Cmax
Cmax
:
On the other hand, for
shows that
(12)
Pn
j=1
Procedure Perturb. Set S ′ (aj ) = S(aj ) and S ′ (bj ) =
S(bj ) for j = 1; : : : ; n.
Execute the following for j = 1; : : : ; n:
If j 60, then set
∗
H2
∗
:
6Cmax
+ 13 LB6 34 Cmax
Cmax
S ′ (ak ) ← S ′ (ak ) + |k | for k¿j;
Algorithm H
dj ¡
2
3 LB,
Lemma 2
(13)
Thus, we propose the following heuristic algorithm
for problem F2 | no-wait; setup{cj ; dj } | Cmax .
S ′ (bk ) ← S ′ (bk ) + |k | for k¿j + 1:
If j ¿ 0, then set
S ′ (ak ) ← S ′ (ak ) + k
′
′
S (bk ) ← S (bk ) + k
for k¿j + 1;
for k¿j:
The case that j 60 is illustrated in Fig. 2. In this case,
aj and all operations on machine M1 to the right of aj
are moved |j | time units to the right. Also, bj+1 and
all operations on machine M2 to the right of bj+1 are
moved |j | time units to the right. It is easy to see that
feasibility for the original problem I is maintained,
and that the transformation in the jth iteration yields a
schedule with C(aj ) = S(bj ) + (cj + dj )=2. A similar
argument holds for the case of j ¿ 0 (see Fig. 3).
Hence, when the procedure is complete, a feasible schedule for instance I is found for which the
overlaps are dened by j = (cj + dj )=2 for j ∈ N .
Moreover,
Pn no operation is moved to the right more
than j=1 |j |. Therefore, we deduce from inequalPn
′
∗
6Cmax
+ j=1 dj =2. Since Algoity (11) that Cmax
rithm H2 generates an optimal schedule for overlaps
H2
′
6Cmax
, from which
j = (cj + dj )=2, we have Cmax
the desired result follows.
Input: An instance I = {(aj ; bj ; cj ; dj ) | j ∈ N }
of problem F2 | no-wait; setup{cj ; dj } | Cmax which
satises condition (1).
Output: A feasible schedule ={(S(aj ); S(bj )) | j ∈ N }
for instance I .
Step 1. Compute the lower bound
n
n
X
X
aj ;
bj :
LB = max
j=1
j=1
∈ N from the following cases.
Select j for jP
n
Case A: If j=1 dj ¿ 23 LB, set j = dj for j ∈ N .
Pn
Case B: If j=1 dj ¡ 23 LB, set j = (cj + dj )=2 for
j ∈ N.
Step 2. Apply Algorithm A to the problem resulting
from Step 1 to obtain a schedule .
Step 3. Compute the early start schedule ˜ for this
H
.
ordering, and evaluate the resulting makespan Cmax
Step 4. Terminate.
Note that the performance guarantee is obtained
from the schedule found at the end of Step 2, while
Step 3 merely attempts to nd additional improvements.
171
J.B. Sidney et al. / Operations Research Letters 26 (2000) 165–173
Table 1
Data dening worst-case example for Case A
j
1
2
3
4
5
6
aj
bj
cj
dj
0
1
0
0
1
2
0
1
2
3
0
2
3
4
0
3
4
5
0
4
5
0
0
0
Fig. 5. Case A: schedule at Step 2 of Algorithm H.
H = 19.
Fig. 6. Case A: worst-case schedule, Cmax
∗ = 15.
Fig. 4. Case A: optimal schedule, Cmax
We now present the main result in this section.
Theorem 3. Algorithm H produces a schedule for
∗
H
in O(n log n) time.
6 34 Cmax
which Cmax
Proof. The worst-case performance bound of Algorithm H is obtained from inequalities (12) and (13).
The complexity of Algorithm H is governed
by the time requirement for solving problem
F2 | no-wait | Cmax in Step 2 of Algorithm A, which
is applied once during execution of Algorithm H.
The implementation of Gilmore, Lawler and Shmoys
[5] of the algorithm of Gilmore and Gomory [4]
solves problem F2 | no-wait | Cmax in O(n log n) time,
which is the time complexity of Algorithm H. Note
that pre-processing to convert an arbitrary instance
to one satisfying 06cj 6dj 6min{aj ; bj } requires
only O(n) time, and hence does not aect the overall
complexity.
∗ = 3k + 1.
Fig. 7. Case B: optimal schedule, Cmax
Fig. 8. Case B: schedule at Step 2 of Algorithm H.
5. Worst-case examples
In this section, we provide worst-case examples for
both Cases A and B from Step 1 of Algorithm H.
Note that in Case A, we have an instance for which
19
H
∗
= 1:266 ¡ 34 , whereas for Case B the
=Cmax
= 15
Cmax
worst-case instance shows that the bound of Theorem
3 is tight.
Worst-case example for Case A: n = 6
The instance is dened by the data in Table 1.
The optimal schedule for this example (using the
job sequence (1; 2; 3; 4; 5; 6)) is shown in Fig. 4. In
H = 4k.
Fig. 9. Case B: worst-case schedule, Cmax
Table 2
Data constructed by Algorithm A for Case A
j
1
2
3
4
5
6
a′j
b′j
0
1
0
1
0
1
0
1
0
1
5
0
Figs. 4 –9, numbers in the activity blocks represent
processing times, not job numbers. The optimal
∗
makespan is Cmax
= 15. Note that LB = 15 and
P
n
2
d
=
10
=
LB.
In Step 2 of Algorithm H
j=1 j
3
172
J.B. Sidney et al. / Operations Research Letters 26 (2000) 165–173
Table 3
Data dening worst-case example for Case B
j
1
···
k
k +1
···
2k
2k + 1
2k + 2
aj
bj
cj
dj
3
2
0
2
···
···
···
···
3
2
0
2
0
1
0
0
···
···
···
···
0
1
0
0
0
1
0
0
1
0
0
0
Table 4
Data constructed by Algorithm A for Case B
j
1
···
k
k +1
···
2k
2k + 1
2k + 2
a′j
b′j
2
1
···
···
2
1
0
1
···
···
0
1
0
1
1
0
(Step 1 of Algorithm A), the data for the resulting
F2 | no-wait | Cmax problem is shown in Table 2.
One possible schedule obtained by applying the
Gilmore–Gomory algorithm of Gilmore and Gomory
[4] to the data of Table 2 is shown in Fig. 5, where
is dened by the job sequence (1; 6; 2; 3; 4; 5). The
early start schedule for job order is obtained in
Step 3 of Algorithm H, and is shown in Fig. 6. The
H
= 19. Thus, we have
makespan of the schedule is Cmax
19
H
∗
Cmax =Cmax = 15 = 1:266 ¡ 1:333.
Worst-case example for case B: n = 2k + 2
The instance is dened by the data in Table 3.
An optimal schedule for this example is given in
∗
= 3k + 1.
Fig. 7 and the optimal makespan is Cmax
PN
Note that LB = 3k + 1 and j=1 dj = 2k ¡ 23 LB. In
Step 2 of Algorithm H (Step 1 of Algorithm A), the
data for the resulting F2 | no-wait | Cmax problem is
shown in Table 4.
One possible schedule (given by sequence (2k +
1; 2k + 2; 2k; 1; : : : ; 2k − 1)) obtained by applying the
Gilmore–Gomory algorithm to the data of Table 3 is
shown in Fig. 8. The early start schedule obtained in
Step 3 of Algorithm H is shown in Fig. 9, and the
H
H
∗
= 4k. Thus, we have Cmax
=Cmax
=
makespan is Cmax
4
4k=(3k + 1), which can be arbitrarily close to 3 .
6. Worst-case performance ratio
Theorem 3 establishes that Algorithm H generates
H
∗
=Cmax
6 43 . The worst-case
a schedule for which Cmax
example in Section 5 for Case B shows that this bound
is tight. Therefore, the worst-case performance ratio
of Algorithm H is 34 .
The worst-case example for Case A is not tight,
which indicates that there may be scope for modifying
Heuristic H to improve its worst-case performance.
Specically, rather than dierentiating
between Cases
Pn
A and B by comparing
d
with
fLB, where
j=1 j
2
f= 3 . An alternative fraction could be used. However,
we claim that no modication of this type can lead
to a worst-case performance ratio of less than 1.3. To
justify this claim, we note that Lemma 2 and inequality
(13) yield
n
H2
∗
6 Cmax
+
Cmax
6 (1 +
f
1X
∗
dj 6Cmax
+ LB
2
2
j=1
∗
f=2)Cmax
and worst-case examples show that this bound is tight.
Moreover, for f ¡ 0:6, an example for Case A shows
that the worst-case performance ratio is at least 1.3.
Thus, our claim is established.
Acknowledgements
This research was supported in part by the Natural
Sciences and Engineering Research Council of Canada
(Grants numbers OGP0002507 and OGP0104900),
and by NATO (Collaborative Research Grant No.
CRG 950773).
References
[1] K.R. Baker, Introduction to Sequencing and Scheduling,
Addison-Wesley, Reading, MA, 1974.
J.B. Sidney et al. / Operations Research Letters 26 (2000) 165–173
[2] B. Chen, C.N. Potts, G. Woeginger, A review of machine
scheduling: complexity, algorithms and approximability, in:
D.-Z. Du, P.M. Pardalos (Eds.), Handbook of Combinatorial
Optimization, Vol. 3, Kluwer, Dordrecht, 1998, pp. 21–169.
[3] M.R. Garey, D.S. Johnson, Computers and Intractability:
A Guide to the Theory of NP-Completeness, Freeman, San
Francisco, 1979.
[4] P.C. Gilmore, R.E. Gomory, Sequencing a one state-variable
machine: a solvable case of the travelling salesman problem,
Oper. Res. 12 (1964) 655–679.
[5] P.C. Gilmore, E.L. Lawler, D.B. Shmoys, Well-solved special
cases, in: E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan,
D.B. Shmoys (Eds.), The Travelling Salesman Problem:
A Guided Tour of Combinatorial Optimization, Wiley,
Chichester, UK, 1985, pp. 87–143.
[6] S.K. Goyal, C. Sriskandarajah, No-wait shop scheduling:
computational complexity and approximate algorithms,
Opsearch 25 (1988) 220–244.
[7] R.L. Graham, E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy
Kan, Optimization and approximation in deterministic
[8]
[9]
[10]
[11]
[12]
[13]
173
sequencing and scheduling: a survey, Ann. Discrete Math. 5
(1979) 287–326.
J.N.D. Gupta, V.A. Strusevich, C.M. Zwaneveld, Two-stage
no-wait scheduling models with setup and removal times
separated, Comput. Oper. Res. 24 (1997) 1025–1031.
N.G. Hall, C. Sriskandarajah, A survey of machine scheduling
problems with blocking and no-wait in process, Oper. Res.
44 (1996) 510–525.
E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, D.B.
Shmoys, Sequencing and scheduling: algorithms and
complexity, Report BS-R8909, Center for Mathematics and
Computer Science, Amsterdam, The Netherlands, 1989.
R. Logendran, C. Sriskandarajah, Two-machine group
scheduling problem with blocking and anticipatory setups,
Eur. J. Oper. Res. 69 (1993) 467–481.
M. Pinedo, Scheduling Theory, Algorithms, and Systems,
Prentice-Hall, NJ, 1995.
H. Rock, The three machine no-wait
owshop problem is
NP-complete, J. Assoc. Comput. Mach. 31 (1984) 336–345.
www.elsevier.com/locate/dsw
A heuristic for scheduling two-machine no-wait
ow shops
with anticipatory setups
Jerey B. Sidneya , Chris N. Pottsb , Chelliah Sriskandarajahc; ∗
a University
of Ottawa, Canada
of Southampton, UK
c University of Texas at Dallas, School of Management, Mail Station J04. 7, Box 830688, Richardson, TX 75083-0688, USA
b University
Received 1 October 1998; received in revised form 1 December 1999
Abstract
We consider a problem of scheduling jobs in two-machine no-wait
ow shops for which the objective is to minimize the
makespan. Each job, upon completion of its processing on the rst machine, must be transferred immediately to the second
machine due to a no-wait in process constraint. Every job requires a setup time on each machine before it is processed. The
setup on the second machine is anticipatory, since it can be performed in advance of an arriving job, and consists of two
parts. During the rst part of the setup, the job should not be present in the machine, while the second part of setup can be
done in the presence or absence of the job. A heuristic algorithm is proposed, and its worst-case performance ratio of 4=3 is
c 2000 Elsevier Science B.V. All rights reserved.
established.
Keywords: No-wait
ow shop; Deterministic scheduling; Setup; Heuristic algorithm; Worst-case analysis; Performance
bounds
1. Introduction
The following version of the two-machine no-wait
ow shop problem is considered. Each job, upon completion of its processing on the rst machine, must
be transferred immediately to the second machine due
to a no-wait in process constraint. Further, every job
requires a setup time on each machine before it is
processed. The setup on the second machine is anticipatory, since it can be performed in advance of an
∗
Corresponding author. Fax: +1-972 883-2089.
E-mail address: [email protected] (C. Sriskandarajah).
arriving job, and consists of two parts. During the rst
part of the setup, the job should not be present in the
machine, while the second part of setup can be done
in the presence or absence of the job. The rst part of
the setup is machine specic to the operation, such as
calibration and testing of a tool on a specimen, and the
presence of job may make it dicult or impossible to
perform the setup.
Scheduling no-wait shops has been the focus of
considerable attention from both practitioners and theoreticians for a number of years. In such a shop, successive operations of a job must be performed with
no intervening idle time. In the chemical, petrochemical and hot rolling mill industries, such constraints
c 2000 Elsevier Science B.V. All rights reserved.
0167-6377/00/$ - see front matter
PII: S 0 1 6 7 - 6 3 7 7 ( 0 0 ) 0 0 0 1 9 - 5
166
J.B. Sidney et al. / Operations Research Letters 26 (2000) 165–173
model physical requirements of the production process
(e.g., cooling must not take place between successive
operations). In other cases, if a bottleneck machine has
no available storage facilities for leaving inventory,
no-wait constraints may be imposed to achieve maximum utilization of the facility. The reader may refer
to the survey papers on no-wait scheduling by Goyal
and Sriskandarajah [6], and Hall and Sriskandarajah
[9]. Useful general references on machine scheduling
problems include the books by Baker [1] and Pinedo
[12]. In
uential survey articles have been written by
Graham et al. [7], Lawler et al. [10], and Chen et al.
[2].
The remaining sections of this paper are organized
as follows. In Section 2, we provide notations and
give a description of the problem. Section 3 provides
a transformation that allows us to restrict the range of
instances that we consider. In Section 4, we present our
heuristic for the problem, and establish an upper bound
on its worst-case performance. Some worst-case examples are given in Section 5. Finally, in Section 6,
we combine the results of the previous two sections
to establish the worst-case performance ratio of our
heuristic.
2. Problem description
In this paper, we deal with the two-machine
no-wait
ow shop scheduling problem of minimizing makespan Cmax , where jobs have setups
on the machines. Let M1 ; M2 denote the two machines in the
ow shop. The problem is denoted by
F2 | no-wait; setup{cj ; dj } | Cmax . An instance of this
problem is given by: {(aj ; bj ; cj ; dj ) | 06aj ; 06cj 6
dj 6bj ; j ∈ N }, where n denotes the number of jobs
to be processed; N the set of jobs {1; : : : ; n} to be
processed; aj the processing time (including setup
time) of job j on machine M1 ; bj the processing
time (including setup time) of job j on machine
M2 ; dj the total setup time of job j on machine
M2 ; cj the rst portion of setup time of job j on machine M2 during which the job should not be present
on M2 .
Henceforth, aj and bj will be used also as the
“names” of the two operations of job j. From the
context, it will be clear whether aj and bj refer
the name of an operation or its processing time.
In this problem, the no-wait constraint species that
operation aj must nish at least cj time units after
operation bj starts, and at most dj time units after operation bj starts. It will become clear later that the
setup times of jobs on machine M1 need not be considered explicitly. Since the nish of operation aj overlaps the execution of operation bj , it is evident that
the only feasible schedules are permutation schedules,
i.e., schedules in which the jobs are identically ordered
on machines M1 and M2 . The objective is to minimize
the makespan Cmax , which is the time from the start
of processing of the rst job in the schedule until the
completion of processing of the last job in the schedule. We assume henceforth that processing starts at
time zero, so that Cmax is the completion time of the
last job to be processed.
In the case that cj = dj = 0 for j ∈ N , the problem becomes a pure two-machine no-wait
ow shop
problem, which we denote by F2 | no-wait | Cmax in
the notation of Graham et al. [7], and Gilmore and
Gomory [4] provide an O(n log n) algorithm (see
Gomory et al. [5] for details of the implementation). In the case that cj = dj ¿ 0 for j ∈ N , Gupta
et al. [8] presents an O(n log n) algorithm to nd
an optimal schedule. Their algorithm, modies the
processing time of each job j on machines M1 and
M2 to max{aj − cj ; 0} and bj − cj , respectively, and
solves the resulting F2 | no-wait | Cmax problem by
the algorithm of Gilmore and Gomory.
In no-wait scheduling, a job must leave a machine
immediately after processing is completed. The less
restrictive case, which is known as blocking, permits
a job to remain on the current machine after processing if the next machine is busy, but no other job can
be processed on the current machine while the job is
still present. We refer to the survey of Hall and
Sriskandarajah [9] for a detailed classication of
the complexity of blocking problems. In our problem scenario, it is easy to see that for the case
cj = 0 for j ∈ N , both no-wait and blocking problems in the two-machine
ow shop are equivalent. Moreover, both problems are shown to be
NP-hard by Logendran and Sriskandarajah [11]
for the case cj = 0 for j ∈ N . Thus, it is unlikely
that the general problem can be solved by an ecient optimal algorithm [3]. Rock [13] shows that
the three-machine problem (F3 | no-wait | Cmax ) is
NP-hard.
J.B. Sidney et al. / Operations Research Letters 26 (2000) 165–173
In this paper, we propose an ecient approximation algorithm that nds a heuristic schedule for problem F2 | no-wait; setup{cj ; dj } | Cmax by applying the
Gilmore–Gomory algorithm to sequence the jobs. We
establish that the makespan of the heuristic schedule is no more than 43 times the optimal makespan,
and that this bound is tight. Therefore, the worst-case
performance ratio of our heuristic is 34 .
167
holds because the processing of operation bj cannot
overlap with the processing of operation ai of a preceding job i since C(ai )6S(bi ) + di 6C(bi )6S(bj ).
Observation 2. The early start schedule for any
given ordering of the jobs places each operation as
early as possible, subject to the ordering and the feasibility conditions. The early start schedule yields the
minimum makespan among schedules that respect the
given ordering.
3. Transformations
In this section, we show how an instance of problem
F2 | no-wait; setup{cj ; dj } | Cmax can be transformed
so that
06cj 6dj 6min{aj ; bj };
(1)
without aecting the optimal makespan. Before deriving the transformation, we introduce some properties
of feasible and optimal schedules.
A schedule = {(S(aj ); S(bj )) | j ∈ N } is given by
the set of start time vectors for the n jobs, where
S(o) denotes the start time of operation o. Let C(aj )
= S(aj ) + aj and C(bj ) = S(bj ) + bj denote the completion times of operations aj and bj , respectively. For
each job j (j ∈ N ), a feasible schedule satises the
following three conditions:
S(aj )¿0;
S(bj )¿0;
S(bj ) + cj 6C(aj )6S(bj ) + dj ;
(2)
(3)
(S(ai ); C(ai )) ∩ (S(aj ); C(aj )) = ∅;
(S(bi ); C(bi )) ∩ (S(bj ); C(bj )) = ∅
(4)
for i ∈ N \ {j}:
Condition (3) is the operation overlap constraint,
while condition (4) ensures that no two jobs are
processed by a machine at the same time.
We may also denote a schedule by its set of completion times = {(C(aj ); C(bj )) | j ∈ N }. The and
representations are obviously equivalent. Thus, we
may restate our problem: nd a feasible schedule
which minimizes Cmax = maxj ∈ N C(bj ).
Two observations will be useful during the development of our heuristic algorithm.
Observation 1. In a feasible schedule, if S(bj )¡S(aj ),
then M1 is idle over the period (S(bj ); S(aj )). This
Theorem 1. Let unprimed (primed) expressions refer to the unprimed (primed) instances. The two problem instances I = {(aj ; bj ; cj ; dj ) | j ∈ N } and I ′ =
{(a′j ; b′j ; cj′ ; d′j ) | j ∈ N }; where a′j = max{aj ; cj }; b′j =
bj ; cj′ = cj ; d′j = min{a′j ; dj } have identical optimal
makespans.
Proof. For instance I ′ to be well dened, we require
that cj′ 6d′j 6b′j , or equivalently, cj 6d′j 6bj , for
j ∈ N . Since d′j = min{max{aj ; cj }; dj }¿min{cj ; dj },
and dj ¿cj from instance I , the rst of the desired
inequalities holds. Further, d′j = min{a′j ; dj }6dj , and
dj 6bj from instance I , which establishes the second
inequality. Therefore, I ′ is a valid instance. It suces
to show that there is at least one optimal schedule
= {(C(aj ); C(bj )) | j ∈ N } for I which is feasible
for I ′ , since I ′ is a more constrained instance.
Assume that is an optimal early start schedule
for instance I . Consider the schedule ′ = for instance I ′ in which operations a′j and b′j are assigned
the same completion times of C ′ (a′j ) = C(aj ) and
C ′ (b′j ) = C(bj ) as operations aj and bj is schedule
for instance I , for j ∈ N . Note that
S ′ (a′j ) = C ′ (a′j ) − a′j = C(aj ) − max{aj ; cj }
6 C(aj ) − aj = S(aj );
S ′ (b′j ) = C ′ (b′j ) − b′j = C(bj ) − bj = S(bj )
(5)
(6)
for all jobs j. Therefore, machine M2 processes operation b′j in schedule ′ for instance I ′ in the same period
as operation bj in schedule for instance I . Hence,
it is sucient to consider machine M1 when checking that no operations on the same machine overlap
in schedule ′ . To establish feasibility of schedule ′
for instance I ′ , we consider three parts corresponding
to conditions (2) – (4) for machine M1 . Without loss
168
J.B. Sidney et al. / Operations Research Letters 26 (2000) 165–173
of generality, we assume that sequences jobs in the
order (1; : : : ; n).
Part 1: S ′ (a′j )¿0 and S ′ (b′j )¿0 for j ∈ N . For
operation b′j , we obtain from (6) that S ′ (b′j ) = S(bj )
¿0. For operation a′j , we have from (5) that S(a′j ) =
C(aj ) − max{aj ; cj }. If aj ¿cj , then S ′ (a′j ) = C(aj ) −
aj = S(aj )¿0. On the other hand, if aj ¡ cj , that
S ′ (a′j )=C(aj )−cj ¿S(bj )+cj −cj =S(bj )¿0, where
the rst inequality is obtained from the feasibility condition (3) of schedule for instance I .
Part 2: S ′ (b′j ) + cj′ 6C ′ (a′j )6S ′ (b′j ) + d′j for each
job j. To establish the left-hand inequality, we note
that S ′ (b′j ) + cj′ = S(bj ) + cj 6C(aj ), where the equation is obtained from (6) and the denition of cj′ , and
the inequality is obtained from (3) using the feasibility of schedule for instance I . Since we have
C ′ (a′j ) = C(aj ), the desired inequality is established.
For the right-hand inequality, three alternative cases
are considered for each job j (j ∈ N ).
Case 1: aj 6cj . In this case, a′j = cj , and since
cj 6dj , we have d′j = cj . Since is an earliest start
time schedule for instance I , and aj 6cj , Observation 1 shows that machine M2 dictates when job j
is scheduled. Specically, operation bj starts immediately after machine M2 completes its previous
operation (or at time zero if there is no previous
operation), and operation aj is scheduled to complete
at time C(aj ) = S(bj ) + cj . Hence, C ′ (a′j ) = C(aj ) =
S(bj ) + cj = S ′ (b′j ) + d′j , where the nal equality is
obtained from (6) and our knowledge that d′j = cj .
Case 2: cj ¡ aj 6dj . In this case, a′j = d′j = aj .
We claim that S(aj )6S(bj ) because is an earliest start time schedule for instance I . To justify our
claim, we note that if S(aj ) ¿ S(bj ), then Observation 1 shows that operation aj could be scheduled
earlier than in schedule without aecting feasibility. Thus, C(aj ) = S(aj ) + aj 6S(bj ) + aj . Hence,
C ′ (a′j ) = C(aj )6S(bj ) + aj = S ′ (b′j ) + d′j , where the
last equation is obtained from (6) and our knowledge
that d′j = aj .
Case 3: cj 6dj ¡ aj . In this case, a′j =aj and d′j =dj .
We obtain C ′ (a′j ) = C(aj )6S(bj ) + dj = S ′ (b′j ) + d′j ,
where the inequality is obtained from (3) using the
feasibility of schedule for instance I , and the last
equation is obtained from (6) and our knowledge that
d′j = dj .
We have now established the desired inequalities
for Part 2 in all three cases.
Part 3: Operation a′j does not overlap with
operation a′j−1 except perhaps at its end point,
i.e., (S ′ (a′j−1 ); C ′ (a′j−1 )) ∩ (S ′ (a′j ); C ′ (a′j )) = ∅ for
j = 2; : : : ; n. We rst observe that a′j = aj , unless
aj ¡ cj , in which case a′j = cj and operation a′j is
then cj − aj time units longer than aj . When a′j = aj ,
operations aj and a′j occupy the same time intervals
in schedules and ′ , respectively, and therefore no
overlap is created on machine M1 in schedule ′ . Now
assume that aj ¡ cj . As observed in Case 1 above,
C(aj ) = S(bj ) + cj . Further, Observation 1 shows that
schedule leaves machine M1 idle over the interval
(S(bj ); S(aj )), an interval of length S(aj ) − S(bj ) =
C(aj ) − aj − S(bj ) = S(bj ) + cj − aj − S(bj ) = cj − aj .
Thus, the additional cj −aj time units of a′j are accommodated in the idle interval (S(bj ); S(aj )) without
creating a con
ict with job j − 1 in schedule ′ .
For the instance I ′ of Theorem 1, the proof establishes that I ′ is a valid instance by establishing the inequalities cj′ 6d′j 6b′j . Further, d′j = min{a′j ; dj }6a′j .
Therefore, cj′ 6d′j 6min{a′j ; b′j }. Based upon Theorem
1, we may restrict our attention to instances of this
type.
For simplicity of notation, we use unprimed notation henceforth, and restrict our attention to instances
for which (1) holds.
4. Heuristic algorithm
Because we are considering instances with dj 6aj ,
it follows that S(aj )6S(bj ) for each job j (j ∈ N ) in
any feasible solution. The no-wait constraint requires
operations aj and bj to overlap by at least cj time units,
but no more than dj time units. Suppose we were to
impose a xed overlap of size j for each job j, where
cj 6j 6dj . These xed overlaps would imply that
C(aj ) = S(bj ) + j :
(7)
in any schedule that we consider. This is equivalent
to changing the parameters of the problem so that
cj = dj = j for j ∈ N . Hence, it is obvious that the
concept of early start schedule (Observation 2) can be
extended to schedules which are restricted by overlaps
as well as a pre-specied ordering.
169
J.B. Sidney et al. / Operations Research Letters 26 (2000) 165–173
For a given set of overlaps ={1 ; : : : ; n }, a schedule can be obtained using the following algorithm. We
then provide a justication that the algorithm generates a schedule with minimum makespan.
Algorithm A
Step 1: Dene an instance I for F2 | no-wait | Cmax
by the data set {(aj ; bj ) | j ∈ N }, where aj = aj − j
and bj = bj − j .
Step 2: Solve the instance of problem F2 | no-wait |
Cmax that is dened in Step 1. Let the optimal schedule
bj ) | j ∈ N }. Without loss
aj ); S(
be given by = {(S(
of generality, assume that the jobs are processed in
the order (1; : : : ; n) in .
Step 3: Let = {(S(aj ); S(bj )) | j ∈ N }, where
P
P
aj ) + j−1 i and S(bj ) = S(
bj ) + j−1 i .
S(aj ) = S(
i=1
i=1
Step 4: Terminate.
Theorem 2. Given a set of overlaps ; a schedule
that has the minimum makespan among schedules
for which (7) holds for j ∈ N can be obtained using
Algorithm A.
Proof. There is a one-to-one correspondence between
feasible solutions for which (7) holds for j ∈ N and
feasible solutions to the no-wait problem given in
Step 1 of Algorithm A in which the overlap j is removed from each operation aj and bj . The correspondence is given by the relationship specied in Step 3.
The dierence in values of the makespan for
Pncorresponding solutions is equal to the constant j=1 j ,
from which the result follows.
We propose two alternative choices for j for j ∈ N .
To obtain the largest overlaps, we set
j = dj ;
(8)
whereas to avoid large deviations of the selected overlaps from their optimal values, we set
j = (cj + dj )=2:
(9)
We denote the algorithms that apply Algorithm A using the overlaps specied in Eqs. (8) and (9) by H1
and H2, respectively.
We now provide upper bounds on the worst-case
H1
performance of Algorithms H1 and H2. Let Cmax
H2
and Cmax
denote the makespans obtained by applying
Fig. 1. Overlap of operations.
∗
Algorithms H1 and H2, respectively, and let Cmax
denote the optimal makespan. Moreover, let
n
n
X
X
aj ;
(10)
bj ;
LB = max
j=1
j=1
denote the trivial lower bound on the makespan of any
schedule.
Lemma 1. AlgorithmPH1 produces a schedule for
n
H1
62LB − j=1 dj .
which Cmax
Proof. Since aj ¿dj , by setting j = dj for j ∈ N , Algorithm H1 imposes an overlap of length dj between
operations aj and bj , as shown in Fig. 1. Since Algorithm A constructs a schedule in which at least one
machine is always busy, we have
H1
6
Cmax
n
X
j=1
aj +
n
X
j=1
bj −
n
X
dj :
j=1
Substituting (10) provides the desired result.
Lemma 2. AlgorithmPH2 produces a schedule for
n
H2
∗
6Cmax
+ j=1 dj =2.
which Cmax
Proof. It suces to show that there exists a feasible
solution ′ for the problem constrained by overlaps
j = (cj + dj )=2 for j ∈ N such that the correspondPn
′
′
∗
satises Cmax
6Cmax
+ j=1 dj =2.
ing makespan Cmax
Suppose that ={(S(aj ); S(bj )) | j ∈ N } is an optimal
schedule for the original instance I , and we assume
that the jobs are processed in the order (1; : : : ; n).
Let j = C(aj ) − (S(bj ) + (cj + dj )=2) for j ∈ N .
Subtracting S(bj ) + (cj + dj )=2 from each term of
S(bj )+cj 6C(aj )6S(bj )+dj , which is inequality (3),
yields (cj − dj )=26j 6(dj − cj )=2, or equivalently
|j |6(dj − cj )=26dj =2. Hence, we obtain the
170
J.B. Sidney et al. / Operations Research Letters 26 (2000) 165–173
Fig. 2. Illustration of j when j ¡ 0.
Fig. 3. Illustration of j when j ¿ 0.
inequality
n
X
j=1
|j |6
n
X
(11)
dj =2;
j=1
which we use later.
We nd ′ by perturbing iteratively using the
following procedure.
The worst-case performance bounds given in
Lemmas 1 and 2 for Heuristics
Pn H1 and H2 are decreasing and increasing in j=1 dj , respectively. For
Pn
2
j=1 dj ¿ 3 LB, Lemma 1 shows that
H1
∗
6 34 LB6 34 Cmax
Cmax
:
On the other hand, for
shows that
(12)
Pn
j=1
Procedure Perturb. Set S ′ (aj ) = S(aj ) and S ′ (bj ) =
S(bj ) for j = 1; : : : ; n.
Execute the following for j = 1; : : : ; n:
If j 60, then set
∗
H2
∗
:
6Cmax
+ 13 LB6 34 Cmax
Cmax
S ′ (ak ) ← S ′ (ak ) + |k | for k¿j;
Algorithm H
dj ¡
2
3 LB,
Lemma 2
(13)
Thus, we propose the following heuristic algorithm
for problem F2 | no-wait; setup{cj ; dj } | Cmax .
S ′ (bk ) ← S ′ (bk ) + |k | for k¿j + 1:
If j ¿ 0, then set
S ′ (ak ) ← S ′ (ak ) + k
′
′
S (bk ) ← S (bk ) + k
for k¿j + 1;
for k¿j:
The case that j 60 is illustrated in Fig. 2. In this case,
aj and all operations on machine M1 to the right of aj
are moved |j | time units to the right. Also, bj+1 and
all operations on machine M2 to the right of bj+1 are
moved |j | time units to the right. It is easy to see that
feasibility for the original problem I is maintained,
and that the transformation in the jth iteration yields a
schedule with C(aj ) = S(bj ) + (cj + dj )=2. A similar
argument holds for the case of j ¿ 0 (see Fig. 3).
Hence, when the procedure is complete, a feasible schedule for instance I is found for which the
overlaps are dened by j = (cj + dj )=2 for j ∈ N .
Moreover,
Pn no operation is moved to the right more
than j=1 |j |. Therefore, we deduce from inequalPn
′
∗
6Cmax
+ j=1 dj =2. Since Algoity (11) that Cmax
rithm H2 generates an optimal schedule for overlaps
H2
′
6Cmax
, from which
j = (cj + dj )=2, we have Cmax
the desired result follows.
Input: An instance I = {(aj ; bj ; cj ; dj ) | j ∈ N }
of problem F2 | no-wait; setup{cj ; dj } | Cmax which
satises condition (1).
Output: A feasible schedule ={(S(aj ); S(bj )) | j ∈ N }
for instance I .
Step 1. Compute the lower bound
n
n
X
X
aj ;
bj :
LB = max
j=1
j=1
∈ N from the following cases.
Select j for jP
n
Case A: If j=1 dj ¿ 23 LB, set j = dj for j ∈ N .
Pn
Case B: If j=1 dj ¡ 23 LB, set j = (cj + dj )=2 for
j ∈ N.
Step 2. Apply Algorithm A to the problem resulting
from Step 1 to obtain a schedule .
Step 3. Compute the early start schedule ˜ for this
H
.
ordering, and evaluate the resulting makespan Cmax
Step 4. Terminate.
Note that the performance guarantee is obtained
from the schedule found at the end of Step 2, while
Step 3 merely attempts to nd additional improvements.
171
J.B. Sidney et al. / Operations Research Letters 26 (2000) 165–173
Table 1
Data dening worst-case example for Case A
j
1
2
3
4
5
6
aj
bj
cj
dj
0
1
0
0
1
2
0
1
2
3
0
2
3
4
0
3
4
5
0
4
5
0
0
0
Fig. 5. Case A: schedule at Step 2 of Algorithm H.
H = 19.
Fig. 6. Case A: worst-case schedule, Cmax
∗ = 15.
Fig. 4. Case A: optimal schedule, Cmax
We now present the main result in this section.
Theorem 3. Algorithm H produces a schedule for
∗
H
in O(n log n) time.
6 34 Cmax
which Cmax
Proof. The worst-case performance bound of Algorithm H is obtained from inequalities (12) and (13).
The complexity of Algorithm H is governed
by the time requirement for solving problem
F2 | no-wait | Cmax in Step 2 of Algorithm A, which
is applied once during execution of Algorithm H.
The implementation of Gilmore, Lawler and Shmoys
[5] of the algorithm of Gilmore and Gomory [4]
solves problem F2 | no-wait | Cmax in O(n log n) time,
which is the time complexity of Algorithm H. Note
that pre-processing to convert an arbitrary instance
to one satisfying 06cj 6dj 6min{aj ; bj } requires
only O(n) time, and hence does not aect the overall
complexity.
∗ = 3k + 1.
Fig. 7. Case B: optimal schedule, Cmax
Fig. 8. Case B: schedule at Step 2 of Algorithm H.
5. Worst-case examples
In this section, we provide worst-case examples for
both Cases A and B from Step 1 of Algorithm H.
Note that in Case A, we have an instance for which
19
H
∗
= 1:266 ¡ 34 , whereas for Case B the
=Cmax
= 15
Cmax
worst-case instance shows that the bound of Theorem
3 is tight.
Worst-case example for Case A: n = 6
The instance is dened by the data in Table 1.
The optimal schedule for this example (using the
job sequence (1; 2; 3; 4; 5; 6)) is shown in Fig. 4. In
H = 4k.
Fig. 9. Case B: worst-case schedule, Cmax
Table 2
Data constructed by Algorithm A for Case A
j
1
2
3
4
5
6
a′j
b′j
0
1
0
1
0
1
0
1
0
1
5
0
Figs. 4 –9, numbers in the activity blocks represent
processing times, not job numbers. The optimal
∗
makespan is Cmax
= 15. Note that LB = 15 and
P
n
2
d
=
10
=
LB.
In Step 2 of Algorithm H
j=1 j
3
172
J.B. Sidney et al. / Operations Research Letters 26 (2000) 165–173
Table 3
Data dening worst-case example for Case B
j
1
···
k
k +1
···
2k
2k + 1
2k + 2
aj
bj
cj
dj
3
2
0
2
···
···
···
···
3
2
0
2
0
1
0
0
···
···
···
···
0
1
0
0
0
1
0
0
1
0
0
0
Table 4
Data constructed by Algorithm A for Case B
j
1
···
k
k +1
···
2k
2k + 1
2k + 2
a′j
b′j
2
1
···
···
2
1
0
1
···
···
0
1
0
1
1
0
(Step 1 of Algorithm A), the data for the resulting
F2 | no-wait | Cmax problem is shown in Table 2.
One possible schedule obtained by applying the
Gilmore–Gomory algorithm of Gilmore and Gomory
[4] to the data of Table 2 is shown in Fig. 5, where
is dened by the job sequence (1; 6; 2; 3; 4; 5). The
early start schedule for job order is obtained in
Step 3 of Algorithm H, and is shown in Fig. 6. The
H
= 19. Thus, we have
makespan of the schedule is Cmax
19
H
∗
Cmax =Cmax = 15 = 1:266 ¡ 1:333.
Worst-case example for case B: n = 2k + 2
The instance is dened by the data in Table 3.
An optimal schedule for this example is given in
∗
= 3k + 1.
Fig. 7 and the optimal makespan is Cmax
PN
Note that LB = 3k + 1 and j=1 dj = 2k ¡ 23 LB. In
Step 2 of Algorithm H (Step 1 of Algorithm A), the
data for the resulting F2 | no-wait | Cmax problem is
shown in Table 4.
One possible schedule (given by sequence (2k +
1; 2k + 2; 2k; 1; : : : ; 2k − 1)) obtained by applying the
Gilmore–Gomory algorithm to the data of Table 3 is
shown in Fig. 8. The early start schedule obtained in
Step 3 of Algorithm H is shown in Fig. 9, and the
H
H
∗
= 4k. Thus, we have Cmax
=Cmax
=
makespan is Cmax
4
4k=(3k + 1), which can be arbitrarily close to 3 .
6. Worst-case performance ratio
Theorem 3 establishes that Algorithm H generates
H
∗
=Cmax
6 43 . The worst-case
a schedule for which Cmax
example in Section 5 for Case B shows that this bound
is tight. Therefore, the worst-case performance ratio
of Algorithm H is 34 .
The worst-case example for Case A is not tight,
which indicates that there may be scope for modifying
Heuristic H to improve its worst-case performance.
Specically, rather than dierentiating
between Cases
Pn
A and B by comparing
d
with
fLB, where
j=1 j
2
f= 3 . An alternative fraction could be used. However,
we claim that no modication of this type can lead
to a worst-case performance ratio of less than 1.3. To
justify this claim, we note that Lemma 2 and inequality
(13) yield
n
H2
∗
6 Cmax
+
Cmax
6 (1 +
f
1X
∗
dj 6Cmax
+ LB
2
2
j=1
∗
f=2)Cmax
and worst-case examples show that this bound is tight.
Moreover, for f ¡ 0:6, an example for Case A shows
that the worst-case performance ratio is at least 1.3.
Thus, our claim is established.
Acknowledgements
This research was supported in part by the Natural
Sciences and Engineering Research Council of Canada
(Grants numbers OGP0002507 and OGP0104900),
and by NATO (Collaborative Research Grant No.
CRG 950773).
References
[1] K.R. Baker, Introduction to Sequencing and Scheduling,
Addison-Wesley, Reading, MA, 1974.
J.B. Sidney et al. / Operations Research Letters 26 (2000) 165–173
[2] B. Chen, C.N. Potts, G. Woeginger, A review of machine
scheduling: complexity, algorithms and approximability, in:
D.-Z. Du, P.M. Pardalos (Eds.), Handbook of Combinatorial
Optimization, Vol. 3, Kluwer, Dordrecht, 1998, pp. 21–169.
[3] M.R. Garey, D.S. Johnson, Computers and Intractability:
A Guide to the Theory of NP-Completeness, Freeman, San
Francisco, 1979.
[4] P.C. Gilmore, R.E. Gomory, Sequencing a one state-variable
machine: a solvable case of the travelling salesman problem,
Oper. Res. 12 (1964) 655–679.
[5] P.C. Gilmore, E.L. Lawler, D.B. Shmoys, Well-solved special
cases, in: E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan,
D.B. Shmoys (Eds.), The Travelling Salesman Problem:
A Guided Tour of Combinatorial Optimization, Wiley,
Chichester, UK, 1985, pp. 87–143.
[6] S.K. Goyal, C. Sriskandarajah, No-wait shop scheduling:
computational complexity and approximate algorithms,
Opsearch 25 (1988) 220–244.
[7] R.L. Graham, E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy
Kan, Optimization and approximation in deterministic
[8]
[9]
[10]
[11]
[12]
[13]
173
sequencing and scheduling: a survey, Ann. Discrete Math. 5
(1979) 287–326.
J.N.D. Gupta, V.A. Strusevich, C.M. Zwaneveld, Two-stage
no-wait scheduling models with setup and removal times
separated, Comput. Oper. Res. 24 (1997) 1025–1031.
N.G. Hall, C. Sriskandarajah, A survey of machine scheduling
problems with blocking and no-wait in process, Oper. Res.
44 (1996) 510–525.
E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, D.B.
Shmoys, Sequencing and scheduling: algorithms and
complexity, Report BS-R8909, Center for Mathematics and
Computer Science, Amsterdam, The Netherlands, 1989.
R. Logendran, C. Sriskandarajah, Two-machine group
scheduling problem with blocking and anticipatory setups,
Eur. J. Oper. Res. 69 (1993) 467–481.
M. Pinedo, Scheduling Theory, Algorithms, and Systems,
Prentice-Hall, NJ, 1995.
H. Rock, The three machine no-wait
owshop problem is
NP-complete, J. Assoc. Comput. Mach. 31 (1984) 336–345.