Analysis and Improvement of Fireworks Algorithm

: The Fireworks Algorithm is a recently developed swarm intelligence algorithm to simulate the explosion process of ﬁreworks. Based on the analysis of each operator of Fireworks Algorithm (FWA), this paper improves the FWA and proves that the improved algorithm converges to the global optimal solution with probability 1. The proposed algorithm improves the goal of further boosting performance and achieving global optimization where mainly include the following strategies. Firstly using the opposition-based learning initialization population. Secondly a new explosion amplitude mechanism for the optimal ﬁrework is proposed. In addition, the adaptive t -distribution mutation for non-optimal individuals and elite opposition-based learning for the optimal individual are used. Finally, a new selection strategy, namely Disruptive Selection, is proposed to reduce the running time of the algorithm compared with FWA. In our simulation, we apply the CEC2013 standard functions and compare the proposed algorithm (IFWA) with SPSO2011, FWA, EFWA and dynFWA. The results show that the proposed algorithm has better overall performance on the test functions.


Introduction
The Fireworks Algorithm (FWA) [1] is a newly developed evolutionary algorithm.Like other evolution algorithms, it also aims to find the vector with the best (usually minimum) fitness in the search space.Inspired by real fireworks, the main idea of the FWA is to use the explosion of the fireworks to search the feasible space of the optimization function, which is a brand new search manner.At present, the fireworks algorithm has been applied to many practical optimization problems [2], the application areas include the factorization of a non-negative matrix [3], the design of digital filters [4], the parameter optimization for the detection of spam [5], the reconfiguration of networks [6], the mass minimization of trusses [7], the parameter estimation of chaotic systems [8], the scheduling of multi-satellite control resources [9], etc.
However, similar to other intelligent optimization algorithms, fireworks algorithms have some disadvantages such as slow convergence speed and low accuracy, thus, many improved algorithms have been proposed.An enhanced fireworks algorithm (EFWA) was put forward by analyzing the explosion operator, mutation operator, selection strategy and mapping rule of the fireworks algorithm [10].An adaptive firework algorithm (AFWA) is proposed to carry out the self-tuning for the explosion amplitude [11].That is to say, the explosion amplitude of the fireworks is determined by the distance between the individual with the best population fitness value and the distance between a specific individual.A dynamic search firework algorithm (dynFWA) is proposed, which divides the fireworks population into optimal firework with the optimal fitness value and non-optimal fireworks.By doing so, the two populations maintained a good balance during the evolution and showed good performance [12].However, the fireworks algorithm is still in the development stage, to be further studied to enhance the performance.
In this paper, firstly we use the opposition-based learning strategy to initialize population to increase the diversity of the population and improve the probability to search the global optimal solution.Secondly a new explosion amplitude mechanism for the optimal firework is proposed from the aspects of population evolution rate and population aggregation degree, to enhance the ability to search the global optimal solution of the optimal firework.In addition, adaptive t-distribution for non-optimal fireworks and elite opposition-based learning for optimal firework are applied, in order to improve the global exploration ability and local development ability and make the FWA jump out of the local optimum effectively.Finally, a new selection strategy is proposed to reduce the run-time of the algorithm.Based on this, an improved fireworks optimization algorithm (IFWA) is proposed to improve the convergence speed and precision and reduce the run-time.
The paper is organized as follows.In Section 2, the fireworks algorithm is introduced.The IFWA algorithm is presented in Section 3. The simulation experiments and results analysis are given in details in Section 4. Finally, the conclusion summarizes in final part.

