10
394 European Journal of Operational Research 78 (1994) 394-403 North-Holland Theory and Methodology Single machine scheduling with start time dependent processing times: Some solvable cases P.S. Sundararaghavan and A.S. Kunnathur Information Systems and Operations Management Department, College of Business Administration, The University of Toledo, Toledo, OH 43606, USA Received January 1992; revised November 1992 Abstract: In this paper a new type of single machine scheduling problem, in which the processing time is a binary function of a common start time due date is defined. The jobs have processing time penalties for starting after the due date, and the objective is to minimize the sum of the weighted completion times. The general case addressed here is for jobs with common pre-duedate processing time, general post-duedate processing time penalties, and general weights. A switching algorithm is proposed for this case and we conjecture that it is optimal. A 0-1 quadratic programming formulation of this problem is presented. Solvable cases, one with two different weights, another with two different penalties and another with structured weights and penalties have been identified and polynomial time optimal algorithms have been proposed for them. Keywords: Scheduling; Algorithms; Quadratic programming Introduction There are many different problems that arise in production and service environments in which the requirement of resources to complete the job varies as a function of its starting time. Examples include scheduling of emergency medical response teams, fire fighting, scheduling of resources to control epidemics, shaping of metals in metallurgical processes, repayment of loans, scheduling of learning activities requiring associated skill levels that are reduced with passage of time, etc. In the case of epidemic control, for example, the requirement of resources to control the epidemic at onset will be dramatically less as compared to the situation after the epidemic has taken hold. The problem of scheduling a county epidemic control team's time amongst various concurrent outbreaks can be modelled as a single machine scheduling problem of the type discussed in this paper. Another example could be a telephone enquiry service. Assume that the customers for this service are willing to be on the phone for t Correspondence to: Dr. P.S. Sundararaghavan, Information System and Operations Management Department, College of business Administration, The University of Toledo, Toledo, OH 43606, USA. 0377-2217/94/$07.00 © 1994 - Elsevier Science B.V. All rights reserved SSDI 0377-2217(92)00427-Y

Single machine scheduling with start time dependent processing times: Some solvable cases

Embed Size (px)

Citation preview

394 European Journal of Operational Research 78 (1994) 394-403 North-Holland

Theory and Methodology

Single machine scheduling with start time dependent processing times: Some solvable cases

P.S. S u n d a r a r a g h a v a n a n d A.S. K u n n a t h u r

Information Systems and Operations Management Department, College of Business Administration, The University of Toledo, Toledo, OH 43606, USA

Received January 1992; revised November 1992

Abstract: In this paper a new type of single machine scheduling problem, in which the processing time is a binary function of a common start time due date is defined. The jobs have processing time penalties for starting after the due date, and the objective is to minimize the sum of the weighted completion times. The general case addressed here is for jobs with common pre-duedate processing time, general post-duedate processing time penalties, and general weights. A switching algorithm is proposed for this case and we conjecture that it is optimal. A 0-1 quadratic programming formulation of this problem is presented. Solvable cases, one with two different weights, another with two different penalties and another with structured weights and penalties have been identified and polynomial time optimal algorithms have been proposed for them.

Keywords: Scheduling; Algorithms; Quadratic programming

Introduction

There are many different problems that arise in production and service environments in which the requirement of resources to complete the job varies as a function of its starting time. Examples include scheduling of emergency medical response teams, fire fighting, scheduling of resources to control epidemics, shaping of metals in metallurgical processes, repayment of loans, scheduling of learning activities requiring associated skill levels that are reduced with passage of time, etc. In the case of epidemic control, for example, the requirement of resources to control the epidemic at onset will be dramatically less as compared to the situation after the epidemic has taken hold. The problem of scheduling a county epidemic control team's time amongst various concurrent outbreaks can be modelled as a single machine scheduling problem of the type discussed in this paper. Another example could be a telephone enquiry service. Assume that the customers for this service are willing to be on the phone for t

