HEURISTICS FOR MINIMIZING THE NUMBER OF TARDY JOBS ON A SINGLE MACHINE WITH RELEASE TIME

This paper considers the problem of minimizing the number of tardy jobs with release time on a single machine. Given that the problem has been classified as strongly NP-Hard, three heuristics (EOO, HR2, and HR3) are proposed for this problem. They are compared with a heuristic by Dauzere-Perez (selected from the literature). Randomly-generated problems ranging from 3 to 500 jobs are solved. Experimental results show that one of the proposed heuristics (EOO) outperforms other heuristics, both in terms of quality of solution (effectiveness) and speed of execution (efficiency).


INTRODUCTION
Scheduling is concerned with the problem of allocating resources (machines) over time to perform a number of tasks (jobs) [19].Scheduling problems arise in a variety of situations, such as jobs in a manufacturing plant, or airplanes waiting for clearance to land or take off at an airport The real problem of scheduling is how to determine the schedule that best meets the set objectives [18].Scheduling objectives are usually measures of goodness of solution [19].The objectives often vary from firm to firm.Some of the objectives of scheduling problems include minimising the total completion time, the number of tardy jobs, the maximum completion time, maximum lateness, etc [8].
Scheduling problems are combinatorial in nature [9].As an example, for n jobs, m machines (n x m), the number of possible schedules is (n!) m .This may look tractable when n and m have small values.However, as the values of n and m increase, the problem becomes complex.For example, there are 720 possible schedules for a 6 x 1 problem, while a 10 x 1 problem requires nearly 4 million schedules.A 20 x 1 problem solved on a computer that evaluates a million schedules per second would take nearly 80,000 years to evaluate all possible schedules.The difficulty of enumerating all the possible schedules in good time spurred the need to develop polynomial-time algorithms (heuristics methods) for solving scheduling problems.Heuristic methods are techniques for obtaining acceptable solutions to scheduling problems at a reasonable computational cost.While they do not guarantee optimal results, the techniques are relatively economical in terms of the computational resources used.Polynomial-time algorithms are algorithms whose number of computational steps does not grow exponentially with the input value.
In this work, the objective is to minimise the number of tardy jobs.A job is said to be tardy if it is completed after its due date.The number of tardy jobs is an important performance measure in scheduling, as it has great practical implications in an organization.When jobs are tardy, the goodwill of customers who own such jobs may be lost.This may have grave consequences for the organization.In some situations the lateness penalty may be large.It is therefore the desire of decisionmakers to satisfy as many customers as possible by ensuring that jobs are completed on or before the due dates.
However, because of problem complexities (release and due dates constraints), it may be practically impossible to complete all jobs by their respective due dates at all times.So a schedule that yields lower values of the number of tardy jobs for any given problem is preferable.
The 'number of tardy jobs' criterion is particularly useful in organisations where the lateness penalty depends on whether or not a job is late, as against how late a job is.For example, if an aircraft is scheduled to land at a time after which it will have exhausted its fuel, then the results are just as catastrophic, whatever the scheduled landing time.So considering the number of tardy jobs as a performance measure is much more relevant in practical scheduling problems.

THE PROBLEM
Given the general one-machine scheduling problem, where a set J of n jobs has to be sequenced on a machine in order to minimize the number of tardy jobs, only one job can be processed at a time.The arrival time of every job J i at the machine is known and denoted by r i (release date).Each job J i needs p i time units on the machine (processing time), with a due date designated by d i .
The time the processing of job J i starts on the machine (start time) is designated as s i with the property: while its completion time (C i ) is defined as: A job J i is said to be tardy if it is completed after its due date (C i > d i ).
We define: Then define, the number of tardy jobs (NT) as: The symbolic representation of scheduling problems can be described by a three parameter notation: α | β | γ [10] where: α = machine environment (single machine, parallel machine (P), flow shop (F), job shop (J), etc) β = Job characteristics (prec, pmtn, r i , d i etc.) γ = Objective functions or performance measures Using the above notations, the particular problem being considered is represented as We assume that pre-emption is not allowed and that the problem is static and deterministic -i.e. the number of jobs, their processing times, due dates, and ready times are all known and fixed.These assumptions seem reasonable, as many reallife problems can be so modeled.

PREVIOUS WORK
The problem of minimizing the number of tardy jobs on a single machine with ) is NP-Hard in the strong sense [1].Many special cases and/or relaxations of the problem have been studied by many researchers.
The first special case of the problem to be studied is problems for which all release dates are zeros.Moore [17] proposed an algorithm that solves the Later, Lawler and Moore [16] showed that, using dynamic They were able to solve problems with up to 1,000 jobs.Potts and Wassenhove [21] considered the problem of scheduling n jobs, each having a processing time, a due date, and a weight, on a single machine to minimize the weighted number of late jobs.They proposed a branch and bound (B&B) algorithm that uses the linear programming lower bound.Also, computational results for problems with up to 1,000 jobs were given.Hallah and Bulfin [11] proposed a branch-and-bound algorithm that uses the bounds obtained from a surrogate knapsack, to solve the single machine weighted number of tardy jobs scheduling problem.They showed that instances with 2,500 jobs can be solved optimally in a reasonable amount of time.Phojanamongkolkij et al. [20] studied the single machine scheduling problem with a sequence-independent setup in which the weighted number of late jobs is minimized.A heuristic (called weighted forward algorithm) was proposed for the situation where jobs have zero release dates.Hatice and Fatih Tasgetiren [12] proposed a discrete particle swarm optimization algorithm and a traditional genetic algorithm to determine a sequence of n jobs to be processed through m machines, which minimises the number of tardy jobs.
The next set of problems studied by researchers is those problems with compatible release and due dates.Kise et al. [13] showed that the problem can be solved in O(n 2 ) time provided that the release dates and due dates are compatible (that is, the jobs can be indexed so that r 1 ≤ r 2 ≤ …≤ r n and d 1 ≤ d 2 ≤ …≤ d n ).Lawler [15] proposed an O(n 5 ) dynamic programming algorithm for the pre-emptive case (1 | r i , ).Also, Carlier [2,3] showed that, when the processing times are equal, the problem (1 Van den Akker and Hoogeveen [25] considered the single machine scheduling problem of minimising the number of late jobs under stochastic situations.Four probability distributions on the processing times were considered.These are gamma, binomial, normal, and general (with the characteristic that all processing times are equally disturbed) distributions.Lambrechts et al. [14] proposed a Tabu Search procedure for generating robust project baseline schedules under stochastic resource availabilities.The Tabu Search uses a double neighborhood structure to allow for the generation of feasible project schedules that respect precedence, resource, and due dates constraints.
So far all the above literature addressed different special cases or relaxations of the general problem.
) requires that each job has distinct release and due dates.The literature reveals that not many researchers have addressed the general problem.This is probably due to the fact that the general problem is NP-Hard in the strong sense [1].A number of researchers have considered the general problem, including Dauzere-Perez and Sevaux [5,6,7].They have presented three mixed-integer linear programming formulations of the general problem, adopted a lagrangean relaxation approach for the weighted version of the problem ), and a branch and bound scheme for the same problem.Baptiste et al.
[1] presented a branch and bound algorithm for the general problem.Sevaux and Dauzere-Peres [23] used a genetic algorithm to minimize the weighted number of late jobs on a single machine.Also, Sevaux and Thomin [24] developed two types of metaheuristic (simulated annealing and Tabu Search) for the parallel machine problem.They concluded that instances of up to 100 jobs can be solved efficiently.Sevaux and Sorensen [22] studied the single machine scheduling problem of minimizing the weighted number of late jobs ) and proposed a genetic algorithm to compute robust schedules when release dates are subject to small variations.To the best of our knowledge, only Dauzere-Perez [4] has presented a heuristic for the general problem (that in which jobs have different release and due dates).Since we are addressing this general problem in this paper, this heuristic has been selected for evaluation.Since the general problem has been proved to be NP-Hard in the strong sense [1], we propose three heuristics for the general problem.

