I have used CVX for quite a while now to build prototypes of my model. This has worked great, but now that I have finalized the problem formulation, I want to go for speed. That is why I want to move on from CVX to C (in combination with ECOS, to be precise).
My current problem is an SOCP in the form:
\text{minimize}\ f^T x
\text{subject to}\ ||A_i x + b_i|| \leq c_i^T x + d_i, i=1,2,...,m
F x = g
I now need to formulate it in this form:
\text{minimize}\ f^T x
\text{subject to}\ Ax = b,\ Gx \leq_K h
How should I approach this? Is there any reference that explains this? It would be great to get some references that could be useful for this.
Depending on how fast you need it to be you might find calling ecos directly (rather than through cvx) gives you the performance boost you need. I believe the C functions have a similar interface so even if you need the extra speed calling ecos directly from matlab will probably help you get your problem set up correctly.
mcg, yes, I have. It worked great, and I found that ECOS works faster than other solvers. However, the bottleneck in my code remains CVX, which is I would like to take the next step and call ECOS directly.
That’s interesting. Sometimes I find that there is some sort of caching issue and a comment I post doesn’t appear the first couple of times I refresh. But yours didn’t show at all. I don’t know why that is.
Truth is, we’re not getting enough traction on the upvotes and answer acceptance as it is. Karma is sort of worthless if it isn’t changing. I’ll figure something out.