SCS - Splitting Conic Solver
Description
Solves convex cone programs via operator splitting.
Usage
1 2 3 |
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 |
cone |
a list giving the cone sizes |
control |
a list giving the control parameters. For more information see README. |
Details
A more detailed description can be found in the README file.
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
linear programs (LPs)
second-order cone programs (SOCPs)
semidefinite programs (SDPs)
exponential cone programs (ECPs)
power cone programs (PCPs)
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 | |
f | 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) | |
q | integer | ≥q1 | vector of second-order cone sizes | |
s | integer | ≥q1 | vector of positive semidefinite cone sizes | |
ep | integer | 1 | number of primal exponential cones | |
ed | integer | 1 | number of dual exponential cones | |
p | numeric | ≥q1 | vector of primal/dual power cone parameters |
Allowed control parameters are
Parameter | Type | Description | Default | |
max_iters | integer | giving the maximum number of iterations | 2500 | |
normalize | boolean | heuristic data rescaling | TRUE | |
verbose | boolean | write out progress | FALSE | |
cg_rate | numeric | for indirect, tolerance goes down like \frac{1}{iter}^{cg\_rate} | 2 | |
scale | numeric | if normalized, rescales by this factor | 5 | |
rho_x | numeric | x equality constraint scaling | 1e-3 | |
alpha | numeric | relaxation parameter | 1.5 | |
eps | numeric | convergence tolerance | 1e-3 |
Value
list of solution vectors x, y, s and information about run
Examples
1 2 3 4 5 6 7 |
Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker. Vote for new features on Trello.