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 */ 217 * If an implication is a shortcut, i.e., it was added as part of the transitive closure of another implication, 228 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and 232 #define SCIPimplicsGetNImpls(implics, varfixing) ((implics) != NULL ? (implics)->nimpls[varfixing] : 0) 233 #define SCIPimplicsGetNBinImpls(implics, varfixing) ((implics) != NULL ? (implics)->nbinimpls[varfixing] : 0) 234 #define SCIPimplicsGetVars(implics, varfixing) ((implics) != NULL ? (implics)->vars[varfixing] : NULL) 235 #define SCIPimplicsGetTypes(implics, varfixing) ((implics) != NULL ? (implics)->types[varfixing] : NULL) 236 #define SCIPimplicsGetBounds(implics, varfixing) ((implics) != NULL ? (implics)->bounds[varfixing] : NULL) 237 #define SCIPimplicsGetIds(implics, varfixing) ((implics) != NULL ? (implics)->ids[varfixing] : NULL) 256 SCIP_Bool* doubleentry, /**< pointer to store whether the variable and value occurs twice in the clique */ 257 SCIP_Bool* oppositeentry /**< pointer to store whether the variable with opposite value is in the clique */ 295 /** 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 */ 355 /** removes all empty and single variable cliques from the clique table; removes double entries from the clique table 417 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and 421 #define SCIPcliquelistGetNCliques(cliquelist, value) ((cliquelist) != NULL ? (cliquelist)->ncliques[value] : 0) 422 #define SCIPcliquelistGetCliques(cliquelist, value) ((cliquelist) != NULL ? (cliquelist)->cliques[value] : NULL)
Definition: struct_implics.h:37 void SCIPvboundsShrink(SCIP_VBOUNDS **vbounds, BMS_BLKMEM *blkmem, int newnvbds) Definition: implics.c:326 SCIP_Longint SCIPcliquetableGetNEntries(SCIP_CLIQUETABLE *cliquetable) Definition: implics.c:3243 type definitions for implications, variable bounds, and cliques public methods for implications, variable bounds, and cliques SCIP_RETCODE SCIPcliquetableCleanup(SCIP_CLIQUETABLE *cliquetable, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, int *nchgbds, SCIP_Bool *infeasible) Definition: implics.c:2780 SCIP_RETCODE SCIPcliquelistAdd(SCIP_CLIQUELIST **cliquelist, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_Bool value, SCIP_CLIQUE *clique) Definition: implics.c:1466 SCIP_Real * SCIPvboundsGetConstants(SCIP_VBOUNDS *vbounds) Definition: implics.c:3045 SCIP_RETCODE SCIPcliqueAddVar(SCIP_CLIQUE *clique, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_VAR *var, SCIP_Bool value, SCIP_Bool *doubleentry, SCIP_Bool *oppositeentry) Definition: implics.c:1135 int SCIPcliquetableGetNCliques(SCIP_CLIQUETABLE *cliquetable) Definition: implics.c:3223 Definition: struct_var.h:196 int SCIPimplicsGetNImpls(SCIP_IMPLICS *implics, SCIP_Bool varfixing) Definition: implics.c:3053 SCIP_Bool SCIPcliquelistsHaveCommonClique(SCIP_CLIQUELIST *cliquelist1, SCIP_Bool value1, SCIP_CLIQUELIST *cliquelist2, SCIP_Bool value2) Definition: implics.c:1589 type definitions for global SCIP settings Definition: struct_prob.h:38 type definitions for return codes for SCIP methods SCIP_RETCODE SCIPcliquetableCreate(SCIP_CLIQUETABLE **cliquetable, SCIP_SET *set, BMS_BLKMEM *blkmem) Definition: implics.c:1776 SCIP_RETCODE SCIPimplicsDel(SCIP_IMPLICS **implics, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_Bool varfixing, SCIP_VAR *implvar, SCIP_BOUNDTYPE impltype) Definition: implics.c:837 type definitions for branching rules type definitions for problem statistics SCIP_Bool SCIPimplicsContainsImpl(SCIP_IMPLICS *implics, SCIP_Bool varfixing, SCIP_VAR *implvar, SCIP_BOUNDTYPE impltype) Definition: implics.c:917 SCIP_RETCODE SCIPcliquetableAdd(SCIP_CLIQUETABLE *cliquetable, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_VAR **vars, SCIP_Bool *values, int nvars, SCIP_Bool isequation, SCIP_Bool *infeasible, int *nbdchgs) Definition: implics.c:2240 type definitions for LP management Definition: struct_set.h:56 void SCIPimplicsGetVarImplics(SCIP_IMPLICS *implics, SCIP_Bool varfixing, SCIP_VAR *implvar, SCIP_Bool *haslowerimplic, SCIP_Bool *hasupperimplic) Definition: implics.c:895 void SCIPcliquelistRemoveFromCliques(SCIP_CLIQUELIST *cliquelist, SCIP_CLIQUETABLE *cliquetable, SCIP_VAR *var, SCIP_Bool irrelevantvar) Definition: implics.c:1667 SCIP_RETCODE SCIPimplicsAdd(SCIP_IMPLICS **implics, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_Bool varfixing, SCIP_VAR *implvar, SCIP_BOUNDTYPE impltype, SCIP_Real implbound, SCIP_Bool isshortcut, SCIP_Bool *conflict, SCIP_Bool *added) Definition: implics.c:630 SCIP_VAR ** SCIPimplicsGetVars(SCIP_IMPLICS *implics, SCIP_Bool varfixing) Definition: implics.c:3062 SCIP_CLIQUE ** SCIPcliquetableGetCliques(SCIP_CLIQUETABLE *cliquetable) Definition: implics.c:3233 SCIP_CLIQUE ** SCIPcliquelistGetCliques(SCIP_CLIQUELIST *cliquelist, SCIP_Bool value) Definition: implics.c:3172 SCIP_BOUNDTYPE * SCIPimplicsGetTypes(SCIP_IMPLICS *implics, SCIP_Bool varfixing) Definition: implics.c:3071 type definitions for problem variables void SCIPcliqueDelVar(SCIP_CLIQUE *clique, SCIP_CLIQUETABLE *cliquetable, SCIP_VAR *var, SCIP_Bool value) Definition: implics.c:1269 Definition: struct_implics.h:78 type definitions for managing events datastructures for implications, variable bounds, and cliques int * SCIPimplicsGetIds(SCIP_IMPLICS *implics, SCIP_Bool varfixing) Definition: implics.c:3092 void SCIPvboundsFree(SCIP_VBOUNDS **vbounds, BMS_BLKMEM *blkmem) Definition: implics.c:66 SCIP_RETCODE SCIPcliquetableFree(SCIP_CLIQUETABLE **cliquetable, BMS_BLKMEM *blkmem) Definition: implics.c:1808 Definition: struct_reopt.h:113 void SCIPcliquelistCheck(SCIP_CLIQUELIST *cliquelist, SCIP_VAR *var) Definition: implics.c:3181 void SCIPimplicsFree(SCIP_IMPLICS **implics, BMS_BLKMEM *blkmem) Definition: implics.c:444 SCIP_RETCODE SCIPvboundsDel(SCIP_VBOUNDS **vbounds, BMS_BLKMEM *blkmem, SCIP_VAR *vbdvar, SCIP_Bool negativecoef) Definition: implics.c:281 void SCIPcliquelistFree(SCIP_CLIQUELIST **cliquelist, BMS_BLKMEM *blkmem) Definition: implics.c:1425 Definition: struct_lp.h:255 SCIP_Real * SCIPimplicsGetBounds(SCIP_IMPLICS *implics, SCIP_Bool varfixing) Definition: implics.c:3080 Definition: struct_implics.h:86 Definition: struct_implics.h:64 Definition: struct_stat.h:44 Definition: struct_tree.h:165 common defines and data types used in all packages of SCIP Definition: struct_implics.h:51 Definition: struct_event.h:204 SCIP_RETCODE SCIPvboundsAdd(SCIP_VBOUNDS **vbounds, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_BOUNDTYPE vboundtype, SCIP_VAR *var, SCIP_Real coef, SCIP_Real constant, SCIP_Bool *added) Definition: implics.c:199 Definition: struct_branch.h:36 int SCIPcliquelistGetNCliques(SCIP_CLIQUELIST *cliquelist, SCIP_Bool value) Definition: implics.c:3163 SCIP_RETCODE SCIPcliquelistDel(SCIP_CLIQUELIST **cliquelist, BMS_BLKMEM *blkmem, SCIP_Bool value, SCIP_CLIQUE *clique) Definition: implics.c:1511 memory allocation routines |