Skip to contents

R-CMD-check CRAN_Status_Badge Coverage Status CRAN downloads

Embedded Conic Solver in R. This is an R wrapper around the ecos project on GitHub which describes ECOS as below.

ECOS is a numerical software for solving convex second-order cone programs (SOCPs) of type

\text{Minimize } \mathbf{c}^\top\mathbf{x} \text{ such that } \mathbf{A}\mathbf{x} = \mathbf{b} \text{ and } \mathbf{G}\mathbf{x} \leq_{\mathbf{K}} \mathbf{h}

where the last inequality is generalized, that is, \mathbf{h} - \mathbf{G}\mathbf{x} belongs to the cone \mathbf{K}.

ECOS supports the positive orthant \mathbf{R}_+, second-order cones \mathbf{Q}_n defined as

\mathbf{Q}_n = \bigl\lbrace (t, \mathbf{x}) \mid t \geq \lVert \mathbf{x} \rVert_2 \bigr\rbrace

with t a scalar and \mathbf{x} \in \mathbf{R}^{n-1}, and the exponential cone \mathbf{K}_e defined as

\mathbf{K}_e = \text{closure} \bigl\lbrace (x, y, z) \mid \exp(x/z) \leq y/z,\ z > 0 \bigr\rbrace,

where (x, y, z) \in \mathbf{R}^3.

The cone \mathbf{K} is therefore a direct product of the positive orthant, second-order, and exponential cones:

\mathbf{K} = \mathbf{R}_+ \times \mathbf{Q}_{n_1} \times \cdots \times \mathbf{Q}_{n_N} \times \mathbf{K}_e \times \cdots \times \mathbf{K}_e.

Further Details

Note that the ECOS C language sources are included here. Changes to the original source are clearly delineated for easy reference.