As its name implies, the Simulated Annealing (SA) exploits an analogy between the way in which a metal cools and freezes into a minimum energy crystalline structure (the annealing process) and the search for a minimum in a more general system.
The algorithm is based upon that of Metropolis et al. , which was originally proposed as a means of finding the equilibrium configuration of a collection of atoms at a given temperature. The connection between this algorithm and mathematical minimization was first noted by Pincus , but it was Kirkpatrick et al.  who proposed that it form the basis of an optimization technique for combinatorial (and other) problems.
SA's major advantage over other methods is an ability to avoid becoming trapped at local minima. The algorithm employs a random search which not only accepts changes that decrease objective function , but also some changes that increase it. The latter are accepted with a probability
where is the increase in and is a control parameter, which by analogy with the original application is known as the system `temperature' irrespective of the objective function involved.
The implementation of the SA algorithm is remarkably easy. Figure 17 shows its basic structure. The following elements must be provided: