Discussing the article: "Andean Condor Algorithm (ACA)"

Check out the new article: Andean Condor Algorithm (ACA).

The article implements the Andean Condor Algorithm (ACA) for MQL5 — a compact optimizer with a multiscale intensification operator. A significant improvement in solution quality was observed with a small population: a single adjustment to the settings propels it into the top 45 — and behind this lies a distinctive feature of the algorithm worth knowing about. This resource provides ready-to-use code and practical guidelines for its application.

Anyone who has ever tuned an Expert Advisor's parameters knows full well why this is necessary. The parameter space is large, and the fitness function landscape is rugged and multimodal. A logical next step is to turn to specialized metaheuristics that can strike a balance between exploration and exploitation of the solution space. But many new algorithms are being released, and most are accompanied by confident claims about their effectiveness, based on tests conducted on just one or two unimodal functions. Algorithms that fall apart on real-world problems can look excellent on the Sphere function — which is why, in this series of articles, each candidate is tested on three benchmarks (Hilly, Forest, Megacity) and at three dimensionalities (10, 50, and 1,000 variables).

Today's candidate is the Andean Condor Algorithm, or ACA, proposed in 2018 by Boris Almonacid and Ricardo Soto for the manufacturing cell formation problem and extended to continuous domains by Almonacid himself in a 2019 paper in PeerJ. The metaphor is the Andean condor's movement pattern when searching for food, which changes from season to season: sometimes wide-ranging flights over the foothills, sometimes local flights around a discovered food source. This is a typical two-phase “exploration/intensification” structure, but with an interesting balancing mechanism: a performance indicator based on the average fitness of the population. Condors with above-average fitness move on to the intensification phase, while the rest continue their exploration.

The main implementation challenge lay in the source publications. The algorithm author's 2019 paper describes only the movement operators and refers readers to the 2018 paper for key details of the balancing mechanism: what exactly the performance indicator does, how each condor's status is calculated from it, and what roles the DP and PC parameters play. Part of this article is therefore devoted to reconstruction: assembling a working version of ACA from the abstract, descriptions of the operators, and a general understanding of metaheuristics. Then compare its behavior with the numerical results that the author did publish for the test problem.


Author: Andrey Dik