Journal of Optimization

Journal of Optimization / 2018 / Article

Research Article | Open Access

Volume 2018 |Article ID 6495362 |

Juan Barraza, Luis Rodríguez, Oscar Castillo, Patricia Melin, Fevrier Valdez, "A New Hybridization Approach between the Fireworks Algorithm and Grey Wolf Optimizer Algorithm", Journal of Optimization, vol. 2018, Article ID 6495362, 18 pages, 2018.

A New Hybridization Approach between the Fireworks Algorithm and Grey Wolf Optimizer Algorithm

Academic Editor: S. Mehdi Vahidipour
Received30 Jan 2018
Accepted03 Apr 2018
Published27 May 2018


The main aim of this paper is to present a new hybridization approach for combining two powerful metaheuristics, one inspired by physics and the other one based on bioinspired phenomena. The first metaheuristic is based on physics laws and imitates the explosion of the fireworks and is called Fireworks Algorithm; the second metaheuristic is based on the behavior of the grey wolf and belongs to swarm intelligence methods, and this method is called the Grey Wolf Optimizer algorithm. For this work we studied and analyzed the advantages of the two methods and we propose to enhance the weakness of both methods, respectively, with the goal of obtaining a new hybridization between the Fireworks Algorithm (FWA) and the Grey Wolf Optimizer (GWO), which is denoted as FWA-GWO, and that is presented in more detail in this work. In addition, we are presenting simulation results on a set of problems that were tested in this paper with three different metaheuristics (FWA, GWO, and FWA-GWO) and these problems form a set of 22 benchmark functions in total. Finally, a statistical study with the goal of comparing the three different algorithms through a hypothesis test (-test) is presented for supporting the conclusions of this work.

1. Introduction

In recent years, the global world of computer science is creating an interesting environment [1] for research, especially, with algorithms that aim at solving different optimization problems [2], which means maximizing or minimizing depending on the goal and the requirements of the particular problem [3].

At present time, a family of recent algorithms having great impact is the so-called bioinspired algorithms [4]; the reason is because they offer an interesting way of simulating the combination among the natural phenomena, mathematics, and computation. Combination is a key word among these algorithms; for example, in genetic algorithms [5], a combination is performed with two operators, such as crossover and mutation.

Keeping on with the combination concept, another related concept is hybridization [6], and we can understand, for hybridization, processes in which discrete structures, which can exist separately, are combined to generate new structures, objects, and methods.

In recent works, it has been demonstrated that the hybridization of bioinspired algorithms has yielded very good results, and in this regard the main contribution in this work is the proposed hybridization between the Fireworks Algorithm (FWA) [7] and the Grey Wolf Optimizer (GWO) [8] taking advantage of their best features and combining them for obtaining a better overall performance for solving problems, in a new hybrid algorithm. The above-mentioned hybridization is described and explained in more detail in the following sections of this paper.

The remainder of the paper is organized as follows: we start with basic concepts in Section 2, which is organized in two parts, FWA in the first part and GWO in the second part. In Section 3, we present the proposed FWA-GWO method, then the simulation results are presented in Section 4, and finally, we conclude the paper, by mentioning possible future work in Section 5.

2. Basic Concepts

In this section, the basic concepts about FWA and GWO are presented to provide the reader with a background for understanding the proposed hybrid approach (FWA-GWO).

2.1. Fireworks Algorithm (FWA)

The FWA is a metaheuristic method based on the explosion of fireworks behavior [9]. Every firework performs an explosion process generating a number of sparks, which are placed on a local space around the corresponding firework to represent possible solutions in a search space [10, 11].

2.1.1. Number of Sparks

Equations (1) are used to calculate the number of sparks [12, 13].

2.1.2. Explosion Amplitude

The explosion amplitude [14] is calculated for each firework by the following equation:

2.1.3. Generating Sparks

Random dimensions are calculated with the following equation knowing that when a firework explodes, its sparks will take different random directions.

2.1.4. Selection of Locations

After the explosion of the fireworks, to maintain the diversity of the sparks, places are selected with respect to the location of the others. To calculate the distance among and the other places, the following equations are used:

Figure 1 shows the general flowchart of the FWA, where the original author of the method [7] described each equation that was presented above and that we can find in more detail in the original paper [11] and other variants presented in [1517].

2.2. Grey Wolf Optimizer

The Grey Wolf Optimizer (GWO) algorithm [18] is a metaheuristic created by Seyedali Mirjalili in 2014. In this algorithm the author takes advantage of the main features that the grey wolf has in nature based on the research of Muro et al. [19] about hunting strategies of the Canis lupus or grey wolf. When the original author designed the algorithm, the following features were highlighted: the hierarchy into the pack [20] and the hunting mechanism.

Basically, the optimization process is guided by the three best solutions in the pack or in all the population, so in order to recognize these better solutions, we assume that the best solution is called the alpha wolf, then the second and third best solutions in the optimization are called beta and delta wolves, respectively, and finally the rest of the candidate solutions are called omega wolves.

In addition it is important to mention that the hunting mechanism behavior of the grey wolf and its main phases are described as follows: first, pursue and approach the prey, after that encircle and harass the prey until it stops moving, and finally attack the prey. In the algorithm this behavior is simulated byIn this case, (6) represents a distance between the best solution and a random motion that is represented in (9) and is a random value in a range minus the solution that we have evaluated ().

The next position of the current solution is presented in (7) that is a subtraction of the best solution and the distance that we have obtained in (6) multiplied by a weight (), which is assigned to this distance and this is described in and coefficients represent the ways for the exploration and exploitation in the algorithm to occur [21], both in direct and in indirect ways, and we can find extensive information of these coefficients in the original paper, where the method was originally proposed [22].

Equations (10) and (11) are the same as (6) and (7), respectively, but in this case the best solution is represented by the leaders of the pack and in this case alpha, beta, and delta, as we mentioned above.Finally, in (12) we can find the next position of the solution that we are evaluating, which is basically an average based on the three best wolves in the pack, so in these equations that we described above we can find the main inspiration for the GWO algorithm, which is the hierarchical pyramid of leadership and the hunting mechanism. In Figure 2 we can find the flow chart of the algorithm.

3. Proposed FWA-GWO

The main goal of the hybridization between both methods [6] is to take advantage of their main features and in this paper we present the following features of each method that we are using for achieving hybridization:FWA:(i)Initialization(ii)Explosion amplitude(iii)LocationsGWO:(i)Hierarchical pyramid(ii)Interaction among the population(iii)Next location of population

Figure 3 shows a general flow chart of the proposed hybridization between the FWA and GWO algorithms and the red blocks represent the considered features of the FWA and the blue blocks the GWO features that are used in the proposed hybrid approach.

In order to explain the performance of the FWA-GWO, we are presenting below the details of each block in the flowchart that we illustrated in Figure 3.

3.1. Select Initial Packs and Wolves

We start to select a number of locations as in the FWA, but in this case we are representing the number of the packs in the population. In addition we need to select the number of wolves for each pack represented by . It is important to mention that the conventional FWA works with a number of function evaluations and the GWO works with the iterations as stopping criteria, so in (13) we show the relation between both types of stopping criteria.where is the total number of iterations; is the number of function evaluations; is the number of packs; and is the number of wolves for each pack.

For example if we have 4 packs and 6 wolves for each pack, we have 24 possible solutions for each iteration in the algorithm; therefore, for 15,000 function evaluations the FWA-GWO algorithm will execute 625 iterations [23].

3.2. Set Initial Packs with Wolves for the Search Space

We add a way to select initial locations in this algorithm, which means that, depending on the number of packs, the corresponding number of partitions is found. For example, if we have a search space with a lower bound and upper bound defined in a range ,where TS is a total search space and ub and lb represent the upper and lower bounds, respectively.

