0

I have a mathematical constraint which is a summation of exponential functions: $f = e^{x + y}$. Function $f$ is obviously convex. However, when I include this constraint in my model, MOSEK complains that the constraints with equations $f$ is a non symmetric cone. Upon doing a bit of research, I found notes about Euclidean Jordan Algebra being a unifying algebra for symmetric cones. I have 2 questions, (1) How do I prove that indeed the constraint with functions $f$ belongs in a non symmetric cone? (2) I do not understand how convexity relates to symmetric cones only as required by Euclidian Jordan Algebra. Please help?

  • How exactly did you include that constraint in MOSEK and what was the error message? MOSEK version 9 supports the exponential cone even though it is not symmetric. These cones are also convex, and whether a solver supports them or not is a matter of choice. There are simply more efficient algorithms for symmetric cones than nonsymmetric ones. – Michal Adamaszek Mar 12 '19 at 09:07
  • Hi Michael,This is the actual constraint: $\sum\limits_{i}\sum\limits_{j}e^{ln2(x_{i} + x_{j})} \leq 0$ – P. Khoza Mar 12 '19 at 09:31
  • That doesn't explain how you inputted it in MOSEK and what error you exactly got. I am trying to find out if maybe it is some simple programming problem rather than a deep Jordan Algebra issue that you need help with. – Michal Adamaszek Mar 12 '19 at 09:36
  • I am using cvxpy and this is the snippet of the constraint:$(cp.exp(math.log(2) * (x[0] + x[0])) +
    (cp.exp(math.log(2) * (x[0] + x[1])) +
    (cp.exp(math.log(2) * (x[0] + x[2])) +
    (cp.exp(math.log(2) * (x[0] + x[3])) +
    (cp.exp(math.log(2) * (x[1] + x[0])) +
    (cp.exp(math.log(2) * (x[1] + x[1])) +
    \vdots
    (cp.exp(math.log(2) * (x[3] + x[3])) <= 0$. The error message from Mosek is that this specific constraint is in the non symmetric cone.
    – P. Khoza Mar 12 '19 at 09:49
  • You need cvxpy 1.0 AND Mosek 9 to solve a problem with exponential function. You get Mosek 9 from https://www.mosek.com/content/version-9-beta/ Is this what you have? You could also use the ECOS solver. – Michal Adamaszek Mar 12 '19 at 09:53
  • I have Mosek 8.1.59. There is currently no stable version of Mosek 9, which I need. Only the Beta version. Yes, I have tried ECOS and my model does not terminate. It seems like this is a common problem as per the research I did online. Apparently, there is a scaling issue in the variables, hence the program not terminating. – P. Khoza Mar 12 '19 at 10:01
  • Well, Mosek 8.1 won't solve it unless you use the older interface https://docs.mosek.com/8.1/pythonapi/scopt-reference.html#doc-optimizer-api-nonlinear but then directly and not through cvxpy. On the other hand beta version 9 could be better than nothing ;). – Michal Adamaszek Mar 12 '19 at 10:04
  • Thank you for your assistance. Will check it out. Do you perhaps have a response wrt my second question? I'm not sure how to prove that the constraint I have given is non symmetric using Euclidean Jordan Algebra? – P. Khoza Mar 12 '19 at 10:07
  • There is a classification of symmetric cones. Then you need to show that $\exp(x)$ is not expressible using those cones. – Michal Adamaszek Mar 12 '19 at 10:30

0 Answers0