Page 32 - Fister jr., Iztok, and Andrej Brodnik (eds.). StuCoSReC. Proceedings of the 2015 2nd Student Computer Science Research Conference. Koper: University of Primorska Press, 2015
P. 32
Ai ∈ [A0, Amin]. The frequency (and wavelength) can of the current best solution is performed according to the
be adjusted depending on the proximities of their tar- following equation:
gets.
x(t) = xbest + A(it)N (0, 1), (2)
• The loudness varies from a large (positive) A0 to a
minimum constant value Amin. where N (0, 1) denotes the random number drawn from a
Gaussian distribution with a zero mean and a standard de-
These three rules mimics the natural behavior of bats, while viation of one. In addition, is the scaling factor and A(it) is
the full basic pseudo-code is presented in Algorithm 1. the loudness. The improvement is controlled by a parame-
ter ri. It is worth pointing that the parameter balances the
Algorithm 1 Bat algorithm exploration and exploitation components of the BA search
process, where exploitation is governed by Eq. 1 and ex-
Input: Bat population xi = (xi1, . . . , xiD)T for i = ploitation by Eq. 2.
1 . . . N p, M AX F E.
Output: The best solution xbest and its corresponding value The evaluation function models the characteristics of the
fmin = min(f (x)). problem to be solved. The archiving of the best solution
1: init bat(); conditionally is similar to that used in SA, where the best
2: eval = evaluate the new population; solution is taken into the new generation according to a
3: fmin = find the best solution(xbest ); {initialization} probability controlled by the parameter Ai in order to avoid
4: while termination condition not met do getting stuck into a local optimum.
5: for i = 1 to N p do
6: y = generate new solution(xi); 2.1 Control parameters in the bat algorithm
7: if rand(0, 1) < ri then
8: y = improve the best solution(xbest ) and their bottlenecks
9: end if { local search step }
10: fnew = evaluate the new solution(y); Control parameters guide algorithms during the search space
11: eval = eval + 1; and may have a huge influence on the quality of obtained
12: if fnew ≤ fi and N(0, 1) < Ai then solutions. In summary, the BA is controlled by the following
13: xi = y; fi = fnew; control parameters:
14: end if { save the best solution conditionally }
15: fmin =find the best solution(xbest ); • the population size NP ,
16: end for • loudness Ai,
17: end while • pulse rate ri,
• minimum frequency Qmin and
The BA is a population-based algorithm, where the popu- • maximum frequency Qmax .
lation size is controlled by a parameter Np. The main loop
of the algorithm (lines 4-16 in Algorithm 1) starts after the As we can see, the BA has five control parameters that can
initialization (line 1), the evaluation of the generated solu- be difficult for users to set a proper combination of con-
tions (line 2) and determination of the best solutions (line trol parameter settings that are the most suitable for the
4). It consists of the following elements: particular problem. Though some algorithms have fewer
parameters such as differential evolution [14] that employs
• generating a new solution (line 6), only three basic control parameters. However, the parame-
• improving the best solution (lines 7-9), ter tuning can be a time-consuming task for all algorithms.
• evaluating the new solution (line 10), On the other hand, there are also some other robust self-
• saving the best solution conditionally (lines 12-14), adaptive [3] BA variants that can modify the values of con-
• determining the best solution (line 15). trol parameters during the run.
The generation of a new solution obeys the following equa- The main task for us is to develop a parameterless variant
tion: of the bat algorithm.
Q(it) = Qmin + (Qmax − Qmin )N (0, 1), (1) 3. DESIGN OF A PARAMETERLESS BAT
vi(t+1) = vit + (xit − xbest )Q(it), ALGORITHM
xi(t+1) = xi(t) + vi(t+1),
In order to develop a new parameterless BA (PLBA), the
where N (0, 1) is a random number drawn from a Gaussian influence of control parameters was studied and extensive
studies revealed that some algorithm parameters can be ef-
distribution with a zero mean and a standard deviation of fectively set. For example, the parameter Qi ∈ [Qmin , Qmax ]
one, and Qi(t) ∈ [Qm(ti)n , Qm(ta)x ] is the frequency determining determines the magnitude of the change and settings of pa-
the magnitude of the velocity change. The improvement rameters Qmin and Qmax depend on the problem of interest.
However, the rational setting of this parameter can be ap-
proximated with the lower xiLb and upper xUi b bounds of the
StuCoSReC Proceedings of the 2015 2nd Student Computer Science Research Conference 32
Ljubljana, Slovenia, 6 October
be adjusted depending on the proximities of their tar- following equation:
gets.
x(t) = xbest + A(it)N (0, 1), (2)
• The loudness varies from a large (positive) A0 to a
minimum constant value Amin. where N (0, 1) denotes the random number drawn from a
Gaussian distribution with a zero mean and a standard de-
These three rules mimics the natural behavior of bats, while viation of one. In addition, is the scaling factor and A(it) is
the full basic pseudo-code is presented in Algorithm 1. the loudness. The improvement is controlled by a parame-
ter ri. It is worth pointing that the parameter balances the
Algorithm 1 Bat algorithm exploration and exploitation components of the BA search
process, where exploitation is governed by Eq. 1 and ex-
Input: Bat population xi = (xi1, . . . , xiD)T for i = ploitation by Eq. 2.
1 . . . N p, M AX F E.
Output: The best solution xbest and its corresponding value The evaluation function models the characteristics of the
fmin = min(f (x)). problem to be solved. The archiving of the best solution
1: init bat(); conditionally is similar to that used in SA, where the best
2: eval = evaluate the new population; solution is taken into the new generation according to a
3: fmin = find the best solution(xbest ); {initialization} probability controlled by the parameter Ai in order to avoid
4: while termination condition not met do getting stuck into a local optimum.
5: for i = 1 to N p do
6: y = generate new solution(xi); 2.1 Control parameters in the bat algorithm
7: if rand(0, 1) < ri then
8: y = improve the best solution(xbest ) and their bottlenecks
9: end if { local search step }
10: fnew = evaluate the new solution(y); Control parameters guide algorithms during the search space
11: eval = eval + 1; and may have a huge influence on the quality of obtained
12: if fnew ≤ fi and N(0, 1) < Ai then solutions. In summary, the BA is controlled by the following
13: xi = y; fi = fnew; control parameters:
14: end if { save the best solution conditionally }
15: fmin =find the best solution(xbest ); • the population size NP ,
16: end for • loudness Ai,
17: end while • pulse rate ri,
• minimum frequency Qmin and
The BA is a population-based algorithm, where the popu- • maximum frequency Qmax .
lation size is controlled by a parameter Np. The main loop
of the algorithm (lines 4-16 in Algorithm 1) starts after the As we can see, the BA has five control parameters that can
initialization (line 1), the evaluation of the generated solu- be difficult for users to set a proper combination of con-
tions (line 2) and determination of the best solutions (line trol parameter settings that are the most suitable for the
4). It consists of the following elements: particular problem. Though some algorithms have fewer
parameters such as differential evolution [14] that employs
• generating a new solution (line 6), only three basic control parameters. However, the parame-
• improving the best solution (lines 7-9), ter tuning can be a time-consuming task for all algorithms.
• evaluating the new solution (line 10), On the other hand, there are also some other robust self-
• saving the best solution conditionally (lines 12-14), adaptive [3] BA variants that can modify the values of con-
• determining the best solution (line 15). trol parameters during the run.
The generation of a new solution obeys the following equa- The main task for us is to develop a parameterless variant
tion: of the bat algorithm.
Q(it) = Qmin + (Qmax − Qmin )N (0, 1), (1) 3. DESIGN OF A PARAMETERLESS BAT
vi(t+1) = vit + (xit − xbest )Q(it), ALGORITHM
xi(t+1) = xi(t) + vi(t+1),
In order to develop a new parameterless BA (PLBA), the
where N (0, 1) is a random number drawn from a Gaussian influence of control parameters was studied and extensive
studies revealed that some algorithm parameters can be ef-
distribution with a zero mean and a standard deviation of fectively set. For example, the parameter Qi ∈ [Qmin , Qmax ]
one, and Qi(t) ∈ [Qm(ti)n , Qm(ta)x ] is the frequency determining determines the magnitude of the change and settings of pa-
the magnitude of the velocity change. The improvement rameters Qmin and Qmax depend on the problem of interest.
However, the rational setting of this parameter can be ap-
proximated with the lower xiLb and upper xUi b bounds of the
StuCoSReC Proceedings of the 2015 2nd Student Computer Science Research Conference 32
Ljubljana, Slovenia, 6 October