# 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.