Fireworks Algorithm (FWA) (including open source MATLAB code)

Let me make a statement first: the article is directly copied and pasted from the push in my personal official account, so friends who are interested in intelligent optimization algorithms can follow my personal official account: heuristic algorithm discussion . From time to time, I will share different intelligent optimization algorithms in the official account, classic ones, or new intelligent optimization algorithms proposed in recent years, with MATLAB code attached.

Fireworks Algorithm (FWA) is a new swarm intelligence optimization algorithm proposed by Professor Tan Ying and others in 2010. The algorithm introduces the idea of ​​concentration suppression and distributed information sharing mechanism in the immune algorithm, and has strong global search ability. Its original reference is as follows:

“Tan Y, Zhu Y. Fireworks algorithm for optimization[C]//Advances in Swarm Intelligence: First International Conference, ICSI 2010, Beijing, China, June 12-15, 2010, Proceedings, Part I 1. Springer Berlin Heidelberg, 2010: 355-364.”

picture

01
Source of inspiration

According to the description in the book "Introduction to Fireworks Algorithm" written by Professor Tan Ying, the research motivation of the algorithm comes from fireworks exploding in the air. He is committed to studying different types of evolutionary algorithms, and he also tries to connect various things in life with evolutionary algorithms to see if he can be inspired. Finally, on a New Year’s Eve, Mr. Tan Ying saw fireworks blooming in the sky, and wondered whether this kind of explosion image could establish a certain connection with the random search in evolutionary computing (like the explosion image of fireworks to solve the problem solution space) Inspired by effective search), and search for the global optimal solution at multiple points simultaneously by simulating the mechanism of fireworks explosion and diffusion.

picture

FWA adopts a distributed information sharing mechanism, which can select all fireworks individuals in the global distribution, determine the explosion intensity and radiation intensity of each firework according to the fitness function value, and follow up and maintain the current The optimal fireworks for the population diversity can be maintained.

02
Algorithm design

The framework of the fireworks algorithm is mainly composed of the following four parts, namely the explosive operator, the mutation operation, the mapping rule and the selection strategy. The flow chart of the framework of the fireworks algorithm is shown in Figure 1. Firstly, random selection strategy is implemented for the initialization group of N fireworks in the feasible region. At this time, each fireworks individual represents an independent feasible solution, and then their fitness values ​​are evaluated to estimate the theoretical explosion sparks of all individuals . Quantity and explosion interval. Then let each firework in the group undergo explosion and mutation operations, so that the next-generation group produced by the explosion includes the "explosion spark" produced by the explosion of the firework and the "Gaussian mutation spark" produced by Gaussian mutation. After the steps of explosion and mutation, it is necessary to use mapping rules to limit the mutated sparks to still be within the feasible range, and use the selection strategy to select and retain the optimal individual from the newly generated N -1 individuals of the next generation . Use this method of iteration one by one again and again to pass on the excellent individuals until the optimal value is selected, or the maximum number of evaluations of the algorithm is reached.

picture

Figure 1 Fireworks Algorithm Framework

picture

picture

03
Calculation process

The calculation process of FWA is shown in Figure 2.

picture

Figure 2 Flowchart of FWA

04
Experimental simulation

Perform a simple test on the performance of FWA and use it for function optimization. The Benchmark function uses the multimodal function Ackley. The convergence effect is shown in Figure 3, and no further analysis will be made here.

picture

Figure 3 Convergence curve of FWA

05
MATLAB code

The MATLAB code of FWA can be extracted directly through the link below~

Link: https://pan.baidu.com/s/170SzFwf_qwPcDnjZ-AIdhw

Extraction code: 8023

Pay attention to the official account: heuristic algorithm discussion

Guess you like

Origin blog.csdn.net/jieyanping/article/details/132476318