Improving N-NEH+ algorithm by using Starting Point method

The N-NEH+ algorithm is one of the most efficient construction algorithms for solving the permutation flow-shop problem with the makespan criterion. It extends the well-known NEH heuristic with the N-list technique. In this paper, we propose the Starting Point (SP) method that employs a new strategy for using the N-list technique. The SP method allows to obtain an algorithm that is a combination of NEH and an N-list-based algorithm. Extensive numerical experiments on the standard set of Taillard’s and VRF benchmarks show that the SP method significantly improves the results (average relative percentage deviation) of the NEH and N-NEH+ algorithms.


I. INTRODUCTION
T HE permutation flow-shop problem (PFSP) is one of the most famous combinatorial optimization problems in the industry. It can be defined as follows: given two finite sets of m machines {M 1 , . . . , M m } and n jobs {J 1 , . . . , J n }, each of which should go through all the m machines in the same order, the goal is to find the ordering of jobs that minimizes the assumed goal function (makespan, total tardiness, flow time, cost, energy consumption, etc.).
The PFSP with makespan criterion, commonly referred to as Fm|prmu|C max [1], which is our main concern, is undoubtedly the most frequently investigated scheduling problem. Garey and Johnson [2] have shown that Fm|prmu|C max is NP-hard if m~3. Therefore, various heuristic algorithms have been developed to solve this problem. One of the most popular algorithms for solving Fm|prmu|C max is the O(n 3 m) NEH construction heuristic proposed by Navaz, Enscore and Ham [3]. Since 1983 NEH has been commonly regarded as the best heuristic for solving Fm|prmu|C max , and many attempts have been made to improve it. Taillard [4] proposed the so-called acceleration technique that reduces the asymptotic time complexity of NEH to O(n 2 m). New criteria were proposed for the initial job classification, e.g., in [5], [6], [7]. The problem of tie-breaking (i.e., how to choose among different subsequences with the same best partial makespan) was considered, e.g., in [8], [9], [10]. One of the most efficient modifications of NEH is the N-NEH+ algorithm recently proposed by Puka et al. [11] which, roughly speaking, combines the NEH heuristic with the N-list technique [11].
This study was conducted under a research project funded by a statutory grant of the AGH University of Science and Technology in Kraków for maintaining research potential.
In this paper, we propose the Starting Point (SP) method that is based on a new strategy of using the N-list technique. The extensive numerical experiments on the standard Taillard's and VRF benchmarks show that the SP method can significantly improve the results of the N-NEH+ algorithm.

II. STARTING POINT METHOD
The general scheme of the NEH algorithm for solving Fm|prmu|C max is presented in Algorithm 1.

Algorithm 1 NEH algorithm for solving Fm|prmu|C max
Initial phase: Sort n jobs in non-increasing order of their total processing time and put them into the initial list of jobs L = {1, . . . , n}. Insertion phase: Schedule the first job and remove it from L for k = 2, . . . , n do Insert the job k in the place that minimizes the partial makespan among the k possible ones Remove job k from the list. end for Ruiz and Maroto [12] compared NEH with 25 heuristics for solving PFSPs and it turned out that NEH performed the best both with respect to the quality of the results and the running time. It is no wonder then that a lot of studies on the improvements of NEH performance have been published in the scientific literature.
One of the most efficient NEH-based algorithms for solving Fm|prmu|C max is the N-NEH+ algorithm [11]. It relies on multiple run of the N-NEH algorithm (see Algorithm 2) that extends NEH with the N-list technique. More specifically, N-NEH+ runs N-NEH for the length of the N-list ranging in the interval [0, N ], where N n 2 1 is the parameter of the N-NEH+ algorithm, and takes the best result of all runs. Let us note that if N = 1 (i.e., the N-list technique is not used) the N-NEH+ algorithm is equivalent to NEH.
The Starting Point method proposed in this paper, presented in Algorithm 3, is based on the following strategy: the first N 2 (N 2 is a parameter of the SP method) steps are performed as in NEH, and the remaining steps are performed with the use of the N-list technique. For example, given a problem with n = 100 and N 2 = 0.2n, the first 20 jobs will be scheduled as in NEH and the remaining 80 jobs as in N-NEH. Initial phase: Sort n jobs in non-increasing order of their total processing time and put them into the list L. Insertion phase: Initialize the partial sequence S = {1}. Initialize the list L N of N candidate jobs and remove the respective jobs from L. for k = 2, . . . n do Evaluate each job in L N , put the best job in the respective place in S and remove this job from L N . if L ; = ' then Append the first job from L to L N and remove this job from L. end if end for Algorithm 3 SP method for solving Fm|prmu|C max Initial phase: Sort n jobs in non-increasing order of their total processing time and put them into the list L. Insertion phase: Initialize the partial sequence S = {1}. for k = 2, . . . , α do Insert the job k at the place that minimizes the partial makespan among the k possible ones. end for Initialize the list L N of N candidate jobs and remove the respective jobs from L.
Evaluate each job in L N , put the best job in the respective place in S and remove this job from L N . if L ; = ' then Append the first job from L to L N and remove this job from L. end if end for For the purposes of this work, the Starting Point method will be denoted as SP(N 2 )N(N ), where N 2 is a parameter of the SP method and N is the length of the N-list. Additionally, SP+(N 2 )N(N ) will be used to denote the method that relies on running SP(n 2 )N(N ) with n 2 ranging in the interval [0, N 2 ]; the result of the SP+(N 2 )N(N ) method is the best result out of all runs. Similarly, SP+(N 2 )N+(N ) will be used to denote the method that runs the SP(n 2 )N(n 22 ) method with n 2 ranging in the interval [0, N 2 ] and n 22 ranging in the interval [1, N ]. Let us note that the SP(0)N-NEH+ algorithm (0 means that the SP method is not used) is equivalent to the N-NEH+ algorithm, whereas SP(N')N+(1) is equivalent to NEH.
Since the optimal solution is not known for some instances, the results obtained by a given algorithm are compared with the best solution known so far. The average relative percentage deviation (ARPD) of an algorithm is given as where I is the number of instances, C max,i is the solution of the algorithm on the instance i, and Best i is the best solution known so far for this instance. Additionally, for many computed instances, the computational effort of the evaluated algorithm is measured by using the average CPU time (ACPU) given as: where CPU i is the CPU time of the algorithm on instance i.
The computational experiments that aim to verify the performance of the SP+(N 2 )N+(N ) method are presented in the next section. The performance of the method is assessed by using ARPD and ACPU measures.

III. COMPUTATIONAL EXPERIMENT
The performance of the SP(N 2 )N+(N ) and SP+(N 2 )N+(N ) algorithms (with Taillard's acceleration) was verified on two benchmarks: Taillard's benchmark with 120 instances [13], and VRF benchmark with 240 Small (S) and 240 Large (L) instances [14]. The algorithm was implemented in C# and all the computations were carried out on a computer with two Intel Xeon E5-2660 v4 CPUs (14 cores, each with 2.0 GHz base clock speed).
The results of SP(N 2 )N+(N ) ( Table I) show that the use of the N-list technique after performing N 2 steps of insertion phase of NEH can improve the results of the N-NEH+ algorithm, i.e., the SP(N 2 )N+(N ) method can outperform N-NEH+. However, if N 2 is too large (N 2 > 0.3n), the probability of obtaining worse results is greater than in the case of N 2 = 0. The most interesting results are obtained for N 2 = 0.1n and N 2 = 0.2n. However, it should be noted that improving the results is not possible for all lengths of the N-list.
The results of SP+(N 2 )N+(N ) ( Table II) show that the greatest decrease in the ARPD values can be observed for smaller values of N 2 . It can also be observed that for N 2 = 0.1n, the average improvement of N-NEH+ results is 5.9% and for N 2 = 0.3n, the average decrease in the ARPD value is greater than 11.6%. For all the considered benchmarks, a regularity regarding the effectiveness of using the SP+(N 2 )N+(N ) method can also be noticed: the longer the N-list, the higher the average percentage decrease in the ARPD value.
From Table III it can be concluded that the larger N 2 , the shorter computational time of the SP(N 2 )N+(N ) algorithm. The computational time also decreases when increasing the length of the N-list. The average decrease in computational time between SP(0)N+(2) (i.e., N+(2)) and SP(0.9n)N+(2) ranges from 14% to 16%, and the average decrease in computational time between SP(0)N+(16) (i.e., N+(16)) and SP(0.9n)N+(16) ranges from 63% to 69%. Table IV shows that the computational time of SP+(N 2 )N+(N ) increases both with N and N 2 , however the increase with N is much faster.
The ARPD and ACPU values are also shown in Figures 1-3, where the y-axis represents ARPD and x-axis represents ACPU (in logarithmic scale) of the SP+(N 2 )N+(N ), NEH     Table V presents the comparison of the APRD and ACPU values of the selected algorithms for solving Fm|prmu|C max (cf. [15]). It is not hard to see that these results confirm the good performance of the SP+(N 2 )N+(N ) algorithm. This means that the new strategy of delaying the usage of the N-list allows to improve the results of N-NEH+ and makes the SP+(N 2 )N+(N ) even more competitive with FRB algorithms [16]. One may argue that in most cases the SP+(N 2 )N+(N ) algorithm is more time consuming than FRB algorithms; however, you should keep in mind that SP+(N 2 )N+(N ) is (unlike FRB) a construction algorithm, and what is more, it allows you to obtain the entire population of solutions, not just one solution as in the case of FRB.

IV. CONCLUSION
This work proposes a Starting Point method that improves N-list technique-based algorithms for solving the permutation flow-shop problem with makespan criterion. The general idea behind the proposed method is to delay the usage of the N-list technique. The extensive numerical experiments on the standard Taillard's and VRF benchmarks show that for both benchmarks the Starting Point method significantly improves the results of the N-NEH and N-NEH+ algorithms. According to the best knowledge of the authors, the analyzed SP+(N 2 )N+(N ) algorithm allows obtaining the best results among the results of existing construction algorithms. It is also worth noting that, unlike the more efficient FRB algorithm (which is not construction algorithm), the SP+(N 2 )N+(N ) 100 1,000 10,000  algorithm can return not just one but multiple complete rankings. This issue is important because the results of the SP+(N 2 )N+(N ) algorithm may be used as the initial population for genetic algorithms. The last important aspect of the SP+(N 2 )N+(N ) algorithm is the ease of parallelization of the computations (e.g., for different values of N 2 and N ). For example, the computation time of SP+(0.3n)N(N ) run is parallel on 4 cores (one core = one N 2 value), is equal to the computational time of N-NEH for the same length of the Nlist. At the same time, the improvement in the ARPD value for different benchmarks ranges from 6.8% to even 17.2%.