nlopt
nlopt copied to clipboard
MLSL and StoGo stopping criteria
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?
same issue, it won't stop, and raising errors doesn't stop it either