SOLUTION METHODS
The problem of minimizing the number of tardy jobs with release dates on a single machine ) is strongly NP-Hard [1].Hence, polynomial-time approximation algorithm (such as heuristic) methods are needed to solve such problems.Heuristics are methods of obtaining solutions to scheduling problems based on conjectures, insights, rule-of-thumb, etc.In this work, three heuristics are proposed for this problem.

Proposed heuristics
The three heuristics are now reviewed.

HR2 heuristic
The interval between the time when the job is released to the shop (release date) and the time the job is needed (due date) can be called the job's allowance.This is the maximum time a job can stay in the shop without being tardy.We propose to reduce the number of tardy jobs by scheduling the jobs according to an ascending order of the job allowance.This rule is called HR2 in this work.Scheduling jobs according to HR2 ensures that jobs with shorter allowances are scheduled in the earlier positions, while jobs with longer allowances are scheduled later.The steps for the HR2 heuristic are outlined as: Step 1: Compute HR2 (job allowance) index by HR2 i = d i -r i Step 2: Form a list L by arranging jobs according to the ascending order of the HR2 index computed in Step 1 Step 3: Schedule jobs according to list L which was obtained from Step 2 The HR2 heuristic is easy to apply.

HR3 heuristic
A careful examination of equations ( 1) to (4) reveals that the number of tardy jobs is indeed a function of three given parameters -namely, p i , r i , d i .So it was proposed that scheduling jobs according to the ascending order of the sum of the above three parameters would minimize the number of tardy jobs.The HR3 heuristic ensures that earlier released, due, and short jobs are scheduled in the earlier positions.The steps for the HR3 heuristic are now outlined: Step 1: Compute HR3 index by HR3 i = p i + r i + d i Step 2: Form a list L by arranging jobs according to the ascending order of the HR3 index computed in Step 1 Step 3: Schedule jobs according to list L which was obtained from Step 2 The HR3 heuristic is also easy to apply.

EOO heuristic
One of the assumptions made in this paper is that the scheduling problem being considered is static and deterministic.It is static in the sense that, although the jobs have release dates, these dates are known and fixed.Because the processing and due dates are also known with certainty, the problem is deterministic.The third proposed heuristic (called EOO) makes use of this vital information.If jobs are not to be tardy, priority must be given to the due dates of the jobs.What the EOO does is to consider the next job that is due (out of all the given jobs, but still to be scheduled) and checks if scheduling the job at that time makes the job tardy.If the job is likely to be tardy, the EOO will not schedule the job but rather consider the next job that is due while adding the previous job to the list of tardy jobs.If the job is unlikely to be tardy, the EOO will schedule the job before considering other jobs.
The key is that if a job is tardy at time t 1 , the job might as well be scheduled at any other time t 2 (where t 2 >t 1 ).The EOO heuristic is now outlined: Step 1: Initialization = This is the set of given jobs Job_Set2 = {.}This is the set of jobs tested and found to be early Job_Set3 = {.}This is the set of jobs tested and found to be tardy i = 1 Step 2: Select the job with the lowest due date from Job_Set1 Step 3: Check if scheduling the job selected in Step 2 in the i th position will make the job tardy or not.
Step 4: If the job will be tardy, do not schedule it, but add the job to Job_Set3; otherwise schedule it and add the job to Job_Set2.Remove the job from Job_Set1.
Step 5: i = i + 1 , if Job_Set1 is not empty then go to Step 2; otherwise go to Step 6 Step 6: The required sequence of jobs is formed by appending jobs in Job_Set2 to jobs in Job_Set3.The number of jobs in Job_Set3 is the number of tardy jobs.

Selected solution methods
Since to the best of our knowledge only Dauzere-Perez [4] has presented a heuristic for the general problem (problems in which jobs have different release dates), this heuristic has been selected for evaluation.

Dauzere (DAU) heuristic
The steps of the DAU heuristic are now presented.

Dauzere-Perez Stephane (DAU) heuristic
Step 0: Initialise t = i J J r i ∈ min (i.e. the minimum ready time of all jobs) I = {.}(I is the set of early or sequenced jobs, set it to an empty set) I t = {.}(I t is the set of tardy jobs, set it to an empty set) = ( I is the set of jobs yet to be sequenced) Step

DATA ANALYSIS
A software package was developed in Microsoft Visual Basic 6.0 to generate random single machine problems.A total of 50 problems for 22 different problem sizes (ranging from 3 to 500 jobs) was randomly generated.A total of 1,100 (22*50) single machine problems was solved.
The processing time of jobs was randomly generated with values ranging between 1 and 100 inclusive.The ready time of jobs was also randomly generated with values ranging between 0 and ∑ = n i i P 1 inclusive, while the due date was also randomly generated with values ranging between (r i + p i ) and (r i + 2*p i ) inclusive.
All the above solution methods were included in the program that was developed.When the program was run, the value of the number of tardy jobs obtained for each solution method and each problem size was computed and saved in a data file, which was then exported to Statistical Analysis System (SAS) version 9.1 for detailed analysis.(SAS is a versatile statistical package that enables credible conclusions to be drawn from the results.)The general linear models (GLM) in SAS were used to compute the mean of the number of tardy jobs for each of the solution methods and each of the problem sizes.The GLM procedure in SAS was also used to carry out test of means (means separation) so as to determine whether the differences observed in the mean value of number of tardy jobs obtained by various solution methods are significant or just due to chance.

RESULTS
The results obtained when the mean value of number of tardy jobs was computed for each solution method and problem size are shown in Table 1.The EOO heuristic gave the lowest number of tardy jobs for all the problem sizes considered, indicating a better performance when compared with other methods.This was the same significant level, the mean value of the number of tardy jobs given by DAU is significantly different from (better than) that of HR3 and HR2.For 300 ≤ n ≤ 500 problems, there are no significant differences in the performance (effectiveness) of all the solution methods at P ≤ 0.05 (Table 2).When the mean of the time taken was also subjected to statistical test, there was no significant difference in the time taken by EOO, DAU, HR2, and HR3 (P ≤ 0.05) for 3 ≤ n ≤ 500 problems (see efficiency column of Table 2).

CONCLUSION
In this paper, the scheduling problem of minimizing the number of tardy jobs with release dates on a single machine is considered.Three heuristics -EOO, HR2, and HR3 -were proposed for solving this problem, and were then compared with a heuristic (DAU) selected from the literature.The solution methods were all evaluated and tested with respect to both effectiveness (closeness of value of number of tardy jobs to the optimal) and efficiency (how fast a solution can be obtained).
Based on effectiveness, one of the proposed heuristics, EOO, outperformed the others for 3 ≤ n ≤ 500 problems.Also, the EOO is as fast as the DAU, HR2, and HR3 methods when the number of jobs is less than 50; slower than the others for 50 to 180 jobs; and faster than the others when the number of jobs exceeds 180.The EOO heuristic obtains quality solutions that are both effective and efficient.The EOO heuristic is, therefore, recommended for the single machine scheduling problem of minimizing the number of tardy jobs with release dates.

1 :
Choose the job with the smallest due date among the jobs that have arrived at time t from I Add the job chosen in Step 1 to I and remove the same job from I .Compute start time S i = t and completion time C i = S i + p i Step 3: If this job is late (i.e.C i > d i ), proceed to Step 4; otherwise jump to Step 6 Step 4: Remove this job from I and add it to I t Step 5: Update the start and completion time as: S i = t and C i = S i Step 6: Compute new time as: t = max ( C i , If set I is not empty, go back to Step 1; otherwise proceed to Step 8 Step 8: Form the sequence of jobs by appending jobs in set I with jobs in I t without changing the sequence.The number of tardy jobs is the number of jobs in set I t Step 9: Stop.