[SCIP] duplicate variables found during pricing / existing variables with negative reduced cost

Georg Brandstätter georg.brandstaetter at univie.ac.at
Thu Feb 14 18:59:41 CET 2019


Dear SCIP developers,

I'm currently facing a rather strange problem with my branch-and-price 
algorithm.

When solving my pricing problem, I find columns with negative reduced 
costs that already exist in the current LP. When querying the reduced 
costs of the already existing column with SCIPgetVarRedcost at the start 
of the scip_redcost method, the existing variables also have the exact 
same negative reduced costs as the ones I just found during pricing and 
want to add. These reduced costs are well negative (e.g., -6.5), so I 
would assume that it is not simply a numerical issue with my LP solver.

SCIPgetLPSolstat returns 1, which would indicate that the LP was 
optimally solved. If that is the case, how can it be that any of the 
existing variables have negative reduced costs?
My original ILP model is a maximization problem, but SCIP transforms it 
into a minimization problem as usual. This would suggest to me that all 
variables should have non-negative reduced costs in an optimal LP 
solution. The reduced costs of all other variables is nonnegative (or 
very slightly negative, e.g., -1e-15, which I'm assuming is due to some 
numerical issues).

If I simply add the duplicate columns to the model (or skip adding them) 
and continue with the branch-and-price, it eventually finds an optimal 
solution to the problem (the same solution as a different, compact ILP - 
so I'm assuming it is correct).

Can you help me understand what is going on here? Are the values that I 
get from SCIPgetVarRedcost unreliable when I query them at the start of 
scip_redcost? I'm seeing LP solver output between the different calls to 
scip_redcost, so it looks like it is actually solving the LP between 
pricing rounds.

I'm using SCIP 6.0.1 with CPLEX 12.8 as an LP solver.

All the best,
Georg



More information about the Scip mailing list