ECOS.jl is a wrapper for the ECOS solver.
The wrapper has two components:
- a thin wrapper around the complete C API
- an interface to MathOptInterface
This wrapper is maintained by the JuMP community and is not a product of Embotech AG.
ECOS.jl is licensed under the MIT License.
The underlying solver, embotech/ecos, is licensed under the GPL v3 license.
Install ECOS.jl using
import Pkg Pkg.add("ECOS")
In addition to installing the ECOS.jl package, this will also download and install the ECOS binaries. You do not need to install ECOS separately.
To use a custom binary, read the Custom solver binaries section of the JuMP documentation.
Use with JuMP
To use ECOS with JuMP, use
using JuMP, ECOS model = Model(ECOS.Optimizer) set_attribute(model, "maxit", 100)
The ECOS optimizer supports the following constraints and attributes.
List of supported objective functions:
List of supported variable types:
List of supported constraint types:
List of supported model attributes:
The following options are supported:
|scaling the final step length|
|primal/dual infeasibility tolerance|
|absolute tolerance on duality gap|
|relative tolerance on duality gap|
|primal/dual infeasibility relaxed tolerance|
|absolute relaxed tolerance on duality gap|
|relative relaxed tolerance on duality gap|
|number of iterative refinement steps|
|maximum number of iterations|