DFO-GN
DFO-GN is a Python package for finding local solutions to nonlinear least-squares minimization problems (with optional bound constraints), without requiring any derivatives of the objective. DFO-GN stands for Derivative-Free Optimization using Gauss-Newton, and is applicable to problems such as
- Parameter estimation/data fitting;
- Solving systems of nonlinear equations (including under- and over-determined systems); and
- Inverse problems, including data assimilation.
DFO-GN is a derivative-free algorithm, meaning it does not require any information about the derivative of the objective, nor does it attempt to estimate such information (e.g. by using finite differencing). This means that it is particularly useful for solving noisy problems; i.e. where evaluating the objective function several times for the same input may give different results.
We have released a newer package, called DFO-LS, which is an upgrade of DFO-GN to improve its flexibility and robustness to noisy problems.