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 */
69 are known to take an integral value in a feasible or optimal solution due to other constraints or
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 */
102 typedef struct SCIP_DomChgBound SCIP_DOMCHGBOUND; /**< static domain change data for bound changes */
103 typedef struct SCIP_DomChgBoth SCIP_DOMCHGBOTH; /**< static domain change data for bound and hole changes */
104 typedef struct SCIP_DomChgDyn SCIP_DOMCHGDYN; /**< dynamic domain change data for bound and hole changes */
107 typedef struct SCIP_BdChgIdx SCIP_BDCHGIDX; /**< bound change index in path from root to current node */
108 typedef struct SCIP_BdChgInfo SCIP_BDCHGINFO; /**< bound change information to track bound changes from root to current node */
109 typedef struct SCIP_BranchingData SCIP_BRANCHINGDATA; /**< data for branching decision bound changes */
113 typedef 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: type_var.h:80
Definition: struct_var.h:108
Definition: type_var.h:49
Definition: struct_var.h:160
Definition: struct_var.h:207
Definition: struct_var.h:91
Definition: type_var.h:62
Definition: type_var.h:79
Definition: struct_var.h:130
Definition: struct_var.h:183
Definition: struct_var.h:168
Definition: type_var.h:88
Definition: struct_var.h:138
Definition: type_var.h:51
Definition: type_var.h:53
Definition: type_var.h:89
Definition: struct_var.h:115
Definition: struct_var.h:65
Definition: type_var.h:64
Definition: struct_var.h:58
Definition: type_var.h:78
Definition: type_var.h:63
Definition: type_var.h:55
Definition: type_var.h:98
Definition: type_var.h:50
Definition: type_var.h:54
Definition: struct_var.h:201
Definition: struct_var.h:51
Definition: type_var.h:97
Definition: struct_var.h:191
Definition: struct_var.h:176
Definition: struct_var.h:148
Definition: type_var.h:52
Definition: type_var.h:87
Definition: type_var.h:71