[SCIP] propagation with set partitioning constraints

Marc Pfetsch pfetsch at mathematik.tu-darmstadt.de
Thu Jan 28 20:03:08 CET 2021



Hi James!

> Suppose I have two set partitioning constraints:
> 
> a + b + c + d = 1
> a + b + e = 1
> 
> Suppose I were to branch on "e" and let's consider the branch where e=0
> So locally we have a+b=1 and so both c and d can be set to 0 (even
> though we don't know yet which of a or b will be 1).
> 
> Does this propagation happen in SCIP? 

I am pretty sure that this will not happen in propagation, because to
test this, would be quite expensive in general. This would be something
that would need to be prepared (or only performed) in preprocessing.

> From my reading of the source code
> (and Achterberg's thesis) it seems that not. But perhaps I have missed
> something.

I have looked at the code and have not found a technique like this, not
even in presolving.

Note, however, that if the constraints would be

a + b + c = 1
a + b + e = 1

as far as I can see, SCIP would replace a + b by a new variable binary
variable in preprocessing and then fixing e would also fix c. Thus, your
idea would be possible to implement using this replacement.

Best

Marc


More information about the Scip mailing list