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].

Fig. 1
figure 1

Evolution of Firefly algorithm

Fig. 2
figure 2

Domains of artificial intelligence

Fig. 3
figure 3

Different swarm intelligence algorithm inspiration

Fig. 4
figure 4

Publications of different swarm intelligence approaches [2]

Fig. 5
figure 5

General framework of Firefly algorithm

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].

Fig. 6
figure 6

Working of FA

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]

$$\begin{aligned} \beta =\beta _{0}e^{-\gamma r^{2}} \end{aligned}$$
(2)

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

$$\begin{aligned} x{_{i}}^{t+1} = x{_{i}}^{t} + \beta _{0}e^{-\gamma r^{2} _{ij}}(x {_{j}}^{t} - x{_{i}}^{t}) + \alpha _{t} \epsilon _{i}^{t} \end{aligned}$$
(3)

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].

Fig. 7
figure 7

Flowchart of FA

‘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.

figure a

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:

$$\begin{aligned} I(r) = I_{0}e^{-\gamma {r^2}} \end{aligned}$$
(4)

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:

$$\begin{aligned} r_{ij} = ||s_{i}-s{j}||= \sqrt{\sum _{k=1}^{k=2}({s_{ik}-s_{jk}})^2} \end{aligned}$$
(5)

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:

$$\begin{aligned} s_{i} = s_{i} + \beta _{0}e^{-\gamma r^{2}_{ij}}(s_i - s_{j}) + \alpha \epsilon _{i} \end{aligned}$$
(6)

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.

Fig. 8
figure 8

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.

Fig. 9
figure 9

Classification 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.

Table 1 Performance and implementation study of various 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,

$$\begin{aligned} \alpha _{t} = \alpha _{0}\delta ^{t}, Zero<\delta <1. \end{aligned}$$
(7)

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. 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. 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. 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.

$$\begin{aligned} \alpha = \alpha _{\infty } + (\alpha _{0} - \alpha _{\infty })e^{-Itr} \end{aligned}$$
(8)

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.

$$\begin{aligned} \alpha ^{(Itr)} : \alpha ^{(Itr - 1)}(1/(2Itr_{Max}))^{1/(Itr_{Max})} \end{aligned}$$
(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.

$$\begin{aligned} \alpha _{i}^{(Itr + 1)}= & {} 1-\frac{1}{\sqrt{f_{b}^{(Itr)}-\left( f_{i}^{(Itr)}\right) ^{2}+\left( f_{i}^{(Itr)}\right) ^{2}+1}} \end{aligned}$$
(10)
$$\begin{aligned} h_{i}^{Itr}= & {} \frac{1}{\sqrt{\left( f_{i_{best}}^{(Itr - 1)} - f_{i_{best}}^{(Itr-2)}\right) ^{2}+1}} \end{aligned}$$
(11)

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.

$$\begin{aligned} \alpha _{i}^{(Itr + 1)}=\alpha _{i}^{(Itr)}-\left( \alpha _{i}^{(Itr)}-\alpha _{\min }\right) e^-{\frac{{Itr|x_{{gbest}}-x_{ibest}|}}{MaxGen}} \end{aligned}$$
(12)

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

$$\begin{aligned} r^{\prime }=\frac{r-r_{\mathrm {min}}}{r_{\mathrm {max}}-r_{\mathrm {min}}} \end{aligned}$$
(13)

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.

$$\begin{aligned} x_{i}=x_{i}+\beta \left( x_{j}-x_{i}\right) \alpha \varepsilon \end{aligned}$$
(14)

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.

$$\begin{aligned} \alpha = \alpha _{\max }-\left( \alpha _{\max }-\alpha _{\min }\right) \frac{I_{\max }-I_{mean}}{I_{\max }-I_{\min }} \end{aligned}$$
(15)

\(\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.

$$\begin{aligned} x_{i} = x_{i}+ \beta (x_{i}-x_{j})+\alpha r \varepsilon \end{aligned}$$
(16)

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

$$\begin{aligned} \alpha =\alpha _{\max }-\left( \alpha _{\max }-\alpha _{\min }\right) \left( \frac{{Itr}-1}{G_{0}-1}\right) ^{\lambda } \end{aligned}$$
(17)

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.

$$\begin{aligned} \alpha =(\alpha _{final}-\alpha _{initial}) \frac{Itr}{MaxGen}+\alpha _{initial} \end{aligned}$$
(18)

The comparative studies of work done is presented as a graph in Fig. 10 (Table 2)

Fig. 10
figure 10

Studies on controlling parameters

Table 2 Modified variants of Firefly algorithm

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.

Fig. 11
figure 11

Application domains of FA

Fig. 12
figure 12

Various applications of FA

5.1 Optimization Application of Firefly Algorithm

Figure 13 shows graphical representation of different optimization applications of firefly algorithm.

Fig. 13
figure 13

Different optimization application of FA

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.

Table 3 Optimization variants of Firefly algorithm

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.

Fig. 14
figure 14

Various Engineering application of Firefly algorithm

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.

Table 4 Various Engineering applications of Firefly algorithm

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.

Table 5 Firefly algorithm for classification problems

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.