A Review on Nature-based Swarm Intelligence Optimization Techniques and its Current Research Directions

Background /Objectives: In today’s world, finding a feasible solution for combinatorial problems becoming a crucial task. The main objective of this paper is to analyze and comprehend different nature based algorithms enabling to find optimal solution. Methods/statistical analysis: Bacterial Foraging Algorithm (BFOA), firefly algorithm, Ant Colony Optimization (ACO), bee colony optimization, cuckoo optimization etc. Which have been used in power load balancing, cost estimating, optimal routing, color segmentation were discussed. This paper also highlights the constraints and convergence properties of each algorithm to solve certain problems encountered in various fields of application. Findings: Ant colony algorithms were successful in finding solutions within 1% of known optimal solutions. Optimal solution was found in BFOA by adjusting chemo taxis step size. Also, this paper analyzes results of various research works done in numerous fields using the swarm intelligence techniques. Keywords


Introduction
Optimization is the process of finding the best inputs in obtaining the maximum or minimum output with minimum cost 1 .The procedure for optimization problem begins by choosing the design variable, and by formulating the constraints and objective functions.The main goal of objective function is to set a value to chosen variables according to given constraint which will produce the optimum response.These optimization problems can be classified as continuous and combinatorial optimization problems depending on number of available solutions for a given problem.The continuous problems have infinite solutions whereas combinatorial have finite number of solutions.In case of combinatorial, to find the best from available finite solution different optimization paradigms are to be utilized in handling various computation problems.
In this paper the authors mainly review the different nature based optimization techniques and their current research direction.In the section-2, the authors have given an overview on basic concept of optimization technique.Section-3 gives an overall view of the existing swarm intelligence based optimization techniques.

Basic Concepts of Optimization Technique
Optimization techniques find the best or optimum solutions from the feasible solutions for a given problem.
There are many types of optimization techniques available to solve single, multi variable functions with or without constraints.The optimization techniques can be developed through many methods like linear, non-linear programming, simulated annealing which is inspired from annealing process of metallurgy, genetic algorithms which finds the best local solution from given population or through swarm intelligence.Optimum solution can be achieved either through traditional or non-traditional methods.
Differential calculus techniques 1 used by the traditional methods in finding out the optimal solution of a given problems.In general the traditional methods are classified as direct or gradient methods based on the search technique it used to find best one.The direct methods use value of objective function whereas a gradient method uses derivative function information to guide the search.These traditional methods are more suitable for uni modal, simple objective function.But these methods are not effective for multimodal, complex problems.
In order to get the efficient result in above discussed case nontraditional/Heuristic based techniques are developed.These non-traditional methods can be classified as evolutionary, nature and logical based techniques.
Evolutionary computation is a computational paradigm inspired by Darwinian evolution.An artificial evolutionary system is mainly based on a computational system with the notion of simulated evolution.This type of evolutionary system consists of a constant -or variablesize population of individuals, a fitness criterion, and genetically inspired operators which develop the next generation from the present system.Examples are like genetic programming, evolutionary programming etc.
The nature based methods or swarm intelligence techniques are developed based on collective behavior of individual agents which can communicate directly or indirectly to perform the complex task in nature.It addresses the study of the collective behaviors of systems made by many components that coordinate using decentralized controls and self-organization process as they are exhibited in the working culture of social creatures like flocks of birds, ants, fishes etc. where individuals are simple, homogeneous and autonomous in nature.
By combining mathematical programming and logic programming logical based approach is developed 2 .The mathematical programming was used for extracting the structure whereas logical programming was used to extract the information to find the optimum solutions for a given problem.Tabu search cross optimization methods are the best example for logical based optimization techniques.The classification3 of optimization techniques depends on above discussed methods are shown in the following Figure 1.

Study on Nature based Optimization Techniques and its Applications
Swarm intelligence3 is a discipline of self-organization in which structure appears at global level from the coordination of individual agents' .It is a contemporary artificial intelligence discipline that primarily focuses on the design of multi-agent systems with applications, such as optimization, robotics etc.It addresses the study of the collective behaviors of systems made by many components that coordinate using decentralized controls and self-organization process as in the working culture of social creatures.There are many swarm intelligence based optimization evolutionary algorithms which are inspired from social insect's behavior like ant stigmergy, birds flocking, fish schooling and bees waggle behavior.In this paper, the authors discussed some of the swarm intelligence optimization techniques, which are more effective for solving linear/nonlinear problem compared to other techniques.

