How to choose optimizerΒΆ

The default choice of optimization methods in params_file is the following:

  • Genetic_algorithm as Global optimizer,
  • BFGS_log as Local optimizer.

We recommend to use BFGS_log as local search algorithm. Genetic_algorithm is also the most efficient method for demographic inference with GADMA.

However, there are special cases when it is better to use Bayesian optimization as a global search algorithm. Usually it is case for demographic inference with more than three populations. More about Bayesian optimization could be found here.

Below there is a table with recomendations about global search algorithm choice. GA stands for the genetic algorithm, BO for Bayesian optimization. Symbol ? means that we have not checked the efficiency for Bayesian optimization in that settings.

Pop.num.Engine dadi moments momi2 momentsLD
1 GA GA GA GA
2 GA GA GA GA
3 GA or BO * GA GA ?
4 BO BO GA ?
5 BO BO GA ?
>5 βœ– ** βœ– ** GA βœ– **

* depends on the time of log-likelihood evaluation. If grid size (Pts) or sample size of data are big then BO is better choice, otherwise GA should be used.

** Not supported