Abstract
Firefly Algorithm (FA) is one of the popular algorithm of Swarm Intelligence domain that can be used in most of the areas of optimization. FA and its variants are simple to implement and easily understood. These can be used to successfully solve the problems of different areas. Modification in original FA or hybrid FA algorithms are required to solve diverse range of engineering problems. In this paper, a comprehensive review of firefly algorithm is presented and various characteristics are discussed. The various variant of FA such as binary, multi-objective and hybrid with other meta-heuristics are discussed. The applications and performance evolution metric are presented. This paper provides the possible future research direction of FA.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
1 Introduction
Soft computing have various techniques for computation (as shown in Fig. 1) such as Neural system, Fuzzy, evolutionary computing, chaos theory and many more. Swarm Intelligence (SI) is one of the very promising domain of AI (Artificial Intelligence) as shown in Fig. 2, become drastically important and popular in last few years [1]. The study of behaviour of ants, fireflies, bees, worms, termites, group of birds and fishes inspires the further research done in the field of SI [2], as shown in Figs. 3 and 4. The coordinated behaviour of these groups direct them to achieve their desired goal. The simple interaction between unsophisticated individuals leads group towards a self organizing behaviour for the whole group with their collective intelligence. The simple interaction in this multi agent system forms this self organizing and coordinated behaviour. Termites and worms interacts to other individuals for construction of their nests. Ants and bees forms a collective behaviour to find out their food [3]. To get shortest way to the place where food has found from their colony, ants use chemical pheromone trails while interact to each other. The informer scout bees have responsibility to find new origins of food and these bees use waggle dance to communicate or direct the other bees. During the search of new source of food, bees trade off the work of collection of new information (exploration) and the information (exploitation) [3]. The bee colony is pretty much aware about when to use the food and when to search the food, to maximize intake and minimize foraging effort.
These above mentioned swarm utilize their behaviour for making decisions such as: reproduction, foraging, finding new home, division of task among each other, etc. [3]. The beauty of this approach is, information collected by interaction of individuals in decentralized manner.
Xin-She Yang inspired from the behaviour of fireflies and patterns formed by them, and develop a novel meta-heuristic algorithm named as Firefly Algorithm (FA) [4]. It is stochastic, in nature. It is capable of solving NP-Hard optimization problems. Some randomization is followed in this scheme after searching the set to available solutions. Figure 5 shows basic framework of firefly algorithm. This approach finds the solution using trial and error methodology, which defines Heuristic nature. However, it does not guarantee the optimal solution in some application [4].
Exploration and exploitation are two most important balancing factors in FA [5].
Where, Exploration is the process of finding diverse range of solution with in search space. Exploitation is searching with in best available coverage, while targeting or using the discovered information.
Firefly algorithm is a population based algorithm. FA is advantageous in comparison of single point search algorithms such as
-
Crossover process put together building block of different solutions.
-
Cross over influence the focused search. I means that off-springs have same value if the parents are similar in value of variables.
-
Distraction in a landscape is minimized or ignored by a low pass filter.
-
For initializing position or making decision, it hedges to bad luck.
-
The algorithm is opportunistic to tune good values of parameter to imbalance exploration and exploitation.
1.1 Characteristics of Fireflies
Fireflies has a flash light as a major characteristic. It can be used to attract possible mates and to warn from potential threats or enemies. This working of flash light follow the physics’s rule.
-
With increase in distance, flash light intensity decrease according to law of physics
$$\begin{aligned} I \alpha 1/{r^2} \end{aligned}$$(1)where r is distance and I is intensity of light.
-
Secondly, the firefly blink their flash light at regular time instances using \(\theta\)= \(2\pi\), which is again a law of physics [6].
-
Whenever a firefly comes in neighbourhood, they come together and form a couple. This behaviour inspired from graph coloring problem [7].
The remaining structure of the paper is organized as follows. Section 2 consist the inspiration, working flow, algorithm with complexity, controlling parameters, characteristics and application of classical firefly algorithm. However, Classification and analysis of FA is present in Sect. 3. Furthermore, various significant application of firefly algorithm, categorically described in Sect. 4. and final conclusion of the paper is elaborated in Sect. 5.
2 Classical Firefly Algorithm
In 2008, Yang et al. [4] got inspiration from fireflies about their light emitting behaviour. They studied the pattern and intensity of emitting light. On the basis of that study, they developed the firefly algorithm . They found out some natural meta-heuristics in that algorithm. To determine the performance, they designed a 2D function having 4 peaks and the results shows a multi- characteristics of algorithms. This algorithm can simultaneously find more optimal results in the search space.
A newly developed firefly algorithm specially for multi- optimization problems introduced by yang et al. [8]. They found out that fireflies can subdivide them in to subgroups due to stronger neighbour attraction over long distance attractiveness. For experimental prove, the test functions of many multi- problems compared with genetic algorithms and swarm intelligence claiming global optimum result, and observed that FA provide better success rate and efficiency. Based on these fats some researchers said that FA is a powerful algorithm to solve even some of NP-hard Problems.
Considering a continuous optimization problem, Yang et al. [9] again use classical FA and shows experimented results to solve non-linear pressure vessel optimized designing . Firstly they used some specific test function to validate algorithm. the results shows pretty better results than PSO(particle swarm optimization).
Yang also reviewed some natural meta-heuristic algorithms like ACO, Cuckkoo search, genetic algorithm, differential evolution, harmony search, simulated annealing, PSO,and firefly algorithm [10]. Based on the common properties, a new algorithm ’GEWA(Generalized Evolutionary Walk Algorithm)’ proposed by yang. This algorithm was a generic meta-heuristic kind of optimization algorithm.
The GEWA has three major components:
-
Global Exploration using randomization
-
Use of random walk for intensive local search
-
Use of elitism for ’Selection of Best’
This algorithm use problem dependent parameter to imbalance the exploration and exploitation.
A survey on Swarm intelligence inspirations, shows the inspiring factors for researchers to develop new nature inspired swarm intelligence algorithm. Parpinelli et al. [11] found out that these inspiring factors are: Bacterial foraging, life cycle of slime moulds, Bio-luminescence of fireflies, Cockroach infestation, Bats echolocation, Bee’s algorithms based on Bee’s foraging, Bee’s mating, Host seeking of mosquitoes. They also determined other applications of using meta-heuristic features.
Zang et al. [12] did a systematic, analyzed reviewing of ACO, algorithms based on Bee’s characteristics, firefly algorithm, genetic algorithm . Discussion on applications and principle behind original algorithms has done mainly. Figure 6 shows the major steps involved in firefly algorithm [4].
2.1 Inspiration Behind Firefly
Fireflies get active in summer night as they prefer warm environment.
Bio-luminescence is a biochemical process that causing the flashing of light in fireflies. It is used for signal of courtship for the mate and also used for warning signal if any potential predators is nearby. Some of the firefly spices use pheromone like ants. The organ that produces light using bio-luminescent is known as lanterns. Most of the adult firefly can control bio-luminescence process to emit low or high flash light. This flashing is initialized by the signal originating by central nerve system of firefly.
Firefly start signaling to attract other firefly in response of this signal the other one flash. The mating couple of firefly generate a unique pattern of flash, that is a very precisely timed on the basis of information like sex or identity. The attraction depends upon the behavioural difference of signalling. Mostly the brighter flashing mate attracts the other one. As the flashing intensity gets weaker with distance. Some of the firefly spices does not discriminate between dull and bright flash signal.
The flash signal is pretty much visible so it can be used to discourage a variety of potential predator. On the basis of survival of fittest, the flashing is evolved and used as mechanism for defence. Therefore it can be used for warning to predator.
Decentralized decision making and self organizing behaviour are two characteristics that are used in firefly algorithm. To live in a common place interactive communication is a necessity. Individuals living in the group should adapt the goal of group. They can not behave autonomously. This social life is dedicated to reproduction of fireflies and foraging.
The collective decision of group is closely related to the flashing pattern of fireflies which is most important biological foundation for developing firefly algorithm.
Three ideal rules are followed by FA [6].
-
Fireflies attract each other regardless their preference of Sex, because fireflies are unisex.
-
This attraction depend on flash light brightness. Attraction start decreasing when flash brightness decreases, when the between distance increases. So, the brighter one attracts the less bright firefly. If no bright flash firefly is near then they move randomly.
-
The objective function’s landscape defines the brightness of flash.
The proportionality of attractiveness depends on the intensity of light seen by other firefly. So the attractiveness variation ’\(\beta\)’ on ’r’ distance expressed as [6]
Here ’r’ equals to 0 and \(\beta _{0}\) denotes the attractiveness.
Let us assume that there are two firefly \(x_i\) and \(x_j\). Movement of \(i{\mathrm{th}}\) firefly towards \(j{\mathrm{th}}\) firefly due to more brightness is defined as
Where,
-
Second part of Eq. 3 explains the attraction.
-
3rd part of Eq. 3 is for randomization with \(\alpha _{t}\).
-
\(\epsilon _{i}^{t}\) defines the vector of Random numbers generated by either Gaussian distribution or it can be introduced by uniform distribution with time ’t’.
Simple random walk is accompanied, when \(\beta _{0}\) is zero. FA become a reduced mutant version of PSO (Particle Swarm optimisation) when \(\gamma\) is zero [4]. Levy flights and others, randomization of \(\epsilon _{i}^{t}\) is easily extended some other distributions, etc. [4].
‘Figrue 7’ shows the working of firefly algorithm. Let there are N initial solutions and i denotes the number of iteration, with ’max_itr’ maximum iteration number. ’I’ is the intensity or brightness of flash.
2.2 FA Characteristics
Firefly algorithm have been suffered from two important issue.
-
Flash intensity variance
-
Evaluation of attractiveness
The researchers must address these issues to solve the problem. In the algorithm, the flash intensity ’I’ determines a solution ’S’, in proportion to the fitness value ’F’ such as I(S)\(\alpha\)F(S). But we know that this intensity of light changes with distance according to following relation:
where, \(I_{0}\) is Source Light intensity. \(\gamma\) is Fixed light absorption coefficient. r is Distance.
At r=0, i/\(r^2\) avoid the singularity due to combination of inverse square law and Gaussian absorption. Equation 2 defines the attraction due to emitted lighted. The intensity is the absolute measure of light while attractiveness relatively measure to emitted light,judged by other fireflies.
Euclidean distance is computed between two fireflies(\(s_{i}, s_{j}\)), expressed as:
where dimensions of the problem are represented by ’n’. The attraction of \(i{\mathrm{th}}\) firefly towards more brighter \(j{\mathrm{th}}\) firefly is given as:
Where, \(\epsilon\) denotes the randomness extracted from Gaussian distribution [6].
Firefly movement made up of three main component such as:
-
\(i{\mathrm{th}}\) firefly’s current position.
-
attraction toward more bright light emitting firefly.
-
and Random walk, where \(\alpha\) is randomize parameter and random generate number rang from zero to one.
Movement of fireflies depends only on random walk, when \(\beta _{0}\)=0. \(\gamma\) is a main factor of convergence speed. Accepting range of \(\gamma\) is [0 to \(\infty\)] but depending on the optimization problem it may varies from 0.1 to 10 [6].
Three factors,
-
\(\alpha\) as randomization parameter
-
\(\beta\) as Attractiveness
-
\(\gamma\) as absorption coefficient
control Firefly algorithm
Two asymptotic behaviours of firefly algorithm has been observed as per parametric setting of \(\gamma\), when \(\gamma\) leads from 0 and 1.
At \(\gamma \rightarrow 0\), \(\beta\) become \(\beta _{0}\)( A special variant of Particle Swarm Optimization with constant Attractiveness at any place of search space)
At \(\gamma \rightarrow \infty\), The second term of Equation (7) become zero and the movement of firefly follows random walk (and become parallel simulated annealing).
Any implementing of FA is become either of any these two asymptotic behaviour.
3 Classification of Firefly Algorithm
Various versions of FA have been proposed by different researchers. Multi-Objective optimization version of firefly algorithm is also available. Chaos can be incorporated in FA for performance improvement. Hybrid variants of firefly also are developed for performance enhancement. The general classification of firefly algorithm can be done in two most effective manner such as parameter tuning and parameter control.
Parameter tuning is finding out the good values of used parameters before executing algorithm and fixing them during course of iterations [13]. Parameter control is altering the value of parameter during the execution process [14].
The behaviour of firefly algorithm depends not only to the proper parameter value but also to the features of the components involved in the algorithm. Therefore, the classification aspects of FA should considered the following points:
-
What is altered or Modified?
-
How these changes are done?
-
What is the scope of alteration?
The first aspect is based on the following factors:
-
Firefly representation(Either Binary of real Value)
-
Scheme of Population (Swarm or Multi-Swarm)
-
Fitness function Growth
-
Best Solution calculation (Elitism or non-Elitism)
-
Movement of Fireflies can be Uniform, Levy Flights, Gaussian, chaos distribution)
The Second classification aspect is parametric control of FA such as Deterministic, Adaptive, Semi-Adaptive. The third aspect affects FA as:
-
Element of firefly
-
Firefly as whole
-
and, the population of Fireflies
In the start, FA seems like global optimization problem. It is not able to find optimized solution for some of the optimization problems. To get rid off the above mentioned problem, FA has been hybridized with other meta-heuristics technique. Machine learning, heuristic nature, hybridization and many other techniques were incorporated in firefly algorithm to solve many optimization problem. The main components of FA like initializing process, evaluation of fitness function and movement calculation were modified to propose many hybrid FA.
Figure 8 shows the classification of FA.
Continuous optimization problems use the classical firefly algorithm. Inclusion of hybridization and several types of changes done in classical FA that make this algorithm possible to provide optimal results. After such modification, FA is influenced to develop Elitist, Binary, Gaussian, Levi Flight, Chaos, parallel algorithms. Figure 9 represent the graph of such categorical studies of firefly algorithm.
3.1 Modified FA
The two significant factors for improvement of FA are : Light variation and Attraction. These two factors mainly lead researchers to develop the other algorithms.
Surafel et al. [15] changed the random movement of brightest firefly and find out that brightness of light gets decreased if the current best position stop improving further. They tried to enhance the position of brightest firefly which follows m-uniform random walk and move in best position direction.
A binary FA is proposed by Palit et al [16]. for crypt-analysis deciphering using Merkle-hellman knapsack cipher algorithm . Almost all the components needs to modify for new binary firefly algorithm. Another researcher Falcon et al. [17] did binary encoding on candidate solution with adaptive light absorption coefficient to improve search and problem specific facts to deal with infeasible solutions.
when System level fault detection combinatorial optimization problem is empirically analyzed, the results outperforms AIS (artificial immune system) and PSO algorithms on the basis of memory requirements and convergence speed [18, 19]. K. chandrasekaran [20] developed a binary version of FA to solve reliability constrained unit commitment problem.
Farahani [21] proposed a new variant of FA. He used Gaussian distribution to increase convergence speed for getting global optimum move of all fireflies in every iteration. He used five different standard functions to test the algorithm but the concluded experimental results are very promising and accurate than classical FA.
Yang [22], overviewed inefficiency and convergence study of Meta-heuristics and provide a framework to analyze these. He also analyzed the impact of Gaussian random walk, levy flight on meta-heuristic results. He concluded on the basis of results that to deal newly developed meta-heuristics, global and local exploitation imbalance trade-off must be considered.
Inspired by Levy flight strategy for movement, a new meta-heuristic firefly algorithm was developed [23] that represent better success rate and efficiency in comparison of GA and PSO. Efficiency and convergence associated Meta-heuristic such as cuckoo search, FA, Swarm intelligence, levy flight and random walk are considered for analysis in this paper [24]. In this analysis author tries to formulate some mathematical for meta-heuristic behaviour. He found out that mathematical modeling was still a mystery even though the new natural meta-heuristic algorithms work well.
Dos et al. [25] used chaotic maps with a combination of Firefly algorithm to get better convergence of classic FA. Chaos sequence helped to escape local optima effectively. Light absorption coefficient and randomize parameter of Eq. (7) were tuned using chaos sequence. The power of chaotic map FA is defined by a benchmark of reliability-redundancy optimization. Another researcher used chaos in FA to enhance global search mobility [26]. The tuning of absorption coefficient and attractiveness was done using chaotic maps.
Subutic et al. [27] proposed parallelized firefly algorithm for unconstrained optimization problem and tested it on standard benchmark function. A pretty fast and less time consuming algorithm has been obtained. But it is limited only to the scenario when more than one population generation has been considered.
Husselmann et al. [28], firefly algorithm is used on GPU (parallel graphical processing unit) and compared with classical FA on standard benchmark function basis. The proposed algorithm provide fast and much accurate result than original FA. It is observed that original FA is suitable for uni-model optimization problem because less number of fireflies are required which reduced the computation time drastically.
3.2 Hybrid FA
Yang [29] introduce the first hybrid FA, which use eagle strategy as a meta-heuristic of search method. This eagle strategy combines levy flight in FA, which shows the foraging behaviour of eagle. It is similar to levy flight because like this eagle also randomly fly in their vicinity. Eagle catch the pray most efficiently.
Eagle Search algorithmic characteristic, the eagle strategy has two components such as
-
Intensive Local search
-
Random search by levy flight
Luthra et al. [30] used hybrid FA for mono alphabetic substitution cipher crypt-analysis. They use crossover and mutation operation inspiring from genetic algorithm. They used dominant gene crossover operator and permutation mutation.
HEFA (Hybrid Evolutionary Firefly Algorithm) combined the classic FA with differential evolution to improve the accuracy of search and information sharing between fireflies [31]. after calculating the fitness value this algorithm divide the total population in two sub groups. the first group of fireflies is applied with classical FA while second group adopt the differential evolution. the estimation of biological is done in this proposal. the result of HEKA are more accurate and performing speed was excellent as compared to GA, PSO classical FA and Evolutionary programming.
A well known optimization problem, ’Graph three-coloring’ use hybrid classical FA with local search heuristic [32]. when a graph of 500 vertices generated by culberson graph generator, is applied with this proposed MFA (memetic FA), HEA (Hybrid evolutionary algorithm), tabucol,EA-SAW algorithms for graph coloring. the FA outperforms rest of algorithms. it state that FA could successfully solve various combinatorial optimization problems.
In a paper, published by Hassanzadeh et al. [33], A proposal of using FA for speech recognition by training SEFNN (structure equivalent fuzzy neural network) parameter. the generalization ability of fuzzy neural network is improved by firefly algorithm. the result shows that Speech recognition done by hybrid algorithm has higher recognition rate than classical fuzzy neural network trained by PSO.
Nandy et al. [34] use Meta-heuristic FA with back propagation to train FFNN (feed forward neural network). back propagation involved in FA to get faster and better convergence rate while training a feed forward neural network. The developed algorithm take few iterations to converge local optima, while it is tested on some standard datasets. Less convergence time and better convergence rate is provided by proposed algorithm as compared to GA applied on same problem.
Another use of hybrid FA is for cellular learning automata. the meta heuristic ’Cellular leaning automata’ is used to find diverse solution of firefly algorithm. local search is improved by FA. Results were tested on five benchmark function and better exploration rate of standard FA and global optima has been found out [35].
A proposal of categorizing classical FA into three classes based on improved performance is published by farahani et al. [36]. Adaptive randomization parameters and absorption coefficient was achieved using learning autometa in first class. while in second class, balanced exploitation and exploration properties of meta heuristic was achieved using firefly algorithm with hybrid genetic algorithm. Gaussian distribution inspired random walk was used for movement of fireflies over search space done in thirst class. result displayed that a very competitive algorithm is proposed while comparing to PSO and classical FA, after testing it on five standard benchmark functions.
ACO was used to predict cancer by developing a FNT(flexible neural tree) for micro-array data [37]. FA tunes neural tree parameter. model achieved optimal solution with faster convergence and low error rate. the comparative study of FA and EPSO(extensive PSO) found superior success rate and efficiency with FA than EPSO.
Table 1 list performance and implementation details of different variants of firefly algorithm.
3.3 Reason of Efficiency
As observed from above literature review, almost all of the proposal shows better and improved results. one must can think about why Firefly algorithm is efficient in mostly cases. after analysing classical or standard FA few main characteristics has been found out for its success and efficiency.such as:
-
Firefly algorithm is aware about local attraction is superior than attraction at long distance. This is why FA divide its population into different smaller subgroups. which makes efficient and it suitable for multi-model, non-linear problems of optimization.
-
Like PSO, Firefly algorithm does not have drawback of premature convergence because it does not make decisions using explicit global best and historic individual best. Ignoring velocity does not degrade performance the FA.
-
FA control scaling parameter to make it self adaptable to the problem landscape. FA can control it’s modality.
Firefly algorithm is a generalised form of SA (simulated annealing), PSO, Differential evolution. The changes in Eq. 6 describes these different versions.
-
When \(\beta _{0}\) =0 it a type of parallel simulated annealing where \(\alpha\) control the annealing schedule.
-
Similarly, at \(\gamma\) =0 and \(\beta _{0}\) = Unif(0,1). It become a type of DE (differential evolution) without mutation where \(\beta _{0}\) controls crossover rate.
-
It become a PSO variant at \(\gamma\) =0 and current global best is used in place of \(s_{j}\).
This means, firefly algorithm have advantages of SA, PSO, DE which supports the efficient performance of FA.
4 Controlling Parameters
As we know that \(\alpha _{t}\) controlling the randomness and the solution diversity (till some extent). So \(\alpha _{t}\) can be used to change ’t’ used for counting the iteration. ’\(\alpha _{t}\)’ expressed as,
Where,
-
’\(\alpha _{0}\)’ is a scale factor of Initial randomness
-
’\(\delta\)’ used for Necessary cooling factor.
mostly ’\(\delta\)’ is in between 0.95 to 0.97 [4].
Firefly algorithm gives promising and efficient results when ’\(\alpha _{0}\)’ is used with scaling of designing values of variables.
\(\alpha _{0}\) can be initialized as 0.01L where L express problem average scale. Factor of 0.01 is used because random walk need few steps for target with balanced local exploitation, and without covering large distance with few steps [8, 38].
-
Attractiveness is controlled by \(\beta\). \(\beta\) equals to one is suggested for most application.
-
Parameter ’\(\gamma\)’ is related to problem scaling L. Generally, \(\gamma\) = 1/\(\sqrt{L}\). \(\gamma\) is O(1) if for insufficient variation is there.
-
Best population range is 25 to 40 but range of 15 to 100 population size is used mostly [4, 8].
Complexity of firefly algorithm is explained in following steps:
-
1.
FA has two loops of population ’n’ inside a loop of iteration ’t’. which deduce its time complexity as O(\(n^2\)t).
-
2.
for Relatively larger population(n), one inner loop of sorted attractiveness rank or brightness of fireflies is recommended.if this is the case then time complexity of FA become O(ntlog(n)).
-
3.
Computation cost is small with small population and large iteration and gives some sort of linear time complexity. objective function evaluation increases the computational cost for external black box objectives.this consideration has effect on most of the meta-heuristic algorithm that is why objective function of all optimization problem is computationally extensive.
Similar to other meta-heuristic algorithm, the parameters of Eq. 3 are user dependent and affect the performance of algorithm by controlling exploitation and exploration. This parametric adjustment and adaptation are the reason behind some modified Firefly Algorithms by changing \(\alpha ,\gamma\),and ’r’. Modification in \(\alpha\) affect random movement, and degree of attraction is modified by changing \(\gamma\) of ’r’. Brightness adjustment is done by modifying \(\beta _{0}\).
4.1 Random Movement Parameter Modification
Shafaati et al. [39] modified FA for IIR (infinite impulse response) and non-linear system parameter identification. The modified random movement was shown in Eq. 8, where \(\alpha _{0}\) was initial step length and \(\alpha _{\infty }\) was final step length.
An additional step i.e. \(\alpha \epsilon (x_{i} - x_{b})\) was added for updating process, where \(x_{b}\) represents the most brightest firefly. This added term provide resemblance and behave like PSO. The user provide initial and final step length. Randomized parameter exponentially decrease and became null within few iteration. The added term took \(x_{i}\) far away from \(x_{b}\) with \(\alpha \epsilon\) step length, while in current best solution both are same. They used two parameters (i.e. \(\alpha _{0}\) and \(\alpha _{\infty }\)) in place of \(\alpha\).
FA with adaptive randomized movement parameter(\(\alpha\)) was presented [40]. It was modified according to Eq. 9.
Based on randomly selected 3 solutions, other 2 new solutions were generated. Solution with improved brightness supplied to the next iteration after updating \(x_{i}\). This modification was also used in optimal capacitor placement problem [41], and in [42] with crossover and mutation.
Yu et al. [43] evaluated randomized parameter using number of iteration. \(0.4/(1 + e^{0.005(Itr - Itr_{Max})})\) was used for this calculation. Historical information along with current situation was used to update step length. Equation 10 used for calculating \(\alpha\), Where Eq. 11 was for \(f_{b}^{Itr} = f(x_{b})\), \(f_{i}^{Itr} = f\left( x_{i}\right)\) after Itr iterations. \(f_{i_{best}}^{(Itr - 1)}\) and \(f_{i_{best}}^{(Itr-2)}\) gives best performing solutions till Itr-1 and Itr-2 iterations. Different simulated tests shows the improved performance of this modified FA. Controlling random parameter based on previous and current performance of solution benefits in a way such that whenever solution reach near to the brightest firefly, it’s step length decreased.
Adaptive random movement parameter was used for multi-objective optimization [44]. It was modified as \(\alpha = \alpha _{0} 0.9^{Itr}\), to decrease step length faster than linear.
Solution’s historic performance was used to modify random movement parameter [45]. Best position and global best solution till current iteration were evaluated using below equation.
4.2 Attraction Parameter Modification
Lin et al. [46] introduce concept of virtual distance to overcome the drastic change in attraction while there was a small decrease in distance between two fireflies. Virtual distance ’r’ (between 0 to 1) was defined as
where \(r_{\min }=0\) and \(r_{\max }=\sqrt{\sum _{i=1}^{d}\left( x_{\max }(i)-x_{\min }(i)\right) ^{2}}\) and \(\beta =\beta _{0} \gamma \left( 1-r^{\prime }\right)\)
Then swarm start converge to optimal solution. When virtual distance ’r’, \(r_{max}\) also decrease with it. However, faster decrease rate of ’r’ than \(r_{max}\) slightly increase \(\beta\). To handle dominating attraction, they proposed an updating Eq. 14 for later iteration. This updation contradict random attraction and firefly only move towards brighter firefly with \(\beta \alpha \epsilon\) step length.
Tilahan et al. [15] proposed a light intensity function as \(\beta _{0}=e^{I_{0, j}-I_{0, i}}\) for attraction. They suggested, Firefly’s random movement might degrade the brightness, so selecting a direction for improved brightness from ’m’ random direction could be beneficial. But introducing new parameter ’m’ affect complexity.
Gandomi et al. [26] used chaos function to modify \(\beta , \gamma\). They suggested that chaos’s non-repetition and ergodicity could carry searches at higher rate. Later, this proposal is used by many researcher. This approach was used for MRI brain tissue segmentation using chebyshev chaos mapping [47], Gaussian’s mapping used for heart disease prediction [48], reliability redundancy optimization [25], and solving definite integral problems [49]
Khalil et al. [50] used chaotic mapping for updating \(\beta , \gamma\). Based on solution’s intensity, they decreased \(\alpha\) using below equation.
\(\beta\) was calculated using \(\beta =\left( \beta _{\max }-\beta _{\min }\right) e^{-\gamma r^{2}}+\beta _{\min }\) [51, 52], where \(\beta _{min}\) and \(\beta _{max}\) were user driven parameters.
4.3 Random Movement Along with Attraction Parameter Modification
Yan et al. [53] modified FA to deal with increased problem dimension and feasible region. They modified generalised brightness i.e. \(\beta =\beta _{0} e^{-\gamma r^{\omega }}\) by changing \(r^{\omega }\) to \(r^{K\sqrt{n(Range)}}\), where k= constant, n= problem dimension and, Range= maximum dimension Range. \(\alpha\) was decremented linearly from \(\alpha _{0}\) to \(\alpha _{end}\). The fireflies were attracted by brightness and winking. Probability \(p_{w}=0.5+0.1 \mathrm {count}_{i}\) decided the winking, where \(count_{i}\) was winking counter of \(i{\mathrm{th}}\) firefly. Large counter value (range between 0 to 5) involve greater probability of state shift.
Sulaiman et al. [54] presented a modified FA to address economic dispatch problem. They used minimum variation distance in-place of Cartesian distance, to increase exploration. They also mutate \(\alpha\).
Wang et al. [55] modified FA’s light intensity to tackle premature convergence. For iteration ’t’, they calculated light intensity difference using \(\xi =\frac{\varDelta I_{i j}^{(t)}}{\max \{I\}-\min \{I\}}\) formula. Then they modified \(\alpha , \beta ,\gamma\) based on \(\xi\), as \(\alpha =\alpha _{0}\left( 0.02 r_{\max }\right)\) where \(\alpha _{0}=\left\{ \begin{array}{ll} {\xi ,} &{} {\xi >\eta _{2}} \\ {\eta _{2},} &{} {\xi \le \eta _{2}} \end{array}\right.\) with new parameter \(\eta _{2}\), \(\beta _{0}=\left\{ \begin{array}{ll} {\xi ,} &{} {\xi >\eta _{1}} \\ {\eta _{1},} &{} {\xi \le \eta _{1}} \end{array}\right.\) with another new parameter \(\eta _{1}\), and \(\gamma =\frac{\gamma _{0}}{r_{\max }^{2}}\) where \(r_{\max }=\max \left\{ d\left( x_{i}, x_{j}\right) | \forall i, j\right\}\). This amendment showed that, brighter firefly had small attraction, and less brighter had randomness in step length.
Othman et al. [56] proposed modification in firefly algorithm to optimized size and siting of voltage-controlled distribution generator in power distribution network. They selected optimal location and produced power to minimized power loss for distributed generation. They modified \(\alpha , \gamma\) in each iteration accordance to location and maximum power per location, and considered \(\beta = 1\).
Subramanian et al. [57] modified \(\alpha\) as \(\alpha =\alpha _{\max }-\frac{{Itr}\left( \alpha _{\max }-\alpha _{\min }\right) }{{MaxGen}}\). Dependence of distance function had been shifted from location in feasible region to brightness or functional value calculated using \(f\left( x_{b}\right) -f\left( x_{i}\right)\). They considered that, if two fireflies had similar performance, they must be nearby.
\(\alpha , \gamma\) parameters of FA were modified, and used in path planning of autonomous underwater vehicles [58]. \(\alpha\) was calculated using \(\alpha =\alpha _{b}+\frac{Itr}{MaxGen}\left( \alpha _{e}-\alpha _{b}\right)\) where \(\alpha _{e}<\alpha _{b}\). \(\gamma\) was modified as \(\gamma =\gamma _{b}+\frac{Itr}{MaxGen}\left( \gamma _{e}-\gamma _{b}\right)\) where \(\gamma _{e}>\gamma _{b}\). Furthermore, Updation was done using below equation.
It showed that, \(\alpha\) decrease and \(\gamma\) increase, linearly, with increase in iterations. The random movement and attraction decrements as a function of iteration. The Random movement was multiplied with distance, as it was shown in updating Eq. 16.
Fister et al. [59] also modified \(\alpha , \beta , \gamma\) parameter and proposed a self adaptive firefly algorithm. They used updation equation as ,\(\psi :=\psi +\sigma _{\psi } N(0,1)\) for \(\sigma _{\psi }:=\sigma _{\psi } e^{\tau ^{\prime } N(0,1)+\tau N(0,1)}\), where \(\tau , \tau _{\prime }\) were learning parameters and \(\psi =\{\alpha , \beta , \gamma \}\).
Fu et al. [60] modified \(\gamma\) using \(\gamma _{\max }-\left( \gamma _{\max }-\gamma _{\min }\right) \left( \frac{I t r}{MaxGen}\right) ^{2}\) formula, where limits of \(\gamma _{max}\) was between 2 to 4, and for \(\gamma _{min}\) was between 0.5 to 1. They added a new parameter \(\lambda\) for calculation of \(\alpha\) using equation
Where \(\alpha =\alpha _{\mathrm {min}}\) at \(G_{0}\) iteration. As resulted, \(\alpha\) reduced faster than linear when \(\lambda\) was in between 0 and 1, reduced linearly at \(\lambda =1\), and it reduced slower than linear at \(\lambda >1\). They used Gaussian distribution to prevent trapping in local optima, that move toward global best solution i.e. \(x_{b}=x_{b}+x_{b} N(\mu , \sigma )\). This was used when solution variance was less than \(\eta\)(precision parameter) before M predetermined iterations. They suggested to use cubic mapping for better distribution of initial solution.
Coelho et al. [61] used Gaussian or normal distribution (\(G_{1}, G_{2}\)) for \(\mu\)=0, and \(\sigma ^{2}\)=1, and computed \(\alpha\) as \(\alpha =0.03\left| G_{2}\right|\), \(\gamma\) as \(\gamma =0.03\left| G_{1}\right|\). They also used it for multi-variable PID controller tuning [62]. Tinkerbell mapping was used for tuning of \(\gamma\) using \(\gamma =|G| {\bar{x}} \frac{itr}{MaxGen}\), where \({\bar{x}}\) were normalized values ranged between 0 and 1. \(\alpha\) was decremented linearly using Eq. 18.
The comparative studies of work done is presented as a graph in Fig. 10 (Table 2)
5 Applications of FA
Many type of classification, Optimization and engineering optimization problems were addressed by firefly algorithm and its various version, as shown graphically in Fig. 11. Applications of FA in different problem domains shows in Fig. 12.
5.1 Optimization Application of Firefly Algorithm
Figure 13 shows graphical representation of different optimization applications of firefly algorithm.
Lukasik et al. [63] was the first author who used FA in constrain optimization . They applied proposed method on 14 benchmark constrained problem and compare the results with PSO. Observed results of FA found is superior than PSO.
FA was used for mixed (both continuous and discrete) Structural optimization problems [64] . They considered their work for pressure vessel designing, stepped cantilever beam design, designing of welded beam, helical compression spring design, car side impact designing and designing of reinforced concrete beam. The results of FA is far better than results collected from PSO, DE and SA. but oscillatory behaviour of FA is observed for searching optimum design. The behaviour is improved by reduction of randomization parameter with optimization progress.
FA is used for shape and size based structural mass optimization problem by Gomes [65]. They took dynamic constrained for consideration. The proposed work shows a extreme non linear behaviour with regards of frequency constraint for shape optimization. Due to eigen values sensitivity for shape modification, they used constraints as penalty functions which affect the fitness.
5.1.1 Scheduling Problems
Quadratic assignment problem was solved by using FA [66]. In this permutation of integer shows the solution. An adaptive discrete function was mapped using attractiveness, movement, and distance.
Sayadi et al. [67] developed a discrete firefly meta-heuristic that minimize makespan of permutation flow shop scheduling problem.
A job scheduling mechanism for cloud computing using FA was proposed by Yousif et al. [68]. They used FA for minimizing the execution time take by different jobs. parameters such as length of job, resource speed, and other identifier considered for this problem.
Honig et al [69] used firefly algorithm ’Task Graph Scheduling’. The proposed algorithm was tested on Task graph having 36,000 task to be schedule. The algorithm takes less computational time than the other meta-heuristics.
Symmetric TSP (Travelling Salesmen Problem) was addressed by FA [70]. The proposed EDFA (Evolutionary discrete firefly algorithm) use permutation representation where city is represented by element array and index denotes tour order. Each inversion mutation of firefly use ’m’ generated moves. The results were simulated on some standard TSP library problem where proposed EDFA out perform memetic algorithm.
JSSP (Job Shop scheduling problem) using FA is proposed by Khadwilard et al. [71]. Some JSSP examples were taken from OR library and five popular benchmark functions were used to test the algorithm for finding least makespan. Algorithm mostly got trapped in local optimum but it can provide best solution in some cases.
Auther Liu et al. [72] developed adaptive FA for path planning. Adaptive absorption and random parameter of classical FA provide better solutions and higher convergence rate.
Path planning problem of UCAV (uninhabited combat air vehicle), a modified FA is proposed by Wang [73]. He modified the process of information sharing between top fireflies while updating their light intensity. It increases the global convergence rate while maintaining robustness.
Kwiecien et al. [74] proposed optimize queuing system using firefly algorithm. Queuing theory helps to analyze complex services of communication, transportation, computer system, and manufacturing.
5.1.2 Dynamic and Noisy Optimization
Abshouri et al. [75] used learning automata to tune randomization, absorption coefficient, and attractiveness firefly parameters. In this proposal, splitting of fireflies into different set of information exchanging swarm was done. This sets quickly react to environment changing. Different variants of multi- dynamically moving peaks benchmark functions were used to test its performance.
Chai et al. [76] used FA and Bees meta-heuristics algorithms, to solve various noisy continuous mathematical functions and determine their optimal solutions using two variables.
Farahani [77] proposed a multi-swarm variant of FA for dynamic environment. Provision of splitting firefly population into different groups of communicating fireflies was proposed. Exclusion parameter was used for local interaction and for global interaction.
Stabilizing efforts of firefly movement was also done by Farahani et al. [21]. They presented a mechanishm to direct the movement of firefly toward global best. They considered this behaviour when no nearby solutions were better. Gaussian distribution were used to increase the convergence rate.
Nasiri et al. [78] developed a dynamic environment suitable firefly algorithm. They used
-
Preserving of Best Solution
-
Adaptive Randomization Parameter.
In power distributing network , Optimal size and location of distributed generation obtained by a variant of FA [79]. The proposed algorithm showed effective working over many different bus distribution test system.
5.1.3 Multi-Objective Firefly Algorithm
For multi-objective optimizing problem, Yang et al. [80] proposed multi objective FA that directly produce Pareto optimal front. A group of multi objective discontinuous Pareto front, convex and non convex function was used to test the proposal by optimizing industrial engineering benchmark problems.
Abedinia et al. [81] modified FA to solve multi objective Environment/ Economic power dispatching problem (EED). This problem has multiple objectives for conflicting scenarios of fuel cost, system loss, and emission. IEEE Standard 30 and 118 bus cases were used to test the developed algorithm.
Another case of optimizing multi objective problem was tackled by Niknam [82]. They obtained Pareto optimal solution (non dominated) using multi-objective FA. Absorption coefficient and randomization parameter were tuned using chaotic maps. This tuning also use self adaptive probabilistic mutation to improve performance.
Table 3 list down different optimization applications.
5.2 Applications in Engineering Domain
Many engineering problems from different engineering domains can be solved by firefly algorithm. Mostly it is applicable for finding solutions of various engineering optimization. Antenna designing, image processing, civil engineering, and business optimization. Graph in Fig. 14 shows different proposals of FA in engineering domain.
5.2.1 Image Processing
Zhang et al. [83] modified firefly algorithm to optimize the image registration. One rotational parameter with two translation parameter was done. They used NCC (Normalized Cross correlation) for evaluating fitness value.
Horng et al. [84] generate vector quantization codebook by using firefly algorithm . Linde-Buzo-Gray (LBG) method was used to initialize FA by which vector quantization algorithm was designed. The proposed LBG-FA is comare with LGB, HBMO-LBG (Honey Bess Mating Optimization-LBG) and PSO-LBG (Particle Swarm Optimization-LBG) and concluded as the fastest one among others [85]. A improved image is reconstructed using LBG-FA which was almost similar to image reconstructed using HBMO-LGB algorithm.
Influencing by firefly algorithm, An Adaptive local enhancement algorithm was proposed by Hassanzadeh et al. [86]. They used FA to find best optimal image enhancing parameter.Entropy with edge number and edge intensity define the evolutionary criteria. The proposed algorithm found better performing as compared to HE(Histogram Equalization), GAIE(image enhancement using GA), PSOIE(image enhancement using PSO) and LCS(Linear contrast starching).
Hassanzadeh [87], accuracy of Segmentation and optimization run time was improved using FA. He used FA to get the optimized solution of otsu’s method. The developed FA was know as Maximum variances Intra- cluster FA.
Noor et al. [88] presented a FA to generate multilevel thresholding using otsu’s method. Band segmentation from the background of gel electrophoresis(GE) image was done using various image processing technique. They applied some image pre-processing methods to remove noise of the image. The proposed algorithm effectively separates DNA bands from background in a better way.
FA was used to newly design multilevel MET algorithm. Horng et al. [89] proposed maximum entropy based firefly threshold method.
M.Horng [90] proposed a FA based MCET algorithm (minimum cross entry threshold). The generated results were compared with PSO, Quantum PSO, exhaustive search, and HBMO (honey bee mating optimization). It was observed that proposal was outperforming in terms of efficiency to find optimally closed multiple thresholds with five thresholds, which are similar to results obtained by HBMO results. The execution time was comparatively less than other algorithms.
5.2.2 Antenna Designing
Basu et al. [91] used FA and ABC(artificial bee colony) for linear array isotropic antenna design optimization. They considered 3–3 instances of broad side array and steerable linear array having many array pattern direction with many array elements. They evaluated radiation pattern having minimum SLL(Side Lobe Level) for specific FNBW(First Null Beam Width) and HPBW(Half Power Beam Width). The proposed algorithm find out non-uniform excitation of each element. Six different antenna configuration cases were used for testing the effectiveness of proposal.
Basu et al. [92] applied FA meta-heuristics to optimize Side lobe level with FNBW for thinned 2-ring UCCA (Uniform Concentric Circular Array) antenna.Prefix and without prefix thinning was optimized. Firefly algorithm optimized 2 successive concentric ring having thirty five and seventy element of UCCA.
FA and PSO was used to determine the optimum distance between elements of radiating antenna, which were responsible for creation of predefined arbitrary pattern of radiation [93]. FA was compared with PSO for finding global best solution and convergence rate. FA was applied to optimize amplitude distribution of array elements by Chatterjee et al. [94].
5.2.3 Robotics
The concept of coupled biological oscillator having firefly algorithm influence was developed to achieve self organised synchronizing gait pattern for robot walk [95]. The results showed that it was useful to apply nature inspired firefly algorithm to achieve the objective. Severin et al. [96] used natural meta heuristics to automate the optimizing process of blended PTP movement of industrial robots.
5.2.4 Semantic Web Selection
Pop et al developed a hybrid FA for semantic web service composition to determine its optimal selection of solutions [97]. Semantic similarities and QoS attributes were used as selection criterion.
5.2.5 Wireless Network
Breza et al. [98] used nature inspired solution for lightweight WSN decentralization. They used few bio inspired parameter for efficient management of WSN.
5.2.6 Business Optimization
Yang et al. [99] used Non linear support vector machine with A-PSO(accelerated PSO) for solving a business optimizing framework. The proposed work was used for job scheduling, income prediction and optimizing the production.
Giannakouris et al. [100], proposed a nature inspired algorithm for portfolio asset and weight optimization. They combined hybrid intelligent meta-heuristics of FA and ACO for formulating problem of portfolio management.
5.2.7 Chemical Engineering
FA with SCE (Shuffled Complex Evolution) and CMA-ES(Covariant Matrix Adaptation-Evolution Strategy) were evaluated for determination of phase and chemical equilibrium [101]. Performance to determine phase phase stability and phase equilibrium is compared with other methods.
5.2.8 Civil Engineering
Talatahari et al. [102], used FA for optimally designing the towers. They proposed an adaptive FA in which constraints were handled using feasibility methods. The proposed work improve the convergence and inexpensively optimize the large scale structures. They used 3 different towers to evaluate the performance FA.
Azad et al. [103] used FA for optimizing the design of truss structures. They considered size and geometric parameters for this optimization problem. firefly movement were modified to propose this method.
Gholizadeh et al. [104] optimize the shape and size of truss using HS(harmony search), FA and PSO. The converging behaviour of these nature inspired algorithms was focused.
5.2.9 Meteorology Optimization
Santos et al. [105] used FA to optimize the weight for determination of precipitation area . Multi-model approach was used to determine precipitation field where weighted average of rainfall parameter were used for calculation. Finding numerical values for such average was an optimization problem. Firefly algorithm was used for this optimization.
5.2.10 Industrial Optimization
Apostolopoulos et al. [106] used FA to cut off fuel and emission cost from power generating unit . These two are conflicting objectives of economic emission load dispatch problem. he formulated a mathematical and applied proposed meta heuristic firefly algorithm.
Economic dispatch(ED) was addressed using firefly algorithm to find the feasible optimized solution [107]. They tried to optimize the objective having non linear cost and operational constraints. The results showed that proposed FA was suitable option to solve ED problem by determining most economical load.
Mauder et al. [108] proposed an algorithm to achieve high quality products and high rate of production. FA was used to set the controlling parameters and improve the quality of produced steel.
Chatteree et al. obtained dual radiation pattern of concentric ring array based isotropic antenna [109]. Different switch combinations of specific excitation and optimized excitation of array element was determined by firefly algorithm. PSO with same conditions and criteria was used to compare the impact of FA. The considered problem was effectively optimized by FA over PSO. Firefly algorithm was modified to obtain optimal solution for truss designing considering geometry and size of structure [103].
Aungkulanon et al. [110] used FA and PSO for process improvement of simulated manufacturing. They compare convergence rate, result quality and processing time taken for this process and used benchmark methods for analysis.
Rampriya et al. [111] used FA for determining the solution of PBUC (Profit based unit commitment) problem. Lagrangian FA was used to determine on/off schedule of units. they used FA for power generation. It was used for spinning and non-spinning reserve generation. The profit was maximised using the proposed method.
Chandrasekaran tried to solve SCUC(Security Constrained Unit Commitment) problem of Hybrid power systme having reliablility contraints using a variant of firefly algorithm, i.e., BRCFA(Binary Real Coded FA) [112].
Hu et al. [113] solved Energy efficient mathematical model of trains using firefly algorithm. By using FA, they were able to optimize the energy consumption for trains. They also optimize the consumption of material used for power generation. The proposed method were able to optimize the control operation of trains.
Power dispatching optimization was done using FA [114]. They used PSO for comparative analysis . The proposed work was tested on 2 thermal power plant and an IEEE-14. It was found that FA was most efficient to optimize the cost that too in just one second.
Roeva used firefly algorithm for tuning PID controller parameter in smith predictor [115]. Roeva et al. [116] adapt firefly algorithm parameter identification cultivation process of E. coli fed-Batch .
Abedinia et al. [117] proposed a version of FA for Fuzzy PID controller. This proposal address the LFC(Load Frequency Control) problem for deregulated environment. The results were compared with classical PID and fuzzy PID controller using FD indices and ITAE.
Dutta et al [118]. find out that obtaining isospectral system was a error minimizing optimization problem. he used FA to do this optimization based on local search and find it efficient.
The list of various engineering application shown in Table 4.
5.3 Classification Problems
Banati et al. [119] proposed a RST(Rough Set Theory) based Hybrid FA for finding feature set. They simulated the feature selection process.
Horng [120] used FA in the domain of neural network. It was used for training of RBF(Redial Basis Function) type neural network. RBF is an activation function of neural Network. They tested FA on 5 UCI ML Repository data set and check the performance of propose algorithm on the basis of complexity, correctness of classification and mean square error.
Firefly algorithm was used for data object clustering [121]. This makes different groups on the basis of the data attributes. ABC, PSO and other SI algorithms were used for comparing the effectiveness of FA for clustering. CEP( Classification Error Percentage) was used as performance measuring criteria. FA obtained as most efficient algorithm.
Use of Firefly algorithm for classification is showed in Table 5.
6 Conclusions and Future Scope
X.S. Yang Developed firefly algorithm in 2008. after its establishment, a wide expansion has been done in various application domain. all most all practical domain uses FA and is dynamically increasing day by day.
we have seen that firefly algorithm posses properties like :
-
Increased convergence rate.
-
can be used for multi- optimization problems.
-
can work as local search heuristic.
-
emerged as global problem solver.
-
can be adapted in any problem domain.
much more.
we have categorize application domain of FA as Engineering applications, optimization, and classification. trending research areas such as image processing, robots, structure designing, antenna designing as well as WSN have used FA to optimize their objectives and results were inspiring towards use of firefly algorithm. various kind of engineering optimization successfully used FA to get global optimum objective.
Combinatorial optimization is an very important domain of optimization where large number of FA variant have been evolved. Continuous and Multi-objective optimization problem can be targeted using modified version of firefly algorithm. Noisy and constrained problem of optimization has been solved in many papers illustrated above.
Not even this, some of NP-Hard problems like TSP(travelling salesmen problem),queuing system optimization, permutation flow shop scheduling, and Graph scheduling were solved using firefly algorithm. which give us an option to address other NP-Hard problems. this is a very big achievement of FA.
Machine learning is a latest and rapidly growing areas in which we have seen many application to solve classification problem using firefly algorithm. Artificial intelligence and designing of neural networks also have application door open to FA.
All the above studies about firefly algorithm make is very promising algorithm to obtain better, efficient and effective solution of various kind of problems.
in this paper a twofold studies of FA application has been done. the application study shows that FA can be practically used in almost all the domains. the review of above studies Project firefly algorithm as, a simple to use, versatile, and very flexible algorithm. a large number of diverse real world problems can be efficiently solved by FA. many open challenges have been discovered from the above study which can attract researchers to use firefly algorithm in their problem domain in near future.
References
Blum C, Li X (2008) Swarm intelligence in optimization. Springer, Berlin, pp 43–85
Chakraborty A, Kar AK (2017) Swarm intelligence: a review of algorithms. Springer, Cham, pp 475–494
Beekman M, Sword GA, Simpson SJ (2008) Biological foundations of swarm intelligence. Springer, Berlin, pp 3–41
Yang X-S (2008) Nature-inspired metaheuristic algorithms. Luniver press, London
Črepinšek M, Mernik M, Liu S-H (2011) Analysis of exploration and exploitation in evolutionary algorithms by ancestry trees. Int J Innov Comput Appl 3(1):11–19
Fister I, Fister I, Yang X-S, Brest J (2013) A comprehensive review of firefly algorithms. Swarm Evol Comput 13:34–46
Lee SA (2010) k-phase oscillator synchronization for graph coloring. Math Comput Sci 3(1):61–72
Yang X-S (2009) Firefly algorithms for multimodal optimization. In: International symposium on stochastic algorithms. Springer, pp 169–178
Yang X-S (2010). Firefly algorithm, stochastic test functions and design optimisation. arXiv:1003.1409
Yang X-S (2011) Review of metaheuristics and generalized evolutionary walk algorithm. arXiv:1105.3668
Parpinelli RS, Lopes HS (2011) New inspirations in swarm intelligence: a survey. Int J Bio-Inspired Comput 3(1):1–16
Zang H, Zhang S, Hapeshi K (2010) A review of nature-inspired algorithms. J Bionic Eng 7(4):S232–S237
Eiben AE, Hinterding R, Michalewicz Z (1999) Parameter control in evolutionary algorithms. IEEE Trans Evol Comput 3:124–141
Eiben AE, Smith JE et al (2003) Introduction to evolutionary computing, vol 53. Springer, Berlin
Tilahun S, Ong HC (2012) Modified firefly algorithm. J Appl Math 467631:11
Palit S, Sinha SN, Molla MA, Khanra A, Kule M (2011) A cryptanalytic attack on the knapsack cryptosystem using binary firefly algorithm. In: 2011 2nd international conference on computer and communication technology (ICCCT-2011), pp 428–432
Falcon R, Almeida M, Nayak A (2011) Fault identification with binary adaptive fireflies in parallel and distributed systems. In: 2011 IEEE congress of evolutionary computation (CEC), pp 1359–1366
Yang H, Elhadef M, Nayak A, Yang X (2008) Network fault diagnosis:aAn artificial immune system approach. In: 2008 14th IEEE international conference on parallel and distributed systems, pp 463–469
Falcon R, Almeida M, Nayak A (2010) A binary particle swarm optimization approach to fault diagnosis in parallel and distributed systems. In: IEEE congress on evolutionary computation, pp 1–8
Chandrasekaran K, Simon SP (2012) Network and reliability constrained unit commitment problem using binary real coded firefly algorithm. Int J Electr Power Energy Syst 43(1):921–932
Farahani SM, Abshouri A, Nasiri B, Meybodi M (2011) A gaussian firefly algorithm. Int J Mach Learn Comput 1(5):448
Yang X-S (2011) Metaheuristic optimization: algorithm analysis and open problems. In: Pardalos PM, Rebennack S (eds) Experimental algorithms. Berlin, Heidelberg, pp 21–32
Yang X-S (2010) Firefly algorithm, lévy flights and global optimization. In: Bramer M, Ellis R, Petridis M (eds) Research and development in intelligent systems XXVI. Springer, London, pp 209–218
Yang X-S (2012) Efficiency analysis of swarm intelligence and randomization techniques. J Comput Theor Nanosci 9(2):189–198
dos Santos Coelho L, de Andrade Bernert DL, Mariani VC (2011) A chaotic firefly algorithm applied to reliability-redundancy optimization. In: 2011 IEEE congress of evolutionary computation (CEC), pp 517–521
Gandomi A, Yang X-S, Talatahari S, Alavi A (2013) Firefly algorithm with chaos. Commun Nonlinear Sci Numer Simul 18(1):89–98
Subutic M, Tuba M, Stanarevic N (2012) Parallelization of the firefly algorithm for unconstrained optimization problems. Latest Adv Inf Sci Appl 22(3):264–269
Husselmann AV, Hawick K (2012) Parallel parametric optimisation with firefly algorithms on graphical processing units. In: Proceedings of the international conference on genetic and evolutionary methods (GEM12). Number CSTN-141, Las Vegas, USA, CSREA (16–19 July 2012), pp 77–83
Yang X-S, Deb S (2010) Eagle strategy using Lévy Walk and firefly algorithms for stochastic optimization. Springer, Berlin, pp 101–111
Luthra J, Pal SK (2011) A hybrid firefly algorithm using genetic operators for the cryptanalysis of a monoalphabetic substitution cipher. In: 2011 world congress on information and communication technologies, pp 202–206
Abdullah A, deris SB, Mohamad M, Hashim SM (2012) A new hybrid firefly algorithm for complex and nonlinear problem, 03
Fister I, Mernik M, Filipič B (2013) Graph 3-coloring with a hybrid self-adaptive evolutionary algorithm. Comput Optim Appl 54(3):741–770
Hassanzadeh T, Faez K, Seyfi G (2012) A speech recognition system based on structure equivalent fuzzy neural network trained by firefly algorithm. In: 2012 international conference on biomedical engineering (ICoBE), pp 63–67
Nandy S, Sarkar PP, Das A (2012) Analysis of a nature inspired firefly algorithm based back-propagation neural network training. arXiv:1206.5360
Hassanzadeh T, Meybodi MR (2012) A new hybrid algorithm based on firefly algorithm and cellular learning automata. In: 20th Iranian conference on electrical engineering (ICEE2012), pp 628–633
Farahani S, Abshouri A, Nasiri B, Meybodi M (2012) Some hybrid models to improve firefly algorithm performance. Int J Artif Intell 8:97–117
Rajini A, David VK (2011) A comparative performance study on hybrid swarm model for microarray data. Int J Comput Appl 975:8887
Yang X-S (2010) Engineering optimization: an introduction with metaheuristic applications. Wiley, Hoboken
Shafaati M, Mojallali H (2012) Modified firefly optimization for IIR system identification. Control Eng Appl Inform 14:59–69
Shakarami MR, Sedaghati R (2014) A new approach for network reconfiguration problem in order to deviation bus voltage minimization with regard to probabilistic load model and DGS. Int J Electr Comput Eng 8(2):430–435
Olamaei J, Moradi M, Kaboodi T (2013) A new adaptive modified firefly algorithm to solve optimal capacitor placement problem. In: 18th Electric power distribution conference, pp 1–6
Kavousi-Fard A, Samet H, Marzbani F (2014) A new hybrid modified firefly algorithm and support vector regression model for accurate short term load forecasting. Expert Syst Appl 41(13):6047–6056
Yu S, Yang S, Su S (2013) Self-adaptive step firefly algorithm. J Appl Math 2013
Yang X-S (2012) Multiobjective firefly algorithm for continuous optimization. Eng Comput 29:175–184
Yu S, Su S, Lu Q, Huang L (2014) A novel wise step strategy for firefly algorithm. Int J Comput Math 91(12):2507–2513
Lin X, Zhong Y, Zhang H (2013) An enhanced firefly algorithm for function optimisation problems. Int J Model Ident Control 18(2):166–173
Jansi S, Subashini P (2015) A novel fuzzy clustering based modified firefly algorithm with chaotic map for mri brain tissue segmentation. MAGNT Res Rep 3(1):52–58
Long NC, Meesad P, Unger H (2015) A highly accurate firefly based algorithm for heart disease prediction. Expert Syst Appl 42(21):8221–8231
Abdel-Basset M (2020) Chaotic firefly algorithm for solving definite integral. Int J Inf Technol Comput Sci 6:19–24
Khalil A (2014) Improved firefly algorithm for unconstrained optimization problems. Int J Comput Appl Technol Res 4(1):77–81
Selvarasu R, Kalavathi MS, Rajan CCA (2013) Svc placement for voltage constrained loss minimization using self-adaptive firefly algorithm. Arch Electr Eng 62(4):649–661
Meena S, Chitra K (2015) Modified approach of firefly algorithm for non-minimum phase systems. Indian J Sci Technol 8(23):1
Yan X, Zhu Y, Wu J, Chen H (2012) An improved firefly algorithm with adaptive strategies. Adv Sci Lett 16(1):249–254
Sulaiman MH, Daniyal H, Mustafa MW (2012) Modified firefly algorithm in solving economic dispatch problems with practical constraints. In: 2012 IEEE international conference on power and energy (PECon), pp 157–161
Wang B, Li D-X, Jiang J-P, Liao Y-H (2016) A modified firefly algorithm based on light intensity difference. J Comb Optim 31(3):1045–1060
Othman MM, Hegazy YG, Abdelaziz AY (2015) A modified firefly algorithm for optimal sizing and siting of voltage controlled distributed generators in distribution networks. Periodica Polytech Electr Eng Comput Sci 59(3):104–109
Subramanian R, Thanushkodi K (2013) An efficient firefly algorithm to solve economic dispatch problems. Int J Soft Comput Eng 2(1):52–55
Liu C, Zhao Y, Gao F, Liu L (2015) Three-dimensional path planning method for autonomous underwater vehicle based on modified firefly algorithm. Math Probl Eng
Fister I, Yang X-S, Brest J, Fister IJ (2013) 4-memetic self-adaptive firefly algorithm. In: Yang X-S, Cui Z, Xiao R, Gandomi AH, Karamanoglu M (eds) Swarm intelligence and bio-inspired computation. Elsevier, Oxford, pp 73–102
Fu Q, Liu Z, Tong N, Wang M, Zhao Y (2015/07) A novel firefly algorithm based on improved learning mechanism. In: International conference on logistics engineering, management and computer science (LEMCS 2015). Atlantis Press
dos Santos Coelho L, Mariani VC (2013) Improved firefly algorithm approach applied to chiller loading for energy conservation. Energy Build 59:273–278
dos Santos Coelho L, Mariani VC (2012) Firefly algorithm approach based on chaotic tinkerbell map applied to multivariable pid controller tuning. Comput Math Appl 64(8):2371–2382
Łukasik S, Żak S (2009) Firefly algorithm for continuous constrained optimization tasks. In: International conference on computational collective intelligence. Springer, pp 97–106
Gandomi AH, Yang X-S, Alavi AH (2011) Mixed variable structural optimization using firefly algorithm. Comput Struct 89(23–24):2325–2336
Gomes HM (2012) A firefly metaheuristic structural size and shape optimisation with natural frequency constraints. Int J Metaheuristics 2(1):38–55
Durkota K (2011) Implementation of a discrete firefly algorithm for the QAP problem within the sage framework. Bachelor thesis, Czech Technical University
Sayadi M, Ramezanian R, Ghaffari-Nasab N (2010) A discrete firefly meta-heuristic with local search for makespan minimization in permutation flow shop scheduling problems. Int J Ind Eng Comput 1(1):1–10
Yousif A, Abdullah AH, Nor SM, Abdelaziz AA (2011) Scheduling jobs on grid computing using firefly algorithm. J Theor Appl Inf Technol 33(2):155–164
Hönig U (2010) A firefly algorithm-based approach for scheduling task graphs in homogeneous systems. Proc Inform 724
Jati GK Suyanto (2011) Evolutionary discrete firefly algorithm for travelling salesman problem. I: Bouchachia A (ed) Adaptive and intelligent systems. Springer, Berlin, pp 393–403
Khadwilard A, Chansombat S, Thepphakorn T, Chainate W, Pongcharoen P (2012) Application of firefly algorithm and its parameter setting for job shop scheduling. J Ind Technol 8(1):49–58
Liu C, Gao Z, Zhao W (2012) A new path planning method based on firefly algorithm. In: 2012 fifth international joint conference on computational sciences and optimization, pp 775–778
Wang G, Guo L, Duan H, Liu L, Wang H et al (2012) A modified firefly algorithm for ucav path planning. Int J Hybrid Inf Technol 5(3):123–144
Kwiecień J, Filipowicz B (2012) Firefly algorithm in optimization of queueing systems. Bull Pol Acad Sci Tech Sci 60(2):363–368
Abshouri AA, Meybodi MR, Bakhtiary A (2011) New firefly algorithm based on multi swarm & learning automata in dynamic environments. IEEE Proc 13:989–993
Chai-Ead N, Aungkulanon P, Luangpaiboon P (2010) Bees and firefly algorithms for noisy non-linear optimisation problems. In: World congress on engineering 2012, July 4–6, 2012. London, UK., vol. 2189. International Association of Engineers, pp 1449–1454
Farahani SM, Nasiri B, Meybodi MR (2011) A multiswarm based firefly algorithm in dynamic environments. In: Third international conference on signal processing systems (ICSPS2011), Citeseer, vol 3, pp 68–72
Nasiri B, Meybodi M (2012) Speciation based firefly algorithm for optimization in dynamic environments. Int J Artif Intell 8(S12):118–132
Sulaiman MH, Mustafa MW, Azmi A, Aliman O, Rahim S R Abdul (2012) Optimal allocation and sizing of distributed generation in distribution system via firefly algorithm. In: 2012 IEEE international power engineering and optimization conference Melaka, Malaysia, pp 84–89
Yang X-S (2013) Multiobjective firefly algorithm for continuous optimization. Eng Comput 29(2):175–184
Abedinia O, Amjady N, Naderi MS (2012) Multi-objective environmental/economic dispatch using firefly technique. In: 2012 11th international conference on environment and electrical engineering, pp 461–466
Niknam T, Azizipanah-Abarghooee R, Roosta A, Amiri B (2012) A new multi-objective reserve constrained combined heat and power dynamic economic emission dispatch. Energy 42(1):530–545
Zhang Y-D, Wu L (2012) A novel method for rigid image registration based on firefly algorithm. In: International journal of research and reviews in soft and intelligent computing (IJRRSIC), vol 2, 01
Horng M-H, Jiang T-W (2010) The codebook design of image vector quantization based on the firefly algorithm. In: Pan J-S, Chen S-M, Nguyen N-T (eds) Computational collective intelligence technologies and applications. Springer, Berlin, pp 438–447
Horng M-H (2012) Vector quantization using the firefly algorithm for image compression. Expert Syst Appl 39:1078–1091
Hassanzadeh T, Vojodi H, Mahmoudi F (2011) Non-linear grayscale image enhancement based on firefly algorithm. In: Proceedings of the second international conference on swarm, evolutionary, and memetic computing—volume part II, SEMCCO’11. Springer, Berlin, pp 174–181
Hassanzadeh T, Vojodi H, Moghadam AME (2011) An image segmentation approach based on maximum variance intra-cluster method and firefly algorithm. In: 2011 seventh international conference on natural computation, vol 3, pp 1817–1821
Noor MH Mohd, Ahmad AR, Hussain Z, Ahmad KA, Ainihayati AR (2011) Multilevel thresholding of gel electrophoresis images using firefly algorithm. In: 2011 IEEE international conference on control system, computing and engineering, pp 18–21
Horng M, Jiang T (2010) Multilevel image thresholding selection based on the firefly algorithm. In: 2010 7th international conference on ubiquitous intelligence computing and 7th international conference on autonomic trusted computing, pp 58–63
Horng M-H, Liou R-J (2011) Multilevel minimum cross entropy threshold selection based on the firefly algorithm. Expert Syst Appl 38:14805–14811
Basu B, Mahanti G (2011) Fire fly and artificial bees colony algorithm for synthesis of scanned and broadside linear array antenna. Prog Electromagn Res B 32:169–190
Basu B, Mahanti G (2012) Thinning of concentric two-ring circular array antenna using fire fly algorithm. Sci Iran 19(6):1802–1809
Zaman MA, Matin M Abdul (2012) Nonuniformly spaced linear antenna array design using firefly algorithm. Int J Microw Sci Technol 2012
Chatterjee A, Mahanti GK (2013) Minimization in variations of different parameters in different \(\varphi\) planes of a small-size concentric ring array antenna using firefly algorithm. Annal Telecommun 68(5–6):299–306
Jakimovski B, Meyer B, Maehle E (2010) Firefly flashing synchronization as inspiration for self-synchronization of walking robot gait patterns using a decentralized robot control architecture. In: Müller-Schloer C, Karl W, Yehia S (eds) Architecture of computing systems (ARCS 2010). Springer, Berlin, pp 61–72
Severin S, Rossmann J (2012) A comparison of different metaheuristic algorithms for optimizing blended ptp movements for industrial robots. In: Su C-Y, Rakheja S, Liu H (eds) Intelligent robotics and applications. Springer, Berlin, pp 321–330
Pop CB, Chifu VR, Salomie I, Baico RB, Dinsoreanu M, Copil G (2011) A hybrid firefly-inspired approach for optimal semantic web service composition. Scalable Comput Pract Exp 12(3):363–370
Breza M, McCann JA (2008) Lessons in implementing bio-inspired algorithms on wireless sensor networks. In: 08 NASA/ESA conference on adaptive hardware and systems, pp 271–276
Yang X-S, Deb S, Fong S (2011) Accelerated particle swarm optimization and support vector machine for business optimization and applications. In: Fong S (ed) Networked digital technologies. Springer, Berlin, pp 53–66
Giannakouris G, Vassiliadis V, Dounias G (2010) Experimental study on a hybrid nature-inspired algorithm for financial portfolio optimization. In: Konstantopoulos S, Perantonis S, Karkaletsis V, Spyropoulos CD, Vouros G (eds) Artificial intelligence: theories, models and applications. Springer, Berlin, pp 101–111
Fateen S-EK, Bonilla-Petriciolet A, Rangaiah GP (2012) Evaluation of covariance matrix adaptation evolution strategy, shuffled complex evolution and firefly algorithms for phase stability, phase equilibrium and chemical equilibrium problems. Chem Eng Res Des 90(12):2051–2071
Talatahari S, Gandomi AH, Yun GJ (2014) Optimum design of tower structures using firefly algorithm. Struct Des Tall Spec Build 23(5):350–361
Kazemzadeh AS (2011) Optimum design of structures using an improved firefly algorithm. Int J Optim Civ Eng 1(2):327–340
Gholizadeh S, Barati H (2012) A comprative study of three metaheuristics for optimum design of trusses
dos Santos AF, de Campos Velho HF, Luz EF, Freitas SR, Grell G, Gan MA (2013) Firefly optimization to determine the precipitation field on south america. Inverse Probl Sci Eng 21(3):451–466
Apostolopoulos T, Vlachos A (2010) Application of the firefly algorithm for solving the economic emissions load dispatch problem. Int J Comb 2011
Yang X-S, Hosseini SSS, Gandomi AH (2012) Firefly algorithm for solving non-convex economic dispatch problems with valve loading effect. Appl Soft Comput 12(3):1180–1186
Jeklene O (2011) Optimization of the quality of continuously cast steel slabs using the firefly algorithm. Mater Tehnol 45(4):347–350
Chatterjee A, Mahanti GK, Chatterjee A (2012) Design of a fully digital controlled reconfigurable switched beam concentric ring array antenna using firefly and particle swarm optimization algorithm. Prog Electromagn Res 36:113–131
Aungkulanon P, Chai-ead N, Luangpaiboon P (2011) Simulated manufacturing process improvement via particle swarm optimisation and firefly algorithms. Lect Not Eng Comput Sci 2:03
Rampriya B, Mahadevan K, Kannan SS (2010) Unit commitment in deregulated power system using lagrangian firefly algorithm. In: 2010 international conference on communication control and computing technologies, pp 389–393
Chandrasekaran SSK (2011) Demand response scheduling in scuc problem for solar integrated thermal system using firefly algorithm. IET Conf Proc 44–44(1)
Hu H (2012) Fa-based optimal strategy of train’s energy saving with energy materials. Adv Mater Res 485:93–96
Dekhici L, Borne P, Khaled B (2012) Firefly algorithm for economic power dispatching with pollutants emission. Inform Econ 16(2):45–57
Roeva O, Slavov T (2012) Firefly algorithm tuning of pid controller for glucose concentration control during e. coli fed-batch cultivation process. In: FedCSIS, pp 455–462
Roeva O (2012) Optimization of e. coli cultivation model parameters using firefly algorithm. Int J Bioautom 16(1):23–32
Abedinia O, Amjady N, Kiani K, Shayanfar H (2012) Fuzzy PID based on firefly algorithm: load frequency control in deregulated environment. In: Proceedings on the international conference on artificial intelligence (ICAI), p 1. The Steering Committee of The World Congress in Computer Science, Computer
Dutta R, Ganguli R, Mani V (2011) Exploring isospectral spring-mass systems with firefly algorithm. Proc R Soc A: Math Phys Eng Sci 467(2135):3222–3240
Banati H, Bajaj M (2011) Fire fly based feature selection approach. Int J Comput Sci Issues (IJCSI) 8(4):473
Horng M-H, Lee Y-X, Lee M-C, Liou R-J (2012) Firefly metaheuristic algorithm for training the radial basis function network for data classification and disease diagnosis. Theory New Appl Swarm Intell 4(7):115–132
Senthilnath J, Omkar S, Mani V (2011) Clustering using firefly algorithm: performance study. Swarm Evol Comput 1(3):164–171
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Kumar, V., Kumar, D. A Systematic Review on Firefly Algorithm: Past, Present, and Future. Arch Computat Methods Eng 28, 3269–3291 (2021). https://doi.org/10.1007/s11831-020-09498-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11831-020-09498-y