optymus.methods.simulated_annealing

optymus.methods.simulated_annealing(bounds=[(-5, 5), (-5, 5)], T_init=1.0, T_min=1e-10, alpha=0.95, step_size=0.1, **kwargs)[source]

Simulated Annealing optimization algorithm.

A probabilistic optimization technique inspired by the annealing process in metallurgy. It explores the search space by accepting worse solutions with a probability that decreases as the temperature cools down, allowing escape from local minima.

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

  • T_init (float) – Initial temperature (default: 1.0)

  • T_min (float) – Minimum temperature / stopping criterion (default: 1e-10)

  • alpha (float) – Cooling rate, 0 < alpha < 1 (default: 0.95)

  • step_size (float) – Step size for generating neighbors as fraction of range (default: 0.1)

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

  • 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