Computational Intelligence and Neuroscience
Volume 2016 (2016), Article ID 2565809, 10 pages
http://dx.doi.org/10.1155/2016/2565809

Research Article

A Guiding Evolutionary Algorithm with Greedy Strategy for Global Optimization Problems

Leilei Cao,1,2 Lihong Xu,¹ and Erik D. Goodman²

¹Department of Control Science and Engineering, Tongji University, Shanghai 201804, China
²BEACON Center for the Study of Evolution in Action, Michigan State University, East Lansing, MI 48824, USA

Received 23 January 2016; Revised 15 April 2016; Accepted 3 May 2016

Academic Editor: Jens Christian Claussen

Copyright © 2016 Leilei Cao et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract.

A Guiding Evolutionary Algorithm (GEA) with greedy strategy for global optimization problems is proposed. Inspired by Particle Swarm Optimization, the Genetic Algorithm, and the Bat Algorithm, the GEA was designed to retain some advantages of each method while avoiding some disadvantages. In contrast to the usual Genetic Algorithm, each individual in GEA is crossed with the current global best one instead of a randomly selected individual. The current best individual served as a guide to attract offspring to its region of genotype space. Mutation was added to offspring according to a dynamic mutation probability. To increase the capability of exploitation, a local search mechanism was applied to new individuals according to a dynamic probability of local search. Experimental results show that GEA outperformed the other three typical global optimization algorithms with which it was compared.

1. Introduction

Most real-world optimization problems in engineering, management, and other applications are of high dimensionality, multimodal, and/or multiobjective. Methods for solving these problems range from classical mathematical methods to heuristic algorithms. With more complex problems, heuristic intelligent algorithms have been used successfully and frequently [1]. These algorithms include Simulated Annealing [2], Genetic Algorithm [3], Particle Swarm Optimization [4], Ant Colony Optimization [5], Artificial Bee Colony [6], Firefly Algorithm [7, 8], and Bat Algorithm [9]. Support for parallel computation and stochastic search are common characteristics of these algorithms. Inevitably, most of these algorithms are slow to converge or converge prematurely, trapped in local optima upon addressing high-dimensional or multimodal optimization problems [10]. High-dimensional variables expand the search space, influencing the required number of evaluations and speed of convergence. Multimodality means that there exist one or more global optima and some number of locally optimal values [10, 11]. The “No Free Lunch” theorem clarifies that the performance of any search algorithm depends on the complexity of the problem domain [12].

All of the above-mentioned heuristic algorithms are population-based except Simulated Annealing, and some of them are classified as swarm intelligence. These population-based algorithms, when applied to complex problems, frequently outperform classical methods such as linear programming [13], gradient methods [14], and greedy algorithms [15]. Although the heuristic algorithms can solve some problems, sometimes they converge on local optima or find solutions near but not at the global optimum.

This paper introduces a Guiding Evolutionary Algorithm to address global optimization problems. It is inspired by Particle Swarm Optimization and the Bat Algorithm and uses some methods from the Genetic Algorithm. It is easily understood and implemented. For some problem classes tested, this algorithm has outperformed canonical implementation of those individual heuristic methods. This paper is organized as follows: Section 2 gives brief overview about PSO and BA. Section 3 proposes this new global optimization algorithm. A set of test functions and the experimental results are presented in Section 4, and conclusions are presented in Section 5.

2. Particle Swarm Optimization and Bat Algorithm

2.1. Overview of PSO

A variety of heuristic algorithms are called swarm intelligence algorithms, simulating collaborative behavior of a swarm of insects, birds, fish, or other animals searching for food [4, 16]. Among them, Particle Swarm Optimization (PSO) is the most widely used. PSO was first proposed by Eberhart and Kennedy [4] in 1995. Each solution in PSO is a “particle” that searches in the independent variable space by learning from its own experience and other particles’ past experiences [17, 18]. There are two different ways of representing others’ past experiences: the global best and the local best. In global optimization problems, each particle adjusts its velocity and position according to the historical best position of itself and the best position among all particles. But this method tends to make each particle converge to a local optimum in those problems containing many locally optimal values. For these problems, the local best method is more effective. Each particle adjusts its velocity and position according to its historical best position and the best solution found within its neighborhood. In fact, if the neighborhood is all particles, the local best becomes the global best version. PSO is simple and easy to be implemented, but PSO lacks a mutation mechanism which could increase the diversity of the population and help to avoid convergence at local optima.

2.2. Bat Algorithm [9, 19–21]

The Bat Algorithm (BA) was proposed by Yang in 2010. It is based on the echolocation behavior of bats, which can find their prey and discriminate different types of insects even in complete darkness. This algorithm combines global search with local search in each iteration, which balances exploration and exploitation during search. The algorithm defines the rules for how these bats’ positions and velocities in a -dimensional search space are updated. The new positions and velocities at time step are given by

where is a random vector and is the global best location found to date. is the frequency of the wave.

For the local search part, a new solution for each bat is generated locally using a random walk around the current best solution:

where is a uniformly distributed random number and is the average loudness of all bats at this time step.

The update of the velocities and positions of bats has some similarity to the procedure in the standard Particle Swarm Optimization as essentially controls the pace and range of movement of the swarming particles. To a degree, BA can be considered as a balanced combination of the standard Particle Swarm Optimization and an intensive local search controlled by the loudness and pulse rate. Furthermore, the loudness and rate of pulse emission must be updated accordingly as the iterations proceed. The loudness usually decreases once a bat has found its prey, while the rate increases.

3. A Guiding Evolutionary Algorithm

Although Bat Algorithm can solve some difficult problems and converge quickly, it often cannot avoid converging to a local optimum, especially for those high-dimensional multimodal problems. Examining PSO and BA reveals some differences, in that BA rejects the historical experience of each individual’s own position but accepts a better personal solution with some probability. We will modify some of the updating mechanisms of BA and add a mutation method in order to try to address global optimization problems more accurately.

3.1. Crossover

There is a leading individual in both PSO and BA, which can lead all individuals to update their own positions. But we find that current velocities of individuals are weighted accumulations of their own historical velocities across iterations. In the later parts of a search, this will tend to decrease the speed of convergence or favor convergence on local optima, even though there are bounds on velocities in PSO. To avoid these situations and employ the leading individual effectively, we use the following expression:

where is the current global best individual and is the step length of the position increment.

In fact, this expression is a form of crossover between each individual and the best individual to generate their offspring. is a guide to lead all other individuals to walk forward toward the current best one. To explain formula (3) clearly, we use a simple example to describe the process of locating the global best individual. Figure 1 shows a two peaks’ function, the ordinate of which is the value of the objective function and the abscissa of which is the design variable. Point P is the global best we expect to find in this maximization problem. Points A, B, C, and D indicate four individuals, and , , , and are their solutions in variable space, respectively. and are the bounds of the variable space. Among the four individuals, point C is the best; therefore, other individuals will move toward this current best individual. Let us assume is a uniform random variable. For point A, its motion ranges between and , because exceeds the upper bound of the variable range. Theoretically, point A can move to each point whose variable value is between and , and this will depend on the random variable . Not only point A but also points B and D will be attracted by point C. The best individual will be replaced once a better solution occurs. After many iterations, all of these individuals can reach the global best point P. While searching, even though the best individual may reach the lower peak, other individuals can also move to point P because of random walking and a great number of population.

Figure 1: A two peaks’ function.

3.2. Mutation

Although these global optimization algorithms work quite well on some engineering problems, they sometimes cannot avoid converging on a local optimum with high probability. For such heuristic algorithms, it is difficult to prove that they will always converge to a global optimum. In order to raise the probability of converging to a global optimum, we add a mutation mechanism which is inspired by the Genetic Algorithm. The purpose of mutation is to increase the diversity of the population and prevent them trapping into a local optimum, especially in the later iterations. Therefore, the probability of mutation will be made low at the beginning and higher later. We set the mutation probability as follows:

where is a limiting parameter which can be a constant or a variable, is the maximum number of generations, and is the current generation. We will assume that and ; then, probability increases with iterations as shown in Figure 2. Especially in the early iterations, is low, while it increases rapidly in the later iterations.

Figure 2: Probability of mutation.

The mutation formula is as follows:

where is the solution of an individual after crossover, is a uniform random number, and is a vector which determines the scope of mutation. In general, we set such that mutation can span the entire range of the independent variables. We will assume that the range of th dimension of the variables is , and then

Each dimension of the vector is set as formula (6). Sometimes the solution after mutation will exceed the range of the variables, and we can limit it to the bounds in this situation.

3.3. Local Search

As we know, most of global optimization algorithms have excellent capability of exploration but are weak at exploitation. To enhance this ability, especially in the later iterations, we will expect the algorithm to be able to locate the global best quickly with local search, once it has found the right neighborhood. The probability of local search will be maintained low in early iterations and raised later in the search process. The probability of local search will follow the same distribution as mutation (4).

