[SciPy-user] Simulated annealing in scipy
elcorto at gmx.net
Fri Jul 22 09:59:06 CDT 2005
If you have an rather complicated parameter optimization problem (e.g.
many local optima (minima in your case, find x which globally minimizes
your R(x))) where you have to have a very good starting guess you won't
get too far with the usual gradient based methods.
You can use "Evolution Strategies". These are simmilar to GAs but are
said to be more effective when it comes to continuous optimization
because GAs work on the basis of binary gene representations.
Some literature hints:
Look at http://citeseer.ist.psu.edu for papers from T. Bäck, H.P.
Schwefel (these guys did at lot of basic work related to ESs), e.g.
as well as
Like SA algorithms the work with ESs requires al lot of empirical
testing with your specific problem to find the optimal settings for the
algorithm (e.g. population size, recombination and selection operators
etc.) Another downside is the computation time. I would suggest to write
the whole thing in C or at least weave the bottlenecks. Good Luck :)
Nils Wagner wrote:
> Robert Kern wrote:
>> Nils Wagner wrote:
>>> Hi all,
>>> I tried to find the smallest eigenvalue of a generalized
>>> eigenvalue problem
>>> K x = \lambda M x
>>> by minimizing the Rayleigh quotient
>>> R = x^T K x / x^T M x
>>> where K and M are symmetric positive definite.
>>> I have used optimize.anneal for this purpose (annealing.py for details).
>>> However, the simulated annealing algorithm doesn't terminate with the
>>> global optimal solution.
>>> But for what reason ?
>> Simulated annealing isn't perfect. It has quite a number of tweakable
>> parameters. Finding the right values for those is something of an art.
> Do you think that genetic algorithms are an option for my task ?
> SciPy-user mailing list
> SciPy-user at scipy.net
More information about the SciPy-user