internal methods for problem variables
Definition in file var.h.
#include "blockmemshell/memory.h"#include "scip/def.h"#include "scip/type_branch.h"#include "scip/type_certificate.h"#include "scip/type_cons.h"#include "scip/type_event.h"#include "scip/type_history.h"#include "scip/type_implics.h"#include "scip/type_lp.h"#include "scip/type_lpexact.h"#include "scip/type_message.h"#include "scip/type_misc.h"#include "scip/type_primal.h"#include "scip/type_prob.h"#include "scip/type_prop.h"#include "scip/type_relax.h"#include "scip/type_reopt.h"#include "scip/type_result.h"#include "scip/type_retcode.h"#include "scip/type_scip.h"#include "scip/type_set.h"#include "scip/type_sol.h"#include "scip/type_stat.h"#include "scip/type_tree.h"#include "scip/type_var.h"#include "scip/intervalarith.h"#include "scip/struct_var.h"Go to the source code of this file.
| SCIP_RETCODE SCIPboundchgApply | ( | SCIP_BOUNDCHG * | boundchg, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_LP * | lp, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| int | depth, | ||
| int | pos, | ||
| SCIP_Bool * | cutoff ) |
applies single bound change
| boundchg | bound change to apply |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| depth | depth in the tree, where the bound change takes place |
| pos | position of the bound change in its bound change array |
| cutoff | pointer to store whether an infeasible bound change was detected |
Definition at line 845 of file var.c.
References SCIP_BoundChg::applied, assert(), boundchgApplyExact(), SCIP_BoundChg::boundchgtype, SCIP_BoundChg::boundtype, SCIP_BoundChg::certificateindex, cutoff, SCIP_BoundChg::data, depth, FALSE, SCIP_BoundChg::inferboundtype, SCIP_BoundChg::inferencedata, SCIP_Stat::lastbranchdir, SCIP_Stat::lastbranchvalue, SCIP_Stat::lastbranchvar, SCIP_BoundChg::newbound, SCIP_BoundChg::newboundexact, NULL, SCIP_BoundChg::redundant, SCIP_Bool, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_BOUNDCHGTYPE_CONSINFER, SCIP_BOUNDCHGTYPE_PROPINFER, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPcertificateSetLastBoundIndex(), SCIPconsGetName(), SCIPerrorMessage, SCIPgetCertificate(), SCIPpropGetName(), SCIPsetDebugMsg, SCIPsetIsFeasIntegral(), SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsInfinity(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPshouldCertificateTrackBounds(), SCIPvarChgLbLocal(), SCIPvarChgUbLocal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarIncInferenceSum(), SCIPvarIncNBranchings(), SCIPvarIsIntegral(), TRUE, SCIP_BoundChg::var, var, varAddLbchginfo(), and varAddUbchginfo().
Referenced by SCIPdomchgApply(), SCIPnodeAddBoundinfer(), and SCIPnodeAddBoundinferExact().
| SCIP_RETCODE SCIPboundchgUndo | ( | SCIP_BOUNDCHG * | boundchg, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_LP * | lp, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue ) |
undoes single bound change
| boundchg | bound change to remove |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
Definition at line 1059 of file var.c.
References assert(), SCIP_BoundChg::boundchgtype, SCIP_BoundChg::boundtype, SCIP_Stat::lastbranchvalue, SCIP_Stat::lastbranchvar, SCIP_Lp::lpexact, SCIP_BoundChg::newbound, NULL, SCIP_BoundChg::redundant, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_UNKNOWN, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPcertificateSetLastBoundIndex(), SCIPerrorMessage, SCIPgetCertificate(), SCIPrationalIsFpRepresentable(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGE(), SCIPsetIsFeasLE(), SCIPsetIsInfinity(), SCIPshouldCertificateTrackBounds(), SCIPvarChgLbLocal(), SCIPvarChgLbLocalExact(), SCIPvarChgUbLocal(), SCIPvarChgUbLocalExact(), SCIPvarGetLbGlobal(), SCIPvarGetLbGlobalExact(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), SCIPvarGetUbGlobalExact(), SCIP_BoundChg::var, and var.
Referenced by SCIPdomchgUndo().
| SCIP_RETCODE SCIPdomchgApplyGlobal | ( | SCIP_DOMCHG * | domchg, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_LP * | lp, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_Bool * | cutoff ) |
applies domain change to the global problem
| domchg | domain change to apply |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| cliquetable | clique table data structure |
| cutoff | pointer to store whether an infeasible domain change was detected |
Definition at line 1675 of file var.c.
References assert(), boundchgApplyGlobal(), SCIP_DomChgBound::boundchgs, cutoff, SCIP_DomChg::domchgbound, FALSE, i, SCIP_DomChgBound::nboundchgs, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, and SCIPsetDebugMsg.
Referenced by treeSwitchPath().
| SCIP_RETCODE SCIPdomchgFree | ( | SCIP_DOMCHG ** | domchg, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_LP * | lp ) |
frees domain change data
| domchg | pointer to domain change |
| blkmem | block memory |
| set | global SCIP settings |
| eventqueue | event queue |
| lp | current LP data |
Definition at line 1348 of file var.c.
References assert(), BMSfreeBlockMemoryArrayNull, BMSfreeBlockMemorySize, boundchgReleaseData(), i, NULL, SCIP_CALL, SCIP_DOMCHGTYPE_BOTH, SCIP_DOMCHGTYPE_BOUND, SCIP_DOMCHGTYPE_DYNAMIC, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, and SCIPrationalFreeBlock().
Referenced by SCIPdomchgMakeStatic(), and SCIPnodeFree().
| SCIP_RETCODE SCIPdomchgMakeStatic | ( | SCIP_DOMCHG ** | domchg, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_LP * | lp ) |
converts a dynamic domain change data into a static one, using less memory than for a dynamic one
| domchg | pointer to domain change data |
| blkmem | block memory |
| set | global SCIP settings |
| eventqueue | event queue |
| lp | current LP data |
Definition at line 1451 of file var.c.
References assert(), BMSfreeBlockMemoryArrayNull, BMSreallocBlockMemoryArray, BMSreallocBlockMemorySize, i, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_DOMCHGTYPE_BOTH, SCIP_DOMCHGTYPE_BOUND, SCIP_DOMCHGTYPE_DYNAMIC, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARTYPE_CONTINUOUS, SCIPdomchgFree(), SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetIsFeasIntegral(), and SCIPvarGetType().
Referenced by focusnodeToFork(), focusnodeToJunction(), focusnodeToPseudofork(), nodeRepropagate(), and nodeToLeaf().
| SCIP_RETCODE SCIPdomchgApply | ( | SCIP_DOMCHG * | domchg, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_LP * | lp, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| int | depth, | ||
| SCIP_Bool * | cutoff ) |
applies domain change
| domchg | domain change to apply |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| depth | depth in the tree, where the domain change takes place |
| cutoff | pointer to store whether an infeasible domain change was detected |
Definition at line 1591 of file var.c.
References assert(), SCIP_DomChgBound::boundchgs, cutoff, depth, SCIP_DomChg::domchgboth, SCIP_DomChg::domchgbound, SCIP_DomChg::domchgdyn, SCIP_DomChgDyn::domchgtype, FALSE, SCIP_DomChgBoth::holechgs, i, SCIP_DomChgBound::nboundchgs, SCIP_HoleChg::newlist, SCIP_DomChgBoth::nholechgs, NULL, SCIP_HoleChg::ptr, SCIP_BoundChg::redundant, SCIP_Bool, SCIP_CALL, SCIP_DOMCHGTYPE_BOUND, SCIP_OKAY, SCIPboundchgApply(), SCIPsetDebugMsg, and TRUE.
Referenced by nodeActivate().
| SCIP_RETCODE SCIPdomchgUndo | ( | SCIP_DOMCHG * | domchg, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_LP * | lp, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue ) |
undoes domain change
| domchg | domain change to remove |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
Definition at line 1640 of file var.c.
References SCIP_DomChgBound::boundchgs, SCIP_DomChg::domchgboth, SCIP_DomChg::domchgbound, SCIP_DomChg::domchgdyn, SCIP_DomChgDyn::domchgtype, SCIP_DomChgBoth::holechgs, i, SCIP_DomChgBound::nboundchgs, SCIP_DomChgBoth::nholechgs, NULL, SCIP_HoleChg::oldlist, SCIP_HoleChg::ptr, SCIP_CALL, SCIP_DOMCHGTYPE_BOUND, SCIP_OKAY, SCIPboundchgUndo(), and SCIPsetDebugMsg.
Referenced by nodeDeactivate().
| void SCIPdomchgAddCurrentCertificateIndex | ( | SCIP_DOMCHG * | domchg, |
| SCIP_CERTIFICATE * | certificate ) |
adds certificate line number to domain changes
| domchg | pointer to domain change data structure |
| certificate | certificate information |
Definition at line 1714 of file var.c.
References assert(), SCIP_DomChgDyn::boundchgs, SCIP_BoundChg::boundtype, SCIP_BoundChg::certificateindex, SCIP_DomChg::domchgdyn, FALSE, SCIP_DomChgDyn::nboundchgs, SCIP_BoundChg::newbound, SCIPcertificateEnsureLastBoundInfoConsistent(), SCIPcertificateGetCurrentIndex(), SCIPcertificateIsEnabled(), and SCIP_BoundChg::var.
Referenced by SCIPnodeAddBoundinfer(), and SCIPnodeAddBoundinferExact().
| SCIP_RETCODE SCIPdomchgAddBoundchg | ( | SCIP_DOMCHG ** | domchg, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_VAR * | var, | ||
| SCIP_Real | newbound, | ||
| SCIP_RATIONAL * | newboundexact, | ||
| SCIP_BOUNDTYPE | boundtype, | ||
| SCIP_BOUNDCHGTYPE | boundchgtype, | ||
| SCIP_Real | lpsolval, | ||
| SCIP_VAR * | infervar, | ||
| SCIP_CONS * | infercons, | ||
| SCIP_PROP * | inferprop, | ||
| int | inferinfo, | ||
| SCIP_BOUNDTYPE | inferboundtype ) |
adds bound change to domain changes
| domchg | pointer to domain change data structure |
| blkmem | block memory |
| set | global SCIP settings |
| var | variable to change the bounds for |
| newbound | new value for bound |
| newboundexact | new value for exact bound, or NULL if not needed |
| boundtype | type of bound for var: lower or upper bound |
| boundchgtype | type of bound change: branching decision or inference |
| lpsolval | solval of variable in last LP on path to node, or SCIP_INVALID if unknown |
| infervar | variable that was changed (parent of var, or var itself), or NULL |
| infercons | constraint that deduced the bound change, or NULL |
| inferprop | propagator that deduced the bound change, or NULL |
| inferinfo | user information for inference to help resolving the conflict |
| inferboundtype | type of bound for inference var: lower or upper bound |
Definition at line 1734 of file var.c.
References SCIP_BoundChg::applied, assert(), boundchgCaptureData(), SCIP_BoundChg::boundchgtype, SCIP_BoundChg::boundtype, SCIP_BoundChg::branchingdata, SCIP_BoundChg::data, domchgCreate(), domchgEnsureBoundchgsSize(), domchgMakeDynamic(), FALSE, i, SCIP_BoundChg::inferboundtype, SCIP_BoundChg::inferencedata, SCIP_BoundChg::newbound, SCIP_BoundChg::newboundexact, NULL, SCIP_BoundChg::redundant, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_BOUNDCHGTYPE_CONSINFER, SCIP_BOUNDCHGTYPE_PROPINFER, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_DOMCHGTYPE_DYNAMIC, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPerrorMessage, SCIPrationalCopyBlock(), SCIPrationalSetRational(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsFeasIntegral(), SCIPvarGetStatus(), SCIPvarIsBinary(), SCIPvarIsIntegral(), SCIP_BoundChg::var, and var.
Referenced by SCIPnodeAddBoundinfer(), and SCIPnodeAddBoundinferExact().
| SCIP_RETCODE SCIPdomchgAddHolechg | ( | SCIP_DOMCHG ** | domchg, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_HOLELIST ** | ptr, | ||
| SCIP_HOLELIST * | newlist, | ||
| SCIP_HOLELIST * | oldlist ) |
adds hole change to domain changes
| domchg | pointer to domain change data structure |
| blkmem | block memory |
| set | global SCIP settings |
| ptr | changed list pointer |
| newlist | new value of list pointer |
| oldlist | old value of list pointer |
Definition at line 1839 of file var.c.
References assert(), domchgCreate(), domchgEnsureHolechgsSize(), domchgMakeDynamic(), SCIP_HoleChg::newlist, NULL, SCIP_HoleChg::oldlist, SCIP_HoleChg::ptr, SCIP_CALL, SCIP_DOMCHGTYPE_DYNAMIC, and SCIP_OKAY.
| SCIP_RETCODE SCIPbdchginfoCreate | ( | SCIP_BDCHGINFO ** | bdchginfo, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_VAR * | var, | ||
| SCIP_BOUNDTYPE | boundtype, | ||
| SCIP_Real | oldbound, | ||
| SCIP_Real | newbound ) |
creates an artificial bound change information object with depth = INT_MAX and pos = -1
| bdchginfo | pointer to store bound change information |
| blkmem | block memory |
| var | active variable that changed the bounds |
| boundtype | type of bound for var: lower or upper bound |
| oldbound | old value for bound |
| newbound | new value for bound |
Definition at line 22585 of file var.c.
References assert(), BMSallocBlockMemory, FALSE, NULL, SCIP_ALLOC, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_OKAY, SCIP_Real, and var.
Referenced by conflictCreateTmpBdchginfo().
| void SCIPbdchginfoFree | ( | SCIP_BDCHGINFO ** | bdchginfo, |
| BMS_BLKMEM * | blkmem ) |
frees a bound change information object
| bdchginfo | pointer to store bound change information |
| blkmem | block memory |
Definition at line 22615 of file var.c.
References assert(), BMSfreeBlockMemory, and NULL.
Referenced by conflictFreeTmpBdchginfos().
| SCIP_Real SCIPbdchginfoGetRelaxedBound | ( | SCIP_BDCHGINFO * | bdchginfo | ) |
returns the relaxed bound change type
| bdchginfo | bound change to add to the conflict set |
Definition at line 25048 of file var.c.
References SCIP_BdChgInfo::boundtype, SCIP_Var::conflictrelaxedlb, SCIP_Var::conflictrelaxedub, SCIP_BOUNDTYPE_LOWER, SCIP_Real, and SCIP_BdChgInfo::var.
Referenced by conflictAnalyze(), conflictCreateReconvergenceConss(), conflictResolveBound(), and conflictsetAddBounds().
| SCIP_RETCODE SCIPvarCreateOriginal | ( | SCIP_VAR ** | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| const char * | name, | ||
| SCIP_Real | lb, | ||
| SCIP_Real | ub, | ||
| SCIP_Real | obj, | ||
| SCIP_VARTYPE | vartype, | ||
| SCIP_IMPLINTTYPE | impltype, | ||
| SCIP_Bool | initial, | ||
| SCIP_Bool | removable, | ||
| SCIP_DECL_VARDELORIG((*vardelorig)) | , | ||
| SCIP_DECL_VARTRANS((*vartrans)) | , | ||
| SCIP_DECL_VARDELTRANS((*vardeltrans)) | , | ||
| SCIP_DECL_VARCOPY((*varcopy)) | , | ||
| SCIP_VARDATA * | vardata ) |
creates and captures an original problem variable; an integer variable with bounds zero and one is automatically converted into a binary variable
| var | pointer to variable data |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| name | name of variable, or NULL for automatic name creation |
| lb | lower bound of variable |
| ub | upper bound of variable |
| obj | objective function value |
| vartype | type of variable |
| impltype | implied integral type of the variable |
| initial | should var's column be present in the initial root LP? |
| removable | is var's column removable from the LP (due to aging or cleanup)? |
| vardata | user data for this specific variable |
Definition at line 2487 of file var.c.
References assert(), NULL, obj, SCIP_Bool, SCIP_CALL, SCIP_DECL_VARCOPY, SCIP_DECL_VARDELORIG, SCIP_DECL_VARDELTRANS, SCIP_DECL_VARTRANS, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_ORIGINAL, SCIPvarCapture(), var, and varCreate().
Referenced by SCIPcreateVarImpl(), and SCIPvarCopy().
| SCIP_RETCODE SCIPvarCreateTransformed | ( | SCIP_VAR ** | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| const char * | name, | ||
| SCIP_Real | lb, | ||
| SCIP_Real | ub, | ||
| SCIP_Real | obj, | ||
| SCIP_VARTYPE | vartype, | ||
| SCIP_IMPLINTTYPE | impltype, | ||
| SCIP_Bool | initial, | ||
| SCIP_Bool | removable, | ||
| SCIP_DECL_VARDELORIG((*vardelorig)) | , | ||
| SCIP_DECL_VARTRANS((*vartrans)) | , | ||
| SCIP_DECL_VARDELTRANS((*vardeltrans)) | , | ||
| SCIP_DECL_VARCOPY((*varcopy)) | , | ||
| SCIP_VARDATA * | vardata ) |
creates and captures a loose variable belonging to the transformed problem; an integer variable with bounds zero and one is automatically converted into a binary variable
| var | pointer to variable data |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| name | name of variable, or NULL for automatic name creation |
| lb | lower bound of variable |
| ub | upper bound of variable |
| obj | objective function value |
| vartype | type of variable |
| impltype | implied integral type of the variable |
| initial | should var's column be present in the initial root LP? |
| removable | is var's column removable from the LP (due to aging or cleanup)? |
| vardata | user data for this specific variable |
Definition at line 2531 of file var.c.
References assert(), NULL, obj, SCIP_Bool, SCIP_CALL, SCIP_DECL_VARCOPY, SCIP_DECL_VARDELORIG, SCIP_DECL_VARDELTRANS, SCIP_DECL_VARTRANS, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_LOOSE, SCIPeventfilterCreate(), SCIPvarCapture(), var, and varCreate().
Referenced by SCIPcreateVarImpl(), SCIPvarTransform(), tryAggregateIntVars(), and tryAggregateIntVarsExact().
| SCIP_RETCODE SCIPvarAddExactData | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_RATIONAL * | lb, | ||
| SCIP_RATIONAL * | ub, | ||
| SCIP_RATIONAL * | obj ) |
creates and sets the exact variable bounds and objective value (using floating-point data if value pointer is NULL)
| var | pointer to variable data |
| blkmem | block memory |
| lb | lower bound of variable, or NULL to use floating-point data |
| ub | upper bound of variable, or NULL to use floating-point data |
| obj | objective function value, or NULL to use floating-point data |
Definition at line 2578 of file var.c.
References assert(), BMSallocBlockMemory, NULL, obj, SCIP_ALLOC, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_R_ROUND_DOWNWARDS, SCIP_R_ROUND_UPWARDS, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPerrorMessage, SCIPintervalSet(), SCIPintervalSetRational(), SCIPrationalCopyBlock(), SCIPrationalCreateBlock(), SCIPrationalGetReal(), SCIPrationalIsEQReal(), SCIPrationalIsZero(), SCIPrationalRoundReal(), SCIPrationalSetReal(), SCIPvarGetStatus(), and var.
Referenced by SCIPaddVarExactData(), SCIPvarParseOriginal(), SCIPvarParseTransformed(), and tryAggregateIntVarsExact().
| SCIP_RETCODE SCIPvarCopyExactData | ( | BMS_BLKMEM * | blkmem, |
| SCIP_VAR * | targetvar, | ||
| SCIP_VAR * | sourcevar, | ||
| SCIP_Bool | negateobj ) |
copies exact variable data from one variable to another
| blkmem | block memory |
| targetvar | variable that gets the exact data |
| sourcevar | variable the data gets copied from |
| negateobj | should the objective be negated |
Definition at line 2686 of file var.c.
References SCIP_VarDataExact::aggregate, assert(), BMSallocBlockMemory, SCIP_VarDataExact::certificateindex, SCIP_VarDataExact::colexact, SCIP_AggregateExact::constant, SCIP_MultaggrExact::constant, SCIP_Var::data, SCIP_Var::exactdata, SCIP_VarDataExact::glbdom, SCIP_DomExact::lb, SCIP_VarDataExact::locdom, SCIP_Var::multaggr, SCIP_VarDataExact::multaggr, NULL, SCIP_Multaggr::nvars, SCIP_VarDataExact::obj, SCIP_VarDataExact::objinterval, SCIP_VarDataExact::origdom, SCIP_AggregateExact::scalar, SCIP_MultaggrExact::scalars, SCIP_ALLOC, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_LOOSE, SCIPintervalSetRational(), SCIPrationalCopyBlock(), SCIPrationalCopyBlockArray(), SCIPrationalNegate(), SCIP_DomExact::ub, and SCIP_VarDataExact::varstatusexact.
Referenced by copyVars(), SCIPprobTransform(), and varNegateExactData().
| SCIP_RETCODE SCIPvarCopy | ( | SCIP_VAR ** | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP * | sourcescip, | ||
| SCIP_VAR * | sourcevar, | ||
| SCIP_HASHMAP * | varmap, | ||
| SCIP_HASHMAP * | consmap, | ||
| SCIP_Bool | global ) |
copies and captures a variable from source to target SCIP; an integer variable with bounds zero and one is automatically converted into a binary variable; in case the variable data cannot be copied the variable is not copied at all
| var | pointer to store the target variable |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| sourcescip | source SCIP data structure |
| sourcevar | source variable |
| varmap | a hashmap to store the mapping of source variables corresponding target variables |
| consmap | a hashmap to store the mapping of source constraints to the corresponding target constraints |
| global | should global or local bounds be used? |
Definition at line 2751 of file var.c.
References assert(), SCIP_Var::donotaggr, SCIP_Var::donotmultaggr, NULL, result, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_INVALIDRESULT, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_SUCCESS, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPhashmapExists(), SCIPhashmapInsert(), SCIPsetDebugMsg, SCIPvarCreateOriginal(), SCIPvarGetHolelistGlobal(), SCIPvarGetHolelistLocal(), SCIPvarGetImplType(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetLbOriginal(), SCIPvarGetName(), SCIPvarGetObj(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), SCIPvarGetUbOriginal(), SCIPvarIsInitial(), SCIPvarIsRemovable(), SCIPvarMergeHistories(), var, and SCIP_Var::vardata.
Referenced by SCIPgetVarCopy().
| SCIP_RETCODE SCIPvarParseOriginal | ( | SCIP_VAR ** | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_MESSAGEHDLR * | messagehdlr, | ||
| SCIP_STAT * | stat, | ||
| const char * | str, | ||
| SCIP_Bool | initial, | ||
| SCIP_Bool | removable, | ||
| SCIP_DECL_VARCOPY((*varcopy)) | , | ||
| SCIP_DECL_VARDELORIG((*vardelorig)) | , | ||
| SCIP_DECL_VARTRANS((*vartrans)) | , | ||
| SCIP_DECL_VARDELTRANS((*vardeltrans)) | , | ||
| SCIP_VARDATA * | vardata, | ||
| char ** | endptr, | ||
| SCIP_Bool * | success ) |
parses variable information (in cip format) out of a string; if the parsing process was successful an original variable is created and captured; if variable is of integral type, fractional bounds are automatically rounded; an integer variable with bounds zero and one is automatically converted into a binary variable
| var | pointer to variable data |
| blkmem | block memory |
| set | global SCIP settings |
| messagehdlr | message handler |
| stat | problem statistics |
| str | string to parse |
| initial | should var's column be present in the initial root LP? |
| removable | is var's column removable from the LP (due to aging or cleanup)? |
| vardata | user data for this specific variable |
| endptr | pointer to store the final string position if successfully |
| success | pointer store if the paring process was successful |
Definition at line 3234 of file var.c.
References assert(), FALSE, NULL, obj, SCIP_Bool, SCIP_CALL, SCIP_DECL_VARCOPY, SCIP_DECL_VARDELORIG, SCIP_DECL_VARDELTRANS, SCIP_DECL_VARTRANS, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_READERROR, SCIP_Real, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPrationalCreateBlock(), SCIPrationalFreeBlock(), SCIPrationalIsInfinity(), SCIPrationalIsNegInfinity(), SCIPvarAddExactData(), SCIPvarAdjustLb(), SCIPvarAdjustLbExact(), SCIPvarAdjustUb(), SCIPvarAdjustUbExact(), SCIPvarCapture(), var, varCreate(), and varParse().
Referenced by SCIPparseVar().
| SCIP_RETCODE SCIPvarParseTransformed | ( | SCIP_VAR ** | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_MESSAGEHDLR * | messagehdlr, | ||
| SCIP_STAT * | stat, | ||
| const char * | str, | ||
| SCIP_Bool | initial, | ||
| SCIP_Bool | removable, | ||
| SCIP_DECL_VARCOPY((*varcopy)) | , | ||
| SCIP_DECL_VARDELORIG((*vardelorig)) | , | ||
| SCIP_DECL_VARTRANS((*vartrans)) | , | ||
| SCIP_DECL_VARDELTRANS((*vardeltrans)) | , | ||
| SCIP_VARDATA * | vardata, | ||
| char ** | endptr, | ||
| SCIP_Bool * | success ) |
parses variable information (in cip format) out of a string; if the parsing process was successful a loose variable belonging to the transformed problem is created and captured; if variable is of integral type, fractional bounds are automatically rounded; an integer variable with bounds zero and one is automatically converted into a binary variable
| var | pointer to variable data |
| blkmem | block memory |
| set | global SCIP settings |
| messagehdlr | message handler |
| stat | problem statistics |
| str | string to parse |
| initial | should var's column be present in the initial root LP? |
| removable | is var's column removable from the LP (due to aging or cleanup)? |
| vardata | user data for this specific variable |
| endptr | pointer to store the final string position if successfully |
| success | pointer store if the paring process was successful |
Definition at line 3357 of file var.c.
References assert(), NULL, obj, SCIP_Bool, SCIP_CALL, SCIP_DECL_VARCOPY, SCIP_DECL_VARDELORIG, SCIP_DECL_VARDELTRANS, SCIP_DECL_VARTRANS, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_READERROR, SCIP_Real, SCIP_VARSTATUS_LOOSE, SCIPerrorMessage, SCIPeventfilterCreate(), SCIPrationalCreateBlock(), SCIPrationalFreeBlock(), SCIPrationalIsInfinity(), SCIPrationalIsNegInfinity(), SCIPvarAddExactData(), SCIPvarAdjustLbExact(), SCIPvarAdjustUbExact(), SCIPvarCapture(), TRUE, var, varCreate(), and varParse().
Referenced by SCIPparseVar().
| void SCIPvarCapture | ( | SCIP_VAR * | var | ) |
increases usage counter of variable
| var | variable |
Definition at line 3762 of file var.c.
References assert(), NULL, SCIPdebugMessage, SCIPprobGetName(), and var.
Referenced by boundchgCaptureData(), nlpAddVars(), SCIPcaptureVar(), SCIPpricestoreAddBdviolvar(), SCIPpricestoreAddVar(), SCIPprobAddVar(), SCIPtransformVar(), SCIPtransformVars(), SCIPvarCreateOriginal(), SCIPvarCreateTransformed(), SCIPvarParseOriginal(), SCIPvarParseTransformed(), SCIPvarTransform(), treeAddPendingBdchg(), and varAddParent().
| SCIP_RETCODE SCIPvarRelease | ( | SCIP_VAR ** | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_LP * | lp ) |
decreases usage counter of variable, and frees memory if necessary
| var | pointer to variable |
| blkmem | block memory |
| set | global SCIP settings |
| eventqueue | event queue |
| lp | current LP data (or NULL, if it's an original variable) |
Definition at line 3787 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPprobGetName(), SCIPsetDebugMsg, var, and varFree().
Referenced by boundchgReleaseData(), nlpDelVarPos(), SCIPpricestoreAddVar(), SCIPpricestoreApplyVars(), SCIPpricestoreResetBounds(), SCIPprobFree(), SCIPprobPerformVarDeletions(), SCIPprobTransform(), SCIPreleaseVar(), SCIPtreeClear(), treeApplyPendingBdchgs(), tryAggregateIntVars(), tryAggregateIntVarsExact(), and varFreeParents().
| SCIP_RETCODE SCIPvarChgName | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| const char * | name ) |
change variable name change variable name
change variable name
| var | problem variable |
| blkmem | block memory |
| name | name of variable |
Definition at line 3828 of file var.c.
References assert(), BMSfreeBlockMemoryArray, NULL, SCIP_CALL, SCIP_OKAY, var, and varSetName().
Referenced by SCIPchgVarName().
| void SCIPvarInitSolve | ( | SCIP_VAR * | var | ) |
initializes variable data structure for solving
| var | problem variable |
Definition at line 3846 of file var.c.
References assert(), NULL, SCIPhistoryReset(), and var.
Referenced by SCIPprobInitSolve().
| SCIP_RETCODE SCIPvarTransform | ( | SCIP_VAR * | origvar, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_OBJSENSE | objsense, | ||
| SCIP_VAR ** | transvar ) |
gets and captures transformed variable of a given variable; if the variable is not yet transformed, a new transformed variable for this variable is created
| origvar | original problem variable |
| blkmem | block memory of transformed problem |
| set | global SCIP settings |
| stat | problem statistics |
| objsense | objective sense of original problem; transformed is always MINIMIZE |
| transvar | pointer to store the transformed variable |
Definition at line 4494 of file var.c.
References assert(), SCIP_Var::branchdirection, SCIP_Var::branchfactor, SCIP_Var::branchpriority, SCIP_Var::data, SCIP_Var::donotaggr, SCIP_Var::donotmultaggr, FALSE, SCIP_Var::glbdom, SCIP_Var::history, SCIP_Dom::holelist, holelistDuplicate(), i, SCIP_Var::initial, SCIP_Var::lazylb, SCIP_Var::lazyub, SCIP_Dom::lb, SCIP_Var::locdom, SCIP_Var::name, SCIP_Var::nlocksdown, SCIP_Var::nlocksup, NLOCKTYPES, NULL, SCIP_Var::obj, SCIP_Var::original, SCIP_Var::removable, SCIP_Var::scip, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_ORIGINAL, SCIPhistoryUnite(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsnprintf(), SCIPvarCapture(), SCIPvarCreateTransformed(), SCIPvarGetImplType(), SCIPvarGetStatus(), SCIPvarGetType(), SCIP_Original::transvar, SCIP_Dom::ub, varAddParent(), SCIP_Var::vardata, SCIP_Var::vlbs, and SCIP_Var::vubs.
Referenced by SCIPprobTransform(), SCIPtransformVar(), and SCIPtransformVars().
| SCIP_RETCODE SCIPvarGetTransformed | ( | SCIP_VAR * | origvar, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_VAR ** | transvar ) |
gets corresponding transformed variable of an original or negated original variable
| origvar | original problem variable |
| blkmem | block memory of transformed problem |
| set | global SCIP settings |
| stat | problem statistics |
| transvar | pointer to store the transformed variable, or NULL if not existing yet |
Definition at line 4581 of file var.c.
References assert(), SCIP_Var::data, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPvarGetStatus(), SCIPvarNegate(), and SCIP_Original::transvar.
Referenced by SCIPgetTransformedVar(), and SCIPgetTransformedVars().
| SCIP_RETCODE SCIPvarColumn | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | prob, | ||
| SCIP_LP * | lp ) |
converts transformed variable into column variable and creates LP column
converts loose transformed variable into column variable, creates LP column
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| prob | problem data |
| lp | current LP data |
Definition at line 4612 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPcolCreate(), SCIPlpUpdateVarColumn(), SCIPprobVarChangedStatus(), SCIPsetDebugMsg, SCIPvarGetStatus(), and var.
Referenced by SCIPpricestoreApplyVars(), and SCIPvarAddToRow().
| SCIP_RETCODE SCIPvarColumnExact | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_LPEXACT * | lp ) |
converts transformed variable into column variable and creates LP column
converts loose transformed variable into column variable, creates LP column
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| lp | current LP data |
Definition at line 4646 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPcolExactCreate(), SCIPlpExactUpdateVarColumn(), SCIPsetDebugMsg, SCIPvarGetCol(), and var.
Referenced by SCIPpricestoreApplyVars(), and SCIPvarAddToRowExact().
| SCIP_RETCODE SCIPvarLoose | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_PROB * | prob, | ||
| SCIP_LP * | lp ) |
converts column transformed variable back into loose variable, frees LP column
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| eventqueue | event queue |
| prob | problem data |
| lp | current LP data |
Definition at line 4680 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPcolFree(), SCIPlpUpdateVarLoose(), SCIPprobVarChangedStatus(), SCIPsetDebugMsg, SCIPvarGetStatus(), and var.
Referenced by SCIPprobExitSolve(), and SCIPprobPerformVarDeletions().
| SCIP_RETCODE SCIPvarFix | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_PRIMAL * | primal, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_Real | fixedval, | ||
| SCIP_Bool * | infeasible, | ||
| SCIP_Bool * | fixed ) |
converts variable into fixed variable
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| transprob | tranformed problem data |
| origprob | original problem data |
| primal | primal data |
| tree | branch and bound tree |
| reopt | reoptimization data structure |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| eventfilter | global event filter |
| cliquetable | clique table data structure |
| fixedval | value to fix variable at |
| infeasible | pointer to store whether the fixing is infeasible |
| fixed | pointer to store whether the fixing was performed (variable was unfixed) |
Definition at line 4820 of file var.c.
References assert(), FALSE, holelistFree(), NULL, obj, REALABS, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPeventqueueIsDelayed(), SCIPhistoryReset(), SCIPlpDecNLoosevars(), SCIPprobVarChangedStatus(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLT(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPsetRound(), SCIPvarAddObj(), SCIPvarChgLbGlobal(), SCIPvarChgObj(), SCIPvarChgUbGlobal(), SCIPvarFix(), SCIPvarGetStatus(), SCIPvarIsIntegral(), SCIPvarRemoveCliquesImplicsVbs(), TRUE, var, and varEventVarFixed().
Referenced by SCIPaggregateVars(), SCIPfixVar(), SCIPinferBinvarCons(), SCIPinferBinvarProp(), SCIPinferVarFixCons(), SCIPinferVarFixProp(), SCIPvarAggregate(), SCIPvarFix(), SCIPvarMultiaggregate(), and varUpdateAggregationBounds().
| SCIP_RETCODE SCIPvarFixExact | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_PRIMAL * | primal, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_RATIONAL * | fixedval, | ||
| SCIP_Bool * | infeasible, | ||
| SCIP_Bool * | fixed ) |
converts variable into fixed variable
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| transprob | tranformed problem data |
| origprob | original problem data |
| primal | primal data |
| tree | branch and bound tree |
| reopt | reoptimization data structure |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| eventfilter | global event filter |
| cliquetable | clique table data structure |
| fixedval | value to fix variable at |
| infeasible | pointer to store whether the fixing is infeasible |
| fixed | pointer to store whether the fixing was performed (variable was unfixed) |
Definition at line 4987 of file var.c.
References assert(), FALSE, holelistFree(), SCIP_Lp::lpexact, NULL, obj, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPeventqueueIsDelayed(), SCIPhistoryReset(), SCIPlpDecNLoosevars(), SCIPprobVarChangedStatus(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiff(), SCIPrationalDiffReal(), SCIPrationalDiv(), SCIPrationalFreeBuffer(), SCIPrationalIsEQ(), SCIPrationalIsGT(), SCIPrationalIsInfinity(), SCIPrationalIsIntegral(), SCIPrationalIsLT(), SCIPrationalIsNegative(), SCIPrationalIsNegInfinity(), SCIPrationalIsZero(), SCIPrationalNegate(), SCIPrationalSetRational(), SCIPsetIsZero(), SCIPvarAddObjExact(), SCIPvarChgLbGlobalExact(), SCIPvarChgObjExact(), SCIPvarChgUbGlobalExact(), SCIPvarFixExact(), SCIPvarGetStatus(), SCIPvarGetStatusExact(), SCIPvarIsIntegral(), SCIPvarRemoveCliquesImplicsVbs(), TRUE, var, and varEventVarFixed().
Referenced by SCIPaggregateVarsExact(), SCIPfixVarExact(), SCIPvarAggregateExact(), SCIPvarFixExact(), SCIPvarMultiaggregateExact(), and varUpdateAggregationBoundsExact().
| SCIP_RETCODE SCIPvarGetActiveRepresentatives | ( | SCIP_SET * | set, |
| SCIP_VAR ** | vars, | ||
| SCIP_Real * | scalars, | ||
| int * | nvars, | ||
| int | varssize, | ||
| SCIP_Real * | constant, | ||
| int * | requiredsize ) |
transforms given variables, scalars and constant to the corresponding active variables, scalars and constant
If the number of needed active variables is greater than the available slots in the variable array, nothing happens except that an upper bound on the required size is stored in the variable requiredsize; otherwise, the active variable representation is stored in the arrays.
The reason for this approach is that we cannot reallocate memory, since we do not know how the memory has been allocated (e.g., by a C++ 'new' or SCIP functions). Note that requiredsize is an upper bound due to possible cancelations.
| set | global SCIP settings |
| vars | variable array to get active variables |
| scalars | scalars a_1, ..., a_n in linear sum a_1*x_1 + ... + a_n*x_n + c |
| nvars | pointer to number of variables and values in vars and scalars array |
| varssize | available slots in vars and scalars array |
| constant | pointer to constant c in linear sum a_1*x_1 + ... + a_n*x_n + c |
| requiredsize | pointer to store an uppper bound on the required size for the active variables |
Definition at line 5180 of file var.c.
References assert(), SCIP_Var::index, MAX, NULL, nvars, scalars, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIPgetNTotalVars(), SCIPsetAllocBufferArray, SCIPsetAllocCleanBufferArray, SCIPsetFreeBufferArray, SCIPsetFreeCleanBufferArray, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPsetReallocBufferArray, SCIPvarGetMultaggrConstant(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), TRUE, var, and vars.
Referenced by SCIPgetProbvarLinearSum(), SCIPsolRetransform(), SCIPvarFlattenAggregationGraph(), and SCIPvarMultiaggregate().
| SCIP_RETCODE SCIPvarGetActiveRepresentativesExact | ( | SCIP_SET * | set, |
| SCIP_VAR ** | vars, | ||
| SCIP_RATIONAL ** | scalars, | ||
| int * | nvars, | ||
| int | varssize, | ||
| SCIP_RATIONAL * | constant, | ||
| int * | requiredsize, | ||
| SCIP_Bool | mergemultiples ) |
transforms given variables, scalars and constant to the corresponding active variables, scalars and constant
If the number of needed active variables is greater than the available slots in the variable array, nothing happens except that the required size is stored in the corresponding variable; hence, if afterwards the required size is greater than the available slots (varssize), nothing happens; otherwise, the active variable representation is stored in the arrays.
The reason for this approach is that we cannot reallocate memory, since we do not know how the memory has been allocated (e.g., by a C++ 'new' or SCIP functions).
transforms given variables, scalars and constant to the corresponding active variables, scalars and constant
If the number of needed active variables is greater than the available slots in the variable array, nothing happens except that the required size is stored in the corresponding variable; hence, if afterwards the required size is greater than the available slots (varssize), nothing happens; otherwise, the active variable representation is stored in the arrays.
The reason for this approach is that we cannot reallocate memory, since we do not know how the memory has been allocated (e.g., by a C++ 'new' or SCIP functions).
| set | global SCIP settings |
| vars | variable array to get active variables |
| scalars | scalars a_1, ..., a_n in linear sum a_1*x_1 + ... + a_n*x_n + c |
| nvars | pointer to number of variables and values in vars and vals array |
| varssize | available slots in vars and scalars array |
| constant | pointer to constant c in linear sum a_1*x_1 + ... + a_n*x_n + c |
| requiredsize | pointer to store the required array size for the active variables |
| mergemultiples | should multiple occurrences of a var be replaced by a single coeff? |
Definition at line 5511 of file var.c.
References assert(), FALSE, NULL, nvars, scalars, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPrationalAdd(), SCIPrationalAddProd(), SCIPrationalCopyBufferArray(), SCIPrationalCreateBuffer(), SCIPrationalCreateBufferArray(), SCIPrationalFreeBuffer(), SCIPrationalFreeBufferArray(), SCIPrationalGetSign(), SCIPrationalIsAbsInfinity(), SCIPrationalIsEQ(), SCIPrationalIsInfinity(), SCIPrationalIsNegInfinity(), SCIPrationalIsZero(), SCIPrationalMult(), SCIPrationalNegate(), SCIPrationalReallocBufferArray(), SCIPrationalSetInfinity(), SCIPrationalSetNegInfinity(), SCIPrationalSetRational(), SCIPsetAllocBufferArray, SCIPsetDuplicateBufferArray, SCIPsetFreeBufferArray, SCIPsetIsEQ(), SCIPsetIsZero(), SCIPsetReallocBufferArray, SCIPsortedvecFindPtr(), SCIPsortPtrPtr(), SCIPvarCompare(), SCIPvarGetMultaggrConstantExact(), SCIPvarGetProbvarSumExact(), SCIPvarGetStatus(), SCIPvarGetStatusExact(), TRUE, var, and vars.
Referenced by SCIPgetProbvarLinearSumExact(), SCIPsolRetransformExact(), SCIPvarFlattenAggregationGraph(), and SCIPvarMultiaggregateExact().
| SCIP_RETCODE SCIPvarGetProbvarSum | ( | SCIP_VAR ** | var, |
| SCIP_SET * | set, | ||
| SCIP_Real * | scalar, | ||
| SCIP_Real * | constant ) |
transforms given variable, scalar and constant to the corresponding active, fixed, or multi-aggregated variable, scalar and constant; if the variable resolves to a fixed variable, "scalar" will be 0.0 and the value of the sum will be stored in "constant"; a multi-aggregation with only one active variable (this can happen due to fixings after the multi-aggregation), is treated like an aggregation; if the multi-aggregation constant is infinite, "scalar" will be 0.0
| var | pointer to problem variable x in sum a*x + c |
| set | global SCIP settings |
| scalar | pointer to scalar a in sum a*x + c |
| constant | pointer to constant c in sum a*x + c |
Definition at line 18075 of file var.c.
References assert(), NULL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPvarGetStatus(), and var.
Referenced by conflictResolveBound(), convertToActiveVar(), nlrowRemoveFixedLinearCoefPos(), SCIPaggregateVars(), SCIPgetProbvarSum(), SCIPnlrowAddLinearCoef(), SCIPprimalTransformSol(), SCIPtreeBranchVar(), SCIPtreeBranchVarNary(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarAggregate(), and SCIPvarGetActiveRepresentatives().
| SCIP_RETCODE SCIPvarGetProbvarSumExact | ( | SCIP_VAR ** | var, |
| SCIP_RATIONAL * | scalar, | ||
| SCIP_RATIONAL * | constant ) |
transforms given variable, scalar and constant to the corresponding active, fixed, or multi-aggregated variable, scalar and constant; if the variable resolves to a fixed variable, "scalar" will be 0.0 and the value of the sum will be stored in "constant"; a multi-aggregation with only one active variable (this can happen due to fixings after the multi-aggregation), is treated like an aggregation; if the multi-aggregation constant is infinite, "scalar" will be 0.0
| var | pointer to problem variable x in sum a*x + c |
| scalar | pointer to scalar a in sum a*x + c |
| constant | pointer to constant c in sum a*x + c |
Definition at line 18205 of file var.c.
References assert(), NULL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPrationalAddProd(), SCIPrationalAddProdReal(), SCIPrationalGetSign(), SCIPrationalIsAbsInfinity(), SCIPrationalIsInfinity(), SCIPrationalIsNegInfinity(), SCIPrationalIsPositive(), SCIPrationalIsZero(), SCIPrationalMult(), SCIPrationalNegate(), SCIPrationalSetInfinity(), SCIPrationalSetNegInfinity(), SCIPrationalSetReal(), SCIPvarGetStatus(), SCIPvarGetStatusExact(), and var.
Referenced by SCIPaggregateVarsExact(), SCIPgetProbvarSumExact(), SCIPvarAggregateExact(), and SCIPvarGetActiveRepresentativesExact().
| SCIP_RETCODE SCIPvarFlattenAggregationGraph | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_EVENTQUEUE * | eventqueue ) |
flattens aggregation graph of multi-aggregated variable in order to avoid exponential recursion later-on
flattens aggregation graph of multi-aggregated variable in order to avoid exponential recursion later on
Note, that there are two cases where SCIPvarFlattenAggregationGraph() is called: The easier one is that it is called while installing the multi-aggregation. in principle, the described issue could be handled straightforward in this case by aggregating or fixing the variable instead. The more complicated case is the one, when the multi-aggregation is used, e.g., in linear presolving (and the variable is already declared to be multi-aggregated).
By now, it is not allowed to fix or aggregate multi-aggregated variables which would be necessary in this case.
The same issue appears in the SCIPvarGetProbvar...() methods.
Definition at line 5989 of file var.c.
References assert(), BMSreallocBlockMemoryArray, i, NLOCKTYPES, NULL, overwriteMultAggrWithExactData(), SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPrationalReallocBlockArray(), SCIPvarAddLocks(), SCIPvarGetActiveRepresentatives(), SCIPvarGetActiveRepresentativesExact(), SCIPvarGetStatus(), TRUE, and var.
Referenced by presolve(), and SCIPflattenVarAggregationGraph().
| SCIP_RETCODE SCIPvarsGetActiveVars | ( | SCIP_SET * | set, |
| SCIP_VAR ** | vars, | ||
| int * | nvars, | ||
| int | varssize, | ||
| int * | requiredsize ) |
return for given variables all their active counterparts; all active variables will be pairwise different
| set | global SCIP settings |
| vars | variable array with given variables and as output all active variables, if enough slots exist |
| nvars | number of given variables, and as output number of active variables, if enough slots exist |
| varssize | available slots in vars array |
| requiredsize | pointer to store the required array size for the active variables |
Definition at line 17338 of file var.c.
References assert(), BMScopyMemoryArray, NULL, nvars, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPsetAllocBufferArray, SCIPsetDuplicateBufferArray, SCIPsetFreeBufferArray, SCIPsetReallocBufferArray, SCIPsortPtr(), SCIPvarCompare(), SCIPvarGetStatus(), SCIPvarsGetProbvar(), var, and vars.
Referenced by SCIPgetActiveVars().
| SCIP_RETCODE SCIPvarTryAggregateVars | ( | SCIP_SET * | set, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_PRIMAL * | primal, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_VAR * | varx, | ||
| SCIP_VAR * | vary, | ||
| SCIP_Real | scalarx, | ||
| SCIP_Real | scalary, | ||
| SCIP_Real | rhs, | ||
| SCIP_Bool * | infeasible, | ||
| SCIP_Bool * | aggregated ) |
performs second step of SCIPaggregateVars(): the variable to be aggregated is chosen among active problem variables x' and y', preferring a less strict variable type as aggregation variable (i.e. continuous variables are preferred over implicit integers, implicit integers or integers over binaries). If none of the variables is continuous, it is tried to find an integer aggregation (i.e. integral coefficients a'' and b'', such that a''*x' + b''*y' == c''). This can lead to the detection of infeasibility (e.g. if c'' is fractional), or to a rejection of the aggregation (denoted by aggregated == FALSE), if the resulting integer coefficients are too large and thus numerically instable.
performs second step of SCIPaggregateVars(): the variable to be aggregated is chosen among active problem variables x' and y', preferring a less strict variable type as aggregation variable (i.e. continuous variables are preferred over implicit integers, implicit integers or integers over binaries). If none of the variables is continuous, it is tried to find an integer aggregation (i.e. integral coefficients a'' and b'', such that a''*x' + b''*y' == c''). This can lead to the detection of infeasibility (e.g. if c'' is fractional), or to a rejection of the aggregation (denoted by aggregated == FALSE), if the resulting integer coefficients are too large and thus numerically instable.
| set | global SCIP settings |
| blkmem | block memory |
| stat | problem statistics |
| transprob | tranformed problem data |
| origprob | original problem data |
| primal | primal data |
| tree | branch and bound tree |
| reopt | reoptimization data structure |
| lp | current LP data |
| cliquetable | clique table data structure |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| eventfilter | global event filter |
| varx | variable x in equality a*x + b*y == c |
| vary | variable y in equality a*x + b*y == c |
| scalarx | multiplier a in equality a*x + b*y == c |
| scalary | multiplier b in equality a*x + b*y == c |
| rhs | right hand side c in equality a*x + b*y == c |
| infeasible | pointer to store whether the aggregation is infeasible |
| aggregated | pointer to store whether the aggregation was successful |
Definition at line 7688 of file var.c.
References assert(), FALSE, NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_DEPRECATED_VARTYPE_IMPLINT, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_VARSTATUS_LOOSE, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_INTEGER, SCIPsetFeastol(), SCIPsetGetHugeValue(), SCIPsetGetStage(), SCIPsetIsFeasIntegral(), SCIPsetIsInfinity(), SCIPvarAggregate(), SCIPvarDoNotAggr(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsAggrCoefAcceptable(), SCIPvarIsBinary(), SCIPvarIsImpliedIntegral(), TRUE, tryAggregateIntVars(), and var.
Referenced by SCIPaggregateVars(), SCIPcliquetableCleanup(), and SCIPvarMultiaggregate().
| SCIP_RETCODE SCIPvarTryAggregateVarsExact | ( | SCIP_SET * | set, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_PRIMAL * | primal, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_VAR * | varx, | ||
| SCIP_VAR * | vary, | ||
| SCIP_RATIONAL * | scalarx, | ||
| SCIP_RATIONAL * | scalary, | ||
| SCIP_RATIONAL * | rhs, | ||
| SCIP_Bool * | infeasible, | ||
| SCIP_Bool * | aggregated ) |
performs second step of SCIPaggregateVarsExact(): the variable to be aggregated is chosen among active problem variables x' and y', preferring a less strict variable type as aggregation variable (i.e. continuous variables are preferred over implicit integers, implicit integers or integers over binaries). If none of the variables is continuous, it is tried to find an integer aggregation (i.e. integral coefficients a'' and b'', such that a''*x' + b''*y' == c''). This can lead to the detection of infeasibility (e.g. if c'' is fractional), or to a rejection of the aggregation (denoted by aggregated == FALSE), if the resulting integer coefficients are too large and thus numerically instable.
performs second step of SCIPaggregateVarsExact()
The variable to be aggregated is chosen among active problem variables x' and y', preferring a less strict variable type as aggregation variable (i.e. continuous variables are preferred over implicit integers, implicit integers or integers over binaries). If none of the variables is continuous, it is tried to find an integer aggregation (i.e. integral coefficients a'' and b'', such that a''*x' + b''*y' == c''). This can lead to the detection of infeasibility (e.g. if c'' is fractional), or to a rejection of the aggregation (denoted by aggregated == FALSE), if the resulting integer coefficients are too large and thus numerically instable.
| set | global SCIP settings |
| blkmem | block memory |
| stat | problem statistics |
| transprob | tranformed problem data |
| origprob | original problem data |
| primal | primal data |
| tree | branch and bound tree |
| reopt | reoptimization data structure |
| lp | current LP data |
| cliquetable | clique table data structure |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| eventfilter | global event filter |
| varx | variable x in equality a*x + b*y == c |
| vary | variable y in equality a*x + b*y == c |
| scalarx | multiplier a in equality a*x + b*y == c |
| scalary | multiplier b in equality a*x + b*y == c |
| rhs | right hand side c in equality a*x + b*y == c |
| infeasible | pointer to store whether the aggregation is infeasible |
| aggregated | pointer to store whether the aggregation was successful |
Definition at line 7863 of file var.c.
References assert(), FALSE, MAX, NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_DEPRECATED_VARTYPE_IMPLINT, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_VARSTATUS_LOOSE, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_INTEGER, SCIPrationalCreateBuffer(), SCIPrationalDiv(), SCIPrationalFreeBuffer(), SCIPrationalGetReal(), SCIPrationalInvert(), SCIPrationalIsIntegral(), SCIPrationalIsZero(), SCIPrationalNegate(), SCIPsetEpsilon(), SCIPsetFeastol(), SCIPsetGetHugeValue(), SCIPsetGetStage(), SCIPsetIsFeasZero(), SCIPvarAggregateExact(), SCIPvarDoNotAggr(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsBinary(), SCIPvarIsImpliedIntegral(), TRUE, tryAggregateIntVarsExact(), and var.
Referenced by SCIPaggregateVarsExact(), and SCIPvarMultiaggregateExact().
| SCIP_RETCODE SCIPvarAggregate | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_PRIMAL * | primal, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_VAR * | aggvar, | ||
| SCIP_Real | scalar, | ||
| SCIP_Real | constant, | ||
| SCIP_Bool * | infeasible, | ||
| SCIP_Bool * | aggregated ) |
converts loose variable into aggregated variable
| var | loose problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| transprob | tranformed problem data |
| origprob | original problem data |
| primal | primal data |
| tree | branch and bound tree |
| reopt | reoptimization data structure |
| lp | current LP data |
| cliquetable | clique table data structure |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| eventfilter | global event filter |
| aggvar | loose variable y in aggregation x = a*y + c |
| scalar | multiplier a in aggregation x = a*y + c |
| constant | constant shift c in aggregation x = a*y + c |
| infeasible | pointer to store whether the aggregation is infeasible |
| aggregated | pointer to store whether the aggregation was successful |
Definition at line 6599 of file var.c.
References assert(), SCIP_Var::branchdirection, SCIP_Var::branchfactor, SCIP_Var::branchpriority, SCIP_Var::donotaggr, SCIP_Var::donotmultaggr, FALSE, SCIP_Var::glbdom, SCIP_Var::history, SCIP_Var::historycrun, i, SCIP_Dom::lb, SCIP_Var::locdom, MAX, SCIP_Var::name, SCIP_Var::negatedvar, NLOCKTYPES, NULL, obj, SCIP_Var::removable, SCIP_Bool, SCIP_BRANCHDIR_AUTO, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARTYPE_BINARY, SCIPbranchdirOpposite(), SCIPdebugCheckAggregation, SCIPeventqueueIsDelayed(), SCIPhistoryReset(), SCIPhistoryUnite(), SCIPimplicsFree(), SCIPimplicsGetBounds(), SCIPimplicsGetNImpls(), SCIPimplicsGetTypes(), SCIPimplicsGetVars(), SCIPprobVarChangedStatus(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarAddImplic(), SCIPvarAddLocks(), SCIPvarAddObj(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgBranchDirection(), SCIPvarChgBranchFactor(), SCIPvarChgBranchPriority(), SCIPvarChgObj(), SCIPvarDoNotAggr(), SCIPvarFix(), SCIPvarGetHolelistGlobal(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsBinary(), SCIPvarIsImpliedIntegral(), SCIPvarMarkNotDeletable(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvboundsFree(), SCIPvboundsGetCoefs(), SCIPvboundsGetConstants(), SCIPvboundsGetNVbds(), SCIPvboundsGetVars(), TRUE, SCIP_Dom::ub, var, varAddParent(), varEventVarFixed(), vars, varUpdateAggregationBounds(), and varUpdateMinMaxAggrCoef().
Referenced by SCIPvarTryAggregateVars(), and tryAggregateIntVars().
| SCIP_RETCODE SCIPvarAggregateExact | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_PRIMAL * | primal, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_VAR * | aggvar, | ||
| SCIP_RATIONAL * | scalar, | ||
| SCIP_RATIONAL * | constant, | ||
| SCIP_Bool * | infeasible, | ||
| SCIP_Bool * | aggregated ) |
converts loose variable into aggregated variable
| var | loose problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| transprob | tranformed problem data |
| origprob | original problem data |
| primal | primal data |
| tree | branch and bound tree |
| reopt | reoptimization data structure |
| lp | current LP data |
| cliquetable | clique table data structure |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| eventfilter | global event filter |
| aggvar | loose variable y in aggregation x = a*y + c |
| scalar | multiplier a in aggregation x = a*y + c |
| constant | constant shift c in aggregation x = a*y + c |
| infeasible | pointer to store whether the aggregation is infeasible |
| aggregated | pointer to store whether the aggregation was successful |
Definition at line 6909 of file var.c.
References assert(), SCIP_Var::branchdirection, SCIP_Var::branchfactor, SCIP_Var::branchpriority, SCIP_Var::donotmultaggr, SCIP_Var::exactdata, FALSE, SCIP_Var::glbdom, SCIP_VarDataExact::glbdom, SCIP_Var::history, SCIP_Var::historycrun, i, SCIP_Dom::lb, SCIP_DomExact::lb, SCIP_Var::locdom, SCIP_Lp::lpexact, MAX, SCIP_Var::name, SCIP_Var::negatedvar, NLOCKTYPES, NULL, obj, SCIP_Var::removable, SCIP_Bool, SCIP_BRANCHDIR_AUTO, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIPbranchdirOpposite(), SCIPeventqueueIsDelayed(), SCIPhistoryReset(), SCIPhistoryUnite(), SCIPprobVarChangedStatus(), SCIPrationalCreateBlock(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiffReal(), SCIPrationalDiv(), SCIPrationalFreeBuffer(), SCIPrationalGetReal(), SCIPrationalIsEQReal(), SCIPrationalIsNegative(), SCIPrationalIsZero(), SCIPrationalNegate(), SCIPrationalSetRational(), SCIPrationalSetReal(), SCIPsetDebugMsg, SCIPvarAddLocks(), SCIPvarAddObjExact(), SCIPvarChgBranchDirection(), SCIPvarChgBranchFactor(), SCIPvarChgBranchPriority(), SCIPvarChgObjExact(), SCIPvarDoNotAggr(), SCIPvarFixExact(), SCIPvarGetHolelistGlobal(), SCIPvarGetProbvarSumExact(), SCIPvarGetStatusExact(), SCIPvarIsBinary(), SCIPvarMarkNotDeletable(), SCIPvarRemoveCliquesImplicsVbs(), TRUE, SCIP_Dom::ub, SCIP_DomExact::ub, var, varAddParent(), varEventVarFixed(), and varUpdateAggregationBoundsExact().
Referenced by SCIPvarTryAggregateVarsExact(), and tryAggregateIntVarsExact().
| SCIP_RETCODE SCIPvarMultiaggregate | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_PRIMAL * | primal, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| int | naggvars, | ||
| SCIP_VAR ** | aggvars, | ||
| SCIP_Real * | scalars, | ||
| SCIP_Real | constant, | ||
| SCIP_Bool * | infeasible, | ||
| SCIP_Bool * | aggregated ) |
converts variable into multi-aggregated variable
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| transprob | tranformed problem data |
| origprob | original problem data |
| primal | primal data |
| tree | branch and bound tree |
| reopt | reoptimization data structure |
| lp | current LP data |
| cliquetable | clique table data structure |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| eventfilter | global event filter |
| naggvars | number n of variables in aggregation x = a_1*y_1 + ... + a_n*y_n + c |
| aggvars | variables y_i in aggregation x = a_1*y_1 + ... + a_n*y_n + c |
| scalars | multipliers a_i in aggregation x = a_1*y_1 + ... + a_n*y_n + c |
| constant | constant shift c in aggregation x = a_1*y_1 + ... + a_n*y_n + c |
| infeasible | pointer to store whether the aggregation is infeasible |
| aggregated | pointer to store whether the aggregation was successful |
Definition at line 8055 of file var.c.
References assert(), BMSduplicateBlockMemoryArray, BMSfreeBlockMemoryArray, BMSreallocBlockMemoryArray, FALSE, i, MAX, NLOCKTYPES, NULL, obj, REALABS, SCIP_Var::removable, scalars, SCIP_ALLOC, SCIP_Bool, SCIP_BRANCHDIR_AUTO, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPbranchdirOpposite(), SCIPdebugCheckAggregation, SCIPerrorMessage, SCIPeventqueueIsDelayed(), SCIPlpDecNLoosevars(), SCIPprobVarChangedStatus(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsFeasZero(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPvarAddLocks(), SCIPvarAddObj(), SCIPvarChgBranchDirection(), SCIPvarChgBranchFactor(), SCIPvarChgBranchPriority(), SCIPvarChgObj(), SCIPvarDoNotMultaggr(), SCIPvarFix(), SCIPvarGetActiveRepresentatives(), SCIPvarGetHolelistGlobal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarIsAggrCoefAcceptable(), SCIPvarMarkNotDeletable(), SCIPvarMultiaggregate(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarTryAggregateVars(), TRUE, var, varEventVarFixed(), and varUpdateMinMaxAggrCoef().
Referenced by SCIPmultiaggregateVar(), and SCIPvarMultiaggregate().
| SCIP_RETCODE SCIPvarMultiaggregateExact | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_PRIMAL * | primal, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LPEXACT * | lpexact, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| int | naggvars, | ||
| SCIP_VAR ** | aggvars, | ||
| SCIP_RATIONAL ** | scalars, | ||
| SCIP_RATIONAL * | constant, | ||
| SCIP_Bool * | infeasible, | ||
| SCIP_Bool * | aggregated ) |
converts variable into multi-aggregated variable
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| transprob | tranformed problem data |
| origprob | original problem data |
| primal | primal data |
| tree | branch and bound tree |
| reopt | reoptimization data structure |
| lpexact | current LP data |
| cliquetable | clique table data structure |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| eventfilter | global event filter |
| naggvars | number n of variables in aggregation x = a_1*y_1 + ... + a_n*y_n + c |
| aggvars | variables y_i in aggregation x = a_1*y_1 + ... + a_n*y_n + c |
| scalars | multipliers a_i in aggregation x = a_1*y_1 + ... + a_n*y_n + c |
| constant | constant shift c in aggregation x = a_1*y_1 + ... + a_n*y_n + c |
| infeasible | pointer to store whether the aggregation is infeasible |
| aggregated | pointer to store whether the aggregation was successful |
Definition at line 8415 of file var.c.
References assert(), BMSallocBlockMemoryArray, BMSduplicateBlockMemoryArray, BMSfreeBlockMemoryArray, BMSreallocBlockMemoryArray, FALSE, SCIP_LpExact::fplp, i, MAX, NLOCKTYPES, NULL, obj, SCIP_Var::removable, scalars, SCIP_ALLOC, SCIP_Bool, SCIP_BRANCHDIR_AUTO, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPeventqueueIsDelayed(), SCIPlpDecNLoosevars(), SCIPlpExactDecNLoosevars(), SCIPprobVarChangedStatus(), SCIPrationalAdd(), SCIPrationalCopyBlock(), SCIPrationalCopyBlockArray(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiffReal(), SCIPrationalDiv(), SCIPrationalFreeBlockArray(), SCIPrationalFreeBuffer(), SCIPrationalGetReal(), SCIPrationalIsEQ(), SCIPrationalIsEQReal(), SCIPrationalIsNegative(), SCIPrationalIsZero(), SCIPrationalNegate(), SCIPrationalReallocBlockArray(), SCIPrationalSetRational(), SCIPrationalSetReal(), SCIPsetDebugMsg, SCIPvarAddLocks(), SCIPvarAddObjExact(), SCIPvarChgBranchDirection(), SCIPvarChgBranchFactor(), SCIPvarChgBranchPriority(), SCIPvarChgObjExact(), SCIPvarDoNotMultaggr(), SCIPvarFixExact(), SCIPvarGetActiveRepresentativesExact(), SCIPvarGetHolelistGlobal(), SCIPvarGetName(), SCIPvarGetStatusExact(), SCIPvarMarkNotDeletable(), SCIPvarMultiaggregateExact(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarTryAggregateVarsExact(), TRUE, var, and varEventVarFixed().
Referenced by SCIPmultiaggregateVarExact(), and SCIPvarMultiaggregateExact().
returns whether variable is not allowed to be aggregated
| var | problem variable |
Definition at line 8843 of file var.c.
References assert(), SCIP_Var::donotaggr, FALSE, NULL, SCIP_Bool, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPvarGetStatus(), var, and varGetActiveVar().
Referenced by SCIPdoNotAggrVar(), SCIPvarAggregate(), SCIPvarAggregateExact(), SCIPvarTryAggregateVars(), SCIPvarTryAggregateVarsExact(), and tryAggregateIntVars().
returns whether variable is not allowed to be multi-aggregated
| var | problem variable |
Definition at line 8876 of file var.c.
References assert(), SCIP_Var::donotmultaggr, FALSE, NULL, SCIP_Bool, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPvarGetStatus(), var, and varGetActiveVar().
Referenced by SCIPdoNotMultaggrVar(), SCIPvarMultiaggregate(), and SCIPvarMultiaggregateExact().
checks whether a loose variable can be used in a new aggregation with given coefficient
Definition at line 8909 of file var.c.
References assert(), FALSE, NULL, SCIP_Bool, SCIP_Real, SCIP_VARSTATUS_LOOSE, SCIPsetIsSumZero(), SCIPvarGetMaxAggrCoef(), SCIPvarGetMinAggrCoef(), SCIPvarGetStatus(), TRUE, and var.
Referenced by SCIPisVarAggrCoefAcceptable(), SCIPvarMultiaggregate(), and SCIPvarTryAggregateVars().
returns whether the variable was flagged for deletion from global structures (cliques etc.)
| var | problem variable |
Definition at line 23580 of file var.c.
References assert(), NULL, SCIP_Bool, and var.
Referenced by cliqueCleanup(), and SCIPcliquetableAdd().
| SCIP_RETCODE SCIPvarNegate | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_VAR ** | negvar ) |
gets negated variable x' = offset - x of problem variable x; the negated variable is created if not yet existing; the negation offset of binary variables is always 1, the offset of other variables is fixed to lb + ub when the negated variable is created
| var | problem variable to negate |
| blkmem | block memory of transformed problem |
| set | global SCIP settings |
| stat | problem statistics |
| negvar | pointer to store the negated variable |
Definition at line 8979 of file var.c.
References assert(), SCIP_Var::negatedvar, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_VARSTATUS_NEGATED, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPeventfilterCreate(), SCIPsetDebugMsg, SCIPsetIsInfinity(), SCIPsnprintf(), SCIPvarGetImplType(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsBinary(), SCIPvarIsTransformed(), SCIPvarMarkNotDeletable(), var, varAddParent(), varCreate(), and varNegateExactData().
Referenced by addSplitcons(), SCIPgetNegatedVar(), SCIPgetNegatedVars(), SCIPreoptApplyGlbConss(), and SCIPvarGetTransformed().
| void SCIPvarSetProbindex | ( | SCIP_VAR * | var, |
| int | probindex ) |
informs variable that its position in problem's vars array changed
| var | problem variable |
| probindex | new problem index of variable |
Definition at line 9087 of file var.c.
References assert(), NULL, var, and varSetProbindex().
Referenced by probInsertVar(), probProvidePos(), and probRemoveVar().
| void SCIPvarSetNamePointer | ( | SCIP_VAR * | var, |
| const char * | name ) |
gives the variable a new name
| var | problem variable |
| name | new name of variable |
Definition at line 9102 of file var.c.
References assert(), NULL, and var.
Referenced by resetVarname(), and SCIPreaderWrite().
| SCIP_RETCODE SCIPvarRemove | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_SET * | set, | ||
| SCIP_Bool | final, | ||
| SCIP_Bool | keepimplics ) |
informs variable that it will be removed from the problem; adjusts probindex and removes variable from the implication graph; If 'final' is TRUE, the thorough implication graph removal is not performed. Instead, only the variable bounds and implication data structures of the variable are freed. Since in the final removal of all variables from the transformed problem, this deletes the implication graph completely and is faster than removing the variables one by one, each time updating all lists of the other variables. If 'keepimplics' is TRUE, the implications, variable bounds and cliques are kept. This should be used when the variable type is upgraded, i.e. when it gains (implied) integrality, so that existing implications are not lost.
| var | problem variable |
| blkmem | block memory buffer |
| cliquetable | clique table data structure |
| set | global SCIP settings |
| final | is this the final removal of all problem variables? |
| keepimplics | should the implications be kept? |
Definition at line 9122 of file var.c.
References assert(), FALSE, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPimplicsFree(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarIsTransformed(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvboundsFree(), TRUE, var, and varSetProbindex().
Referenced by probRemoveVar(), and SCIPprobFree().
| void SCIPvarMarkDeleted | ( | SCIP_VAR * | var | ) |
| SCIP_RETCODE SCIPvarMarkDoNotAggr | ( | SCIP_VAR * | var | ) |
marks the variable to not to be maggregated
marks the variable to not to be aggregated
| var | problem variable |
Definition at line 9170 of file var.c.
References assert(), SCIP_Var::donotaggr, NULL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPvarGetStatus(), TRUE, var, and varGetActiveVar().
Referenced by SCIPmarkDoNotAggrVar().
| SCIP_RETCODE SCIPvarMarkDoNotMultaggr | ( | SCIP_VAR * | var | ) |
marks the variable to not to be multi-aggregated
| var | problem variable |
Definition at line 9206 of file var.c.
References assert(), SCIP_Var::donotmultaggr, NULL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPvarGetStatus(), TRUE, var, and varGetActiveVar().
Referenced by SCIPmarkDoNotMultaggrVar().
| SCIP_RETCODE SCIPvarAddLocks | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_LOCKTYPE | locktype, | ||
| int | addnlocksdown, | ||
| int | addnlocksup ) |
modifies lock numbers for rounding
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| eventqueue | event queue |
| locktype | type of the variable locks |
| addnlocksdown | increase in number of rounding down locks |
| addnlocksup | increase in number of rounding up locks |
Definition at line 4200 of file var.c.
References SCIP_Var::aggregate, assert(), SCIP_Var::data, SCIP_Var::donotaggr, SCIP_Var::donotmultaggr, SCIP_Var::multaggr, SCIP_Var::negatedvar, SCIP_Var::nlocksdown, SCIP_Var::nlocksup, NLOCKTYPES, NULL, SCIP_Multaggr::nvars, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Multaggr::scalars, SCIP_CALL, SCIP_INVALIDDATA, SCIP_LOCKTYPE_MODEL, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPsetDebugMsg, SCIPvarAddLocks(), SCIPvarGetStatus(), SCIP_Original::transvar, TRUE, SCIP_Aggregate::var, var, varEventVarUnlocked(), and SCIP_Multaggr::vars.
Referenced by SCIPaddVarLocksType(), SCIPlockVarCons(), SCIPunlockVarCons(), SCIPvarAddLocks(), SCIPvarAggregate(), SCIPvarAggregateExact(), SCIPvarFlattenAggregationGraph(), SCIPvarMultiaggregate(), and SCIPvarMultiaggregateExact().
| SCIP_RETCODE SCIPvarChgType | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_PRIMAL * | primal, | ||
| SCIP_LP * | lp, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_VARTYPE | vartype ) |
changes type of variable; cannot be called, if var belongs to a problem
| var | variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| primal | primal data |
| lp | current LP data |
| eventqueue | event queue |
| vartype | new type of variable |
Definition at line 9242 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_DEPRECATED_VARTYPE_IMPLINT, SCIP_IMPLINTTYPE_WEAK, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_TRANSFORMING, SCIPdebugMessage, SCIPerrorMessage, SCIPeventCreateTypeChanged(), SCIPeventqueueAdd(), SCIPsetGetStage(), SCIPvarChgImplType(), SCIPvarGetImplType(), SCIPvarGetType(), SCIPvarIsBinary(), and var.
Referenced by SCIPchgVarType(), and SCIPprobChgVarType().
| SCIP_RETCODE SCIPvarChgImplType | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_PRIMAL * | primal, | ||
| SCIP_LP * | lp, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_IMPLINTTYPE | impltype ) |
changes implied integral type of variable; cannot be called, if var belongs to a problem
| var | variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| primal | primal data |
| lp | current LP data |
| eventqueue | event queue |
| impltype | new implied integral type of variable |
Definition at line 9301 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_TRANSFORMING, SCIPdebugMessage, SCIPerrorMessage, SCIPeventCreateImplTypeChanged(), SCIPeventqueueAdd(), SCIPsetGetStage(), SCIPvarGetImplType(), and var.
Referenced by SCIPchgVarImplType(), SCIPprobChgVarImplType(), and SCIPvarChgType().
| SCIP_RETCODE SCIPvarChgObj | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_PROB * | prob, | ||
| SCIP_PRIMAL * | primal, | ||
| SCIP_LP * | lp, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_Real | newobj ) |
changes objective value of variable
| var | variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| prob | problem data |
| primal | primal data |
| lp | current LP data |
| eventqueue | event queue |
| newobj | new objective value for variable |
Definition at line 9419 of file var.c.
References assert(), SCIP_Lp::divingobjchg, newobj, NULL, SCIP_Prob::objscale, SCIP_Prob::objsense, oldobj, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPprobIsTransformed(), SCIPprobUpdateNObjVars(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPvarChgObj(), SCIPvarGetStatus(), SCIPvarIsActive(), var, and varEventObjChanged().
Referenced by SCIPchgVarObj(), SCIPchgVarObjProbing(), SCIPprobScaleObj(), SCIPpropagateProbing(), SCIPvarAggregate(), SCIPvarChgObj(), SCIPvarFix(), SCIPvarMultiaggregate(), and treeBacktrackProbing().
| SCIP_RETCODE SCIPvarChgObjExact | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_PROB * | prob, | ||
| SCIP_PRIMAL * | primal, | ||
| SCIP_LPEXACT * | lp, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_RATIONAL * | newobj ) |
changes objective value of variable
changes rational objective value of variable
| var | variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| prob | problem data |
| primal | primal data |
| lp | current LP data |
| eventqueue | event queue |
| newobj | new objective value for variable |
Definition at line 9494 of file var.c.
References assert(), SCIP_Lp::divingobjchg, SCIP_LpExact::fplp, newobj, NULL, SCIP_Prob::objscale, SCIP_Prob::objsense, oldobj, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPintervalSetRational(), SCIPprobIsTransformed(), SCIPprobUpdateNObjVars(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalFreeBuffer(), SCIPrationalGetReal(), SCIPrationalIsEQ(), SCIPrationalMultReal(), SCIPrationalSetRational(), SCIPvarChgObjExact(), SCIPvarGetStatusExact(), SCIPvarIsActive(), var, and varEventObjChangedExact().
Referenced by probScaleObjExact(), SCIPchgVarObjExact(), SCIPvarAggregateExact(), SCIPvarChgObjExact(), SCIPvarFixExact(), and SCIPvarMultiaggregateExact().
| SCIP_RETCODE SCIPvarChgUbGlobalExact | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_LPEXACT * | lpexact, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_RATIONAL * | newbound ) |
changes rational objective value of variable
changes global upper bound of variable; if possible, adjusts bound to integral value; updates local upper bound if the global bound is tighter
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| lpexact | current exact LP data, may be NULL for original variables |
| branchcand | branching candidate storage, may be NULL for original variables |
| eventqueue | event queue, may be NULL for original variables |
| cliquetable | clique table data structure |
| newbound | new bound for variable |
Definition at line 11618 of file var.c.
References adjustedUbExact(), assert(), NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiff(), SCIPrationalDiffReal(), SCIPrationalDiv(), SCIPrationalFreeBuffer(), SCIPrationalIsAbsInfinity(), SCIPrationalIsGE(), SCIPrationalIsIntegral(), SCIPrationalIsLT(), SCIPrationalIsNegative(), SCIPrationalIsPositive(), SCIPrationalMax(), SCIPrationalNegate(), SCIPrationalSetRational(), SCIPsetGetStage(), SCIPvarChgLbGlobalExact(), SCIPvarChgUbGlobalExact(), SCIPvarChgUbLocalExact(), SCIPvarGetLbLocalExact(), SCIPvarGetStatus(), SCIPvarGetUbLocalExact(), SCIPvarIsIntegral(), var, and varProcessChgUbGlobalExact().
Referenced by SCIPchgVarUbExact(), SCIPchgVarUbGlobalExact(), SCIPinferVarUbConsExact(), SCIPtightenVarUbExact(), SCIPvarChgBdGlobalExact(), SCIPvarChgLbGlobalExact(), SCIPvarChgUbGlobalExact(), SCIPvarFixExact(), SCIPvarResetBounds(), tightenVarUbGlobalSafe(), and varUpdateAggregationBoundsExact().
| SCIP_RETCODE SCIPvarChgLbGlobalExact | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_LPEXACT * | lpexact, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_RATIONAL * | newbound ) |
changes rational objective value of variable
changes global lower bound of variable; if possible, adjusts bound to integral value; updates local lower bound if the global bound is tighter
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| lpexact | current exact LP data, may be NULL for original variables |
| branchcand | branching candidate storage, may be NULL for original variables |
| eventqueue | event queue, may be NULL for original variables |
| cliquetable | clique table data structure |
| newbound | new bound for variable |
Definition at line 11321 of file var.c.
References adjustedLbExact(), assert(), NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiff(), SCIPrationalDiffReal(), SCIPrationalDiv(), SCIPrationalFreeBuffer(), SCIPrationalIsAbsInfinity(), SCIPrationalIsGT(), SCIPrationalIsIntegral(), SCIPrationalIsLE(), SCIPrationalIsNegative(), SCIPrationalIsPositive(), SCIPrationalMin(), SCIPrationalNegate(), SCIPrationalSetRational(), SCIPsetGetStage(), SCIPvarChgLbGlobalExact(), SCIPvarChgLbLocalExact(), SCIPvarChgUbGlobalExact(), SCIPvarGetLbLocalExact(), SCIPvarGetStatus(), SCIPvarGetUbLocalExact(), SCIPvarIsIntegral(), var, and varProcessChgLbGlobalExact().
Referenced by SCIPchgVarLbExact(), SCIPchgVarLbGlobalExact(), SCIPinferVarLbConsExact(), SCIPtightenVarLbExact(), SCIPvarChgBdGlobalExact(), SCIPvarChgLbGlobalExact(), SCIPvarChgUbGlobalExact(), SCIPvarFixExact(), SCIPvarResetBounds(), tightenVarLbGlobalSafe(), and varUpdateAggregationBoundsExact().
| SCIP_RETCODE SCIPvarAddObj | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_PRIMAL * | primal, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_Real | addobj ) |
adds value to objective value of variable
| var | variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| transprob | transformed problem data |
| origprob | original problem data |
| primal | primal data |
| tree | branch and bound tree |
| reopt | reoptimization data structure |
| lp | current LP data |
| eventqueue | event queue |
| eventfilter | global event filter |
| addobj | additional objective value for variable |
Definition at line 9589 of file var.c.
References assert(), SCIP_Lp::divingobjchg, i, NULL, SCIP_Prob::objscale, SCIP_Prob::objsense, oldobj, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPprimalUpdateObjoffset(), SCIPprobAddObjoffset(), SCIPprobUpdateNObjVars(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarAddObj(), SCIPvarGetStatus(), SCIPvarIsActive(), var, and varEventObjChanged().
Referenced by SCIPaddVarObj(), SCIPvarAddObj(), SCIPvarAggregate(), SCIPvarFix(), and SCIPvarMultiaggregate().
| SCIP_RETCODE SCIPvarAddObjExact | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_PRIMAL * | primal, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_RATIONAL * | addobj ) |
adds exact value to objective value of variable
| var | variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| transprob | transformed problem data |
| origprob | original problem data |
| primal | primal data |
| tree | branch and bound tree |
| reopt | reoptimization data structure |
| lp | current LP data |
| eventqueue | event queue |
| eventfilter | global event filter |
| addobj | additional objective value for variable |
Definition at line 9704 of file var.c.
References assert(), SCIP_Lp::divingobjchg, i, NULL, SCIP_Prob::objscale, SCIP_Prob::objsense, oldobj, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPintervalSetRational(), SCIPprimalUpdateObjoffsetExact(), SCIPprobAddObjoffsetExact(), SCIPprobUpdateNObjVars(), SCIPrationalAdd(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalFreeBuffer(), SCIPrationalGetReal(), SCIPrationalIsZero(), SCIPrationalMult(), SCIPrationalMultReal(), SCIPrationalNegate(), SCIPrationalSetRational(), SCIPsetIsEQ(), SCIPvarAddObjExact(), SCIPvarGetStatus(), SCIPvarGetStatusExact(), SCIPvarIsActive(), var, and varEventObjChangedExact().
Referenced by SCIPvarAddObjExact(), SCIPvarAggregateExact(), SCIPvarFixExact(), and SCIPvarMultiaggregateExact().
| SCIP_RETCODE SCIPvarChgObjDive | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_LP * | lp, | ||
| SCIP_Real | newobj ) |
changes objective value of variable in current dive
| var | problem variable to change |
| set | global SCIP settings |
| lp | current LP data |
| newobj | new objective value for variable |
Definition at line 9847 of file var.c.
References assert(), newobj, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPcolChgObj(), SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetIsZero(), SCIPvarChgObjDive(), SCIPvarGetStatus(), and var.
Referenced by SCIPchgVarObjDive(), and SCIPvarChgObjDive().
adjust lower bound to integral value, if variable is integral
Definition at line 9910 of file var.c.
References adjustedLb(), assert(), NULL, SCIP_Real, SCIPsetDebugMsg, SCIPvarIsIntegral(), and var.
Referenced by addSplitcons(), changeAncestorBranchings(), fixBounds(), fixInterdiction(), SCIPadjustedVarLb(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPchgVarLbNode(), SCIPchgVarLbProbing(), SCIPconflictAddRelaxedBound(), SCIPfixVarProbing(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPnodeAddBoundinfer(), SCIPnodeAddHoleinfer(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPtreeBranchVarNary(), SCIPvarAdjustBd(), SCIPvarChgLbDive(), SCIPvarParseOriginal(), sepastoreApplyLb(), sepastoreIsBdchgApplicable(), and varUpdateAggregationBounds().
| void SCIPvarAdjustLbExact | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_RATIONAL * | lb ) |
adjust lower bound to integral value, if variable is integral
Definition at line 9927 of file var.c.
References adjustedLbExact(), assert(), NULL, SCIPrationalDebugMessage, SCIPvarIsIntegral(), and var.
Referenced by SCIPchgVarLbExact(), SCIPinferVarLbConsExact(), SCIPnodeAddBoundinferExact(), SCIPtightenVarLbExact(), SCIPvarParseOriginal(), SCIPvarParseTransformed(), and varUpdateAggregationBoundsExact().
adjust lower bound to integral value, if variable is integral
Definition at line 9944 of file var.c.
References adjustedLbExactFloat(), assert(), NULL, SCIP_Real, SCIPsetDebugMsg, SCIPvarIsIntegral(), and var.
Referenced by SCIPadjustedVarLbExactFloat(), and tightenVarLbGlobalSafe().
adjust upper bound to integral value, if variable is integral
Definition at line 9961 of file var.c.
References adjustedUb(), assert(), NULL, SCIP_Real, SCIPsetDebugMsg, SCIPvarIsIntegral(), and var.
Referenced by addSplitcons(), changeAncestorBranchings(), fixBounds(), fixInterdiction(), SCIPadjustedVarUb(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPchgVarUbNode(), SCIPchgVarUbProbing(), SCIPconflictAddRelaxedBound(), SCIPfixVarProbing(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPnodeAddBoundinfer(), SCIPnodeAddHoleinfer(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPtreeBranchVarNary(), SCIPvarAdjustBd(), SCIPvarChgUbDive(), SCIPvarParseOriginal(), sepastoreApplyUb(), sepastoreIsBdchgApplicable(), and varUpdateAggregationBounds().
| void SCIPvarAdjustUbExact | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_RATIONAL * | ub ) |
adjust lower bound to integral value, if variable is integral
Definition at line 9978 of file var.c.
References adjustedUbExact(), assert(), NULL, SCIPrationalDebugMessage, SCIPvarIsIntegral(), and var.
Referenced by SCIPchgVarUbExact(), SCIPinferVarUbConsExact(), SCIPnodeAddBoundinferExact(), SCIPtightenVarUbExact(), SCIPvarParseOriginal(), SCIPvarParseTransformed(), and varUpdateAggregationBoundsExact().
adjust lower bound to integral value, if variable is integral
Definition at line 9995 of file var.c.
References adjustedUbExactFloat(), assert(), NULL, SCIP_Real, SCIPsetDebugMsg, SCIPvarIsIntegral(), and var.
Referenced by SCIPadjustedVarUbExactFloat(), and tightenVarUbGlobalSafe().
| void SCIPvarAdjustBd | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_BOUNDTYPE | boundtype, | ||
| SCIP_Real * | bd ) |
adjust lower or upper bound to integral value, if variable is integral
| var | problem variable |
| set | global SCIP settings |
| boundtype | type of bound to adjust |
| bd | pointer to bound to adjust |
Definition at line 10012 of file var.c.
References assert(), SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_Real, SCIPvarAdjustLb(), SCIPvarAdjustUb(), and var.
Referenced by SCIPvarAddImplic(), tightenSingleVar(), and treeAddPendingBdchg().
| SCIP_RETCODE SCIPvarChgLbOriginal | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_Real | newbound ) |
changes lower bound of original variable in original problem
Definition at line 10028 of file var.c.
References adjustedLb(), assert(), SCIP_Negate::constant, SCIP_Var::data, i, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsLE(), SCIPsetIsZero(), SCIPvarChgUbOriginal(), SCIPvarGetStatus(), SCIPvarGetUbOriginal(), SCIPvarIsIntegral(), SCIPvarIsTransformed(), and var.
Referenced by SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), and SCIPvarChgUbOriginal().
| SCIP_RETCODE SCIPvarChgLbOriginalExact | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_RATIONAL * | newbound ) |
changes exact lower bound of original variable in original problem
Definition at line 10087 of file var.c.
References adjustedLbExact(), assert(), SCIP_Negate::constant, SCIP_Var::data, i, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_CALL, SCIP_OKAY, SCIP_R_ROUND_DOWNWARDS, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiff(), SCIPrationalFreeBuffer(), SCIPrationalIsEQ(), SCIPrationalIsLE(), SCIPrationalRoundReal(), SCIPrationalSetRational(), SCIPrationalSetReal(), SCIPsetGetStage(), SCIPvarChgUbOriginalExact(), SCIPvarGetStatus(), SCIPvarGetStatusExact(), SCIPvarGetUbOriginalExact(), SCIPvarIsIntegral(), SCIPvarIsTransformed(), and var.
Referenced by SCIPchgVarLbExact(), SCIPinferVarLbConsExact(), SCIPtightenVarLbExact(), SCIPvarChgUbOriginalExact(), and tightenVarLbGlobalSafe().
| SCIP_RETCODE SCIPvarChgUbOriginal | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_Real | newbound ) |
changes upper bound of original variable in original problem
Definition at line 10161 of file var.c.
References adjustedUb(), assert(), SCIP_Negate::constant, SCIP_Var::data, i, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsGE(), SCIPsetIsZero(), SCIPvarChgLbOriginal(), SCIPvarGetLbOriginal(), SCIPvarGetStatus(), SCIPvarIsIntegral(), SCIPvarIsTransformed(), and var.
Referenced by SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), and SCIPvarChgLbOriginal().
| SCIP_RETCODE SCIPvarChgUbOriginalExact | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_RATIONAL * | newbound ) |
changes exact upper bound of original variable in original problem
Definition at line 10220 of file var.c.
References adjustedUbExact(), assert(), SCIP_Negate::constant, SCIP_Var::data, i, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_CALL, SCIP_OKAY, SCIP_R_ROUND_UPWARDS, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiff(), SCIPrationalFreeBuffer(), SCIPrationalIsEQ(), SCIPrationalIsGE(), SCIPrationalRoundReal(), SCIPrationalSetRational(), SCIPrationalSetReal(), SCIPsetGetStage(), SCIPvarChgLbOriginalExact(), SCIPvarGetLbOriginalExact(), SCIPvarGetStatus(), SCIPvarGetStatusExact(), SCIPvarIsIntegral(), SCIPvarIsTransformed(), and var.
Referenced by SCIPchgVarUbExact(), SCIPinferVarUbConsExact(), SCIPtightenVarUbExact(), SCIPvarChgLbOriginalExact(), and tightenVarUbGlobalSafe().
| SCIP_RETCODE SCIPvarChgLbGlobal | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_LP * | lp, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_Real | newbound ) |
changes global lower bound of variable; if possible, adjusts bound to integral value; updates local lower bound if the global bound is tighter
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| lp | current LP data, may be NULL for original variables |
| branchcand | branching candidate storage, may be NULL for original variables |
| eventqueue | event queue, may be NULL for original variables |
| cliquetable | clique table data structure |
| newbound | new bound for variable |
Definition at line 11178 of file var.c.
References adjustedLb(), assert(), MIN, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLE(), SCIPsetIsInfinity(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarGetLbLocal(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIPvarIsIntegral(), var, and varProcessChgLbGlobal().
Referenced by applyImplic(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPreoptInstallBounds(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgBdGlobal(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarFix(), SCIPvarFixBinary(), SCIPvarResetBounds(), varAddImplic(), and varUpdateAggregationBounds().
| SCIP_RETCODE SCIPvarChgUbGlobal | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_LP * | lp, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_Real | newbound ) |
changes global upper bound of variable; if possible, adjusts bound to integral value; updates local upper bound if the global bound is tighter
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| lp | current LP data, may be NULL for original variables |
| branchcand | branching candidate storage, may be NULL for original variables |
| eventqueue | event queue, may be NULL for original variables |
| cliquetable | clique table data structure |
| newbound | new bound for variable |
Definition at line 11475 of file var.c.
References adjustedUb(), assert(), MAX, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGE(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLT(), SCIPsetIsInfinity(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarGetLbLocal(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIPvarIsIntegral(), var, and varProcessChgUbGlobal().
Referenced by applyImplic(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPreoptInstallBounds(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgBdGlobal(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarFix(), SCIPvarFixBinary(), SCIPvarResetBounds(), varAddImplic(), and varUpdateAggregationBounds().
| SCIP_RETCODE SCIPvarChgBdGlobal | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_LP * | lp, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_Real | newbound, | ||
| SCIP_BOUNDTYPE | boundtype ) |
changes global bound of variable; if possible, adjusts bound to integral value; updates local bound if the global bound is tighter
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| lp | current LP data, may be NULL for original variables |
| branchcand | branching candidate storage, may be NULL for original variables |
| eventqueue | event queue, may be NULL for original variables |
| cliquetable | clique table data structure |
| newbound | new bound for variable |
| boundtype | type of bound: lower or upper bound |
Definition at line 11819 of file var.c.
References SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_INVALIDDATA, SCIP_Real, SCIPerrorMessage, SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), and var.
Referenced by boundchgApplyGlobal(), and SCIPnodeAddBoundinfer().
| SCIP_RETCODE SCIPvarChgBdGlobalExact | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_LPEXACT * | lpexact, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_RATIONAL * | newbound, | ||
| SCIP_BOUNDTYPE | boundtype ) |
changes exact global bound of variable; if possible, adjusts bound to integral value; updates local bound if the global bound is tighter
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| lpexact | current LP data, may be NULL for original variables |
| branchcand | branching candidate storage, may be NULL for original variables |
| eventqueue | event queue, may be NULL for original variables |
| cliquetable | clique table data structure |
| newbound | new bound for variable |
| boundtype | type of bound: lower or upper bound |
Definition at line 11848 of file var.c.
References SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_INVALIDDATA, SCIPerrorMessage, SCIPvarChgLbGlobalExact(), SCIPvarChgUbGlobalExact(), and var.
Referenced by SCIPnodeAddBoundinfer(), and SCIPnodeAddBoundinferExact().
| SCIP_RETCODE SCIPvarChgLbLocal | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_LP * | lp, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_Real | newbound ) |
changes current local lower bound of variable; if possible, adjusts bound to integral value; stores inference information in variable
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| lp | current LP data, may be NULL for original variables |
| branchcand | branching candidate storage, may be NULL for original variables |
| eventqueue | event queue, may be NULL for original variables |
| newbound | new bound for variable |
Definition at line 12715 of file var.c.
References adjustedLb(), assert(), MIN, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPcertificateGetLastBoundIndex(), SCIPerrorMessage, SCIPgetCertificate(), SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasIntegral(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPshouldCertificateTrackBounds(), SCIPvarChgLbLocal(), SCIPvarChgUbLocal(), SCIPvarGetStatus(), SCIPvarIsIntegral(), SCIPvarSetLbCertificateIndexLocal(), var, and varProcessChgLbLocal().
Referenced by SCIPboundchgApply(), SCIPboundchgUndo(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPpricestoreAddBdviolvar(), SCIPpricestoreResetBounds(), SCIPreoptInstallBounds(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPvarChgBdLocal(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), and SCIPvarResetBounds().
| SCIP_RETCODE SCIPvarChgLbLocalExact | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_LPEXACT * | lpexact, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_RATIONAL * | newbound ) |
changes current exact local lower bound of variable; if possible, adjusts bound to integral value; stores inference information in variable
changes current local lower bound of variable; if possible, adjusts bound to integral value; stores inference information in variable
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| lpexact | current exact LP data, may be NULL for original variables |
| branchcand | branching candidate storage, may be NULL for original variables |
| eventqueue | event queue, may be NULL for original variables |
| newbound | new bound for variable |
Definition at line 12845 of file var.c.
References adjustedLbExact(), assert(), NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPcertificateGetLastBoundIndex(), SCIPerrorMessage, SCIPgetCertificate(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiff(), SCIPrationalDiffReal(), SCIPrationalDiv(), SCIPrationalFreeBuffer(), SCIPrationalIsGT(), SCIPrationalIsInfinity(), SCIPrationalIsIntegral(), SCIPrationalIsNegative(), SCIPrationalIsNegInfinity(), SCIPrationalIsPositive(), SCIPrationalMin(), SCIPrationalNegate(), SCIPrationalSetRational(), SCIPsetGetStage(), SCIPshouldCertificateTrackBounds(), SCIPvarChgLbLocalExact(), SCIPvarChgUbLocalExact(), SCIPvarGetStatusExact(), SCIPvarIsIntegral(), SCIPvarSetLbCertificateIndexLocal(), var, and varProcessChgLbLocalExact().
Referenced by boundchgApplyExact(), SCIPboundchgUndo(), SCIPchgVarLbExact(), SCIPinferVarLbConsExact(), SCIPtightenVarLbExact(), SCIPvarChgLbGlobalExact(), SCIPvarChgLbLocalExact(), SCIPvarChgUbLocalExact(), SCIPvarResetBounds(), and tightenVarLbGlobalSafe().
| SCIP_RETCODE SCIPvarChgUbLocal | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_LP * | lp, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_Real | newbound ) |
changes current local upper bound of variable; if possible, adjusts bound to integral value; stores inference information in variable
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| lp | current LP data, may be NULL for original variables |
| branchcand | branching candidate storage, may be NULL for original variables |
| eventqueue | event queue, may be NULL for original variables |
| newbound | new bound for variable |
Definition at line 12983 of file var.c.
References adjustedUb(), assert(), MAX, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPcertificateGetLastBoundIndex(), SCIPerrorMessage, SCIPgetCertificate(), SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLT(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPshouldCertificateTrackBounds(), SCIPvarChgLbLocal(), SCIPvarChgUbLocal(), SCIPvarGetStatus(), SCIPvarIsIntegral(), SCIPvarSetUbCertificateIndexLocal(), var, and varProcessChgUbLocal().
Referenced by SCIPboundchgApply(), SCIPboundchgUndo(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPpricestoreAddBdviolvar(), SCIPpricestoreResetBounds(), SCIPreoptInstallBounds(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPvarChgBdLocal(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), and SCIPvarResetBounds().
| SCIP_RETCODE SCIPvarChgUbLocalExact | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_LPEXACT * | lpexact, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_RATIONAL * | newbound ) |
changes current exact upper lower bound of variable; if possible, adjusts bound to integral value; stores inference information in variable
changes current exact local upper bound of variable; if possible, adjusts bound to integral value; stores inference information in variable
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| lpexact | current exact LP data, may be NULL for original variables |
| branchcand | branching candidate storage, may be NULL for original variables |
| eventqueue | event queue, may be NULL for original variables |
| newbound | new bound for variable |
Definition at line 13112 of file var.c.
References adjustedUbExact(), assert(), NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPcertificateGetLastBoundIndex(), SCIPerrorMessage, SCIPgetCertificate(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiff(), SCIPrationalDiffReal(), SCIPrationalDiv(), SCIPrationalFreeBuffer(), SCIPrationalIsInfinity(), SCIPrationalIsIntegral(), SCIPrationalIsLT(), SCIPrationalIsNegative(), SCIPrationalIsNegInfinity(), SCIPrationalIsPositive(), SCIPrationalMax(), SCIPrationalNegate(), SCIPrationalSetRational(), SCIPsetGetStage(), SCIPshouldCertificateTrackBounds(), SCIPvarChgLbLocalExact(), SCIPvarChgUbLocalExact(), SCIPvarGetStatusExact(), SCIPvarIsIntegral(), SCIPvarSetUbCertificateIndexLocal(), var, and varProcessChgUbLocalExact().
Referenced by boundchgApplyExact(), SCIPboundchgUndo(), SCIPchgVarUbExact(), SCIPinferVarUbConsExact(), SCIPtightenVarUbExact(), SCIPvarChgLbLocalExact(), SCIPvarChgUbGlobalExact(), SCIPvarChgUbLocalExact(), SCIPvarResetBounds(), and tightenVarUbGlobalSafe().
| SCIP_RETCODE SCIPvarChgBdLocal | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_LP * | lp, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_Real | newbound, | ||
| SCIP_BOUNDTYPE | boundtype ) |
changes current local bound of variable; if possible, adjusts bound to integral value; stores inference information in variable
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| lp | current LP data, may be NULL for original variables |
| branchcand | branching candidate storage, may be NULL for original variables |
| eventqueue | event queue, may be NULL for original variables |
| newbound | new bound for variable |
| boundtype | type of bound: lower or upper bound |
Definition at line 13249 of file var.c.
References SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_INVALIDDATA, SCIP_Real, SCIPerrorMessage, SCIPvarChgLbLocal(), SCIPvarChgUbLocal(), and var.
| SCIP_RETCODE SCIPvarChgLbLazy | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_Real | lazylb ) |
changes lazy lower bound of the variable, this is only possible if the variable is not in the LP yet
Definition at line 11771 of file var.c.
References assert(), NULL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPsetIsFeasGE(), SCIPvarGetStatus(), and var.
Referenced by SCIPchgVarLbLazy().
| SCIP_RETCODE SCIPvarChgUbLazy | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_Real | lazyub ) |
changes lazy upper bound of the variable, this is only possible if the variable is not in the LP yet
Definition at line 11794 of file var.c.
References assert(), NULL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPsetIsFeasGE(), SCIPvarGetStatus(), and var.
Referenced by SCIPchgVarUbLazy().
| SCIP_RETCODE SCIPvarChgLbDive | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_LP * | lp, | ||
| SCIP_Real | newbound ) |
changes lower bound of variable in current dive; if possible, adjusts bound to integral value
| var | problem variable to change |
| set | global SCIP settings |
| lp | current LP data |
| newbound | new bound for variable |
Definition at line 13275 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPcolChgLb(), SCIPerrorMessage, SCIPlpDiving(), SCIPsetDebugMsg, SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPvarAdjustLb(), SCIPvarChgLbDive(), SCIPvarChgUbDive(), SCIPvarGetStatus(), and var.
Referenced by SCIPchgVarLbDive(), SCIPvarChgLbDive(), and SCIPvarChgUbDive().
| SCIP_RETCODE SCIPvarChgLbExactDive | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_LPEXACT * | lpexact, | ||
| SCIP_RATIONAL * | newbound ) |
changes lower bound of variable in current exact dive
| var | problem variable to change |
| set | global SCIP settings |
| lpexact | current exact LP data |
| newbound | new bound for variable |
Definition at line 13365 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPcolExactChgLb(), SCIPerrorMessage, SCIPlpExactDiving(), SCIPrationalDebugMessage, SCIPvarChgLbExactDive(), SCIPvarGetStatusExact(), and var.
Referenced by SCIPchgVarLbExactDive(), and SCIPvarChgLbExactDive().
| SCIP_RETCODE SCIPvarChgUbDive | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_LP * | lp, | ||
| SCIP_Real | newbound ) |
changes upper bound of variable in current dive; if possible, adjusts bound to integral value
| var | problem variable to change |
| set | global SCIP settings |
| lp | current LP data |
| newbound | new bound for variable |
Definition at line 13422 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPcolChgUb(), SCIPerrorMessage, SCIPlpDiving(), SCIPsetDebugMsg, SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPvarAdjustUb(), SCIPvarChgLbDive(), SCIPvarChgUbDive(), SCIPvarGetStatus(), and var.
Referenced by SCIPchgVarUbDive(), SCIPvarChgLbDive(), and SCIPvarChgUbDive().
| SCIP_RETCODE SCIPvarChgUbExactDive | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_LPEXACT * | lpexact, | ||
| SCIP_RATIONAL * | newbound ) |
changes upper bound of variable in current exact dive
| var | problem variable to change |
| set | global SCIP settings |
| lpexact | current exact LP data |
| newbound | new bound for variable |
Definition at line 13512 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPcolExactChgUb(), SCIPerrorMessage, SCIPlpExactDiving(), SCIPrationalDebugMessage, SCIPvarChgUbExactDive(), SCIPvarGetStatusExact(), and var.
Referenced by SCIPchgVarUbExactDive(), and SCIPvarChgUbExactDive().
for a multi-aggregated variable, gives the local lower bound computed by adding the local bounds from all aggregation variables this lower bound may be tighter than the one given by SCIPvarGetLbLocal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable is not allowed
for a multi-aggregated variable, gives the local lower bound computed by adding the local bounds from all aggregation variables, this lower bound may be tighter than the one given by SCIPvarGetLbLocal, since the latter is not updated if bounds of aggregation variables are changing
calling this function for a non-multi-aggregated variable is not allowed
Definition at line 13574 of file var.c.
References assert(), FALSE, i, MAX, NULL, SCIP_Bool, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPvarGetLbLocal(), SCIPvarGetMultaggrLbLocal(), SCIPvarGetMultaggrUbLocal(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), TRUE, and var.
Referenced by SCIPbranchcandAddExternCand(), SCIPcomputeVarLbLocal(), SCIPgetVarMultaggrLbLocal(), SCIPvarGetMultaggrLbLocal(), and SCIPvarGetMultaggrUbLocal().
| SCIP_RETCODE SCIPvarGetMultaggrLbLocalExact | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_RATIONAL * | result ) |
for a multi-aggregated variable, gives the exact local lower bound computed by adding the local bounds from all aggregation variables this lower bound may be tighter than the one given by SCIPvarGetLbLocal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable is not allowed
Definition at line 13638 of file var.c.
References assert(), FALSE, i, NULL, result, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_MULTAGGR, SCIPrationalAddProd(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalIsInfinity(), SCIPrationalIsNegInfinity(), SCIPrationalIsPositive(), SCIPrationalMax(), SCIPrationalSetInfinity(), SCIPrationalSetRational(), SCIPvarGetLbLocalExact(), SCIPvarGetMultaggrLbLocalExact(), SCIPvarGetMultaggrUbLocalExact(), SCIPvarGetStatusExact(), SCIPvarGetUbLocalExact(), TRUE, and var.
Referenced by SCIPcomputeVarLbLocalExact(), SCIPvarGetMultaggrLbLocalExact(), and SCIPvarGetMultaggrUbLocalExact().
for a multi-aggregated variable, gives the local upper bound computed by adding the local bounds from all aggregation variables this upper bound may be tighter than the one given by SCIPvarGetUbLocal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable is not allowed
for a multi-aggregated variable, gives the local upper bound computed by adding the local bounds from all aggregation variables, this upper bound may be tighter than the one given by SCIPvarGetUbLocal, since the latter is not updated if bounds of aggregation variables are changing
calling this function for a non-multi-aggregated variable is not allowed
Definition at line 13722 of file var.c.
References assert(), FALSE, i, MIN, NULL, SCIP_Bool, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPvarGetLbLocal(), SCIPvarGetMultaggrLbLocal(), SCIPvarGetMultaggrUbLocal(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), TRUE, and var.
Referenced by SCIPbranchcandAddExternCand(), SCIPcomputeVarUbLocal(), SCIPgetVarMultaggrUbLocal(), SCIPvarGetMultaggrLbLocal(), and SCIPvarGetMultaggrUbLocal().
| SCIP_RETCODE SCIPvarGetMultaggrUbLocalExact | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_RATIONAL * | result ) |
for a multi-aggregated variable, gives the exact local upper bound computed by adding the local bounds from all aggregation variables this lower bound may be tighter than the one given by SCIPvarGetUbLocal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable is not allowed
for a multi-aggregated variable, gives the exact local upper bound computed by adding the local bounds from all aggregation variables this upper bound may be tighter than the one given by SCIPvarGetLbLocal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable is not allowed
Definition at line 13786 of file var.c.
References assert(), FALSE, i, NULL, result, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_MULTAGGR, SCIPrationalAddProd(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalIsInfinity(), SCIPrationalIsNegInfinity(), SCIPrationalIsPositive(), SCIPrationalMin(), SCIPrationalSetNegInfinity(), SCIPrationalSetRational(), SCIPvarGetLbLocalExact(), SCIPvarGetMultaggrLbLocalExact(), SCIPvarGetMultaggrUbLocalExact(), SCIPvarGetStatusExact(), SCIPvarGetUbLocalExact(), TRUE, and var.
Referenced by SCIPcomputeVarUbLocalExact(), SCIPvarGetMultaggrLbLocalExact(), and SCIPvarGetMultaggrUbLocalExact().
for a multi-aggregated variable, gives the global lower bound computed by adding the global bounds from all aggregation variables this global bound may be tighter than the one given by SCIPvarGetLbGlobal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable is not allowed
for a multi-aggregated variable, gives the global lower bound computed by adding the global bounds from all aggregation variables, this global bound may be tighter than the one given by SCIPvarGetLbGlobal, since the latter is not updated if bounds of aggregation variables are changing
calling this function for a non-multi-aggregated variable is not allowed
Definition at line 13870 of file var.c.
References assert(), FALSE, i, MAX, NULL, SCIP_Bool, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPvarGetLbGlobal(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetMultaggrUbGlobal(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), TRUE, and var.
Referenced by SCIPcomputeVarLbGlobal(), SCIPgetVarMultaggrLbGlobal(), SCIPvarGetMultaggrLbGlobal(), and SCIPvarGetMultaggrUbGlobal().
for a multi-aggregated variable, gives the global upper bound computed by adding the global bounds from all aggregation variables this upper bound may be tighter than the one given by SCIPvarGetUbGlobal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable is not allowed
for a multi-aggregated variable, gives the global upper bound computed by adding the global bounds from all aggregation variables, this upper bound may be tighter than the one given by SCIPvarGetUbGlobal, since the latter is not updated if bounds of aggregation variables are changing
calling this function for a non-multi-aggregated variable is not allowed
Definition at line 13936 of file var.c.
References assert(), FALSE, i, MIN, NULL, SCIP_Bool, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPvarGetLbGlobal(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetMultaggrUbGlobal(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), TRUE, and var.
Referenced by SCIPcomputeVarUbGlobal(), SCIPgetVarMultaggrUbGlobal(), SCIPvarGetMultaggrLbGlobal(), and SCIPvarGetMultaggrUbGlobal().
| SCIP_RETCODE SCIPvarAddHoleOriginal | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_Real | left, | ||
| SCIP_Real | right ) |
adds a hole to the original domain of the variable
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| left | left bound of open interval in new hole |
| right | right bound of open interval in new hole |
Definition at line 13997 of file var.c.
References adjustedLb(), adjustedUb(), assert(), domAddHole(), domMerge(), NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsGE(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPvarGetLbOriginal(), SCIPvarGetStatus(), SCIPvarGetUbOriginal(), SCIPvarIsIntegral(), SCIPvarIsTransformed(), and var.
| SCIP_RETCODE SCIPvarAddHoleGlobal | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_Real | left, | ||
| SCIP_Real | right, | ||
| SCIP_Bool * | added ) |
adds a hole to the variable's global domain
adds a hole to the variable's global and local domain
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| eventqueue | event queue, may be NULL for original variables |
| left | left bound of open interval in new hole |
| right | right bound of open interval in new hole |
| added | pointer to store whether the hole was added |
Definition at line 14178 of file var.c.
References adjustedLb(), adjustedUb(), assert(), NULL, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsGE(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPvarAddHoleGlobal(), SCIPvarAddHoleLocal(), SCIPvarGetLbGlobal(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), SCIPvarIsIntegral(), var, and varProcessAddHoleGlobal().
Referenced by SCIPnodeAddHoleinfer(), and SCIPvarAddHoleGlobal().
| SCIP_RETCODE SCIPvarAddHoleLocal | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_Real | left, | ||
| SCIP_Real | right, | ||
| SCIP_Bool * | added ) |
adds a hole to the variable's current local domain
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| eventqueue | event queue, may be NULL for original variables |
| left | left bound of open interval in new hole |
| right | right bound of open interval in new hole |
| added | pointer to store whether the hole was added |
Definition at line 14425 of file var.c.
References adjustedLb(), adjustedUb(), assert(), NULL, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsGE(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPstatIncrement, SCIPvarAddHoleLocal(), SCIPvarGetLbLocal(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIPvarIsIntegral(), var, and varProcessAddHoleLocal().
Referenced by SCIPvarAddHoleGlobal(), and SCIPvarAddHoleLocal().
| SCIP_RETCODE SCIPvarResetBounds | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat ) |
resets the global and local bounds of original variable to their original values
Definition at line 14534 of file var.c.
References assert(), holelistDuplicate(), holelistFree(), NULL, SCIP_CALL, SCIP_OKAY, SCIPvarChgLbGlobal(), SCIPvarChgLbGlobalExact(), SCIPvarChgLbLocal(), SCIPvarChgLbLocalExact(), SCIPvarChgUbGlobal(), SCIPvarChgUbGlobalExact(), SCIPvarChgUbLocal(), SCIPvarChgUbLocalExact(), SCIPvarGetTransVar(), SCIPvarIsOriginal(), and var.
Referenced by SCIPprobResetBounds().
| int SCIPvarGetConflictingBdchgDepth | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_BOUNDTYPE | boundtype, | ||
| SCIP_Real | bound ) |
returns at which depth in the tree a bound change was applied to the variable that conflicts with the given bound; returns -1 if the bound does not conflict with the current local bounds of the variable
| var | problem variable |
| set | global SCIP settings |
| boundtype | bound type of the conflicting bound |
| bound | conflicting bound |
Definition at line 22816 of file var.c.
References assert(), bound, i, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_Real, SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsLE(), SCIPsetIsLT(), and var.
Referenced by SCIPnodeAddBoundinfer(), SCIPnodeAddBoundinferExact(), and treeApplyPendingBdchgs().
| SCIP_RETCODE SCIPvarAddVlb | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_VAR * | vlbvar, | ||
| SCIP_Real | vlbcoef, | ||
| SCIP_Real | vlbconstant, | ||
| SCIP_Bool | transitive, | ||
| SCIP_Bool * | infeasible, | ||
| int * | nbdchgs ) |
informs variable x about a globally valid variable lower bound x >= b*z + d with integer variable z; if z is binary, the corresponding valid implication for z is also added; improves the global bounds of the variable and the vlb variable if possible
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| transprob | transformed problem |
| origprob | original problem |
| tree | branch and bound tree if in solving stage |
| reopt | reoptimization data structure |
| lp | current LP data |
| cliquetable | clique table data structure |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| eventfilter | global event filter |
| vlbvar | variable z in x >= b*z + d |
| vlbcoef | coefficient b in x >= b*z + d |
| vlbconstant | constant d in x >= b*z + d |
| transitive | should transitive closure of implication also be added? |
| infeasible | pointer to store whether an infeasibility was detected |
| nbdchgs | pointer to store the number of performed bound changes, or NULL |
Definition at line 15316 of file var.c.
References adjustedLb(), adjustedUb(), assert(), FALSE, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_SOLVING, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIP_VARTYPE_BINARY, SCIPerrorMessage, SCIPnodeAddBoundchg(), SCIPprobIsTransformed(), SCIPsetCeil(), SCIPsetDebugMsg, SCIPsetFloor(), SCIPsetGetStage(), SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsetIsFeasPositive(), SCIPsetIsGT(), SCIPsetIsInfinity(), SCIPsetIsLT(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetIsZero(), SCIPtreeGetRootNode(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsImpliedIntegral(), SCIPvarIsIntegral(), TRUE, var, varAddTransitiveImplic(), and varAddVbound().
Referenced by SCIPaddVarImplication(), SCIPaddVarVlb(), SCIPaddVarVub(), SCIPvarAddImplic(), SCIPvarAddVlb(), SCIPvarAddVub(), and SCIPvarAggregate().
| SCIP_RETCODE SCIPvarAddVub | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_VAR * | vubvar, | ||
| SCIP_Real | vubcoef, | ||
| SCIP_Real | vubconstant, | ||
| SCIP_Bool | transitive, | ||
| SCIP_Bool * | infeasible, | ||
| int * | nbdchgs ) |
informs variable x about a globally valid variable upper bound x <= b*z + d with integer variable z; if z is binary, the corresponding valid implication for z is also added; updates the global bounds of the variable and the vub variable correspondingly
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| transprob | transformed problem |
| origprob | original problem |
| tree | branch and bound tree if in solving stage |
| reopt | reoptimization data structure |
| lp | current LP data |
| cliquetable | clique table data structure |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| eventfilter | global event filter |
| vubvar | variable z in x <= b*z + d |
| vubcoef | coefficient b in x <= b*z + d |
| vubconstant | constant d in x <= b*z + d |
| transitive | should transitive closure of implication also be added? |
| infeasible | pointer to store whether an infeasibility was detected |
| nbdchgs | pointer to store the number of performed bound changes, or NULL |
Definition at line 15783 of file var.c.
References adjustedLb(), adjustedUb(), assert(), FALSE, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_SOLVING, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIP_VARTYPE_BINARY, SCIPerrorMessage, SCIPnodeAddBoundchg(), SCIPprobIsTransformed(), SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsetIsFeasNegative(), SCIPsetIsGT(), SCIPsetIsInfinity(), SCIPsetIsLT(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetIsZero(), SCIPtreeGetRootNode(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsBinary(), SCIPvarIsImpliedIntegral(), SCIPvarIsIntegral(), TRUE, var, varAddTransitiveImplic(), and varAddVbound().
Referenced by SCIPaddVarImplication(), SCIPaddVarVlb(), SCIPaddVarVub(), SCIPvarAddImplic(), SCIPvarAddVlb(), SCIPvarAddVub(), and SCIPvarAggregate().
| SCIP_RETCODE SCIPvarAddImplic | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_Bool | varfixing, | ||
| SCIP_VAR * | implvar, | ||
| SCIP_BOUNDTYPE | impltype, | ||
| SCIP_Real | implbound, | ||
| SCIP_Bool | transitive, | ||
| SCIP_Bool * | infeasible, | ||
| int * | nbdchgs ) |
informs binary variable x about a globally valid implication: x == 0 or x == 1 ==> y <= b or y >= b; also adds the corresponding implication or variable bound to the implied variable; if the implication is conflicting, the variable is fixed to the opposite value; if the variable is already fixed to the given value, the implication is performed immediately; if the implication is redundant with respect to the variables' global bounds, it is ignored
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| transprob | transformed problem |
| origprob | original problem |
| tree | branch and bound tree if in solving stage |
| reopt | reoptimization data structure |
| lp | current LP data |
| cliquetable | clique table data structure |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| eventfilter | global event filter |
| varfixing | FALSE if y should be added in implications for x == 0, TRUE for x == 1 |
| implvar | variable y in implication y <= b or y >= b |
| impltype | type of implication y <= b (SCIP_BOUNDTYPE_UPPER) or y >= b (SCIP_BOUNDTYPE_LOWER) |
| implbound | bound b in implication y <= b or y >= b |
| transitive | should transitive closure of implication also be added? |
| infeasible | pointer to store whether an infeasibility was detected |
| nbdchgs | pointer to store the number of performed bound changes, or NULL |
Definition at line 16241 of file var.c.
References applyImplic(), assert(), FALSE, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIP_VARTYPE_BINARY, SCIPerrorMessage, SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarAddImplic(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarAdjustBd(), SCIPvarGetLbGlobal(), SCIPvarGetProbvarBound(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsBinary(), SCIPvarIsImpliedIntegral(), TRUE, var, and varAddTransitiveImplic().
Referenced by SCIPaddVarImplication(), SCIPvarAddImplic(), and SCIPvarAggregate().
| SCIP_RETCODE SCIPvarFixBinary | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_Bool | value, | ||
| SCIP_Bool * | infeasible, | ||
| int * | nbdchgs ) |
fixes the bounds of a binary variable to the given value, counting bound changes and detecting infeasibility
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| transprob | transformed problem |
| origprob | original problem |
| tree | branch and bound tree if in solving stage |
| reopt | reoptimization data structure |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| eventfilter | global event filter |
| cliquetable | clique table data structure |
| value | value to fix variable to |
| infeasible | pointer to store whether an infeasibility was detected |
| nbdchgs | pointer to count the number of performed bound changes, or NULL |
Definition at line 16512 of file var.c.
References assert(), FALSE, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPnodeAddBoundchg(), SCIPprobIsTransformed(), SCIPsetGetStage(), SCIPtreeGetRootNode(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), TRUE, and var.
Referenced by cliqueCleanup(), SCIPcliquetableAdd(), SCIPvarAddClique(), and sortAndMergeClique().
| SCIP_RETCODE SCIPvarAddClique | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_Bool | value, | ||
| SCIP_CLIQUE * | clique, | ||
| SCIP_Bool * | infeasible, | ||
| int * | nbdchgs ) |
adds the variable to the given clique and updates the list of cliques the binary variable is member of; if the variable now appears twice in the clique with the same value, it is fixed to the opposite value; if the variable now appears twice in the clique with opposite values, all other variables are fixed to the opposite of the value they take in the clique
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| transprob | transformed problem |
| origprob | original problem |
| tree | branch and bound tree if in solving stage |
| reopt | reoptimization data structure |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| eventfilter | global event filter |
| cliquetable | clique table data structure |
| value | value of the variable in the clique |
| clique | clique the variable should be added to |
| infeasible | pointer to store whether an infeasibility was detected |
| nbdchgs | pointer to count the number of performed bound changes, or NULL |
Definition at line 16601 of file var.c.
References assert(), FALSE, i, NULL, nvars, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIPcliqueAddVar(), SCIPcliqueGetNVars(), SCIPcliqueGetValues(), SCIPcliqueGetVars(), SCIPcliquelistAdd(), SCIPcliquelistCheck(), SCIPvarFixBinary(), SCIPvarGetProbvarBinary(), SCIPvarGetStatus(), SCIPvarIsBinary(), var, and vars.
| SCIP_RETCODE SCIPvarsAddClique | ( | SCIP_VAR ** | vars, |
| SCIP_Bool * | values, | ||
| int | nvars, | ||
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_CLIQUE * | clique ) |
adds a filled clique to the cliquelists of all corresponding variables
| vars | problem variables |
| values | values of the variables in the clique |
| nvars | number of problem variables |
| blkmem | block memory |
| set | global SCIP settings |
| clique | clique that contains all given variables and values |
Definition at line 16687 of file var.c.
References assert(), NULL, nvars, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPcliquelistAdd(), SCIPcliquelistCheck(), SCIPvarGetStatus(), SCIPvarIsBinary(), var, and vars.
Referenced by SCIPcliquetableAdd().
| SCIP_RETCODE SCIPvarDelClique | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_Bool | value, | ||
| SCIP_CLIQUE * | clique ) |
deletes the variable from the given clique and updates the list of cliques the binary variable is member of
| var | problem variable |
| blkmem | block memory |
| cliquetable | clique table data structure |
| value | value of the variable in the clique |
| clique | clique the variable should be removed from |
Definition at line 16764 of file var.c.
References assert(), NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIPcliqueDelVar(), SCIPcliquelistCheck(), SCIPcliquelistDel(), SCIPvarGetProbvarBinary(), SCIPvarGetStatus(), SCIPvarIsBinary(), and var.
| SCIP_RETCODE SCIPvarAddCliqueToList | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_Bool | value, | ||
| SCIP_CLIQUE * | clique ) |
adds a clique to the list of cliques of the given binary variable, but does not change the clique itself
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| value | value of the variable in the clique |
| clique | clique that should be removed from the variable's clique list |
Definition at line 16725 of file var.c.
References assert(), NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPcliquelistAdd(), SCIPvarGetStatus(), SCIPvarIsBinary(), and var.
Referenced by cliqueCleanup().
| SCIP_RETCODE SCIPvarDelCliqueFromList | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_Bool | value, | ||
| SCIP_CLIQUE * | clique ) |
deletes a clique from the list of cliques the binary variable is member of, but does not change the clique itself
| var | problem variable |
| blkmem | block memory |
| value | value of the variable in the clique |
| clique | clique that should be removed from the variable's clique list |
Definition at line 16747 of file var.c.
References assert(), NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPcliquelistDel(), SCIPvarIsBinary(), and var.
Referenced by cliqueCleanup(), SCIPcliquetableCleanup(), and sortAndMergeClique().
| SCIP_RETCODE SCIPvarChgBranchFactor | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_Real | branchfactor ) |
sets the branch factor of the variable; this value can be used in the branching methods to scale the score values of the variables; higher factor leads to a higher probability that this variable is chosen for branching
| var | problem variable |
| set | global SCIP settings |
| branchfactor | factor to weigh variable's branching score with |
Definition at line 16892 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPdebugMessage, SCIPerrorMessage, SCIPsetIsEQ(), SCIPvarChgBranchFactor(), SCIPvarGetStatus(), var, and varProcessChgBranchFactor().
Referenced by SCIPaddVarBranchFactor(), SCIPchgVarBranchFactor(), SCIPscaleVarBranchFactor(), SCIPvarAggregate(), SCIPvarAggregateExact(), SCIPvarChgBranchFactor(), SCIPvarMultiaggregate(), and SCIPvarMultiaggregateExact().
| SCIP_RETCODE SCIPvarChgBranchPriority | ( | SCIP_VAR * | var, |
| int | branchpriority ) |
sets the branch priority of the variable; variables with higher branch priority are always preferred to variables with lower priority in selection of branching variable
| var | problem variable |
| branchpriority | branching priority of the variable |
Definition at line 17019 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPdebugMessage, SCIPerrorMessage, SCIPvarChgBranchPriority(), SCIPvarGetStatus(), var, and varProcessChgBranchPriority().
Referenced by SCIPaddVarBranchPriority(), SCIPbranchcandUpdateVarBranchPriority(), SCIPchgVarBranchPriority(), SCIPupdateVarBranchPriority(), SCIPvarAggregate(), SCIPvarAggregateExact(), SCIPvarChgBranchPriority(), SCIPvarMultiaggregate(), and SCIPvarMultiaggregateExact().
| SCIP_RETCODE SCIPvarChgBranchDirection | ( | SCIP_VAR * | var, |
| SCIP_BRANCHDIR | branchdirection ) |
sets the branch direction of the variable; variables with higher branch direction are always preferred to variables with lower direction in selection of branching variable
| var | problem variable |
| branchdirection | preferred branch direction of the variable (downwards, upwards, auto) |
Definition at line 17150 of file var.c.
References assert(), NULL, SCIP_BRANCHDIR_AUTO, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPdebugMessage, SCIPerrorMessage, SCIPvarChgBranchDirection(), SCIPvarGetStatus(), var, and varProcessChgBranchDirection().
Referenced by SCIPchgVarBranchDirection(), SCIPvarAggregate(), SCIPvarAggregateExact(), SCIPvarChgBranchDirection(), SCIPvarMultiaggregate(), and SCIPvarMultiaggregateExact().
gets objective value of variable in current SCIP_LP; the value can be different from the bound stored in the variable's own data due to diving, that operate only on the LP without updating the variables
gets objective value of variable in current SCIP_LP; the value can be different from the objective value stored in the variable's own data due to diving, that operate only on the LP without updating the variables
| var | problem variable |
Definition at line 18522 of file var.c.
References assert(), NULL, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPcolGetObj(), SCIPerrorMessage, SCIPvarGetObjLP(), SCIPvarGetStatus(), and var.
Referenced by SCIPgetVarObjDive(), SCIPgetVarObjProbing(), and SCIPvarGetObjLP().
gets lower bound of variable in current SCIP_LP; the bound can be different from the bound stored in the variable's own data due to diving or conflict analysis, that operate only on the LP without updating the variables
Definition at line 18568 of file var.c.
References assert(), NULL, SCIP_INVALID, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPcolGetLb(), SCIPerrorMessage, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPvarGetLbLP(), SCIPvarGetStatus(), SCIPvarGetUbLP(), and var.
Referenced by addBdchg(), addCand(), conflictAnalyzeLP(), SCIPconflictAnalyzeRemainingBdchgs(), SCIPgetVarLbDive(), SCIPvarGetLbLP(), and SCIPvarGetUbLP().
gets upper bound of variable in current SCIP_LP; the bound can be different from the bound stored in the variable's own data due to diving or conflict analysis, that operate only on the LP without updating the variables
Definition at line 18638 of file var.c.
References assert(), NULL, SCIP_INVALID, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPcolGetUb(), SCIPerrorMessage, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPvarGetLbLP(), SCIPvarGetStatus(), SCIPvarGetUbLP(), and var.
Referenced by addBdchg(), addCand(), conflictAnalyzeLP(), SCIPconflictAnalyzeRemainingBdchgs(), SCIPgetVarUbDive(), SCIPvarGetLbLP(), and SCIPvarGetUbLP().
| void SCIPvarGetClosestVlb | ( | SCIP_VAR * | var, |
| SCIP_SOL * | sol, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_Real * | closestvlb, | ||
| int * | closestvlbidx ) |
returns solution value and index of variable lower bound that is closest to the variable's value in the given primal solution or current LP solution if no primal solution is given; returns an index of -1 if no variable lower bound is available
| var | active problem variable |
| sol | primal solution, or NULL for LP solution |
| set | global SCIP settings |
| stat | problem statistics |
| closestvlb | pointer to store the value of the closest variable lower bound |
| closestvlbidx | pointer to store the index of the closest variable lower bound |
Definition at line 19888 of file var.c.
References assert(), i, SCIP_Stat::lpcount, NULL, SCIP_Real, SCIP_REAL_MIN, SCIPsolGetVal(), SCIPvarGetLPSol(), SCIPvarGetNVlbs(), SCIPvarGetVlbCoefs(), SCIPvarGetVlbConstants(), SCIPvarGetVlbVars(), SCIPvarIsActive(), sol, and var.
Referenced by SCIPgetVarClosestVlb().
| void SCIPvarGetClosestVub | ( | SCIP_VAR * | var, |
| SCIP_SOL * | sol, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_Real * | closestvub, | ||
| int * | closestvubidx ) |
returns solution value and index of variable upper bound that is closest to the variable's value in the given primal solution; or current LP solution if no primal solution is given; returns an index of -1 if no variable upper bound is available
| var | active problem variable |
| sol | primal solution, or NULL for LP solution |
| set | global SCIP settings |
| stat | problem statistics |
| closestvub | pointer to store the value of the closest variable upper bound |
| closestvubidx | pointer to store the index of the closest variable upper bound |
Definition at line 19963 of file var.c.
References assert(), i, SCIP_Stat::lpcount, NULL, SCIP_Real, SCIP_REAL_MAX, SCIPsolGetVal(), SCIPvarGetLPSol(), SCIPvarGetNVubs(), SCIPvarGetVubCoefs(), SCIPvarGetVubConstants(), SCIPvarGetVubVars(), SCIPvarIsActive(), sol, and var.
Referenced by SCIPgetVarClosestVub().
remembers the current solution as root solution in the problem variables
| var | problem variable |
| roothaslp | is the root solution from LP? |
Definition at line 19034 of file var.c.
References assert(), NULL, SCIP_Bool, SCIPvarGetSol(), and var.
Referenced by SCIPprobStoreRootSol().
| void SCIPvarUpdateBestRootSol | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_Real | rootsol, | ||
| SCIP_Real | rootredcost, | ||
| SCIP_Real | rootlpobjval ) |
updates the current solution as best root solution in the problem variables if it is better
updates the current solution as best root solution of the given variable if it is better
| var | problem variable |
| set | global SCIP settings |
| rootsol | root solution value |
| rootredcost | root reduced cost |
| rootlpobjval | objective value of the root LP |
Definition at line 19045 of file var.c.
References assert(), bound, NULL, rootsol, SCIP_Real, SCIPsetDebugMsg, SCIPsetIsDualfeasZero(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), and var.
Referenced by analyzeStrongbranch(), and SCIPprobUpdateBestRootSol().
returns the solution value of the problem variables in the relaxation solution
returns the solution value of the problem variable in the relaxation solution
Definition at line 19688 of file var.c.
References assert(), i, NULL, SCIP_INVALID, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetRelaxSol(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), and var.
Referenced by SCIPgetRelaxSolVal(), SCIPrelaxationUpdateVarObj(), SCIProwGetRelaxFeasibility(), SCIPtreeStoreRelaxSol(), and SCIPvarGetRelaxSol().
returns the solution value of the transformed problem variable in the relaxation solution
| var | problem variable |
Definition at line 19760 of file var.c.
References assert(), NULL, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPvarGetStatus(), and var.
Referenced by solGetArrayVal(), and solUnlinkVar().
| SCIP_Real SCIPvarGetImplRedcost | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_Bool | varfixing, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | prob, | ||
| SCIP_LP * | lp ) |
returns for the given binary variable the reduced cost which are given by the variable itself and its implication if the binary variable is fixed to the given value
| var | problem variable |
| set | global SCIP settings |
| varfixing | FALSE if for x == 0, TRUE for x == 1 |
| stat | problem statistics |
| prob | transformed problem, or NULL |
| lp | current LP data |
Definition at line 19233 of file var.c.
References assert(), c, getImplVarRedcost(), MAX_CLIQUELENGTH, NULL, nvars, primsol, SCIP_BASESTAT_LOWER, SCIP_BASESTAT_UPPER, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL_ABORT, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPcliqueGetNVars(), SCIPcliqueGetValues(), SCIPcliqueGetVars(), SCIPcliqueIsCleanedUp(), SCIPcolGetBasisStatus(), SCIPcolGetPrimsol(), SCIPcolGetRedcost(), SCIPimplicsGetBounds(), SCIPimplicsGetNImpls(), SCIPimplicsGetTypes(), SCIPimplicsGetVars(), SCIPlpIsSolBasic(), SCIPprobGetNContVars(), SCIPprobGetNVars(), SCIPprobGetVars(), SCIPprobIsTransformed(), SCIPsetAllocBufferArray, SCIPsetAllocCleanBufferArray, SCIPsetDebugMsg, SCIPsetFreeBufferArray, SCIPsetFreeCleanBufferArray, SCIPsetIsDualfeasNegative(), SCIPsetIsDualfeasPositive(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPvarGetCliques(), SCIPvarGetCol(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetNCliques(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIPvarIsActive(), SCIPvarIsBinary(), var, and vars.
Referenced by SCIPgetVarImplRedcost(), and SCIPprobUpdateBestRootSol().
| SCIP_RETCODE SCIPvarSetRelaxSol | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_RELAXATION * | relaxation, | ||
| SCIP_Real | solval, | ||
| SCIP_Bool | updateobj ) |
stores the solution value as relaxation solution in the problem variable
| var | problem variable |
| set | global SCIP settings |
| relaxation | global relaxation data |
| solval | solution value in the current relaxation solution |
| updateobj | should the objective value be updated? |
Definition at line 19627 of file var.c.
References assert(), NULL, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPrelaxationSolObjAdd(), SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarSetRelaxSol(), and var.
Referenced by SCIPclearRelaxSolVals(), SCIPsetRelaxSolVal(), SCIPsetRelaxSolVals(), SCIPsetRelaxSolValsSol(), SCIPtreeRestoreRelaxSol(), and SCIPvarSetRelaxSol().
| SCIP_RETCODE SCIPvarSetNLPSol | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_Real | solval ) |
stores the solution value as NLP solution in the problem variable
| var | problem variable |
| set | global SCIP settings |
| solval | solution value in the current NLP solution |
Definition at line 19771 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_ERROR, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarSetNLPSol(), and var.
Referenced by nlpAddVars(), nlpSolve(), and SCIPvarSetNLPSol().
| SCIP_RETCODE SCIPvarAddToRow | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_PROB * | prob, | ||
| SCIP_LP * | lp, | ||
| SCIP_ROW * | row, | ||
| SCIP_Real | val ) |
resolves variable to columns and adds them with the coefficient to the row
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| eventqueue | event queue |
| prob | problem data |
| lp | current LP data |
| row | LP row |
| val | value of coefficient |
Definition at line 20035 of file var.c.
References assert(), i, SCIP_Row::name, NULL, REALABS, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPrationalIsEQ(), SCIProwAddConstant(), SCIProwIncCoef(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPvarAddToRow(), SCIPvarColumn(), SCIPvarGetStatus(), and var.
Referenced by SCIPaddVarsToRow(), SCIPaddVarsToRowSameCoef(), SCIPaddVarToRow(), SCIProwExactGenerateFpRows(), and SCIPvarAddToRow().
| SCIP_RETCODE SCIPvarAddToRowExact | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_PROB * | prob, | ||
| SCIP_LPEXACT * | lpexact, | ||
| SCIP_ROWEXACT * | rowexact, | ||
| SCIP_RATIONAL * | val ) |
resolves variable to columns and adds them with the coefficient to the
resolves variable to exact columns and adds them with the coefficient to the exact Row
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| eventqueue | event queue |
| prob | problem data |
| lpexact | current LP data |
| rowexact | LP row |
| val | value of coefficient |
Definition at line 20135 of file var.c.
References assert(), SCIP_RowExact::fprow, i, SCIP_Row::name, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalFreeBuffer(), SCIPrationalIsAbsInfinity(), SCIPrationalIsEQ(), SCIPrationalIsZero(), SCIPrationalMult(), SCIPrationalMultReal(), SCIPrationalNegate(), SCIProwExactAddConstant(), SCIProwExactIncCoef(), SCIPvarAddToRowExact(), SCIPvarColumnExact(), SCIPvarGetStatusExact(), and var.
Referenced by SCIPaddVarsToRowExact(), SCIProwExactCreateFromRow(), and SCIPvarAddToRowExact().
merge two variable histories together; a typical use case is that othervar is an image of the target variable in a SCIP copy. Method should be applied with care, especially because no internal checks are performed whether the history merge is reasonable
| targetvar | the variable that should contain both histories afterwards |
| othervar | the variable whose history is to be merged with that of the target variable |
| stat | problem statistics |
Definition at line 6116 of file var.c.
References FALSE, SCIP_Stat::glbhistory, SCIP_Var::history, SCIP_Var::historycrun, and SCIPhistoryUnite().
Referenced by SCIPmergeVariableStatistics(), and SCIPvarCopy().
| void SCIPvarSetHistory | ( | SCIP_VAR * | var, |
| SCIP_HISTORY * | history, | ||
| SCIP_STAT * | stat ) |
sets the history of a variable; this method is typacally used within reoptimization to keep and update the variable history over several iteraions
sets the history of a variable; this method is typically used within reoptimization to keep and update the variable history over several iterations
| var | variable |
| history | the history which is to set |
| stat | problem statistics |
Definition at line 6132 of file var.c.
References FALSE, SCIP_Stat::glbhistory, SCIPhistoryUnite(), and var.
| SCIP_RETCODE SCIPvarUpdatePseudocost | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_Real | solvaldelta, | ||
| SCIP_Real | objdelta, | ||
| SCIP_Real | weight ) |
updates the pseudo costs of the given variable and the global pseudo costs after a change of "solvaldelta" in the variable's solution value and resulting change of "objdelta" in the LP's objective value
| var | problem variable |
| set | global SCIP settings |
| stat | problem statistics |
| solvaldelta | difference of variable's new LP value - old LP value |
| objdelta | difference of new LP's objective value - old LP's objective value |
| weight | weight in (0,1] of this update in pseudo cost sum |
Definition at line 20274 of file var.c.
References assert(), SCIP_Stat::collectvarhistory, SCIP_Stat::glbhistory, SCIP_Stat::glbhistorycrun, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPgetDepth(), SCIPgetFocusNode(), SCIPgetNLPIterations(), SCIPgetProbName(), SCIPhistoryUpdatePseudocost(), SCIPnodeGetNumber(), SCIPnodeGetParent(), SCIPsetIsZero(), SCIPstatUpdateVarRootLPBestEstimate(), SCIPvarGetMinPseudocostScore(), SCIPvarGetName(), SCIPvarGetRootSol(), SCIPvarGetStatus(), SCIPvarUpdatePseudocost(), and var.
Referenced by SCIPinitVarBranchStats(), SCIPupdateVarPseudocost(), SCIPvarUpdatePseudocost(), and updatePseudocost().
| SCIP_RETCODE SCIPvarUpdateAncPseudocost | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_Real | solvaldelta, | ||
| SCIP_Real | objdelta, | ||
| SCIP_Real | weight ) |
updates the ancestral pseudo costs of the given variable and the global ancestral pseudo costs after a change of "solvaldelta" in the variable's solution value and resulting change of "objdelta" in the LP's objective value
| var | problem variable |
| set | global SCIP settings |
| stat | problem statistics |
| solvaldelta | difference of variable's new LP value - old LP value |
| objdelta | difference of new LP's objective value - old LP's objective value |
| weight | weight in (0,1] of this update in discounted pseudo cost sum |
Definition at line 20374 of file var.c.
References assert(), SCIP_Stat::collectvarhistory, SCIP_Stat::glbhistory, SCIP_Stat::glbhistorycrun, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPhistoryUpdateAncPseudocost(), SCIPsetIsZero(), SCIPvarGetStatus(), SCIPvarUpdateAncPseudocost(), and var.
Referenced by SCIPupdateVarAncPseudocost(), SCIPvarUpdateAncPseudocost(), and updatePseudocost().
gets the variable's pseudo cost value for the given step size "solvaldelta" in the variable's LP solution value
| var | problem variable |
| stat | problem statistics |
| solvaldelta | difference of variable's new LP value - old LP value |
Definition at line 20437 of file var.c.
References assert(), SCIP_Stat::glbhistory, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPhistoryGetPseudocost(), SCIPhistoryGetPseudocostCount(), SCIPvarGetPseudocost(), SCIPvarGetStatus(), and var.
Referenced by SCIPcalcChildEstimateIncrease(), SCIPcollectBranchingStatistics(), SCIPgetVarDPseudocostScore(), SCIPgetVarPseudocost(), SCIPgetVarPseudocostScore(), SCIPgetVarPseudocostVal(), SCIPprintBranchingStatistics(), SCIPtreeCalcChildEstimate(), SCIPtreeCalcNodeselPriority(), SCIPvarGetMinPseudocostScore(), SCIPvarGetPseudocost(), SCIPvarPscostThresholdProbabilityTest(), SCIPvarSignificantPscostDifference(), and updateEstimate().
gets the variable's ancestral pseudo cost value for the given step size "solvaldelta" in the variable's LP solution value
| var | problem variable |
| stat | problem statistics |
| solvaldelta | difference of variable's new LP value - old LP value |
Definition at line 20484 of file var.c.
References assert(), SCIP_Stat::glbhistory, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPhistoryGetAncPseudocost(), SCIPhistoryGetAncPseudocostCount(), SCIPvarGetAncPseudocost(), SCIPvarGetStatus(), and var.
Referenced by SCIPgetVarAncPseudocostVal(), SCIPgetVarDPseudocostScore(), and SCIPvarGetAncPseudocost().
| SCIP_Real SCIPvarGetPseudocostCurrentRun | ( | SCIP_VAR * | var, |
| SCIP_STAT * | stat, | ||
| SCIP_Real | solvaldelta ) |
gets the variable's pseudo cost value for the given step size "solvaldelta" in the variable's LP solution value, only using the pseudo cost information of the current run
| var | problem variable |
| stat | problem statistics |
| solvaldelta | difference of variable's new LP value - old LP value |
Definition at line 20533 of file var.c.
References assert(), SCIP_Stat::glbhistorycrun, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPhistoryGetPseudocost(), SCIPhistoryGetPseudocostCount(), SCIPvarGetPseudocostCurrentRun(), SCIPvarGetStatus(), and var.
Referenced by SCIPgetVarPseudocostCurrentRun(), SCIPgetVarPseudocostScoreCurrentRun(), SCIPgetVarPseudocostValCurrentRun(), SCIPvarGetPseudocostCurrentRun(), and SCIPvarIsPscostRelerrorReliable().
| SCIP_Real SCIPvarGetPseudocostCount | ( | SCIP_VAR * | var, |
| SCIP_BRANCHDIR | dir ) |
gets the variable's (possible fractional) number of pseudo cost updates for the given direction
| var | problem variable |
| dir | branching direction (downwards, or upwards) |
Definition at line 20580 of file var.c.
References assert(), NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetPseudocostCount(), SCIPvarGetPseudocostCount(), SCIPvarGetStatus(), and var.
Referenced by SCIPcollectBranchingStatistics(), SCIPgetVarPseudocostCount(), SCIPprintBranchingStatistics(), SCIPvarCalcPscostConfidenceBound(), SCIPvarGetMinPseudocostScore(), SCIPvarGetPseudocostCount(), SCIPvarPscostThresholdProbabilityTest(), and SCIPvarSignificantPscostDifference().
| SCIP_Real SCIPvarGetPseudocostCountCurrentRun | ( | SCIP_VAR * | var, |
| SCIP_BRANCHDIR | dir ) |
gets the variable's (possible fractional) number of pseudo cost updates for the given direction, only using the pseudo cost information of the current run
| var | problem variable |
| dir | branching direction (downwards, or upwards) |
Definition at line 20625 of file var.c.
References assert(), NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetPseudocostCount(), SCIPvarGetPseudocostCountCurrentRun(), SCIPvarGetStatus(), and var.
Referenced by SCIPgetVarPseudocostCountCurrentRun(), SCIPvarCalcPscostConfidenceBound(), SCIPvarGetPseudocostCountCurrentRun(), and SCIPvarIsPscostRelerrorReliable().
| SCIP_Real SCIPvarGetAncPseudocostCountCurrentRun | ( | SCIP_VAR * | var, |
| SCIP_BRANCHDIR | dir ) |
gets the variable's (possible fractional) number of ancestor pseudo cost updates for the given direction, only using the pseudo cost information of the current run
| var | problem variable |
| dir | branching direction (downwards, or upwards) |
Definition at line 20670 of file var.c.
References assert(), NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetAncPseudocostCount(), SCIPvarGetAncPseudocostCountCurrentRun(), SCIPvarGetStatus(), and var.
Referenced by SCIPgetVarAncPseudocostCountCurrentRun(), and SCIPvarGetAncPseudocostCountCurrentRun().
| SCIP_Real SCIPvarGetMinPseudocostScore | ( | SCIP_VAR * | var, |
| SCIP_STAT * | stat, | ||
| SCIP_SET * | set, | ||
| SCIP_Real | solval ) |
compares both possible directions for rounding the given solution value and returns the minimum pseudo-costs of the variable
| var | problem variable |
| stat | problem statistics |
| set | global SCIP settings |
| solval | solution value, e.g., LP solution value |
Definition at line 20713 of file var.c.
References MIN, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIPsetCeil(), SCIPsetFloor(), SCIPsetIsFeasIntegral(), SCIPvarGetPseudocost(), SCIPvarGetPseudocostCount(), and var.
Referenced by SCIPstatComputeRootLPBestEstimate(), SCIPstatUpdateVarRootLPBestEstimate(), and SCIPvarUpdatePseudocost().
| SCIP_Real SCIPvarGetPseudocostVariance | ( | SCIP_VAR * | var, |
| SCIP_BRANCHDIR | dir, | ||
| SCIP_Bool | onlycurrentrun ) |
gets the an estimate of the variable's pseudo cost variance in direction dir
| var | problem variable |
| dir | branching direction (downwards, or upwards) |
| onlycurrentrun | return pseudo cost variance only for current branch and bound run |
Definition at line 20744 of file var.c.
References assert(), NULL, SCIP_Bool, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetPseudocostVariance(), SCIPvarGetPseudocostVariance(), SCIPvarGetStatus(), and var.
Referenced by SCIPcollectBranchingStatistics(), SCIPgetVarPseudocostVariance(), SCIPprintBranchingStatistics(), SCIPvarCalcPscostConfidenceBound(), SCIPvarGetPseudocostVariance(), SCIPvarPscostThresholdProbabilityTest(), and SCIPvarSignificantPscostDifference().
| SCIP_Real SCIPvarCalcPscostConfidenceBound | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_BRANCHDIR | dir, | ||
| SCIP_Bool | onlycurrentrun, | ||
| SCIP_CONFIDENCELEVEL | clevel ) |
calculates a confidence bound for this variable under the assumption of normally distributed pseudo costs
The confidence bound \( \theta \geq 0\) denotes the interval borders \( [X - \theta, \ X + \theta]\), which contains the true pseudo costs of the variable, i.e., the expected value of the normal distribution, with a probability of 95 %.
calculates a confidence bound for this variable under the assumption of normally distributed pseudo costs
The confidence bound \( \theta \geq 0\) denotes the interval borders \( [X - \theta, \ X + \theta]\), which contains the true pseudo costs of the variable, i.e., the expected value of the normal distribution, with a probability of 2 * clevel - 1.
| var | variable in question |
| set | global SCIP settings |
| dir | the branching direction for the confidence bound |
| onlycurrentrun | should only the current run be taken into account |
| clevel | confidence level for the interval |
Definition at line 20798 of file var.c.
References assert(), SCIP_Bool, SCIP_Real, SCIPsetFloor(), SCIPsetIsFeasPositive(), SCIPstudentTGetCriticalValue(), SCIPvarGetPseudocostCount(), SCIPvarGetPseudocostCountCurrentRun(), SCIPvarGetPseudocostVariance(), and var.
Referenced by SCIPcalculatePscostConfidenceBound(), and SCIPvarIsPscostRelerrorReliable().
| SCIP_Bool SCIPvarIsPscostRelerrorReliable | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_Real | threshold, | ||
| SCIP_CONFIDENCELEVEL | clevel ) |
check if the current pseudo cost relative error in a direction violates the given threshold. The Relative Error is calculated at a specific confidence level
| var | variable in question |
| set | global SCIP settings |
| stat | problem statistics |
| threshold | threshold for relative errors to be considered reliable (enough) |
| clevel | a given confidence level |
Definition at line 20836 of file var.c.
References FALSE, MAX, MIN, SCIP_Bool, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIPvarCalcPscostConfidenceBound(), SCIPvarGetPseudocostCountCurrentRun(), SCIPvarGetPseudocostCurrentRun(), TRUE, and var.
Referenced by SCIPisVarPscostRelerrorReliable().
| SCIP_Bool SCIPvarSignificantPscostDifference | ( | SCIP_SET * | set, |
| SCIP_STAT * | stat, | ||
| SCIP_VAR * | varx, | ||
| SCIP_Real | fracx, | ||
| SCIP_VAR * | vary, | ||
| SCIP_Real | fracy, | ||
| SCIP_BRANCHDIR | dir, | ||
| SCIP_CONFIDENCELEVEL | clevel, | ||
| SCIP_Bool | onesided ) |
check if variable pseudo-costs have a significant difference in location. The significance depends on the choice of clevel and on the kind of tested hypothesis. The one-sided hypothesis, which should be rejected, is that fracy * mu_y >= fracx * mu_x, where mu_y and mu_x denote the unknown location means of the underlying pseudo-cost distributions of x and y.
This method is applied best if variable x has a better pseudo-cost score than y. The method hypothesizes that y were actually better than x (despite the current information), meaning that y can be expected to yield branching decisions as least as good as x in the long run. If the method returns TRUE, the current history information is sufficient to safely rely on the alternative hypothesis that x yields indeed a better branching score (on average) than y.
onesided to FALSE if you are not sure which variable is better. The hypothesis tested then reads fracy * mu_y == fracx * mu_x vs the alternative hypothesis fracy * mu_y != fracx * mu_x.| set | global SCIP settings |
| stat | problem statistics |
| varx | variable x |
| fracx | the fractionality of variable x |
| vary | variable y |
| fracy | the fractionality of variable y |
| dir | branching direction |
| clevel | confidence level for rejecting hypothesis |
| onesided | should a one-sided hypothesis y >= x be tested? |
Definition at line 20913 of file var.c.
References FALSE, REALABS, SCIP_Bool, SCIP_BRANCHDIR_DOWNWARDS, SCIP_Real, SCIPcomputeTwoSampleTTestValue(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPstudentTGetCriticalValue(), SCIPvarGetPseudocost(), SCIPvarGetPseudocostCount(), SCIPvarGetPseudocostVariance(), and SQR.
Referenced by SCIPsignificantVarPscostDifference().
| SCIP_Bool SCIPvarPscostThresholdProbabilityTest | ( | SCIP_SET * | set, |
| SCIP_STAT * | stat, | ||
| SCIP_VAR * | var, | ||
| SCIP_Real | frac, | ||
| SCIP_Real | threshold, | ||
| SCIP_BRANCHDIR | dir, | ||
| SCIP_CONFIDENCELEVEL | clevel ) |
tests at a given confidence level whether the variable pseudo-costs only have a small probability to exceed a threshold. This is useful to determine if past observations provide enough evidence to skip an expensive strong-branching step if there is already a candidate that has been proven to yield an improvement of at least threshold.
clevel to adjust the level of confidence. For SCIP_CONFIDENCELEVEL_MIN, the method returns TRUE if the estimated probability to exceed threshold is less than 25 %.threshold at the given confidence level clevel. | set | global SCIP settings |
| stat | problem statistics |
| var | variable x |
| frac | the fractionality of variable x |
| threshold | the threshold to test against |
| dir | branching direction |
| clevel | confidence level for rejecting hypothesis |
Definition at line 20979 of file var.c.
References FALSE, frac, SCIP_Bool, SCIP_BRANCHDIR_DOWNWARDS, SCIP_CONFIDENCELEVEL_HIGH, SCIP_CONFIDENCELEVEL_LOW, SCIP_CONFIDENCELEVEL_MAX, SCIP_CONFIDENCELEVEL_MEDIUM, SCIP_CONFIDENCELEVEL_MIN, SCIP_Real, SCIPABORT, SCIPerrorMessage, SCIPnormalCDF(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGE(), SCIPsetIsFeasLT(), SCIPvarGetPseudocost(), SCIPvarGetPseudocostCount(), SCIPvarGetPseudocostVariance(), SQR, and var.
Referenced by SCIPpscostThresholdProbabilityTest().
| SCIP_RETCODE SCIPvarIncVSIDS | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_BRANCHDIR | dir, | ||
| SCIP_Real | value, | ||
| SCIP_Real | weight ) |
increases the VSIDS of the variable by the given weight
increases VSIDS of the variable by the given weight
| var | problem variable |
| blkmem | block memory, or NULL if the domain value is SCIP_UNKNOWN |
| set | global SCIP settings, or NULL if the domain value is SCIP_UNKNOWN |
| stat | problem statistics |
| dir | branching direction |
| value | domain value, or SCIP_UNKNOWN |
| weight | weight of this update in VSIDS |
Definition at line 21103 of file var.c.
References assert(), SCIP_Stat::collectvarhistory, findValuehistoryEntry(), NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetVSIDS(), SCIPhistoryIncVSIDS(), SCIPsetDebugMsg, SCIPsetIsZero(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarIncVSIDS(), useValuehistory(), and var.
Referenced by incVSIDS(), incVSIDS(), SCIPinitVarBranchStats(), SCIPinitVarValueBranchStats(), and SCIPvarIncVSIDS().
| SCIP_RETCODE SCIPvarScaleVSIDS | ( | SCIP_VAR * | var, |
| SCIP_Real | scalar ) |
scales the VSIDS of the variable by the given scalar
| var | problem variable |
| scalar | scalar to multiply the VSIDSs with |
Definition at line 21189 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPhistoryScaleVSIDS(), SCIPvaluehistoryScaleVSIDS(), SCIPvarGetStatus(), SCIPvarScaleVSIDS(), and var.
Referenced by SCIPconflictInit(), and SCIPvarScaleVSIDS().
| SCIP_RETCODE SCIPvarIncNActiveConflicts | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_BRANCHDIR | dir, | ||
| SCIP_Real | value, | ||
| SCIP_Real | length ) |
increases the number of active conflicts by one and the overall length of the variable by the given length
| var | problem variable |
| blkmem | block memory, or NULL if the domain value is SCIP_UNKNOWN |
| set | global SCIP settings, or NULL if the domain value is SCIP_UNKNOWN |
| stat | problem statistics |
| dir | branching direction |
| value | domain value, or SCIP_UNKNOWN |
| length | length of the conflict |
Definition at line 21239 of file var.c.
References assert(), SCIP_Stat::collectvarhistory, findValuehistoryEntry(), NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryIncNActiveConflicts(), SCIPvarGetStatus(), SCIPvarIncNActiveConflicts(), useValuehistory(), and var.
Referenced by SCIPinitVarBranchStats(), SCIPinitVarValueBranchStats(), SCIPvarIncNActiveConflicts(), updateStatistics(), and updateStatistics().
| SCIP_Longint SCIPvarGetNActiveConflicts | ( | SCIP_VAR * | var, |
| SCIP_STAT * | stat, | ||
| SCIP_BRANCHDIR | dir ) |
gets the number of active conflicts containing this variable in given direction
| var | problem variable |
| stat | problem statistics |
| dir | branching direction (downwards, or upwards) |
Definition at line 21320 of file var.c.
References assert(), NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Longint, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetNActiveConflicts(), SCIPvarGetNActiveConflicts(), SCIPvarGetStatus(), and var.
Referenced by SCIPvarGetNActiveConflicts().
| SCIP_Longint SCIPvarGetNActiveConflictsCurrentRun | ( | SCIP_VAR * | var, |
| SCIP_STAT * | stat, | ||
| SCIP_BRANCHDIR | dir ) |
gets the number of active conflicts containing this variable in given direction in the current run
| var | problem variable |
| stat | problem statistics |
| dir | branching direction (downwards, or upwards) |
Definition at line 21367 of file var.c.
References assert(), NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Longint, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetNActiveConflicts(), SCIPvarGetNActiveConflictsCurrentRun(), SCIPvarGetStatus(), and var.
Referenced by SCIPvarGetNActiveConflictsCurrentRun().
| SCIP_Real SCIPvarGetAvgConflictlength | ( | SCIP_VAR * | var, |
| SCIP_BRANCHDIR | dir ) |
gets the average conflict length in given direction due to branching on the variable
| var | problem variable |
| dir | branching direction (downwards, or upwards) |
Definition at line 21412 of file var.c.
References assert(), NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetAvgConflictlength(), SCIPvarGetAvgConflictlength(), SCIPvarGetStatus(), and var.
Referenced by SCIPgetVarAvgConflictlength(), SCIPgetVarConflictlengthScore(), and SCIPvarGetAvgConflictlength().
| SCIP_Real SCIPvarGetAvgConflictlengthCurrentRun | ( | SCIP_VAR * | var, |
| SCIP_BRANCHDIR | dir ) |
gets the average conflict length in given direction due to branching on the variable in the current run
| var | problem variable |
| dir | branching direction (downwards, or upwards) |
Definition at line 21456 of file var.c.
References assert(), NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetAvgConflictlength(), SCIPvarGetAvgConflictlengthCurrentRun(), SCIPvarGetStatus(), and var.
Referenced by SCIPgetVarAvgConflictlengthCurrentRun(), SCIPgetVarConflictlengthScoreCurrentRun(), and SCIPvarGetAvgConflictlengthCurrentRun().
| SCIP_RETCODE SCIPvarIncNBranchings | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_BRANCHDIR | dir, | ||
| SCIP_Real | value, | ||
| int | depth ) |
increases the number of branchings counter of the variable
| var | problem variable |
| blkmem | block memory, or NULL if the domain value is SCIP_UNKNOWN |
| set | global SCIP settings, or NULL if the domain value is SCIP_UNKNOWN |
| stat | problem statistics |
| dir | branching direction (downwards, or upwards) |
| value | domain value, or SCIP_UNKNOWN |
| depth | depth at which the bound change took place |
Definition at line 21499 of file var.c.
References assert(), SCIP_Stat::collectvarhistory, depth, findValuehistoryEntry(), SCIP_Stat::glbhistory, SCIP_Stat::glbhistorycrun, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryIncNBranchings(), SCIPvarGetStatus(), SCIPvarIncNBranchings(), useValuehistory(), and var.
Referenced by boundchgApplyExact(), SCIPboundchgApply(), SCIPinitVarBranchStats(), SCIPinitVarValueBranchStats(), and SCIPvarIncNBranchings().
| SCIP_RETCODE SCIPvarIncInferenceSum | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_BRANCHDIR | dir, | ||
| SCIP_Real | value, | ||
| SCIP_Real | weight ) |
increases the inference score of the variable by the given weight
increases the inference sum of the variable by the given weight
| var | problem variable |
| blkmem | block memory, or NULL if the domain value is SCIP_UNKNOWN |
| set | global SCIP settings, or NULL if the domain value is SCIP_UNKNOWN |
| stat | problem statistics |
| dir | branching direction (downwards, or upwards) |
| value | domain value, or SCIP_UNKNOWN |
| weight | weight of this update in inference score |
Definition at line 21583 of file var.c.
References assert(), SCIP_Stat::collectvarhistory, findValuehistoryEntry(), SCIP_Stat::glbhistory, SCIP_Stat::glbhistorycrun, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryIncInferenceSum(), SCIPvarGetStatus(), SCIPvarIncInferenceSum(), useValuehistory(), and var.
Referenced by boundchgApplyExact(), SCIPboundchgApply(), SCIPinitVarBranchStats(), SCIPinitVarValueBranchStats(), and SCIPvarIncInferenceSum().
| SCIP_RETCODE SCIPvarIncCutoffSum | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_BRANCHDIR | dir, | ||
| SCIP_Real | value, | ||
| SCIP_Real | weight ) |
increases the cutoff score of the variable by the given weight
increases the cutoff sum of the variable by the given weight
| var | problem variable |
| blkmem | block memory, or NULL if the domain value is SCIP_UNKNOWN |
| set | global SCIP settings, or NULL if the domain value is SCIP_UNKNOWN |
| stat | problem statistics |
| dir | branching direction (downwards, or upwards) |
| value | domain value, or SCIP_UNKNOWN |
| weight | weight of this update in cutoff score |
Definition at line 21667 of file var.c.
References assert(), SCIP_Stat::collectvarhistory, findValuehistoryEntry(), SCIP_Stat::glbhistory, SCIP_Stat::glbhistorycrun, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryIncCutoffSum(), SCIPvarGetStatus(), SCIPvarIncCutoffSum(), useValuehistory(), and var.
Referenced by SCIPinitVarBranchStats(), SCIPinitVarValueBranchStats(), SCIPsolveCIP(), and SCIPvarIncCutoffSum().
| SCIP_Real SCIPvarGetVSIDS_rec | ( | SCIP_VAR * | var, |
| SCIP_STAT * | stat, | ||
| SCIP_BRANCHDIR | dir ) |
returns the variable's VSIDS score
| var | problem variable |
| stat | problem statistics |
| dir | branching direction (downwards, or upwards) |
Definition at line 21929 of file var.c.
References assert(), NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetVSIDS(), SCIPvarGetStatus(), SCIPvarGetVSIDS(), var, and SCIP_Stat::vsidsweight.
Referenced by SCIPvarGetVSIDS().
| SCIP_Real SCIPvarGetVSIDSCurrentRun | ( | SCIP_VAR * | var, |
| SCIP_STAT * | stat, | ||
| SCIP_BRANCHDIR | dir ) |
returns the variable's VSIDS score only using conflicts of the current run
| var | problem variable |
| stat | problem statistics |
| dir | branching direction (downwards, or upwards) |
Definition at line 21980 of file var.c.
References assert(), NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_INVALID, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetVSIDS(), SCIPvarGetStatus(), SCIPvarGetVSIDSCurrentRun(), var, and SCIP_Stat::vsidsweight.
Referenced by SCIPgetVarConflictScoreCurrentRun(), SCIPgetVarVSIDSCurrentRun(), and SCIPvarGetVSIDSCurrentRun().
| SCIP_Real SCIPvarGetAvgInferences | ( | SCIP_VAR * | var, |
| SCIP_STAT * | stat, | ||
| SCIP_BRANCHDIR | dir ) |
returns the average number of inferences found after branching on the variable in given direction
| var | problem variable |
| stat | problem statistics |
| dir | branching direction (downwards, or upwards) |
Definition at line 22119 of file var.c.
References assert(), SCIP_Stat::glbhistory, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetAvgInferences(), SCIPhistoryGetNBranchings(), SCIPvarGetAvgInferences(), SCIPvarGetNCliques(), SCIPvarGetNImpls(), SCIPvarGetStatus(), and var.
Referenced by getInferenceOrder(), SCIPcollectBranchingStatistics(), SCIPgetVarAvgInferenceCutoffScore(), SCIPgetVarAvgInferences(), SCIPgetVarAvgInferenceScore(), SCIPprintBranchingStatistics(), SCIPtreeCalcNodeselPriority(), and SCIPvarGetAvgInferences().
| SCIP_Real SCIPvarGetAvgInferencesCurrentRun | ( | SCIP_VAR * | var, |
| SCIP_STAT * | stat, | ||
| SCIP_BRANCHDIR | dir ) |
returns the average number of inferences found after branching on the variable in given direction in the current run
| var | problem variable |
| stat | problem statistics |
| dir | branching direction (downwards, or upwards) |
Definition at line 22176 of file var.c.
References assert(), SCIP_Stat::glbhistorycrun, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetAvgInferences(), SCIPhistoryGetNBranchings(), SCIPvarGetAvgInferencesCurrentRun(), SCIPvarGetNCliques(), SCIPvarGetNImpls(), SCIPvarGetStatus(), and var.
Referenced by SCIPgetVarAvgInferenceCutoffScoreCurrentRun(), SCIPgetVarAvgInferenceScoreCurrentRun(), SCIPgetVarAvgInferencesCurrentRun(), and SCIPvarGetAvgInferencesCurrentRun().
| SCIP_Real SCIPvarGetAvgCutoffs | ( | SCIP_VAR * | var, |
| SCIP_STAT * | stat, | ||
| SCIP_BRANCHDIR | dir ) |
returns the average number of cutoffs found after branching on the variable in given direction
| var | problem variable |
| stat | problem statistics |
| dir | branching direction (downwards, or upwards) |
Definition at line 22317 of file var.c.
References assert(), SCIP_Stat::glbhistory, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetAvgCutoffs(), SCIPhistoryGetNBranchings(), SCIPvarGetAvgCutoffs(), SCIPvarGetStatus(), and var.
Referenced by SCIPcollectBranchingStatistics(), SCIPgetVarAvgCutoffs(), SCIPgetVarAvgCutoffScore(), SCIPgetVarAvgInferenceCutoffScore(), SCIPprintBranchingStatistics(), and SCIPvarGetAvgCutoffs().
| SCIP_Real SCIPvarGetAvgCutoffsCurrentRun | ( | SCIP_VAR * | var, |
| SCIP_STAT * | stat, | ||
| SCIP_BRANCHDIR | dir ) |
returns the average number of cutoffs found after branching on the variable in given direction in the current run
| var | problem variable |
| stat | problem statistics |
| dir | branching direction (downwards, or upwards) |
Definition at line 22364 of file var.c.
References assert(), SCIP_Stat::glbhistorycrun, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetAvgCutoffs(), SCIPhistoryGetNBranchings(), SCIPvarGetAvgCutoffsCurrentRun(), SCIPvarGetStatus(), and var.
Referenced by SCIPgetVarAvgCutoffScoreCurrentRun(), SCIPgetVarAvgCutoffsCurrentRun(), SCIPgetVarAvgInferenceCutoffScoreCurrentRun(), and SCIPvarGetAvgCutoffsCurrentRun().
returns the variable's average GMI efficacy score value generated from simplex tableau rows of this variable
| var | problem variable |
| stat | problem statistics |
Definition at line 22411 of file var.c.
References assert(), NULL, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPhistoryGetAvgGMIeff(), SCIPvarGetAvgGMIScore(), SCIPvarGetStatus(), and var.
Referenced by SCIPgetVarAvgGMIScore(), and SCIPvarGetAvgGMIScore().
| SCIP_RETCODE SCIPvarIncGMIeffSum | ( | SCIP_VAR * | var, |
| SCIP_STAT * | stat, | ||
| SCIP_Real | gmieff ) |
increase the variable's GMI efficacy scores generated from simplex tableau rows of this variable
| var | problem variable |
| stat | problem statistics |
| gmieff | efficacy of last GMI cut produced when variable was frac and basic |
Definition at line 22451 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPhistoryIncGMIeffSum(), SCIPvarGetStatus(), SCIPvarIncGMIeffSum(), and var.
Referenced by SCIPincVarGMISumScore(), and SCIPvarIncGMIeffSum().
returns the variable's last GMI efficacy score value generated from a simplex tableau row of this variable
| var | problem variable |
| stat | problem statistics |
Definition at line 22495 of file var.c.
References assert(), NULL, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPhistoryGetLastGMIeff(), SCIPvarGetLastGMIScore(), SCIPvarGetStatus(), and var.
Referenced by SCIPgetVarLastGMIScore(), and SCIPvarGetLastGMIScore().
| SCIP_RETCODE SCIPvarSetLastGMIScore | ( | SCIP_VAR * | var, |
| SCIP_STAT * | stat, | ||
| SCIP_Real | gmieff ) |
sets the variable's last GMI efficacy score value generated from a simplex tableau row of this variable
| var | problem variable |
| stat | problem statistics |
| gmieff | efficacy of last GMI cut produced when variable was frac and basic |
Definition at line 22535 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPhistorySetLastGMIeff(), SCIPvarGetStatus(), SCIPvarSetLastGMIScore(), and var.
Referenced by SCIPsetVarLastGMIScore(), and SCIPvarSetLastGMIScore().
| SCIP_RETCODE SCIPvarPrint | ( | SCIP_VAR * | var, |
| SCIP_SET * | set, | ||
| SCIP_MESSAGEHDLR * | messagehdlr, | ||
| FILE * | file ) |
outputs variable information into file stream
| var | problem variable |
| set | global SCIP settings |
| messagehdlr | message handler |
| file | output file (or NULL for standard output) |
Definition at line 3953 of file var.c.
References assert(), i, NULL, printBounds(), printBoundsExact(), printHolelist(), SCIP_DEPRECATED_VARTYPE_IMPLINT, SCIP_IMPLINTTYPE_NONE, SCIP_IMPLINTTYPE_STRONG, SCIP_IMPLINTTYPE_WEAK, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_INTEGER, SCIPerrorMessage, SCIPmessageFPrintInfo(), SCIPrationalMessage(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPvarGetHolelistGlobal(), SCIPvarGetHolelistLocal(), SCIPvarGetHolelistOriginal(), SCIPvarGetImplType(), SCIPvarGetLbGlobal(), SCIPvarGetLbGlobalExact(), SCIPvarGetLbLazy(), SCIPvarGetLbLocal(), SCIPvarGetLbLocalExact(), SCIPvarGetLbOriginal(), SCIPvarGetLbOriginalExact(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarGetUbGlobalExact(), SCIPvarGetUbLazy(), SCIPvarGetUbLocal(), SCIPvarGetUbLocalExact(), SCIPvarGetUbOriginal(), SCIPvarGetUbOriginalExact(), SCIPvarIsTransformed(), and var.
Referenced by SCIPnlpWrite(), and SCIPprintVar().
| SCIP_RETCODE SCIPvarCatchEvent | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_EVENTTYPE | eventtype, | ||
| SCIP_EVENTHDLR * | eventhdlr, | ||
| SCIP_EVENTDATA * | eventdata, | ||
| int * | filterpos ) |
includes event handler with given data in variable's event filter
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| eventtype | event type to catch |
| eventhdlr | event handler to call for the event processing |
| eventdata | event data to pass to the event handler for the event processing |
| filterpos | pointer to store position of event filter entry, or NULL |
Definition at line 24797 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_EVENTTYPE_FORMAT, SCIP_EVENTTYPE_VARCHANGED, SCIP_OKAY, SCIPeventfilterAdd(), SCIPsetDebugMsg, SCIPvarIsTransformed(), and var.
Referenced by nlpAddVars(), and SCIPcatchVarEvent().
| SCIP_RETCODE SCIPvarDropEvent | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_EVENTTYPE | eventtype, | ||
| SCIP_EVENTHDLR * | eventhdlr, | ||
| SCIP_EVENTDATA * | eventdata, | ||
| int | filterpos ) |
deletes event handler with given data from variable's event filter
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| eventtype | event type mask of dropped event |
| eventhdlr | event handler to call for the event processing |
| eventdata | event data to pass to the event handler for the event processing |
| filterpos | position of event filter entry returned by SCIPvarCatchEvent(), or -1 |
Definition at line 24824 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPeventfilterDel(), SCIPsetDebugMsg, SCIPvarIsTransformed(), and var.
Referenced by nlpDelVarPos(), and SCIPdropVarEvent().
| SCIP_Real SCIPvarGetVSIDS | ( | SCIP_VAR * | var, |
| SCIP_STAT * | stat, | ||
| SCIP_BRANCHDIR | dir ) |
returns the variable's VSIDS score
| var | problem variable |
| stat | problem statistics |
| dir | branching direction (downwards, or upwards) |
Definition at line 24782 of file var.c.
References assert(), NULL, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPhistoryGetVSIDS(), SCIPvarGetStatus(), SCIPvarGetVSIDS_rec(), var, and SCIP_Stat::vsidsweight.
Referenced by SCIPgetVarConflictScore(), SCIPgetVarVSIDS(), and SCIPvarGetVSIDS_rec().
| int SCIPbdchgidxGetPos | ( | SCIP_BDCHGIDX * | bdchgidx | ) |
returns the position of the bound change index
| bdchgidx | bound change index |
Definition at line 24849 of file var.c.
References assert(), NULL, and SCIP_BdChgIdx::pos.
Referenced by SCIPconflictAddRelaxedBound(), and slackReducingContinuousBdchgQueue().
| int SCIPbdchgidxGetDepth | ( | SCIP_BDCHGIDX * | bdchgidx | ) |
returns the depth of the bound change index
| bdchgidx | bound change index |
Definition at line 24859 of file var.c.
References assert(), SCIP_BdChgIdx::depth, and NULL.
Referenced by slackReducingContinuousBdchgQueue().
| SCIP_RETCODE SCIPvarRemoveCliquesImplicsVbs | ( | SCIP_VAR * | var, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_CLIQUETABLE * | cliquetable, | ||
| SCIP_SET * | set, | ||
| SCIP_Bool | irrelevantvar, | ||
| SCIP_Bool | onlyredundant, | ||
| SCIP_Bool | removefromvar ) |
removes (redundant) cliques, implications and variable bounds of variable from all other variables' implications and variable bounds arrays, and optionally removes them also from the variable itself
| var | problem variable |
| blkmem | block memory |
| cliquetable | clique table data structure |
| set | global SCIP settings |
| irrelevantvar | has the variable become irrelevant? |
| onlyredundant | should only the redundant implications and variable bounds be removed? |
| removefromvar | should the implications and variable bounds be removed from the var itself? |
Definition at line 2006 of file var.c.
References assert(), SCIP_Var::closestvblpcount, FALSE, i, SCIP_Var::implics, MAX, MIN, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIP_VARTYPE_BINARY, SCIPcliquelistRemoveFromCliques(), SCIPimplicsDel(), SCIPimplicsFree(), SCIPimplicsGetBounds(), SCIPimplicsGetNImpls(), SCIPimplicsGetTypes(), SCIPimplicsGetVars(), SCIPsetDebugMsg, SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsetIsZero(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsBinary(), SCIPvarIsImpliedIntegral(), SCIPvboundsDel(), SCIPvboundsGetCoefs(), SCIPvboundsGetConstants(), SCIPvboundsGetNVbds(), SCIPvboundsGetVars(), SCIPvboundsShrink(), TRUE, var, vars, SCIP_Var::vlbs, and SCIP_Var::vubs.
Referenced by SCIPremoveVarFromGlobalStructures(), SCIPvarAggregate(), SCIPvarAggregateExact(), SCIPvarFix(), SCIPvarFixExact(), SCIPvarMultiaggregate(), SCIPvarMultiaggregateExact(), SCIPvarRemove(), varProcessChgLbGlobal(), and varProcessChgUbGlobal().
| void SCIPvarGetLbLocalExactMaximal | ( | SCIP_VAR * | var, |
| SCIP_RATIONAL * | output ) |
Get the tightest local lower bound (from the exact and the real bound)
| var | problem variable |
| output | output rational |
Definition at line 24255 of file var.c.
References assert(), NULL, SCIP_Longint, SCIPrationalMax(), SCIPrationalSetFraction(), and var.
| void SCIPvarGetUbLocalExactMinimal | ( | SCIP_VAR * | var, |
| SCIP_RATIONAL * | output ) |
Get the tightest local uppper bound (from the exact and the real bound)
| var | problem variable |
| output | output rational |
Definition at line 24289 of file var.c.
References assert(), NULL, SCIP_Longint, SCIPrationalMin(), SCIPrationalSetFraction(), and var.
| void SCIPvarSetUbCertificateIndexLocal | ( | SCIP_VAR * | var, |
| SCIP_Longint | certidx ) |
sets index of variable in certificate
| var | variable to set index for |
| certidx | the index |
Definition at line 25136 of file var.c.
References assert(), NULL, SCIP_Longint, and var.
Referenced by SCIPvarChgUbLocal(), SCIPvarChgUbLocalExact(), and varProcessChgUbLocal().
| void SCIPvarSetLbCertificateIndexLocal | ( | SCIP_VAR * | var, |
| SCIP_Longint | certidx ) |
sets index of variable in certificate
| var | variable to set index for |
| certidx | the index |
Definition at line 25149 of file var.c.
References assert(), NULL, SCIP_Longint, and var.
Referenced by SCIPvarChgLbLocal(), SCIPvarChgLbLocalExact(), and varProcessChgLbLocal().