Theoretical Paper

Journal of the Operational Research Society (2008) 59, 105–118. doi:10.1057/palgrave.jors.2602303 Published online 1 November 2006

Single machine scheduling with time deteriorating job values

S Raut1, J N D Gupta2 and S Swami1

  1. 1Indian Institute of Technology, Kanpur, India
  2. 2University of Alabama in Huntsville, Huntsville, AL, USA

Correspondence: JND Gupta, College of Administrative Science, University of Alabama in Huntsville, Huntsville, AL 35899, USA. E-mail: guptaj@uah.edu

Received February 2006; Accepted June 2006; Published online 1 November 2006.

Top

Abstract

This paper considers the problem of scheduling n jobs on a single machine where the job value deteriorates with its starting time. The objective of the problem is to maximize the cumulative value of all jobs. The problem is motivated from the real-life applications, such as movie scheduling, remanufacturing of high-technology products, web object transmission, and banner advertising. Unrestricted, truncated, and capacity constrained job value functions are considered. Some special cases of the problem, such as the unrestricted linear job value function, are polynomially solvable. The general problem is shown to be unary NP-hard and is modelled as a time index integer program. For the NP-hard cases, several heuristics are proposed. Results of the empirical evaluation of the relative performance of the proposed heuristics on critical parameters are reported.

Keywords:

movie theatre scheduling, single machine, deteriorating job values, capacity constraint, NP-hardness, heuristics, empirical results

Top

Introduction

Traditional scheduling research assumes that the job values are independent of their start and finish times. However, there are practical situations where job values depend on the starting time of a job. For example, in a simplified version of scheduling movies in a theatre, the revenue generated from screening a movie depends on its starting time as the customer interest in a movie deteriorates with the passage of time (Swami et al, 1999). Even though the length of time for which a specific movie is shown is determined by the contract between the movie theatre and the distributor of the movie, movie scheduling decisions that determine their starting times can affect the total profits. In order to formulate and solve the movie theatre scheduling problem, therefore, we assume that all other decisions (like those discussed by Swami et al, 1999) have already been made. It is desired to find the order in which these n movies should be screened so as to maximize total profit.

Several other practical situations fit the above description including the remanufacturing environment with high-technology product (Fleischmann et al, 1997) and web object transmission (Xia and Tse, 2000). In such situations, it is advantageous to consider scheduling problems where job values deteriorate with job starting times and the objective is to find a schedule that maximizes the cumulative job values. Since there is only one machine (like the movie theatre), we consider the single machine scheduling problem with deteriorating job values to maximize the aggregate value of all jobs. Following the three field notation of the scheduling problems by Lawler et al (1993), we will designate this problem as 1|Vj(t)|maxsumVj where Vj(t) is the value of job j if it starts at time t and 'max' is used to make clear that the objective is the maximization of value rather than minimizing cost.

Ignoring the capacity constraint, Fisher and Krieger (1981, 1984) proposed a heuristic algorithm for the nonincreasing concave job deterioration job value function. Their algorithm is based on the piecewise linear approximation and always obtains at least 2/3rd of the optimal cumulative job value. Voutsinas and Pappis (2002) developed a heuristic algorithm for the 1|Vj(t)=wj(t+pj)lambdaj|maxsumVj problem. However, the effectiveness of their algorithm to find an optimal solution decreases as the problem size grows. Heuristics developed for minimizing a general cost function by Alidaee (1991, 1993) can be used for solving the 1|Vj(t)|maxsumVj problem considered in this paper. Apart from the above developments, the 1|Vj(t)|maxsumVj problem has not received much attention in the literature. For example, existing literature does not address the issue of the capacity constrained environment with deteriorating job value functions.

This paper considers the 1|Vj(t)|maxsumVj problem with and without capacity constraints and shows that, except for some special cases, the general problem is unary NP-hard. In view of its NP-hard nature, heuristics for various forms of the 1|Vj(t)|maxsumVj problem are developed and empirically evaluated.

The rest of the paper is organized as follows. We first deal with the problem formulation and complexity including the identification of polynomially solvable special cases and a dominance-based optimization algorithm. Heuristics to find optimal or near-optimal schedules for the 1|Vj(t)|maxsumVj problem are then described. After this, the results of the computational experiments for empirically evaluating the proposed algorithms are reported and discussed. Finally, we conclude the paper with a summary and some fruitful directions for future research.

Top

Problem formulation and complexity

In this section, we formulate the 1|Vj(t)|maxsumVj problem and show that the general problem is unary NP-hard. However, some special cases are polynomially solvable. To start the discussion in this section, we formally define the 1|Vj(t)|maxsumVj problem and describe several types of job value functions analyzed in this paper. Then, we show that the problem with equal processing times is polynomially solvable. Problems with unrestricted job value functions are considered next where it is shown that the 1|Vj(t)=wj-lambdajt|maxsumVj problem is polynomially solvable. Problems with exponential job value functions are shown to be unary NP-hard unless the job value deterioration rate for all jobs is a constant. Utilizing these results, we then show that problems with truncated job value functions and/or capacity constraints are unary NP-hard even for linear job value functions. Finally, we describe a dominance algorithm to find an optimum solution to the 1|Vj(t)|maxsumVj problem.

Problem definition and job value functions

Let N={1,2,...,n} be the set of n jobs, available at time zero, that is to be processed on a single machine without interruptions, preemption or inserted idle time. There are no setup times. At any given time, the machine can process only one job. Associated with each job jset symbolN is the processing time of pj and its value Vj(t) which is a non-increasing function of its starting time t. Because of the capacity constraints, the value of any job j may not exceed an upper limit Uj. It is desired to find a schedule that will maximize the total value of all jobs.

To define this problem, consider a schedule sigma=(sigma(1),sigma(2),...,sigma(n)) of n jobs. Then, the start time tj of job sigma(j) is given by

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Therefore, the total value of schedule sigma is given by

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Then, the problem considered in this paper is one of finding a schedule sigma such that V(sigma) calculated using Equations (1) and (2) is maximum.

The value function of each job j, Vj could take various forms. In this paper, we consider cases involving linear and exponential job value functions. Problems involving no capacity constraints are called the unrestricted job values. However, in several situations, the job value may deteriorate up to some time and remain constant after that time. We call this type of job values truncated job values. Further, there may be an upper limit on the value of a job due to certain restrictions, like the maximum number of seats available in a movie theatre. These type of job value functions will be called capacity constrained job values. Based on the above discussion, representative job value functions can be shown in Figure 1.

Figure 1.
Figure 1 - Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Representative job value deterioration functions.

Full figure and legend (55K)

In this paper, we focus on these cases of job value functions.

Problems with equal processing times

While the general problem is shown to be unary NP-hard later in this section, the equal processing time problem can be polynomially solved as shown below.

Theorem 1
 

The 1|Vj(t), pj=p forallj|maxsumVj problem is optimally solvable in O(n3) computation steps by solving an assignment problem.

Proof
 

Since the processing times of all jobs are equal, the starting time of the job at sequence position i is (i-1)*p, where i=1,...,n. Introduce assignment variables xij (i,j=1,...,n), such that, xij=1 if job j is assigned to sequence position i and=0 otherwise. The problem can be formulated as follows:

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

subject to:

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

The above optimization problem represented by (3), (4),(5) and (6) can be converted into an equivalent standard linear assignment problem by subtracting each value Vj((i-1)*p) in the objective function in Equation (3) from maxjless than or equal ton(Vj(0)). This assignment problem can be formulated in O(n2) computational steps and solved in O(n3) computational steps (Lawler, 1976). square

Unrestricted job value functions

We now resolve the complexity of the 1|Vj(t)|maxsumVj problems starting with those involving unrestricted job value functions.

Unrestricted linear job value functions.
 

We first consider the 1|Vj(t)=wj-lambdajt|maxsumVj problem with unrestricted linear job value function where the value of job j starting at time t is given by Vj(t)=wj-lambdajt. In order to ensure that job values are not negative, it is assumed that for each job j, wj, lambdaj>0 and wjgreater than or equal tolambdaj(P-pj) where P=sums=1nps.

Theorem 2
 

The 1|Vj(t)=wj-lambdajt|maxsumVj problem is optimally solvable in O(n log n) computation steps by arranging jobs in descending order of the lambdaj/pj values.

Proof
 

Let sigma=(sigma(1),sigma(2),...,sigma(n)) be a schedule of n jobs where sigma(j) represents job in sequence position j. Further, let Csigma(j) be the completion time of job sigma(j). Then, using Equations (1) and (2), the value of schedule sigma, V(sigma) is given by

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

From Equation (7) above, it is clear that V(sigma) is maximized by minimizing sumj=1n{lambdasigma(j)Csigma(j)}, which is the sum of the weighted completion times of all jobs. Therefore, this problem is polynomially solvable in O(n log n) computation steps using Smith's (1956) rule by arranging jobs in descending order of the lambdaj/pj values. square

During the application of above (or heuristics based on similar analysis discussed in a later section), there may be ties that do not cause any problem and can be resolved arbitrarily. However, for its extension to other cases, appropriate tie-breaking rules are required. Therefore, in implementing Theorem 2, we break ties in favour of a job with maximum wj/pj value first, maximum wj value second, and maximum lambdaj value last. However, in case of equal values for all parameters, we select the job randomly.

Unrestricted exponential job value functions.
 

The value of job j is given by

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

where Vj(tj) is interpreted as a job value deteriorating function, tj is the starting time, and wj, lambdaj>0. The objective function of the problem is as follows:

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Before resolving the complexity of the general 1|Vj(t)=wje-lambdajtj|maxsumVj problem, we note that through a simple job interchange argument, the following special case can be polynomially solved.

Theorem 3
 

The 1|Vj(t)=wje-lambdat|maxsumVj problem is optimally solvable in O(n log n) computation steps by arranging jobs in descending order of wj/(1-e-lambdapj) values.

To prove that the 1|Vj(t)=wje-lambdajt|maxsumVj problem and the general 1|Vj(t)|maxsumVj problem are unary NP-hard, we define the following 3-partition problem instance which is known to be unary NP-hard (Garey and Johnson, 1979).

Problem complexity

3-Partition problem instance (I): Given 3m+1 positive integers a1,...,a3m and b such that sumj=13maj=mb, where each aj>1 is bounded by a polynomial of m and b/4<aj<b/2 for j=1,...,3m; is there a partition of the set j=1,...,3m into m disjoint three-element subsets {S1,S2,...,Sm} such that sumjset symbolSkaj=b for k=1,...,m?

In case any one of the aj=1 in the above 3-partition problem, all aj=1 and b=3. This implies that the special case of the above 3-partition problem with aj=1 for some j is trivially solvable in constant time. For this reason, this special case is excluded from our above definition of the 3-partition problem.

Now, we define an instance of the 1|Vj(t)=wje-lambdajt|maxsumVj scheduling problem with the following parameter values.

Scheduling problem instance (Î) Given n=4m-1 jobs consisting of two subsets N1={1,2,...,3m} and N2={3m+1,3m+2,...,4m-1}. For each job jset symbolN1, pj=aj, wj=1-e-aj, and lambdaj=1; and pj=1, lambdaj=1/2, and wj=(1-e-2)*e-{(j-3m)b circ+(j-3m-1)}/2, for jset symbolN2 where jb circ=jb-1. It is desired to find a schedule that maximizes sumVj=sum[j]=1nw[j]e-lambda[j]t where [j] is the job at sequence position j.

Lemma 1
 

The current problem instance Î of the 1|Vj(t)=wje-lambdajt|maxsumVj problem can be constructed from the 3-partition instance I in pseudo-polynomial time.

Proof
 

Length (I)=3m+1+sumiset symbolSleft floorlog2(ai)right floor>3m+1 and Max(I)=b, where left floorxright floor represents the least integer greater than or equal to x. To construct instance (Î) of the 1|Vj(t)|maxsumVj problem, one needs to compute wj for each job jset symbolN1cupN2. For jset symbolN1, wj can be computed through at most aj time divisions and one time addition, which needs at most O(b) computational steps, since aj's are always less than b/2. Similarly, for all jset symbolN2, wj can be computed in O(2*{(m-1)b+m/2+1}) computational steps. Hence to compute all wj, at most O(3mb+2m{(m-1)b+m/2+1}) computational steps are needed. Computational complexity of computing parameter b circ is O([log2(b)]+[log2(m)]). The other parameters of the current problem instance can be found in constant time. To compute all instances of the current problem will take at most O(4mb+2m{(m-1)b+m/2+1}) computational steps. Hence, the current instance Î of the 1|Vj(t)|maxsumVj problem can be constructed in time polynomial in Length (I) and Max (I) of the 3-partition problem instance I. This implies that the current instance Î can be constructed from the 3-partition instance in pseudo-polynomial time (Garey and Johnson, 1979). square

Lemma 2
 

For instance Î of the 1|Vj(t)=wje-lambdajt|maxsumVj problem, cumulative job value does not depend upon the ordering of jobs in sets Si, 1less than or equal toiless than or equal tom, where each Si is the maximal subset of adjoining elements from the set N1.

Proof
 

By definition of the scheduling problem instance Î, for each job jset symbolSi, aj=pj, wj=1-e-aj, and lambdaj=1. Let Si=(rhoi(1),...,rhoi(ri)), where ri is the total number of jobs in Si. Then, the value of sumjset symbolSiwje-lambdajtj in the objective function can be written as

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

This implies that the objective value does not depend on the order of jobs in sets Si, 1less than or equal toiless than or equal tom. square

Lemma 3
 

In an optimal schedule for instance Î of the 1|Vj(t)=wje-lambdajt|maxsumVj problem, job jset symbolN2 starts at time tj={(j-3m)b circ+(j-3m-1)}+1 irrespective of the ordering of jobs in subset N1.

Proof
 

Suppose that in an optimal schedule for instance Î, job iset symbolN1 immediately follows job jset symbolN2. Then,

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Substituting the parameter values from the definition of the problem instance Î in Equation (11), we get

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

where

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Since, by definition, pi>1 for iset symbolN1, it follows that -1/3<A<0. In addition, as each pi is an integer, the starting times of all jobs will be integers. Further, in order to optimize the cumulative job value, starting time of job j, while satisfying condition (12) should be as small as possible. Therefore, in an optimal schedule, job jset symbolN2 starts at time tj given by

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

From Equation (14), it is clear that the starting time of job jset symbolN2 does not influence the order of jobs in subset N1 nor is influenced by them. square

Theorem 4
 

The 1|Vj(t)=wje-lambdajt|maxsumVj and 1|Vj(t)|maxsumVj problems are unary NP-hard.

Proof
 

The processing order and starting times of jobs N2 are obvious because of their parameters and above. Therefore, filling other jobs in the time gaps created by the schedules of jobs in N2 will improve the objective function value. With this viewpoint, we consider a complete schedule as shown in Figure 2 where the processing order of jobs will be ({i|iset symbolS1},3m+1,{i|iset symbolS2},3m+2,{i|iset symbolS3},...,4m-1,{i|iset symbolSm}), where S={S1,S2,...,Sm}={1,...,3m}.

Figure 2.
Figure 2 - Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

A possible solution of the 3-partition problem.

Full figure and legend (6K)

From Figure 2, it follows that the starting time of job 3m+1 is between b and sumiset symbolS1ai-b=L1. The starting time of job 3m+2 is between 2b+1 and sumiset symbolS1cupS2ai+1-2b-1=L2. Similarly, the starting times of jobs 3m+3,...,4m-1, will deviate from points 3b+2,...,mb+m-1 by L3,...,Lm-1. From it follows that the value of sumjset symbolSwje-lambdajtj is not influenced by the ordering of jobs within the sets S1,S2,...,Sm. Further, from Lemma 3, it is clear that the ordering of jobs within sets S1,S2,...,Sm is not influenced by the jobs in subset N2. Using Lemma 2, the objective function for the scheduling problem instance Î defined by Equation (9), Z=sumjset symbolN1cupN2wje-lambdajtj can be written as

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

which simplifies to

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Since pj and b are integers, Lk must be integer. Therefore, from Equation (16), it is clear that the objective function Z increases as |Lk| decreases. Hence, the objective function Z will be maximum at |Lk|=0 (forallk=1,2,...,m-1). Therefore, substituting Lk=0 in Equation (16), the optimal value of the objective function Z* is given by

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Now, if the 3-partition instance I has a solution, then sumjset symbolSkaj=b and |Lk|=0 forallkless than or equal tom. Therefore, the corresponding scheduling problem instance Î has an optimal solution with value Z* given by Equation (17).

Conversely, if the scheduling problem instance Î has an optimal solution with value Z* given by Equation (17), then sumjset symbolSkaj=b and |Lk|=0 forallkless than or equal tom. Further, since b/4<aj<b/2 for j=1,...,3m, it follows that each Sk contains exactly three elements. Therefore, the subsets S1,S2,...,Sm is a solution to the 3-partition instance I. Since the 3-partition problem is known to be unary NP-hard, and that the scheduling problem instance Î can be constructed from the 3-partition instance I in pseudo-polynomial time (above), using the results in Garey and Johnson (1979), it follows that the 1|Vj(t)=wje-lambdajt|maxsumVj and 1|Vj(t)|maxsumVj problems are unary NP-hard. square

Theorem 4 above can be used to resolve the complexity of several other forms of exponential deterioration function as shown by the following corollary.

Corollary 1
 

The 1|Vj(t)=wju-lambdajt, u>1|maxsumVj and 1|Vj(t)=wju-lambdajt, uj>1 forallj|maxsumVj are unary NP-hard.

Truncated job value functions

We now consider the problem where the value of job j remains constant after a certain time. In other words, we consider the job value function of the form, Vj(t)=max(vj,fj(t)) where fj(t) is a nonincreasing function of the start time t of job j and vj=fj(Tj) for some starting time Tj of job j. In other words, the value of a job j deteriorates only up to time Tj and not after that time.

We now show that 1|Vj(t)=max(vj,fj(t))|maxsumVj problem is unary NP-hard for any nonincreasing job value function.

Theorem 5
 

The 1|Vj(t)=max(vj,fj(t))|maxsumVj problem is unary NP-hard for any non-increasing job value function.

Proof
 

To prove this theorem, consider the 1|Vj(t)=max(vj,wj-lambdajt)|maxsumVj problem where for each job j, vj=wj-lambdajTj. Suppose that in an optimal schedule, subset of jobs started on or before time Tj is eta1 and those started after time Tj is eta2. Define the deadline of job j, time by which job j must be completed, d macrj as follows: d macrj=Tj+pj if jset symboleta1 and d macrj=infinity if jset symboleta2. Then, using the developments similar to those in the proof of Theorem 2, it follows that the problem of finding an optimal schedule for the two subset of jobs eta1 and eta2 is equivalent to the 1|d macrj|sumwjCj problem (single machine problem to minimize weighted flowtime subject to deadlines) which is known to be unary NP-hard (Lenstra et al, 1977). Since this subset of the special case of the 1|Vj(t)=max(vj,fj(t))|maxsumVj problem is unary NP-hard, it follows that the general 1|Vj(t)=max(vj,fj(t))|maxsumVj problem is unary NP-hard for any nonincreasing job value function. square

Capacity constrained job value functions

We now consider problems where capacity constraints causes an upper limit U on the value that a particular job can create. Therefore, the capacity constrained job value function may be represented as follows:

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

where fj(t) is the unconstrained job value function.

If Uless than or equal tominjless than or equal tonfj(P-miniless than or equal tonpi) where P=sumi=1npi, then any sequence is optimal. Further, if Ugreater than or equal tomaxjless than or equal tonfj(0), the problem reduces to the 1|Vj(t)=fj(t)|maxsumVj problem whose complexity has been established above. Therefore, in this section, we consider the non-trivial case of the capacity constrained problem where U does not satisfy the above constraints.

Theorem 6
 

The 1|Vj(t)=min(U,fj(t))|maxsumVj problem is unary NP-hard for any non-increasing job value function.

Proof
 

Consider a special case of this problem where Vj(t)=min(U,wj-lambdajt) and U=wj-lambdajTj.

Then, the job value function can be written as

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Let Cj=tj+pj be the completion time of job j and define dj=Tj+pj as its due date. Then, the 1|Vj(t)=min(U,wj-lambdajt)|maxsumVj problem is equivalent to the 1Double Vertical BarssumwjTj (single machine weighted tardiness) problem which is known to be unary NP-hard (Lawler, 1977; Lenstra et al, 1977). Therefore, the 1|Vj(t)=min(U,fj(t))|maxsumVj problem is unary NP-hard for any non-increasing job value function. square

