How can I eliminate Inaccurate/solved status?

(Tsaisinghua) #1

How can I eliminate Inaccurate/solved status?

My original SDP problem is as following


I build the following model to solve the above SDP problem.

the sizes of array gbar_V, cbar_F, e_V are all equal to [count1] ;
thetabar, Nbar are real number.
the sizes of matrix A_VV, e_V
e_V’ are all equal to [count*count] .

n = 1+count;
M = [0, gbar_V’; gbar_V, zeros(count)];
R1 = [-2thetabar, cbar_F’; cbar_F, A_VV];
R2 = [-2
Nbar, e_V’; e_V, zeros(count)];
R3 = [-NbarNbar, zeros(count,1)’; zeros(count,1), e_Ve_V’];

cvx_begin sdp
variable Y(n,n) semidefinite
subject to
diag(Y) == 1
sum(dot(R1,Y)) <= 0
sum(dot(R2,Y)) == 0
sum(dot(R3,Y)) == 0

when the count is small (count = 151),
the Status showed “Solved” ;
But when the count is increasing to 1001 (count = 1001),
the Status showed “Inaccurate/solved” ;
How can I eliminate Inaccurate/solved status?
If you have any questions about the model, please feel free to ask.
Thank you!

(Mark L. Stone) #2

You haven’t provided a reproducible problem for anyone else to examine and test. Have you tried another solver? If you have MOSEK available, that may have the best prospects of dealing with a numerically difficult problem.

I don’t quite see the connection between the problem in the picture and your code (it seems you are constraining Y_{VV} to have diagonal 1, whereas that is not specified in the image). Are you sure there is a strictly feasible solution, i.e., such that all SDP constraints are strictly satisfied (no zero eigenvalues), i.e., Slater condition holds? If Slater condition is not satisfied, solvers used by CVX may have difficulty…

(Tsaisinghua) #3

Thank you for your suggestion, I have used MOSEK to solve this problem.