The constraint condition B<=R_mu in CVX seems to be running abnormally, why is it inconsistent with the verification results

CVX variables are populated with their optimal values after cvx_end, but CVX expressions (whether declared as such or not) are not necessarily populated with their optimal values after cvx_end. So to get the optimal values of CVX expressions, you need to compute them after cvx_end, starting with the CVX optimal variable values.

The optimization is performed correctly even though the populated values for the expressions might not be correct. That reflects a CVX design decision. At the expense of some additional computation, CVX could have been written to automatically populate CVX expressions with their final optimal value, but was not designed that way. At minimum, the CVX Users’ Guide should have been clear and explicit about this (design decision), but is not.