Fireworks algorithm

The Fireworks Algorithm (FWA) is a swarm intelligence algorithm that explores a very large solution space by choosing a set of random points confined by some distance metric in the hopes that one or more of them will yield promising results, allowing for a more concentrated search nearby.

Algorithm Description
The algorithm is implemented and described in terms of the explosion process of fireworks: explosions occur at specific points, and "sparks" fan out from the explosion. Each spark location is considered until an adequately optimal point is found. In terms of optimization, when finding an $$x_j$$ satisfying $$f(x_j)=y$$, the algorithm continues until a spark is sufficiently near $$x_j$$. The algorithm begins with selecting $$n$$ initial locations where the fireworks will explode. Then the amount of sparks and their locations are determined based on the proximity of the firework to the optimal location. After each spark location is evaluated, the algorithm terminates if an optimal location was found, or it repeats with $$n$$ new firework locations if an optimal location was not found.