Bacterial Foraging Algorithm
The bacterial foraging optimization algorithm 4 is a computational intelligence and Meta heuristics type.It was first proposed by Passino 5 .Like another swarm algorithms such as artificial bee colony and firefly algorithm, it is also applied to get solutions for many engineering problems.The inspiration for this algorithm is taken from chemotaxis behavior of bacteria E. coli and MX anthus.
According to the gradient of chemicals in the environment, bacteria seek direction for food.Bacteria can tumble or swim according to its flagella 5  The optimization can be achieved through three populated simulated cells 1. Chemo taxis 2. Reproduction 3. Elimination-dispersal.By taking this as an inspiration, Passino simulated the following algorithm as artificial bacterial foraging to find its best solution.
The parameters of the algorithm are as follows Cno represents the total cells of the population, Ned is the number of elimination-dispersal steps, Nrp is the number of reproduction steps, Nch is the number of chemo taxis steps, Nsc is the swim steps for a given cell, RDV is vector with the same size of problem space and Ped is the probability to decide chance of cell elimination and dispersal.,Dattr, Wattr are the attraction coefficients.The pseudo code for bacterial foraging behavior is discussed with pseudo-code 1

Research Scenario
A general and strong model for classification and identification of diseases in a person using BFOA proposed by Bensujin B et al. 6 , The proposed system finds the best position with a minimum chemotactic step and reproduction stages.The result show improvement in accuracy of ST segment elevation myocardial infraction prediction.
Tan et al. proposed an Adaptive Comprehensive Learning Bacterial Foraging Optimization (ACLBFO) to solve vehicle routing problem with time windows 7 .They used non-linearly decreasing model to maintain the balance between exploitation and exploration of ACLBFO to realize that it gives better performance in solving multi model problems.
Kim and Abraham 8 used bacterial foraging with genetic algorithm to tune a PID controller of an Automatic Voltage Regulator (AVR).Initially they studied the performance of proposed algorithm with mutation, crossover, variation of step sizes, chemotactic steps as significant aspects.
Naveen 9 et al. applied modified bacterial foraging optimization algorithm on Distribution system reconfiguration for loss minimization .The modified algorithm tested on 16 bus, 33 bus and 69 bus test systems to prove the efficiency of modified algorithm and they proved that it gave better performance than existing methodology.
B. K. Panigrahi, V. R. Pandi 10 used bacterial foraging algorithm for multi objective optimization.Chemo taxis process and Fuzzy dominance based sorting procedure are used to find most recent bacterial locations, Pareto Optimal Front (POF).The researcher studied the algorithm on economic dispatch to test the applicability of the algorithm.
Several adaption techniques are applied by researchers to improve BFA in solving many engineering problems A Review on Nature-based Swarm Intelligence Optimization Techniques and its Current Research Directions such as economic emission load dispatch11, load frequency control12, portfolio optimization13, optimal power flow14, automated experimental control drives15 and color segmentation16

Firefly Algorithm
In today's world, more promising swarm optimization technique is Firefly algorithm 17 , which was introduced by yang in 2008.It uses a randomization by searching for a set of solution so it belongs to a stochastic algorithm.In this algorithm, he incorporated the nature of real fireflies.The fireflies 17 are one type of insects, which produces flash light with different color.Each firefly produces flash light with different intensity.They use flashing for communication, and to attract other flies for mating.By taking this as a inspiration Xin-She Yang 16 developed an artificial Firefly Algorithm (FA).He developed the FA based on attractiveness between fireflies and negative correlation between the distance and brightness of fireflies flash.The brightness can be calculated using landscape of objective function.The main advantages of fireflies algorithm are its subdivision of population automatically and finding the best global solutions when the size of subdivision population has larger size compare to number of modes.Classical firefly algorithm is suitable for multimodal optimization problems.The above discussed procedure of FA was explained with the Figure 2 The algorithm is population based algorithm and it has mainly four steps 18 namely initialize the swarm, calculate the light intensity, calculate the attractiveness and generation of new swarm.The procedure for above four steps is discussed with the following pseudo-code 2.

