A Fast Firefly Algorithm for Function Optimization: Application to the Control of BLDC Motor

Firefly Algorithm (FA) is a recent swarm intelligence first introduced by X.S. Yang in 2008. It has been widely used to solve several optimization problems. Since then, many research works were elaborated presenting modified versions intending to improve performances of the standard one. Consequently, this article aims to present an accelerated variant compared to the original Algorithm. Through the resolving of some benchmark functions to reach optimal solution, obtained results demonstrate the superiority of the suggested alternative, so-called Fast Firefly Algorithm (FFA), when faced with those of the standard FA in term of convergence fastness to the global solution according to an almost similar precision. Additionally, a successful application for the control of a brushless direct current electric motor (BLDC) motor by optimization of the Proportional Integral (PI) regulator parameters is given. These parameters are optimized by the FFA, FA, GA, PSO and ABC algorithms using the IAE, ISE, ITAE and ISTE performance criteria.


Introduction
Optimization is one of the methods that seek to solve complex problems in engineering or other fields. The objective of optimization is to locate the optimal value of a cost function in a well-defined research space under different constraints [1]. Among the techniques used, in optimization, are those of swarm intelligence algorithms which are nature-inspired algorithms, these optimization techniques have spread over the past two decades [2]. Thus, the significant performance of swarm intelligence algorithms compared to other conventional optimization methods motivates researchers and are still to be attractive to exploit them in several complex optimization problems at different fields [3]. These algorithms operate on two different search properties: exploitation and exploration, where exploration scans the entire search space and prevents the algorithm from falling into the local optima, while exploitation ensures the efficiency of the search and the convergence of the algorithm towards the optimal solution [4]. Since the appearance of Genetic Algorithm [5], many optimization algorithms have been proposed such as Ant Colony Optimization [6,7], Artificial Bee Colony (ABC) [8,9], Particle Swarm Optimization (PSO) [10,11] Modified Particle Swarm Optimization [12] Cuckoo Search (CS) [13,14], Bat Algorithm (BA) [15,16], Gray Wolf Optimizer (GWO) [17,18], Firefly Algorithm [19,20] and so on.
Recently, Firefly Algorithm is one of the famous swarm intelligence algorithms for optimization problems that have been introduced in 2008. Due to its ease of design, implementation and flexibility in nature, it has become popular in the field of optimization and has been widely applied to diverse engineering optimization problems such as in [21,22]. Despite all these advantages, it has drawbacks such as the problem of local minima and it was unable to guarantee a balance between exploration and exploitation [2,23]. Therefore, several improvement algorithms have been proposed to overcome such drawbacks which make them more widely applied successfully in engineering like optimizing Proportional Integral Derivative (PID) parameters in machine control [24][25][26][27][28].
The PID controller and its variants are mainly used in control process to have a better dynamic performance of the controlled systems. Therefore, the optimal value of the corrector parameters is needed. In this context, the choice of controller gains has become an optimization problem [29]. FA and rival algorithms were successfully applied in the optimization of the parameters of PID mainly in electrical engineering and other fields [30]. One of the prominent applications in electrical engineering is the control of BLDC motor driven by a tuned and optimized PID. However, a BLDC motor is developed on the basis of Brushed DC motor and it is one of the special electrical synchronous motor. It is driven by DC voltage, but current commutation is obtained by solid-state switches. The commutation time is fixed by the rotor position which is detected by hall sensor position [31].
It is noticeable that BLDC motor has the advantages that are: high efficiency, long operating time, low noise, small size and well speed-torque features. In general, it has a great improvement in automotive, aerospace and industry of engineering and so on. Therefore, its use has been exposed to many types of load disturbances. Conventional control methods cannot resist these alterations and lose their precision. Thus, it was necessary to implement advanced control techniques to solve this problem, especially those based on the artificial intelligence, such as: fuzzy control [32,33], neural control [34,35], Genetic Algorithm (GA) control [36,37], PSO control [38], BAT control [31] and recently, FA control and Improved Firefly Algorithm (IFA) or Modified Firefly Algorithm (MFA) [24][25][26][27][28]. These methods are based essentially on the optimization of the PID corrector parameters and its derivatives to obtain optimal performance.
In this paper, we propose an improved version of the FA for function optimization by reducing the search space. We apply this method to several benchmark problems and also to the design of a controller for BLDC motor. The paper contains two experimental parts, the first concerns the search for the global optimum of several benchmark functions according to the FA and FFA algorithms and then a comparative study is carried out. In order to consolidate its efficiency, a second application of PI parameters' optimization for the BLDC motor control is achieved through simulation in the MATLAB platform. This application used the FFA, FA, GA, PSO and ABC algorithms according to the IAE, ISE, ITAE and ISTE performance criteria, to test the competitiveness of the FFA algorithm. Finally, by comparison of the obtained results, it is found that the performances of the FFA are better than those of the other algorithms and it can be concluded that this new algorithm can be a valid concurrent meta-heuristic optimization method.
The paper is organized as follows. Section 2 introduces the mathematical background of the standard FA and the suggested FFA. In Section 3, the two algorithms are compared through optimum finding of several standard test functions. The mathematical model of BLDC motor and the PI controller with description of the experimental results are presented in Section 4. Finally, drawn conclusion summarizing the achieved work is given in Section 5.

Standard Firefly Algorithm
Firefly Algorithm is inspired by the natural behavior of fireflies by using their selfluminosity to get closer to each other in the dark. Three assumptions have been suggested by Yang to clarify the behavior of fireflies [19,20]. Firstly, all fireflies are unisex. Thus, each firefly can be attracted to other fireflies regardless of gender. Secondly, the attractiveness is linked to the intensity which is a function of the distance between the firefly concerned and the other fireflies. The attractiveness decreases as the distance increases. Finally, the luminosity or the luminous intensity of a firefly is given by the value of the cost function of the problem posed. Mathematically, the FA algorithm can be given by the following equations [19].
The light intensity of a firefly is given by Equation (1).
where: γ is the absorption coefficient and (I 0 ) is the initial value at (r = 0). The attractiveness is expressed by Equation (2) where β 0 is the initial value at (r = 0): Equation (3) evaluates the distance between two fireflies i and j, at positions x i and x j , respectively, and can be defined as Cartesian distance. Where x ik is the kth element of the spatial coordinate x j of the ith firefly and D denotes the dimensionality of the problem [19].
The motion equation of the i th firefly to the j th one is determined by Equation (4).
where x i (t + 1) is the position of firefly i at iteration t +1 displacement. As it can be seen, the first part of the right side of Equation (4) is the position of firefly i at iteration t, the second term is relative to the attractiveness and the last one is randomization (blind flying if there is no light) where α is the random walk parameter α ∈ [0,1), [19]. The FA Algorithm 1 is given as follows [19]:

Algorithm 1. Firefly Algorithm
Initialization of the parameters of FA (Population size, α, β o , γ and the number of iterations). The Light intensity is defined by the cost function f(x i ) where x i (i = 1, . . . ,n). While (iter < Max Generation). for i = 1:n (all n fireflies) for j = 1:n (all n fireflies) if (f(x i ) < f(x j )), move firefly i towards j, end if. Update attractiveness β with distance r. Evaluate new solution and update f(x i ) in the same way as (4). end for j end for i rank the solutions and find the best global optimal. end while. Show the results.

Fast Firefly Algorithm
It is worth noting that the original algorithm of Xin-She Yang performs (Max generation n.n) tests. However, in the proposed version, (K.n) tests only are performed, where K is an integer. It means that the conventional one is hugely time consuming when compared to the suggested one. The proposed Algorithm 2 is summarized as follows:

Algorithm 2. Fast Firefly Algorithm
While (iter < Max Generation) for k = 1:K.n (all n fireflies) // Here it is the first modification i = rand(n) // Here it is the second modification j = rand(n) // Here it is the third modification if (f(xi) < f(xj)), move firefly i towards j, end if. Update attractiveness β with distance r. Evaluate new solution and update f(xi) in the same way as Equation (4). Modify the new position obtained by Equation (4) according to Equation (5). end for k rank the solutions and find the best global optimal. end while. Show the results.
As above mentioned, the new position obtained by Equation (4) is modified according to Equation (5): It should be noted that the values of α and γ are given empirically in the original version according to each test function, β 0 is equal to unity. However, on the other hand, the α in FFA is taken equal to: where the convergence is reached easily and γ still chosen equal to 1. The randomization parameter α is reduced exponentially from a maximum value to a minimum value according to successive iterations instead of keeping it constant; with this injected artifice, we can maintain the research balance between the exploitation and the exploration of the proposed algorithm and it can give better results than its rival FA [4].
In the original version of the FA, the technique of updating the motion of fireflies can be improved to be more faster. Thus, it is beneficial for each firefly in the swarm to find a promising region by reorienting its motion in order to easily reach the overall optimum. Consequently, the updated term is redirected to have a better exploration and exploitation of the algorithm and the speed of its convergence is, thus, guaranteed [1,39].
The essence of the proposed method is the reduction of the search space (exploration) while keeping the search efficiency satisfactory to reach the optimal solution. It means that (K.n) evaluated tests were found clearly sufficient to obtain the optimal solution for the large number of benchmark functions and other applications [40].