Fireworks Algorithm
In FWA, the explosion amplitude of each fireworks and the number of sparks produced by the explosion are calculated based on its relative fireworks fitness values in the fireworks population.Assume that the number of fireworks is N and the number of dimensions is d, then the explosion amplitude A i (Equation ( 1)) and the number of explosion sparks S i (Equation ( 2)) for each firework X i are calculated as follows.
where y max = max(f (X i )), y min = min(f (X i )), A and m are two constants to control the explosion amplitude and the number of explosion sparks, and ε is the machine epsilon to avoid A i or S i is equal to 0. In order to limit the good fireworks do not produce too many explosive sparks, while the poor fireworks do not produce too few sparks, its scope S i is defined as.
where a and b are fixed constant parameters that confine the range of the population size.Based on A i and S i , the explosion operator is performed (confer Algorithm 1).For each of the Si explosion sparks of each firework X i , Algorithm 1 is performed once.In Algorithm 1, the operator % refers to the modulo operation, and X min k and X max k refer to the lower and upper bounds of the search space in dimension k.

Algorithm 1: Generating Explosion Sparks
Initialize the location of the explosion sparks: X j = X i Calculate the number of explosion sparks S i Calculate the explosion amplitude In order to increase the diversity of the population, the fireworks algorithm introduced mutation operator used to generate mutation sparks, namely Gaussian mutation sparks.Gaussian mutation of the spark produced as follows: First of all in the fireworks population randomly select a fireworks X i , and then the fireworks randomly select a certain number of dimensions for Gaussian mutation operation.Algorithm 2 shows this process, it is performed N g times, each time with a randomly selected firework X i (N g is a constant to control the number of Gaussian sparks).

Algorithm 2: Generating Gaussian Sparks
Initialize the location of the explosion sparks: In order to transmit the excellent information in the fireworks population to the next generation population, the algorithm chooses a certain number of individuals (including fireworks, explosion sparks and Gaussian sparks) as the next generation fireworks.
In FWA, the current best location is always kept for the next iterations.In order to keep the diversity, the remaining N − 1 locations are selected based on the method of roulette.For location X i , the selection probability p i is calculated as follows: where K is the set of all current locations including original fireworks and both types of sparks (without the best location).As a result, fireworks or sparks in low crowded regions will have a higher probability to be selected for the next iteration than fireworks or sparks in crowded regions.
Algorithm 3 summarizes the framework of FWA.Based on Algorithms 1 and 2, explosion sparks and Gaussian sparks are produced, respectively.For explosion sparks, the number of sparks and the amplitude of the explosion depend on the fitness value of the fireworks.In contrast, Gaussian sparks are generated by using the Gaussian mutation process.After that, a best location and n − 1 locations are selected for the next explosion.4), select n − 1 position randomly from two sparks and the current fireworks.
End while

Opposition-Based Learning Population Initialization
Opposition-based learning (OBL) is first proposed by Tizhoosh [13].OBL simultaneously considers a solution and its opposite solution; the fitter one is then chosen as a candidate solution in order to accelerate convergence and improve solution accuracy.It has been used to enhance various optimization algorithms, such as the differential evolution [14], the particle swarm optimization [15], the firefly algorithm [16], the adaptive fireworks algorithm [17] and the quantum firework algorithm [18].Inspired by these, OBL was add to FWA to initialize population.Definition 1. Assume X = (x 1 ,x 2 ,...,x d ) is a solution with d dimensions, where x 1 ,x 2 ,...,x d ∈R and x i ∈[L i ,U i ], i=1,2,...,d.The opposite solution OX = (ox 1 ,ox 2 ,...,ox d ) is defined as follows: In fact, according to probability theory, 50% of the time an opposite solution is better.Therefore, based on a solution and an opposite solution, OBL has the potential to accelerate convergence and improve solution accuracy.
In the population initialization, both a random solution and an opposite solution OP are considered to obtain fitter starting candidate solutions.
Algorithm 4 is performed for opposition-based population initialization as follows.

Analysis and Improvement of Explosion Amplitude
The main purpose of Equation ( 1) is that the explosion amplitude of the fireworks is inversely proportional to the fitness value of the function.It enhances the local search ability of the fireworks.However, if we apply the optimal fireworks into Equation (1), the result as follows.
Since the numerator is the smallest constant expressed in the computer, the result of the Equation ( 7) is equal to 0. It is obviously inconsistent with the original design intent of the fireworks algorithm.The fireworks algorithm requires the optimal firework generated the largest number of sparks, i.e., sparks do not create much searches but increase the amount of calculation in vain.
where T is the maximum number of iterations, t is the number of iterations, A init and A final are the initial and final value of the explosion amplitude respectively.Although the two strategies effectively avoid the optimal firework explosion amplitude approaching to 0, it relies on the maximum number of iterations heavily which needs to be set manually.Based on this, we propose a new method to calculate the explosion amplitude for the optimal firework.According to the aspects of population evolution rate and population aggregation degree, this method dynamically changes the explosion amplitude.Definition 2. Assume the t generation global optimal value is denoted as Y min (t), the global optimal value of the t − 1 generation is Y min (t − 1).The population evolution rate a(t) is defined as follows.
Fireworks algorithm retains the optimal fireworks for each iteration, the current global optimal value is always better than or equal to the global optimal value of the last iteration.From Equation (10), the value of a(t) changes greatly means that the evolution speed is fast.When a(t) is equal to 1 after several iterations, it indicates that the algorithm stagnates or finds the optimal value.Definition 3. Assume the t generation global optimal value is denoted as Y min (t), the average fitness value of all fireworks in the t generation is denoted as Y avg (t).The population aggregation degree b(t) is defined as follows.
From Equation (11), b(t) is larger, indicating the distribution of fireworks in the population more concentrated.
According to Definitions 2 and 3 can be clearly reflected optimization process in FWA.If we adjust explosion amplitude of the optimal firework with the population evolution rate and population aggregation degree, it means combining the explosion amplitude and optimization process.
When a(t) is small, the evolution speed is fast, and the algorithm can search in a large space.That is, the optimal firework can be optimized in a large scope; when a(t) is too large, the search is performed in a small scope to find the optimal solution faster.
When b(t) is small, the fireworks are scattered and are less likely to fall into local optima, which is more likely to happen when b(t) assumes greater values.At this time, it is necessary to increase the explosion amplitude to increase the search space and improve the global searching ability of FWA.
To sum up, the explosion amplitude should decrease as the population evolution rate increases, and increase with population aggregation degree increases.This paper describes this phenomenon in a simplified way.
where A i is the explosion amplitude , and the initial value is set as the size of the objective function search space.up is the enlargement factor, low is the reduction factor.Of course, larger up and smaller low cannot help to search exactly.Thus, up and low should be set a fit value.This improvement is discussed in the following section: 1.
When the a(t) is not equal to 1, it means the algorithm finds a better solution than the last generation, and the explosion amplitude should be enlarged.We emphasize that increasing the explosion amplitude may speed up the rate of convergence: assume that the current optimal firework is far from the global optimum.Increasing the explosion amplitude is a direct and efficient way to help the algorithm move faster towards global optimization.However, it should also be noted that the probability of finding a better firework will decrease as the search space increases (obviously, this depends on the optimization function to a large extent).

2.
When the b(t) is equal 1, it means the algorithm may fall into local optima, and the fireworks are concentrated, increasing the explosion amplitude to make the fireworks are scattered, which help the algorithm jump out the local optima effectively.

3.
When the a(t) is equal 1 and the b(t) is not equal 1, it means the algorithm does not find out a better solution than the last generation and the fireworks are scattered.In this case, the optimal firework explosion amplitude will be reduced to narrow the search to a smaller area, thereby enhancing local development capability of the optimal firework.In general, the probability of finding a better firework increases as the explosion amplitude decreases.
In this paper, the explosion amplitude of the optimal firework is calculated by Equation ( 12).In contrast, the explosion amplitude of non-optimal fireworks is calculated still by Equation (1).Algorithm 5 is performed for updating explosion amplitude as follows.

