Reformulating quadratic constraints as SOCP

498 Views Asked by At

Given constant $c \in \Bbb R$, is it possible to reformulate the following quadratic constraints in variables $\bf x$ and $\bf y$ to conic constraints so that I can use an SOCP solver?

$$ \left( x_1^2 + x_2^2 \right) - \left( y_1^2 + y_2^2 \right) \leqslant c $$

1

There are 1 best solutions below

3
On BEST ANSWER

No, it is not possible. That inequality describes a non-convex set, and SOCP necessarily requires convexity.

EDIT: Given the response below ("The terms in the bracket are convex by themselves") I thought I would expand further.

The convexity of individual functions and terms, frankly, is of far less importance than people often think. After all, $x^2 \geq z$ is non-convex, even though $x^2$ is the prototypical convex function. And $\log x \geq y$ is convex, even though the $\log$ function is not convex (concave, in fact).

What matters is the convexity of the set described by the constraint. And if that set is non-convex, no amount of reformulation in terms of convex functions or subexpressions is going to change that. It is non-convex, full stop.

That doesn't mean the problem can't be solved or approximated; that doesn't mean convex optimization can't be part of that solution process. But no, you're not going to be feeding your model to an SOCP solver or any other convex-specific solver.

(In rare occasions, a change of variables can give you a new model with a convex constraint set: for instance, this is how geometric programs are converted to convex form. But this is rare indeed. I am certain there is no change of variables that will accomplish this here, for instance.)