Cbc icon indicating copy to clipboard operation
Cbc copied to clipboard

Cbc generate inconsistent result from other solvers

Open zxt5 opened this issue 8 months ago • 2 comments

For seed.mps.txt, cbc returns:

Status: Optimal
Objective: -12507.817935900002
x0 = 155.0, x1 = -162.72485, x2 = 200.0, x3 = 200.0, x4 = 153.0, x5 = 110.92783, x6 = 199.0, x7 = 102.0

While other solvers like scip and gurobi generate:

Status: Optimal
Objective: -12511.698223973108
x0 = 155.0, x1 = -161.12154852031918, x2 = 198.0, x3 = 200.0, x4 = 151.0, x5 = 108.87332950759684, x6 = 200.0, x7 = 100.0

Any suggestions are appreciated.

zxt5 avatar Mar 28 '25 01:03 zxt5

It is a tolerance issue with an infeasibility issue on row _C144. If you fix the integer variables to those values and solve as an LP, you get Optimal objective -12511.69822 - 3 iterations time 0.002 Unscaled problem has primal infeasibilities

Switching off scaling you need to set the primal tolerance to 5e-6 before it says optimal.

Cbc master gives same solution value as scip and gurobi, which shows that this is a borderline case.

jjhforrest avatar Mar 28 '25 10:03 jjhforrest

I see, thanks for your explanation!

Could you please take a look at #694? I encounter several confusing cases like that where command-line outputs are different from the solution file. Thanks!

zxt5 avatar Mar 28 '25 17:03 zxt5