Julia wrapper for the ECOS embeddable conic optimization interior point solver.
The wrapper has two components:
- a thin wrapper around the complete C API
- an iterface to MathOptInterface
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.) If you require a custom build of ECOS, see the Custom Installation instructions below.
ECOS.jl is licensed under the MIT License (see LICENSE.md), but note that ECOS
itself is GPL v3.
Use with JuMP
TO use ECOS with JuMP, use
using JuMP, ECOS model = Model(ECOS.Optimizer) set_optimizer_attribute(model, "maxit", 100)
The list of options is defined the
which we reproduce here:
gamma # scaling the final step length delta # regularization parameter eps # regularization threshold feastol # primal/dual infeasibility tolerance abstol # absolute tolerance on duality gap reltol # relative tolerance on duality gap feastol_inacc # primal/dual infeasibility relaxed tolerance abstol_inacc # absolute relaxed tolerance on duality gap reltol_inacc # relative relaxed tolerance on duality gap nitref # number of iterative refinement steps maxit # maximum number of iterations verbose # verbosity bool for PRINTLEVEL < 3
After ECOS.jl is installed and built, you can replace the installed
dependency with a custom installation by following the
Pkg documentation for overriding artifacts.
Note that your custom
libecos is required to be version 2.0.8.