You are on page 1of 5

An ABC Algorithm with Inversely Proportional

Mutation
Bilal Babayigit
Dept. of Computer Engineering
Erciyes University
Kayseri, TURKEY
bilalb@erciyes.edu.tr
Resul Ozdemir
USET Vocational School
Nevsehir University
Urgup, Nevsehir, TURKEY
resulozdemir@nevsehir.edu.tr


AbstractArtificial bee colony (ABC) algorithm has been very
popular in the last few years in computational intelligence
research area. This paper proposes a modified version of the
ABC algorithm for solving numerical function optimization
problems. The purpose of this modified ABC algorithm is to
improve the exploitation capability of the ABC algorithm. For
this purpose, the proposed ABC uses an inversely proportional
mutation function and a new search mechanism. Experiments
are performed on a set of 9 widely used benchmark problems.
The experimental results show that this modified ABC
algorithm outperforms the standard ABC algorithm.
Keywords-Computational intelligence;artificial bee colony
algorithm;numerical function optimization; inversely
proportional mutation; search mechanism
I. INTRODUCTION
Recently, artificial bee colony (ABC) algorithm [1] has
become one of the most popular algorithms for solving
optimization problems [16]. The main reason is that the
performance of the ABC algorithm is competitive with those
of other population-based optimization algorithms [2]
because of its few control parameters, simplicity, and ease of
implementation. These are highly desirable properties.
However, the success of the ABC algorithm solving a
specific problem depends on its solution search equation
which is good at exploration but poor at exploitation [36].
In this paper, we present a modified version of the ABC
algorithm which improves the exploitation capability of the
standard ABC algorithm. It uses a mutation at a rate
inversely proportional to the fitness value of solutions
inspired by the affinity maturation by hypermutation concept
of the human immune system [7,8]. Additionally, a new
search mechanism has been introduced.
The remainder of this paper is organized as follows.
Section II outlines the ABC algorithm briefly. Section III
introduces the proposed modifications of the ABC algorithm.
Section IV presents the experimental results for the nine
benchmark functions. Section V concludes the paper.
II. ARTIFICIAL BEE COLONY (ABC) ALGORITHM
The ABC algorithm, originally proposed by Karaboga
[1], is one of the latest swarm-based-heuristic approaches in
the literature. It simulates the simplified social behavior of
honeybees foraging. The ABC uses a colony (population) of
foraging artificial bees which are classified as employed
bees, onlookers, and scouts. The employed bees search the
food sources (solutions) and keep the quality (fitness) of a
food source in their memory. Then, the employed bees share
the information of their food sources with the onlookers on
the dance area. The onlookers make a decision to select good
food sources by watching the dances of the employed bees
and then further search around the food source to get a better
solution. If the food source of an employed bee can not be
improved by a predetermined number of cycles (limit), the
food is abandoned by the employed bee. The employed bee
becomes a scout and explores a new food source. When a
scout finds a new food source, the scout becomes an
employed bee. This iteration cycle is repeated until the
termination condition is satisfied. When this is achieved, the
algorithm is said to have reached the best solution.
In ABC algorithm, employed bees and onlookers perform
the exploitation process, and the scouts control the
exploration process. The flowchart of the ABC algorithm is
shown in Fig. 1.


Figure 1. Flowchart for the ABC algorithm
978-1-4673-1448-0/12/$31.00 2012 IEEE
The ABC algorithm starts with randomly generating food
sources by
X
,]
= X
]
mn
+ ronJ(u,1)(X
]
mux
-X
]
mn
) (1)
where i=1...NS, j=1...D. NS is the number of food sources
(possible solutions) and equals to the half of the number of
colony size (PopSize). D is the dimension of the solution
space.X
]
mn
and X
]
mux
are the lower and upper bounds for the
dimension j. After initialization, the iterative cycles of the
search processes of employed bees, onlookers, and scouts
begin. After the fitness of the employed bee is evaluated,
each employed bee generates a new solution by using
I
,]
= X
,]
+
,]
(X
,]
- X
k,]
), (2)
where k {1, 2, , NS] and ] {1, 2, , ] are randomly
chosen indexes; k has to be different from i;
,]
is a random
number in the range |-1, 1] .Once a new solution I

is
obtained,it is evaluated and compared to the fitness of X

.If
a new solution I

is better than the old solution X

, the old
solution is replaced by the new solution.
The food sources shared by employed bees are selected
by onlookers according to a probability. The probability that
a food source (solution) will be selected is obtained from
P

=
]tncss
i
]tncss
i
NS
i=1
(3)
Where fitness
i
is the fitness (objective function) value of the
food source i. Selected solutions are updated by using (2). If
any food source position does not change over a
predetermined number of cycles, Limit, then the food source
is assumed to be abandoned. After that, the corresponding
employed bee becomes a scout and the algorithm generates a
new solution by using (1). The best solution is memorized.
These processes are repeated until a termination condition is
attained. A more detailed description of the ABC algorithm
can be found in [1, 2].
III. MODIFIED ABC
In this section, we introduce the modifications of the
ABC algorithm to improve the exploitation process.
In ABC algorithm, the exploitation process is carried out
by employed bees and onlookers. In the exploitation process,
onlookers search new solutions with a probability. As can be
seen from (3), the probability is proportional to fitness values
of solutions. More chance is given to the high quality
solutions than the others. We propose a different approach,
inspired by the affinity maturation process of the immune
system [7,8], to calculate the probability value as follows
P

= 1 -(u.uS (1 +

) exp(-

)), (4)
where

is the normalized fitness value between 0 and 1.


The probability value is inversely proportional to the fitness
value where probability decreases as the fitness value
increases.
In ABC algorithm, onlooker bees use (2) to generate new
solutions. In order to enhance the exploitation of the ABC
algorithm, as a second modification, we modify the solution
search equation (2) with
I
,]
= X
bcst,]
+
1
(X
bcst,]
- X
k,]
) +
2
(X
,]
- X
k,]
), (5)
where X

is the selected solution to mutate by the onlooker


bee, X
bcst
is the best solution in the current population, X
k
is
a randomly selected solution which is different from
X

,
1
and
2
are random numbers in range [-1,1], and ] is a
randomly selected parameter in dimension D. We named this
modified version of ABC algorithm as ABCinv.
IV. NUMERICAL EXPERIMENTS AND RESULTS
To evaluate the performance of the ABCinv algorithm,
we compare it with the standard ABC algorithm for nine
well-known benchmark functions with 30 dimensions. These
functions with their mathematical expressions and initial
ranges are listed in Table I.
TABLE I. BENCHMARK FUNCTIONS USED IN THIS EXPERIMENTAL STUDY
Name Mathematical Expression Range
Ackley
1
(x) = -2u exp _-u.2_
1

=1
_ - exp _
1

cos(2nx

=1
] + 2u +c [-32, 32]
Griewank
2
(x) =
1
4uuu
x

=1
- _ cos _
x

i
]

=1
+ 1 [-600, 600]
Rastrigin
3
(x) = |x

2
- 1u cos(2nx

) +1u]

=1
[-5.12, 5.12]
Rosenbrock
4
(x) = |1uu(x
+1
+ x

2
)
2
+(x

-1)
2
]
-1
=1
[-30, 30]
Schwefel 2.26
5
(x) = -x

sin(|x

|)

=1
[-500, 500]
Sphere
6
(x) = x

=1
[-100, 100]
Schwefel 2.21
7
(x) = mox

{|x

|, 1 i ] [-100, 100]
Schwefel 2.22
8
(x) = |x

=1
+ _ |x

=1
[-10, 10]
Quartic
9
(x) = i x

=1
+ ronJ|u, 1) [-1.28, 1.28]
Among nine benchmark functions;
1
-
5
are
multimodal,
6
-
9
are unimodal. The global minimum
values of
1
-
4
and
6
-
9
functions are zeros. For

