Scippy

SCIP

Solving Constraint Integer Programs

var.h File Reference

Detailed Description

internal methods for problem variables

Author
Tobias Achterberg

Definition in file var.h.

#include "scip/def.h"
#include "blockmemshell/memory.h"
#include "scip/type_retcode.h"
#include "scip/type_set.h"
#include "scip/type_stat.h"
#include "scip/type_misc.h"
#include "scip/type_history.h"
#include "scip/type_event.h"
#include "scip/type_lp.h"
#include "scip/type_var.h"
#include "scip/type_prob.h"
#include "scip/type_primal.h"
#include "scip/type_tree.h"
#include "scip/type_branch.h"
#include "scip/type_cons.h"
#include "scip/pub_var.h"
#include "scip/pub_misc.h"
#include "scip/struct_var.h"

Go to the source code of this file.

Functions

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)
 
SCIP_RETCODE SCIPboundchgUndo (SCIP_BOUNDCHG *boundchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue)
 
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_Bool *cutoff)
 
SCIP_RETCODE SCIPdomchgFree (SCIP_DOMCHG **domchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_LP *lp)
 
SCIP_RETCODE SCIPdomchgMakeStatic (SCIP_DOMCHG **domchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_LP *lp)
 
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)
 
SCIP_RETCODE SCIPdomchgUndo (SCIP_DOMCHG *domchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue)
 
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)
 
SCIP_RETCODE SCIPdomchgAddHolechg (SCIP_DOMCHG **domchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_HOLELIST **ptr, SCIP_HOLELIST *newlist, SCIP_HOLELIST *oldlist)
 
SCIP_RETCODE SCIPbdchginfoCreate (SCIP_BDCHGINFO **bdchginfo, BMS_BLKMEM *blkmem, SCIP_VAR *var, SCIP_BOUNDTYPE boundtype, SCIP_Real oldbound, SCIP_Real newbound)
 
void SCIPbdchginfoFree (SCIP_BDCHGINFO **bdchginfo, BMS_BLKMEM *blkmem)
 
SCIP_Real SCIPbdchginfoGetRelaxedBound (SCIP_BDCHGINFO *bdchginfo)
 
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)
 
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)
 
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)
 
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)
 
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)
 
void SCIPvarCapture (SCIP_VAR *var)
 
SCIP_RETCODE SCIPvarRelease (SCIP_VAR **var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_LP *lp)
 
SCIP_RETCODE SCIPvarChgName (SCIP_VAR *var, BMS_BLKMEM *blkmem, const char *name)
 
void SCIPvarInitSolve (SCIP_VAR *var)
 
SCIP_RETCODE SCIPvarTransform (SCIP_VAR *origvar, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_OBJSENSE objsense, SCIP_VAR **transvar)
 
SCIP_RETCODE SCIPvarGetTransformed (SCIP_VAR *origvar, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_VAR **transvar)
 
SCIP_RETCODE SCIPvarColumn (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_LP *lp)
 
SCIP_RETCODE SCIPvarLoose (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_PROB *prob, SCIP_LP *lp)
 
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_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_Real fixedval, SCIP_Bool *infeasible, SCIP_Bool *fixed)
 
SCIP_RETCODE SCIPvarGetActiveRepresentatives (SCIP_SET *set, SCIP_VAR **vars, SCIP_Real *scalars, int *nvars, int varssize, SCIP_Real *constant, int *requiredsize, SCIP_Bool mergemultiples)
 
SCIP_RETCODE SCIPvarGetProbvarSum (SCIP_VAR **var, SCIP_SET *set, SCIP_Real *scalar, SCIP_Real *constant)
 
SCIP_RETCODE SCIPvarFlattenAggregationGraph (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set)
 
SCIP_RETCODE SCIPvarsGetActiveVars (SCIP_SET *set, SCIP_VAR **vars, int *nvars, int varssize, int *requiredsize)
 
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_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)
 
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_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_VAR *aggvar, SCIP_Real scalar, SCIP_Real constant, SCIP_Bool *infeasible, SCIP_Bool *aggregated)
 
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_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)
 
SCIP_Bool SCIPvarDoNotMultaggr (SCIP_VAR *var)
 
SCIP_RETCODE SCIPvarNegate (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_VAR **negvar)
 
void SCIPvarSetProbindex (SCIP_VAR *var, int probindex)
 
void SCIPvarSetNamePointer (SCIP_VAR *var, const char *name)
 
SCIP_RETCODE SCIPvarRemove (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_Bool final)
 
void SCIPvarMarkDeleted (SCIP_VAR *var)
 
SCIP_RETCODE SCIPvarMarkDoNotMultaggr (SCIP_VAR *var)
 
SCIP_RETCODE SCIPvarAddLocks (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, int addnlocksdown, int addnlocksup)
 
SCIP_RETCODE SCIPvarChgType (SCIP_VAR *var, SCIP_VARTYPE vartype)
 
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)
 
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_LP *lp, SCIP_EVENTQUEUE *eventqueue, SCIP_Real addobj)
 
SCIP_RETCODE SCIPvarChgObjDive (SCIP_VAR *var, SCIP_SET *set, SCIP_LP *lp, SCIP_Real newobj)
 
void SCIPvarAdjustLb (SCIP_VAR *var, SCIP_SET *set, SCIP_Real *lb)
 
void SCIPvarAdjustUb (SCIP_VAR *var, SCIP_SET *set, SCIP_Real *ub)
 
void SCIPvarAdjustBd (SCIP_VAR *var, SCIP_SET *set, SCIP_BOUNDTYPE boundtype, SCIP_Real *bd)
 
SCIP_RETCODE SCIPvarChgLbOriginal (SCIP_VAR *var, SCIP_SET *set, SCIP_Real newbound)
 
SCIP_RETCODE SCIPvarChgUbOriginal (SCIP_VAR *var, SCIP_SET *set, SCIP_Real newbound)
 
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_Real newbound)
 
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_Real newbound)
 
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_Real newbound, SCIP_BOUNDTYPE boundtype)
 
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)
 
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)
 
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)
 
SCIP_RETCODE SCIPvarChgLbLazy (SCIP_VAR *var, SCIP_SET *set, SCIP_Real lazylb)
 
SCIP_RETCODE SCIPvarChgUbLazy (SCIP_VAR *var, SCIP_SET *set, SCIP_Real lazylb)
 
SCIP_RETCODE SCIPvarChgLbDive (SCIP_VAR *var, SCIP_SET *set, SCIP_LP *lp, SCIP_Real newbound)
 
SCIP_RETCODE SCIPvarChgUbDive (SCIP_VAR *var, SCIP_SET *set, SCIP_LP *lp, SCIP_Real newbound)
 
SCIP_Real SCIPvarGetMultaggrLbLocal (SCIP_VAR *var, SCIP_SET *set)
 
SCIP_Real SCIPvarGetMultaggrUbLocal (SCIP_VAR *var, SCIP_SET *set)
 
SCIP_Real SCIPvarGetMultaggrLbGlobal (SCIP_VAR *var, SCIP_SET *set)
 
SCIP_Real SCIPvarGetMultaggrUbGlobal (SCIP_VAR *var, SCIP_SET *set)
 
SCIP_RETCODE SCIPvarAddHoleOriginal (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_Real left, SCIP_Real right)
 
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)
 
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)
 
SCIP_RETCODE SCIPvarResetBounds (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat)
 
int SCIPvarGetConflictingBdchgDepth (SCIP_VAR *var, SCIP_SET *set, SCIP_BOUNDTYPE boundtype, SCIP_Real bound)
 
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_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)
 
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_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)
 
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_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)
 
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_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_Bool value, SCIP_Bool *infeasible, int *nbdchgs)
 
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_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_Bool value, SCIP_CLIQUE *clique, SCIP_Bool *infeasible, int *nbdchgs)
 
SCIP_RETCODE SCIPvarsAddClique (SCIP_VAR **vars, SCIP_Bool *values, int nvars, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_CLIQUE *clique)
 
SCIP_RETCODE SCIPvarDelClique (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_Bool value, SCIP_CLIQUE *clique)
 
SCIP_RETCODE SCIPvarDelCliqueFromList (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_Bool value, SCIP_CLIQUE *clique)
 
SCIP_RETCODE SCIPvarChgBranchFactor (SCIP_VAR *var, SCIP_SET *set, SCIP_Real branchfactor)
 
SCIP_RETCODE SCIPvarChgBranchPriority (SCIP_VAR *var, int branchpriority)
 
SCIP_RETCODE SCIPvarChgBranchDirection (SCIP_VAR *var, SCIP_BRANCHDIR branchdirection)
 
SCIP_Real SCIPvarGetObjLP (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetLbLP (SCIP_VAR *var, SCIP_SET *set)
 
SCIP_Real SCIPvarGetUbLP (SCIP_VAR *var, SCIP_SET *set)
 
void SCIPvarGetClosestVlb (SCIP_VAR *var, SCIP_SOL *sol, SCIP_SET *set, SCIP_STAT *stat, SCIP_Real *closestvlb, int *closestvlbidx)
 
void SCIPvarGetClosestVub (SCIP_VAR *var, SCIP_SOL *sol, SCIP_SET *set, SCIP_STAT *stat, SCIP_Real *closestvub, int *closestvubidx)
 
void SCIPvarStoreRootSol (SCIP_VAR *var, SCIP_Bool roothaslp)
 
void SCIPvarUpdateBestRootSol (SCIP_VAR *var, SCIP_SET *set, SCIP_Real rootsol, SCIP_Real rootredcost, SCIP_Real rootlpobjval)
 
SCIP_Real SCIPvarGetRelaxSol (SCIP_VAR *var, SCIP_SET *set)
 
SCIP_Real SCIPvarGetRelaxSolTransVar (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetRedcost (SCIP_VAR *var, SCIP_SET *set, SCIP_Bool varfixing, SCIP_STAT *stat, SCIP_LP *lp)
 
SCIP_Real SCIPvarGetImplRedcost (SCIP_VAR *var, SCIP_SET *set, SCIP_Bool varfixing, SCIP_STAT *stat, SCIP_LP *lp)
 
SCIP_RETCODE SCIPvarSetRelaxSol (SCIP_VAR *var, SCIP_SET *set, SCIP_RELAXATION *relaxation, SCIP_Real solval, SCIP_Bool updateobj)
 
SCIP_RETCODE SCIPvarSetNLPSol (SCIP_VAR *var, SCIP_SET *set, SCIP_Real solval)
 
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)
 
SCIP_RETCODE SCIPvarUpdatePseudocost (SCIP_VAR *var, SCIP_SET *set, SCIP_STAT *stat, SCIP_Real solvaldelta, SCIP_Real objdelta, SCIP_Real weight)
 
SCIP_Real SCIPvarGetPseudocost (SCIP_VAR *var, SCIP_STAT *stat, SCIP_Real solvaldelta)
 
SCIP_Real SCIPvarGetPseudocostCurrentRun (SCIP_VAR *var, SCIP_STAT *stat, SCIP_Real solvaldelta)
 
SCIP_Real SCIPvarGetPseudocostCount (SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPvarGetPseudocostCountCurrentRun (SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_RETCODE SCIPvarIncVSIDS (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_BRANCHDIR dir, SCIP_Real value, SCIP_Real weight)
 
SCIP_RETCODE SCIPvarScaleVSIDS (SCIP_VAR *var, SCIP_Real scalar)
 
SCIP_RETCODE SCIPvarIncNActiveConflicts (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_BRANCHDIR dir, SCIP_Real value, SCIP_Real length)
 
SCIP_Longint SCIPvarGetNActiveConflicts (SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
 
SCIP_Longint SCIPvarGetNActiveConflictsCurrentRun (SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPvarGetAvgConflictlength (SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPvarGetAvgConflictlengthCurrentRun (SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_RETCODE SCIPvarIncNBranchings (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_BRANCHDIR dir, SCIP_Real value, int depth)
 
SCIP_RETCODE SCIPvarIncInferenceSum (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_BRANCHDIR dir, SCIP_Real value, SCIP_Real weight)
 
SCIP_RETCODE SCIPvarIncCutoffSum (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_BRANCHDIR dir, SCIP_Real value, SCIP_Real weight)
 
SCIP_Real SCIPvarGetVSIDS_rec (SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPvarGetVSIDSCurrentRun (SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPvarGetAvgInferences (SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPvarGetAvgInferencesCurrentRun (SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPvarGetAvgCutoffs (SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPvarGetAvgCutoffsCurrentRun (SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
 
SCIP_RETCODE SCIPvarPrint (SCIP_VAR *var, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, FILE *file)
 
SCIP_RETCODE SCIPvarCatchEvent (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTTYPE eventtype, SCIP_EVENTHDLR *eventhdlr, SCIP_EVENTDATA *eventdata, int *filterpos)
 
SCIP_RETCODE SCIPvarDropEvent (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTTYPE eventtype, SCIP_EVENTHDLR *eventhdlr, SCIP_EVENTDATA *eventdata, int filterpos)
 
SCIP_Real SCIPvarGetVSIDS (SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
 
int SCIPbdchgidxGetPos (SCIP_BDCHGIDX *bdchgidx)
 
 SCIP_DECL_HASHGETKEY (SCIPhashGetKeyVar)
 

Function Documentation

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
boundchgbound change to apply
blkmemblock memory
setglobal SCIP settings
statproblem statistics
lpcurrent LP data
branchcandbranching candidate storage
eventqueueevent queue
depthdepth in the tree, where the bound change takes place
posposition of the bound change in its bound change array
cutoffpointer to store whether an infeasible bound change was detected

Definition at line 551 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(), SCIPdebugMessage, SCIPerrorMessage, SCIPpropGetName(), SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsIntegral(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPvarChgLbLocal(), SCIPvarChgUbLocal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarIncInferenceSum(), SCIPvarIncNBranchings(), SCIPvarIsIntegral(), TRUE, SCIP_Dom::ub, SCIP_BoundChg::var, varAddLbchginfo(), and varAddUbchginfo().

Referenced by SCIPdomchgApply(), and SCIPnodeAddBoundinfer().

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_Bool cutoff 
)

applies domain change to the global problem

Parameters
domchgdomain change to apply
blkmemblock memory
setglobal SCIP settings
statproblem statistics
lpcurrent LP data
branchcandbranching candidate storage
eventqueueevent queue
cutoffpointer to store whether an infeasible domain change was detected

Definition at line 1306 of file var.c.

References boundchgApplyGlobal(), SCIP_DomChgBound::boundchgs, SCIP_DomChg::domchgbound, FALSE, SCIP_DomChgBound::nboundchgs, NULL, SCIP_CALL, SCIP_OKAY, and SCIPdebugMessage.

Referenced by SCIPnodeFocus().

SCIP_RETCODE SCIPdomchgFree ( SCIP_DOMCHG **  domchg,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_EVENTQUEUE eventqueue,
SCIP_LP lp 
)

frees domain change data

Parameters
domchgpointer to domain change
blkmemblock memory
setglobal SCIP settings
eventqueueevent queue
lpcurrent LP data

Definition at line 983 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().

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
domchgpointer to domain change data
blkmemblock memory
setglobal SCIP settings
eventqueueevent queue
lpcurrent LP data

Definition at line 1084 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, SCIPdebugMessage, SCIPdomchgFree(), SCIPerrorMessage, SCIPsetIsFeasIntegral(), and SCIPvarGetType().

Referenced by focusnodeToFork(), focusnodeToJunction(), focusnodeToPseudofork(), nodeRepropagate(), and nodeToLeaf().

SCIP_RETCODE SCIPdomchgApply ( SCIP_DOMCHG domchg,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
int  depth,
SCIP_Bool cutoff 
)

applies domain change

Parameters
domchgdomain change to apply
blkmemblock memory
setglobal SCIP settings
statproblem statistics
lpcurrent LP data
branchcandbranching candidate storage
eventqueueevent queue
depthdepth in the tree, where the domain change takes place
cutoffpointer to store whether an infeasible domain change was detected

Definition at line 1222 of file var.c.

References SCIP_DomChgBound::boundchgs, SCIP_DomChg::domchgboth, SCIP_DomChg::domchgbound, SCIP_DomChg::domchgdyn, SCIP_DomChgDyn::domchgtype, FALSE, SCIP_DomChgBoth::holechgs, SCIP_DomChgBound::nboundchgs, SCIP_HoleChg::newlist, SCIP_DomChgBoth::nholechgs, NULL, SCIP_HoleChg::ptr, SCIP_BoundChg::redundant, SCIP_CALL, SCIP_DOMCHGTYPE_BOUND, SCIP_OKAY, SCIPboundchgApply(), SCIPdebugMessage, and TRUE.

Referenced by nodeActivate().

SCIP_RETCODE SCIPdomchgUndo ( SCIP_DOMCHG domchg,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue 
)

undoes domain change

Parameters
domchgdomain change to remove
blkmemblock memory
setglobal SCIP settings
statproblem statistics
lpcurrent LP data
branchcandbranching candidate storage
eventqueueevent queue

Definition at line 1271 of file var.c.

References SCIP_DomChgBound::boundchgs, SCIP_DomChg::domchgboth, SCIP_DomChg::domchgbound, SCIP_DomChg::domchgdyn, SCIP_DomChgDyn::domchgtype, SCIP_DomChgBoth::holechgs, SCIP_DomChgBound::nboundchgs, SCIP_DomChgBoth::nholechgs, NULL, SCIP_HoleChg::oldlist, SCIP_HoleChg::ptr, SCIP_CALL, SCIP_DOMCHGTYPE_BOUND, SCIP_OKAY, SCIPboundchgUndo(), and SCIPdebugMessage.

Referenced by nodeDeactivate().

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
domchgpointer to domain change data structure
blkmemblock memory
setglobal SCIP settings
varvariable to change the bounds for
newboundnew value for bound
boundtypetype of bound for var: lower or upper bound
boundchgtypetype of bound change: branching decision or inference
lpsolvalsolval of variable in last LP on path to node, or SCIP_INVALID if unknown
infervarvariable that was changed (parent of var, or var itself), or NULL
inferconsconstraint that deduced the bound change, or NULL
inferproppropagator that deduced the bound change, or NULL
inferinfouser information for inference to help resolving the conflict
inferboundtypetype of bound for inference var: lower or upper bound

Definition at line 1344 of file var.c.

References SCIP_BoundChg::applied, boundchgCaptureData(), SCIP_BoundChg::boundchgtype, SCIP_BoundChg::boundtype, SCIP_BoundChg::branchingdata, SCIP_BoundChg::data, domchgCreate(), SCIP_DomChg::domchgdyn, domchgEnsureBoundchgsSize(), domchgMakeDynamic(), FALSE, SCIP_BoundChg::inferboundtype, SCIP_BoundChg::inferencedata, SCIP_Var::name, SCIP_DomChgDyn::nboundchgs, SCIP_BoundChg::newbound, NULL, SCIP_BoundChg::redundant, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_BOUNDCHGTYPE_CONSINFER, SCIP_BOUNDCHGTYPE_PROPINFER, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_DOMCHGTYPE_DYNAMIC, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIP_VARTYPE_CONTINUOUS, SCIPdebugMessage, SCIPerrorMessage, SCIPsetIsEQ(), SCIPsetIsFeasIntegral(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsBinary(), and SCIP_BoundChg::var.

Referenced by SCIPnodeAddBoundinfer().

SCIP_RETCODE SCIPdomchgAddHolechg ( SCIP_DOMCHG **  domchg,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_HOLELIST **  ptr,
SCIP_HOLELIST newlist,
SCIP_HOLELIST oldlist 
)

adds hole change to domain changes

Parameters
domchgpointer to domain change data structure
blkmemblock memory
setglobal SCIP settings
ptrchanged list pointer
newlistnew value of list pointer
oldlistold value of list pointer

Definition at line 1442 of file var.c.

References domchgCreate(), SCIP_DomChg::domchgdyn, domchgEnsureHolechgsSize(), domchgMakeDynamic(), SCIP_HoleChg::newlist, SCIP_DomChgDyn::nholechgs, NULL, SCIP_HoleChg::oldlist, SCIP_HoleChg::ptr, SCIP_CALL, SCIP_DOMCHGTYPE_DYNAMIC, and SCIP_OKAY.

SCIP_RETCODE SCIPbdchginfoCreate ( SCIP_BDCHGINFO **  bdchginfo,
BMS_BLKMEM blkmem,
SCIP_VAR var,
SCIP_BOUNDTYPE  boundtype,
SCIP_Real  oldbound,
SCIP_Real  newbound 
)

creates an artificial bound change information object with depth = INT_MAX and pos = -1

Parameters
bdchginfopointer to store bound change information
blkmemblock memory
varactive variable that changed the bounds
boundtypetype of bound for var: lower or upper bound
oldboundold value for bound
newboundnew value for bound

Definition at line 14972 of file var.c.

References BMSallocBlockMemory, FALSE, NULL, SCIP_ALLOC, SCIP_BOUNDCHGTYPE_BRANCHING, and SCIP_OKAY.

Referenced by conflictCreateTmpBdchginfo().

void SCIPbdchginfoFree ( SCIP_BDCHGINFO **  bdchginfo,
BMS_BLKMEM blkmem 
)

frees a bound change information object

Parameters
bdchginfopointer to store bound change information
blkmemblock memory

Definition at line 15002 of file var.c.

References BMSfreeBlockMemory, and NULL.

Referenced by conflictFreeTmpBdchginfos().

SCIP_Real SCIPbdchginfoGetRelaxedBound ( SCIP_BDCHGINFO bdchginfo)

returns the relaxed bound change type

Parameters
bdchginfobound change to add to the conflict set

Definition at line 17112 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().

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
varpointer to variable data
blkmemblock memory
setglobal SCIP settings
statproblem statistics
namename of variable, or NULL for automatic name creation
lblower bound of variable
ubupper bound of variable
objobjective function value
vartypetype of variable
initialshould var's column be present in the initial root LP?
removableis var's column removable from the LP (due to aging or cleanup)?
vardatauser data for this specific variable

Definition at line 2014 of file var.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_ORIGINAL, SCIPvarCapture(), and varCreate().

Referenced by SCIPcreateVar(), and SCIPvarCopy().

SCIP_RETCODE SCIPvarCreateTransformed ( SCIP_VAR **  var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
const char *  name,
SCIP_Real  lb,
SCIP_Real  ub,
SCIP_Real  obj,
SCIP_VARTYPE  vartype,
SCIP_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
varpointer to variable data
blkmemblock memory
setglobal SCIP settings
statproblem statistics
namename of variable, or NULL for automatic name creation
lblower bound of variable
ubupper bound of variable
objobjective function value
vartypetype of variable
initialshould var's column be present in the initial root LP?
removableis var's column removable from the LP (due to aging or cleanup)?
vardatauser data for this specific variable

Definition at line 2057 of file var.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_LOOSE, SCIPeventfilterCreate(), SCIPvarCapture(), and varCreate().

Referenced by SCIPcreateVar(), SCIPvarTransform(), and tryAggregateIntVars().

SCIP_RETCODE SCIPvarCopy ( SCIP_VAR **  var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP sourcescip,
SCIP_VAR sourcevar,
SCIP_HASHMAP varmap,
SCIP_HASHMAP consmap,
SCIP_Bool  global 
)

copies and captures a variable from source to target SCIP; an integer variable with bounds zero and one is automatically converted into a binary variable; in case the variable data cannot be copied the variable is not copied at all

Parameters
varpointer to store the target variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
sourcescipsource SCIP data structure
sourcevarsource variable
varmapa hashmap to store the mapping of source variables corresponding target variables
consmapa hashmap to store the mapping of source constraints to the corresponding target constraints
globalshould global or local bounds be used?

Definition at line 2099 of file var.c.

References NULL, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_INVALIDRESULT, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_SUCCESS, SCIP_VARSTATUS_ORIGINAL, SCIPdebugMessage, SCIPerrorMessage, SCIPhashmapExists(), SCIPhashmapInsert(), SCIPvarCreateOriginal(), SCIPvarGetHolelistGlobal(), SCIPvarGetHolelistLocal(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetLbOriginal(), SCIPvarGetName(), SCIPvarGetObj(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), SCIPvarGetUbOriginal(), SCIPvarIsInitial(), SCIPvarIsRemovable(), and SCIP_Var::vardata.

Referenced by SCIPgetVarCopy().

SCIP_RETCODE SCIPvarParseOriginal ( SCIP_VAR **  var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_MESSAGEHDLR messagehdlr,
SCIP_STAT stat,
const char *  str,
SCIP_Bool  initial,
SCIP_Bool  removable,
SCIP_DECL_VARCOPY((*varcopy))  ,
SCIP_DECL_VARDELORIG((*vardelorig))  ,
SCIP_DECL_VARTRANS((*vartrans))  ,
SCIP_DECL_VARDELTRANS((*vardeltrans))  ,
SCIP_VARDATA vardata,
char **  endptr,
SCIP_Bool success 
)

parses variable information (in cip format) out of a string; if the parsing process was successful an original variable is created and captured; if variable is of integral type, fractional bounds are automatically rounded; an integer variable with bounds zero and one is automatically converted into a binary variable

Parameters
varpointer to variable data
blkmemblock memory
setglobal SCIP settings
messagehdlrmessage handler
statproblem statistics
strstring to parse
initialshould var's column be present in the initial root LP?
removableis var's column removable from the LP (due to aging or cleanup)?
vardatauser data for this specific variable
endptrpointer to store the final string position if successfully
successpointer store if the paring process was successful

Definition at line 2400 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().

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
varpointer to variable data
blkmemblock memory
setglobal SCIP settings
messagehdlrmessage handler
statproblem statistics
strstring to parse
initialshould var's column be present in the initial root LP?
removableis var's column removable from the LP (due to aging or cleanup)?
vardatauser data for this specific variable
endptrpointer to store the final string position if successfully
successpointer store if the paring process was successful

Definition at line 2464 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().

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
varpointer to variable
blkmemblock memory
setglobal SCIP settings
eventqueueevent queue
lpcurrent LP data (or NULL, if it's an original variable)

Definition at line 2761 of file var.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, and varFree().

Referenced by boundchgReleaseData(), nlpDelVarPos(), SCIPpricestoreAddVar(), SCIPpricestoreApplyVars(), SCIPpricestoreResetBounds(), SCIPprobFree(), SCIPprobPerformVarDeletions(), SCIPprobTransform(), SCIPreleaseVar(), SCIPtreeClear(), treeApplyPendingBdchgs(), tryAggregateIntVars(), and varFreeParents().

SCIP_RETCODE SCIPvarChgName ( SCIP_VAR var,
BMS_BLKMEM blkmem,
const char *  name 
)

change variable name change variable name

change variable name

Parameters
varproblem variable
blkmemblock memory
namename of variable

Definition at line 2788 of file var.c.

References BMSfreeBlockMemoryArray, SCIP_Var::name, NULL, SCIP_CALL, SCIP_OKAY, and varSetName().

Referenced by SCIPchgVarName().

void SCIPvarInitSolve ( SCIP_VAR var)

initializes variable data structure for solving

Parameters
varproblem variable

Definition at line 2806 of file var.c.

References SCIP_Var::conflictlbcount, SCIP_Var::conflictubcount, SCIP_Var::historycrun, NULL, and SCIPhistoryReset().

Referenced by SCIPprobInitSolve().

SCIP_RETCODE SCIPvarTransform ( SCIP_VAR origvar,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_OBJSENSE  objsense,
SCIP_VAR **  transvar 
)

gets and captures transformed variable of a given variable; if the variable is not yet transformed, a new transformed variable for this variable is created

Parameters
origvaroriginal problem variable
blkmemblock memory of transformed problem
setglobal SCIP settings
statproblem statistics
objsenseobjective sense of original problem; transformed is always MINIMIZE
transvarpointer to store the transformed variable

Definition at line 3286 of file var.c.

References SCIP_Var::branchdirection, SCIP_Var::branchfactor, SCIP_Var::branchpriority, SCIP_Var::data, SCIP_Var::donotmultaggr, SCIP_Var::glbdom, SCIP_Dom::holelist, holelistDuplicate(), SCIP_Var::initial, SCIP_Var::lazylb, SCIP_Var::lazyub, SCIP_Dom::lb, SCIP_Var::locdom, SCIP_Var::name, SCIP_Var::nlocksdown, SCIP_Var::nlocksup, NULL, SCIP_Var::obj, SCIP_Var::original, SCIP_Var::removable, SCIP_Var::scip, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_ORIGINAL, SCIPdebugMessage, 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().

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
origvaroriginal problem variable
blkmemblock memory of transformed problem
setglobal SCIP settings
statproblem statistics
transvarpointer to store the transformed variable, or NULL if not existing yet

Definition at line 3362 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().

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
varproblem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
probproblem data
lpcurrent LP data

Definition at line 3393 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(), SCIPdebugMessage, SCIPlpUpdateVarColumn(), SCIPprobVarChangedStatus(), SCIPvarGetStatus(), and SCIP_Var::varstatus.

Referenced by SCIPpricestoreApplyVars(), and SCIPvarAddToRow().

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
varproblem variable
blkmemblock memory
setglobal SCIP settings
eventqueueevent queue
probproblem data
lpcurrent LP data

Definition at line 3427 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(), SCIPdebugMessage, SCIPlpUpdateVarLoose(), SCIPprobVarChangedStatus(), SCIPvarGetStatus(), and SCIP_Var::varstatus.

Referenced by SCIPprobExitSolve(), and SCIPprobPerformVarDeletions().

SCIP_RETCODE SCIPvarFix ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_PRIMAL primal,
SCIP_TREE tree,
SCIP_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_Real  fixedval,
SCIP_Bool infeasible,
SCIP_Bool fixed 
)

converts variable into fixed variable

Parameters
varproblem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtranformed problem data
origproboriginal problem data
primalprimal data
treebranch and bound tree
lpcurrent LP data
branchcandbranching candidate storage
eventqueueevent queue
fixedvalvalue to fix variable at
infeasiblepointer to store whether the fixing is infeasible
fixedpointer to store whether the fixing was performed (variable was unfixed)

Definition at line 3563 of file var.c.

References SCIP_Var::aggregate, SCIP_Var::cliquelist, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, FALSE, SCIP_Var::glbdom, SCIP_Var::history, SCIP_Var::historycrun, SCIP_Dom::holelist, holelistFree(), SCIP_Var::implics, SCIP_Dom::lb, SCIP_Var::locdom, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::obj, SCIP_Var::original, SCIP_Var::probindex, SCIP_Aggregate::scalar, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIP_VARTYPE_CONTINUOUS, SCIPABORT, SCIPcliquelistFree(), SCIPcliquelistRemoveFromCliques(), SCIPdebugMessage, SCIPerrorMessage, SCIPeventqueueIsDelayed(), SCIPhistoryReset(), SCIPlpDecNLoosevars(), SCIPprobVarChangedStatus(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLT(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPvarAddObj(), SCIPvarChgLbGlobal(), SCIPvarChgObj(), SCIPvarChgUbGlobal(), SCIPvarFix(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsBinary(), SCIP_Original::transvar, TRUE, SCIP_Dom::ub, SCIP_Aggregate::var, varEventVarFixed(), varRemoveImplicsVbs(), SCIP_Var::varstatus, SCIP_Var::vlbs, and SCIP_Var::vubs.

Referenced by SCIPaggregateVars(), SCIPfixVar(), SCIPinferBinvarCons(), SCIPinferBinvarProp(), SCIPvarAggregate(), SCIPvarFix(), SCIPvarMultiaggregate(), and varUpdateAggregationBounds().

SCIP_RETCODE SCIPvarGetActiveRepresentatives ( SCIP_SET set,
SCIP_VAR **  vars,
SCIP_Real scalars,
int *  nvars,
int  varssize,
SCIP_Real constant,
int *  requiredsize,
SCIP_Bool  mergemultiples 
)

transforms given variables, scalars and constant to the corresponding active variables, scalars and constant

If the number of needed active variables is greater than the available slots in the variable array, nothing happens except that the required size is stored in the corresponding variable; hence, if afterwards the required size is greater than the available slots (varssize), nothing happens; otherwise, the active variable representation is stored in the arrays.

The reason for this approach is that we cannot reallocate memory, since we do not know how the memory has been allocated (e.g., by a C++ 'new' or SCIP functions).

Parameters
setglobal SCIP settings
varsvariable array to get active variables
scalarsscalars a_1, ..., a_n in linear sum a_1*x_1 + ... + a_n*x_n + c
nvarspointer to number of variables and values in vars and scalars array
varssizeavailable slots in vars and scalars array
constantpointer to constant c in linear sum a_1*x_1 + ... + a_n*x_n + c
requiredsizepointer to store the required array size for the active variables
mergemultiplesshould multiple occurrences of a var be replaced by a single coeff?

Definition at line 3738 of file var.c.

References SCIP_Var::data, FALSE, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_Var::multaggr, NULL, SCIP_Multaggr::nvars, SCIP_Multaggr::scalars, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPsetAllocBufferArray, SCIPsetDuplicateBufferArray, SCIPsetFreeBufferArray, SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPsetReallocBufferArray, SCIPsortedvecFindPtr(), SCIPsortPtrReal(), SCIPvarCompare(), SCIPvarGetMultaggrConstant(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), TRUE, SCIP_Dom::ub, and SCIP_Multaggr::vars.

Referenced by SCIPgetProbvarLinearSum(), SCIPsolRetransform(), SCIPvarFlattenAggregationGraph(), and SCIPvarMultiaggregate().

SCIP_RETCODE SCIPvarGetProbvarSum ( SCIP_VAR **  var,
SCIP_SET set,
SCIP_Real scalar,
SCIP_Real constant 
)

transforms given variable, scalar and constant to the corresponding active, fixed, or multi-aggregated variable, scalar and constant; if the variable resolves to a fixed variable, "scalar" will be 0.0 and the value of the sum will be stored in "constant"; a multi-aggregation with only one active variable (this can happen due to fixings after the multi-aggregation), is treated like an aggregation; if the multi-aggregation constant is infinite, "scalar" will be 0.0

Parameters
varpointer to problem variable x in sum a*x + c
setglobal SCIP settings
scalarpointer to scalar a in sum a*x + c
constantpointer to constant c in sum a*x + c

Definition at line 11842 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(), nlrowAddToLinearCoef(), nlrowRemoveFixedLinearCoefPos(), nlrowRemoveFixedQuadVars(), SCIPaggregateVars(), SCIPexprtreeRemoveFixedVars(), SCIPgetProbvarSum(), SCIPnlrowAddLinearCoef(), SCIPprimalTransformSol(), SCIPtreeBranchVar(), SCIPtreeBranchVarNary(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarAggregate(), and SCIPvarGetActiveRepresentatives().

SCIP_RETCODE SCIPvarFlattenAggregationGraph ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set 
)

flattens aggregation graph of multi-aggregated variable in order to avoid exponential recursion later-on

flattens aggregation graph of multi-aggregated variable in order to avoid exponential recursion later on

Note
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
varproblem variable
blkmemblock memory
setglobal SCIP settings

Definition at line 4141 of file var.c.

References BMSreallocBlockMemoryArray, SCIP_Multaggr::constant, SCIP_Var::data, SCIP_Var::multaggr, NULL, SCIP_Multaggr::nvars, SCIP_Multaggr::scalars, SCIP_Var::scip, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPvarGetActiveRepresentatives(), SCIPvarGetStatus(), TRUE, SCIP_Multaggr::vars, and SCIP_Multaggr::varssize.

Referenced by exitPresolve(), and SCIPflattenVarAggregationGraph().

SCIP_RETCODE SCIPvarsGetActiveVars ( SCIP_SET set,
SCIP_VAR **  vars,
int *  nvars,
int  varssize,
int *  requiredsize 
)

return for given variables all their active counterparts; all active variables will be pairwise different

Parameters
setglobal SCIP settings
varsvariable array with given variables and as output all active variables, if enough slots exist
nvarsnumber of given variables, and as output number of active variables, if enough slots exist
varssizeavailable slots in vars array
requiredsizepointer to store the required array size for the active variables

Definition at line 11248 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().

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_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.

Parameters
setglobal SCIP settings
blkmemblock memory
statproblem statistics
transprobtranformed problem data
origproboriginal problem data
primalprimal data
treebranch and bound tree
lpcurrent LP data
cliquetableclique table data structure
branchcandbranching candidate storage
eventfilterevent filter for global (not variable dependent) events
eventqueueevent queue
varxvariable x in equality a*x + b*y == c
varyvariable y in equality a*x + b*y == c
scalarxmultiplier a in equality a*x + b*y == c
scalarymultiplier b in equality a*x + b*y == c
rhsright hand side c in equality a*x + b*y == c
infeasiblepointer to store whether the aggregation is infeasible
aggregatedpointer to store whether the aggregation was successful

Definition at line 4918 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, SCIPsetGetStage(), SCIPsetIsFeasIntegral(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPvarAggregate(), SCIPvarGetStatus(), SCIPvarGetType(), TRUE, and tryAggregateIntVars().

Referenced by SCIPaggregateVars(), and SCIPvarMultiaggregate().

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_LP lp,
SCIP_CLIQUETABLE cliquetable,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_VAR aggvar,
SCIP_Real  scalar,
SCIP_Real  constant,
SCIP_Bool infeasible,
SCIP_Bool aggregated 
)

converts loose variable into aggregated variable

Parameters
varloose problem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtranformed problem data
origproboriginal problem data
primalprimal data
treebranch and bound tree
lpcurrent LP data
cliquetableclique table data structure
branchcandbranching candidate storage
eventqueueevent queue
aggvarloose variable y in aggregation x = a*y + c
scalarmultiplier a in aggregation x = a*y + c
constantconstant shift c in aggregation x = a*y + c
infeasiblepointer to store whether the aggregation is infeasible
aggregatedpointer to store whether the aggregation was successful

Definition at line 4383 of file var.c.

References SCIP_Var::aggregate, SCIP_Var::branchdirection, SCIP_Var::branchfactor, SCIP_Var::branchpriority, SCIP_Var::cliquelist, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::donotmultaggr, FALSE, SCIP_Var::glbdom, SCIP_Var::history, SCIP_Var::historycrun, SCIP_Var::implics, SCIP_Dom::lb, SCIP_Var::locdom, MAX, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, SCIP_Var::nlocksdown, SCIP_Var::nlocksup, NULL, SCIP_Var::obj, SCIP_Var::probindex, SCIP_Var::removable, SCIP_Aggregate::scalar, SCIP_Var::scip, SCIP_Bool, SCIP_BRANCHDIR_AUTO, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARTYPE_BINARY, SCIPbranchdirOpposite(), SCIPcliquelistFree(), SCIPcliquelistGetCliques(), SCIPcliquelistGetNCliques(), SCIPcliquelistRemoveFromCliques(), SCIPdebugMessage, SCIPeventqueueIsDelayed(), SCIPhistoryReset(), SCIPhistoryUnite(), SCIPimplicsFree(), SCIPimplicsGetBounds(), SCIPimplicsGetNImpls(), SCIPimplicsGetTypes(), SCIPimplicsGetVars(), SCIPprobVarChangedStatus(), SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarAddClique(), SCIPvarAddImplic(), SCIPvarAddLocks(), SCIPvarAddObj(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgBranchDirection(), SCIPvarChgBranchFactor(), SCIPvarChgBranchPriority(), SCIPvarChgObj(), SCIPvarFix(), SCIPvarGetHolelistGlobal(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsBinary(), SCIPvarMarkNotDeletable(), SCIPvboundsFree(), SCIPvboundsGetCoefs(), SCIPvboundsGetConstants(), SCIPvboundsGetNVbds(), SCIPvboundsGetVars(), TRUE, SCIP_Dom::ub, SCIP_Aggregate::var, varAddParent(), varEventVarFixed(), varRemoveImplicsVbs(), SCIP_Var::varstatus, varUpdateAggregationBounds(), SCIP_Var::vlbs, and SCIP_Var::vubs.

Referenced by SCIPvarTryAggregateVars(), and tryAggregateIntVars().

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_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
varproblem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtranformed problem data
origproboriginal problem data
primalprimal data
treebranch and bound tree
lpcurrent LP data
cliquetableclique table data structure
branchcandbranching candidate storage
eventfilterevent filter for global (not variable dependent) events
eventqueueevent queue
naggvarsnumber n of variables in aggregation x = a_1*y_1 + ... + a_n*y_n + c
aggvarsvariables y_i in aggregation x = a_1*y_1 + ... + a_n*y_n + c
scalarsmultipliers a_i in aggregation x = a_1*y_1 + ... + a_n*y_n + c
constantconstant shift c in aggregation x = a_1*y_1 + ... + a_n*y_n + c
infeasiblepointer to store whether the aggregation is infeasible
aggregatedpointer to store whether the aggregation was successful

Definition at line 5087 of file var.c.

References BMSduplicateBlockMemoryArray, BMSfreeBlockMemoryArray, BMSreallocBlockMemoryArray, SCIP_Var::branchdirection, SCIP_Var::branchfactor, SCIP_Var::branchpriority, SCIP_Var::cliquelist, SCIP_Multaggr::constant, SCIP_Negate::constant, SCIP_Var::data, FALSE, SCIP_Var::glbdom, SCIP_Var::implics, SCIP_Var::index, SCIP_Dom::lb, SCIP_Var::locdom, MAX, SCIP_Var::multaggr, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, SCIP_Var::nlocksdown, SCIP_Var::nlocksup, NULL, SCIP_Multaggr::nvars, SCIP_Var::obj, SCIP_Var::original, SCIP_Var::probindex, SCIP_Var::removable, SCIP_Multaggr::scalars, 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(), SCIPcliquelistFree(), SCIPcliquelistRemoveFromCliques(), SCIPdebugMessage, SCIPerrorMessage, SCIPeventqueueIsDelayed(), SCIPlpDecNLoosevars(), SCIPprobVarChangedStatus(), SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarAddLocks(), SCIPvarAddObj(), SCIPvarChgBranchDirection(), SCIPvarChgBranchFactor(), SCIPvarChgBranchPriority(), SCIPvarChgObj(), SCIPvarDoNotMultaggr(), SCIPvarFix(), SCIPvarGetActiveRepresentatives(), SCIPvarGetHolelistGlobal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarIsBinary(), SCIPvarMarkNotDeletable(), SCIPvarMultiaggregate(), SCIPvarTryAggregateVars(), SCIP_Original::transvar, TRUE, SCIP_Dom::ub, varEventVarFixed(), varRemoveImplicsVbs(), SCIP_Multaggr::vars, SCIP_Multaggr::varssize, SCIP_Var::varstatus, SCIP_Var::vlbs, and SCIP_Var::vubs.

Referenced by SCIPmultiaggregateVar(), and SCIPvarMultiaggregate().

SCIP_Bool SCIPvarDoNotMultaggr ( SCIP_VAR var)
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
varproblem variable to negate
blkmemblock memory of transformed problem
setglobal SCIP settings
statproblem statistics
negvarpointer to store the negated variable

Definition at line 5516 of file var.c.

References SCIP_Var::branchdirection, SCIP_Var::branchfactor, SCIP_Var::branchpriority, SCIP_Var::donotmultaggr, SCIP_Var::glbdom, SCIP_Var::initial, SCIP_Var::lazylb, SCIP_Var::lazyub, SCIP_Dom::lb, SCIP_Var::locdom, SCIP_Var::name, SCIP_Var::negatedvar, NULL, SCIP_Var::removable, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_VARSTATUS_NEGATED, SCIPbranchdirOpposite(), SCIPdebugMessage, SCIPerrorMessage, SCIPeventfilterCreate(), SCIPsetIsInfinity(), SCIPsnprintf(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsBinary(), SCIPvarIsTransformed(), SCIPvarMarkNotDeletable(), SCIP_Dom::ub, varAddParent(), and varCreate().

Referenced by SCIPgetNegatedVar(), SCIPgetNegatedVars(), and SCIPvarGetTransformed().

void SCIPvarSetProbindex ( SCIP_VAR var,
int  probindex 
)

informs variable that its position in problem's vars array changed

Parameters
varproblem variable
probindexnew problem index of variable

Definition at line 5624 of file var.c.

References NULL, and varSetProbindex().

Referenced by probInsertVar(), and probRemoveVar().

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
varproblem variable
namenew name of variable

Definition at line 5639 of file var.c.

References SCIP_Var::name, and NULL.

Referenced by resetVarname(), and SCIPreaderWrite().

SCIP_RETCODE SCIPvarRemove ( SCIP_VAR var,
BMS_BLKMEM blkmem,
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
varproblem variable
blkmemblock memory buffer
setglobal SCIP settings
finalis this the final removal of all problem variables?

Definition at line 5657 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(), SCIPvboundsFree(), TRUE, varRemoveImplicsVbs(), varSetProbindex(), SCIP_Var::vlbs, and SCIP_Var::vubs.

Referenced by probRemoveVar(), and SCIPprobFree().

void SCIPvarMarkDeleted ( SCIP_VAR var)

marks the variable to be deleted from the problem

Parameters
varproblem variable

Definition at line 5692 of file var.c.

References SCIP_Var::deleted, NULL, SCIP_Var::probindex, and TRUE.

Referenced by SCIPprobDelVar().

SCIP_RETCODE SCIPvarChgType ( SCIP_VAR var,
SCIP_VARTYPE  vartype 
)

changes type of variable; cannot be called, if var belongs to a problem

Parameters
varproblem variable to change
vartypenew type of variable

Definition at line 5738 of file var.c.

References SCIP_Var::name, SCIP_Var::negatedvar, NULL, SCIP_Var::probindex, SCIP_INVALIDDATA, SCIP_OKAY, SCIPdebugMessage, SCIPerrorMessage, SCIPvarGetType(), and SCIP_Var::vartype.

Referenced by SCIPchgVarType(), and SCIPprobChgVarType().

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 
)
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_LP lp,
SCIP_EVENTQUEUE eventqueue,
SCIP_Real  addobj 
)
void SCIPvarAdjustLb ( SCIP_VAR var,
SCIP_SET set,
SCIP_Real lb 
)
void SCIPvarAdjustUb ( SCIP_VAR var,
SCIP_SET set,
SCIP_Real ub 
)
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
varproblem variable
setglobal SCIP settings
boundtypetype of bound to adjust
bdpointer to bound to adjust

Definition at line 6054 of file var.c.

References SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIPvarAdjustLb(), and SCIPvarAdjustUb().

Referenced by SCIPvarAddImplic(), and treeAddPendingBdchg().

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_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
varproblem variable to change
blkmemblock memory
setglobal SCIP settings
statproblem statistics
lpcurrent LP data, may be NULL for original variables
branchcandbranching candidate storage, may be NULL for original variables
eventqueueevent queue, may be NULL for original variables
newboundnew bound for variable

Definition at line 6683 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_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, SCIPdebugMessage, SCIPerrorMessage, 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(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgBdGlobal(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarFix(), SCIPvarFixBinary(), SCIPvarResetBounds(), varAddImplic(), and varUpdateAggregationBounds().

SCIP_RETCODE SCIPvarChgUbGlobal ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_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
varproblem variable to change
blkmemblock memory
setglobal SCIP settings
statproblem statistics
lpcurrent LP data, may be NULL for original variables
branchcandbranching candidate storage, may be NULL for original variables
eventqueueevent queue, may be NULL for original variables
newboundnew bound for variable

Definition at line 6825 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_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, SCIPdebugMessage, SCIPerrorMessage, 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(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgBdGlobal(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarFix(), SCIPvarFixBinary(), SCIPvarResetBounds(), varAddImplic(), and varUpdateAggregationBounds().

SCIP_RETCODE SCIPvarChgBdGlobal ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_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
varproblem variable to change
blkmemblock memory
setglobal SCIP settings
statproblem statistics
lpcurrent LP data, may be NULL for original variables
branchcandbranching candidate storage, may be NULL for original variables
eventqueueevent queue, may be NULL for original variables
newboundnew bound for variable
boundtypetype of bound: lower or upper bound

Definition at line 7014 of file var.c.

References SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_INVALIDDATA, SCIPerrorMessage, SCIPvarChgLbGlobal(), and SCIPvarChgUbGlobal().

Referenced by boundchgApplyGlobal(), and SCIPnodeAddBoundinfer().

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
varproblem variable to change
blkmemblock memory
setglobal SCIP settings
statproblem statistics
lpcurrent LP data, may be NULL for original variables
branchcandbranching candidate storage, may be NULL for original variables
eventqueueevent queue, may be NULL for original variables
newboundnew bound for variable

Definition at line 7455 of file var.c.

References adjustedLb(), SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Dom::lb, SCIP_Var::locdom, MIN, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIP_VARTYPE_CONTINUOUS, SCIPdebugMessage, SCIPerrorMessage, 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(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPvarChgBdLocal(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgUbLocal(), and SCIPvarResetBounds().

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
varproblem variable to change
blkmemblock memory
setglobal SCIP settings
statproblem statistics
lpcurrent LP data, may be NULL for original variables
branchcandbranching candidate storage, may be NULL for original variables
eventqueueevent queue, may be NULL for original variables
newboundnew bound for variable

Definition at line 7581 of file var.c.

References adjustedUb(), SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Dom::lb, SCIP_Var::locdom, MAX, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIP_VARTYPE_CONTINUOUS, SCIPdebugMessage, SCIPerrorMessage, 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(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPvarChgBdLocal(), SCIPvarChgLbLocal(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), and SCIPvarResetBounds().

SCIP_RETCODE SCIPvarChgBdLocal ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_Real  newbound,
SCIP_BOUNDTYPE  boundtype 
)

changes current local bound of variable; if possible, adjusts bound to integral value; stores inference information in variable

Parameters
varproblem variable to change
blkmemblock memory
setglobal SCIP settings
statproblem statistics
lpcurrent LP data, may be NULL for original variables
branchcandbranching candidate storage, may be NULL for original variables
eventqueueevent queue, may be NULL for original variables
newboundnew bound for variable
boundtypetype of bound: lower or upper bound

Definition at line 7706 of file var.c.

References SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_INVALIDDATA, SCIPerrorMessage, SCIPvarChgLbLocal(), and SCIPvarChgUbLocal().

SCIP_RETCODE SCIPvarChgLbLazy ( SCIP_VAR var,
SCIP_SET set,
SCIP_Real  lazylb 
)

changes lazy lower bound of the variable, this is only possible if the variable is not in the LP yet

Parameters
varproblem variable
setglobal SCIP settings
lazylbthe lazy lower bound to be set

Definition at line 6965 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().

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
varproblem variable
setglobal SCIP settings
lazyubthe lazy lower bound to be set

Definition at line 6988 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().

SCIP_Real SCIPvarGetMultaggrLbLocal ( SCIP_VAR var,
SCIP_SET set 
)

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
varproblem variable
setglobal SCIP settings

Definition at line 7917 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(), SCIPvarGetMultaggrLbLocal(), and SCIPvarGetMultaggrUbLocal().

SCIP_Real SCIPvarGetMultaggrUbLocal ( SCIP_VAR var,
SCIP_SET set 
)

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
varproblem variable
setglobal SCIP settings

Definition at line 7983 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(), SCIPvarGetMultaggrLbLocal(), and SCIPvarGetMultaggrUbLocal().

SCIP_Real SCIPvarGetMultaggrLbGlobal ( SCIP_VAR var,
SCIP_SET set 
)

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
varproblem variable
setglobal SCIP settings

Definition at line 8049 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(), SCIPvarGetMultaggrLbGlobal(), and SCIPvarGetMultaggrUbGlobal().

SCIP_Real SCIPvarGetMultaggrUbGlobal ( SCIP_VAR var,
SCIP_SET set 
)

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
varproblem variable
setglobal SCIP settings

Definition at line 8115 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(), SCIPvarGetMultaggrLbGlobal(), and SCIPvarGetMultaggrUbGlobal().

SCIP_RETCODE SCIPvarAddHoleOriginal ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_Real  left,
SCIP_Real  right 
)

adds a hole to the original domain of the variable

Parameters
varproblem variable
blkmemblock memory
setglobal SCIP settings
leftleft bound of open interval in new hole
rightright bound of open interval in new hole

Definition at line 8176 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, SCIPdebugMessage, SCIPsetIsEQ(), SCIPsetIsGE(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPvarGetLbOriginal(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbOriginal(), and SCIPvarIsTransformed().

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
varproblem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
eventqueueevent queue, may be NULL for original variables
leftleft bound of open interval in new hole
rightright bound of open interval in new hole
addedpointer to store whether the hole was added

Definition at line 8357 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, SCIPdebugMessage, SCIPerrorMessage, 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().

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 
)
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
varproblem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics

Definition at line 8714 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().

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
varproblem variable
setglobal SCIP settings
boundtypebound type of the conflicting bound
boundconflicting bound

Definition at line 15423 of file var.c.

References SCIP_BdChgInfo::bdchgidx, 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().

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_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
varproblem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtransformed problem
origproboriginal problem
treebranch and bound tree if in solving stage
lpcurrent LP data
cliquetableclique table data structure
branchcandbranching candidate storage
eventqueueevent queue
vlbvarvariable z in x >= b*z + d
vlbcoefcoefficient b in x >= b*z + d
vlbconstantconstant d in x >= b*z + d
transitiveshould transitive closure of implication also be added?
infeasiblepointer to store whether an infeasibility was detected
nbdchgspointer to store the number of performed bound changes, or NULL

Definition at line 9517 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, SCIPdebugMessage, SCIPerrorMessage, SCIPnodeAddBoundchg(), SCIPprobIsTransformed(), SCIPsetGetStage(), SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetIsZero(), SCIPtreeGetRootNode(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIP_Original::transvar, TRUE, SCIP_Aggregate::var, varAddTransitiveImplic(), and varAddVbound().

Referenced by SCIPaddClique(), SCIPaddVarImplication(), SCIPaddVarVlb(), SCIPaddVarVub(), SCIPcliquetableCleanup(), SCIPvarAddImplic(), SCIPvarAddVlb(), SCIPvarAddVub(), and SCIPvarAggregate().

SCIP_RETCODE SCIPvarAddVub ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_TREE tree,
SCIP_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
varproblem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtransformed problem
origproboriginal problem
treebranch and bound tree if in solving stage
lpcurrent LP data
cliquetableclique table data structure
branchcandbranching candidate storage
eventqueueevent queue
vubvarvariable z in x <= b*z + d
vubcoefcoefficient b in x <= b*z + d
vubconstantconstant d in x <= b*z + d
transitiveshould transitive closure of implication also be added?
infeasiblepointer to store whether an infeasibility was detected
nbdchgspointer to store the number of performed bound changes, or NULL

Definition at line 9868 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, SCIPdebugMessage, SCIPerrorMessage, SCIPnodeAddBoundchg(), SCIPprobIsTransformed(), SCIPsetGetStage(), SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsetIsInfinity(), 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 SCIPaddClique(), SCIPaddVarImplication(), SCIPaddVarVlb(), SCIPaddVarVub(), SCIPcliquetableCleanup(), SCIPvarAddImplic(), SCIPvarAddVlb(), SCIPvarAddVub(), and SCIPvarAggregate().

SCIP_RETCODE SCIPvarAddImplic ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_TREE tree,
SCIP_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
varproblem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtransformed problem
origproboriginal problem
treebranch and bound tree if in solving stage
lpcurrent LP data
cliquetableclique table data structure
branchcandbranching candidate storage
eventqueueevent queue
varfixingFALSE if y should be added in implications for x == 0, TRUE for x == 1
implvarvariable y in implication y <= b or y >= b
impltypetype of implication y <= b (SCIP_BOUNDTYPE_UPPER) or y >= b (SCIP_BOUNDTYPE_LOWER)
implboundbound b in implication y <= b or y >= b
transitiveshould transitive closure of implication also be added?
infeasiblepointer to store whether an infeasibility was detected
nbdchgspointer to store the number of performed bound changes, or NULL

Definition at line 10222 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 SCIPaddClique(), SCIPaddVarImplication(), SCIPcliquetableCleanup(), SCIPvarAddImplic(), and SCIPvarAggregate().

SCIP_RETCODE SCIPvarFixBinary ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_TREE tree,
SCIP_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
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
varproblem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtransformed problem
origproboriginal problem
treebranch and bound tree if in solving stage
lpcurrent LP data
branchcandbranching candidate storage
eventqueueevent queue
valuevalue to fix variable to
infeasiblepointer to store whether an infeasibility was detected
nbdchgspointer to count the number of performed bound changes, or NULL

Definition at line 10453 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 SCIPcliquetableAdd(), and 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_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
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
varproblem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtransformed problem
origproboriginal problem
treebranch and bound tree if in solving stage
lpcurrent LP data
branchcandbranching candidate storage
eventqueueevent queue
valuevalue of the variable in the clique
cliqueclique the variable should be added to
infeasiblepointer to store whether an infeasibility was detected
nbdchgspointer to count the number of performed bound changes, or NULL

Definition at line 10539 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().

Referenced by SCIPcliquetableAdd(), and SCIPvarAggregate().

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
varsproblem variables
valuesvalues of the variables in the clique
nvarsnumber of problem variables
blkmemblock memory
setglobal SCIP settings
cliqueclique that contains all given variables and values

Definition at line 10622 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().

SCIP_RETCODE SCIPvarDelClique ( SCIP_VAR var,
BMS_BLKMEM blkmem,
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
varproblem variable
blkmemblock memory
valuevalue of the variable in the clique
cliqueclique the variable should be removed from

Definition at line 10678 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().

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
varproblem variable
blkmemblock memory
valuevalue of the variable in the clique
cliqueclique that should be removed from the variable's clique list

Definition at line 10660 of file var.c.

References SCIP_Var::cliquelist, NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPcliquelistDel(), SCIPvarGetStatus(), and SCIPvarIsBinary().

Referenced by SCIPcliquetableCleanup().

SCIP_RETCODE SCIPvarChgBranchFactor ( SCIP_VAR var,
SCIP_SET set,
SCIP_Real  branchfactor 
)
SCIP_Real SCIPvarGetObjLP ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 12080 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(), and SCIPvarGetObjLP().

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
varactive problem variable
solprimal solution, or NULL for LP solution
setglobal SCIP settings
statproblem statistics
closestvlbpointer to store the value of the closest variable lower bound
closestvlbidxpointer to store the index of the closest variable lower bound

Definition at line 13117 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 findBestLb(), SCIPgetVarClosestVlb(), and transformStrongCGRow().

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
varactive problem variable
solprimal solution, or NULL for LP solution
setglobal SCIP settings
statproblem statistics
closestvubpointer to store the value of the closest variable upper bound
closestvubidxpointer to store the index of the closest variable upper bound

Definition at line 13192 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 findBestUb(), SCIPgetVarClosestVub(), and transformStrongCGRow().

void SCIPvarStoreRootSol ( SCIP_VAR var,
SCIP_Bool  roothaslp 
)

remembers the current solution as root solution in the problem variables

Parameters
varproblem variable
roothaslpis the root solution from LP?

Definition at line 12461 of file var.c.

References NULL, SCIP_Var::rootsol, and SCIPvarGetSol().

Referenced by SCIPprobStoreRootSol().

void SCIPvarUpdateBestRootSol ( SCIP_VAR var,
SCIP_SET set,
SCIP_Real  rootsol,
SCIP_Real  rootredcost,
SCIP_Real  rootlpobjval 
)

updates the current solution as best root solution in the problem variables if it is better

updates the current solution as best root solution of the given variable if it is better

Parameters
varproblem variable
setglobal SCIP settings
rootsolroot solution value
rootredcostroot reduced cost
rootlpobjvalobjective value of the root LP

Definition at line 12472 of file var.c.

References SCIP_Var::bestrootlpobjval, SCIP_Var::bestrootredcost, SCIP_Var::bestrootsol, NULL, SCIP_Var::scip, SCIP_Real, SCIPdebugMessage, SCIPsetIsFeasZero(), SCIPvarGetLbGlobal(), SCIPvarGetName(), and SCIPvarGetUbGlobal().

Referenced by analyzeStrongbranch(), and SCIPprobUpdateBestRootSol().

SCIP_Real SCIPvarGetRelaxSolTransVar ( SCIP_VAR var)

returns the solution value of the transformed problem variable in the relaxation solution

Parameters
varproblem variable

Definition at line 12990 of file var.c.

References NULL, SCIP_Var::relaxsol, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, and SCIPvarGetStatus().

Referenced by solGetArrayVal(), and solUnlinkVar().

SCIP_Real SCIPvarGetRedcost ( SCIP_VAR var,
SCIP_SET set,
SCIP_Bool  varfixing,
SCIP_STAT stat,
SCIP_LP lp 
)

returns for given variable the reduced cost

Parameters
varproblem variable
setglobal SCIP settings
varfixingFALSE if for x == 0, TRUE for x == 1
statproblem statistics
lpcurrent LP data

Definition at line 12605 of file var.c.

References NULL, SCIP_BASESTAT_LOWER, SCIP_BASESTAT_UPPER, SCIP_Bool, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPcolGetBasisStatus(), SCIPcolGetPrimsol(), SCIPcolGetRedcost(), SCIPlpIsSolBasic(), SCIPsetIsFeasEQ(), SCIPsetIsFeasNegative(), SCIPsetIsFeasPositive(), SCIPvarGetCol(), SCIPvarGetLbLocal(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), and TRUE.

Referenced by SCIPvarGetImplRedcost().

SCIP_Real SCIPvarGetImplRedcost ( SCIP_VAR var,
SCIP_SET set,
SCIP_Bool  varfixing,
SCIP_STAT stat,
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
varproblem variable
setglobal SCIP settings
varfixingFALSE if for x == 0, TRUE for x == 1
statproblem statistics
lpcurrent LP data

Definition at line 12657 of file var.c.

References FALSE, SCIP_Var::implics, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPimplicsGetNBinImpls(), SCIPimplicsGetTypes(), SCIPimplicsGetVars(), SCIPsetIsFeasZero(), SCIPvarGetLbLocal(), SCIPvarGetRedcost(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), and TRUE.

Referenced by SCIPgetVarImplRedcost(), and SCIPprobUpdateBestRootSol().

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 
)
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
varproblem variable
setglobal SCIP settings
statproblem statistics
solvaldeltadifference of variable's new LP value - old LP value
objdeltadifference of new LP's objective value - old LP's objective value
weightweight in (0,1] of this update in pseudo cost sum

Definition at line 13365 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_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPhistoryUpdatePseudocost(), SCIPsetIsZero(), SCIPvarGetStatus(), SCIPvarUpdatePseudocost(), SCIP_Original::transvar, and SCIP_Aggregate::var.

Referenced by SCIPinitVarBranchStats(), SCIPupdateVarPseudocost(), SCIPvarUpdatePseudocost(), and updatePseudocost().

SCIP_Real SCIPvarGetPseudocostCurrentRun ( SCIP_VAR var,
SCIP_STAT stat,
SCIP_Real  solvaldelta 
)
SCIP_Real SCIPvarGetPseudocostCountCurrentRun ( SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)
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
varproblem variable
blkmemblock memory, or NULL if the domain value is SCIP_UNKNOWN
setglobal SCIP settings, or NULL if the domain value is SCIP_UNKNOWN
statproblem statistics
dirbranching direction
valuedomain value, or SCIP_UNKNOWN
weightweight of this update in VSIDS

Definition at line 13667 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(), SCIPdebugMessage, SCIPerrorMessage, SCIPhistoryGetVSIDS(), SCIPhistoryIncVSIDS(), SCIPsetIsZero(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarIncVSIDS(), SCIP_Original::transvar, useValuehistory(), and SCIP_Aggregate::var.

Referenced by incVSIDS(), SCIPinitVarBranchStats(), and SCIPvarIncVSIDS().

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
varproblem variable
blkmemblock memory, or NULL if the domain value is SCIP_UNKNOWN
setglobal SCIP settings, or NULL if the domain value is SCIP_UNKNOWN
statproblem statistics
dirbranching direction
valuedomain value, or SCIP_UNKNOWN
lengthlength of the conflict

Definition at line 13803 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(), SCIPvarIncNActiveConflicts(), and updateStatistics().

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
varproblem variable
blkmemblock memory, or NULL if the domain value is SCIP_UNKNOWN
setglobal SCIP settings, or NULL if the domain value is SCIP_UNKNOWN
statproblem statistics
dirbranching direction (downwards, or upwards)
valuedomain value, or SCIP_UNKNOWN
depthdepth at which the bound change took place

Definition at line 14063 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(), and SCIPvarIncNBranchings().

SCIP_RETCODE SCIPvarIncInferenceSum ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_BRANCHDIR  dir,
SCIP_Real  value,
SCIP_Real  weight 
)

increases the inference score of the variable by the given weight

increases the inference sum of the variable by the given weight

Parameters
varproblem variable
blkmemblock memory, or NULL if the domain value is SCIP_UNKNOWN
setglobal SCIP settings, or NULL if the domain value is SCIP_UNKNOWN
statproblem statistics
dirbranching direction (downwards, or upwards)
valuedomain value, or SCIP_UNKNOWN
weightweight of this update in inference score

Definition at line 14147 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(), and SCIPvarIncInferenceSum().

SCIP_RETCODE SCIPvarIncCutoffSum ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_BRANCHDIR  dir,
SCIP_Real  value,
SCIP_Real  weight 
)

increases the cutoff score of the variable by the given weight

increases the cutoff sum of the variable by the given weight

Parameters
varproblem variable
blkmemblock memory, or NULL if the domain value is SCIP_UNKNOWN
setglobal SCIP settings, or NULL if the domain value is SCIP_UNKNOWN
statproblem statistics
dirbranching direction (downwards, or upwards)
valuedomain value, or SCIP_UNKNOWN
weightweight of this update in cutoff score

Definition at line 14231 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(), SCIPsolveCIP(), and SCIPvarIncCutoffSum().

SCIP_RETCODE SCIPvarPrint ( SCIP_VAR var,
SCIP_SET set,
SCIP_MESSAGEHDLR messagehdlr,
FILE *  file 
)
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
varproblem variable
blkmemblock memory
setglobal SCIP settings
eventtypeevent type to catch
eventhdlrevent handler to call for the event processing
eventdataevent data to pass to the event handler for the event processing
filterpospointer to store position of event filter entry, or NULL

Definition at line 16872 of file var.c.

References SCIP_Var::eventfilter, SCIP_Var::name, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_EVENTTYPE_VARCHANGED, SCIP_OKAY, SCIPdebugMessage, SCIPeventfilterAdd(), and SCIPvarIsTransformed().

Referenced by nlpAddVars(), and SCIPcatchVarEvent().

SCIP_RETCODE SCIPvarDropEvent ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_EVENTTYPE  eventtype,
SCIP_EVENTHDLR eventhdlr,
SCIP_EVENTDATA eventdata,
int  filterpos 
)

deletes event handler with given data from variable's event filter

Parameters
varproblem variable
blkmemblock memory
setglobal SCIP settings
eventtypeevent type mask of dropped event
eventhdlrevent handler to call for the event processing
eventdataevent data to pass to the event handler for the event processing
filterposposition of event filter entry returned by SCIPvarCatchEvent(), or -1

Definition at line 16899 of file var.c.

References SCIP_Var::eventfilter, SCIP_Var::name, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPeventfilterDel(), and SCIPvarIsTransformed().

Referenced by nlpDelVarPos(), and SCIPdropVarEvent().

SCIP_Real SCIPvarGetVSIDS ( SCIP_VAR var,
SCIP_STAT stat,
SCIP_BRANCHDIR  dir 
)

returns the variable's VSIDS score

Parameters
varproblem variable
statproblem statistics
dirbranching direction (downwards, or upwards)

Definition at line 16857 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().

int SCIPbdchgidxGetPos ( SCIP_BDCHGIDX bdchgidx)

returns the position of the bound change index

Parameters
bdchgidxbound change index

Definition at line 16923 of file var.c.

References NULL, and SCIP_BdChgIdx::pos.

Referenced by SCIPconflictAddRelaxedBound().

SCIP_DECL_HASHGETKEY ( SCIPhashGetKeyVar  )

gets the key (i.e. the name) of the given variable

Definition at line 15555 of file var.c.

References SCIP_Var::name, and NULL.