SocpSolver.jl
is a simple, concise interior point solver for solving optimization problems, including
It's written in pure Julia, and is best for small- and medium-sized problems. It includes a wrapper to MathOptInterface for use with JuMP and Convex.jl. At present, this package is still a prototype, and was written primarily as a learning experience for the author. (But I do hope to keep polishing it over time.)
SocpSolver.jl
was written by Nicholas Moehle. It is available under an MIT license, and relies only on packages with similarly liberal licenses.
SocpSolver.jl
is based on the primal--dual interior point algorithm conelp
described in this paper by Lieven Vandenberghe, with some algorithmic improvements described in this paper.
Here is a minimal example using SocpSolver.jl
with Convex.jl.
using Convex, SCS
m = 4; n = 5
A = randn(m, n); b = randn(m, 1)
x = Variable(n)
problem = minimize(sumsquares(A * x - b), [x >= 0])
solve!(problem, SocpSolver.Optimizer())