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
LINCOA doesn't adhere to upper and lower bounds #178
Comments
Hi, See #42 In brief, this is known. It is not a bug. It is how Powell designed LINCOA and COBYLA. We optimization people call them "infeasible algorithms", which means that they are allowed to visit infeasible points, although they are supposed to achieve feasibility asymptotically. Such algorithms are common and non-strange. Nevertheless, as mentioned in #42, I do understand that bound constraints are often inviolable. Therefore, I plan to improve the algorithms to ensure they always respect bounds. However, I do not think I will have time for that within a few months.
Which interface are you using? The MATLAB interface should be able to continue the optimization even if the evaluation of the objective/constraint function fails. Thanks. Zaikun |
My own, score, function crashes when the parameter is out of bounds. I
would like to prevent that and used bounds checking inside the objective
function but would prefer for it to be done by the algorithm itself -
incorporate the given bounds in its calculation. The *xl* and *xu* options are not respected by LINCOA as I can see.
regards,
Zarko Asen
***@***.***
…On Sat, Mar 23, 2024 at 5:43 PM Zaikun ZHANG ***@***.***> wrote:
See #42 <#42>
Which interface are you using? The MATLAB interface should be able to
continue the optimization even if the evaluation of the
objective/constraint function fails.
Thanks.
—
Reply to this email directly, view it on GitHub
<#178 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACS4YPLKT6OMZAKQXXJPRQLYZWWLXAVCNFSM6AAAAABFEYNLFWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMJWGU2DGNRRGM>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
I fully understand the situation. This is a known issue. Although this is not a bug, it will be fixed when I have time. See below (again).
In addition, may I know whether you are using LINCOA through any interface?
Thanks. |
That would be great, thanks. I use PrimaC - the C interface to the Fortran library in a multithreaded C++ project (G++ 13). |
Thank you for the information. |
I noticed running LINCOA will make it regularly underrun set lower bound for a parameter, and cause my program to stop. Is LINCOA supposed to be bounds checked? If not, can you add the feature of bounds for LINCOA?
The text was updated successfully, but these errors were encountered: