“…Under the ideal conditions defined by Markowitz, this optimization problem can be solved using quadratic programming. However, once we start considering additional real-world constraints, the problem becomes more mathematically complex, and tackling it using traditional methods requires increasingly sophisticated instruments, like conic optimization or sparse mean–variance portfolio modeling, and simplifying assumptions [ 3 , 4 , 5 , 6 ]. At one point, the problem becomes so complicated that both researchers and practitioners often start using metaheuristics from the field of evolutionary computation like genetic algorithms, differential evolution or evolution strategies, to name a few.…”