internal methods for problem variables
Definition in file var.h.
#include "scip/def.h"
#include "blockmemshell/memory.h"
#include "scip/type_retcode.h"
#include "scip/type_set.h"
#include "scip/type_stat.h"
#include "scip/type_misc.h"
#include "scip/type_history.h"
#include "scip/type_event.h"
#include "scip/type_lp.h"
#include "scip/type_var.h"
#include "scip/type_prob.h"
#include "scip/type_primal.h"
#include "scip/type_tree.h"
#include "scip/type_reopt.h"
#include "scip/type_branch.h"
#include "scip/type_cons.h"
#include "scip/pub_var.h"
#include "scip/pub_misc.h"
#include "scip/struct_var.h"
Go to the source code of this file.
SCIP_RETCODE SCIPboundchgApply | ( | SCIP_BOUNDCHG * | boundchg, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_LP * | lp, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
int | depth, | ||
int | pos, | ||
SCIP_Bool * | cutoff | ||
) |
applies single bound change
boundchg | bound change to apply |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics |
lp | current LP data |
branchcand | branching candidate storage |
eventqueue | event queue |
depth | depth in the tree, where the bound change takes place |
pos | position of the bound change in its bound change array |
cutoff | pointer to store whether an infeasible bound change was detected |
Definition at line 550 of file var.c.
References SCIP_BoundChg::applied, SCIP_BoundChg::boundchgtype, SCIP_BoundChg::boundtype, SCIP_BoundChg::data, FALSE, SCIP_BoundChg::inferboundtype, SCIP_BoundChg::inferencedata, SCIP_Stat::lastbranchdir, SCIP_Stat::lastbranchvalue, SCIP_Stat::lastbranchvar, SCIP_Dom::lb, SCIP_Var::locdom, SCIP_BoundChg::newbound, NULL, SCIP_BoundChg::redundant, 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, SCIPboundchgUndo(), SCIPconsGetName(), SCIPerrorMessage, SCIPpropGetName(), SCIPsetDebugMsg, SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsIntegral(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPvarChgLbLocal(), SCIPvarChgUbLocal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarIncInferenceSum(), SCIPvarIncNBranchings(), SCIPvarIsIntegral(), TRUE, SCIP_Dom::ub, SCIP_BoundChg::var, varAddLbchginfo(), and varAddUbchginfo().
Referenced by SCIPdomchgApply(), SCIPnodeAddBoundinfer(), and varAddUbchginfo().
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 747 of file var.c.
References SCIP_BdChgInfo::bdchgidx, boundchgApplyGlobal(), SCIP_BoundChg::boundchgtype, SCIP_BoundChg::boundtype, SCIP_BdChgIdx::depth, SCIP_Var::glbdom, SCIP_Stat::lastbranchvalue, SCIP_Stat::lastbranchvar, SCIP_Dom::lb, SCIP_Var::lbchginfos, SCIP_Var::locdom, SCIP_BoundChg::newbound, SCIP_BdChgInfo::newbound, SCIP_Var::nlbchginfos, SCIP_Var::nubchginfos, NULL, SCIP_BdChgInfo::oldbound, SCIP_BdChgIdx::pos, 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, SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetIsFeasEQ(), SCIPsetIsFeasGE(), SCIPsetIsFeasLE(), SCIPvarChgLbLocal(), SCIPvarChgUbLocal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIP_Dom::ub, SCIP_Var::ubchginfos, and SCIP_BoundChg::var.
Referenced by SCIPboundchgApply(), and SCIPdomchgUndo().
SCIP_RETCODE SCIPdomchgApplyGlobal | ( | SCIP_DOMCHG * | domchg, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_LP * | lp, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_CLIQUETABLE * | cliquetable, | ||
SCIP_Bool * | cutoff | ||
) |
applies domain change to the global problem
domchg | domain change to apply |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics |
lp | current LP data |
branchcand | branching candidate storage |
eventqueue | event queue |
cliquetable | clique table data structure |
cutoff | pointer to store whether an infeasible domain change was detected |
Definition at line 1306 of file var.c.
References boundchgApplyGlobal(), SCIP_DomChgBound::boundchgs, SCIP_DomChg::domchgbound, FALSE, SCIP_DomChgBound::nboundchgs, NULL, SCIP_CALL, SCIP_OKAY, SCIPdomchgAddBoundchg(), and SCIPsetDebugMsg.
Referenced by SCIPdomchgUndo(), and SCIPnodeFocus().
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 983 of file var.c.
References BMSfreeBlockMemoryArrayNull, BMSfreeBlockMemorySize, boundchgReleaseData(), domchgMakeDynamic(), NULL, SCIP_CALL, SCIP_DOMCHGTYPE_BOTH, SCIP_DOMCHGTYPE_BOUND, SCIP_DOMCHGTYPE_DYNAMIC, SCIP_INVALIDDATA, SCIP_OKAY, and SCIPerrorMessage.
Referenced by domchgCreate(), SCIPdomchgMakeStatic(), and SCIPnodeFree().
SCIP_RETCODE SCIPdomchgMakeStatic | ( | SCIP_DOMCHG ** | domchg, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp | ||
) |
converts a dynamic domain change data into a static one, using less memory than for a dynamic one
domchg | pointer to domain change data |
blkmem | block memory |
set | global SCIP settings |
eventqueue | event queue |
lp | current LP data |
Definition at line 1084 of file var.c.
References BMSfreeBlockMemoryArrayNull, BMSreallocBlockMemoryArray, BMSreallocBlockMemorySize, domchgEnsureBoundchgsSize(), 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 domchgMakeDynamic(), focusnodeToFork(), focusnodeToJunction(), focusnodeToPseudofork(), nodeRepropagate(), and nodeToLeaf().
SCIP_RETCODE SCIPdomchgApply | ( | SCIP_DOMCHG * | domchg, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_LP * | lp, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
int | depth, | ||
SCIP_Bool * | cutoff | ||
) |
applies domain change
domchg | domain change to apply |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics |
lp | current LP data |
branchcand | branching candidate storage |
eventqueue | event queue |
depth | depth in the tree, where the domain change takes place |
cutoff | pointer to store whether an infeasible domain change was detected |
Definition at line 1222 of file var.c.
References SCIP_DomChgBound::boundchgs, SCIP_DomChg::domchgboth, SCIP_DomChg::domchgbound, SCIP_DomChg::domchgdyn, SCIP_DomChgDyn::domchgtype, FALSE, SCIP_DomChgBoth::holechgs, SCIP_DomChgBound::nboundchgs, SCIP_HoleChg::newlist, SCIP_DomChgBoth::nholechgs, NULL, SCIP_HoleChg::ptr, SCIP_BoundChg::redundant, SCIP_CALL, SCIP_DOMCHGTYPE_BOUND, SCIP_OKAY, SCIPboundchgApply(), SCIPdomchgUndo(), SCIPsetDebugMsg, and TRUE.
Referenced by domchgEnsureHolechgsSize(), and 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 1271 of file var.c.
References SCIP_DomChgBound::boundchgs, SCIP_DomChg::domchgboth, SCIP_DomChg::domchgbound, SCIP_DomChg::domchgdyn, SCIP_DomChgDyn::domchgtype, SCIP_DomChgBoth::holechgs, SCIP_DomChgBound::nboundchgs, SCIP_DomChgBoth::nholechgs, NULL, SCIP_HoleChg::oldlist, SCIP_HoleChg::ptr, SCIP_CALL, SCIP_DOMCHGTYPE_BOUND, SCIP_OKAY, SCIPboundchgUndo(), SCIPdomchgApplyGlobal(), and SCIPsetDebugMsg.
Referenced by nodeDeactivate(), and SCIPdomchgApply().
SCIP_RETCODE SCIPdomchgAddBoundchg | ( | SCIP_DOMCHG ** | domchg, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_VAR * | var, | ||
SCIP_Real | newbound, | ||
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 |
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 1345 of file var.c.
References SCIP_BoundChg::applied, boundchgCaptureData(), SCIP_BoundChg::boundchgtype, SCIP_BoundChg::boundtype, SCIP_BoundChg::branchingdata, SCIP_BoundChg::data, domchgCreate(), SCIP_DomChg::domchgdyn, domchgEnsureBoundchgsSize(), domchgMakeDynamic(), FALSE, SCIP_BoundChg::inferboundtype, SCIP_BoundChg::inferencedata, SCIP_Var::name, SCIP_DomChgDyn::nboundchgs, SCIP_BoundChg::newbound, 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_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIP_VARTYPE_CONTINUOUS, SCIPdomchgAddHolechg(), SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsFeasIntegral(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsBinary(), and SCIP_BoundChg::var.
Referenced by SCIPdomchgApplyGlobal(), and SCIPnodeAddBoundinfer().
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 1442 of file var.c.
References adjustedLb(), domchgCreate(), SCIP_DomChg::domchgdyn, domchgEnsureHolechgsSize(), domchgMakeDynamic(), SCIP_HoleChg::newlist, SCIP_DomChgDyn::nholechgs, NULL, SCIP_HoleChg::oldlist, SCIP_HoleChg::ptr, SCIP_CALL, SCIP_DOMCHGTYPE_DYNAMIC, SCIP_OKAY, and SCIP_Real.
Referenced by SCIPdomchgAddBoundchg().
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 15660 of file var.c.
References BMSallocBlockMemory, FALSE, NULL, SCIP_ALLOC, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_OKAY, and SCIPbdchginfoFree().
Referenced by conflictCreateTmpBdchginfo(), and SCIPvarGetAvgCutoffsCurrentRun().
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 15690 of file var.c.
References BMSfreeBlockMemory, NULL, and SCIPvarGetLbchgInfo().
Referenced by conflictFreeTmpBdchginfos(), and SCIPbdchginfoCreate().
SCIP_Real SCIPbdchginfoGetRelaxedBound | ( | SCIP_BDCHGINFO * | bdchginfo | ) |
returns the relaxed bound change type
bdchginfo | bound change to add to the conflict set |
Definition at line 17907 of file var.c.
References SCIP_BdChgInfo::boundtype, SCIP_Var::conflictrelaxedlb, SCIP_Var::conflictrelaxedub, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIPbdchginfoIsRedundant(), and SCIP_BdChgInfo::var.
Referenced by conflictAnalyze(), conflictCreateReconvergenceConss(), conflictResolveBound(), conflictsetAddBounds(), and SCIPbdchginfoGetInferBoundtype().
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_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 |
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 1993 of file var.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_ORIGINAL, SCIPvarCapture(), SCIPvarCreateTransformed(), and varCreate().
Referenced by SCIPcreateVar(), SCIPvarCopy(), and varCreate().
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_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 |
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 2036 of file var.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_LOOSE, SCIPeventfilterCreate(), SCIPvarCapture(), SCIPvarCopy(), and varCreate().
Referenced by SCIPcreateVar(), SCIPvarCreateOriginal(), SCIPvarTransform(), and tryAggregateIntVars().
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 2078 of file var.c.
References SCIP_Var::donotmultaggr, NULL, parseValue(), 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(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetLbOriginal(), SCIPvarGetName(), SCIPvarGetObj(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), SCIPvarGetUbOriginal(), SCIPvarIsInitial(), SCIPvarIsRemovable(), SCIPvarMergeHistories(), and SCIP_Var::vardata.
Referenced by SCIPgetVarCopy(), and SCIPvarCreateTransformed().
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 2404 of file var.c.
References FALSE, NULL, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_ORIGINAL, SCIPvarCapture(), SCIPvarParseTransformed(), varCreate(), and varParse().
Referenced by SCIPparseVar(), and varParse().
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 2468 of file var.c.
References NULL, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_LOOSE, SCIPeventfilterCreate(), SCIPvarCapture(), TRUE, varCreate(), varEnsureParentvarsSize(), and varParse().
Referenced by SCIPparseVar(), and SCIPvarParseOriginal().
void SCIPvarCapture | ( | SCIP_VAR * | var | ) |
increases usage counter of variable
var | variable |
Definition at line 2753 of file var.c.
References SCIP_Var::name, NULL, SCIP_Var::nuses, SCIPdebugMessage, and SCIPvarRelease().
Referenced by boundchgCaptureData(), nlpAddVars(), SCIPcaptureVar(), SCIPpricestoreAddBdviolvar(), SCIPpricestoreAddVar(), SCIPprobAddVar(), SCIPtransformVar(), SCIPtransformVars(), SCIPvarCreateOriginal(), SCIPvarCreateTransformed(), SCIPvarParseOriginal(), SCIPvarParseTransformed(), SCIPvarTransform(), treeAddPendingBdchg(), varAddParent(), and varFree().
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 2765 of file var.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPsetDebugMsg, SCIPvarChgName(), and varFree().
Referenced by boundchgReleaseData(), nlpDelVarPos(), SCIPpricestoreAddVar(), SCIPpricestoreApplyVars(), SCIPpricestoreResetBounds(), SCIPprobFree(), SCIPprobPerformVarDeletions(), SCIPprobTransform(), SCIPreleaseVar(), SCIPtreeClear(), SCIPvarCapture(), treeApplyPendingBdchgs(), tryAggregateIntVars(), and varFreeParents().
SCIP_RETCODE SCIPvarChgName | ( | SCIP_VAR * | var, |
BMS_BLKMEM * | blkmem, | ||
const char * | name | ||
) |
change variable name change variable name
change variable name
var | problem variable |
blkmem | block memory |
name | name of variable |
Definition at line 2792 of file var.c.
References BMSfreeBlockMemoryArray, SCIP_Var::name, NULL, SCIP_CALL, SCIP_OKAY, SCIPvarInitSolve(), and varSetName().
Referenced by SCIPchgVarName(), and SCIPvarRelease().
void SCIPvarInitSolve | ( | SCIP_VAR * | var | ) |
initializes variable data structure for solving
var | problem variable |
Definition at line 2810 of file var.c.
References SCIP_Var::conflictlbcount, SCIP_Var::conflictubcount, SCIP_Var::historycrun, NULL, printBounds(), and SCIPhistoryReset().
Referenced by SCIPprobInitSolve(), and SCIPvarChgName().
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 3290 of file var.c.
References SCIP_Var::branchdirection, SCIP_Var::branchfactor, SCIP_Var::branchpriority, SCIP_Var::data, SCIP_Var::donotmultaggr, FALSE, SCIP_Var::glbdom, SCIP_Var::history, SCIP_Dom::holelist, holelistDuplicate(), SCIP_Var::initial, SCIP_Var::lazylb, SCIP_Var::lazyub, SCIP_Dom::lb, SCIP_Var::locdom, SCIP_Var::name, SCIP_Var::nlocksdown, SCIP_Var::nlocksup, 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(), SCIPvarGetStatus(), SCIPvarGetTransformed(), SCIPvarGetType(), SCIP_Original::transvar, SCIP_Dom::ub, varAddParent(), SCIP_Var::vardata, SCIP_Var::vlbs, and SCIP_Var::vubs.
Referenced by SCIPprobTransform(), SCIPtransformVar(), SCIPtransformVars(), and SCIPvarMayRoundUp().
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 3371 of file var.c.
References SCIP_Var::data, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPvarColumn(), SCIPvarGetStatus(), SCIPvarNegate(), and SCIP_Original::transvar.
Referenced by SCIPgetTransformedVar(), SCIPgetTransformedVars(), and SCIPvarTransform().
SCIP_RETCODE SCIPvarColumn | ( | SCIP_VAR * | var, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_LP * | lp | ||
) |
converts transformed variable into column variable and creates LP column
converts loose transformed variable into column variable, creates LP column
var | problem variable |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics |
prob | problem data |
lp | current LP data |
Definition at line 3402 of file var.c.
References SCIP_Var::col, SCIP_Var::data, SCIP_Var::name, NULL, SCIP_Var::probindex, SCIP_Var::removable, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPcolCreate(), SCIPlpUpdateVarColumn(), SCIPprobVarChangedStatus(), SCIPsetDebugMsg, SCIPvarGetStatus(), SCIPvarLoose(), and SCIP_Var::varstatus.
Referenced by SCIPpricestoreApplyVars(), SCIPvarAddToRow(), and SCIPvarGetTransformed().
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 3436 of file var.c.
References SCIP_Var::col, SCIP_Var::data, SCIP_Col::lpipos, SCIP_Col::lppos, SCIP_Var::name, NULL, SCIP_Var::probindex, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPcolFree(), SCIPlpUpdateVarLoose(), SCIPprobVarChangedStatus(), SCIPsetDebugMsg, SCIPvarGetStatus(), varEventVarFixed(), and SCIP_Var::varstatus.
Referenced by SCIPprobExitSolve(), SCIPprobPerformVarDeletions(), and SCIPvarColumn().
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_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 |
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 3572 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::cliquelist, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, FALSE, SCIP_Var::glbdom, SCIP_Var::history, SCIP_Var::historycrun, SCIP_Dom::holelist, holelistFree(), SCIP_Var::implics, SCIP_Dom::lb, SCIP_Var::locdom, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::obj, SCIP_Var::original, SCIP_Var::probindex, SCIP_Aggregate::scalar, SCIP_Var::scip, 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_CONTINUOUS, SCIPABORT, SCIPerrorMessage, SCIPeventqueueIsDelayed(), SCIPhistoryReset(), SCIPlpDecNLoosevars(), SCIPprobVarChangedStatus(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLT(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPvarAddObj(), SCIPvarChgLbGlobal(), SCIPvarChgObj(), SCIPvarChgUbGlobal(), SCIPvarFix(), SCIPvarGetActiveRepresentatives(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarRemoveCliquesImplicsVbs(), SCIP_Original::transvar, TRUE, SCIP_Dom::ub, SCIP_Aggregate::var, varEventVarFixed(), SCIP_Var::varstatus, SCIP_Var::vlbs, and SCIP_Var::vubs.
Referenced by SCIPaggregateVars(), SCIPfixVar(), SCIPinferBinvarCons(), SCIPinferBinvarProp(), SCIPinferVarFixCons(), SCIPinferVarFixProp(), SCIPvarAggregate(), SCIPvarFix(), SCIPvarMultiaggregate(), varEventVarFixed(), and varUpdateAggregationBounds().
SCIP_RETCODE SCIPvarGetActiveRepresentatives | ( | SCIP_SET * | set, |
SCIP_VAR ** | vars, | ||
SCIP_Real * | scalars, | ||
int * | nvars, | ||
int | varssize, | ||
SCIP_Real * | 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 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 the required array size for the active variables |
mergemultiples | should multiple occurrences of a var be replaced by a single coeff? |
Definition at line 3741 of file var.c.
References SCIP_Var::data, FALSE, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_Var::multaggr, NULL, SCIP_Multaggr::nvars, SCIP_Multaggr::scalars, SCIP_Bool, SCIP_CALL, 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, SCIPsetAllocBufferArray, SCIPsetDuplicateBufferArray, SCIPsetFreeBufferArray, SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPsetReallocBufferArray, SCIPsortedvecFindPtr(), SCIPsortPtrReal(), SCIPvarCompare(), SCIPvarFlattenAggregationGraph(), SCIPvarGetMultaggrConstant(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), TRUE, SCIP_Dom::ub, and SCIP_Multaggr::vars.
Referenced by SCIPgetProbvarLinearSum(), SCIPsolRetransform(), SCIPvarFix(), SCIPvarFlattenAggregationGraph(), and SCIPvarMultiaggregate().
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 11953 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::multaggr, SCIP_Var::negatedvar, NULL, SCIP_Var::original, 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, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPvarGetOrigvarSum(), SCIPvarGetStatus(), SCIP_Original::transvar, SCIP_Aggregate::var, and SCIP_Multaggr::vars.
Referenced by conflictResolveBound(), convertToActiveVar(), nlrowAddToLinearCoef(), nlrowRemoveFixedLinearCoefPos(), nlrowRemoveFixedQuadVars(), SCIPaggregateVars(), SCIPexprtreeRemoveFixedVars(), SCIPgetProbvarSum(), SCIPnlrowAddLinearCoef(), SCIPprimalTransformSol(), SCIPtreeBranchVar(), SCIPtreeBranchVarNary(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarAggregate(), SCIPvarGetActiveRepresentatives(), and SCIPvarGetProbvarHole().
SCIP_RETCODE SCIPvarFlattenAggregationGraph | ( | SCIP_VAR * | var, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set | ||
) |
flattens aggregation graph of multi-aggregated variable in order to avoid exponential recursion later-on
flattens aggregation graph of multi-aggregated variable in order to avoid exponential recursion later on
Note, that there are two cases where SCIPvarFlattenAggregationGraph() is called: The easier one is that it is called while installing the multi-aggregation. in principle, the described issue could be handled straightforward in this case by aggregating or fixing the variable instead. The more complicated case is the one, when the multi-aggregation is used, e.g., in linear presolving (and the variable is already declared to be multi-aggregated).
By now, it is not allowed to fix or aggregate multi-aggregated variables which would be necessary in this case.
The same issue appears in the SCIPvarGetProbvar...() methods.
var | problem variable |
blkmem | block memory |
set | global SCIP settings |
Definition at line 4143 of file var.c.
References BMSreallocBlockMemoryArray, SCIP_Multaggr::constant, SCIP_Var::data, SCIP_Var::multaggr, NULL, SCIP_Multaggr::nvars, SCIP_Multaggr::scalars, SCIP_Var::scip, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPvarGetActiveRepresentatives(), SCIPvarGetStatus(), SCIPvarMergeHistories(), TRUE, SCIP_Multaggr::vars, and SCIP_Multaggr::varssize.
Referenced by exitPresolve(), SCIPflattenVarAggregationGraph(), and SCIPvarGetActiveRepresentatives().
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 11313 of file var.c.
References SCIP_Var::aggregate, BMScopyMemoryArray, SCIP_Var::data, SCIP_Var::multaggr, SCIP_Var::negatedvar, NULL, SCIP_Multaggr::nvars, SCIP_Var::original, 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(), SCIP_Original::transvar, SCIP_Aggregate::var, and SCIP_Multaggr::vars.
Referenced by SCIP_DECL_HASHKEYVAL(), and SCIPgetActiveVars().
SCIP_RETCODE SCIPvarTryAggregateVars | ( | SCIP_SET * | set, |
BMS_BLKMEM * | blkmem, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob, | ||
SCIP_PRIMAL * | primal, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_CLIQUETABLE * | cliquetable, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTFILTER * | eventfilter, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_VAR * | varx, | ||
SCIP_VAR * | vary, | ||
SCIP_Real | scalarx, | ||
SCIP_Real | scalary, | ||
SCIP_Real | rhs, | ||
SCIP_Bool * | infeasible, | ||
SCIP_Bool * | aggregated | ||
) |
performs second step of SCIPaggregateVars(): the variable to be aggregated is chosen among active problem variables x' and y', preferring a less strict variable type as aggregation variable (i.e. continuous variables are preferred over implicit integers, implicit integers or integers over binaries). If none of the variables is continuous, it is tried to find an integer aggregation (i.e. integral coefficients a'' and b'', such that a''*x' + b''*y' == c''). This can lead to the detection of infeasibility (e.g. if c'' is fractional), or to a rejection of the aggregation (denoted by aggregated == FALSE), if the resulting integer coefficients are too large and thus numerically instable.
performs second step of SCIPaggregateVars(): the variable to be aggregated is chosen among active problem variables x' and y', preferring a less strict variable type as aggregation variable (i.e. continuous variables are preferred over implicit integers, implicit integers or integers over binaries). If none of the variables is continuous, it is tried to find an integer aggregation (i.e. integral coefficients a'' and b'', such that a''*x' + b''*y' == c''). This can lead to the detection of infeasibility (e.g. if c'' is fractional), or to a rejection of the aggregation (denoted by aggregated == FALSE), if the resulting integer coefficients are too large and thus numerically instable.
set | global SCIP settings |
blkmem | block memory |
stat | problem statistics |
transprob | tranformed problem data |
origprob | original problem data |
primal | primal data |
tree | branch and bound tree |
reopt | reoptimization data structure |
lp | current LP data |
cliquetable | clique table data structure |
branchcand | branching candidate storage |
eventfilter | event filter for global (not variable dependent) events |
eventqueue | event queue |
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 4937 of file var.c.
References FALSE, MAX, NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_VARSTATUS_LOOSE, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPsetEpsilon(), SCIPsetFeastol(), SCIPsetGetStage(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasZero(), SCIPsetIsZero(), SCIPvarAggregate(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsBinary(), SCIPvarMultiaggregate(), TRUE, and tryAggregateIntVars().
Referenced by SCIPaggregateVars(), SCIPcliquetableCleanup(), SCIPvarMultiaggregate(), and tryAggregateIntVars().
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_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 |
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 4422 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::branchdirection, SCIP_Var::branchfactor, SCIP_Var::branchpriority, SCIP_Var::cliquelist, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::donotmultaggr, FALSE, SCIP_Var::glbdom, SCIP_Var::history, SCIP_Var::historycrun, SCIP_Var::implics, SCIP_Dom::lb, SCIP_Var::locdom, MAX, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, SCIP_Var::nlocksdown, SCIP_Var::nlocksup, NULL, SCIP_Var::obj, SCIP_Var::probindex, SCIP_Var::removable, SCIP_Aggregate::scalar, SCIP_Var::scip, 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(), SCIPeventqueueIsDelayed(), SCIPhistoryReset(), SCIPhistoryUnite(), SCIPimplicsFree(), SCIPimplicsGetBounds(), SCIPimplicsGetNImpls(), SCIPimplicsGetTypes(), SCIPimplicsGetVars(), SCIPprobVarChangedStatus(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarAddImplic(), SCIPvarAddLocks(), SCIPvarAddObj(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgBranchDirection(), SCIPvarChgBranchFactor(), SCIPvarChgBranchPriority(), SCIPvarChgObj(), SCIPvarFix(), SCIPvarGetHolelistGlobal(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsBinary(), SCIPvarMarkNotDeletable(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvboundsFree(), SCIPvboundsGetCoefs(), SCIPvboundsGetConstants(), SCIPvboundsGetNVbds(), SCIPvboundsGetVars(), TRUE, tryAggregateIntVars(), SCIP_Dom::ub, SCIP_Aggregate::var, varAddParent(), varEventVarFixed(), SCIP_Var::varstatus, varUpdateAggregationBounds(), SCIP_Var::vlbs, and SCIP_Var::vubs.
Referenced by SCIPvarTryAggregateVars(), tryAggregateIntVars(), and varUpdateAggregationBounds().
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_EVENTFILTER * | eventfilter, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
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 |
eventfilter | event filter for global (not variable dependent) events |
eventqueue | event queue |
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 5100 of file var.c.
References BMSduplicateBlockMemoryArray, BMSfreeBlockMemoryArray, BMSreallocBlockMemoryArray, SCIP_Var::branchdirection, SCIP_Var::branchfactor, SCIP_Var::branchpriority, SCIP_Var::cliquelist, SCIP_Multaggr::constant, SCIP_Negate::constant, SCIP_Var::data, FALSE, SCIP_Var::glbdom, SCIP_Var::implics, SCIP_Var::index, SCIP_Dom::lb, SCIP_Var::locdom, MAX, SCIP_Var::multaggr, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, SCIP_Var::nlocksdown, SCIP_Var::nlocksup, NULL, SCIP_Multaggr::nvars, SCIP_Var::obj, SCIP_Var::original, SCIP_Var::probindex, SCIP_Var::removable, SCIP_Multaggr::scalars, scalars, SCIP_Var::scip, SCIP_ALLOC, 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(), SCIPprobVarChangedStatus(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarAddLocks(), SCIPvarAddObj(), SCIPvarChgBranchDirection(), SCIPvarChgBranchFactor(), SCIPvarChgBranchPriority(), SCIPvarChgObj(), SCIPvarDoNotMultaggr(), SCIPvarFix(), SCIPvarGetActiveRepresentatives(), SCIPvarGetHolelistGlobal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarMarkNotDeletable(), SCIPvarMultiaggregate(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarTryAggregateVars(), SCIP_Original::transvar, TRUE, SCIP_Dom::ub, varEventVarFixed(), varGetActiveVar(), SCIP_Multaggr::vars, SCIP_Multaggr::varssize, SCIP_Var::varstatus, SCIP_Var::vlbs, and SCIP_Var::vubs.
Referenced by SCIPmultiaggregateVar(), SCIPvarMultiaggregate(), and SCIPvarTryAggregateVars().
returns whether variable is not allowed to be multi-aggregated
var | problem variable |
Definition at line 5492 of file var.c.
References SCIP_Var::donotmultaggr, FALSE, NULL, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPvarGetStatus(), SCIPvarNegate(), and varGetActiveVar().
Referenced by SCIPdoNotMultaggrVar(), SCIPvarMultiaggregate(), and varGetActiveVar().
void SCIPvarMarkDeleteGlobalStructures | ( | SCIP_VAR * | var | ) |
marks variable to be deleted from global structures (cliques etc.) when cleaning up
var | problem variable |
Definition at line 16809 of file var.c.
References SCIP_Var::delglobalstructs, NULL, SCIP_Bool, SCIPvarIsMarkedDeleteGlobalStructures(), and TRUE.
Referenced by SCIPremoveVarFromGlobalStructures(), and SCIPvarMarkNotDeletable().
returns whether the variable was flagged for deletion from global structures (cliques etc.)
var | problem variable |
Definition at line 16819 of file var.c.
References SCIP_Var::delglobalstructs, NULL, SCIP_Bool, and SCIPvarIsDeletable().
Referenced by cliqueCleanup(), SCIPcliquetableAdd(), and SCIPvarMarkDeleteGlobalStructures().
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 5527 of file var.c.
References SCIP_Var::branchdirection, SCIP_Var::branchfactor, SCIP_Var::branchpriority, SCIP_Var::donotmultaggr, SCIP_Var::glbdom, SCIP_Var::initial, SCIP_Var::lazylb, SCIP_Var::lazyub, SCIP_Dom::lb, SCIP_Var::locdom, SCIP_Var::name, SCIP_Var::negatedvar, NULL, SCIP_Var::removable, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_VARSTATUS_NEGATED, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPeventfilterCreate(), SCIPsetDebugMsg, SCIPsetIsInfinity(), SCIPsnprintf(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsBinary(), SCIPvarIsTransformed(), SCIPvarMarkNotDeletable(), SCIP_Dom::ub, varAddParent(), varCreate(), and varSetProbindex().
Referenced by addSplitcons(), SCIPgetNegatedVar(), SCIPgetNegatedVars(), SCIPreoptApplyGlbConss(), SCIPvarDoNotMultaggr(), and SCIPvarGetTransformed().
void SCIPvarSetProbindex | ( | SCIP_VAR * | var, |
int | probindex | ||
) |
informs variable that its position in problem's vars array changed
var | problem variable |
probindex | new problem index of variable |
Definition at line 5635 of file var.c.
References NULL, SCIPvarSetNamePointer(), and varSetProbindex().
Referenced by probInsertVar(), probRemoveVar(), and varSetProbindex().
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 5650 of file var.c.
References SCIP_Var::name, NULL, and SCIPvarRemove().
Referenced by resetVarname(), SCIPreaderWrite(), and SCIPvarSetProbindex().
SCIP_RETCODE SCIPvarRemove | ( | SCIP_VAR * | var, |
BMS_BLKMEM * | blkmem, | ||
SCIP_CLIQUETABLE * | cliquetable, | ||
SCIP_SET * | set, | ||
SCIP_Bool | final | ||
) |
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.
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? |
Definition at line 5668 of file var.c.
References FALSE, SCIP_Var::implics, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPimplicsFree(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarIsTransformed(), SCIPvarMarkDeleted(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvboundsFree(), TRUE, varSetProbindex(), SCIP_Var::vlbs, and SCIP_Var::vubs.
Referenced by probRemoveVar(), SCIPprobFree(), and SCIPvarSetNamePointer().
void SCIPvarMarkDeleted | ( | SCIP_VAR * | var | ) |
marks the variable to be deleted from the problem
var | problem variable |
Definition at line 5704 of file var.c.
References SCIP_Var::deleted, NULL, SCIP_Var::probindex, SCIPvarMarkDoNotMultaggr(), and TRUE.
Referenced by SCIPprobDelVar(), and SCIPvarRemove().
SCIP_RETCODE SCIPvarMarkDoNotMultaggr | ( | SCIP_VAR * | var | ) |
marks the variable to not to be multi-aggregated
var | problem variable |
Definition at line 5715 of file var.c.
References 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, SCIPvarChgType(), SCIPvarGetStatus(), TRUE, and varGetActiveVar().
Referenced by SCIPmarkDoNotMultaggrVar(), and SCIPvarMarkDeleted().
SCIP_RETCODE SCIPvarAddLocks | ( | SCIP_VAR * | var, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
int | addnlocksdown, | ||
int | addnlocksup | ||
) |
modifies lock numbers for rounding
var | problem variable |
blkmem | block memory |
set | global SCIP settings |
eventqueue | event queue |
addnlocksdown | increase in number of rounding down locks |
addnlocksup | increase in number of rounding up locks |
Definition at line 3047 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::donotmultaggr, SCIP_Var::multaggr, SCIP_Var::name, SCIP_Var::negatedvar, SCIP_Var::nlocksdown, SCIP_Var::nlocksup, NULL, SCIP_Multaggr::nvars, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Multaggr::scalars, SCIP_Var::scip, 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, SCIPsetDebugMsg, SCIPvarAddLocks(), SCIPvarGetNLocksDown(), SCIPvarGetStatus(), SCIP_Original::transvar, TRUE, SCIP_Aggregate::var, varEventVarUnlocked(), and SCIP_Multaggr::vars.
Referenced by SCIPaddVarLocks(), SCIPlockVarCons(), SCIPprobAddVar(), SCIPunlockVarCons(), SCIPvarAddLocks(), SCIPvarAggregate(), SCIPvarMultiaggregate(), and varEventVarUnlocked().
SCIP_RETCODE SCIPvarChgType | ( | SCIP_VAR * | var, |
SCIP_VARTYPE | vartype | ||
) |
changes type of variable; cannot be called, if var belongs to a problem
var | problem variable to change |
vartype | new type of variable |
Definition at line 5750 of file var.c.
References SCIP_Var::name, SCIP_Var::negatedvar, NULL, SCIP_Var::probindex, SCIP_INVALIDDATA, SCIP_OKAY, SCIPdebugMessage, SCIPerrorMessage, SCIPvarGetType(), varEventObjChanged(), and SCIP_Var::vartype.
Referenced by SCIPchgVarType(), SCIPprobChgVarType(), and SCIPvarMarkDoNotMultaggr().
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 5801 of file var.c.
References SCIP_Var::data, SCIP_Lp::divingobjchg, SCIP_Var::name, NULL, SCIP_Var::obj, SCIP_Prob::objscale, SCIP_Prob::objsense, SCIP_Var::original, SCIP_Var::scip, 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(), SCIPvarAddObj(), SCIPvarChgObj(), SCIPvarGetStatus(), SCIPvarIsActive(), SCIP_Original::transvar, SCIP_Var::unchangedobj, and varEventObjChanged().
Referenced by SCIPchgVarObj(), SCIPchgVarObjProbing(), SCIPprobScaleObj(), SCIPpropagateProbing(), SCIPvarAggregate(), SCIPvarChgObj(), SCIPvarFix(), SCIPvarMultiaggregate(), treeBacktrackProbing(), and varEventObjChanged().
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_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 |
addobj | additional objective value for variable |
Definition at line 5876 of file var.c.
References SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Multaggr::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Lp::divingobjchg, SCIP_Var::donotmultaggr, SCIP_Dom::lb, SCIP_Var::locdom, SCIP_Var::multaggr, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Multaggr::nvars, SCIP_Var::obj, SCIP_Prob::objscale, SCIP_Prob::objsense, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Multaggr::scalars, SCIP_Var::scip, 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(), SCIPvarChgObjDive(), SCIPvarGetStatus(), SCIPvarIsActive(), SCIP_Original::transvar, SCIP_Dom::ub, SCIP_Var::unchangedobj, SCIP_Aggregate::var, varEventObjChanged(), and SCIP_Multaggr::vars.
Referenced by SCIPaddVarObj(), SCIPvarAddObj(), SCIPvarAggregate(), SCIPvarChgObj(), SCIPvarFix(), and SCIPvarMultiaggregate().
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 5989 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::col, SCIP_Var::data, SCIP_Var::name, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, 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, SCIPcolChgObj(), SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetIsZero(), SCIPvarAdjustLb(), SCIPvarChgObjDive(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPchgVarObjDive(), SCIPvarAddObj(), 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 6052 of file var.c.
References adjustedLb(), SCIP_Var::name, NULL, SCIP_Var::scip, SCIPsetDebugMsg, SCIPvarAdjustUb(), and SCIPvarGetType().
Referenced by addSplitcons(), changeAncestorBranchings(), fixBounds(), fixInterdiction(), SCIPadjustedVarLb(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPchgVarLbNode(), SCIPchgVarLbProbing(), SCIPconflictAddRelaxedBound(), SCIPfixVarProbing(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPnodeAddBoundinfer(), SCIPnodeAddHoleinfer(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPtreeBranchVarNary(), SCIPvarAdjustBd(), SCIPvarChgLbDive(), SCIPvarChgObjDive(), sepastoreApplyLb(), sepastoreIsBdchgApplicable(), and varUpdateAggregationBounds().
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 6069 of file var.c.
References adjustedUb(), SCIP_Var::name, NULL, SCIP_Var::scip, SCIPsetDebugMsg, SCIPvarAdjustBd(), and SCIPvarGetType().
Referenced by addSplitcons(), changeAncestorBranchings(), fixBounds(), fixInterdiction(), SCIPadjustedVarUb(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPchgVarUbNode(), SCIPchgVarUbProbing(), SCIPconflictAddRelaxedBound(), SCIPfixVarProbing(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPnodeAddBoundinfer(), SCIPnodeAddHoleinfer(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPtreeBranchVarNary(), SCIPvarAdjustBd(), SCIPvarAdjustLb(), SCIPvarChgUbDive(), sepastoreApplyUb(), sepastoreIsBdchgApplicable(), and varUpdateAggregationBounds().
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 6086 of file var.c.
References SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIPvarAdjustLb(), SCIPvarAdjustUb(), and SCIPvarChgLbOriginal().
Referenced by SCIPvarAddImplic(), SCIPvarAdjustUb(), 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 6102 of file var.c.
References adjustedLb(), SCIP_Negate::constant, SCIP_Var::data, SCIP_Dom::lb, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, SCIP_Var::nparentvars, NULL, SCIP_Original::origdom, SCIP_Var::original, SCIP_Var::parentvars, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsLE(), SCIPsetIsZero(), SCIPvarChgUbOriginal(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbOriginal(), and SCIPvarIsTransformed().
Referenced by SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPvarAdjustBd(), and SCIPvarChgUbOriginal().
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 6161 of file var.c.
References adjustedUb(), SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, SCIP_Var::nparentvars, NULL, SCIP_Original::origdom, SCIP_Var::original, SCIP_Var::parentvars, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsGE(), SCIPsetIsZero(), SCIPvarChgLbOriginal(), SCIPvarGetLbOriginal(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsTransformed(), SCIP_Dom::ub, and varEventGlbChanged().
Referenced by SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), and SCIPvarChgLbOriginal().
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 6720 of file var.c.
References adjustedLb(), SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::glbdom, SCIP_Dom::lb, MIN, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, 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, SCIP_VARTYPE_CONTINUOUS, SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLE(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgUbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetStatus(), SCIPvarGetType(), SCIP_Original::transvar, SCIP_Dom::ub, SCIP_Aggregate::var, and varProcessChgLbGlobal().
Referenced by applyImplic(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPreoptInstallBounds(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgBdGlobal(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarFix(), SCIPvarFixBinary(), SCIPvarResetBounds(), varAddImplic(), varProcessChgUbGlobal(), and varUpdateAggregationBounds().
SCIP_RETCODE SCIPvarChgUbGlobal | ( | SCIP_VAR * | var, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_LP * | lp, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_CLIQUETABLE * | cliquetable, | ||
SCIP_Real | newbound | ||
) |
changes global upper bound of variable; if possible, adjusts bound to integral value; updates local upper bound if the global bound is tighter
var | problem variable to change |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics |
lp | current LP data, may be NULL for original variables |
branchcand | branching candidate storage, may be NULL for original variables |
eventqueue | event queue, may be NULL for original variables |
cliquetable | clique table data structure |
newbound | new bound for variable |
Definition at line 6863 of file var.c.
References adjustedUb(), SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::glbdom, SCIP_Dom::lb, MAX, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, 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, SCIP_VARTYPE_CONTINUOUS, SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGE(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLT(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPvarChgLbGlobal(), SCIPvarChgLbLazy(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbLocal(), SCIP_Original::transvar, SCIP_Dom::ub, SCIP_Aggregate::var, and varProcessChgUbGlobal().
Referenced by applyImplic(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPreoptInstallBounds(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgBdGlobal(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarFix(), SCIPvarFixBinary(), SCIPvarResetBounds(), varAddImplic(), and varUpdateAggregationBounds().
SCIP_RETCODE SCIPvarChgBdGlobal | ( | SCIP_VAR * | var, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_LP * | lp, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_CLIQUETABLE * | cliquetable, | ||
SCIP_Real | newbound, | ||
SCIP_BOUNDTYPE | boundtype | ||
) |
changes global bound of variable; if possible, adjusts bound to integral value; updates local bound if the global bound is tighter
var | problem variable to change |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics |
lp | current LP data, may be NULL for original variables |
branchcand | branching candidate storage, may be NULL for original variables |
eventqueue | event queue, may be NULL for original variables |
cliquetable | clique table data structure |
newbound | new bound for variable |
boundtype | type of bound: lower or upper bound |
Definition at line 7053 of file var.c.
References SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_INVALIDDATA, SCIPerrorMessage, SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), and varEventLbChanged().
Referenced by boundchgApplyGlobal(), SCIPnodeAddBoundinfer(), and SCIPvarChgUbLazy().
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 7501 of file var.c.
References adjustedLb(), SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Dom::lb, SCIP_Var::locdom, MIN, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, 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, SCIP_VARTYPE_CONTINUOUS, SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasIntegral(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPvarChgLbLocal(), SCIPvarChgUbLocal(), SCIPvarGetStatus(), SCIPvarGetType(), SCIP_Original::transvar, SCIP_Dom::ub, SCIP_Aggregate::var, and varProcessChgLbLocal().
Referenced by SCIPboundchgApply(), SCIPboundchgUndo(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPpricestoreAddBdviolvar(), SCIPpricestoreResetBounds(), SCIPreoptInstallBounds(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPvarChgBdLocal(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgUbLocal(), SCIPvarResetBounds(), and varProcessChgUbLocal().
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 7627 of file var.c.
References adjustedUb(), SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Dom::lb, SCIP_Var::locdom, MAX, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, 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, SCIP_VARTYPE_CONTINUOUS, SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLT(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPvarChgBdLocal(), SCIPvarChgLbLocal(), SCIPvarChgUbLocal(), SCIPvarGetStatus(), SCIPvarGetType(), SCIP_Original::transvar, SCIP_Dom::ub, SCIP_Aggregate::var, and varProcessChgUbLocal().
Referenced by SCIPboundchgApply(), SCIPboundchgUndo(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPpricestoreAddBdviolvar(), SCIPpricestoreResetBounds(), SCIPreoptInstallBounds(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPvarChgBdLocal(), SCIPvarChgLbLocal(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), and SCIPvarResetBounds().
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 7752 of file var.c.
References SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_INVALIDDATA, SCIPerrorMessage, SCIPvarChgLbDive(), SCIPvarChgLbLocal(), and SCIPvarChgUbLocal().
Referenced by SCIPvarChgUbLocal().
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 7004 of file var.c.
References SCIP_Var::glbdom, SCIP_Var::lazylb, SCIP_Var::lazyub, NULL, SCIP_Var::probindex, SCIP_Var::scip, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPsetIsFeasGE(), SCIPvarChgUbLazy(), SCIPvarGetStatus(), and SCIP_Dom::ub.
Referenced by SCIPchgVarLbLazy(), and SCIPvarChgUbGlobal().
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 lower bound to be set |
Definition at line 7027 of file var.c.
References SCIP_Var::glbdom, SCIP_Var::lazylb, SCIP_Var::lazyub, SCIP_Dom::lb, NULL, SCIP_Var::probindex, SCIP_Var::scip, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPsetIsFeasGE(), SCIPvarChgBdGlobal(), and SCIPvarGetStatus().
Referenced by SCIPchgVarUbLazy(), and SCIPvarChgLbLazy().
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 7778 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::col, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, 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(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPchgVarLbDive(), SCIPvarChgBdLocal(), SCIPvarChgLbDive(), and SCIPvarChgUbDive().
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 7868 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::col, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, 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(), SCIPvarGetMultaggrLbLocal(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPchgVarUbDive(), SCIPvarChgLbDive(), and SCIPvarChgUbDive().
for a multi-aggregated variable, gives the local lower bound computed by adding the local bounds from all aggregation variables this lower bound may be tighter than the one given by SCIPvarGetLbLocal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable is not allowed
for a multi-aggregated variable, gives the local lower bound computed by adding the local bounds from all aggregation variables, this lower bound may be tighter than the one given by SCIPvarGetLbLocal, since the latter is not updated if bounds of aggregation variables are changing
calling this function for a non-multi-aggregated variable is not allowed
var | problem variable |
set | global SCIP settings |
Definition at line 7963 of file var.c.
References SCIP_Multaggr::constant, SCIP_Var::data, FALSE, MAX, SCIP_Var::multaggr, NULL, SCIP_Multaggr::nvars, SCIP_Multaggr::scalars, SCIP_Var::scip, SCIP_Bool, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPvarGetLbLocal(), SCIPvarGetMultaggrLbLocal(), SCIPvarGetMultaggrUbLocal(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), TRUE, SCIP_Multaggr::vars, and SCIP_Var::varstatus.
Referenced by SCIPbranchcandAddExternCand(), SCIPcomputeVarLbLocal(), SCIPgetVarMultaggrLbLocal(), SCIPvarChgUbDive(), SCIPvarGetMultaggrLbLocal(), and SCIPvarGetMultaggrUbLocal().
for a multi-aggregated variable, gives the local upper bound computed by adding the local bounds from all aggregation variables this upper bound may be tighter than the one given by SCIPvarGetUbLocal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable is not allowed
for a multi-aggregated variable, gives the local upper bound computed by adding the local bounds from all aggregation variables, this upper bound may be tighter than the one given by SCIPvarGetUbLocal, since the latter is not updated if bounds of aggregation variables are changing
calling this function for a non-multi-aggregated variable is not allowed
var | problem variable |
set | global SCIP settings |
Definition at line 8029 of file var.c.
References SCIP_Multaggr::constant, SCIP_Var::data, FALSE, MIN, SCIP_Var::multaggr, NULL, SCIP_Multaggr::nvars, SCIP_Multaggr::scalars, SCIP_Var::scip, SCIP_Bool, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPvarGetLbLocal(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetMultaggrLbLocal(), SCIPvarGetMultaggrUbLocal(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), TRUE, SCIP_Multaggr::vars, and SCIP_Var::varstatus.
Referenced by SCIPbranchcandAddExternCand(), SCIPcomputeVarUbLocal(), SCIPgetVarMultaggrUbLocal(), SCIPvarGetMultaggrLbLocal(), and SCIPvarGetMultaggrUbLocal().
for a multi-aggregated variable, gives the global lower bound computed by adding the global bounds from all aggregation variables this global bound may be tighter than the one given by SCIPvarGetLbGlobal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable is not allowed
for a multi-aggregated variable, gives the global lower bound computed by adding the global bounds from all aggregation variables, this global bound may be tighter than the one given by SCIPvarGetLbGlobal, since the latter is not updated if bounds of aggregation variables are changing
calling this function for a non-multi-aggregated variable is not allowed
var | problem variable |
set | global SCIP settings |
Definition at line 8095 of file var.c.
References SCIP_Multaggr::constant, SCIP_Var::data, FALSE, MAX, SCIP_Var::multaggr, NULL, SCIP_Multaggr::nvars, SCIP_Multaggr::scalars, SCIP_Var::scip, SCIP_Bool, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPvarGetLbGlobal(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetMultaggrUbGlobal(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), TRUE, SCIP_Multaggr::vars, and SCIP_Var::varstatus.
Referenced by SCIPcomputeVarLbGlobal(), SCIPgetVarMultaggrLbGlobal(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetMultaggrUbGlobal(), and SCIPvarGetMultaggrUbLocal().
for a multi-aggregated variable, gives the global upper bound computed by adding the global bounds from all aggregation variables this upper bound may be tighter than the one given by SCIPvarGetUbGlobal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable is not allowed
for a multi-aggregated variable, gives the global upper bound computed by adding the global bounds from all aggregation variables, this upper bound may be tighter than the one given by SCIPvarGetUbGlobal, since the latter is not updated if bounds of aggregation variables are changing
calling this function for a non-multi-aggregated variable is not allowed
var | problem variable |
set | global SCIP settings |
Definition at line 8161 of file var.c.
References SCIP_Multaggr::constant, SCIP_Var::data, FALSE, MIN, SCIP_Var::multaggr, NULL, SCIP_Multaggr::nvars, SCIP_Multaggr::scalars, SCIP_Var::scip, SCIP_Bool, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPvarAddHoleOriginal(), SCIPvarGetLbGlobal(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetMultaggrUbGlobal(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), TRUE, SCIP_Multaggr::vars, and SCIP_Var::varstatus.
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 8222 of file var.c.
References adjustedLb(), adjustedUb(), SCIP_Var::data, domAddHole(), domMerge(), SCIP_Var::name, NULL, SCIP_Original::origdom, SCIP_Var::original, SCIP_Var::scip, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIP_VARTYPE_CONTINUOUS, SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsGE(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPvarGetLbOriginal(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbOriginal(), SCIPvarIsTransformed(), and varProcessAddHoleGlobal().
Referenced by SCIPvarGetMultaggrUbGlobal().
SCIP_RETCODE SCIPvarAddHoleGlobal | ( | SCIP_VAR * | var, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_Real | left, | ||
SCIP_Real | right, | ||
SCIP_Bool * | added | ||
) |
adds a hole to the variable's global domain
adds a hole to the variable's global and local domain
var | problem variable |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics |
eventqueue | event queue, may be NULL for original variables |
left | left bound of open interval in new hole |
right | right bound of open interval in new hole |
added | pointer to store whether the hole was added |
Definition at line 8403 of file var.c.
References adjustedLb(), adjustedUb(), SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, 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, SCIP_VARTYPE_CONTINUOUS, SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsGE(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPvarAddHoleGlobal(), SCIPvarAddHoleLocal(), SCIPvarGetLbGlobal(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIP_Original::transvar, SCIP_Aggregate::var, varProcessAddHoleGlobal(), and varProcessAddHoleLocal().
Referenced by SCIPnodeAddHoleinfer(), SCIPvarAddHoleGlobal(), and varProcessAddHoleGlobal().
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 8651 of file var.c.
References adjustedLb(), adjustedUb(), SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, 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, SCIP_VARTYPE_CONTINUOUS, SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsGE(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPstatIncrement, SCIPvarAddHoleLocal(), SCIPvarGetLbLocal(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbLocal(), SCIPvarResetBounds(), SCIP_Original::transvar, SCIP_Aggregate::var, and varProcessAddHoleLocal().
Referenced by SCIPvarAddHoleGlobal(), SCIPvarAddHoleLocal(), and varProcessAddHoleLocal().
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 8760 of file var.c.
References SCIP_Var::data, SCIP_Var::glbdom, SCIP_Dom::holelist, holelistDuplicate(), holelistFree(), SCIP_Dom::lb, SCIP_Var::locdom, NULL, SCIP_Original::origdom, SCIP_Var::original, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarGetTransVar(), SCIPvarIsOriginal(), SCIP_Dom::ub, and varEventImplAdded().
Referenced by SCIPprobResetBounds(), and SCIPvarAddHoleLocal().
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 16180 of file var.c.
References SCIP_BdChgInfo::bdchgidx, bound, SCIP_BdChgInfo::boundtype, SCIP_BdChgIdx::depth, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_Var::lbchginfos, SCIP_Var::locdom, SCIP_BdChgInfo::newbound, SCIP_Var::nlbchginfos, SCIP_Var::nubchginfos, NULL, SCIP_Var::scip, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPvarWasFixedEarlier(), SCIP_Dom::ub, SCIP_Var::ubchginfos, and SCIP_BdChgInfo::var.
Referenced by SCIPnodeAddBoundinfer(), SCIPvarGetLastBdchgDepth(), and treeApplyPendingBdchgs().
SCIP_RETCODE SCIPvarAddVlb | ( | SCIP_VAR * | var, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_CLIQUETABLE * | cliquetable, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_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 |
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 9530 of file var.c.
References adjustedLb(), adjustedUb(), SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, FALSE, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, REALABS, SCIP_Aggregate::scalar, SCIP_Var::scip, 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, SCIP_VARTYPE_CONTINUOUS, SCIPerrorMessage, SCIPnodeAddBoundchg(), SCIPprobIsTransformed(), SCIPsetCeil(), SCIPsetDebugMsg, SCIPsetFloor(), SCIPsetGetStage(), SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsetIsFeasPositive(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetIsZero(), SCIPtreeGetRootNode(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsIntegral(), SCIP_Original::transvar, TRUE, SCIP_Aggregate::var, varAddTransitiveImplic(), and varAddVbound().
Referenced by SCIPaddVarImplication(), SCIPaddVarVlb(), SCIPaddVarVub(), SCIPvarAddImplic(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarAggregate(), and varAddTransitiveImplic().
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_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 |
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 9902 of file var.c.
References adjustedLb(), adjustedUb(), SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, FALSE, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, 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, SCIP_VARTYPE_CONTINUOUS, SCIPerrorMessage, SCIPnodeAddBoundchg(), SCIPprobIsTransformed(), SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsetIsFeasNegative(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetIsZero(), SCIPtreeGetRootNode(), SCIPvarAddImplic(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsBinary(), SCIP_Original::transvar, TRUE, SCIP_Aggregate::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_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 |
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 10257 of file var.c.
References SCIP_Var::aggregate, applyImplic(), SCIP_Aggregate::constant, SCIP_Var::data, FALSE, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, 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, SCIP_VARTYPE_BINARY, SCIPerrorMessage, SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarAddImplic(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarAdjustBd(), SCIPvarGetLbGlobal(), SCIPvarGetProbvarBound(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarHasImplic(), SCIPvarIsActive(), SCIPvarIsBinary(), SCIP_Original::transvar, TRUE, SCIP_Aggregate::var, and varAddTransitiveImplic().
Referenced by SCIPaddVarImplication(), SCIPvarAddImplic(), SCIPvarAddVub(), 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_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 |
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 10489 of file var.c.
References SCIP_Var::cliquelist, FALSE, SCIP_Var::glbdom, SCIP_Dom::lb, NULL, SCIP_Var::scip, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPnodeAddBoundchg(), SCIPprobIsTransformed(), SCIPsetGetStage(), SCIPtreeGetRootNode(), SCIPvarAddClique(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), TRUE, and SCIP_Dom::ub.
Referenced by cliqueCleanup(), SCIPcliquetableAdd(), SCIPvarAddClique(), SCIPvarHasBinaryImplic(), 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_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 |
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 10580 of file var.c.
References SCIP_Var::cliquelist, FALSE, NULL, SCIP_Var::scip, 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(), and SCIPvarsAddClique().
Referenced by SCIPvarFixBinary().
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 10665 of file var.c.
References SCIP_Var::cliquelist, NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPcliquelistAdd(), SCIPcliquelistCheck(), SCIPvarAddCliqueToList(), SCIPvarGetStatus(), and SCIPvarIsBinary().
Referenced by SCIPcliquetableAdd(), and SCIPvarAddClique().
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 10742 of file var.c.
References SCIP_Var::cliquelist, 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 SCIPvarsHaveCommonClique().
Referenced by SCIPvarDelCliqueFromList().
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 10703 of file var.c.
References SCIP_Var::cliquelist, NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPcliquelistAdd(), SCIPvarDelCliqueFromList(), SCIPvarGetStatus(), and SCIPvarIsBinary().
Referenced by cliqueCleanup(), and SCIPvarsAddClique().
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 10725 of file var.c.
References SCIP_Var::cliquelist, NULL, SCIP_CALL, SCIP_OKAY, SCIPcliquelistDel(), SCIPvarDelClique(), and SCIPvarIsBinary().
Referenced by cliqueCleanup(), SCIPcliquetableCleanup(), SCIPvarAddCliqueToList(), and sortAndMergeClique().
SCIP_RETCODE SCIPvarChgBranchFactor | ( | SCIP_VAR * | var, |
SCIP_SET * | set, | ||
SCIP_Real | branchfactor | ||
) |
sets the branch factor of the variable; this value can be used in the branching methods to scale the score values of the variables; higher factor leads to a higher probability that this variable is chosen for branching
var | problem variable |
set | global SCIP settings |
branchfactor | factor to weigh variable's branching score with |
Definition at line 10870 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::branchfactor, SCIP_Var::data, SCIP_Var::donotmultaggr, SCIP_Var::multaggr, SCIP_Var::name, SCIP_Var::negatedvar, NULL, SCIP_Multaggr::nvars, SCIP_Var::original, SCIP_Var::scip, SCIP_CALL, SCIP_ERROR, 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, SCIPABORT, SCIPdebugMessage, SCIPerrorMessage, SCIPsetIsEQ(), SCIPvarChgBranchFactor(), SCIPvarGetStatus(), SCIP_Original::transvar, SCIP_Aggregate::var, varProcessChgBranchFactor(), varProcessChgBranchPriority(), and SCIP_Multaggr::vars.
Referenced by SCIPaddVarBranchFactor(), SCIPchgVarBranchFactor(), SCIPscaleVarBranchFactor(), SCIPvarAggregate(), SCIPvarChgBranchFactor(), SCIPvarMultiaggregate(), and varProcessChgBranchFactor().
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 10996 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::branchpriority, SCIP_Var::data, SCIP_Var::donotmultaggr, SCIP_Var::multaggr, SCIP_Var::name, SCIP_Var::negatedvar, NULL, SCIP_Multaggr::nvars, SCIP_Var::original, 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(), SCIP_Original::transvar, SCIP_Aggregate::var, varProcessChgBranchDirection(), varProcessChgBranchPriority(), and SCIP_Multaggr::vars.
Referenced by SCIPaddVarBranchPriority(), SCIPbranchcandUpdateVarBranchPriority(), SCIPchgVarBranchPriority(), SCIPupdateVarBranchPriority(), SCIPvarAggregate(), SCIPvarChgBranchPriority(), SCIPvarMultiaggregate(), and varProcessChgBranchPriority().
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 11126 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::branchdirection, SCIP_Var::data, SCIP_Var::donotmultaggr, SCIP_Var::multaggr, SCIP_Var::name, SCIP_Var::negatedvar, NULL, SCIP_Multaggr::nvars, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Multaggr::scalars, 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(), SCIPvarCompareActiveAndNegated(), SCIPvarGetStatus(), SCIP_Original::transvar, SCIP_Aggregate::var, varProcessChgBranchDirection(), and SCIP_Multaggr::vars.
Referenced by SCIPchgVarBranchDirection(), SCIPvarAggregate(), SCIPvarChgBranchDirection(), SCIPvarMultiaggregate(), and varProcessChgBranchDirection().
gets objective value of variable in current SCIP_LP; the value can be different from the bound stored in the variable's own data due to diving, that operate only on the LP without updating the variables
gets objective value of variable in current SCIP_LP; the value can be different from the objective value stored in the variable's own data due to diving, that operate only on the LP without updating the variables
var | problem variable |
Definition at line 12192 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::col, SCIP_Var::data, SCIP_Var::negatedvar, NULL, SCIP_Var::obj, SCIP_Var::original, SCIP_Aggregate::scalar, 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, SCIPvarGetLbLP(), SCIPvarGetObjLP(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarObjDive(), SCIPgetVarObjProbing(), SCIPvarGetObjLP(), and SCIPvarIsTransformedOrigvar().
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 12238 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::col, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Dom::lb, SCIP_Var::locdom, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, 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(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by addBdchg(), addCand(), conflictAnalyzeLP(), conflictAnalyzeRemainingBdchgs(), getFarkasProof(), SCIPgetVarLbDive(), SCIPvarGetLbLP(), SCIPvarGetObjLP(), 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 12308 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::col, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::locdom, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, 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(), SCIPvarGetLPSol_rec(), SCIPvarGetStatus(), SCIPvarGetUbLP(), SCIP_Original::transvar, SCIP_Dom::ub, and SCIP_Aggregate::var.
Referenced by addBdchg(), addCand(), conflictAnalyzeLP(), conflictAnalyzeRemainingBdchgs(), getFarkasProof(), SCIPgetVarUbDive(), SCIPvarGetLbLP(), and SCIPvarGetUbLP().
void SCIPvarGetClosestVlb | ( | SCIP_VAR * | var, |
SCIP_SOL * | sol, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_Real * | closestvlb, | ||
int * | closestvlbidx | ||
) |
returns solution value and index of variable lower bound that is closest to the variable's value in the given primal solution or current LP solution if no primal solution is given; returns an index of -1 if no variable lower bound is available
var | active problem variable |
sol | primal solution, or NULL for LP solution |
set | global SCIP settings |
stat | problem statistics |
closestvlb | pointer to store the value of the closest variable lower bound |
closestvlbidx | pointer to store the index of the closest variable lower bound |
Definition at line 13424 of file var.c.
References SCIP_Var::closestvblpcount, SCIP_Var::closestvlbidx, SCIP_Var::closestvubidx, SCIP_Stat::lpcount, NULL, SCIP_Var::scip, SCIP_Real, SCIP_REAL_MIN, SCIPsolGetVal(), SCIPvarGetClosestVub(), SCIPvarGetLPSol(), SCIPvarGetNVlbs(), SCIPvarGetVlbCoefs(), SCIPvarGetVlbConstants(), SCIPvarGetVlbVars(), and SCIPvarIsActive().
Referenced by cutsTransformStrongCGRow(), findBestLb(), SCIPgetVarClosestVlb(), and SCIPvarGetAvgSol().
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 13499 of file var.c.
References SCIP_Var::closestvblpcount, SCIP_Var::closestvlbidx, SCIP_Var::closestvubidx, SCIP_Stat::lpcount, NULL, SCIP_Var::scip, SCIP_Real, SCIP_REAL_MAX, SCIPsolGetVal(), SCIPvarAddToRow(), SCIPvarGetLPSol(), SCIPvarGetNVubs(), SCIPvarGetVubCoefs(), SCIPvarGetVubConstants(), SCIPvarGetVubVars(), and SCIPvarIsActive().
Referenced by cutsTransformStrongCGRow(), findBestUb(), SCIPgetVarClosestVub(), and SCIPvarGetClosestVlb().
remembers the current solution as root solution in the problem variables
var | problem variable |
roothaslp | is the root solution from LP? |
Definition at line 12573 of file var.c.
References NULL, SCIP_Var::rootsol, SCIPvarGetSol(), and SCIPvarUpdateBestRootSol().
Referenced by SCIPprobStoreRootSol(), and SCIPvarGetSol().
void SCIPvarUpdateBestRootSol | ( | SCIP_VAR * | var, |
SCIP_SET * | set, | ||
SCIP_Real | rootsol, | ||
SCIP_Real | rootredcost, | ||
SCIP_Real | rootlpobjval | ||
) |
updates the current solution as best root solution in the problem variables if it is better
updates the current solution as best root solution of the given variable if it is better
var | problem variable |
set | global SCIP settings |
rootsol | root solution value |
rootredcost | root reduced cost |
rootlpobjval | objective value of the root LP |
Definition at line 12584 of file var.c.
References SCIP_Var::bestrootlpobjval, SCIP_Var::bestrootredcost, SCIP_Var::bestrootsol, bound, NULL, SCIP_Var::scip, SCIP_Real, SCIPsetDebugMsg, SCIPsetIsDualfeasZero(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetRootSol(), and SCIPvarGetUbGlobal().
Referenced by analyzeStrongbranch(), SCIPprobUpdateBestRootSol(), and SCIPvarStoreRootSol().
returns the solution value of the problem variables in the relaxation solution
returns the solution value of the problem variable in the relaxation solution
var | problem variable |
set | global SCIP settings |
Definition at line 13225 of file var.c.
References SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Multaggr::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::multaggr, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Multaggr::nvars, SCIP_Var::original, SCIP_Var::relaxsol, SCIP_Aggregate::scalar, SCIP_Multaggr::scalars, SCIP_Var::scip, 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(), SCIPvarGetRelaxSolTransVar(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), SCIP_Original::transvar, SCIP_Aggregate::var, and SCIP_Multaggr::vars.
Referenced by SCIPgetRelaxSolVal(), SCIPrelaxationUpdateVarObj(), SCIProwGetRelaxFeasibility(), SCIPvarGetRelaxSol(), SCIPvarSetRelaxSol(), and solveNodeRelax().
returns the solution value of the transformed problem variable in the relaxation solution
var | problem variable |
Definition at line 13297 of file var.c.
References NULL, SCIP_Var::relaxsol, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPvarGetStatus(), and SCIPvarSetNLPSol().
Referenced by SCIPvarGetRelaxSol(), solGetArrayVal(), and solUnlinkVar().
SCIP_Real SCIPvarGetImplRedcost | ( | SCIP_VAR * | var, |
SCIP_SET * | set, | ||
SCIP_Bool | varfixing, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_LP * | lp | ||
) |
returns for the given binary variable the reduced cost which are given by the variable itself and its implication if the binary variable is fixed to the given value
var | problem variable |
set | global SCIP settings |
varfixing | FALSE if for x == 0, TRUE for x == 1 |
stat | problem statistics |
prob | transformed problem, or NULL |
lp | current LP data |
Definition at line 12771 of file var.c.
References getImplVarRedcost(), SCIP_Var::implics, MAX_CLIQUELENGTH, NULL, 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(), SCIPvarGetBestRootSol(), SCIPvarGetCliques(), SCIPvarGetCol(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetNCliques(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIPvarIsActive(), and SCIPvarIsBinary().
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 13164 of file var.c.
References SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::obj, SCIP_Var::original, SCIP_Var::relaxsol, SCIP_Aggregate::scalar, SCIP_Var::scip, 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(), SCIPvarGetRelaxSol(), SCIPvarGetStatus(), SCIPvarSetRelaxSol(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPclearRelaxSolVals(), SCIPsetRelaxSolVal(), SCIPsetRelaxSolVals(), SCIPsetRelaxSolValsSol(), SCIPvarSetBestRootSol(), SCIPvarSetRelaxSol(), and solveNode().
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 13308 of file var.c.
References SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_Var::negate, SCIP_Var::negatedvar, SCIP_Var::nlpsol, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, 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(), SCIPvarGetAvgSol(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarSetNLPSol(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by nlpAddVars(), nlpSolve(), SCIPvarGetRelaxSolTransVar(), and SCIPvarSetNLPSol().
SCIP_RETCODE SCIPvarAddToRow | ( | SCIP_VAR * | var, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_PROB * | prob, | ||
SCIP_LP * | lp, | ||
SCIP_ROW * | row, | ||
SCIP_Real | val | ||
) |
resolves variable to columns and adds them with the coefficient to the row
var | problem variable |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics |
eventqueue | event queue |
prob | problem data |
lp | current LP data |
row | LP row |
val | value of coefficient |
Definition at line 13571 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::col, SCIP_Aggregate::constant, SCIP_Multaggr::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::donotmultaggr, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_Var::locdom, SCIP_Var::multaggr, SCIP_Row::name, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Multaggr::nvars, SCIP_Var::original, REALABS, SCIP_Aggregate::scalar, SCIP_Multaggr::scalars, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_Longint, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIProwAddConstant(), SCIProwIncCoef(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPvarAddToRow(), SCIPvarColumn(), SCIPvarGetStatus(), SCIPvarUpdatePseudocost(), SCIP_Original::transvar, SCIP_Dom::ub, SCIP_Col::var, SCIP_Aggregate::var, and SCIP_Multaggr::vars.
Referenced by SCIPaddVarsToRow(), SCIPaddVarsToRowSameCoef(), SCIPaddVarToRow(), SCIPvarAddToRow(), and SCIPvarGetClosestVub().
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 4201 of file var.c.
References FALSE, SCIP_Stat::glbhistory, SCIP_Var::history, SCIP_Var::historycrun, SCIPhistoryUnite(), and SCIPvarSetHistory().
Referenced by SCIPmergeVariableStatistics(), SCIPvarCopy(), and SCIPvarFlattenAggregationGraph().
void SCIPvarSetHistory | ( | SCIP_VAR * | var, |
SCIP_HISTORY * | history, | ||
SCIP_STAT * | stat | ||
) |
sets the history of a variable; this method is typacally used within reoptimization to keep and update the variable history over several iteraions
sets the history of a variable; this method is typically used within reoptimization to keep and update the variable history over several iterations
var | variable |
history | the history which is to set |
stat | problem statistics |
Definition at line 4217 of file var.c.
References FALSE, SCIP_Stat::glbhistory, SCIP_Var::history, SCIPhistoryUnite(), and varUpdateAggregationBounds().
Referenced by SCIPvarMergeHistories().
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 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 13679 of file var.c.
References SCIP_Var::aggregate, SCIP_Stat::collectvarhistory, SCIP_Var::data, SCIP_Stat::glbhistory, SCIP_Stat::glbhistorycrun, SCIP_Var::history, SCIP_Var::historycrun, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, 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(), SCIPvarGetPseudocost(), SCIPvarGetRootSol(), SCIPvarGetStatus(), SCIPvarUpdatePseudocost(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPinitVarBranchStats(), SCIPupdateVarPseudocost(), SCIPvarAddToRow(), SCIPvarUpdatePseudocost(), 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 13777 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Stat::glbhistory, SCIP_Var::history, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, 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(), SCIPvarGetPseudocostCurrentRun(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarPseudocost(), SCIPgetVarPseudocostScore(), SCIPgetVarPseudocostVal(), SCIPprintBranchingStatistics(), SCIPtreeCalcChildEstimate(), SCIPtreeCalcNodeselPriority(), SCIPvarGetMinPseudocostScore(), SCIPvarGetPseudocost(), SCIPvarPscostThresholdProbabilityTest(), SCIPvarSignificantPscostDifference(), SCIPvarUpdatePseudocost(), selectVarMultAggrBranching(), and updateEstimate().
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 13826 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Stat::glbhistorycrun, SCIP_Var::historycrun, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, 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(), SCIPvarGetPseudocostCount(), SCIPvarGetPseudocostCurrentRun(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarPseudocostCurrentRun(), SCIPgetVarPseudocostScoreCurrentRun(), SCIPgetVarPseudocostValCurrentRun(), SCIPvarGetPseudocost(), 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 13873 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::history, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, 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(), SCIPvarGetPseudocostCountCurrentRun(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarPseudocostCount(), SCIPprintBranchingStatistics(), SCIPvarCalcPscostConfidenceBound(), SCIPvarGetMinPseudocostScore(), SCIPvarGetPseudocostCount(), SCIPvarGetPseudocostCurrentRun(), 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 13918 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::historycrun, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, 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(), SCIPvarGetMinPseudocostScore(), SCIPvarGetPseudocostCountCurrentRun(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarPseudocostCountCurrentRun(), SCIPvarCalcPscostConfidenceBound(), SCIPvarGetPseudocostCount(), SCIPvarGetPseudocostCountCurrentRun(), and SCIPvarIsPscostRelerrorReliable().
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 13961 of file var.c.
References MIN, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIPsetCeil(), SCIPsetFloor(), SCIPsetIsFeasIntegral(), SCIPvarGetPseudocost(), SCIPvarGetPseudocostCount(), and SCIPvarGetPseudocostVariance().
Referenced by SCIPstatComputeRootLPBestEstimate(), SCIPstatUpdateVarRootLPBestEstimate(), SCIPvarGetPseudocostCountCurrentRun(), 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 13993 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::history, SCIP_Var::historycrun, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, 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(), SCIPvarCalcPscostConfidenceBound(), SCIPvarGetPseudocostVariance(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarPseudocostVariance(), SCIPprintBranchingStatistics(), SCIPvarCalcPscostConfidenceBound(), SCIPvarGetMinPseudocostScore(), SCIPvarGetPseudocostVariance(), SCIPvarPscostThresholdProbabilityTest(), and SCIPvarSignificantPscostDifference().
SCIP_Real SCIPvarCalcPscostConfidenceBound | ( | SCIP_VAR * | var, |
SCIP_SET * | set, | ||
SCIP_BRANCHDIR | dir, | ||
SCIP_Bool | onlycurrentrun, | ||
SCIP_CONFIDENCELEVEL | clevel | ||
) |
calculates a confidence bound for this variable under the assumption of normally distributed pseudo costs
The confidence bound \( \theta \geq 0\) denotes the interval borders \( [X - \theta, \ X + \theta]\), which contains the true pseudo costs of the variable, i.e., the expected value of the normal distribution, with a probability of 95 %.
calculates a confidence bound for this variable under the assumption of normally distributed pseudo costs
The confidence bound \( \theta \geq 0\) denotes the interval borders \( [X - \theta, \ X + \theta]\), which contains the true pseudo costs of the variable, i.e., the expected value of the normal distribution, with a probability of 2 * clevel - 1.
var | variable in question |
set | global SCIP settings |
dir | the branching direction for the confidence bound |
onlycurrentrun | should only the current run be taken into account |
clevel | confidence level for the interval |
Definition at line 14047 of file var.c.
References SCIP_Bool, SCIP_Real, SCIPsetFloor(), SCIPsetIsFeasPositive(), SCIPstudentTGetCriticalValue(), SCIPvarGetPseudocostCount(), SCIPvarGetPseudocostCountCurrentRun(), SCIPvarGetPseudocostVariance(), SCIPvarIsPscostRelerrorReliable(), and sqrt().
Referenced by SCIPcalculatePscostConfidenceBound(), SCIPvarGetPseudocostVariance(), 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 14085 of file var.c.
References FALSE, MAX, MIN, SCIP_Bool, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIPvarCalcPscostConfidenceBound(), SCIPvarGetPseudocostCountCurrentRun(), SCIPvarGetPseudocostCurrentRun(), SCIPvarSignificantPscostDifference(), and TRUE.
Referenced by SCIPisVarPscostRelerrorReliable(), and SCIPvarCalcPscostConfidenceBound().
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 14162 of file var.c.
References FALSE, REALABS, SCIP_Bool, SCIP_BRANCHDIR_DOWNWARDS, SCIP_Real, SCIPcomputeTwoSampleTTestValue(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPstudentTGetCriticalValue(), SCIPvarGetPseudocost(), SCIPvarGetPseudocostCount(), SCIPvarGetPseudocostVariance(), and SCIPvarPscostThresholdProbabilityTest().
Referenced by SCIPsignificantVarPscostDifference(), and SCIPvarIsPscostRelerrorReliable().
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 14229 of file var.c.
References FALSE, findValuehistoryEntry(), 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(), and SCIPvarGetPseudocostVariance().
Referenced by SCIPpscostThresholdProbabilityTest(), and SCIPvarSignificantPscostDifference().
SCIP_RETCODE SCIPvarIncVSIDS | ( | SCIP_VAR * | var, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_BRANCHDIR | dir, | ||
SCIP_Real | value, | ||
SCIP_Real | weight | ||
) |
increases the VSIDS of the variable by the given weight
increases VSIDS of the variable by the given weight
var | problem variable |
blkmem | block memory, or NULL if the domain value is SCIP_UNKNOWN |
set | global SCIP settings, or NULL if the domain value is SCIP_UNKNOWN |
stat | problem statistics |
dir | branching direction |
value | domain value, or SCIP_UNKNOWN |
weight | weight of this update in VSIDS |
Definition at line 14353 of file var.c.
References SCIP_Var::aggregate, SCIP_Stat::collectvarhistory, SCIP_Aggregate::constant, SCIP_Var::data, findValuehistoryEntry(), SCIP_Var::history, SCIP_Var::historycrun, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, 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, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetVSIDS(), SCIPhistoryIncVSIDS(), SCIPsetDebugMsg, SCIPsetIsZero(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarIncVSIDS(), SCIPvarScaleVSIDS(), SCIP_Original::transvar, useValuehistory(), and SCIP_Aggregate::var.
Referenced by incVSIDS(), SCIPinitVarBranchStats(), SCIPinitVarValueBranchStats(), SCIPvarIncVSIDS(), and useValuehistory().
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 14439 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::history, SCIP_Var::historycrun, SCIP_Var::negatedvar, NULL, SCIP_Var::original, 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, SCIPhistoryScaleVSIDS(), SCIPvaluehistoryScaleVSIDS(), SCIPvarGetStatus(), SCIPvarIncNActiveConflicts(), SCIPvarScaleVSIDS(), SCIP_Original::transvar, SCIP_Var::valuehistory, and SCIP_Aggregate::var.
Referenced by SCIPconflictInit(), SCIPvarIncVSIDS(), 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 14489 of file var.c.
References SCIP_Var::aggregate, SCIP_Stat::collectvarhistory, SCIP_Aggregate::constant, SCIP_Var::data, findValuehistoryEntry(), SCIP_Var::history, SCIP_Var::historycrun, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_INVALIDDATA, SCIP_Longint, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryIncNActiveConflicts(), SCIPvarGetNActiveConflicts(), SCIPvarGetStatus(), SCIPvarIncNActiveConflicts(), SCIP_Original::transvar, useValuehistory(), and SCIP_Aggregate::var.
Referenced by SCIPinitVarBranchStats(), SCIPinitVarValueBranchStats(), SCIPvarIncNActiveConflicts(), SCIPvarScaleVSIDS(), 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 14570 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::history, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, 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(), SCIPvarGetNActiveConflictsCurrentRun(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPvarGetNActiveConflicts(), and SCIPvarIncNActiveConflicts().
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 14617 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::historycrun, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, 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, SCIPhistoryGetNActiveConflicts(), SCIPvarGetAvgConflictlength(), SCIPvarGetNActiveConflictsCurrentRun(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPvarGetNActiveConflicts(), and 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 14662 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::history, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, 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(), SCIPvarGetAvgConflictlengthCurrentRun(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarAvgConflictlength(), SCIPgetVarConflictlengthScore(), SCIPvarGetAvgConflictlength(), and SCIPvarGetNActiveConflictsCurrentRun().
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 14706 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::historycrun, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, 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(), SCIPvarIncNBranchings(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarAvgConflictlengthCurrentRun(), SCIPgetVarConflictlengthScoreCurrentRun(), SCIPvarGetAvgConflictlength(), 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 14749 of file var.c.
References SCIP_Var::aggregate, SCIP_Stat::collectvarhistory, SCIP_Aggregate::constant, SCIP_Var::data, findValuehistoryEntry(), SCIP_Stat::glbhistory, SCIP_Stat::glbhistorycrun, SCIP_Var::history, SCIP_Var::historycrun, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, 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, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryIncNBranchings(), SCIPvarGetStatus(), SCIPvarIncInferenceSum(), SCIPvarIncNBranchings(), SCIP_Original::transvar, useValuehistory(), and SCIP_Aggregate::var.
Referenced by SCIPboundchgApply(), SCIPinitVarBranchStats(), SCIPinitVarValueBranchStats(), SCIPvarGetAvgConflictlengthCurrentRun(), and SCIPvarIncNBranchings().
SCIP_RETCODE SCIPvarIncInferenceSum | ( | SCIP_VAR * | var, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_BRANCHDIR | dir, | ||
SCIP_Real | value, | ||
SCIP_Real | weight | ||
) |
increases the inference score of the variable by the given weight
increases the inference sum of the variable by the given weight
var | problem variable |
blkmem | block memory, or NULL if the domain value is SCIP_UNKNOWN |
set | global SCIP settings, or NULL if the domain value is SCIP_UNKNOWN |
stat | problem statistics |
dir | branching direction (downwards, or upwards) |
value | domain value, or SCIP_UNKNOWN |
weight | weight of this update in inference score |
Definition at line 14833 of file var.c.
References SCIP_Var::aggregate, SCIP_Stat::collectvarhistory, SCIP_Aggregate::constant, SCIP_Var::data, findValuehistoryEntry(), SCIP_Stat::glbhistory, SCIP_Stat::glbhistorycrun, SCIP_Var::history, SCIP_Var::historycrun, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, 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, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryIncInferenceSum(), SCIPvarGetStatus(), SCIPvarIncCutoffSum(), SCIPvarIncInferenceSum(), SCIP_Original::transvar, useValuehistory(), and SCIP_Aggregate::var.
Referenced by SCIPboundchgApply(), SCIPinitVarBranchStats(), SCIPinitVarValueBranchStats(), SCIPvarIncInferenceSum(), and SCIPvarIncNBranchings().
SCIP_RETCODE SCIPvarIncCutoffSum | ( | SCIP_VAR * | var, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_BRANCHDIR | dir, | ||
SCIP_Real | value, | ||
SCIP_Real | weight | ||
) |
increases the cutoff score of the variable by the given weight
increases the cutoff sum of the variable by the given weight
var | problem variable |
blkmem | block memory, or NULL if the domain value is SCIP_UNKNOWN |
set | global SCIP settings, or NULL if the domain value is SCIP_UNKNOWN |
stat | problem statistics |
dir | branching direction (downwards, or upwards) |
value | domain value, or SCIP_UNKNOWN |
weight | weight of this update in cutoff score |
Definition at line 14917 of file var.c.
References SCIP_Var::aggregate, SCIP_Stat::collectvarhistory, SCIP_Aggregate::constant, SCIP_Var::data, findValuehistoryEntry(), SCIP_Stat::glbhistory, SCIP_Stat::glbhistorycrun, SCIP_Var::history, SCIP_Var::historycrun, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_INVALIDDATA, SCIP_Longint, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryIncCutoffSum(), SCIPvarGetNBranchings(), SCIPvarGetStatus(), SCIPvarIncCutoffSum(), SCIP_Original::transvar, useValuehistory(), and SCIP_Aggregate::var.
Referenced by SCIPinitVarBranchStats(), SCIPinitVarValueBranchStats(), SCIPsolveCIP(), SCIPvarIncCutoffSum(), and SCIPvarIncInferenceSum().
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 15179 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::history, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, 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(), SCIPvarGetVSIDSCurrentRun(), SCIP_Original::transvar, SCIP_Aggregate::var, and SCIP_Stat::vsidsweight.
Referenced by SCIPvarGetAvgBranchdepthCurrentRun(), and 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 15228 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::historycrun, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, 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(), SCIPvarGetInferenceSum(), SCIPvarGetStatus(), SCIPvarGetVSIDSCurrentRun(), SCIP_Original::transvar, SCIP_Aggregate::var, and SCIP_Stat::vsidsweight.
Referenced by SCIPgetVarConflictScoreCurrentRun(), SCIPgetVarVSIDSCurrentRun(), SCIPvarGetVSIDS_rec(), 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 15361 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Stat::glbhistory, SCIP_Var::history, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, 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(), SCIPvarGetAvgInferencesCurrentRun(), SCIPvarGetNCliques(), SCIPvarGetNImpls(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by getInferenceOrder(), SCIPgetVarAvgInferenceCutoffScore(), SCIPgetVarAvgInferences(), SCIPgetVarAvgInferenceScore(), SCIPprintBranchingStatistics(), SCIPtreeCalcNodeselPriority(), SCIPvarGetAvgInferences(), and SCIPvarGetInferenceSumCurrentRun().
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 15418 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Stat::glbhistorycrun, SCIP_Var::historycrun, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, 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(), SCIPvarGetCutoffSum(), SCIPvarGetNCliques(), SCIPvarGetNImpls(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarAvgInferenceCutoffScoreCurrentRun(), SCIPgetVarAvgInferenceScoreCurrentRun(), SCIPgetVarAvgInferencesCurrentRun(), SCIPvarGetAvgInferences(), 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 15559 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Stat::glbhistory, SCIP_Var::history, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, 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(), SCIPvarGetAvgCutoffsCurrentRun(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarAvgCutoffs(), SCIPgetVarAvgCutoffScore(), SCIPgetVarAvgInferenceCutoffScore(), SCIPprintBranchingStatistics(), SCIPvarGetAvgCutoffs(), and SCIPvarGetCutoffSumCurrentRun().
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 15606 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Stat::glbhistorycrun, SCIP_Var::historycrun, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbdchginfoCreate(), SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetAvgCutoffs(), SCIPhistoryGetNBranchings(), SCIPvarGetAvgCutoffsCurrentRun(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarAvgCutoffScoreCurrentRun(), SCIPgetVarAvgCutoffsCurrentRun(), SCIPgetVarAvgInferenceCutoffScoreCurrentRun(), SCIPvarGetAvgCutoffs(), and SCIPvarGetAvgCutoffsCurrentRun().
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 2886 of file var.c.
References SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Multaggr::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_Var::multaggr, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Multaggr::nvars, SCIP_Var::obj, printBounds(), printHolelist(), SCIP_Aggregate::scalar, SCIP_Multaggr::scalars, SCIP_Var::scip, SCIP_ERROR, 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_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPABORT, SCIPerrorMessage, SCIPmessageFPrintInfo(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPvarGetHolelistGlobal(), SCIPvarGetHolelistLocal(), SCIPvarGetHolelistOriginal(), SCIPvarGetLbGlobal(), SCIPvarGetLbLazy(), SCIPvarGetLbLocal(), SCIPvarGetLbOriginal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarGetUbLazy(), SCIPvarGetUbLocal(), SCIPvarGetUbOriginal(), SCIPvarIsTransformed(), SCIP_Aggregate::var, varEventVarUnlocked(), and SCIP_Multaggr::vars.
Referenced by printHolelist(), SCIPnlpWrite(), and SCIPprintVar().
SCIP_RETCODE SCIPvarCatchEvent | ( | SCIP_VAR * | var, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTTYPE | eventtype, | ||
SCIP_EVENTHDLR * | eventhdlr, | ||
SCIP_EVENTDATA * | eventdata, | ||
int * | filterpos | ||
) |
includes event handler with given data in variable's event filter
var | problem variable |
blkmem | block memory |
set | global SCIP settings |
eventtype | event type to catch |
eventhdlr | event handler to call for the event processing |
eventdata | event data to pass to the event handler for the event processing |
filterpos | pointer to store position of event filter entry, or NULL |
Definition at line 17666 of file var.c.
References SCIP_Var::eventfilter, SCIP_Var::name, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_EVENTTYPE_FORMAT, SCIP_EVENTTYPE_VARCHANGED, SCIP_OKAY, SCIPeventfilterAdd(), SCIPsetDebugMsg, SCIPvarDropEvent(), and SCIPvarIsTransformed().
Referenced by nlpAddVars(), SCIPcatchVarEvent(), and SCIPvarSetCliqueComponentIdx().
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 17693 of file var.c.
References SCIP_Var::eventfilter, SCIP_Var::name, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPbdchgidxGetPos(), SCIPeventfilterDel(), SCIPsetDebugMsg, and SCIPvarIsTransformed().
Referenced by nlpDelVarPos(), SCIPdropVarEvent(), and SCIPvarCatchEvent().
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 17631 of file var.c.
References SCIP_Var::history, NULL, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPhistoryGetVSIDS(), SCIPvarGetCliqueComponentIdx(), SCIPvarGetStatus(), SCIPvarGetVSIDS_rec(), and SCIP_Stat::vsidsweight.
Referenced by SCIPgetVarConflictScore(), SCIPgetVarVSIDS(), SCIPvarGetPseudoSol(), and SCIPvarGetVSIDS_rec().
int SCIPbdchgidxGetPos | ( | SCIP_BDCHGIDX * | bdchgidx | ) |
returns the position of the bound change index
bdchgidx | bound change index |
Definition at line 17718 of file var.c.
References NULL, SCIP_BdChgIdx::pos, SCIP_Bool, and SCIPbdchgidxIsEarlierNonNull().
Referenced by SCIPconflictAddRelaxedBound(), and SCIPvarDropEvent().
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 1532 of file var.c.
References SCIP_Var::cliquelist, SCIP_Var::closestvblpcount, FALSE, 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, SCIPcliquelistFree(), SCIPcliquelistRemoveFromCliques(), SCIPimplicsDel(), SCIPimplicsFree(), SCIPimplicsGetBounds(), SCIPimplicsGetNImpls(), SCIPimplicsGetTypes(), SCIPimplicsGetVars(), SCIPsetDebugMsg, SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsetIsZero(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsBinary(), SCIPvboundsDel(), SCIPvboundsGetCoefs(), SCIPvboundsGetConstants(), SCIPvboundsGetNVbds(), SCIPvboundsGetVars(), SCIPvboundsShrink(), TRUE, varSetName(), SCIP_Var::vlbs, and SCIP_Var::vubs.
Referenced by adjustedUb(), SCIPremoveVarFromGlobalStructures(), SCIPvarAggregate(), SCIPvarFix(), SCIPvarMultiaggregate(), SCIPvarRemove(), varProcessChgLbGlobal(), and varProcessChgUbGlobal().
void SCIPvarSetCliqueComponentIdx | ( | SCIP_VAR * | var, |
int | idx | ||
) |
sets the index of the connected component of the clique graph that the variable belongs to, or -1 if not computed
var | problem variable |
idx | clique component index of this variable |
Definition at line 17655 of file var.c.
References SCIP_Var::clqcomponentidx, NULL, and SCIPvarCatchEvent().
Referenced by SCIPcliquetableComputeCliqueComponents(), and SCIPvarGetCliqueComponentIdx().
SCIP_DECL_HASHGETKEY | ( | SCIPhashGetKeyVar | ) |
gets the key (i.e. the name) of the given variable
Definition at line 16312 of file var.c.
References SCIP_Var::name, NULL, SCIP_Real, and SCIPboundchgGetNewbound().