-
Notifications
You must be signed in to change notification settings - Fork 34
Closed
Description
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 |
- https://uk.mathworks.com/help/optim/ug/tolerances-and-stopping-criteria.html
- https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.fmin.html
- https://nlopt.readthedocs.io/en/latest/NLopt_Introduction/#termination-conditions
- https://github.com/CMA-ES/pycma/blob/c52672315c4f045c1dc8d95a1ff73b89c42bb071/cma/evolution_strategy.py#L315-L318
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?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels