cons_orbitope_pp.h
Go to the documentation of this file.
27 * @brief constraint handler for partitioning/packing orbitope constraints w.r.t. the full symmetric group
33/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
66 * This constraint handler can be used to handle symmetries in certain 0/1-programs. The principle
67 * structure is that some variables can be ordered in matrix form, such that permuting columns does
68 * not change the validity and objective function value of a solution. That is, the symmetry group
76 * \f$x_{ij}\f$, \f$i \in \{1, \dots, p\}\f$, \f$j \in \{1, \dots, q\}\f$. The variables may be coupled
79 * \sum_{j = 1}^q x_{ij} \leq 1 \quad \mbox{or} \quad \sum_{j = 1}^q x_{ij} = 1 \quad \mbox{for all }i = 1, \ldots, p.
81 * Permuting columns of \f$x\f$ does not change the validity and objective function value of any feasible solution.
83 * We distinguish whether an orbitope is a model constraint or not. If it is a model constraint, then
84 * its information are copied to subSCIPs. Otherwise, the constraint was added just for the purpose of
90 * @note the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
123 SCIP_Bool stickingatnode /**< should the constraint always be kept at the node where it was added, even
128/** creates and captures a packing/partitioning orbitope constraint in its most basic variant, i. e., with all
129 * constraint flags set to their default values, which can be set afterwards using SCIPsetConsFLAGNAME()
133 * @note the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
common defines and data types used in all packages of SCIP
SCIP_RETCODE SCIPcreateConsOrbitopePP(SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR ***vars, SCIP_ORBITOPETYPE orbitopetype, int nrows, int ncols, SCIP_Bool resolveprop, SCIP_Bool ismodelcons, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode)
Definition: cons_orbitope_pp.c:2700
SCIP_RETCODE SCIPcreateConsBasicOrbitopePP(SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR ***vars, SCIP_ORBITOPETYPE orbitopetype, int nrows, int ncols, SCIP_Bool resolveprop, SCIP_Bool ismodelcons)
Definition: cons_orbitope_pp.c:2810
SCIP_RETCODE SCIPincludeConshdlrOrbitopePP(SCIP *scip)
Definition: cons_orbitope_pp.c:2648
Definition: multiprecision.hpp:66
static SCIP_RETCODE separate(SCIP *scip, SCIP_SEPA *sepa, SCIP_SOL *sol, SCIP_RESULT *result)
Main separation function.
Definition: sepa_flower.c:1221
Definition: struct_cons.h:47
Definition: struct_var.h:262
Definition: struct_scip.h:72
type definitions for constraints and constraint handlers
type definitions for return codes for SCIP methods
type definitions for SCIP's main datastructure
type definitions for symmetry computations
type definitions for problem variables