All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
implics.h
Go to the documentation of this file.
21 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
114 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
150 SCIP_BOUNDTYPE impltype, /**< type of implication y <= b (SCIP_BOUNDTYPE_UPPER) or y >= b (SCIP_BOUNDTYPE_LOWER) */
152 SCIP_Bool isshortcut, /**< is the implication a shortcut, i.e., added as part of the transitive closure of another implication? */
153 SCIP_Bool* conflict, /**< pointer to store whether implication causes a conflict for variable x */
157 /** removes the implication x <= 0 or x >= 1 ==> y <= b or y >= b from the implications data structure */
163 SCIP_Bool varfixing, /**< FALSE if y should be removed from implications for x <= 0, TRUE for x >= 1 */
165 SCIP_BOUNDTYPE impltype /**< type of implication y <= b (SCIP_BOUNDTYPE_UPPER) or y >= b (SCIP_BOUNDTYPE_LOWER) */
168 /** returns which implications on given variable y are contained in implications for x == 0 or x == 1 */
172 SCIP_Bool varfixing, /**< FALSE if y should be searched in implications for x == 0, TRUE for x == 1 */
178 /** returns whether an implication y <= b or y >= b is contained in implications for x == 0 or x == 1 */
182 SCIP_Bool varfixing, /**< FALSE if y should be searched in implications for x == 0, TRUE for x == 1 */
224 * If an implication is a shortcut, i.e., it was added as part of the transitive closure of another implication,
235 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
239 #define SCIPimplicsGetNImpls(implics, varfixing) ((implics) != NULL ? (implics)->nimpls[varfixing] : 0)
240 #define SCIPimplicsGetNBinImpls(implics, varfixing) ((implics) != NULL ? (implics)->nbinimpls[varfixing] : 0)
241 #define SCIPimplicsGetVars(implics, varfixing) ((implics) != NULL ? (implics)->vars[varfixing] : NULL)
242 #define SCIPimplicsGetTypes(implics, varfixing) ((implics) != NULL ? (implics)->types[varfixing] : NULL)
243 #define SCIPimplicsGetBounds(implics, varfixing) ((implics) != NULL ? (implics)->bounds[varfixing] : NULL)
244 #define SCIPimplicsGetIds(implics, varfixing) ((implics) != NULL ? (implics)->ids[varfixing] : NULL)
263 SCIP_Bool* doubleentry, /**< pointer to store whether the variable and value occurs twice in the clique */
264 SCIP_Bool* oppositeentry /**< pointer to store whether the variable with opposite value is in the clique */
301 /** returns whether the given clique lists have a non-empty intersection, i.e. whether there is a clique that appears
347 SCIP_VAR** vars, /**< binary variables in the clique: at most one can be set to the given value */
354 /** removes all empty and single variable cliques from the clique table, and converts all two variable cliques
407 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
411 #define SCIPcliquelistGetNCliques(cliquelist, value) ((cliquelist) != NULL ? (cliquelist)->ncliques[value] : 0)
|