SCIP

    Solving Constraint Integer Programs

    var.h File Reference

    Detailed Description

    internal methods for problem variables

    Author
    Tobias Achterberg

    Definition in file var.h.

    #include "blockmemshell/memory.h"
    #include "scip/def.h"
    #include "scip/type_branch.h"
    #include "scip/type_certificate.h"
    #include "scip/type_cons.h"
    #include "scip/type_event.h"
    #include "scip/type_history.h"
    #include "scip/type_implics.h"
    #include "scip/type_lp.h"
    #include "scip/type_lpexact.h"
    #include "scip/type_message.h"
    #include "scip/type_misc.h"
    #include "scip/type_primal.h"
    #include "scip/type_prob.h"
    #include "scip/type_prop.h"
    #include "scip/type_relax.h"
    #include "scip/type_reopt.h"
    #include "scip/type_result.h"
    #include "scip/type_retcode.h"
    #include "scip/type_scip.h"
    #include "scip/type_set.h"
    #include "scip/type_sol.h"
    #include "scip/type_stat.h"
    #include "scip/type_tree.h"
    #include "scip/type_var.h"
    #include "scip/intervalarith.h"
    #include "scip/struct_var.h"

    Go to the source code of this file.

    Functions

    SCIP_RETCODE SCIPboundchgApply (SCIP_BOUNDCHG *boundchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, int depth, int pos, SCIP_Bool *cutoff)
     
    SCIP_RETCODE SCIPboundchgUndo (SCIP_BOUNDCHG *boundchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue)
     
    SCIP_RETCODE SCIPdomchgApplyGlobal (SCIP_DOMCHG *domchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_Bool *cutoff)
     
    SCIP_RETCODE SCIPdomchgFree (SCIP_DOMCHG **domchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_LP *lp)
     
    SCIP_RETCODE SCIPdomchgMakeStatic (SCIP_DOMCHG **domchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_LP *lp)
     
    SCIP_RETCODE SCIPdomchgApply (SCIP_DOMCHG *domchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, int depth, SCIP_Bool *cutoff)
     
    SCIP_RETCODE SCIPdomchgUndo (SCIP_DOMCHG *domchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue)
     
    void SCIPdomchgAddCurrentCertificateIndex (SCIP_DOMCHG *domchg, SCIP_CERTIFICATE *certificate)
     
    SCIP_RETCODE SCIPdomchgAddBoundchg (SCIP_DOMCHG **domchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_VAR *var, SCIP_Real newbound, SCIP_RATIONAL *newboundexact, SCIP_BOUNDTYPE boundtype, SCIP_BOUNDCHGTYPE boundchgtype, SCIP_Real lpsolval, SCIP_VAR *infervar, SCIP_CONS *infercons, SCIP_PROP *inferprop, int inferinfo, SCIP_BOUNDTYPE inferboundtype)
     
    SCIP_RETCODE SCIPdomchgAddHolechg (SCIP_DOMCHG **domchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_HOLELIST **ptr, SCIP_HOLELIST *newlist, SCIP_HOLELIST *oldlist)
     
    SCIP_RETCODE SCIPbdchginfoCreate (SCIP_BDCHGINFO **bdchginfo, BMS_BLKMEM *blkmem, SCIP_VAR *var, SCIP_BOUNDTYPE boundtype, SCIP_Real oldbound, SCIP_Real newbound)
     
    void SCIPbdchginfoFree (SCIP_BDCHGINFO **bdchginfo, BMS_BLKMEM *blkmem)
     
    SCIP_Real SCIPbdchginfoGetRelaxedBound (SCIP_BDCHGINFO *bdchginfo)
     
    SCIP_RETCODE SCIPvarCreateOriginal (SCIP_VAR **var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, const char *name, SCIP_Real lb, SCIP_Real ub, SCIP_Real obj, SCIP_VARTYPE vartype, SCIP_IMPLINTTYPE impltype, SCIP_Bool initial, SCIP_Bool removable, SCIP_DECL_VARDELORIG((*vardelorig)), SCIP_DECL_VARTRANS((*vartrans)), SCIP_DECL_VARDELTRANS((*vardeltrans)), SCIP_DECL_VARCOPY((*varcopy)), SCIP_VARDATA *vardata)
     
    SCIP_RETCODE SCIPvarCreateTransformed (SCIP_VAR **var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, const char *name, SCIP_Real lb, SCIP_Real ub, SCIP_Real obj, SCIP_VARTYPE vartype, SCIP_IMPLINTTYPE impltype, SCIP_Bool initial, SCIP_Bool removable, SCIP_DECL_VARDELORIG((*vardelorig)), SCIP_DECL_VARTRANS((*vartrans)), SCIP_DECL_VARDELTRANS((*vardeltrans)), SCIP_DECL_VARCOPY((*varcopy)), SCIP_VARDATA *vardata)
     
    SCIP_RETCODE SCIPvarAddExactData (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_RATIONAL *lb, SCIP_RATIONAL *ub, SCIP_RATIONAL *obj)
     
    SCIP_RETCODE SCIPvarCopyExactData (BMS_BLKMEM *blkmem, SCIP_VAR *targetvar, SCIP_VAR *sourcevar, SCIP_Bool negateobj)
     
    SCIP_RETCODE SCIPvarCopy (SCIP_VAR **var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP *sourcescip, SCIP_VAR *sourcevar, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, SCIP_Bool global)
     
    SCIP_RETCODE SCIPvarParseOriginal (SCIP_VAR **var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_STAT *stat, const char *str, SCIP_Bool initial, SCIP_Bool removable, SCIP_DECL_VARCOPY((*varcopy)), SCIP_DECL_VARDELORIG((*vardelorig)), SCIP_DECL_VARTRANS((*vartrans)), SCIP_DECL_VARDELTRANS((*vardeltrans)), SCIP_VARDATA *vardata, char **endptr, SCIP_Bool *success)
     
    SCIP_RETCODE SCIPvarParseTransformed (SCIP_VAR **var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_STAT *stat, const char *str, SCIP_Bool initial, SCIP_Bool removable, SCIP_DECL_VARCOPY((*varcopy)), SCIP_DECL_VARDELORIG((*vardelorig)), SCIP_DECL_VARTRANS((*vartrans)), SCIP_DECL_VARDELTRANS((*vardeltrans)), SCIP_VARDATA *vardata, char **endptr, SCIP_Bool *success)
     
    void SCIPvarCapture (SCIP_VAR *var)
     
    SCIP_RETCODE SCIPvarRelease (SCIP_VAR **var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_LP *lp)
     
    SCIP_RETCODE SCIPvarChgName (SCIP_VAR *var, BMS_BLKMEM *blkmem, const char *name)
     
    void SCIPvarInitSolve (SCIP_VAR *var)
     
    SCIP_RETCODE SCIPvarTransform (SCIP_VAR *origvar, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_OBJSENSE objsense, SCIP_VAR **transvar)
     
    SCIP_RETCODE SCIPvarGetTransformed (SCIP_VAR *origvar, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_VAR **transvar)
     
    SCIP_RETCODE SCIPvarColumn (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_LP *lp)
     
    SCIP_RETCODE SCIPvarColumnExact (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LPEXACT *lp)
     
    SCIP_RETCODE SCIPvarLoose (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_PROB *prob, SCIP_LP *lp)
     
    SCIP_RETCODE SCIPvarFix (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_CLIQUETABLE *cliquetable, SCIP_Real fixedval, SCIP_Bool *infeasible, SCIP_Bool *fixed)
     
    SCIP_RETCODE SCIPvarFixExact (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_CLIQUETABLE *cliquetable, SCIP_RATIONAL *fixedval, SCIP_Bool *infeasible, SCIP_Bool *fixed)
     
    SCIP_RETCODE SCIPvarGetActiveRepresentatives (SCIP_SET *set, SCIP_VAR **vars, SCIP_Real *scalars, int *nvars, int varssize, SCIP_Real *constant, int *requiredsize)
     
    SCIP_RETCODE SCIPvarGetActiveRepresentativesExact (SCIP_SET *set, SCIP_VAR **vars, SCIP_RATIONAL **scalars, int *nvars, int varssize, SCIP_RATIONAL *constant, int *requiredsize, SCIP_Bool mergemultiples)
     
    SCIP_RETCODE SCIPvarGetProbvarSum (SCIP_VAR **var, SCIP_SET *set, SCIP_Real *scalar, SCIP_Real *constant)
     
    SCIP_RETCODE SCIPvarGetProbvarSumExact (SCIP_VAR **var, SCIP_RATIONAL *scalar, SCIP_RATIONAL *constant)
     
    SCIP_RETCODE SCIPvarFlattenAggregationGraph (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue)
     
    SCIP_RETCODE SCIPvarsGetActiveVars (SCIP_SET *set, SCIP_VAR **vars, int *nvars, int varssize, int *requiredsize)
     
    SCIP_RETCODE SCIPvarTryAggregateVars (SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_VAR *varx, SCIP_VAR *vary, SCIP_Real scalarx, SCIP_Real scalary, SCIP_Real rhs, SCIP_Bool *infeasible, SCIP_Bool *aggregated)
     
    SCIP_RETCODE SCIPvarTryAggregateVarsExact (SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_VAR *varx, SCIP_VAR *vary, SCIP_RATIONAL *scalarx, SCIP_RATIONAL *scalary, SCIP_RATIONAL *rhs, SCIP_Bool *infeasible, SCIP_Bool *aggregated)
     
    SCIP_RETCODE SCIPvarAggregate (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_VAR *aggvar, SCIP_Real scalar, SCIP_Real constant, SCIP_Bool *infeasible, SCIP_Bool *aggregated)
     
    SCIP_RETCODE SCIPvarAggregateExact (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_VAR *aggvar, SCIP_RATIONAL *scalar, SCIP_RATIONAL *constant, SCIP_Bool *infeasible, SCIP_Bool *aggregated)
     
    SCIP_RETCODE SCIPvarMultiaggregate (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, int naggvars, SCIP_VAR **aggvars, SCIP_Real *scalars, SCIP_Real constant, SCIP_Bool *infeasible, SCIP_Bool *aggregated)
     
    SCIP_RETCODE SCIPvarMultiaggregateExact (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LPEXACT *lpexact, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, int naggvars, SCIP_VAR **aggvars, SCIP_RATIONAL **scalars, SCIP_RATIONAL *constant, SCIP_Bool *infeasible, SCIP_Bool *aggregated)
     
    SCIP_Bool SCIPvarDoNotAggr (SCIP_VAR *var)
     
    SCIP_Bool SCIPvarDoNotMultaggr (SCIP_VAR *var)
     
    SCIP_Bool SCIPvarIsAggrCoefAcceptable (SCIP_SET *set, SCIP_VAR *var, SCIP_Real scalar)
     
    SCIP_Bool SCIPvarIsMarkedDeleteGlobalStructures (SCIP_VAR *var)
     
    SCIP_RETCODE SCIPvarNegate (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_VAR **negvar)
     
    void SCIPvarSetProbindex (SCIP_VAR *var, int probindex)
     
    void SCIPvarSetNamePointer (SCIP_VAR *var, const char *name)
     
    SCIP_RETCODE SCIPvarRemove (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_CLIQUETABLE *cliquetable, SCIP_SET *set, SCIP_Bool final, SCIP_Bool keepimplics)
     
    void SCIPvarMarkDeleted (SCIP_VAR *var)
     
    SCIP_RETCODE SCIPvarMarkDoNotAggr (SCIP_VAR *var)
     
    SCIP_RETCODE SCIPvarMarkDoNotMultaggr (SCIP_VAR *var)
     
    SCIP_RETCODE SCIPvarAddLocks (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_LOCKTYPE locktype, int addnlocksdown, int addnlocksup)
     
    SCIP_RETCODE SCIPvarChgType (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_PRIMAL *primal, SCIP_LP *lp, SCIP_EVENTQUEUE *eventqueue, SCIP_VARTYPE vartype)
     
    SCIP_RETCODE SCIPvarChgImplType (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_PRIMAL *primal, SCIP_LP *lp, SCIP_EVENTQUEUE *eventqueue, SCIP_IMPLINTTYPE impltype)
     
    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 SCIPvarChgObjExact (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_PROB *prob, SCIP_PRIMAL *primal, SCIP_LPEXACT *lp, SCIP_EVENTQUEUE *eventqueue, SCIP_RATIONAL *newobj)
     
    SCIP_RETCODE SCIPvarChgUbGlobalExact (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LPEXACT *lpexact, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_RATIONAL *newbound)
     
    SCIP_RETCODE SCIPvarChgLbGlobalExact (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LPEXACT *lpexact, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_RATIONAL *newbound)
     
    SCIP_RETCODE SCIPvarAddObj (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_Real addobj)
     
    SCIP_RETCODE SCIPvarAddObjExact (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_RATIONAL *addobj)
     
    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 SCIPvarAdjustLbExact (SCIP_VAR *var, SCIP_SET *set, SCIP_RATIONAL *lb)
     
    void SCIPvarAdjustLbExactFloat (SCIP_VAR *var, SCIP_SET *set, SCIP_Real *lb)
     
    void SCIPvarAdjustUb (SCIP_VAR *var, SCIP_SET *set, SCIP_Real *ub)
     
    void SCIPvarAdjustUbExact (SCIP_VAR *var, SCIP_SET *set, SCIP_RATIONAL *ub)
     
    void SCIPvarAdjustUbExactFloat (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 SCIPvarChgLbOriginalExact (SCIP_VAR *var, SCIP_SET *set, SCIP_RATIONAL *newbound)
     
    SCIP_RETCODE SCIPvarChgUbOriginal (SCIP_VAR *var, SCIP_SET *set, SCIP_Real newbound)
     
    SCIP_RETCODE SCIPvarChgUbOriginalExact (SCIP_VAR *var, SCIP_SET *set, SCIP_RATIONAL *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 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)
     
    SCIP_RETCODE SCIPvarChgBdGlobalExact (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LPEXACT *lpexact, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_RATIONAL *newbound, SCIP_BOUNDTYPE boundtype)
     
    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 SCIPvarChgLbLocalExact (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LPEXACT *lpexact, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_RATIONAL *newbound)
     
    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 SCIPvarChgUbLocalExact (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LPEXACT *lpexact, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_RATIONAL *newbound)
     
    SCIP_RETCODE SCIPvarChgBdLocal (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_Real newbound, SCIP_BOUNDTYPE boundtype)
     
    SCIP_RETCODE SCIPvarChgLbLazy (SCIP_VAR *var, SCIP_SET *set, SCIP_Real lazylb)
     
    SCIP_RETCODE SCIPvarChgUbLazy (SCIP_VAR *var, SCIP_SET *set, SCIP_Real lazyub)
     
    SCIP_RETCODE SCIPvarChgLbDive (SCIP_VAR *var, SCIP_SET *set, SCIP_LP *lp, SCIP_Real newbound)
     
    SCIP_RETCODE SCIPvarChgLbExactDive (SCIP_VAR *var, SCIP_SET *set, SCIP_LPEXACT *lpexact, SCIP_RATIONAL *newbound)
     
    SCIP_RETCODE SCIPvarChgUbDive (SCIP_VAR *var, SCIP_SET *set, SCIP_LP *lp, SCIP_Real newbound)
     
    SCIP_RETCODE SCIPvarChgUbExactDive (SCIP_VAR *var, SCIP_SET *set, SCIP_LPEXACT *lpexact, SCIP_RATIONAL *newbound)
     
    SCIP_Real SCIPvarGetMultaggrLbLocal (SCIP_VAR *var, SCIP_SET *set)
     
    SCIP_RETCODE SCIPvarGetMultaggrLbLocalExact (SCIP_VAR *var, SCIP_SET *set, SCIP_RATIONAL *result)
     
    SCIP_Real SCIPvarGetMultaggrUbLocal (SCIP_VAR *var, SCIP_SET *set)
     
    SCIP_RETCODE SCIPvarGetMultaggrUbLocalExact (SCIP_VAR *var, SCIP_SET *set, SCIP_RATIONAL *result)
     
    SCIP_Real SCIPvarGetMultaggrLbGlobal (SCIP_VAR *var, SCIP_SET *set)
     
    SCIP_Real SCIPvarGetMultaggrUbGlobal (SCIP_VAR *var, SCIP_SET *set)
     
    SCIP_RETCODE SCIPvarAddHoleOriginal (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_Real left, SCIP_Real right)
     
    SCIP_RETCODE SCIPvarAddHoleGlobal (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTQUEUE *eventqueue, SCIP_Real left, SCIP_Real right, SCIP_Bool *added)
     
    SCIP_RETCODE SCIPvarAddHoleLocal (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTQUEUE *eventqueue, SCIP_Real left, SCIP_Real right, SCIP_Bool *added)
     
    SCIP_RETCODE SCIPvarResetBounds (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat)
     
    int SCIPvarGetConflictingBdchgDepth (SCIP_VAR *var, SCIP_SET *set, SCIP_BOUNDTYPE boundtype, SCIP_Real bound)
     
    SCIP_RETCODE SCIPvarAddVlb (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_VAR *vlbvar, SCIP_Real vlbcoef, SCIP_Real vlbconstant, SCIP_Bool transitive, SCIP_Bool *infeasible, int *nbdchgs)
     
    SCIP_RETCODE SCIPvarAddVub (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_VAR *vubvar, SCIP_Real vubcoef, SCIP_Real vubconstant, SCIP_Bool transitive, SCIP_Bool *infeasible, int *nbdchgs)
     
    SCIP_RETCODE SCIPvarAddImplic (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_Bool varfixing, SCIP_VAR *implvar, SCIP_BOUNDTYPE impltype, SCIP_Real implbound, SCIP_Bool transitive, SCIP_Bool *infeasible, int *nbdchgs)
     
    SCIP_RETCODE SCIPvarFixBinary (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_CLIQUETABLE *cliquetable, SCIP_Bool value, SCIP_Bool *infeasible, int *nbdchgs)
     
    SCIP_RETCODE SCIPvarAddClique (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_CLIQUETABLE *cliquetable, SCIP_Bool value, SCIP_CLIQUE *clique, SCIP_Bool *infeasible, int *nbdchgs)
     
    SCIP_RETCODE SCIPvarsAddClique (SCIP_VAR **vars, SCIP_Bool *values, int nvars, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_CLIQUE *clique)
     
    SCIP_RETCODE SCIPvarDelClique (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_CLIQUETABLE *cliquetable, SCIP_Bool value, 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 SCIPvarChgBranchFactor (SCIP_VAR *var, SCIP_SET *set, SCIP_Real branchfactor)
     
    SCIP_RETCODE SCIPvarChgBranchPriority (SCIP_VAR *var, int branchpriority)
     
    SCIP_RETCODE SCIPvarChgBranchDirection (SCIP_VAR *var, SCIP_BRANCHDIR branchdirection)
     
    SCIP_Real SCIPvarGetObjLP (SCIP_VAR *var)
     
    SCIP_Real SCIPvarGetLbLP (SCIP_VAR *var, SCIP_SET *set)
     
    SCIP_Real SCIPvarGetUbLP (SCIP_VAR *var, SCIP_SET *set)
     
    void SCIPvarGetClosestVlb (SCIP_VAR *var, SCIP_SOL *sol, SCIP_SET *set, SCIP_STAT *stat, SCIP_Real *closestvlb, int *closestvlbidx)
     
    void SCIPvarGetClosestVub (SCIP_VAR *var, SCIP_SOL *sol, SCIP_SET *set, SCIP_STAT *stat, SCIP_Real *closestvub, int *closestvubidx)
     
    void SCIPvarStoreRootSol (SCIP_VAR *var, SCIP_Bool roothaslp)
     
    void SCIPvarUpdateBestRootSol (SCIP_VAR *var, SCIP_SET *set, SCIP_Real rootsol, SCIP_Real rootredcost, SCIP_Real rootlpobjval)
     
    SCIP_Real SCIPvarGetRelaxSol (SCIP_VAR *var, SCIP_SET *set)
     
    SCIP_Real SCIPvarGetRelaxSolTransVar (SCIP_VAR *var)
     
    SCIP_Real SCIPvarGetImplRedcost (SCIP_VAR *var, SCIP_SET *set, SCIP_Bool varfixing, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_LP *lp)
     
    SCIP_RETCODE SCIPvarSetRelaxSol (SCIP_VAR *var, SCIP_SET *set, SCIP_RELAXATION *relaxation, SCIP_Real solval, SCIP_Bool updateobj)
     
    SCIP_RETCODE SCIPvarSetNLPSol (SCIP_VAR *var, SCIP_SET *set, SCIP_Real solval)
     
    SCIP_RETCODE SCIPvarAddToRow (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTQUEUE *eventqueue, SCIP_PROB *prob, SCIP_LP *lp, SCIP_ROW *row, SCIP_Real val)
     
    SCIP_RETCODE SCIPvarAddToRowExact (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTQUEUE *eventqueue, SCIP_PROB *prob, SCIP_LPEXACT *lpexact, SCIP_ROWEXACT *rowexact, SCIP_RATIONAL *val)
     
    void SCIPvarMergeHistories (SCIP_VAR *targetvar, SCIP_VAR *othervar, SCIP_STAT *stat)
     
    void SCIPvarSetHistory (SCIP_VAR *var, SCIP_HISTORY *history, SCIP_STAT *stat)
     
    SCIP_RETCODE SCIPvarUpdatePseudocost (SCIP_VAR *var, SCIP_SET *set, SCIP_STAT *stat, SCIP_Real solvaldelta, SCIP_Real objdelta, SCIP_Real weight)
     
    SCIP_RETCODE SCIPvarUpdateAncPseudocost (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 SCIPvarGetAncPseudocost (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 SCIPvarGetAncPseudocostCountCurrentRun (SCIP_VAR *var, SCIP_BRANCHDIR dir)
     
    SCIP_Real SCIPvarGetMinPseudocostScore (SCIP_VAR *var, SCIP_STAT *stat, SCIP_SET *set, SCIP_Real solval)
     
    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)
     
    SCIP_RETCODE SCIPvarIncVSIDS (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_BRANCHDIR dir, SCIP_Real value, SCIP_Real weight)
     
    SCIP_RETCODE SCIPvarScaleVSIDS (SCIP_VAR *var, SCIP_Real scalar)
     
    SCIP_RETCODE SCIPvarIncNActiveConflicts (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_BRANCHDIR dir, SCIP_Real value, SCIP_Real length)
     
    SCIP_Longint SCIPvarGetNActiveConflicts (SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
     
    SCIP_Longint SCIPvarGetNActiveConflictsCurrentRun (SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
     
    SCIP_Real SCIPvarGetAvgConflictlength (SCIP_VAR *var, SCIP_BRANCHDIR dir)
     
    SCIP_Real SCIPvarGetAvgConflictlengthCurrentRun (SCIP_VAR *var, SCIP_BRANCHDIR dir)
     
    SCIP_RETCODE SCIPvarIncNBranchings (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_BRANCHDIR dir, SCIP_Real value, int depth)
     
    SCIP_RETCODE SCIPvarIncInferenceSum (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_BRANCHDIR dir, SCIP_Real value, SCIP_Real weight)
     
    SCIP_RETCODE SCIPvarIncCutoffSum (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_BRANCHDIR dir, SCIP_Real value, SCIP_Real weight)
     
    SCIP_Real SCIPvarGetVSIDS_rec (SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
     
    SCIP_Real SCIPvarGetVSIDSCurrentRun (SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
     
    SCIP_Real SCIPvarGetAvgInferences (SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
     
    SCIP_Real SCIPvarGetAvgInferencesCurrentRun (SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
     
    SCIP_Real SCIPvarGetAvgCutoffs (SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
     
    SCIP_Real SCIPvarGetAvgCutoffsCurrentRun (SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
     
    SCIP_Real SCIPvarGetAvgGMIScore (SCIP_VAR *var, SCIP_STAT *stat)
     
    SCIP_RETCODE SCIPvarIncGMIeffSum (SCIP_VAR *var, SCIP_STAT *stat, SCIP_Real gmieff)
     
    SCIP_Real SCIPvarGetLastGMIScore (SCIP_VAR *var, SCIP_STAT *stat)
     
    SCIP_RETCODE SCIPvarSetLastGMIScore (SCIP_VAR *var, SCIP_STAT *stat, SCIP_Real gmieff)
     
    SCIP_RETCODE SCIPvarPrint (SCIP_VAR *var, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, FILE *file)
     
    SCIP_RETCODE SCIPvarCatchEvent (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTTYPE eventtype, SCIP_EVENTHDLR *eventhdlr, SCIP_EVENTDATA *eventdata, int *filterpos)
     
    SCIP_RETCODE SCIPvarDropEvent (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTTYPE eventtype, SCIP_EVENTHDLR *eventhdlr, SCIP_EVENTDATA *eventdata, int filterpos)
     
    SCIP_Real SCIPvarGetVSIDS (SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
     
    int SCIPbdchgidxGetPos (SCIP_BDCHGIDX *bdchgidx)
     
    int SCIPbdchgidxGetDepth (SCIP_BDCHGIDX *bdchgidx)
     
    SCIP_RETCODE SCIPvarRemoveCliquesImplicsVbs (SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_CLIQUETABLE *cliquetable, SCIP_SET *set, SCIP_Bool irrelevantvar, SCIP_Bool onlyredundant, SCIP_Bool removefromvar)
     
    void SCIPvarGetLbLocalExactMaximal (SCIP_VAR *var, SCIP_RATIONAL *output)
     
    void SCIPvarGetUbLocalExactMinimal (SCIP_VAR *var, SCIP_RATIONAL *output)
     
    void SCIPvarSetUbCertificateIndexLocal (SCIP_VAR *var, SCIP_Longint certidx)
     
    void SCIPvarSetLbCertificateIndexLocal (SCIP_VAR *var, SCIP_Longint certidx)
     
     SCIP_DECL_HASHGETKEY (SCIPhashGetKeyVar)
     

    Function Documentation

    ◆ SCIPboundchgApply()

    SCIP_RETCODE SCIPboundchgApply ( SCIP_BOUNDCHG *  boundchg,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_LP *  lp,
    SCIP_BRANCHCAND *  branchcand,
    SCIP_EVENTQUEUE *  eventqueue,
    int  depth,
    int  pos,
    SCIP_Bool *  cutoff 
    )

    applies single bound change

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

    References SCIP_BoundChg::applied, boundchgApplyExact(), SCIP_BoundChg::boundchgtype, SCIP_BoundChg::boundtype, SCIP_BoundChg::certificateindex, SCIP_BoundChg::data, SCIP_Var::exactdata, FALSE, SCIP_BoundChg::inferboundtype, SCIP_BoundChg::inferencedata, SCIP_Stat::lastbranchdir, SCIP_Stat::lastbranchvalue, SCIP_Stat::lastbranchvar, SCIP_Dom::lb, SCIP_DomExact::lbcertificateidx, SCIP_Var::lbchginfos, SCIP_VarDataExact::locdom, SCIP_Var::locdom, SCIP_BoundChg::newbound, SCIP_BoundChg::newboundexact, SCIP_Var::nlbchginfos, SCIP_Var::nubchginfos, NULL, SCIP_BdChgInfo::oldcertificateindex, 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, SCIPcertificateSetLastBoundIndex(), SCIPconsGetName(), SCIPerrorMessage, SCIPgetCertificate(), SCIPpropGetName(), SCIPsetDebugMsg, SCIPsetIsFeasIntegral(), SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsInfinity(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPshouldCertificateTrackBounds(), SCIPvarChgLbLocal(), SCIPvarChgUbLocal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarIncInferenceSum(), SCIPvarIncNBranchings(), SCIPvarIsIntegral(), TRUE, SCIP_Dom::ub, SCIP_DomExact::ubcertificateidx, SCIP_Var::ubchginfos, SCIP_BoundChg::var, varAddLbchginfo(), and varAddUbchginfo().

    Referenced by SCIPdomchgApply(), SCIPnodeAddBoundinfer(), and SCIPnodeAddBoundinferExact().

    ◆ SCIPboundchgUndo()

    SCIP_RETCODE SCIPboundchgUndo ( SCIP_BOUNDCHG *  boundchg,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_LP *  lp,
    SCIP_BRANCHCAND *  branchcand,
    SCIP_EVENTQUEUE *  eventqueue 
    )

    ◆ SCIPdomchgApplyGlobal()

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

    applies domain change to the global problem

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

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

    Referenced by treeSwitchPath().

    ◆ SCIPdomchgFree()

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

    frees domain change data

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

    Definition at line 1348 of file var.c.

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

    Referenced by SCIPdomchgMakeStatic(), and SCIPnodeFree().

    ◆ SCIPdomchgMakeStatic()

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

    converts a dynamic domain change data into a static one, using less memory than for a dynamic one

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

    Definition at line 1451 of file var.c.

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

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

    ◆ SCIPdomchgApply()

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

    applies domain change

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

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

    Referenced by nodeActivate().

    ◆ SCIPdomchgUndo()

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

    undoes domain change

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

    Definition at line 1640 of file var.c.

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

    Referenced by nodeDeactivate().

    ◆ SCIPdomchgAddCurrentCertificateIndex()

    void SCIPdomchgAddCurrentCertificateIndex ( SCIP_DOMCHG *  domchg,
    SCIP_CERTIFICATE *  certificate 
    )

    adds certificate line number to domain changes

    Parameters
    domchgpointer to domain change data structure
    certificatecertificate information

    Definition at line 1714 of file var.c.

    References SCIP_DomChgDyn::boundchgs, SCIP_BoundChg::boundtype, SCIP_BoundChg::certificateindex, SCIP_DomChg::domchgdyn, FALSE, SCIP_DomChgDyn::nboundchgs, SCIP_BoundChg::newbound, SCIPcertificateEnsureLastBoundInfoConsistent(), SCIPcertificateGetCurrentIndex(), SCIPcertificateIsEnabled(), and SCIP_BoundChg::var.

    Referenced by SCIPnodeAddBoundinfer(), and SCIPnodeAddBoundinferExact().

    ◆ SCIPdomchgAddBoundchg()

    SCIP_RETCODE SCIPdomchgAddBoundchg ( SCIP_DOMCHG **  domchg,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_VAR *  var,
    SCIP_Real  newbound,
    SCIP_RATIONAL *  newboundexact,
    SCIP_BOUNDTYPE  boundtype,
    SCIP_BOUNDCHGTYPE  boundchgtype,
    SCIP_Real  lpsolval,
    SCIP_VAR *  infervar,
    SCIP_CONS *  infercons,
    SCIP_PROP *  inferprop,
    int  inferinfo,
    SCIP_BOUNDTYPE  inferboundtype 
    )

    adds bound change to domain changes

    Parameters
    domchgpointer to domain change data structure
    blkmemblock memory
    setglobal SCIP settings
    varvariable to change the bounds for
    newboundnew value for bound
    newboundexactnew value for exact bound, or NULL if not needed
    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 1734 of file var.c.

    References SCIP_BoundChg::applied, boundchgCaptureData(), SCIP_BoundChg::boundchgtype, SCIP_BoundChg::boundtype, SCIP_BoundChg::branchingdata, SCIP_BoundChg::data, domchgCreate(), domchgEnsureBoundchgsSize(), domchgMakeDynamic(), FALSE, SCIP_BoundChg::inferboundtype, SCIP_BoundChg::inferencedata, SCIP_Var::name, SCIP_BoundChg::newbound, SCIP_BoundChg::newboundexact, NULL, SCIP_BoundChg::redundant, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_BOUNDCHGTYPE_CONSINFER, SCIP_BOUNDCHGTYPE_PROPINFER, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_DOMCHGTYPE_DYNAMIC, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPerrorMessage, SCIPrationalCopyBlock(), SCIPrationalSetRational(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsFeasIntegral(), SCIPvarGetStatus(), SCIPvarIsBinary(), SCIPvarIsIntegral(), and SCIP_BoundChg::var.

    Referenced by SCIPnodeAddBoundinfer(), and SCIPnodeAddBoundinferExact().

    ◆ SCIPdomchgAddHolechg()

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

    adds hole change to domain changes

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

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

    ◆ SCIPbdchginfoCreate()

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

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

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

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

    Referenced by conflictCreateTmpBdchginfo().

    ◆ SCIPbdchginfoFree()

    void SCIPbdchginfoFree ( SCIP_BDCHGINFO **  bdchginfo,
    BMS_BLKMEM *  blkmem 
    )

    frees a bound change information object

    Parameters
    bdchginfopointer to store bound change information
    blkmemblock memory

    Definition at line 22644 of file var.c.

    References BMSfreeBlockMemory, and NULL.

    Referenced by conflictFreeTmpBdchginfos().

    ◆ SCIPbdchginfoGetRelaxedBound()

    SCIP_Real SCIPbdchginfoGetRelaxedBound ( SCIP_BDCHGINFO *  bdchginfo)

    returns the relaxed bound change type

    Parameters
    bdchginfobound change to add to the conflict set

    Definition at line 25080 of file var.c.

    References SCIP_BdChgInfo::boundtype, SCIP_Var::conflictrelaxedlb, SCIP_Var::conflictrelaxedub, SCIP_BOUNDTYPE_LOWER, and SCIP_BdChgInfo::var.

    Referenced by conflictAnalyze(), conflictCreateReconvergenceConss(), conflictResolveBound(), and conflictsetAddBounds().

    ◆ SCIPvarCreateOriginal()

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

    creates and captures an original problem variable; an integer variable with bounds zero and one is automatically converted into a binary variable

    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
    impltypeimplied integral type of the 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 2487 of file var.c.

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

    Referenced by SCIPcreateVarImpl(), and SCIPvarCopy().

    ◆ SCIPvarCreateTransformed()

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

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

    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
    impltypeimplied integral type of the 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 2531 of file var.c.

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

    Referenced by SCIPcreateVarImpl(), SCIPvarTransform(), tryAggregateIntVars(), and tryAggregateIntVarsExact().

    ◆ SCIPvarAddExactData()

    SCIP_RETCODE SCIPvarAddExactData ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_RATIONAL *  lb,
    SCIP_RATIONAL *  ub,
    SCIP_RATIONAL *  obj 
    )

    creates and sets the exact variable bounds and objective value (using floating-point data if value pointer is NULL)

    Note
    an inactive integer variable with bounds zero and one is automatically converted into a binary variable
    if exact data is provided, the corresponding floating-point data is overwritten
    Parameters
    varpointer to variable data
    blkmemblock memory
    lblower bound of variable, or NULL to use floating-point data
    ubupper bound of variable, or NULL to use floating-point data
    objobjective function value, or NULL to use floating-point data

    Definition at line 2578 of file var.c.

    References SCIP_VarDataExact::aggregate, BMSallocBlockMemory, SCIP_VarDataExact::certificateindex, SCIP_VarDataExact::colexact, SCIP_AggregateExact::constant, SCIP_MultaggrExact::constant, SCIP_Var::data, SCIP_Var::exactdata, SCIP_VarDataExact::glbdom, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_DomExact::lb, SCIP_DomExact::lbcertificateidx, SCIP_VarDataExact::locdom, SCIP_Var::locdom, SCIP_VarDataExact::multaggr, SCIP_Var::name, NULL, SCIP_VarDataExact::obj, SCIP_Var::obj, SCIP_VarDataExact::objinterval, SCIP_Original::origdom, SCIP_VarDataExact::origdom, SCIP_Var::original, SCIP_Var::primsolavg, SCIP_Var::probindex, SCIP_AggregateExact::scalar, SCIP_MultaggrExact::scalars, SCIP_ALLOC, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_R_ROUND_DOWNWARDS, SCIP_R_ROUND_UPWARDS, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPerrorMessage, SCIPintervalSet(), SCIPintervalSetRational(), SCIPrationalCopyBlock(), SCIPrationalCreateBlock(), SCIPrationalGetReal(), SCIPrationalIsEQReal(), SCIPrationalIsZero(), SCIPrationalRoundReal(), SCIPrationalSetReal(), SCIPvarGetStatus(), SCIP_Dom::ub, SCIP_DomExact::ub, SCIP_DomExact::ubcertificateidx, SCIP_Var::unchangedobj, SCIP_VarDataExact::varstatusexact, and SCIP_Var::vartype.

    Referenced by SCIPaddVarExactData(), SCIPvarParseOriginal(), SCIPvarParseTransformed(), and tryAggregateIntVarsExact().

    ◆ SCIPvarCopyExactData()

    SCIP_RETCODE SCIPvarCopyExactData ( BMS_BLKMEM *  blkmem,
    SCIP_VAR *  targetvar,
    SCIP_VAR *  sourcevar,
    SCIP_Bool  negateobj 
    )

    ◆ SCIPvarCopy()

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

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

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

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

    Referenced by SCIPgetVarCopy().

    ◆ SCIPvarParseOriginal()

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

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

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

    References FALSE, NULL, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_READERROR, SCIP_Real, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPrationalCreateBlock(), SCIPrationalFreeBlock(), SCIPrationalIsInfinity(), SCIPrationalIsNegInfinity(), SCIPvarAddExactData(), SCIPvarAdjustLb(), SCIPvarAdjustLbExact(), SCIPvarAdjustUb(), SCIPvarAdjustUbExact(), SCIPvarCapture(), varCreate(), and varParse().

    Referenced by SCIPparseVar().

    ◆ SCIPvarParseTransformed()

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

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

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

    References NULL, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_READERROR, SCIP_Real, SCIP_VARSTATUS_LOOSE, SCIPerrorMessage, SCIPeventfilterCreate(), SCIPrationalCreateBlock(), SCIPrationalFreeBlock(), SCIPrationalIsInfinity(), SCIPrationalIsNegInfinity(), SCIPvarAddExactData(), SCIPvarAdjustLbExact(), SCIPvarAdjustUbExact(), SCIPvarCapture(), TRUE, varCreate(), and varParse().

    Referenced by SCIPparseVar().

    ◆ SCIPvarCapture()

    ◆ SCIPvarRelease()

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

    decreases usage counter of variable, and frees memory if necessary

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

    Definition at line 3789 of file var.c.

    References NULL, SCIP_CALL, SCIP_OKAY, SCIPprobGetName(), SCIPsetDebugMsg, and varFree().

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

    ◆ SCIPvarChgName()

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

    change variable name change variable name

    change variable name

    Parameters
    varproblem variable
    blkmemblock memory
    namename of variable

    Definition at line 3830 of file var.c.

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

    Referenced by SCIPchgVarName().

    ◆ SCIPvarInitSolve()

    void SCIPvarInitSolve ( SCIP_VAR *  var)

    initializes variable data structure for solving

    Parameters
    varproblem variable

    Definition at line 3848 of file var.c.

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

    Referenced by SCIPprobInitSolve().

    ◆ SCIPvarTransform()

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

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

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

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

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

    ◆ SCIPvarGetTransformed()

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

    gets corresponding transformed variable of an original or negated original variable

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

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

    Referenced by SCIPgetTransformedVar(), and SCIPgetTransformedVars().

    ◆ SCIPvarColumn()

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

    converts transformed variable into column variable and creates LP column

    converts loose transformed variable into column variable, creates LP column

    Parameters
    varproblem variable
    blkmemblock memory
    setglobal SCIP settings
    statproblem statistics
    probproblem data
    lpcurrent LP data

    Definition at line 4606 of file var.c.

    References SCIP_Var::col, SCIP_Var::data, SCIP_Var::name, NULL, SCIP_Var::probindex, SCIP_Var::removable, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPcolCreate(), SCIPlpUpdateVarColumn(), SCIPprobVarChangedStatus(), SCIPsetDebugMsg, SCIPvarGetStatus(), and SCIP_Var::varstatus.

    Referenced by SCIPpricestoreApplyVars(), and SCIPvarAddToRow().

    ◆ SCIPvarColumnExact()

    SCIP_RETCODE SCIPvarColumnExact ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_LPEXACT *  lp 
    )

    converts transformed variable into column variable and creates LP column

    converts loose transformed variable into column variable, creates LP column

    Parameters
    varproblem variable
    blkmemblock memory
    setglobal SCIP settings
    statproblem statistics
    lpcurrent LP data

    Definition at line 4640 of file var.c.

    References SCIP_VarDataExact::colexact, SCIP_Var::exactdata, SCIP_Var::name, NULL, SCIP_Var::probindex, SCIP_Var::removable, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPcolExactCreate(), SCIPlpExactUpdateVarColumn(), SCIPsetDebugMsg, SCIPvarGetCol(), and SCIP_VarDataExact::varstatusexact.

    Referenced by SCIPpricestoreApplyVars(), and SCIPvarAddToRowExact().

    ◆ SCIPvarLoose()

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

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

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

    Definition at line 4674 of file var.c.

    References SCIP_Var::col, SCIP_Var::data, SCIP_Var::loose, SCIP_Col::lpipos, SCIP_Col::lppos, SCIP_Loose::maxaggrcoef, SCIP_Loose::minaggrcoef, SCIP_Var::name, NULL, SCIP_Var::probindex, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPcolFree(), SCIPlpUpdateVarLoose(), SCIPprobVarChangedStatus(), SCIPsetDebugMsg, SCIPvarGetStatus(), and SCIP_Var::varstatus.

    Referenced by SCIPprobExitSolve(), and SCIPprobPerformVarDeletions().

    ◆ SCIPvarFix()

    SCIP_RETCODE SCIPvarFix ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_PROB *  transprob,
    SCIP_PROB *  origprob,
    SCIP_PRIMAL *  primal,
    SCIP_TREE *  tree,
    SCIP_REOPT *  reopt,
    SCIP_LP *  lp,
    SCIP_BRANCHCAND *  branchcand,
    SCIP_EVENTQUEUE *  eventqueue,
    SCIP_EVENTFILTER *  eventfilter,
    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
    eventfilterglobal event filter
    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 4814 of file var.c.

    References SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, FALSE, SCIP_Var::glbdom, SCIP_Var::history, SCIP_Var::historycrun, SCIP_Dom::holelist, holelistFree(), SCIP_Var::implics, SCIP_Dom::lb, SCIP_Var::locdom, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::obj, SCIP_Var::original, SCIP_Var::probindex, REALABS, 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, SCIPABORT, SCIPerrorMessage, SCIPeventqueueIsDelayed(), SCIPhistoryReset(), SCIPlpDecNLoosevars(), SCIPprobVarChangedStatus(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLT(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPsetRound(), SCIPvarAddObj(), SCIPvarChgLbGlobal(), SCIPvarChgObj(), SCIPvarChgUbGlobal(), SCIPvarFix(), SCIPvarGetStatus(), SCIPvarIsIntegral(), SCIPvarRemoveCliquesImplicsVbs(), SCIP_Original::transvar, TRUE, SCIP_Dom::ub, SCIP_Aggregate::var, varEventVarFixed(), SCIP_Var::varstatus, SCIP_Var::vlbs, and SCIP_Var::vubs.

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

    ◆ SCIPvarFixExact()

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

    converts variable into fixed variable

    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
    eventfilterglobal event filter
    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 4981 of file var.c.

    References SCIP_VarDataExact::aggregate, SCIP_Var::aggregate, SCIP_Var::cliquelist, SCIP_AggregateExact::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::exactdata, FALSE, SCIP_VarDataExact::glbdom, SCIP_Var::glbdom, SCIP_Var::history, SCIP_Var::historycrun, SCIP_Dom::holelist, holelistFree(), SCIP_Var::implics, SCIP_Dom::lb, SCIP_DomExact::lb, SCIP_VarDataExact::locdom, SCIP_Var::locdom, SCIP_Lp::lpexact, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_VarDataExact::obj, SCIP_Var::obj, SCIP_Var::original, SCIP_Var::probindex, SCIP_Aggregate::scalar, SCIP_AggregateExact::scalar, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPeventqueueIsDelayed(), SCIPhistoryReset(), SCIPlpDecNLoosevars(), SCIPprobVarChangedStatus(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiff(), SCIPrationalDiffReal(), SCIPrationalDiv(), SCIPrationalFreeBuffer(), SCIPrationalIsEQ(), SCIPrationalIsGT(), SCIPrationalIsInfinity(), SCIPrationalIsIntegral(), SCIPrationalIsLT(), SCIPrationalIsNegative(), SCIPrationalIsNegInfinity(), SCIPrationalIsZero(), SCIPrationalNegate(), SCIPrationalSetRational(), SCIPsetIsZero(), SCIPvarAddObjExact(), SCIPvarChgLbGlobalExact(), SCIPvarChgObjExact(), SCIPvarChgUbGlobalExact(), SCIPvarFixExact(), SCIPvarGetStatus(), SCIPvarGetStatusExact(), SCIPvarIsIntegral(), SCIPvarRemoveCliquesImplicsVbs(), SCIP_Original::transvar, TRUE, SCIP_Dom::ub, SCIP_DomExact::ub, SCIP_Aggregate::var, varEventVarFixed(), SCIP_Var::varstatus, SCIP_VarDataExact::varstatusexact, SCIP_Var::vlbs, and SCIP_Var::vubs.

    Referenced by SCIPaggregateVarsExact(), SCIPfixVarExact(), SCIPvarAggregateExact(), SCIPvarFixExact(), SCIPvarMultiaggregateExact(), and varUpdateAggregationBoundsExact().

    ◆ SCIPvarGetActiveRepresentatives()

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

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

    If the number of needed active variables is greater than the available slots in the variable array, nothing happens except that an upper bound on the required size is stored in the variable requiredsize; otherwise, the active variable representation is stored in the arrays.

    The reason for this approach is that we cannot reallocate memory, since we do not know how the memory has been allocated (e.g., by a C++ 'new' or SCIP functions). Note that requiredsize is an upper bound due to possible cancelations.

    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 an uppper bound on the required size for the active variables

    Definition at line 5174 of file var.c.

    References SCIP_Var::data, SCIP_Var::index, MAX, SCIP_Var::multaggr, NULL, SCIP_Multaggr::nvars, scalars, SCIP_Multaggr::scalars, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIPgetNTotalVars(), SCIPsetAllocBufferArray, SCIPsetAllocCleanBufferArray, SCIPsetFreeBufferArray, SCIPsetFreeCleanBufferArray, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPsetReallocBufferArray, SCIPvarGetMultaggrConstant(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), TRUE, and SCIP_Multaggr::vars.

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

    ◆ SCIPvarGetActiveRepresentativesExact()

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

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

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

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

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

    References SCIP_Var::data, SCIP_Var::exactdata, FALSE, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_VarDataExact::multaggr, SCIP_Var::multaggr, NULL, SCIP_Multaggr::nvars, scalars, SCIP_MultaggrExact::scalars, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPrationalAdd(), SCIPrationalAddProd(), SCIPrationalCopyBufferArray(), SCIPrationalCreateBuffer(), SCIPrationalCreateBufferArray(), SCIPrationalFreeBuffer(), SCIPrationalFreeBufferArray(), SCIPrationalGetSign(), SCIPrationalIsAbsInfinity(), SCIPrationalIsEQ(), SCIPrationalIsInfinity(), SCIPrationalIsNegInfinity(), SCIPrationalIsZero(), SCIPrationalMult(), SCIPrationalNegate(), SCIPrationalReallocBufferArray(), SCIPrationalSetInfinity(), SCIPrationalSetNegInfinity(), SCIPrationalSetRational(), SCIPsetAllocBufferArray, SCIPsetDuplicateBufferArray, SCIPsetFreeBufferArray, SCIPsetIsEQ(), SCIPsetIsZero(), SCIPsetReallocBufferArray, SCIPsortedvecFindPtr(), SCIPsortPtrPtr(), SCIPvarCompare(), SCIPvarGetMultaggrConstantExact(), SCIPvarGetProbvarSumExact(), SCIPvarGetStatus(), SCIPvarGetStatusExact(), TRUE, SCIP_Dom::ub, and SCIP_Multaggr::vars.

    Referenced by SCIPgetProbvarLinearSumExact(), SCIPsolRetransformExact(), SCIPvarFlattenAggregationGraph(), and SCIPvarMultiaggregateExact().

    ◆ SCIPvarGetProbvarSum()

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

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

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

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

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

    ◆ SCIPvarGetProbvarSumExact()

    SCIP_RETCODE SCIPvarGetProbvarSumExact ( SCIP_VAR **  var,
    SCIP_RATIONAL *  scalar,
    SCIP_RATIONAL *  constant 
    )

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

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

    Definition at line 18250 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, SCIPrationalAddProd(), SCIPrationalAddProdReal(), SCIPrationalGetSign(), SCIPrationalIsAbsInfinity(), SCIPrationalIsInfinity(), SCIPrationalIsNegInfinity(), SCIPrationalIsPositive(), SCIPrationalIsZero(), SCIPrationalMult(), SCIPrationalNegate(), SCIPrationalSetInfinity(), SCIPrationalSetNegInfinity(), SCIPrationalSetReal(), SCIPvarGetStatus(), SCIPvarGetStatusExact(), SCIP_Original::transvar, SCIP_Aggregate::var, and SCIP_Multaggr::vars.

    Referenced by SCIPaggregateVarsExact(), SCIPgetProbvarSumExact(), SCIPvarAggregateExact(), and SCIPvarGetActiveRepresentativesExact().

    ◆ SCIPvarFlattenAggregationGraph()

    SCIP_RETCODE SCIPvarFlattenAggregationGraph ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_EVENTQUEUE *  eventqueue 
    )

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

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

    Note
    After the flattening the multi aggregation might resolve to be in fact an aggregation (or even a fixing?). This issue is not resolved right now, since var->data.multaggr.nvars < 2 should not cause troubles. However, one may loose performance hereby, since aggregated variables are easier to handle.

    Note, that there are two cases where SCIPvarFlattenAggregationGraph() is called: The easier one is that it is called while installing the multi-aggregation. in principle, the described issue could be handled straightforward in this case by aggregating or fixing the variable instead. The more complicated case is the one, when the multi-aggregation is used, e.g., in linear presolving (and the variable is already declared to be multi-aggregated).

    By now, it is not allowed to fix or aggregate multi-aggregated variables which would be necessary in this case.

    The same issue appears in the SCIPvarGetProbvar...() methods.

    Parameters
    varproblem variable
    blkmemblock memory
    setglobal SCIP settings
    eventqueueevent queue

    Definition at line 5983 of file var.c.

    References BMSreallocBlockMemoryArray, SCIP_Multaggr::constant, SCIP_MultaggrExact::constant, SCIP_Var::data, SCIP_Var::exactdata, SCIP_VarDataExact::multaggr, SCIP_Var::multaggr, SCIP_Var::nlocksdown, SCIP_Var::nlocksup, NLOCKTYPES, NULL, SCIP_Multaggr::nvars, overwriteMultAggrWithExactData(), SCIP_Multaggr::scalars, SCIP_MultaggrExact::scalars, SCIP_Var::scip, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPrationalReallocBlockArray(), SCIPvarAddLocks(), SCIPvarGetActiveRepresentatives(), SCIPvarGetActiveRepresentativesExact(), SCIPvarGetStatus(), TRUE, SCIP_Multaggr::vars, and SCIP_Multaggr::varssize.

    Referenced by presolve(), and SCIPflattenVarAggregationGraph().

    ◆ SCIPvarsGetActiveVars()

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

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

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

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

    Referenced by SCIPgetActiveVars().

    ◆ SCIPvarTryAggregateVars()

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

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

    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
    eventqueueevent queue
    eventfilterglobal event filter
    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 7684 of file var.c.

    References FALSE, NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_DEPRECATED_VARTYPE_IMPLINT, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_VARSTATUS_LOOSE, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_INTEGER, SCIPsetFeastol(), SCIPsetGetHugeValue(), SCIPsetGetStage(), SCIPsetIsFeasIntegral(), SCIPsetIsInfinity(), SCIPsetIsIntegral(), SCIPsetRound(), SCIPvarAggregate(), SCIPvarDoNotAggr(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsAggrCoefAcceptable(), SCIPvarIsBinary(), SCIPvarIsImpliedIntegral(), TRUE, and tryAggregateIntVars().

    Referenced by SCIPaggregateVars(), SCIPcliquetableCleanup(), and SCIPvarMultiaggregate().

    ◆ SCIPvarTryAggregateVarsExact()

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

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

    performs second step of SCIPaggregateVarsExact()

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

    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
    eventqueueevent queue
    eventfilterglobal event filter
    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 7860 of file var.c.

    References FALSE, MAX, NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_DEPRECATED_VARTYPE_IMPLINT, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_VARSTATUS_LOOSE, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_INTEGER, SCIPrationalCreateBuffer(), SCIPrationalDiv(), SCIPrationalFreeBuffer(), SCIPrationalGetReal(), SCIPrationalInvert(), SCIPrationalIsIntegral(), SCIPrationalIsZero(), SCIPrationalNegate(), SCIPsetEpsilon(), SCIPsetFeastol(), SCIPsetGetHugeValue(), SCIPsetGetStage(), SCIPsetIsFeasZero(), SCIPvarAggregateExact(), SCIPvarDoNotAggr(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsBinary(), SCIPvarIsImpliedIntegral(), TRUE, and tryAggregateIntVarsExact().

    Referenced by SCIPaggregateVarsExact(), and SCIPvarMultiaggregateExact().

    ◆ SCIPvarAggregate()

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

    converts loose variable into aggregated variable

    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
    eventfilterglobal event filter
    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 6595 of file var.c.

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

    Referenced by SCIPvarTryAggregateVars(), and tryAggregateIntVars().

    ◆ SCIPvarAggregateExact()

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

    converts loose variable into aggregated variable

    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
    eventfilterglobal event filter
    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 6905 of file var.c.

    References SCIP_VarDataExact::aggregate, SCIP_Var::aggregate, SCIP_Var::branchdirection, SCIP_Var::branchfactor, SCIP_Var::branchpriority, SCIP_Var::cliquelist, SCIP_Aggregate::constant, SCIP_AggregateExact::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::donotmultaggr, SCIP_Var::exactdata, FALSE, SCIP_VarDataExact::glbdom, SCIP_Var::glbdom, SCIP_Var::history, SCIP_Var::historycrun, SCIP_Var::implics, SCIP_Dom::lb, SCIP_DomExact::lb, SCIP_Var::locdom, SCIP_Lp::lpexact, MAX, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, SCIP_Var::nlocksdown, SCIP_Var::nlocksup, NLOCKTYPES, NULL, SCIP_VarDataExact::obj, SCIP_Var::probindex, SCIP_Var::removable, SCIP_Aggregate::scalar, SCIP_AggregateExact::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, SCIPbranchdirOpposite(), SCIPeventqueueIsDelayed(), SCIPhistoryReset(), SCIPhistoryUnite(), SCIPprobVarChangedStatus(), SCIPrationalCreateBlock(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiffReal(), SCIPrationalDiv(), SCIPrationalFreeBuffer(), SCIPrationalGetReal(), SCIPrationalIsEQReal(), SCIPrationalIsNegative(), SCIPrationalIsZero(), SCIPrationalNegate(), SCIPrationalSetRational(), SCIPrationalSetReal(), SCIPsetDebugMsg, SCIPvarAddLocks(), SCIPvarAddObjExact(), SCIPvarChgBranchDirection(), SCIPvarChgBranchFactor(), SCIPvarChgBranchPriority(), SCIPvarChgObjExact(), SCIPvarDoNotAggr(), SCIPvarFixExact(), SCIPvarGetHolelistGlobal(), SCIPvarGetProbvarSumExact(), SCIPvarGetStatusExact(), SCIPvarIsBinary(), SCIPvarMarkNotDeletable(), SCIPvarRemoveCliquesImplicsVbs(), TRUE, SCIP_Dom::ub, SCIP_DomExact::ub, SCIP_Aggregate::var, varAddParent(), varEventVarFixed(), SCIP_Var::varstatus, SCIP_VarDataExact::varstatusexact, varUpdateAggregationBoundsExact(), SCIP_Var::vlbs, and SCIP_Var::vubs.

    Referenced by SCIPvarTryAggregateVarsExact(), and tryAggregateIntVarsExact().

    ◆ SCIPvarMultiaggregate()

    SCIP_RETCODE SCIPvarMultiaggregate ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_PROB *  transprob,
    SCIP_PROB *  origprob,
    SCIP_PRIMAL *  primal,
    SCIP_TREE *  tree,
    SCIP_REOPT *  reopt,
    SCIP_LP *  lp,
    SCIP_CLIQUETABLE *  cliquetable,
    SCIP_BRANCHCAND *  branchcand,
    SCIP_EVENTQUEUE *  eventqueue,
    SCIP_EVENTFILTER *  eventfilter,
    int  naggvars,
    SCIP_VAR **  aggvars,
    SCIP_Real *  scalars,
    SCIP_Real  constant,
    SCIP_Bool *  infeasible,
    SCIP_Bool *  aggregated 
    )

    converts variable into multi-aggregated variable

    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
    eventqueueevent queue
    eventfilterglobal event filter
    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 8052 of file var.c.

    References BMSduplicateBlockMemoryArray, BMSfreeBlockMemoryArray, BMSreallocBlockMemoryArray, SCIP_Var::branchdirection, SCIP_Var::branchfactor, SCIP_Var::branchpriority, SCIP_Multaggr::constant, SCIP_Negate::constant, SCIP_Var::data, FALSE, SCIP_Var::glbdom, SCIP_Var::implics, SCIP_Var::index, SCIP_Dom::lb, SCIP_Var::locdom, MAX, SCIP_Var::multaggr, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, SCIP_Var::nlocksdown, SCIP_Var::nlocksup, NLOCKTYPES, NULL, SCIP_Multaggr::nvars, SCIP_Var::obj, SCIP_Var::original, SCIP_Var::probindex, REALABS, SCIP_Var::removable, scalars, SCIP_Multaggr::scalars, SCIP_Var::scip, SCIP_ALLOC, SCIP_BRANCHDIR_AUTO, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPbranchdirOpposite(), SCIPdebugCheckAggregation, SCIPerrorMessage, SCIPeventqueueIsDelayed(), SCIPlpDecNLoosevars(), SCIPprobVarChangedStatus(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsFeasZero(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPvarAddLocks(), SCIPvarAddObj(), SCIPvarChgBranchDirection(), SCIPvarChgBranchFactor(), SCIPvarChgBranchPriority(), SCIPvarChgObj(), SCIPvarDoNotMultaggr(), SCIPvarFix(), SCIPvarGetActiveRepresentatives(), SCIPvarGetHolelistGlobal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarIsAggrCoefAcceptable(), SCIPvarMarkNotDeletable(), SCIPvarMultiaggregate(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarTryAggregateVars(), SCIP_Original::transvar, TRUE, SCIP_Dom::ub, varEventVarFixed(), SCIP_Multaggr::vars, SCIP_Multaggr::varssize, SCIP_Var::varstatus, varUpdateMinMaxAggrCoef(), SCIP_Var::vlbs, and SCIP_Var::vubs.

    Referenced by SCIPmultiaggregateVar(), and SCIPvarMultiaggregate().

    ◆ SCIPvarMultiaggregateExact()

    SCIP_RETCODE SCIPvarMultiaggregateExact ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_PROB *  transprob,
    SCIP_PROB *  origprob,
    SCIP_PRIMAL *  primal,
    SCIP_TREE *  tree,
    SCIP_REOPT *  reopt,
    SCIP_LPEXACT *  lpexact,
    SCIP_CLIQUETABLE *  cliquetable,
    SCIP_BRANCHCAND *  branchcand,
    SCIP_EVENTQUEUE *  eventqueue,
    SCIP_EVENTFILTER *  eventfilter,
    int  naggvars,
    SCIP_VAR **  aggvars,
    SCIP_RATIONAL **  scalars,
    SCIP_RATIONAL *  constant,
    SCIP_Bool *  infeasible,
    SCIP_Bool *  aggregated 
    )

    converts variable into multi-aggregated variable

    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
    lpexactcurrent LP data
    cliquetableclique table data structure
    branchcandbranching candidate storage
    eventqueueevent queue
    eventfilterglobal event filter
    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 8412 of file var.c.

    References BMSallocBlockMemoryArray, BMSduplicateBlockMemoryArray, BMSfreeBlockMemoryArray, BMSreallocBlockMemoryArray, SCIP_Var::branchdirection, SCIP_Var::branchfactor, SCIP_Var::branchpriority, SCIP_Var::cliquelist, SCIP_Multaggr::constant, SCIP_MultaggrExact::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::exactdata, FALSE, SCIP_LpExact::fplp, SCIP_VarDataExact::glbdom, SCIP_Var::implics, SCIP_Var::index, SCIP_DomExact::lb, SCIP_VarDataExact::locdom, MAX, SCIP_VarDataExact::multaggr, SCIP_Var::multaggr, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, SCIP_Var::nlocksdown, SCIP_Var::nlocksup, NLOCKTYPES, NULL, SCIP_Multaggr::nvars, SCIP_VarDataExact::obj, SCIP_Var::original, SCIP_Var::probindex, SCIP_Var::removable, scalars, SCIP_Multaggr::scalars, SCIP_MultaggrExact::scalars, SCIP_Var::scip, SCIP_ALLOC, SCIP_BRANCHDIR_AUTO, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPeventqueueIsDelayed(), SCIPlpDecNLoosevars(), SCIPlpExactDecNLoosevars(), SCIPprobVarChangedStatus(), SCIPrationalAdd(), SCIPrationalCopyBlock(), SCIPrationalCopyBlockArray(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiffReal(), SCIPrationalDiv(), SCIPrationalFreeBlockArray(), SCIPrationalFreeBuffer(), SCIPrationalGetReal(), SCIPrationalIsEQ(), SCIPrationalIsEQReal(), SCIPrationalIsNegative(), SCIPrationalIsZero(), SCIPrationalNegate(), SCIPrationalReallocBlockArray(), SCIPrationalSetRational(), SCIPrationalSetReal(), SCIPsetDebugMsg, SCIPvarAddLocks(), SCIPvarAddObjExact(), SCIPvarChgBranchDirection(), SCIPvarChgBranchFactor(), SCIPvarChgBranchPriority(), SCIPvarChgObjExact(), SCIPvarDoNotMultaggr(), SCIPvarFixExact(), SCIPvarGetActiveRepresentativesExact(), SCIPvarGetHolelistGlobal(), SCIPvarGetName(), SCIPvarGetStatusExact(), SCIPvarMarkNotDeletable(), SCIPvarMultiaggregateExact(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarTryAggregateVarsExact(), SCIP_Original::transvar, TRUE, SCIP_DomExact::ub, varEventVarFixed(), SCIP_Multaggr::vars, SCIP_Multaggr::varssize, SCIP_Var::varstatus, SCIP_VarDataExact::varstatusexact, SCIP_Var::vlbs, and SCIP_Var::vubs.

    Referenced by SCIPmultiaggregateVarExact(), and SCIPvarMultiaggregateExact().

    ◆ SCIPvarDoNotAggr()

    ◆ SCIPvarDoNotMultaggr()

    ◆ SCIPvarIsAggrCoefAcceptable()

    SCIP_Bool SCIPvarIsAggrCoefAcceptable ( SCIP_SET *  set,
    SCIP_VAR *  var,
    SCIP_Real  scalar 
    )

    checks whether a loose variable can be used in a new aggregation with given coefficient

    Parameters
    setglobal SCIP settings
    varproblem variable
    scalaraggregation scalar

    Definition at line 8906 of file var.c.

    References FALSE, NULL, SCIP_VARSTATUS_LOOSE, SCIPsetIsSumZero(), SCIPvarGetMaxAggrCoef(), SCIPvarGetMinAggrCoef(), SCIPvarGetStatus(), and TRUE.

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

    ◆ SCIPvarIsMarkedDeleteGlobalStructures()

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

    References SCIP_Var::delglobalstructs, and NULL.

    Referenced by cliqueCleanup(), and SCIPcliquetableAdd().

    ◆ SCIPvarNegate()

    SCIP_RETCODE SCIPvarNegate ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_VAR **  negvar 
    )

    gets negated variable x' = offset - x of problem variable x; the negated variable is created if not yet existing; the negation offset of binary variables is always 1, the offset of other variables is fixed to lb + ub when the negated variable is created

    Parameters
    varproblem variable to negate
    blkmemblock memory of transformed problem
    setglobal SCIP settings
    statproblem statistics
    negvarpointer to store the negated variable

    Definition at line 8976 of file var.c.

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

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

    ◆ SCIPvarSetProbindex()

    void SCIPvarSetProbindex ( SCIP_VAR *  var,
    int  probindex 
    )

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

    Parameters
    varproblem variable
    probindexnew problem index of variable

    Definition at line 9084 of file var.c.

    References NULL, and varSetProbindex().

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

    ◆ SCIPvarSetNamePointer()

    void SCIPvarSetNamePointer ( SCIP_VAR *  var,
    const char *  name 
    )

    gives the variable a new name

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

    Definition at line 9099 of file var.c.

    References SCIP_Var::name, and NULL.

    Referenced by resetVarname(), and SCIPreaderWrite().

    ◆ SCIPvarRemove()

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

    informs variable that it will be removed from the problem; adjusts probindex and removes variable from the implication graph; If 'final' is TRUE, the thorough implication graph removal is not performed. Instead, only the variable bounds and implication data structures of the variable are freed. Since in the final removal of all variables from the transformed problem, this deletes the implication graph completely and is faster than removing the variables one by one, each time updating all lists of the other variables. If 'keepimplics' is TRUE, the implications, variable bounds and cliques are kept. This should be used when the variable type is upgraded, i.e. when it gains (implied) integrality, so that existing implications are not lost.

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

    Definition at line 9119 of file var.c.

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

    Referenced by probRemoveVar(), and SCIPprobFree().

    ◆ SCIPvarMarkDeleted()

    void SCIPvarMarkDeleted ( SCIP_VAR *  var)

    marks the variable to be deleted from the problem

    Parameters
    varproblem variable

    Definition at line 9156 of file var.c.

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

    Referenced by SCIPprobDelVar().

    ◆ SCIPvarMarkDoNotAggr()

    SCIP_RETCODE SCIPvarMarkDoNotAggr ( SCIP_VAR *  var)

    marks the variable to not to be maggregated

    marks the variable to not to be aggregated

    Parameters
    varproblem variable

    Definition at line 9167 of file var.c.

    References SCIP_Var::donotaggr, NULL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPvarGetStatus(), TRUE, and varGetActiveVar().

    Referenced by SCIPmarkDoNotAggrVar().

    ◆ SCIPvarMarkDoNotMultaggr()

    ◆ SCIPvarAddLocks()

    ◆ SCIPvarChgType()

    SCIP_RETCODE SCIPvarChgType ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_PRIMAL *  primal,
    SCIP_LP *  lp,
    SCIP_EVENTQUEUE *  eventqueue,
    SCIP_VARTYPE  vartype 
    )

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

    Parameters
    varvariable to change
    blkmemblock memory
    setglobal SCIP settings
    primalprimal data
    lpcurrent LP data
    eventqueueevent queue
    vartypenew type of variable

    Definition at line 9239 of file var.c.

    References SCIP_Var::name, SCIP_Var::negatedvar, NULL, SCIP_Var::probindex, SCIP_CALL, SCIP_DEPRECATED_VARTYPE_IMPLINT, SCIP_IMPLINTTYPE_WEAK, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_TRANSFORMING, SCIPdebugMessage, SCIPerrorMessage, SCIPeventCreateTypeChanged(), SCIPeventqueueAdd(), SCIPsetGetStage(), SCIPvarChgImplType(), SCIPvarGetImplType(), SCIPvarGetType(), SCIPvarIsBinary(), and SCIP_Var::vartype.

    Referenced by SCIPchgVarType(), and SCIPprobChgVarType().

    ◆ SCIPvarChgImplType()

    SCIP_RETCODE SCIPvarChgImplType ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_PRIMAL *  primal,
    SCIP_LP *  lp,
    SCIP_EVENTQUEUE *  eventqueue,
    SCIP_IMPLINTTYPE  impltype 
    )

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

    Parameters
    varvariable to change
    blkmemblock memory
    setglobal SCIP settings
    primalprimal data
    lpcurrent LP data
    eventqueueevent queue
    impltypenew implied integral type of variable

    Definition at line 9298 of file var.c.

    References SCIP_Var::name, SCIP_Var::negatedvar, NULL, SCIP_Var::probindex, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_TRANSFORMING, SCIPdebugMessage, SCIPerrorMessage, SCIPeventCreateImplTypeChanged(), SCIPeventqueueAdd(), SCIPsetGetStage(), SCIPvarGetImplType(), and SCIP_Var::varimpltype.

    Referenced by SCIPchgVarImplType(), SCIPprobChgVarImplType(), and SCIPvarChgType().

    ◆ SCIPvarChgObj()

    ◆ SCIPvarChgObjExact()

    SCIP_RETCODE SCIPvarChgObjExact ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_PROB *  prob,
    SCIP_PRIMAL *  primal,
    SCIP_LPEXACT *  lp,
    SCIP_EVENTQUEUE *  eventqueue,
    SCIP_RATIONAL *  newobj 
    )

    ◆ SCIPvarChgUbGlobalExact()

    SCIP_RETCODE SCIPvarChgUbGlobalExact ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_LPEXACT *  lpexact,
    SCIP_BRANCHCAND *  branchcand,
    SCIP_EVENTQUEUE *  eventqueue,
    SCIP_CLIQUETABLE *  cliquetable,
    SCIP_RATIONAL *  newbound 
    )

    changes rational objective value of variable

    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
    lpexactcurrent exact 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 11636 of file var.c.

    References adjustedUbExact(), SCIP_VarDataExact::aggregate, SCIP_Var::aggregate, SCIP_AggregateExact::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::exactdata, SCIP_VarDataExact::glbdom, SCIP_DomExact::lb, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_AggregateExact::scalar, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiff(), SCIPrationalDiffReal(), SCIPrationalDiv(), SCIPrationalFreeBuffer(), SCIPrationalIsAbsInfinity(), SCIPrationalIsGE(), SCIPrationalIsIntegral(), SCIPrationalIsLT(), SCIPrationalIsNegative(), SCIPrationalIsPositive(), SCIPrationalMax(), SCIPrationalNegate(), SCIPrationalSetRational(), SCIPsetGetStage(), SCIPvarChgLbGlobalExact(), SCIPvarChgUbGlobalExact(), SCIPvarChgUbLocalExact(), SCIPvarGetLbLocalExact(), SCIPvarGetStatus(), SCIPvarGetUbLocalExact(), SCIPvarIsIntegral(), SCIP_Original::transvar, SCIP_DomExact::ub, SCIP_Aggregate::var, and varProcessChgUbGlobalExact().

    Referenced by SCIPchgVarUbExact(), SCIPchgVarUbGlobalExact(), SCIPinferVarUbConsExact(), SCIPtightenVarUbExact(), SCIPvarChgBdGlobalExact(), SCIPvarChgLbGlobalExact(), SCIPvarChgUbGlobalExact(), SCIPvarFixExact(), SCIPvarResetBounds(), tightenVarUbGlobalSafe(), and varUpdateAggregationBoundsExact().

    ◆ SCIPvarChgLbGlobalExact()

    SCIP_RETCODE SCIPvarChgLbGlobalExact ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_LPEXACT *  lpexact,
    SCIP_BRANCHCAND *  branchcand,
    SCIP_EVENTQUEUE *  eventqueue,
    SCIP_CLIQUETABLE *  cliquetable,
    SCIP_RATIONAL *  newbound 
    )

    changes rational objective value of variable

    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
    lpexactcurrent exact 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 11334 of file var.c.

    References adjustedLbExact(), SCIP_VarDataExact::aggregate, SCIP_Var::aggregate, SCIP_AggregateExact::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::exactdata, SCIP_VarDataExact::glbdom, SCIP_DomExact::lb, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_AggregateExact::scalar, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiff(), SCIPrationalDiffReal(), SCIPrationalDiv(), SCIPrationalFreeBuffer(), SCIPrationalIsAbsInfinity(), SCIPrationalIsGT(), SCIPrationalIsIntegral(), SCIPrationalIsLE(), SCIPrationalIsNegative(), SCIPrationalIsPositive(), SCIPrationalMin(), SCIPrationalNegate(), SCIPrationalSetRational(), SCIPsetGetStage(), SCIPvarChgLbGlobalExact(), SCIPvarChgLbLocalExact(), SCIPvarChgUbGlobalExact(), SCIPvarGetLbLocalExact(), SCIPvarGetStatus(), SCIPvarGetUbLocalExact(), SCIPvarIsIntegral(), SCIP_Original::transvar, SCIP_DomExact::ub, SCIP_Aggregate::var, and varProcessChgLbGlobalExact().

    Referenced by SCIPchgVarLbExact(), SCIPchgVarLbGlobalExact(), SCIPinferVarLbConsExact(), SCIPtightenVarLbExact(), SCIPvarChgBdGlobalExact(), SCIPvarChgLbGlobalExact(), SCIPvarChgUbGlobalExact(), SCIPvarFixExact(), SCIPvarResetBounds(), tightenVarLbGlobalSafe(), and varUpdateAggregationBoundsExact().

    ◆ SCIPvarAddObj()

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

    adds value to objective value of variable

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

    Definition at line 9585 of file var.c.

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

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

    ◆ SCIPvarAddObjExact()

    SCIP_RETCODE SCIPvarAddObjExact ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_PROB *  transprob,
    SCIP_PROB *  origprob,
    SCIP_PRIMAL *  primal,
    SCIP_TREE *  tree,
    SCIP_REOPT *  reopt,
    SCIP_LP *  lp,
    SCIP_EVENTQUEUE *  eventqueue,
    SCIP_EVENTFILTER *  eventfilter,
    SCIP_RATIONAL *  addobj 
    )

    adds exact value to objective value of variable

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

    Definition at line 9700 of file var.c.

    References SCIP_VarDataExact::aggregate, SCIP_Var::aggregate, SCIP_AggregateExact::constant, SCIP_MultaggrExact::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Lp::divingobjchg, SCIP_Var::donotmultaggr, SCIP_Var::exactdata, SCIP_Dom::lb, SCIP_DomExact::lb, SCIP_VarDataExact::locdom, SCIP_Var::locdom, SCIP_VarDataExact::multaggr, SCIP_Var::multaggr, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Multaggr::nvars, SCIP_VarDataExact::obj, SCIP_Var::obj, SCIP_VarDataExact::objinterval, SCIP_Prob::objscale, SCIP_Prob::objsense, SCIP_Var::original, SCIP_AggregateExact::scalar, SCIP_MultaggrExact::scalars, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPintervalSetRational(), SCIPprimalUpdateObjoffsetExact(), SCIPprobAddObjoffsetExact(), SCIPprobUpdateNObjVars(), SCIPrationalAdd(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalFreeBuffer(), SCIPrationalGetReal(), SCIPrationalIsZero(), SCIPrationalMult(), SCIPrationalMultReal(), SCIPrationalNegate(), SCIPrationalSetRational(), SCIPsetIsEQ(), SCIPvarAddObjExact(), SCIPvarGetStatus(), SCIPvarGetStatusExact(), SCIPvarIsActive(), SCIP_Original::transvar, SCIP_Dom::ub, SCIP_Var::unchangedobj, SCIP_Aggregate::var, varEventObjChangedExact(), and SCIP_Multaggr::vars.

    Referenced by SCIPvarAddObjExact(), SCIPvarAggregateExact(), SCIPvarFixExact(), and SCIPvarMultiaggregateExact().

    ◆ SCIPvarChgObjDive()

    ◆ SCIPvarAdjustLb()

    ◆ SCIPvarAdjustLbExact()

    void SCIPvarAdjustLbExact ( SCIP_VAR *  var,
    SCIP_SET *  set,
    SCIP_RATIONAL *  lb 
    )

    adjust lower bound to integral value, if variable is integral

    Parameters
    varproblem variable
    setglobal SCIP settings
    lbpointer to lower bound to adjust

    Definition at line 9923 of file var.c.

    References adjustedLbExact(), SCIP_Var::name, NULL, SCIP_Var::scip, SCIPrationalDebugMessage, and SCIPvarIsIntegral().

    Referenced by SCIPchgVarLbExact(), SCIPinferVarLbConsExact(), SCIPnodeAddBoundinferExact(), SCIPtightenVarLbExact(), SCIPvarParseOriginal(), SCIPvarParseTransformed(), and varUpdateAggregationBoundsExact().

    ◆ SCIPvarAdjustLbExactFloat()

    void SCIPvarAdjustLbExactFloat ( SCIP_VAR *  var,
    SCIP_SET *  set,
    SCIP_Real *  lb 
    )

    adjust lower bound to integral value, if variable is integral

    Parameters
    varproblem variable
    setglobal SCIP settings
    lbpointer to lower bound to adjust

    Definition at line 9940 of file var.c.

    References adjustedLbExactFloat(), SCIP_Var::name, NULL, SCIP_Var::scip, SCIPsetDebugMsg, and SCIPvarIsIntegral().

    Referenced by SCIPadjustedVarLbExactFloat(), and tightenVarLbGlobalSafe().

    ◆ SCIPvarAdjustUb()

    ◆ SCIPvarAdjustUbExact()

    void SCIPvarAdjustUbExact ( SCIP_VAR *  var,
    SCIP_SET *  set,
    SCIP_RATIONAL *  ub 
    )

    adjust lower bound to integral value, if variable is integral

    Parameters
    varproblem variable
    setglobal SCIP settings
    ubpointer to lower bound to adjust

    Definition at line 9974 of file var.c.

    References adjustedUbExact(), SCIP_Var::name, NULL, SCIP_Var::scip, SCIPrationalDebugMessage, and SCIPvarIsIntegral().

    Referenced by SCIPchgVarUbExact(), SCIPinferVarUbConsExact(), SCIPnodeAddBoundinferExact(), SCIPtightenVarUbExact(), SCIPvarParseOriginal(), SCIPvarParseTransformed(), and varUpdateAggregationBoundsExact().

    ◆ SCIPvarAdjustUbExactFloat()

    void SCIPvarAdjustUbExactFloat ( SCIP_VAR *  var,
    SCIP_SET *  set,
    SCIP_Real *  ub 
    )

    adjust lower bound to integral value, if variable is integral

    Parameters
    varproblem variable
    setglobal SCIP settings
    ubpointer to lower bound to adjust

    Definition at line 9991 of file var.c.

    References adjustedUbExactFloat(), SCIP_Var::name, NULL, SCIP_Var::scip, SCIPsetDebugMsg, and SCIPvarIsIntegral().

    Referenced by SCIPadjustedVarUbExactFloat(), and tightenVarUbGlobalSafe().

    ◆ SCIPvarAdjustBd()

    void SCIPvarAdjustBd ( SCIP_VAR *  var,
    SCIP_SET *  set,
    SCIP_BOUNDTYPE  boundtype,
    SCIP_Real *  bd 
    )

    adjust lower or upper bound to integral value, if variable is integral

    Parameters
    varproblem variable
    setglobal SCIP settings
    boundtypetype of bound to adjust
    bdpointer to bound to adjust

    Definition at line 10008 of file var.c.

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

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

    ◆ SCIPvarChgLbOriginal()

    ◆ SCIPvarChgLbOriginalExact()

    ◆ SCIPvarChgUbOriginal()

    ◆ SCIPvarChgUbOriginalExact()

    ◆ SCIPvarChgLbGlobal()

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

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

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

    References adjustedLb(), SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::glbdom, SCIP_Dom::lb, MIN, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLE(), SCIPsetIsInfinity(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarGetLbLocal(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIPvarIsIntegral(), SCIP_Original::transvar, SCIP_Dom::ub, SCIP_Aggregate::var, and varProcessChgLbGlobal().

    Referenced by applyImplic(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPreoptInstallBounds(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgBdGlobal(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarFix(), SCIPvarFixBinary(), SCIPvarResetBounds(), varAddImplic(), and varUpdateAggregationBounds().

    ◆ SCIPvarChgUbGlobal()

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

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

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

    References adjustedUb(), SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::glbdom, SCIP_Dom::lb, MAX, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGE(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLT(), SCIPsetIsInfinity(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarGetLbLocal(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIPvarIsIntegral(), SCIP_Original::transvar, SCIP_Dom::ub, SCIP_Aggregate::var, and varProcessChgUbGlobal().

    Referenced by applyImplic(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPreoptInstallBounds(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgBdGlobal(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarFix(), SCIPvarFixBinary(), SCIPvarResetBounds(), varAddImplic(), and varUpdateAggregationBounds().

    ◆ SCIPvarChgBdGlobal()

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

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

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

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

    Referenced by boundchgApplyGlobal(), and SCIPnodeAddBoundinfer().

    ◆ SCIPvarChgBdGlobalExact()

    SCIP_RETCODE SCIPvarChgBdGlobalExact ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_LPEXACT *  lpexact,
    SCIP_BRANCHCAND *  branchcand,
    SCIP_EVENTQUEUE *  eventqueue,
    SCIP_CLIQUETABLE *  cliquetable,
    SCIP_RATIONAL *  newbound,
    SCIP_BOUNDTYPE  boundtype 
    )

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

    Parameters
    varproblem variable to change
    blkmemblock memory
    setglobal SCIP settings
    statproblem statistics
    lpexactcurrent 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 11866 of file var.c.

    References SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_INVALIDDATA, SCIPerrorMessage, SCIPvarChgLbGlobalExact(), and SCIPvarChgUbGlobalExact().

    Referenced by SCIPnodeAddBoundinfer(), and SCIPnodeAddBoundinferExact().

    ◆ SCIPvarChgLbLocal()

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

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

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

    References adjustedLb(), SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_Var::locdom, MIN, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPcertificateGetLastBoundIndex(), SCIPerrorMessage, SCIPgetCertificate(), SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasIntegral(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPshouldCertificateTrackBounds(), SCIPvarChgLbLocal(), SCIPvarChgUbLocal(), SCIPvarGetStatus(), SCIPvarIsIntegral(), SCIPvarSetLbCertificateIndexLocal(), SCIP_Original::transvar, SCIP_Dom::ub, SCIP_Aggregate::var, and varProcessChgLbLocal().

    Referenced by SCIPboundchgApply(), SCIPboundchgUndo(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPpricestoreAddBdviolvar(), SCIPpricestoreResetBounds(), SCIPreoptInstallBounds(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPvarChgBdLocal(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), and SCIPvarResetBounds().

    ◆ SCIPvarChgLbLocalExact()

    SCIP_RETCODE SCIPvarChgLbLocalExact ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_LPEXACT *  lpexact,
    SCIP_BRANCHCAND *  branchcand,
    SCIP_EVENTQUEUE *  eventqueue,
    SCIP_RATIONAL *  newbound 
    )

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

    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
    lpexactcurrent exact 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 12881 of file var.c.

    References adjustedLbExact(), SCIP_VarDataExact::aggregate, SCIP_Var::aggregate, SCIP_AggregateExact::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::exactdata, SCIP_DomExact::lb, SCIP_VarDataExact::locdom, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_AggregateExact::scalar, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPcertificateGetLastBoundIndex(), SCIPerrorMessage, SCIPgetCertificate(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiff(), SCIPrationalDiffReal(), SCIPrationalDiv(), SCIPrationalFreeBuffer(), SCIPrationalIsGT(), SCIPrationalIsInfinity(), SCIPrationalIsIntegral(), SCIPrationalIsNegative(), SCIPrationalIsNegInfinity(), SCIPrationalIsPositive(), SCIPrationalMin(), SCIPrationalNegate(), SCIPrationalSetRational(), SCIPsetGetStage(), SCIPshouldCertificateTrackBounds(), SCIPvarChgLbLocalExact(), SCIPvarChgUbLocalExact(), SCIPvarGetStatusExact(), SCIPvarIsIntegral(), SCIPvarSetLbCertificateIndexLocal(), SCIP_Original::transvar, SCIP_DomExact::ub, SCIP_Aggregate::var, and varProcessChgLbLocalExact().

    Referenced by boundchgApplyExact(), SCIPboundchgUndo(), SCIPchgVarLbExact(), SCIPinferVarLbConsExact(), SCIPtightenVarLbExact(), SCIPvarChgLbGlobalExact(), SCIPvarChgLbLocalExact(), SCIPvarChgUbLocalExact(), SCIPvarResetBounds(), and tightenVarLbGlobalSafe().

    ◆ SCIPvarChgUbLocal()

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

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

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

    References adjustedUb(), SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_Var::locdom, MAX, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPcertificateGetLastBoundIndex(), SCIPerrorMessage, SCIPgetCertificate(), SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLT(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPshouldCertificateTrackBounds(), SCIPvarChgLbLocal(), SCIPvarChgUbLocal(), SCIPvarGetStatus(), SCIPvarIsIntegral(), SCIPvarSetUbCertificateIndexLocal(), SCIP_Original::transvar, SCIP_Dom::ub, SCIP_Aggregate::var, and varProcessChgUbLocal().

    Referenced by SCIPboundchgApply(), SCIPboundchgUndo(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPpricestoreAddBdviolvar(), SCIPpricestoreResetBounds(), SCIPreoptInstallBounds(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPvarChgBdLocal(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), and SCIPvarResetBounds().

    ◆ SCIPvarChgUbLocalExact()

    SCIP_RETCODE SCIPvarChgUbLocalExact ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_LPEXACT *  lpexact,
    SCIP_BRANCHCAND *  branchcand,
    SCIP_EVENTQUEUE *  eventqueue,
    SCIP_RATIONAL *  newbound 
    )

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

    changes current exact 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
    lpexactcurrent exact 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 13153 of file var.c.

    References adjustedUbExact(), SCIP_VarDataExact::aggregate, SCIP_Var::aggregate, SCIP_AggregateExact::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::exactdata, SCIP_DomExact::lb, SCIP_VarDataExact::locdom, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_AggregateExact::scalar, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPcertificateGetLastBoundIndex(), SCIPerrorMessage, SCIPgetCertificate(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiff(), SCIPrationalDiffReal(), SCIPrationalDiv(), SCIPrationalFreeBuffer(), SCIPrationalIsInfinity(), SCIPrationalIsIntegral(), SCIPrationalIsLT(), SCIPrationalIsNegative(), SCIPrationalIsNegInfinity(), SCIPrationalIsPositive(), SCIPrationalMax(), SCIPrationalNegate(), SCIPrationalSetRational(), SCIPsetGetStage(), SCIPshouldCertificateTrackBounds(), SCIPvarChgLbLocalExact(), SCIPvarChgUbLocalExact(), SCIPvarGetStatusExact(), SCIPvarIsIntegral(), SCIPvarSetUbCertificateIndexLocal(), SCIP_Original::transvar, SCIP_DomExact::ub, SCIP_Aggregate::var, and varProcessChgUbLocalExact().

    Referenced by boundchgApplyExact(), SCIPboundchgUndo(), SCIPchgVarUbExact(), SCIPinferVarUbConsExact(), SCIPtightenVarUbExact(), SCIPvarChgLbLocalExact(), SCIPvarChgUbGlobalExact(), SCIPvarChgUbLocalExact(), SCIPvarResetBounds(), and tightenVarUbGlobalSafe().

    ◆ SCIPvarChgBdLocal()

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

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

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

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

    ◆ SCIPvarChgLbLazy()

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

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

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

    Definition at line 11789 of file var.c.

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

    Referenced by SCIPchgVarLbLazy().

    ◆ SCIPvarChgUbLazy()

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

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

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

    Definition at line 11812 of file var.c.

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

    Referenced by SCIPchgVarUbLazy().

    ◆ SCIPvarChgLbDive()

    ◆ SCIPvarChgLbExactDive()

    ◆ SCIPvarChgUbDive()

    ◆ SCIPvarChgUbExactDive()

    ◆ SCIPvarGetMultaggrLbLocal()

    SCIP_Real SCIPvarGetMultaggrLbLocal ( SCIP_VAR *  var,
    SCIP_SET *  set 
    )

    for a multi-aggregated variable, gives the local lower bound computed by adding the local bounds from all aggregation variables this lower bound may be tighter than the one given by SCIPvarGetLbLocal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable is not allowed

    for a multi-aggregated variable, gives the local lower bound computed by adding the local bounds from all aggregation variables, this lower bound may be tighter than the one given by SCIPvarGetLbLocal, since the latter is not updated if bounds of aggregation variables are changing

    calling this function for a non-multi-aggregated variable is not allowed

    Parameters
    varproblem variable
    setglobal SCIP settings

    Definition at line 13615 of file var.c.

    References SCIP_Multaggr::constant, SCIP_Var::data, FALSE, MAX, SCIP_Var::multaggr, NULL, SCIP_Multaggr::nvars, SCIP_Multaggr::scalars, SCIP_Var::scip, SCIP_Bool, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPvarGetLbLocal(), SCIPvarGetMultaggrLbLocal(), SCIPvarGetMultaggrUbLocal(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), TRUE, SCIP_Multaggr::vars, and SCIP_Var::varstatus.

    Referenced by SCIPbranchcandAddExternCand(), SCIPcomputeVarLbLocal(), SCIPgetVarMultaggrLbLocal(), SCIPvarGetMultaggrLbLocal(), and SCIPvarGetMultaggrUbLocal().

    ◆ SCIPvarGetMultaggrLbLocalExact()

    SCIP_RETCODE SCIPvarGetMultaggrLbLocalExact ( SCIP_VAR *  var,
    SCIP_SET *  set,
    SCIP_RATIONAL *  result 
    )

    for a multi-aggregated variable, gives the exact local lower bound computed by adding the local bounds from all aggregation variables this lower bound may be tighter than the one given by SCIPvarGetLbLocal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable is not allowed

    for a multi-aggregated variable, gives the exact local lower bound computed by adding the local bounds from all aggregation variables; this lower bound may be tighter than the one given by SCIPvarGetLbLocal, since the latter is not updated if bounds of aggregation variables are changing

    calling this function for a non-multi-aggregated variable is not allowed

    Parameters
    varproblem variable
    setglobal SCIP settings
    resultthe resulting bound

    Definition at line 13681 of file var.c.

    References SCIP_MultaggrExact::constant, SCIP_Var::data, SCIP_Var::exactdata, FALSE, SCIP_VarDataExact::multaggr, SCIP_Var::multaggr, NULL, SCIP_Multaggr::nvars, SCIP_MultaggrExact::scalars, SCIP_Var::scip, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_MULTAGGR, SCIPrationalAddProd(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalIsInfinity(), SCIPrationalIsNegInfinity(), SCIPrationalIsPositive(), SCIPrationalMax(), SCIPrationalSetInfinity(), SCIPrationalSetRational(), SCIPvarGetLbLocalExact(), SCIPvarGetMultaggrLbLocalExact(), SCIPvarGetMultaggrUbLocalExact(), SCIPvarGetStatusExact(), SCIPvarGetUbLocalExact(), TRUE, SCIP_Multaggr::vars, and SCIP_Var::varstatus.

    Referenced by SCIPcomputeVarLbLocalExact(), SCIPvarGetMultaggrLbLocalExact(), and SCIPvarGetMultaggrUbLocalExact().

    ◆ SCIPvarGetMultaggrUbLocal()

    SCIP_Real SCIPvarGetMultaggrUbLocal ( SCIP_VAR *  var,
    SCIP_SET *  set 
    )

    for a multi-aggregated variable, gives the local upper bound computed by adding the local bounds from all aggregation variables this upper bound may be tighter than the one given by SCIPvarGetUbLocal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable is not allowed

    for a multi-aggregated variable, gives the local upper bound computed by adding the local bounds from all aggregation variables, this upper bound may be tighter than the one given by SCIPvarGetUbLocal, since the latter is not updated if bounds of aggregation variables are changing

    calling this function for a non-multi-aggregated variable is not allowed

    Parameters
    varproblem variable
    setglobal SCIP settings

    Definition at line 13765 of file var.c.

    References SCIP_Multaggr::constant, SCIP_Var::data, FALSE, MIN, SCIP_Var::multaggr, NULL, SCIP_Multaggr::nvars, SCIP_Multaggr::scalars, SCIP_Var::scip, SCIP_Bool, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPvarGetLbLocal(), SCIPvarGetMultaggrLbLocal(), SCIPvarGetMultaggrUbLocal(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), TRUE, SCIP_Multaggr::vars, and SCIP_Var::varstatus.

    Referenced by SCIPbranchcandAddExternCand(), SCIPcomputeVarUbLocal(), SCIPgetVarMultaggrUbLocal(), SCIPvarGetMultaggrLbLocal(), and SCIPvarGetMultaggrUbLocal().

    ◆ SCIPvarGetMultaggrUbLocalExact()

    SCIP_RETCODE SCIPvarGetMultaggrUbLocalExact ( SCIP_VAR *  var,
    SCIP_SET *  set,
    SCIP_RATIONAL *  result 
    )

    for a multi-aggregated variable, gives the exact local upper bound computed by adding the local bounds from all aggregation variables this lower bound may be tighter than the one given by SCIPvarGetUbLocal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable is not allowed

    for a multi-aggregated variable, gives the exact local upper bound computed by adding the local bounds from all aggregation variables this upper bound may be tighter than the one given by SCIPvarGetLbLocal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable is not allowed

    Parameters
    varproblem variable
    setglobal SCIP settings
    resultthe resulting bound

    Definition at line 13829 of file var.c.

    References SCIP_MultaggrExact::constant, SCIP_Var::data, SCIP_Var::exactdata, FALSE, SCIP_VarDataExact::multaggr, SCIP_Var::multaggr, NULL, SCIP_Multaggr::nvars, SCIP_MultaggrExact::scalars, SCIP_Var::scip, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_MULTAGGR, SCIPrationalAddProd(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalIsInfinity(), SCIPrationalIsNegInfinity(), SCIPrationalIsPositive(), SCIPrationalMin(), SCIPrationalSetNegInfinity(), SCIPrationalSetRational(), SCIPvarGetLbLocalExact(), SCIPvarGetMultaggrLbLocalExact(), SCIPvarGetMultaggrUbLocalExact(), SCIPvarGetStatusExact(), SCIPvarGetUbLocalExact(), TRUE, SCIP_Multaggr::vars, and SCIP_Var::varstatus.

    Referenced by SCIPcomputeVarUbLocalExact(), SCIPvarGetMultaggrLbLocalExact(), and SCIPvarGetMultaggrUbLocalExact().

    ◆ SCIPvarGetMultaggrLbGlobal()

    SCIP_Real SCIPvarGetMultaggrLbGlobal ( SCIP_VAR *  var,
    SCIP_SET *  set 
    )

    for a multi-aggregated variable, gives the global lower bound computed by adding the global bounds from all aggregation variables this global bound may be tighter than the one given by SCIPvarGetLbGlobal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable is not allowed

    for a multi-aggregated variable, gives the global lower bound computed by adding the global bounds from all aggregation variables, this global bound may be tighter than the one given by SCIPvarGetLbGlobal, since the latter is not updated if bounds of aggregation variables are changing

    calling this function for a non-multi-aggregated variable is not allowed

    Parameters
    varproblem variable
    setglobal SCIP settings

    Definition at line 13913 of file var.c.

    References SCIP_Multaggr::constant, SCIP_Var::data, FALSE, MAX, SCIP_Var::multaggr, NULL, SCIP_Multaggr::nvars, SCIP_Multaggr::scalars, SCIP_Var::scip, SCIP_Bool, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPvarGetLbGlobal(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetMultaggrUbGlobal(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), TRUE, SCIP_Multaggr::vars, and SCIP_Var::varstatus.

    Referenced by SCIPcomputeVarLbGlobal(), SCIPgetVarMultaggrLbGlobal(), SCIPvarGetMultaggrLbGlobal(), and SCIPvarGetMultaggrUbGlobal().

    ◆ SCIPvarGetMultaggrUbGlobal()

    SCIP_Real SCIPvarGetMultaggrUbGlobal ( SCIP_VAR *  var,
    SCIP_SET *  set 
    )

    for a multi-aggregated variable, gives the global upper bound computed by adding the global bounds from all aggregation variables this upper bound may be tighter than the one given by SCIPvarGetUbGlobal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable is not allowed

    for a multi-aggregated variable, gives the global upper bound computed by adding the global bounds from all aggregation variables, this upper bound may be tighter than the one given by SCIPvarGetUbGlobal, since the latter is not updated if bounds of aggregation variables are changing

    calling this function for a non-multi-aggregated variable is not allowed

    Parameters
    varproblem variable
    setglobal SCIP settings

    Definition at line 13979 of file var.c.

    References SCIP_Multaggr::constant, SCIP_Var::data, FALSE, MIN, SCIP_Var::multaggr, NULL, SCIP_Multaggr::nvars, SCIP_Multaggr::scalars, SCIP_Var::scip, SCIP_Bool, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPvarGetLbGlobal(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetMultaggrUbGlobal(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), TRUE, SCIP_Multaggr::vars, and SCIP_Var::varstatus.

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

    ◆ SCIPvarAddHoleOriginal()

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

    adds a hole to the original domain of the variable

    Parameters
    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 14040 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, SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsGE(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPvarGetLbOriginal(), SCIPvarGetStatus(), SCIPvarGetUbOriginal(), SCIPvarIsIntegral(), and SCIPvarIsTransformed().

    ◆ SCIPvarAddHoleGlobal()

    SCIP_RETCODE SCIPvarAddHoleGlobal ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_EVENTQUEUE *  eventqueue,
    SCIP_Real  left,
    SCIP_Real  right,
    SCIP_Bool *  added 
    )

    adds a hole to the variable's global domain

    adds a hole to the variable's global and local domain

    Parameters
    varproblem variable
    blkmemblock memory
    setglobal SCIP settings
    statproblem statistics
    eventqueueevent queue, may be NULL for original variables
    leftleft bound of open interval in new hole
    rightright bound of open interval in new hole
    addedpointer to store whether the hole was added

    Definition at line 14221 of file var.c.

    References adjustedLb(), adjustedUb(), SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsGE(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPvarAddHoleGlobal(), SCIPvarAddHoleLocal(), SCIPvarGetLbGlobal(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), SCIPvarIsIntegral(), SCIP_Original::transvar, SCIP_Aggregate::var, and varProcessAddHoleGlobal().

    Referenced by SCIPnodeAddHoleinfer(), and SCIPvarAddHoleGlobal().

    ◆ SCIPvarAddHoleLocal()

    SCIP_RETCODE SCIPvarAddHoleLocal ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_EVENTQUEUE *  eventqueue,
    SCIP_Real  left,
    SCIP_Real  right,
    SCIP_Bool *  added 
    )

    ◆ SCIPvarResetBounds()

    ◆ SCIPvarGetConflictingBdchgDepth()

    int SCIPvarGetConflictingBdchgDepth ( SCIP_VAR *  var,
    SCIP_SET *  set,
    SCIP_BOUNDTYPE  boundtype,
    SCIP_Real  bound 
    )

    returns at which depth in the tree a bound change was applied to the variable that conflicts with the given bound; returns -1 if the bound does not conflict with the current local bounds of the variable

    Parameters
    varproblem variable
    setglobal SCIP settings
    boundtypebound type of the conflicting bound
    boundconflicting bound

    Definition at line 22845 of file var.c.

    References SCIP_BdChgInfo::bdchgidx, bound, SCIP_BdChgInfo::boundtype, SCIP_BdChgIdx::depth, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_Var::lbchginfos, SCIP_Var::locdom, SCIP_BdChgInfo::newbound, SCIP_Var::nlbchginfos, SCIP_Var::nubchginfos, NULL, SCIP_Var::scip, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsLE(), SCIPsetIsLT(), SCIP_Dom::ub, SCIP_Var::ubchginfos, and SCIP_BdChgInfo::var.

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

    ◆ SCIPvarAddVlb()

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

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

    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
    eventfilterglobal event filter
    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 15361 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, SCIPerrorMessage, SCIPnodeAddBoundchg(), SCIPprobIsTransformed(), SCIPsetCeil(), SCIPsetDebugMsg, SCIPsetFloor(), SCIPsetGetStage(), SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsetIsFeasPositive(), SCIPsetIsGT(), SCIPsetIsInfinity(), SCIPsetIsLT(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetIsZero(), SCIPtreeGetRootNode(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsImpliedIntegral(), SCIPvarIsIntegral(), SCIP_Original::transvar, TRUE, SCIP_Aggregate::var, varAddTransitiveImplic(), and varAddVbound().

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

    ◆ SCIPvarAddVub()

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

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

    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
    eventfilterglobal event filter
    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 15828 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, SCIPerrorMessage, SCIPnodeAddBoundchg(), SCIPprobIsTransformed(), SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsetIsFeasNegative(), SCIPsetIsGT(), SCIPsetIsInfinity(), SCIPsetIsLT(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetIsZero(), SCIPtreeGetRootNode(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgLbGlobal(), SCIPvarChgUbGlobal(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsBinary(), SCIPvarIsImpliedIntegral(), SCIPvarIsIntegral(), SCIP_Original::transvar, TRUE, SCIP_Aggregate::var, varAddTransitiveImplic(), and varAddVbound().

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

    ◆ SCIPvarAddImplic()

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

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

    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
    eventfilterglobal event filter
    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 16286 of file var.c.

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

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

    ◆ SCIPvarFixBinary()

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

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

    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
    eventfilterglobal event filter
    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 16557 of file var.c.

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

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

    ◆ SCIPvarAddClique()

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

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

    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
    eventfilterglobal event filter
    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 16646 of file var.c.

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

    ◆ SCIPvarsAddClique()

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

    adds a filled clique to the cliquelists of all corresponding variables

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

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

    Referenced by SCIPcliquetableAdd().

    ◆ SCIPvarDelClique()

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

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

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

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

    ◆ SCIPvarAddCliqueToList()

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

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

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

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

    Referenced by cliqueCleanup().

    ◆ SCIPvarDelCliqueFromList()

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

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

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

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

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

    ◆ SCIPvarChgBranchFactor()

    ◆ SCIPvarChgBranchPriority()

    ◆ SCIPvarChgBranchDirection()

    ◆ SCIPvarGetObjLP()

    SCIP_Real SCIPvarGetObjLP ( SCIP_VAR *  var)

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

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

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

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

    ◆ SCIPvarGetLbLP()

    ◆ SCIPvarGetUbLP()

    ◆ SCIPvarGetClosestVlb()

    void SCIPvarGetClosestVlb ( SCIP_VAR *  var,
    SCIP_SOL *  sol,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_Real *  closestvlb,
    int *  closestvlbidx 
    )

    returns solution value and index of variable lower bound that is closest to the variable's value in the given primal solution or current LP solution if no primal solution is given; returns an index of -1 if no variable lower bound is available

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

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

    Referenced by SCIPgetVarClosestVlb().

    ◆ SCIPvarGetClosestVub()

    void SCIPvarGetClosestVub ( SCIP_VAR *  var,
    SCIP_SOL *  sol,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_Real *  closestvub,
    int *  closestvubidx 
    )

    returns solution value and index of variable upper bound that is closest to the variable's value in the given primal solution; or current LP solution if no primal solution is given; returns an index of -1 if no variable upper bound is available

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

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

    Referenced by SCIPgetVarClosestVub().

    ◆ SCIPvarStoreRootSol()

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

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

    Referenced by SCIPprobStoreRootSol().

    ◆ SCIPvarUpdateBestRootSol()

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

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

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

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

    Definition at line 19074 of file var.c.

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

    Referenced by analyzeStrongbranch(), and SCIPprobUpdateBestRootSol().

    ◆ SCIPvarGetRelaxSol()

    ◆ SCIPvarGetRelaxSolTransVar()

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

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

    Referenced by solGetArrayVal(), and solUnlinkVar().

    ◆ SCIPvarGetImplRedcost()

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

    ◆ SCIPvarSetRelaxSol()

    ◆ SCIPvarSetNLPSol()

    ◆ SCIPvarAddToRow()

    SCIP_RETCODE SCIPvarAddToRow ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_EVENTQUEUE *  eventqueue,
    SCIP_PROB *  prob,
    SCIP_LP *  lp,
    SCIP_ROW *  row,
    SCIP_Real  val 
    )

    resolves variable to columns and adds them with the coefficient to the row

    Parameters
    varproblem variable
    blkmemblock memory
    setglobal SCIP settings
    statproblem statistics
    eventqueueevent queue
    probproblem data
    lpcurrent LP data
    rowLP row
    valvalue of coefficient

    Definition at line 20064 of file var.c.

    References SCIP_Var::aggregate, SCIP_Var::col, SCIP_Aggregate::constant, SCIP_Multaggr::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::donotaggr, SCIP_Var::donotmultaggr, SCIP_Var::exactdata, SCIP_VarDataExact::glbdom, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_DomExact::lb, SCIP_VarDataExact::locdom, SCIP_Var::locdom, SCIP_Var::multaggr, SCIP_Row::name, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Multaggr::nvars, SCIP_Var::original, REALABS, SCIP_Aggregate::scalar, SCIP_Multaggr::scalars, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPrationalIsEQ(), SCIProwAddConstant(), SCIProwIncCoef(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPvarAddToRow(), SCIPvarColumn(), SCIPvarGetStatus(), SCIP_Original::transvar, SCIP_Dom::ub, SCIP_DomExact::ub, SCIP_Col::var, SCIP_Aggregate::var, and SCIP_Multaggr::vars.

    Referenced by SCIPaddVarsToRow(), SCIPaddVarsToRowSameCoef(), SCIPaddVarToRow(), SCIProwExactGenerateFpRows(), and SCIPvarAddToRow().

    ◆ SCIPvarAddToRowExact()

    SCIP_RETCODE SCIPvarAddToRowExact ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_EVENTQUEUE *  eventqueue,
    SCIP_PROB *  prob,
    SCIP_LPEXACT *  lpexact,
    SCIP_ROWEXACT *  rowexact,
    SCIP_RATIONAL *  val 
    )

    resolves variable to columns and adds them with the coefficient to the

    resolves variable to exact columns and adds them with the coefficient to the exact Row

    Parameters
    varproblem variable
    blkmemblock memory
    setglobal SCIP settings
    statproblem statistics
    eventqueueevent queue
    probproblem data
    lpexactcurrent LP data
    rowexactLP row
    valvalue of coefficient

    Definition at line 20164 of file var.c.

    References SCIP_VarDataExact::aggregate, SCIP_Var::aggregate, SCIP_Var::col, SCIP_VarDataExact::colexact, SCIP_AggregateExact::constant, SCIP_MultaggrExact::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::donotmultaggr, SCIP_Var::exactdata, SCIP_RowExact::fprow, SCIP_VarDataExact::glbdom, SCIP_DomExact::lb, SCIP_VarDataExact::locdom, SCIP_VarDataExact::multaggr, SCIP_Var::multaggr, SCIP_Row::name, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Multaggr::nvars, SCIP_Var::original, SCIP_AggregateExact::scalar, SCIP_Multaggr::scalars, SCIP_MultaggrExact::scalars, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalFreeBuffer(), SCIPrationalIsAbsInfinity(), SCIPrationalIsEQ(), SCIPrationalIsZero(), SCIPrationalMult(), SCIPrationalMultReal(), SCIPrationalNegate(), SCIProwExactAddConstant(), SCIProwExactIncCoef(), SCIPvarAddToRowExact(), SCIPvarColumnExact(), SCIPvarGetStatusExact(), SCIP_Original::transvar, SCIP_DomExact::ub, SCIP_Col::var, SCIP_Aggregate::var, and SCIP_Multaggr::vars.

    Referenced by SCIPaddVarsToRowExact(), SCIProwExactCreateFromRow(), and SCIPvarAddToRowExact().

    ◆ SCIPvarMergeHistories()

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

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

    Referenced by SCIPmergeVariableStatistics(), and SCIPvarCopy().

    ◆ SCIPvarSetHistory()

    void SCIPvarSetHistory ( SCIP_VAR *  var,
    SCIP_HISTORY *  history,
    SCIP_STAT *  stat 
    )

    sets the history of a variable; this method is typacally used within reoptimization to keep and update the variable history over several iteraions

    sets the history of a variable; this method is typically used within reoptimization to keep and update the variable history over several iterations

    Parameters
    varvariable
    historythe history which is to set
    statproblem statistics

    Definition at line 6128 of file var.c.

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

    ◆ SCIPvarUpdatePseudocost()

    SCIP_RETCODE SCIPvarUpdatePseudocost ( SCIP_VAR *  var,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_Real  solvaldelta,
    SCIP_Real  objdelta,
    SCIP_Real  weight 
    )

    updates the pseudo costs of the given variable and the global pseudo costs after a change of "solvaldelta" in the variable's solution value and resulting change of "objdelta" in the 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 20303 of file var.c.

    References SCIP_Var::aggregate, SCIP_Stat::collectvarhistory, SCIP_Var::data, SCIP_Stat::glbhistory, SCIP_Stat::glbhistorycrun, SCIP_Var::history, SCIP_Var::historycrun, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPgetDepth(), SCIPgetFocusNode(), SCIPgetNLPIterations(), SCIPgetProbName(), SCIPhistoryUpdatePseudocost(), SCIPnodeGetNumber(), SCIPnodeGetParent(), SCIPsetIsZero(), SCIPstatUpdateVarRootLPBestEstimate(), SCIPvarGetMinPseudocostScore(), SCIPvarGetName(), SCIPvarGetRootSol(), SCIPvarGetStatus(), SCIPvarUpdatePseudocost(), SCIP_Original::transvar, and SCIP_Aggregate::var.

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

    ◆ SCIPvarUpdateAncPseudocost()

    SCIP_RETCODE SCIPvarUpdateAncPseudocost ( SCIP_VAR *  var,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_Real  solvaldelta,
    SCIP_Real  objdelta,
    SCIP_Real  weight 
    )

    updates the ancestral pseudo costs of the given variable and the global ancestral pseudo costs after a change of "solvaldelta" in the variable's solution value and resulting change of "objdelta" in the LP's objective value

    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 discounted pseudo cost sum

    Definition at line 20403 of file var.c.

    References SCIP_Var::aggregate, SCIP_Stat::collectvarhistory, SCIP_Var::data, SCIP_Stat::glbhistory, SCIP_Stat::glbhistorycrun, SCIP_Var::history, SCIP_Var::historycrun, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPhistoryUpdateAncPseudocost(), SCIPsetIsZero(), SCIPvarGetStatus(), SCIPvarUpdateAncPseudocost(), SCIP_Original::transvar, and SCIP_Aggregate::var.

    Referenced by SCIPupdateVarAncPseudocost(), SCIPvarUpdateAncPseudocost(), and updatePseudocost().

    ◆ SCIPvarGetPseudocost()

    ◆ SCIPvarGetAncPseudocost()

    SCIP_Real SCIPvarGetAncPseudocost ( SCIP_VAR *  var,
    SCIP_STAT *  stat,
    SCIP_Real  solvaldelta 
    )

    ◆ SCIPvarGetPseudocostCurrentRun()

    ◆ SCIPvarGetPseudocostCount()

    ◆ SCIPvarGetPseudocostCountCurrentRun()

    ◆ SCIPvarGetAncPseudocostCountCurrentRun()

    SCIP_Real SCIPvarGetAncPseudocostCountCurrentRun ( SCIP_VAR *  var,
    SCIP_BRANCHDIR  dir 
    )

    ◆ SCIPvarGetMinPseudocostScore()

    SCIP_Real SCIPvarGetMinPseudocostScore ( SCIP_VAR *  var,
    SCIP_STAT *  stat,
    SCIP_SET *  set,
    SCIP_Real  solval 
    )

    compares both possible directions for rounding the given solution value and returns the minimum pseudo-costs of the variable

    Parameters
    varproblem variable
    statproblem statistics
    setglobal SCIP settings
    solvalsolution value, e.g., LP solution value

    Definition at line 20742 of file var.c.

    References MIN, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIPsetCeil(), SCIPsetFloor(), SCIPsetIsFeasIntegral(), SCIPvarGetPseudocost(), and SCIPvarGetPseudocostCount().

    Referenced by SCIPstatComputeRootLPBestEstimate(), SCIPstatUpdateVarRootLPBestEstimate(), and SCIPvarUpdatePseudocost().

    ◆ SCIPvarGetPseudocostVariance()

    ◆ SCIPvarCalcPscostConfidenceBound()

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

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

    The confidence bound \( \theta \geq 0\) denotes the interval borders \( [X - \theta, \ X + \theta]\), which contains the true pseudo costs of the variable, i.e., the expected value of the normal distribution, with a probability of 95 %.

    Returns
    value of confidence bound for this variable

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

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

    Returns
    value of confidence bound for this variable
    Parameters
    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 20827 of file var.c.

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

    Referenced by SCIPcalculatePscostConfidenceBound(), and SCIPvarIsPscostRelerrorReliable().

    ◆ SCIPvarIsPscostRelerrorReliable()

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

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

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

    Definition at line 20865 of file var.c.

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

    Referenced by SCIPisVarPscostRelerrorReliable().

    ◆ SCIPvarSignificantPscostDifference()

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

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

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

    Note
    The order of x and y matters for the one-sided hypothesis
    set onesided to FALSE if you are not sure which variable is better. The hypothesis tested then reads fracy * mu_y == fracx * mu_x vs the alternative hypothesis fracy * mu_y != fracx * mu_x.
    Returns
    TRUE if the hypothesis can be safely rejected at the given confidence level
    Parameters
    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 20942 of file var.c.

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

    Referenced by SCIPsignificantVarPscostDifference().

    ◆ SCIPvarPscostThresholdProbabilityTest()

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

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

    Note
    use clevel to adjust the level of confidence. For SCIP_CONFIDENCELEVEL_MIN, the method returns TRUE if the estimated probability to 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 21008 of file var.c.

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

    Referenced by SCIPpscostThresholdProbabilityTest().

    ◆ SCIPvarIncVSIDS()

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

    increases the VSIDS of the variable by the given weight

    increases VSIDS of the variable by the given weight

    Parameters
    varproblem variable
    blkmemblock memory, or NULL if the domain value is SCIP_UNKNOWN
    setglobal SCIP settings, or NULL if the domain value is SCIP_UNKNOWN
    statproblem statistics
    dirbranching direction
    valuedomain value, or SCIP_UNKNOWN
    weightweight of this update in VSIDS

    Definition at line 21132 of file var.c.

    References SCIP_Var::aggregate, SCIP_Stat::collectvarhistory, SCIP_Aggregate::constant, SCIP_Var::data, findValuehistoryEntry(), SCIP_Var::history, SCIP_Var::historycrun, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryGetVSIDS(), SCIPhistoryIncVSIDS(), SCIPsetDebugMsg, SCIPsetIsZero(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarIncVSIDS(), SCIP_Original::transvar, useValuehistory(), and SCIP_Aggregate::var.

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

    ◆ SCIPvarScaleVSIDS()

    ◆ SCIPvarIncNActiveConflicts()

    SCIP_RETCODE SCIPvarIncNActiveConflicts ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_BRANCHDIR  dir,
    SCIP_Real  value,
    SCIP_Real  length 
    )

    increases the number of active conflicts by one and the overall length of the variable by the given length

    Parameters
    varproblem variable
    blkmemblock memory, or NULL if the domain value is SCIP_UNKNOWN
    setglobal SCIP settings, or NULL if the domain value is SCIP_UNKNOWN
    statproblem statistics
    dirbranching direction
    valuedomain value, or SCIP_UNKNOWN
    lengthlength of the conflict

    Definition at line 21268 of file var.c.

    References SCIP_Var::aggregate, SCIP_Stat::collectvarhistory, SCIP_Aggregate::constant, SCIP_Var::data, findValuehistoryEntry(), SCIP_Var::history, SCIP_Var::historycrun, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryIncNActiveConflicts(), SCIPvarGetStatus(), SCIPvarIncNActiveConflicts(), SCIP_Original::transvar, useValuehistory(), and SCIP_Aggregate::var.

    Referenced by SCIPinitVarBranchStats(), SCIPinitVarValueBranchStats(), SCIPvarIncNActiveConflicts(), and updateStatistics().

    ◆ SCIPvarGetNActiveConflicts()

    ◆ SCIPvarGetNActiveConflictsCurrentRun()

    ◆ SCIPvarGetAvgConflictlength()

    ◆ SCIPvarGetAvgConflictlengthCurrentRun()

    ◆ SCIPvarIncNBranchings()

    SCIP_RETCODE SCIPvarIncNBranchings ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_SET *  set,
    SCIP_STAT *  stat,
    SCIP_BRANCHDIR  dir,
    SCIP_Real  value,
    int  depth 
    )

    ◆ SCIPvarIncInferenceSum()

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

    increases the inference score of the variable by the given weight

    increases the inference sum of the variable by the given weight

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

    Definition at line 21612 of file var.c.

    References SCIP_Var::aggregate, SCIP_Stat::collectvarhistory, SCIP_Aggregate::constant, SCIP_Var::data, findValuehistoryEntry(), SCIP_Stat::glbhistory, SCIP_Stat::glbhistorycrun, SCIP_Var::history, SCIP_Var::historycrun, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryIncInferenceSum(), SCIPvarGetStatus(), SCIPvarIncInferenceSum(), SCIP_Original::transvar, useValuehistory(), and SCIP_Aggregate::var.

    Referenced by boundchgApplyExact(), SCIPboundchgApply(), SCIPinitVarBranchStats(), SCIPinitVarValueBranchStats(), and SCIPvarIncInferenceSum().

    ◆ SCIPvarIncCutoffSum()

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

    increases the cutoff score of the variable by the given weight

    increases the cutoff sum of the variable by the given weight

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

    Definition at line 21696 of file var.c.

    References SCIP_Var::aggregate, SCIP_Stat::collectvarhistory, SCIP_Aggregate::constant, SCIP_Var::data, findValuehistoryEntry(), SCIP_Stat::glbhistory, SCIP_Stat::glbhistorycrun, SCIP_Var::history, SCIP_Var::historycrun, SCIP_Var::negatedvar, NULL, SCIP_Var::original, SCIP_Aggregate::scalar, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPbranchdirOpposite(), SCIPerrorMessage, SCIPhistoryIncCutoffSum(), SCIPvarGetStatus(), SCIPvarIncCutoffSum(), SCIP_Original::transvar, useValuehistory(), and SCIP_Aggregate::var.

    Referenced by SCIPinitVarBranchStats(), SCIPinitVarValueBranchStats(), SCIPsolveCIP(), and SCIPvarIncCutoffSum().

    ◆ SCIPvarGetVSIDS_rec()

    ◆ SCIPvarGetVSIDSCurrentRun()

    ◆ SCIPvarGetAvgInferences()

    ◆ SCIPvarGetAvgInferencesCurrentRun()

    ◆ SCIPvarGetAvgCutoffs()

    ◆ SCIPvarGetAvgCutoffsCurrentRun()

    ◆ SCIPvarGetAvgGMIScore()

    SCIP_Real SCIPvarGetAvgGMIScore ( SCIP_VAR *  var,
    SCIP_STAT *  stat 
    )

    ◆ SCIPvarIncGMIeffSum()

    SCIP_RETCODE SCIPvarIncGMIeffSum ( SCIP_VAR *  var,
    SCIP_STAT *  stat,
    SCIP_Real  gmieff 
    )

    increase the variable's GMI efficacy scores generated from simplex tableau rows of this variable

    Parameters
    varproblem variable
    statproblem statistics
    gmieffefficacy of last GMI cut produced when variable was frac and basic

    Definition at line 22480 of file var.c.

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

    Referenced by SCIPincVarGMISumScore(), and SCIPvarIncGMIeffSum().

    ◆ SCIPvarGetLastGMIScore()

    SCIP_Real SCIPvarGetLastGMIScore ( SCIP_VAR *  var,
    SCIP_STAT *  stat 
    )

    ◆ SCIPvarSetLastGMIScore()

    SCIP_RETCODE SCIPvarSetLastGMIScore ( SCIP_VAR *  var,
    SCIP_STAT *  stat,
    SCIP_Real  gmieff 
    )

    sets the variable's last GMI efficacy score value generated from a simplex tableau row of this variable

    Parameters
    varproblem variable
    statproblem statistics
    gmieffefficacy of last GMI cut produced when variable was frac and basic

    Definition at line 22564 of file var.c.

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

    Referenced by SCIPsetVarLastGMIScore(), and SCIPvarSetLastGMIScore().

    ◆ SCIPvarPrint()

    SCIP_RETCODE SCIPvarPrint ( SCIP_VAR *  var,
    SCIP_SET *  set,
    SCIP_MESSAGEHDLR *  messagehdlr,
    FILE *  file 
    )

    outputs variable information into file stream

    Parameters
    varproblem variable
    setglobal SCIP settings
    messagehdlrmessage handler
    fileoutput file (or NULL for standard output)

    Definition at line 3955 of file var.c.

    References SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Multaggr::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::exactdata, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_Var::multaggr, SCIP_Var::name, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Multaggr::nvars, SCIP_VarDataExact::obj, SCIP_Var::obj, printBounds(), printBoundsExact(), printHolelist(), SCIP_Aggregate::scalar, SCIP_Multaggr::scalars, SCIP_Var::scip, SCIP_DEPRECATED_VARTYPE_IMPLINT, SCIP_IMPLINTTYPE_NONE, SCIP_IMPLINTTYPE_STRONG, SCIP_IMPLINTTYPE_WEAK, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_INTEGER, SCIPerrorMessage, SCIPmessageFPrintInfo(), SCIPrationalMessage(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPvarGetHolelistGlobal(), SCIPvarGetHolelistLocal(), SCIPvarGetHolelistOriginal(), SCIPvarGetImplType(), SCIPvarGetLbGlobal(), SCIPvarGetLbGlobalExact(), SCIPvarGetLbLazy(), SCIPvarGetLbLocal(), SCIPvarGetLbLocalExact(), SCIPvarGetLbOriginal(), SCIPvarGetLbOriginalExact(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarGetUbGlobalExact(), SCIPvarGetUbLazy(), SCIPvarGetUbLocal(), SCIPvarGetUbLocalExact(), SCIPvarGetUbOriginal(), SCIPvarGetUbOriginalExact(), SCIPvarIsTransformed(), SCIP_Aggregate::var, and SCIP_Multaggr::vars.

    Referenced by SCIPnlpWrite(), and SCIPprintVar().

    ◆ SCIPvarCatchEvent()

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

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

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

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

    Referenced by nlpAddVars(), and SCIPcatchVarEvent().

    ◆ SCIPvarDropEvent()

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

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

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

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

    Referenced by nlpDelVarPos(), and SCIPdropVarEvent().

    ◆ SCIPvarGetVSIDS()

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

    returns the variable's VSIDS score

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

    Definition at line 24814 of file var.c.

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

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

    ◆ SCIPbdchgidxGetPos()

    int SCIPbdchgidxGetPos ( SCIP_BDCHGIDX *  bdchgidx)

    returns the position of the bound change index

    Parameters
    bdchgidxbound change index

    Definition at line 24881 of file var.c.

    References NULL, and SCIP_BdChgIdx::pos.

    Referenced by SCIPconflictAddRelaxedBound(), and slackReducingContinuousBdchgQueue().

    ◆ SCIPbdchgidxGetDepth()

    int SCIPbdchgidxGetDepth ( SCIP_BDCHGIDX *  bdchgidx)

    returns the depth of the bound change index

    Parameters
    bdchgidxbound change index

    Definition at line 24891 of file var.c.

    References SCIP_BdChgIdx::depth, and NULL.

    Referenced by slackReducingContinuousBdchgQueue().

    ◆ SCIPvarRemoveCliquesImplicsVbs()

    SCIP_RETCODE SCIPvarRemoveCliquesImplicsVbs ( SCIP_VAR *  var,
    BMS_BLKMEM *  blkmem,
    SCIP_CLIQUETABLE *  cliquetable,
    SCIP_SET *  set,
    SCIP_Bool  irrelevantvar,
    SCIP_Bool  onlyredundant,
    SCIP_Bool  removefromvar 
    )

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

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

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

    Referenced by SCIPremoveVarFromGlobalStructures(), SCIPvarAggregate(), SCIPvarAggregateExact(), SCIPvarFix(), SCIPvarFixExact(), SCIPvarMultiaggregate(), SCIPvarMultiaggregateExact(), SCIPvarRemove(), varProcessChgLbGlobal(), and varProcessChgUbGlobal().

    ◆ SCIPvarGetLbLocalExactMaximal()

    void SCIPvarGetLbLocalExactMaximal ( SCIP_VAR *  var,
    SCIP_RATIONAL *  output 
    )

    Get the tightest local lower bound (from the exact and the real bound)

    Parameters
    varproblem variable
    outputoutput rational

    Definition at line 24287 of file var.c.

    References SCIP_Var::exactdata, SCIP_Dom::lb, SCIP_DomExact::lb, SCIP_VarDataExact::locdom, SCIP_Var::locdom, NULL, SCIP_Longint, SCIPrationalMax(), and SCIPrationalSetFraction().

    ◆ SCIPvarGetUbLocalExactMinimal()

    void SCIPvarGetUbLocalExactMinimal ( SCIP_VAR *  var,
    SCIP_RATIONAL *  output 
    )

    Get the tightest local uppper bound (from the exact and the real bound)

    Parameters
    varproblem variable
    outputoutput rational

    Definition at line 24321 of file var.c.

    References SCIP_Var::exactdata, SCIP_VarDataExact::locdom, SCIP_Var::locdom, NULL, SCIP_Longint, SCIPrationalMin(), SCIPrationalSetFraction(), SCIP_Dom::ub, and SCIP_DomExact::ub.

    ◆ SCIPvarSetUbCertificateIndexLocal()

    void SCIPvarSetUbCertificateIndexLocal ( SCIP_VAR *  var,
    SCIP_Longint  certidx 
    )

    sets index of variable in certificate

    Parameters
    varvariable to set index for
    certidxthe index

    Definition at line 25168 of file var.c.

    References SCIP_Var::exactdata, SCIP_VarDataExact::locdom, NULL, and SCIP_DomExact::ubcertificateidx.

    Referenced by SCIPvarChgUbLocal(), SCIPvarChgUbLocalExact(), and varProcessChgUbLocal().

    ◆ SCIPvarSetLbCertificateIndexLocal()

    void SCIPvarSetLbCertificateIndexLocal ( SCIP_VAR *  var,
    SCIP_Longint  certidx 
    )

    sets index of variable in certificate

    Parameters
    varvariable to set index for
    certidxthe index

    Definition at line 25181 of file var.c.

    References SCIP_Var::exactdata, SCIP_DomExact::lbcertificateidx, SCIP_VarDataExact::locdom, and NULL.

    Referenced by SCIPvarChgLbLocal(), SCIPvarChgLbLocalExact(), and varProcessChgLbLocal().

    ◆ SCIP_DECL_HASHGETKEY()

    SCIP_DECL_HASHGETKEY ( SCIPhashGetKeyVar  )

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

    Definition at line 23041 of file var.c.

    References SCIP_Var::name, and NULL.