How does x
come into play? You (sort of) define w
in terms of x
, but x
is not otherwise used at least in what you show of the program; and so is irrelevant, except for triggering a CVX violation.
CVX objects to 0 <= sum_square_abs(w)
because it is a non-convex constraint. However, the lower bound of zero must be trivially satisfied, and therefore that constraint need not be included at all. Getting rid of that plus the two lines involving x
, yields a rather trivial problem which CVX accepts and solves. Of course, I don’t know what’s in the part of the program you have not shown.
Presuming you really do need sum_square(x./sum(x))
<= 1/10, that is a non-convex constraint according to my calculations, and so you will be out of luck with CVX.
At this point, you will benefit from a careful reading of Why isn't CVX accepting my model? READ THIS FIRST! and http://cvxr.com/cvx/doc/