5
function (Schwefel 2.26), the global minimum value
is -418.9829 .
The population size (PopSize) and limit value (limit) are
taken as 50 (NS=25) and 1000, respectively. Each
experiment was repeated 30 times independently for 50000
function evaluations.
The experimental results of ABC and ABCinv in terms
of the mean, best, worst, and standard deviation (std) values
obtained for each benchmark function are given in Table II.
Boldface is used to indicate the better results.
The convergence performance of ABC and ABCinv are
plotted in Figs. 210. Each figure shows the progress of the
mean of best function values of ABC and ABCinv.
From Table II and Figs. 210, we can see that the results
obtained by ABCinv are clearly better than those by ABC.

TABLE II. COMPARISON RESULTS OF ABC AND ABCINV ONNINE BENCHMARKSFOR 50.000 EVALUATIONS
Function D Algorithm Mean Best Worst Std.

1
30
ABC 2,71E-05 5,15E-06 9,34E-05 6,69E-05
ABCinv 4,28E-08 1,41E-08 8,09E-08 6,80E-08

2
30
ABC 7,43E-05 7,15E-11 0,001886 0,001317
ABCinv 3,43E-09 4,05E-14 8,91E-08 6,18E-08

3
30
ABC 0,98887 0,001955 2,143332 2,250671
ABCinv 0,001522 5,57E-09 0,026119 0,021994

4
30
ABC 5,308398 2,055431 9,70293 7,512175
ABCinv 2,480216 0,340216 9,06922 6,818355

5
30
ABC 6,08E-12 3,02E-13 1,45E-11 1,68E-11
ABCinv 2,83E-16 7,63E-17 9,11E-16 7,85E-16

6
30
ABC -12186,4 -12426,7 -11968,7 398,6548
ABCinv -12355,5 -12568,5 -11975,4 594,9994

7
30
ABC 29,27351 24,97924 34,5074 8,986823
ABCinv 18,39953 13,18899 24,59796 8,7688

8
30
ABC 6,14E-07 3,00E-07 1,41E-06 1,08E-06
ABCinv 4,06E-09 2,38E-09 7,11E-09 4,22E-09

9
30
ABC 0,117153 0,055152 0,168392 0,098858
ABCinv 0,071977 0,044771 0,098706 0,048767

Cycle
0 200 400 600 800 1000 1200 1400 1600 1800 2000
M
e
a
n

o
f

B
e
s
t

F
u
n
c
t
i
o
n

V
a
l
u
e
s
10
-8
10
-7
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
10
1
10
2
ABC
ABCinv

Figure 2. Convergence of ABC and ABCinv for Ackley function
Cycle
0 200 400 600 800 1000 1200 1400 1600 1800 2000
M
e
a
n

o
f

B
e
s
t

F
u
n
c
t
i
o
n

V
a
l
u
e
s
10
-11
10
-10
10
-9
10
-8
10
-7
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
10
1
10
2
10
3
10
4
ABC
ABCinv

Figure 3. Convergence of ABC and ABCinv for Griewank function
Cycle
0 200 400 600 800 1000 1200 1400 1600 1800 2000
M
e
a
n

o
f

B
e
s
t

F
u
n
c
t
i
o
n

V
a
l
u
e
s
10
-4
10
-3
10
-2
10
-1
10
0
10
1
10
2
10
3
ABC
ABCinv

Figure 4. Convergence of ABC and ABCinv for Rastrigin function
Cycle
0 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400
M
e
a
n

o
f

B
e
s
t

F
u
n
c
t
i
o
n

V
a
l
u
e
s
10
-1
10
0
10
1
10
2
10
3
10
4
10
5
10
6
10
7
10
8
10
9
ABC
ABCinv

Figure 5. Convergence of ABC and ABCinv for Rosenbrock function
Cycle
0 200 400 600 800 1000 1200 1400 1600 1800 2000
M
e
a
n

o
f

B
e
s
t

F
u
n
c
t
i
o
n

V
a
l
u
e
s
-12000
-10000
-8000
-6000
-4000
-2000
ABC
ABCinv