Algorithm 5: Update Explosion Amplitude
Find the optimal firework from all fireworks of t generation : X best Calculate the fitness of the optimal firework of t generation : Y min (t) Calculate the fitness of the optimal firework of last iteration: Y min (t − 1) Calculate the average fitness value of all fireworks of t generation : Y avg (t) Calculate the population evolution rate : a(t) Calculate the population aggregation degree : b(t) For the optimal firework: If For the non-optimal fireworks: A i is calculated by Equation ( 1) Figure 1 depicts the process of explosion enlargement and reduction during the optimization of the Sphere function.An alternating behavior is noted, with reduction being performed more often, on the one hand because up and low are set to 1.2 and 0.9, on the other hand because the initial value of the explosion amplitude is set to the size of the search space, which is a considerable initial value.
Algorithms 2017, 10, 26 7 of 22 on the one hand because up and low are set to 1.2 and 0.9, on the other hand because the initial value of the explosion amplitude is set to the size of the search space, which is a considerable initial value.

Analysis and Improvement of Gaussian Mutation
Zheng pointed out the shortcomings of Gaussian mutation in FWA [10], and proposed a new type to generating location of Gaussian sparks, which is calculated as follows.
where g = Gaussian(0,1), Xb k is the position of the optimal firework in the k dimension of the current fireworks population.
Cauchy mutation has a strong global search ability due to larger search range, and Gaussian mutation has a strong local development ability with small search range [19].Therefore, the advantage of Equation ( 13) is to improve the local development capability of the algorithm, and does not improve the global search ability in the early stage of algorithm.Zhou pointed out t-distribution mutation combined with the two advantages of the Cauchy and Gaussian mutation [20], which has a strong global search ability in the early stage of algorithm and a good local development ability in the later stage of algorithm.
From Equation ( 13), when the optimal firework of the current population is selected for Gaussian mutation exactly, apply it into Equation (13).
As we know, the optimal firework is the best information for the current population carrier, but Gaussian mutation does not have any effect on the optimal firework in Equation (14).
To sum up, the adaptive t-distribution mutation is proposed for non-optimal fireworks to effectively keep a better balance between exploration and exploitation.Elite opposition-based learning for optimal firework to make the FWA jump out of the local optimum effectively and accelerate the global search ability.

Adaptive t-Distribution Mutation
T-distribution, also known as the student's t-distribution, includes n degrees of freedom.When t(n→∞), it is equal to Gaussian(0,1); when t(n→1), it is equal to Cauchy(0,1).That is the Gaussian distribution and the Cauchy distribution are two boundary special cases of t-distribution [20].Definition 4. Adaptive t-distribution mutation for non-optimal fireworks is used to generate location of sparks as follows.

Analysis and Improvement of Gaussian Mutation
Zheng pointed out the shortcomings of Gaussian mutation in FWA [10], and proposed a new type to generating location of Gaussian sparks, which is calculated as follows.
where g = Gaussian(0,1), X b k is the position of the optimal firework in the k dimension of the current fireworks population.Cauchy mutation has a strong global search ability due to larger search range, and Gaussian mutation has a strong local development ability with small search range [19].Therefore, the advantage of Equation ( 13) is to improve the local development capability of the algorithm, and does not improve the global search ability in the early stage of algorithm.Zhou pointed out t-distribution mutation combined with the two advantages of the Cauchy and Gaussian mutation [20], which has a strong global search ability in the early stage of algorithm and a good local development ability in the later stage of algorithm.
From Equation ( 13), when the optimal firework of the current population is selected for Gaussian mutation exactly, apply it into Equation (13).
As we know, the optimal firework is the best information for the current population carrier, but Gaussian mutation does not have any effect on the optimal firework in Equation (14).
To sum up, the adaptive t-distribution mutation is proposed for non-optimal fireworks to effectively keep a better balance between exploration and exploitation.Elite opposition-based learning for optimal firework to make the FWA jump out of the local optimum effectively and accelerate the global search ability.

