stopping criteria for mathematical optimisation: objective function target, rather than convergence

274 Views Asked by At

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!!

2

There are 2 best solutions below

1
On BEST ANSWER

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.

1
On

There is one major potential reason why this is a bad idea: if you are not sure that your algorithm will reach your target value, the algorithm will keep running forever.

There are, apart from the previous reason, two obvious reasons why this might not be implemented: (1) it is almost trivial to do so yourself, and (2) there is little demand, because most people optimizing what to find a value as close to an optimum as possible.