Researching stopping criteria for mathematical-optimisation algorithms, any libraries I look at (e.g. matlab, apache commons math) only have iteration limits and convergence criteria (e.g. convergence of the objective function, or convergence of the solution). However, I think that for my application it makes sense to stop when a predefined target for the objective function is reached, even if further iterations could continue to reduce it (for minimization).
Is there some theoretical reason why this is actually a bad idea? Is there some reason why libraries don’t seem to support it? Am I missing an existing option?
Thanks!!
There are solvers which terminate when a certain objective is achieved.
However, you can always accomplish this by simply taking your objective $f(x)$ to be minimized and your goal $U$, add the constraint $f(x) \leq U$, and then solve a feasibility problem instead.