simulated annealing
**Simulated Annealing (SA)** is a **probabilistic optimization algorithm inspired by the physical annealing process in metallurgy** — accepting both improving and worsening moves (with decreasing probability as "temperature" drops) to escape local optima and find near-global optimal process conditions.
**How Simulated Annealing Works**
- **Initial Solution**: Start with a random or heuristic process recipe.
- **Perturbation**: Randomly modify one or more parameters (neighbor solution).
- **Acceptance**: Accept always if better. Accept worse solutions with probability $P = e^{-Delta E / T}$.
- **Cooling**: Gradually reduce temperature $T$ according to a cooling schedule -> convergence.
**Why It Matters**
- **Escape Local Optima**: The probability of accepting worse solutions allows SA to escape local minima early in the search.
- **Simple Implementation**: Easy to implement — no gradient, population, or complex operators needed.
- **Scheduling**: SA is effective for combinatorial optimization (fab scheduling, layout optimization) where the search space is discrete.
**Simulated Annealing** is **controlled randomness with cooling** — gradually transitioning from exploratory to exploitative search to find near-global optima.