Home A New Fruit Fly Optimization Algorithm Based on Differential Evolution
Article Publicly Available

A New Fruit Fly Optimization Algorithm Based on Differential Evolution

  • Dabin Zhang EMAIL logo , Jia Ye , Zhigang Zhou and Yuqi Luan
Published/Copyright: August 25, 2015
Become an author with De Gruyter Brill

Abstract

In order to overcome the problem of low convergence precision and easily relapsing into local extremum in fruit fly optimization algorithm (FOA), this paper adds the idea of differential evolution to fruit fly optimization algorithm so as to optimizing and a algorithm of fruit fly optimization based on differential evolution is proposed (FOADE). Adding the operating of mutation, crossover and selection of differential evolution to FOA after each iteration, which can jump out local extremum and continue to optimize. Compared to FOA, the experimental results show that FOADE has the advantages of better global searching ability, faster convergence and more precise convergence.

1 Introduction

Fruit fly optimization algorithm (FOA) was first proposed by Pan, a Taiwan scholar, in 2011. It is a new class of global optimization evolutionary algorithm, which originates from the simulation of fruit fly foraging behavior[1-2]. This algorithm is widely applied to solve mathematical function extreme, fine Z-SCORE model coefficients, generalized regression neural parameter optimization and support vector parameter optimization.

Fruit fly algorithm (FOA) is a new-type optimization evolutionary algorithm, which has both advantages of simple, less parameters, easy to adjust, less calculation, etc., and shortcomings of low convergence precision and easily relapsing into local extremum.

In this paper, based on fruit fly algorithm, we introduce an idea of differential evolution after each iteration and propose a new fruit fly optimization algorithm based on differential evolution, which can keep the better global search capability of fruit fly algorithm, and show the advantages of local extremum in difference evolutionary, so as to improve the optimizing accuracy of algorithm.

2 Literature Review

Fruit fly algorithm was just proposed in recent years, and its theory is not mature, the researching in this area still belongs to starting stage in domestic and overseas. Considering both the advantages and disadvantages of this algorithm, many scholars in domestic and foreign have conducted a series of improvements studies: Literature [3] integrated chaotic algorithm to optimize the evolutionary mechanisms of fruit fly algorithms, and put forward adaptive chaotic fruit fly optimization algorithm; Literature [4] proposed adaptive mutated fruit fly optimization algorithm, which will copy its best individual in the operation and get it Gaussian mutated, in order to achieve quadratic optimization; Literature [5] introduced the conversion operation of the attraction and repulsion in bacterial chemotactic behavior into fruit fly optimization algorithm, and proposed a new fruit fly optimization algorithm based on bacterial chemotaxis; Literature [6] integrated logistic mapping into a global search to get the most valuable parameters and to achieve the quadratic optimization. There are other scholars apply fruit fly algorithm to engineering design, all of them get wonderful achievement.

3 Basic Fruit Fly Algorithm and Differential Evolution Algorithm

3.1 Fruit Fly Algorithm

Fruit fly optimization algorithm is a new method, which is deduced to seek global optimization based on the foraging behavior of fruit fly. Fruit fly behave better in sensory perception than other species, especially in the olfactory and visual. Excellent olfactory organ well search varieties of floating smell in the air, then get to the location of food nearby and find the food and gathering position by its visual acuity, and fly to the direction. According to the characteristics in seeking food, fruit fly optimization algorithm can be summarized as some necessary steps as followed:

  1. Set population size SizePop, maximum number of iterations Maxgen, then initialize location of fruit fly group X_axis, Y_axis;

  2. Give the individual of fruit fly random direction and distance, RandomValue represents its flying distance:

    Xi=X_axis+RandomValueYi=Y_axis+RandomValue(1)
  3. Due to the unknown food position, first, estimate the distance, Disti, between it and the origin, then calculate the new position’s smell parameter name it Si, its value is the reciprocal of the distance:

    Disti=Xi2+Yi2(2)
    Si=1/Disti(3)
  4. Determining the smell parameter Si into determination function (or fitness function), to determine the smell parameter, Smelli, of the individual location;

    Smelli=Function(Si)(4)
  5. To identify the optimal concentration of fruit fly of fly populations (best individual);

    [bestSmellbestindex]=min(Smelli)(5)
  6. Record and retain the best flavor concentration value and its coordinates, then the fruit fly group fly to this place

    Smellbest=bestSmellX_axis=X(bestindex)Y_axis=Y(bestindex)(6)
  7. Into iterative optimization, repeat Steps 2)–5), and determine whether the concentration of the best taste is better than the previous iteration of the best flavor concentration, and the current iteration is less than the maximum iteration algebra, otherwise perform Step 6).

