Note: This content is accessible to all versions of every browser. However, this browser does not seem to support current Web standards, preventing the display of our site's design details.


ECOS: An SOCP Solver for Embedded Systems


A. Domahidi, Eric Chu, Stephen P. Boyd

European Control Conference (ECC), Zurich

In this paper, we describe the embedded conic solver (ECOS), an interior-point solver for second-order cone programming (SOCP) designed specifically for embedded applications. ECOS is written in low footprint, single-threaded, library-free ANSI-C and so runs on most embedded platforms. The main interior-point algorithm is a standard primal-dual Mehrotra predictor-corrector method with Nesterov-Todd scaling and self-dual embedding, with search directions found via a symmetric indefinite KKT system, chosen to allow stable factorization with a fixed pivoting order. The indefinite system is solved using Davis' SparseLDL package, which we modify by adding dynamic regularization and iterative refinement for stability and reliability, as is done in the CVXGEN code generation system, allowing us to avoid all numerical pivoting; the elimination ordering is found entirely symbolically. This keeps the solver simple, only 750 lines of code, with virtually no variation in run time. For small problems, ECOS is faster than most existing SOCP solvers; it is still competitive for medium-sized problems up to tens of thousands of variables.


Type of Publication:


File Download:

Request a copy of this publication.
(Uses JavaScript)
author={Domahidi, A. and Chu, E. and Boyd, S.}, 
booktitle={European Control Conference (ECC)}, 
title={{ECOS}: {A}n {SOCP} solver for embedded systems}, 
Permanent link