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

  • View
    219

  • Download
    1

Embed Size (px)

Transcript

  • 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

  • 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.

    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 + ui ) /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