Dealing with multiple constraints

Hi, I have an optimization variable X which is TxN matrix. I was able to maximize my objective function using CVX for constraint trace(X’X) <= S, where T, N and S are scalar constants. Now, I would like to redefine the problem with only the following constraints:

Here, each P_i is a scalar and v_i is a 1xN vector and P and Q are scalar constants.

where X matrix is defined as:


I would like to know how to write these constraints in MATLAB.

I really don’t know what you’re trying to do.

The constraint trace(X’X) <= S would not be accepted in that form by CVX, due to appearance of X'*X, which violates CVX’s DCP rules. But it can be reformulated as norm(X,'fro') <= sqrt(S) , which CVX will accept,l presuming thatX is a variable or affine expression which you seem to violate)…

Your last constraint can be written as norm(v(i,:)) <= sqrt(Q)

As for C = [sqrt(P1)*c1;....sqrt(PT)*vT),], you’ll have to explain to me how that is consistent with the overall problem being a convex optimization problem. I’ll assume it’s not unless you show otherwise.

Perhaps you need to more carefully read the following link, which you were previously provided.

Thank you very much. I was able to use CVX to find optimum solution when I only had norm(X,‘fro’) <= sqrt(S) constraint and then, when I redefine my problem with constraints on P1, P2… PT and v1,v2…VT, and use X matrix as an expression, I was not able to use CVX, that might be because I am taking P1, P2… PT and v1,v2…VT as optimization variables , and I read in other questions on CVX forum that product of optimization variables is not allowed in CVX, I would like to know if there is a work around for this.

No workaround that I know of, except using a non-convex solver, for instance under YALMIP.

Again, you need to CAREFULLY read the link I provided.