Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CBC solver regression: the exact same model solved on 7.0.6546 is proven infeasible in 7.5.7466 #1919

Closed
ihadanny opened this issue Mar 12, 2020 · 9 comments
Assignees
Labels
Bug Lang: Python Python wrapper issue Solver: CBC/CLP Issue specific to Coin-OR CBC/CLP
Milestone

Comments

@ihadanny
Copy link

ihadanny commented Mar 12, 2020

What version of OR-tools and what language are you using?
Version: 7.5.7466
Language: Python

Which solver are you using (e.g. CP-SAT, Routing Solver, GLOP, BOP, Gurobi)
CBC_MIXED_INTEGER_PROGRAMMING

What operating system (Linux, Windows, ...) and version?
mac, Darwin Kernel Version 18.7.0

What did you do?

I'm creating and solving a model with 7.0.6546.
I reach a solution after several seconds best objective 4110.8937 (best possible 3724.4987).
I saved it as MPS format (attached).
I then upgrade my version to 7.5.7466.
I execute the exact same code and model and get Result - Problem proven infeasible.

What did you expect to see
the same

bad_7.5.7466.mps.txt
good_7.0.6546.mps.txt

@lperron
Copy link
Collaborator

lperron commented Mar 12, 2020 via email

@Mizux Mizux added Bug Lang: Python Python wrapper issue Solver: CBC/CLP Issue specific to Coin-OR CBC/CLP labels Mar 12, 2020
@ihadanny
Copy link
Author

what do you mean by

reproduce with the CBC binaries?

is there some command line I can use to read and solve a MPS file?
because my application pre-processing is pretty complex and it's currently not-separable from the modeling API calls.

@lperron
Copy link
Collaborator

lperron commented Mar 12, 2020 via email

@ihadanny
Copy link
Author

using the cbc command line I was able to solve both the bad file (produced by 7.5) and the good file (produced by 7.0)

@Mizux
Copy link
Collaborator

Mizux commented Mar 12, 2020

which version of cbc did you use ?
they currently have a regression with the last stable version IIRC
EDIT: see: coin-or/Cbc#286
And we bump it in v7.1 https://github.com/google/or-tools/releases/tag/v7.1

@ihadanny
Copy link
Author

ihadanny commented Mar 12, 2020

very strange. I downloaded 7.5 from https://github.com/google/or-tools/releases/download/v7.5/or-tools_MacOsX-10.15.2_v7.5.7466.tar.gz, and executed:

make build SOURCE=examples/cpp/solve.cc
bin/solve --solver cbc --input bad_7.5.7466.mps --time_limit_ms 5000

and got:

Status      : MPSOLVER_FEASIBLE
Objective   : 4.848683892999999e+03
BestBound   : 3.724498655000000e+03

@ihadanny
Copy link
Author

so it works from the C++ API.
Is there some way I can do the same from the python API?

@Mizux Mizux added this to the v7.7 milestone Apr 1, 2020
@Mizux Mizux modified the milestones: v7.7, v7.8 Jun 12, 2020
@cloudmu
Copy link

cloudmu commented Jun 23, 2020

which version of cbc did you use ?
they currently have a regression with the last stable version IIRC
EDIT: see: coin-or/Cbc#286
And we bump it in v7.1 https://github.com/google/or-tools/releases/tag/v7.1

If the root cause is the CBC regression, this issue would affect not only Python, but also or-tools API in other languages (Java and C#).

@Mizux Mizux modified the milestones: v7.8, v7.9 Jul 21, 2020
@Mizux Mizux modified the milestones: v8.0, v8.1 Sep 9, 2020
@Mizux Mizux modified the milestones: v8.1, v8.2 Nov 23, 2020
@Mizux Mizux self-assigned this Nov 26, 2020
@Mizux Mizux modified the milestones: v8.2, v8.3 Feb 10, 2021
@Mizux Mizux closed this as completed Mar 22, 2021
@cloudmu
Copy link

cloudmu commented Mar 22, 2021

@Mizux is this bug resolved? Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Lang: Python Python wrapper issue Solver: CBC/CLP Issue specific to Coin-OR CBC/CLP
Projects
None yet
Development

No branches or pull requests

4 participants