[SCIP] Questions regarding SCIPgetLPBranchCands

Benjamin Müller benjamin.mueller at zib.de
Wed Feb 5 08:20:19 CET 2020


Dear Oliver,

the default tolerance for checking feasibility is 1e-6 by default. The 
corresponding parameter in SCIP is numerics/feastol. SCIP uses this 
tolerance to decide whether an integrality restriction is satisfied or not.

For your second point, I suspect that you called SCIPfixVar after 
presolving, right? The reason for the slight violation is that SCIP uses 
a separate limit for primal feasibility in the LP solver 
(numerics/lpfeastol = 1e-6). So the solution found by the LP solver 
might violate the bounds of a variable by up to 1e-6.

Best,
Benjamin

On 2/5/20 2:17 AM, Oliver Zier wrote:
>   Hi all,
> 
> 
> I am using SCIP as a branch and price framework and have 2 questions
> during my implementation:
> 
> 1. I noticed that while the current lp relaxation has some variables with
> solution values e.g 8e-8, SCIP does not consider those as branching
> candidates (using SCIPgetLPBranchCands). But as far as I know, the default
> tolerance is 1e-9. Is this just rounding error? I am printing out current
> LP relaxation solution using SCIPprintSol(scip, NULL, NULL, false).
> 
> 2. I have one instance in which after I fixed one variable to 0 using
> SCIPfixVar, in the LP relaxation solution after that constraint
> propagration, the solution value of that variable is about 1.4e-7. I did
> print out the variable after fixing it and the local bound is [0,0]. What
> could be the source of error here? It also does not appear in the lpcands
> set.
> 
> 
> Thank you for your time.
> 
> 
> Best,
> Oliver
> 
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> https://listserv.zib.de/mailman/listinfo/scip
> 

-- 
______________________________
Benjamin Müller
Zuse Institute Berlin
Takustr. 7, 14195 Berlin
benjamin.mueller at zib.de
+49 30 841 85-195


More information about the Scip mailing list