DDS Users' Guide

How to use DDS

After installation, the command in Matlab that calls DDS is

[x,y,info]=DDS(c,A,b,cons,OPTIONS);

Input Arguments:
cons: A cell array that contains the information about the type of constraints.
\(c,A,b\): Input data for DDS: \(A\) is the coefficient matrix, \(c\) is the objective vector, \(b\) is the RHS vector (i.e., the shift in the definition of the convex domain \(D\)).
OPTIONS: (optional): An array which contains information about the tolerance or initial points.

Output Arguments:
\(x\): Primal point.
\(y\): Dual point which is a cell array. Each cell contains the dual solution for the constraints in the corresponding cell in \(A\).
info : a structure array containing performance information such as info.time , which returns the CPU time for solving the problem.

The following table shows the classes of function/set constraints the current version of DDS accepts, plus the abbreviation we use to represent the constraint. We assume that the objective function is "\(\inf \ \langle c,x\rangle\)". Note that A, b, and cons are cell arrays in Matlab; to see how to define them for a combination of constraints, you can check the users' guide. cons{k,1} represents type of the \(k\)th block of constraints by using the abbreviations of the following table. We can input several blocks of set constraints into DDS and the type of each block is given in cons{k,1}. For example, if the \(k\)th block is an SDP constraint, then cons{k,1}='SDP'.

Function/set constraints the current version of DDS accepts, and their abbreviations.
function/set constraint abbreviation
LP LP
SOCP SOCP
rotated SOCP SOCPR
SDP SDP
Generalized Power Cone GPC
Quadratic Constraints QC
Epigraph of a matrix norm MN
Direct sum of 2-dimensional sets TD
Quantum Entropy QE
Quantum Relative Entropy QRE
Relative Entropy RE
Hyperbolic Polynomials HB
Equality Constraints EQ