[Scip] The Cut Pool in Scip

Marc Pfetsch pfetsch at mathematik.tu-darmstadt.de
Sat Jun 22 15:12:41 MEST 2013


Hi Victor,

I am not sure whether I understood what you are planning, but it sounds 
as if all this can be handled inside a single constraint handler (or 
separator) keeping track of all the "small" constraints. For SCIP the 
only thing that matters is whether you add cuts or not.

When adding rows to the LP you should check whether they are violated by 
the current LP-solution. If not, they will be discarded anyway. The 
remaining cuts are filtered by the interal routines and only the most 
promising will be added to the LP. This is described in the PhD thesis 
of Tobias Achterberg (see http://scip.zib.de/further.shtml) in Section 
3.3.8.

If it was expensive to generate rows (and there is a limited number of 
them), you can add them to the cutpool. Cuts that are easy to generate 
should not be added, since it might be faster to separate them on the 
fly instead of running through all of them in the cutpool.

In order to keep control over a large number of cuts it often makes 
sense to stop the separation if enough cuts have been generated and 
continue at this place (without reiterating through the already 
separated cuts) in the next round.

I hope that this helps somewhat ...

Best

Marc


On 21.06.2013 16:58, Victor Miller wrote:
> I'm in the process of writing a constraint handler.  In this constraint
> (which I'll call the *big* constraint), it will keep an auxilliary list
> of quantities (which are lists of other data).  Each of these quantities
> can themselves be thought of as another, simpler, kind of constraint.
> For each of the simpler constraints there's an efficient separation
> procedure.  If all such separators are generated, but I've determined
> that the original (big) constraint isn't satisfied, then there's a
> method of generating one or more of the simpler constraints which must
> be satisfied.  So the strategy is to keep iterating this.  However, in
> running this the number of separators generated can get quite large.
> The question that I have is whether or not I should just add them to the
> cut pool, and allow it to use whatever heuristics it has (is there a
> good explanation of this?) to determine which ones to use.  Can you give
> me some guidance on this?
>
>
> Victor
>
>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> http://listserv.zib.de/mailman/listinfo/scip
>


More information about the Scip mailing list