Capacity constrained truncated job value functions

The objective function of the capacity constrained problem with truncated job value function is as follows:

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

If Uless than or equal tominjless than or equal tonvj, then any sequence is optimal. For other values of U, we now state the problem complexity.

Theorem 7
 

The 1|Vj(t)=min{U,max(vj,fj(t))}|maxsumVj problem is unary NP-hard.

Proof
 

Follows from above since the 1|Vj(t)=min{U,fj(t)}|maxsumVj problem is special case of the 1|Vj(t)=min{U,max(vj,fj(t))}|maxsumVj problem. square

Time index formulation

The above problem, regardless of the form of the job value function, can also be formulated as a mixed linear integer program (Sousa and Wolsey, 1992). To do so, for each job j, let xjt=1, if job j is started at time t; and 0 otherwise. Further, let

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

The problem then may be represented as the following integer program:

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Subject to

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

The first set of equations ensures that each job is scheduled exactly once, whereas the second set of inequalities ensures that at each time, at most one job is executed.

Dominance algorithm

We now describe an optimization algorithm to solve the 1|Vj(t)|maxsumVj problem. For this purpose, let V(sigma) be the total value of a partial (or complete) schedule sigma containing k jobs expressed as follows:

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Now consider two partial schedules sigma and sigma' that are different permutations of the same subset of jobs. Then, we state the following known result.

Theorem 8
 

