[SCIP] Separators and constraint handlers

Teo Blast teo.blst at outlook.com
Tue Jun 19 12:23:29 CEST 2018


Hi,
I am quite confused by the documentation about these C++ classes.
The answer to the question "when should I use separators vs constraint handlers" in the FAQ is as follows:

“This depends on whether you want to add constraints or only cutting planes. The main difference is that constraints can be "model constraints", while cutting planes are only additional LP rows that strengthen the LP relaxation. A model constraint is a constraint that is important for the feasibility of the integral solutions. If you delete a model constraint, some infeasible integral vectors would suddenly become feasible in the reduced model. A cutting plane is redundant w.r.t. integral solutions. The set of feasible integral vectors does not change if a cutting plane is removed. You can, however, relax this condition slightly and add cutting planes that do cut off feasible solutions, as long as at least one of the optimal solutions remains feasible. “


I want to implement cutting planes, which are redundant w.r.t. integral solutions,. It would thus seem that I need a separator.

However, the separator description reads:
 “Separators are used to generate general purpose cutting planes. Constraint based cutting planes, the second type of cutting planes in SCIP, are separated in the CONSSEPALP and CONSSEPASOL callback methods of the constraint handlers, see CONSSEPALP<http://scip.zib.de/doc-5.0.1/html/CONS.php#CONSSEPALP> and CONSSEPASOL<http://scip.zib.de/doc-5.0.1/html/CONS.php#CONSSEPASOL>. These cuts are valid inequalities or even facets of the polyhedron described by a single constraint or a subset of the constraints of a single constraint class. In contrast, general purpose cuts do not require or exploit any knowledge about the underlying problem structure but use only the current LP relaxation and the integrality conditions.”

The cutting planes I want to implement are problem-specific (they are facets of the problem's polyhedron), thus they are not "general purpose" cutting planes. So they cannot be separated with a separator?
Doesn't it contradict the FAQ answer?

Many thanks in advance !






-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20180619/365463ba/attachment.html>


More information about the Scip mailing list