bat_optim implements the standard bat algorithm in three robust steps.
The first step is to initialize the parameters of algorithm to
generate and evaluate the initial population from which to determine the best solution.Secondly, a population of virtual microbats are moved in a d-dimensional search or solution space according to
the updating rules of the algorithm: each bat is encoded with a velocity and a location at each iteration in the
search space. The location is a solution vector, and the current best solution is achieved.
Then the current best solution is improved using random walks. The new solution is evaluated and updated.
See References below for more details.
In essence, frequency tuning acts as mutation to vary the solutions locally; hence, increasing the range of
frequencies leads to a global search. The mutation, compared with genetic algorithms, has no crossover but
depends on loudness and pulse emission. So technically, varying loudness and pulse emission rates can also
make the search intensive approaching the global optimality.
One of the advantages of the bat algorithm is that it can converge very quickly at the initial stage and
can switch from exploration to exploitation when the optimality is approaching.