Julia Smooth Optimizers -
Here you will find a collection of Julia packages for Nonlinear Optimization. These packages provide the tools needed for creating optimization problems and methods, but also provide access for optimization problems and methods.
See each package status here.
NLPModels.jl: Defines data structures for nonlinear optimization models. Includes models for user-provided functions, automatic differentiation, JuMP / MathProgBase models, and the abstract models used by CUTEst.jl and AmplNLReader.jl.
Krylov.jl: Implements Hand-Picked Krylov methods. For instance, Steihaug-Toint conjugate-gradient method for the minimization of a non-convex quadratic in a Trust-Region.
LinearOperators.jl: Implements linear operators, facilitating the use of some operations (like Hessian-vector products or Limited BFGS matrices). Specially useful with Krylov methods.
BenchmarkProfiles.jl: Implements performance profile for Julia. Uses and easy input and access the Plots library, enabling the use of various backends.
Optimize.jl: Optimization Algorithms in Pure Julia. The focus is to provide large-scale efficient and robust methods. Uses NLPModels for unified access to all problems above. Also defines tools for benchmarking and profiling codes using the same API.