Abstract
Firefly algorithm (FA) is one of the most recently introduced stochastic, nature-inspired, meta-heuristic approaches that have seen countless applications in solving various types of optimization problems. The major source of inspiration leading to the development of FA is the phenomenon of light emission by fireflies that attract other fireflies for their potential mates. All the fireflies are unisexual and attract each other according to the intensities of their flash lights. Higher the flash light intensity, higher is the power of attraction and vice versa. For solving optimization problem, the brightness of flash is associated with the fitness function to be optimized. The firefly algorithm is advantageous over other optimization algorithms due to its flexibility, simplicity, robustness and easy implementation but a major drawback associated with the standard FA applied for solving different optimization problems is poor exploitation capability when the randomization factor is taken large during firefly changing position. This poor exploitation may lead to skip the most optimal solution even present in the vicinities of the current solution which results in poor local convergence rate that ultimately degrades the solution quality. To overcome this problem, the crossover operator of genetic algorithm (GA) is incorporated into firefly position changing stage that results in better exploitation capability which improves the local convergence rate resulting in better solution quality. The performance of the proposed approach has been compared with standard FA, GA, artificial bee colony (ABC) and ant colony optimization (ACO) algorithms in terms of convergence rate for various types of minimization and maximization optimization functions.
Keywords
Background
One of the most recently artificial intelligence (AI) techniques is swarm intelligence (SI) that has attracted the attention of researchers for the last few decades. All the techniques coming under the umbrella of SI are used for solving different types of optimization problems [1]. The major source of inspiration for the SI techniques is the collective behavior of different types of swarms e.g. bees, termites, ants, school of fish and flock of birds. For keeping a strong inter-connected and coordinated system among the swarms, the individuals making the swarm play the most vital role. But, in order to achieve different types of complicated goals and perform various complex activities, a decentralized system is developed by these individuals that contribute their part in keeping the coordination and inter-communication strong. All these participating individuals establish a very strong communication system for assisting the whole system in achieving different types of sophisticated goals e.g. making nets, searching food, migrating from one location to another location and keeping themselves safe in the dangerous situations. A well-managed and mutually understandable coordinated system is maintained for achieving these goals.
In order to keep this coordination system strong, two phenomena namely exploration and exploitation are used by the individuals of the swarms when performing activities in a group-wise manner. Exploration means collecting new information whereas the exploitation means using the existing information for communication among different individuals of the swarms to better manage their coordination. These two phenomena are used by SI techniques when defining solution search space during solving optimization problems. The exploration is the discovery of new solutions by widening the solution search space whereas the exploitation means focusing on so far discovered solutions to avoid missing optimal solution present around the present solutions.
The process of exploitation is used to focus more on the local solutions whereas the exploration is used for focusing on global solutions. During solving the optimization problems, the exploration is the process of increasing the solution search space to bring variations in the values of optimization function (collecting new information) whereas the exploitation means focusing on the so far found solutions to check all the nearby solutions to enable the search space to not skip the most optimal solution present in the local solution search space (using the existing information). A trade-off is required between the exploration and exploitation during finding solution of the optimization problems [2]. The self-organized and decentralized approach in swarm intelligence was first introduced by [3] for optimization purpose in cellular robotic system and since then this idea has seen many applications in different areas e.g. load balancing, finding solutions for optimization problems, routing in mobile networks and many other areas.
There are many SI techniques that have been developed for solving various types of optimization problems. Examples of these algorithms include ant colony optimization (ACO) [4], particles swarm optimization (PSO) [5], artificial bee colony (ABC) [6]. Some recently SI algorithms developed for solving optimization problems include clustering algorithms [7], cuckoo search algorithm; krill herd algorithm [8], bat algorithm [9] and firefly algorithm [10]. Different SI techniques are also used in combination with other AI algorithms to target specific functionalities of AI approaches. For example, [11] applied PSO to optimize parameters for support vector machine used in freight volume prediction. Ref. [12] used FA to optimize weight for multi-layer perceptron applied for wind speed prediction. Similarly, [13] applied FA to use in combination support vector machine used in forecasting of field capacity and permanent wilting point.
Standard Firefly Algorithm (FA)
Xin-She Yang introduced the FA for the first time who was inspired from the light emission capability of fireflies which is the primary source of communication among different fireflies to achieve different goals e.g. reproduction and food search [10]. In order to solve optimization problems, Xin-She Yang associated the intensity of the light emitted by fireflies with the objective function to be optimized. According to physics rules of light, the intensity of the light emitted by firefly, I (r), at distance r from the firefly can be observed by Equation (1):
Where I o represents the light intensity generated at the light source. If γ is the absorption coefficient of the medium, then the light intensity I, at distance r is given by the Equation (2):
Where, r represents the distance between source of light and the light observation point. This light intensity can be associated with the attractiveness between the fireflies in FA which is given by Equation (3):
Where β o represents the attractiveness at distance r = 0. The distance between two firefliesx’i and yj called as Euclidian distance is given by Equation (4):
In each generation, the position of firefly can be changed according to the following Equation (5):
Where γ represents the parameter of randomization, ɛ represents random number generated in Gaussian distribution. The parameter of randomization is used to control the solution search space.
In order to improve the performance of standard FA, many modifications have been introduced by different authors and it has also been used in hybridization with other optimization algorithms. This section elaborates the recent work that has been carried out for modifying FA or hybridizing FA with other optimization algorithms. The performance of the firefly algorithm depends upon two main factors namely the attractivenessf’ormulation and variations in the intensity of light of fireflies. These two factors are targeted by the researchers to bring improvements in the performance of the algorithm. For example, some modifications were made by [14] in the random movements of some fireflies if there is no significant improvement in the solution quality for some generations. A set of uniform random vectors is generated for improving the position of the brightest firefly and it is moved towards the best performance direction. The brightest firefly possesses the property of elitist solution because the solution is not replaced by the best solution in the current iteration if the best solution in the current iteration has lower fitness value.
For balancing the exploration and exploitation of the standard FA, [15] applied tidal force formula to bring modifications in the operation of the FA. The proposed approach is based on the gravitational effects of one massive body on the other massive body. The tidal force is a situation in which one body is dependent on other bodies. For achieving the global minimum with a less number of iterations, the authors embedded the tidal force phenomenon in the standard FA framework. The tidal force was formulated in firefly operations when handling the objective function. Random uniform distribution in less and more dimensions was used for determining the direction of movements of fireflies. For exploration of the solution search space, the whole solution search space is searched and the minimum value is found. Similarly, [16] developed an enhanced model of FA for optimizing weights and biasness values for the artificial neural network (ANN) to improve the performance of ANN. The authors introduced modifications in the tuning of attractiveness parameter of the standard FA. The mouse/gauss map was used as chaotic map for tuning the parameter for enhancing the capability of the standard FA and the performance of the standard FA was significantly improved by the introduction of mouse/gauss map for attractive parameter tuning.
A modified version of standard FA was proposed by [17] for finding optimal values of multilevel threshold for image segmentation. Three objective functions namely minimum cross entropy, between class variance method and kapurś entropy were optimized by the proposed modified FA. In the proposed model, the initial population in the standard FA was generated by using chaotic map. During firefly position changing stage, the authors embedded the global search method of PSO for further improving the efficiency of the standard FA. In the same manner, [18] modified the basic working mechanism of FA for making it more suitable for multi-objective optimization problem in big data. For introducing more diversification in the solution quality by improving the exploration of the solution search space, the authors used the crossover operation used in the differential equation. The authors used two objective functions to be optimized by the proposed modified FA model.
Similarly, [19] introduced an enhanced version of FA to improve its convergence rate. For improving the performance of the FA, the authors have embedded the attractive function of Mantegnaś algorithm inside standard FA. The randomness of the standard FA during finding solution is reduced by implementing Levy flight that improves the solution quality. Ref. [20] modified the parameter tuning and the updating strategy of standard FA to improve its solution quality. The exploration and exploitation procedure of the FA was modified by introducing absorption coefficient and adaptive randomness during firefly position changing stage. Instead of fixes randomness, the proposed approach used adaptive randomness in which the values of randomness change in each iteration. Similarly, [21] enhanced the exploration and exploitation of standard FA by introducing implicit firefly movements instead of random movements by fireflies during firefly position changing stage. During each iteration, the movement of fireflies is based on implicit backward Euler movement instead of randomly moving the fireflies.
Ref. [22] improved the optimization capability of conventional FA by incorporating various components of metaheuristic approaches in its standard operation. The various metaheuristic components embedded in standard FA included logistic and mouse/Gauss chaotic map, Levy flight and adaptive inertia weight. All these components were applied for various purposes e.g. initial solution generation, parameters updating and exploration and exploitation balancing. Likewise, [23] explored the effects of different control parameters on the performance of the standard FA and proposed an adaptive control parameter FA in which the control parameters of the standard FA possesses the nature of adaptability to improve its solution quality. Although, all of these authors have tried to introduce some modifications in the operation of standard FA but failed to significantly improve the performance of the FA due to poor exploitation capability of FA during firefly position changing stage.
In addition to modified versions of FA, the solution quality of conventional FA is improved by balancing the exploration and exploitation by using FA in combination with other optimization algorithms. For example, [9] hybridized the firefly algorithm with the eagle search strategy (ES), which is a type of new meta-heuristic search algorithm inspired by the foraging of eaglesb’ehaviors. The phenomenon behind the eagle search strategy is to catch the prey as efficiently as possible when it is seen. The eagle search consists of two components namely intensive local search and random search. In the proposed algorithm, the firefly algorithm was applied for local search and random search was performed using Levy flight. Ref. [24] used a hybrid approach of firefly algorithm with the differential equation for improving the searching accuracy and information sharing among different fireflies. Based on the fitness of fireflies, all the fireflies were divided into two subgroups. In the first group, the operators of the conventional firefly algorithms were applied where as in the second; the operators from the differential equations were applied.
Ref. [25] proposed a hybrid model of FA and pattern search for solving optimization problem of estimation of electrical circuit parameters for enhancing the performance of energy systems. The authors of the approach are in the opinion that FA is quite efficient in solving the optimization problems where more exploration of the solution search space is required for finding the most optimal solution. But, in order to improve the exploitation capability of the FA, some other algorithms have strong exploitation capability should be used in combination with standard FA. Therefore, they combined pattern search with this as the local optimizer to improve the exploitation capability that ultimately results in high quality solution.
Ref. [26] hybridized quantum evolutionary algorithm (QEA) with the standard FA for solving quality of service multicast routing problem. In their proposed model, the evolutionary equations of quantum algorithm were replaced by the evolutionary equation of FA. Based on the hybridization of QEA and FA, two approaches were proposed. The first one named FAQEA1, consisted of evolutionary equation of FA integrated into the operators of QEA. The second one named FAQEA2 consists of replacement of evolutionary equation of QEA by the evolutionary equation of FA. A hybrid model of FA and gravitational search algorithm (GSA) was proposed by [27] for solving task scheduling problem. The objective function was the cost associated with each virtual machine and there were different input parameters. The first step was to associate the input parameters with the fireflies and the cost with the light intensity of fireflies. The firefly with least cost is considered as the best firefly. After a fixed number of iterations, the best firefly is found out.
For parameterséstimation in the micro grid, [28] proposed a hybrid model of FA and harmony search. For ensuring the faster convergence and endeavor the less randomization used in the standard FA, the diversification of the solution search space was increased by introducing the harmony search algorithm. For decreasing the searching delay in the local optima, exponential decay bandwidth and the linear incremental adjustment rates were considered in the hybrid model. For optimizing the parameters for the machining process, [29] developed a hybrid model of FA and PSO. The authors used FA for exploitation and the PSO for exploration of the solution search space. The results obtained were compared with standard FA and PSO in which the proposed approach outperformed both. In the same manner, [30] developed a hybrid model of FA and PSO to eliminate few drawbacks of standard FA by using PSO. Initially, the population was divided into two sub population with one assigned to FA and the other to PSO. In the second phase, the solution search space is divided into many mall sized regions which are used to help the current solution in finding the most optimal solution. Lastly, the exploitation capability of the FA is improved by introducing Quasi Newton method.
Similarly, [31] hybridized FA with ABC to improve its exploration and exploitation capability. The standard FA is incorporated in scout bee phase of the ABC algorithm to improve its solution quality. Likewise, [32] hybridized FA with PSO for solving complex numerical optimization problems. The author eliminated the drawbacks of both the SI algorithms and developed a hybrid model that can be used to solve complex optimization problems. For optimizing the dynamic quantities of four bar mechanism, [33] developed a hybrid model of Cuckoo search and FA. During searching of nests, the FA position changing is embedded into the cuckoo search algorithm to improve its searching process.
Motivation
For quantitative and qualitative measurement of solution search space, the meta-heuristic algorithms use two terms namely exploration and exploitation. Exploration is used for bringing diversification in the solutions of the problem which in turn expands the solution search space to cover solutions with more differences. On the other hand, exploitation is used to contract the solutions of the problem by keeping less difference among different solutions in the solution search space. In its simplest form, the exploration means globalizing the solution search space whereas exploitation means localizing the solution search space [34]. For better performance of the optimization algorithms in terms of solution quality, these two properties must be balanced. If the solution search space is highly explorative and poorly exploitative, then the difference between the solution of the previous iteration and the current iteration will be high and the best optimal solution can be missed during iteration which could be obtained with less difference between the solutions. In each meta-heuristic algorithm, the process of searching the solution depends upon the balancing between exploration and exploitation [35].
FA is also meta-heuristic in nature which means that there is a trade-off between the exploration (Finding new search space) and exploitation (Finding solution in local search space), which may lead to slow convergence rate that ultimately results in low quality solution. Different variants of FA and hybridization of FA with other optimization algorithms have also been proposed for balancing the relationship between the exploration and exploitation to solve various types of optimization problems but there is still much room for improvements.
Proposed Method
Problem statement
The standard FA operates in three major stages namely initialization stage, firefly position changing stage and lastly, the termination stage. The initialization stage is used to provide the starting solution search space for the algorithm to proceed. The firefly position changing stage is used for updating the solutions provided by the initialization stage to update the solution search space in each iteration. The termination stage is used to end the process of optimization by getting the most optimal solution or the maximum number of iteration is reached. For updating the solution search space during firefly position changing stage and controlling the boundaries of the solution search space of the optimization problem, the randomization factor Îś, outlined in equation 5 plays the most important role. This factor plays two major roles in establishing the quality of solution in the solution search space i.e. finding new solutions (diversifying the solution space, exploration) and focusing on so far found solutions (exploitation). These two properties must be balanced for a successful search of the most optimal solution. If the solution of the problem is not improved during each iteration, then the exploration and exploitation properties are not balanced resulting in the low quality solution. If this factor is taken large, the solution search space will be highly explorative and poorly exploitative that leads to skip the most optimal solution present around the current solution.
Conceptualization
In our proposed approach, this problem is resolved by introducing genetic algorithm operator named crossover operator in the firefly changing position which will improves the local search space resulting in high quality solution to the problem considered. The flow chart of the proposed approach is shown in Fig. 1. The implementation of GA inside the FA involves few technical steps. The standard FA consists of fireflies whereas the standard GA has the concept of genes and chromosomes. To embed GA operators in FA, the first step is the representation of FAś fireflies by GAś chromosomes. Each firefly of FA becomes chromosome in GA and all the fireflies of FA represent the chromosomes of the population. To implement the crossover operator, the genes in the newly created chromosomes are interchanged according to ratio specified in the experimental setup. After these operations are performed on chromosomes, the fitness values of the optimization functions are evaluated. If the fitness value of the optimization functions is the required value, then the algorithm terminates otherwise the chromosomes are replaced by the fireflies in the next iteration and the process repeats until the maximum number of iteration reaches the termination criteria is met. Pseodocode for the proposed approach is shown in Algorithm.

Data flow diagram of proposed approach.
In Fig. 1, itr means iteration whereas Maxitr means maximum number of iteration.
In order to give an understandable and conceptual mathematical representation to the proposed approach, the flow of both FA and GA must be clear enough. The working mechanism of FA has been already presented in the previous sections and this section will first give the flow of standard GA and then the mathematical representation of the proposed method.
GA working mechanism
GA is a search and optimization evolutionary algorithm that follows the genetics and natural selection principles described in details by [26]. Genetic algorithm is applied in the optimization problems where the search space is very large. Genetic algorithm uses an initial population of individuals for making a population of high quality individuals in which each individual represents a solution of the problem to be solved. The individuals are called chromosomes and their basic structural unit is gene. The value of fitness function (The function that needs to be optimized) associated with each chromosome determines the quality of fitness of each chromosome. There are some parameters of genetic algorithm that affect the performance of the algorithm according to different problems. These are: fitness function selection, individual representation, and the values of genetic algorithm parameters e.g. cross over, mutation rate, and population size and fitness value threshold. The process of optimization using genetic algorithm takes place in steps shown in algorithm 1. In this algorithm, Pop is population size, CR is crossover rate, MR is mutation rate, PR is probability ratio, Maxitr is maximum iteration, FV represents fitness value, F1, F2, F3, Fn (the value of each function represents fitness value associated with each chromosome) represent the optimization functions and X1, X2, X3, Xn represent the variables present in the optimization functions (Each variable represents gene and all the variables collectively represent chromosomes). In our case, we have considered the following parameters and their values. The initial population selected was 100; one-point cross-over was performed with the mutation rate as 0.1% and the probability of 0.9%. When the genetic algorithm optimization process completed, the optimal values of the optimization functions were obtained by selecting the best fitted chromosome. The algorithm was run for 200 generations and stops in two cases; either the maximum generations reach or there is no significant change in the value of fitness function. F1, F2, F3, Fn (the value of each function represents light intensity value associated with each firefly) represent the optimization functions and X1, X2, X3, Xn represent the variables present in the optimization functions (all the variables collectively represent fireflies).
Genetic Algorithm
Genetic Algorithm
The basic operational procedure of conventional FA is stepwise represented in Algorithm 2.
Firefly Algorithm
Firefly Algorithm
Let Ch1 to Chi represent chromosomes in the population of GA and g1 to gj represent genes in each chromosome of the population, then the whole population in the GA can be represented as: Ch1 = [g11, g12, g13, g14, g1j] = f (Obj1) Ch2 = [g21, g22, g23, g24, g2j] = f (Obj2) Ch3 = [g31, g32, g33, g34, g3j] = f (Obj3) Ch4 = [g41, g42, g43, g44, g4j] = f (Obj4) Ch5 = [g51, g52, g53, g54, g5j] = f (Obj5): Chi = [gi1, gi2, gi3, gi4, gij] = f (Obji)
In these notations, f (Obj1) to f (Obji) represents the value of objective function associated with each chromosome of the population. Now, let f1 to fi represent fireflies in the FA population and p1 to pj represent position of each firefly in the population, then the whole population of the FA can be represented as: f1 = [p11, p12, p13, p14, p1j] = I (1) f2 = [p21, p22, p23, p24, p2j] = I (2) f3 = [p31, p32, p33, p34, p3j] = I (3) f4 = [p41, p42, p43, p44, p4j] = I (4) f5 = [p51, p52, p53, p54, p5j] = I (5): fi = [pi1, pi2, pi3, pi4, pij] = I (i)
In these notations, I (1) to I (i) represent the light intensity associated with each firefly in FA population.
The first logical operation in the proposed modal is the assignment of fireflies of FA to chromosomes of GA in which each firefly of FA is represented by chromosome of GA and the value of objective function of GA is represented by light intensity of FA. This is achieved by following operation: Ch1 = f1, f (Obj1) = I (1) Ch2 = f2, f (Obj2) = I (2) Ch3 = f3, f (Obj3) = I (3) Ch4 = f4, f (Obj4) = I (4) Ch5 = f5, f (Obj5) = Iss (5): Chi = fi = > f (Obji) = I (i)
Here, the light intensity of FA is represented by the objective function in GA. The next stage is applying crossover operator in the newly generated population. The crossover operator is logically represented as: Ch1 > < Ch2 (Crossoveratposition1) Ch1 = f1 = [redp21, p12, p13, p14, p1j] = f (Obj1) Ch2 > < Ch4 (Crossoveratposition3) Ch2 = f2 = [p21, p22, redp43, p24, p2j] = f (Obj2) Chi > < Ch2 (Crossoveratpositioni) Chi = fi = [pi1, pi2, pi3, pi4, redp2j ] = f (Obji)
The next stage is the assignment of chromosomes of this newly created population of GA by fireflies of FA.
Model Performance Evaluation
The performance of the proposed model was measured using convergence rate, best case solutions, average case solutions, worst case solution and the standard deviation.
Experimental results and discussion
All the experiments were carried out on Intel(R) core(TM) i5-3570 CPU 3.40 GHz with MATLAB R2013a. Different parameters of all the considered algorithms are given in Table 1.
Parameters tuning of all considered approaches
Parameters tuning of all considered approaches
Total of eight minimization benchmark functions were used. These functions are outlined in Equation (6)–(13) and their convergence rates are shown in Figs. 3–10.
where X
i
∈ - 5, 5
where X i ∈ - 10, 10
As shown in Figs. 2–9 for minimization functions, the proposed approach outperforms standard FA, standard GA, ABC and ACO in terms of convergence rates. As shown in Fig. 2, there are many fluctuations in the convergence graph of FA-CROSSOVER approach before 150th iteration and after this, the convergence rate of proposed model is more qualitative than the FA, GA, ABC and ACO. In Fig. 3, the same fluctuations can be observed but after iteration 200th, the solution quality of proposed model is better than all the other considered algorithms. Similar types of observations can be found Figs. 4–9 with the solution quality getting better after different iteration number.

F1 minimization function convergence rate.

F2 minimization function convergence rate.

F3 minimization function convergence rate.

F4 minimization function convergence rate.

F5 minimization function convergence rate.

F6 minimization function convergence rate.

F7 minimization function convergence rate.

F8 minimization function convergence rate.
As shown in Table 2, the best case solution, average case solution and the worst case solution of proposed model for all the minimization functions are better than FA, GA, ABC and ACO whereas in standard deviation, the value of proposed model is worse than other considered models. The variations in results are due to various parameters resulting in the conversion rates of all algorithms. The parameter tuning has followed the trail and error mechanism, as there are no fixed rules for setting these parameters.
Performance Evaluation of Algorithms for Minimization Functions
Equation (14) to (19) show the mathematical formulas of the maximization functions used in the experimentation and their convergence rates are shown in Figs. 10–15

F9 maximization function convergence rate.

F10 maximization function convergence rate.

F11 maximization function convergence rate.

F12 maximization function convergence rate.

F13 maximization function convergence rate.

F14 maximization function convergence rate.
As shown in Figs. 10–15, there are fluctuations in the solution quality of the proposed model before some iterations but later the convergence rate of the proposed model is better than all the other algorithms.
As shown in Table 3, the best case solution, average case solution and the worst case solution of proposed model for all the maximization functions are better than FA, GA, ABC and ACO whereas in standard deviation, the value of proposed model is worse than other considered models.
Concluding the overall development, representation, operation and the detailed implementation of the hybrid model of FA and GA, the whole research work carried out in this study is summarized in this section. The data flow diagram of the approach is shown in Fig. 1 and its pseudo code is shown pseudo code. The FA algorithm is shown in algorithm 1 whereas the algorithm of GA is presented in algorithm 2. The proposed model is given in algorithm 3. The proposed model was tested on eight minimization and six maximization functions outlined in Equation (6) to (19).
Performance Evaluation of Algorithms for Maximization Functions
Proposed Algorithm
In this paper, a major drawback associated with standard firefly algorithm (FA) that degrades its solution quality has been resolved by introducing a rich operator from genetic algorithm (GA). The standard firefly algorithm is suffered from poor exploitation capability if the randomization factor during firefly position changing stage is taken large. By taking this factor large, the solution search space is highly explorative resulting in larger solution search space with each solution having high differences in the optimal values with other solutions in the solution search space. During each iteration, the difference between the current solution and the previous solution may be large causing the solution search space to cover wider range of solutions with each solution apparently different from other solutions. This issue leads to skipping the most optimal solution even present in the vicinities of so far found solutions. This is resolved by introducing crossover operator of genetic algorithm which is used as exploitative operator to exchange the solutions found to cover more solutions in the current solution search space with little differences. This leads to avoid the skipping of solutions present in the vicinities of the current solution due to exchanges of many values with each other. The implementation of GA inside the FA involves few technical steps. The standard FA consists of fireflies whereas the standard GA has the concept of genes and chromosomes. To embed GA operators in FA, the first step is the representation of FAś fireflies by GAś chromosomes. Each firefly of FA becomes chromosome in GA and all the fireflies of FA represent the chromosomes of the population. To implement the crossover operator, the genes in the newly created chromosomes are interchanged according to ratio specified in the experimental setup. After these operations are performed on chromosomes, the fitness values of the optimization functions are evaluated. If the fitness value of the optimization functions is the required value, then the algorithm terminates otherwise the chromosomes are replaced by the fireflies in the next iteration and the process repeats until the maximum number of iteration reaches the termination criteria is met.