For any schedules sigma and sigma' that are different permutations of the same subset of jobs, V(sigma)less than or equal toV(sigma') implies V(sigmapi)less than or equal toV(sigma'pi).

A schedule sigma satisfying the conditions of is said to sigma dominates schedule sigma'. Based on this, a pure dominance theorem to optimally solve the 1|Vj(t)|maxsumVj problem can be described as follows.

Pure dominance algorithm

Step 0: Let L=1 and S={1,2,...,n} be the set of n partial schedules each consisting only of one job jset symbolN. Compute V(rho) forallrhoset symbolS. Enter Step 1.

Step 1: For each partial schedule rhoset symbolS, form n-L partial schedules consisting of L+1 jobs by assigning each of the n-L unassigned jobs at sequence position L+1. Let the set of partial schedules so formed be S. Compute V(rho) forallrhoset symbolS.

Step 2: Group the partial schedules containing the same subset of jobs together, that is, let S={S1,S2,...,Sk}, where for each iless than or equal tok, Si contains all partial schedules containing the same subset of jobs. For each subset Si, retain the partial schedule rhoi with maximum V(rhoi) value, that is, find rhoiset symbolSi such that V(rhoi)=maxrhojset symbolSiV(rhoj). Enter Step 3.

Step 3: Let L=L+1. If L<n, return to Step 1. Otherwise STOP; the last schedule retained in Step 2 is optimal.

While the above algorithm will optimally solve the 1|Vj(t)|maxsumVj problem, it is, however, not likely to be an efficient algorithm. Its computational burden is exponential as in the best case, it will retain sumr=1n{nCr} partial schedules.

Top

Proposed heuristics

In view of the NP-hard nature of the problem, we present several heuristics that are based on existing literature. Since several existing algorithms can be used for problems with linear job value functions (by considering their minimum counterparts), we concentrate on developing heuristics for the non-linear job value functions.

Heuristics for unrestricted job value functions

Our first set of heuristics is an adaptation of greedy algorithms. At any sequence position, a greedy selection rule is used to assign a job to that sequence position. The basic steps of this greedy algorithm are as follows:

Algorithm G: basic greedy algorithm

Step 0: Let t=0, U=N={1,2,...,n}, and S=Empty set variant. Enter Step 1.

Step 1: Let j be the job to be assigned to current sequence position using some selection rule. Enter Step 2.

Step 2: Set S=(S,j), U=(Ubackslashj), t=t+pj, and enter Step 3.

Step 3: If U=Empty set variant, find V(S) using Equations (1) and (2) and STOP, otherwise return to Step 1.

Algorithm G has a computational complexity of O(n2).

It remains to specify the selection rule used in Step 1 of the above algorithm. We now describe several rules to select job j to be assigned to a sequence position in Step 1 above.

Our first heuristic selects a job with maximum job value per unit time at a particular time t.

Algorithm H: highest value heuristic

Step 1: Let j=arg[maxiset symbolU(Vi(t)/pi)] using appropriate tie-breaking rules. Enter Step 2.

Our next heuristic follows the work of Fisher and Krieger (1981, 1984). This algorithm creates a dynamic job savings index for scheduling a job at time t rather than at the end of the schedule. To describe this algorithm, let P=sumiset symbolNpi.

Algorithm F: Fisher's greedy algorithm

Step 1: Let j=arg[maxiset symbolU(Vi(t)-Vi(P-pi)/pi)] using appropriate tie-breaking rules.

Enter Step 2.

Alidaee (1993) suggests to approximate Vj(t) by a continuous function over time and hence makes decisions based on the rate of value deterioration rather than the absolute value. To describe this algorithm, let Vj'(t) be the differential of the job value function with respect to t. Step 1 of this algorithm can be described as follows:

Algorithm A: Alidaee's differential algorithm

Step 1: Let j=arg[miniset symbolU(Vi'(t)/pi)] using appropriate tie-breaking rules. Enter Step 2.

Computational experience with algorithm A showed that it did not yield good results. However, its application in reverse, namely using the job selection rule from the last sequence position to the first produced excellent results. Therefore, we describe this revised algorithm as follows.

Algorithm R: Alidaee's reverse differential algorithm

Step 0: Let t=P, U=N={1,2,...,n}, and S=Empty set variant. Enter Step 1.

Step 1: Let j=arg[miniset symbolU(Vi'(P-t)/pi)] using appropriate tie-breaking rules. Enter Step 2.

Step 2: Set S=(j,S), U=(Ubackslashj), t=t-pj, and enter Step 3.

Step 3: If U=Empty set variant, find V(S) using Equations (1) and (2) and STOP, otherwise return to Step 1.

For the linear job value function, algorithms A and R described above generate an optimal schedule as they implement stated earlier. Therefore, their computational complexity for the linear case can be reduced to O(n log n).

Our next algorithm is an adaptation of the greedy algorithm due to Voutsinas and Pappis (2002). Because of its use of special function, it is applicable to only those objective functions where some sort of weight wj for each job j is available (like in the exponential job value functions considered in this paper). They generate four schedules using the following job selection criteria and select the best schedule.

Algorithm V1

Step 1: Let j=arg[miniset symbolU(pi)] using appropriate tie-breaking rules, similar to the ones described earlier. Enter Step 2.

Algorithm V2

Step 1: Let j=arg[miniset symbolU(pi/wi)] using appropriate tie-breaking rules, similar to the ones described earlier. Enter Step 2.

Algorithm V3

Step 1: Let j=arg[maxiset symbolU(wi)] using appropriate tie-breaking rules, similar to the ones described earlier. Enter Step 2.

Algorithm V4

Step 1: Let j=arg[maxiset symbolU(Vi(pi))] using appropriate tie-breaking rules, similar to the ones described earlier. Enter Step 2.

Then, the Voutsinas and Pappis algorithm selects the schedules with maximum cumulative job values. Thus, for this algorithm we add additional step as follows:

Algorithm V: Voutsinas and Pappis algorithm

Step A: Let S1, S2, S3 and S4 be the schedules found by using Algorithms V1 to V4 above. Select schedule S such that S=arg[max(V(S1),V(S2),V(S3),V(S4))].

The computational complexity of algorithm V can be reduced to O(n log n) since algorithms V1 through V4 can be implemented in O(n log n) computational steps.

We now describe an adjacent pairwise interchange (API) heuristic which can generate a better schedule, if one exists. To describe this algorithm, let sigma=(sigma1,sigma2,...,sigman) be the schedule generated by one of the above algorithms with value V(sigma). Then, the steps of the API heuristic are as follows:

Algorithm I: adjacent pairwise interchange algorithm

Step 0: Let sigma=(sigma(1),sigma(2),...,sigma(n)) be the initial schedule. Let i=c=1. Enter Step 2.

Step 1: Let sigma'=(sigma1,...,sigmai-1,sigmai+1,sigmai,...,sigman). If V(sigma)<V(sigma'), set sigma=sigma' and c=2. Enter Step 2.

Step 2: If i<n-1, set i=i+1 and return to Step 1; otherwise enter Step 3.

Step 3: If c=2, set c=i=1 and return to Step 1; otherwise STOP and accept sigma as the solution obtained.

Since any change in a pair of jobs can trigger another iteration of the algorithm, the computational complexity of algorithm I is O(n2).

Since algorithm I can be used for any algorithm, we have a total of eight heuristics for the unrestricted 1|Vj(t)|sumVj problem; namely, algorithms, H, F, R, V, HI, FI, RI, and VI. The first four of these eight algorithms have a computational complexity of O(n log n) while the computational complexity of other four heuristics is O(n2+n log n).

Heuristic for truncated job value functions

We now describe adaptation of the heuristics developed above for the truncated job value functions of the form Vj(t)=max(vj,fj(t)). To describe this heuristic, for each job j, we find target time Tj such that vj=fj(Tj). Then, the heuristic based on those heuristics described above is as follows.

Algorithm T: truncated job value algorithm

Step 1: Let sigma=(sigma(1),sigma(2),...,sigma(n)) be the schedule generated by one of the heuristics for the unrestricted job value function. Let t=0, j=1, and A=B=Empty set variant. Enter Step 2.

Step 2: If t<T(sigma(j)), let A=(A,sigma(j)) and proceed to Step 5; otherwise, enter Step 3.

Step 3: From schedule A, find sequence Aq where q is the least sequence position such that tsigma(q)greater than or equal toTsigma(j). Let Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author. Let Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author. If Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author, enter Step 4; otherwise set B=(B,sigma(j)), t=t-psigma(j), and proceed to Step 5.

Step 4: If Vsigma(k)(tsigma(q)-psigma(k)+psigma(j))>vsigma(k), set Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author; otherwise set Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author, B=(B,sigma(k)), and t=t-psigma(k). Enter Step 5.

Step 5: Set t=t+psigma(j). If j<n, set j=j+1 and return to Step 2; otherwise STOP.

Heuristic for capacity constrained job value functions

For the 1|Vj(t)=min(U,fj(t))|sumVi problem, we adapt the above algorithm T. To do so, we define the target start time of job jset symbolN, Tj such that U=fi(Tj). The Steps 2 and 3 of the above algorithm are modified as below.

Algorithm C: capacity constrained job value algorithm

Step 1: Let sigma=(sigma(1),sigma(2),...,sigma(n)) be the schedule generated by one of the heuristics for the unrestricted job value function. For each job iset symbolN, find Ti such that U=fi(Ti). Let t=0, j=1, and A=Empty set variant. Enter Step 2.

Step 2: If t<T(sigma(j)), let A=(A,sigma(j)) and proceed to Step 4; otherwise, enter Step 3.

Step 3: From schedule A, find sequence Aq where q is the least sequence position such that tsigma(q)greater than or equal toTsigma(j). Let Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author. Let Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author. If Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author, set Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author; otherwise set A=(A,sigma(j)). Enter Step 4.

Step 4: Set t=t+psigma(j). If j<n, set j=j+1 and return to Step 2; otherwise STOP.

The computational complexity of algorithms T and C is O(n2) in addition to that of getting the schedule in Step 1. Therefore, such improvements of the algorithms for the unconstrained case do not increase the overall complexity of the heuristics.

Heuristic for capacity constrained truncated job value functions

For the 1|Vj(t)=min(U,max(vj,fj(t)))|sumVi problem, we use a combination of algorithms T and C above. First, we solve the problem using algorithm C and then use algorithm T on the resulting schedule.

For algorithms T, C, and CT, any of the algorithms developed earlier can be used as an input schedules. However, in our implementation, we used algorithms HI, FI, and RI as starting schedules for each of the algorithms T, C, and CT.

Top

Computational results

In this section, we report on the results of the computational experiments designed to evaluate the effectiveness and efficiency of the proposed heuristic algorithms in finding good quality schedules. The time index formulation of the problem could not be used to solve the large-sized problems considered in this paper. No other optimization algorithms exist to solve these large problems. For these reasons, for large sized problems, we compared the performance of these proposed heuristic algorithms relative to the best one.

Test problems

In order to test the effectiveness of the proposed heuristics, we considered two forms of the job value functions: Vj(t)=wj-lambdajt and Vj(t)=wje-lambdajt. Limited computational tests were also conducted for the job value function Vj(t)=wj(t)-lambdaj used by Voutsinas and Pappis (2002) and found to show that proposed heuristics are superior to those of Voutsinas and Pappis (2002). However, these results are not reported in this paper. For each case, we consider the unrestricted, truncated, capacity constrained, and combined cases.

The parameters for each job were generated on the basis of real-life movie scheduling problem by using uniform random numbers. The processing time and initial job value of each job jset symbolN, pj and wj were integers from a uniform distribution in the range [5,17] and [80,120], respectively. For each job jset symbolN, define

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Problem hardness is likely to depend on whether there is a balance between average processing times, capacity constraints, truncation points, and job value deterioration rates. For this reason, three classes of problems for the truncation points, capacity constraints, and job value deterioration rates were generated as shown in Table 1 below.


The number of jobs n=5,10,15,20,50,100,150, and 200. Problems involving 20 or less jobs were classified as small problems while those with more than 20 jobs were considered large problems. For small-sized problems, we solved 30 problems instances for each size while for the large-sized problems, 50 problem instances of each size were solved.

Algorithm effectiveness for small problems

Each problem instance was formulated an integer program and was solved to optimality by CPLEX 7.0 in Solaris 5.8 Environment. The average CPU time for these small sizes of problems on CPLEX 7.0 in Solaris 5.8 Environment was approximately 30 s. Each greedy and adjacent pairwise interchange algorithms were used for each problem instance regardless of the nature of the job value function. In addition, each problem instance was solved using each of the algorithms applicable to the specific job value function being considered. For example, for the truncated and capacity constrained cases, algorithms T and C were used, respectively. Similarly for the combined case, both algorithms T and C were used. However, to keep the tables manageable, algorithms T, C, or TC are represented by T only. However, the designation of specific cases being considered makes the context quite clear.

For each problem instance, the effectiveness of the heuristic algorithm h is determined by optimality gap, OGh (in terms of percentage), which is defined as

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

where Zh and Zo are solutions obtained by heuristic h and the time-index formulation of the problem, respectively.

Tables 2 and 3 depict the average and maximum values of the optimality gap, OGh for each algorithm h for the small size problems. The highest value heuristic H did not perform as well as others. However, even for this heuristic, the average optimality gap was rarely more than 10%. Among the greedy algorithms, algorithm F, which is based on the Fisher and Krieger's procedure, produced lower average percentage optimality gap for each problem size. The average optimality gap for heuristic F is less than 1% for all problem sizes. In addition, the maximum optimality gap for heuristic F is rarely more than 15%.



For the problem instances tested, algorithms R and V, which are based on the work of Alidaee and Voutsinas and Pappis, did worse. This result is surprising since for the cost minimization case, Alidaee reports that his proposed algorithms yield better results than Fisher and Krieger algorithms. We conjecture that the problem parameters used by Alidaee may have been rather restrictive in empirically evaluating the two algorithms. Job value dependence on the job starting times in our case and completion times in Alidaee's paper could have also have contributed to these surprising results.

Use of the improvement algorithms I, T, and C significantly improved the results of each greedy algorithm. However, on the average, algorithm FI leads to lower percentage optimality gaps than algorithms HI, RI, and VI. The use of algorithms T and C for the truncated and capacity constrained problems dramatically improves the performance of algorithms HI, FI, RI, and VI. In fact, use of algorithms I, T, and C reduces the average and maximum gaps to less than 1 and 9% for all algorithms.

As the problem size increases, the performance of each heuristic decreases, but not significantly. Further, while not shown in the tables, heuristics performed worse on problems with low or high levels of deterioration rate and high level of truncation.

Algorithm effectiveness for large problems

Each problem instance (n=50,100,150, and 200 jobs) was solved using each of the algorithms applicable to the specific job value function being considered. Further, each greedy and adjacent pairwise interchange algorithms were used for each problem instance regardless of the nature of the job value function.

For large job size problems, the average CPU times on CPLEX 7.0 in Solaris 5.8 Environment were greater than 2 h. Therefore, we used the best value of the objective function obtained by any of the heuristic in the same class (like the H, F, R, and V) as a surrogate of an optimal solution value. Therefore, for each set of 50 large problems instances, we have calculated the optimality gap, OGh for each heuristic h as follows:

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

where Z circc is the best solution among heuristics from class c.

Tables 4 and 5 show the average and maximum values of the optimality gap, OGh for each algorithm h for the large size problems. The results in Table 4 confirm the conclusions for the small problems. Greedy algorithms based on the Fisher and Krieger's procedure, like algorithm F produced lower average percentage optimality gap for each problem size, the average optimality gap being 4.5% or less. Greedy algorithms based on the work of Alidaee and Voutsinas and Pappis did worse.



Use of the improvement algorithm I significantly improved the results of each greedy algorithm, bringing the average optimality gap to less than 1% for heuristics FI, FIT(C), RI, RIT(C), and VIT(C). However, on the average, algorithm FI leads to lower percentage optimality gaps than algorithms HI, RI, and VI. Further, compared to the results for small problems, the neighbourhood improvement algorithm I produced significantly more improvements for large problems. The use of algorithms T and C for the truncated and capacity constrained problems dramatically improves the performance of algorithms HI, FI, RI, and VI. The maximum optimality gap values in Table 5 show a similar pattern as those for small problems in Table 3. While not shown in Tables 4 and 5, each heuristic performed worse on problems with low or high deterioration rates and low and high capacity restrictions.

From the above computational results, algorithms based on the piecemeal linear approximation of the job value functions suggested by Fisher and Krieger generate the best schedules for the single machine problems with deteriorating job value functions. Algorithm V based on the work of Voutsinas and Pappis consistently performed worse producing optimality gaps greater than heuristic H. However, even for algorithm V, used of proposed improvement heuristics significantly improved its effectiveness.

Top

Conclusions

This paper considered the problem of scheduling a given number of movies in a theatre to maximize total profit. The problem is formulated as one of scheduling jobs on a single machine where the job value deteriorate with its start time and designated by 1|Vj(t)|maxsumVj. In view of several practical applications of the problems, different operating configurations, like the limitations on the job values due to the machine capacity constraint were also considered. In addition, this paper analyses cases where the job values may stop deteriorating after a specified starting time.

Except for a some special cases, the 1|Vj(t)|maxsumVj problem was shown to be unary NP-hard where the job deterioration function is Vj(t) is a non-increasing function of the starting time of job j. In view of the NP-hard nature of the problem, several heuristic algorithms are developed to find optimal or near optimal schedules for various cases of the 1|Vj(t)|maxsumVj problem. Computational results over a large number of problems show that the proposed algorithms generated near-optimal solutions for a large number of problem instances. Among the heuristics tested, heuristic F produced the best results while algorithm V produced the worst results. Further, the use of the adjacent pair-wise interchange algorithm I was found to substantially improve the quality of the solutions obtained by any of the proposed greedy algorithms. Use of algorithms T and C could further improve the results.

While we considered the single machine scheduling problem where the job value deterioration depends on the job starting times, we note that our results and proposed heuristic algorithms can easily be adapted to the problems where the job value deterioration depends on the job completion times. Except for some minor changes in the details of the proofs, all complexity results are valid for the 1|Vj(Cj)|maxsumVj problem where Cj is the completion time of job j. Similarly, for the proposed heuristics, equivalent job selection criteria can easily be described for the 1|Vj(Cj)|maxsumVj problem.

The development of various heuristic algorithms in this paper also results in some fruitful directions for future research. First, it would be helpful to develop tight bounds and some dominance conditions to develop an effective branch and bound algorithm for the 1|Vj(t)|maxsumVj problem. Second, the proposed heuristics can be modified to obtain improved solutions.

One way to do this is to use combinations of the proposed heuristics. For example, algorithms F, H, and R could be used in combination to improve the solution value. Third, it would be interesting to develop heuristics for the 1|Vj(t)|maxsumVj problem with specified worse-case performance bounds. Fourth, it would be interesting and useful to develop and evaluate various local search heuristics such as tabu search and genetic algorithms. Finally, extension of the results to schedule movies in a multiplex theatre where several movie screens are available to schedule multiple movies at the same time would enhance the practical utility of scheduling theory. Thus, more research is necessary in the area of scheduling on non-manufacturing sector.