Information Technology Reference
In-Depth Information
I
j
(
r
ij
)=
I
0
e
−ʳr
ij
(1)
ʲ
j
(
r
ij
)=
ʲ
0
e
−ʳr
ij
(2)
where
I
0
is the light intensity and
ʲ
0
the original brightness of firefly (i.e.,
fitness) at
r
= 0, respectively. With respect to the light absorption coecient
ʳ
,if
ʳ
0 the attractiveness of a firefly
i
matches with its brightness (fitness),
i.e., the brightness of a firefly will not decrease when viewed by another one. In
thecaseof
ʳ
ₒ
, this means that the attractiveness value of a firefly is close
to zero when viewed by another firefly in the sense that fireflies fly randomly
in a very foggy region. In this case, the fireflies cannot see each other and fly
in a random way. So,
ʳ
determines the speed of convergence and how the FA
behaves. However, the distance between two fireflies
i
and
j
which are located in
two different locations, can be expressed as an Euclidean distance. Taking into
account the parameters like
r
,
ʲ
and
I
. FA can define what kind of movement a
firefly
i
can make with respect to a firefly
j
.
In a few years FAs have proven to be useful for continuous optimiza-
tion [10,19,42]. For the case of FAs on GPU, only a few approaches have been
performed on a GPU platform [13,32]. These models were tested over a contin-
uous domain and good gain times were obtained.
ₒ∞
Algorithm 1.
CPU Firefly Algorithm
1. Initialize a population
P
of
p
fireflies
2. Define light absorption coecient
ʳ
3.
while
non stop condition
do
4.
for
j
=1:
p
do
5. temp=
∅
6.
i
= find the most attractive firefly near to
j
7.
if
i
=
null
then
8.
for
l
=1:
m
do
9.
A
=
computedistance
(
j, i
)
10. temp.add(
movement
Operator
(
j, A
))
11.
end for
12.
else
13.
for
l
=1:
m
do
14. temp.add(
movement
Random
(
j
))
15.
end for
16.
end if
17.
end for
18. sort(
temp
)
19. select
p
fireflies from
temp
and replace on
P
20.
end while
21.
return
The best of
P
Discrete Firefly Algorithm.
Discrete FA is a variation of canonical FA
that may be used for combinatorial problems with success for diverse problems
[8,14,36]. It is the base model used in this work for the implementation over
GPU.
A pseudocode explanation of CPU-DFA can be seen in Algorithm 1. First,
the
p
fireflies are initialized in population
P
(line 1). Next, the
ʳ
parameter is