Publisher Description
This is a Java application that demonstrates the Simulated Annealing algorithm with
an attack on the "traveling salesman" problem.
What is simulated annealing?
Simulated annealing is a technique, which was developed to help solve large
combinatorial optimization problems. It is based on probabilistic methods that avoid
being stuck at local (non-global) minima. It has proven to be a simple but
powerful method for large-scale combinatorial optimization.
For practical purposes, simulated annealing has solved the famous traveling
salesman problem: find the shortest of N! paths connecting N cities. Simulated
annealing finds a very good approximation to the shortest path out of the huge
number of all possible paths.
Annealing is nature's trick to find extrema in very complicated situations.
Simulated annealing mimics on a computer the natural process by which crystal lattices
of glass or metal relax when heated. The molecules of hot glass or metal are free
to move about. Temperature is an average of the thermal energy in each molecule
of an object. If the temperature drops quickly, these molecules solidify into a
complex structure. However, if the temperature drops slowly, they form a highly
ordered crystal. The molecules of a crystal solidify into a minimal energy state.
Some real applications simulated annealing:
Determining the sequence of observations for an automated astronomical telescope [2]
Computer Aided Geometric Design
Optimization of Econometric Statistical Functions
Games with random moves determined by the simulated annealing algorithm
Arranging connections on chips and switching devices in telephone networks
The algorithm:
In the simulated annealing algorithm, an objective function to be minimized is
defined. Here it will be the total path length through a set of points.