Interface to DSDP semidefinite programming library.
dsdp(A,b,C,K,OPTIONS=NULL)
Arguments
A: An object of class "matrix" with m rows defining the block diagonal constraint matrices Ai. Each constraint matrix Ai is specified by a row of A as explained in the Details section.
b: A numeric vector of length m containg the right hand side of the constraints.
C: An object of class "matrix" with one row or a valid class from the class hierarchy in the "Matrix" package. It defines the objective coefficient matrix C with the same structure of A as explained above.
K: Describes the sizes of each block of the sdp problem. It is a list with the following elements:
"s":: A vector of integers listing the dimension of positive semidefinite cone blocks.
"l":: A scaler integer indicating the dimension of the linear nonnegative cone block.
OPTIONS: A list of OPTIONS parameters passed to dsdp. It may contain any of the following fields:
print:: = k to display output at each k iteration, else = 0 [default 10].
logsummary:: = 1 print timing information if set to 1.
save:: to set the filename to save solution file in SDPA format.
outputstats:: = 1 to output full information about the solution statistics in STATS.
gaptol:: tolerance for duality gap as a fraction of the value of the objective functions [default 1e-6].
maxit:: maximum number of iterations allowed [default 1000].
Please refer to DSDP User Guide for additional OPTIONS parameters available.
Details
All problem matrices are assumed to be of block diagonal structure, the input matrix A must be specified as follows:
The coefficients for nonnegative cone block are put in the first K$l columns of A.
The coefficients for positive semidefinite cone blocks are put after nonnegative cone block in the the same order as those in K$s. The ith positive semidefinite cone block takes (K$s)[i] times (K$s)[[i]] columns, with each row defining a symmetric matrix of size (K$s)[[i]].
This function does not check for symmetry in the problem data.
Returns
Returns a list of three objects: - X: Optimal primal solution X. A vector containing blocks in the same structure as explained above.
y: Optimal dual solution y. A vector of the same length as argument b
STATS: A list with three to eight fields that describe the solution of the problem:
stype:: PDFeasible if the solutions to both (D) and (P) are feasible, Infeasible if (D) is infeasible, and Unbounded if (D) is unbounded.
dobj:: objective value of (D).
pobj:: objective value of (P).
r:: the multiple of the identity element added to C−A∗y in the final solution to make S positive definite.
mu:: the final barrier parameter ν.
pstep:: the final step length in (P)
dstep:: the final step length in (D)
pnorm:: the final value ∥P(ν)∥.
The last five fields are optional, and only available when OPTIONS$outputstats is set to 1.
References
Steven J. Benson and Yinyu Ye:
DSDP5 User Guide --- Software for Semidefinite Programming Technical Report ANL/MCS-TM-277, 2005