MATLAB Answers

0

SOC Constraint in cplexmiqcp

Asked by Nazanin Madani on 12 Aug 2019
Latest activity Commented on by Nazanin Madani on 25 Aug 2019 at 17:22
Hi,
I am trying to solve a problem which has a second-order cone constraint as follow
The code that I have is:
Qij= cell(1,J);
for j=1:J
Q=zeros(I*J+3*J+J*K+1+I+J+I*J);
Q((j-1)*I+1:j*I,(j-1)*I+1:j*I)=diag(xinom);
Q(I*J+j,I*J+J+j)=-1;
Qij{j}=Q;
end
%l
l=[zeros(I*J+3*J+J*K+1+I,J);Gamma*eye(J);kron(eye(J),ones(I,1))];
%r
r=zeros(J,1);
The problem is with 'l', when it is zero, it works fine but when I put it as above it says that Q is not positive semi-definite.
Can anyone help me?
Thanks

  4 Comments

Show 1 older comment
Hello Urmila,
I=10, J=5, Gamma=8.2456, and xinom=[49 29 23 40 18 17 48 13 15 31].
Provide K value.
K=286

Sign in to comment.

1 Answer

Answer by Urmila Rajpurohith on 23 Aug 2019 at 12:46

You mentioned that your code is working fine for I=0 but when I tried with I=0, I got the error:
Unable to perform assignment because the size of the left side is 0-by-0 and the size of the right side is 10-by-10
for the line:
Q((j-1)*I+1:j*I,(j-1)*I+1:j*I)=diag(xinom);
When I is not equal to 0, the determination of positive definiteness depends on the values provided as input. Try manually checking whether the matrix you obtain is positive semi definite or not.

  1 Comment

Nazanin Madani on 25 Aug 2019 at 17:22
Hi, thank you for your reply. I was talking about
l=[zeros(I*J+3*J+J*K+1+I,J);Gamma*eye(J);kron(eye(J),ones(I,1))];
which indicates the small L in the SOC constraint, I should have been more clear.

Sign in to comment.