-
Notifications
You must be signed in to change notification settings - Fork 88
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
LazyConstraint based MIP yields incorrect optimum #331
Comments
Most likely to be duplicate to #36 |
@ciderale Thanks for reporting the issue. It is at the moment unlikely, that this bug will be fixed on cbc side soon. |
@sebheger Thank you for your quick response. Do you have an idea what the root cause could be? Since #36 is already closed, do you think it is a duplicate of the example mentioned towards the last comments (after the issue was closed)? A comment in #274 mentions that some lazy constraint seem to be ignored, but a minimalistic examples was missing. That sounds related to this problem and I hoped that the above example is minimal enough to help finding the problem. Is there something more I could do? |
@ciderale Many thanks for the minimalistic example. I guess that will help also for future development/testing |
Any updates on this bug? |
#36 was addressed on the Cbc side because @h-g-s, who is a Cbc developer, got involved. If there are still issues, this needs to get reported to Cbc or it certainly won't be addressed. The Cbc developers are not generally monitoring |
Describe the bug
Solving a MIP with lazy constraints yields a sub optimal solution. Yet, the solver reports the solution to be optimal.
My assumption is that adding all constraints (a) up-front, (b) as lazy constraints, or (c) using a lazy constraint generator should not affect the optimal of the solution. Is this assumption incorrect?
To Reproduce
A minimal example with 1 continuous variable (the objective), 4 integer variables, and 2 constraint is provided.
The problem is solved three times: (a) complete model, (b) lazy constraints, (c) using lazy constraint generator.
Solving the complete model yields the true optimal solution. Both lazy variants provide a sub-optimal solution.
Variant (c) shows that both constraints are generated and added to the model in the first call to the lazy constraint generator.
Expected behavior
Using (generated) lazy constraints should yield the same optimum as solving the complete model with all constraint provided up front.
Desktop (please complete the following information):
Example Program and Execution Log:
lazy-minimal-example.py.txt
lazy-minimal-example.log
The text was updated successfully, but these errors were encountered: