![MQL5 - Language of trade strategies built-in the MetaTrader 5 client terminal](https://c.mql5.com/i/registerlandings/logo-2.png)
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
New article Population optimization algorithms: Bat algorithm (BA) has been published:
In this article, I will consider the Bat Algorithm (BA), which shows good convergence on smooth functions.
When implementing the BA algorithm, I came across the fact that in many sources the authors of the articles describe the algorithm in completely different ways. The differences are both in the use of terms in the description of key points and in the fundamental algorithmic features, so I will describe how I understood it myself. The basic physical principles underlying echolocation can be applied in the algorithm with significant reservations and conventions. We assume that the bats use sound pulses with the frequency ranging from MinFreq to MaxFreq. The frequency affects the bat velocity. The conditional concept of loudness is also used, which affects the transition from the state of local search at the location of the current position of the bat to the global one in the vicinity of the best solution. The pulsation frequency increases throughout the optimization, while the volume of the sounds decreases.
BA algorithm pseudo code (Fig. 1):
1. Bat population initialization.
2. Generation of frequency, speed and new solutions.
3. Search for a local solution.
4. Updating the global solution.
5. Decreasing the volume and increasing the pulsation frequency.
6. Repeat step 2 until the stop criterion is met.
Fig. 1. BA algorithm block diagram
Author: Andrey Dik