Adaptive t-Distribution Mutation
T-distribution, also known as the student's t-distribution, includes n degrees of freedom.When t(n→∞), it is equal to Gaussian(0,1); when t(n→1), it is equal to Cauchy(0,1).That is the Gaussian distribution and the Cauchy distribution are two boundary special cases of t-distribution [20].Definition 4. Adaptive t-distribution mutation for non-optimal fireworks is used to generate location of sparks as follows. x where n is the number of iterations, that is the number of iterations is the freedom of t-distribution.Algorithm 6 is performed for Adaptive t-distribution mutation for non-optimal fireworks to generate location of sparks as follows.
Algorithm 6: Generating t-Distribution Mutation Sparks Initialize the location of the explosion sparks: In the early stage of the algorithm, the value of n is small and the t-distribution mutation is similar to Cauchy distribution mutation, and it has a good global exploratory ability.In the later stage of the algorithm, the value of n is large, and the t-distribution mutation is similar to Gaussian distribution mutation, and it has a good local development ability.In the mid-run of the algorithm, the t-distribution mutation is between the Cauchy distribution mutation and the Gaussian distribution mutation.Therefore, the t-distribution combines the advantages of Gaussian distribution and Cauchy distribution, balancing the exploration and exploitation.

Elite Opposition-Based Learning
The basic idea of opposition-based learning is as follows: for a feasible solution, we evaluate the opposition-based solution simultaneously, and the optimal solution is selected as the next generation in the current feasible solution and opposition-based solution.Opposition-based learning keeps the diversity of population but large, if all the fireworks produce opposition-based solution, it is blind and increasing the amount of calculation.Therefore, here we choose the optimal individual to perform opposition-based learning.Definition 5. Assume X best = (x best,1 ,x best,2 ,...,x best,d ) is a solution of the optimal firework with d dimensions, where x best,1 ,x best,2 ,...,x best,d ∈R and x i ∈[min i ,max i ], i = 1,2,...,d.The opposite solution OX best = (ox best,1 ,ox best,2 ,...,ox best,d ) is defined as follows.
where rand is a uniform distribution on the interval [0, 1], and min i and max i are the minimum and maximum values of the current search interval on the i dimension.By Definition 5, rand is a uniformly distributed random number on [0, 1].When rand takes different values, the optimal firework from the current population can produce a number of different optimal opposition-based fireworks, which are effective in increasing the diversity of the population and avoid the algorithm getting into the local optimal solution.Algorithm 7 is performed for elite opposition-based learning for optimal firework to generate location of sparks.This algorithm is performed N op times (N op is a constant to control the number of elite opposition-based sparks).
Algorithm 7: Generating Elite Opposition-Based Sparks Find the location of optimal firework: X best = (x 1 ,x 2 ,...,x d ) For i = 1:d do Find min i and max i of the current search interval on the i dimension ox best,I = rand × (min i + max i ) − x best,i If ox i out of bounds End if End for

Analysis and Improvement of Selection Strategy
From Equations ( 4) and ( 5), the selection strategy is based on the distance measure in FWA.However, this requires that the euclidean distance matrix between any two points in each generation, which will lead to fireworks algorithm time consuming.Based on this, this paper proposes a new selection strategy: Elitism-Disruptive selection strategy.
The same as FWA, the Elitism-Disruptive selection also requires that the current best location is always kept for the next iterations.In order to keep the diversity, the remaining N − 1 locations are selected based on disruptive selection operator.For location X i , the selection probability p i is calculated as follows [21]: where Y i is the fitness value of the objective function, Y avg is the mean of all fitness values of the population in generation t, SN is the set of all fireworks.
The selection probabilities determined by this method can give both good and poor individuals more chances to be selected for the next iteration, while individuals with mid-range fitness values will be eliminated.This method can not only maintain the diversity of the population, reflect the better global searching ability, but also reflect greatly reduce the run-time compared with the FWA.

