Cvx gives solved outcome while certain constraint does not satisfied

Here is my variable definition related to the unsatisfied constraint it is a three dimension tensor.
variable R_User_o(RRH_Num * RRH_Ant,RRH_Num * RRH_Ant,UE_Num) complex
Here is the unsatisfied constraint
for ue = 1 : UE_Num
(1 + Tau^-1) * real( Int_Cha(ue,: ) * R_User_o(:,:,ue) * Int_Cha(ue,: )’ ) - real( Int_Cha(ue,: ) * R_Int_o * Int_Cha(ue,: )’ ) - n_sigma >= 10^-100;
R_User_o(:,:,ue) == hermitian_semidefinite(RRH_Num * RRH_Ant);
end
except the optimization variable, other variables are pre-computed.
In my verification
denominator = real( Int_Cha(ue,: ) * R_Int_o * Int_Cha(ue,:)’ ) + n_sigma
ans = (1 + Tau^-1) * real( Int_Cha(ue,: ) * R_User_o(:,:,ue) * Int_Cha(ue,:)’ ) Tau equals to 2.5119
The first two computation result seriously violates the constraint. Only the last one just meet the equal constraint I mark it as 3 means it meet the constraint.
image
Here is the Mosek Result
CVX Warning:
Models involving “log_det” or other functions in the log, exp, and entropy
family are solved using an experimental successive approximation method.
This method is slower and less reliable than the method CVX employs for
other models. Please see the section of the user’s guide entitled
The successive approximation method
for more details about the approach, and for instructions on how to
suppress this warning message in the future.

Calling Mosek 9.1.9: 432 variables, 203 equality constraints

MOSEK Version 9.1.9 (Build date: 2019-11-21 11:34:40)
Copyright © MOSEK ApS, Denmark. WWW: mosek.com
Platform: Windows/64-X86

Problem
Name :
Objective sense : min
Type : CONIC (conic optimization problem)
Constraints : 203
Cones : 44
Scalar variables : 174
Matrix variables : 8
Integer variables : 0

Optimizer started.
Presolve started.
Linear dependency checker started.
Linear dependency checker terminated.
Eliminator started.
Freed constraints in eliminator : 0
Eliminator terminated.
Eliminator - tries : 1 time : 0.00
Lin. dep. - tries : 1 time : 0.00
Lin. dep. - number : 0
Presolve terminated. Time: 0.01
Problem
Name :
Objective sense : min
Type : CONIC (conic optimization problem)
Constraints : 203
Cones : 44
Scalar variables : 174
Matrix variables : 8
Integer variables : 0

Optimizer - threads : 12
Optimizer - solved problem : the primal
Optimizer - Constraints : 129
Optimizer - Cones : 45
Optimizer - Scalar variables : 139 conic : 134
Optimizer - Semi-definite variables: 8 scalarized : 510
Factor - setup time : 0.00 dense det. time : 0.00
Factor - ML order time : 0.00 GP order time : 0.00
Factor - nonzeros before factor : 4649 after factor : 4777
Factor - dense dim. : 0 flops : 7.05e+05
ITE PFEAS DFEAS GFEAS PRSTATUS POBJ DOBJ MU TIME
0 2.6e+01 1.3e+00 2.2e+01 0.00e+00 1.000000000e+00 -1.961020400e+01 1.0e+00 0.01
1 8.4e+00 4.2e-01 1.1e+01 -8.53e-01 3.013684725e+00 -1.359169440e+01 3.3e-01 0.08
2 3.0e+00 1.5e-01 5.1e+00 -6.61e-01 9.322791442e+00 -1.257534399e+00 1.2e-01 0.08
3 1.5e+00 7.4e-02 2.5e+00 -3.31e-01 1.946250927e+01 1.287361393e+01 5.7e-02 0.08
4 4.8e-01 2.4e-02 5.0e-01 2.41e-01 3.743737781e+01 3.476971661e+01 1.9e-02 0.08
5 2.3e-01 1.2e-02 1.7e-01 8.81e-01 4.335199229e+01 4.206682821e+01 9.0e-03 0.09
6 1.5e-01 7.7e-03 1.0e-01 5.54e-01 4.704248991e+01 4.614311000e+01 5.9e-03 0.09
7 6.5e-02 3.3e-03 2.9e-02 8.73e-01 5.014858520e+01 4.975616869e+01 2.6e-03 0.09
8 1.7e-02 8.6e-04 3.4e-03 1.21e+00 4.718953303e+01 4.709222359e+01 6.7e-04 0.09
9 4.4e-03 2.2e-04 4.8e-04 1.14e+00 4.491014082e+01 4.488904362e+01 1.7e-04 0.09
10 6.8e-04 3.4e-05 2.9e-05 1.01e+00 4.452600773e+01 4.452289238e+01 2.7e-05 0.09
11 2.8e-04 1.4e-05 8.0e-06 9.15e-01 4.450032026e+01 4.449905197e+01 1.1e-05 0.09
12 1.1e-04 5.6e-06 2.1e-06 9.24e-01 4.448604284e+01 4.448553140e+01 4.3e-06 0.11
13 6.8e-05 3.4e-06 1.1e-06 8.54e-01 4.448455223e+01 4.448423510e+01 2.7e-06 0.11
14 2.5e-05 1.3e-06 2.5e-07 9.21e-01 4.448049517e+01 4.448037676e+01 9.8e-07 0.11
15 1.1e-05 5.6e-07 8.2e-08 8.24e-01 4.448037023e+01 4.448031973e+01 4.3e-07 0.11
16 1.6e-06 8.0e-08 4.5e-09 9.50e-01 4.447936217e+01 4.447935509e+01 6.2e-08 0.11
17 1.6e-07 2.1e-08 1.4e-10 9.96e-01 4.447921730e+01 4.447921660e+01 6.0e-09 0.11
18 4.5e-09 4.5e-09 5.7e-13 1.00e+00 4.447920369e+01 4.447920368e+01 1.5e-10 0.13
Optimizer terminated. Time: 0.16

Interior-point solution summary
Problem status : PRIMAL_AND_DUAL_FEASIBLE
Solution status : OPTIMAL
Primal. obj: 4.4479203695e+01 nrm: 3e+02 Viol. con: 2e-07 var: 0e+00 barvar: 0e+00 cones: 0e+00
Dual. obj: 4.4479203676e+01 nrm: 5e+01 Viol. con: 0e+00 var: 1e-10 barvar: 3e-10 cones: 3e-16
Optimizer summary
Optimizer - time: 0.16
Interior-point - iterations : 18 time: 0.13
Basis identification - time: 0.00
Primal - iterations : 0 time: 0.00
Dual - iterations : 0 time: 0.00
Clean primal - iterations : 0 time: 0.00
Clean dual - iterations : 0 time: 0.00
Simplex - time: 0.00
Primal simplex - iterations : 0 time: 0.00
Dual simplex - iterations : 0 time: 0.00
Mixed integer - relaxations: 0 time: 0.00


Status: Solved
Optimal value (cvx_optval): +44.4792
Does the problem has something to do with scaling?? or other reasons. Thank you very much.

Run these constraint lines as Matlab commands (maybe delete the line “R_User_o(:,:,ue) == hermitian_semidefinite(RRH_Num * RRH_Ant);”), after the solving process. If the results are all true, it will mean the constriants are satisfied. If they’re not, output the violations of the un-satisfied ones and show them to us.

I annotate the hermitian_semidefinite constraint, but actually R_User_o need to be covariance matrix, I prefer to keep this constraint.
The result is


verification are those three answers under denominator. (Also I am curious why the last one is not treated as the answer is equal to denominator)
Here is the code to verify the constraint
image

I meaned, after you run your original code once, enter the following to your MATLAB command windows (copy it ,paste to the window and run):

for ue = 1 : UE_Num
(1 + Tau^-1) * real( Int_Cha(ue,: ) * R_User_o(:,:,ue) * Int_Cha(ue,: )’ ) - real( Int_Cha(ue,: ) * R_Int_o * Int_Cha(ue,: )’ ) - n_sigma >= 10^-100
%R_User_o(:,:,ue) == hermitian_semidefinite(RRH_Num * RRH_Ant);
end

to check which of the constraints is not satisfied. Or, provide your code to us.

I tried command window, some constraints still not satisfied. The unsatisfied constraints are random, but the last seems always satisfied.

Can you provide your code and related data if convenient, for the purpose of reproducing.

I am sorry I am afraid I can not provide it by now, I will touch you if I get permitted. Anyway,Thank you very much

I haven’t really looked at what is going on in this question, but I will say that having 10^-100 is probably not a good thing (although I’m not sure it’s not a bad thing, and Mosek didn’t complain), and it probably does not accomplish anything useful.

My original thought was <= 0, 10^-100 maybe too small, I will change it to a relative small number, thank you for your advice! I tried but the this constraint still does not totally satisfied.

Then what is the result of (1 + Tau^-1) * real( Int_Cha(ue,: ) * R_User_o(:,:,ue) * Int_Cha(ue,: )’ ) - real( Int_Cha(ue,: ) * R_Int_o * Int_Cha(ue,: )’ ) - n_sigma ? How bad is it not satisfied?

Just like the picture I provided, this is the worst situation, only the last constraint just equally satisfied. The first two constraints far more less than the denominator, which I wish ans should be>= denominator

You get cannot expect an optimizer to provide as much more accurate answer than

Interior-point solution summary
Problem status : PRIMAL_AND_DUAL_FEASIBLE
Solution status : OPTIMAL
Primal. obj: 4.4479203695e+01 nrm: 3e+02 Viol. con: 2e-07 var: 0e+00 barvar: 0e+00 cones: 0e+00
Dual. obj: 4.4479203676e+01 nrm: 5e+01 Viol. con: 0e+00 var: 1e-10 barvar: 3e-10 cones: 3e-16
Optimizer summary

Thank you for you reply, I know the result is accurate enough, but I can not figure out why the Mosek give solved outcome but the constraint is actually not satisfied while I do the verification.

I am sorry, it is all my fault, my verification code has something, it is ok now thank you again!