The authors of "Numerical Recipes" give in Ch. 10 an implementation of the simulated annealing algorithm that combines the "classical" simulated annealing with the Nelder-Mead downhill simplex method.
What I really like about this algorithm is the way it converges to a classic downhill search as the annealing temperatures reaches 0. However, I have never found any other reference to this algorithm; is it a safe, mature variant of the simulated annealing algorithm (i.e. production-ready) or should it be considered as an experimental idea thrown into the book?
Simulated Annealing (SA) is an effective and general form of optimization. It is useful in finding global optima in the presence of large numbers of local optima. “Annealing” refers to an analogy with thermodynamics, specifically with the way that metals cool and anneal.
In practice, therefore, simulated annealing cannot be guaranteed to find the globally optimal solution, but it does usually produce a good solution. As with the genetic algorithm, repeated runs should provide further good solutions.
When compared with simulated annealing, the genetic algorithm was found to produce similar results for one circuit, and better results for the other two circuits. Based on these results, genetic algorithms may also yield better results than simulated annealing when applied to the placement problem.
Simulated Annealing (SA) mimics the Physical Annealing process but is used for optimizing parameters in a model. This process is very useful for situations where there are a lot of local minima such that algorithms like Gradient Descent would be stuck at.
Nope, not safe, guaranteed to give you herpes.
As someone who works professionally with AI and intelligent systems I can tell you that very few such algorithms are considered mature. By their nature advanced algorithms all tend to have an experimental aspect to them. For example, in simulated annealing you need to formulate a cooling schedule. How you do this is very problem-specific and will require you to experiment with and tune the algorithm. The NR code is a reasonable starting point for doing this.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With