A rescheduling heuristic for the single machine total tardiness problem

In this paper, we propose a rescheduling heuristic for scheduling N jobs on a single machine in order to minimise total tardiness. The heuristic is of the interchange type and constructs a schedule from the modified due date (MDD) schedule. Unlike most interchange heuristics that consider interchanges involving only two jobs at a time, the newly proposed heuristic uses interchanges that may involve more than two jobs at any one time. Experimental results show that the heuristic is effective at reducing total tardiness producing schedules that either similar or better than those produced by the MDD alone. Furthermore, when applied to some test problems the heuristic found optimal schedules to all of them.


Introduction
The problem considered in this paper is as follows.There is a set Z = {1, 2, . . ., N } of jobs simultaneously available to be processed on a single machine under the common assumptions listed in Baker [2].Job i requires t i units of processing time, for all i ∈ Z, on the machine which can only process one job at a time without pre-emption and inserted idle time.In addition, each job i is given a due date d i , for all i ∈ Z.If job i is finished late, a penalty equal to its tardiness T i = max(C i −d i , 0) is incurred, where C i is the completion time of job i.The objective is to find the optimal job sequence σ* that minimises the total tardiness, that is where , where σ is an arbitrary job sequence, where the subscript [i] denotes the job in position i of σ and where π is the set of all possible sequences of which there are N !.
According to Du and Leung [7], the total tardiness problem is NP-hard.As a result, all optimization methods that have been developed to solve the problem in (1) utilize combinatorial techniques, such as branching and bounding, and dynamic programming (see Fisher [9], Emmons [8], Srinivasan [19], Picard and Queyranne [14], Potts and Van Wassenhove [15], Chu [5], Szwarc and Mukhopadhyay [20], Della Croce et al. [6] and Hirakawa [10], to mention but a few).The solution methods owe their efficacy to either the dominance rules of Emmons [8], or/and the decomposition theorem of Lawler [12], which are employed to help restrict the search for an optimal solution.Despite this, still, the methods require considerable computer memory and time to implement.
Consequently, a number of heuristics have been proposed for solving the problem in (1).These are methods for solving problems by an intuitive approach in which the structure of the problem can be interpreted and exploited intelligently so as to obtain a reasonable solution.Heuristic techniques are the only way of tackling many large optimisation problems.Noteworthy heuristics for solving the total tardiness problem include those by Wilkerson and Irwin [21], Baker and Bertrand [3], Potts and Van Wassenhove [16], Holsenback and Russell [11] and Panwalkar et al. [13].
In this paper, we shall focus our attention on the heuristic by Baker and Bertrand [3], known as the modified due date (MDD) rule.The MDD rule has been investigated by many researchers and has been shown to be very effective in reducing total tardiness and in some cases it has been found to produce optimal tardiness schedules (see Baker and Bertrand [3], Baker and Kanet [4]).Furthermore, recent research has shown that the heuristics of Wilkerson and Irwin [21], and Panwalkar et al. [13] are equivalent to the MDD rule (see Alidaee and Gopalan [1]).The remainder of this paper is organized as follows.In the following section we present and prove a further local optimality condition for a subsequence of consecutive jobs for the tardiness problem.In §3 we utilise the condition and one of Emmons' dominance rules to develop a heuristic which may be used to improve tardiness schedules generated by the MDD rule.The condition may be seen as a generalized form of the idea of reducible tardiness proposed by Holsenback and Russel [11].In §4 we demonstrate the mechanics of the heuristic by solving a simple numerical example.This is followed by a large-scale experiment in §5 where we compare the performance of the heuristic to the MDD rule.We conclude the paper with some final remarks in §6.

A local optimality condition for jobs in a MDD schedule
Previously it was thought that the presence of overlapping tardiness intervals in tardiness schedules almost automatically led to sub-optimality.A tardiness interval of a job is defined as the difference between its completion time and its original due date.Thus, a job that is early has no tardiness interval.Contrary to these earlier expectations, some schedules that have exhibited this characteristic have been found to be optimal (see Baker [2]).Here, we shall discuss a further optimality condition for the mean tardiness problem that may be used together with the MDD rule to improve schedule performance.The condition is stated as follows.
Proposition 1 For any given sequence σ, of N jobs, let there be a subsequence of r consecutive jobs, beginning in position k of σ, then if an alternative, better sequence may be constructed by interchanging the job in the k th position, say J [k] , with the subsequence of jobs (J [k+1] , J [k+2] , . . ., J [k+r−1] ) in σ.
Proof: In the optimal schedule under consideration jobs are either early or tardy.It is easy to show through pair-wise interchange argument that either our condition is satisfied or an alternate optimal schedule can be constructed.Interchanging job J [k] with a subsequence of jobs (J [k+1] , J [k+2] , . . ., J [k+r−1] ) has the effect of delaying the completion time of J [k] by r−1 i=1 t [k+i] thus increasing its tardiness by at most that amount, i.e. by max On the other hand, the subsequence of jobs will be completed t k time units earlier, resulting in total decrease in tardiness of It follows that, if the condition fails, the jobs should be left in their original positions.Alternatively, if the condition holds, interchanging the jobs in the manner described will yield an improved solution.

A rescheduling heuristic for improving MDD schedules
The heuristic that we propose is of the interchange type and constructs a schedule from the MDD schedule.The heuristic functions by promoting further job interchanges that may lead to a reduction in tardiness in these schedules.Unlike most pair-wise interchange heuristics, which consider interchanges involving only two jobs at a time, our heuristic uses interchanges, which may involve more than two jobs at any one time.The dominance rule of Emmons [8], which we incorporate into the heuristic, is used to act as a guiding instrument for identifying which jobs in the MDD schedule the heuristic must consider when searching for sub-optimal condition.The rule is expressed in the theorem below.However, the following lemma is required for the proof of the theorem.
We now state and prove one of Emmons theorems.The proof is new and hence different from Emmons' original proof.
Theorem 1 (Emmons [8]) If t i ≤ t j and d i ≤ max(d j , T +t j ) for some T , then amongst the schedules which start both jobs i and j after time T , there is an optimal schedule with job i before job j (jobs i and j need not be adjacent).
Proof: Suppose that the theorem is not true.Then there is an optimal schedule in which job j occurs before job i.Let this schedule be as shown in Figure 1 and let s o > T .
Consider swapping job i and job j.Since t i ≤ t j jobs between jobs i and j are moved forward and the tardiness contribution from job i and job j before the swap is B = max(0, s o + t j − d j ) + max(0, x − d i ).There are two cases to consider.
using Lemma 1.The last expression on the right hand side above represents the tardiness of the swap.
Case 2 : If di ≤ s o + t j and di > dj then s o + t j > dj and x (which is greater than s o + t j ) is greater than di .Hence, The last expression on the right hand side above again represents the tardiness of the swap.The MDD rule is consistent with Emmons' theorem above for jobs i and j when t i ≤ t j and max( di , T + t i ) ≤ max( dj , T + t j ) since, in this case, the MDD rule also sequences job i before job j.Thus, in a sequence generated by the MDD rule, we may assume that if job i is sequenced before job j, where t i ≤ t j , then job i is optimally sequenced with respect to job j so that interchanging these jobs would not yield a reduction in tardiness.
In the case where t i > t j , and job i is sequenced immediately before job j in the MDD schedule and job j is followed consecutively by at least one other short job (shorter than job j) and if at least one of the short jobs is tardy then the MDD schedule may not be optimal.

Let
• J [i] denote the job in position i of the schedule, • C [i] denote the completion time of the job in position i of the schedule, • t [i] denote the processing time of the job in position i of the schedule, • d [i] denote the due date of the job in position i of the schedule, • r denote the number of short jobs consecutively following a long job in the schedule, • N denote the total number of jobs requiring scheduling.
The procedure that we propose attempts to discover whether a long job which has been sequenced before a subsequence of short jobs in the MDD schedule should actually be occupying its present position or whether it should be preceded by at least two of the short jobs.The heuristic does this by sequentially searching through the MDD schedule beginning with the job in position (N − 2) right up to the job in first position.Suppose that Figure 2 depicts part of the MDD sequence of N jobs, and suppose that the heuristic is currently at the job occupying the i th position in the schedule.Call this job a candidate job and let T be the total processing time of the first (i − 1) jobs in the schedule.We assume that the jobs J [i+k] , k = 1, 2, 3, . . ., N − i, have already been checked and rescheduled where necessary by the heuristic.Suppose the heuristic is currently considering the job in position i, that is, job . First, the heuristic checks to establish whether or not the processing time of job J [i] is greater than each of the processing times of at least two jobs immediately and consecutively following it in the schedule, i.e. whether where k = 1, 2, . . ., r and r ≥ 2. If the condition is false, the heuristic leaves job J [i] in its current position and resumes the search with the next job up the schedule, that is, where k = 1, 2, . . ., r and r ≥ 2 as depicted in Figure 2. Furthermore, suppose the heuristic is currently considering swapping job J [i] with a subsequence of p short jobs.Here, we assume the heuristic has already considered swapping in turn job J [i] with subsequences of (1, 2, . . ., p − 1) short jobs and found that swapping would not yield a reduction in tardiness.Next the heuristic computes the tardiness contribution in the current schedule caused by a subsequence made up of the candidate job and the p short jobs following it, that is . We shall call this subsequence the current subsequence.The total tardiness figure for the current subsequence is compared with the total tardiness that would result if an alternative subsequence of the same jobs were considered in which the long job is now preceded by the p short jobs.
Notice that in the result of Proposition 1, it is implicitly assumed that if a swap such as we have described above were made, then the short jobs in the revised schedule would retain their relative positions with respect to each other.However, we note that, because the scheduled time for the short jobs to start processing is brought forward, the short jobs may be required to change positions in the alternative subsequence depending on their processing time and due dates.The heuristic thus uses the MDD rule to assign positions to the short jobs in the revised schedule, starting at time If the tardiness contribution of the alternative subsequence is less than that of the current subsequence then the current subsequence is replaced with the alternative subsequence in the schedule, and if p < r then the heuristic moves to job J [i+p] where it continues the search and T is increased by p−1 k=0 t [i+k] ; otherwise, if p = r the heuristic continues its search with J [i+p−1] and T is increased by . However, if the tardiness contribution of the alternative subsequence is greater than or equal to that of the current subsequence then the current subsequence is retained in the schedule and the heuristic continues its search by moving to job . The process is repeated and terminates when the heuristic attempts to reschedule a job in position 0.
The heuristic described above may be implemented as an algorithm.Let p ∈ {0, 1, 2, . . ., r}, let * denote a long job in a subsequence, let T C be the tardiness of the current subsequence defined as , 0), and let T A be tardiness of the alternative subsequence defined as , where in each case the p short jobs are assigned positions in the subsequences according to the MDD rule.The steps of the heuristic may now be described as follows.
Step 0 (Initialisation) Schedule the N jobs according to the MDD rule.Make job i.e. the total processing time of the jobs preceding job J [N −2] in the schedule.
Step 1 then go to step 2, else go to step 3.
Step 2 Leave J [i] in its current position and decrease T by t Step 3 If T A < T C go to step 4, else go to step 1.
Step 4 Replace the current subsequence with the alternative subsequence so that job J [i] in the original schedule becomes job J [i+p] in the revised schedule and assign positions to the p short jobs according to the MDD rule starting at time T .Set p ← 0, i ← i + p and increase T by p k=1 t [i+k −1] .Go to step 1.
Notice that during the actual implementation of the heuristic long jobs, which are immediately succeeded, by a single short job are also considered as candidates (i.e. when p=1 above).In this case, subsequences are made up of only two jobs, J [i] and J [i+1] .Observe that a swap involving two such jobs in the original MDD schedule would not yield any improvement with regard to total tardiness.However, due to rescheduling, which occurs when implementing our heuristic, there is a possibility of a long job being placed just before a short job in the revised schedule such that if a swap were made between the long job and the short job a reduction in tardiness would result.The heuristic is very effective in improving MDD schedules having found optimal solutions to all test problems in Baker [2].

A numerical example
We now illustrate the working of the heuristic by means of a worked numerical example.Consider a set of 8 jobs in MDD order with their processing times t i , due dates d i and tardiness T i , as shown in Table 1.The total tardiness for this schedule is 765.The heuristic starts by considering job J [6] as a candidate job for rescheduling.Job J [6] is followed by two short jobs: J [7] and J [8] .Initially the heuristic attempts to interchange job J [6] with a subsequence made up of just one short job, namely job J [7] .But the total tardiness of the alternate subsequence of 481 is greater than the total tardiness of the current subsequence of 424 and therefore no swapping is carried out.Next the heuristic considers swapping job J [6] with a subsequence of short jobs made up of jobs J [7] and J [8] .Here the total tardiness of the alternate subsequence of 577 is less than the total tardiness of the current subsequence of 587.Thus the current subsequence is replaced by the alternate subsequence resulting in schedule shown in Table 2.Note that the two short jobs have been assigned positions in the revised schedule of Table 2 according to the MDD rule, starting at time 5 i=1 t [i] = 515.Next the heuristic again selects the recently rescheduled long job, now J [8] , in the revised schedule as a candidate for rescheduling.But because job J [8] is in the last position of the schedule, it is fixed in that position.The heuristic moves one step up to job J [7] and makes this job its candidate for rescheduling.However, because t [7] < t [8] , the heuristic leaves job J [7] in its current position and again moves one step up, now to J [6] , in the revised schedule of Table 3. Job J [6] is followed by only one short job.Swapping these jobs would not reduce tardiness and therefore the heuristic leaves job J [6] in its current position and moves up to the next job in the schedule.The next job in the schedule is job J [5] and it is followed by two short jobs, namely J [6] and J [7] .However, because both the short jobs are early in the revised schedule, interchanging job J [5] with either job J [6] or a subsequence made up of jobs J [6] and J [7] will not reduce tardiness; therefore the heuristic leaves job J [5] in its current position and moves up to the next job in the schedule, i.e. job J [4] .Repeating the process in this way we find that there is no other job in the revised schedule that requires rescheduling -either because the processing time of the candidate job is less than its immediate successor or because the overall reduction in tardiness if a swap were made is not greater than 0. The total tardiness for the improved schedule is therefore 755 and it turns out to be the optimal tardiness value for the problem (see Baker [2]).

Experimental results
An experiment involving 20 problems was conducted in order to compare the performance of the proposed heuristic and the MDD rule on the total tardiness problem.In the experiment, each of the 20 problems consist of scheduling 100 jobs.The 20 problems were generated in the manner suggested by Potts and Van Wassenhove [15], as follows.First, for each job i, (i = 1, 2, . . ., 100), an integer processing time t i was generated from a uniform distribution on the interval [1, N ], and then the total processing time, P = t i , (i = 1, 2, . . ., 100) was computed.The relative range of due dates (RDD) and the average tardiness factor (TF) were selected from the sets {0.2, 0.4, 0.6, 0.8, 1.0} and {0.2, 0.4, 0.6, 0.8} respectively, and for each job i a due date d i was generated from a uniform distribution on the interval [P (1 − T F − RDD/2), P (1 − T F + RDD/2)].Fisher [9], Schrage and Baker [18], and Potts and Van Wassenhove [17] have observed that problems with T F = 0.6 and T F = 0.8 appear to be the hardest to solve, particularly when RDD is small.The results in Table 3 compare the relative performance of the MDD sequence produced with and without the aid of the rescheduling heuristic.Note that the application of the heuristic leads to an improvement in the performance of the MDD sequence.The greatest improvement occurred in problems with small values of both RDD and TF.The results marked with asterisk represent the best performance for the heuristic.

Conclusion
In this paper we have presented and proved a further local optimality condition for a subsequence of consecutive jobs for the total tardiness problem.We have developed a heuristic by incorporating the local optimality condition, one of Emmons' dominance rules and the MDD rule.The heuristic utilizes the MDD sequence as seed to generate new improved tardiness sequences.The results of a computational experiment show that the rescheduling heuristic is effective in minimizing total tardiness.The heuristic generates sequences that are either better or similar to those produced by the MDD rule.Furthermore, when tried on some test problems, the heuristic was able to find optimal solutions for all the problems.In future it will be useful to compare empirically the performance of the proposed heuristic to the available heuristics for the single machine tardiness problem.

Figure 1 :
Figure 1: An example of job i and j in the schedule.

1 2 . 1 NFigure 2 :
Figure 2: An example of a MDD job sequence for the purpose of our heuristic.

Table 1 :
MDD schedule processing times, due dates and tardiness values.

Table 2 :
Revised schedule following a swap.

Table 3 :
Tardiness values obtained for the MDD rule with and without the aid of the heuristic.