TIGHT-TARDY PROGRESSIVE IDLING-FREE 1-MACHINE PREEMPTIVE SCHEDULING WITH JOB PRIORITY WEIGHTS BY HEURISTIC’S EFFICIENT JOB ORDER INPUT

Background. In setting a problem of minimizing total weighted tardiness by the heuristic based on remaining available and processing periods, there are two opposite ways to input the data: the job release dates are given in either ascending or descending order. It was recently ascertained that scheduling a few equal-length jobs is expectedly faster by ascending order, whereas scheduling 30 to 70 equal-length jobs is 1.5 % to 2.5 % faster by descending order. For the number of equal-length jobs between roughly 90 and 250, the ascending job order again results in shorter computation times. In the case when the jobs have different lengths, the significance of the job order input is much lower. On average, the descending job order input gives a tiny advantage in computation time. This advantage decreases as the number of jobs increases. Objective. The goal is to ascertain whether the job order input is significant in scheduling by using the heuristic for the case when the jobs have different lengths with job priority weights. Job order efficiency will be studied on tight-tardy progressive idling-free 1-machine preemptive scheduling. Methods. To achieve the said goal, a computational study is carried out with a purpose to estimate the averaged computation time for both ascending and descending orders of job release dates. First, the computation time for the ascending job order input is estimated for a series of job scheduling problems. Then, in each instance of this series, job lengths, priority weights, release dates, and due dates are reversed making thus the respective instance for the descending job order input, for which computation time is estimated as well. Results. The significance of the job order input is much lower than that for the case of jobs without priorities. With assigning the job priority weights, the job order input becomes further “dithered”, adding randomly scattered priority weights to randomly scattered job lengths and partially randomized due dates. On average, the descending job order input is believed to give a tiny advantage in computation time in scheduling up to 100 jobs. However, this advantage, if any (being tinier than that in the case of random job lengths without priorities), quickly vanishes as the number of jobs increases. Conclusions. It is better to compose job scheduling problems which would be closer to the case with equal-length jobs without priorities, where the saved computational time can be counted in hours. Even if the job lengths and priority weights are scattered, it is recommended to artificially “flatten” them. When artificial manipulations over job processing periods and job priority weights are impossible, it is recommended to use the descending job order input in scheduling up to 100 jobs, and either job order input in scheduling more than 100 jobs, although substantial benefits are not expected in this case.


Introduction
Job scheduling is an important combinatorial problem whose practical impact is pretty intense. Tardiness is one of the main features in scheduling. The exact minimization of total weighted tardiness is possible just for a few jobs whose processing periods are not very long [1]. Heuristics are the only means which capable of scheduling hundreds and thousands of jobs, or more [2,3]. In some practical tasks, moreover, the entire schedule can be an extremely long sequence of jobs [4], whereas the heuristics allow online scheduling (once a job is scheduled at a time moment, it will not be changed and thus the jobs already scheduled can be executed straightforwardly without waiting for the entire schedule) [5].
The heuristic based on the remaining available period and remaining processing period [6] is closely the best one. Its efficient job order input (in ascending or descending order) was studied in articles [7] and [5]. The efficiency implied faster computations.
Article [7] ascertained that, in scheduling by using the heuristic, the job order input is significant for the case of tight-tardy progressive idling-free 1machine preemptive scheduling of equal-length jobs. Scheduling a few jobs is expectedly faster by ascending order, although there were many computational artifacts [5]. Article [7] showed that scheduling 30 to 70 jobs is 1.5 % to 2.5 % faster by de-scending order. However, scheduling up to 90 jobs is expectedly still faster by descending order, although a risk of losing this advantage exists. For the number of jobs between roughly 90 and 250, the ascending job order again results in shorter computation times. Since the point of about 250 jobs, the advantage trend (of either ascending or descending order) appears more stable. Besides, the average relative difference does not exceed 1.5 % for 2 to 1000 jobs consisting up to 17 processing periods. Article [7] also revealed that, for obtaining a statistically reliable computation speed advantage, it is better to consider no less than 250 jobs. However, as either the number of jobs or the number of job parts increases, the computation speed advantage may become unstable and eventually vanish. In the same time, in the case of scheduling at least a few thousand jobs having just a few processing periods each, the ascending job order can save a lot of computational timeafter solving thousands of such cases the saved time may be counted in hours (see computational examples in [7]).
In the case when the jobs have different lengths (i. e., whose number of processing periods varies) studied in [5], the significance of the job order input is much lower than that for the case of equal-length jobs. On average, the descending job order input gives a tiny advantage in computation time. This advantage decreases as the number of jobs increases. The decrement resembles a steep exponential decrease. The factual advantage is so insignificant that even after solving long series of job scheduling problems the saved computational time cannot be counted in minutes, not speaking about hours. Theoretically, the heuristic's efficient job order input does exist but its efficiency can be practically used only by working on extremely long series of scheduling problems where the number of jobs should not exceed 300 [5].
The research is to be finalized with the case when the jobs have different priority weights. This is an extension (continuation) of the cases studied in [7] and [5], where the priorities are not sorted. Now, the influence of the generalized tight-tardy progressive idling-free 1-machine preemptive scheduling on the heuristic's computational times (for both the ascending and descending job order) is to be studied.

Problem statement
The goal is to ascertain whether the job order input is significant in scheduling by using the heuristic for the case of tight-tardy progressive idling-free 1-machine preemptive scheduling with job priority weights. The five following tasks will be fulfilled for achieving this goal. First of all, the principles of the ascending and descending job order inputs are stated, whereupon the heuristic is shortly stated for the case of when the jobs have different lengths and different priority weights. Then, generation of the job scheduling problem instances is stated for this case, whereupon a computational study is carried out for estimating the relative difference between averaged computation times for both the ascending and descending job order. Finally, a conclusion is made on whether the efficient job order input exists for minimizing total weighted tardiness by the heuristic (based on remaining available and processing periods). Besides, the final comparison of the respective results for the three classes of job scheduling problems (total tardiness by equal job lengths [7], total tardiness by different job lengths [5], total weighted tardiness) should be made. These results are to be arranged and the corresponding recommendations are to be formulated.

Principles of the ascending and descending job order inputs
In minimizing total weighted tardiness, the initial data are job lengths, job release dates, priority weights, and due dates [8]. There are two opposite ways to input the data. On one hand, the job release dates are given in ascending order. For N jobs, , without losing generality, the ascending job order input (this is the common way of inputting the data) corresponds to due dates by the respective release date n r of job n , its length n H and a random due date (1) shift with a pseudorandom number ζ drawn from the standard normal distribution (with zero mean and unit variance), and function ψ ξ ( ) returning the integer part of number ξ (e. g., see [1,5,7]). Job n has priority weight n w (which, like the others, is a positive integer). In particular, the release dates can be given in ascending order as follows [5,7]: Strictly speaking, the release dates can be permuted as one likes or needs to satisfy some external condi-tions (obviously, the job processing periods, job priority weights, and due dates are permuted with respect to the release date permutation). Thus, on the other hand, the job release dates are given in descending order as and the descending job order input corresponds to due dates Due date shifts (2) are generated until If simultaneously for the ascending job order input with (3) and (1), then due date shifts (2) are re-generated as well. So, if one of the inequalities in (7) is violated, then the due dates are given properly for the ascending job order input: for the descending job order input with (4) and (5), then due date shifts (2) are re-generated also. If one of the inequalities in (9) is violated, then the due dates are given properly for the descending job order input: Thus, due dates (8) are not given in non-descending order if the job lengths and their priorities have been occasionally generated in non-descending order and in non-ascending order, respectively. This is done so because in the case of when all inequalities (7) are simultaneously true, a schedule ensuring the exactly minimal total weighted tardiness is found trivially, without resorting to any algorithm or model (see Theorem 1 in [9] and [10]). By symmetrical reasoning, due dates (10) are not given in non-ascending order if both the job lengths and their priorities have been occasionally generated in non-ascending order and in non-descending order, respectively: if all inequalities (9) are simultaneously true, an optimal schedule is found trivially as well owing to Theorem 2 in [9] and [10].

The heuristic based on remaining available and processing periods
The basis of the heuristic operating on remaining available and processing periods was firstly introduced in [6] and then developed for minimization of total weighted tardiness in [5,7,11,12]. The heuristic builds stepwise a schedule H . Before the start, Then, for every set of available jobs the remaining available period is and a subset is determined. If Assignment (17) executed by condition (16) for subset (14) implies that, in a case when there are two or more maximal decisive ratios in (14), the earliest job is preferred to be scheduled [7]. Thus, job n is is an approximately minimal total weighted tardiness that corresponds to this schedule.

Generation of the job scheduling problem instances
The jobs having different lengths are randomly generated by a method suggested in [5,11]: with a pseudorandom number υ drawn from the standard uniform distribution on the open interval (0; 1) . So, the job length is randomly generated between 2 and 17 [5,7]. The priority weight of job n is randomly generated in the identical way: When job lengths (19), priority weights (20), and due date shifts (2) are properly generated by some N for the ascending job order input, i. e. inequality (6) holds and at least one of the inequalities in (7) is violated, then an ascending order schedule by job   (3), and due dates (8) for the ascending job order input [5].
At a fixed number of jobs N and for a job scheduling problem instance tagged by an integer c, denote the schedule computation times by ascending order and descending order by τ ( , ) Asc N c and τ ( , ) Desc N c in milliseconds (ms), respectively. If the total number of the instances is , C then the respective averaged computation times for scheduling N jobs are [5] In percentage terms, the relative difference between computation times (23) and (24) is Relative difference (25) will be estimated for = 350 C and = 450 C . Generating more instances will not make the estimation more effective, although even 350 instances at a fixed number of jobs here is superfluous.

Computational study
Just as in articles [7] and [5], the computational study is executed on CPU Intel Core i5-7200U@2.50 GHz using MATLAB R2018a. Relative difference (25) is shown in Fig. 1  indicates a tiny advantage of the descending job order input. It is still uncertain whether such a tiny advantage could be claimed statistically reliable, although running average relative difference whose plot is added to the relative difference polyline appears to stand for the descending job order input (owing to the horizontal zero level line put on the plot). Fig. 2 contains the results of the same computational experiment repeated by another randomizer [13,14]. Now, average relative difference is even lesser than average relative difference (26) by the first version of the computational experiment. However, running average relative difference (27) here appears to be a little bit more persuasive arguing in favor of the descending job order input. The results of the third computational experiment executed for = 450 C are shown in Fig. 3. Here, average relative difference is slightly lesser than average relative difference (28) by the second version of the computational experiment. Running average relative difference (27) here is similar to those in Fig. 1 and Fig. 2 but it still cannot confirm the statistical reliability of that the descending job order input is faster. (the very first interval length is 99). Fig. 4 shows these three versions of the sliding average of the relative difference in Fig. 1, wherein the wider window is marked with a thicker line of a lighter color. Generally speaking, each of sliding averages (32) -(34) seems resembling the exponentially-like decreasing relative difference and its running average by (27). However, the slight advantage (of about 0.5 % to 1.8 %) of the descending job order input quickly vanishes since 400 jobs. Moreover, the advantage, if any, is too slim in scheduling between 400 and 1000 jobs. Fig. 5 showing the three versions of the sliding average of the relative difference in Fig. 2 confirms these doubts: in scheduling between 200 and 800 jobs, the ascending job order input is faster. Finally, the three versions of the sliding average of the relative difference in Fig. 3 shown in Fig. 6 appear disorderly also. Although it seems that some advantage of the descending job order input exists in scheduling up to 100 jobs (owing to Fig. 4 -6), its statistical reliability is not high. Again, these figures reveal that the advantage, if any, is too unstable and unpredictable. As the sliding window becomes wider, the sliding averages over the respective intervals appear more "pressed" to the horizontal zero level line.

Discussion
As the heuristic is extremely fast itself (1000 jobs are scheduled within 150 ms to 170 ms on the computational study's equipment), the real-time difference between the computation times by ascending order and descending order is too tiny. This is why the relative difference between the computation times is so unstable. Another aspect of the heuristic is susceptibility of its algorithm to the processor on which it is executed (the plots in Fig. 1 -6 will likely appear differently when using other operating system and processor). Eventually, the seeming advantage of the descending job order input in scheduling up to 100 jobs is about 0.4 % to 1.5 %, by scheduling 100 jobs within 5.3 ms to 8.6 ms, which can be converted into a real benefit only if a long series of such scheduling problems are solved (on the same equipment). For example, solving a series of 10000 problems with 100 jobs (where each problem is solved by about 8 ms) by the descending job order input relying on its 1.5 % advantage saves just 1.2 seconds. So, the efficiency of either job order input can be practically treated equal.

Conclusions
By using the heuristic for the case of tight-tardy progressive idling-free 1-machine preemptive schedu-ling with job priority weights, the significance of the job order input is much lower than that for the case of jobs without priorities. With assigning the job priority weights, the job order input becomes further "dithered", adding randomly scattered priority weights to randomly scattered job lengths and partially randomized due dates. On average, the descending job order input is believed to give a tiny advantage in computation time in scheduling up to 100 jobs. However, this advantage, if any (being tinier than that in the case of random job lengths without priorities), quickly vanishes as the number of jobs increases.
As a final result, it is better to compose job scheduling problems which would be closer to the case with equal-length jobs without priorities, where the saved computational time can be counted in hours. Even if the job lengths and priority weights are scattered, it is recommended to artificially (manually) "flatten" them, if possible, and then select the corresponding job order input for the heuristic using the description in [7]. When artificial manipulations over job processing periods and job priority weights are impossible, it is recommended to use the descending job order input in scheduling up to 100 jobs, and either job order input in scheduling more than 100 jobs, although substantial benefits are not expected in this case.