DFO-LS is a Python library for solving nonlinear least-squares problems, with optional box constraints. It is a derivative-free solver, meaning it only requires function values, and no first (or higher) derivatives. As a result, it is particularly useful for situations when function evaluations are expensive, or when they are noisy.

Examples of using DFO-LS for parameter fitting and solving nonlinear systems of equations are given in the documentation. There is also a demonstration of how standard (derivative-based) solvers fail when function evaluations are noisy.

DFO-LS is based on DFO-GN, but includes more features, including: improved robustness to noise, reduced initialization cost, and greater flexibility in parameter choices.

A version of DFO-LS is also available in the commercial NAG Library.

Lindon Roberts

My research is in numerical analysis, particularly nonconvex and derivative-free optimization.