[Csdp] CVX interface

Michael C. Grant mcg at cvxr.com
Mon Oct 20 10:12:06 EDT 2014


I certainly do support the development of shims for fully free solvers. CSDP fits into that category nicely. However, I’ve not supported CSDP to date because it doesn’t provide native support for SOCP cones. It’s really not practical for CVX to support solvers that can’t handle SOCP natively.

It is true that SOCP constraints can always be represented using SDP. But a naïve conversion of SOCP to SDP squares the number of variables; and the most efficient approach (in terms of the number of variables) multiplies them by a factor of 6 or so. And both conversions add quite a few equality constraints as well. I have no idea how either of those conversions impacts accuracy, nor have I examined the empirical performance loss. It’s simply not something I can afford the time to investigate or explore. Someone else can do it, but I really cannot support it.

I’m not sure I understand the free variable issue. SeDuMi converts free variables to constrained variables internally as well, but the SeDuMi calling sequence accepts them just fine. Why not use the SeDuMi-compatible calling sequence for CSDP, and let CSDP’s own facilities handle the conversion?

On Oct 20, 2014, at 8:46 AM, Brian Borchers <borchers at nmt.edu<mailto:borchers at nmt.edu>> wrote:

Jose; I believe that CVX requires a solver than can solve second order cone programming problems (SOCP) as well as SDP.  You could transform SOCP's into SDP's and solve them in that form using CSDP, but the performance would be poor in comparison with a code that directly solves SOCP.

I've included Michael Grant in this reply.  Michael; do you have anything to add?


On Mon, Oct 20, 2014 at 7:34 AM, Jose Lopez <lopez.jo at husky.neu.edu<mailto:lopez.jo at husky.neu.edu>> wrote:
Hi list,

I'm a new member to the CSDP list. My name's Jose I'm an EE grad student at Northeastern in Boston. I'm writing to ask if anyone has written a CVX "solver shim" for CSDP so that it can be called from CVX? (CVX encourages users to make solver interfaces so long as the solver is free.) I took a stab at it using the Sedumi solver shim as a starting point but as I'm not that familiar with the internals of SDP solvers I get tripped up when handling the free variables; which as you all know CSDP doesn't accept. I know CSDP has a utility to convert free variable problems but I get tripped up when converting the solution back to Sedumi form. Anyway, if someone has a solver shim I would be really, really, grateful if you shared it. =)

Have a great Monday, list.

Jose

_______________________________________________
Csdp mailing list
Csdp at list.coin-or.org<mailto:Csdp at list.coin-or.org>
http://list.coin-or.org/mailman/listinfo/csdp




--
Brian Borchers                          borchers at nmt.edu<mailto:borchers at nmt.edu>
Department of Mathematics      http://www.nmt.edu/~borchers/
New Mexico Tech                       Phone: (575) 322-2592
Socorro, NM 87801                   FAX: (575) 835-5366

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/csdp/attachments/20141020/0f8866ad/attachment.html>


More information about the Csdp mailing list