embcol.optimizers.CMAESGlobalOptimizer

class embcol.optimizers.CMAESGlobalOptimizer(problem, callback=(), population_size=None, color_diff_tol=0.02, cost_tol=1e-08, rng=None)[source]

Bases: BaseGlobalOptimizer

CMA-ES global optimizer.

Search a global optimum by the covariance matrix adaption evolution strategy (CMA-ES).

Parameters:
  • problem (embcol.problem.Problem) – Optimization problem.

  • callback (callable or sequence of callable, optional) – Function(s) called after each iteration. The signature of a function must be (params, cost, state) -> None, where params is a one-dimensional array of parameters of type numpy.ndarray, cost is a cost value of type float, and state is a dict object of str to float detailing an optimization state.

  • population_size (int, optional) – Population size. If nothing is given, set to floor(4+3*log(M)), where log(M) is a natural logarithm of the number of parameters.

  • color_diff_tol (float, optional) – Convergence tolerance for color differences among the population.

  • cost_tol (float, optional) – Convergence tolerance for the cost.

  • rng (rng-like, optional) – Random number generator. If nothing is given, a generator is initialized nondeterministically.

Inherited methods

optimize([max_n_iters, resume])

Run an optimization.