Discrete Dynamics in Nature and Society

Volume 2015, Article ID 674595, 17 pages

http://dx.doi.org/10.1155/2015/674595

## Artificial Bee Colony Algorithm with Time-Varying Strategy

^{1}Department of Management Science, College of Management, Shenzhen University, Shenzhen 518060, China^{2}Research Institute of Business Analytics & Supply Chain Management, Shenzhen University, Shenzhen 518060, China^{3}Division of Computer Science, University of Nottingham Ningbo China, Ningbo 315100, China^{4}International Doctoral Innovation Centre, University of Nottingham Ningbo China, Ningbo 315100, China^{5}Department of Electrical & Electronic Engineering, Xi’an Jiaotong-Liverpool University, Suzhou 215123, China

Received 29 October 2014; Revised 13 March 2015; Accepted 17 March 2015

Academic Editor: Ricardo López-Ruiz

Copyright © 2015 Quande Qin 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

Artificial bee colony (ABC) is one of the newest additions to the class of swarm intelligence. ABC algorithm has been shown to be competitive with some other population-based algorithms. However, there is still an insufficiency that ABC is good at exploration but poor at exploitation. To make a proper balance between these two conflictive factors, this paper proposed a novel ABC variant with a time-varying strategy where the ratio between the number of employed bees and the number of onlooker bees varies with time. The linear and nonlinear time-varying strategies can be incorporated into the basic ABC algorithm, yielding ABC-LTVS and ABC-NTVS algorithms, respectively. The effects of the added parameters in the two new ABC algorithms are also studied through solving some representative benchmark functions. The proposed ABC algorithm is a simple and easy modification to the structure of the basic ABC algorithm. Moreover, the proposed approach is general and can be incorporated in other ABC variants. A set of 21 benchmark functions in 30 and 50 dimensions are utilized in the experimental studies. The experimental results show the effectiveness of the proposed time-varying strategy.

#### 1. Introduction

Swarm intelligence concerns the design of intelligent optimization algorithms by taking inspirations from the collective behavior of social insects [1]. During the past decades, swarm intelligence has shown great success for solving complicated problems. The problems to be optimized by swarm intelligence algorithms do not need to be mathematically represented as continuous, convex, and/or differentiable functions; they can be represented in any form [2]. Artificial bee colony (ABC) algorithm developed by Karaboga in 2005 is a recent addition into this category [3–5].

ABC algorithm is inspired by the intelligent behavior of honey bees seeking quality food sources [3, 6–8]. In a short span of less than 10 years, ABC has already been demonstrated as a promising technique for solving global optimization problems [9, 10]. Numerical comparisons and many engineering applications demonstrated that ABC could obtain good search results [11]. Due to its simplicity, flexibility, and outstanding performance, ABC has captured increasing interests of the swarm intelligence research community and been applied to many real-world areas, such as numerical optimization [6, 10], neural network training [7, 12], finance forecasting [13, 14], production scheduling [15–17], data clustering [18, 19], image segmentation [20, 21], service selection problem [22], and power system optimization [23].

However, like its counterpart population-based stochastic algorithms, it still has some inherent pitfalls [24–26]. The convergence speed of ABC is slower than those of the representative population-based stochastic algorithms, such as DE and PSO [27]. Moreover, ABC suffers from premature convergence while dealing with certain complicated problems [28]. Several ABC variants have been proposed with the aim of overcoming these pitfalls. These ABC variants can be generally categorized into three groups: (1) first, the parameters of configuration tuning [29–31]; (2) second, the ABC algorithm hybridizing with other evolutionary optimization operators to enhance performance [10, 32, 33]; (3) third, the design of new learning strategy by modifying the search equation of the basic ABC algorithm [24, 25, 34].

It is recognized that exploration and exploitation are the two most important factors affecting a population-based optimization algorithm’s performance [6, 35]. Exploration refers to the ability of a search algorithm to investigate the unknown regions in the search space in order to have high probability to discover good promising solutions. Exploitation, on the other hand, refers to the ability to concentrate the search around a promising region in order to refine a candidate solution [36, 37]. A good population-based optimization algorithm should properly balance these two conflictive objectives [38]. It is observed that ABC has good exploration ability but poor exploitation ability [24], which may impede ABC algorithm from proceeding towards a global optimum even though the population has not converged to a local optimum.

