Overview of Optim.jl capabilities
masterOptim.jl provides univariate and multivariate optimization in Julia. Its primary focus is on unconstrained optimization, where solvers attempt to find an x that minimizes a function f(x).
Key features include:
- Local Optimization: Most solvers are designed to converge to a local minimum under certain conditions.
- Global Optimization: For finding global minima, Optim provides methods such as (bounded) simulated annealing and particle swarm.
- Constraints: While primarily unconstrained, there is support for box-constrained and Riemannian optimization.
- Automatic Differentiation: Being written in Julia, Optim has native access to automatic differentiation features via the JuliaDiff ecosystem.
- Extensibility: The package leverages Julia's multiple dispatch to allow for features like custom preconditioners.