![]()
How to express this formula by CVX?
xlog(1+ ay/x) can be expressed
-rel_entr(x,x+ay)
xlog((by+x)/(cy+x)) can be expressed
1/(1-a/c)*(rel_entr(a*y+x,c*y+x)+a/c* rel_entr(c*y+x,a*y+x)
therefore, the problem can be expressed
1/(1-a/c)*(rel_entr(a*y+x,c*y+x)+a/c* rel_entr(c*y+x,a*y+x) - rel_entr(x,x+ay)?
“Correct” or not, you’re not going to be able to subtract two nonnegative rel_entr terms. That is {convex expression} - {convex expression}, which is not allowed by CVX’s DCP rules.
The first term of the original expression is concave. The 2nd term is not concave; perhaps it is convex. The overall expression is not convex; perhaps it is concave. Therefore, if it is concave, you will have to formulate a single CVX expression for the overall expression,
But your first step is to prove this expression is concave (as opposed to neither concave nor convex).