Information Technology Reference
In-Depth Information
2
ABC Algorithm
2.1
Algorithm Framework
Inspired from the intelligent foraging behavior of honey bee swarm, ABC algorithm
searches the optimal solutions with three groups of bees: employed bees, onlookers,
and scouts. In the algorithm, one half of the colony consists of the employed bees, and
the other half constitutes the onlookers. There is only one employed bee for each food
source. Employed bees search available food sources and measure their nectar
amounts, then change the food information with onlookers waiting on the dance area.
The employed bee whose food source is exhausted will abandon the previous one and
become a scout to search for a new food source.
In ABC algorithm, the position of a food source represents a possible solution to
the optimization problem. The nectar amount is corresponded to the quality of the
associated solution. In the initial phase, SN solutions are generated randomly, where
SN denotes the size of population. And the number of employed bees or onlookers is
equal to the number of solutions. Each solution is a D -dimensional vector. The initial
solutions are randomly generated with the equation as follows:
( (
)
(1)
x
=
x
+
rand
0,1
x
x
ij
,
min,
j
max,
j
min,
j
where i = 1, 2, …, SN , j = 1, 2, …, D , , and , are the lower and upper
bounds of dimension j respectively.
After initialization, the population of the solutions is subjected to repeat cycles. An
employed bee searches around the position in her memory to find a new food source
and measure its nectar amount. Comparing the nectar amount of the new food source
with that of the previous one, employed bee would memory the new position and
forget the old one if the quality of the new position is better. Otherwise, employed bee
keeps the information of the previous position. The employed bees produce a
candidate food position from the old one as:
(
)
v
=+
x
ˆ
x
x
(2)
ij
,
ij
,
ij
,
ij
,
kj
,
where , is a random number between [-1,1], ∈1,2,…, and ∈1,2,…,
are chosen randomly. Here k has to be different from i . If the value of , exceeds
the bound [ x min,j , x max,j ], it can be set to an accept value. For instance, the value of the
parameter exceeding can be set to its limit value.
On the dance area, an onlooker evaluates the nectar information taken by employed
bees and chooses a food source with a probability related to its nectar amount. The
probability p i is calculated as follows:
fit
p
=
i
(3)
i
SN
fit
n
n
=
1
where fit i presents the fitness value of the solution i which is calculated by its
employed bee and proportional to the nectar amount of the food source. It is observed
that the position with better quality has more probability to be chosen. After choosing
a food source, an onlooker searches the neighboring area of the source by Eq. (2) to
generate a new candidate solution. Similar to the employed bee, if the new solution is
Search WWH ::




Custom Search