Optimizers (optimizers package)

To perform demographic inference optimization should be launched. There are different optimizers in GADMA: local search and global search algorithms.

Base Classes

Module gadma.optimizers.optimizer contains several base classes of optmizers.

Global optimizers

Module gadma.optimizers.global_optimizer contains base class for global optimizers.

Additional global optimizer could be implemented by creating new subclass of class gadma.optimizers.GlobalOptimizer and register it with function gadma.optimizers.register_global_optimizer().

Registered global optimizers

The following optimizers are registered:

ID Description Instance of
“Genetic_algorithm” Genetic algorithm optimization gadma.optimizers.GeneticAlgorithm
“GPyOpt_Bayesian_optimization” Bayesian optimization (GPyOpt) gadma.optimizers.GPyOptBayesianOptimizer
“SMAC_squirrel_optimization” Bayesian optimization (SMAC squirrel) gadma.optimizers.SMACSquirellOptimizer
“SMAC_BO_optimization” Bayesian optimization (SMAC) gadma.optimizers.SMACBayesianOptimizer
“SMAC_BO_combination” Bayesian optimization ensemble gadma.optimizers.SMACBOKernelCombination

Genetic algorithm

Bayesian optimization

Local optimizers

Module gadma.optimizers.local_optimizer contains classes for local serach optimizers.

Additional local optimizer could be implemented by creating new subclass of class gadma.optimizers.local_optimizer.LocalOptimizer and register it with function gadma.optimizers.local_optimizer.register_local_optimizer().

Registered local optimizers

The following optimizers are registered:

ID Description Instance of
None or “None” None optimization is run gadma.optimizers.NoneOptimizer
“L-BFGS-B” L-BFGS-B from scipy gadma.optimizers.ScipyConstrOptimizer
“L-BFGS-B_log” L-BFGS-B from scipy with log transform of values gadma.optimizers.ScipyConstrOptimizer
“BFGS” Constrained BFGS from scipy gadma.optimizers.ManuallyConstrOptimizer
“BFGS_log” Constrained BFGS from scipy with log transform of values gadma.optimizers.ManuallyConstrOptimizer
“Powell” Constrained Powell’s method from scipy gadma.optimizers.ManuallyConstrOptimizer
“Powell_log” Constrained Powell’s method from scipy with log transform of values gadma.optimizers.ManuallyConstrOptimizer
“Nelder-Mead” Constrained Nelder-Mead method from scipy gadma.optimizers.ManuallyConstrOptimizer
“Nelder-Mead_log” Constrained Nelder-Mead method from scipy with log transform of values gadma.optimizers.ManuallyConstrOptimizer

Combinations of optimizers

Module gadma.optimizers.combinations contains classes of optimizers that are combinations of other optimizers.

Optimizer result

Linear constrain