0

I have a problem similar to the following problem: enter image description here

It is a MISOCP problem and I need to solve it with Rmosek.

The mosek optimization library contains 3 types of convex cones: The R-cone, the quadratic cone and the rotated quadratic cone (refer to http://r-forge.r-project.org/scm/viewvc.php/checkout/pkg/inst/doc/userguide.pdf?root=rmosek (pp 33-34))

I can not transfor my problem to any of these models! I defined some new variables $u_1, u_2, w$ such that $u_1=4x_1, u_2=5x_2, u_1 \geq 0, u_2 \geq 0$ and $w=\sqrt{u_1^2+u_2^2}$. But I do not know how to reformulate the last constraint as one of the above mentioned cones....

I appreciate it if you have any idea

Shima
  • 117
  • 1
  • 10

1 Answers1

1

Your last constraint defines one sheet of the hyperbola defined by 4000x1 + 6400x2 - 384x1^2 - 1280x1x2 - 999x2^2 = 10000. This is not convex. You cannot directly formulate it as a convex conic constraint.

tmyklebu
  • 13,915
  • 3
  • 28
  • 57
  • Thank you for your reply, What if I have the inequality 416x1^2 + 1280x1x2 + 1049x2^2 <= 10000? Then how could I transfer my model in a format which is acceptable in Rmosek? Since I am minimizing the objective function, does not it mean that even in inequalty case the answer is on the surface of hyperbola? – Shima Dec 14 '14 at 14:24
  • @Shima: Sorry, I blew it. See the updated expression. You can formulate "(x1, x2) is in the convex hull of one sheet of the hyperbola defined by 4000x1 + 6400x1 - 384x1^2 - 1280x1x2 - 999x2^2 = 10000." One solution will look like {(t, z1, z2) : t >= 0 and t^2 >= z1^2+z2^2} cap {(t, z1, z2) : z1 = 1} together with a change of coordinates from z1 and z2 to x1 and x2. There may be a "nicer" solution as well. Finding that change of coordinates is a bit of a messy algebra problem. – tmyklebu Dec 14 '14 at 18:25
  • @Shima: And no, that's not necessarily what will happen. The optimal solution could have (x1, x2) as an interior point of the convex hull of the one sheet of your hyperbola. – tmyklebu Dec 14 '14 at 18:26
  • Sorry that I ask it again, but I did not understand what you mean with cap{(t,z1,z2):z1=1}, I studied the Rmosek user guide but I did not get the answer. And my second question is that to sum up, can I formulate my problem (with an equality constraint), or can not I? – Shima Dec 16 '14 at 21:29
  • 'cap' means set intersection. Like `\cap` in LaTeX. Because you have restricted each x variable to a finite set, you can formulate your problem since there are only finitely many configurations of (x1, x2) that lie on your hyperbola, but it will not look like "(x1,x2) can be this point, or it can be this point, or it can be this point, or this one" rather than "here is a relationship that x1 and x2 must satisfy." Nobody's stopping you from trying the second-order cone formulation first, though; if it works, it works. – tmyklebu Dec 17 '14 at 05:09