How to deal with the constraints "x(2^(1/x) - 1) <= C" via CVX

Uncategorized
Apr 11, 2022
K

How to deal with the constraints “x(2^(1/x) - 1) <= C” via CVX, where C is a constant parameter and x > 0.

J

The question can just be expressing x*(2^(1/x)). Replace it with a variable z, then add the following constraint

{ log(2), x, z } <In> exp_cone

see http://web.cvxr.com/cvx/doc/funcref.html#sets

M

The CVX Users’ Guide is not very clear (i.e., is “wrong”) on the needed syntax for exponential cone constraint.

{ log(2), x, z } == exponential(1) will work.

So altogether what is needed for the constraint is:

variables x z
{ log(2), x, z } == exponential(1)
z - x <= C
K
Replying to #2

Thanks a lot. I got it.

K
Replying to #3

It works well! Thank you very much.