A Novel Hybrid Algorithm Based on Grey Wolf Optimizer and Fireworks Algorithm

Grey wolf optimizer (GWO) is a meta-heuristic algorithm inspired by the hierarchy of grey wolves (Canis lupus). Fireworks algorithm (FWA) is a nature-inspired optimization method mimicking the explosion process of fireworks for optimization problems. Both of them have a strong optimal search capability. However, in some cases, GWO converges to the local optimum and FWA converges slowly. In this paper, a new hybrid algorithm (named as FWGWO) is proposed, which fuses the advantages of these two algorithms to achieve global optima effectively. The proposed algorithm combines the exploration ability of the fireworks algorithm with the exploitation ability of the grey wolf optimizer (GWO) by setting a balance coefficient. In order to test the competence of the proposed hybrid FWGWO, 16 well-known benchmark functions having a wide range of dimensions and varied complexities are used in this paper. The results of the proposed FWGWO are compared to nine other algorithms, including the standard FWA, the native GWO, enhanced grey wolf optimizer (EGWO), and augmented grey wolf optimizer (AGWO). The experimental results show that the FWGWO effectively improves the global optimal search capability and convergence speed of the GWO and FWA.


Introduction
Finding an optimal solution in high-dimensional complex space is a common issue in many engineering fields [1]. When solving such problems, deterministic algorithms find it difficult to find the optimal value, the calculation cost is too high, and the calculation time is too long [2]. The meta-heuristic optimization algorithm has, due to its simplicity and strong searching ability, been widely used in solving complex problems. In recent years, scholars around the world have done a lot of research on these algorithms. Many natural-inspired meta-heuristic algorithms have been proposed, such as Particle Swarm Optimization (PSO) [3], Ant Colony Optimization (ACO) [4], Artificial bee colony algorithm (ABC) [5], Whale Optimization Algorithm (WOA) [6], Bird Swarm Algorithm (BSA) [7], Grey Wolf Optimizer (GWO) [8], Fireworks Algorithm (FWA) [9], Biogeography-based optimization (BBO) [10], and Moth Flame Optimization (MFO) [11].
Inspired by the leadership hierarchy and the mechanism of hunting of grey wolves, Gray Wolf Optimizer, a new meta-heuristic optimization algorithm, was proposed by Mirjalili in 2014 [8]. The GWO algorithm mimics the hunting mechanism to search the optima. In [8], several benchmark functions are used to evaluate the performance of GWO. The experimental results show that the GWO algorithm is feasible and superior to PSO, Gravitational Search Algorithm (GSA) [12], and Differential Evolution (DE) [13] in the accuracy of the solution and convergence speed. Due to the advantages of fewer adjustment parameters and a faster convergence, the GWO algorithm has been applied in a series of engineering problems such as the speed control of DC motors [14], parameter estimation in surface waves [15], and load frequency control of the Multi-microgrid System [16]. However, when facing problems with multi optimal solutions like multidimensional feature selection, GWO converges to local optima and fails to find the global optimal solution. Inspired by observing fireworks explosions, Tan and Zhu proposed the fireworks algorithm (FWA) in 2010. FWA mimics the explosion of fireworks that produce sparks and illuminate the surrounding area. The global optimal solution was found by controlling the amplitude of the explosion and the number of sparks generated by explosion. Several benchmark functions are employed to test the competence of FWA. The experimental results [9] show that FWA has a better solution accuracy and faster convergence speed than SPSO (Standard particle swarm optimization) [17] and CPSO (Clonal particle swarm optimization) [18].
When searching for the optimal value in a high-dimensional space, the single meta-heuristic algorithm always has some disadvantages, such as a low accuracy, poor generalization ability, and poor local optima avoidance ability. The hybrid algorithm utilizes the differences between the two optimization algorithms, combines their advantages, and makes up for shortcomings to improve the overall performance of solving complex optimization problems [19]. The solution searched for by the genetic algorithm (GA) [20] is not accurate enough, and the evolutionary strategy (ES) tends to fall into a local minimum when searching for the optimal value. Therefore, a hybrid algorithm in [21] combined GA and ES to make up for these shortcomings. This algorithm is used for electromagnetic optimization problems and achieved satisfactory results. In [22], two hybrid models were established by Mafarja to design feature selection techniques based on WOA. In the first model, the simulated annealing (SA) algorithm is inserted into the WOA algorithm. In the second model, SA and WOA are used separately. SA is used to exploit the search space found by the WOA algorithm. In [23], Alomoush proposed a hybrid algorithm based on Gray Wolf Optimizer (GWO) and Harmony Search (HS). GWO is used to update the pitch adjustment rate and bandwidth in the HS to improve the global optimization capabilities of the hybrid algorithm. In [24], the grey wolf optimizer and crow search algorithm are combined by Sankalap Arora. The hybrid algorithm is tested on 21 data sets as a feature selection technique. The results show that the algorithm has many advantages in solving complex optimization problems. In [25], biogeography-based optimization (BBO) and differential evolution (DE) are fused by sharing population information. In BBO/DE, the migration operators in BBO are changed as the increase of the iteration count. The results indicate that the hybrid algorithm is more effective when compared to traditional BBO and DE. In [26], a novel hybrid algorithm combining grey wolf optimizer (GWO) with particle swarm optimization (PSO) is used as a load balancing technique in the cloud computing environment. The conclusions indicate that the hybrid algorithm improves the convergence speed and simplicity when compared with other algorithms. In [27], ZHU proposed a novel hybrid algorithm based on the grey wolf optimizer (GWO) and differential evolution (DE). This algorithm is tested on 23 benchmark functions and a non-deterministic polynomial hard problem. The experimental results show that this algorithm has a good performance in exploration. A global optimization algorithm combining biogeography-based optimization (BBO) with fireworks algorithm (FWA) is proposed in [28]. The BBO migration operators have been inserted into the FWA to enhance the information exchange between the population and to improve the global optimization capability. In [29], WOA-SCA, composed of the whale optimization algorithm (WOA) and sine cosine algorithm (SCA) is proposed. SCA and WOA are used for exploration and exploitation, respectively. The WOA-SCA optimization algorithm is used to distribute DGs (distributed generators) and DSTATCOMs (distribution flexible alternating current transmission devices) to enhance the voltage profile by minimizing the total power losses in the system.
As mentioned above, GWO advances itself strongly on exploitation. However, in some cases it converges prematurely and gets trapped in a local optimum. FWA not only has a high exploration capability, but also has the disadvantage of a slow convergence speed compared to the recent algorithms. This paper proposes a new hybrid algorithm which combines the exploration ability of FWA with the exploitation ability of GWO to increase the convergence characteristics.
The major work of this paper is summarized as follows: (1) A novel hybrid algorithm based on GWO and FWA is proposed.
The rest of paper is arranged as follows: Section 2 introduces the GWO algorithm and FWA algorithm used in this paper. In Section 4, the FWGWO hybrid algorithm is proposed. Section 5 shows the experimental results and comparison of the algorithms used in the test function. Finally, the conclusions are given in Section 6.

