sum((x/h)^0.25)sum((x^0.75)/h^-0.25)
given that x =[x1 x2…] and all positive such that sum(x)=1
and h=[h1,h2,…] also all positive and of equal dimension to x
sum((x/h)^0.25)sum((x^0.75)/h^-0.25)
given that x =[x1 x2…] and all positive such that sum(x)=1
and h=[h1,h2,…] also all positive and of equal dimension to x
If x has dimension 2 or greater, this is neither convex nor concave (as can be seen by looking at the eigenvalues of the Hessian), and therefore can not be entered into CVX. h being the vector of ones is sufficient to show this.
Edit (post left for context, but is withdrawn due to error).
yes x has dimension 2…but i derived the hessian of the whole objective function and it showed that it is positive semi-definite
what i have given above is just a portion of the whole objective function.
any ideas how to approach this problem
Sorry, I had a typo in my calculation and entered the wrong function. So I withdraw the non-convex claim.
It looks like it might be concave (definitely not convex, unless I have misread the function), but I haven’t proven it. If dimension is 2, you can reduce this to a 1 dimensional problem by substituting x2 = 1- x1, and of course the constraint 0 <= x1 <= 1. I don’t see how to get it accepted by CVX. Can you build it up following CVX’s rules?
well, I tried the following
(sum(pow_p(x./h,0.25)(sum(h.(pow_p(x./h,0.75))))
but I get the following error
Error using cvx/times (line 173)
Disciplined convex programming error:
Cannot perform the operation: {concave} .* {concave}
I suggest you (re-)read the CVX Users’ Guide. Of course that operation is not allowed, as it does not necessarily preserve concavity.
It actually depends a lot on what you’re trying to do with this. Because in fact, it is possible to express
in CVX as follows:
geo_mean([sum(pow_p(x/h,0.25)),sum(pow_p(x/h,0.75)])
But you can’t express it without the surrounding square root. The geometric mean here is concave, so you could maximize this, or you could put a lower bound on it.