Matlab toolboxes: Lots of algorithms. Good documentation. Converting LPs/QPs into standard forms is kind of a fun puzzle but very error-prone. Manual gradient/Jacobian for general nonconvex/nonlinear problems can be painful. Not open-source, so I stopped using it.
SciPy.optimize: Similar pros/cons as Matlab other than open-source.
CVXPY (& its default backends): Modeling languages are great. First thing I will try for a new convex problem.
CVXGEN: Amazing, but infuriating that it can only be used through a web app.
PyTorch: Only supports unconstrained first-order methods. Automatic differentiation of arbitrarily complex functions is huge. Somebody should implement interior-point and SQP on the GPU for PyTorch.
---
As a researcher, my first impression is that your product is designed for people who want to deploy optimization in some service or business process, not for me.
SciPy.optimize: Similar pros/cons as Matlab other than open-source.
CVXPY (& its default backends): Modeling languages are great. First thing I will try for a new convex problem.
CVXGEN: Amazing, but infuriating that it can only be used through a web app.
PyTorch: Only supports unconstrained first-order methods. Automatic differentiation of arbitrarily complex functions is huge. Somebody should implement interior-point and SQP on the GPU for PyTorch.
---
As a researcher, my first impression is that your product is designed for people who want to deploy optimization in some service or business process, not for me.