I’ve run the same code respectively under the Linux system and window 10 system. But I got different *cvx_optval*, is that reasonable? Does anyone have the same problem? It would be grateful to hear other experience.

Perhaps you can show a reproducible problem, with solver and CVX output from both operating systems.

Are you using the same version of MATLAB and CVX and solver on both operating systems? It is possible there could be roundoff-level difference in calculations on the different operating systems. This could cause the solver to take a different path, and perhaps find a different solution. if the problem is continuous (no binary or integer variables) and the problem is not numerically troublesome for the solver, the cvx_optval should be within tolerance of each other. If there are binary or continuous variables, and the problem is solved to claimed optimality on both operating systems, cvx_optval could differ by up to the MIP gap. If the problem is numerically troublesome or the problem is not solved to claimed optimality, then cvx_optval could potentially differ by a lot. If you, for example,. had a problem involving “exponential cone” and your CVX installation differed as to whether CVXQUAD with exponential.m replacement was installed, then there could certainly be a cvx_optval difference.

And if you are using SCA, anything can happen, because a difference in optimal variable values, even if cvx_optval is the same, could cause SCA to take a completely different path.

Thank you for your kind reply, for windows system, I’m using mexw64, and for linux system, I’m using mexa64.

Yes, I’m using SCA.