Scippy

SCIP

Solving Constraint Integer Programs

var.c File Reference

Detailed Description

methods for problem variables

Author
Tobias Achterberg
Timo Berthold
Gerald Gamrath
Stefan Heinz
Marc Pfetsch
Michael Winkler
Kati Wolter
Stefan Vigerske

Definition in file var.c.

#include <stdlib.h>
#include <assert.h>
#include <string.h>
#include "scip/def.h"
#include "scip/prop.h"
#include "scip/relax.h"
#include "scip/var.h"
#include "scip/cons.h"
#include "scip/event.h"
#include "scip/history.h"
#include "scip/implics.h"
#include "scip/lp.h"
#include "scip/primal.h"
#include "scip/prob.h"
#include "scip/set.h"
#include "scip/sol.h"
#include "scip/stat.h"
#include "scip/tree.h"
#include "scip/reopt.h"
#include "scip/debug.h"
#include "scip/pub_message.h"
#include "scip/pub_history.h"

Go to the source code of this file.

Macros

#define MAXIMPLSCLOSURE   100
 
#define MAXABSVBCOEF   1e+5
 
#define MAXDNOM   1000000LL
 
#define MAX_CLIQUELENGTH   50
 

Functions

static SCIP_RETCODE holelistCreate (SCIP_HOLELIST **holelist, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_Real left, SCIP_Real right)
 
static void holelistFree (SCIP_HOLELIST **holelist, BMS_BLKMEM *blkmem)
 
static SCIP_RETCODE holelistDuplicate (SCIP_HOLELIST **target, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_HOLELIST *source)
 
static SCIP_RETCODE domAddHole (SCIP_DOM *dom, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_Real left, SCIP_Real right, SCIP_Bool *added)
 
static void domMerge (SCIP_DOM *dom, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_Real *newlb, SCIP_Real *newub)
 
static SCIP_RETCODE varEnsureLbchginfosSize (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, int num)
 
static SCIP_RETCODE varEnsureUbchginfosSize (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, int num)
 
static SCIP_RETCODE varAddLbchginfo (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_Real oldbound, SCIP_Real newbound, int depth, int pos, SCIP_VAR *infervar, SCIP_CONS *infercons, SCIP_PROP *inferprop, int inferinfo, SCIP_BOUNDTYPE inferboundtype, SCIP_BOUNDCHGTYPE boundchgtype)
 
static SCIP_RETCODE varAddUbchginfo (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_Real oldbound, SCIP_Real newbound, int depth, int pos, SCIP_VAR *infervar, SCIP_CONS *infercons, SCIP_PROP *inferprop, int inferinfo, SCIP_BOUNDTYPE inferboundtype, SCIP_BOUNDCHGTYPE boundchgtype)
 
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)
 
static SCIP_RETCODE boundchgApplyGlobal (SCIP_BOUNDCHG *boundchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_Bool *cutoff)
 
static SCIP_RETCODE boundchgCaptureData (SCIP_BOUNDCHG *boundchg)
 
static SCIP_RETCODE boundchgReleaseData (SCIP_BOUNDCHG *boundchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_LP *lp)
 
static SCIP_RETCODE domchgCreate (SCIP_DOMCHG **domchg, BMS_BLKMEM *blkmem)
 
SCIP_RETCODE SCIPdomchgFree (SCIP_DOMCHG **domchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_LP *lp)
 
static SCIP_RETCODE domchgMakeDynamic (SCIP_DOMCHG **domchg, BMS_BLKMEM *blkmem)
 
SCIP_RETCODE SCIPdomchgMakeStatic (SCIP_DOMCHG **domchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_LP *lp)
 
static SCIP_RETCODE domchgEnsureBoundchgsSize (SCIP_DOMCHG *domchg, BMS_BLKMEM *blkmem, SCIP_SET *set, int num)
 
static SCIP_RETCODE domchgEnsureHolechgsSize (SCIP_DOMCHG *domchg, BMS_BLKMEM *blkmem, SCIP_SET *set, int num)
 
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 SCIPdomchgApplyGlobal (SCIP_DOMCHG *domchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_Bool *cutoff)
 
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)
 
static SCIP_Real adjustedLb (SCIP_SET *set, SCIP_VARTYPE vartype, SCIP_Real lb)
 
static SCIP_Real adjustedUb (SCIP_SET *set, SCIP_VARTYPE vartype, SCIP_Real ub)
 
SCIP_RETCODE SCIPvarRemoveCliquesImplicsVbs (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_CLIQUETABLE *cliquetable, SCIP_SET *set, SCIP_Bool irrelevantvar, SCIP_Bool onlyredundant, SCIP_Bool removefromvar)
 
static SCIP_RETCODE varSetName (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_STAT *stat, const char *name)
 
static SCIP_RETCODE varCreate (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_VARCOPY((*varcopy)), SCIP_DECL_VARDELORIG((*vardelorig)), SCIP_DECL_VARTRANS((*vartrans)), SCIP_DECL_VARDELTRANS((*vardeltrans)), SCIP_VARDATA *vardata)
 
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)
 
static SCIP_RETCODE parseValue (SCIP_SET *set, const char *str, SCIP_Real *value, char **endptr)
 
static SCIP_RETCODE parseBounds (SCIP_SET *set, const char *str, char *type, SCIP_Real *lb, SCIP_Real *ub, char **endptr)
 
static SCIP_RETCODE varParse (SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *str, char *name, SCIP_Real *lb, SCIP_Real *ub, SCIP_Real *obj, SCIP_VARTYPE *vartype, SCIP_Real *lazylb, SCIP_Real *lazyub, SCIP_Bool local, char **endptr, SCIP_Bool *success)
 
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)
 
static SCIP_RETCODE varEnsureParentvarsSize (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, int num)
 
static SCIP_RETCODE varAddParent (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_VAR *parentvar)
 
static SCIP_RETCODE varFreeParents (SCIP_VAR **var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_LP *lp)
 
static SCIP_RETCODE varFree (SCIP_VAR **var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_LP *lp)
 
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)
 
static void printBounds (SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, FILE *file, SCIP_Real lb, SCIP_Real ub, const char *name)
 
static void printHolelist (SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, FILE *file, SCIP_HOLELIST *holelist, const char *name)
 
SCIP_RETCODE SCIPvarPrint (SCIP_VAR *var, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, FILE *file)
 
static SCIP_RETCODE varEventVarUnlocked (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue)
 
SCIP_RETCODE SCIPvarAddLocks (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, int addnlocksdown, int addnlocksup)
 
int SCIPvarGetNLocksDown (SCIP_VAR *var)
 
int SCIPvarGetNLocksUp (SCIP_VAR *var)
 
SCIP_Bool SCIPvarMayRoundDown (SCIP_VAR *var)
 
SCIP_Bool SCIPvarMayRoundUp (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)
 
static SCIP_RETCODE varEventVarFixed (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, int fixeventtype)
 
SCIP_RETCODE SCIPvarFix (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_Real fixedval, SCIP_Bool *infeasible, SCIP_Bool *fixed)
 
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 SCIPvarFlattenAggregationGraph (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set)
 
void SCIPvarMergeHistories (SCIP_VAR *targetvar, SCIP_VAR *othervar, SCIP_STAT *stat)
 
static SCIP_RETCODE varUpdateAggregationBounds (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_VAR *aggvar, SCIP_Real scalar, SCIP_Real constant, SCIP_Bool *infeasible, SCIP_Bool *fixed)
 
SCIP_RETCODE SCIPvarAggregate (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_VAR *aggvar, SCIP_Real scalar, SCIP_Real constant, SCIP_Bool *infeasible, SCIP_Bool *aggregated)
 
static SCIP_RETCODE tryAggregateIntVars (SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTFILTER *eventfilter, SCIP_EVENTQUEUE *eventqueue, SCIP_VAR *varx, SCIP_VAR *vary, SCIP_Real scalarx, SCIP_Real scalary, SCIP_Real rhs, SCIP_Bool *infeasible, SCIP_Bool *aggregated)
 
SCIP_RETCODE SCIPvarTryAggregateVars (SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTFILTER *eventfilter, SCIP_EVENTQUEUE *eventqueue, SCIP_VAR *varx, SCIP_VAR *vary, SCIP_Real scalarx, SCIP_Real scalary, SCIP_Real rhs, SCIP_Bool *infeasible, SCIP_Bool *aggregated)
 
SCIP_RETCODE SCIPvarMultiaggregate (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTFILTER *eventfilter, SCIP_EVENTQUEUE *eventqueue, int naggvars, SCIP_VAR **aggvars, SCIP_Real *scalars, SCIP_Real constant, SCIP_Bool *infeasible, SCIP_Bool *aggregated)
 
static SCIP_VARvarGetActiveVar (SCIP_VAR *var)
 
SCIP_Bool SCIPvarDoNotMultaggr (SCIP_VAR *var)
 
SCIP_RETCODE SCIPvarNegate (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_VAR **negvar)
 
static void varSetProbindex (SCIP_VAR *var, int probindex)
 
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_CLIQUETABLE *cliquetable, SCIP_SET *set, SCIP_Bool final)
 
void SCIPvarMarkDeleted (SCIP_VAR *var)
 
SCIP_RETCODE SCIPvarMarkDoNotMultaggr (SCIP_VAR *var)
 
SCIP_RETCODE SCIPvarChgType (SCIP_VAR *var, SCIP_VARTYPE vartype)
 
static SCIP_RETCODE varEventObjChanged (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_PRIMAL *primal, SCIP_LP *lp, SCIP_EVENTQUEUE *eventqueue, SCIP_Real oldobj, SCIP_Real newobj)
 
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_REOPT *reopt, 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)
 
static SCIP_RETCODE varEventGlbChanged (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_Real oldbound, SCIP_Real newbound)
 
static SCIP_RETCODE varEventGubChanged (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_Real oldbound, SCIP_Real newbound)
 
static SCIP_RETCODE varEventGholeAdded (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_Real left, SCIP_Real right)
 
static void varIncRootboundchgs (SCIP_VAR *var, SCIP_SET *set, SCIP_STAT *stat)
 
static SCIP_RETCODE varProcessChgUbGlobal (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_Real newbound)
 
static SCIP_RETCODE varProcessChgLbGlobal (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_Real newbound)
 
SCIP_RETCODE SCIPvarChgLbGlobal (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_Real newbound)
 
SCIP_RETCODE SCIPvarChgUbGlobal (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_Real newbound)
 
SCIP_RETCODE SCIPvarChgLbLazy (SCIP_VAR *var, SCIP_SET *set, SCIP_Real lazylb)
 
SCIP_RETCODE SCIPvarChgUbLazy (SCIP_VAR *var, SCIP_SET *set, SCIP_Real lazyub)
 
SCIP_RETCODE SCIPvarChgBdGlobal (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_Real newbound, SCIP_BOUNDTYPE boundtype)
 
static SCIP_RETCODE varEventLbChanged (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_Real oldbound, SCIP_Real newbound)
 
static SCIP_RETCODE varEventUbChanged (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_Real oldbound, SCIP_Real newbound)
 
static SCIP_RETCODE varProcessChgUbLocal (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_Real newbound)
 
static SCIP_RETCODE varProcessChgLbLocal (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 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 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)
 
static SCIP_RETCODE varProcessAddHoleGlobal (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 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)
 
static SCIP_RETCODE varProcessAddHoleLocal (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)
 
static SCIP_RETCODE varEventImplAdded (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue)
 
static SCIP_RETCODE varAddVbound (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_BOUNDTYPE vbtype, SCIP_VAR *vbvar, SCIP_Real vbcoef, SCIP_Real vbconstant)
 
static void checkImplic (SCIP_SET *set, SCIP_VAR *implvar, SCIP_BOUNDTYPE impltype, SCIP_Real implbound, SCIP_Bool *redundant, SCIP_Bool *infeasible)
 
static SCIP_RETCODE applyImplic (BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_VAR *implvar, SCIP_BOUNDTYPE impltype, SCIP_Real implbound, SCIP_Bool *infeasible, int *nbdchgs)
 
static SCIP_RETCODE varAddImplic (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_Bool varfixing, SCIP_VAR *implvar, SCIP_BOUNDTYPE impltype, SCIP_Real implbound, SCIP_Bool isshortcut, SCIP_Bool *infeasible, int *nbdchgs, SCIP_Bool *added)
 
static SCIP_RETCODE varAddTransitiveBinaryClosureImplic (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_Bool varfixing, SCIP_VAR *implvar, SCIP_Bool implvarfixing, SCIP_Bool *infeasible, int *nbdchgs)
 
static SCIP_RETCODE varAddTransitiveImplic (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_Bool varfixing, SCIP_VAR *implvar, SCIP_BOUNDTYPE impltype, SCIP_Real implbound, SCIP_Bool transitive, SCIP_Bool *infeasible, int *nbdchgs)
 
SCIP_RETCODE SCIPvarAddVlb (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_VAR *vlbvar, SCIP_Real vlbcoef, SCIP_Real vlbconstant, SCIP_Bool transitive, SCIP_Bool *infeasible, int *nbdchgs)
 
SCIP_RETCODE SCIPvarAddVub (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_VAR *vubvar, SCIP_Real vubcoef, SCIP_Real vubconstant, SCIP_Bool transitive, SCIP_Bool *infeasible, int *nbdchgs)
 
SCIP_RETCODE SCIPvarAddImplic (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_Bool varfixing, SCIP_VAR *implvar, SCIP_BOUNDTYPE impltype, SCIP_Real implbound, SCIP_Bool transitive, SCIP_Bool *infeasible, int *nbdchgs)
 
SCIP_Bool SCIPvarHasImplic (SCIP_VAR *var, SCIP_Bool varfixing, SCIP_VAR *implvar, SCIP_BOUNDTYPE impltype)
 
SCIP_Bool SCIPvarHasBinaryImplic (SCIP_VAR *var, SCIP_Bool varfixing, SCIP_VAR *implvar, SCIP_Bool implvarfixing)
 
SCIP_RETCODE SCIPvarFixBinary (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_Bool value, SCIP_Bool *infeasible, int *nbdchgs)
 
SCIP_RETCODE SCIPvarAddClique (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_Bool value, SCIP_CLIQUE *clique, SCIP_Bool *infeasible, int *nbdchgs)
 
SCIP_RETCODE SCIPvarsAddClique (SCIP_VAR **vars, SCIP_Bool *values, int nvars, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_CLIQUE *clique)
 
SCIP_RETCODE SCIPvarAddCliqueToList (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_Bool value, SCIP_CLIQUE *clique)
 
SCIP_RETCODE SCIPvarDelCliqueFromList (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_Bool value, SCIP_CLIQUE *clique)
 
SCIP_RETCODE SCIPvarDelClique (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_CLIQUETABLE *cliquetable, SCIP_Bool value, SCIP_CLIQUE *clique)
 
SCIP_Bool SCIPvarsHaveCommonClique (SCIP_VAR *var1, SCIP_Bool value1, SCIP_VAR *var2, SCIP_Bool value2, SCIP_Bool regardimplics)
 
static SCIP_RETCODE varProcessChgBranchFactor (SCIP_VAR *var, SCIP_SET *set, SCIP_Real branchfactor)
 
SCIP_RETCODE SCIPvarChgBranchFactor (SCIP_VAR *var, SCIP_SET *set, SCIP_Real branchfactor)
 
static SCIP_RETCODE varProcessChgBranchPriority (SCIP_VAR *var, int branchpriority)
 
SCIP_RETCODE SCIPvarChgBranchPriority (SCIP_VAR *var, int branchpriority)
 
static SCIP_RETCODE varProcessChgBranchDirection (SCIP_VAR *var, SCIP_BRANCHDIR branchdirection)
 
SCIP_RETCODE SCIPvarChgBranchDirection (SCIP_VAR *var, SCIP_BRANCHDIR branchdirection)
 
int SCIPvarCompareActiveAndNegated (SCIP_VAR *var1, SCIP_VAR *var2)
 
 SCIP_DECL_SORTPTRCOMP (SCIPvarCompActiveAndNegated)
 
int SCIPvarCompare (SCIP_VAR *var1, SCIP_VAR *var2)
 
 SCIP_DECL_SORTPTRCOMP (SCIPvarComp)
 
 SCIP_DECL_SORTPTRCOMP (SCIPvarCompObj)
 
 SCIP_DECL_HASHGETKEY (SCIPvarGetHashkey)
 
 SCIP_DECL_HASHKEYEQ (SCIPvarIsHashkeyEq)
 
 SCIP_DECL_HASHKEYVAL (SCIPvarGetHashkeyVal)
 
SCIP_RETCODE SCIPvarsGetActiveVars (SCIP_SET *set, SCIP_VAR **vars, int *nvars, int varssize, int *requiredsize)
 
void SCIPvarsGetProbvar (SCIP_VAR **vars, int nvars)
 
SCIP_VARSCIPvarGetProbvar (SCIP_VAR *var)
 
SCIP_RETCODE SCIPvarsGetProbvarBinary (SCIP_VAR ***vars, SCIP_Bool **negatedarr, int nvars)
 
SCIP_RETCODE SCIPvarGetProbvarBinary (SCIP_VAR **var, SCIP_Bool *negated)
 
SCIP_RETCODE SCIPvarGetProbvarBound (SCIP_VAR **var, SCIP_Real *bound, SCIP_BOUNDTYPE *boundtype)
 
SCIP_RETCODE SCIPvarGetProbvarHole (SCIP_VAR **var, SCIP_Real *left, SCIP_Real *right)
 
SCIP_RETCODE SCIPvarGetProbvarSum (SCIP_VAR **var, SCIP_SET *set, SCIP_Real *scalar, SCIP_Real *constant)
 
SCIP_RETCODE SCIPvarGetOrigvarSum (SCIP_VAR **var, SCIP_Real *scalar, SCIP_Real *constant)
 
SCIP_Bool SCIPvarIsTransformedOrigvar (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetObjLP (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetLbLP (SCIP_VAR *var, SCIP_SET *set)
 
SCIP_Real SCIPvarGetUbLP (SCIP_VAR *var, SCIP_SET *set)
 
SCIP_Real SCIPvarGetLPSol_rec (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetNLPSol_rec (SCIP_VAR *var)
 
static SCIP_Real SCIPvarGetPseudoSol_rec (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetSol (SCIP_VAR *var, SCIP_Bool getlpval)
 
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 SCIPvarGetRootSol (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_PROB *prob, SCIP_LP *lp)
 
SCIP_Real SCIPvarGetBestRootSol (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetBestRootRedcost (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetBestRootLPObjval (SCIP_VAR *var)
 
void SCIPvarSetBestRootSol (SCIP_VAR *var, SCIP_Real rootsol, SCIP_Real rootredcost, SCIP_Real rootlpobjval)
 
SCIP_RETCODE SCIPvarSetRelaxSol (SCIP_VAR *var, SCIP_SET *set, SCIP_RELAXATION *relaxation, SCIP_Real solval, SCIP_Bool updateobj)
 
SCIP_Real SCIPvarGetRelaxSol (SCIP_VAR *var, SCIP_SET *set)
 
SCIP_Real SCIPvarGetRelaxSolTransVar (SCIP_VAR *var)
 
SCIP_RETCODE SCIPvarSetNLPSol (SCIP_VAR *var, SCIP_SET *set, SCIP_Real solval)
 
SCIP_Real SCIPvarGetAvgSol (SCIP_VAR *var)
 
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)
 
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_Real SCIPvarGetPseudocostVariance (SCIP_VAR *var, SCIP_BRANCHDIR dir, SCIP_Bool onlycurrentrun)
 
SCIP_Real SCIPvarCalcPscostConfidenceBound (SCIP_VAR *var, SCIP_SET *set, SCIP_BRANCHDIR dir, SCIP_Bool onlycurrentrun, SCIP_CONFIDENCELEVEL clevel)
 
SCIP_Bool SCIPvarIsPscostRelerrorReliable (SCIP_VAR *var, SCIP_SET *set, SCIP_STAT *stat, SCIP_Real threshold, SCIP_CONFIDENCELEVEL clevel)
 
SCIP_Bool SCIPvarSignificantPscostDifference (SCIP_SET *set, SCIP_STAT *stat, SCIP_VAR *varx, SCIP_Real fracx, SCIP_VAR *vary, SCIP_Real fracy, SCIP_BRANCHDIR dir, SCIP_CONFIDENCELEVEL clevel, SCIP_Bool onesided)
 
SCIP_Bool SCIPvarPscostThresholdProbabilityTest (SCIP_SET *set, SCIP_STAT *stat, SCIP_VAR *var, SCIP_Real frac, SCIP_Real threshold, SCIP_BRANCHDIR dir, SCIP_CONFIDENCELEVEL clevel)
 
static SCIP_RETCODE findValuehistoryEntry (SCIP_VAR *var, SCIP_Real value, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_HISTORY **history)
 
static SCIP_Bool useValuehistory (SCIP_VAR *var, SCIP_Real value, SCIP_SET *set)
 
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_Longint SCIPvarGetNBranchings (SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Longint SCIPvarGetNBranchingsCurrentRun (SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPvarGetAvgBranchdepth (SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPvarGetAvgBranchdepthCurrentRun (SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
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 SCIPvarGetInferenceSum (SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPvarGetInferenceSumCurrentRun (SCIP_VAR *var, 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 SCIPvarGetCutoffSum (SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPvarGetCutoffSumCurrentRun (SCIP_VAR *var, 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 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_BDCHGINFOSCIPvarGetLbchgInfo (SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
 
SCIP_BDCHGINFOSCIPvarGetUbchgInfo (SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
 
SCIP_BDCHGINFOSCIPvarGetBdchgInfo (SCIP_VAR *var, SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
 
SCIP_Real SCIPvarGetLbAtIndex (SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
 
SCIP_Real SCIPvarGetUbAtIndex (SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
 
SCIP_Real SCIPvarGetBdAtIndex (SCIP_VAR *var, SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
 
SCIP_Bool SCIPvarWasFixedAtIndex (SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
 
SCIP_BDCHGIDXSCIPvarGetLastBdchgIndex (SCIP_VAR *var)
 
int SCIPvarGetLastBdchgDepth (SCIP_VAR *var)
 
int SCIPvarGetConflictingBdchgDepth (SCIP_VAR *var, SCIP_SET *set, SCIP_BOUNDTYPE boundtype, SCIP_Real bound)
 
SCIP_Bool SCIPvarWasFixedEarlier (SCIP_VAR *var1, SCIP_VAR *var2)
 
 SCIP_DECL_HASHGETKEY (SCIPhashGetKeyVar)
 
SCIP_Real SCIPboundchgGetNewbound (SCIP_BOUNDCHG *boundchg)
 
SCIP_VARSCIPboundchgGetVar (SCIP_BOUNDCHG *boundchg)
 
SCIP_BOUNDCHGTYPE SCIPboundchgGetBoundchgtype (SCIP_BOUNDCHG *boundchg)
 
SCIP_BOUNDTYPE SCIPboundchgGetBoundtype (SCIP_BOUNDCHG *boundchg)
 
SCIP_Bool SCIPboundchgIsRedundant (SCIP_BOUNDCHG *boundchg)
 
int SCIPdomchgGetNBoundchgs (SCIP_DOMCHG *domchg)
 
SCIP_BOUNDCHGSCIPdomchgGetBoundchg (SCIP_DOMCHG *domchg, int pos)
 
SCIP_Real SCIPholelistGetLeft (SCIP_HOLELIST *holelist)
 
SCIP_Real SCIPholelistGetRight (SCIP_HOLELIST *holelist)
 
SCIP_HOLELISTSCIPholelistGetNext (SCIP_HOLELIST *holelist)
 
const char * SCIPvarGetName (SCIP_VAR *var)
 
int SCIPvarGetNUses (SCIP_VAR *var)
 
SCIP_VARDATASCIPvarGetData (SCIP_VAR *var)
 
void SCIPvarSetData (SCIP_VAR *var, SCIP_VARDATA *vardata)
 
void SCIPvarSetDelorigData (SCIP_VAR *var, SCIP_DECL_VARDELORIG((*vardelorig)))
 
void SCIPvarSetTransData (SCIP_VAR *var, SCIP_DECL_VARTRANS((*vartrans)))
 
void SCIPvarSetDeltransData (SCIP_VAR *var, SCIP_DECL_VARDELTRANS((*vardeltrans)))
 
void SCIPvarSetCopyData (SCIP_VAR *var, SCIP_DECL_VARCOPY((*varcopy)))
 
SCIP_RETCODE SCIPvarSetInitial (SCIP_VAR *var, SCIP_Bool initial)
 
SCIP_RETCODE SCIPvarSetRemovable (SCIP_VAR *var, SCIP_Bool removable)
 
SCIP_VARSTATUS SCIPvarGetStatus (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsOriginal (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsTransformed (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsNegated (SCIP_VAR *var)
 
SCIP_VARTYPE SCIPvarGetType (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsBinary (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsIntegral (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsInitial (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsRemovable (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsDeleted (SCIP_VAR *var)
 
void SCIPvarMarkDeletable (SCIP_VAR *var)
 
void SCIPvarMarkNotDeletable (SCIP_VAR *var)
 
void SCIPvarMarkDeleteGlobalStructures (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsMarkedDeleteGlobalStructures (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsDeletable (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsActive (SCIP_VAR *var)
 
int SCIPvarGetIndex (SCIP_VAR *var)
 
int SCIPvarGetProbindex (SCIP_VAR *var)
 
SCIP_VARSCIPvarGetTransVar (SCIP_VAR *var)
 
SCIP_COLSCIPvarGetCol (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsInLP (SCIP_VAR *var)
 
SCIP_VARSCIPvarGetAggrVar (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetAggrScalar (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetAggrConstant (SCIP_VAR *var)
 
int SCIPvarGetMultaggrNVars (SCIP_VAR *var)
 
SCIP_VAR ** SCIPvarGetMultaggrVars (SCIP_VAR *var)
 
SCIP_RealSCIPvarGetMultaggrScalars (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetMultaggrConstant (SCIP_VAR *var)
 
SCIP_VARSCIPvarGetNegatedVar (SCIP_VAR *var)
 
SCIP_VARSCIPvarGetNegationVar (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetNegationConstant (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetObj (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetUnchangedObj (SCIP_VAR *var)
 
SCIP_RETCODE SCIPvarGetAggregatedObj (SCIP_VAR *var, SCIP_Real *aggrobj)
 
SCIP_Real SCIPvarGetLbOriginal (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetUbOriginal (SCIP_VAR *var)
 
SCIP_HOLELISTSCIPvarGetHolelistOriginal (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetLbGlobal (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetUbGlobal (SCIP_VAR *var)
 
SCIP_HOLELISTSCIPvarGetHolelistGlobal (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetBestBoundGlobal (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetWorstBoundGlobal (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetLbLocal (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetUbLocal (SCIP_VAR *var)
 
SCIP_HOLELISTSCIPvarGetHolelistLocal (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetBestBoundLocal (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetWorstBoundLocal (SCIP_VAR *var)
 
SCIP_BOUNDTYPE SCIPvarGetBestBoundType (SCIP_VAR *var)
 
SCIP_BOUNDTYPE SCIPvarGetWorstBoundType (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetLbLazy (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetUbLazy (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetBranchFactor (SCIP_VAR *var)
 
int SCIPvarGetBranchPriority (SCIP_VAR *var)
 
SCIP_BRANCHDIR SCIPvarGetBranchDirection (SCIP_VAR *var)
 
int SCIPvarGetNVlbs (SCIP_VAR *var)
 
SCIP_VAR ** SCIPvarGetVlbVars (SCIP_VAR *var)
 
SCIP_RealSCIPvarGetVlbCoefs (SCIP_VAR *var)
 
SCIP_RealSCIPvarGetVlbConstants (SCIP_VAR *var)
 
int SCIPvarGetNVubs (SCIP_VAR *var)
 
SCIP_VAR ** SCIPvarGetVubVars (SCIP_VAR *var)
 
SCIP_RealSCIPvarGetVubCoefs (SCIP_VAR *var)
 
SCIP_RealSCIPvarGetVubConstants (SCIP_VAR *var)
 
int SCIPvarGetNImpls (SCIP_VAR *var, SCIP_Bool varfixing)
 
SCIP_VAR ** SCIPvarGetImplVars (SCIP_VAR *var, SCIP_Bool varfixing)
 
SCIP_BOUNDTYPESCIPvarGetImplTypes (SCIP_VAR *var, SCIP_Bool varfixing)
 
SCIP_RealSCIPvarGetImplBounds (SCIP_VAR *var, SCIP_Bool varfixing)
 
int * SCIPvarGetImplIds (SCIP_VAR *var, SCIP_Bool varfixing)
 
int SCIPvarGetNCliques (SCIP_VAR *var, SCIP_Bool varfixing)
 
SCIP_CLIQUE ** SCIPvarGetCliques (SCIP_VAR *var, SCIP_Bool varfixing)
 
SCIP_Real SCIPvarGetLPSol (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetNLPSol (SCIP_VAR *var)
 
SCIP_BDCHGINFOSCIPvarGetBdchgInfoLb (SCIP_VAR *var, int pos)
 
int SCIPvarGetNBdchgInfosLb (SCIP_VAR *var)
 
SCIP_BDCHGINFOSCIPvarGetBdchgInfoUb (SCIP_VAR *var, int pos)
 
int SCIPvarGetNBdchgInfosUb (SCIP_VAR *var)
 
SCIP_VALUEHISTORYSCIPvarGetValuehistory (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetPseudoSol (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetVSIDS (SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
 
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)
 
int SCIPbdchgidxGetPos (SCIP_BDCHGIDX *bdchgidx)
 
SCIP_Bool SCIPbdchgidxIsEarlierNonNull (SCIP_BDCHGIDX *bdchgidx1, SCIP_BDCHGIDX *bdchgidx2)
 
SCIP_Bool SCIPbdchgidxIsEarlier (SCIP_BDCHGIDX *bdchgidx1, SCIP_BDCHGIDX *bdchgidx2)
 
SCIP_Real SCIPbdchginfoGetOldbound (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_Real SCIPbdchginfoGetNewbound (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_VARSCIPbdchginfoGetVar (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_BOUNDCHGTYPE SCIPbdchginfoGetChgtype (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_BOUNDTYPE SCIPbdchginfoGetBoundtype (SCIP_BDCHGINFO *bdchginfo)
 
int SCIPbdchginfoGetDepth (SCIP_BDCHGINFO *bdchginfo)
 
int SCIPbdchginfoGetPos (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_BDCHGIDXSCIPbdchginfoGetIdx (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_VARSCIPbdchginfoGetInferVar (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_CONSSCIPbdchginfoGetInferCons (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_PROPSCIPbdchginfoGetInferProp (SCIP_BDCHGINFO *bdchginfo)
 
int SCIPbdchginfoGetInferInfo (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_BOUNDTYPE SCIPbdchginfoGetInferBoundtype (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_Real SCIPbdchginfoGetRelaxedBound (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_Bool SCIPbdchginfoIsRedundant (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_Bool SCIPbdchginfoHasInferenceReason (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_Bool SCIPbdchginfoIsTighter (SCIP_BDCHGINFO *bdchginfo1, SCIP_BDCHGINFO *bdchginfo2)
 

Variables

static SCIP_BDCHGIDX initbdchgidx = {-2, 0}
 
static SCIP_BDCHGIDX presolvebdchgidx = {-1, 0}
 

Macro Definition Documentation

#define MAXIMPLSCLOSURE   100

maximal number of descendants of implied variable for building closure in implication graph

Definition at line 63 of file var.c.

Referenced by varAddTransitiveBinaryClosureImplic().

#define MAXABSVBCOEF   1e+5

maximal absolute coefficient in variable bounds added due to implications

Definition at line 66 of file var.c.

Referenced by varAddImplic().

#define MAXDNOM   1000000LL

Referenced by tryAggregateIntVars().

#define MAX_CLIQUELENGTH   50

Definition at line 12719 of file var.c.

Referenced by SCIPvarGetImplRedcost().

Function Documentation

static SCIP_RETCODE holelistCreate ( SCIP_HOLELIST **  holelist,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_Real  left,
SCIP_Real  right 
)
static

creates a new holelist element

Parameters
holelistpointer to holelist to create
blkmemblock memory for target holelist
setglobal SCIP settings
leftleft bound of open interval in new hole
rightright bound of open interval in new hole

Definition at line 74 of file var.c.

References BMSallocBlockMemory, holelistFree(), NULL, SCIP_ALLOC, SCIP_OKAY, SCIPdebugMessage, and SCIPsetIsLT().

Referenced by domAddHole(), and holelistDuplicate().

static void holelistFree ( SCIP_HOLELIST **  holelist,
BMS_BLKMEM blkmem 
)
static

frees all elements in the holelist

Parameters
holelistpointer to holelist to free
blkmemblock memory for target holelist

Definition at line 98 of file var.c.

References BMSfreeBlockMemory, holelistDuplicate(), SCIP_Holelist::next, NULL, and SCIPdebugMessage.

Referenced by domMerge(), holelistCreate(), SCIPvarFix(), SCIPvarResetBounds(), and varFree().

static SCIP_RETCODE holelistDuplicate ( SCIP_HOLELIST **  target,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_HOLELIST source 
)
static

duplicates a list of holes

Parameters
targetpointer to target holelist
blkmemblock memory for target holelist
setglobal SCIP settings
sourceholelist to duplicate

Definition at line 124 of file var.c.

References domAddHole(), SCIP_Holelist::hole, holelistCreate(), SCIP_Hole::left, SCIP_Holelist::next, NULL, SCIP_Hole::right, SCIP_CALL, SCIP_OKAY, and SCIPsetIsGE().

Referenced by holelistFree(), SCIPvarResetBounds(), and SCIPvarTransform().

static SCIP_RETCODE domAddHole ( SCIP_DOM dom,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_Real  left,
SCIP_Real  right,
SCIP_Bool added 
)
static

adds a hole to the domain

Parameters
domdomain to add hole to
blkmemblock memory
setglobal SCIP settings
leftleft bound of open interval in new hole
rightright bound of open interval in new hole
addedpointer to store whether the hole was added (variable didn't had that hole before), or NULL

Definition at line 146 of file var.c.

References domMerge(), FALSE, SCIP_Dom::holelist, holelistCreate(), SCIP_Holelist::next, NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, and TRUE.

Referenced by holelistDuplicate(), SCIPvarAddHoleOriginal(), varProcessAddHoleGlobal(), and varProcessAddHoleLocal().

static void domMerge ( SCIP_DOM dom,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_Real newlb,
SCIP_Real newub 
)
static

merges overlapping holes into single holes, computes and moves lower and upper bound, respectively

Parameters
domdomain to merge
blkmemblock memory
setglobal SCIP settings
newlbpointer to store new lower bound
newubpointer to store new upper bound

Definition at line 190 of file var.c.

References SCIP_Holelist::hole, SCIP_Dom::holelist, holelistFree(), SCIP_Dom::lb, MAX, SCIP_Holelist::next, NULL, SCIP_Hole::right, SCIP_Real, SCIPdebugMessage, SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsLE(), SCIPsetIsLT(), SCIP_Dom::ub, and varEnsureLbchginfosSize().

Referenced by domAddHole(), SCIPvarAddHoleOriginal(), varProcessAddHoleGlobal(), varProcessAddHoleLocal(), varProcessChgLbGlobal(), varProcessChgLbLocal(), varProcessChgUbGlobal(), and varProcessChgUbLocal().

static SCIP_RETCODE varEnsureLbchginfosSize ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
int  num 
)
static

ensures, that bound change info array for lower bound changes can store at least num entries

Parameters
varproblem variable
blkmemblock memory
setglobal SCIP settings
numminimum number of entries to store

Definition at line 350 of file var.c.

References BMSreallocBlockMemoryArray, SCIP_Var::lbchginfos, SCIP_Var::lbchginfossize, SCIP_Var::nlbchginfos, NULL, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), SCIPvarIsTransformed(), and varEnsureUbchginfosSize().

Referenced by domMerge(), and varAddLbchginfo().

static SCIP_RETCODE varEnsureUbchginfosSize ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
int  num 
)
static

ensures, that bound change info array for upper bound changes can store at least num entries

Parameters
varproblem variable
blkmemblock memory
setglobal SCIP settings
numminimum number of entries to store

Definition at line 376 of file var.c.

References BMSreallocBlockMemoryArray, SCIP_Var::nubchginfos, NULL, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), SCIPvarIsTransformed(), SCIP_Var::ubchginfos, SCIP_Var::ubchginfossize, and varAddLbchginfo().

Referenced by varAddUbchginfo(), and varEnsureLbchginfosSize().

static SCIP_RETCODE varAddLbchginfo ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_Real  oldbound,
SCIP_Real  newbound,
int  depth,
int  pos,
SCIP_VAR infervar,
SCIP_CONS infercons,
SCIP_PROP inferprop,
int  inferinfo,
SCIP_BOUNDTYPE  inferboundtype,
SCIP_BOUNDCHGTYPE  boundchgtype 
)
static

adds domain change info to the variable's lower bound change info array

Note
The "pos" data member of the bound change info has a size of 27 bits
Parameters
varproblem variable
blkmemblock memory
setglobal SCIP settings
oldboundold value for bound
newboundnew value for bound
depthdepth in the tree, where the bound change takes place
posposition of the bound change in its bound change array
infervarvariable that was changed (parent of var, or var itself)
inferconsconstraint that infered this 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
boundchgtypebound change type: branching decision or infered bound change

Definition at line 402 of file var.c.

References SCIP_BdChgInfo::bdchgidx, SCIP_BdChgInfo::boundchgtype, SCIP_BdChgInfo::boundtype, SCIP_BdChgIdx::depth, FALSE, SCIP_BdChgInfo::inferboundtype, SCIP_BdChgInfo::inferencedata, SCIP_Dom::lb, SCIP_Var::lbchginfos, SCIP_Var::locdom, SCIP_BdChgInfo::newbound, SCIP_Var::nlbchginfos, NULL, SCIP_BdChgInfo::oldbound, SCIP_BdChgIdx::pos, SCIP_BdChgInfo::pos, SCIP_BdChgInfo::redundant, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_BOUNDCHGTYPE_CONSINFER, SCIP_BOUNDCHGTYPE_PROPINFER, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARTYPE_CONTINUOUS, SCIPbdchgidxIsEarlier(), SCIPconsGetName(), SCIPdebugMessage, SCIPerrorMessage, SCIPpropGetName(), SCIPsetIsEQ(), SCIPsetIsFeasIntegral(), SCIPsetIsLT(), SCIPvarGetName(), SCIPvarGetType(), SCIPvarIsBinary(), SCIP_Dom::ub, SCIP_BdChgInfo::var, varAddUbchginfo(), and varEnsureLbchginfosSize().

Referenced by SCIPboundchgApply(), and varEnsureUbchginfosSize().

static SCIP_RETCODE varAddUbchginfo ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_Real  oldbound,
SCIP_Real  newbound,
int  depth,
int  pos,
SCIP_VAR infervar,
SCIP_CONS infercons,
SCIP_PROP inferprop,
int  inferinfo,
SCIP_BOUNDTYPE  inferboundtype,
SCIP_BOUNDCHGTYPE  boundchgtype 
)
static

adds domain change info to the variable's upper bound change info array

Note
The "pos" data member of the bound change info has a size of 27 bits
Parameters
varproblem variable
blkmemblock memory
setglobal SCIP settings
oldboundold value for bound
newboundnew value for bound
depthdepth in the tree, where the bound change takes place
posposition of the bound change in its bound change array
infervarvariable that was changed (parent of var, or var itself)
inferconsconstraint that infered this 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
boundchgtypebound change type: branching decision or infered bound change

Definition at line 478 of file var.c.

References SCIP_BdChgInfo::bdchgidx, SCIP_BdChgInfo::boundchgtype, SCIP_BdChgInfo::boundtype, SCIP_BdChgIdx::depth, FALSE, SCIP_BdChgInfo::inferboundtype, SCIP_BdChgInfo::inferencedata, SCIP_Dom::lb, SCIP_Var::locdom, SCIP_BdChgInfo::newbound, SCIP_Var::nubchginfos, NULL, SCIP_BdChgInfo::oldbound, SCIP_BdChgIdx::pos, SCIP_BdChgInfo::pos, SCIP_BdChgInfo::redundant, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_BOUNDCHGTYPE_CONSINFER, SCIP_BOUNDCHGTYPE_PROPINFER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARTYPE_CONTINUOUS, SCIPbdchgidxIsEarlier(), SCIPboundchgApply(), SCIPconsGetName(), SCIPdebugMessage, SCIPerrorMessage, SCIPpropGetName(), SCIPsetIsEQ(), SCIPsetIsFeasIntegral(), SCIPsetIsGT(), SCIPvarGetName(), SCIPvarGetType(), SCIPvarIsBinary(), SCIP_Dom::ub, SCIP_Var::ubchginfos, SCIP_BdChgInfo::var, and varEnsureUbchginfosSize().

Referenced by SCIPboundchgApply(), and varAddLbchginfo().

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 553 of file var.c.

References SCIP_BoundChg::applied, SCIP_BoundChg::boundchgtype, SCIP_BoundChg::boundtype, SCIP_BoundChg::data, FALSE, SCIP_BoundChg::inferboundtype, SCIP_BoundChg::inferencedata, SCIP_Stat::lastbranchdir, SCIP_Stat::lastbranchvalue, SCIP_Stat::lastbranchvar, SCIP_Dom::lb, SCIP_Var::locdom, SCIP_BoundChg::newbound, NULL, SCIP_BoundChg::redundant, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_BOUNDCHGTYPE_CONSINFER, SCIP_BOUNDCHGTYPE_PROPINFER, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPboundchgUndo(), SCIPconsGetName(), 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(), SCIPnodeAddBoundinfer(), and varAddUbchginfo().

static SCIP_RETCODE boundchgApplyGlobal ( SCIP_BOUNDCHG boundchg,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_CLIQUETABLE cliquetable,
SCIP_Bool cutoff 
)
static

applies single bound change to the global problem by changing the global bound of the corresponding variable

Parameters
boundchgbound change to apply
blkmemblock memory
setglobal SCIP settings
statproblem statistics
lpcurrent LP data
branchcandbranching candidate storage
eventqueueevent queue
cliquetableclique table data structure
cutoffpointer to store whether an infeasible bound change was detected

Definition at line 835 of file var.c.

References boundchgCaptureData(), FALSE, NULL, SCIP_BoundChg::redundant, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPboundchgGetBoundtype(), SCIPboundchgGetNewbound(), SCIPboundchgGetVar(), SCIPdebugMessage, SCIPsetIsFeasGE(), SCIPsetIsFeasGT(), SCIPsetIsFeasLE(), SCIPsetIsFeasLT(), SCIPvarChgBdGlobal(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), and TRUE.

Referenced by SCIPboundchgUndo(), and SCIPdomchgApplyGlobal().

static SCIP_RETCODE boundchgCaptureData ( SCIP_BOUNDCHG boundchg)
static
static SCIP_RETCODE boundchgReleaseData ( SCIP_BOUNDCHG boundchg,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_EVENTQUEUE eventqueue,
SCIP_LP lp 
)
static

releases branching and inference data of bound change

Parameters
boundchgbound change to remove
blkmemblock memory
setglobal SCIP settings
eventqueueevent queue
lpcurrent LP data

Definition at line 927 of file var.c.

References SCIP_BoundChg::boundchgtype, SCIP_BoundChg::data, domchgCreate(), SCIP_BoundChg::inferencedata, NULL, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_BOUNDCHGTYPE_CONSINFER, SCIP_BOUNDCHGTYPE_PROPINFER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPconsRelease(), SCIPerrorMessage, SCIPvarRelease(), and SCIP_BoundChg::var.

Referenced by boundchgCaptureData(), and SCIPdomchgFree().

static SCIP_RETCODE domchgCreate ( SCIP_DOMCHG **  domchg,
BMS_BLKMEM blkmem 
)
static

creates empty domain change data with dynamic arrays

Parameters
domchgpointer to domain change data
blkmemblock memory

Definition at line 965 of file var.c.

References BMSallocBlockMemorySize, NULL, SCIP_ALLOC, SCIP_DOMCHGTYPE_DYNAMIC, SCIP_OKAY, and SCIPdomchgFree().

Referenced by boundchgReleaseData(), domchgMakeDynamic(), SCIPdomchgAddBoundchg(), and SCIPdomchgAddHolechg().

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

frees domain change data

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

Definition at line 986 of file var.c.

References BMSfreeBlockMemoryArrayNull, BMSfreeBlockMemorySize, boundchgReleaseData(), domchgMakeDynamic(), NULL, SCIP_CALL, SCIP_DOMCHGTYPE_BOTH, SCIP_DOMCHGTYPE_BOUND, SCIP_DOMCHGTYPE_DYNAMIC, SCIP_INVALIDDATA, SCIP_OKAY, and SCIPerrorMessage.

Referenced by domchgCreate(), SCIPdomchgMakeStatic(), and SCIPnodeFree().

static SCIP_RETCODE domchgMakeDynamic ( SCIP_DOMCHG **  domchg,
BMS_BLKMEM blkmem 
)
static

converts a static domain change data into a dynamic one

Parameters
domchgpointer to domain change data
blkmemblock memory

Definition at line 1035 of file var.c.

References BMSreallocBlockMemorySize, domchgCreate(), EPSISINT, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_DOMCHGTYPE_BOTH, SCIP_DOMCHGTYPE_BOUND, SCIP_DOMCHGTYPE_DYNAMIC, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARTYPE_CONTINUOUS, SCIPdebugMessage, SCIPdomchgMakeStatic(), SCIPerrorMessage, and SCIPvarGetType().

Referenced by SCIPdomchgAddBoundchg(), SCIPdomchgAddHolechg(), and SCIPdomchgFree().

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 1087 of file var.c.

References BMSfreeBlockMemoryArrayNull, BMSreallocBlockMemoryArray, BMSreallocBlockMemorySize, domchgEnsureBoundchgsSize(), NULL, SCIP_ALLOC, SCIP_CALL, SCIP_DOMCHGTYPE_BOTH, SCIP_DOMCHGTYPE_BOUND, SCIP_DOMCHGTYPE_DYNAMIC, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARTYPE_CONTINUOUS, SCIPdebugMessage, SCIPdomchgFree(), SCIPerrorMessage, SCIPsetIsFeasIntegral(), and SCIPvarGetType().

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

static SCIP_RETCODE domchgEnsureBoundchgsSize ( SCIP_DOMCHG domchg,
BMS_BLKMEM blkmem,
SCIP_SET set,
int  num 
)
static

ensures, that boundchgs array can store at least num entries

Parameters
domchgdomain change data structure
blkmemblock memory
setglobal SCIP settings
numminimum number of entries to store

Definition at line 1176 of file var.c.

References BMSreallocBlockMemoryArray, SCIP_DomChgDyn::boundchgs, SCIP_DomChgDyn::boundchgssize, SCIP_DomChg::domchgdyn, domchgEnsureHolechgsSize(), SCIP_DomChgDyn::domchgtype, NULL, SCIP_ALLOC, SCIP_DOMCHGTYPE_DYNAMIC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().

Referenced by SCIPdomchgAddBoundchg(), and SCIPdomchgMakeStatic().

static SCIP_RETCODE domchgEnsureHolechgsSize ( SCIP_DOMCHG domchg,
BMS_BLKMEM blkmem,
SCIP_SET set,
int  num 
)
static

ensures, that holechgs array can store at least num additional entries

Parameters
domchgdomain change data structure
blkmemblock memory
setglobal SCIP settings
numminimum number of additional entries to store

Definition at line 1201 of file var.c.

References BMSreallocBlockMemoryArray, SCIP_DomChg::domchgdyn, SCIP_DomChgDyn::domchgtype, SCIP_DomChgDyn::holechgs, SCIP_DomChgDyn::holechgssize, NULL, SCIP_ALLOC, SCIP_DOMCHGTYPE_DYNAMIC, SCIP_OKAY, SCIPdomchgApply(), and SCIPsetCalcMemGrowSize().

Referenced by domchgEnsureBoundchgsSize(), and SCIPdomchgAddHolechg().

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

applies domain change

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 1225 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, SCIPdomchgUndo(), and TRUE.

Referenced by domchgEnsureHolechgsSize(), and nodeActivate().

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

undoes domain change

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

Definition at line 1274 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(), SCIPdebugMessage, and SCIPdomchgApplyGlobal().

Referenced by nodeDeactivate(), and SCIPdomchgApply().

SCIP_RETCODE SCIPdomchgApplyGlobal ( SCIP_DOMCHG domchg,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_CLIQUETABLE cliquetable,
SCIP_Bool cutoff 
)

applies domain change to the global problem

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

Definition at line 1309 of file var.c.

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

Referenced by SCIPdomchgUndo(), and SCIPnodeFocus().

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 1348 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, SCIPdomchgAddHolechg(), SCIPerrorMessage, SCIPsetIsEQ(), SCIPsetIsFeasIntegral(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsBinary(), and SCIP_BoundChg::var.

Referenced by SCIPdomchgApplyGlobal(), and SCIPnodeAddBoundinfer().

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

adds hole change to domain changes

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 1446 of file var.c.

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

Referenced by SCIPdomchgAddBoundchg().

static SCIP_Real adjustedLb ( SCIP_SET set,
SCIP_VARTYPE  vartype,
SCIP_Real  lb 
)
static
static SCIP_Real adjustedUb ( SCIP_SET set,
SCIP_VARTYPE  vartype,
SCIP_Real  ub 
)
static
SCIP_RETCODE SCIPvarRemoveCliquesImplicsVbs ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_CLIQUETABLE cliquetable,
SCIP_SET set,
SCIP_Bool  irrelevantvar,
SCIP_Bool  onlyredundant,
SCIP_Bool  removefromvar 
)

removes (redundant) cliques, implications and variable bounds of variable from all other variables' implications and variable bounds arrays, and optionally removes them also from the variable itself

Parameters
varproblem variable
blkmemblock memory
cliquetableclique table data structure
setglobal SCIP settings
irrelevantvarhas the variable become irrelevant?
onlyredundantshould only the redundant implications and variable bounds be removed?
removefromvarshould the implications and variable bounds be removed from the var itself?

Definition at line 1536 of file var.c.

References SCIP_Var::cliquelist, SCIP_Var::closestvblpcount, FALSE, SCIP_Var::implics, MAX, MIN, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIP_VARTYPE_BINARY, SCIPcliquelistFree(), SCIPcliquelistRemoveFromCliques(), SCIPdebugMessage, SCIPimplicsDel(), SCIPimplicsFree(), SCIPimplicsGetBounds(), SCIPimplicsGetNImpls(), SCIPimplicsGetTypes(), SCIPimplicsGetVars(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsetIsZero(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsBinary(), SCIPvboundsDel(), SCIPvboundsGetCoefs(), SCIPvboundsGetConstants(), SCIPvboundsGetNVbds(), SCIPvboundsGetVars(), SCIPvboundsShrink(), TRUE, varSetName(), SCIP_Var::vlbs, and SCIP_Var::vubs.

Referenced by adjustedUb(), SCIPremoveVarFromGlobalStructures(), SCIPvarAggregate(), SCIPvarFix(), SCIPvarMultiaggregate(), SCIPvarRemove(), varProcessChgLbGlobal(), and varProcessChgUbGlobal().

static SCIP_RETCODE varSetName ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_STAT stat,
const char *  name 
)
static

sets the variable name

Parameters
varproblem variable
blkmemblock memory
statproblem statistics, or NULL
namename of variable, or NULL for automatic name creation

Definition at line 1827 of file var.c.

References BMSduplicateBlockMemoryArray, SCIP_Var::name, NULL, SCIP_Stat::nvaridx, SCIP_ALLOC, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPsnprintf(), and varCreate().

Referenced by SCIPvarChgName(), SCIPvarRemoveCliquesImplicsVbs(), and varCreate().

static SCIP_RETCODE varCreate ( 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_VARCOPY((*varcopy))  ,
SCIP_DECL_VARDELORIG((*vardelorig))  ,
SCIP_DECL_VARTRANS((*vartrans))  ,
SCIP_DECL_VARDELTRANS((*vardeltrans))  ,
SCIP_VARDATA vardata 
)
static

creates variable; if variable is of integral type, fractional bounds are automatically rounded; an integer variable with bounds zero and one is automatically converted into a binary variable

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 1859 of file var.c.

References adjustedLb(), adjustedUb(), BMSallocBlockMemory, FALSE, NULL, SCIP_Stat::nvaridx, SCIP_ALLOC, SCIP_BRANCHDIR_AUTO, SCIP_CALL, SCIP_INVALID, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_REAL_MAX, SCIP_REAL_MIN, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPerrorMessage, SCIPhistoryCreate(), SCIPsetInfinity(), SCIPsetIsEQ(), SCIPvarCreateOriginal(), and varSetName().

Referenced by SCIPvarCreateOriginal(), SCIPvarCreateTransformed(), SCIPvarNegate(), SCIPvarParseOriginal(), SCIPvarParseTransformed(), and varSetName().

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 1996 of file var.c.

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

Referenced by SCIPcreateVar(), SCIPvarCopy(), and varCreate().

SCIP_RETCODE SCIPvarCreateTransformed ( SCIP_VAR **  var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
const char *  name,
SCIP_Real  lb,
SCIP_Real  ub,
SCIP_Real  obj,
SCIP_VARTYPE  vartype,
SCIP_Bool  initial,
SCIP_Bool  removable,
SCIP_DECL_VARDELORIG((*vardelorig))  ,
SCIP_DECL_VARTRANS((*vartrans))  ,
SCIP_DECL_VARDELTRANS((*vardeltrans))  ,
SCIP_DECL_VARCOPY((*varcopy))  ,
SCIP_VARDATA vardata 
)

creates and captures a loose variable belonging to the transformed problem; an integer variable with bounds zero and one is automatically converted into a binary variable

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 2039 of file var.c.

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

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

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

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

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 2081 of file var.c.

References NULL, parseValue(), 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(), SCIPvarMergeHistories(), and SCIP_Var::vardata.

Referenced by SCIPgetVarCopy(), and SCIPvarCreateTransformed().

static SCIP_RETCODE parseValue ( SCIP_SET set,
const char *  str,
SCIP_Real value,
char **  endptr 
)
static

parse given string for a SCIP_Real bound

Parameters
setglobal SCIP settings
strstring to parse
valuepointer to store the parsed value
endptrpointer to store the final string position if successfully parsed

Definition at line 2180 of file var.c.

References parseBounds(), SCIP_OKAY, SCIP_READERROR, SCIPsetInfinity(), and SCIPstrToRealValue().

Referenced by parseBounds(), and SCIPvarCopy().

static SCIP_RETCODE parseBounds ( SCIP_SET set,
const char *  str,
char *  type,
SCIP_Real lb,
SCIP_Real ub,
char **  endptr 
)
static

parse the characters as bounds

Parameters
setglobal SCIP settings
strstring to parse
typebound type (global, local, or lazy)
lbpointer to store the lower bound
ubpointer to store the upper bound
endptrpointer to store the final string position if successfully parsed (or NULL if an error occured)

Definition at line 2209 of file var.c.

References NULL, parseValue(), SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPdebugMessage, SCIPstrCopySection(), and varParse().

Referenced by parseValue(), and varParse().

static SCIP_RETCODE varParse ( SCIP_SET set,
SCIP_MESSAGEHDLR messagehdlr,
const char *  str,
char *  name,
SCIP_Real lb,
SCIP_Real ub,
SCIP_Real obj,
SCIP_VARTYPE vartype,
SCIP_Real lazylb,
SCIP_Real lazyub,
SCIP_Bool  local,
char **  endptr,
SCIP_Bool success 
)
static

parses a given string for a variable informations

Parameters
setglobal SCIP settings
messagehdlrmessage handler
strstring to parse
namepointer to store the variable name
lbpointer to store the lower bound
ubpointer to store the upper bound
objpointer to store the objective coefficient
vartypepointer to store the variable type
lazylbpointer to store if the lower bound is lazy
lazyubpointer to store if the upper bound is lazy
localshould the local bound be applied
endptrpointer to store the final string position if successfully
successpointer store if the paring process was successful

Definition at line 2252 of file var.c.

References FALSE, NULL, parseBounds(), SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_READERROR, SCIP_Real, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPdebugMessage, SCIPerrorMessage, SCIPmessagePrintWarning(), SCIPsetInfinity(), SCIPsetIsGT(), SCIPsetIsInfinity(), SCIPsetIsLT(), SCIPstrCopySection(), SCIPstrToRealValue(), SCIPvarParseOriginal(), and TRUE.

Referenced by parseBounds(), SCIPvarParseOriginal(), and SCIPvarParseTransformed().

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

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

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 2391 of file var.c.

References FALSE, NULL, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_ORIGINAL, SCIPvarCapture(), SCIPvarParseTransformed(), varCreate(), and varParse().

Referenced by SCIPparseVar(), and varParse().

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

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

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 2455 of file var.c.

References NULL, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_LOOSE, SCIPeventfilterCreate(), SCIPvarCapture(), TRUE, varCreate(), varEnsureParentvarsSize(), and varParse().

Referenced by SCIPparseVar(), and SCIPvarParseOriginal().

static SCIP_RETCODE varEnsureParentvarsSize ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
int  num 
)
static

ensures, that parentvars array of var can store at least num entries

Parameters
varproblem variable
blkmemblock memory
setglobal SCIP settings
numminimum number of entries to store

Definition at line 2514 of file var.c.

References BMSreallocBlockMemoryArray, SCIP_Var::nparentvars, SCIP_Var::parentvars, SCIP_Var::parentvarssize, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), and varAddParent().

Referenced by SCIPvarParseTransformed(), and varAddParent().

static SCIP_RETCODE varAddParent ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_VAR parentvar 
)
static

adds variable to parent list of a variable and captures parent variable

Parameters
varvariable to add parent to
blkmemblock memory of transformed problem
setglobal SCIP settings
parentvarparent variable to add

Definition at line 2538 of file var.c.

References SCIP_Var::name, SCIP_Var::nparentvars, NULL, SCIP_Var::parentvars, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_ORIGINAL, SCIPdebugMessage, SCIPvarCapture(), SCIPvarGetStatus(), varEnsureParentvarsSize(), and varFreeParents().

Referenced by SCIPvarAggregate(), SCIPvarNegate(), SCIPvarTransform(), and varEnsureParentvarsSize().

static SCIP_RETCODE varFreeParents ( SCIP_VAR **  var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_EVENTQUEUE eventqueue,
SCIP_LP lp 
)
static

deletes and releases all variables from the parent list of a variable, frees the memory of parents array

Parameters
varpointer to variable
blkmemblock memory
setglobal SCIP settings
eventqueueevent queue (or NULL, if it's an original variable)
lpcurrent LP data (or NULL, if it's an original variable)

Definition at line 2566 of file var.c.

References SCIP_Var::aggregate, BMSfreeBlockMemoryArrayNull, SCIP_Var::data, SCIP_Var::multaggr, SCIP_Var::negatedvar, NULL, SCIP_Multaggr::nvars, SCIP_Var::original, SCIP_Var::parentvars, SCIP_Multaggr::scalars, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPdebugMessage, SCIPerrorMessage, SCIPvarGetStatus(), SCIPvarRelease(), SCIP_Original::transvar, SCIP_Aggregate::var, varFree(), and SCIP_Multaggr::vars.

Referenced by varAddParent(), and varFree().

static SCIP_RETCODE varFree ( SCIP_VAR **  var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_EVENTQUEUE eventqueue,
SCIP_LP lp 
)
static
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 2752 of file var.c.

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

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

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

change variable name

Parameters
varproblem variable
blkmemblock memory
namename of variable

Definition at line 2779 of file var.c.

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

Referenced by SCIPchgVarName(), and SCIPvarRelease().

void SCIPvarInitSolve ( SCIP_VAR var)

initializes variable data structure for solving

Parameters
varproblem variable

Definition at line 2797 of file var.c.

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

Referenced by SCIPprobInitSolve(), and SCIPvarChgName().

static void printBounds ( SCIP_SET set,
SCIP_MESSAGEHDLR messagehdlr,
FILE *  file,
SCIP_Real  lb,
SCIP_Real  ub,
const char *  name 
)
static

outputs the given bounds into the file stream

Parameters
setglobal SCIP settings
messagehdlrmessage handler
fileoutput file (or NULL for standard output)
lblower bound
ubupper bound
namebound type name

Definition at line 2810 of file var.c.

References NULL, printHolelist(), SCIPmessageFPrintInfo(), and SCIPsetIsInfinity().

Referenced by SCIPvarInitSolve(), and SCIPvarPrint().

static void printHolelist ( SCIP_SET set,
SCIP_MESSAGEHDLR messagehdlr,
FILE *  file,
SCIP_HOLELIST holelist,
const char *  name 
)
static

prints hole list to file stream

Parameters
setglobal SCIP settings
messagehdlrmessage handler
fileoutput file (or NULL for standard output)
holelisthole list pointer to hole of interest
namehole type name

Definition at line 2838 of file var.c.

References NULL, SCIP_Real, SCIPholelistGetLeft(), SCIPholelistGetNext(), SCIPholelistGetRight(), SCIPmessageFPrintInfo(), and SCIPvarPrint().

Referenced by printBounds(), and SCIPvarPrint().

SCIP_RETCODE SCIPvarPrint ( SCIP_VAR var,
SCIP_SET set,
SCIP_MESSAGEHDLR messagehdlr,
FILE *  file 
)
static SCIP_RETCODE varEventVarUnlocked ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_EVENTQUEUE eventqueue 
)
static

issues a VARUNLOCKED event on the given variable

Parameters
varproblem variable to change
blkmemblock memory
setglobal SCIP settings
eventqueueevent queue

Definition at line 3013 of file var.c.

References SCIP_Var::nlocksdown, SCIP_Var::nlocksup, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPeventCreateVarUnlocked(), SCIPeventqueueAdd(), and SCIPvarAddLocks().

Referenced by SCIPvarAddLocks(), and SCIPvarPrint().

int SCIPvarGetNLocksDown ( SCIP_VAR var)

gets number of locks for rounding down

Parameters
varproblem variable

Definition at line 3149 of file var.c.

References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::donotmultaggr, SCIP_Var::multaggr, SCIP_Var::negatedvar, SCIP_Var::nlocksdown, NULL, SCIP_Multaggr::nvars, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Multaggr::scalars, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPvarGetNLocksUp(), SCIPvarGetStatus(), SCIP_Original::transvar, SCIP_Aggregate::var, and SCIP_Multaggr::vars.

Referenced by addConsToOccurList(), applyAlternativeBoundsBranching(), applyAlternativeBoundsFixing(), applyProbing(), checkLocksAndRes(), chooseCoefVar(), chooseVeclenVar(), collectCliqueData(), consdataFindUnlockedLinearVar(), createCoveringProblem(), dualPresolve(), dualPresolving(), extractGates(), fixIntegerVariableLb(), isConsIndependently(), multiAggregateBinvar(), performDualfix(), presolComponents(), presolRoundIndicator(), presolveConsEst(), presolveDual(), propIndicator(), removeDoubleAndSingletonsAndPerformDualpresolve(), roundFixingValue(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_READERWRITE(), SCIPanalyzeDeductionsProbing(), SCIPapplyProbingVar(), SCIPgetVarStrongbranchWithPropagation(), SCIPmakeIndicatorFeasible(), SCIPmatrixCreate(), SCIPmatrixDownlockConflict(), SCIPprintBranchingStatistics(), SCIPsolAdjustImplicitSolVals(), SCIPvarAddLocks(), SCIPvarGetNLocksUp(), SCIPvarMayRoundDown(), selectEssentialRounding(), selectRounding(), selectShifting(), singletonColumnStuffing(), and sortVariables().

int SCIPvarGetNLocksUp ( SCIP_VAR var)

gets number of locks for rounding up

Parameters
varproblem variable

Definition at line 3204 of file var.c.

References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::donotmultaggr, SCIP_Var::multaggr, SCIP_Var::negatedvar, SCIP_Var::nlocksup, NULL, SCIP_Multaggr::nvars, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Multaggr::scalars, SCIP_Bool, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPvarGetNLocksDown(), SCIPvarGetStatus(), SCIPvarMayRoundDown(), SCIP_Original::transvar, SCIP_Aggregate::var, and SCIP_Multaggr::vars.

Referenced by applyAlternativeBoundsBranching(), applyAlternativeBoundsFixing(), applyProbing(), checkLocksAndRes(), chooseCoefVar(), chooseVeclenVar(), collectCliqueData(), createCoveringProblem(), dualPresolve(), dualPresolving(), extractGates(), fixIntegerVariableUb(), isConsIndependently(), multiAggregateBinvar(), performDualfix(), presolComponents(), presolRoundIndicator(), presolveConsLct(), presolveDual(), propIndicator(), removeDoubleAndSingletonsAndPerformDualpresolve(), roundFixingValue(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_READERWRITE(), SCIPanalyzeDeductionsProbing(), SCIPapplyProbingVar(), SCIPgetVarStrongbranchWithPropagation(), SCIPmakeIndicatorFeasible(), SCIPmatrixCreate(), SCIPmatrixUplockConflict(), SCIPprintBranchingStatistics(), SCIPsolAdjustImplicitSolVals(), SCIPvarGetNLocksDown(), SCIPvarGetProbvarBinary(), SCIPvarMayRoundUp(), selectEssentialRounding(), selectRounding(), selectShifting(), singletonColumnStuffing(), and sortVariables().

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 3277 of file var.c.

References SCIP_Var::branchdirection, SCIP_Var::branchfactor, SCIP_Var::branchpriority, SCIP_Var::data, SCIP_Var::donotmultaggr, FALSE, SCIP_Var::glbdom, SCIP_Var::history, SCIP_Dom::holelist, holelistDuplicate(), SCIP_Var::initial, SCIP_Var::lazylb, SCIP_Var::lazyub, SCIP_Dom::lb, SCIP_Var::locdom, SCIP_Var::name, SCIP_Var::nlocksdown, SCIP_Var::nlocksup, NULL, SCIP_Var::obj, SCIP_Var::original, SCIP_Var::removable, SCIP_Var::scip, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_ORIGINAL, SCIPdebugMessage, SCIPhistoryUnite(), SCIPsetIsEQ(), SCIPsnprintf(), SCIPvarCapture(), SCIPvarCreateTransformed(), SCIPvarGetStatus(), SCIPvarGetTransformed(), SCIPvarGetType(), SCIP_Original::transvar, SCIP_Dom::ub, varAddParent(), SCIP_Var::vardata, SCIP_Var::vlbs, and SCIP_Var::vubs.

Referenced by SCIPprobTransform(), SCIPtransformVar(), SCIPtransformVars(), and SCIPvarMayRoundUp().

SCIP_RETCODE SCIPvarGetTransformed ( SCIP_VAR origvar,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_VAR **  transvar 
)

gets corresponding transformed variable of an original or negated original variable

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 3358 of file var.c.

References SCIP_Var::data, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPvarColumn(), SCIPvarGetStatus(), SCIPvarNegate(), and SCIP_Original::transvar.

Referenced by SCIPgetReoptOldObjCoef(), SCIPgetTransformedVar(), SCIPgetTransformedVars(), and SCIPvarTransform().

SCIP_RETCODE SCIPvarColumn ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PROB prob,
SCIP_LP lp 
)

converts 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 3389 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(), SCIPvarLoose(), and SCIP_Var::varstatus.

Referenced by SCIPpricestoreApplyVars(), SCIPvarAddToRow(), and SCIPvarGetTransformed().

SCIP_RETCODE SCIPvarLoose ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_EVENTQUEUE eventqueue,
SCIP_PROB prob,
SCIP_LP lp 
)

converts column transformed variable back into loose variable, frees LP column

Parameters
varproblem variable
blkmemblock memory
setglobal SCIP settings
eventqueueevent queue
probproblem data
lpcurrent LP data

Definition at line 3423 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(), varEventVarFixed(), and SCIP_Var::varstatus.

Referenced by SCIPprobExitSolve(), SCIPprobPerformVarDeletions(), and SCIPvarColumn().

static SCIP_RETCODE varEventVarFixed ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_EVENTQUEUE eventqueue,
int  fixeventtype 
)
static

issues a VARFIXED event on the given variable and all its parents (except ORIGINAL parents); the event issuing on the parents is necessary, because unlike with bound changes, the parent variables are not informed about a fixing of an active variable they are pointing to

Parameters
varproblem variable to change
blkmemblock memory
setglobal SCIP settings
eventqueueevent queue
fixeventtypeis this event a fixation(0), an aggregation(1), or a multi-aggregation(2)

Definition at line 3464 of file var.c.

References SCIP_Var::nparentvars, NULL, SCIP_Var::parentvars, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPeventCreateVarFixed(), SCIPeventqueueAdd(), SCIPvarFix(), and SCIPvarGetStatus().

Referenced by SCIPvarAggregate(), SCIPvarFix(), SCIPvarLoose(), and SCIPvarMultiaggregate().

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

converts variable into fixed variable

Parameters
varproblem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtranformed problem data
origproboriginal problem data
primalprimal data
treebranch and bound tree
reoptreoptimization data structure
lpcurrent LP data
branchcandbranching candidate storage
eventqueueevent queue
cliquetableclique table data structure
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 3559 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, SCIPdebugMessage, SCIPerrorMessage, SCIPeventqueueIsDelayed(), SCIPhistoryReset(), SCIPlpDecNLoosevars(), SCIPprobVarChangedStatus(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLT(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPvarAddObj(), SCIPvarChgLbGlobal(), SCIPvarChgObj(), SCIPvarChgUbGlobal(), SCIPvarFix(), SCIPvarGetActiveRepresentatives(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarRemoveCliquesImplicsVbs(), SCIP_Original::transvar, TRUE, SCIP_Dom::ub, SCIP_Aggregate::var, varEventVarFixed(), SCIP_Var::varstatus, SCIP_Var::vlbs, and SCIP_Var::vubs.

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

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

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

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

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

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 3729 of file var.c.

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

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

SCIP_RETCODE 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

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 4133 of file var.c.

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

Referenced by exitPresolve(), SCIPflattenVarAggregationGraph(), and SCIPvarGetActiveRepresentatives().

void SCIPvarMergeHistories ( SCIP_VAR targetvar,
SCIP_VAR othervar,
SCIP_STAT stat 
)

merge two variable histories together; a typical use case is that othervar is an image of the target variable in a SCIP copy. Method should be applied with care, especially because no internal checks are performed whether the history merge is reasonable

Note
Do not use this method if the two variables originate from two SCIP's with different objective functions, since this corrupts the variable pseudo costs
Apply with care; no internal checks are performed if the two variables should be merged
Parameters
targetvarthe variable that should contain both histories afterwards
othervarthe variable whose history is to be merged with that of the target variable
statproblem statistics

Definition at line 4191 of file var.c.

References FALSE, SCIP_Stat::glbhistory, SCIP_Var::history, SCIP_Var::historycrun, SCIPhistoryUnite(), and varUpdateAggregationBounds().

Referenced by SCIPmergeVariableStatistics(), SCIPvarCopy(), and SCIPvarFlattenAggregationGraph().

static SCIP_RETCODE varUpdateAggregationBounds ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_PRIMAL primal,
SCIP_TREE tree,
SCIP_REOPT reopt,
SCIP_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_CLIQUETABLE cliquetable,
SCIP_VAR aggvar,
SCIP_Real  scalar,
SCIP_Real  constant,
SCIP_Bool infeasible,
SCIP_Bool fixed 
)
static

tightens the bounds of both variables in aggregation x = a*y + c

Parameters
varproblem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtranformed problem data
origproboriginal problem data
primalprimal data
treebranch and bound tree
reoptreoptimization data structure
lpcurrent LP data
branchcandbranching candidate storage
eventqueueevent queue
cliquetableclique table data structure
aggvarvariable 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
fixedpointer to store whether the variables were fixed

Definition at line 4208 of file var.c.

References FALSE, SCIP_Var::glbdom, SCIP_Dom::lb, MAX, MIN, SCIP_Var::name, NULL, SCIP_Var::scip, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsGT(), SCIPsetIsInfinity(), SCIPsetIsLT(), SCIPsetIsZero(), SCIPvarAdjustLb(), SCIPvarAdjustUb(), SCIPvarAggregate(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarFix(), TRUE, and SCIP_Dom::ub.

Referenced by SCIPvarAggregate(), and SCIPvarMergeHistories().

SCIP_RETCODE SCIPvarAggregate ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_PRIMAL primal,
SCIP_TREE tree,
SCIP_REOPT reopt,
SCIP_LP lp,
SCIP_CLIQUETABLE cliquetable,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_VAR aggvar,
SCIP_Real  scalar,
SCIP_Real  constant,
SCIP_Bool infeasible,
SCIP_Bool aggregated 
)

converts loose variable into aggregated variable

Parameters
varloose problem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtranformed problem data
origproboriginal problem data
primalprimal data
treebranch and bound tree
reoptreoptimization data structure
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 4399 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(), SCIPdebugMessage, SCIPeventqueueIsDelayed(), SCIPhistoryReset(), SCIPhistoryUnite(), SCIPimplicsFree(), SCIPimplicsGetBounds(), SCIPimplicsGetNImpls(), SCIPimplicsGetTypes(), SCIPimplicsGetVars(), SCIPprobVarChangedStatus(), SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarAddImplic(), SCIPvarAddLocks(), SCIPvarAddObj(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgBranchDirection(), SCIPvarChgBranchFactor(), SCIPvarChgBranchPriority(), SCIPvarChgObj(), SCIPvarFix(), SCIPvarGetHolelistGlobal(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsBinary(), SCIPvarMarkNotDeletable(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvboundsFree(), SCIPvboundsGetCoefs(), SCIPvboundsGetConstants(), SCIPvboundsGetNVbds(), SCIPvboundsGetVars(), TRUE, tryAggregateIntVars(), SCIP_Dom::ub, SCIP_Aggregate::var, varAddParent(), varEventVarFixed(), SCIP_Var::varstatus, varUpdateAggregationBounds(), SCIP_Var::vlbs, and SCIP_Var::vubs.

Referenced by SCIPvarTryAggregateVars(), tryAggregateIntVars(), and varUpdateAggregationBounds().

static SCIP_RETCODE tryAggregateIntVars ( SCIP_SET set,
BMS_BLKMEM blkmem,
SCIP_STAT stat,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_PRIMAL primal,
SCIP_TREE tree,
SCIP_REOPT reopt,
SCIP_LP lp,
SCIP_CLIQUETABLE cliquetable,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTFILTER eventfilter,
SCIP_EVENTQUEUE eventqueue,
SCIP_VAR varx,
SCIP_VAR vary,
SCIP_Real  scalarx,
SCIP_Real  scalary,
SCIP_Real  rhs,
SCIP_Bool infeasible,
SCIP_Bool aggregated 
)
static

Tries to aggregate an equality a*x + b*y == c consisting of two (implicit) integral active problem variables x and y. An integer aggregation (i.e. integral coefficients a' and b', such that a'*x + b'*y == c') is searched.

This can lead to the detection of infeasibility (e.g. if c' is fractional), or to a rejection of the aggregation (denoted by aggregated == FALSE), if the resulting integer coefficients are too large and thus numerically instable.

Parameters
setglobal SCIP settings
blkmemblock memory
statproblem statistics
transprobtranformed problem data
origproboriginal problem data
primalprimal data
treebranch and bound tree
reoptreoptimization data structure
lpcurrent LP data
cliquetableclique table data structure
branchcandbranching candidate storage
eventfilterevent filter for global (not variable dependent) events
eventqueueevent queue
varxintegral variable x in equality a*x + b*y == c
varyintegral variable 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 4691 of file var.c.

References FALSE, MAXDNOM, NULL, SCIP_Stat::nvaridx, SCIP_Bool, SCIP_CALL, SCIP_Longint, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_VARSTATUS_LOOSE, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPcalcGreComDiv(), SCIPcalcSmaComMul(), SCIPprobAddVar(), SCIPrealToRational(), SCIPsetEpsilon(), SCIPsetFeasFloor(), SCIPsetGetStage(), SCIPsetInfinity(), SCIPsetIsFeasIntegral(), SCIPsetIsZero(), SCIPsnprintf(), SCIPvarAggregate(), SCIPvarCreateTransformed(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsInitial(), SCIPvarIsRemovable(), SCIPvarRelease(), SCIPvarTryAggregateVars(), and TRUE.

Referenced by SCIPvarAggregate(), and SCIPvarTryAggregateVars().

SCIP_RETCODE SCIPvarTryAggregateVars ( SCIP_SET set,
BMS_BLKMEM blkmem,
SCIP_STAT stat,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_PRIMAL primal,
SCIP_TREE tree,
SCIP_REOPT reopt,
SCIP_LP lp,
SCIP_CLIQUETABLE cliquetable,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTFILTER eventfilter,
SCIP_EVENTQUEUE eventqueue,
SCIP_VAR varx,
SCIP_VAR vary,
SCIP_Real  scalarx,
SCIP_Real  scalary,
SCIP_Real  rhs,
SCIP_Bool infeasible,
SCIP_Bool aggregated 
)

performs second step of SCIPaggregateVars(): the variable to be aggregated is chosen among active problem variables x' and y', preferring a less strict variable type as aggregation variable (i.e. continuous variables are preferred over implicit integers, implicit integers or integers over binaries). If none of the variables is continuous, it is tried to find an integer aggregation (i.e. integral coefficients a'' and b'', such that a''*x' + b''*y' == c''). This can lead to the detection of infeasibility (e.g. if c'' is fractional), or to a rejection of the aggregation (denoted by aggregated == FALSE), if the resulting integer coefficients are too large and thus numerically instable.

Parameters
setglobal SCIP settings
blkmemblock memory
statproblem statistics
transprobtranformed problem data
origproboriginal problem data
primalprimal data
treebranch and bound tree
reoptreoptimization data structure
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 4914 of file var.c.

References FALSE, NULL, 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(), SCIPsetIsFeasZero(), SCIPsetIsZero(), SCIPvarAggregate(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsBinary(), SCIPvarMultiaggregate(), TRUE, and tryAggregateIntVars().

Referenced by SCIPaggregateVars(), SCIPcliquetableCleanup(), SCIPvarMultiaggregate(), 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_REOPT reopt,
SCIP_LP lp,
SCIP_CLIQUETABLE cliquetable,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTFILTER eventfilter,
SCIP_EVENTQUEUE eventqueue,
int  naggvars,
SCIP_VAR **  aggvars,
SCIP_Real scalars,
SCIP_Real  constant,
SCIP_Bool infeasible,
SCIP_Bool aggregated 
)

converts variable into multi-aggregated variable

Parameters
varproblem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtranformed problem data
origproboriginal problem data
primalprimal data
treebranch and bound tree
reoptreoptimization data structure
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 5063 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(), SCIPdebugMessage, SCIPerrorMessage, SCIPeventqueueIsDelayed(), SCIPlpDecNLoosevars(), SCIPprobVarChangedStatus(), SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarAddLocks(), SCIPvarAddObj(), SCIPvarChgBranchDirection(), SCIPvarChgBranchFactor(), SCIPvarChgBranchPriority(), SCIPvarChgObj(), SCIPvarDoNotMultaggr(), SCIPvarFix(), SCIPvarGetActiveRepresentatives(), SCIPvarGetHolelistGlobal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarMarkNotDeletable(), SCIPvarMultiaggregate(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarTryAggregateVars(), SCIP_Original::transvar, TRUE, SCIP_Dom::ub, varEventVarFixed(), varGetActiveVar(), SCIP_Multaggr::vars, SCIP_Multaggr::varssize, SCIP_Var::varstatus, SCIP_Var::vlbs, and SCIP_Var::vubs.

Referenced by SCIPmultiaggregateVar(), SCIPvarMultiaggregate(), and SCIPvarTryAggregateVars().

static SCIP_VAR* varGetActiveVar ( SCIP_VAR var)
static
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 5490 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(), varCreate(), and varSetProbindex().

Referenced by addLocalConss(), addSplitcons(), SCIPgetNegatedVar(), SCIPgetNegatedVars(), SCIPreoptApplyGlbConss(), SCIPvarDoNotMultaggr(), and SCIPvarGetTransformed().

static void varSetProbindex ( SCIP_VAR var,
int  probindex 
)
static

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

Parameters
varproblem variable
probindexnew problem index of variable (-1 for removal)

Definition at line 5579 of file var.c.

References SCIP_Var::col, SCIP_Var::data, SCIP_Var::implics, NULL, SCIP_Var::probindex, SCIP_VARSTATUS_COLUMN, SCIPvarGetStatus(), SCIPvarSetProbindex(), SCIP_Col::var_probindex, SCIP_Var::vlbs, and SCIP_Var::vubs.

Referenced by SCIPvarNegate(), SCIPvarRemove(), and SCIPvarSetProbindex().

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 5598 of file var.c.

References NULL, SCIPvarSetNamePointer(), and varSetProbindex().

Referenced by probInsertVar(), probRemoveVar(), and varSetProbindex().

void SCIPvarSetNamePointer ( SCIP_VAR var,
const char *  name 
)

gives the variable a new name

Note
the old pointer is overwritten, which might result in a memory leakage
Parameters
varproblem variable
namenew name of variable

Definition at line 5613 of file var.c.

References SCIP_Var::name, NULL, and SCIPvarRemove().

Referenced by resetVarname(), SCIPreaderWrite(), and SCIPvarSetProbindex().

SCIP_RETCODE SCIPvarRemove ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_CLIQUETABLE cliquetable,
SCIP_SET set,
SCIP_Bool  final 
)

informs variable that it will be removed from the problem; adjusts probindex and removes variable from the implication graph; If 'final' is TRUE, the thorough implication graph removal is not performed. Instead, only the variable bounds and implication data structures of the variable are freed. Since in the final removal of all variables from the transformed problem, this deletes the implication graph completely and is faster than removing the variables one by one, each time updating all lists of the other variables.

Parameters
varproblem variable
blkmemblock memory buffer
cliquetableclique table data structure
setglobal SCIP settings
finalis this the final removal of all problem variables?

Definition at line 5631 of file var.c.

References FALSE, SCIP_Var::implics, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPimplicsFree(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarIsTransformed(), SCIPvarMarkDeleted(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvboundsFree(), TRUE, varSetProbindex(), SCIP_Var::vlbs, and SCIP_Var::vubs.

Referenced by probRemoveVar(), SCIPprobFree(), and SCIPvarSetNamePointer().

void SCIPvarMarkDeleted ( SCIP_VAR var)

marks the variable to be deleted from the problem

Parameters
varproblem variable

Definition at line 5667 of file var.c.

References SCIP_Var::deleted, NULL, SCIP_Var::probindex, SCIPvarMarkDoNotMultaggr(), and TRUE.

Referenced by SCIPprobDelVar(), and SCIPvarRemove().

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 5713 of file var.c.

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

Referenced by SCIPchgVarType(), SCIPprobChgVarType(), and SCIPvarMarkDoNotMultaggr().

static SCIP_RETCODE varEventObjChanged ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_PRIMAL primal,
SCIP_LP lp,
SCIP_EVENTQUEUE eventqueue,
SCIP_Real  oldobj,
SCIP_Real  newobj 
)
static

appends OBJCHANGED event to the event queue

Parameters
varproblem variable to change
blkmemblock memory
setglobal SCIP settings
primalprimal data
lpcurrent LP data
eventqueueevent queue
oldobjold objective value for variable
newobjnew objective value for variable

Definition at line 5737 of file var.c.

References SCIP_Var::eventfilter, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPeventCreateObjChanged(), SCIPeventqueueAdd(), SCIPsetIsEQ(), SCIPvarChgObj(), SCIPvarGetStatus(), and SCIPvarIsTransformed().

Referenced by SCIPvarAddObj(), SCIPvarChgObj(), and SCIPvarChgType().

SCIP_RETCODE SCIPvarAddObj ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_PRIMAL primal,
SCIP_TREE tree,
SCIP_REOPT reopt,
SCIP_LP lp,
SCIP_EVENTQUEUE eventqueue,
SCIP_Real  addobj 
)

adds value to objective value of variable

Parameters
varvariable to change
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtranformed problem data
origproboriginal problem data
primalprimal data
treebranch and bound tree
reoptreoptimization data structure
lpcurrent LP data
eventqueueevent queue
addobjadditional objective value for variable

Definition at line 5837 of file var.c.

References SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Multaggr::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Lp::divingobjchg, SCIP_Var::donotmultaggr, SCIP_Dom::lb, SCIP_Var::locdom, SCIP_Var::multaggr, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Multaggr::nvars, SCIP_Var::obj, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Multaggr::scalars, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPdebugMessage, SCIPerrorMessage, SCIPprimalUpdateObjoffset(), SCIPprobAddObjoffset(), SCIPprobUpdateNObjVars(), SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarAddObj(), SCIPvarChgObjDive(), SCIPvarGetStatus(), SCIPvarIsActive(), SCIP_Original::transvar, SCIP_Dom::ub, SCIP_Var::unchangedobj, SCIP_Aggregate::var, varEventObjChanged(), and SCIP_Multaggr::vars.

Referenced by SCIPaddVarObj(), SCIPvarAddObj(), SCIPvarAggregate(), SCIPvarChgObj(), SCIPvarFix(), and SCIPvarMultiaggregate().

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 6048 of file var.c.

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

Referenced by SCIPvarAddImplic(), SCIPvarAdjustUb(), and treeAddPendingBdchg().

static SCIP_RETCODE varEventGlbChanged ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_Real  oldbound,
SCIP_Real  newbound 
)
static

appends GLBCHANGED event to the event queue

Parameters
varproblem variable to change
blkmemblock memory
setglobal SCIP settings
lpcurrent LP data
branchcandbranching candidate storage
eventqueueevent queue
oldboundold lower bound for variable
newboundnew lower bound for variable

Definition at line 6183 of file var.c.

References SCIP_Var::eventfilter, SCIP_EventFilter::eventmask, SCIP_EventFilter::len, SCIP_Var::name, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_EVENTTYPE_GLBCHANGED, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPdebugMessage, SCIPeventCreateGlbChanged(), SCIPeventqueueAdd(), SCIPsetIsEQ(), SCIPvarGetStatus(), SCIPvarIsTransformed(), and varEventGubChanged().

Referenced by SCIPvarChgUbOriginal(), and varProcessChgLbGlobal().

static SCIP_RETCODE varEventGubChanged ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_Real  oldbound,
SCIP_Real  newbound 
)
static

appends GUBCHANGED event to the event queue

Parameters
varproblem variable to change
blkmemblock memory
setglobal SCIP settings
lpcurrent LP data
branchcandbranching candidate storage
eventqueueevent queue
oldboundold lower bound for variable
newboundnew lower bound for variable

Definition at line 6221 of file var.c.

References SCIP_Var::eventfilter, SCIP_EventFilter::eventmask, SCIP_EventFilter::len, SCIP_Var::name, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_EVENTTYPE_GUBCHANGED, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPdebugMessage, SCIPeventCreateGubChanged(), SCIPeventqueueAdd(), SCIPsetIsEQ(), SCIPvarGetStatus(), SCIPvarIsTransformed(), and varEventGholeAdded().

Referenced by varEventGlbChanged(), and varProcessChgUbGlobal().

static SCIP_RETCODE varEventGholeAdded ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_EVENTQUEUE eventqueue,
SCIP_Real  left,
SCIP_Real  right 
)
static

appends GHOLEADDED event to the event queue

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

Definition at line 6259 of file var.c.

References SCIP_Var::eventfilter, SCIP_EventFilter::eventmask, SCIP_EventFilter::len, SCIP_Var::name, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_EVENTTYPE_GHOLEADDED, SCIP_OKAY, SCIPdebugMessage, SCIPeventCreateGholeAdded(), SCIPeventqueueAdd(), SCIPsetIsLT(), SCIPvarIsTransformed(), and varIncRootboundchgs().

Referenced by varEventGubChanged(), and varProcessAddHoleGlobal().

static void varIncRootboundchgs ( SCIP_VAR var,
SCIP_SET set,
SCIP_STAT stat 
)
static

increases root bound change statistics after a global bound change

Parameters
varproblem variable to change
setglobal SCIP settings
statproblem statistics

Definition at line 6291 of file var.c.

References SCIP_Stat::nrootboundchgs, SCIP_Stat::nrootboundchgsrun, SCIP_Stat::nrootintfixings, SCIP_Stat::nrootintfixingsrun, NULL, SCIP_Var::scip, SCIP_Real, SCIP_STAGE_SOLVING, SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsIntegral(), SCIPvarIsTransformed(), varProcessChgLbGlobal(), and varProcessChgUbGlobal().

Referenced by varEventGholeAdded(), varProcessChgLbGlobal(), and varProcessChgUbGlobal().

static SCIP_RETCODE varProcessChgUbGlobal ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_CLIQUETABLE cliquetable,
SCIP_Real  newbound 
)
static

performs the current change in upper bound, changes all parents accordingly

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
cliquetableclique table data structure
newboundnew bound for variable

Definition at line 6507 of file var.c.

References adjustedUb(), SCIP_Var::aggregate, SCIP_BdChgInfo::boundchgtype, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, domMerge(), SCIP_Var::eventfilter, FALSE, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_Var::locdom, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, SCIP_BdChgInfo::newbound, SCIP_Var::nparentvars, SCIP_Var::nubchginfos, NULL, SCIP_BdChgInfo::oldbound, SCIP_Var::parentvars, SCIP_BdChgInfo::redundant, SCIP_Aggregate::scalar, SCIP_Var::scip, SCIP_BOUNDCHGTYPE_BRANCHING, 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_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIPdebugCheckUbGlobal, SCIPdebugMessage, SCIPerrorMessage, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGE(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLE(), SCIPsetIsGE(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPvarChgLbGlobal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsTransformed(), SCIPvarRemoveCliquesImplicsVbs(), TRUE, SCIP_Dom::ub, SCIP_Var::ubchginfos, SCIP_BdChgInfo::var, SCIP_Aggregate::var, varEventGubChanged(), varIncRootboundchgs(), varProcessChgLbGlobal(), and SCIP_Var::vartype.

Referenced by SCIPvarChgUbGlobal(), varIncRootboundchgs(), and varProcessChgLbGlobal().

static SCIP_RETCODE varProcessChgLbGlobal ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_CLIQUETABLE cliquetable,
SCIP_Real  newbound 
)
static

performs the current change in lower bound, changes all parents accordingly

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
cliquetableclique table data structure
newboundnew bound for variable

Definition at line 6332 of file var.c.

References adjustedLb(), SCIP_Var::aggregate, SCIP_BdChgInfo::boundchgtype, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, domMerge(), SCIP_Var::eventfilter, FALSE, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_Var::lbchginfos, SCIP_Var::locdom, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, SCIP_BdChgInfo::newbound, SCIP_Var::nlbchginfos, SCIP_Var::nparentvars, NULL, SCIP_BdChgInfo::oldbound, SCIP_Var::parentvars, SCIP_BdChgInfo::redundant, SCIP_Aggregate::scalar, SCIP_Var::scip, SCIP_BOUNDCHGTYPE_BRANCHING, 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_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIPdebugCheckLbGlobal, SCIPdebugMessage, SCIPerrorMessage, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLE(), SCIPsetIsInfinity(), SCIPsetIsLE(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetIsZero(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsTransformed(), SCIPvarRemoveCliquesImplicsVbs(), TRUE, SCIP_Dom::ub, SCIP_BdChgInfo::var, SCIP_Aggregate::var, varEventGlbChanged(), varIncRootboundchgs(), varProcessChgUbGlobal(), and SCIP_Var::vartype.

Referenced by SCIPvarChgLbGlobal(), varIncRootboundchgs(), and varProcessChgUbGlobal().

SCIP_RETCODE SCIPvarChgLbGlobal ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_CLIQUETABLE cliquetable,
SCIP_Real  newbound 
)

changes global lower bound of variable; if possible, adjusts bound to integral value; updates local lower bound if the global bound is tighter

Parameters
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
cliquetableclique table data structure
newboundnew bound for variable

Definition at line 6680 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(), varProcessChgUbGlobal(), and varUpdateAggregationBounds().

SCIP_RETCODE SCIPvarChgUbGlobal ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_CLIQUETABLE cliquetable,
SCIP_Real  newbound 
)

changes global upper bound of variable; if possible, adjusts bound to integral value; updates local upper bound if the global bound is tighter

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
cliquetableclique table data structure
newboundnew bound for variable

Definition at line 6823 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(), SCIPvarChgLbLazy(), 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 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 6964 of file var.c.

References SCIP_Var::glbdom, SCIP_Var::lazylb, SCIP_Var::lazyub, NULL, SCIP_Var::probindex, SCIP_Var::scip, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPsetIsFeasGE(), SCIPvarChgUbLazy(), SCIPvarGetStatus(), and SCIP_Dom::ub.

Referenced by SCIPchgVarLbLazy(), and SCIPvarChgUbGlobal().

SCIP_RETCODE SCIPvarChgUbLazy ( SCIP_VAR var,
SCIP_SET set,
SCIP_Real  lazyub 
)

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

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

Definition at line 6987 of file var.c.

References SCIP_Var::glbdom, SCIP_Var::lazylb, SCIP_Var::lazyub, SCIP_Dom::lb, NULL, SCIP_Var::probindex, SCIP_Var::scip, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPsetIsFeasGE(), SCIPvarChgBdGlobal(), and SCIPvarGetStatus().

Referenced by SCIPchgVarUbLazy(), and SCIPvarChgLbLazy().

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

changes global bound of variable; if possible, adjusts bound to integral value; updates local bound if the global bound is tighter

Parameters
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
cliquetableclique table data structure
newboundnew bound for variable
boundtypetype of bound: lower or upper bound

Definition at line 7013 of file var.c.

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

Referenced by boundchgApplyGlobal(), SCIPnodeAddBoundinfer(), and SCIPvarChgUbLazy().

static SCIP_RETCODE varEventLbChanged ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_Real  oldbound,
SCIP_Real  newbound 
)
static

appends LBTIGHTENED or LBRELAXED event to the event queue

Parameters
varproblem variable to change
blkmemblock memory
setglobal SCIP settings
lpcurrent LP data
branchcandbranching candidate storage
eventqueueevent queue
oldboundold lower bound for variable
newboundnew lower bound for variable

Definition at line 7041 of file var.c.

References SCIP_Var::eventfilter, SCIP_EventFilter::eventmask, SCIP_EventFilter::len, SCIP_Var::name, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_EVENTTYPE_LBCHANGED, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPdebugMessage, SCIPeventCreateLbChanged(), SCIPeventqueueAdd(), SCIPsetIsEQ(), SCIPvarGetStatus(), SCIPvarIsTransformed(), and varEventUbChanged().

Referenced by SCIPvarChgBdGlobal(), and varProcessChgLbLocal().

static SCIP_RETCODE varEventUbChanged ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_Real  oldbound,
SCIP_Real  newbound 
)
static

appends UBTIGHTENED or UBRELAXED event to the event queue

Parameters
varproblem variable to change
blkmemblock memory
setglobal SCIP settings
lpcurrent LP data
branchcandbranching candidate storage
eventqueueevent queue
oldboundold upper bound for variable
newboundnew upper bound for variable

Definition at line 7079 of file var.c.

References SCIP_Var::eventfilter, SCIP_EventFilter::eventmask, SCIP_EventFilter::len, SCIP_Var::name, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_EVENTTYPE_UBCHANGED, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPdebugMessage, SCIPeventCreateUbChanged(), SCIPeventqueueAdd(), SCIPsetIsEQ(), SCIPvarGetStatus(), SCIPvarIsTransformed(), varProcessChgLbLocal(), and varProcessChgUbLocal().

Referenced by varEventLbChanged(), and varProcessChgUbLocal().

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

performs the current change in upper bound, changes all parents accordingly

Parameters
varproblem variable to change
blkmemblock memory
setglobal SCIP settings
statproblem statistics, or NULL if the bound change belongs to updating the parent variables
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 7294 of file var.c.

References adjustedUb(), SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Stat::domchgcount, domMerge(), SCIP_Var::eventfilter, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_Var::locdom, MAX, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, SCIP_Var::nparentvars, NULL, SCIP_Var::parentvars, 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_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIPdebugMessage, SCIPerrorMessage, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGE(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLE(), SCIPsetIsGE(), SCIPsetIsInfinity(), SCIPsetIsIntegral(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetIsZero(), SCIPvarChgLbLocal(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsTransformed(), SCIP_Dom::ub, SCIP_Aggregate::var, varEventUbChanged(), and varProcessChgLbLocal().

Referenced by SCIPvarChgUbLocal(), varEventUbChanged(), and varProcessChgLbLocal().

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

performs the current change in lower bound, changes all parents accordingly

Parameters
varproblem variable to change
blkmemblock memory
setglobal SCIP settings
statproblem statistics, or NULL if the bound change belongs to updating the parent variables
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 7132 of file var.c.

References adjustedLb(), SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Stat::domchgcount, domMerge(), SCIP_Var::eventfilter, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_Var::locdom, MIN, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, SCIP_Var::nparentvars, NULL, SCIP_Var::parentvars, 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_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIPdebugMessage, SCIPerrorMessage, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGE(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLE(), SCIPsetIsInfinity(), SCIPsetIsIntegral(), SCIPsetIsLE(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetIsZero(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsTransformed(), SCIP_Dom::ub, SCIP_Aggregate::var, varEventLbChanged(), and varProcessChgUbLocal().

Referenced by SCIPvarChgLbLocal(), varEventUbChanged(), and varProcessChgUbLocal().

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(), SCIPvarResetBounds(), and varProcessChgUbLocal().

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

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

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(), SCIPvarChgBdLocal(), SCIPvarChgLbLocal(), SCIPvarChgUbLocal(), SCIPvarGetStatus(), SCIPvarGetType(), SCIP_Original::transvar, SCIP_Dom::ub, SCIP_Aggregate::var, and varProcessChgUbLocal().

Referenced by SCIPboundchgApply(), SCIPboundchgUndo(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPpricestoreAddBdviolvar(), SCIPpricestoreResetBounds(), 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, SCIPvarChgLbDive(), SCIPvarChgLbLocal(), and SCIPvarChgUbLocal().

Referenced by SCIPvarChgUbLocal().

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

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(), SCIPgetVarMultaggrLbLocal(), SCIPvarChgUbDive(), 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

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(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetMultaggrLbLocal(), SCIPvarGetMultaggrUbLocal(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), TRUE, SCIP_Multaggr::vars, and SCIP_Var::varstatus.

Referenced by SCIPbranchcandAddExternCand(), SCIPcomputeVarUbLocal(), SCIPgetVarMultaggrUbLocal(), 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

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(), SCIPgetVarMultaggrLbGlobal(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetMultaggrUbGlobal(), and SCIPvarGetMultaggrUbLocal().

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

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(), SCIPvarAddHoleOriginal(), SCIPvarGetLbGlobal(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetMultaggrUbGlobal(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), TRUE, SCIP_Multaggr::vars, and SCIP_Var::varstatus.

Referenced by SCIPcomputeVarUbGlobal(), SCIPgetVarMultaggrUbGlobal(), SCIPvarGetMultaggrLbGlobal(), and SCIPvarGetMultaggrUbGlobal().

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

adds a hole to the original domain of the variable

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(), SCIPvarIsTransformed(), and varProcessAddHoleGlobal().

Referenced by SCIPvarGetMultaggrUbGlobal().

static SCIP_RETCODE varProcessAddHoleGlobal ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_EVENTQUEUE eventqueue,
SCIP_Real  left,
SCIP_Real  right,
SCIP_Bool added 
)
static
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 
)
static SCIP_RETCODE varProcessAddHoleLocal ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_EVENTQUEUE eventqueue,
SCIP_Real  left,
SCIP_Real  right,
SCIP_Bool added 
)
static
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(), SCIP_Dom::ub, and varEventImplAdded().

Referenced by SCIPprobResetBounds(), and SCIPvarAddHoleLocal().

static SCIP_RETCODE varEventImplAdded ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_EVENTQUEUE eventqueue 
)
static

issues a IMPLADDED event on the given variable

Parameters
varproblem variable to change
blkmemblock memory
setglobal SCIP settings
eventqueueevent queue

Definition at line 8747 of file var.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPeventCreateImplAdded(), SCIPeventqueueAdd(), and varAddVbound().

Referenced by SCIPvarResetBounds(), varAddImplic(), and varAddVbound().

static SCIP_RETCODE varAddVbound ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_EVENTQUEUE eventqueue,
SCIP_BOUNDTYPE  vbtype,
SCIP_VAR vbvar,
SCIP_Real  vbcoef,
SCIP_Real  vbconstant 
)
static

actually performs the addition of a variable bound to the variable's vbound arrays

Parameters
varproblem variable x in x <= b*z + d or x >= b*z + d
blkmemblock memory
setglobal SCIP settings
eventqueueevent queue
vbtypetype of variable bound (LOWER or UPPER)
vbvarvariable z in x <= b*z + d or x >= b*z + d
vbcoefcoefficient b in x <= b*z + d or x >= b*z + d
vbconstantconstant d in x <= b*z + d or x >= b*z + d

Definition at line 8767 of file var.c.

References checkImplic(), SCIP_Var::closestvblpcount, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPdebugCheckVbound, SCIPdebugMessage, SCIPsetIsGE(), SCIPsetIsLE(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), SCIPvboundsAdd(), varEventImplAdded(), SCIP_Var::vlbs, and SCIP_Var::vubs.

Referenced by SCIPvarAddVlb(), SCIPvarAddVub(), varAddImplic(), and varEventImplAdded().

static void checkImplic ( SCIP_SET set,
SCIP_VAR implvar,
SCIP_BOUNDTYPE  impltype,
SCIP_Real  implbound,
SCIP_Bool redundant,
SCIP_Bool infeasible 
)
static

checks whether the given implication is redundant or infeasible w.r.t. the implied variables global bounds

Parameters
setglobal SCIP settings
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
redundantpointer to store whether the implication is redundant
infeasiblepointer to store whether the implication is infeasible

Definition at line 8865 of file var.c.

References applyImplic(), NULL, SCIP_BOUNDTYPE_LOWER, SCIP_Real, SCIPsetIsFeasGE(), SCIPsetIsFeasGT(), SCIPsetIsFeasLE(), SCIPsetIsFeasLT(), SCIPvarGetLbGlobal(), and SCIPvarGetUbGlobal().

Referenced by varAddImplic(), and varAddVbound().

static SCIP_RETCODE applyImplic ( BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_TREE tree,
SCIP_REOPT reopt,
SCIP_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_CLIQUETABLE cliquetable,
SCIP_VAR implvar,
SCIP_BOUNDTYPE  impltype,
SCIP_Real  implbound,
SCIP_Bool infeasible,
int *  nbdchgs 
)
static

applies the given implication, if it is not redundant

Parameters
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtransformed problem
origproboriginal problem
treebranch and bound tree if in solving stage
reoptreoptimization data structure
lpcurrent LP data
branchcandbranching candidate storage
eventqueueevent queue
cliquetableclique table data structure
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
infeasiblepointer to store whether an infeasibility was detected
nbdchgspointer to count the number of performed bound changes, or NULL

Definition at line 8896 of file var.c.

References FALSE, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_SOLVING, SCIPnodeAddBoundchg(), SCIPprobIsTransformed(), SCIPsetGetStage(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPtreeGetRootNode(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), TRUE, and varAddImplic().

Referenced by checkImplic(), SCIPvarAddImplic(), and varAddImplic().

static SCIP_RETCODE varAddImplic ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_TREE tree,
SCIP_REOPT reopt,
SCIP_LP lp,
SCIP_CLIQUETABLE cliquetable,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_Bool  varfixing,
SCIP_VAR implvar,
SCIP_BOUNDTYPE  impltype,
SCIP_Real  implbound,
SCIP_Bool  isshortcut,
SCIP_Bool infeasible,
int *  nbdchgs,
SCIP_Bool added 
)
static

actually performs the addition of an implication to the variable's implication arrays, and adds the corresponding implication or variable bound to the implied variable; if the implication is conflicting, the variable is fixed to the opposite value; if the variable is already fixed to the given value, the implication is performed immediately; if the implication is redundant with respect to the variables' global bounds, it is ignored

Parameters
varproblem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtransformed problem
origproboriginal problem
treebranch and bound tree if in solving stage
reoptreoptimization data structure
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
isshortcutis the implication a shortcut, i.e., added as part of the transitive closure of another implication?
infeasiblepointer to store whether an infeasibility was detected
nbdchgspointer to count the number of performed bound changes, or NULL
addedpointer to store whether an implication was added

Definition at line 8995 of file var.c.

References applyImplic(), checkImplic(), FALSE, SCIP_Var::implics, MAXABSVBCOEF, NULL, REALABS, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_SOLVING, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARTYPE_BINARY, SCIPcliquetableAdd(), SCIPdebugCheckImplic, SCIPdebugMessage, SCIPimplicsAdd(), SCIPnodeAddBoundchg(), SCIPprobIsTransformed(), SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasZero(), SCIPsetIsGT(), SCIPsetIsLT(), SCIPsetIsZero(), SCIPtreeGetRootNode(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsBinary(), TRUE, varAddTransitiveBinaryClosureImplic(), varAddVbound(), and varEventImplAdded().

Referenced by applyImplic(), varAddTransitiveBinaryClosureImplic(), and varAddTransitiveImplic().

static SCIP_RETCODE varAddTransitiveBinaryClosureImplic ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_TREE tree,
SCIP_REOPT reopt,
SCIP_LP lp,
SCIP_CLIQUETABLE cliquetable,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_Bool  varfixing,
SCIP_VAR implvar,
SCIP_Bool  implvarfixing,
SCIP_Bool infeasible,
int *  nbdchgs 
)
static

adds transitive closure for binary implication x = a -> y = b

Parameters
varproblem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtransformed problem
origproboriginal problem
treebranch and bound tree if in solving stage
reoptreoptimization data structure
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
implvarfixingfixing b in implication
infeasiblepointer to store whether an infeasibility was detected
nbdchgspointer to count the number of performed bound changes, or NULL

Definition at line 9203 of file var.c.

References FALSE, SCIP_Var::implics, MAXIMPLSCLOSURE, MIN, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPimplicsGetBounds(), SCIPimplicsGetNImpls(), SCIPimplicsGetTypes(), SCIPimplicsGetVars(), SCIPvarIsActive(), TRUE, varAddImplic(), and varAddTransitiveImplic().

Referenced by varAddImplic(), and varAddTransitiveImplic().

static SCIP_RETCODE varAddTransitiveImplic ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_TREE tree,
SCIP_REOPT reopt,
SCIP_LP lp,
SCIP_CLIQUETABLE cliquetable,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_Bool  varfixing,
SCIP_VAR implvar,
SCIP_BOUNDTYPE  impltype,
SCIP_Real  implbound,
SCIP_Bool  transitive,
SCIP_Bool infeasible,
int *  nbdchgs 
)
static

adds given implication to the variable's implication list, and adds all implications directly implied by this implication to the variable's implication list; if the implication is conflicting, the variable is fixed to the opposite value; if the variable is already fixed to the given value, the implication is performed immediately; if the implication is redundant with respect to the variables' global bounds, it is ignored

Parameters
varproblem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtransformed problem
origproboriginal problem
treebranch and bound tree if in solving stage
reoptreoptimization data structure
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 count the number of performed bound changes, or NULL

Definition at line 9276 of file var.c.

References adjustedLb(), adjustedUb(), FALSE, MIN, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_NEGATED, SCIP_VARTYPE_BINARY, SCIPsetIsZero(), SCIPvarAddVlb(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsActive(), SCIPvboundsGetCoefs(), SCIPvboundsGetConstants(), SCIPvboundsGetNVbds(), SCIPvboundsGetVars(), TRUE, varAddImplic(), varAddTransitiveBinaryClosureImplic(), SCIP_Var::vlbs, and SCIP_Var::vubs.

Referenced by SCIPvarAddImplic(), SCIPvarAddVlb(), SCIPvarAddVub(), and varAddTransitiveBinaryClosureImplic().

SCIP_RETCODE SCIPvarAddVlb ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_TREE tree,
SCIP_REOPT reopt,
SCIP_LP lp,
SCIP_CLIQUETABLE cliquetable,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_VAR vlbvar,
SCIP_Real  vlbcoef,
SCIP_Real  vlbconstant,
SCIP_Bool  transitive,
SCIP_Bool infeasible,
int *  nbdchgs 
)

informs variable x about a globally valid variable lower bound x >= b*z + d with integer variable z; if z is binary, the corresponding valid implication for z is also added; improves the global bounds of the variable and the vlb variable if possible

Parameters
varproblem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtransformed problem
origproboriginal problem
treebranch and bound tree if in solving stage
reoptreoptimization data structure
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 9484 of file var.c.

References adjustedLb(), adjustedUb(), SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, FALSE, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, REALABS, SCIP_Aggregate::scalar, SCIP_Var::scip, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_SOLVING, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIPdebugMessage, SCIPerrorMessage, SCIPnodeAddBoundchg(), SCIPprobIsTransformed(), SCIPsetCeil(), SCIPsetFloor(), SCIPsetGetStage(), SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsetIsFeasPositive(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetIsZero(), SCIPtreeGetRootNode(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsIntegral(), SCIP_Original::transvar, TRUE, SCIP_Aggregate::var, varAddTransitiveImplic(), and varAddVbound().

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

SCIP_RETCODE SCIPvarAddVub ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_TREE tree,
SCIP_REOPT reopt,
SCIP_LP lp,
SCIP_CLIQUETABLE cliquetable,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_VAR vubvar,
SCIP_Real  vubcoef,
SCIP_Real  vubconstant,
SCIP_Bool  transitive,
SCIP_Bool infeasible,
int *  nbdchgs 
)

informs variable x about a globally valid variable upper bound x <= b*z + d with integer variable z; if z is binary, the corresponding valid implication for z is also added; updates the global bounds of the variable and the vub variable correspondingly

Parameters
varproblem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtransformed problem
origproboriginal problem
treebranch and bound tree if in solving stage
reoptreoptimization data structure
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 9858 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(), SCIPsetIsFeasNegative(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetIsZero(), SCIPtreeGetRootNode(), SCIPvarAddImplic(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsBinary(), SCIP_Original::transvar, TRUE, SCIP_Aggregate::var, varAddTransitiveImplic(), and varAddVbound().

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

SCIP_RETCODE SCIPvarAddImplic ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_TREE tree,
SCIP_REOPT reopt,
SCIP_LP lp,
SCIP_CLIQUETABLE cliquetable,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_Bool  varfixing,
SCIP_VAR implvar,
SCIP_BOUNDTYPE  impltype,
SCIP_Real  implbound,
SCIP_Bool  transitive,
SCIP_Bool infeasible,
int *  nbdchgs 
)

informs binary variable x about a globally valid implication: x == 0 or x == 1 ==> y <= b or y >= b; also adds the corresponding implication or variable bound to the implied variable; if the implication is conflicting, the variable is fixed to the opposite value; if the variable is already fixed to the given value, the implication is performed immediately; if the implication is redundant with respect to the variables' global bounds, it is ignored

Parameters
varproblem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtransformed problem
origproboriginal problem
treebranch and bound tree if in solving stage
reoptreoptimization data structure
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 10214 of file var.c.

References SCIP_Var::aggregate, applyImplic(), SCIP_Aggregate::constant, SCIP_Var::data, FALSE, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIP_VARTYPE_BINARY, SCIPerrorMessage, SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarAddImplic(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarAdjustBd(), SCIPvarGetLbGlobal(), SCIPvarGetProbvarBound(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarHasImplic(), SCIPvarIsActive(), SCIPvarIsBinary(), SCIP_Original::transvar, TRUE, SCIP_Aggregate::var, and varAddTransitiveImplic().

Referenced by SCIPaddVarImplication(), SCIPvarAddImplic(), SCIPvarAddVub(), and SCIPvarAggregate().

SCIP_Bool SCIPvarHasImplic ( SCIP_VAR var,
SCIP_Bool  varfixing,
SCIP_VAR implvar,
SCIP_BOUNDTYPE  impltype 
)

returns whether there is an implication x == varfixing -> y <= b or y >= b in the implication graph; implications that are represented as cliques in the clique table are not regarded (use SCIPvarsHaveCommonClique()); both variables must be active, variable x must be binary

Parameters
varproblem variable x
varfixingFALSE if y should be searched in implications for x == 0, TRUE for x == 1
implvarvariable y to search for
impltypetype of implication y <=/>= b to search for

Definition at line 10413 of file var.c.

References SCIP_Var::implics, NULL, SCIP_Bool, SCIPimplicsContainsImpl(), SCIPvarHasBinaryImplic(), SCIPvarIsActive(), and SCIPvarIsBinary().

Referenced by initData(), SCIPvarAddImplic(), SCIPvarHasBinaryImplic(), and SCIPvarsHaveCommonClique().

SCIP_Bool SCIPvarHasBinaryImplic ( SCIP_VAR var,
SCIP_Bool  varfixing,
SCIP_VAR implvar,
SCIP_Bool  implvarfixing 
)

returns whether there is an implication x == varfixing -> y == implvarfixing in the implication graph; implications that are represented as cliques in the clique table are not regarded (use SCIPvarsHaveCommonClique()); both variables must be active binary variables

Parameters
varproblem variable x
varfixingFALSE if y should be searched in implications for x == 0, TRUE for x == 1
implvarvariable y to search for
implvarfixingvalue of the implied variable to search for

Definition at line 10433 of file var.c.

References SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIPvarFixBinary(), SCIPvarHasImplic(), and SCIPvarIsBinary().

Referenced by SCIPvarHasImplic().

SCIP_RETCODE SCIPvarFixBinary ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_TREE tree,
SCIP_REOPT reopt,
SCIP_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_CLIQUETABLE cliquetable,
SCIP_Bool  value,
SCIP_Bool infeasible,
int *  nbdchgs 
)

fixes the bounds of a binary variable to the given value, counting bound changes and detecting infeasibility

Parameters
varproblem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtransformed problem
origproboriginal problem
treebranch and bound tree if in solving stage
reoptreoptimization data structure
lpcurrent LP data
branchcandbranching candidate storage
eventqueueevent queue
cliquetableclique table data structure
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 10446 of file var.c.

References SCIP_Var::cliquelist, FALSE, SCIP_Var::glbdom, SCIP_Dom::lb, NULL, SCIP_Var::scip, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPnodeAddBoundchg(), SCIPprobIsTransformed(), SCIPsetGetStage(), SCIPtreeGetRootNode(), SCIPvarAddClique(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), TRUE, and SCIP_Dom::ub.

Referenced by cliqueCleanup(), SCIPcliquetableAdd(), SCIPvarAddClique(), SCIPvarHasBinaryImplic(), and sortAndMergeClique().

SCIP_RETCODE SCIPvarAddClique ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PROB transprob,
SCIP_PROB origprob,
SCIP_TREE tree,
SCIP_REOPT reopt,
SCIP_LP lp,
SCIP_BRANCHCAND branchcand,
SCIP_EVENTQUEUE eventqueue,
SCIP_CLIQUETABLE cliquetable,
SCIP_Bool  value,
SCIP_CLIQUE clique,
SCIP_Bool infeasible,
int *  nbdchgs 
)

adds the variable to the given clique and updates the list of cliques the binary variable is member of; if the variable now appears twice in the clique with the same value, it is fixed to the opposite value; if the variable now appears twice in the clique with opposite values, all other variables are fixed to the opposite of the value they take in the clique

Parameters
varproblem variable
blkmemblock memory
setglobal SCIP settings
statproblem statistics
transprobtransformed problem
origproboriginal problem
treebranch and bound tree if in solving stage
reoptreoptimization data structure
lpcurrent LP data
branchcandbranching candidate storage
eventqueueevent queue
cliquetableclique table data structure
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 10537 of file var.c.

References SCIP_Var::cliquelist, FALSE, NULL, SCIP_Var::scip, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIPcliqueAddVar(), SCIPcliqueGetNVars(), SCIPcliqueGetValues(), SCIPcliqueGetVars(), SCIPcliquelistAdd(), SCIPcliquelistCheck(), SCIPvarFixBinary(), SCIPvarGetProbvarBinary(), SCIPvarGetStatus(), SCIPvarIsBinary(), and SCIPvarsAddClique().

Referenced by SCIPvarFixBinary().

SCIP_RETCODE SCIPvarsAddClique ( SCIP_VAR **  vars,
SCIP_Bool values,
int  nvars,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_CLIQUE clique 
)

adds a filled clique to the cliquelists of all corresponding variables

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(), SCIPvarAddCliqueToList(), SCIPvarGetStatus(), and SCIPvarIsBinary().

Referenced by SCIPcliquetableAdd(), and SCIPvarAddClique().

SCIP_RETCODE SCIPvarAddCliqueToList ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_Bool  value,
SCIP_CLIQUE clique 
)

adds a clique to the list of cliques of the given binary variable, but does not change the clique itself

Parameters
varproblem variable
blkmemblock memory
setglobal SCIP settings
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, SCIPcliquelistAdd(), SCIPvarDelCliqueFromList(), SCIPvarGetStatus(), and SCIPvarIsBinary().

Referenced by cliqueCleanup(), and SCIPvarsAddClique().

SCIP_RETCODE SCIPvarDelCliqueFromList ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_Bool  value,
SCIP_CLIQUE clique 
)

deletes a clique from the list of cliques the binary variable is member of, but does not change the clique itself

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 10682 of file var.c.

References SCIP_Var::cliquelist, NULL, SCIP_CALL, SCIP_OKAY, SCIPcliquelistDel(), SCIPvarDelClique(), and SCIPvarIsBinary().

Referenced by cliqueCleanup(), SCIPcliquetableCleanup(), SCIPvarAddCliqueToList(), and sortAndMergeClique().

SCIP_RETCODE SCIPvarDelClique ( SCIP_VAR var,
BMS_BLKMEM blkmem,
SCIP_CLIQUETABLE cliquetable,
SCIP_Bool  value,
SCIP_CLIQUE clique 
)

deletes the variable from the given clique and updates the list of cliques the binary variable is member of

Parameters
varproblem variable
blkmemblock memory
cliquetableclique table data structure
valuevalue of the variable in the clique
cliqueclique the variable should be removed from

Definition at line 10699 of file var.c.

References SCIP_Var::cliquelist, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIPcliqueDelVar(), SCIPcliquelistCheck(), SCIPcliquelistDel(), SCIPvarGetProbvarBinary(), SCIPvarGetStatus(), SCIPvarIsBinary(), and SCIPvarsHaveCommonClique().

Referenced by SCIPvarDelCliqueFromList().

SCIP_Bool SCIPvarsHaveCommonClique ( SCIP_VAR var1,
SCIP_Bool  value1,
SCIP_VAR var2,
SCIP_Bool  value2,
SCIP_Bool  regardimplics 
)

returns whether there is a clique that contains both given variable/value pairs; the variables must be active binary variables; if regardimplics is FALSE, only the cliques in the clique table are looked at; if regardimplics is TRUE, both the cliques and the implications of the implication graph are regarded

Note
a variable with it's negated variable are NOT! in a clique
a variable with itself are in a clique
Parameters
var1first variable
value1value of first variable
var2second variable
value2value of second variable
regardimplicsshould the implication graph also be searched for a clique?

Definition at line 10742 of file var.c.

References SCIP_Var::cliquelist, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIPcliquelistsHaveCommonClique(), SCIPvarHasImplic(), SCIPvarIsActive(), SCIPvarIsBinary(), and varProcessChgBranchFactor().

Referenced by addCliques(), cliquePresolve(), findFixings(), getMinactImplicObjchg(), GUBsetCalcCliquePartition(), liftCliqueVariables(), removeConstraintsDueToNegCliques(), SCIPcalcCliquePartition(), SCIPhaveVarsCommonClique(), and SCIPvarDelClique().

static SCIP_RETCODE varProcessChgBranchFactor ( SCIP_VAR var,
SCIP_SET set,
SCIP_Real  branchfactor 
)
static
SCIP_RETCODE SCIPvarChgBranchFactor ( SCIP_VAR var,
SCIP_SET set,
SCIP_Real  branchfactor 
)
static SCIP_RETCODE varProcessChgBranchPriority ( SCIP_VAR var,
int  branchpriority 
)
static
static SCIP_RETCODE varProcessChgBranchDirection ( SCIP_VAR var,
SCIP_BRANCHDIR  branchdirection 
)
static
int SCIPvarCompareActiveAndNegated ( SCIP_VAR var1,
SCIP_VAR var2 
)

compares the index of two variables, only active, fixed or negated variables are allowed, if a variable is negated then the index of the corresponding active variable is taken, returns -1 if first is smaller than, and +1 if first is greater than second variable index; returns 0 if both indices are equal, which means both variables are equal

Parameters
var1first problem variable
var2second problem variable

Definition at line 11168 of file var.c.

References NULL, SCIP_DECL_SORTPTRCOMP(), SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_NEGATED, SCIPvarGetIndex(), SCIPvarGetNegatedVar(), SCIPvarGetStatus(), and SCIPvarIsActive().

Referenced by consdataSort(), liftCliqueVariables(), preprocessConstraintPairs(), SCIP_DECL_HASHKEYEQ(), SCIP_DECL_SORTPTRCOMP(), and SCIPvarChgBranchDirection().

SCIP_DECL_SORTPTRCOMP ( SCIPvarCompActiveAndNegated  )

comparison method for sorting active and negated variables by non-decreasing index, active and negated variables are handled as the same variables

Definition at line 11198 of file var.c.

References SCIPvarCompare(), and SCIPvarCompareActiveAndNegated().

Referenced by SCIP_DECL_SORTPTRCOMP(), SCIPvarCompare(), and SCIPvarCompareActiveAndNegated().

SCIP_DECL_SORTPTRCOMP ( SCIPvarComp  )

comparison method for sorting variables by non-decreasing index

Definition at line 11226 of file var.c.

References SCIP_DECL_SORTPTRCOMP(), and SCIPvarCompare().

SCIP_DECL_SORTPTRCOMP ( SCIPvarCompObj  )

comparison method for sorting variables by non-decreasing objective coefficient

Definition at line 11232 of file var.c.

References SCIP_DECL_HASHGETKEY(), SCIP_Real, and SCIPvarGetObj().

SCIP_DECL_HASHGETKEY ( SCIPvarGetHashkey  )

hash key retrieval function for variables

Definition at line 11249 of file var.c.

References SCIP_DECL_HASHKEYEQ().

Referenced by SCIP_DECL_SORTPTRCOMP(), and SCIPvarWasFixedEarlier().

SCIP_DECL_HASHKEYEQ ( SCIPvarIsHashkeyEq  )

returns TRUE iff the indices of both variables are equal

Definition at line 11255 of file var.c.

References FALSE, SCIP_DECL_HASHKEYVAL(), and TRUE.

Referenced by SCIP_DECL_HASHGETKEY().

SCIP_DECL_HASHKEYVAL ( SCIPvarGetHashkeyVal  )

returns the hash value of the key

Definition at line 11263 of file var.c.

References SCIPvarGetIndex(), and SCIPvarsGetActiveVars().

Referenced by SCIP_DECL_HASHKEYEQ().

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 11270 of file var.c.

References SCIP_Var::aggregate, BMScopyMemoryArray, SCIP_Var::data, SCIP_Var::multaggr, SCIP_Var::negatedvar, NULL, SCIP_Multaggr::nvars, SCIP_Var::original, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPsetAllocBufferArray, SCIPsetDuplicateBufferArray, SCIPsetFreeBufferArray, SCIPsetReallocBufferArray, SCIPsortPtr(), SCIPvarCompare(), SCIPvarGetStatus(), SCIPvarsGetProbvar(), SCIP_Original::transvar, SCIP_Aggregate::var, and SCIP_Multaggr::vars.

Referenced by SCIP_DECL_HASHKEYVAL(), and SCIPgetActiveVars().

void SCIPvarsGetProbvar ( SCIP_VAR **  vars,
int  nvars 
)

gets corresponding active, fixed, or multi-aggregated problem variables of given variables,

Note
the content of the given array will/might change
Parameters
varsarray of problem variables
nvarsnumber of variables

Definition at line 11461 of file var.c.

References NULL, and SCIPvarGetProbvar().

Referenced by correctConshdlrdata(), SCIP_DECL_CONSINITPRE(), SCIPvarsGetActiveVars(), and updateConsanddataUses().

SCIP_RETCODE SCIPvarsGetProbvarBinary ( SCIP_VAR ***  vars,
SCIP_Bool **  negatedarr,
int  nvars 
)

gets corresponding active, fixed, or multi-aggregated problem variables of binary variables and updates the given negation status of each variable

Parameters
varspointer to binary problem variables
negatedarrpointer to corresponding array to update the negation status
nvarsnumber of variables and values in vars and negated array

Definition at line 11541 of file var.c.

References NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, and SCIPvarGetProbvarBinary().

Referenced by GUBsetCalcCliquePartition(), SCIPcalcCliquePartition(), SCIPcliquetableAdd(), SCIPgetBinvarRepresentatives(), and SCIPvarGetProbvar().

SCIP_RETCODE SCIPvarGetProbvarBinary ( SCIP_VAR **  var,
SCIP_Bool negated 
)

gets corresponding active, fixed, or multi-aggregated problem variable of a binary variable and updates the given negation status (this means you have to assign a value to SCIP_Bool negated before calling this method, usually FALSE is used)

Parameters
varpointer to binary problem variable
negatedpointer to update the negation status

Definition at line 11573 of file var.c.

References SCIP_Var::aggregate, SCIP_Var::data, EPSEQ, EPSLE, EPSZ, FALSE, SCIP_Var::multaggr, SCIP_Var::negatedvar, NULL, SCIP_Var::original, REALABS, SCIP_Bool, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPvarGetNLocksUp(), SCIPvarGetProbvarBound(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), SCIPvarIsBinary(), SCIP_Original::transvar, TRUE, SCIP_Aggregate::var, and SCIP_Multaggr::vars.

Referenced by cliqueCleanup(), cliquePresolve(), dualPresolving(), presolRoundIndicator(), SCIPgetBinvarRepresentative(), SCIPvarAddClique(), SCIPvarDelClique(), and SCIPvarsGetProbvarBinary().

SCIP_RETCODE SCIPvarGetProbvarHole ( SCIP_VAR **  var,
SCIP_Real left,
SCIP_Real right 
)

transforms given variable and domain hole to the corresponding active, fixed, or multi-aggregated variable values

Parameters
varpointer to problem variable
leftpointer to left bound of open interval in hole to transform
rightpointer to right bound of open interval in hole to transform

Definition at line 11821 of file var.c.

References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPdebugMessage, SCIPerrorMessage, SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.

Referenced by SCIPnodeAddHoleinfer(), SCIPtreeBranchVarHole(), and SCIPvarGetProbvarBound().

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 11906 of file var.c.

References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::multaggr, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPvarGetOrigvarSum(), SCIPvarGetStatus(), SCIP_Original::transvar, SCIP_Aggregate::var, and SCIP_Multaggr::vars.

Referenced by conflictResolveBound(), convertToActiveVar(), nlrowAddToLinearCoef(), nlrowRemoveFixedLinearCoefPos(), nlrowRemoveFixedQuadVars(), SCIPaggregateVars(), SCIPexprtreeRemoveFixedVars(), SCIPgetProbvarSum(), SCIPnlrowAddLinearCoef(), SCIPprimalTransformSol(), SCIPtreeBranchVar(), SCIPtreeBranchVarNary(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarAggregate(), SCIPvarGetActiveRepresentatives(), and SCIPvarGetProbvarHole().

SCIP_Bool SCIPvarIsTransformedOrigvar ( SCIP_VAR var)

returns whether the given variable is the direct counterpart of an original problem variable

Parameters
varproblem variable

Definition at line 12120 of file var.c.

References FALSE, SCIP_Var::nparentvars, NULL, SCIP_Var::parentvars, SCIP_Real, SCIP_VARSTATUS_ORIGINAL, SCIPvarGetObjLP(), SCIPvarGetStatus(), and SCIPvarIsTransformed().

Referenced by createAndAddAndCons(), fixBounds(), fixInterdiction(), SCIPprobDelVar(), SCIPsolPrint(), SCIPsolPrintRay(), and SCIPvarGetOrigvarSum().

SCIP_Real SCIPvarGetObjLP ( SCIP_VAR var)

gets objective value of variable in current SCIP_LP; the value can be different from the objective value stored in the variable's own data due to diving, that operate only on the LP without updating the variables

Parameters
varproblem variable

Definition at line 12145 of file var.c.

References SCIP_Var::aggregate, SCIP_Var::col, SCIP_Var::data, SCIP_Var::negatedvar, NULL, SCIP_Var::obj, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPcolGetObj(), SCIPerrorMessage, SCIPvarGetLbLP(), SCIPvarGetObjLP(), SCIPvarGetStatus(), SCIP_Original::transvar, and SCIP_Aggregate::var.

Referenced by SCIPgetVarObjDive(), SCIPgetVarObjProbing(), SCIPvarGetObjLP(), and SCIPvarIsTransformedOrigvar().

SCIP_Real SCIPvarGetSol ( SCIP_VAR var,
SCIP_Bool  getlpval 
)
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 12526 of file var.c.

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

Referenced by SCIPprobStoreRootSol(), and SCIPvarGetSol().

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

updates the current solution as best root solution 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 12537 of file var.c.

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

Referenced by analyzeStrongbranch(), SCIPprobUpdateBestRootSol(), and SCIPvarStoreRootSol().

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 12670 of file var.c.

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

Referenced by SCIPvarGetImplRedcost(), and SCIPvarGetRootSol().

SCIP_Real SCIPvarGetImplRedcost ( SCIP_VAR var,
SCIP_SET set,
SCIP_Bool  varfixing,
SCIP_STAT stat,
SCIP_PROB prob,
SCIP_LP lp 
)

returns for the given binary variable the reduced cost which are given by the variable itself and its implication if the binary variable is fixed to the given value

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

Definition at line 12723 of file var.c.

References SCIP_Var::implics, MAX_CLIQUELENGTH, NULL, SCIP_BASESTAT_LOWER, SCIP_BASESTAT_UPPER, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL_ABORT, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPcliqueGetNVars(), SCIPcliqueGetValues(), SCIPcliqueGetVars(), SCIPcliqueIsCleanedUp(), SCIPcolGetBasisStatus(), SCIPcolGetPrimsol(), SCIPcolGetRedcost(), SCIPdebugMessage, SCIPimplicsGetBounds(), SCIPimplicsGetNImpls(), SCIPimplicsGetTypes(), SCIPimplicsGetVars(), SCIPlpIsSolBasic(), SCIPprobGetNContVars(), SCIPprobGetNVars(), SCIPprobGetVars(), SCIPprobIsTransformed(), SCIPsetAllocBufferArray, SCIPsetAllocCleanBufferArray, SCIPsetFreeBufferArray, SCIPsetFreeCleanBufferArray, SCIPsetIsDualfeasNegative(), SCIPsetIsDualfeasPositive(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPvarGetBestRootSol(), SCIPvarGetCliques(), SCIPvarGetCol(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetNCliques(), SCIPvarGetProbindex(), SCIPvarGetRedcost(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIPvarIsActive(), and SCIPvarIsBinary().

Referenced by SCIPgetVarImplRedcost(), and SCIPprobUpdateBestRootSol().

SCIP_Real SCIPvarGetBestRootRedcost ( SCIP_VAR var)

returns the best reduced costs (w.r.t. root reduced cost propagation) of the variable in the root node's relaxation, if the root relaxation is not yet completely solved, or the variable was no column of the root LP, SCIP_INVALID is returned

Parameters
varproblem variable

Definition at line 13036 of file var.c.

References SCIP_Var::bestrootredcost, SCIP_Var::data, NULL, SCIP_Var::original, SCIP_INVALID, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPvarGetBestRootLPObjval(), SCIPvarGetStatus(), and SCIP_Original::transvar.

Referenced by countNonZeroRootRedcostVars(), propagateBinaryBestRootRedcost(), propagateRootRedcostBinvar(), propagateRootRedcostVar(), propdataInit(), and SCIPvarGetBestRootSol().

SCIP_Real SCIPvarGetBestRootLPObjval ( SCIP_VAR var)

returns the best objective value (w.r.t. root reduced cost propagation) of the root LP which belongs the root reduced cost which is accessible via SCIPvarGetRootRedcost() or the variable was no column of the root LP, SCIP_INVALID is returned

Parameters
varproblem variable

Definition at line 13070 of file var.c.

References SCIP_Var::bestrootlpobjval, SCIP_Var::data, NULL, SCIP_Var::original, SCIP_INVALID, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPvarGetStatus(), SCIPvarSetBestRootSol(), and SCIP_Original::transvar.

Referenced by propagateBinaryBestRootRedcost(), propagateRootRedcostBinvar(), propagateRootRedcostVar(), and SCIPvarGetBestRootRedcost().

void SCIPvarSetBestRootSol ( SCIP_VAR var,
SCIP_Real  rootsol,
SCIP_Real  rootredcost,
SCIP_Real  rootlpobjval 
)

set the given solution as the best root solution w.r.t. root reduced cost propagation in the variables

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

Definition at line 13101 of file var.c.

References SCIP_Var::bestrootlpobjval, SCIP_Var::bestrootredcost, SCIP_Var::bestrootsol, NULL, and SCIPvarSetRelaxSol().

Referenced by SCIPprobExitSolve(), and SCIPvarGetBestRootLPObjval().

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 13249 of file var.c.

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

Referenced by SCIPvarGetRelaxSol(), solGetArrayVal(), and solUnlinkVar().

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 13376 of file var.c.

References SCIP_Var::closestvblpcount, SCIP_Var::closestvlbidx, SCIP_Var::closestvubidx, SCIP_Stat::lpcount, NULL, SCIP_Var::scip, SCIP_Real, SCIP_REAL_MIN, SCIPsolGetVal(), SCIPvarGetClosestVub(), SCIPvarGetLPSol(), SCIPvarGetNVlbs(), SCIPvarGetVlbCoefs(), SCIPvarGetVlbConstants(), SCIPvarGetVlbVars(), and SCIPvarIsActive().

Referenced by findBestLb(), SCIPgetVarClosestVlb(), SCIPvarGetAvgSol(), 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 13451 of file var.c.

References SCIP_Var::closestvblpcount, SCIP_Var::closestvlbidx, SCIP_Var::closestvubidx, SCIP_Stat::lpcount, NULL, SCIP_Var::scip, SCIP_Real, SCIP_REAL_MAX, SCIPsolGetVal(), SCIPvarAddToRow(), SCIPvarGetLPSol(), SCIPvarGetNVubs(), SCIPvarGetVubCoefs(), SCIPvarGetVubConstants(), SCIPvarGetVubVars(), and SCIPvarIsActive().

Referenced by findBestUb(), SCIPgetVarClosestVub(), SCIPvarGetClosestVlb(), and transformStrongCGRow().

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 13630 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, SCIP_Stat::nnodes, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPgetDepth(), SCIPgetProbName(), SCIPhistoryUpdatePseudocost(), SCIPsetIsZero(), SCIPvarGetName(), SCIPvarGetPseudocost(), SCIPvarGetStatus(), SCIPvarUpdatePseudocost(), SCIP_Original::transvar, and SCIP_Aggregate::var.

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

SCIP_Real SCIPvarCalcPscostConfidenceBound ( SCIP_VAR var,
SCIP_SET set,
SCIP_BRANCHDIR  dir,
SCIP_Bool  onlycurrentrun,
SCIP_CONFIDENCELEVEL  clevel 
)

calculates a confidence bound for this variable under the assumption of normally distributed pseudo costs

The confidence bound $ \theta \geq 0$ denotes the interval borders $ [X - \theta, \ X + \theta]$, which contains the true pseudo costs of the variable, i.e., the expected value of the normal distribution, with a probability of 2 * clevel - 1.

Returns
value of confidence bound for this variable
Parameters
varvariable in question
setglobal SCIP settings
dirthe branching direction for the confidence bound
onlycurrentrunshould only the current run be taken into account
clevelconfidence level for the interval

Definition at line 13946 of file var.c.

References SCIP_Bool, SCIP_Real, SCIPsetFloor(), SCIPsetIsFeasPositive(), SCIPstudentTGetCriticalValue(), SCIPvarGetPseudocostCount(), SCIPvarGetPseudocostCountCurrentRun(), SCIPvarGetPseudocostVariance(), SCIPvarIsPscostRelerrorReliable(), and sqrt().

Referenced by SCIPcalculatePscostConfidenceBound(), SCIPvarGetPseudocostVariance(), and SCIPvarIsPscostRelerrorReliable().

SCIP_Bool SCIPvarIsPscostRelerrorReliable ( SCIP_VAR var,
SCIP_SET set,
SCIP_STAT stat,
SCIP_Real  threshold,
SCIP_CONFIDENCELEVEL  clevel 
)

check if the current pseudo cost relative error in a direction violates the given threshold. The Relative Error is calculated at a specific confidence level

Parameters
varvariable in question
setglobal SCIP settings
statproblem statistics
thresholdthreshold for relative errors to be considered reliable (enough)
clevela given confidence level

Definition at line 13984 of file var.c.

References FALSE, MAX, MIN, SCIP_Bool, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIPvarCalcPscostConfidenceBound(), SCIPvarGetPseudocostCountCurrentRun(), SCIPvarGetPseudocostCurrentRun(), SCIPvarSignificantPscostDifference(), and TRUE.

Referenced by SCIPisVarPscostRelerrorReliable(), and SCIPvarCalcPscostConfidenceBound().

SCIP_Bool SCIPvarSignificantPscostDifference ( SCIP_SET set,
SCIP_STAT stat,
SCIP_VAR varx,
SCIP_Real  fracx,
SCIP_VAR vary,
SCIP_Real  fracy,
SCIP_BRANCHDIR  dir,
SCIP_CONFIDENCELEVEL  clevel,
SCIP_Bool  onesided 
)

check if variable pseudo-costs have a significant difference in location. The significance depends on the choice of clevel and on the kind of tested hypothesis. The one-sided hypothesis, which should be rejected, is that fracy * mu_y >= fracx * mu_x, where mu_y and mu_x denote the unknown location means of the underlying pseudo-cost distributions of x and y.

This method is applied best if variable x has a better pseudo-cost score than y. The method hypothesizes that y were actually better than x (despite the current information), meaning that y can be expected to yield branching decisions as least as good as x in the long run. If the method returns TRUE, the current history information is sufficient to safely rely on the alternative hypothesis that x yields indeed a better branching score (on average) than y.

Note
The order of x and y matters for the one-sided hypothesis
set onesided to FALSE if you are not sure which variable is better. The hypothesis tested then reads fracy * mu_y == fracx * mu_x vs the alternative hypothesis fracy * mu_y != fracx * mu_x.
Returns
TRUE if the hypothesis can be safely rejected at the given confidence level
Parameters
setglobal SCIP settings
statproblem statistics
varxvariable x
fracxthe fractionality of variable x
varyvariable y
fracythe fractionality of variable y
dirbranching direction
clevelconfidence level for rejecting hypothesis
onesidedshould a one-sided hypothesis y >= x be tested?

Definition at line 14064 of file var.c.

References FALSE, REALABS, SCIP_Bool, SCIP_BRANCHDIR_DOWNWARDS, SCIP_Real, SCIPcomputeTwoSampleTTestValue(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPstudentTGetCriticalValue(), SCIPvarGetPseudocost(), SCIPvarGetPseudocostCount(), SCIPvarGetPseudocostVariance(), and SCIPvarPscostThresholdProbabilityTest().

Referenced by SCIPsignificantVarPscostDifference(), and SCIPvarIsPscostRelerrorReliable().

SCIP_Bool SCIPvarPscostThresholdProbabilityTest ( SCIP_SET set,
SCIP_STAT stat,
SCIP_VAR var,
SCIP_Real  frac,
SCIP_Real  threshold,
SCIP_BRANCHDIR  dir,
SCIP_CONFIDENCELEVEL  clevel 
)

tests at a given confidence level whether the variable pseudo-costs only have a small probability to exceed a threshold. This is useful to determine if past observations provide enough evidence to skip an expensive strong-branching step if there is already a candidate that has been proven to yield an improvement of at least threshold.

Note
use clevel to adjust the level of confidence. For SCIP_CONFIDENCELEVEL_MIN, the method returns TRUE if the estimated probability to exceed threshold is less than 25 %.
See also
SCIP_Confidencelevel for a list of available levels. The used probability limits refer to the one-sided levels of confidence.
Returns
TRUE if the variable pseudo-cost probabilistic model is likely to be smaller than threshold at the given confidence level clevel.
Parameters
setglobal SCIP settings
statproblem statistics
varvariable x
fracthe fractionality of variable x
thresholdthe threshold to test against
dirbranching direction
clevelconfidence level for rejecting hypothesis

Definition at line 14131 of file var.c.

References FALSE, findValuehistoryEntry(), SCIP_BRANCHDIR_DOWNWARDS, SCIP_CONFIDENCELEVEL_HIGH, SCIP_CONFIDENCELEVEL_LOW, SCIP_CONFIDENCELEVEL_MAX, SCIP_CONFIDENCELEVEL_MEDIUM, SCIP_CONFIDENCELEVEL_MIN, SCIP_Real, SCIPABORT, SCIPerrorMessage, SCIPnormalCDF(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGE(), SCIPsetIsFeasLT(), SCIPvarGetPseudocost(), SCIPvarGetPseudocostCount(), and SCIPvarGetPseudocostVariance().

Referenced by SCIPpscostThresholdProbabilityTest(), and SCIPvarSignificantPscostDifference().

static SCIP_RETCODE findValuehistoryEntry ( SCIP_VAR var,
SCIP_Real  value,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_HISTORY **  history 
)
static

find the corresponding history entry if already existing, otherwise create new entry

Parameters
varproblem variable
valuedomain value, or SCIP_UNKNOWN
blkmemblock memory, or NULL if the domain value is SCIP_UNKNOWN
setglobal SCIP settings, or NULL if the domain value is SCIP_UNKNOWN
historypointer to store the value based history, or NULL

Definition at line 14200 of file var.c.

References NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPvaluehistoryCreate(), SCIPvaluehistoryFind(), useValuehistory(), and SCIP_Var::valuehistory.

Referenced by SCIPvarIncCutoffSum(), SCIPvarIncInferenceSum(), SCIPvarIncNActiveConflicts(), SCIPvarIncNBranchings(), SCIPvarIncVSIDS(), and SCIPvarPscostThresholdProbabilityTest().

static SCIP_Bool useValuehistory ( SCIP_VAR var,
SCIP_Real  value,
SCIP_SET set 
)
static

check if value based history should be used

Parameters
varproblem variable
valuedomain value, or SCIP_UNKNOWN
setglobal SCIP settings, or NULL if the domain value is SCIP_UNKNOWN

Definition at line 14227 of file var.c.

References FALSE, NULL, SCIP_UNKNOWN, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIPvarGetType(), SCIPvarIncVSIDS(), and TRUE.

Referenced by findValuehistoryEntry(), SCIPvarIncCutoffSum(), SCIPvarIncInferenceSum(), SCIPvarIncNActiveConflicts(), SCIPvarIncNBranchings(), 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 
)
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 SCIPvarGetAvgBranchdepthCurrentRun ( SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)
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 15562 of file var.c.

References BMSallocBlockMemory, FALSE, NULL, SCIP_ALLOC, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_OKAY, and SCIPbdchginfoFree().

Referenced by conflictCreateTmpBdchginfo(), and SCIPvarGetAvgCutoffsCurrentRun().

void SCIPbdchginfoFree ( SCIP_BDCHGINFO **  bdchginfo,
BMS_BLKMEM blkmem 
)

frees a bound change information object

Parameters
bdchginfopointer to store bound change information
blkmemblock memory

Definition at line 15592 of file var.c.

References BMSfreeBlockMemory, NULL, and SCIPvarGetLbchgInfo().

Referenced by conflictFreeTmpBdchginfos(), and SCIPbdchginfoCreate().

SCIP_BDCHGINFO* SCIPvarGetLbchgInfo ( SCIP_VAR var,
SCIP_BDCHGIDX bdchgidx,
SCIP_Bool  after 
)

returns the bound change information for the last lower bound change on given active problem variable before or after the bound change with the given index was applied; returns NULL, if no change to the lower bound was applied up to this point of time

Parameters
varactive problem variable
bdchgidxbound change index representing time on path to current node
aftershould the bound change with given index be included?

Definition at line 15606 of file var.c.

References SCIP_BdChgInfo::bdchgidx, SCIP_BdChgInfo::boundtype, SCIP_Var::lbchginfos, SCIP_BdChgInfo::newbound, SCIP_Var::nlbchginfos, NULL, SCIP_BdChgInfo::oldbound, SCIP_BdChgInfo::pos, SCIP_BdChgInfo::redundant, SCIP_BOUNDTYPE_LOWER, SCIPbdchgidxIsEarlier(), SCIPvarGetUbchgInfo(), SCIPvarIsActive(), and SCIP_BdChgInfo::var.

Referenced by SCIPbdchginfoFree(), SCIPvarGetBdchgInfo(), and SCIPvarGetLbAtIndex().

SCIP_BDCHGINFO* SCIPvarGetUbchgInfo ( SCIP_VAR var,
SCIP_BDCHGIDX bdchgidx,
SCIP_Bool  after 
)

returns the bound change information for the last upper bound change on given active problem variable before or after the bound change with the given index was applied; returns NULL, if no change to the upper bound was applied up to this point of time

Parameters
varactive problem variable
bdchgidxbound change index representing time on path to current node
aftershould the bound change with given index be included?

Definition at line 15662 of file var.c.

References SCIP_BdChgInfo::bdchgidx, SCIP_BdChgInfo::boundtype, SCIP_BdChgInfo::newbound, SCIP_Var::nubchginfos, NULL, SCIP_BdChgInfo::oldbound, SCIP_BdChgInfo::pos, SCIP_BdChgInfo::redundant, SCIP_BOUNDTYPE_UPPER, SCIPbdchgidxIsEarlier(), SCIPvarGetBdchgInfo(), SCIPvarIsActive(), SCIP_Var::ubchginfos, and SCIP_BdChgInfo::var.

Referenced by SCIPvarGetBdchgInfo(), SCIPvarGetLbchgInfo(), and SCIPvarGetUbAtIndex().

SCIP_BDCHGINFO* SCIPvarGetBdchgInfo ( SCIP_VAR var,
SCIP_BOUNDTYPE  boundtype,
SCIP_BDCHGIDX bdchgidx,
SCIP_Bool  after 
)

returns the bound change information for the last lower or upper bound change on given active problem variable before or after the bound change with the given index was applied; returns NULL, if no change to the lower/upper bound was applied up to this point of time

Parameters
varactive problem variable
boundtypetype of bound: lower or upper bound
bdchgidxbound change index representing time on path to current node
aftershould the bound change with given index be included?

Definition at line 15718 of file var.c.

References SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_Real, SCIPvarGetLbAtIndex(), SCIPvarGetLbchgInfo(), and SCIPvarGetUbchgInfo().

Referenced by SCIPconflictAddBound(), SCIPconflictAddRelaxedBound(), and SCIPvarGetUbchgInfo().

SCIP_Real SCIPvarGetLbAtIndex ( SCIP_VAR var,
SCIP_BDCHGIDX bdchgidx,
SCIP_Bool  after 
)

returns lower bound of variable directly before or after the bound change given by the bound change index was applied

Parameters
varproblem variable
bdchgidxbound change index representing time on path to current node
aftershould the bound change with given index be included?

Definition at line 15737 of file var.c.

References SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Multaggr::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_Var::multaggr, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Multaggr::nvars, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Multaggr::scalars, SCIP_DEFAULT_INFINITY, SCIP_INVALID, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbdchginfoGetNewbound(), SCIPerrorMessage, SCIPvarGetLbchgInfo(), SCIPvarGetLbLocal(), SCIPvarGetStatus(), SCIPvarGetUbAtIndex(), SCIP_Original::transvar, SCIP_Aggregate::var, and SCIP_Multaggr::vars.

Referenced by addConflictBinvar(), addConflictBounds(), adjustCutoffbound(), analyzeConflictUpperbound(), analyzeEnergyRequirement(), getConflictImplics(), getGenVBoundsMinActivityConflict(), getMinactImplicObjchg(), resolveGenVBoundPropagation(), resolvePropagation(), resolvePropagationCoretimes(), respropCumulativeCondition(), SCIP_DECL_CONSRESPROP(), SCIPconflictIsVarUsed(), SCIPconsResolvePropagation(), SCIPpropResolvePropagation(), SCIPvarGetBdAtIndex(), SCIPvarGetBdchgInfo(), SCIPvarGetUbAtIndex(), and SCIPvarWasFixedAtIndex().

SCIP_Real SCIPvarGetUbAtIndex ( SCIP_VAR var,
SCIP_BDCHGIDX bdchgidx,
SCIP_Bool  after 
)

returns upper bound of variable directly before or after the bound change given by the bound change index was applied

Parameters
varproblem variable
bdchgidxbound change index representing time on path to current node
aftershould the bound change with given index be included?

Definition at line 15859 of file var.c.

References SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Multaggr::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::glbdom, SCIP_Var::multaggr, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Multaggr::nvars, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Multaggr::scalars, SCIP_DEFAULT_INFINITY, SCIP_INVALID, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbdchginfoGetNewbound(), SCIPerrorMessage, SCIPvarGetBdAtIndex(), SCIPvarGetLbAtIndex(), SCIPvarGetStatus(), SCIPvarGetUbchgInfo(), SCIPvarGetUbLocal(), SCIP_Original::transvar, SCIP_Dom::ub, SCIP_Aggregate::var, and SCIP_Multaggr::vars.

Referenced by addConflictBinvar(), addConflictBounds(), adjustCutoffbound(), analyzeConflictLowerbound(), analyzeEnergyRequirement(), getConflictImplics(), getGenVBoundsMinActivityConflict(), getMinactImplicObjchg(), resolveGenVBoundPropagation(), resolvePropagation(), resolvePropagationCoretimes(), respropCumulativeCondition(), SCIP_DECL_CONSRESPROP(), SCIPconflictIsVarUsed(), SCIPconsResolvePropagation(), SCIPpropResolvePropagation(), SCIPvarGetBdAtIndex(), SCIPvarGetLbAtIndex(), and SCIPvarWasFixedAtIndex().

SCIP_Real SCIPvarGetBdAtIndex ( SCIP_VAR var,
SCIP_BOUNDTYPE  boundtype,
SCIP_BDCHGIDX bdchgidx,
SCIP_Bool  after 
)

returns lower or upper bound of variable directly before or after the bound change given by the bound change index was applied

Parameters
varproblem variable
boundtypetype of bound: lower or upper bound
bdchgidxbound change index representing time on path to current node
aftershould the bound change with given index be included?

Definition at line 15981 of file var.c.

References SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIPvarGetLbAtIndex(), SCIPvarGetUbAtIndex(), and SCIPvarWasFixedAtIndex().

Referenced by conflictResolveBound(), and SCIPvarGetUbAtIndex().

SCIP_Bool SCIPvarWasFixedAtIndex ( SCIP_VAR var,
SCIP_BDCHGIDX bdchgidx,
SCIP_Bool  after 
)

returns whether the binary variable was fixed at the time given by the bound change index

Parameters
varproblem variable
bdchgidxbound change index representing time on path to current node
aftershould the bound change with given index be included?

Definition at line 15998 of file var.c.

References initbdchgidx, NULL, SCIPvarGetLbAtIndex(), SCIPvarGetLbLocal(), SCIPvarGetUbAtIndex(), SCIPvarGetUbLocal(), and SCIPvarIsBinary().

Referenced by SCIPvarGetBdAtIndex().

SCIP_BDCHGIDX* SCIPvarGetLastBdchgIndex ( SCIP_VAR var)
int SCIPvarGetLastBdchgDepth ( SCIP_VAR var)

returns the last depth level, at which the bounds of the given variable were tightened; returns -2, if the variable's bounds are still the global bounds returns -1, if the variable was fixed in presolving

Parameters
varproblem variable

Definition at line 16058 of file var.c.

References SCIP_BdChgIdx::depth, NULL, SCIPvarGetConflictingBdchgDepth(), and SCIPvarGetLastBdchgIndex().

Referenced by SCIPvarGetLastBdchgIndex().

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 16073 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_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPvarWasFixedEarlier(), SCIP_Dom::ub, SCIP_Var::ubchginfos, and SCIP_BdChgInfo::var.

Referenced by SCIPnodeAddBoundinfer(), SCIPvarGetLastBdchgDepth(), and treeApplyPendingBdchgs().

SCIP_Bool SCIPvarWasFixedEarlier ( SCIP_VAR var1,
SCIP_VAR var2 
)

returns whether the first binary variable was fixed earlier than the second one; returns FALSE, if the first variable is not fixed, and returns TRUE, if the first variable is fixed, but the second one is not fixed

Parameters
var1first binary variable
var2second binary variable

Definition at line 16146 of file var.c.

References SCIP_BdChgInfo::bdchgidx, FALSE, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_Var::lbchginfos, SCIP_Var::nlbchginfos, SCIP_Var::nubchginfos, NULL, SCIP_BdChgInfo::redundant, SCIP_DECL_HASHGETKEY(), SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPbdchgidxIsEarlier(), SCIPvarGetProbvar(), SCIPvarGetStatus(), SCIPvarIsActive(), SCIPvarIsBinary(), TRUE, SCIP_Dom::ub, and SCIP_Var::ubchginfos.

Referenced by SCIPvarGetConflictingBdchgDepth().

SCIP_DECL_HASHGETKEY ( SCIPhashGetKeyVar  )

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

Definition at line 16205 of file var.c.

References SCIP_Var::name, NULL, SCIP_Real, and SCIPboundchgGetNewbound().

SCIP_Real SCIPboundchgGetNewbound ( SCIP_BOUNDCHG boundchg)

returns the new value of the bound in the bound change data

Parameters
boundchgbound change data

Definition at line 16340 of file var.c.

References SCIP_BoundChg::newbound, NULL, and SCIPboundchgGetVar().

Referenced by boundchgApplyGlobal(), SCIP_DECL_HASHGETKEY(), and SCIPendStrongbranch().

SCIP_VAR* SCIPboundchgGetVar ( SCIP_BOUNDCHG boundchg)

returns the variable of the bound change in the bound change data

Parameters
boundchgbound change data

Definition at line 16350 of file var.c.

References NULL, SCIPboundchgGetBoundchgtype(), and SCIP_BoundChg::var.

Referenced by boundchgApplyGlobal(), SCIPboundchgGetNewbound(), SCIPendStrongbranch(), and SCIPnodePropagateImplics().

SCIP_BOUNDCHGTYPE SCIPboundchgGetBoundchgtype ( SCIP_BOUNDCHG boundchg)

returns the bound change type of the bound change in the bound change data

Parameters
boundchgbound change data

Definition at line 16360 of file var.c.

References SCIP_BoundChg::boundchgtype, NULL, and SCIPboundchgGetBoundtype().

Referenced by SCIPboundchgGetVar().

SCIP_BOUNDTYPE SCIPboundchgGetBoundtype ( SCIP_BOUNDCHG boundchg)

returns the bound type of the bound change in the bound change data

Parameters
boundchgbound change data

Definition at line 16370 of file var.c.

References SCIP_BoundChg::boundtype, NULL, SCIP_Bool, and SCIPboundchgIsRedundant().

Referenced by boundchgApplyGlobal(), SCIPboundchgGetBoundchgtype(), SCIPendStrongbranch(), and SCIPnodePropagateImplics().

SCIP_Bool SCIPboundchgIsRedundant ( SCIP_BOUNDCHG boundchg)

returns whether the bound change is redundant due to a more global bound that is at least as strong

Parameters
boundchgbound change data

Definition at line 16380 of file var.c.

References NULL, SCIP_BoundChg::redundant, and SCIPdomchgGetNBoundchgs().

Referenced by SCIPboundchgGetBoundtype(), SCIPendStrongbranch(), and SCIPnodePropagateImplics().

int SCIPdomchgGetNBoundchgs ( SCIP_DOMCHG domchg)

returns the number of bound changes in the domain change data

Parameters
domchgdomain change data

Definition at line 16390 of file var.c.

References SCIP_DomChg::domchgbound, SCIP_DomChgBound::nboundchgs, NULL, and SCIPdomchgGetBoundchg().

Referenced by SCIPboundchgIsRedundant(), SCIPendStrongbranch(), and SCIPnodePropagateImplics().

SCIP_BOUNDCHG* SCIPdomchgGetBoundchg ( SCIP_DOMCHG domchg,
int  pos 
)

returns a particular bound change in the domain change data

Parameters
domchgdomain change data
posposition of the bound change in the domain change data

Definition at line 16398 of file var.c.

References SCIP_DomChgBound::boundchgs, SCIP_DomChg::domchgbound, SCIP_DomChgBound::nboundchgs, NULL, SCIP_Real, and SCIPholelistGetLeft().

Referenced by SCIPdomchgGetNBoundchgs(), SCIPendStrongbranch(), and SCIPnodePropagateImplics().

SCIP_Real SCIPholelistGetLeft ( SCIP_HOLELIST holelist)

returns left bound of open interval in hole

Parameters
holelisthole list pointer to hole of interest

Definition at line 16410 of file var.c.

References SCIP_Holelist::hole, SCIP_Hole::left, NULL, SCIP_Real, and SCIPholelistGetRight().

Referenced by printHolelist(), and SCIPdomchgGetBoundchg().

SCIP_Real SCIPholelistGetRight ( SCIP_HOLELIST holelist)

returns right bound of open interval in hole

Parameters
holelisthole list pointer to hole of interest

Definition at line 16420 of file var.c.

References SCIP_Holelist::hole, NULL, SCIP_Hole::right, and SCIPholelistGetNext().

Referenced by printHolelist(), and SCIPholelistGetLeft().

SCIP_HOLELIST* SCIPholelistGetNext ( SCIP_HOLELIST holelist)

returns next hole in list

Parameters
holelisthole list pointer to hole of interest

Definition at line 16430 of file var.c.

References SCIP_Holelist::next, NULL, and SCIPvarGetName().

Referenced by printHolelist(), and SCIPholelistGetRight().

const char* SCIPvarGetName ( SCIP_VAR var)

returns the name of the variable

Note
to change the name of a variable, use SCIPchgVarName() from scip.h
Parameters
varproblem variable

Definition at line 16443 of file var.c.

References SCIP_Var::name, NULL, and SCIPvarGetNUses().

Referenced by addAltLPColumn(), addBilinearTermToCut(), addBoundViolated(), addCand(), addCliques(), addConcaveEstimatorBivariate(), addConcaveEstimatorMultivariate(), addConflictBinvar(), addConflictBounds(), addIntervalGradientEstimator(), addLinearization(), addLinearTermToCut(), addNode(), addSplitcons(), addVarbound(), adjustOversizedJobBounds(), aggregation(), analyseInfeasibelCoreInsertion(), analyzeEnergyRequirement(), analyzeGenVBoundConflict(), analyzeZeroResultant(), applyAlternativeBoundsBranching(), applyBdchgs(), applyBoundHeur(), applyCliqueFixings(), applyFixings(), applyGenVBound(), applyProbing(), applyVboundsFixings(), boundchgApplyGlobal(), branch(), branchcandCalcLPCands(), branchcandInsertPseudoCand(), branchcandRemovePseudoCand(), calcBranchScore(), calcShiftVal(), changeAncestorBranchings(), checkCons(), checkCumulativeCondition(), checkFactorable(), checkFixedVariables(), checkForOverlapping(), checkSolOrig(), checkSolution(), checkSolveKnapsack(), checkSystemGF2(), checkVarbound(), checkVarnames(), cleanupMIRRow(), cliqueCleanup(), cliquePresolve(), colAddCoef(), collectBinaryCliqueData(), collectBranchingCands(), collectMinactVar(), collectNonBinaryImplicationData(), collectNonBinaryVBoundData(), collectSolution(), collectThetaSubtree(), colLink(), colUnlink(), computeCut(), computeEnergyContribution(), computeGauge(), computeImpliedEst(), computeImpliedLct(), computeInteriorPoint(), computeReferencePointGauge(), conflictAddBound(), conflictAddConflictBound(), conflictAddConflictCons(), conflictAnalyze(), conflictAnalyzeRemainingBdchgs(), conflictCreateReconvergenceConss(), conflictFirstCand(), conflictMarkBoundCheckPresence(), conflictResolveBound(), conflictsetAddBounds(), conflictsetIsRedundant(), consdataCheckSuperindicator(), consdataCollectLinkingCons(), consdataCreate(), consdataCreateBinvars(), consdataDeletePos(), consdataFindUnlockedLinearVar(), consdataFixOperandsOne(), consdataFixResultantZero(), consdataPrint(), constraintNonOverlappingGraph(), constructCompression(), constructSNFRelaxation(), copyAndSolveComponent(), coretimesUpdateLb(), coretimesUpdateUb(), countSparseSol(), createAndAddAndCons(), createConsFromMonomial(), createConstraints(), createCoreProfile(), createCoveringProblem(), createMIP(), createNAryBranch(), createSelectedSortedEventpointsSol(), createSubSCIP(), createTcliqueGraph(), detectDominatingVlbs(), detectDominatingVubs(), detectImpliedBounds(), detectVarboundSOS1(), determineBound(), dfs(), dryBranch(), dualPresolve(), dualPresolving(), ecaggrAddBilinTerm(), enforceConssSOS1(), enforceSOS2(), enforceViolatedFixedNonlinear(), evaluateGauge(), execRelpscost(), filterExistingLP(), findAggregation(), findAndStoreEcAggregations(), findCumulativeConss(), findUncapacitatedArcs(), fixAndPropagate(), fixBounds(), fixDeleteOrUpgradeCons(), fixIntegerVariableLb(), fixIntegerVariableUb(), fixInterdiction(), fixVariable(), fixVariableZeroNode(), generate1ConvexIndefiniteUnderestimator(), generate1ConvexIndefiniteUnderestimatorAtBoundary(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternA(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), generateConvexConcaveUnderestimator(), generateCut(), generateEstimatingHyperplane(), generateOrthogonal_lx_ly_Underestimator(), generateOrthogonal_lx_uy_Underestimator(), generateUnderestimatorParallelYFacets(), getConflictImplics(), getFixedVariable(), getGenVBound(), getMaxactImplicObjchg(), GUBsetMoveVar(), handleNewVariableSOS1(), inferboundsEdgeFinding(), initData(), liftCliqueVariables(), lpFlushAddCols(), lpFlushAddRows(), lpRemoveObsoleteCols(), maximalslack(), mcfnetworkFill(), mergeAndCleanQuadVarTerms(), mergeMultiples(), multiAggregateBinvar(), nlpCalcFracVars(), nlpFlushVarAdditions(), nlrowAddLinearCoef(), nlrowAddQuadElement(), nlrowaggrFree(), nlrowRemoveFixedQuadVars(), nodepairqueueCreate(), objimplicsCreate(), optimize(), performAggregations(), performBranching(), performDualfix(), performFixing(), performImplicationGraphAnalysis(), performRandRounding(), performSimpleRounding(), performStrongbranchWithPropagation(), polishSolution(), predBndStr(), preprocessConstraintPairs(), presolRoundConsSOS1(), presolRoundIndicator(), presolRoundSOS2(), presolRoundVarsSOS1(), presolveConsEst(), presolveConsLct(), presolveCreateGlineurApproxDim3(), presolveDisaggregate(), presolveDual(), presolveFindDuplicates(), presolvePropagateCons(), presolveRemoveFixedVariables(), presolveSolve(), presolveTryAddAND(), presolveTryAddLinearReform(), printActiveVariables(), printAggregatedCons(), printBoundSection(), printColumnSection(), printIndicatorCons(), printLinearCons(), printLinearRow(), printNLRow(), printPBRow(), printRow(), printRowNl(), printSOCCons(), printSosCons(), processBinvarFixings(), processFixings(), processIntegerBoundChg(), processNlRow(), processWatchedVars(), propagateBinaryBestRootRedcost(), propagateBounds(), propagateBoundsBilinearTerm(), propagateBoundsQuadVar(), propagateBoundsTightenVar(), propagateBoundsTightenVarLb(), propagateBoundsTightenVarUb(), propagateCons(), propagateCutoffboundVar(), propagateLbTTEF(), propagateRedcostBinvar(), propagateRedcostVar(), propagateRootRedcostBinvar(), propagateTimetable(), propagateUbTTEF(), propagateVarbounds(), propagateVbounds(), propConsSOS1(), propIndicator(), proposeFeasibleSolution(), propSOS2(), readBinaries(), readBounds(), readCoefficients(), readerdataAddOutputvar(), readGenerals(), readObjective(), readPolynomial(), readQCMatrix(), readQMatrix(), readSemicontinuous(), readSol(), readSOS(), readSos(), readVariables(), readXMLSol(), registerBranchingCandidates(), registerBranchingCandidatesCentrality(), registerBranchingCandidatesGap(), registerBranchingCandidatesViolation(), registerBranchingVariables(), relaxVar(), removeConstraintsDueToNegCliques(), removeDoubleAndSingletonsAndPerformDualpresolve(), removeFixedLinearVariables(), removeFixedNonlinearVariables(), removeFixedVariables(), removeIrrelevantJobs(), removeRedundantNonZeros(), replaceByLinearConstraints(), replaceViolatedByLinearConstraints(), resetVarname(), resolveGenVBoundPropagation(), resolvePropagation(), resolvePropagationCoretimes(), respropCumulativeCondition(), rowAddCoef(), rowFindSlackVar(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_BRANCHEXECPS(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSEXIT(), SCIP_DECL_CONSINIT(), SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSPARSE(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSPRINT(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_CONSTRANS(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPRGRAPHVARADDED(), SCIP_DECL_EXPRGRAPHVARREMOVE(), SCIP_DECL_HASHGETKEY(), SCIP_DECL_HASHKEYVAL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PARAMCHGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PROPRESPROP(), SCIP_DECL_READERWRITE(), SCIP_DECL_SEPAEXECLP(), SCIPaddCoefLinear(), SCIPaddVarSOS1(), SCIPaddVarSOS2(), SCIPanalyzeDeductionsProbing(), SCIPappendVarSOS2(), SCIPapplyHeurDualval(), SCIPapplyHeurSubNlp(), SCIPapplyProbingVar(), SCIPboundchgApply(), SCIPboundchgUndo(), SCIPbranchcandAddExternCand(), SCIPbranchExecExtern(), SCIPbranchVar(), SCIPbranchVarVal(), SCIPbranchVarValNary(), SCIPcatchVarEvent(), SCIPchgVarType(), SCIPcliqueAddVar(), SCIPcliqueDelVar(), SCIPcliquelistRemoveFromCliques(), SCIPcliquetableAdd(), SCIPcolChgLb(), SCIPcolChgObj(), SCIPcolChgUb(), SCIPcolDelCoef(), SCIPcolGetStrongbranch(), SCIPcomputeConvexEnvelopeFacet(), SCIPconflictAddRelaxedBound(), SCIPconflictAnalyzeStrongbranch(), SCIPconflictIsVarUsed(), SCIPcopyImplicationsCliques(), SCIPcreateConsAnd(), SCIPcreateConsLinking(), SCIPcreateFiniteSolCopy(), SCIPdropVarEvent(), SCIPendStrongbranch(), SCIPeventqueueAdd(), SCIPexprtreePrintWithNames(), SCIPgetVarCopy(), SCIPgetVarsStrongbranchesFrac(), SCIPgetVarsStrongbranchesInt(), SCIPgetVarStrongbranchFrac(), SCIPgetVarStrongbranchInt(), SCIPgetVarStrongbranchWithPropagation(), SCIPholelistGetNext(), SCIPimplicsAdd(), SCIPimplicsDel(), SCIPincSolVal(), SCIPlpAddCol(), SCIPlpAddRow(), SCIPlpGetSol(), SCIPmatrixGetColName(), SCIPmatrixPrintRow(), SCIPnlpDelVar(), SCIPnlrowDelLinearCoef(), SCIPnlrowPrint(), SCIPnodeAddBoundinfer(), SCIPnodeAddHolechg(), SCIPnodeAddHoleinfer(), SCIPnodePrintAncestorBranchings(), SCIPparseVarsList(), SCIPperformGenericDivingAlgorithm(), SCIPpricestoreAddBdviolvar(), SCIPpricestoreAddProbVars(), SCIPpricestoreAddVar(), SCIPpricestoreApplyVars(), SCIPprimalTransformSol(), SCIPprintBranchingStatistics(), SCIPprintNodeRootPath(), SCIPprobAddVar(), SCIPprobDelVar(), SCIPprobPerformVarDeletions(), SCIPprobPrintPseudoSol(), SCIPprobScaleObj(), SCIPreaderWrite(), SCIPreoptAddDualBndchg(), SCIPresolveSolHeurSubNlp(), SCIProwDelCoef(), SCIProwPrint(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPseparateKnapsackCuts(), SCIPseparateRelaxedKnapsack(), SCIPsetBinaryVarIndicator(), SCIPsetSolVal(), SCIPsetSolVals(), SCIPshrinkDisjunctiveVarSet(), SCIPsolCheck(), SCIPsolIncVal(), SCIPsolPrint(), SCIPsolPrintRay(), SCIPsolSetVal(), SCIPtreeBranchVar(), SCIPtreeBranchVarHole(), SCIPtreeBranchVarNary(), SCIPtreeCalcNodeselPriority(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarCopy(), SCIPvarGetImplRedcost(), SCIPvarIncVSIDS(), SCIPvarMultiaggregate(), SCIPvarPrint(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarSetNLPSol(), SCIPvarSetRelaxSol(), SCIPvarUpdateBestRootSol(), SCIPvarUpdatePseudocost(), SCIPvisualCutoffNode(), SCIPvisualizeConsCumulative(), SCIPvisualNewChild(), SCIPvisualSolvedNode(), SCIPvisualUpdateChild(), SCIPwriteCliqueGraph(), SCIPwriteGms(), SCIPwriteLp(), SCIPwriteOpb(), SCIPwritePip(), SCIPwriteVarName(), searchEcAggr(), selectVarMultAggrBranching(), sepaImplBoundCutsSOS1(), separateCuts(), sepastoreApplyLb(), sepastoreApplyUb(), simplifyInequalities(), solUnlinkVar(), solveSubNLP(), sortAndMergeClique(), strengthenVarbounds(), substituteMIRRow(), tightenBounds(), tightenCoefs(), tightenedIntvar(), tightenVarLb(), tightenVarsBoundsSOS1(), tightenVarUb(), tightenWeights(), transformMIRRow(), transformStrongCGRow(), transformVariable(), treeApplyPendingBdchgs(), undoBdchgsDualfarkas(), undoBdchgsDualsol(), undoBdchgsProof(), updateArcData(), updateBestCandidate(), updateConsanddataUses(), updatePseudocost(), upgradeConss(), varAddImplic(), varAddLbchginfo(), varAddUbchginfo(), varAddVbound(), varHasName(), varProcessAddHoleGlobal(), varProcessAddHoleLocal(), varProcessChgLbGlobal(), varProcessChgUbGlobal(), writeFzn(), writeOpbObjective(), writeOpbRelevantAnds(), and ZerohalfAuxGraphFree().

int SCIPvarGetNUses ( SCIP_VAR var)

gets number of times, the variable is currently captured

Parameters
varproblem variable

Definition at line 16453 of file var.c.

References NULL, SCIP_Var::nuses, and SCIPvarGetData().

Referenced by SCIPvarGetName().

SCIP_VARDATA* SCIPvarGetData ( SCIP_VAR var)

returns the user data of the variable

Parameters
varproblem variable

Definition at line 16463 of file var.c.

References NULL, SCIPvarSetData(), and SCIP_Var::vardata.

Referenced by SCIPgetObjVardata(), and SCIPvarGetNUses().

void SCIPvarSetData ( SCIP_VAR var,
SCIP_VARDATA vardata 
)

sets the user data for the variable

Parameters
varproblem variable
vardatauser variable data

Definition at line 16473 of file var.c.

References NULL, SCIPvarSetDelorigData(), and SCIP_Var::vardata.

Referenced by SCIPvarGetData().

void SCIPvarSetDelorigData ( SCIP_VAR var,
SCIP_DECL_VARDELORIG((*vardelorig))   
)

sets method to free user data for the original variable

Parameters
varproblem variable

Definition at line 16484 of file var.c.

References NULL, SCIP_VARSTATUS_ORIGINAL, SCIPvarGetStatus(), and SCIPvarSetTransData().

Referenced by SCIPvarSetData().

void SCIPvarSetTransData ( SCIP_VAR var,
SCIP_DECL_VARTRANS((*vartrans))   
)

sets method to transform user data of the variable

Parameters
varproblem variable

Definition at line 16496 of file var.c.

References NULL, SCIP_VARSTATUS_ORIGINAL, SCIPvarGetStatus(), and SCIPvarSetDeltransData().

Referenced by SCIPvarSetDelorigData().

void SCIPvarSetDeltransData ( SCIP_VAR var,
SCIP_DECL_VARDELTRANS((*vardeltrans))   
)

sets method to free transformed user data for the variable

Parameters
varproblem variable

Definition at line 16508 of file var.c.

References NULL, and SCIPvarSetCopyData().

Referenced by SCIPvarSetTransData().

void SCIPvarSetCopyData ( SCIP_VAR var,
SCIP_DECL_VARCOPY((*varcopy))   
)

sets method to copy this variable into sub-SCIPs

Parameters
varproblem variable

Definition at line 16519 of file var.c.

References NULL, and SCIPvarSetInitial().

Referenced by SCIPvarSetDeltransData().

SCIP_RETCODE SCIPvarSetInitial ( SCIP_VAR var,
SCIP_Bool  initial 
)

sets the initial flag of a variable; only possible for original or loose variables

Parameters
varproblem variable
initialinitial flag

Definition at line 16530 of file var.c.

References SCIP_Var::initial, NULL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_ORIGINAL, SCIPvarSetRemovable(), and SCIP_Var::varstatus.

Referenced by SCIPvarSetCopyData().

SCIP_RETCODE SCIPvarSetRemovable ( SCIP_VAR var,
SCIP_Bool  removable 
)

sets the removable flag of a variable; only possible for original or loose variables

Parameters
varproblem variable
removableremovable flag

Definition at line 16546 of file var.c.

References NULL, SCIP_Var::removable, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_ORIGINAL, SCIPvarGetStatus(), and SCIP_Var::varstatus.

Referenced by SCIPvarSetInitial().

SCIP_VARSTATUS SCIPvarGetStatus ( SCIP_VAR var)

gets status of variable

Parameters
varproblem variable

Definition at line 16562 of file var.c.

References NULL, SCIP_Bool, SCIPvarIsOriginal(), and SCIP_Var::varstatus.

Referenced by addAltLPConstraint(), addBdchg(), addCliques(), addCoef(), addLocalConss(), addRowToAggregation(), addSplitcons(), addVarbound(), applyFixings(), applyGenVBound(), applyGenVBounds(), binvarGetActiveProbindex(), branchcandCalcLPCands(), calcBranchScore(), calcVarBoundsDominated(), calcVarBoundsDominating(), catchVarEvents(), changeAncestorBranchings(), checkCons(), checkFixedVariables(), checkForOverlapping(), checkSystemGF2(), cleanupHashDatas(), cliqueCleanup(), cliquePresolve(), colCalcInternalFarkasCoef(), colCalcInternalRedcost(), collectAggregatedVars(), computeAlternativeBounds(), computeCut(), conflictAddBound(), conflictAnalyzeRemainingBdchgs(), conflictResolveBound(), consdataCreate(), consdataPrint(), convertToActiveVar(), correctConshdlrdata(), correctPresoldata(), countNonlinearities(), createCGCutCMIR(), createCGCuts(), createCoveringProblem(), createNAryBranch(), createNewSol(), createPresoldata(), dropVarEvents(), enforceConflictgraph(), enforceIndicators(), exitPresolve(), findClosestLb(), findClosestUb(), fixDeleteOrUpgradeCons(), fixVariableZero(), fixVariableZeroNode(), generateCut(), getActiveVar(), getNActiveConsScore(), getRandomVariable(), inferVariableZero(), liftCliqueVariables(), lpFlushAddCols(), lpFlushChgCols(), lpUpdateObjval(), lpUpdateVarColumn(), lpUpdateVarColumnProved(), lpUpdateVarLoose(), lpUpdateVarLooseProved(), lpUpdateVarProved(), markNeighborsMWISHeuristic(), mergeMultiples(), nlrowAddToLinearCoef(), nlrowRemoveFixedLinearCoefPos(), nlrowRemoveFixedQuadVars(), optimize(), performRandRounding(), performSimpleRounding(), performStrongbranchSOS1(), preprocessCliques(), presolRoundIndicator(), presolveDual(), presolveFindDuplicates(), presolveRemoveFixedVariables(), printBoundSection(), probInsertVar(), probRemoveVar(), processWatchedVars(), propagateBounds(), propagateBoundsTightenVar(), propagateCons(), propIndicator(), proposeFeasibleSolution(), propVariableNonzero(), readSol(), readXMLSol(), recomputeLooseObjectiveValue(), relaxVar(), removeConstraintsDueToNegCliques(), removeDoubleAndSingletonsAndPerformDualpresolve(), removeFixedLinearVariables(), removeFixedVariables(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSEXITPRE(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSPRINT(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HASHKEYVAL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PARAMCHGD(), SCIP_DECL_READERWRITE(), SCIP_DECL_SEPAEXECLP(), SCIPaddPricedVar(), SCIPaddVar(), SCIPaggregateVars(), SCIPboundchgApply(), SCIPboundchgUndo(), SCIPbranchcandAddExternCand(), SCIPbranchcandGetPseudoCands(), SCIPbranchcandUpdateVar(), SCIPchgVarObjProbing(), SCIPcliqueAddVar(), SCIPcliquetableAdd(), SCIPcliquetableCleanup(), SCIPcolCalcFarkasCoef(), SCIPcolCalcRedcost(), SCIPcolChgLb(), SCIPcolChgObj(), SCIPcolChgUb(), SCIPcolFree(), SCIPcolGetStrongbranch(), SCIPcolGetStrongbranches(), SCIPcolInvalidateStrongbranchData(), SCIPcolSetStrongbranchData(), SCIPcomputeVarLbGlobal(), SCIPcomputeVarLbLocal(), SCIPcomputeVarUbGlobal(), SCIPcomputeVarUbLocal(), SCIPconflictAddBound(), SCIPconflictAddRelaxedBound(), SCIPconflictIsVarUsed(), SCIPcreateFiniteSolCopy(), SCIPdelVar(), SCIPdomchgAddBoundchg(), SCIPeventCreateImplAdded(), SCIPeventCreateVarFixed(), SCIPeventCreateVarUnlocked(), SCIPeventProcess(), SCIPexprtreeRemoveFixedVars(), SCIPfixVar(), SCIPgetVarCopy(), SCIPgetVarFarkasCoef(), SCIPgetVarImplRedcost(), SCIPgetVarMultaggrLbGlobal(), SCIPgetVarMultaggrLbLocal(), SCIPgetVarMultaggrUbGlobal(), SCIPgetVarMultaggrUbLocal(), SCIPgetVarNStrongbranchs(), SCIPgetVarRedcost(), SCIPgetVarsStrongbranchesFrac(), SCIPgetVarsStrongbranchesInt(), SCIPgetVarStrongbranchFrac(), SCIPgetVarStrongbranchInt(), SCIPgetVarStrongbranchLast(), SCIPgetVarStrongbranchLPAge(), SCIPgetVarStrongbranchNode(), SCIPgetVarStrongbranchWithPropagation(), SCIPimplicsAdd(), SCIPlpAddCol(), SCIPlpEndDive(), SCIPlpMarkFlushed(), SCIPlpShrinkCols(), SCIPlpStartDive(), SCIPlpSumRows(), SCIPlpUpdateAddVar(), SCIPlpUpdateDelVar(), SCIPlpUpdateVarLb(), SCIPlpUpdateVarObj(), SCIPlpUpdateVarUb(), SCIPmakeIndicatorFeasible(), SCIPmergeVariableStatistics(), SCIPnlrowAddLinearCoef(), SCIPnodeAddBoundinfer(), SCIPnodeAddHoleinfer(), SCIPnodePropagateImplics(), SCIPpricestoreAddProbVars(), SCIPpricestoreApplyVars(), SCIPprimalTransformSol(), SCIPprobAddVar(), SCIPprobChgVarType(), SCIPprobDelVar(), SCIPprobExitSolve(), SCIPprobPerformVarDeletions(), SCIPprobUpdateBestRootSol(), SCIPprobVarChangedStatus(), SCIProwCalcIntegralScalar(), SCIProwPrint(), SCIProwRecalcPseudoActivity(), SCIPsolAdjustImplicitSolVals(), SCIPsolGetRayVal(), SCIPsolGetVal(), SCIPsolIncVal(), SCIPsolRound(), SCIPsolSetVal(), SCIPsolUpdateVarObj(), SCIPtreeBranchVar(), SCIPtreeBranchVarHole(), SCIPtreeBranchVarNary(), SCIPvarAddClique(), SCIPvarAddCliqueToList(), SCIPvarAddHoleGlobal(), SCIPvarAddHoleLocal(), SCIPvarAddHoleOriginal(), SCIPvarAddImplic(), SCIPvarAddLocks(), SCIPvarAddObj(), SCIPvarAddToRow(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarAggregate(), SCIPvarChgBranchDirection(), SCIPvarChgBranchFactor(), SCIPvarChgBranchPriority(), SCIPvarChgLbDive(), SCIPvarChgLbGlobal(), SCIPvarChgLbLazy(), SCIPvarChgLbLocal(), SCIPvarChgLbOriginal(), SCIPvarChgObj(), SCIPvarChgObjDive(), SCIPvarChgUbDive(), SCIPvarChgUbGlobal(), SCIPvarChgUbLazy(), SCIPvarChgUbLocal(), SCIPvarChgUbOriginal(), SCIPvarColumn(), SCIPvarCompareActiveAndNegated(), SCIPvarCopy(), SCIPvarDelClique(), SCIPvarDoNotMultaggr(), SCIPvarFix(), SCIPvarFlattenAggregationGraph(), SCIPvarGetActiveRepresentatives(), SCIPvarGetAggrConstant(), SCIPvarGetAggregatedObj(), SCIPvarGetAggrScalar(), SCIPvarGetAggrVar(), SCIPvarGetAvgBranchdepth(), SCIPvarGetAvgBranchdepthCurrentRun(), SCIPvarGetAvgConflictlength(), SCIPvarGetAvgConflictlengthCurrentRun(), SCIPvarGetAvgCutoffs(), SCIPvarGetAvgCutoffsCurrentRun(), SCIPvarGetAvgInferences(), SCIPvarGetAvgInferencesCurrentRun(), SCIPvarGetAvgSol(), SCIPvarGetBestRootLPObjval(), SCIPvarGetBestRootRedcost(), SCIPvarGetBestRootSol(), SCIPvarGetCol(), SCIPvarGetCutoffSum(), SCIPvarGetCutoffSumCurrentRun(), SCIPvarGetHolelistOriginal(), SCIPvarGetImplRedcost(), SCIPvarGetInferenceSum(), SCIPvarGetInferenceSumCurrentRun(), SCIPvarGetLastBdchgIndex(), SCIPvarGetLbAtIndex(), SCIPvarGetLbLP(), SCIPvarGetLbOriginal(), SCIPvarGetLPSol(), SCIPvarGetLPSol_rec(), SCIPvarGetMultaggrConstant(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetMultaggrLbLocal(), SCIPvarGetMultaggrNVars(), SCIPvarGetMultaggrScalars(), SCIPvarGetMultaggrUbGlobal(), SCIPvarGetMultaggrUbLocal(), SCIPvarGetMultaggrVars(), SCIPvarGetNActiveConflicts(), SCIPvarGetNActiveConflictsCurrentRun(), SCIPvarGetNBranchings(), SCIPvarGetNBranchingsCurrentRun(), SCIPvarGetNegationConstant(), SCIPvarGetNegationVar(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarGetNLPSol(), SCIPvarGetNLPSol_rec(), SCIPvarGetObjLP(), SCIPvarGetOrigvarSum(), SCIPvarGetProbvar(), SCIPvarGetProbvarBinary(), SCIPvarGetProbvarBound(), SCIPvarGetProbvarHole(), SCIPvarGetProbvarSum(), SCIPvarGetPseudocost(), SCIPvarGetPseudocostCount(), SCIPvarGetPseudocostCountCurrentRun(), SCIPvarGetPseudocostCurrentRun(), SCIPvarGetPseudocostVariance(), SCIPvarGetPseudoSol(), SCIPvarGetPseudoSol_rec(), SCIPvarGetRedcost(), SCIPvarGetRelaxSol(), SCIPvarGetRelaxSolTransVar(), SCIPvarGetRootSol(), SCIPvarGetTransformed(), SCIPvarGetTransVar(), SCIPvarGetUbAtIndex(), SCIPvarGetUbLP(), SCIPvarGetUbOriginal(), SCIPvarGetVSIDS(), SCIPvarGetVSIDS_rec(), SCIPvarGetVSIDSCurrentRun(), SCIPvarIncCutoffSum(), SCIPvarIncInferenceSum(), SCIPvarIncNActiveConflicts(), SCIPvarIncNBranchings(), SCIPvarIncVSIDS(), SCIPvarIsInLP(), SCIPvarIsNegated(), SCIPvarIsOriginal(), SCIPvarIsTransformed(), SCIPvarIsTransformedOrigvar(), SCIPvarLoose(), SCIPvarMarkDoNotMultaggr(), SCIPvarMultiaggregate(), SCIPvarNegate(), SCIPvarPrint(), SCIPvarRemove(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarsAddClique(), SCIPvarScaleVSIDS(), SCIPvarSetDelorigData(), SCIPvarSetNLPSol(), SCIPvarSetRelaxSol(), SCIPvarSetRemovable(), SCIPvarSetTransData(), SCIPvarsGetActiveVars(), SCIPvarTransform(), SCIPvarTryAggregateVars(), SCIPvarUpdatePseudocost(), SCIPvarWasFixedEarlier(), SCIPvboundsAdd(), SCIPwriteGms(), SCIPwriteLp(), SCIPwritePip(), selectVarMultAggrBranching(), shortenConss(), solUnlinkVar(), solveLp(), sortAndMergeClique(), substituteMIRRow(), substituteStrongCGRow(), tightenVarsBoundsSOS1(), tryAggregateIntVars(), undoBdchgsDualfarkas(), undoBdchgsDualsol(), updateBestCandidate(), updateConsanddataUses(), varAddImplic(), varAddParent(), varAddTransitiveImplic(), varEventGlbChanged(), varEventGubChanged(), varEventLbChanged(), varEventObjChanged(), varEventUbChanged(), varEventVarFixed(), varFree(), varFreeParents(), varGetActiveVar(), varGetObjDelta(), varMayRoundDown(), varMayRoundUp(), varProcessAddHoleGlobal(), varProcessAddHoleLocal(), varProcessChgBranchDirection(), varProcessChgBranchFactor(), varProcessChgBranchPriority(), varProcessChgLbGlobal(), varProcessChgLbLocal(), varProcessChgUbGlobal(), varProcessChgUbLocal(), varSetProbindex(), writeOpbConstraints(), and writeOpbObjective().

SCIP_Bool SCIPvarIsTransformed ( SCIP_VAR var)

returns whether the variable belongs to the transformed problem

Parameters
varproblem variable

Definition at line 16585 of file var.c.

References SCIP_Var::negatedvar, NULL, SCIP_Bool, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPvarGetStatus(), and SCIPvarIsNegated().

Referenced by addCoef(), addExtendedAsymmetricFormulation(), addExtendedFlowFormulation(), addLinearCoef(), addLocalConss(), addQuadVarTerm(), addSplitcons(), addVarSOS1(), addVarSOS2(), appendVarSOS1(), appendVarSOS2(), changeAncestorBranchings(), chgLinearCoefPos(), delCoefPos(), nlpAddVars(), SCIP_DECL_CONSDELETE(), SCIP_DECL_CONSINIT(), SCIPaddVarLocks(), SCIPaddVarObj(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPchgVarObj(), SCIPchgVarType(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPcreateConsSOS1(), SCIPgetReoptOldObjCoef(), SCIPgetTransformedVar(), SCIPgetTransformedVars(), SCIPincSolVal(), SCIPinferBinvarCons(), SCIPinferBinvarProp(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPlockVarCons(), SCIPnlpAddVar(), SCIPreleaseVar(), SCIPsetSolVal(), SCIPsetSolVals(), SCIPsolGetVal(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPtransformVar(), SCIPtransformVars(), SCIPunlockVarCons(), SCIPvarAddHoleOriginal(), SCIPvarCatchEvent(), SCIPvarChgLbOriginal(), SCIPvarChgUbOriginal(), SCIPvarDropEvent(), SCIPvarIsOriginal(), SCIPvarIsTransformedOrigvar(), SCIPvarNegate(), SCIPvarPrint(), SCIPvarRemove(), setIntvar(), solUnlinkVar(), tightenBounds(), transformToOrig(), varEnsureLbchginfosSize(), varEnsureUbchginfosSize(), varEventGholeAdded(), varEventGlbChanged(), varEventGubChanged(), varEventLbChanged(), varEventObjChanged(), varEventUbChanged(), varIncRootboundchgs(), varProcessAddHoleGlobal(), varProcessAddHoleLocal(), varProcessChgLbGlobal(), varProcessChgLbLocal(), varProcessChgUbGlobal(), and varProcessChgUbLocal().

SCIP_VARTYPE SCIPvarGetType ( SCIP_VAR var)

gets type of variable

Parameters
varproblem variable

Definition at line 16608 of file var.c.

References NULL, SCIP_Bool, SCIPvarIsBinary(), and SCIP_Var::vartype.

Referenced by addLinearConstraints(), addLocalBranchingConstraint(), addRelaxation(), addVarboundConstraints(), applyBoundHeur(), applyFixings(), applyVboundsFixings(), branchcandCalcLPCands(), branchcandInsertPseudoCand(), branchcandRemovePseudoCand(), calcBranchScore(), calcColActivity(), calcColActResidualCommon(), calcColActResidualExplicitBound(), checkCons(), checkRedundancy(), checkRedundancySide(), checkSystemGF2(), checkVarbound(), chooseVeclenVar(), colIsDiscrete(), collectNonBinaryImplicationData(), collectNonBinaryVBoundData(), conflictAddBound(), conflictAnalyzeRemainingBdchgs(), conflictResolveBound(), consdataCreate(), consdataPrint(), constructSNFRelaxation(), copyVars(), countSparseSol(), createSubproblem(), CUTOFF_CONSTRAINT(), dfs(), domchgMakeDynamic(), dualBoundStrengthening(), extractCapacityRows(), extractFlowRows(), findBestLb(), findBestUb(), findClosestLb(), findClosestUb(), findFixings(), findVarAggrRedVbcons(), fixAndPropagate(), forbidFixation(), generateCutConvex(), generateCutNonConvex(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getBounddist(), getMinColActWithoutBound(), getMinColActWithoutRow(), getMultiaggVars(), initData(), isBoundchgUseless(), isPseudocostUpdateValid(), isVlb(), isVub(), mcfnetworkExtract(), mergeMultiples(), nlpCalcFracVars(), optimize(), predBndStr(), presolComponents(), presolveDual(), presolveTryAddLinearReform(), presolveUpgrade(), prettifyConss(), printBoundSection(), printColumnSection(), printLinearCons(), probInsertVar(), probRemoveVar(), readBounds(), readIndicators(), registerBranchingCandidates(), removeDoubleAndSingletonsAndPerformDualpresolve(), resolvePropagation(), roundStrongCGRow(), rowCalculateGauss(), rowFindSlackVar(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSINIT(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSPRINT(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXITSOL(), SCIP_DECL_EVENTINITSOL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_READERWRITE(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SORTPTRCOMP(), SCIPaddVarImplication(), SCIPaddVarIndicator(), SCIPaddVarVlb(), SCIPaddVarVub(), SCIPanalyzeDeductionsProbing(), SCIPbranchcandAddExternCand(), SCIPbranchcandContainsExternCand(), SCIPbranchcandGetPseudoCands(), SCIPbranchcandUpdateVar(), SCIPbranchExecLP(), SCIPbranchExecPseudo(), SCIPbranchGetBranchingPoint(), SCIPbranchVar(), SCIPbranchVarVal(), SCIPbranchVarValNary(), SCIPchgVarType(), SCIPcliquetableCleanup(), SCIPcreateConsAnd(), SCIPcreateConsIndicator(), SCIPcreateConsIndicatorLinCons(), SCIPcreateConsOrbitope(), SCIPcutGenerationHeuristicCmir(), SCIPdomchgAddBoundchg(), SCIPdomchgMakeStatic(), SCIPfixVar(), SCIPnlpHasContinuousNonlinearity(), SCIPprobCheckObjIntegral(), SCIPprobChgVarType(), SCIPsetBinaryVarIndicator(), SCIPsetLinearConsIndicator(), SCIPshrinkDisjunctiveVarSet(), SCIPsolAdjustImplicitSolVals(), SCIPtreeBranchVar(), SCIPtreeBranchVarHole(), SCIPtreeBranchVarNary(), SCIPtreeCalcChildEstimate(), SCIPvarAddHoleGlobal(), SCIPvarAddHoleLocal(), SCIPvarAddHoleOriginal(), SCIPvarAddImplic(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarAdjustLb(), SCIPvarAdjustUb(), SCIPvarAggregate(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgLbOriginal(), SCIPvarChgType(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarChgUbOriginal(), SCIPvarCopy(), SCIPvarFix(), SCIPvarIsBinary(), SCIPvarIsIntegral(), SCIPvarIsNegated(), SCIPvarNegate(), SCIPvarPrint(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarTransform(), SCIPvarTryAggregateVars(), SCIPvboundsAdd(), SCIPwriteGms(), SCIPwriteLp(), SCIPwritePip(), SCIPwriteVarName(), selectEssentialRounding(), selectRounding(), selectShifting(), selectVarMultAggrBranching(), separateCons(), separateCuts(), separateGLS(), separateHeur(), singletonColumnStuffing(), splitProblem(), tcliquegraphAddNode(), tcliquegraphConstructCliqueTable(), tightenBounds(), tightenCoefs(), tightenSides(), transformMIRRow(), transformStrongCGRow(), tryAggregateIntVars(), updateActivities(), updateBestCandidate(), updatePseudocost(), useValuehistory(), varAddImplic(), varAddLbchginfo(), varAddTransitiveImplic(), varAddUbchginfo(), varIsDiscrete(), varIsUnfixedLocal(), varProcessAddHoleGlobal(), varProcessAddHoleLocal(), varProcessBoundChanges(), varProcessChgLbGlobal(), varProcessChgLbLocal(), varProcessChgUbGlobal(), varProcessChgUbLocal(), writeFzn(), and writeOpbConstraints().

SCIP_Bool SCIPvarIsBinary ( SCIP_VAR var)

returns TRUE if the variable is of binary type; this is the case if: (1) variable type is binary (2) variable type is integer or implicit integer and (i) the lazy lower bound or the global lower bound is greater or equal to zero (ii) the lazy upper bound or the global upper bound is less tor equal to one

Parameters
varproblem variable

Definition at line 16623 of file var.c.

References SCIP_Var::glbdom, SCIP_Var::lazylb, SCIP_Var::lazyub, SCIP_Dom::lb, MAX, MIN, NULL, SCIP_Bool, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIPvarGetType(), SCIPvarIsIntegral(), and SCIP_Dom::ub.

Referenced by addCand(), addConflictBinvar(), adjustCutoffbound(), analyzeStrongbranch(), applyFixings(), applyProbing(), bdchginfoIsInvalid(), binvarGetActiveProbindex(), calcBranchScore(), calcPscostQuot(), calculateAlternatives(), checkCons(), checkCurvature(), checkLogicor(), chooseCoefVar(), chooseDoubleVar(), chooseFracVar(), chooseGuidedVar(), collectBinaryCliqueData(), collectMaxactVar(), collectMinactImplicVars(), collectMinactObjchg(), collectNonBinaryImplicationData(), collectNonBinaryVBoundData(), conflictQueueBound(), consdataCreate(), constructSNFRelaxation(), createConflict(), createSolFromSubScipSol(), CUTOFF_CONSTRAINT(), detectImpliedBounds(), enforceConflictgraph(), enforceConssSOS1(), findFixings(), getBoundsForSubstitution(), getClosestVlb(), getClosestVub(), getConflictImplics(), getCover(), getFixedVariable(), getImpliedBounds(), getMaxactImplicObjchg(), getMaxactObjchg(), getMinactImplicObjchg(), getMinactObjchg(), mergeAndCleanQuadVarTerms(), mergeMultiples(), objimplicsCreate(), predBndStr(), preprocessConstraintPairs(), presolRoundConsSOS1(), presolveDisaggregate(), presolveSolve(), presolveTryAddAND(), presolveTryAddLinearReform(), printIndicatorCons(), processBinvarFixings(), propagateCutoffboundBinvar(), propagateLowerboundBinvar(), propagateVarbounds(), propagateVbounds(), propdataInit(), registerBranchingCandidatesGap(), removeDoubleAndSingletonsAndPerformDualpresolve(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_DIVESETGETSCORE(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PROPRESPROP(), SCIPaddConflictBinvar(), SCIPaddVarImplication(), SCIPanalyzeDeductionsProbing(), SCIPapplyHeurDualval(), SCIPapplyProximity(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPcliqueAddVar(), SCIPcliqueDelVar(), SCIPcliquelistRemoveFromCliques(), SCIPcliquetableAdd(), SCIPdomchgAddBoundchg(), SCIPhaveVarsCommonClique(), SCIPinferBinvarCons(), SCIPinferBinvarProp(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPnodePropagateImplics(), SCIPprobGetNImplBinVars(), SCIPprobUpdateBestRootSol(), SCIPseparateRelaxedKnapsack(), SCIPshrinkDisjunctiveVarSet(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPvarAddClique(), SCIPvarAddCliqueToList(), SCIPvarAddImplic(), SCIPvarAddVub(), SCIPvarAggregate(), SCIPvarDelClique(), SCIPvarDelCliqueFromList(), SCIPvarGetImplRedcost(), SCIPvarGetProbvarBinary(), SCIPvarGetType(), SCIPvarHasBinaryImplic(), SCIPvarHasImplic(), SCIPvarNegate(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarsAddClique(), SCIPvarsHaveCommonClique(), SCIPvarTryAggregateVars(), SCIPvarWasFixedAtIndex(), SCIPvarWasFixedEarlier(), separateGLS(), separateHeur(), sortAndMergeClique(), sortVariables(), tightenCoefs(), upgradeCons(), upgradeConss(), varAddImplic(), varAddLbchginfo(), varAddUbchginfo(), and varGetObjDelta().

SCIP_Bool SCIPvarIsIntegral ( SCIP_VAR var)

returns whether variable is of integral type (binary, integer, or implicit integer)

Parameters
varproblem variable

Definition at line 16634 of file var.c.

References NULL, SCIP_Bool, SCIP_VARTYPE_CONTINUOUS, SCIPvarGetType(), and SCIPvarIsInitial().

Referenced by addBilinearTermToCut(), addVarbound(), adjustCutoffbound(), aggregation(), analyzeConflict(), analyzeConflictLowerbound(), analyzeConflictUpperbound(), calculateAlternatives(), checkKnapsack(), computeCut(), computeFixingOrder(), computeRelaxedLowerbound(), computeRelaxedUpperbound(), conflictAddConflictCons(), conflictCreateReconvergenceConss(), createCGCutCMIR(), createNewSol(), createSubSCIP(), detectImpliedBounds(), determineBound(), enforceConflictgraph(), fixAndPropagate(), generateClusterCuts(), nodepartitionIsConnected(), performFixing(), performStrongbranchSOS1(), polishSolution(), propagateLowerboundVar(), propagateRedcostVar(), propIndicator(), proposeFeasibleSolution(), readIndicators(), registerBranchingCandidatesGap(), resolveGenVBoundPropagation(), resolvePropagation(), roundMIRRow(), roundStrongCGRow(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), SCIPaddVarIndicator(), SCIPboundchgApply(), SCIPcolCreate(), SCIPcolGetStrongbranch(), SCIPcolGetStrongbranches(), SCIPcolInvalidateStrongbranchData(), SCIPcolIsIntegral(), SCIPcolSetStrongbranchData(), SCIPcreateConsIndicator(), SCIPcutGenerationHeuristicCmir(), SCIPgetVarStrongbranchWithPropagation(), SCIPlpAddCol(), SCIPlpWriteMip(), SCIProwCreate(), SCIPtreeBranchVarHole(), SCIPvarAddVlb(), SCIPvarIsBinary(), selectShifting(), soltreeAddSol(), tightenVarLb(), tightenVarsBoundsSOS1(), tightenVarUb(), transformVariable(), updateArcData(), updateNActiveConts(), varIncRootboundchgs(), and varIsDiscrete().

SCIP_Bool SCIPvarIsInitial ( SCIP_VAR var)

returns whether variable's column should be present in the initial root LP

Parameters
varproblem variable

Definition at line 16644 of file var.c.

References SCIP_Var::initial, NULL, SCIP_Bool, and SCIPvarIsRemovable().

Referenced by applyFixings(), initLP(), presolveTryAddAND(), presolveTryAddLinearReform(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIPvarCopy(), SCIPvarIsIntegral(), tightenCoefs(), and tryAggregateIntVars().

SCIP_Bool SCIPvarIsRemovable ( SCIP_VAR var)

returns whether variable's column is removable from the LP (due to aging or cleanup)

Parameters
varproblem variable

Definition at line 16654 of file var.c.

References NULL, SCIP_Var::removable, SCIP_Bool, and SCIPvarIsDeleted().

Referenced by applyFixings(), presolveTryAddAND(), presolveTryAddLinearReform(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIPvarCopy(), SCIPvarIsInitial(), tightenCoefs(), and tryAggregateIntVars().

SCIP_Bool SCIPvarIsDeleted ( SCIP_VAR var)

returns whether the variable was deleted from the problem

Parameters
varproblem variable

Definition at line 16664 of file var.c.

References SCIP_Var::deleted, NULL, and SCIPvarMarkDeletable().

Referenced by applyProbing(), performDualfix(), performVarDeletions(), SCIP_DECL_PRESOLEXEC(), and SCIPvarIsRemovable().

void SCIPvarMarkDeletable ( SCIP_VAR var)

marks the variable to be deletable, i.e., it may be deleted completely from the problem; method can only be called before the variable is added to the problem by SCIPaddVar() or SCIPaddPricedVar()

Parameters
varproblem variable

Definition at line 16676 of file var.c.

References SCIP_Var::deletable, NULL, SCIP_Var::probindex, SCIPvarMarkNotDeletable(), and TRUE.

Referenced by SCIPvarIsDeleted().

void SCIPvarMarkNotDeletable ( SCIP_VAR var)

marks the variable to be not deletable from the problem

Definition at line 16687 of file var.c.

References SCIP_Var::deletable, FALSE, NULL, and SCIPvarMarkDeleteGlobalStructures().

Referenced by focusnodeCleanupVars(), SCIPvarAggregate(), SCIPvarMarkDeletable(), SCIPvarMultiaggregate(), SCIPvarNegate(), solIncArrayVal(), and solSetArrayVal().

void SCIPvarMarkDeleteGlobalStructures ( SCIP_VAR var)

marks variable to be deleted from global structures (cliques etc.) when cleaning up

Note
: this is not equivalent to marking the variable itself for deletion, this is done by using SCIPvarMarkDeletable()
Parameters
varproblem variable

Definition at line 16700 of file var.c.

References SCIP_Var::delglobalstructs, NULL, SCIP_Bool, SCIPvarIsMarkedDeleteGlobalStructures(), and TRUE.

Referenced by SCIPremoveVarFromGlobalStructures(), and SCIPvarMarkNotDeletable().

SCIP_Bool SCIPvarIsMarkedDeleteGlobalStructures ( SCIP_VAR var)

returns whether the variable was flagged for deletion from global structures (cliques etc.)

Parameters
varproblem variable

Definition at line 16710 of file var.c.

References SCIP_Var::delglobalstructs, NULL, SCIP_Bool, and SCIPvarIsDeletable().

Referenced by cliqueCleanup(), SCIPcliquetableAdd(), and SCIPvarMarkDeleteGlobalStructures().

SCIP_Bool SCIPvarIsDeletable ( SCIP_VAR var)

returns whether variable is allowed to be deleted completely from the problem

Definition at line 16720 of file var.c.

References SCIP_Var::deletable, NULL, SCIP_Bool, and SCIPvarIsActive().

Referenced by focusnodeCleanupVars(), and SCIPvarIsMarkedDeleteGlobalStructures().

SCIP_Bool SCIPvarIsActive ( SCIP_VAR var)

returns whether variable is an active (neither fixed nor aggregated) variable

Parameters
varproblem variable

Definition at line 16730 of file var.c.

References NULL, SCIP_Var::probindex, and SCIPvarGetIndex().

Referenced by addCliqueDataEntry(), addCliques(), addConsToOccurList(), addLinearCoef(), addQuadVarTerm(), addVarbound(), applyFixings(), applyProbing(), binvarGetActiveProbindex(), branchruledataEnsureArraySize(), catchVarEvents(), checkFixedVariables(), checkForOverlapping(), checkLocksAndRes(), checkSystemGF2(), cliqueCheck(), cliquePresolve(), collectCliqueData(), conflictAddBound(), conflictAnalyze(), conflictCreateReconvergenceConss(), conflictResolveBound(), createCoveringProblem(), createNAryBranch(), createSolFromNLP(), createSolFromSubScipSol(), createSubSCIP(), dfs(), dualPresolving(), extractGates(), findAggregation(), freeSubSCIP(), getActiveVar(), getClosestVlb(), getClosestVub(), getImpliedBounds(), getLinVarsAndAndRess(), getMaxactImplicObjchg(), getRandomVariable(), GUBsetCalcCliquePartition(), heurdataEnsureArraySize(), initData(), initTCliquegraph(), isGAMSprintableSOC(), liftCliqueVariables(), mergeMultiples(), nlpAddVars(), nlpRemoveFixedVar(), nlpSetupNlpiIndices(), nlrowAddLinearCoef(), nlrowAddToLinearCoef(), nlrowExprtreeChanged(), nlrowRemoveFixedLinearCoefPos(), nlrowRemoveFixedQuadVars(), nlrowRemoveFixedVar(), preprocessCliques(), preprocessConstraintPairs(), presolRoundIndicator(), presolveDisaggregate(), presolveRemoveFixedVariables(), propagateCons(), propagateVbounds(), removeConstraintsDueToNegCliques(), removeFixedLinearVariables(), removeFixedNonlinearVariables(), removeFixedVariables(), reoptSaveNewObj(), reoptSimilarity(), replaceQuadVarTermPos(), resolvePropagationCoretimes(), roundMIRRow(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_CONSACTIVE(), SCIP_DECL_CONSENABLE(), SCIP_DECL_CONSEXITPRE(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSTRANS(), SCIP_DECL_EXPRGRAPHVARADDED(), SCIP_DECL_HASHKEYVAL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_SEPAEXECLP(), SCIPcalcCliquePartition(), SCIPconflictAddBound(), SCIPconflictAddRelaxedBound(), SCIPconflictIsVarUsed(), SCIPcreateConsAbspower(), SCIPcutGenerationHeuristicCmir(), SCIPexprtreeRemoveFixedVars(), SCIPgetReoptOldObjCoef(), SCIPhaveVarsCommonClique(), SCIPimplicsAdd(), SCIPnlrowAddLinearCoef(), SCIPnlrowAddQuadVar(), SCIPnlrowDelLinearCoef(), SCIPprimalTransformSol(), SCIPseparateRelaxedKnapsack(), SCIPsolLinkNLPSol(), SCIPtreeBranchVar(), SCIPtreeBranchVarHole(), SCIPtreeBranchVarNary(), SCIPvarAddImplic(), SCIPvarAddObj(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgObj(), SCIPvarCompareActiveAndNegated(), SCIPvarGetClosestVlb(), SCIPvarGetClosestVub(), SCIPvarGetImplBounds(), SCIPvarGetImplIds(), SCIPvarGetImplRedcost(), SCIPvarGetImplTypes(), SCIPvarGetImplVars(), SCIPvarGetLastBdchgIndex(), SCIPvarGetLbchgInfo(), SCIPvarGetNImpls(), SCIPvarGetUbchgInfo(), SCIPvarHasImplic(), SCIPvarIsDeletable(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarsHaveCommonClique(), SCIPvarWasFixedEarlier(), SCIPwriteGms(), shortenConss(), sortVariables(), tcliquegraphAddNode(), tightenBounds(), transformMIRRow(), transformStrongCGRow(), tryUpgradingXor(), updateBestCandidate(), varAddImplic(), varAddTransitiveBinaryClosureImplic(), varAddTransitiveImplic(), varIncRootboundchgs(), varMayRoundDown(), varMayRoundUp(), and writeOpbRelevantAnds().

int SCIPvarGetProbindex ( SCIP_VAR var)

gets position of variable in problem, or -1 if variable is not active

Parameters
varproblem variable

Definition at line 16750 of file var.c.

References NULL, SCIP_Var::probindex, and SCIPvarGetTransVar().

Referenced by addGLSCliques(), addNextLevelCliques(), addRow(), addRowToAggregation(), aggregation(), binvarGetActiveProbindex(), branchruledataAddBoundChangeVar(), branchruledataEnsureArraySize(), branchruledataPopBoundChangeVar(), branchruledataUpdateCurrentBounds(), calcSignature(), checkRedundancy(), collectBinaryCliqueData(), collectNonBinaryImplicationData(), collectNonBinaryVBoundData(), computeAlternativeBounds(), computeCut(), constructCompression(), constructSNFRelaxation(), createCGCutDirect(), createCoveringProblem(), createEdgesFromRow(), createRows(), createSubproblem(), createSubSCIP(), createTcliqueGraph(), createZerohalfCutFromZerohalfWeightvector(), detectImpliedBounds(), dfs(), execRelpscost(), fillDigraph(), findBestLb(), findBestUb(), forbidFixation(), freeMemory(), freeSubSCIP(), generateAverageNBRay(), getBounddist(), getBoundsForSubstitution(), getClosestVlb(), getClosestVub(), getMaxactImplicObjchg(), getNodeIdx(), heurdataAddBoundChangeVar(), heurdataEnsureArraySize(), heurdataFreeArrays(), heurdataPopBoundChangeVar(), heurdataUpdateCurrentBounds(), initLP(), insertSortedRootNeighbors(), isNeighbor(), lpUpdateVarColumn(), lpUpdateVarColumnProved(), lpUpdateVarLoose(), lpUpdateVarLooseProved(), lpUpdateVarProved(), mergeMultiples(), printLinearCons(), printRow(), probInsertVar(), probRemoveVar(), processNlRow(), reoptCheckLocalRestart(), reoptSaveNewObj(), reoptSimilarity(), roundMIRRow(), roundStrongCGRow(), rowAddCoef(), rowCalculateGauss(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HASHKEYVAL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SORTPTRCOMP(), SCIPaddPricedVar(), SCIPaddVar(), SCIPapplyHeurSubNlp(), SCIPchgVarName(), SCIPchgVarType(), SCIPcolCreate(), SCIPcutGenerationHeuristicCmir(), SCIPeventProcess(), SCIPgetReoptOldObjCoef(), SCIPlpGetPrimalRay(), SCIPlpSumRows(), SCIPlpUpdateAddVar(), SCIPlpUpdateDelVar(), SCIPlpUpdateVarLb(), SCIPlpUpdateVarObj(), SCIPlpUpdateVarUb(), SCIPpricestoreApplyVars(), SCIPprimalTransformSol(), SCIPprobAddVar(), SCIPprobAddVarName(), SCIPprobChgVarType(), SCIPprobDelVar(), SCIPprobFree(), SCIPprobPerformVarDeletions(), SCIPprobVarChangedStatus(), SCIPresolveSolHeurSubNlp(), SCIPseparateRelaxedKnapsack(), SCIPshrinkDisjunctiveVarSet(), SCIPsolRetransform(), SCIPtreeBranchVar(), SCIPtreeBranchVarHole(), SCIPtreeBranchVarNary(), SCIPvarGetImplRedcost(), SCIPvarGetIndex(), SCIPvarRemove(), SCIPwriteCliqueGraph(), selectShifting(), separateCuts(), separateGLS(), separateHeur(), solveSubNLP(), substituteMIRRow(), substituteStrongCGRow(), transformMIRRow(), transformStrongCGRow(), undoBdchgsDualfarkas(), undoBdchgsDualsol(), undoBdchgsProof(), updateNActiveConts(), and varProcessBoundChanges().

SCIP_COL* SCIPvarGetCol ( SCIP_VAR var)

gets column of COLUMN variable

Parameters
varproblem variable

Definition at line 16771 of file var.c.

References SCIP_Var::col, SCIP_Var::data, NULL, SCIP_Bool, SCIP_VARSTATUS_COLUMN, SCIPvarGetStatus(), and SCIPvarIsInLP().

Referenced by addBdchg(), addFracCounter(), addRowToAggregation(), analyzeStrongbranch(), branchcandCalcLPCands(), calcBranchScore(), calcShiftVal(), calculateBounds(), checkConstraintMatching(), colCalcInternalFarkasCoef(), colCalcInternalRedcost(), computeCut(), createCGCutCMIR(), determineBound(), filterExistingLP(), findClosestLb(), findClosestUb(), generateAverageRay(), getNActiveConsScore(), lpFlushAddCols(), lpFlushChgCols(), relaxVar(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), SCIPcolCalcFarkasCoef(), SCIPcolCalcRedcost(), SCIPcolChgLb(), SCIPcolChgObj(), SCIPcolChgUb(), SCIPcolGetStrongbranch(), SCIPcolGetStrongbranches(), SCIPcolInvalidateStrongbranchData(), SCIPcolSetStrongbranchData(), SCIPeventProcess(), SCIPgetVarFarkasCoef(), SCIPgetVarNStrongbranchs(), SCIPgetVarRedcost(), SCIPgetVarsStrongbranchesFrac(), SCIPgetVarsStrongbranchesInt(), SCIPgetVarStrongbranchFrac(), SCIPgetVarStrongbranchInt(), SCIPgetVarStrongbranchLast(), SCIPgetVarStrongbranchLPAge(), SCIPgetVarStrongbranchNode(), SCIPgetVarStrongbranchWithPropagation(), SCIPlpAddCol(), SCIPlpEndDive(), SCIPlpMarkFlushed(), SCIPlpShrinkCols(), SCIPlpStartDive(), SCIPlpSumRows(), SCIPpricestoreAddProbVars(), SCIPpricestoreApplyVars(), SCIPprobUpdateBestRootSol(), SCIProwCalcIntegralScalar(), SCIPsolAdjustImplicitSolVals(), SCIPvarGetImplRedcost(), SCIPvarGetRedcost(), SCIPvarGetTransVar(), shiftValues(), substituteMIRRow(), substituteStrongCGRow(), transformMIRRow(), undoBdchgsDualfarkas(), undoBdchgsDualsol(), updateActivities(), updateRowActivities(), updateSlacks(), varColCompare(), and varProcessBoundChanges().

SCIP_Bool SCIPvarIsInLP ( SCIP_VAR var)

returns whether the variable is a COLUMN variable that is member of the current LP

Parameters
varproblem variable

Definition at line 16782 of file var.c.

References SCIP_Var::col, SCIP_Var::data, NULL, SCIP_VARSTATUS_COLUMN, SCIPcolIsInLP(), SCIPvarGetAggrVar(), and SCIPvarGetStatus().

Referenced by focusnodeCleanupVars(), SCIP_DECL_HEUREXEC(), SCIPselectVarPseudoStrongBranching(), SCIPvarGetCol(), and undoBdchgsProof().

SCIP_Real SCIPvarGetAggrConstant ( SCIP_VAR var)
SCIP_Real SCIPvarGetNegationConstant ( SCIP_VAR var)

gets the negation offset of a negated variable x' = offset - x

Parameters
varnegated problem variable

Definition at line 16894 of file var.c.

References SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::negate, NULL, SCIP_Real, SCIP_VARSTATUS_NEGATED, SCIPvarGetObj(), and SCIPvarGetStatus().

Referenced by markNeighborsMWISHeuristic(), SCIPsolGetVal(), SCIPsolSetVal(), SCIPvarGetNegationVar(), and tightenVarsBoundsSOS1().

SCIP_Real SCIPvarGetObj ( SCIP_VAR var)

gets objective function value of variable

Parameters
varproblem variable

Definition at line 16905 of file var.c.

References NULL, SCIP_Var::obj, SCIP_Real, and SCIPvarGetUnchangedObj().

Referenced by addBoundViolated(), addConflictBinvar(), addConflictBounds(), addObjcut(), adjustCutoffbound(), applyAlternativeBoundsBranching(), applyVboundsFixings(), calcShiftVal(), catchObjEvent(), checkSystemGF2(), chooseFracVar(), chooseGuidedVar(), chooseVeclenVar(), collectMinactImplicVar(), collectMinactImplicVars(), collectMinactVar(), consdataFindUnlockedLinearVar(), copyAndSolveComponent(), createCGCutDirect(), createNewSol(), createObjRow(), createSubSCIP(), dropObjEvent(), dualBoundStrengthening(), dualPresolving(), evaluateAggrCand(), evaluateValueCand(), findDominancePairs(), findDownlockAggregations(), findFixings(), findUplockAggregations(), generateObjectiveRay(), getActivities(), getConflictImplics(), getMaxactImplicObjchg(), getMinactImplicObjchg(), getVariable(), handle1Cycle(), handleCycle(), initSolve(), isVlb(), isVub(), lpUpdateVarColumn(), lpUpdateVarColumnProved(), lpUpdateVarLoose(), lpUpdateVarLooseProved(), nlpAddVars(), nlpDelVarPos(), nlpFlushObjective(), nlpFlushVarAdditions(), nlpSolve(), nlpUpdateObjCoef(), objimplicsCreate(), optimize(), performDualfix(), performRandRounding(), performSimpleRounding(), predBndStr(), presolveDual(), printPBRow(), propagateCutoffboundGlobally(), propagateLowerboundVar(), readObjective(), readOPBFile(), recomputeGlbPseudoObjectiveValue(), recomputeLooseObjectiveValue(), recomputePseudoObjectiveValue(), removeDoubleAndSingletonsAndPerformDualpresolve(), reoptSaveNewObj(), resolvePropagation(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_DIVESETGETSCORE(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_READERWRITE(), SCIP_DECL_SORTPTRCOMP(), SCIPapplyHeurDualval(), SCIPapplyProximity(), SCIPapplyZeroobj(), SCIPchgVarObjProbing(), SCIPcolCreate(), SCIPconflictAnalyzePseudo(), SCIPcreateConsOrbitope(), SCIPlpEndDive(), SCIPlpGetModifiedProvedPseudoObjval(), SCIPlpGetModifiedPseudoObjval(), SCIPlpRecomputeLocalAndGlobalPseudoObjval(), SCIPlpStartDive(), SCIPlpUpdateAddVar(), SCIPlpUpdateDelVar(), SCIPlpUpdateVarLb(), SCIPlpUpdateVarLbGlobal(), SCIPlpUpdateVarUb(), SCIPlpUpdateVarUbGlobal(), SCIPnlpChgVarObjDive(), SCIPnlpGetPseudoObjval(), SCIPnodeAddBoundinfer(), SCIPnodeAddHoleinfer(), SCIPprobAddVar(), SCIPprobCheckObjIntegral(), SCIPprobGetNObjVars(), SCIPprobPerformVarDeletions(), SCIPprobScaleObj(), SCIPpropagateCutoffboundVar(), SCIPsolAdjustImplicitSolVals(), SCIPsolCheck(), SCIPsolIncVal(), SCIPsolLinkNLPSol(), SCIPsolRetransform(), SCIPsolSetVal(), SCIPtreeBranchVar(), SCIPvarCopy(), SCIPvarGetAggregatedObj(), SCIPvarGetNegationConstant(), SCIPwriteGms(), SCIPwriteLp(), SCIPwritePip(), selectEssentialRounding(), selectRounding(), selectShifting(), setObjective(), singletonColumnStuffing(), solCutIsViolated(), solveCoveringProblem(), solveIndependentCons(), stableSortBinvars(), transformColumn(), undoBdchgsDualsol(), updateBestCandidate(), varGetObjDelta(), varMayRoundDown(), varMayRoundUp(), writeExpandedSolutions(), writeFzn(), writeOpbConstraints(), and writeOpbObjective().

SCIP_Real SCIPvarGetUnchangedObj ( SCIP_VAR var)

gets the unchanged objective function value of a variable (ignoring temproray changes performed in probing mode)

Parameters
varproblem variable

Definition at line 16915 of file var.c.

References NULL, SCIPvarGetAggregatedObj(), and SCIP_Var::unchangedobj.

Referenced by SCIPcolChgObj(), SCIPcolCreate(), SCIPsolIncVal(), SCIPsolLinkLPSol(), SCIPsolPrint(), SCIPsolPrintRay(), SCIPsolRecomputeObj(), SCIPsolRound(), SCIPsolSetVal(), and SCIPvarGetObj().

SCIP_RETCODE SCIPvarGetAggregatedObj ( SCIP_VAR var,
SCIP_Real aggrobj 
)

gets corresponding objective value of active, fixed, or multi-aggregated problem variable of given variable e.g. obj(x) = 1 this method returns for ~x the value -1

Parameters
varproblem variable
aggrobjpointer to store the aggregated objective value

Definition at line 16927 of file var.c.

References SCIP_Var::aggregate, SCIP_Var::data, SCIP_Var::multaggr, SCIP_Var::negatedvar, NULL, SCIP_Multaggr::nvars, SCIP_Aggregate::scalar, SCIP_Multaggr::scalars, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPvarGetLbOriginal(), SCIPvarGetObj(), SCIPvarGetStatus(), SCIP_Aggregate::var, and SCIP_Multaggr::vars.

Referenced by dualPresolve(), dualPresolving(), removeDoubleAndSingletonsAndPerformDualpresolve(), and SCIPvarGetUnchangedObj().

SCIP_HOLELIST* SCIPvarGetHolelistOriginal ( SCIP_VAR var)

gets the original hole list of an original variable

Parameters
varproblem variable

Definition at line 17043 of file var.c.

References SCIP_Var::data, SCIP_Dom::holelist, NULL, SCIP_Original::origdom, SCIP_Var::original, SCIP_Real, SCIP_VARSTATUS_ORIGINAL, SCIPvarGetLbGlobal(), SCIPvarGetStatus(), and SCIPvarIsOriginal().

Referenced by SCIPvarGetUbOriginal(), and SCIPvarPrint().

SCIP_Real SCIPvarGetLbGlobal ( SCIP_VAR var)

gets global lower bound of variable

Parameters
varproblem variable

Definition at line 17057 of file var.c.

References SCIP_Var::glbdom, SCIP_Dom::lb, NULL, SCIP_Real, and SCIPvarGetUbGlobal().

Referenced by addAltLPColumn(), addConflictBinvar(), addConflictBounds(), addLinearization(), addLinearizationCuts(), addVarbound(), adjustCutoffbound(), adjustOversizedJobBounds(), analyzeEnergyRequirement(), analyzeStrongbranch(), applyFixings(), applyGenVBound(), applyImplic(), boundchgApplyGlobal(), calcColActivity(), calcColActResidualExplicitBound(), calcShiftVal(), calculateBounds(), checkCurvature(), checkFixedVariables(), checkGlbfirstnonfixed(), checkIISlocal(), checkImplic(), checkOverloadViaThetaTree(), checkRedundancy(), checkRedundancySide(), checkSolution(), checkSystemGF2(), cleanupMIRRow(), cliqueCheck(), cliqueCleanup(), cliquePresolve(), collectBinaryCliqueData(), collectMinactImplicVar(), collectMinactImplicVars(), collectNonBinaryImplicationData(), collectNonBinaryVBoundData(), computeCut(), computeEnergyContribution(), computeInteriorPoint(), computeRanks(), computeViolation(), conflictAnalyze(), consdataCreateBinvars(), consdataDeletePos(), consdataFree(), consdataGetGlbActivityResiduals(), consdataLinearize(), consdataPrint(), consdataRecomputeGlbMinactivity(), consdataRecomputeMaxactivity(), constructSNFRelaxation(), copyAndSolveComponent(), createCoveringProblem(), createIndicatorConstraint(), createNlRow(), createObjRow(), createSolFromSubScipSol(), createSortedEventpoints(), createSubproblem(), createSubSCIP(), createSubscip(), detectImpliedBounds(), determineBound(), dualPresolve(), dualPresolving(), extractLinearValues(), findAggregation(), findBestLb(), findDominancePairs(), findDownlockAggregations(), findUncapacitatedArcs(), findUplockAggregations(), fixDiscreteVars(), fixIntegerVariableUb(), fixVariables(), focusnodeCleanupVars(), forbidFixation(), freeMemory(), generateBoundInequalityFromSOS1Nodes(), generateCut(), generateRowSOS2(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), getBounddist(), getBounds(), getClosestLb(), getClosestVub(), getGenVBoundsMinActivity(), getImpliedBounds(), getMaxactImplicObjchg(), getMinactImplicObjchg(), getMinColActWithoutBound(), getMinColActWithoutRow(), getVarSignature(), handleNewVariableSOS1(), infCntUpdateExplicit(), isBoundchgUseless(), isCandidate(), isVlb(), isVub(), mcfnetworkFill(), objimplicsCreate(), optimize(), performDualfix(), polishSolution(), predBndStr(), preprocessConstraintPairs(), presolRoundIndicator(), presolRoundSOS2(), presolveConsEffectiveHorizon(), presolveConsEst(), presolveConsLct(), presolveCreateBenTalNemirovskiApproxDim3(), presolveCreateGlineurApproxDim3(), presolveDual(), presolveTryAddLinearReform(), printSignpowerRow(), propagateBinaryBestRootRedcost(), propagateCutoffboundGlobally(), propagateCutoffboundVar(), propagateLowerboundVar(), propagateRootRedcostVar(), propagateVarbounds(), propagateVbounds(), proposeFeasibleSolution(), readBinaries(), readBounds(), readGenerals(), readSemicontinuous(), readSol(), recomputeGlbPseudoObjectiveValue(), relaxVar(), removeDoubleAndSingletonsAndPerformDualpresolve(), removeFixedVariables(), removeIrrelevantJobs(), reoptSaveNewObj(), resolveGenVBoundPropagation(), resolvePropagationCoretimes(), roundMIRRow(), roundStrongCGRow(), rowFindSlackVar(), rowScale(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSENABLE(), SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_QUADCONSUPGD(), SCIP_DECL_SOLVECUMULATIVE(), SCIPaddVarImplication(), SCIPapplyHeurDualval(), SCIPapplyHeurSubNlp(), SCIPapplyProbingVar(), SCIPapplyProximity(), SCIPapplyUndercover(), SCIPapplyZeroobj(), SCIPcliqueDelVar(), SCIPcliquetableAdd(), SCIPcomputeVarLbGlobal(), SCIPconflictAddRelaxedBound(), SCIPconflictGetVarLb(), SCIPconsResolvePropagation(), SCIPcreateConsLinking(), SCIPcreateConsOrbitope(), SCIPcreateFiniteSolCopy(), SCIPevalExprtreeGlobalBounds(), SCIPimplicsAdd(), SCIPlpRecomputeLocalAndGlobalPseudoObjval(), SCIPlpUpdateVarObj(), SCIPmatrixCreate(), SCIPmatrixPrintRow(), SCIPnodeAddBoundinfer(), SCIPpropResolvePropagation(), SCIPresolveSolHeurSubNlp(), SCIPseparateRelaxedKnapsack(), SCIPshrinkDisjunctiveVarSet(), SCIPsolAdjustImplicitSolVals(), SCIPsolCheck(), SCIPsolGetRayVal(), SCIPsolGetVal(), SCIPsolSetVal(), SCIPtightenVarLbGlobal(), SCIPtightenVarUbGlobal(), SCIPvarAddHoleGlobal(), SCIPvarAddImplic(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarCopy(), SCIPvarGetHolelistOriginal(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetMultaggrUbGlobal(), SCIPvarGetNLPSol_rec(), SCIPvarGetRelaxSol(), SCIPvarPrint(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarUpdateBestRootSol(), SCIPvisualizeConsCumulative(), SCIPwriteLp(), SCIPwritePip(), selectShifting(), sepaImplBoundCutsSOS1(), separateCuts(), sepastoreApplyLb(), sepastoreApplyUb(), sepastoreIsBdchgApplicable(), shiftValues(), singletonColumnStuffing(), skipRedundantBdchginfos(), solveLp(), solveSubMIP(), solveSubNLP(), sortAndMergeClique(), termIsConstant(), tightenBounds(), tightenCoefs(), tightenVarUb(), transformMIRRow(), transformStrongCGRow(), treeAddPendingBdchg(), tryUpgradingXor(), undoBdchgsProof(), updateDualBoundsExplicit(), updateFirstRow(), updateFirstRowGlobal(), updateSlacks(), varAddImplic(), varAddVbound(), varIncRootboundchgs(), varIsFixed(), and varProcessAddHoleGlobal().

SCIP_Real SCIPvarGetUbGlobal ( SCIP_VAR var)

gets global upper bound of variable

Parameters
varproblem variable

Definition at line 17067 of file var.c.

References SCIP_Var::glbdom, NULL, SCIPvarGetHolelistGlobal(), and SCIP_Dom::ub.

Referenced by addAltLPColumn(), addConflictBinvar(), addConflictBounds(), addConflictReasonVars(), addLinearization(), addLinearizationCuts(), addVarbound(), adjustCutoffbound(), adjustOversizedJobBounds(), analyzeEnergyRequirement(), analyzeStrongbranch(), applyFixings(), applyGenVBound(), applyImplic(), boundchgApplyGlobal(), calcColActivity(), calcColActResidualExplicitBound(), calcShiftVal(), calculateBounds(), checkCurvature(), checkFixedVariables(), checkGlbfirstnonfixed(), checkIISlocal(), checkImplic(), checkOverloadViaThetaTree(), checkRedundancy(), checkRedundancySide(), checkSolution(), checkSystemGF2(), cleanupMIRRow(), cliqueCheck(), cliqueCleanup(), cliquePresolve(), collectBinaryCliqueData(), collectBinaryVars(), collectDemands(), collectMinactImplicVar(), collectMinactImplicVars(), collectNonBinaryImplicationData(), collectNonBinaryVBoundData(), computeCut(), computeEnergyContribution(), computeInteriorPoint(), computeRanks(), computeViolation(), conflictAnalyze(), consdataCreateBinvars(), consdataDeletePos(), consdataGetGlbActivityResiduals(), consdataLinearize(), consdataPrint(), consdataRecomputeGlbMinactivity(), consdataRecomputeMaxactivity(), constructSNFRelaxation(), copyAndSolveComponent(), createCoveringProblem(), createIndicatorConstraint(), createNlRow(), createObjRow(), createSortedEventpoints(), createSubproblem(), createSubSCIP(), createSubscip(), createVarUbs(), detectImpliedBounds(), determineBound(), dualPresolve(), dualPresolving(), extractLinearValues(), findAggregation(), findBestUb(), findDominancePairs(), findDownlockAggregations(), findFixings(), findUncapacitatedArcs(), findUplockAggregations(), fixDiscreteVars(), fixIntegerVariableUb(), fixTriangle(), fixVariables(), focusnodeCleanupVars(), forbidFixation(), freeMemory(), generateBoundInequalityFromSOS1Nodes(), generateCut(), generateRowSOS2(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), getBounddist(), getBounds(), getClosestUb(), getClosestVlb(), getGenVBoundsMinActivity(), getImpliedBounds(), getMaxactImplicObjchg(), getMinactImplicObjchg(), getMinColActWithoutBound(), getMinColActWithoutRow(), getVarSignature(), handleNewVariableSOS1(), infCntUpdateExplicit(), isBoundchgUseless(), isCandidate(), mcfnetworkFill(), objimplicsCreate(), optimize(), performDualfix(), polishSolution(), predBndStr(), preprocessConstraintPairs(), presolRoundIndicator(), presolRoundSOS2(), presolveConsEffectiveHorizon(), presolveConsEst(), presolveConsLct(), presolveDual(), presolveTryAddLinearReform(), printIndicatorCons(), printSignpowerRow(), propagateBinaryBestRootRedcost(), propagateCons(), propagateCutoffboundGlobally(), propagateCutoffboundVar(), propagateLowerboundVar(), propagateRootRedcostVar(), propagateVarbounds(), propagateVbounds(), proposeFeasibleSolution(), readBinaries(), readBounds(), readGenerals(), readSol(), recomputeGlbPseudoObjectiveValue(), relaxVar(), removeFixedVariables(), removeIrrelevantJobs(), reoptSaveNewObj(), resolveGenVBoundPropagation(), resolvePropagationCoretimes(), roundMIRRow(), roundStrongCGRow(), rowFindSlackVar(), rowScale(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_QUADCONSUPGD(), SCIP_DECL_SOLVECUMULATIVE(), SCIPaddVarImplication(), SCIPapplyHeurDualval(), SCIPapplyHeurSubNlp(), SCIPapplyProbingVar(), SCIPapplyProximity(), SCIPapplyZeroobj(), SCIPcliqueDelVar(), SCIPcliquetableAdd(), SCIPcomputeVarUbGlobal(), SCIPconflictAddRelaxedBound(), SCIPconflictGetVarUb(), SCIPconsResolvePropagation(), SCIPcreateConsLinking(), SCIPcreateConsOrbitope(), SCIPcreateFiniteSolCopy(), SCIPevalExprtreeGlobalBounds(), SCIPimplicsAdd(), SCIPlpRecomputeLocalAndGlobalPseudoObjval(), SCIPlpUpdateVarObj(), SCIPmatrixCreate(), SCIPmatrixPrintRow(), SCIPnodeAddBoundinfer(), SCIPpropResolvePropagation(), SCIPresolveSolHeurSubNlp(), SCIPseparateRelaxedKnapsack(), SCIPshrinkDisjunctiveVarSet(), SCIPsolAdjustImplicitSolVals(), SCIPsolCheck(), SCIPsolGetRayVal(), SCIPsolGetVal(), SCIPtightenVarLbGlobal(), SCIPtightenVarUbGlobal(), SCIPvarAddHoleGlobal(), SCIPvarAddImplic(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarCopy(), SCIPvarGetLbGlobal(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetMultaggrUbGlobal(), SCIPvarGetNLPSol_rec(), SCIPvarGetProbvarBinary(), SCIPvarGetRelaxSol(), SCIPvarPrint(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarUpdateBestRootSol(), SCIPvisualizeConsCumulative(), SCIPwriteLp(), SCIPwritePip(), selectShifting(), sepaImplBoundCutsSOS1(), separateCuts(), separateIndicators(), sepastoreApplyLb(), sepastoreApplyUb(), sepastoreIsBdchgApplicable(), shiftValues(), singletonColumnStuffing(), skipRedundantBdchginfos(), solveLp(), solveSubMIP(), solveSubNLP(), sortAndMergeClique(), termIsConstant(), tightenBounds(), tightenCoefs(), tightenVarLb(), transformMIRRow(), transformStrongCGRow(), treeAddPendingBdchg(), tryUpgradingXor(), undoBdchgsProof(), updateDualBoundsExplicit(), updateFirstRow(), updateFirstRowGlobal(), updateSlacks(), varAddImplic(), varAddVbound(), varIncRootboundchgs(), varIsFixed(), and varProcessAddHoleGlobal().

SCIP_HOLELIST* SCIPvarGetHolelistGlobal ( SCIP_VAR var)

gets the global hole list of an active variable

Parameters
varproblem variable

Definition at line 17077 of file var.c.

References SCIP_Var::glbdom, SCIP_Dom::holelist, NULL, SCIP_Real, and SCIPvarGetBestBoundGlobal().

Referenced by SCIPvarAggregate(), SCIPvarCopy(), SCIPvarGetUbGlobal(), SCIPvarMultiaggregate(), and SCIPvarPrint().

SCIP_Real SCIPvarGetBestBoundGlobal ( SCIP_VAR var)

gets best global bound of variable with respect to the objective function

Parameters
varproblem variable

Definition at line 17087 of file var.c.

References SCIP_Var::glbdom, SCIP_Dom::lb, NULL, SCIP_Var::obj, SCIP_Real, SCIPvarGetWorstBoundGlobal(), and SCIP_Dom::ub.

Referenced by presolveDual(), and SCIPvarGetHolelistGlobal().

SCIP_Real SCIPvarGetWorstBoundGlobal ( SCIP_VAR var)

gets worst global bound of variable with respect to the objective function

Parameters
varproblem variable

Definition at line 17100 of file var.c.

References SCIP_Var::glbdom, SCIP_Dom::lb, NULL, SCIP_Var::obj, SCIP_Real, SCIPvarGetLbLocal(), and SCIP_Dom::ub.

Referenced by initSolve(), and SCIPvarGetBestBoundGlobal().

SCIP_Real SCIPvarGetLbLocal ( SCIP_VAR var)

gets current lower bound of variable

Parameters
varproblem variable

Definition at line 17113 of file var.c.

References SCIP_Dom::lb, SCIP_Var::locdom, NULL, SCIP_Real, and SCIPvarGetUbLocal().

Referenced by addBilinearTermToCut(), addBoundViolated(), addBranchingComplementaritiesSOS1(), addCand(), addCliqueDataEntry(), addConcaveEstimatorBivariate(), addConcaveEstimatorMultivariate(), addConcaveEstimatorUnivariate(), addConflictReasonVars(), addFacetToCut(), addIntervalGradientEstimator(), addLinearTermToCut(), addSplitcons(), addUserEstimator(), analyseInfeasibelCoreInsertion(), analyzeConflictOne(), analyzeConflictUpperbound(), analyzeConflictZero(), analyzeEnergyRequirement(), analyzeGenVBoundConflict(), analyzeZeroResultant(), applyAlternativeBoundsBranching(), applyAlternativeBoundsFixing(), applyBdchgs(), applyBoundHeur(), applyCliqueFixings(), applyGenVBound(), applyProbing(), applyProbingVar(), applyVbounds(), applyVboundsFixings(), branch(), branchcandCalcLPCands(), branchruledataUpdateCurrentBounds(), calcBranchScore(), calculateAlternatives(), catchEvent(), changeAncestorBranchings(), checkBounddisjunction(), checkForOverlapping(), checkIISlocal(), checkKnapsack(), checkLogicor(), checkOverloadViaThetaTree(), checkRikun(), checkSolution(), checkSwitchNonoverlappingSOS1Methods(), checkVarbound(), chooseCoefVar(), chooseDoubleVar(), chooseFracVar(), chooseGuidedVar(), choosePscostVar(), chooseVeclenVar(), cleanupMIRRow(), collectBranchingCands(), collectCliqueData(), collectDataTTEF(), collectIntVars(), collectSolution(), computeAlternativeBounds(), computeCut(), computeEnergyContribution(), computeImpliedEst(), computeImpliedLct(), computeInteriorPoint(), computeMinDistance(), computeReferencePointGauge(), computeViolation(), conflictAnalyzeLP(), conflictAnalyzeRemainingBdchgs(), consCheckRedundancy(), consdataCheckNonbinvar(), consdataComputePseudoActivity(), consdataCreate(), consdataGetActivityResiduals(), consdataPrint(), consdataRecomputeMaxActivityDelta(), consdataRecomputeMinactivity(), consdataUpdateLinearActivity(), consFixInteger(), constraintNonOverlappingGraph(), copyAndSolveComponent(), coretimesUpdateLb(), coretimesUpdateUb(), countSparseSol(), createCoreProfile(), createCoverCuts(), createCoverCutsTimepoint(), createCoveringProblem(), createSelectedSortedEventpointsSol(), createSortedEventpoints(), createSubscip(), CUTOFF_CONSTRAINT(), dropEvent(), dryBranch(), enforceConflictgraph(), enforceIndicators(), evalCorner(), evalLhs(), evaluateGauge(), execRelpscost(), extractGates(), filterExistingLP(), findBestLb(), fixAndPropagate(), fixBounds(), fixIntegerVariableLb(), fixInterdiction(), fixVariable(), fixVariableZero(), fixVariableZeroNode(), forbidCover(), generate1ConvexIndefiniteUnderestimator(), generate1ConvexIndefiniteUnderestimatorAtBoundary(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternA(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), generateAverageNBRay(), generateBoundInequalityFromSOS1Cons(), generateBoundInequalityFromSOS1Nodes(), generateCloseCutPoint(), generateConvexConcaveUnderestimator(), generateCut(), generateCutFactorable(), generateCutLTI(), generateCutNonConvex(), generateCutSol(), generateEstimatingHyperplane(), generateLinearizationCut(), generateOrthogonal_lx_ly_Underestimator(), generateOrthogonal_lx_uy_Underestimator(), generateRowSOS2(), generateUnderestimatorParallelYFacets(), getBoundConsFromVertices(), getClosestLb(), getClosestVub(), getDiveBdChgsSOS1conflictgraph(), getDiveBdChgsSOS1constraints(), getFixingValue(), getGenVBoundsMinActivity(), getGenVBoundsMinActivityConflict(), getMaxactImplicObjchg(), getNLPFracVars(), getRandomVariable(), getValueScore(), handleNewVariableSOS1(), handleNewVariableSOS2(), heurdataUpdateCurrentBounds(), impliesVlbPrecedenceCondition(), inferboundsEdgeFinding(), inferVariableZero(), initConflictgraph(), initSepaData(), isConvexLocal(), isPossibleToComputeCut(), isPseudocostUpdateValid(), isViolatedSOS1(), liftCliqueVariables(), lockVariableSOS2(), lpUpdateVarColumn(), lpUpdateVarColumnProved(), lpUpdateVarLoose(), lpUpdateVarLooseProved(), makeSOS1conflictgraphFeasible(), makeSOS1constraintsFeasible(), nlpCalcFracVars(), nlpFlushVarAdditions(), nlpUpdateVarBounds(), nlrowCalcActivityBounds(), nodeGetSolvalBinaryBigMSOS1(), nodeGetSolvalVarboundLbSOS1(), performBranching(), performDualfix(), performFixing(), performRandRounding(), performStrongbranchSOS1(), performStrongbranchWithPropagation(), preprocessCliques(), presolRoundConsSOS1(), presolRoundIndicator(), presolRoundSOS2(), presolRoundVarsSOS1(), presolveConsEst(), presolveCreateBenTalNemirovskiApproxDim3(), presolveCreateGlineurApproxDim3(), presolveFindDuplicates(), presolvePropagateCons(), presolveUpgrade(), printBoundSection(), processBinvarFixings(), processFixings(), processIntegerBoundChg(), processWatchedVars(), projectVbd(), propagateBoundsBilinearTerm(), propagateBoundsCons(), propagateBoundsGetQuadActivity(), propagateBoundsQuadVar(), propagateBoundsTightenVar(), propagateBoundsTightenVarLb(), propagateCons(), propagateCutoffboundBinvars(), propagateCutoffboundVar(), propagateLbTTEF(), propagateRedcostBinvar(), propagateRedcostVar(), propagateRootRedcostBinvar(), propagateTimetable(), propagateTTEF(), propagateUbTTEF(), propagateVbounds(), propConsSOS1(), propIndicator(), proposeBranchingPoint(), propSOS2(), propVariableNonzero(), recomputeLooseObjectiveValue(), recomputePseudoObjectiveValue(), registerBranchingCandidates(), registerBranchingCandidatesCentrality(), registerBranchingCandidatesGap(), registerBranchingCandidatesViolation(), registerBranchingVariables(), registerLargeLPValueVariableForBranching(), reoptCheckLocalRestart(), reoptSimilarity(), replaceByLinearConstraints(), resolveGenVBoundPropagation(), retransformVariable(), roundMIRRow(), roundStrongCGRow(), rowCalculateGauss(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSGETDIVEBDCHGS(), SCIP_DECL_CONSLOCK(), SCIP_DECL_CONSTRANS(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPRGRAPHVARADDED(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PARAMCHGD(), SCIP_DECL_PRESOLEXEC(), SCIPaddConflictBinvar(), SCIPanalyzeDeductionsProbing(), SCIPapplyProbingVar(), SCIPbranchcandAddExternCand(), SCIPbranchcandGetPseudoCands(), SCIPbranchcandUpdateVar(), SCIPbranchExecExtern(), SCIPbranchExecLP(), SCIPbranchExecPseudo(), SCIPbranchGetBranchingPoint(), SCIPbranchVar(), SCIPbranchVarVal(), SCIPbranchVarValNary(), SCIPcolCreate(), SCIPcomputeConvexEnvelopeFacet(), SCIPcomputeVarLbLocal(), SCIPconflictAnalyzePseudo(), SCIPconflictAnalyzeStrongbranch(), SCIPcreateFiniteSolCopy(), SCIPcreateWorstCaseProfile(), SCIPcutGenerationHeuristicCmir(), SCIPevalExprtreeLocalBounds(), SCIPfixVar(), SCIPfixVarProbing(), SCIPgetVarStrongbranchWithPropagation(), SCIPinferBinvarCons(), SCIPinferBinvarProp(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPisLinearLocalQuadratic(), SCIPlpEndDive(), SCIPlpRecomputeLocalAndGlobalPseudoObjval(), SCIPlpStartDive(), SCIPlpUpdateVarObj(), SCIPlpUpdateVarUb(), SCIPmakeIndicatorFeasible(), SCIPnlpEndDive(), SCIPnodeAddBoundinfer(), SCIPnodeAddHoleinfer(), SCIPnodePropagateImplics(), SCIPperformGenericDivingAlgorithm(), SCIPpricestoreAddBdviolvar(), SCIPpricestoreAddProbVars(), SCIPpricestoreAddVar(), SCIPpricestoreResetBounds(), SCIPprobUpdateBestRootSol(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPseparateRelaxedKnapsack(), SCIPsetBinaryVarIndicator(), SCIPsolGetRayVal(), SCIPsolGetVal(), SCIPtreeBranchVar(), SCIPtreeBranchVarHole(), SCIPtreeBranchVarNary(), SCIPvarAddHoleLocal(), SCIPvarChgLbGlobal(), SCIPvarCopy(), SCIPvarGetImplRedcost(), SCIPvarGetLbAtIndex(), SCIPvarGetMultaggrLbLocal(), SCIPvarGetMultaggrUbLocal(), SCIPvarGetNLPSol_rec(), SCIPvarGetRedcost(), SCIPvarGetRelaxSol(), SCIPvarGetWorstBoundGlobal(), SCIPvarPrint(), SCIPvarWasFixedAtIndex(), SCIPvisualCutoffNode(), SCIPvisualNewChild(), SCIPvisualSolvedNode(), SCIPvisualUpdateChild(), SCIPwriteGms(), SCIPwriteLp(), SCIPwritePip(), searchEcAggr(), selectBranchVar(), selectNextDiving(), separateCons(), separateCuts(), separatePoint(), sepastoreApplyLb(), sepastoreApplyUb(), sepastoreIsBdchgApplicable(), solveIndependentCons(), solveSubMIP(), sortBounds(), termIsConstant(), tightenBounds(), tightenCoefs(), tightenedIntvar(), tightenUbTTEF(), tightenVarLb(), tightenVarsBoundsSOS1(), tightenVarUb(), transformMIRRow(), transformStrongCGRow(), transformVariable(), treeApplyPendingBdchgs(), tryOneOpt(), trySolCandidate(), unlockVariableSOS2(), updateBestCandidate(), updateFirstRow(), updateImplicationGraphSOS1(), updatePseudocost(), updateWeightsTCliquegraph(), varIsFixed(), varIsUnfixedLocal(), varProcessAddHoleLocal(), varProcessBoundChanges(), writeFzn(), and writeOpbRelevantAnds().

SCIP_Real SCIPvarGetUbLocal ( SCIP_VAR var)

gets current upper bound of variable

Parameters
varproblem variable

Definition at line 17123 of file var.c.

References SCIP_Var::locdom, NULL, SCIPvarGetHolelistLocal(), and SCIP_Dom::ub.

Referenced by addBilinearTermToCut(), addBoundViolated(), addBranchingComplementaritiesSOS1(), addCand(), addCliqueDataEntry(), addConcaveEstimatorBivariate(), addConcaveEstimatorMultivariate(), addConcaveEstimatorUnivariate(), addConflictReasonVars(), addFacetToCut(), addIntervalGradientEstimator(), addLinearTermToCut(), addSplitcons(), addUserEstimator(), analyseInfeasibelCoreInsertion(), analyzeConflictLowerbound(), analyzeConflictOne(), analyzeConflictZero(), analyzeEnergyRequirement(), analyzeGenVBoundConflict(), analyzeZeroResultant(), applyAlternativeBoundsBranching(), applyAlternativeBoundsFixing(), applyBdchgs(), applyBoundHeur(), applyCliqueFixings(), applyGenVBound(), applyProbing(), applyProbingVar(), applyVbounds(), applyVboundsFixings(), branch(), branchcandCalcLPCands(), branchruledataUpdateCurrentBounds(), calcBranchScore(), calculateAlternatives(), catchEvent(), changeAncestorBranchings(), checkBounddisjunction(), checkForOverlapping(), checkIISlocal(), checkKnapsack(), checkOverloadViaThetaTree(), checkRikun(), checkSolution(), checkSwitchNonoverlappingSOS1Methods(), checkVarbound(), chooseCoefVar(), chooseDoubleVar(), chooseFracVar(), chooseGuidedVar(), choosePscostVar(), chooseVeclenVar(), cleanupMIRRow(), collectBranchingCands(), collectCliqueData(), collectDataTTEF(), collectIntVars(), collectSolution(), computeAlternativeBounds(), computeCut(), computeEnergyContribution(), computeImpliedEst(), computeImpliedLct(), computeInteriorPoint(), computeMinDistance(), computeReferencePointGauge(), computeViolation(), conflictAnalyzeLP(), conflictAnalyzeRemainingBdchgs(), consCheckRedundancy(), consdataCheckNonbinvar(), consdataComputePseudoActivity(), consdataCreate(), consdataGetActivityResiduals(), consdataPrint(), consdataRecomputeMaxActivityDelta(), consdataRecomputeMinactivity(), consdataUpdateLinearActivity(), consFixInteger(), constraintNonOverlappingGraph(), copyAndSolveComponent(), coretimesUpdateLb(), coretimesUpdateUb(), countSparseSol(), createCoreProfile(), createCoverCuts(), createCoverCutsTimepoint(), createCoveringProblem(), createSelectedSortedEventpointsSol(), createSortedEventpoints(), createSubscip(), CUTOFF_CONSTRAINT(), dropEvent(), dryBranch(), enforceConflictgraph(), enforceIndicators(), evalCorner(), evalLhs(), evaluateGauge(), execRelpscost(), extractGates(), filterExistingLP(), findBestUb(), fixAndPropagate(), fixBounds(), fixIntegerVariableUb(), fixInterdiction(), fixVariable(), fixVariableZero(), fixVariableZeroNode(), generate1ConvexIndefiniteUnderestimator(), generate1ConvexIndefiniteUnderestimatorAtBoundary(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternA(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), generateAverageNBRay(), generateBoundInequalityFromSOS1Cons(), generateBoundInequalityFromSOS1Nodes(), generateCloseCutPoint(), generateConvexConcaveUnderestimator(), generateCut(), generateCutFactorable(), generateCutLTI(), generateCutNonConvex(), generateCutSol(), generateEstimatingHyperplane(), generateLinearizationCut(), generateOrthogonal_lx_ly_Underestimator(), generateOrthogonal_lx_uy_Underestimator(), generateRowSOS2(), generateUnderestimatorParallelYFacets(), getBoundConsFromVertices(), getClosestUb(), getClosestVlb(), getDiveBdChgsSOS1conflictgraph(), getDiveBdChgsSOS1constraints(), getFixingValue(), getGenVBoundsMinActivity(), getGenVBoundsMinActivityConflict(), getMaxactImplicObjchg(), getNLPFracVars(), getRandomVariable(), getValueScore(), handleNewVariableSOS1(), handleNewVariableSOS2(), heurdataUpdateCurrentBounds(), impliesVlbPrecedenceCondition(), inferboundsEdgeFinding(), inferVariableZero(), initConflictgraph(), initSepaData(), isConvexLocal(), isPossibleToComputeCut(), isPseudocostUpdateValid(), isViolatedSOS1(), liftCliqueVariables(), lockVariableSOS2(), lpUpdateVarColumn(), lpUpdateVarColumnProved(), lpUpdateVarLoose(), lpUpdateVarLooseProved(), makeSOS1conflictgraphFeasible(), makeSOS1constraintsFeasible(), nlpCalcFracVars(), nlpFlushVarAdditions(), nlpUpdateVarBounds(), nlrowCalcActivityBounds(), nodeGetSolvalBinaryBigMSOS1(), nodeGetSolvalVarboundUbSOS1(), performBranching(), performDualfix(), performFixing(), performRandRounding(), performStrongbranchSOS1(), performStrongbranchWithPropagation(), preprocessCliques(), presolRoundConsSOS1(), presolRoundIndicator(), presolRoundSOS2(), presolRoundVarsSOS1(), presolveConsLct(), presolveFindDuplicates(), presolvePropagateCons(), presolveUpgrade(), printBoundSection(), processBinvarFixings(), processFixings(), processIntegerBoundChg(), processWatchedVars(), projectVbd(), propagateBoundsBilinearTerm(), propagateBoundsCons(), propagateBoundsGetQuadActivity(), propagateBoundsQuadVar(), propagateBoundsTightenVar(), propagateBoundsTightenVarUb(), propagateCons(), propagateCutoffboundBinvars(), propagateCutoffboundVar(), propagateLbTTEF(), propagateRedcostBinvar(), propagateRedcostVar(), propagateRootRedcostBinvar(), propagateTimetable(), propagateTTEF(), propagateUbTTEF(), propagateVbounds(), propConsSOS1(), propIndicator(), proposeBranchingPoint(), propSOS2(), propVariableNonzero(), recomputeLooseObjectiveValue(), recomputePseudoObjectiveValue(), registerBranchingCandidates(), registerBranchingCandidatesCentrality(), registerBranchingCandidatesGap(), registerBranchingCandidatesViolation(), registerBranchingVariables(), registerLargeLPValueVariableForBranching(), removeFixedBinvars(), reoptCheckLocalRestart(), reoptSimilarity(), replaceByLinearConstraints(), resolveGenVBoundPropagation(), retransformVariable(), roundMIRRow(), roundStrongCGRow(), rowCalculateGauss(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSGETDIVEBDCHGS(), SCIP_DECL_CONSLOCK(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_CONSTRANS(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPRGRAPHVARADDED(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PARAMCHGD(), SCIPaddConflictBinvar(), SCIPanalyzeDeductionsProbing(), SCIPapplyProbingVar(), SCIPbranchcandAddExternCand(), SCIPbranchcandGetPseudoCands(), SCIPbranchcandUpdateVar(), SCIPbranchExecExtern(), SCIPbranchExecLP(), SCIPbranchExecPseudo(), SCIPbranchGetBranchingPoint(), SCIPbranchVar(), SCIPbranchVarVal(), SCIPbranchVarValNary(), SCIPcolCreate(), SCIPcomputeConvexEnvelopeFacet(), SCIPcomputeVarUbLocal(), SCIPconflictAnalyzePseudo(), SCIPconflictAnalyzeStrongbranch(), SCIPcreateFiniteSolCopy(), SCIPcreateWorstCaseProfile(), SCIPcutGenerationHeuristicCmir(), SCIPevalExprtreeLocalBounds(), SCIPfixVar(), SCIPfixVarProbing(), SCIPgetVarStrongbranchWithPropagation(), SCIPinferBinvarCons(), SCIPinferBinvarProp(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPisLinearLocalQuadratic(), SCIPlpEndDive(), SCIPlpRecomputeLocalAndGlobalPseudoObjval(), SCIPlpStartDive(), SCIPlpUpdateVarLb(), SCIPlpUpdateVarObj(), SCIPnlpEndDive(), SCIPnodeAddBoundinfer(), SCIPnodeAddHoleinfer(), SCIPnodePropagateImplics(), SCIPperformGenericDivingAlgorithm(), SCIPpricestoreAddBdviolvar(), SCIPpricestoreAddProbVars(), SCIPpricestoreAddVar(), SCIPpricestoreResetBounds(), SCIPprobUpdateBestRootSol(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPseparateRelaxedKnapsack(), SCIPsolGetRayVal(), SCIPsolGetVal(), SCIPtreeBranchVar(), SCIPtreeBranchVarHole(), SCIPtreeBranchVarNary(), SCIPvarAddHoleLocal(), SCIPvarChgUbGlobal(), SCIPvarCopy(), SCIPvarGetImplRedcost(), SCIPvarGetLbLocal(), SCIPvarGetMultaggrLbLocal(), SCIPvarGetMultaggrUbLocal(), SCIPvarGetNLPSol_rec(), SCIPvarGetRedcost(), SCIPvarGetRelaxSol(), SCIPvarGetUbAtIndex(), SCIPvarPrint(), SCIPvarWasFixedAtIndex(), SCIPvisualCutoffNode(), SCIPvisualNewChild(), SCIPvisualSolvedNode(), SCIPvisualUpdateChild(), SCIPwriteGms(), SCIPwriteLp(), SCIPwritePip(), searchEcAggr(), selectBranchVar(), selectNextDiving(), separateCons(), separateCuts(), separateIndicators(), separatePoint(), sepastoreApplyLb(), sepastoreApplyUb(), sepastoreIsBdchgApplicable(), solveIndependentCons(), solveSubMIP(), sortBounds(), termIsConstant(), tightenBounds(), tightenCoefs(), tightenedIntvar(), tightenLbTTEF(), tightenVarLb(), tightenVarsBoundsSOS1(), tightenVarUb(), transformMIRRow(), transformStrongCGRow(), transformVariable(), treeApplyPendingBdchgs(), tryOneOpt(), trySolCandidate(), unlockVariableSOS2(), updateBestCandidate(), updateFirstRow(), updateImplicationGraphSOS1(), updatePseudocost(), updateWeightsTCliquegraph(), varIsFixed(), varIsUnfixedLocal(), varProcessAddHoleLocal(), varProcessBoundChanges(), writeFzn(), and writeOpbRelevantAnds().

SCIP_HOLELIST* SCIPvarGetHolelistLocal ( SCIP_VAR var)

gets the current hole list of an active variable

Parameters
varproblem variable

Definition at line 17133 of file var.c.

References SCIP_Dom::holelist, SCIP_Var::locdom, NULL, SCIP_Real, and SCIPvarGetBestBoundLocal().

Referenced by SCIPvarCopy(), SCIPvarGetUbLocal(), and SCIPvarPrint().

SCIP_Real SCIPvarGetBestBoundLocal ( SCIP_VAR var)
SCIP_Real SCIPvarGetWorstBoundLocal ( SCIP_VAR var)

gets worst local bound of variable with respect to the objective function

Parameters
varproblem variable

Definition at line 17156 of file var.c.

References SCIP_Dom::lb, SCIP_Var::locdom, NULL, SCIP_Var::obj, SCIPvarGetBestBoundType(), and SCIP_Dom::ub.

Referenced by SCIP_DECL_CONSINITLP(), SCIPtreeBranchVar(), SCIPtreeBranchVarNary(), and SCIPvarGetBestBoundLocal().

SCIP_BOUNDTYPE SCIPvarGetBestBoundType ( SCIP_VAR var)
SCIP_BOUNDTYPE SCIPvarGetWorstBoundType ( SCIP_VAR var)

gets type (lower or upper) of worst bound of variable with respect to the objective function

Parameters
varproblem variable

Definition at line 17182 of file var.c.

References NULL, SCIP_Var::obj, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_Real, and SCIPvarGetLbLazy().

Referenced by getMaxactImplicObjchg(), getMaxactObjchg(), and SCIPvarGetBestBoundType().

SCIP_Real SCIPvarGetLbLazy ( SCIP_VAR var)

gets lazy lower bound of variable, returns -infinity if the variable has no lazy lower bound

Parameters
varproblem variable

Definition at line 17195 of file var.c.

References SCIP_Var::lazylb, NULL, SCIP_Real, and SCIPvarGetUbLazy().

Referenced by SCIPcolCreate(), SCIPvarGetWorstBoundType(), and SCIPvarPrint().

SCIP_Real SCIPvarGetUbLazy ( SCIP_VAR var)

gets lazy upper bound of variable, returns infinity if the variable has no lazy upper bound

Parameters
varproblem variable

Definition at line 17205 of file var.c.

References SCIP_Var::lazyub, NULL, SCIP_Real, and SCIPvarGetBranchFactor().

Referenced by SCIPcolCreate(), SCIPvarGetLbLazy(), and SCIPvarPrint().

SCIP_Real SCIPvarGetBranchFactor ( SCIP_VAR var)

gets the branch factor of the variable; this value can be used in the branching methods to scale the score values of the variables; higher factor leads to a higher probability that this variable is chosen for branching

Parameters
varproblem variable

Definition at line 17217 of file var.c.

References SCIP_Var::branchfactor, NULL, and SCIPvarGetBranchPriority().

Referenced by SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), SCIPaddVarBranchFactor(), SCIPbranchExecExtern(), SCIPbranchExecLP(), SCIPbranchExecPseudo(), SCIPbranchGetScore(), SCIPprintBranchingStatistics(), SCIPscaleVarBranchFactor(), SCIPvarGetUbLazy(), and updateBestCandidate().

SCIP_BRANCHDIR SCIPvarGetBranchDirection ( SCIP_VAR var)

gets the preferred branch direction of the variable (downwards, upwards, or auto)

Parameters
varproblem variable

Definition at line 17239 of file var.c.

References SCIP_Var::branchdirection, NULL, and SCIPvarGetNVlbs().

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPtreeCalcNodeselPriority(), and SCIPvarGetBranchPriority().

SCIP_VAR** SCIPvarGetVlbVars ( SCIP_VAR var)

gets array with bounding variables z_i in variable lower bounds x >= b_i*z_i + d_i of given variable x; the variable bounds are sorted by increasing variable index of the bounding variable z_i (see SCIPvarGetIndex())

Parameters
varproblem variable

Definition at line 17261 of file var.c.

References NULL, SCIP_Real, SCIPvarGetVlbCoefs(), SCIPvboundsGetVars(), and SCIP_Var::vlbs.

Referenced by collectNonBinaryVBoundData(), computeImpliedEst(), constructSNFRelaxation(), dfs(), findBestLb(), findClosestLb(), getClosestVlb(), initData(), projectVbd(), propagateVarbounds(), roundMIRRow(), SCIPseparateRelaxedKnapsack(), SCIPvarGetClosestVlb(), SCIPvarGetNVlbs(), SCIPvisualizeConsCumulative(), strengthenVarbounds(), transformMIRRow(), and transformStrongCGRow().

SCIP_Real* SCIPvarGetVlbCoefs ( SCIP_VAR var)
SCIP_Real* SCIPvarGetVlbConstants ( SCIP_VAR var)
SCIP_VAR** SCIPvarGetVubVars ( SCIP_VAR var)

gets array with bounding variables z_i in variable upper bounds x <= b_i*z_i + d_i of given variable x; the variable bounds are sorted by increasing variable index of the bounding variable z_i (see SCIPvarGetIndex())

Parameters
varproblem variable

Definition at line 17303 of file var.c.

References NULL, SCIP_Real, SCIPvarGetVubCoefs(), SCIPvboundsGetVars(), and SCIP_Var::vubs.

Referenced by collectNonBinaryVBoundData(), computeImpliedLct(), constructSNFRelaxation(), dfs(), findBestUb(), findClosestUb(), getClosestVub(), initData(), projectVbd(), propagateVarbounds(), roundMIRRow(), SCIPseparateRelaxedKnapsack(), SCIPvarGetClosestVub(), SCIPvarGetNVubs(), SCIPvisualizeConsCumulative(), transformMIRRow(), and transformStrongCGRow().

SCIP_Real* SCIPvarGetVubCoefs ( SCIP_VAR var)

gets array with bounding coefficients b_i in variable upper bounds x <= b_i*z_i + d_i of given variable x

Parameters
varproblem variable

Definition at line 17313 of file var.c.

References NULL, SCIP_Real, SCIPvarGetVubConstants(), SCIPvboundsGetCoefs(), and SCIP_Var::vubs.

Referenced by collectNonBinaryVBoundData(), computeImpliedLct(), constructSNFRelaxation(), dfs(), findClosestUb(), getClosestVub(), initData(), projectVbd(), propagateVarbounds(), roundMIRRow(), SCIPseparateRelaxedKnapsack(), SCIPvarGetClosestVub(), SCIPvarGetVubVars(), transformMIRRow(), and transformStrongCGRow().

SCIP_Real* SCIPvarGetVubConstants ( SCIP_VAR var)

gets array with bounding constants d_i in variable upper bounds x <= b_i*z_i + d_i of given variable x

Parameters
varproblem variable

Definition at line 17323 of file var.c.

References NULL, SCIPvarGetNImpls(), SCIPvboundsGetConstants(), and SCIP_Var::vubs.

Referenced by collectNonBinaryVBoundData(), computeImpliedLct(), constructSNFRelaxation(), findClosestUb(), getClosestVub(), initData(), projectVbd(), propagateVarbounds(), roundMIRRow(), SCIPseparateRelaxedKnapsack(), SCIPvarGetClosestVub(), SCIPvarGetVubCoefs(), transformMIRRow(), and transformStrongCGRow().

int SCIPvarGetNImpls ( SCIP_VAR var,
SCIP_Bool  varfixing 
)

gets number of implications y <= b or y >= b for x == 0 or x == 1 of given active problem variable x, there are no implications for nonbinary variable x

Parameters
varactive problem variable
varfixingFALSE for implications for x == 0, TRUE for x == 1

Definition at line 17335 of file var.c.

References SCIP_Var::implics, NULL, SCIPimplicsGetNImpls(), SCIPvarGetImplVars(), and SCIPvarIsActive().

Referenced by catchEvents(), collectNonBinaryImplicationData(), dfs(), getImpliedBounds(), getMaxactImplicObjchg(), presolveDisaggregate(), propagateVbounds(), removeConstraintsDueToNegCliques(), SCIP_DECL_PRESOLEXEC(), SCIPapplyProbingVar(), SCIPcopyImplicationsCliques(), SCIPnodePropagateImplics(), SCIPvarGetAvgInferences(), SCIPvarGetAvgInferencesCurrentRun(), SCIPvarGetVubConstants(), separateCuts(), and sortVariables().

SCIP_VAR** SCIPvarGetImplVars ( SCIP_VAR var,
SCIP_Bool  varfixing 
)

gets array with implication variables y of implications y <= b or y >= b for x == 0 or x == 1 of given active problem variable x, there are no implications for nonbinary variable x; the implications are sorted such that implications with binary implied variables precede the ones with non-binary implied variables, and as a second criteria, the implied variables are sorted by increasing variable index (see SCIPvarGetIndex())

Parameters
varactive problem variable
varfixingFALSE for implications for x == 0, TRUE for x == 1

Definition at line 17352 of file var.c.

References SCIP_Var::implics, NULL, SCIPimplicsGetVars(), SCIPvarGetImplTypes(), and SCIPvarIsActive().

Referenced by collectNonBinaryImplicationData(), dfs(), getImpliedBounds(), getMaxactImplicObjchg(), propagateVbounds(), SCIP_DECL_PRESOLEXEC(), SCIPcopyImplicationsCliques(), SCIPnodePropagateImplics(), SCIPvarGetNImpls(), and separateCuts().

SCIP_BOUNDTYPE* SCIPvarGetImplTypes ( SCIP_VAR var,
SCIP_Bool  varfixing 
)

gets array with implication types of implications y <= b or y >= b for x == 0 or x == 1 of given active problem variable x (SCIP_BOUNDTYPE_UPPER if y <= b, SCIP_BOUNDTYPE_LOWER if y >= b), there are no implications for nonbinary variable x

Parameters
varactive problem variable
varfixingFALSE for implications for x == 0, TRUE for x == 1

Definition at line 17367 of file var.c.

References SCIP_Var::implics, NULL, SCIP_Real, SCIPimplicsGetTypes(), SCIPvarGetImplBounds(), and SCIPvarIsActive().

Referenced by collectNonBinaryImplicationData(), dfs(), getImpliedBounds(), getMaxactImplicObjchg(), propagateVbounds(), SCIP_DECL_PRESOLEXEC(), SCIPcopyImplicationsCliques(), SCIPnodePropagateImplics(), SCIPvarGetImplVars(), and separateCuts().

SCIP_Real* SCIPvarGetImplBounds ( SCIP_VAR var,
SCIP_Bool  varfixing 
)

gets array with implication bounds b of implications y <= b or y >= b for x == 0 or x == 1 of given active problem variable x, there are no implications for nonbinary variable x

Parameters
varactive problem variable
varfixingFALSE for implications for x == 0, TRUE for x == 1

Definition at line 17381 of file var.c.

References SCIP_Var::implics, NULL, SCIPimplicsGetBounds(), SCIPvarGetImplIds(), and SCIPvarIsActive().

Referenced by collectNonBinaryImplicationData(), getImpliedBounds(), getMaxactImplicObjchg(), propagateVbounds(), SCIP_DECL_PRESOLEXEC(), SCIPcopyImplicationsCliques(), SCIPnodePropagateImplics(), SCIPvarGetImplTypes(), and separateCuts().

int* SCIPvarGetImplIds ( SCIP_VAR var,
SCIP_Bool  varfixing 
)

Gets array with unique ids of implications y <= b or y >= b for x == 0 or x == 1 of given active problem variable x, there are no implications for nonbinary variable x. If an implication is a shortcut, i.e., it was added as part of the transitive closure of another implication, its id is negative, otherwise it is nonnegative.

Parameters
varactive problem variable
varfixingFALSE for implications for x == 0, TRUE for x == 1

Definition at line 17397 of file var.c.

References SCIP_Var::implics, NULL, SCIPimplicsGetIds(), SCIPvarGetNCliques(), and SCIPvarIsActive().

Referenced by dfs(), propagateVbounds(), and SCIPvarGetImplBounds().

SCIP_CLIQUE** SCIPvarGetCliques ( SCIP_VAR var,
SCIP_Bool  varfixing 
)
SCIP_BDCHGINFO* SCIPvarGetBdchgInfoLb ( SCIP_VAR var,
int  pos 
)

return lower bound change info at requested position

Parameters
varproblem variable
posrequested position

Definition at line 17457 of file var.c.

References SCIP_Var::lbchginfos, and SCIPvarGetNBdchgInfosLb().

Referenced by SCIPconflictAddRelaxedBound(), SCIPvarGetNLPSol(), and updatePseudocost().

int SCIPvarGetNBdchgInfosLb ( SCIP_VAR var)

gets the number of lower bound change info array

Parameters
varproblem variable

Definition at line 17469 of file var.c.

References SCIP_Var::nlbchginfos, and SCIPvarGetBdchgInfoUb().

Referenced by SCIPvarGetBdchgInfoLb(), and updatePseudocost().

SCIP_BDCHGINFO* SCIPvarGetBdchgInfoUb ( SCIP_VAR var,
int  pos 
)

return upper bound change info at requested position

Parameters
varproblem variable
posrequested position

Definition at line 17477 of file var.c.

References SCIPvarGetNBdchgInfosUb(), and SCIP_Var::ubchginfos.

Referenced by SCIPconflictAddRelaxedBound(), SCIPvarGetNBdchgInfosLb(), and updatePseudocost().

int SCIPvarGetNBdchgInfosUb ( SCIP_VAR var)

gets the number upper bound change info array

Parameters
varproblem variable

Definition at line 17489 of file var.c.

References SCIP_Var::nubchginfos, NULL, and SCIPvarGetValuehistory().

Referenced by SCIPvarGetBdchgInfoUb(), and updatePseudocost().

SCIP_VALUEHISTORY* SCIPvarGetValuehistory ( SCIP_VAR var)

returns the value based history for the variable

Parameters
varproblem variable

Definition at line 17499 of file var.c.

References NULL, SCIP_Real, SCIPvarGetPseudoSol(), and SCIP_Var::valuehistory.

Referenced by getValueScore(), and SCIPvarGetNBdchgInfosUb().

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 17522 of file var.c.

References SCIP_Var::history, NULL, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPhistoryGetVSIDS(), SCIPvarCatchEvent(), SCIPvarGetStatus(), SCIPvarGetVSIDS_rec(), and SCIP_Stat::vsidsweight.

Referenced by SCIPgetVarConflictScore(), SCIPgetVarVSIDS(), SCIPvarGetPseudoSol(), and SCIPvarGetVSIDS_rec().

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

includes event handler with given data in variable's event filter

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 17537 of file var.c.

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

Referenced by nlpAddVars(), SCIPcatchVarEvent(), and SCIPvarGetVSIDS().

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 17564 of file var.c.

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

Referenced by nlpDelVarPos(), SCIPdropVarEvent(), and SCIPvarCatchEvent().

int SCIPbdchgidxGetPos ( SCIP_BDCHGIDX bdchgidx)

returns the position of the bound change index

Parameters
bdchgidxbound change index

Definition at line 17588 of file var.c.

References NULL, SCIP_BdChgIdx::pos, SCIP_Bool, and SCIPbdchgidxIsEarlierNonNull().

Referenced by SCIPconflictAddRelaxedBound(), and SCIPvarDropEvent().

SCIP_Bool SCIPbdchgidxIsEarlierNonNull ( SCIP_BDCHGIDX bdchgidx1,
SCIP_BDCHGIDX bdchgidx2 
)

returns whether first bound change index belongs to an earlier applied bound change than second one

Parameters
bdchgidx1first bound change index
bdchgidx2second bound change index

Definition at line 17598 of file var.c.

References SCIP_BdChgIdx::depth, NULL, SCIP_BdChgIdx::pos, SCIP_Bool, and SCIPbdchgidxIsEarlier().

Referenced by SCIP_DECL_SORTPTRCOMP(), SCIPbdchgidxGetPos(), and SCIPvarGetLastBdchgIndex().

SCIP_Bool SCIPbdchgidxIsEarlier ( SCIP_BDCHGIDX bdchgidx1,
SCIP_BDCHGIDX bdchgidx2 
)

returns whether first bound change index belongs to an earlier applied bound change than second one; if a bound change index is NULL, the bound change index represents the current time, i.e. the time after the last bound change was applied to the current node

Parameters
bdchgidx1first bound change index, or NULL
bdchgidx2second bound change index, or NULL

Definition at line 17618 of file var.c.

References SCIP_BdChgIdx::depth, FALSE, NULL, SCIP_BdChgIdx::pos, SCIP_Real, SCIPbdchginfoGetOldbound(), and TRUE.

Referenced by SCIPbdchgidxIsEarlierNonNull(), SCIPconflictAddBound(), SCIPconflictAddRelaxedBound(), SCIPvarGetLbchgInfo(), SCIPvarGetUbchgInfo(), SCIPvarWasFixedEarlier(), varAddLbchginfo(), and varAddUbchginfo().

SCIP_Real SCIPbdchginfoGetOldbound ( SCIP_BDCHGINFO bdchginfo)

returns old bound that was overwritten for given bound change information

Parameters
bdchginfobound change information

Definition at line 17638 of file var.c.

References NULL, SCIP_BdChgInfo::oldbound, SCIP_Real, and SCIPbdchginfoGetNewbound().

Referenced by conflictAddBound(), SCIPbdchgidxIsEarlier(), and SCIPconflictAddRelaxedBound().

SCIP_BOUNDCHGTYPE SCIPbdchginfoGetChgtype ( SCIP_BDCHGINFO bdchginfo)

returns whether the bound change information belongs to a branching decision or a deduction

Parameters
bdchginfobound change information

Definition at line 17668 of file var.c.

References SCIP_BdChgInfo::boundchgtype, NULL, and SCIPbdchginfoGetBoundtype().

Referenced by bdchginfoIsResolvable(), conflictAddBound(), conflictResolveBound(), and SCIPbdchginfoGetVar().

int SCIPbdchginfoGetPos ( SCIP_BDCHGINFO bdchginfo)

returns bound change position in its depth level of given bound change information

Parameters
bdchginfobound change information

Definition at line 17698 of file var.c.

References SCIP_BdChgInfo::bdchgidx, NULL, SCIP_BdChgIdx::pos, and SCIPbdchginfoGetIdx().

Referenced by conflictAddBound(), conflictAnalyze(), conflictCreateReconvergenceConss(), conflictResolveBound(), SCIPbdchginfoGetDepth(), and SCIPconflictAddRelaxedBound().

SCIP_BDCHGIDX* SCIPbdchginfoGetIdx ( SCIP_BDCHGINFO bdchginfo)

returns bound change index of given bound change information

Parameters
bdchginfobound change information

Definition at line 17708 of file var.c.

References SCIP_BdChgInfo::bdchgidx, NULL, and SCIPbdchginfoGetInferVar().

Referenced by conflictResolveBound(), SCIP_DECL_SORTPTRCOMP(), SCIPbdchginfoGetPos(), SCIPconflictAddBound(), and SCIPconflictAddRelaxedBound().

SCIP_VAR* SCIPbdchginfoGetInferVar ( SCIP_BDCHGINFO bdchginfo)

returns inference variable of given bound change information

Parameters
bdchginfobound change information

Definition at line 17718 of file var.c.

References SCIP_BdChgInfo::boundchgtype, SCIP_BdChgInfo::inferencedata, NULL, SCIP_BOUNDCHGTYPE_CONSINFER, SCIP_BOUNDCHGTYPE_PROPINFER, and SCIPbdchginfoGetInferCons().

Referenced by conflictResolveBound(), and SCIPbdchginfoGetIdx().

SCIP_CONS* SCIPbdchginfoGetInferCons ( SCIP_BDCHGINFO bdchginfo)

returns inference constraint of given bound change information

Parameters
bdchginfobound change information

Definition at line 17730 of file var.c.

References SCIP_BdChgInfo::boundchgtype, SCIP_BdChgInfo::inferencedata, NULL, SCIP_BOUNDCHGTYPE_CONSINFER, and SCIPbdchginfoGetInferProp().

Referenced by conflictAddBound(), conflictResolveBound(), and SCIPbdchginfoGetInferVar().

SCIP_PROP* SCIPbdchginfoGetInferProp ( SCIP_BDCHGINFO bdchginfo)

returns inference propagator of given bound change information, or NULL if no propagator was responsible

Parameters
bdchginfobound change information

Definition at line 17742 of file var.c.

References SCIP_BdChgInfo::boundchgtype, SCIP_BdChgInfo::inferencedata, NULL, SCIP_BOUNDCHGTYPE_PROPINFER, and SCIPbdchginfoGetInferInfo().

Referenced by bdchginfoIsResolvable(), conflictAddBound(), conflictResolveBound(), and SCIPbdchginfoGetInferCons().

int SCIPbdchginfoGetInferInfo ( SCIP_BDCHGINFO bdchginfo)

returns inference user information of given bound change information

Parameters
bdchginfobound change information

Definition at line 17753 of file var.c.

References SCIP_BdChgInfo::boundchgtype, SCIP_BdChgInfo::inferencedata, NULL, SCIP_BOUNDCHGTYPE_CONSINFER, SCIP_BOUNDCHGTYPE_PROPINFER, and SCIPbdchginfoGetInferBoundtype().

Referenced by conflictAddBound(), conflictResolveBound(), and SCIPbdchginfoGetInferProp().

SCIP_BOUNDTYPE SCIPbdchginfoGetInferBoundtype ( SCIP_BDCHGINFO bdchginfo)

returns inference bound of inference variable of given bound change information

Parameters
bdchginfobound change information

Definition at line 17765 of file var.c.

References SCIP_BdChgInfo::boundchgtype, SCIP_BdChgInfo::inferboundtype, NULL, SCIP_BOUNDCHGTYPE_CONSINFER, SCIP_BOUNDCHGTYPE_PROPINFER, SCIP_Real, and SCIPbdchginfoGetRelaxedBound().

Referenced by conflictResolveBound(), and SCIPbdchginfoGetInferInfo().

SCIP_Real SCIPbdchginfoGetRelaxedBound ( SCIP_BDCHGINFO bdchginfo)
SCIP_Bool SCIPbdchginfoHasInferenceReason ( SCIP_BDCHGINFO bdchginfo)

returns whether the bound change has an inference reason (constraint or propagator), that can be resolved

Parameters
bdchginfobound change information

Definition at line 17797 of file var.c.

References SCIP_BdChgInfo::boundchgtype, SCIP_BdChgInfo::inferencedata, NULL, SCIP_Bool, SCIP_BOUNDCHGTYPE_CONSINFER, SCIP_BOUNDCHGTYPE_PROPINFER, and SCIPbdchginfoIsTighter().

Referenced by conflictAnalyze(), and SCIPbdchginfoIsRedundant().

SCIP_Bool SCIPbdchginfoIsTighter ( SCIP_BDCHGINFO bdchginfo1,
SCIP_BDCHGINFO bdchginfo2 
)

for two bound change informations belonging to the same variable and bound, returns whether the first bound change has a tighter new bound as the second bound change

Parameters
bdchginfo1first bound change information
bdchginfo2second bound change information

Definition at line 17811 of file var.c.

References SCIP_BdChgInfo::boundtype, SCIP_BdChgInfo::newbound, NULL, SCIP_BOUNDTYPE_LOWER, SCIPbdchginfoGetBoundtype(), and SCIP_BdChgInfo::var.

Referenced by conflictsetAddBound(), conflictsetAddBounds(), conflictsetIsRedundant(), and SCIPbdchginfoHasInferenceReason().

Variable Documentation

SCIP_BDCHGIDX initbdchgidx = {-2, 0}
static

bound change index representing the initial time before any bound changes took place

Definition at line 16015 of file var.c.

Referenced by SCIPvarGetLastBdchgIndex(), and SCIPvarWasFixedAtIndex().

SCIP_BDCHGIDX presolvebdchgidx = {-1, 0}
static

bound change index representing the presolving stage

Definition at line 16018 of file var.c.

Referenced by SCIPvarGetLastBdchgIndex().