# Opposition-Based Adaptive Fireworks Algorithm
## 1 Introduction  
In the past twenty years several swarm intelligence algorithms, inspired by natural phenomena or social behavior, have been proposed to solve various real-world and complex global optimization problems. Observation of the behavior of ants searching for food lead to an ant colony optimization (ACO) [1] algorithm, proposed in 1992. Particle swarm optimization (PSO) [2], announced in 1995, is an algorithm that simulates the behavior of a flock of birds flying to their destination. PSO can be employed in the economic statistical design of \(\overline{X}\) control charts, a class of mixed discrete-continuous nonlinear problems [3] and used in solving multidimensional knapsack problems [4, 5], etc. Mimicking the natural adaptations of the biological species, differential evolution (DE) [6] was published in 1997. Inspired by the behavior of the flashing characteristics of fireflies, a firefly algorithm (FA) [7] was presented in 2009, and a bat algorithm (BA) [8] was proposed in 2010 which is based on the echolocation of microbats. The fireworks algorithm (FWA) [9] is considered a novel swarm intelligence algorithm. It was introduced in 2010 and mimics the fireworks explosion process. The FWA provides an optimized solution for searching a fireworks location. In the event of a firework randomly exploding, there are explosive and Gaussian sparks produced in addition to the initial explosion. To determine the firework's local space, a calculation of explosive amplitude and number of explosive sparks is made based on other fireworks and fitness functions. Fireworks and sparks are then filtered based on fitness and diversity. Using repetition, FWA focuses on smaller areas for optimized solutions. Various types of real-world optimization problems have been solved by applying FWA, such as factorization of a non-negative matrix [10], the design of digital filters [11], parameter optimization for the detection of spam [12], reconfiguration of networks [13], mass minimization of trusses [14], parameter estimation of chaotic systems [15], and scheduling of multi-satellite control resources [16]. However, there are disadvantages to the FWA approach. Although the original algorithm worked well on functions in which the optimum is located at the origin of the search space, when the optimum of origin is more distant it becomes more challenging to locate the correct solution. Thus, the quality of the results of the original FWA deteriorates severely with the increasing distance between the function optimum and the origin. Additionally, the computational cost per iteration is high for FWA compared to other optimization algorithms. For these reasons, the enhanced fireworks algorithm (EFWA) [17] was introduced to enhance FWA. The explosion amplitude is a significant variable and affects the performance of both the FWA and EFWA. In EFWA, the amplitude is near zero with the best fireworks, thus employing an amplitude check with a minimum. An amplitude like this is calculated according to the maximum number of evaluations, which leads to a local search without adaption around the best fireworks. Thus, the adaptive fireworks algorithm (AFWA) introduced an adaptive amplitude [18] to improve the performance of EFWA. In AFWA, the adaptive amplitude is calculated from a distance between filtered sparks and the best fireworks. AFWA improved the performance of EFWA on 25 of the 28 CEC13's benchmark functions [18], but our in-depth experiments indicate that the solution accuracy of AFWA is lower than that of EFWA. To improve the performance of AFWA, opposition-based learning was added and used to accelerate the convergence speed and increase the solution accuracy. Opposition-based learning (OBL) was first proposed in 2005 [19]. OBL simultaneously considers a solution and its opposite solution; the fitter one is then chosen as a candidate solution in order to accelerate convergence and improve solution accuracy.