How do I transform this problem into a semidefinite program?

386 Views Asked by At

$$\begin{array}{ll} \text{minimize} & \dfrac{(c^T x)^2}{(d^Tx)}\\ \text{subject to} & Ax \leq b\\ & d^T x > 0\end{array}$$

I have been stuck on this question for a couple days. I am sharing with you what I tried, although I am pretty sure it's wrong. Please help.


enter image description here

1

There are 1 best solutions below

3
On

Let $r=d^Tx > 0$ and $s=c^T x$. Your objective $\min t$ subject to $t \geq \frac{s^2}{r}$ is conic representable via the rotated quadratic cone (best for practical optimization):

$(t,r,s) \in \mathcal{Q}_r^3$,

or alternatively via the semidefinite cone:

$\left(\begin{array}{ll} t & s\\ s & r \end{array}\right) \in \mathcal{S}^2_+$

If you for some reason need a standard form SDP you need to reformulate $r=d^Tx$ and $s=c^T x$ with two inequalities each and append them to your system of inequalities $Ax \leq b$.