Beruflich Dokumente
Kultur Dokumente
Milan Tuba
Faculty of Mathematics
University of Sarajevo
Sarajevo, Bosnia and Herzegovina
adis_mtkn@yahoo.com
AbstractSwarm intelligence algorithms have been successfully applied to intractable optimization problems. Bat algorithm
is one of the latest optimization metaheuristics and research
about its capabilities and possible improvements is at the early
stage. This algorithm has been recently hybridized with
differential evolution and improved results were demonstrated
on standard benchmark functions for unconstrained optimization. In this paper, in order to further enhance the performance
of this hybridized algorithm, a modified bat-inspired differential
evolution algorithm is proposed. The modifications include operators for mutation and crossover and modified elitism during
selection of the best solution. It also involves the introduction of a
new loudness and pulse rate functions in order to establish better
balance between exploration and exploitation. We used the same
five standard benchmark functions to verify the proposed algorithm. Experimental results show that in almost all cases, our
proposed method outperforms the hybrid bat algorithm.
Keywordsbat algorithm; swarm intelligence; metaheuristic
optimization; global optimization
I.
INTRODUCTION
57
RELATED WORK
Begin
Step 1: Initialization. Set the generation counter t=
1; Initialize the population x with n randomly
generated solutions; Set the weight F and crossover
probability Cr.
Step 2: Repeat.
for i=1:n do
Generate randomly three different integers a, b, c
from {1,2,...,n}such that:; Generate randomly
integer jr from{1,2,...,d};
for j=1:d do
if (rand<=Cr or j=jr) then
vi,jt =xc,jt + F( xa,jt - xb,jt )
else vi,jt =xi,jt
end if
end for
Select and update solutions by Eq (4)
end for
Update the counters such as t=t+1;
Step 3: Until t<MaxGeneration
Step 4: Post-process and output the best found
solution
End
A. Optimization Problems
In mathematics and computer science, the optimization
problems are those in which a set of unknowns {x1,,xn} is
required to be determined so that an objective function f is
minimized (maximized) and the number of constraints is
satisfied. In an optimization problem the equalities and
inequalities which represent the limitations imposed on the
decision-making problem that are required to be satisfied are
called constraints. A global optimization problem can be
defined as follows:
(1)
min f ( x)
x
xn*}
u it = x ct + F ( x at x bt ), i = 1, , n
(2)
(3)
(4)
It can be seen that the selection selects the solution with the
best fitness. Also, the overall search efficiency is controlled by
58
bats at this time step t. We can see that a scaling factor also
represents direction and intensity of random-walk. Note that
the procedure for updating the velocity and position of the bats
is similar to that of the PSO algorithm. Thus, the BA algorithm
can be seen as a well-established balance between the standard
PSO algorithm and the intensive local search controlled by the
loudness and pulse rate. The local search is launched with the
proximity depending on the rate ri of pulse emission for the i-th
bat. As the loudness usually decreases once a bat has found its
pray, while the rate of pulse emission increases, the loudness
can be chosen as any value of convenience. Mathematically,
these characteristics are captured with the following equations:
(5)
(6)
(7)
Ait +1 = Ait
(9)
ri t +1 = ri 0 (1 e t )
(10)
Begin
Step 1:Initialization. Set the generation counter t=1;
Initialize the population of n bats randomly and each
bat corrsponding to a potential solution to the given
problem; Define loudness Ai, pulse frequency Qi and
the initial velocities vi (i= 1, 2, . . . , N); Set pulse
rate ri.
Step 2: Repeat. Generate new solutions by
adjusting frequency, and updating velocities and
locations/solutions Eq. [(5)- (7)];
if (rand > ri) then
Select a solution among the best solutions;
Generate a local solution around the selected
best solution;
end if
Generate a new solution by flying randomly;
if (rand<Ai && f(xi) < f(x*)) then
Accept the new solutions;
Increase ri and reduce Ai Eq. [(9)- (10)];
end if
Rank the bats and find the current best x* ;
t=t+1;
Step 3: Until the termination criteria is not
satisfied or t<MaxGeneration
Step 4: Post-processing the results and visualizat.
End
III.
59
be shown that the best results are obtained for initial pulse rates
ri0=0.9, initial loudness A0=0.95 and =0.9.
Begin
Step 1: Initialization. Set the generation counter t=1;
Initialize the population of n bats randomly and each
bat corrsponding to a potential solution to the given
problem; Define loudnesses Ai, pulse rates ri. pulse
frequency Qi , the initial velocities vi and ri0 (i= 1,
2, . . . , N);Set the differential weight F and crossover
probability Cr;
Step 2: Evaluate the fitness value for each bat
determined by the objective function .
Step 3: Repeat.
for i=1:N do
Generate new solutions xit by adjusting freq.
fit, and updating velocities vit and solutions xit-1
Eq. [(5)-(7)].
if (rand > rit) then
Select a solution among the best solutions x*;
Generate a local solution xut around the best
selected solution Eq. (8);
else
xut= xit; //keep previous solution
end if
Generate randomly integers a, b, c and jr such
that a, b, c are from the interval [0,n*rand], jr
takes values from [0, d*rand], and a b c i;
for j=1:d do
if (rand<=Cr or j=jr) then //crossover
xd t(j) = xct(j) + F(xat(j) - xbt(j)); // mutation
else
xd t(j) = xit(j); // take components by Eq. (7)
end if
end for
Evaluate the fitness for the offsprings xu t, xi t, xd t;
Select the offspring xlBt with the best fitness
value between the above mentioned offsprings;
if (rand<A0 && f(xit) < f(xlBt))
Accept the new solution xlBt;
Increase ri and reduce Ai;
end
Sort the bats and find the current global best x* ;
end for
t=t+1;
Step 3: Until the termination criteria is not satisfied
or t<MaxGeneration
Step 4: Post-processing the results and
visualization.
End
IV.
A. Benchmark Functions
In this paper, our test suite consists of five standard
benchmark test functions, as used in [29]. The test test suite
includes many different types of problems such as unimodal,
multimodal, separable, non-separable, convex and continuos.
The unimodal functions contain a single global minimum with
no or single local minimum, while multimodal functions
contain more than one local optimum. The separable functions
of n variables can be written as a sum on n function of just one
variable, while nonseparable functions of n variables cannot be
written, because their variables are not independent.
The Griewank`s function is the multimodal and
nonseparable function. It has the global minimum f(x*)=0
located at the point x* = (0,0,,0). It can be defined as:
D
f1 ( x) =
i =1
D
xi2
x
cos( i ) + 1
4000 i =1
i
(11)
f 2 ( x) = 100( xi2 xi +1 ) 2 + ( xi 1) 2
i =1
(12)
subject to 15 xi 15
The Sphere function is the unimodal, continuous, convex
and separable function. It has value f(x*)=0 at its global
minimum which is located at x* = (0,0,,0). It can be defined
as:
D
(13)
f ( x) = x 2
3
i =1
subject to 15 xi 15
60
(14)
i =1
subject to 15 xi 15
The Ackleys function is the multimodal, continuous and
nonseparable function. It is obtained by modulating an
exponential function with a cosine wave of moderate
amplitude. Originally, it was formulated by Ackley only for the
two dimensional case. It is presented here in a generalized,
scalable version. Its topology is characterized by an almost flat
(due to the dominating exponential) outer region and a central
hole or peak where the modulations by the cosine wave
become more and more influential. It has the global minimum
f(x*)=0 located at the point x*= (0,0,,0). It can be defined as:
f 5 ( x) = 20 + e 20e
0.2
1 D 2
xi
D i =1
1 D
cos( 2 xi )
D i =1
(15)
subject to 32 xi 32
B. Experimental Results
The proposed method has been implemented in C#
programming language. All tests were done on an Intel Core i7
3770 K, 3.5 GHz with 16GB of RAM. The experimental
results, both for the proposed MBDE method and hybrid bat
algorithm HBA, are summarized in Table I. In this atrticle, we
used the same format of table as in paper [27], in order to make
the comparisons of obtained resulsts easier.
TABLE I.
D
10
M
B
D
20
E
30
10
H
B
A
20
30
f1
0
0
0
0
0
5.55E-16
1.48E-16
1.06E-16
2.22E-16
1.32E-14
9.77E-16
2.30E-15
2.25E-09
3.97E-05
3.18E-06
1.14E-07
1.01E-07
2.96E+01
8.56E-07
2.17E+00
6.38E-06
3.57E+01
6.42E-05
f2
2.13E-14
4.30E+00
3.70E-01
1.06E+00
1.73E-05
1.68E+01
1.13E+01
3.11E+00
7.24E+00
8.62E+01
2.67E+01
1.57E+01
6.34E-02
5.10E+02
6.22E+01
7.73E+00
9.73E-03
9.24E+01
1.10E-01
2.00E+01
8.28E+00
2.17E+02
6.59E+01
f3
4.56E-29
4.91E-23
2.63E-24
9.10E-24
8.62E-23
4.87E-17
2.44E-18
8.76E-18
3.09E-18
1.36E-13
1.40E-14
3.42E-14
4.83E-09
2.89E-03
1.26E-04
1.66E-07
4.83E-04
5.47E+01
5.87E-03
1.60E+01
3.37E-01
9.97E+01
3.09E+00
f4
0
0
0
0
0
2.13E-14
2.31E-15
4.57E-15
0
1.55E-13
1.49E-14
3.06E-14
5.12E+00
2.38E+01
1.55E+01
1.69E+01
1.89E-03
1.77E+01
2.18E-02
6.18E+00
1.62E+00
3.98E+01
1.29E+01
f5
3.51E-14
2.68E-12
3.88E-13
5.12E-13
8.56E-12
4.76E-09
7.75E-10
1.20E-09
1.62E-09
3.07E-07
4.23E-08
6.31E-08
6.31E-04
2.00E+01
1.16E+01
1.78E+01
3.70E-05
5.48E+01
3.82E-05
1.95E+01
5.43E-04
9.85E+01
2.53E-03
StDev
3.12E+00
2.00E+01
1.72E+01
5.03E+00
1.94E+01
V.
CONCLUSION
61
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
62