scip_dcmp.h
Go to the documentation of this file.
31 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
58 SCIP_Bool benderslabels /**< should the variables be labeled for the application of Benders' decomposition */
84 /** returns TRUE if the constraint \p cons contains only linking variables in decomposition \p decomp */
90 SCIP_Bool* hasonlylinkvars /**< will be set to TRUE if this constraint has only linking variables */
97 * The computed labels depend on the flag SCIPdecompUseBendersLabels() of the decomposition. If the flag is set
100 * - label i, if only variables labeled i are present in the constraint (and optionally linking variables)
101 * - SCIP_DECOMP_LINKCONS, if there are either only variables labeled with SCIP_DECOMP_LINKVAR present, or
104 * If the flag is set to TRUE, the assignment is the same, unless variables from 2 named blocks occur in the same
117 * NOTE: by default, the variable labeling is based on a Dantzig-Wolfe decomposition. This means that constraints in named
118 * blocks have have precedence over linking constraints. If a variable exists in constraints from
121 * Variables which are only in linking constraints are unlabeled. However, SCIPdecompGetVarsLabels() will
124 * If the variables should be labeled for the application of Benders' decomposition, the decomposition must be
126 * With this setting, the presence in linking constraints takes precedence over the presence in named blocks.
127 * Now, a variable is considered linking if it is present in at least one linking constraint and an arbitrary
144 * @note: In contrast to SCIPcomputeDecompConsLabels(), this method potentially relabels variables.
Definition: struct_dcmp.h:44
Definition: struct_scip.h:68
SCIP_RETCODE SCIPcomputeDecompVarsLabels(SCIP *scip, SCIP_DECOMP *decomp, SCIP_CONS **conss, int nconss)
Definition: scip_dcmp.c:453
SCIP_RETCODE SCIPassignDecompLinkConss(SCIP *scip, SCIP_DECOMP *decomp, SCIP_CONS **conss, int nconss, int *nskipconss)
Definition: scip_dcmp.c:548
SCIP_RETCODE SCIPcomputeDecompStats(SCIP *scip, SCIP_DECOMP *decomp, SCIP_Bool uselimits)
Definition: scip_dcmp.c:1134
SCIP_RETCODE SCIPcomputeDecompConsLabels(SCIP *scip, SCIP_DECOMP *decomp, SCIP_CONS **conss, int nconss)
Definition: scip_dcmp.c:344
type definitions for return codes for SCIP methods
void SCIPgetDecomps(SCIP *scip, SCIP_DECOMP ***decomps, int *ndecomps, SCIP_Bool original)
Definition: scip_dcmp.c:262
Definition: struct_cons.h:46
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:281
SCIP_RETCODE SCIPcreateDecomp(SCIP *scip, SCIP_DECOMP **decomp, int nblocks, SCIP_Bool original, SCIP_Bool benderslabels)
Definition: scip_dcmp.c:217
type definitions for decompositions and the decomposition store
common defines and data types used in all packages of SCIP
Definition: objbenders.h:43
type definitions for constraints and constraint handlers