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

  • Published on

  • View

  • Download

Embed Size (px)


<ul><li><p>394 European Journal of Operational Research 78 (1994) 394-403 North-Holland </p><p>Theory and Methodology </p><p>Single machine scheduling with start time dependent processing times: Some solvable cases </p><p>P.S. Sundararaghavan and A.S. Kunnathur </p><p>Information Systems and Operations Management Department, College of Business Administration, The University of Toledo, Toledo, OH 43606, USA </p><p>Received January 1992; revised November 1992 </p><p>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. </p><p>Keywords: Scheduling; Algorithms; Quadratic programming </p><p>Introduction </p><p>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 </p><p>Correspondence to: Dr. P.S. Sundararaghavan, Information System and Operations Management Department, College of business Administration, The University of Toledo, Toledo, OH 43606, USA. </p><p>0377-2217/94/$07.00 1994 - Elsevier Science B.V. All rights reserved SSDI 0377-2217(92)00427-Y </p></li><li><p>P.S. Sundararaghavan, A.S. Kunnathur / Single machine scheduling 395 </p><p>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. </p><p>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 &gt; 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. </p><p>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. </p><p>Literature survey </p><p>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 </p></li><li><p>396 P.S. Sundararaghavan, A.S. Kunnathur / Single machine scheduling </p><p>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. </p><p>Notation and assumptions </p><p>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. </p><p>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 </p><p>{pP i f s i t. </p><p>Without loss of generality, it is assumed that the jobs are numbered in non-increasing order of weights. </p><p>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 </p><p>are placed in the set L of delayed jobs. The jobs j ~ L are sequenced in non-decreasing order of (p + vj)/wj. </p><p>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. </p><p>Example 1. n = 5, p---3, t---4. </p><p>1 2 3 4 5 </p><p>ui 2 5 9 25 12 </p><p>20 15 12 8 5 W i </p></li><li><p>P.S. Sundararaghacan, A.S. Kunnathur / Single machine scheduling 397 </p><p>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 </p><p>non-decreasing order of ( p + ui ) /w i. Objective function value: 1019. </p><p>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. </p><p>Conjecture. Heuristic 1 yields an optimal solution to Problem 1. </p><p>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. </p><p>Two-weight case </p><p>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.) </p><p>{pp i f s~ t. </p><p>Specifically Problem 2 is to </p><p>min w 1 ~ c i + w 2 ~ cy i~W 1 j~W e </p><p>where </p><p>W 1 = { i~N and wi=wl} , </p><p>W 2 = {i ~N and w e= w2} </p><p>1 Note that this solution is also the optimal solution for this problem obtained using complete enumeration. </p></li><li><p>398 P.S. Sundararaghavan, A.S. Kunnathur / Single machine scheduling </p><p>and </p><p>N=Wlk JW 2. </p><p>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 &gt; W 2. </p><p>Lemma 1. Necessary conditions for any optimal solution to Problem 2 are: </p><p>wtil&gt;wti+l] fo r i= l , 2 . . . . . k -1 and [ i ]~E, (1) </p><p>p + UU+I ] P+Vti--------~]&lt; , j=k+l . . . . ,n -1 and [ j ]~L , (2) w[j] w[ j+U </p><p>VH&gt;U i fo r i~L( ' lW 1, [ r ]~E, (3) </p><p>Vtr+I]~_~U i fo r i~LnW2, [ r+ l ]~E, (4) </p><p>Proof. Follows directly form the characteristics of the optimal solution [] </p><p>Without loss of generality, it can be assumed that schedule S satisfied the following conditions: </p><p>V[1 ] ~ V[2 ]_&gt; " " " _&gt; V[r], (5 ) </p><p>U[r+l ] ~___ V[r+2 ] _~&lt; " " " __&lt; U[k 1. (6) </p><p>A schedule S is said to be two-opt if </p><p>3 no i cE and j eL ~ QS(ie+j) O. </p><p>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 ) &gt; O. </p><p>Replace S with the new schedule. Repeat Step 3 until no more such exchange exists. </p><p>Theorem 1. Algorithm 2 solves Problem 2 optimally. </p><p>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, </p><p>Qs([r] o j ) &gt; O. (8) </p><p>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. </p><p>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, </p><p>Qs([r + 1] ~ j ) &gt; 0. (9) </p><p>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></li><li><p>P.S. Sundararaghavan, A.S. Kunnathur / Single machine scheduling 399 </p><p>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 th...</p></li></ul>