15
* Corresponding author. 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 (¹ .!9 ) and the secondary criterion of number of tardy jobs (NT). Algorithms are developed to optimize each of these criteria. Some properties on which the ¹ .!9 algorithm is based are developed. 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 schedul- ing n jobs on two parallel machines to minimize maximum tardiness (¹ .!9 ) and total number of tardy jobs (NT). The former is considered as a pri- mary 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 prob- lems have been addressed only recently. Cenna and Tabucanon [2] discuss a bicriterion parallel ma- chine problem of minimizing total #owtime and ¹ .!9 . They present a procedure to generate e$cient solutions based on an approach which "rst allo- cates jobs in accordance with a list schedule and then determines e$cient sequences on individual machines using a single machine bicriteria proced- ure. Daniels and Chambers [3] consider the se- quencing of jobs through a multimachime #owshop for the two criteria of min C .!9 (maximum comple- tion time among all machines) and ¹ .!9 . The aim is 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 heu- ristic procedures are suggested for approximating the e$cient sets for higher number of machines. Considering only the ¹ .!9 criterion problems, Gary and Johnson [4] present a procedure for a special version of this problem in which the pro- cessing time of all the jobs is identical and jobs have arbitrary precedence among them. Townsend [5] considers the n job, m machine, min ¹ .!9 #owshop problem and suggests a branch and bound proced- ure 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

A two machine bicriteria scheduling problem

Embed Size (px)

Citation preview

Page 1: A two machine bicriteria scheduling problem

*Corresponding author.

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 primarycriterion of maximum tardiness (¹

.!9) and the secondary criterion of number of tardy jobs (NT). Algorithms are

developed to optimize each of these criteria. Some properties on which the ¹.!9

algorithm is based are developed.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 schedul-ing n jobs on two parallel machines to minimizemaximum tardiness (¹

.!9) and total number of

tardy jobs (NT). The former is considered as a pri-mary criterion while the latter is considered asa secondary criterion. The primary criterion is theone that is optimized "rst while the secondarycriterion is optimized subject to the value obtainedfor the primary criterion.

A survey of the work done on the single machinebicriteria problem is given by Dileepan and Sen [1]while the two and higher machine bicriteria prob-lems have been addressed only recently. Cenna andTabucanon [2] discuss a bicriterion parallel ma-chine problem of minimizing total #owtime and¹

.!9. They present a procedure to generate e$cient

solutions based on an approach which "rst allo-cates jobs in accordance with a list schedule andthen determines e$cient sequences on individualmachines using a single machine bicriteria proced-ure. Daniels and Chambers [3] consider the se-quencing of jobs through a multimachime #owshopfor the two criteria of min C

.!9(maximum comple-

tion time among all machines) and ¹.!9

. The aim isto develop e$cient set of solutions. An algorithm issuggested to generate an exact number of e$cientsolutions for the two machine problem while heu-ristic procedures are suggested for approximatingthe e$cient sets for higher number of machines.

Considering only the ¹.!9

criterion problems,Gary and Johnson [4] present a procedure fora special version of this problem in which the pro-cessing time of all the jobs is identical and jobs havearbitrary precedence among them. Townsend [5]considers the n job, m machine, min ¹

.!9#owshop

problem and suggests a branch and bound proced-ure for its solution. In their paper, Nunnikhoven andEmmons [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

Page 2: A two machine bicriteria scheduling problem

methods to determine minimum number of parallelprocessors required to meet due dates. Thesemethods can be used to minimize ¹

.!9on a given

number of machines by sequentially trying varioustardiness values until the attainment of a minimumtardiness value for which a schedule can be found.

The two machine ¹.!9

problem is shown to beNP-complete [7]. Hence, the bicriteria problemunder consideration is also NP-complete. Conse-quently, we develop an approximate algorithm forthis problem that generates almost optimal solu-tions. To that end, we "rst present some assump-tions and notation that are used in the remainder ofthe paper. This is followed by motivation regardingthe development of the algorithms for both thecriteria. Some properties on which the algorithmfor minimizing ¹

.!9is based are developed next.

The algorithms are then described. In the end, somecomputational experience with these algorithms ispresented.

2. Assumptions and notation

Considering the ¹.!9

problem, there exists anallocation of the jobs to the two machines corre-sponding to the optimal value of ¹

.!9such that the

jobs on each machine are arranged in EDD order.This follows from the fact that if the jobs on eachmachine are not in EDD order then the ¹

.!9value

cannot be worsened by arranging them in EDDorder. Hence, without loss of generality we assumethat the jobs on each machine are arranged in EDDorder. In an EDD sequence on a machine, if twoJobs i and j have equal due dates, then the job witha higher processing time precedes the job witha lower processing time. We use the notation i.b.j torepresent the fact that Job i precedes Job j ina sequence of jobs on both the machines. Converse-ly also, the notation, i.b.j. will mean that d

i(d

jand

if di"d

jthen p

i*p

j. Also, by the notation i.b.k.b.j.

we imply that Job i precedes Job k and Job k pre-cedes Job j in a sequence of jobs on both themachines. Let ¹

.!91be the maximum tardiness

among the jobs on machine 1 and ¹.!92

be themaximum tardiness among the jobs on machines 2.In the sequel, we will refer to the ¹

.!9job on

Machine 1 by k and that on Machine 2 by l.

Machines 1 and 2 are labeled such that k.b.l. Themaximum tardiness value for the two machineproblem, ¹

.!9"max(¹

.!91, ¹

.!92), and the opti-

mal two machine maximum tardiness value will bedenoted by ¹H

.!9. We will also use the notation

¹iand ¸

ito represent the tardiness and lateness,

respectively, of a job i, in a sequence of the jobs onthe two machines.

3. Motivation regarding the development of thealgorithms

The procedure that is developed to minimize¹

.!9"rst aims at the determination of an allocation

of the jobs to the two parallel machines such thatthe minimum of the ¹

.!9values of the jobs on the

two machines sets a lower bound on ¹H.!9

so that itlies in the closed interval (or range) [¹

.!91, ¹

.!92].

This will be called the &range location phase' orPhase 1 of the algorithm. Starting from a givenallocation of the jobs to the two machines, this isaccomplished by exchanging them between the twomachines so that no further exchange can lead toa value of maximum tardiness less than the currentminimum between the ¹

.!91and ¹

.!92values.

Single job exchanges and multiple job exchangesbetween the two machines are considered. All suchexchanges are made depending upon the locationsof the ¹

.!91and ¹

.!92jobs on the machines. A set

of conditions are developed in Section 4 to deter-mine the jobs to switch to result in successfulexchanges.

After obtaining a closed interval [¹.!91

, ¹.!92

]by the process of range location, we next attempt toreduce this range so that the ¹H

.!9value lies on

a smaller interval. This will be called the &rangereduction phase' or Phase II of the algorithm. Sucha reduction can be performed in the following threedi!erent ways: (i) by reducing the higher of the two¹

.!9values while keeping the other one the same

(referred to as Strategy A); (ii) by reducing thehigher and increasing the lower of the two values(referred to as Strategy B); (iii) by increasing thelower of the two ¹

.!9values while keeping the

other one the same (referred to as Strategy C).The procedure adopted to accomplish range

reduction involves a series of job exchanges

126 S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139

Page 3: A two machine bicriteria scheduling problem

Fig. 1. Overall logic of the procedure used.

between the two machines including single andmultiple job exchanges. The process of consideringall possible multiple job exchanges is equivalent ofsolving a knapsack problem. Due to an extensiveamount 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 solutionsobtained are found to be almost optimal. Aftera successful range reduction step, the range reloca-tion step is executed to see if the range can berelocated. The overall logic of the algorithm isgiven in Fig. 1.

The algorithm developed to minimize NTfollows a search tree procedure. The scheduling ofjobs is carried out beginning from the last position.Hence, the makespan value on each machine needsto be known. These makespan values are deter-mined based on the ¹

.!9value and the maximum

due date. Since the jobs are scheduled backward,the "nish time of a job is known when it is sched-uled, and accordingly its tardiness value can bedetermined. Hence, only those jobs that do meetthe primary criterion at a position are consideredfor that position. The allocation of each eligible jobthere gives rise to a branch of the search tree anda corresponding node of the partial sequence.

4. Exchange procedure analysis

Before developing the conditions for the jobs tobe exchanged, let us "rst illustrate the concept, onwhich the procedure is based, through two simpleexamples.

Example 1. Consider the processing time and duedate data for the eight jobs given below.

Job 1 2 3 4 5 6 7 8

Processing time 1 2 2 1 3 4 3 8Due date 0 1 1 2 3 7 10 11

The jobs are numbered in the nondecreasing orderof their due dates. They are allocated in this orderto the earliest available position on the two parallelmachines. The resulting schedule is shown in Fig.2(a). In this schedule, ¹

.!91"3 and it occurs for

Job 5, while ¹.!92

"4 and it occurs for Job 8. Thus,¹

.!9"4. Now, if we remove Job 1 from Machine

1 and Job 6 from Machine 2 and put them in theirEDD positions on Machines 2 and 1, respectively,the resulting schedule (shown in Fig. 2(b)) has¹

.!9"2. Incidentally, the new ¹

.!91and

¹.!92

values happen to be the same. This need notbe the case in general. Thus, by switching some jobsbetween the machines, the new ¹

.!9value became

less than the current min(¹.!91

, ¹.!92

) value ("3).This is the range relocation concept.

Example 2. Consider another example shownbelow.

Job 1 2 3 4 5 6 7 8

Processing time 5 5 1 1 2 4 3 7Due date 3 4 5 6 8 9 12 13

The starting schedule is shown in Fig. 3(a). Forthis schedule, ¹

.!91"2 and ¹

.!92"4. Clearly, the

¹.!9

value for this problem cannot be less than 2 as¹

.!91occurs for the "rst job on Machine 1. The

range for ¹.!9

is therefore [2, 4]. Now, if we shiftJob 4 from Machine 2 to Machine 1, the resultingschedule (shown in Fig. 3(b)) has ¹

.!92"3. Thus,

the ¹.!9

range has been reduced to [2, 3]. This isthe range reduction concept. The range of ¹

.!9is

reduced here by reducing ¹.!92

. In general, it can

S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139 127

Page 4: A two machine bicriteria scheduling problem

Fig. 2. Example 1.

Fig. 3. Example 2.

128 S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139

Page 5: A two machine bicriteria scheduling problem

Fig. 4. Exchange procedure analysis.

also be reduced by increasing ¹.!91

or by simulta-neously increasing ¹

.!91and reducing ¹

.!92. Also,

note that, shifting Job 2 or Job 6 individually inFig. 3(a) does not result in range reduction.However, if an appropriate job is also shifted fromMachine 1 to Machine 2 then it may. For instance,if Job 6 is shifted to Machine 1 and Job 5 is shiftedto Machine 2 in Fig. 3(a), then range reduction isachieved. In fact, then, ¹

.!91"2 and ¹

.!92"2.

In general, multiple jobs from Machine 1 may beswitched with multiple jobs from Machine 2 toe!ect the change with respect to both range reloca-tion and range reductions. To see this, consider thesituation in Fig. 3(b). If Job 6 from Machine 2 isswitched with Jobs 4 and 5 from Machine 1, thenthe resulting values of ¹

.!91"2 and ¹

.!92"2.

As, for a given allocation of the jobs to the twomachines, the jobs on each machine are arranged inEDD order, the main aim of the procedure is there-fore to determine an allocation of the jobs to thetwo machines that results in ¹H

.!9. In light of this,

there are two key questions: (i) how to select whichjobs to switch between the machines both for rangerelocation and range reduction, and (ii) when tostop. Next, we develop conditions to implement (i)both for range relocation (Phase I) and range re-duction (Phase II). Since the requirements of eachof these steps are di!erent, they lead to di!erent setsof conditions. The issue (ii) of when to stop isdiscussed subsequently in Section 4.3.

4.1. Development of conditions for range relocation(Phase I)

The analysis is divided into two cases dependingupon whether or not jobs k and l are considered aspart of the set of jobs to be exchanged.

4.1.1. Analysis for the case when the ¹.!9

jobs arenot exchanged

Consider an allocation of the jobs to the twomachines with the jobs assigned to the machines inthe EDD order, as described above. First considerthe single job exchange. Let Job i from Machine1 be exchanged with Job j from Machine 2 suchthat i.b.j, and i and j are not the jobs with the¹

.!91and ¹

.!92values, respectively. Let p

iand p

jbe

their respective processing times. Such an exchangeis shown in Fig. 4.

Theorem 1. Under single job exchange, both¹

.!91and ¹

.!92decrease simultaneously if and only

if there exist a Job i on Machine 1 and a Job j onMachine 2 such that

pi(p

jand d

i)d

k(d

j)dl,

where k and l are the jobs corresponding to the¹

.!91and ¹

.!92values, respectively.

Proofs of Theorem 1, and Theorems 2 and 4 tofollow, are given in the Appendix.

Next, we precisely develop the conditions for theexchange of Jobs i and j to result in the ¹

.!9value

less than min(¹.!91

, ¹.!92

). Such an exchange ofJobs i and j will be called a successful exchange.

Theorem 2.(a) If ¹

k'¹l, the conditions for a successful ex-

change are:(i) there exists a Job i on Machine 1 such that

pi¹

k!¹l#1 and d

i*d

k(if more than

one Job i exist then we select a job with theminimum processing time and designate itby p

i .*/) ;

(ii) there exists a Job j on Machine 2 such thatdk(d

j)dl and p

j'p

i .*/;

(iii) for Jobs q on Machine 2 such thatdi)d

q)d

j, ¸

q)¹l!(p

i .*/#1);

(iv) for Jobs m on Machine 1 such thatdm*d

j, ¸

m)¹l!(p

j!p

i .*/)!1; and

(v) the tardinesses of the Jobs i and j, after themove, are less than ¹l

(b) If ¹k)¹l, the necessary conditions for a suc-

cessful exchange are:(i) there exists a Job i on Machine 1 such that

di(d

k(if more than one Job i exist, then we

select min such i and designate it by pi .*/

),and a Job j on Machine 2 such thatdk(d

j)dl and p

j*p

i .*/#¹l!¹

k#1;

S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139 129

Page 6: A two machine bicriteria scheduling problem

(ii) for any Job m on Machine 1 such thatdm'd

j, ¸

m)(¹

k!¹l)#¹

k!2;

(iii) for any Job q on Machine 2 such thatdi)d

q)d

j, ¸

q)¹

k!(p

i .*/#1); and

(iv) the tardinesses of the Jobs i and j, after themove, are less than ¹

k.

The conditions in Theorem 2 indicate that if anyone of them is violated, then it is not possible to geta schedule with the ¹

.!9value less than

min(¹k, ¹l). Note that condition (iii) of Theorem

2(b) can be relaxed for implementation purposes byconsidering Job q s.t. d

i)d

q)d

s(instead of

di)d

q)d

j), where d

s)d

jfor all Jobs j on

Machine 2 s.t. dk(d

j(dl.

4.1.1.1. Extension to multiple job exchange. Theabove discussion was focused on the exchange ofa single Job i on Machine 1 with a single Job j onMachine 2. However, the arguments presented caneasily be extended to the exchange of multiple jobs.Conditions for this case are equivalent to thosein Theorem 2 and can be developed to be thefollowing.

Case (a): ¹k'¹l

(i) there exists a set of Jobs A on Machine1 (equivalent of Job i before) such that da)d

kfor all a3A and +a|Apa*¹

k!¹l#1.

(ii) there exists a set of Jobs B on Machine2 (equivalent of Job j before) such thatdk(d)dl for all b3B and +b|Bpb'+a|Apa.

(Note that the sets A or B could be singletons.)(iii) If j

1represents a job amongst the jobs in B with

the minimum due date, then for all q)Q onMachine 2 s.t. d

