pub_var.h
Go to the documentation of this file.
22 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/ 74 /** compares the index of two variables, only active or negated variables are allowed, if a variable 75 * is negated then the index of the corresponding active variable is taken, returns -1 if first is 85 /** comparison method for sorting active and negated variables by non-decreasing index, active and negated 91 /** compares the index of two variables, returns -1 if first is smaller than, and +1 if first is greater than second 136 /** gets corresponding active, fixed, or multi-aggregated problem variables of binary variables and 146 /** gets corresponding active, fixed, or multi-aggregated problem variable of a binary variable and 155 /** transforms given variable, boundtype and bound to the corresponding active, fixed, or multi-aggregated variable 165 /** transforms given variable and domain hole to the corresponding active, fixed, or multi-aggregated variable 175 /** retransforms given variable, scalar and constant to the corresponding original variable, scalar 176 * and constant, if possible; if the retransformation is impossible, NULL is returned as variable 185 /** returns whether the given variable is the direct counterpart of an original problem variable */ 191 /** returns the number of times, a bound of the variable was changed in given direction due to branching */ 198 /** returns the number of times, a bound of the variable was changed in given direction due to branching 230 /** returns the number of cutoffs branching on this variable in given direction produced in the current run */ 237 /** returns the average depth of bound changes in given direction due to branching on the variable */ 244 /** returns the average depth of bound changes in given direction due to branching on the variable 253 /** returns whether there is an implication x == varfixing -> y <= b or y >= b in the implication graph; 254 * implications that are represented as cliques in the clique table are not regarded (use SCIPvarsHaveCommonClique()); 260 SCIP_Bool varfixing, /**< FALSE if y should be searched in implications for x == 0, TRUE for x == 1 */ 265 /** returns whether there is an implication x == varfixing -> y == implvarfixing in the implication graph; 266 * implications that are represented as cliques in the clique table are not regarded (use SCIPvarsHaveCommonClique()); 272 SCIP_Bool varfixing, /**< FALSE if y should be searched in implications for x == 0, TRUE for x == 1 */ 280 * if regardimplics is TRUE, both the cliques and the implications of the implication graph are regarded 291 /** gets corresponding objective value of active, fixed, or multi-aggregated problem variable of given variable 353 SCIP_DECL_VARTRANS ((*vartrans)) /**< creates transformed user data by transforming original user data */ 436 * method can only be called before the variable is added to the problem by SCIPaddVar() or SCIPaddPricedVar() 509 /** gets number n of aggregation variables of a multi aggregated variable x = a0*y0 + ... + a(n-1)*y(n-1) + c */ 515 /** gets vector of aggregation variables y of a multi aggregated variable x = a0*y0 + ... + a(n-1)*y(n-1) + c */ 521 /** gets vector of aggregation scalars a of a multi aggregated variable x = a0*y0 + ... + a(n-1)*y(n-1) + c */ 527 /** gets aggregation constant c of a multi aggregated variable x = a0*y0 + ... + a(n-1)*y(n-1) + c */ 557 /** gets the unchanged objective function value of variable (ignoring temproray changes performed in probing mode) */ 563 /** gets original lower bound of original problem variable (i.e. the bound set in problem creation) */ 569 /** gets original upper bound of original problem variable (i.e. the bound set in problem creation) */ 641 /** gets type (lower or upper) of best bound of variable with respect to the objective function */ 647 /** gets type (lower or upper) of worst bound of variable with respect to the objective function */ 665 /** gets the branch factor of the variable; this value can be used in the branching methods to scale the score 666 * values of the variables; higher factor leads to a higher probability that this variable is chosen for branching 673 /** gets the branch priority of the variable; variables with higher priority should always be preferred to variables 693 /** gets array with bounding variables z_i in variable lower bounds x >= b_i*z_i + d_i of given variable x; 694 * the variable bounds are sorted by increasing variable index of the bounding variable z_i (see SCIPvarGetIndex()) 701 /** gets array with bounding coefficients b_i in variable lower bounds x >= b_i*z_i + d_i of given variable x */ 707 /** gets array with bounding constants d_i in variable lower bounds x >= b_i*z_i + d_i of given variable x */ 719 /** gets array with bounding variables z_i in variable upper bounds x <= b_i*z_i + d_i of given variable x; 720 * the variable bounds are sorted by increasing variable index of the bounding variable z_i (see SCIPvarGetIndex()) 727 /** gets array with bounding coefficients b_i in variable upper bounds x <= b_i*z_i + d_i of given variable x */ 733 /** gets array with bounding constants d_i in variable upper bounds x <= b_i*z_i + d_i of given variable x */ 739 /** gets number of implications y <= b or y >= b for x == 0 or x == 1 of given active problem variable x, 748 /** gets array with implication variables y of implications y <= b or y >= b for x == 0 or x == 1 of given active 750 * the implications are sorted such that implications with binary implied variables precede the ones with non-binary 751 * implied variables, and as a second criteria, the implied variables are sorted by increasing variable index 760 /** gets array with implication types of implications y <= b or y >= b for x == 0 or x == 1 of given active problem 770 /** gets array with implication bounds b of implications y <= b or y >= b for x == 0 or x == 1 of given active problem 779 /** Gets array with unique ids of implications y <= b or y >= b for x == 0 or x == 1 of given active problem variable x, 781 * If an implication is a shortcut, i.e., it was added as part of the transitive closure of another implication, 850 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and 863 || ((var)->varstatus == SCIP_VARSTATUS_NEGATED && (var)->negatedvar->varstatus == SCIP_VARSTATUS_ORIGINAL)) 865 && ((var)->varstatus != SCIP_VARSTATUS_NEGATED || (var)->negatedvar->varstatus != SCIP_VARSTATUS_ORIGINAL)) 869 ((var)->vartype != SCIP_VARTYPE_CONTINUOUS && MAX((var)->glbdom.lb, (var)->lazylb) >= 0.0 && MIN((var)->glbdom.ub, (var)->lazyub) <= 1.0)) 882 #define SCIPvarIsInLP(var) ((var)->varstatus == SCIP_VARSTATUS_COLUMN && SCIPcolIsInLP((var)->data.col)) 907 #define SCIPvarGetBestBoundGlobal(var) ((var)->obj >= 0.0 ? (var)->glbdom.lb : (var)->glbdom.ub) 908 #define SCIPvarGetWorstBoundGlobal(var) ((var)->obj >= 0.0 ? (var)->glbdom.ub : (var)->glbdom.lb) 913 #define SCIPvarGetWorstBoundLocal(var) ((var)->obj >= 0.0 ? (var)->locdom.ub : (var)->locdom.lb) 914 #define SCIPvarGetBestBoundType(var) ((var)->obj >= 0.0 ? SCIP_BOUNDTYPE_LOWER : SCIP_BOUNDTYPE_UPPER) 915 #define SCIPvarGetWorstBoundType(var) ((var)->obj >= 0.0 ? SCIP_BOUNDTYPE_UPPER : SCIP_BOUNDTYPE_LOWER) 936 #define SCIPvarGetLPSol(var) ((var)->varstatus == SCIP_VARSTATUS_COLUMN ? SCIPcolGetPrimsol((var)->data.col) : SCIPvarGetLPSol_rec(var)) 937 #define SCIPvarGetNLPSol(var) (((var)->varstatus == SCIP_VARSTATUS_COLUMN || ((var)->varstatus == SCIP_VARSTATUS_LOOSE)) ? (var)->nlpsol : SCIPvarGetNLPSol_rec(var)) 971 /** returns the solution of the variable in the last root node's relaxation, if the root relaxation is not yet 979 /** returns the best solution (w.r.t. root reduced cost propagation) of the variable in the root node's relaxation, if 987 /** returns the best reduced costs (w.r.t. root reduced cost propagation) of the variable in the root node's relaxation, 988 * if the root relaxation is not yet completely solved, or the variable was no column of the root LP, SCIP_INVALID is 996 /** returns the best objective value (w.r.t. root reduced cost propagation) of the root LP which belongs the root 997 * reduced cost which is accessible via SCIPvarGetRootRedcost() or the variable was no column of the root LP, 1005 /** set the given solution as the best root solution w.r.t. root reduced cost propagation in the variables */ 1014 /** returns a weighted average solution value of the variable in all feasible primal solutions found so far */ 1020 /** returns the bound change information for the last lower bound change on given active problem variable before or 1031 /** returns the bound change information for the last upper bound change on given active problem variable before or 1042 /** returns the bound change information for the last lower or upper bound change on given active problem variable 1054 /** returns lower bound of variable directly before or after the bound change given by the bound change index 1064 /** returns upper bound of variable directly before or after the bound change given by the bound change index 1074 /** returns lower or upper bound of variable directly before or after the bound change given by the bound change index 1085 /** returns whether the binary variable was fixed at the time given by the bound change index */ 1093 /** returns the last bound change index, at which the bounds of the given variable were tightened */ 1109 * returns FALSE, if the first variable is not fixed, and returns TRUE, if the first variable is fixed, but the 1118 /** returns whether first bound change index belongs to an earlier applied bound change than second one; 1119 * if a bound change index is NULL, the bound change index represents the current time, i.e. the time after the 1128 /** returns whether first bound change index belongs to an earlier applied bound change than second one */ 1153 /** returns whether the bound change information belongs to a branching decision or a deduction */ 1195 /** returns inference propagator of given bound change information, or NULL if no propagator was responsible */ 1219 /** returns whether the bound change has an inference reason (constraint or propagator), that can be resolved */ 1225 /** for two bound change informations belonging to the same variable and bound, returns whether the first bound change 1258 /** returns whether the bound change is redundant due to a more global bound that is at least as strong */ 1297 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and 1302 ((idx1)->depth < (idx2)->depth || ((idx1)->depth == (idx2)->depth && (idx1)->pos < (idx2)->pos)) 1317 #define SCIPbdchginfoGetInferBoundtype(bdchginfo) (SCIP_BOUNDTYPE)((bdchginfo)->inferboundtype) 1321 || ((bdchginfo)->boundchgtype == SCIP_BOUNDCHGTYPE_PROPINFER && (bdchginfo)->inferencedata.reason.prop != NULL)) 1322 #define SCIPbdchginfoIsTighter(bdchginfo1,bdchginfo2) ((bdchginfo1)->boundtype == SCIP_BOUNDTYPE_LOWER \ 1323 ? (bdchginfo1)->newbound > bdchginfo2->newbound : (bdchginfo1)->newbound < bdchginfo2->newbound) 1329 #define SCIPdomchgGetNBoundchgs(domchg) ((domchg) != NULL ? (domchg)->domchgbound.nboundchgs : 0) SCIP_VAR ** SCIPvarGetImplVars(SCIP_VAR *var, SCIP_Bool varfixing) Definition: var.c:17352 void SCIPvarSetTransData(SCIP_VAR *var, SCIP_DECL_VARTRANS((*vartrans))) Definition: var.c:16496 SCIP_Real SCIPvarGetMultaggrConstant(SCIP_VAR *var) Definition: var.c:16861 SCIP_Real SCIPvarGetAvgBranchdepthCurrentRun(SCIP_VAR *var, SCIP_BRANCHDIR dir) Definition: var.c:15036 Definition: struct_var.h:97 SCIP_BDCHGIDX * SCIPbdchginfoGetIdx(SCIP_BDCHGINFO *bdchginfo) Definition: var.c:17708 SCIP_BDCHGINFO * SCIPvarGetUbchgInfo(SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after) Definition: var.c:15662 SCIP_PROP * SCIPbdchginfoGetInferProp(SCIP_BDCHGINFO *bdchginfo) Definition: var.c:17742 SCIP_BOUNDCHGTYPE SCIPbdchginfoGetChgtype(SCIP_BDCHGINFO *bdchginfo) Definition: var.c:17668 type definitions for miscellaneous datastructures type definitions for implications, variable bounds, and cliques SCIP_RETCODE SCIPvarGetOrigvarSum(SCIP_VAR **var, SCIP_Real *scalar, SCIP_Real *constant) Definition: var.c:12033 SCIP_BDCHGINFO * SCIPvarGetLbchgInfo(SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after) Definition: var.c:15606 methods for implications, variable bounds, and cliques SCIP_Real SCIPvarGetBestRootLPObjval(SCIP_VAR *var) Definition: var.c:13070 Definition: struct_var.h:149 SCIP_CLIQUE ** SCIPvarGetCliques(SCIP_VAR *var, SCIP_Bool varfixing) Definition: var.c:17420 SCIP_BDCHGINFO * SCIPvarGetBdchgInfo(SCIP_VAR *var, SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after) Definition: var.c:15718 SCIP_RETCODE SCIPvarSetRemovable(SCIP_VAR *var, SCIP_Bool removable) Definition: var.c:16546 SCIP_Real SCIPvarGetBdAtIndex(SCIP_VAR *var, SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after) Definition: var.c:15981 SCIP_HOLELIST * SCIPvarGetHolelistLocal(SCIP_VAR *var) Definition: var.c:17133 SCIP_Longint SCIPvarGetNBranchingsCurrentRun(SCIP_VAR *var, SCIP_BRANCHDIR dir) Definition: var.c:14948 Definition: struct_var.h:196 Definition: struct_var.h:80 SCIP_Bool SCIPvarHasBinaryImplic(SCIP_VAR *var, SCIP_Bool varfixing, SCIP_VAR *implvar, SCIP_Bool implvarfixing) Definition: var.c:10433 SCIP_HOLELIST * SCIPvarGetHolelistOriginal(SCIP_VAR *var) Definition: var.c:17043 SCIP_RETCODE SCIPvarGetAggregatedObj(SCIP_VAR *var, SCIP_Real *aggrobj) Definition: var.c:16927 SCIP_Real SCIPbdchginfoGetNewbound(SCIP_BDCHGINFO *bdchginfo) Definition: var.c:17648 SCIP_RETCODE SCIPvarGetProbvarBound(SCIP_VAR **var, SCIP_Real *bound, SCIP_BOUNDTYPE *boundtype) Definition: var.c:11728 SCIP_HOLELIST * SCIPvarGetHolelistGlobal(SCIP_VAR *var) Definition: var.c:17077 SCIP_Bool SCIPbdchgidxIsEarlier(SCIP_BDCHGIDX *bdchgidx1, SCIP_BDCHGIDX *bdchgidx2) Definition: var.c:17618 void SCIPvarSetBestRootSol(SCIP_VAR *var, SCIP_Real rootsol, SCIP_Real rootredcost, SCIP_Real rootlpobjval) Definition: var.c:13101 SCIP_Bool SCIPvarHasImplic(SCIP_VAR *var, SCIP_Bool varfixing, SCIP_VAR *implvar, SCIP_BOUNDTYPE impltype) Definition: var.c:10413 SCIP_Real SCIPvarGetLbAtIndex(SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after) Definition: var.c:15737 type definitions for return codes for SCIP methods SCIP_BDCHGINFO * SCIPvarGetBdchgInfoLb(SCIP_VAR *var, int pos) Definition: var.c:17457 Definition: struct_history.h:50 internal methods for branching and inference history Definition: struct_lp.h:123 void SCIPvarSetDelorigData(SCIP_VAR *var, SCIP_DECL_VARDELORIG((*vardelorig))) Definition: var.c:16484 SCIP_BOUNDCHG * SCIPdomchgGetBoundchg(SCIP_DOMCHG *domchg, int pos) Definition: var.c:16398 SCIP_VAR * SCIPbdchginfoGetInferVar(SCIP_BDCHGINFO *bdchginfo) Definition: var.c:17718 SCIP_Real SCIPvarGetCutoffSumCurrentRun(SCIP_VAR *var, SCIP_BRANCHDIR dir) Definition: var.c:15418 SCIP_BOUNDTYPE SCIPbdchginfoGetBoundtype(SCIP_BDCHGINFO *bdchginfo) Definition: var.c:17678 SCIP_RETCODE SCIPvarsGetProbvarBinary(SCIP_VAR ***vars, SCIP_Bool **negatedarr, int nvars) Definition: var.c:11541 void SCIPvarSetDeltransData(SCIP_VAR *var, SCIP_DECL_VARDELTRANS((*vardeltrans))) Definition: var.c:16508 Definition: struct_cons.h:36 SCIP_Real SCIPvarGetUbAtIndex(SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after) Definition: var.c:15859 SCIP_BDCHGIDX * SCIPvarGetLastBdchgIndex(SCIP_VAR *var) Definition: var.c:16021 SCIP_BOUNDCHGTYPE SCIPboundchgGetBoundchgtype(SCIP_BOUNDCHG *boundchg) Definition: var.c:16360 SCIP_Bool SCIPbdchginfoIsRedundant(SCIP_BDCHGINFO *bdchginfo) Definition: var.c:17786 SCIP_BOUNDTYPE * SCIPvarGetImplTypes(SCIP_VAR *var, SCIP_Bool varfixing) Definition: var.c:17367 SCIP_RETCODE SCIPvarGetProbvarBinary(SCIP_VAR **var, SCIP_Bool *negated) Definition: var.c:11573 SCIP_Bool SCIPvarsHaveCommonClique(SCIP_VAR *var1, SCIP_Bool value1, SCIP_VAR *var2, SCIP_Bool value2, SCIP_Bool regardimplics) Definition: var.c:10742 type definitions for problem variables SCIP_RETCODE SCIPvarSetInitial(SCIP_VAR *var, SCIP_Bool initial) Definition: var.c:16530 Definition: struct_prop.h:36 SCIP_Bool SCIPbdchginfoIsTighter(SCIP_BDCHGINFO *bdchginfo1, SCIP_BDCHGINFO *bdchginfo2) Definition: var.c:17811 SCIP_Real SCIPboundchgGetNewbound(SCIP_BOUNDCHG *boundchg) Definition: var.c:16340 Definition: struct_var.h:104 SCIP_Bool SCIPvarWasFixedAtIndex(SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after) Definition: var.c:15998 SCIP_Bool SCIPboundchgIsRedundant(SCIP_BOUNDCHG *boundchg) Definition: var.c:16380 Definition: struct_var.h:47 SCIP_Real SCIPvarGetInferenceSum(SCIP_VAR *var, SCIP_BRANCHDIR dir) Definition: var.c:15175 SCIP_VALUEHISTORY * SCIPvarGetValuehistory(SCIP_VAR *var) Definition: var.c:17499 SCIP_Real SCIPvarGetWorstBoundGlobal(SCIP_VAR *var) Definition: var.c:17100 SCIP_Real SCIPvarGetNegationConstant(SCIP_VAR *var) Definition: var.c:16894 SCIP_HOLELIST * SCIPholelistGetNext(SCIP_HOLELIST *holelist) Definition: var.c:16430 SCIP_Real * SCIPvarGetMultaggrScalars(SCIP_VAR *var) Definition: var.c:16849 SCIP_BOUNDTYPE SCIPvarGetWorstBoundType(SCIP_VAR *var) Definition: var.c:17182 SCIP_BOUNDTYPE SCIPbdchginfoGetInferBoundtype(SCIP_BDCHGINFO *bdchginfo) Definition: var.c:17765 SCIP_RETCODE SCIPvarGetProbvarHole(SCIP_VAR **var, SCIP_Real *left, SCIP_Real *right) Definition: var.c:11821 SCIP_Real SCIPbdchginfoGetOldbound(SCIP_BDCHGINFO *bdchginfo) Definition: var.c:17638 SCIP_Bool SCIPvarIsTransformedOrigvar(SCIP_VAR *var) Definition: var.c:12120 SCIP_Bool SCIPbdchgidxIsEarlierNonNull(SCIP_BDCHGIDX *bdchgidx1, SCIP_BDCHGIDX *bdchgidx2) Definition: var.c:17598 datastructures for problem variables SCIP_Real SCIPvarGetInferenceSumCurrentRun(SCIP_VAR *var, SCIP_BRANCHDIR dir) Definition: var.c:15220 type definitions for branching and inference history Definition: struct_implics.h:64 SCIP_Bool SCIPvarWasFixedEarlier(SCIP_VAR *var1, SCIP_VAR *var2) Definition: var.c:16146 int SCIPbdchginfoGetInferInfo(SCIP_BDCHGINFO *bdchginfo) Definition: var.c:17753 SCIP_Real SCIPvarGetCutoffSum(SCIP_VAR *var, SCIP_BRANCHDIR dir) Definition: var.c:15375 void SCIPvarSetCopyData(SCIP_VAR *var, SCIP_DECL_VARCOPY((*varcopy))) Definition: var.c:16519 SCIP_Real * SCIPvarGetImplBounds(SCIP_VAR *var, SCIP_Bool varfixing) Definition: var.c:17381 common defines and data types used in all packages of SCIP SCIP_BOUNDTYPE SCIPboundchgGetBoundtype(SCIP_BOUNDCHG *boundchg) Definition: var.c:16370 SCIP_CONS * SCIPbdchginfoGetInferCons(SCIP_BDCHGINFO *bdchginfo) Definition: var.c:17730 SCIP_BRANCHDIR SCIPvarGetBranchDirection(SCIP_VAR *var) Definition: var.c:17239 SCIP_Longint SCIPvarGetNBranchings(SCIP_VAR *var, SCIP_BRANCHDIR dir) Definition: var.c:14903 SCIP_Real SCIPvarGetAvgBranchdepth(SCIP_VAR *var, SCIP_BRANCHDIR dir) Definition: var.c:14991 type definitions for constraints and constraint handlers SCIP_BDCHGINFO * SCIPvarGetBdchgInfoUb(SCIP_VAR *var, int pos) Definition: var.c:17477 SCIP_Bool SCIPbdchginfoHasInferenceReason(SCIP_BDCHGINFO *bdchginfo) Definition: var.c:17797 int SCIPvarCompareActiveAndNegated(SCIP_VAR *var1, SCIP_VAR *var2) Definition: var.c:11168 |