Momo
October 12, 2024, 3:03am
1
Can someone help me with
c/y^2*e^{-ax+b} \leq z in CVX, where x,y,z are variables, and a,b,c\geq0 ?
I’ve checked the hessian matrix of the LHS, which is positive semidefinite.
But I encountered the Disciplined convex programming error: Cannot perform the operation: {convex} .* {log-affine} when I implement it in CVX.
Momo
October 12, 2024, 3:22am
2
I think I found a way to manage it by expressing it as ce^{-ax+b-2log(y)} , which is acceptable by CVX.
Is this a good approach?
Btw, can someone kindly explain why the original form is not accepted while the second one is?
The first formulation violates CVX’s rules.
The second formulation complies with CVX’s log-convexity rules, which unfortunately are not documented in the CVX Users’ Guide, but are documented in
It might be a bit surprising to CVX power users that log(1/(1+exp(-z))) is accepted by CVX. After all, it does not seem to obey the disciplined convex programming ruleset!
But in fact, in order to support geometric programming , CVX has a lesser known set of rules governing log convexity as well. The definition of log convexity is this: if a function is positive and its logarithm is convex, then it is log-convex. There are equivalent definitions of log-affine and log-concave functions as well.
W…
Momo
October 14, 2024, 8:03am
4
Thanks so much for your reply.