# Why the number of constraints are different on two machines with the same model?

I am trying to solve an optimization problem with CVX. I can solve it in my pc with a correct answer. But when I move the same matlab files onto a linux server with the same matlab and CVX versions as my pc, it can’t solve it and says that the status is infeasible. And I found that the number of constraints are different on two machines: 55 on my pc and 161 on Linux. Also, there is a line “For improved efficiency, SeDuMi is solving the dual problem” when I solve the problem on my pc but not on Linux.

on my pc:

Calling SeDuMi 1.21: 216 variables, 55 equality constraints

For improved efficiency, SeDuMi is solving the dual problem.

SeDuMi 1.21 by AdvOL, 2005-2008 and Jos F. Sturm, 1998-2003.

Alg = 2: xz-corrector, Adaptive Step-Differentiation, theta = 0.250, beta = 0.500

Split 6 free variables

eqs m = 55, order n = 33, dim = 413, blocks = 2

nnz(A) = 165 + 0, nnz(ADA) = 3025, nnz(L) = 1540

on Linux:

Calling SeDuMi 1.32: 210 variables, 161 equality constraints

SeDuMi 1.32 by AdvOL, 2005-2008 and Jos F. Sturm, 1998-2003.

Alg = 2: xz-corrector, Adaptive Step-Differentiation, theta = 0.250, beta = 0.500

eqs m = 161, order n = 21, dim = 401, blocks = 2

nnz(A) = 244 + 0, nnz(ADA) = 25921, nnz(L) = 13041

on my pc:>> cvx_version

CVX, version 2.0 (beta) © 2012, CVX Research, Inc.

Software for Disciplined Convex Programming

Version info:

``````Code: build 959, 2013-05-22 16:29:39
Documentation: build 947, 2013-05-15 14:56:34
``````

Installation info:

``````Path: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
MATLAB version: 8.0 (R2012b)
OS: Windows XP x86 version 5.1
Java version: 1.6.0_17
``````

Verfying CVX directory contents:

``````No missing files.
``````

on Linux:>> cvx_version

CVX, version 2.0 (beta) © 2012, CVX Research, Inc.

Software for Disciplined Convex Programming

Version info:

``````Code: build 1005, 2013-08-21 10:54:10
Documentation: build 994, 2013-07-24 10:54:53
``````

Installation info:

``````Path: %%%%%%%%%%%%%%%%%%%%%%%%%%%%
MATLAB version: 8.0 (R2012b)
OS: Linux amd64 version 2.6.32-358.11.1.el6.x86_64
Java version: 1.6.0_17
``````

Verfying CVX directory contents:

``No missing files.``

It is definitely to be expected that the models generated “under the hood” by CVX may be different from version to version. Ostensibly this is due to bug fixes, feature additions, and performance improvements. For instance, the decision about when CVX should pass the primal or the dual problem to the underlying solvers depends on a number of factors—there’s no one right formula that works for every model.

If you are certain that the older version of CVX is producing the correct results while the newer version is not, then you might want to consider sending in a bug report at http://support.cvxr.com, with the model and data needed to reproduce the behavior. It’s certainly possible that we’ve introduced a bug along they way!

Fortunately, in previous bug reports where the older version of CVX was producing different results than the newer version, it turned out that the newer version is correct. Before you do submit a report, you should try to see if the results are consistent across the solvers SDPT3 and SeDuMi—and MOSEK and Gurobi, if you have them. If all four solvers are yielding the same results, then the conflict lies somewhere in CVX.

But again, it is certainly possible that there is a bug with CVX.

@mcg : But I’m using the same version of CVX on my pc and on the Linux machine.

Not according to what you’re posting here. You’re using build 959 on Windows, and 1005 on the Mac.