-
Notifications
You must be signed in to change notification settings - Fork 31
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
multidimensional minimization is missing #26
Comments
I think there is a lot of value in getting D's optimization routines in line with what is available in other languages. I am a fan of NLopt, but I don't think I have the knowledge to get it working in D. |
Sorry for not replying to this earlier! It would indeed be very nice to have optimisation routines in SciD. And if there are several, it certainly makes sense for them to have the same API, so they are interchangeable. (I'm not sure to what extent that is possible, though. The API for a genetic algorithm is likely to be very different from that for a conjugate gradient algorithm, for example. But it may be possible to define some broad classes of algorithms.) I'm not sold on the idea of using |
Nelson-Mead simplex is here, but license (requiring copyright notice display) may be a problem: It works for me, but it's by no means rigorously tested. It's hard to design an API from top down unless you already are intimately familiar with the nitty gritty of what each will require. It might be worth creating an experimental branch and starting to write implementations there, refine them, and then refactor out later. Of course you can start by deciding to replicate everything another project does. But it would be a shame to let a grand goal detract from filling in functionality step by step. I am sure many people must have decent implementations squirreled away so if you start to show momentum maybe others will contribute. |
SciD doesn't have any build in multidimensional minimization routines, which I (and probably others) could use. Because of this I recently wrote a library implementing differential evolution (BlackEdder/minimized). The API of this library is a bit simplistic, but it works. Would it be an idea to incorporate this into SciD? Maybe we should define a general interface for all minimization routines and have my library as one of the implementations?
The text was updated successfully, but these errors were encountered: