nlopt icon indicating copy to clipboard operation
nlopt copied to clipboard

MLSL and StoGo stopping criteria

Open dschmitz89 opened this issue 4 years ago • 1 comments

From Nlopt's Python API it is not possible to stop MLSL and StoGo via the x_rel, x_abs, f_rel and f_abs tolerances. In all my experiments they always run until maxeval is reached, even for simple examples. I think that both are potentially powerful optimizers but for real life problems they are difficult to use with this limitation. Is there a way around this by maybe setting a ForcedStop?

After quickly checking the source code, one suggestion to implement a simple stopping criterion for MLSL would be the total number of local searches. This is for example also done in scipy's basinhopping implementation.

StoGo seems to be an external library with its own stopping criteria. Is it maybe possible to set "more practical" tolerances in there?

dschmitz89 avatar Apr 17 '21 07:04 dschmitz89

same issue, it won't stop, and raising errors doesn't stop it either

inikishev avatar Sep 12 '24 06:09 inikishev