Abstract

It is known that both exploration and exploitation are important in the search equations of ABC algorithms. How to well balance the two abilities in the search process is still a challenging problem in ABC algorithms. In this paper, we propose a novel artificial bee algorithm named as “NABC,” by incorporating the information of the global best solution into the solution search equation of the onlookers stage to improve the exploitation. At the same time, we improve the search equation of the employed bees to keep the exploration. The experimental results of NABC tested on a set of 11 numerical benchmark functions show good performance and fast convergence in solving function optimization problems, compared with variant ABC, DE, and PSO algorithms. The application of NABC on solving five standard knapsack problems shows its effectiveness and practicability.

1. Introduction

Intelligent algorithms, such as genetic algorithm (GA) [1], particle swarm optimization (PSO) [2], ant colony optimization (ACO) [3], and Biogeography-Based Optimization (BBO) [4], have shown great success in solving optimization problems which are nonconvex, discontinuous, nondifferentiable, and so on. At the same time, they have many advantages, such as simplicity, ease of implementation, and outstanding performance. Inspired by the intelligent behaviors of honey bee swarms, Karaboga in 2005 [5] proposed the artificial bee colony (ABC) algorithm for function optimizations. A set of experimental results [69] show that ABC algorithm is competitive to some other intelligent algorithms. So the ABC algorithm has captured many attentions and has been applied to solve neural networks, flowshop scheduling problems, constrained optimization problems [1012], and so on.

We know that both exploration and exploitation are necessary for an intelligent algorithm. In order to achieve good performances on problem optimizations in practice, the two abilities should be well balanced, while the two abilities contradict each other and the solution search equations of ABC algorithm are good at exploration but poor at exploitation. So, many researchers mended the search solutions to improve the exploitation and the convergence during the past decades. Inspired by PSO, Zhu and Kwong [13] took advantage of the information of the global best solution to improve the performance of the ABC algorithm named GABC. Basturk and Karaboga [14] proposed a modified ABC algorithm by controlling the frequency of perturbation and introducing the ratio of the variance operator. Gao et al. proposed a novel ABC method called EABC [15] to further improve the performance of ABC. In EABC, in order to balance the exploration and the exploitation, they presented two new search equations to generate candidate solutions in the employed bee phase and the onlookers phase, respectively. Karaboga and Gorkemli presented a new version of ABC algorithm named quick artificial bee colony (qABC) [16], which modeled the behavior of onlooker bees more accurately and improved the performance of ABC in terms of local search ability. And the performance of the qABC depended on the neighborhood radius.

In this paper, we propose two new solution search equations in the stage of the employed bees and the onlookers, respectively, in order to improve the exploitation and keep the exploration. We name the novel ABC algorithm as “NABC.” The experiment results tested on 11 numerical function optimizations show that the novel ABC algorithm is superior to the standard ABC algorithm and other improved ABC algorithms in most cases. And it is better than variant DE and PSO algorithms. At the same time, five knapsack problems are solved by ABC and NABC, which shows that NABC is superior to ABC on solving engineering optimization problems.

The rest of this paper is organized as follows. Section 2 summarizes the standard ABC algorithm. The novel ABC algorithm named NABC is presented and analyzed in Section 3. Section 4 presents and discusses the experimental results of 11 benchmark functions. Section 5 shows the application of NABC on knapsack problems. Finally, the conclusion is drawn in Section 6.

2. Standard ABC Algorithm

Initialization is the first step in the standard ABC algorithm [5]. The position of a food source represents a possible solution to the optimization problem. Each food source is exploited by only one employed bee, so the number of employed bees named SN is equal to the number of food sources. And a random initial population of SN food sources is generated as follows:where , , and is the dimension of the numerical function; and are the lower and upper bounds of .

Second is the search processes of the employed bees, where the onlookers and the scouts are started. The standard ABC algorithm uses the following equation to produce a candidate food source position from the old one:where and are random indexes; is different from ; is a random number in the range . After each candidate source position is produced and evaluated by the employed bees, its performance is compared with that of the old food source position. If the new food source position has an equal or better quality than the old source position, the old one is replaced by the new one. Otherwise, the old one is retained. The greedy selection is used.

Third, the employed bees transfer their food information to the onlookers. The onlookers tend to further search the food around the selected food source. The onlooker chooses a food source depending on the probability value associated with that food source:where is the fitness value of the solution which is obtained by the following equation:where is the objective function value. If the new food source position has an equal or better quality than the old source position, the old one is replaced by the new one. Otherwise, the old one is retained which is the same as the employed bees stage.

At last, if a position cannot be improved further through a number of cycles, which is called Limit for abandonment, that food source is abandoned accordingly. The scout will discover a new food source position randomly using (1) to replace it.

3. A Novel Artificial Bee Colony Algorithm (NABC)

3.1. Modified Search Solutions

The exploration is the ability of investigating the various unknown regions in the solution space. So it is also very important in ABC algorithm. To retain the exploration, we present a modified search equation of the employed bees as follows:where the index , is randomly chosen from , and different from the index . is a randomly chosen index. is a random number in the range .

Differential evolution (DE) [17] is a simple and efficient evolutionary algorithm for many optimization problems in the real-world applications [1822]. Inspired by it, many researchers improved variant intelligent algorithms. So inspired by DE and various modified search equations of the ABC algorithms and taking advantage of the information of the global best solution to guide the search of the candidate solutions, a new equation is proposed to serve as the search equation of onlookers, as follows:where the index is a mutually exclusive integer randomly chosen from , and different from the index . is the th element of the global best solution and is a randomly chosen index. is a random number in the range . We name the novel ABC algorithm using (5) to replace (2) on the stage of the employed bees and using (6) to replace (2) on the stage of the onlookers as NABC, which can drive the new candidate solution only around the best solution of the previous iteration. Therefore, the modified solution search equation described by (6) can increase the exploitation of ABC algorithm greatly. The best solution in the current population is a very useful source which can be used to improve the convergence performance. Therefore, we modify the solution search equation by applying the global best solution to guide the search of new candidate solutions in order to improve the exploitation. At the same time, the exploration is improved by (5) from the experiments in Section 4.

The new candidate solution is generated around in GABC [13]. It is different from (6) in which the one is generated around . EABC [15] adopts two different search equations based on different the emphases in the different search stages. NABC uses (5) and (6) to generate the new solution in the stages of employed bees and onlookers, respectively. In the qABC [16], represents the best solution among the neighbors of and itself (). But in the NABC, represents the global best solution. At the same time, in the stages of employed bees and onlookers, the new search equations used in qABC are different from these of the NABC adopted.

3.2. The Novel ABC Algorithm (NABC)

The complete computational procedure of the novel ABC algorithm (NABC) is outlined as follows.

Algorithm 1 (NABC). Consider the following steps.
Step 1 (initialization). Preset SN, Limit, and Maxcycle.
Step 2. Randomly generate SN solutions from the search space to create an initial population .
Step 3. Calculate the function values of the initial population .
Step 4. The employed bees stage. Generate a new solution by (5), if , , , else .
Step 5. Calculate the probability values for the solutions by (3).
Step 6 (the onlookers stage). If , generate a new solution by (6), if , , , else .
Step 7 (the scouts stage). If , replace with a new produced solution by (1).
Step 8. If cycle number > Maxcycle, stop and memorize the best solution achieved so far; otherwise, go to Step 2.

4. Numerical Functions and Experimental Results

4.1. Numerical Functions

It is applied to minimize a set of 11 scalable benchmark functions in Table 1 to test the efficiency of the novel ABC algorithm. The smaller the final result, the better it is.

4.2. Parameter Settings

A set of experiments tested on 11 numerical benchmark functions are performed in this section to compare the performance of the novel ABC algorithm with that of other improved ABC algorithms. Functions are unimodal. Function is a discontinuous step function. The Rosenbrock function of which is unimodal when and 3 may have multiple minima in the high dimension case [18]. Functions are multimodal. To compare with other variance algorithms, the dimension of every function is 30, 60, or 100, respectively, the same as [15]. The dimension of is 150, 300, or 500. The maximum number of generations is 1500, 3000, or 5000, respectively. The population size is 100, namely, , and Limit is 200, which is the same as [15]. Each of the experiments is repeated 30 times independently.

4.3. Experimental Results

Figure 1 graphically presents the convergence curves of functions, respectively. We can see from Figure 1 that, in the later stage of evolution, the standard ABC algorithm enters a long period of stagnation. However, NABC still keeps fast convergence and best performance.

The results of NABC compared with the standard ABC algorithm are shown in Table 2 in terms of the best, worst, median, mean, and standard deviation of the solutions. These results show that the convergence rate of NABC is better than the standard ABC algorithm for most test functions. The rate of convergence obviously increases on , , functions from Figure 1 and Table 2. NABC can find the optimal solutions on functions , , . The convergence rate of NABC is the same order of magnitude as the standard ABC algorithm on . So the superiority of standard ABC algorithm is not very obvious. From the results in Table 2, NABC can obtain better and closer-to-optimal solutions than the standard ABC algorithm for most of the functions. In a word, NABC increases the exploitation greatly. NABC also retains good exploration. Here, “+” indicates that NABC is statistically significantly better than its corresponding competitor algorithm; “” stands for that the result of the corresponding algorithm is statistically similar with that of NABC.

NABC is further compared with GABC [13] and EABC [15] in Tables 3 and 4. The results of GABC and EABC are gained from [15] directly. It is clear that NABC works better in almost all the cases and achieves better performance than GABC. The rate of convergence of NABC increases obviously on all functions in Tables 3 and 4. The convergence rate of NABC is a little worse than that of EABC from Table 3. In particular, the convergence rate of Schwefel2.21 and Rosenbrock is better than EABC in Table 4.

At the same time, NABC is compared with four variants of DE (DE [17], jDE [18], JADE [19], and SaDE [20]) and five variants of PSO (FIPS [21], HPSO-TVAC [22], CLPSO [23], FPSO [24], OLPSO-G [25]). The results of DEs and PSOs are gained from [15] directly. The maximum number of function evaluations (FEs) is shown in Tables 5 and 6. Here, FEs is MaxgenSN. It can be seen that NABC is better on almost all the test functions except Ackley in JADE and OLPSO-G.

In Table 7, we can find the execution time of ABC is similar with that of NABC. So, NABC is largely faster than ABC and does not add the execution time.

5. Application

5.1. Knapsack Problems

We know that Knapsack problem [26] is an engineering optimization problem. It can be defined an unconstrained optimization problem and described as follows: where is each item’s weight and is each item’s profit, respectively. The knapsack has a limited weight capability of . The objective function of this problem is to pack the knapsack so that the items in it have the maximal total profit. The decision variable is the value one if the item is packed; otherwise, it is the value zero. And we assume that all profits and weights are positive, and all weights are smaller than the capacity of . is a penalty factor which is set to in this paper. Tables 8 and 9 are parameters of five standard knapsack problems. The experiments tested on five benchmark 0-1 knapsack problems are performed to compare the performance of NABC with that of standard ABC. The maximum number of generations is set to 2000. The population size is 100, namely, , and Limit is 10. Each of the experiments is repeated 30 times independently.

5.2. Data Analysis

In Table 10, we can see that NABC can easily solve the optimum of Knapsack problems. And it can find the optimum in most cases except . ABC has the worst performance, because we can see that it can not find the optimums for and . In short, NABC has a better performance than ABC on solving the five knapsack problems.

6. Conclusion

In this paper, we develop a novel artificial bee colony algorithm named NABC. We add the global best solution into the search equation to drive the new candidate solution only around the global best solution in order to improve the exploitation. And the search equation of the employed bees is improved to keep the exploration of algorithm. The experimental results tested on 11 benchmark functions show that the convergence of NABC is much faster than that of other algorithms, and the computing is more effective. At the same time, we apply NABC on solving five standard Knapsack problems and get good optimums. So it is fitted to solve many engineering practical problems.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

Acknowledgments

The authors are grateful to the editor and the anonymous reviewers for their valuable comments and suggestions.