i(d

q(d

j(where Job i is the

single job being exchanged with a set of JobsB), ¸

q3¹l!(+a|Apa#1).

(iv) If j2

represents the job with the highest duedate among those in the set B, then¸m)¹l!(+b|Bpb!+a|Apa) for all jobs

m3M on Machine 1 such that dm*d

j2.

(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 meetcondition (i), determine a set of jobs to be switchedby solving the knapsack problem: +a{pa{xa{ s.t.+a{pa{xa{*v; where v"¹

k!¹l#1 to start with.

If there is an alternative optimum, then selecta solution for which the last a@ job, with xa@"1,has maximum da@. Call this job llast. If¸q)¹l!(p

i .*/#1) (where p

i .*/"+a{pa{xa{), for

all q, llast.b.q.b.k, then that set is selected for pos-sible switch. If not, make v"v#1, and search foranother set A.

Multiple jobs for switching are determined bygenerating combinations of the jobs that satisfy thespeci"ed condition to belong in Set A. Variouscombinations of the jobs of increasing cardinalityare generated systematically. Whenever, a combi-nation of the jobs is found (with respect to Set A),then the best combination of the jobs of that car-dinality is selected to switch. Thus, the knapsackproblem is solved heuristically using partial enu-meration.

Case (b): ¹k)¹l

(i) there exists a set of Jobs A on Machine 1 anda set of Jobs B on Machine 2 such thatda(d

k, db(d

k, a3A, b3B, and +apa!+bpb

is minimum (+apa'+bpb), and a set of JobsB2

on Machine 2 such that dk(dc3dl, for all

c3B2

and +c|bpc (+apa!+bpb)#¹l!¹k#1.

(ii) for all Jobs m on Machine 1 such thatdm'dl, ¸m

)(¹k!¹l)#(¹

k!2).

(iii) if d is the highest due date job among the jobsa and b de"ned in (i), and o represents the jobwith the highest due date among those in B

2(de"ned in (i)), then for all Jobs q on Machine2 such that dd)d

q(do, ¸q

)¹k!(+apa

!+bpb)!1.(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 areexchanged

Now, consider the case when the jobs consideredfor exchange, namely, Job i or Job j (or both)correspond to the Jobs k and l. This can lead to theconsideration 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 fromMachine 2 to Machine 1.

130 S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139

Page 7: A two machine bicriteria scheduling problem

Consider Case 1. As in either of the two situations,namely (a) ¹

k(¹l and (b) ¹

k*¹l, the

min(¹k, ¹l) needs to decrease at least by a unit

value, we require thata. 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 itshould be moved such that it gets an earlierstart time on Machine 2. Also, we would requirethat p

m(p

kbecause, otherwise for some Job &q'

on Machine 1 such that q.b.k, its completiontime value obtained after the exchange wouldbe greater than the completion time value ofJob k before the exchange thus leading toa higher tardiness value.

c. If Job k is moved from Machine 1 to Machine2 and Job m from Machine 2 to Machine 1 withm.b.k and p

m(p

kthen it is necessary to move

Job l from Machine 2 to Machine 1 becauseotherwise there would be an increase in thecompletion time of Job l on Machine 2 and thisis not desired. Thus, we note that Case 1 be-comes identical with Case 3.

As regards Case 2, it is necessary to move someJob i with i.b.k from Machine 1 to Machine 2 sothat the tardiness value of Job k decreases. Now,considering the situations pertaining to (a) ¹

k(¹l

and (b) ¹k*¹

l, the analysis becomes identical to

that of the analysis presented in Section 4.1.1 (whenthe jobs with ¹

.!9values are not exchanged) with

only Job j being replaced by Job l. Hence, we notethat in this context the only case that demandsfurther discussion is Case 3, that is, when both Jobk and Job l are shifted. In this case, as describedabove in Case 1, we would shift Job m such thatm.b.k from Machine 2 to Machine 1, Job kfrom Machine 1 to Machine 2 and Job lfrom Machine 2 to Machine 1. Extension of thisargument to the case of multiple job exchangewould require the interchange of Job k and a set ofJobs A from Machine 1 for which da(d

kfor all

a3A, with a set of Jobs B from Machine 2 for whichdb(d

kfor all b)B, such that +bpb!+apa(p

kand Job l.

Note that Theorem 1 speci"es both the necessaryand su$cient conditions for the relocation of

¹H.!9

range. Conditions of Theorem 2 and the sub-sequent development for multiple job exchange andthe exchange of ¹

.!9jobs are all based on the result

of Theorem 1 and hence lead to the conclusion ofthe following result.

Theorem 3. If for a given allocation of the jobs to thetwo machines with ¹M

.!9"min(¹

.!91, ¹

.!92), single

and multiple job exchanges violate the conditions ofTheorem 2 (and subsequent ones for multiple jobs)and those for the case when the ¹

.!9jobs on both the

machines are also exchanged, then ¹H.!9

*¹M.!9

.

Moreover, it is clear that ¹H.!9

)max(¹.!91

, ¹.!92

).Hence, the Phase I analysis results in an upper andlower bound on ¹H

.!9.

4.2. Analysis to constrict the range obtained(Phase II)

Now that (as a result of Phase I) we have anassignment of the jobs on the two machines suchthat no change in the assignment would lead toa value of ¹

.!9less than min(¹

k, ¹l), we reassign

the jobs so as to constrict the range over which the¹

.!9value lies. The aim is to constrict it to an

extent that either it becomes small enough to satisfya prespeci"ed value or it cannot be reduced anymore.

Constriction of range is done by following strat-egies, A, B or C (described earlier in Section 3)depending upon the locations of the jobs fromMachines 1 and 2 that are considered for exchange.If the exchange procedure uses Strategy A then it isobvious that we have a new set of values ¹

kand

¹l such that the optimal value of ¹.!9

[¹k, ¹l]

because it reduces the maximum of the two¹

.!9values. In case of the use of Strategies B or C,

as the minimum of ¹.!91

and ¹.!92

increases, it isnecessary to verify once again if the optimal valueof ¹

.!9lies over the new range corresponding to

the new ¹kand ¹l values obtained. This is checked

by applying Phase I. This results in the identi"ca-tion of a range smaller than before over which theoptimal ¹

.!9value lies. In the following section,

an analysis is presented to select the jobs to beexchanged between the two machines in accord-ance with each of the three strategies.

S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139 131

Page 8: A two machine bicriteria scheduling problem

The analysis is divided into two cases dependingupon whether ¹

k(¹l or ¹

k'¹l.

Case a: ¹k)¹l

Strategy A: To implement this strategy, selecta Job j from Machine 2 such that d

k(d

j)dl (so

that ¹kis not a!ected), and that for all Jobs Q on

Machine 1 with dj(d

q, q3Q, ¸

q#p

j)¹l so that

the tardiness of any job does not exceed ¹l. Also, inorder that the value of ¹l does not decrease beyondthe value of ¹

k, the processing time of the Job

j transferred from Machine 2 to Machine 1 withdk(d

j)dl, and j.b.l, should be such that

¹l!pj*¹

kor ¹l!¹

k*p

j. A more general

way of following Strategy A is by the exchange ofmultiple Jobs i on Machine 1 with multiple Jobs&j ' on Machine 2 such that +p

i(+p

jand

¹l!¹k*+p

j!+p

i.

Strategy B: For a job exchange that follows thisstrategy, we would consider the transfer of a singleJob j from Machine 2 to Machine 1 such thatdj(d

k(designated as exchange of Type 1), or the

exchange of a Job i from Machine 1 with Job j fromMachine 2 such that p

j'p

i, d

i)d

kand d

j(d

k(designated as exchange of Type 2)

Since we are interested in having the "nal valuesof ¹

kand ¹l (i.e. the values after the exchange of

jobs) to lie in the closed interval [¹k, ¹l], in the

exchange of Type 1 we require that ¹k#p

j(¹l or

pj(¹l!¹

k), and in the exchange of Type 2, we

require that ¹k#(p

j!p

i))¹l or p

j!p

i)¹l!¹

k.

The tardiness values of the appropriate sets of jobson Machines 1 and 2 should not violate this condi-tion as well. For instance, if i.b.j, ¸

m#p

i)¹l!1

for i.b.m.b.j, and if j.b.i, ¸m#p

j)¹l!1 for

j.b.m.b.l.The exchange of Type 2 can be generalized to the

exchange of multiple Jobs i from Machine 1 withmultiple Jobs j from Machine 2 such that+p

j!+p

i(¹l!¹

kwith the tardiness values of

the appropriate sets of jobs on Machines 1 and2 not violating this condition.

Strategy C: To implement this strategy, exchangeJob i from Machine 1 with Job j from Machine2 such that p

i"p

j, d

j(d

kand d

k(d

i(dl.

Case b: ¹k'¹l

Strategy A: In this case, exchange Job i fromMachine 1 with Job j from Machine 2 such thatpi"p

j, d

i(d

kand d

k(d

j(dl, with the tardiness

value of none of the jobs on Machine 2 in betweenJobs i and j to exceed ¹l.

Strategy B: This would require either the transferof a single Job i from Machine 1 to Machine 2 suchthat d

i(d

k(exchange of Type 1) or the exchange of

Job i from Machine 1 with Job j from Machine2 such that p

i'p

j, d

i(d

kand d

j)d

k(exchange of

Type 2). The restriction of the "nal values of ¹kand

¹l to the closed interval [¹l, ¹k] would require

that pi)¹

k!¹l in case of exchange of Type 1,

and pi!p

j)¹

k!¹l in case of exchange of

Type 2 with the tardiness values of the appropriatesets of jobs on Machines 1 and 2 not violating thiscondition as well.

Strategy C: This would require either the transferof a single Job i from Machine 1 to Machine 2 suchthat d

k)d

i)dl or the exchange of Job i on Ma-

chine 1 with Job j on Machine 2 such thatpi'p

j, d

k(d

i(dl and d

k(d

j(dl. Moreover, to

restrict the "nal values of ¹k

and ¹l to the closedinterval [¹l, ¹k

] requires restrictions on pi

andpi!p

jas mentioned above in Strategy B.

4.3. Optimality of the procedure

Theorem 4. Repeated Application of Phase I andPhase II will result in the attainment of ¹H

.!9.

This result indicates to stop performing jobswitches between the machines when both PhaseI and Phase II exchanges are not successful.

5. Algorithm to minimize ¹.!9

Next, we present the ¹.!9

minimization algo-rithm. It incorporates only selected job exchanges,namely those involving single jobs and contiguousjobs. As a result, it does not guarantee attainmentof the optimal solution. However, the algorithmis e$cient and the experimentation, reportedlater, indicates that it generates almost optimalsolutions. An outline of the algorithm is given inFig. 5.Step 1:

Arrange all the jobs in the EDD order and ifdi"d

jand p

i'p

jthen i.b.j.

132 S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139

Page 9: A two machine bicriteria scheduling problem

Fig. 5. An outline of the ¹.!9

Algorithm.

Step 2:Allocate the jobs in that order on the two ma-chines such that each job gets the earliest pos-sible start.

Step 3:Designate ¹

.!91and ¹

.!92by ¹

kand ¹l such

that k.b.l with the machine to which Job kbelongs denoted as Machine 1 and the othermachine denoted as Machine 2.

Phase I (Range Relocation Phase)Step 4:

Does there exist a Job j on Machine 2 such thatk.b.j.b.l

if no, then go to Step 7else go the Step 5.

Step 5: (Execute this step to relocate the range if¹

k'¹l)if ¹

k'¹l then

try single and multiple job switches betweenthe machines for successful range relocationby checking the necessary conditions (i) to (v)of Theorem 2(a).

if max(¹knew, ¹l new)*¹l, do not make

the switch and determine another set ofJobs i and j

S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139 133

Page 10: A two machine bicriteria scheduling problem

if no single or multiple Job j canbe found that satisfy conditions ofTheorem 2(a), then go to Step 7.else continue

else max(¹knew, ¹l new)(¹l, switch is

successful in relocating range and exit toStep 3.

else go to Step 6.Step 6: (Execute this step to relocate the range when¹

k)¹l)if k"1, then no Job i can be found, so go toStep 7.else determine a single or multiple Job i to beswitched with a single or multiple Job j thatsatisfy all conditions of Theorem 2(b).

if max(¹knew, ¹l new)(¹

k, then go to

Step 3else determine new sets of jobs to be switched

if no jobs can be found for switching, thengo to Step 7else, 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 dis-cussion in Section 4.1.2. We do not consider hereexchanges of multiple jobs between the machinesfor the sake of simplicity.

Set ¸Bm"0

if there exists a job m on Machine 2 such that¸B

m.b.m.b.k and p

m(p

kthen select m such that p

mis minimum;

shift Job m to Machine 1, Job k to Machine2, and Job l to Machine 1.

if max(¹knew, ¹l new)(max(¹

k, ¹l),

then go to Step 3else put the jobs to their original posi-tions, set ¸B

m"m and try to "nd an-

other m.else range cannot be relocated, go to Step 8.

Phase II (Range Reduction Phase)Step 8: (Phase II for the case when ¹

k)¹l.)

Once a range is established over which the¹

.!9value lies, an attempt is made to reduce it

by using the strategies described in Section 4.2.if ¹

k'¹l, then go to Step 9

else try Strategy A, then B and then C asdescribed in Case (a) of Section 4.2.

In Strategy B, "rst try exchange Type 1and then exchange of Type 2.

if a switch is successful, thenif it is successful due to StrategiesB or C, then exit to Step 3else try Strategies A, B, and C again

else go to Step 10.Step 9: (Phase II for the case when ¹

k'¹l)

First, try Strategy A followed by the exchange ofType 1 and then of Type 2 under Strategy B asdescribed in Case (b) of Section 4.6 and imple-mented in Step 8 except that now the roles ofMachine 1 and Machine 2 are switched, andthen try Strategy C in that order.

if a switch is successful, thenif it is successful due to Strategies B and/orC, then exit to Step 3else try Strategies A, B, and C again.

else go to Step 10.Step 10:Determine ¹

kand ¹l for the current schedule. The

best value of ¹.!9

obtained"max(¹k, ¹l).

6. Minimization of the secondary criterion

As alluded to earlier, a branch and bound basedmethod is used to min NT given the ¹

.!9value. It

proceeds by scheduling the jobs backwards on boththe machines. To implement it, we "rst need to "xthe makespan on both the machines and then makethe job allocations. If C

1and C

2are the makespan

values on Machines 1 and 2, then C#C2

is equalto the sum of the processing times of the jobs, and isconstant. Therefore, for a given C

1there corres-

ponds a de"nite value of C2.

If d.!9

denotes the maximum among the duedate values, then the maximum possible value ofC

1that does not violate the primary criterion is

d.!9

#¹H.!9

. Also, in order that the optimal valueof ¹

.!9is maintained, for any job to end at Time t,

it is necessary that t)di#¹H

.!9. Hence, not every

combination of C1

and C2

will be feasible to theprimary criterion. That is, if the jobs are scheduledbackwards starting from a set of C

1and C

2values,

we may come across a value of t at which no job iseligible to be scheduled with respect to the primarycriterion thereby causing a gap in the schedules.Since the criteria to be optimized are regular, suchschedules cannot be optimal with respect to both

134 S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139

Page 11: A two machine bicriteria scheduling problem

NT and ¹.!9

criteria. The schedules with gaps willbe referred to as infeasible schedules. However, weknow that there does exist at least one feasible set ofC

1and C

2values (in particular, the makespan

values corresponding to the schedule that opti-mizes the primary criterion) that gives a feasible setof makespan values.

In the algorithm presented, we begin by examin-ing various possible assignments beginning witha makespan value C

1"d

.!9#¹H

.!9on Machine

1 and the corresponding value of C2

on Machine 2.If a certain value of C

1is found to be infeasible, we

proceed to the next possible value of C1. The pro-

cedure is continued until all possible values ofC

1are covered.

6.1. Algorithm to minimize the number of tardy jobs

Let N¹i"the number of tardy jobs obtained so

far in any branch i;;B"the upper bound valueon the number of tardy jobs; and ¹

.*/641(i) and

¹.*/642

(i) be the values of time on the two machinesfor active branch i.Step 1: Initialization.

Let C1"d

.!9#, and de"ne C

2accordingly.

Without loss of generality, let C1*C

2(that is,

the machine with the larger makespan is desig-nated as Machine 1). Let UB"the number oftardy jobs in the schedule obtained for the¹

.!9problem.

Step 2:Set NT"0, C"max(C

1, C

2), and F"C.

Step 3:Determine the set of jobs (designated eligiblejobs) which have not been scheduled so far andwhich when scheduled to end at Time F wouldnot have a tardiness value greater than ¹H

.!9.

Note that this would also include the jobs thatwould be early if scheduled to end at that posi-tion. If no job is eligible, fathom that branch andgo to Step 5.

Step 4:For each eligible Job i, branch out by schedulingJob i to end at Time F on the machine fromwhich the value of F was obtained. Determinethe corresponding starting Time S

1or S

2of the

job on Machine 1 or 2 wherever scheduled. If forany branch S

1(0 or S

2(0, fathom that

branch (implying an infeasible assignment as thejob starting time precedes machine availabilitytime). Also, fathom a branch if max(S

1, S

2)"0.

This indicates the attainment of a feasible sched-ule. If F)d

i, then set the NT value for this

branch equal to the NT value of the parentbranch. Otherwise, NT value of thisbranch"NT value for the parent branch #1(if NT*UB, then fathom this node). Store thevalues of S

1and S

2for each branch in the arrays

named ¹.*/641

and ¹.*/642

. If there are two jobswith the same processing time eligible to bescheduled at a position, store the schedule corre-sponding to the job that would not be tardy atthat position, otherwise store the schedule corre-sponding to any one of them. Determine the NTvalue of a branch with the max(S

1, S

2)"0, and

set UB"min (UB, NT).Step 5:

Set S"maxixAN

Mmax[¹.*/641

(i), ¹.*/642

(i)]N,where AN refers to the set of activenodes. IfAN"/, then go to Step 6. Let k be the value ofi corresponding to S. Set S

1"¹

.*/641(k)

and S2"¹.*/642

(k) and delete ¹.*/641

(k) and¹

.*/642(k) from ¹

.*/641and ¹

.*/642respectively.

Go to Step 3.Step 6:

If C1!1*C

2#1, set C

1"C

1!1, C

2"

C2#1, and go to Step 2. Otherwise, go to

Step 7.Step 7:

The current value of the upper bound (UB) givesthe optimal value of NT. Stop.

6.2. Determination of lower and upper bounds fornumber of tardy jobs

Tighter upper and lower bound values can becomputed as follows. These are however not imple-mented in the above algorithm. A tighter lowerbound value for each node can be obtained byscheduling the remaining jobs (jobs not scheduledso far) on a single machine and minimizing thenumber of tardy jobs in this set, for a given value of¹

.!9by using the single machine algorithm [8,9].

To get the equivalent single machine problem, theequivalent due dates of the jobs need to be twice theactual due date values. Also, the minimum value of

S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139 135

Page 12: A two machine bicriteria scheduling problem

Table 1Average execution time vs. problem size for the ¹

.!9minimiz-

ation algorithm

Problemnumber

Problemsize (n)

Average execution timeof ten observations (s)

1 50 0.132 100 0.343 150 0.704 200 1.205 250 1.866 300 2.617 350 3.658 400 4.579 450 5.75

10 500 7.08

¹.!9

for the single machine problem can be ob-tained from the EDD sequence. A tighter upperbound can be obtained by minimizing the numberof tardy jobs on each machine individually by usingthe single machine algorithm [8,9] for the assign-ment of jobs obtained as a result of the ¹

.!9prob-

lem. This involves the solution of two singlemachine problems.

7. Experimental results

The algorithms suggested above were coded inFORTRAN-77 and were run on an IBM 3090.

7.1. ¹.!9

minimization algorithm

For the algorithm to minimize ¹.!9

, problemswere generated using the due date procedure sim-ilar to the one suggested by Emmons [10]. In thisprocedure, the processing times are selected as uni-formly distributed integer values between 1 andu (where u is an integer). Problems were generatedfor various values of u. The due date for each job isdetermined by adding a number randomly selectedfrom a uniform distribution of integers between0 and n, where &n' represents the number of jobs:

di"p

i#;(0, n).

The results obtained regarding the variation ofaverage execution time vs. the problem size arepresented in Table 1. Ten problems were run foreach problem size. Note that if for a solution,D¹

k!¹lD is at most 1 and no j exists such that

k)j)l, then many of the exchanges need not betested. Also, if other exchanges are not successful,then that is an optimal solution. This criterion wassatis"ed in all the problems that were run.

As mentioned earlier, the jobs are initially as-signed to the machines in EDD order with each jobassigned to the earliest available machine. Thisinitial assignment tends to minimize the number ofjobs between Jobs k and l, and consequently makesthe algorithm an e!ective one, on the average. Also,in the experimentation, it is observed that with thisstarting solution Phase I exchanges are successfulonly occasionally. However, if the jobs are initiallyassigned to machines di!erently, quite a few suc-

cessful exchanges are carried out in Phase I of thealgorithm, and consequently, the computationaltime also increases.

To further study the behavior of the algorithm,problems were run for di!erent values of u, and fordi!erent types of due dates and processing times.Table 2 shows the variation of the number of iter-ations required to solve the problem with di!erentvalues of u (for a constant value of n"1000). AsPhase I exchanges were successful only occa-sionally, each iteration here refers to the successfulexecution of the range reduction step (Phase II). So,in other words, the number of iterations also indi-cate the number of times range reduction is ac-complished. We observe that the number ofiterations required to solve the problem increaseswith u (i.e. the greater the variation in job process-ing times, the greater is the number of iterationsrequired in the knapsacks involving p

i!p

j). As

regards di!erent values of the due dates and pro-cessing times, the type of problem that showed theworst kind of computational complexity has rela-tively small processing times for most of the jobs inbetween Jobs k and l, and the due dates for thesejobs are such that they do not become too tardywhile the processing times of both the Jobs k andl are very large thereby delaying them by a largeamount.

As Phase I is successful only minimally in thealgorithm, a further approximation can be imple-mented by using Phase II alone. Such a procedurewill also not guarantee optimal solution. However,

136 S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139

Page 13: A two machine bicriteria scheduling problem

Table 2Average number of iterations vs. range of processor times for the¹

.!9minimization algorithm

Range of processingtimes (1, u)

Average no. of iterations of tenobservations for problems forsize n"1000

(1, 10) 2(1, 250) 7(1, 100) 11(1, 200) 13(1, 300) 17(1, 500) 30

Table 3Execution time vs. probelm size for NT minimization algorithm

Problem size (n) Average execution timeof "ve obervations (s)

Minimum executiontime (s)

Maximum executiontime (s)

Preempted executiontime (PET) (s)

10 0.36 0.01 0.69 (0.0120 0.52 0.04 2.26 (0.0130 1.28 0.09 4.20 (0.0140 3.4 90.18 8.35 (0.0150 13.0 60.33 63.57 (0.0175 '600 0.56 '600 0.85

100 '600 '600 '600 2.81

starting with the EDD sequence, the computationalexperience indicates attainment of fairly good solu-tions.

7.2. NT minimization algorithm

Computational experience with this algorithmindicates that the high storage requirements for thisalgorithm restrict its application to problems of sizen)100. To study the behavior of the algorithm forthe problems generated, the processing times werechosen such that p

i";(1, 10). The due dates were

chosen in the same manner as that for the problemto minimize the value of ¹

.!9. A lower bound value

was calculated for each node as described earlier.The nodes with lower bound values greater thanthe current upper bound are fathomed.

Table 3 shows the variation of execution time vs.problem size. The observations presented in thetable are based on the results for "ve di!erentproblems of each size. Columns 2}4 report the

average CPU time and the range of CPU time inseconds required to obtain the optimal solutions.Also, we show CPU time required to reach a stagewhen the least lower bound on the number of tardyjobs does not di!er from the upper bound value bymore than 1. This is called &preempted executiontime' and is designated by PET, also depicted in thelast column of Table 3. Note that PET is relativelyvery small for the problems tested (negligible forproblems of size up to n"50), while the CPU timeto obtain an optimal solution took more than 600 sfor all the problems of size n"100 and for someproblems of size n"75.

As a "nal note, the upper bound value computedbased on solution to two single machine problems(as described in Section 6.2) was found to be quiteclose to the optimal solution. Hence, as an approx-imate solution, one can apply single machine NTalgorithm to the job allocations on the machinesobtained as a result of ¹

.!9algorithm. Problems of

size up to 1000 jobs can be easily solved by thisprocedure.

8. Concluding remarks

In this paper, we have developed algorithms fora bicriteria problem involving the minimization of¹

.!9as the primary criterion and the minimization

of NT as the secondary criterion. Both the algo-rithms are quite e!ective to use. The ¹

.!9minimiz-

ation algorithm is an approximate algorithm but isfound to generate almost optimal solutions. TheNT minimization algorithm is based on the branchand bound procedure and can be used to solve

S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139 137

Page 14: A two machine bicriteria scheduling problem

problems of size up to 100 jobs beyond which itencounters storage problems. An approximation tothis procedure is also suggested which tremendous-ly cuts down the computational time; and due toanother approximation even problems of up to1000 jobs can be easily solved.

Future work in the two machine bicriteria prob-lem can be devoted to other pairs of criteria involv-ing NT and ¹

.!9, total completion time and ¹

.!9,

total tardiness and ¹.!9

, and NT and total comple-tion time as primary and secondary criteria. Also,a natural extension of this work would be to con-sider probabilistic processing times instead of de-terministic values considered here.

Acknowledgements

The authors are thankful to the reviewers and Dr.Salah Elmaghraby of North Carolina State Univer-sity for providing several insightful suggestions thathelped improve the quality of presentation.

Appendix A

Proof of Theorem 1. Since i.b.k, ¹.!91

decreases bypi, and since k.b.j.b.l, ¹

.!92decreases by p

j!p

i. To

prove the second part, note that if i.b.k, k.b.j.b.l,and p

i*p

j, then ¹

.!92does not decrease. Also, if

i.b.k and j.b.k, or i.b.k and l.b.j, or l.b.i and j.b.k, orl.b.i and l.b.j, then ¹

.!91and/or ¹

.!92either in-

crease or remain the same.

Proof of Theorem 2. (a) Since di)d

k(d

j(by The-

orem 1), ¹kwould decrease by a value of p

i. Hence,

¹.!9

would decrease beyond ¹l if ¹k!p

i(¹l.

Considering the processing times and due dates ofthe jobs to be integer values, we require thatpi* ¹

k!¹l#1.

Let pi .*/

be the minimum such Job i, i.e. min-imum p

isuch that p

i .*/* ¹

k!¹l#1. Now,

consider the Jobs q on Machine 2 such that i.b.q.b.j.Let C

qand C@

q, and ¸

qand ¸@

qdenote the comple-

tion times and latenesses of these jobs, respectively,before and after the exchange of Jobs i and j.Clearly C@

q,"C

q#p

i .*/, and ¸@

q"¸

q#p

i .*/. In

order to obtain a successful exchange, we requirethat ¸@

q(¹l, hence, ¸

q#p

i .*/(¹l or

¸q)¹l!(p

i .*/#1) for all Jobs q on Machine

2 such that i.b.q.b.i.Now, for any Job m on Machine 1 such that

dm*d

jthe completion time after the exchange

increases by a value of pj!p

i .*/with p

j'p

i .*/(by Theorem 1). Hence, C@

m"C

m#(p

j!p

i .*/)

which further implies that ¸@m¸m#(p

j!p

i .*/).

Since for a successful exchange we require that¸@m(¹l, we have ¸

m)¹l!(p

j!p

i .*/)!1.

(b) Since di)d

kand d

k(d

j)dl (by Theorem 1),

¹ldecreases by p

j!p

i .*/. Now, in order to obtain

new ¹.!9

value less than min(¹.!91

, ¹.!92

),we require that ¹l!(p

j!p

i .*/)(¹

kor

pj*p

i .*/#¹l!¹

k#1 (again by assuming that

all p and ¹ values are integers). For any Job m onMachine 1 such that d

m*d

j, the value of lateness

after exchange is ¸@m"¸

m#(p

j!p

i .*/). In ac-

cordance with the above requirement, we have,¸m#(p

j!p

i .*/)(¹

kor ¹

k!¸

m*p

j!p

i .*/#1.

Since, pj!p

i .*/¹l!¹

k#1 (from above), we

have¹k!¸

m*¹l!¹

k#2. As the latest possible

position of Job j can be l, the necessary condition isthat ¸

m)(¹

k!2)!(¹l!¹

k) for all Jobs m on

Machine 1 such that dm*dl.

Next, consider any Job q on Machine 2 such thatdi)d

q)d

j. The lateness value ¸@

qafter the ex-

change would be ¸@q"¸

q#p

i .*/. Again, we re-

quire that ¸@q(¹

k, which after substituting for

¸@q

becomes ¸q#p

imin(¹

k, Thereby leading to

the necessary condition of ¸q)¹

k!(p

i .*/#1).

Proof of Theorem 4. Single and multiple job ex-changes are performed in accordance with the con-dition of exchange that are derived from the resultof Theorem 1. Repeated application of Phase I andPhase II results in the monotone reduction of therange over which ¹H

.!9lies. Eventually, this range

becomes zero or no more exchange is possiblewhich can further decrease this range, therebyresulting in the optimal solution.

References

[1] P. Dileepan, T. Sen, Bicriterion static scheduling researchfor a single machine, Omega 16 (1) (1988) 53}59.

138 S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139

Page 15: A two machine bicriteria scheduling problem

[2] A.A. Cenna, M.T. Tabucanon, Bicriterion scheduling prob-lem in a job shop with parallel processors, InternationalJournal of Production Economics 25 (1}3) (1991) 95}101.

[3] R.L. Daniels, R.J. Chambers, Multiobjective #ow-shopscheduling, Naval Research Logistics 37 (1990) 981}995.

[4] M.R. Garey, D.S. Johnson, Two processor scheduling withstart-times and deadlines, SIAM Journal on Computer6 (3) (1977) 416}426.

[5] W. Townsend, Sequencing n jobs on m machines to minim-ize maximum tardiness: A branch and bound procedure,Management Science 23 (9) (1977) 1016}1019.

[6] T.S. Nunnikhoven, H. Emmons, Scheduling on parallelmachines to minimize two criteria related to job tardiness,AIIE Transactions 9(3) (1977) 288}296.

[7] A.H.G. Rinnooy Kan, Machine Scheduling Problems:Classi"cation, Complexity and Computations, MartinusNijho!, The Hague, 1976.

[8] R.T. Nelson, R.K. Sarin, R.L. Daniels, Schedulingwith multiple performance measures: The one ma-chine case, Management Science 32 (4) (1986)464}480.

[9] S.C. Sarin, R. Hariharan, Single Machine Bicriteria Sched-uling Problem, Virginia Polytechnic Institute and StateUniversity, Blacksburg, VA, 24061.

[10] H. Emmons, One machine sequencing to minimizethe weighted sum of completion times with secondarycriteria, Naval Research Logistics Quarterly 22 (1) (1975)585}592.

S.C. Sarin, R. Hariharan / Int. J. Production Economics 65 (2000) 125}139 139