LGMS-FOA : An Improved Fruit Fly Optimization Algorithm for Solving Optimization Problems

Recently, a new fruit fly optimization algorithm (FOA) is proposed to solve optimization problems. In this paper, we empirically study the performance of FOA. Six different nonlinear functions are selected as testing functions.The experimental results illustrate that FOA cannot solve complex optimization problems effectively. In order to enhance the performance of FOA, an improved FOA (named LGMS-FOA) is proposed. Simulation results and comparisons of LGMS-FOA with FOA and other metaheuristics show that LGMS-FOA can greatly enhance the searching efficiency and greatly improve the searching quality.


Introduction
Optimization problems are used extensively in science, engineering, and finance.How to solve these problems has always been a concern of researchers.In the past decade, stochastic optimization algorithms have been used to solve these problems due to their flexibility for finding solutions.These algorithms include genetic algorithm (GA) [1][2][3], simulated annealing (SA) [4,5], ant colony optimization algorithm [5,6], and particle swarm optimization algorithm (PSO) [7][8][9].However, the common disadvantages of these stochastic algorithms are complicated computational processes and difficulty of understanding for beginners.
Recently, a new stochastic optimization technique, fruit fly optimization algorithm (FOA), is proposed by Pan [10].Its development is based on the food finding behavior of the fruit fly.Compared with other stochastic algorithms, FOA has the advantages of being easy to understand and a simple computational process.As a novel optimization algorithm, FOA has gained much attention [10,11] in recent years.
In order to study the performance of FOA, six famous nonlinear functions are selected as testing functions.Simulation results illustrate that FOA cannot solve the complex optimization problems effectively.Analysis of FOA shows that FOA includes a nonlinear generation mechanism of candidate solution.This mechanism is abbreviated as NGMS and has some disadvantages which limit the performance of FOA.In order to enhance the performance of FOA, NGMS is first replaced with a linear generation mechanism of candidate solution (abbreviated as LGMS), and then a LGMS-based improved FOA (abbreviated as LGMS-FOA) is proposed.Simulation results and comparisons of LGMS-FOA with FOA and other metaheuristics show that LGMS-FOA is more effective and reliable.
The rest of this paper is organized as follows.Section 2 introduces FOA.Section 3 introduces LGMS-FOA.Section 4 provides comparisons of FOA with LGMS-FOA and other metaheuristics.Section 5 concludes this paper.

Overview of FOA.
FOA is a new method for finding global optimization based on the food finding behavior of the fruit fly.The fruit fly is superior to other species in vision and osphresis (as illustrated in Figure 1).The food finding process of fruit fly has two steps: firstly, it smells the food source by using osphresis organ and flies towards that direction; then, after it gets close to the food location, it can also use its sensitive vision to find food and fruit flies' flocking location and flies towards that direction.Figure 2 shows the food finding iterative process of fruit fly swarm.Based on the food finding characteristics of fruit fly swarm, the whole procedure of FOA is described as follows.
Step 1 (parameters initialization).The main parameters of FOA are the maximum iteration number (maxgen), the population size (sizepop), the random initialization fruit fly swarm location range (LR), and the random fly direction and distance zone of fruit fly (FR).
Step 3. Calculate the smell concentration (Smell  ) of the individual fruit fly location by inputing the smell concentration judgment value (  ) into the smell concentration judgment function (also called objective function): Step 4. Find out the fruit fly with maximal smell concentration among the fruit fly swarm: Step 5. Keep the maximal concentration value and ,  coordinate.Then, the fruit fly swarm flies towards that location by using vision: Smell best = best smell, Step 6. Enter iterative optimization to repeat the implementation of Steps 2-5.When the smell concentration is not superior to the previous iterative smell concentration any more or the iterative number reaches the maximal iteration number, the circulation stops.

Computational Experiments of FOA.
In order to study the performance of FOA, six different nonlinear functions are selected as testing functions [12].Table 1 shows the name, dimension, optimal solution, and extreme point of them.For details refer to Appendix A.
Since FOA is a stochastic optimization algorithm, the solution found each time may not be the same; therefore, each function is repeated 100 times.If the final searching quality is within 10 −4 of the optimal value, the run is called a success run and its iteration number will be stored.Two indexes named "percentage of success (PS)" and "average valid iteration number (AVIN)" are defined as follows [13]: where  denotes the number of success runs among 100 runs,   denotes the number of iteration of the th success run.Table 2 shows PS and AVIN of FOA when solving the six testing functions.From Table 2, the following can be seen that.
(1) PS of  GP ,  SH , and  BR is always equal to zero no matter what values LR and FR are.It is known that the extreme points of the three functions are nonzero, so FOA cannot solve the problems when the extreme point is nonzero.
(2) When the scopes of FR and LR become large, PS of  RA ,  SP30 , and  SP50 increase.It is known that the extreme points of the three functions are zero points, so FOA can solve the optimization problems when the extreme point is zero, if FR and LR are large enough.
(3) The Average PS is very small no matter what values LR and FR are, so it is concluded that FOA cannot solve complex optimization problems effectively.

Analysis of FOA.
Through the analysis of ( 5), it can be found that NGMS has some disadvantages which limit the performance of FOA.The disadvantages are listed below.
(1) FOA cannot solve the optimization problems when there exist negative numbers in the domain, because   > 0 according to (5).
(2) When the value of  − axis and  − axis is fixed,   in (5) does not follow uniform distribution.(Proof is described in Appendix B.) Since   does not follow uniform distribution, the candidate solution cannot be uniformly generated in the domain; That is to say, NGMS cannot allow the search to be performed uniformly in the domain, therefore fruit fly swarm loses its ability to search for a global optimum solution.That is why FOA cannot solve complex optimization problems effectively.
(3) In (5), when the values of  − axis and  − axis are large and the scope of FR is small, the change of rand(FR) has little impact on the value of   ; therefore it is easy for   to fall into local optimal point.
(4) In ( 1)-( 2), with the increase of the scopes of LR and FR, the probability that the absolute value of  − axis and  − axis becomes large increases, so   in ( 5) is easy to fall near zero point, and this can explain why FOA can solve the optimization problems when the extreme point is zero.Step 1 (parameters initialization).The main parameters of LGMS-FOA are the maximum iteration number (maxgen  ), the population size (sizepop  ), the searching coefficient (), the initial weight ( 0 ), and the weight coefficient ().
Step 2.1.Initial fruit fly swarm location: Step 2.2.Give the random direction and distance for food finding of an individual fruit fly: Step 2.3.Let the smell concentration judgment value (   ) equal    : Remark 3. Equation ( 12) is called LGMS.
Step 3. Calculate the smell concentration (Smell   ) of the individual fruit fly location by input the smell concentration judgment value (   ) into the smell concentration judgment function (also called objective function): Step 4. Find out the fruit fly with maximal smell concentration among the fruit fly swarm: Step 5. Keep the maximal concentration value and   coordinate.Then, the fruit fly swarm flies towards that location by using vision: Smell best  = best smell  ,  − axis  = (best index)  . (15) Step 6. Enter iterative optimization to repeat the implementation of Steps 2-5.When the smell concentration is not superior to the previous iterative smell concentration any more or the iteration number reaches the maximal iteration number, the circulation stops.
The complete flowchart of LGMS-FOA is shown in Figure 3, which is listed in Appendix C.

Advantage of LGMS-FOA. Compared with NGMS,
LGMS has some advantages which are listed below.
(1) The range of    in ( 12) can cover the whole scope of the domain.
(2) When the value of  − axis  is fixed,    in ( 12) follows uniform distribution.So LGMS can allow the search to be performed uniformly in the domain; therefore fruit fly swarm enhances its ability to search for a global optimum solution.
(3) In LGMS, a parameter called inertia weight is brought in to balance the global and local search.A large inertia weight facilitates a global search while a small inertia weight facilitates a local search.By decreasing the inertia weight from a large value to a small value, LGMS-FOA tends to have more global search ability at the beginning of the run while having more local search ability near the end of the run [8].

Numerical Simulation
The performances of LGMS-FOA and FOA are compared first, and then the performances of LGMS-FOA and other metaheuristics are compared.
The parameters of FOA are maxgen = 300, sizepop = 50, LR = [−20, 20], and FR = [−20, 20], because FOA with these parameters performs best in Table 2.  From Table 3, it can be seen that mean of LGMS-FOA is much closer to the theoretical optima, and LGMS-FOA has better standard deviation than FOA when solving  GP ,  SH ,  BR ,  RA , and  SP30 .So it is concluded that LGMS-FOA is more effective and robust than FOA.
From Figures 4-9, it can be seen that the varying curves of objective values using LGMS-FOA descend much faster than those using FOA and the final searching quality of LGMS-FOA is better than FOA.So it is also concluded that LGMS-FOA is better than FOA. 4 shows PS and AVIN of FOA and LGMS-FOA when solving the six functions 100 times.From Table 4, it can be seen that LGMS-FOA can find global optima with very high PS for every function.Besides, LGMS-FOA FOA PSO GA

Comparison of LGMS-FOA with Other Metaheuristics.
In order to further show the effectiveness of LGMS-FOA, we carry out some comparisons with several other metaheuristics, such as the standard PSO [8] and the modified GA [2].
In GA [2], the iteration number is 300, the population is 50, Generation Gap (GGAP) is 0.8, stochastic universal sampling is used, the single dot cross operation with crossover probability is 0.7, and the discrete mutation with mutation probability is 0.1.
Testing functions are shown in Table 1, and every function is repeated 100 times.Remark 5.The population sizes of GA, PSO, and LGMS-FOA are the same, so the function evaluation numbers of the three algorithms are also the same, and this can ensure the fairness of comparison.

Experimental Results and Discussion
. Table 5 shows mean and standard deviation of GA and PSO of 100 independent runs.Table 6 shows PS of GA,PSO and LGMS-FOA of 100 independent runs.Figures 4-9 also show the performance of PSO and GA for solving the six testing functions.From the comparison between Tables 4 and 5, it can be found that mean and standard deviation of LGSM-FOA is better than GA when solving  SH ,  BR ,  RA ,  SP30 , and  SP50 .It can be also found that mean and standard deviation of LGSM-FOA is better than PSO when solving  BR ,  RA ,  SP30 , and  SP50 .So we can conclude that LGSM-FOA is more efficient than PSO and GA when the evaluation numbers of functions are the same.
From Figures 5,6,8, and 9, it can be seen that the final searching quality of LGMS-FOA is better than PSO and GA.From Figures 5 and 6, it can be seen that LGMS-FOA can greatly improve and speed up the convergence.So overall, the performance of LGMS-FOA is better than PSO and GA.
From Table 6, it can be found that LGMS-FOA can find global optima with higher PS than GA and PSO.So it is concluded that LGSM-FOA is more reliable.

Conclusion
This paper finds some disadvantages of FOA and proposes an improved FOA which is named LGMS-FOA.Simulations and comparisons of LGMS-FOA with FOA and other metaheuristics illustrate that LGMS-FOA is more effective and reliable.The future work is to apply LGMS-FOA for some real engineering optimization problems.

Food 3 Figure 2 :
Figure 2: Food finding iterative process of fruit fly swarm.

Table 2 :
Fixed-iteration results of FOA with different LR and FR.

Table 3 :
Mean and standard deviation of LGMS-FOA and FOA.

Table 5 :
Mean and standard deviation of GA and PSO.