Benchmark Functions
Standards' functions are essential to prove and compare the characteristics of optimization algorithms. The most terms of evaluation are: The convergence speed and the precision. Hence, 12 different test functions are used to compare the performance of the original algorithm FA and the proposed one FFA according to the previously mentioned evaluation terms. The used test functions are listed in Table 1, highlighting the variables, ranges and values of the global optimum to reach [41,42].

Parameter Settings
The parameter settings of FA and FFA are showed in Table 2.

Functions' Experimental Results
The two algorithms are applied to minimize a set of test functions of dimensions 2D, 10D, 20D and 30D, respectively. The experimental environment is the MATLAB R2017a software, the CPU is an E5700@3.00 GHZ, the RAM is of size 6 GB. To compare their performance, minimum, mean, standard deviation and the computational time are taken over 10 runs. For each function, the two algorithms operate independently. The results of the optimization are summarized in Table 3. In terms of precision of convergence towards the global optimum, by visualizing the results in Table 3, it can be seen that the mean and the standard deviation of the reached optimum, after 10 runs for each test function, of FFA in all dimensions are better than of FA.
Concerning the convergence fastness to the global optimum, it can be clearly remarked, from extensive simulation tests, that the proposed method outperforms the original one and it is significantly faster (see Table 3). Accordingly, the average speed up ratio, when applying the two algorithms on the 12 test functions, is 12:1, which confirms the effectiveness of the suggested technique.
It is worthy to note that the speed up ratio is defined by: where t FA is the execution time of the original algorithm FA, and the t FFA is the execution time of the proposed one FFA. As is shown in Figures 1-4 below, the proposed algorithm reaches all solutions of all test functions with high precision outperforming, accordingly, those obtained from the standard one. where tFA is the execution time of the original algorithm FA, and the tFFA is the execution time of the proposed one FFA.
As is shown in Figures 1-4 below, the proposed algorithm reaches all solutions of all test functions with high precision outperforming, accordingly, those obtained from the standard one.  where tFA is the execution time of the original algorithm FA, and the tFFA is the execution time of the proposed one FFA. As is shown in Figures 1-4 below, the proposed algorithm reaches all solutions of all test functions with high precision outperforming, accordingly, those obtained from the standard one.      As can be seen from Table 3, the proposed algorithm is more unbiased (the statistical expected value of obtained cost function of FFA is more tending to the theoretical value than FA) and more consistent (the standard deviation of obtained cost function when applying FFA is more tending to 0 than the FA). The reported remarks hold for the twelve test functions as previously shown in Table 3 for dimensions 2D, 10D, 20D and 30D, respectively. For more convincing, robustness and stability of FFA in higher dimensions are evaluated by using the test functions (F13, F14 and F15) for dimensions 50D, 100D, 150D and 200D, respectively. Table 4 gives the results of these tests with a 10 times run for each test function. Finally, it can be concluded that the stability of FFA is not affected by increasing significantly dimensions (high precision remains obtained). The graphs of Figure  5 reflect these results. As can be seen from Table 3, the proposed algorithm is more unbiased (the statistical expected value of obtained cost function of FFA is more tending to the theoretical value than FA) and more consistent (the standard deviation of obtained cost function when applying FFA is more tending to 0 than the FA). The reported remarks hold for the twelve test functions as previously shown in Table 3 for dimensions 2D, 10D, 20D and 30D, respectively. For more convincing, robustness and stability of FFA in higher dimensions are evaluated by using the test functions (F13, F14 and F15) for dimensions 50D, 100D, 150D and 200D, respectively. Table 4 gives the results of these tests with a 10 times run for each test function. Finally, it can be concluded that the stability of FFA is not affected by increasing significantly dimensions (high precision remains obtained). The graphs of Figure 5 reflect these results.

Description
BLDC motor is a permanent magnet synchronous motor that has trapezoidal Back-EMF and an almost rectangular current. It uses position detectors and an inverter to control the armature currents. It becomes popular for industrial applications because of its high efficiency, reliability, noiseless operation, low maintenance and an optimized volume. BLDC motors are available in several different configurations, but three-phase is the most common type due to its high speed and low torque ripple [43].
The drive model of a BLDC motor is shown in Figure 6. It is divided into two blocks. The first one is the inverter and the second is the BLDC motor. Accordingly, the BLDC motor is powered by a six-switch inverter where, for each control step, two phases operate simultaneously while the third is eliminated. Note that the signals of the Hall Effect position sensor (Ha, Hb, Hc) shifted by 120°, electrically govern these switches by generation

Description
BLDC motor is a permanent magnet synchronous motor that has trapezoidal Back-EMF and an almost rectangular current. It uses position detectors and an inverter to control the armature currents. It becomes popular for industrial applications because of its high efficiency, reliability, noiseless operation, low maintenance and an optimized volume. BLDC motors are available in several different configurations, but three-phase is the most common type due to its high speed and low torque ripple [43].
The drive model of a BLDC motor is shown in Figure 6. It is divided into two blocks. The first one is the inverter and the second is the BLDC motor. Accordingly, the BLDC motor is powered by a six-switch inverter where, for each control step, two phases operate simultaneously while the third is eliminated. Note that the signals of the Hall Effect position sensor (Ha, Hb, Hc) shifted by 120 • , electrically govern these switches by generation of the pulses (S1, . . . ,S2) at every 60 • electrical angle [43][44][45].

Mathematical Modeling of a BLDC Motor
By consideration of the symmetry of the phases, it is assumed that the three phases resistances are identical as well as the inductances. Consequently, the equations describ ing the model of the equivalent circuit of the motor are [43][44][45]:

Mathematical Modeling of a BLDC Motor
By consideration of the symmetry of the phases, it is assumed that the three phases' resistances are identical as well as the inductances. Consequently, the equations describing the model of the equivalent circuit of the motor are [43][44][45]: Then, the line voltage equation can be obtained by subtraction of the phase voltage equation as: where: The relationship between phase currents is given by the equation: Since each voltage is a linear combination of the other two voltages, two equations are sufficient. Using relation 14, Equations (11) and (12) become [44]: The equation of mechanical part represents as follows: where: T e and T L are the electromagnetic torque and the load torque [Nm]. J is the rotor inertia, k f is a friction constant and ωm is the rotor speed [rad/s].
The Back-EMF and electromagnetic torque can be expressed as: where: k e is the Back-EMF's constant. θ e is equal to the rotor angle (θ e = p. θ m /2), θ m the mechanic angle and p the number of pole pairs. F(θ e ) is trapezoidal waveform of Back-EMFs.
Thus, the torque equation can be defined as: kt: the torque constant.
Therefore, the function F(θ e ) is a function of rotor position, which gives the trapezoidal waveform of Back-EMF. One period of function can be written as: For illustration, Figure 7 shows Back-EMF, Hall Effect sensor signal and the current in the three phases. In the trapezoidal motor Back-EMF induced in the stator has a trapezoidal shape and its phases must be supplied with quasi square currents for ripple free torque operation [44,46].
Finally, Equations (15)- (18) can be converted to a state space form. The resulting complete model is given as: where: e ab = e a − e b and e bc = e b − e c

Hall Effect Sensor and Transistor Switching Sequence
According to the angular position of the rotor evolution between 0 • and 360 • , the position produced by Hall Effect sensors is given which is described in Table 5 below.  Each Hall Effect sensor operates during the passage of the poles based on the rising and falling edges. Thus, the rising front for the north pole and falling for the south pole. Accordingly, the sensor indicates 1 or 0, respectively. Following this switching logic of Hall Effect sensors, the switching sequence of the inverter is expressed in Table 5, where the switching sequence for shaft rotation is clockwise [45,47].
According to the circuit in Figure 6, the three-phase voltages are calculated with the following formulas [45]: where v d is the DC supply voltage.

Speed Control of Brushless DC Motor
The principle diagram for speed control of the three-phase BLDC motor is shown in Figure 8. At the regulator input, the reference speed is compared to the actual speed of the motor to generate a control voltage at its output.
 SS (28) where vd is the DC supply voltage.

Speed Control of Brushless DC Motor
The principle diagram for speed control of the three-phase BLDC motor is shown in Figure 8. At the regulator input, the reference speed is compared to the actual speed of the motor to generate a control voltage at its output.  The signals of the switching sequences are obtained from the position of the motor shaft. The motor stator is excited by the three-phase currents [45].

