scip_dcmp.h
Go to the documentation of this file.
22 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
49 SCIP_Bool benderslabels /**< should the variables be labeled for the application of Benders' decomposition */
75 /** returns TRUE if the constraint \p cons contains only linking variables in decomposition \p decomp */
81 SCIP_Bool* hasonlylinkvars /**< will be set to TRUE if this constraint has only linking variables */
88 * The computed labels depend on the flag SCIPdecompUseBendersLabels() of the decomposition. If the flag is set
91 * - label i, if only variables labeled i are present in the constraint (and optionally linking variables)
92 * - SCIP_DECOMP_LINKCONS, if there are either only variables labeled with SCIP_DECOMP_LINKVAR present, or
95 * If the flag is set to TRUE, the assignment is the same, unless variables from 2 named blocks occur in the same
108 * NOTE: by default, the variable labeling is based on a Dantzig-Wolfe decomposition. This means that constraints in named
109 * blocks have have precedence over linking constraints. If a variable exists in constraints from
112 * Variables which are only in linking constraints are unlabeled. However, SCIPdecompGetVarsLabels() will
115 * If the variables should be labeled for the application of Benders' decomposition, the decomposition must be
117 * With this setting, the presence in linking constraints takes precedence over the presence in named blocks.
118 * Now, a variable is considered linking if it is present in at least one linking constraint and an arbitrary
135 * @note: In contrast to SCIPcomputeDecompConsLabels(), this method potentially relabels variables.
Definition: struct_dcmp.h:35
Definition: struct_scip.h:59
SCIP_RETCODE SCIPcomputeDecompVarsLabels(SCIP *scip, SCIP_DECOMP *decomp, SCIP_CONS **conss, int nconss)
Definition: scip_dcmp.c:444
SCIP_RETCODE SCIPassignDecompLinkConss(SCIP *scip, SCIP_DECOMP *decomp, SCIP_CONS **conss, int nconss, int *nskipconss)
Definition: scip_dcmp.c:539
SCIP_RETCODE SCIPcomputeDecompStats(SCIP *scip, SCIP_DECOMP *decomp, SCIP_Bool uselimits)
Definition: scip_dcmp.c:1125
SCIP_RETCODE SCIPcomputeDecompConsLabels(SCIP *scip, SCIP_DECOMP *decomp, SCIP_CONS **conss, int nconss)
Definition: scip_dcmp.c:335
type definitions for return codes for SCIP methods
void SCIPgetDecomps(SCIP *scip, SCIP_DECOMP ***decomps, int *ndecomps, SCIP_Bool original)
Definition: scip_dcmp.c:253
Definition: struct_cons.h:37
type definitions for SCIP's main datastructure
SCIP_RETCODE SCIPhasConsOnlyLinkVars(SCIP *scip, SCIP_DECOMP *decomp, SCIP_CONS *cons, SCIP_Bool *hasonlylinkvars)
Definition: scip_dcmp.c:272
SCIP_RETCODE SCIPcreateDecomp(SCIP *scip, SCIP_DECOMP **decomp, int nblocks, SCIP_Bool original, SCIP_Bool benderslabels)
Definition: scip_dcmp.c:208
type definitions for decompositions and the decomposition store
common defines and data types used in all packages of SCIP
Definition: objbenders.h:33
type definitions for constraints and constraint handlers