optymus.methods.cmaes

optymus.methods.cmaes(bounds=[(-5, 5), (-5, 5)], pop_size=None, sigma=0.5, **kwargs)[source]

CMA-ES (Covariance Matrix Adaptation Evolution Strategy) optimization algorithm.

A state-of-the-art evolutionary strategy for difficult non-linear, non-convex optimization problems. It adapts the covariance matrix of a multivariate normal distribution to learn the structure of the search space.

Parameters:
  • bounds (list) – List of (min, max) tuples for each dimension

  • pop_size (int) – Population size. If None, uses 4 + floor(3 * ln(n))

  • sigma (float) – Initial step-size (default: 0.5)

  • **kwargs – Additional arguments passed to BaseOptimizer (f_obj, f_cons, max_iter, verbose, etc.)

Returns:

Optimization results containing:
  • method_name: Name of the method

  • x0: Initial point (center of bounds)

  • xopt: Optimal solution found

  • fmin: Minimum function value

  • num_iter: Number of iterations

  • path: Optimization path

  • time: Elapsed time

  • memory_peak: Peak memory usage in MB

Return type:

dict