optymus.methods.cross_entropy

optymus.methods.cross_entropy(bounds=[(-5, 5), (-5, 5)], pop_size=50, elite_frac=0.2, alpha=0.7, min_std=1e-06, **kwargs)[source]

Cross-Entropy Method optimization algorithm.

A population-based stochastic optimization method that iteratively updates a probability distribution to focus on promising regions of the search space. It samples from a Gaussian distribution, selects the best samples (elite), and updates the distribution parameters based on them.

Reference:

Rubinstein, R. Y. (1999). “The Cross-Entropy Method for Combinatorial and Continuous Optimization.” Methodology and Computing in Applied Probability, 1(2), 127-190.

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

  • pop_size (int) – Population size / number of samples per iteration (default: 50)

  • elite_frac (float) – Fraction of elite samples to use for update (default: 0.2)

  • alpha (float) – Smoothing parameter for mean/std update (default: 0.7)

  • min_std (float) – Minimum standard deviation to prevent premature convergence (default: 1e-6)

  • **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