Research Scenario
The research scenario of firefly optimization is discussed below K. C. Udaiya kumar et al. used firefly algorithm on job scheduling problem 20 to find the single objective of JSSP (i.e.make span minimization using1-25 Lawrence problems as a bench marking from a classical OR-library).
Sayadia et al. used Firefly algorithm for solving discrete optimization and cell formation 21 .They also proved that FA discrete version solve the NP hard problem more effective compare to PSO.
Yafei Tian , Weiming Gao and Shi Yan proposed inertia weight firefly to avoid repeated oscillation on the position of local or global extreme value point 22 , due to optimizing accuracy is reduced.
Xin-She Yang used Firefly for multimodal optimization problem 23 and he proved particle swarm optimization (PSO) is one type of firefly algorithms.
Senthil et al. used firefly algorithm for clustering 24 .They proved the performance of FA by comparing with eleven different algorithms of clustering.They also used Firefly to train neural network to get effective results.

Ant Colony Optimization
Ant colony optimization is introduced 20 by Dorigo et al.He takes the inspiration from real ants' stigmergy behavior and targets on discrete and continuous optimization problems.The real ants find the shortest path between its food and nest without having direct communication between them.Initially ants choose random paths from their nest to food.During their traveling, it leaves pheromone (one type of chemical) along the path.Randomly the ants which choose the shortest path will travel on the same path more times comparing to ants which travels on the longest path.For time being the pheromone will be evaporated.Because of this, the shortest path has highest pheromone concentration which attracts remaining ants which is shown in following Figure 3. Based on this behavior Marco Dorigo and Thomas stutzle developed an artificial Ant Colony Optimization (ACO) metaheuristic.The ACO is probabilistic technique which can be found the best path through graphs.Each path followed by an ant shows candidate solutions for the given problem.The amount of pheromone is increased depends on quality of candidate solution.The remaining ants choose a path that depends on pheromone amount on the available paths.Due to this, the shortest path has more pheromone amount on its and it becomes the best path among all the paths.The following pseudo code 3 explained the above concept.
The above ant colony pseudo code is initially proposed by Marco Dorigo, Thomas stutzle in the year 1991.Later on some modification is made on the algorithm to solve in different problems in an effective way.Table 1 list out the people which worked on ACO with small modifications in chronological order 25 .Initially the Dorigo et al. simulated the real ant behavior as an ant system and applied this for solving many NP-hard problem like travelling sales man ,job shop scheduling.The ACO has only global level pheromone optimization which is reducing the efficiency of solution.
To avoid this, they made some changes on pheromone updating and called it as ELITIST AS in the year 1992.
In the year 1995 the Gambardella and Dorigo finds antecedent of ant system as ANT-Q.The inspiration is taken from Q-learning algorithm and Ant systems.Ants have memory and they exchange the information between them to get optimum solutions in this technique.
Later stutzle and Hoos get best solution by keeping the range for pheromone updating and called it as a mas-min ant colony optimization.

Applications of ACO
The ant colony optimization is graph based technique which was used to get the optimum solutions in various applications.Initially it was used to solve NP hard problems like traveling salesman, job shop scheduling problems etc.Routing detecting optimal path for routing in WSN 47 Parallel ACO K. V. Janaki Raam  2015   Later on it was used to solve many engineering problems which are discussed in Table 2.

Cuckoo Optimization
Most of the birds care a lot until the development of young ones to the bird right from laying eggs.However, there are birds so as certain species, like cuckoo that depends on other birds for raising their young ones.This process of relying on other organism to raise their young ones is called brood parasitism.Brood parasitism of three types namely Intra specific, Cooperative breeding and nest takeover.Few species of cuckoo like Ani and Guira lay eggs in communal nests while others lay in nest of birds of other species.However, if the host bird identifies the presence of eggs which are not its own, it may directly raise a conflict with the cuckoo or leave the nest abandoned.However, a new species of cuckoo, namely Tapera has developed which is specialized in mimicry in colors and patterns of eggs of host birds, thus it reduces chance for their eggs to abandon.In addition to this, cuckoo even takes at most care so that all its young ones are properly raised by the host.Soon after expelling eggs of host bird the first cuckoo chick comes out.Thus it ensures greater share of food to the cuckoo chicks by host mother birds.The other most interesting feature of a cuckoo chick is that it can mimic the call of host chicks.The brood parasitism of cuckoo which is used to find the best nest for his younger ones to be bring up as bird is explained thorough below Figure 4.

Applications of Cuckoo Search
Thuan Thanh Nguyen, Anh Viet Truong 49 have proposed a cuckoo optimization based reconfiguration methodology for minimizing active power loss and the maximizing voltage magnitude.They have also proved, cuckoo optimization is efficient method for network reconfiguration problems.
Ehsan Valian 50  In 53 Ashok K. Bhateja et al used cuckoo search to find key of a vigenere cipher.They combined Levy flights behavior and Markov chain random walk with cuckoo search for obtaining the better global optimal solution at the time of generating key of vigenere cipher.
Xiangtao Li and Minghao Yin 54 introduced selfadaptive parameter algorithm as a uniform random value to enhance the diversity of the population.The proposed method uses two new mutation rules based on the rand and best individuals among the entire population.In order to balance the exploitation and exploration of the algorithm, the new rules are combined through a linear decreasing probability rule.

Bee Colony Optimization (BCO)
Bee Colony Optimization is a bottom up approach, which is introduced by Teodovoric and Lucic to solve combinatorial optimization problems.In nature, Bees are classified as employed, onlooker, scout bees.Initially employed bees starts search for food at the nearest places of their hive.According to the nectar amount, employed bee perform the waggle dance.According to the waggle dance, the onlooker selects the hive which has highest amount of nectar.It transfers the nectar/food to the hive by relinquish the food source to employee.Later employee bee searches for another food source.
In forward pass, set of solutions are chosen from the available solutions randomly.The quality of solutions is found in backward pass.According to quality of selected solution, it can keep it as the best or abandon the solution.Iterations are continued till either of the best solution or stopping criteria could meet.The pseudo code 5 explains the procedure of BCO.

Research Scenario
R. J. Kuo et al. 55 proposed Automatic Kernel Clustering With Bee Colony Optimization (AKC-BCO) to perform cluster analysis on given dataset without knowing the number of clusters to be made in prior.The kernel function is used in this algorithm to perform automatic clustering which gives better and more stable results than existing ones.
M. Alzaqebaha, S. Abdullahb proposed a hybrid bee colony optimization 56 for examination timetabling problems.Different selection strategies, self-adaptive mechanism are used in selecting a neighborhood structure during the search process and local search algorithms are hybridized to get the best solution.
Rajesh Kumar 57 proposed a Direct Bee Colony (DBC) optimization and tested on various optimization problems to prove the robustness of DBC algorithm.He also proved that DBC generates the unique solution on different runs, whereas other evolutionary algorithm produces different optimum solution during different runs.So DBC gives the better optimum solution for real time problems Teodorovic 58 et al. illustrate the Bee colony optimization efficiency and characteristics with various examples.They proved that BCO is capable of solving combinatorial optimization problems which are characterized by its uncertainty.They also applied fuzzy based BCO to ridesharing problems.
Mohammad Khalilzadeh 59 used bee optimization to minimize the total costs of both renewable and nonrenewable resource usage.Prioritization rule was used for activities along with small modifications in local search of bees which was increasing the accuracy of the process.
Bee Colony Optimization (BCO) metaheuristic approach used to optimize the parameters of COCOMO model for improving software cost estimation by Sherry Chalotra et al 60 .Interactive Voice Response software project dataset was used for validations and best solutions are selected using mean magnitude of relative error.

Particle Swarm Optimization (PSO)
Particle Swarm Optimization (PSO) is a populationbased stochastic optimization technique modelled on the social behaviors found in animals or insects which was first proposed by Kennedy and Russell Eberhart in 1995.In this optimization technique, individual particles of a swarm is represented as potential solutions, which budge through the problem search space for finding an optimal or the best solution for the problem.The particles transmit their current positions to neighboring particles.The mechanics used here is that the position of each particle is attuned according to its velocity (i.e., rate of change) and the difference between its current positions, correspondingly the best position found by its neighbors, and the best position it has found yet.With the iteration of the model, the swarm prioritized more of the search space yielding high-quality solutions.

