# Using CVX to solvie MISCOP

(Ahmed Al-baidhani) #1

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);