The colony of the ABC algorithm contains three groups of bees: employed bees, onlookers, and scouts [3]. In the employed bees phase of ABC algorithm, the algorithm focuses on the explorative search indicated by the solution updating scheme, which uses the current solution and a randomly chosen solution. A fitness-based probabilistic selection scheme is used in the onlooker phase, which indicates the exploitation tendency of the algorithm. In the original ABC algorithm, it is assumed that half of the colony consists of the employed bees, and the rest half consists of the onlookers [3]. In other words, the ratio of the employed and onlooker bees is the same, 1 : 1.

The basic ABC algorithm is easy to tune with few parameters but lacks effective and efficient ways to control the exploration ability and exploitation ability. In the present study, we propose an easy modification to the structure of the basic ABC algorithms in an attempt to balance their exploration and exploitation abilities. Compared with the basic ABC algorithm, we added a new parameter. The core idea of the modification is to design a proper mechanism, adjusting the ratio of the employed and onlooker bees with time. The proposed algorithms are called ABC with linear versus nonlinear time-varying strategy (ABC-LTVS and ABC-NTVS, resp.). The objective of this development is to enhance the global exploration in the early search and to encourage the solution to converge toward the global optima at the later search.

The reminder of this paper is organized as follows: Section 2 briefly introduces the basic ABC algorithm. The proposed algorithms, ABC-LTVS and ABC-NTVS, are elaborated in Section 3. In Section 4, comprehensive experimental studies are conducted on benchmark functions in -dimension and -dimension problems to verify the effectiveness of the proposed algorithms. Finally, conclusions are presented in Section 5.

#### 2. Basic ABC Algorithm

The ABC algorithm is a recently introduced optimization algorithm proposed by Karaboga [3, 39, 40], which is inspired by the intelligent foraging behavior of the honeybee swarm. In the ABC algorithm, there are two components: the foraging artificial bees and the food source [3, 39]. The position of a food source represents a possible solution. The nectar amount of a food source corresponds to the fitness of the associated solution. In the basic ABC algorithm, the colony of artificial bees contains three groups of bees: employed bees, onlookers, and scouts. The employed bees are responsible for searching available food sources and pass the food information to the onlooker bees [3, 40]. The onlookers select good sources from those found by the employed bees to further search the foods. When the fitness of the food sources is not improved through a predetermined number of cycles, denoted as* limit*, the food source is abandoned by its employed bee, and then, the employed bee becomes a scout and starts to search for a new food source in the vicinity of the hive.

The ABC algorithm consists of four phases: initialization, employed bees, onlooker bees, and scout bees [3, 39, 40]. In the initialization phase of the ABC, food source positions are randomly produced in the -dimensional search space using the following equation [3, 6]:where is the th food source, ; , where denotes the number of food source; and are the lower and upper bounds for dimension , respectively; is a random number uniformly distributed within range .

After producing food sources and assigning them to the employed bees. There is only one employed bee on each food source. In the employed bee phase of ABC, each employed bee tries to find a better quality food source based on . A new trial food source, denoted as , is calculated from the equation below [3, 6]:where is a randomly generated whole number in the range ; is a random number uniformly distributed in the range ; and is the index of a randomly chosen food source satisfying . After is obtained, it will be evaluated and compared to . If the fitness of is better than that of , the bee will forget the old food source and memorize the new one. Otherwise, it keeps in her memory. After all employed bees have finished their search, they share the nectar and position information of their food sources with the onlookers.

Each onlooker bee selects a food source of an employed bee to improve it. The roulette selection mechanism is performed by using (3) [3, 6]where is the probability of food source being selected by an onlooker bee and is the fitness of . The fitness of the food sources are defined as [3, 6]where is the objective function value of . Once the onlooker has selected a food source, a new candidate food source can be obtained by (2). As in the employed bees, the greedy selection between these two food sources was performed.

If a food source, , cannot be improved for a predetermined number of cycles, referred to as* limit*, this food source is abandoned. Then, the scout produces a new food source randomly according to (1) to replace .

The detailed pseudocode of the ABC algorithm is shown in Algorithm 1 [3, 40].