[SciPy-Dev] optimize: add algorithm for global optimization basin hopping

Jacob Stevenson jstevenson131 at gmail.com
Tue Oct 9 17:30:05 EDT 2012


Hi everyone, I just submitted a pull request to incorporate a basinhopping routine in the optimize package.  Basinhopping is a powerful algorithm, but all the hard work would be done by the minimizers that already exist in scipy.optimize, so the additional code needed is really not very much.

The following is from the documentation notes:

Basin hopping is a random algorithm which attempts to find the global minimum of a smooth scalar function of one or more variables.  The algorithm was originally described by David Wales http://www-wales.ch.cam.ac.uk/ .  The algorithm is iterative with each iteration composed of the following steps

1) random displacement of the coordinates

2) local minimization

3) accept or reject the new coordinates based on the minimized function
value.

This global minimization method has been shown to be extremely efficient on a wide variety of problems in physics and chemistry.  It is especially efficient when the function has many minima separated by large barriers.  See the Cambridge Cluster Database http://www-wales.ch.cam.ac.uk/CCD.html for database of molecular systems that have been optimized primarily using basin hopping.  This database includes minimization problems exceeding 300 degrees of freedom.

Thanks,
Jake

p.s. this is my first post and first submission

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scipy-dev/attachments/20121009/8e8b6b99/attachment.html>


More information about the SciPy-Dev mailing list