Implementation of an efficient parametric algorithm for optimal scheduling on parallel machines with release dates

An original statement and solution algorithms are presented for one of the key problems in the scheduling theory. The problem of optimal scheduling for a parallel system consists in the generation or control of schedules to minimize the schedule length or the losses from schedule disruptions in the completion of jobs on machines. This problem is NP-hard and cannot be solved exactly for any real-life number of dimensions. A series of modifications of the efficient parametric algorithm is proposed to find an approximate solution, which are an extension of a similar algorithm for optimal scheduling on unrelated parallel machines with release dates using the performance criterion (Stakh). Software implementations of the algorithm modifications have been tested on the data of a generating problem by the Stakh criterion; the corresponding statistics is provided.


Introduction
The scheduling problem under consideration for a one-stage system of unrelated parallel machines, as well as its applications, is relatively well known [1][2][3][4]6].
Efficient algorithms have been proposed for solving a series of modifications of the problem [2][3][4]. However, the development of algorithms with acceptable accuracy and speed remains a pertinent unresolved issue for many of the problem modifications.
Specifically, one of the traditional applications of these algorithms is airline operations planning. In this case, planning involves a series of stages, the key ones being: aircraft scheduling, fleet assignment, routing, and crew planning. A detailed review on this topic exists, e.g., in [1]; formal problem statements and main approaches to solving the key problems are discussed in [2] and in numerous publications following individual lines of applied research from among those listed above [2][3][4][5].

Problem Statement for Optimal Scheduling on Parallel Machines with Release Dates
We consider a series of jobs that should be distributed between parallel machines with known (different) completion times to minimize the total time of completion of all the jobs (minimize the completion time for the entire system; or minimize the total costs; or maximize the job quality, measured by some indicator). Preemptions are forbidden.
We also assume that the release dates in the system of parallel machines are known at the initial time. In this case, when assigning jobs to machines, one should take into account the release dates. We designate the release date for job i on machine j as 0 are, respectively, the minimum and maximum number of jobs assigned to machine j. Applying the above notation, the formal statement for the problem of optimal scheduling on parallel machines with release dates is written as follows [7]: , , , ,, 1 where , ij x are variables to be determined, representing the assignment of job i to machine j. The values Conditions (1)-(3) are typical of the job assignment problem. Condition (1) ensures that any job i is assigned to one machine only. Condition (2) ensures that no less than j b and no more than j b jobs are assigned to any machine j. Conditions (5)-(6) calculate the actual delays in the completion of job i by machine j after the completion of the previous job assigned to this machine.
If a schedule quality (or efficiency) criterion, e.g.
exists for constraints (1)- (7), then relations (1)-(8) define a problem of synthesizing performanceoptimal schedules for a system of parallel machines with release dates. Relations (7) and (8)  . We should point out the main difficulties associated with solving problem (1)-(8). These are, primarily, Boolean and continuous variables, recursions in (5) and (7), and knapsack constraints. Taken together, these features put the problem into the class of NP-hard problems of mixed integer programming.

One-Parameter Algorithm to Search for Suboptimal Solutions
Owing to the recursions, DP may well be the only method directly applicable to problem (1)-(8). However, this method is inefficient when applied "as is." An attempt to find an exact solution of (1)-(8) by DP leads to a complete enumeration of all admissible options. One can easily count the total number N of these options. For example, let k be the step number and (2). Then, as shown below, considering that the number of options grows in a geometric progression with DP steps, we have: . Therefore, when applied to problem (1)-(8), DP has greaterthan-exponential complexity and cannot be applied "as is" to problems with any real-life number of dimensions.
To construct an efficient approximate algorithm, we use the general DP scheme with the sifting of the locally worst options at certain DP steps. This approach has been tested by the authors on problems of optimal scheduling on unrelated machines with release dates [2] to show good practical results in terms of accuracy and speed.
We assume that all the jobs 1, iI  for each machine are arranged in the order of the initial release dates (input schedule 0 , ij  ). Then, we use the DP procedure to find the step numbers: . We denote the time when machine j completes job  at step  as , and the conditionally minimal time of completion of all the jobs at steps from 1 to  as The recurrent Bellman relation for this problem is: To achieve the maximum performance by criterion (7) : this parameter specifies the depth of counting at each step, defined as the number of jobs assigned at one step of the algorithm (e.g., if 3   , then at step one, we consider all assignment options for jobs 1, 2, 3; at step two, for jobs 4, 5, 6, etc.). K : this parameter was defined above ( k is the parameters of the 1 P A algorithm); it sets the number of jobs with the locally best system completion time at the current step, which are chosen for the next step. 9. Choose schedule options with the minimum length. Construct the final schedules using the inverse DP procedure. A can be improved using several values of  . Since the computational experiments for different  are independent of one another, we can use all the advantages of modern multicore processors by computations of each  as an independent flow. Since the computing time increases with increasing  (as with increasing K ), other parameters being equal, we can use a dynamic increase in the K parameter for small  . By varying the  and K parameters, we can equalize the end time for all the flows, simultaneously improving the accuracy of the 3 P A algorithm. We use the following notation:  Another conclusion, which lies on the surface, is that the stricter the resource constraints of the problem (here, the job-machine ratio), the greater the advantage of the developed tools near the optimum of the solutions.

Improving Procedures
The computing time for all the tests turned out to be acceptable and, in fact, linearly dependent on the test dimension, which experimentally confirms the efficiency of the algorithms.
These results indirectly indicate the existence of conditions that control the complexity and accuracy of the applied algorithms for optimal scheduling on unrelated parallel machines with constraints on the time of decision-making. Specifically, the accuracy of solutions can be improved by controlling the resource constraints rather than increasing the complexity of the algorithm.

Conclusions
The main results of this work are the development, software implementation, and comparative analysis of modifications of algorithms to search for approximations to optimal solutions of the NP-hard problem of scheduling on unrelated parallel machines with release dates by the Stakh criterion.
Analysis of the test results for software implementations of the algorithms for tests with a close-torealistic number of dimensions allows us to conclude that the developed tools are directly applicable in real-life contexts. These include the control over aircraft assignments and flight schedules for airline companies [1,5], target assignments for missile defense systems, drilling of oil and gas condensate fields [3], and many other problems [6].