Global Convergence Analysis of IFWA
Tan studied the convergence of the fireworks algorithm, the main conclusions are as follows [2]: Based on this, the global convergence of IFWA is given as follows: IFWA contains a t-distribution mutation, which is assumed to be a random variation for simplicity.Theorem 2. Given an absorption Markov process ({ε(t)} ∞ t=0 ) of IFWA and an optimization state space (Y*⊂Y).The conclusion as follows: Proof of Theorem 2. Assume P t is the probability that a firework from the non-optimal region to the optimal region R best in IFWA, under the action of t-distribution mutation: where ν(S) is the Lebesgue measure of the problem space S; N is the number of fireworks.
Obviously, ν(R best ) > 0, so P t > 0; Based on random Markov process of IFWA, the conclusion as follows: where P e is the probability that a firework from the non-optimal region to the optimal region R best in IFWA, under the action of explosion.
From Equation ( 21), the conclusion is as follows: Because the iterative process of the IFWA retains the optimal firework, that is, if the optimal firework is the global solution in the last iterative process, the optimal firework must be the global solution in the current iterative process.The conclusion as follows: And because the Markov process of IFWA is an absorbing Markov process, the condition of theorem 1 is satisfied, so have the follow conclusion: that is, lim Based on Definition 6, the Markov process of IFWA will converge to the optimal state.

Simulation Settings
Similar to FWA, the number of fireworks in IFWA is set to 5; and the number of elite opposition-based sparks is also set to 5; but in IFWA, the maximum number of sparks each generation is set to 200.The reduction and amplification factors of IFWA are set to 0.9 and 1.2 based on experience.The explosion amplitude is initialized to the size of the search space to keep the high exploratory ability at the beginning of the algorithm.FWA parameters set in accordance with [1].EFWA parameters set in accordance with [10].dynFWA parameters set in accordance with [12].SPSO2011 parameters set in accordance with [22].In the experiment, the function of each algorithm is repeated 51 times, and the final results after the 300,000 function evaluations are presented.In order to verify the performance of the algorithm proposed in this paper, we use the CEC2013 test set [23]

Verify Each Improvement
This paper proposed the below four improvements: 1.
The opposition-based learning used to initialize population.

2.
A new mechanism to adjust an explosion amplitude of the optimal firework.3.
t-distribution mutation for non-optimal fireworks, and the elite opposition-based learning for optimal firework.4.
A new selection strategy, called disruptive selection, is used to select next generation.
This section verifies each improvement to compare with FWA, the results are shown in Table 2.The FWA is the basic fireworks algorithm, FWA-I is basic fireworks algorithm with improvement 1, FWA-II is basic fireworks algorithm with improvements 1 and 2, FWA-III is basic fireworks algorithm with improvements 1-3, and the IFWA is the FWA with all improvements.As Table 2 shows, FWA-I, FWA-II, FWA-III and IFWA compared to the fireworks algorithm have different degrees of performance, and the IFWA shows better performance.

Searching Curves Comparison
Due to limited space, this paper selects eight functions which have great difference in evolution speed in five algorithms.Figure 2 shows searching curves of eight functions for FWA, EFWA, dynFWA, SPSO2011 and IFWA.The Figure A1 shows the searching curves of remaining 20 functions.Figure 2 shows that IFWA have faster convergence for eight functions than FWA, EFWA, dynFWA.However, in f2 and f12, the SPSO2011 is better, and in other functions, IFWA still has faster convergence.Thus, IFWA is the best one in terms of solution accuracy on most functions.

Comparison of Average Fitness Value and Average Rank
Table 3 shows comparison of average fitness value and total number of rank 1 for FWA, EFWA, dynFWA, SPSO2011 and IFWA.The results from Table 3 indicate that the total number of rank 1 of IFWA ( 17) is the best in the five algorithms.The results from Table 3 indicate that the total number of rank 1 of IFWA ( 17) is the best in the five algorithms.The results from Figures 3 and 4 indicate that the average run-time cost of SPSO2011 is the most expensive among the five algorithm.The time cost of IFWA is the least.

