Simulated annealing

From Computer Science Wiki
Advanced programming[1]

Simulated annealing, also known as SA, is a technique used to optimize complex search algorithms. It is used to find the algorithms that have the best chance of performing well, even though they may not be the guaranteed best solution. SA is used in many computer science and mathematical optimizations.

A good use for SA would be for the traveling salesman finding the best path between interconnected cities. SA is helpful for salesman because the search space of possible solutions grows exponentially as the size of the problem increases.

The term originates from metallurgy, where annealing is the controlled heating and cooling of metals to reduce their defects gradually. In SA, this process is simulated by gradually reducing the probability of sub-optimal solutions as a search space grows larger.