How to model two exponential cones >= a specific value with JuMP?

The model is as follow:
obj: min aexp(b)+cexp(d)
subject to: 1<=a<=2
1<=b<=2
0.5<=c<=2
0.5<=d<=2
aexp(b)+cexp(d)>=0.5
image

I see the exponential cones in Jump’s example is smaller than one specific value. Is there an idea to model the proposed problem?

With SCS you need a conic formulation so you need to use the ExponentialCone.
You see in the doc that (x, y, z) is in the cone iff y exp(x / y) <= z and y > 0.
So for instance exp(a) <= b is rewritten as [a, 1, b] in ExponentialCone().
It’s not clear to me how to reformulate your model into a conic program though.
It does not even clear that the problem is convex.
For instance, in 0.5 <= a * exp(b) + c * exp(d), for the problem to be convex, you would need a * exp(b) to be concave in a and b while it is convex in the direction b.
If you replace @objective with @NLobjective and @constraint by @NLconstraint, you can use a nonlinear solver like Ipopt or NLopt.

1 Like