Hello guys, I met a problem that my cvx results doesnot meet the constraint settings.
In my programme, besides the objective which is the SINR formula with X (the power control coeffficient values for basestation), the X also required to meet a constrained
which for this is based on this paper (16).
However, when I calculated the value of this constraint, the results are not meet the original seetings
The values of the expression b - 0.1Ax are not smaller than 0.1 as constrained.
A calculation after the CVX loop. As for CVX shows “solved” so I think the X should meet the constraint, but it doesnot, and which makes me confused.
Constraints need only be satisfied to within a solver feasibility tolerance. If all “violations” are less than 1e-8, those are within solver feasibility tolerance; and therefore considered to be feasible by the solver and CVX.
if you need constraints to be strictly satisfied, you can include a buffer term, perhaps about 1e-6, to ensure it. For example,
x + small_positive_number <= 1, with small_positive_number of 1e-5 or 1e-6 should ensure that the optimal
x returned by the solver does not exceed 1. Or instead, you can adjust the value returned by the solver (CVX) if you feel it is necessary or desirable (although you may have to consider ripple effects on other constraints if you do that).
Whatever you do, DO NOT adjust
cvx_precision in an attempt to avoid this.
Thanks a lot. I’ll try to add a small value to let (b - A*x) + small value <= 0 to see if it can work.