[SCIP] ENFOPRIORITY

Marco Correia marco.v.correia at gmail.com
Wed Aug 4 11:32:56 CEST 2021


Hi,

>From the docs about writing a customer constraint handler, specifically

"The constraint enforcement is called after the price-and-cut loop is
executed (in the case that the LP is solved at the current subproblem).
The integrality constraint handler has an enforcement priority of 0. That
means, if a constraint handler has negative enforcement priority, it only
has to deal with integral solutions in its enforcement methods, because for
fractional solutions, the integrality constraint handler would have created
a branching, thereby aborting the enforcement step. If you want to
implement a constraint-depending branching rule (for example, SOS branching
on special ordered set constraints), you have to assign a positive
enforcement priority to your constraint handler. In this case, you have to
be able to deal with fractional solutions."

I got the impression that if I would like to add a constraint handler that
"runs" on possibly non-integral solutions (i.e. relaxations), I would have
to add a non-negative value for this parameter.

However, looking at most constraint handlers defined in SCIP  (for example
for "abspower" which shouldn't require variables to be integral) I see
mostly negative numbers for this parameter.

So I guess I am misreading the docs. My questions are then:

1. What should be the priority for a constraint handler that requires the
current solution to satisfy all integrality constraints?

2. What should be the priority for a constraint handler that does NOT
require the current solution to satisfy all integrality constraints?

3. How does one decide the magnitude of this number? Is there like a table
showing what runs at what priority?

Thanks
Marco
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20210804/98ce6942/attachment.html>


More information about the Scip mailing list