PI Controller
PI controller is a derivative of PID controller. It has been extensively used in industrial applications due to its simplicity, robustness, reliability and easy tuning gains in simple control [21].
The equation of the PI controller is specified by: The Laplace transfer function is: where: k p : proportional gain, k i : integral gain, s: Laplace operator.

Simulation Results and Discussion
To ensure efficient performance of the system to be monitored, the performance criteria defined by Equations (31)-(34) are used. The objective functions are chosen for minimizing the time response characteristics due to the dependency of error on time [27]: The problem can be represented as: Minimize J subjected to: where ω ref is the reference speed and ω m is the actual one. Figure 9 shows PI controller block of the control. In this problem, the values of overshoot, rise time and stabilization time are controlled indirectly. These parameters are directly linked to the objective function so they are optimized implicitly [27]. The model of BLDC motor drive is simulated in MATLAB. The parameters of the BLDC motor are reported in Table 6. To control the BLDC motor, a conventional PI controller is used. However, it is not easy to adjust its parameters in order to have an efficient control. Therefore, the FFA_PI controller is used and it is compared to other algorithms to evaluate its competitiveness. The simulation is performed by considering the well-known algorithms GA, PSO, ABC and the standard FA. The simulation is run with 100 iterations and a population size of 10. Figure 10 shows the evolution of the different performance criteria with the different algorithms. The results of FFA, with the different criteria, are all the better than those presented by the other algorithms. Figure 11, also, presents the cost functions IAE, ISE, ITAE and ISTE obtained by FFA algorithm. The model of BLDC motor drive is simulated in MATLAB. The parameters of the BLDC motor are reported in Table 6. To control the BLDC motor, a conventional PI controller is used. However, it is not easy to adjust its parameters in order to have an efficient control. Therefore, the FFA_PI controller is used and it is compared to other algorithms to evaluate its competitiveness. The simulation is performed by considering the well-known algorithms GA, PSO, ABC and the standard FA. The simulation is run with 100 iterations and a population size of 10. Figure 10 shows the evolution of the different performance criteria with the different algorithms. The results of FFA, with the different criteria, are all the better than those presented by the other algorithms. Figure 11, also, presents the cost functions IAE, ISE, ITAE and ISTE obtained by FFA algorithm. and the standard FA. The simulation is run with 100 iterations and a population size of 10. Figure 10 shows the evolution of the different performance criteria with the different algorithms. The results of FFA, with the different criteria, are all the better than those presented by the other algorithms. Figure 11, also, presents the cost functions IAE, ISE, ITAE and ISTE obtained by FFA algorithm.  The values of the PI controller, obtained by different simulations, are shown in Table  7. The values are obtained by the five algorithms used, with different criteria.   The values of the PI controller, obtained by different simulations, are shown in Table  7. The values are obtained by the five algorithms used, with different criteria.  The values of the PI controller, obtained by different simulations, are shown in Table 7. The values are obtained by the five algorithms used, with different criteria. In the chosen cost functions, the values of the overshoot, the rise time and the settling time can be controlled indirectly. Based on their optimization, the cost functions force the values of the other parameters to be optimum [27]. Table 8 shows the values of the different correctors used in this simulation. The values of the rise time, settling time, peak time, peak and overshoot are reported in Table 8. Accordingly, the results concerning the time are better for the FFA algorithm as well as for the peaks and the overshoots which are alternated with the other algorithms. Moreover, the execution simulation time comparison is given between the different correctors and shown in Table 9. It can be reported that the calculation time using the FFA_PI is faster than those obtained with the FA_PI, GA_PI, PSO_PI and ABC_PI when using 50 or 100 iterations. According to the used criterions, Figures 12-15 represent the BLDC motor speeds obtained with the different corrector optimized. Consequently, the figures are given for comparison and they justify the values in Table 8.       From the previous numerical results and the figures' responses, it can be concluded that the optimized PI controller-based FFA showed a better capacity to compete with its FA counterpart, and its rivals GA, PSO and ABC. Thus, it provided the fastest rise and response times in addition to the minimum peak time. Figure 16 show the simulation results of the various variables of the BLDC motor using the FFA_PI using (ki = 2468, kp = 18.19). Accordingly, Figure 16a presents the speed of the BLDC motor where the reference speed ωref is chosen as a ramp in order to dampen the current at start-up and to avoid peaks as well as for the electromagnetic torque on the Figure 16b. At 0.125 s, a torque load TL = 4 Nm is applied and a good rejection by the control is observed. The effect of the load is very apparent on the figure of the speed, the torque, the voltages and the current.  From the previous numerical results and the figures' responses, it can be concluded that the optimized PI controller-based FFA showed a better capacity to compete with its FA counterpart, and its rivals GA, PSO and ABC. Thus, it provided the fastest rise and response times in addition to the minimum peak time. Figure 16 show the simulation results of the various variables of the BLDC motor using the FFA_PI using (ki = 2468, kp = 18.19). Accordingly, Figure 16a presents the speed of the BLDC motor where the reference speed ωref is chosen as a ramp in order to dampen the current at start-up and to avoid peaks as well as for the electromagnetic torque on the Figure 16b. At 0.125 s, a torque load TL = 4 Nm is applied and a good rejection by the control is observed. The effect of the load is very apparent on the figure of the speed, the torque, the voltages and the current.
On each figure presented, there are three phases, where the first phase is zoomed-in to clearly visualize the behavior of the signals. Thus, Figure 16c,d show the phase voltages and the phase to phase voltage simultaneously. The trapezoidal Back-EMF shape is well illustrated on the Figure 16e. Finally, the shape of the currents of the three phases of the stator is given by the Figure 16f. As can be seen, there is a distortion in the torque signals which is due to the trapezoidal shape of the Back-EMF and the nature of the currents containing harmonics. Finally, Figure 17 gives the evolution, until the convergence, of the parameters of the FFA_PI and FA_PI on the control technique. Figure 16 show the simulation results of the various variables of the BLDC motor using the FFA_PI using (ki = 2468, kp = 18.19). Accordingly, Figure 16a presents the speed of the BLDC motor where the reference speed ωref is chosen as a ramp in order to dampen the current at start-up and to avoid peaks as well as for the electromagnetic torque on the Figure 16b. At 0.125 s, a torque load TL = 4 Nm is applied and a good rejection by the control is observed. The effect of the load is very apparent on the figure of the speed, the torque, the voltages and the current. On each figure presented, there are three phases, where the first phase is zoomed-in to clearly visualize the behavior of the signals. Thus, Figure 16c,d show the phase voltages and the phase to phase voltage simultaneously. The trapezoidal Back-EMF shape is well illustrated on the Figure 16e. Finally, the shape of the currents of the three phases of the stator is given by the Figure 16f. As can be seen, there is a distortion in the torque signals which is due to the trapezoidal shape of the Back-EMF and the nature of the currents containing harmonics. Finally, Figure 17 gives the evolution, until the convergence, of the parameters of the FFA_PI and FA_PI on the control technique. On each figure presented, there are three phases, where the first phase is zoomed-in to clearly visualize the behavior of the signals. Thus, Figure 16c,d show the phase voltages and the phase to phase voltage simultaneously. The trapezoidal Back-EMF shape is well illustrated on the Figure 16e. Finally, the shape of the currents of the three phases of the stator is given by the Figure 16f. As can be seen, there is a distortion in the torque signals which is due to the trapezoidal shape of the Back-EMF and the nature of the currents containing harmonics. Finally, Figure 17 gives the evolution, until the convergence, of the parameters of the FFA_PI and FA_PI on the control technique. Figure 17. Evolution of parameters of FFA_PI until convergence.

Conclusions
A fast FA algorithm so-called FFA is presented and compared with the standard FA through searching the global optimum by using different standard benchmark functions in a first application. The simulation results were compared, taking in consideration the Figure 17. Evolution of parameters of FFA_PI until convergence.

Conclusions
A fast FA algorithm so-called FFA is presented and compared with the standard FA through searching the global optimum by using different standard benchmark functions in a first application. The simulation results were compared, taking in consideration the precision and the speed of convergence criteria for the two algorithms. The reached results prove that those obtained by FFA are better than those of FA. A second application concerning the optimization of the gains of a PI controlling a BLDC motor is carried out through the ITSE performance criterion. The results obtained show the robustness of the two algorithms with superiority for FFA. The acceleration of the proposed algorithm is due to the search space reduction by a random election of a significantly small set of moving fireflies while the whole search space stills covered. It should be noted that the acceleration, in the optimization function, is in the average 12:1, with respect to FA. Additionally, for the complex problem (BLDC motor control), the acceleration is clearly remarked for the modified algorithm FFA than FA, GA, PSO and ABC algorithms. Globally, the suggested FFA algorithm can be considered as most state of the art metaheuristic algorithms such as FA, GA, PSO and ABC, and presents superior fastness against all reported optimizers.
Furthermore, a modification on the α parameter is given and this guarantees the robustness and precision through the enhancement of search directions toward the global optimal solution.