ds4dm / branch-search-trees

Parameterizing Branch-and-Bound Search Trees to Learn Branching Policies (AAAI 2021)

Home Page:https://arxiv.org/abs/2002.05120

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Getting Scip-status as infeasible

sahilm1992 opened this issue · comments

Hi,
I ran the evaluate_scip.py with 'nu25-pr12.mps.gz' instance( and a few others such as mine-166-5.mps.gz), it shows status ( scip-getStatus() as infeasible).

It becomes feasible if I comment this "m.setObjlimit(cutoff_value)".

Can you please help with this.

commented

Can you share the exact code snippet you are running and your SCIP config (which version, OS, etc.)? It might behelpful to share the dict file that evaluate_scip.py produces as well.

Otherwise, I am not sure exactly what is going on, but since evaluate_scip.py is really wrapping built-in PYSCIPOpt methods, it might be a quirk of SCIP itself? You may want to run this on vanilla SCIP as well.

For example:

Finally, I would speculate that there is possibly some rounding error that you get or don't get when cutoff is used or not used (really I'm not sure of the precise permutation) when dealing with nu25-pr12.mps.gz. Look at the solution provided @ https://miplib.zib.de/instance_details_nu25-pr12.html. The solution has the following values:

C0816 1
C0817 1.000000000000001
C0818 1.000000000000001
C5836 9.000000000000002
C5837 2
C5838 1
C5839 21.99999999999996

I think there's clearly some arithmetic precision funkiness going on, and it's not unreasonable to conclude that using a cutoff affects this.

Hope this helps.

Yes, probably this could be a precision issue.

Closing the issue as of now.
Thanks :)