All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
type_var.h
Go to the documentation of this file.
21 * This file defines the interface for user variable data implemented in C. Each variable can be equipped with a
22 * variable data struct. This data can be accessed via the function SCIPgetVardata() at any time after it is created
28 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
44 SCIP_VARSTATUS_AGGREGATED = 4, /**< variable is aggregated to x = a*y + c in the transformed problem */
46 SCIP_VARSTATUS_NEGATED = 6 /**< variable is the negation of an original or transformed variable */
55 SCIP_VARTYPE_IMPLINT = 2, /**< implicit integer variable: continuous variable, that is always integral */
73 SCIP_BOUNDCHGTYPE_CONSINFER = 1, /**< bound change was due to an inference of a constraint (domain propagation) */
74 SCIP_BOUNDCHGTYPE_PROPINFER = 2 /**< bound change was due to an inference of a domain propagator */
78 typedef struct SCIP_DomChgBound SCIP_DOMCHGBOUND; /**< static domain change data for bound changes */
79 typedef struct SCIP_DomChgBoth SCIP_DOMCHGBOTH; /**< static domain change data for bound and hole changes */
80 typedef struct SCIP_DomChgDyn SCIP_DOMCHGDYN; /**< dynamic domain change data for bound and hole changes */
83 typedef struct SCIP_BdChgIdx SCIP_BDCHGIDX; /**< bound change index in path from root to current node */
84 typedef struct SCIP_BdChgInfo SCIP_BDCHGINFO; /**< bound change information to track bound changes from root to current node */
85 typedef struct SCIP_BranchingData SCIP_BRANCHINGDATA; /**< data for branching decision bound changes */
89 typedef struct SCIP_Holelist SCIP_HOLELIST; /**< list of holes in a domain of an integer variable */
107 #define SCIP_DECL_VARDELORIG(x) SCIP_RETCODE x (SCIP* scip, SCIP_VAR* var, SCIP_VARDATA** vardata)
127 #define SCIP_DECL_VARTRANS(x) SCIP_RETCODE x (SCIP* scip, SCIP_VAR* sourcevar, SCIP_VARDATA* sourcedata, SCIP_VAR* targetvar, SCIP_VARDATA** targetdata)
140 #define SCIP_DECL_VARDELTRANS(x) SCIP_RETCODE x (SCIP* scip, SCIP_VAR* var, SCIP_VARDATA** vardata)
144 * This method should copy the variable data of the source SCIP and create a target variable data for target
145 * variable. This callback is optimal. If the copying process was successful the target variable gets this variable
146 * data assigned. In case the result pointer is set to SCIP_DIDNOTRUN the target variable will have no variable data at
149 * The variable map and the constraint map can be used via the function SCIPgetVarCopy() and SCIPgetConsCopy(),
150 * respectively, to get for certain variables and constraints of the source SCIP the counter parts in the target
151 * SCIP. You should be very carefully in using these two methods since they could lead to infinity loop.
158 * - varmap, : a hashmap which stores the mapping of source variables to corresponding target variables
159 * - consmap, : a hashmap which stores the mapping of source constraints to corresponding target constraints
170 #define SCIP_DECL_VARCOPY(x) SCIP_RETCODE x (SCIP* scip, SCIP* sourcescip, SCIP_VAR* sourcevar, SCIP_VARDATA* sourcedata, \
|