Research Scenario
The researchers have been used particle swarm optimization to predict scour depths by obtaining appropriate parameters for the neural network model and fuzzy inference system, where set of 188 scour depth data supplied by USGS were used for training and testing61.The proposed model generated lower RMSE and MSE values compared to existing ones.
H. Izadi et al 62 .has been proposed a new stabilizer system to increase the stability and synchronization of multi-machine power system through power system stabilizers 3 band (pss3b) by using particle swarm optimization.The results have been compared by applying three-phase fault at different working conditions with existing ones.
In63, the researchers have been proposed a approach for resource allocation in a hybrid cloud.The local search problem of PSO was avoided with the combination of cuckoo search.The results of the proposed method increase the IaaS providers benefit compare to SLPSO.
In64, an optimization model was proposed for detection and separation of brain tumor through Magnetic Resonance Imaging (MRI) medical images using Particle Swarm Optimization (PSO) with four stages.The approach proved that segmenting the MRI brain image by PSO algorithm is better for the coronal plane than the axial plane.
In65, a weather forecasting approach based on Fuzzy Neural Network (FNN) and Hierarchical Particle Swarm Optimization (HPSO) has been presented.The proposed FNN-HPSO provided the most optimal forecasting results in comparison against other conventional techniques.
In66, Particle swarm optimization has been used to minimize the production cost for designing the concrete gravity Dam.PSO values apply a function instead of a number for measuring bottom width which will reduce the dam cost compare to existing ones.
In67, Comprehensive Learning Particle Swarm Optimization (CLPSO) algorithm was presented for multi objective optimal power flow.IEEE 30-bus 6-generator system was used to show the potential and efficiency of algorithm in terms of the diversity and quality of the obtained optimal solutions.Reza Effatnejad et al. proposed a hybrid method by combining dynamic programming (DP), genetic algorithm and particle swarm optimization to solve the unit commitment of power systems by considering ring system security constraints 68 .They avoided repetitive calculations by using DP in solving SCUC.PSO was used to handle binary and read world variable and local optima avoided with the help of GA.The proposed method showed optimal response in solving problem.

Grey Wolf Optimization (GWO)
By taking the inspiration from hunting mechanism of grey wolves, Mirjalili et al. proposed a Grey Wolf Optimizer (GWO) in 2014 69 .By nature, grey wolves are placed at the top of the food chain.They live in a group.Each group contains 5-12 members.These members follow the social dominant hierarchy which was shows in following Figure 5.

Figure 5. Dominant Hierarchy of grey wolf
The top level of wolf can be called as alpha wolf which can act like a leader.It takes the decision for searching, encircling, attacking and hunting the prey.The orders of alpha wolf are reinforced by the beta wolves which are placed at second level in dominant hierarchy of grey wolf.They take the feedback about the decision of alpha wolves from it low level wolves (delta, omega) and tell to the alpha.These are the best candidates to become a leader when alpha passes away.The next level wolfs are delta which are called as subordinate.These are the responsible for providing food to pack, protecting its members of pack.Delta wolves give support to alpha and beta during hunting.
The omega wolves are the lowest level wolves and they are not considering as much as important.The chasing, pursuing, encircling, hunting processes of grey as shown in following Figure 6.

Applications
G. M. Komaki and Vahid Kayvanfar 70 use grey wolf optimizer to find solution for assembly flow shop scheduling problem which reduces the processing time.In this they proposed two stages namely fabrication, assembly stages for job scheduling.They also proved that the proposed GWO with lower bound, dispatching rules were giving efficient results compared to other techniques A Comparison made by Shahla Shoghian, Maryam Kouzehgar 71 among wolf pack search and particle swarm optimization, genetic algorithm and Shuffled Frog Leaping(SFL).They suggest that solving a problem in less time SFL is recommended.Otherwise in case of attaing accuracy wolf pack search is recommended among algorithm specified Ali Madadi and Mahmood Mohseni Motlagh used GWO 72 for adjusting f Proportional-Integral-Derivative (PID) controller parameters in DC motors.They used GWO to find global optimization problem in controlling DC motor speed by tuning the PID control parameters.They proved that GWO-PID gave good results compare to PSO-PID controller Mohd Herwan Sulaiman et al. used GWO 73 to solve Optimal Reactive Power Dispatch (ORPD) problems.They utilized GWO to find the best combinations of generator voltages and tap changing transformation ratios in order to reduce voltage deviations and power loss.They used IEEE 30-bus system and IEEE 118-bus system to show the effectiveness of GWO technique compared to other techniques available.They also proved that GWO gave better result comparing to other techniques.
Unimodal, multimodal, fixed-dimension multimodal and composite functions are used by Mirjalili et al. 69 to prove the GWO performance in term of exploration, exploitation, local optima avoidance, and convergence.
E. Emary et al. used Grey wolf optimization 74 for reducing the features of a search space through interactions of individuals in population.They proposed classification accuracy based fitness function to find the optimal features.To prove the benchmark of GWO, they compared the results with the other available optimization techniques Similarly GWO used for many problems like, parameter estimation in surface waves 75 , economic dispatch problem 76 .

Conclusions
This paper draws from the observation of various algorithms that each algorithm is efficient for a particular application based on its type.ACO as graph based algorithm suits to find the optimal path in determining the cost of the route compared to other algorithm in discrete environment.Bacterial foraging optimization algorithm is easy to implement and solve multi objective optimization problems.In this paper, we reveal that all these algorithms have some special features in finding the best solutions like either their high convergence speed capability or their ability to find the better solution.In spite of these advantages, they again suffer from other various problems.So researchers suggest that, the concept of hybrid algorithms to prevail the shortcomings which occur in various individual algorithms.Hybrid algorithms take the best features of the individual algorithms, combine with each other and thus be apt to be more effective than the individual algorithms.

Figure 1 .
Figure 1.Classification of optimization techniques
Set the goal function g(Y), Y=(y 1 ,y 2 ----y n ) Generate initial population Y k (k=1,2----d) Define the light intensity (LI)for y k by calculating g(y k ) Define absorption coefficient µ While (k<MG) Make a copy of the generated firefly population for move function For a=1 to n For b=1 to n If (LI b >LI a ) FF (b) ←FF (a) according to attractiveness End if Attractiveness changes through exp(µ,r) Updated LI and evaluate new solutions End End Find the best FF End Show the result after pre-processing End Pseudo-code 2. Pseudo-code of Firefly optimization.techniquesMany variants (binary, real-valued, non-elitism, elitism, uniform, chaos distribution) of existence firefly algorithms e depend on their strategy parameter settings.The settings 19 reflects the performance of the algorithm.The Figure 2 explains each step of firefly in brief manner

Figure 4 .
Figure 4. Cuckoo optimization.Xin-She yang and SuashDeb48 developed Cuckoo optimization in 2009 by taking Cuckoo brood parasitism as an inspiration.Initially they generate the population of cuckoo, after that select the best nest which depends on fitness value to lay the eggs.The nest with the worst fitness is abandoned and the remaining is ranked to find the optimum solution.The pseudo code of the Cuckoo optimization has discussed in pseudo-code 4.

Table 1 .
Sol i construct solution (pheromone, Cs, β, Q0) Sol i cost (Sol i ) If (soli cost <= Pbest cost ) Pbest cost soli cost P best sol i End If Local Update and decay pheromone End Global update and decay pheromone End While Return (P best ) Ant miner versions

Table 2 .
Applications of ACO et al. proved that tuned cuckoo search parameters enhance the accuracy of cuckoo search comparing to fixed parameters.Carlos Cobos et al. 51 used cuckoo search in description-centric algorithm for the clustering of web results especially for global or local search, which is used to find the best nest.A comparison 52 made by Pinar Civicioglu, Erkan Besdok among Differential Evolution (DE) , artificial bee colony algorithm, Particle Swarm Optimization (PSO) and cuckoo optimization algorithms.Their analysis revealed that cuckoo, DE is closer and better than PSO.
Collection and process of food/nectar by bees simulated as bee colony .The nature based Bee colony optimization starts with initialization of parameters like number of bees (Solutions), number of iteration and stopping criteria.It has two passes namely forward, backward passes