-
Notifications
You must be signed in to change notification settings - Fork 66
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
LP error not reproductible #104
Comments
There is a way to export the scip problem as binary? |
Hi Thiago, reasons can be both that numbers are slightly different (as you said), or that the order in which variables and constraints are represented in the lp file is different. There is no binary export of SCIP's state, unfortunately. To help you further, maybe you can post SCIP's log output with highest verblevel here. For even more output, you can set display/lpinfo to TRUE, but that can create very long log files that are hard to parse. |
Hello, thank you for your help. I used: "display/verblevel" = 5 But it's looks like scip dont write lpinfo in the file, just in the console. Can you understand the problem with this log?
|
It would be instructive to see also the log output of the console. Generally, I note that
|
It is usually hard to reproduce LP results from scratch also due to internal numerical deviations up to a warm start. Enabling PaPILO (presolving/milp/maxrounds = -1) works around this issue. But the LP indeed looks numerically troublesome for example because there are multiple coefficients of magnitude 1e-9. |
We are using SCIP because this problem can be an LP or MIP, depending on the settings. I can't find in the documentation how to change the LP solver. I saw that there is an interface for CLP, but I can't find an example of how to use it. Do you have a reference to an example or could you explain how to do this? |
I'm using presolving/milp/maxrounds = 0 because -> #86 |
Indeed, your instance motivated some fixes on modification of it using MIP-DD, however the original version is still not resolved. |
We don't provide binaries with other LP solvers, but https://scipopt.org/doc/html/md_INSTALL.php explains how to build with other LP solvers via |
SoPlex solves the instance, so it rather seems like SCIP does not trust the numerics of the problem and rather gives up instead of saying something wrong, meaning that the error messages are correct here. The rounded exact solution is which is rejected
because the coefficients are too large. So instead of replacing the LP solver, I recommend to either rescale the constraints, relax the feasibility tolerance (numerics/feastol = 1e-5 works here), or try exact-SCIP (branch exact-rational with setting exact/enabled = TRUE) if you really need a precise solution. |
When I try to solve an LP using SCIP in my application, the solver returns SCIP_LPERROR. However, when I write the problem in .lp or .mps and use the same settings, scip solves the problem.
Do you have any idea what the difference would be between these executions? Maybe the numbers in memory in my application are slightly different from those written in the file and it is a numerical problem?
I am attaching the .lp, .mps and all non-default parameters. This occurred in 8.1 and 9.1.
params.txt
LP.it1.lp.txt
The text was updated successfully, but these errors were encountered: