cons_linking.h
Go to the documentation of this file.
27 * @brief constraint handler for linking binary variables to a linking (continuous or integer) variable
33 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
66 * The constraints handler stores linking constraints between a linking variable (continuous or integer) and an array of binary variables. Such
71 * with linking variable (continuous or integer) \f$ y \f$, binary variables \f$ x_1, \dots, x_n \f$ and offset \f$b \in Q\f$, and
72 * with the additional side condition that exactly one binary variable has to be one (set partitioning condition).
74 * This constraint can be created only with the linking variable, if it is an integer variable. In this case the binary variables are only created on
75 * demand. That is, whenever someone asks for the binary variables. Therefore, such constraints can be used to get a
76 * "binary representation" of the domain of the linking variable which will be dynamically created.
81 * @note the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
112 SCIP_Bool stickingatnode /**< should the constraint always be kept at the node where it was added, even
118 * in its most basic version, i. e., all constraint flags are set to their basic value as explained for the
119 * method SCIPcreateConsLinking(); all flags can be set via SCIPsetConsFLAGNAME-methods in scip.h
123 * @note the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
137 /** checks if for the given linking variable (continuous or integer) a linking constraint exists */
144 /** returns the linking constraint belonging the given linking variable (continuous or integer) or NULL if it does not exist yet */
SCIP_RETCODE SCIPincludeConshdlrLinking(SCIP *scip)
Definition: cons_linking.c:3505
Definition: struct_scip.h:69
Definition: struct_var.h:207
type definitions for return codes for SCIP methods
int SCIPgetNBinvarsLinking(SCIP *scip, SCIP_CONS *cons)
Definition: cons_linking.c:3793
SCIP_Bool SCIPexistsConsLinking(SCIP *scip, SCIP_VAR *linkvar)
Definition: cons_linking.c:3685
SCIP_RETCODE SCIPcreateConsBasicLinking(SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR *linkvar, SCIP_VAR **binvars, SCIP_Real *vals, int nbinvars)
Definition: cons_linking.c:3666
SCIP_Real * SCIPgetValsLinking(SCIP *scip, SCIP_CONS *cons)
Definition: cons_linking.c:3816
Definition: struct_cons.h:46
SCIP_RETCODE SCIPgetBinvarsDataLinking(SCIP_CONS *cons, SCIP_VAR ***binvars, SCIP_Real **vals, int *nbinvars)
Definition: cons_linking.c:3840
type definitions for SCIP's main datastructure
SCIP_RETCODE SCIPcreateConsLinking(SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR *linkvar, SCIP_VAR **binvars, SCIP_Real *vals, int nbinvars, 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_linking.c:3569
type definitions for problem variables
SCIP_RETCODE SCIPgetBinvarsLinking(SCIP *scip, SCIP_CONS *cons, SCIP_VAR ***binvars, int *nbinvars)
Definition: cons_linking.c:3747
SCIP_VAR * SCIPgetLinkvarLinking(SCIP *scip, SCIP_CONS *cons)
Definition: cons_linking.c:3724
SCIP_CONS * SCIPgetConsLinking(SCIP *scip, SCIP_VAR *linkvar)
Definition: cons_linking.c:3703
common defines and data types used in all packages of SCIP
Definition: objbenders.h:43
type definitions for constraints and constraint handlers