Discussing the article: "Archery Algorithm (AA)"

 

Check out the new article: Archery Algorithm (AA).

The article takes a detailed look at the archery-inspired optimization algorithm, with an emphasis on using the roulette method as a mechanism for selecting promising areas for "arrows". The method allows evaluating the quality of solutions and selecting the most promising positions for further study.

The Archery Algorithm (AA) is a completely new stochastic optimization method designed to find optimal solutions to optimization problems and inspired by the behavior of an archer aiming at a target. AA simulates the process of shooting arrows at a target. Each member of the population represents a potential solution to the optimization problem, and their positions in the search space are updated based on the performance of a randomly selected "target" member, similar to how archers adjust their aim depending on where they want to hit.

The population is represented as a matrix, where each row corresponds to a member (solution) and each column corresponds to a dimension of the problem. This allows for a structured evaluation and update of decisions based on their objective function values. The performance of each member is evaluated using an objective function that quantifies how good a found solution is. The results are stored in a vector, which allows the algorithm to compare the efficiency of different solutions.

The target is divided into sections with their width corresponding to the productivity of the population members. A probability function is calculated to determine the probability of each member being selected based on its objective function value, with more efficient archers having a higher probability of being selected. A member of the population is randomly selected based on the cumulative probability, simulating an archer's target selection. This choice affects how other members' positions are updated. The algorithm updates the position of each archer in the search space using certain equations. The update depends on whether the selected archer has a better or worse objective function value than the current one. This process involves randomness to explore the search space. AA works iteratively, updating the population until a stop condition (maximum number of iterations) is reached. During this process, the algorithm keeps track of the best solution found.

Author: Andrey Dik

 
Thank you for your research. But I have a very simple question as a simple programmer of Expert Advisors on mql5 (I am not a mathematician). It may seem silly to you, I apologise in advance. But still, how can your research help in optimising EAs? Could you give me an example. Let's say we have a new EA, we want to optimise it, and ....? Thanks.
 
Ilya Melamed optimising EAs? Could you give me an example. Let's say we have a new EA, we want to optimise it, and ....? Thanks.

Thanks for your interest in my work and great question.

There are many scenarios for applying optimisation algorithms, wherever you want to get the best solution among the possible ones.

For example, you can apply it to self-optimisation of EAs as described here.

Or it can be used as part of the optimisation management of an in-house tester, as described here.

Использование алгоритмов оптимизации для настройки параметров советника "на лету"
Использование алгоритмов оптимизации для настройки параметров советника "на лету"
  • www.mql5.com
В статье рассматриваются практические аспекты использования алгоритмов оптимизации для поиска наилучших параметров советников "на лету", виртуализация торговых операций и логики советника. Данная статья может быть использована как своеобразная инструкция для внедрения алгоритмов оптимизации в торгового советника.