A discrete Jaya algorithm for permutation flow-shop scheduling problem

Jaya algorithm has recently been proposed, which is simple and efficient meta-heuristic optimization technique and has received a great attention in the world of optimization. It has been successfully applied to some thermal, design and manufacturing associated optimization problems. This paper aims to analyze the performance of Jaya algorithm for permutation flowshop scheduling problem which is a well-known NP-hard optimization problem. The objective is to minimize the makespan. First, to make Jaya algorithm adaptive to the problem, a random priority is allocated to each job in a permutation sequence. Second, a job priority vector is converted into job permutation vector by means of Largest Order Value (LOV) rule. An exhaustive comparative study along with statistical analysis is performed by comparing the results with public benchmarks and other competitive heuristics. The key feature of Jaya algorithm of simultaneous movement towards the best solution and going away from the worst solution enables it to avoid being trapped in the local optima. Furthermore, the uniqueness of Jaya algorithm compared with any other evolutionary based optimization technique is that it is totally independent of specific parameters. This substantially reduces the computation effort and numerical complexity. Computational results reveal that Jaya algorithm is efficient in most cases and has considerable potential for permutation flow-shop scheduling problems.


Introduction
Permutation flow-shop scheduling problem (PFSP) has been proven to be the most popular nondeterministic-polynomial-time (NP)-hard with an extensive engineering relevance (Hejazi & Saghafian, 2005;Rinnooy Kan, 1976). A typical PFSP consists of each job i (i ϵ {1, 2, 3…, n}) to be processed on each machine j (j ϵ {1, 2, 3…, m}) in the same sequence of machines. Each machine can process only one job at a time. The objective is to determine an optimum production schedule which would satisfy the desired objective function under some given constraints (time horizon, limited resources) in a most efficient way. Since the PFSP has a great engineering background, many researchers have proposed several algorithms which can be broadly classified into three categories: exact, heuristic and metaheuristic. Exact methods such as total enumeration, linear programming (Tseng & Stafford, 2008) and branch and bound (Madhushini & Rajendran, 2011) can obtain exact solutions. However, due to computational complexity, they cannot be applied for medium and large size problems. Heuristic algorithms (Nawaz et al., 1983) employ the problem-oriented specific knowledge and some constructive operations to solve the problems. They usually can obtain a nearly optimal solution in a reasonable computational time, while the solution qualities are not satisfactory. However, Nawaz-Enscore-Ham (NEH) (Nawaz et al., 1983) is one of the most effective heuristic and can provide comparable results with meta-heuristics. Meta-heuristic, on the other hand, starts from previously generated solutions and try to improve these solutions by using some strategies with domain-dependent knowledge. Some of the efficient meta-heuristics include genetic algorithm (GA) (Reeves & Yamada, 1998), simulated annealing algorithm (SA) (Osman & Potts, 1989) , particle swarm optimization algorithm (PSO) (Kuo et al., 2009), ant colony optimization (ACO) (Rajendran & Ziegler, 2004), artificial bee colony algorithm (ABC) (Pan et al., 2011), iterated greedy algorithm (IG) (Ruiz & Stützle, 2007), teaching learning-based optimization algorithm (TLBO) (Baykasoǧlu et al., 2014) etc.
Recently it has been found out that mutation of two or more of these meta-heuristics known as hybrid heuristics can be more efficient than being applied in an isolated manner. As a consequence, a lot of hybrid heuristic based algorithms have been investigated by researchers in the past few years and reported that they can improve the performance especially when dealing with real-world and large-scale problems (Engin & Güçlü, 2018;Kuo et al., 2009;Lin et al., 2015;Ruiz et al., 2019;Zhang et al., 2019;Zhao et al., 2018). The performance of all types of approaches discussed above can be judged by three main factors: solution efficiency, computational efficiency, and ease of application. It should be noted that although hybrid heuristics produce most efficient results in less computation time, they become utter complicated due to their hybrid nature as the complexity vary dramatically according to their structure and parameters which in turn makes it problematic to understand and implement.
A new meta-heuristic optimization technique named as Jaya algorithm recently proposed by Venkata Rao (2016Rao ( , 2019 is novel, simple and efficient algorithm to solve both constrained and unconstrained optimization problems. It has been successfully applied by many researchers in various fields of engineering and sciences (Rao, 2019). For instance, Rao and Saroj (2017) applied Jaya algorithm for the economic optimization of the shell-tube heat exchanger and compared the results with the earlier attempts of the same problem using GA, PSO and CSO (civilized swarm optimization). Computational results show the superiority of Jaya over other meta-heuristics. In the thermal area, Jaya finds another application in the optimization of the dimensions of a micro-channel heat sink under two objective functions viz. thermal resistance and pumping power . Experimental results show better performance when compared with TLBO and MOEA (multi-objective evolutionary algorithm).  proposed Jaya algorithm for solving real-life case study of traffic light scheduling problem. Few improvement strategies and a feature based search operator is embedded to obtain the improved optimization results. Jaya showed better results as compared to harmony search (HS) and water cycle algorithm (WCA). Zhang et al. (2016) applied Jaya along with fractional Fourier entropy methodology for identification of tea category under sensitivity measurement.
Jaya also finds its applications in materials and manufacturing optimization processes. One such is the optimization of surface roughness in the surface grinding process . It is found that Jaya yields better results than reported by previous literature using GA, SA, PSO, ABC, ACO, HS and TLBO. A similar problem was addressed by Rao and Rai (2017) in the optimization of process parameters of the submerged arc welding process and results were compared with conventional meta-heuristics. Another application of Jaya exists in the optimization of control parameters for machining (turning) of carbon fiber-reinforced polymer (CFRP) (Abhishek et al., 2017). Jaya algorithm was combined with non-linear regression modeling and fuzzy inference system to optimize the process control parameters including feed rate, spindle speed and depth of cut. These parameters were optimized under three objectives viz. material removal rate (MRR), the average surface roughness (Ra) and net cutting force. Computational results revealed that Jaya has considerable potential in the context of machining performance optimization problems. Few applications of Jaya can also be found in design related problems (Du et al. 2017;Rao & More, 2017). Moreover, Jaya has also received successful applications in the optimization of power transmission and electrical related problems. Singh et al. (Singh et al., 2017) performed design optimization of proportional-integral-derivative (PID) controller for automatic generation control (AGC) using Jaya algorithm. The superiority of Jaya is justified by comparing with particle swarm optimization (PSO), teaching-learning based optimization (TLBO) and differential evolution (DE) algorithms. Huang et al. (2017) applied Jaya algorithm for solving maximum power point tracking (MPPT) for photovoltaic (PV) systems by incorporating natural cubic spline based prediction model (S-Jaya). Simulation results proved the faster convergence of Jaya algorithm for providing higher tracking efficiency.
Based on the review of publically available literature, it seems that Jaya has potential in solving engineering design and non-linear optimization problems. Yet it appears from the literature that it has very limited applications to scheduling problems such as flow shops and job shops. For instance  proposed Jaya algorithm for solving flexible job shop scheduling problems with an objective to minimize the maximum machine workload. The superiority of Jaya is presented by comparing with existing methods. A similar problem was addressed by Guo et al. (2017) considering flexible job-shop rescheduling problem. Buddala and Mahapatra (2017) applied TLBO and Jaya algorithm for optimization of flexible flow shop scheduling problem with objective of makespan minimization. Computational results validate the efficiency of Jaya as compared with other meta-heuristics. Radhika et al. (2016) applied Jaya algorithm for optimization of master production scheduling problem with multi-objective. Jaya produced better results when compared with conventional techniques such as genetic algorithm (GA) and differential evolution (DE). Recently, Mishra and Shrivastava (2018) applied TLBO and Jaya algorithm for flow shop scheduling problem with an objective to minimize the sum of work-in-process (WIP) inventory holding and tardiness costs. Computational results reveal the effectiveness when compared with the existing heuristics. However, the results were not compared with public benchmarks.
It is a well-known fact that apart from design and non-linear optimization problems most of the developed meta-heuristics are supposed to provide effective solutions for complex combinatorial optimization problems as well especially when dealing with flow shop scheduling problems. Secondly, the specialty of Jaya algorithm is that unlike any other optimization technique such as GA, SA and PSO it is a parameterless algorithm (free from algorithm-specific parameters) and contain only two common control parameters (population size and a number of generations) which make it very easy to understand and implement. Based on this motivation, we apply Jaya algorithm to permutation flow-shop scheduling problem. The performance of Jaya algorithm on flow shop can also give an idea for its possible scope in solving other scheduling problems. The objective is to minimize the maximum completion time i.e. makespan. In order to make Jaya adaptive to solve flow shop, a random priority is assigned to each job in permutation sequence. Then the largest order value (LOV) rule is utilized to convert job priority vector to job permutation vector. Jaya algorithm is compared with many benchmark problems and efficient heuristics available in the literature. The methodology, application and effectiveness of Jaya algorithm for PFSP are explained in the proceeding sections.
The rest of the paper is organized as follows: In section 2 we describe the objective function and the implementation of Jaya algorithm to PFSP with an illustrative example. Section 3 shows the parameter estimation, comparison of results and discussions followed by section 4 with conclusions and future extensions.

A brief introduction of Jaya algorithm
Jaya algorithm is based on the principle that the solution to the given problem should move towards the best-known solution and goes away from the worst solution. The steps involved in the application of Jaya algorithm are briefly summarized as follows:- Initialize number of design variables, population size and termination criterion  Identify the worst and the best solution in the population  Modify the design variable of other solutions based on the best and the worst solution according to equation (1)  Compare the updated solution from the previous solution. If the updated solution is better, replace it otherwise keep the older one.  Report the optimum solution where,

Description of the objective function for PFSP
A typical flow-shop scheduling problem consists of job 1,2,3 … , to be processed on machine {1,2,3 … , }. Each job must visit each machine in the same sequence. The objective is to obtain an optimum production schedule of jobs which would minimize the total completion time (makespan). Let Ci,j,k be the completion time of job i on machine j in schedule k. Therefore the completion time can be defined as: In the above equations, pi,j,k, represents the processing time of job i on machine j in schedule k. is the maximum completion time (makespan) of k th schedule and * represents the schedule with minimum makespan.

Implementation of Jaya algorithm to PFSP
The implementation of Jaya algorithm for permutation flow-shop scheduling problem (PFSP) is described in the following steps.
Step 1: -Initialize population size i.e. number of schedules (NP), decision variables i.e. number of jobs (n), and termination criterion i.e. generation number (GEN) Step 2: -Create a job priority vector, Ψ k,l = { , , , 2,k,l , … , i,k,l , … , , , }, where Ψ , is an ndimensional vector which represents the sequence of jobs in the k th schedule at l th iteration and , , is the priority assigned to an i th job in the k th schedule at l th iteration. The priority is randomly generated with uniform random number distribution as per the Eq. (7). i,k,l =1+rand(0,1)×(n-1) Step 3:-Convert the job priority vector (Ψ k,l ) into job permutation vector (Θ k,l ) by Largest Order Value (LOV) rule, i.e. jobs are arranged in non-increasing order of their prioritys ( , , ). Therefore Θ , = { θ j,1,k,l , θ j,2,k,l , … , θ j,i,k,l , … , , , , }, where , , , is j th job placed at i th position in k th schedule at l th iteration.
Step 4:-Calculate the makespan (πmax,k,l) for each permutation sequence (Θ k,l ). Compare the πmax,k,l value of each schedule with the corresponding πmax,k,l-1 value obtained in the previous iteration and update the better solution (In case of the very first iteration, directly go to step 5).
Step 6: -Update the prioritys of all priority vectors based on the prioritys of Ψ , & Ψ , as per Eq. (8) Step 7: Convert the updated priority vector into job permutation vector and identify the makespan of the new schedules obtained (as per step 3 and 4).
Step 8: -Compare the makespan values of new schedule with the corresponding previous schedule and update the better solution (replace or retain the schedule with minimum makespan).
Step 9: -Repeat the above steps until the termination criteria are satisfied.

Illustrative example
Let us consider an eight job three machine problem. The processing times of jobs are given in Table 1. Let the size of the population be 5. The solution steps for calculating makespan is represented in Fig. 2.
In step 1 the initial job priority vector is created using equation 7. Now each priority vector is arranged in a non-increasing order of their priorities and the corresponding job permutation vector (Θ k,l ) is retrieved as shown in steps 2 and 3. For each job permutation sequence, makespan (πmax,k,l) is calculated.

Modify the solution based on the best and the worst solution, ' i,k,l = i,k,l + r 1,i,l * ( i,k,lmini,k,l )r 2,i,l * ( i,k,lmaxi,k,l )
of new max,k,l π Is sequence is less than previous one?

Keep the previous sequence Accept the new sequence
Is the termination criteria satisfied?

Report the final schedule with minimum makespan (π * )
As shown in Fig. 2, sequences 1 and 2 have minimum and maximum makespan respectively. Therefore, the priorities of priority vectors 1 and 2 will be assigned as i,k,lmin and i,k,lmax respectively. Now the priorities of each priority vector are updated (Step 4) using equation 8 and the corresponding new job permutation vector is obtained (Step 5). The makespan of each schedule in new job permutation vector is compared with the corresponding value in old one and the better solution is retained (Step 6). This completes one iteration. In the next iteration, compare the current solution with the previous solution and update the better solutions accordingly. After the termination criteria is satisfied, the near-optimal solution is reached.

Computational results and comparisons
In this section, we determine the estimation of parameters and evaluate the performance of Jaya algorithm by comparing the results with some classical and some efficient heuristics for the PFSP problem. Moreover, Jaya is coded in Matlab 8.6.0 and experimental results are analyzed on a 3.25 GHz i5-4570 processor. The performance of Jaya algorithm, is evaluated with three standard benchmarks viz. Carlier's benchmarks (Carlier, 1978) , Reeves and Yamada's benchmarks (Reeves & Yamada, 1998) and Taillard's benchmarks (Taillard, 1990) . These benchmarks have been widely used by many researchers to demonstrate the performance of PFSSP problems. Secondly, perhaps Jaya algorithm is not yet applied for PFSP in an isolated or any hybridized form, therefore we attempt to select some classical algorithms and some recent heuristics to evaluate our results. Moreover, we do not recalculate or reproduce the results obtained by other algorithms and accept the actual results from the literature.
In order to measure the effectiveness and accuracy of Jaya algorithm, ten independent runs are carried out for each problem set and three performance measures as shown in equations (9)-(11) are calculated. * represents the best solution obtained by the aforementioned benchmarks, Sbest and Sworst denotes the best and the worst solutions respectively obtained by the algorithms. Si denotes the solution obtained at an i th run. BRE is the best percentage relative error to * , ARE is the average percentage relative error to * , WRE represents the worst percentage relative error to * and k is the number of runs.

Estimation of parameters
Jaya algorithm, as aforementioned, consists of only two common control parameters: population size (NP) and generation number (GEN). The value range of these parameters are set as: ,100,150,200 and 250}, ∈ {500, 1000, 1500, 2000, and 2500}. Hence, a total of 25 combinations of {NP, GEN} are taken and for each set, 20 independent runs are carried out.
To evaluate the experimental results, two problem sizes of 50 jobs × 20 machines and 100 jobs × 20 machines are taken from Taillard's problem set (Taillard, 1990) and experimental results are analyzed by Analysis of Variance (ANOVA) method. The results were found significant with p-value < 0.05 (95% confidence interval) for both the parameters. Fig. 3 and Fig. 4 show the mean plots of ARE values for NP and GEN for the two problem sizes respectively. In Fig. 3 and Fig. 4 it is seen that for both the problem sizes, the optimum possible set could be {NP, GEN} = {200, 1500}.

Comparisons with various algorithms
In this section, we evaluate the performance of Jaya algorithm with Carlier's benchmark set (Carlier, 1978) and Reeves and Yamada's benchmark set (Reeves & Yamada, 1998). The efficiency of Jaya algorithm is compared with the following efficient meta-heuristics available in literature:  Hybrid Genetic Algorithm (HGA) by (Wang & Zheng, 2003).
 Hybrid Backtracking Search Algorithm (HBSA) by (Lin et al., 2015). Fig. 3. ARE mean plots of parameters for 50×20 problem size (a) GEN factor (b) NP factor (95% confidence interval) (a) (b) Fig. 4. ARE mean plots of parameters for 100×20 problem size (a) GEN factor (b) NP factor (95% confidence interval) The BRE, ARE and WRE values of all these algorithms shown in Table 2 and Table 3. From tables 2 and 3 it can be seen that Jaya algorithm has produced efficient results for all these benchmarks. Fig. 5 depicts the mean plots of ARE and BRE values of various algorithms under 95% confidence interval. In Fig. 5(a) we see that in terms of ARE, Jaya outperforms TLBO, HPSO and HGA and fairly comparable with HDE and HBSA. Similarly, the BRE value ( Fig. 5(b)) of Jaya is less than TLBO and equally proportionate with other algorithms. This gives us an idea Jaya seems to be efficient and have considerable potential to solve permutation flow shop scheduling problem.  11×5 7038

Comparisons with Taillard's benchmarks
The performance of Jaya is also compared with well-known Taillard's benchmarks (Taillard, 1990) . Hybrid Particle Swarm Optimization (HPSO) by (Kuo et al., 2009) and TLBO by (Baykasoǧlu et al., 2014) are considered for comparing results with Jaya algorithm. Table 4 shows the minimum, maximum and average values of makespan obtained by various algorithms. Table 5 presents the ARE values obtained by HPSO, TLBO and Jaya. As we can see that the ARE values of Jaya are better than TLBO and comparable with HPSO. Above all, we come to our final outcome that for all three well-known benchmarks, the results obtained by Jaya algorithm for permutation flow-shop scheduling problem seems plausible when compared with other efficient heuristics and hence this algorithm can be considered as amenable and exhaustive to discrete combinatorial optimization problems.

Conclusions and future extensions
In the present study, we test the performance of recently proposed, simple and efficient meta-heuristic optimization technique named Jaya algorithm for permutation flow-shop scheduling problem for the first time in literature. The uniqueness of the proposed algorithm as against other common meta-heuristics is that it does not require turning of algorithm-specific parameters. The objective is to minimize the makespan (maximum completion time). To obtain a job permutation vector largest order value rule (LOV) is utilized. The results are analyzed on well-known public benchmarks and compared with the efficient heuristics available in the literature. Computational results reveal the effectiveness of Jaya algorithm. An extensive experimental work is carried out in order to explore the potential of Jaya algorithm for solving permutation flow shop scheduling problems. It has been investigated that performance of Jaya on flow shop scheduling problems can give an idea about its possible applications to other discrete combinatorial problems. Further research in the proposed study can be extended in the following directions. Firstly due to simplicity in its application, Jaya algorithm can be hybridized or modified with other algorithms in order to achieve more efficient results. Secondly, it can also be applied to other complex shop floor problems such as parallel flow-shop, flexible flow shop, open shop, twostage flow shop etc. considering maintenance and quality effects.