simulated-annealing

Optimize continuous objective functions using simulated annealing with Metropolis acceptance and configurable schedules.

Updated Jan 26, 2026
One-click install
npx skills add https://github.com/SPIRAL-EDWIN/MCM-ICM-2601000 --skill simulated-annealing
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: simulated-annealing
Source: https://github.com/SPIRAL-EDWIN/MCM-ICM-2601000/tree/main/.github/skills/simulated-annealing
Command: npx skills add https://github.com/SPIRAL-EDWIN/MCM-ICM-2601000 --skill simulated-annealing

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Simulated Annealing provides a robust approach for finding near-optimal solutions in complex, multimodal optimization landscapes where gradient information is unavailable or unreliable.

Core Features & Use Cases

  • Global optimization for continuous, non-convex functions.
  • Flexible neighbor generation (Gaussian, Uniform, Cauchy) and multiple cooling schedules.
  • Suitable for parameter tuning, design optimization, and black-box problem solving.

Quick Start

Create a SimulatedAnnealing instance with your objective function and variable bounds, then call optimize to obtain the best solution. For example, import SimulatedAnnealing, define an objective and bounds, and run: sa = SimulatedAnnealing(objective, bounds); result = sa.optimize()

Frequently Asked Questions about simulated-annealing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I optimize parameters when gradient information is unavailable?

Simulated annealing optimizes continuous multimodal objective functions using a physics-inspired approach with Metropolis acceptance. You provide an objective function and variable bounds, and it performs a stochastic search to find near-optimal solutions for black-box optimization tasks.

How does simulated annealing escape local optima in non-convex functions?

Simulated annealing escapes local optima by using a Metropolis acceptance criterion that probabilistically accepts worse solutions during the search. It supports Gaussian, Uniform, and Cauchy neighborhood generation along with multiple cooling schedules to navigate complex landscapes.

Can I use this for parameter tuning and engineering design optimization?

Yes, this approach is suitable for parameter tuning, engineering design, and other black-box optimization tasks. It handles continuous, non-convex functions where gradients are unreliable, using adaptive cooling schedules and optional constraint handling.

What is the best way to set up a global optimization search for continuous variables?

The best way to set up global optimization is to instantiate the optimizer with your objective function and variable bounds, then call the optimize method. This executes the stochastic search across the defined solution space and returns the best solution found.

Does this black-box optimization approach support boundary constraints?

Yes, the simulated annealing approach supports optional constraint handling alongside variable bounds. You define the search space boundaries before optimization, and the algorithm respects these limits while generating neighbors during the stochastic search.

What are the limitations of using simulated annealing for global optimization?

Simulated annealing is designed for continuous multimodal objective functions and relies on stochastic search rather than gradients. Its effectiveness depends on selecting appropriate cooling schedules and neighbor generation methods, making it less suitable for discrete or purely combinatorial problems.