type_var.h
Go to the documentation of this file.
30 * This file defines the interface for user variable data implemented in C. Each variable can be equipped with a
31 * variable data struct. This data can be accessed via the function SCIPgetVardata() at any time after it is created
37/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
55 SCIP_VARSTATUS_AGGREGATED = 4, /**< variable is aggregated to x = a*y + c in the transformed problem */
57 SCIP_VARSTATUS_NEGATED = 6 /**< variable is the negation of an original or transformed variable */
58};
66#if defined(__clang__) || (defined(__GNUC__) && __GNUC__ >= 6) /* _attribute__ ((deprecated)) within enums only supported by selected compilers */
67 SCIP_VARTYPE_IMPLINT SCIP_DEPRECATED = 2, /**< @deprecated use `SCIPcreateVarImpl()` or `SCIPvarChgImplType()` to control implied integrality */
69 SCIP_VARTYPE_IMPLINT = 2, /**< @deprecated use `SCIPcreateVarImpl()` or `SCIPvarChgImplType()` to control implied integrality */
72};
116};
123 SCIP_DOMCHGTYPE_BOTH = 1, /**< static domain changes: number of entries equals size of arrays */
125};
132 SCIP_BOUNDCHGTYPE_CONSINFER = 1, /**< bound change was due to an inference of a constraint (domain propagation) */
133 SCIP_BOUNDCHGTYPE_PROPINFER = 2 /**< bound change was due to an inference of a domain propagator */
134};
143};
146typedef struct SCIP_DomChgBound SCIP_DOMCHGBOUND; /**< static domain change data for bound changes */
147typedef struct SCIP_DomChgBoth SCIP_DOMCHGBOTH; /**< static domain change data for bound and hole changes */
148typedef struct SCIP_DomChgDyn SCIP_DOMCHGDYN; /**< dynamic domain change data for bound and hole changes */
151typedef struct SCIP_BdChgIdx SCIP_BDCHGIDX; /**< bound change index in path from root to current node */
152typedef struct SCIP_BdChgInfo SCIP_BDCHGINFO; /**< bound change information to track bound changes from root to current node */
153typedef struct SCIP_BranchingData SCIP_BRANCHINGDATA; /**< data for branching decision bound changes */
157typedef struct SCIP_Holelist SCIP_HOLELIST; /**< list of holes in a domain of an integer variable */
164typedef struct SCIP_MultaggrExact SCIP_MULTAGGREXACT; /**< exact multiple aggregation information */
180#define SCIP_DECL_VARDELORIG(x) SCIP_RETCODE x (SCIP* scip, SCIP_VAR* var, SCIP_VARDATA** vardata)
200#define SCIP_DECL_VARTRANS(x) SCIP_RETCODE x (SCIP* scip, SCIP_VAR* sourcevar, SCIP_VARDATA* sourcedata, SCIP_VAR* targetvar, SCIP_VARDATA** targetdata)
213#define SCIP_DECL_VARDELTRANS(x) SCIP_RETCODE x (SCIP* scip, SCIP_VAR* var, SCIP_VARDATA** vardata)
217 * This method should copy the variable data of the source SCIP and create a target variable data for target
218 * variable. This callback is optional. If the copying process was successful, the target variable gets this variable
219 * data assigned. In case the result pointer is set to SCIP_DIDNOTRUN, the target variable will have no variable data at
222 * The variable map and the constraint map can be used via the function SCIPgetVarCopy() and SCIPgetConsCopy(),
223 * respectively, to get for certain variables and constraints of the source SCIP the counter parts in the target
224 * SCIP. You should be very careful in using these two methods since they could lead to infinite loop.
231 * - varmap, : a hashmap which stores the mapping of source variables to corresponding target variables
232 * - consmap, : a hashmap which stores the mapping of source constraints to corresponding target constraints
243#define SCIP_DECL_VARCOPY(x) SCIP_RETCODE x (SCIP* scip, SCIP* sourcescip, SCIP_VAR* sourcevar, SCIP_VARDATA* sourcedata, \
244 SCIP_HASHMAP* varmap, SCIP_HASHMAP* consmap, SCIP_VAR* targetvar, SCIP_VARDATA** targetdata, SCIP_RESULT* result)
common defines and data types used in all packages of SCIP
Definition: struct_var.h:217
Definition: struct_var.h:209
Definition: struct_var.h:114
Definition: struct_var.h:121
Definition: struct_var.h:95
Definition: struct_var.h:145
Definition: struct_var.h:137
Definition: struct_var.h:155
Definition: struct_var.h:183
Definition: struct_var.h:175
Definition: struct_var.h:69
Definition: struct_var.h:55
Definition: struct_var.h:62
Definition: struct_var.h:202
Definition: struct_var.h:234
Definition: struct_var.h:224
Definition: struct_var.h:241
Definition: struct_var.h:192
Definition: struct_var.h:247
Definition: struct_var.h:262
Definition: struct_var.h:167