JSOSolvers.jl documentation

This package provides a few optimization solvers curated by the JuliaSmoothOptimizers organization.

Basic usage

All solvers here are JSO-Compliant, in the sense that they accept NLPModels and return GenericExecutionStats. This allows benchmark them easily.

All solvers can be called like the following:

stats = solver_name(nlp; kwargs...)

where nlp is an AbstractNLPModel or some specialization, such as an AbstractNLSModel, and the following keyword arguments are supported:

  • x is the starting default (default: nlp.meta.x0);
  • atol is the absolute stopping tolerance (default: atol = √ϵ);
  • rtol is the relative stopping tolerance (default: rtol = √ϵ);
  • max_eval is the maximum number of objective and constraints function evaluations (default: -1, which means no limit);
  • max_time is the maximum allowed elapsed time (default: 30.0);
  • stats is a SolverTools.GenericExecutionStats with the output of the solver.

See the full list of Solvers.