We need subspaces where each pack performs the initialization of its subpopulation and this behavior is represented inSS is the distance that should exist between each range for each pack. These ranges for each pack are calculated with a general linear function, as shown as follows:where , is the number of packs, and is a calculated constant value. In this case, of the search space, such that the search ranges for each pack are [], []⋯[]. We can represent this as follows: .

In Figure 4, we can find an example of this initialization method with 4 packs and a search space in a range of of [, 100] with 2 dimensions.

An advantage of this algorithm is the initialization of the population in subspaces of the search space; FWA-GWO partitions the search space for the function to be evaluated based on the number of packs, with the aim of covering most of the search space and assuring achieving the exploration. Figure 5 shows the initialization of the population based on the leader.

3.3. Update the Positions for Each Agent Based on Its Packs

As we mentioned above, this part simulates the update of the wolves based on the leaders of each pack, and to understand better its performance, we illustrate in a graphical way a representation of this behavior.

Figure 6 shows an example of how to update the positions in FWA-GWO; is a bidimensional plot with a function in a range of and with an optimum equal to zero. Also in Figure 6, we can find in a graphical way the convergence of the all search agents in the algorithm. In addition, we can mention that blue, red, aqua, and green points represent the members of the 4 packs for this example, and the magenta points represent the initialization of each pack.

On the other hand, to keep the equilibrium of this algorithm (FWA-GWO), we decided to partition the search process in 3 phases; 100 percent of the total number of iterations was divided into 3 parts. We consider the first phase in an interval of 0% to 33.3% of the iterations and we consider this as the exploration phase, the second phase takes an interval from 33.3% to 66.6%, in this phase sometimes the FWA-GWO algorithm is exploring and other times exploiting, and finally, we consider the third phase as the exploitation and take the remaining part of the percentage (66.6% to 99.9%) of the total number of iterations.

It is worth mentioning that the number of packs is not constant, while the FWA-GWO is working. In other words, the objective of having three phases in this algorithm is to reduce the number of packs according to the particular phase in this algorithm. In addition, in the first phase (exploration) the algorithm will work with the number of packs and wolves that we selected at the beginning; in the second phase, the numbers of packs is reduced at half with the help of (17) and finally the FWA-GWO algorithm always finishes the optimization with only one big pack.Table 1 shows examples of the relationship between the phases and number of packs, respectively, based on the number of packs that were initialized.

PhaseNumber of packs


In addition, we are presenting this information (Table 1) in a graphical way to explain the relationship in more detail. Figure 7 represents phase 1 where and .

In Figure 8 we present the second phase, so the new value of is based on (17) and the new value for is 12, because we divided the population into the number of packs . In addition we can mention that the total population is the same as that was originally initialized.

Finally, in Figure 9 we can find only one big pack as we mentioned above. In addition we can mention that this is an example of how the population is distributed into the 3 phases that the algorithm has and finally we assume that each pack has their corresponding leaders (alpha, beta, and delta).

3.4. Mathematical Model of FWA-GWO

For the hybridization between FWA and GWO, we modified the equations in GWO to calculate the distance for updating the next position of the current solution, and we introduced the amplitude explosion of the FWA into the distance for updating the next position in GWO (coefficient in (6)). Equation (18) shows the changes that we mentioned above.where represents the amplitude explosions of each pack and is the number of packs. When the number packs is 1 then the amplitude is 0.5, when the number of packs is 2 then the amplitude of the packs is 1 and 2, respectively [8]. When the number of packs is equal or greater than 3, we can then use the formula of the amplitude explosion of FWA.

The reason why the parameters are 0.5, 1, and 2 when the number of packs is one or two is because we are trying to maintain the parameter values in a range of , as the parameter in (6) in GWO is the one that controls the exploration and exploitation in the algorithm.

Equation (19) shows how we can normalize the parameter of the explosion amplitude between 0 and 2 when the number of packs is greater than 2.where represents the explosion amplitude normalized for each pack and is the maximum value of all amplitudes.

The distance between the best wolf with a random motion and the current wolf of each pack is calculated in the following way:where is the obtained distance of each pack, is the leader of the pack, and is the current wolf of each pack.

The weight for each distance of the omega wolves and the leaders of the pack that we described above is defined as follows:In (21), represents the weight for (22), is a value that decreases during iterations in a range of , and is a random value between 0 and 1 for each pack.

Equation (22) allows updating the next position of the current wolf and the mathematical model is defined as follows:where represents the next position, is the best wolf of each pack, and and are described in (20) and (21), respectively.

To apply randomness in the method, (23) is used with the aim that each leader obtains different moves for each omega wolf.Equations (24) and (25) are the same as (10) and (11) in GWO, but the difference is that now the leaders are represented for each pack.In (26) we can find the next position of the solution that we are evaluating as the GWO works and is an average of the three best wolves, but in this case this is represented for each pack. Finally, Algorithm 1 presents the pseudocode for the FWA-GWO.

Initialize and
Initialize the grey wolf population
Initialize a, and
Calculate the fitness of each search agent
= the best search agent of pack
= the second best agent of pack
= the third best search agent of pack
while  ( < Max number of iterations)
for each search agent
Update the position of the current search
agent by Equation (5)
end for
Update , and
Update and
Calculate the fitness of all search agents
Update , and
end while
return best

4. Simulation Results and Discussion

In this section we are presenting the benchmark functions that are used in this work.

Table 2 shows the equations of the first 13 benchmark functions [2426] used for the tests with the algorithms (FWA, FWO, and FWA-GWO) that can be classified as unimodal and multimodal, respectively. Figure 10 shows the graphical representations of these benchmark functions in their 3D versions.


[−100, 100]0
[−100, 100]0
[−100, 100]0
[−100, 100]0
[−100, 100]0
[−100, 100]0
[−100, 100]
[−100, 100]0
[−100, 100]0
[−100, 100]0
[−100, 100]0
[−100, 100]0
[−100, 100]0

Also in this paper we used another set of 9 benchmark functions that are called fixed-dimension multimodal and we can find their corresponding equations in Table 3 with the number of dimensions that were considered, the range of the search space and the optimal value for each function, respectively. Finally, in Figure 11 we show the graphical representations of these benchmark functions in their 3D versions.



For the experiments that were performed in this paper, we are presenting three different configurations for the FWA-GWO algorithm and we can find their descriptions as follows:(1)Version 1(i)4 packs(ii)6 wolves for each pack(iii)625 iterations(iv)15,000 function evaluations(2)Version 2(i)5 packs(ii)6 wolves for each pack(iii)500 iterations(iv)15,000 function evaluations(3)Version 3(i)8 packs(ii)5 wolves for each pack(iii)375 iterations(iv)15,000 function evaluations

For comparing the performance of all the algorithms, we performed hypothesis tests (-test) [22, 27, 28] with the following parameters:(i) (FWA-GWO)(ii)(iii)The mean of the FWA-GWO is lower than the mean of the original method (claim)(iv)(v)(vi)(vii)

We show the hypothesis tests results in the following tables, where we are comparing FWA-GWO with FWA and FWA-GWO with GWO, respectively.

4.1. Comparison between GWO and FWA-GWO

In Tables 411, we are presenting a comparison and hypothesis tests between the GWO and the hybrid method for 30, 60, and 90 dimensions and the three different versions, respectively.

30 dimensions
FunctionGWOSTDHybrid V1STD-value


30 dimensions
FunctionGWOSTDHybrid V2STD-value


30 dimensions
FunctionGWOSTDHybrid V3STD-value


30 dimensions
FunctionFWASTDHybrid V1STD-value