Directory UMM :Data Elmu:jurnal:T:Transportation Research_Logistics & Transportation Review:Vol35.Issue1.MAr1999:
Int. J. Production Economics 65 (2000) 125}139
A two machine bicriteria scheduling problem
Subhash C. Sarin*, R. Hariharan
Department of Industrial and Systems Engineering, 250 New Engineering Building, Virginia Polytechnic Institute and State University,
Blacksburg, VA 24061, USA
Received 10 June 1998; accepted 26 August 1998
Abstract
In this paper we consider the bicriteria problem of scheduling n jobs on two parallel machines to minimize the primary
criterion of maximum tardiness (¹ ) and the secondary criterion of number of tardy jobs (NT). Algorithms are
.!9
developed to optimize each of these criteria. Some properties on which the ¹
algorithm is based are developed.
.!9
Computational experience with the algorithms is also reported. ( 2000 Elsevier Science B.V. All rights reserved.
Keywords: Bicriteria scheduling; Two machines
1. Introduction
In this paper we consider the problem of scheduling n jobs on two parallel machines to minimize
maximum tardiness (¹ ) and total number of
.!9
tardy jobs (NT). The former is considered as a primary criterion while the latter is considered as
a secondary criterion. The primary criterion is the
one that is optimized "rst while the secondary
criterion is optimized subject to the value obtained
for the primary criterion.
A survey of the work done on the single machine
bicriteria problem is given by Dileepan and Sen [1]
while the two and higher machine bicriteria problems have been addressed only recently. Cenna and
Tabucanon [2] discuss a bicriterion parallel machine problem of minimizing total #owtime and
¹ . They present a procedure to generate e$cient
.!9
* Corresponding author.
solutions based on an approach which "rst allocates jobs in accordance with a list schedule and
then determines e$cient sequences on individual
machines using a single machine bicriteria procedure. Daniels and Chambers [3] consider the sequencing of jobs through a multimachime #owshop
for the two criteria of min C (maximum comple.!9
tion time among all machines) and ¹ . The aim is
.!9
to develop e$cient set of solutions. An algorithm is
suggested to generate an exact number of e$cient
solutions for the two machine problem while heuristic procedures are suggested for approximating
the e$cient sets for higher number of machines.
Considering only the ¹
criterion problems,
.!9
Gary and Johnson [4] present a procedure for
a special version of this problem in which the processing time of all the jobs is identical and jobs have
arbitrary precedence among them. Townsend [5]
considers the n job, m machine, min ¹ #owshop
.!9
problem and suggests a branch and bound procedure for its solution. In their paper, Nunnikhoven and
Emmons [6] develop enumerative optimization
0925-5273/00/$ - see front matter ( 2000 Elsevier Science B.V. All rights reserved.
PII: S 0 9 2 5 - 5 2 7 3 ( 9 9 ) 0 0 0 5 0 - X
126
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
methods to determine minimum number of parallel
processors required to meet due dates. These
methods can be used to minimize ¹
on a given
.!9
number of machines by sequentially trying various
tardiness values until the attainment of a minimum
tardiness value for which a schedule can be found.
The two machine ¹
problem is shown to be
.!9
NP-complete [7]. Hence, the bicriteria problem
under consideration is also NP-complete. Consequently, we develop an approximate algorithm for
this problem that generates almost optimal solutions. To that end, we "rst present some assumptions and notation that are used in the remainder of
the paper. This is followed by motivation regarding
the development of the algorithms for both the
criteria. Some properties on which the algorithm
for minimizing ¹
is based are developed next.
.!9
The algorithms are then described. In the end, some
computational experience with these algorithms is
presented.
2. Assumptions and notation
Considering the ¹
problem, there exists an
.!9
allocation of the jobs to the two machines corresponding to the optimal value of ¹ such that the
.!9
jobs on each machine are arranged in EDD order.
This follows from the fact that if the jobs on each
machine are not in EDD order then the ¹ value
.!9
cannot be worsened by arranging them in EDD
order. Hence, without loss of generality we assume
that the jobs on each machine are arranged in EDD
order. In an EDD sequence on a machine, if two
Jobs i and j have equal due dates, then the job with
a higher processing time precedes the job with
a lower processing time. We use the notation i.b.j to
represent the fact that Job i precedes Job j in
a sequence of jobs on both the machines. Conversely also, the notation, i.b.j. will mean that d (d and
i
j
if d "d then p *p . Also, by the notation i.b.k.b.j.
i
j
i
j
we imply that Job i precedes Job k and Job k precedes Job j in a sequence of jobs on both the
machines. Let ¹ 1 be the maximum tardiness
.!9
among the jobs on machine 1 and ¹ 2 be the
.!9
maximum tardiness among the jobs on machines 2.
In the sequel, we will refer to the ¹
job on
.!9
Machine 1 by k and that on Machine 2 by l.
Machines 1 and 2 are labeled such that k.b.l. The
maximum tardiness value for the two machine
problem, ¹ "max(¹ 1, ¹ 2), and the opti.!9
.!9
.!9
mal two machine maximum tardiness value will be
denoted by ¹H . We will also use the notation
.!9
¹ and ¸ to represent the tardiness and lateness,
i
i
respectively, of a job i, in a sequence of the jobs on
the two machines.
3. Motivation regarding the development of the
algorithms
The procedure that is developed to minimize
¹ "rst aims at the determination of an allocation
.!9
of the jobs to the two parallel machines such that
the minimum of the ¹
values of the jobs on the
.!9
two machines sets a lower bound on ¹H so that it
.!9
lies in the closed interval (or range) [¹ 1, ¹ 2].
.!9
.!9
This will be called the &range location phase' or
Phase 1 of the algorithm. Starting from a given
allocation of the jobs to the two machines, this is
accomplished by exchanging them between the two
machines so that no further exchange can lead to
a value of maximum tardiness less than the current
minimum between the ¹ 1 and ¹ 2 values.
.!9
.!9
Single job exchanges and multiple job exchanges
between the two machines are considered. All such
exchanges are made depending upon the locations
of the ¹ 1 and ¹ 2 jobs on the machines. A set
.!9
.!9
of conditions are developed in Section 4 to determine the jobs to switch to result in successful
exchanges.
After obtaining a closed interval [¹ 1, ¹ 2]
.!9 .!9
by the process of range location, we next attempt to
reduce this range so that the ¹H value lies on
.!9
a smaller interval. This will be called the &range
reduction phase' or Phase II of the algorithm. Such
a reduction can be performed in the following three
di!erent ways: (i) by reducing the higher of the two
¹
values while keeping the other one the same
.!9
(referred to as Strategy A); (ii) by reducing the
higher and increasing the lower of the two values
(referred to as Strategy B); (iii) by increasing the
lower of the two ¹
values while keeping the
.!9
other one the same (referred to as Strategy C).
The procedure adopted to accomplish range
reduction involves a series of job exchanges
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
127
4. Exchange procedure analysis
Before developing the conditions for the jobs to
be exchanged, let us "rst illustrate the concept, on
which the procedure is based, through two simple
examples.
Example 1. Consider the processing time and due
date data for the eight jobs given below.
Fig. 1. Overall logic of the procedure used.
between the two machines including single and
multiple job exchanges. The process of considering
all possible multiple job exchanges is equivalent of
solving a knapsack problem. Due to an extensive
amount of computational e!ort involved to do this,
we consider instead exchanges of a particular type.
This makes the algorithm a heuristic procedure,
even though, as is shown later, the solutions
obtained are found to be almost optimal. After
a successful range reduction step, the range relocation step is executed to see if the range can be
relocated. The overall logic of the algorithm is
given in Fig. 1.
The algorithm developed to minimize NT
follows a search tree procedure. The scheduling of
jobs is carried out beginning from the last position.
Hence, the makespan value on each machine needs
to be known. These makespan values are determined based on the ¹
value and the maximum
.!9
due date. Since the jobs are scheduled backward,
the "nish time of a job is known when it is scheduled, and accordingly its tardiness value can be
determined. Hence, only those jobs that do meet
the primary criterion at a position are considered
for that position. The allocation of each eligible job
there gives rise to a branch of the search tree and
a corresponding node of the partial sequence.
Job
1
2
3
4
5
6
7
8
Processing time
Due date
1
0
2
1
2
1
1
2
3
3
4
7
3
10
8
11
The jobs are numbered in the nondecreasing order
of their due dates. They are allocated in this order
to the earliest available position on the two parallel
machines. The resulting schedule is shown in Fig.
2(a). In this schedule, ¹ 1"3 and it occurs for
.!9
Job 5, while ¹ 2"4 and it occurs for Job 8. Thus,
.!9
¹ "4. Now, if we remove Job 1 from Machine
.!9
1 and Job 6 from Machine 2 and put them in their
EDD positions on Machines 2 and 1, respectively,
the resulting schedule (shown in Fig. 2(b)) has
¹ "2. Incidentally, the new ¹ 1 and
.!9
.!9
¹ 2 values happen to be the same. This need not
.!9
be the case in general. Thus, by switching some jobs
between the machines, the new ¹
value became
.!9
less than the current min(¹ 1, ¹ 2) value ("3).
.!9 .!9
This is the range relocation concept.
Example 2. Consider another example shown
below.
Job
1
2
3
4
5
6
7
8
Processing time
Due date
5
3
5
4
1
5
1
6
2
8
4
9
3
12
7
13
The starting schedule is shown in Fig. 3(a). For
this schedule, ¹ 1"2 and ¹ 2"4. Clearly, the
.!9
.!9
¹ value for this problem cannot be less than 2 as
.!9
¹ 1 occurs for the "rst job on Machine 1. The
.!9
range for ¹
is therefore [2, 4]. Now, if we shift
.!9
Job 4 from Machine 2 to Machine 1, the resulting
schedule (shown in Fig. 3(b)) has ¹ 2"3. Thus,
.!9
the ¹
range has been reduced to [2, 3]. This is
.!9
the range reduction concept. The range of ¹
is
.!9
reduced here by reducing ¹ 2. In general, it can
.!9
128
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
Fig. 2. Example 1.
Fig. 3. Example 2.
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
also be reduced by increasing ¹ 1 or by simulta.!9
neously increasing ¹ 1 and reducing ¹ 2. Also,
.!9
.!9
note that, shifting Job 2 or Job 6 individually in
Fig. 3(a) does not result in range reduction.
However, if an appropriate job is also shifted from
Machine 1 to Machine 2 then it may. For instance,
if Job 6 is shifted to Machine 1 and Job 5 is shifted
to Machine 2 in Fig. 3(a), then range reduction is
achieved. In fact, then, ¹ 1"2 and ¹ 2"2.
.!9
.!9
In general, multiple jobs from Machine 1 may be
switched with multiple jobs from Machine 2 to
e!ect the change with respect to both range relocation and range reductions. To see this, consider the
situation in Fig. 3(b). If Job 6 from Machine 2 is
switched with Jobs 4 and 5 from Machine 1, then
the resulting values of ¹ 1"2 and ¹ 2"2.
.!9
.!9
As, for a given allocation of the jobs to the two
machines, the jobs on each machine are arranged in
EDD order, the main aim of the procedure is therefore to determine an allocation of the jobs to the
two machines that results in ¹H . In light of this,
.!9
there are two key questions: (i) how to select which
jobs to switch between the machines both for range
relocation and range reduction, and (ii) when to
stop. Next, we develop conditions to implement (i)
both for range relocation (Phase I) and range reduction (Phase II). Since the requirements of each
of these steps are di!erent, they lead to di!erent sets
of conditions. The issue (ii) of when to stop is
discussed subsequently in Section 4.3.
4.1. Development of conditions for range relocation
(Phase I)
The analysis is divided into two cases depending
upon whether or not jobs k and l are considered as
part of the set of jobs to be exchanged.
4.1.1. Analysis for the case when the ¹
jobs are
.!9
not exchanged
Consider an allocation of the jobs to the two
machines with the jobs assigned to the machines in
the EDD order, as described above. First consider
the single job exchange. Let Job i from Machine
1 be exchanged with Job j from Machine 2 such
that i.b.j, and i and j are not the jobs with the
¹ 1 and ¹ 2 values, respectively. Let p and p be
.!9
i
j
.!9
their respective processing times. Such an exchange
is shown in Fig. 4.
129
Fig. 4. Exchange procedure analysis.
Theorem 1. Under single job exchange, both
¹ 1 and ¹ 2 decrease simultaneously if and only
.!9
.!9
if there exist a Job i on Machine 1 and a Job j on
Machine 2 such that
p (p and d )d (d )dl,
i
j
i
k
j
where k and l are the jobs corresponding to the
¹ 1 and ¹ 2 values, respectively.
.!9
.!9
Proofs of Theorem 1, and Theorems 2 and 4 to
follow, are given in the Appendix.
Next, we precisely develop the conditions for the
exchange of Jobs i and j to result in the ¹ value
.!9
less than min(¹ 1, ¹ 2). Such an exchange of
.!9
.!9
Jobs i and j will be called a successful exchange.
Theorem 2.
(a) If ¹ '¹l, the conditions for a successful exk
change are:
(i) there exists a Job i on Machine 1 such that
p ¹ !¹l#1 and d *d (if more than
i k
i
k
one Job i exist then we select a job with the
minimum processing time and designate it
by p
);
i .*/
(ii) there exists a Job j on Machine 2 such that
;
d (d )dl and p 'p
j
i .*/
k
j
(iii) for Jobs q on Machine 2 such that
d )d )d , ¸ )¹l!(p
#1);
i
q
j q
i .*/
(iv) for Jobs m on Machine 1 such that
d *d , ¸ )¹l!(p !p
)!1; and
m
j m
j
i .*/
(v) the tardinesses of the Jobs i and j, after the
move, are less than ¹l
(b) If ¹ )¹l, the necessary conditions for a suck
cessful exchange are:
(i) there exists a Job i on Machine 1 such that
d (d (if more than one Job i exist, then we
i
k
select min such i and designate it by p
),
i .*/
and a Job j on Machine 2 such that
d (d )dl and p *p
#¹l!¹ #1;
k
j
j
i .*/
k
130
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
(ii) for any Job m on Machine 1 such that
d 'd , ¸ )(¹ !¹l)#¹ !2;
m
j m
k
k
(iii) for any Job q on Machine 2 such that
d )d )d , ¸ )¹ !(p
#1); and
i
q
j q
k
i .*/
(iv) the tardinesses of the Jobs i and j, after the
move, are less than ¹ .
k
The conditions in Theorem 2 indicate that if any
one of them is violated, then it is not possible to get
a schedule with the ¹
value less than
.!9
min(¹ , ¹l). Note that condition (iii) of Theorem
k
2(b) can be relaxed for implementation purposes by
considering Job q s.t. d )d )d (instead of
i
q
s
d )d )d ), where d )d for all Jobs j on
i
q
j
s
j
Machine 2 s.t. d (d (dl.
k
j
4.1.1.1. Extension to multiple job exchange. The
above discussion was focused on the exchange of
a single Job i on Machine 1 with a single Job j on
Machine 2. However, the arguments presented can
easily be extended to the exchange of multiple jobs.
Conditions for this case are equivalent to those
in Theorem 2 and can be developed to be the
following.
Case (a): ¹ '¹l
k
(i) there exists a set of Jobs A on Machine
1 (equivalent of Job i before) such that d )d
a
k
for all a3A and + p *¹ !¹l#1.
a|A a
k
(ii) there exists a set of Jobs B on Machine
2 (equivalent of Job j before) such that
d (d)dl for all b3B and + p '+ p .
k
b|B b
a|A a
(Note that the sets A or B could be singletons.)
(iii) If j represents a job amongst the jobs in B with
1
the minimum due date, then for all q)Q on
Machine 2 s.t. d (d (d (where Job i is the
i
q
j
single job being exchanged with a set of Jobs
B), ¸ 3¹l!(+ p #1).
a|A a
q
(iv) If j represents the job with the highest due
2
date among those in the set B, then
¸ )¹l!(+ p !+ p ) for all jobs
b|B b
a|A a
m
m3M on Machine 1 such that d *d 2.
m
j
(v) The tardinesses of the jobs in Sets A and B,
after the move, are less than ¹l.
In case multiple jobs can be found that meet
condition (i), determine a set of jobs to be switched
by solving the knapsack problem: + p x s.t.
a{ a{ a{
+ p x *v; where v"¹ !¹l#1 to start with.
a{ a{ a{
k
If there is an alternative optimum, then select
a solution for which the last a@ job, with xa@"1,
has maximum da@. Call this job llast. If
#1) (where p
"+ p x ), for
¸ )¹l!(p
i .*/
i .*/
a{ a{ a{
q
all q, llast.b.q.b.k, then that set is selected for possible switch. If not, make v"v#1, and search for
another set A.
Multiple jobs for switching are determined by
generating combinations of the jobs that satisfy the
speci"ed condition to belong in Set A. Various
combinations of the jobs of increasing cardinality
are generated systematically. Whenever, a combination of the jobs is found (with respect to Set A),
then the best combination of the jobs of that cardinality is selected to switch. Thus, the knapsack
problem is solved heuristically using partial enumeration.
Case (b): ¹ )¹l
k
(i) there exists a set of Jobs A on Machine 1 and
a set of Jobs B on Machine 2 such that
d (d , d (d , a3A, b3B, and + p !+ p
a
k b
k
a a
b b
is minimum (+ p '+ p ), and a set of Jobs
a a
b b
B on Machine 2 such that d (d 3dl, for all
2
k
c
c3B and + p (+ p !+ p )#¹l!¹ #1.
k
2
c|b c a a
b b
(ii) for all Jobs m on Machine 1 such that
d 'dl, ¸ )(¹ !¹l)#(¹ !2).
m
m
k
k
(iii) if d is the highest due date job among the jobs
a and b de"ned in (i), and o represents the job
with the highest due date among those in B
2
(de"ned in (i)), then for all Jobs q on Machine
2 such that d )d (d , ¸ )¹ !(+ p
d
q
o q
k
a a
!+ p )!1.
b b
(iv) the tardinesses of the jobs in Sets A and B, after
the move, are less than ¹ .
k
4.1.2. Analysis for the case when the jobs k and l are
exchanged
Now, consider the case when the jobs considered
for exchange, namely, Job i or Job j (or both)
correspond to the Jobs k and l. This can lead to the
consideration of the following three di!erent cases.
Case 1: Job k is moved from Machine 1 to
Machine 2 but Job l is not.
Case 2: Job l is moved from Machine 2 to
Machine 1 but Job k is not.
Case 3: Job k is moved from Machine 1 to
Machine 2 and Job l is moved from
Machine 2 to Machine 1.
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
Consider Case 1. As in either of the two situations,
namely (a) ¹ (¹l and (b) ¹ *¹l, the
k
k
min(¹ , ¹l) needs to decrease at least by a unit
k
value, we require that
a. Some Job &m' such that m.b.k should be shifted
from Machine 2 to Machine 1.
b. If Job k is the "rst of the jobs in the sequence to
be shifted from one machine to another, then it
should be moved such that it gets an earlier
start time on Machine 2. Also, we would require
that p (p because, otherwise for some Job &q'
m
k
on Machine 1 such that q.b.k, its completion
time value obtained after the exchange would
be greater than the completion time value of
Job k before the exchange thus leading to
a higher tardiness value.
c. If Job k is moved from Machine 1 to Machine
2 and Job m from Machine 2 to Machine 1 with
m.b.k and p (p then it is necessary to move
m
k
Job l from Machine 2 to Machine 1 because
otherwise there would be an increase in the
completion time of Job l on Machine 2 and this
is not desired. Thus, we note that Case 1 becomes identical with Case 3.
As regards Case 2, it is necessary to move some
Job i with i.b.k from Machine 1 to Machine 2 so
that the tardiness value of Job k decreases. Now,
considering the situations pertaining to (a) ¹ (¹l
k
and (b) ¹ *¹ , the analysis becomes identical to
k
l
that of the analysis presented in Section 4.1.1 (when
the jobs with ¹
values are not exchanged) with
.!9
only Job j being replaced by Job l. Hence, we note
that in this context the only case that demands
further discussion is Case 3, that is, when both Job
k and Job l are shifted. In this case, as described
above in Case 1, we would shift Job m such that
m.b.k from Machine 2 to Machine 1, Job k
from Machine 1 to Machine 2 and Job l
from Machine 2 to Machine 1. Extension of this
argument to the case of multiple job exchange
would require the interchange of Job k and a set of
Jobs A from Machine 1 for which d (d for all
a
k
a3A, with a set of Jobs B from Machine 2 for which
d (d for all b)B, such that + p !+ p (p
b
k
b b
a a
k
and Job l.
Note that Theorem 1 speci"es both the necessary
and su$cient conditions for the relocation of
131
¹H range. Conditions of Theorem 2 and the sub.!9
sequent development for multiple job exchange and
the exchange of ¹ jobs are all based on the result
.!9
of Theorem 1 and hence lead to the conclusion of
the following result.
Theorem 3. If for a given allocation of the jobs to the
two machines with ¹M
"min(¹ 1, ¹ 2), single
.!9
.!9 .!9
and multiple job exchanges violate the conditions of
Theorem 2 (and subsequent ones for multiple jobs)
and those for the case when the ¹ jobs on both the
.!9
.
machines are also exchanged, then ¹H *¹M
.!9
.!9
Moreover, it is clear that ¹H )max(¹ 1, ¹ 2).
.!9
.!9 .!9
Hence, the Phase I analysis results in an upper and
lower bound on ¹H .
.!9
4.2. Analysis to constrict the range obtained
(Phase II)
Now that (as a result of Phase I) we have an
assignment of the jobs on the two machines such
that no change in the assignment would lead to
a value of ¹
less than min(¹ , ¹l), we reassign
.!9
k
the jobs so as to constrict the range over which the
¹
value lies. The aim is to constrict it to an
.!9
extent that either it becomes small enough to satisfy
a prespeci"ed value or it cannot be reduced any
more.
Constriction of range is done by following strategies, A, B or C (described earlier in Section 3)
depending upon the locations of the jobs from
Machines 1 and 2 that are considered for exchange.
If the exchange procedure uses Strategy A then it is
obvious that we have a new set of values ¹ and
k
¹l such that the optimal value of ¹ [¹ , ¹l]
.!9 k
because it reduces the maximum of the two
¹ values. In case of the use of Strategies B or C,
.!9
as the minimum of ¹ 1 and ¹ 2 increases, it is
.!9
.!9
necessary to verify once again if the optimal value
of ¹
lies over the new range corresponding to
.!9
the new ¹ and ¹l values obtained. This is checked
k
by applying Phase I. This results in the identi"cation of a range smaller than before over which the
optimal ¹
value lies. In the following section,
.!9
an analysis is presented to select the jobs to be
exchanged between the two machines in accordance with each of the three strategies.
132
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
The analysis is divided into two cases depending
upon whether ¹ (¹l or ¹ '¹l.
k
k
Case a: ¹ )¹l
k
Strategy A: To implement this strategy, select
a Job j from Machine 2 such that d (d )dl (so
k
j
that ¹ is not a!ected), and that for all Jobs Q on
k
Machine 1 with d (d , q3Q, ¸ #p )¹l so that
j
q
q
j
the tardiness of any job does not exceed ¹l. Also, in
order that the value of ¹l does not decrease beyond
the value of ¹ , the processing time of the Job
k
j transferred from Machine 2 to Machine 1 with
d (d )dl, and j.b.l, should be such that
k
j
¹l!p *¹ or ¹l!¹ *p . A more general
j
k
k
j
way of following Strategy A is by the exchange of
multiple Jobs i on Machine 1 with multiple Jobs
&j ' on Machine 2 such that +p (+p and
i
j
¹l!¹ *+p !+p .
k
j
i
Strategy B: For a job exchange that follows this
strategy, we would consider the transfer of a single
Job j from Machine 2 to Machine 1 such that
d (d (designated as exchange of Type 1), or the
j
k
exchange of a Job i from Machine 1 with Job j from
Machine 2 such that p 'p , d )d and d (d
j
i i
k
j
k
(designated as exchange of Type 2)
Since we are interested in having the "nal values
of ¹ and ¹l (i.e. the values after the exchange of
k
jobs) to lie in the closed interval [¹ , ¹l], in the
k
exchange of Type 1 we require that ¹ #p (¹l or
k
j
p (¹l!¹ ), and in the exchange of Type 2, we
j
k
require that ¹ #(p !p ))¹l or p !p )¹l!¹ .
k
j
i
j
i
k
The tardiness values of the appropriate sets of jobs
on Machines 1 and 2 should not violate this condition as well. For instance, if i.b.j, ¸ #p )¹l!1
m
i
for i.b.m.b.j, and if j.b.i, ¸ #p )¹l!1 for
m
j
j.b.m.b.l.
The exchange of Type 2 can be generalized to the
exchange of multiple Jobs i from Machine 1 with
multiple Jobs j from Machine 2 such that
+p !+p (¹l!¹ with the tardiness values of
j
i
k
the appropriate sets of jobs on Machines 1 and
2 not violating this condition.
Strategy C: To implement this strategy, exchange
Job i from Machine 1 with Job j from Machine
2 such that p "p , d (d and d (d (dl.
i
j j
k
k
i
Case b: ¹ '¹l
k
Strategy A: In this case, exchange Job i from
Machine 1 with Job j from Machine 2 such that
p "p , d (d and d (d (dl, with the tardiness
i
j i
k
k
j
value of none of the jobs on Machine 2 in between
Jobs i and j to exceed ¹l.
Strategy B: This would require either the transfer
of a single Job i from Machine 1 to Machine 2 such
that d (d (exchange of Type 1) or the exchange of
i
k
Job i from Machine 1 with Job j from Machine
2 such that p 'p , d (d and d )d (exchange of
i
j i
k
j
k
Type 2). The restriction of the "nal values of ¹ and
k
¹l to the closed interval [¹l, ¹ ] would require
k
that p )¹ !¹l in case of exchange of Type 1,
i
k
and p !p )¹ !¹l in case of exchange of
i
j
k
Type 2 with the tardiness values of the appropriate
sets of jobs on Machines 1 and 2 not violating this
condition as well.
Strategy C: This would require either the transfer
of a single Job i from Machine 1 to Machine 2 such
that d )d )dl or the exchange of Job i on Mak
i
chine 1 with Job j on Machine 2 such that
p 'p , d (d (dl and d (d (dl. Moreover, to
i
j k
i
k
j
restrict the "nal values of ¹ and ¹l to the closed
k
interval [¹l, ¹ ] requires restrictions on p and
k
i
p !p as mentioned above in Strategy B.
i
j
4.3. Optimality of the procedure
Theorem 4. Repeated Application of Phase I and
Phase II will result in the attainment of ¹H .
.!9
This result indicates to stop performing job
switches between the machines when both Phase
I and Phase II exchanges are not successful.
5. Algorithm to minimize ¹
.!9
Next, we present the ¹
minimization algo.!9
rithm. It incorporates only selected job exchanges,
namely those involving single jobs and contiguous
jobs. As a result, it does not guarantee attainment
of the optimal solution. However, the algorithm
is e$cient and the experimentation, reported
later, indicates that it generates almost optimal
solutions. An outline of the algorithm is given in
Fig. 5.
Step 1:
Arrange all the jobs in the EDD order and if
d "d and p 'p then i.b.j.
i
j
i
j
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
133
Fig. 5. An outline of the ¹
Algorithm.
.!9
Step 2:
Allocate the jobs in that order on the two machines such that each job gets the earliest possible start.
Step 3:
Designate ¹ 1 and ¹ 2 by ¹ and ¹l such
.!9
k
.!9
that k.b.l with the machine to which Job k
belongs denoted as Machine 1 and the other
machine denoted as Machine 2.
Phase I (Range Relocation Phase)
Step 4:
Does there exist a Job j on Machine 2 such that
k.b.j.b.l
if no, then go to Step 7
else go the Step 5.
Step 5: (Execute this step to relocate the range if
¹ '¹l)
k
if ¹ '¹l then
k
try single and multiple job switches between
the machines for successful range relocation
by checking the necessary conditions (i) to (v)
of Theorem 2(a).
if max(¹ new, ¹l new)*¹l, do not make
k
the switch and determine another set of
Jobs i and j
134
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
if no single or multiple Job j can
be found that satisfy conditions of
Theorem 2(a), then go to Step 7.
else continue
else max(¹ new, ¹l new)(¹l, switch is
k
successful in relocating range and exit to
Step 3.
else go to Step 6.
Step 6: (Execute this step to relocate the range when
¹ )¹l)
k
if k"1, then no Job i can be found, so go to
Step 7.
else determine a single or multiple Job i to be
switched with a single or multiple Job j that
satisfy all conditions of Theorem 2(b).
if max(¹ new, ¹l new)(¹ , then go to
k
k
Step 3
else determine new sets of jobs to be switched
if no jobs can be found for switching, then
go to Step 7
else, continue to "nd new sets of jobs.
Step 7: (Execute this job to exchange Jobs k and l).
This is done in accordance with the earlier discussion in Section 4.1.2. We do not consider here
exchanges of multiple jobs between the machines
for the sake of simplicity.
Set ¸B "0
m
if there exists a job m on Machine 2 such that
¸B .b.m.b.k and p (p
m
m
k
then select m such that p is minimum;
m
shift Job m to Machine 1, Job k to Machine
2, and Job l to Machine 1.
if max(¹ new, ¹l new)(max(¹ , ¹l),
k
k
then go to Step 3
else put the jobs to their original positions, set ¸B "m and try to "nd anm
other m.
else range cannot be relocated, go to Step 8.
Phase II (Range Reduction Phase)
Step 8: (Phase II for the case when ¹ )¹l.)
k
Once a range is established over which the
¹
value lies, an attempt is made to reduce it
.!9
by using the strategies described in Section 4.2.
if ¹ '¹l, then go to Step 9
k
else try Strategy A, then B and then C as
described in Case (a) of Section 4.2.
In Strategy B, "rst try exchange Type 1
and then exchange of Type 2.
if a switch is successful, then
if it is successful due to Strategies
B or C, then exit to Step 3
else try Strategies A, B, and C again
else go to Step 10.
Step 9: (Phase II for the case when ¹ '¹l)
k
First, try Strategy A followed by the exchange of
Type 1 and then of Type 2 under Strategy B as
described in Case (b) of Section 4.6 and implemented in Step 8 except that now the roles of
Machine 1 and Machine 2 are switched, and
then try Strategy C in that order.
if a switch is successful, then
if it is successful due to Strategies B and/or
C, then exit to Step 3
else try Strategies A, B, and C again.
else go to Step 10.
Step 10:
Determine ¹ and ¹l for the current schedule. The
k
best value of ¹
obtained"max(¹ , ¹l).
.!9
k
6. Minimization of the secondary criterion
As alluded to earlier, a branch and bound based
method is used to min NT given the ¹
value. It
.!9
proceeds by scheduling the jobs backwards on both
the machines. To implement it, we "rst need to "x
the makespan on both the machines and then make
the job allocations. If C and C are the makespan
1
2
values on Machines 1 and 2, then C#C is equal
2
to the sum of the processing times of the jobs, and is
constant. Therefore, for a given C there corres1
ponds a de"nite value of C .
2
If d
denotes the maximum among the due
.!9
date values, then the maximum possible value of
C that does not violate the primary criterion is
1
d #¹H . Also, in order that the optimal value
.!9
.!9
of ¹ is maintained, for any job to end at Time t,
.!9
it is necessary that t)d #¹H . Hence, not every
.!9
i
combination of C and C will be feasible to the
1
2
primary criterion. That is, if the jobs are scheduled
backwards starting from a set of C and C values,
1
2
we may come across a value of t at which no job is
eligible to be scheduled with respect to the primary
criterion thereby causing a gap in the schedules.
Since the criteria to be optimized are regular, such
schedules cannot be optimal with respect to both
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
NT and ¹ criteria. The schedules with gaps will
.!9
be referred to as infeasible schedules. However, we
know that there does exist at least one feasible set of
C and C values (in particular, the makespan
1
2
values corresponding to the schedule that optimizes the primary criterion) that gives a feasible set
of makespan values.
In the algorithm presented, we begin by examining various possible assignments beginning with
a makespan value C "d #¹H on Machine
.!9
1
.!9
1 and the corresponding value of C on Machine 2.
2
If a certain value of C is found to be infeasible, we
1
proceed to the next possible value of C . The pro1
cedure is continued until all possible values of
C are covered.
1
6.1. Algorithm to minimize the number of tardy jobs
Let N¹ "the number of tardy jobs obtained so
i
far in any branch i; ;B"the upper bound value
on the number of tardy jobs; and ¹
(i) and
.*/641
¹
(i) be the values of time on the two machines
.*/642
for active branch i.
Step 1: Initialization.
Let C "d #, and de"ne C accordingly.
1
.!9
2
Without loss of generality, let C *C (that is,
1
2
the machine with the larger makespan is designated as Machine 1). Let UB"the number of
tardy jobs in the schedule obtained for the
¹
problem.
.!9
Step 2:
Set NT"0, C"max(C , C ), and F"C.
1 2
Step 3:
Determine the set of jobs (designated eligible
jobs) which have not been scheduled so far and
which when scheduled to end at Time F would
not have a tardiness value greater than ¹H .
.!9
Note that this would also include the jobs that
would be early if scheduled to end at that position. If no job is eligible, fathom that branch and
go to Step 5.
Step 4:
For each eligible Job i, branch out by scheduling
Job i to end at Time F on the machine from
which the value of F was obtained. Determine
the corresponding starting Time S or S of the
1
2
job on Machine 1 or 2 wherever scheduled. If for
any branch S (0 or S (0, fathom that
1
2
135
branch (implying an infeasible assignment as the
job starting time precedes machine availability
time). Also, fathom a branch if max(S , S )"0.
1 2
This indicates the attainment of a feasible schedule. If F)d , then set the NT value for this
i
branch equal to the NT value of the parent
branch. Otherwise, NT value of this
branch"NT value for the parent branch #1
(if NT*UB, then fathom this node). Store the
values of S and S for each branch in the arrays
1
2
named ¹
and ¹
. If there are two jobs
.*/641
.*/642
with the same processing time eligible to be
scheduled at a position, store the schedule corresponding to the job that would not be tardy at
that position, otherwise store the schedule corresponding to any one of them. Determine the NT
value of a branch with the max(S , S )"0, and
1 2
set UB"min (UB, NT).
Step 5:
Set
S"max
Mmax[¹
(i), ¹
(i)]N,
ixAN
.*/641
.*/642
where AN refers to the set of activenodes. If
AN"/, then go to Step 6. Let k be the value of
i corresponding to S. Set S "¹
(k)
1
.*/641
and S2"¹
(k) and delete ¹
(k) and
.*/642
.*/641
¹
(k) from ¹
and ¹
respectively.
.*/642
.*/641
.*/642
Go to Step 3.
Step 6:
If C !1*C #1, set C "C !1, C "
1
2
1
1
2
C #1, and go to Step 2. Otherwise, go to
2
Step 7.
Step 7:
The current value of the upper bound (UB) gives
the optimal value of NT. Stop.
6.2. Determination of lower and upper bounds for
number of tardy jobs
Tighter upper and lower bound values can be
computed as follows. These are however not implemented in the above algorithm. A tighter lower
bound value for each node can be obtained by
scheduling the remaining jobs (jobs not scheduled
so far) on a single machine and minimizing the
number of tardy jobs in this set, for a given value of
¹
by using the single machine algorithm [8,9].
.!9
To get the equivalent single machine problem, the
equivalent due dates of the jobs need to be twice the
actual due date values. Also, the minimum value of
136
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
¹
for the single machine problem can be ob.!9
tained from the EDD sequence. A tighter upper
bound can be obtained by minimizing the number
of tardy jobs on each machine individually by using
the single machine algorithm [8,9] for the assignment of jobs obtained as a result of the ¹ prob.!9
lem. This involves the solution of two single
machine problems.
7. Experimental results
The algorithms suggested above were coded in
FORTRAN-77 and were run on an IBM 3090.
7.1. ¹
.!9
Table 1
Average execution time vs. problem size for the ¹
minimiz.!9
ation algorithm
Problem
number
Problem
size (n)
Average execution time
of ten observations (s)
1
2
3
4
5
6
7
8
9
10
50
100
150
200
250
300
350
400
450
500
0.13
0.34
0.70
1.20
1.86
2.61
3.65
4.57
5.75
7.08
minimization algorithm
For the algorithm to minimize ¹ , problems
.!9
were generated using the due date procedure similar to the one suggested by Emmons [10]. In this
procedure, the processing times are selected as uniformly distributed integer values between 1 and
u (where u is an integer). Problems were generated
for various values of u. The due date for each job is
determined by adding a number randomly selected
from a uniform distribution of integers between
0 and n, where &n' represents the number of jobs:
d "p #;(0, n).
i
i
The results obtained regarding the variation of
average execution time vs. the problem size are
presented in Table 1. Ten problems were run for
each problem size. Note that if for a solution,
D¹ !¹lD is at most 1 and no j exists such that
k
k)j)l, then many of the exchanges need not be
tested. Also, if other exchanges are not successful,
then that is an optimal solution. This criterion was
satis"ed in all the problems that were run.
As mentioned earlier, the jobs are initially assigned to the machines in EDD order with each job
assigned to the earliest available machine. This
initial assignment tends to minimize the number of
jobs between Jobs k and l, and consequently makes
the algorithm an e!ective one, on the average. Also,
in the experimentation, it is observed that with this
starting solution Phase I exchanges are successful
only occasionally. However, if the jobs are initially
assigned to machines di!erently, quite a few suc-
cessful exchanges are carried out in Phase I of the
algorithm, and consequently, the computational
time also increases.
To further study the behavior of the algorithm,
problems were run for di!erent values of u, and for
di!erent types of due dates and processing times.
Table 2 shows the variation of the number of iterations required to solve the problem with di!erent
values of u (for a constant value of n"1000). As
Phase I exchanges were successful only occasionally, each iteration here refers to the successful
execution of the range reduction step (Phase II). So,
in other words, the number of iterations also indicate the number of times range reduction is accomplished. We observe that the number of
iterations required to solve the problem increases
with u (i.e. the greater the variation in job processing times, the greater is the number of iterations
required in the knapsacks involving p !p ). As
i
j
regards di!erent values of the due dates and processing times, the type of problem that showed the
worst kind of computational complexity has relatively small processing times for most of the jobs in
between Jobs k and l, and the due dates for these
jobs are such that they do not become too tardy
while the processing times of both the Jobs k and
l are very large thereby delaying them by a large
amount.
As Phase I is successful only minimally in the
algorithm, a further approximation can be implemented by using Phase II alone. Such a procedure
will also not guarantee optimal solution. However,
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
Table 2
Average number of iterations vs. range of processor times for the
¹
minimization algorithm
.!9
Range of processing
times (1, u)
Average no. of iterations of ten
observations for problems for
size n"1000
(1,
(1,
(1,
(1,
(1,
(1,
2
7
11
13
17
30
10)
250)
100)
200)
300)
500)
starting with the EDD sequence, the computational
experience indicates attainment of fairly good solutions.
7.2. NT minimization algorithm
Computational experience with this algorithm
indicates that the high storage requirements for this
algorithm restrict its application to problems of size
n)100. To study the behavior of the algorithm for
the problems generated, the processing times were
chosen such that p ";(1, 10). The due dates were
i
chosen in the same manner as that for the problem
to minimize the value of ¹ . A lower bound value
.!9
was calculated for each node as described earlier.
The nodes with lower bound values greater than
the current upper bound are fathomed.
Table 3 shows the variation of execution time vs.
problem size. The observations presented in the
table are based on the results for "ve di!erent
problems of each size. Columns 2}4 report the
137
average CPU time and the range of CPU time in
seconds required to obtain the optimal solutions.
Also, we show CPU time required to reach a stage
when the least lower bound on the number of tardy
jobs does not di!er from the upper bound value by
more than 1. This is called &preempted execution
time' and is designated by PET, also depicted in the
last column of Table 3. Note that PET is relatively
very small for the problems tested (negligible for
problems of size up to n"50), while the CPU time
to obtain an optimal solution took more than 600 s
for all the problems of size n"100 and for some
problems of size n"75.
As a "nal note, the upper bound value computed
based on solution to two single machine problems
(as described in Section 6.2) was found to be quite
close to the optimal solution. Hence, as an approximate solution, one can apply single machine NT
algorithm to the job allocations on the machines
obtained as a result of ¹ algorithm. Problems of
.!9
size up to 1000 jobs can be easily solved by this
procedure.
8. Concluding remarks
In this paper, we have developed algorithms for
a bicriteria problem involving the minimization of
¹ as the primary criterion and the minimization
.!9
of NT as the secondary criterion. Both the algorithms are quite e!ective to use. The ¹ minimiz.!9
ation algorithm is an approximate algorithm but is
found to generate almost optimal solutions. The
NT minimization algorithm is based on the branch
and bound procedure and can be used to solve
Table 3
Execution time vs. probelm size for NT minimization algorithm
Problem size (n)
Average execution time
of "ve obervations (s)
Minimum execution
time (s)
Maximum execution
time (s)
Preempted execution
time (PET) (s)
10
20
30
40
50
75
100
0.36
0.52
1.28
3.4
13.0
'600
'600
0.01
0.04
0.09
90.18
60.33
0.56
'600
0.69
2.26
4.20
8.35
63.57
'600
'600
(0.01
(0.01
(0.01
(0.01
(0.01
0.85
2.81
138
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
problems of size up to 100 jobs beyond which it
encounters storage problems. An approximation to
this procedure is also suggested which tremendously cuts down the computational time; and due to
another approximation even problems of up to
1000 jobs can be easily solved.
Future work in the two machine bicriteria problem can be devoted to other pairs of criteria involving NT and ¹ , total completion time and ¹ ,
.!9
.!9
total tardiness and ¹ , and NT and total comple.!9
tion time as primary and secondary criteria. Also,
a natural extension of this work would be to consider probabilistic processing times instead of deterministic values considered here.
Acknowledgements
The authors are thankful to the reviewers and Dr.
Salah Elmaghraby of North Carolina State University for providing several insightful suggestions that
helped improve the quality of presentation.
Appendix A
Proof of Theorem 1. Since i.b.k, ¹ 1 decreases by
.!9
p , and since k.b.j.b.l, ¹ 2 decreases by p !p . To
i
.!9
j
i
prove the second part, note that if i.b.k, k.b.j.b.l,
and p *p , then ¹ 2 does not decrease. Also, if
i
j
.!9
i.b.k and j.b.k, or i.b.k and l.b.j, or l.b.i and j.b.k, or
l.b.i and l.b.j, then ¹ 1 and/or ¹ 2 either in.!9
.!9
crease or remain the same.
Proof of Theorem 2. (a) Since d )d (d (by Thei
k
j
orem 1), ¹ would decrease by a value of p . Hence,
k
i
¹
would decrease beyond ¹l if ¹ !p (¹l.
.!9
k
i
Considering the processing times and due dates of
the jobs to be integer values, we require that
p * ¹ !¹l#1.
i
k
Let p
be the minimum such Job i, i.e. mini .*/
imum p such that p
* ¹ !¹l#1. Now,
i
i .*/
k
consider the Jobs q on Machine 2 such that i.b.q.b.j.
Let C and C@ , and ¸ and ¸@ denote the compleq
q
q
q
tion times and latenesses of these jobs, respectively,
before and after the exchange of Jobs i and j.
. In
, and ¸@ "¸ #p
Clearly C@ ,"C #p
q
q
i .*/
q
q
i .*/
order to obtain a successful exchange, we require
that ¸@ (¹l, hence, ¸ #p
(¹l or
q
q
i .*/
¸ )¹l!(p
#1) for all Jobs q on Machine
q
i .*/
2 such that i.b.q.b.i.
Now, for any Job m on Machine 1 such that
d *d the completion time after the exchange
m
j
increases by a value of p !p
with p 'p
j
i .*/
j
i .*/
)
(by Theorem 1). Hence, C@ "C #(p !p
m
m
j
i .*/
).
which further implies that ¸@ ¸ #(p !p
m m
j
i .*/
Since for a successful exchange we require that
)!1.
¸@ (¹l, we have ¸ )¹l!(p !p
m
j
i .*/
m
(b) Since d )d and d (d )dl (by Theorem 1),
i
k
k
j
¹ decreases by p !p
. Now, in order to obtain
l
j
i .*/
new ¹
value less than min(¹ 1, ¹ 2),
.!9
.!9 .!9
)(¹
or
we require that ¹l!(p !p
j
i .*/
k
p *p
#¹l!¹ #1 (again by assuming that
j
i .*/
k
all p and ¹ values are integers). For any Job m on
Machine 1 such that d *d , the value of lateness
m
j
). In acafter exchange is ¸@ "¸ #(p !p
m
m
j
i .*/
cordance with the above requirement, we have,
¸ #(p !p
)(¹ or ¹ !¸ *p !p
#1.
m
j
i .*/
k
k
m
j
i .*/
Since, p !p
¹l!¹ #1 (from above), we
j
i .*/
k
have ¹ !¸ *¹l!¹ #2. As the latest possible
k
m
k
position of Job j can be l, the necessary condition is
that ¸ )(¹ !2)!(¹l!¹ ) for all Jobs m on
k
m
k
Machine 1 such that d *dl.
m
Next, consider any Job q on Machine 2 such that
d )d )d . The lateness value ¸@ after the exq
i
q
j
. Again, we rechange would be ¸@ "¸ #p
q
q
i .*/
quire that ¸@ (¹ , which after substituting for
q
k
¸@ becomes ¸ #p min(¹ , Thereby leading to
q
q
i
k
the necessary condition of ¸ )¹ !(p
#1).
q
k
i .*/
Proof of Theorem 4. Single and multiple job exchanges are performed in accordance with the condition of exchange that are derived from the result
of Theorem 1. Repeated application of Phase I and
Phase II results in the monotone reduction of the
range over which ¹H lies. Eventually, this range
.!9
becomes zero or no more exchange is possible
which can further decrease this range, thereby
resulting in the optimal solution.
References
[1] P. Dileepan, T. Sen, Bicriterion static scheduling research
for a single machine, Omega 16 (1) (1988) 53}59.
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
[2] A.A. Cenna, M.T. Tabucanon, Bicriterion scheduling problem in a job shop with parallel processors, International
Journal of Production Economics 25 (1}3) (1991) 95}101.
[3] R.L. Daniels, R.J. Chambers, Multiobjective #ow-shop
scheduling, Naval Research Logistics 37 (1990) 981}995.
[4] M.R. Garey, D.S. Johnson, Two processor scheduling with
start-times and deadlines, SIAM Journal on Computer
6 (3) (1977) 416}426.
[5] W. Townsend, Sequencing n jobs on m machines to minimize maximum tardiness: A branch and bound procedure,
Management Science 23 (9) (1977) 1016}1019.
[6] T.S. Nunnikhoven, H. Emmons, Scheduling on parallel
machines to minimize two criteria related to job tardiness,
AIIE Transactions 9(3) (1977) 288}296.
139
[7] A.H.G. Rinnooy Kan, Machine Scheduling Problems:
Classi"cation, Complexity and Computations, Martinus
Nijho!, The Hague, 1976.
[8] R.T. Nelson, R.K. Sarin, R.L. Daniels, Scheduling
with multiple performance measures: The one machine case, Management Science 32 (4) (1986)
464}480.
[9] S.C. Sarin, R. Hariharan, Single Machine Bicriteria Scheduling Problem, Virginia Polytechnic Institute and State
University, Blacksburg, VA, 24061.
[10] H. Emmons, One machine sequencing to minimize
the weighted sum of completion times with secondary
criteria, Naval Research Logistics Quarterly 22 (1) (1975)
585}592.
A two machine bicriteria scheduling problem
Subhash C. Sarin*, R. Hariharan
Department of Industrial and Systems Engineering, 250 New Engineering Building, Virginia Polytechnic Institute and State University,
Blacksburg, VA 24061, USA
Received 10 June 1998; accepted 26 August 1998
Abstract
In this paper we consider the bicriteria problem of scheduling n jobs on two parallel machines to minimize the primary
criterion of maximum tardiness (¹ ) and the secondary criterion of number of tardy jobs (NT). Algorithms are
.!9
developed to optimize each of these criteria. Some properties on which the ¹
algorithm is based are developed.
.!9
Computational experience with the algorithms is also reported. ( 2000 Elsevier Science B.V. All rights reserved.
Keywords: Bicriteria scheduling; Two machines
1. Introduction
In this paper we consider the problem of scheduling n jobs on two parallel machines to minimize
maximum tardiness (¹ ) and total number of
.!9
tardy jobs (NT). The former is considered as a primary criterion while the latter is considered as
a secondary criterion. The primary criterion is the
one that is optimized "rst while the secondary
criterion is optimized subject to the value obtained
for the primary criterion.
A survey of the work done on the single machine
bicriteria problem is given by Dileepan and Sen [1]
while the two and higher machine bicriteria problems have been addressed only recently. Cenna and
Tabucanon [2] discuss a bicriterion parallel machine problem of minimizing total #owtime and
¹ . They present a procedure to generate e$cient
.!9
* Corresponding author.
solutions based on an approach which "rst allocates jobs in accordance with a list schedule and
then determines e$cient sequences on individual
machines using a single machine bicriteria procedure. Daniels and Chambers [3] consider the sequencing of jobs through a multimachime #owshop
for the two criteria of min C (maximum comple.!9
tion time among all machines) and ¹ . The aim is
.!9
to develop e$cient set of solutions. An algorithm is
suggested to generate an exact number of e$cient
solutions for the two machine problem while heuristic procedures are suggested for approximating
the e$cient sets for higher number of machines.
Considering only the ¹
criterion problems,
.!9
Gary and Johnson [4] present a procedure for
a special version of this problem in which the processing time of all the jobs is identical and jobs have
arbitrary precedence among them. Townsend [5]
considers the n job, m machine, min ¹ #owshop
.!9
problem and suggests a branch and bound procedure for its solution. In their paper, Nunnikhoven and
Emmons [6] develop enumerative optimization
0925-5273/00/$ - see front matter ( 2000 Elsevier Science B.V. All rights reserved.
PII: S 0 9 2 5 - 5 2 7 3 ( 9 9 ) 0 0 0 5 0 - X
126
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
methods to determine minimum number of parallel
processors required to meet due dates. These
methods can be used to minimize ¹
on a given
.!9
number of machines by sequentially trying various
tardiness values until the attainment of a minimum
tardiness value for which a schedule can be found.
The two machine ¹
problem is shown to be
.!9
NP-complete [7]. Hence, the bicriteria problem
under consideration is also NP-complete. Consequently, we develop an approximate algorithm for
this problem that generates almost optimal solutions. To that end, we "rst present some assumptions and notation that are used in the remainder of
the paper. This is followed by motivation regarding
the development of the algorithms for both the
criteria. Some properties on which the algorithm
for minimizing ¹
is based are developed next.
.!9
The algorithms are then described. In the end, some
computational experience with these algorithms is
presented.
2. Assumptions and notation
Considering the ¹
problem, there exists an
.!9
allocation of the jobs to the two machines corresponding to the optimal value of ¹ such that the
.!9
jobs on each machine are arranged in EDD order.
This follows from the fact that if the jobs on each
machine are not in EDD order then the ¹ value
.!9
cannot be worsened by arranging them in EDD
order. Hence, without loss of generality we assume
that the jobs on each machine are arranged in EDD
order. In an EDD sequence on a machine, if two
Jobs i and j have equal due dates, then the job with
a higher processing time precedes the job with
a lower processing time. We use the notation i.b.j to
represent the fact that Job i precedes Job j in
a sequence of jobs on both the machines. Conversely also, the notation, i.b.j. will mean that d (d and
i
j
if d "d then p *p . Also, by the notation i.b.k.b.j.
i
j
i
j
we imply that Job i precedes Job k and Job k precedes Job j in a sequence of jobs on both the
machines. Let ¹ 1 be the maximum tardiness
.!9
among the jobs on machine 1 and ¹ 2 be the
.!9
maximum tardiness among the jobs on machines 2.
In the sequel, we will refer to the ¹
job on
.!9
Machine 1 by k and that on Machine 2 by l.
Machines 1 and 2 are labeled such that k.b.l. The
maximum tardiness value for the two machine
problem, ¹ "max(¹ 1, ¹ 2), and the opti.!9
.!9
.!9
mal two machine maximum tardiness value will be
denoted by ¹H . We will also use the notation
.!9
¹ and ¸ to represent the tardiness and lateness,
i
i
respectively, of a job i, in a sequence of the jobs on
the two machines.
3. Motivation regarding the development of the
algorithms
The procedure that is developed to minimize
¹ "rst aims at the determination of an allocation
.!9
of the jobs to the two parallel machines such that
the minimum of the ¹
values of the jobs on the
.!9
two machines sets a lower bound on ¹H so that it
.!9
lies in the closed interval (or range) [¹ 1, ¹ 2].
.!9
.!9
This will be called the &range location phase' or
Phase 1 of the algorithm. Starting from a given
allocation of the jobs to the two machines, this is
accomplished by exchanging them between the two
machines so that no further exchange can lead to
a value of maximum tardiness less than the current
minimum between the ¹ 1 and ¹ 2 values.
.!9
.!9
Single job exchanges and multiple job exchanges
between the two machines are considered. All such
exchanges are made depending upon the locations
of the ¹ 1 and ¹ 2 jobs on the machines. A set
.!9
.!9
of conditions are developed in Section 4 to determine the jobs to switch to result in successful
exchanges.
After obtaining a closed interval [¹ 1, ¹ 2]
.!9 .!9
by the process of range location, we next attempt to
reduce this range so that the ¹H value lies on
.!9
a smaller interval. This will be called the &range
reduction phase' or Phase II of the algorithm. Such
a reduction can be performed in the following three
di!erent ways: (i) by reducing the higher of the two
¹
values while keeping the other one the same
.!9
(referred to as Strategy A); (ii) by reducing the
higher and increasing the lower of the two values
(referred to as Strategy B); (iii) by increasing the
lower of the two ¹
values while keeping the
.!9
other one the same (referred to as Strategy C).
The procedure adopted to accomplish range
reduction involves a series of job exchanges
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
127
4. Exchange procedure analysis
Before developing the conditions for the jobs to
be exchanged, let us "rst illustrate the concept, on
which the procedure is based, through two simple
examples.
Example 1. Consider the processing time and due
date data for the eight jobs given below.
Fig. 1. Overall logic of the procedure used.
between the two machines including single and
multiple job exchanges. The process of considering
all possible multiple job exchanges is equivalent of
solving a knapsack problem. Due to an extensive
amount of computational e!ort involved to do this,
we consider instead exchanges of a particular type.
This makes the algorithm a heuristic procedure,
even though, as is shown later, the solutions
obtained are found to be almost optimal. After
a successful range reduction step, the range relocation step is executed to see if the range can be
relocated. The overall logic of the algorithm is
given in Fig. 1.
The algorithm developed to minimize NT
follows a search tree procedure. The scheduling of
jobs is carried out beginning from the last position.
Hence, the makespan value on each machine needs
to be known. These makespan values are determined based on the ¹
value and the maximum
.!9
due date. Since the jobs are scheduled backward,
the "nish time of a job is known when it is scheduled, and accordingly its tardiness value can be
determined. Hence, only those jobs that do meet
the primary criterion at a position are considered
for that position. The allocation of each eligible job
there gives rise to a branch of the search tree and
a corresponding node of the partial sequence.
Job
1
2
3
4
5
6
7
8
Processing time
Due date
1
0
2
1
2
1
1
2
3
3
4
7
3
10
8
11
The jobs are numbered in the nondecreasing order
of their due dates. They are allocated in this order
to the earliest available position on the two parallel
machines. The resulting schedule is shown in Fig.
2(a). In this schedule, ¹ 1"3 and it occurs for
.!9
Job 5, while ¹ 2"4 and it occurs for Job 8. Thus,
.!9
¹ "4. Now, if we remove Job 1 from Machine
.!9
1 and Job 6 from Machine 2 and put them in their
EDD positions on Machines 2 and 1, respectively,
the resulting schedule (shown in Fig. 2(b)) has
¹ "2. Incidentally, the new ¹ 1 and
.!9
.!9
¹ 2 values happen to be the same. This need not
.!9
be the case in general. Thus, by switching some jobs
between the machines, the new ¹
value became
.!9
less than the current min(¹ 1, ¹ 2) value ("3).
.!9 .!9
This is the range relocation concept.
Example 2. Consider another example shown
below.
Job
1
2
3
4
5
6
7
8
Processing time
Due date
5
3
5
4
1
5
1
6
2
8
4
9
3
12
7
13
The starting schedule is shown in Fig. 3(a). For
this schedule, ¹ 1"2 and ¹ 2"4. Clearly, the
.!9
.!9
¹ value for this problem cannot be less than 2 as
.!9
¹ 1 occurs for the "rst job on Machine 1. The
.!9
range for ¹
is therefore [2, 4]. Now, if we shift
.!9
Job 4 from Machine 2 to Machine 1, the resulting
schedule (shown in Fig. 3(b)) has ¹ 2"3. Thus,
.!9
the ¹
range has been reduced to [2, 3]. This is
.!9
the range reduction concept. The range of ¹
is
.!9
reduced here by reducing ¹ 2. In general, it can
.!9
128
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
Fig. 2. Example 1.
Fig. 3. Example 2.
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
also be reduced by increasing ¹ 1 or by simulta.!9
neously increasing ¹ 1 and reducing ¹ 2. Also,
.!9
.!9
note that, shifting Job 2 or Job 6 individually in
Fig. 3(a) does not result in range reduction.
However, if an appropriate job is also shifted from
Machine 1 to Machine 2 then it may. For instance,
if Job 6 is shifted to Machine 1 and Job 5 is shifted
to Machine 2 in Fig. 3(a), then range reduction is
achieved. In fact, then, ¹ 1"2 and ¹ 2"2.
.!9
.!9
In general, multiple jobs from Machine 1 may be
switched with multiple jobs from Machine 2 to
e!ect the change with respect to both range relocation and range reductions. To see this, consider the
situation in Fig. 3(b). If Job 6 from Machine 2 is
switched with Jobs 4 and 5 from Machine 1, then
the resulting values of ¹ 1"2 and ¹ 2"2.
.!9
.!9
As, for a given allocation of the jobs to the two
machines, the jobs on each machine are arranged in
EDD order, the main aim of the procedure is therefore to determine an allocation of the jobs to the
two machines that results in ¹H . In light of this,
.!9
there are two key questions: (i) how to select which
jobs to switch between the machines both for range
relocation and range reduction, and (ii) when to
stop. Next, we develop conditions to implement (i)
both for range relocation (Phase I) and range reduction (Phase II). Since the requirements of each
of these steps are di!erent, they lead to di!erent sets
of conditions. The issue (ii) of when to stop is
discussed subsequently in Section 4.3.
4.1. Development of conditions for range relocation
(Phase I)
The analysis is divided into two cases depending
upon whether or not jobs k and l are considered as
part of the set of jobs to be exchanged.
4.1.1. Analysis for the case when the ¹
jobs are
.!9
not exchanged
Consider an allocation of the jobs to the two
machines with the jobs assigned to the machines in
the EDD order, as described above. First consider
the single job exchange. Let Job i from Machine
1 be exchanged with Job j from Machine 2 such
that i.b.j, and i and j are not the jobs with the
¹ 1 and ¹ 2 values, respectively. Let p and p be
.!9
i
j
.!9
their respective processing times. Such an exchange
is shown in Fig. 4.
129
Fig. 4. Exchange procedure analysis.
Theorem 1. Under single job exchange, both
¹ 1 and ¹ 2 decrease simultaneously if and only
.!9
.!9
if there exist a Job i on Machine 1 and a Job j on
Machine 2 such that
p (p and d )d (d )dl,
i
j
i
k
j
where k and l are the jobs corresponding to the
¹ 1 and ¹ 2 values, respectively.
.!9
.!9
Proofs of Theorem 1, and Theorems 2 and 4 to
follow, are given in the Appendix.
Next, we precisely develop the conditions for the
exchange of Jobs i and j to result in the ¹ value
.!9
less than min(¹ 1, ¹ 2). Such an exchange of
.!9
.!9
Jobs i and j will be called a successful exchange.
Theorem 2.
(a) If ¹ '¹l, the conditions for a successful exk
change are:
(i) there exists a Job i on Machine 1 such that
p ¹ !¹l#1 and d *d (if more than
i k
i
k
one Job i exist then we select a job with the
minimum processing time and designate it
by p
);
i .*/
(ii) there exists a Job j on Machine 2 such that
;
d (d )dl and p 'p
j
i .*/
k
j
(iii) for Jobs q on Machine 2 such that
d )d )d , ¸ )¹l!(p
#1);
i
q
j q
i .*/
(iv) for Jobs m on Machine 1 such that
d *d , ¸ )¹l!(p !p
)!1; and
m
j m
j
i .*/
(v) the tardinesses of the Jobs i and j, after the
move, are less than ¹l
(b) If ¹ )¹l, the necessary conditions for a suck
cessful exchange are:
(i) there exists a Job i on Machine 1 such that
d (d (if more than one Job i exist, then we
i
k
select min such i and designate it by p
),
i .*/
and a Job j on Machine 2 such that
d (d )dl and p *p
#¹l!¹ #1;
k
j
j
i .*/
k
130
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
(ii) for any Job m on Machine 1 such that
d 'd , ¸ )(¹ !¹l)#¹ !2;
m
j m
k
k
(iii) for any Job q on Machine 2 such that
d )d )d , ¸ )¹ !(p
#1); and
i
q
j q
k
i .*/
(iv) the tardinesses of the Jobs i and j, after the
move, are less than ¹ .
k
The conditions in Theorem 2 indicate that if any
one of them is violated, then it is not possible to get
a schedule with the ¹
value less than
.!9
min(¹ , ¹l). Note that condition (iii) of Theorem
k
2(b) can be relaxed for implementation purposes by
considering Job q s.t. d )d )d (instead of
i
q
s
d )d )d ), where d )d for all Jobs j on
i
q
j
s
j
Machine 2 s.t. d (d (dl.
k
j
4.1.1.1. Extension to multiple job exchange. The
above discussion was focused on the exchange of
a single Job i on Machine 1 with a single Job j on
Machine 2. However, the arguments presented can
easily be extended to the exchange of multiple jobs.
Conditions for this case are equivalent to those
in Theorem 2 and can be developed to be the
following.
Case (a): ¹ '¹l
k
(i) there exists a set of Jobs A on Machine
1 (equivalent of Job i before) such that d )d
a
k
for all a3A and + p *¹ !¹l#1.
a|A a
k
(ii) there exists a set of Jobs B on Machine
2 (equivalent of Job j before) such that
d (d)dl for all b3B and + p '+ p .
k
b|B b
a|A a
(Note that the sets A or B could be singletons.)
(iii) If j represents a job amongst the jobs in B with
1
the minimum due date, then for all q)Q on
Machine 2 s.t. d (d (d (where Job i is the
i
q
j
single job being exchanged with a set of Jobs
B), ¸ 3¹l!(+ p #1).
a|A a
q
(iv) If j represents the job with the highest due
2
date among those in the set B, then
¸ )¹l!(+ p !+ p ) for all jobs
b|B b
a|A a
m
m3M on Machine 1 such that d *d 2.
m
j
(v) The tardinesses of the jobs in Sets A and B,
after the move, are less than ¹l.
In case multiple jobs can be found that meet
condition (i), determine a set of jobs to be switched
by solving the knapsack problem: + p x s.t.
a{ a{ a{
+ p x *v; where v"¹ !¹l#1 to start with.
a{ a{ a{
k
If there is an alternative optimum, then select
a solution for which the last a@ job, with xa@"1,
has maximum da@. Call this job llast. If
#1) (where p
"+ p x ), for
¸ )¹l!(p
i .*/
i .*/
a{ a{ a{
q
all q, llast.b.q.b.k, then that set is selected for possible switch. If not, make v"v#1, and search for
another set A.
Multiple jobs for switching are determined by
generating combinations of the jobs that satisfy the
speci"ed condition to belong in Set A. Various
combinations of the jobs of increasing cardinality
are generated systematically. Whenever, a combination of the jobs is found (with respect to Set A),
then the best combination of the jobs of that cardinality is selected to switch. Thus, the knapsack
problem is solved heuristically using partial enumeration.
Case (b): ¹ )¹l
k
(i) there exists a set of Jobs A on Machine 1 and
a set of Jobs B on Machine 2 such that
d (d , d (d , a3A, b3B, and + p !+ p
a
k b
k
a a
b b
is minimum (+ p '+ p ), and a set of Jobs
a a
b b
B on Machine 2 such that d (d 3dl, for all
2
k
c
c3B and + p (+ p !+ p )#¹l!¹ #1.
k
2
c|b c a a
b b
(ii) for all Jobs m on Machine 1 such that
d 'dl, ¸ )(¹ !¹l)#(¹ !2).
m
m
k
k
(iii) if d is the highest due date job among the jobs
a and b de"ned in (i), and o represents the job
with the highest due date among those in B
2
(de"ned in (i)), then for all Jobs q on Machine
2 such that d )d (d , ¸ )¹ !(+ p
d
q
o q
k
a a
!+ p )!1.
b b
(iv) the tardinesses of the jobs in Sets A and B, after
the move, are less than ¹ .
k
4.1.2. Analysis for the case when the jobs k and l are
exchanged
Now, consider the case when the jobs considered
for exchange, namely, Job i or Job j (or both)
correspond to the Jobs k and l. This can lead to the
consideration of the following three di!erent cases.
Case 1: Job k is moved from Machine 1 to
Machine 2 but Job l is not.
Case 2: Job l is moved from Machine 2 to
Machine 1 but Job k is not.
Case 3: Job k is moved from Machine 1 to
Machine 2 and Job l is moved from
Machine 2 to Machine 1.
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
Consider Case 1. As in either of the two situations,
namely (a) ¹ (¹l and (b) ¹ *¹l, the
k
k
min(¹ , ¹l) needs to decrease at least by a unit
k
value, we require that
a. Some Job &m' such that m.b.k should be shifted
from Machine 2 to Machine 1.
b. If Job k is the "rst of the jobs in the sequence to
be shifted from one machine to another, then it
should be moved such that it gets an earlier
start time on Machine 2. Also, we would require
that p (p because, otherwise for some Job &q'
m
k
on Machine 1 such that q.b.k, its completion
time value obtained after the exchange would
be greater than the completion time value of
Job k before the exchange thus leading to
a higher tardiness value.
c. If Job k is moved from Machine 1 to Machine
2 and Job m from Machine 2 to Machine 1 with
m.b.k and p (p then it is necessary to move
m
k
Job l from Machine 2 to Machine 1 because
otherwise there would be an increase in the
completion time of Job l on Machine 2 and this
is not desired. Thus, we note that Case 1 becomes identical with Case 3.
As regards Case 2, it is necessary to move some
Job i with i.b.k from Machine 1 to Machine 2 so
that the tardiness value of Job k decreases. Now,
considering the situations pertaining to (a) ¹ (¹l
k
and (b) ¹ *¹ , the analysis becomes identical to
k
l
that of the analysis presented in Section 4.1.1 (when
the jobs with ¹
values are not exchanged) with
.!9
only Job j being replaced by Job l. Hence, we note
that in this context the only case that demands
further discussion is Case 3, that is, when both Job
k and Job l are shifted. In this case, as described
above in Case 1, we would shift Job m such that
m.b.k from Machine 2 to Machine 1, Job k
from Machine 1 to Machine 2 and Job l
from Machine 2 to Machine 1. Extension of this
argument to the case of multiple job exchange
would require the interchange of Job k and a set of
Jobs A from Machine 1 for which d (d for all
a
k
a3A, with a set of Jobs B from Machine 2 for which
d (d for all b)B, such that + p !+ p (p
b
k
b b
a a
k
and Job l.
Note that Theorem 1 speci"es both the necessary
and su$cient conditions for the relocation of
131
¹H range. Conditions of Theorem 2 and the sub.!9
sequent development for multiple job exchange and
the exchange of ¹ jobs are all based on the result
.!9
of Theorem 1 and hence lead to the conclusion of
the following result.
Theorem 3. If for a given allocation of the jobs to the
two machines with ¹M
"min(¹ 1, ¹ 2), single
.!9
.!9 .!9
and multiple job exchanges violate the conditions of
Theorem 2 (and subsequent ones for multiple jobs)
and those for the case when the ¹ jobs on both the
.!9
.
machines are also exchanged, then ¹H *¹M
.!9
.!9
Moreover, it is clear that ¹H )max(¹ 1, ¹ 2).
.!9
.!9 .!9
Hence, the Phase I analysis results in an upper and
lower bound on ¹H .
.!9
4.2. Analysis to constrict the range obtained
(Phase II)
Now that (as a result of Phase I) we have an
assignment of the jobs on the two machines such
that no change in the assignment would lead to
a value of ¹
less than min(¹ , ¹l), we reassign
.!9
k
the jobs so as to constrict the range over which the
¹
value lies. The aim is to constrict it to an
.!9
extent that either it becomes small enough to satisfy
a prespeci"ed value or it cannot be reduced any
more.
Constriction of range is done by following strategies, A, B or C (described earlier in Section 3)
depending upon the locations of the jobs from
Machines 1 and 2 that are considered for exchange.
If the exchange procedure uses Strategy A then it is
obvious that we have a new set of values ¹ and
k
¹l such that the optimal value of ¹ [¹ , ¹l]
.!9 k
because it reduces the maximum of the two
¹ values. In case of the use of Strategies B or C,
.!9
as the minimum of ¹ 1 and ¹ 2 increases, it is
.!9
.!9
necessary to verify once again if the optimal value
of ¹
lies over the new range corresponding to
.!9
the new ¹ and ¹l values obtained. This is checked
k
by applying Phase I. This results in the identi"cation of a range smaller than before over which the
optimal ¹
value lies. In the following section,
.!9
an analysis is presented to select the jobs to be
exchanged between the two machines in accordance with each of the three strategies.
132
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
The analysis is divided into two cases depending
upon whether ¹ (¹l or ¹ '¹l.
k
k
Case a: ¹ )¹l
k
Strategy A: To implement this strategy, select
a Job j from Machine 2 such that d (d )dl (so
k
j
that ¹ is not a!ected), and that for all Jobs Q on
k
Machine 1 with d (d , q3Q, ¸ #p )¹l so that
j
q
q
j
the tardiness of any job does not exceed ¹l. Also, in
order that the value of ¹l does not decrease beyond
the value of ¹ , the processing time of the Job
k
j transferred from Machine 2 to Machine 1 with
d (d )dl, and j.b.l, should be such that
k
j
¹l!p *¹ or ¹l!¹ *p . A more general
j
k
k
j
way of following Strategy A is by the exchange of
multiple Jobs i on Machine 1 with multiple Jobs
&j ' on Machine 2 such that +p (+p and
i
j
¹l!¹ *+p !+p .
k
j
i
Strategy B: For a job exchange that follows this
strategy, we would consider the transfer of a single
Job j from Machine 2 to Machine 1 such that
d (d (designated as exchange of Type 1), or the
j
k
exchange of a Job i from Machine 1 with Job j from
Machine 2 such that p 'p , d )d and d (d
j
i i
k
j
k
(designated as exchange of Type 2)
Since we are interested in having the "nal values
of ¹ and ¹l (i.e. the values after the exchange of
k
jobs) to lie in the closed interval [¹ , ¹l], in the
k
exchange of Type 1 we require that ¹ #p (¹l or
k
j
p (¹l!¹ ), and in the exchange of Type 2, we
j
k
require that ¹ #(p !p ))¹l or p !p )¹l!¹ .
k
j
i
j
i
k
The tardiness values of the appropriate sets of jobs
on Machines 1 and 2 should not violate this condition as well. For instance, if i.b.j, ¸ #p )¹l!1
m
i
for i.b.m.b.j, and if j.b.i, ¸ #p )¹l!1 for
m
j
j.b.m.b.l.
The exchange of Type 2 can be generalized to the
exchange of multiple Jobs i from Machine 1 with
multiple Jobs j from Machine 2 such that
+p !+p (¹l!¹ with the tardiness values of
j
i
k
the appropriate sets of jobs on Machines 1 and
2 not violating this condition.
Strategy C: To implement this strategy, exchange
Job i from Machine 1 with Job j from Machine
2 such that p "p , d (d and d (d (dl.
i
j j
k
k
i
Case b: ¹ '¹l
k
Strategy A: In this case, exchange Job i from
Machine 1 with Job j from Machine 2 such that
p "p , d (d and d (d (dl, with the tardiness
i
j i
k
k
j
value of none of the jobs on Machine 2 in between
Jobs i and j to exceed ¹l.
Strategy B: This would require either the transfer
of a single Job i from Machine 1 to Machine 2 such
that d (d (exchange of Type 1) or the exchange of
i
k
Job i from Machine 1 with Job j from Machine
2 such that p 'p , d (d and d )d (exchange of
i
j i
k
j
k
Type 2). The restriction of the "nal values of ¹ and
k
¹l to the closed interval [¹l, ¹ ] would require
k
that p )¹ !¹l in case of exchange of Type 1,
i
k
and p !p )¹ !¹l in case of exchange of
i
j
k
Type 2 with the tardiness values of the appropriate
sets of jobs on Machines 1 and 2 not violating this
condition as well.
Strategy C: This would require either the transfer
of a single Job i from Machine 1 to Machine 2 such
that d )d )dl or the exchange of Job i on Mak
i
chine 1 with Job j on Machine 2 such that
p 'p , d (d (dl and d (d (dl. Moreover, to
i
j k
i
k
j
restrict the "nal values of ¹ and ¹l to the closed
k
interval [¹l, ¹ ] requires restrictions on p and
k
i
p !p as mentioned above in Strategy B.
i
j
4.3. Optimality of the procedure
Theorem 4. Repeated Application of Phase I and
Phase II will result in the attainment of ¹H .
.!9
This result indicates to stop performing job
switches between the machines when both Phase
I and Phase II exchanges are not successful.
5. Algorithm to minimize ¹
.!9
Next, we present the ¹
minimization algo.!9
rithm. It incorporates only selected job exchanges,
namely those involving single jobs and contiguous
jobs. As a result, it does not guarantee attainment
of the optimal solution. However, the algorithm
is e$cient and the experimentation, reported
later, indicates that it generates almost optimal
solutions. An outline of the algorithm is given in
Fig. 5.
Step 1:
Arrange all the jobs in the EDD order and if
d "d and p 'p then i.b.j.
i
j
i
j
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
133
Fig. 5. An outline of the ¹
Algorithm.
.!9
Step 2:
Allocate the jobs in that order on the two machines such that each job gets the earliest possible start.
Step 3:
Designate ¹ 1 and ¹ 2 by ¹ and ¹l such
.!9
k
.!9
that k.b.l with the machine to which Job k
belongs denoted as Machine 1 and the other
machine denoted as Machine 2.
Phase I (Range Relocation Phase)
Step 4:
Does there exist a Job j on Machine 2 such that
k.b.j.b.l
if no, then go to Step 7
else go the Step 5.
Step 5: (Execute this step to relocate the range if
¹ '¹l)
k
if ¹ '¹l then
k
try single and multiple job switches between
the machines for successful range relocation
by checking the necessary conditions (i) to (v)
of Theorem 2(a).
if max(¹ new, ¹l new)*¹l, do not make
k
the switch and determine another set of
Jobs i and j
134
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
if no single or multiple Job j can
be found that satisfy conditions of
Theorem 2(a), then go to Step 7.
else continue
else max(¹ new, ¹l new)(¹l, switch is
k
successful in relocating range and exit to
Step 3.
else go to Step 6.
Step 6: (Execute this step to relocate the range when
¹ )¹l)
k
if k"1, then no Job i can be found, so go to
Step 7.
else determine a single or multiple Job i to be
switched with a single or multiple Job j that
satisfy all conditions of Theorem 2(b).
if max(¹ new, ¹l new)(¹ , then go to
k
k
Step 3
else determine new sets of jobs to be switched
if no jobs can be found for switching, then
go to Step 7
else, continue to "nd new sets of jobs.
Step 7: (Execute this job to exchange Jobs k and l).
This is done in accordance with the earlier discussion in Section 4.1.2. We do not consider here
exchanges of multiple jobs between the machines
for the sake of simplicity.
Set ¸B "0
m
if there exists a job m on Machine 2 such that
¸B .b.m.b.k and p (p
m
m
k
then select m such that p is minimum;
m
shift Job m to Machine 1, Job k to Machine
2, and Job l to Machine 1.
if max(¹ new, ¹l new)(max(¹ , ¹l),
k
k
then go to Step 3
else put the jobs to their original positions, set ¸B "m and try to "nd anm
other m.
else range cannot be relocated, go to Step 8.
Phase II (Range Reduction Phase)
Step 8: (Phase II for the case when ¹ )¹l.)
k
Once a range is established over which the
¹
value lies, an attempt is made to reduce it
.!9
by using the strategies described in Section 4.2.
if ¹ '¹l, then go to Step 9
k
else try Strategy A, then B and then C as
described in Case (a) of Section 4.2.
In Strategy B, "rst try exchange Type 1
and then exchange of Type 2.
if a switch is successful, then
if it is successful due to Strategies
B or C, then exit to Step 3
else try Strategies A, B, and C again
else go to Step 10.
Step 9: (Phase II for the case when ¹ '¹l)
k
First, try Strategy A followed by the exchange of
Type 1 and then of Type 2 under Strategy B as
described in Case (b) of Section 4.6 and implemented in Step 8 except that now the roles of
Machine 1 and Machine 2 are switched, and
then try Strategy C in that order.
if a switch is successful, then
if it is successful due to Strategies B and/or
C, then exit to Step 3
else try Strategies A, B, and C again.
else go to Step 10.
Step 10:
Determine ¹ and ¹l for the current schedule. The
k
best value of ¹
obtained"max(¹ , ¹l).
.!9
k
6. Minimization of the secondary criterion
As alluded to earlier, a branch and bound based
method is used to min NT given the ¹
value. It
.!9
proceeds by scheduling the jobs backwards on both
the machines. To implement it, we "rst need to "x
the makespan on both the machines and then make
the job allocations. If C and C are the makespan
1
2
values on Machines 1 and 2, then C#C is equal
2
to the sum of the processing times of the jobs, and is
constant. Therefore, for a given C there corres1
ponds a de"nite value of C .
2
If d
denotes the maximum among the due
.!9
date values, then the maximum possible value of
C that does not violate the primary criterion is
1
d #¹H . Also, in order that the optimal value
.!9
.!9
of ¹ is maintained, for any job to end at Time t,
.!9
it is necessary that t)d #¹H . Hence, not every
.!9
i
combination of C and C will be feasible to the
1
2
primary criterion. That is, if the jobs are scheduled
backwards starting from a set of C and C values,
1
2
we may come across a value of t at which no job is
eligible to be scheduled with respect to the primary
criterion thereby causing a gap in the schedules.
Since the criteria to be optimized are regular, such
schedules cannot be optimal with respect to both
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
NT and ¹ criteria. The schedules with gaps will
.!9
be referred to as infeasible schedules. However, we
know that there does exist at least one feasible set of
C and C values (in particular, the makespan
1
2
values corresponding to the schedule that optimizes the primary criterion) that gives a feasible set
of makespan values.
In the algorithm presented, we begin by examining various possible assignments beginning with
a makespan value C "d #¹H on Machine
.!9
1
.!9
1 and the corresponding value of C on Machine 2.
2
If a certain value of C is found to be infeasible, we
1
proceed to the next possible value of C . The pro1
cedure is continued until all possible values of
C are covered.
1
6.1. Algorithm to minimize the number of tardy jobs
Let N¹ "the number of tardy jobs obtained so
i
far in any branch i; ;B"the upper bound value
on the number of tardy jobs; and ¹
(i) and
.*/641
¹
(i) be the values of time on the two machines
.*/642
for active branch i.
Step 1: Initialization.
Let C "d #, and de"ne C accordingly.
1
.!9
2
Without loss of generality, let C *C (that is,
1
2
the machine with the larger makespan is designated as Machine 1). Let UB"the number of
tardy jobs in the schedule obtained for the
¹
problem.
.!9
Step 2:
Set NT"0, C"max(C , C ), and F"C.
1 2
Step 3:
Determine the set of jobs (designated eligible
jobs) which have not been scheduled so far and
which when scheduled to end at Time F would
not have a tardiness value greater than ¹H .
.!9
Note that this would also include the jobs that
would be early if scheduled to end at that position. If no job is eligible, fathom that branch and
go to Step 5.
Step 4:
For each eligible Job i, branch out by scheduling
Job i to end at Time F on the machine from
which the value of F was obtained. Determine
the corresponding starting Time S or S of the
1
2
job on Machine 1 or 2 wherever scheduled. If for
any branch S (0 or S (0, fathom that
1
2
135
branch (implying an infeasible assignment as the
job starting time precedes machine availability
time). Also, fathom a branch if max(S , S )"0.
1 2
This indicates the attainment of a feasible schedule. If F)d , then set the NT value for this
i
branch equal to the NT value of the parent
branch. Otherwise, NT value of this
branch"NT value for the parent branch #1
(if NT*UB, then fathom this node). Store the
values of S and S for each branch in the arrays
1
2
named ¹
and ¹
. If there are two jobs
.*/641
.*/642
with the same processing time eligible to be
scheduled at a position, store the schedule corresponding to the job that would not be tardy at
that position, otherwise store the schedule corresponding to any one of them. Determine the NT
value of a branch with the max(S , S )"0, and
1 2
set UB"min (UB, NT).
Step 5:
Set
S"max
Mmax[¹
(i), ¹
(i)]N,
ixAN
.*/641
.*/642
where AN refers to the set of activenodes. If
AN"/, then go to Step 6. Let k be the value of
i corresponding to S. Set S "¹
(k)
1
.*/641
and S2"¹
(k) and delete ¹
(k) and
.*/642
.*/641
¹
(k) from ¹
and ¹
respectively.
.*/642
.*/641
.*/642
Go to Step 3.
Step 6:
If C !1*C #1, set C "C !1, C "
1
2
1
1
2
C #1, and go to Step 2. Otherwise, go to
2
Step 7.
Step 7:
The current value of the upper bound (UB) gives
the optimal value of NT. Stop.
6.2. Determination of lower and upper bounds for
number of tardy jobs
Tighter upper and lower bound values can be
computed as follows. These are however not implemented in the above algorithm. A tighter lower
bound value for each node can be obtained by
scheduling the remaining jobs (jobs not scheduled
so far) on a single machine and minimizing the
number of tardy jobs in this set, for a given value of
¹
by using the single machine algorithm [8,9].
.!9
To get the equivalent single machine problem, the
equivalent due dates of the jobs need to be twice the
actual due date values. Also, the minimum value of
136
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
¹
for the single machine problem can be ob.!9
tained from the EDD sequence. A tighter upper
bound can be obtained by minimizing the number
of tardy jobs on each machine individually by using
the single machine algorithm [8,9] for the assignment of jobs obtained as a result of the ¹ prob.!9
lem. This involves the solution of two single
machine problems.
7. Experimental results
The algorithms suggested above were coded in
FORTRAN-77 and were run on an IBM 3090.
7.1. ¹
.!9
Table 1
Average execution time vs. problem size for the ¹
minimiz.!9
ation algorithm
Problem
number
Problem
size (n)
Average execution time
of ten observations (s)
1
2
3
4
5
6
7
8
9
10
50
100
150
200
250
300
350
400
450
500
0.13
0.34
0.70
1.20
1.86
2.61
3.65
4.57
5.75
7.08
minimization algorithm
For the algorithm to minimize ¹ , problems
.!9
were generated using the due date procedure similar to the one suggested by Emmons [10]. In this
procedure, the processing times are selected as uniformly distributed integer values between 1 and
u (where u is an integer). Problems were generated
for various values of u. The due date for each job is
determined by adding a number randomly selected
from a uniform distribution of integers between
0 and n, where &n' represents the number of jobs:
d "p #;(0, n).
i
i
The results obtained regarding the variation of
average execution time vs. the problem size are
presented in Table 1. Ten problems were run for
each problem size. Note that if for a solution,
D¹ !¹lD is at most 1 and no j exists such that
k
k)j)l, then many of the exchanges need not be
tested. Also, if other exchanges are not successful,
then that is an optimal solution. This criterion was
satis"ed in all the problems that were run.
As mentioned earlier, the jobs are initially assigned to the machines in EDD order with each job
assigned to the earliest available machine. This
initial assignment tends to minimize the number of
jobs between Jobs k and l, and consequently makes
the algorithm an e!ective one, on the average. Also,
in the experimentation, it is observed that with this
starting solution Phase I exchanges are successful
only occasionally. However, if the jobs are initially
assigned to machines di!erently, quite a few suc-
cessful exchanges are carried out in Phase I of the
algorithm, and consequently, the computational
time also increases.
To further study the behavior of the algorithm,
problems were run for di!erent values of u, and for
di!erent types of due dates and processing times.
Table 2 shows the variation of the number of iterations required to solve the problem with di!erent
values of u (for a constant value of n"1000). As
Phase I exchanges were successful only occasionally, each iteration here refers to the successful
execution of the range reduction step (Phase II). So,
in other words, the number of iterations also indicate the number of times range reduction is accomplished. We observe that the number of
iterations required to solve the problem increases
with u (i.e. the greater the variation in job processing times, the greater is the number of iterations
required in the knapsacks involving p !p ). As
i
j
regards di!erent values of the due dates and processing times, the type of problem that showed the
worst kind of computational complexity has relatively small processing times for most of the jobs in
between Jobs k and l, and the due dates for these
jobs are such that they do not become too tardy
while the processing times of both the Jobs k and
l are very large thereby delaying them by a large
amount.
As Phase I is successful only minimally in the
algorithm, a further approximation can be implemented by using Phase II alone. Such a procedure
will also not guarantee optimal solution. However,
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
Table 2
Average number of iterations vs. range of processor times for the
¹
minimization algorithm
.!9
Range of processing
times (1, u)
Average no. of iterations of ten
observations for problems for
size n"1000
(1,
(1,
(1,
(1,
(1,
(1,
2
7
11
13
17
30
10)
250)
100)
200)
300)
500)
starting with the EDD sequence, the computational
experience indicates attainment of fairly good solutions.
7.2. NT minimization algorithm
Computational experience with this algorithm
indicates that the high storage requirements for this
algorithm restrict its application to problems of size
n)100. To study the behavior of the algorithm for
the problems generated, the processing times were
chosen such that p ";(1, 10). The due dates were
i
chosen in the same manner as that for the problem
to minimize the value of ¹ . A lower bound value
.!9
was calculated for each node as described earlier.
The nodes with lower bound values greater than
the current upper bound are fathomed.
Table 3 shows the variation of execution time vs.
problem size. The observations presented in the
table are based on the results for "ve di!erent
problems of each size. Columns 2}4 report the
137
average CPU time and the range of CPU time in
seconds required to obtain the optimal solutions.
Also, we show CPU time required to reach a stage
when the least lower bound on the number of tardy
jobs does not di!er from the upper bound value by
more than 1. This is called &preempted execution
time' and is designated by PET, also depicted in the
last column of Table 3. Note that PET is relatively
very small for the problems tested (negligible for
problems of size up to n"50), while the CPU time
to obtain an optimal solution took more than 600 s
for all the problems of size n"100 and for some
problems of size n"75.
As a "nal note, the upper bound value computed
based on solution to two single machine problems
(as described in Section 6.2) was found to be quite
close to the optimal solution. Hence, as an approximate solution, one can apply single machine NT
algorithm to the job allocations on the machines
obtained as a result of ¹ algorithm. Problems of
.!9
size up to 1000 jobs can be easily solved by this
procedure.
8. Concluding remarks
In this paper, we have developed algorithms for
a bicriteria problem involving the minimization of
¹ as the primary criterion and the minimization
.!9
of NT as the secondary criterion. Both the algorithms are quite e!ective to use. The ¹ minimiz.!9
ation algorithm is an approximate algorithm but is
found to generate almost optimal solutions. The
NT minimization algorithm is based on the branch
and bound procedure and can be used to solve
Table 3
Execution time vs. probelm size for NT minimization algorithm
Problem size (n)
Average execution time
of "ve obervations (s)
Minimum execution
time (s)
Maximum execution
time (s)
Preempted execution
time (PET) (s)
10
20
30
40
50
75
100
0.36
0.52
1.28
3.4
13.0
'600
'600
0.01
0.04
0.09
90.18
60.33
0.56
'600
0.69
2.26
4.20
8.35
63.57
'600
'600
(0.01
(0.01
(0.01
(0.01
(0.01
0.85
2.81
138
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
problems of size up to 100 jobs beyond which it
encounters storage problems. An approximation to
this procedure is also suggested which tremendously cuts down the computational time; and due to
another approximation even problems of up to
1000 jobs can be easily solved.
Future work in the two machine bicriteria problem can be devoted to other pairs of criteria involving NT and ¹ , total completion time and ¹ ,
.!9
.!9
total tardiness and ¹ , and NT and total comple.!9
tion time as primary and secondary criteria. Also,
a natural extension of this work would be to consider probabilistic processing times instead of deterministic values considered here.
Acknowledgements
The authors are thankful to the reviewers and Dr.
Salah Elmaghraby of North Carolina State University for providing several insightful suggestions that
helped improve the quality of presentation.
Appendix A
Proof of Theorem 1. Since i.b.k, ¹ 1 decreases by
.!9
p , and since k.b.j.b.l, ¹ 2 decreases by p !p . To
i
.!9
j
i
prove the second part, note that if i.b.k, k.b.j.b.l,
and p *p , then ¹ 2 does not decrease. Also, if
i
j
.!9
i.b.k and j.b.k, or i.b.k and l.b.j, or l.b.i and j.b.k, or
l.b.i and l.b.j, then ¹ 1 and/or ¹ 2 either in.!9
.!9
crease or remain the same.
Proof of Theorem 2. (a) Since d )d (d (by Thei
k
j
orem 1), ¹ would decrease by a value of p . Hence,
k
i
¹
would decrease beyond ¹l if ¹ !p (¹l.
.!9
k
i
Considering the processing times and due dates of
the jobs to be integer values, we require that
p * ¹ !¹l#1.
i
k
Let p
be the minimum such Job i, i.e. mini .*/
imum p such that p
* ¹ !¹l#1. Now,
i
i .*/
k
consider the Jobs q on Machine 2 such that i.b.q.b.j.
Let C and C@ , and ¸ and ¸@ denote the compleq
q
q
q
tion times and latenesses of these jobs, respectively,
before and after the exchange of Jobs i and j.
. In
, and ¸@ "¸ #p
Clearly C@ ,"C #p
q
q
i .*/
q
q
i .*/
order to obtain a successful exchange, we require
that ¸@ (¹l, hence, ¸ #p
(¹l or
q
q
i .*/
¸ )¹l!(p
#1) for all Jobs q on Machine
q
i .*/
2 such that i.b.q.b.i.
Now, for any Job m on Machine 1 such that
d *d the completion time after the exchange
m
j
increases by a value of p !p
with p 'p
j
i .*/
j
i .*/
)
(by Theorem 1). Hence, C@ "C #(p !p
m
m
j
i .*/
).
which further implies that ¸@ ¸ #(p !p
m m
j
i .*/
Since for a successful exchange we require that
)!1.
¸@ (¹l, we have ¸ )¹l!(p !p
m
j
i .*/
m
(b) Since d )d and d (d )dl (by Theorem 1),
i
k
k
j
¹ decreases by p !p
. Now, in order to obtain
l
j
i .*/
new ¹
value less than min(¹ 1, ¹ 2),
.!9
.!9 .!9
)(¹
or
we require that ¹l!(p !p
j
i .*/
k
p *p
#¹l!¹ #1 (again by assuming that
j
i .*/
k
all p and ¹ values are integers). For any Job m on
Machine 1 such that d *d , the value of lateness
m
j
). In acafter exchange is ¸@ "¸ #(p !p
m
m
j
i .*/
cordance with the above requirement, we have,
¸ #(p !p
)(¹ or ¹ !¸ *p !p
#1.
m
j
i .*/
k
k
m
j
i .*/
Since, p !p
¹l!¹ #1 (from above), we
j
i .*/
k
have ¹ !¸ *¹l!¹ #2. As the latest possible
k
m
k
position of Job j can be l, the necessary condition is
that ¸ )(¹ !2)!(¹l!¹ ) for all Jobs m on
k
m
k
Machine 1 such that d *dl.
m
Next, consider any Job q on Machine 2 such that
d )d )d . The lateness value ¸@ after the exq
i
q
j
. Again, we rechange would be ¸@ "¸ #p
q
q
i .*/
quire that ¸@ (¹ , which after substituting for
q
k
¸@ becomes ¸ #p min(¹ , Thereby leading to
q
q
i
k
the necessary condition of ¸ )¹ !(p
#1).
q
k
i .*/
Proof of Theorem 4. Single and multiple job exchanges are performed in accordance with the condition of exchange that are derived from the result
of Theorem 1. Repeated application of Phase I and
Phase II results in the monotone reduction of the
range over which ¹H lies. Eventually, this range
.!9
becomes zero or no more exchange is possible
which can further decrease this range, thereby
resulting in the optimal solution.
References
[1] P. Dileepan, T. Sen, Bicriterion static scheduling research
for a single machine, Omega 16 (1) (1988) 53}59.
S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139
[2] A.A. Cenna, M.T. Tabucanon, Bicriterion scheduling problem in a job shop with parallel processors, International
Journal of Production Economics 25 (1}3) (1991) 95}101.
[3] R.L. Daniels, R.J. Chambers, Multiobjective #ow-shop
scheduling, Naval Research Logistics 37 (1990) 981}995.
[4] M.R. Garey, D.S. Johnson, Two processor scheduling with
start-times and deadlines, SIAM Journal on Computer
6 (3) (1977) 416}426.
[5] W. Townsend, Sequencing n jobs on m machines to minimize maximum tardiness: A branch and bound procedure,
Management Science 23 (9) (1977) 1016}1019.
[6] T.S. Nunnikhoven, H. Emmons, Scheduling on parallel
machines to minimize two criteria related to job tardiness,
AIIE Transactions 9(3) (1977) 288}296.
139
[7] A.H.G. Rinnooy Kan, Machine Scheduling Problems:
Classi"cation, Complexity and Computations, Martinus
Nijho!, The Hague, 1976.
[8] R.T. Nelson, R.K. Sarin, R.L. Daniels, Scheduling
with multiple performance measures: The one machine case, Management Science 32 (4) (1986)
464}480.
[9] S.C. Sarin, R. Hariharan, Single Machine Bicriteria Scheduling Problem, Virginia Polytechnic Institute and State
University, Blacksburg, VA, 24061.
[10] H. Emmons, One machine sequencing to minimize
the weighted sum of completion times with secondary
criteria, Naval Research Logistics Quarterly 22 (1) (1975)
585}592.