0
$\begingroup$

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

$\endgroup$

2 Answers 2

1
$\begingroup$

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.

$\endgroup$
1
  • $\begingroup$ thanks, that makes sense theoretically and also suggests a very practical hack for changing the behaviour of a library without editing its source code $\endgroup$ Commented Oct 5, 2018 at 8:14
0
$\begingroup$

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.

$\endgroup$
1
  • $\begingroup$ thanks, these are valid points, so I guess I should have stated some relevant ideas/assumptions: * The target-reached stopping criterion should be used in addition to other criteria, such as convergence, not as the only criterion * I don't want to edit the optimiser code, so having the feature working out-of-the-box is important even if theoretically very simple $\endgroup$ Commented Oct 5, 2018 at 7:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .