[SCIP] Adding constraints while pricing

Schrotenboer, Albert a.h.schrotenboer at rug.nl
Thu Apr 4 22:46:15 CEST 2019


Dear SCIP Community,

I am working on a column generation algorithm with a substantial amount of
constraints (say in the order of 1 million). Actually, those constraints
are often redundant until the right columns are generated. So my aim is to
include those constraints gradually, that is, I generate a new column (and
I already take into account the duals of the not yet included constraints)
and while adding that column I want to create a new constraint.

Of course, I can call the SCIPcreateConsLinear() method and create a
constraint there, however, I am wondering if a different approach would be
possible. Namely, I create all the constraints before I start solving the
model by calling the SCIPcreateConsLinear() and the SCIPaddCons() methods.
I make sure to put the initial flag, enforce, and check flags to zero while
creating the constraints.
I indeed see, that the number of rows is 'small' (let's say in the order of
100's), while the number of cons is indeed very large (let's say in the
order of 100,000's). This seems correct, as I don't want to bother about
all the (at this moment) redundant constraints.

Then, when I generate a new column I want to set the enforce and check
flags equal to true for the constraints that should be included, i.e.,
constraints that are not redundant anymore. However, I see that there is
some delay in the activation of the constraints, i.e., it takes several
pricing rounds before the number of 'rows' increase.

My question is, is there an elegant way to directly enforce constraints
from within the pricer 'callback' ? And related, when  I use the
SCIPsetConsEnforced() or SCIPsetConsChecked() methods from within a pricing
loop, when are the changes incorporated within SCIP? Or is the best way to
simply create the constraints when I need them?

Thank you,
Albert

-- 

Albert Schrotenboer

Ph.D. Candidate

Faculty of Economics and Business

University of Groningen

P.O. Box 800, 9700 AV Groningen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20190404/eadfe8a2/attachment.html>


More information about the Scip mailing list