optimagic-dev / optimagic

optimagic is a Python package for numerical optimization. It is a unified interface to optimizers from SciPy, NlOpt and other packages. optimagic's minimize function works just like SciPy's, so you don't have to adjust your code. You simply get more optimizers for free. On top you get diagnostic tools, parallel numerical derivatives and more.
https://optimagic.readthedocs.io/
MIT License
266 stars 30 forks source link

Remove nlopt_praxis #145

Closed janosg closed 4 years ago

janosg commented 4 years ago

Current situation

nlopt_praxis is supported

Desired Situation

I think we should remove it

Reason

The nlopt documentation states:

"This algorithm was originally designed for unconstrained optimization. In NLopt, bound constraints are "implemented" in PRAXIS by the simple expedient of returning infinity (Inf) when the constraints are violated [...]. This seems to work, more-or-less, but appears to slow convergence significantly. If you have bound constraints, you are probably better off using COBYLA or BOBYQA."

Thus the algorithm does not really support bounds and we should not support it. One could argue that it does not hurt, but in simple benchmarks during an EPP project the algorithm ran forever, which is very annoying.

janosg commented 4 years ago

Outdated.