Skip to content
DFO-GN: Derivative-Free Optimization using Gauss-Newton
Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dfogn
docs
examples
.gitignore
.travis.yml
LICENSE.txt
README.rst
manual.pdf
requirements.txt
setup.py

README.rst

DFO-GN: Derivative-Free Nonlinear Least-Squares Solver

Build Status GNU GPL v3 License Latest PyPI version DOI:10.5281/zenodo.2629875

DFO-GN is a package for solving nonlinear least-squares minimisation, without requiring derivatives of the objective.

This is an implementation of the algorithm from our paper: A Derivative-Free Gauss-Newton Method, C. Cartis and L. Roberts, Mathematical Programming Computation (2019). For reproducibility of all figures in this paper, please feel free to contact the authors. A preprint of the paper is available here.

Note: 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. See here for details.

Citation To cite DFO-GN, please use

@Article{DFOGN,
  Title    = {A derivative-free {G}auss-{N}ewton method},
  Author   = {Cartis, Coralia and Roberts, Lindon},
  Journal  = {Mathematical Programming Computation},
  Year     = {2019},
  Doi      = {10.1007/s12532-019-00161-7},
  Url      = {https://doi.org/10.1007/s12532-019-00161-7}
}

Documentation

See manual.pdf or here.

Requirements

DFO-GN requires the following software to be installed:

Additionally, the following python packages should be installed (these will be installed automatically if using pip, see Installation using pip):

Installation using pip

For easy installation, use pip as root:

$ [sudo] pip install --pre dfogn

If you do not have root privileges or you want to install DFO-GN for your private use, you can use:

$ pip install --pre --user dfogn

which will install DFO-GN in your home directory.

Note that if an older install of DFO-GN is present on your system you can use:

$ [sudo] pip install --pre --upgrade dfogn

to upgrade DFO-GN to the latest version.

Manual installation

The source code for DFO-GN is available on Github:

$ git clone https://github.com/numericalalgorithmsgroup/dfogn
$ cd dfogn

DFO-GN is written in pure Python and requires no compilation. It can be installed using:

$ [sudo] pip install --pre .

If you do not have root privileges or you want to install DFO-GN for your private use, you can use:

$ pip install --pre --user .

instead.

Testing

If you installed DFO-GN manually, you can test your installation by running:

$ python setup.py test

Alternatively, the documentation provides some simple examples of how to run DFO-GN, which are also available in the examples directory.

You can’t perform that action at this time.