Figure 6. Convergence of ABC and ABCinv for Schewefel 2.26 function
Cycle
0 200 400 600 800 1000 1200 1400 1600 1800 2000
M
e
a
n

o
f

B
e
s
t

F
u
n
c
t
i
o
n

V
a
l
u
e
s
10
-19
10
-18
10
-17
10
-16
10
-15
10
-14
10
-13
10
-12
10
-11
10
-10
10
-9
10
-8
10
-7
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
10
1
10
2
ABC
ABCinv

Figure 7. Convergence of ABC and ABCinv for Sphere function
Cycle
0 200 400 600 800 1000 1200 1400 1600 1800 2000
M
e
a
n

o
f

B
e
s
t

F
u
n
c
t
i
o
n

V
a
l
u
e
s
12
16
24
28
32
36
44
48
52
56
64
68
72
76
84
88
92
96
20
40
60
80
100
ABC
ABCinv

Figure 8. Convergence of ABC and ABCinv for Schewefel 2.21 function
Cycle
0 200 400 600 800 1000 1200 1400 1600 1800 2000
M
e
a
n

o
f

B
e
s
t

F
u
n
c
t
i
o
n

V
a
l
u
e
s
10
-10
10
-9
10
-8
10
-7
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
10
1
10
2
10
3
10
4
10
5
10
6
10
7
10
8
10
9
10
10
10
11
10
12
10
13
10
14
10
15
ABC
ABCinv

Figure 9. Convergence of ABC and ABCinv for Schewefel 2.22 function
Cycle
0 200 400 600 800 1000 1200 1400 1600 1800 2000
M
e
a
n

o
f

B
e
s
t

F
u
n
c
t
i
o
n

V
a
l
u
e
s
10
-2
10
-1
10
0
10
1
10
2
10
3
ABC
ABCinv

Figure 10. Convergence of ABC and ABCinv for Quartic function
V. CONCLUSIONS
A modified version of the ABC algorithm, namely
ABCinv, for numerical function optimization has been
proposed. The main differences between the modified ABC
and the standard ABC algorithm are the use of the inversely
proportional mutation and the use of new searching
mechanism. The modified ABC algorithm was tested on
ninewell-known benchmark problems. With these
modifications, the results show that the modified ABC
algorithm clearly improves the performance of the standard
ABC algorithm by providing better exploitation behaviour.
As a future work, we intend to further test our approach
on real-world problems such as cognitive networks and
patch antenna optimization, and with the latest modified
ABC algorithms.

REFERENCES
[1] D. Karaboga, An idea based on honey bee swarm for numerical
optimization, Technical Report TR06, Erciyes University,
Engineering Faculty, Computer Engineering Department, 2005.
[2] D. Karaboga and B. Basturk, On the performance of artificial bee
colony (ABC) algorithm, Applied Soft Computing, vol. 8,
pp. 687 697, 2008.
[3] G. Zhu and S. Kwong, Gbest-guided artificial bee colony algorithm
for numerical function optimization, Applied Mathematics and
Computation, vol. 217, pp. 31663173, 2010.
[4] W. Gao and S. Liu, A modified artificial bee colony algorithm,
Computer & Operations Research, vol. 39, pp. 687697, 2012.
[5] G. Li, P. Niu, and X. Xiao, Development and investigation of
efficient artificial bee colony algorithm for numerical function
optimization, Applied Soft Computing, vol. 12, pp. 320332, 2012.
[6] A. Banharnsakun, T. Achalakul, and B. Sirinaovakul, The best-so-
far selection in artificial bee colony algorithm, Applied Soft
Computing, vol. 11, pp. 28882901, 2011.
[7] L.N de Castro and F.J. von Zuben, Learning and optimization using
the clonal selection principle, IEEE Trans. Evol. Comput., vol. 6,
pp. 239251, 2002.
[8] K. Guney and B. Babayigit, Amplitude-only pattern nulling of linear
antenna arrays with the use of an immune algorithm, Int. J. RF
Microwave Computer-Aided Eng., pp. 397409, 2008.