Invalid constraint: {concave} >= {concave}

Nonconvex
Jan 28, 2018
W

I am posting the sample code here. I cannot understand how to make this constraint compatible with the CVX DCP, I have tried many variations of the code yet I am unable to remove this error.

interference = [1 4 4 1;
            3 1 1 3;
            2 1 1 2;
            1 1 1 1];

cvx_begin 
variable z(4,1)
minimize sum(z) 
subject to

for a = 1:4
    for b = 1:4
    x = interference(a,b);
    log(z(x) + z(a))./log(2) >= log(z(x))./log(2);
    end
end
cvx_end
M

The constraints are non-convex.

For example, The Hessian of log(x + y) - log(x) with respect to x and y, evaluated at x = y = 1, has one positive and one negative eigenvalue, and therefore is indefinite (neither convex nor concave). Therefore it is not allowed in CVX, and can not be transformed into something which will be allowed.

S
Replying to #2

Ok. Thank you very much for your instant reponse.

L

Hello, I would like to know if there is a solution to this problem

M

The solution is to not use CVX for such a problem.