Comparison of Statistical Test
To evaluate whether the IFWA results were significantly different from those of the FWA, EFWA, dynFWA and SPSO2011, the IFWA mean results during iteration for each test function were compared with those of the FWA, EFWA, dynFWA and SPSO2011.The T test [24], which is a safe and robust, was utilized at the 5% level to detect significant differences between these pairwise samples for each test function.
The ttest2 function in Matlab R2014a was used to run the T test, as shown in Table 4.The null hypothesis is that the results of IFWA, SPSO2011, FWA, EFWA and dynFWA are derived from distributions of equal mean, and in order to avoid to increase type I error, we correct the p-values using the Holm's method, and order the p-value for the four hypotheses being tested from smallest to largest, and here we have four t tests.Thus, the p-value 0.05 is changed to 0.0125, 0.0167, 0.025, and 0.05, and then the corrected p-values were used to compare with p-values respectively.The results from Figures 3 and 4 indicate that the average run-time cost of SPSO2011 is the most expensive among the five algorithm.The time cost of IFWA is the least.

Comparison of Statistical Test
To evaluate whether the IFWA results were significantly different from those of the FWA, EFWA, dynFWA and SPSO2011, the IFWA mean results during iteration for each test function were compared with those of the FWA, EFWA, dynFWA and SPSO2011.The T test [24], which is a safe and robust, was utilized at the 5% level to detect significant differences between these pairwise samples for each test function.
The ttest2 function in Matlab R2014a was used to run the T test, as shown in Table 4.The null hypothesis is that the results of IFWA, SPSO2011, FWA, EFWA and dynFWA are derived from distributions of equal mean, and in order to avoid to increase type I error, we correct the p-values using the Holm's method, and order the p-value for the four hypotheses being tested from smallest to largest, and here we have four t tests.Thus, the p-value 0.05 is changed to 0.0125, 0.0167, 0.025, and 0.05, and then the corrected p-values were used to compare with p-values respectively.
Here p-value is the result of the T test.The "+" indicates the rejection of the null hypothesis at the 5% significance level, and the "−" indicates accept the null hypothesis at the 5% significance level.
Table 4 indicates that IFWA showed a large improvement over FWA, EFWA, dynFWA and SPSO2011 in most functions.

Conclusions
Based on the analysis of the FWA, an improved fireworks algorithm (IFWA) is proposed in this paper.IFWA firstly puts opposition-based learning into FWA to initialize the population.Moreover, aiming at the shortage of explosion amplitude in FWA, a new explosion amplitude mechanism is proposed.Then, the adaptive t-distribution mutation is proposed for non-optimal fireworks, and elite opposition-based learning for optimal firework.At last, a new selection mechanism is proposed, which reduces the run-time of algorithm.
We apply the CEC2013 standard functions to examine and compare the proposed algorithm IFWA with SPSO2011, FWA, EFWA and dynFWA.The results clearly indicate that IFWA can perform significantly better than FWA, EFWA, dynFWA and SPSO2011 in terms of solution accuracy.Overall, the research demonstrates that IFWA performed the best for both solution accuracy and run-time cost.

Figure 1 .
Figure 1.Enlargement and reduction of explosion amplitude (on the Sphere function).

Figure 1 .
Figure 1.Enlargement and reduction of explosion amplitude (on the Sphere function).

Figures 3 and 4
Figures 3 and 4 show comparison of average run-time cost in 28 functions for FWA, EFWA, dynFWA, SPSO2011 and IFWA.

Figures 3 and 4
Figures 3 and 4 show comparison of average run-time cost in 28 functions for FWA, EFWA, dynFWA, SPSO2011 and IFWA.

Table 1 .
, including 28 different types of test functions, which are listed in Table 1.All experimental test functions dimensions are set to 30, d = 30.CEC2013 test set.

Table 2 .
Average fitness value and total number of rank 1.

Table 3 .
Average fitness value and total number of rank 1.