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

MILP with indicator condtrains in SCIP throws fixed variables in basis error in SoPlex #44

Closed
VonAlphaBisZulu opened this issue Jul 22, 2024 · 1 comment

Comments

@VonAlphaBisZulu
Copy link

Hi,

This is issue is related to issue #23 in SCIP, in which solving a MILP throws:

ELEAVE56 ERROR! Tried to put a fixed column variable into the basis. idx=72, lower=0, upper=0
ELEAVE56 ERROR! Tried to put a fixed column variable into the basis. idx=72, lower=0, upper=0
ELEAVE56 ERROR! Tried to put a fixed column variable into the basis. idx=79, lower=0, upper=0

I put this here, since the error is thrown by SoPlex as SPxInternalCodeException("XLEAVE07 This should never happen.").

System:
Ubuntu 22.04 - WSL2
SCIP 9.1.0
Soplex 7.1.0

Steps to reproduce:
start scip
read /path/to/scip_issue_23.mps or read /path/to/scip_issue_23.lp
optimize

Problem files:
scip_issue_23.zip

@DominikKamp
Copy link
Contributor

Since this also fails for SOS1 constraint, I have looked into it.

The issue is that SCIP scares SoPlex to death by showing it its own former (warmstart) basis where there is a non-basic variable declared as P_FREE although in the meantime it was fixed by propagation but not declared P_FIXED.

This long-term issue is finally resolved with 65fdcc6 by consistently setting up the basis for the given problem, which also resolves the cycling issues afterwards. Please check whether this fixes the issue in your application. There should be a bugfix release with this soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants