Convex function not accepted in CVX


I would like to minimize a objective with the form as following:

\sum_{i=1}^{N} a_i * (e^{t_i}-1)/t_{i}

and t_i 's are subject to linear constraints, while a_i’s are parameters.

I type this function into CVX but it says there is an error as {convex}/{linear} is not accept in CVX.

May I know that is there any thing do such as change of variables so that I can use CVX to solve my problems.


Presuming that the a_i are non-negative, then your objective function is indeed convex.

If t > 0, and if it were not for the linear constraints on t, then I think you could do this by defining your t as being the reciprocal of the way you defined it. and then using the exponential cone, as shown in Exponential perspective function on CVX . Then (I’ll let you put in the a_i and extend it to N dimensions)

{1,t,z} == exponential

Hopefully I didn’t screw up that logic, including the subtracting t term from z. However, if you do the above, then the constraints which were linear in your (old) t will now be nonlinear in the new t, so you would have to be able to express them in a DCP-compliant manner, which perhaps you might not be able to do.

Thanks so much. I will have a try.