Journal of Applied Mathematics

Volume 2018, Article ID 1237823, 9 pages

https://doi.org/10.1155/2018/1237823

## A Modified Artificial Bee Colony Algorithm with Firefly Algorithm Strategy for Continuous Optimization Problems

Department of Mathematics, Faculty of Science, Khon Kaen University, Khon Kaen 40002, Thailand

Correspondence should be addressed to Pikul Puphasuk; ht.ca.ukk@lukipp

Received 16 July 2018; Accepted 3 December 2018; Published 18 December 2018

Academic Editor: Wei-Chang Yeh

Copyright © 2018 Amnat Panniem and Pikul Puphasuk. 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) algorithm is one of the efficient nature-inspired optimization algorithms for solving continuous problems. It has no sensitive control parameters and has been shown to be competitive with other well-known algorithms. However, the slow convergence, premature convergence, and being trapped within the local solutions may occur during the search. In this paper, we propose a new Modified Artificial Bee Colony (MABC) algorithm to overcome these problems. All phases of ABC are determined for improving the exploration and exploitation processes. We use a new search equation in employed bee phase, increase the probabilities for onlooker bees to find better positions, and replace some worst positions by the new ones in onlooker bee phase. Moreover, we use the Firefly algorithm strategy to generate a new position replacing an unupdated position in scout bee phase. Its performance is tested on selected benchmark functions. Experimental results show that MABC is more effective than ABC and some other modifications of ABC.

#### 1. Introduction

Most continuous optimization problems in various application areas such as science, engineering, economics, and management are nonlinear and difficult to find the optimal solutions. Several nature-inspired optimization algorithms including particle swarm optimization algorithm [1], Bee algorithm [2], Firefly algorithm [3], Bat algorithm [4], and Artificial Bee Colony (ABC) algorithm [5] have been developed and applied to solve the problems. The ABC algorithm, proposed by Karaboga in 2005, has been shown to be competitive to some other algorithms [6–9]. It is widely used in many applications, for example, image template matching [10], virus evolution [11], inverse analysis problem [12], and clustering problem [13]. According to the experimental results in [5, 9, 14–16], ABC still has some deficiencies in dealing with the functions having narrow curving valley and the multimodal functions. It also faces a slow convergence speed [9, 11, 15, 17–21], premature convergence, and getting trapped into local optima [9, 15, 17, 22].

In order to address these deficiencies, some improved versions of ABC have been proposed. In 2010, Zhu and Kwong presented the Gbest-guided ABC (GABC) algorithm [14]. They improved the search equation to increase the exploitation in employed and onlooker bee phases by using the strategy of the particle swarm optimization. The experimental results showed that GABC outperformed ABC for most test problems. In 2012, Gao et al. proposed a modified ABC algorithm (ABC/best) [9], which is inspired by the differential evolution algorithm, to improve the exploitation by searching only around the best solution of the previous iteration. Their results showed better performance when compared with ABC. In 2016, Anuar et al. developed ABC with the rate of change technique (ABC-ROC) based on the changing of slope on the performance graph to replace the parameter* limit* in the scout bee phase of ABC [23] and ABC-ROC also produces promising results.

In this paper, we proposed the Modified Artificial Bee Colony (MABC) algorithm to improve all phases of ABC algorithm. We generate the initial population by using the search space division as in [24] to provide high quality initial solutions. We use a new search equation for employed and onlooker bees, increase an opportunity for onlooker bees to search better food source positions, replace some worst positions by the new ones, and use the strategy of Firefly algorithm to improve unupdated positions for scout bees. The performance of MABC is tested on selected benchmark functions and compared with those of ABC, GABC, ABC-ROC, and ABC/best.

#### 2. Algorithm Description

##### 2.1. Artificial Bee Colony Algorithm

Artificial bee colony algorithm, proposed by Karaboga in 2005 [6], is a relatively new nature-inspired optimization algorithm which is inspired by the behaviour of honeybee swarms. There are three kinds of population bees (employed bees, onlooker bees, and scout bees) working together to search for food source positions. Each employed bee searches for a new food source by communicating with another bee. If a new better position is found, the employed bee will memorize this position instead of the old one. Then the onlooker bees make the decisions to choose the food sources for exploration by using the information from employed bees. Again, if a new better position is found, the onlooker bee will also memorize this position. The employed bee whose food source has been abandoned for a period of time becomes a scout bee with the newly generated position for the next search cycle. The ABC algorithm can be described as follows:(1) *Initialization*: The initial food source associated with the bee is generated by for and , where is the number of bees and is the number of variables or dimension, is a random number in range of , and and are the lower and upper bounds for the dimension .(2)* Employed bee phase*: The bee shares a piece of information with the bee and generates a new food source by using the following equation: where is randomly chosen from to such that , is randomly chosen from to , and is a random number in . Note that is different from only at the component. The new position is evaluated and compared with the old . If , then replace by ; otherwise, hold and set where is the counter number of unimproved trials.(3)* Onlooker bee phase*: Onlooker bees select the food sources depending on their quality using the probability values which are computed by where If , then generate a new by the same equation (2). If , then replace by ; otherwise, retain and set .(4)* Scout bee phase*: If the food source cannot be improved through the limitation number of trails (), then generate a new position for by using (1).(5)Find the best position and the best value .(6)Repeat steps – until the stopping criterion is reached.

##### 2.2. Firefly Algorithm

Firefly algorithm strategy is used in the scout bee phase of MABC algorithm, and its concept which is introduced by Yang in 2008 [3] is mentioned here. Firefly algorithm (FA) is inspired by the flashing behaviour of fireflies where their movements depend on the light intensity (brightness) and the attractiveness. The attractiveness is proportional to the brightness of a firefly; i.e., for any two fireflies the less bright one is attracted by the brighter one. On the other hand, the attractiveness is inversely proportional to the distance between two fireflies where the distance between any two fireflies and is given by the Euclidean normThe attractiveness is computed bywhere is the original light attractiveness at and is the light absorption coefficient. For simplicity, and are usually set to . From the movement of firefly to another more attractive firefly , a new position is given bywhere and are the random numbers between and .

#### 3. Modified Artificial Bee Colony Algorithm

To construct MABC algorithm, all phases of ABC are determined. For the initialization, the population is generated based on search space division (SSD) proposed by He et al. [24]. For employed bee phase, we improve the search equation of ABC by gradually using the information of the best solution to accelerate the search. For onlooker bee phase, % of employed bees are selected with the same probability for additional search moves. Then % of worst positions are replaced by the new positions constructed by using the information of the current best solution and the number of the best solutions () as the scaling factor for providing long distance moves in the case that many best solutions are found for the multimodal functions. For scout bee phase, Firefly algorithm strategy is applied to construct the new position by moving an unupdated position to a new position based on the distance to a better solution. MABC algorithm is proposed as follows.(1)*Initialization*: To provide high quality initial solutions, generate the food source by using the search space division for and , where is a random number in .(2)*Employed bee phase*: The best position is used to generate a new food source by the following equation: where is randomly chosen from to such that , is randomly chosen from to and is a random number in . If , then replace by ; otherwise, hold and set , where is the counter number of unimproved trials.(3)*Onlooker bee phase*: The probability values used to make the decisions for onlooker bees are set to be a constant , if ; then (9) is used to generate a new position . If , then replace by ; otherwise, retain and set . In addition, the worst positions are replaced by the new ones using the equation where , , are the indexes of % worst positions, and are the randomly chosen indexes from to such that for all , and are the random numbers in range of , and is the number of the best positions obtained from previous generation.(4)*Scout bee phase*: Generate a new position for an unupdated position of a scout bee by using the following Firefly algorithm strategy: where is the first index such that .

#### 4. Experimental Results and Discussion

To compare the performance of MABC algorithm with those of other methods, three experiments are conducted using different settings and performance measurements. We select 8 benchmark functions consisting of 2 functions from one of 4 different types: unimodal and separable (US), unimodal and nonseparable (UN), multimodal and separable (MS), and multimodal and nonseparable (MN). Their descriptions and 2D surface plots are shown in Table 1 and Figure 1, respectively.