# Analysis and Improvement of Fireworks Algorithm
## 3 Analysis and Improvement of Fireworks Algorithm
### Opposition-Based Learning Population Initialization
In order to verify the performance of the algorithm proposed in this paper, we use the CEC2013 test set [23], including 28 different types of test functions, which are listed in \[{x_{l}}^{k}={X_{l}}^{k} \tag{14}\]2 All experimental test functions dimensions are set to 30, \(d\) = 30. Finally, we use Matlab R2014a software on a PC with a 3.2 GHz CPU (Intel Core i5-3470), and 4 GB RAM, and Windows 7(64 bit). ### Simulation Results and Analysis

#### 5.2.1 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. \begin{table}
\begin{tabular}{c c c} \hline \hline  & **Function Number** & **Function Name** & **Optimal Value** \\ \hline \multirow{4}{*}{Unimodal Functions} & 1 & Sphere function & \(-1400\) \\  & 2 & Rotated high conditioned elliptic function & \(-1300\) \\  & 3 & Rotated bent cigar function & \(-1200\) \\  & 4 & Rotated discus function & \(-1100\) \\  & 5 & Different powers function & \(-1000\) \\ \hline \multirow{4}{*}{Basic Multimodal Functions} & 6 & Rotated rosenbrock’s function & \(-900\) \\  & 7 & Rotated schaffers F7 function & \(-800\) \\  & 8 & Rotated Ackley’s function & \(-700\) \\  & 9 & Rotated weierstrass function & \(-600\) \\  & 10 & Rotated griewank’s function & \(-500\) \\  & 11 & Rastrigin’s function & \(-400\) \\  & 12 & Rotated nastrigin’s function & \(-300\) \\  & 13 & Non-continuous rotated nastrigin’s function & \(-200\) \\  & 14 & Schewef’s function & \(-100\) \\  & 15 & Rotated schwef’s function & \(100\) \\  & 16 & Rotated katsuura function & \(200\) \\  & 17 & Lunacek Bi\_Rastrigin function & \(300\) \\  & 18 & Rotated Lunacek Bi\_Rastrigin function & \(400\) \\  & 19 & Expanded griewank’s plus rosenbrock’s function & \(500\) \\  & 20 & Expanded scaffer’s F6 function & \(600\) \\ \hline \multirow{4}{*}{Composition Functions} & 21 & Composition function 1 (N = 5) & 700 \\  & 22 & Composition function 2 (N = 3) & 800 \\  & 23 & Composition function 3 (N = 3) & 900 \\  & 24 & Composition function 4 (N = 3) & 1000 \\  & 25 & Composition function 5 (N = 3) & 1100 \\  & 26 & Composition function 6 (N = 5) & 1200 \\  & 27 & Composition function 7 (N = 5) & 1300 \\  & 28 & Composition function 8 (N = 5) & 1400 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: CEC2013 test set. 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. #### 5.2.2 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 1 shows the searching curves of remaining 20 functions.