As part of #1502 I'm wondering what to do about the names of the stopping criteria based on a minimum change per iteration
At the moment we have set_max_unchanged_iterations, which sets an ftol type criterion (stop when the best function value changes by less than X for N iterations). I'm adding one that sets an xtol type criterion (stop when the best parameter value changes by less than X for N iterations). Current names in some software:
| Stop when |
Matlab |
Scipy (fmin) |
nlopt |
pycma |
PINTS |
| f(x) change < t |
FunctionTolerance, TolFun |
ftol |
ftol |
tolfun |
unchanged_iterations |
| x change < t |
StepTolerance, TolX |
xtol |
xtol |
tolx |
? |
| f(x) < t |
|
|
stopval |
ftarget |
threshold |
I'd gone for unmoved_iterations but initial feedback says no. So now thinking we (deprecate and) rename the unchanged_iterations methods to something that includes the word function?
As part of #1502 I'm wondering what to do about the names of the stopping criteria based on a minimum change per iteration
At the moment we have
set_max_unchanged_iterations, which sets anftoltype criterion (stop when the best function value changes by less than X for N iterations). I'm adding one that sets anxtoltype criterion (stop when the best parameter value changes by less than X for N iterations). Current names in some software:I'd gone for
unmoved_iterationsbut initial feedback says no. So now thinking we (deprecate and) rename theunchanged_iterationsmethods to something that includes the word function?