1 Motivation

The Fireworks Algorithm (FWA) is a recently developed swarm intelligence algorithm based on simulating the explosion process of fireworks. In analogy with real fireworks exploding and illuminating the night sky, the fireworks (i.e, individuals) in FWA are let off to the potential search space. For each firework, an explosion process is initiated and a shower of sparks fills the local space around it. Fireworks as well as the newly generated sparks represent potential solutions in the search space. Similar to other optimization algorithms, the goal is to find a good (ideally the global) solution of an optimization problem, which is usually a nonlinear function. FWA presents a new search manner which searches the potential space by a stochastic explosion process within a local space. A principle FWA works as follows: At first, N fireworks are initialized randomly, and their quality (i.e., fitness) is evaluated in order to determine the explosion amplitude and the number of sparks for each firework. Subsequently, the fireworks explode and generate different types of sparks within their local space. Finally, N candidate fireworks are selected among the set of candidates, which includes the newly generated sparks as well as the N original fireworks.


Fig.1 Mathematical Modeling Process of Fireworks Algorithm

In order to ensure diversity and balance the global and local search, the explosion amplitude and the population of the newly generated explosion sparks differ among the fireworks. A firework with better fitness can generate a larger population of explosion sparks within a smaller range, i.e., with a small explosion amplitude. Contrary, fireworks with lower fitness can only generate a smaller population within a larger range, i.e., with higher explosion amplitude. This technique allows to balance between exploration and exploitation capabilities of the algorithm. While exploration refers to the ability of the algorithm to explore various regions of the search space in order to locate promising good solutions, exploitation refers to the ability to conduct a thorough search within a smaller area recognized as promising in order to find the optimal solution (cf. [1]). Exploration is achieved by those fireworks which have a large explosion amplitude (i.e., lower fitness), since they have the capability to escape from local minima. Exploitation is achieved by those fireworks which have a small explosion amplitude (i.e, high fitness), since they reinforce the local search ability in promising areas. After the explosion, another type of sparks are generated based on a Gaussian mutation of randomly selected fireworks. The idea behind this is to further ensure diversity of the swarm. In order to improve readability we assign new notations to the two distinct types of sparks: explosion sparks are generated by the explosion process, and Gaussian sparks are generated by Gaussian mutation.

2 Algorithm

When a firework is set off, a shower of sparks will fill the local space around the firework. In our opinion, the explosion process of a firework can be viewed as a search in the local space around a specific point where the firework is set off through the sparks generated in the explosion. Mimicking the process of setting firework, a rough framework of the FWA is depicted in Fig. 2

Framework of fireworks algorithm


Fig.2. Framework of fireworks algorithm

Prof. Y. Tan is lecturing FWA!


[1] Y. Tan and Y. Zhu (2010). Fireworks algorithm for optimization. ICSI 2010, Part I, LNCS 6145, pp. 355-364 [pdf]

[2] Y. Tan and C. Yu, S. Q. Zheng, and K. Ding, “Introduction to Fireworks Algorithm,” International Journal of Swarm Intelligence Research (IJSIR), 2013, 4(4): 39-70. [pdf][supplementary file]

[3] Y. Tan, “Advance in Fireworks Algorithm and its Applications,” Lecture Slides. 2015.07. [pdf] and [PPT]

[4] 谭营著, <<烟花算法引论>>, 科学出版社, 2015.05.

[5] Y. Tan. Fireworks Algorithm: A Novel Swarm Intelligence Method. Springer. 2015.10. [SpringerLink-FWAbook]