Computational Intelligence and Neuroscience

Volume 2016 (2016), Article ID 2565809, 10 pages

http://dx.doi.org/10.1155/2016/2565809

## A Guiding Evolutionary Algorithm with Greedy Strategy for Global Optimization Problems

^{1}Department of Control Science and Engineering, Tongji University, Shanghai 201804, China^{2}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 bywhere 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.