An Improved Fireworks Algorithm Based on Grouping Strategy of the Shuffled Frog Leaping Algorithm to Solve Function Optimization Problems

Yu-Feng Sun 1, Jie-Sheng Wang 1,2,* and Jiang-Di Song 1 1 School of Electronic and Information Engineering, University of Science and Technology Liaoning, Anshan 114044, China; syf95411@126.com (Y.-F.S.); sjd2011@163.com (J.-D.S.) 2 National Financial Security and System Equipment Engineering Research Center, University of Science and Technology Liaoning, Anshan 114044, China * Correspondence: wang_jiesheng@126.com or wangjiesheng@ustl.edu.cn; Tel.: +86-412-2538246


Introduction
The nature of the function optimization problem is to find the optimal solution of an objective function through iteration [1].The function features are usually described as continuous, discrete, linear, non-linear, convex function, etc.In that the constraint function optimization problem can be converted into an unconstrained problem by using the designed special operators and penalty functions to make the solution always feasible, the unconstrained function optimization problem is the main research focus.The swarm intelligent optimization algorithm [2] is a kind of random search algorithm to simulate the biological population evolution and evolution, which solves the complex global optimization problems through individual cooperation and competition between species, and is applied in many fields, such as multi-objective optimization, data mining, network routing, signal processing, pattern recognition, etc.The typical swarm intelligence optimization algorithms include the ant colony optimization (ACO) algorithm [3], the genetic algorithm (GA) [4], the particle swarm optimization (PSO) algorithm [5], and the artificial bee colony (ABC) algorithm [6].
The fireworks algorithm (FA) is a new swarm intelligence algorithm that was proposed by Tan in 2010 [7], which has excellent optimization performance and aroused widespread concern in the world [8].A hybrid fireworks-differential evolution (FWA-DE) algorithm was proposed by introducing the mutation operator, crossover operator and selection operator in the DE algorithm [9].An enhanced fireworks algorithm (EFWA) was put forward by improving the minimum radius detection, mapping rules and spark selection strategy of the explosion sparks [10].An adaptive firework algorithm (AFWA) was proposed to carry out the self-tuning for the blast radius [11].That is to say, the distance between the optimal individual and the discussed individual is set as the next blast radius of the best individual.Through this kind of adaptive step size adjustment, the improved FWA shows good optimization performance.A dynamic search firework algorithm (DFWA) was proposed, which divides the fireworks population into core fireworks with optimal fitness value and non-core fireworks.By doing so, the former carries out the local search and the latter proceeds with the global search effectively [12].In this paper, by balancing the global exploration and local search capability of FA through adjusting the explosion of fireworks, an improved fireworks algorithm based on grouping strategy of SFLA is proposed.The simulation experiments are carried out by comparing it with the SFLA and FA.The simulation results show that the hybrid algorithm can make the FA jump out of local optimum effectively and achieve the global convergence quickly.The paper is organized as follows.In Section 2, the fireworks algorithm is introduced.The FA-SFLA hybrid algorithm is introduced in Section 3. The simulation experiments and results analysis are introduced in details in Section 4. Finally, the conclusion illustrates the final part.

Basic Principle of FA
The fireworks algorithm (FA) is a new parallel diffuse optimization algorithm to simulate the fireworks explosion phenomenon, which realizes the balance between global exploration and local searching by means of adjusting the explosion mode of fireworks bombs.Its algorithm procedure is shown in Figure 1.FWA shows good optimization performance.A dynamic search firework algorithm (DFWA) was proposed, which divides the fireworks population into core fireworks with optimal fitness value and non-core fireworks.By doing so, the former carries out the local search and the latter proceeds with the global search effectively [12].In this paper, by balancing the global exploration and local search capability of FA through adjusting the explosion of fireworks, an improved fireworks algorithm based on grouping strategy of SFLA is proposed.The simulation experiments are carried out by comparing it with the SFLA and FA.The simulation results show that the hybrid algorithm can make the FA jump out of local optimum effectively and achieve the global convergence quickly.The paper is organized as follows.In Section 2, the fireworks algorithm is introduced.The FA-SFLA hybrid algorithm is introduced in Section 3. The simulation experiments and results analysis are introduced in details in Section 4. Finally, the conclusion illustrates the final part.

Basic Principle of FA
The fireworks algorithm (FA) is a new parallel diffuse optimization algorithm to simulate the fireworks explosion phenomenon, which realizes the balance between global exploration and local searching by means of adjusting the explosion mode of fireworks bombs.Its algorithm procedure is shown in Figure 1.Through generating a certain number of fireworks shells in the function searching scope, the bombing operation is carried out for each fireworks bomb, which realizes the random search on the certain neighborhood scope of the original fireworks (burst points) by the explosion Mars.It can been seen form Figure 1 that good quality fireworks explosions will produce a lot of Mars concentrated in the center of the explosion and poor quality fireworks after the explosions will only produce less and messy Mars in space.Seen from the perspective of the algorithm searching, when producing a good fireworks explosion, Mars should be located near the optimal position, which is conducive to using more Mars for searching the local area of fireworks.A bad fireworks explosion means that the optimal position may be a great distance from the fireworks, so its search space will be larger.
When fireworks explode, the produced Mars are spread in the air and are filled with the local neighborhoods.In order to obtain the point x in the target function y x f = ) ( , fire and explosion can be made in a potential searching area continually until Mars hits the point x or very close to the point x .In order to make each fireworks explode, N locations of the explosion are selected firstly. Then N fireworks are detonated.According to the results after the explosion of fireworks, the position is roughly estimated until the best position is obtained.Otherwise, N different explosion Through generating a certain number of fireworks shells in the function searching scope, the bombing operation is carried out for each fireworks bomb, which realizes the random search on the certain neighborhood scope of the original fireworks (burst points) by the explosion Mars.It can been seen form Figure 1 that good quality fireworks explosions will produce a lot of Mars concentrated in the center of the explosion and poor quality fireworks after the explosions will only produce less and messy Mars in space.Seen from the perspective of the algorithm searching, when producing a good fireworks explosion, Mars should be located near the optimal position, which is conducive to using more Mars for searching the local area of fireworks.A bad fireworks explosion means that the optimal position may be a great distance from the fireworks, so its search space will be larger.
When fireworks explode, the produced Mars are spread in the air and are filled with the local neighborhoods.In order to obtain the point x in the target function f pxq " y, fire and explosion can be made in a potential searching area continually until Mars hits the point x or very close to the point x.In order to make each fireworks explode, N locations of the explosion are selected firstly.Then N fireworks are detonated.According to the results after the explosion of fireworks, the position is roughly estimated until the best position is obtained.Otherwise, N different explosion locations are selected and fireworks explosions are produced again.The flowchart of FA is shown in Figure 2.  x is described as follows: where m is to control the total number of sparks produced by n fireworks.
where max y is the maximum of objective functions under the worst case in n fireworks, and ε is the minimum computer constant.
In order to avoid worse cases under bad firework explosions, its scope i s is defined as: where a and b are fixed constant parameters.
The explosion amplitude of each firework is defined as follows:

Description of FA
FA is to solve a kind of optimization problem min f pxq, x min < x < x max , where x " x 1 , x 2 , ¨¨¨, x d represents a potential solution.f pxq is the target function, x min and x max represent the scope of the solution space.Thus, the number of sparks produced by each firework x i is described as follows: where m is to control the total number of sparks produced by n fireworks.
where y max is the maximum of objective functions under the worst case in n fireworks, and ε is the minimum computer constant.
In order to avoid worse cases under bad firework explosions, its scope s i is defined as: ŝi " where a and b are fixed constant parameters.The explosion amplitude of each firework is defined as follows: where A represents the maximum explosion amplitude, and y min " minp f px i qqpi " 1, 2, ¨¨¨, nq is the minimum objective function value in n fireworks.
During the explosion process, sparks may be affected by any direction (dimension).In FA, the number of arbitrary affected directions is defined as: where d is the dimension of position x, and randp0, 1q is a uniform distribution on the interval r0, 1s.

Determination of Spark Locations
Spark location of firework x i can be obtained by Algorithm 1.By imitating the explosion process, the position xj of a spark is produced.Then, if the obtained position is beyond the potential space, it is changed into the potential space by Algorithm 1.

Algorithm 1: Obtain the Spark Location
Initialize position x j " x i ; z " roundpd ˆrandp0, 1qq; Randomly select xj with z dimension and calculate shift h " A i randp´1, 1q; In order to keep the spark diversity, a Gauss explosion method shown in Algorithm 2 is adopted to produce sparks.m sparks are produced in each Gauss explosion.

Algorithm 2: Obtain a Certain Spark Position
Initialize the spark position xj " x i ; z " roundpd ˆrandp0, 1qq; Randomly select xj with z dimension; Calculate the coefficient of Gauss explosion g " Gaussianp1, 1q;

3.Selection of Explosion Positions
At the beginning of each explosion, n location should be chosen to realize the fireworks explosion.In FA, the best location x ˚according to the best objective function f px ˚q is retained for the next explosion.From then, the selection of n ´1 position is based on the distance with other positions to keep the diversity of sparks.In general, the distance between position x i and other positions is calculated as follows: Rpx i q " ÿ jPk dpx i , x j q ´ÿ jPk px i ´xj q (6) where, k is the current position set of all fireworks and sparks.
A selection probability of position x i is defined as follows: Obtain the position of spark s i of firework x i based on Algorithm 1. End for For k " 1 : m Select a firework x i randomly Produce a certain spark of the above firework based on Algorithm 2; Save the best position to the next explosion; Based on the given probability by Equation ( 7), select n ´1 position randomly from two sparks and the current firework.

End for End while
In FA, each generation carries out about n `m `m function estimations.If the optimum of a certain function can be found in generation T, the complexity of FA is opn `m `mq.
Algorithm 3 summarizes the framework of FA.In each of the explosions, according to Algorithms 1 and 2, two kinds of sparks are produced, respectively.For the first kind of spark, the number of sparks and the amplitude of the explosion depend on the quality of the fireworks.In contrast, other sparks are generated by using the Gauss explosion process in a local Gauss space of the fireworks for searching.After obtaining two kinds of spark positions, n locations for the next explosion are selected.

Principle of Shuffled Frog Leaping Algorithm
In 2003, the shuffled frog leaping algorithm (SFLA) was proposed to simulate the foraging process of frogs based on the transferring information according to the thought of ethnic groups [13].The memetic algorithm (MA) is a swarm intelligence algorithm proposed by Moscato in 1989 to solve the optimization problem through a heuristic search [14].SFLA is a hybrid swarm optimization algorithm combining the advantage of MA and PSO algorithm to obtain the balance between the global exploration and local exploitation [15,16].The flowchart of the SFLA is described in Figure 3.
process of frogs based on the transferring information according to the thought of ethnic groups [13].The memetic algorithm (MA) is a swarm intelligence algorithm proposed by Moscato in 1989 to solve the optimization problem through a heuristic search [14].SFLA is a hybrid swarm optimization algorithm combining the advantage of MA and PSO algorithm to obtain the balance between the global exploration and local exploitation [15,16].The flowchart of the SFLA is described in Figure 3.For D dimensional problems, a frog i can be expressed as . Firstly, the frog population is initialized as S .Then, the fitness of each frog is calculated and sorted in the descending order.Next, the entire population is divided into m memeplexes, each containing n frogs (i.e., n m S × = ), in such a way that the first frog belongs to the first memeplex, the second frog goes to the second memeplex, the m th frog goes to the m th memeplex, and the ( )th frog goes back to the first memeplex, etc.Let k M be the set of frogs in the k th memeplex, and this dividing process can be described by the following expression: The frog with the best and worst fitness in each subgroup are named b F and w F , respectively.
g F is the frog with the best fitness in the population.For each iteration in the evolution of the subgroup, the position of w F is updated based on the following equation: where () rand is a random number between 0 and 1 and max C is the maximum allowed change of the frog's position in one jump.
If the new frog w F ′ is better the original frog w F , it replaces the worst frog.Otherwise, b F is replaced by g F , and the local search is carried out again according to Formulas ( 9) and (10).If no improvement is obtained in this case, the worst frog is deleted and a new frog is randomly generated to replace the worst frog w F .The local search continues for a predefined number of memetic evolutionary steps max C within each memeplex, and then the whole population is mixed together in For D dimensional problems, a frog i can be expressed as F i " p f i1 , f i2 , ¨¨¨, f iD q.Firstly, the frog population is initialized as S.Then, the fitness of each frog is calculated and sorted in the descending order.Next, the entire population is divided into m memeplexes, each containing n frogs (i.e., S " m ˆn), in such a way that the first frog belongs to the first memeplex, the second frog goes to the second memeplex, the mth frog goes to the mth memeplex, and the (m `1)th frog goes back to the first memeplex, etc.Let M k be the set of frogs in the kth memeplex, and this dividing process can be described by the following expression: The frog with the best and worst fitness in each subgroup are named F b and F w , respectively.F g is the frog with the best fitness in the population.For each iteration in the evolution of the subgroup, the position of F w is updated based on the following equation: where randpq is a random number between 0 and 1 and C max is the maximum allowed change of the frog's position in one jump.
If the new frog F 1 w is better the original frog F w , it replaces the worst frog.Otherwise, F b is replaced by F g , and the local search is carried out again according to Formulas ( 9) and (10).If no improvement is obtained in this case, the worst frog is deleted and a new frog is randomly generated to replace the worst frog F w .The local search continues for a predefined number of memetic evolutionary steps C max within each memeplex, and then the whole population is mixed together in the shuffling process.The local evolution and global shuffling continue until convergence iteration number G max is reached.

FA-SFLA Hybrid Algorithm
Although FA has a good ability to balance between global search and local search, the simulation experiments show that the running time it needs to reach its optimal value is relatively long.On the other hand, SFLA combines the calculus genetics of the mimetic algorithm (MA) and the group foraging behavior of the particle swarm optimization (PSO), which has a strong local search ability and stability through the sub cooperative search heuristic.Therefore, an improved fireworks algorithm based on the grouping strategy of SFLA is proposed based on the fireworks algorithm and the shuffled frog leaping algorithm.The procedure of the proposed fireworks algorithm based on shuffled frog leaping algorithm (FA-SFLA) is shown in Figure 4.
Although FA has a good ability to balance between global search and local search, the simulation experiments show that the running time it needs to reach its optimal value is relatively long.On the other hand, SFLA combines the calculus genetics of the mimetic algorithm (MA) and the group foraging behavior of the particle swarm optimization (PSO), which has a strong local search ability and stability through the sub cooperative search heuristic.Therefore, an improved fireworks algorithm based on the grouping strategy of SFLA is proposed based on the fireworks algorithm and the shuffled frog leaping algorithm.The procedure of the proposed fireworks algorithm based on shuffled frog leaping algorithm (FA-SFLA) is shown in Figure 4.The proposed FA-SFLA algorithm selects a certain number of individuals as the next generation of fireworks from the explosion spark, Gaussian mutation sparks and fireworks.The selection operator of sun-generation fireworks is based on the calculation of the original FA.Considering the number of the optimized spark generations located between maximum and minimum values, the grouping strategy of SFLA is introduced.Set the maximum value as b P , the minimum value as s P and the optimal value as g P .The candidate individuals are grouped to loop for the local search.
According to the initial spark selection rule, the updating module is described as follows: ( ) where r is a random number located in the scope [0,1] , and the coefficient factor c is a constant and

[1, 2] c∈
. By introducing the group searching mechanism of SFLA, the search area of the FA is increased to a certain extent, so the proposed FA-SFLA can quickly jump out of local minima, explore towards the global optimum, and thus greatly improve the efficiency to obtain the global optimum.

Simulation Results and Analysis
In order to discuss the performance influence of FA-SFLA, four benchmark functions (Sphere, Griewank, Rosenbrock and Rrastrigin) shown in Table 1 are adopted to carry out the simulation experiments with FA and SFLA.The algorithm convergence, robustness, efficiency and performance of the proposed improved FA are compared with FA and SFLA on two performance indexes (average cost function and corresponding standard deviation) after simulation 30 times.The initialization of algorithm parameters are shown in Table 2.The simulation results are shown in Table 3, and the simulation curves under FA and FA-SFLA are shown in Figure 5a-d.The proposed FA-SFLA algorithm selects a certain number of individuals as the next generation of fireworks from the explosion spark, Gaussian mutation sparks and fireworks.The selection operator of sun-generation fireworks is based on the calculation of the original FA.Considering the number of the optimized spark generations located between maximum and minimum values, the grouping strategy of SFLA is introduced.Set the maximum value as P b , the minimum value as P s and the optimal value as P g .The candidate individuals are grouped to loop for the local search.According to the initial spark selection rule, the updating module is described as follows: P g " P s ´c ¨r ¨pP b ´Ps q (11) where r is a random number located in the scope r0, 1s, and the coefficient factor c is a constant and c P r1, 2s.By introducing the group searching mechanism of SFLA, the search area of the FA is increased to a certain extent, so the proposed FA-SFLA can quickly jump out of local minima, explore towards the global optimum, and thus greatly improve the efficiency to obtain the global optimum.

Simulation Results and Analysis
In order to discuss the performance influence of FA-SFLA, four benchmark functions (Sphere, Griewank, Rosenbrock and Rrastrigin) shown in Table 1 are adopted to carry out the simulation experiments with FA and SFLA.The algorithm convergence, robustness, efficiency and performance of the proposed improved FA are compared with FA and SFLA on two performance indexes (average cost function and corresponding standard deviation) after simulation 30 times.The initialization of algorithm parameters are shown in Table 2.The simulation results are shown in Table 3, and the simulation curves under FA and FA-SFLA are shown in Figure 5a-d.
From the simulation results, it can be seen that the operation time of the proposed FA-SFLA hybrid algorithm was less than FA and SFLA.On the other hand, the optimal solution is less than or equal to the optimal solution of SFLA.This indicates that the FA-SFLA has feasibility and high efficiency for optimal seeking.By comparing the simulation results between FA and FA-SFLA, for the first three kinds of single peak function, the convergence velocity of FA-SFLA algorithm is relatively large.Except for the Griewank function, three other functions have the delay phenomena in later iterations but did not affect the polymorphic Rastrigin function converging to the optimum.The convergence velocity of the sphere function in FA and FA-SFLA is almost simultaneous, and Rosenbrock function with the use of the FA-SFLA algorithm exists apparent hysteretic convergence phenomena.

Conclusions
The fireworks algorithm (FA) is a new parallel diffuse optimization algorithm to simulate the fireworks explosion phenomenon by means of adjusting the explosion mode of fireworks bombs.In order to realize the balance between global exploration and local searching, an improved fireworks algorithm based on the grouping strategy of the shuffled frog leaping algorithm (SFLA) is proposed in this paper.The simulation experiments are carried out on four benchmark functions (Sphere, Griewank, Rosenbrock and Rrastrigin).The algorithm convergence, robustness, efficiency and performance of the proposed improved FA are compared with FA and SFLA on two performance indices (average cost function and corresponding standard deviation) after simulation 30 times.These data should be compared with FA and SFLA.The simulation results show that the proposed method can effectively make the FA jump out of the local optimum and accelerate the global search ability.The simulation results show that the hybrid algorithm greatly improves the accuracy and convergence velocity for solving the function optimization problems.

Conclusions
The fireworks algorithm (FA) is a new parallel diffuse optimization algorithm to simulate the fireworks explosion phenomenon by means of adjusting the explosion mode of fireworks bombs.In order to realize the balance between global exploration and local searching, an improved fireworks algorithm based on the grouping strategy of the shuffled frog leaping algorithm (SFLA) is proposed in this paper.The simulation experiments are carried out on four benchmark functions (Sphere, Griewank, Rosenbrock and Rrastrigin).The algorithm convergence, robustness, efficiency and performance of the proposed improved FA are compared with FA and SFLA on two performance indices (average cost function and corresponding standard deviation) after simulation 30 times.These data should be compared with FA and SFLA.The simulation results show that the proposed method can effectively make the FA jump out of the local optimum and accelerate the global search ability.The simulation results show that the hybrid algorithm greatly improves the accuracy and convergence velocity for solving the function optimization problems.

Figure 1 .
Figure 1.Two kinds of different phenomenon after fireworks explode.(a) Good fireworks explode; (b) bad fireworks explode.

Figure 1 .
Figure 1.Two kinds of different phenomenon after fireworks explode.(a) Good fireworks explode; (b) bad fireworks explode.
and fireworks explosions are produced again.The flowchart of FA is shown in Figure2.

) Algorithm 3 :
Construction of FA Initialize n positions of fireworks randomly.While Stop criterion is false Detonate n fireworks in n positions respectively.For Each firework x i Calculate the spark number ŝi produced by those fireworks by Equation (3).

Figure 3 .
Figure 3. Flowchart of the shuffled frog leaping algorithm.

Figure 3 .
Figure 3. Flowchart of the shuffled frog leaping algorithm.

Table 2 .
Parameter set-up of three optimization algorithms.

Table 3 .
Simulation results under three optimization algorithms.