Elsevier

Knowledge-Based Systems

Volume 144, 15 March 2018, Pages 153-173
Knowledge-Based Systems

A new improved fruit fly optimization algorithm IAFOA and its application to solve engineering optimization problems

https://doi.org/10.1016/j.knosys.2017.12.031Get rights and content

Highlights

  • A new improved fruit fly optimization algorithm called IAFOA is proposed.

  • IAFOA includes four extra mechanisms compared with original FOA.

  • Experiment results show that IAFOA has better performance than several other algorithms.

  • IAFOA is used to solve engineering optimization problems.

Abstract

Nature-inspired algorithms are widely used in mathematical and engineering optimization. As one of the latest swarm intelligence-based methods, fruit fly optimization algorithm (FOA) was proposed inspired by the foraging behavior of fruit fly. In order to overcome the shortcomings of original FOA, a new improved fruit fly optimization algorithm called IAFOA is presented in this paper. Compared with original FOA, IAFOA includes four extra mechanisms: 1) adaptive selection mechanism for the search direction, 2) adaptive adjustment mechanism for the iteration step value, 3) adaptive crossover and mutation mechanism, and 4) multi-sub-swarm mechanism. The adaptive selection mechanism for the search direction allows the individuals to search for global optimum based on the experience of the previous iteration generations. According to the adaptive adjustment mechanism, the iteration step value can change automatically based on the iteration number and the best smell concentrations of different generations. Besides, the adaptive crossover and mutation mechanism introduces crossover and mutation operations into IAFOA, and advises that the individuals with different fitness values should be operated with different crossover and mutation probabilities. The multi-sub-swarm mechanism can spread optimization information among the individuals of the two sub-swarms, and quicken the convergence speed. In order to take an insight into the proposed IAFOA, computational complexity analysis and convergence analysis are given. Experiment results based on a group of 29 benchmark functions show that IAFOA has the best performance among several intelligent algorithms, which include five variants of FOA and five advanced intelligent optimization algorithms. Then, IAFOA is used to solve three engineering optimization problems for the purpose of verifying its practicability, and experiment results show that IAFOA can generate the best solutions compared with other ten algorithms.

Introduction

Due to the characteristics of high robust and excellent optimization ability, nature-inspired algorithms such as genetic algorithm (GA), artificial bee colony optimization (ABC), particle swarm optimization (PSO), bat algorithm (BA), and ant colony optimization (ACO) have been applied widely in solving mathematical and engineering problems [1]. As a novel evolutionary computation and optimization approach, fruit fly optimization algorithm (FOA) was proposed by Pan [2] in 2012 based on the foraging behavior of fruit fly. As we know, the fruit fly has obvious advantages over other creatures in olfactory and visual sensory perception, therefore, it can search for food easily [3]. Since FOA was presented, it has gained much attention and been successfully applied in many areas in recent years, such as continuous mathematical function optimization [4], design of tubular linear synchronous motor [5], optimization of flow shop rescheduling problem [6], [7], web auction logistics service [8], medical diagnosis [9], forecasting power loads [10], confirming neural network parameters [11], as well as many other problems in scientific and engineering fields [12]. Many researches have proven that FOA has significant advantages in terms of convergence and robustness [3].

However, similar with other nature-inspired algorithms, FOA also has its own shortcomings. For example, it often derives a local extreme when solving high-dimensional functions and large-scale combinational optimization problems [3]. For the purpose of improving the search efficiency and global search ability, many variants of FOA were designed [13]. According to the improved points the researchers focus on, these variants can be divided into several categories.

First, some researchers proposed new mechanisms to adjust the search scope of the fruit flies. Actually, the search scope depends on the search radius (or called iteration step value) which is a fixed value in original FOA. Pan et al. [4] put forward an improved fruit fly optimization (IFFO), in which a new control parameter is introduced to tune the search scope around swarm location adaptively. In detail, after setting the maximum and minimum radiuses of search scope, the iteration step value is decreasing along with the increase of iteration number. Then, another improvement, which mainly focus on setting the maximum and minimum radiuses and a random value on interval [0, 1], was introduced by Liu et al. [14]. Zuo et al. [15] also presented an adaptive strategy in which a standard deviation δ is used to represent the search range. The standard deviation δ is equal to the product of log(m+1)/mα and (XiXb) (m is the iteration number, α=2, Xi is the position of the i-th individual, Xb is the best location of the current population). Recently, a new method which introduces a variation coefficient and a disturbance coefficient was proposed by Xu et al. [16]. According to this method, the individual whose fitness value is lower than a certain value will search for appropriate solution in a bigger range during every iterative procedure, and if the best location of the fruit fly swarm remains unchanged for several iterations, the disturbance coefficient will take effect and the individual will search for optimum in a much bigger scope (10 times of the original search scope). What's more, Hu et al. [17] introduced fruit fly optimization algorithm with decreasing step (SFOA). In SFOA, the current step value Ri can be calculated according to a formula Ri=RR/(1+e(612m/M)), in which R is the initial step value, M is maximum iteration number, m is the current iteration number.

Second, multi-swarm mechanism is another research topic for FOA. Due to its wonderful performance, multi-swarm approach have been applied in many intelligent algorithms. Thus, many researchers combined multi-swarm mechanism with FOA and obtained good results. Yuan et al. [18] presented multi-swarm FOA (MFOA). In MFOA, the swarm is split into several sub-swarms (usually 4 to 10), and then the sub-swarms move independently in the search space with the aim of simultaneously exploring global optimum. However, there is no information exchange between these sub-swarms. A bimodal mechanism was introduced by Wu et al. [19]. The idea of bimodal mechanism was borrowed from the labor division of natural swarm. According to the fruit fly's osphretic and visual functions in foraging process, the fruit fly population can be divided into search group and discovery group. Wang et al. [13] proposed a concept named “swarm collaboration”, a certain proportion of individuals whose fitness values are better than the average fitness value, are allowed to gather towards the current optimum location, and the others fly randomly in the initial search region without the loss of generality. Besides, another concept named multi-population parallel computing was presented by Li et al. [20]. In this concept, the whole fruit fly swarm is divided into four sub-populations, and each sub-population evolves separately and the elitism strategy is introduced to preserve the best individuals. Niu et al. [21] proposed a novel FOA which divides the fruit fly swarm into two parts: one part is used to search for the food within a small range close to optimal solution; the other part is used to do the searching work within a larger scope, avoiding falling into local optimum.

Third, in order to improve the ability of jumping out the local optimum, many researchers introduced mutation operation for FOA. Zhang et al. [22] proposed a novel multi-scale cooperative mutation fruit fly optimization algorithm (MSFOA) which employs multi-scale cooperative mutation and the Gaussian mutation operator. Wang and Liu [23] presented adaptive mutation fruit fly optimization algorithm (AM-FOA) which selects a corresponding number of fruit files from the population and makes mutation and then updates the global optimum when the algorithm trapping in local optimum. Ye et al. [24] introduced a mutation probability rate mr (set to 0.8) to allow some individuals to search for optimum in a bigger range. Niu et al. [21] used Cauchy mutation to make fruit fly variants for the sake of improving the convergence performance and optimization capabilities of the algorithm. Pan [25] proposed a modified fruit fly optimization algorithm (MFOA) by introducing an escape parameter for the fitness function for the purpose of escaping from the local extreme.

What's more, it is a popular topic to combine FOA with other intelligent algorithms. Si et al. [26] employed an improved FOA in combination with the least squares support vector machine (LSSVM) to solve the identification problem of shearer cutting pattern and constructed experiment. Wu et al. [27] proposed a normal cloud model based on FOA (CMFOA) to improve the convergence performance of original FOA, and numerical results show that CMFOA can obtain competitive solutions. Kanarachos et al. [28] introduced a contrast-based fruit fly optimization algorithm (c-mFOA) to solve efficient truss optimization. Niu et al. [29] proposed differential evolution FOA (DFOA) by modifying the expression of the smell concentration judgment value and introducing a differential vector to replace the stochastic search. Wang et al. [3] proposed LP-FOA (FOA with level probability policy) in which a level probability policy and a new mutation parameter are developed to balance the population diversity and stability. Yuan et al. [30] proposed chaotic-enhanced fruit fly optimization algorithm (CFOA), which employs chaotic sequence to enhance the global optimization capacity of original FOA. Zheng and Wang [31] presented a two-stage adaptive fruit fly optimization algorithm (TAFOA). At the first stage, a heuristic is proposed to generate an initial solution with high quality, and at the second stage, the initial solution is adopted as the initial swarm center for further evolution. Lei et al. [32] proposed fruit fly optimization clustering algorithm (FOCA) which combines FOA and gene expression profiles for identifying the protein complexes in dynamic protein-protein interaction networks. Meng and Pan [33] proposed an improved fruit fly optimization algorithm (IFFOA) to solve the multi-dimensional knapsack problems. In IFFOA, the parallel search is employed to balance exploitation and exploration and a modified harmony search algorithm (MHS) is applied to add cooperation among swarms.

In order to overcome the disadvantages of original FOA while retaining its merits, a new improved fruit fly optimization algorithm named IAFOA is proposed in this paper. In particular, the main contributions of IAFOA can be summarized as follows:

  • (1)

    Present a new concept named optimal search direction, and an adaptive selection mechanism for the search direction. The optimal search direction is calculated based on the experience of the previous iteration generations. In fact, the optimal search direction can be considered as a guide to judge which direction is more suitable to find a good solution. Therefore, if a direction is near to the optimal search direction, fruit flies in the following generation will fly towards it with a large probability. However, if a direction is far away from the optimal search direction, individuals in the next generation will fly towards it with a small probability. The nearness between a direction and the optimal search direction can be measured by the angle between the two directions. In order to quantitate the probability of individual flying towards different directions, a formula which is used to calculate the value of probability is given.

  • (2)

    Propose an adaptive adjustment mechanism for the iteration step value. The iteration step value is designed to be related to the iteration number and the changes of best smell concentrations during the iteration procedure. Most importantly, the iteration step value can change adaptively. At the beginning stage of the iteration procedure, a larger iteration step value is applied in order to obtain a rapid convergence speed; as the iteration procedure going on, a smaller iteration step value is used to ensure that the fruit flies search for the global optimum accurately; especially at the ending stage of the optimization process, if the best smell concentrations of several adjacent generations remain unchanged, the iteration step value will increase appropriately so that the individuals can search for the global optimum in a larger scope. From the introductions of the mechanisms which are used to adjust the search scope in current literatures, we know that most of these mechanisms suggest that the search radius should become small along with the increase of iteration number, and increase crudely once the swarm falls into a local extreme. Compared with the current methods, the adaptive adjustment mechanism for the iteration step value allows the search range to become bigger or smaller adaptively based on the iteration number and the changes of the best locations during the iteration procedure.

  • (3)

    Combine FOA with an adaptive crossover and mutation mechanism. Different from the current crossover and mutation operations for FOA, the adaptive crossover and mutation mechanism, which is inspired by arc tangent function, allows the crossover probability and mutation probability to change along with the fitness value of the individual. The bigger the fitness value is, the smaller the crossover probability and mutation probability are. It means that the individuals with lower fitness values are operated with greater crossover probability and mutation probability, and the individuals with higher fitness values are operated with lower crossover probability and mutation probability. Obviously, this mechanism can help to improve the diversity of the swarm. At the same time, these better individuals will be retained with a bigger probability so that the whole swarm will not degenerate.

  • (4)

    Introduce multi-sub-swarm mechanism to divide the whole swarm into two sub-swarms with equal population size. In the first sub-swarm, the individuals search for the optimal solution according to the rules of the improved FOA which includes the adaptive selection mechanism for the search direction and the adaptive adjustment mechanism for the iteration step value. In the second sub-swarm, the individuals will be operated by the adaptive crossover and mutation mechanism. At the end of each iteration, 1/2 individuals of each sub-swarm exchange with each other. Compared with the current combinations of FOA and multi-swarm mechanism, which just divide the whole swarm into several sub-swarms that move independently in the search scope, or assign different tasks to different the sub-swarms, the most important characteristics of the multi-sub-swarm mechanism proposed in this paper are the cooperation and exchange between two sub-swarms during every iteration procedure. Obviously, this mechanism can spread optimization information among individuals and quicken the convergence speed.

The experiment results based on a group of 29 benchmark functions show that IAFOA is more effective and efficient when solving the high-dimension functions compared with five variants of FOA and five well-known intelligent algorithms. Besides, IAFOA is used to solve three engineering optimization problems, which are oil compression spring design, welded beam design and speed reducer design. Experiment results show that IAFOA can achieve better solutions than the other algorithms for the three engineering optimization problems.

The rest of this paper is organized as follows. Section 2 introduces the methods. The original FOA is explained and IAFOA is presented after introducing the four mechanisms in detail. The computational complexity analysis and convergence analysis of IAFOA are also shown in Section 2. In Section 3, experimental designs and numerical analyses based on a group of 29 benchmark functions are illustrated. IAFOA is used to solve engineering optimization problems in Section 4. Finally, Section 5 gives the concluding remarks.

Section snippets

Original FOA

Fruit fly is an insect that exists widely in temperate and tropical climate zones and is superior to other species in osphresis and vision. During hunting for food, fruit fly initially smells a particular odor by using its osphresis organs, sends and receives information from its neighbors and compares the smell concentration (or called fitness value) and the current best location. Fruit fly identifies the fitness value by taste, and flies towards the location with best fitness value. They use

Experiments and numerical analysis

For the purpose of verifying the performance of IAFOA, a total of 29 benchmark functions including 15 unimodal functions and 14 multimodal functions, are considered in the experimental section. These benchmark functions shown in Table 1 are widely adopted in benchmarking global optimization algorithms. In fact, different functions can be used to test different abilities of algorithms, such as the unimodal functions are suitable for testing the exploitation ability of algorithms because they

Application to solve engineering optimization problems

In order to verify the ability of IAFOA to solve the optimization problems in real-world applications [44], three well-known engineering problems, which are coil compression spring design, welded beam design and speed reducer design, are provided in this section [45], [46].

Conclusion

In this paper, a new improved fruit fly optimization algorithm named IAFOA is designed to solve the high-dimensional function optimization problems and engineering optimization problems. In detail, we proposed four mechanisms including the adaptive selection mechanism for the search direction, the adaptive adjustment mechanism for the iteration step value, the adaptive crossover and mutation mechanism, and the multi-sub-swarm mechanism. After combining the four mechanisms with FOA, IAFOA is

Acknowledgments

This work was supported in part by the project foundation of china Ministry of industry and information technology “Research of gordian technique of deep-water semi-submersible platforms”, and Project of scientific and technological achievements of Jiangsu province “Research and industrialization of the key techniques of drilling string used in marine deep water”.

References (47)

  • T.F. Li et al.

    An ensemble fruit fly optimization algorithm for solving range image registration to improve quality inspection of free-form surface parts

    Inf. Sci.

    (2016)
  • Y. Zhang et al.

    A novel multi-scale cooperative mutation fruit fly optimization algorithm

    Knowl. Based Syst.

    (2016)
  • W.C. Wang et al.

    Melt index prediction by least squares support vector machines with an adaptive mutation fruit fly optimization algorithm

    Chemom. Intell. Lab. Syst.

    (2015)
  • L.H. Wu et al.

    A cloud model based fruit fly optimization algorithm

    Knowl. Based Syst.

    (2015)
  • S. Kanarachos et al.

    Efficient truss optimization using the contrast-based fruit fly optimization algorithm

    Comput. Struct.

    (2017)
  • J.W. Niu et al.

    Fruit fly optimization algorithm based on differential evolution and its application on gasification process operation optimization

    Knowl. Based Syst.

    (2015)
  • X.F. Yuan et al.

    Parameter identification of BIPT system using chaotic-enhanced fruit fly optimization algorithm

    Appl. Math. Comput.

    (2015)
  • X.L. Zheng et al.

    A two-stage adaptive fruit fly optimization algorithm for unrelated parallel machine scheduling problem with additional resource constraints

    Expert Syst. Appl.

    (2016)
  • X.J. Lei et al.

    Identification of dynamic protein complexes based on fruit fly optimization algorithm

    Knowl. Based Syst.

    (2016)
  • T. Meng et al.

    An improved fruit fly optimization algorithm for solving the multidimensional knapsack problem

    Appl. Soft Comput.

    (2017)
  • L.M. Schmitt

    Theory of Genetic Algorithms II: models for genetic operators over the string-tensorrepresentation of populations and convergence to global optima for arbitrary fitness function under scaling

    Theor. Comput. Sci.

    (2004)
  • C.S. Li et al.

    Design of a fractional-order PID controller for a pumped storage unit using a gravitational search algorithm based on the Cauchy and Gaussian mutation

    Inf. Sci.

    (2017)
  • S. Mirjalili

    The ant lion optimizer

    Adv. Eng. Software

    (2015)
  • Cited by (77)

    View all citing articles on Scopus
    View full text