The following is code for simulated annealing minimization. The parameter 
space is a box constrained subset of R^d. This code follows the article 
 Goffe, William L. (1996) "SIMANN: A Global Optimization Algorithm using 
Simulated Annealing " Studies in Nonlinear Dynamics & Econometrics, Oct96, 
Vol. 1 Issue 3. The code is a translation to Julia of my Octave code, which 
has been in the Octave optim package for a number of years. That code was 
adapted from previous code for other languages, all of which followed the 
original Fortran code that accompanied the referenced article. This general 
implementation of SA has been used by many people for quite a while, in 
Fortran, Gauss, Ox and Octave versions. The Julia code is new, and little 
tested. This code, unlike the SA in Optim.jl, does not do a fixed number of 
iterations, it stops when convergence criteria are met, or when the 
iteration limit is reached. The search space is contracted using the 
Metropolis criterion to keep the number of accepted draws around one half. 
It warns if the optimum is on the bounds of the parameter space. To test 
the code, run include("samin_test.jl"). Any comments, improvements, etc. 
are welcome.





Attachment: samin.jl
Description: Binary data

Attachment: samin_test.jl
Description: Binary data

Reply via email to