Grey Wolf Optimizer
The Grey Wolf Optimizer (GWO) is a meta-heuristic algorithm proposed by Mirgalili et al. [8] in 2014. The GWO algorithm mimics the hunting mechanism and the leadership hierarchy of wolves to search the optima. Grey wolves are social animals, with an average of 5 to 12 wolves in each group. They also have a strict hierarchy. There are four levels in wolves' hierarchy, called alpha (α), beta (β), delta (δ), and omega (ω). Alpha is the first level. It is responsible for making decisions like hunting, finding a place to sleep, the waking time, and so on. The second level is alpha's candidate, the beta wolves, which help alpha in making decisions or in engaging in other activities. The third level is delta. The delta wolves are under the command of the first two levels, mainly responsible for reconnaissance, sentry, guard, and other tasks. The last level of a pack is omega. Omega wolves have to submit to the wolves in the first three levels. The omega wolves maintain the integrity of the hierarchical structure. The mathematical model of the GWO algorithm's hierarchy and hunting behavior is as follows:

Hierarchical Structure
The GWO algorithm is a mathematical model based on the social hierarchy of wolves. The fittest solution found is considered as the alpha (α). The second and third best solutions are beta (β) and delta (δ), respectively. The rest of the solutions are omega (ω). In the GWO algorithm, alpha, beta, and delta collectively command omega to search for the solution space.

Encircling Prey
The grey wolf encircles the prey when hunting. The mathematical equations for this behavior are shown in Equations (1) and (2): where → D is the distance from the wolf to the prey.

Hunting
The grey wolves can easily encircle the prey with the ability to recognize its location. The whole hunting process is usually led by the alpha. However, in a complex search space, it is impossible to get the location of the prey at the beginning. Therefore, GWO consider that the first three best solutions, alpha, beta, and delta, have more information about the location of the prey. Then, the other wolves update their positions based on these three positions, as shown in Figure 1.
Sensors 2020, 20, x FOR PEER REVIEW 4 of 19 where  a decreases linearly with the number of iterations from 2 to 0. 1  r and 2  r are the random vectors in [0,1].

Hunting
The grey wolves can easily encircle the prey with the ability to recognize its location. The whole hunting process is usually led by the alpha. However, in a complex search space, it is impossible to get the location of the prey at the beginning. Therefore, GWO consider that the first three best solutions, alpha, beta, and delta, have more information about the location of the prey. Then, the other wolves update their positions based on these three positions, as shown in Figure 1. The mathematical equations of this phase are as follows: are the step lengths in the direction toward alpha, beta, and delta.
  X and ( 1) indicate the position of the search agent before and after the update.

Search for prey (exploration) and attacking prey (exploitation)
When the prey stops moving, the grey wolf completes the hunting process by attacking. In order to mimic the process of the grey wolf approaching the prey, the GWO algorithm causes  a to linearly decrease from 2 to 0, as shown in Equation (8): The mathematical equations of this phase are as follows: where,

Search for Prey (Exploration) and Attacking Prey (Exploitation)
When the prey stops moving, the grey wolf completes the hunting process by attacking. In order to mimic the process of the grey wolf approaching the prey, the GWO algorithm causes a to linearly decrease from 2 to 0, as shown in Equation (8): According to Equation (3) towards the prey. If → A > 1, the wolf will be forced to diverge from the prey (local minimum) to find a new fitter prey. → C is a random value that lies in the range [0,2] which is employed to help GWO avoid being trapped in the local optima. The pseudo code of the GWO algorithm is presented in Algorithm 1.
Initialize a, A, and C 3. Calculate the fitness of each search agent 4. X α = the best search agent 5. X β = the sec ond best search agent 6. X δ = the third best search agent 7. while (t < Max number of iterations) 8. for each search agent 9.

Fireworks Algorithm
Inspired by the behavior according to which fireworks burst into sparks in the night sky and illuminate the surrounding area, Tan and Zhu proposed the Fireworks Algorithm (FWA) in 2010. In FWA, a firework is considered as a viable solution in the search space of the optimization problem. Furthermore, the process of sparking fireworks is deemed as the process of searching the neighborhood of these fireworks. The specific steps of the fireworks algorithm are as follows: (1) N fireworks are randomly generated in the search space, and each firework represents a feasible solution. (2) Evaluate the quality of these fireworks. Consider that the optimal location may be close to the fireworks with a better fitness; these fireworks get a smaller search amplitude and more explosion sparks to search the surrounding area. On the contrary, those fireworks with a bad fitness will get fewer explosion sparks and a larger search amplitude. The number of explosion sparks and the explosion amplitude of fireworks are calculated as shown in Equations (9) and (10): where S i is the number of explosion sparks. A i represents the amplitude of the explosion. y min = min( f (x i )), (i = 1, 2, . . . , N) is the minimum fitness among the N fireworks. y max = max( f (x i )), (i = 1, 2, . . . , N) is the maximum fitness value among the N fireworks. m andÂ are parameters controlling the total number of sparks and the maximum explosion amplitude, respectively. ξ is the smallest constant in the computer, utilized to avoid a zero-division-error. To avoid that the good fireworks produce far more explosive sparks than the fireworks with a poor fitness, Equation (11) is used to bound the number of sparks that are generated: where a, b are constant parameters, and round() represents the rounding function. (3) To guarantee the diversity of the fireworks, another method of generating sparks, Gaussian explosion, is designed in FWA. For the randomly selected fireworks, a number of dimensions are randomly selected and updated, as shown in Equation (12), to get the position of a Gaussian spark at the dimension k: where e ∼ N(1, 1), N(1, 1) is a Gaussian random value with mean 1 and standard deviation 1.
The generated explosion sparks and Gaussian sparks may exceed the boundaries of the search space. Equation (13) maps the sparks beyond the boundary at dimension k to a new position: where x max k represents the upper bound of the search space at dimension k, and x min k is the lower bound of the search space at dimension k.
(4) N locations should be selected as the next generation of fireworks from the explosion sparks, Gaussian sparks, and the current fireworks. In FWA, the location with the best fitness is always kept for the next iteration. Then, N − 1 locations are chosen, determined by their distance to other locations. The distance and the selection probability of x i is defined as follows: In this selection strategy, if there are many other locations around x i , the selection probability will be reduced to keep the diversity of the next generation.
The execution flow of the FWA algorithm is shown in Algorithm 2.

