numericalalgorithmsgroup / dfogn

Licence: GPL-3.0 License
DFO-GN: Derivative-Free Optimization using Gauss-Newton

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to dfogn

PyCannyEdge
Educational Python implementation of the Canny Edge Detector
Stars: ✭ 31 (+55%)
Mutual labels:  scientific-computing, numerical-methods, numerical-analysis
Nonlinear-Optimization-Algorithms
MATLAB implementations of a variety of nonlinear programming algorithms.
Stars: ✭ 86 (+330%)
Mutual labels:  optimization, nonlinear-optimization, optimization-algorithms
GurobiLink
Wolfram Language interface to the Gurobi numerical optimization library
Stars: ✭ 16 (-20%)
Mutual labels:  numerical-methods, numerical-optimization, optimization-algorithms
ForBES
Generic and efficient MATLAB solver for nonsmooth optimization problems
Stars: ✭ 19 (-5%)
Mutual labels:  optimization, numerical-optimization, optimization-algorithms
NAGPythonExamples
Examples and demos showing how to call functions from the NAG Library for Python
Stars: ✭ 46 (+130%)
Mutual labels:  scientific-computing, numerical-methods, nonlinear-optimization
pdfo
Powell's Derivative-Free Optimization solvers
Stars: ✭ 56 (+180%)
Mutual labels:  numerical-optimization, nonlinear-optimization, optimization-algorithms
Cpp-Examples
Numerical C++ examples.
Stars: ✭ 38 (+90%)
Mutual labels:  scientific-computing, numerical-methods, numerical-analysis
gibbous
Convex optimization for java and scala, built on Apache Commons Math
Stars: ✭ 17 (-15%)
Mutual labels:  optimization, optimization-algorithms
zoofs
zoofs is a python library for performing feature selection using a variety of nature-inspired wrapper algorithms. The algorithms range from swarm-intelligence to physics-based to Evolutionary. It's easy to use , flexible and powerful tool to reduce your feature size.
Stars: ✭ 142 (+610%)
Mutual labels:  optimization, optimization-algorithms
FrankWolfe.jl
Julia implementation for various Frank-Wolfe and Conditional Gradient variants
Stars: ✭ 47 (+135%)
Mutual labels:  optimization, optimization-algorithms
car-racing
A toolkit for testing control and planning algorithm for car racing.
Stars: ✭ 30 (+50%)
Mutual labels:  nonlinear-optimization, optimization-algorithms
GALAHAD
A library of modern Fortran modules for nonlinear optimization
Stars: ✭ 60 (+200%)
Mutual labels:  numerical-optimization, nonlinear-optimization
LBFGS-Lite
LBFGS-Lite: A header-only L-BFGS unconstrained optimizer.
Stars: ✭ 98 (+390%)
Mutual labels:  optimization, nonlinear-optimization
pikaia
Modern Fortran Edition of the Pikaia Genetic Algorithm
Stars: ✭ 29 (+45%)
Mutual labels:  optimization, numerical-optimization
DECAGT
Discretizations of Exterior Calculus for Analysis, Geometry and Topology
Stars: ✭ 14 (-30%)
Mutual labels:  numerical-methods, numerical-analysis
NumDiff
Modern Fortran Numerical Differentiation Library
Stars: ✭ 48 (+140%)
Mutual labels:  optimization, numerical-methods
RcppNumerical
Rcpp Integration for Numerical Computing Libraries
Stars: ✭ 52 (+160%)
Mutual labels:  optimization, numerical-methods
nuxt-prune-html
🔌⚡ Nuxt module to prune html before sending it to the browser (it removes elements matching CSS selector(s)), useful for boosting performance showing a different HTML for bots/audits by removing all the scripts with dynamic rendering
Stars: ✭ 69 (+245%)
Mutual labels:  optimization, optimization-algorithms
qpmad
ROS-compatible Eigen-based Goldfarb-Idnani quadratic programming solver
Stars: ✭ 41 (+105%)
Mutual labels:  optimization, optimization-algorithms
siconos
Simulation framework for nonsmooth dynamical systems
Stars: ✭ 120 (+500%)
Mutual labels:  optimization, scientific-computing

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].