3.2 Differential Evolution (DE) Algorithm

Differential evolution (DE) algorithm was proposed by Storn, Price[7-8] in 1995, based on a joint group differences stochastic parallel algorithm, which has simple, less controlled parameters, robustness, and other characteristics. This algorithm adopts real-coded form, and overcomes the complexity of genetic algorithm in coding. Like genetic algorithm, differential evolution experienced mutation, crossover and selection process in population evolution. What the difference is that DE adopt differential strategies in variant operation, that is making use of the differential vector in population to disturbance individual, effectively take advantages of the characteristics of population distribution, to improve the search capabilities of the algorithm, and overcome the weakness of genetic algorithm in variation[9]; In the selection, differential evolution algorithm uses a one-way elimination mechanism greed in merit[10-12], differential evolution algorithm does not use the gradient information of function, has low demand in differentiability, even in continuity, the advantages are obvious. So using differential evolution algorithm for improved fruit fly algorithm can well play the advantages of fruit fly algorithm in local search, improve abilities in operating efficiency and search accuracy, especially in optimization of the continuous function with border. The implementation process of differential evolution algorithm is shown in Figure 1.

Figure 1 The process of DE algorithm
Figure 1

The process of DE algorithm

4 Fruit Fly Optimization Algorithm Based on Differential Evolution (FOADE)

4.1 Algorithm Strategy

Fruit fly optimization algorithm (FOA) in the entire iterative optimization process of evolution only to learn to the current optimal individual, if find out the best individual in this iteration, all other individuals are gathered to that individual position, reducing the diversity of the population; If this individual is not the global optimum, the algorithm can easily fall into local optimum, get lower convergence speed and precision, generate precocious issue. In this paper, adding the operating of mutation, crossover and selection of differential evolution to FOA after each iteration, which can jump out local extremum and continue to optimize, then, show the advantages of local extremum in differential evolution, so as to improve the optimizing accuracy of algorithm.

4.2 Algorithm Implementation Process

The implementation process of fruit fly algorithm based on differential evolution is shown in Figure 2.

Figure 2 The process of FOADE
Figure 2

The process of FOADE

Algorithm implementation process is as follows:

Step 1 Parameters and initial population. Determine population size SizePop, iterations Maxgen, including both differential evolution scaling factor F, crossover probability CR. Fruit fly populations location X_axis, Y_axis.

Step 2 Using formulaes (1)–(6) Executive FOA algorithm processes, and documenting best flavor concentration as Smellbest and its position:

Smellbest=bestSmellX_axis=X(bestindex)Y_axis=Y(bestindex)

Step 3 The new fruit fly group’s position is initiated by the obtained position. Performed (1)–(6) again to obtain a new flavor concentration (fitness function) and the optimal location of fruit fly.

Step 4 Use differential operation to operate the optimal position in Step 3, the differential operation is as follows:

  1. Mutation operation: In each iteration, we randomly choose two different individuals based on the best position according to formula (7) and applied to a vector of the best individual scaled, we obtain the mutated individuals.

    Ui(t)=X_axis(t)+F(Xr1(t)Xr2(t))(7)
  2. Cross-operation: To crossover the mutated individuals and populations of individuals currently in discrete crossover manner, generating an intermediate individuals to increase the diversity of population, the process as follows:

    Vi,j(t)=Ui,j(t),rCRj=randXi,j(t),otherwiser=rand(0,1),CR[0,1](wealwaystake0.3)(8)
  3. Select action: After crossing the middle of the individual with the current selection greedy individuals, compare their corresponding taste, if the current value of the individual has an excellent tast, choose it, otherwise retained, as follows:

    Xi(t+1)=Xi(t),f(Xi(t))f(Vi(t))Vi(t),otherwisef(x)isthefitnessfunction.(9)

Step 5 Calculate the concentration and the smell of the position in Step 4, then compare the optimum concentration and optimum flavor of Step 3, the better value is selected (fitness function) and its location.

Step 6 Maxgen=Maxgen+1, repeating Step 3–Step 5.

Step 7 Determine whether the number of iterations is achieved, if so, end the iteration, enter the result; if not, executed Step 6.

5 Function Optimizing Simulation and Results Analysis

5.1 Function Simulation

In order to test the performance of FOADE, select four functions with different characteristics as testing function, and design two kinds of testing laboratories: FOA algorithm optimization experiments and FOADE algorithm optimization experiments. The testing functions are shown in Table 1.

Table 1

Testing functions

Function nameFunctionTheoretical optimal value
Spheref1(x)=i=1NXi2,x[100,100]0
Griewankf2(x)=14000i=1NXi2i1Ncos(xii),x[600,600]0
Rosenbrockf3(x)=i=1N1(100(xi+1xi2)2+(xi1)2),x[100,100]0
Restringingf4(x)=i=1N(xi210cos(2πxi2)+10),x[100,100]0

In order to investigate the performance of FOADE algorithm, first compare FOA algorithm and FOADE algorithm, and get testing function optimizing simulation; then compare FOA with the algorithm in references. Differential evolution algorithm has two main parameters, scaling factor F and crossover probability CR. To ensure the comparability in algorithm optimizing, in this paper, unified set F = 0.5, CR=0.5, in addition to set FOADE algorithm population size SizePop=200, get the 30-dimensional function optimizing, Iterations Maxgen = 100 times, and run independently for 30 times, the testing result is shown in Table 2; the mean of optimization between FOADE and algorithm in references is shown in Table 3. The selected function convergence curve are shown in Figures 36.

Table 2

Result of operation 30 times, 30-dimensional function optimizing

FunctionAlgorithmMinMaxMeanStd
FOA6.272e-0066.5014e-0066.3643e-0067.8865e-008
f1FOADE6.2344e-0066.387e-0066.3091e-0065.5675e-008
FOA2.3833e-0072.4904e-0072.4282e-0073.2404e-009
f2FOADE2.3168e-0072.3864e-0072.3566e-0071.7506e-009
FOA0.0584160.989880.469260.37177
f3FOADE6.8642e-0060.000174676.9302e-0056.3653e-005
FOA0.00278510.00291370.0028364.1527e-005
f4FOADE0.00268120.00278150.00274543.1567e-005
Table 3

The mean comparison of FOADE and algorithm in references

FunctionFOADESPSO[13]APSO[13]AFSA[14]GAFSA[14]CMQPS[15]
f16.3091e-0061.1e-241.2e-321.1e-1467.8865e-0085.651e-16
f22.3566e-0070.130.00391.065802e+21.4e-5—-
f36.9302e-00534.133.61.09e+102.473051e+13.1982e+1
f40.0027454101.750.13.068264e+22.674231e+121.025

5.2 Analysis of the Experimental Results

A simple single-mode 30-dimensional sphere function optimization results can be seen from Table 2, Figure 3, the results of the minimum, maximum, mean and standard deviation optimization show that, FOADE algorithm has over single-mode function good optimization ability and is better than FOA algorithms. Judging from the convergence curve, FOADE algorithm converges faster than the FOA, higher accuracy; Table 2, Figure 4 show the complexity of single-mode 30-dimensional Griewank function optimization results, FOADE algorithm converges faster than FOA algorithm and have a faster optimization accuracy. Judging from Table 3, FOADE Griewank function optimization algorithm is obviously superior to other references optimization algorithm and it is more close to the theoretical optimal value; from Table 2, Figure 5 shows a single-mode 30-dimensional complex Rosenbrock function optimization results point, FOADE algorithm can continue, the most effective search function advantages of a short time in a search to find the right direction, so as to maintain continued to decline, even if the function jumped into a local extremum can quickly jump to the global optimum direction search, find global optimal sustained, late in the search still able to maintain a good diversity of population, while FOA algorithm is very easy to fall into a local optimum, it is difficult to jump out. Judging from Table 3, FOADE Rosenbrock function optimization algorithm is obviously superior to other references optimization algorithm and it is more close to the theoretical optimal value; from Table 2, Figure 6 shows a 30 Victoria modal function optimization on the result Rastrigin look, FOADE algorithm has faster convergence, convergence precision. Judging from Table 3, FOADE algorithm has a optimization capabilities than other references optimization algorithm in Rastrigin function. In summary, this paper based on differential evolution algorithm Drosophila optimization (FOADE) on either the single-mode or multi-modal optimization problems have shown a better optimization results and convergence speed, the effect is significant.

Figure 3 Sphere function convergence curve
Figure 3

Sphere function convergence curve

Figure 4 Griewank function convergence curve
Figure 4

Griewank function convergence curve

Figure 5 Rosenbrock function convergence curve
Figure 5

Rosenbrock function convergence curve

Figure 6 Rastrigin function convergence curve
Figure 6

Rastrigin function convergence curve

6 Conclusion

Although fruit fly optimization algorithm has many advantages, it still has the weakness of low convergence precision and easily relapsing into local extremum, and when face to different questions, there are big differences in characteristic. In order to improve the performance, we propose the fruit fly optimization algorithm based on differential evolution, we introduce an idea of differential evolution after each iteration, through the operation in crossover, mutation and selection, to realize algorithms in fast convergence and improve the optimization accuracy. The function simulation shows that FOADE has good convergence speed, optimization accuracy and robustness. However, there are also problems in parameter setting and practical engineering applications, along with introducing differential thought, Therefore, in the next work, we can have a further research upon reducing the complexity of the parameter setting and how to apply this algorithm to real project management better and more clever.


Supported by National Natural Science Foundation of China (70971052), Central China Normal University Scientific Research Projects (CCNU14Z02016), the Innovation Group Project of Hubei Province Natural Science Fund (2011CDA116).


References

[1] Pan W T. A new fruit fly optimization algorithm: Taking the financial distress model as an example. Knowledge-Based Systems, 2012, 26(2): 69–74.10.1016/j.knosys.2011.07.001Search in Google Scholar

[2] Pan W T. Fruit fly optimization algorithm. Taipei: Tsang Hai Book Publishing Co, 2011.Search in Google Scholar

[3] Han J Y, Liu C Z. Adaptive chaos fruit fly optimization algorithm. Journal of Computer Applications, 2013, 33(5): 1316–1333.10.3724/SP.J.1087.2013.01313Search in Google Scholar

[4] Han J Y, Liu C Z. Fruit fly optimization algorithm with adaptive mutation. Application Research of Computers, 2013, 30(9): 2641–2644.Search in Google Scholar

[5] Han J Y, Liu C Z. Fruit fly optimization algorithm based on bacterial chemotaxis. Journal of Computer Applications, 2013, 33(4): 964–966, 1038.10.3724/SP.J.1087.2013.00964Search in Google Scholar

[6] Cheng H, Liu C Z. Mixed fruit fly optimization algorithm based on chaotic mapping. Computer Engineering, 2013, 39(5): 218–221.Search in Google Scholar

[7] Storn R, Price K. Differential evolution — A simple and efficient adaptive scheme for global optimization over continuous spaces. International Computer Science Institute, 1995, 3.Search in Google Scholar

[8] Storn R, Price K. Differential evolution — A simple and efficient adaptive scheme for global optimization over continuous spaces. Journal of Global Optimization, 1997, 11(4): 341–359.10.1023/A:1008202821328Search in Google Scholar

[9] Zhang D B, Yang T R, Wen M, et al. Fish swarm algorithm based on differential evoution and its function optimization application. Computer Engineering, 2013, 39(5): 19–22.Search in Google Scholar

[10] Yang Q, Cai L, Xue Y C. A survey of differential evolution algorithms. Pattern Recognition and Artificial Intelligence, 2008, 21(4): 506–513.Search in Google Scholar

[11] Duan Y H, Gao Y L. A particle swarm optimization algorithm based on differential evolution. Computer Simulation, 2009, 26(6): 212–245.Search in Google Scholar

[12] Yu Q, Zhao H. Neural network prediction model based on differential evolution algorithm and its application. Computer Engineering and Application, 2008, 44(14): 246–248.Search in Google Scholar

[13] Lin C, Feng Q Y. New adaptive particle swarm optimization algorithm. Computer Engineering, 2008, 34(7): 181–183.Search in Google Scholar

[14] Wang L G, Hong Y, Shi Q H. Global edition artificial fish swarm algorithm. Journal of System Simulation, 2009, 21(23): 7483–7486.Search in Google Scholar

[15] Pang S, Yang X Y, Zhang X F. Chaotic mapping multi population quantum-behaved particleswarm optimization algorithm. Computer Engineering and Applications, 2012, 48(33): 56–62.Search in Google Scholar

Received: 2013-12-5
Accepted: 2013-12-26
Published Online: 2015-8-25

© 2015 Walter de Gruyter GmbH, Berlin/Boston

Downloaded on 16.9.2025 from https://www.degruyterbrill.com/document/doi/10.1515/JSSI-2015-0365/html
Scroll to top button