Each individual has the calculated probability of being replaced by a result of local search, performed around the current best individual. Similarly to the Bat Algorithm’s random walk, we use the following formula to express local search:

where is the best individual of the current population, is a uniform random number, and is a vector which determines the search scope of the random walk, formulated in the variable space. We still will assume that the range of th dimension of the variables is , and then

10% is only an example of scope of the random walk. The other dimensions of the vector are set as formula (8). Local search acts much like mutation; the differences are in the points to which the mutational changes are added—the global best in one case and any individual in the other.

3.4. Summary of GEA

Unlike the classical (greedy) simplex algorithm, a population-based algorithm can “jump out” of a local optimum using parallel search, without losing all prior information. Therefore, we can afford to accept a new global best-to-date individual when it is found, instead of accepting it according to some probability, as Simulated Annealing must do in order to reduce getting trapped at local optima. In the GEA, each individual updates only when its offspring has better fitness. The updates of the global best individual and each individual are greedy strategies, but, because of a large population size, convergence to local optima can be avoided in some multimodal global optimization problems.

The proposed Guiding Evolutionary Algorithm with greedy strategy resembles the framework of the Genetic Algorithm, which can be described as follows: initialization, evaluation, selection, crossover, and mutation. A difference from the Genetic Algorithm is that there is no special selection mechanism in the GEA, because each individual will generate its offspring by recombination with the global best individual and it does not require an operator to select an individual to evolve. In addition, local search is also employed to increase the algorithm’s exploitation capability. The whole framework is easy to understand and implement. The whole pseudocode of this algorithm is as shown in Algorithm 1.

Initialize the population   , and define limit parameter ,

                 scope of mutation , range of local search

Evaluate the initialized population

Select the best individual

        While ()

                For each individual

                        Make crossover to generate a new individual

                        If ()

                                Make mutation for

                        If ()

                                Make local search for

                        If ( is better than )

                                Accept this new individual

                        If ( is better than )

                                Replace using

Output results and visualization

Algorithm 1

4. Experimental Results and Discussion

4.1. Test Functions [11, 22, 23]

In order to test the proposed algorithm, 6 commonly used functions are chosen. are well-known test functions for global optimization algorithms including Genetic Algorithm, Particle Swarm Optimization, Bat Algorithm, Firework Algorithm [24], and Flower Pollination Algorithm [25]. is a simple unimodal and convex function; is a unimodal but nonconvex function; is multimodal, since the number of local optima increases with the dimensionality; has a global minimum at 0, which is inside the parabolic, narrow-shaped flat valley (variables are strongly dependent on each other; therefore it is difficult to converge on the global optimum); is multimodal and has many local minima but only one global minimum; also has numerous local minima and is multimodal. The definitions of these benchmark functions are listed in Table 1. All of their global minima are at 0.

Table 1: Six test functions utilized in this experiment.

Functions
Name of function
Expression
Domain of variables

De Jong’s sphere function

Schwefel 2.22 function

Griewangk’s function

Rosenbrock’s function

Rastrigin’s function

Ackley’s function

4.2. Parameter Settings for Testing Algorithms

In this section, the Guiding Evolutionary Algorithm (GEA), Fast Evolutionary Algorithm (FEA) [23], Particle Swarm Optimization (PSO), and Bat Algorithm (BA) are tested separately on six benchmark functions. For to , to illustrate how the dimensionality of problems influences the performance of the algorithms, three different dimensions of benchmark functions are used: , , and . The parameters of the Fast Evolutionary Algorithm are set as in [23]. Through some trials, we set the number of generations in FEA, PSO, and BA as 500, while the number of generations is set as 50 in GEA, in order to get the best results. Population sizes were adjusted according to the different benchmark functions and different dimensions. Although these algorithms run for different numbers of generations, the numbers of evaluations are the same for any given benchmark function. For PSO, according to some researches [17, 18], the following settings can make it perform well: the inertia weight is set as 0.7, while the two learning parameters are set as 1.5; the limitation of velocity is set as . Parameters of BA are set as follows: minimum frequency , maximum frequency , the loudness , the pulse rate , and the control factor . These parameters are attributed to some published articles [11, 19]. For our GEA, and .

Generally speaking, for unimodal functions, the convergence rate is of primary interest, as optimizing such functions to a satisfactory accuracy is not a major issue. For multimodal functions, the quality of final solutions is more significant since they can illustrate the ability of the algorithm tested, to escape from local optima and locate the true global optimum. Based on these requirements, we present the computational optimal solutions of these benchmarks using our GEA as well as comparing with other algorithms. In addition, the curves of convergence rate are plotted in order to indicate the numbers of evaluations to reach the approximate global optimum or converge on a local optimum.

4.3. Experimental Results and Discussion

4.3.1. Results for the 10D Benchmark Functions

Table 2 depicts the computational results of four algorithms on six benchmark functions with 10 dimensions, which were run 20 times independently to get the best, worst, mean, median, and standard deviation values. Among these five values, the “median” item can indicate the algorithm’s optimizing performance reasonably, while the “standard deviation” item denotes the stability of the algorithm’s optimizing performance. Figure 3 presents the convergence characteristics in terms of median value of 20 runs of each algorithm on each benchmark function.

Table 2: Results of benchmark functions in 10 dimensions using four algorithms.

Functions
Evaluations
Value
GEA
FEA
PSO
BA

50000
Best

Worst

Mean

Median

StDev

50000
Best

Worst

Mean

Median

StDev

50000
Best

Worst

Mean

Median

StDev

200000
Best

Worst

Mean

Median

StDev

200000
Best

Worst

Mean

Median

StDev

100000
Best

Worst

Mean

Median

StDev

(a)

(b)

(c)

(d)

(e)

(f)

Figure 3: The median value convergence characteristics of 10D benchmark functions. (a) ; (b) ; (c) ; (d) ; (e) ; and (f) .

From the computational results, we find that BA performs best among these four algorithms on , although three of them have excellent performances. As stated earlier, the convergence rate is more crucial in comparison with convergence accuracy for unimodal functions. As indicated from Figure 3(a), GEA, PSO, and BA have fast convergence rate and high convergence accuracy, but FEA gets the worst accuracy. Actually, is only a simple unimodal and convex function. There is no mutation operation in the BA’s procedure but only local search. However, compared with GEA and PSO, the local search and absence of mutation become the BA’s advantage in addressing unimodal and convex functions. But this advantage is lose upon testing unimodal and nonconvex function . GEA clearly outperforms the other algorithms in convergence rate and convergence accuracy; the median and mean value are close to the true global optimum. Viewed from Figure 3(b), it is easy to see that GEA and PSO have similar search processes in the early evaluations, but GEA can jump out from a local optimum because of its mutation operation and continue to search with local search, while PSO stops at the local optimum. GEA improves several orders of magnitude compared to the results of the other algorithms. In addition, it has better stability of optimization performance. is a multimodal function; both GEA and PSO perform well, and they have similar convergence rates and accuracies as indicated from Figure 3(c). We display the ability to avoid falling into local optima. As described, function poses special difficulties for an optimizer. Although PSO locates the minimization value exactly in median value on , PSO’s stability is worse than that of GEA. Sometimes, locating the exact optimum is not our purpose, but rather the stable computational performance of the algorithm is more significant. Each of GEA’s values on is close to the real global optimum, and the stability of its optimizing performance is excellent. This performance benefits from changeable mutation parameters and local search areas. But, as viewed from Figure 3(d), the convergence accuracies of FEA and BA are worse than those of GEA and PSO. and are multimodal functions, but makes it extremely difficult to locate the global optimum, while is much easier. GEA and PSO have similar performance upon addressing and , while GEA is a little better than PSO especially in standard deviation. Although neither of them can locate the real global minimization on , they still work better than FEA and BA. As indicated from Figure 3(e), although FEA has the fastest convergence rate, the convergence accuracy is too poor similar to that of BA. In addition, BA also performs well upon addressing , but it is not yet better than GEA and PSO. Their median values are very close to the real global minimum. The convergence rates of GEA, PSO, and BA are also similar, but FEA has been trapped in a local optimum prematurely as seen from Figure 3(f).

4.3.2. Results for the 20D and 30D Benchmark Functions

Table 3 shows these four algorithms’ computational results on six 20D benchmark functions, and Table 4 shows computational results on six 30D benchmark functions. As the convergence graphs are similar to those of the 10D functions except the convergence accuracy, they are not presented here. It is easy to see that increasing the dimension of did not influence the nature of the performance of these algorithms, just increasing the number of evaluations needed to get similar accuracy. Increased dimension of reduces the convergence accuracy of GEA, PSO, and BA, but FEA is not affected by that because FEA can never get good accuracy. Sometimes we can accept the results of GEA and PSO on in 20D and 30D, but that of FEA and BA cannot be accepted. The effects of on 20D and 30D are better than those on 10D for these four algorithms. This problem is known to become easier as the dimension increases [26]. GEA performs best among the methods on , although increasing the problem’s dimension and its convergence accuracy brings the computational optimum closer to the real global optimum for all tested methods. For , , and , with increasing dimensions, none of these algorithms can locate the real global optimum or approach it closely. But GEA is the best compared with the other algorithms in optimization results. High dimension is a calamity for these problems, which makes it difficult to locate their real global optimum.

Table 3: Results of benchmark functions in 20 dimensions using four algorithms.

Functions
Evaluations
Value
GEA
FEA
PSO
BA

200000
Best

Worst

Mean

Median

StDev

200000
Best

Worst

Mean

Median

StDev

200000
Best

Worst

Mean

Median

StDev

400000
Best

Worst

Mean

Median

StDev

400000
Best

Worst

Mean

Median

StDev

200000
Best

Worst

Mean

Median

StDev

Table 4: Results of benchmark functions in 30 dimensions using four algorithms.

Functions
Evaluations
Value
GEA
FEA
PSO
BA

400000
Best

Worst

Mean

Median

StDev

400000
Best

Worst

Mean

Median

StDev

400000
Best

Worst

Mean

Median

StDev

600000
Best

Worst

Mean

Median

StDev

600000
Best

Worst

Mean

Median

StDev

300000
Best

Worst

Mean

Median

StDev

4.3.3. Discussion

Analysis of the results of four algorithms on six functions with different dimensions indicates that GEA has better optimization performance compared to FEA, PSO, and BA. BA is suitable to address simple unimodal problems, but it has an undistinguished performance on other problems, especially on multimodal problems. FEA has a fast convergence rate, but its convergence accuracy is too bad in some problems. Sometimes GEA and PSO have similar computational results and convergence rate and accuracy on multimodal problems, but GEA performs more stably because of its changeable mutation operation and local search, which can increase its capability of exploration and exploitation. The changeable mutation operation will reduce the convergence rate, but the greedy strategy offsets this reduction. Therefore, GEA has a convergence rate as quick as that of PSO and BA, and the convergence accuracy of GEA is better than/or similar to that of the others.

5. Conclusion

In this paper, a Guiding Evolutionary Algorithm (GEA) has been proposed to solve global optimization problems. This algorithm mixes advantage of Particle Swarm Optimization, Bat Algorithm, and Genetic Algorithm. The largest difference is that the GEA accepts a newly generated individual only when its fitness is better than that of the parent, while the PSO and many versions of the GA always accept the new individual. The BA accepts the better solution according to some given probability. This mechanism of GEA can guarantee that each individual stays in its historically best position and moves forward toward the global best position found to date. Comparing with PSO and BA, the velocity was removed from GEA but replaced by a random walk step toward the current global best individual. After crossover with the global best individual, mutation was added to the generated individual according to a mutation probability. To increase the algorithm’s exploitation power, a local search mechanism was applied to a new individual according to a given probability of local search; this mechanism actually produces a random walk around the current global best individual.

Experimental results show that GEA can approximate the globally optimal solution very accurately in most of the problems tested. Comparing with three other typical global optimization algorithms, GEA performs more accurately and stably. In the future work, niching methods will be considered for addition to the GEA to solve those multimodal problems yet more effectively.

Competing Interests

The authors declare that they have no competing interests.

Acknowledgments

This work was supported in part by the US National Science Foundation’s BEACON Center for the Study of Evolution in Action, funded under Cooperative Agreement no. DBI-0939454.

References

I. Fister Jr., D. Fister, and X. S. Yang, “A hybrid bat algorithm,” Elektrotehniški Vestnik, vol. 80, no. 1-2, pp. 1–7, 2013.

W. L. Goffe, G. D. Ferrier, and J. Rogers, “Global optimization of statistical functions with simulated annealing,” Journal of Econometrics, vol. 60, no. 1-2, pp. 65–99, 1994.

D. Whitley, “A genetic algorithm tutorial,” Statistics and Computing, vol. 4, no. 2, pp. 65–85, 1994.

R. C. Eberhart and J. Kennedy, “A new optimizer using particle swarm theory,” in Proceedings of the 6th International Symposium on Micro Machine and Human Science, vol. 1, pp. 39–43, Nagoya, Japan, October 1995.

M. Dorigo, M. Birattari, and T. Stützle, “Ant colony optimization,” IEEE Computational Intelligence Magazine, vol. 1, no. 4, pp. 28–39, 2006.

D. Karaboga and B. Basturk, “On the performance of artificial bee colony (ABC) algorithm,” Applied Soft Computing Journal, vol. 8, no. 1, pp. 687–697, 2008.

X. S. Yang, “Firefly algorithm,” in Engineering Optimization, pp. 221–230, John Wiley & Sons, New York, NY, USA, 2010.

X.-S. Yang, “Firefly algorithm, stochastic test functions and design optimization,” International Journal of Bio-Inspired Computation, vol. 2, no. 2, pp. 78–84, 2010.

X. S. Yang, “A new metaheuristic bat-inspired algorithm,” in Nature Inspired Cooperative Strategies for Optimization (NICSO 2010), vol. 284 of Studies in Computational Intelligence, pp. 65–74, Springer, Berlin, Germany, 2010.

B. Y. Qu, P. N. Suganthan, and J. J. Liang, “Differential evolution with neighborhood mutation for multimodal optimization,” IEEE Transactions on Evolutionary Computation, vol. 16, no. 5, pp. 601–614, 2012.

G. Wang and L. Guo, “A novel hybrid bat algorithm with harmony search for global numerical optimization,” Journal of Applied Mathematics, vol. 2013, Article ID 696491, 21 pages, 2013.

H. Xu, C. Caramanis, and S. Mannor, “Sparse algorithms are not stable: a no-free-lunch theorem,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 34, no. 1, pp. 187–193, 2012.

S. Sanner and C. Boutilier, “Approximate linear programming for first-order MDPs,” in Proceedings of the 21st Conference on Uncertainty in Artificial Intelligence (UAI '05), pp. 509–517, Edinburgh, UK, July 2005.

S. Yazdani, H. Nezamabadi-Pour, and S. Kamyab, “A gravitational search algorithm for multimodal optimization,” Swarm and Evolutionary Computation, vol. 14, pp. 1–14, 2014.

G. Obregon-Henao, B. Babadi, C. Lamus et al., “A fast iterative greedy algorithm for MEG source localization,” in Proceedings of the Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC '12), pp. 6748–6751, San Diego, Calif, USA, September 2012.

R. S. Parpinelli and H. S. Lopes, “New inspirations in swarm intelligence: a survey,” International Journal of Bio-Inspired Computation, vol. 3, no. 1, pp. 1–16, 2011.

J. Kennedy, “Particle swarm optimization,” in Encyclopedia of Machine Learning, pp. 760–766, Springer, 2010.

R. C. Eberhart and Y. Shi, “Particle swarm optimization: developments, applications and resources,” in Proceedings of the Congress on Evolutionary Computation, pp. 81–86, IEEE, Seoul, South Korea, May 2001.

X.-S. Yang and A. Hossein Gandomi, “Bat algorithm: a novel approach for global engineering optimization,” Engineering Computations, vol. 29, no. 5, pp. 464–483, 2012.

P.-W. Tsai, J.-S. Pan, B.-Y. Liao, M.-J. Tsai, and V. Istanda, “Bat algorithm inspired algorithm for solving numerical optimization problems,” Applied Mechanics and Materials, vol. 148-149, pp. 134–137, 2012.

X.-S. Yang and X. He, “Bat algorithm: literature review and applications,” International Journal of Bio-Inspired Computation, vol. 5, no. 3, pp. 141–149, 2013.

I. Fister, S. Fong, J. Brest, and I. Fister, “A novel hybrid self-adaptive bat algorithm,” The Scientific World Journal, vol. 2014, Article ID 709738, 12 pages, 2014.

H. Liu, F. Gu, and X. Li, “A fast evolutionary algorithm with search preference,” International Journal of Computational Science and Engineering, vol. 3/4, no. 3-4, pp. 197–212, 2012.

Y. Tan and Y. Zhu, “Fireworks algorithm for optimization,” in Advances in Swarm Intelligence, pp. 355–364, Springer, Berlin, Germany, 2010.

X. S. Yang, “Flower pollination algorithm for global optimization,” in Unconventional Computation and Natural Computation, pp. 240–249, Springer, Berlin, Germany, 2012.

D. Whitley, S. Rana, J. Dzubera, and K. E. Mathias, “Evaluating evolutionary algorithms,” Artificial Intelligence, vol. 85, no. 1-2, pp. 245–276, 1996.