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*/
53 SCIP_VARSTATUS_AGGREGATED = 4, /**< variable is aggregated to x = a*y + c in the transformed problem */
55 SCIP_VARSTATUS_NEGATED = 6 /**< variable is the negation of an original or transformed variable */
56};
69 are known to take an integral value in a feasible or optimal solution due to other constraints or
72};
81};
88 SCIP_BOUNDCHGTYPE_CONSINFER = 1, /**< bound change was due to an inference of a constraint (domain propagation) */
89 SCIP_BOUNDCHGTYPE_PROPINFER = 2 /**< bound change was due to an inference of a domain propagator */
90};
99};
102typedef struct SCIP_DomChgBound SCIP_DOMCHGBOUND; /**< static domain change data for bound changes */
103typedef struct SCIP_DomChgBoth SCIP_DOMCHGBOTH; /**< static domain change data for bound and hole changes */
104typedef struct SCIP_DomChgDyn SCIP_DOMCHGDYN; /**< dynamic domain change data for bound and hole changes */
107typedef struct SCIP_BdChgIdx SCIP_BDCHGIDX; /**< bound change index in path from root to current node */
108typedef struct SCIP_BdChgInfo SCIP_BDCHGINFO; /**< bound change information to track bound changes from root to current node */
109typedef struct SCIP_BranchingData SCIP_BRANCHINGDATA; /**< data for branching decision bound changes */
113typedef struct SCIP_Holelist SCIP_HOLELIST; /**< list of holes in a domain of an integer variable */
131#define SCIP_DECL_VARDELORIG(x) SCIP_RETCODE x (SCIP* scip, SCIP_VAR* var, SCIP_VARDATA** vardata)
151#define SCIP_DECL_VARTRANS(x) SCIP_RETCODE x (SCIP* scip, SCIP_VAR* sourcevar, SCIP_VARDATA* sourcedata, SCIP_VAR* targetvar, SCIP_VARDATA** targetdata)
164#define SCIP_DECL_VARDELTRANS(x) SCIP_RETCODE x (SCIP* scip, SCIP_VAR* var, SCIP_VARDATA** vardata)
168 * This method should copy the variable data of the source SCIP and create a target variable data for target
169 * variable. This callback is optimal. If the copying process was successful the target variable gets this variable
170 * data assigned. In case the result pointer is set to SCIP_DIDNOTRUN the target variable will have no variable data at
173 * The variable map and the constraint map can be used via the function SCIPgetVarCopy() and SCIPgetConsCopy(),
174 * respectively, to get for certain variables and constraints of the source SCIP the counter parts in the target
175 * SCIP. You should be very carefully in using these two methods since they could lead to infinity loop.
182 * - varmap, : a hashmap which stores the mapping of source variables to corresponding target variables
183 * - consmap, : a hashmap which stores the mapping of source constraints to corresponding target constraints
194#define SCIP_DECL_VARCOPY(x) SCIP_RETCODE x (SCIP* scip, SCIP* sourcescip, SCIP_VAR* sourcevar, SCIP_VARDATA* sourcedata, \
195 SCIP_HASHMAP* varmap, SCIP_HASHMAP* consmap, SCIP_VAR* targetvar, SCIP_VARDATA** targetdata, SCIP_RESULT* result)
Definition: struct_var.h:184
Definition: struct_var.h:109
Definition: struct_var.h:116
Definition: struct_var.h:92
Definition: struct_var.h:139
Definition: struct_var.h:131
Definition: struct_var.h:149
Definition: struct_var.h:169
Definition: struct_var.h:66
Definition: struct_var.h:52
Definition: struct_var.h:59
Definition: struct_var.h:192
Definition: struct_var.h:202
Definition: struct_var.h:177
Definition: struct_var.h:208
Definition: struct_var.h:161