-
Notifications
You must be signed in to change notification settings - Fork 270
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Include brute as method option #55
Comments
On Fri, Dec 6, 2013 at 12:04 PM, nmearl notifications@github.com wrote:
Anyway, it would be a great addition, and a good project. I'd encourage --Matt Newville |
I was wondering whether anyone has looked into this again or has some code to start with? |
My guess is that you'd be better off with differential_evolution.
|
I'll give that a shot. Thanks, @andyfaff |
@slhck @andyfaff It's very interesting and timely for me that you bring this up now! In fact, I was having a conversation in my lab yesterday about setting up an auto-focus-like system, and the conversation turned to doing a brute-force / grid search followed by a least-squares/steepest-descent approach. But the objective function would be moving motors and measuring an image from a CCD camera, so we need to be able to impose limits on the variables (motor positions). So, using lmfit and starting with a brute force grid and then "polishing" with least-squares would be great for this. The scipy.optimize.brute is not very long and devotes much of its space to the "polishing step", which we don't really need since we can just replace the fitting method in lmfit. So, I would suggest that we add a brute() method using Parameters and their min/max values as the bounds ourselves. Using numpy FWIW, differential evolution seems to me a useful but different thing. A brute-force mesh-search has the appeal of having easily predicted number of evaluations and mesh size, making it appropriate for "broad surveys of parameter space" and for giving an idea of how complicated the parameter landscape is. Anyway, I think this should be done. I would encourage you to try doing this if you're interested, and would be willing to help. |
@reneeotten Thanks! |
Is it possible to include scipy's brute method as an option? I know this may be rather specific -- I need to do a comparative analysis -- but I was hoping if its not too difficult it can be done. I'm looking at the Minimizer function now, but I don't want to muck around in there if it's something that could be easily done by someone who knows the code better.
The text was updated successfully, but these errors were encountered: