methods for problem variables
Definition in file var.c.
#include "scip/cons.h"#include "scip/certificate.h"#include "scip/event.h"#include "scip/history.h"#include "scip/implics.h"#include "scip/lp.h"#include "scip/lpexact.h"#include "scip/primal.h"#include "scip/prob.h"#include "scip/pub_cons.h"#include "scip/pub_history.h"#include "scip/pub_implics.h"#include "scip/pub_lp.h"#include "scip/pub_message.h"#include "scip/pub_misc.h"#include "scip/pub_misc_sort.h"#include "scip/pub_prop.h"#include "scip/pub_var.h"#include "scip/relax.h"#include "scip/scip_certificate.h"#include "scip/scip_exact.h"#include "scip/scip_prob.h"#include "scip/scip_probing.h"#include "scip/set.h"#include "scip/sol.h"#include "scip/stat.h"#include "scip/struct_event.h"#include "scip/struct_lp.h"#include "scip/struct_lpexact.h"#include "scip/struct_prob.h"#include "scip/struct_set.h"#include "scip/struct_stat.h"#include "scip/struct_var.h"#include "scip/tree.h"#include "scip/var.h"#include <string.h>Go to the source code of this file.
Macros | |
| #define | MAXIMPLSCLOSURE 100 |
| #define | MAXABSVBCOEF 1e+5 |
| #define | MAXDNOM 1000000LL |
| #define | MAX_CLIQUELENGTH 50 |
Variables | |
| static SCIP_BDCHGIDX | initbdchgidx = {-2, 0} |
| static SCIP_BDCHGIDX | presolvebdchgidx = {-1, 0} |
| #define MAXIMPLSCLOSURE 100 |
maximal number of descendants of implied variable for building closure in implication graph
Definition at line 83 of file var.c.
Referenced by varAddTransitiveBinaryClosureImplic().
| #define MAXABSVBCOEF 1e+5 |
| #define MAXDNOM 1000000LL |
|
static |
creates a new holelist element
| holelist | pointer to holelist to create |
| blkmem | block memory for target holelist |
| 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 158 of file var.c.
References assert(), BMSallocBlockMemory, NULL, SCIP_ALLOC, SCIP_OKAY, SCIP_Real, SCIPsetDebugMsg, and SCIPsetIsLT().
Referenced by domAddHole(), and holelistDuplicate().
|
static |
frees all elements in the holelist
| holelist | pointer to holelist to free |
| blkmem | block memory for target holelist |
Definition at line 182 of file var.c.
References assert(), BMSfreeBlockMemory, SCIP_Holelist::next, NULL, and SCIPdebugMessage.
Referenced by domMerge(), SCIPvarFix(), SCIPvarFixExact(), SCIPvarResetBounds(), and varFree().
|
static |
duplicates a list of holes
| target | pointer to target holelist |
| blkmem | block memory for target holelist |
| set | global SCIP settings |
| source | holelist to duplicate |
Definition at line 208 of file var.c.
References assert(), SCIP_Holelist::hole, holelistCreate(), SCIP_Hole::left, SCIP_Holelist::next, NULL, SCIP_Hole::right, SCIP_CALL, SCIP_OKAY, and SCIPsetIsGE().
Referenced by SCIPvarResetBounds(), and SCIPvarTransform().
|
static |
adds a hole to the domain
| dom | domain to add hole to |
| 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 |
| added | pointer to store whether the hole was added (variable didn't had that hole before), or NULL |
Definition at line 230 of file var.c.
References assert(), FALSE, SCIP_Dom::holelist, holelistCreate(), SCIP_Holelist::next, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPsetDebugMsg, and TRUE.
Referenced by SCIPvarAddHoleOriginal(), varProcessAddHoleGlobal(), and varProcessAddHoleLocal().
|
static |
merges overlapping holes into single holes, computes and moves lower and upper bound, respectively
| dom | domain to merge |
| blkmem | block memory |
| set | global SCIP settings |
| newlb | pointer to store new lower bound |
| newub | pointer to store new upper bound |
Definition at line 274 of file var.c.
References assert(), SCIP_Dom::holelist, holelistFree(), SCIP_Dom::lb, MAX, SCIP_Holelist::next, NULL, SCIP_Real, SCIPsetDebugMsg, SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsLE(), SCIPsetIsLT(), and SCIP_Dom::ub.
Referenced by SCIPvarAddHoleOriginal(), varProcessAddHoleGlobal(), varProcessAddHoleLocal(), varProcessChgLbGlobal(), varProcessChgLbLocal(), varProcessChgUbGlobal(), and varProcessChgUbLocal().
|
static |
ensures, that bound change info array for lower bound changes can store at least num entries
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| num | minimum number of entries to store |
Definition at line 433 of file var.c.
References assert(), BMSreallocBlockMemoryArray, NULL, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), SCIPvarIsTransformed(), and var.
Referenced by varAddLbchginfo().
|
static |
ensures, that bound change info array for upper bound changes can store at least num entries
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| num | minimum number of entries to store |
Definition at line 459 of file var.c.
References assert(), BMSreallocBlockMemoryArray, NULL, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), SCIPvarIsTransformed(), and var.
Referenced by varAddUbchginfo().
|
static |
adds domain change info to the variable's lower bound change info array
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| oldbound | old value for bound |
| newbound | new value for bound |
| depth | depth in the tree, where the bound change takes place |
| pos | position of the bound change in its bound change array |
| infervar | variable that was changed (parent of var, or var itself) |
| infercons | constraint that inferred this 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 |
| boundchgtype | bound change type: branching decision or inferred bound change |
Definition at line 485 of file var.c.
References assert(), depth, FALSE, NULL, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_BOUNDCHGTYPE_CONSINFER, SCIP_BOUNDCHGTYPE_PROPINFER, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIPbdchgidxIsEarlier(), SCIPconsGetName(), SCIPerrorMessage, SCIPpropGetName(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsFeasIntegral(), SCIPsetIsLT(), SCIPvarGetName(), SCIPvarIsBinary(), SCIPvarIsIntegral(), var, and varEnsureLbchginfosSize().
Referenced by boundchgApplyExact(), and SCIPboundchgApply().
|
static |
adds domain change info to the variable's upper bound change info array
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| oldbound | old value for bound |
| newbound | new value for bound |
| depth | depth in the tree, where the bound change takes place |
| pos | position of the bound change in its bound change array |
| infervar | variable that was changed (parent of var, or var itself) |
| infercons | constraint that inferred this 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 |
| boundchgtype | bound change type: branching decision or inferred bound change |
Definition at line 560 of file var.c.
References assert(), depth, FALSE, NULL, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_BOUNDCHGTYPE_CONSINFER, SCIP_BOUNDCHGTYPE_PROPINFER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIPbdchgidxIsEarlier(), SCIPconsGetName(), SCIPerrorMessage, SCIPpropGetName(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsFeasIntegral(), SCIPsetIsGT(), SCIPvarGetName(), SCIPvarIsBinary(), SCIPvarIsIntegral(), var, and varEnsureUbchginfosSize().
Referenced by boundchgApplyExact(), and SCIPboundchgApply().
|
static |
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 635 of file var.c.
References SCIP_BoundChg::applied, assert(), 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_Lp::lpexact, 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(), SCIPrationalIsGE(), SCIPrationalIsGT(), SCIPrationalIsIntegral(), SCIPrationalIsLE(), SCIPrationalIsLT(), SCIPsetDebugMsg, SCIPsetIsInfinity(), SCIPshouldCertificateTrackBounds(), SCIPvarChgLbLocalExact(), SCIPvarChgUbLocalExact(), SCIPvarGetLbLocalExact(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetUbLocalExact(), SCIPvarIncInferenceSum(), SCIPvarIncNBranchings(), SCIPvarIsIntegral(), TRUE, SCIP_BoundChg::var, var, varAddLbchginfo(), and varAddUbchginfo().
Referenced by SCIPboundchgApply().
| 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().
|
static |
applies single bound change to the global problem by changing the global bound of the corresponding variable
| 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 |
| cliquetable | clique table data structure |
| cutoff | pointer to store whether an infeasible bound change was detected |
Definition at line 1181 of file var.c.
References assert(), SCIP_BoundChg::certificateindex, cutoff, FALSE, NULL, SCIP_BoundChg::redundant, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPboundchgGetBoundtype(), SCIPboundchgGetNewbound(), SCIPboundchgGetVar(), SCIPcertificateEnsureLastBoundInfoConsistent(), SCIPgetCertificate(), SCIPisCertified(), SCIPsetDebugMsg, SCIPsetIsFeasGE(), SCIPsetIsFeasGT(), SCIPsetIsFeasLE(), SCIPsetIsFeasLT(), SCIPvarChgBdGlobal(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), TRUE, and var.
Referenced by SCIPdomchgApplyGlobal().
|
static |
captures branching and inference data of bound change
| boundchg | bound change to remove |
Definition at line 1258 of file var.c.
References assert(), SCIP_BoundChg::boundchgtype, SCIP_BoundChg::data, SCIP_BoundChg::inferencedata, NULL, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_BOUNDCHGTYPE_CONSINFER, SCIP_BOUNDCHGTYPE_PROPINFER, SCIP_INVALIDDATA, SCIP_OKAY, SCIPconsCapture(), SCIPerrorMessage, SCIPvarCapture(), and SCIP_BoundChg::var.
Referenced by SCIPdomchgAddBoundchg().
|
static |
releases branching and inference data of bound change
| boundchg | bound change to remove |
| blkmem | block memory |
| set | global SCIP settings |
| eventqueue | event queue |
| lp | current LP data |
Definition at line 1290 of file var.c.
References assert(), SCIP_BoundChg::boundchgtype, SCIP_BoundChg::data, SCIP_BoundChg::inferencedata, NULL, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_BOUNDCHGTYPE_CONSINFER, SCIP_BOUNDCHGTYPE_PROPINFER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPconsRelease(), SCIPerrorMessage, SCIPvarRelease(), and SCIP_BoundChg::var.
Referenced by SCIPdomchgFree().
|
static |
creates empty domain change data with dynamic arrays
| domchg | pointer to domain change data |
| blkmem | block memory |
Definition at line 1327 of file var.c.
References assert(), BMSallocBlockMemorySize, NULL, SCIP_ALLOC, SCIP_DOMCHGTYPE_DYNAMIC, and SCIP_OKAY.
Referenced by domchgMakeDynamic(), SCIPdomchgAddBoundchg(), and SCIPdomchgAddHolechg().
| 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().
|
static |
converts a static domain change data into a dynamic one
| domchg | pointer to domain change data |
| blkmem | block memory |
Definition at line 1399 of file var.c.
References assert(), BMSreallocBlockMemorySize, domchgCreate(), EPSISINT, i, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_DOMCHGTYPE_BOTH, SCIP_DOMCHGTYPE_BOUND, SCIP_DOMCHGTYPE_DYNAMIC, SCIP_INVALIDDATA, SCIP_OKAY, SCIPdebugMessage, SCIPerrorMessage, and SCIPvarIsIntegral().
Referenced by SCIPdomchgAddBoundchg(), and SCIPdomchgAddHolechg().
| 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().
|
static |
ensures, that boundchgs array can store at least num entries
| domchg | domain change data structure |
| blkmem | block memory |
| set | global SCIP settings |
| num | minimum number of entries to store |
Definition at line 1540 of file var.c.
References assert(), BMSreallocBlockMemoryArray, SCIP_DomChgDyn::boundchgs, SCIP_DomChgDyn::boundchgssize, SCIP_DomChg::domchgdyn, SCIP_DomChgDyn::domchgtype, i, SCIP_BoundChg::newboundexact, NULL, SCIP_ALLOC, SCIP_DOMCHGTYPE_DYNAMIC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by SCIPdomchgAddBoundchg().
|
static |
ensures, that holechgs array can store at least num additional entries
| domchg | domain change data structure |
| blkmem | block memory |
| set | global SCIP settings |
| num | minimum number of additional entries to store |
Definition at line 1567 of file var.c.
References assert(), BMSreallocBlockMemoryArray, SCIP_DomChg::domchgdyn, SCIP_DomChgDyn::domchgtype, SCIP_DomChgDyn::holechgs, SCIP_DomChgDyn::holechgssize, NULL, SCIP_ALLOC, SCIP_DOMCHGTYPE_DYNAMIC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by SCIPdomchgAddHolechg().
| 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().
| 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().
| 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.
returns adjusted lower bound value, which is rounded for integral variable types
| set | global SCIP settings |
| isintegral | is variable integral? |
| lb | lower bound to adjust |
Definition at line 1888 of file var.c.
References SCIP_Bool, SCIP_Real, SCIPsetEpsilon(), SCIPsetFeasCeil(), SCIPsetInfinity(), and SCIPsetIsInfinity().
Referenced by SCIPvarAddHoleGlobal(), SCIPvarAddHoleLocal(), SCIPvarAddHoleOriginal(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarAdjustLb(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgLbOriginal(), varAddTransitiveImplic(), varCreate(), varProcessAddHoleGlobal(), varProcessAddHoleLocal(), varProcessChgLbGlobal(), and varProcessChgLbLocal().
returns adjusted lower bound value, which is rounded for integral variable types
| isintegral | is variable integral? |
| lb | lower bound to adjust |
Definition at line 1908 of file var.c.
References SCIP_Bool, and SCIP_Real.
Referenced by SCIPvarAdjustLbExactFloat().
|
static |
returns adjusted lower bound value, which is rounded for integral variable types
| set | global SCIP settings |
| isintegral | is variable integral? |
| lb | lower bound to adjust |
Definition at line 1921 of file var.c.
References SCIP_Bool, SCIP_R_ROUND_UPWARDS, SCIPrationalGetReal(), SCIPrationalIsNegative(), SCIPrationalIsPositive(), SCIPrationalRoundInteger(), SCIPrationalSetInfinity(), SCIPrationalSetNegInfinity(), and SCIPsetIsInfinity().
Referenced by SCIPvarAdjustLbExact(), SCIPvarChgLbGlobalExact(), SCIPvarChgLbLocalExact(), SCIPvarChgLbOriginalExact(), varProcessChgLbGlobalExact(), and varProcessChgLbLocalExact().
returns adjusted upper bound value, which is rounded for integral variable types
| set | global SCIP settings |
| isintegral | is variable integral? |
| ub | upper bound to adjust |
Definition at line 1937 of file var.c.
References SCIP_Bool, SCIP_Real, SCIPsetEpsilon(), SCIPsetFeasFloor(), SCIPsetInfinity(), and SCIPsetIsInfinity().
Referenced by SCIPvarAddHoleGlobal(), SCIPvarAddHoleLocal(), SCIPvarAddHoleOriginal(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarAdjustUb(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarChgUbOriginal(), varAddTransitiveImplic(), varCreate(), varProcessAddHoleGlobal(), varProcessAddHoleLocal(), varProcessChgUbGlobal(), and varProcessChgUbLocal().
returns adjusted upperbound value, which is rounded for integral variable types
| isintegral | is variable integral? |
| lb | lower bound to adjust |
Definition at line 1957 of file var.c.
References SCIP_Bool, and SCIP_Real.
Referenced by SCIPvarAdjustUbExactFloat().
|
static |
returns adjusted lower bound value, which is rounded for integral variable types
| set | global SCIP settings |
| isintegral | is variable integral? |
| ub | lower bound to adjust |
Definition at line 1970 of file var.c.
References SCIP_Bool, SCIP_R_ROUND_DOWNWARDS, SCIPrationalGetReal(), SCIPrationalIsNegative(), SCIPrationalIsPositive(), SCIPrationalRoundInteger(), SCIPrationalSetInfinity(), SCIPrationalSetNegInfinity(), and SCIPsetIsInfinity().
Referenced by SCIPvarAdjustUbExact(), SCIPvarChgUbGlobalExact(), SCIPvarChgUbLocalExact(), SCIPvarChgUbOriginalExact(), varProcessChgUbGlobalExact(), and varProcessChgUbLocalExact().
writes the approximate exact multi-aggregate data in the floating-point structs
Definition at line 1986 of file var.c.
References i, SCIP_VARSTATUS_MULTAGGR, SCIPrationalGetReal(), SCIPvarGetStatus(), and var.
Referenced by SCIPvarFlattenAggregationGraph().
| 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().
|
static |
sets the variable name
| var | problem variable |
| blkmem | block memory |
| stat | problem statistics, or NULL |
| name | name of variable, or NULL for automatic name creation |
Definition at line 2294 of file var.c.
References assert(), BMSduplicateBlockMemoryArray, NULL, SCIP_Stat::nvaridx, SCIP_ALLOC, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPsnprintf(), and var.
Referenced by SCIPvarChgName(), and varCreate().
|
static |
creates variable; 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 |
| 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 2325 of file var.c.
References adjustedLb(), adjustedUb(), assert(), BMSallocBlockMemory, FALSE, i, NLOCKTYPES, NULL, SCIP_Stat::nvaridx, obj, REALABS, SCIP_ALLOC, SCIP_Bool, SCIP_BRANCHDIR_AUTO, SCIP_CALL, SCIP_DECL_VARCOPY, SCIP_DECL_VARDELORIG, SCIP_DECL_VARDELTRANS, SCIP_DECL_VARTRANS, SCIP_DEPRECATED_VARTYPE_IMPLINT, SCIP_IMPLINTTYPE_NONE, SCIP_INVALID, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_REAL_MAX, SCIP_REAL_MIN, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_INTEGER, SCIPerrorMessage, SCIPhistoryCreate(), SCIPsetInfinity(), SCIPsetIsInfinity(), var, and varSetName().
Referenced by SCIPvarCreateOriginal(), SCIPvarCreateTransformed(), SCIPvarNegate(), SCIPvarParseOriginal(), and SCIPvarParseTransformed().
| 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().
|
static |
parse given string for a value
| set | global SCIP settings |
| str | string to parse |
| value | pointer to store the parsed value |
| valueexact | pointer to store the parsed exact value |
Definition at line 2872 of file var.c.
References assert(), NULL, SCIP_OKAY, SCIP_READERROR, SCIP_Real, SCIPerrorMessage, SCIPrationalCanonicalize(), SCIPrationalDebugMessage, SCIPrationalIsString(), SCIPrationalSetString(), SCIPsetDebugMsg, SCIPsetInfinity(), and SCIPstrToRealValue().
Referenced by parseBounds(), and varParse().
|
static |
parse the characters as bounds
| set | global SCIP settings |
| str | string to parse |
| type | bound type (global, local, or lazy) |
| lb | pointer to store the lower bound |
| ub | pointer to store the upper bound |
| lbexact | pointer to store the exact lower bound |
| ubexact | pointer to store the exact upper bound |
| endptr | pointer to store the final string position if successfully parsed (or NULL if an error occured) |
Definition at line 2926 of file var.c.
References NULL, parseValue(), SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPsetDebugMsg, and SCIPstrCopySection().
Referenced by varParse().
|
static |
parses a given string for a variable informations
| set | global SCIP settings |
| messagehdlr | message handler |
| str | string to parse |
| name | pointer to store the variable name |
| lb | pointer to store the lower bound |
| ub | pointer to store the upper bound |
| obj | pointer to store the objective coefficient |
| lbexact | pointer to store the exact lower bound |
| ubexact | pointer to store the exact upper bound |
| objexact | pointer to store the exact objective coefficient |
| vartype | pointer to store the variable type |
| impltype | pointer to store the implied integral type |
| lazylb | pointer to store if the lower bound is lazy |
| lazyub | pointer to store if the upper bound is lazy |
| lazylbexact | pointer to store if the exact lower bound is lazy |
| lazyubexact | pointer to store if the exact upper bound is lazy |
| local | should the local bound be applied |
| endptr | pointer to store the final string position if successfully |
| success | pointer store if the paring process was successful |
Definition at line 2972 of file var.c.
References assert(), FALSE, i, NULL, obj, parseBounds(), parseValue(), SCIP_Bool, SCIP_CALL, SCIP_IMPLINTTYPE_NONE, SCIP_IMPLINTTYPE_STRONG, SCIP_IMPLINTTYPE_WEAK, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_R_ROUND_DOWNWARDS, SCIP_R_ROUND_UPWARDS, SCIP_READERROR, SCIP_Real, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_INTEGER, SCIPerrorMessage, SCIPmessagePrintWarning(), SCIPrationalIsGTReal(), SCIPrationalIsNegative(), SCIPrationalRoundReal(), SCIPrationalSetInfinity(), SCIPrationalSetNegInfinity(), SCIPrationalSetRational(), SCIPsetDebugMsg, SCIPsetInfinity(), SCIPskipSpace(), SCIPstrCopySection(), and TRUE.
Referenced by SCIPvarParseOriginal(), and SCIPvarParseTransformed().
| 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().
|
static |
ensures, that parentvars array of var can store at least num entries
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| num | minimum number of entries to store |
Definition at line 3479 of file var.c.
References assert(), BMSreallocBlockMemoryArray, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), and var.
Referenced by varAddParent().
|
static |
adds variable to parent list of a variable and captures parent variable
| var | variable to add parent to |
| blkmem | block memory of transformed problem |
| set | global SCIP settings |
| parentvar | parent variable to add |
Definition at line 3503 of file var.c.
References assert(), SCIP_Var::name, NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_ORIGINAL, SCIPsetDebugMsg, SCIPvarCapture(), SCIPvarGetStatus(), var, and varEnsureParentvarsSize().
Referenced by SCIPvarAggregate(), SCIPvarAggregateExact(), SCIPvarNegate(), and SCIPvarTransform().
|
static |
deletes and releases all variables from the parent list of a variable, frees the memory of parents array
| var | pointer to variable |
| blkmem | block memory |
| set | global SCIP settings |
| eventqueue | event queue (or NULL, if it's an original variable) |
| lp | current LP data (or NULL, if it's an original variable) |
Definition at line 3531 of file var.c.
References SCIP_Var::aggregate, assert(), BMSfreeBlockMemoryArrayNull, SCIP_Var::data, i, SCIP_Var::multaggr, SCIP_Var::negatedvar, NULL, SCIP_Multaggr::nvars, SCIP_Var::original, SCIP_Var::parentvars, SCIP_Multaggr::scalars, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPsetDebugMsg, SCIPvarGetStatus(), SCIPvarRelease(), SCIP_Original::transvar, SCIP_Aggregate::var, var, and SCIP_Multaggr::vars.
Referenced by varFree().
|
static |
free exact variable data, if it exists
| var | variable |
| blkmem | block memory |
| set | global SCIP settings |
Definition at line 3604 of file var.c.
References assert(), BMSfreeBlockMemory, NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPcolExactFree(), SCIPrationalFreeBlock(), SCIPrationalFreeBlockArray(), SCIPvarGetStatusExact(), and var.
Referenced by varFree().
|
static |
frees a variable
| var | pointer to variable |
| blkmem | block memory |
| set | global SCIP settings |
| eventqueue | event queue (may be NULL, if it's not a column variable) |
| lp | current LP data (may be NULL, if it's not a column variable) |
Definition at line 3656 of file var.c.
References assert(), BMSfreeBlockMemory, BMSfreeBlockMemoryArray, BMSfreeBlockMemoryArrayNull, holelistFree(), NULL, 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, SCIPcliquelistFree(), SCIPcolFree(), SCIPerrorMessage, SCIPeventfilterFree(), SCIPhistoryFree(), SCIPimplicsFree(), SCIPsetDebugMsg, SCIPvaluehistoryFree(), SCIPvarGetStatus(), SCIPvboundsFree(), var, varFreeExactData(), and varFreeParents().
Referenced by SCIPvarRelease().
| 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
| 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().
|
static |
outputs the given bounds into the file stream
| set | global SCIP settings |
| messagehdlr | message handler |
| file | output file (or NULL for standard output) |
| lb | lower bound |
| ub | upper bound |
| name | bound type name |
Definition at line 3859 of file var.c.
References assert(), NULL, SCIP_Real, SCIPmessageFPrintInfo(), and SCIPsetIsInfinity().
Referenced by SCIPvarPrint().
|
static |
outputs the given exact bounds into the file stream
| messagehdlr | message handler |
| file | output file (or NULL for standard output) |
| lb | exact lower bound |
| ub | exact upper bound |
| name | bound type name |
Definition at line 3889 of file var.c.
References assert(), NULL, SCIPmessageFPrintInfo(), SCIPrationalIsInfinity(), SCIPrationalIsNegInfinity(), and SCIPrationalMessage().
Referenced by SCIPvarPrint().
|
static |
prints hole list to file stream
| messagehdlr | message handler |
| file | output file (or NULL for standard output) |
| holelist | hole list pointer to hole of interest |
| name | hole type name |
Definition at line 3919 of file var.c.
References NULL, SCIP_Real, SCIPholelistGetLeft(), SCIPholelistGetNext(), SCIPholelistGetRight(), and SCIPmessageFPrintInfo().
Referenced by SCIPvarPrint().
| 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().
|
static |
issues a VARUNLOCKED event on the given variable
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| eventqueue | event queue |
Definition at line 4179 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_LOCKTYPE_MODEL, SCIP_OKAY, SCIPeventCreateVarUnlocked(), SCIPeventqueueAdd(), and var.
Referenced by SCIPvarAddLocks().
| 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 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 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 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().
|
static |
issues a VARFIXED event on the given variable and all its parents (except ORIGINAL parents); the event issuing on the parents is necessary, because unlike with bound changes, the parent variables are not informed about a fixing of an active variable they are pointing to
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| eventqueue | event queue |
| fixeventtype | is this event a fixation(0), an aggregation(1), or a multi-aggregation(2) |
Definition at line 4725 of file var.c.
References assert(), i, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPeventCreateVarFixed(), SCIPeventqueueAdd(), SCIPvarGetStatus(), var, and varEventVarFixed().
Referenced by SCIPvarAggregate(), SCIPvarAggregateExact(), SCIPvarFix(), SCIPvarFixExact(), SCIPvarMultiaggregate(), SCIPvarMultiaggregateExact(), and varEventVarFixed().
| 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).
| 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 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
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.
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| eventqueue | event queue |
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().
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 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.
update min/maxaggrcoef of a loose variable
| var | problem variable that is used in aggregation |
| aggvar | variable that is aggregated |
| aggscalar | coefficient that is used for var in the aggregation of aggvar |
Definition at line 6147 of file var.c.
References assert(), SCIP_Var::data, SCIP_Var::loose, SCIP_Loose::maxaggrcoef, SCIP_Loose::minaggrcoef, NULL, REALABS, SCIP_Real, SCIP_VARSTATUS_LOOSE, SCIPvarGetStatus(), and var.
Referenced by SCIPvarAggregate(), and SCIPvarMultiaggregate().
|
static |
tightens the bounds of both variables in aggregation x = a*y + c
| 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 |
| aggvar | 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 |
| fixed | pointer to store whether the variables were fixed |
Definition at line 6174 of file var.c.
References assert(), FALSE, SCIP_Var::glbdom, SCIP_Dom::lb, MAX, MIN, SCIP_Var::name, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPsetDebugMsg, SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsGT(), SCIPsetIsInfinity(), SCIPsetIsLT(), SCIPsetIsZero(), SCIPvarAdjustLb(), SCIPvarAdjustUb(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarFix(), TRUE, SCIP_Dom::ub, and var.
Referenced by SCIPvarAggregate().
|
static |
tightens the bounds of both variables in aggregation x = a*y + c
| 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 |
| aggvar | 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 |
| fixed | pointer to store whether the variables were fixed |
Definition at line 6366 of file var.c.
References assert(), SCIP_Var::exactdata, FALSE, SCIP_VarDataExact::glbdom, SCIP_DomExact::lb, SCIP_Lp::lpexact, SCIP_Var::name, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPrationalAdd(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiff(), SCIPrationalDiv(), SCIPrationalFreeBuffer(), SCIPrationalIsEQ(), SCIPrationalIsGT(), SCIPrationalIsInfinity(), SCIPrationalIsLT(), SCIPrationalIsNegInfinity(), SCIPrationalIsPositive(), SCIPrationalIsZero(), SCIPrationalMax(), SCIPrationalMin(), SCIPrationalMult(), SCIPrationalSetInfinity(), SCIPrationalSetNegInfinity(), SCIPrationalSetRational(), SCIPvarAdjustLbExact(), SCIPvarAdjustUbExact(), SCIPvarChgLbGlobalExact(), SCIPvarChgUbGlobalExact(), SCIPvarFixExact(), TRUE, SCIP_DomExact::ub, and var.
Referenced by SCIPvarAggregateExact().
| 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().
|
static |
Tries to aggregate an equality a*x + b*y == c consisting of two (implicit) integral active problem variables x and y. An integer aggregation (i.e. integral coefficients a' and b', such that a'*x + b'*y == c') is searched.
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 | integral variable x in equality a*x + b*y == c |
| vary | integral 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 7183 of file var.c.
References a, ABS, assert(), b, c, FALSE, MAXDNOM, MIN, NULL, SCIP_Stat::nvaridx, REALABS, SCIP_Bool, SCIP_CALL, SCIP_Longint, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_VARSTATUS_LOOSE, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_INTEGER, SCIPcalcGreComDiv(), SCIPcalcSmaComMul(), SCIPprobAddVar(), SCIPrealToRational(), SCIPsetDebugMsg, SCIPsetEpsilon(), SCIPsetFeasFloor(), SCIPsetFeastol(), SCIPsetGetHugeValue(), SCIPsetGetStage(), SCIPsetInfinity(), SCIPsetIsFeasIntegral(), SCIPsetIsZero(), SCIPsnprintf(), SCIPvarAggregate(), SCIPvarCreateTransformed(), SCIPvarDoNotAggr(), SCIPvarGetImplType(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsImpliedIntegral(), SCIPvarIsInitial(), SCIPvarIsRemovable(), SCIPvarRelease(), and TRUE.
Referenced by SCIPvarTryAggregateVars().
|
static |
Tries to aggregate an equality a*x + b*y == c consisting of two (implicit) integral active problem variables x and y. An integer aggregation (i.e. integral coefficients a' and b', such that a'*x + b'*y == c') is searched.
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 | integral variable x in equality a*x + b*y == c |
| vary | integral 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 7421 of file var.c.
References a, ABS, assert(), b, c, FALSE, MIN, NULL, SCIP_Stat::nvaridx, REALABS, SCIP_Bool, SCIP_CALL, SCIP_Longint, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_R_ROUND_DOWNWARDS, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_VARSTATUS_LOOSE, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_INTEGER, SCIPcalcGreComDiv(), SCIPcalcSmaComMul(), SCIPprobAddVar(), SCIPrationalCanonicalize(), SCIPrationalCreateBuffer(), SCIPrationalDenominator(), SCIPrationalFreeBuffer(), SCIPrationalIsIntegral(), SCIPrationalIsZero(), SCIPrationalMult(), SCIPrationalNumerator(), SCIPrationalRoundLong(), SCIPrationalSetFraction(), SCIPrationalSetInfinity(), SCIPrationalSetNegInfinity(), SCIPsetFeastol(), SCIPsetGetHugeValue(), SCIPsetGetStage(), SCIPsetInfinity(), SCIPsnprintf(), SCIPvarAddExactData(), SCIPvarAggregateExact(), SCIPvarCreateTransformed(), SCIPvarGetImplType(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsImpliedIntegral(), SCIPvarIsInitial(), SCIPvarIsRemovable(), SCIPvarRelease(), and TRUE.
Referenced by SCIPvarTryAggregateVarsExact().
| 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.
| 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.
| 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 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().
transformed variables are resolved to their active, fixed, or multi-aggregated problem variable of a variable, or for original variables the same variable is returned
| var | problem variable |
Definition at line 8794 of file var.c.
References SCIP_Var::aggregate, assert(), SCIP_Var::data, SCIP_Var::multaggr, SCIP_Var::negatedvar, NULL, SCIP_Multaggr::nvars, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPdebugMessage, SCIPerrorMessage, SCIPvarGetStatus(), TRUE, SCIP_Aggregate::var, var, and SCIP_Multaggr::vars.
Referenced by SCIPvarDoNotAggr(), SCIPvarDoNotMultaggr(), SCIPvarMarkDoNotAggr(), and SCIPvarMarkDoNotMultaggr().
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
| set | global SCIP settings |
| var | problem variable |
| scalar | aggregation scalar |
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().
|
static |
adds correct bound-data to negated variable
| negvar | the negated variable |
| origvar | the original variable |
| blkmem | block memory of transformed problem |
Definition at line 8933 of file var.c.
References assert(), SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::exactdata, FALSE, SCIP_Var::glbdom, SCIP_VarDataExact::glbdom, SCIP_Dom::lb, SCIP_DomExact::lb, SCIP_Var::locdom, SCIP_VarDataExact::locdom, SCIP_Var::negate, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_NEGATED, SCIPrationalDiffReal(), SCIPrationalIsEQReal(), SCIPrationalNegate(), SCIPvarCopyExactData(), SCIP_Dom::ub, SCIP_DomExact::ub, and SCIP_VarDataExact::varstatusexact.
Referenced by SCIPvarNegate().
| 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().
|
static |
informs variable that its position in problem's vars array changed
| var | problem variable |
| probindex | new problem index of variable (-1 for removal) |
Definition at line 9071 of file var.c.
References assert(), NULL, SCIP_VARSTATUS_COLUMN, SCIPvarGetStatus(), and var.
Referenced by SCIPvarRemove(), and SCIPvarSetProbindex().
| 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 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 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().
|
static |
appends OBJCHANGED event to the event queue
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| primal | primal data |
| lp | current LP data |
| eventqueue | event queue |
| oldobj | old objective value for variable |
| newobj | new objective value for variable |
Definition at line 9349 of file var.c.
References assert(), newobj, NULL, oldobj, REALABS, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPeventCreateObjChanged(), SCIPeventqueueAdd(), SCIPsetEpsilon(), SCIPsetIsEQ(), SCIPvarGetStatus(), SCIPvarIsTransformed(), and var.
Referenced by SCIPvarAddObj(), and SCIPvarChgObj().
|
static |
appends OBJCHANGED event to the event queue
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| primal | primal data |
| lp | current LP data |
| eventqueue | event queue |
| oldobj | old objective value for variable |
| newobj | new objective value for variable |
Definition at line 9385 of file var.c.
References assert(), newobj, NULL, oldobj, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPeventAddExactObjChg(), SCIPeventCreateObjChanged(), SCIPeventqueueAdd(), SCIPrationalGetReal(), SCIPrationalIsEQ(), SCIPvarGetStatus(), SCIPvarIsTransformed(), and var.
Referenced by SCIPvarAddObjExact(), and SCIPvarChgObjExact().
| 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 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 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
| var | problem variable |
| set | global SCIP settings |
| lb | pointer to lower bound to adjust |
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
| var | problem variable |
| set | global SCIP settings |
| lb | pointer to lower bound to adjust |
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
| var | problem variable |
| set | global SCIP settings |
| lb | pointer to lower bound to adjust |
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
| var | problem variable |
| set | global SCIP settings |
| ub | pointer to upper bound to adjust |
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
| var | problem variable |
| set | global SCIP settings |
| ub | pointer to lower bound to adjust |
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
| var | problem variable |
| set | global SCIP settings |
| ub | pointer to lower bound to adjust |
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
| var | problem variable to change |
| set | global SCIP settings |
| newbound | new bound for variable |
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
| var | problem variable to change |
| set | global SCIP settings |
| newbound | new bound for variable |
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
| var | problem variable to change |
| set | global SCIP settings |
| newbound | new bound for variable |
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
| var | problem variable to change |
| set | global SCIP settings |
| newbound | new bound for variable |
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().
|
static |
appends GLBCHANGED event to the event queue
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| oldbound | old lower bound for variable |
| newbound | new lower bound for variable |
Definition at line 10294 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_EVENTTYPE_GLBCHANGED, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPeventCreateGlbChanged(), SCIPeventqueueAdd(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPvarGetStatus(), SCIPvarIsTransformed(), and var.
Referenced by varProcessChgLbGlobal().
|
static |
appends GLBCHANGED event to the event queue
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| oldbound | old lower bound for variable |
| newbound | new lower bound for variable |
Definition at line 10332 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_EVENTTYPE_GLBCHANGED, SCIP_OKAY, SCIP_R_ROUND_DOWNWARDS, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPeventAddExactBdChg(), SCIPeventCreateGlbChanged(), SCIPeventqueueAdd(), SCIPrationalDebugMessage, SCIPrationalIsEQ(), SCIPrationalRoundReal(), SCIPvarGetStatus(), SCIPvarIsTransformed(), and var.
Referenced by varProcessChgLbGlobalExact().
|
static |
appends GUBCHANGED event to the event queue
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| oldbound | old lower bound for variable |
| newbound | new lower bound for variable |
Definition at line 10371 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_EVENTTYPE_GUBCHANGED, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPeventCreateGubChanged(), SCIPeventqueueAdd(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPvarGetStatus(), SCIPvarIsTransformed(), and var.
Referenced by varProcessChgUbGlobal().
|
static |
appends exact GUBCHANGED event to the event queue
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| oldbound | old lower bound for variable |
| newbound | new lower bound for variable |
Definition at line 10409 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_EVENTTYPE_GUBCHANGED, SCIP_OKAY, SCIP_R_ROUND_UPWARDS, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPeventAddExactBdChg(), SCIPeventCreateGubChanged(), SCIPeventqueueAdd(), SCIPrationalGetReal(), SCIPrationalIsEQ(), SCIPrationalRoundReal(), SCIPsetDebugMsg, SCIPvarGetStatus(), SCIPvarIsTransformed(), and var.
Referenced by varProcessChgUbGlobalExact().
|
static |
appends GHOLEADDED event to the event queue
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| eventqueue | event queue |
| left | left bound of open interval in new hole |
| right | right bound of open interval in new hole |
Definition at line 10448 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_EVENTTYPE_GHOLEADDED, SCIP_OKAY, SCIP_Real, SCIPeventCreateGholeAdded(), SCIPeventqueueAdd(), SCIPsetDebugMsg, SCIPsetIsLT(), SCIPvarIsTransformed(), and var.
Referenced by varProcessAddHoleGlobal().
increases root bound change statistics after a global bound change
| var | problem variable to change |
| set | global SCIP settings |
| stat | problem statistics |
Definition at line 10480 of file var.c.
References assert(), SCIP_Stat::nrootboundchgs, SCIP_Stat::nrootboundchgsrun, SCIP_Stat::nrootintfixings, SCIP_Stat::nrootintfixingsrun, NULL, SCIP_STAGE_SOLVING, SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsIntegral(), SCIPvarIsTransformed(), and var.
Referenced by varProcessChgLbGlobal(), varProcessChgLbGlobalExact(), varProcessChgUbGlobal(), and varProcessChgUbGlobalExact().
|
static |
performs the current change in upper bound, changes all parents accordingly
| 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 10700 of file var.c.
References adjustedUb(), SCIP_Var::aggregate, assert(), SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, domMerge(), FALSE, SCIP_Var::glbdom, i, SCIP_Dom::lb, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Aggregate::scalar, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIP_VARTYPE_BINARY, SCIPdebugCheckUbGlobal, SCIPerrorMessage, SCIPrationalIsGTReal(), SCIPrationalSetReal(), SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGE(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLE(), SCIPsetIsGE(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetUbGlobalExact(), SCIPvarIsIntegral(), SCIPvarIsTransformed(), SCIPvarRemoveCliquesImplicsVbs(), TRUE, SCIP_Dom::ub, SCIP_Aggregate::var, var, varEventGubChanged(), varIncRootboundchgs(), varProcessChgLbGlobal(), and varProcessChgUbGlobal().
Referenced by SCIPvarChgUbGlobal(), varProcessChgLbGlobal(), and varProcessChgUbGlobal().
|
static |
performs the current change in lower bound, changes all parents accordingly
| 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 10521 of file var.c.
References adjustedLb(), SCIP_Var::aggregate, assert(), SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, domMerge(), FALSE, SCIP_Var::glbdom, i, SCIP_Dom::lb, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Aggregate::scalar, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIP_VARTYPE_BINARY, SCIPdebugCheckLbGlobal, SCIPerrorMessage, SCIPrationalIsLTReal(), SCIPrationalSetReal(), SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLE(), SCIPsetIsInfinity(), SCIPsetIsLE(), SCIPsetIsNegative(), SCIPsetIsZero(), SCIPvarGetLbGlobalExact(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarIsIntegral(), SCIPvarIsTransformed(), SCIPvarRemoveCliquesImplicsVbs(), TRUE, SCIP_Dom::ub, SCIP_Aggregate::var, var, varEventGlbChanged(), varIncRootboundchgs(), varProcessChgLbGlobal(), and varProcessChgUbGlobal().
Referenced by SCIPvarChgLbGlobal(), varProcessChgLbGlobal(), and varProcessChgUbGlobal().
|
static |
performs the current change in exact upper bound, changes all parents accordingly
| 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 11035 of file var.c.
References adjustedUbExact(), SCIP_Var::aggregate, SCIP_VarDataExact::aggregate, assert(), SCIP_AggregateExact::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::exactdata, SCIP_LpExact::fplp, i, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_AggregateExact::scalar, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_R_ROUND_UPWARDS, SCIP_STAGE_PROBLEM, 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, SCIPrationalAdd(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiffReal(), SCIPrationalFreeBuffer(), SCIPrationalIsAbsInfinity(), SCIPrationalIsEQ(), SCIPrationalIsEQReal(), SCIPrationalIsGE(), SCIPrationalIsIntegral(), SCIPrationalIsLE(), SCIPrationalIsLT(), SCIPrationalIsPositive(), SCIPrationalMult(), SCIPrationalNegate(), SCIPrationalRoundReal(), SCIPrationalSetRational(), SCIPsetGetStage(), SCIPvarGetStatus(), SCIPvarIsIntegral(), SCIPvarIsTransformed(), SCIP_Aggregate::var, var, varEventGubChangedExact(), varIncRootboundchgs(), varProcessChgLbGlobalExact(), and varProcessChgUbGlobalExact().
Referenced by SCIPvarChgUbGlobalExact(), varProcessChgLbGlobalExact(), and varProcessChgUbGlobalExact().
|
static |
performs the current change in lower bound, changes all parents accordingly
| 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 |
Definition at line 10893 of file var.c.
References adjustedLbExact(), SCIP_Var::aggregate, SCIP_VarDataExact::aggregate, assert(), SCIP_AggregateExact::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::exactdata, SCIP_LpExact::fplp, i, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_AggregateExact::scalar, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_R_ROUND_DOWNWARDS, SCIP_STAGE_PROBLEM, 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, SCIPrationalAdd(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiffReal(), SCIPrationalFreeBuffer(), SCIPrationalIsAbsInfinity(), SCIPrationalIsEQ(), SCIPrationalIsEQReal(), SCIPrationalIsGT(), SCIPrationalIsIntegral(), SCIPrationalIsLE(), SCIPrationalIsPositive(), SCIPrationalMult(), SCIPrationalNegate(), SCIPrationalRoundReal(), SCIPrationalSetRational(), SCIPsetGetStage(), SCIPvarGetStatus(), SCIPvarIsIntegral(), SCIPvarIsTransformed(), SCIP_Aggregate::var, var, varEventGlbChangedExact(), varIncRootboundchgs(), varProcessChgLbGlobalExact(), and varProcessChgUbGlobalExact().
Referenced by SCIPvarChgLbGlobalExact(), varProcessChgLbGlobalExact(), and varProcessChgUbGlobalExact().
| 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 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 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 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 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 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 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
| var | problem variable |
| set | global SCIP settings |
| lazylb | the lazy lower bound to be set |
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
| var | problem variable |
| set | global SCIP settings |
| lazyub | the lazy upper bound to be set |
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 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().
|
static |
appends LBTIGHTENED or LBRELAXED event to the event queue
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| oldbound | old lower bound for variable |
| newbound | new lower bound for variable |
Definition at line 11876 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_EVENTTYPE_LBCHANGED, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPeventCreateLbChanged(), SCIPeventqueueAdd(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPvarGetStatus(), SCIPvarIsTransformed(), and var.
Referenced by varProcessChgLbLocal().
|
static |
appends LBTIGHTENED or LBRELAXED event to the event queue
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| oldbound | old lower bound for variable |
| newbound | new lower bound for variable |
Definition at line 11914 of file var.c.
References assert(), SCIP_LpExact::fplp, NULL, SCIP_CALL, SCIP_EVENTTYPE_LBCHANGED, SCIP_OKAY, SCIP_R_ROUND_DOWNWARDS, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPeventAddExactBdChg(), SCIPeventCreateLbChanged(), SCIPeventqueueAdd(), SCIPrationalDebugMessage, SCIPrationalRoundReal(), SCIPvarGetStatus(), SCIPvarIsTransformed(), and var.
Referenced by varProcessChgLbLocalExact().
|
static |
appends UBTIGHTENED or UBRELAXED event to the event queue
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| oldbound | old upper bound for variable |
| newbound | new upper bound for variable |
Definition at line 11952 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_EVENTTYPE_UBCHANGED, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPeventCreateUbChanged(), SCIPeventqueueAdd(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPvarGetStatus(), SCIPvarIsTransformed(), and var.
Referenced by varProcessChgUbLocal().
|
static |
appends exact UBTIGHTENED or UBRELAXED event to the event queue
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| lp | current LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| oldbound | old upper bound for variable |
| newbound | new upper bound for variable |
Definition at line 11990 of file var.c.
References assert(), SCIP_LpExact::fplp, NULL, SCIP_CALL, SCIP_EVENTTYPE_UBCHANGED, SCIP_OKAY, SCIP_R_ROUND_UPWARDS, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPeventAddExactBdChg(), SCIPeventCreateUbChanged(), SCIPeventqueueAdd(), SCIPrationalGetReal(), SCIPrationalRoundReal(), SCIPsetDebugMsg, SCIPvarGetStatus(), SCIPvarIsTransformed(), and var.
Referenced by varProcessChgUbLocalExact().
|
static |
performs the current change in upper bound, changes all parents accordingly
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics, or NULL if the bound change belongs to updating the parent variables |
| 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 12230 of file var.c.
References adjustedUb(), SCIP_Var::aggregate, assert(), SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, domMerge(), SCIP_Var::glbdom, i, SCIP_Interval::inf, SCIP_Dom::lb, SCIP_Var::locdom, MAX, MIN, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Aggregate::scalar, SCIP_CALL, SCIP_INTERVAL_INFINITY, 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, SCIP_VARTYPE_BINARY, SCIPcertificateGetLastBoundIndex(), SCIPerrorMessage, SCIPgetCertificate(), SCIPinProbing(), SCIPintervalAddScalar(), SCIPintervalMulScalar(), SCIPintervalSet(), SCIPisCertified(), SCIPrationalMin(), SCIPrationalSetReal(), SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGE(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLE(), SCIPsetIsGE(), SCIPsetIsInfinity(), SCIPsetIsIntegral(), SCIPsetIsNegative(), SCIPsetIsZero(), SCIPstatIncrement, SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsIntegral(), SCIPvarIsTransformed(), SCIPvarSetUbCertificateIndexLocal(), SCIP_Interval::sup, SCIP_Dom::ub, SCIP_Aggregate::var, var, varEventUbChanged(), varProcessChgLbLocal(), and varProcessChgUbLocal().
Referenced by SCIPvarChgUbLocal(), varProcessChgLbLocal(), and varProcessChgUbLocal().
|
static |
performs the current change in lower bound, changes all parents accordingly
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics, or NULL if the bound change belongs to updating the parent variables |
| 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 12043 of file var.c.
References adjustedLb(), SCIP_Var::aggregate, assert(), SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, domMerge(), SCIP_Var::glbdom, i, SCIP_Interval::inf, SCIP_Dom::lb, SCIP_Var::locdom, MAX, MIN, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Aggregate::scalar, SCIP_CALL, SCIP_INTERVAL_INFINITY, 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, SCIP_VARTYPE_BINARY, SCIPcertificateGetLastBoundIndex(), SCIPerrorMessage, SCIPgetCertificate(), SCIPinProbing(), SCIPintervalAddScalar(), SCIPintervalMulScalar(), SCIPintervalSet(), SCIPisCertified(), SCIPrationalMax(), SCIPrationalSetReal(), SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGE(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLE(), SCIPsetIsInfinity(), SCIPsetIsIntegral(), SCIPsetIsLE(), SCIPsetIsNegative(), SCIPsetIsZero(), SCIPstatIncrement, SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsIntegral(), SCIPvarIsTransformed(), SCIPvarSetLbCertificateIndexLocal(), SCIP_Interval::sup, SCIP_Dom::ub, SCIP_Aggregate::var, var, varEventLbChanged(), varProcessChgLbLocal(), and varProcessChgUbLocal().
Referenced by SCIPvarChgLbLocal(), varProcessChgLbLocal(), and varProcessChgUbLocal().
|
static |
performs the current change in upper bound, changes all parents accordingly
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics, or NULL if the bound change belongs to updating the parent variables |
| 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 12572 of file var.c.
References adjustedUbExact(), SCIP_Var::aggregate, SCIP_VarDataExact::aggregate, assert(), SCIP_AggregateExact::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::exactdata, i, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_AggregateExact::scalar, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_R_ROUND_UPWARDS, SCIP_STAGE_PROBLEM, 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, SCIPrationalAdd(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiffReal(), SCIPrationalFreeBuffer(), SCIPrationalIsAbsInfinity(), SCIPrationalIsEQ(), SCIPrationalIsEQReal(), SCIPrationalIsGE(), SCIPrationalIsIntegral(), SCIPrationalIsPositive(), SCIPrationalIsZero(), SCIPrationalMax(), SCIPrationalMin(), SCIPrationalMult(), SCIPrationalNegate(), SCIPrationalRoundReal(), SCIPrationalSetRational(), SCIPsetGetStage(), SCIPstatIncrement, SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsIntegral(), SCIPvarIsTransformed(), SCIP_Aggregate::var, var, varEventUbChangedExact(), varProcessChgLbLocalExact(), and varProcessChgUbLocalExact().
Referenced by SCIPvarChgUbLocalExact(), varProcessChgLbLocalExact(), and varProcessChgUbLocalExact().
|
static |
performs the current change in lower bound, changes all parents accordingly
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics, or NULL if the bound change belongs to updating the parent variables |
| 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 12430 of file var.c.
References adjustedLbExact(), SCIP_Var::aggregate, SCIP_VarDataExact::aggregate, assert(), SCIP_AggregateExact::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::exactdata, i, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_AggregateExact::scalar, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_R_ROUND_DOWNWARDS, SCIP_STAGE_PROBLEM, 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, SCIPrationalAdd(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiffReal(), SCIPrationalFreeBuffer(), SCIPrationalIsAbsInfinity(), SCIPrationalIsEQ(), SCIPrationalIsEQReal(), SCIPrationalIsIntegral(), SCIPrationalIsLE(), SCIPrationalIsPositive(), SCIPrationalIsZero(), SCIPrationalMax(), SCIPrationalMin(), SCIPrationalMult(), SCIPrationalNegate(), SCIPrationalRoundReal(), SCIPrationalSetRational(), SCIPsetGetStage(), SCIPstatIncrement, SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsIntegral(), SCIPvarIsTransformed(), SCIP_Aggregate::var, var, varEventLbChangedExact(), varProcessChgLbLocalExact(), and varProcessChgUbLocalExact().
Referenced by SCIPvarChgLbLocalExact(), varProcessChgLbLocalExact(), and varProcessChgUbLocalExact().
| 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 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 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 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
| var | problem variable |
| set | global SCIP settings |
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
| var | problem variable |
| set | global SCIP settings |
| result | the resulting bound |
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
| var | problem variable |
| set | global SCIP settings |
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 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
| var | problem variable |
| set | global SCIP settings |
| result | the resulting bound |
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
| var | problem variable |
| set | global SCIP settings |
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
| var | problem variable |
| set | global SCIP settings |
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.
|
static |
performs the current add of domain, changes all parents accordingly
| 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 14049 of file var.c.
References adjustedLb(), adjustedUb(), SCIP_Var::aggregate, assert(), SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, domAddHole(), domMerge(), i, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Aggregate::scalar, 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, SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsGE(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), SCIPvarIsIntegral(), SCIPvarIsTransformed(), SCIP_Aggregate::var, var, varEventGholeAdded(), and varProcessAddHoleGlobal().
Referenced by SCIPvarAddHoleGlobal(), and varProcessAddHoleGlobal().
| 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 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().
|
static |
performs the current add of domain, changes all parents accordingly
| 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, or NULL |
Definition at line 14297 of file var.c.
References adjustedLb(), adjustedUb(), SCIP_Var::aggregate, assert(), SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, domAddHole(), domMerge(), i, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Aggregate::scalar, SCIP_Bool, SCIP_CALL, SCIP_EVENTTYPE_LHOLEADDED, 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, SCIPeventChgType(), SCIPeventProcess(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsGE(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIPvarIsIntegral(), SCIP_Aggregate::var, var, and varProcessAddHoleLocal().
Referenced by SCIPvarAddHoleLocal(), and varProcessAddHoleLocal().
| 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
| var | problem variable |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
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().
|
static |
issues a IMPLADDED event on the given variable
| var | problem variable to change |
| blkmem | block memory |
| set | global SCIP settings |
| eventqueue | event queue |
Definition at line 14575 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPeventCreateImplAdded(), SCIPeventqueueAdd(), and var.
Referenced by varAddImplic(), and varAddVbound().
|
static |
actually performs the addition of a variable bound to the variable's vbound arrays
| var | problem variable x in x <= b*z + d or x >= b*z + d |
| blkmem | block memory |
| set | global SCIP settings |
| eventqueue | event queue |
| vbtype | type of variable bound (LOWER or UPPER) |
| vbvar | variable z in x <= b*z + d or x >= b*z + d |
| vbcoef | coefficient b in x <= b*z + d or x >= b*z + d |
| vbconstant | constant d in x <= b*z + d or x >= b*z + d |
Definition at line 14595 of file var.c.
References assert(), SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPdebugCheckVbound, SCIPsetDebugMsg, SCIPsetIsGE(), SCIPsetIsLE(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), SCIPvboundsAdd(), var, and varEventImplAdded().
Referenced by SCIPvarAddVlb(), SCIPvarAddVub(), and varAddImplic().
|
static |
checks whether the given implication is redundant or infeasible w.r.t. the implied variables global bounds
| set | global SCIP settings |
| 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 |
| redundant | pointer to store whether the implication is redundant |
| infeasible | pointer to store whether the implication is infeasible |
Definition at line 14693 of file var.c.
References assert(), NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_Real, SCIPsetIsFeasGE(), SCIPsetIsFeasGT(), SCIPsetIsFeasLE(), SCIPsetIsFeasLT(), SCIPvarGetLbGlobal(), and SCIPvarGetUbGlobal().
Referenced by varAddImplic().
|
static |
applies the given implication, if it is not redundant
| 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 |
| 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 |
| infeasible | pointer to store whether an infeasibility was detected |
| nbdchgs | pointer to count the number of performed bound changes, or NULL |
Definition at line 14724 of file var.c.
References assert(), FALSE, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_SOLVING, SCIPnodeAddBoundchg(), SCIPprobIsTransformed(), SCIPsetGetStage(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPtreeGetRootNode(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), and TRUE.
Referenced by SCIPvarAddImplic(), and varAddImplic().
|
static |
actually performs the addition of an implication to the variable's implication arrays, and 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 |
| isshortcut | is the implication a shortcut, i.e., added as part of the transitive closure of another implication? |
| infeasible | pointer to store whether an infeasibility was detected |
| nbdchgs | pointer to count the number of performed bound changes, or NULL |
| added | pointer to store whether an implication was added |
Definition at line 14824 of file var.c.
References applyImplic(), assert(), checkImplic(), FALSE, MAXABSVBCOEF, NULL, REALABS, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_SOLVING, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARTYPE_BINARY, SCIPcliquetableAdd(), SCIPdebugCheckImplic, SCIPimplicsAdd(), SCIPnodeAddBoundchg(), SCIPprobIsTransformed(), SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasZero(), SCIPsetIsGT(), SCIPsetIsLT(), SCIPsetIsZero(), SCIPtreeGetRootNode(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsBinary(), TRUE, var, varAddVbound(), varEventImplAdded(), and vars.
Referenced by varAddTransitiveBinaryClosureImplic(), and varAddTransitiveImplic().
|
static |
adds transitive closure for binary implication x = a -> y = b
| 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 |
| implvarfixing | fixing b in implication |
| infeasible | pointer to store whether an infeasibility was detected |
| nbdchgs | pointer to count the number of performed bound changes, or NULL |
Definition at line 15033 of file var.c.
References assert(), FALSE, i, SCIP_Var::implics, MAXIMPLSCLOSURE, MIN, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPimplicsGetBounds(), SCIPimplicsGetNImpls(), SCIPimplicsGetTypes(), SCIPimplicsGetVars(), SCIPvarIsActive(), TRUE, var, and varAddImplic().
Referenced by varAddTransitiveImplic().
|
static |
adds given implication to the variable's implication list, and adds all implications directly implied by this implication to the variable's implication list; 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 count the number of performed bound changes, or NULL |
Definition at line 15107 of file var.c.
References adjustedLb(), adjustedUb(), assert(), FALSE, i, MIN, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_NEGATED, SCIP_VARTYPE_BINARY, SCIPsetIsZero(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsActive(), SCIPvarIsImpliedIntegral(), SCIPvarIsIntegral(), SCIPvboundsGetCoefs(), SCIPvboundsGetConstants(), SCIPvboundsGetNVbds(), SCIPvboundsGetVars(), TRUE, var, varAddImplic(), varAddTransitiveBinaryClosureImplic(), SCIP_Var::vlbs, and SCIP_Var::vubs.
Referenced by SCIPvarAddImplic(), SCIPvarAddVlb(), and SCIPvarAddVub().
| 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 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 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.
|
static |
actually changes the branch factor of the variable and of all parent variables
| var | problem variable |
| set | global SCIP settings |
| branchfactor | factor to weigh variable's branching score with |
Definition at line 16828 of file var.c.
References assert(), eps, i, MAX, NULL, SCIP_CALL, SCIP_ERROR, 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, SCIPsetDebugMsg, SCIPsetEpsilon(), SCIPsetIsEQ(), SCIPvarGetStatus(), var, and varProcessChgBranchFactor().
Referenced by SCIPvarChgBranchFactor(), and varProcessChgBranchFactor().
| 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().
|
static |
actually changes the branch priority of the variable and of all parent variables
| var | problem variable |
| branchpriority | branching priority of the variable |
Definition at line 16963 of file var.c.
References assert(), i, NULL, SCIP_CALL, SCIP_ERROR, 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, SCIPdebugMessage, SCIPerrorMessage, SCIPvarGetStatus(), var, and varProcessChgBranchPriority().
Referenced by SCIPvarChgBranchPriority(), and varProcessChgBranchPriority().
| 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().
|
static |
actually changes the branch direction of the variable and of all parent variables
| var | problem variable |
| branchdirection | preferred branch direction of the variable (downwards, upwards, auto) |
Definition at line 17083 of file var.c.
References SCIP_Var::aggregate, assert(), SCIP_Var::data, i, NULL, SCIP_Aggregate::scalar, SCIP_CALL, SCIP_ERROR, 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, SCIPbranchdirOpposite(), SCIPdebugMessage, SCIPerrorMessage, SCIPvarGetStatus(), var, and varProcessChgBranchDirection().
Referenced by SCIPvarChgBranchDirection(), and varProcessChgBranchDirection().
| 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().
| 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 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().
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
| var | problem variable |
| set | global SCIP settings |
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
| var | problem variable |
| set | global SCIP settings |
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().
gets pseudo solution value of variable at current node
| var | problem variable |
Definition at line 18907 of file var.c.
References assert(), i, NULL, SCIP_DEFAULT_INFINITY, 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, SCIPvarGetBestBoundLocal(), SCIPvarGetPseudoSol(), SCIPvarGetStatus(), and var.
Referenced by SCIPvarGetPseudoSol().
|
static |
gets exact pseudo solution value of variable at current node
| var | problem variable |
Definition at line 18975 of file var.c.
References assert(), NULL, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPvarGetBestBoundLocalExact(), SCIPvarGetPseudoSolExact(), SCIPvarGetStatusExact(), and var.
Referenced by SCIPvarGetPseudoSolExact().
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 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().
|
static |
returns for given variable the reduced cost
| var | problem variable |
| set | global SCIP settings |
| varfixing | FALSE if for x == 0, TRUE for x == 1 |
| stat | problem statistics |
| lp | current LP data |
Definition at line 19180 of file var.c.
References assert(), NULL, primsol, SCIP_BASESTAT_LOWER, SCIP_BASESTAT_UPPER, SCIP_Bool, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPcolGetBasisStatus(), SCIPcolGetPrimsol(), SCIPcolGetRedcost(), SCIPlpIsSolBasic(), SCIPsetIsDualfeasNegative(), SCIPsetIsDualfeasPositive(), SCIPsetIsFeasEQ(), SCIPvarGetCol(), SCIPvarGetLbLocal(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), TRUE, and var.
Referenced by SCIPvarGetImplRedcost().
| 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().
returns the solution value of the problem variable in the relaxation solution
| var | problem variable |
| set | global SCIP settings |
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_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().
| 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().
| 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 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().
| 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 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().
|
static |
find the corresponding history entry if already existing, otherwise create new entry
| var | problem variable |
| value | domain value, or SCIP_UNKNOWN |
| 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 |
| history | pointer to store the value based history, or NULL |
Definition at line 21048 of file var.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPvaluehistoryCreate(), SCIPvaluehistoryFind(), and var.
Referenced by SCIPvarIncCutoffSum(), SCIPvarIncInferenceSum(), SCIPvarIncNActiveConflicts(), SCIPvarIncNBranchings(), and SCIPvarIncVSIDS().
check if value based history should be used
| var | problem variable |
| value | domain value, or SCIP_UNKNOWN |
| set | global SCIP settings, or NULL if the domain value is SCIP_UNKNOWN |
Definition at line 21075 of file var.c.
References assert(), FALSE, NULL, SCIP_Bool, SCIP_Real, SCIP_UNKNOWN, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIPvarGetType(), TRUE, and var.
Referenced by SCIPvarIncCutoffSum(), SCIPvarIncInferenceSum(), SCIPvarIncNActiveConflicts(), SCIPvarIncNBranchings(), and SCIPvarIncVSIDS().
| 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 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 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 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 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().
| 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_DECL_HASHGETKEY | ( | SCIPhashGetKeyVar | ) |
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().
| 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.
| 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().
| 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().
| 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_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().
| 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().
|
static |
bound change index representing the initial time before any bound changes took place
Definition at line 22758 of file var.c.
Referenced by SCIPvarGetLastBdchgIndex().
|
static |
bound change index representing the presolving stage
Definition at line 22761 of file var.c.
Referenced by SCIPvarGetLastBdchgIndex().