Detailed Description
internal methods for problem variables
Definition in file var.h.
#include "blockmemshell/memory.h"
#include "scip/def.h"
#include "scip/type_branch.h"
#include "scip/type_cons.h"
#include "scip/type_event.h"
#include "scip/type_history.h"
#include "scip/type_implics.h"
#include "scip/type_lp.h"
#include "scip/type_message.h"
#include "scip/type_misc.h"
#include "scip/type_primal.h"
#include "scip/type_prob.h"
#include "scip/type_prop.h"
#include "scip/type_relax.h"
#include "scip/type_reopt.h"
#include "scip/type_result.h"
#include "scip/type_retcode.h"
#include "scip/type_scip.h"
#include "scip/type_set.h"
#include "scip/type_sol.h"
#include "scip/type_stat.h"
#include "scip/type_tree.h"
#include "scip/type_var.h"
#include "scip/struct_var.h"
Go to the source code of this file.
Function Documentation
◆ SCIPboundchgApply()
SCIP_RETCODE SCIPboundchgApply | ( | SCIP_BOUNDCHG * | boundchg, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_LP * | lp, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
int | depth, | ||
int | pos, | ||
SCIP_Bool * | cutoff | ||
) |
applies single bound change
- Parameters
-
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 628 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, SCIPconsGetName(), SCIPerrorMessage, SCIPpropGetName(), SCIPsetDebugMsg, SCIPsetIsFeasIntegral(), SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPvarChgLbLocal(), SCIPvarChgUbLocal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarIncInferenceSum(), SCIPvarIncNBranchings(), SCIPvarIsIntegral(), TRUE, SCIP_Dom::ub, SCIP_BoundChg::var, varAddLbchginfo(), and varAddUbchginfo().
Referenced by SCIPdomchgApply(), and SCIPnodeAddBoundinfer().
◆ SCIPboundchgUndo()
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
- Parameters
-
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 825 of file var.c.
References SCIP_BdChgInfo::bdchgidx, 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 SCIPdomchgUndo().
◆ SCIPdomchgApplyGlobal()
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
- Parameters
-
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 1383 of file var.c.
References boundchgApplyGlobal(), SCIP_DomChgBound::boundchgs, SCIP_DomChg::domchgbound, FALSE, SCIP_DomChgBound::nboundchgs, NULL, SCIP_CALL, SCIP_OKAY, and SCIPsetDebugMsg.
Referenced by treeSwitchPath().
◆ SCIPdomchgFree()
SCIP_RETCODE SCIPdomchgFree | ( | SCIP_DOMCHG ** | domchg, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp | ||
) |
frees domain change data
- Parameters
-
domchg pointer to domain change blkmem block memory set global SCIP settings eventqueue event queue lp current LP data
Definition at line 1060 of file var.c.
References BMSfreeBlockMemoryArrayNull, BMSfreeBlockMemorySize, boundchgReleaseData(), NULL, SCIP_CALL, SCIP_DOMCHGTYPE_BOTH, SCIP_DOMCHGTYPE_BOUND, SCIP_DOMCHGTYPE_DYNAMIC, SCIP_INVALIDDATA, SCIP_OKAY, and SCIPerrorMessage.
Referenced by SCIPdomchgMakeStatic(), and SCIPnodeFree().
◆ SCIPdomchgMakeStatic()
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
- Parameters
-
domchg pointer to domain change data blkmem block memory set global SCIP settings eventqueue event queue lp current LP data
Definition at line 1161 of file var.c.
References BMSfreeBlockMemoryArrayNull, BMSreallocBlockMemoryArray, BMSreallocBlockMemorySize, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_DOMCHGTYPE_BOTH, SCIP_DOMCHGTYPE_BOUND, SCIP_DOMCHGTYPE_DYNAMIC, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARTYPE_CONTINUOUS, SCIPdomchgFree(), SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetIsFeasIntegral(), and SCIPvarGetType().
Referenced by focusnodeToFork(), focusnodeToJunction(), focusnodeToPseudofork(), nodeRepropagate(), and nodeToLeaf().
◆ SCIPdomchgApply()
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
- Parameters
-
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 1299 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(), SCIPsetDebugMsg, and TRUE.
Referenced by nodeActivate().
◆ SCIPdomchgUndo()
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
- Parameters
-
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 1348 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(), and SCIPsetDebugMsg.
Referenced by nodeDeactivate().
◆ SCIPdomchgAddBoundchg()
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
- Parameters
-
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 1422 of file var.c.
References SCIP_BoundChg::applied, boundchgCaptureData(), SCIP_BoundChg::boundchgtype, SCIP_BoundChg::boundtype, SCIP_BoundChg::branchingdata, SCIP_BoundChg::data, domchgCreate(), domchgEnsureBoundchgsSize(), domchgMakeDynamic(), FALSE, SCIP_BoundChg::inferboundtype, SCIP_BoundChg::inferencedata, SCIP_Var::name, 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, SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsFeasIntegral(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsBinary(), and SCIP_BoundChg::var.
Referenced by SCIPnodeAddBoundinfer().
◆ SCIPdomchgAddHolechg()
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
- Parameters
-
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 1519 of file var.c.
References domchgCreate(), domchgEnsureHolechgsSize(), domchgMakeDynamic(), SCIP_HoleChg::newlist, NULL, SCIP_HoleChg::oldlist, SCIP_HoleChg::ptr, SCIP_CALL, SCIP_DOMCHGTYPE_DYNAMIC, and SCIP_OKAY.
◆ SCIPbdchginfoCreate()
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
- Parameters
-
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 16532 of file var.c.
References BMSallocBlockMemory, FALSE, NULL, SCIP_ALLOC, SCIP_BOUNDCHGTYPE_BRANCHING, and SCIP_OKAY.
Referenced by conflictCreateTmpBdchginfo().
◆ SCIPbdchginfoFree()
void SCIPbdchginfoFree | ( | SCIP_BDCHGINFO ** | bdchginfo, |
BMS_BLKMEM * | blkmem | ||
) |
frees a bound change information object
- Parameters
-
bdchginfo pointer to store bound change information blkmem block memory
Definition at line 16562 of file var.c.
References BMSfreeBlockMemory, and NULL.
Referenced by conflictFreeTmpBdchginfos().
◆ SCIPbdchginfoGetRelaxedBound()
SCIP_Real SCIPbdchginfoGetRelaxedBound | ( | SCIP_BDCHGINFO * | bdchginfo | ) |
returns the relaxed bound change type
- Parameters
-
bdchginfo bound change to add to the conflict set
Definition at line 18798 of file var.c.
References SCIP_BdChgInfo::boundtype, SCIP_Var::conflictrelaxedlb, SCIP_Var::conflictrelaxedub, SCIP_BOUNDTYPE_LOWER, and SCIP_BdChgInfo::var.
Referenced by conflictAnalyze(), conflictCreateReconvergenceConss(), conflictResolveBound(), and conflictsetAddBounds().
◆ SCIPvarCreateOriginal()
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
- Parameters
-
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 2074 of file var.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_ORIGINAL, SCIPvarCapture(), and varCreate().
Referenced by SCIPcreateVar(), and SCIPvarCopy().
◆ SCIPvarCreateTransformed()
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
- Parameters
-
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 2117 of file var.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_LOOSE, SCIPeventfilterCreate(), SCIPvarCapture(), and varCreate().
Referenced by SCIPcreateVar(), SCIPvarTransform(), and tryAggregateIntVars().
◆ SCIPvarCopy()
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
- Parameters
-
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 2159 of file var.c.
References SCIP_Var::donotaggr, SCIP_Var::donotmultaggr, NULL, 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().
◆ SCIPvarParseOriginal()
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
- Parameters
-
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 2496 of file var.c.
References FALSE, NULL, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_ORIGINAL, SCIPvarCapture(), varCreate(), and varParse().
Referenced by SCIPparseVar().
◆ SCIPvarParseTransformed()
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
- Parameters
-
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 2560 of file var.c.
References NULL, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_LOOSE, SCIPeventfilterCreate(), SCIPvarCapture(), TRUE, varCreate(), and varParse().
Referenced by SCIPparseVar().
◆ SCIPvarCapture()
void SCIPvarCapture | ( | SCIP_VAR * | var | ) |
increases usage counter of variable
- Parameters
-
var variable
Definition at line 2847 of file var.c.
References SCIP_Var::name, NULL, SCIP_Var::nuses, Scip::origprob, SCIP_Var::scip, SCIPdebugMessage, SCIPprobGetName(), and Scip::transprob.
Referenced by boundchgCaptureData(), nlpAddVars(), SCIPcaptureVar(), SCIPpricestoreAddBdviolvar(), SCIPpricestoreAddVar(), SCIPprobAddVar(), SCIPtransformVar(), SCIPtransformVars(), SCIPvarCreateOriginal(), SCIPvarCreateTransformed(), SCIPvarParseOriginal(), SCIPvarParseTransformed(), SCIPvarTransform(), treeAddPendingBdchg(), and varAddParent().
◆ SCIPvarRelease()
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
- Parameters
-
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 2872 of file var.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPprobGetName(), SCIPsetDebugMsg, and varFree().
Referenced by boundchgReleaseData(), nlpDelVarPos(), SCIPpricestoreAddVar(), SCIPpricestoreApplyVars(), SCIPpricestoreResetBounds(), SCIPprobFree(), SCIPprobPerformVarDeletions(), SCIPprobTransform(), SCIPreleaseVar(), SCIPtreeClear(), treeApplyPendingBdchgs(), tryAggregateIntVars(), and varFreeParents().
◆ SCIPvarChgName()
SCIP_RETCODE SCIPvarChgName | ( | SCIP_VAR * | var, |
BMS_BLKMEM * | blkmem, | ||
const char * | name | ||
) |
change variable name change variable name
change variable name
- Parameters
-
var problem variable blkmem block memory name name of variable
Definition at line 2913 of file var.c.
References BMSfreeBlockMemoryArray, SCIP_Var::name, NULL, SCIP_CALL, SCIP_OKAY, and varSetName().
Referenced by SCIPchgVarName().
◆ SCIPvarInitSolve()
void SCIPvarInitSolve | ( | SCIP_VAR * | var | ) |
initializes variable data structure for solving
- Parameters
-
var problem variable
Definition at line 2931 of file var.c.
References SCIP_Var::conflictlbcount, SCIP_Var::conflictubcount, SCIP_Var::historycrun, NULL, and SCIPhistoryReset().
Referenced by SCIPprobInitSolve().
◆ SCIPvarTransform()
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
- Parameters
-
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 3461 of file var.c.
References SCIP_Var::branchdirection, SCIP_Var::branchfactor, SCIP_Var::branchpriority, SCIP_Var::data, SCIP_Var::donotaggr, SCIP_Var::donotmultaggr, FALSE, SCIP_Var::glbdom, SCIP_Var::history, SCIP_Dom::holelist, holelistDuplicate(), SCIP_Var::initial, SCIP_Var::lazylb, SCIP_Var::lazyub, SCIP_Dom::lb, SCIP_Var::locdom, SCIP_Var::name, SCIP_Var::nlocksdown, SCIP_Var::nlocksup, NLOCKTYPES, NULL, SCIP_Var::obj, SCIP_Var::original, SCIP_Var::removable, SCIP_Var::scip, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_ORIGINAL, SCIPhistoryUnite(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsnprintf(), SCIPvarCapture(), SCIPvarCreateTransformed(), SCIPvarGetStatus(), SCIPvarGetType(), SCIP_Original::transvar, SCIP_Dom::ub, varAddParent(), SCIP_Var::vardata, SCIP_Var::vlbs, and SCIP_Var::vubs.
Referenced by SCIPprobTransform(), SCIPtransformVar(), and SCIPtransformVars().
◆ SCIPvarGetTransformed()
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
- Parameters
-
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 3548 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, SCIPvarGetStatus(), SCIPvarNegate(), and SCIP_Original::transvar.
Referenced by SCIPgetTransformedVar(), and SCIPgetTransformedVars().
◆ SCIPvarColumn()
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
- Parameters
-
var problem variable blkmem block memory set global SCIP settings stat problem statistics prob problem data lp current LP data
Definition at line 3579 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(), and SCIP_Var::varstatus.
Referenced by SCIPpricestoreApplyVars(), and SCIPvarAddToRow().
◆ SCIPvarLoose()
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
- Parameters
-
var problem variable blkmem block memory set global SCIP settings eventqueue event queue prob problem data lp current LP data
Definition at line 3613 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(), and SCIP_Var::varstatus.
Referenced by SCIPprobExitSolve(), and SCIPprobPerformVarDeletions().
◆ SCIPvarFix()
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_EVENTFILTER * | eventfilter, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_CLIQUETABLE * | cliquetable, | ||
SCIP_Real | fixedval, | ||
SCIP_Bool * | infeasible, | ||
SCIP_Bool * | fixed | ||
) |
converts variable into fixed variable
- Parameters
-
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 eventfilter event filter for global (not variable dependent) events 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 3749 of file var.c.
References SCIP_Var::aggregate, 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(), SCIPsetIsIntegral(), SCIPsetIsZero(), SCIPsetRound(), SCIPvarAddObj(), SCIPvarChgLbGlobal(), SCIPvarChgObj(), SCIPvarChgUbGlobal(), SCIPvarFix(), 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(), and varUpdateAggregationBounds().
◆ SCIPvarGetActiveRepresentatives()
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).
- Parameters
-
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 3929 of file var.c.
References SCIP_Var::data, FALSE, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_Var::multaggr, NULL, SCIP_Multaggr::nvars, scalars, 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(), SCIPvarGetMultaggrConstant(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), TRUE, SCIP_Dom::ub, and SCIP_Multaggr::vars.
Referenced by SCIPgetProbvarLinearSum(), SCIPsolRetransform(), SCIPvarFlattenAggregationGraph(), and SCIPvarMultiaggregate().
◆ SCIPvarGetProbvarSum()
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
- Parameters
-
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 12646 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(), SCIPvarGetStatus(), SCIP_Original::transvar, SCIP_Aggregate::var, and SCIP_Multaggr::vars.
Referenced by conflictResolveBound(), convertToActiveVar(), nlrowRemoveFixedLinearCoefPos(), SCIPaggregateVars(), SCIPgetProbvarSum(), SCIPnlrowAddLinearCoef(), SCIPprimalTransformSol(), SCIPtreeBranchVar(), SCIPtreeBranchVarNary(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarAggregate(), and SCIPvarGetActiveRepresentatives().
◆ SCIPvarFlattenAggregationGraph()
SCIP_RETCODE SCIPvarFlattenAggregationGraph | ( | SCIP_VAR * | var, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue | ||
) |
flattens aggregation graph of multi-aggregated variable in order to avoid exponential recursion later-on
flattens aggregation graph of multi-aggregated variable in order to avoid exponential recursion later on
- Note
- After the flattening the multi aggregation might resolve to be in fact an aggregation (or even a fixing?). This issue is not resolved right now, since var->data.multaggr.nvars < 2 should not cause troubles. However, one may loose performance hereby, since aggregated variables are easier to handle.
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.
- Parameters
-
var problem variable blkmem block memory set global SCIP settings eventqueue event queue
Definition at line 4424 of file var.c.
References BMSreallocBlockMemoryArray, SCIP_Multaggr::constant, SCIP_Var::data, SCIP_Var::multaggr, SCIP_Var::nlocksdown, SCIP_Var::nlocksup, NLOCKTYPES, NULL, SCIP_Multaggr::nvars, SCIP_Multaggr::scalars, SCIP_Var::scip, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPvarAddLocks(), SCIPvarGetActiveRepresentatives(), SCIPvarGetStatus(), TRUE, SCIP_Multaggr::vars, and SCIP_Multaggr::varssize.
Referenced by exitPresolve(), and SCIPflattenVarAggregationGraph().
◆ SCIPvarsGetActiveVars()
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
- Parameters
-
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 12005 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 SCIPgetActiveVars().
◆ SCIPvarTryAggregateVars()
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.
- Parameters
-
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 5292 of file var.c.
References FALSE, 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, SCIPsetFeastol(), SCIPsetGetHugeValue(), SCIPsetGetStage(), SCIPsetIsFeasIntegral(), SCIPsetIsZero(), SCIPvarAggregate(), SCIPvarDoNotAggr(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsBinary(), TRUE, and tryAggregateIntVars().
Referenced by SCIPaggregateVars(), SCIPcliquetableCleanup(), and SCIPvarMultiaggregate().
◆ SCIPvarAggregate()
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_EVENTFILTER * | eventfilter, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_VAR * | aggvar, | ||
SCIP_Real | scalar, | ||
SCIP_Real | constant, | ||
SCIP_Bool * | infeasible, | ||
SCIP_Bool * | aggregated | ||
) |
converts loose variable into aggregated variable
- Parameters
-
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 eventfilter event filter for global (not variable dependent) events 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 4741 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::branchdirection, SCIP_Var::branchfactor, SCIP_Var::branchpriority, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::donotaggr, 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, NLOCKTYPES, 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(), SCIPdebugCheckAggregation, SCIPeventqueueIsDelayed(), SCIPhistoryReset(), SCIPhistoryUnite(), SCIPimplicsFree(), SCIPimplicsGetBounds(), SCIPimplicsGetNImpls(), SCIPimplicsGetTypes(), SCIPimplicsGetVars(), SCIPprobVarChangedStatus(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarAddImplic(), SCIPvarAddLocks(), SCIPvarAddObj(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgBranchDirection(), SCIPvarChgBranchFactor(), SCIPvarChgBranchPriority(), SCIPvarChgObj(), SCIPvarDoNotAggr(), SCIPvarFix(), SCIPvarGetHolelistGlobal(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsBinary(), SCIPvarMarkNotDeletable(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvboundsFree(), SCIPvboundsGetCoefs(), SCIPvboundsGetConstants(), SCIPvboundsGetNVbds(), SCIPvboundsGetVars(), TRUE, SCIP_Dom::ub, SCIP_Aggregate::var, varAddParent(), varEventVarFixed(), SCIP_Var::varstatus, varUpdateAggregationBounds(), SCIP_Var::vlbs, and SCIP_Var::vubs.
Referenced by SCIPvarTryAggregateVars(), and tryAggregateIntVars().
◆ SCIPvarMultiaggregate()
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
- Parameters
-
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 5446 of file var.c.
References BMSduplicateBlockMemoryArray, BMSfreeBlockMemoryArray, BMSreallocBlockMemoryArray, SCIP_Var::branchdirection, SCIP_Var::branchfactor, SCIP_Var::branchpriority, 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, NLOCKTYPES, NULL, SCIP_Multaggr::nvars, SCIP_Var::obj, SCIP_Var::original, SCIP_Var::probindex, SCIP_Var::removable, scalars, SCIP_Multaggr::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(), SCIPdebugCheckAggregation, 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(), SCIP_Multaggr::vars, SCIP_Multaggr::varssize, SCIP_Var::varstatus, SCIP_Var::vlbs, and SCIP_Var::vubs.
Referenced by SCIPmultiaggregateVar(), and SCIPvarMultiaggregate().
◆ SCIPvarDoNotAggr()
returns whether variable is not allowed to be aggregated
- Parameters
-
var problem variable
Definition at line 5848 of file var.c.
References SCIP_Var::donotaggr, 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(), and varGetActiveVar().
Referenced by SCIPdoNotAggrVar(), SCIPvarAggregate(), SCIPvarTryAggregateVars(), and tryAggregateIntVars().
◆ SCIPvarDoNotMultaggr()
returns whether variable is not allowed to be multi-aggregated
- Parameters
-
var problem variable
Definition at line 5881 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(), and varGetActiveVar().
Referenced by SCIPdoNotMultaggrVar(), and SCIPvarMultiaggregate().
◆ SCIPvarIsMarkedDeleteGlobalStructures()
returns whether the variable was flagged for deletion from global structures (cliques etc.)
- Parameters
-
var problem variable
Definition at line 17685 of file var.c.
References SCIP_Var::delglobalstructs, and NULL.
Referenced by cliqueCleanup(), and SCIPcliquetableAdd().
◆ SCIPvarNegate()
SCIP_RETCODE SCIPvarNegate | ( | SCIP_VAR * | var, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_VAR ** | negvar | ||
) |
gets negated variable x' = offset - x of problem variable x; the negated variable is created if not yet existing; the negation offset of binary variables is always 1, the offset of other variables is fixed to lb + ub when the negated variable is created
- Parameters
-
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 5917 of file var.c.
References SCIP_Var::branchdirection, SCIP_Var::branchfactor, SCIP_Var::branchpriority, SCIP_Var::donotaggr, 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(), and varCreate().
Referenced by addSplitcons(), SCIPgetNegatedVar(), SCIPgetNegatedVars(), SCIPreoptApplyGlbConss(), and SCIPvarGetTransformed().
◆ SCIPvarSetProbindex()
void SCIPvarSetProbindex | ( | SCIP_VAR * | var, |
int | probindex | ||
) |
informs variable that its position in problem's vars array changed
- Parameters
-
var problem variable probindex new problem index of variable
Definition at line 6026 of file var.c.
References NULL, and varSetProbindex().
Referenced by probInsertVar(), and probRemoveVar().
◆ SCIPvarSetNamePointer()
void SCIPvarSetNamePointer | ( | SCIP_VAR * | var, |
const char * | name | ||
) |
gives the variable a new name
- Note
- the old pointer is overwritten, which might result in a memory leakage
- Parameters
-
var problem variable name new name of variable
Definition at line 6041 of file var.c.
References SCIP_Var::name, and NULL.
Referenced by resetVarname(), and SCIPreaderWrite().
◆ SCIPvarRemove()
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.
- Parameters
-
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 6059 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(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvboundsFree(), TRUE, varSetProbindex(), SCIP_Var::vlbs, and SCIP_Var::vubs.
Referenced by probRemoveVar(), and SCIPprobFree().
◆ SCIPvarMarkDeleted()
void SCIPvarMarkDeleted | ( | SCIP_VAR * | var | ) |
marks the variable to be deleted from the problem
- Parameters
-
var problem variable
Definition at line 6095 of file var.c.
References SCIP_Var::deleted, NULL, SCIP_Var::probindex, and TRUE.
Referenced by SCIPprobDelVar().
◆ SCIPvarMarkDoNotAggr()
SCIP_RETCODE SCIPvarMarkDoNotAggr | ( | SCIP_VAR * | var | ) |
marks the variable to not to be maggregated
marks the variable to not to be aggregated
- Parameters
-
var problem variable
Definition at line 6106 of file var.c.
References SCIP_Var::donotaggr, NULL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPvarGetStatus(), TRUE, and varGetActiveVar().
Referenced by SCIPmarkDoNotAggrVar().
◆ SCIPvarMarkDoNotMultaggr()
SCIP_RETCODE SCIPvarMarkDoNotMultaggr | ( | SCIP_VAR * | var | ) |
marks the variable to not to be multi-aggregated
- Parameters
-
var problem variable
Definition at line 6142 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, SCIPvarGetStatus(), TRUE, and varGetActiveVar().
Referenced by SCIPmarkDoNotMultaggrVar().
◆ SCIPvarAddLocks()
SCIP_RETCODE SCIPvarAddLocks | ( | SCIP_VAR * | var, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LOCKTYPE | locktype, | ||
int | addnlocksdown, | ||
int | addnlocksup | ||
) |
modifies lock numbers for rounding
- Parameters
-
var problem variable blkmem block memory set global SCIP settings eventqueue event queue locktype type of the variable locks addnlocksdown increase in number of rounding down locks addnlocksup increase in number of rounding up locks
Definition at line 3167 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::donotaggr, SCIP_Var::donotmultaggr, SCIP_Var::multaggr, SCIP_Var::name, SCIP_Var::negatedvar, SCIP_Var::nlocksdown, SCIP_Var::nlocksup, NLOCKTYPES, NULL, SCIP_Multaggr::nvars, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Multaggr::scalars, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_LOCKTYPE_MODEL, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPsetDebugMsg, SCIPvarAddLocks(), SCIPvarGetStatus(), SCIP_Original::transvar, TRUE, SCIP_Aggregate::var, varEventVarUnlocked(), and SCIP_Multaggr::vars.
Referenced by SCIPaddVarLocksType(), SCIPlockVarCons(), SCIPunlockVarCons(), SCIPvarAddLocks(), SCIPvarAggregate(), SCIPvarFlattenAggregationGraph(), and SCIPvarMultiaggregate().
◆ SCIPvarChgType()
SCIP_RETCODE SCIPvarChgType | ( | SCIP_VAR * | var, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_PRIMAL * | primal, | ||
SCIP_LP * | lp, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_VARTYPE | vartype | ||
) |
changes type of variable; cannot be called, if var belongs to a problem
- Parameters
-
var problem variable to change blkmem block memory set global SCIP settings primal primal data lp current LP data eventqueue event queue vartype new type of variable
Definition at line 6178 of file var.c.
References SCIP_Var::name, SCIP_Var::negatedvar, NULL, SCIP_Var::probindex, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_TRANSFORMING, SCIPdebugMessage, SCIPerrorMessage, SCIPeventCreateTypeChanged(), SCIPeventqueueAdd(), SCIPsetGetStage(), SCIPvarGetType(), SCIPvarIsBinary(), and SCIP_Var::vartype.
Referenced by SCIPchgVarType(), and SCIPprobChgVarType().
◆ SCIPvarChgObj()
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
- Parameters
-
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 6264 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(), SCIPvarChgObj(), SCIPvarGetStatus(), SCIPvarIsActive(), SCIP_Original::transvar, SCIP_Var::unchangedobj, and varEventObjChanged().
Referenced by SCIPchgVarObj(), SCIPchgVarObjProbing(), SCIPprobScaleObj(), SCIPpropagateProbing(), SCIPvarAggregate(), SCIPvarChgObj(), SCIPvarFix(), SCIPvarMultiaggregate(), and treeBacktrackProbing().
◆ SCIPvarAddObj()
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_EVENTFILTER * | eventfilter, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_Real | addobj | ||
) |
adds value to objective value of variable
- Parameters
-
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 eventfilter event filter for global (not variable dependent) events eventqueue event queue addobj additional objective value for variable
Definition at line 6339 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::donotaggr, 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(), SCIPvarGetStatus(), SCIPvarIsActive(), SCIP_Original::transvar, SCIP_Dom::ub, SCIP_Var::unchangedobj, SCIP_Aggregate::var, varEventObjChanged(), and SCIP_Multaggr::vars.
Referenced by SCIPaddVarObj(), SCIPvarAddObj(), SCIPvarAggregate(), SCIPvarFix(), and SCIPvarMultiaggregate().
◆ SCIPvarChgObjDive()
SCIP_RETCODE SCIPvarChgObjDive | ( | SCIP_VAR * | var, |
SCIP_SET * | set, | ||
SCIP_LP * | lp, | ||
SCIP_Real | newobj | ||
) |
changes objective value of variable in current dive
- Parameters
-
var problem variable to change set global SCIP settings lp current LP data newobj new objective value for variable
Definition at line 6454 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(), SCIPvarChgObjDive(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPchgVarObjDive(), and SCIPvarChgObjDive().
◆ SCIPvarAdjustLb()
adjust lower bound to integral value, if variable is integral
- Parameters
-
var problem variable set global SCIP settings lb pointer to lower bound to adjust
Definition at line 6517 of file var.c.
References adjustedLb(), SCIP_Var::name, NULL, SCIP_Var::scip, SCIPsetDebugMsg, and SCIPvarGetType().
Referenced by addSplitcons(), changeAncestorBranchings(), fixBounds(), fixInterdiction(), SCIPadjustedVarLb(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPchgVarLbNode(), SCIPchgVarLbProbing(), SCIPconflictAddRelaxedBound(), SCIPfixVarProbing(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPnodeAddBoundinfer(), SCIPnodeAddHoleinfer(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPtreeBranchVarNary(), SCIPvarAdjustBd(), SCIPvarChgLbDive(), sepastoreApplyLb(), sepastoreIsBdchgApplicable(), and varUpdateAggregationBounds().
◆ SCIPvarAdjustUb()
adjust upper bound to integral value, if variable is integral
- Parameters
-
var problem variable set global SCIP settings ub pointer to upper bound to adjust
Definition at line 6534 of file var.c.
References adjustedUb(), SCIP_Var::name, NULL, SCIP_Var::scip, SCIPsetDebugMsg, and SCIPvarGetType().
Referenced by addSplitcons(), changeAncestorBranchings(), fixBounds(), fixInterdiction(), SCIPadjustedVarUb(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPchgVarUbNode(), SCIPchgVarUbProbing(), SCIPconflictAddRelaxedBound(), SCIPfixVarProbing(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPnodeAddBoundinfer(), SCIPnodeAddHoleinfer(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPtreeBranchVarNary(), SCIPvarAdjustBd(), SCIPvarChgUbDive(), sepastoreApplyUb(), sepastoreIsBdchgApplicable(), and varUpdateAggregationBounds().
◆ SCIPvarAdjustBd()
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
- Parameters
-
var problem variable set global SCIP settings boundtype type of bound to adjust bd pointer to bound to adjust
Definition at line 6551 of file var.c.
References SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIPvarAdjustLb(), and SCIPvarAdjustUb().
Referenced by SCIPvarAddImplic(), tightenSingleVar(), and treeAddPendingBdchg().
◆ SCIPvarChgLbOriginal()
SCIP_RETCODE SCIPvarChgLbOriginal | ( | SCIP_VAR * | var, |
SCIP_SET * | set, | ||
SCIP_Real | newbound | ||
) |
changes lower bound of original variable in original problem
- Parameters
-
var problem variable to change set global SCIP settings newbound new bound for variable
Definition at line 6567 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(), and SCIPvarChgUbOriginal().
◆ SCIPvarChgUbOriginal()
SCIP_RETCODE SCIPvarChgUbOriginal | ( | SCIP_VAR * | var, |
SCIP_SET * | set, | ||
SCIP_Real | newbound | ||
) |
changes upper bound of original variable in original problem
- Parameters
-
var problem variable to change set global SCIP settings newbound new bound for variable
Definition at line 6626 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(), and SCIP_Dom::ub.
Referenced by SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), and SCIPvarChgLbOriginal().
◆ SCIPvarChgLbGlobal()
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
- Parameters
-
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 7185 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(), and varUpdateAggregationBounds().
◆ SCIPvarChgUbGlobal()
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
- Parameters
-
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 7328 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(), 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().
◆ SCIPvarChgBdGlobal()
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
- Parameters
-
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 7518 of file var.c.
References SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_INVALIDDATA, SCIPerrorMessage, SCIPvarChgLbGlobal(), and SCIPvarChgUbGlobal().
Referenced by boundchgApplyGlobal(), and SCIPnodeAddBoundinfer().
◆ SCIPvarChgLbLocal()
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
- Parameters
-
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 7970 of file var.c.
References adjustedLb(), SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::glbdom, 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(), and SCIPvarResetBounds().
◆ SCIPvarChgUbLocal()
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
- Parameters
-
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 8097 of file var.c.
References adjustedUb(), SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::glbdom, 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(), 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().
◆ SCIPvarChgBdLocal()
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
- Parameters
-
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 8223 of file var.c.
References SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_INVALIDDATA, SCIPerrorMessage, SCIPvarChgLbLocal(), and SCIPvarChgUbLocal().
◆ SCIPvarChgLbLazy()
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
- Parameters
-
var problem variable set global SCIP settings lazylb the lazy lower bound to be set
Definition at line 7469 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(), SCIPvarGetStatus(), and SCIP_Dom::ub.
Referenced by SCIPchgVarLbLazy().
◆ SCIPvarChgUbLazy()
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
- Parameters
-
var problem variable set global SCIP settings lazyub the lazy lower bound to be set
Definition at line 7492 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(), and SCIPvarGetStatus().
Referenced by SCIPchgVarUbLazy().
◆ SCIPvarChgLbDive()
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
- Parameters
-
var problem variable to change set global SCIP settings lp current LP data newbound new bound for variable
Definition at line 8249 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(), SCIPvarChgLbDive(), and SCIPvarChgUbDive().
◆ 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
- Parameters
-
var problem variable to change set global SCIP settings lp current LP data newbound new bound for variable
Definition at line 8339 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(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPchgVarUbDive(), SCIPvarChgLbDive(), and SCIPvarChgUbDive().
◆ SCIPvarGetMultaggrLbLocal()
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
- Parameters
-
var problem variable set global SCIP settings
Definition at line 8434 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(), SCIPvarGetMultaggrLbLocal(), and SCIPvarGetMultaggrUbLocal().
◆ 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
- Parameters
-
var problem variable set global SCIP settings
Definition at line 8500 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(), SCIPvarGetMultaggrLbLocal(), SCIPvarGetMultaggrUbLocal(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), TRUE, SCIP_Multaggr::vars, and SCIP_Var::varstatus.
Referenced by SCIPbranchcandAddExternCand(), SCIPcomputeVarUbLocal(), SCIPgetVarMultaggrUbLocal(), SCIPvarGetMultaggrLbLocal(), and SCIPvarGetMultaggrUbLocal().
◆ SCIPvarGetMultaggrLbGlobal()
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
- Parameters
-
var problem variable set global SCIP settings
Definition at line 8566 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(), and SCIPvarGetMultaggrUbGlobal().
◆ SCIPvarGetMultaggrUbGlobal()
for a multi-aggregated variable, gives the global upper bound computed by adding the global bounds from all aggregation variables this upper bound may be tighter than the one given by SCIPvarGetUbGlobal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable is not allowed
for a multi-aggregated variable, gives the global upper bound computed by adding the global bounds from all aggregation variables, this upper bound may be tighter than the one given by SCIPvarGetUbGlobal, since the latter is not updated if bounds of aggregation variables are changing
calling this function for a non-multi-aggregated variable is not allowed
- Parameters
-
var problem variable set global SCIP settings
Definition at line 8632 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(), SCIPvarGetLbGlobal(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetMultaggrUbGlobal(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), TRUE, SCIP_Multaggr::vars, and SCIP_Var::varstatus.
Referenced by SCIPcomputeVarUbGlobal(), SCIPgetVarMultaggrUbGlobal(), SCIPvarGetMultaggrLbGlobal(), and SCIPvarGetMultaggrUbGlobal().
◆ SCIPvarAddHoleOriginal()
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
- Parameters
-
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 8693 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(), and SCIPvarIsTransformed().
◆ SCIPvarAddHoleGlobal()
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
- Parameters
-
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 8874 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, and varProcessAddHoleGlobal().
Referenced by SCIPnodeAddHoleinfer(), and SCIPvarAddHoleGlobal().
◆ SCIPvarAddHoleLocal()
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
- Parameters
-
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 9121 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(), SCIP_Original::transvar, SCIP_Aggregate::var, and varProcessAddHoleLocal().
Referenced by SCIPvarAddHoleGlobal(), and SCIPvarAddHoleLocal().
◆ SCIPvarResetBounds()
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
- Parameters
-
var problem variable blkmem block memory set global SCIP settings stat problem statistics
Definition at line 9230 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(), and SCIP_Dom::ub.
Referenced by SCIPprobResetBounds().
◆ SCIPvarGetConflictingBdchgDepth()
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
- Parameters
-
var problem variable set global SCIP settings boundtype bound type of the conflicting bound bound conflicting bound
Definition at line 17044 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_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsLE(), SCIPsetIsLT(), SCIP_Dom::ub, SCIP_Var::ubchginfos, and SCIP_BdChgInfo::var.
Referenced by SCIPnodeAddBoundinfer(), and treeApplyPendingBdchgs().
◆ SCIPvarAddVlb()
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
- Parameters
-
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 10000 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(), SCIPsetIsGT(), SCIPsetIsInfinity(), SCIPsetIsLT(), 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(), and SCIPvarAggregate().
◆ SCIPvarAddVub()
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
- Parameters
-
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 10464 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(), SCIPsetIsGT(), SCIPsetIsInfinity(), SCIPsetIsLT(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetIsZero(), SCIPtreeGetRootNode(), 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().
◆ SCIPvarAddImplic()
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
- Parameters
-
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 10911 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_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(), SCIPvarIsActive(), SCIPvarIsBinary(), SCIP_Original::transvar, TRUE, SCIP_Aggregate::var, and varAddTransitiveImplic().
Referenced by SCIPaddVarImplication(), SCIPvarAddImplic(), and SCIPvarAggregate().
◆ SCIPvarFixBinary()
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
- Parameters
-
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 11181 of file var.c.
References 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(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), TRUE, and SCIP_Dom::ub.
Referenced by cliqueCleanup(), SCIPcliquetableAdd(), SCIPvarAddClique(), and sortAndMergeClique().
◆ SCIPvarAddClique()
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
- Parameters
-
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 11269 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(), and SCIPvarIsBinary().
◆ SCIPvarsAddClique()
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
- Parameters
-
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 11354 of file var.c.
References SCIP_Var::cliquelist, NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPcliquelistAdd(), SCIPcliquelistCheck(), SCIPvarGetStatus(), and SCIPvarIsBinary().
Referenced by SCIPcliquetableAdd().
◆ SCIPvarDelClique()
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
- Parameters
-
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 11431 of file var.c.
References SCIP_Var::cliquelist, NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIPcliqueDelVar(), SCIPcliquelistCheck(), SCIPcliquelistDel(), SCIPvarGetProbvarBinary(), SCIPvarGetStatus(), and SCIPvarIsBinary().
◆ SCIPvarAddCliqueToList()
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
- Parameters
-
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 11392 of file var.c.
References SCIP_Var::cliquelist, NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPcliquelistAdd(), SCIPvarGetStatus(), and SCIPvarIsBinary().
Referenced by cliqueCleanup().
◆ SCIPvarDelCliqueFromList()
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
- Parameters
-
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 11414 of file var.c.
References SCIP_Var::cliquelist, NULL, SCIP_CALL, SCIP_OKAY, SCIPcliquelistDel(), and SCIPvarIsBinary().
Referenced by cliqueCleanup(), SCIPcliquetableCleanup(), and sortAndMergeClique().
◆ SCIPvarChgBranchFactor()
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
- Parameters
-
var problem variable set global SCIP settings branchfactor factor to weigh variable's branching score with
Definition at line 11559 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::branchfactor, SCIP_Var::data, SCIP_Var::donotaggr, 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(), and SCIP_Multaggr::vars.
Referenced by SCIPaddVarBranchFactor(), SCIPchgVarBranchFactor(), SCIPscaleVarBranchFactor(), SCIPvarAggregate(), SCIPvarChgBranchFactor(), and SCIPvarMultiaggregate().
◆ SCIPvarChgBranchPriority()
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
- Parameters
-
var problem variable branchpriority branching priority of the variable
Definition at line 11686 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::branchpriority, SCIP_Var::data, SCIP_Var::donotaggr, 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, varProcessChgBranchPriority(), and SCIP_Multaggr::vars.
Referenced by SCIPaddVarBranchPriority(), SCIPbranchcandUpdateVarBranchPriority(), SCIPchgVarBranchPriority(), SCIPupdateVarBranchPriority(), SCIPvarAggregate(), SCIPvarChgBranchPriority(), and SCIPvarMultiaggregate().
◆ SCIPvarChgBranchDirection()
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
- Parameters
-
var problem variable branchdirection preferred branch direction of the variable (downwards, upwards, auto)
Definition at line 11817 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::branchdirection, SCIP_Var::data, SCIP_Var::donotaggr, 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(), SCIPvarGetStatus(), SCIP_Original::transvar, SCIP_Aggregate::var, varProcessChgBranchDirection(), and SCIP_Multaggr::vars.
Referenced by SCIPchgVarBranchDirection(), SCIPvarAggregate(), SCIPvarChgBranchDirection(), and SCIPvarMultiaggregate().
◆ SCIPvarGetObjLP()
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
- Parameters
-
var problem variable
Definition at line 12885 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_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPcolGetObj(), SCIPerrorMessage, SCIPvarGetObjLP(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarObjDive(), SCIPgetVarObjProbing(), and SCIPvarGetObjLP().
◆ SCIPvarGetLbLP()
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
- Parameters
-
var problem variable set global SCIP settings
Definition at line 12931 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_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(), SCIPconflictAnalyzeRemainingBdchgs(), SCIPgetVarLbDive(), SCIPvarGetLbLP(), and SCIPvarGetUbLP().
◆ 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
- Parameters
-
var problem variable set global SCIP settings
Definition at line 13001 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_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPcolGetUb(), SCIPerrorMessage, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPvarGetLbLP(), SCIPvarGetStatus(), SCIPvarGetUbLP(), SCIP_Original::transvar, SCIP_Dom::ub, and SCIP_Aggregate::var.
Referenced by addBdchg(), addCand(), conflictAnalyzeLP(), SCIPconflictAnalyzeRemainingBdchgs(), SCIPgetVarUbDive(), SCIPvarGetLbLP(), and SCIPvarGetUbLP().
◆ SCIPvarGetClosestVlb()
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
- Parameters
-
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 14122 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(), SCIPvarGetLPSol(), SCIPvarGetNVlbs(), SCIPvarGetVlbCoefs(), SCIPvarGetVlbConstants(), SCIPvarGetVlbVars(), and SCIPvarIsActive().
Referenced by SCIPgetVarClosestVlb().
◆ SCIPvarGetClosestVub()
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
- Parameters
-
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 14197 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(), SCIPvarGetLPSol(), SCIPvarGetNVubs(), SCIPvarGetVubCoefs(), SCIPvarGetVubConstants(), SCIPvarGetVubVars(), and SCIPvarIsActive().
Referenced by SCIPgetVarClosestVub().
◆ SCIPvarStoreRootSol()
remembers the current solution as root solution in the problem variables
- Parameters
-
var problem variable roothaslp is the root solution from LP?
Definition at line 13268 of file var.c.
References NULL, SCIP_Var::rootsol, and SCIPvarGetSol().
Referenced by SCIPprobStoreRootSol().
◆ SCIPvarUpdateBestRootSol()
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
- Parameters
-
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 13279 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(), and SCIPvarGetUbGlobal().
Referenced by analyzeStrongbranch(), and SCIPprobUpdateBestRootSol().
◆ SCIPvarGetRelaxSol()
returns the solution value of the problem variables in the relaxation solution
returns the solution value of the problem variable in the relaxation solution
- Parameters
-
var problem variable set global SCIP settings
Definition at line 13922 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(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), SCIP_Original::transvar, SCIP_Aggregate::var, and SCIP_Multaggr::vars.
Referenced by SCIPgetRelaxSolVal(), SCIPrelaxationUpdateVarObj(), SCIProwGetRelaxFeasibility(), SCIPtreeStoreRelaxSol(), and SCIPvarGetRelaxSol().
◆ SCIPvarGetRelaxSolTransVar()
returns the solution value of the transformed problem variable in the relaxation solution
- Parameters
-
var problem variable
Definition at line 13994 of file var.c.
References NULL, SCIP_Var::relaxsol, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, and SCIPvarGetStatus().
Referenced by solGetArrayVal(), and solUnlinkVar().
◆ SCIPvarGetImplRedcost()
SCIP_Real SCIPvarGetImplRedcost | ( | SCIP_VAR * | var, |
SCIP_SET * | set, | ||
SCIP_Bool | varfixing, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_LP * | lp | ||
) |
returns for the given binary variable the reduced cost which are given by the variable itself and its implication if the binary variable is fixed to the given value
- Parameters
-
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 13467 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(), SCIPvarGetCliques(), SCIPvarGetCol(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetNCliques(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIPvarIsActive(), and SCIPvarIsBinary().
Referenced by SCIPgetVarImplRedcost(), and SCIPprobUpdateBestRootSol().
◆ SCIPvarSetRelaxSol()
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
- Parameters
-
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 13861 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_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPrelaxationSolObjAdd(), SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarSetRelaxSol(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPclearRelaxSolVals(), SCIPsetRelaxSolVal(), SCIPsetRelaxSolVals(), SCIPsetRelaxSolValsSol(), SCIPtreeRestoreRelaxSol(), and SCIPvarSetRelaxSol().
◆ SCIPvarSetNLPSol()
SCIP_RETCODE SCIPvarSetNLPSol | ( | SCIP_VAR * | var, |
SCIP_SET * | set, | ||
SCIP_Real | solval | ||
) |
stores the solution value as NLP solution in the problem variable
- Parameters
-
var problem variable set global SCIP settings solval solution value in the current NLP solution
Definition at line 14005 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_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarSetNLPSol(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by nlpAddVars(), nlpSolve(), and SCIPvarSetNLPSol().
◆ SCIPvarAddToRow()
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
- Parameters
-
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 14269 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::donotaggr, 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_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(), SCIP_Original::transvar, SCIP_Dom::ub, SCIP_Col::var, SCIP_Aggregate::var, and SCIP_Multaggr::vars.
Referenced by SCIPaddVarsToRow(), SCIPaddVarsToRowSameCoef(), SCIPaddVarToRow(), and SCIPvarAddToRow().
◆ SCIPvarMergeHistories()
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
- Note
- Do not use this method if the two variables originate from two SCIP's with different objective functions, since this corrupts the variable pseudo costs
- Apply with care; no internal checks are performed if the two variables should be merged
- Parameters
-
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 4519 of file var.c.
References FALSE, SCIP_Stat::glbhistory, SCIP_Var::history, SCIP_Var::historycrun, and SCIPhistoryUnite().
Referenced by SCIPmergeVariableStatistics(), and SCIPvarCopy().
◆ SCIPvarSetHistory()
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
- Parameters
-
var variable history the history which is to set stat problem statistics
Definition at line 4535 of file var.c.
References FALSE, SCIP_Stat::glbhistory, SCIP_Var::history, and SCIPhistoryUnite().
◆ SCIPvarUpdatePseudocost()
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
- Parameters
-
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 14378 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(), SCIPvarGetRootSol(), SCIPvarGetStatus(), SCIPvarUpdatePseudocost(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPinitVarBranchStats(), SCIPupdateVarPseudocost(), SCIPvarUpdatePseudocost(), and updatePseudocost().
◆ SCIPvarGetPseudocost()
gets the variable's pseudo cost value for the given step size "solvaldelta" in the variable's LP solution value
- Parameters
-
var problem variable stat problem statistics solvaldelta difference of variable's new LP value - old LP value
Definition at line 14476 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_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPhistoryGetPseudocost(), SCIPhistoryGetPseudocostCount(), SCIPvarGetPseudocost(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPcalcChildEstimateIncrease(), SCIPgetVarPseudocost(), SCIPgetVarPseudocostScore(), SCIPgetVarPseudocostVal(), SCIPprintBranchingStatistics(), SCIPtreeCalcChildEstimate(), SCIPtreeCalcNodeselPriority(), SCIPvarGetMinPseudocostScore(), SCIPvarGetPseudocost(), SCIPvarPscostThresholdProbabilityTest(), SCIPvarSignificantPscostDifference(), selectVarMultAggrBranching(), and updateEstimate().
◆ SCIPvarGetPseudocostCurrentRun()
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
- Parameters
-
var problem variable stat problem statistics solvaldelta difference of variable's new LP value - old LP value
Definition at line 14525 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, SCIPerrorMessage, SCIPhistoryGetPseudocost(), SCIPhistoryGetPseudocostCount(), SCIPvarGetPseudocostCurrentRun(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarPseudocostCurrentRun(), SCIPgetVarPseudocostScoreCurrentRun(), SCIPgetVarPseudocostValCurrentRun(), SCIPvarGetPseudocostCurrentRun(), and SCIPvarIsPscostRelerrorReliable().
◆ SCIPvarGetPseudocostCount()
SCIP_Real SCIPvarGetPseudocostCount | ( | SCIP_VAR * | var, |
SCIP_BRANCHDIR | dir | ||
) |
gets the variable's (possible fractional) number of pseudo cost updates for the given direction
- Parameters
-
var problem variable dir branching direction (downwards, or upwards)
Definition at line 14572 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_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetPseudocostCount(), SCIPvarGetPseudocostCount(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarPseudocostCount(), SCIPprintBranchingStatistics(), SCIPvarCalcPscostConfidenceBound(), SCIPvarGetMinPseudocostScore(), SCIPvarGetPseudocostCount(), SCIPvarPscostThresholdProbabilityTest(), and SCIPvarSignificantPscostDifference().
◆ SCIPvarGetPseudocostCountCurrentRun()
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
- Parameters
-
var problem variable 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_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetPseudocostCount(), SCIPvarGetPseudocostCountCurrentRun(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarPseudocostCountCurrentRun(), SCIPvarCalcPscostConfidenceBound(), SCIPvarGetPseudocostCountCurrentRun(), and SCIPvarIsPscostRelerrorReliable().
◆ SCIPvarGetMinPseudocostScore()
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
- Parameters
-
var problem variable stat problem statistics set global SCIP settings solval solution value, e.g., LP solution value
Definition at line 14660 of file var.c.
References MIN, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIPsetCeil(), SCIPsetFloor(), SCIPsetIsFeasIntegral(), SCIPvarGetPseudocost(), and SCIPvarGetPseudocostCount().
Referenced by SCIPstatComputeRootLPBestEstimate(), SCIPstatUpdateVarRootLPBestEstimate(), and SCIPvarUpdatePseudocost().
◆ SCIPvarGetPseudocostVariance()
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
- Parameters
-
var problem variable dir branching direction (downwards, or upwards) onlycurrentrun return pseudo cost variance only for current branch and bound run
Definition at line 14691 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_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetPseudocostVariance(), SCIPvarGetPseudocostVariance(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarPseudocostVariance(), SCIPprintBranchingStatistics(), SCIPvarCalcPscostConfidenceBound(), SCIPvarGetPseudocostVariance(), SCIPvarPscostThresholdProbabilityTest(), and SCIPvarSignificantPscostDifference().
◆ SCIPvarCalcPscostConfidenceBound()
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 %.
- Returns
- value of confidence bound for this variable
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.
- Returns
- value of confidence bound for this variable
- Parameters
-
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 14745 of file var.c.
References SCIP_Real, SCIPsetFloor(), SCIPsetIsFeasPositive(), SCIPstudentTGetCriticalValue(), SCIPvarGetPseudocostCount(), SCIPvarGetPseudocostCountCurrentRun(), and SCIPvarGetPseudocostVariance().
Referenced by SCIPcalculatePscostConfidenceBound(), and SCIPvarIsPscostRelerrorReliable().
◆ 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
- Parameters
-
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 14783 of file var.c.
References FALSE, MAX, MIN, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIPvarCalcPscostConfidenceBound(), SCIPvarGetPseudocostCountCurrentRun(), SCIPvarGetPseudocostCurrentRun(), and TRUE.
Referenced by SCIPisVarPscostRelerrorReliable().
◆ SCIPvarSignificantPscostDifference()
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.
- Note
- The order of x and y matters for the one-sided hypothesis
-
set
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.
- Returns
- TRUE if the hypothesis can be safely rejected at the given confidence level
- Parameters
-
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 14860 of file var.c.
References FALSE, REALABS, SCIP_BRANCHDIR_DOWNWARDS, SCIP_Real, SCIPcomputeTwoSampleTTestValue(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPstudentTGetCriticalValue(), SCIPvarGetPseudocost(), SCIPvarGetPseudocostCount(), SCIPvarGetPseudocostVariance(), and SQR.
Referenced by SCIPsignificantVarPscostDifference().
◆ SCIPvarPscostThresholdProbabilityTest()
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
.
- Note
- use
clevel
to adjust the level of confidence. For SCIP_CONFIDENCELEVEL_MIN, the method returns TRUE if the estimated probability to exceedthreshold
is less than 25 %.
- See also
- SCIP_Confidencelevel for a list of available levels. The used probability limits refer to the one-sided levels of confidence.
- Returns
- TRUE if the variable pseudo-cost probabilistic model is likely to be smaller than
threshold
at the given confidence levelclevel
.
- Parameters
-
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 14926 of file var.c.
References FALSE, SCIP_BRANCHDIR_DOWNWARDS, SCIP_CONFIDENCELEVEL_HIGH, SCIP_CONFIDENCELEVEL_LOW, SCIP_CONFIDENCELEVEL_MAX, SCIP_CONFIDENCELEVEL_MEDIUM, SCIP_CONFIDENCELEVEL_MIN, SCIP_Real, SCIPABORT, SCIPerrorMessage, SCIPnormalCDF(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGE(), SCIPsetIsFeasLT(), SCIPvarGetPseudocost(), SCIPvarGetPseudocostCount(), SCIPvarGetPseudocostVariance(), and SQR.
Referenced by SCIPpscostThresholdProbabilityTest().
◆ SCIPvarIncVSIDS()
SCIP_RETCODE SCIPvarIncVSIDS | ( | SCIP_VAR * | var, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_BRANCHDIR | dir, | ||
SCIP_Real | value, | ||
SCIP_Real | weight | ||
) |
increases the VSIDS of the variable by the given weight
increases VSIDS of the variable by the given weight
- Parameters
-
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 15050 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(), SCIP_Original::transvar, useValuehistory(), and SCIP_Aggregate::var.
Referenced by incVSIDS(), SCIPinitVarBranchStats(), SCIPinitVarValueBranchStats(), and SCIPvarIncVSIDS().
◆ SCIPvarScaleVSIDS()
SCIP_RETCODE SCIPvarScaleVSIDS | ( | SCIP_VAR * | var, |
SCIP_Real | scalar | ||
) |
scales the VSIDS of the variable by the given scalar
- Parameters
-
var problem variable scalar scalar to multiply the VSIDSs with
Definition at line 15136 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(), SCIPvarScaleVSIDS(), SCIP_Original::transvar, SCIP_Var::valuehistory, and SCIP_Aggregate::var.
Referenced by SCIPconflictInit(), and SCIPvarScaleVSIDS().
◆ SCIPvarIncNActiveConflicts()
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
- Parameters
-
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 15186 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, SCIPhistoryIncNActiveConflicts(), SCIPvarGetStatus(), SCIPvarIncNActiveConflicts(), SCIP_Original::transvar, useValuehistory(), and SCIP_Aggregate::var.
Referenced by SCIPinitVarBranchStats(), SCIPinitVarValueBranchStats(), SCIPvarIncNActiveConflicts(), and updateStatistics().
◆ SCIPvarGetNActiveConflicts()
SCIP_Longint SCIPvarGetNActiveConflicts | ( | SCIP_VAR * | var, |
SCIP_STAT * | stat, | ||
SCIP_BRANCHDIR | dir | ||
) |
gets the number of active conflicts containing this variable in given direction
- Parameters
-
var problem variable stat problem statistics dir branching direction (downwards, or upwards)
Definition at line 15267 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_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetNActiveConflicts(), SCIPvarGetNActiveConflicts(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPvarGetNActiveConflicts().
◆ SCIPvarGetNActiveConflictsCurrentRun()
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
- Parameters
-
var problem variable stat problem statistics dir branching direction (downwards, or upwards)
Definition at line 15314 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, SCIPhistoryGetNActiveConflicts(), SCIPvarGetNActiveConflictsCurrentRun(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPvarGetNActiveConflictsCurrentRun().
◆ SCIPvarGetAvgConflictlength()
SCIP_Real SCIPvarGetAvgConflictlength | ( | SCIP_VAR * | var, |
SCIP_BRANCHDIR | dir | ||
) |
gets the average conflict length in given direction due to branching on the variable
- Parameters
-
var problem variable dir branching direction (downwards, or upwards)
Definition at line 15359 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_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetAvgConflictlength(), SCIPvarGetAvgConflictlength(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarAvgConflictlength(), SCIPgetVarConflictlengthScore(), and SCIPvarGetAvgConflictlength().
◆ SCIPvarGetAvgConflictlengthCurrentRun()
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
- Parameters
-
var problem variable dir branching direction (downwards, or upwards)
Definition at line 15403 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(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarAvgConflictlengthCurrentRun(), SCIPgetVarConflictlengthScoreCurrentRun(), and SCIPvarGetAvgConflictlengthCurrentRun().
◆ SCIPvarIncNBranchings()
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
- Parameters
-
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 15446 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(), SCIPvarIncNBranchings(), SCIP_Original::transvar, useValuehistory(), and SCIP_Aggregate::var.
Referenced by SCIPboundchgApply(), SCIPinitVarBranchStats(), SCIPinitVarValueBranchStats(), and SCIPvarIncNBranchings().
◆ SCIPvarIncInferenceSum()
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
- Parameters
-
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 15530 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(), SCIPvarIncInferenceSum(), SCIP_Original::transvar, useValuehistory(), and SCIP_Aggregate::var.
Referenced by SCIPboundchgApply(), SCIPinitVarBranchStats(), SCIPinitVarValueBranchStats(), and SCIPvarIncInferenceSum().
◆ SCIPvarIncCutoffSum()
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
- Parameters
-
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 15614 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, SCIPhistoryIncCutoffSum(), SCIPvarGetStatus(), SCIPvarIncCutoffSum(), SCIP_Original::transvar, useValuehistory(), and SCIP_Aggregate::var.
Referenced by SCIPinitVarBranchStats(), SCIPinitVarValueBranchStats(), SCIPsolveCIP(), and SCIPvarIncCutoffSum().
◆ SCIPvarGetVSIDS_rec()
SCIP_Real SCIPvarGetVSIDS_rec | ( | SCIP_VAR * | var, |
SCIP_STAT * | stat, | ||
SCIP_BRANCHDIR | dir | ||
) |
returns the variable's VSIDS score
- Parameters
-
var problem variable stat problem statistics dir branching direction (downwards, or upwards)
Definition at line 15876 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_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(), SCIP_Original::transvar, SCIP_Aggregate::var, and SCIP_Stat::vsidsweight.
Referenced by SCIPvarGetVSIDS().
◆ SCIPvarGetVSIDSCurrentRun()
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
- Parameters
-
var problem variable stat problem statistics dir branching direction (downwards, or upwards)
Definition at line 15927 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_INVALID, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetVSIDS(), SCIPvarGetStatus(), SCIPvarGetVSIDSCurrentRun(), SCIP_Original::transvar, SCIP_Aggregate::var, and SCIP_Stat::vsidsweight.
Referenced by SCIPgetVarConflictScoreCurrentRun(), SCIPgetVarVSIDSCurrentRun(), and SCIPvarGetVSIDSCurrentRun().
◆ SCIPvarGetAvgInferences()
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
- Parameters
-
var problem variable stat problem statistics dir branching direction (downwards, or upwards)
Definition at line 16066 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(), SCIPvarGetNCliques(), SCIPvarGetNImpls(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by getInferenceOrder(), SCIPgetVarAvgInferenceCutoffScore(), SCIPgetVarAvgInferences(), SCIPgetVarAvgInferenceScore(), SCIPprintBranchingStatistics(), SCIPtreeCalcNodeselPriority(), and SCIPvarGetAvgInferences().
◆ SCIPvarGetAvgInferencesCurrentRun()
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
- Parameters
-
var problem variable stat problem statistics dir branching direction (downwards, or upwards)
Definition at line 16123 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(), SCIPvarGetNCliques(), SCIPvarGetNImpls(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarAvgInferenceCutoffScoreCurrentRun(), SCIPgetVarAvgInferenceScoreCurrentRun(), SCIPgetVarAvgInferencesCurrentRun(), and SCIPvarGetAvgInferencesCurrentRun().
◆ SCIPvarGetAvgCutoffs()
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
- Parameters
-
var problem variable stat problem statistics dir branching direction (downwards, or upwards)
Definition at line 16264 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_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetAvgCutoffs(), SCIPhistoryGetNBranchings(), SCIPvarGetAvgCutoffs(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarAvgCutoffs(), SCIPgetVarAvgCutoffScore(), SCIPgetVarAvgInferenceCutoffScore(), SCIPprintBranchingStatistics(), and SCIPvarGetAvgCutoffs().
◆ SCIPvarGetAvgCutoffsCurrentRun()
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
- Parameters
-
var problem variable stat problem statistics dir branching direction (downwards, or upwards)
Definition at line 16311 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, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetAvgCutoffs(), SCIPhistoryGetNBranchings(), SCIPvarGetAvgCutoffsCurrentRun(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarAvgCutoffScoreCurrentRun(), SCIPgetVarAvgCutoffsCurrentRun(), SCIPgetVarAvgInferenceCutoffScoreCurrentRun(), and SCIPvarGetAvgCutoffsCurrentRun().
◆ SCIPvarGetAvgGMIScore()
returns the variable's average GMI efficacy score value generated from simplex tableau rows of this variable
- Parameters
-
var problem variable stat problem statistics
Definition at line 16358 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::history, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPhistoryGetAvgGMIeff(), SCIPvarGetAvgGMIScore(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarAvgGMIScore(), and SCIPvarGetAvgGMIScore().
◆ SCIPvarIncGMIeffSum()
SCIP_RETCODE SCIPvarIncGMIeffSum | ( | SCIP_VAR * | var, |
SCIP_STAT * | stat, | ||
SCIP_Real | gmieff | ||
) |
increase the variable's GMI efficacy scores generated from simplex tableau rows of this variable
- Parameters
-
var problem variable stat problem statistics gmieff efficacy of last GMI cut produced when variable was frac and basic
Definition at line 16398 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::history, 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, SCIPABORT, SCIPerrorMessage, SCIPhistoryIncGMIeffSum(), SCIPvarGetStatus(), SCIPvarIncGMIeffSum(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPincVarGMISumScore(), and SCIPvarIncGMIeffSum().
◆ SCIPvarGetLastGMIScore()
returns the variable's last GMI efficacy score value generated from a simplex tableau row of this variable
- Parameters
-
var problem variable stat problem statistics
Definition at line 16442 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::history, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPhistoryGetLastGMIeff(), SCIPvarGetLastGMIScore(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPgetVarLastGMIScore(), and SCIPvarGetLastGMIScore().
◆ SCIPvarSetLastGMIScore()
SCIP_RETCODE SCIPvarSetLastGMIScore | ( | SCIP_VAR * | var, |
SCIP_STAT * | stat, | ||
SCIP_Real | gmieff | ||
) |
sets the variable's last GMI efficacy score value generated from a simplex tableau row of this variable
- Parameters
-
var problem variable stat problem statistics gmieff efficacy of last GMI cut produced when variable was frac and basic
Definition at line 16482 of file var.c.
References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::history, 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, SCIPABORT, SCIPerrorMessage, SCIPhistorySetLastGMIeff(), SCIPvarGetStatus(), SCIPvarSetLastGMIScore(), SCIP_Original::transvar, and SCIP_Aggregate::var.
Referenced by SCIPsetVarLastGMIScore(), and SCIPvarSetLastGMIScore().
◆ SCIPvarPrint()
SCIP_RETCODE SCIPvarPrint | ( | SCIP_VAR * | var, |
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
FILE * | file | ||
) |
outputs variable information into file stream
- Parameters
-
var problem variable set global SCIP settings messagehdlr message handler file output file (or NULL for standard output)
Definition at line 3006 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, and SCIP_Multaggr::vars.
Referenced by SCIPnlpWrite(), and SCIPprintVar().
◆ SCIPvarCatchEvent()
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
- Parameters
-
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 18557 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, and SCIPvarIsTransformed().
Referenced by nlpAddVars(), and SCIPcatchVarEvent().
◆ SCIPvarDropEvent()
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
- Parameters
-
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 18584 of file var.c.
References SCIP_Var::eventfilter, SCIP_Var::name, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPeventfilterDel(), SCIPsetDebugMsg, and SCIPvarIsTransformed().
Referenced by nlpDelVarPos(), and SCIPdropVarEvent().
◆ SCIPvarGetVSIDS()
SCIP_Real SCIPvarGetVSIDS | ( | SCIP_VAR * | var, |
SCIP_STAT * | stat, | ||
SCIP_BRANCHDIR | dir | ||
) |
returns the variable's VSIDS score
- Parameters
-
var problem variable stat problem statistics dir branching direction (downwards, or upwards)
Definition at line 18542 of file var.c.
References SCIP_Var::history, NULL, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPhistoryGetVSIDS(), SCIPvarGetStatus(), SCIPvarGetVSIDS_rec(), and SCIP_Stat::vsidsweight.
Referenced by SCIPgetVarConflictScore(), SCIPgetVarVSIDS(), and SCIPvarGetVSIDS_rec().
◆ SCIPbdchgidxGetPos()
int SCIPbdchgidxGetPos | ( | SCIP_BDCHGIDX * | bdchgidx | ) |
returns the position of the bound change index
- Parameters
-
bdchgidx bound change index
Definition at line 18609 of file var.c.
References NULL, and SCIP_BdChgIdx::pos.
Referenced by SCIPconflictAddRelaxedBound().
◆ SCIPvarRemoveCliquesImplicsVbs()
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
- Parameters
-
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 1609 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, 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, SCIP_Var::vlbs, and SCIP_Var::vubs.
Referenced by SCIPremoveVarFromGlobalStructures(), SCIPvarAggregate(), SCIPvarFix(), SCIPvarMultiaggregate(), SCIPvarRemove(), varProcessChgLbGlobal(), and varProcessChgUbGlobal().
◆ SCIP_DECL_HASHGETKEY()
SCIP_DECL_HASHGETKEY | ( | SCIPhashGetKeyVar | ) |
gets the key (i.e. the name) of the given variable
Definition at line 17176 of file var.c.
References SCIP_Var::name, and NULL.