 # Conic reformulation of nonlinear terms in Mosek

I am new to conic programming using Mosek.
I am trying to reformulate a model into conic programming, and then I would need to solve it using Mosek/MosekTools.
Based on the definition of the exponential cone, a constraint like x*e^(y/x) <= t can be represented as ( t, x , y) \in K_exp.

However, I have faced the following constraint in a part of my model:

(c1): x*e^y <= t (where x >=0)

Since x>=0, function f(x,y) = x*e^y is convex.

My question is: How can I represent this constraint into a conic form (exponential, second-order cone, etc.)?

I have tried a few things:

I converted (c1) into e^y <= t/x and then represented it as an exponential cone (y,1,t/x) \in K_exp.
However, I get the following error as Mosek does not support inverse.

ERROR: LoadError: inv is not defined for type AbstractVariableRef. Are you trying to build a nonlinear problem? Make sure you use @NLconstraint@NLobjective:

Also, changing the constraint to NLconstraint does not work since Mosek does not support nonlinear constraints.

Introducing a variable s >= e^y, we can write () as the intersection of (s,1,y) \in K_exp and constraint xs <= t (c2). But now, we need to reformulate (c2) into a conic form supported by Mosek.
One way is to let x=e^u and s=e^v and then reformulate (c2) as (t,1,u+v) \in K_exp.
However, the challenge is that when I add constraints

@constraint(model, x == ℯ^u) @constraint(model, s == ℯ^v)

I get the following error:

ERROR: LoadError: MethodError: no method matching ^(::Irrational{:ℯ}, ::VariableRef) Closest candidates are: ^(::Irrational{:ℯ}, ::AbstractIrrational) at mathconstants.jl:91 ^(::Irrational{:ℯ}, ::Rational) at mathconstants.jl:91 ^(::Irrational{:ℯ}, ::Integer) at mathconstants.jl:91

Is there any other solver that could address this issue?
Any suggestion would be appreciated.

xe^y is not convex even when x\geq 0.

In addition to what @Michal_Adamaszek wrote, which means that unless some higher level iterative scheme is used, the problem can’t be handled by CVX with any solver, or with Mosek as solver with any optimization modeling tool, please read Why isn't CVX accepting my model? READ THIS FIRST! .

This forum is starting the new year off with a bang by racking up the first non-convex problem.