Using CVX to solvie MISCOP

Hi,
I’m trying to solve the following MISCOP problem. This problem has been solved using Gurobi optimizer according to the following paper ref section 4.1.
The probelm is formulated as follows
\text{min.}\ \ \sum_{i\in\mathcal{N}} P_i
\text{s.t.} \ \ \ \ \ \ \ x_{0,1} x_{0,2}\geq x_{1,1}^2
\ \ \ \ \ \ \ \ \ \ \ \ x_{0,3} x_{0,4}\geq x_{1,2}^2
\ \ \ \ \ \ \ \ \ \ \ \ x_{0,5} x_{0,6}\geq x_{1,3}^2
\ \ \ \ \ \ \ \ \ \ \ \ x_{0,7} x_{0,8}\geq x_{1,4}^2
\ \ \ \ \ \ \ \ \ \ \ \ x_{1,1} x_{1,2}\geq x_{2,1}^2
\ \ \ \ \ \ \ \ \ \ \ \ x_{1,3} x_{1,4}\geq x_{2,2}^2
\ \ \ \ \ \ \ \ \ \ \ \ x_{2,1} x_{2,2}\geq x_{3,1}^2
\ \ \ \ \ \ \ \ \ \ \ \ x_{3,1}\geq 2^{C/N}
\ \ \ \ \ \ \ \ \ \ \ \ x_{0,i} =1+y_is_{i}^2, \ \ \ i\in\mathcal{N}
\ \ \ \ \ \ \ \ \ \ \ \ x_{j,m}\geq 0 \ \ \ j=0,..,3 , \ \ \ \ m=1,...2^{3-j}
\ \ \ \ \ \ \ \ \ \ \ \ \sum_{i\in\mathcal{N}} P_is_i^2-y_is_i^2\geq E
\ \ \ \ \ \ \ \ \ \ \ \ 0 \leq y_i \leq P_i \leq P_{max}
\ \ \ \ \ \ \ \ \ \ \ \ y_i\leq \pi_i P_{max},\ \ y_i\geq P_i-(1-\pi_i)P_{max} ,\ \ \pi_i \in \{0,1\}

where \mathcal{N}=\{1,\ldots,8\} and s_i is the i-th singular value of a matrix \mathbf{H} \in \mathbb{R}^{8\times 8}

I’m trying to solve via CVX via the following code:
N=8; H=randn(N);
s=svd(H);l=s.^2;
C=10;E=5;
Pmax=2;
P_UB=Pmax*ones(N,1);
P_LB=zeros(N,1);k=0;
cvx_solver Gurobi
cvx_begin
variables P(N) y(N) x0(N) xn(N-1)
variable w(N)
x0=1+l.*y;
minimize sum _P
subject to
xn>=zeros(N-1,1);
for ii=1:2:N
x0(ii)*x0(ii+1)>=xn(k+1);
k=k+1;
end
xn(1)*xn(2)>=xn(5)^2;
xn(3)*xn(4)>=xn(6)^2;
xn(5)*xn(6)>=xn(7)^2;
xn(7)>=2^(C/N);
sum(P.*l-y.*l)>=E;
P_LB<=y<=P<=P_UB;
y<=w.*P_UB;
y>=P-(1-w).*P_UB;
cvx_end

but I have the following errors:
Error using .* (line 262)
Disciplined convex programming error:
Invalid quadratic form(s): not a square.

Error in * (line 36)
z = feval( oper, x, y );

Error in svd1_cvx (line 19)
x0(ii)*x0(ii+1)>=xn(k+1);

Thanks in advance

3 posts were merged into an existing topic: Solving MISCOP using CVX