## 2 Experimental Section  
### Quantum Fireworks Algorithm  
#### 2.1.1 Fireworks Algorithm  
A fireworks algorithm (FA) [16] is used to simulate the whole process of the explosion of fireworks. When the fireworks explosion generates a lot of sparks, the sparks can continue to explode to generate new sparks, resulting in beautiful and colorful patterns. In an FA, each firework can be regarded as a feasible solution of the solution space for an optimization problem, and the fireworks explosion process can be seen as a searching process for the optimal solution. In a particular optimization problem, the algorithm needs to take into account the number of sparks of each fireworks explosion, how wide the explosion radius is, and how to select an optimal set of fireworks and sparks for the next explosion (searching process). The most important three components of FA are the explosion operator, mutation operator and selection strategy. (1) Explosion operator. The number of sparks each fireworks explosion generates and explosion radius are calculated based on fitness value of fireworks. For the fireworks \(x_{i}\)\((i=1,2,\cdots,N)\), the calculation formula for the number of sparks \(S_{i}\) and explosion radius \(R_{i}\) are:  
\[S_{i}=M\times\frac{y_{\max}-f(x_{i})+\varepsilon}{\sum\limits_{i=1}^{N}\left(y _{\max}-f(x_{i})\right)+\varepsilon} \tag{1}\]  
\[R_{i}=\hat{R}\times\frac{f(x_{i})-y_{\min}+\varepsilon}{\sum\limits_{i=1}^{N} \left(f\left(x_{i}\right)-y_{\min}\right)+\varepsilon} \tag{2}\]In the above formula, \(y_{\max},y_{\min}\) represent the maximum and minimum fitness value of the current population, respectively; \(f\left(x_{i}\right)\) is the fitness value of fireworks \(x_{i}\); and \(M\) is a constant to adjust the number of explosive sparks. \(\hat{R}\) is a constant to adjust the size of the fireworks explosion radius. \(\varepsilon\) is the minimum machine value to be used to avoid zero operation. (2) Mutation operator. The purpose of mutation operator is to increase the diversity of the sparks population; the mutation sparks of fireworks algorithm is obtained by Gaussian mutation, namely Gaussian mutation sparks. Select fireworks \(x_{i}\) to make the Gaussian mutation, and the \(k\)-dimensional Gaussian mutation is:  
\[\hat{x}_{ik}=x_{ik}\times\varepsilon \tag{3}\]  
Where \(\hat{x}_{ik}\) represents\(k\)-dimensional mutation fireworks, \(\varepsilon\) represents the Gaussian distribution. In the fireworks algorithm, the new generated explosion fireworks and mutation sparks may fall out of the search space, which makes it necessary to map it to a new location, using the following formula:  
\[\hat{x}_{ik}=x_{LB,k}+\left|\hat{x}_{ik}\right|\%\left(x_{UB,k}-x_{LB,k}\right) \tag{4}\]  
where \(x_{UB,k}\), \(x_{LB,k}\) are the upper and lower search spaces, respectively; and % denotes the modulo operator for floating-point number. (3) Selection strategy. In order to transmit the information to the next generation, it is necessary to select a number of individuals as the next generation. Assume that \(K\) individuals are selected; the number of population is \(N\) and the best individual is always determined to become the fireworks of next generation. Other \(N-1\) fireworks are randomly chosen using a probabilistic approach. For fireworks \(x_{i}\), its probability \(p(x_{i})\) of being chosen is calculated as follows:  
\[p(x_{i})=\frac{R(x_{i})}{\sum\limits_{x_{j}\in K}x_{j}}\,\ R(x_{i})=\sum \limits_{x_{j}\in K}d\left(x_{i}-x_{j}\right)=\sum\limits_{x_{j}\in K}\ \left|\ \right|x_{i}-x_{j}\left|\ \right| \tag{5}\]  
where \(R(x)\) is the sum of the distances between all individuals in the current candidate set. In the candidate set, if the individual has a higher density, that is, the individual is surrounded by other candidates, the probability of the individual selected will be reduced. If \(F(x)\) is the objective function of fireworks algorithm, the steps of the algorithm are shown as follows:  
(1) Parameters initialized; Randomly select \(N\) fireworks and initialize their coordinates.