[SCIP] Deleting constraints in branch-and-price

Rolf van der Hulst r.p.vanderhulst at utwente.nl
Tue Sep 20 16:34:53 CEST 2022


Dear SCIP community,

I am working on a branch-and-price application where some of the 
problem's (set covering) constraints can be removed during node 
preprocessing. In order to delete the row, I tried using SCIPdelCons, 
SCIPdelConsLocal and SCIPdisable /SCIPenable but they all run into the 
same issue.

The issue I am running in to is that deleting/disabling a constraint 
does not necessarily remove the associated row from the LP.  This is 
problematic in my case, as the row which is still in the LP can then 
also have a nonzero dual solution, which makes it impossible to solve 
the pricing problem. I would like to know how to prevent these 
Disabled/deleted rows from having a nonzero dual solution after I have 
called SCIPdelCons() (or any of the above equivalents). Constraint 
ageing (e.g. setting Removable to True) also does not work as SCIP still 
does not evict this row from the LP as it is still a tight constraint.

My questions boil down to the following:
1. How can I force a constraint/row to be removed from the (current) LP?
2. Is this a bug?

Best,

Rolf



More information about the Scip mailing list