How is this f function expressed in CVX? The following is my proof of the joint convexity of this function expression. I try to use inv_ pos function but the error shown in the question is reported.

You can use a power cone:

x^2/3*y^1/3 >= |s|, x,t>=0 (This is the power cone)

x=L-t

s >= 0

which implies

y>= s^3 / (L-t)^2

Thanks for your reply. Does the power cone have specific constraints in CVX? If this expression is used as a constraint, a {concave} .* {concave} error will occur.

It is impossible to answer your question based on the information you provide. If you show your code you may get some help.

cvx_begin quiet

warning off

variable s(3);

variable x;

variable y(3);

variable z(3);

minimize ((L_max-x)×(p(1)+p(2)+p(3))+RhoL_0×

(1/L_max)^2×pow_pos(S_tot-s(1)-s(2)-s(3),3));

subject to

s(1)+s(2)+s(3)<=S_tot;

s(1)>=0;

s(2)>=0;

s(3)>=0;

(L_max-x)×k_1×(g_ESi(1)×p(1)+n_0)>=k_1/W×z(1)*n_0+RhoL_1×y(1);

(L_max-x)×k_1×(g_ESi(2)×(p(1)+p(2))+n_0)>=k_1/W×z(2)×(g_ESi(2)×p(1)+n_0)+RhoL_1×y(2);

(L_max-x)×k_1×(g_ESi(3)×(p(1)+p(2)+p(3))+n_0)>=k_1/W×z(3)×(g_ESi(3)×(p(1)+p(2))+n_0)+RhoL_1×y(3);

p(1)×g_ESi(1)×(L_max-x)×k_1>=RhoL_1×y(1);

p(2)×g_ESi(2)×(L_max-x)×k_1>=RhoL_1×y(2);

p(3)×g_ESi(3)×(L_max-x)×k_1>=RhoL_1×y(3);

{log(2)×s(1),W×(L_max-x),z(1)} == exponential(1);

{log(2)×s(2),W×(L_max-x),z(2)} == exponential(1);

{log(2)×s(3),W×(L_max-x),z(3)} == exponential(1);

x<=L_max;

x>=0;

x^(2/3)×y(1)^(1/3)>=s(1);

x^(2/3)×y(2)^(1/3)>=s(2);

x^(2/3)×y(3)^(1/3)>=s(3);

cvx_end

The above is the CVX part of my code. The last three power cone constraints do not conform to the specification.

Sorry, I am not very familiar with some functions, and I do not know how to convert the code to a specific format.

I think you have to use the geometric mean

since

geom_mean((x;x;y)) = x^2/3*y^1/3 >= s(1)

My problem has been solved. Thank you very much for your help！

@Michal_Adamaszek Also provided an alternative representation of power cone for handing cube over quadratic by use of rotated 2nd order cones at How can I write this kind of constraint in cvx

Thanks for your reply. I have benefited a lot！