Correspondence to: Dr. P.S. Sundararaghavan, Information System and Operations Management Department, College of business Administration, The University of Toledo, Toledo, OH 43606, USA.

0377-2217/94/$07.00 © 1994 - Elsevier Science B.V. All rights reserved SSDI 0 3 7 7 - 2 2 1 7 ( 9 2 ) 0 0 4 2 7 - Y

P.S. Sundararaghavan, A.S. Kunnathur / Single machine scheduling 395

time units (patience limit). Suppose that n calls reach the system at time 0. Within the patience limit of customer, k enquiries can be serviced. The remaining enquiries are answered later by calling back the enquiring parties requiring additional processing time. This problem can be modeled as a common due date problem similar to Problem 1 considered in a later section.

Another way to look upon this class of problems is that the machine is 'hot ' for some length of time for a given job or class of jobs. If the starting time of the job exceeds the critical start time, the machine would have become 'cold' and hence additional job dependent warm up time has to be incurred before processing each job. An example of such a situation would be the writing of computer programs. Specifically, consider a set of n jobs with critical start time t i for job i. The processing time for job i is pi if it is started before the deadline and Pi + vi if the starting time s i > t~. The objective could be to schedule the n jobs on a single machine to minimize the makespan, or average flow time or sum of weighted completion times. In the computer programming example, if one is in the midst of writing computer programs, the processing time for writing an additional segment of code may be p~. But to write the same code after two months (when one is not expected to be in program writing mode), it will be pi + v~ in our model.

Problems of this type also arise, for example, in data base enquiry and data base access. Consider n queries reaching a data base. All of these queries have a common deadline. The queries are similar in nature and require essentially the same amount of time to answer. The data base segments are moved in and out of memory, to economize on access time and to equitably handle inquiries from a variety of sources. Since the segments required to handle all n queries will remain in active memory only for a fixed amount of time, the queries can be thought of as having a common processing time, if answered prior to this deadline. However, if only k out of n queries can be answered before this deadline, the remaining n - k queries have to be answered after the deadline, by bringing the right data base segments into active memory resulting in additional query dependent processing time. Clearly, the objective of minimizing weighted completion time is of interest in this situation. This situation is an example of Problem 1 studied in a later section. In this paper we look at some special cases of such scheduling problems. Notably, these problems have both sequencing and scheduling overtones.

Literature survey

Analysis of scheduling problems where processing time is a function of the start time of the job is of recent origin. The surveys in [3] and [8] though recent do not mention this problem. A precursor to the study of this problem is the work of Vickson [11], where he has studied a scheduling problem involving minimization of costs. The costs in that problem are a function of processing time and tardiness. More recently, Sriskandarajah and Goyal [9] considered the scheduling of a two-machine flowshop to find the minimum finish time schedule where job processing times are linearly dependent on job waiting times. Gupta, Kunnathur and Dandapani [4] have modelled repayment of multiple loans as a problem with variable processing times and have proposed a branch and bound algorithm for its solution. A more closely related problem to the one studied in this paper is addressed in Kunnathur and Gupta [6]. They have proposed dynamic programming and Branch and Bound approaches to solve the problem of minimizing makespan for the case where the processing time penalties are a linear function of the start time delay. Gupta and Gupta [2] have studied the problem with nonlinear processing time penalties applied to delayed start. The objective used in the above works is the minimization of makespan. Sundararaghavan and Kunnathur [10] formulated a variety of makespan minimization and weighted completion time problems, where processing time of a job is dependent on start time. Preliminary work leading to a quadratic programming formulation was presented therein. The problems studied in this paper address the objective of minimizing the sum of weighted completion times. It is well known that the problem of minimizing sum of weighted completion times in a single machine can be solved by sequencing the jobs in non-decreasing order of the ratio of processing times to weights (see [1]). However, in the problems considered in this paper, the jobs have start time due dates and the processing

396 P.S. Sundararaghavan, A.S. Kunnathur / Single machine scheduling

time increases if the start time of the job is greater than the start time due date. Hence, the problem gets much more complicated than the single machine weighted completion time problem.

Notation and assumptions

The following is the general notation: Let N = {1, 2 . . . . . n} denote the set of jobs and yi, si, and t, i ~ N, denote the processing time of job i, the actual start time of job i, and the common critical start time for all jobs in a given schedule respectively.

Let S = {[1], [2] . . . . . [n]} be any schedule where [i] refers to the job in position i. Let k = [t/p] + 1 denote the maximum number of jobs that can be scheduled without incurring the processing time penalty. The processing time Yi is given by

{pP i f s i < t ' Y~= + v i i f s~> t .

Let E ={i ~ S , ~si <t} and L = S - E . Operation Exchange: In this paper, an exchange of job i ~ E with job j ~ L in a schedule S implies exchanging i and j as well as reordering the jobs in {j} U ( E - {i}) in non-increasing order of weights and reordering jobs in {i} t3 ( L - {j}) in non-decreasing order of (p + Vk)/W k. Change in the objective function (old-new) due to this exchange is defined as QS(i ~ j ) .

Here, we address only some cases of the general problem of scheduling jobs with start time dependent processing times on a single machine. We shall refer to the problem of minimizing weighted completion times, where jobs have a common start time due date, a common pre-duedate processing time and general weights and post-due date processing time penalties as the general case.

General case

Problem 1. Schedule a set of n jobs in a single machine so as to minimize ~,WiCi, where c i is the completion time of job i and w i is the weight associated with job i. The processing time is

(Pp i f s i < t ' Y~ = + v i if S i > t.

Without loss of generality, it is assumed that the jobs are numbered in non-increasing order of weights.

Heuristic 1. Step O. Arrange the jobs in non-increasing order of their weights. Denote this arrangement by J. Step 1. Schedule [t/p] + 1 jobs, starting at time 0, in order of increasing index in the set J. All other jobs

are placed in the set L of delayed jobs. The jobs j ~ L are sequenced in non-decreasing order of (p + vj)/wj.

Step 2. Carry out an operation exchange with any job in E with any other job in L if it leads to a reduction in the objective function and continue to carry out operation exchange until no such objective function reducing exchange exists.

Example 1. n = 5, p- - -3 , t---4.

1 2 3 4 5

ui 2 5 9 25 12

20 15 12 8 5 W i

P.S. Sundararaghacan, A.S. Kunnathur / Single machine scheduling 397

Initial solution: 1 2 3 5 4; E = {1, 2}; L = {3, 4, 5} Further, make sure that jobs in E are in non-increasing order of weights and jobs in L are in

non-decreasing order of ( p + u i ) / w i. Objective function value: 1019.

Switching job 1 out of E into L and job 3 from L into E and applying Step 1 of the heuristic yields the sequence 2 3 1 5 4, with an objective function value of 899. Continuing the heuristic, switching jobs 1 and 2, yields a solution value of 943, and switching 5 and 2 yields a value of 947. Switching jobs 2 and 4 results in a solution that can not be improved any further through switching. The solution obtained by using Heuristic 1 is 3 4 1 2 5 with an objective function value of 759 l.Testing of Heuristic 1 on a variety of problems with up to 100 jobs resulted in the optimal solution being found every time. Problems with structure in the distribution of penalties and weights as well as problems with no particular structure were extensively tested. Random problems were generated using uniform distribution for processing times in the range 1 to 30 with weights and penalties also generated from the same distribution. Five randomly generated problems were tested for each n, the number of jobs, varying n from 10 to 30. One problem of size 100 was tested. In all of these cases, Heuristic 1 yielded an optimal solution in significantly less number of steps than complete enumeration except when n was very small or n - k was very small, where k is the number of jobs that could be started on or before the start time due date. Traditional proof techniques such as induction were applied to no avail. The difficulty on account of the change in the membership of the intermediate set that follows two-exchanges, together with the altered processing times could not be surmounted. However, we believe that Heuristic 1 is optimal and hence we propose the following conjecture.

Conjecture. Heuristic 1 yields an optimal solution to Problem 1.

Heuristic 1 yielded the optimal solution in far fewer steps than the complete enumeration of the nCk possibilities. However, on small problems on occasion, the two procedures took the same number of steps. In the worst case, Heuristic 1 can duplicate the effort involved in complete enumeration. This does not establish the complexity of the problem. We present a quadratic programming formulation of the problem in the Appendix, which may give some insight into the complexity of the problem.

Two-weight case

Problem 2. Schedule a set of n jobs in a single machine so as to minimize ~wici, where c i is the completion time of job i, Yi is the processing time as defined below and w i is the weight associated with job i. (There are only two distinct weights.)

{pp i f s ~ < t ,

Yi = + U i if s i > t.

Specifically Problem 2 is to

min w 1 ~ c i + w 2 ~ cy i ~ W 1 j ~ W e

where

W 1 = { i ~ N and w i = w l } ,

W 2 = {i ~ N and w e= w2}

1 Note that this solution is also the optimal solution for this problem obtained using complete enumeration.

398 P.S. Sundararaghavan, A.S. Kunnathur / Single machine scheduling

and

N = W l k J W 2.

Let [r] ~ E n W 1 be the job with the greatest start time s H among the jobs in E A Wp Without loss of generality, let W 1 > W 2.

Lemma 1. Necessary conditions for any optimal solution to Problem 2 are:

wtil>wti+l] f o r i = l , 2 . . . . . k - 1 and [ i ] ~ E , (1)

p + U U + I ] P+Vti--------~]< , j = k + l . . . . , n - 1 and [ j ] ~ L , (2) w[j] w [ j + U

VH>U i f o r i ~ L ( ' l W 1, [ r ] ~ E , (3)

Vtr+I]~_~U i f o r i ~ L n W 2 , [ r + l ] ~ E , (4)

Proof. Follows directly form the characteristics of the optimal solution []

Without loss of generality, it can be assumed that schedule S satisfied the following conditions:

V[1 ] ~ V[2 ]_> " " " _> V[r], ( 5 )

U[ r+ l ] ~___ V[r+2 ] _~< " " " __< U[k 1. (6)

A schedule S is said to be two-opt if

3 no i c E and j e L ~ QS(ie+j) < 0 . (7)

It is assumed that all schedules, unless otherwise noted, satisfy Lemma 1 and conditions (5) and (6).

Algorithm 2. Step 1. Assign jobs to E from W 1 in non-increasing order of v i and if needed, choose jobs from W 2 in

non-increasing order of v i selecting k jobs in all. Step 2. Interchange i ~ E n W 1 with j ~ L fl W 2 if QS(i ~ j ) > O.

Replace S with the new schedule. Repeat Step 2 until no more such exchange exists. Step 3. Interchange i ~ E f l W 2 with j ~ L n W 1 if QS(i ~ j ) > O.

Replace S with the new schedule. Repeat Step 3 until no more such exchange exists.

Theorem 1. Algorithm 2 solves Problem 2 optimally.

Proof. Let S be the final schedule obtained by Algorithm 2. With out loss of generality, assume that S satisfies (5) and (6). Since S is two-opt, it satisfies (7) and implies that for [r] ~ E n W 1 and j ~ L n W 2,

Qs([r] o j ) > O. (8)

Since [r] has the lowest u i of all jobs in E N W~, it follows that any subset of jobs in E n I4"1 exchanged with any subset of jobs in L n W 2 cannot improve S.

Essentially, these exchanges can be considered as a series of two-exchanges involving monotonically increasing vi's for jobs in the set E n W 1 with monotonically decreasing vi's in the set L n W 2. Since S is two-opt, it satisfies (7) and implies that for [r + 1] ~ E n W 2 and j ~ L n W1,

Qs([r + 1] ~ j ) > 0. (9)

Since [r + 1] has the lowest penalty among E n W z, it follows that any subset of jobs in E n W 2 cannot be interchanged with any other job in L n W~. Finally, any m-job interchange from the set E to

P.S. Sundararaghavan, A.S. Kunnathur / Single machine scheduling 399

the set L can be separated into m I jobs from E n W 2 and m - m 1 jobs form E N W1. If you perform the ml interchanges first, it will add m 1 jobs to the set E n W v These will be having v i higher than all the jobs in the set L ¢q W 1 but will have lower processing time penalties than all the jobs in the set E N W~. Now, if we complete the m-job interchange by continuing the interchange from the set of high weight jobs in the early set, it is clear that the jobs selected have to be the last jobs added to the set E n I411. Otherwise, necessary conditions of optimality, namely (5) and (6), will not hold. Depending upon the relative magnitude of m 1 and m - m I the m-job exchange will reduce to exchanges involving purely sets E n W 2 and L n I4'1 or the sets E n W1 and L n W 2. It has already been shown that these exchanges can not reduce the objective function value which completes the proof.

Corollary. A job is exchanged in either Step 2 or Step 3 of Algorithm 2 exactly once if the exchanges are performed to maximize QS(i ~, j ) > 0 at each iteration.

It follows directly form the corollary that the number of exchanges after proper sorting of jobs into the sets E and L is restricted by the minimum of I E ] and I L ] ( [ E [, ] L I < n). Since the complexity of sorting is known to be o(n log2n) (see Knuth [5]), Algorithm 2 is also of the same complexity.

Example 2. n = 5 , p = 3 , t = 4 .

12 3 4 5

Ui

W i

2 5 9 10 12

20 15 20 15 20

Initial solutions (satisfying Lemma 1): 1 2 3 5 4. Objective function value: 1860. Optimal solution obtained by using Algorithm 2:5 3 1 2 4. Objective function value: 1165.

Two-penalty case

Problem 3. Same as Problem 1 with the additional assumption that there are only two distinct vi's. In this problem the objective is to

min ~] wic i+ x~ wjcj i E V 1 i E V 2

where

V 1 = { i ~ N , v i = v , } , V 2 = { i ~ N , U i = U2}.

N, S, k, E and L are defined as before. Without loss of generality let v 1 > v z be the two penalties.

Lemma 2. Equations (10)-(12) are necessary conditions for optimality of any schedule S for Problem 3. For any pair of jobs i and j,

i ~ E N V 1 and j ~ L A V 1 ~ w i > w j, (10)

i ~ E c ~ V 2 and j ~ L N V 2 ~ w i > w j, (11)

i E E N V 2 and j E L A V 1 ~ w i ) ' W j , (12)

400 P.S. Sundararaghavan, A.S. Kunnathur / Single machine scheduling

Algorithm 3. Step 1. Place jobs in the set E from V 1 in non-increasing order of w i. Add jobs from V 2 in

non-increasing order of weights, if necessary, to fill E with k jobs. Step 2. Place the remaining jobs in the set L in non-decreasing order of (p + vi) /w i. Step 3. Exchange job i ~ E n V 1 with job j ~ L n V a if QS(i o j ) > 0. Repeat Step 3 until no more such

exchanges can be made. Step 4. Exchange job i ~ E n V 2 with job j ~ L n V 1 if QS(i o j ) > 0. Repeat Step 4 until no more such

exchanges can be made.

