[SciPy-User] Minimizing Monte Carlo simulation function

Jeremy Sanders jeremy at jeremysanders.net
Tue Sep 23 06:25:34 EDT 2014


I have a function which returns a value computed using a Monte Carlo 
simulation. I'd like to minimize this function. It's also hard to compute 
the gradient for this function as the parameters are converted to integers 
internally (basically they are converted to array indices).

I'd have thought that simulated annealing might be the best way to minimize 
this function. However, this is now deprecated in scipy. The replacement, 
basinhopping, appears to use scipy.minimize internally, so I think this 
relies on a function where the gradient can be computed.

Is there are real replacement for annealing in this scenario? basinhopping 
doesn't seem to work very well when I tried it. It seems that it is wrong to 
deprecate simulated annealing, as it is a widely understood algorithm.

Doing some tests, the most robust way of finding the minimum I have found so 
far is to use the MCMC emcee module.

Thanks
Jeremy Sanders.






More information about the SciPy-User mailing list