scs: SCS - Splitting Conic Solver

View source: R/scs.R

scsR Documentation

SCS - Splitting Conic Solver

Description

Solves convex cone programs via operator splitting.

Usage

scs(A, b, obj, P = NULL, cone, initial = NULL, control = scs_control())

Arguments

A

a matrix of constraint coefficients. NOTE: The rows of matrix A have to be ordered according to the order given in subsection “Allowed cone parameters”. For more information see README.

b

a numeric vector giving the primal constraints

obj

a numeric vector giving the primal objective

P

a symmetric positive semidefinite matrix, default NULL

cone

a list giving the cone sizes

initial

a named list (warm start solution) of three elements: x (length = length(obj)), y (length = nrow(A)), and s (length = nrow(A)), default NULL indicating no warm start.

control

a list giving the control parameters. For more information see README.

Details

Important Note


The order of the rows in matrix A has to correspond to the order given in the table “Cone Arguments”, which means means rows corresponding to primal zero cones should be first, rows corresponding to non-negative cones second, rows corresponding to second-order cone third, rows corresponding to positive semidefinite cones fourth, rows corresponding to exponential cones fifth and rows corresponding to power cones at last.

SCS can solve

  1. linear programs (LPs)

  2. second-order cone programs (SOCPs)

  3. semidefinite programs (SDPs)

  4. exponential cone programs (ECPs)

  5. power cone programs (PCPs)

  6. problems with any combination of cones, which can be defined by the parameters listed in the subsection “Allowed cone parameters”

Allowed cone parameters are

Parameter Type Length Description
z integer 1 number of primal zero cones (dual free cones),
which corresponds to the primal equality constraints
l integer 1 number of linear cones (non-negative cones)
bsize integer 1 size of box cone
bl numeric bsize-1 lower limit for box cone
bu numeric bsize-1 upper limit for box cone
q integer \geq1 vector of second-order cone sizes
s integer \geq1 vector of positive semidefinite cone sizes
ep integer 1 number of primal exponential cones
ed integer 1 number of dual exponential cones
p numeric \geq1 vector of primal/dual power cone parameters

Value

list of solution vectors x, y, s and information about run

Examples

A <- matrix(c(1, 1), ncol=1)
b <- c(1, 1)
obj <- 1
cone <- list(z = 2)
control <- list(eps_rel = 1e-3, eps_abs = 1e-3, max_iters = 50)
sol <- scs(A = A, b = b, obj = obj, cone = cone, control = control)
sol

scs documentation built on April 11, 2023, 6:04 p.m.

Related to scs in scs...