Theorem 2. Algorithm 3 optimally solves Problem 3.

Proof. The proof is similar to Theorem 1. []

Corollary. A job is exchanged in either Step 2 or Step 3 of Algorithm 3 exactly once if the exchanges are performed to maximize QS(i ~ j) > 0 at each iteration.

The complexity of Algorithm 3 is the same as for Algorithm 2.

Example 3. n = 5, p = 3, t = 4.

1 2 3 4 5

v i 12 12 30 12 0

w i 20 15 12 8 5

Initial Solution (satisfying Lemma 2): 1 2 4 3 5; E = {1, 2}; L = {3, 4, 5}. Objective function value: 1401. Optimal solution obtained by using Algorithm 1:1 3 2 4 5. Objective function value: 1080.

A structured problem with agreeable parameters

Problem 4. Same as Problem 1 with the additional assumption that

Wi ~ W j =:~ Vi ~ U j .

We first present an algorithm to solve this problem.

(13)

Algorithm 4. Step 1. Arrange k = [t/p] + i jobs in non-decreasing order of 1/w i first. Ties are broken in favor of jobs

with larger v i. Step 2. Arrange the remaining n - k jobs in non-decreasing order of (p + vj)/wj. Ties are broken

arbitrarily.

The computational effort in Algorithm 4 is dominated by the sorting operation and hence its complexity is o(n log2n).

Lemma 3. A necessary condition for optimality of any schedule to Problem 4 is that if

w i<wy and i ~ E , t h e n j ~ E ,

where E is the set of jobs started before the due date.

(14)

P.S. Sundararaghavan, A.S. Kunnathur / Single machine scheduling

Proof. Let S be an optimal schedule to an instance of Problem 4.

I i I J I c i t cj

t

401

Let R ~ L be the set of jobs started after j in S. In $1, R will be the set of jobs started after i. c] is the completion time of job i in schedule S1.

Interchange i and j in S to get a schedule S1 such that

c) = c i, (15)

c] = ej - ( v j - v i ) , (16)

and the first job in R starts at c~. Let Z(S) and Z(S1) denote the value of the objective function corresponding to S and S1.

z(S1) = Z ( S ) - c i w i - c j w j q- c ] w i q- c l w j q- r (17)

where r is the change in the penalties of jobs in R. By (13) it is clear that

r < 0. (18)

It is clear from (13), (15) and (16) that Z(S1) < Z ( S ) , contradicting the optimality of S.

Lemma 4. I f w i = wj then i f

i ~ E and j ~ L , thenv i > v y . (19)

Proof. Proof is similar to Lemma 3 except that if an optimal solution does not satisfy condition (19), then an exchange of i and j will lead to an improved solution using condition (18), thus contradicting the optimality of the initial schedule. []

1.emma 5. Algor i thm 4 solves Problem 4.

Proof. Clearly Algorithm 4 satisfies the necessary conditions of Lemmas 3 and 4 with appropriate allocation of jobs to sets E and L. No job in E can be exchanged for a job in L. It can be easily shown from well known scheduling results that jobs in E and jobs in L must be scheduled using Step 2 of Algorithm 4 in order to obtain an optimal schedule.

Conclusion

In this paper we have formulated a relatively new class of single machine scheduling problems that arise in many real life situations. Formulations and solution approaches have been suggested for some of them. Specifically, we have addressed the objective of minimizing sum of weighted completion times in scheduling jobs, where processing time depends on start time. We have specified an algorithm which we conjecture to be optimal for minimizing this objective when all jobs have a common due date. We have proposed a quadratic programming formulation of this problem which might help determine the complexity of this problem. Further, we have developed three other algorithms for solving structured cases of this problem. Further research can be directed at solving the general problem of scheduling on a

402 P.S. Sundararaghavan, A.S. Kunnathur / Single machine scheduling

single machine with start time dependent processing times and addressing additional solvable special cases.

Appendix

Formulation o f Problem 1 as a Quadratic Program

Observe that the jobs in E must be sequenced in non-increasing order of their weights in order to minimize their contribution to the objective function. However, jobs i ~ L must be sequenced in non-decreasing order of the ratio ( p + u i ) / w i in order to minimize their contribution to the objective function. Without loss of generality assume that the jobs are numbered in non-increasing order of their weights. Further let ( i ) denote the ordering of jobs in terms of non-decreasing ratio of ( p + v i ) / w i. Let x i = 1 if s i < t; 0 otherwise. The following easily proved lemma helps in the formulation of the quadratic program.

Lemma A.1. The optimal sequence o f jobs for minimizing the sum o f weighted completion times on a single machine, with a required start time o f the first job at t > O, is obtained by arranging the jobs in non-decreasing order o f ( p + ui)/wi, i ~ N.

The objective function of the Quadratic Program (QP) is to

Minimize p • w I -x I + (p -x 1 + p ) w 2 "X 2 q- • • " + ( p "X 1 + p "X 2 + " " • + P X n _ 1 + p ) w n "X n + ( p + U(1)) " W(1 ) " ( l -- X(I~) + ( p + U(1)) " (1 -- X(l)) -~p + U(2))" W(2 ) " (1 --X(2 )) + " ' " + ( ( p + U(1))" (1 -xo>) + I,p + v<2>). (1 - x(2)) + . . . + ( p + U ( n ) ) ) ' W ( n ) " (1 -x<.>) +kp(wo>. (1 - x ( 1 ) ) + " ' " q-W(n } " (1 - - X ( n ) ) )

subject to x 1 + X e + - ' - +x n < = k , x i = l , 1.

Note that even though one part of the objective function deals with x i and the other part deals with x<i>, they are not different variables. Given any problem instance we can determine apriori, the correspondence between x i and x<i >. This is a quadratic programming problem with some structure. Algorithms are available for solving quadratic programming problems with continuous variable in which a concave objective function is maximized [7]. However, the objective function of this QP is neither concave nor convex under the relaxation 0 _< x i < 1. Further, the formulation involves integer variables making it even more difficult. The QP formulation is presented here as a potential approach to establish the complexity of the problem.

Acknowledgement

We wish to thank the referees for their constructive criticisms and helpful comments. The paper has been considerably strengthened as a result.

References

[1] Baker, K., Introduction to Sequencing and Scheduling, Wiley, New York, 1974. [2] Gupta, J.N.D., and Gupta, S.K., "Single facility scheduling with non-linear processing times", Computers and Industrial

Engineering 14/4 (1988) 387-393. [3] Gupta, S.K., and Kyparisis, J., "Single facility scheduling research", OMEGA 15/3 (1987) 207-227. [4] Gupta, S.K., Kunnathur, A.S., and Dandapani, K., "Optimal repayment policies for multiple loans", OMEGA 15/4 (1987)

323-330.

P.S. Sundararaghat,an, A.S. Kunnathur / Single machine scheduling 403

[5] Knuth, D.E., The Art of Computer Programming: Sorting and Searching, Vol. 3, Addison-Wesley, Reading, MA, 1973. [6] Kunnathur, A.S., and Gupta, S.K., "Minimizing the makesapn with late start penalties added to processing times in a single

facility scheduling problem", European Journal of Operational Research 47, (1990) 56-64. [7] Luenberger, D., Introduction to Linear and Nonlinear Programming, Addison-Wesley, Reading, MA, 1973. [8] Sen, T., and Gupta, S.K., "A state-of-art survey of static scheduling research involving due dates", OMEGA 12/1 (1984)

63-76. [9] Sriskandarajah, C., and Goyal, S.K., "Scheduling of a two-machine flowshop with processing time linearly dependent on job",

Journal of the Operational Research Society 40/10 (1989) 907-921. [10] Sundararaghavan, P.S., and Kunnathur, A.S., "Single machine scheduling with due dates and processing time penalties",

Proceedings of the National Meeting of the Decision Sciences Institute, New Orleans, 1990. [11] Vickson, R.G., "Two single machine scheduling problems involving controllable job processing times", AIIE Transactions 12

(1980) 258-262.