Optim: A mathematical optimization package for Julia

By P. K. Mogensen, A. N. Riseth. Journal of Open Source Software, 2018

538 citations recorded by the source corpus.

Optim provides a range of optimization capabilities written in the Julia programming language (Bezanson et al. 2017). Our aim is to enable researchers, users, and other Julia packages to solve optimization problems without writing such algorithms themselves. The package supports optimization on manifolds, functions of complex numbers, and input types such as arbitrary precision vectors and matrices. We have implemented routines for derivative free, first-order, and second-order optimization methods. The user can provide derivatives themselves, or request that they are calculated using automatic differentiation or finite difference methods. The main focus of the package has currently been on unconstrained optimization, however, box-constrained optimization is supported, and a more comprehensive support for constraints is underway. Similar to Optim, the C library NLopt (Johnson 2008) contains a collection of nonlinear optimization routines. In Python, scipy.optimize supports many of the same algorithms as Optim does, and Pymanopt (Townsend, Niklas, and Weichwald 2016) is a toolbox for manifold optimization. Within the Julia community, the packages BlackBoxOptim.jl and Optimize.jl provide optimization capabilities focusing on derivative-free and large-scale smooth problems respectively. The packages Convex.jl and JuMP.jl (Dunning, Huchette, and Lubin 2017) define modelling languages for which users can formulate optimization problems. In contrast to the previously mentioned optimization codes, Convex and JuMP work as abstraction layers between the user and solvers from a other packages.

Subfields: Computational Mathematics, Computer Graphics and Computer-Aided Design, Numerical Analysis

View Paper: https://www.semanticscholar.org/paper/5b9beb63591876dc225ea00e04d77498fc28a5ea

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Numerical Analysis

  1. Julius Martensen
  2. K. Zubov
  3. Collin Warner
  4. Dominic J. Skinner
  5. Yingbo Ma
  6. A. Ramadhan
  7. Christopher Rackauckas
  8. R. Supekar

Citations in the corpus