Scippy

SCIP

Solving Constraint Integer Programs

Detailed Description

public methods for problem variables

Functions

int SCIPvarGetNLocksDown (SCIP_VAR *var)
 
int SCIPvarGetNLocksUp (SCIP_VAR *var)
 
int SCIPvarGetNLocksUpType (SCIP_VAR *var, SCIP_LOCKTYPE locktype)
 
int SCIPvarGetNLocksDownType (SCIP_VAR *var, SCIP_LOCKTYPE locktype)
 
SCIP_Bool SCIPvarMayRoundDown (SCIP_VAR *var)
 
SCIP_Bool SCIPvarMayRoundUp (SCIP_VAR *var)
 
int SCIPvarCompareActiveAndNegated (SCIP_VAR *var1, SCIP_VAR *var2)
 
 SCIP_DECL_SORTPTRCOMP (SCIPvarCompActiveAndNegated)
 
int SCIPvarCompare (SCIP_VAR *var1, SCIP_VAR *var2)
 
 SCIP_DECL_SORTPTRCOMP (SCIPvarComp)
 
 SCIP_DECL_SORTPTRCOMP (SCIPvarCompObj)
 
 SCIP_DECL_HASHGETKEY (SCIPvarGetHashkey)
 
 SCIP_DECL_HASHKEYEQ (SCIPvarIsHashkeyEq)
 
 SCIP_DECL_HASHKEYVAL (SCIPvarGetHashkeyVal)
 
void SCIPvarsGetProbvar (SCIP_VAR **vars, int nvars)
 
SCIP_VARSCIPvarGetProbvar (SCIP_VAR *var)
 
SCIP_RETCODE SCIPvarsGetProbvarBinary (SCIP_VAR ***vars, SCIP_Bool **negatedarr, int nvars)
 
SCIP_RETCODE SCIPvarGetProbvarBinary (SCIP_VAR **var, SCIP_Bool *negated)
 
SCIP_RETCODE SCIPvarGetProbvarBound (SCIP_VAR **var, SCIP_Real *bound, SCIP_BOUNDTYPE *boundtype)
 
SCIP_RETCODE SCIPvarGetProbvarHole (SCIP_VAR **var, SCIP_Real *left, SCIP_Real *right)
 
SCIP_RETCODE SCIPvarGetOrigvarSum (SCIP_VAR **var, SCIP_Real *scalar, SCIP_Real *constant)
 
SCIP_Bool SCIPvarIsTransformedOrigvar (SCIP_VAR *var)
 
SCIP_Longint SCIPvarGetNBranchings (SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Longint SCIPvarGetNBranchingsCurrentRun (SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPvarGetInferenceSum (SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPvarGetInferenceSumCurrentRun (SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPvarGetCutoffSum (SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPvarGetCutoffSumCurrentRun (SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPvarGetAvgBranchdepth (SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPvarGetAvgBranchdepthCurrentRun (SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Bool SCIPvarHasImplic (SCIP_VAR *var, SCIP_Bool varfixing, SCIP_VAR *implvar, SCIP_BOUNDTYPE impltype)
 
SCIP_Bool SCIPvarHasBinaryImplic (SCIP_VAR *var, SCIP_Bool varfixing, SCIP_VAR *implvar, SCIP_Bool implvarfixing)
 
void SCIPvarGetImplicVarBounds (SCIP_VAR *var, SCIP_Bool varfixing, SCIP_VAR *implvar, SCIP_Real *lb, SCIP_Real *ub)
 
SCIP_Bool SCIPvarsHaveCommonClique (SCIP_VAR *var1, SCIP_Bool value1, SCIP_VAR *var2, SCIP_Bool value2, SCIP_Bool regardimplics)
 
SCIP_RETCODE SCIPvarGetAggregatedObj (SCIP_VAR *var, SCIP_Real *aggrobj)
 
SCIP_RETCODE SCIPvarSetInitial (SCIP_VAR *var, SCIP_Bool initial)
 
SCIP_RETCODE SCIPvarSetRemovable (SCIP_VAR *var, SCIP_Bool removable)
 
const char * SCIPvarGetName (SCIP_VAR *var)
 
int SCIPvarGetNUses (SCIP_VAR *var)
 
SCIP_VARDATASCIPvarGetData (SCIP_VAR *var)
 
void SCIPvarSetData (SCIP_VAR *var, SCIP_VARDATA *vardata)
 
void SCIPvarSetDelorigData (SCIP_VAR *var, SCIP_DECL_VARDELORIG((*vardelorig)))
 
void SCIPvarSetTransData (SCIP_VAR *var, SCIP_DECL_VARTRANS((*vartrans)))
 
void SCIPvarSetDeltransData (SCIP_VAR *var, SCIP_DECL_VARDELTRANS((*vardeltrans)))
 
void SCIPvarSetCopyData (SCIP_VAR *var, SCIP_DECL_VARCOPY((*varcopy)))
 
SCIP_VARSTATUS SCIPvarGetStatus (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsOriginal (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsTransformed (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsNegated (SCIP_VAR *var)
 
SCIP_VARTYPE SCIPvarGetType (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsBinary (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsIntegral (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsInitial (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsRemovable (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsDeleted (SCIP_VAR *var)
 
void SCIPvarMarkDeletable (SCIP_VAR *var)
 
void SCIPvarMarkNotDeletable (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsDeletable (SCIP_VAR *var)
 
void SCIPvarMarkDeleteGlobalStructures (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsActive (SCIP_VAR *var)
 
int SCIPvarGetIndex (SCIP_VAR *var)
 
int SCIPvarGetProbindex (SCIP_VAR *var)
 
SCIP_VARSCIPvarGetTransVar (SCIP_VAR *var)
 
SCIP_COLSCIPvarGetCol (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsInLP (SCIP_VAR *var)
 
SCIP_VARSCIPvarGetAggrVar (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetAggrScalar (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetAggrConstant (SCIP_VAR *var)
 
int SCIPvarGetMultaggrNVars (SCIP_VAR *var)
 
SCIP_VAR ** SCIPvarGetMultaggrVars (SCIP_VAR *var)
 
SCIP_RealSCIPvarGetMultaggrScalars (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetMultaggrConstant (SCIP_VAR *var)
 
SCIP_VARSCIPvarGetNegatedVar (SCIP_VAR *var)
 
SCIP_VARSCIPvarGetNegationVar (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetNegationConstant (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetObj (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetUnchangedObj (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetLbOriginal (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetUbOriginal (SCIP_VAR *var)
 
SCIP_HOLELISTSCIPvarGetHolelistOriginal (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetLbGlobal (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetUbGlobal (SCIP_VAR *var)
 
SCIP_HOLELISTSCIPvarGetHolelistGlobal (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetBestBoundGlobal (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetWorstBoundGlobal (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetLbLocal (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetUbLocal (SCIP_VAR *var)
 
SCIP_HOLELISTSCIPvarGetHolelistLocal (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetBestBoundLocal (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetWorstBoundLocal (SCIP_VAR *var)
 
SCIP_BOUNDTYPE SCIPvarGetBestBoundType (SCIP_VAR *var)
 
SCIP_BOUNDTYPE SCIPvarGetWorstBoundType (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetLbLazy (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetUbLazy (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetBranchFactor (SCIP_VAR *var)
 
int SCIPvarGetBranchPriority (SCIP_VAR *var)
 
SCIP_BRANCHDIR SCIPvarGetBranchDirection (SCIP_VAR *var)
 
int SCIPvarGetNVlbs (SCIP_VAR *var)
 
SCIP_VAR ** SCIPvarGetVlbVars (SCIP_VAR *var)
 
SCIP_RealSCIPvarGetVlbCoefs (SCIP_VAR *var)
 
SCIP_RealSCIPvarGetVlbConstants (SCIP_VAR *var)
 
int SCIPvarGetNVubs (SCIP_VAR *var)
 
SCIP_VAR ** SCIPvarGetVubVars (SCIP_VAR *var)
 
SCIP_RealSCIPvarGetVubCoefs (SCIP_VAR *var)
 
SCIP_RealSCIPvarGetVubConstants (SCIP_VAR *var)
 
int SCIPvarGetNImpls (SCIP_VAR *var, SCIP_Bool varfixing)
 
SCIP_VAR ** SCIPvarGetImplVars (SCIP_VAR *var, SCIP_Bool varfixing)
 
SCIP_BOUNDTYPESCIPvarGetImplTypes (SCIP_VAR *var, SCIP_Bool varfixing)
 
SCIP_RealSCIPvarGetImplBounds (SCIP_VAR *var, SCIP_Bool varfixing)
 
int * SCIPvarGetImplIds (SCIP_VAR *var, SCIP_Bool varfixing)
 
int SCIPvarGetNCliques (SCIP_VAR *var, SCIP_Bool varfixing)
 
SCIP_CLIQUE ** SCIPvarGetCliques (SCIP_VAR *var, SCIP_Bool varfixing)
 
SCIP_Real SCIPvarGetLPSol (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetNLPSol (SCIP_VAR *var)
 
SCIP_BDCHGINFOSCIPvarGetBdchgInfoLb (SCIP_VAR *var, int pos)
 
int SCIPvarGetNBdchgInfosLb (SCIP_VAR *var)
 
SCIP_BDCHGINFOSCIPvarGetBdchgInfoUb (SCIP_VAR *var, int pos)
 
int SCIPvarGetNBdchgInfosUb (SCIP_VAR *var)
 
SCIP_VALUEHISTORYSCIPvarGetValuehistory (SCIP_VAR *var)
 
SCIP_Bool SCIPvarIsRelaxationOnly (SCIP_VAR *var)
 
void SCIPvarMarkRelaxationOnly (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetLPSol_rec (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetNLPSol_rec (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetPseudoSol (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetSol (SCIP_VAR *var, SCIP_Bool getlpval)
 
SCIP_Real SCIPvarGetRootSol (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetBestRootSol (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetBestRootRedcost (SCIP_VAR *var)
 
SCIP_Real SCIPvarGetBestRootLPObjval (SCIP_VAR *var)
 
void SCIPvarSetBestRootSol (SCIP_VAR *var, SCIP_Real rootsol, SCIP_Real rootredcost, SCIP_Real rootlpobjval)
 
SCIP_Real SCIPvarGetAvgSol (SCIP_VAR *var)
 
SCIP_BDCHGINFOSCIPvarGetLbchgInfo (SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
 
SCIP_BDCHGINFOSCIPvarGetUbchgInfo (SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
 
SCIP_BDCHGINFOSCIPvarGetBdchgInfo (SCIP_VAR *var, SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
 
SCIP_Real SCIPvarGetLbAtIndex (SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
 
SCIP_Real SCIPvarGetUbAtIndex (SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
 
SCIP_Real SCIPvarGetBdAtIndex (SCIP_VAR *var, SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
 
SCIP_Bool SCIPvarWasFixedAtIndex (SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
 
SCIP_BDCHGIDXSCIPvarGetLastBdchgIndex (SCIP_VAR *var)
 
int SCIPvarGetLastBdchgDepth (SCIP_VAR *var)
 
SCIP_Bool SCIPvarWasFixedEarlier (SCIP_VAR *var1, SCIP_VAR *var2)
 
SCIP_RETCODE SCIPcreateVar (SCIP *scip, SCIP_VAR **var, const char *name, SCIP_Real lb, SCIP_Real ub, SCIP_Real obj, SCIP_VARTYPE vartype, SCIP_Bool initial, SCIP_Bool removable, SCIP_DECL_VARDELORIG((*vardelorig)), SCIP_DECL_VARTRANS((*vartrans)), SCIP_DECL_VARDELTRANS((*vardeltrans)), SCIP_DECL_VARCOPY((*varcopy)), SCIP_VARDATA *vardata)
 
SCIP_RETCODE SCIPcreateVarBasic (SCIP *scip, SCIP_VAR **var, const char *name, SCIP_Real lb, SCIP_Real ub, SCIP_Real obj, SCIP_VARTYPE vartype)
 
SCIP_RETCODE SCIPwriteVarName (SCIP *scip, FILE *file, SCIP_VAR *var, SCIP_Bool type)
 
SCIP_RETCODE SCIPwriteVarsList (SCIP *scip, FILE *file, SCIP_VAR **vars, int nvars, SCIP_Bool type, char delimiter)
 
SCIP_RETCODE SCIPwriteVarsLinearsum (SCIP *scip, FILE *file, SCIP_VAR **vars, SCIP_Real *vals, int nvars, SCIP_Bool type)
 
SCIP_RETCODE SCIPwriteVarsPolynomial (SCIP *scip, FILE *file, SCIP_VAR ***monomialvars, SCIP_Real **monomialexps, SCIP_Real *monomialcoefs, int *monomialnvars, int nmonomials, SCIP_Bool type)
 
SCIP_RETCODE SCIPparseVar (SCIP *scip, SCIP_VAR **var, 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 SCIPparseVarName (SCIP *scip, const char *str, SCIP_VAR **var, char **endptr)
 
SCIP_RETCODE SCIPparseVarsList (SCIP *scip, const char *str, SCIP_VAR **vars, int *nvars, int varssize, int *requiredsize, char **endptr, char delimiter, SCIP_Bool *success)
 
SCIP_RETCODE SCIPparseVarsLinearsum (SCIP *scip, const char *str, SCIP_VAR **vars, SCIP_Real *vals, int *nvars, int varssize, int *requiredsize, char **endptr, SCIP_Bool *success)
 
SCIP_RETCODE SCIPparseVarsPolynomial (SCIP *scip, const char *str, SCIP_VAR ****monomialvars, SCIP_Real ***monomialexps, SCIP_Real **monomialcoefs, int **monomialnvars, int *nmonomials, char **endptr, SCIP_Bool *success)
 
void SCIPfreeParseVarsPolynomialData (SCIP *scip, SCIP_VAR ****monomialvars, SCIP_Real ***monomialexps, SCIP_Real **monomialcoefs, int **monomialnvars, int nmonomials)
 
SCIP_RETCODE SCIPcaptureVar (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPreleaseVar (SCIP *scip, SCIP_VAR **var)
 
SCIP_RETCODE SCIPchgVarName (SCIP *scip, SCIP_VAR *var, const char *name)
 
SCIP_RETCODE SCIPtransformVar (SCIP *scip, SCIP_VAR *var, SCIP_VAR **transvar)
 
SCIP_RETCODE SCIPtransformVars (SCIP *scip, int nvars, SCIP_VAR **vars, SCIP_VAR **transvars)
 
SCIP_RETCODE SCIPgetTransformedVar (SCIP *scip, SCIP_VAR *var, SCIP_VAR **transvar)
 
SCIP_RETCODE SCIPgetTransformedVars (SCIP *scip, int nvars, SCIP_VAR **vars, SCIP_VAR **transvars)
 
SCIP_RETCODE SCIPgetNegatedVar (SCIP *scip, SCIP_VAR *var, SCIP_VAR **negvar)
 
SCIP_RETCODE SCIPgetNegatedVars (SCIP *scip, int nvars, SCIP_VAR **vars, SCIP_VAR **negvars)
 
SCIP_RETCODE SCIPgetBinvarRepresentative (SCIP *scip, SCIP_VAR *var, SCIP_VAR **repvar, SCIP_Bool *negated)
 
SCIP_RETCODE SCIPgetBinvarRepresentatives (SCIP *scip, int nvars, SCIP_VAR **vars, SCIP_VAR **repvars, SCIP_Bool *negated)
 
SCIP_RETCODE SCIPflattenVarAggregationGraph (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPgetProbvarLinearSum (SCIP *scip, SCIP_VAR **vars, SCIP_Real *scalars, int *nvars, int varssize, SCIP_Real *constant, int *requiredsize, SCIP_Bool mergemultiples)
 
SCIP_RETCODE SCIPgetProbvarSum (SCIP *scip, SCIP_VAR **var, SCIP_Real *scalar, SCIP_Real *constant)
 
SCIP_RETCODE SCIPgetActiveVars (SCIP *scip, SCIP_VAR **vars, int *nvars, int varssize, int *requiredsize)
 
SCIP_Real SCIPgetVarRedcost (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarImplRedcost (SCIP *scip, SCIP_VAR *var, SCIP_Bool varfixing)
 
SCIP_Real SCIPgetVarFarkasCoef (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarLbAtIndex (SCIP *scip, SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
 
SCIP_Real SCIPgetVarUbAtIndex (SCIP *scip, SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
 
SCIP_Real SCIPgetVarBdAtIndex (SCIP *scip, SCIP_VAR *var, SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
 
SCIP_Bool SCIPgetVarWasFixedAtIndex (SCIP *scip, SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
 
SCIP_Real SCIPgetVarSol (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPgetVarSols (SCIP *scip, int nvars, SCIP_VAR **vars, SCIP_Real *vals)
 
SCIP_RETCODE SCIPclearRelaxSolVals (SCIP *scip, SCIP_RELAX *relax)
 
SCIP_RETCODE SCIPsetRelaxSolVal (SCIP *scip, SCIP_RELAX *relax, SCIP_VAR *var, SCIP_Real val)
 
SCIP_RETCODE SCIPsetRelaxSolVals (SCIP *scip, SCIP_RELAX *relax, int nvars, SCIP_VAR **vars, SCIP_Real *vals, SCIP_Bool includeslp)
 
SCIP_RETCODE SCIPsetRelaxSolValsSol (SCIP *scip, SCIP_RELAX *relax, SCIP_SOL *sol, SCIP_Bool includeslp)
 
SCIP_Bool SCIPisRelaxSolValid (SCIP *scip)
 
SCIP_RETCODE SCIPmarkRelaxSolValid (SCIP *scip, SCIP_RELAX *relax, SCIP_Bool includeslp)
 
SCIP_RETCODE SCIPmarkRelaxSolInvalid (SCIP *scip)
 
SCIP_Real SCIPgetRelaxSolVal (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetRelaxSolObj (SCIP *scip)
 
SCIP_Bool SCIPisStrongbranchDownFirst (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPstartStrongbranch (SCIP *scip, SCIP_Bool enablepropagation)
 
SCIP_RETCODE SCIPendStrongbranch (SCIP *scip)
 
SCIP_RETCODE SCIPgetVarStrongbranchFrac (SCIP *scip, SCIP_VAR *var, int itlim, SCIP_Bool idempotent, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, SCIP_Bool *downinf, SCIP_Bool *upinf, SCIP_Bool *downconflict, SCIP_Bool *upconflict, SCIP_Bool *lperror)
 
SCIP_RETCODE SCIPgetVarStrongbranchWithPropagation (SCIP *scip, SCIP_VAR *var, SCIP_Real solval, SCIP_Real lpobjval, int itlim, int maxproprounds, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, SCIP_Longint *ndomredsdown, SCIP_Longint *ndomredsup, SCIP_Bool *downinf, SCIP_Bool *upinf, SCIP_Bool *downconflict, SCIP_Bool *upconflict, SCIP_Bool *lperror, SCIP_Real *newlbs, SCIP_Real *newubs)
 
SCIP_RETCODE SCIPgetVarStrongbranchInt (SCIP *scip, SCIP_VAR *var, int itlim, SCIP_Bool idempotent, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, SCIP_Bool *downinf, SCIP_Bool *upinf, SCIP_Bool *downconflict, SCIP_Bool *upconflict, SCIP_Bool *lperror)
 
SCIP_RETCODE SCIPgetVarsStrongbranchesFrac (SCIP *scip, SCIP_VAR **vars, int nvars, int itlim, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, SCIP_Bool *downinf, SCIP_Bool *upinf, SCIP_Bool *downconflict, SCIP_Bool *upconflict, SCIP_Bool *lperror)
 
SCIP_RETCODE SCIPgetVarsStrongbranchesInt (SCIP *scip, SCIP_VAR **vars, int nvars, int itlim, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, SCIP_Bool *downinf, SCIP_Bool *upinf, SCIP_Bool *downconflict, SCIP_Bool *upconflict, SCIP_Bool *lperror)
 
SCIP_LPSOLSTAT SCIPgetLastStrongbranchLPSolStat (SCIP *scip, SCIP_BRANCHDIR branchdir)
 
SCIP_RETCODE SCIPgetVarStrongbranchLast (SCIP *scip, SCIP_VAR *var, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, SCIP_Real *solval, SCIP_Real *lpobjval)
 
SCIP_RETCODE SCIPsetVarStrongbranchData (SCIP *scip, SCIP_VAR *var, SCIP_Real lpobjval, SCIP_Real primsol, SCIP_Real down, SCIP_Real up, SCIP_Bool downvalid, SCIP_Bool upvalid, SCIP_Longint iter, int itlim)
 
SCIP_RETCODE SCIPtryStrongbranchLPSol (SCIP *scip, SCIP_Bool *foundsol, SCIP_Bool *cutoff)
 
SCIP_Longint SCIPgetVarStrongbranchNode (SCIP *scip, SCIP_VAR *var)
 
SCIP_Longint SCIPgetVarStrongbranchLPAge (SCIP *scip, SCIP_VAR *var)
 
int SCIPgetVarNStrongbranchs (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPaddVarLocksType (SCIP *scip, SCIP_VAR *var, SCIP_LOCKTYPE locktype, int nlocksdown, int nlocksup)
 
SCIP_RETCODE SCIPaddVarLocks (SCIP *scip, SCIP_VAR *var, int nlocksdown, int nlocksup)
 
SCIP_RETCODE SCIPlockVarCons (SCIP *scip, SCIP_VAR *var, SCIP_CONS *cons, SCIP_Bool lockdown, SCIP_Bool lockup)
 
SCIP_RETCODE SCIPunlockVarCons (SCIP *scip, SCIP_VAR *var, SCIP_CONS *cons, SCIP_Bool lockdown, SCIP_Bool lockup)
 
SCIP_RETCODE SCIPchgVarObj (SCIP *scip, SCIP_VAR *var, SCIP_Real newobj)
 
SCIP_RETCODE SCIPaddVarObj (SCIP *scip, SCIP_VAR *var, SCIP_Real addobj)
 
SCIP_Real SCIPadjustedVarLb (SCIP *scip, SCIP_VAR *var, SCIP_Real lb)
 
SCIP_Real SCIPadjustedVarUb (SCIP *scip, SCIP_VAR *var, SCIP_Real ub)
 
SCIP_RETCODE SCIPchgVarLb (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
 
SCIP_RETCODE SCIPchgVarUb (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
 
SCIP_RETCODE SCIPchgVarLbNode (SCIP *scip, SCIP_NODE *node, SCIP_VAR *var, SCIP_Real newbound)
 
SCIP_RETCODE SCIPchgVarUbNode (SCIP *scip, SCIP_NODE *node, SCIP_VAR *var, SCIP_Real newbound)
 
SCIP_RETCODE SCIPchgVarLbGlobal (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
 
SCIP_RETCODE SCIPchgVarUbGlobal (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
 
SCIP_RETCODE SCIPchgVarLbLazy (SCIP *scip, SCIP_VAR *var, SCIP_Real lazylb)
 
SCIP_RETCODE SCIPchgVarUbLazy (SCIP *scip, SCIP_VAR *var, SCIP_Real lazyub)
 
SCIP_RETCODE SCIPtightenVarLb (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPtightenVarUb (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPinferVarFixCons (SCIP *scip, SCIP_VAR *var, SCIP_Real fixedval, SCIP_CONS *infercons, int inferinfo, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPinferVarLbCons (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_CONS *infercons, int inferinfo, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPinferVarUbCons (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_CONS *infercons, int inferinfo, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPinferBinvarCons (SCIP *scip, SCIP_VAR *var, SCIP_Bool fixedval, SCIP_CONS *infercons, int inferinfo, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPinferVarFixProp (SCIP *scip, SCIP_VAR *var, SCIP_Real fixedval, SCIP_PROP *inferprop, int inferinfo, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPinferVarLbProp (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_PROP *inferprop, int inferinfo, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPinferVarUbProp (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_PROP *inferprop, int inferinfo, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPinferBinvarProp (SCIP *scip, SCIP_VAR *var, SCIP_Bool fixedval, SCIP_PROP *inferprop, int inferinfo, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPtightenVarLbGlobal (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPtightenVarUbGlobal (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_Real SCIPcomputeVarLbGlobal (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPcomputeVarUbGlobal (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPcomputeVarLbLocal (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPcomputeVarUbLocal (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarMultaggrLbGlobal (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarMultaggrUbGlobal (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarMultaggrLbLocal (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarMultaggrUbLocal (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPgetVarClosestVlb (SCIP *scip, SCIP_VAR *var, SCIP_SOL *sol, SCIP_Real *closestvlb, int *closestvlbidx)
 
SCIP_RETCODE SCIPgetVarClosestVub (SCIP *scip, SCIP_VAR *var, SCIP_SOL *sol, SCIP_Real *closestvub, int *closestvubidx)
 
SCIP_RETCODE SCIPaddVarVlb (SCIP *scip, SCIP_VAR *var, SCIP_VAR *vlbvar, SCIP_Real vlbcoef, SCIP_Real vlbconstant, SCIP_Bool *infeasible, int *nbdchgs)
 
SCIP_RETCODE SCIPaddVarVub (SCIP *scip, SCIP_VAR *var, SCIP_VAR *vubvar, SCIP_Real vubcoef, SCIP_Real vubconstant, SCIP_Bool *infeasible, int *nbdchgs)
 
SCIP_RETCODE SCIPaddVarImplication (SCIP *scip, SCIP_VAR *var, SCIP_Bool varfixing, SCIP_VAR *implvar, SCIP_BOUNDTYPE impltype, SCIP_Real implbound, SCIP_Bool *infeasible, int *nbdchgs)
 
SCIP_RETCODE SCIPaddClique (SCIP *scip, SCIP_VAR **vars, SCIP_Bool *values, int nvars, SCIP_Bool isequation, SCIP_Bool *infeasible, int *nbdchgs)
 
SCIP_RETCODE SCIPcalcCliquePartition (SCIP *const scip, SCIP_VAR **const vars, int const nvars, int *const cliquepartition, int *const ncliques)
 
SCIP_RETCODE SCIPcalcNegatedCliquePartition (SCIP *const scip, SCIP_VAR **const vars, int const nvars, int *const cliquepartition, int *const ncliques)
 
SCIP_RETCODE SCIPcleanupCliques (SCIP *scip, SCIP_Bool *infeasible)
 
int SCIPgetNCliques (SCIP *scip)
 
int SCIPgetNCliquesCreated (SCIP *scip)
 
SCIP_CLIQUE ** SCIPgetCliques (SCIP *scip)
 
SCIP_Bool SCIPhaveVarsCommonClique (SCIP *scip, SCIP_VAR *var1, SCIP_Bool value1, SCIP_VAR *var2, SCIP_Bool value2, SCIP_Bool regardimplics)
 
SCIP_RETCODE SCIPwriteCliqueGraph (SCIP *scip, const char *fname, SCIP_Bool writenodeweights)
 
SCIP_RETCODE SCIPremoveVarFromGlobalStructures (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPchgVarBranchFactor (SCIP *scip, SCIP_VAR *var, SCIP_Real branchfactor)
 
SCIP_RETCODE SCIPscaleVarBranchFactor (SCIP *scip, SCIP_VAR *var, SCIP_Real scale)
 
SCIP_RETCODE SCIPaddVarBranchFactor (SCIP *scip, SCIP_VAR *var, SCIP_Real addfactor)
 
SCIP_RETCODE SCIPchgVarBranchPriority (SCIP *scip, SCIP_VAR *var, int branchpriority)
 
SCIP_RETCODE SCIPupdateVarBranchPriority (SCIP *scip, SCIP_VAR *var, int branchpriority)
 
SCIP_RETCODE SCIPaddVarBranchPriority (SCIP *scip, SCIP_VAR *var, int addpriority)
 
SCIP_RETCODE SCIPchgVarBranchDirection (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR branchdirection)
 
SCIP_RETCODE SCIPchgVarType (SCIP *scip, SCIP_VAR *var, SCIP_VARTYPE vartype, SCIP_Bool *infeasible)
 
SCIP_RETCODE SCIPfixVar (SCIP *scip, SCIP_VAR *var, SCIP_Real fixedval, SCIP_Bool *infeasible, SCIP_Bool *fixed)
 
SCIP_RETCODE SCIPaggregateVars (SCIP *scip, SCIP_VAR *varx, SCIP_VAR *vary, SCIP_Real scalarx, SCIP_Real scalary, SCIP_Real rhs, SCIP_Bool *infeasible, SCIP_Bool *redundant, SCIP_Bool *aggregated)
 
SCIP_RETCODE SCIPmultiaggregateVar (SCIP *scip, SCIP_VAR *var, int naggvars, SCIP_VAR **aggvars, SCIP_Real *scalars, SCIP_Real constant, SCIP_Bool *infeasible, SCIP_Bool *aggregated)
 
SCIP_Bool SCIPdoNotAggr (SCIP *scip)
 
SCIP_Bool SCIPdoNotMultaggr (SCIP *scip)
 
SCIP_Bool SCIPdoNotAggrVar (SCIP *scip, SCIP_VAR *var)
 
SCIP_Bool SCIPdoNotMultaggrVar (SCIP *scip, SCIP_VAR *var)
 
SCIP_Bool SCIPallowDualReds (SCIP *scip)
 
SCIP_Bool SCIPallowStrongDualReds (SCIP *scip)
 
SCIP_Bool SCIPallowObjProp (SCIP *scip)
 
SCIP_Bool SCIPallowWeakDualReds (SCIP *scip)
 
SCIP_RETCODE SCIPmarkDoNotAggrVar (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPmarkDoNotMultaggrVar (SCIP *scip, SCIP_VAR *var)
 
void SCIPenableVarHistory (SCIP *scip)
 
void SCIPdisableVarHistory (SCIP *scip)
 
SCIP_RETCODE SCIPupdateVarPseudocost (SCIP *scip, SCIP_VAR *var, SCIP_Real solvaldelta, SCIP_Real objdelta, SCIP_Real weight)
 
SCIP_Real SCIPgetVarPseudocostVal (SCIP *scip, SCIP_VAR *var, SCIP_Real solvaldelta)
 
SCIP_Real SCIPgetVarPseudocostValCurrentRun (SCIP *scip, SCIP_VAR *var, SCIP_Real solvaldelta)
 
SCIP_Real SCIPgetVarPseudocost (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarPseudocostCurrentRun (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarPseudocostCount (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarPseudocostCountCurrentRun (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarPseudocostVariance (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir, SCIP_Bool onlycurrentrun)
 
SCIP_Real SCIPcalculatePscostConfidenceBound (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir, SCIP_Bool onlycurrentrun, SCIP_CONFIDENCELEVEL clevel)
 
SCIP_Bool SCIPsignificantVarPscostDifference (SCIP *scip, SCIP_VAR *varx, SCIP_Real fracx, SCIP_VAR *vary, SCIP_Real fracy, SCIP_BRANCHDIR dir, SCIP_CONFIDENCELEVEL clevel, SCIP_Bool onesided)
 
SCIP_Bool SCIPpscostThresholdProbabilityTest (SCIP *scip, SCIP_VAR *var, SCIP_Real frac, SCIP_Real threshold, SCIP_BRANCHDIR dir, SCIP_CONFIDENCELEVEL clevel)
 
SCIP_Bool SCIPisVarPscostRelerrorReliable (SCIP *scip, SCIP_VAR *var, SCIP_Real threshold, SCIP_CONFIDENCELEVEL clevel)
 
SCIP_Real SCIPgetVarPseudocostScore (SCIP *scip, SCIP_VAR *var, SCIP_Real solval)
 
SCIP_Real SCIPgetVarPseudocostScoreCurrentRun (SCIP *scip, SCIP_VAR *var, SCIP_Real solval)
 
SCIP_Real SCIPgetVarVSIDS (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarVSIDSCurrentRun (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarConflictScore (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarConflictScoreCurrentRun (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarConflictlengthScore (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarConflictlengthScoreCurrentRun (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarAvgConflictlength (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarAvgConflictlengthCurrentRun (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarAvgInferences (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarAvgInferencesCurrentRun (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarAvgInferenceScore (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarAvgInferenceScoreCurrentRun (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPinitVarBranchStats (SCIP *scip, SCIP_VAR *var, SCIP_Real downpscost, SCIP_Real uppscost, SCIP_Real downvsids, SCIP_Real upvsids, SCIP_Real downconflen, SCIP_Real upconflen, SCIP_Real downinfer, SCIP_Real upinfer, SCIP_Real downcutoff, SCIP_Real upcutoff)
 
SCIP_RETCODE SCIPinitVarValueBranchStats (SCIP *scip, SCIP_VAR *var, SCIP_Real value, SCIP_Real downvsids, SCIP_Real upvsids, SCIP_Real downconflen, SCIP_Real upconflen, SCIP_Real downinfer, SCIP_Real upinfer, SCIP_Real downcutoff, SCIP_Real upcutoff)
 
SCIP_Real SCIPgetVarAvgCutoffs (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarAvgCutoffsCurrentRun (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarAvgCutoffScore (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarAvgCutoffScoreCurrentRun (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarAvgInferenceCutoffScore (SCIP *scip, SCIP_VAR *var, SCIP_Real cutoffweight)
 
SCIP_Real SCIPgetVarAvgInferenceCutoffScoreCurrentRun (SCIP *scip, SCIP_VAR *var, SCIP_Real cutoffweight)
 
SCIP_Real SCIPgetVarAvgGMIScore (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPincVarGMISumScore (SCIP *scip, SCIP_VAR *var, SCIP_Real gmieff)
 
SCIP_Real SCIPgetVarLastGMIScore (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPsetVarLastGMIScore (SCIP *scip, SCIP_VAR *var, SCIP_Real gmieff)
 
SCIP_RETCODE SCIPprintVar (SCIP *scip, SCIP_VAR *var, FILE *file)
 

Public SCIP_BDCHGIDX Methods

SCIP_Bool SCIPbdchgidxIsEarlier (SCIP_BDCHGIDX *bdchgidx1, SCIP_BDCHGIDX *bdchgidx2)
 
SCIP_Bool SCIPbdchgidxIsEarlierNonNull (SCIP_BDCHGIDX *bdchgidx1, SCIP_BDCHGIDX *bdchgidx2)
 

Public SCIP_BDCHGINFO Methods

SCIP_Real SCIPbdchginfoGetOldbound (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_Real SCIPbdchginfoGetNewbound (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_VARSCIPbdchginfoGetVar (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_BOUNDCHGTYPE SCIPbdchginfoGetChgtype (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_BOUNDTYPE SCIPbdchginfoGetBoundtype (SCIP_BDCHGINFO *bdchginfo)
 
int SCIPbdchginfoGetDepth (SCIP_BDCHGINFO *bdchginfo)
 
int SCIPbdchginfoGetPos (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_BDCHGIDXSCIPbdchginfoGetIdx (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_VARSCIPbdchginfoGetInferVar (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_CONSSCIPbdchginfoGetInferCons (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_PROPSCIPbdchginfoGetInferProp (SCIP_BDCHGINFO *bdchginfo)
 
int SCIPbdchginfoGetInferInfo (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_BOUNDTYPE SCIPbdchginfoGetInferBoundtype (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_Bool SCIPbdchginfoIsRedundant (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_Bool SCIPbdchginfoHasInferenceReason (SCIP_BDCHGINFO *bdchginfo)
 
SCIP_Bool SCIPbdchginfoIsTighter (SCIP_BDCHGINFO *bdchginfo1, SCIP_BDCHGINFO *bdchginfo2)
 

Public SCIP_BOUNDCHG Methods

SCIP_Real SCIPboundchgGetNewbound (SCIP_BOUNDCHG *boundchg)
 
SCIP_VARSCIPboundchgGetVar (SCIP_BOUNDCHG *boundchg)
 
SCIP_BOUNDCHGTYPE SCIPboundchgGetBoundchgtype (SCIP_BOUNDCHG *boundchg)
 
SCIP_BOUNDTYPE SCIPboundchgGetBoundtype (SCIP_BOUNDCHG *boundchg)
 
SCIP_Bool SCIPboundchgIsRedundant (SCIP_BOUNDCHG *boundchg)
 

Public SCIP_DOMCHG Methods

int SCIPdomchgGetNBoundchgs (SCIP_DOMCHG *domchg)
 
SCIP_BOUNDCHGSCIPdomchgGetBoundchg (SCIP_DOMCHG *domchg, int pos)
 

Public SCIP_HOLELIST Methods

SCIP_Real SCIPholelistGetLeft (SCIP_HOLELIST *holelist)
 
SCIP_Real SCIPholelistGetRight (SCIP_HOLELIST *holelist)
 
SCIP_HOLELISTSCIPholelistGetNext (SCIP_HOLELIST *holelist)
 

Function Documentation

◆ SCIPvarGetNLocksDown()

int SCIPvarGetNLocksDown ( SCIP_VAR var)

gets number of locks for rounding down

Note
This method will always return variable locks of type model
It is recommented to use SCIPvarGetNLocksDownType()
Parameters
varproblem variable

Definition at line 3417 of file var.c.

References SCIP_LOCKTYPE_MODEL, SCIPvarGetNLocksDownType(), and SCIPvarGetNLocksUp().

Referenced by checkRedundancy(), collectActivities(), collectSolActivities(), fixIntegerVariable(), propagateCons(), SCIPbendersExit(), SCIPisStrongbranchDownFirst(), SCIPlpGetUnboundedSol(), SCIPprobExitSolve(), SCIPvarGetNLocksUpType(), and scoring().

◆ SCIPvarGetNLocksUp()

int SCIPvarGetNLocksUp ( SCIP_VAR var)

gets number of locks for rounding up

Note
This method will always return variable locks of type model
It is recommented to use SCIPvarGetNLocksUpType()
Parameters
varproblem variable

Definition at line 3430 of file var.c.

References SCIP_Bool, SCIP_LOCKTYPE_MODEL, SCIPvarGetNLocksUpType(), and SCIPvarMayRoundDown().

Referenced by checkRedundancy(), collectActivities(), collectSolActivities(), fixIntegerVariable(), propagateCons(), SCIPisStrongbranchDownFirst(), SCIPlpGetUnboundedSol(), SCIPprobExitSolve(), SCIPvarGetNLocksDown(), and scoring().

◆ SCIPvarGetNLocksUpType()

int SCIPvarGetNLocksUpType ( SCIP_VAR var,
SCIP_LOCKTYPE  locktype 
)

gets number of locks for rounding up of a special type

Parameters
varproblem variable
locktypetype of variable locks

Definition at line 3354 of file var.c.

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

Referenced by addSymmetryInformation(), applyAlternativeBoundsBranching(), applyAlternativeBoundsFixing(), applyProbing(), calcBdchgScore(), checkCands(), checkConsQuadraticProblem(), checkLocksAndRes(), chooseCoefVar(), chooseVeclenVar(), collectCliqueData(), compensateVarLock(), createCoveringProblem(), dualPresolve(), dualPresolving(), extractGates(), findComponents(), findUnlockedLinearVar(), fixIntegerVariableUb(), getScore(), getScoreLikeCoefdiving(), isConsIndependently(), isSingleLockedCand(), multiAggregateBinvar(), performDualfix(), presolRoundIndicator(), presolveConsLct(), propagateCons(), propIndicator(), removeDoubleAndSingletonsAndPerformDualpresolve(), roundFixingValue(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIPanalyzeDeductionsProbing(), SCIPapplyLockFixings(), SCIPapplyProbingVar(), SCIPmakeIndicatorFeasible(), SCIPmatrixCreate(), SCIPmatrixUplockConflict(), SCIPprintBranchingStatistics(), SCIPsolAdjustImplicitSolVals(), SCIPvarGetNLocksDownType(), SCIPvarGetNLocksUp(), SCIPvarGetProbvarBinary(), SCIPvarMayRoundUp(), SCIPwriteMps(), selectEssentialRounding(), selectRounding(), selectShifting(), singletonColumnStuffing(), and sortVariables().

◆ SCIPvarGetNLocksDownType()

int SCIPvarGetNLocksDownType ( SCIP_VAR var,
SCIP_LOCKTYPE  locktype 
)

gets number of locks for rounding down of a special type

Parameters
varproblem variable
locktypetype of variable locks

Definition at line 3296 of file var.c.

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

Referenced by addConsToOccurList(), addSymmetryInformation(), applyAlternativeBoundsBranching(), applyAlternativeBoundsFixing(), applyProbing(), calcBdchgScore(), checkCands(), checkConsQuadraticProblem(), checkLocksAndRes(), chooseCoefVar(), chooseVeclenVar(), collectCliqueData(), compensateVarLock(), createCoveringProblem(), dualPresolve(), dualPresolving(), extractGates(), findComponents(), findUnlockedLinearVar(), fixIntegerVariableLb(), getScore(), getScoreLikeCoefdiving(), isConsIndependently(), isSingleLockedCand(), multiAggregateBinvar(), performDualfix(), presolRoundIndicator(), presolveConsEst(), propagateCons(), propIndicator(), removeDoubleAndSingletonsAndPerformDualpresolve(), roundFixingValue(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIPanalyzeDeductionsProbing(), SCIPapplyLockFixings(), SCIPapplyProbingVar(), SCIPmakeIndicatorFeasible(), SCIPmatrixCreate(), SCIPmatrixDownlockConflict(), SCIPprintBranchingStatistics(), SCIPsolAdjustImplicitSolVals(), SCIPvarAddLocks(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUpType(), SCIPvarMayRoundDown(), SCIPwriteMps(), selectEssentialRounding(), selectRounding(), selectShifting(), singletonColumnStuffing(), and sortVariables().

◆ SCIPvarMayRoundDown()

SCIP_Bool SCIPvarMayRoundDown ( SCIP_VAR var)

◆ SCIPvarMayRoundUp()

SCIP_Bool SCIPvarMayRoundUp ( SCIP_VAR var)

◆ SCIPvarCompareActiveAndNegated()

int SCIPvarCompareActiveAndNegated ( SCIP_VAR var1,
SCIP_VAR var2 
)

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

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

Parameters
var1first problem variable
var2second problem variable

Definition at line 11905 of file var.c.

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

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

◆ SCIP_DECL_SORTPTRCOMP() [1/3]

SCIP_DECL_SORTPTRCOMP ( SCIPvarCompActiveAndNegated  )

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

Definition at line 11935 of file var.c.

References SCIPvarCompare(), and SCIPvarCompareActiveAndNegated().

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

◆ SCIPvarCompare()

int SCIPvarCompare ( SCIP_VAR var1,
SCIP_VAR var2 
)

◆ SCIP_DECL_SORTPTRCOMP() [2/3]

SCIP_DECL_SORTPTRCOMP ( SCIPvarComp  )

comparison method for sorting variables by non-decreasing index

Definition at line 11963 of file var.c.

References SCIP_DECL_SORTPTRCOMP(), and SCIPvarCompare().

◆ SCIP_DECL_SORTPTRCOMP() [3/3]

SCIP_DECL_SORTPTRCOMP ( SCIPvarCompObj  )

comparison method for sorting variables by non-decreasing objective coefficient

Definition at line 11969 of file var.c.

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

◆ SCIP_DECL_HASHGETKEY()

SCIP_DECL_HASHGETKEY ( SCIPvarGetHashkey  )

hash key retrieval function for variables

Definition at line 11986 of file var.c.

References SCIP_DECL_HASHKEYEQ().

Referenced by SCIP_DECL_SORTPTRCOMP(), and SCIPvarWasFixedEarlier().

◆ SCIP_DECL_HASHKEYEQ()

SCIP_DECL_HASHKEYEQ ( SCIPvarIsHashkeyEq  )

returns TRUE iff the indices of both variables are equal

Definition at line 11992 of file var.c.

References FALSE, SCIP_DECL_HASHKEYVAL(), and TRUE.

Referenced by SCIP_DECL_HASHGETKEY().

◆ SCIP_DECL_HASHKEYVAL()

SCIP_DECL_HASHKEYVAL ( SCIPvarGetHashkeyVal  )

returns the hash value of the key

Definition at line 12000 of file var.c.

References SCIPvarGetIndex(), and SCIPvarsGetActiveVars().

Referenced by SCIP_DECL_HASHKEYEQ().

◆ SCIPvarsGetProbvar()

void SCIPvarsGetProbvar ( SCIP_VAR **  vars,
int  nvars 
)

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

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

Definition at line 12199 of file var.c.

References NULL, and SCIPvarGetProbvar().

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

◆ SCIPvarGetProbvar()

◆ SCIPvarsGetProbvarBinary()

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

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

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

Definition at line 12279 of file var.c.

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

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

◆ SCIPvarGetProbvarBinary()

SCIP_RETCODE SCIPvarGetProbvarBinary ( SCIP_VAR **  var,
SCIP_Bool negated 
)

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

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

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

Definition at line 12311 of file var.c.

References active, SCIP_Var::aggregate, SCIP_Var::data, EPSEQ, EPSLE, EPSZ, FALSE, SCIP_Var::multaggr, SCIP_Var::negatedvar, NULL, SCIP_Var::original, REALABS, SCIP_Bool, SCIP_INVALIDDATA, SCIP_LOCKTYPE_MODEL, 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, SCIPvarGetNLocksUpType(), SCIPvarGetProbvarBound(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), SCIPvarIsBinary(), SCIP_Original::transvar, TRUE, SCIP_Aggregate::var, and SCIP_Multaggr::vars.

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

◆ SCIPvarGetProbvarBound()

◆ SCIPvarGetProbvarHole()

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

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

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

Definition at line 12563 of file var.c.

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

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

◆ SCIPvarGetOrigvarSum()

SCIP_RETCODE SCIPvarGetOrigvarSum ( SCIP_VAR **  var,
SCIP_Real scalar,
SCIP_Real constant 
)

retransforms given variable, scalar and constant to the corresponding original variable, scalar and constant, if possible; if the retransformation is impossible, NULL is returned as variable

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

References SCIP_Var::aggregate, SCIP_Aggregate::constant, SCIP_Negate::constant, SCIP_Var::data, SCIP_Var::negate, SCIP_Var::negatedvar, NULL, SCIP_Var::parentvars, SCIP_Aggregate::scalar, SCIP_Bool, 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(), SCIPvarIsOriginal(), SCIPvarIsTransformedOrigvar(), and SCIP_Aggregate::var.

Referenced by checkConsQuadraticProblem(), collectDualInformation(), countSparseSol(), createAndAddTransferredCut(), createVariableMappings(), fixBounds(), getActiveVariables(), getActiveVariables2(), getBinVarsRepresentatives(), getLinearCoeffs(), reoptSimilarity(), saveConsBounddisjuction(), saveConsLinear(), SCIP_DECL_BENDERSGETVAR(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_EVENTEXEC(), SCIPapplyHeurDualval(), SCIPbendersGetStoredCutOrigData(), SCIPbendersMergeSubproblemIntoMaster(), SCIPcopyConsLinear(), SCIPgetReoptOldObjCoef(), SCIPgetSymActiveVariables(), SCIPreoptAddDualBndchg(), SCIPsolGetVal(), SCIPtransformDecompstore(), SCIPvarGetProbvarSum(), solveSubNLP(), storeCuts(), and transformIntoOrig().

◆ SCIPvarIsTransformedOrigvar()

SCIP_Bool SCIPvarIsTransformedOrigvar ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 12862 of file var.c.

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

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

◆ SCIPvarGetNBranchings()

◆ SCIPvarGetNBranchingsCurrentRun()

◆ SCIPvarGetInferenceSum()

◆ SCIPvarGetInferenceSumCurrentRun()

◆ SCIPvarGetCutoffSum()

◆ SCIPvarGetCutoffSumCurrentRun()

◆ SCIPvarGetAvgBranchdepth()

◆ SCIPvarGetAvgBranchdepthCurrentRun()

SCIP_Real SCIPvarGetAvgBranchdepthCurrentRun ( SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

◆ SCIPvarHasImplic()

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

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

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

Definition at line 11112 of file var.c.

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

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

◆ SCIPvarHasBinaryImplic()

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

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

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

Definition at line 11132 of file var.c.

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

Referenced by SCIPvarHasImplic().

◆ SCIPvarGetImplicVarBounds()

void SCIPvarGetImplicVarBounds ( SCIP_VAR var,
SCIP_Bool  varfixing,
SCIP_VAR implvar,
SCIP_Real lb,
SCIP_Real ub 
)

gets the values of b in implications x == varfixing -> y <= b or y >= b in the implication graph; the values are set to SCIP_INVALID if there is no implied bound

Parameters
varproblem variable x
varfixingFALSE if y should be searched in implications for x == 0, TRUE for x == 1
implvarvariable y to search for
lbbuffer to store the value of the implied lower bound
ubbuffer to store the value of the implied upper bound

Definition at line 11147 of file var.c.

References SCIP_Var::implics, NULL, SCIP_INVALID, SCIP_Real, SCIPimplicsGetVarImplicPoss(), SCIPvarFixBinary(), and SCIPvarGetImplBounds().

Referenced by detectProductsImplbnd(), and SCIPvarHasBinaryImplic().

◆ SCIPvarsHaveCommonClique()

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

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

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

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

Definition at line 11476 of file var.c.

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

Referenced by addCliques(), calcCliquePartitionGreedy(), cliquePresolve(), detectDominatingVlbs(), detectDominatingVubs(), detectProductsClique(), findFixings(), getMinactImplicObjchg(), GUBsetCalcCliquePartition(), liftCliqueVariables(), removeConstraintsDueToNegCliques(), SCIPhaveVarsCommonClique(), and SCIPvarDelClique().

◆ SCIPvarGetAggregatedObj()

SCIP_RETCODE SCIPvarGetAggregatedObj ( SCIP_VAR var,
SCIP_Real aggrobj 
)

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

Parameters
varproblem variable
aggrobjpointer to store the aggregated objective value

Definition at line 17949 of file var.c.

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

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

◆ SCIPvarSetInitial()

SCIP_RETCODE SCIPvarSetInitial ( SCIP_VAR var,
SCIP_Bool  initial 
)

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

Parameters
varproblem variable
initialinitial flag

Definition at line 17507 of file var.c.

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

Referenced by addVariable(), SCIPcreateVarBinpacking(), SCIPvarSetCopyData(), and AMPLProblemHandler::SuffixHandler< T >::SetValue().

◆ SCIPvarSetRemovable()

SCIP_RETCODE SCIPvarSetRemovable ( SCIP_VAR var,
SCIP_Bool  removable 
)

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

Parameters
varproblem variable
removableremovable flag

Definition at line 17523 of file var.c.

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

Referenced by addVariable(), SCIPcreateVarBinpacking(), SCIPvarSetInitial(), and AMPLProblemHandler::SuffixHandler< T >::SetValue().

◆ SCIPvarGetName()

const char* SCIPvarGetName ( SCIP_VAR var)

returns the name of the variable

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

Definition at line 17420 of file var.c.

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

Referenced by addAltLPColumn(), addBilinearTermToCut(), addBoundViolated(), addCand(), addCliques(), addCoef(), addColToCut(), addConflictBinvar(), addConflictBounds(), addConstraintToBendersSubproblem(), addCut(), addExprsViolScore(), addExprViolScoresAuxVars(), addFixedVarsConss(), addGenVBound(), addLinearTermToCut(), addNode(), addRegularScholtes(), addRltTerm(), addScenarioVarsToProb(), addSplitcons(), addStrongSBCsSubgroup(), addSymmetryInformation(), addVarCardinality(), addWeakSBCsSubgroup(), adjustOversizedJobBounds(), aggregateVariables(), aggregation(), alnsFixMoreVariables(), alnsUnfixVariables(), analyseInfeasibelCoreInsertion(), analyseVarOnoffBounds(), analyzeEnergyRequirement(), analyzeGenVBoundConflict(), analyzeViolation(), analyzeZeroResultant(), appendVarCardinality(), applyAlternativeBoundsBranching(), applyBdchgs(), applyBoundHeur(), applyCliqueFixings(), applyFixings(), applyFixingsAndAggregations(), applyGenVBound(), applyOptcumulativeFixings(), applyProbing(), applyRepair(), applyVboundsFixings(), applyZeroFixings(), boundchgApplyGlobal(), branch(), branchcandCalcLPCands(), branchcandInsertPseudoCand(), branchcandRemovePseudoCand(), branching(), branchingIntegralOrNonlinear(), branchUnbalancedCardinality(), calcBranchScore(), calcShiftVal(), cancelCol(), candidateCreate(), candidateFreeWarmStartInfo(), catchVarEvents(), changeAncestorBranchings(), checkCons(), checkCumulativeCondition(), checkForOverlapping(), checkPackingPartitioningOrbitopeSolution(), checkSolution(), checkSystemGF2(), checkVarbound(), checkVarnames(), cliqueCleanup(), cliquePresolve(), colAddCoef(), collectActivities(), collectBinaryCliqueData(), collectBranchingCandidates(), collectBranchingCands(), collectLeafs(), collectMinactVar(), collectNonBinaryImplicationData(), collectNonBinaryVBoundData(), collectSolActivities(), collectSolution(), collectThetaSubtree(), colLink(), colUnlink(), compensateVarLock(), computeConvexEnvelopeFacet(), computeCut(), computeEnergyContribution(), computeImpliedEst(), computeImpliedLct(), computeOffValues(), computeRltCut(), computeStandardLPFeasibilityCut(), conflictAddBound(), conflictAddConflictBound(), conflictAddConflictCons(), conflictAnalyze(), conflictCreateReconvergenceConss(), conflictFirstCand(), conflictMarkBoundCheckPresence(), conflictResolveBound(), conflictsetAddBounds(), conflictsetIsRedundant(), consdataCheckSuperindicator(), consdataCollectLinkingCons(), consdataCreate(), consdataCreateBinvars(), consdataDeletePos(), consdataFixOperandsOne(), consdataFixResultantZero(), consdataPrint(), constraintNonOverlappingGraph(), constructCompression(), constructSNFRelaxation(), coretimesUpdateLb(), coretimesUpdateUb(), countSparseSol(), createAndAddAndCons(), createAndStoreSparseRays(), createAuxiliaryNonlinearSubproblem(), createAuxVar(), createBinaryConstraintName(), createBlockproblem(), createConstraints(), createCoreProfile(), createCoveringProblem(), createKKTComplementarityBinary(), createKKTComplementarityBounds(), createKKTDualCons(), createMIP(), createNAryBranch(), createProjRows(), createSelectedSortedEventpointsSol(), createSubproblem(), createSubproblems(), createSubSCIP(), createTcliqueGraph(), createVariableMappings(), detectAndHandleSubgroups(), detectDominatingVlbs(), detectDominatingVubs(), detectHiddenProducts(), detectImplications(), detectImpliedBounds(), detectMinors(), detectProductsClique(), detectVarboundSOS1(), determineBound(), determineBoundForSNF(), determineVariableFixings(), dfs(), displayCycleOfSymmetry(), doSeachEcAggr(), dropVarEvent(), dryBranch(), dualPresolve(), dualPresolving(), ecaggrAddBilinTerm(), enforceCardinality(), enforceConssSOS1(), enforceConstraint(), enforceConstraints(), enforceSOS2(), estimateBivariateQuotient(), estimateConvexSecant(), estimateGradientInner(), estimateUnivariateQuotient(), estimateVertexPolyhedral(), execRelpscost(), executeBranchingRecursive(), exprIsSemicontinuous(), extractCycle(), extractProducts(), filterCandidates(), filterCands(), filterExistingLP(), findAggregation(), findAndStoreEcAggregations(), findCumulativeConss(), findScenarioVar(), findUncapacitatedArcs(), findUnlockedLinearVar(), fixAndPropagate(), fixBounds(), fixDeleteOrUpgradeCons(), fixIntegerVariableLb(), fixIntegerVariableUb(), fixInterdiction(), fixVariable(), fixVariableZeroNode(), forwardPropExpr(), freeAuxVar(), generateAndApplyBendersCuts(), getBinaryProductExprDo(), getConflictImplics(), getFactorizedBinaryQuadraticExpr(), getFixedVariable(), getFSBResult(), getGenVBound(), getMaxactImplicObjchg(), getScenarioDecompVar(), GUBsetMoveVar(), handle1Cycle(), handleNewVariableSOS1(), inferboundsEdgeFinding(), infinityCountUpdate(), initCurrent(), initData(), initSepa(), insertIndex(), level2resultCreateFromData(), liftCliqueVariables(), lpFlushAddCols(), lpFlushAddRows(), lpRemoveObsoleteCols(), markRowsXj(), maximalslack(), mcfnetworkFill(), mergeMultiples(), multiAggregateBinvar(), nlpCalcFracVars(), nlpFlushVarAdditions(), nlrowAddLinearCoef(), nlrowaggrFree(), nodepairqueueCreate(), notifyNlhdlrNewsol(), objimplicsCreate(), optimize(), parseBase(), performAggregations(), performBranchingNoSol(), performBranchingSol(), performDualfix(), performFixing(), performImplicationGraphAnalysis(), performRandRounding(), performSimpleRounding(), performStrongbranchWithPropagation(), predBndStr(), preprocessConstraintPairs(), presolRoundCardinality(), presolRoundConsSOS1(), presolRoundIndicator(), presolRoundSOS2(), presolRoundVarsSOS1(), presolveAddKKTAggregatedVars(), presolveConsEst(), presolveConsLct(), presolveImplint(), presolvePropagateCons(), presolveRedundantConss(), presolveSingleLockedVars(), printActiveVariables(), printAggregatedCons(), printBoundSection(), printColumnSection(), printExpr(), printIndicatorCons(), printLinearCons(), printLinearRow(), printNLRow(), printPBRow(), printRow(), printRowAnd(), printSignomial(), printSosCons(), processBinvarFixings(), processFixings(), processNlRow(), processRealBoundChg(), processWatchedVars(), propagateBinaryBestRootRedcost(), propagateCons(), propagateCutoffboundVar(), propagateLbTTEF(), propagateLowerBoundVar(), propagateRedcostBinvar(), propagateRedcostVar(), propagateRootRedcostBinvar(), propagateSelfReflectionVar(), propagateStaticOrbitope(), propagateTimetable(), propagateUbTTEF(), propagateUpperBoundSymVar(), propagateVbounds(), propCardinality(), propConsSOS1(), propIndicator(), proposeFeasibleSolution(), propSOS2(), readBinaries(), readBounds(), readCoefficients(), readCols(), readerdataAddOutputvar(), readGenerals(), readObjective(), readPolynomial(), readQCMatrix(), readQMatrix(), readSemicontinuous(), readSolFile(), readSOS(), readSos(), readVariables(), readXmlSolFile(), reformulateFactorizedBinaryQuadratic(), registerBranchingCandidates(), relaxVar(), removeConstraintsDueToNegCliques(), removeDoubleAndSingletonsAndPerformDualpresolve(), removeFixedVariables(), removeIrrelevantJobs(), removeRedundantNonZeros(), reoptimize(), resetVarname(), resolveGenVBoundPropagation(), resolvePropagation(), resolvePropagationCoretimes(), respropCumulativeCondition(), rowAddCoef(), rowFindSlackVar(), rowprepCleanupImproveCoefrange(), rowprepCleanupIntegralCoefs(), rowprepRecordModifiedVar(), runVanillaStrongBranching(), scaleCons(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_BRANCHEXECPS(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSENFORELAX(), SCIP_DECL_CONSEXIT(), SCIP_DECL_CONSINIT(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSLOCK(), SCIP_DECL_CONSPARSE(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSPRINT(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_CONSTRANS(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPR_OWNERPRINT(), SCIP_DECL_EXPRPRINT(), SCIP_DECL_EXPRSIMPLIFY(), SCIP_DECL_HASHGETKEY(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_NLHDLRENFO(), SCIP_DECL_NLHDLRINITSEPA(), SCIP_DECL_NLHDLRSOLLINEARIZE(), SCIP_DECL_PARAMCHGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_READERWRITE(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_VERTEXPOLYFUN(), SCIPaddCoefLinear(), SCIPaddIneqBilinear(), SCIPaddVarCardinality(), SCIPaddVarSOS1(), SCIPaddVarSOS2(), SCIPaggrRowPrint(), SCIPanalyzeDeductionsProbing(), SCIPappendVarCardinality(), SCIPappendVarSOS2(), SCIPapplyHeurDualval(), SCIPapplyHeurSubNlp(), SCIPapplyLockFixings(), SCIPapplyProbingVar(), SCIPbendersGetVar(), SCIPbendersMergeSubproblemIntoMaster(), SCIPbendersSetupSubproblem(), SCIPbendersSolSlackVarsActive(), SCIPboundchgApply(), SCIPboundchgUndo(), SCIPbranchcandAddExternCand(), SCIPbranchExecExtern(), SCIPbranchVar(), SCIPbranchVarVal(), SCIPbranchVarValNary(), SCIPcatchVarEvent(), SCIPchgReoptObjective(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPchgVarLbNode(), SCIPchgVarLbProbing(), SCIPchgVarType(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPchgVarUbNode(), SCIPchgVarUbProbing(), SCIPcliqueAddVar(), SCIPcliqueDelVar(), SCIPcliquelistRemoveFromCliques(), SCIPcliquetableAdd(), SCIPcolChgLb(), SCIPcolChgObj(), SCIPcolChgUb(), SCIPcolDelCoef(), SCIPcolGetStrongbranch(), SCIPconflictAddRelaxedBound(), SCIPconflictAnalyzeRemainingBdchgs(), SCIPconflictAnalyzeStrongbranch(), SCIPconflictIsVarUsed(), SCIPcopyImplicationsCliques(), SCIPcreateConsAnd(), SCIPcreateConsCardinality(), SCIPcreateConsLinear(), SCIPcreateConsLinking(), SCIPcreateFiniteSolCopy(), SCIPcreateNlpiProblemFromNlRows(), SCIPdropVarEvent(), SCIPendStrongbranch(), SCIPeventqueueAdd(), SCIPexprDismantle(), SCIPgenerateAndApplyBendersOptCut(), SCIPgetVarCopy(), SCIPgetVarsStrongbranchesFrac(), SCIPgetVarsStrongbranchesInt(), SCIPgetVarStrongbranchFrac(), SCIPgetVarStrongbranchInt(), SCIPgetVarStrongbranchWithPropagation(), SCIPholelistGetNext(), SCIPimplicsAdd(), SCIPimplicsDel(), SCIPincludePresolMILP(), SCIPincSolVal(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPlpAddCol(), SCIPlpAddRow(), SCIPlpGetSol(), SCIPmatrixGetColName(), SCIPmatrixPrintRow(), SCIPnlpDelVar(), SCIPnlrowDelLinearCoef(), SCIPnlrowPrint(), SCIPnodeAddBoundinfer(), SCIPnodeAddHolechg(), SCIPnodeAddHoleinfer(), SCIPnodePrintAncestorBranchings(), SCIPperformGenericDivingAlgorithm(), SCIPpricestoreAddBdviolvar(), SCIPpricestoreAddProbVars(), SCIPpricestoreAddVar(), SCIPpricestoreApplyVars(), SCIPprimalTransformSol(), SCIPprintBranchingStatistics(), SCIPprintNodeRootPath(), SCIPprintRowprep(), SCIPprintRowprepSol(), SCIPprobAddVar(), SCIPprobDelVar(), SCIPprobExitSolve(), SCIPprobFree(), SCIPprobPerformVarDeletions(), SCIPprobPrintPseudoSol(), SCIPprobScaleObj(), SCIPreaderWrite(), SCIPreoptAddDualBndchg(), SCIPreoptApplyGlbConss(), SCIPreoptMergeVarHistory(), SCIProwDelCoef(), SCIProwPrint(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPseparateKnapsackCuts(), SCIPseparateRelaxedKnapsack(), SCIPsetBinaryVarIndicator(), SCIPsetSolVal(), SCIPsetSolVals(), SCIPshrinkDisjunctiveVarSet(), SCIPsolCheck(), SCIPsolCheckOrig(), SCIPsolIncVal(), SCIPsolPrint(), SCIPsolPrintRay(), SCIPsolSetVal(), SCIPsolveKnapsackApproximately(), SCIPstatComputeRootLPBestEstimate(), SCIPstatUpdateVarRootLPBestEstimate(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPtreeBranchVar(), SCIPtreeBranchVarHole(), SCIPtreeBranchVarNary(), SCIPtreeCalcNodeselPriority(), SCIPundoBdchgsProof(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarCopy(), SCIPvarGetImplRedcost(), SCIPvarIncVSIDS(), SCIPvarMultiaggregate(), SCIPvarPrint(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarSetNLPSol(), SCIPvarSetRelaxSol(), SCIPvarUpdateBestRootSol(), SCIPvarUpdatePseudocost(), SCIPvisualCutoffNode(), SCIPvisualizeConsCumulative(), SCIPvisualNewChild(), SCIPvisualSolvedNode(), SCIPvisualUpdateChild(), SCIPwriteBnd(), SCIPwriteCliqueGraph(), SCIPwriteGms(), SCIPwriteLp(), SCIPwriteMps(), SCIPwriteOpb(), SCIPwritePip(), SCIPwriteVarName(), scoreBranchingCandidates(), selectBestCands(), selectBranchingCandidate(), selectInitialVariableDecomposition(), selectInitialVariableRandomly(), selectVarMultAggrBranching(), selectVarRecursive(), sepadataAddMinor(), sepaImplBoundCutsSOS1(), separateCuts(), separateMcCormickImplicit(), separateRltCuts(), sepastoreApplyLb(), sepastoreApplyUb(), setupAndSolveFiniteSolSubscip(), simplifyInequalities(), solUnlinkVar(), solveAndEvalSubscip(), solveBilinearLP(), solveNlp(), solveNode(), solveSubNLP(), sortAndMergeClique(), strengthenVarbounds(), tarjan(), tightenAuxVarBounds(), tightenCoefs(), tightenDualproof(), tightenedLinkvar(), tightenSingleVar(), tightenVariables(), tightenVarLb(), tightenVarsBoundsSOS1(), tightenVarUb(), tightenWeights(), transformAndSolve(), transformVariable(), treeApplyPendingBdchgs(), tryFixVar(), updateArcData(), updateAuxiliaryVarLowerbound(), updateBestCandidate(), updateConsanddataUses(), updatePseudocost(), upgradeConss(), varAddImplic(), varAddLbchginfo(), varAddUbchginfo(), varAddVbound(), varHasName(), varIsSemicontinuous(), varProcessAddHoleGlobal(), varProcessAddHoleLocal(), varProcessChgLbGlobal(), varProcessChgUbGlobal(), writeFzn(), writeOpbFixedVars(), writeOpbObjective(), and writeOpbRelevantAnds().

◆ SCIPvarGetNUses()

int SCIPvarGetNUses ( SCIP_VAR var)

gets number of times, the variable is currently captured

Parameters
varproblem variable

Definition at line 17430 of file var.c.

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

Referenced by SCIPprobExitSolve(), SCIPprobFree(), and SCIPvarGetName().

◆ SCIPvarGetData()

SCIP_VARDATA* SCIPvarGetData ( SCIP_VAR var)

returns the user data of the variable

Parameters
varproblem variable

Definition at line 17440 of file var.c.

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

Referenced by addFixedVarsConss(), checkVariable(), computeBranchingPriorities(), consdataCheck(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_EVENTEXEC(), SCIPgetObjVardata(), and SCIPvarGetNUses().

◆ SCIPvarSetData()

void SCIPvarSetData ( SCIP_VAR var,
SCIP_VARDATA vardata 
)

sets the user data for the variable

Parameters
varproblem variable
vardatauser variable data

Definition at line 17450 of file var.c.

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

Referenced by addAuxiliaryVariablesToMaster(), assignAuxiliaryVariables(), createInitialColumns(), SCIP_DECL_EVENTEXEC(), SCIPcreateVarBinpacking(), and SCIPvarGetData().

◆ SCIPvarSetDelorigData()

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

sets method to free user data for the original variable

Parameters
varproblem variable

Definition at line 17461 of file var.c.

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

Referenced by SCIPvarSetData().

◆ SCIPvarSetTransData()

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

sets method to transform user data of the variable

Parameters
varproblem variable

Definition at line 17473 of file var.c.

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

Referenced by SCIPvarSetDelorigData().

◆ SCIPvarSetDeltransData()

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

sets method to free transformed user data for the variable

Parameters
varproblem variable

Definition at line 17485 of file var.c.

References NULL, and SCIPvarSetCopyData().

Referenced by SCIPcreateVarBinpacking(), and SCIPvarSetTransData().

◆ SCIPvarSetCopyData()

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

sets method to copy this variable into sub-SCIPs

Parameters
varproblem variable

Definition at line 17496 of file var.c.

References NULL, and SCIPvarSetInitial().

Referenced by SCIPvarSetDeltransData().

◆ SCIPvarGetStatus()

SCIP_VARSTATUS SCIPvarGetStatus ( SCIP_VAR var)

gets status of variable

Parameters
varproblem variable

Definition at line 17539 of file var.c.

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

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

◆ SCIPvarIsOriginal()

◆ SCIPvarIsTransformed()

SCIP_Bool SCIPvarIsTransformed ( SCIP_VAR var)

returns whether the variable belongs to the transformed problem

Parameters
varproblem variable

Definition at line 17562 of file var.c.

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

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

◆ SCIPvarIsNegated()

◆ SCIPvarGetType()

SCIP_VARTYPE SCIPvarGetType ( SCIP_VAR var)

gets type of variable

Parameters
varproblem variable

Definition at line 17585 of file var.c.

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

Referenced by addConstraintToBendersSubproblem(), addFixedVarsConss(), addGlobalCut(), addLinearConstraints(), addLocalBranchingConstraint(), addLocalbranchingConstraintAndObjcutoff(), addRelaxation(), addRltTerm(), addScenarioVarsToProb(), addSplitcons(), addSSTConss(), addVarboundConstraints(), aggregateVariables(), aggregation(), applyBoundChanges(), applyBoundHeur(), applyFixings(), applyNlobbt(), applyRepair(), applyVboundsFixings(), branchcandCalcLPCands(), branchcandInsertPseudoCand(), branchcandRemovePseudoCand(), branchingIntegralOrNonlinear(), calcBranchScore(), cancelCol(), checkAndGetVarbound(), checkRedundancy(), checkRedundancySide(), checkVarbound(), chooseVeclenVar(), colIsDiscrete(), collectNonBinaryImplicationData(), collectNonBinaryVBoundData(), compareVars(), compareVarsSignedPerm(), compensateVarLock(), componentPackingPartitioningOrbisackUpgrade(), computeDynamicRowOrder(), computeIntegerVariableBounds(), computeIntegerVariableBoundsDins(), computeMonoidalStrengthCoef(), conflictAddBound(), conflictResolveBound(), consdataCalcMinAbsval(), consdataCreate(), consdataPrint(), copyVars(), countSparseSol(), createAndSplitProblem(), createCGMIPprimalsols(), CUTOFF_CONSTRAINT(), cutsRoundStrongCG(), cutsTransformKnapsackCover(), decompHorizonInitialize(), detectHiddenProducts(), detectProductsClique(), detectProductsImplbnd(), determineBestBounds(), determineBoundForSNF(), determineVariableFixingsDecomp(), dfs(), domchgMakeDynamic(), dualBoundStrengthening(), ensureSymmetryMovedpermvarscountsComputed(), extractCapacityRows(), extractFlowRows(), extractProducts(), fillRelationTables(), findBestLb(), findBestUb(), findFixings(), findVarAggrRedVbcons(), fixAndPropagate(), fixInterdiction(), forbidFixation(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getScenarioDecompVar(), getScoreOfFarkasDiving(), heurExec(), infinityCountUpdate(), initData(), isBoundchgUseless(), isFixedVar(), isPseudocostUpdateValid(), isSingleLockedCand(), isVlb(), isVub(), level2dataGetResult(), level2dataStoreResult(), mcfnetworkExtract(), mergeMultiples(), nlpCalcFracVars(), AMPLProblemHandler::OnVarBounds(), optimize(), performSimpleRounding(), predBndStr(), presolveSingleLockedVars(), prettifyConss(), printBoundSection(), printColumnSection(), printLinearCons(), probInsertVar(), probRemoveVar(), propagateStaticLexred(), propagateStaticOrbitope(), propIndicator(), readBounds(), readIndicators(), registerBranchingCandidates(), removeDoubleAndSingletonsAndPerformDualpresolve(), resolvePropagation(), roundPartition(), rowCalculateGauss(), rowFindSlackVar(), rowIsBranchRow(), sampleRandomPoints(), saveGlobalCons(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONCSOLVERSYNCREAD(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSINIT(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSPRINT(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXITSOL(), SCIP_DECL_EVENTINITSOL(), SCIP_DECL_EXPR_INTEVALVAR(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SORTINDCOMP(), SCIP_DECL_SORTPTRCOMP(), SCIPaddTrustregionNeighborhoodConstraint(), SCIPaddVarImplication(), SCIPaddVarIndicator(), SCIPaddVarVlb(), SCIPaddVarVub(), SCIPanalyzeDeductionsProbing(), SCIPapplyLockFixings(), SCIPbendersChgMastervarsToCont(), SCIPbendersMergeSubproblemIntoMaster(), SCIPbranchcandAddExternCand(), SCIPbranchcandContainsExternCand(), SCIPbranchcandGetPseudoCands(), SCIPbranchcandUpdateVar(), SCIPbranchExecLP(), SCIPbranchExecPseudo(), SCIPbranchGetBranchingPoint(), SCIPbranchVar(), SCIPbranchVarVal(), SCIPbranchVarValNary(), SCIPcalcChildEstimateIncrease(), SCIPchgVarType(), SCIPclassifyConstraintTypesLinear(), SCIPcliquetableCleanup(), SCIPconflictAnalyzeRemainingBdchgs(), SCIPcreateConsAnd(), SCIPcreateConsIndicatorGeneric(), SCIPcreateConsIndicatorGenericLinCons(), SCIPcreateConsIndicatorGenericLinConsPure(), SCIPdomchgAddBoundchg(), SCIPdomchgMakeStatic(), SCIPfixVar(), SCIPincludePresolMILP(), SCIPisObjIntegral(), SCIPnlpHasContinuousNonlinearity(), SCIPprobCheckObjIntegral(), SCIPprobChgVarType(), SCIPreoptApplyGlbConss(), SCIPreoptnodeAddCons(), SCIPreoptSplitRoot(), SCIPsetBinaryVarIndicator(), SCIPsetLinearConsIndicator(), SCIPshrinkDisjunctiveVarSet(), SCIPsolAdjustImplicitSolVals(), SCIPtreeBranchVar(), SCIPtreeBranchVarHole(), SCIPtreeBranchVarNary(), SCIPtreeCalcChildEstimate(), SCIPvarAddHoleGlobal(), SCIPvarAddHoleLocal(), SCIPvarAddHoleOriginal(), SCIPvarAddImplic(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarAdjustLb(), SCIPvarAdjustUb(), SCIPvarAggregate(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgLbOriginal(), SCIPvarChgType(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarChgUbOriginal(), SCIPvarCopy(), SCIPvarFix(), SCIPvarIsBinary(), SCIPvarIsIntegral(), SCIPvarIsNegated(), SCIPvarNegate(), SCIPvarPrint(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarTransform(), SCIPvarTryAggregateVars(), SCIPvboundsAdd(), SCIPwriteGms(), SCIPwriteLp(), SCIPwriteMps(), SCIPwritePip(), SCIPwriteVarName(), scoreBranchingCandidates(), selectEssentialRounding(), selectInitialVariableDecomposition(), selectOrbitLeaderSSTConss(), selectRounding(), selectShifting(), selectVarMultAggrBranching(), separateCons(), separateCuts(), separateGLS(), separateHeur(), separateSolution(), setupAndSolveSubscipRapidlearning(), singletonColumnStuffing(), soltreeAddSol(), solveNode(), sortComponents(), tcliquegraphAddNode(), tcliquegraphConstructCliqueTable(), tightenBounds(), tightenCoefs(), tightenDualproof(), transformAndSolve(), tryAggregateIntVars(), updateActivities(), updateBestCandidate(), updatePseudocost(), useValuehistory(), varAddImplic(), varAddLbchginfo(), varAddTransitiveImplic(), varAddUbchginfo(), varGetChar(), varIsDiscrete(), varIsSemicontinuous(), varIsUnfixedLocal(), varProcessAddHoleGlobal(), varProcessAddHoleLocal(), varProcessBoundChanges(), varProcessChgLbGlobal(), varProcessChgLbLocal(), varProcessChgUbGlobal(), varProcessChgUbLocal(), writeFzn(), and writeOpbConstraints().

◆ SCIPvarIsBinary()

SCIP_Bool SCIPvarIsBinary ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 17600 of file var.c.

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

Referenced by addCand(), addConflictBinvar(), addOrbitopeSubgroup(), addSSTConssOrbitAndUpdateSST(), addSymmetryInformation(), addVarCardinality(), adjustCutoffbound(), aggregateVariables(), analyzeStrongbranch(), appendVarCardinality(), applyFixings(), applyProbing(), bdchginfoIsInvalid(), binaryVarListCreate(), binvarGetActiveProbindex(), buildQuadExprMatrix(), calcBranchScore(), calcPscostQuot(), calculateAlternatives(), cancelCol(), cancelRow(), checkAndCollectQuadratic(), checkCons(), checkLogicor(), checkSystemGF2(), checkTwoCyclePermsAreOrbitope(), chooseCoefVar(), chooseDoubleVar(), chooseFracVar(), chooseGuidedVar(), cliquetableGetNodeIndexBinvar(), collectBinaryCliqueData(), collectMaxactVar(), collectMinactImplicVars(), collectMinactObjchg(), collectNonBinaryImplicationData(), collectNonBinaryVBoundData(), computeNogoodCut(), conflictQueueBound(), consdataCalcSignatures(), consdataCreate(), createConflict(), createKKTDualCons(), createSolFromSubScipSol(), createSubproblem(), CUTOFF_CONSTRAINT(), DECL_VARFIXINGS(), detectAndHandleSubgroups(), detectImpliedBounds(), detectMinors(), detectSocNorm(), detectSocQuadraticSimple(), dfs(), enforceConflictgraph(), enforceConssSOS1(), executeBranchingRecursive(), findFixings(), fixMatchingSolutionValues(), getClosestVlb(), getClosestVub(), getConflictImplics(), getCover(), getFixedVariable(), getMaxactImplicObjchg(), getMaxactObjchg(), getMinactImplicObjchg(), getMinactObjchg(), getNOrbitopesInComp(), getScore(), getScoreLikeCoefdiving(), handleDoublelLexMatrix(), handleOrbitope(), heurExec(), isConsViolated(), lpCopyIntegrality(), mergeMultiples(), objimplicsCreate(), orbisackUpgrade(), permSortConsdata(), predBndStr(), preprocessConstraintPairs(), presolRoundCardinality(), presolRoundConsSOS1(), printIndicatorCons(), processBinvarFixings(), propagateCutoffboundBinvar(), propagateLowerboundBinvar(), propagateVbounds(), propCardinality(), propdataInit(), removeDoubleAndSingletonsAndPerformDualpresolve(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_DIVESETGETSCORE(), SCIP_DECL_EXPRSIMPLIFY(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_NLHDLRDETECT(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_SORTINDCOMP(), SCIPaddConflictBinvar(), SCIPaddVarImplication(), SCIPanalyzeDeductionsProbing(), SCIPapplyHeurDualval(), SCIPapplyProximity(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPcliqueAddVar(), SCIPcliqueDelVar(), SCIPcliquelistRemoveFromCliques(), SCIPcliquetableAdd(), SCIPcliquetableComputeCliqueComponents(), SCIPcliquetableGetVarComponentIdx(), SCIPcreateConsCardinality(), SCIPcreateConsOrbitope(), SCIPdomchgAddBoundchg(), SCIPextendSubOrbitope(), SCIPgenerateOrbitopeVarsMatrix(), SCIPgetVarWasFixedAtIndex(), SCIPhaveVarsCommonClique(), SCIPinferBinvarCons(), SCIPinferBinvarProp(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPisInvolutionPerm(), SCIPnodePropagateImplics(), SCIPprobGetNImplBinVars(), SCIPprobUpdateBestRootSol(), SCIPseparateRelaxedKnapsack(), SCIPshrinkDisjunctiveVarSet(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPvarAddClique(), SCIPvarAddCliqueToList(), SCIPvarAddImplic(), SCIPvarAddVub(), SCIPvarAggregate(), SCIPvarChgType(), SCIPvarDelClique(), SCIPvarDelCliqueFromList(), SCIPvarGetImplRedcost(), SCIPvarGetProbvarBinary(), SCIPvarGetType(), SCIPvarHasBinaryImplic(), SCIPvarHasImplic(), SCIPvarNegate(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarsAddClique(), SCIPvarsHaveCommonClique(), SCIPvarTryAggregateVars(), SCIPvarWasFixedAtIndex(), SCIPvarWasFixedEarlier(), separateCuts(), separateGLS(), separateHeur(), setSymmetryData(), sortAndMergeClique(), sortVariables(), tightenCoefs(), tightenDualproof(), tryHandleSingleOrDoubleLexMatricesComponent(), upgradeCons(), upgradeConss(), varAddImplic(), varAddLbchginfo(), varAddUbchginfo(), and varGetObjDelta().

◆ SCIPvarIsIntegral()

SCIP_Bool SCIPvarIsIntegral ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 17611 of file var.c.

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

Referenced by addBilinearTermToCut(), addRltTerm(), adjustCutoffbound(), aggregation(), analyzeConflict(), analyzeConflictLowerbound(), analyzeConflictUpperbound(), calculateAlternatives(), cancelCol(), cancelRow(), checkKnapsack(), computeCut(), computeFixingOrder(), computeRelaxedLowerbound(), computeRelaxedUpperbound(), conflictAddConflictCons(), conflictCreateReconvergenceConss(), createAndAddProofcons(), createCGCutCMIR(), createNewSol(), createSubSCIP(), cutsRoundStrongCG(), cutTightenCoefs(), cutTightenCoefsQuad(), DECL_VARFIXINGS(), detectAndHandleSubgroups(), detectImpliedBounds(), determineBound(), determineVariableFixings(), enforceConflictgraph(), fixAndPropagate(), fixMatchingSolutionValues(), generateClusterCuts(), isBinaryProduct(), isOverlapping(), lpCopyIntegrality(), nodepartitionIsConnected(), performFixing(), performStrongbranchSOS1(), presolveImplint(), propagateLowerboundVar(), propagateRedcostVar(), propIndicator(), proposeFeasibleSolution(), resolveGenVBoundPropagation(), resolvePropagation(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSENFORELAX(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_EXPR_INTEVALVAR(), SCIP_DECL_EXPRINTEGRALITY(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_SORTINDCOMP(), SCIPaddVarIndicator(), SCIPboundchgApply(), SCIPcolCreate(), SCIPcolGetStrongbranch(), SCIPcolGetStrongbranches(), SCIPcolInvalidateStrongbranchData(), SCIPcolIsIntegral(), SCIPcolSetStrongbranchData(), SCIPcreateConsIndicatorGeneric(), SCIPcreateConsIndicatorGenericLinConsPure(), SCIPcutsTightenCoefficients(), SCIPgetVarStrongbranchWithPropagation(), SCIPincludePresolMILP(), SCIPlpAddCol(), SCIPlpWriteMip(), SCIPprobAddVar(), SCIProwCreate(), SCIPsolPrint(), SCIPstatComputeRootLPBestEstimate(), SCIPtreeBranchVarHole(), SCIPvarAddVlb(), SCIPvarIsBinary(), selectInitialVariableRandomly(), selectShifting(), tightenDualproof(), tightenSingleVar(), tightenVariables(), tightenVarLb(), tightenVarsBoundsSOS1(), tightenVarUb(), transformVariable(), tryAdd2variableBuffer(), updateArcData(), varGetChar(), varIncRootboundchgs(), and varIsDiscrete().

◆ SCIPvarIsInitial()

SCIP_Bool SCIPvarIsInitial ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 17621 of file var.c.

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

Referenced by addConstraintToBendersSubproblem(), addScenarioVarsToProb(), aggregation(), applyFixings(), getScenarioDecompVar(), initLP(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIPvarCopy(), SCIPvarIsIntegral(), tightenCoefs(), and tryAggregateIntVars().

◆ SCIPvarIsRemovable()

SCIP_Bool SCIPvarIsRemovable ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 17631 of file var.c.

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

Referenced by addConstraintToBendersSubproblem(), addScenarioVarsToProb(), aggregation(), applyFixings(), getScenarioDecompVar(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIPvarCopy(), SCIPvarIsInitial(), tightenCoefs(), and tryAggregateIntVars().

◆ SCIPvarIsDeleted()

SCIP_Bool SCIPvarIsDeleted ( SCIP_VAR var)

◆ SCIPvarMarkDeletable()

void SCIPvarMarkDeletable ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 17653 of file var.c.

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

Referenced by addVariable(), SCIP_DECL_PRICERFARKAS(), SCIP_DECL_PRICERREDCOST(), SCIPcreateVarBinpacking(), SCIPvarIsDeleted(), and SCIPvarMarkRelaxationOnly().

◆ SCIPvarMarkNotDeletable()

void SCIPvarMarkNotDeletable ( SCIP_VAR var)

◆ SCIPvarIsDeletable()

SCIP_Bool SCIPvarIsDeletable ( SCIP_VAR var)

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

Definition at line 17739 of file var.c.

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

Referenced by focusnodeCleanupVars(), SCIPprobExitSolve(), and SCIPvarMarkRelaxationOnly().

◆ SCIPvarMarkDeleteGlobalStructures()

void SCIPvarMarkDeleteGlobalStructures ( SCIP_VAR var)

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

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

Definition at line 17677 of file var.c.

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

Referenced by SCIPremoveVarFromGlobalStructures(), SCIPvarMarkNotDeletable(), and solveAndEvalSubscip().

◆ SCIPvarIsActive()

SCIP_Bool SCIPvarIsActive ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 17749 of file var.c.

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

Referenced by addCliqueDataEntry(), addCliques(), addConsToOccurList(), applyFixings(), applyGenVBounds(), applyProbing(), binvarGetActiveProbindex(), branchruledataEnsureArraySize(), calcCliquePartitionGreedy(), checkForOverlapping(), checkLocksAndRes(), checkRedundantCons(), checkSystemGF2(), cliquePresolve(), cliquesSearchClique(), cliquetableGetNodeIndexBinvar(), collectCliqueData(), conflictAddBound(), conflictAnalyze(), conflictCreateReconvergenceConss(), conflictResolveBound(), createAndSplitProblem(), createCoveringProblem(), createNAryBranch(), createSolFromNLP(), createSolFromSubScipSol(), createSubproblem(), createSubSCIP(), cutsRoundMIR(), decompGetConsVarsAndLabels(), dfs(), dualPresolving(), extractGates(), findAggregation(), freeSubSCIP(), getActiveVar(), getLinVarsAndAndRess(), getMaxactImplicObjchg(), getRandomVariable(), GUBsetCalcCliquePartition(), heurdataEnsureArraySize(), initData(), initTCliquegraph(), liftCliqueVariables(), mergeMultiples(), nlpAddVars(), nlpRemoveFixedVar(), nlpSetupNlpiIndices(), nlrowAddLinearCoef(), nlrowRemoveFixedLinearCoefPos(), nlrowRemoveFixedVar(), performBoundSubstitution(), preprocessCliques(), preprocessConstraintPairs(), presolRoundIndicator(), propagateCons(), propagateVbounds(), removeConstraintsDueToNegCliques(), removeFixedVariables(), resolvePropagationCoretimes(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_EXPR_MAPEXPR(), SCIP_DECL_EXPRSIMPLIFY(), SCIP_DECL_HASHKEYVAL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PROBCOPY(), SCIP_DECL_SEPAEXECLP(), SCIPaddVarImplication(), SCIPcalcCliquePartition(), SCIPcliquetableComputeCliqueComponents(), SCIPcomputeDecompVarsLabels(), SCIPconflictAddBound(), SCIPconflictAddRelaxedBound(), SCIPconflictIsVarUsed(), SCIPcreateConsOrbitope(), SCIPgetReoptOldObjCoef(), SCIPhaveVarsCommonClique(), SCIPimplicsAdd(), SCIPnlrowAddLinearCoef(), SCIPnlrowDelLinearCoef(), SCIPprimalTransformSol(), SCIPreoptMergeVarHistory(), SCIPreoptUpdateVarHistory(), SCIPseparateRelaxedKnapsack(), SCIPsolLinkNLPSol(), SCIPtreeBranchVar(), SCIPtreeBranchVarHole(), SCIPtreeBranchVarNary(), SCIPupdateVarPseudocostSymmetric(), SCIPvarAddImplic(), SCIPvarAddObj(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarChgObj(), SCIPvarCompareActiveAndNegated(), SCIPvarGetClosestVlb(), SCIPvarGetClosestVub(), SCIPvarGetImplBounds(), SCIPvarGetImplIds(), SCIPvarGetImplRedcost(), SCIPvarGetImplTypes(), SCIPvarGetImplVars(), SCIPvarGetLastBdchgIndex(), SCIPvarGetLbchgInfo(), SCIPvarGetNImpls(), SCIPvarGetUbchgInfo(), SCIPvarHasImplic(), SCIPvariablegraphBreadthFirst(), SCIPvarIsDeletable(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarsHaveCommonClique(), SCIPvarWasFixedEarlier(), SCIPwriteGms(), selectInitialVariableRandomly(), shortenConss(), solveComponent(), sortVariables(), tarjan(), tcliquegraphAddNode(), tightenVariables(), tryUpgradingXor(), updateBestCandidate(), varAddImplic(), varAddTransitiveBinaryClosureImplic(), varAddTransitiveImplic(), varIncRootboundchgs(), varMayRoundDown(), varMayRoundUp(), and writeOpbRelevantAnds().

◆ SCIPvarGetIndex()

int SCIPvarGetIndex ( SCIP_VAR var)

gets unique index of variable

Parameters
varproblem variable

Definition at line 17759 of file var.c.

References SCIP_Var::index, NULL, and SCIPvarGetProbindex().

Referenced by addAdjacentVars(), addProductVars(), applyProbing(), calcSignature(), checkForOverlapping(), cliquesSearchClique(), componentSetupWorkingSol(), computeConsAndDataChanges(), conflictsetAddBound(), conflictsetAddBounds(), consdataCalcSignature(), consdataGetFeasibility(), correctLocksAndCaptures(), correctPresoldata(), createAltLPColumn(), createPresoldata(), createTcliqueGraph(), detectProductsUnconditional(), evaluateValueCand(), extractGates(), getAdjacentVars(), getFactorizedBinaryQuadraticExpr(), getHashmapKey(), getLinVarsAndAndRess(), initConcsolver(), initConflictgraph(), liftCliqueVariables(), printNLRow(), propagateCons(), removeRedundantConstraints(), reoptSaveNewObj(), reoptSimilarity(), SCIP_DECL_CONSINIT(), SCIP_DECL_EXPRCOMPARE(), SCIP_DECL_EXPRHASH(), SCIP_DECL_HASHKEYEQ(), SCIP_DECL_HASHKEYVAL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_SORTINDCOMP(), SCIP_DECL_SORTPTRCOMP(), SCIPcliqueSearchVar(), SCIPgetConcurrentVaridx(), SCIPgetReoptOldObjCoef(), SCIPisPackingPartitioningOrbitope(), SCIPreoptMergeVarHistory(), SCIPreoptUpdateVarHistory(), SCIPsolGetVal(), SCIPsolIncVal(), SCIPsolMarkPartial(), SCIPsolRound(), SCIPsolSetVal(), SCIPvarCompareActiveAndNegated(), SCIPvarIsActive(), solGetArrayVal(), solIncArrayVal(), solSetArrayVal(), solUnlinkVar(), solveClassification(), solveMinIISC(), sortVariables(), tiebreakAggrCand(), tryAddGadgetSquaredDifference(), tryUpgradingLogicor(), tryUpgradingSetppc(), tryUpgradingXor(), and writeOpbObjective().

◆ SCIPvarGetProbindex()

int SCIPvarGetProbindex ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 17769 of file var.c.

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

Referenced by addGLSCliques(), addNextLevelCliques(), addRow(), alnsFixMoreVariables(), alnsUnfixVariables(), applyRepair(), binvarGetActiveProbindex(), branchruledataAddBoundChangeVar(), branchruledataEnsureArraySize(), branchruledataPopBoundChangeVar(), branchruledataUpdateCurrentBounds(), buildBlockGraph(), calcSignature(), checkRedundancy(), collectBinaryCliqueData(), collectNonBinaryImplicationData(), collectNonBinaryVBoundData(), computeAlternativeBounds(), computeCut(), computeMIRForOptimalityCut(), conflictAnalyzeLP(), constructCompression(), constructSNFRelaxation(), createCGCutDirect(), createCoveringProblem(), createEdgesFromRow(), createRows(), createSubproblem(), createSubSCIP(), createTcliqueGraph(), cutsRoundMIR(), cutsRoundStrongCG(), detectImpliedBounds(), determineBestBounds(), determineBoundForSNF(), dfs(), ensureScoresPresent(), execRelpscost(), executeBranchingRecursive(), fillDigraph(), fillVariableGraph(), filterCandidates(), findBestLb(), findBestUb(), forbidFixation(), freeMemory(), freeSubSCIP(), generateAverageNBRay(), getClosestVlb(), getClosestVub(), getMaxactImplicObjchg(), getMaxActivity(), getMinActivity(), getNodeIdx(), heurdataAddBoundChangeVar(), heurdataEnsureArraySize(), heurdataFreeArrays(), heurdataUpdateCurrentBounds(), initLP(), insertIndex(), insertSortedRootNeighbors(), isNeighbor(), isUseOldBranching(), isVariableInNeighborhood(), LNSFixMoreVariables(), LNSUnfixVariables(), lpUpdateVarColumn(), lpUpdateVarColumnProved(), lpUpdateVarLoose(), lpUpdateVarLooseProved(), lpUpdateVarProved(), mergeMultiples(), mod2MatrixAddCol(), packingUpgrade(), performBoundSubstitution(), printLinearCons(), printRow(), probInsertVar(), probRemoveVar(), processNlRow(), reoptCheckLocalRestart(), rowAddCoef(), rowCalculateGauss(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SORTINDCOMP(), SCIP_DECL_SORTPTRCOMP(), SCIPaddPricedVar(), SCIPaddSymgraphVarAggregation(), SCIPaddVar(), SCIPaggrRowAddObjectiveFunction(), SCIPaggrRowCancelVarWithBound(), SCIPaggrRowGetMinActivity(), SCIPaggrRowPrint(), SCIPapplyHeurSubNlp(), SCIPapplyLockFixings(), SCIPchgVarName(), SCIPchgVarType(), SCIPcolCreate(), SCIPeventProcess(), SCIPextendPermsymDetectionGraphLinear(), SCIPfixSymgraphVarnode(), SCIPgetSymgraphVarnodeidx(), SCIPlpGetPrimalRay(), SCIPlpSumRows(), SCIPlpUpdateAddVar(), SCIPlpUpdateDelVar(), SCIPlpUpdateVarLb(), SCIPlpUpdateVarObj(), SCIPlpUpdateVarUb(), SCIPpricestoreApplyVars(), SCIPprimalTransformSol(), SCIPprobAddVar(), SCIPprobAddVarName(), SCIPprobChgVarType(), SCIPprobDelVar(), SCIPprobFree(), SCIPprobPerformVarDeletions(), SCIPprobVarChangedStatus(), SCIPrunBoundHeuristic(), SCIPseparateRelaxedKnapsack(), SCIPshrinkDisjunctiveVarSet(), SCIPsolRetransform(), SCIPtreeBranchVar(), SCIPtreeBranchVarHole(), SCIPtreeBranchVarNary(), SCIPundoBdchgsProof(), SCIPvarGetImplRedcost(), SCIPvarGetIndex(), SCIPvariablegraphBreadthFirst(), SCIPvarRemove(), SCIPwriteCliqueGraph(), selectInitialVariableRandomly(), selectNextVariable(), selectOrbitLeaderSSTConss(), selectShifting(), separateCuts(), separateGLS(), separateHeur(), solveSubNLP(), sortFirstCandidatesByScore(), tarjan(), tightenDualproof(), tightenVariables(), transformNonIntegralRow(), and varProcessBoundChanges().

◆ SCIPvarGetTransVar()

◆ SCIPvarGetCol()

SCIP_COL* SCIPvarGetCol ( SCIP_VAR var)

gets column of COLUMN variable

Parameters
varproblem variable

Definition at line 17790 of file var.c.

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

Referenced by addBdchg(), addCols(), addFracCounter(), analyzeStrongbranch(), branchcandCalcLPCands(), calcBdchgScore(), calcBranchScore(), calcShiftVal(), calculateBounds(), checkConstraintMatching(), colCalcInternalFarkasCoef(), colCalcInternalRedcost(), computeCut(), constructLPPos2ConsPosMap(), countBasicVars(), createCGCutCMIR(), determineBound(), determineVariableFixings(), filterExistingLP(), findVertexAndGetRays(), generateAverageRay(), getDualBranchscore(), getImplVarRedcost(), getNActiveConsScore(), getTableauRows(), initLP(), lpFlushAddCols(), lpFlushChgCols(), markRowsXj(), relaxVar(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), SCIPapplyLockFixings(), SCIPcolCalcFarkasCoef(), SCIPcolCalcRedcost(), SCIPcolChgLb(), SCIPcolChgObj(), SCIPcolChgUb(), SCIPcolGetStrongbranch(), SCIPcolGetStrongbranches(), SCIPcolInvalidateStrongbranchData(), SCIPcolSetStrongbranchData(), SCIPeventProcess(), SCIPgetVarFarkasCoef(), SCIPgetVarNStrongbranchs(), SCIPgetVarRedcost(), SCIPgetVarsStrongbranchesFrac(), SCIPgetVarsStrongbranchesInt(), SCIPgetVarStrongbranchFrac(), SCIPgetVarStrongbranchInt(), SCIPgetVarStrongbranchLast(), SCIPgetVarStrongbranchLPAge(), SCIPgetVarStrongbranchNode(), SCIPgetVarStrongbranchWithPropagation(), SCIPlpAddCol(), SCIPlpEndDive(), SCIPlpMarkFlushed(), SCIPlpShrinkCols(), SCIPlpStartDive(), SCIPlpSumRows(), SCIPpricestoreAddProbVars(), SCIPpricestoreApplyVars(), SCIPprobUpdateBestRootSol(), SCIPreoptApplyCuts(), SCIProwCalcIntegralScalar(), SCIPsetVarStrongbranchData(), SCIPsolAdjustImplicitSolVals(), SCIPvarGetImplRedcost(), SCIPvarGetTransVar(), setupAggregationData(), shiftValues(), storeDenseTableauRowsByColumns(), tryFixVar(), updateActivities(), updateRowActivities(), updateSlacks(), varColCompare(), and varProcessBoundChanges().

◆ SCIPvarIsInLP()

SCIP_Bool SCIPvarIsInLP ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 17801 of file var.c.

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

Referenced by COLORprobPrintStableSets(), focusnodeCleanupVars(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PRICERFARKAS(), SCIPselectVarPseudoStrongBranching(), SCIPundoBdchgsProof(), SCIPvarGetCol(), and setupAggregationData().

◆ SCIPvarGetAggrVar()

◆ SCIPvarGetAggrScalar()

◆ SCIPvarGetAggrConstant()

◆ SCIPvarGetMultaggrNVars()

◆ SCIPvarGetMultaggrVars()

◆ SCIPvarGetMultaggrScalars()

◆ SCIPvarGetMultaggrConstant()

◆ SCIPvarGetNegatedVar()

◆ SCIPvarGetNegationVar()

◆ SCIPvarGetNegationConstant()

SCIP_Real SCIPvarGetNegationConstant ( SCIP_VAR var)

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

Parameters
varnegated problem variable

Definition at line 17916 of file var.c.

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

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

◆ SCIPvarGetObj()

SCIP_Real SCIPvarGetObj ( SCIP_VAR var)

gets objective function value of variable

Parameters
varproblem variable

Definition at line 17927 of file var.c.

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

Referenced by addBoundViolated(), addConflictBinvar(), addConflictBounds(), addConstraintToBendersSubproblem(), addObjcut(), addScenarioVarsToProb(), addSymmetryInformation(), addTrustRegionConstraints(), adjustCutoffbound(), applyAlternativeBoundsBranching(), applyCliqueFixings(), applyOptcumulative(), applyOptcumulativeFixings(), applyRepair(), applyVboundsFixings(), BENDERS_CUTORACLE(), calcShiftVal(), catchObjEvent(), changeSubvariableObjective(), checkConsQuadraticProblem(), checkDivingCandidates(), checkSystemGF2(), chooseFracVar(), chooseGuidedVar(), chooseVeclenVar(), collectMinactImplicVar(), collectMinactImplicVars(), collectMinactVar(), compareVars(), compareVarsSignedPerm(), compensateVarLock(), componentSetupWorkingSol(), computeStandardLPOptimalityCut(), computeStandardNLPOptimalityCut(), createBlockproblem(), createCGCutDirect(), createNewSol(), createObjRow(), createSubproblem(), createSubproblems(), createSubSCIP(), dropObjEvent(), dualBoundStrengthening(), dualPresolving(), evaluateValueCand(), findComponents(), findDominancePairs(), findDownlockAggregations(), findFixings(), findUnlockedLinearVar(), findUplockAggregations(), fixIntegerVariable(), generateAndApplyBendersCuts(), generateObjectiveRay(), getConflictImplics(), getMaxactImplicObjchg(), getMinactImplicObjchg(), getObjectiveFactor(), getPotential(), getScoreOfFarkasDiving(), getVariable(), infinityCountUpdate(), initSolve(), isSingleLockedCand(), isVlb(), isVub(), lpUpdateVarColumn(), lpUpdateVarColumnProved(), lpUpdateVarLoose(), lpUpdateVarLooseProved(), nlpAddVars(), nlpDelVarPos(), nlpFlushObjective(), nlpFlushVarAdditions(), nlpSolve(), nlpUpdateObjCoef(), objimplicsCreate(), optimize(), performDualfix(), performRandRounding(), performSimpleRounding(), predBndStr(), printPBRow(), propagateCons(), propagateCutoffboundGlobally(), propagateLowerboundVar(), propIndicator(), readObjective(), readOPBFile(), recomputeGlbPseudoObjectiveValue(), recomputeLooseObjectiveValue(), recomputePseudoObjectiveValue(), removeDoubleAndSingletonsAndPerformDualpresolve(), reoptSaveNewObj(), resolvePropagation(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_DIVESETGETSCORE(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_SORTPTRCOMP(), SCIPaggrRowAddObjectiveFunction(), SCIPapplyHeurDualval(), SCIPapplyLockFixings(), SCIPapplyProximity(), SCIPbendersMergeSubproblemIntoMaster(), SCIPchgReoptObjective(), SCIPchgVarObjProbing(), SCIPcolCreate(), SCIPconflictAnalyzePseudo(), SCIPcreateConsOrbitope(), SCIPcreateNlpiProblemFromNlRows(), SCIPincludePresolMILP(), SCIPisObjIntegral(), SCIPlpEndDive(), SCIPlpGetModifiedProvedPseudoObjval(), SCIPlpGetModifiedPseudoObjval(), SCIPlpRecomputeLocalAndGlobalPseudoObjval(), SCIPlpStartDive(), SCIPlpUpdateAddVar(), SCIPlpUpdateDelVar(), SCIPlpUpdateVarLb(), SCIPlpUpdateVarLbGlobal(), SCIPlpUpdateVarUb(), SCIPlpUpdateVarUbGlobal(), SCIPnlpChgVarObjDive(), SCIPnlpGetPseudoObjval(), SCIPnodeAddBoundinfer(), SCIPnodeAddHoleinfer(), SCIPprobAddVar(), SCIPprobCheckObjIntegral(), SCIPprobGetAbsMaxObjCoef(), SCIPprobGetAbsMinObjCoef(), SCIPprobGetNObjVars(), SCIPprobPerformVarDeletions(), SCIPprobScaleObj(), SCIPpropagateCutoffboundVar(), SCIPsolRetransform(), SCIPtreeBranchVar(), SCIPvarCopy(), SCIPvarGetAggregatedObj(), SCIPvarGetNegationConstant(), SCIPvarMarkRelaxationOnly(), SCIPwriteGms(), SCIPwriteLp(), SCIPwriteMps(), SCIPwritePip(), selectEssentialRounding(), selectRounding(), selectShifting(), setupAndSolveSubscip(), setupSubproblem(), setupSubScip(), singletonColumnStuffing(), solCutIsViolated(), solveAndEvalSubscip(), solveCoveringProblem(), solveCumulative(), solveIndependentCons(), tiebreakAggrCand(), transformColumn(), updateBestCandidate(), updateLambda(), updateVariableRounding(), varGetObjDelta(), varMayRoundDown(), varMayRoundUp(), writeExpandedSolutions(), writeFzn(), writeOpbConstraints(), and writeOpbObjective().

◆ SCIPvarGetUnchangedObj()

SCIP_Real SCIPvarGetUnchangedObj ( SCIP_VAR var)

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

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

Parameters
varproblem variable

Definition at line 17937 of file var.c.

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

Referenced by computeStandardLPOptimalityCut(), computeStandardNLPOptimalityCut(), SCIPcolChgObj(), SCIPcolCreate(), SCIPsolAdjustImplicitSolVals(), SCIPsolCheck(), SCIPsolIncVal(), SCIPsolLinkLPSol(), SCIPsolLinkNLPSol(), SCIPsolPrint(), SCIPsolPrintRay(), SCIPsolRecomputeObj(), SCIPsolRetransform(), SCIPsolRound(), SCIPsolSetVal(), and SCIPvarGetObj().

◆ SCIPvarGetLbOriginal()

◆ SCIPvarGetUbOriginal()

◆ SCIPvarGetHolelistOriginal()

SCIP_HOLELIST* SCIPvarGetHolelistOriginal ( SCIP_VAR var)

gets the original hole list of an original variable

Parameters
varproblem variable

Definition at line 18065 of file var.c.

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

Referenced by SCIPvarGetUbOriginal(), and SCIPvarPrint().

◆ SCIPvarGetLbGlobal()

SCIP_Real SCIPvarGetLbGlobal ( SCIP_VAR var)

gets global lower bound of variable

Parameters
varproblem variable

Definition at line 18079 of file var.c.

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

Referenced by addAltLPColumn(), addComponent(), addConflictBinvar(), addConflictBounds(), addConstraintToBendersSubproblem(), addCut(), addFixedVarsConss(), addGlobalCut(), addLocalBranchingConstraint(), addLowerboundCons(), addRltTerm(), addSplitcons(), addSymmetryInformation(), adjustCutoffbound(), adjustOversizedJobBounds(), aggregation(), alnsFixMoreVariables(), analyzeEnergyRequirement(), analyzeStrongbranch(), applyFixings(), applyGenVBound(), applyImplic(), applyRepair(), assignVars(), boundchgApplyGlobal(), buildMod2Matrix(), calcShiftVal(), calculateBounds(), cancelCol(), catchEventBinvar(), checkCounters(), checkGlbfirstnonfixed(), checkIISlocal(), checkImplic(), checkOverloadViaThetaTree(), checkRedundancy(), checkRedundancySide(), checkSolution(), checkSystemGF2(), chgCoeffWithBound(), chgQuadCoeffWithBound(), cliqueCleanup(), cliquePresolve(), cliquesSearchClique(), collectBinaryCliqueData(), collectMinactImplicVar(), collectMinactImplicVars(), collectNonBinaryImplicationData(), collectNonBinaryVBoundData(), collectVars(), compareVars(), compareVarsSignedPerm(), compensateVarLock(), componentSetupWorkingSol(), computeCut(), computeEnergyContribution(), computeIntegerVariableBounds(), computeIntegerVariableBoundsDins(), computeMaxEnergy(), computeOffValues(), computeRanks(), computeRltCut(), computeStandardLPFeasibilityCut(), conflictAnalyze(), consdataCreate(), consdataCreateBinvars(), consdataCreateRedundant(), consdataDeletePos(), consdataFree(), consdataGetFeasibility(), consdataGetReliableResidualActivity(), consdataLinearize(), consdataPrint(), consdataUpdateDelCoef(), constructSNFRelaxation(), createAuxVar(), createBlockproblem(), createConflictCons(), createCoveringProblem(), createIndicatorConstraint(), createKKTComplementarityBounds(), createKKTDualCons(), createObjRow(), createProjRow(), createSolFromSubScipSol(), createSortedEventpoints(), createSubSCIP(), createSubscip(), createVarboundCons(), cutsRoundMIR(), cutsRoundStrongCG(), cutTightenCoefs(), cutTightenCoefsQuad(), DECL_CHANGESUBSCIP(), detectHiddenProducts(), detectImplications(), detectImpliedBounds(), determineBestBounds(), determineBound(), determineVariableFixings(), dfs(), doSolveSubMIP(), dropEventBinvar(), dualBoundStrengthening(), dualPresolve(), dualPresolving(), enfopsCons(), estimateBivariateQuotient(), estimateConvexSecant(), estimateGradient(), estimateUnivariateQuotient(), extractLinearValues(), filterExistingLP(), findAggregation(), findBestLb(), findDominancePairs(), findDownlockAggregations(), findUncapacitatedArcs(), findUplockAggregations(), fixDiscreteVars(), fixIntegerVariableUb(), fixVariables(), focusnodeCleanupVars(), forbidFixation(), freeMemory(), generateAndApplyBendersIntegerCuts(), generateBoundInequalityFromSOS1Nodes(), generateRowCardinality(), generateRowSOS2(), generateZerohalfCut(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), getClosestVub(), getCorner(), getDomainCenter(), getFixVal(), getGenVBoundsMinActivity(), getMaxactImplicObjchg(), getMaxActivity(), getMinactImplicObjchg(), getMinActivity(), getObjectiveFactor(), getPotential(), getPotentialContributed(), getSolutionValues(), handleNewVariableCardinality(), handleNewVariableSOS1(), identifyOrbitalSymmetriesBroken(), implBndToBigM(), infinityCountUpdate(), isBoundchgUseless(), isCandidate(), isSingleLockedCand(), isVlb(), isVub(), LNSFixMoreVariables(), lockVariableCardinality(), lockVariableSOS2(), markRowsXj(), mcfnetworkFill(), objimplicsCreate(), optimize(), performDualfix(), predBndStr(), preprocessConstraintPairs(), presolRoundIndicator(), presolRoundSOS2(), presolveAddKKTAggregatedVars(), presolveConsEffectiveHorizon(), presolveConsEst(), presolveConsLct(), presolveCumulativeCondition(), presolveSingleLockedVars(), proofsetCancelVarWithBound(), propagateBinaryBestRootRedcost(), propagateCutoffboundGlobally(), propagateCutoffboundVar(), propagateLongProof(), propagateLowerboundVar(), propagateRootRedcostVar(), propagateVbounds(), proposeFeasibleSolution(), readBinaries(), readBounds(), readGenerals(), readSemicontinuous(), readSol(), reboundIntegerVariables(), recomputeGlbPseudoObjectiveValue(), relaxVar(), removeDoubleAndSingletonsAndPerformDualpresolve(), removeFixedVariables(), removeIrrelevantJobs(), removeZeros(), removeZerosQuad(), resolveGenVBoundPropagation(), resolvePropagationCoretimes(), restrictToBinaryBounds(), rowFindSlackVar(), rowprepCleanupImproveCoefrange(), rowprepCleanupIntegralCoefs(), rowScale(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_CONCSOLVERSYNCREAD(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSENABLE(), SCIP_DECL_CONSGETSIGNEDPERMSYMGRAPH(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSLOCK(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPR_INTEVALVAR(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_NLHDLRESTIMATE(), SCIP_DECL_NLHDLRINITSEPA(), SCIP_DECL_NLHDLRSOLLINEARIZE(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_SORTINDCOMP(), SCIPaddVarImplication(), SCIPaggrRowCancelVarWithBound(), SCIPaggrRowGetMinActivity(), SCIPapplyHeurDualval(), SCIPapplyHeurSubNlp(), SCIPapplyProbingVar(), SCIPapplyProximity(), SCIPapplyUndercover(), SCIPbendersComputeSubproblemLowerbound(), SCIPbranchGetBranchingPoint(), SCIPchgVarLbLazy(), SCIPclassifyConstraintTypesLinear(), SCIPcliqueDelVar(), SCIPcliquetableAdd(), SCIPcomputeVarLbGlobal(), SCIPconflictAddRelaxedBound(), SCIPconflictGetVarLb(), SCIPconsResolvePropagation(), SCIPcreateConsLinking(), SCIPcreateConsOrbitope(), SCIPcreateFiniteSolCopy(), SCIPcutGenerationHeuristicCMIR(), SCIPcutsTightenCoefficients(), SCIPgetSymActiveVariables(), SCIPimplicsAdd(), SCIPincludePresolMILP(), SCIPlpRecomputeLocalAndGlobalPseudoObjval(), SCIPlpUpdateVarObj(), SCIPmatrixCreate(), SCIPmatrixPrintRow(), SCIPmergeRowprepTerms(), SCIPnodeAddBoundinfer(), SCIPpropResolvePropagation(), SCIPreoptSaveGlobalBounds(), SCIPseparateRelaxedKnapsack(), SCIPshrinkDisjunctiveVarSet(), SCIPsolAdjustImplicitSolVals(), SCIPsolCheck(), SCIPsolGetRayVal(), SCIPsolGetVal(), SCIPsolSetVal(), SCIPtightenVarLbGlobal(), SCIPtightenVarUbGlobal(), SCIPundoBdchgsProof(), SCIPvarAddHoleGlobal(), SCIPvarAddImplic(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarCopy(), SCIPvarGetHolelistOriginal(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetMultaggrUbGlobal(), SCIPvarGetNLPSol_rec(), SCIPvarGetRelaxSol(), SCIPvarPrint(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarUpdateBestRootSol(), SCIPvisualizeConsCumulative(), SCIPwriteBnd(), SCIPwriteLp(), selectShifting(), sepaImplBoundCutsSOS1(), separateCuts(), separatePerspective(), sepastoreApplyLb(), sepastoreApplyUb(), sepastoreIsBdchgApplicable(), setSymmetryData(), setupAggregationData(), setupAndSolveCumulativeSubscip(), setupAndSolveSubscip(), setupAndSolveSubscipRapidlearning(), shiftValues(), singletonColumnStuffing(), skipRedundantBdchginfos(), solveAndEvalSubscip(), solveClassification(), solveComponent(), solveCumulative(), solveLp(), solveMinIISC(), solveSubNLP(), sortAndMergeClique(), termIsConstant(), tightenBounds(), tightenCoefs(), tightenDualproof(), tightenSingleVar(), tightenVariables(), tightenVarUb(), transformDualredsToBounddisjunction(), transformNonIntegralRow(), treeAddPendingBdchg(), tryAdd2variableBuffer(), tryAddGadgetBilinearProductSignedPerm(), tryAddGadgetSquaredDifference(), tryFixVar(), tryUpgradingXor(), unlockVariableCardinality(), unlockVariableSOS2(), updateAuxiliaryVarLowerbound(), updateFirstRow(), updateFirstRowGlobal(), updateSlacks(), updateSubproblemCutConstant(), varAddImplic(), varAddVbound(), varIncRootboundchgs(), varIsCenteredAt0(), varIsFixed(), varIsSemicontinuous(), and varProcessAddHoleGlobal().

◆ SCIPvarGetUbGlobal()

SCIP_Real SCIPvarGetUbGlobal ( SCIP_VAR var)

gets global upper bound of variable

Parameters
varproblem variable

Definition at line 18089 of file var.c.

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

Referenced by addAltLPColumn(), addComponent(), addConflictBinvar(), addConflictBounds(), addConflictReasonVars(), addConstraintToBendersSubproblem(), addCut(), addFixedVarsConss(), addGlobalCut(), addLocalBranchingConstraint(), addRltTerm(), addSplitcons(), addSymmetryInformation(), adjustCutoffbound(), adjustOversizedJobBounds(), aggregation(), alnsFixMoreVariables(), analyzeEnergyRequirement(), analyzeStrongbranch(), applyFixings(), applyGenVBound(), applyImplic(), applyRepair(), applyZeroFixings(), assignVars(), boundchgApplyGlobal(), buildMod2Matrix(), calcShiftVal(), calculateBounds(), cancelCol(), catchEventBinvar(), checkCounters(), checkGlbfirstnonfixed(), checkIISlocal(), checkImplic(), checkOverloadViaThetaTree(), checkRedundancy(), checkRedundancySide(), checkSolution(), checkSystemGF2(), chgCoeffWithBound(), chgQuadCoeffWithBound(), cliqueCleanup(), cliquePresolve(), cliquesSearchClique(), collectActivities(), collectBinaryCliqueData(), collectBinaryVars(), collectDemands(), collectEstLst(), collectMinactImplicVar(), collectMinactImplicVars(), collectNonBinaryImplicationData(), collectNonBinaryVBoundData(), collectVars(), compareVars(), compareVarsSignedPerm(), compensateVarLock(), componentSetupWorkingSol(), computeCut(), computeEnergyContribution(), computeIntegerVariableBounds(), computeIntegerVariableBoundsDins(), computeMaxEnergy(), computeOffValues(), computeRanks(), computeRltCut(), computeStandardLPFeasibilityCut(), conflictAnalyze(), consdataCreate(), consdataCreateBinvars(), consdataCreateRedundant(), consdataDeletePos(), consdataGetFeasibility(), consdataGetReliableResidualActivity(), consdataLinearize(), consdataPrint(), consdataUpdateDelCoef(), constructSNFRelaxation(), createAuxVar(), createBlockproblem(), createCoveringProblem(), createIndicatorConstraint(), createKKTComplementarityBounds(), createKKTDualCons(), createProjRow(), createSortedEventpoints(), createSubSCIP(), createSubscip(), createVarboundCons(), createVarUbs(), cutsRoundMIR(), cutsRoundStrongCG(), cutTightenCoefs(), cutTightenCoefsQuad(), DECL_CHANGESUBSCIP(), detectHiddenProducts(), detectImplications(), detectImpliedBounds(), determineBestBounds(), determineBound(), determineVariableFixings(), dfs(), doSolveSubMIP(), dropEventBinvar(), dualBoundStrengthening(), dualPresolve(), dualPresolving(), enfopsCons(), estimateBivariateQuotient(), estimateConvexSecant(), estimateGradient(), estimateUnivariateQuotient(), extractLinearValues(), filterExistingLP(), findAggregation(), findBestUb(), findDominancePairs(), findDownlockAggregations(), findFixings(), findUncapacitatedArcs(), findUplockAggregations(), fixDiscreteVars(), fixIntegerVariableUb(), fixTriangle(), fixVariables(), focusnodeCleanupVars(), forbidFixation(), freeMemory(), generateBoundInequalityFromSOS1Nodes(), generateRowCardinality(), generateRowSOS2(), generateZerohalfCut(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), getClosestVlb(), getCorner(), getDomainCenter(), getFixVal(), getGenVBoundsMinActivity(), getMaxactImplicObjchg(), getMaxActivity(), getMinactImplicObjchg(), getMinActivity(), getObjectiveFactor(), getPotential(), getPotentialContributed(), getSolutionValues(), handleNewVariableCardinality(), handleNewVariableSOS1(), identifyOrbitalSymmetriesBroken(), implBndToBigM(), infinityCountUpdate(), isBoundchgUseless(), isCandidate(), isSingleLockedCand(), LNSFixMoreVariables(), lockVariableCardinality(), lockVariableSOS2(), markRowsXj(), mcfnetworkFill(), objimplicsCreate(), optimize(), performDualfix(), predBndStr(), preprocessConstraintPairs(), presolRoundIndicator(), presolRoundSOS2(), presolveAddKKTAggregatedVars(), presolveConsEffectiveHorizon(), presolveConsEst(), presolveConsLct(), presolveCumulativeCondition(), presolveSingleLockedVars(), printIndicatorCons(), proofsetCancelVarWithBound(), propagateBinaryBestRootRedcost(), propagateCons(), propagateCutoffboundGlobally(), propagateCutoffboundVar(), propagateLongProof(), propagateLowerboundVar(), propagateRootRedcostVar(), propagateVbounds(), proposeFeasibleSolution(), readBinaries(), readBounds(), readGenerals(), readSol(), reboundIntegerVariables(), recomputeGlbPseudoObjectiveValue(), relaxVar(), removeFixedVariables(), removeIrrelevantJobs(), removeZeros(), removeZerosQuad(), resolveGenVBoundPropagation(), resolvePropagationCoretimes(), restrictToBinaryBounds(), rowFindSlackVar(), rowprepCleanupImproveCoefrange(), rowprepCleanupIntegralCoefs(), rowScale(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_CONCSOLVERSYNCREAD(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSGETSIGNEDPERMSYMGRAPH(), SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSLOCK(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPR_INTEVALVAR(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_NLHDLRESTIMATE(), SCIP_DECL_NLHDLRINITSEPA(), SCIP_DECL_NLHDLRSOLLINEARIZE(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_SOLVECUMULATIVE(), SCIP_DECL_SORTINDCOMP(), SCIPaddVarImplication(), SCIPaggrRowCancelVarWithBound(), SCIPaggrRowGetMinActivity(), SCIPapplyHeurDualval(), SCIPapplyHeurSubNlp(), SCIPapplyProbingVar(), SCIPapplyProximity(), SCIPbranchGetBranchingPoint(), SCIPchgVarUbLazy(), SCIPclassifyConstraintTypesLinear(), SCIPcliqueDelVar(), SCIPcliquetableAdd(), SCIPcomputeVarUbGlobal(), SCIPconflictAddRelaxedBound(), SCIPconflictGetVarUb(), SCIPconsResolvePropagation(), SCIPcreateConsLinking(), SCIPcreateConsOrbitope(), SCIPcreateFiniteSolCopy(), SCIPcutGenerationHeuristicCMIR(), SCIPcutsTightenCoefficients(), SCIPgetSymActiveVariables(), SCIPimplicsAdd(), SCIPincludePresolMILP(), SCIPlpRecomputeLocalAndGlobalPseudoObjval(), SCIPlpUpdateVarObj(), SCIPmatrixCreate(), SCIPmatrixPrintRow(), SCIPmergeRowprepTerms(), SCIPnodeAddBoundinfer(), SCIPpropResolvePropagation(), SCIPreoptSaveGlobalBounds(), SCIPseparateRelaxedKnapsack(), SCIPshrinkDisjunctiveVarSet(), SCIPsolAdjustImplicitSolVals(), SCIPsolCheck(), SCIPsolGetRayVal(), SCIPsolGetVal(), SCIPtightenVarLbGlobal(), SCIPtightenVarUbGlobal(), SCIPundoBdchgsProof(), SCIPvarAddHoleGlobal(), SCIPvarAddImplic(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarCopy(), SCIPvarGetLbGlobal(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetMultaggrUbGlobal(), SCIPvarGetNLPSol_rec(), SCIPvarGetProbvarBinary(), SCIPvarGetRelaxSol(), SCIPvarPrint(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvarUpdateBestRootSol(), SCIPvisualizeConsCumulative(), SCIPwriteBnd(), SCIPwriteLp(), selectShifting(), sepaImplBoundCutsSOS1(), separateCuts(), separateIndicators(), separatePerspective(), sepastoreApplyLb(), sepastoreApplyUb(), sepastoreIsBdchgApplicable(), setSymmetryData(), setupAggregationData(), setupAndSolveCumulativeSubscip(), setupAndSolveSubscip(), setupAndSolveSubscipRapidlearning(), shiftValues(), singletonColumnStuffing(), skipRedundantBdchginfos(), solveAndEvalSubscip(), solveClassification(), solveCumulative(), solveLp(), solveMinIISC(), solveSubNLP(), sortAndMergeClique(), termIsConstant(), tightenBounds(), tightenCoefs(), tightenDualproof(), tightenSingleVar(), tightenVariables(), tightenVarLb(), transformDualredsToBounddisjunction(), transformNonIntegralRow(), treeAddPendingBdchg(), tryAdd2variableBuffer(), tryAddGadgetBilinearProductSignedPerm(), tryAddGadgetSquaredDifference(), tryFixVar(), tryUpgradingXor(), unlockVariableCardinality(), unlockVariableSOS2(), updateDistances(), updateFirstRow(), updateFirstRowGlobal(), updateSlacks(), varAddImplic(), varAddVbound(), varIncRootboundchgs(), varIsCenteredAt0(), varIsFixed(), varIsSemicontinuous(), and varProcessAddHoleGlobal().

◆ SCIPvarGetHolelistGlobal()

SCIP_HOLELIST* SCIPvarGetHolelistGlobal ( SCIP_VAR var)

gets the global hole list of an active variable

Parameters
varproblem variable

Definition at line 18099 of file var.c.

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

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

◆ SCIPvarGetBestBoundGlobal()

SCIP_Real SCIPvarGetBestBoundGlobal ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 18109 of file var.c.

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

Referenced by SCIPvarGetHolelistGlobal().

◆ SCIPvarGetWorstBoundGlobal()

SCIP_Real SCIPvarGetWorstBoundGlobal ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 18122 of file var.c.

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

Referenced by initSolve(), and SCIPvarGetBestBoundGlobal().

◆ SCIPvarGetLbLocal()

SCIP_Real SCIPvarGetLbLocal ( SCIP_VAR var)

gets current lower bound of variable

Parameters
varproblem variable

Definition at line 18135 of file var.c.

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

Referenced by addBilinearTermToCut(), addBoundViolated(), addBranchingComplementaritiesSOS1(), addCand(), addCliqueDataEntry(), addColToCut(), addConflictReasonVars(), addExprsViolScore(), addFacetToCut(), addFixedVarsConss(), addLinearTermToCut(), addRelaxation(), addRltTerm(), addSplitcons(), addSSTConssOrbitAndUpdateSST(), analyseInfeasibelCoreInsertion(), analyseOnoffBounds(), analyseVarOnoffBounds(), analyzeConflictOne(), analyzeConflictUpperbound(), analyzeConflictZero(), analyzeEnergyRequirement(), analyzeGenVBoundConflict(), analyzeViolation(), analyzeZeroResultant(), applyAlternativeBoundsBranching(), applyAlternativeBoundsFixing(), applyBdchgs(), applyBoundHeur(), applyCliqueFixings(), applyGenVBound(), applyNlobbt(), applyOptcumulative(), applyOptcumulativeFixings(), applyOrbitalBranchingPropagations(), applyOrbitalReductionPart(), applyProbing(), applyProbingVar(), applyVboundsFixings(), assertIsOrbitopeMatrix(), bilinboundGetLocksPos(), branch(), branchBalancedCardinality(), branchcandCalcLPCands(), branching(), branchruledataUpdateCurrentBounds(), branchUnbalancedCardinality(), buildMod2Matrix(), calcBranchScore(), calculateAlternatives(), catchEvent(), catchEventBinvar(), changeAncestorBranchings(), checkBounddisjunction(), checkCounters(), checkFeasible(), checkForOverlapping(), checkIISlocal(), checkKnapsack(), checkLogicor(), checkOverloadViaThetaTree(), checkRikun(), checkSetupTolerances(), checkSignomialBounds(), checkSolution(), checkSwitchNonoverlappingSOS1Methods(), checkVarbound(), checkVariable(), chgCoeffWithBound(), chgProbingBound(), chgQuadCoeffWithBound(), chooseCoefVar(), chooseDoubleVar(), chooseFracVar(), chooseGuidedVar(), choosePscostVar(), chooseVeclenVar(), collectActivities(), collectBranchingCandidates(), collectBranchingCands(), collectCliqueData(), collectDataTTEF(), collectEstLst(), collectIntVars(), collectSolActivities(), collectSolution(), componentSetupWorkingSol(), computeAlternativeBounds(), computeConvexEnvelopeFacet(), computeCut(), computeEnergyContribution(), computeImpliedEst(), computeImpliedLct(), computeMinDistance(), computeRltCut(), computeStandardLPOptimalityCut(), conflictAnalyzeLP(), consCheckRedundancy(), consdataCheckNonbinvar(), consdataCreate(), consdataCreateRedundant(), consdataGetReliableResidualActivity(), consdataPrint(), consdataRecomputeMaxActivityDelta(), consdataUpdateChgCoef(), consdataUpdateDelCoef(), consFixLinkvar(), constraintNonOverlappingGraph(), coretimesUpdateLb(), coretimesUpdateUb(), countSparseSol(), createCoreProfile(), createCoverCuts(), createCoverCutsTimepoint(), createCoveringProblem(), createNewSol(), createProjRow(), createSelectedSortedEventpointsSol(), createSolFromNLP(), createSolFromSubScipSol(), createSortedEventpoints(), createSubscip(), CUTOFF_CONSTRAINT(), cutsRoundMIR(), cutsRoundStrongCG(), cutTightenCoefs(), cutTightenCoefsQuad(), deleteVarCardinality(), determineBestBounds(), doSeachEcAggr(), doSolveSubMIP(), dropEvent(), dropEventBinvar(), dryBranch(), dualBoundStrengthening(), enforceCardinality(), enforceConflictgraph(), enforceConstraint(), enforceConstraints(), enforceIndicators(), enforceSol(), estimateBivariateQuotient(), estimateVertexPolyhedral(), evalCorner(), execRelpscost(), executeBranchingRecursive(), extractCycle(), extractGates(), filterCands(), filterExistingLP(), findBestLb(), findComponents(), fixAndPropagate(), fixBounds(), fixIntegerVariable(), fixIntegerVariableLb(), fixInterdiction(), fixVariable(), fixVariableZero(), fixVariableZeroNode(), forbidCover(), generateAverageNBRay(), generateBoundInequalityFromSOS1Cons(), generateBoundInequalityFromSOS1Nodes(), generateCloseCutPoint(), generateRowCardinality(), generateRowSOS2(), generateZerohalfCut(), getBoundConsFromVertices(), getClosestVub(), getDiveBdChgsSOS1conflictgraph(), getDiveBdChgsSOS1constraints(), getFixingValue(), getGenVBoundsMinActivity(), getGenVBoundsMinActivityConflict(), getImplVarRedcost(), getIneqViol(), getMaxactImplicObjchg(), getNLPFracVars(), getRandomVariable(), getRelDistance(), getValueScore(), getVarBounds(), getViolSplitWeight(), handle1Cycle(), handleNewVariableCardinality(), handleNewVariableSOS1(), handleNewVariableSOS2(), hasUnfixedSCIndicator(), heurdataUpdateCurrentBounds(), heurExec(), impliesVlbPrecedenceCondition(), improvePoint(), inferboundsEdgeFinding(), inferVariableZero(), initConflictgraph(), initializeSol(), initLP(), initProblem(), initSepa(), isBinaryProduct(), isNonstandardPerm(), isPossibleToComputeCut(), isPseudocostUpdateValid(), isViolatedAndNotFixed(), isViolatedSOS1(), liftCliqueVariables(), lpUpdateVarColumn(), lpUpdateVarColumnProved(), lpUpdateVarLoose(), lpUpdateVarLooseProved(), makeSOS1conflictgraphFeasible(), makeSOS1constraintsFeasible(), markRowsXj(), nlpCalcFracVars(), nlpFlushVarAdditions(), nlpSolve(), nlpUpdateVarBounds(), nlrowCalcActivityBounds(), nodeGetSolvalBinaryBigMSOS1(), nodeGetSolvalVarboundLbSOS1(), notifyNlhdlrNewsol(), orbitalReductionGetSymmetryStabilizerSubgroup(), performBranchingNoSol(), performBranchingSol(), performDualfix(), performFixing(), performRandRounding(), performStrongbranchSOS1(), performStrongbranchWithPropagation(), preprocessCliques(), presolRoundCardinality(), presolRoundConsSOS1(), presolRoundIndicator(), presolRoundSOS2(), presolRoundVarsSOS1(), presolveConsEst(), presolvePropagateCons(), presolveRedundantConss(), printBoundSection(), processBinvarFixings(), processFixings(), processRealBoundChg(), processWatchedVars(), projectVbd(), propagateCons(), propagateCutoffboundBinvars(), propagateCutoffboundVar(), propagateFullOrbitopeCons(), propagateLbTTEF(), propagatePackingPartitioningCons(), propagateRedcostBinvar(), propagateRedcostVar(), propagateRootRedcostBinvar(), propagateStaticOrbitope(), propagateTimetable(), propagateTTEF(), propagateUbTTEF(), propagateVariablePair(), propagateVbounds(), propCardinality(), propConsSOS1(), propIndicator(), propSOS2(), propVariableNonzero(), propVariables(), recomputeLooseObjectiveValue(), recomputePseudoObjectiveValue(), registerBranchingCandidates(), registerBranchingCandidatesAllUnfixed(), removeZeros(), removeZerosQuad(), reoptCheckLocalRestart(), reoptSimilarity(), resolveGenVBoundPropagation(), retransformVariable(), rowCalculateGauss(), rowprepCleanupImproveCoefrange(), rowprepCleanupIntegralCoefs(), rowprepRecordModifiedVar(), sampleRandomPoints(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSENFORELAX(), SCIP_DECL_CONSGETDIVEBDCHGS(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSPROP(), SCIP_DECL_CONSTRANS(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPR_INTEVALVAR(), SCIP_DECL_EXPR_OWNERPRINT(), SCIP_DECL_EXPRINTEVAL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_NLHDLRENFO(), SCIP_DECL_NLHDLRESTIMATE(), SCIP_DECL_PARAMCHGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_RELAXEXEC(), SCIPaddConflictBinvar(), SCIPaggrRowCancelVarWithBound(), SCIPanalyzeDeductionsProbing(), SCIPapplyLockFixings(), SCIPapplyProbingVar(), SCIPbendersSetupSubproblem(), SCIPbranchcandAddExternCand(), SCIPbranchcandGetPseudoCands(), SCIPbranchcandUpdateVar(), SCIPbranchExecExtern(), SCIPbranchExecLP(), SCIPbranchExecPseudo(), SCIPbranchGetBranchingPoint(), SCIPbranchVar(), SCIPbranchVarVal(), SCIPbranchVarValNary(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPchgVarLbNode(), SCIPchgVarLbProbing(), SCIPcolCreate(), SCIPcomputeVarLbLocal(), SCIPconflictAnalyzePseudo(), SCIPconflictAnalyzeRemainingBdchgs(), SCIPconflictAnalyzeStrongbranch(), SCIPcreateNlpiProblemFromNlRows(), SCIPcreateWorstCaseProfile(), SCIPcutGenerationHeuristicCMIR(), SCIPcutsTightenCoefficients(), SCIPexprDismantle(), SCIPfixVar(), SCIPfixVarProbing(), SCIPgetVarLbAtIndex(), SCIPgetVarStrongbranchWithPropagation(), SCIPgetVarWasFixedAtIndex(), SCIPincludePresolMILP(), SCIPinferBinvarCons(), SCIPinferBinvarProp(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPlpEndDive(), SCIPlpRecomputeLocalAndGlobalPseudoObjval(), SCIPlpStartDive(), SCIPlpUpdateVarObj(), SCIPlpUpdateVarUb(), SCIPmakeIndicatorFeasible(), SCIPmergeRowprepTerms(), SCIPnlpEndDive(), SCIPnodeAddBoundinfer(), SCIPnodeAddHoleinfer(), SCIPnodePropagateImplics(), SCIPperformGenericDivingAlgorithm(), SCIPpricestoreAddBdviolvar(), SCIPpricestoreAddProbVars(), SCIPpricestoreAddVar(), SCIPpricestoreResetBounds(), SCIPprobUpdateBestRootSol(), SCIPreoptnodeAddCons(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPseparateRelaxedKnapsack(), SCIPsetBinaryVarIndicator(), SCIPsnprintfProbingStats(), SCIPsolGetRayVal(), SCIPsolGetVal(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPtreeBranchVar(), SCIPtreeBranchVarHole(), SCIPtreeBranchVarNary(), SCIPupdateNlpiProblem(), SCIPvarAddHoleLocal(), SCIPvarChgLbGlobal(), SCIPvarCopy(), SCIPvarGetImplRedcost(), SCIPvarGetLbAtIndex(), SCIPvarGetMultaggrLbLocal(), SCIPvarGetMultaggrUbLocal(), SCIPvarGetNLPSol_rec(), SCIPvarGetRelaxSol(), SCIPvarGetWorstBoundGlobal(), SCIPvarPrint(), SCIPvarWasFixedAtIndex(), SCIPvisualCutoffNode(), SCIPvisualNewChild(), SCIPvisualSolvedNode(), SCIPvisualUpdateChild(), SCIPwriteGms(), SCIPwriteLp(), SCIPwritePip(), scoreBranchingCandidates(), selectBranchVar(), selectNextDiving(), selectVarRecursive(), separateCons(), separateCuts(), separateMcCormickImplicit(), separatePerspective(), sepastoreApplyLb(), sepastoreApplyUb(), sepastoreIsBdchgApplicable(), setupAggregationData(), setupAndSolveFiniteSolSubscip(), setVarToNearestBound(), solveAndEvalSubscip(), solveCumulative(), solveIndependentCons(), solveNlp(), solveNLP(), solveNode(), solveSubproblem(), sortBounds(), sparsifyIntercut(), startProbing(), strengthenOrbitopeConstraint(), termIsConstant(), testColumnsAreSymmetricallyEquivalent(), tightenAuxVarBounds(), tightenCoefs(), tightenedLinkvar(), tightenOnBounds(), tightenSingleVar(), tightenUbTTEF(), tightenVariables(), tightenVarLb(), tightenVarsBoundsSOS1(), tightenVarUb(), transformNonIntegralRow(), transformVariable(), translateSubSol(), treeApplyPendingBdchgs(), tryOneOpt(), trySolCandidate(), updateBestCandidate(), updateBilinearRelaxation(), updateColumnOrderWhenBranchingOnColumn(), updateFirstRow(), updateImplicationGraphSOS1(), updatePseudocost(), updateVariableRounding(), updateWeightsTCliquegraph(), useBilinIneqs(), varIsFixed(), varIsUnfixedLocal(), varProcessAddHoleLocal(), varProcessBoundChanges(), writeFzn(), writeOpbFixedVars(), and writeOpbRelevantAnds().

◆ SCIPvarGetUbLocal()

SCIP_Real SCIPvarGetUbLocal ( SCIP_VAR var)

gets current upper bound of variable

Parameters
varproblem variable

Definition at line 18145 of file var.c.

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

Referenced by addBilinearTermToCut(), addBoundViolated(), addBranchingComplementaritiesSOS1(), addCand(), addCliqueDataEntry(), addColToCut(), addConflictReasonVars(), addExprsViolScore(), addFacetToCut(), addFixedVarsConss(), addLinearTermToCut(), addRelaxation(), addRltTerm(), addSplitcons(), addSSTConssOrbitAndUpdateSST(), analyseInfeasibelCoreInsertion(), analyseOnoffBounds(), analyseVarOnoffBounds(), analyzeConflictLowerbound(), analyzeConflictOne(), analyzeConflictZero(), analyzeEnergyRequirement(), analyzeGenVBoundConflict(), analyzeViolation(), analyzeZeroResultant(), applyAlternativeBoundsBranching(), applyAlternativeBoundsFixing(), applyBdchgs(), applyBoundHeur(), applyCliqueFixings(), applyGenVBound(), applyNlobbt(), applyOptcumulative(), applyOptcumulativeFixings(), applyOrbitalBranchingPropagations(), applyOrbitalReductionPart(), applyProbing(), applyProbingVar(), applyVboundsFixings(), assertIsOrbitopeMatrix(), bilinboundGetLocksPos(), branch(), branchBalancedCardinality(), branchcandCalcLPCands(), branching(), branchruledataUpdateCurrentBounds(), branchUnbalancedCardinality(), buildMod2Matrix(), calcBranchScore(), calculateAlternatives(), catchEvent(), catchEventBinvar(), changeAncestorBranchings(), checkBounddisjunction(), checkCounters(), checkFeasible(), checkForOverlapping(), checkIISlocal(), checkKnapsack(), checkOverloadViaThetaTree(), checkRikun(), checkSetupTolerances(), checkSignomialBounds(), checkSolution(), checkSwitchNonoverlappingSOS1Methods(), checkVarbound(), checkVariable(), chgCoeffWithBound(), chgProbingBound(), chgQuadCoeffWithBound(), chooseCoefVar(), chooseDoubleVar(), chooseFracVar(), chooseGuidedVar(), choosePscostVar(), chooseVeclenVar(), collectActivities(), collectBranchingCandidates(), collectBranchingCands(), collectCliqueData(), collectDataTTEF(), collectIntVars(), collectSolActivities(), collectSolution(), COLORprobPrintStableSet(), COLORprobPrintStableSets(), componentSetupWorkingSol(), computeAlternativeBounds(), computeConvexEnvelopeFacet(), computeCut(), computeEnergyContribution(), computeImpliedEst(), computeImpliedLct(), computeMinDistance(), computeRltCut(), computeStandardLPOptimalityCut(), conflictAnalyzeLP(), consCheckRedundancy(), consdataCheck(), consdataCheckNonbinvar(), consdataCreate(), consdataCreateRedundant(), consdataGetReliableResidualActivity(), consdataPrint(), consdataRecomputeMaxActivityDelta(), consdataUpdateChgCoef(), consdataUpdateDelCoef(), consFixLinkvar(), constraintNonOverlappingGraph(), coretimesUpdateLb(), coretimesUpdateUb(), countSparseSol(), createCoreProfile(), createCoverCuts(), createCoverCutsTimepoint(), createCoveringProblem(), createNewSol(), createProjRow(), createSelectedSortedEventpointsSol(), createSolFromNLP(), createSolFromSubScipSol(), createSortedEventpoints(), createSubscip(), CUTOFF_CONSTRAINT(), cutsRoundMIR(), cutsRoundStrongCG(), cutTightenCoefs(), cutTightenCoefsQuad(), determineBestBounds(), doSeachEcAggr(), doSolveSubMIP(), dropEvent(), dropEventBinvar(), dryBranch(), dualBoundStrengthening(), enforceCardinality(), enforceConflictgraph(), enforceConstraints(), enforceIndicators(), enforceSol(), estimateBivariateQuotient(), estimateVertexPolyhedral(), evalCorner(), execRelpscost(), executeBranchingRecursive(), extractCycle(), extractGates(), filterCands(), filterExistingLP(), findBestUb(), findComponents(), fixAndPropagate(), fixBounds(), fixIntegerVariable(), fixIntegerVariableUb(), fixInterdiction(), fixVariable(), fixVariableZero(), fixVariableZeroNode(), generateAverageNBRay(), generateBoundInequalityFromSOS1Cons(), generateBoundInequalityFromSOS1Nodes(), generateCloseCutPoint(), generateRowSOS2(), generateZerohalfCut(), getBoundConsFromVertices(), getClosestVlb(), getDiveBdChgsSOS1conflictgraph(), getDiveBdChgsSOS1constraints(), getFixingValue(), getGenVBoundsMinActivity(), getGenVBoundsMinActivityConflict(), getImplVarRedcost(), getIneqViol(), getMaxactImplicObjchg(), getNLPFracVars(), getRandomVariable(), getRelDistance(), getValueScore(), getVarBounds(), getViolSplitWeight(), handle1Cycle(), handleNewVariableSOS1(), handleNewVariableSOS2(), hasUnfixedSCIndicator(), ObjPricerVRP::have_edge(), heurdataUpdateCurrentBounds(), heurExec(), impliesVlbPrecedenceCondition(), improvePoint(), indicatorVarIsInteresting(), inferboundsEdgeFinding(), inferVariableZero(), initConflictgraph(), initLP(), initProblem(), initSepa(), isBinaryProduct(), isNonstandardPerm(), isPossibleToComputeCut(), isPseudocostUpdateValid(), isViolatedAndNotFixed(), isViolatedSOS1(), liftCliqueVariables(), lpUpdateVarColumn(), lpUpdateVarColumnProved(), lpUpdateVarLoose(), lpUpdateVarLooseProved(), makeSOS1conflictgraphFeasible(), makeSOS1constraintsFeasible(), markRowsXj(), nlpCalcFracVars(), nlpFlushVarAdditions(), nlpSolve(), nlpUpdateVarBounds(), nlrowCalcActivityBounds(), nodeGetSolvalBinaryBigMSOS1(), nodeGetSolvalVarboundUbSOS1(), notifyNlhdlrNewsol(), orbitalReductionGetSymmetryStabilizerSubgroup(), performBranchingNoSol(), performBranchingSol(), performDualfix(), performFixing(), performRandRounding(), performStrongbranchSOS1(), performStrongbranchWithPropagation(), preprocessCliques(), presolRoundCardinality(), presolRoundConsSOS1(), presolRoundIndicator(), presolRoundSOS2(), presolRoundVarsSOS1(), presolveConsLct(), presolvePropagateCons(), presolveRedundantConss(), printBoundSection(), processBinvarFixings(), processFixings(), processRealBoundChg(), processWatchedVars(), projectVbd(), propagateCons(), propagateCutoffboundBinvars(), propagateCutoffboundVar(), propagateFullOrbitopeCons(), propagateLbTTEF(), propagatePackingPartitioningCons(), propagateRedcostBinvar(), propagateRedcostVar(), propagateRootRedcostBinvar(), propagateStaticOrbitope(), propagateTimetable(), propagateTTEF(), propagateUbTTEF(), propagateVariablePair(), propagateVbounds(), propCardinality(), propConsSOS1(), propIndicator(), propSOS2(), propVariableNonzero(), propVariables(), recomputeLooseObjectiveValue(), recomputePseudoObjectiveValue(), registerBranchingCandidates(), registerBranchingCandidatesAllUnfixed(), removeFixedBinvars(), removeZeros(), removeZerosQuad(), reoptCheckLocalRestart(), reoptSimilarity(), resolveGenVBoundPropagation(), retransformVariable(), rowCalculateGauss(), rowprepCleanupImproveCoefrange(), rowprepCleanupIntegralCoefs(), rowprepRecordModifiedVar(), sampleRandomPoints(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSENFORELAX(), SCIP_DECL_CONSGETDIVEBDCHGS(), SCIP_DECL_CONSPROP(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_CONSTRANS(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPR_INTEVALVAR(), SCIP_DECL_EXPR_OWNERPRINT(), SCIP_DECL_EXPRINTEVAL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_NLHDLRENFO(), SCIP_DECL_NLHDLRESTIMATE(), SCIP_DECL_PARAMCHGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRICERFARKAS(), SCIP_DECL_RELAXEXEC(), SCIPaddConflictBinvar(), SCIPaggrRowCancelVarWithBound(), SCIPanalyzeDeductionsProbing(), SCIPapplyLockFixings(), SCIPapplyProbingVar(), SCIPbendersSetupSubproblem(), SCIPbranchcandAddExternCand(), SCIPbranchcandGetPseudoCands(), SCIPbranchcandUpdateVar(), SCIPbranchExecExtern(), SCIPbranchExecLP(), SCIPbranchExecPseudo(), SCIPbranchGetBranchingPoint(), SCIPbranchVar(), SCIPbranchVarVal(), SCIPbranchVarValNary(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPchgVarUbNode(), SCIPchgVarUbProbing(), SCIPcolCreate(), SCIPcomputeVarUbLocal(), SCIPconflictAnalyzePseudo(), SCIPconflictAnalyzeRemainingBdchgs(), SCIPconflictAnalyzeStrongbranch(), SCIPcreateNlpiProblemFromNlRows(), SCIPcreateWorstCaseProfile(), SCIPcutGenerationHeuristicCMIR(), SCIPcutsTightenCoefficients(), SCIPexprDismantle(), SCIPfixVar(), SCIPfixVarProbing(), SCIPgetVarStrongbranchWithPropagation(), SCIPgetVarUbAtIndex(), SCIPgetVarWasFixedAtIndex(), SCIPincludePresolMILP(), SCIPinferBinvarCons(), SCIPinferBinvarProp(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPlpEndDive(), SCIPlpRecomputeLocalAndGlobalPseudoObjval(), SCIPlpStartDive(), SCIPlpUpdateVarLb(), SCIPlpUpdateVarObj(), SCIPmergeRowprepTerms(), SCIPnlpEndDive(), SCIPnodeAddBoundinfer(), SCIPnodeAddHoleinfer(), SCIPnodePropagateImplics(), SCIPperformGenericDivingAlgorithm(), SCIPpricestoreAddBdviolvar(), SCIPpricestoreAddProbVars(), SCIPpricestoreAddVar(), SCIPpricestoreResetBounds(), SCIPprobUpdateBestRootSol(), SCIPreoptnodeAddCons(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPseparateRelaxedKnapsack(), SCIPsnprintfProbingStats(), SCIPsolGetRayVal(), SCIPsolGetVal(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPtreeBranchVar(), SCIPtreeBranchVarHole(), SCIPtreeBranchVarNary(), SCIPupdateNlpiProblem(), SCIPvarAddHoleLocal(), SCIPvarChgUbGlobal(), SCIPvarCopy(), SCIPvarGetImplRedcost(), SCIPvarGetLbLocal(), SCIPvarGetMultaggrLbLocal(), SCIPvarGetMultaggrUbLocal(), SCIPvarGetNLPSol_rec(), SCIPvarGetRelaxSol(), SCIPvarGetUbAtIndex(), SCIPvarPrint(), SCIPvarWasFixedAtIndex(), SCIPvisualCutoffNode(), SCIPvisualNewChild(), SCIPvisualSolvedNode(), SCIPvisualUpdateChild(), SCIPwriteGms(), SCIPwriteLp(), SCIPwritePip(), scoreBranchingCandidates(), selectBranchVar(), selectNextDiving(), selectVarRecursive(), separateCons(), separateCuts(), separateIndicators(), separateMcCormickImplicit(), separatePerspective(), sepastoreApplyLb(), sepastoreApplyUb(), sepastoreIsBdchgApplicable(), setupAggregationData(), setupAndSolveFiniteSolSubscip(), setVarToNearestBound(), solveAndEvalSubscip(), solveCumulative(), solveIndependentCons(), solveNlp(), solveNLP(), solveNode(), solveSubproblem(), sortBounds(), sparsifyIntercut(), startProbing(), strengthenOrbitopeConstraint(), termIsConstant(), testColumnsAreSymmetricallyEquivalent(), tightenAuxVarBounds(), tightenCoefs(), tightenedLinkvar(), tightenLbTTEF(), tightenOnBounds(), tightenSingleVar(), tightenVariables(), tightenVarLb(), tightenVarsBoundsSOS1(), tightenVarUb(), transformNonIntegralRow(), transformVariable(), translateSubSol(), treeApplyPendingBdchgs(), tryOneOpt(), trySolCandidate(), updateBestCandidate(), updateBilinearRelaxation(), updateColumnOrderWhenBranchingOnColumn(), updateFirstRow(), updateImplicationGraphSOS1(), updatePseudocost(), updateVariableRounding(), updateWeightsTCliquegraph(), useBilinIneqs(), varIsFixed(), varIsUnfixedLocal(), varProcessAddHoleLocal(), varProcessBoundChanges(), writeFzn(), writeOpbFixedVars(), and writeOpbRelevantAnds().

◆ SCIPvarGetHolelistLocal()

SCIP_HOLELIST* SCIPvarGetHolelistLocal ( SCIP_VAR var)

gets the current hole list of an active variable

Parameters
varproblem variable

Definition at line 18155 of file var.c.

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

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

◆ SCIPvarGetBestBoundLocal()

SCIP_Real SCIPvarGetBestBoundLocal ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 18165 of file var.c.

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

Referenced by addBoundViolated(), nlpAddVars(), SCIPnlpGetPseudoObjval(), SCIPnlrowRecalcPseudoActivity(), SCIPvarGetHolelistLocal(), SCIPvarGetLPSol_rec(), SCIPvarGetPseudoSol(), and SCIPvarGetPseudoSol_rec().

◆ SCIPvarGetWorstBoundLocal()

SCIP_Real SCIPvarGetWorstBoundLocal ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 18178 of file var.c.

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

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

◆ SCIPvarGetBestBoundType()

SCIP_BOUNDTYPE SCIPvarGetBestBoundType ( SCIP_VAR var)

◆ SCIPvarGetWorstBoundType()

SCIP_BOUNDTYPE SCIPvarGetWorstBoundType ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 18204 of file var.c.

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

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

◆ SCIPvarGetLbLazy()

SCIP_Real SCIPvarGetLbLazy ( SCIP_VAR var)

gets lazy lower bound of variable

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

Parameters
varproblem variable

Definition at line 18217 of file var.c.

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

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

◆ SCIPvarGetUbLazy()

SCIP_Real SCIPvarGetUbLazy ( SCIP_VAR var)

gets lazy upper bound of variable

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

Parameters
varproblem variable

Definition at line 18227 of file var.c.

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

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

◆ SCIPvarGetBranchFactor()

SCIP_Real SCIPvarGetBranchFactor ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 18239 of file var.c.

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

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

◆ SCIPvarGetBranchPriority()

◆ SCIPvarGetBranchDirection()

SCIP_BRANCHDIR SCIPvarGetBranchDirection ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 18261 of file var.c.

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

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

◆ SCIPvarGetNVlbs()

◆ SCIPvarGetVlbVars()

SCIP_VAR** SCIPvarGetVlbVars ( SCIP_VAR var)

◆ SCIPvarGetVlbCoefs()

◆ SCIPvarGetVlbConstants()

◆ SCIPvarGetNVubs()

◆ SCIPvarGetVubVars()

SCIP_VAR** SCIPvarGetVubVars ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 18325 of file var.c.

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

Referenced by collectNonBinaryVBoundData(), computeImpliedLct(), constructSNFRelaxation(), cutsRoundMIR(), detectHiddenProducts(), determineBestBounds(), determineBoundForSNF(), dfs(), findBestUb(), getClosestVub(), initData(), performBoundSubstitution(), projectVbd(), SCIPcutGenerationHeuristicCMIR(), SCIPseparateRelaxedKnapsack(), SCIPvarGetClosestVub(), SCIPvarGetNVubs(), SCIPvisualizeConsCumulative(), separateCuts(), transformNonIntegralRow(), and varIsSemicontinuous().

◆ SCIPvarGetVubCoefs()

◆ SCIPvarGetVubConstants()

◆ SCIPvarGetNImpls()

int SCIPvarGetNImpls ( SCIP_VAR var,
SCIP_Bool  varfixing 
)

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

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

Definition at line 18357 of file var.c.

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

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

◆ SCIPvarGetImplVars()

SCIP_VAR** SCIPvarGetImplVars ( SCIP_VAR var,
SCIP_Bool  varfixing 
)

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

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

Definition at line 18374 of file var.c.

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

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

◆ SCIPvarGetImplTypes()

SCIP_BOUNDTYPE* SCIPvarGetImplTypes ( SCIP_VAR var,
SCIP_Bool  varfixing 
)

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

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

Definition at line 18389 of file var.c.

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

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

◆ SCIPvarGetImplBounds()

SCIP_Real* SCIPvarGetImplBounds ( SCIP_VAR var,
SCIP_Bool  varfixing 
)

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

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

Definition at line 18403 of file var.c.

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

Referenced by collectNonBinaryImplicationData(), detectHiddenProducts(), extractCycle(), getMaxactImplicObjchg(), propagateVbounds(), SCIP_DECL_PRESOLEXEC(), SCIPcopyImplicationsCliques(), SCIPnodePropagateImplics(), SCIPvarGetImplicVarBounds(), SCIPvarGetImplTypes(), and separateCuts().

◆ SCIPvarGetImplIds()

int* SCIPvarGetImplIds ( SCIP_VAR var,
SCIP_Bool  varfixing 
)

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

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

Definition at line 18419 of file var.c.

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

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

◆ SCIPvarGetNCliques()

◆ SCIPvarGetCliques()

◆ SCIPvarGetLPSol()

SCIP_Real SCIPvarGetLPSol ( SCIP_VAR var)

◆ SCIPvarGetNLPSol()

◆ SCIPvarGetBdchgInfoLb()

SCIP_BDCHGINFO* SCIPvarGetBdchgInfoLb ( SCIP_VAR var,
int  pos 
)

return lower bound change info at requested position

Parameters
varproblem variable
posrequested position

Definition at line 18479 of file var.c.

References SCIP_Var::lbchginfos, and SCIPvarGetNBdchgInfosLb().

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

◆ SCIPvarGetNBdchgInfosLb()

int SCIPvarGetNBdchgInfosLb ( SCIP_VAR var)

gets the number of lower bound change info array

Parameters
varproblem variable

Definition at line 18491 of file var.c.

References SCIP_Var::nlbchginfos, and SCIPvarGetBdchgInfoUb().

Referenced by SCIPvarGetBdchgInfoLb(), and updatePseudocost().

◆ SCIPvarGetBdchgInfoUb()

SCIP_BDCHGINFO* SCIPvarGetBdchgInfoUb ( SCIP_VAR var,
int  pos 
)

return upper bound change info at requested position

Parameters
varproblem variable
posrequested position

Definition at line 18499 of file var.c.

References SCIPvarGetNBdchgInfosUb(), and SCIP_Var::ubchginfos.

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

◆ SCIPvarGetNBdchgInfosUb()

int SCIPvarGetNBdchgInfosUb ( SCIP_VAR var)

gets the number upper bound change info array

Parameters
varproblem variable

Definition at line 18511 of file var.c.

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

Referenced by SCIPvarGetBdchgInfoUb(), and updatePseudocost().

◆ SCIPvarGetValuehistory()

SCIP_VALUEHISTORY* SCIPvarGetValuehistory ( SCIP_VAR var)

returns the value based history for the variable

Parameters
varproblem variable

Definition at line 18521 of file var.c.

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

Referenced by getValueScore(), and SCIPvarGetNBdchgInfosUb().

◆ SCIPvarIsRelaxationOnly()

SCIP_Bool SCIPvarIsRelaxationOnly ( SCIP_VAR var)

returns whether a variable has been introduced to define a relaxation

These variables are only valid for the current SCIP solve round, they are not contained in any (checked) constraints, but may be used in cutting planes, for example. Relaxation-only variables are not copied by SCIPcopyVars and cuts that contain these variables are not added as linear constraints when restarting or transferring information from a copied SCIP to a SCIP. Also conflicts with relaxation-only variables are not generated at the moment. Relaxation-only variables do not appear in the objective.

returns whether a variable has been introduced to define a relaxation

These variables are only valid for the current SCIP solve round, they are not contained in any (checked) constraints, but may be used in cutting planes, for example. Relaxation-only variables are not copied by SCIPcopyVars and cuts that contain these variables are not added as linear constraints when restarting or transferring information from a copied SCIP to a SCIP. Also conflicts with relaxation-only variables are not generated at the moment.

Parameters
varproblem variable

Definition at line 17707 of file var.c.

References NULL, SCIP_Var::relaxationonly, and SCIPvarMarkRelaxationOnly().

Referenced by conflictsetAddBound(), conflictsetAddBounds(), copyCuts(), copyVars(), createAndAddProofcons(), createCoveringProblem(), createSepaData(), determineVariableFixings(), exprIsSemicontinuous(), SCIP_DECL_RELAXEXEC(), SCIPapplyUndercover(), SCIPcopyConsLinear(), SCIPcreateConsLinear(), SCIPgenVBoundAdd(), SCIPgetVarCopy(), SCIPprobExitSolve(), and SCIPvarIsMarkedDeleteGlobalStructures().

◆ SCIPvarMarkRelaxationOnly()

void SCIPvarMarkRelaxationOnly ( SCIP_VAR var)

marks that this variable has only been introduced to define a relaxation

The variable must not have a coefficient in the objective and must be deletable. If it is not marked deletable, it will be marked as deletable, which is only possible before the variable is added to a problem.

See also
SCIPvarIsRelaxationOnly
SCIPvarMarkDeletable
Parameters
varproblem variable

Definition at line 17725 of file var.c.

References NULL, SCIP_Var::relaxationonly, SCIP_Bool, SCIPvarGetObj(), SCIPvarIsDeletable(), SCIPvarMarkDeletable(), and TRUE.

Referenced by createAuxVar(), createDisaggrVars(), createObjRow(), and SCIPvarIsRelaxationOnly().

◆ SCIPvarGetLPSol_rec()

◆ SCIPvarGetNLPSol_rec()

◆ SCIPvarGetPseudoSol()

SCIP_Real SCIPvarGetPseudoSol ( SCIP_VAR var)

gets pseudo solution value of variable at current node

gets pseudo solution value of variable

Parameters
varproblem variable

Definition at line 18531 of file var.c.

References NULL, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPvarGetBestBoundLocal(), SCIPvarGetPseudoSol_rec(), SCIPvarGetStatus(), and SCIPvarGetVSIDS().

Referenced by SCIPgetVarSols(), SCIPprobPrintPseudoSol(), SCIPvarGetPseudoSol_rec(), SCIPvarGetSol(), SCIPvarGetValuehistory(), solGetArrayVal(), and solUnlinkVar().

◆ SCIPvarGetSol()

SCIP_Real SCIPvarGetSol ( SCIP_VAR var,
SCIP_Bool  getlpval 
)

◆ SCIPvarGetRootSol()

◆ SCIPvarGetBestRootSol()

◆ SCIPvarGetBestRootRedcost()

SCIP_Real SCIPvarGetBestRootRedcost ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 13783 of file var.c.

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

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

◆ SCIPvarGetBestRootLPObjval()

SCIP_Real SCIPvarGetBestRootLPObjval ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 13817 of file var.c.

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

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

◆ SCIPvarSetBestRootSol()

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

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

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

Definition at line 13848 of file var.c.

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

Referenced by SCIPprobExitSolve(), and SCIPvarGetBestRootLPObjval().

◆ SCIPvarGetAvgSol()

◆ SCIPvarGetLbchgInfo()

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

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

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

Definition at line 16578 of file var.c.

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

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

◆ SCIPvarGetUbchgInfo()

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

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

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

Definition at line 16634 of file var.c.

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

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

◆ SCIPvarGetBdchgInfo()

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

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

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

Definition at line 16690 of file var.c.

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

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

◆ SCIPvarGetLbAtIndex()

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

◆ SCIPvarGetUbAtIndex()

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

◆ SCIPvarGetBdAtIndex()

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

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

Deprecated:
Please use SCIPgetVarBdAtIndex()

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

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

Definition at line 16951 of file var.c.

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

Referenced by SCIPvarGetUbAtIndex().

◆ SCIPvarWasFixedAtIndex()

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

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

Deprecated:
Please use SCIPgetVarWasFixedAtIndex()

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

Deprecated:
Please use SCIPgetVarWasFixedAtIndex()
Parameters
varproblem variable
bdchgidxbound change index representing time on path to current node
aftershould the bound change with given index be included?

Definition at line 16971 of file var.c.

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

Referenced by SCIPvarGetBdAtIndex().

◆ SCIPvarGetLastBdchgIndex()

SCIP_BDCHGIDX* SCIPvarGetLastBdchgIndex ( SCIP_VAR var)

◆ SCIPvarGetLastBdchgDepth()

int SCIPvarGetLastBdchgDepth ( SCIP_VAR var)

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

Parameters
varproblem variable

Definition at line 17031 of file var.c.

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

Referenced by SCIPvarGetLastBdchgIndex().

◆ SCIPvarWasFixedEarlier()

SCIP_Bool SCIPvarWasFixedEarlier ( SCIP_VAR var1,
SCIP_VAR var2 
)

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

Parameters
var1first binary variable
var2second binary variable

Definition at line 17119 of file var.c.

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

Referenced by SCIPvarGetConflictingBdchgDepth().

◆ SCIPbdchgidxIsEarlier()

SCIP_Bool SCIPbdchgidxIsEarlier ( SCIP_BDCHGIDX bdchgidx1,
SCIP_BDCHGIDX bdchgidx2 
)

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

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

Definition at line 18641 of file var.c.

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

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

◆ SCIPbdchgidxIsEarlierNonNull()

SCIP_Bool SCIPbdchgidxIsEarlierNonNull ( SCIP_BDCHGIDX bdchgidx1,
SCIP_BDCHGIDX bdchgidx2 
)

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

Parameters
bdchgidx1first bound change index
bdchgidx2second bound change index

Definition at line 18621 of file var.c.

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

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

◆ SCIPbdchginfoGetOldbound()

SCIP_Real SCIPbdchginfoGetOldbound ( SCIP_BDCHGINFO bdchginfo)

returns old bound that was overwritten for given bound change information

Parameters
bdchginfobound change information

Definition at line 18661 of file var.c.

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

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

◆ SCIPbdchginfoGetNewbound()

◆ SCIPbdchginfoGetVar()

◆ SCIPbdchginfoGetChgtype()

SCIP_BOUNDCHGTYPE SCIPbdchginfoGetChgtype ( SCIP_BDCHGINFO bdchginfo)

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

Parameters
bdchginfobound change information

Definition at line 18691 of file var.c.

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

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

◆ SCIPbdchginfoGetBoundtype()

◆ SCIPbdchginfoGetDepth()

◆ SCIPbdchginfoGetPos()

int SCIPbdchginfoGetPos ( SCIP_BDCHGINFO bdchginfo)

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

Parameters
bdchginfobound change information

Definition at line 18721 of file var.c.

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

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

◆ SCIPbdchginfoGetIdx()

SCIP_BDCHGIDX* SCIPbdchginfoGetIdx ( SCIP_BDCHGINFO bdchginfo)

returns bound change index of given bound change information

Parameters
bdchginfobound change information

Definition at line 18731 of file var.c.

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

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

◆ SCIPbdchginfoGetInferVar()

SCIP_VAR* SCIPbdchginfoGetInferVar ( SCIP_BDCHGINFO bdchginfo)

returns inference variable of given bound change information

Parameters
bdchginfobound change information

Definition at line 18741 of file var.c.

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

Referenced by conflictResolveBound(), and SCIPbdchginfoGetIdx().

◆ SCIPbdchginfoGetInferCons()

SCIP_CONS* SCIPbdchginfoGetInferCons ( SCIP_BDCHGINFO bdchginfo)

returns inference constraint of given bound change information

Parameters
bdchginfobound change information

Definition at line 18753 of file var.c.

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

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

◆ SCIPbdchginfoGetInferProp()

SCIP_PROP* SCIPbdchginfoGetInferProp ( SCIP_BDCHGINFO bdchginfo)

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

Parameters
bdchginfobound change information

Definition at line 18765 of file var.c.

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

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

◆ SCIPbdchginfoGetInferInfo()

int SCIPbdchginfoGetInferInfo ( SCIP_BDCHGINFO bdchginfo)

returns inference user information of given bound change information

Parameters
bdchginfobound change information

Definition at line 18776 of file var.c.

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

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

◆ SCIPbdchginfoGetInferBoundtype()

SCIP_BOUNDTYPE SCIPbdchginfoGetInferBoundtype ( SCIP_BDCHGINFO bdchginfo)

returns inference bound of inference variable of given bound change information

Parameters
bdchginfobound change information

Definition at line 18788 of file var.c.

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

Referenced by conflictResolveBound(), and SCIPbdchginfoGetInferInfo().

◆ SCIPbdchginfoIsRedundant()

◆ SCIPbdchginfoHasInferenceReason()

SCIP_Bool SCIPbdchginfoHasInferenceReason ( SCIP_BDCHGINFO bdchginfo)

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

Parameters
bdchginfobound change information

Definition at line 18820 of file var.c.

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

Referenced by conflictAnalyze(), and SCIPbdchginfoIsRedundant().

◆ SCIPbdchginfoIsTighter()

SCIP_Bool SCIPbdchginfoIsTighter ( SCIP_BDCHGINFO bdchginfo1,
SCIP_BDCHGINFO bdchginfo2 
)

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

Parameters
bdchginfo1first bound change information
bdchginfo2second bound change information

Definition at line 18834 of file var.c.

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

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

◆ SCIPboundchgGetNewbound()

SCIP_Real SCIPboundchgGetNewbound ( SCIP_BOUNDCHG boundchg)

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

Parameters
boundchgbound change data

Definition at line 17317 of file var.c.

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

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

◆ SCIPboundchgGetVar()

SCIP_VAR* SCIPboundchgGetVar ( SCIP_BOUNDCHG boundchg)

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

Parameters
boundchgbound change data

Definition at line 17327 of file var.c.

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

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

◆ SCIPboundchgGetBoundchgtype()

SCIP_BOUNDCHGTYPE SCIPboundchgGetBoundchgtype ( SCIP_BOUNDCHG boundchg)

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

Parameters
boundchgbound change data

Definition at line 17337 of file var.c.

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

Referenced by computeDynamicRowOrder(), SCIP_DECL_EVENTEXEC(), and SCIPboundchgGetVar().

◆ SCIPboundchgGetBoundtype()

SCIP_BOUNDTYPE SCIPboundchgGetBoundtype ( SCIP_BOUNDCHG boundchg)

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

Parameters
boundchgbound change data

Definition at line 17347 of file var.c.

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

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

◆ SCIPboundchgIsRedundant()

SCIP_Bool SCIPboundchgIsRedundant ( SCIP_BOUNDCHG boundchg)

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

Parameters
boundchgbound change data

Definition at line 17357 of file var.c.

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

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

◆ SCIPdomchgGetNBoundchgs()

int SCIPdomchgGetNBoundchgs ( SCIP_DOMCHG domchg)

returns the number of bound changes in the domain change data

Parameters
domchgdomain change data

Definition at line 17367 of file var.c.

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

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

◆ SCIPdomchgGetBoundchg()

SCIP_BOUNDCHG* SCIPdomchgGetBoundchg ( SCIP_DOMCHG domchg,
int  pos 
)

returns a particular bound change in the domain change data

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

Definition at line 17375 of file var.c.

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

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

◆ SCIPholelistGetLeft()

SCIP_Real SCIPholelistGetLeft ( SCIP_HOLELIST holelist)

returns left bound of open interval in hole

Parameters
holelisthole list pointer to hole of interest

Definition at line 17387 of file var.c.

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

Referenced by printHolelist(), and SCIPdomchgGetBoundchg().

◆ SCIPholelistGetRight()

SCIP_Real SCIPholelistGetRight ( SCIP_HOLELIST holelist)

returns right bound of open interval in hole

Parameters
holelisthole list pointer to hole of interest

Definition at line 17397 of file var.c.

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

Referenced by printHolelist(), and SCIPholelistGetLeft().

◆ SCIPholelistGetNext()

SCIP_HOLELIST* SCIPholelistGetNext ( SCIP_HOLELIST holelist)

returns next hole in list or NULL

returns next hole in list

Parameters
holelisthole list pointer to hole of interest

Definition at line 17407 of file var.c.

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

Referenced by printHolelist(), and SCIPholelistGetRight().

◆ SCIPcreateVar()

SCIP_RETCODE SCIPcreateVar ( SCIP scip,
SCIP_VAR **  var,
const char *  name,
SCIP_Real  lb,
SCIP_Real  ub,
SCIP_Real  obj,
SCIP_VARTYPE  vartype,
SCIP_Bool  initial,
SCIP_Bool  removable,
SCIP_DECL_VARDELORIG((*vardelorig))  ,
SCIP_DECL_VARTRANS((*vartrans))  ,
SCIP_DECL_VARDELTRANS((*vardeltrans))  ,
SCIP_DECL_VARCOPY((*varcopy))  ,
SCIP_VARDATA vardata 
)

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

Warning
When doing column generation and the original problem is a maximization problem, notice that SCIP will transform the problem into a minimization problem by multiplying the objective function by -1. Thus, the original objective function value of variables created during the solving process has to be multiplied by -1, too.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
the variable gets captured, hence at one point you have to release it using the method SCIPreleaseVar()
Parameters
scipSCIP data structure
varpointer to variable object
namename of variable, or NULL for automatic name creation
lblower bound of variable
ubupper bound of variable
objobjective function value
vartypetype of variable
initialshould var's column be present in the initial root LP?
removableis var's column removable from the LP (due to aging or cleanup)?
vardatauser data for this specific variable

Definition at line 114 of file scip_var.c.

References FALSE, Scip::mem, NULL, SCIP_Mem::probmem, REALABS, SCIP_CALL, SCIP_INVALIDCALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMING, SCIPcheckStage(), SCIPerrorMessage, SCIPisInfinity(), SCIPvarCreateOriginal(), SCIPvarCreateTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, and TRUE.

Referenced by ObjPricerVRP::add_tour_variable(), addConstraintToBendersSubproblem(), addExtendedAsymmetricFormulation(), addExtendedFlowFormulation(), addScenarioVarsToProb(), addVarCardinality(), aggregation(), appendVarCardinality(), applyFixings(), consdataCreateBinvars(), createAndAddAndCons(), createConstraint(), createCoveringProblem(), createMipCpFormulation(), createObjRow(), createRelaxation(), createSubSCIP(), createSubscip(), createVariable(), execmain(), getScenarioDecompVar(), getVariable(), scipexamples::QueensSolver::QueensSolver(), readBounds(), readCnf(), readCols(), readLIBSVM(), readObjective(), readQMatrix(), readVariables(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRICERFARKAS(), SCIP_DECL_PRICERREDCOST(), SCIP_DECL_READERREAD(), SCIPcreateConsCardinality(), SCIPcreateConsIndicatorGeneric(), SCIPcreateConsIndicatorGenericLinConsPure(), SCIPcreateObjVar(), SCIPcreateSchedulingProblem(), SCIPcreateVarBasic(), SCIPtransformMinUC(), setObjective(), setupAndSolveFiniteSolSubscip(), solveClassification(), solveMinIISC(), and tightenCoefs().

◆ SCIPcreateVarBasic()

SCIP_RETCODE SCIPcreateVarBasic ( SCIP scip,
SCIP_VAR **  var,
const char *  name,
SCIP_Real  lb,
SCIP_Real  ub,
SCIP_Real  obj,
SCIP_VARTYPE  vartype 
)

creates and captures problem variable with optional callbacks and variable data set to NULL, which can be set afterwards using SCIPvarSetDelorigData(), SCIPvarSetTransData(), SCIPvarSetDeltransData(), SCIPvarSetCopy(), and SCIPvarSetData(); sets variable flags initial=TRUE and removable = FALSE, which can be adjusted by using SCIPvarSetInitial() and SCIPvarSetRemovable(), resp.; 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;

Warning
When doing column generation and the original problem is a maximization problem, notice that SCIP will transform the problem into a minimization problem by multiplying the objective function by -1. Thus, the original objective function value of variables created during the solving process has to be multiplied by -1, too.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
the variable gets captured, hence at one point you have to release it using the method SCIPreleaseVar()
Parameters
scipSCIP data structure
varpointer to variable object
namename of variable, or NULL for automatic name creation
lblower bound of variable
ubupper bound of variable
objobjective function value
vartypetype of variable

Definition at line 194 of file scip_var.c.

References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPcreateVar(), and TRUE.

Referenced by addAuxiliaryVariablesToMaster(), addSlackVars(), addVariable(), applyRepair(), createAuxVar(), createBlockproblem(), createCipFormulation(), createConstraints(), createDisaggrVars(), createKKTComplementarityBinary(), createKKTComplementarityBounds(), createKKTComplementarityLinear(), createKKTDualCons(), createMasterproblem(), createMIP(), createMipFormulation(), createOriginalproblem(), createPatternVars(), createProbQP(), createSubproblem(), createSubproblems(), createVariables(), AMPLProblemHandler::EndInput(), getBinaryProductExprDo(), infinityCountUpdate(), initPricing(), main(), AMPLProblemHandler::OnBinaryLogical(), AMPLProblemHandler::OnHeader(), AMPLProblemHandler::OnObj(), AMPLProblemHandler::OnRelational(), presolveAddKKTLinearCons(), readObjective(), reformulateFactorizedBinaryQuadratic(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SOLVECUMULATIVE(), SCIPaddTrustregionNeighborhoodConstraint(), SCIPbendersMergeSubproblemIntoMaster(), SCIPcreateVarBinpacking(), SCIPverifyCircularPatternNLP(), setupAndSolveCumulativeSubscip(), setupProblem(), and solvePricingMINLP().

◆ SCIPwriteVarName()

SCIP_RETCODE SCIPwriteVarName ( SCIP scip,
FILE *  file,
SCIP_VAR var,
SCIP_Bool  type 
)

outputs the variable name to the file stream

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
fileoutput file, or NULL for stdout
varvariable to output
typeshould the variable type be also posted

Definition at line 230 of file scip_var.c.

References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_BINARY_CHAR, SCIP_VARTYPE_CONTINUOUS_CHAR, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_IMPLINT_CHAR, SCIP_VARTYPE_INTEGER, SCIP_VARTYPE_INTEGER_CHAR, SCIPcheckStage(), SCIPgetNegatedVar(), SCIPinfoMessage(), SCIPvarGetName(), SCIPvarGetType(), SCIPvarIsNegated(), and TRUE.

Referenced by consdataPrint(), SCIP_DECL_CONSPRINT(), SCIPwriteVarsLinearsum(), SCIPwriteVarsList(), and SCIPwriteVarsPolynomial().

◆ SCIPwriteVarsList()

SCIP_RETCODE SCIPwriteVarsList ( SCIP scip,
FILE *  file,
SCIP_VAR **  vars,
int  nvars,
SCIP_Bool  type,
char  delimiter 
)

print the given list of variables to output stream separated by the given delimiter character;

i. e. the variables x1, x2, ..., xn with given delimiter ',' are written as: <x1>, <x2>, ..., <xn>;

the method SCIPparseVarsList() can parse such a string

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
The printing process is done via the message handler system.
Parameters
scipSCIP data structure
fileoutput file, or NULL for stdout
varsvariable array to output
nvarsnumber of variables
typeshould the variable type be also posted
delimitercharacter which is used for delimitation

Definition at line 292 of file scip_var.c.

References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPinfoMessage(), SCIPwriteVarName(), and TRUE.

Referenced by consdataPrint().

◆ SCIPwriteVarsLinearsum()

SCIP_RETCODE SCIPwriteVarsLinearsum ( SCIP scip,
FILE *  file,
SCIP_VAR **  vars,
SCIP_Real vals,
int  nvars,
SCIP_Bool  type 
)

print the given variables and coefficients as linear sum in the following form c1 <x1> + c2 <x2> ... + cn <xn>

This string can be parsed by the method SCIPparseVarsLinearsum().

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
The printing process is done via the message handler system.
Parameters
scipSCIP data structure
fileoutput file, or NULL for stdout
varsvariable array to output
valsarray of coefficients or NULL if all coefficients are 1.0
nvarsnumber of variables
typeshould the variable type be also posted

Definition at line 343 of file scip_var.c.

References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPinfoMessage(), SCIPwriteVarName(), and TRUE.

Referenced by consdataPrint().

◆ SCIPwriteVarsPolynomial()

SCIP_RETCODE SCIPwriteVarsPolynomial ( SCIP scip,
FILE *  file,
SCIP_VAR ***  monomialvars,
SCIP_Real **  monomialexps,
SCIP_Real monomialcoefs,
int *  monomialnvars,
int  nmonomials,
SCIP_Bool  type 
)

print the given terms as signomial in the following form c1 <x11>^e11 <x12>^e12 ... <x1n>^e1n + c2 <x21>^e21 <x22>^e22 ... + ... + cn <xn1>^en1 ...

This string can be parsed by the method SCIPparseVarsPolynomial().

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
The printing process is done via the message handler system.
Parameters
scipSCIP data structure
fileoutput file, or NULL for stdout
monomialvarsarrays with variables for each monomial
monomialexpsarrays with variable exponents, or NULL if always 1.0
monomialcoefsarray with monomial coefficients
monomialnvarsarray with number of variables for each monomial
nmonomialsnumber of monomials
typeshould the variable type be also posted

Definition at line 404 of file scip_var.c.

References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPinfoMessage(), SCIPwriteVarName(), and TRUE.

◆ SCIPparseVar()

SCIP_RETCODE SCIPparseVar ( SCIP scip,
SCIP_VAR **  var,
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 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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varpointer to store the problem variable
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 successful
successpointer store if the paring process was successful

Definition at line 474 of file scip_var.c.

References FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMING, SCIPcheckStage(), SCIPerrorMessage, SCIPvarParseOriginal(), SCIPvarParseTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, and TRUE.

Referenced by getFixedVariable(), and getVariable().

◆ SCIPparseVarName()

SCIP_RETCODE SCIPparseVarName ( SCIP scip,
const char *  str,
SCIP_VAR **  var,
char **  endptr 
)

parses the given string for a variable name and stores the variable in the corresponding pointer if such a variable exits and returns the position where the parsing stopped

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
strstring to parse
varpointer to store the problem variable, or NULL if it does not exit
endptrpointer to store the final string position if successful

Definition at line 533 of file scip_var.c.

References FALSE, NULL, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_VARTYPE_BINARY_CHAR, SCIP_VARTYPE_CONTINUOUS_CHAR, SCIP_VARTYPE_IMPLINT_CHAR, SCIP_VARTYPE_INTEGER_CHAR, SCIPcheckStage(), SCIPdebugMsg, SCIPfindVar(), SCIPgetNegatedVar(), SCIPstrCopySection(), and TRUE.

Referenced by getFixedVariable(), parseBase(), readBounds(), SCIP_DECL_CONSPARSE(), SCIPparseVarsList(), and SCIPparseVarsPolynomial().

◆ SCIPparseVarsList()

SCIP_RETCODE SCIPparseVarsList ( SCIP scip,
const char *  str,
SCIP_VAR **  vars,
int *  nvars,
int  varssize,
int *  requiredsize,
char **  endptr,
char  delimiter,
SCIP_Bool success 
)

parse the given string as variable list (here ',' is the delimiter)) (<x1>, <x2>, ..., <xn>) (see SCIPwriteVarsList() ); if it was successful, the pointer success is set to TRUE

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
The pointer success in only set to FALSE in the case that a variable with a parsed variable name does not exist.
If the number of (parsed) variables is greater than the available slots in the variable array, nothing happens except that the required size is stored in the corresponding integer; 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 memory functions).
Parameters
scipSCIP data structure
strstring to parse
varsarray to store the parsed variable
nvarspointer to store number of parsed variables
varssizesize of the variable array
requiredsizepointer to store the required array size for the active variables
endptrpointer to store the final string position if successful
delimitercharacter which is used for delimitation
successpointer to store the whether the parsing was successful or not

Definition at line 610 of file scip_var.c.

References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPcheckStage(), SCIPfreeBufferArray, SCIPparseVarName(), SCIPskipSpace(), and TRUE.

Referenced by SCIP_DECL_CONSPARSE().

◆ SCIPparseVarsLinearsum()

SCIP_RETCODE SCIPparseVarsLinearsum ( SCIP scip,
const char *  str,
SCIP_VAR **  vars,
SCIP_Real vals,
int *  nvars,
int  varssize,
int *  requiredsize,
char **  endptr,
SCIP_Bool success 
)

parse the given string as linear sum of variables and coefficients (c1 <x1> + c2 <x2> + ... + cn <xn>) (see SCIPwriteVarsLinearsum() ); if it was successful, the pointer success is set to TRUE

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
The pointer success in only set to FALSE in the case that a variable with a parsed variable name does not exist.
If the number of (parsed) variables is greater than the available slots in the variable array, nothing happens except that the required size is stored in the corresponding integer; 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 memory functions).
Parameters
scipSCIP data structure
strstring to parse
varsarray to store the parsed variables
valsarray to store the parsed coefficients
nvarspointer to store number of parsed variables
varssizesize of the variable array
requiredsizepointer to store the required array size for the active variables
endptrpointer to store the final string position if successful
successpointer to store the whether the parsing was successful or not

Definition at line 704 of file scip_var.c.

References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPcheckStage(), SCIPerrorMessage, SCIPfreeParseVarsPolynomialData(), SCIPparseVarsPolynomial(), and TRUE.

Referenced by getFixedVariable(), and SCIP_DECL_CONSPARSE().

◆ SCIPparseVarsPolynomial()

SCIP_RETCODE SCIPparseVarsPolynomial ( SCIP scip,
const char *  str,
SCIP_VAR ****  monomialvars,
SCIP_Real ***  monomialexps,
SCIP_Real **  monomialcoefs,
int **  monomialnvars,
int *  nmonomials,
char **  endptr,
SCIP_Bool success 
)

parse the given string as signomial of variables and coefficients (c1 <x11>^e11 <x12>^e12 ... <x1n>^e1n + c2 <x21>^e21 <x22>^e22 ... + ... + cn <xn1>^en1 ...) (see SCIPwriteVarsPolynomial()); if it was successful, the pointer success is set to TRUE

The user has to call SCIPfreeParseVarsPolynomialData(scip, monomialvars, monomialexps, monomialcoefs, monomialnvars, *nmonomials) short after SCIPparseVarsPolynomial to free all the allocated memory again. Do not keep the arrays created by SCIPparseVarsPolynomial around, since they use buffer memory that is intended for short term use only.

Parsing is stopped at the end of string (indicated by the \0-character) or when no more monomials are recognized.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

parse the given string as signomial of variables and coefficients (c1 <x11>^e11 <x12>^e12 ... <x1n>^e1n + c2 <x21>^e21 <x22>^e22 ... + ... + cn <xn1>^en1 ...) (see SCIPwriteVarsPolynomial()); if it was successful, the pointer success is set to TRUE

The user has to call SCIPfreeParseVarsPolynomialData(scip, monomialvars, monomialexps, monomialcoefs, monomialnvars, *nmonomials) short after SCIPparseVarsPolynomial to free all the allocated memory again.

Parsing is stopped at the end of string (indicated by the \0-character) or when no more monomials are recognized.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
strstring to parse
monomialvarspointer to store arrays with variables for each monomial
monomialexpspointer to store arrays with variable exponents
monomialcoefspointer to store array with monomial coefficients
monomialnvarspointer to store array with number of variables for each monomial
nmonomialspointer to store number of parsed monomials
endptrpointer to store the final string position if successful
successpointer to store the whether the parsing was successful or not

Definition at line 813 of file scip_var.c.

References FALSE, NULL, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_READERROR, SCIP_Real, SCIPcalcMemGrowSize(), SCIPcheckStage(), SCIPdebugMsg, SCIPduplicateBlockMemoryArray, SCIPerrorMessage, SCIPfreeBlockMemoryArrayNull, SCIPfreeParseVarsPolynomialData(), SCIPparseVarName(), SCIPreallocBlockMemoryArray, SCIPskipSpace(), SCIPstrToRealValue(), and TRUE.

Referenced by SCIPparseVarsLinearsum().

◆ SCIPfreeParseVarsPolynomialData()

void SCIPfreeParseVarsPolynomialData ( SCIP scip,
SCIP_VAR ****  monomialvars,
SCIP_Real ***  monomialexps,
SCIP_Real **  monomialcoefs,
int **  monomialnvars,
int  nmonomials 
)

frees memory allocated when parsing a signomial from a string

Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
monomialvarspointer to store arrays with variables for each monomial
monomialexpspointer to store arrays with variable exponents
monomialcoefspointer to store array with monomial coefficients
monomialnvarspointer to store array with number of variables for each monomial
nmonomialspointer to store number of parsed monomials

Definition at line 1157 of file scip_var.c.

References FALSE, NULL, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPfreeBlockMemoryArray, SCIPfreeBlockMemoryArrayNull, and TRUE.

Referenced by SCIPparseVarsLinearsum(), and SCIPparseVarsPolynomial().

◆ SCIPcaptureVar()

SCIP_RETCODE SCIPcaptureVar ( SCIP scip,
SCIP_VAR var 
)

increases usage counter of variable

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to capture

Definition at line 1213 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarCapture(), and TRUE.

Referenced by addAuxiliaryVariablesToMaster(), addAuxVar(), addCoef(), addComponent(), addOrbitope(), applyFixings(), applyProbing(), assignAuxiliaryVariables(), bilinearTermsInsertEntry(), computeConsAndDataChanges(), consdataCreate(), correctPresoldata(), createAndAddAndCons(), createMasterVarMapping(), createPresoldata(), createSepaData(), createSubSCIP(), createVariableMappings(), determineSymmetry(), exprIsSemicontinuous(), getToken(), lexdataCreate(), objimplicsCreate(), presolRoundIndicator(), propdataInit(), tsp::ProbDataTSP::scip_copy(), SCIP_DECL_CONSINIT(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSTRANS(), SCIP_DECL_EXPRCOPYDATA(), SCIP_DECL_NLHDLRDETECT(), SCIP_DECL_PROBCOPY(), tsp::ProbDataTSP::scip_trans(), SCIPcreateConsIndicatorGeneric(), SCIPcreateConsIndicatorGenericLinCons(), SCIPcreateConsIndicatorGenericLinConsPure(), SCIPcreateConsPseudobooleanWithConss(), SCIPcreateExprVar(), SCIPgenVBoundAdd(), SCIPinsertBilinearTermExistingNonlinear(), SCIPinsertBilinearTermImplicitNonlinear(), SCIPprobdataAddVar(), sepadataAddMinor(), setIntvar(), storeCaptureVars(), and tcliquegraphAddNode().

◆ SCIPreleaseVar()

SCIP_RETCODE SCIPreleaseVar ( SCIP scip,
SCIP_VAR **  var 
)

decreases usage counter of variable, if the usage pointer reaches zero the variable gets freed

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
the pointer of the variable will be NULLed
Parameters
scipSCIP data structure
varpointer to variable

Definition at line 1247 of file scip_var.c.

References Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPcheckStage(), SCIPerrorMessage, SCIPvarIsTransformed(), SCIPvarRelease(), Scip::set, SCIP_Set::stage, and TRUE.

Referenced by ObjPricerVRP::add_tour_variable(), addConstraintToBendersSubproblem(), addScenarioConsToProb(), addScenarioVarsToProb(), addSlackVars(), addVarCardinality(), addVariable(), aggregation(), appendVarCardinality(), applyFixings(), applyProbing(), applyRepair(), bilinearTermsFree(), cleanupHashDatas(), computeCoverUndercover(), consdataFree(), correctConshdlrdata(), createAndAddAndCons(), createBlockproblem(), createCipFormulation(), createConstraint(), createInitialColumns(), createKKTComplementarityBinary(), createKKTComplementarityBounds(), createKKTComplementarityLinear(), createKKTDualCons(), createMipCpFormulation(), createMipFormulation(), createOriginalproblem(), createProbQP(), createSubproblem(), createSubproblems(), createSubSCIP(), createVariable(), delCoefPos(), doSeachEcAggr(), AMPLProblemHandler::EndInput(), execmain(), freeAuxVar(), freeComponent(), freeDisaggrVars(), freeGenVBound(), freeGenVBounds(), freeNlhdlrExprData(), freeOrbitope(), freeSepaData(), freeSortedvars(), freeSubSCIP(), freeSubscip(), freeSymmetryData(), getBinaryProductExprDo(), getFixedVariable(), getVariable(), infinityCountUpdate(), initPricing(), lexdataFree(), main(), AMPLProblemHandler::OnBinaryLogical(), AMPLProblemHandler::OnObj(), AMPLProblemHandler::OnRelational(), presolRoundIndicator(), presolveAddKKTLinearCons(), probdataFree(), propdataExit(), readBounds(), readCnf(), readCols(), readLIBSVM(), readObjective(), readQMatrix(), reformulateFactorizedBinaryQuadratic(), releaseHashmapEntries(), releaseVarMappingHashmapVars(), removeIndicator(), runBrachistochrone(), runPacking(), SCIP_DECL_BENDERSEXIT(), SCIP_DECL_CONSDELETE(), SCIP_DECL_CONSEXIT(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPRFREEDATA(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_NLHDLRFREEEXPRDATA(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRICERREDCOST(), SCIP_DECL_PROBDELORIG(), SCIP_DECL_PROBDELTRANS(), SCIP_DECL_READERREAD(), SCIP_DECL_SEPAEXITSOL(), SCIP_DECL_SOLVECUMULATIVE(), tsp::ProbDataTSP::scip_delorig(), tsp::ProbDataTSP::scip_deltrans(), SCIPaddTrustregionNeighborhoodConstraint(), SCIPapplyUndercover(), SCIPbendersExit(), SCIPbendersMergeSubproblemIntoMaster(), SCIPcreateConsCardinality(), SCIPcreateSchedulingProblem(), SCIPgenVBoundAdd(), SCIPgetVarCopy(), SCIPtransformMinUC(), SCIPverifyCircularPatternNLP(), sepadataClear(), setIntvar(), setObjective(), setupAndSolveCumulativeSubscip(), setupAndSolveFiniteSolSubscip(), setupProblem(), solveClassification(), solveMinIISC(), solvePricingMINLP(), tcliquegraphFree(), tightenCoefs(), transformToOrig(), and scipexamples::QueensSolver::~QueensSolver().

◆ SCIPchgVarName()

SCIP_RETCODE SCIPchgVarName ( SCIP scip,
SCIP_VAR var,
const char *  name 
)

changes the name of a variable

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can only be called if scip is in stage SCIP_STAGE_PROBLEM
Note
to get the current name of a variable, use SCIPvarGetName() from pub_var.h
Parameters
scipSCIP data structure
varvariable
namenew name of constraint

Definition at line 1298 of file scip_var.c.

References FALSE, Scip::origprob, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PROBLEM, SCIPABORT, SCIPblkmem(), SCIPcheckStage(), SCIPerrorMessage, SCIPgetStage(), SCIPprobAddVarName(), SCIPprobRemoveVarName(), SCIPvarChgName(), SCIPvarGetProbindex(), and TRUE.

◆ SCIPtransformVar()

SCIP_RETCODE SCIPtransformVar ( SCIP scip,
SCIP_VAR var,
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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get/create transformed variable for
transvarpointer to store the transformed variable

Definition at line 1348 of file scip_var.c.

References FALSE, Scip::mem, NULL, SCIP_Prob::objsense, Scip::origprob, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarCapture(), SCIPvarIsTransformed(), SCIPvarTransform(), Scip::set, Scip::stat, and TRUE.

Referenced by SCIP_DECL_PROBTRANS().

◆ SCIPtransformVars()

SCIP_RETCODE SCIPtransformVars ( SCIP scip,
int  nvars,
SCIP_VAR **  vars,
SCIP_VAR **  transvars 
)

gets and captures transformed variables for an array of variables; if a variable of the array is not yet transformed, a new transformed variable for this variable is created; it is possible to call this method with vars == transvars

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nvarsnumber of variables to get/create transformed variables for
varsarray with variables to get/create transformed variables for
transvarsarray to store the transformed variables

Definition at line 1388 of file scip_var.c.

References FALSE, Scip::mem, NULL, SCIP_Prob::objsense, Scip::origprob, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarCapture(), SCIPvarIsTransformed(), SCIPvarTransform(), Scip::set, Scip::stat, and TRUE.

Referenced by SCIP_DECL_PROBTRANS().

◆ SCIPgetTransformedVar()

SCIP_RETCODE SCIPgetTransformedVar ( SCIP scip,
SCIP_VAR var,
SCIP_VAR **  transvar 
)

gets corresponding transformed variable of a given variable; returns NULL as transvar, if transformed variable is not yet existing

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get transformed variable for
transvarpointer to store the transformed variable

Definition at line 1438 of file scip_var.c.

References FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarGetTransformed(), SCIPvarIsTransformed(), Scip::set, Scip::stat, and TRUE.

Referenced by addCoef(), addVarCardinality(), addVarSOS1(), addVarSOS2(), appendVarCardinality(), appendVarSOS1(), appendVarSOS2(), consdataCreate(), consdataCreateSuperindicator(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSINIT(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSTRANS(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EXPR_MAPEXPR(), SCIP_DECL_PRICERINIT(), SCIP_DECL_PROBCOPY(), tsp::ProbDataTSP::scip_trans(), SCIPchgVarType(), SCIPcreateConsCardinality(), SCIPcreateConsSOS1(), SCIPsetBinaryVarIndicator(), and setIntvar().

◆ SCIPgetTransformedVars()

SCIP_RETCODE SCIPgetTransformedVars ( SCIP scip,
int  nvars,
SCIP_VAR **  vars,
SCIP_VAR **  transvars 
)

gets corresponding transformed variables for an array of variables; stores NULL in a transvars slot, if the transformed variable is not yet existing; it is possible to call this method with vars == transvars, but remember that variables that are not yet transformed will be replaced with NULL

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nvarsnumber of variables to get transformed variables for
varsarray with variables to get transformed variables for
transvarsarray to store the transformed variables

Definition at line 1479 of file scip_var.c.

References FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarGetTransformed(), SCIPvarIsTransformed(), Scip::set, Scip::stat, and TRUE.

Referenced by consdataCreate(), consdataCreateRedundant(), and SCIP_DECL_CONSTRANS().

◆ SCIPgetNegatedVar()

SCIP_RETCODE SCIPgetNegatedVar ( SCIP scip,
SCIP_VAR var,
SCIP_VAR **  negvar 
)

gets negated variable x' = lb + ub - x of variable x; negated variable is created, if not yet existing

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

gets negated variable x' = lb + ub - x of variable x; negated variable is created, if not yet existing; in difference to SCIPcreateVar, the negated variable must not be released (unless captured explicitly)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get negated variable for
negvarpointer to store the negated variable

Definition at line 1526 of file scip_var.c.

References FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarNegate(), Scip::set, Scip::stat, and TRUE.

Referenced by addFixedVarsConss(), applyCliqueFixings(), checkForOverlapping(), cliquePresolve(), consdataCreate(), consdataLinearize(), createAndAddLinearCons(), createBlockproblem(), createConflict(), createConflictCons(), createCoveringProblem(), createIndicatorConstraint(), createMipCpFormulation(), createNormalizedKnapsack(), createNormalizedLogicor(), createNormalizedSetppc(), createSubSCIP(), CUTOFF_CONSTRAINT(), executeBranchingRecursive(), extendToCover(), extractGates(), fixDeleteOrUpgradeCons(), forbidCover(), forbidFixation(), getBinVarsRepresentatives(), getVariableOrTerm(), AMPLProblemHandler::OnBinaryLogical(), AMPLProblemHandler::OnNot(), AMPLProblemHandler::OnRelational(), printIndicatorCons(), readCnf(), readIndicators(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSPARSE(), SCIP_DECL_LINCONSUPGD(), SCIPcalcNegatedCliquePartition(), SCIPcreateConsIndicatorGeneric(), SCIPcreateConsIndicatorGenericLinCons(), SCIPcreateConsIndicatorGenericLinConsPure(), SCIPgetBinvarRepresentative(), SCIPgetBinvarRepresentatives(), SCIPgetVarCopy(), SCIPparseVarName(), SCIPseparateRelaxedKnapsack(), SCIPsetBinaryVarIndicator(), SCIPtransformMinUC(), SCIPwriteVarName(), tcliquegraphAddNode(), upgradeCons(), and upgradeConss().

◆ SCIPgetNegatedVars()

SCIP_RETCODE SCIPgetNegatedVars ( SCIP scip,
int  nvars,
SCIP_VAR **  vars,
SCIP_VAR **  negvars 
)

gets negated variables x' = lb + ub - x of variables x; negated variables are created, if not yet existing; in difference to SCIPcreateVar, the negated variable must not be released (unless captured explicitly)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

gets negated variables x' = lb + ub - x of variables x; negated variables are created, if not yet existing

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nvarsnumber of variables to get negated variables for
varsarray of variables to get negated variables for
negvarsarray to store the negated variables

Definition at line 1559 of file scip_var.c.

References FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarNegate(), Scip::set, Scip::stat, and TRUE.

◆ SCIPgetBinvarRepresentative()

SCIP_RETCODE SCIPgetBinvarRepresentative ( SCIP scip,
SCIP_VAR var,
SCIP_VAR **  repvar,
SCIP_Bool negated 
)

gets a binary variable that is equal to the given binary variable, and that is either active, fixed, or multi-aggregated, or the negated variable of an active, fixed, or multi-aggregated variable

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varbinary variable to get binary representative for
repvarpointer to store the binary representative
negatedpointer to store whether the negation of an active variable was returned

Definition at line 1596 of file scip_var.c.

References FALSE, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPgetNegatedVar(), SCIPvarGetProbvarBinary(), and TRUE.

Referenced by applyFixings(), binvarGetActiveProbindex(), cleanupHashDatas(), consdataPrint(), correctPresoldata(), createCoveringProblem(), createPresoldata(), extractGates(), getBinVarsRepresentatives(), writeOpbFixedVars(), and writeOpbRelevantAnds().

◆ SCIPgetBinvarRepresentatives()

SCIP_RETCODE SCIPgetBinvarRepresentatives ( SCIP scip,
int  nvars,
SCIP_VAR **  vars,
SCIP_VAR **  repvars,
SCIP_Bool negated 
)

gets binary variables that are equal to the given binary variables, and which are either active, fixed, or multi-aggregated, or the negated variables of active, fixed, or multi-aggregated variables

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nvarsnumber of binary variables to get representatives for
varsbinary variables to get binary representatives for
repvarsarray to store the binary representatives
negatedarray to store whether the negation of an active variable was returned

Definition at line 1643 of file scip_var.c.

References BMSclearMemoryArray, BMScopyMemoryArray, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPgetNegatedVar(), SCIPvarsGetProbvarBinary(), and TRUE.

Referenced by applyFixings(), checkSolution(), consdataLinearize(), findAggregation(), printPseudobooleanCons(), and tryUpgradingXor().

◆ SCIPflattenVarAggregationGraph()

SCIP_RETCODE SCIPflattenVarAggregationGraph ( SCIP scip,
SCIP_VAR var 
)

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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable

Definition at line 1692 of file scip_var.c.

References Scip::eventqueue, FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarFlattenAggregationGraph(), Scip::set, and TRUE.

Referenced by fixVariableZero(), presolve(), SCIP_DECL_READERWRITE(), and SCIPgetVarCopy().

◆ SCIPgetProbvarLinearSum()

SCIP_RETCODE SCIPgetProbvarLinearSum ( SCIP scip,
SCIP_VAR **  vars,
SCIP_Real scalars,
int *  nvars,
int  varssize,
SCIP_Real constant,
int *  requiredsize,
SCIP_Bool  mergemultiples 
)

Transforms a given linear sum of variables, that is a_1*x_1 + ... + a_n*x_n + c into a corresponding linear sum of active variables, that is b_1*y_1 + ... + b_m*y_m + d.

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 (requiredsize). Otherwise, the active variable representation is stored in the variable array, scalar array and constant.

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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
The resulting linear sum is stored into the given variable array, scalar array, and constant. That means the given entries are overwritten.
That method can be used to convert a single variables into variable space of active variables. Therefore call the method with the linear sum 1.0*x + 0.0.
Parameters
scipSCIP data structure
varsvariable array x_1, ..., x_n in the linear sum which will be overwritten by the variable array y_1, ..., y_m in the linear sum w.r.t. active variables
scalarsscalars a_1, ..., a_n in linear sum which will be overwritten to the scalars b_1, ..., b_m in the linear sum of the active variables
nvarspointer to number of variables in the linear sum which will be overwritten by the number of variables in the linear sum corresponding to the active variables
varssizeavailable slots in vars and scalars array which is needed to check if the array are large enough for the linear sum w.r.t. active variables
constantpointer to constant c in linear sum a_1*x_1 + ... + a_n*x_n + c which will chnage to constant d in the linear sum b_1*y_1 + ... + b_m*y_m + d w.r.t. the active variables
requiredsizepointer to store the required array size for the linear sum w.r.t. the active variables
mergemultiplesshould multiple occurrences of a var be replaced by a single coeff?

Definition at line 1737 of file scip_var.c.

References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarGetActiveRepresentatives(), Scip::set, and TRUE.

Referenced by applyFixings(), correctConshdlrdata(), getActiveVariables(), getLinearCoeffs(), SCIP_DECL_EXPRSIMPLIFY(), SCIPaddCoefLinear(), SCIPcopyConsLinear(), SCIPcreateConsLinear(), SCIPgetSymActiveVariables(), tightenVarsBoundsSOS1(), tryUpgradingXor(), and writeExpandedSolutions().

◆ SCIPgetProbvarSum()

SCIP_RETCODE SCIPgetProbvarSum ( SCIP scip,
SCIP_VAR **  var,
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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
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 1793 of file scip_var.c.

References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarGetProbvarSum(), Scip::set, and TRUE.

Referenced by addAltLPConstraint(), applyFixings(), createSolFromSubScipSol(), getActiveVar(), initData(), presolRoundCardinality(), presolRoundConsSOS1(), presolRoundSOS2(), SCIP_DECL_PARAMCHGD(), and SCIPincludePresolMILP().

◆ SCIPgetActiveVars()

SCIP_RETCODE SCIPgetActiveVars ( SCIP scip,
SCIP_VAR **  vars,
int *  nvars,
int  varssize,
int *  requiredsize 
)

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

Note
It does not hold that the first output variable is the active variable for the first input variable.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
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 1829 of file scip_var.c.

References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarsGetActiveVars(), Scip::set, and TRUE.

Referenced by decompGetConsVarsAndLabels(), fillDigraph(), getActiveVariables2(), and SCIPhasConsOnlyLinkVars().

◆ SCIPgetVarRedcost()

SCIP_Real SCIPgetVarRedcost ( SCIP scip,
SCIP_VAR var 
)

returns the reduced costs of the variable in the current node's LP relaxation; the current node has to have a feasible LP.

returns SCIP_INVALID if the variable is active but not in the current LP; returns 0 if the variable has been aggregated out or fixed in presolving.

Precondition
This method can only be called if scip is in stage SCIP_STAGE_SOLVING
Note
The return value of this method should be used carefully if the dual feasibility check was explictely disabled.
Parameters
scipSCIP data structure
varvariable to get reduced costs, should be a column in current node LP

Definition at line 1863 of file scip_var.c.

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

Referenced by computeStandardLPOptimalityCut(), getVariableRedcostScore(), propagateRedcostBinvar(), propagateRootRedcostBinvar(), SCIP_DECL_BRANCHEXECLP(), SCIPgetDualSolVal(), and SCIPgetVarRedcost().

◆ SCIPgetVarImplRedcost()

SCIP_Real SCIPgetVarImplRedcost ( SCIP scip,
SCIP_VAR var,
SCIP_Bool  varfixing 
)

returns the implied reduced costs of the variable in the current node's LP relaxation; the current node has to have a feasible LP.

returns SCIP_INVALID if the variable is active but not in the current LP; returns 0 if the variable has been aggregated out or fixed in presolving.

Precondition
This method can only be called if scip is in stage SCIP_STAGE_SOLVING
Note
The return value of this method should be used carefully if the dual feasibility check was explictely disabled.
Parameters
scipSCIP data structure
varvariable to get reduced costs, should be a column in current node LP
varfixingFALSE if for x == 0, TRUE for x == 1

Definition at line 1908 of file scip_var.c.

References SCIP_Var::data, Scip::lp, NULL, SCIP_Var::original, SCIP_Var::scip, SCIP_INVALID, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPgetVarImplRedcost(), SCIPvarGetImplRedcost(), SCIPvarGetStatus(), Scip::set, Scip::stat, Scip::transprob, and SCIP_Original::transvar.

Referenced by propagateRedcostBinvar(), propagateRootRedcostBinvar(), and SCIPgetVarImplRedcost().

◆ SCIPgetVarFarkasCoef()

SCIP_Real SCIPgetVarFarkasCoef ( SCIP scip,
SCIP_VAR var 
)

returns the Farkas coefficient of the variable in the current node's LP relaxation; the current node has to have an infeasible LP.

returns SCIP_INVALID if the variable is active but not in the current LP; returns 0 if the variable has been aggregated out or fixed in presolving.

Precondition
This method can only be called if scip is in stage SCIP_STAGE_SOLVING
Parameters
scipSCIP data structure
varvariable to get reduced costs, should be a column in current node LP

Definition at line 1953 of file scip_var.c.

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

Referenced by computeStandardLPFeasibilityCut(), and SCIPgetVarFarkasCoef().

◆ SCIPgetVarLbAtIndex()

SCIP_Real SCIPgetVarLbAtIndex ( SCIP scip,
SCIP_VAR var,
SCIP_BDCHGIDX bdchgidx,
SCIP_Bool  after 
)

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

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

Definition at line 1991 of file scip_var.c.

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

Referenced by addConflictBinvar(), addConflictBounds(), adjustCutoffbound(), analyzeConflictUpperbound(), analyzeEnergyRequirement(), getConflictImplics(), getGenVBoundsMinActivityConflict(), getMinactImplicObjchg(), resolveGenVBoundPropagation(), resolvePropagation(), resolvePropagationCoretimes(), respropCumulativeCondition(), SCIP_DECL_CONSRESPROP(), SCIPconflictIsVarUsed(), SCIPconsResolvePropagation(), SCIPgetVarBdAtIndex(), SCIPgetVarLbAtIndex(), SCIPgetVarUbAtIndex(), SCIPgetVarWasFixedAtIndex(), and SCIPpropResolvePropagation().

◆ SCIPgetVarUbAtIndex()

SCIP_Real SCIPgetVarUbAtIndex ( SCIP scip,
SCIP_VAR var,
SCIP_BDCHGIDX bdchgidx,
SCIP_Bool  after 
)

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

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

Definition at line 2127 of file scip_var.c.

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

Referenced by addConflictBinvar(), addConflictBounds(), adjustCutoffbound(), analyzeConflictLowerbound(), analyzeEnergyRequirement(), getConflictImplics(), getGenVBoundsMinActivityConflict(), getMinactImplicObjchg(), resolveGenVBoundPropagation(), resolvePropagation(), resolvePropagationCoretimes(), respropCumulativeCondition(), SCIP_DECL_CONSRESPROP(), SCIPconflictIsVarUsed(), SCIPconsResolvePropagation(), SCIPgetVarBdAtIndex(), SCIPgetVarLbAtIndex(), SCIPgetVarUbAtIndex(), SCIPgetVarWasFixedAtIndex(), and SCIPpropResolvePropagation().

◆ SCIPgetVarBdAtIndex()

SCIP_Real SCIPgetVarBdAtIndex ( SCIP scip,
SCIP_VAR var,
SCIP_BOUNDTYPE  boundtype,
SCIP_BDCHGIDX bdchgidx,
SCIP_Bool  after 
)

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

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

Definition at line 2263 of file scip_var.c.

References SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIPgetVarLbAtIndex(), and SCIPgetVarUbAtIndex().

Referenced by conflictResolveBound().

◆ SCIPgetVarWasFixedAtIndex()

SCIP_Bool SCIPgetVarWasFixedAtIndex ( SCIP scip,
SCIP_VAR var,
SCIP_BDCHGIDX bdchgidx,
SCIP_Bool  after 
)

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

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

Definition at line 2281 of file scip_var.c.

References NULL, SCIPgetVarLbAtIndex(), SCIPgetVarUbAtIndex(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and SCIPvarIsBinary().

◆ SCIPgetVarSol()

SCIP_Real SCIPgetVarSol ( SCIP scip,
SCIP_VAR var 
)

gets solution value for variable in current node

Returns
solution value for variable in current node
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get solution value for

Definition at line 2306 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPtreeHasCurrentNodeLP(), SCIPvarGetSol(), Scip::tree, and TRUE.

Referenced by createCGMIPprimalsols(), createSubscip(), fixVariable(), performBranchingNoSol(), performBranchingSol(), SCIP_DECL_SEPAEXECLP(), selectBestCands(), and separateIISRounding().

◆ SCIPgetVarSols()

SCIP_RETCODE SCIPgetVarSols ( SCIP scip,
int  nvars,
SCIP_VAR **  vars,
SCIP_Real vals 
)

gets solution values of multiple variables in current node

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nvarsnumber of variables to get solution value for
varsarray with variables to get value for
valsarray to store solution values of variables

Definition at line 2326 of file scip_var.c.

References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPtreeHasCurrentNodeLP(), SCIPvarGetLPSol(), SCIPvarGetPseudoSol(), Scip::tree, and TRUE.

Referenced by SCIP_DECL_SEPAEXECLP(), and SCIPgetSolVals().

◆ SCIPclearRelaxSolVals()

SCIP_RETCODE SCIPclearRelaxSolVals ( SCIP scip,
SCIP_RELAX relax 
)

sets the solution value of all variables in the global relaxation solution to zero

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
relaxrelaxator data structure

Definition at line 2363 of file scip_var.c.

References FALSE, NULL, Scip::relaxation, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPgetVarsData(), SCIPrelaxationIsSolZero(), SCIPrelaxationSetSolObj(), SCIPrelaxationSetSolRelax(), SCIPrelaxationSetSolZero(), SCIPvarSetRelaxSol(), Scip::set, and TRUE.

Referenced by SCIP_DECL_RELAXEXEC(), SCIPsetRelaxSolVals(), SCIPsetRelaxSolValsSol(), and SCIPsolve().

◆ SCIPsetRelaxSolVal()

SCIP_RETCODE SCIPsetRelaxSolVal ( SCIP scip,
SCIP_RELAX relax,
SCIP_VAR var,
SCIP_Real  val 
)

sets the value of the given variable in the global relaxation solution; this solution can be filled by the relaxation handlers and can be used by heuristics and for separation; You can use SCIPclearRelaxSolVals() to set all values to zero, initially; after setting all solution values, you have to call SCIPmarkRelaxSolValid() to inform SCIP that the stored solution is valid

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
This method incrementally updates the objective value of the relaxation solution. If the whole solution should be updated, using SCIPsetRelaxSolVals() instead or calling SCIPclearRelaxSolVals() before setting the first value to reset the solution and the objective value to 0 may help the numerics.
Parameters
scipSCIP data structure
relaxrelaxator data structure
varvariable to set value for
valsolution value of variable

Definition at line 2413 of file scip_var.c.

References FALSE, NULL, Scip::relaxation, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPrelaxationSetSolRelax(), SCIPrelaxationSetSolValid(), SCIPrelaxationSetSolZero(), SCIPvarSetRelaxSol(), Scip::set, and TRUE.

Referenced by SCIP_DECL_RELAXEXEC().

◆ SCIPsetRelaxSolVals()

SCIP_RETCODE SCIPsetRelaxSolVals ( SCIP scip,
SCIP_RELAX relax,
int  nvars,
SCIP_VAR **  vars,
SCIP_Real vals,
SCIP_Bool  includeslp 
)

sets the values of the given variables in the global relaxation solution and informs SCIP about the validity and whether the solution can be enforced via linear cuts; this solution can be filled by the relaxation handlers and can be used by heuristics and for separation; the solution is automatically cleared, s.t. all other variables get value 0.0

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
relaxrelaxator data structure
nvarsnumber of variables to set relaxation solution value for
varsarray with variables to set value for
valsarray with solution values of variables
includeslpdoes the relaxator contain all cuts in the LP?

Definition at line 2446 of file scip_var.c.

References FALSE, NULL, Scip::relaxation, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPclearRelaxSolVals(), SCIPrelaxationSetSolRelax(), SCIPrelaxationSetSolValid(), SCIPrelaxationSetSolZero(), SCIPvarSetRelaxSol(), Scip::set, and TRUE.

◆ SCIPsetRelaxSolValsSol()

SCIP_RETCODE SCIPsetRelaxSolValsSol ( SCIP scip,
SCIP_RELAX relax,
SCIP_SOL sol,
SCIP_Bool  includeslp 
)

sets the values of the variables in the global relaxation solution to the values in the given primal solution and informs SCIP about the validity and whether the solution can be enforced via linear cuts; the relaxation solution can be filled by the relaxation handlers and might be used by heuristics and for separation

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
relaxrelaxator data structure
solprimal relaxation solution
includeslpdoes the relaxator contain all cuts in the LP?

Definition at line 2488 of file scip_var.c.

References FALSE, NULL, Scip::origprob, Scip::relaxation, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPcheckStage(), SCIPclearRelaxSolVals(), SCIPfreeBufferArray, SCIPgetSolVals(), SCIPgetVarsData(), SCIPrelaxationSetSolObj(), SCIPrelaxationSetSolRelax(), SCIPrelaxationSetSolValid(), SCIPrelaxationSetSolZero(), SCIPsolGetObj(), SCIPvarSetRelaxSol(), Scip::set, Scip::transprob, and TRUE.

◆ SCIPisRelaxSolValid()

SCIP_Bool SCIPisRelaxSolValid ( SCIP scip)

returns whether the relaxation solution is valid

Returns
TRUE, if the relaxation solution is valid; FALSE, otherwise
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 2536 of file scip_var.c.

References FALSE, NULL, Scip::relaxation, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPrelaxationIsSolValid(), and TRUE.

Referenced by performRelaxSimpleRounding(), SCIP_DECL_HEUREXEC(), SCIP_DECL_RELAXEXEC(), and SCIPstartDive().

◆ SCIPmarkRelaxSolValid()

SCIP_RETCODE SCIPmarkRelaxSolValid ( SCIP scip,
SCIP_RELAX relax,
SCIP_Bool  includeslp 
)

informs SCIP that the relaxation solution is valid and whether the relaxation can be enforced through linear cuts

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
relaxrelaxator data structure that set the current relaxation solution
includeslpdoes the relaxator contain all cuts in the LP?

Definition at line 2556 of file scip_var.c.

References FALSE, NULL, Scip::relaxation, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPrelaxationSetSolRelax(), SCIPrelaxationSetSolValid(), and TRUE.

Referenced by SCIP_DECL_RELAXEXEC().

◆ SCIPmarkRelaxSolInvalid()

SCIP_RETCODE SCIPmarkRelaxSolInvalid ( SCIP scip)

informs SCIP, that the relaxation solution is invalid

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 2581 of file scip_var.c.

References FALSE, NULL, Scip::relaxation, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPrelaxationSetSolValid(), and TRUE.

◆ SCIPgetRelaxSolVal()

SCIP_Real SCIPgetRelaxSolVal ( SCIP scip,
SCIP_VAR var 
)

gets the relaxation solution value of the given variable

Returns
the relaxation solution value of the given variable
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get value for

Definition at line 2602 of file scip_var.c.

References FALSE, NULL, Scip::relaxation, SCIP_Var::scip, SCIP_CALL_ABORT, SCIP_INVALID, SCIPABORT, SCIPcheckStage(), SCIPerrorMessage, SCIPrelaxationIsSolValid(), SCIPvarGetRelaxSol(), Scip::set, and TRUE.

Referenced by performRelaxSimpleRounding().

◆ SCIPgetRelaxSolObj()

SCIP_Real SCIPgetRelaxSolObj ( SCIP scip)

gets the relaxation solution objective value

Returns
the objective value of the relaxation solution
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 2631 of file scip_var.c.

References FALSE, NULL, Scip::relaxation, SCIP_CALL_ABORT, SCIP_INVALID, SCIPABORT, SCIPcheckStage(), SCIPerrorMessage, SCIPrelaxationGetSolObj(), SCIPrelaxationIsSolValid(), and TRUE.

Referenced by SCIP_DECL_RELAXEXEC().

◆ SCIPisStrongbranchDownFirst()

SCIP_Bool SCIPisStrongbranchDownFirst ( SCIP scip,
SCIP_VAR var 
)

determine which branching direction should be evaluated first by strong branching

Returns
TRUE iff strong branching should first evaluate the down child
Parameters
scipSCIP data structure
varvariable to determine the branching direction on

Definition at line 2654 of file scip_var.c.

References SCIP_Set::branch_firstsbchild, FALSE, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIPgetVarAvgCutoffs(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), Scip::set, and TRUE.

Referenced by SCIPgetVarStrongbranchWithPropagation(), and selectVarRecursive().

◆ SCIPstartStrongbranch()

SCIP_RETCODE SCIPstartStrongbranch ( SCIP scip,
SCIP_Bool  enablepropagation 
)

start strong branching - call before any strong branching

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
if propagation is enabled, strong branching is not done directly on the LP, but probing nodes are created which allow to perform propagation but also creates some overhead
Parameters
scipSCIP data structure
enablepropagationshould propagation be done before solving the strong branching LP?

Definition at line 2685 of file scip_var.c.

References FALSE, SCIP_Stat::lastsblpsolstats, Scip::lp, SCIP_Stat::lpcount, Scip::mem, SCIP_Stat::nsbdivinglps, NULL, SCIP_Mem::probmem, Scip::relaxation, SCIP_CALL, SCIP_INVALIDCALL, SCIP_LONGINT_FORMAT, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, SCIPcheckStage(), SCIPdebugMsg, SCIPerrorMessage, SCIPinProbing(), SCIPlpDiving(), SCIPlpStartStrongbranch(), SCIPlpStartStrongbranchProbing(), SCIPtreeProbing(), SCIPtreeStartProbing(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by execRelpscost(), runVanillaStrongBranching(), SCIPselectVarPseudoStrongBranching(), and SCIPselectVarStrongBranching().

◆ SCIPendStrongbranch()

◆ SCIPgetVarStrongbranchFrac()

SCIP_RETCODE SCIPgetVarStrongbranchFrac ( SCIP scip,
SCIP_VAR var,
int  itlim,
SCIP_Bool  idempotent,
SCIP_Real down,
SCIP_Real up,
SCIP_Bool downvalid,
SCIP_Bool upvalid,
SCIP_Bool downinf,
SCIP_Bool upinf,
SCIP_Bool downconflict,
SCIP_Bool upconflict,
SCIP_Bool lperror 
)

gets strong branching information on column variable with fractional value

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

gets strong branching information on column variable with fractional value

Before calling this method, the strong branching mode must have been activated by calling SCIPstartStrongbranch(); after strong branching was done for all candidate variables, the strong branching mode must be ended by SCIPendStrongbranch(). Since this method does not apply domain propagation before strongbranching, propagation should not be enabled in the SCIPstartStrongbranch() call.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get strong branching values for
itlimiteration limit for strong branchings
idempotentshould scip's state remain the same after the call (statistics, column states...), or should it be updated ?
downstores dual bound after branching column down
upstores dual bound after branching column up
downvalidstores whether the returned down value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value
upvalidstores whether the returned up value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value
downinfpointer to store whether the downwards branch is infeasible, or NULL
upinfpointer to store whether the upwards branch is infeasible, or NULL
downconflictpointer to store whether a conflict constraint was created for an infeasible downwards branch, or NULL
upconflictpointer to store whether a conflict constraint was created for an infeasible upwards branch, or NULL
lperrorpointer to store whether an unresolved LP error occurred or the solving process should be stopped (e.g., due to a time limit)

Definition at line 2918 of file scip_var.c.

References analyzeStrongbranch(), SCIP_Lp::cutoffbound, FALSE, Scip::lp, SCIP_Set::misc_exactsolve, NULL, SCIP_Var::scip, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPcheckStage(), SCIPcolGetStrongbranch(), SCIPcolIsInLP(), SCIPerrorMessage, SCIPprobAllColsInLP(), SCIPsetIsGE(), SCIPsolveIsStopped(), SCIPtreeProbing(), SCIPvarGetCol(), SCIPvarGetName(), SCIPvarGetStatus(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by execRelpscost(), runVanillaStrongBranching(), SCIPselectVarPseudoStrongBranching(), and SCIPselectVarStrongBranching().

◆ SCIPgetVarStrongbranchWithPropagation()

SCIP_RETCODE SCIPgetVarStrongbranchWithPropagation ( SCIP scip,
SCIP_VAR var,
SCIP_Real  solval,
SCIP_Real  lpobjval,
int  itlim,
int  maxproprounds,
SCIP_Real down,
SCIP_Real up,
SCIP_Bool downvalid,
SCIP_Bool upvalid,
SCIP_Longint ndomredsdown,
SCIP_Longint ndomredsup,
SCIP_Bool downinf,
SCIP_Bool upinf,
SCIP_Bool downconflict,
SCIP_Bool upconflict,
SCIP_Bool lperror,
SCIP_Real newlbs,
SCIP_Real newubs 
)

gets strong branching information with previous domain propagation on column variable

Before calling this method, the strong branching mode must have been activated by calling SCIPstartStrongbranch(); after strong branching was done for all candidate variables, the strong branching mode must be ended by SCIPendStrongbranch(). Since this method applies domain propagation before strongbranching, propagation has to be be enabled in the SCIPstartStrongbranch() call.

Before solving the strong branching LP, domain propagation can be performed. The number of propagation rounds can be specified by the parameter maxproprounds.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Warning
When using this method, LP banching candidates and solution values must be copied beforehand, because they are updated w.r.t. the strong branching LP solution.
Parameters
scipSCIP data structure
varvariable to get strong branching values for
solvalvalue of the variable in the current LP solution
lpobjvalLP objective value of the current LP solution
itlimiteration limit for strong branchings
maxproproundsmaximum number of propagation rounds (-1: no limit, -2: parameter settings)
downstores dual bound after branching column down
upstores dual bound after branching column up
downvalidstores whether the returned down value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value
upvalidstores whether the returned up value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value
ndomredsdownpointer to store the number of domain reductions down, or NULL
ndomredsuppointer to store the number of domain reductions up, or NULL
downinfpointer to store whether the downwards branch is infeasible, or NULL
upinfpointer to store whether the upwards branch is infeasible, or NULL
downconflictpointer to store whether a conflict constraint was created for an infeasible downwards branch, or NULL
upconflictpointer to store whether a conflict constraint was created for an infeasible upwards branch, or NULL
lperrorpointer to store whether an unresolved LP error occurred or the solving process should be stopped (e.g., due to a time limit)
newlbsarray to store valid lower bounds for all active variables, or NULL
newubsarray to store valid upper bounds for all active variables, or NULL

Definition at line 3351 of file scip_var.c.

References SCIP_Set::branch_forceall, SCIP_Set::conf_enable, SCIP_Set::conf_usesb, Scip::conflict, FALSE, SCIP_Stat::lastsblpsolstats, Scip::lp, SCIP_Stat::nsbdivinglpiterations, NULL, performStrongbranchWithPropagation(), SCIP_Var::scip, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_Longint, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPallColsInLP(), SCIPcheckStage(), SCIPcolInvalidateStrongbranchData(), SCIPcolIsInLP(), SCIPcolSetStrongbranchData(), SCIPconflictGetNConflicts(), SCIPdebugMsg, SCIPerrorMessage, SCIPfeasCeil(), SCIPfeasFloor(), SCIPgetCutoffbound(), SCIPgetNVars(), SCIPgetVars(), SCIPinfinity(), SCIPinProbing(), SCIPisGE(), SCIPisStrongbranchDownFirst(), SCIPsolveIsStopped(), SCIPvarGetCol(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIPvarIsIntegral(), Scip::set, Scip::stat, and TRUE.

Referenced by execRelpscost(), and SCIPselectVarStrongBranching().

◆ SCIPgetVarStrongbranchInt()

SCIP_RETCODE SCIPgetVarStrongbranchInt ( SCIP scip,
SCIP_VAR var,
int  itlim,
SCIP_Bool  idempotent,
SCIP_Real down,
SCIP_Real up,
SCIP_Bool downvalid,
SCIP_Bool upvalid,
SCIP_Bool downinf,
SCIP_Bool upinf,
SCIP_Bool downconflict,
SCIP_Bool upconflict,
SCIP_Bool lperror 
)

gets strong branching information on column variable x with integral LP solution value (val); that is, the down branch is (val -1.0) and the up brach ins (val +1.0)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
If the integral LP solution value is the lower or upper bound of the variable, the corresponding branch will be marked as infeasible. That is, the valid pointer and the infeasible pointer are set to TRUE.
Parameters
scipSCIP data structure
varvariable to get strong branching values for
itlimiteration limit for strong branchings
idempotentshould scip's state remain the same after the call (statistics, column states...), or should it be updated ?
downstores dual bound after branching column down
upstores dual bound after branching column up
downvalidstores whether the returned down value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value
upvalidstores whether the returned up value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value
downinfpointer to store whether the downwards branch is infeasible, or NULL
upinfpointer to store whether the upwards branch is infeasible, or NULL
downconflictpointer to store whether a conflict constraint was created for an infeasible downwards branch, or NULL
upconflictpointer to store whether a conflict constraint was created for an infeasible upwards branch, or NULL
lperrorpointer to store whether an unresolved LP error occurred or the solving process should be stopped (e.g., due to a time limit)

Definition at line 3661 of file scip_var.c.

References analyzeStrongbranch(), SCIP_Lp::cutoffbound, FALSE, Scip::lp, SCIP_Set::misc_exactsolve, NULL, SCIP_Var::scip, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPcheckStage(), SCIPcolGetStrongbranch(), SCIPcolIsInLP(), SCIPerrorMessage, SCIPprobAllColsInLP(), SCIPsetIsGE(), SCIPsolveIsStopped(), SCIPvarGetCol(), SCIPvarGetName(), SCIPvarGetStatus(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

Referenced by runVanillaStrongBranching(), and SCIPselectVarPseudoStrongBranching().

◆ SCIPgetVarsStrongbranchesFrac()

SCIP_RETCODE SCIPgetVarsStrongbranchesFrac ( SCIP scip,
SCIP_VAR **  vars,
int  nvars,
int  itlim,
SCIP_Real down,
SCIP_Real up,
SCIP_Bool downvalid,
SCIP_Bool upvalid,
SCIP_Bool downinf,
SCIP_Bool upinf,
SCIP_Bool downconflict,
SCIP_Bool upconflict,
SCIP_Bool lperror 
)

gets strong branching information on column variables with fractional values

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varsvariables to get strong branching values for
nvarsnumber of variables
itlimiteration limit for strong branchings
downstores dual bounds after branching variables down
upstores dual bounds after branching variables up
downvalidstores whether the returned down values are valid dual bounds, or NULL; otherwise, they can only be used as an estimate value
upvalidstores whether the returned up values are valid dual bounds, or NULL; otherwise, they can only be used as an estimate value
downinfarray to store whether the downward branches are infeasible, or NULL
upinfarray to store whether the upward branches are infeasible, or NULL
downconflictarray to store whether conflict constraints were created for infeasible downward branches, or NULL
upconflictarray to store whether conflict constraints were created for infeasible upward branches, or NULL
lperrorpointer to store whether an unresolved LP error occurred or the solving process should be stopped (e.g., due to a time limit)

Definition at line 3772 of file scip_var.c.

References analyzeStrongbranch(), FALSE, Scip::lp, SCIP_Set::misc_exactsolve, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPallocBufferArray, SCIPcheckStage(), SCIPcolGetStrongbranches(), SCIPcolIsInLP(), SCIPerrorMessage, SCIPfreeBufferArray, SCIPprobAllColsInLP(), SCIPsolveIsStopped(), SCIPvarGetCol(), SCIPvarGetName(), SCIPvarGetStatus(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

◆ SCIPgetVarsStrongbranchesInt()

SCIP_RETCODE SCIPgetVarsStrongbranchesInt ( SCIP scip,
SCIP_VAR **  vars,
int  nvars,
int  itlim,
SCIP_Real down,
SCIP_Real up,
SCIP_Bool downvalid,
SCIP_Bool upvalid,
SCIP_Bool downinf,
SCIP_Bool upinf,
SCIP_Bool downconflict,
SCIP_Bool upconflict,
SCIP_Bool lperror 
)

gets strong branching information on column variables with integral values

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varsvariables to get strong branching values for
nvarsnumber of variables
itlimiteration limit for strong branchings
downstores dual bounds after branching variables down
upstores dual bounds after branching variables up
downvalidstores whether the returned down values are valid dual bounds, or NULL; otherwise, they can only be used as an estimate value
upvalidstores whether the returned up values are valid dual bounds, or NULL; otherwise, they can only be used as an estimate value
downinfarray to store whether the downward branches are infeasible, or NULL
upinfarray to store whether the upward branches are infeasible, or NULL
downconflictarray to store whether conflict constraints were created for infeasible downward branches, or NULL
upconflictarray to store whether conflict constraints were created for infeasible upward branches, or NULL
lperrorpointer to store whether an unresolved LP error occurred or the solving process should be stopped (e.g., due to a time limit)

Definition at line 3883 of file scip_var.c.

References analyzeStrongbranch(), FALSE, Scip::lp, SCIP_Set::misc_exactsolve, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPallocBufferArray, SCIPcheckStage(), SCIPcolGetStrongbranches(), SCIPcolIsInLP(), SCIPerrorMessage, SCIPfreeBufferArray, SCIPprobAllColsInLP(), SCIPsolveIsStopped(), SCIPvarGetCol(), SCIPvarGetName(), SCIPvarGetStatus(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

◆ SCIPgetLastStrongbranchLPSolStat()

SCIP_LPSOLSTAT SCIPgetLastStrongbranchLPSolStat ( SCIP scip,
SCIP_BRANCHDIR  branchdir 
)

get LP solution status of last strong branching call (currently only works for strong branching with propagation)

Parameters
scipSCIP data structure
branchdirbranching direction for which LP solution status is requested

Definition at line 3987 of file scip_var.c.

References SCIP_Stat::lastsblpsolstats, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, and Scip::stat.

Referenced by execRelpscost().

◆ SCIPgetVarStrongbranchLast()

SCIP_RETCODE SCIPgetVarStrongbranchLast ( SCIP scip,
SCIP_VAR var,
SCIP_Real down,
SCIP_Real up,
SCIP_Bool downvalid,
SCIP_Bool upvalid,
SCIP_Real solval,
SCIP_Real lpobjval 
)

gets strong branching information on COLUMN variable of the last SCIPgetVarStrongbranch() call; returns values of SCIP_INVALID, if strong branching was not yet called on the given variable; keep in mind, that the returned old values may have nothing to do with the current LP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get last strong branching values for
downstores dual bound after branching column down
upstores dual bound after branching column up
downvalidstores whether the returned down value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value
upvalidstores whether the returned up value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value
solvalstores LP solution value of variable at the last strong branching call, or NULL
lpobjvalstores LP objective value at last strong branching call, or NULL

Definition at line 4009 of file scip_var.c.

References FALSE, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPcheckStage(), SCIPcolGetStrongbranchLast(), SCIPerrorMessage, SCIPvarGetCol(), SCIPvarGetStatus(), and TRUE.

Referenced by execRelpscost(), and SCIPselectVarStrongBranching().

◆ SCIPsetVarStrongbranchData()

SCIP_RETCODE SCIPsetVarStrongbranchData ( SCIP scip,
SCIP_VAR var,
SCIP_Real  lpobjval,
SCIP_Real  primsol,
SCIP_Real  down,
SCIP_Real  up,
SCIP_Bool  downvalid,
SCIP_Bool  upvalid,
SCIP_Longint  iter,
int  itlim 
)

sets strong branching information for a column variable

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to set last strong branching values for
lpobjvalobjective value of the current LP
primsolprimal solution value of the column in the current LP
downdual bound after branching column down
updual bound after branching column up
downvalidis the returned down value a valid dual bound?
upvalidis the returned up value a valid dual bound?
itertotal number of strong branching iterations
itlimiteration limit applied to the strong branching call

Definition at line 4043 of file scip_var.c.

References FALSE, Scip::lp, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPcheckStage(), SCIPcolSetStrongbranchData(), SCIPerrorMessage, SCIPvarGetCol(), SCIPvarGetStatus(), Scip::set, Scip::stat, and TRUE.

◆ SCIPtryStrongbranchLPSol()

SCIP_RETCODE SCIPtryStrongbranchLPSol ( SCIP scip,
SCIP_Bool foundsol,
SCIP_Bool cutoff 
)

rounds the current solution and tries it afterwards; if feasible, adds it to storage

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
foundsolstores whether solution was feasible and good enough to keep
cutoffstores whether solution was cutoff due to exceeding the cutoffbound

Definition at line 4078 of file scip_var.c.

References SCIP_Set::branch_checksbsol, SCIP_Set::branch_roundsbsol, FALSE, SCIP_Primal::nbestsolsfound, SCIP_Stat::nsbbestsolsfound, SCIP_Stat::nsbsolsfound, NULL, Scip::primal, SCIP_Stat::sbsoltime, SCIP_Bool, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIPcheckStage(), SCIPclockStart(), SCIPclockStop(), SCIPcreateLPSol(), SCIPdebugMsg, SCIPfreeSol(), SCIPgetCutoffbound(), SCIPgetLPObjval(), SCIPisGE(), SCIProundSol(), SCIPsolSetStrongbranching(), SCIPtrySolFree(), Scip::set, Scip::stat, and TRUE.

Referenced by performStrongbranchWithPropagation().

◆ SCIPgetVarStrongbranchNode()

SCIP_Longint SCIPgetVarStrongbranchNode ( SCIP scip,
SCIP_VAR var 
)

gets node number of the last node in current branch and bound run, where strong branching was used on the given variable, or -1 if strong branching was never applied to the variable in current run

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get last strong branching node for

Definition at line 4159 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIP_VARSTATUS_COLUMN, SCIPcheckStage(), SCIPcolGetStrongbranchNode(), SCIPvarGetCol(), SCIPvarGetStatus(), and TRUE.

Referenced by execRelpscost(), isBranchFurtherLoopDecrement(), and SCIPselectVarStrongBranching().

◆ SCIPgetVarStrongbranchLPAge()

SCIP_Longint SCIPgetVarStrongbranchLPAge ( SCIP scip,
SCIP_VAR var 
)

if strong branching was already applied on the variable at the current node, returns the number of LPs solved after the LP where the strong branching on this variable was applied; if strong branching was not yet applied on the variable at the current node, returns INT_MAX

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get strong branching LP age for

Definition at line 4193 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIP_LONGINT_MAX, SCIP_VARSTATUS_COLUMN, SCIPcheckStage(), SCIPcolGetStrongbranchLPAge(), SCIPvarGetCol(), SCIPvarGetStatus(), Scip::stat, and TRUE.

Referenced by SCIPselectVarStrongBranching().

◆ SCIPgetVarNStrongbranchs()

int SCIPgetVarNStrongbranchs ( SCIP scip,
SCIP_VAR var 
)

gets number of times, strong branching was applied in current run on the given variable

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get last strong branching node for

Definition at line 4225 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIP_VARSTATUS_COLUMN, SCIPcheckStage(), SCIPcolGetNStrongbranchs(), SCIPvarGetCol(), SCIPvarGetStatus(), and TRUE.

Referenced by SCIPprintBranchingStatistics().

◆ SCIPaddVarLocksType()

SCIP_RETCODE SCIPaddVarLocksType ( SCIP scip,
SCIP_VAR var,
SCIP_LOCKTYPE  locktype,
int  nlocksdown,
int  nlocksup 
)

adds given values to lock numbers of type locktype of variable for rounding

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
locktypetype of the variable locks
nlocksdownmodification in number of rounding down locks
nlocksupmodification in number of rounding up locks

Definition at line 4258 of file scip_var.c.

References Scip::eventqueue, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPcheckStage(), SCIPerrorMessage, SCIPvarAddLocks(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, and TRUE.

Referenced by addAuxiliaryVariablesToMaster(), createCipFormulation(), createConstraints(), createDisaggrVars(), createObjRow(), freeDisaggrVars(), freeGenVBounds(), presolRoundIndicator(), SCIP_DECL_CONSEXIT(), SCIP_DECL_CONSINIT(), SCIP_DECL_CONSLOCK(), SCIP_DECL_SEPAEXITSOL(), SCIPaddVarLocks(), and SCIPbendersExit().

◆ SCIPaddVarLocks()

SCIP_RETCODE SCIPaddVarLocks ( SCIP scip,
SCIP_VAR var,
int  nlocksdown,
int  nlocksup 
)

adds given values to lock numbers of variable for rounding

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
This method will always add variable locks of type model

adds given values to lock numbers of variable for rounding

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
This method will always add variable locks of type model
It is recommented to use SCIPaddVarLocksType()
Parameters
scipSCIP data structure
varproblem variable
nlocksdownmodification in number of rounding down locks
nlocksupmodification in number of rounding up locks

Definition at line 4316 of file scip_var.c.

References FALSE, SCIP_CALL, SCIP_LOCKTYPE_MODEL, SCIP_OKAY, SCIPaddVarLocksType(), SCIPcheckStage(), and TRUE.

Referenced by createAuxVar(), freeAuxVar(), and propagateLocks().

◆ SCIPlockVarCons()

SCIP_RETCODE SCIPlockVarCons ( SCIP scip,
SCIP_VAR var,
SCIP_CONS cons,
SCIP_Bool  lockdown,
SCIP_Bool  lockup 
)

add locks of type locktype of variable with respect to the lock status of the constraint and its negation; this method should be called whenever the lock status of a variable in a constraint changes, for example if the coefficient of the variable changed its sign or if the left or right hand sides of the constraint were added or removed

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

add locks of variable with respect to the lock status of the constraint and its negation; this method should be called whenever the lock status of a variable in a constraint changes, for example if the coefficient of the variable changed its sign or if the left or right hand sides of the constraint were added or removed

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
consconstraint
lockdownshould the rounding be locked in downwards direction?
lockupshould the rounding be locked in upwards direction?

Definition at line 4350 of file scip_var.c.

References Scip::eventqueue, FALSE, Scip::mem, NLOCKTYPES, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPcheckStage(), SCIPconsIsLockedTypeNeg(), SCIPconsIsLockedTypePos(), SCIPerrorMessage, SCIPvarAddLocks(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, and TRUE.

Referenced by addExtendedAsymmetricFormulation(), addExtendedFlowFormulation(), applyFixings(), chgLhs(), chgRhs(), lockRounding(), lockRoundingAndCons(), lockVariableCardinality(), lockVariableSOS2(), preprocessConstraintPairs(), presolRoundIndicator(), SCIP_DECL_EVENTEXEC(), and tightenCoefs().

◆ SCIPunlockVarCons()

SCIP_RETCODE SCIPunlockVarCons ( SCIP scip,
SCIP_VAR var,
SCIP_CONS cons,
SCIP_Bool  lockdown,
SCIP_Bool  lockup 
)

remove locks of type locktype of variable with respect to the lock status of the constraint and its negation; this method should be called whenever the lock status of a variable in a constraint changes, for example if the coefficient of the variable changed its sign or if the left or right hand sides of the constraint were added or removed

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

remove locks of type locktype of variable with respect to the lock status of the constraint and its negation; this method should be called whenever the lock status of a variable in a constraint changes, for example if the coefficient of the variable changed its sign or if the left or right hand sides of the constraint were added or removed

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
consconstraint
lockdownshould the rounding be unlocked in downwards direction?
lockupshould the rounding be unlocked in upwards direction?

Definition at line 4436 of file scip_var.c.

References Scip::eventqueue, FALSE, Scip::mem, NLOCKTYPES, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPcheckStage(), SCIPconsIsLockedTypeNeg(), SCIPconsIsLockedTypePos(), SCIPerrorMessage, SCIPvarAddLocks(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, and TRUE.

Referenced by applyFixings(), chgLhs(), chgRhs(), consdataDeletePos(), delCoefPos(), lockRounding(), preprocessConstraintPairs(), presolRoundIndicator(), presolveConsEst(), presolveConsLct(), SCIP_DECL_EVENTEXEC(), tightenCoefs(), unlockRounding(), unlockRoundingAndCons(), unlockVariableCardinality(), and unlockVariableSOS2().

◆ SCIPchgVarObj()

SCIP_RETCODE SCIPchgVarObj ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newobj 
)

changes variable's objective value

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

changes variable's objective value

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to change the objective value for
newobjnew objective value

Definition at line 4512 of file scip_var.c.

References Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, Scip::primal, SCIP_Mem::probmem, REALABS, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPcheckStage(), SCIPerrorMessage, SCIPisInfinity(), SCIPvarChgObj(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, Scip::transprob, and TRUE.

Referenced by addLocalBranchingConstraint(), addScenarioVarsAndConsToProb(), AMPLProblemHandler::LinearPartHandler::AddTerm(), changeSubvariableObjective(), createBlockproblem(), createCoveringProblem(), createProbOnlyEdge(), createProbSimplified(), createProbSimplifiedTest(), createSubproblem(), createSubproblems(), createSubSCIP(), DECL_CHANGESUBSCIP(), getVariable(), infinityCountUpdate(), parseSolveItem(), readCnf(), readCols(), readConstraints(), readObjective(), reoptimize(), SCIP_DECL_HEUREXEC(), SCIPapplyProximity(), SCIPchgReoptObjective(), SCIPtransformMinUC(), setupAndSolveFiniteSolSubscip(), setupAndSolveSubscip(), and updateLambda().

◆ SCIPaddVarObj()

SCIP_RETCODE SCIPaddVarObj ( SCIP scip,
SCIP_VAR var,
SCIP_Real  addobj 
)

adds value to variable's objective value

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to change the objective value for
addobjadditional objective value

Definition at line 4561 of file scip_var.c.

References Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_TRANSFORMING, SCIPcheckStage(), SCIPerrorMessage, SCIPvarAddObj(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIPchgReoptObjective(), and setObjective().

◆ SCIPadjustedVarLb()

SCIP_Real SCIPadjustedVarLb ( SCIP scip,
SCIP_VAR var,
SCIP_Real  lb 
)

returns the adjusted (i.e. rounded, if the given variable is of integral type) lower bound value; does not change the bounds of the variable

Returns
adjusted lower bound for the given variable; the bound of the variable is not changed
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to adjust the bound for
lblower bound value to adjust

Definition at line 4612 of file scip_var.c.

References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarAdjustLb(), Scip::set, and TRUE.

Referenced by analyzeConflict(), analyzeConflictLowerbound(), computeRelaxedLowerbound(), preprocessConstraintPairs(), propagateCons(), propagateRedcostVar(), resolvePropagation(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_PRESOLEXEC(), scoreBranchingCandidates(), and updateBestCandidate().

◆ SCIPadjustedVarUb()

SCIP_Real SCIPadjustedVarUb ( SCIP scip,
SCIP_VAR var,
SCIP_Real  ub 
)

returns the adjusted (i.e. rounded, if the given variable is of integral type) upper bound value; does not change the bounds of the variable

Returns
adjusted upper bound for the given variable; the bound of the variable is not changed
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to adjust the bound for
ubupper bound value to adjust

Definition at line 4644 of file scip_var.c.

References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarAdjustUb(), Scip::set, and TRUE.

Referenced by analyzeConflict(), analyzeConflictUpperbound(), computeRelaxedUpperbound(), preprocessConstraintPairs(), propagateCons(), propagateRedcostVar(), resolvePropagation(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_PRESOLEXEC(), scoreBranchingCandidates(), and updateBestCandidate().

◆ SCIPchgVarLb()

SCIP_RETCODE SCIPchgVarLb ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound 
)

depending on SCIP's stage, changes lower bound of variable in the problem, in preprocessing, or in current node; if possible, adjusts bound to integral value; doesn't store any inference information in the bound change, such that in conflict analysis, this change is treated like a branching decision

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound

Definition at line 4675 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMING, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPcheckStage(), SCIPchgVarType(), SCIPerrorMessage, SCIPgetStage(), SCIPinProbing(), SCIPisInfinity(), SCIPnodeAddBoundchg(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustLb(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgLbOriginal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarIsBinary(), SCIPvarIsTransformed(), SCIPwarningMessage(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by createCoveringProblem(), createIndicatorConstraint(), generateOddCycleCut(), predBndStr(), propagateCons(), propagateRedcostBinvar(), propagateRedcostVar(), propagateRootRedcostBinvar(), propCardinality(), readBinaries(), readBounds(), readSemicontinuous(), reoptimize(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_PRESOLEXEC(), SCIPbendersSetupSubproblem(), SCIPchgVarLbNode(), SCIPendStrongbranch(), SCIPfixVar(), SCIPinferBinvarCons(), SCIPinferBinvarProp(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), setupProblem(), and updateAuxiliaryVarLowerbound().

◆ SCIPchgVarUb()

SCIP_RETCODE SCIPchgVarUb ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound 
)

depending on SCIP's stage, changes upper bound of variable in the problem, in preprocessing, or in current node; if possible, adjusts bound to integral value; doesn't store any inference information in the bound change, such that in conflict analysis, this change is treated like a branching decision

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound

Definition at line 4765 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_Bool, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMING, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPcheckStage(), SCIPchgVarType(), SCIPerrorMessage, SCIPgetStage(), SCIPinProbing(), SCIPisInfinity(), SCIPnodeAddBoundchg(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustUb(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarChgUbOriginal(), SCIPvarGetName(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), SCIPwarningMessage(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by addSSTConssOrbitAndUpdateSST(), createIndicatorConstraint(), generateOddCycleCut(), predBndStr(), propagateCons(), propagateRedcostBinvar(), propagateRedcostVar(), propagateRootRedcostBinvar(), readBinaries(), readBounds(), reoptimize(), SCIP_DECL_CONSPROP(), SCIP_DECL_PRESOLEXEC(), SCIPbendersSetupSubproblem(), SCIPchgVarUbNode(), SCIPendStrongbranch(), SCIPfixVar(), SCIPinferBinvarCons(), SCIPinferBinvarProp(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPsetSlackVarUb(), setupProblem(), and updateMIP().

◆ SCIPchgVarLbNode()

SCIP_RETCODE SCIPchgVarLbNode ( SCIP scip,
SCIP_NODE node,
SCIP_VAR var,
SCIP_Real  newbound 
)

changes lower bound of variable in the given node; if possible, adjust bound to integral value; doesn't store any inference information in the bound change, such that in conflict analysis, this change is treated like a branching decision

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can only be called if scip is in stage SCIP_STAGE_SOLVING
Parameters
scipSCIP data structure
nodenode to change bound at, or NULL for current node
varvariable to change the bound for
newboundnew value for bound

Definition at line 4845 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPcheckStage(), SCIPchgVarLb(), SCIPgetStage(), SCIPisInfinity(), SCIPnodeAddBoundchg(), SCIPvarAdjustLb(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPwarningMessage(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by branchOnBin(), branchUnbalancedCardinality(), createNAryBranch(), enforceConflictgraph(), enforceIndicators(), fixVariableZeroNode(), and performBranchingNoSol().

◆ SCIPchgVarUbNode()

SCIP_RETCODE SCIPchgVarUbNode ( SCIP scip,
SCIP_NODE node,
SCIP_VAR var,
SCIP_Real  newbound 
)

changes upper bound of variable in the given node; if possible, adjust bound to integral value; doesn't store any inference information in the bound change, such that in conflict analysis, this change is treated like a branching decision

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can only be called if scip is in stage SCIP_STAGE_SOLVING
Parameters
scipSCIP data structure
nodenode to change bound at, or NULL for current node
varvariable to change the bound for
newboundnew value for bound

Definition at line 4889 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPcheckStage(), SCIPchgVarUb(), SCIPgetStage(), SCIPisInfinity(), SCIPnodeAddBoundchg(), SCIPvarAdjustUb(), SCIPvarGetName(), SCIPvarGetUbLocal(), SCIPwarningMessage(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by branchOnBin(), createNAryBranch(), enforceConflictgraph(), enforceIndicators(), fixVariableZeroNode(), and performBranchingNoSol().

◆ SCIPchgVarLbGlobal()

SCIP_RETCODE SCIPchgVarLbGlobal ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound 
)

changes global lower bound of variable; if possible, adjust bound to integral value; also tightens the local bound, if the global bound is better than the local bound

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound

Definition at line 4942 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPcheckStage(), SCIPchgVarType(), SCIPerrorMessage, SCIPgetStage(), SCIPinProbing(), SCIPisInfinity(), SCIPnodeAddBoundchg(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustLb(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgLbOriginal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarIsBinary(), SCIPvarIsTransformed(), SCIPwarningMessage(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by applyDomainChanges(), checkRedundancy(), createSubSCIP(), DECL_CHANGESUBSCIP(), fixDiscreteVars(), freeMemory(), AMPLProblemHandler::OnVarBounds(), reboundIntegerVariables(), restrictToBinaryBounds(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EVENTEXEC(), SCIPapplyHeurDualval(), SCIPapplyProximity(), SCIPchgVarLbLazy(), and setupAndSolveSubscip().

◆ SCIPchgVarUbGlobal()

SCIP_RETCODE SCIPchgVarUbGlobal ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound 
)

changes global upper bound of variable; if possible, adjust bound to integral value; also tightens the local bound, if the global bound is better than the local bound

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound

Definition at line 5031 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_Bool, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPcheckStage(), SCIPchgVarType(), SCIPerrorMessage, SCIPgetStage(), SCIPinProbing(), SCIPisInfinity(), SCIPnodeAddBoundchg(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustUb(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarChgUbOriginal(), SCIPvarGetName(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), SCIPwarningMessage(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by applyDomainChanges(), checkRedundancy(), createSubSCIP(), DECL_CHANGESUBSCIP(), fixDiscreteVars(), freeMemory(), AMPLProblemHandler::OnVarBounds(), reboundIntegerVariables(), restrictToBinaryBounds(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EVENTEXEC(), SCIPapplyHeurDualval(), SCIPapplyProximity(), SCIPchgVarUbLazy(), and setupAndSolveSubscip().

◆ SCIPchgVarLbLazy()

SCIP_RETCODE SCIPchgVarLbLazy ( SCIP scip,
SCIP_VAR var,
SCIP_Real  lazylb 
)

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

Lazy bounds are bounds that are already enforced by constraints and the objective function. Setting a lazy lower bound has the consequence that for variables which lower bound equals the lazy lower bound, the lower bound does not need to be passed on to the LP solver. This is especially useful in a column generation (branch-and-price) setting.

Attention
If the variable has a global lower bound below lazylb, then the global lower bound is tightened to lazylb by a call to SCIPchgVarLbGlobal().
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
lazylbthe lazy lower bound to be set

Definition at line 5122 of file scip_var.c.

References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPchgVarLbGlobal(), SCIPisGT(), SCIPvarChgLbLazy(), SCIPvarGetLbGlobal(), Scip::set, and TRUE.

◆ SCIPchgVarUbLazy()

SCIP_RETCODE SCIPchgVarUbLazy ( SCIP scip,
SCIP_VAR var,
SCIP_Real  lazyub 
)

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

Lazy bounds are bounds that are already enforced by constraints and the objective function. Setting a lazy upper bound has the consequence that for variables which upper bound equals the lazy upper bound, the upper bound does not need to be passed on to the LP solver. This is especially useful in a column generation (branch-and-price) setting.

Attention
If the variable has a global upper bound above lazyub, then the global upper bound is tightened to lazyub by a call to SCIPchgVarUbGlobal().
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
lazyubthe lazy lower bound to be set

Definition at line 5163 of file scip_var.c.

References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPchgVarUbGlobal(), SCIPisLT(), SCIPvarChgUbLazy(), SCIPvarGetUbGlobal(), Scip::set, and TRUE.

Referenced by createInitialColumns(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PRICERFARKAS(), SCIP_DECL_PRICERREDCOST(), and SCIP_DECL_READERREAD().

◆ SCIPtightenVarLb()

SCIP_RETCODE SCIPtightenVarLb ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound,
SCIP_Bool  force,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

changes lower bound of variable in preprocessing or in the current node, if the new bound is tighter (w.r.t. bound strengthening epsilon) than the current bound; if possible, adjusts bound to integral value; doesn't store any inference information in the bound change, such that in conflict analysis, this change is treated like a branching decision

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound
forceforce tightening even if below bound strengthening tolerance
infeasiblepointer to store whether the new domain is empty
tightenedpointer to store whether the bound was tightened, or NULL

Definition at line 5202 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, MIN, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPcheckStage(), SCIPchgVarType(), SCIPcomputeVarLbLocal(), SCIPcomputeVarUbLocal(), SCIPerrorMessage, SCIPgetStage(), SCIPinDive(), SCIPinProbing(), SCIPisInfinity(), SCIPnodeAddBoundchg(), SCIPsetIsFeasGT(), SCIPsetIsLbBetter(), SCIPsetIsLE(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustLb(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgLbOriginal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarIsBinary(), SCIPvarIsTransformed(), SCIPwarningMessage(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by adjustOversizedJobBounds(), analyseVarOnoffBounds(), applyBdchgs(), applyFixings(), applyOrbitalReductionPart(), applyProbing(), applyProbingVar(), checkSystemGF2(), coretimesUpdateLb(), extractCycle(), inferboundsEdgeFinding(), initSepa(), preprocessConstraintPairs(), presolveRedundantConss(), propagateCons(), propagateLowerBoundVar(), propagateSelfReflectionVar(), propagateStaticLexred(), propagateStaticOrbitope(), propagateTTEF(), propagateUpperBoundSymVar(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_PRESOLEXEC(), SCIPanalyzeDeductionsProbing(), SCIPapplyHeurSubNlp(), SCIPincludePresolMILP(), SCIPselectVarStrongBranching(), separateCuts(), setupAndSolveSubscipRapidlearning(), solveAndEvalSubscip(), solveIndependentCons(), solveNlp(), solveSubproblem(), tightenAuxVarBounds(), tightenVarsBoundsSOS1(), and updateArcData().

◆ SCIPtightenVarUb()

SCIP_RETCODE SCIPtightenVarUb ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound,
SCIP_Bool  force,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

changes upper bound of variable in preprocessing or in the current node, if the new bound is tighter (w.r.t. bound strengthening epsilon) than the current bound; if possible, adjusts bound to integral value; doesn't store any inference information in the bound change, such that in conflict analysis, this change is treated like a branching decision

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound
forceforce tightening even if below bound strengthening tolerance
infeasiblepointer to store whether the new domain is empty
tightenedpointer to store whether the bound was tightened, or NULL

Definition at line 5319 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, MAX, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPcheckStage(), SCIPchgVarType(), SCIPcomputeVarLbLocal(), SCIPcomputeVarUbLocal(), SCIPerrorMessage, SCIPgetStage(), SCIPinDive(), SCIPinProbing(), SCIPisInfinity(), SCIPnodeAddBoundchg(), SCIPsetIsFeasLT(), SCIPsetIsGE(), SCIPsetIsLE(), SCIPsetIsUbBetter(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustUb(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarChgUbOriginal(), SCIPvarGetName(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), SCIPwarningMessage(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by adjustOversizedJobBounds(), analyseVarOnoffBounds(), applyBdchgs(), applyFixings(), applyOrbitalBranchingPropagations(), applyOrbitalReductionPart(), applyProbing(), applyProbingVar(), checkSystemGF2(), coretimesUpdateUb(), extractCycle(), getCover(), inferboundsEdgeFinding(), initSepa(), preprocessConstraintPairs(), presolveRedundantConss(), propagateCons(), propagateStaticLexred(), propagateStaticOrbitope(), propagateTTEF(), propagateUpperBoundSymVar(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_PRESOLEXEC(), SCIPanalyzeDeductionsProbing(), SCIPapplyHeurSubNlp(), SCIPincludePresolMILP(), SCIPselectVarStrongBranching(), setupAndSolveSubscipRapidlearning(), solveAndEvalSubscip(), solveIndependentCons(), solveNlp(), solveSubproblem(), tightenAuxVarBounds(), tightenVarsBoundsSOS1(), and updateArcData().

◆ SCIPinferVarFixCons()

SCIP_RETCODE SCIPinferVarFixCons ( SCIP scip,
SCIP_VAR var,
SCIP_Real  fixedval,
SCIP_CONS infercons,
int  inferinfo,
SCIP_Bool  force,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

fixes variable in preprocessing or in the current node, if the new bound is tighter (w.r.t. bound strengthening epsilon) than the current bound; if possible, adjusts bound to integral value; the given inference constraint is stored, such that the conflict analysis is able to find out the reason for the deduction of the bound change

Note
In presolving stage when not in probing mode the variable will be fixed directly, otherwise this method changes first the lowerbound by calling SCIPinferVarLbCons and second the upperbound by calling SCIPinferVarUbCons
If SCIP is in presolving stage, it can happen that the internal variable array (which get be accessed via SCIPgetVars()) gets resorted.
During presolving, an integer variable which bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
fixedvalnew value for fixation
inferconsconstraint that deduced the bound change
inferinfouser information for inference to help resolving the conflict
forceforce tightening even if below bound strengthening tolerance
infeasiblepointer to store whether the bound change is infeasible
tightenedpointer to store whether the bound was tightened, or NULL

Definition at line 5431 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_PRESOLVING, SCIPcheckStage(), SCIPgetStage(), SCIPinferVarLbCons(), SCIPinferVarUbCons(), SCIPtreeGetCurrentDepth(), SCIPvarFix(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

◆ SCIPinferVarLbCons()

SCIP_RETCODE SCIPinferVarLbCons ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound,
SCIP_CONS infercons,
int  inferinfo,
SCIP_Bool  force,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

changes lower bound of variable in preprocessing or in the current node, if the new bound is tighter (w.r.t. bound strengthening epsilon) than the current bound; if possible, adjusts bound to integral value; the given inference constraint is stored, such that the conflict analysis is able to find out the reason for the deduction of the bound change

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound
inferconsconstraint that deduced the bound change
inferinfouser information for inference to help resolving the conflict
forceforce tightening even if below bound strengthening tolerance
infeasiblepointer to store whether the bound change is infeasible
tightenedpointer to store whether the bound was tightened, or NULL

Definition at line 5500 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, MIN, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPcheckStage(), SCIPchgVarType(), SCIPcomputeVarLbLocal(), SCIPerrorMessage, SCIPgetStage(), SCIPinProbing(), SCIPisInfinity(), SCIPnodeAddBoundchg(), SCIPnodeAddBoundinfer(), SCIPsetIsFeasGT(), SCIPsetIsLbBetter(), SCIPsetIsLE(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustLb(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgLbOriginal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), SCIPwarningMessage(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by consFixLinkvar(), coretimesUpdateLb(), inferboundsEdgeFinding(), inferVariableZero(), processWatchedVars(), propagateCons(), propagateTTEF(), propIndicator(), propVariableNonzero(), propVariables(), SCIPinferVarFixCons(), separateCons(), and tightenedLinkvar().

◆ SCIPinferVarUbCons()

SCIP_RETCODE SCIPinferVarUbCons ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound,
SCIP_CONS infercons,
int  inferinfo,
SCIP_Bool  force,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

changes upper bound of variable in preprocessing or in the current node, if the new bound is tighter (w.r.t. bound strengthening epsilon) than the current bound; if possible, adjusts bound to integral value; the given inference constraint is stored, such that the conflict analysis is able to find out the reason for the deduction of the bound change

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound
inferconsconstraint that deduced the bound change
inferinfouser information for inference to help resolving the conflict
forceforce tightening even if below bound strengthening tolerance
infeasiblepointer to store whether the bound change is infeasible
tightenedpointer to store whether the bound was tightened, or NULL

Definition at line 5614 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, MAX, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPcheckStage(), SCIPchgVarType(), SCIPcomputeVarUbLocal(), SCIPerrorMessage, SCIPgetStage(), SCIPinProbing(), SCIPisInfinity(), SCIPnodeAddBoundchg(), SCIPnodeAddBoundinfer(), SCIPsetIsFeasLT(), SCIPsetIsGE(), SCIPsetIsLE(), SCIPsetIsUbBetter(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustUb(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarChgUbOriginal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), SCIPwarningMessage(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by consFixLinkvar(), coretimesUpdateUb(), inferboundsEdgeFinding(), inferVariableZero(), processWatchedVars(), propagateCons(), propagateTTEF(), propIndicator(), propVariableNonzero(), propVariables(), SCIPinferVarFixCons(), separateCons(), and tightenedLinkvar().

◆ SCIPinferBinvarCons()

SCIP_RETCODE SCIPinferBinvarCons ( SCIP scip,
SCIP_VAR var,
SCIP_Bool  fixedval,
SCIP_CONS infercons,
int  inferinfo,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

depending on SCIP's stage, fixes binary variable in the problem, in preprocessing, or in current node; the given inference constraint is stored, such that the conflict analysis is able to find out the reason for the deduction of the fixing

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varbinary variable to fix
fixedvalvalue to fix binary variable to
inferconsconstraint that deduced the fixing
inferinfouser information for inference to help resolving the conflict
infeasiblepointer to store whether the fixing is infeasible
tightenedpointer to store whether the fixing tightened the local bounds, or NULL

Definition at line 5722 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIPcheckStage(), SCIPchgVarLb(), SCIPchgVarUb(), SCIPerrorMessage, SCIPnodeAddBoundinfer(), SCIPsetIsEQ(), SCIPsetIsLE(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarFix(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by analyzeZeroResultant(), consdataFixOperandsOne(), consdataFixResultantZero(), processBinvarFixings(), processFixings(), processRealBoundChg(), processWatchedVars(), propagateCons(), propagateFullOrbitopeCons(), propagatePackingPartitioningCons(), and SCIP_DECL_CONSPROP().

◆ SCIPinferVarFixProp()

SCIP_RETCODE SCIPinferVarFixProp ( SCIP scip,
SCIP_VAR var,
SCIP_Real  fixedval,
SCIP_PROP inferprop,
int  inferinfo,
SCIP_Bool  force,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

fixes variable in preprocessing or in the current node, if the new bound is tighter (w.r.t. bound strengthening epsilon) than the current bound; if possible, adjusts bound to integral value; the given inference constraint is stored, such that the conflict analysis is able to find out the reason for the deduction of the bound change

Note
In presolving stage when not in probing mode the variable will be fixed directly, otherwise this method changes first the lowerbound by calling SCIPinferVarLbProp and second the upperbound by calling SCIPinferVarUbProp
If SCIP is in presolving stage, it can happen that the internal variable array (which get be accessed via SCIPgetVars()) gets resorted.
During presolving, an integer variable which bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
fixedvalnew value for fixation
inferproppropagator that deduced the bound change
inferinfouser information for inference to help resolving the conflict
forceforce tightening even if below bound strengthening tolerance
infeasiblepointer to store whether the bound change is infeasible
tightenedpointer to store whether the bound was tightened, or NULL

Definition at line 5825 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_PRESOLVING, SCIPcheckStage(), SCIPgetStage(), SCIPinferVarLbProp(), SCIPinferVarUbProp(), SCIPtreeGetCurrentDepth(), SCIPvarFix(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

◆ SCIPinferVarLbProp()

SCIP_RETCODE SCIPinferVarLbProp ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound,
SCIP_PROP inferprop,
int  inferinfo,
SCIP_Bool  force,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

changes lower bound of variable in preprocessing or in the current node, if the new bound is tighter (w.r.t. bound strengthening epsilon) than the current bound; if possible, adjusts bound to integral value; the given inference propagator is stored, such that the conflict analysis is able to find out the reason for the deduction of the bound change

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound
inferproppropagator that deduced the bound change
inferinfouser information for inference to help resolving the conflict
forceforce tightening even if below bound strengthening tolerance
infeasiblepointer to store whether the bound change is infeasible
tightenedpointer to store whether the bound was tightened, or NULL

Definition at line 5894 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, MIN, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPcheckStage(), SCIPchgVarType(), SCIPcomputeVarLbLocal(), SCIPerrorMessage, SCIPgetStage(), SCIPinProbing(), SCIPisInfinity(), SCIPnodeAddBoundchg(), SCIPnodeAddBoundinfer(), SCIPsetIsFeasGT(), SCIPsetIsLbBetter(), SCIPsetIsLE(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustLb(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgLbOriginal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), SCIPwarningMessage(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by applyGenVBound(), propagateCutoffboundVar(), SCIPinferVarFixProp(), and tightenVarLb().

◆ SCIPinferVarUbProp()

SCIP_RETCODE SCIPinferVarUbProp ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound,
SCIP_PROP inferprop,
int  inferinfo,
SCIP_Bool  force,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

changes upper bound of variable in preprocessing or in the current node, if the new bound is tighter (w.r.t. bound strengthening epsilon) than the current bound; if possible, adjusts bound to integral value; the given inference propagator is stored, such that the conflict analysis is able to find out the reason for the deduction of the bound change

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound
inferproppropagator that deduced the bound change
inferinfouser information for inference to help resolving the conflict
forceforce tightening even if below bound strengthening tolerance
infeasiblepointer to store whether the bound change is infeasible
tightenedpointer to store whether the bound was tightened, or NULL

Definition at line 6009 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, MAX, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPcheckStage(), SCIPchgVarType(), SCIPcomputeVarUbLocal(), SCIPerrorMessage, SCIPgetStage(), SCIPinProbing(), SCIPisInfinity(), SCIPnodeAddBoundchg(), SCIPnodeAddBoundinfer(), SCIPsetIsFeasLT(), SCIPsetIsGE(), SCIPsetIsLE(), SCIPsetIsUbBetter(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustUb(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarChgUbOriginal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), SCIPwarningMessage(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by applyGenVBound(), propagateCutoffboundVar(), SCIPinferVarFixProp(), and tightenVarUb().

◆ SCIPinferBinvarProp()

SCIP_RETCODE SCIPinferBinvarProp ( SCIP scip,
SCIP_VAR var,
SCIP_Bool  fixedval,
SCIP_PROP inferprop,
int  inferinfo,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

depending on SCIP's stage, fixes binary variable in the problem, in preprocessing, or in current node; the given inference propagator is stored, such that the conflict analysis is able to find out the reason for the deduction of the fixing

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varbinary variable to fix
fixedvalvalue to fix binary variable to
inferproppropagator that deduced the fixing
inferinfouser information for inference to help resolving the conflict
infeasiblepointer to store whether the fixing is infeasible
tightenedpointer to store whether the fixing tightened the local bounds, or NULL

Definition at line 6119 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIPcheckStage(), SCIPchgVarLb(), SCIPchgVarUb(), SCIPerrorMessage, SCIPnodeAddBoundinfer(), SCIPsetIsEQ(), SCIPsetIsLE(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarFix(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

◆ SCIPtightenVarLbGlobal()

SCIP_RETCODE SCIPtightenVarLbGlobal ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound,
SCIP_Bool  force,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

changes global lower bound of variable in preprocessing or in the current node, if the new bound is tighter (w.r.t. bound strengthening epsilon) than the current global bound; if possible, adjusts bound to integral value; also tightens the local bound, if the global bound is better than the local bound

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound
forceforce tightening even if below bound strengthening tolerance
infeasiblepointer to store whether the new domain is empty
tightenedpointer to store whether the bound was tightened, or NULL

Definition at line 6227 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, MIN, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMING, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPcheckStage(), SCIPchgVarType(), SCIPcomputeVarLbGlobal(), SCIPerrorMessage, SCIPgetStage(), SCIPinProbing(), SCIPisInfinity(), SCIPnodeAddBoundchg(), SCIPsetIsEQ(), SCIPsetIsFeasGT(), SCIPsetIsLbBetter(), SCIPsetIsLE(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustLb(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgLbOriginal(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), SCIPwarningMessage(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by applyBoundChanges(), applyGenVBound(), objimplicsCreate(), propagateCutoffboundVar(), propagateLowerboundBinvar(), propagateLowerboundVar(), propagateRootRedcostVar(), setupAndSolveSubscipRapidlearning(), tightenBounds(), tightenCoefs(), and tightenVarLb().

◆ SCIPtightenVarUbGlobal()

SCIP_RETCODE SCIPtightenVarUbGlobal ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound,
SCIP_Bool  force,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

changes global upper bound of variable in preprocessing or in the current node, if the new bound is tighter (w.r.t. bound strengthening epsilon) than the current global bound; if possible, adjusts bound to integral value; also tightens the local bound, if the global bound is better than the local bound

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound
forceforce tightening even if below bound strengthening tolerance
infeasiblepointer to store whether the new domain is empty
tightenedpointer to store whether the bound was tightened, or NULL

Definition at line 6347 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, MAX, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMING, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPcheckStage(), SCIPchgVarType(), SCIPcomputeVarUbGlobal(), SCIPerrorMessage, SCIPgetStage(), SCIPinProbing(), SCIPisInfinity(), SCIPnodeAddBoundchg(), SCIPsetIsEQ(), SCIPsetIsFeasLT(), SCIPsetIsLE(), SCIPsetIsUbBetter(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustUb(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarChgUbOriginal(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), SCIPwarningMessage(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by applyBoundChanges(), applyGenVBound(), objimplicsCreate(), propagateCutoffboundVar(), propagateLowerboundVar(), propagateRootRedcostVar(), setupAndSolveSubscipRapidlearning(), tightenBounds(), tightenCoefs(), and tightenVarUb().

◆ SCIPcomputeVarLbGlobal()

SCIP_Real SCIPcomputeVarLbGlobal ( SCIP scip,
SCIP_VAR var 
)

for a multi-aggregated variable, returns 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 results in a call to SCIPvarGetLbGlobal.

Returns
the global lower bound computed by adding the global bounds from all aggregation variables
Parameters
scipSCIP data structure
varvariable to compute the bound for

Definition at line 6462 of file scip_var.c.

References NULL, SCIP_VARSTATUS_MULTAGGR, SCIPvarGetLbGlobal(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetStatus(), and Scip::set.

Referenced by applyGlobalBounds(), and SCIPtightenVarLbGlobal().

◆ SCIPcomputeVarUbGlobal()

SCIP_Real SCIPcomputeVarUbGlobal ( SCIP scip,
SCIP_VAR var 
)

for a multi-aggregated variable, returns the global upper bound computed by adding the global bounds from all aggregation variables

This global 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 results in a call to SCIPvarGetUbGlobal.

Returns
the global upper bound computed by adding the global bounds from all aggregation variables

for a multi-aggregated variable, returns the global upper bound computed by adding the global bounds from all aggregation variables

This global 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 results in a call to SCIPvarGetUbGlobal

Returns
the global upper bound computed by adding the global bounds from all aggregation variables
Parameters
scipSCIP data structure
varvariable to compute the bound for

Definition at line 6483 of file scip_var.c.

References NULL, SCIP_VARSTATUS_MULTAGGR, SCIPvarGetMultaggrUbGlobal(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), and Scip::set.

Referenced by applyGlobalBounds(), and SCIPtightenVarUbGlobal().

◆ SCIPcomputeVarLbLocal()

SCIP_Real SCIPcomputeVarLbLocal ( SCIP scip,
SCIP_VAR var 
)

for a multi-aggregated variable, returns the local lower bound computed by adding the local bounds from all aggregation variables

This local 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 results in a call to SCIPvarGetLbLocal.

Returns
the local lower bound computed by adding the global bounds from all aggregation variables
Parameters
scipSCIP data structure
varvariable to compute the bound for

Definition at line 6504 of file scip_var.c.

References NULL, SCIP_VARSTATUS_MULTAGGR, SCIPvarGetLbLocal(), SCIPvarGetMultaggrLbLocal(), SCIPvarGetStatus(), and Scip::set.

Referenced by checkSystemGF2(), createNAryBranch(), isLiteralSatisfied(), isLiteralViolated(), registerBranchingCandidates(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPtightenVarLb(), SCIPtightenVarUb(), and updateBestCandidate().

◆ SCIPcomputeVarUbLocal()

SCIP_Real SCIPcomputeVarUbLocal ( SCIP scip,
SCIP_VAR var 
)

for a multi-aggregated variable, returns the local upper bound computed by adding the local bounds from all aggregation variables

This local 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 results in a call to SCIPvarGetUbLocal.

Returns
the local upper bound computed by adding the global bounds from all aggregation variables
Parameters
scipSCIP data structure
varvariable to compute the bound for

Definition at line 6525 of file scip_var.c.

References NULL, SCIP_VARSTATUS_MULTAGGR, SCIPvarGetMultaggrUbLocal(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), and Scip::set.

Referenced by checkSystemGF2(), createNAryBranch(), isLiteralSatisfied(), isLiteralViolated(), registerBranchingCandidates(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPtightenVarLb(), SCIPtightenVarUb(), and updateBestCandidate().

◆ SCIPgetVarMultaggrLbGlobal()

SCIP_Real SCIPgetVarMultaggrLbGlobal ( SCIP scip,
SCIP_VAR var 
)

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
scipSCIP data structure
varvariable to compute the bound for

Definition at line 6545 of file scip_var.c.

References SCIP_VARSTATUS_MULTAGGR, SCIPvarGetMultaggrLbGlobal(), SCIPvarGetStatus(), and Scip::set.

◆ SCIPgetVarMultaggrUbGlobal()

SCIP_Real SCIPgetVarMultaggrUbGlobal ( SCIP scip,
SCIP_VAR var 
)

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
scipSCIP data structure
varvariable to compute the bound for

Definition at line 6560 of file scip_var.c.

References SCIP_VARSTATUS_MULTAGGR, SCIPvarGetMultaggrUbGlobal(), SCIPvarGetStatus(), and Scip::set.

◆ SCIPgetVarMultaggrLbLocal()

SCIP_Real SCIPgetVarMultaggrLbLocal ( SCIP scip,
SCIP_VAR var 
)

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
scipSCIP data structure
varvariable to compute the bound for

Definition at line 6575 of file scip_var.c.

References SCIP_VARSTATUS_MULTAGGR, SCIPvarGetMultaggrLbLocal(), SCIPvarGetStatus(), and Scip::set.

◆ SCIPgetVarMultaggrUbLocal()

SCIP_Real SCIPgetVarMultaggrUbLocal ( SCIP scip,
SCIP_VAR var 
)

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
scipSCIP data structure
varvariable to compute the bound for

Definition at line 6590 of file scip_var.c.

References SCIP_VARSTATUS_MULTAGGR, SCIPvarGetMultaggrUbLocal(), SCIPvarGetStatus(), and Scip::set.

◆ SCIPgetVarClosestVlb()

SCIP_RETCODE SCIPgetVarClosestVlb ( SCIP scip,
SCIP_VAR var,
SCIP_SOL sol,
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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can only be called if scip is in stage SCIP_STAGE_SOLVING
Parameters
scipSCIP data structure
varactive problem variable
solprimal solution, or NULL for LP solution
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 6608 of file scip_var.c.

References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarGetClosestVlb(), Scip::set, Scip::stat, and TRUE.

Referenced by findBestLb(), separateCuts(), setupAggregationData(), and transformNonIntegralRow().

◆ SCIPgetVarClosestVub()

SCIP_RETCODE SCIPgetVarClosestVub ( SCIP scip,
SCIP_VAR var,
SCIP_SOL sol,
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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can only be called if scip is in stage SCIP_STAGE_SOLVING
Parameters
scipSCIP data structure
varactive problem variable
solprimal solution, or NULL for LP solution
closestvubpointer to store the value of the closest variable lower bound
closestvubidxpointer to store the index of the closest variable lower bound

Definition at line 6631 of file scip_var.c.

References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarGetClosestVub(), Scip::set, Scip::stat, and TRUE.

Referenced by findBestUb(), separateCuts(), setupAggregationData(), and transformNonIntegralRow().

◆ SCIPaddVarVlb()

SCIP_RETCODE SCIPaddVarVlb ( SCIP scip,
SCIP_VAR var,
SCIP_VAR vlbvar,
SCIP_Real  vlbcoef,
SCIP_Real  vlbconstant,
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; if z is non-continuous and 1/b not too small, the corresponding valid upper/lower bound z <= (x-d)/b or z >= (x-d)/b (depending on the sign of of b) is added, too; improves the global bounds of the variable and the vlb variable if possible

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
vlbvarvariable z in x >= b*z + d
vlbcoefcoefficient b in x >= b*z + d
vlbconstantconstant d in x >= b*z + d
infeasiblepointer to store whether an infeasibility was detected
nbdchgspointer to store the number of performed bound changes, or NULL

Definition at line 6660 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIP_VARTYPE_CONTINUOUS, SCIPcheckStage(), SCIPisZero(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarGetType(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIP_DECL_CONSPRESOL(), SCIPanalyzeDeductionsProbing(), and strengthenVarbounds().

◆ SCIPaddVarVub()

SCIP_RETCODE SCIPaddVarVub ( SCIP scip,
SCIP_VAR var,
SCIP_VAR vubvar,
SCIP_Real  vubcoef,
SCIP_Real  vubconstant,
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; if z is non-continuous and 1/b not too small, the corresponding valid lower/upper bound z >= (x-d)/b or z <= (x-d)/b (depending on the sign of of b) is added, too; improves the global bounds of the variable and the vlb variable if possible

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
vubvarvariable z in x <= b*z + d
vubcoefcoefficient b in x <= b*z + d
vubconstantconstant d in x <= b*z + d
infeasiblepointer to store whether an infeasibility was detected
nbdchgspointer to store the number of performed bound changes, or NULL

Definition at line 6719 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIP_VARTYPE_CONTINUOUS, SCIPcheckStage(), SCIPisZero(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarGetType(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIP_DECL_CONSPRESOL(), and SCIPanalyzeDeductionsProbing().

◆ SCIPaddVarImplication()

SCIP_RETCODE SCIPaddVarImplication ( SCIP scip,
SCIP_VAR var,
SCIP_Bool  varfixing,
SCIP_VAR implvar,
SCIP_BOUNDTYPE  impltype,
SCIP_Real  implbound,
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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
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
infeasiblepointer to store whether an infeasibility was detected
nbdchgspointer to store the number of performed bound changes, or NULL

Definition at line 6779 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_BINARY, SCIPaddClique(), SCIPcheckStage(), SCIPerrorMessage, SCIPisFeasEQ(), SCIPisFeasZero(), SCIPisInfinity(), SCIPvarAddImplic(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarGetLbGlobal(), SCIPvarGetProbvar(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsBinary(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by addCliques(), preprocessConstraintPairs(), SCIP_DECL_CONSPRESOL(), SCIPanalyzeDeductionsProbing(), and SCIPcopyImplicationsCliques().

◆ SCIPaddClique()

SCIP_RETCODE SCIPaddClique ( SCIP scip,
SCIP_VAR **  vars,
SCIP_Bool values,
int  nvars,
SCIP_Bool  isequation,
SCIP_Bool infeasible,
int *  nbdchgs 
)

adds a clique information to SCIP, stating that at most one of the given binary variables can be set to 1; if a variable appears twice in the same clique, the corresponding implications are performed

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varsbinary variables in the clique from which at most one can be set to 1
valuesvalues of the variables in the clique; NULL to use TRUE for all vars
nvarsnumber of variables in the clique
isequationis the clique an equation or an inequality?
infeasiblepointer to store whether an infeasibility was detected
nbdchgspointer to store the number of performed bound changes, or NULL

Definition at line 6920 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPcliquetableAdd(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by addCliques(), fixDeleteOrUpgradeCons(), greedyCliqueAlgorithm(), SCIP_DECL_CONSPRESOL(), SCIPaddVarImplication(), and SCIPcopyImplicationsCliques().

◆ SCIPcalcCliquePartition()

SCIP_RETCODE SCIPcalcCliquePartition ( SCIP *const  scip,
SCIP_VAR **const  vars,
int const  nvars,
int *const  cliquepartition,
int *const  ncliques 
)

calculates a partition of the given set of binary variables into cliques; takes into account independent clique components

The algorithm performs the following steps:

  • recomputes connected components of the clique table, if necessary
  • computes a clique partition for every connected component greedily.
  • relabels the resulting clique partition such that it satisfies the description below

afterwards the output array contains one value for each variable, such that two variables got the same value iff they were assigned to the same clique; the first variable is always assigned to clique 0, and a variable can only be assigned to clique i if at least one of the preceding variables was assigned to clique i-1; for each clique at most 1 variables can be set to TRUE in a feasible solution;

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varsbinary variables in the clique from which at most one can be set to 1
nvarsnumber of variables in the clique
cliquepartitionarray of length nvars to store the clique partition
ncliquespointer to store the number of cliques actually contained in the partition

Definition at line 7255 of file scip_var.c.

References calcCliquePartitionGreedy(), Scip::cliquetable, FALSE, labelSortStable(), MAXNCLIQUEVARSCOMP, NULL, relabelOrderConsistent(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPblkmem(), SCIPcheckStage(), SCIPcliquetableComputeCliqueComponents(), SCIPcliquetableGetVarComponentIdx(), SCIPcliquetableNeedsComponentUpdate(), SCIPgetNCliques(), SCIPgetVarsData(), SCIPsetAllocBufferArray, SCIPsetDuplicateBufferArray, SCIPsetFreeBufferArray, SCIPvarIsActive(), SCIPvarsGetProbvarBinary(), Scip::set, and TRUE.

Referenced by deleteRedundantVars(), preprocessCliques(), SCIPcalcNegatedCliquePartition(), and tightenWeights().

◆ SCIPcalcNegatedCliquePartition()

SCIP_RETCODE SCIPcalcNegatedCliquePartition ( SCIP *const  scip,
SCIP_VAR **const  vars,
int const  nvars,
int *const  cliquepartition,
int *const  ncliques 
)

calculates a partition of the given set of binary variables into negated cliques; afterwards the output array contains one value for each variable, such that two variables got the same value iff they were assigned to the same negated clique; the first variable is always assigned to clique 0 and a variable can only be assigned to clique i if at least one of the preceding variables was assigned to clique i-1; for each clique with n_c variables at least n_c-1 variables can be set to TRUE in a feasible solution;

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varsbinary variables in the clique from which at most one can be set to 1
nvarsnumber of variables in the clique
cliquepartitionarray of length nvars to store the clique partition
ncliquespointer to store the number of cliques actually contained in the partition

Definition at line 7474 of file scip_var.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPcalcCliquePartition(), SCIPgetNegatedVar(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, and Scip::set.

◆ SCIPcleanupCliques()

SCIP_RETCODE SCIPcleanupCliques ( SCIP scip,
SCIP_Bool infeasible 
)

force SCIP to clean up all cliques; cliques do not get automatically cleaned up after presolving. Use this method to prevent inactive variables in cliques when retrieved via SCIPgetCliques()

Returns
SCIP_OKAY if everything worked, otherwise a suitable error code is passed
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
infeasiblepointer to store if cleanup detected infeasibility

Definition at line 7531 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_CALL, SCIP_CALL_ABORT, SCIP_OKAY, SCIP_STATUS_INFEASIBLE, SCIPcheckStage(), SCIPcliquetableCleanup(), Scip::set, Scip::stat, SCIP_Stat::status, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIPshrinkDisjunctiveVarSet(), separateCuts(), and shortenConss().

◆ SCIPgetNCliques()

int SCIPgetNCliques ( SCIP scip)

gets the number of cliques in the clique table

Returns
number of cliques in the clique table
Precondition
This method can be called if scip is in one of the following stages:

gets the number of cliques in the clique table

Returns
number of cliques in the clique table
Note
cliques do not get automatically cleaned up after presolving. Use SCIPcleanupCliques() to prevent inactive variables in cliques when retrieved via SCIPgetCliques(). This might reduce the number of cliques
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 7574 of file scip_var.c.

References Scip::cliquetable, FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPcliquetableGetNCliques(), and TRUE.

Referenced by applyCliqueFixings(), createConflictGraphSST(), removeConstraintsDueToNegCliques(), SCIPcalcCliquePartition(), SCIPcopyImplicationsCliques(), SCIPwriteCliqueGraph(), separateCuts(), separateOddCycles(), shortenConss(), tcliquegraphConstructCliqueTable(), and topologicalSort().

◆ SCIPgetNCliquesCreated()

int SCIPgetNCliquesCreated ( SCIP scip)

gets the number of cliques created so far by the cliquetable

Returns
number of cliques created so far by the cliquetable
Precondition
This method can be called if scip is in one of the following stages:

gets the number of cliques created so far by the cliquetable

Returns
number of cliques created so far by the cliquetable
Note
cliques do not get automatically cleaned up after presolving. Use SCIPcleanupCliques() to prevent inactive variables in cliques when retrieved via SCIPgetCliques(). This might reduce the number of cliques
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 7601 of file scip_var.c.

References Scip::cliquetable, FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPcliquetableGetNCliquesCreated(), and TRUE.

◆ SCIPgetCliques()

SCIP_CLIQUE** SCIPgetCliques ( SCIP scip)

gets the array of cliques in the clique table

Returns
array of cliques in the clique table
Precondition
This method can be called if scip is in one of the following stages:

gets the array of cliques in the clique table

Returns
array of cliques in the clique table
Note
cliques do not get automatically cleaned up after presolving. Use SCIPcleanupCliques() to prevent inactive variables in cliques when retrieved via SCIPgetCliques(). This might reduce the number of cliques
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 7628 of file scip_var.c.

References Scip::cliquetable, FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPcliquetableGetCliques(), and TRUE.

Referenced by applyCliqueFixings(), createConflictGraphSST(), SCIPcopyImplicationsCliques(), SCIPwriteCliqueGraph(), separateCuts(), and tcliquegraphConstructCliqueTable().

◆ SCIPhaveVarsCommonClique()

SCIP_Bool SCIPhaveVarsCommonClique ( SCIP scip,
SCIP_VAR var1,
SCIP_Bool  value1,
SCIP_VAR var2,
SCIP_Bool  value2,
SCIP_Bool  regardimplics 
)

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

Returns
TRUE, if there is a clique that contains both variable/clique pairs; FALSE, otherwise
Precondition
This method can be called if scip is in one of the following stages:
Note
a variable with it's negated variable are NOT! in a clique
a variable with itself are in a clique
Parameters
scipSCIP data structure
var1first variable
value1value of first variable
var2second variable
value2value of second variable
regardimplicsshould the implication graph also be searched for a clique?

Definition at line 7658 of file scip_var.c.

References Scip::cliquetable, FALSE, NULL, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPcliquetableGetNCliques(), SCIPvarGetNCliques(), SCIPvarIsActive(), SCIPvarIsBinary(), SCIPvarsHaveCommonClique(), and TRUE.

Referenced by liftCliqueVariables().

◆ SCIPwriteCliqueGraph()

SCIP_RETCODE SCIPwriteCliqueGraph ( SCIP scip,
const char *  fname,
SCIP_Bool  writenodeweights 
)

writes the clique graph to a gml file

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
there can be duplicated arcs in the output file

If writenodeweights is true, only nodes corresponding to variables that have a fractional value and only edges between such nodes are written.

Parameters
scipSCIP data structure
fnamename of file
writenodeweightsshould we write weights of nodes?

Definition at line 7709 of file scip_var.c.

References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_CALL_ABORT, SCIP_CALL_FINALLY, SCIP_INVALIDDATA, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPABORT, SCIPblkmem(), SCIPcheckStage(), SCIPcliqueGetNVars(), SCIPcliqueGetValues(), SCIPcliqueGetVars(), SCIPerrorMessage, SCIPgetCliques(), SCIPgetNCliques(), SCIPgetSolVal(), SCIPgetVarsData(), SCIPgmlWriteArc(), SCIPgmlWriteClosing(), SCIPgmlWriteNode(), SCIPgmlWriteNodeWeight(), SCIPgmlWriteOpening(), SCIPhashmapCreate(), SCIPhashmapExists(), SCIPhashmapFree(), SCIPhashmapInsertInt(), SCIPisFeasIntegral(), SCIPsnprintf(), SCIPvarGetName(), SCIPvarGetProbindex(), and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC(), and separateGLS().

◆ SCIPremoveVarFromGlobalStructures()

SCIP_RETCODE SCIPremoveVarFromGlobalStructures ( SCIP scip,
SCIP_VAR var 
)

Removes (irrelevant) variable from all its global structures, i.e. cliques, implications and variable bounds. This is an advanced method which should be used with care.

Returns
SCIP_OKAY if everything worked, otherwise a suitable error code is passed
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to remove from global structures

Definition at line 7858 of file scip_var.c.

References Scip::cliquetable, FALSE, NULL, SCIP_CALL, SCIP_CALL_ABORT, SCIP_OKAY, SCIPblkmem(), SCIPcheckStage(), SCIPvarMarkDeleteGlobalStructures(), SCIPvarRemoveCliquesImplicsVbs(), Scip::set, and TRUE.

Referenced by checkLocksAndRes().

◆ SCIPchgVarBranchFactor()

SCIP_RETCODE SCIPchgVarBranchFactor ( SCIP scip,
SCIP_VAR var,
SCIP_Real  branchfactor 
)

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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
branchfactorfactor to weigh variable's branching score with

Definition at line 7892 of file scip_var.c.

References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarChgBranchFactor(), Scip::set, and TRUE.

◆ SCIPscaleVarBranchFactor()

SCIP_RETCODE SCIPscaleVarBranchFactor ( SCIP scip,
SCIP_VAR var,
SCIP_Real  scale 
)

scales the branch factor of the variable with the given value

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
scalefactor to scale variable's branching factor with

Definition at line 7920 of file scip_var.c.

References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarChgBranchFactor(), SCIPvarGetBranchFactor(), Scip::set, and TRUE.

◆ SCIPaddVarBranchFactor()

SCIP_RETCODE SCIPaddVarBranchFactor ( SCIP scip,
SCIP_VAR var,
SCIP_Real  addfactor 
)

adds the given value to the branch factor of the variable

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
addfactorvalue to add to the branch factor of the variable

Definition at line 7948 of file scip_var.c.

References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarChgBranchFactor(), SCIPvarGetBranchFactor(), Scip::set, and TRUE.

◆ SCIPchgVarBranchPriority()

SCIP_RETCODE SCIPchgVarBranchPriority ( SCIP scip,
SCIP_VAR var,
int  branchpriority 
)

sets the branch priority of the variable; variables with higher branch priority are always preferred to variables with lower priority in selection of branching variable

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
the default branching priority is 0
Parameters
scipSCIP data structure
varproblem variable
branchprioritybranch priority of the variable

Definition at line 7979 of file scip_var.c.

References Scip::branchcand, FALSE, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPbranchcandUpdateVarBranchPriority(), SCIPcheckStage(), SCIPisTransformed(), SCIPvarChgBranchPriority(), Scip::set, and TRUE.

Referenced by createAndAddAndCons(), SCIP_DECL_DIALOGEXEC(), SCIPtransformMinUC(), and setObjective().

◆ SCIPupdateVarBranchPriority()

SCIP_RETCODE SCIPupdateVarBranchPriority ( SCIP scip,
SCIP_VAR var,
int  branchpriority 
)

changes the branch priority of the variable to the given value, if it is larger than the current priority

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
branchprioritynew branch priority of the variable, if it is larger than current priority

Definition at line 8020 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarChgBranchPriority(), SCIPvarGetBranchPriority(), and TRUE.

◆ SCIPaddVarBranchPriority()

SCIP_RETCODE SCIPaddVarBranchPriority ( SCIP scip,
SCIP_VAR var,
int  addpriority 
)

adds the given value to the branch priority of the variable

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
addpriorityvalue to add to the branch priority of the variable

Definition at line 8053 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarChgBranchPriority(), SCIPvarGetBranchPriority(), and TRUE.

◆ SCIPchgVarBranchDirection()

SCIP_RETCODE SCIPchgVarBranchDirection ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  branchdirection 
)

sets the branch direction of the variable (-1: prefer downwards branch, 0: automatic selection, +1: prefer upwards branch)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
branchdirectionpreferred branch direction of the variable (downwards, upwards, auto)

Definition at line 8084 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarChgBranchDirection(), and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC().

◆ SCIPchgVarType()

SCIP_RETCODE SCIPchgVarType ( SCIP scip,
SCIP_VAR var,
SCIP_VARTYPE  vartype,
SCIP_Bool infeasible 
)

changes type of variable in the problem;

Warning
This type change might change the variable array returned from SCIPgetVars() and SCIPgetVarsData();
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
If SCIP is already beyond the SCIP_STAGE_PROBLEM and a original variable is passed, the variable type of the corresponding transformed variable is changed; the type of the original variable does not change
If the type changes from a continuous variable to a non-continuous variable the bounds of the variable get adjusted w.r.t. to integrality information
Parameters
scipSCIP data structure
varvariable to change the bound for
vartypenew type of variable
infeasiblepointer to store whether an infeasibility was detected (, due to integrality condition of the new variable type)

Definition at line 8175 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, Scip::primal, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIPcheckStage(), SCIPchgVarType(), SCIPdebugMsg, SCIPerrorMessage, SCIPgetStage(), SCIPgetTransformedVar(), SCIPprobChgVarType(), SCIPvarChgType(), SCIPvarGetName(), SCIPvarGetNegationVar(), SCIPvarGetProbindex(), SCIPvarGetType(), SCIPvarIsNegated(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, tightenBounds(), Scip::transprob, and TRUE.

Referenced by createIndicatorConstraint(), createSubSCIP(), presolveImplint(), presolveSingleLockedVars(), readBinaries(), readBounds(), readGenerals(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_RELAXEXEC(), SCIPaddVarIndicator(), SCIPbendersChgMastervarsToCont(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPchgVarType(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPcreateConsAnd(), SCIPcreateConsIndicatorGeneric(), SCIPcreateConsIndicatorGenericLinConsPure(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), setupAndSolveFiniteSolSubscip(), and setupAndSolveSubscipRapidlearning().

◆ SCIPfixVar()

SCIP_RETCODE SCIPfixVar ( SCIP scip,
SCIP_VAR var,
SCIP_Real  fixedval,
SCIP_Bool infeasible,
SCIP_Bool fixed 
)

in problem creation and solving stage, both bounds of the variable are set to the given value; in presolving stage, the variable is converted into a fixed variable, and bounds are changed respectively; conversion into a fixed variable changes the vars array returned from SCIPgetVars() and SCIPgetVarsData(), and also renders arrays returned from the SCIPvarGetImpl...() methods invalid

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to fix
fixedvalvalue to fix variable to
infeasiblepointer to store whether the fixing is infeasible
fixedpointer to store whether the fixing was performed (variable was unfixed)

Definition at line 8275 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_ORIGINAL, SCIP_VARTYPE_CONTINUOUS, SCIPcheckStage(), SCIPchgVarLb(), SCIPchgVarUb(), SCIPerrorMessage, SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLT(), SCIPtreeGetCurrentDepth(), SCIPvarFix(), SCIPvarGetLbLocal(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbLocal(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by aggregateVariables(), analyseVarOnoffBounds(), applyAlternativeBoundsFixing(), applyFixings(), applyFixingsAndAggregations(), applyProbing(), checkForOverlapping(), checkVariable(), cliquePresolve(), consdataLinearize(), copyVars(), detectRedundantConstraints(), dualPresolve(), dualPresolving(), enforceSol(), fixDeleteOrUpgradeCons(), fixIntegerVariable(), fixIntegerVariableLb(), fixIntegerVariableUb(), fixTriangle(), fixVariableZero(), liftCliqueVariables(), main(), mergeMultiples(), performDualfix(), prepareCons(), preprocessConstraintPairs(), presolRoundCardinality(), presolRoundConsSOS1(), presolRoundIndicator(), presolRoundSOS2(), presolRoundVarsSOS1(), presolveConsEst(), presolveConsLct(), presolveCumulativeCondition(), presolvePropagateCons(), processNlRow(), propagateCons(), readSol(), removeDoubleAndSingletonsAndPerformDualpresolve(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_NLHDLRENFO(), SCIP_DECL_PRESOLEXEC(), SCIPanalyzeDeductionsProbing(), SCIPincludePresolMILP(), SCIPselectVarPseudoStrongBranching(), setupAndSolveFiniteSolSubscip(), setupProblem(), shortenConss(), solveAndEvalSubscip(), solveIndependentCons(), solveSubproblem(), tryFixVar(), tryUpgradingLogicor(), tryUpgradingSetppc(), and upgradeCons().

◆ SCIPaggregateVars()

SCIP_RETCODE SCIPaggregateVars ( SCIP scip,
SCIP_VAR varx,
SCIP_VAR vary,
SCIP_Real  scalarx,
SCIP_Real  scalary,
SCIP_Real  rhs,
SCIP_Bool infeasible,
SCIP_Bool redundant,
SCIP_Bool aggregated 
)

From a given equality a*x + b*y == c, aggregates one of the variables and removes it from the set of active problem variables. This changes the vars array returned from SCIPgetVars() and SCIPgetVarsData(), and also renders the arrays returned from the SCIPvarGetImpl...() methods for the two variables invalid. In the first step, the equality is transformed into an equality with active problem variables a'*x' + b'*y' == c'. If x' == y', this leads to the detection of redundancy if a' == -b' and c' == 0, of infeasibility, if a' == -b' and c' != 0, or to a variable fixing x' == c'/(a'+b') (and possible infeasibility) otherwise. In the second step, the variable to be aggregated is chosen among x' and y', prefering a less strict variable type as aggregation variable (i.e. continuous variables are preferred over implicit integers, implicit integers over integers, and 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.

The output flags have the following meaning:

  • infeasible: the problem is infeasible
  • redundant: the equality can be deleted from the constraint set
  • aggregated: the aggregation was successfully performed (the variables were not aggregated before)
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can only be called if scip is in stage SCIP_STAGE_PRESOLVING
Parameters
scipSCIP data structure
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
redundantpointer to store whether the equality is (now) redundant
aggregatedpointer to store whether the aggregation was successful

Definition at line 8400 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, SCIP_Set::presol_donotaggr, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPcheckStage(), SCIPerrorMessage, SCIPsetIsZero(), SCIPtreeGetCurrentDepth(), SCIPtreeProbing(), SCIPvarFix(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarTryAggregateVars(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by addExtendedAsymmetricFormulation(), addExtendedFlowFormulation(), aggregateVariables(), applyFixings(), applyFixingsAndAggregations(), checkCons(), cliquePresolve(), detectRedundantConstraints(), dualPresolve(), dualPresolving(), findAggregation(), multiAggregateBinvar(), performAggregations(), preprocessConstraintPairs(), presolvePropagateCons(), removeDoubleAndSingletonsAndPerformDualpresolve(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIPanalyzeDeductionsProbing(), SCIPincludePresolMILP(), tightenCoefs(), and upgradeConss().

◆ SCIPmultiaggregateVar()

SCIP_RETCODE SCIPmultiaggregateVar ( SCIP scip,
SCIP_VAR var,
int  naggvars,
SCIP_VAR **  aggvars,
SCIP_Real scalars,
SCIP_Real  constant,
SCIP_Bool infeasible,
SCIP_Bool aggregated 
)

converts variable into multi-aggregated variable; this changes the variable array returned from SCIPgetVars() and SCIPgetVarsData();

Warning
The integrality condition is not checked anymore on the multi-aggregated variable. You must not multi-aggregate an integer variable without being sure, that integrality on the aggregation variables implies integrality on the aggregated variable.

The output flags have the following meaning:

  • infeasible: the problem is infeasible
  • aggregated: the aggregation was successfully performed (the variables were not aggregated before)
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can only be called if scip is in stage SCIP_STAGE_PRESOLVING
Parameters
scipSCIP data structure
varvariable x to aggregate
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 8534 of file scip_var.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPtreeGetCurrentDepth(), SCIPtreeProbing(), SCIPvarMultiaggregate(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by aggregation(), multiAggregateBinvar(), and SCIPincludePresolMILP().

◆ SCIPdoNotAggr()

SCIP_Bool SCIPdoNotAggr ( SCIP scip)

◆ SCIPdoNotMultaggr()

SCIP_Bool SCIPdoNotMultaggr ( SCIP scip)

returns whether multi-aggregation is disabled

Parameters
scipSCIP data structure

Definition at line 8574 of file scip_var.c.

References NULL, SCIP_Set::presol_donotmultaggr, and Scip::set.

Referenced by removeDoubleAndSingletonsAndPerformDualpresolve(), and SCIP_DECL_HEUREXEC().

◆ SCIPdoNotAggrVar()

SCIP_Bool SCIPdoNotAggrVar ( SCIP scip,
SCIP_VAR var 
)

returns whether variable is not allowed to be aggregated

Parameters
scipSCIP data structure
varvariable x to aggregate

Definition at line 8584 of file scip_var.c.

References NULL, SCIP_Set::presol_donotaggr, SCIP_Var::scip, SCIPvarDoNotAggr(), and Scip::set.

◆ SCIPdoNotMultaggrVar()

SCIP_Bool SCIPdoNotMultaggrVar ( SCIP scip,
SCIP_VAR var 
)

returns whether variable is not allowed to be multi-aggregated

Parameters
scipSCIP data structure
varvariable x to aggregate

Definition at line 8597 of file scip_var.c.

References NULL, SCIP_Set::presol_donotmultaggr, SCIP_Var::scip, SCIPvarDoNotMultaggr(), and Scip::set.

Referenced by aggregation(), and SCIP_DECL_PRESOLEXEC().

◆ SCIPallowDualReds()

SCIP_Bool SCIPallowDualReds ( SCIP scip)

returns whether dual reductions are allowed during propagation and presolving

Deprecated:
Please use SCIPallowStrongDualReds()

returns whether dual reductions are allowed during propagation and presolving

Deprecated:
Please use SCIPallowStrongDualReds()
Parameters
scipSCIP data structure

Definition at line 8613 of file scip_var.c.

References SCIP_Set::misc_allowstrongdualreds, NULL, SCIP_Set::reopt_enable, and Scip::set.

◆ SCIPallowStrongDualReds()

SCIP_Bool SCIPallowStrongDualReds ( SCIP scip)

returns whether strong dual reductions are allowed during propagation and presolving

Note
A reduction is called strong dual, if it may discard feasible/optimal solutions, but leaves at least one optimal solution intact. Often such reductions are based on analyzing the objective function and variable locks.
Parameters
scipSCIP data structure

Definition at line 8628 of file scip_var.c.

References SCIP_Set::misc_allowstrongdualreds, NULL, SCIP_Set::reopt_enable, and Scip::set.

Referenced by enforceIndicators(), presolveCons(), propagateFullOrbitopeCons(), propagatePackingPartitioningCons(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSPROP(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_PROPPRESOL(), SCIPincludePresolMILP(), SCIPorbitopalReductionPropagate(), setupAndSolveSubscipRapidlearning(), and tryAddSymmetryHandlingMethods().

◆ SCIPallowObjProp()

SCIP_Bool SCIPallowObjProp ( SCIP scip)

returns whether propagation w.r.t. current objective is allowed

Deprecated:
Please use SCIPallowWeakDualReds()

returns whether propagation w.r.t. current objective is allowed

Deprecated:
Please use SCIPallowWeakDualReds()
Parameters
scipSCIP data structure

Definition at line 8641 of file scip_var.c.

References SCIP_Set::misc_allowweakdualreds, NULL, SCIP_Set::reopt_enable, and Scip::set.

◆ SCIPallowWeakDualReds()

SCIP_Bool SCIPallowWeakDualReds ( SCIP scip)

returns whether weak dual reductions are allowed during propagation and presolving

Note
A reduction is called weak dual, if it may discard feasible solutions, but leaves at all optimal solutions intact. Often such reductions are based on analyzing the objective function, reduced costs, and/or dual LPs.
Parameters
scipSCIP data structure

Definition at line 8655 of file scip_var.c.

References SCIP_Set::misc_allowweakdualreds, NULL, SCIP_Set::reopt_enable, and Scip::set.

Referenced by SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSPROP(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PROPEXEC(), SCIPincludePresolMILP(), and tryAddSymmetryHandlingMethods().

◆ SCIPmarkDoNotAggrVar()

SCIP_RETCODE SCIPmarkDoNotAggrVar ( SCIP scip,
SCIP_VAR var 
)

marks the variable that it must not be aggregated

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
There exists no "unmark" method since it has to be ensured that if a plugin requires that a variable is not aggregated that this is will be the case.
Parameters
scipSCIP data structure
varvariable to delete

Definition at line 8681 of file scip_var.c.

References FALSE, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarMarkDoNotAggr(), and TRUE.

◆ SCIPmarkDoNotMultaggrVar()

SCIP_RETCODE SCIPmarkDoNotMultaggrVar ( SCIP scip,
SCIP_VAR var 
)

marks the variable that it must not be multi-aggregated

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
There exists no "unmark" method since it has to be ensured that if a plugin requires that a variable is not multi-aggregated that this is will be the case.
Parameters
scipSCIP data structure
varvariable to delete

Definition at line 8714 of file scip_var.c.

References FALSE, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarMarkDoNotMultaggr(), and TRUE.

Referenced by addComponent(), addOrbitope(), consdataCreate(), createConstraints(), forbidNonlinearVariablesMultiaggration(), handleNewVariableCardinality(), handleNewVariableSOS1(), lexdataCreate(), SCIP_DECL_CONSTRANS(), SCIPcreateConsIndicatorGeneric(), SCIPcreateConsIndicatorGenericLinCons(), SCIPcreateConsIndicatorGenericLinConsPure(), SCIPcreateConsSOS1(), and SCIPcreateSchedulingProblem().

◆ SCIPenableVarHistory()

void SCIPenableVarHistory ( SCIP scip)

enables the collection of statistics for a variable

Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 8740 of file scip_var.c.

References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPstatEnableVarHistory(), Scip::stat, and TRUE.

Referenced by applyVbounds(), performRandRounding(), SCIP_DECL_HEUREXEC(), SCIPapplyProbingVar(), and SCIPperformGenericDivingAlgorithm().

◆ SCIPdisableVarHistory()

void SCIPdisableVarHistory ( SCIP scip)

disables the collection of any statistic for a variable

Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 8759 of file scip_var.c.

References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPstatDisableVarHistory(), Scip::stat, and TRUE.

Referenced by SCIP_DECL_HEUREXEC().

◆ SCIPupdateVarPseudocost()

SCIP_RETCODE SCIPupdateVarPseudocost ( SCIP scip,
SCIP_VAR var,
SCIP_Real  solvaldelta,
SCIP_Real  objdelta,
SCIP_Real  weight 
)

updates the pseudo costs of the given variable and the global pseudo costs after a change of "solvaldelta" in the variable's solution value and resulting change of "objdelta" in the in the LP's objective value; the update is ignored, if the objective value difference is infinite

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
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 8779 of file scip_var.c.

References SCIP_Set::branch_divingpscost, SCIP_Lp::diving, FALSE, Scip::lp, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPsetIsInfinity(), SCIPtreeProbing(), SCIPvarUpdatePseudocost(), Scip::set, Scip::stat, Scip::tree, and TRUE.

Referenced by executeBranchingRecursive(), runVanillaStrongBranching(), SCIPperformGenericDivingAlgorithm(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), and SCIPupdateVarPseudocostSymmetric().

◆ SCIPgetVarPseudocostVal()

SCIP_Real SCIPgetVarPseudocostVal ( SCIP scip,
SCIP_VAR var,
SCIP_Real  solvaldelta 
)

gets the variable's pseudo cost value for the given change of the variable's LP value

Returns
the variable's pseudo cost value for the given change of the variable's LP value
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
solvaldeltadifference of variable's new LP value - old LP value

Definition at line 8813 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetPseudocost(), Scip::stat, and TRUE.

Referenced by calcPscostQuot(), execRelpscost(), getVariablePscostScore(), scoreBranchingCandidates(), and updateBestCandidate().

◆ SCIPgetVarPseudocostValCurrentRun()

SCIP_Real SCIPgetVarPseudocostValCurrentRun ( SCIP scip,
SCIP_VAR var,
SCIP_Real  solvaldelta 
)

gets the variable's pseudo cost value for the given change of the variable's LP value, only using the pseudo cost information of the current run

Returns
the variable's pseudo cost value for the given change of the variable's LP value, only using the pseudo cost information of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
solvaldeltadifference of variable's new LP value - old LP value

Definition at line 8841 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetPseudocostCurrentRun(), Scip::stat, and TRUE.

◆ SCIPgetVarPseudocost()

SCIP_Real SCIPgetVarPseudocost ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

gets the variable's pseudo cost value for the given direction

Returns
the variable's pseudo cost value for the given direction
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 8867 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetPseudocost(), Scip::stat, and TRUE.

◆ SCIPgetVarPseudocostCurrentRun()

SCIP_Real SCIPgetVarPseudocostCurrentRun ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

gets the variable's pseudo cost value for the given direction, only using the pseudo cost information of the current run

Returns
the variable's pseudo cost value for the given direction, only using the pseudo cost information of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 8895 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetPseudocostCurrentRun(), Scip::stat, and TRUE.

Referenced by execRelpscost().

◆ SCIPgetVarPseudocostCount()

SCIP_Real SCIPgetVarPseudocostCount ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

gets the variable's (possible fractional) number of pseudo cost updates for the given direction

Returns
the variable's (possible fractional) number of pseudo cost updates for the given direction
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 8921 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetPseudocostCount(), and TRUE.

◆ SCIPgetVarPseudocostCountCurrentRun()

SCIP_Real SCIPgetVarPseudocostCountCurrentRun ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

gets the variable's (possible fractional) number of pseudo cost updates for the given direction, only using the pseudo cost information of the current run

Returns
the variable's (possible fractional) number of pseudo cost updates for the given direction, only using the pseudo cost information of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 8949 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetPseudocostCountCurrentRun(), and TRUE.

Referenced by execRelpscost(), scoreBranchingCandidates(), and sortFirstCandidatesByScore().

◆ SCIPgetVarPseudocostVariance()

SCIP_Real SCIPgetVarPseudocostVariance ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir,
SCIP_Bool  onlycurrentrun 
)

get pseudo cost variance of the variable, either for entire solve or only for current branch and bound run

Returns
returns the (corrected) variance of pseudo code information collected so far.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)
onlycurrentrunonly for pseudo costs of current branch and bound run

Definition at line 8975 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetPseudocostVariance(), and TRUE.

◆ SCIPcalculatePscostConfidenceBound()

SCIP_Real SCIPcalculatePscostConfidenceBound ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir,
SCIP_Bool  onlycurrentrun,
SCIP_CONFIDENCELEVEL  clevel 
)

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

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

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

Definition at line 8997 of file scip_var.c.

References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarCalcPscostConfidenceBound(), Scip::set, and TRUE.

◆ SCIPsignificantVarPscostDifference()

SCIP_Bool SCIPsignificantVarPscostDifference ( SCIP scip,
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
scipSCIP data structure
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 9028 of file scip_var.c.

References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarSignificantPscostDifference(), Scip::set, Scip::stat, and TRUE.

Referenced by execRelpscost().

◆ SCIPpscostThresholdProbabilityTest()

SCIP_Bool SCIPpscostThresholdProbabilityTest ( SCIP scip,
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
scipSCIP data structure
varvariable x
fracthe fractionality of variable x
thresholdthe threshold to test against
dirbranching direction
clevelconfidence level for rejecting hypothesis

Definition at line 9058 of file scip_var.c.

References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarPscostThresholdProbabilityTest(), Scip::set, Scip::stat, and TRUE.

Referenced by execRelpscost().

◆ SCIPisVarPscostRelerrorReliable()

SCIP_Bool SCIPisVarPscostRelerrorReliable ( SCIP scip,
SCIP_VAR var,
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

Returns
TRUE if relative error in variable pseudo costs is smaller than threshold
Parameters
scipSCIP data structure
varvariable in question
thresholdthreshold for relative errors to be considered reliable (enough)
clevela given confidence level

Definition at line 9077 of file scip_var.c.

References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarIsPscostRelerrorReliable(), Scip::set, Scip::stat, and TRUE.

Referenced by execRelpscost().

◆ SCIPgetVarPseudocostScore()

SCIP_Real SCIPgetVarPseudocostScore ( SCIP scip,
SCIP_VAR var,
SCIP_Real  solval 
)

gets the variable's pseudo cost score value for the given LP solution value

Returns
the variable's pseudo cost score value for the given LP solution value
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
solvalvariable's LP solution value

Definition at line 9102 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPcheckStage(), SCIPsetFeasCeil(), SCIPsetFeasFloor(), SCIPvarGetPseudocost(), Scip::set, Scip::stat, and TRUE.

Referenced by execRelpscost(), SCIP_DECL_BRANCHEXECLP(), and scoring().

◆ SCIPgetVarPseudocostScoreCurrentRun()

SCIP_Real SCIPgetVarPseudocostScoreCurrentRun ( SCIP scip,
SCIP_VAR var,
SCIP_Real  solval 
)

gets the variable's pseudo cost score value for the given LP solution value, only using the pseudo cost information of the current run

Returns
the variable's pseudo cost score value for the given LP solution value, only using the pseudo cost information of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
solvalvariable's LP solution value

Definition at line 9140 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPcheckStage(), SCIPsetFeasCeil(), SCIPsetFeasFloor(), SCIPvarGetPseudocostCurrentRun(), Scip::set, Scip::stat, and TRUE.

Referenced by execRelpscost().

◆ SCIPgetVarVSIDS()

SCIP_Real SCIPgetVarVSIDS ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

returns the variable's VSIDS value

Returns
the variable's VSIDS value
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 9176 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_INVALID, SCIPcheckStage(), SCIPerrorMessage, SCIPvarGetVSIDS(), Scip::stat, and TRUE.

Referenced by setupAndSolveSubscipRapidlearning().

◆ SCIPgetVarVSIDSCurrentRun()

SCIP_Real SCIPgetVarVSIDSCurrentRun ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

returns the variable's VSIDS value only using conflicts of the current run

Returns
the variable's VSIDS value only using conflicts of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 9208 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_INVALID, SCIPcheckStage(), SCIPerrorMessage, SCIPvarGetVSIDSCurrentRun(), Scip::stat, and TRUE.

◆ SCIPgetVarConflictScore()

SCIP_Real SCIPgetVarConflictScore ( SCIP scip,
SCIP_VAR var 
)

returns the variable's conflict score value

Returns
the variable's conflict score value
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable

Definition at line 9240 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPcheckStage(), SCIPvarGetVSIDS(), Scip::set, Scip::stat, and TRUE.

Referenced by computeFixingOrder(), execRelpscost(), getAggrScore(), performBranchingNoSol(), and performBranchingSol().

◆ SCIPgetVarConflictScoreCurrentRun()

SCIP_Real SCIPgetVarConflictScoreCurrentRun ( SCIP scip,
SCIP_VAR var 
)

returns the variable's conflict score value only using conflicts of the current run

Returns
the variable's conflict score value only using conflicts of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable

Definition at line 9271 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPcheckStage(), SCIPvarGetVSIDSCurrentRun(), Scip::set, Scip::stat, and TRUE.

◆ SCIPgetVarConflictlengthScore()

SCIP_Real SCIPgetVarConflictlengthScore ( SCIP scip,
SCIP_VAR var 
)

returns the variable's conflict length score

Returns
the variable's conflict length score
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable

Definition at line 9302 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPcheckStage(), SCIPvarGetAvgConflictlength(), Scip::set, and TRUE.

Referenced by execRelpscost().

◆ SCIPgetVarConflictlengthScoreCurrentRun()

SCIP_Real SCIPgetVarConflictlengthScoreCurrentRun ( SCIP scip,
SCIP_VAR var 
)

returns the variable's conflict length score only using conflicts of the current run

Returns
the variable's conflict length score only using conflicts of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable

Definition at line 9333 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPcheckStage(), SCIPvarGetAvgConflictlengthCurrentRun(), Scip::set, and TRUE.

◆ SCIPgetVarAvgConflictlength()

SCIP_Real SCIPgetVarAvgConflictlength ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

returns the variable's average conflict length

Returns
the variable's average conflict length
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 9364 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetAvgConflictlength(), and TRUE.

Referenced by setupAndSolveSubscipRapidlearning().

◆ SCIPgetVarAvgConflictlengthCurrentRun()

SCIP_Real SCIPgetVarAvgConflictlengthCurrentRun ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

returns the variable's average conflict length only using conflicts of the current run

Returns
the variable's average conflict length only using conflicts of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 9390 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetAvgConflictlengthCurrentRun(), and TRUE.

◆ SCIPgetVarAvgInferences()

SCIP_Real SCIPgetVarAvgInferences ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

returns the average number of inferences found after branching on the variable in given direction; if branching on the variable in the given direction was yet evaluated, the average number of inferences over all variables for branching in the given direction is returned

Returns
the average number of inferences found after branching on the variable in given direction
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 9418 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetAvgInferences(), Scip::stat, and TRUE.

Referenced by changeSubvariableObjective(), and setupAndSolveSubscipRapidlearning().

◆ SCIPgetVarAvgInferencesCurrentRun()

SCIP_Real SCIPgetVarAvgInferencesCurrentRun ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

returns the average number of inferences found after branching on the variable in given direction in the current run; if branching on the variable in the given direction was yet evaluated, the average number of inferences over all variables for branching in the given direction is returned

Returns
the average number of inferences found after branching on the variable in given direction in the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 9446 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetAvgInferencesCurrentRun(), Scip::stat, and TRUE.

◆ SCIPgetVarAvgInferenceScore()

SCIP_Real SCIPgetVarAvgInferenceScore ( SCIP scip,
SCIP_VAR var 
)

returns the variable's average inference score value

Returns
the variable's average inference score value
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable

Definition at line 9472 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPcheckStage(), SCIPvarGetAvgInferences(), Scip::set, Scip::stat, and TRUE.

Referenced by execRelpscost(), fixVariable(), performBranchingNoSol(), and performBranchingSol().

◆ SCIPgetVarAvgInferenceScoreCurrentRun()

SCIP_Real SCIPgetVarAvgInferenceScoreCurrentRun ( SCIP scip,
SCIP_VAR var 
)

returns the variable's average inference score value only using inferences of the current run

Returns
the variable's average inference score value only using inferences of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable

Definition at line 9503 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPcheckStage(), SCIPvarGetAvgInferencesCurrentRun(), Scip::set, Scip::stat, and TRUE.

◆ SCIPinitVarBranchStats()

SCIP_RETCODE SCIPinitVarBranchStats ( SCIP scip,
SCIP_VAR var,
SCIP_Real  downpscost,
SCIP_Real  uppscost,
SCIP_Real  downvsids,
SCIP_Real  upvsids,
SCIP_Real  downconflen,
SCIP_Real  upconflen,
SCIP_Real  downinfer,
SCIP_Real  upinfer,
SCIP_Real  downcutoff,
SCIP_Real  upcutoff 
)

initializes the upwards and downwards pseudocosts, conflict scores, conflict lengths, inference scores, cutoff scores of a variable to the given values

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable which should be initialized
downpscostvalue to which pseudocosts for downwards branching should be initialized
uppscostvalue to which pseudocosts for upwards branching should be initialized
downvsidsvalue to which VSIDS score for downwards branching should be initialized
upvsidsvalue to which VSIDS score for upwards branching should be initialized
downconflenvalue to which conflict length score for downwards branching should be initialized
upconflenvalue to which conflict length score for upwards branching should be initialized
downinfervalue to which inference counter for downwards branching should be initialized
upinfervalue to which inference counter for upwards branching should be initialized
downcutoffvalue to which cutoff counter for downwards branching should be initialized
upcutoffvalue to which cutoff counter for upwards branching should be initialized

Definition at line 9536 of file scip_var.c.

References FALSE, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_OKAY, SCIP_UNKNOWN, SCIPcheckStage(), SCIPisFeasZero(), SCIPvarIncCutoffSum(), SCIPvarIncInferenceSum(), SCIPvarIncNActiveConflicts(), SCIPvarIncNBranchings(), SCIPvarIncVSIDS(), SCIPvarUpdatePseudocost(), Scip::set, Scip::stat, and TRUE.

Referenced by setupAndSolveSubscipRapidlearning().

◆ SCIPinitVarValueBranchStats()

SCIP_RETCODE SCIPinitVarValueBranchStats ( SCIP scip,
SCIP_VAR var,
SCIP_Real  value,
SCIP_Real  downvsids,
SCIP_Real  upvsids,
SCIP_Real  downconflen,
SCIP_Real  upconflen,
SCIP_Real  downinfer,
SCIP_Real  upinfer,
SCIP_Real  downcutoff,
SCIP_Real  upcutoff 
)

initializes the upwards and downwards conflict scores, conflict lengths, inference scores, cutoff scores of a variable w.r.t. a value by the given values (SCIP_VALUEHISTORY)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable which should be initialized
valuedomain value, or SCIP_UNKNOWN
downvsidsvalue to which VSIDS score for downwards branching should be initialized
upvsidsvalue to which VSIDS score for upwards branching should be initialized
downconflenvalue to which conflict length score for downwards branching should be initialized
upconflenvalue to which conflict length score for upwards branching should be initialized
downinfervalue to which inference counter for downwards branching should be initialized
upinfervalue to which inference counter for upwards branching should be initialized
downcutoffvalue to which cutoff counter for downwards branching should be initialized
upcutoffvalue to which cutoff counter for upwards branching should be initialized

Definition at line 9607 of file scip_var.c.

References FALSE, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_OKAY, SCIPblkmem(), SCIPcheckStage(), SCIPisFeasZero(), SCIPvarIncCutoffSum(), SCIPvarIncInferenceSum(), SCIPvarIncNActiveConflicts(), SCIPvarIncNBranchings(), SCIPvarIncVSIDS(), Scip::set, Scip::stat, and TRUE.

◆ SCIPgetVarAvgCutoffs()

SCIP_Real SCIPgetVarAvgCutoffs ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

returns the average number of cutoffs found after branching on the variable in given direction; if branching on the variable in the given direction was yet evaluated, the average number of cutoffs over all variables for branching in the given direction is returned

Returns
the average number of cutoffs found after branching on the variable in given direction
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 9672 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetAvgCutoffs(), Scip::stat, and TRUE.

Referenced by SCIPisStrongbranchDownFirst().

◆ SCIPgetVarAvgCutoffsCurrentRun()

SCIP_Real SCIPgetVarAvgCutoffsCurrentRun ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

returns the average number of cutoffs found after branching on the variable in given direction in the current run; if branching on the variable in the given direction was yet evaluated, the average number of cutoffs over all variables for branching in the given direction is returned

Returns
the average number of cutoffs found after branching on the variable in given direction in the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 9700 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetAvgCutoffsCurrentRun(), Scip::stat, and TRUE.

◆ SCIPgetVarAvgCutoffScore()

SCIP_Real SCIPgetVarAvgCutoffScore ( SCIP scip,
SCIP_VAR var 
)

returns the variable's average cutoff score value

Returns
the variable's average cutoff score value
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable

Definition at line 9726 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPcheckStage(), SCIPvarGetAvgCutoffs(), Scip::set, Scip::stat, and TRUE.

Referenced by execRelpscost().

◆ SCIPgetVarAvgCutoffScoreCurrentRun()

SCIP_Real SCIPgetVarAvgCutoffScoreCurrentRun ( SCIP scip,
SCIP_VAR var 
)

returns the variable's average cutoff score value, only using cutoffs of the current run

Returns
the variable's average cutoff score value, only using cutoffs of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable

Definition at line 9757 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPcheckStage(), SCIPvarGetAvgCutoffsCurrentRun(), Scip::set, Scip::stat, and TRUE.

◆ SCIPgetVarAvgInferenceCutoffScore()

SCIP_Real SCIPgetVarAvgInferenceCutoffScore ( SCIP scip,
SCIP_VAR var,
SCIP_Real  cutoffweight 
)

returns the variable's average inference/cutoff score value, weighting the cutoffs of the variable with the given factor

Returns
the variable's average inference/cutoff score value
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
cutoffweightfactor to weigh average number of cutoffs in branching score

Definition at line 9789 of file scip_var.c.

References FALSE, SCIP_Stat::glbhistory, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPcheckStage(), SCIPhistoryGetAvgInferences(), SCIPvarGetAvgCutoffs(), SCIPvarGetAvgInferences(), Scip::set, Scip::stat, and TRUE.

Referenced by computeFixingOrder(), getAggrScore(), performBranchingNoSol(), and performBranchingSol().

◆ SCIPgetVarAvgInferenceCutoffScoreCurrentRun()

SCIP_Real SCIPgetVarAvgInferenceCutoffScoreCurrentRun ( SCIP scip,
SCIP_VAR var,
SCIP_Real  cutoffweight 
)

returns the variable's average inference/cutoff score value, weighting the cutoffs of the variable with the given factor, only using inferences and cutoffs of the current run

Returns
the variable's average inference/cutoff score value, only using inferences and cutoffs of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
cutoffweightfactor to weigh average number of cutoffs in branching score

Definition at line 9833 of file scip_var.c.

References FALSE, SCIP_Stat::glbhistorycrun, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPcheckStage(), SCIPhistoryGetAvgInferences(), SCIPvarGetAvgCutoffsCurrentRun(), SCIPvarGetAvgInferencesCurrentRun(), Scip::set, Scip::stat, and TRUE.

◆ SCIPgetVarAvgGMIScore()

SCIP_Real SCIPgetVarAvgGMIScore ( SCIP scip,
SCIP_VAR var 
)

returns the variable's average GMI efficacy score value

Returns
the variable's average GMI efficacy score value (for when it was fractional and basic in the LP)
Precondition
This method can be called if scip is in one of the following stages:

returns the variable's average GMI efficacy score value

Returns
the variable's average GMI efficacy score value
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable

Definition at line 9876 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetAvgGMIScore(), Scip::stat, and TRUE.

Referenced by execRelpscost().

◆ SCIPincVarGMISumScore()

SCIP_RETCODE SCIPincVarGMISumScore ( SCIP scip,
SCIP_VAR var,
SCIP_Real  gmieff 
)

sets the variable's avg GMI efficacy score value

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

sets the variable's average GMI efficacy score value

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
gmieffEfficacy of last GMI cut generated from when var was basic /frac

Definition at line 9903 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL, SCIP_CALL_ABORT, SCIP_OKAY, SCIPcheckStage(), SCIPvarIncGMIeffSum(), Scip::stat, and TRUE.

Referenced by SCIP_DECL_SEPAEXECLP().

◆ SCIPgetVarLastGMIScore()

SCIP_Real SCIPgetVarLastGMIScore ( SCIP scip,
SCIP_VAR var 
)

returns the variable's last GMI efficacy score value

Returns
the variable's last GMI efficacy score value (for when it was fractional and basic in the LP)
Precondition
This method can be called if scip is in one of the following stages:

returns the variable's last GMI efficacy score value

Returns
the variable's last GMI efficacy score value
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable

Definition at line 9931 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPvarGetLastGMIScore(), Scip::stat, and TRUE.

Referenced by execRelpscost().

◆ SCIPsetVarLastGMIScore()

SCIP_RETCODE SCIPsetVarLastGMIScore ( SCIP scip,
SCIP_VAR var,
SCIP_Real  gmieff 
)

sets the variable's last GMI efficacy score value

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
gmieffefficacy of GMI cut from tableau row when variable is basic / frac

Definition at line 9957 of file scip_var.c.

References FALSE, SCIP_Var::scip, SCIP_CALL, SCIP_CALL_ABORT, SCIP_OKAY, SCIPcheckStage(), SCIPvarSetLastGMIScore(), Scip::stat, and TRUE.

Referenced by SCIP_DECL_SEPAEXECLP().

◆ SCIPprintVar()

SCIP_RETCODE SCIPprintVar ( SCIP scip,
SCIP_VAR var,
FILE *  file 
)

outputs variable information to file stream via the message system

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
If the message handler is set to a NULL pointer nothing will be printed
Parameters
scipSCIP data structure
varproblem variable
fileoutput file (or NULL for standard output)

Definition at line 9993 of file scip_var.c.

References FALSE, Scip::messagehdlr, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPvarPrint(), Scip::set, and TRUE.

Referenced by checkBounddisjunction(), checkKnapsack(), computeAndConstraintInfos(), consdataCheck(), createVariable(), getFixedVariable(), getVariable(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRICERREDCOST(), SCIP_DECL_READERWRITE(), SCIPcreateVarBinpacking(), and SCIPwriteOpb().