SDP relaxation of a non-convex quadratically-constrained quadratic program

899 Views Asked by At

I am very new to SDP and SDP solvers. I have a semi definite program of the following form $$\min_{x,X}\ Q\bullet X+c^Tx$$ $$\text{s.t. } Q^k \bullet X + (c^k)^T x =b^k , \ k=1,2, \dots,m \\ \quad a^p(a^p)^T \bullet X=(d^p)^2 \\ (a^p)^Tx=d^p, \ p=1,2,\dots, q \\ ee^T-xe^T-ex^T+X \geq 0 \\ X \geq 0 \\ X \geq xx^T $$ How to convert it to a form so that it can be solved by using CVX or SeDuMi? I am unaware of the process/form. Any pointers to helpful examples or guides will be much appreciated. Thanks in advance.

1

There are 1 best solutions below

1
On BEST ANSWER

Based on your comments, the problem is the fact that you need to express the constraint $X \succeq xx^T$ as a linear matrix inequality. As written, of course, it is not, because it is quadratic in $x$. But we can actually use a Schur complement approach: $$X \succeq xx^T \quad\Longleftrightarrow\quad \begin{bmatrix} X & x \\ x^T & 1 \end{bmatrix} \succeq 0$$ This transformation is an important one to know whether you are using CVX, any other convex modeling software, or just attempting to call an SDP solver like SeDuMi directly.

Note that $X\succeq 0$ is implied by $X \succeq xx^T$, so you can drop $X\succeq 0$ from your problem completely.

The other problem you're having with CVX is probably because you haven't declared $X$ to be a symmetric matrix. You'll need to read the manual about that. CVX has its own forum, and further software-specific questions should go there.