Max-Min Processors Scheduling

This paper focuses on the maximization of the minimum completion time on identical parallel processors. The objective of this maximization is to ensure fair distribution. Let a set of jobs to be assigned to several identical parallel processors. This problem is shown as NP-hard. The research work of this paper is based essentially on the comparison of the proposed heuristics with others cited in the literature review. Our heuristics are developed using essentially the randomization method and the iterative utilization of the knapsack problem to solve the studied problem. Heuristics are assessed by several instances represented in the experimental results. The results show that the knapsack based heuristic gives almost a similar performance than heuristic in a literature review but in better running time. 
 


Introduction
Nowadays, it is crucial to reduce manufacturing costs in companies across the world. The machines used in manufactories comprise rare resources because, in general, machines are costly. Thus, the proper distribution of processes is essential from an industrial and financial point of view.
Suitable scheduling that reduces costs in the industrial sectors can help managers make decisions. There is a need to have a system that provides data and information. Several heuristics algorithms were compared for this study, while the first heuristics were based on the randomized algorithms, and the second was based on meta-heuristics. The presented work is focused on improved methods for scheduling problems, which provides an extension to help decision-analytics using methods that help organizations and firms. The scheduling problem has several applications in manufacturing, networks, communication, budgeting, and many more fields. The solutions to these problems affect everyday activities and managers with relevant effects on the public and private domains and largely on all society. Various applications of the studied problem and their scheduling in several areas have been studied. The scheduling problems were used, and a presentation of a wide variety of the distribution of resource models by assigning a mathematical formulation and model to compute optimal solutions to these models was formulated.
In our study, we focus on the maximization of the minimum load machines for the identical parallel machines problem. In several works, researchers use the term "machine covering problem" to describe the same problem. Deuermeyer et al. [5] introduced the machine covering problem. Several definitions for the studied problem and results are described [13].
Different industrial applications implement the solution of the machine covering problem to reduce costs. Moreover, the application of the solution to gas turbine aircraft engine maintenance is developed, and some proposed solutions based on mathematical modeling is presented [9]. Additionally, this research presents the results of the implementation coded in Cplex.
The literature review of the studied problem is not extensive. However, some works related to the covering machine are examined in several cases.
Semi-online scheduling for identical parallel machines and the study of the machine covering problems is presented [22]. Notably, in the latter work an optimal solution with several semi-online versions was developed.
Jiang et al. [17] shew that the offline scheduling version can provide a solution in O(mn). In addition, the latter research shews that the ratio measuring the competitiveness of a randomized online method has several fixed values, for m-uniform-machine and m-identical machine problems.
Other researches articulated the machine covering problem but only on two uniform machines [4], [12], [20] and [21]. Among the more recent works, a specif-ic problem regarding the preemptive scheduling in the case of the semi-online problem was developed [12]. In this work, an exact solution using an algorithm for the semi-online case for every machine fixed speed ratio of s was developed. In addition, the latter study has shown that an idle time must exist when the procedure of the algorithms was assigned for any bounded s.
An improvement of the (2+ε)-competitive algorithm with constant reassignment factor was developed [19]. The main result for the latter work is that for any ε>0, one can maintain a (1+ε)-competitive solution for several constant rescheduled factors r(ε).
Wu et al. [24] focused their research on the machine covering problems on two hierarchical machines, with added constraints, such as tasks that are correspondingly grouped into two hierarchical groups.
A random method was presented for the online problem with a running time of O(√mlnm) [3]. A deterministic algorithm enhanced this recent work with a competitive ratio of 11/6 ≤ 1.834 [6].
Machine covering was also applied with partial information on identical parallel machines [25].
Gálvez et al. [7] presented a theorem that bounded the migration factor for the online algorithms for the machine covering problem with migration. In this context, the latter research shew that there exists, for any ε>0, (4/3+ε)-competitive algorithm with a migration factor O(1/ε 5 ), and an approximation ratio of the local search algorithm in the interval [1.691,1.75] .
Gerke et al. [8] considered a specific problem based on a stochastic variant of the Santa Claus problem.
Recently Walter et al. [23] proposed a new exact algorithm based on the branch-and-bound algorithm to solve the problem of maximizing the minimum. Several enhanced lower bounds and heuristics were also developed in this work. In addition, in the latter work, a comparison study of the results given [11] was developed. The studied problem has several applications in our real-life and is practical. Our study is based on the mathematical modeling of two new lower bounds. The model utilizes the randomized method and the iterative solution of several subset problems.
In this study, we organize the work as follows. In Section 2, we describe the studied problem with exam-ples and provide variable definitions and notations that will be used in the study. The proposed heuristics are presented in Section 3. Section 4 is devoted to the experimental results that shew a comparison between the proposed heuristics and those cited in the literature review. Finally, a conclusion is provided in the last Section.

Problem Definition
In this Section, the definition is presented of the studied problem. This problem can be described as follows. Denoted by J, the set of n independent processes will be scheduled on p identical parallel processors represented by the set {pr 1 ,…,pr p }. Each process j is defined by its processing time, which is denoted by p j . All . p i C denotes the load of the i th processor. The load of a processor is calculated by the summation of all the processing times corresponding to the processes scheduled on the processor. Let j C be the time when the process j finishes its execution. The minimum completion time is denoted by C min . The goal is to determine a suitable schedule that maximizing C min . The problem is denoted by P||C min using the notation described in [10]. This problem has an inextinguishable theoretical interest because the impact of the application in real-life. Indeed, the studied problem van be applied on different domain of application (financial, industrial, computer science, aircraft, health care, railway, etc.) In this work, we present some heuristics to provide a solution to the problem. Example 1. Let n=6 and p=2. We display the processing time for each process in Table 1. Figure 1 presents a schedule to assign the processes on the processors. Table 1 Processing time of 6-processes From Figure 1, we observe that the minimum completion time C min on the processors is 7. The objective is to search a schedule that maximizes the obtained C min .
Here for this example the gap between the first processor and the second one is 18-7=11.
Let n=6 and p=2. We display the processing time for each process in Table 1.   Applying another algorithm can minimize the gap. Let the following schedule ( Figure 2) obtained for the same instance in Table 1.
In Figure 2, the C min =12. Thus, the gap between the two processors is 13-12=1. Comparing with schedule illustrated in Figure 1, the new schedule is better and give a minimum gap by maximizing the minimum completion time.

Figure 2
Maxi-min schedule

Problem Definition
In this Section, the definition is presented of the studied problem. This problem can be described as follows. Denoted by J, the set of n independent processes will be scheduled on p identical parallel processors represented by the set {pr1,…,prp}. Each process j is defined by its processing time, which is denoted by pj. All processes have positive . p i C denotes the load of the i th processor. The load of a processor is calculated by the summation of all the processing times corresponding to the processes scheduled on the processor. Let j C be the time when the process j finishes its execution. The minimum completion time is denoted by Cmin. The goal is to determine a suitable schedule that maximizing Cmin. The problem is denoted by P||Cmin using the notation described in [10]. This problem has an inextinguishable theoretical interest because the impact of the application in real-life. Indeed, the studied problem van be applied on different domain of application (financial, industrial, computer science, aircraft, health care, railway, etc.) In this work, we present some heuristics to provide a solution to the problem.

Example 1
Let n=6 and p=2. We display the processing time for each process in Table 1.

18-7=11.
Applying another algorithm can minimize the gap. Let the following schedule ( Figure 2) obtained for the same instance in Table 1. In Figure 2, the Cmin=12. Thus, the gap between the two processors is 13-12=1.
Comparing with schedule illustrated in Figure 1, the new schedule is better and give a minimum gap by maximizing the minimum completion time.

Heuristics
In this work, several heuristics will be presented. The first one is based on the iterative probabilistic method, and the second is based on the repeating resolution of the subset problems generated from two

Heuristics
In this work, several heuristics will be presented. The first one is based on the iterative probabilistic method, and the second is based on the repeating resolution of the subset problems generated from two processor problems.
This work compares the LPT rule [11] and the proposed heuristics.

Iterative Randomized Heuristic (IR)
The LPT rule is based on the ordering of all processes in the non-increasing order of their processing time.
After that, we schedule the first longest process on the most available processor, and so on. The idea of the proposed heuristic is to extend the selection of the longest process. This implies that we do not select the longest process, but randomly select a process between the two longest processes. A generalization of this idea is to iterate the procedure multiple times. Indeed, the selected process is chosen among k processes having the longest processing time. The choice of the process is given a probability α.
In practice, the probability is calculated as follows. A random number r will be chosen between 1 and k. The selected process will be the process that has the r th longest processing time among the unscheduled processes. When the number of unscheduled processes n u is less than r, we choose r randomly between 1 and n u .
The iterative randomized heuristic is displayed in Algorithm 1.
Step 1 J k =J.
Step 3 Assign the r th longest process L r to the most available processor.
Step 4 J k =J k \L r , if J k ≠ ∅ goto Step 2 Step 5 Calculate Step 6 it=it+1 Step 7 If it<lim go to Step 1 Step 8 Step 9 k=k+1, if k<7 then it=1 and go to Step 1 Step 10 Step 11 Return C min . Stop.

Iterative Knapsack Problem Heuristic (IK)
This heuristic is articulated primarily for the given idea. An upper bound was calculated for the studied problem denoted by UB. After that, we solve a knapsack problem searching the assignment of the maximum processes on the first processor, not reaching the UB value. The resolution of the knapsack problem will give as a set of processes that will be scheduled for the first processor. Now, we apply the same procedure to the remaining processes and search for the processes that will be assigned to the second processor, and so on, until we assign all the given processes.
For this heuristic, a greedy iterative method is adopted to solve a knapsack (KS) family problem KS(l) with l={0,…,p-1}.
time among the unscheduled processes. When the number of unscheduled processes nu is less than r, we choose r randomly between 1 and nu.
The iterative randomized heuristic is displayed in Algorithm 1.
resolution of the knapsack problem will give as a set of processes that will be scheduled for the first processor. Now, we apply the same procedure to the remaining processes and search for the processes that will be assigned to the second processor, and so on, until we assign all the given processes.
For this heuristic, a greedy iterative method is adopted to solve a knapsack (KS) family problem KS(l) with l={0,…,p-1}. where:  J1=J and Jl+1=Jl\Ol, where Ol is an optimal set given by KS(l). Consequently, the algorithm for the iterative knapsack heuristic begins by solving KS(O) to determine a subset of processes J0 where total processing time is maximal but not more significant than the value of an upper bound. These processes will be scheduled on the first processor. Then, the algorithm computes an upper bound on the remaining processes and processors. This is mean that the new problem will be defined by p-1 processors and processset J\J1. Now, the knapsack problem is solved to determine an optimal subset of processes that will be assigned to a second processor, and so on.
The processes that belong to Op=Jp-1\Op-1 are scheduled on the p th processor. Since KS is an NP-hard, we utilize, in our algorithm, the Algorithm 1: Iterative randomized heuristic algorithm Set it=1,k=2. Jk=J.
R=random |Jk|)]. Assign the r th longest process Lr to the most available processor.
If it<lim go to . Consequently, the algorithm for the iterative knapsack heuristic begins by solving KS(O) to determine a subset of processes J 0 where total processing time is maximal but not more significant than the value of an upper bound. These processes will be scheduled on the first processor. Then, the algorithm computes an upper bound on the remaining processes and processors. This is mean that the new problem will be defined by p-1 processors and process-set J\J 1 . Now, the knapsack problem is solved to determine an optimal subset of processes that will be assigned to a second processor, and so on.
The processes that belong to Op=J p-1 \O p-1 are scheduled on the p th processor. Since KS is an NP-hard, we utilize, in our algorithm, the pseudo-code developed in [18], which is based on the resolution of the problem in pseudo-polynomial time using dynamic programming. The iterative knapsack heuristic is displayed in Algorithm 2.
Step 1 For l=0 to p-1 do Step 2 u=UB(J l ,p-l) Step 3 Z l =KS(l), O l is the list returned by KS(l).
Step 4 Schedule O l on processor pr l+1 Step 5 J l+1 =J l \O l

End For
Step 6 Calculate C min value.
Step 7 Return C min . Stop.
Algorithm 2, given above, shows that the iteration while solving several knapsack problems until we schedule all processes on the processors. In practice, we choose the trivial upper bound U 0 cited in [11].

Experimental Results
After the written algorithms to give a lower bound of the studied problems, we show the results returned by the developed heuristics with a statistic analysis. These algorithms were coded using Microsoft Visual C++, then executed on an Intel(R) Core (TM) i7-3337U CPU @ 1.8GHz and 8GB RAM. A set of instances were being generated to test the proposed lower bounds. We list the generating manner of instances from several classes described in [11] and [23]. Indeed, the processing time p j was generated based on two distributions.
The first distribution is the uniform one (U), and the second is the normal one (N  [20,100]. The choice of n,p and Class will fix the number of generated instances. Therefore, the pair (n,p) has several possibilities, as given in Table 2. Table 2 Generation of (n,p) For each triplet (n,p,Class), we generate ten instances of the processing time.
In Table 2, the total number of instances is 2050 instances. To measure the performance of heuristics, we must define some metrics as follows: _ LB: the best heuristic value obtained after running of all lower bounds. _ L: the studied heuristic. Time : the spent time to run heuristic in seconds, and we denote by "-" if the time is less than 0.001 s.
In Table 3, we present the average of the indicators Max, Perc, Agap and Time, for each heuristic over the 2050 instances. As shown in the table, the best heuristic is MSS having 85.3% and an average time 0.340 s compared with IK which has 78.6% and an average time of 0.004s. The advantage of the proposed heuristic IK is that it is faster than MSS, and there exists only a 6.7% difference between them in terms of Perc.  Table 4 shows that the behavior of Gap and Time, according to n. From this table, we can observe that when n is greater than 100, all heuristics are assigned a zero Gap value. This reflects the ease of the problem when the number of processors is less than the number of processes.   The Agap becomes to decrease from n=100. As shown in Figure 3, when n=10000, Agap is less than 0.00003.
Further, Table 5 gives the variation of Gap and Time according to the number of processors. For all heuristics, excluding MSS, the time increases as p increases.
The average Gap of all heuristics, given in the column Total, shows that instances when p≥10 are more difficult to solve because the Agap is not equal to zero. We     Figure 3 shows that Agap decreases when n increase. In addition, the Agap is around 0.01 when n in {10,20,50}. The Agap becomes to decrease from n=100. As shown in Figure 3, when n=10000, Agap is less than 0.00003.
Further, Table 5 gives the variation of Gap and according to the number of processors. For all heuristics, excluding MSS, the time increases as p increases. The average Gap of all heuristics, given in the column Total, shows that instances when p≥10 are more difficult to solve because the Agap is not equal to zero. We observe that, in Table 5, when p is increasing, the running time also increases. This is due to the increasing complexity of the problem.  Table 4 Gap and Time variation according to n observe that, in Table 5, when p is increasing, the running time also increases. This is due to the increasing complexity of the problem. Table 6 shows the behavior of Gap and Time according to Class. For each class, we have 410 instances. Table 6 shows that the classes have almost the same difficulty for all heuristics. A slight difference in IK heuristic and IR. Indeed, for IK the higher Agap is obtained for Classes 1 and 4. However, for IR the higher Agap is obtained for classes 3 and 5.
The results show that more time is consumed for the IR heuristic when n=10000 and p=15 with 84.949 s. The maximum value of Agap is obtained for IK heuristic with 0.05.

Conclusion
In this study, we presented the problem of the maximization of the C min (Max-Min) on the identical parallel processors. The problem is exhibited strong NPhard characteristics. We developed novel heuristics to solve the problem approximately with an acceptable time execution. The first method iteratively solves by randomly selecting the processes having a fixed largest completion time. The second method is based on the utilization of the knapsack problems by dividing the initial problem into several sub-problems and an upper bound as a limit to schedule processes on the fixed processor. The experimental results show that the knapsack-based heuristic gives the same result as the heuristic given in literature review MSS with better processing time.   Table 6 Gap and Time variation according to Class