Establishment of FWGWO
As mentioned in Section 2, GWO is strong at exploitation but weak at avoiding a premature convergence and local optimum. The FWA algorithm has a strong exploration capability, but it lacks in exploitation. In this section, the FWGWO hybrid algorithm is proposed to combine the GWO exploitation capability with the FWA exploration capability to obtain a better global optimization capability. FWGWO alternately uses the FWA algorithm for exploration in the search space and the GWO algorithm for exploitation to search the global optimum without changing the general operation of the GWO and FWA algorithms. In order to balance the exploration with the exploitation, an adaptive equilibrium coefficient is proposed in this paper. Updating the position X α means that the best fitness Sensors 2020, 20, 2147 7 of 17 has been changed. When the current position is closer to the optimal solution, the coefficient p will be updated to change the search strategy, as shown in Equation (16): where p represents the adaptive balance coefficient. t is the current number of iterations. Max iter indicates the maximum number of iterations. Calculate the number of sparks that the firework yields by equation (9) 6.
Obtain locations of each sparks of the fireworkx i 7. end for 8. for k = 1 : number of Gaussian sparks do 9.
Randomly select a fireworkx j 10.
Generate a Gaussian spark for the firework 11. end for 12. Select the best location and keep it for next explosion generation 13. Randomly select n − 1 locations from the two types of sparks and the current fireworks 14. according to the probability given in equation (15) 15. end while A random value r in [0, 1] is set for a comparison with the adaptive balance coefficient p. If r > p, the next iteration will be executed using the FWA algorithm. Otherwise, the GWO algorithm is used for this iteration. The function curve of p is shown in Figure 2. The value of p is small and slowly increases in the early optimization stage to make sure that FWGWO explores a huge search space by multiple calls of FWA to avoid being trapped in the local minimum. In the later optimization phases, the algorithm exploits small regions to efficiently search the optimum with the rapidly increasing p.
To avoid that only GWO is executed in the final stage of the FWGWO algorithm, the value of p is growing in [0, 0.9]. In some cases, after one iteration of the FWA algorithm, the FWGWO algorithm will proceed to the next iteration of the FWA algorithm without further exploitation so as to escape the current local optimal space and miss the global optimal solution. To avoid these cases, the FWGWO algorithm exploits the current region with at least T iterations of the GWO algorithm before proceeding to the next FWA algorithm. In this paper, T is set to 10. The variable k is defined to count how many GWO iterations have occurred since the last FWA iteration. k is initialized at the beginning of FWGWO. After each GWO iteration, k increases itself by 1. If k > T and r > p, FWA will be used to execute the iteration. At the last of these iterations, k will be set to 0. variable k is defined to count how many GWO iterations have occurred since the last FWA iteration. k is initialized at the beginning of FWGWO. After each GWO iteration, k increases itself by 1. If > k T and r > p, FWA will be used to execute the iteration. At the last of these iterations, k will be set to 0. The pseudo code of the hybrid FWGWO algorithm is shown in Algorithm 3.

Algorithm 3 Pseudo Code of FWGWO
1. Initialize the wolf population X i (i = 1, 2, . . . , n) 2. Initialize a, A, k, t and C 3. Calculate the fitness of each search agent 4. X α = the best search agent 5. X β = the sec ond best search agent 6. X δ = the third best search agent 7. while (t < Max number of iterations) 8. foreach search agent 9.
Update the position of the current search agent by equation (7) 10. end for 11. Updatea, A, andC 12. Calculate the fitness of all search agents 13. UpdateX α , X β , and X δ 14. ifX α changed then 15.
Update the adaptive balance coefficient (p) by equation (16) 16. end if 17. if k >= T and rand() > p then 18. for eachsearchagent x i do 19.
For comparison, the time complexity of GWO is O ((2t + 1) × n × d), and the time complexity of FWA is O ((4t + 1) × n × d). The time complexity of FWGWO is the same as that of GWO and smaller than that of FWA.

Experimental Section and Results
In this section, 16 benchmark functions with different characteristics are used to evaluate the proposed FWGWO hybrid algorithm. The experiment results are compared with nine other algorithms to verify the superiority of FWGWO.

Compared Algorithms
A total of nine algorithms, including IPSO, PSO, BBO, CSA, MFO, FWA, GWO, AGWO, and EGWO, were selected for comparison with the FWGWO algorithm proposed in this paper. These nine algorithms contain both classical algorithms and new algorithms proposed in recent years. The parameter settings of these algorithms are shown in Table 1. These parameters are chosen based on the parameters of these algorithms in the original papers. For all algorithms in this experiment, the size of the population is 20, the dimension is 100 dimensions, and the maximum number of iterations is 500. This experiment has been carried out with different experimental parameters. The size of the population has been set to 10, 20, 30, and 50. The dimension has been set to 20, 50, 100, and 500. The results of these experiments are similar. Considering the length of this paper, the typical parameters mentioned above are taken as an example.

Benchmark Functions
Sixteen benchmark functions listed in Table A1 (see in Appendix A) are utilized to evaluate the optimized performance of FWGWO. These benchmark functions can be divided into two categories. In the first category, the unimodal functions f1-f8 with only one global optimum are used to test the exploitation capability. In the second category, the multimodal functions f9-f16 with more than two local optima are utilized to assess the ability of FWGWO to find global optima.

Performance Metrics
Three performance indicators, the mean fitness, fitness variance, and best fitness, are selected in this paper to evaluate the results of the experiments. The mathematical equations are defined as follows: where M represents the total number of independently repeated experiments. M is 30 in this paper. G represents the function fitness of each experiment, and i is the count of repeated experiments. In addition, a nonparametric statistical test, Wilcoxon's rank-sum test [34], is utilized to show that the proposed FWGWO algorithm provides a significant improvement over other algorithms. The test was carried out with the results of the FWGWO and other algorithms in each benchmark function at a 5% significance level. All experiments are carried out using MATLAB R2017a on a computer with Inter i5-5200U 2.2GHz and an 8 GB memory.

Comparison and Analysis of Simulation Results
Thirty independently repeated experiments were implemented using the 10 algorithms mentioned above on each benchmark function. Table 2 shows the test results of these algorithms on each benchmark function. The best, mean, and variance of the fitness obtained by each algorithm are listed in Table 2, and the best results are bolded. Compared with other algorithms, the average of the fitness obtained by the FWGWO algorithm after 500 iterations is better and closer to the global optimal value on most of the benchmark functions. In terms of the best fitness obtained in 30 repetitions, FWGWO has a better performance than other algorithms in all 16 functions. What is more, the best fitness obtained by FWGWO is 0 on functions f9, f11, and f16. This shows that the FWGWO algorithm has found the global optimal value on these functions. These cases verified the superiority of FWGWO over other algorithms. Furthermore, the variances of the results of these 30 independent experiments are also smaller. As can be seen in Table 2, the optimization results of FWGWO on the unimodal functions f1-f5, whether the mean or the variance, are superior to other algorithms. As mentioned above, the unimodal function is utilized to test the exploitation ability of the algorithm. From these results, it can be seen that, compared with FWA, GWO, and other algorithms, FWGWO can find a better solution in a limited number of iterations and has a better exploitation ability. It can also be seen from Table 2 that FWGWO has better results in seven of the eight functions on the multimodal functions f9-f16. The multimodal functions are used to test the exploration ability of the algorithm. It can be known from the experiment results that the FWGWO algorithm has a better global optimization ability than other algorithms used in this paper, including the original GWO, the standard FWA, and the enhanced GWO. Figures 3 and 4 show the convergence process of FWGWO and other algorithms mentioned in this paper on 16 reference benchmark functions. The curves we provided in Figures 3 and 4 are the average fitness curves of 30 repetitions. As shown in Figure 3, at the first few iterations, FWGWO's convergence is slightly slower than that of other algorithms. In this process, the algorithm explores a lot to search for a better exploitation of the local areas. In the following convergence process, FWGWO converges quickly in this region, searching for a better solution than other algorithms after a total of 500 iterations. Figure 4 shows the comparison of the convergence of FWGWO with other algorithms on multimodal functions. As mentioned above, the multimodal functions are used to test the local optima avoidance ability of the algorithm.
In Figure 4, we can see that unlike other algorithms that have been trapped in the local optimum, FWGWO continues to search for a better fitness on most benchmark functions and keeps approaching global optima. This proves that the FWGWO algorithm has a better global optimization searching ability when compared with other algorithms. According to the above comprehensive description, the hybrid algorithm FWGWO is superior to other algorithms in both the accuracy of the solution and the convergence. It can be concluded that the FWGWO algorithm has better overall performances on most optimization problems than other algorithms.
The mean running time of 30 repetitions has been shown in Table 3. The results show that the running time of the FWGWO algorithm is a little bigger than that of GWO and much smaller than that of FWA. As mentioned in Section 4, FWA has a larger time complexity, while GWO has a smaller time complexity. The location update strategy of FWA has been used in FWGWO a few times. Therefore, FWGWO has a bigger running time than GWO. Considering the improvement of the convergence performance, it is acceptable to sacrifice a little running time.
Wilcoxon's nonparametric statistical test is conducted at the 5% significance level in order to determine whether the FWGWO provides a significant improvement compared to other algorithms or not. The results of different algorithms on the benchmark function were employed to test the Wilcoxon rank sum, and p and h values were obtained as significant level indicators. If the p value is less than 0.05, the null hypothesis is rejected. At this time, the h value is 1, and the two algorithms tested are considered significantly different. Conversely, when the p value is greater than 0.05, the h value is 0, and the two algorithms tested are considered to not be significantly different. In this paper, the Wilcoxon rank sum is tested with the results of 30 repeated experiments on 16 benchmark functions by the FWGWO algorithm and other algorithms. The test results are shown in Table 4. In most cases, the h values of the test results are 1, except that the results' p values for AGWO and FWGWO on f8, f11, f15, and f16 are greater than 0.05 and the h values are 0. This means that the optimization efficiency of FWGWO and AGWO is similar in f8, f11, f15, and f16. The results show that in most cases the performance of the FWGWO algorithm is significantly improved when compared with other algorithms. In Figure 4, we can see that unlike other algorithms that have been trapped in the local optimum, FWGWO continues to search for a better fitness on most benchmark functions and keeps approaching global optima. This proves that the FWGWO algorithm has a better global optimization searching ability when compared with other algorithms. According to the above comprehensive description, the hybrid algorithm FWGWO is superior to other algorithms in both the accuracy of the solution and the convergence. It can be concluded that the FWGWO algorithm has better overall performances

Conclusions
In this paper, a hybrid algorithm FWGWO based on Grey Wolf Optimizer (GWO) and Fireworks Algorithm (FWA) is proposed for the optimization of multidimensional complex space. The FWGWO algorithm combines the good exploitation ability of GWO with the strong exploration ability of the FWA algorithm. In order to balance the exploitation with the exploration, an adaptive balance coefficient is employed in this algorithm. The probability of exploitation or exploration is controlled by the balance coefficient. By changing the balance coefficient, the FWGWO algorithm can avoid the local optimal value as much as possible and has a fast convergence speed. In order to verify the performance superiority of the FWGWO algorithm, the FWGWO algorithm was tested 30 times with IPSO, PSO, BBO, CSA, MFO, FWA, GWO, AGWO, and EGWO algorithms on 16 benchmark functions, and their test results were compared with each other. The compared results show that the FWGWO algorithm has a better global optimization ability and faster convergence speed compared with other algorithms. In addition, the Wilcoxon rank sum test was used to test the optimization results. The test results show that the FWGWO algorithm has a significant improvement compared to other algorithms. This paper presents a new method for combining two algorithms. In the future, this method could be used in combination with other enhanced algorithms. Furthermore, the FWGWO can be applied to solve single-and multi-objective optimization problems like the feature selection problem.

Function
Range