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