-
Notifications
You must be signed in to change notification settings - Fork 163
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
Expose the DIRECT algorithm from NLopt #356
Comments
This is related to #72. I do not remember why DIRECT was not exposed back then when @bluescarni made the nlopt wrappers maybe the version of NLOP we were using did not include it? Or some other, more fundamental reason? In any case if its possible it should not be too difficult, but we are currently busy with other various requests and improvements, so any help on this one would be appreciated, even if to just tell us that its not possible for some reason .... |
When we first wrote the NLopt wrappers the idea was to focus on the local optimisation capabilities. At the time, NLopt had only a few global optimisation algorithms, but it looks like they added more in recent versions. As @darioizzo puts it, it should not be too difficult to extend the NLopt wrappers to enable the use of the global optimisation algorithms (I believe there is a bullet point about this in #72). We'll get there eventually, but we don't have an ETA at the moment. |
I took a quick look at the NLopt API. One possible inconvenience is that the stochastic global optimisation algorithms seemingly force the random generation of the initial population, and thus there seems to be no way to tell NLopt to use pagmo's population data instead. https://nlopt.readthedocs.io/en/latest/NLopt_Reference/#stochastic-population |
Thats bad, it would destroy the whole "island / migration" stuff. And also the logic of it all .... |
To be clear, it's not all the global optimisation algorithms that have this behaviour, only some of them. So perhaps the compromise here is to wrap only those who let us use our initial population data. |
If I'm not wrong, the DIRECT algorithm is deterministic, so it wouldn't be an issue for that particular algorithm. (It would be for others though, e.g., CRS2.) |
Why would in not be an issue? Even if deterministic it depends on an initial population right? Or its solution depends ony on the problem domain and not on an initial guess? |
DIRECT doesn't depend on an starting point, if that makes sense.
…________________________________
From: Dario Izzo <[email protected]>
Sent: Friday, October 18, 2019 2:37:41 PM
To: esa/pagmo2 <[email protected]>
Cc: Tomalwo <[email protected]>; Author <[email protected]>
Subject: Re: [esa/pagmo2] Expose the DIRECT algorithm from NLopt (#356)
Why would in not be an issue? Even if deterministic it depends on an initial population right? Or its solution depends ony on the problem domain and not on an initial guess?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<#356?email_source=notifications&email_token=ADY6FLSG2QUX2BUO6VPGMTTQPFKTJA5CNFSM4JBS55HKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBS5CUQ#issuecomment-543543634>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ADY6FLVPGYV2MYKQ4OR2AXLQPFKTJANCNFSM4JBS55HA>.
|
Ok then indeed its possible and relatively easy to add. It is not an algorithm in the spirit of the island model, nor of migration etc.. So its main use would be on a single thread / process via |
Also, if I remember correctly, DIRECT can take quite some time to complete .... so its probably good to check how to stop it or how to log its progress .... |
You're right, it doesn't make sense with the island model (unfortunately). Nevertheless, I've found it to be quite effective when the number of variables is not too large.
…________________________________
From: Dario Izzo <[email protected]>
Sent: Friday, October 18, 2019 3:11:19 PM
To: esa/pagmo2 <[email protected]>
Cc: Tomalwo <[email protected]>; Author <[email protected]>
Subject: Re: [esa/pagmo2] Expose the DIRECT algorithm from NLopt (#356)
Also, if I remember correctly, DIRECT can take quite some time to complete .... so its probably good to check how to stop it or how to log its progress ....
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<#356?email_source=notifications&email_token=ADY6FLUCJZHSJCL7PNQRRBLQPFORPA5CNFSM4JBS55HKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBTA4XQ#issuecomment-543559262>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ADY6FLQQBKYB4MWB36PA6WTQPFORPANCNFSM4JBS55HA>.
|
It would the great to expose the DIRECT algorithm that is available in NLopt.
The text was updated successfully, but these errors were encountered: