# A Novel Artificial Bee Colony Algorithm for Function Optimization

Authors: Song Zhang; Sanyang Liu
Journal: Mathematical Problems in Engineering
 (2015)

---

## 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.


---

## Body

## 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 [6–9] 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 [10–12], 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. Section2 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:(1)
x
i
,
j
=
x
min
⁡
,
j
+
rand
⁡
0,1
∗
x
max
⁡
,
j
-
x
min
⁡
,
j
,where i
∈
(
1,2
,
…
,
SN
), j
∈
(
1,2
,
…
,
D
), and D is the dimension of the numerical function; x
max
⁡
,
j and x
min
⁡
,
j are the lower and upper bounds of x
i
,
j.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:(2)
V
i
,
j
=
x
i
,
j
+
ϕ
i
,
j
∗
x
i
,
j
-
x
k
,
j
,where k
∈
(
1,2
,
…
,
SN
) and j
∈
(
1,2
,
…
,
D
) are random indexes; k is different from i; ϕ
i
,
j is a random number in the range [
-
1,1
]. 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:(3)
p
i
=
fitness
i
∑
i
=
1
n
fitness
i
,where fitness
i is the fitness value of the solution which is obtained by the following equation:(4)
fitness
i
=
1
1
+
f
i
,
f
i
≥
0
,
1
+
f
i
,
f
i
<
0
,where f
i 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:(5)
V
i
,
j
=
x
r
,
j
+
ϕ
i
,
j
∗
x
r
,
j
-
x
k
,
j
,where the index r, k is randomly chosen from (
1,2
,
…
,
SN
), and different from the index i. j
∈
(
1,2
,
…
,
D
) is a randomly chosen index. ϕ
i
,
j is a random number in the range [
-
1
,
1
].Differential evolution (DE) [17] is a simple and efficient evolutionary algorithm for many optimization problems in the real-world applications [18–22]. 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:(6)
V
i
,
j
=
x
best
,
j
+
ϕ
i
,
j
∗
x
best
,
j
-
x
k
,
j
,where the index k is a mutually exclusive integer randomly chosen from (
1,2
,
…
,
SN
), and different from the index i. x
best
,
j is the jth element of the global best solution and j
∈
(
1,2
,
…
,
D
) is a randomly chosen index. ϕ
i
,
j is a random number in the range [
-
1
,
1
]. 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 aroundx
i
,
j in GABC [13]. It is different from (6) in which the one is generated around x
best
,
j. 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], x
N
m
best represents the best solution among the neighbors of x
m and itself (N
m). But in the NABC, x
best
,
j 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 P.
Step 3. Calculate the function values f of the initial population P.
Step 4. The employed bees stage. Generate a new solution v
i
,
j by (5), if f
(
v
i
,
j
)
<
f
(
x
i
,
j
), x
i
,
j
=
v
i
,
j, trail
i
=
1, else trail
i
=
trail
i
+
1.
Step 5. Calculate the probability values p
i for the solutions x
i
,
j by (3).
Step 6 (the onlookers stage). If rand
<
p
i, generate a new solution v
i
,
j by (6), if f
(
v
i
,
j
)
<
f
(
x
i
,
j
), x
i
,
j
=
v
i
,
j, trail
i
=
1, else trail
i
=
trail
i
+
1.
Step 7 (the scouts stage). If trail
>
Limit, replace x
i
,
j 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.


## 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:(5)
V
i
,
j
=
x
r
,
j
+
ϕ
i
,
j
∗
x
r
,
j
-
x
k
,
j
,where the index r, k is randomly chosen from (
1,2
,
…
,
SN
), and different from the index i. j
∈
(
1,2
,
…
,
D
) is a randomly chosen index. ϕ
i
,
j is a random number in the range [
-
1
,
1
].Differential evolution (DE) [17] is a simple and efficient evolutionary algorithm for many optimization problems in the real-world applications [18–22]. 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:(6)
V
i
,
j
=
x
best
,
j
+
ϕ
i
,
j
∗
x
best
,
j
-
x
k
,
j
,where the index k is a mutually exclusive integer randomly chosen from (
1,2
,
…
,
SN
), and different from the index i. x
best
,
j is the jth element of the global best solution and j
∈
(
1,2
,
…
,
D
) is a randomly chosen index. ϕ
i
,
j is a random number in the range [
-
1
,
1
]. 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 aroundx
i
,
j in GABC [13]. It is different from (6) in which the one is generated around x
best
,
j. 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], x
N
m
best represents the best solution among the neighbors of x
m and itself (N
m). But in the NABC, x
best
,
j 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 P.
Step 3. Calculate the function values f of the initial population P.
Step 4. The employed bees stage. Generate a new solution v
i
,
j by (5), if f
(
v
i
,
j
)
<
f
(
x
i
,
j
), x
i
,
j
=
v
i
,
j, trail
i
=
1, else trail
i
=
trail
i
+
1.
Step 5. Calculate the probability values p
i for the solutions x
i
,
j by (3).
Step 6 (the onlookers stage). If rand
<
p
i, generate a new solution v
i
,
j by (6), if f
(
v
i
,
j
)
<
f
(
x
i
,
j
), x
i
,
j
=
v
i
,
j, trail
i
=
1, else trail
i
=
trail
i
+
1.
Step 7 (the scouts stage). If trail
>
Limit, replace x
i
,
j 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 Table1 to test the efficiency of the novel ABC algorithm. The smaller the final result, the better it is.Table 1
Benchmark functions used in experiments.
Fun
Name
Search range
Min
f
1
=
∑
i
=
1
n
x
i
2
Sphere
[−100, 100]
0
f
2
=
∑
i
=
1
n
i
x
i
2
Sumsquare
[−10, 10]
0
f
3
=
∑
i
=
1
n
x
i
+
∏
i
=
1
n
x
i
Schwefel2.22
[−10, 10]
0
f
4
=
max
⁡
x
i
,
1
≤
i
≤
n
Schwefel2.21
[−100, 100]
0
f
5
=
∑
i
=
1
n
x
i
+
0.5
2
Step
[−100, 100]
0
f
6
=
∑
i
=
1
n
100
x
i
2
-
x
i
+
1
2
+
x
i
-
1
2
Rosenbrock
[−5, 10]
0
f
7
=
∑
i
=
1
n
x
i
2
-
10
cos
⁡
2
π
x
i
+
10
Rastrigin
[−5.12, 5.12]
0
f
8
=
1
4000
∑
i
=
1
n
x
i
2
-
∏
i
=
1
n
cos
⁡
x
i
i
+
1
Griewank
[−600, 600]
0
f
9
=
418.98288727243369
∗
n
-
∑
i
=
1
n
x
i
sin
⁡
x
i
Schwefel2.26
[−500, 500]
0
f
10
=
-
20
exp
⁡
-
0.2
1
n
∑
i
=
1
n
x
i
2
-
exp
⁡
1
n
∑
i
=
1
n
cos
⁡
2
π
x
i
+
20
+
e
Ackley
[−32, 32]
0
f
11
=
1
n
∑
i
=
1
n
x
i
4
-
16
x
i
2
+
5
x
i
Himmelblau
[−5, 5]
−78.33236


### 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. Functionsf
1
–
f
4 are unimodal. Function f
5 is a discontinuous step function. The Rosenbrock function of f
6 which is unimodal when D
=
2 and 3 may have multiple minima in the high dimension case [18]. Functions f
7
–
f
11 are multimodal. To compare with other variance algorithms, the dimension D of every function is 30, 60, or 100, respectively, the same as [15]. The dimension D of f
11 is 150, 300, or 500. The maximum number of generations is 1500, 3000, or 5000, respectively. The population size is 100, namely, SN
=
50, and Limit is 200, which is the same as [15]. Each of the experiments is repeated 30 times independently.


### 4.3. Experimental Results

Figure1 graphically presents the convergence curves of f
1
–
f
10 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.Figure 1
Convergence curves of ABC and NABC algorithms forf
1
–
f
10 functions (D
=
30).The results of NABC compared with the standard ABC algorithm are shown in Table2 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 f
1
–
f
3, f
5, f
7
–
f
11 functions from Figure 1 and Table 2. NABC can find the optimal solutions on functions f
5, f
7, f
8. The convergence rate of NABC is the same order of magnitude as the standard ABC algorithm on f
6. 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.Table 2
Best, worst, median, mean, and standard deviation values obtained by ABC and NABC through 30 independent runs on 11 functions.
Function
Dim
Best
Worst
Median
Mean
SD
Significant
f
1
30
ABC
5.04
e
-
16
7.25
e
-
16
5.04
e
-
16
6.06
e
-
16
9.34
e
-
17
+
NABC
1.13
e
-
55
9.66
e
-
54
6.66
e
-
55
1.10
e
-
54
1.71
e
-
54
60
ABC
1.40
e
-
15
1.87
e
-
15
1.52
e
-
15
1.62
e
-
15
2.02
e
-
16
+
NABC
1.03
e
-
53
4.66
e
-
52
9.06
e
-
53
1.48
e
-
52
1.37
e
-
52
100
ABC
2.20
e
-
15
9.32
e
-
15
5.21
e
-
15
3.36
e
-
15
2.01
e
-
15
+
NABC
1.61
e
-
52
1.21
e
-
51
3.69
e
-
51
1.45
e
-
51
8.91
e
-
52
f
2
30
ABC
4.30
e
-
16
6.34
e
-
16
4.50
e
-
16
5.03
e
-
16
7.11
e
-
17
+
NABC
1.64
e
-
57
7.82
e
-
56
1.16
e
-
56
2.70
e
-
56
2.48
e
-
56
60
ABC
1.43
e
-
15
2.00
e
-
15
1.62
e
-
15
1.67
e
-
15
1.84
e
-
16
+
NABC
4.43
e
-
55
7.82
e
-
53
8.01
e
-
54
2.08
e
-
53
2.33
e
-
53
100
ABC
2.47
e
-
15
3.66
e
-
15
3.43
e
-
05
3.19
e
-
15
4.21
e
-
16
+
NABC
3.51
e
-
53
5.75
e
-
52
2.66
e
-
52
3.01
e
-
52
1.56
e
-
52
f
3
30
ABC
2.38
e
-
11
1.34
e
-
10
6.42
e
-
11
7.05
e
-
11
5.19
e
-
11
+
NABC
5.06
e
-
30
4.11
e
-
29
1.73
e
-
29
2.02
e
-
29
1.10
e
-
29
60
ABC
9.02
e
-
11
8.23
e
-
10
5.12
e
-
10
4.08
e
-
10
1.57
e
-
10
+
NABC
7.12
e
-
29
5.72
e
-
28
2.57
e
-
28
2.92
e
-
28
1.54
e
-
28
100
ABC
2.05
e
-
09
5.36
e
-
08
4.84
e
-
09
3.67
e
-
09
4.80
e
-
09
+
NABC
2.85
e
-
28
2.81
e
-
27
7.35
e
-
28
1.04
e
-
27
6.88
e
-
28
f
4
30
ABC
8.68
e
+
00
1.20
e
+
01
1.84
e
+
01
1.10
e
+
01
1.29
e
-
00
+
NABC
1.77
e
-
01
3.18
e
-
01
2.68
e
-
01
2.67
e
-
01
3.55
e
-
02
60
ABC
4.53
e
+
01
5.08
e
+
01
5.02
e
+
01
4.86
e
+
01
1.90
e
-
00
+
NABC
1.90
e
+
00
3.16
e
+
00
2.74
e
+
00
2.71
e
+
00
3.14
e
-
01
100
ABC
6.92
e
+
01
7.43
e
+
01
7.26
e
+
01
7.25
e
+
01
1.86
e
-
00
+
NABC
8.32
e
+
00
1.10
e
+
01
9.79
e
+
00
9.92
e
+
00
7.04
e
-
01
f
5
30
ABC
0
0
0
0
0
NABC
0
0
0
0
0
≈
60
ABC
0
0
0
0
0
NABC
0
0
0
0
0
≈
100
ABC
0
0
0
0
0
NABC
0
0
0
0
0
≈
f
6
30
ABC
8.12
e
-
03
1.68
e
-
01
1.33
e
-
02
4.86
e
-
02
4.84
e
-
02
≈
NABC
2.21
e
-
03
2.31
e
-
01
3.32
e
-
02
5.99
e
-
02
5.64
e
-
02
60
ABC
1.08
e
-
02
5.88
e
-
01
1.56
e
-
01
1.41
e
-
01
1.65
e
-
01
NABC
2.88
e
-
04
3.88
e
-
01
4.73
e
-
02
1.02
e
-
01
9.95
e
-
02
≈
100
ABC
3.57
e
-
02
9.94
e
-
01
1.45
e
-
01
2.97
e
-
01
3.64
e
-
01
NABC
2.92
e
-
04
1.03
e
+
00
2.16
e
-
01
3.50
e
-
01
3.28
e
-
01
≈
f
7
30
ABC
5.36
e
-
15
1.46
e
-
01
4.56
e
-
09
9.58
e
-
04
1.05
e
-
03
+
NABC
0
0
0
0
0
60
ABC
5.87
e
-
12
1.99
e
-
00
1.25
e
-
09
2.68
e
-
02
6.32
e
-
02
+
NABC
0
0
0
0
0
100
ABC
8.65
e
-
13
1.99
e
-
00
1.15
e
-
06
4.97
e
-
02
2.16
e
-
01
+
NABC
0
0
0
0
0
f
8
30
ABC
8.01
e
-
15
1.30
e
-
12
8.14
e
-
13
2.37
e
-
13
4.18
e
-
13
+
NABC
0
0
0
0
0
60
ABC
8.32
e
-
14
1.34
e
-
11
7.20
e
-
13
3.45
e
-
12
2.89
e
-
12
+
NABC
0
0
0
0
0
100
ABC
5.36
e
-
14
1.58
e
-
09
4.27
e
-
10
1.80
e
-
10
2.03
e
-
10
+
NABC
0
0
0
0
0
f
9
30
ABC
1.54
e
-
06
2.37
e
+
02
3.76
e
-
01
8.86
e
+
01
8.62
e
+
01
+
NABC
-
3.64
e
-
12
-
1.82
e
-
12
-
1.82
e
-
12
-
2.00
e
-
12
5.55
e
-
13
60
ABC
3.55
e
+
02
7.69
e
+
02
7.69
e
+
02
5.40
e
+
02
1.41
e
+
02
+
NABC
2.91
e
-
11
3.64
e
-
11
3.64
e
-
11
3.54
e
-
11
2.52
e
-
12
100
ABC
7.81
e
+
02
1.55
e
+
03
1.51
e
+
03
1.29
e
+
03
2.23
e
+
02
+
NABC
1.02
e
-
10
1.16
e
-
10
1.09
e
-
10
1.10
e
-
10
4.58
e
-
12
f
10
30
ABC
5.36
e
-
10
1.23
e
-
08
3.67
e
-
09
1.45
e
-
09
2.37
e
-
09
+
NABC
2.22
e
-
14
2.93
e
-
14
2.93
e
-
14
2.66
e
-
14
3.32
e
-
15
60
ABC
8.14
e
-
09
7.54
e
-
08
5.38
e
-
08
4.60
e
-
08
2.04
e
-
08
+
NABC
5.06
e
-
14
6.84
e
-
14
6.48
e
-
14
6.44
e
-
14
5.26
e
-
15
100
ABC
5.35
e
-
08
4.28
e
-
07
1.04
e
-
07
2.83
e
-
07
1.57
e
-
07
+
NABC
1.04
e
-
13
1.22
e
-
13
1.15
e
-
13
1.16
e
-
13
4.75
e
-
15
f
11
150
ABC
-
77.4221
-
76.9602
-
77.0460
-
77.1658
2.11
e
-
01
+
NABC
-
78.3323
-
78.3323
-
78.3323
-
78.3323
1.45
e
-
14
300
ABC
-
77.0391
-
76.8430
-
77.0391
-
76.9258
6.76
e
-
02
+
NABC
-
78.3323
-
78.3323
-
78.3323
-
78.3323
1.45
e
-
14
500
ABC
-
76.8562
-
76.5849
-
76.8562
-
76.7220
9.52
e
-
02
+
NABC
-
78.3323
-
78.3323
-
78.3323
-
78.3323
1.45
e
-
14NABC 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.Table 3
Comparison among GABC, EABC, and NABC on optimizing 8 benchmark functions.
Function
Max.FEs
Dim
GABC
EABC
NABC
Mean
SD
Mean
SD
Mean
SD
Sphere
150,000
30
1.37
e
-
25
2.70
e
-
25
4.42
e
-
67
2.71
e
-
67
1.10
e
-
54
1.71
e
-
54
300,000
60
4.86
e
-
23
5.14
e
-
23
2.30
e
-
64
1.03
e
-
64
1.48
e
-
52
1.37
e
-
52
500,000
100
9.05
e
-
22
4.28
e
-
22
6.37
e
-
63
2.55
e
-
63
1.45
e
-
51
8.91
e
-
52
Schwefel2.22
150,000
30
5.56
e
-
15
9.79
e
-
15
5.51
e
-
35
7.02
e
-
35
2.02
e
-
29
1.10
e
-
29
300,000
60
5.61
e
-
14
9.93
e
-
15
5.08
e
-
33
1.95
e
-
34
2.92
e
-
28
1.54
e
-
28
500,000
100
2.29
e
-
13
3.97
e
-
13
4.68
e
-
32
1.42
e
-
32
1.04
e
-
27
6.88
e
-
28
Schwefel2.21
150,000
30
3.07
e
-
00
4.72
e
-
01
6.46
e
-
01
1.03
e
-
01
2.67
e
-
01
3.55
e
-
02
300,000
60
3.85
e
+
01
3.42
e
-
00
2.49
e
+
01
2.04
e
-
00
2.71
e
+
00
3.14
e
-
01
500,000
100
7.04
e
+
01
1.20
e
-
00
6.19
e
+
01
1.24
e
-
00
9.92
e
+
00
7.04
e
-
01
Rosenbrock
150,000
30
1.30
e
-
00
1.64
e
-
00
8.67
e
-
02
7.48
e
-
02
5.99
e
-
02
5.64
e
-
02
300,000
60
1.66
e
+
01
3.28
e
+
01
2.03
e
-
01
1.32
e
-
01
1.02
e
-
01
9.95
e
-
02
500,000
100
2.39
e
+
01
3.34
e
+
01
5.03
e
-
01
8.82
e
-
01
3.50
e
-
01
3.28
e
-
01
Griewank
100,000
30
1.40
e
-
08
1.16
e
-
08
0
0
0
0
150,000
60
1.58
e
-
06
1.00
e
-
06
0
0
0
0
250,000
100
2.44
e
-
06
2.50
e
-
06
0
0
0
0
Rastrigin
100,000
30
7.08
e
-
03
1.19
e
-
03
0
0
0
0
150,000
60
3.47
e
-
00
8.78
e
-
01
0
0
0
0
250,000
100
9.78
e
-
00
2.91
e
-
00
0
0
0
0
Schwefel2.26
50,000
30
6.38
e
-
00
2.38
e
+
01
0
0
1.7
1
e
-
09
3.01
e
-
10
100,000
60
3.30
e
+
01
4.94
e
+
01
3.92
e
-
11
3.56
e
-
12
1
.
24
e
-
09
5.02
e
-
09
200,000
100
6.05
e
+
01
8.05
e
+
01
1.12
e
-
10
3.56
e
-
12
1.2
2
e
-
10
2.97
e
-
11
Ackley
50,000
30
6.45
e
-
03
2.68
e
-
03
3.39
e
-
10
6.95
e
-
11
2.04
e
-
08
4.72
e
-
09
100,000
60
2.96
e
-
03
2.14
e
-
03
1.81
e
-
09
2.70
e
-
10
4.45
e
-
08
1.50
e
-
08
150,000
100
6.01
e
-
02
9.60
e
-
02
4.53
e
-
08
1.23
e
-
08
6.01
e
-
07
3.23
e
-
07Table 4
Comparison among ABC, EABC, and NABC on optimizing 4 benchmark functions withD
=
30, 60, 100.
Function
Dim
ABC
EABC
NABC
Mean
SD
Mean
SD
Mean
SD
Schwefel2.21
30
1.10
e
+
01
1.29
e
-
00
6.46
e
-
01
1.03
e
-
01
2.67
e
-
01
3.55
e
-
02
60
4.86
e
+
01
1.90
e
-
00
2.49
e
+
01
2.04
e
-
00
2.71
e
+
00
3.14
e
-
01
100
7.25
e
+
01
1.86
e
-
00
6.19
e
+
01
1.24
e
-
00
9.92
e
+
00
7.04
e
-
01
Rosenbrock
30
4.86
e
-
02
4.84
e
-
02
8.67
e
-
02
7.48
e
-
02
5.99
e
-
02
5.64
e
-
02
60
1.41
e
-
01
1.65
e
-
01
2.03
e
-
01
1.32
e
-
01
1.02
e
-
01
9.95
e
-
02
100
2.97
e
-
01
3.64
e
-
01
5.03
e
-
01
8.82
e
-
01
3.50
e
-
01
3.28
e
-
01
Schwefel2.26
30
8.86
e
+
01
8.62
e
+
01
-
1.23
e
-
13
1.09
e
-
13
-
2.00
e
-
12
5.55
e
-
13
60
5.40
e
+
02
1.41
e
+
02
2.91
e
-
11
0
3.54
e
-
11
2.52
e
-
12
100
1.29
e
+
03
2.23
e
+
02
9.45
e
-
11
0
1.10
e
-
10
4.58
e
-
12
Ackley
30
1.45
e
-
09
2.37
e
-
09
1.36
e
-
14
1.74
e
-
15
2.66
e
-
14
3.32
e
-
15
60
4.60
e
-
08
2.04
e
-
08
4.49
e
-
14
2.84
e
-
15
6.44
e
-
14
5.26
e
-
15
100
2.83
e
-
07
1.57
e
-
07
9.53
e
-
14
2.84
e
-
15
1.16
e
-
13
4.75
e
-
15At 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 Maxgen∗SN. It can be seen that NABC is better on almost all the test functions except Ackley in JADE and OLPSO-G.Table 5
Comparison among NABC, DE, jDE, JADE, and SaDE on optimizing 8 benchmark functions withD
=
30.
Function
Max.FEs
DE
jDE
JADE
SaDE
NABC
Sphere
150,000
Mean
9.8
e
-
14
1.46
e
-
28
1.32
e
-
54
3.28
e
-
20
1.10
e
-
54
SD
8.4
e
-
14
1.78
e
-
28
9.22
e
-
54
3.62
e
-
20
1.71
e
-
54
Schwefel2.22
200,000
Mean
1.6
e
-
09
9.02
e
-
24
3.18
e
-
25
3.51
e
-
25
7.20
e
-
40
SD
1.1
e
-
09
6.01
e
-
24
2.05
e
-
25
2.74
e
-
25
3.33
e
-
40
Step
10,000
Mean
4.7
e
+
03
6.13
e
+
02
5.62
e
+
00
5.07
e
+
01
0
SD
1.1
e
+
03
1.72
e
+
02
1.87
e
+
00
1.34
e
+
01
0
Rosenbrock
300,000
Mean
2.1
e
+
00
1.3
e
+
01
3.2
e
-
01
2.1
e
+
01
4.22
e
-
02
SD
1.5
e
+
00
1.4
e
+
01
1.1
e
+
00
7.8
e
+
00
4.93
e
-
02
Griewank
50,000
Mean
2.0
e
-
01
7.29
e
-
06
1.57
e
-
08
2.52
e
-
09
1.09
e
-
08
SD
1.1
e
-
01
1.05
e
-
05
1.09
e
-
07
1.24
e
-
08
2.86
e
-
08
Rastrigin
100,000
Mean
1.8
e
+
02
3.32
e
-
04
1.33
e
-
01
2.43
e
+
00
0
SD
1.3
e
+
01
6.39
e
-
04
9.74
e
-
02
1.60
e
+
00
0
Ackley
50,000
Mean
1.1
e
-
01
2.37
e
-
04
3.35
e
-
09
3.81
e
-
06
2.04
e
-
08
SD
3.9
e
-
02
7.10
e
-
05
2.84
e
-
09
8.26
e
-
07
4.72
e
-
09
Schwefel2.26
100,000
Mean
5.9
e
+
03
1.70
e
-
10
2.62
e
-
04
1.13
e
-
08
-
1.94
e
-
12
SD
1.1
e
+
03
1.71
e
-
10
3.59
e
-
04
1.08
e
-
08
4.61
e
-
13Table 6
Comparison among NABC, FIPS, HPSO-TVAC, CLPSO, FPSO, and OLPSO-G on optimizing 8 benchmark functions with 200,000 FEs.
Function
FIPS
HPSO-TVAC
CLPSO
FPSO
OLPSO-G
NABC
Sphere
Mean
2.42
e
-
13
2.83
e
-
33
1.58
e
-
12
2.40
e
-
16
4.12
e
-
54
5.45
e
-
75
SD
1.73
e
-
13
3.19
e
-
33
7.70
e
-
13
2.00
e
-
31
6.34
e
-
54
3.55
e
-
75
Schwefel2.22
Mean
2.76
e
-
08
9.03
e
-
20
2.51
e
-
08
1.58
e
-
11
9.85
e
-
30
7.20
e
-
40
SD
9.04
e
-
09
9.58
e
-
20
5.84
e
-
09
1.03
e
-
22
1.01
e
-
29
3.33
e
-
40
Step
Mean
0
0
0
0
0
0
SD
0
0
0
0
0
0
Rosenbrock
Mean
2.51
e
+
01
2.39
e
+
01
1.13
e
+
01
2.81
e
+
01
2.15
e
+
01
6.33
e
-
02
SD
5.10
e
-
01
2.65
e
+
01
9.85
e
-
00
2.31
e
+
02
2.99
e
+
01
6.34
e
-
02
Griewank
Mean
9.01
e
-
12
9.75
e
-
03
9.02
e
-
09
1.47
e
-
03
4.83
e
-
03
0
SD
1.84
e
-
11
8.33
e
-
03
8.57
e
-
09
1.28
e
-
05
8.63
e
-
03
0
Rastrigin
Mean
6.51
e
+
01
9.43
e
-
00
9.09
e
-
05
7.38
e
+
01
1.07
e
-
00
0
SD
1.33
e
+
01
3.48
e
-
00
1.25
e
-
04
3.70
e
+
02
9.92
e
-
01
0
Ackley
Mean
2.33
e
-
07
7.29
e
-
14
3.66
e
-
07
2.17
e
-
09
7.98
e
-
15
2.78
e
-
14
SD
7.19
e
-
08
3.00
e
-
14
7.57
e
-
08
1.71
e
-
18
2.03
e
-
15
2.59
e
-
15
Schwefel2.26
Mean
9.93
e
+
02
1.59
e
+
03
3.82
e
-
04
1.34
e
+
03
3.84
e
+
02
-
2.43
e
-
12
SD
5.09
e
+
02
3.26
e
+
02
1.28
e
-
05
2.77
e
+
02
2.17
e
+
02
8.72
e
-
13In Table7, 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.Table 7
Execution time of ABC and NABC algorithm withD
=
30,60,100 (second).
Dim
Algorithm
f
1
f
2
f
3
f
4
f
5
f
6
f
7
f
8
f
9
f
10
30
ABC
19.850
25.535
33.363
18.768
3.969
32.338
40.942
78.680
94.332
47.626
NABC
17.661
25.697
36.352
20.056
2.768
30.612
18.229
31.331
77.497
42.660
60
ABC
43.236
72.503
104.475
47.454
12.304
81.891
185.687
259.944
322.573
205.303
NABC
44.900
73.449
108.912
47.991
8.202
80.281
95.126
129.497
265.051
186.870
100
ABC
89.402
163.012
255.115
92.929
37.074
180.789
371.414
574.304
841.482
410.198
NABC
88.507
168.964
255.134
91.418
21.081
175.828
334.624
308.107
687.463
365.939


## 4.1. Numerical Functions

It is applied to minimize a set of 11 scalable benchmark functions in Table1 to test the efficiency of the novel ABC algorithm. The smaller the final result, the better it is.Table 1
Benchmark functions used in experiments.
Fun
Name
Search range
Min
f
1
=
∑
i
=
1
n
x
i
2
Sphere
[−100, 100]
0
f
2
=
∑
i
=
1
n
i
x
i
2
Sumsquare
[−10, 10]
0
f
3
=
∑
i
=
1
n
x
i
+
∏
i
=
1
n
x
i
Schwefel2.22
[−10, 10]
0
f
4
=
max
⁡
x
i
,
1
≤
i
≤
n
Schwefel2.21
[−100, 100]
0
f
5
=
∑
i
=
1
n
x
i
+
0.5
2
Step
[−100, 100]
0
f
6
=
∑
i
=
1
n
100
x
i
2
-
x
i
+
1
2
+
x
i
-
1
2
Rosenbrock
[−5, 10]
0
f
7
=
∑
i
=
1
n
x
i
2
-
10
cos
⁡
2
π
x
i
+
10
Rastrigin
[−5.12, 5.12]
0
f
8
=
1
4000
∑
i
=
1
n
x
i
2
-
∏
i
=
1
n
cos
⁡
x
i
i
+
1
Griewank
[−600, 600]
0
f
9
=
418.98288727243369
∗
n
-
∑
i
=
1
n
x
i
sin
⁡
x
i
Schwefel2.26
[−500, 500]
0
f
10
=
-
20
exp
⁡
-
0.2
1
n
∑
i
=
1
n
x
i
2
-
exp
⁡
1
n
∑
i
=
1
n
cos
⁡
2
π
x
i
+
20
+
e
Ackley
[−32, 32]
0
f
11
=
1
n
∑
i
=
1
n
x
i
4
-
16
x
i
2
+
5
x
i
Himmelblau
[−5, 5]
−78.33236


## 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. Functionsf
1
–
f
4 are unimodal. Function f
5 is a discontinuous step function. The Rosenbrock function of f
6 which is unimodal when D
=
2 and 3 may have multiple minima in the high dimension case [18]. Functions f
7
–
f
11 are multimodal. To compare with other variance algorithms, the dimension D of every function is 30, 60, or 100, respectively, the same as [15]. The dimension D of f
11 is 150, 300, or 500. The maximum number of generations is 1500, 3000, or 5000, respectively. The population size is 100, namely, SN
=
50, and Limit is 200, which is the same as [15]. Each of the experiments is repeated 30 times independently.


## 4.3. Experimental Results

Figure1 graphically presents the convergence curves of f
1
–
f
10 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.Figure 1
Convergence curves of ABC and NABC algorithms forf
1
–
f
10 functions (D
=
30).The results of NABC compared with the standard ABC algorithm are shown in Table2 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 f
1
–
f
3, f
5, f
7
–
f
11 functions from Figure 1 and Table 2. NABC can find the optimal solutions on functions f
5, f
7, f
8. The convergence rate of NABC is the same order of magnitude as the standard ABC algorithm on f
6. 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.Table 2
Best, worst, median, mean, and standard deviation values obtained by ABC and NABC through 30 independent runs on 11 functions.
Function
Dim
Best
Worst
Median
Mean
SD
Significant
f
1
30
ABC
5.04
e
-
16
7.25
e
-
16
5.04
e
-
16
6.06
e
-
16
9.34
e
-
17
+
NABC
1.13
e
-
55
9.66
e
-
54
6.66
e
-
55
1.10
e
-
54
1.71
e
-
54
60
ABC
1.40
e
-
15
1.87
e
-
15
1.52
e
-
15
1.62
e
-
15
2.02
e
-
16
+
NABC
1.03
e
-
53
4.66
e
-
52
9.06
e
-
53
1.48
e
-
52
1.37
e
-
52
100
ABC
2.20
e
-
15
9.32
e
-
15
5.21
e
-
15
3.36
e
-
15
2.01
e
-
15
+
NABC
1.61
e
-
52
1.21
e
-
51
3.69
e
-
51
1.45
e
-
51
8.91
e
-
52
f
2
30
ABC
4.30
e
-
16
6.34
e
-
16
4.50
e
-
16
5.03
e
-
16
7.11
e
-
17
+
NABC
1.64
e
-
57
7.82
e
-
56
1.16
e
-
56
2.70
e
-
56
2.48
e
-
56
60
ABC
1.43
e
-
15
2.00
e
-
15
1.62
e
-
15
1.67
e
-
15
1.84
e
-
16
+
NABC
4.43
e
-
55
7.82
e
-
53
8.01
e
-
54
2.08
e
-
53
2.33
e
-
53
100
ABC
2.47
e
-
15
3.66
e
-
15
3.43
e
-
05
3.19
e
-
15
4.21
e
-
16
+
NABC
3.51
e
-
53
5.75
e
-
52
2.66
e
-
52
3.01
e
-
52
1.56
e
-
52
f
3
30
ABC
2.38
e
-
11
1.34
e
-
10
6.42
e
-
11
7.05
e
-
11
5.19
e
-
11
+
NABC
5.06
e
-
30
4.11
e
-
29
1.73
e
-
29
2.02
e
-
29
1.10
e
-
29
60
ABC
9.02
e
-
11
8.23
e
-
10
5.12
e
-
10
4.08
e
-
10
1.57
e
-
10
+
NABC
7.12
e
-
29
5.72
e
-
28
2.57
e
-
28
2.92
e
-
28
1.54
e
-
28
100
ABC
2.05
e
-
09
5.36
e
-
08
4.84
e
-
09
3.67
e
-
09
4.80
e
-
09
+
NABC
2.85
e
-
28
2.81
e
-
27
7.35
e
-
28
1.04
e
-
27
6.88
e
-
28
f
4
30
ABC
8.68
e
+
00
1.20
e
+
01
1.84
e
+
01
1.10
e
+
01
1.29
e
-
00
+
NABC
1.77
e
-
01
3.18
e
-
01
2.68
e
-
01
2.67
e
-
01
3.55
e
-
02
60
ABC
4.53
e
+
01
5.08
e
+
01
5.02
e
+
01
4.86
e
+
01
1.90
e
-
00
+
NABC
1.90
e
+
00
3.16
e
+
00
2.74
e
+
00
2.71
e
+
00
3.14
e
-
01
100
ABC
6.92
e
+
01
7.43
e
+
01
7.26
e
+
01
7.25
e
+
01
1.86
e
-
00
+
NABC
8.32
e
+
00
1.10
e
+
01
9.79
e
+
00
9.92
e
+
00
7.04
e
-
01
f
5
30
ABC
0
0
0
0
0
NABC
0
0
0
0
0
≈
60
ABC
0
0
0
0
0
NABC
0
0
0
0
0
≈
100
ABC
0
0
0
0
0
NABC
0
0
0
0
0
≈
f
6
30
ABC
8.12
e
-
03
1.68
e
-
01
1.33
e
-
02
4.86
e
-
02
4.84
e
-
02
≈
NABC
2.21
e
-
03
2.31
e
-
01
3.32
e
-
02
5.99
e
-
02
5.64
e
-
02
60
ABC
1.08
e
-
02
5.88
e
-
01
1.56
e
-
01
1.41
e
-
01
1.65
e
-
01
NABC
2.88
e
-
04
3.88
e
-
01
4.73
e
-
02
1.02
e
-
01
9.95
e
-
02
≈
100
ABC
3.57
e
-
02
9.94
e
-
01
1.45
e
-
01
2.97
e
-
01
3.64
e
-
01
NABC
2.92
e
-
04
1.03
e
+
00
2.16
e
-
01
3.50
e
-
01
3.28
e
-
01
≈
f
7
30
ABC
5.36
e
-
15
1.46
e
-
01
4.56
e
-
09
9.58
e
-
04
1.05
e
-
03
+
NABC
0
0
0
0
0
60
ABC
5.87
e
-
12
1.99
e
-
00
1.25
e
-
09
2.68
e
-
02
6.32
e
-
02
+
NABC
0
0
0
0
0
100
ABC
8.65
e
-
13
1.99
e
-
00
1.15
e
-
06
4.97
e
-
02
2.16
e
-
01
+
NABC
0
0
0
0
0
f
8
30
ABC
8.01
e
-
15
1.30
e
-
12
8.14
e
-
13
2.37
e
-
13
4.18
e
-
13
+
NABC
0
0
0
0
0
60
ABC
8.32
e
-
14
1.34
e
-
11
7.20
e
-
13
3.45
e
-
12
2.89
e
-
12
+
NABC
0
0
0
0
0
100
ABC
5.36
e
-
14
1.58
e
-
09
4.27
e
-
10
1.80
e
-
10
2.03
e
-
10
+
NABC
0
0
0
0
0
f
9
30
ABC
1.54
e
-
06
2.37
e
+
02
3.76
e
-
01
8.86
e
+
01
8.62
e
+
01
+
NABC
-
3.64
e
-
12
-
1.82
e
-
12
-
1.82
e
-
12
-
2.00
e
-
12
5.55
e
-
13
60
ABC
3.55
e
+
02
7.69
e
+
02
7.69
e
+
02
5.40
e
+
02
1.41
e
+
02
+
NABC
2.91
e
-
11
3.64
e
-
11
3.64
e
-
11
3.54
e
-
11
2.52
e
-
12
100
ABC
7.81
e
+
02
1.55
e
+
03
1.51
e
+
03
1.29
e
+
03
2.23
e
+
02
+
NABC
1.02
e
-
10
1.16
e
-
10
1.09
e
-
10
1.10
e
-
10
4.58
e
-
12
f
10
30
ABC
5.36
e
-
10
1.23
e
-
08
3.67
e
-
09
1.45
e
-
09
2.37
e
-
09
+
NABC
2.22
e
-
14
2.93
e
-
14
2.93
e
-
14
2.66
e
-
14
3.32
e
-
15
60
ABC
8.14
e
-
09
7.54
e
-
08
5.38
e
-
08
4.60
e
-
08
2.04
e
-
08
+
NABC
5.06
e
-
14
6.84
e
-
14
6.48
e
-
14
6.44
e
-
14
5.26
e
-
15
100
ABC
5.35
e
-
08
4.28
e
-
07
1.04
e
-
07
2.83
e
-
07
1.57
e
-
07
+
NABC
1.04
e
-
13
1.22
e
-
13
1.15
e
-
13
1.16
e
-
13
4.75
e
-
15
f
11
150
ABC
-
77.4221
-
76.9602
-
77.0460
-
77.1658
2.11
e
-
01
+
NABC
-
78.3323
-
78.3323
-
78.3323
-
78.3323
1.45
e
-
14
300
ABC
-
77.0391
-
76.8430
-
77.0391
-
76.9258
6.76
e
-
02
+
NABC
-
78.3323
-
78.3323
-
78.3323
-
78.3323
1.45
e
-
14
500
ABC
-
76.8562
-
76.5849
-
76.8562
-
76.7220
9.52
e
-
02
+
NABC
-
78.3323
-
78.3323
-
78.3323
-
78.3323
1.45
e
-
14NABC 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.Table 3
Comparison among GABC, EABC, and NABC on optimizing 8 benchmark functions.
Function
Max.FEs
Dim
GABC
EABC
NABC
Mean
SD
Mean
SD
Mean
SD
Sphere
150,000
30
1.37
e
-
25
2.70
e
-
25
4.42
e
-
67
2.71
e
-
67
1.10
e
-
54
1.71
e
-
54
300,000
60
4.86
e
-
23
5.14
e
-
23
2.30
e
-
64
1.03
e
-
64
1.48
e
-
52
1.37
e
-
52
500,000
100
9.05
e
-
22
4.28
e
-
22
6.37
e
-
63
2.55
e
-
63
1.45
e
-
51
8.91
e
-
52
Schwefel2.22
150,000
30
5.56
e
-
15
9.79
e
-
15
5.51
e
-
35
7.02
e
-
35
2.02
e
-
29
1.10
e
-
29
300,000
60
5.61
e
-
14
9.93
e
-
15
5.08
e
-
33
1.95
e
-
34
2.92
e
-
28
1.54
e
-
28
500,000
100
2.29
e
-
13
3.97
e
-
13
4.68
e
-
32
1.42
e
-
32
1.04
e
-
27
6.88
e
-
28
Schwefel2.21
150,000
30
3.07
e
-
00
4.72
e
-
01
6.46
e
-
01
1.03
e
-
01
2.67
e
-
01
3.55
e
-
02
300,000
60
3.85
e
+
01
3.42
e
-
00
2.49
e
+
01
2.04
e
-
00
2.71
e
+
00
3.14
e
-
01
500,000
100
7.04
e
+
01
1.20
e
-
00
6.19
e
+
01
1.24
e
-
00
9.92
e
+
00
7.04
e
-
01
Rosenbrock
150,000
30
1.30
e
-
00
1.64
e
-
00
8.67
e
-
02
7.48
e
-
02
5.99
e
-
02
5.64
e
-
02
300,000
60
1.66
e
+
01
3.28
e
+
01
2.03
e
-
01
1.32
e
-
01
1.02
e
-
01
9.95
e
-
02
500,000
100
2.39
e
+
01
3.34
e
+
01
5.03
e
-
01
8.82
e
-
01
3.50
e
-
01
3.28
e
-
01
Griewank
100,000
30
1.40
e
-
08
1.16
e
-
08
0
0
0
0
150,000
60
1.58
e
-
06
1.00
e
-
06
0
0
0
0
250,000
100
2.44
e
-
06
2.50
e
-
06
0
0
0
0
Rastrigin
100,000
30
7.08
e
-
03
1.19
e
-
03
0
0
0
0
150,000
60
3.47
e
-
00
8.78
e
-
01
0
0
0
0
250,000
100
9.78
e
-
00
2.91
e
-
00
0
0
0
0
Schwefel2.26
50,000
30
6.38
e
-
00
2.38
e
+
01
0
0
1.7
1
e
-
09
3.01
e
-
10
100,000
60
3.30
e
+
01
4.94
e
+
01
3.92
e
-
11
3.56
e
-
12
1
.
24
e
-
09
5.02
e
-
09
200,000
100
6.05
e
+
01
8.05
e
+
01
1.12
e
-
10
3.56
e
-
12
1.2
2
e
-
10
2.97
e
-
11
Ackley
50,000
30
6.45
e
-
03
2.68
e
-
03
3.39
e
-
10
6.95
e
-
11
2.04
e
-
08
4.72
e
-
09
100,000
60
2.96
e
-
03
2.14
e
-
03
1.81
e
-
09
2.70
e
-
10
4.45
e
-
08
1.50
e
-
08
150,000
100
6.01
e
-
02
9.60
e
-
02
4.53
e
-
08
1.23
e
-
08
6.01
e
-
07
3.23
e
-
07Table 4
Comparison among ABC, EABC, and NABC on optimizing 4 benchmark functions withD
=
30, 60, 100.
Function
Dim
ABC
EABC
NABC
Mean
SD
Mean
SD
Mean
SD
Schwefel2.21
30
1.10
e
+
01
1.29
e
-
00
6.46
e
-
01
1.03
e
-
01
2.67
e
-
01
3.55
e
-
02
60
4.86
e
+
01
1.90
e
-
00
2.49
e
+
01
2.04
e
-
00
2.71
e
+
00
3.14
e
-
01
100
7.25
e
+
01
1.86
e
-
00
6.19
e
+
01
1.24
e
-
00
9.92
e
+
00
7.04
e
-
01
Rosenbrock
30
4.86
e
-
02
4.84
e
-
02
8.67
e
-
02
7.48
e
-
02
5.99
e
-
02
5.64
e
-
02
60
1.41
e
-
01
1.65
e
-
01
2.03
e
-
01
1.32
e
-
01
1.02
e
-
01
9.95
e
-
02
100
2.97
e
-
01
3.64
e
-
01
5.03
e
-
01
8.82
e
-
01
3.50
e
-
01
3.28
e
-
01
Schwefel2.26
30
8.86
e
+
01
8.62
e
+
01
-
1.23
e
-
13
1.09
e
-
13
-
2.00
e
-
12
5.55
e
-
13
60
5.40
e
+
02
1.41
e
+
02
2.91
e
-
11
0
3.54
e
-
11
2.52
e
-
12
100
1.29
e
+
03
2.23
e
+
02
9.45
e
-
11
0
1.10
e
-
10
4.58
e
-
12
Ackley
30
1.45
e
-
09
2.37
e
-
09
1.36
e
-
14
1.74
e
-
15
2.66
e
-
14
3.32
e
-
15
60
4.60
e
-
08
2.04
e
-
08
4.49
e
-
14
2.84
e
-
15
6.44
e
-
14
5.26
e
-
15
100
2.83
e
-
07
1.57
e
-
07
9.53
e
-
14
2.84
e
-
15
1.16
e
-
13
4.75
e
-
15At 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 Maxgen∗SN. It can be seen that NABC is better on almost all the test functions except Ackley in JADE and OLPSO-G.Table 5
Comparison among NABC, DE, jDE, JADE, and SaDE on optimizing 8 benchmark functions withD
=
30.
Function
Max.FEs
DE
jDE
JADE
SaDE
NABC
Sphere
150,000
Mean
9.8
e
-
14
1.46
e
-
28
1.32
e
-
54
3.28
e
-
20
1.10
e
-
54
SD
8.4
e
-
14
1.78
e
-
28
9.22
e
-
54
3.62
e
-
20
1.71
e
-
54
Schwefel2.22
200,000
Mean
1.6
e
-
09
9.02
e
-
24
3.18
e
-
25
3.51
e
-
25
7.20
e
-
40
SD
1.1
e
-
09
6.01
e
-
24
2.05
e
-
25
2.74
e
-
25
3.33
e
-
40
Step
10,000
Mean
4.7
e
+
03
6.13
e
+
02
5.62
e
+
00
5.07
e
+
01
0
SD
1.1
e
+
03
1.72
e
+
02
1.87
e
+
00
1.34
e
+
01
0
Rosenbrock
300,000
Mean
2.1
e
+
00
1.3
e
+
01
3.2
e
-
01
2.1
e
+
01
4.22
e
-
02
SD
1.5
e
+
00
1.4
e
+
01
1.1
e
+
00
7.8
e
+
00
4.93
e
-
02
Griewank
50,000
Mean
2.0
e
-
01
7.29
e
-
06
1.57
e
-
08
2.52
e
-
09
1.09
e
-
08
SD
1.1
e
-
01
1.05
e
-
05
1.09
e
-
07
1.24
e
-
08
2.86
e
-
08
Rastrigin
100,000
Mean
1.8
e
+
02
3.32
e
-
04
1.33
e
-
01
2.43
e
+
00
0
SD
1.3
e
+
01
6.39
e
-
04
9.74
e
-
02
1.60
e
+
00
0
Ackley
50,000
Mean
1.1
e
-
01
2.37
e
-
04
3.35
e
-
09
3.81
e
-
06
2.04
e
-
08
SD
3.9
e
-
02
7.10
e
-
05
2.84
e
-
09
8.26
e
-
07
4.72
e
-
09
Schwefel2.26
100,000
Mean
5.9
e
+
03
1.70
e
-
10
2.62
e
-
04
1.13
e
-
08
-
1.94
e
-
12
SD
1.1
e
+
03
1.71
e
-
10
3.59
e
-
04
1.08
e
-
08
4.61
e
-
13Table 6
Comparison among NABC, FIPS, HPSO-TVAC, CLPSO, FPSO, and OLPSO-G on optimizing 8 benchmark functions with 200,000 FEs.
Function
FIPS
HPSO-TVAC
CLPSO
FPSO
OLPSO-G
NABC
Sphere
Mean
2.42
e
-
13
2.83
e
-
33
1.58
e
-
12
2.40
e
-
16
4.12
e
-
54
5.45
e
-
75
SD
1.73
e
-
13
3.19
e
-
33
7.70
e
-
13
2.00
e
-
31
6.34
e
-
54
3.55
e
-
75
Schwefel2.22
Mean
2.76
e
-
08
9.03
e
-
20
2.51
e
-
08
1.58
e
-
11
9.85
e
-
30
7.20
e
-
40
SD
9.04
e
-
09
9.58
e
-
20
5.84
e
-
09
1.03
e
-
22
1.01
e
-
29
3.33
e
-
40
Step
Mean
0
0
0
0
0
0
SD
0
0
0
0
0
0
Rosenbrock
Mean
2.51
e
+
01
2.39
e
+
01
1.13
e
+
01
2.81
e
+
01
2.15
e
+
01
6.33
e
-
02
SD
5.10
e
-
01
2.65
e
+
01
9.85
e
-
00
2.31
e
+
02
2.99
e
+
01
6.34
e
-
02
Griewank
Mean
9.01
e
-
12
9.75
e
-
03
9.02
e
-
09
1.47
e
-
03
4.83
e
-
03
0
SD
1.84
e
-
11
8.33
e
-
03
8.57
e
-
09
1.28
e
-
05
8.63
e
-
03
0
Rastrigin
Mean
6.51
e
+
01
9.43
e
-
00
9.09
e
-
05
7.38
e
+
01
1.07
e
-
00
0
SD
1.33
e
+
01
3.48
e
-
00
1.25
e
-
04
3.70
e
+
02
9.92
e
-
01
0
Ackley
Mean
2.33
e
-
07
7.29
e
-
14
3.66
e
-
07
2.17
e
-
09
7.98
e
-
15
2.78
e
-
14
SD
7.19
e
-
08
3.00
e
-
14
7.57
e
-
08
1.71
e
-
18
2.03
e
-
15
2.59
e
-
15
Schwefel2.26
Mean
9.93
e
+
02
1.59
e
+
03
3.82
e
-
04
1.34
e
+
03
3.84
e
+
02
-
2.43
e
-
12
SD
5.09
e
+
02
3.26
e
+
02
1.28
e
-
05
2.77
e
+
02
2.17
e
+
02
8.72
e
-
13In Table7, 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.Table 7
Execution time of ABC and NABC algorithm withD
=
30,60,100 (second).
Dim
Algorithm
f
1
f
2
f
3
f
4
f
5
f
6
f
7
f
8
f
9
f
10
30
ABC
19.850
25.535
33.363
18.768
3.969
32.338
40.942
78.680
94.332
47.626
NABC
17.661
25.697
36.352
20.056
2.768
30.612
18.229
31.331
77.497
42.660
60
ABC
43.236
72.503
104.475
47.454
12.304
81.891
185.687
259.944
322.573
205.303
NABC
44.900
73.449
108.912
47.991
8.202
80.281
95.126
129.497
265.051
186.870
100
ABC
89.402
163.012
255.115
92.929
37.074
180.789
371.414
574.304
841.482
410.198
NABC
88.507
168.964
255.134
91.418
21.081
175.828
334.624
308.107
687.463
365.939


## 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: (7)
min
⁡
⁡
f
x
=
-
∑
i
=
1
n
p
i
x
i
+
α
∗
max
⁡
⁡
0
,
∑
i
=
1
n
w
i
x
i
-
c
,where w
i is each item’s weight and p
i is each item’s profit, respectively. The knapsack has a limited weight capability of c. 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 x
i is the value one if the item i 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 c. α is a penalty factor which is set to 10
e
-
20 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, SN
=
50, and Limit is 10. Each of the experiments is repeated 30 times independently.Table 8
The five benchmark knapsack problems.
f
Dim
Parameter (w
,
p
,
c)
f
1
10
w = (95, 4, 60, 32, 23, 72, 80, 62, 65, 46); p = (55, 10, 47, 5, 4, 50, 8, 61, 85, 87); c = 269
f
2
20
w = (92, 4, 43, 83, 84, 68, 92, 82, 6, 44, 32, 18, 56, 83, 25, 96, 70, 48, 14, 58); p = (44, 46, 90, 72, 91, 40, 75, 35, 8, 54, 78, 40, 77, 15, 61, 17, 75, 29, 75, 63); c = 878
f
3
4
w = (6, 5, 9, 7); p = (9, 11, 13, 15); c = 20
f
4
4
w = (2, 4, 6, 7); p = (6, 10, 12, 13); c = 11
f
5
15
w = (56.358531, 80.874050, 47.987304, 89.596240, 74.660482, 85.894345, 51.353496, 1.498459, 36.445204, 16.589862, 44.569231, 0.466933, 37.788018, 57.118442, 60.716575); p = (0.125126, 19.330424, 58.500931, 35.029145, 82.284005, 17.410810, 71.050142, 30.399487, 9.140294, 14.731285, 98.852504, 11.908322, 0.891140, 53.166295, 60.176397); c = 375;Table 9
The optimal solutions of the five benchmark knapsack problems.
f
Optimal solution
Optimal value
Value of constraint
f
1
(0, 1, 1, 1, 0, 0, 0, 1, 1, 1)
295
0
f
2
(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1)
1024
−7
f
3
(1, 1, 0, 1)
35
−2
f
4
(0, 1, 0, 1)
23
0
f
5
(0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1)
481.0694
−20.0392


### 5.2. Data Analysis

In Table10, we can see that NABC can easily solve the optimum of Knapsack problems. And it can find the optimum in most cases except f
5. ABC has the worst performance, because we can see that it can not find the optimums for f
2 and f
5. In short, NABC has a better performance than ABC on solving the five knapsack problems.Table 10
Best, worst, median, mean, and standard deviation values obtained by ABC and NABC.
f
Algorithm
Best
Worst
Median
Mean
SD
f
1
ABC
295
295
295
295
0
NDABC
295
295
295
295
0
f
2
ABC
1024
1013
1024
1021
4.52
NDABC
1024
1024
1024
1024
0
f
3
ABC
35
35
35
35
0
NDABC
35
35
35
35
0
f
4
ABC
23
23
23
23
0
NDABC
23
23
23
23
0
f
5
ABC
481.069
437.935
475.478
460.729
18.47
NDABC
481.069
435.786
481.069
470.771
8.79


## 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: (7)
min
⁡
⁡
f
x
=
-
∑
i
=
1
n
p
i
x
i
+
α
∗
max
⁡
⁡
0
,
∑
i
=
1
n
w
i
x
i
-
c
,where w
i is each item’s weight and p
i is each item’s profit, respectively. The knapsack has a limited weight capability of c. 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 x
i is the value one if the item i 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 c. α is a penalty factor which is set to 10
e
-
20 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, SN
=
50, and Limit is 10. Each of the experiments is repeated 30 times independently.Table 8
The five benchmark knapsack problems.
f
Dim
Parameter (w
,
p
,
c)
f
1
10
w = (95, 4, 60, 32, 23, 72, 80, 62, 65, 46); p = (55, 10, 47, 5, 4, 50, 8, 61, 85, 87); c = 269
f
2
20
w = (92, 4, 43, 83, 84, 68, 92, 82, 6, 44, 32, 18, 56, 83, 25, 96, 70, 48, 14, 58); p = (44, 46, 90, 72, 91, 40, 75, 35, 8, 54, 78, 40, 77, 15, 61, 17, 75, 29, 75, 63); c = 878
f
3
4
w = (6, 5, 9, 7); p = (9, 11, 13, 15); c = 20
f
4
4
w = (2, 4, 6, 7); p = (6, 10, 12, 13); c = 11
f
5
15
w = (56.358531, 80.874050, 47.987304, 89.596240, 74.660482, 85.894345, 51.353496, 1.498459, 36.445204, 16.589862, 44.569231, 0.466933, 37.788018, 57.118442, 60.716575); p = (0.125126, 19.330424, 58.500931, 35.029145, 82.284005, 17.410810, 71.050142, 30.399487, 9.140294, 14.731285, 98.852504, 11.908322, 0.891140, 53.166295, 60.176397); c = 375;Table 9
The optimal solutions of the five benchmark knapsack problems.
f
Optimal solution
Optimal value
Value of constraint
f
1
(0, 1, 1, 1, 0, 0, 0, 1, 1, 1)
295
0
f
2
(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1)
1024
−7
f
3
(1, 1, 0, 1)
35
−2
f
4
(0, 1, 0, 1)
23
0
f
5
(0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1)
481.0694
−20.0392


## 5.2. Data Analysis

In Table10, we can see that NABC can easily solve the optimum of Knapsack problems. And it can find the optimum in most cases except f
5. ABC has the worst performance, because we can see that it can not find the optimums for f
2 and f
5. In short, NABC has a better performance than ABC on solving the five knapsack problems.Table 10
Best, worst, median, mean, and standard deviation values obtained by ABC and NABC.
f
Algorithm
Best
Worst
Median
Mean
SD
f
1
ABC
295
295
295
295
0
NDABC
295
295
295
295
0
f
2
ABC
1024
1013
1024
1021
4.52
NDABC
1024
1024
1024
1024
0
f
3
ABC
35
35
35
35
0
NDABC
35
35
35
35
0
f
4
ABC
23
23
23
23
0
NDABC
23
23
23
23
0
f
5
ABC
481.069
437.935
475.478
460.729
18.47
NDABC
481.069
435.786
481.069
470.771
8.79


## 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.



---

*Source: 129271-2015-04-20.xml*