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

Constraint handler failing on SCIP 7.0.3 #196

Closed
matbesancon opened this issue Jun 9, 2021 · 3 comments
Closed

Constraint handler failing on SCIP 7.0.3 #196

matbesancon opened this issue Jun 9, 2021 · 3 comments

Comments

@matbesancon
Copy link
Member

I cross-posted this issue on the SCIP repo:

# create an empty problem
mscip = SCIP.ManagedSCIP()
SCIP.set_parameter(mscip, "display/verblevel", 0)

# add the constraint handler
ch = NeverSatisfied.NSCH()
SCIP.include_conshdlr(mscip, ch; needs_constraints=false)

# solve the problem
SCIP.@SCIP_CALL SCIP.SCIPsolve(mscip.scip[])

@test ch.check_called >= 1
@test ch.enfo_called == 1
@test ch.lock_called == 1

on SCIP v7.0.3, @test ch.enfo_called == 1 fails with 0 on the left-hand side

@rschwarz do you know if something in the NSCH handler could break?

This was referenced Jun 9, 2021
@rschwarz
Copy link
Collaborator

rschwarz commented Jun 9, 2021

That's strange, a SCIP bugfix release shouldn't change the behavior w.r.t. callbacks, right?

If I remember correctly, the NeverSatisfied constraint handler simply has a CHECK callback that always returns false.
Maybe the new SCIP has some kind of "shortcut" where the infeasibility of the overall problem can be decided without ever calling the ENFORCE method.

EDIT: That is to say: maybe the assumptions that the test makes are too strong. As long as the resulting status is Infeasible, and either CHECK or ENFORCE is called at least once, it seems to be correct?!

@matbesancon
Copy link
Member Author

That's strange, a SCIP bugfix release shouldn't change the behavior w.r.t. callbacks, right?

not really. In that case it did, just in the case when there are no variables left after presolving.

@matbesancon
Copy link
Member Author

Closed by enforcing the SCIP version now, and adapted the test in the #195 PR

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