# Self-Adaptive Artificial Bee Colony for Function Optimization

Authors: Mingzhu Tang; Wen Long; Huawei Wu; Kang Zhang; Yuri A. W. Shardt
Journal: Journal of Control Science and Engineering
 (2017)

---

## Abstract

Artificial bee colony (ABC) is a novel population-based optimization method, having the advantage of less control parameters, being easy to implement, and having strong global optimization ability. However, ABC algorithm has some shortcomings concerning its position-updated equation, which is skilled in global search and bad at local search. In order to coordinate the ability of global and local search, we first propose a self-adaptive ABC algorithm (denoted as SABC) in which an improved position-updated equation is used to guide the search of new candidate individuals. In addition, good-point-set approach is introduced to produce the initial population and scout bees. The proposed SABC is tested on 12 well-known problems. The simulation results demonstrate that the proposed SABC algorithm has better search ability with other several ABC variants.


---

## Body

## 1. Introduction

Population-based optimization algorithms, such as whale optimization algorithm (WOA) [1], flower pollination algorithm (FPA) [2], bacterial foraging optimizer (BFO) [3], cuckoo search algorithm (CSA) [4], fruit fly optimization (FFO) [5], gravitational search optimizer (GSO) [6], and chemical reaction optimization (CRO) [7], have many advantages over classical optimization methods and have been successfully and broadly applied to solve global continuous optimization problems in the last few decades [6].In this paper, we used the advantage of ABC, presented by Karaboga [8], which mimics the hunting behaviors of honey bee swarm. Simulation results show that ABC is superior to many other population-based optimization methods, namely, genetic algorithm (GA), evolution strategies (ES), and particle swarm optimization (PSO) [9, 10]. ABC has caused wide attention and applications since its invention in 2005, owing to its simplicity and fewer control parameters. However, ABC faces some challenging problems, namely, low precision and slow convergence. As a result, many improved versions of ABC have been proposed to overcome these shortcomings. Zhu and Kwong [11] presented an improved Gbest-guided ABC (denoted as GABC) through combining the global best (Gbest) individual with the position-updated equation to enhance the ability of local search. Luo et al. [12] presented an improved position-updated equation by using global best individual information to generate offspring individuals. Inspired by DE, Gao et al. [13] developed an improved ABC variant applying the bees search only near the global best one to enhance the exploitation. Xiang and An [14] developed a modified position-updated equation to accelerate the convergence speed. Moreover, chaotic optimization mechanism is introduced to avoid being trapped in local minima. Li et al. [15] presented an improved ABC variant based on inertia weight and accelerating factors and to coordinate the ability of global and local search. Gao and Liu [16] developed two modified position-updated equations, namely, “ABC/best/1” and “ABC/rand/1.” Kang et al. [17] developed a hybrid method which combines ABC algorithm and pattern search method to speed up convergence. Gao et al. [18] presented an improved version of ABC (denoted as CABC) based on a modified position-updated equation. In addition, the orthogonal experimental design is introduced.As we know, for an optimization algorithm, both global and local search are necessary and they should be well coordinated to obtain better global performance [11]. Different from the previous work, the position-updated equation is modified by self-adaptive adopting of the previous and global best solution to generate new candidate offspring to coordinate the ability of global and local search. Moreover, the good-point-set approach is used to generate initial population. The proposed SABC is tested on 12 benchmark global optimization problems. The experimental results show that our SABC algorithm is superior to basic ABC and other ABC variants.The remainder of this study is organized as follows. The standard ABC is described in Section2. The improved ABC called SABC algorithm is proposed and analyzed in Section 3. In Section 4, 12 benchmark global optimization problems are used to test the proposed SABC algorithm. Finally, Section 5 summarized the conclusions.


## 2. Artificial Bee Colony

ABC is metaheuristic optimization method inspired by hunting behavior of honey bee swarm. At the initialization step, generate randomlyN solutions to construct an initial population:(1)xi,j=li,j+rand0,1·ui,j-li,j,where i=1,2,…,N,  j=1,2,…,n; rand(0,1) is a uniformly distributed random number; li,j and ui,j are the lower and upper bounds for the dimension j, respectively.In onlooker bee stage, food source is chosen by probabilitypi(2)pi=fiti∑i=1Nfiti,where fiti denotes the fitness value of X→i and is defined as(3)fiti=11+fX→i,fX→i≥01+fX→i,fX→i<0,where f(X→i) denotes the objective function values of the decision vector X→i.A candidate food source positionV→i=(vi1,vi2,…,vin) can be generated from the old one X→i=(xi1,xi2,…,xin) as(4)vij=xij+ϕijxij-xkj,where j={1,2,…,n} and k={1,2,…,N} are randomly selected individuals; k is different from i; and ϕij is a random uniformly distributed number in [-1,1].Pseudocode of basic ABC is given in Algorithm1.Algorithm 1:Pseudo-code of basic ABC algorithm.
(01) Initialize the parameters.
(02) Initialize N solutions to construct an initial population.
(03) Evaluate the fitness values of each solution.
(04) cycle = 1.
(05) Repeat
(06)  Generate a offspring individual by Eq. (4) and evaluate its quality.
(07)  Compare and select the better one.
(08)  Calculate probabilities through Eq. (2).
(09)  Produce randomly a number in [0, 1].
(10)  Generate a offspring individual by Eq. (4) and evaluate its quality.
(11)  Compare and select the better one.
(12)  Memorize the best solution achieved so far.
(13)  cycle = cycle + 1.
(14) Until cycle=Maximum cycle number


## 3. Self-Adaptive Artificial Bee Colony (SABC)

### 3.1. Population Initialization

Note that, for ABC algorithm, in order to find the existing area of optimal solutions faster, initial population should cover the whole search space. Good-point-set method is widely applied to generate many uniformly distributed candidate individuals [19]. Therefore, we apply good-point-set technique for producing initial population of ABC to maintain diversity of population. The pseudocode of good-point-set technique is given in Algorithm 2.Algorithm 2:Good point set method.
(01)Set the population size N; the decision variables dimension n, i=1, j=1.
(02)Fori=1 to ndo
(03)Forj=1 to Ndo
(04)a=2∗n+3;
(05)Whilep~=ado
(06)Set individual counter k=2.
(07)Fork=2 to a-1do
(08)If mod(a,i)==0then
(09)a=a+1;
(10)Else
(11)p=a;
(12)End if
(13)End for
(14)End while
(15)r(i)=2∗cos⁡(2∗pi∗i/p);
(16)xi=mod⁡(r(i)∗N,1);
(17)End for
(18)End forThe uniformity properties of random method and good-point-set method are compared as given in Figure1 and it displays the 80 points on a unit square generated using random number generator and good-point-set approach.Figure 1
80 points in the unit squares generated through random and good-point-set approaches.From Figure1, the candidate individuals produced through good-point-set technique are more uniform than the candidate individuals produced by random method. Thus, good-point-set method is preferred technique for generating initial population.


### 3.2. Modified Search Equation

On the basis of the position-updated equation depicted by (4), the offspring individual is produced through moving the previous individual towards (or far away from) another individual chosen randomly in population. Nevertheless, the randomly chosen individual is a good individual or a bad one; the probability is the same. Therefore, the offspring individual could not be guaranteed to be better than the previous one. In addition, the coefficient ϕij in (4) is a random number over the range [-1,1] and xkj is a randomly selected solution from population. Thus, the position-updated equation depicted by (4) is skilled in global search and bad at local search [11].For the sake of enhancing the performance of ABC, one active research trend is to investigate its position-updated equation. As mentioned above, the characteristics of the search equations of ABC have been extensively investigated. ABC researchers have suggested many empirical guidelines for modifying search equation during the last decade. It has been clear that some search equations can speed up the convergence [11–13], and some others are suitable for the global search [20]. Indubitably, these experiences are extremely helpful for improving the performance of ABC. “ABC/rand/1” and “ABC/best/1” are invariably employed in lots of ABC variants and their characteristics have been commendably investigated. The equations of “ABC/rand/1” and “ABC/best/1” are stated as [16](5)“ABC/rand/1”:vi,j=xi,j+ϕijxr1,j-xr2,j(6)“ABC/best/1”:vi,j=xbest,j+ϕijxr1,j-xr2,j,where r1 and r2 are randomly selected from {1,2,…,N}, and r1≠r2≠i. xbest,j is global best solution position vector and j∈{1,2,…,n} denotes j dimension. ϕij is a uniformly distributed random number in [-1,1]. The “ABC/rand/1” search equation is one of many often used in the paper. In “ABC/rand/1” equation, all positions are randomly chosen in population and, consequently, it does not have any bias in particular positions and randomly selects new positions. Therefore, they often show better global search ability with slow convergence. “ABC/best/1” has faster convergence based on global optima position. However, they are more likely to fall into local optima.In the ABC algorithm, appropriate coordinate of global search and local search is very important for obtaining the optima effectively. In order to bring about a balance between global and local search abilities of ABC, we first introduces a parameterλ, which coordinates the effect of previous position on the current one, by modifying (4) to(7)vi,j=λxi,j+1-λxbest,j+ϕi,jxr1,j-xr2,j,where λ∈[0,1] is utilized to influence the balance between global and local search abilities of individuals, the indices r1 and r2 are randomly selected from {1,2,…,N}, and r1≠r2≠i. xbest,j is global best solution position vector and j∈{1,2,…,n} denotesj dimension. ϕij is a uniformly distributed random number.Note that the parameterλ is crucial in balancing the abilities of global and local search. When λ is equal to 1, (7) becomes (5). When λ decreases from 1 to 0, the global search ability of (7) will also decrease correspondingly. When λ takes 0, (7) is (6). The search performance of algorithm will adaptively adjust through changing the parameter λ. From (7), with a large value of λ in the early stage, individuals are admitted to move in all directions of solution space, instead of moving towards the best individual. A small value of λ allows the population to converge to the global optimal solution in later stage. Therefore, a well-tuned λ is very important. The parameter  λ  in this paper is calculated according to the following function:(8)λ=T-tT,wheret denotes number of iterations andT denotes a predefined maximum number of iterations. Thus, the improved position-updated equation developed by (7) is able to balance the abilities of global and local search of SABC.


### 3.3. Rank Selection

As we know, the roulette wheel selection mechanism is employed in classical ABC. This selection strategy makes more chance to select individuals with higher fitness [14]. To keep population diversity better, a rank-based selection mechanism is introduced in this paper. Selection probabilitypi is defined [21]:(9)pi=1N+atN+1-2iNN+1,i=1,2,…,N.(10)at=0.2+3t4tmax,where N is the population size, a(t) is parameters, t is current iteration, tmax is maximum iteration.


### 3.4. The Proposed SABC Algorithm

The flow chart of proposed SABC algorithm is presented in Figure2.Figure 2
Flow chart of proposed SABC algorithm.


## 3.1. Population Initialization

Note that, for ABC algorithm, in order to find the existing area of optimal solutions faster, initial population should cover the whole search space. Good-point-set method is widely applied to generate many uniformly distributed candidate individuals [19]. Therefore, we apply good-point-set technique for producing initial population of ABC to maintain diversity of population. The pseudocode of good-point-set technique is given in Algorithm 2.Algorithm 2:Good point set method.
(01)Set the population size N; the decision variables dimension n, i=1, j=1.
(02)Fori=1 to ndo
(03)Forj=1 to Ndo
(04)a=2∗n+3;
(05)Whilep~=ado
(06)Set individual counter k=2.
(07)Fork=2 to a-1do
(08)If mod(a,i)==0then
(09)a=a+1;
(10)Else
(11)p=a;
(12)End if
(13)End for
(14)End while
(15)r(i)=2∗cos⁡(2∗pi∗i/p);
(16)xi=mod⁡(r(i)∗N,1);
(17)End for
(18)End forThe uniformity properties of random method and good-point-set method are compared as given in Figure1 and it displays the 80 points on a unit square generated using random number generator and good-point-set approach.Figure 1
80 points in the unit squares generated through random and good-point-set approaches.From Figure1, the candidate individuals produced through good-point-set technique are more uniform than the candidate individuals produced by random method. Thus, good-point-set method is preferred technique for generating initial population.


## 3.2. Modified Search Equation

On the basis of the position-updated equation depicted by (4), the offspring individual is produced through moving the previous individual towards (or far away from) another individual chosen randomly in population. Nevertheless, the randomly chosen individual is a good individual or a bad one; the probability is the same. Therefore, the offspring individual could not be guaranteed to be better than the previous one. In addition, the coefficient ϕij in (4) is a random number over the range [-1,1] and xkj is a randomly selected solution from population. Thus, the position-updated equation depicted by (4) is skilled in global search and bad at local search [11].For the sake of enhancing the performance of ABC, one active research trend is to investigate its position-updated equation. As mentioned above, the characteristics of the search equations of ABC have been extensively investigated. ABC researchers have suggested many empirical guidelines for modifying search equation during the last decade. It has been clear that some search equations can speed up the convergence [11–13], and some others are suitable for the global search [20]. Indubitably, these experiences are extremely helpful for improving the performance of ABC. “ABC/rand/1” and “ABC/best/1” are invariably employed in lots of ABC variants and their characteristics have been commendably investigated. The equations of “ABC/rand/1” and “ABC/best/1” are stated as [16](5)“ABC/rand/1”:vi,j=xi,j+ϕijxr1,j-xr2,j(6)“ABC/best/1”:vi,j=xbest,j+ϕijxr1,j-xr2,j,where r1 and r2 are randomly selected from {1,2,…,N}, and r1≠r2≠i. xbest,j is global best solution position vector and j∈{1,2,…,n} denotes j dimension. ϕij is a uniformly distributed random number in [-1,1]. The “ABC/rand/1” search equation is one of many often used in the paper. In “ABC/rand/1” equation, all positions are randomly chosen in population and, consequently, it does not have any bias in particular positions and randomly selects new positions. Therefore, they often show better global search ability with slow convergence. “ABC/best/1” has faster convergence based on global optima position. However, they are more likely to fall into local optima.In the ABC algorithm, appropriate coordinate of global search and local search is very important for obtaining the optima effectively. In order to bring about a balance between global and local search abilities of ABC, we first introduces a parameterλ, which coordinates the effect of previous position on the current one, by modifying (4) to(7)vi,j=λxi,j+1-λxbest,j+ϕi,jxr1,j-xr2,j,where λ∈[0,1] is utilized to influence the balance between global and local search abilities of individuals, the indices r1 and r2 are randomly selected from {1,2,…,N}, and r1≠r2≠i. xbest,j is global best solution position vector and j∈{1,2,…,n} denotesj dimension. ϕij is a uniformly distributed random number.Note that the parameterλ is crucial in balancing the abilities of global and local search. When λ is equal to 1, (7) becomes (5). When λ decreases from 1 to 0, the global search ability of (7) will also decrease correspondingly. When λ takes 0, (7) is (6). The search performance of algorithm will adaptively adjust through changing the parameter λ. From (7), with a large value of λ in the early stage, individuals are admitted to move in all directions of solution space, instead of moving towards the best individual. A small value of λ allows the population to converge to the global optimal solution in later stage. Therefore, a well-tuned λ is very important. The parameter  λ  in this paper is calculated according to the following function:(8)λ=T-tT,wheret denotes number of iterations andT denotes a predefined maximum number of iterations. Thus, the improved position-updated equation developed by (7) is able to balance the abilities of global and local search of SABC.


## 3.3. Rank Selection

As we know, the roulette wheel selection mechanism is employed in classical ABC. This selection strategy makes more chance to select individuals with higher fitness [14]. To keep population diversity better, a rank-based selection mechanism is introduced in this paper. Selection probabilitypi is defined [21]:(9)pi=1N+atN+1-2iNN+1,i=1,2,…,N.(10)at=0.2+3t4tmax,where N is the population size, a(t) is parameters, t is current iteration, tmax is maximum iteration.


## 3.4. The Proposed SABC Algorithm

The flow chart of proposed SABC algorithm is presented in Figure2.Figure 2
Flow chart of proposed SABC algorithm.


## 4. Simulation Results and Comparisons

### 4.1. Benchmark Test Functions

To evaluate the performance of SABC, 12 benchmark test problems from [14, 15, 22] are used and are shown in Table 1.Table 1
Benchmark test functions.
Test functions
Dimension
Search range
Min
f
1
X
=
∑
i
=
1
n
x
i
2
30 and 50
[
-
100,100
]
n
0
f
2
(
X
)
=
∑
i
=
1
n
x
i
+
∏
i
=
1
n
x
i
30 and 50
[
-
10,10
]
n
0
f
3
(
X
)
=
∑
i
=
1
n
∑
j
=
1
i
x
j
2
30 and 50
[
-
100,100
]
n
0
f
4
X
=
max
i
⁡
x
i
,
1
≤
i
≤
n
30 and 50
[
-
100,100
]
n
0
f
5
X
=
∑
i
=
1
n
-
1
100
x
i
+
1
-
x
i
2
2
+
x
i
-
1
2
30 and 50
[
-
30
,
30
]
n
0
f
6
(
X
)
=
∑
i
=
1
n
x
i
+
0.5
2
30 and 50
[
-
100,100
]
n
0
f
7
(
X
)
=
∑
i
=
1
n
i
x
i
4
+
r
a
n
d
o
m
[
0,1
)
30 and 50
[
-
1.28,1.28
]
n
0
f
8
X
=
∑
i
=
1
n
x
i
2
-
10
cos
⁡
2
π
x
i
+
10
30 and 50
[
-
5.12,5.12
]
n
0
f
9
(
X
)
=
-
20
exp
⁡
-
0.2
1
n
∑
i
=
1
n
x
i
2
-
exp
⁡
1
n
∑
i
=
1
n
cos
⁡
2
π
x
i
+
20
+
e
30 and 50
[
-
32,32
]
n
0
f
10
(
X
)
=
1
4000
∑
i
=
1
n
x
i
2
-
∏
i
=
1
n
cos
⁡
x
i
i
+
1
30 and 50
[
-
600,600
]
n
0
f
11
(
X
)
=
π
n
10
sin
⁡
π
y
1
+
∑
i
=
1
n
-
1
y
i
-
1
2
1
+
10
sin
⁡
π
y
i
+
1
2
+
y
n
-
1
2
+
∑
i
=
1
n
u
x
i
,
10,100,4
30 and 50
[
-
50,50
]
n
0
y
i
=
1
+
x
i
+
1
4
;
u
(
x
i
,
a
,
k
,
m
)
=
k
(
x
i
-
a
)
m
,
x
i
>
a
0
,
-
a
≤
x
i
≤
a
k
(
-
x
i
-
a
)
m
,
x
i
<
-
a
f
12
X
=
0.1
sin
⁡
3
π
x
1
2
+
∑
i
=
1
n
x
i
-
1
2
[
1
+
sin
⁡
3
π
x
i
+
1
2
]
+
x
n
-
1
2
1
+
sin
⁡
2
π
x
n
2
+
∑
i
=
1
n
u
x
i
,
5,100,4
30 and 50
[
-
50,50
]
n
0


### 4.2. Comparison between SABC and Basic ABC Algorithm

In SABC, population sizeN is 40, limit is 100, and the maximum iteration is 1000. Each experiment is repeated 30 runs independently. The experimental results of SABC and basic ABC are given in Table 2 regarding the best, the mean, the worst, the standard deviation (St.dev), and the convergence iteration (CI).Table 2
Experimental results of SABC and ABC inf1–f12.
Number
Dimension
Methods
Best
Mean
Worst
SD
CI
f
1
30
ABC
4.6231
E
-
10
7.1171
E
-
10
1.1766
E
-
09
4.0299
E
-
10
982
SABC
4.1163
E
-
25
1.1061
E
-
24
1.5769
E
-
23
1.8645
E
-
24
467
50
ABC
1.1506
E
-
05
6.1887
E
-
05
1.3418
E
-
04
6.4204
E
-
05
1000
SABC
1.4239
E
-
25
6.0779
E
-
24
1.5665
E
-
23
4.3555
E
-
24
567
f
2
30
ABC
7.1038
E
-
07
2.1352
E
-
06
1.8472
E
-
05
1.6161
E
-
06
1000
SABC
2.2631
E
-
17
4.3501
E
-
17
6.8724
E
-
17
5.9788
E
-
18
988
50
ABC
1.4589
E
-
03
2.5687
E
-
03
4.7673
E
-
03
7.2431
E
-
04
1000
SABC
8.3862
E
-
13
3.2128
E
-
12
7.0340
E
-
12
2.6239
E
-
12
951
f
3
30
ABC
2.3747
E
+
02
4.0476
E
+
02
7.3452
E
+
02
1.8433
E
+
02
1000
SABC
1.1928
E
-
24
4.6715
E
-
24
8.3532
E
-
24
2.9293
E
-
24
393
50
ABC
1.0263
E
+
03
1.3498
E
+
03
1.8414
E
+
03
3.1333
E
+
02
1000
SABC
3.7284
E
-
24
8.7797
E
-
24
1.8362
E
-
23
5.5293
E
-
24
565
f
4
30
ABC
19.2342
21.7466
24.3791
1.6750
1000
SABC
3.7668
E
-
13
1.5260
E
-
12
4.4526
E
-
12
8.9061
E
-
13
952
50
ABC
48.3573
56.7818
70.2795
9.5092
1000
SABC
1.0362
E
-
12
2.5018
E
-
12
6.5874
E
-
12
1.8606
E
-
12
983
f
5
30
ABC
1.0598
2.4438
4.6864
1.3676
1000
SABC
1.0148
E
-
04
1.9505
E
-
04
3.7937
E
-
04
2.7217
E
-
04
999
50
ABC
18.4882
23.7003
28.5976
4.8506
1000
SABC
1.2218
E
-
01
2.3657
E
-
01
4.1856
E
-
01
1.1026
E
-
01
1000
f
6
30
ABC
8.5740
E
-
20
2.2257
E
-
19
3.2408
E
-
19
8.3640
E
-
20
588
SABC
0
0
0
0
97
50
ABC
1.7016
E
-
02
3.3668
E
-
01
9.6818
E
-
01
3.7865
E
-
01
985
SABC
0
0
0
0
108
f
7
30
ABC
8.9359
E
-
02
1.8702
E
-
01
2.6427
E
-
01
5.6650
E
-
02
1000
SABC
7.8137
E
-
03
1.4728
E
-
02
3.6362
E
-
02
6.9294
E
-
03
1000
50
ABC
1.9388
E
-
01
4.3249
E
-
01
8.9758
E
-
01
3.1615
E
-
01
1000
SABC
5.9068
E
-
02
8.4158
E
-
02
1.0092
E
-
01
1.7730
E
-
02
998
f
8
30
ABC
3.7327
E
-
08
1.4133
E
-
05
4.2206
E
-
05
2.4312
E
-
05
956
SABC
0
0
0
0
109
50
ABC
5.59127
6.47346
7.19213
0.81286
1000
SABC
0
0
0
0
253
f
9
30
ABC
1.4010
E
-
05
3.2429
E
-
05
5.0576
E
-
05
1.8280
E
-
05
1000
SABC
4.4409
E
-
15
7.9906
E
-
15
1.1546
E
-
14
9.3294
E
-
16
802
50
ABC
2.6146
E
-
02
5.1473
E
-
02
8.5138
E
-
02
3.0367
E
-
02
1000
SABC
1.5099
E
-
14
1.5099
E
-
14
1.5099
E
-
14
0
817
f
10
30
ABC
8.3116
E
-
08
4.9243
E
-
03
1.4773
E
-
02
8.5290
E
-
03
1000
SABC
0
0
0
0
243
50
ABC
2.1268
E
-
05
1.8178
E
-
02
5.4485
E
-
02
3.1443
E
-
02
1000
SABC
0
0
0
0
624
f
11
30
ABC
2.3733
E
-
12
7.2076
E
-
12
1.4228
E
-
11
6.2224
E
-
12
1000
SABC
1.0582
E
-
24
3.7213
E
-
24
7.4688
E
-
24
2.2940
E
-
24
546
50
ABC
7.9534
E
-
08
1.8292
E
-
07
3.2155
E
-
07
1.2480
E
-
07
1000
SABC
1.5732
E
-
19
2.2735
E
-
19
3.9719
E
-
19
8.7756
E
-
20
681
f
12
30
ABC
2.3336
E
-
10
6.4815
E
-
10
1.3293
E
-
09
5.9458
E
-
10
1000
SABC
2.3648
E
-
18
4.6324
E
-
18
7.2155
E
-
18
1.3751
E
-
18
696
50
ABC
6.3245
E
-
07
2.2850
E
-
06
5.5056
E
-
06
2.7894
E
-
06
1000
SABC
4.4409
E
-
15
6.8094
E
-
15
7.9936
E
-
15
2.0512
E
-
15
834As seen from Table2, SABC is able to obtain global optima for three functions (f6,f8, andf10). Moreover, in seven functions (f1–f4,f9,f11, andf12), the results obtained by SABC are pretty near to global optimal solution. Compared with ABC, SABC can obtain much better results than ABC on 12 functions, that is,f1–f12. The convergence performance of SABC and basic ABC on 12 functions are drawn in Figure 3 so as to show the performance of SABC more clearly.Figure 3
Convergence curve of SABC and basic ABC for twelve functions (D=30).


### 4.3. Comparison between SABC and ABC Variants

SABC is compared against four high-performance ABC algorithms under three performance evaluation criteria: Mean, St.dev, and CI. These selected ABC variants such as Gbest-guided ABC (denoted as GABC) algorithm [11], an efficient and robust ABC (abbreviated as ERABC) algorithm [14], improved ABC (abbreviated as IABC) algorithm [15] and prediction and selection ABC (denoted as PSABC) [15]. The parameters settings are the same as those of ERABC [14] and PSABC [15] together with SABC. The comparative results have been shown in Tables 3 and 4. The results provided by other algorithms were directly taken from the original references for each approach.Table 3
Performance comparison of GABC, ERABC, IABC, PSABC, and SABC on test functionsf1–f12 (Dim = 30).
Number
GABC
ERABC
IABC
PSABC
SABC
f
1
Mean
6.2643
E
-
16
0
0
0
1.1061
E
-
24
St.dev
1.0859
E
-
16
0
0
0
1.8645
E
-
24
CI
986
842
322
336
467
f
2
Mean
1.3019
E
-
10
2.1049
E
-
233
0
0
4.3501
E
-
17
St.dev
4.6859
E
-
11
0
0
0
5.9788
E
-
18
CI
1000
1000
30
22
988
f
3
Mean
1.0939
E
+
04
1.2202
E
-
20
1.4344
E
+
04
6.1069
E
+
03
4.6715
E
-
24
St.dev
2.5670
E
+
03
0
2.7291
E
+
03
1.6947
E
+
03
2.9293
E
-
24
CI
1000
998
999
1000
393
f
4
Mean
12.6211
2.7073
E
-
08
1.207
E
-
197
8.591
E
-
115
1.5260
E
-
12
St.dev
2.6556
1.2604
E
-
07
0
4.705
E
-
114
8.9061
E
-
13
CI
1000
985
1000
1000
952
f
5
Mean
7.47961
1.5450
E
-
06
26.4282
1.5922
1.9505
E
-
04
St.dev
19.0926
7.5654
E
-
06
1.3956
4.4066
2.7217
E
-
04
CI
1000
999
1000
1000
999
f
6
Mean
6.4499
E
-
16
0
3.8463
E
-
10
5.7169
E
-
16
0
St.dev
1.1126
E
-
16
0
2.3239
E
-
10
8.2549
E
-
17
0
CI
997
20
999
671
97
f
7
Mean
8.4786
E
-
02
9.7185
E
-
05
1.9609
E
-
02
2.1514
E
-
02
1.4728
E
-
02
St.dev
2.7907
E
-
02
6.7013
E
-
05
9.3459
E
-
03
6.8816
E
-
02
6.9294
E
-
03
CI
983
797
1000
997
1000
f
8
Mean
3.3165
E
-
01
0
0
0
0
St.dev
1.8165
E
-
01
0
0
0
0
CI
1000
143
84
80
109
f
9
Mean
7.7828
E
-
10
1.0066
E
-
15
8.8817
E
-
16
8.8817
E
-
16
7.9906
E
-
15
St.dev
2.9817
E
-
10
6.4863
E
-
16
0
0
9.3294
E
-
16
CI
1000
93
156
188
802
f
10
Mean
6.9655
E
-
04
0
0
0
0
St.dev
2.2609
E
-
03
0
0
0
0
CI
1000
58
684
834
243
f
11
Mean
5.8570
E
-
16
1.5705
E
-
32
7.1096
E
-
12
5.5312
E
-
16
3.7213
E
-
24
St.dev
1.1349
E
-
16
5.5674
E
-
48
5.2513
E
-
12
8.6858
E
-
17
2.2940
E
-
24
CI
938
105
1000
625
546
f
12
Mean
2.1724
E
-
07
1.3498
E
-
32
4.7831
E
-
08
6.0601
E
-
18
4.6324
E
-
18
St.dev
5.6676
E
-
07
5.5674
E
-
48
2.0359
E
-
07
5.6064
E
-
18
1.3751
E
-
18
CI
996
105
995
567
696Table 4
Performance comparison of GABC, ERABC, IABC, PSABC, and SABC on test functionsf1–f12 (Dim = 50).
Number
GABC
ERABC
IABC
PSABC
SABC
f
1
Mean
1.2546
E
-
05
0
0
0
6.0779
E
-
24
St.dev
6.0511
E
-
09
0
0
0
4.3555
E
-
24
CI
1000
934
726
628
567
f
2
Mean
2.3671
E
-
05
1.2627
E
-
226
0
0
3.2128
E
-
12
St.dev
6.1989
E
-
06
0
0
0
2.6239
E
-
12
CI
1000
1000
61
74
951
f
3
Mean
4.1236
E
+
04
1.0937
E
-
141
4.6927
E
+
04
3.0118
E
+
04
8.7797
E
-
24
St.dev
5.8269
E
+
03
5.9904
E
-
141
7.3584
E
+
03
4.1073
E
+
03
5.5293
E
-
24
CI
1000
1000
1000
1000
565
f
4
Mean
45.3075
1.3695
E
-
08
25.5055
19.6683
2.5018
E
-
12
St.dev
4.3151
5.0911
E
-
08
5.6662
6.3094
1.8606
E
-
12
CI
1000
992
999
1000
983
f
5
Mean
25.7164
1.1000
E
-
03
47.0287
34.4913
2.3657
E
-
01
St.dev
31.75811
3.7000
E
-
03
0.8601
30.3412
1.1026
E
-
01
CI
1000
983
1000
1000
1000
f
6
Mean
5.6529
E
-
09
0
1.8434
E
-
05
1.1674
E
-
15
0
St.dev
3.6854
E
-
09
0
1.7466
E
-
05
1.4114
E
-
16
0
CI
1000
44
1000
1000
108
f
7
Mean
2.4609
E
-
01
9.4755
E
-
05
8.8306
E
-
02
6.5309
E
-
02
8.4158
E
-
02
St.dev
4.7278
E
-
02
6.5181
E
-
05
2.5540
E
-
02
1.7705
E
-
02
1.7730
E
-
02
CI
1000
979
998
966
998
f
8
Mean
2.1733
0
0
0
0
St.dev
1.0728
0
0
0
0
CI
1000
173
172
140
253
f
9
Mean
1.1137
E
-
04
1.2434
E
-
15
8.8817
E
-
16
8.8817
E
-
16
1.5099
E
-
14
St.dev
3.8873
E
-
05
1.0840
E
-
15
0
0
0
CI
1000
109
306
365
817
f
10
Mean
1.0470
E
-
03
0
0
0
0
St.dev
2.7482
E
-
03
0
0
0
0
CI
1000
71
696
836
624
f
11
Mean
9.3017
E
-
11
9.4233
E
-
33
5.4223
E
-
07
1.0252
E
-
15
2.2735
E
-
19
St.dev
7.9664
E
-
11
2.7837
E
-
48
2.9821
E
-
07
1.5815
E
-
16
8.7756
E
-
20
CI
1000
113
999
979
681
f
12
Mean
8.8776
E
-
07
1.3498
E
-
32
2.4156
E
-
05
5.0541
E
-
18
6.8094
E
-
15
St.dev
1.5324
E
-
06
5.5674
E
-
48
4.3568
E
-
05
1.5350
E
-
16
2.0512
E
-
15
CI
999
123
998
959
834From Tables3 and 4, compared to GABC, SABC could achieve much better “mean” and “standard deviation” results than GABC on 11 problems except for functionf7. For the functionf7, SABC algorithm obtained similar results. In addition, the convergence iteration obtained by SABC is smaller than those of ABC, except for functionf7.As can be seen from Tables3 and 4, with respect to ERABC, SABC obtained better “mean” and “standard deviation” values on two functions (f3 andf4) and similar results on four test functions (f6,f8,f9, andf10). However, ERABC algorithm provided better results on six problems (f1-f2,f5,f7, andf11-f12) than SABC.From Tables3 and 4, compared to IABC, SABC obtained better results on five functions (f3,f5,f6,f11, andf12) and similar solutions on four functions (f7,f8,f9, andf10). However, IABC provided better solutions on three functions (f1,f2, andf4) than SABC algorithm.In comparison with PSABC, in Tables3 and 4, SABC provided better solutions on four test functions (f3,f5,f6, andf11) and similar results on five functions (f7,f8,f9,f10, andf12). However, the PSABC algorithm found better solutions on three functions (f1,f2, andf4).


### 4.4. Effects of Limit on the Performance of SABC

To investigate the impact of limit, four different test functions withD=30 are used. They are Sphere (f1), Rastrigin (f8), Ackley (f9), and Griewank (f10). Five different values of limit (i.e., 50, 100, 150, 200, and 250) are used to optimize the four high dimensional test functions. The mean values (mean) and the standard deviation values (St.dev) are shown in Table 5. The box plots of different limit values for four functions are presented in Figure 4.Table 5
The experimental results of SABC with different limit values.
Function
Limit = 50
Limit = 100
Limit = 150
Limit = 200
Limit = 250
Sphere (f1)
Mean
1.6723
E
-
22
1.1061
E
-
24
2.5730
E
-
23
1.7838
E
-
20
3.1027
E
-
19
St.dev
9.1091
E
-
23
1.8645
E
-
24
1.4855
E
-
23
1.7195
E
-
20
7.3276
E
-
19
Rastrigin (f8)
Mean
1.8629
E
-
14
0
0
2.0400
E
-
14
6.6501
E
-
14
St.dev
3.2113
E
-
14
0
0
1.9637
E
-
14
7.7353
E
-
14
Ackley (f9)
Mean
1.5328
E
-
14
7.9906
E
-
15
8.4720
E
-
15
9.4136
E
-
15
1.8826
E
-
14
St.dev
4.4680
E
-
15
9.3294
E
-
16
1.8026
E
-
15
3.3117
E
-
15
8.7152
E
-
15
Griewank (f10)
Mean
4.8762
E
-
12
0
5.9952
E
-
16
8.6898
E
-
12
5.9682
E
-
07
St.dev
1.1261
E
-
11
0
1.5413
E
-
15
4.5680
E
-
11
2.2794
E
-
06Figure 4
Box plots of different limit values for functionf1,f8,f9, andf10 over 30 independent runs.From Table5, parameter limit is able to influence the performance of SABC. When limit is equal to 100, SABC achieves better performance for three functions (f1,f8, andf10). For the Ackley function (f9), the effect of limit on the performance of SABC is very little. From Figure 3 and Table 5, parameter limit = 100 is a suitable choice in SABC algorithm.


## 4.1. Benchmark Test Functions

To evaluate the performance of SABC, 12 benchmark test problems from [14, 15, 22] are used and are shown in Table 1.Table 1
Benchmark test functions.
Test functions
Dimension
Search range
Min
f
1
X
=
∑
i
=
1
n
x
i
2
30 and 50
[
-
100,100
]
n
0
f
2
(
X
)
=
∑
i
=
1
n
x
i
+
∏
i
=
1
n
x
i
30 and 50
[
-
10,10
]
n
0
f
3
(
X
)
=
∑
i
=
1
n
∑
j
=
1
i
x
j
2
30 and 50
[
-
100,100
]
n
0
f
4
X
=
max
i
⁡
x
i
,
1
≤
i
≤
n
30 and 50
[
-
100,100
]
n
0
f
5
X
=
∑
i
=
1
n
-
1
100
x
i
+
1
-
x
i
2
2
+
x
i
-
1
2
30 and 50
[
-
30
,
30
]
n
0
f
6
(
X
)
=
∑
i
=
1
n
x
i
+
0.5
2
30 and 50
[
-
100,100
]
n
0
f
7
(
X
)
=
∑
i
=
1
n
i
x
i
4
+
r
a
n
d
o
m
[
0,1
)
30 and 50
[
-
1.28,1.28
]
n
0
f
8
X
=
∑
i
=
1
n
x
i
2
-
10
cos
⁡
2
π
x
i
+
10
30 and 50
[
-
5.12,5.12
]
n
0
f
9
(
X
)
=
-
20
exp
⁡
-
0.2
1
n
∑
i
=
1
n
x
i
2
-
exp
⁡
1
n
∑
i
=
1
n
cos
⁡
2
π
x
i
+
20
+
e
30 and 50
[
-
32,32
]
n
0
f
10
(
X
)
=
1
4000
∑
i
=
1
n
x
i
2
-
∏
i
=
1
n
cos
⁡
x
i
i
+
1
30 and 50
[
-
600,600
]
n
0
f
11
(
X
)
=
π
n
10
sin
⁡
π
y
1
+
∑
i
=
1
n
-
1
y
i
-
1
2
1
+
10
sin
⁡
π
y
i
+
1
2
+
y
n
-
1
2
+
∑
i
=
1
n
u
x
i
,
10,100,4
30 and 50
[
-
50,50
]
n
0
y
i
=
1
+
x
i
+
1
4
;
u
(
x
i
,
a
,
k
,
m
)
=
k
(
x
i
-
a
)
m
,
x
i
>
a
0
,
-
a
≤
x
i
≤
a
k
(
-
x
i
-
a
)
m
,
x
i
<
-
a
f
12
X
=
0.1
sin
⁡
3
π
x
1
2
+
∑
i
=
1
n
x
i
-
1
2
[
1
+
sin
⁡
3
π
x
i
+
1
2
]
+
x
n
-
1
2
1
+
sin
⁡
2
π
x
n
2
+
∑
i
=
1
n
u
x
i
,
5,100,4
30 and 50
[
-
50,50
]
n
0


## 4.2. Comparison between SABC and Basic ABC Algorithm

In SABC, population sizeN is 40, limit is 100, and the maximum iteration is 1000. Each experiment is repeated 30 runs independently. The experimental results of SABC and basic ABC are given in Table 2 regarding the best, the mean, the worst, the standard deviation (St.dev), and the convergence iteration (CI).Table 2
Experimental results of SABC and ABC inf1–f12.
Number
Dimension
Methods
Best
Mean
Worst
SD
CI
f
1
30
ABC
4.6231
E
-
10
7.1171
E
-
10
1.1766
E
-
09
4.0299
E
-
10
982
SABC
4.1163
E
-
25
1.1061
E
-
24
1.5769
E
-
23
1.8645
E
-
24
467
50
ABC
1.1506
E
-
05
6.1887
E
-
05
1.3418
E
-
04
6.4204
E
-
05
1000
SABC
1.4239
E
-
25
6.0779
E
-
24
1.5665
E
-
23
4.3555
E
-
24
567
f
2
30
ABC
7.1038
E
-
07
2.1352
E
-
06
1.8472
E
-
05
1.6161
E
-
06
1000
SABC
2.2631
E
-
17
4.3501
E
-
17
6.8724
E
-
17
5.9788
E
-
18
988
50
ABC
1.4589
E
-
03
2.5687
E
-
03
4.7673
E
-
03
7.2431
E
-
04
1000
SABC
8.3862
E
-
13
3.2128
E
-
12
7.0340
E
-
12
2.6239
E
-
12
951
f
3
30
ABC
2.3747
E
+
02
4.0476
E
+
02
7.3452
E
+
02
1.8433
E
+
02
1000
SABC
1.1928
E
-
24
4.6715
E
-
24
8.3532
E
-
24
2.9293
E
-
24
393
50
ABC
1.0263
E
+
03
1.3498
E
+
03
1.8414
E
+
03
3.1333
E
+
02
1000
SABC
3.7284
E
-
24
8.7797
E
-
24
1.8362
E
-
23
5.5293
E
-
24
565
f
4
30
ABC
19.2342
21.7466
24.3791
1.6750
1000
SABC
3.7668
E
-
13
1.5260
E
-
12
4.4526
E
-
12
8.9061
E
-
13
952
50
ABC
48.3573
56.7818
70.2795
9.5092
1000
SABC
1.0362
E
-
12
2.5018
E
-
12
6.5874
E
-
12
1.8606
E
-
12
983
f
5
30
ABC
1.0598
2.4438
4.6864
1.3676
1000
SABC
1.0148
E
-
04
1.9505
E
-
04
3.7937
E
-
04
2.7217
E
-
04
999
50
ABC
18.4882
23.7003
28.5976
4.8506
1000
SABC
1.2218
E
-
01
2.3657
E
-
01
4.1856
E
-
01
1.1026
E
-
01
1000
f
6
30
ABC
8.5740
E
-
20
2.2257
E
-
19
3.2408
E
-
19
8.3640
E
-
20
588
SABC
0
0
0
0
97
50
ABC
1.7016
E
-
02
3.3668
E
-
01
9.6818
E
-
01
3.7865
E
-
01
985
SABC
0
0
0
0
108
f
7
30
ABC
8.9359
E
-
02
1.8702
E
-
01
2.6427
E
-
01
5.6650
E
-
02
1000
SABC
7.8137
E
-
03
1.4728
E
-
02
3.6362
E
-
02
6.9294
E
-
03
1000
50
ABC
1.9388
E
-
01
4.3249
E
-
01
8.9758
E
-
01
3.1615
E
-
01
1000
SABC
5.9068
E
-
02
8.4158
E
-
02
1.0092
E
-
01
1.7730
E
-
02
998
f
8
30
ABC
3.7327
E
-
08
1.4133
E
-
05
4.2206
E
-
05
2.4312
E
-
05
956
SABC
0
0
0
0
109
50
ABC
5.59127
6.47346
7.19213
0.81286
1000
SABC
0
0
0
0
253
f
9
30
ABC
1.4010
E
-
05
3.2429
E
-
05
5.0576
E
-
05
1.8280
E
-
05
1000
SABC
4.4409
E
-
15
7.9906
E
-
15
1.1546
E
-
14
9.3294
E
-
16
802
50
ABC
2.6146
E
-
02
5.1473
E
-
02
8.5138
E
-
02
3.0367
E
-
02
1000
SABC
1.5099
E
-
14
1.5099
E
-
14
1.5099
E
-
14
0
817
f
10
30
ABC
8.3116
E
-
08
4.9243
E
-
03
1.4773
E
-
02
8.5290
E
-
03
1000
SABC
0
0
0
0
243
50
ABC
2.1268
E
-
05
1.8178
E
-
02
5.4485
E
-
02
3.1443
E
-
02
1000
SABC
0
0
0
0
624
f
11
30
ABC
2.3733
E
-
12
7.2076
E
-
12
1.4228
E
-
11
6.2224
E
-
12
1000
SABC
1.0582
E
-
24
3.7213
E
-
24
7.4688
E
-
24
2.2940
E
-
24
546
50
ABC
7.9534
E
-
08
1.8292
E
-
07
3.2155
E
-
07
1.2480
E
-
07
1000
SABC
1.5732
E
-
19
2.2735
E
-
19
3.9719
E
-
19
8.7756
E
-
20
681
f
12
30
ABC
2.3336
E
-
10
6.4815
E
-
10
1.3293
E
-
09
5.9458
E
-
10
1000
SABC
2.3648
E
-
18
4.6324
E
-
18
7.2155
E
-
18
1.3751
E
-
18
696
50
ABC
6.3245
E
-
07
2.2850
E
-
06
5.5056
E
-
06
2.7894
E
-
06
1000
SABC
4.4409
E
-
15
6.8094
E
-
15
7.9936
E
-
15
2.0512
E
-
15
834As seen from Table2, SABC is able to obtain global optima for three functions (f6,f8, andf10). Moreover, in seven functions (f1–f4,f9,f11, andf12), the results obtained by SABC are pretty near to global optimal solution. Compared with ABC, SABC can obtain much better results than ABC on 12 functions, that is,f1–f12. The convergence performance of SABC and basic ABC on 12 functions are drawn in Figure 3 so as to show the performance of SABC more clearly.Figure 3
Convergence curve of SABC and basic ABC for twelve functions (D=30).


## 4.3. Comparison between SABC and ABC Variants

SABC is compared against four high-performance ABC algorithms under three performance evaluation criteria: Mean, St.dev, and CI. These selected ABC variants such as Gbest-guided ABC (denoted as GABC) algorithm [11], an efficient and robust ABC (abbreviated as ERABC) algorithm [14], improved ABC (abbreviated as IABC) algorithm [15] and prediction and selection ABC (denoted as PSABC) [15]. The parameters settings are the same as those of ERABC [14] and PSABC [15] together with SABC. The comparative results have been shown in Tables 3 and 4. The results provided by other algorithms were directly taken from the original references for each approach.Table 3
Performance comparison of GABC, ERABC, IABC, PSABC, and SABC on test functionsf1–f12 (Dim = 30).
Number
GABC
ERABC
IABC
PSABC
SABC
f
1
Mean
6.2643
E
-
16
0
0
0
1.1061
E
-
24
St.dev
1.0859
E
-
16
0
0
0
1.8645
E
-
24
CI
986
842
322
336
467
f
2
Mean
1.3019
E
-
10
2.1049
E
-
233
0
0
4.3501
E
-
17
St.dev
4.6859
E
-
11
0
0
0
5.9788
E
-
18
CI
1000
1000
30
22
988
f
3
Mean
1.0939
E
+
04
1.2202
E
-
20
1.4344
E
+
04
6.1069
E
+
03
4.6715
E
-
24
St.dev
2.5670
E
+
03
0
2.7291
E
+
03
1.6947
E
+
03
2.9293
E
-
24
CI
1000
998
999
1000
393
f
4
Mean
12.6211
2.7073
E
-
08
1.207
E
-
197
8.591
E
-
115
1.5260
E
-
12
St.dev
2.6556
1.2604
E
-
07
0
4.705
E
-
114
8.9061
E
-
13
CI
1000
985
1000
1000
952
f
5
Mean
7.47961
1.5450
E
-
06
26.4282
1.5922
1.9505
E
-
04
St.dev
19.0926
7.5654
E
-
06
1.3956
4.4066
2.7217
E
-
04
CI
1000
999
1000
1000
999
f
6
Mean
6.4499
E
-
16
0
3.8463
E
-
10
5.7169
E
-
16
0
St.dev
1.1126
E
-
16
0
2.3239
E
-
10
8.2549
E
-
17
0
CI
997
20
999
671
97
f
7
Mean
8.4786
E
-
02
9.7185
E
-
05
1.9609
E
-
02
2.1514
E
-
02
1.4728
E
-
02
St.dev
2.7907
E
-
02
6.7013
E
-
05
9.3459
E
-
03
6.8816
E
-
02
6.9294
E
-
03
CI
983
797
1000
997
1000
f
8
Mean
3.3165
E
-
01
0
0
0
0
St.dev
1.8165
E
-
01
0
0
0
0
CI
1000
143
84
80
109
f
9
Mean
7.7828
E
-
10
1.0066
E
-
15
8.8817
E
-
16
8.8817
E
-
16
7.9906
E
-
15
St.dev
2.9817
E
-
10
6.4863
E
-
16
0
0
9.3294
E
-
16
CI
1000
93
156
188
802
f
10
Mean
6.9655
E
-
04
0
0
0
0
St.dev
2.2609
E
-
03
0
0
0
0
CI
1000
58
684
834
243
f
11
Mean
5.8570
E
-
16
1.5705
E
-
32
7.1096
E
-
12
5.5312
E
-
16
3.7213
E
-
24
St.dev
1.1349
E
-
16
5.5674
E
-
48
5.2513
E
-
12
8.6858
E
-
17
2.2940
E
-
24
CI
938
105
1000
625
546
f
12
Mean
2.1724
E
-
07
1.3498
E
-
32
4.7831
E
-
08
6.0601
E
-
18
4.6324
E
-
18
St.dev
5.6676
E
-
07
5.5674
E
-
48
2.0359
E
-
07
5.6064
E
-
18
1.3751
E
-
18
CI
996
105
995
567
696Table 4
Performance comparison of GABC, ERABC, IABC, PSABC, and SABC on test functionsf1–f12 (Dim = 50).
Number
GABC
ERABC
IABC
PSABC
SABC
f
1
Mean
1.2546
E
-
05
0
0
0
6.0779
E
-
24
St.dev
6.0511
E
-
09
0
0
0
4.3555
E
-
24
CI
1000
934
726
628
567
f
2
Mean
2.3671
E
-
05
1.2627
E
-
226
0
0
3.2128
E
-
12
St.dev
6.1989
E
-
06
0
0
0
2.6239
E
-
12
CI
1000
1000
61
74
951
f
3
Mean
4.1236
E
+
04
1.0937
E
-
141
4.6927
E
+
04
3.0118
E
+
04
8.7797
E
-
24
St.dev
5.8269
E
+
03
5.9904
E
-
141
7.3584
E
+
03
4.1073
E
+
03
5.5293
E
-
24
CI
1000
1000
1000
1000
565
f
4
Mean
45.3075
1.3695
E
-
08
25.5055
19.6683
2.5018
E
-
12
St.dev
4.3151
5.0911
E
-
08
5.6662
6.3094
1.8606
E
-
12
CI
1000
992
999
1000
983
f
5
Mean
25.7164
1.1000
E
-
03
47.0287
34.4913
2.3657
E
-
01
St.dev
31.75811
3.7000
E
-
03
0.8601
30.3412
1.1026
E
-
01
CI
1000
983
1000
1000
1000
f
6
Mean
5.6529
E
-
09
0
1.8434
E
-
05
1.1674
E
-
15
0
St.dev
3.6854
E
-
09
0
1.7466
E
-
05
1.4114
E
-
16
0
CI
1000
44
1000
1000
108
f
7
Mean
2.4609
E
-
01
9.4755
E
-
05
8.8306
E
-
02
6.5309
E
-
02
8.4158
E
-
02
St.dev
4.7278
E
-
02
6.5181
E
-
05
2.5540
E
-
02
1.7705
E
-
02
1.7730
E
-
02
CI
1000
979
998
966
998
f
8
Mean
2.1733
0
0
0
0
St.dev
1.0728
0
0
0
0
CI
1000
173
172
140
253
f
9
Mean
1.1137
E
-
04
1.2434
E
-
15
8.8817
E
-
16
8.8817
E
-
16
1.5099
E
-
14
St.dev
3.8873
E
-
05
1.0840
E
-
15
0
0
0
CI
1000
109
306
365
817
f
10
Mean
1.0470
E
-
03
0
0
0
0
St.dev
2.7482
E
-
03
0
0
0
0
CI
1000
71
696
836
624
f
11
Mean
9.3017
E
-
11
9.4233
E
-
33
5.4223
E
-
07
1.0252
E
-
15
2.2735
E
-
19
St.dev
7.9664
E
-
11
2.7837
E
-
48
2.9821
E
-
07
1.5815
E
-
16
8.7756
E
-
20
CI
1000
113
999
979
681
f
12
Mean
8.8776
E
-
07
1.3498
E
-
32
2.4156
E
-
05
5.0541
E
-
18
6.8094
E
-
15
St.dev
1.5324
E
-
06
5.5674
E
-
48
4.3568
E
-
05
1.5350
E
-
16
2.0512
E
-
15
CI
999
123
998
959
834From Tables3 and 4, compared to GABC, SABC could achieve much better “mean” and “standard deviation” results than GABC on 11 problems except for functionf7. For the functionf7, SABC algorithm obtained similar results. In addition, the convergence iteration obtained by SABC is smaller than those of ABC, except for functionf7.As can be seen from Tables3 and 4, with respect to ERABC, SABC obtained better “mean” and “standard deviation” values on two functions (f3 andf4) and similar results on four test functions (f6,f8,f9, andf10). However, ERABC algorithm provided better results on six problems (f1-f2,f5,f7, andf11-f12) than SABC.From Tables3 and 4, compared to IABC, SABC obtained better results on five functions (f3,f5,f6,f11, andf12) and similar solutions on four functions (f7,f8,f9, andf10). However, IABC provided better solutions on three functions (f1,f2, andf4) than SABC algorithm.In comparison with PSABC, in Tables3 and 4, SABC provided better solutions on four test functions (f3,f5,f6, andf11) and similar results on five functions (f7,f8,f9,f10, andf12). However, the PSABC algorithm found better solutions on three functions (f1,f2, andf4).


## 4.4. Effects of Limit on the Performance of SABC

To investigate the impact of limit, four different test functions withD=30 are used. They are Sphere (f1), Rastrigin (f8), Ackley (f9), and Griewank (f10). Five different values of limit (i.e., 50, 100, 150, 200, and 250) are used to optimize the four high dimensional test functions. The mean values (mean) and the standard deviation values (St.dev) are shown in Table 5. The box plots of different limit values for four functions are presented in Figure 4.Table 5
The experimental results of SABC with different limit values.
Function
Limit = 50
Limit = 100
Limit = 150
Limit = 200
Limit = 250
Sphere (f1)
Mean
1.6723
E
-
22
1.1061
E
-
24
2.5730
E
-
23
1.7838
E
-
20
3.1027
E
-
19
St.dev
9.1091
E
-
23
1.8645
E
-
24
1.4855
E
-
23
1.7195
E
-
20
7.3276
E
-
19
Rastrigin (f8)
Mean
1.8629
E
-
14
0
0
2.0400
E
-
14
6.6501
E
-
14
St.dev
3.2113
E
-
14
0
0
1.9637
E
-
14
7.7353
E
-
14
Ackley (f9)
Mean
1.5328
E
-
14
7.9906
E
-
15
8.4720
E
-
15
9.4136
E
-
15
1.8826
E
-
14
St.dev
4.4680
E
-
15
9.3294
E
-
16
1.8026
E
-
15
3.3117
E
-
15
8.7152
E
-
15
Griewank (f10)
Mean
4.8762
E
-
12
0
5.9952
E
-
16
8.6898
E
-
12
5.9682
E
-
07
St.dev
1.1261
E
-
11
0
1.5413
E
-
15
4.5680
E
-
11
2.2794
E
-
06Figure 4
Box plots of different limit values for functionf1,f8,f9, andf10 over 30 independent runs.From Table5, parameter limit is able to influence the performance of SABC. When limit is equal to 100, SABC achieves better performance for three functions (f1,f8, andf10). For the Ackley function (f9), the effect of limit on the performance of SABC is very little. From Figure 3 and Table 5, parameter limit = 100 is a suitable choice in SABC algorithm.


## 5. Conclusion

An improved version of ABC, called SABC, is developed by using good-point-set initialization employed to enhance the population distribution, rank-based selection strategy used to enhance the global search ability, self-adaptive position-updated equation applying for balancing the exploration and exploitation. The proposed SABC is tested on 12 well-known global optimization problems. The simulation results show that our algorithm is superior to the conventional ABC and other ABC variants. The further work includes the studies on how to develop SABC to deal with those constrained and engineering design problems.



---

*Source: 4851493-2017-08-14.xml*